Revision: 201033 RCL_3
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 31 Aug 2010 15:37:04 +0300
branchRCL_3
changeset 20 2b4ea9893b66
parent 19 02ba3f1733c6
child 21 6b6920c56e2f
Revision: 201033 Kit: 201035
genericpositioningplugins/group/bld.inf
genericpositioningplugins/rom/bld.inf
genericpositioningplugins/rom/prifw_cenrep.iby
group/bld.inf
landmarks/locationlandmarks/clientlib/src/epos_poslandmarkserialization.cpp
landmarks/locationlandmarks/converter/src/EPos_CPosLmKmlParser.cpp
landmarks/locationlandmarks/converter/src/EPos_CPosLmXmlEncoder.cpp
landmarks/locationlandmarks/internalservices/src/EPos_PosLmLandmarkHandler.cpp
landmarks/locationlandmarks/localaccess/src/EPos_CPosLmLocalGetSortedIdsOp.cpp
landmarks/locationlandmarks/localaccess/src/EPos_CPosLmLocalIterator.cpp
landmarks/locationlandmarks/localaccess/src/EPos_CPosLmLocalRemoveLandmarksOp.cpp
landmarks/locationlandmarks/localsearchprov/src/EPos_CPosLmLocalCompositeSearch.cpp
landmarks/locationlandmarks/localsearchprov/src/EPos_CPosLmLocalSearchHandler.cpp
landmarks/locationlandmarks/localsearchprov/src/EPos_CPosLmLocalTextSearch.cpp
landmarks/locationlandmarks/server/src/EPos_CPosLmLocalAccessSubsession.cpp
landmarks/locationlandmarks/server/src/EPos_CPosLmNameIndex.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/Bmarm/LandMarksTestModuleu.def
landmarks/locationlandmarks/tsrc/LandmarkTestModule/Bwins/LandMarksTestModuleu.def
landmarks/locationlandmarks/tsrc/LandmarkTestModule/Script/lmtm.bat
landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/ServerClientLib/BWINS/FT_lmservlibu.def
landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/ServerClientLib/eabi/FT_lmservlibu.def
landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/ServerClientLib/group/ABLD.BAT
landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/ServerClientLib/group/FT_LmServerClientLibrary.mmp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/ServerClientLib/group/bld.inf
landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/ServerClientLib/inc/FT_PosLmServerCommon.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/ServerClientLib/inc/FT_PosLmServerDefs.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/ServerClientLib/inc/FT_RPosLandmarkServer.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/ServerClientLib/src/FT_RPosLandmarkServer.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/group/ABLD.BAT
landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/group/BC34B3.tmp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/group/FT_DbManPluginsTest.mmp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/group/FT_DbManPluginsTest.mmp~RF1991061f.TMP
landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/group/bld.inf
landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/group/dbmanpluginstest_UID_.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/inc/CDbManTestPluginBase.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/inc/FT_CPosLmDatabaseManagerImpl.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/inc/FT_LandmarksDbManagerUids.hrh
landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/inc/FT_RPosLandmarkServer.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/resource/04440010.rss
landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/src/CDbManTestPluginBase.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/src/DbManPluginsTestMain.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/src/FT_LmDbManProviderMain.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/conf/LandMarksTestModule1.cfg
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/552410208-landmarksDb.xls
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/CompositelandmarksDb.txt
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/EMPTY_EPOSLMGLOBALCATEGORIES.R01
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/EPOSLMASYNCOPS.RSC
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/EPOSLMGLOBALCATEGORIES.R01
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/EPOSLMGLOBALCATEGORIES.R02
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/EPOSLMGLOBALCATEGORIES.R03
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/EPOSLMINTSERVICES_198KB.RSC
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/EPOSLMINTSERVICES_453KB.RSC
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/EPOSLM_020.LDB
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/EPOSLM_040.LDB
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/EPOSLM_060.LDB
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/EPOSLM_080.LDB
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/EPOSLM_105.LDB
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/LmRecognizerData.txt
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/LmRecognizerDataFile.txt
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/SRVeposcontact.ldb
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/SRVeposdamaged.ldb
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/SRVepostext.ldb
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/TP10Test.ldb
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/TP118HALFLMDB_2.LDB
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/TP131Test.ldb
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/TP132Test.ldb
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/TP133Test.ldb
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/TP13_EPOSLMGLOBALCATEGORIES.R06
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/TP13_eposlmglobalcategoriesR06.rss
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/TP161Test.ldb
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/TP162Test.ldb
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/TP162Test1.ldb
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/TP163Test.ldb
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/TP164Test.ldb
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/TP18Test.ldb
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/TP18Test1.ldb
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/TP1Test.ldb
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/TP25Test.ldb
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/TP4Test.ldb
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/TP8Test.ldb
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/Tp116Test.ldb
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/Tp28Test.ldb
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/compositeeposlm.ldb
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/corrupt_EPOSLMGLOBALCATEGORIES.R06
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/eposEmpty.ldb
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/eposlm.ldb
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/eposlm_1000_LMs.ldb
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/eposlm_5000_LMs.ldb
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/eposlm_tp13.ldb
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/eposlmasyncops.rss
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/eposlmglobalcategoriesR01.rss
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/eposlmglobalcategoriesR02.rss
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/eposlmglobalcategoriesR03.rss
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/eposlmnearestsearch.ldb
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/landmarksDb.txt
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/lmDbAreaSearchResult.txt
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/lmDbCatLandmarkSearchResult.txt
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/lmDbCategorySearchResult.txt
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/lmDbCompositeSearchResult.txt
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/lmDbNearestSearch.txt
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/lmDbNearestSearchResult.txt
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/lmDbSearchResult.txt
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/testlm.ldb
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/tp105_eposlmdefaultdbname.R01
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/tp105_eposlmdefaultdbname.R06
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/tp105_eposlmdefaultdbname_en.loc
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/tp105_eposlmdefaultdbname_sw.loc
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/tp13_EPOSLMGLOBALCATEGORIES.R01
landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/tp13_eposlmglobalcategoriesR01.rss
landmarks/locationlandmarks/tsrc/LandmarkTestModule/eabi/LandMarksTestModuleu.def
landmarks/locationlandmarks/tsrc/LandmarkTestModule/group/LandMarksTestModule.mmp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/group/LandMarksTestModule_DoxyFile.txt
landmarks/locationlandmarks/tsrc/LandmarkTestModule/group/LandmarkTestModule_5_0.pkg
landmarks/locationlandmarks/tsrc/LandmarkTestModule/group/LandmarkTestModule_5_0.sis
landmarks/locationlandmarks/tsrc/LandmarkTestModule/group/LandmarkTestModule_5_0.sisx
landmarks/locationlandmarks/tsrc/LandmarkTestModule/group/LandmarkTests_gnumakefile.mk
landmarks/locationlandmarks/tsrc/LandmarkTestModule/group/bld.inf
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/EPos_LandmarksErrors.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CAreaSearchResult.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CCategoryLandmarkSearchResult.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CCategorySearchResult.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CCompositeSearchResult.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CLandmarkTestProcedureBase.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTP26.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTP27.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTP28.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTP29.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTP54.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTP55.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp1.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp10.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp100.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp101.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp102.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp103.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp104.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp105.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp106.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp107.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp108.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp109.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp11.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp111.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp114.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp116.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp117.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp118.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp119.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp12.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp120.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp121.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp122.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp123.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp124.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp125.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp126.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp127.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp13.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp130.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp131.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp132.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp133.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp134.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp135.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp136.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp137.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp139.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp141.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp143.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp144.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp145.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp146.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp147.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp148.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp149.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp15.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp150.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp151.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp152.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp153.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp154.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp155.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp156.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp157.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp158.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp159.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp16.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp160.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp161.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp162.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp163.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp164.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp17.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp18.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp19.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp2.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp20.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp21.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp23.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp24.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp25.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp3.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp30.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp31.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp33.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp34.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp35.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp36.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp37.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp38.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp39.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp4.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp40.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp41.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp42.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp43.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp44.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp45.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp46.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp47.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp48.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp49.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp5.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp50.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp51.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp52.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp53.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp56.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp57.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp58.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp6.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp7.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp76.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp77.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp78.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp79.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp8.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp80.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp81.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp9.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CSearchResult.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CSearchResultBase.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_DatabaseUtility.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_LandmarkConstants.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/LandMarksTestModule.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/lcfsbucommondefinitions.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/init/TestFramework.ini
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CAreaSearchResult.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CCategoryLandmarkSearchResult.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CCategorySearchResult.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CCompositeSearchResult.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CLandmarkTestProcedureBase.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTP26.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTP27.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTP28.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTP29.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTP54.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTP55.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp1.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp10.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp100.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp101.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp102.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp103.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp104.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp105.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp106.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp107.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp108.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp109.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp11.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp111.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp114.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp116.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp117.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp118.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp119.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp12.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp120.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp121.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp122.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp123.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp124.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp125.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp126.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp127.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp13.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp130.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp131.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp132.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp133.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp134.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp135.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp136.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp137.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp139.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp141.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp143.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp144.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp145.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp146.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp147.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp148.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp149.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp15.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp150.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp151.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp152.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp153.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp154.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp155.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp156.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp157.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp158.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp159.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp16.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp160.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp161.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp162.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp163.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp164.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp17.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp18.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp19.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp2.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp20.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp21.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp23.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp24.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp25.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp3.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp30.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp31.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp33.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp34.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp35.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp36.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp37.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp38.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp39.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp4.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp40.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp41.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp42.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp43.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp44.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp45.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp46.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp47.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp48.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp49.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp5.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp50.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp51.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp52.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp53.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp56.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp57.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp58.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp6.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp7.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp76.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp77.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp78.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp79.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp8.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp80.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp81.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp9.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CSearchResult.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CSearchResultBase.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_DatabaseUtility.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/LandMarksTestModule.cpp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/LandMarksTestModuleBlocks.cpp
landmarks/locationlandmarks/tsrc/LandmarkURL/Bmarm/CUTLandmarkURLu.def
landmarks/locationlandmarks/tsrc/LandmarkURL/Bwins/CUTLandmarkURLu.def
landmarks/locationlandmarks/tsrc/LandmarkURL/conf/CUTLandmarkURL.cfg
landmarks/locationlandmarks/tsrc/LandmarkURL/conf/CUTLandmarkURL1.cfg
landmarks/locationlandmarks/tsrc/LandmarkURL/conf/CUTLandmarkURL2.cfg
landmarks/locationlandmarks/tsrc/LandmarkURL/conf/CUTLmkURLParser.cfg
landmarks/locationlandmarks/tsrc/LandmarkURL/conf/CUTLmkURLParser1.cfg
landmarks/locationlandmarks/tsrc/LandmarkURL/data/URLParser.txt
landmarks/locationlandmarks/tsrc/LandmarkURL/eabi/CUTLandmarkURLu.def
landmarks/locationlandmarks/tsrc/LandmarkURL/group/CUTLandmarkURL.mmp
landmarks/locationlandmarks/tsrc/LandmarkURL/group/CUTLandmarkURL.pkg
landmarks/locationlandmarks/tsrc/LandmarkURL/group/bld.inf
landmarks/locationlandmarks/tsrc/LandmarkURL/inc/CUTLandmarkURL.h
landmarks/locationlandmarks/tsrc/LandmarkURL/inc/EPos_LandmarksErrors.h
landmarks/locationlandmarks/tsrc/LandmarkURL/init/testframework.ini
landmarks/locationlandmarks/tsrc/LandmarkURL/src/CUTLandmarkURL.cpp
landmarks/locationlandmarks/tsrc/LandmarkURL/src/CUTLandmarkURLBlocks.cpp
layers.sysdef.xml
locationmapnavfw/aiwprovider/data/1020690C.rss
locationmapnavfw/aiwprovider/data/mnaiwproviderres.rss
locationmapnavfw/aiwprovider/group/bld.inf
locationmapnavfw/aiwprovider/group/mnaiwprovider.mmp
locationmapnavfw/aiwprovider/inc/mnaiwcommandhandlerbase.h
locationmapnavfw/aiwprovider/inc/mnaiwdebug.h
locationmapnavfw/aiwprovider/inc/mnaiwinternal.h
locationmapnavfw/aiwprovider/inc/mnaiwmenus.hrh
locationmapnavfw/aiwprovider/inc/mnaiwprovider.h
locationmapnavfw/aiwprovider/inc/mnaiwprovideruids.hrh
locationmapnavfw/aiwprovider/inc/mnfetchaddresshandler.h
locationmapnavfw/aiwprovider/inc/mnfetchcoordinateshandler.h
locationmapnavfw/aiwprovider/inc/mngeocodingcmdhandlerbase.h
locationmapnavfw/aiwprovider/inc/mnmapviewcmdhandlerbase.h
locationmapnavfw/aiwprovider/inc/mnnavigatetohandler.h
locationmapnavfw/aiwprovider/inc/mnselectfrommaphandler.h
locationmapnavfw/aiwprovider/inc/mnshowonmaphandler.h
locationmapnavfw/aiwprovider/src/mnaiwcommandhandlerbase.cpp
locationmapnavfw/aiwprovider/src/mnaiwprovider.cpp
locationmapnavfw/aiwprovider/src/mnfetchaddresshandler.cpp
locationmapnavfw/aiwprovider/src/mnfetchcoordinateshandler.cpp
locationmapnavfw/aiwprovider/src/mngeocodingcmdhandlerbase.cpp
locationmapnavfw/aiwprovider/src/mnmapviewcmdhandlerbase.cpp
locationmapnavfw/aiwprovider/src/mnnavigatetohandler.cpp
locationmapnavfw/aiwprovider/src/mnselectfrommaphandler.cpp
locationmapnavfw/aiwprovider/src/mnshowonmaphandler.cpp
locationmapnavfw/data/locationmnfwstub.sis
locationmapnavfw/group/bld.inf
locationmapnavfw/install/locationmnfwstub.pkg
locationmapnavfw/install/locationmnfwupgrade.pkg
locationmapnavfw/library/BWINS/mnclientlibu.def
locationmapnavfw/library/BWINS/mnservicelibu.def
locationmapnavfw/library/data/mnclientlib.rss
locationmapnavfw/library/eabi/mnclientlibu.def
locationmapnavfw/library/eabi/mnservicelibu.def
locationmapnavfw/library/group/bld.inf
locationmapnavfw/library/group/mnclientlib.mmp
locationmapnavfw/library/group/mnservicelib.mmp
locationmapnavfw/library/inc/mnactivecallback.h
locationmapnavfw/library/inc/mndebug.h
locationmapnavfw/library/inc/mngeocodingserviceclient.h
locationmapnavfw/library/inc/mninternal.h
locationmapnavfw/library/inc/mninternal.inl
locationmapnavfw/library/inc/mnmapimageserviceclient.h
locationmapnavfw/library/inc/mnmapselectionresultinfo.h
locationmapnavfw/library/inc/mnmapselectionresultinfo.inl
locationmapnavfw/library/inc/mnmapviewserviceclient.h
locationmapnavfw/library/inc/mnnavigationserviceclient.h
locationmapnavfw/library/inc/mnproviderimpl.h
locationmapnavfw/library/inc/mnserviceclientbase.h
locationmapnavfw/library/inc/mnutils.h
locationmapnavfw/library/src/mnactivecallback.cpp
locationmapnavfw/library/src/mncoordinateconverterbase.cpp
locationmapnavfw/library/src/mngeocoder.cpp
locationmapnavfw/library/src/mngeocodingservicebase.cpp
locationmapnavfw/library/src/mngeocodingserviceclient.cpp
locationmapnavfw/library/src/mnmapimage.cpp
locationmapnavfw/library/src/mnmapimageparams.cpp
locationmapnavfw/library/src/mnmapimageservicebase.cpp
locationmapnavfw/library/src/mnmapimageserviceclient.cpp
locationmapnavfw/library/src/mnmapview.cpp
locationmapnavfw/library/src/mnmapviewservicebase.cpp
locationmapnavfw/library/src/mnmapviewserviceclient.cpp
locationmapnavfw/library/src/mnnavigationservicebase.cpp
locationmapnavfw/library/src/mnnavigationserviceclient.cpp
locationmapnavfw/library/src/mnnavigator.cpp
locationmapnavfw/library/src/mnprovider.cpp
locationmapnavfw/library/src/mnproviderfinder.cpp
locationmapnavfw/library/src/mnproviderimpl.cpp
locationmapnavfw/library/src/mnservicebase.cpp
locationmapnavfw/library/src/mnserviceclientbase.cpp
locationmapnavfw/library/src/mnutils.cpp
locationmapnavfw/loc/mnaiwprovider.loc
locationmapnavfw/loc/mnclientlib.loc
locationmapnavfw/rom/locationmnfw.iby
locationmapnavfw/rom/locationmnfw_resources.iby
locationmapnavfw/rom/locationmnfwstub.iby
locationsystemui/locationsysui/cenrep/keys_locbtnotifier.xls
locationsystemui/locationsysui/cenrep/keys_loclocalvariation.xls
locationsystemui/locationsysui/cenrep/keys_locnotprefplugin.xls
locationsystemui/locationsysui/cenrep/keys_locsuplsettings.xls
locationsystemui/locationsysui/conf/locbtnotifier.confml
locationsystemui/locationsysui/conf/locbtnotifier_2001FCBB.crml
locationsystemui/locationsysui/conf/locnotprefplugin.confml
locationsystemui/locationsysui/conf/locnotprefplugin_10206910.crml
locationsystemui/locationsysui/conf/locsuplsettings.confml
locationsystemui/locationsysui/conf/locsuplsettings_1028190A.crml
locationsystemui/locationsysui/data/locationsysuistub.sis
locationsystemui/locationsysui/group/bld.inf
locationsystemui/locationsysui/help/rom/locationsysuihelps_variant.iby
locationsystemui/locationsysui/install/locationsysui.pkg
locationsystemui/locationsysui/install/locationsysuistub.pkg
locationsystemui/locationsysui/loc/Satellite.loc
locationsystemui/locationsysui/loc/location.loc
locationsystemui/locationsysui/loc/locbtnotifier.loc
locationsystemui/locationsysui/loc/locnotprefsettings.loc
locationsystemui/locationsysui/loc/locsuplsettings.loc
locationsystemui/locationsysui/locblidsatelliteinfo/bwins/SatInfoStubu.def
locationsystemui/locationsysui/locblidsatelliteinfo/bwins/SatInfou.def
locationsystemui/locationsysui/locblidsatelliteinfo/data/SatInfo.rss
locationsystemui/locationsysui/locblidsatelliteinfo/eabi/SatInfoStubu.def
locationsystemui/locationsysui/locblidsatelliteinfo/eabi/SatInfou.def
locationsystemui/locationsysui/locblidsatelliteinfo/group/Satellite.mmp
locationsystemui/locationsysui/locblidsatelliteinfo/group/SatelliteStub.mmp
locationsystemui/locationsysui/locblidsatelliteinfo/group/bld.inf
locationsystemui/locationsysui/locblidsatelliteinfo/group/satellite_icons_dc.mk
locationsystemui/locationsysui/locblidsatelliteinfo/inc/CSatellite.h
locationsystemui/locationsysui/locblidsatelliteinfo/inc/CSatelliteDialog.h
locationsystemui/locationsysui/locblidsatelliteinfo/inc/CSatelliteEng.h
locationsystemui/locationsysui/locblidsatelliteinfo/inc/Debug.h
locationsystemui/locationsysui/locblidsatelliteinfo/inc/DllMain.h
locationsystemui/locationsysui/locblidsatelliteinfo/inc/MEngObserver.h
locationsystemui/locationsysui/locblidsatelliteinfo/inc/MSatelliteEng.h
locationsystemui/locationsysui/locblidsatelliteinfo/inc/SatInfoConsts.h
locationsystemui/locationsysui/locblidsatelliteinfo/inc/SatInfoUID.h
locationsystemui/locationsysui/locblidsatelliteinfo/inc/csatellitemeasurementsetting.h
locationsystemui/locationsysui/locblidsatelliteinfo/inc/msatellitemeasurementsettingobserver.h
locationsystemui/locationsysui/locblidsatelliteinfo/inc/satellite.hrh
locationsystemui/locationsysui/locblidsatelliteinfo/inc/satellitecontrol.h
locationsystemui/locationsysui/locblidsatelliteinfo/src/CSatellite.cpp
locationsystemui/locationsysui/locblidsatelliteinfo/src/CSatelliteDialog.cpp
locationsystemui/locationsysui/locblidsatelliteinfo/src/CSatelliteEng.cpp
locationsystemui/locationsysui/locblidsatelliteinfo/src/CSatelliteInfoUI.cpp
locationsystemui/locationsysui/locblidsatelliteinfo/src/Debug.cpp
locationsystemui/locationsysui/locblidsatelliteinfo/src/DllMain.cpp
locationsystemui/locationsysui/locblidsatelliteinfo/src/csatellitemeasurementsetting.cpp
locationsystemui/locationsysui/locblidsatelliteinfo/src/satellitecontrol.cpp
locationsystemui/locationsysui/locblidsatelliteinfo/stub/CSatelliteInfoUI.cpp
locationsystemui/locationsysui/locbtnotifier/data/locbtgpspsypscontextstate.rul
locationsystemui/locationsysui/locbtnotifier/data/locbtgpspsypscontextstate.xml
locationsystemui/locationsysui/locbtnotifier/data/locbtnotifier.rss
locationsystemui/locationsysui/locbtnotifier/data/locbtnotifierresources.rss
locationsystemui/locationsysui/locbtnotifier/group/bld.inf
locationsystemui/locationsysui/locbtnotifier/group/locbtnotifier.mmp
locationsystemui/locationsysui/locbtnotifier/inc/locbtnotifierconstantsmanager.h
locationsystemui/locationsysui/locbtnotifier/inc/locbtnotifierdebug.h
locationsystemui/locationsysui/locbtnotifier/inc/locbtnotifierdebugconfig.hrh
locationsystemui/locationsysui/locbtnotifier/inc/locbtnotifierplugin.h
locationsystemui/locationsysui/locbtnotifier/inc/locbtnotifierpluginconstants.hrh
locationsystemui/locationsysui/locbtnotifier/inc/locbtnotifierprivatecrkeys.h
locationsystemui/locationsysui/locbtnotifier/src/locbtnotifier.cpp
locationsystemui/locationsysui/locbtnotifier/src/locbtnotifierconstantsmanager.cpp
locationsystemui/locationsysui/locbtnotifier/src/locbtnotifierdebug.cpp
locationsystemui/locationsysui/locbtnotifier/src/locbtnotifierplugin.cpp
locationsystemui/locationsysui/locgpsindicatorplugin/data/10275097.rss
locationsystemui/locationsysui/locgpsindicatorplugin/data/locgpsindicatorplugin.rss
locationsystemui/locationsysui/locgpsindicatorplugin/group/bld.inf
locationsystemui/locationsysui/locgpsindicatorplugin/group/locgpsindicatorplugin.mmp
locationsystemui/locationsysui/locgpsindicatorplugin/inc/locgpsindicatorplugin.h
locationsystemui/locationsysui/locgpsindicatorplugin/inc/locgpsindicatorpluginuids.h
locationsystemui/locationsysui/locgpsindicatorplugin/src/locgpsindicatorplugin.cpp
locationsystemui/locationsysui/locgpsindicatorplugin/src/locgpsindicatorpluginimptable.cpp
locationsystemui/locationsysui/locnotprefplugin/data/1020690F.rss
locationsystemui/locationsysui/locnotprefplugin/data/backup_registration.xml
locationsystemui/locationsysui/locnotprefplugin/data/locnotprefpluginview.rss
locationsystemui/locationsysui/locnotprefplugin/group/bld.inf
locationsystemui/locationsysui/locnotprefplugin/group/locnotprefplugin.mmp
locationsystemui/locationsysui/locnotprefplugin/inc/locnotprefadapterobserver.h
locationsystemui/locationsysui/locnotprefplugin/inc/locnotprefcorddisadapter.h
locationsystemui/locationsysui/locnotprefplugin/inc/locnotprefengobserver.h
locationsystemui/locationsysui/locnotprefplugin/inc/locnotprefplugin.h
locationsystemui/locationsysui/locnotprefplugin/inc/locnotprefplugin.hrh
locationsystemui/locationsysui/locnotprefplugin/inc/locnotprefplugincmdhdlr.h
locationsystemui/locationsysui/locnotprefplugin/inc/locnotprefplugincontainer.h
locationsystemui/locationsysui/locnotprefplugin/inc/locnotprefpluginengine.h
locationsystemui/locationsysui/locnotprefplugin/inc/locnotprefpluginuid.hrh
locationsystemui/locationsysui/locnotprefplugin/inc/locnotprefpluginview.h
locationsystemui/locationsysui/locnotprefplugin/inc/locnotprefsomadapter.h
locationsystemui/locationsysui/locnotprefplugin/src/locnotprefcorddisadapter.cpp
locationsystemui/locationsysui/locnotprefplugin/src/locnotprefplugin.cpp
locationsystemui/locationsysui/locnotprefplugin/src/locnotprefplugincontainer.cpp
locationsystemui/locationsysui/locnotprefplugin/src/locnotprefpluginengine.cpp
locationsystemui/locationsysui/locnotprefplugin/src/locnotprefpluginimptable.cpp
locationsystemui/locationsysui/locnotprefplugin/src/locnotprefpluginview.cpp
locationsystemui/locationsysui/locnotprefplugin/src/locnotprefsomadapter.cpp
locationsystemui/locationsysui/locpsysettings/group/bld.inf
locationsystemui/locationsysui/locpsysettings/locpsysettingseng/BWINS/locpsysettingsengu.def
locationsystemui/locationsysui/locpsysettings/locpsysettingseng/eabi/locpsysettingsengu.def
locationsystemui/locationsysui/locpsysettings/locpsysettingseng/group/bld.inf
locationsystemui/locationsysui/locpsysettings/locpsysettingseng/group/locpsysettingseng.mmp
locationsystemui/locationsysui/locpsysettings/locpsysettingseng/inc/locpsyconfigclientimpl.h
locationsystemui/locationsysui/locpsysettings/locpsysettingseng/inc/locpsyconfigclientwrapper.h
locationsystemui/locationsysui/locpsysettings/locpsysettingseng/inc/locpsyeng.h
locationsystemui/locationsysui/locpsysettings/locpsysettingseng/inc/locpsyengdebug.h
locationsystemui/locationsysui/locpsysettings/locpsysettingseng/inc/locpsyengdebugconfig.hrh
locationsystemui/locationsysui/locpsysettings/locpsysettingseng/inc/locpsyengobserver.h
locationsystemui/locationsysui/locpsysettings/locpsysettingseng/inc/locpsyinfo.h
locationsystemui/locationsysui/locpsysettings/locpsysettingseng/inc/locpsysenguid.hrh
locationsystemui/locationsysui/locpsysettings/locpsysettingseng/inc/locpsysettings.h
locationsystemui/locationsysui/locpsysettings/locpsysettingseng/inc/locpsysettingsengconsts.h
locationsystemui/locationsysui/locpsysettings/locpsysettingseng/inc/locpsysettingsinterface.h
locationsystemui/locationsysui/locpsysettings/locpsysettingseng/src/locpsyconfigclientimpl.cpp
locationsystemui/locationsysui/locpsysettings/locpsysettingseng/src/locpsyconfigclientwrapper.cpp
locationsystemui/locationsysui/locpsysettings/locpsysettingseng/src/locpsyeng.cpp
locationsystemui/locationsysui/locpsysettings/locpsysettingseng/src/locpsyinfo.cpp
locationsystemui/locationsysui/locpsysettings/locpsysettingseng/src/locpsysettings.cpp
locationsystemui/locationsysui/locpsysettings/locpsysettingseng/src/locpsysettingsengdebug.cpp
locationsystemui/locationsysui/locpsysettings/locpsysettingseng/src/locpsysettingsengdebugdummy.cpp
locationsystemui/locationsysui/locpsysettings/locpsysettingsui/data/10275062.rss
locationsystemui/locationsysui/locpsysettings/locpsysettingsui/data/locpsysettingsuiview.rss
locationsystemui/locationsysui/locpsysettings/locpsysettingsui/group/bld.inf
locationsystemui/locationsysui/locpsysettings/locpsysettingsui/group/locpsysettingsui.mmp
locationsystemui/locationsysui/locpsysettings/locpsysettingsui/inc/locpsyappdebug.h
locationsystemui/locationsysui/locpsysettings/locpsysettingsui/inc/locpsycommandhandler.h
locationsystemui/locationsysui/locpsysettings/locpsysettingsui/inc/locpsykeyprocessor.h
locationsystemui/locationsysui/locpsysettings/locpsysettingsui/inc/locpsylbmodel.h
locationsystemui/locationsysui/locpsysettings/locpsysettingsui/inc/locpsysettingscontainer.h
locationsystemui/locationsysui/locpsysettings/locpsysettingsui/inc/locpsysettingsui.h
locationsystemui/locationsysui/locpsysettings/locpsysettingsui/inc/locpsysettingsui.hrh
locationsystemui/locationsysui/locpsysettings/locpsysettingsui/inc/locpsysettingsuiconsts.h
locationsystemui/locationsysui/locpsysettings/locpsysettingsui/inc/locpsysettingsuiuid.hrh
locationsystemui/locationsysui/locpsysettings/locpsysettingsui/inc/locpsysettingsview.h
locationsystemui/locationsysui/locpsysettings/locpsysettingsui/src/locpsylbmodel.cpp
locationsystemui/locationsysui/locpsysettings/locpsysettingsui/src/locpsysettingscontainer.cpp
locationsystemui/locationsysui/locpsysettings/locpsysettingsui/src/locpsysettingsui.cpp
locationsystemui/locationsysui/locpsysettings/locpsysettingsui/src/locpsysettingsuiimptable.cpp
locationsystemui/locationsysui/locpsysettings/locpsysettingsui/src/locpsysettingsview.cpp
locationsystemui/locationsysui/locsettingsuiservice/group/bld.inf
locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiclient/BWINS/locsettingsuiclientu.def
locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiclient/eabi/locsettingsuiclientu.def
locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiclient/group/bld.inf
locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiclient/group/locsettingsuiclient.mmp
locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiclient/inc/loclaunchuiao.h
locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiclient/inc/loclaunchuiobserver.h
locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiclient/inc/locsettingsuiclientuid.hrh
locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiclient/inc/locsettingsuiservice.h
locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiclient/src/loclaunchuiao.cpp
locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiclient/src/locsettingsuiclient.cpp
locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiclient/src/locsettingsuiservice.cpp
locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/data/locsettingsuiserver.rss
locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/data/locsettingsuiserver_reg.rss
locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/group/bld.inf
locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/group/locsettingsuiserver.mmp
locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/inc/locsettingsuiappserver.h
locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/inc/locsettingsuiinfo.h
locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/inc/locsettingsuilaunchao.h
locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/inc/locsettingsuilaunchmgr.h
locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/inc/locsettingsuiserverinterface.h
locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/inc/locsettingsuiservice.h
locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/inc/locsettingsuisrvapplication.h
locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/inc/locsettingsuisrvappui.h
locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/inc/locsettingsuisrvdocument.h
locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/inc/locsettingsuisrvshutdowntimer.h
locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/inc/locsettingsuisrvuid.hrh
locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/src/locsettingsuiappserver.cpp
locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/src/locsettingsuiinfo.cpp
locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/src/locsettingsuilaunchao.cpp
locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/src/locsettingsuilaunchmgr.cpp
locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/src/locsettingsuiservice.cpp
locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/src/locsettingsuisrvapplication.cpp
locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/src/locsettingsuisrvappui.cpp
locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/src/locsettingsuisrvdocument.cpp
locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/src/locsettingsuisrvshutdowntimer.cpp
locationsystemui/locationsysui/locsuplsettingsui/data/10275091.rss
locationsystemui/locationsysui/locsuplsettingsui/data/locsuplservereditor.rss
locationsystemui/locationsysui/locsuplsettingsui/data/locsuplsessioneditor.rss
locationsystemui/locationsysui/locsuplsettingsui/data/locsuplsettingsui.rss
locationsystemui/locationsysui/locsuplsettingsui/group/bld.inf
locationsystemui/locationsysui/locsuplsettingsui/group/locsuplsettings.mmp
locationsystemui/locationsysui/locsuplsettingsui/inc/locsupldebug.h
locationsystemui/locationsysui/locsuplsettingsui/inc/locsupldebugconfig.h
locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplservercontainer.h
locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplservereditor.h
locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplserverlbmodel.h
locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplserverview.h
locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplsessioncontainer.h
locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplsessioneditor.h
locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplsessionlbmodel.h
locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplsessionview.h
locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplsettings.h
locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplsettings.hrh
locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplsettingsadapter.h
locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplsettingsadapterobserver.h
locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplsettingscontainer.h
locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplsettingseventhandler.h
locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplsettingslbmodel.h
locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplsettingsprivatecrkeys.h
locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplsettingssessionobserver.h
locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplsettingsuid.hrh
locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplsettingsuiengine.h
locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplsettingsuiengobserver.h
locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplsettingsview.h
locationsystemui/locationsysui/locsuplsettingsui/src/locsupldebug.cpp
locationsystemui/locationsysui/locsuplsettingsui/src/locsuplservercontainer.cpp
locationsystemui/locationsysui/locsuplsettingsui/src/locsuplservereditor.cpp
locationsystemui/locationsysui/locsuplsettingsui/src/locsuplserverlbmodel.cpp
locationsystemui/locationsysui/locsuplsettingsui/src/locsuplserverview.cpp
locationsystemui/locationsysui/locsuplsettingsui/src/locsuplsessioncontainer.cpp
locationsystemui/locationsysui/locsuplsettingsui/src/locsuplsessioneditor.cpp
locationsystemui/locationsysui/locsuplsettingsui/src/locsuplsessionlbmodel.cpp
locationsystemui/locationsysui/locsuplsettingsui/src/locsuplsessionview.cpp
locationsystemui/locationsysui/locsuplsettingsui/src/locsuplsettings.cpp
locationsystemui/locationsysui/locsuplsettingsui/src/locsuplsettingsadapter.cpp
locationsystemui/locationsysui/locsuplsettingsui/src/locsuplsettingscontainer.cpp
locationsystemui/locationsysui/locsuplsettingsui/src/locsuplsettingsimptable.cpp
locationsystemui/locationsysui/locsuplsettingsui/src/locsuplsettingslbmodel.cpp
locationsystemui/locationsysui/locsuplsettingsui/src/locsuplsettingsuiengine.cpp
locationsystemui/locationsysui/locsuplsettingsui/src/locsuplsettingsview.cpp
locationsystemui/locationsysui/locsysui.pro
locationsystemui/locationsysui/locsysuiengine/BWINS/locsysuiengineu.def
locationsystemui/locationsysui/locsysuiengine/eabi/locsysuiengineu.def
locationsystemui/locationsysui/locsysuiengine/group/bld.inf
locationsystemui/locationsysui/locsysuiengine/group/locsysuiengine.mmp
locationsystemui/locationsysui/locsysuiengine/inc/locationui.h
locationsystemui/locationsysui/locsysuiengine/inc/locsysuiengine.h
locationsystemui/locationsysui/locsysuiengine/inc/locsysuiengineobserver.h
locationsystemui/locationsysui/locsysuiengine/inc/locsysuiengineuid.hrh
locationsystemui/locationsysui/locsysuiengine/src/locsysuiengine.cpp
locationsystemui/locationsysui/locsysuiview/BWINS/locsysuiviewu.def
locationsystemui/locationsysui/locsysuiview/data/10207462.rss
locationsystemui/locationsysui/locsysuiview/data/locsysuiviewrsc.rss
locationsystemui/locationsysui/locsysuiview/eabi/locsysuiviewu.def
locationsystemui/locationsysui/locsysuiview/group/bld.inf
locationsystemui/locationsysui/locsysuiview/group/locsysuiview.mmp
locationsystemui/locationsysui/locsysuiview/inc/locationsettings.h
locationsystemui/locationsysui/locsysuiview/inc/locpossettings.h
locationsystemui/locationsysui/locsysuiview/inc/locpossettingsobserver.h
locationsystemui/locationsysui/locsysuiview/inc/locsettingsui.h
locationsystemui/locationsysui/locsysuiview/inc/locsettingsui.inl
locationsystemui/locationsysui/locsysuiview/inc/locsettingsuiecomnotifier.h
locationsystemui/locationsysui/locsysuiview/inc/locsettingsuiengine.h
locationsystemui/locationsysui/locsysuiview/inc/locsettingsuiobserver.h
locationsystemui/locationsysui/locsysuiview/inc/locsettingsuiparams.h
locationsystemui/locationsysui/locsysuiview/inc/locsettingsuiparams.inl
locationsystemui/locationsysui/locsysuiview/inc/locsettingsuipluginloader.h
locationsystemui/locationsysui/locsysuiview/inc/locsysuicontainer.h
locationsystemui/locationsysui/locsysuiview/inc/locsysuicontainereventhandler.h
locationsystemui/locationsysui/locsysuiview/inc/locsysuilbmodel.h
locationsystemui/locationsysui/locsysuiview/inc/locsysuiview.h
locationsystemui/locationsysui/locsysuiview/inc/locsysuiview.hrh
locationsystemui/locationsysui/locsysuiview/inc/locsysuiviewuid.hrh
locationsystemui/locationsysui/locsysuiview/src/locationsettings.cpp
locationsystemui/locationsysui/locsysuiview/src/locpossettings.cpp
locationsystemui/locationsysui/locsysuiview/src/locsettingsuiengine.cpp
locationsystemui/locationsysui/locsysuiview/src/locsettingsuipluginloader.cpp
locationsystemui/locationsysui/locsysuiview/src/locsysuicontainer.cpp
locationsystemui/locationsysui/locsysuiview/src/locsysuilbmodel.cpp
locationsystemui/locationsysui/locsysuiview/src/locsysuiview.cpp
locationsystemui/locationsysui/locsysuiview/src/locsysuiviewimptable.cpp
locationsystemui/locationsysui/locutils/BWINS/LocUtils_32u.def
locationsystemui/locationsysui/locutils/data/locutils.rss
locationsystemui/locationsysui/locutils/eabi/LocUtils_32u.def
locationsystemui/locationsysui/locutils/group/bld.inf
locationsystemui/locationsysui/locutils/group/locutils.mmp
locationsystemui/locationsysui/locutils/inc/locfileutils.h
locationsystemui/locationsysui/locutils/inc/locphonenumberformat.h
locationsystemui/locationsysui/locutils/inc/locrequestorutilsresolver.h
locationsystemui/locationsysui/locutils/inc/locrequestorutilsresolverimpl2.h
locationsystemui/locationsysui/locutils/inc/loctextutils.h
locationsystemui/locationsysui/locutils/inc/locutilsdebug.h
locationsystemui/locationsysui/locutils/inc/locutilsdebugconfig.hrh
locationsystemui/locationsysui/locutils/inc/locutilsuid.hrh
locationsystemui/locationsysui/locutils/src/locfileutils.cpp
locationsystemui/locationsysui/locutils/src/locphonenumberformat.cpp
locationsystemui/locationsysui/locutils/src/locrequestorutilsresolverimpl2.cpp
locationsystemui/locationsysui/locutils/src/loctextutils.cpp
locationsystemui/locationsysui/locutils/src/locutilsdebug.cpp
locationsystemui/locationsysui/locutils/src/locutilsdebugdummy.cpp
locationsystemui/locationsysui/locverifier/BWINS/LocVerifierDlgu.def
locationsystemui/locationsysui/locverifier/eabi/LocVerifierDlgu.def
locationsystemui/locationsysui/locverifier/ecom/locnotifierwrapper.cpp
locationsystemui/locationsysui/locverifier/group/ABLD.BAT
locationsystemui/locationsysui/locverifier/group/bld.inf
locationsystemui/locationsysui/locverifier/group/locnotifierwrapper.mmp
locationsystemui/locationsysui/locverifier/group/locverifierdlg.mmp
locationsystemui/locationsysui/locverifier/inc/locconsts.h
locationsystemui/locationsysui/locverifier/inc/locnotifierwrapper.h
locationsystemui/locationsysui/locverifier/inc/locverifierdlg.hrh
locationsystemui/locationsysui/locverifier/inc/locverifierdlgdebug.h
locationsystemui/locationsysui/locverifier/inc/locverifieruid.h
locationsystemui/locationsysui/locverifier/inc/lpdbasemodel.h
locationsystemui/locationsysui/locverifier/inc/lpdbkupevtlistenerao.h
locationsystemui/locationsysui/locverifier/inc/lpdbkupevtobserver.h
locationsystemui/locationsysui/locverifier/inc/lpddlgobserver.h
locationsystemui/locationsysui/locverifier/inc/lpddllmain.h
locationsystemui/locationsysui/locverifier/inc/lpdglobalplugindialog.h
locationsystemui/locationsysui/locverifier/inc/lpdmessageplugindialog.h
locationsystemui/locationsysui/locverifier/inc/lpdnotifierquerylauncher.h
locationsystemui/locationsysui/locverifier/inc/lpdnotifreqinfo.h
locationsystemui/locationsysui/locverifier/inc/lpdperiodicprocessor.h
locationsystemui/locationsysui/locverifier/inc/lpdperiodicreqinfo.h
locationsystemui/locationsysui/locverifier/inc/lpdquerylauncherbase.h
locationsystemui/locationsysui/locverifier/inc/lpdrequestao.h
locationsystemui/locationsysui/locverifier/inc/lpdrequestorprocessor.h
locationsystemui/locationsysui/locverifier/inc/lpdresulthandler.h
locationsystemui/locationsysui/locverifier/inc/lpdsuplsettingsadapter.h
locationsystemui/locationsysui/locverifier/inc/lpdsuplsettingsadapterobserver.h
locationsystemui/locationsysui/locverifier/inc/lpdverifierplugin.h
locationsystemui/locationsysui/locverifier/inc/lpdverifierquerylauncher.h
locationsystemui/locationsysui/locverifier/inc/lpdverifiersettinglauncher.h
locationsystemui/locationsysui/locverifier/inc/lpdverifnotiflbmodel.h
locationsystemui/locationsysui/locverifier/location.loc
locationsystemui/locationsysui/locverifier/rss/10207242.rss
locationsystemui/locationsysui/locverifier/rss/locverifierdlg.rss
locationsystemui/locationsysui/locverifier/src/lpdbasemodel.cpp
locationsystemui/locationsysui/locverifier/src/lpdbkupevtlistenerao.cpp
locationsystemui/locationsysui/locverifier/src/lpddllmain.cpp
locationsystemui/locationsysui/locverifier/src/lpdglobalplugindialog.cpp
locationsystemui/locationsysui/locverifier/src/lpdmessageplugindialog.cpp
locationsystemui/locationsysui/locverifier/src/lpdnotifierquerylauncher.cpp
locationsystemui/locationsysui/locverifier/src/lpdnotifreqinfo.cpp
locationsystemui/locationsysui/locverifier/src/lpdperiodicprocessor.cpp
locationsystemui/locationsysui/locverifier/src/lpdquerylauncherbase.cpp
locationsystemui/locationsysui/locverifier/src/lpdrequestao.cpp
locationsystemui/locationsysui/locverifier/src/lpdrequestorprocessor.cpp
locationsystemui/locationsysui/locverifier/src/lpdsuplsettingsadapter.cpp
locationsystemui/locationsysui/locverifier/src/lpdverifierplugin.cpp
locationsystemui/locationsysui/locverifier/src/lpdverifierquerylauncher.cpp
locationsystemui/locationsysui/locverifier/src/lpdverifiersettinglauncher.cpp
locationsystemui/locationsysui/locverifier/src/lpdverifnotiflbmodel.cpp
locationsystemui/locationsysui/posindicator/inc/posgeoaddress.h
locationsystemui/locationsysui/posindicator/inc/posindicatorglobal.h
locationsystemui/locationsysui/posindicator/inc/posindicatorinfo.h
locationsystemui/locationsysui/posindicator/inc/posindicatorlogger.h
locationsystemui/locationsysui/posindicator/inc/posindicatorserverconst.h
locationsystemui/locationsysui/posindicator/inc/posreversegeocodeinterface.h
locationsystemui/locationsysui/posindicator/inc/posreversegeocodeinterface.hrh
locationsystemui/locationsysui/posindicator/posindhelperclientlib/bwins/posindicatorhelperu.def
locationsystemui/locationsysui/posindicator/posindhelperclientlib/eabi/posindicatorhelperu.def
locationsystemui/locationsysui/posindicator/posindhelperclientlib/inc/posgeoaddress.h
locationsystemui/locationsysui/posindicator/posindhelperclientlib/inc/posgeoaddress_p.h
locationsystemui/locationsysui/posindicator/posindhelperclientlib/inc/posindhelperclientrequester.h
locationsystemui/locationsysui/posindicator/posindhelperclientlib/inc/posindicatorglobal.h
locationsystemui/locationsysui/posindicator/posindhelperclientlib/inc/posindicatorhelper.h
locationsystemui/locationsysui/posindicator/posindhelperclientlib/inc/posindicatorhelpererrors.h
locationsystemui/locationsysui/posindicator/posindhelperclientlib/inc/posindicatorhelperserver.h
locationsystemui/locationsysui/posindicator/posindhelperclientlib/inc/posindicatorinfo.h
locationsystemui/locationsysui/posindicator/posindhelperclientlib/inc/posindicatorinfo_p.h
locationsystemui/locationsysui/posindicator/posindhelperclientlib/inc/posindinfochangeobserver.h
locationsystemui/locationsysui/posindicator/posindhelperclientlib/posindicatorhelperclientlib.pro
locationsystemui/locationsysui/posindicator/posindhelperclientlib/src/posgeoaddress.cpp
locationsystemui/locationsysui/posindicator/posindhelperclientlib/src/posindhelperclientrequester.cpp
locationsystemui/locationsysui/posindicator/posindhelperclientlib/src/posindicatorhelper.cpp
locationsystemui/locationsysui/posindicator/posindhelperclientlib/src/posindicatorhelperserver.cpp
locationsystemui/locationsysui/posindicator/posindhelperclientlib/src/posindicatorinfo.cpp
locationsystemui/locationsysui/posindicator/posindhelperclientlib/src/posindicatorinfo_p.cpp
locationsystemui/locationsysui/posindicator/posindicator.pro
locationsystemui/locationsysui/posindicator/posindicatorhelperserver/group/bld.inf
locationsystemui/locationsysui/posindicator/posindicatorhelperserver/group/posindicatorhelperserver.mmp
locationsystemui/locationsysui/posindicator/posindicatorhelperserver/inc/posindicatorlocationrequestor.h
locationsystemui/locationsysui/posindicator/posindicatorhelperserver/inc/posindicatorlogger.h
locationsystemui/locationsysui/posindicator/posindicatorhelperserver/inc/posindicatorserverconst.h
locationsystemui/locationsysui/posindicator/posindicatorhelperserver/inc/posindicatorservercore.h
locationsystemui/locationsysui/posindicator/posindicatorhelperserver/inc/posindicatorserversession.h
locationsystemui/locationsysui/posindicator/posindicatorhelperserver/inc/posindicatorserversubsession.h
locationsystemui/locationsysui/posindicator/posindicatorhelperserver/inc/posindicatorsubsessionregistry.h
locationsystemui/locationsysui/posindicator/posindicatorhelperserver/src/posindicatorhelperserverstartup.cpp
locationsystemui/locationsysui/posindicator/posindicatorhelperserver/src/posindicatorlocationrequestor.cpp
locationsystemui/locationsysui/posindicator/posindicatorhelperserver/src/posindicatorservercore.cpp
locationsystemui/locationsysui/posindicator/posindicatorhelperserver/src/posindicatorserversession.cpp
locationsystemui/locationsysui/posindicator/posindicatorhelperserver/src/posindicatorserversubsession.cpp
locationsystemui/locationsysui/posindicator/posindicatorhelperserver/src/posindicatorsubsessionregistry.cpp
locationsystemui/locationsysui/posindicator/posindicatorplugin/inc/apilogger.h
locationsystemui/locationsysui/posindicator/posindicatorplugin/inc/posindicator.h
locationsystemui/locationsysui/posindicator/posindicatorplugin/posindicator.pro
locationsystemui/locationsysui/posindicator/posindicatorplugin/src/apilogger.cpp
locationsystemui/locationsysui/posindicator/posindicatorplugin/src/posindicator.cpp
locationsystemui/locationsysui/posindicator/posreversegeocodeinterface/bwins/posreversegeocodeinterfaceu.def
locationsystemui/locationsysui/posindicator/posreversegeocodeinterface/eabi/posreversegeocodeinterfaceu.def
locationsystemui/locationsysui/posindicator/posreversegeocodeinterface/group/bld.inf
locationsystemui/locationsysui/posindicator/posreversegeocodeinterface/group/posreversegeocodeinterface.mmp
locationsystemui/locationsysui/posindicator/posreversegeocodeinterface/inc/posreversegeocodeinterface.h
locationsystemui/locationsysui/posindicator/posreversegeocodeinterface/inc/posreversegeocodeinterface.hrh
locationsystemui/locationsysui/posindicator/posreversegeocodeinterface/src/posreversegeocodeinterface.cpp
locationsystemui/locationsysui/posindicator/posreversegeocodeplugin/data/2002E68A.rss
locationsystemui/locationsysui/posindicator/posreversegeocodeplugin/data/posreversegeocodeplugin.hrh
locationsystemui/locationsysui/posindicator/posreversegeocodeplugin/group/bld.inf
locationsystemui/locationsysui/posindicator/posreversegeocodeplugin/group/posreversegeocodeplugin.mmp
locationsystemui/locationsysui/posindicator/posreversegeocodeplugin/inc/posrevgeocodeconnectiontimer.h
locationsystemui/locationsysui/posindicator/posreversegeocodeplugin/inc/posrevgeocodehttpclientengine.h
locationsystemui/locationsysui/posindicator/posreversegeocodeplugin/inc/posrevgeocodelogger.h
locationsystemui/locationsysui/posindicator/posreversegeocodeplugin/inc/posrevgeocodeplugin.h
locationsystemui/locationsysui/posindicator/posreversegeocodeplugin/inc/posrevgeocodexmlparser.h
locationsystemui/locationsysui/posindicator/posreversegeocodeplugin/src/posrevgeocodeconnectiontimer.cpp
locationsystemui/locationsysui/posindicator/posreversegeocodeplugin/src/posrevgeocodehttpclientengine.cpp
locationsystemui/locationsysui/posindicator/posreversegeocodeplugin/src/posrevgeocodeplugin.cpp
locationsystemui/locationsysui/posindicator/posreversegeocodeplugin/src/posrevgeocodexmlparser.cpp
locationsystemui/locationsysui/posindicator/rom/posindicator.iby
locationsystemui/locationsysui/possettings/conf/positioningsettings.confml
locationsystemui/locationsysui/possettings/conf/positioningsettings_2002E685.crml
locationsystemui/locationsysui/possettings/inc/possettingsadvinterface.h
locationsystemui/locationsysui/possettings/inc/possettingsadvop.h
locationsystemui/locationsysui/possettings/inc/possettingscrkey.h
locationsystemui/locationsysui/possettings/inc/possettingsglobal.h
locationsystemui/locationsysui/possettings/inc/possettingsview.h
locationsystemui/locationsysui/possettings/poslocationservices/inc/locationservicescustomviewitem.h
locationsystemui/locationsysui/possettings/poslocationservices/inc/locationserviceswidget.h
locationsystemui/locationsysui/possettings/poslocationservices/inc/poslocationservices.h
locationsystemui/locationsysui/possettings/poslocationservices/inc/poslocationservicescommon.h
locationsystemui/locationsysui/possettings/poslocationservices/inc/poslocationservicesengine.h
locationsystemui/locationsysui/possettings/poslocationservices/inc/poslocationservicesengineprivate.h
locationsystemui/locationsysui/possettings/poslocationservices/inc/possettingssignalmapper.h
locationsystemui/locationsysui/possettings/poslocationservices/poslocationservices.pro
locationsystemui/locationsysui/possettings/poslocationservices/poslocationservices.qrc
locationsystemui/locationsysui/possettings/poslocationservices/resources/locationservicesviewitemwidget.css
locationsystemui/locationsysui/possettings/poslocationservices/resources/locationserviceswidget.css
locationsystemui/locationsysui/possettings/poslocationservices/resources/locationserviceswidget.widgetml
locationsystemui/locationsysui/possettings/poslocationservices/resources/qgn_note_warning.svg
locationsystemui/locationsysui/possettings/poslocationservices/src/locationservicescustomviewitem.cpp
locationsystemui/locationsysui/possettings/poslocationservices/src/locationserviceswidget.cpp
locationsystemui/locationsysui/possettings/poslocationservices/src/poslocationservices.cpp
locationsystemui/locationsysui/possettings/poslocationservices/src/poslocationservicesengine.cpp
locationsystemui/locationsysui/possettings/poslocationservices/src/poslocationservicesengineprivate.cpp
locationsystemui/locationsysui/possettings/poslocationservices/src/possettingssignalmapper.cpp
locationsystemui/locationsysui/possettings/posmethodsplugin/inc/pospsysettingscommon.h
locationsystemui/locationsysui/possettings/posmethodsplugin/inc/pospsysettingsengine.h
locationsystemui/locationsysui/possettings/posmethodsplugin/inc/pospsysettingsengineprivate.h
locationsystemui/locationsysui/possettings/posmethodsplugin/inc/pospsysettingsplugin.h
locationsystemui/locationsysui/possettings/posmethodsplugin/inc/possettingssignalmapper.h
locationsystemui/locationsysui/possettings/posmethodsplugin/pospsysettings.pro
locationsystemui/locationsysui/possettings/posmethodsplugin/src/pospsysettingsengine.cpp
locationsystemui/locationsysui/possettings/posmethodsplugin/src/pospsysettingsengineprivate.cpp
locationsystemui/locationsysui/possettings/posmethodsplugin/src/pospsysettingsplugin.cpp
locationsystemui/locationsysui/possettings/posmethodsplugin/src/possettingssignalmapper.cpp
locationsystemui/locationsysui/possettings/possettings.pro
locationsystemui/locationsysui/possettings/possettings_stub.sis
locationsystemui/locationsysui/possettings/possettingsengine/bwins/possettingsengineu.def
locationsystemui/locationsysui/possettings/possettingsengine/eabi/possettingsengineu.def
locationsystemui/locationsysui/possettings/possettingsengine/inc/checkcustomviewitem.h
locationsystemui/locationsysui/possettings/possettingsengine/inc/possettingsadvview.h
locationsystemui/locationsysui/possettings/possettingsengine/inc/possettingscommon.h
locationsystemui/locationsysui/possettings/possettingsengine/inc/possettingsengine.h
locationsystemui/locationsysui/possettings/possettingsengine/inc/possettingsengineprivate.h
locationsystemui/locationsysui/possettings/possettingsengine/inc/possettingsform.h
locationsystemui/locationsysui/possettings/possettingsengine/inc/possettingsgroupboxitem.h
locationsystemui/locationsysui/possettings/possettingsengine/inc/possettingspluginsloader.h
locationsystemui/locationsysui/possettings/possettingsengine/inc/possettingspushbuttonitem.h
locationsystemui/locationsysui/possettings/possettingsengine/possettings.qrc
locationsystemui/locationsysui/possettings/possettingsengine/possettingsengine.pro
locationsystemui/locationsysui/possettings/possettingsengine/resources/checkcustomviewitem.css
locationsystemui/locationsysui/possettings/possettingsengine/resources/groupboxcustomviewitem.css
locationsystemui/locationsysui/possettings/possettingsengine/resources/pushbuttoncustomviewitem.css
locationsystemui/locationsysui/possettings/possettingsengine/src/checkcustomviewitem.cpp
locationsystemui/locationsysui/possettings/possettingsengine/src/possettingsadvop.cpp
locationsystemui/locationsysui/possettings/possettingsengine/src/possettingsadvview.cpp
locationsystemui/locationsysui/possettings/possettingsengine/src/possettingsengine.cpp
locationsystemui/locationsysui/possettings/possettingsengine/src/possettingsengineprivate.cpp
locationsystemui/locationsysui/possettings/possettingsengine/src/possettingsform.cpp
locationsystemui/locationsysui/possettings/possettingsengine/src/possettingsgroupboxitem.cpp
locationsystemui/locationsysui/possettings/possettingsengine/src/possettingspluginsloader.cpp
locationsystemui/locationsysui/possettings/possettingsengine/src/possettingspushbuttonitem.cpp
locationsystemui/locationsysui/possettings/possettingsengine/src/possettingsview.cpp
locationsystemui/locationsysui/possettings/possettingsplugin/inc/apilogger.h
locationsystemui/locationsysui/possettings/possettingsplugin/inc/possettingsplugin.h
locationsystemui/locationsysui/possettings/possettingsplugin/inc/possettingspluginhelper.h
locationsystemui/locationsysui/possettings/possettingsplugin/inc/possettingspluginhelper_p.h
locationsystemui/locationsysui/possettings/possettingsplugin/possettingsplugin.pro
locationsystemui/locationsysui/possettings/possettingsplugin/src/apilogger.cpp
locationsystemui/locationsysui/possettings/possettingsplugin/src/possettingsplugin.cpp
locationsystemui/locationsysui/possettings/possettingsplugin/src/possettingspluginhelper.cpp
locationsystemui/locationsysui/possettings/possettingsplugin/src/possettingspluginhelper_p.cpp
locationsystemui/locationsysui/possettings/possuplsettingsplugin/inc/possettingssignalmapper.h
locationsystemui/locationsysui/possettings/possuplsettingsplugin/inc/possuplsettings.h
locationsystemui/locationsysui/possettings/possuplsettingsplugin/inc/possuplsettingscommon.h
locationsystemui/locationsysui/possettings/possuplsettingsplugin/inc/possuplsettingsengine.h
locationsystemui/locationsysui/possettings/possuplsettingsplugin/inc/possuplsettingsengineprivate.h
locationsystemui/locationsysui/possettings/possuplsettingsplugin/possuplsettings.pro
locationsystemui/locationsysui/possettings/possuplsettingsplugin/src/possettingssignalmapper.cpp
locationsystemui/locationsysui/possettings/possuplsettingsplugin/src/possuplsettings.cpp
locationsystemui/locationsysui/possettings/possuplsettingsplugin/src/possuplsettingsengine.cpp
locationsystemui/locationsysui/possettings/possuplsettingsplugin/src/possuplsettingsengineprivate.cpp
locationsystemui/locationsysui/possettings/rom/possettings.iby
locationsystemui/locationsysui/possettings/rom/possettings_resources.iby
locationsystemui/locationsysui/privacyverifiernotifierui/bwins/locnotificationengineu.def
locationsystemui/locationsysui/privacyverifiernotifierui/contactresolversession/bwins/locnotificationclientu.def
locationsystemui/locationsysui/privacyverifiernotifierui/contactresolversession/eabi/locnotificationclientu.def
locationsystemui/locationsysui/privacyverifiernotifierui/contactresolversession/group/contactresolversession.mmp
locationsystemui/locationsysui/privacyverifiernotifierui/contactresolversession/inc/contactresolversession.h
locationsystemui/locationsysui/privacyverifiernotifierui/contactresolversession/src/contactresolversession.cpp
locationsystemui/locationsysui/privacyverifiernotifierui/eabi/locnotificationengineu.def
locationsystemui/locationsysui/privacyverifiernotifierui/inc/contactresolversession.h
locationsystemui/locationsysui/privacyverifiernotifierui/inc/locprivacycommon.h
locationsystemui/locationsysui/privacyverifiernotifierui/inc/locprivacyinternal.h
locationsystemui/locationsysui/privacyverifiernotifierui/inc/locutilsdebug.h
locationsystemui/locationsysui/privacyverifiernotifierui/inc/locutilsdebugconfig.hrh
locationsystemui/locationsysui/privacyverifiernotifierui/install/privacydialogs_stub.pkg
locationsystemui/locationsysui/privacyverifiernotifierui/install/privacydialogs_stub.sis
locationsystemui/locationsysui/privacyverifiernotifierui/locnotificationengine/bwins/locnotificationengineu.def
locationsystemui/locationsysui/privacyverifiernotifierui/locnotificationengine/eabi/locnotificationengineu.def
locationsystemui/locationsysui/privacyverifiernotifierui/locnotificationengine/inc/apilogger.h
locationsystemui/locationsysui/privacyverifiernotifierui/locnotificationengine/inc/locrequestorutilsresolver.h
locationsystemui/locationsysui/privacyverifiernotifierui/locnotificationengine/inc/qlocnotificationengine.h
locationsystemui/locationsysui/privacyverifiernotifierui/locnotificationengine/locnotificationengine.pro
locationsystemui/locationsysui/privacyverifiernotifierui/locnotificationengine/src/apilogger.cpp
locationsystemui/locationsysui/privacyverifiernotifierui/locnotificationengine/src/locrequestorutilsresolver.cpp
locationsystemui/locationsysui/privacyverifiernotifierui/locnotificationengine/src/qlocnotificationengine.cpp
locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/group/locprivacyserver.mmp
locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/inc/locprivacycommon.h
locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/inc/locprivacyinternal.h
locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/inc/locprivacyserver.h
locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/inc/locprivacyserverdebugpanic.h
locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/inc/locprivacyserversession.h
locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/inc/locprivacyserverstartup.h
locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/src/locprivacyserver.cpp
locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/src/locprivacyserversession.cpp
locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/src/locprivacyserverstartup.cpp
locationsystemui/locationsysui/privacyverifiernotifierui/locutils/bwins/locutils_32u.def
locationsystemui/locationsysui/privacyverifiernotifierui/locutils/eabi/locutils_32u.def
locationsystemui/locationsysui/privacyverifiernotifierui/locutils/group/locutils.mmp
locationsystemui/locationsysui/privacyverifiernotifierui/locutils/inc/locutilsdebug.h
locationsystemui/locationsysui/privacyverifiernotifierui/locutils/inc/locutilsdebugconfig.hrh
locationsystemui/locationsysui/privacyverifiernotifierui/locutils/inc/locutilsuid.hrh
locationsystemui/locationsysui/privacyverifiernotifierui/locutils/src/locutilsdebug.cpp
locationsystemui/locationsysui/privacyverifiernotifierui/locutils/src/locutilsdebugdummy.cpp
locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/group/locverifierdlg.mmp
locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/inc/locverifierdlgdebug.h
locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/inc/locverifieruid.h
locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/inc/lpddlgobserver.h
locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/inc/lpdglobalplugindialog.h
locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/inc/lpdnotifierquerylauncher.h
locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/inc/lpdquerylauncherbase.h
locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/inc/lpdrequestao.h
locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/inc/lpdrequestorprocessor.h
locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/inc/lpdresulthandler.h
locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/inc/lpdverifierplugin.h
locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/inc/lpdverifierquerylauncher.h
locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/rss/101f84fc.rss
locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/src/lpddllmain.cpp
locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/src/lpdglobalplugindialog.cpp
locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/src/lpdnotifierquerylauncher.cpp
locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/src/lpdquerylauncherbase.cpp
locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/src/lpdrequestao.cpp
locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/src/lpdrequestorprocessor.cpp
locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/src/lpdverifierplugin.cpp
locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/src/lpdverifierquerylauncher.cpp
locationsystemui/locationsysui/privacyverifiernotifierui/posverificationdialogplugin/inc/apilogger.h
locationsystemui/locationsysui/privacyverifiernotifierui/posverificationdialogplugin/inc/customdocumentloader.h
locationsystemui/locationsysui/privacyverifiernotifierui/posverificationdialogplugin/inc/posverificationcustomdialog.h
locationsystemui/locationsysui/privacyverifiernotifierui/posverificationdialogplugin/inc/posverificationdialogplugin.h
locationsystemui/locationsysui/privacyverifiernotifierui/posverificationdialogplugin/posverificationdialogplugin.pro
locationsystemui/locationsysui/privacyverifiernotifierui/posverificationdialogplugin/resources/posverificationcustomdialog.docml
locationsystemui/locationsysui/privacyverifiernotifierui/posverificationdialogplugin/resources/posverificationdialog.qrc
locationsystemui/locationsysui/privacyverifiernotifierui/posverificationdialogplugin/src/apilogger.cpp
locationsystemui/locationsysui/privacyverifiernotifierui/posverificationdialogplugin/src/customdocumentloader.cpp
locationsystemui/locationsysui/privacyverifiernotifierui/posverificationdialogplugin/src/posverificationcustomdialog.cpp
locationsystemui/locationsysui/privacyverifiernotifierui/posverificationdialogplugin/src/posverificationdialogplugin.cpp
locationsystemui/locationsysui/privacyverifiernotifierui/privacyverifiernotifierui.pro
locationsystemui/locationsysui/privacyverifiernotifierui/rom/privacydialogs.iby
locationsystemui/locationsysui/queryandnotification/inc/EPos_CPosPrivacyNotifierExtension.h
locationsystemui/locationsysui/queryandnotification/inc/EPos_CPosRequestHandler.h
locationsystemui/locationsysui/rom/locationsystemuistub.iby
locationsystemui/locationsysui/rom/locationsysui.iby
locationsystemui/locationsysui/rom/locationsysui_resources.iby
locationsystemui/locationsysui/rom/locbtnotifier.iby
locationsystemui/locationsysui/rom/locbtnotifier_resources.iby
locationsystemui/locationsysui/rom/locgpsindicatorplugin.iby
locationsystemui/locationsysui/rom/locgpsindicatorplugin_resources.iby
locationsystemui/locationsysui/rom/locnotprefplugin.iby
locationsystemui/locationsysui/rom/locnotprefplugin_resources.iby
locationsystemui/locationsysui/rom/locpsysettings.iby
locationsystemui/locationsysui/rom/locpsysettings_resources.iby
locationsystemui/locationsysui/rom/locsettingsuiservice.iby
locationsystemui/locationsysui/rom/locsettingsuiservice_resources.iby
locationsystemui/locationsysui/rom/locsuplsettings.iby
locationsystemui/locationsysui/rom/locsuplsettings_resources.iby
locationsystemui/locationsysui/rom/locverifierdlg.iby
locationsystemui/locationsysui/rom/locverifierdlg_resources.iby
locationtriggering/group/bld.inf
locationtriggering/install/lbtstub.pkg
locationtriggering/lbtmgmtui/data/2001E66E.rss
locationtriggering/lbtmgmtui/data/lbtmgmtpluginview.rss
locationtriggering/lbtmgmtui/data/lbtmgmtuistub.sis
locationtriggering/lbtmgmtui/group/bld.inf
locationtriggering/lbtmgmtui/group/lbtmgmtui.mmp
locationtriggering/lbtmgmtui/inc/lbtmgmtadapterobserver.h
locationtriggering/lbtmgmtui/inc/lbtmgmtdebug.h
locationtriggering/lbtmgmtui/inc/lbtmgmtdebugconfig.hrh
locationtriggering/lbtmgmtui/inc/lbtmgmtengobserver.h
locationtriggering/lbtmgmtui/inc/lbtmgmtlbtadapter.h
locationtriggering/lbtmgmtui/inc/lbtmgmtplugin.h
locationtriggering/lbtmgmtui/inc/lbtmgmtplugin.hrh
locationtriggering/lbtmgmtui/inc/lbtmgmtplugincmdhdlr.h
locationtriggering/lbtmgmtui/inc/lbtmgmtplugincontainer.h
locationtriggering/lbtmgmtui/inc/lbtmgmtpluginengine.h
locationtriggering/lbtmgmtui/inc/lbtmgmtpluginuid.hrh
locationtriggering/lbtmgmtui/inc/lbtmgmtpluginview.h
locationtriggering/lbtmgmtui/install/lbtmgmtui.pkg
locationtriggering/lbtmgmtui/install/lbtmgmtui.sis
locationtriggering/lbtmgmtui/install/lbtmgmtui.sisx
locationtriggering/lbtmgmtui/install/lbtmgmtuistub.pkg
locationtriggering/lbtmgmtui/loc/lbtmgmtsettings.loc
locationtriggering/lbtmgmtui/rom/lbtmgmtui.iby
locationtriggering/lbtmgmtui/rom/lbtmgmtui_resources.iby
locationtriggering/lbtmgmtui/rom/lbtmgmtuistub.iby
locationtriggering/lbtmgmtui/src/lbtmgmtdebug.cpp
locationtriggering/lbtmgmtui/src/lbtmgmtlbtadapter.cpp
locationtriggering/lbtmgmtui/src/lbtmgmtplugin.cpp
locationtriggering/lbtmgmtui/src/lbtmgmtplugincontainer.cpp
locationtriggering/lbtmgmtui/src/lbtmgmtpluginengine.cpp
locationtriggering/lbtmgmtui/src/lbtmgmtpluginimptable.cpp
locationtriggering/lbtmgmtui/src/lbtmgmtpluginview.cpp
locationtriggering/ltcellidmovementdetector/src/lbtcellidmvmtdet.cpp
locationtriggering/ltcellidmovementdetector/src/lbtcellinfo.cpp
locationtriggering/ltclientlib/src/lbtcelloperation.cpp
locationtriggering/ltclientlib/src/lbtgeogsmcell.cpp
locationtriggering/ltclientlib/src/lbtgeowcdmacell.cpp
locationtriggering/ltclientlib/src/lbtstartuptrigger.cpp
locationtriggering/ltcontainer/src/lbtcontainer.cpp
locationtriggering/ltcontainer/src/lbtcontainerao.cpp
locationtriggering/ltcontainer/src/lbtcontainerareafilter.cpp
locationtriggering/ltcontainer/src/lbtcontainerattrfilter.cpp
locationtriggering/ltcontainer/src/lbtcontainercompfilter.cpp
locationtriggering/ltcontainer/src/lbtcontainertriggerfilter.cpp
locationtriggering/ltcontainer/src/lbtcontainertriggerfilterbyattribute.cpp
locationtriggering/ltcontainer/src/lbtdboperationao.cpp
locationtriggering/ltcontainer/src/lbtdbtriggersmanager.cpp
locationtriggering/ltcontainer/src/lbtlistasyncoperation.cpp
locationtriggering/ltcontainer/src/lbtramtriggersmanager.cpp
locationtriggering/ltcontainer/src/lbttriggerstorerepository.cpp
locationtriggering/ltcontainer/src/lbtupdateasyncoperation.cpp
locationtriggering/ltcontextsourceplugin/src/lbtcontextsourceplugin.cpp
locationtriggering/ltserver/ltserverlogic/src/lbtaooperationbase.cpp
locationtriggering/ltserver/ltserverlogic/src/lbtappchangehandler.cpp
locationtriggering/ltserver/ltserverlogic/src/lbtcleanuphandler.cpp
locationtriggering/ltserver/ltserverlogic/src/lbtlistaooperation.cpp
locationtriggering/ltserver/ltserverlogic/src/lbtserverlogic.cpp
locationtriggering/ltserver/ltserverlogic/src/lbtsimchangehandler.cpp
locationtriggering/ltserver/ltserverlogic/src/lbttriggerfirehandler.cpp
locationtriggering/ltstrategyengine/src/lbtcellchangehandler.cpp
locationtriggering/ltstrategyengine/src/lbtcelliddatabase.cpp
locationtriggering/ltstrategyengine/src/lbtcellsupervisor.cpp
locationtriggering/ltstrategyengine/src/lbtcoordinatesupervisor.cpp
locationtriggering/ltstrategyengine/src/lbttriggerview.cpp
locationtriggering/rom/bld.inf
locationtriggering/tsrc/lbtengine_test/Additionaltests/CreateTest/src/CreateTest.cpp
locationtriggering/tsrc/lbtengine_test/Additionaltests/src/AdditionaltestsBlocks.cpp
locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/conf/AdvancedTriggerSupervision.cfg
locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/data/default.nme
locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/data/epossimulationpsy.RSC
locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/data/epossimulationpsy.dll
locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/data/simulationpsy_name.RSC
locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/group/AdvancedTriggerSupervision.mmp
locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/group/AdvancedTriggerSupervision.pkg
locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/inc/AdvancedTriggerSupervision.h
locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/inc/AsynOperationAO.h
locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/src/AdvancedTriggerSupervision.cpp
locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/src/AdvancedTriggerSupervisionBlocks.cpp
locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/src/AsynOperationAO.cpp
locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/conf/CellbasedtriggerOperations.cfg
locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/inc/AsynOperationAO.h
locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/inc/CellbasedtriggerOperations.h
locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/inc/lbtcidchangenotifier.h
locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/src/AsynOperationAO.cpp
locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/src/CellbasedtriggerOperationsBlocks.cpp
locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/src/lbtcidchangenotifier.cpp
locationtriggering/tsrc/lbtengine_test/ClientServerSetup/conf/ClientServerSetup.cfg
locationtriggering/tsrc/lbtengine_test/ClientServerSetup/src/ClientServerSetupBlocks.cpp
locationtriggering/tsrc/lbtengine_test/TestHybridTriggers/conf/TestHybridTriggers.cfg
locationtriggering/tsrc/lbtengine_test/TestHybridTriggers/src/TestHybridTriggersBlocks.cpp
locationtriggering/tsrc/lbtengine_test/UpdateTrigger/data/CreateTest.exe
locationtriggering/tsrc/lbtengine_test/UpdateTrigger/src/UpdateTriggerBlocks.cpp
locationtriggering/tsrc/lbtengine_test/firingofstartuptriggerandlisttrigger/CreateTest/src/CreateTest.cpp
locationtriggering/tsrc/lbtengine_test/firingofstartuptriggerandlisttrigger/conf/firingofstartuptriggerandlisttrigger.cfg
locationtriggering/tsrc/lbtengine_test/firingofstartuptriggerandlisttrigger/data/default.nme
locationtriggering/tsrc/lbtengine_test/firingofstartuptriggerandlisttrigger/data/epossimulationpsy.RSC
locationtriggering/tsrc/lbtengine_test/firingofstartuptriggerandlisttrigger/data/epossimulationpsy.dll
locationtriggering/tsrc/lbtengine_test/firingofstartuptriggerandlisttrigger/data/simulationpsy_name.RSC
locationtriggering/tsrc/lbtengine_test/firingofstartuptriggerandlisttrigger/group/FiringofStartupTriggerAndListTrigger.pkg
locationtriggering/tsrc/lbtengine_test/firingofstartuptriggerandlisttrigger/group/firingofstartuptriggerandlisttrigger.mmp
locationtriggering/tsrc/lbtengine_test/firingofstartuptriggerandlisttrigger/inc/firingofstartuptriggerandlisttrigger.h
locationtriggering/tsrc/lbtengine_test/firingofstartuptriggerandlisttrigger/inc/t_triggerfireobserver.h
locationtriggering/tsrc/lbtengine_test/firingofstartuptriggerandlisttrigger/src/firingofstartuptriggerandlisttrigger.cpp
locationtriggering/tsrc/lbtengine_test/firingofstartuptriggerandlisttrigger/src/firingofstartuptriggerandlisttriggerblocks.cpp
locationtriggering/tsrc/lbtengine_test/firingofstartuptriggerandlisttrigger/src/t_triggerfireobserver.cpp
locationtriggering/tsrc/lbtengine_test/lbtPlatSecTest/testlbtplatsecurity/conf/testlbtplatsecurity1.cfg
locationtriggering/tsrc/lbtengine_test/lbtPlatSecTest/testlbtplatsecurity/conf/testlbtplatsecurity3.cfg
locationtriggering/tsrc/lbtengine_test/lbtPlatSecTest/testlbtplatsecurity/conf/testlbtplatsecurity4.cfg
locationtriggering/tsrc/lbtengine_test/lbtPlatSecTest/testlbtplatsecurity/src/testlbtplatsecurityBlocks.cpp
locationtriggering/tsrc/lbtengine_test/t_mgmtsettings/group/t_mgmtsettings.mmp
locsrv_plat/geocoding_api/tsrc/group/bld.inf
locsrv_plat/geocoding_api/tsrc/group/testmnclientlib.pkg
locsrv_plat/group/bld.inf
locsrv_plat/location_notation_preferences_settings_api/group/bld.inf
locsrv_plat/location_notation_preferences_settings_api/inc/locnotprefplugindomaincrkeys.h
locsrv_plat/location_notation_preferences_settings_api/location_notation_preferences_settings_api.metaxml
locsrv_plat/location_settings_launch_api/group/bld.inf
locsrv_plat/location_settings_launch_api/inc/locsettingsuiclient.h
locsrv_plat/location_settings_launch_api/location_settings_launch_api.metaxml
locsrv_plat/location_settings_launch_api/tsrc/bmarm/testlocsettingsuiclientu.def
locsrv_plat/location_settings_launch_api/tsrc/bwins/testlocsettingsuiclientu.def
locsrv_plat/location_settings_launch_api/tsrc/conf/testlocsettingsuiclient.cfg
locsrv_plat/location_settings_launch_api/tsrc/eabi/testlocsettingsuiclientu.def
locsrv_plat/location_settings_launch_api/tsrc/group/bld.inf
locsrv_plat/location_settings_launch_api/tsrc/group/testlocsettingsuiclient.mmp
locsrv_plat/location_settings_launch_api/tsrc/group/testlocsettingsuiclient.pkg
locsrv_plat/location_settings_launch_api/tsrc/inc/testlocsettingsuiclient.h
locsrv_plat/location_settings_launch_api/tsrc/inc/testlocsettingsuiclientao.h
locsrv_plat/location_settings_launch_api/tsrc/init/testframework.ini
locsrv_plat/location_settings_launch_api/tsrc/src/testlocsettingsuiclient.cpp
locsrv_plat/location_settings_launch_api/tsrc/src/testlocsettingsuiclientBlocks.cpp
locsrv_plat/location_settings_launch_api/tsrc/src/testlocsettingsuiclientao.cpp
locsrv_plat/map_and_navigation_aiw_api/group/bld.inf
locsrv_plat/map_and_navigation_aiw_api/inc/mnaiwservices.h
locsrv_plat/map_and_navigation_aiw_api/map_and_navigation_aiw_api.metaxml
locsrv_plat/map_and_navigation_api/group/bld.inf
locsrv_plat/map_and_navigation_api/inc/mnerrors.h
locsrv_plat/map_and_navigation_api/inc/mnmapview.h
locsrv_plat/map_and_navigation_api/inc/mnnavigator.h
locsrv_plat/map_and_navigation_api/map_and_navigation_api.metaxml
locsrv_plat/map_and_navigation_api/tsrc/bmarm/testmapandnavapiu.def
locsrv_plat/map_and_navigation_api/tsrc/bwins/testmapandnavapiu.def
locsrv_plat/map_and_navigation_api/tsrc/conf/testmapandnavapi.cfg
locsrv_plat/map_and_navigation_api/tsrc/data/armv5/urel/MnRefProvider.mbm
locsrv_plat/map_and_navigation_api/tsrc/data/armv5/urel/MnRefProvider.mif
locsrv_plat/map_and_navigation_api/tsrc/data/armv5/urel/MnRefProvider.rsc
locsrv_plat/map_and_navigation_api/tsrc/data/armv5/urel/MnRefProviderPlugin.dll
locsrv_plat/map_and_navigation_api/tsrc/data/armv5/urel/MnRefProviderPlugin.dll.map
locsrv_plat/map_and_navigation_api/tsrc/data/armv5/urel/MnRefProvider_reg.rsc
locsrv_plat/map_and_navigation_api/tsrc/data/armv5/urel/mnrefprovider.exe
locsrv_plat/map_and_navigation_api/tsrc/data/armv5/urel/mnrefprovider.exe.map
locsrv_plat/map_and_navigation_api/tsrc/data/armv5/urel/mnrefproviderback.exe
locsrv_plat/map_and_navigation_api/tsrc/data/armv5/urel/mnrefproviderback.exe.map
locsrv_plat/map_and_navigation_api/tsrc/data/armv5/urel/mnrefproviderback.rsc
locsrv_plat/map_and_navigation_api/tsrc/data/armv5/urel/mnrefproviderback_reg.rsc
locsrv_plat/map_and_navigation_api/tsrc/data/armv5/urel/mnrefproviderengine.dll
locsrv_plat/map_and_navigation_api/tsrc/data/armv5/urel/mnrefproviderengine.dll.map
locsrv_plat/map_and_navigation_api/tsrc/data/armv5/urel/mnrefproviderengine.rsc
locsrv_plat/map_and_navigation_api/tsrc/data/winscw/udeb/MnRefProviderPlugin.dll
locsrv_plat/map_and_navigation_api/tsrc/data/winscw/udeb/mnrefprovider.exe
locsrv_plat/map_and_navigation_api/tsrc/data/winscw/udeb/mnrefproviderback.exe
locsrv_plat/map_and_navigation_api/tsrc/data/winscw/udeb/mnrefproviderengine.dll
locsrv_plat/map_and_navigation_api/tsrc/eabi/testmapandnavapiu.def
locsrv_plat/map_and_navigation_api/tsrc/group/bld.inf
locsrv_plat/map_and_navigation_api/tsrc/group/map_and_navigation_api_test.pkg
locsrv_plat/map_and_navigation_api/tsrc/group/testmapandnavapi.mmp
locsrv_plat/map_and_navigation_api/tsrc/inc/testcmnmapview.h
locsrv_plat/map_and_navigation_api/tsrc/inc/testcmnnavigator.h
locsrv_plat/map_and_navigation_api/tsrc/inc/testmapandnavapi.h
locsrv_plat/map_and_navigation_api/tsrc/init/testframework.ini
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/BWINS/mnrefproviderengine.50u.def
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/BWINS/mnrefproviderengineu.def
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/data/default_lm.bmp
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/data/default_lm_mask_soft.bmp
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/data/mnrefprovider.rss
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/data/mnrefprovider_reg.rss
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/data/mnrefproviderback.rss
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/data/mnrefproviderback_reg.rss
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/data/mnrefproviderengine.rss
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/data/mnrefproviderplugin.rss
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/eabi/mnrefproviderengine.50u.def
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/eabi/mnrefproviderengineu.def
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/group/bld.inf
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/group/mapnavrefengine.mmp
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/group/mapnavrefprovider.mmp
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/group/mapnavrefproviderback.mmp
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/group/mapnavrefproviderplugin.mmp
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/debug.h
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrp.hrh
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpappcontrol.h
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpapplication.h
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpapplicationback.h
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpappserver.h
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpappserverback.h
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpappui.h
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpappuiback.h
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpappview.h
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpcoordconverter.h
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpdocument.h
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpdocumentback.h
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpengine.h
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpgeocodingservice.h
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpmapcontrol.h
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpmapimageservice.h
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpmapmodel.h
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpmapview.h
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpmapviewservice.h
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpnavicontrol.h
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpnavigationservice.h
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpnavimodel.h
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpnaviview.h
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrppositionrequest.h
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrputils.h
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/sis/mnrefprovider_armv5.pkg
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/sis/mnrefprovider_armv5.sis
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/sis/mnrefprovider_bitmap_armv5.pkg
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/sis/mnrefprovider_bitmap_armv5.sis
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/sis/mnrefprovider_bitmap_armv5.sisx
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/sis/rd-key.pem
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/sis/rd.cer
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrefprovider.cpp
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrefproviderback.cpp
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrefproviderplugin.cpp
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpappcontrol.cpp
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpapplication.cpp
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpapplicationback.cpp
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpappserver.cpp
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpappserverback.cpp
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpappui.cpp
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpappuiback.cpp
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpappview.cpp
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpcoordconverter.cpp
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpdocument.cpp
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpdocumentback.cpp
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpengine.cpp
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpgeocodingservice.cpp
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpmapcontrol.cpp
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpmapimageservice.cpp
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpmapmodel.cpp
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpmapview.cpp
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpmapviewservice.cpp
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpnavicontrol.cpp
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpnavigationservice.cpp
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpnavimodel.cpp
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpnaviview.cpp
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrppositionrequest.cpp
locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrputils.cpp
locsrv_plat/map_and_navigation_api/tsrc/src/testcmnmapview.cpp
locsrv_plat/map_and_navigation_api/tsrc/src/testcmnnavigator.cpp
locsrv_plat/map_and_navigation_api/tsrc/src/testmapandnavapi.cpp
locsrv_plat/map_and_navigation_api/tsrc/src/testmapandnavapiblocks.cpp
locsrv_plat/map_and_navigation_provider_api/group/bld.inf
locsrv_plat/map_and_navigation_provider_api/inc/mnappservices.hrh
locsrv_plat/map_and_navigation_provider_api/inc/mnappserviceuids.hrh
locsrv_plat/map_and_navigation_provider_api/inc/mngeocodingservicebase.h
locsrv_plat/map_and_navigation_provider_api/inc/mnmapimageservicebase.h
locsrv_plat/map_and_navigation_provider_api/inc/mnmapviewservicebase.h
locsrv_plat/map_and_navigation_provider_api/inc/mnnavigationservicebase.h
locsrv_plat/map_and_navigation_provider_api/inc/mnservicebase.h
locsrv_plat/map_and_navigation_provider_api/inc/mnserviceinfo.rh
locsrv_plat/map_and_navigation_provider_api/map_and_navigation_provider_api.metaxml
locsrv_plat/map_and_navigation_provider_discovery_api/group/bld.inf
locsrv_plat/map_and_navigation_provider_discovery_api/inc/mnprovider.h
locsrv_plat/map_and_navigation_provider_discovery_api/inc/mnproviderfinder.h
locsrv_plat/map_and_navigation_provider_discovery_api/map_and_navigation_provider_discovery_api.metaxml
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/bmarm/testmnproviderdiscoveryu.def
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/bwins/testmnproviderdiscoveryu.def
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/conf/testmnproviderdiscovery.cfg
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/data/armv5/urel/MnRefProvider.mbm
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/data/armv5/urel/MnRefProvider.mif
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/data/armv5/urel/MnRefProvider.rsc
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/data/armv5/urel/MnRefProviderPlugin.dll
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/data/armv5/urel/MnRefProviderPlugin.dll.map
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/data/armv5/urel/MnRefProvider_reg.rsc
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/data/armv5/urel/mnrefprovider.exe
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/data/armv5/urel/mnrefprovider.exe.map
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/data/armv5/urel/mnrefproviderback.exe
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/data/armv5/urel/mnrefproviderback.exe.map
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/data/armv5/urel/mnrefproviderback.rsc
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/data/armv5/urel/mnrefproviderback_reg.rsc
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/data/armv5/urel/mnrefproviderengine.dll
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/data/armv5/urel/mnrefproviderengine.dll.map
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/data/armv5/urel/mnrefproviderengine.rsc
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/data/winscw/udeb/MnRefProviderPlugin.dll
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/data/winscw/udeb/mnrefprovider.exe
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/data/winscw/udeb/mnrefproviderback.exe
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/data/winscw/udeb/mnrefproviderengine.dll
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/eabi/testmnproviderdiscoveryu.def
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/group/bld.inf
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/group/map_and_navigation_provider_discovery_api_test.pkg
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/group/testmnproviderdiscovery.mmp
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/inc/testcmnprovider.h
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/inc/testmnproviderdiscovery.h
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/inc/testmnproviderfinder.h
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/init/testframework.ini
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/BWINS/mnrefproviderengine.50u.def
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/BWINS/mnrefproviderengineu.def
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/data/default_lm.bmp
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/data/default_lm_mask_soft.bmp
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/data/mnrefprovider.rss
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/data/mnrefprovider_reg.rss
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/data/mnrefproviderback.rss
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/data/mnrefproviderback_reg.rss
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/data/mnrefproviderengine.rss
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/data/mnrefproviderplugin.rss
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/eabi/mnrefproviderengine.50u.def
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/eabi/mnrefproviderengineu.def
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/group/bld.inf
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/group/mnprovdiscrefengine.mmp
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/group/mnprovdiscrefprovider.mmp
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/group/mnprovdiscrefproviderback.mmp
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/group/mnprovdiscrefproviderplugin.mmp
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/debug.h
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrp.hrh
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpappcontrol.h
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpapplication.h
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpapplicationback.h
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpappserver.h
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpappserverback.h
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpappui.h
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpappuiback.h
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpappview.h
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpcoordconverter.h
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpdocument.h
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpdocumentback.h
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpengine.h
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpgeocodingservice.h
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpmapcontrol.h
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpmapimageservice.h
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpmapmodel.h
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpmapview.h
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpmapviewservice.h
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpnavicontrol.h
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpnavigationservice.h
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpnavimodel.h
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpnaviview.h
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrppositionrequest.h
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrputils.h
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/sis/mnrefprovider_armv5.pkg
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/sis/mnrefprovider_armv5.sis
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/sis/mnrefprovider_bitmap_armv5.pkg
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/sis/mnrefprovider_bitmap_armv5.sis
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/sis/mnrefprovider_bitmap_armv5.sisx
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/sis/rd-key.pem
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/sis/rd.cer
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrefprovider.cpp
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrefproviderback.cpp
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrefproviderplugin.cpp
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpappcontrol.cpp
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpapplication.cpp
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpapplicationback.cpp
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpappserver.cpp
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpappserverback.cpp
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpappui.cpp
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpappuiback.cpp
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpappview.cpp
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpcoordconverter.cpp
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpdocument.cpp
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpdocumentback.cpp
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpengine.cpp
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpgeocodingservice.cpp
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpmapcontrol.cpp
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpmapimageservice.cpp
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpmapmodel.cpp
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpmapview.cpp
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpmapviewservice.cpp
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpnavicontrol.cpp
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpnavigationservice.cpp
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpnavimodel.cpp
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpnaviview.cpp
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrppositionrequest.cpp
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrputils.cpp
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/src/testcmnprovider.cpp
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/src/testmnproviderdiscovery.cpp
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/src/testmnproviderdiscoveryblocks.cpp
locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/src/testmnproviderfinder.cpp
locsrv_plat/map_image_api/group/bld.inf
locsrv_plat/map_image_api/inc/mnmapimage.h
locsrv_plat/map_image_api/inc/mnmapimageparams.h
locsrv_plat/map_image_api/inc/mnmapimageparams.inl
locsrv_plat/map_image_api/map_image_api.metaxml
locsrv_plat/map_image_api/tsrc/bmarm/testmapimageu.def
locsrv_plat/map_image_api/tsrc/bwins/testmapimageu.def
locsrv_plat/map_image_api/tsrc/conf/testmapimage.cfg
locsrv_plat/map_image_api/tsrc/eabi/testmapimageu.def
locsrv_plat/map_image_api/tsrc/group/bld.inf
locsrv_plat/map_image_api/tsrc/group/map_image_api_test.pkg
locsrv_plat/map_image_api/tsrc/group/testmapimage.mmp
locsrv_plat/map_image_api/tsrc/inc/testmapimage.h
locsrv_plat/map_image_api/tsrc/inc/testmnmapimage.h
locsrv_plat/map_image_api/tsrc/inc/testmnmapimageparams.h
locsrv_plat/map_image_api/tsrc/init/testframework.ini
locsrv_plat/map_image_api/tsrc/src/testmapimage.cpp
locsrv_plat/map_image_api/tsrc/src/testmapimageBlocks.cpp
locsrv_plat/map_image_api/tsrc/src/testmnmapimage.cpp
locsrv_plat/map_image_api/tsrc/src/testmnmapimageparams.cpp
locsrv_plat/map_image_api/tsrc/testprovider/data/mntestprovider.rss
locsrv_plat/map_image_api/tsrc/testprovider/data/mntestprovider_reg.rss
locsrv_plat/map_image_api/tsrc/testprovider/data/mntestproviderplugin.rss
locsrv_plat/map_image_api/tsrc/testprovider/group/bld.inf
locsrv_plat/map_image_api/tsrc/testprovider/group/testprovider.mmp
locsrv_plat/map_image_api/tsrc/testprovider/group/testprovider.pkg
locsrv_plat/map_image_api/tsrc/testprovider/group/testproviderplugin.mmp
locsrv_plat/map_image_api/tsrc/testprovider/inc/debug.h
locsrv_plat/map_image_api/tsrc/testprovider/inc/testproviderapplication.h
locsrv_plat/map_image_api/tsrc/testprovider/inc/testproviderappserver.h
locsrv_plat/map_image_api/tsrc/testprovider/inc/testproviderappui.h
locsrv_plat/map_image_api/tsrc/testprovider/inc/testproviderappview.h
locsrv_plat/map_image_api/tsrc/testprovider/inc/testprovidercoordconverter.h
locsrv_plat/map_image_api/tsrc/testprovider/inc/testproviderdocument.h
locsrv_plat/map_image_api/tsrc/testprovider/inc/testproviderdump.h
locsrv_plat/map_image_api/tsrc/testprovider/inc/testprovidergeocodingservice.h
locsrv_plat/map_image_api/tsrc/testprovider/inc/testprovidermapimageservice.h
locsrv_plat/map_image_api/tsrc/testprovider/inc/testprovidermapview.h
locsrv_plat/map_image_api/tsrc/testprovider/inc/testprovidermapviewservice.h
locsrv_plat/map_image_api/tsrc/testprovider/inc/testprovidernavigationservice.h
locsrv_plat/map_image_api/tsrc/testprovider/inc/testprovidernaviview.h
locsrv_plat/map_image_api/tsrc/testprovider/rom/MnTestProvider.iby
locsrv_plat/map_image_api/tsrc/testprovider/sis/MnTestProvider.pkg
locsrv_plat/map_image_api/tsrc/testprovider/src/testprovider.cpp
locsrv_plat/map_image_api/tsrc/testprovider/src/testproviderapplication.cpp
locsrv_plat/map_image_api/tsrc/testprovider/src/testproviderappserver.cpp
locsrv_plat/map_image_api/tsrc/testprovider/src/testproviderappui.cpp
locsrv_plat/map_image_api/tsrc/testprovider/src/testproviderappview.cpp
locsrv_plat/map_image_api/tsrc/testprovider/src/testprovidercoordconverter.cpp
locsrv_plat/map_image_api/tsrc/testprovider/src/testproviderdocument.cpp
locsrv_plat/map_image_api/tsrc/testprovider/src/testproviderdump.cpp
locsrv_plat/map_image_api/tsrc/testprovider/src/testprovidergeocodingservice.cpp
locsrv_plat/map_image_api/tsrc/testprovider/src/testprovidermapimageservice.cpp
locsrv_plat/map_image_api/tsrc/testprovider/src/testprovidermapview.cpp
locsrv_plat/map_image_api/tsrc/testprovider/src/testprovidermapviewservice.cpp
locsrv_plat/map_image_api/tsrc/testprovider/src/testprovidernavigationservice.cpp
locsrv_plat/map_image_api/tsrc/testprovider/src/testprovidernaviview.cpp
locsrv_plat/map_image_api/tsrc/testprovider/src/testproviderplugin.cpp
locsrv_plat/map_image_conversion_plugin_api/group/bld.inf
locsrv_plat/map_image_conversion_plugin_api/inc/mncoordinateconverterbase.h
locsrv_plat/map_image_conversion_plugin_api/inc/mnpluginuids.hrh
locsrv_plat/map_image_conversion_plugin_api/map_image_conversion_plugin_api.metaxml
locsrv_plat/map_image_conversion_plugin_api/tsrc/bmarm/testmapimgconpluginapiu.def
locsrv_plat/map_image_conversion_plugin_api/tsrc/bwins/testmapimgconpluginapiu.def
locsrv_plat/map_image_conversion_plugin_api/tsrc/conf/testmapimgconpluginapi.cfg
locsrv_plat/map_image_conversion_plugin_api/tsrc/data/armv5/urel/MnRefProvider.mbm
locsrv_plat/map_image_conversion_plugin_api/tsrc/data/armv5/urel/MnRefProvider.mif
locsrv_plat/map_image_conversion_plugin_api/tsrc/data/armv5/urel/MnRefProvider.rsc
locsrv_plat/map_image_conversion_plugin_api/tsrc/data/armv5/urel/MnRefProviderPlugin.dll
locsrv_plat/map_image_conversion_plugin_api/tsrc/data/armv5/urel/MnRefProviderPlugin.dll.map
locsrv_plat/map_image_conversion_plugin_api/tsrc/data/armv5/urel/MnRefProvider_reg.rsc
locsrv_plat/map_image_conversion_plugin_api/tsrc/data/armv5/urel/mnrefprovider.exe
locsrv_plat/map_image_conversion_plugin_api/tsrc/data/armv5/urel/mnrefprovider.exe.map
locsrv_plat/map_image_conversion_plugin_api/tsrc/data/armv5/urel/mnrefproviderback.exe
locsrv_plat/map_image_conversion_plugin_api/tsrc/data/armv5/urel/mnrefproviderback.exe.map
locsrv_plat/map_image_conversion_plugin_api/tsrc/data/armv5/urel/mnrefproviderback.rsc
locsrv_plat/map_image_conversion_plugin_api/tsrc/data/armv5/urel/mnrefproviderback_reg.rsc
locsrv_plat/map_image_conversion_plugin_api/tsrc/data/armv5/urel/mnrefproviderengine.dll
locsrv_plat/map_image_conversion_plugin_api/tsrc/data/armv5/urel/mnrefproviderengine.dll.map
locsrv_plat/map_image_conversion_plugin_api/tsrc/data/armv5/urel/mnrefproviderengine.rsc
locsrv_plat/map_image_conversion_plugin_api/tsrc/data/winscw/udeb/MnRefProviderPlugin.dll
locsrv_plat/map_image_conversion_plugin_api/tsrc/data/winscw/udeb/mnrefprovider.exe
locsrv_plat/map_image_conversion_plugin_api/tsrc/data/winscw/udeb/mnrefproviderback.exe
locsrv_plat/map_image_conversion_plugin_api/tsrc/data/winscw/udeb/mnrefproviderengine.dll
locsrv_plat/map_image_conversion_plugin_api/tsrc/eabi/testmapimgconpluginapiu.def
locsrv_plat/map_image_conversion_plugin_api/tsrc/group/bld.inf
locsrv_plat/map_image_conversion_plugin_api/tsrc/group/map_image_conversion_plugin_api_test.pkg
locsrv_plat/map_image_conversion_plugin_api/tsrc/group/testmapimgconpluginapi.mmp
locsrv_plat/map_image_conversion_plugin_api/tsrc/inc/testmapimgconpluginapi.h
locsrv_plat/map_image_conversion_plugin_api/tsrc/inc/testprovidercoordconverter.h
locsrv_plat/map_image_conversion_plugin_api/tsrc/init/testframework.ini
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/BWINS/mnrefproviderengine.50u.def
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/BWINS/mnrefproviderengineu.def
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/data/default_lm.bmp
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/data/default_lm_mask_soft.bmp
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/data/mnrefprovider.rss
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/data/mnrefprovider_reg.rss
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/data/mnrefproviderback.rss
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/data/mnrefproviderback_reg.rss
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/data/mnrefproviderengine.rss
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/data/mnrefproviderplugin.rss
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/eabi/mnrefproviderengine.50u.def
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/eabi/mnrefproviderengineu.def
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/group/bld.inf
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/group/mnconvpluginrefengine.mmp
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/group/mnconvpluginrefprovider.mmp
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/group/mnconvpluginrefproviderback.mmp
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/group/mnconvpluginrefproviderplugin.mmp
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/debug.h
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrp.hrh
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpappcontrol.h
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpapplication.h
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpapplicationback.h
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpappserver.h
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpappserverback.h
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpappui.h
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpappuiback.h
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpappview.h
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpcoordconverter.h
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpdocument.h
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpdocumentback.h
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpengine.h
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpgeocodingservice.h
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpmapcontrol.h
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpmapimageservice.h
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpmapmodel.h
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpmapview.h
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpmapviewservice.h
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpnavicontrol.h
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpnavigationservice.h
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpnavimodel.h
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpnaviview.h
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrppositionrequest.h
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrputils.h
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/sis/mnrefprovider_armv5.pkg
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/sis/mnrefprovider_armv5.sis
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/sis/mnrefprovider_bitmap_armv5.pkg
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/sis/mnrefprovider_bitmap_armv5.sis
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/sis/mnrefprovider_bitmap_armv5.sisx
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/sis/rd-key.pem
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/sis/rd.cer
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrefprovider.cpp
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrefproviderback.cpp
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrefproviderplugin.cpp
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpappcontrol.cpp
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpapplication.cpp
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpapplicationback.cpp
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpappserver.cpp
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpappserverback.cpp
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpappui.cpp
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpappuiback.cpp
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpappview.cpp
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpcoordconverter.cpp
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpdocument.cpp
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpdocumentback.cpp
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpengine.cpp
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpgeocodingservice.cpp
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpmapcontrol.cpp
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpmapimageservice.cpp
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpmapmodel.cpp
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpmapview.cpp
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpmapviewservice.cpp
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpnavicontrol.cpp
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpnavigationservice.cpp
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpnavimodel.cpp
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpnaviview.cpp
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrppositionrequest.cpp
locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrputils.cpp
locsrv_plat/map_image_conversion_plugin_api/tsrc/src/testmapimgconpluginapi.cpp
locsrv_plat/map_image_conversion_plugin_api/tsrc/src/testmapimgconpluginapiBlocks.cpp
locsrv_plat/map_image_conversion_plugin_api/tsrc/src/testprovidercoordconverter.cpp
locsrv_plat/oma_supl_asn_codec_plugin_api/inc/epos_comasuplinitver2.h
locsrv_plat/privacy_notifiers_secondary_display_api/group/bld.inf
locsrv_plat/privacy_notifiers_secondary_display_api/inc/locverifiercoverui.h
locsrv_plat/privacy_notifiers_secondary_display_api/privacy_notifiers_secondary_display_api.metaxml
locsrv_plat/psy_configuration_ui_plugin_api/group/bld.inf
locsrv_plat/psy_configuration_ui_plugin_api/inc/LocPsyConfigUi.rh
locsrv_plat/psy_configuration_ui_plugin_api/inc/LocPsyConfigUiUID.hrh
locsrv_plat/psy_configuration_ui_plugin_api/psy_configuration_ui_plugin_api.metaxml
locsrv_plat/query_and_notification_api/inc/EPos_CPosPrivacyNotifier.h
locsrv_plat/supl_query_secondary_display_api/group/bld.inf
locsrv_plat/supl_query_secondary_display_api/inc/epos_omasuplquerycoverui.h
locsrv_plat/supl_query_secondary_display_api/supl_query_secondary_display_api.metaxml
locsrv_plat/supl_settings_api/inc/epos_csuplsettingparams.h
locsrv_plat/supl_settings_api/inc/epos_csuplsettings.h
locsrv_plat/supl_settings_api/inc/epos_msuplsettingsobserver.h
locsrv_plat/supl_settings_api/tsrc/conf/settingsapi_test.cfg
locsrv_plat/supl_settings_api/tsrc/eabi/settingsapiu.def
locsrv_plat/supl_settings_api/tsrc/group/bld.inf
locsrv_plat/supl_settings_api/tsrc/group/log.txt
locsrv_plat/supl_settings_api/tsrc/group/settingsapi.pkg
locsrv_plat/supl_settings_api/tsrc/inc/settingsapi.h
locsrv_plat/supl_settings_api/tsrc/src/settingsapi.cpp
locsrv_plat/supl_settings_api/tsrc/src/settingsapiblocks.cpp
locsrv_plat/supl_settings_notifier_secondary_display_api/group/bld.inf
locsrv_plat/supl_settings_notifier_secondary_display_api/inc/locsuplsettingscoverui.h
locsrv_plat/supl_settings_notifier_secondary_display_api/supl_settings_notifier_secondary_display_api.metaxml
locsrv_plat/supl_terminal_initiation_api/inc/epos_suplterminal.h
locsrv_pub/landmarks_api/tsrc/group/testlandmarksapi.mmp
package_definition.xml
package_map.xml
supl/locationomasuplprotocolhandler/asnconverterpluginapi/eabi/epos_comasuplasnpluginu.def
supl/locationomasuplprotocolhandler/asnconverterpluginapi/src/epos_comasuplinit.cpp
supl/locationomasuplprotocolhandler/asnconverterpluginapi/src/epos_comasuplinitver2.cpp
supl/locationomasuplprotocolhandler/asnconverterpluginapi/src/epos_comasupllocationidver2.cpp
supl/locationomasuplprotocolhandler/asnconverterpluginapi/src/epos_comasuplreport.cpp
supl/locationomasuplprotocolhandler/asnconverterpluginapi/src/epos_comasuplsessionid.cpp
supl/locationomasuplprotocolhandler/asnconverterpluginapi/src/epos_comasuplstartver2.cpp
supl/locationomasuplprotocolhandler/conf/suplsettings_productconfig.confml
supl/locationomasuplprotocolhandler/group/bld.inf
supl/locationomasuplprotocolhandler/posmsgpluginapi/src/epos_comasuplreqasstdata.cpp
supl/locationomasuplprotocolhandler/protocolhandler/bwins/eposomasuplprotocolhandleru.def
supl/locationomasuplprotocolhandler/protocolhandler/eabi/eposomasuplprotocolhandleru.def
supl/locationomasuplprotocolhandler/protocolhandler/group/omasuplprotocolhandler.mmp
supl/locationomasuplprotocolhandler/protocolhandler/inc/epos_comasuplcommonconfig.h
supl/locationomasuplprotocolhandler/protocolhandler/inc/epos_comasuplsettings.h
supl/locationomasuplprotocolhandler/protocolhandler/src/epos_comasuplinitilizerequestor.cpp
supl/locationomasuplprotocolhandler/protocolhandler/src/epos_comasuplsettings.cpp
supl/locationomasuplprotocolhandler/protocolhandlerver1/eabi/eposomasuplprotocolhandler1u.def
supl/locationomasuplprotocolhandler/protocolhandlerver1/group/omasuplprotocolhandler1.mmp
supl/locationomasuplprotocolhandler/protocolhandlerver1/inc/epos_comasuplconnrequestor.h
supl/locationomasuplprotocolhandler/protocolhandlerver1/inc/epos_comasuplprotocolmanager1.h
supl/locationomasuplprotocolhandler/protocolhandlerver1/inc/epos_comasuplsession.h
supl/locationomasuplprotocolhandler/protocolhandlerver1/inc/epos_comasuplsettingslauncher.h
supl/locationomasuplprotocolhandler/protocolhandlerver1/inc/epos_comasuplstartstate.h
supl/locationomasuplprotocolhandler/protocolhandlerver1/inc/epos_comasuplstate.h
supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplconnrequestor.cpp
supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasupletel.cpp
supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasupletelnotifier.cpp
supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplfallbackhandler.cpp
supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplinitstate.cpp
supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplposinitstate.cpp
supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplposrequestor.cpp
supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplprotocolmanager1.cpp
supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplsession.cpp
supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplstartstate.cpp
supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplstate.cpp
supl/locationomasuplprotocolhandler/protocolhandlerver2/eabi/eposomasuplprotocolhandler2u.def
supl/locationomasuplprotocolhandler/protocolhandlerver2/group/omasuplprotocolhandler2.mmp
supl/locationomasuplprotocolhandler/protocolhandlerver2/inc/epos_comasuplconnrequestor.h
supl/locationomasuplprotocolhandler/protocolhandlerver2/inc/epos_comasuplfallbackhandler.h
supl/locationomasuplprotocolhandler/protocolhandlerver2/inc/epos_comasuplprotocolmanager2.h
supl/locationomasuplprotocolhandler/protocolhandlerver2/inc/epos_comasuplsession2.h
supl/locationomasuplprotocolhandler/protocolhandlerver2/inc/epos_comasuplsettings.h
supl/locationomasuplprotocolhandler/protocolhandlerver2/inc/epos_comasuplsettingslauncher.h
supl/locationomasuplprotocolhandler/protocolhandlerver2/inc/epos_comasuplstate.h
supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplconnrequestor.cpp
supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasupletel.cpp
supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasupletelnotifier.cpp
supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplfallbackhandler.cpp
supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplinitstate.cpp
supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplposinitstate.cpp
supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplposrequestor.cpp
supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplprotocolmanager2.cpp
supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplsession2.cpp
supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplsettings.cpp
supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplstartstate.cpp
supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplstate.cpp
supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasupltriggerstartstate.cpp
supl/locationomasuplprotocolhandler/provisioninghandler/group/epos_omasuplprovhandler.mmp
supl/locationomasuplprotocolhandler/provisioninghandler/src/epos_comasuplsettings.cpp
supl/locationomasuplprotocolhandler/provisioninghandler/src/epos_comasuplsettingsrepository.cpp
supl/locationomasuplprotocolhandler/rom/omasuplprotocolhandler.iby
supl/locationomasuplprotocolhandler/rom/omasuplprotocolhandler_resource.iby
supl/locationomasuplprotocolhandler/supllistener/src/epos_comasuplimsiobserver.cpp
supl/locationomasuplprotocolhandler/supllistener/src/epos_comasuplproductconfig.cpp
supl/locationomasuplprotocolhandler/syncmlprovhandler/inc/epos_tomasuplsettingsmap.h
supl/locationomasuplprotocolhandler/syncmlprovhandler/src/epos_comasupldmrepository.cpp
supl/locationomasuplprotocolhandler/syncmlprovhandler/src/epos_tomasuplsettingsmap.cpp
supl/locationomasuplprotocolhandler/waplistener/src/epos_comasuplwaplistener.cpp
supl/locationsuplfw/conf/suplsettings.confml
supl/locationsuplfw/conf/suplsettings_102073D6.crml
supl/locationsuplfw/gateway/inc/epos_csuplipcsubsession.h
supl/locationsuplfw/gateway/inc/epos_csuplnetinitiatedsession.h
supl/locationsuplfw/gateway/inc/epos_csuplsessionmanager.h
supl/locationsuplfw/gateway/inc/epos_csuplsessionrequest.h
supl/locationsuplfw/gateway/src/epos_csuplipcsubsession.cpp
supl/locationsuplfw/gateway/src/epos_csuplnetinitiatedsession.cpp
supl/locationsuplfw/gateway/src/epos_csuplserver.cpp
supl/locationsuplfw/gateway/src/epos_csuplsessionmanager.cpp
supl/locationsuplfw/gateway/src/epos_csuplsessionrequest.cpp
supl/locationsuplfw/gateway/src/epos_csuplsessionretryq.cpp
supl/locationsuplfw/protocolhandlerapi/group/bld.inf
supl/locationsuplfw/protocolhandlerapi/group/epos_suplprotocolhandlerplugin.mmp
supl/locationsuplfw/protocolhandlerapi/inc/epos_csuplconnection.h
supl/locationsuplfw/protocolhandlerapi/inc/epos_csuplprotocolmanagerbase.h
supl/locationsuplfw/protocolhandlerapi/src/epos_csuplcommunicationmanager.cpp
supl/locationsuplfw/protocolhandlerapi/src/epos_csuplconnection.cpp
supl/locationsuplfw/protocolhandlerapi/src/epos_csuplsocketreader.cpp
supl/locationsuplfw/protocolhandlerapi/src/epos_suplkey.cpp
supl/locationsuplfw/settingsapi/bwins/epos_suplsettingsu.def
supl/locationsuplfw/settingsapi/eabi/epos_suplsettingsu.def
supl/locationsuplfw/settingsapi/inc/epos_csuplsettingsengine.h
supl/locationsuplfw/settingsapi/inc/epos_csuplsettingsinternalcrkeys.h
supl/locationsuplfw/settingsapi/inc/epos_csuplsettingsnotifier.h
supl/locationsuplfw/settingsapi/src/epos_csettingsdatabasehandler.cpp
supl/locationsuplfw/settingsapi/src/epos_csuplsettingparams.cpp
supl/locationsuplfw/settingsapi/src/epos_csuplsettings.cpp
supl/locationsuplfw/settingsapi/src/epos_csuplsettingsengine.cpp
supl/locationsuplfw/settingsapi/src/epos_csuplsettingsnotifier.cpp
supl/locationsuplfw/terminalinitiationapi/bwins/epos_suplterminitiationu.def
supl/locationsuplfw/terminalinitiationapi/eabi/epos_suplterminitiationu.def
supl/locationsuplfw/terminalinitiationapi/inc/epos_suplterminalipc.h
supl/locationsuplfw/terminalinitiationapi/src/epos_suplterminalapi.cpp
supl/locationsuplfw/utilities/src/epos_csupltrace.cpp
supl/supltiapiimplementation/src/lbssupltirequestmanager.cpp
sysdef_1_5_1.dtd
--- a/genericpositioningplugins/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ b/genericpositioningplugins/group/bld.inf	Tue Aug 31 15:37:04 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). 
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -15,17 +15,12 @@
 *
 */
 
+PRJ_PLATFORMS
+WINSCW ARMV5 GCCE
 
-#include <platform_paths.hrh>
-PRJ_PLATFORMS
-DEFAULT GCCE
+#include "../rom/bld.inf"
 
 #include "../locationnpppsy/group/bld.inf"
 #include "../locationsuplpsy/group/bld.inf"
 
-PRJ_EXPORTS
-../cenrep/10282266_s60.cre                      z:/private/10202be9/10282266_s60.cre 
-../cenrep/1028224B_s60.cre                      z:/private/10202be9/1028224B_s60.cre
-../rom/prifw_cenrep.iby                     CORE_MW_LAYER_IBY_EXPORT_PATH(prifw_cenrep.iby)
-
 // End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/genericpositioningplugins/rom/bld.inf	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,27 @@
+/*
+* 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:  The common build file.
+*
+*/
+
+
+#include <platform_paths.hrh>
+PRJ_PLATFORMS
+DEFAULT GCCE
+
+PRJ_EXPORTS
+../cenrep/1028224B_s60.cre                      z:/private/10202be9/1028224B_s60.cre
+prifw_cenrep.iby                     CORE_MW_LAYER_IBY_EXPORT_PATH(prifw_cenrep.iby)
+
+// End of File
--- a/genericpositioningplugins/rom/prifw_cenrep.iby	Thu Aug 19 10:20:18 2010 +0300
+++ b/genericpositioningplugins/rom/prifw_cenrep.iby	Tue Aug 31 15:37:04 2010 +0300
@@ -25,6 +25,5 @@
 //data-override=EPOCROOT##epoc32\data\z\private\10202BE9\10282266_s60.cre	 private\10202BE9\10282266.cre
 
 data=EPOCROOT##epoc32\data\z\private\10202BE9\1028224B_s60.cre	 private\10202BE9\1028224B.cre
-data=EPOCROOT##epoc32\data\z\private\10202BE9\10282266_s60.cre	 private\10202BE9\10282266.cre
 
 #endif // __PRIFW_CENREP_IBY__
--- a/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ b/group/bld.inf	Tue Aug 31 15:37:04 2010 +0300
@@ -21,7 +21,6 @@
 
 #include "../genericpositioningplugins/group/bld.inf"
 #include "../landmarks/group/bld.inf"
-#include "../locationmapnavfw/group/bld.inf"
 #include "../locationsystemui/group/bld.inf"
 #include "../supl/group/bld.inf"
 #include "../locationtriggering/group/bld.inf"
--- a/landmarks/locationlandmarks/clientlib/src/epos_poslandmarkserialization.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/landmarks/locationlandmarks/clientlib/src/epos_poslandmarkserialization.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -62,7 +62,7 @@
     //coverity[check_return :FALSE]
     //coverity[unchecked_value :FALSE]
     aLandmark.GetLandmarkName( name );
-    //coverity[check_return :FALSE]
+        //coverity[check_return :FALSE]
     //coverity[unchecked_value :FALSE]
     aLandmark.GetLandmarkDescription( desc );
     header.iIsIconSet = ( KErrNone == 
--- a/landmarks/locationlandmarks/converter/src/EPos_CPosLmKmlParser.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/landmarks/locationlandmarks/converter/src/EPos_CPosLmKmlParser.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -214,7 +214,7 @@
         {
         
         case EPosXmlLmCollName: // Folder/Document names will be taken as category
-        	iCategoryArray.Append(aContent.Left( KPosLmMaxCategoryNameLength ).AllocL());
+        	iCategoryArray.AppendL(aContent.Left( KPosLmMaxCategoryNameLength ).AllocL());
         	iCategoryAdded[iFolderCount-1] = ETrue;
             break;
         
@@ -599,7 +599,7 @@
 	    if(startTag == EPosXmlFolder || startTag == EPosXmlDocument)
 	    {
 	    	iFolderCount++;
-	    	iCategoryAdded.Append(EFalse);
+	    	iCategoryAdded.AppendL(EFalse);
 	    }
     
     }
--- a/landmarks/locationlandmarks/converter/src/EPos_CPosLmXmlEncoder.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/landmarks/locationlandmarks/converter/src/EPos_CPosLmXmlEncoder.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -142,7 +142,7 @@
         iEncoderStatus == EPosLmInfoAdded,
         Panic(KPosLandmarksClientPanic, EPosLmProtocolBreak));
 
-    iCategories.Append( CPosLandmarkCategory::NewL( aCategory ) );
+    iCategories.AppendL( CPosLandmarkCategory::NewL( aCategory ) );
     }
 
 // -----------------------------------------------------------------------------
--- a/landmarks/locationlandmarks/internalservices/src/EPos_PosLmLandmarkHandler.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/landmarks/locationlandmarks/internalservices/src/EPos_PosLmLandmarkHandler.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -216,7 +216,7 @@
     while ( view.NextL() )
         {
         view.GetL();
-        aLandmarkIds.Append( view.ColUint32(1) );
+        aLandmarkIds.AppendL( view.ColUint32(1) );
         }
 
     CleanupStack::PopAndDestroy(2, sql); //&view
--- a/landmarks/locationlandmarks/localaccess/src/EPos_CPosLmLocalGetSortedIdsOp.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/landmarks/locationlandmarks/localaccess/src/EPos_CPosLmLocalGetSortedIdsOp.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -143,14 +143,14 @@
         {
         for ( TInt i = 0; i < iIdArray->Count(); i++ )
             {
-            aIdArray.Append( (*iIdArray)[i] );
+            aIdArray.AppendL( (*iIdArray)[i] );
             }
         }
     else
         {
         for ( TInt i = iIdArray->Count() - 1; i >= 0; i-- )
             {
-            aIdArray.Append( (*iIdArray)[i] );
+            aIdArray.AppendL( (*iIdArray)[i] );
             }
         }
     }
--- a/landmarks/locationlandmarks/localaccess/src/EPos_CPosLmLocalIterator.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/landmarks/locationlandmarks/localaccess/src/EPos_CPosLmLocalIterator.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -86,7 +86,7 @@
     aIdArray.ReserveL( aNumOfItems ); // to avoid heap fragmentation
     for (TInt i = aStartIndex; i < aStartIndex + aNumOfItems; i++)
         {
-        aIdArray.Append( iIdArray[i] );
+        aIdArray.AppendL( iIdArray[i] );
         }
     }
 
--- a/landmarks/locationlandmarks/localaccess/src/EPos_CPosLmLocalRemoveLandmarksOp.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/landmarks/locationlandmarks/localaccess/src/EPos_CPosLmLocalRemoveLandmarksOp.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -61,7 +61,7 @@
     iLandmarkIdArray.ReserveL( aLandmarkIdArray.Count() ); // to avoid heap fragmentation
     for ( TInt i = 0; i < aLandmarkIdArray.Count(); i++ )
         {
-        iLandmarkIdArray.Append( aLandmarkIdArray[i] );
+        iLandmarkIdArray.AppendL( aLandmarkIdArray[i] );
         }
     }
 
--- a/landmarks/locationlandmarks/localsearchprov/src/EPos_CPosLmLocalCompositeSearch.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/landmarks/locationlandmarks/localsearchprov/src/EPos_CPosLmLocalCompositeSearch.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -385,7 +385,7 @@
         iIdList.ReserveL( PreviousMatches().Count() );
         for ( int i = 0; i < PreviousMatches().Count(); ++i )
             {
-            iIdList.Append( PreviousMatches()[i] );
+            iIdList.AppendL( PreviousMatches()[i] );
             }
         PrepareNextHandlerL( iIdList );
         }
@@ -485,7 +485,7 @@
 	{
 		if(aCriteria.Argument(i).CriteriaType() == CPosLmSearchCriteria::ECriteriaText)
 		{
-			aSearchTextCriteriaArray.Append(&(aCriteria.Argument(i)));
+			aSearchTextCriteriaArray.AppendL(&(aCriteria.Argument(i)));
 		
 		}
 			
--- a/landmarks/locationlandmarks/localsearchprov/src/EPos_CPosLmLocalSearchHandler.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/landmarks/locationlandmarks/localsearchprov/src/EPos_CPosLmLocalSearchHandler.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -145,7 +145,7 @@
     iPreviousMatches.ReserveL( aPreviousMatches.Count() );
     for ( TInt i = 0; i < aPreviousMatches.Count(); i++ )
         {
-        iPreviousMatches.Append( aPreviousMatches[i] );
+        iPreviousMatches.AppendL( aPreviousMatches[i] );
         }
     // this allows faster comparisons during search
     // in MatchesPreviousMatches() method
@@ -196,7 +196,7 @@
     aMatches.ReserveL( iCurrentMatches.Count() );
     for ( TInt i = 0; i < iCurrentMatches.Count(); i++ )
         {
-        aMatches.Append( iCurrentMatches[i] );
+        aMatches.AppendL( iCurrentMatches[i] );
         }
     }
 
--- a/landmarks/locationlandmarks/localsearchprov/src/EPos_CPosLmLocalTextSearch.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/landmarks/locationlandmarks/localsearchprov/src/EPos_CPosLmLocalTextSearch.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -72,7 +72,7 @@
 
     iAttributes = criteria.AttributesToSearch();
     criteria.GetPositionFieldsToSearchL( iFields );
-    iTextPattern.Append(criteria.Text().AllocL());
+    iTextPattern.AppendL(criteria.Text().AllocL());
 
     // Check if the text should be searched in attributes or in position fields
     // or in both.
@@ -797,7 +797,7 @@
 	    	}
 	    }
 	    if(!aFound)
-	    	iTextPattern.Append(criteria.Text().AllocL());
+	    	iTextPattern.AppendL(criteria.Text().AllocL());
 	}
 	
 	
--- a/landmarks/locationlandmarks/server/src/EPos_CPosLmLocalAccessSubsession.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/landmarks/locationlandmarks/server/src/EPos_CPosLmLocalAccessSubsession.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -751,9 +751,9 @@
         
         TPtr name( lmBuf->Des() );
         readStream.ReadL( name, nameLen );
-
+        
         CleanupStack::Pop( lmBuf );//ownership of lmBuf is transferred in the call to UpdateL/InsertL
-        if ( aMessage.Int0() == EPosLmServerUpdateLandmarks ) 
+		if ( aMessage.Int0() == EPosLmServerUpdateLandmarks ) 
             {
 //coverity[freed_arg : FALSE]
             index.UpdateL( id, lmBuf );
--- a/landmarks/locationlandmarks/server/src/EPos_CPosLmNameIndex.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/landmarks/locationlandmarks/server/src/EPos_CPosLmNameIndex.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -329,10 +329,10 @@
                 // the original item has been changed
                 item->SetInvalid();
                 }
-            
-			CleanupStack::Pop( name );//ownership of name is transferred in the call to DoInsertL
 			
-			// add new item for this ID
+			CleanupStack::Pop( name );//ownership of name is transferred in the call to DoInsertL	
+				
+            // add new item for this ID
             // here comparison must be done using collation
             CIndexItem* newItem = DoInsertL( id, name ); // takes onwership of name
             newItem->SetValid();
@@ -442,7 +442,7 @@
 void CPosLmNameIndex::InsertL( TPosLmItemId aLmid, const TDesC& aName )
     {
     HBufC* name = aName.AllocLC();
-    CleanupStack::Pop( name );//ownership of name is transferred in the call to UpdateL/InsertL
+    CleanupStack::Pop( name );
     InsertL( aLmid, name );
     }
 
@@ -461,15 +461,14 @@
 //
 CPosLmNameIndex::CIndexItem* CPosLmNameIndex::DoInsertL( TPosLmItemId aLmid, HBufC* aName )
     {
-    CleanupStack::PushL( aName );//ownership of aName is transferred to this class
-	if ( Find( aLmid ) >= 0 ) // finds valid item
+	CleanupStack::PushL( aName );//ownership of aName is transferred to this class
+    if ( Find( aLmid ) >= 0 ) // finds valid item
         {
         User::Leave( KErrAlreadyExists ); // duplicate ID found
         }
     
     CIndexItem* landmark = new (ELeave) CIndexItem( aLmid, aName ); // takes ownership of aName
-    
-	CleanupStack::Pop( aName );
+    CleanupStack::Pop( aName );
 	CleanupStack::PushL( landmark );
     
     TLmIndexNameKey key;
@@ -496,8 +495,8 @@
 	CleanupStack::PushL( aName );
     CIndexItem* landmark = new (ELeave) CIndexItem( aLmid, aName );
     CleanupStack::Pop( aName );
-	
-	CleanupStack::PushL( landmark );
+
+    CleanupStack::PushL( landmark );
     AppendL( landmark );
     CleanupStack::Pop( landmark );
     }
@@ -551,7 +550,7 @@
 void CPosLmNameIndex::UpdateL( TPosLmItemId aId, const TDesC& aName )
     {
     HBufC* name = aName.AllocLC();
-    CleanupStack::Pop( name );//ownership of name is transferred in the call to UpdateL
+	CleanupStack::Pop( name );//ownership of name is transferred in the call to UpdateL
 //coverity[freed_arg : FALSE]
     UpdateL( aId, name );
 //coverity[pass_freed_arg : FALSE]
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/Bmarm/LandMarksTestModuleu.def	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,3 @@
+EXPORTS
+	LibEntryL__FR13CTestModuleIf @ 1 NONAME R3UNUSED ; LibEntryL(CTestModuleIf &)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/Bwins/LandMarksTestModuleu.def	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,3 @@
+EXPORTS
+	?LibEntryL@@YAPAVCScriptBase@@AAVCTestModuleIf@@@Z @ 1 NONAME ; class CScriptBase * __cdecl LibEntryL(class CTestModuleIf &)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/Script/lmtm.bat	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,23 @@
+rem
+rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+rem All rights reserved.
+rem This component and the accompanying materials are made available
+rem under the terms of "Eclipse Public License v1.0"
+rem which accompanies this distribution, and is available
+rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
+rem
+rem Initial Contributors:
+rem Nokia Corporation - initial contribution.
+rem
+rem Contributors:
+rem
+rem Description:
+rem
+
+md e:\results
+
+md e:\results\LandMarksTestModule
+
+ATSINTERFACE.EXE -testmodule testscripter -config c:\testframework\LandMarksTestModule1.cfg
+
+copy c:\Logs\TestFramework\TestReport.txt e:\results\LandMarksTestModule\TestReport_LandMarksTestModule1.txt
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/ServerClientLib/BWINS/FT_lmservlibu.def	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,13 @@
+EXPORTS
+	??0RPosLandmarkServer@@QAE@XZ @ 1 NONAME ; RPosLandmarkServer::RPosLandmarkServer(void)
+	?Close@RPosLandmarkServer@@QAEXXZ @ 2 NONAME ; void RPosLandmarkServer::Close(void)
+	?Connect@RPosLandmarkServer@@QAEHXZ @ 3 NONAME ; int RPosLandmarkServer::Connect(void)
+	?GetDatabaseInfo@RPosLandmarkServer@@QAEHAAVHPosLmDatabaseInfo@@@Z @ 4 NONAME ; int RPosLandmarkServer::GetDatabaseInfo(class HPosLmDatabaseInfo &)
+	?ListDatabasesL@RPosLandmarkServer@@QAEXAAV?$RPointerArray@VHPosLmDatabaseInfo@@@@ABVTDesC16@@@Z @ 5 NONAME ; void RPosLandmarkServer::ListDatabasesL(class RPointerArray<class HPosLmDatabaseInfo> &, class TDesC16 const &)
+	?ListDatabasesLC@RPosLandmarkServer@@QAEPAVCDesC16Array@@ABVTDesC16@@@Z @ 6 NONAME ; class CDesC16Array * RPosLandmarkServer::ListDatabasesLC(class TDesC16 const &)
+	?ModifyDatabaseSettings@RPosLandmarkServer@@QAEHABVTDesC16@@ABVTPosLmDatabaseSettings@@VTChar@@@Z @ 7 NONAME ; int RPosLandmarkServer::ModifyDatabaseSettings(class TDesC16 const &, class TPosLmDatabaseSettings const &, class TChar)
+	?RegisterDatabase@RPosLandmarkServer@@QAEHAAVHPosLmDatabaseInfo@@@Z @ 8 NONAME ; int RPosLandmarkServer::RegisterDatabase(class HPosLmDatabaseInfo &)
+	?ReportEvent@RPosLandmarkServer@@QAEHABUTPosLmDatabaseEvent@@ABVTDesC16@@@Z @ 9 NONAME ; int RPosLandmarkServer::ReportEvent(struct TPosLmDatabaseEvent const &, class TDesC16 const &)
+	?UnregisterAllDatabases@RPosLandmarkServer@@QAEHABVTDesC16@@@Z @ 10 NONAME ; int RPosLandmarkServer::UnregisterAllDatabases(class TDesC16 const &)
+	?UnregisterDatabase@RPosLandmarkServer@@QAEHABVTDesC16@@VTChar@@@Z @ 11 NONAME ; int RPosLandmarkServer::UnregisterDatabase(class TDesC16 const &, class TChar)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/ServerClientLib/eabi/FT_lmservlibu.def	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,14 @@
+EXPORTS
+	_ZN18RPosLandmarkServer11ReportEventERK19TPosLmDatabaseEventRK7TDesC16 @ 1 NONAME
+	_ZN18RPosLandmarkServer14ListDatabasesLER13RPointerArrayI18HPosLmDatabaseInfoERK7TDesC16 @ 2 NONAME
+	_ZN18RPosLandmarkServer15GetDatabaseInfoER18HPosLmDatabaseInfo @ 3 NONAME
+	_ZN18RPosLandmarkServer15ListDatabasesLCERK7TDesC16 @ 4 NONAME
+	_ZN18RPosLandmarkServer16RegisterDatabaseER18HPosLmDatabaseInfo @ 5 NONAME
+	_ZN18RPosLandmarkServer18UnregisterDatabaseERK7TDesC165TChar @ 6 NONAME
+	_ZN18RPosLandmarkServer22ModifyDatabaseSettingsERK7TDesC16RK22TPosLmDatabaseSettings5TChar @ 7 NONAME
+	_ZN18RPosLandmarkServer22UnregisterAllDatabasesERK7TDesC16 @ 8 NONAME
+	_ZN18RPosLandmarkServer5CloseEv @ 9 NONAME
+	_ZN18RPosLandmarkServer7ConnectEv @ 10 NONAME
+	_ZN18RPosLandmarkServerC1Ev @ 11 NONAME
+	_ZN18RPosLandmarkServerC2Ev @ 12 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/ServerClientLib/group/ABLD.BAT	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,31 @@
+rem
+rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+rem All rights reserved.
+rem This component and the accompanying materials are made available
+rem under the terms of the License "Symbian Foundation License v1.0"
+rem which accompanies this distribution, and is available
+rem at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
+rem
+rem Initial Contributors:
+rem Nokia Corporation - initial contribution.
+rem
+rem Contributors:
+rem
+rem Description:
+rem
+
+@ECHO OFF
+
+REM Bldmake-generated batch file - ABLD.BAT
+REM ** DO NOT EDIT **
+
+perl -S ABLD.PL "\work\mrt\TestProvider\ServerClientLib\group\\" %1 %2 %3 %4 %5 %6 %7 %8 %9
+if errorlevel==1 goto CheckPerl
+goto End
+
+:CheckPerl
+perl -v >NUL
+if errorlevel==1 echo Is Perl, version 5.003_07 or later, installed?
+goto End
+
+:End
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/ServerClientLib/group/FT_LmServerClientLibrary.mmp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,49 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*     This is the project specification file for Landmarks Server
+*     Client Library.
+*
+*/
+
+#include <platform_paths.hrh>
+
+TARGET          FT_lmservlib.dll
+TARGETTYPE      dll
+//UID             0x1000008d 0x101fe97a
+UID             0x1000008d 0x03132019
+
+//VENDORID        VID_DEFAULT
+//CAPABILITY      CAP_CLIENT_DLL
+CAPABILITY      ALL -TCB
+
+SOURCEPATH      ../src
+SOURCE          FT_RPosLandmarkServer.cpp
+
+USERINCLUDE     ../inc
+
+MW_LAYER_SYSTEMINCLUDE
+
+SYSTEMINCLUDE   /Epoc32/Include 
+
+
+LIBRARY         euser.lib
+LIBRARY         bafl.lib
+LIBRARY         estor.lib
+LIBRARY         eposlmdbmanlib.lib
+
+
+SMPSAFE
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/ServerClientLib/group/bld.inf	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,27 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   Build info file for Landmarks Server Client Library
+*
+*/
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+
+PRJ_MMPFILES
+FT_LmServerClientLibrary.mmp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/ServerClientLib/inc/FT_PosLmServerCommon.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,113 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*
+*/
+
+
+#ifndef POSLMSERVERCOMMON_H
+#define POSLMSERVERCOMMON_H
+
+#include "FT_PosLmServerDefs.h"
+
+// CONSTANTS
+const TUint KPosLmServerEventArg =      0;
+const TUint KPosLmServerDbManEventArg  =0;
+const TUint KPosLmServerUriArg =        0;
+const TUint KPosLmServerUriLengthArg =  1;
+const TUint KPosLmServerDbReplaceArg =  1;
+const TUint KPosLmServerProtocolArg  =  0;
+const TUint KPosLmServerSourceUriArg =  0;
+const TUint KPosLmServerDbInfoArg    =  0;
+const TUint KPosLmServerTargetUriArg =  1;
+
+const TUint KPosLmServerDbManUriArg  =  1;
+const TUint KPosLmServerDriveArg     =  1;
+const TUint KPosLmServerBufferArg    =  1;
+const TUint KPosLmServerDbEventArg   =  1;
+
+const TUint KPosLmServerAllocLengthArg =2;
+const TUint KPosLmServerDbSettingsArg  =2;
+
+const TUint KPosLmServerStatusArg   =   0;
+const TUint KPosLmServerProgressArg =   1;
+const TUint KPosLmServerInitFlagArg =   2;
+
+const TUint KPosLmServerDbLockSetOnArg =    0;
+const TUint KPosLmServerDbLockSetWriteArg = 1;
+
+/**
+* Possible messages to be sent between client and server.
+*/
+enum TPosLmServerMessage
+    {
+    // NOTE!
+    // If you add a new message here, it must also be added
+    // to the policy handling in the CPosLmServer class.
+
+    EPosLmServerInitializeSync = 0,
+    EPosLmServerInitializeAsync,
+    EPosLmServerInitializeCancel,
+    EPosLmServerLangSwitchSync,
+    EPosLmServerLangSwitchAsync,
+    EPosLmServerLangSwitchCancel,
+    EPosLmServerRecoverSync,
+    EPosLmServerRecoverAsync,
+    EPosLmServerRecoverCancel,
+    EPosLmServerListenForLmEvent,
+    EPosLmServerCancelListenForLmEvent,
+    EPosLmServerListenForDbEvent,
+    EPosLmServerCancelListenForDbEvent,
+    EPosLmServerUriFromLastEvent,
+    EPosLmServerCreateDefaultDb,
+    EPosLmServerListDatabaseUris,
+    EPosLmServerRemainingDatabaseUris,
+    EPosLmServerListDatabaseInfo,
+    EPosLmServerRemainingDatabaseInfo,
+    EPosLmServerReadDatabaseSettings,
+    // The IPC messages above requires capability ReadUserData.
+
+    EPosLmServerRegisterSession,
+    EPosLmServerRegisterLocalAccessSubsession,
+    EPosLmServerRegisterEventListenerSubsession,
+    EPosLmServerRegisterLocalDbManSubsession,
+    EPosLmServerUnregisterSubsession,
+    // The IPC messages above requires NO capabilities.
+
+    EPosLmServerDbLock,
+    // The IPC message above requires a custom check.
+    //  Read lock requires:     ReadUserData
+    //  Write lock requires:    ReadUserData, WriteUserData
+
+    EPosLmServerCreateDatabase,
+    EPosLmServerDeleteDatabase,
+    EPosLmServerCopyDatabase,
+    EPosLmServerRegisterDatabase,
+    EPosLmServerUnregisterDatabase,
+    EPosLmServerUnregisterAllDatabases,
+    EPosLmServerModifyDatabaseSettings,
+    EPosLmServerReportLmEvent,
+    EPosLmServerReportDbEvent,
+    EPosLmServerFreeResources,
+    // The IPC messages above requires capability ReadUserData and WriteUserData
+
+    EPosLmServerLast
+    };
+
+
+#endif      // POSLMSERVERCOMMON_H
+
+// End of File
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/ServerClientLib/inc/FT_PosLmServerDefs.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*
+*/
+
+
+#ifndef POSLMSERVERDEFS_H
+#define POSLMSERVERDEFS_H
+
+// CONSTANTS
+_LIT(KPosLandmarksServerName, "!eposlmserver");
+
+const TUint KPosLmServerMajorVersionNumber = 1;
+const TUint KPosLmServerMinorVersionNumber = 0;
+const TUint KPosLmServerBuildVersionNumber = 0;
+
+#endif      // POSLMSERVERDEFS_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/ServerClientLib/inc/FT_RPosLandmarkServer.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,285 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*
+*/
+
+
+#ifndef RPOSLANDMARKSERVER_H
+#define RPOSLANDMARKSERVER_H
+
+//  INCLUDES
+#include <e32base.h>
+#include <badesca.h>
+#include <EPos_TPosLmDatabaseEvent.h>
+#include <EPos_TPosLmDatabaseSettings.h>
+#include <EPos_HPosLmDatabaseInfo.h>
+
+// FORWARD DECLARATIONS
+class CPosLandmarkServerExtension;
+
+// CLASS DECLARATION
+
+/**
+*  Client API for the landmark server.
+*
+*  @lib eposlmservlib.lib
+*  @since S60 3.0
+*  @version $Revision: 1.4 $, $Date: 2005/07/07 13:40:03 $
+*/
+class RPosLandmarkServer : public RSessionBase
+    {
+    public:  // Constructors and destructor
+
+        /**
+        * C++ default constructor.
+        */
+        IMPORT_C RPosLandmarkServer();
+
+    public: // New functions
+
+
+        /**
+        * Connect to the landmark server.
+        *
+        * The server is started if it is not already running.
+        *
+        * This function requires @p ReadUserData capability.
+        *
+        * @since S60 3.0
+        * @return @p KErrNone if successful, otherwise a system-wide error
+        *   code.
+        */
+        IMPORT_C TInt Connect();
+
+        /**
+        * Closes the session to the server
+        *
+        * @since S60 3.0
+        */
+        IMPORT_C void Close();
+
+        /**
+        * Lists all URIs in the server's database registry for a certain
+        * protocol.
+        *
+        * The client specifies a protocol string as input to this function.
+        * The function only returns a list of the databases which are
+        * accessed through this protocol.
+        *
+        * The client takes ownership of the returned array.
+        *
+        * This function requires @p ReadUserData capability.
+        *
+        * @since S60 3.0
+        * @param aProtocol The protocol for which database URIs should be
+        *   listed.
+        * @return The list of database URIs.
+        */
+        IMPORT_C CDesCArray* ListDatabasesLC(
+        /* IN  */       const TDesC& aProtocol
+        );
+
+        /**
+        * Lists information about each landmark database in the
+        * server's database registry.
+        *
+        * The client specifies a protocol string as input to this function.
+        * The function only returns information about the databases
+        * which are accessed through this protocol.
+        *
+        * The client specifies an array which is populated by this function.
+        * The client takes ownership of all information objects in the array.
+        *
+        * This function requires @p ReadUserData capability.
+        *
+        * @since S60 3.0
+        * @param aDatabaseInfoArray On return, contains information about
+        *   the landmark databases. Any objects which are in the array when
+        *   it is passed to this function will be not be removed.
+        * @param aProtocol The protocol for which database URIs should be
+        *   listed.
+        */
+        IMPORT_C void ListDatabasesL(
+        /* OUT */       RPointerArray<HPosLmDatabaseInfo>& aDatabaseInfoArray,
+        /* IN  */       const TDesC& aProtocol = KNullDesC
+        );
+
+        /**
+        * Registers a landmark database.
+        *
+        * The landmark database is then returned when listing landmark
+        * databases.
+        *
+        * The client supplies an information object containing the URI of the
+        * database to register. The information object can also contain
+        * database settings, e.g. a display name for the database.
+        *
+        * This function requires @p ReadUserData and @p WriteUserData
+        * capabilities.
+        *
+        * @since S60 3.0
+        * @param aDatabaseInfo Information about the landmark database to
+        *   register.
+        * @return @p KErrNone if successful.\n
+        *   @p KErrArgument if the URI is incorrect.\n
+        *   @p KErrAlreadyExists if the database has already been registered.
+        */
+        IMPORT_C TInt RegisterDatabase(
+        /* IN/OUT */       HPosLmDatabaseInfo& aDatabaseInfo
+        );
+
+        /**
+        * Unregisters a landmark database.
+        *
+        * After this, the landmark database will not be returned when listing
+        * landmark databases.
+        *
+        * If the database has not been registered, nothing happens.
+        *
+        * This function requires @p ReadUserData and @p WriteUserData
+        * capabilities.
+        *
+        * @since S60 3.0
+        * @param aDatabaseUri The URI of the database to unregister.
+        * @param aDriveLetter The drive where the database resides. If
+        *   drive is not applicable, 0 should be specified.
+        * @return @p KErrNone if successful.\n
+        *   @p KErrArgument if the URI is incorrect.
+        */
+        IMPORT_C TInt UnregisterDatabase(
+        /* IN  */       const TDesC& aDatabaseUri,
+        /* IN  */       TChar aDriveLetter = 0
+        );
+
+        /**
+        * Unregisters all landmark databases which are accessed through a
+        * certain protocol.
+        *
+        * After this, the landmark databases will not be returned when listing
+        * landmark databases.
+        *
+        * If the protocol is not known or if there are no databases for
+        * the protocol, nothing happens.
+        *
+        * This function requires @p ReadUserData and @p WriteUserData
+        * capabilities.
+        *
+        * @since S60 3.0
+        * @param aProtocol The protocol to unregister all databases for.
+        * @return @p KErrNone if successful, otherwise a system-wide error
+        *   code.
+        */
+        IMPORT_C TInt UnregisterAllDatabases(
+        /* IN  */       const TDesC& aProtocol
+        );
+
+        /**
+        * Modifies the settings for a landmark database.
+        *
+        * This function requires @p ReadUserData and @p WriteUserData
+        * capabilities.
+        *
+        * @since S60 3.0
+        * @param aDatabaseUri The URI of the database to modify settings for.
+        * @param aDatabaseSettings The new settings for the database.
+        * @param aDriveLetter The drive where the database resides. If
+        *   drive is not applicable, 0 should be specified.
+        * @return @p KErrNone if successful.\n
+        *   @p KErrArgument if the URI is incorrect.\n
+        *   @p KErrNotFound if the URI does not exist in the registry.
+        */
+        IMPORT_C TInt ModifyDatabaseSettings(
+        /* IN  */       const TDesC& aDatabaseUri,
+        /* IN  */       const TPosLmDatabaseSettings& aDatabaseSettings,
+        /* IN  */       TChar aDriveLetter = 0
+        );
+
+        /**
+        * Retrieve information about a landmark database.
+        *
+        * This function requires @p ReadUserData capability.
+        *
+        * @since S60 3.0
+        * @param aDatabaseInfo An information object containing the URI of the
+        *   landmark database. On return, the object contains information about
+        *   the landmark database, including any database settings.
+        * @return @p KErrNone if successful.\n
+        *   @p KErrArgument if the URI is incorrect.\n
+        *   @p KErrNotFound if the URI does not exist in the registry.
+        */
+        IMPORT_C TInt GetDatabaseInfo(
+        /* IN/OUT */    HPosLmDatabaseInfo& aDatabaseInfo
+        );
+
+        /**
+        * Reports a database management event.
+        *
+        * The event is distributed to all listening clients.
+        *
+        * A database URI can be specified to indicate which database the
+        * event is about.
+        *
+        * This function requires @p ReadUserData and @p WriteUserData
+        * capabilities.
+        *
+        * @since S60 3.0
+        * @param aEvent Event information
+        * @param aDatabaseUri The URI of the database which the event is about.
+        * @return @p KErrNone if successful, otherwise a system-wide error
+        *   code.
+        */
+        IMPORT_C TInt ReportEvent(
+        /* IN  */       const TPosLmDatabaseEvent& aEvent,
+        /* IN  */       const TDesC& aDatabaseUri = KNullDesC
+        );
+
+    private:
+
+        HBufC8* SendMessageLC(
+        /* IN  */       TInt aFunction,
+        /* IN  */       const TDesC& aDes,
+        /* IN  */       TInt aLength,
+        /* IN/OUT */    TInt& aAllocLength
+        );
+
+        void PopulateArrayL(
+        /* OUT */       RPointerArray<HPosLmDatabaseInfo>& aDatabaseInfoArray,
+        /* IN  */       HBufC8* aBuffer
+        );
+
+        void PopulateArrayL(
+        /* OUT */       CDesCArray* aArray,
+        /* IN  */       HBufC8* aBuffer
+        );
+
+        void FreeResources();
+
+        static void FreeRsc(TAny* aParam);
+        /**
+        * Starts the server.
+        *
+        * @return KErrNone on success, otherwise any system wide error.
+        */
+        TInt StartServer();
+
+    private:    // Data
+
+        CPosLandmarkServerExtension* iExtension;
+    };
+
+#endif      // RPOSLANDMARKSERVER_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/ServerClientLib/src/FT_RPosLandmarkServer.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,401 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*
+*/
+
+
+// INCLUDE FILES
+#include <badesca.h>
+#include "FT_PosLmServerCommon.h"
+#include "FT_RPosLandmarkServer.h"
+
+// CONSTANTS
+const TInt KDefaultMessageSlots = 4;
+const TInt KPosLmNumberOfTrials = 5;
+const TUid KLandmarksServerUid = { 0x101fdf81 };
+const TInt KGranularity = 10;
+const TInt KPreAllocLengthURI = 1024;
+const TInt KPreAllocLengthDbInfo = 2048;
+
+_LIT(KPosLandmarksServerImg, "EPosLmServer");
+
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// C++ default constructor can NOT contain any code, that
+// might leave.
+//
+EXPORT_C RPosLandmarkServer::RPosLandmarkServer() :
+    RSessionBase(),
+    iExtension(NULL)
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// RPosLandmarkServer::Connect
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt RPosLandmarkServer::Connect()
+    {
+    TBool retrying = ETrue;
+    TInt counter = KPosLmNumberOfTrials;
+    TInt err;
+
+
+    while (retrying && counter > 0)
+        {
+        err = CreateSession(
+            KPosLandmarksServerName,
+            TVersion(
+                KPosLmServerMajorVersionNumber,
+                KPosLmServerMinorVersionNumber,
+                KPosLmServerBuildVersionNumber),
+            KDefaultMessageSlots);
+
+        if (err != KErrNotFound && err != KErrServerTerminated)
+            {
+            // Session is up.
+            retrying = EFalse;
+            }
+        else if (--counter > 0)
+            {
+            err = StartServer();
+
+            if (err != KErrAlreadyExists && err != KErrNone)
+                {
+                // Server returned error code other than
+                // KErrAlreadyExists or KErrNone. The client should
+                // receive this code.
+                retrying = EFalse;
+                }
+            }
+        }
+
+    return err;
+    }
+
+// -----------------------------------------------------------------------------
+// RPosLandmarkServer::Close
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void RPosLandmarkServer::Close()
+    {
+    RSessionBase::Close();
+    }
+
+// -----------------------------------------------------------------------------
+// RPosLandmarkServer::ListDatabasesLC
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CDesCArray* RPosLandmarkServer::ListDatabasesLC(
+    const TDesC& aProtocol)
+    {
+    TInt allocLength = 0;
+    CDesCArray* array = new (ELeave) CDesCArrayFlat(KGranularity);
+    CleanupStack::PushL(array);
+
+    CleanupStack::PushL(TCleanupItem(*FreeRsc, this));
+
+    HBufC8* buffer = SendMessageLC(EPosLmServerListDatabaseUris,
+        aProtocol, KPreAllocLengthURI, allocLength);
+
+    PopulateArrayL(array, buffer);
+    CleanupStack::PopAndDestroy(buffer);
+    CleanupStack::Pop(); //FreeRsc
+
+    if (allocLength > 0)
+        {
+        buffer = SendMessageLC(EPosLmServerRemainingDatabaseUris,
+                KNullDesC, allocLength, allocLength);
+        PopulateArrayL(array, buffer);
+        CleanupStack::PopAndDestroy(buffer);
+        }
+    return array;
+    }
+
+// -----------------------------------------------------------------------------
+// RPosLandmarkServer::ListDatabasesL
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void RPosLandmarkServer::ListDatabasesL(
+    RPointerArray<HPosLmDatabaseInfo>& aDatabaseInfoArray,
+    const TDesC& aProtocol)
+    {
+    CleanupStack::PushL(TCleanupItem(*FreeRsc, this));
+
+    TInt allocLength = 0;
+    HBufC8* buffer = SendMessageLC(EPosLmServerListDatabaseInfo,
+        aProtocol, KPreAllocLengthDbInfo, allocLength);
+
+    PopulateArrayL(aDatabaseInfoArray, buffer);
+    CleanupStack::PopAndDestroy(buffer);
+    CleanupStack::Pop(); //FreeRsc
+
+    if (allocLength > 0)
+        {
+        buffer = SendMessageLC(EPosLmServerRemainingDatabaseInfo,
+                KNullDesC, allocLength, allocLength);
+        PopulateArrayL(aDatabaseInfoArray, buffer);
+        CleanupStack::PopAndDestroy(buffer);
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// RPosLandmarkServer::RegisterDatabase
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt RPosLandmarkServer::RegisterDatabase(
+    HPosLmDatabaseInfo& aDatabaseInfo)
+    {
+    TInt size = aDatabaseInfo.Size();
+    TPtr8 ptr(reinterpret_cast<TUint8*>(&aDatabaseInfo), size, size);
+
+    return SendReceive(EPosLmServerRegisterDatabase, TIpcArgs(&ptr));
+    }
+
+// -----------------------------------------------------------------------------
+// RPosLandmarkServer::UnregisterDatabase
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt RPosLandmarkServer::UnregisterDatabase(
+    const TDesC& aDatabaseUri,
+    TChar aDriveLetter)
+    {
+    TPckgC<TChar> drivePckg(aDriveLetter);
+    return SendReceive(EPosLmServerUnregisterDatabase,
+        TIpcArgs(&aDatabaseUri, &drivePckg));
+    }
+
+// -----------------------------------------------------------------------------
+// RPosLandmarkServer::UnregisterAllDatabases
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt RPosLandmarkServer::UnregisterAllDatabases(
+    const TDesC& aProtocol)
+    {
+    return SendReceive(EPosLmServerUnregisterAllDatabases,
+        TIpcArgs(&aProtocol));
+    }
+
+// -----------------------------------------------------------------------------
+// RPosLandmarkServer::ModifyDatabaseSettings
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt RPosLandmarkServer::ModifyDatabaseSettings(
+    const TDesC& aDatabaseUri,
+    const TPosLmDatabaseSettings& aDatabaseSettings,
+    TChar aDriveLetter)
+    {
+    TPckgC<TChar> drivePckg(aDriveLetter);
+    TPckgC<TPosLmDatabaseSettings> settingsPckg(aDatabaseSettings);
+
+    return SendReceive(EPosLmServerModifyDatabaseSettings,
+        TIpcArgs(&aDatabaseUri, &drivePckg, &settingsPckg));
+    }
+
+// -----------------------------------------------------------------------------
+// RPosLandmarkServer::GetDatabaseInfo
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt RPosLandmarkServer::GetDatabaseInfo(
+    HPosLmDatabaseInfo& aDatabaseInfo)
+    {
+    TInt size = aDatabaseInfo.Size();
+    TPtr8 ptr(reinterpret_cast<TUint8*>(&aDatabaseInfo), size, size);
+
+    return SendReceive(
+        EPosLmServerReadDatabaseSettings, TIpcArgs(&ptr));
+    }
+
+// -----------------------------------------------------------------------------
+// RPosLandmarkServer::ReportEvent
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt RPosLandmarkServer::ReportEvent(
+    const TPosLmDatabaseEvent& aEvent,
+    const TDesC& aDatabaseUri)
+    {
+    TPckgC<TPosLmDatabaseEvent> eventPckg(aEvent);
+
+    return SendReceive(EPosLmServerReportDbEvent,
+        TIpcArgs(&aDatabaseUri, &eventPckg));
+    }
+
+// -----------------------------------------------------------------------------
+// RPosLandmarkServer::StartServer
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt RPosLandmarkServer::StartServer()
+    {
+    TRequestStatus started;
+
+    const TUidType serverUid(KNullUid, KNullUid, KLandmarksServerUid);
+
+    /**
+    EPOC is easy, we just create a new server process. Simultaneous launching
+    of two such processes should be detected when the second one attempts to
+    create the server object, failing with KErrAlreadyExists.
+    **/
+    RProcess server;
+    TInt ret = server.Create(KPosLandmarksServerImg, KNullDesC, serverUid);
+
+    if (ret != KErrNone)
+        {
+        return ret;
+        }
+
+    server.Rendezvous(started);
+    //
+    // logon OK - start the server
+    server.Resume();
+
+    User::WaitForRequest(started);  // wait for start or death
+
+    server.Close();
+
+    return started.Int();
+    }
+
+// -----------------------------------------------------------------------------
+// RPosLandmarkServer::SendMessageLC
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+HBufC8* RPosLandmarkServer::SendMessageLC(
+    TInt aFunction,
+    const TDesC& aDes,
+    TInt aLength,
+    TInt& aAllocLength)
+    {
+    HBufC8* buffer = HBufC8::NewLC(aLength);
+    TPtr8 bufPtr = buffer->Des();
+
+    TPckg<TInt> allocPckg(aAllocLength);
+    User::LeaveIfError(SendReceive(aFunction,
+        TIpcArgs(&aDes, &bufPtr, &allocPckg)));
+    return buffer;
+    }
+
+// -----------------------------------------------------------------------------
+// RPosLandmarkServer::PopulateArrayL
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void RPosLandmarkServer::PopulateArrayL(
+    CDesCArray* aArray,
+    HBufC8* aBuffer)
+    {
+    if (aBuffer->Length() > 0)
+        {
+        TUint8* bufPointer = const_cast<TUint8*>(aBuffer->Ptr());
+        const TUint8* endPointer = bufPointer + aBuffer->Size();
+        while (bufPointer < endPointer)
+            {
+            TPckgBuf<TInt> intPckg;
+            intPckg.Copy(bufPointer, intPckg.MaxLength());
+
+            TInt uriLength = intPckg();
+            TInt uriSize = uriLength * 2;
+            bufPointer += intPckg.Size();
+            HBufC* uri = HBufC::NewLC(uriSize);
+            uri->Des().SetLength(uriLength);
+
+            TPtr8 uriPtr(reinterpret_cast<TUint8*>(
+                const_cast<TUint16*>(uri->Ptr())), uriSize, uriSize);
+            uriPtr.Copy(bufPointer, uriSize);
+            bufPointer += uriSize;
+
+            aArray->AppendL(*uri);
+            CleanupStack::PopAndDestroy(uri);
+            }
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// RPosLandmarkServer::PopulateArrayL
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void RPosLandmarkServer::PopulateArrayL(
+    RPointerArray<HPosLmDatabaseInfo>& aDatabaseInfoArray,
+    HBufC8* aBuffer)
+    {
+    if (aBuffer->Length() > 0)
+        {
+        TInt currentLength = 0;
+        TInt bufferLength = aBuffer->Length();
+        do  {
+            TUint8* infoPtr =
+                const_cast<TUint8*>(aBuffer->Ptr() + currentLength);
+            HPosLmDatabaseInfo* dbInfo = HPosLmDatabaseInfo::NewLC(
+                *(reinterpret_cast<HPosLmDatabaseInfo*>(infoPtr)));
+
+            aDatabaseInfoArray.AppendL(dbInfo);
+            currentLength += dbInfo->Size();
+            CleanupStack::Pop(dbInfo);
+            } while (currentLength < bufferLength);
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// RPosLandmarkServer::FreeResources
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void RPosLandmarkServer::FreeResources()
+    {
+    SendReceive(EPosLmServerFreeResources, TIpcArgs(TIpcArgs::ENothing));
+    }
+
+// -----------------------------------------------------------------------------
+// RPosLandmarkServer::FreeRsc
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void RPosLandmarkServer::FreeRsc(TAny* aParam)
+    {
+    reinterpret_cast<RPosLandmarkServer*>(aParam)->FreeResources();
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/group/ABLD.BAT	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,31 @@
+rem
+rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+rem All rights reserved.
+rem This component and the accompanying materials are made available
+rem under the terms of the License "Symbian Foundation License v1.0"
+rem which accompanies this distribution, and is available
+rem at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
+rem
+rem Initial Contributors:
+rem Nokia Corporation - initial contribution.
+rem
+rem Contributors:
+rem
+rem Description:
+rem
+
+@ECHO OFF
+
+REM Bldmake-generated batch file - ABLD.BAT
+REM ** DO NOT EDIT **
+
+perl -S ABLD.PL "\work\mrt\TestProvider\group\\" %1 %2 %3 %4 %5 %6 %7 %8 %9
+if errorlevel==1 goto CheckPerl
+goto End
+
+:CheckPerl
+perl -v >NUL
+if errorlevel==1 echo Is Perl, version 5.003_07 or later, installed?
+goto End
+
+:End
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/group/BC34B3.tmp has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/group/FT_DbManPluginsTest.mmp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,59 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+TARGET          dbmanpluginstest.dll
+TARGETTYPE      PLUGIN // From SOS9.0
+UID             0x10009D8D 0x04440010
+
+//VENDORID        VID_DEFAULT
+CAPABILITY      ALL -TCB
+
+SOURCEPATH      ../src
+SOURCE          DbManPluginsTestMain.cpp
+SOURCE          CDbManTestPluginBase.cpp
+
+SOURCEPATH      ../resource
+start resource  04440010.rss
+#ifdef SYMBIAN_SECURE_ECOM
+TARGET          dbmanpluginstest.rsc
+#endif
+end
+
+MW_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE   /epoc32/include/ecom
+
+SYSTEMINCLUDE   /epoc32/include 
+
+
+
+USERINCLUDE     ../inc
+USERINCLUDE     ../src
+
+LIBRARY         euser.lib
+LIBRARY         bafl.lib
+LIBRARY         ecom.lib
+LIBRARY         eposlmdbmanlib.lib
+LIBRARY         FT_lmservlib.lib
+EXPORTUNFROZEN
+SMPSAFE
+
+// END OF FILE
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/group/bld.inf	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*	Build info file for Landmarks Database Management Provider
+*
+*/
+
+PRJ_PLATFORMS
+WINSCW ARMV5
+
+PRJ_EXPORTS
+
+
+PRJ_MMPFILES
+FT_DbManPluginsTest.mmp
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/group/dbmanpluginstest_UID_.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,21 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+// Makmake-generated uid source file
+#include <e32cmn.h>
+#pragma data_seg(".SYMBIAN")
+__EMULATOR_IMAGE_HEADER2(0x10000079,0x10009d8d,0x04440010,EPriorityForeground,0x000ffffeu,0x00000000u,0x04440010,0,0x00010000,0)
+#pragma data_seg()
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/inc/CDbManTestPluginBase.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,351 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CDBMANTESTPLUGINBASE_H
+#define CDBMANTESTPLUGINBASE_H
+
+//  INCLUDES
+#include <EPos_CPosLmDatabaseManagerPluginBase.h>
+
+// CLASS DECLARATION
+
+class CDbManTestPluginBase : public CPosLmDatabaseManagerPluginBase
+    {
+    public:
+        
+        /**
+        * Destructor.
+        */
+        ~CDbManTestPluginBase();
+        
+        
+    static CDbManTestPluginBase* NewL(TAny* aConstructionParams);
+    
+
+    public: // Functions from base classes.
+        
+        /**
+        * Lists the URIs to all landmark databases handled by this
+        * plug-in.
+        *
+        * The client takes ownership of the returned array.
+        *
+        * If no databases are found, an empty array is returned.
+        *
+        * This function requires @p ReadUserData capability.
+        *
+        * @since Series 60 3.0
+        * @return The list of database URIs.
+        */
+        CDesCArray* ListDatabasesLC();
+
+        /**
+        * Lists information about each landmark database handled by this
+        * plug-in.
+        *
+        * The client specifies an array which is populated by this function.
+        * The client takes ownership of all information objects in the array.
+        *
+        * If no databases are found, the input array is not modified.
+        *
+        * This function requires @p ReadUserData capability.
+        *
+        * @since Series 60 3.0
+        * @param aDatabaseInfoArray On return, contains information about
+        *   the landmark databases.
+        */
+        void ListDatabasesL(
+        /* OUT */       RPointerArray<HPosLmDatabaseInfo>& aDatabaseInfoArray
+        );
+
+        /**
+        * Registers a landmark database.
+        *
+        * The landmark database is then returned when listing landmark
+        * databases.
+        *
+        * Some protocols like "file" does not allow registering of databases
+        * and will leave with error code @p KErrNotSupported. To add a
+        * "file"-protocol database, the client must call @ref CreateDatabaseL.
+        *
+        * The client supplies an information object containing the URI of the
+        * database to register. The information object can also contain
+        * database settings, e.g. a display name for the database.
+        *
+        * This function requires @p ReadUserData and @p WriteUserData
+        * capabilities.
+        *
+        * @since Series 60 3.0
+        * @param aDatabaseInfo Information about the landmark database to
+        *   register.
+        * @par Leave codes:
+        * @p KErrNotSupported The protocol specified in the URI is not
+        *   supported by this plug-in or the protocol does not allow
+        *   registering landmark databases.\n
+        * @p KErrArgument The URI is incorrect.\n
+        * @p KErrAlreadyExists The database already exists in the registry.
+        */
+        void RegisterDatabaseL(
+        /* IN/OUT */       HPosLmDatabaseInfo& aDatabaseInfo
+        );
+
+        /**
+        * Unregisters a landmark database.
+        *
+        * After this, the landmark database will not be returned when listing
+        * landmark databases.
+        *
+        * Some protocols like "file" does not allow unregistering of databases
+        * and will leave with error code @p KErrNotSupported. To remove a
+        * "file"-protocol database, the client must call @ref DeleteDatabaseL.
+        *
+        * This function requires @p ReadUserData and @p WriteUserData
+        * capabilities.
+        *
+        * @since Series 60 3.0
+        * @param aDatabaseUri The URI of the database to register.
+        * @par Leave codes:
+        * @p KErrNotSupported The protocol specified in the URI is not
+        *   supported by this plug-in or the protocol does not allow
+        *   unregistering landmark databases.\n
+        * @p KErrArgument The URI is incorrect.
+        */
+        void UnregisterDatabaseL(
+        /* IN  */       const TDesC& aDatabaseUri
+        );
+
+        /**
+        * Unregisters all landmark database which are accessed through this
+        * plug-in
+        *
+        * After this, the landmark databases will not be returned when listing
+        * landmark databases.
+        *
+        * Some protocols like "file" does not allow unregistering of databases
+        * and will leave with error code @p KErrNotSupported. To remove a
+        * "file"-protocol database, the client must call @ref DeleteDatabaseL.
+        *
+        * This function requires @p ReadUserData and @p WriteUserData
+        * capabilities.
+        *
+        * @since Series 60 3.0
+        * @par Leave codes:
+        * @p KErrNotSupported This plug-in does not allow unregistering
+        *   landmark databases.
+        */
+        void UnregisterAllDatabasesL();
+
+        /**
+        * Modifies the settings for a landmark database.
+        *
+        * This function requires @p ReadUserData and @p WriteUserData
+        * capabilities.
+        *
+        * @since Series 60 3.0
+        * @param aDatabaseUri The URI of the database to modify settings for.
+        * @param aDatabaseSettings The new settings for the database.
+        * @par Leave codes:
+        * @p KErrNotSupported The protocol specified in the URI is not
+        *   supported by this plug-in.\n
+        * @p KErrNotFound The specified database is not found.
+        */
+        void ModifyDatabaseSettingsL(
+        /* IN  */       const TDesC& aDatabaseUri,
+        /* IN  */       const TPosLmDatabaseSettings& aDatabaseSettings
+        );
+
+        /**
+        * Retrieve information about a landmark database.
+        *
+        * This function requires @p ReadUserData capability.
+        *
+        * @since Series 60 3.0
+        * @param aDatabaseInfo An information object containing the URI of the
+        *   landmark database. On return, the object contains information about
+        *   the landmark database, including any database settings.
+        * @par Leave codes:
+        * @p KErrNotSupported The protocol specified in the URI is not
+        *   supported by this plug-in.\n
+        * @p KErrNotFound The specified database is not found.
+        */
+        void GetDatabaseInfoL(
+        /* IN/OUT */    HPosLmDatabaseInfo& aDatabaseInfo
+        );
+
+        /**
+        * Checks if the specified landmark database exists.
+        *
+        * The database to check is specified by passing a URI to this function.
+        * URI construction is described in the class description for
+        * @ref CPosLmDatabaseManager.
+        *
+        * This function requires @p ReadUserData capability. If the database is
+        * remote, @p NetworkServices capability is also needed.
+        *
+        * @since Series 60 3.0
+        * @param aDatabaseUri The URI of the database which should be checked
+        *   for existence.
+        * @return @p ETrue if the database exists, otherwise @p EFalse.
+        * @par Leave codes:
+        * @p KErrArgument The URI is incorrect or the protocol specified in the
+        *   URI is not supported by this plug-in.\n
+        */
+        TBool DatabaseExistsL( 
+        /* IN  */       const TDesC&  aDatabaseUri
+        );
+
+        /**
+        * Creates a landmark database.
+        *
+        * This function requires @p ReadUserData and @p WriteUserData
+        * capabilities. If the database is remote, @p NetworkServices
+        * capability is also needed.
+        *
+        * @since Series 60 3.0
+        * @param aDatabaseUri The URI of the new database.
+        * @par Leave codes:
+        * @p KErrNotSupported The operation is not supported by the plug-in.\n
+        * @p KErrArgument The URI is incorrect or the protocol specified in the
+        *   URI is not supported by this plug-in.\n
+        * @p KErrAlreadyExists There is already a database at this URI.
+        */
+        void CreateDatabaseL( 
+        /* IN/OUT */       HPosLmDatabaseInfo& aDatabaseInfo
+        );
+
+        /**
+        * Deletes a landmark database.
+        *
+        * The database to delete is specified by passing a URI to this
+        * function. URI construction is described in the class description for
+        * @ref CPosLmDatabaseManager. The URI must specify the protocol which
+        * is handled by this database manager plug-in.
+        *
+        * If the specified database does not exist, the call is ignored.
+        *
+        * This function requires @p ReadUserData and @p WriteUserData
+        * capabilities. If the database is remote, @p NetworkServices
+        * capability is also needed.
+        *
+        * @since Series 60 3.0
+        * @param aDatabaseUri The URI of the database to delete.
+        * @par Leave codes:
+        * @p KErrNotSupported The operation is not supported by the plug-in.\n
+        * @p KErrArgument The URI is incorrect or the protocol specified in the
+        *   URI is not supported by this plug-in.\n
+        * @p KErrInUse The database is in use by some client.\n
+        * @p KErrAccessDenied The database is read-only.
+        */
+        void DeleteDatabaseL(
+        /* IN  */       const TDesC&  aDatabaseUri
+        );
+
+        /**
+        * Copies a landmark database to a new location.
+        *
+        * Database locations are specified as URIs. URI construction is
+        * described in the class description for @ref CPosLmDatabaseManager.
+        * The target and source URIs must specify the protocol which is handled
+        * by this database manager plug-in.
+        *
+        * This function requires @p ReadUserData and @p WriteUserData
+        * capabilities. If the database is remote, @p NetworkServices
+        * capability is also needed.
+        *
+        * @since Series 60 3.0
+        * @param aSourceUri The URI of the database to copy.
+        * @param aTargetUri The URI of the new database location.
+        * @par Leave codes:
+        * @p KErrNotSupported The operation is not supported by the plug-in.\n
+        * @p KErrArgument A URI is incorrect or the protocol specified in a
+        *   URI is not supported by this plug-in.\n
+        * @p KErrInUse There is a write-lock on the database, e.g. some client
+        *   is currently modifying the database.\n
+        * @p KErrNotFound There is no database at the source URI.\n
+        */
+        void CopyDatabaseL(
+        /* IN  */       const TDesC&  aSourceUri,
+        /* IN  */       const TDesC&  aTargetUri
+        );
+
+
+        /**
+        * Retrieves the type of media where a landmark database resides.
+        *
+        * This function does not validate the URI. If the URI is invalid, this
+        * function will just return @p EMediaUnknown.
+        *
+        * @since Series 60 3.0
+        * @param aDatabaseUri The URI of the database to check media for.
+        * @return Type of storage media.
+        */
+        TMediaType DatabaseMedia(
+        /* IN  */       const TDesC& aDatabaseUri
+        );
+
+        /**
+        * Retrieves the drive letter for the drive where a landmark database
+        * resides.
+        *
+        * If the landmark database is remote or otherwise the drive letter is
+        * not applicable, 0 is returned.
+        *
+        * This function does not validate the URI. If the URI is invalid, this
+        * function will just return 0.
+        *
+        * @param aDatabaseUri The URI of the database to check drive letter
+        *   for.
+        * @return The drive letter, or 0 if drive letter is not applicable.
+        */
+        TChar DatabaseDrive(
+        /* IN  */       const TDesC& aDatabaseUri
+        );
+
+        /**
+        * From CPosLmDatabaseManagerPluginBase
+        * 
+        * @since Series 60 3.0
+        * @return Pointer to the protocol descriptor, e.g. "file"
+        */
+        TPtrC Protocol();
+        
+    protected:
+    
+        CDbManTestPluginBase();
+        
+    private:
+    
+        TInt FindUri(const TDesC& aUri);
+
+        // By default, prohibit copy constructor
+        CDbManTestPluginBase(
+            const CDbManTestPluginBase& );
+        // Prohibit assigment operator
+        CDbManTestPluginBase& operator=(
+            const CDbManTestPluginBase& );
+
+    private:    // Data
+
+        RPointerArray<HPosLmDatabaseInfo> iDatabases;
+        
+    };
+
+#endif      // CDBMANTESTPLUGINBASE_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/inc/FT_CPosLmDatabaseManagerImpl.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,320 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSLMDATABASEMANAGERIMPL_H
+#define CPOSLMDATABASEMANAGERIMPL_H
+
+//  INCLUDES
+#include <e32base.h>
+#include <badesca.h>
+#include <EPos_CPosLmDatabaseManager.h>
+#include <EPos_TPosLmDatabaseEvent.h>
+#include <EPos_TPosLmDatabaseSettings.h>
+#include <EPos_HPosLmDatabaseInfo.h>
+#include "FT_RPosLandmarkServer.h"
+#include "EPos_RPosLmDatabaseEventListener.h"
+
+// FORWARD DECLARATIONS
+class CPosLmSettingsHandler;
+class CPosLmDbManPluginStore;
+class CPosLmDatabaseManagerPluginBase;
+
+// CLASS DECLARATION
+
+/**
+*  This class is used to manage landmark databases. It implements the common
+*  database management methods in @refCPosLmDatabaseManager and loads 
+*  protocol-specific database management provider implementations.
+*
+*  @p CPosLmDatabaseManagerImpl contains functions for listing registering,
+*  unregistering, creating, deleting, copying landmark databases, etc.
+*  It also has functions for managing the default landmark database. The
+*  client can listen to events related to database management.
+*
+*  @lib eposlmdbmanprov.lib
+*  @since Series 60 3.0
+*  @version $Revision: 1.1 $, $Date: 2005/03/07 15:36:15 $
+*/
+class CPosLmDatabaseManagerImpl : public CPosLmDatabaseManager 
+    {
+    public:
+        
+        /**
+        * Two-phased constructor.
+        *
+        * @since Series 60 3.0
+        */
+        static CPosLmDatabaseManagerImpl* NewL();
+
+        /**
+        * Destructor.
+        *
+        * @since Series 60 3.0
+        */
+        virtual ~CPosLmDatabaseManagerImpl();
+
+    public: // Functions from base classes
+        
+        /**
+        * From CPosLmDatabaseManager.
+        * 
+        * @return The URI of the default landmark database. The client takes
+        *   ownership of the descriptor object.
+        */
+        HBufC* DefaultDatabaseUriLC();
+
+        /**
+        * From CPosLmDatabaseManager.
+        *
+        * @param aDatabaseUri The URI of the database which should be set as
+        *   default.
+        */
+        void SetDefaultDatabaseUriL(
+        /* IN  */ const TDesC& aDatabaseUri
+        );
+
+        /**
+        * From CPosLmDatabaseManager.
+        *
+        * @param aEvent Contains the event information when an event
+        *   occurs.
+        * @param aStatus Is completed with @p KErrNone if an event
+        *   occurs or an error code if some error is encountered.
+        */
+        void NotifyDatabaseEvent(
+        /* OUT */ TPosLmDatabaseEvent& aEvent,
+        /* OUT */ TRequestStatus& aStatus
+        );
+    
+        /**
+        * From CPosLmDatabaseManager.
+        *
+        * @return @p KErrNone if the request was successfully cancelled,
+        *   otherwise a system wide error code.
+        */
+        TInt CancelNotifyDatabaseEvent();
+
+        /**
+        * From CPosLmDatabaseManager.
+        *
+        * @return The database URI associated with the event. The client takes
+        *   ownership of the descriptor object.
+        */
+        HBufC* DatabaseUriFromLastEventLC();
+
+        /**
+        * From CPosLmDatabaseManager.
+        *
+        * @param aProtocol The protocol for which database URIs should be
+        *   listed. If no protocol is specified, i.e. if an empty string is
+        *   specified, all known database URIs are listed.
+        * @return The list of database URIs.
+        */
+        CDesCArray* ListDatabasesLC(
+        /* IN  */ const TDesC& aProtocol = KNullDesC
+        );
+
+        /**
+        * From CPosLmDatabaseManager.
+        *
+        * @param aDatabaseInfoArray On return, contains information about
+        *   the landmark databases. Any objects which are in the array when
+        *   it is passed to this function are not be removed.
+        * @param aProtocol The protocol for which database URIs should be
+        *   listed. If no protocol is specified, i.e. if an empty string is
+        *   specified, all known database URIs are listed.
+        */
+        void ListDatabasesL(
+        /* OUT */ RPointerArray<HPosLmDatabaseInfo>& aDatabaseInfoArray,
+        /* IN  */ const TDesC& aProtocol = KNullDesC
+        );
+
+        /**
+        * From CPosLmDatabaseManager.
+        *
+        * @param aDatabaseInfo Information about the landmark database to
+        *   register.
+        */
+        void RegisterDatabaseL(
+        /* IN/OUT */ HPosLmDatabaseInfo& aDatabaseInfo
+        );
+
+        /**
+        * From CPosLmDatabaseManager.
+        *
+        * @param aDatabaseUri The URI of the database to register.
+        */
+        void UnregisterDatabaseL(
+        /* IN  */ const TDesC& aDatabaseUri
+        );
+
+        /**
+        * From CPosLmDatabaseManager.
+        *
+        * @param aProtocol The protocol to unregister all databases for.
+        */
+        void UnregisterAllDatabasesL(
+        /* IN  */ const TDesC& aProtocol
+        );
+
+        /**
+        * From CPosLmDatabaseManager.
+        *
+        * @param aDatabaseUri The URI of the database to modify settings for.
+        * @param aDatabaseSettings The new settings for the database.
+        */
+        void ModifyDatabaseSettingsL(
+        /* IN  */ const TDesC& aDatabaseUri,
+        /* IN  */ const TPosLmDatabaseSettings& aDatabaseSettings
+        );
+
+        /**
+        * From CPosLmDatabaseManager.
+        *
+        * @param aDatabaseInfo An information object containing the URI of the
+        *   landmark database. On return, the object contains information about
+        *   the landmark database, including any database settings.
+        */
+        void GetDatabaseInfoL(
+        /* IN/OUT */ HPosLmDatabaseInfo& aDatabaseInfo
+        );
+
+        /**
+        * From CPosLmDatabaseManager.
+        *
+        * @param aDatabaseUri The URI of the database which should be checked
+        *   for existence.
+        * @return @p ETrue if the database exists, otherwise @p EFalse.
+        */
+        TBool DatabaseExistsL( 
+        /* IN  */ const TDesC&  aDatabaseUri
+        );
+
+        /**
+        * From CPosLmDatabaseManager.
+        *
+        * @param aDatabaseUri The URI of the new database.
+        */
+        void CreateDatabaseL( 
+        /* IN/OUT */ HPosLmDatabaseInfo& aDatabaseInfo
+        );
+
+        /**
+        * From CPosLmDatabaseManager.
+        *
+        * @param aDatabaseUri The URI of the database to delete.
+        */
+        void DeleteDatabaseL(
+        /* IN  */ const TDesC&  aDatabaseUri
+        );
+
+        /**
+        * From CPosLmDatabaseManager.
+        *
+        * @param aSourceUri The URI of the database to copy.
+        * @param aTargetUri The URI of the new database location.
+        */
+        void CopyDatabaseL(
+        /* IN  */ const TDesC&  aSourceUri,
+        /* IN  */ const TDesC&  aTargetUri
+        );
+
+    protected:
+
+        /**
+        * C++ default constructor.
+        */
+        CPosLmDatabaseManagerImpl();
+
+    private:
+
+       /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+        void ConstructL();
+        
+        /**
+         * Validates URI and extracts protocol.
+         * Leaves with @p KErrArgument if the protocol is empty or
+         * does not exist.
+         */
+        static const TPtrC GetProtocolFromUriL(
+        /* IN  */ const TDesC& aUri
+        );
+           
+        /**
+         * Validates URI, i.e. checks that there is a protocol separator
+         * and the protocol part is not empty.
+         * Leaves with @p KErrArgument if the protocol is empty or
+         * does not exist.
+         */
+        static void ValidateUriL(
+        /* IN  */ const TDesC& aUri
+        );
+        
+        /**
+         * Returns @p ETrue if database URI starts with "file".
+         */
+        TBool IsLocalDatabase(
+        /* IN  */ const TDesC& aUri
+        );
+        
+        /**
+         * Retrieves the default database display name from the resource file.
+         */
+        HBufC* DefaultDatabaseDisplayNameL();
+
+        /**
+         * Fills in default flag, database drive and media type in 
+         * each object in the array. Helper for the list method.
+         */
+         void FillInDbInfoListL(
+        /* IN/OUT */ RPointerArray<HPosLmDatabaseInfo>& aDatabaseInfoArray,
+        /* IN     */ CPosLmDatabaseManagerPluginBase* aPlugin
+        );
+         
+        /**
+         * Fills in default flag, database drive and media type in 
+         * the object. Helper for the list method.
+         */
+         void FillInDbInfo(
+        /* IN/OUT */ HPosLmDatabaseInfo& aDatabaseInfo,
+        /* IN     */ CPosLmDatabaseManagerPluginBase* aPlugin,
+        /* IN     */ const TDesC& aDefaultDbUri
+        );
+         
+
+        // By default, prohibit copy constructor
+        CPosLmDatabaseManagerImpl( const CPosLmDatabaseManagerImpl& );
+        // Prohibit assigment operator
+        CPosLmDatabaseManagerImpl& operator= ( const CPosLmDatabaseManagerImpl& );
+
+    private:    // Data
+        
+        CPosLmSettingsHandler*      iSettingsHandler;
+        CPosLmDbManPluginStore*     iPlugins;
+        RPosLandmarkServer          iSession;
+        RPosLmDatabaseEventListener iEventListener;
+        HBufC*                      iDefaultDatabaseDisplayName;
+
+    };
+
+#endif      // CPOSLMDATABASEMANAGERIMPL_H  
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/inc/FT_LandmarksDbManagerUids.hrh	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,38 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*
+*/
+
+
+#ifndef LANDMARKSDBMANAGERUIDS_H
+#define LANDMARKSDBMANAGERUIDS_H
+
+// Landmark Database Manager interface UID
+#define KPosLmDbManagerIfUid    0x101FDF79
+
+// Landmark Database Manager implementation UID
+#define KPosLmDbManagerImplUid  0x101FDF7C
+
+// Landmark Database Manager Base interface UID
+#define KPosLmDbManagerBaseIfUid  0x101FE975
+
+// Local Landmarks Database Management Provider implementaton UID
+#define KPosLmLocalDbManagerImplUid 0x101FE976
+
+
+#endif // LANDMARKSDBMANAGERUIDS_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/inc/FT_RPosLandmarkServer.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,285 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*
+*/
+
+
+#ifndef RPOSLANDMARKSERVER_H
+#define RPOSLANDMARKSERVER_H
+
+//  INCLUDES
+#include <e32base.h>
+#include <badesca.h>
+#include <EPos_TPosLmDatabaseEvent.h>
+#include <EPos_TPosLmDatabaseSettings.h>
+#include <EPos_HPosLmDatabaseInfo.h>
+
+// FORWARD DECLARATIONS
+class CPosLandmarkServerExtension;
+
+// CLASS DECLARATION
+
+/**
+*  Client API for the landmark server.
+*
+*  @lib eposlmservlib.lib
+*  @since S60 3.0
+*  @version $Revision: 1.4 $, $Date: 2005/07/07 13:40:03 $
+*/
+class RPosLandmarkServer : public RSessionBase
+    {
+    public:  // Constructors and destructor
+
+        /**
+        * C++ default constructor.
+        */
+        IMPORT_C RPosLandmarkServer();
+
+    public: // New functions
+
+
+        /**
+        * Connect to the landmark server.
+        *
+        * The server is started if it is not already running.
+        *
+        * This function requires @p ReadUserData capability.
+        *
+        * @since S60 3.0
+        * @return @p KErrNone if successful, otherwise a system-wide error
+        *   code.
+        */
+        IMPORT_C TInt Connect();
+
+        /**
+        * Closes the session to the server
+        *
+        * @since S60 3.0
+        */
+        IMPORT_C void Close();
+
+        /**
+        * Lists all URIs in the server's database registry for a certain
+        * protocol.
+        *
+        * The client specifies a protocol string as input to this function.
+        * The function only returns a list of the databases which are
+        * accessed through this protocol.
+        *
+        * The client takes ownership of the returned array.
+        *
+        * This function requires @p ReadUserData capability.
+        *
+        * @since S60 3.0
+        * @param aProtocol The protocol for which database URIs should be
+        *   listed.
+        * @return The list of database URIs.
+        */
+        IMPORT_C CDesCArray* ListDatabasesLC(
+        /* IN  */       const TDesC& aProtocol
+        );
+
+        /**
+        * Lists information about each landmark database in the
+        * server's database registry.
+        *
+        * The client specifies a protocol string as input to this function.
+        * The function only returns information about the databases
+        * which are accessed through this protocol.
+        *
+        * The client specifies an array which is populated by this function.
+        * The client takes ownership of all information objects in the array.
+        *
+        * This function requires @p ReadUserData capability.
+        *
+        * @since S60 3.0
+        * @param aDatabaseInfoArray On return, contains information about
+        *   the landmark databases. Any objects which are in the array when
+        *   it is passed to this function will be not be removed.
+        * @param aProtocol The protocol for which database URIs should be
+        *   listed.
+        */
+        IMPORT_C void ListDatabasesL(
+        /* OUT */       RPointerArray<HPosLmDatabaseInfo>& aDatabaseInfoArray,
+        /* IN  */       const TDesC& aProtocol = KNullDesC
+        );
+
+        /**
+        * Registers a landmark database.
+        *
+        * The landmark database is then returned when listing landmark
+        * databases.
+        *
+        * The client supplies an information object containing the URI of the
+        * database to register. The information object can also contain
+        * database settings, e.g. a display name for the database.
+        *
+        * This function requires @p ReadUserData and @p WriteUserData
+        * capabilities.
+        *
+        * @since S60 3.0
+        * @param aDatabaseInfo Information about the landmark database to
+        *   register.
+        * @return @p KErrNone if successful.\n
+        *   @p KErrArgument if the URI is incorrect.\n
+        *   @p KErrAlreadyExists if the database has already been registered.
+        */
+        IMPORT_C TInt RegisterDatabase(
+        /* IN/OUT */       HPosLmDatabaseInfo& aDatabaseInfo
+        );
+
+        /**
+        * Unregisters a landmark database.
+        *
+        * After this, the landmark database will not be returned when listing
+        * landmark databases.
+        *
+        * If the database has not been registered, nothing happens.
+        *
+        * This function requires @p ReadUserData and @p WriteUserData
+        * capabilities.
+        *
+        * @since S60 3.0
+        * @param aDatabaseUri The URI of the database to unregister.
+        * @param aDriveLetter The drive where the database resides. If
+        *   drive is not applicable, 0 should be specified.
+        * @return @p KErrNone if successful.\n
+        *   @p KErrArgument if the URI is incorrect.
+        */
+        IMPORT_C TInt UnregisterDatabase(
+        /* IN  */       const TDesC& aDatabaseUri,
+        /* IN  */       TChar aDriveLetter = 0
+        );
+
+        /**
+        * Unregisters all landmark databases which are accessed through a
+        * certain protocol.
+        *
+        * After this, the landmark databases will not be returned when listing
+        * landmark databases.
+        *
+        * If the protocol is not known or if there are no databases for
+        * the protocol, nothing happens.
+        *
+        * This function requires @p ReadUserData and @p WriteUserData
+        * capabilities.
+        *
+        * @since S60 3.0
+        * @param aProtocol The protocol to unregister all databases for.
+        * @return @p KErrNone if successful, otherwise a system-wide error
+        *   code.
+        */
+        IMPORT_C TInt UnregisterAllDatabases(
+        /* IN  */       const TDesC& aProtocol
+        );
+
+        /**
+        * Modifies the settings for a landmark database.
+        *
+        * This function requires @p ReadUserData and @p WriteUserData
+        * capabilities.
+        *
+        * @since S60 3.0
+        * @param aDatabaseUri The URI of the database to modify settings for.
+        * @param aDatabaseSettings The new settings for the database.
+        * @param aDriveLetter The drive where the database resides. If
+        *   drive is not applicable, 0 should be specified.
+        * @return @p KErrNone if successful.\n
+        *   @p KErrArgument if the URI is incorrect.\n
+        *   @p KErrNotFound if the URI does not exist in the registry.
+        */
+        IMPORT_C TInt ModifyDatabaseSettings(
+        /* IN  */       const TDesC& aDatabaseUri,
+        /* IN  */       const TPosLmDatabaseSettings& aDatabaseSettings,
+        /* IN  */       TChar aDriveLetter = 0
+        );
+
+        /**
+        * Retrieve information about a landmark database.
+        *
+        * This function requires @p ReadUserData capability.
+        *
+        * @since S60 3.0
+        * @param aDatabaseInfo An information object containing the URI of the
+        *   landmark database. On return, the object contains information about
+        *   the landmark database, including any database settings.
+        * @return @p KErrNone if successful.\n
+        *   @p KErrArgument if the URI is incorrect.\n
+        *   @p KErrNotFound if the URI does not exist in the registry.
+        */
+        IMPORT_C TInt GetDatabaseInfo(
+        /* IN/OUT */    HPosLmDatabaseInfo& aDatabaseInfo
+        );
+
+        /**
+        * Reports a database management event.
+        *
+        * The event is distributed to all listening clients.
+        *
+        * A database URI can be specified to indicate which database the
+        * event is about.
+        *
+        * This function requires @p ReadUserData and @p WriteUserData
+        * capabilities.
+        *
+        * @since S60 3.0
+        * @param aEvent Event information
+        * @param aDatabaseUri The URI of the database which the event is about.
+        * @return @p KErrNone if successful, otherwise a system-wide error
+        *   code.
+        */
+        IMPORT_C TInt ReportEvent(
+        /* IN  */       const TPosLmDatabaseEvent& aEvent,
+        /* IN  */       const TDesC& aDatabaseUri = KNullDesC
+        );
+
+    private:
+
+        HBufC8* SendMessageLC(
+        /* IN  */       TInt aFunction,
+        /* IN  */       const TDesC& aDes,
+        /* IN  */       TInt aLength,
+        /* IN/OUT */    TInt& aAllocLength
+        );
+
+        void PopulateArrayL(
+        /* OUT */       RPointerArray<HPosLmDatabaseInfo>& aDatabaseInfoArray,
+        /* IN  */       HBufC8* aBuffer
+        );
+
+        void PopulateArrayL(
+        /* OUT */       CDesCArray* aArray,
+        /* IN  */       HBufC8* aBuffer
+        );
+
+        void FreeResources();
+
+        static void FreeRsc(TAny* aParam);
+        /**
+        * Starts the server.
+        *
+        * @return KErrNone on success, otherwise any system wide error.
+        */
+        TInt StartServer();
+
+    private:    // Data
+
+        CPosLandmarkServerExtension* iExtension;
+    };
+
+#endif      // RPOSLANDMARKSERVER_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/resource/04440010.rss	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 0444 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "RegistryInfo.rh"
+#include "FT_LandmarksDbManagerUids.hrh"
+
+// RESOURCE DEFINITIONS
+// -----------------------------------------------------------------------------
+//   
+// r_dbmantestprov
+// ECOM registry information for Database Management Provider test plugins
+//
+// -----------------------------------------------------------------------------
+//
+RESOURCE REGISTRY_INFO r_dbmantestprov
+    {
+    dll_uid = 0x04440010;
+    interfaces = 
+        {
+        INTERFACE_INFO
+            {
+            interface_uid = KPosLmDbManagerBaseIfUid; 
+            implementations = 
+                {
+                IMPLEMENTATION_INFO
+                    {
+                    implementation_uid = 0x04440011;
+                    version_no = 1;
+                    display_name = "Protocol 1";
+                    default_data = "p1"; // supports p1 protocol
+                    }
+                };
+            }
+        };
+    }
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/src/CDbManTestPluginBase.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,322 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+
+// INCLUDE FILES
+//#include <EPos_PosLmDbInfoExtension.h>
+#include "CDbManTestPluginBase.h"
+#include "FT_RPosLandmarkServer.h"
+
+
+// CONSTANTS
+_LIT(KPluginProtocol, "test");
+
+// MEMBER FUNCTIONS
+
+// Destructor
+CDbManTestPluginBase::~CDbManTestPluginBase()
+    {
+    iDatabases.ResetAndDestroy();
+    }
+
+CDbManTestPluginBase::CDbManTestPluginBase()
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// CDbManTestPluginBase::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CDbManTestPluginBase* CDbManTestPluginBase::NewL(TAny* aConstructionParams)
+    {
+    CDbManTestPluginBase* self = new( ELeave ) CDbManTestPluginBase;
+    CleanupStack::PushL(self);
+    self->BaseConstructL(aConstructionParams);
+    CleanupStack::Pop(self);
+    return self;
+
+    }
+ 
+// ---------------------------------------------------------
+// CDbManTestPluginBase::ListDatabasesLC
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+CDesCArray* CDbManTestPluginBase::ListDatabasesLC() 
+    {
+    TInt count = iDatabases.Count();
+    CDesCArrayFlat* result = 
+       new(ELeave) CDesCArrayFlat(count == 0 ? 1 : count);
+    CleanupStack::PushL(result);
+
+    for (TInt i = 0; i < count; i++)
+        {
+        result->AppendL(iDatabases[i]->DatabaseUri());
+        }
+    return result;
+    }
+
+// ---------------------------------------------------------
+// CDbManTestPluginBase::ListDatabasesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CDbManTestPluginBase::ListDatabasesL(
+               RPointerArray<HPosLmDatabaseInfo>& aDatabaseInfoArray
+        ) 
+    {
+    TInt count = iDatabases.Count();
+
+    for (TInt i = 0; i < count; i++)
+        {
+        HPosLmDatabaseInfo* tmpDbInfo = 
+            HPosLmDatabaseInfo::NewLC(*(iDatabases[i]));
+        aDatabaseInfoArray.AppendL(tmpDbInfo);
+        CleanupStack::Pop(tmpDbInfo);
+        }
+    }
+
+// ---------------------------------------------------------
+// CDbManTestPluginBase::RegisterDatabaseL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CDbManTestPluginBase::RegisterDatabaseL(
+               HPosLmDatabaseInfo& aDatabaseInfo
+        ) 
+    {
+    if (DatabaseExistsL(aDatabaseInfo.DatabaseUri()))
+        {
+        User::Leave(KErrAlreadyExists);
+        }
+    HPosLmDatabaseInfo* tmpDbInfo = 
+        HPosLmDatabaseInfo::NewLC(aDatabaseInfo);
+    iDatabases.AppendL(tmpDbInfo);
+    CleanupStack::Pop(tmpDbInfo);
+    
+    TPosLmDatabaseEvent event;
+    event.iEventType = EPosLmDbDatabaseRegistered;
+    Session().ReportEvent(event, aDatabaseInfo.DatabaseUri());    
+    }
+
+// ---------------------------------------------------------
+// CDbManTestPluginBase::UnregisterDatabaseL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CDbManTestPluginBase::UnregisterDatabaseL(
+               const TDesC& aDatabaseUri
+        ) 
+    {
+    TInt index = FindUri(aDatabaseUri);
+    User::LeaveIfError(index);
+    delete iDatabases[index];
+    iDatabases.Remove(index);
+    
+    TPosLmDatabaseEvent event;
+    event.iEventType = EPosLmDbDatabaseUnregistered;
+    Session().ReportEvent(event, aDatabaseUri);
+    }
+
+// ---------------------------------------------------------
+// CDbManTestPluginBase::UnregisterAllDatabasesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CDbManTestPluginBase::UnregisterAllDatabasesL() 
+    {
+    iDatabases.ResetAndDestroy();
+    }
+
+// ---------------------------------------------------------
+// CDbManTestPluginBase::ModifyDatabaseSettingsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CDbManTestPluginBase::ModifyDatabaseSettingsL(
+               const TDesC& aDatabaseUri,
+               const TPosLmDatabaseSettings& aDatabaseSettings
+        ) 
+    {
+    TInt index = FindUri(aDatabaseUri);
+    User::LeaveIfError(index);
+    iDatabases[index]->Settings() = aDatabaseSettings;
+    
+    TPosLmDatabaseEvent event;
+    event.iEventType = EPosLmDbSettingsModified;
+    Session().ReportEvent(event, aDatabaseUri);
+    }
+
+// ---------------------------------------------------------
+// CDbManTestPluginBase::GetDatabaseInfoL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CDbManTestPluginBase::GetDatabaseInfoL(
+            HPosLmDatabaseInfo& aDatabaseInfo
+        ) 
+    {
+    TInt index = FindUri(aDatabaseInfo.DatabaseUri());
+    User::LeaveIfError(index);
+    HPosLmDatabaseInfo* dbInfo = iDatabases[index];
+    aDatabaseInfo.Settings() = dbInfo->Settings();
+    }
+
+// ---------------------------------------------------------
+// CDbManTestPluginBase::DatabaseExistsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TBool CDbManTestPluginBase::DatabaseExistsL( 
+               const TDesC&  aDatabaseUri
+        ) 
+    {
+    return FindUri(aDatabaseUri) >= 0 ? ETrue : EFalse;
+    }
+
+// ---------------------------------------------------------
+// CDbManTestPluginBase::CreateDatabaseL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CDbManTestPluginBase::CreateDatabaseL( 
+               HPosLmDatabaseInfo& aDatabaseInfo
+        ) 
+    {
+    // Do nothing
+    //RegisterDatabaseL(aDatabaseInfo);
+    //
+    }
+
+// ---------------------------------------------------------
+// CDbManTestPluginBase::DeleteDatabaseL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CDbManTestPluginBase::DeleteDatabaseL(
+               const TDesC&  aDatabaseUri
+        ) 
+    {
+    UnregisterDatabaseL(aDatabaseUri);
+    }
+
+// ---------------------------------------------------------
+// CDbManTestPluginBase::CopyDatabaseL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CDbManTestPluginBase::CopyDatabaseL(
+               const TDesC&  aSourceUri,
+               const TDesC&  aTargetUri
+        ) 
+    {
+    TInt srcIndex = FindUri(aSourceUri);
+    User::LeaveIfError(srcIndex);
+    TInt trgIndex = FindUri(aTargetUri);
+    if (trgIndex >= 0)
+        {
+        User::Leave(KErrAlreadyExists);
+        }
+    HPosLmDatabaseInfo* trgInfo = 
+        HPosLmDatabaseInfo::NewLC(aTargetUri);
+    iDatabases.AppendL(trgInfo);
+    CleanupStack::Pop(trgInfo);
+    }
+    
+// ---------------------------------------------------------
+// CDbManTestPluginBase::DatabaseMedia
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TMediaType CDbManTestPluginBase::DatabaseMedia(
+               const TDesC& /* aDatabaseUri */
+        ) 
+    {
+    return EMediaRemote;
+    }
+
+// ---------------------------------------------------------
+// CDbManTestPluginBase::DatabaseDrive
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TChar CDbManTestPluginBase::DatabaseDrive(
+               const TDesC& /* aDatabaseUri */
+        ) 
+    {
+    return 'U';
+    }
+    
+// ---------------------------------------------------------
+// CDbManTestPluginBase::Protocol
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TPtrC CDbManTestPluginBase::Protocol() 
+    {
+    return TPtrC(KPluginProtocol);
+    }
+
+// ---------------------------------------------------------
+// CDbManTestPluginBase::FindUri
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt CDbManTestPluginBase::FindUri(const TDesC& aUri) 
+    {
+    TInt index;
+    TInt count = iDatabases.Count();
+    TBool found = EFalse;
+    
+    for (index = 0; index < count && !found; index++)
+        {
+        if (aUri.Compare(iDatabases[index]->DatabaseUri()) == 0)
+            {
+            found = ETrue;
+            }
+        }
+    index--;
+
+    if (!found)
+        {
+        index = KErrNotFound;
+        }
+    return index;
+    }
+
+
+
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/src/DbManPluginsTestMain.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,45 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+// INCLUDE FILES
+#include <ImplementationProxy.h>
+#include "FT_LandmarksDbManagerUids.hrh"
+//#include "CDbManTestPlugin1.h"
+#include "CDbManTestPluginBase.h"
+//#include "CDbManTestPlugin2.h"
+//#include "CDbManTestPlugin3.h"
+
+// ==================== LOCAL FUNCTIONS ====================
+
+// Define the interface UIDs
+const TImplementationProxy KPosLmLocalImplTable[] = 
+    {
+    IMPLEMENTATION_PROXY_ENTRY(0x04440011, CDbManTestPluginBase::NewL),
+    //IMPLEMENTATION_PROXY_ENTRY(0x04440012, CDbManTestPlugin2::NewL),
+    //IMPLEMENTATION_PROXY_ENTRY(0x04440013, CDbManTestPlugin3::NewL)
+    };
+
+EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
+    {
+    aTableCount = sizeof(KPosLmLocalImplTable) / sizeof(TImplementationProxy);
+
+    return KPosLmLocalImplTable;
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/src/FT_LmDbManProviderMain.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,40 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*                Provider.
+*
+*/
+
+
+// INCLUDE FILES
+#include <ImplementationProxy.h>
+#include "FT_LandmarksDbManagerUids.hrh"
+#include "FT_CPosLmDatabaseManagerImpl.h"
+
+// ==================== LOCAL FUNCTIONS ====================
+
+// Define the interface UIDs
+const TImplementationProxy KPosLmLocalImplTable[] = 
+    {
+    IMPLEMENTATION_PROXY_ENTRY(KPosLmDbManagerImplUid, CPosLmDatabaseManagerImpl::NewL)
+    };
+
+EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
+    {
+    aTableCount = sizeof(KPosLmLocalImplTable) / sizeof(TImplementationProxy);
+
+    return KPosLmLocalImplTable;
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/conf/LandMarksTestModule1.cfg	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,617 @@
+
+[Test]
+title TP1
+create LandMarksTestModule foobar
+foobar FT_CPosTp1
+delete foobar
+[Endtest]
+
+
+
+[Test]
+title TP3
+create LandMarksTestModule foobar
+foobar FT_CPosTp3
+delete foobar
+[Endtest]
+
+[Test]
+title TP4
+create LandMarksTestModule foobar
+foobar FT_CPosTp4
+delete foobar
+[Endtest]
+
+[Test]
+title TP5
+create LandMarksTestModule foobar
+foobar FT_CPosTp5
+delete foobar
+[Endtest]
+
+[Test]
+title TP6
+create LandMarksTestModule foobar
+foobar FT_CPosTp6
+delete foobar
+[Endtest]
+
+
+[Test]
+title TP7
+create LandMarksTestModule foobar
+foobar FT_CPosTp7
+delete foobar
+[Endtest]
+
+[Test]
+title TP8
+create LandMarksTestModule foobar
+foobar FT_CPosTp8
+delete foobar
+[Endtest]
+
+[Test]
+title TP9
+create LandMarksTestModule foobar
+foobar FT_CPosTp9
+delete foobar
+[Endtest]
+
+[Test]
+title TP10
+create LandMarksTestModule foobar
+foobar FT_CPosTp10
+delete foobar
+[Endtest]
+
+
+[Test]
+title TP11
+create LandMarksTestModule foobar
+foobar FT_CPosTp11
+delete foobar
+[Endtest]
+
+[Test]
+title TP12
+create LandMarksTestModule foobar
+foobar FT_CPosTp12
+delete foobar
+[Endtest]
+
+[Test]
+title TP13
+create LandMarksTestModule foobar
+foobar FT_CPosTp13 1
+delete foobar
+[Endtest]
+
+
+[Test]
+title TP18
+create LandMarksTestModule foobar
+foobar FT_CPosTp18
+delete foobar
+[Endtest]
+
+
+[Test]
+title TP19
+create LandMarksTestModule foobar
+foobar FT_CPosTp19
+delete foobar
+[Endtest]
+
+
+[Test]
+title TP20
+create LandMarksTestModule foobar
+foobar FT_CPosTp20
+delete foobar
+[Endtest]
+
+
+
+[Test]
+title TP21
+create LandMarksTestModule foobar
+foobar FT_CPosTp21
+delete foobar
+[Endtest]
+
+
+
+
+[Test]
+title TP23
+create LandMarksTestModule foobar
+foobar FT_CPosTp23
+delete foobar
+[Endtest]
+
+
+
+[Test]
+title TP24
+create LandMarksTestModule foobar
+foobar FT_CPosTp24
+delete foobar
+[Endtest]
+
+
+[Test]
+title TP25
+create LandMarksTestModule foobar
+foobar FT_CPosTp25
+delete foobar
+[Endtest]
+
+
+
+[Test]
+title TP26
+create LandMarksTestModule foobar
+foobar FT_CPosTp26
+delete foobar
+[Endtest]
+
+
+
+[Test]
+title TP28
+create LandMarksTestModule foobar
+foobar FT_CPosTp28
+delete foobar
+[Endtest]
+
+
+[Test]
+title TP35
+create LandMarksTestModule foobar
+foobar FT_CPosTp35
+delete foobar
+[Endtest]
+
+
+[Test]
+title TP36
+create LandMarksTestModule foobar
+foobar FT_CPosTp36
+delete foobar
+[Endtest]
+
+[Test]
+title TP37
+create LandMarksTestModule foobar
+foobar FT_CPosTp37
+delete foobar
+[Endtest]
+
+[Test]
+title TP38
+create LandMarksTestModule foobar
+foobar FT_CPosTp38
+delete foobar
+[Endtest]
+
+[Test]
+title TP42
+create LandMarksTestModule foobar
+foobar FT_CPosTp42
+delete foobar
+[Endtest]
+
+[Test]
+title TP43
+create LandMarksTestModule foobar
+foobar FT_CPosTp43
+delete foobar
+[Endtest]
+
+[Test]
+title TP44
+create LandMarksTestModule foobar
+foobar FT_CPosTp44
+delete foobar
+[Endtest]
+
+[Test]
+title TP45
+create LandMarksTestModule foobar
+foobar FT_CPosTp45
+delete foobar
+[Endtest]
+
+
+[Test]
+title TP47
+create LandMarksTestModule foobar
+foobar FT_CPosTp47
+delete foobar
+[Endtest]
+
+
+
+[Test]
+title TP48
+create LandMarksTestModule foobar
+foobar FT_CPosTp48
+delete foobar
+[Endtest]
+
+
+[Test]
+title TP51
+create LandMarksTestModule foobar
+foobar FT_CPosTp51
+delete foobar
+[Endtest]
+
+[Test]
+title TP52
+create LandMarksTestModule foobar
+foobar FT_CPosTp52
+delete foobar
+[Endtest]
+
+
+[Test]
+title TP100
+create LandMarksTestModule foobar
+foobar FT_CPosTp100
+delete foobar
+[Endtest]
+
+[Test]
+title TP101
+create LandMarksTestModule foobar
+foobar FT_CPosTp101
+delete foobar
+[Endtest]
+
+[Test]
+title TP102
+create LandMarksTestModule foobar
+foobar FT_CPosTp102
+delete foobar
+[Endtest]
+
+
+[Test]
+title TP103
+create LandMarksTestModule foobar
+foobar FT_CPosTp103
+delete foobar
+[Endtest]
+
+[Test]
+title TP104
+create LandMarksTestModule foobar
+foobar FT_CPosTp104
+delete foobar
+[Endtest]
+
+[Test]
+title TP106
+create LandMarksTestModule foobar
+foobar FT_CPosTp106
+delete foobar
+[Endtest]
+
+[Test]
+title TP116
+create LandMarksTestModule foobar
+foobar FT_CPosTp116
+delete foobar
+[Endtest]
+
+[Test]
+title TP117
+create LandMarksTestModule foobar
+foobar FT_CPosTp117
+delete foobar
+[Endtest]
+
+
+[Test]
+title TP119
+create LandMarksTestModule foobar
+foobar FT_CPosTp119
+delete foobar
+[Endtest]
+
+[Test]
+title TP120
+create LandMarksTestModule foobar
+foobar FT_CPosTp120
+delete foobar
+[Endtest]
+
+
+[Test]
+title TP121
+create LandMarksTestModule foobar
+foobar FT_CPosTp121
+delete foobar
+[Endtest]
+
+
+
+[Test]
+title TP122
+create LandMarksTestModule foobar
+foobar FT_CPosTp122
+delete foobar
+[Endtest]
+
+
+
+[Test]
+title TP123
+create LandMarksTestModule foobar
+foobar FT_CPosTp123
+delete foobar
+[Endtest]
+
+
+
+[Test]
+title TP124
+create LandMarksTestModule foobar
+foobar FT_CPosTp124
+delete foobar
+[Endtest]
+
+
+
+[Test]
+title TP125
+create LandMarksTestModule foobar
+foobar FT_CPosTp125
+delete foobar
+[Endtest]
+
+[Test]
+title TP126
+create LandMarksTestModule foobar
+foobar FT_CPosTp126
+delete foobar
+[Endtest]
+
+[Test]
+title TP130
+create LandMarksTestModule foobar
+foobar FT_CPosTp130
+delete foobar
+[Endtest]
+
+
+
+[Test]
+title TP131
+create LandMarksTestModule foobar
+foobar FT_CPosTp131
+delete foobar
+[Endtest]
+
+
+[Test]
+title TP132
+create LandMarksTestModule foobar
+foobar FT_CPosTp132
+delete foobar
+[Endtest]
+
+
+
+[Test]
+title TP133
+create LandMarksTestModule foobar
+foobar FT_CPosTp133
+delete foobar
+[Endtest]
+
+[Test]
+title TP134
+create LandMarksTestModule foobar
+foobar FT_CPosTp134
+delete foobar
+[Endtest]
+
+
+[Test]
+title TP135
+create LandMarksTestModule foobar
+foobar FT_CPosTp135
+delete foobar
+[Endtest]
+
+
+
+[Test]
+title TP136
+create LandMarksTestModule foobar
+foobar FT_CPosTp136
+delete foobar
+[Endtest]
+
+
+
+[Test]
+title TP137
+create LandMarksTestModule foobar
+foobar FT_CPosTp137
+delete foobar
+[Endtest]
+
+
+[Test]
+title TP139
+create LandMarksTestModule foobar
+foobar FT_CPosTp139
+delete foobar
+[Endtest]
+
+
+
+[Test]
+title TP141
+create LandMarksTestModule foobar
+foobar FT_CPosTp141
+delete foobar
+[Endtest]
+
+[Test]
+title TP143 - Counters
+create LandMarksTestModule foobar
+foobar FT_CPosTp143
+delete foobar
+[Endtest]
+
+[Test]
+title TP144 
+create LandMarksTestModule foobar
+foobar FT_CPosTp144
+delete foobar
+[Endtest]
+
+[Test]
+title TP145
+create LandMarksTestModule foobar
+foobar FT_CPosTp145
+delete foobar
+[Endtest]
+
+[Test]
+title TP146
+create LandMarksTestModule foobar
+foobar FT_CPosTp146
+delete foobar
+[Endtest]
+
+[Test]
+title TP147
+create LandMarksTestModule foobar
+foobar FT_CPosTp147
+delete foobar
+[Endtest]
+
+[Test]
+title TP148
+create LandMarksTestModule foobar
+foobar FT_CPosTp148
+delete foobar
+[Endtest]
+
+[Test]
+title TP149
+create LandMarksTestModule foobar
+foobar FT_CPosTp149
+delete foobar
+[Endtest]
+
+[Test]
+title TP150
+create LandMarksTestModule foobar
+foobar FT_CPosTp150
+delete foobar
+[Endtest]
+
+[Test]
+title TP151
+create LandMarksTestModule foobar
+foobar FT_CPosTp151
+delete foobar
+[Endtest]
+
+[Test]
+title TP152
+create LandMarksTestModule foobar
+foobar FT_CPosTp152
+delete foobar
+[Endtest]
+
+[Test]
+title TP153
+create LandMarksTestModule foobar
+foobar FT_CPosTp153
+delete foobar
+[Endtest]
+
+[Test]
+title TP154
+create LandMarksTestModule foobar
+foobar FT_CPosTp154
+delete foobar
+[Endtest]
+
+[Test]
+title TP155
+create LandMarksTestModule foobar
+foobar FT_CPosTp155
+delete foobar
+[Endtest]
+
+[Test]
+title TP156
+create LandMarksTestModule foobar
+foobar FT_CPosTp156
+delete foobar
+[Endtest]
+
+[Test]
+title TP157
+create LandMarksTestModule foobar
+foobar FT_CPosTp157
+delete foobar
+[Endtest]
+
+[Test]
+title TP158
+create LandMarksTestModule foobar
+foobar FT_CPosTp158
+delete foobar
+[Endtest]
+
+[Test]
+title TP159
+create LandMarksTestModule foobar
+foobar FT_CPosTp159
+delete foobar
+[Endtest]
+
+[Test]
+title TP160
+create LandMarksTestModule foobar
+foobar FT_CPosTp160
+delete foobar
+[Endtest]
+
+[Test]
+title TP161
+create LandMarksTestModule foobar
+foobar FT_CPosTp161
+delete foobar
+[Endtest]
+
+[Test]
+title TP162
+create LandMarksTestModule foobar
+foobar FT_CPosTp162
+delete foobar
+[Endtest]
+
+[Test]
+title TP163
+create LandMarksTestModule foobar
+foobar FT_CPosTp163
+delete foobar
+[Endtest]
+
+[Test]
+title TP164
+create LandMarksTestModule foobar
+foobar FT_CPosTp164
+delete foobar
+[Endtest]
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/552410208-landmarksDb.xls has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/CompositelandmarksDb.txt	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,110 @@
+#CategoryId	CategoryName	Icon name	Icon index	Id	In Categories	 LandmarkName	CoverageRadius	Description	Icon name	Icon index	Street	PostalCode	City	LocationName	Country	Media Link 1	Media Link 2	Lat	Long	Hor. Acc	Vert. Acc
+1	Pizzeria	z:\\system\\test\\landmarkstestsicon.mbm	1	1	1	LOG	1	jadajadjada	ikon slask	1			Halmstad	Drivhuset Plan7		html/text/http://www.idg.se/to.html1	html/text/https://www.aftonbladet.s	45,5	-44,5	10	10
+2	Hamburgerbar	z:\\system\\test\\landmarkstestsicon.mbm	1	2	1	LOG11	2	jadajadjada	ikon snask	1	Berghemsgatan 2	531 37	Kållered	Västra Götaland	 Sverige 	html/text/http://www.idg.se/to.html2	html/text/https://www.aftonbladet.se	46	44	14	10
+3	Kinarestaurang	z:\\system\\test\\landmarkstestsicon.mbm	1	3	2	God	23		ikon skask	1		431 31	Mölndal	Västra Götaland	 Sverige1 	html/text/http://www.idg.se/to.html3	html/text/https://www.aftonbladet.se	45	45	11	10
+4	Garaget	z:\\system\\test\\landmarkstestsicon.mbm	1	4	2	vegetariskt	5	jadajadjada	ikon spask	1	Berghemsgatan 10		Mölndal	Västra Götaland	 Sverige1 	html/text/http://www.idg.se/to.html4	html/text/https://www.aftonbladet.se	-45,5	-44,5	0	10
+5	Bilverkstad	z:\\system\\test\\landmarkstestsicon.mbm	2	5	3	Inte sa bra	6	jadajadjada			Berghemsgatan 4	431 31		Västra Götaland	 Sverige1 	html/text/http://www.idg.se/to.html5	html/text/https://www.aftonbladet.se	-46,105	46,105	0	10
+6	Pasta Restaurang	z:\\system\\test\\landmarkstestsicon.mbm	2	6	3	Dyrt	7	jadajadjada	ikon PelleFant	2	Berghemsgatan 7	431 31	Mölndal		 Sverige1 	html/text/http://www.idg.se/to.html6	html/text/https://www.aftonbladet.se	70	70	180	10
+7	Bilia		2	7	1-3,14-17	Billigt	8	jadajadjada	ikon Abibblan	2	Berghemsgatan 6	431 31	Mölndal	Västra Götaland		html/text/http://www.idg.se/to.html7	html/text/https://www.aftonbladet.se	63	23	18	10
+8	VolksWagen	sddsa	2	8	3	Medel	1	MLFW	ikon bibblan123	2	Berghemsgatan 8	431 31	Mölndal	Västra Götaland	 Sverige1 	html/text/http://www.idg.se/to.html8		5	37,6	37,6	10
+9	Taxi Göteborg	dasdsada	2	9	3	Medel2	1	jadajadjada	ikon bibblan123	2	Berghemsgatan 5	431 31	Mölndal	Västra Götaland	 Sverige1 	html/text/http://www.idg.se/to.html9		5	37,6	37,6	10
+10	Taxi	dsa	2	10	3	MLFW2	1	MLFW	ikon PelleFant	2	Berghemsgatan 9	431 31	Mölndal	Västra Götaland	 Sverige1 	html/text/http://www.idg.se/to.html10	html/text/http://www.idg.se	-1	-81	25	0
+11	Stadsbibliotek	aaa	2	11		MLFW	1	aaaaaa	ikon PelleFant	2	MLFW	351 25	 HalmstadA 		 BSverige1 	html/text/http://www.idg.se/to.html11	html/text/http://www.idg.se	0	-67	48	0
+12	Systembolag	aaa	3	12	3	GatesB	1	bbbbbbb	ikon PelleFant	3	PastaGatan L	MLFW	 HalmstadB 		 BSverige2 	html/text/http://www.idg.se/to.html12	html/text/http://www.hotmail.com	1	-81	7	0
+13	Nokia Kontor	aaa	3	13	3	Text'''1	1	ccccccc	ikon PelleFant	3	PastaGatan N	MLFW	 MLFW 		 BSverige3 	html/text/http://www.idg.se/to.html13	html/text/http://www.idg.se	45	-45	18	0
+14	TietoEnator kontor	aaa	3	14	5	GatesF	1	dddddddd	ikon PelleFant	3	MLFW	351 29	 HalmstadJ 		 BSverige4 	html/text/http://www.idg.se/to.html14	html/text/http://www.idg.se	-1	-80	168	0
+15	Thai Restaurang	bbb	3	15	5	xStekt	1	MLFW	ikon PelleFant	3	Berghemsgatan 11	431 31	 Mölndal 		Västra Götaland	html/text/http://www.idg.se/to.html15	html/text/http://www.idg.se	-5	25		
+16	McDonalds	bbb	3	16	3	Akorthus	1	fffffffffffffffff	ikon PelleFant	3	AStora biblioteksgatan 24	A123 45	 AStorGöteborg 		AÖstra Götaland	html/text/http://www.idg.se/to.html16	html/text/http://www.idg.se	1	-81	12	50
+17	BurgerKing	bbb	3	17	17	Stadskortxhus	1	ggghhhhhh	ikon PelleFant	3	Stora biblioteksgatan 25	321 32	 StorGöteborg123 		Östra Götaland123	html/text/http://www.idg.se/to.html17	html/text/http://www.idg.se	57	11	11	9
+18	Frisör	bbb	3	18	18	enat?r	1	iiiijjjjjj	ikon PelleFant	3	Stora biblioteksgatan 25	321 32	 StorGöteborg123 		Östra Götaland123	html/text/http://www.idg.se/to.html18	html/text/http://www.idg.se	0	-80,5	10,2	1,5
+19	Hunddagis	bbb	4	19	19	enator	1	kkkkklll	Gårdaikonen	4	Berghemsgatan 1				Finland	html/text/http://www.idg.se/to.html19		23	23	10,2	1,5
+20	Veterinär	bbb	4	20	21	LOG2	1	mmmm	Gårdaikonen	4	Berghemsgatan 2	431 32	Mölndal		Västra Götaland	html/text/http://www.idg.se/to.html20	html/text/https://www.aftonbladet.se	-1	80	10,2	1,5
+21	Kyrkogård	bbb	4	21	19	LOG3	1	nnnxnnn	Gårdaikonen	4	Berghemsgatan 3	431 33	Mölndal 		Västra Götaland	html/text/http://www.idg.se/to.html21	html/text/https://www.aftonbladet.se	1	80	25	300
+22	Museum	bbb	4	22	22	LOG4	1	ooooooo	Gårdaikonen	4	Berghemsgatan 4	431 34	Mölndal		Västra Götaland	html/text/http://www.idg.se/to.html22	html/text/http://www.idg.se	-1	81	10,2	1,55
+23	Dagis	bbb	4	23	23	LOG5	1	ppppppx	Gårdaikonen	4	Berghemsgatan 5	431 35	Mölndal		Västra Götaland	html/text/http://www.idg.se/to.html23	html/text/https://www.aftonbladet.se	1	81	18	120
+24	StadsPark	bbb	4	24	24	LOG6	1	asd	Gårdaikonen	4	Berghemsgxatan 6	431 36	Mölndal		Västra Götaland	html/text/http://www.idg.se/to.html24	html/text/http://www.idg.se	0	80,5	168,9	7000
+25	Sjukhus	bbb	4	25	25	x	1	r	Gårdaikonen	4	Berghemsgatan 7	x431 37	Mölndal		Västra Götaland	html/text/http://www.idg.se/to.html25	html/text/https://www.aftonbladet.se	-84	12,4	12,5	10
+26	Läkare	bbb	5	26	26	LOG8	1	x	Gårdaikonen	5	Berghemsgatan 8	431 38	xMölndal		Västra Götaland	html/text/http://www.idg.se/to.html26	html/text/https://www.aftonbladet.se	5	25	59	2000
+				27	11-17	LOG9	1	ttttt	Gårdaikonen	5	Berghemsgatan 9	431 39	Mölndal	x	Västra Götaland	html/text/http://www.idg.se/to.html27	html/text/https://www.aftonbladet.se	-84	12		
+				28	11	LOG10	1	v	Gårdaikonen	5	Berghemsgatan 10	431 40	Mölndal		Västra Götalandx	html/text/http://www.idg.se/to.html28	html/text/https://www.aftonbladet.se	10	14	13,9	6000
+				29	26	Unique	1		Gårdaikonen	5		256 78	Mölndal		Daanmark	html/text/http://www.idg.se/to.html29	html/text/https://www.aftonbladet.se	45,5	-0,5	0	1200
+				30	26	Text'1	1	Unique	Gårdaikonen	5		256 78	Götet		Daanmark	html/text/http://www.idg.se/to.html30	html/text/https://wwwx.aftonbladet.se	45,5	0	0	112
+				31	26	Text1	1		 Focus Torget1 	56	Unique	256 78	Mölndal		Daanmark	html/text/http://www.idg.se/to.html31	html/text/https://www.aftonbladet.se	45,5	0,5	0	0
+				32		Text2	1		 Focus Torget1 	6		256 78	 Unique 		Daanmark	html/text/http://www.idg.se/to.html32	html/text/https://www.aftonbladet.se	89	-15	0	0								
+				33	26	Text3	1		 Focus Torget1 	6		256 78	Götet		Daanmark	html/text/http://www.idg.se/to.html33	html/text/https://www.aftonbladet.se	5	37,6	0	0								
+				34	26	Text4	1		 Focus Torget1 	66		256 78	Götet		Daanmark	html/text/http://www.idg.se/to.html34	html/text/http://www.idg.se	63	23	18	0								
+				35	26	Text5	1		 Focus Torget1 	6		256 78	Götet		Daanmark	html/text/http://www.idg.se/to.html35	html/text/https://www.aftonbladet.se	-84,2	-2,67	168,9	0								
+				36		Text6	1		 Focus Torget1 	6		256 78	Götet		Daanmark	html/text/http://www.idg.se/to.html36	html/text/http://www.idg.se	5	37,6	37,6	0								
+				37	26	Text7	1		 Focus Torget1 	6		256 78	Götet		Daanmark	html/text/http://www.idg.se/to.html37	o	5	37,6	37,6	0								
+				38	26	Text8	1					256 78	Götet		Daanmark	html/text/http://www.idg.se/to.html38	html/text/http://www.idg.se	5	37,6	0	0								
+				39		Text9	1					256 78	Götet		Daanmark	html/text/http://www.idg.se/to.html39		5	25	59	2000								
+				40	26	Text10	1					256 78	Götet		Daanmark	html/text/http://www.idg.se/to.html40		0	180	168,9	4500								
+				41	26	q	1					256 78	Götet		Daanmark	html/text/http://www.idg.se/to.html41		-1	180	37,6	2								
+				42	26	asd	1					256 78				html/text/http://www.idg.se/to.html42		1	180	37,6	1								
+				43		asdf	1					256 78				html/text/http://www.idg.se/to.html43		0	-179										
+				44	26	dfdsf	1					256 78				html/text/http://www.idg.se/to.html44		0	179										
+				45	26	Several	1	Several	Several	1	Several	Several	Several	Several	Several	html/text/http://www.idg.se/to.html45	Several	-1	-179										
+				46	26	oki	1	aaa	aaa							html/text/http://www.idg.se/to.html46		-1	179										
+				47	26	abab	1	oki	aaa							html/text/http://www.idg.se/to.html47		1	-179										
+				48	26	Nokia	1	aaa	aaa		oki					html/text/http://www.idg.se/to.html48		1	179										
+				49	26	aba	1	Nokia	aaa		aaa		aaa			html/text/http://www.idg.se/to.html49		-25	34										
+				50	26	aca	1	aaa	aaa			Noki				html/text/http://www.idg.se/to.html50		65	-76,6										
+				51	1	PellesPizza	1		IconName1		Berghemsgatan1				 Sverige 	html/text/http://www.idg.se/to.html51		12,89	156										
+				52	19	Kalles Hundgård	1		IconName2		Berghemsgatan2				 Sverige 	html/text/http://www.idg.se/to.html52		-45	-1	12	50								
+				53	21	Sjömanskyrkan	1		IconName3		Berghemsgatan3				 Sverige 	html/text/http://www.idg.se/to.html53		25,05	-5,5	13	49								
+				54	14	TE, Gårda	10		IconName4		Berghemsgatan4				 Sverige 	html/text/http://www.idg.se/to.html54		-45	-5	14	48								
+				55	14	TE, Eriksberg	20		IconName5		Berghemsgatan5				 Sverige 	html/text/http://www.idg.se/to.html55		-35	0	15	47								
+				56		TE, Lund	30		IconName6		Berghemsgatan6				 Sverige 	html/text/http://www.idg.se/to.html56		-25	5	16	46								
+				57	14	TE, Karlstad	40		IconName7		Berghemsgatan7				 Sverige 	html/text/http://www.idg.se/to.html57		-15	10										
+				58	14	TE, Kista	50		IconName8		Berghemsgatan8				 Sverige 	html/text/http://www.idg.se/to.html58		-5	15										
+				59	14	TE, Stockholm	60		IconName9		Berghemsgatan9				 Sverige 	html/text/http://www.idg.se/to.html59		5	20										
+				60	14	TE, Oulu	70		IconName10		Berghemsgatan10				Finland	html/text/http://www.idg.se/to.html60		15	25										
+				61	14	TE, Tampere	80		IconName11		Berghemsgatan11				Finland	html/text/http://www.idg.se/to.html61		25	30										
+				62	13	Nokia, Köpenhamn	1		IconName12		Berghemsgatan12				Danmark	html/text/http://www.idg.se/to.html62		90	1										
+				63	13	Nokia, Stockholm	1		IconName13		Berghemsgatan13				 Sverige 	html/text/http://www.idg.se/to.html63		90	-180										
+				64	13	Oulu	1		IconName14		Berghemsgatan14				 Sverige 	html/text/http://www.idg.se/to.html64		67	123		
+				65	13	Tampere	5		IconName15		Berghemsgatan15				 Sverige 	html/text/http://www.idg.se/to.html65		67	123		
+				66	13	Helsinki	10		IconName16		Berghemsgatan16				 Sverige 	html/text/http://www.idg.se/to.html66		67	123		
+				67	13	Bengtfors	15		IconName17		Berghemsgatan17				 Sverige 	html/text/http://www.idg.se/to.html67		67	123		
+				68	13	Karlstad	20		IconName18		Berghemsgatan18				 Sverige 	html/text/http://www.idg.se/to.html68		67	123		
+				69	13	Mölndal	25		IconName19		Berghemsgatan19				 Sverige 	html/text/http://www.idg.se/to.html69		67	123		
+				70	13	Göteborg	30		IconName20		Berghemsgatan20				 Sverige 	html/text/http://www.idg.se/to.html70		67	123		
+				71	13	PallesPalör	35		IconName21		Berghemsgatan21				 Sverige 	html/text/http://www.idg.se/to.html71		89	0		
+				72	26	Läkare utan gränser	1		IconName22		Berghemsgatan22				 Sverige 	html/text/http://www.idg.se/to.html72		179	120,58		
+				73	26	Mölndal	1		IconName23		Berghemsgatan23				 Sverige 	html/text/http://www.idg.se/to.html73		-89	-180		
+				74	26	Läkargruppen	1		IconName24		Berghemsgatan24				 Sverige 	html/text/http://www.idg.se/to.html74		-89	180		
+				75	26	Läkarhuset	1		IconName25		Berghemsgatan25				 Sverige 	html/text/http://www.idg.se/to.html75		-90	180		
+				76	26	Sahlgrenska	1		IconName26		Berghemsgatan26				 Sverige 	html/text/http://www.idg.se/to.html76		-90	-180		
+				77	26	östra sjukhuset	1		IconName27		Berghemsgatan27				 Sverige 	html/text/http://www.idg.se/to.html77		-90	0		
+				78	20	Blå stjärnan	1		IconName28		Berghemsgatan28				 Sverige 	html/text/http://www.idg.se/to.html78		-89	0		
+				79	10	MiniTaxi	1		IconName29		Berghemsgatan29				 Sverige 	html/text/http://www.idg.se/to.html79		137	36,65		
+				80	10	GöteborgsTaxi	1		IconName30		Berghemsgatan30				 Sverige 	html/text/http://www.idg.se/to.html80		-89	20		
+				81	10	LandvetterTaxi	1		IconName31		Berghemsgatan31				 Sverige 	html/text/http://www.idg.se/to.html81		-89	-20		
+				82	10	TaxiStockholm	1		IconName32		Berghemsgatan32				 Sverige 	html/text/http://www.idg.se/to.html82		-90	20		
+				83	10	SvartTaxi	1		IconName33		Berghemsgatan33				 Sverige 	html/text/http://www.idg.se/to.html83		113	-11,31		
+				84	22	Länsmuseumet	1		IconName34		Berghemsgatan34				 Sverige 	html/text/http://www.idg.se/to.html84		107	-23,3		
+				85	22	Sjöfartsmuseumet	1		IconName35		Berghemsgatan35				 Sverige 	html/text/http://www.idg.se/to.html85		0	0		
+				86	22	KinaMuseumet	1		IconName36		Berghemsgatan36				 Sverige 	html/text/http://www.idg.se/to.html86		-0,5	0		
+				87	22	Naturhistoriska	1		IconName37		Berghemsgatan37				 Sverige 	html/text/http://www.idg.se/to.html87		0,5	0		
+				88		Etnogfrafiska	1		IconName38		Berghemsgatan38				 Sverige 	html/text/http://www.idg.se/to.html88		0	0,5		
+				89	22	TekniskaMuseumet	1		IconName39		Berghemsgatan39				 Sverige 	html/text/http://www.idg.se/to.html89		0	-0,5		
+				90	23	Krokslätts dagis	1		IconName40		Berghemsgatan40				 Sverige 	html/text/http://www.idg.se/to.html90		0,5	0,5		
+				91	23	Centrum dagiset	1		IconName41		Berghemsgatan41				 Sverige 	html/text/http://www.idg.se/to.html91		0,5	-0,5		
+				92		Dagis Majorna	1		IconName42		Berghemsgatan42				 Sverige 	html/text/http://www.idg.se/to.html92		-0,5	0,5		
+				93	23	Lackarbäcks daghem	1		IconName43		Berghemsgatan43				 Sverige 	html/text/http://www.idg.se/to.html93		-0,5	-0,5		
+				94	23	Saab dagis	1		IconName44		Berghemsgatan44				 Sverige 	html/text/http://www.idg.se/to.html94		47	-143,2		
+				95	23	TE dagis	1		IconName45		Berghemsgatan45				 Sverige 	html/text/http://www.idg.se/to.html95		41	-155,19		
+				96	23	TietoEnator Lekstugan	1		IconName46		Berghemsgatan46				 Sverige 	html/text/http://www.idg.se/to.html96		11,00005	11,00005		
+				97	18	Panache	1		IconName47		Berghemsgatan47				 Sverige 	html/text/http://www.idg.se/to.html97		29	32		
+				98	18	Börjessons herrfrisör	1		IconName48		Berghemsgatan48				 Sverige 	html/text/http://www.idg.se/to.html98		23	4		
+				99	18	Modefrisörerna	1		IconName49		Berghemsgatan49				 Sverige 	html/text/http://www.idg.se/to.html99		17	55		
+				100	18	krokslätts frisörerna	1		IconName50		Berghemsgatan50				 Sverige 	html/text/http://www.idg.se/to.html100		11	66		
+				101	12	Gårda	1		IconName51		Berghemsgatan51				 Sverige 	html/text/http://www.idg.se/to.html101		5	77		
+				102	12	Mölndal	1		IconName52		Berghemsgatan52				 Sverige 	html/text/http://www.idg.se/to.html102		-1	88		
+				103		Kållered	1		IconName53		Berghemsgatan53				 Sverige 	html/text/http://www.idg.se/to.html103		-7	56,56		
+				104	12	Nordstan	1		IconName54		Berghemsgatan54				 Sverige 	html/text/http://www.idg.se/to.html104		-13	54,45		
+				105	12	Munkebäck	1		IconName55		Berghemsgatan55				 Sverige 	html/text/http://www.idg.se/to.html105		17,0005	17,0005		
+#																					
+#																					
+#																					
+#																					
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/EMPTY_EPOSLMGLOBALCATEGORIES.R01 has changed
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/EPOSLMASYNCOPS.RSC has changed
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/EPOSLMGLOBALCATEGORIES.R01 has changed
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/EPOSLMGLOBALCATEGORIES.R02 has changed
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/EPOSLMGLOBALCATEGORIES.R03 has changed
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/EPOSLMINTSERVICES_198KB.RSC has changed
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/EPOSLMINTSERVICES_453KB.RSC has changed
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/EPOSLM_020.LDB has changed
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/EPOSLM_040.LDB has changed
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/EPOSLM_060.LDB has changed
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/EPOSLM_080.LDB has changed
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/EPOSLM_105.LDB has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/LmRecognizerData.txt	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,33 @@
+#Note that when saving from Excel additional " charachters may be added, thus causing the test to fail
+#Buffer	Result	Mime Comment
+<?xml *?><lm:lmx xmlns="http://www.nokia.com/schemas/location/landmarks/"									#	ECertain	lmx		OK
+<?xml *?><gpx xmlns="http://www.topografix.com/GPX/"												  		#	ECertain	gpx		OK
+<?xml *?><lala:lmx xmlns:n="http://www.nokia.com/schemas/location/landmarks/"								#	ECertain	lmx		OK
+<?xml *?><gps:gpx xmlns="http://www.topografix.com/GPX/" 													#	ECertain	gpx		OK
+<?xml *?><!-- Comment -->  <lm:lmxsdfsdf xmlns="http://www.nokia.com/schemas/location/landmarks/""<*lmx>"	#	ECertain	lmx		OK
+<?xml *?><!-- Comment2 -->  <lm:gpxsdfsdf xmlns="http://www.topografix.com/GPX/""<*gpx>"			  		#	ECertain	gpx		OK
+<?xml k?> <lm:lmx*> 																						#	EProbable	lmx		OK
+<?xml k?> <lm:gpx*> 																						#	EProbable	gpx		OK
+<?xml *?> <lala:lmx>																						#	EProbable	lmx		OK
+<?xml *?> <lala:gpx>																						#	EProbable	gpx		OK
+<?xml *?><lala:lmx>< xmlns:n="http://www.nokia.com/schemas/location/landmarks/"								#	EProbable	lmx		link not in same tag as lmx
+<?xml *?><lala:gpx>< xmlns:n="http://www.topografix.com/GPX/"												#	EProbable	gpx		link not in same tag as lmx
+<?xml ?><xmlns="http://www.nokia.com/schemas/location/landmarks/"											#	None		none	missing lmx
+<?xml ?><xmlns="http://www.topografix.com/GPX/"										   						#	None		none	missing lmx
+<?xml *?>,<lm:lmx xmlns:n="http://www.nokia.com/schemas/location/landmarks/"					   			#	None		none	Comma between tags
+<?xml dsf><lm:lmx xmlns="http://www.nokia.com/schemas/location/landmarks/"									#	None		none	No ?> at end of tag
+<?xml?> < *lm:lMx*> 																						#	None		none	Capitals
+<? xml ?> < *lm:lmx*> 																						#	None		none	space in tag
+<?XML ?> < *lmx*> 																							#	None		none	wrong prolog
+<?XML ?> < *gpx*> 																							#	None		none	wrong prolog
+Thomas<?xml k?>, < *lmx*> 																					#	None		none	wrong start
+Thomas<?xml k?>, < *gpx*> 																					#	None		none	wrong start
+  <?xml k?>       < *lm:lmx*> 																				#	None		none	white spaces
+  <?xml k?>       < *gps:gpx*> 																				#	None		none	white spaces
+<*lmx><?xml ?>																								#	None		none	wrong prolog
+<*gpx><?xml ?>																								#	None		none	wrong prolog
+<*lmx><xmlns="http://www.nokia.com/schemas/location/landmarks/"<?xml ?>"									#	None		none	wrong prolog
+<*gpx><xmlns="http://www.topografix.com/GPX/"<?xml ?>"														#	None		none	wrong prolog
+<kalllmxdd><xmlns="http://www.nokia.com/schemas/location/landmarks/"								   		#	None		none	wrong start
+<kalllmxdd><xmlns="http://www.topografix.com/GPX/"															#	None		none	wrong start
+kjsadflkj																									#	None		none	bullshit
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/LmRecognizerDataFile.txt	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,39 @@
+#Note that when saving from Excel additional " charachters may be added, thus causing the test to fail
+#Buffer	Result	Mime Comment
+<?xml *?><lm:lmx xmlns="http://www.nokia.com/schemas/location/landmarks/"									#	ECertain	lmx		OK
+<?xml *?><gpx xmlns="http://www.topografix.com/GPX/"															#	ECertain	gpx		OK
+<?xml *?><lala:lmx xmlns:n="http://www.nokia.com/schemas/location/landmarks/"								#	ECertain	lmx		OK
+<?xml *?><gps:gpx xmlns="http://www.topografix.com/GPX/" 													#	ECertain	gpx		OK
+<?xml *?><!-- Comment -->  <lm:lmxsdfsdf xmlns="http://www.nokia.com/schemas/location/landmarks/""<*lmx>"	#	ECertain	lmx		OK
+<?xml *?><!-- Comment2 -->  <lm:gpxsdfsdf xmlns="http://www.topografix.com/GPX/""<*gpx>"						#	ECertain	gpx		OK
+<?xml k?> <lm:lmx*> 																						#	EProbable	lmx		OK
+<?xml k?> <lm:gpx*> 																						#	EProbable	gpx		OK
+<?xml *?> <lala:lmx>																						#	EProbable	lmx		OK
+<?xml *?> <lala:gpx>																						#	EProbable	gpx		OK
+<?xml *?><lala:lmx>< xmlns:n="http://www.nokia.com/schemas/location/landmarks/"								#	EProbable	lmx		link not in same tag as lmx
+<?xml *?><lala:gpx>< xmlns:n="http://www.topografix.com/GPX/"												#	EProbable	gpx		link not in same tag as lmx
+<?xml ?><xmlns="http://www.nokia.com/schemas/location/landmarks/"											#	None		none	missing lmx
+<?xml ?><xmlns="http://www.topografix.com/GPX/"										   						#	None		none	missing lmx
+<?xml *?>,<lm:lmx xmlns:n="http://www.nokia.com/schemas/location/landmarks/"									#	None		none	Comma between tags
+<?xml dsf><lm:lmx xmlns="http://www.nokia.com/schemas/location/landmarks/"									#	None		none	No ?> at end of tag
+<?xml?> < *lm:lMx*> 																						#	None		none	Capitals
+<? xml ?> < *lm:lmx*> 																					    #	None		none	space in tag
+<?XML ?> < *lmx*> 																							#	None		none	wrong prolog
+<?XML ?> < *gpx*> 																							#	None		none	wrong prolog
+Thomas<?xml k?>, < *lmx*> 																					#	None		none	wrong start
+Thomas<?xml k?>, < *gpx*> 																					#	None		none	wrong start
+  <?xml k?>       < *lm:lmx*> 																				#	None		none	white spaces
+  <?xml k?>       < *gps:gpx*> 																				#	None		none	white spaces
+<*lmx><?xml ?>																								#	None		none	wrong prolog
+<*gpx><?xml ?>																								#	None		none	wrong prolog
+<*lmx><xmlns="http://www.nokia.com/schemas/location/landmarks/"<?xml ?>"										#	None		none	wrong prolog
+<*gpx><xmlns="http://www.topografix.com/GPX/"<?xml ?>"														#	None		none	wrong prolog
+<kalllmxdd><xmlns="http://www.nokia.com/schemas/location/landmarks/"										    #	None		none	wrong start
+<kalllmxdd><xmlns="http://www.topografix.com/GPX/"															#	None		none	wrong start
+kjsadflkj																									#	None		none	bullshit
+Pell xml*?><?^¨~|QWERTYhttp://www.nokia.com/schemas/location/landmarks/+?!"#¤%&/()=							#	None		none	not correct
+Sell xml*?><?^¨~|QWERTYhttp://www.topografix.com/GPX/+?!"#¤%&/()=											#	None		none	not correct
+Pell xml*?><?^¨~|QWERTY<xmlns:n="http://www.nokia.com/schemas/location/landmarks/"+?!"#¤%&/()=				#	None		none	Should be certain
+Sell xml*?><?^¨~|QWERTY<xmlns:n="http://www.topografix.com/GPX/"+?!"#¤%&/()=									#	None		none	Should be certain
+     <?xml *?><!-- Comment QWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQ--><!--QWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTY--><lala:lmx xmlns:n="http://www.nokia.com/schemas/location/landmarks/"	#	None	none	white spaces
+     <?xml *?><!-- Comment QWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQ--><!--QWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTYQWERTY--><lala:gpx xmlns:n="http://www.topografix.com/GPX/"					#	None	none	white spaces
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/SRVeposcontact.ldb has changed
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/SRVeposdamaged.ldb has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/SRVepostext.ldb	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,10 @@
+Thomas Takanen Thomas Takanen Thomas Takanen Thomas Takanen Thomas Takanen Thomas Takanen Thomas Takanen Thomas Takanen
+Thomas Takanen Thomas Takanen
+Thomas Takanen Thomas Takanen
+Thomas Takanen Thomas Takanen
+Thomas Takanen Thomas Takanen
+Thomas Takanen Thomas Takanen
+Thomas Takanen Thomas Takanen
+Thomas Takanen Thomas Takanen
+Thomas Takanen Thomas Takanen
+Thomas Takanen Thomas Takanen
\ No newline at end of file
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/TP10Test.ldb has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/TP118HALFLMDB_2.LDB	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,20 @@
+P  ¾     #cåÎ     ®† Ä”	@        
+@i      €                   @   0        ›@i     0lmt_landmark lmc_lmidlmc_lat	  lmc_long	 lmc_alt  lmc_hacc  lmc_vacc (lmc_covrad (lmc_iconid (lmc_iconnr  lmc_name  lmc_desc      @       €                >    Û    /   @   P        Ø@i     0lmt_landmark lmc_lmidlmc_lat	  lmc_long	 lmc_alt  lmc_hacc  lmc_vacc (lmc_covrad (lmc_iconid (lmc_iconnr  lmc_name  lmc_desc      ,lmt_lmfield lmc_lmid4lmc_fieldtype0lmc_fieldstr      @      *€                   Û    /    î     @   p        8Ai     0lmt_landmark lmc_lmidlmc_lat	  lmc_long	 lmc_alt  lmc_hacc  lmc_vacc (lmc_covrad (lmc_iconid (lmc_iconnr  lmc_name  lmc_desc      ,lmt_lmfield lmc_lmid4lmc_fieldtype0lmc_fieldstr      lmt_cat$lmc_catid,lmc_glcatid (lmc_iconid (lmc_iconnr ,lmc_catname |,lmc_namemod       @      +€  €             1     k     "  @	           `Ai     0lmt_landmark lmc_lmidlmc_lat	  lmc_long	 lmc_alt  lmc_hacc  lmc_vacc (lmc_covrad (lmc_iconid (lmc_iconnr  lmc_name  lmc_desc      ,lmt_lmfield lmc_lmid4lmc_fieldtype0lmc_fieldstr      lmt_cat$lmc_catid,lmc_glcatid (lmc_iconid (lmc_iconnr ,lmc_catname |,lmc_namemod       $lmt_lmcat lmc_lmid$lmc_catid 
+    @      >€       
+         ¯   Û    /    î      k   "         @   °        ŒAi     
+0lmt_landmark lmc_lmidlmc_lat	  lmc_long	 lmc_alt  lmc_hacc  lmc_vacc (lmc_covrad (lmc_iconid (lmc_iconnr  lmc_name  lmc_desc      ,lmt_lmfield lmc_lmid4lmc_fieldtype0lmc_fieldstr      lmt_cat$lmc_catid,lmc_glcatid (lmc_iconid (lmc_iconnr ,lmc_catname |,lmc_namemod       $lmt_lmcat lmc_lmid$lmc_catid 
+     lmt_icon(lmc_iconid0lmc_iconpath      @      +€  €       %      h     ö     Y  @                              §Ai     
+0lmt_landmark lmc_lmidlmc_lat	  lmc_long	 lmc_alt  lmc_hacc  lmc_vacc (lmc_covrad (lmc_iconid (lmc_iconnr  lmc_name  lmc_desc      lmi_lmid  lmc_lmid     ,lmt_lmfield lmc_lmid4lmc_fieldtype0lmc_fieldstr      lmt_cat$lmc_catid,lmc_glcatid (lmc_iconid (lmc_iconnr ,lmc_catname |,lmc_namemod       $lmt_lmcat lmc_lmid$lmc_catid 
+     lmt_icon(lmc_iconid0lmc_iconpath      3€  €       %      K     ö     Y     +  @                              ÄAi     
+0lmt_landmark lmc_lmidlmc_lat	  lmc_long	 lmc_alt  lmc_hacc  lmc_vacc (lmc_covrad (lmc_iconid (lmc_iconnr  lmc_name  lmc_desc      lmi_lmid  lmc_lmid     ,lmt_lmfield lmc_lmid4lmc_fieldtype0lmc_fieldstr      lmt_cat$lmc_catid,lmc_glcatid (lmc_iconid (lmc_iconnr ,lmc_catname |,lmc_namemod      $lmi_catid $lmc_catid     $lmt_lmcat lmc_lmid$lmc_catid 
+     lmt_icon(lmc_iconid0lmc_iconpath      R€                I	   Û    /    î      k   "          ö   Y   +   )	  @                              åAi     
+0lmt_landmark lmc_lmidlmc_lat	  lmc_long	 lmc_alt  lmc_hacc  lmc_vacc (lmc_covrad (lmc_iconid (lmc_iconnr  lmc_name  lmc_desc      lmi_lmid  lmc_lmid     ,lmt_lmfield lmc_lmid4lmc_fieldtype0lmc_fieldstr      lmt_cat$lmc_catid,lmc_glcatid (lmc_iconid (lmc_iconnr ,lmc_catname |,lmc_namemod      $lmi_catid $lmc_catid     ,lmi_glcatid  ,lmc_glcatid     $lmt_lmcat lmc_lmid$lmc_catid 
+     lmt_icon(lmc_iconid0lmc_iconpath      #€  €              ƒ     c  @                              Bi     
+0lmt_landmark lmc_lmidlmc_lat	  lmc_long	 lmc_alt  lmc_hacc  lmc_vacc (lmc_covrad (lmc_iconid (lmc_iconnr  lmc_name  lmc_desc      lmi_lmid  lmc_lmid     ,lmt_lmfield lmc_lmid4lmc_fieldtype0lmc_fieldstr      lmt_cat$lmc_catid,lmc_glcatid (lmc_iconid (lmc_iconnr ,lmc_catname |,lmc_namemod      $lmi_catid $lmc_catid     ,lmi_glcatid  ,lmc_glcatid     ,lmi_catname ,lmc_catname|    $lmt_lmcat lmc_lmid$lmc_catid 
+     lmt_icon(lmc_iconid0lmc_iconpath      +€  €             ¯     c       @                              %Bi     
+0lmt_landmark lmc_lmidlmc_lat	  lmc_long	 lmc_alt  lmc_hacc  lmc_vacc (lmc_covrad (lmc_iconid (lmc_iconnr  lmc_name  lmc_desc      lmi_lmid  lmc_lmid     ,lmt_lmfield lmc_lmid4lmc_fieldtype0lmc_fieldstr      lmt_cat$lmc_catid,lmc_glcatid (lmc_iconid (lmc_iconnr ,lmc_catname |,lmc_namemod      $lmi_catid $lmc_catid     ,lmi_glcatid  ,lmc_glcatid     ,lmi_catname ,lmc_catname|    $lmt_lmcat lmc_lmid$lmc_catid 
+     lmt_icon(lmc_iconid0lmc_iconpath     (lmi_iconid (lmc_iconid     3€  €                  c          ä   B       0                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       @   1      @       A                   @     
+    	@        f€           Ÿ      ‘   b   î      k   "          ö   Y   q   )	   c      ä   `  @   1       @          A                   @      	@        ;€  €  €   ¶      I     A          !    €     B       p                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        B       p                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        B       p                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       @   q      @@  @   A                   @0  0   A                   @     A                   @     
+    	@        p€                 A      î         —          ö   Y   !   æ   Æ   ¦   ä  ‘   “   •  @   q       @          A                   @          A                   @          A                   @      	@        [€  €     +   	              ‘     à     À            €  €  €  €    @          SBi     0lmt_landmark lmc_lmidlmc_lat	  lmc_long	 lmc_alt  lmc_hacc  lmc_vacc (lmc_covrad (lmc_iconid (lmc_iconnr  lmc_name  lmc_desc      lmi_lmid  lmc_lmid     ,lmt_lmfield lmc_lmid4lmc_fieldtype0lmc_fieldstr      lmt_cat$lmc_catid,lmc_glcatid (lmc_iconid (lmc_iconnr ,lmc_catname |,lmc_namemod      $lmi_catid $lmc_catid     ,lmi_glcatid  ,lmc_glcatid     ,lmi_catname ,lmc_catname|    $lmt_lmcat lmc_lmid$lmc_catid 
+     lmt_icon(lmc_iconid0lmc_iconpath     (lmi_iconid (lmc_iconid     0lmt_settings0lmc_language  lmc_init     @      p€     €          A      î          ‘          ö   Y   !   à   À       ä  Ô  p  €     B       q      r      s      t      u      v      w      x      y   	   z   
+   {      |      }      ~                                                                                                                                                                                                                                                                                                                                                                                                             B       q   ¸  r   p  s   (#  t   à.  u   ˜:  v   PF  w   R  x   À]  y   xi  z   0u  {   è€  |    Œ  }   X˜  ~   ¤     ȯ                                                                                                                                                                                                                                                                                                                                                                                                   B       q   A c c o m m o d a t i o n                                                                                                                                                                                                                               r   B u s i n e s s                                                                                                                                                                                                                                         @   r      @`  `   A    ÀÀ@PB ÀÀ@PB@P  P   A        p§@     p§@@@ @  A         ð?      ð?@     ,   	¸
\ No newline at end of file
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/TP131Test.ldb has changed
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/TP132Test.ldb has changed
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/TP133Test.ldb has changed
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/TP13_EPOSLMGLOBALCATEGORIES.R06 has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/TP13_eposlmglobalcategoriesR06.rss	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,199 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include <uikon.rh>
+#include <EPos_LmCatDef.rh>
+#include "EPos_LmCatLanguages.hrh"
+
+//  RESOURCE DEFINITIONS
+
+// -----------------------------------------------------------------------------
+//
+// POS_LM_CATEGORY_SPECIFICATION
+// Global category specification. 
+//
+// -----------------------------------------------------------------------------
+//
+
+RESOURCE POS_LM_CATEGORY_SPECIFICATION glcategories
+    {
+    icon_files = 
+        {
+		"c:\\system\\data\\test13_1.mbm",
+        "c:\\system\\data\\test13_2.mbm",
+        "c:\\system\\data\\test13_3.mbm",
+		"c:\\system\\data\\test13_4.mbm",
+		"c:\\system\\data\\test13_5.mbm",
+		"c:\\system\\data\\test13_6.mbm",
+		"c:\\system\\data\\test13_7.mbm",
+		"c:\\system\\data\\test13_8.mbm",
+		"c:\\system\\data\\test13_9.mbm",
+		"c:\\system\\data\\test13_10.mbm",
+		"c:\\system\\data\\test13_11.mbm",
+		"c:\\system\\data\\test13_12.mbm",
+		"c:\\system\\data\\test13_13.mbm",
+		"c:\\system\\data\\test13_14.mbm",
+		"c:\\system\\data\\test13_15.mbm",
+		"c:\\system\\data\\test13_16.mbm"
+        };
+
+    categories = 
+        {
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 3000;
+            category_name = "Hotel";
+            icon_index = 0;
+            icon_mask_index = 0;
+	    icon_file_index = 0;
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 6000;
+            category_name = "Affärer";
+            icon_index = 1;
+            icon_mask_index = 1;
+	    icon_file_index = 1;
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 9000;
+            category_name = "Kommunikationer";
+            icon_index = 2;
+            icon_mask_index = 2;
+	    icon_file_index = 2;
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 12000;
+            category_name = "Läroverks Institut";
+            icon_index = 3;
+            icon_mask_index = 3;
+	    icon_file_index = 3;
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 15000;
+            category_name = "Nöje";
+            icon_index = 4;
+            icon_mask_index = 4;
+	    icon_file_index = 4;
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 18000;
+            category_name = "Mat & Dryck";
+            icon_index = 5;
+            icon_mask_index = 5;
+	    icon_file_index = 5;
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 21000;
+            category_name = "Geografiskt Område";
+            icon_index = 6;
+            icon_mask_index = 6;
+	    icon_file_index = 6;
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 24000;
+            category_name = "Utomhus aktiviteter";
+            icon_index = 7;
+            icon_mask_index = 7;
+	    icon_file_index = 7;
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 27000;
+            category_name = "Människor";
+            icon_index = 8;
+            icon_mask_index = 8;
+	    icon_file_index = 8;
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 30000;
+            category_name = "Kommunala Tjänster";
+            icon_index = 9;
+            icon_mask_index = 9;
+	    icon_file_index = 9;
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 33000;
+            category_name = "Kyrkor";
+            icon_index = 10;
+            icon_mask_index = 10;
+	    icon_file_index = 10;
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 36000;
+            category_name = "Handel";
+            icon_index = 11;
+            icon_mask_index = 11;
+	    icon_file_index = 11;
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 39000;
+            category_name = "Turistande";
+            icon_index = 12;
+            icon_mask_index = 12;
+	    icon_file_index = 12;
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 42000;
+            category_name = "Sport";
+            icon_index = 13;
+            icon_mask_index = 13;
+	    icon_file_index = 13;
+            },
+/* Do not include this one
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 45000;
+            category_name = "Transporter";
+            },
+*/
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 48000;
+            category_name = "Kinarestaurang";
+            icon_index = 14;
+            icon_mask_index = 14;
+	    icon_file_index = 14;
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 51000;
+            category_name = "BallongFärder";
+            icon_index = 15;
+            icon_mask_index = 15;
+	    icon_file_index = 15;
+            }            
+        };
+    }
+
+// End of File
+
+
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/TP161Test.ldb has changed
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/TP162Test.ldb has changed
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/TP162Test1.ldb has changed
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/TP163Test.ldb has changed
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/TP164Test.ldb has changed
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/TP18Test.ldb has changed
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/TP18Test1.ldb has changed
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/TP1Test.ldb has changed
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/TP25Test.ldb has changed
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/TP4Test.ldb has changed
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/TP8Test.ldb has changed
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/Tp116Test.ldb has changed
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/Tp28Test.ldb has changed
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/compositeeposlm.ldb has changed
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/corrupt_EPOSLMGLOBALCATEGORIES.R06 has changed
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/eposEmpty.ldb has changed
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/eposlm.ldb has changed
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/eposlm_1000_LMs.ldb has changed
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/eposlm_5000_LMs.ldb has changed
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/eposlm_tp13.ldb has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/eposlmasyncops.rss	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,144 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   transaction for an aysynchronous operation.
+*
+*/
+
+
+//  INCLUDES
+#include <uikon.rh>
+
+//  RESOURCE SIGNATURE
+RESOURCE RSS_SIGNATURE { }
+
+//  RESOURCE DEFINITIONS
+
+// -----------------------------------------------------------------------------
+//
+// R_POS_LM_LOCAL_ADD_CAT_TO_LMS_OP
+// Number of landmarks to change with addition of new category within each 
+// transaction for the CPosLmLocalCategoryManager::AddCategoryToLandmarksL 
+// operation.
+// Limits: value > 0
+//
+// -----------------------------------------------------------------------------
+
+RESOURCE NUMBER_INT32 r_pos_lm_local_add_cat_to_lms_op 
+    { 
+    value="5"; 
+    }
+
+// -----------------------------------------------------------------------------
+//
+// R_POS_LM_LOCAL_REMOVE_LMS_OP
+// Number of landmarks to remove within each transaction for the 
+// CPosLmLocalDatabase::RemoveLandmarksL operation.
+// Limits: value > 0
+//
+// -----------------------------------------------------------------------------
+
+RESOURCE NUMBER_INT32 r_pos_lm_local_remove_lms_op 
+    { 
+    value="5"; 
+    }
+
+// -----------------------------------------------------------------------------
+//
+// R_POS_LM_LOCAL_REMOVE_ALL_LMS_OP
+// Number of landmarks to remove within each transaction for the 
+// CPosLmLocalDatabase::RemoveAllLandmarksL operation.
+// Limits: value > 0
+//
+// -----------------------------------------------------------------------------
+
+RESOURCE NUMBER_INT32 r_pos_lm_local_remove_all_lms_op 
+    { 
+    value="5"; 
+    }
+
+// -----------------------------------------------------------------------------
+//
+// R_POS_LM_LOCAL_REMOVE_CAT_OP
+// Deletes a category from all landmarks in one transaction (one SQL query). 
+// Because of this there is no need for setting a value of removing a single 
+// category (reserved for future changes).
+// Limits: value = 0
+//
+// -----------------------------------------------------------------------------
+
+RESOURCE NUMBER_INT32 r_pos_lm_local_remove_cat_op 
+    { 
+    value="0";
+    }
+
+// -----------------------------------------------------------------------------
+//
+// R_POS_LM_LOCAL_REMOVE_CATS_OP
+// Number of categories to remove within each transaction for the 
+// CPosLmLocalCategoryManager::RemoveCategoriesL operation.
+// Limits: value > 0
+//
+// -----------------------------------------------------------------------------
+
+RESOURCE NUMBER_INT32 r_pos_lm_local_remove_cats_op 
+    { 
+    value="-2"; 
+    }
+
+// -----------------------------------------------------------------------------
+//
+// R_POS_LM_LOCAL_REMOVE_CAT_FROM_LMS_OP
+// Number of landmarks to change with removal of category within each 
+// transaction for the CPosLmLocalCategoryManager::RemoveCategoryFromLandmarksL 
+// operation.
+// Limits: value > 0
+//
+// -----------------------------------------------------------------------------
+
+RESOURCE NUMBER_INT32 r_pos_lm_local_remove_cat_from_lms_op 
+    { 
+    value="5"; 
+    }
+
+// -----------------------------------------------------------------------------
+//
+// R_POS_LM_LOCAL_READ_PARTIAL_LMS_OP
+// Number of partial landmarks to read before notifying the observer.
+// Limits: value > 0
+//
+// -----------------------------------------------------------------------------
+
+RESOURCE NUMBER_INT32 r_pos_lm_local_read_partial_lms_op
+    { 
+    value="5"; 
+    }
+
+// -----------------------------------------------------------------------------
+//
+// R_POS_LM_LOCAL_RESET_GLOBAL_CATEGORIES_OP
+// Number of global categories to reset within each transaction for the 
+// CPosLmLocalCategoryManager::ResetGlobalCategoriesL operation.
+// Limits: value > 0
+//
+// -----------------------------------------------------------------------------
+
+RESOURCE NUMBER_INT32 r_pos_lm_local_reset_global_categories_op
+    { 
+    value="3"; 
+    }
+
+// End of File
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/eposlmglobalcategoriesR01.rss	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,109 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include <uikon.rh>
+#include <EPos_LmCatDef.rh>
+#include "EPos_LmCatLanguages.hrh"
+
+//  RESOURCE DEFINITIONS
+
+// -----------------------------------------------------------------------------
+//
+// POS_LM_CATEGORY_SPECIFICATION
+// Global category specification. 
+//
+// -----------------------------------------------------------------------------
+//
+
+RESOURCE POS_LM_CATEGORY_SPECIFICATION glcategories
+    {
+    icon_files = 
+        {
+        "c:\\system\\data\\test1.mbm",
+        "c:\\system\\data\\test2.mbm",
+        "c:\\system\\data\\test3.mbm"
+        };
+
+    categories = 
+        {
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 1;
+            category_name = Restaurant;
+            icon_index = 1;
+            icon_mask_index = 2;
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 2;
+            category_name = Bar;
+            icon_index = 2;
+            icon_mask_index = 1;
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 3;
+            category_name = "Gas station";
+            icon_index = 5;
+            icon_mask_index = 2;
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 4;
+            category_name = Hotel;
+            icon_index = 2;
+            icon_mask_index = 2;
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 5;
+            category_name = Shop;
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 6;
+            category_name = Sight;
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 7;
+            category_name = "Sports ground";
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 8;
+            category_name = Garage;
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 9;
+            category_name = "Car park";
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 10;
+            category_name = "Bus stop";
+            }
+        };
+    }
+
+// End of File
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/eposlmglobalcategoriesR02.rss	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,110 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include <uikon.rh>
+#include <EPos_LmCatDef.rh>
+#include "EPos_LmCatLanguages.hrh"
+
+//  RESOURCE DEFINITIONS
+
+// -----------------------------------------------------------------------------
+//
+// POS_LM_CATEGORY_SPECIFICATION
+// Global category specification. 
+//
+// -----------------------------------------------------------------------------
+//
+
+RESOURCE POS_LM_CATEGORY_SPECIFICATION glcategories
+    {
+    icon_files = 
+        {
+        "c:\\system\\data\\test1.mbm",
+        "c:\\system\\data\\test2.mbm",
+        "c:\\system\\data\\test3.mbm"
+        };
+
+    categories = 
+        {
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 1;
+            category_name = Restaurant;
+            icon_index = 1;
+            icon_mask_index = 0;
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 2;
+            category_name = Bar;
+            icon_index = 2;
+            icon_mask_index = 2;
+	    icon_file_index = 1;
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 3;
+            category_name = "Gas station";
+            icon_index = 5;
+            icon_mask_index = 2;
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 4;
+            category_name = Hotel;
+            icon_index = 2;
+            icon_mask_index = 1;
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 5;
+            category_name = Shop;
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 6;
+            category_name = Sight;
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 9;
+            category_name = "Car park";
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 10;
+            category_name = "Bus stop";
+            },
+	POS_LM_CATEGORY_INFO
+            {
+            category_id = 11;
+            category_name = Pools;
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 12;
+            category_name = "Shopping streets";
+            }
+        };
+    }
+
+// End of File
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/eposlmglobalcategoriesR03.rss	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,123 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include <uikon.rh>
+#include <EPos_LmCatDef.rh>
+#include "EPos_LmCatLanguages.hrh"
+
+//  RESOURCE DEFINITIONS
+
+// -----------------------------------------------------------------------------
+//
+// POS_LM_CATEGORY_SPECIFICATION
+// Global category specification. 
+//
+// -----------------------------------------------------------------------------
+//
+
+RESOURCE POS_LM_CATEGORY_SPECIFICATION glcategories
+    {
+    icon_files = 
+        {
+        };
+
+    categories = 
+        {
+			POS_LM_CATEGORY_INFO
+			{
+			category_id = 202;
+			category_name = "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901201";
+			},
+			POS_LM_CATEGORY_INFO
+			{
+			category_id = 203;
+			category_name = "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901202";
+			},
+			POS_LM_CATEGORY_INFO
+			{
+			category_id = 204;
+			category_name = "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901203";
+			},
+			POS_LM_CATEGORY_INFO
+			{
+			category_id = 205;
+			category_name = "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901204";
+			},
+			POS_LM_CATEGORY_INFO
+			{
+			category_id = 206;
+			category_name = "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901205";
+			},
+			POS_LM_CATEGORY_INFO
+			{
+			category_id = 207;
+			category_name = "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901206";
+			},
+			POS_LM_CATEGORY_INFO
+			{
+			category_id = 208;
+			category_name = "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901207";
+			},
+			POS_LM_CATEGORY_INFO
+			{
+			category_id = 209;
+			category_name = "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901208";
+			},
+			POS_LM_CATEGORY_INFO
+			{
+			category_id = 210;
+			category_name = "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901209";
+			},
+			POS_LM_CATEGORY_INFO
+			{
+			category_id = 211;
+			category_name = "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901210";
+			},
+			POS_LM_CATEGORY_INFO
+			{
+			category_id = 212;
+			category_name = "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901211";
+			},
+			POS_LM_CATEGORY_INFO
+			{
+			category_id = 213;
+			category_name = "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901212";
+			},
+			POS_LM_CATEGORY_INFO
+			{
+			category_id = 214;
+			category_name = "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901213";
+			},
+			POS_LM_CATEGORY_INFO
+			{
+			category_id = 215;
+			category_name = "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901214";
+			},
+			POS_LM_CATEGORY_INFO
+			{
+			category_id = 216;
+			category_name = "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901215";
+			}
+		};
+    }
+
+// End of File
+
+
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/eposlmnearestsearch.ldb has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/landmarksDb.txt	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,110 @@
+#CategoryId	CategoryName	Icon name	Icon index	Id	In Categories	 LandmarkName	CoverageRadius	Description	Icon name	Icon index	Street	PostalCode	City	LocationName	Country	Media Link 1	Media Link 2	Lat	Long	Hor. Acc	Vert. Acc
+1	Pizzeria	z:\\system\\test\\landmarkstestsicon.mbm	1	1	1	LOG	40	jadajadjada	ikon slask	1			Halmstad	Drivhuset Plan7		 Don't forget field medialinks 	https://www.aftonbladet.s	45,5	-44,5	10	10
+2	Hamburgerbar	z:\\system\\test\\landmarkstestsicon.mbm	1	2	1	LOG11		jadajadjada	ikon snask	1	Berghemsgatan 2	531 37	Kållered	Västra Götaland	 Sverige 	will be automatically set to no. 	https://www.aftonbladet.se	46	44	14	10
+3	Kinarestaurang	z:\\system\\test\\landmarkstestsicon.mbm	1	3	2	God	40		ikon skask	1		431 31	Mölndal	Västra Götaland	 Sverige1 	 medialinks. 	https://www.aftonbladet.se	45	45	11	10
+4	Garaget	z:\\system\\test\\landmarkstestsicon.mbm	1	4	2	vegetariskt	40	jadajadjada	ikon spask	1	Berghemsgatan 10		Mölndal	Västra Götaland	 Sverige1 	 url=http://www.come.co/to.html 	https://www.aftonbladet.se	-45,5	-44,5	0	10
+5	Bilverkstad	z:\\system\\test\\landmarkstestsicon.mbm	2	5	3	Inte sa bra	40	jadajadjada			Berghemsgatan 4	431 31		Västra Götaland	 Sverige1 	 url=http://www.come.do/to.html 	https://www.aftonbladet.se	-46,105	46,105	0	10
+6	Pasta Restaurang	z:\\system\\test\\landmarkstestsicon.mbm	2	6	3	Dyrt	50	jadajadjada	ikon PelleFant	2	Berghemsgatan 7	431 31	Mölndal		 Sverige1 	 url=http://www.pelle.com/pel.html 	https://www.aftonbladet.se	70	70	180	10
+7	Bilia		2	7	1-3,14-17	Billigt	50	jadajadjada	ikon Abibblan	2	Berghemsgatan 6	431 31	Mölndal	Västra Götaland		 url=http://www.pelle.com/pel.html 	https://www.aftonbladet.se	63	23	18	10
+8	VolksWagen	sddsa	2	8	3	Medel	50	MLFW	ikon bibblan123	2	Berghemsgatan 8	431 31	Mölndal	Västra Götaland	 Sverige1 			5	37,6	37,6	10
+9	Taxi Göteborg	dasdsada	2	9	3	Medel2	50	jadajadjada	ikon bibblan123	2	Berghemsgatan 5	431 31	Mölndal	Västra Götaland	 Sverige1 	 url=http://www.bibblan.com/bibl.html 		5	37,6	37,6	10
+10	Taxi	dsa	2	10	3	MLFW2	50	MLFW	ikon PelleFant	2	Berghemsgatan 9	431 31	Mölndal	Västra Götaland	 Sverige1 	 url=http://www.bibblan.com/bibl.html 	http://www.idg.se	-1	-81	25	0
+11	Stadsbibliotek	aaa	2	11	3	MLFW	60	aaaaaa	ikon PelleFant	2	MLFW	351 25	 HalmstadA 		 BSverige1 	 url=http://www.pelle.com/pel.html 	http://www.idg.se	0	-67	48	0
+12	Systembolag	aaa	3	12	3	GatesB	60	bbbbbbb	ikon PelleFant	3	PastaGatan L	MLFW	 HalmstadB 		 BSverige2 	 url=http://www.pelle.com/pel.html 	http://www.hotmail.com	1	-81	7	0
+13	Nokia Kontor	aaa	3	13	3	Text'''1	60	ccccccc	ikon PelleFant	3	PastaGatan N	MLFW	 MLFW 		 BSverige3 	 url=http://www.pelle.com/pel.html 	http://www.idg.se	45	-45	18	0
+14	TietoEnator kontor	aaa	3	14	5	GatesF	60	dddddddd	ikon PelleFant	3	MLFW	351 29	 HalmstadJ 		 BSverige4 	 url=http://www.svt.se	http://www.idg.se	-1	-80	168	0
+15	Thai Restaurang	bbb	3	15	5	xStekt	70	MLFW	ikon PelleFant	3	Berghemsgatan 11	431 31	 Mölndal 		Västra Götaland	 url=http://www.pelle.com/pel.html 	http://www.idg.se	-5	25		
+16	McDonalds	bbb	3	16	3	Akorthus	70	fffffffffffffffff	ikon PelleFant	3	AStora biblioteksgatan 24	A123 45	 AStorGöteborg 		AÖstra Götaland	 url=http://www.pelle.com/pel.html 	http://www.idg.se	1	-81	12	50
+17	BurgerKing	bbb	3	17	17	Stadskortxhus	70	ggghhhhhh	ikon PelleFant	3	Stora biblioteksgatan 25	321 32	 StorGöteborg123 		Östra Götaland123	 url=http://www.pelle.com/pel.html 	http://www.idg.se	57	11	11	9
+18	Frisör	bbb	3	18	18	enat?r	70	iiiijjjjjj	ikon PelleFant	3	Stora biblioteksgatan 25	321 32	 StorGöteborg123 		Östra Götaland123	 url=http://www.pelle.com/pel.html 	http://www.idg.se	0	-80,5	10,2	1,5
+19	Hunddagis	bbb	4	19	19	enator	70	kkkkklll	Gårdaikonen	4	Berghemsgatan 1				Finland	 url=http://www.pelle.com/pel.html 		23	23	10,2	1,5
+20	Veterinär	bbb	4	20	21	LOG2	70	mmmm	Gårdaikonen	4	Berghemsgatan 2	431 32	Mölndal		Västra Götaland	 url=http://www.gårda.com/sb.html 	https://www.aftonbladet.se	-1	80	10,2	1,5
+21	Kyrkogård	bbb	4	21	19	LOG3	70	nnnxnnn	Gårdaikonen	4	Berghemsgatan 3	431 33	Mölndal 		Västra Götaland	 url=http://www.gårda.com/sb.html 	https://www.aftonbladet.se	1	80	25	300
+22	Museum	bbb	4	22	22	LOG4	70	ooooooo	Gårdaikonen	4	Berghemsgatan 4	431 34	Mölndal		Västra Götaland	 url=http://www.gårda.com/sb.html 	http://www.idg.se	-1	81	10,2	1,55
+23	Dagis	bbb	4	23	23	LOG5	70	ppppppx	Gårdaikonen	4	Berghemsgatan 5	431 35	Mölndal		Västra Götaland	 url=http://www.gårda.com/sb.html 	https://www.aftonbladet.se	1	81	18	120
+24	StadsPark	bbb	4	24	24	LOG6	70	asd	Gårdaikonen	4	Berghemsgxatan 6	431 36	Mölndal		Västra Götaland	 url=http://www.gårda.com/sb.html 	http://www.idg.se	0	80,5	168,9	7000
+25	Sjukhus	bbb	4	25	25	x	70	r	Gårdaikonen	4	Berghemsgatan 7	x431 37	Mölndal		Västra Götaland	 url=http://www.gårda.com/sb.html 	https://www.aftonbladet.se	-84	12,4	12,5	10
+26	Läkare	bbb	5	26	26	LOG8	70	x	Gårdaikonen	5	Berghemsgatan 8	431 38	xMölndal		Västra Götaland	 url=http://www.gårda.com/sb.html 	https://www.aftonbladet.se	5	25	59	2000
+				27	11-17	LOG9	70	ttttt	Gårdaikonen	5	Berghemsgatan 9	431 39	Mölndal	x	Västra Götaland	 url=http://www.gårda.com/sb.html 	https://www.aftonbladet.se	-84	12		
+				28	11	LOG10	70	v	Gårdaikonen	5	Berghemsgatan 10	431 40	Mölndal		Västra Götalandx	 url=http://www.gårda.com/sb.html 	https://www.aftonbladet.se	10	14	13,9	6000
+				29	26	Unique	80		Gårdaikonen	5		256 78	Mölndal		Daanmark	 url=http://www.gårda.com/xsb.html 	https://www.aftonbladet.se	45,5	-0,5	0	1200
+				30	26	Text'1	80	Unique	Gårdaikonen	5		256 78	Götet		Daanmark	 url=http://www.gårda.com/sb.html 	https://wwwx.aftonbladet.se	45,5	0	0	112
+				31	26	Text1	80		 Focus Torget1 	56	Unique	256 78	Mölndal		Daanmark	 url=http://www.gårda.com/sb.html 	https://www.aftonbladet.se	45,5	0,5	0	0
+				32	26	Text2	80		 Focus Torget1 	6		256 78	 Unique 		Daanmark	z:\gårda\ikon	https://www.aftonbladet.se	89	-15	0	0								
+				33	26	Text3	80		 Focus Torget1 	6		256 78	Götet		Daanmark	z:\gårda\ikon	https://www.aftonbladet.se	5	37,6	0	0								
+				34	26	Text4	80		 Focus Torget1 	66		256 78	Götet		Daanmark	z:\gårda\ikon	http://www.idg.se	63	23	18	0								
+				35	26	Text5	80		 Focus Torget1 	6		256 78	Götet		Daanmark	z:\gårda\ikon	https://www.aftonbladet.se	-84,2	-2,67	168,9	0								
+				36	26	Text6	80		 Focus Torget1 	6		256 78	Götet		Daanmark	z:\gårda\ikon	http://www.idg.se	5	37,6	37,6	0								
+				37	26	Text7	80		 Focus Torget1 	6		256 78	Götet		Daanmark	z:\gårda\ikon	o	5	37,6	37,6	0								
+				38	26	Text8	80					256 78	Götet		Daanmark	z:\gårda\ikon	http://www.idg.se	5	37,6	0	0								
+				39	26	Text9	80					256 78	Götet		Daanmark			5	25	59	2000								
+				40	26	Text10	80					256 78	Götet		Daanmark			0	180	168,9	4500								
+				41	26	q	80					256 78	Götet		Daanmark			-1	180	37,6	2								
+				42	26	asd	80					256 78						1	180	37,6	1								
+				43	26	asdf						256 78						0	-179										
+				44	26	dfdsf						256 78						0	179										
+				45	26	Several		Several	Several	1	Several	Several	Several	Several	Several	Several	Several	-1	-179										
+				46	26	oki		aaa	aaa									-1	179										
+				47	26	abab		oki	aaa									1	-179										
+				48	26	Nokia		aaa	aaa		oki							1	179										
+				49	26	aba		Nokia	aaa		aaa		aaa																
+				50	26	aca		aaa	aaa			Noki																	
+				51	1	PellesPizza			IconName1		Berghemsgatan1				 Sverige 														
+				52	19	Kalles Hundgård			IconName2		Berghemsgatan2				 Sverige 			-45	-1	12	50								
+				53	21	Sjömanskyrkan			IconName3		Berghemsgatan3				 Sverige 			25,05	-5,5	13	49								
+				54	14	TE, Gårda			IconName4		Berghemsgatan4				 Sverige 			-45,5	0	14	48								
+				55	14	TE, Eriksberg			IconName5		Berghemsgatan5				 Sverige 			-46	1	15	47								
+				56	14	TE, Lund			IconName6		Berghemsgatan6				 Sverige 			19,95	78	16	46								
+				57	14	TE, Karlstad			IconName7		Berghemsgatan7				 Sverige 			45	-44										
+				58	14	TE, Kista			IconName8		Berghemsgatan8				 Sverige 			25,05	19,5										
+				59	14	TE, Stockholm			IconName9		Berghemsgatan9				 Sverige 			10,05	24,5										
+				60	14	TE, Oulu			IconName10		Berghemsgatan10				Finland			89	-180										
+				61	14	TE, Tampere			IconName11		Berghemsgatan11				Finland			89	180										
+				62	13	Nokia, Köpenhamn			IconName12		Berghemsgatan12				Danmark			90	1										
+				63	13	Nokia, Stockholm			IconName13		Berghemsgatan13				 Sverige 			90	-180										
+				64	13	Oulu			IconName14		Berghemsgatan14				 Sverige 			90	0		
+				65	13	Tampere			IconName15		Berghemsgatan15				 Sverige 			89	0		
+				66	13	Helsinki			IconName16		Berghemsgatan16				 Sverige 			-19,95	59,5		
+				67	13	Bengtfors			IconName17		Berghemsgatan17				 Sverige 			89	20		
+				68	13	Karlstad			IconName18		Berghemsgatan18				 Sverige 			89	-20		
+				69	13	Mölndal			IconName19		Berghemsgatan19				 Sverige 			90	20		
+				70	13	Göteborg			IconName20		Berghemsgatan20				 Sverige 			90	0		
+				71	13	PallesPalör			IconName21		Berghemsgatan21				 Sverige 			89	0		
+				72	26	Läkare utan gränser			IconName22		Berghemsgatan22				 Sverige 			179	120,58		
+				73	26	Mölndal			IconName23		Berghemsgatan23				 Sverige 			-89	-180		
+				74	26	Läkargruppen			IconName24		Berghemsgatan24				 Sverige 			-89	180		
+				75	26	Läkarhuset			IconName25		Berghemsgatan25				 Sverige 			-90	180		
+				76	26	Sahlgrenska			IconName26		Berghemsgatan26				 Sverige 			-90	-180		
+				77	26	östra sjukhuset			IconName27		Berghemsgatan27				 Sverige 			-90	0		
+				78	20	Blå stjärnan			IconName28		Berghemsgatan28				 Sverige 			-89	0		
+				79	10	MiniTaxi			IconName29		Berghemsgatan29				 Sverige 			137	36,65		
+				80	10	GöteborgsTaxi			IconName30		Berghemsgatan30				 Sverige 			-89	20		
+				81	10	LandvetterTaxi			IconName31		Berghemsgatan31				 Sverige 			-89	-20		
+				82	10	TaxiStockholm			IconName32		Berghemsgatan32				 Sverige 			-90	20		
+				83	10	SvartTaxi			IconName33		Berghemsgatan33				 Sverige 			113	-11,31		
+				84	22	Länsmuseumet			IconName34		Berghemsgatan34				 Sverige 			107	-23,3		
+				85	22	Sjöfartsmuseumet			IconName35		Berghemsgatan35				 Sverige 			0	0		
+				86	22	KinaMuseumet			IconName36		Berghemsgatan36				 Sverige 			-0,5	0		
+				87	22	Naturhistoriska			IconName37		Berghemsgatan37				 Sverige 			0,5	0		
+				88	22	Etnogfrafiska			IconName38		Berghemsgatan38				 Sverige 			0	0,5		
+				89	22	TekniskaMuseumet			IconName39		Berghemsgatan39				 Sverige 			0	-0,5		
+				90	23	Krokslätts dagis			IconName40		Berghemsgatan40				 Sverige 			0,5	0,5		
+				91	23	Centrum dagiset			IconName41		Berghemsgatan41				 Sverige 			0,5	-0,5		
+				92	23	Dagis Majorna			IconName42		Berghemsgatan42				 Sverige 			-0,5	0,5		
+				93	23	Lackarbäcks daghem			IconName43		Berghemsgatan43				 Sverige 			-0,5	-0,5		
+				94	23	Saab dagis			IconName44		Berghemsgatan44				 Sverige 			47	-143,2		
+				95	23	TE dagis			IconName45		Berghemsgatan45				 Sverige 			41	-155,19		
+				96	23	TietoEnator Lekstugan			IconName46		Berghemsgatan46				 Sverige 			11,00005	11,00005		
+				97	18	Panache			IconName47		Berghemsgatan47				 Sverige 			29	32		
+				98	18	Börjessons herrfrisör			IconName48		Berghemsgatan48				 Sverige 			23	4		
+				99	18	Modefrisörerna			IconName49		Berghemsgatan49				 Sverige 			17	55		
+				100	18	krokslätts frisörerna			IconName50		Berghemsgatan50				 Sverige 			11	66		
+				101	12	Gårda			IconName51		Berghemsgatan51				 Sverige 			5	77		
+				102	12	Mölndal			IconName52		Berghemsgatan52				 Sverige 			-1	88		
+				103	12	Kållered			IconName53		Berghemsgatan53				 Sverige 			-7	56,56		
+				104	12	Nordstan			IconName54		Berghemsgatan54				 Sverige 			-13	54,45		
+				105	12	Munkebäck			IconName55		Berghemsgatan55				 Sverige 			17,0005	17,0005		
+#																					
+#																					
+#																					
+#																					
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/lmDbAreaSearchResult.txt	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,185 @@
+#SouthLat	NorthLat	WestLong	EastLong	ErrorCode	Redefined	SearchResult	Comment
+45	46,00	-45,00	-44,00	0		1,13,57	NV globe
+45	46,00	44,00	45,00	0		2,3	NE globe
+-46,00	-45,00	-45,00	-44,00	0		4	SW globe
+-46,11	-46,10	46,10	46,11	0		5	SE globe
+#							
+-1,00	1,00	-81,00	-80,00	0		10,12,14,16,18	W crossing 0 latitude
+-1,00	1,00	80,00	81,00	0		20-24	E crossing 0 latitude
+45,00	46,00	-1,00	1,00	0		29-31	N crossing 0 longitude
+-46,00	-45,00	-1,00	1,00	0		52,54,55	E crossing 0 latitude
+#							
+89,00	90,00	-180,00	180,00	0		32,60-65,67-71	North pole
+89,00	90,00	20,00	-20,00	0		60,61,63,67,68,69	Nort Pole expect a ^
+89,00	90,00	-20,00	20,00	0		32,62,64,65,67-71	Nort Pole  ^
+#							
+-90,00	-89,00	-180,00	180,00	0		73-78,80-82	South pole
+-90,00	-89,00	20,00	-20,00	0		73-76,80-82	South pole expect a ^
+-90,00	-89,00	-20,00	20,00	0		77,78,80-82	South pole ^
+#							
+-1,00	1,00	-1,00	1,00	0		85-93	Crossing 0 latitude and 0 longitude
+0,00	1,00	-1,00	0,00	0	1	85,87,89,91	
+-1,00	1,00	179,00	-179,00	0		40-48	Crossing 0 latitude and 180 longitude
+#							
+19,00	20,00	78,00	78,00	0		56	WestLong =EastLong
+19,00	20,00	78,11235	78,11235	0			WestLong =EastLong
+#							
+-20,00	-19,99	16,00	16,01	0			
+17,00	17,001	17,00	17,001	0		105	100*100 square
+11,00	11,0001	11,00	11,0001	0		96	10*10 square
+#							
+-91,00	-90,00	13,00	14,00	-6			
+45,00	44,99	13,00	14,00	-6			
+85,00	91,00	13,00	14,00	-6			
+78,00	79,00	-181,00	-179,00	-6			
+-45,00	-44,00	181,00	179,00	-6			
+23,00	24,00	-179,00	-181,00	-6			
+23,00	24,00	179,00	181,00	-6			
+#							
+							
+							
+							
+							
+							
+							
+							
+							
+							
+							
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/lmDbCatLandmarkSearchResult.txt	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,181 @@
+#CategoryName	Category Id	LmSearchResult (Id's)	Redefined seach	Comment
+Pizzeria	1	1-2,7,51		
+Hamburgerbar	2	3-4,7		
+Kinarestaurang	3	5-13,16		
+Garaget	4			
+Bilverkstad	5	14-15		
+Pasta Restaurang	6			
+Bilia	7			
+VolksWagen	8			
+Taxi Göteborg	9			
+Taxi	10	79-83		
+Stadsbibliotek	11	27-28		
+Systembolag	12	27,101-105		
+Nokia Kontor	13	27,62-71		
+TietoEnator kontor	14	7,27,54-61		
+Thai Restaurang	15	7,27		
+McDonalds	16	7,27		
+BurgerKing	17	7,17,27		
+Frisör	18	18,97-100		
+Hunddagis	19	19,21,52		
+Veterinär	20	78		
+Kyrkogård	21	20,53		
+Museum	22	22,84-89		
+Dagis	23	23,90-96		
+StadsPark	24	24		
+Sjukhus	25	25		
+Läkare	26	26,29-50,72-77		
+TietoEnator kontor	14	7,27,54-61		
+TietoEnator kontor	14	7,27,54-61	1	
+Thai Restaurang	15	7	1	
+TietoEnator kontor	14	7,27,54-61		
+Thai Restaurang	15	7,27	1	
+TietoEnator kontor	14	7,27,54-61		
+BurgerKing	17	7,27	1	
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/lmDbCategorySearchResult.txt	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,125 @@
+#TextCriteria	CategorySearchResult (Id's)	Redefined seach	Comment
+*	1-26		
+*	1-26		
+**	1-26		
+*	1-26	1	
+Frisör	18		
+?			
+Unique			
+T*	9,10,14,15		
+N*	13		
+*oki*	13		
+Noki?			
+Nokia?			
+Nok*	13		
+x			
+enat?r			
+Text'1			
+Text'''1			
+*Enator*	14		
+*estaurang	3,6,15		
+*ontor	13,14	1	
+Nokia*	13		
+*okia			
+Nokia?			
+Tax?	10		
+T???	10		
+????	10		
+#			
+#			
+			
+			
+			
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/lmDbCompositeSearchResult.txt	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,84 @@
+# TEXT	TextCriteria	Attributes (bitmask)	PositionFields	Comment		
+# AREA	SouthLat	NorthLat	WestLong	EastLong	ErrorCode	Comment
+# CATEGORY	CategoryName	Category Id	Comment			
+# NEAREST	Index	Latitude	Longitude	UseCoverageRadius	MaxDistance	Comment
+# IDLIST	Ids	Comment				
+# RESULT	LmSearchResultIds	Redefined search	Comment			
+# SEPARATOR	Separates a composite search					
+#						
+#>>>>>>>>>>>>>>1<<<<<<<<<<<<<						
+AREA	-90	90	-180	180		
+TEXT	*					
+CATEGORY	Taxi	10				
+RESULT	79-83					
+SEPARATOR						
+#>>>>>>>>>>>>>>2<<<<<<<<<<<<<						
+AREA	-90	90	-180	180		
+TEXT	Te*					
+IDLIST	33,35,37,38,48-54					
+RESULT	33,35,37,38,54					
+SEPARATOR						
+#>>>>>>>>>>>>>>3<<<<<<<<<<<<<						
+AREA	-80	80	-180	180		
+NEAREST	-45,5	-44,5	0	300		
+TEXT	*					
+RESULT	4					
+SEPARATOR						
+#>>>>>>>>>>>>>>4<<<<<<<<<<<<<						
+AREA	-80	80	-180	180	 	 
+NEAREST	-45,5	-44,5	1	10		
+TEXT	*					
+RESULT	4					
+SEPARATOR						
+#>>>>>>>>>>>>>>5<<<<<<<<<<<<<					
+TEXT	*				
+# Search for uncatetegorized landmarks					
+CATEGORY					
+RESULT	11,32,36,39,43,56,88,92,103				
+SEPARATOR					
+#>>>>>>>>>>>>>>6<<<<<<<<<<<<<					
+NEAREST	45	45	0	300	 
+TEXT	*				
+RESULT	3				
+SEPARATOR					
+#>>>>>>>>>>>>>>7<<<<<<<<<<<<<					
+IDLIST	82-95,105				
+TEXT	*				
+CATEGORY	Taxi	10			
+RESULT	82,83				
+SEPARATOR			
+#>>>>>>>>>>>>>>8<<<<<<<<<<<<<			
+TEXT	*		
+CATEGORY	Taxi	10	
+RESULT	79-83		
+SEPARATOR			
+#>>>>>>>>>>>>>>9<<<<<<<<<<<<<			
+TEXT	Sv*	0x0021	401,404,406,408,409
+IDLIST	1-85		
+RESULT	83	1	
+SEPARATOR			
+#>>>>>>>>>>>>>>10<<<<<<<<<<<<<			
+IDLIST	1-24,45		
+TEXT	Pelle*	0x0021	
+RESULT			
+SEPARATOR			
+#>>>>>>>>>>>>>>11<<<<<<<<<<<<< Note that La* also founds Lä, Lå					
+IDLIST	1-105				
+TEXT	La*	0x0021			
+RESULT	72,74,75,81,84,93				
+SEPARATOR					
+#					
+#>>>>>>>>>>>>>>12<<<<<<<<<<<<<					
+IDLIST	1-105				
+TEXT	*	0x0021			
+CATEGORY		26			
+AREA	-90	10	-180	180	 
+NEAREST	-84,2	-2,67	1	10	
+RESULT	35				
+SEPARATOR					
+#					
+#>>>>>>>>>>>>>>13<<<<<<<<<<<<<					
+TEXT	vegetariskt	0x0021
+RESULT	4	
+SEPARATOR		
+#		
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/lmDbNearestSearch.txt	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,255 @@
+#LandmarkId	Lat	Long	Coverage radius	Comment	Earth radius	Distance to #1	Distance to #2	Distance to #3	Distance to #4	Distance to #5	Distance to #6	Distance to #7	Distance to #8	Distance to #9	Distance to #10	Distance to #11	Distance to #12	Distance to #13	Distance to #14	Distance to #15	Distance to #16	Distance to #17	Distance to #18	Distance to #19	Distance to #20
+1	59	18	10		6371010	0	5242849,306	6726499,853	444780,4047	6657988,273	3179522,311	6746270,233	6746270,233	6746270,233	8754746,717	8765401,845	839088,753	16600956	13268847,98	3447048,137	16568070,08	444780,4047	6876240,873	6876240,873	6881699,191
+2	12	13	10			5242849,306	0	1880092,384	4801299,905	1969934,453	2952874,753	1959411,776	1959411,776	1959411,776	4303424,735	4310977,898	4447804,047	11366716,59	18055706,44	8673217,892	11341900,32	4801299,905	2116602,56	2116602,56	2120432,31
+3	12	13,00001	10,5			5242849,24	1,08	1880093,161	4801299,825	1969935,317	2952874,081	1959412,584	1959412,584	1959412,584	4303425,524	4310978,685	4447804,047	11366716,61	18055705,63	8673217,892	11341900,32	4801299,825	2116603,366	2116603,366	2120433,115
+4	12	13,0001	10			5242848,64	10,8762218	1880100,159	4801299,1103	1969943,098	2952868,036	1959419,858	1959419,858	1959419,858	4303432,624	4310985,771	4447804,047	11366716,78	18055698,35	8673217,892	11341900,32	4801299,11	2116610,626	2116610,626	2120440,362
+5	12,00001	13	10			5242848,197	1,107128048	1880093,161	4801298,796	1969935,127	2952873,878	1959412,52	1959412,52	1959412,52	4303425,501	4310978,665	4447802,935	11366717,7	18055705,69	8673216,78	11341901,43	4801298,796	2116603,306	2116603,306	2120433,057
+6	0,001	0,001	100			6746140,607	1959254,585	111083,9617	6331418,596	157249,6947	4893842,046	157,253626	157,253626	157,253626	2345326,538	2353064,742	5908617,126	10007672,22	20014960,96	10007447,91	10007670,3	6331418,596	157406,8817	157406,8817	161385,8107
+7	0,01	0,01	100			6744974,009	1957839,871	110088,7654	6330228,87	157257,3694	4892431,525	1572,536195	1572,536195	1572,536195	2346741,608	2354479,719	5907458,296	10008690,29	20013545,68	10006447,15	10008671,06	6330228,87	158822,1643	158822,1643	162800,6742
+8	0,001	0	100			6746160,906	1959335,409	111195,1568	6331442,111	157171,015	4893913,966	111,1951053	111,1951053	111,1951053	2345249,287	2352987,77	5908636,374	10007670,28	20015007,02	10007447,91	10007670,3	6331442,111	157328,2805	157328,2805	161309,1491
+9	-0,02	0	100			6748456,77	1960939,795	111217,3357	6333724,404	158830,0661	4895695,05	2223,902024	2223,902024	2223,902024	2343570,242	2351303,089	5910936,23	10005335,54	20012894,31	10009783,01	10005335,2	6333724,404	155684,9114	155684,9114	159625,4332
+10	0	1,04	100			6725731,124	1876984,859	4447,804047	6307749,85	252615,5308	4819844,893	115642,9052	115642,9052	115642,9052	2426872,52	2434325,503	5889494,49	10009577,24	19899475,31	10007559,11	10007559,11	6307749,85	252615,5308	252615,5308	255110,597
+11	0	-0,03	1000			6746879,687	1961837,727	114530,9542	6332256,807	154908,9624	4896156,872	3335,853035	3335,853035	3335,853035	2342852,908	2350599,484	5909323,955	10007500,89	20011782,36	10007559,11	10007559,11	6332256,807	154908,9624	154908,9624	158946,568
+12	-0,01	0,01	10000			6747160,579	1959367,855	110088,7654	6332402,524	158822,1643	4894127,834	1572,536195	1572,536195	1572,536195	2345142,559	2352875,305	5909648,677	10006466,73	20013545,68	10008671,06	10006447,15	6332402,524	157257,3694	157257,3694	161197,7974
+13	-0,01	-0,02				6747769,658	1961792,028	113424,4532	6333108,099	156481,3163	4896285,287	2486,39804	2486,39804	2486,39804	2342824,623	2350565,73	5910226,244	10006408,51	20012631,81	10008671,06	10006447,15	6333108,099	154892,8798	154892,8798	158891,9809
+14	55	18,0001				444780,4048	4801300,7	6308643,159	6,377655644	6247287,593	2783666,395	6331553,143	6331553,143	6331553,143	8380367,281	8390891,544	469514,466	16156386,43	13683565,07	3891828,541	16123289,67	6,377655644	6464113,809	6464113,809	6469537,573
+15	55,002	18				444558,0145	4801520,563	6308849,281	222,3902106	6247489,705	2783863,993	6331757,514	6331757,514	6331757,514	8380550,458	8391074,795	469662,1277	16156608,54	13683360,7	3891606,151	16123512,06	222,3902106	6464316,771	6464316,771	6469740,555
+16	55,01	18	1000			443668,4537	4802403,194	6309682,694	1111,951006	6248308,154	2784642,055	6332584,409	6332584,409	6332584,409	8381297,045	8391821,663	470271,9243	16157497,72	13682533,8	3890716,59	16124401,62	1111,951006	6465138,403	6465138,403	6470562,264
+17	1	81				8405977,84	7592934,844	8895779,19	8234948,892	9116311,394	6178074,48	9006956,881	9006956,881	9006956,881	10680751,21	10680636,22	8434890,116	10228579,76	11008161,33	9896364,005	10118754,21	8234948,892	9120230,559	9120230,559	9120342,498
+18	0	-80,5				10493037,7	10388227,13	9062400,746	10548342,45	8840190,384	12113298,8	8951205,645	8951205,645	8951205,645	7381867,639	7383174,345	10247071,42	9897889,13	11063912,57	10007559,11	10007559,11	10548342,45	8840190,384	8840190,384	8840208,817
+19	0	0,1				6744245,572	1951344,059	100075,5911	6329205,251	165298,8067	4886812,703	11119,51012	11119,51012	11119,51012	2352907,523	2360617,918	5906828,185	10007753,17	20003998,7	10007559,11	10007559,11	6329205,251	165298,8067	165298,8067	169088,3961
+20	-1	80				8549935,397	7534450,155	8784601,607	8365199,925	9009075,192	6235166,042	8895779,19	8895779,19	8895779,19	10515587,42	10515147,01	8550134,848	10005870,15	11119339,02	10118754,21	9896364,005	8365199,925	9005145,798	9005145,798	9005063,319
+21	1	-1,001	1000			6658009,827	1970020,91	248729,1599	6247310,084	111,1781233	4883175,07	157328,2686	157328,2686	157328,2686	2352853,344	2361118,717	5819482,501	10116794,81	19857789,94	9896364,005	10118754,21	6247310,084	222390,2302	222390,2302	227949,9845
+22	0,999	-0,999	200			6658075,806	1969917,912	248480,5504	6247368,457	157,2416757	4883109,951	157092,3864	157092,3864	157092,3864	2352912,537	2361177,13	5819549,874	10116687,51	19858025,83	9896475,2	10118643,01	6247368,457	222279,0351	222279,0351	227838,7894
+23	1	-1,002				6658031,381	1970107,371	248828,6247	6247335,075	222,3563277	4883249,109	157406,9483	157406,9483	157406,9483	2352781,377	2361047,024	5819503,422	10116792,87	19857711,26	9896364,005	10118754,21	6247335,075	222390,3135	222390,3135	227950,0659
+24	1,01	-1				6656897,419	1969235,542	249128,7875	6246201,598	1111,95101	4882271,546	158037,7921	158037,7921	158037,7921	2353772,942	2362040,36	5818369,493	10117908,53	19857080,42	9895252,054	10119866,16	6246201,598	223502,1534	223502,1534	229061,9084
+25	1,01	-1,02	1488			6657328,734	1970965,737	251115,7971	6246701,67	2486,092063	4883752,698	159610,1869	159610,1869	159610,1869	2352334,613	2360607,509	5818788,198	10117869,73	19855508,03	9895252,054	10119866,16	6246701,67	223513,2161	223513,2161	229072,7026
+26	5	25				6034601,244	1531328,507	2722622,271	5595094,778	2920515,557	3089469,621	2831421,555	2831421,555	2831421,555	4936186,789	4940672,651	5341947,646	10610455,95	17183696,66	9451583,6	10563534,61	5595094,778	2964013,219	2964013,219	2965291,378
+27	-15	-15	1000			8754746,717	4303424,735	2423681,4	8380363,813	2352925,313	7235492,363	2345169,308	2345169,308	2345169,308	0	11119,51012	7924786,668	8311097,422	17669948,9	11675485,62	8339632,588	8380363,813	2187944,693	2187944,693	2183945,098
+28	-14,9	-15	1000			8744091,905	4295884,638	2416244,361	8369840,075	2344682,727	7227382,472	2337457,125	2337457,125	2337457,125	11119,51012	22239,02024	7914197,995	8322215,235	17677661,09	11664366,11	8350752,098	8369840,075	2180223,397	2180223,397	2176238,285
+29	-15	-14,8	1000			8748618,545	4287675,777	2407782,693	8373445,93	2338590,261	7220816,338	2329771,233	2329771,233	2329771,233	21481,24327	24184,10739	7918250,997	8311472,947	17685346,98	11675485,62	8339632,588	8373445,93	2172569,251	2172569,251	2168542,658
+30	-15	-15,2	1000			8760906,734	4319228,505	2439674,426	8387317,005	2367377,873	7250200,464	2360671,513	2360671,513	2360671,513	21481,24327	24184,10739	7931363,092	8310722,242	17654446,7	11675485,62	8339632,588	8387317,005	2203431,659	2203431,659	2199458,866
+31	0,532	0,53				6677448,59	1875950,34	78934,2415	6261374,359	177894,5288	4810769,197	83501,22271	83501,22271	83501,22271	2428660,922	2436394,314	5840417,486	10067734,41	19931616,99	9948403,312	10066714,9	6261374,359	240750,7596	240750,7596	244715,824
+32	89	-15				3354284,524	8575085,16	9900671,927	3798993,778	9788473,186	6373809,825	9900153,251	9900153,251	9900153,251	11564290,52	11575410,03	4127514,782	19838687,52	10114964,96	111195,1012	19903923,11	3798993,778	10010861,41	10010861,41	10016421,11
+33	32,0002	32	1000			3179500,838	2952890,362	4822687,564	2783648,478	4883114,806	22,23922369	4894013,155	4894013,155	4894013,155	7235506,307	7243620,44	2704435,409	13624308,23	15121105,06	6449293,629	13565824,58	2783648,478	5050747,872	5050747,872	5054981,361
+34	54	23,005				634783,882	4752849,437	6335638,325	341682,6316	6289792,285	2548523,94	6365429,705	6365429,705	6365429,705	8476703,415	8487022,461	704774,0083	16054406,83	13649688,51	4003023,642	16012094,57	341682,6316	6503059,843	6503059,843	6508396,517
+35	31,99	32	2000			3180595,93	2952094,417	4821937,418	2784719,977	4882412,43	1111,951014	4893279,637	4893279,637	4893279,637	7234795,196	7242908,167	2705426,272	13623174,22	15121838,57	6450427,819	13564690,39	2784719,977	5050016,809	5050016,809	5054249,609
+36	5,5	37,6				6181285,063	2796529,349	4109071,53	5776442,598	4312958,48	3003683,719	4218876,239	4218876,239	4218876,239	6227083,65	6230430,03	5642931,917	10686916,44	15796241,97	9395986,049	10619132,16	5776442,598	4346870,94	4346870,94	4347838,485
+37	5	37,6				6235657,044	2812923,628	4102273,061	5830366,2	4308152,908	3058366,121	4212316,554	4212316,554	4212316,554	6206176,51	6209419,252	5695417,694	10631324,26	15802801,66	9451583,6	10563534,61	5830366,2	4339028,578	4339028,578	4339920,98
+38	0	0,01				6746067,292	1958603,701	110083,1502	6331315,694	158037,7921	4893279,637	1111,95101	1111,95101	1111,95101	2345941,962	2353677,392	5908553,484	10007578,51	20014006,26	10007559,11	10007559,11	6331315,694	158037,7921	158037,7921	161997,4024
+39	0,01	0,01				6744974,009	1957839,871	110088,7654	6330228,87	157257,3694	4892431,525	1572,536195	1572,536195	1572,536195	2346741,608	2354479,719	5907458,296	10008690,29	20013545,68	10006447,15	10008671,06	6330228,87	158822,1643	158822,1643	162800,6742
+40	0,02	0				6744083,709	1957885,048	111217,3357	6329377,201	155684,9114	4892302,828	2223,902024	2223,902024	2223,902024	2346769,345	2354512,918	5906555,568	10009782,67	20012894,31	10005335,2	10009783,01	6329377,201	158830,0661	158830,0661	162846,3604
+41	0	-0,001				6746290,532	1959492,599	111306,2963	6331574,308	157171,0269	4894070,691	111,1951053	111,1951053	111,1951053	2345092,057	2352830,55	5908765,139	10007557,17	20015007,02	10007559,11	10007559,11	6331574,308	157171,0269	157171,0269	161151,9445
+42	-0,003	-0,001				6746618,512	1959721,711	111306,7961	6331900,348	157407,2198	4894325,108	351,6297846	351,6297846	351,6297846	2344852,128	2352589,816	5909093,688	10007223,63	20014766,58	10007892,69	10007225,52	6331900,348	156935,1876	156935,1876	160910,4133
+43	0,004	-0,004				6745914,136	1959429,686	111640,7675	6331210,149	156620,6136	4893947,257	629,0144755	629,0144755	629,0144755	2345180,289	2352920,691	5908384,83	10007996,06	20014489,2	10007114,33	10008003,89	6331210,149	157250,9338	157250,9338	161245,2183
+44	-0,004	-0,005				6746809,045	1960121,361	111751,9617	6332103,101	157172,6479	4894697,59	711,9960426	711,9960426	711,9960426	2344463,137	2352201,672	5909280,208	10007104,69	20014406,22	10008003,89	10007114,33	6332103,101	156542,0126	156542,0126	160523,1268
+45	-0,003	0,003				6746537,321	1959398,471	110862,0177	6331806,292	157721,389	4894037,448	471,760859	471,760859	471,760859	2345161,178	2352897,752	5909016,706	10007231,39	20014646,45	10007892,69	10007225,52	6331806,292	157250,2997	157250,2997	161217,7525
+46	-89	-90				16600956	11366716,59	10009499,63	16156386,24	10116796,75	13624286	10007559,11	10007559,11	10007559,11	8311097,422	8299979,61	15813531,66	0	10007559,11	19903923,11	111195,1012	16156386,24	9894440,413	9894440,413	9888881,505
+47	-89	-89,8				16600583,48	11366337,95	10009111,55	16156014,15	10116408,7	13623954,58	10007170,98	10007170,98	10007170,98	8310722,242	8299604,427	15813151,53	388,1242177	10007947,23	19903923,11	111195,1012	16156014,15	9894052,358	9894052,358	9888493,45
+48		179				-1	-1	-1	-1	-1	-1	-1	-1	-1	-1	-1	-1	-1	-1	-1	-1	-1	-1	-1	-1
+49	3					-1	-1	-1	-1	-1	-1	-1	-1	-1	-1	-1	-1	-1	-1	-1	-1	-1	-1	-1	-1
+50						-1	-1	-1	-1	-1	-1	-1	-1	-1	-1	-1	-1	-1	-1	-1	-1	-1	-1	-1	-1
+51	-0,004	1				6726937,925	1880410,371	444,780401	6309076,672	248828,9832	4823016,082	111195,9906	111195,9906	111195,9906	2423371,392	2430834,066	5890645,522	10009054,92	19903922,22	10008003,89	10007114,33	6309076,672	248431,0631	248431,0631	250957,9198
+52	-0,004	2				6708233,683	1804370,9	111195,9906	6287389,649	351754,6893	4752917,693	222390,647	222390,647	222390,647	2504252,84	2511449,861	5873533,24	10010994,85	19792727,56	10008003,89	10007114,33	6287389,649	351473,2442	351473,2442	353262,9062
+53	-0,004	3				6690605,702	1732029,554	222390,647	6266939,057	458555,4026	4684099,917	333585,5998	333585,5998	333585,5998	2587272,039	2594212,711	5857860,928	10012933,6	19681532,61	10008003,89	10007114,33	6266939,057	458339,4668	458339,4668	459712,3049
+54	-0,004	4				6674064,346	1663869,042	333585,5998	6247738,854	567045,8079	4616622,121	444780,6267	444780,6267	444780,6267	2672229,289	2678923,16	5843641,38	10014870,58	19570337,59	10008003,89	10007114,33	6247738,854	566871,1206	566871,1206	567980,6707
+55	-0,004	5				6658619,431	1600423,887	444780,6267	6229802,296	676413,3585	4550545,951	555975,6833	555975,6833	555975,6833	2758945,08	2765401,754	5830886,315	10016805,2	19459142,53	10008003,89	10007114,33	6229802,296	676266,8408	676266,8408	677196,1273
+56	-0,004	6				6644280,201	1542276,375	555975,6833	6213141,909	786292,1239	4485935,327	667170,7548	667170,7548	667170,7548	2847258,251	2853487,241	5819606,339	10018736,86	19347947,46	10008003,89	10007114,33	6213141,909	786166,0012	786166,0012	786964,4574
+57	-0,004	7				6631055,309	1490047,062	667170,7548	6197769,448	896494,1503	4422856,399	778365,8347	778365,8347	778365,8347	2937024,207	2943034,833	5809810,906	10020664,99	19236752,38	10008003,89	10007114,33	6197769,448	896383,4491	896383,4491	897082,7303
+58	-0,004	8				6618952,795	1444378,302	778365,8347	6183695,864	1006913,303	4361377,49	889560,9199	889560,9199	889560,9199	3028113,237	3033914,547	5801508,284	10022588,99	19125557,29	10008003,89	10007114,33	6183695,864	1006814,657	1006814,657	1007436,198
+59	-0,004	9				6607980,07	1405909,739	889560,9199	6170931,273	1117485,218	4301569,009	1000756,009	1000756,009	1000756,009	3120408,948	3126009,67	5794705,52	10024508,28	19014362,2	10008003,89	10007114,33	6170931,273	1117396,248	1117396,248	1117955,212
+60	-0,004	10				6598143,893	1375245,864	1000756,009	6159484,926	1228168,635	4243503,328	1111951,1	1111951,1	1111951,1	3213806,843	3219215,348	5789408,419	10026422,27	18903167,11	10008003,89	10007114,33	6159484,926	1228087,597	1228087,597	1228595,094
+61	-0,004	11				6589450,361	1352917,574	1111951,1	6149365,181	1338935,899	4187254,632	1223146,193	1223146,193	1223146,193	3308213,023	3313437,31	5785621,519	10028330,38	18791972,02	10008003,89	10007114,33	6149365,181	1338861,478	1338861,478	1339325,889
+62	-0,004	12				6581904,888	1339341,905	1223146,193	6140579,472	1449767,789	4132898,728	1334341,287	1334341,287	1334341,287	3403543,029	3408590,713	5783348,074	10030232,03	18680776,92	10008003,89	10007114,33	6140579,472	1449698,971	1449698,971	1450126,767
+63	-0,004	13				6575512,196	1334785,995	1334341,287	6133134,296	1560650,535	4080512,812	1445536,383	1445536,383	1445536,383	3499720,799	3504599,115	5782590,042	10032126,64	18569581,83	10008003,89	10007114,33	6133134,296	1560586,518	1560586,518	1560982,802
+64	-0,004	14				6570276,299	1339341,905	1445536,383	6127035,182	1671574,013	4030175,193	1556731,479	1556731,479	1556731,479	3596677,745	3601393,55	5783348,074	10034013,63	18458386,73	10008003,89	10007114,33	6127035,182	1671514,156	1671514,156	1671883,019
+65	-0,004	15				6566200,496	1352917,574	1556731,479	6122286,681	1782530,617	3981964,975	1667926,576	1667926,576	1667926,576	3694351,933	3698911,716	5785621,519	10035892,44	18347191,64	10008003,89	10007114,33	6122286,681	1782474,397	1782474,397	1782819,171
+66	-0,004	16				6563287,364	1375245,864	1667926,576	6118892,345	1893514,521	3935961,688	1779121,673	1779121,673	1779121,673	3792687,348	3797097,247	5789408,419	10037762,47	18235996,54	10008003,89	10007114,33	6118892,345	1893461,507	1893461,507	1893784,939
+67	-0,004	17				6561538,746	1405909,739	1779121,673	6116854,723	2004521,188	3892244,872	1890316,771	1890316,771	1890316,771	3891633,259	3895899,068	5794705,52	10039623,18	18124801,44	10008003,89	10007114,33	6116854,723	2004471,02	2004471,02	2004775,403
+68	-0,004	18				6560955,75	1444378,302	1890316,771	6116175,345	2115547,031	3850893,614	2001511,869	2001511,869	2001511,869	3991143,642	3995270,833	5801508,284	10041473,98	18013606,34	10008003,89	10007114,33	6116175,345	2115499,407	2115499,407	2115786,673
+69	-0,004	19				6561538,746	1490047,062	2001511,869	6116854,723	2226589,181	3811986,043	2112706,967	2112706,967	2112706,967	4091176,681	4095170,416	5809810,906	10043314,33	17902411,24	10008003,89	10007114,33	6116854,723	2226543,841	2226543,841	2226815,635
+70	-0,004	20				6563287,364	1542276,375	2112706,967	6118892,345	2337645,309	3775598,779	2223902,066	2223902,066	2223902,066	4191694,318	4195559,468	5819606,339	10045143,64	17791216,15	10008003,89	10007114,33	6118892,345	2337602,033	2337602,033	2337859,766
+71	-0,004	21				6566200,496	1600423,887	2223902,066	6122286,681	2448713,512	3741806,349	2335097,165	2335097,165	2335097,165	4292661,863	4296403,023	5830886,315	10046961,38	17680021,05	10008003,89	10007114,33	6122286,681	2448672,108	2448672,108	2448916,997
+72	-0,004	22				6570276,299	1663869,042	2335097,165	6127035,182	2559792,216	3710680,568	2446292,264	2446292,264	2446292,264	4394047,643	4397669,147	5843641,38	10048766,98	17568825,95	10008003,89	10007114,33	6127035,182	2559752,516	2559752,516	2559985,623
+73	-0,004	23				6575512,196	1732029,554	2446292,264	6133134,296	2670880,106	3682289,906	2557487,364	2557487,364	2557487,364	4495822,697	4499328,631	5857860,928	10050559,9	17457630,85	10008003,89	10007114,33	6133134,296	2670841,966	2670841,966	2671064,217
+74	-0,004	24				6581904,888	1804370,9	2557487,364	6140579,472	2781976,081	3656698,841	2668682,463	2668682,463	2668682,463	4597960,494	4601354,718	5873533,24	10052339,59	17346435,75	10008003,89	10007114,33	6140579,472	2781939,371	2781939,371	2782151,584
+75	-0,004	25				6589450,361	1880410,371	2668682,463	6149365,181	2893079,205	3633967,211	2779877,563	2779877,563	2779877,563	4700436,7	4703722,853	5890645,522	10054105,5	17235240,65	10008003,89	10007114,33	6149365,181	2893043,813	2893043,813	2893246,708
+76	-0,004	26				6598143,893	1959717,276	2779877,563	6159484,926	3004188,683	3614149,583	2891072,662	2891072,662	2891072,662	4803228,955	4806410,473	5909183,957	10055857,11	17124045,55	10008003,89	10007114,33	6159484,926	3004154,507	3004154,507	3004348,728
+77	-0,004	27				6607980,07	2041910,662	2891072,662	6170931,273	3115303,832	3597294,651	3002267,762	3002267,762	3002267,762	4906316,683	4909396,811	5929133,744	10057593,86	17012850,45	10008003,89	10007114,33	6170931,273	3115270,781	3115270,781	3115456,901
+78	-0,004	28				6618952,795	2126655,59	3002267,762	6183695,864	3226424,064	3583444,67	3113462,862	3113462,862	3113462,862	5009680,921	5012662,723	5950479,156	10059315,25	16901655,35	10008003,89	10007114,33	6183695,864	3226392,057	3226392,057	3226570,589
+79	-0,004	29				6631055,309	2213658,745	3113462,862	6197769,448	3337548,867	3572634,959	3224657,962	3224657,962	3224657,962	5113304,168	5116190,538	5973203,584	10061020,74	16790460,25	10008003,89	10007114,33	6197769,448	3337517,831	3337517,831	3337689,237
+80	-0,004	30				6644280,201	2302663,864	3224657,962	6213141,909	3448677,797	3564893,463	3335853,062	3335853,062	3335853,062	5217170,244	5219963,918	5997289,596	10062709,81	16679265,15	10008003,89	10007114,33	6213141,909	3448647,666	3448647,666	3448812,364
+81	-0,004	31				6658619,431	2393447,304	3335853,062	6229802,296	3559810,464	3560240,404	3447048,162	3447048,162	3447048,162	5321264,172	5323967,736	6022718,987	10064381,95	16568070,05	10008003,89	10007114,33	6229802,296	3559781,179	3559781,179	3559939,546
+82	-0,004	32				6674064,346	2485813,915	3447048,162	6247738,854	3670946,526	3558688,018	3558243,263	3558243,263	3558243,263	5425572,068	5428187,968	6049472,837	10066036,65	16456874,95	10008003,89	10007114,33	6247738,854	3670918,032	3670918,032	3671070,411
+83	-0,004	33				6690605,702	2579593,31	3558243,263	6266939,057	3782085,681	3560240,404	3669438,363	3669438,363	3669438,363	5530081,043	5532611,59	6077531,564	10067673,4	16345679,85	10008003,89	10007114,33	6266939,057	3782057,927	3782057,927	3782204,633
+84	-0,004	34				6708233,683	2674636,549	3669438,363	6287389,649	3893227,66	3564893,463	3780633,463	3780633,463	3780633,463	5634779,111	5637226,495	6106874,981	10069291,71	16234484,75	10008003,89	10007114,33	6287389,649	3893200,602	3893200,602	3893341,918
+85	-0,004	35				6726937,925	2770813,237	3780633,463	6309076,672	4004372,226	3572634,959	3891828,563	3891828,563	3891828,563	5739655,116	5742021,408	6137482,351	10070891,09	16123289,65	10008003,89	10007114,33	6309076,672	4004345,821	4004345,821	4004482,01
+86	-0,004	36				6746707,539	2868008,998	3891828,563	6331985,512	4115519,165	3583444,67	4003023,664	4003023,664	4003023,664	5844698,656	5846985,817	6169332,439	10072471,04	16012094,55	10008003,89	10007114,33	6331985,512	4115493,375	4115493,375	4115624,677
+87	-0,004	37				6767531,134	2966123,296	4003023,664	6356100,932	4226668,288	3597294,651	4114218,764	4114218,764	4114218,764	5949900,021	5952109,906	6202403,569	10074031,08	15900899,45	10008003,89	10007114,33	6356100,932	4226643,078	4226643,078	4226769,713
+88	-0,004	38				6789396,839	3065067,563	4114218,764	6381407,114	4337819,423	3614149,583	4225413,865	4225413,865	4225413,865	6055250,132	6057384,499	6236673,677	10075570,75	15789704,35	10008003,89	10007114,33	6381407,114	4337794,759	4337794,759	4337916,931
+89	-0,004	39				6812292,331	3164763,585	4225413,865	6407887,696	4448972,415	3633967,211	4336608,965	4336608,965	4336608,965	6160740,492	6162801,005	6272120,356	10077089,57	15678509,25	10008003,89	10007114,33	6407887,696	4448948,268	4448948,268	4449066,165
+90	-0,004	40				6836204,859	3265142,127	4336608,965	6435525,812	4560127,127	3656698,841	4447804,066	4447804,066	4447804,066	6266363,135	6268351,371	6308720,916	10078587,07	15567314,15	10008003,89	10007114,33	6435525,812	4560103,468	4560103,468	4560217,264
+91	-0,004	41				6861121,267	3366141,752	4447804,066	6464304,134	4671283,431	3682289,906	4558999,166	4558999,166	4558999,166	6372110,582	6374028,034	6346452,42	10080062,8	15456119,05	10008003,89	10007114,33	6464304,134	4671260,234	4671260,234	4671370,09
+92	-0,004	42				6887028,019	3467707,805	4558999,166	6494204,909	4782441,214	3710680,568	4670194,267	4670194,267	4670194,267	6477975,806	6479823,889	6385291,742	10081516,32	15344923,95	10008003,89	10007114,33	6494204,909	4782418,454	4782418,454	4782524,52
+93	-0,004	43				6913911,228	3569791,547	4670194,267	6525209,995	4893600,371	3741806,349	4781389,367	4781389,367	4781389,367	6583952,193	6585732,245	6425215,601	10082947,18	15233728,84	10008003,89	10007114,33	6525209,995	4893578,025	4893578,025	4893680,439
+94	-0,004	44				6941756,676	3672349,408	4781389,367	6557300,907	5004760,806	3775598,779	4892584,468	4892584,468	4892584,468	6690033,507	6691746,798	6466200,609	10084354,94	15122533,74	10008003,89	10007114,33	6557300,907	5004738,854	5004738,854	5004837,746
+95	-0,004	45				6970549,842	3775342,347	4892584,468	6590458,843	5115922,434	3811986,043	5003779,569	5003779,569	5003779,569	6796213,866	6797861,596	6508223,311	10085739,17	15011338,64	10008003,89	10007114,33	6590458,843	5115900,855	5115900,855	5115996,346
+96	-0,004	46				7000275,926	3878735,297	5003779,569	6624664,732	5227085,175	3850893,614	5114974,669	5114974,669	5114974,669	6902487,709	6904071,016	6551260,219	10087099,46	14900143,54	10008003,89	10007114,33	6624664,732	5227063,95	5227063,95	5227156,152
+97	-0,004	47				7030919,869	3982496,687	5114974,669	6659899,262	5338248,955	3892244,872	5226169,77	5226169,77	5226169,77	7008849,774	7010369,734	6595287,849	10088435,39	14788948,44	10008003,89	10007114,33	6659899,262	5338228,067	5338228,067	5338317,084
+98	-0,004	48				7062466,384	4086598,031	5226169,77	6696142,915	5449413,707	3935961,688	5337364,87	5337364,87	5337364,87	7115295,076	7116752,706	6640282,755	10089746,54	14677753,34	10008003,89	10007114,33	6696142,915	5449393,138	5449393,138	5449479,07
+99	-0,004	49				7094899,97	4191013,571	5337364,87	6733376,004	5560579,369	3981964,975	5448559,971	5448559,971	5448559,971	7221818,882	7223215,144	6686221,56	10091032,53	14566558,24	10008003,89	10007114,33	6733376,004	5560559,104	5560559,104	5560642,043
+100	-0,004	50				7128204,944	4295719,96	5448559,971	6771578,7	5671745,883	4030175,193	5559755,072	5559755,072	5559755,072	7328416,694	7329752,498	6733080,982	10092292,96	14455363,14	10008003,89	10007114,33	6771578,7	5671725,908	5671725,908	5671805,939
+101	-0,004	51				7162365,453	4400696	5559755,072	6810731,064	5782913,197	4080512,812	5670950,173	5670950,173	5670950,173	7435084,233	7436360,438	6780837,862	10093527,44	14344168,04	10008003,89	10007114,33	6810731,064	5782893,498	5782893,498	5782970,702
+102	-0,004	52				7197365,503	4505922,397	5670950,173	6850813,079	5894081,262	4132898,728	5782145,273	5782145,273	5782145,273	7541817,42	7543034,834	6829469,189	10094735,6	14232972,94	10008003,89	10007114,33	6850813,079	5894061,824	5894061,824	5894136,277
+103	-0,004	53				7233188,974	4611381,562	5782145,273	6891804,671	6005250,031	4187254,632	5893340,374	5893340,374	5893340,374	7648612,36	7649771,748	6878952,119	10095917,07	14121777,84	10008003,89	10007114,33	6891804,671	6005230,842	6005230,842	6005302,616
+104	-0,004	54				7269819,642	4717057,423	5893340,374	6933685,743	6116419,462	4243503,328	6004535,475	6004535,475	6004535,475	7755465,331	7756567,41	6929263,999	10097071,5	14010582,74	10008003,89	10007114,33	6933685,743	6116400,511	6116400,511	6116469,672
+105	-0,004	55				7307241,197	4822935,27	6004535,475	6976436,191	6227589,516	4301569,009	6115730,576	6115730,576	6115730,576	7862372,767	7863418,213	6980382,381	10098198,52	13899387,64	10008003,89	10007114,33	6976436,191	6227570,791	6227570,791	6227637,402
+106	-0,004	56				7345437,261	4929001,615	6115730,576	7020035,933	6338760,155	4361377,49	6226925,676	6226925,676	6226925,676	7969331,251	7970320,698	7032285,037	10099297,8	13788192,54	10008003,89	10007114,33	7020035,933	6338741,645	6338741,645	6338805,766
+107	-0,004	57				7384391,404	5035244,065	6226925,676	7064464,928	6449931,346	4422856,399	6338120,777	6338120,777	6338120,777	8076337,498	8077271,541	7084949,979	10100369	13676997,43	10008003,89	10007114,33	7064464,928	6449913,04	6449913,04	6449974,726
+108	-0,004	58				7424087,161	5141651,217	6338120,777	7109703,198	6561103,055	4485935,327	6449315,878	6449315,878	6449315,878	8183388,348	8184267,543	7138355,465	10101411,79	13565802,33	10008003,89	10007114,33	7109703,198	6561084,944	6561084,944	6561144,247
+109	-0,004	59				7464508,047	5248212,558	6449315,878	7155730,841	6672275,252	4550545,951	6560510,979	6560510,979	6560510,979	8290480,757	8291305,622	7192480,011	10102425,86	13454607,23	10008003,89	10007114,33	7155730,841	6672257,326	6672257,326	6672314,296
+110	-0,004	60				7505637,571	5354918,38	6560510,979	7202528,054	6783447,909	4616622,121	6671706,08	6671706,08	6671706,08	8397611,784	8398382,801	7247302,404	10103410,9	13343412,13	10008003,89	10007114,33	7202528,054	6783430,159	6783430,159	6783484,842
+111	-0,004	61				7547459,248	5461759,704	6671706,08	7250075,146	6894620,998	4684099,917	6782901,18	6782901,18	6782901,18	8504778,585	8505496,201	7302801,701	10104366,61	13232217,03	10008003,89	10007114,33	7250075,146	6894603,416	6894603,416	6894655,856
+112	-0,004	62				7589956,616	5568728,213	6782901,18	7298352,552	7005794,495	4752917,693	6894096,281	6894096,281	6894096,281	8611978,405	8612643,033	7358957,244	10105292,69	13121021,93	10008003,89	10007114,33	7298352,552	7005777,071	7005777,071	7005827,309
+113	-0,004	63				7633113,243	5675816,188	6894096,281	7347340,845	7116968,375	4823016,082	7005291,382	7005291,382	7005291,382	8719208,567	8719820,588	7415748,658	10106188,86	13009826,83	10008003,89	10007114,33	7347340,845	7116951,102	7116951,102	7116999,177
+114	-0,004	64				7676912,738	5783016,456	7005291,382	7397020,75	7228142,616	4894338	7116486,483	7116486,483	7116486,483	8826466,47	8827026,232	7473155,858	10107054,86	12898631,73	10008003,89	10007114,33	7397020,75	7228125,487	7228125,487	7228171,434
+115	-0,004	65				7721338,765	5890322,341	7116486,483	7447373,15	7339317,196	4966828,625	7227681,584	7227681,584	7227681,584	8933749,578	8934257,397	7531159,048	10107890,41	12787436,63	10008003,89	10007114,33	7447373,15	7339300,203	7339300,203	7339344,057
+116	-0,004	66				7766375,048	5997727,619	7227681,584	7498379,099	7450492,096	5040435,367	7338876,685	7338876,685	7338876,685	9041055,414	9041511,576	7589738,726	10108695,26	12676241,53	10008003,89	10007114,33	7498379,099	7450475,23	7450475,23	7450517,024
+117	-0,004	67				7812005,38	6105226,48	7338876,685	7550019,828	7561667,294	5115107,822	7450071,785	7450071,785	7450071,785	9148381,557	9148786,317	7648875,679	10109469,17	12565046,43	10008003,89	10007114,33	7550019,828	7561650,551	7561650,551	7561690,314
+118	-0,004	68				7858213,634	6212813,492	7450071,785	7602276,751	7672842,775	5190797,724	7561266,886	7561266,886	7561266,886	9255725,631	9256079,214	7708550,986	10110211,9	12453851,33	10008003,89	10007114,33	7602276,751	7672826,145	7672826,145	7672863,907
+119	-0,004	69				7904983,764	6320483,568	7561266,886	7655131,473	7784018,518	5267458,886	7672461,987	7672461,987	7672461,987	9363085,3	9363387,903	7768746,015	10110923,23	12342656,22	10008003,89	10007114,33	7655131,473	7784001,997	7784001,997	7784037,783
+120	-0,004	70				7952299,816	6428231,938	7672461,987	7708565,791	7895194,509	5345047,138	7783657,088	7783657,088	7783657,088	9470458,268	9470710,058	7829442,421	10111602,93	12231461,12	10008003,89	10007114,33	7708565,791	7895178,09	7895178,09	7895211,924
+121	-0,004	71				8000145,93	6536054,123	7783657,088	7762561,7	8006370,73	5423520,258	7894852,189	7894852,189	7894852,189	9577842,267	9578043,383	7890622,138	10112250,8	12120266,02	10008003,89	10007114,33	7762561,7	8006354,407	8006354,407	8006386,313
+122	-0,004	72				8048506,347	6643945,912	7894852,189	7817101,395	8117547,167	5502837,903	8006047,29	8006047,29	8006047,29	9685235,054	9685385,607	7952267,383	10112866,64	12009070,92	10008003,89	10007114,33	7817101,395	8117530,933	8117530,933	8117560,934
+123	-0,004	73				8097365,411	6751903,337	8006047,29	7872167,276	8228723,804	5582961,538	8117242,391	8117242,391	8117242,391	9792634,407	9792734,48	8014360,646	10113450,27	11897875,82	10008003,89	10007114,33	7872167,276	8228707,654	8228707,654	8228735,769
+124	-0,004	74				8146707,574	6859922,655	8117242,391	7927741,942	8339900,628	5663854,36	8228437,492	8228437,492	8228437,492	9900038,118	9900087,766	8076884,683	10114001,51	11786680,72	10008003,89	10007114,33	7927741,942	8339884,555	8339884,555	8339910,803
+125	-0,004	75				8196517,397	6968000,334	8228437,492	7983808,198	8451077,624	5745481,231	8339632,592	8339632,592	8339632,592	10007443,99	10007443,24	8139822,516	10114520,18	11675485,62	10008003,89	10007114,33	7983808,198	8451061,624	8451061,624	8451086,021
+126	-0,004	76				8246779,555	7076133,028	8339632,592	8040349,052	8562254,78	5827808,6	8450827,693	8450827,693	8450827,693	10114849,83	10114798,68	8203157,423	10115006,14	11564290,52	10008003,89	10007114,33	8040349,052	8562238,846	8562238,846	8562261,409
+127	-0,004	77				8297478,834	7184317,572	8450827,693	8097347,713	8673432,082	5910804,435	8562022,794	8562022,794	8562022,794	10222253,44	10222151,87	8266872,932	10115459,23	11453095,42	10008003,89	10007114,33	8097347,713	8673416,21	8673416,21	8673436,953
+128	-0,004	78				8348600,136	7292550,96	8562022,794	8154787,592	8784609,517	5994438,151	8673217,895	8673217,895	8673217,895	10329652,63	10329500,57	8330952,813	10115879,31	11341900,32	10008003,89	10007114,33	8154787,592	8784593,702	8784593,702	8784612,639
+129	-0,004	79				8400128,48	7400830,336	8673217,895	8212652,297	8895787,075	6078680,542	8784412,996	8784412,996	8784412,996	10437045,18	10436842,57	8395381,074	10116266,26	11230705,22	10008003,89	10007114,33	8212652,297	8895771,311	8895771,311	8895788,453
+130	-0,004	80				8452048,997	7509152,983	8784412,996	8270925,633	9006964,743	6163503,714	8895608,097	8895608,097	8895608,097	10544428,89	10544175,59	8460141,951	10116619,96	11119510,12	10008003,89	10007114,33	8270925,633	9006949,024	9006949,024	9006964,384
+131	-0,004	81				8504346,936	7617516,311	8895608,097	8329591,596	9118142,509	6248881,023	9006803,198	9006803,198	9006803,198	10651801,49	10651497,39	8525219,897	10116940,3	11008315,01	10008003,89	10007114,33	8329591,596	9118126,832	9118126,832	9118140,417
+132	-0,004	82				8557007,658	7725917,846	9006803,198	8388634,37	9229320,363	6334787,006	9117998,299	9117998,299	9117998,299	10759160,73	10758805,64	8590599,581	10117227,18	10897119,91	10008003,89	10007114,33	8388634,37	9229304,721	9229304,721	9229316,542
+133	-0,004	83				8610016,638	7834355,225	9117998,299	8448038,327	9340498,292	6421197,328	9229193,4	9229193,4	9229193,4	10866504,31	10866098,04	8656265,875	10117480,51	10785924,81	10008003,89	10007114,33	8448038,327	9340482,682	9340482,682	9340492,745
+134	-0,004	84				8663359,465	7942826,181	9229193,4	8507788,015	9451676,287	6508088,72	9340388,501	9340388,501	9340388,501	10973829,89	10973372,21	8722203,845	10117700,23	10674729,71	10008003,89	10007114,33	8507788,015	9451660,703	9451660,703	9451669,014
+135	-0,004	85				8717021,833	8051328,543	9340388,501	8567868,161	9562854,336	6595438,922	9451583,601	9451583,601	9451583,601	11081135,09	11080625,75	8788398,745	10117886,25	10563534,61	10008003,89	10007114,33	8567868,161	9562838,773	9562838,773	9562845,339
+136	-0,004	86				8770989,548	8159860,222	9451583,601	8628263,658	9674032,43	6683226,636	9562778,702	9562778,702	9562778,702	11188417,49	11187856,21	8854836,006	10118038,53	10452339,51	10008003,89	10007114,33	8628263,658	9674016,883	9674016,883	9674021,707
+137	-0,004	87				8825248,519	8268419,207	9562778,702	8688959,567	9785210,556	6771431,466	9673973,803	9673973,803	9673973,803	11295674,62	11295061,07	8921501,229	10118157,02	10341144,41	10008003,89	10007114,33	8688959,567	9785195,022	9785195,022	9785198,107
+138	-0,004	88				8879784,756	8377003,559	9673973,803	8749941,108	9896388,706	6860033,878	9785168,904	9785168,904	9785168,904	11402903,94	11402237,78	8988380,173	10118241,68	10229949,31	10008003,89	10007114,33	8749941,108	9896373,179	9896373,179	9896374,527
+139	-0,004	89				8934584,37	8485611,404	9785168,904	8811193,651	10007566,87	6949015,146	9896364,005	9896364,005	9896364,005	11510102,84	11509383,68	9055458,749	10118292,49	10118754,21	10008003,89	10007114,33	8811193,651	10007551,34	10007551,34	10007550,96
+140	-0,004	90				8989633,568	8594240,929	9896364,005	8872702,717	10118745,03	7038357,312	10007559,11	10007559,11	10007559,11	11617268,64	11616496,08	9122723,011	10118309,43	10007559,11	10008003,89	10007114,33	8872702,717	10118729,51	10118729,51	10118727,38
+141	-0,004	91				9044918,648	8702890,375	10007559,11	8934453,964	10229923,19	7128043,144	10118754,21	10118754,21	10118754,21	11724398,6	11723572,19	9190159,142	10118292,49	9896364,005	10008003,89	10007114,33	8934453,964	10229907,66	10229907,66	10229903,79
+142	-0,004	92				9100425,997	8811558,03	10118754,21	8996433,187	10341101,33	7218056,093	10229949,31	10229949,31	10229949,31	11831489,86	11830609,11	9257753,452	10118241,68	9785168,904	10008003,89	10007114,33	8996433,187	10341085,78	10341085,78	10341080,18
+143	-0,004	93				9156142,088	8920242,231	10229949,31	9058626,306	10452279,44	7308380,254	10341144,41	10341144,41	10341144,41	11938539,48	11937603,88	9325492,361	10118157,02	9673973,803	10008003,89	10007114,33	9058626,306	10452263,88	10452263,88	10452256,53
+144	-0,004	94				9212053,473	9028941,354	10341144,41	9121019,361	10563457,51	7399000,334	10452339,51	10452339,51	10452339,51	12045544,42	12044553,41	9393362,396	10118038,53	9562778,702	10008003,89	10007114,33	9121019,361	10563441,93	10563441,93	10563432,83
+145	-0,004	95				9268146,78	9137653,808	10452339,51	9183598,509	10674635,53	7489901,612	10563534,61	10563534,61	10563534,61	12152501,51	12151454,49	9461350,176	10117886,25	9451583,601	10008003,89	10007114,33	9183598,509	10674619,92	10674619,92	10674609,08
+146	-0,004	96				9324408,709	9246378,039	10563534,61	9246350,009	10785813,49	7581069,909	10674729,71	10674729,71	10674729,71	12259407,47	12258303,81	9529442,41	10117700,23	9340388,501	10008003,89	10007114,33	9246350,009	10785797,85	10785797,85	10785785,25
+147	-0,004	97				9380826,029	9355112,516	10674729,71	9309260,221	10896991,38	7672491,554	10785924,81	10785924,81	10785924,81	12366258,88	12365097,9	9597625,877	10117480,51	9229193,4	10008003,89	10007114,33	9309260,221	10896975,7	10896975,7	10896961,33
+148	-0,004	98				9437385,568	9463855,737	10785924,81	9372315,599	11008169,19	7764153,358	10897119,91	10897119,91	10897119,91	12473052,17	12471833,16	9665887,428	10117227,18	9117998,299	10008003,89	10007114,33	9372315,599	11008153,47	11008153,47	11008137,32
+149	-0,004	99				9494074,214	9572606,217	10897119,91	9435502,676	11119346,9	7856042,578	11008315,01	11008315,01	11008315,01	12579783,61	12578505,8	9734213,969	10116940,3	9006803,198	10008003,89	10007114,33	9435502,676	11119331,14	11119331,14	11119313,21
+150	-0,004	100				9550878,909	9681362,491	11008315,01	9498808,068	11230524,51	7948146,899	11119510,12	11119510,12	11119510,12	12686449,31	12685111,89	9802592,451	10116619,96	8895608,097	10008003,89	10007114,33	9498808,068	11230508,69	11230508,69	11230488,97
+151	-0,004	101				9607786,639	9790123,103	11119510,12	9562218,456	11341702	8040454,4	11230705,22	11230705,22	11230705,22	12793045,19	12791647,3	9871009,867	10116266,26	8784412,996	10008003,89	10007114,33	9562218,456	11341686,13	11341686,13	11341664,59
+152	-0,004	102				9664784,435	9898886,612	11230705,22	9625720,584	11452879,37	8132953,531	11341900,32	11341900,32	11341900,32	12899566,95	12898107,69	9939453,236	10115879,31	8673217,895	10008003,89	10007114,33	9625720,584	11452863,43	11452863,43	11452840,07
+153	-0,004	103				9721859,365	10007651,58	11341900,32	9689301,252	11564056,59	8225633,094	11453095,42	11453095,42	11453095,42	13006010,11	13004488,5	10007909,6	10115459,23	8562022,794	10008003,89	10007114,33	9689301,252	11564040,59	11564040,59	11564015,39
+154	-0,004	104				9778998,529	10116416,58	11453095,42	9752947,304	11675233,66	8318482,213	11564290,52	11564290,52	11564290,52	13112369,93	13110784,96	10076366	10115006,14	8450827,693	10008003,89	10007114,33	9752947,304	11675217,58	11675217,58	11675190,53
+155	-0,004	105				9836189,054	10225180,17	11564290,52	9816645,624	11786410,56	8411490,318	11675485,62	11675485,62	11675485,62	13218641,41	13216992,01	10144809,49	10114520,18	8339632,592	10008003,89	10007114,33	9816645,624	11786394,41	11786394,41	11786365,49
+156	-0,004	106				9893418,089	10333940,91	11675485,62	9880383,126	11897587,28	8504647,119	11786680,72	11786680,72	11786680,72	13324819,29	13323104,32	10213227,11	10114001,51	8228437,492	10008003,89	10007114,33	9880383,126	11897571,04	11897571,04	11897540,23
+157	-0,004	107				9950672,798	10442697,38	11786680,72	9944146,75	12008763,81	8597942,592	11897875,82	11897875,82	11897875,82	13430898,01	13429116,26	10281605,87	10113450,27	8117242,391	10008003,89	10007114,33	9944146,75	12008747,48	12008747,48	12008714,76
+158	-0,004	108				10007940,36	10551448,1	11897875,82	10007923,45	12119940,12	8691366,954	12009070,92	12009070,92	12009070,92	13536871,68	13535021,88	10349932,78	10112866,64	8006047,29	10008003,89	10007114,33	10007923,45	12119923,7	12119923,7	12119889,05
+159	-0,004	109				10065207,95	10660191,62	12009070,92	10071700,18	12231116,21	8784910,648	12120266,02	12120266,02	12120266,02	13642734,05	13640814,87	10418194,77	10112250,8	7894852,189	10008003,89	10007114,33	10071700,18	12231099,69	12231099,69	12231063,08
+160	-0,004	110				10122462,75	10768926,45	12120266,02	10135463,92	12342292,07	8878564,323	12231461,12	12231461,12	12231461,12	13748478,52	13746488,54	10486378,77	10111602,93	7783657,088	10008003,89	10007114,33	10135463,92	12342275,44	12342275,44	12342236,84
+161	-0,004	111				10179691,94	10877651,09	12231461,12	10199201,6	12453467,66	8972318,82	12342656,22	12342656,22	12342656,22	13854098,03	13852035,76	10554471,61	10110923,23	7672461,987	10008003,89	10007114,33	10199201,6	12453450,92	12453450,92	12453410,32
+162	-0,004	112				10236882,68	10986364,01	12342656,22	10262900,18	12564642,98	9066165,151	12453851,33	12453851,33	12453851,33	13959585,12	13957448,98	10622460,07	10110211,9	7561266,886	10008003,89	10007114,33	10262900,18	12564626,12	12564626,12	12564583,48
+163	-0,004	113				10294022,12	11095063,66	12453851,33	10326546,56	12675818,01	9160094,486	12565046,43	12565046,43	12565046,43	14064931,81	14062720,14	10690330,87	10109469,17	7450071,785	10008003,89	10007114,33	10326546,56	12675801,02	12675801,02	12675756,31
+164	-0,004	114				10351097,39	11203748,44	12565046,43	10390127,63	12786992,73	9254098,135	12676241,53	12676241,53	12676241,53	14170129,6	14167840,63	10758070,63	10108695,26	7338876,685	10008003,89	10007114,33	10390127,63	12786975,6	12786975,6	12786928,79
+165	-0,004	115				10408095,58	11312416,73	12676241,53	10453630,23	12898167,11	9348167,536	12787436,63	12787436,63	12787436,63	14275169,39	14272801,27	10825665,87	10107890,41	7227681,584	10008003,89	10007114,33	10453630,23	12898149,84	12898149,84	12898100,9
+166	-0,004	116				10465003,77	11421066,88	12787436,63	10517041,16	13009341,14	9442294,237	12898631,73	12898631,73	12898631,73	14380041,48	14377592,25	10893103,01	10107054,86	7116486,483	10008003,89	10007114,33	10517041,16	13009323,72	13009323,72	13009272,61
+167	-0,004	117				10521808,99	11529697,16	12898631,73	10580347,17	13120514,8	9536469,883	13009826,83	13009826,83	13009826,83	14484735,44	14482203,03	10960368,35	10106188,86	7005291,382	10008003,89	10007114,33	10580347,17	13120497,21	13120497,21	13120443,89
+168	-0,004	118				10578498,21	11638305,83	13009826,83	10643534,94	13231688,05	9630686,199	13121021,93	13121021,93	13121021,93	14589240,12	14586622,34	11027448,1	10105292,69	6894096,281	10008003,89	10007114,33	10643534,94	13231670,3	13231670,3	13231614,73
+169	-0,004	119				10635058,39	11746891,07	13121021,93	10706591,08	13342860,89	9724934,981	13232217,03	13232217,03	13232217,03	14693543,53	14690838,06	11094328,28	10104366,61	6782901,18	10008003,89	10007114,33	10706591,08	13342842,96	13342842,96	13342785,09
+170	-0,004	120				10691476,41	11855451	13232217,03	10769502,13	13454033,27	9819208,078	13343412,13	13343412,13	13343412,13	14797632,75	14794837,16	11160994,83	10103410,9	6671706,08	10008003,89	10007114,33	10769502,13	13454015,16	13454015,16	13453954,95
+171	-0,004	121				10747739,1	11963983,69	13343412,13	10832254,53	13565205,17	9913497,38	13454607,23	13454607,23	13454607,23	14901493,91	14898605,59	11227433,49	10102425,86	6560510,979	10008003,89	10007114,33	10832254,53	13565186,87	13565186,87	13565124,27
+172	-0,004	122				10803833,23	12072487,14	13454607,23	10894834,65	13676376,57	10007794,8	13565802,33	13565802,33	13565802,33	15005112	15002128,23	11293629,87	10101411,79	6449315,878	10008003,89	10007114,33	10894834,65	13676358,06	13676358,06	13676293,01
+173	-0,004	123				10859745,49	12180959,25	13565802,33	10957228,76	13787547,42	10102092,28	13676997,43	13676997,43	13676997,43	15108470,84	15105388,72	11359569,4	10100369	6338120,777	10008003,89	10007114,33	10957228,76	13787528,7	13787528,7	13787461,15
+174	-0,004	124				10915462,52	12289397,85	13676997,43	11019422,99	13898717,7	10196381,74	13788192,54	13788192,54	13788192,54	15211552,91	15208369,38	11425237,32	10099297,8	6226925,676	10008003,89	10007114,33	11019422,99	13898698,75	13898698,75	13898628,64
+175	-0,004	125				10970970,86	12397800,68	13788192,54	11081403,4	14009887,37	10290655,09	13899387,64	13899387,64	13899387,64	15314339,24	15311051,05	11490618,72	10098198,52	6115730,576	10008003,89	10007114,33	11081403,4	14009868,18	14009868,18	14009795,45
+176	-0,004	126				11026256,99	12506165,37	13899387,64	11143155,9	14121056,39	10384904,24	14010582,74	14010582,74	14010582,74	15416809,24	15413412,96	11555698,45	10097071,5	6004535,475	10008003,89	10007114,33	11143155,9	14121036,95	14121036,95	14120961,53
+177	-0,004	127				11081307,3	12614489,47	14010582,74	11204666,29	14232224,71	10479121,02	14121777,84	14121777,84	14121777,84	15518940,52	15515432,51	11620461,19	10095917,07	5893340,374	10008003,89	10007114,33	11204666,29	14232205,01	14232205,01	14232126,83
+178	-0,004	128				11136108,07	12722770,37	14121777,84	11265920,23	14343392,3	10573297,23	14232972,94	14232972,94	14232972,94	15620708,75	15617085,14	11684891,39	10094735,6	5782145,273	10008003,89	10007114,33	11265920,23	14343372,33	14343372,33	14343291,3
+179	-0,004	129				11190645,53	12831005,37	14232972,94	11326903,23	14454559,11	10667424,61	14344168,04	14344168,04	14344168,04	15722087,36	15718344,07	11748973,28	10093527,44	5670950,173	10008003,89	10007114,33	11326903,23	14454538,84	14454538,84	14454454,89
+180	-0,004	130				11244905,77	12939191,6	14344168,04	11387600,67	14565725,07	10761494,79	14455363,14	14455363,14	14455363,14	15823047,39	15819180,08	11812690,87	10092292,96	5559755,072	10008003,89	10007114,33	11387600,67	14565704,51	14565704,51	14565617,55
+181	-0,004	131				11298874,81	13047326,08	14455363,14	11447997,76	14676890,15	10855499,33	14566558,24	14566558,24	14566558,24	15923557,13	15919561,22	11876027,93	10091032,53	5448559,971	10008003,89	10007114,33	11447997,76	14676869,26	14676869,26	14676779,2
+182	-0,004	132				11352538,55	13155405,63	14566558,24	11508079,56	14788054,26	10949429,65	14677753,34	14677753,34	14677753,34	16023581,88	16019452,48	11938967,99	10089746,54	5337364,87	10008003,89	10007114,33	11508079,56	14788033,04	14788033,04	14787939,77
+183	-0,004	133				11405882,81	13263426,92	14677753,34	11567830,97	14899217,36	11043277,08	14788948,44	14788948,44	14788948,44	16123083,55	16118815,51	12001494,33	10088435,39	5226169,77	10008003,89	10007114,33	11567830,97	14899195,78	14899195,78	14899099,21
+184	-0,004	134				11458893,27	13371386,4	14788948,44	11627236,71	15010379,36	11137032,79	14900143,54	14900143,54	14900143,54	16222020,31	16217608,16	12063589,95	10087099,46	5114974,669	10008003,89	10007114,33	11627236,71	15010357,41	15010357,41	15010257,42
+185	-0,004	135				11511555,52	13479280,36	14900143,54	11686281,34	15121540,19	11230687,78	15011338,64	15011338,64	15011338,64	16320346,1	16315784,04	12125237,63	10085739,17	5003779,569	10008003,89	10007114,33	11686281,34	15121517,84	15121517,84	15121414,31
+186	-0,004	136				11563855,03	13587104,82	15011338,64	11744949,21	15232699,76	11324232,9	15122533,74	15122533,74	15122533,74	16418010,16	16413292,06	12186419,85	10084354,94	4892584,468	10008003,89	10007114,33	11744949,21	15232677	15232677	15232569,79
+187	-0,004	137				11615777,18	13694855,57	15122533,74	11803224,52	15343857,98	11417658,8	15233728,84	15233728,84	15233728,84	16514956,46	16510075,83	12247118,82	10082947,18	4781389,367	10008003,89	10007114,33	11803224,52	15343834,78	15343834,78	15343723,77
+188	-0,004	138				11667307,19	13802528,15	15233728,84	11861091,26	15455014,74	11510955,92	15344923,95	15344923,95	15344923,95	16611123,04	16606073,01	12307316,48	10081516,32	4670194,267	10008003,89	10007114,33	11861091,26	15454991,09	15454991,09	15454876,11
+189	-0,004	139				11718430,21	13910117,78	15344923,95	11918533,23	15566169,94	11604114,48	15456119,05	15456119,05	15456119,05	16706441,26	16701214,62	12366994,48	10080062,8	4558999,166	10008003,89	10007114,33	11918533,23	15566145,8	15566145,8	15566026,69
+190	-0,004	140				11769131,25	14017619,38	15456119,05	11975534,03	15677323,45	11697124,47	15567314,15	15567314,15	15567314,15	16800835,04	16795424,17	12426134,18	10078587,07	4447804,066	10008003,89	10007114,33	11975534,03	15677298,79	15677298,79	15677175,38
+191	-0,004	141				11819395,21	14125027,54	15567314,15	12032077,09	15788475,13	11789975,58	15678509,25	15678509,25	15678509,25	16894219,89	16888616,79	12484716,67	10077089,57	4336608,965	10008003,89	10007114,33	12032077,09	15788449,92	15788449,92	15788322,03
+192	-0,004	142				11869206,88	14232336,44	15678509,25	12088145,6	15899624,84	11882657,25	15789704,35	15789704,35	15789704,35	16986501,88	16980698,19	12542722,73	10075570,75	4225413,865	10008003,89	10007114,33	12088145,6	15899599,05	15899599,05	15899466,46
+193	-0,004	143				11918550,92	14339539,87	15789704,35	12143722,58	16010772,39	11975158,61	15900899,45	15900899,45	15900899,45	17077576,48	17071563,47	12600132,85	10074031,08	4114218,764	10008003,89	10007114,33	12143722,58	16010745,99	16010745,99	16010608,48
+194	-0,004	144				11967411,91	14446631,15	15900899,45	12198790,82	16121917,61	12067468,46	16012094,55	16012094,55	16012094,55	17167327,28	17161095,91	12656927,24	10072471,04	4003023,664	10008003,89	10007114,33	12198790,82	16121890,55	16121890,55	16121747,88
+195	-0,004	145				12015774,28	14553603,13	16012094,55	12253332,92	16233060,28	12159575,26	16123289,65	16123289,65	16123289,65	17255624,53	17249165,49	12713085,81	10070891,09	3891828,563	10008003,89	10007114,33	12253332,92	16233032,53	16233032,53	16232884,44
+196	-0,004	146				12063622,39	14660448,1	16123289,65	12307331,29	16344200,18	12251467,07	16234484,75	16234484,75	16234484,75	17342323,63	17335627,42	12768588,17	10069291,71	3780633,463	10008003,89	10007114,33	12307331,29	16344171,69	16344171,69	16344017,88
+197	-0,004	147				12110940,46	14767157,73	16234484,75	12360768,1	16455337,03	12343131,6	16345679,85	16345679,85	16345679,85	17427263,41	17420320,42	12823413,68	10067673,4	3669438,363	10008003,89	10007114,33	12360768,1	16455307,75	16455307,75	16455147,92
+198	-0,004	148				12157712,65	14873723,08	16345679,85	12413625,37	16566470,55	12434556,09	16456874,95	16456874,95	16456874,95	17510264,34	17503065,05	12877541,39	10066036,65	3558243,263	10008003,89	10007114,33	12413625,37	16566440,42	16566440,42	16566274,21
+199	-0,004	149				12203922,98	14980134,43	16456874,95	12465884,88	16677600,38	12525727,37	16568070,05	16568070,05	16568070,05	17591126,76	17583661,87	12930950,07	10064381,95	3447048,162	10008003,89	10007114,33	12465884,88	16677569,34	16677569,34	16677396,39
+200	-0,004	150				12249555,43	15086381,29	16568070,05	12517528,23	16788726,16	12616631,76	16679265,15	16679265,15	16679265,15	17669628,97	17661889,69	12983618,24	10062709,81	3335853,062	10008003,89	10007114,33	12517528,23	16788694,15	16788694,15	16788514,02
+201	-0,004	151				12294593,84	15192452,26	16679265,15	12568536,84	16899847,43	12707255,08	16790460,25	16790460,25	16790460,25	17745525,57	17737503,89	13035524,17	10061020,74	3224657,962	10008003,89	10007114,33	12568536,84	16899814,38	16899814,38	16899626,61
+202	-0,004	152				12339022,03	15298334,97	16790460,25	12618891,93	17010963,71	12797582,62	16901655,35	16901655,35	16901655,35	17818545,99	17810235,12	13086645,84	10059315,25	3113462,862	10008003,89	10007114,33	12618891,93	17010929,53	17010929,53	17010733,6
+203	-0,004	153				12382823,7	15404015,94	16901655,35	12668574,56	17122074,4	12887599,09	17012850,45	17012850,45	17012850,45	17888393,51	17879788,3	13136961,04	10057593,86	3002267,762	10008003,89	10007114,33	12668574,56	17122039,01	17122039,01	17121834,34
+204	-0,004	154				12425982,52	15509480,47	17012850,45	12717565,61	17233178,84	12977288,58	17124045,55	17124045,55	17124045,55	17954745	17945842,54	13186447,31	10055857,11	2891072,662	10008003,89	10007114,33	12717565,61	17233142,13	17233142,13	17232928,09
+205	-0,004	155				12468482,09	15614712,52	17124045,55	12765845,79	17344276,25	13066634,55	17235240,65	17235240,65	17235240,65	18017251,7	18008051,93	13235081,99	10054105,5	2779877,563	10008003,89	10007114,33	12765845,79	17344238,11	17344238,11	17344013,95
+206	-0,004	156				12510305,99	15719694,5	17235240,65	12813395,69	17455365,7	13155619,76	17346435,75	17346435,75	17346435,75	18075541,49	18066047,9	13282842,25	10052339,59	2668682,463	10008003,89	10007114,33	12813395,69	17455326	17455326	17455090,91
+207	-0,004	157				12551437,75	15824407,15	17346435,75	12860195,72	17566446,1	13244226,27	17457630,85	17457630,85	17457630,85	18129222,96	18119443,37	13329705,05	10050559,9	2557487,364	10008003,89	10007114,33	12860195,72	17566404,7	17566404,7	17566157,74
+208	-0,004	158				12591860,87	15928829,29	17457630,85	12906226,2	17677516,18	13332435,34	17568825,95	17568825,95	17568825,95	18177891,82	18167839,04	13375647,23	10048766,98	2446292,264	10008003,89	10007114,33	12906226,2	17677472,9	17677472,9	17677213,01
+209	-0,004	159				12631558,87	16032937,59	17568825,95	12951467,32	17788574,37	13420227,45	17680021,05	17680021,05	17680021,05	18221139,76	18210832,23	13420645,52	10046961,38	2335097,165	10008003,89	10007114,33	12951467,32	17788529,03	17788529,03	17788254,98
+210	-0,004	160				12670515,26	16136706,33	17680021,05	12995899,17	17899618,81	13507582,2	17791216,15	17791216,15	17791216,15	18258566,08	18248028,35	13464676,53	10045143,64	2223902,066	10008003,89	10007114,33	12995899,17	17899571,18	17899571,18	17899281,54
+211	-0,004	161				12708713,56	16240107,03	17791216,15	13039501,77	18010647,19	13594478,3	17902411,24	17902411,24	17902411,24	18289791,67	18279054,5	13507716,8	10043314,33	2112706,967	10008003,89	10007114,33	13039501,77	18010597,02	18010597,02	18010290,14
+212	-0,004	162				12746137,36	16343108,16	17902411,24	13082255,08	18121656,7	13680893,49	18013606,34	18013606,34	18013606,34	18314474,76	18303574,93	13549742,86	10041473,98	2001511,869	10008003,89	10007114,33	13082255,08	18121603,69	18121603,69	18121277,62
+213	-0,004	163				12782770,25	16445674,69	18013606,34	13124139,01	18232643,81	13766804,5	18124801,44	18124801,44	18124801,44	18332327,29	18321306,94	13590731,19	10039623,18	1890316,771	10008003,89	10007114,33	13124139,01	18232587,59	18232587,59	18232240,02
+214	-0,004	164				12818595,94	16547767,6	18124801,44	13165133,46	18343604,06	13852186,99	18235996,54	18235996,54	18235996,54	18343130,34	18332035,86	13630658,36	10037762,47	1779121,673	10008003,89	10007114,33	13165133,46	18343544,2	18343544,2	18343172,36
+215	-0,004	165				12853598,2	16649343,36	18235996,54	13205218,32	18454531,69	13937015,52	18347191,64	18347191,64	18347191,64	18346746,91	18335627,4	13669500,95	10035892,44	1667926,576	10008003,89	10007114,33	13205218,32	18454467,68	18454467,68	18454068,21
+216	-0,004	166				12887760,9	16750353,28	18347191,64	13244373,51	18565419,24	14021263,43	18458386,73	18458386,73	18458386,73	18343130,34	18332035,86	13707235,68	10034013,63	1556731,479	10008003,89	10007114,33	13244373,51	18565350,42	18565350,42	18564919,21
+217	-0,004	167				12921068,04	16850742,74	18458386,73	13282579,02	18676256,73	14104902,83	18569581,83	18569581,83	18569581,83	18332327,29	18321306,94	13743839,43	10032126,64	1445536,383	10008003,89	10007114,33	13282579,02	18676182,31	18676182,31	18675714,21
+218	-0,004	168				12953503,77	16950450,35	18569581,83	13319814,89	18787030,62	14187904,53	18680776,92	18680776,92	18680776,92	18314474,76	18303574,93	13779289,24	10030232,03	1334341,287	10008003,89	10007114,33	13319814,89	18786949,58	18786949,58	18786438,06
+219	-0,004	169				12985052,4	17049406,92	18680776,92	13356061,3	18897721,96	14270237,92	18791972,02	18791972,02	18791972,02	18289791,67	18279054,5	13813562,43	10028330,38	1223146,193	10008003,89	10007114,33	13356061,3	18897632,99	18897632,99	18897069,63
+220	-0,004	170				13015698,44	17147534,3	18791972,02	13391298,55	19008303,55	14351871	18903167,11	18903167,11	18903167,11	18258566,08	18248028,35	13846636,57	10026422,27	1111951,1	10008003,89	10007114,33	13391298,55	19008204,91	19008204,91	19007578,5
+221	-0,004	171				13045426,57	17244743,98	18903167,11	13425507,13	19118734,76	14432770,19	19014362,2	19014362,2	19014362,2	18221139,76	18210832,23	13878489,61	10024508,28	1000756,009	10008003,89	10007114,33	13425507,13	19118624,06	19118624,06	19117919,34
+222	-0,004	172				13074221,76	17340935,46	19014362,2	13458667,71	19228952,21	14512900,37	19125557,29	19125557,29	19125557,29	18177891,82	18167839,04	13909099,85	10022588,99	889560,9199	10008003,89	10007114,33	13458667,71	19228826,09	19228826,09	19228021,46
+223	-0,004	173				13102069,18	17435994,45	19125557,29	13490761,21	19338851,37	14592224,73	19236752,38	19236752,38	19236752,38	18129222,96	18119443,37	13938446,06	10020664,99	778365,8347	10008003,89	10007114,33	13490761,21	19338704,85	19338704,85	19337768,45
+224	-0,004	174				13128954,32	17529790,6	19236752,38	13521768,84	19448247,09	14670704,74	19347947,46	19347947,46	19347947,46	18075541,49	18066047,9	13966507,48	10018736,86	667170,7548	10008003,89	10007114,33	13521768,84	19448072,4	19448072,4	19446954,48
+225	-0,004	175				13154862,96	17622175,04	19347947,46	13551672,1	19556778,75	14748300,05	19459142,53	19459142,53	19459142,53	18017251,7	18008051,93	13993263,94	10016805,2	555975,6833	10008003,89	10007114,33	13551672,1	19556562,81	19556562,81	19555179,85
+226	-0,004	176				13179781,2	17712977,44	19459142,53	13580452,85	19663644,97	14824968,44	19570337,59	19570337,59	19570337,59	17954745	17945842,54	14018695,84	10014870,58	444780,6267	10008003,89	10007114,33	13580452,85	19663363,52	19663363,52	19661561,29
+227	-0,004	177				13203695,51	17802002,69	19570337,59	13608093,33	19766687,15	14900665,73	19681532,61	19681532,61	19681532,61	17888393,51	17879788,3	14042784,25	10012933,6	333585,5998	10008003,89	10007114,33	13608093,33	19766289,23	19766289,23	19763746,69
+228	-0,004	178				13226592,72	17889027,19	19681532,61	13634576,2	19858182,8	14975345,73	19792727,56	19792727,56	19792727,56	17818545,99	17810235,12	14065510,97	10010994,85	222390,647	10008003,89	10007114,33	13634576,2	19857553,74	19857553,74	19853567,21
+229	-0,004	179				13248460,09	17973794,7	19792727,56	13659884,59	19904367,89	15048960,18	19903922,22	19903922,22	19903922,22	17745525,57	17737503,89	14086858,55	10009054,92	111195,9906	10008003,89	10007114,33	13659884,59	19903478,33	19903478,33	19897918,58
+230	-0,004	180				13269285,29	18056011,89	19903922,22	13684002,14	19858182,8	15121458,66	20014673,43	20014673,43	20014673,43	17669628,97	17661889,69	14106810,39	10007114,39	444,780401	10008003,89	10007114,33	13684002,14	19857553,74	19857553,74	19853567,21
+231	1	1				6616998,631	1802230,908	111195,1012	6199731,305	222356,3278	4737290,961	157249,6281	157249,6281	157249,6281	2502396,932	2510125,377	5780469,209	10120677,8	19857868,58	9896364,005	10118754,21	6199731,305	314499,2562	314499,2562	318454,5485
+232	2	2				6488454,864	1645089,172	248629,7051	6068688,46	351517,2925	4580630,66	314475,2987	314475,2987	314475,2987	2659604,169	2667324,155	5653200,605	10233795,92	19700642,91	9785168,904	10229949,31	6068688,46	471724,9241	471724,9241	475672,7783
+233	3	3				6360668,664	1488018,069	400863,2537	5938459,261	497016,924	4424038,172	471653,0288	471653,0288	471653,0288	2816767,439	2824480,271	5526991,391	10346912,9	19543465,18	9673973,802	10341144,41	5938459,261	628902,635	628902,635	632847,6364
+234	4	3				6250896,665	1414799,079	497198,7813	5829206,616	555595,928	4339320,116	555812,8141	555812,8141	555812,8141	2897403,955	2905335,234	5416910,521	10458091,05	19459305,4	9562778,701	10452339,51	5829206,616	711812,4839	711812,4839	716164,8262
+235	5	3				6141158,077	1346700,128	598699,0435	5720006,385	628519,155	4255623,327	648155,2615	648155,2615	648155,2615	2979874,321	2988007,303	5306864,158	10569269,15	19366962,95	9451583,6	10563534,61	5720006,385	801575,8867	801575,8867	806211,1301
+236	6	3				6031454,984	1284535,957	703130,9174	5610861,929	711388,9706	4173010,731	745646,4517	745646,4517	745646,4517	3064029,828	3072349,159	5196854,642	10680447,2	19269471,76	9340388,499	10674729,71	5610861,929	896135,6706	896135,6706	900971,1763
+237	7	3				5921789,615	1229207,467	809360,3904	5501776,866	801124,5902	4091549,448	846509,3133	846509,3133	846509,3133	3149734,757	3158226,375	5086884,512	10791625,19	19168608,9	9229193,398	10785924,81	5501776,866	994124,0676	994124,0676	999104,6074
+238	8	3				5812164,356	1181675,372	916762,7785	5392755,092	895664,7245	4011311,033	949670,1358	949670,1358	949670,1358	3236865,365	3245516,407	4976956,523	10902803,11	19065448,08	9117998,297	10897119,92	5392755,092	1094620,662	1094620,662	1099708,68
+239	9	3				5702581,769	1142912,926	1024969,424	5283800,812	993638,9046	3932371,725	1054454,664	1054454,664	1054454,664	3325308,904	3334107,606	4867073,675	11013980,94	18960663,55	9006803,195	11008315,02	5283800,812	1196993,839	1196993,839	1202163,244
+240	10	3				5593044,605	1113836,178	1133750,063	5174918,575	1094124,973	3854812,681	1160423,105	1160423,105	1160423,105	3414962,666	3423898,273	4757239,236	11125158,67	18854695,11	8895608,094	11119510,12	5174918,575	1300800,577	1300800,577	1306032,84
+241	11	3				5483555,826	1095216,903	1242953,991	5066113,305	1196490,187	3778720,21	1267278,48	1267278,48	1267278,48	3505733,09	3514795,767	4647456,778	11236336,3	18747839,73	8784412,993	11230705,22	5066113,305	1405723,286	1405723,286	1411004,967
+242	12	3				5374118,625	1087592,366	1352478,668	4957390,345	1300290,779	3704185,972	1374813,978	1374813,978	1374813,978	3597534,923	3606715,677	4537730,212	11347513,8	18640304,23	8673217,892	11341900,32	4957390,345	1511529,552	1511529,552	1516850,705
+243	13	3				5264736,453	1091193,08	1462252,013	4848755,506	1405208,661	3631307,165	1482881,62	1482881,62	1482881,62	3690290,45	3699581,05	4428063,829	11458691,18	18532236,59	8562022,791	11453095,42	4848755,506	1618046,014	1618046,014	1623399,147
+244	14	3				5155413,04	1105909,399	1572221,931	4740215,115	1511011,074	3560186,663	1591372,977	1591372,977	1591372,977	3783928,781	3793321,691	4318462,348	11569868,41	18423745,24	8450827,689	11564290,52	4740215,115	1725141,088	1725141,088	1730520,461
+245	15	3				5046152,432	1131307,589	1682349,864	4631776,076	1617524,417	3490933,107	1700206,915	1700206,915	1700206,915	3878385,202	3887873,517	4208930,972	11681045,48	18314911,3	8339632,588	11675485,62	4631776,076	1832713,303	1832713,303	1838114,452
+246	16	3				4936959,023	1166690,184	1792606,678	4523445,94	1724616,933	3423660,928	1809321,593	1809321,593	1809321,593	3973600,588	3983177,976	4099475,453	11792222,38	18205796,62	8228437,487	11786680,72	4523445,94	1940683,275	1940683,275	1946102,683
+247	17	3				4827837,591	1211182,39	1902969,963	4415232,982	1832187,025	3358490,286	1918669,09	1918669,09	1918669,09	4069520,868	4079181,515	3990102,162	11903399,1	18096449,12	8117242,386	11897875,83	4415232,982	2048988,087	2048988,087	2054422,946
+248	18	3				4718793,347	1263822,375	2013422,199	4307146,29	1940155,22	3295546,916	2028211,728	2028211,728	2028211,728	4166096,541	4175835,105	3880818,182	12014575,63	17986906,48	8006047,285	12009070,93	4307146,29	2157577,272	2157577,272	2163025,318
+249	19	3				4609831,983	1323638,289	2123949,499	4199195,866	2048458,528	3234961,844	2137919,488	2137919,488	2137919,488	4263282,24	4273093,809	3771631,402	12125751,94	17877198,72	7894852,184	12120266,03	4199195,866	2266409,916	2266409,916	2271869,299
+250	20	3				4500959,731	1389703,702	2234540,713	4091392,745	2157046,432	3176870,966	2247768,168	2247768,168	2247768,168	4361036,342	4370916,39	3662550,642	12236928,02	17767350,04	7783657,082	12231461,13	4091392,745	2375452,512	2375452,512	2380921,712
+251	21	3				4392183,425	1461171,02	2345186,789	3983749,133	2265877,973	3121414,466	2357738,048	2357738,048	2357738,048	4459320,612	4469264,968	3553585,789	12348103,85	17657380,16	7672461,981	12342656,23	3983749,133	2484677,376	2484677,376	2490155,131
+252	22	3				4283510,581	1537286,876	2455880,301	3876278,562	2374919,615	3068736,046	2467812,901	2467812,901	2467812,901	4558099,886	4568104,7	3444747,968	12459279,43	17547305,31	7561266,88	12453851,33	3876278,562	2594061,441	2594061,441	2599546,694
+253	23	3				4174949,484	1617394,942	2566615,1	3768996,075	2484143,649	3018981,966	2577979,255	2577979,255	2577979,255	4657341,785	4667403,5	3336049,733	12570454,73	17437138,96	7450071,779	12565046,43	3768996,075	2703585,341	2703585,341	2709077,2
+254	24	3				4066509,284	1700931,074	2677386,053	3661918,443	2593526,986	2972299,864	2688225,837	2688225,837	2688225,837	4757016,456	4767131,781	3227505,31	12681629,73	17326892,37	7338876,678	12676241,53	3661918,443	2813232,698	2813232,698	2818730,408
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/lmDbNearestSearchResult.txt	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,26 @@
+#Index	Latitude	Longitude	UseCoverageRadius	MaxDistance	ErrorCode	Redefined	MaxSearchResult	SearchResult (Not used)	Comment					
+1	59	18			0			1-254	All lm's in db					
+2	12	13		11	0			1,2,5,4	Low max distance					
+3	0	1		3334	0				No landmarks within range					
+4	55	18	1	300	0			14,16,15	Use of coverage radius					
+#														
+5	1	-1	1	1000	0			21,22,25	Use of coverage radius > distance					
+6	32	32	1	50	0			33,35	Use of overlapping coverage radius > distance					
+7	0	0		3000	0				Lm's in all diretions within 3km					
+8	0	0		1000	0	1		6,8,41-45	Redefined with less MaxDistance					
+#														
+9	0	0		3000	0	1		6,8,41-45	Redefined with greater MaxDistance					
+10	-15	-15		1500	0									
+11	-15,1	-15	1	1500	0				Redefined with use coverage radius					
+#														
+12	52	13			0		10		Max Search result					
+13	-89	-90		5000	0		50		Max search Result > search result
+14	0	180			0				
+#									
+15	90	0			0				Nort pole
+16	-90	0			0				South pole
+17	55	18			0				
+#									
+18	-1	-1			0				
+19	-1	-1	1	500000	0		20		
+20	-1,05	-1			0	1	19		
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/lmDbSearchResult.txt	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,184 @@
+#TextCriteria	Attributes (bitmask)	PositionFields	LmSearchResult (Id's)	Redefined seach	Comment																
+*	0X0021		1-105		Maka sure Pos. fields an id's are comma seperated with no extra space inbetween																
+*	0x0001		1-105																		
+*	0x0020		1-105																		
+?	0x0000		1-7,9-38,41,45		All field searched -> medialinks field will contain one character if any media link set.																
+?	0x0001		25,41																		
+?	0x0000	401																			
+?	0x0000	404,406																			
+?	0x0000	803	37																		
+Unique	0x0021	406	29-31																		
+Götet	0x0021	404	30	1	The search is performed on the previous result. 																
+Several	0x0001		45																		
+MLFW	0x0021	401,404,406,408,409	8,10-15																		
+MLFW	0x0021		8,10,11,15	1	The search is performed on the previous result. 																
+MLFW	0x0021		8,10,11,15																		
+adx	0x0021	401,404,406,408,409																			
+*oki*	0x0021	401,404,406,408,409	46-50,62-63																		
+Noki?	0x0021	401,404,406,408,409	48,49																		
+Nokia?	0x0021	401,404,406,408,409																			
+Nok*	0x0021	401,404,406,408,409	48-50,62-63																		
+*okia	0x0021	401,404,406,408,409	48,49																		
+#																					
+#																					
+#																					
+#																					
+x	0x0000		25-27		All attributes and fields is searched																
+q	0x0001		41																		
+enat?r	0x0001		18,19																		
+Daanmark	0x0000	401	29-41																		
+veg??ariskt	0x0001		4																		
+Text'1	0x0001		30																		
+Text'''1	0x0001		13																		
+Kalles*	0x0001		52																		
+Kalles Hundgård	0x0001		52																		
+kalles*	0x0001		52		Tests Symbian TR in TeamTrack INC043475 will fail until the TR is solved																
+kalles Hundgård	0x0001		52		Tests Symbian TR in TeamTrack INC043475 will fail until the TR is solved																
+#	ENoAttribute = 0x0000        	Country = 401																			
+#	ELandmarkName= 0x0001   000001	City = 404																			
+#	EPosition= 0x0002              000010	Street = 406																			
+#	ECoverageRadius = 0x0004 000100	LocationName = 408																			
+#	ECategoryInfo= 0x0008       001000	PostalCode = 409																			
+#	EIcon= 0x0010                   010000 	MediaLinks = 800																			
+#	EDescription= 0x0020         100000	MediaLinkStart = 801																			
+																					
+																					
+																					
+																					
+																					
+																					
+																					
+																					
+																					
+																					
+																					
+																					
+																					
+																					
+																					
+																					
+																					
+																					
+																					
+																					
+																					
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/testlm.ldb has changed
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/tp105_eposlmdefaultdbname.R01 has changed
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/tp105_eposlmdefaultdbname.R06 has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/tp105_eposlmdefaultdbname_en.loc	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,36 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//r:
+//v:
+//i:LOCALISATION_TARGET = s60,s90
+//i:Default Landmark database name, that can be displayed on UI.
+
+// LOCALISATION STRINGS
+//b:-1
+//e:-1
+//f:EDialogLabelFont
+//s:
+//w:
+//d:Display name of the default landmark database.
+//l:list_single_pane_1
+//
+#define qtn_poslm_default_database_display_name "TP105 Default Landmarks"
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/tp105_eposlmdefaultdbname_sw.loc	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,39 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//r:
+//v:
+//i:LOCALISATION_TARGET = s60,s90
+//i:Default Landmark database name, that can be displayed on UI.
+
+// LOCALISATION STRINGS
+//b:-1
+//e:-1
+//f:EDialogLabelFont
+//s:
+//w:
+//d:Display name of the default landmark database.
+//l:list_single_pane_1
+//
+
+// Used for creating a localised swedish default name resource file, used 
+// in landmarktest TP105
+#define qtn_poslm_default_database_display_name "Mina små landmarks"
+
+// End of File
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/tp13_EPOSLMGLOBALCATEGORIES.R01 has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/databases/landmarks/tp13_eposlmglobalcategoriesR01.rss	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,123 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include <uikon.rh>
+#include <EPos_LmCatDef.rh>
+#include "EPos_LmCatLanguages.hrh"
+
+//  RESOURCE DEFINITIONS
+
+// -----------------------------------------------------------------------------
+//
+// POS_LM_CATEGORY_SPECIFICATION
+// Global category specification. 
+//
+// -----------------------------------------------------------------------------
+//
+
+RESOURCE POS_LM_CATEGORY_SPECIFICATION glcategories
+    {
+    icon_files = 
+        {
+        };
+
+    categories = 
+        {
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 3000;
+            category_name = "Accommodation";
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 6000;
+            category_name = "Business";
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 9000;
+            category_name = "Communication";
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 12000;
+            category_name = "Educational institute";
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 15000;
+            category_name = "Entertainment";
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 18000;
+            category_name = "Food & Beverage";
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 21000;
+            category_name = "Geographical Area";
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 24000;
+            category_name = "Outdoor activities";
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 27000;
+            category_name = "People";
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 30000;
+            category_name = "Public service";
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 33000;
+            category_name = "Religious places";
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 36000;
+            category_name = "Shopping";
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 39000;
+            category_name = "Sightseeing";
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 42000;
+            category_name = "Sports";
+            },
+        POS_LM_CATEGORY_INFO
+            {
+            category_id = 45000;
+            category_name = "Transport";
+            }
+        };
+    }
+
+// End of File
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/eabi/LandMarksTestModuleu.def	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,199 @@
+EXPORTS
+	_Z9LibEntryLR13CTestModuleIf @ 1 NONAME
+	_ZTI13CSearchResult @ 2 NONAME ; #<TI>#
+	_ZTI14CActiveLmEvent @ 3 NONAME ; #<TI>#
+	_ZTI15CRecognizerData @ 4 NONAME ; #<TI>#
+	_ZTI17CAreaSearchResult @ 5 NONAME ; #<TI>#
+	_ZTI17CSearchResultBase @ 6 NONAME ; #<TI>#
+	_ZTI18CActiveLmOperation @ 7 NONAME ; #<TI>#
+	_ZTI19CTP116ActiveLmEvent @ 8 NONAME ; #<TI>#
+	_ZTI19CTP117ActiveLmEvent @ 9 NONAME ; #<TI>#
+	_ZTI20CMatchIteratorTester @ 10 NONAME ; #<TI>#
+	_ZTI20CNearestSearchResult @ 11 NONAME ; #<TI>#
+	_ZTI21CCategorySearchResult @ 12 NONAME ; #<TI>#
+	_ZTI22CCompositeSearchResult @ 13 NONAME ; #<TI>#
+	_ZTI24CNearestSearchResultTp35 @ 14 NONAME ; #<TI>#
+	_ZTI26CLandmarkTestProcedureBase @ 15 NONAME ; #<TI>#
+	_ZTI29CCategoryLandmarkSearchResult @ 16 NONAME ; #<TI>#
+	_ZTI7CPosTp1 @ 17 NONAME ; #<TI>#
+	_ZTI7CPosTp3 @ 18 NONAME ; #<TI>#
+	_ZTI7CPosTp4 @ 19 NONAME ; #<TI>#
+	_ZTI7CPosTp5 @ 20 NONAME ; #<TI>#
+	_ZTI7CPosTp6 @ 21 NONAME ; #<TI>#
+	_ZTI7CPosTp7 @ 22 NONAME ; #<TI>#
+	_ZTI7CPosTp8 @ 23 NONAME ; #<TI>#
+	_ZTI7CPosTp9 @ 24 NONAME ; #<TI>#
+	_ZTI8CPosTp10 @ 25 NONAME ; #<TI>#
+	_ZTI8CPosTp11 @ 26 NONAME ; #<TI>#
+	_ZTI8CPosTp12 @ 27 NONAME ; #<TI>#
+	_ZTI8CPosTp13 @ 28 NONAME ; #<TI>#
+	_ZTI8CPosTp18 @ 29 NONAME ; #<TI>#
+	_ZTI8CPosTp19 @ 30 NONAME ; #<TI>#
+	_ZTI8CPosTp20 @ 31 NONAME ; #<TI>#
+	_ZTI8CPosTp21 @ 32 NONAME ; #<TI>#
+	_ZTI8CPosTp23 @ 33 NONAME ; #<TI>#
+	_ZTI8CPosTp24 @ 34 NONAME ; #<TI>#
+	_ZTI8CPosTp25 @ 35 NONAME ; #<TI>#
+	_ZTI8CPosTp26 @ 36 NONAME ; #<TI>#
+	_ZTI8CPosTp28 @ 37 NONAME ; #<TI>#
+	_ZTI8CPosTp35 @ 38 NONAME ; #<TI>#
+	_ZTI8CPosTp36 @ 39 NONAME ; #<TI>#
+	_ZTI8CPosTp37 @ 40 NONAME ; #<TI>#
+	_ZTI8CPosTp38 @ 41 NONAME ; #<TI>#
+	_ZTI8CPosTp42 @ 42 NONAME ; #<TI>#
+	_ZTI8CPosTp43 @ 43 NONAME ; #<TI>#
+	_ZTI8CPosTp44 @ 44 NONAME ; #<TI>#
+	_ZTI8CPosTp45 @ 45 NONAME ; #<TI>#
+	_ZTI8CPosTp47 @ 46 NONAME ; #<TI>#
+	_ZTI8CPosTp48 @ 47 NONAME ; #<TI>#
+	_ZTI8CPosTp51 @ 48 NONAME ; #<TI>#
+	_ZTI8CPosTp52 @ 49 NONAME ; #<TI>#
+	_ZTI9CPosTp100 @ 50 NONAME ; #<TI>#
+	_ZTI9CPosTp101 @ 51 NONAME ; #<TI>#
+	_ZTI9CPosTp102 @ 52 NONAME ; #<TI>#
+	_ZTI9CPosTp103 @ 53 NONAME ; #<TI>#
+	_ZTI9CPosTp104 @ 54 NONAME ; #<TI>#
+	_ZTI9CPosTp116 @ 55 NONAME ; #<TI>#
+	_ZTI9CPosTp117 @ 56 NONAME ; #<TI>#
+	_ZTI9CPosTp120 @ 57 NONAME ; #<TI>#
+	_ZTI9CPosTp121 @ 58 NONAME ; #<TI>#
+	_ZTI9CPosTp122 @ 59 NONAME ; #<TI>#
+	_ZTI9CPosTp123 @ 60 NONAME ; #<TI>#
+	_ZTI9CPosTp124 @ 61 NONAME ; #<TI>#
+	_ZTI9CPosTp125 @ 62 NONAME ; #<TI>#
+	_ZTI9CPosTp126 @ 63 NONAME ; #<TI>#
+	_ZTI9CPosTp130 @ 64 NONAME ; #<TI>#
+	_ZTI9CPosTp131 @ 65 NONAME ; #<TI>#
+	_ZTI9CPosTp132 @ 66 NONAME ; #<TI>#
+	_ZTI9CPosTp133 @ 67 NONAME ; #<TI>#
+	_ZTI9CPosTp134 @ 68 NONAME ; #<TI>#
+	_ZTI9CPosTp135 @ 69 NONAME ; #<TI>#
+	_ZTI9CPosTp136 @ 70 NONAME ; #<TI>#
+	_ZTI9CPosTp137 @ 71 NONAME ; #<TI>#
+	_ZTI9CPosTp141 @ 72 NONAME ; #<TI>#
+	_ZTIN26CLandmarkTestProcedureBase15COnTheFlyTesterE @ 73 NONAME ; #<TI>#
+	_ZTV13CSearchResult @ 74 NONAME ; #<VT>#
+	_ZTV14CActiveLmEvent @ 75 NONAME ; #<VT>#
+	_ZTV15CRecognizerData @ 76 NONAME ; #<VT>#
+	_ZTV17CAreaSearchResult @ 77 NONAME ; #<VT>#
+	_ZTV17CSearchResultBase @ 78 NONAME ; #<VT>#
+	_ZTV18CActiveLmOperation @ 79 NONAME ; #<VT>#
+	_ZTV19CTP116ActiveLmEvent @ 80 NONAME ; #<VT>#
+	_ZTV19CTP117ActiveLmEvent @ 81 NONAME ; #<VT>#
+	_ZTV20CMatchIteratorTester @ 82 NONAME ; #<VT>#
+	_ZTV20CNearestSearchResult @ 83 NONAME ; #<VT>#
+	_ZTV21CCategorySearchResult @ 84 NONAME ; #<VT>#
+	_ZTV22CCompositeSearchResult @ 85 NONAME ; #<VT>#
+	_ZTV24CNearestSearchResultTp35 @ 86 NONAME ; #<VT>#
+	_ZTV26CLandmarkTestProcedureBase @ 87 NONAME ; #<VT>#
+	_ZTV29CCategoryLandmarkSearchResult @ 88 NONAME ; #<VT>#
+	_ZTV7CPosTp1 @ 89 NONAME ; #<VT>#
+	_ZTV7CPosTp3 @ 90 NONAME ; #<VT>#
+	_ZTV7CPosTp4 @ 91 NONAME ; #<VT>#
+	_ZTV7CPosTp5 @ 92 NONAME ; #<VT>#
+	_ZTV7CPosTp6 @ 93 NONAME ; #<VT>#
+	_ZTV7CPosTp7 @ 94 NONAME ; #<VT>#
+	_ZTV7CPosTp8 @ 95 NONAME ; #<VT>#
+	_ZTV7CPosTp9 @ 96 NONAME ; #<VT>#
+	_ZTV8CPosTp10 @ 97 NONAME ; #<VT>#
+	_ZTV8CPosTp11 @ 98 NONAME ; #<VT>#
+	_ZTV8CPosTp12 @ 99 NONAME ; #<VT>#
+	_ZTV8CPosTp13 @ 100 NONAME ; #<VT>#
+	_ZTV8CPosTp18 @ 101 NONAME ; #<VT>#
+	_ZTV8CPosTp19 @ 102 NONAME ; #<VT>#
+	_ZTV8CPosTp20 @ 103 NONAME ; #<VT>#
+	_ZTV8CPosTp21 @ 104 NONAME ; #<VT>#
+	_ZTV8CPosTp23 @ 105 NONAME ; #<VT>#
+	_ZTV8CPosTp24 @ 106 NONAME ; #<VT>#
+	_ZTV8CPosTp25 @ 107 NONAME ; #<VT>#
+	_ZTV8CPosTp26 @ 108 NONAME ; #<VT>#
+	_ZTV8CPosTp28 @ 109 NONAME ; #<VT>#
+	_ZTV8CPosTp35 @ 110 NONAME ; #<VT>#
+	_ZTV8CPosTp36 @ 111 NONAME ; #<VT>#
+	_ZTV8CPosTp37 @ 112 NONAME ; #<VT>#
+	_ZTV8CPosTp38 @ 113 NONAME ; #<VT>#
+	_ZTV8CPosTp42 @ 114 NONAME ; #<VT>#
+	_ZTV8CPosTp43 @ 115 NONAME ; #<VT>#
+	_ZTV8CPosTp44 @ 116 NONAME ; #<VT>#
+	_ZTV8CPosTp45 @ 117 NONAME ; #<VT>#
+	_ZTV8CPosTp47 @ 118 NONAME ; #<VT>#
+	_ZTV8CPosTp48 @ 119 NONAME ; #<VT>#
+	_ZTV8CPosTp51 @ 120 NONAME ; #<VT>#
+	_ZTV8CPosTp52 @ 121 NONAME ; #<VT>#
+	_ZTV9CPosTp100 @ 122 NONAME ; #<VT>#
+	_ZTV9CPosTp101 @ 123 NONAME ; #<VT>#
+	_ZTV9CPosTp102 @ 124 NONAME ; #<VT>#
+	_ZTV9CPosTp103 @ 125 NONAME ; #<VT>#
+	_ZTV9CPosTp104 @ 126 NONAME ; #<VT>#
+	_ZTV9CPosTp116 @ 127 NONAME ; #<VT>#
+	_ZTV9CPosTp117 @ 128 NONAME ; #<VT>#
+	_ZTV9CPosTp120 @ 129 NONAME ; #<VT>#
+	_ZTV9CPosTp121 @ 130 NONAME ; #<VT>#
+	_ZTV9CPosTp122 @ 131 NONAME ; #<VT>#
+	_ZTV9CPosTp123 @ 132 NONAME ; #<VT>#
+	_ZTV9CPosTp124 @ 133 NONAME ; #<VT>#
+	_ZTV9CPosTp125 @ 134 NONAME ; #<VT>#
+	_ZTV9CPosTp126 @ 135 NONAME ; #<VT>#
+	_ZTV9CPosTp130 @ 136 NONAME ; #<VT>#
+	_ZTV9CPosTp131 @ 137 NONAME ; #<VT>#
+	_ZTV9CPosTp132 @ 138 NONAME ; #<VT>#
+	_ZTV9CPosTp133 @ 139 NONAME ; #<VT>#
+	_ZTV9CPosTp134 @ 140 NONAME ; #<VT>#
+	_ZTV9CPosTp135 @ 141 NONAME ; #<VT>#
+	_ZTV9CPosTp136 @ 142 NONAME ; #<VT>#
+	_ZTV9CPosTp137 @ 143 NONAME ; #<VT>#
+	_ZTV9CPosTp141 @ 144 NONAME ; #<VT>#
+	_ZTVN26CLandmarkTestProcedureBase15COnTheFlyTesterE @ 145 NONAME ; #<VT>#
+	_ZTI7CPosTp2 @ 146 NONAME
+	_ZTI9CPosTp106 @ 147 NONAME
+	_ZTI9CPosTp118 @ 148 NONAME
+	_ZTI9CPosTp119 @ 149 NONAME
+	_ZTI9CPosTp143 @ 150 NONAME
+	_ZTI9CPosTp144 @ 151 NONAME
+	_ZTI9CPosTp145 @ 152 NONAME
+	_ZTI9CPosTp146 @ 153 NONAME
+	_ZTI9CPosTp147 @ 154 NONAME
+	_ZTI9CPosTp148 @ 155 NONAME
+	_ZTI9CPosTp149 @ 156 NONAME
+	_ZTI9CPosTp150 @ 157 NONAME
+	_ZTI9CPosTp151 @ 158 NONAME
+	_ZTI9CPosTp152 @ 159 NONAME
+	_ZTI9CPosTp153 @ 160 NONAME
+	_ZTI9CPosTp154 @ 161 NONAME
+	_ZTI9CPosTp155 @ 162 NONAME
+	_ZTI9CPosTp156 @ 163 NONAME
+	_ZTI9CPosTp157 @ 164 NONAME
+	_ZTI9CPosTp158 @ 165 NONAME
+	_ZTI9CPosTp159 @ 166 NONAME
+	_ZTI9CPosTp160 @ 167 NONAME
+	_ZTI9CPosTp161 @ 168 NONAME
+	_ZTI9CPosTp162 @ 169 NONAME
+	_ZTI9CPosTp163 @ 170 NONAME
+	_ZTI9CPosTp164 @ 171 NONAME
+	_ZTV7CPosTp2 @ 172 NONAME
+	_ZTV9CPosTp106 @ 173 NONAME
+	_ZTV9CPosTp118 @ 174 NONAME
+	_ZTV9CPosTp119 @ 175 NONAME
+	_ZTV9CPosTp143 @ 176 NONAME
+	_ZTV9CPosTp144 @ 177 NONAME
+	_ZTV9CPosTp145 @ 178 NONAME
+	_ZTV9CPosTp146 @ 179 NONAME
+	_ZTV9CPosTp147 @ 180 NONAME
+	_ZTV9CPosTp148 @ 181 NONAME
+	_ZTV9CPosTp149 @ 182 NONAME
+	_ZTV9CPosTp150 @ 183 NONAME
+	_ZTV9CPosTp151 @ 184 NONAME
+	_ZTV9CPosTp152 @ 185 NONAME
+	_ZTV9CPosTp153 @ 186 NONAME
+	_ZTV9CPosTp154 @ 187 NONAME
+	_ZTV9CPosTp155 @ 188 NONAME
+	_ZTV9CPosTp156 @ 189 NONAME
+	_ZTV9CPosTp157 @ 190 NONAME
+	_ZTV9CPosTp158 @ 191 NONAME
+	_ZTV9CPosTp159 @ 192 NONAME
+	_ZTV9CPosTp160 @ 193 NONAME
+	_ZTV9CPosTp161 @ 194 NONAME
+	_ZTV9CPosTp162 @ 195 NONAME
+	_ZTV9CPosTp163 @ 196 NONAME
+	_ZTV9CPosTp164 @ 197 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/group/LandMarksTestModule.mmp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,180 @@
+/*
+* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  ?Description
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+TARGET          LandMarksTestModule.dll
+TARGETTYPE      dll
+UID             0x1000008D 0x101F4FF4
+
+CAPABILITY      ALL -TCB
+
+
+
+//TARGETPATH      ?target_path
+DEFFILE         LandMarksTestModule.def
+
+SOURCEPATH      ../src
+SOURCE          LandMarksTestModule.cpp
+SOURCE          LandMarksTestModuleBlocks.cpp
+
+//Sorce for the Tp5
+SOURCE			FT_CLandmarkTestProcedureBase.cpp
+SOURCE			FT_CSearchResult.cpp
+SOURCE			FT_CAreaSearchResult.cpp
+SOURCE			FT_CCategorySearchResult.cpp
+SOURCE			FT_CCategoryLandmarkSearchResult.cpp
+SOURCE			FT_CSearchResultBase.cpp
+SOURCE			FT_CCompositeSearchResult.cpp
+SOURCE			FT_DatabaseUtility.cpp
+
+//Source for Testprocedures
+
+SOURCE			FT_CPosTp1.cpp
+SOURCE			FT_CPosTp2.cpp
+SOURCE			FT_CPosTp3.cpp
+SOURCE			FT_CPosTp4.cpp
+SOURCE			FT_CPosTp5.cpp
+SOURCE			FT_CPosTp6.cpp
+SOURCE			FT_CPosTp7.cpp
+SOURCE			FT_CPosTp8.cpp
+SOURCE			FT_CPosTp9.cpp
+
+SOURCE			FT_CPosTp10.cpp
+SOURCE			FT_CPosTp11.cpp
+SOURCE			FT_CPosTp12.cpp
+SOURCE			FT_CPosTp13.cpp
+SOURCE			FT_CPosTp18.cpp
+SOURCE			FT_CPosTp19.cpp
+
+SOURCE			FT_CPosTp20.cpp
+SOURCE			FT_CPosTp21.cpp
+SOURCE			FT_CPosTp23.cpp
+SOURCE			FT_CPosTp24.cpp
+SOURCE			FT_CPosTp25.cpp
+SOURCE			FT_CPosTp26.cpp
+SOURCE			FT_CPosTp28.cpp
+
+SOURCE			FT_CPosTp35.cpp
+SOURCE			FT_CPosTp36.cpp
+SOURCE			FT_CPosTp37.cpp
+SOURCE			FT_CPosTp38.cpp
+
+SOURCE			FT_CPosTp42.cpp
+SOURCE			FT_CPosTp43.cpp
+SOURCE			FT_CPosTp44.cpp
+SOURCE			FT_CPosTp45.cpp
+SOURCE			FT_CPosTp47.cpp
+SOURCE			FT_CPosTp48.cpp
+
+SOURCE			FT_CPosTp51.cpp
+SOURCE			FT_CPosTp52.cpp
+
+SOURCE			FT_CPosTp100.cpp
+SOURCE			FT_CPosTp101.cpp
+SOURCE			FT_CPosTp102.cpp
+SOURCE			FT_CPosTp103.cpp
+SOURCE			FT_CPosTp104.cpp
+SOURCE			FT_CPosTp106.cpp
+
+SOURCE			FT_CPosTp116.cpp
+SOURCE			FT_CPosTp117.cpp
+SOURCE			FT_CPosTp118.cpp
+SOURCE			FT_CPosTp119.cpp
+
+SOURCE			FT_CPosTp120.cpp
+SOURCE			FT_CPosTp121.cpp
+SOURCE			FT_CPosTp122.cpp
+SOURCE			FT_CPosTp123.cpp
+SOURCE			FT_CPosTp124.cpp
+SOURCE			FT_CPosTp125.cpp
+SOURCE			FT_CPosTp126.cpp
+
+SOURCE			FT_CPosTp130.cpp
+SOURCE			FT_CPosTp131.cpp
+SOURCE			FT_CPosTp132.cpp
+SOURCE			FT_CPosTp133.cpp
+SOURCE			FT_CPosTp134.cpp
+SOURCE			FT_CPosTp135.cpp
+SOURCE			FT_CPosTp136.cpp
+SOURCE			FT_CPosTp137.cpp
+SOURCE			FT_CPosTp139.cpp
+
+SOURCE			FT_CPosTp141.cpp
+SOURCE			FT_CPosTp143.cpp
+
+SOURCE			FT_CPosTp144.cpp
+SOURCE			FT_CPosTp145.cpp
+SOURCE			FT_CPosTp146.cpp
+SOURCE			FT_CPosTp147.cpp
+
+SOURCE			FT_CPosTp148.cpp
+SOURCE			FT_CPosTp149.cpp
+SOURCE			FT_CPosTp150.cpp
+SOURCE			FT_CPosTp151.cpp
+SOURCE			FT_CPosTp152.cpp
+SOURCE			FT_CPosTp153.cpp
+SOURCE			FT_CPosTp154.cpp
+SOURCE			FT_CPosTp155.cpp
+SOURCE			FT_CPosTp156.cpp
+SOURCE			FT_CPosTp157.cpp
+SOURCE			FT_CPosTp158.cpp
+SOURCE			FT_CPosTp159.cpp
+SOURCE			FT_CPosTp160.cpp
+
+SOURCE			FT_CPosTp161.cpp
+SOURCE			FT_CPosTp162.cpp
+SOURCE			FT_CPosTp163.cpp
+SOURCE			FT_CPosTp164.cpp
+USERINCLUDE     ../inc 
+
+MW_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE   /Epoc32/Include/ecom
+SYSTEMINCLUDE   /Epoc32/Include/xml
+
+LIBRARY         euser.lib
+LIBRARY         stiftestinterface.lib
+
+//Landmarks Lib
+//Added for testing -- Start
+LIBRARY         edbms.lib
+
+//Added for testing -- End
+
+LIBRARY			eposlandmarks.lib
+LIBRARY			Lbs.lib
+LIBRARY	        eposlmdbmanlib.lib
+LIBRARY	        eposlmsearchlib.lib
+LIBRARY         ws32.lib
+LIBRARY         eposlmmultidbsearch.lib
+LIBRARY	        ecom.lib
+LIBRARY         efsrv.lib
+LIBRARY	        bafl.lib
+LIBRARY			    estor.lib
+
+LIBRARY	        apmime.lib // CApaDataRecognizerType used in TP42
+LIBRARY	        apgrfx.lib // RApaLsSession used in TP42
+
+
+LIBRARY         centralrepository.lib charconv.lib
+
+
+
+SMPSAFE
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/group/LandMarksTestModule_DoxyFile.txt	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,222 @@
+# Doxyfile 1.4.1
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+PROJECT_NAME           = LandMarksTestModule
+PROJECT_NUMBER         = 
+OUTPUT_DIRECTORY       = Z:\S60\stiftestframework\LandMarksTestModule\
+CREATE_SUBDIRS         = NO
+OUTPUT_LANGUAGE        = English
+USE_WINDOWS_ENCODING   = YES
+BRIEF_MEMBER_DESC      = YES
+REPEAT_BRIEF           = YES
+ABBREVIATE_BRIEF       = 
+ALWAYS_DETAILED_SEC    = NO
+INLINE_INHERITED_MEMB  = NO
+FULL_PATH_NAMES        = NO
+STRIP_FROM_PATH        = 
+STRIP_FROM_INC_PATH    = 
+SHORT_NAMES            = NO
+JAVADOC_AUTOBRIEF      = NO
+MULTILINE_CPP_IS_BRIEF = NO
+DETAILS_AT_TOP         = NO
+INHERIT_DOCS           = YES
+DISTRIBUTE_GROUP_DOC   = NO
+TAB_SIZE               = 8
+ALIASES                = 
+OPTIMIZE_OUTPUT_FOR_C  = YES
+OPTIMIZE_OUTPUT_JAVA   = NO
+SUBGROUPING            = YES
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+EXTRACT_ALL            = YES
+EXTRACT_PRIVATE        = NO
+EXTRACT_STATIC         = NO
+EXTRACT_LOCAL_CLASSES  = NO
+EXTRACT_LOCAL_METHODS  = NO
+HIDE_UNDOC_MEMBERS     = NO
+HIDE_UNDOC_CLASSES     = NO
+HIDE_FRIEND_COMPOUNDS  = NO
+HIDE_IN_BODY_DOCS      = NO
+INTERNAL_DOCS          = YES
+CASE_SENSE_NAMES       = YES
+HIDE_SCOPE_NAMES       = NO
+SHOW_INCLUDE_FILES     = YES
+INLINE_INFO            = YES
+SORT_MEMBER_DOCS       = YES
+SORT_BRIEF_DOCS        = NO
+SORT_BY_SCOPE_NAME     = NO
+GENERATE_TODOLIST      = NO
+GENERATE_TESTLIST      = NO
+GENERATE_BUGLIST       = NO
+GENERATE_DEPRECATEDLIST= YES
+ENABLED_SECTIONS       = 
+MAX_INITIALIZER_LINES  = 30
+SHOW_USED_FILES        = YES
+SHOW_DIRECTORIES       = YES
+FILE_VERSION_FILTER    = 
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+QUIET                  = NO
+WARNINGS               = YES
+WARN_IF_UNDOCUMENTED   = YES
+WARN_IF_DOC_ERROR      = YES
+WARN_NO_PARAMDOC       = NO
+WARN_FORMAT            = "$file:$line: $text"
+WARN_LOGFILE           = 
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+INPUT                  = Z:\S60\stiftestframework\LandMarksTestModule\
+FILE_PATTERNS          = *.h \
+                         *.rh \
+                         *.hrh
+RECURSIVE              = YES
+EXCLUDE                = 
+EXCLUDE_SYMLINKS       = NO
+EXCLUDE_PATTERNS       = 
+EXAMPLE_PATH           = 
+EXAMPLE_PATTERNS       = 
+EXAMPLE_RECURSIVE      = NO
+IMAGE_PATH             = 
+INPUT_FILTER           = 
+FILTER_PATTERNS        = 
+FILTER_SOURCE_FILES    = NO
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+SOURCE_BROWSER         = NO
+INLINE_SOURCES         = NO
+STRIP_CODE_COMMENTS    = YES
+REFERENCED_BY_RELATION = YES
+REFERENCES_RELATION    = YES
+VERBATIM_HEADERS       = YES
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+ALPHABETICAL_INDEX     = NO
+COLS_IN_ALPHA_INDEX    = 5
+IGNORE_PREFIX          = 
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+GENERATE_HTML          = NO
+HTML_OUTPUT            = html
+HTML_FILE_EXTENSION    = .html
+HTML_HEADER            = 
+HTML_FOOTER            = 
+HTML_STYLESHEET        = 
+HTML_ALIGN_MEMBERS     = YES
+GENERATE_HTMLHELP      = YES
+CHM_FILE               = 
+HHC_LOCATION           = 
+GENERATE_CHI           = NO
+BINARY_TOC             = YES
+TOC_EXPAND             = YES
+DISABLE_INDEX          = YES
+ENUM_VALUES_PER_LINE   = 4
+GENERATE_TREEVIEW      = YES
+TREEVIEW_WIDTH         = 250
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+GENERATE_LATEX         = NO
+LATEX_OUTPUT           = latex
+LATEX_CMD_NAME         = latex
+MAKEINDEX_CMD_NAME     = makeindex
+COMPACT_LATEX          = NO
+PAPER_TYPE             = a4wide
+EXTRA_PACKAGES         = 
+LATEX_HEADER           = 
+PDF_HYPERLINKS         = NO
+USE_PDFLATEX           = NO
+LATEX_BATCHMODE        = NO
+LATEX_HIDE_INDICES     = NO
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+GENERATE_RTF           = YES
+RTF_OUTPUT             = Doc
+COMPACT_RTF            = YES
+RTF_HYPERLINKS         = YES
+RTF_STYLESHEET_FILE    = 
+RTF_EXTENSIONS_FILE    = 
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+GENERATE_MAN           = NO
+MAN_OUTPUT             = man
+MAN_EXTENSION          = .3
+MAN_LINKS              = NO
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+GENERATE_XML           = NO
+XML_OUTPUT             = xml
+XML_SCHEMA             = 
+XML_DTD                = 
+XML_PROGRAMLISTING     = YES
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+GENERATE_AUTOGEN_DEF   = NO
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+GENERATE_PERLMOD       = NO
+PERLMOD_LATEX          = NO
+PERLMOD_PRETTY         = YES
+PERLMOD_MAKEVAR_PREFIX = 
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor   
+#---------------------------------------------------------------------------
+ENABLE_PREPROCESSING   = YES
+MACRO_EXPANSION        = YES
+EXPAND_ONLY_PREDEF     = NO
+SEARCH_INCLUDES        = YES
+INCLUDE_PATH           = 
+INCLUDE_FILE_PATTERNS  = 
+PREDEFINED             = NONSHARABLE_CLASS
+EXPAND_AS_DEFINED      = 
+SKIP_FUNCTION_MACROS   = YES
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references   
+#---------------------------------------------------------------------------
+TAGFILES               = 
+GENERATE_TAGFILE       = 
+ALLEXTERNALS           = NO
+EXTERNAL_GROUPS        = YES
+PERL_PATH              = /usr/bin/perl
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool   
+#---------------------------------------------------------------------------
+CLASS_DIAGRAMS         = YES
+HIDE_UNDOC_RELATIONS   = YES
+HAVE_DOT               = NO
+CLASS_GRAPH            = YES
+COLLABORATION_GRAPH    = YES
+GROUP_GRAPHS           = YES
+UML_LOOK               = NO
+TEMPLATE_RELATIONS     = YES
+INCLUDE_GRAPH          = YES
+INCLUDED_BY_GRAPH      = YES
+CALL_GRAPH             = NO
+GRAPHICAL_HIERARCHY    = YES
+DIRECTORY_GRAPH        = YES
+DOT_IMAGE_FORMAT       = png
+DOT_PATH               = 
+DOTFILE_DIRS           = 
+MAX_DOT_GRAPH_WIDTH    = 1024
+MAX_DOT_GRAPH_HEIGHT   = 1024
+MAX_DOT_GRAPH_DEPTH    = 0
+DOT_TRANSPARENT        = NO
+DOT_MULTI_TARGETS      = NO
+GENERATE_LEGEND        = YES
+DOT_CLEANUP            = YES
+#---------------------------------------------------------------------------
+# Configuration::additions related to the search engine   
+#---------------------------------------------------------------------------
+SEARCHENGINE           = NO
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/group/LandmarkTestModule_5_0.pkg	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,464 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description:
+;
+;
+;;
+; Installation file for t_locsysuiconsole application
+;
+;Languages
+&EN
+;
+; UID is the app's UID
+;
+#{"Poison FT LandmarkTests"},(0x01ffff73),2,0,0,TYPE=SA
+;
+; Localised Vendor name
+%{"Nokia-EN"}
+
+; Unique Vendor name
+:"Nokia"
+;
+;#{"Poison FT LandmarkTests"},(0x01ffff73),1,0,0
+; Files to install and to where
+
+"\Epoc32\Release\ARMV5\urel\LandMarksTestModule.dll"-"!:\sys\bin\LandMarksTestModule.dll"
+"..\conf\LandMarksTestModule1.cfg"-"C:\TestFramework\LandMarksTestModule1.cfg"
+"..\init\TestFramework.ini"-"C:\Data\TestFramework.ini"
+"..\Script\lmtm.bat"-"C:\lmtm.bat"
+
+
+;This is the test provider, used in TP135 and TP116
+"\Epoc32\Release\ARMV5\urel\FT_lmservlib.dll"-"!:\sys\bin\FT_lmservlib.dll"
+"\Epoc32\Release\ARMV5\urel\dbmanpluginstest.dll"-"!:\sys\bin\dbmanpluginstest.dll"
+"\Epoc32\data\z\resource\plugins\dbmanpluginstest.RSC"-"!:\resource\plugins\dbmanpluginstest.RSC"
+
+;Files needed for Tp1
+"..\databases\landmarks\TP1Test.ldb"-"c:\system\test\TestData\TP1Test.ldb"
+
+;Files needed for Tp4
+"..\databases\landmarks\TP4Test.ldb"-"c:\system\test\TestData\TP4Test.ldb"
+
+;Files needed for Tp8
+"..\databases\landmarks\TP8Test.ldb"-"c:\system\test\TestData\TP8Test.ldb"
+
+
+;Files needed for Tp10
+"..\databases\landmarks\TP10Test.ldb"-"c:\system\test\TestData\TP10Test.ldb"
+
+
+
+;Test data files
+"..\databases\landmarks\eposlm.ldb"-"c:\system\test\TestData\eposlm.ldb"
+"..\databases\landmarks\testlm.ldb"-"c:\system\test\TestData\testlm.ldb"
+"..\databases\landmarks\landmarksDb.txt"-"c:\system\test\TestData\landmarksDb.txt"
+"..\databases\landmarks\lmDbSearchResult.txt"-"c:\system\test\TestData\lmDbSearchResult.txt"
+"..\databases\landmarks\lmDbAreaSearchResult.txt"-"c:\system\test\TestData\lmDbAreaSearchResult.txt"
+"..\databases\landmarks\LmDbCategorySearchResult.txt"-"c:\system\test\TestData\LmDbCategorySearchResult.txt"
+"..\databases\landmarks\LmDbCatLandmarkSearchResult.txt"-"c:\system\test\TestData\LmDbCatLandmarkSearchResult.txt"
+"..\databases\landmarks\eposlmglobalcategories.r01"-"c:\system\test\TestData\eposlmglobalcategories.r01"
+"..\databases\landmarks\eposlmglobalcategories.r02"-"c:\system\test\TestData\eposlmglobalcategories.r02"
+"..\databases\landmarks\eposlmglobalcategories.r03"-"c:\system\test\TestData\eposlmglobalcategories.r03"
+"..\databases\landmarks\SRVeposdamaged.ldb"-"c:\system\test\TestData\SRVeposdamaged.ldb"
+"..\databases\landmarks\EPOSLMASYNCOPS.RSC"-"c:\system\test\TestData\EPOSLMASYNCOPS.RSC"
+"..\databases\landmarks\SRVeposcontact.ldb"-"c:\system\test\TestData\SRVeposcontact.ldb"
+"..\databases\landmarks\SRVepostext.ldb"-"c:\system\test\TestData\SRVepostext.ldb"
+"..\databases\landmarks\eposEmpty.ldb"-"c:\system\test\TestData\eposEmpty.ldb"
+"..\databases\landmarks\lmDbNearestSearchResult.txt"-"c:\system\test\TestData\lmDbNearestSearchResult.txt"
+"..\databases\landmarks\lmDbNearestSearch.txt"-"c:\system\test\TestData\lmDbNearestSearch.txt"
+"..\databases\landmarks\eposlmnearestsearch.ldb"-"c:\system\test\TestData\eposlmnearestsearch.ldb"
+"..\databases\landmarks\lmDbCompositeSearchResult.txt"-"c:\system\test\TestData\lmDbCompositeSearchResult.txt"
+"..\databases\landmarks\compositeeposlm.ldb"-"c:\system\test\TestData\compositeeposlm.ldb"
+"..\databases\landmarks\LmRecognizerData.txt"-"c:\system\test\TestData\LmRecognizerData.txt"
+"..\databases\landmarks\LmRecognizerDataFile.txt"-"c:\system\test\TestData\LmRecognizerDataFile.txt"
+"..\databases\landmarks\eposlm_1000_LMs.ldb"-"c:\system\test\TestData\eposlm_1000_LMs.ldb"
+"..\databases\landmarks\eposlm_5000_LMs.ldb"-"c:\system\test\TestData\eposlm_5000_LMs.ldb"
+"..\databases\landmarks\eposlmintservices_198KB.rsc"-"c:\system\test\TestData\eposlmintservices_198KB.rsc"
+"..\databases\landmarks\eposlmintservices_453KB.rsc"-"c:\system\test\TestData\eposlmintservices_453KB.rsc"
+
+;Files needed in TP13
+;"..\databases\landmarks\TP13_EPOSLMGLOBALCATEGORIES.R06"-"c:\system\test\TestData\TP13_EPOSLMGLOBALCATEGORIES.R06"
+;"..\databases\landmarks\TP13_EPOSLMGLOBALCATEGORIES.R01"-"c:\system\test\TestData\TP13_EPOSLMGLOBALCATEGORIES.R01"
+"..\databases\landmarks\eposlm_tp13.ldb"-"c:\system\test\TestData\eposlm_tp13.ldb"
+
+;Files needed in Tp25
+"..\databases\landmarks\TP25Test.ldb"-"c:\system\test\TestData\TP25Test.ldb"
+;Files needed in Tp28
+"..\databases\landmarks\Tp28Test.ldb"-"c:\system\test\TestData\Tp28Test.ldb"
+
+;Files needed in Tp131
+"..\databases\landmarks\TP131Test.ldb"-"c:\system\test\TestData\TP131Test.ldb"
+;Files needed for Tp116
+"..\databases\landmarks\TP116Test.ldb"-"c:\system\test\TestData\TP116Test.ldb"
+
+
+;Correct trace file
+"..\databases\landmarks\XML_Files\CorrectFileFor_LandmarksTP47Trace.txt"-"c:\system\test\TestData\CorrectFileFor_LandmarksTP47Trace.txt"
+"..\databases\landmarks\XML_Files\CorrectFileFor_LandmarksTP148Trace.txt"-"c:\system\test\TestData\CorrectFileFor_LandmarksTP148Trace.txt"
+"..\databases\landmarks\XML_Files\CorrectFileFor_LandmarksTP149Trace.txt"-"c:\system\test\TestData\CorrectFileFor_LandmarksTP149Trace.txt"
+"..\databases\landmarks\XML_Files\CorrectFileFor_LandmarksTP150Trace.txt"-"c:\system\test\TestData\CorrectFileFor_LandmarksTP150Trace.txt"
+"..\databases\landmarks\XML_Files\CorrectFileFor_LandmarksTP151Trace.txt"-"c:\system\test\TestData\CorrectFileFor_LandmarksTP151Trace.txt"
+"..\databases\landmarks\XML_Files\CorrectFileFor_LandmarksTP152Trace.txt"-"c:\system\test\TestData\CorrectFileFor_LandmarksTP152Trace.txt"
+"..\databases\landmarks\XML_Files\CorrectFileFor_LandmarksTP153Trace.txt"-"c:\system\test\TestData\CorrectFileFor_LandmarksTP153Trace.txt"
+"..\databases\landmarks\XML_Files\CorrectFileFor_LandmarksTP154Trace.txt"-"c:\system\test\TestData\CorrectFileFor_LandmarksTP154Trace.txt"
+"..\databases\landmarks\XML_Files\CorrectFileFor_LandmarksTP155Trace.txt"-"c:\system\test\TestData\CorrectFileFor_LandmarksTP155Trace.txt"
+"..\databases\landmarks\XML_Files\CorrectFileFor_LandmarksTP156Trace.txt"-"c:\system\test\TestData\CorrectFileFor_LandmarksTP156Trace.txt"
+"..\databases\landmarks\XML_Files\CorrectFileFor_LandmarksTP157Trace.txt"-"c:\system\test\TestData\CorrectFileFor_LandmarksTP157Trace.txt"
+"..\databases\landmarks\XML_Files\CorrectFileFor_LandmarksTP158Trace.txt"-"c:\system\test\TestData\CorrectFileFor_LandmarksTP158Trace.txt"
+"..\databases\landmarks\XML_Files\CorrectFileFor_LandmarksTP159Trace.txt"-"c:\system\test\TestData\CorrectFileFor_LandmarksTP159Trace.txt"
+"..\databases\landmarks\XML_Files\CorrectFileFor_LandmarksTP160Trace.txt"-"c:\system\test\TestData\CorrectFileFor_LandmarksTP160Trace.txt"
+
+;XML files needed in TP47
+"..\databases\landmarks\XML_Files\Tp47Data_With_MIME_Name.xml"-"c:\system\test\TestData\Tp47Data_With_MIME_Name.xml"
+"..\databases\landmarks\XML_Files\Tp47UsingXMLTagAsDataField3.xml"-"c:\system\test\TestData\Tp47UsingXMLTagAsDataField3.xml"
+"..\databases\landmarks\XML_Files\Tp47UsingXMLTagAsDataField2.xml"-"c:\system\test\TestData\Tp47UsingXMLTagAsDataField2.xml"
+"..\databases\landmarks\XML_Files\Tp47UsingXMLTagAsDataField1.xml"-"c:\system\test\TestData\Tp47UsingXMLTagAsDataField1.xml"
+"..\databases\landmarks\XML_Files\Tp47ErronousXMLDataTagInTag1.xml"-"c:\system\test\TestData\Tp47ErronousXMLDataTagInTag1.xml"
+"..\databases\landmarks\XML_Files\Tp47ErronousXMLFileEmptyCollection.xml"-"c:\system\test\TestData\Tp47ErronousXMLFileEmptyCollection.xml"
+"..\databases\landmarks\XML_Files\Tp47XMLWithLongLatitudeField.xml"-"c:\system\test\TestData\Tp47XMLWithLongLatitudeField.xml"
+"..\databases\landmarks\XML_Files\Tp47XMLWithLongName.xml"-"c:\system\test\TestData\Tp47XMLWithLongName.xml"
+"..\databases\landmarks\XML_Files\Tp47XMLWithLongCategoryName.xml"-"c:\system\test\TestData\Tp47XMLWithLongCategoryName.xml"
+"..\databases\landmarks\XML_Files\TP47_UTF-8.xml"-"c:\system\test\TestData\TP47_UTF-8.xml"
+"..\databases\landmarks\XML_Files\TP47_UTF-16-bigEndian.xml"-"c:\system\test\TestData\TP47_UTF-16-bigEndian.xml"
+"..\databases\landmarks\XML_Files\TP47_UTF-16-littleEndian.xml"-"c:\system\test\TestData\TP47_UTF-16-littleEndian.xml"
+"..\databases\landmarks\XML_Files\TP47_UTF-Chinese.xml"-"c:\system\test\TestData\TP47_UTF-Chinese.xml"
+"..\databases\landmarks\XML_Files\Tp47DataUTF8.xml"-"c:\system\test\TestData\Tp47DataUTF8.xml"
+"..\databases\landmarks\XML_Files\Tp47DataUTF16.xml"-"c:\system\test\TestData\Tp47DataUTF16.xml"
+"..\databases\landmarks\XML_Files\Tp47ErronousFileNoXML2.xml"-"c:\system\test\TestData\Tp47ErronousFileNoXML2.xml"
+"..\databases\landmarks\XML_Files\Tp47ErronousFileNoXML1.xml"-"c:\system\test\TestData\Tp47ErronousFileNoXML1.xml"
+"..\databases\landmarks\XML_Files\Tp47ErronousXMLDataUnclosedTag2.xml"-"c:\system\test\TestData\Tp47ErronousXMLDataUnclosedTag2.xml"
+"..\databases\landmarks\XML_Files\Tp47ErronousXMLDataUnclosedTag1.xml"-"c:\system\test\TestData\Tp47ErronousXMLDataUnclosedTag1.xml"
+"..\databases\landmarks\XML_Files\Tp47ErronousXMLDataRepeatedTag.xml"-"c:\system\test\TestData\Tp47ErronousXMLDataRepeatedTag.xml"
+"..\databases\landmarks\XML_Files\Tp47Mall.xml"-"c:\system\test\TestData\Tp47Mall.xml"
+"..\databases\landmarks\XML_Files\Tp47XMLDataTestInput1.xml"-"c:\system\test\TestData\Tp47XMLDataTestInput1.xml"
+"..\databases\landmarks\XML_Files\Tp47ErrounousXMLNoEndTag2.xml"-"c:\system\test\TestData\Tp47ErrounousXMLNoEndTag2.xml"
+"..\databases\landmarks\XML_Files\Tp47ErrounousXMLNoEndTag1.xml"-"c:\system\test\TestData\Tp47ErrounousXMLNoEndTag1.xml"
+"..\databases\landmarks\XML_Files\Tp47ErrounousXMLDataWrongOrder3.xml"-"c:\system\test\TestData\Tp47ErrounousXMLDataWrongOrder3.xml"
+"..\databases\landmarks\XML_Files\Tp47UnknownTags.xml"-"c:\system\test\TestData\Tp47UnknownTags.xml"
+"..\databases\landmarks\XML_Files\Tp47UnknownTrees.xml"-"c:\system\test\TestData\Tp47UnknownTrees.xml"
+"..\databases\landmarks\XML_Files\Tp47ErrounousXMLDataWrongOrder2.xml"-"c:\system\test\TestData\Tp47ErrounousXMLDataWrongOrder2.xml"
+"..\databases\landmarks\XML_Files\Tp47ErrounousXMLDataMissingFields3.xml"-"c:\system\test\TestData\Tp47ErrounousXMLDataMissingFields3.xml"
+"..\databases\landmarks\XML_Files\Tp47ErrounousXMLDataWrongOrder1.xml"-"c:\system\test\TestData\Tp47ErrounousXMLDataWrongOrder1.xml"
+"..\databases\landmarks\XML_Files\Tp47ErrounousXMLDataMissingFields2.xml"-"c:\system\test\TestData\Tp47ErrounousXMLDataMissingFields2.xml"
+"..\databases\landmarks\XML_Files\Tp47ErrounousXMLDataMissingFields1.xml"-"c:\system\test\TestData\Tp47ErrounousXMLDataMissingFields1.xml"
+"..\databases\landmarks\XML_Files\Tp47SeveralLandmarkCollection.xml"-"c:\system\test\TestData\Tp47SeveralLandmarkCollection.xml"
+"..\databases\landmarks\XML_Files\Tp47SeveralLandmark.xml"-"c:\system\test\TestData\Tp47SeveralLandmark.xml"
+"..\databases\landmarks\XML_Files\Tp47ErrounousXMLData.xml"-"c:\system\test\TestData\Tp47ErrounousXMLData.xml"
+;"..\databases\landmarks\XML_Files\Tp47ErronousXMLDataMissingLMPrefix.xml"-"c:\system\test\TestData\Tp47ErronousXMLDataMissingLMPrefix.xml"
+"..\databases\landmarks\XML_Files\Tp47EmptyMediaLink.xml"-"c:\system\test\TestData\Tp47EmptyMediaLink.xml"
+"..\databases\landmarks\XML_Files\Tp47EmptyCoordinates.xml"-"c:\system\test\TestData\Tp47EmptyCoordinates.xml"
+"..\databases\landmarks\XML_Files\Tp47EmptyAdresseInfo.xml"-"c:\system\test\TestData\Tp47EmptyAdresseInfo.xml"
+"..\databases\landmarks\XML_Files\Tp47ErronousTextInTag1.xml"-"c:\system\test\TestData\Tp47ErronousTextInTag1.xml"
+"..\databases\landmarks\XML_Files\Tp47ErronousTextInTag2.xml"-"c:\system\test\TestData\Tp47ErronousTextInTag2.xml"
+"..\databases\landmarks\XML_Files\Tp47ErronousTextInTag3.xml"-"c:\system\test\TestData\Tp47ErronousTextInTag3.xml"
+"..\databases\landmarks\XML_Files\Tp47ErronousTextInTag4.xml"-"c:\system\test\TestData\Tp47ErronousTextInTag4.xml"
+"..\databases\landmarks\XML_Files\Tp47ErronousTextInTag5.xml"-"c:\system\test\TestData\Tp47ErronousTextInTag5.xml"
+"..\databases\landmarks\XML_Files\Tp47ErronousTextInTag6.xml"-"c:\system\test\TestData\Tp47ErronousTextInTag6.xml"
+
+"..\databases\landmarks\XML_Files\Tp47Data_With_MIME_Name.gpx"-"c:\system\test\TestData\Tp47Data_With_MIME_Name.gpx"
+"..\databases\landmarks\XML_Files\Tp47UsingXMLTagAsDataField3.gpx"-"c:\system\test\TestData\Tp47UsingXMLTagAsDataField3.gpx"
+"..\databases\landmarks\XML_Files\Tp47UsingXMLTagAsDataField2.gpx"-"c:\system\test\TestData\Tp47UsingXMLTagAsDataField2.gpx"
+"..\databases\landmarks\XML_Files\Tp47UsingXMLTagAsDataField1.gpx"-"c:\system\test\TestData\Tp47UsingXMLTagAsDataField1.gpx"
+"..\databases\landmarks\XML_Files\Tp47ErronousXMLDataTagInTag1.gpx"-"c:\system\test\TestData\Tp47ErronousXMLDataTagInTag1.gpx"
+"..\databases\landmarks\XML_Files\Tp47XMLWithLongLatitudeField.gpx"-"c:\system\test\TestData\Tp47XMLWithLongLatitudeField.gpx"
+"..\databases\landmarks\XML_Files\Tp47XMLWithLongName.gpx"-"c:\system\test\TestData\Tp47XMLWithLongName.gpx"
+"..\databases\landmarks\XML_Files\Tp47XMLWithLongCategoryName.gpx"-"c:\system\test\TestData\Tp47XMLWithLongCategoryName.gpx"
+"..\databases\landmarks\XML_Files\TP47_UTF-8.gpx"-"c:\system\test\TestData\TP47_UTF-8.gpx"
+"..\databases\landmarks\XML_Files\TP47_UTF-16-bigEndian.gpx"-"c:\system\test\TestData\TP47_UTF-16-bigEndian.gpx"
+"..\databases\landmarks\XML_Files\TP47_UTF-16-littleEndian.gpx"-"c:\system\test\TestData\TP47_UTF-16-littleEndian.gpx"
+"..\databases\landmarks\XML_Files\TP47_UTF-Chinese.gpx"-"c:\system\test\TestData\TP47_UTF-Chinese.gpx"
+"..\databases\landmarks\XML_Files\Tp47DataUTF8.gpx"-"c:\system\test\TestData\Tp47DataUTF8.gpx"
+"..\databases\landmarks\XML_Files\Tp47DataUTF16.gpx"-"c:\system\test\TestData\Tp47DataUTF16.gpx"
+"..\databases\landmarks\XML_Files\Tp47ErronousFileNoXML2.gpx"-"c:\system\test\TestData\Tp47ErronousFileNoXML2.gpx"
+"..\databases\landmarks\XML_Files\Tp47ErronousFileNoXML1.gpx"-"c:\system\test\TestData\Tp47ErronousFileNoXML1.gpx"
+"..\databases\landmarks\XML_Files\Tp47ErronousXMLDataUnclosedTag2.gpx"-"c:\system\test\TestData\Tp47ErronousXMLDataUnclosedTag2.gpx"
+"..\databases\landmarks\XML_Files\Tp47ErronousXMLDataUnclosedTag1.gpx"-"c:\system\test\TestData\Tp47ErronousXMLDataUnclosedTag1.gpx"
+"..\databases\landmarks\XML_Files\Tp47ErronousXMLDataRepeatedTag.gpx"-"c:\system\test\TestData\Tp47ErronousXMLDataRepeatedTag.gpx"
+"..\databases\landmarks\XML_Files\Tp47Mall.gpx"-"c:\system\test\TestData\Tp47Mall.gpx"
+"..\databases\landmarks\XML_Files\Tp47XMLDataTestInput1.gpx"-"c:\system\test\TestData\Tp47XMLDataTestInput1.gpx"
+"..\databases\landmarks\XML_Files\Tp47ErrounousXMLNoEndTag2.gpx"-"c:\system\test\TestData\Tp47ErrounousXMLNoEndTag2.gpx"
+"..\databases\landmarks\XML_Files\Tp47ErrounousXMLNoEndTag1.gpx"-"c:\system\test\TestData\Tp47ErrounousXMLNoEndTag1.gpx"
+"..\databases\landmarks\XML_Files\Tp47UnknownTags.gpx"-"c:\system\test\TestData\Tp47UnknownTags.gpx"
+"..\databases\landmarks\XML_Files\Tp47UnknownTrees.gpx"-"c:\system\test\TestData\Tp47UnknownTrees.gpx"
+"..\databases\landmarks\XML_Files\Tp47ErrounousXMLDataWrongOrder2.gpx"-"c:\system\test\TestData\Tp47ErrounousXMLDataWrongOrder2.gpx"
+"..\databases\landmarks\XML_Files\Tp47ErrounousXMLDataMissingFields3.gpx"-"c:\system\test\TestData\Tp47ErrounousXMLDataMissingFields3.gpx"
+"..\databases\landmarks\XML_Files\Tp47ErrounousXMLDataWrongOrder1.gpx"-"c:\system\test\TestData\Tp47ErrounousXMLDataWrongOrder1.gpx"
+"..\databases\landmarks\XML_Files\Tp47ErrounousXMLDataMissingFields2.gpx"-"c:\system\test\TestData\Tp47ErrounousXMLDataMissingFields2.gpx"
+"..\databases\landmarks\XML_Files\Tp47ErrounousXMLDataMissingFields1.gpx"-"c:\system\test\TestData\Tp47ErrounousXMLDataMissingFields1.gpx"
+"..\databases\landmarks\XML_Files\Tp47ErrounousXMLData.gpx"-"c:\system\test\TestData\Tp47ErrounousXMLData.gpx"
+"..\databases\landmarks\XML_Files\Tp47EmptyMediaLink.gpx"-"c:\system\test\TestData\Tp47EmptyMediaLink.gpx"
+"..\databases\landmarks\XML_Files\Tp47EmptyCoordinates.gpx"-"c:\system\test\TestData\Tp47EmptyCoordinates.gpx"
+"..\databases\landmarks\XML_Files\Tp47ErronousTextInTag1.gpx"-"c:\system\test\TestData\Tp47ErronousTextInTag1.gpx"
+"..\databases\landmarks\XML_Files\Tp47ErronousTextInTag2.gpx"-"c:\system\test\TestData\Tp47ErronousTextInTag2.gpx"
+"..\databases\landmarks\XML_Files\Tp47ErronousTextInTag3.gpx"-"c:\system\test\TestData\Tp47ErronousTextInTag3.gpx"
+"..\databases\landmarks\XML_Files\Tp47ErronousTextInTag4.gpx"-"c:\system\test\TestData\Tp47ErronousTextInTag4.gpx"
+"..\databases\landmarks\XML_Files\Tp47ErronousTextInTag5.gpx"-"c:\system\test\TestData\Tp47ErronousTextInTag5.gpx"
+"..\databases\landmarks\XML_Files\Tp47ErronousTextInTag6.gpx"-"c:\system\test\TestData\Tp47ErronousTextInTag6.gpx"
+
+;KML files needed in TP47
+"..\databases\landmarks\XML_Files\Tp47KML.kml"-"c:\system\test\TestData\Tp47KML.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLfile1.kml"-"c:\system\test\TestData\Tp47KMLfile1.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLfile2.kml"-"c:\system\test\TestData\Tp47KMLfile2.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLfile3.kml"-"c:\system\test\TestData\Tp47KMLfile3.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLfile4.kml"-"c:\system\test\TestData\Tp47KMLfile4.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLlongName.kml"-"c:\system\test\TestData\Tp47KMLlongName.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLNameCaps.kml"-"c:\system\test\TestData\Tp47KMLNameCaps.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLErroneousNameTag.kml"-"c:\system\test\TestData\Tp47KMLErroneousNameTag.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLErroneousNameTagPosition1.kml"-"c:\system\test\TestData\Tp47KMLErroneousNameTagPosition1.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLErroneousNameTagPosition2.kml"-"c:\system\test\TestData\Tp47KMLErroneousNameTagPosition2.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLEmptyName.kml"-"c:\system\test\TestData\Tp47KMLEmptyName.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLMissingNameTag1.kml"-"c:\system\test\TestData\Tp47KMLMissingNameTag1.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLMissingNameTag2.kml"-"c:\system\test\TestData\Tp47KMLMissingNameTag2.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLNameWithSpecialCharacters1.kml"-"c:\system\test\TestData\Tp47KMLNameWithSpecialCharacters1.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLNameWithSpecialCharacters2.kml"-"c:\system\test\TestData\Tp47KMLNameWithSpecialCharacters2.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLEmptyPhoneNumber.kml"-"c:\system\test\TestData\Tp47KMLEmptyPhoneNumber.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLErroneousPhoneNumberTag.kml"-"c:\system\test\TestData\Tp47KMLErroneousPhoneNumberTag.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLErroneousPhoneNumberTagPosition.kml"-"c:\system\test\TestData\Tp47KMLErroneousPhoneNumberTagPosition.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLLongPhoneNumer.kml"-"c:\system\test\TestData\Tp47KMLLongPhoneNumer.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLMissingPhoneTag1.kml"-"c:\system\test\TestData\Tp47KMLMissingPhoneTag1.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLMissingPhoneTag2.kml"-"c:\system\test\TestData\Tp47KMLMissingPhoneTag2.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLPhoneNumberCaps.kml"-"c:\system\test\TestData\Tp47KMLPhoneNumberCaps.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLPhoneNumberWithText.kml"-"c:\system\test\TestData\Tp47KMLPhoneNumberWithText.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLPhoneNumberWithText.kml"-"c:\system\test\TestData\Tp47KMLPhoneNumberWithText.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLPhoneNumberWithSpecialCharacters1.kml"-"c:\system\test\TestData\Tp47KMLPhoneNumberWithSpecialCharacters1.kml"
+
+"..\databases\landmarks\XML_Files\Tp47KMLPhoneNumberWithSpecialCharacters2.kml"-"c:\system\test\TestData\Tp47KMLPhoneNumberWithSpecialCharacters2.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLEmptyPoint.kml"-"c:\system\test\TestData\Tp47KMLEmptyPoint.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLErroneousPointTag.kml"-"c:\system\test\TestData\Tp47KMLErroneousPointTag.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLErroneousPointTagPosition.kml"-"c:\system\test\TestData\Tp47KMLErroneousPointTagPosition.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLMissingPointTag1.kml"-"c:\system\test\TestData\Tp47KMLMissingPointTag1.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLMissingPointTag2.kml"-"c:\system\test\TestData\Tp47KMLMissingPointTag2.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLPointCaps.kml"-"c:\system\test\TestData\Tp47KMLPointCaps.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLPointCaps.kml"-"c:\system\test\TestData\Tp47KMLPointCaps.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLPointTag1.kml"-"c:\system\test\TestData\Tp47KMLPointTag1.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLPointTag2.kml"-"c:\system\test\TestData\Tp47KMLPointTag2.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLPointTag3.kml"-"c:\system\test\TestData\Tp47KMLPointTag3.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLEmptyDescription.kml"-"c:\system\test\TestData\Tp47KMLEmptyDescription.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLDescriptionWithSpecialCharacters1.kml"-"c:\system\test\TestData\Tp47KMLDescriptionWithSpecialCharacters1.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLDescriptionWithSpecialCharacters2.kml"-"c:\system\test\TestData\Tp47KMLDescriptionWithSpecialCharacters2.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLDescriptionCaps.kml"-"c:\system\test\TestData\Tp47KMLDescriptionCaps.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLLongDescription.kml"-"c:\system\test\TestData\Tp47KMLLongDescription.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLErroneousDescriptionTag.kml"-"c:\system\test\TestData\Tp47KMLErroneousDescriptionTag.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLErroneousDescriptionTagposition.kml"-"c:\system\test\TestData\Tp47KMLErroneousDescriptionTagposition.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLMissingDescriptionTag1.kml"-"c:\system\test\TestData\Tp47KMLMissingDescriptionTag1.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLMissingDescriptionTag2.kml"-"c:\system\test\TestData\Tp47KMLMissingDescriptionTag2.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLDescriptionWithCDATA.kml"-"c:\system\test\TestData\Tp47KMLDescriptionWithCDATA.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLErroneousFolderTag.kml"-"c:\system\test\TestData\Tp47KMLErroneousFolderTag.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLFolderCaps.kml"-"c:\system\test\TestData\Tp47KMLFolderCaps.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLMissingFolderTag1.kml"-"c:\system\test\TestData\Tp47KMLMissingFolderTag1.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLMissingFolderTag2.kml"-"c:\system\test\TestData\Tp47KMLMissingFolderTag2.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLEmptyFolderName.kml"-"c:\system\test\TestData\Tp47KMLEmptyFolderName.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLLongFolderName.kml"-"c:\system\test\TestData\Tp47KMLLongFolderName.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLFolderNameWithSpecialCharacters1.kml"-"c:\system\test\TestData\Tp47KMLFolderNameWithSpecialCharacters1.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLFolderNameWithSpecialCharacters2.kml"-"c:\system\test\TestData\Tp47KMLFolderNameWithSpecialCharacters2.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLDocumentNameWithSpecialCharacters1.kml"-"c:\system\test\TestData\Tp47KMLDocumentNameWithSpecialCharacters1.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLDocumentNameWithSpecialCharacters2.kml"-"c:\system\test\TestData\Tp47KMLDocumentNameWithSpecialCharacters2.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLEmptyDocumentName.kml"-"c:\system\test\TestData\Tp47KMLEmptyDocumentName.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLLongDocumentName.kml"-"c:\system\test\TestData\Tp47KMLLongDocumentName.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLDocumentCaps.kml"-"c:\system\test\TestData\Tp47KMLDocumentCaps.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLErroneousDocumentTag.kml"-"c:\system\test\TestData\Tp47KMLErroneousDocumentTag.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLMissingDocumentTag1.kml"-"c:\system\test\TestData\Tp47KMLMissingDocumentTag1.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLMissingDocumentTag2.kml"-"c:\system\test\TestData\Tp47KMLMissingDocumentTag2.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLAddressCaps.kml"-"c:\system\test\TestData\Tp47KMLAddressCaps.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLAddressWithSpecialCharacters1.kml"-"c:\system\test\TestData\Tp47KMLAddressWithSpecialCharacters1.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLAddressWithSpecialCharacters2.kml"-"c:\system\test\TestData\Tp47KMLAddressWithSpecialCharacters2.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLEmptyAddress1.kml"-"c:\system\test\TestData\Tp47KMLEmptyAddress1.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLEmptyAddress2.kml"-"c:\system\test\TestData\Tp47KMLEmptyAddress2.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLLongAddress1.kml"-"c:\system\test\TestData\Tp47KMLLongAddress1.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLLongAddress2.kml"-"c:\system\test\TestData\Tp47KMLLongAddress2.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLLongAddress3.kml"-"c:\system\test\TestData\Tp47KMLLongAddress3.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLErroneousAddressTag.kml"-"c:\system\test\TestData\Tp47KMLErroneousAddressTag.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLErroneousAddressTagPosition.kml"-"c:\system\test\TestData\Tp47KMLErroneousAddressTagPosition.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLMissingAddressTag1.kml"-"c:\system\test\TestData\Tp47KMLMissingAddressTag1.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLMissingAddressTag2.kml"-"c:\system\test\TestData\Tp47KMLMissingAddressTag2.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLCoordinateCaps.kml"-"c:\system\test\TestData\Tp47KMLCoordinateCaps.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLMoreCoordinates.kml"-"c:\system\test\TestData\Tp47KMLMoreCoordinates.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLErroneousCoordinateTag.kml"-"c:\system\test\TestData\Tp47KMLErroneousCoordinateTag.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLErroneousCoordinateTagPosition.kml"-"c:\system\test\TestData\Tp47KMLErroneousCoordinateTagPosition.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLCoordinates1.kml"-"c:\system\test\TestData\Tp47KMLCoordinates1.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLCoordinates2.kml"-"c:\system\test\TestData\Tp47KMLCoordinates2.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLCoordinates3.kml"-"c:\system\test\TestData\Tp47KMLCoordinates3.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLCoordinates4.kml"-"c:\system\test\TestData\Tp47KMLCoordinates4.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLCoordinates5.kml"-"c:\system\test\TestData\Tp47KMLCoordinates5.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLCoordinates6.kml"-"c:\system\test\TestData\Tp47KMLCoordinates6.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLLongCoordinates1.kml"-"c:\system\test\TestData\Tp47KMLLongCoordinates1.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLLongCoordinates2.kml"-"c:\system\test\TestData\Tp47KMLLongCoordinates2.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLMissingCoordinateTag1.kml"-"c:\system\test\TestData\Tp47KMLMissingCoordinateTag1.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLMissingCoordinateTag2.kml"-"c:\system\test\TestData\Tp47KMLMissingCoordinateTag2.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLEmptyCoordinates1.kml"-"c:\system\test\TestData\Tp47KMLEmptyCoordinates1.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLEmptyCoordinates2.kml"-"c:\system\test\TestData\Tp47KMLEmptyCoordinates2.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLEmptyCoordinates3.kml"-"c:\system\test\TestData\Tp47KMLEmptyCoordinates3.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLEmptyCoordinates4.kml"-"c:\system\test\TestData\Tp47KMLEmptyCoordinates4.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLEmptyCoordinates5.kml"-"c:\system\test\TestData\Tp47KMLEmptyCoordinates5.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLEmptyCoordinates6.kml"-"c:\system\test\TestData\Tp47KMLEmptyCoordinates6.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLEmptyCoordinates7.kml"-"c:\system\test\TestData\Tp47KMLEmptyCoordinates7.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLErroneousCoordinates1.kml"-"c:\system\test\TestData\Tp47KMLErroneousCoordinates1.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLErroneousCoordinates2.kml"-"c:\system\test\TestData\Tp47KMLErroneousCoordinates2.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLErroneousCoordinates3.kml"-"c:\system\test\TestData\Tp47KMLErroneousCoordinates3.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLErroneousCoordinates4.kml"-"c:\system\test\TestData\Tp47KMLErroneousCoordinates4.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLErroneousCoordinates5.kml"-"c:\system\test\TestData\Tp47KMLErroneousCoordinates5.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLNegativeCoordinates.kml"-"c:\system\test\TestData\Tp47KMLNegativeCoordinates.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLErroneousTextWithinPlacemark.kml"-"c:\system\test\TestData\Tp47KMLErroneousTextWithinPlacemark.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLEmptyfile1.kml"-"c:\system\test\TestData\Tp47KMLEmptyfile1.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLEmptyfile2.kml"-"c:\system\test\TestData\Tp47KMLEmptyfile2.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLInvalidfile.kml"-"c:\system\test\TestData\Tp47KMLInvalidfile.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLPlacemarkCaps.kml"-"c:\system\test\TestData\Tp47KMLPlacemarkCaps.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLErroneousPlacemarkTag.kml"-"c:\system\test\TestData\Tp47KMLErroneousPlacemarkTag.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLMissingPlacemarkTag1.kml"-"c:\system\test\TestData\Tp47KMLMissingPlacemarkTag1.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLMissingPlacemarkTag2.kml"-"c:\system\test\TestData\Tp47KMLMissingPlacemarkTag2.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLEmptyPlacemarkTag.kml"-"c:\system\test\TestData\Tp47KMLEmptyPlacemarkTag.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLGandhi Museum.kml"-"c:\system\test\TestData\Tp47KMLGandhi Museum.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLhilton hotels near new york (1 - 10).kml"-"c:\system\test\TestData\Tp47KMLhilton hotels near new york (1 - 10).kml"
+"..\databases\landmarks\XML_Files\Tp47KMLIndus Heritage Centre, India.kml"-"c:\system\test\TestData\Tp47KMLIndus Heritage Centre, India.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLfile5.kml"-"c:\system\test\TestData\Tp47KMLfile5.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLfile6.kml"-"c:\system\test\TestData\Tp47KMLfile6.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLfile7.kml"-"c:\system\test\TestData\Tp47KMLfile7.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLfile8.kml"-"c:\system\test\TestData\Tp47KMLfile8.kml"
+"..\databases\landmarks\XML_Files\Tp47KMLfile9.kml"-"c:\system\test\TestData\Tp47KMLfile9.kml"
+
+;KMZ test files
+"..\databases\landmarks\XML_Files\Tp148KMZFile.kmz"-"c:\system\test\TestData\Tp148KMZFile.kmz"
+"..\databases\landmarks\XML_Files\Tp149KMZFile.kmz"-"c:\system\test\TestData\Tp149KMZFile.kmz"
+"..\databases\landmarks\XML_Files\Tp150KMZFile.kmz"-"c:\system\test\TestData\Tp150KMZFile.kmz"
+"..\databases\landmarks\XML_Files\Tp151KMZFile.kmz"-"c:\system\test\TestData\Tp151KMZFile.kmz"
+"..\databases\landmarks\XML_Files\Tp152KMZFile.kmz"-"c:\system\test\TestData\Tp152KMZFile.kmz"
+"..\databases\landmarks\XML_Files\Tp153KMZFile.kmz"-"c:\system\test\TestData\Tp153KMZFile.kmz"
+"..\databases\landmarks\XML_Files\Tp154KMZFile.kmz"-"c:\system\test\TestData\Tp154KMZFile.kmz"
+"..\databases\landmarks\XML_Files\Tp155KMZFile.kmz"-"c:\system\test\TestData\Tp155KMZFile.kmz"
+"..\databases\landmarks\XML_Files\Tp156KMZFile.kmz"-"c:\system\test\TestData\Tp156KMZFile.kmz"
+"..\databases\landmarks\XML_Files\Tp157KMZFile.kmz"-"c:\system\test\TestData\Tp157KMZFile.kmz"
+"..\databases\landmarks\XML_Files\Tp158KMZFile.kmz"-"c:\system\test\TestData\Tp158KMZFile.kmz"
+"..\databases\landmarks\XML_Files\Tp159KMZFile.kmz"-"c:\system\test\TestData\Tp159KMZFile.kmz"
+"..\databases\landmarks\XML_Files\Tp160KMZFile.kmz"-"c:\system\test\TestData\Tp160KMZFile.kmz"
+"..\databases\landmarks\XML_Files\Tp163KMZ.kmz"-"c:\system\test\TestData\Tp163KMZ.kmz"
+"..\databases\landmarks\XML_Files\Tp164KMZ.kmz"-"c:\system\test\TestData\Tp164KMZ.kmz"
+
+;KML test files
+"..\databases\landmarks\XML_Files\Tp161KML.kml"-"c:\system\test\TestData\Tp161KML.kml"
+"..\databases\landmarks\XML_Files\Tp162KML.kml"-"c:\system\test\TestData\Tp162KML.kml"
+
+;XML files needed in TP43
+"..\databases\landmarks\XML_Files\Tp43EncodeOutput_Correct.xml"-"c:\system\test\TestData\Tp43EncodeOutput_Correct.xml"
+"..\databases\landmarks\XML_Files\Tp43EncodeOutputIncMode_Correct.xml"-"c:\system\test\TestData\Tp43EncodeOutputIncMode_Correct.xml"
+"..\databases\landmarks\XML_Files\Tp43EncodeOutputCollectionData1_Correct.xml"-"c:\system\test\TestData\Tp43EncodeOutputCollectionData1_Correct.xml"
+"..\databases\landmarks\XML_Files\Tp43EncodeOutputCollectionData2_Correct.xml"-"c:\system\test\TestData\Tp43EncodeOutputCollectionData2_Correct.xml"
+"..\databases\landmarks\XML_Files\Tp43EncodeOutputEmptyCollectionData_Correct.xml"-"c:\system\test\TestData\Tp43EncodeOutputEmptyCollectionData_Correct.xml"
+"..\databases\landmarks\XML_Files\Tp43EncodeOutputEmptyCollectionData2_Correct.xml"-"c:\system\test\TestData\Tp43EncodeOutputEmptyCollectionData2_Correct.xml"
+"..\databases\landmarks\XML_Files\Tp43EncodeOutputLongCollectionField_Correct.xml"-"c:\system\test\TestData\Tp43EncodeOutputLongCollectionField_Correct.xml"
+"..\databases\landmarks\XML_Files\Tp43EncodeOutputErrorScenario4_Correct.xml"-"c:\system\test\TestData\Tp43EncodeOutputErrorScenario4_Correct.xml"
+"..\databases\landmarks\XML_Files\Tp43EncodeOutputErrorScenario5_Correct.xml"-"c:\system\test\TestData\Tp43EncodeOutputErrorScenario5_Correct.xml"
+
+"..\databases\landmarks\XML_Files\Tp43EncodeOutput_Correct.gpx"-"c:\system\test\TestData\Tp43EncodeOutput_Correct.gpx"
+"..\databases\landmarks\XML_Files\Tp43EncodeOutputIncMode_Correct.gpx"-"c:\system\test\TestData\Tp43EncodeOutputIncMode_Correct.gpx"
+"..\databases\landmarks\XML_Files\Tp43EncodeOutputCollectionData1_Correct.gpx"-"c:\system\test\TestData\Tp43EncodeOutputCollectionData1_Correct.gpx"
+"..\databases\landmarks\XML_Files\Tp43EncodeOutputCollectionData2_Correct.gpx"-"c:\system\test\TestData\Tp43EncodeOutputCollectionData2_Correct.gpx"
+"..\databases\landmarks\XML_Files\Tp43EncodeOutputEmptyCollectionData_Correct.gpx"-"c:\system\test\TestData\Tp43EncodeOutputEmptyCollectionData_Correct.gpx"
+"..\databases\landmarks\XML_Files\Tp43EncodeOutputEmptyCollectionData2_Correct.gpx"-"c:\system\test\TestData\Tp43EncodeOutputEmptyCollectionData2_Correct.gpx"
+"..\databases\landmarks\XML_Files\Tp43EncodeOutputLongCollectionField_Correct.gpx"-"c:\system\test\TestData\Tp43EncodeOutputLongCollectionField_Correct.gpx"
+"..\databases\landmarks\XML_Files\Tp43EncodeOutputErrorScenario4_Correct.gpx"-"c:\system\test\TestData\Tp43EncodeOutputErrorScenario4_Correct.gpx"
+"..\databases\landmarks\XML_Files\Tp43EncodeOutputErrorScenario5_Correct.gpx"-"c:\system\test\TestData\Tp43EncodeOutputErrorScenario5_Correct.gpx"
+
+;XML files needed in TP52
+"..\databases\landmarks\XML_Files\Tp52QuotedXMLTag1.xml"-"c:\system\test\TestData\Tp52QuotedXMLTag1.xml"
+"..\databases\landmarks\XML_Files\Tp52QuotedXMLTag1.gpx"-"c:\system\test\TestData\Tp52QuotedXMLTag1.gpx"
+
+;XML files needed in TP45
+"..\databases\landmarks\XML_Files\TP45-DefOptions.xml"-"c:\system\test\TestData\TP45-DefOptions.xml"
+"..\databases\landmarks\XML_Files\TP45-IncCategories.xml"-"c:\system\test\TestData\TP45-IncCategories.xml"
+"..\databases\landmarks\XML_Files\TP45-ExcCategories.xml"-"c:\system\test\TestData\TP45-ExcCategories.xml"
+"..\databases\landmarks\XML_Files\TP45-OneLandmark.xml"-"c:\system\test\TestData\TP45-OneLandmark.xml"
+"..\databases\landmarks\XML_Files\TP45-TwoLandmarks.xml"-"c:\system\test\TestData\TP45-TwoLandmarks.xml"
+"..\databases\landmarks\XML_Files\TP45-TwoLandmarksWithCollData.xml"-"c:\system\test\TestData\TP45-TwoLandmarksWithCollData.xml"
+
+;XML file with all the landmarks in the generated datanase
+"..\databases\landmarks\XML_Files\AllGeneratedLandmarks.xml"-"c:\system\test\TestData\AllGeneratedLandmarks.xml"
+
+;XML file with needed by TP53
+"..\databases\landmarks\XML_Files\TP53-CategoriesNotInDb.xml"-"c:\system\test\TestData\TP53-CategoriesNotInDb.xml"
+"..\databases\landmarks\XML_Files\TP53-OneLandmark.xml"-"c:\system\test\TestData\TP53-OneLandmark.xml"
+"..\databases\landmarks\XML_Files\TP53-Categories.xml"-"c:\system\test\TestData\TP53-Categories.xml"
+"..\databases\landmarks\XML_Files\TP53-Category.xml"-"c:\system\test\TestData\TP53-Category.xml"
+"..\databases\landmarks\XML_Files\TP53-GlobalCategory.xml"-"c:\system\test\TestData\TP53-GlobalCategory.xml"
+"..\databases\landmarks\XML_Files\TP53-LandmarksOneCategory.xml"-"c:\system\test\TestData\TP53-LandmarksOneCategory.xml"
+"..\databases\landmarks\XML_Files\TP53-LandmarkCategories.xml"-"c:\system\test\TestData\TP53-LandmarkCategories.xml"
+"..\databases\landmarks\XML_Files\TP53-LandmarksCategories.xml"-"c:\system\test\TestData\TP53-LandmarksCategories.xml"
+"..\databases\landmarks\XML_Files\TP53-Compact.xml"-"c:\system\test\TestData\TP53-Compact.xml"
+
+;XML files needed in TP49
+"..\databases\landmarks\XML_Files\Tp49ImportInput.xml"-"c:\system\test\TestData\Tp49ImportInput.xml"
+"..\databases\landmarks\XML_Files\Tp49ImportInputSyntaxError.xml"-"c:\system\test\TestData\Tp49ImportInputSyntaxError.xml"
+
+;XML files needed in TP55
+"..\databases\landmarks\XML_Files\TP55-DiskFullDuringExportImport.xml"-"c:\system\test\TestData\TP55-DiskFullDuringExportImport.xml"
+
+;XML files needed in TP56
+"..\databases\landmarks\XML_Files\TP56-LandmarksFromThreeDatabases.xml"-"c:\system\test\TestData\TP56-LandmarksFromThreeDatabases.xml"
+
+;XML files needed in TP76
+"..\databases\landmarks\corrupt_EPOSLMGLOBALCATEGORIES.R06"-"c:\system\test\TestData\corrupt_EPOSLMGLOBALCATEGORIES.R06"
+
+;Invalid database file needed in TP118
+"..\databases\landmarks\TP118HALFLMDB_2.LDB"-"c:\system\test\TestData\TP118HALFLMDB_2.LDB"
+
+;File used in TP100
+"..\databases\landmarks\XML_Files\TP100-LandmarksFromThreeDatabases.xml"-"c:\system\test\TestData\TP100-LandmarksFromThreeDatabases.xml"
+
+;File used in TP80
+;"..\databases\landmarks\01234567890123456789012345678901234567890123456789012345678901234567890123456789_COMPOSITEEPOSLM.LDB"-"c:\system\test\TestData\01234567890123456789012345678901234567890123456789012345678901234567890123456789_COMPOSITEEPOSLM.LDB"
+
+;File used in TP105
+"..\databases\landmarks\tp105_eposlmdefaultdbname.R06"-"c:\system\test\TestData\tp105_eposlmdefaultdbname.R06"
+"..\databases\landmarks\tp105_eposlmdefaultdbname.R01"-"c:\system\test\TestData\tp105_eposlmdefaultdbname.R01"
+
+; Databases used for multi searching
+"..\databases\landmarks\EPOSLM_020.LDB"-"c:\system\test\testdata\EPOSLM_020.LDB"
+"..\databases\landmarks\EPOSLM_040.LDB"-"c:\system\test\testdata\EPOSLM_040.LDB"
+"..\databases\landmarks\EPOSLM_060.LDB"-"c:\system\test\testdata\EPOSLM_060.LDB"
+"..\databases\landmarks\EPOSLM_080.LDB"-"c:\system\test\testdata\EPOSLM_080.LDB"
+"..\databases\landmarks\EPOSLM_105.LDB"-"c:\system\test\testdata\EPOSLM_105.LDB"
+
+"..\databases\landmarks\eposlm_1000_LMs.ldb"-"c:\system\test\testdata\eposlm_1000_LMs.ldb"
+"..\databases\landmarks\eposlm_5000_LMs.ldb"-"c:\system\test\testdata\eposlm_5000_LMs.ldb"
+
+;File used in TP136
+"..\databases\landmarks\XML_Files\TP136.xml"-"c:\system\test\TestData\TP136.xml"
+"..\databases\landmarks\XML_Files\TP136.gpx"-"c:\system\test\TestData\TP136.gpx"
+
+;File used in TP137
+"..\databases\landmarks\XML_Files\TP137.xml"-"c:\system\test\TestData\TP137.xml"
+"..\databases\landmarks\XML_Files\TP137.gpx"-"c:\system\test\TestData\TP137.gpx"
+
+;Files needed for Tp18
+"..\databases\landmarks\TP18Test.ldb"-"c:\system\test\TestData\TP18Test.ldb"
+"..\databases\landmarks\TP18Test1.ldb"-"c:\system\test\TestData\TP18Test1.ldb"
+
+;Files needed for Tp133
+"..\databases\landmarks\TP133Test.ldb"-"c:\system\test\TestData\TP133Test.ldb"
+
+;Files needed for Tp132
+"..\databases\landmarks\TP132Test.ldb"-"c:\system\test\TestData\TP132Test.ldb"
+
+
+;Files needed for Tp161
+"..\databases\landmarks\TP161Test.ldb"-"c:\system\test\TestData\TP161Test.ldb"
+
+;Files needed for Tp162
+"..\databases\landmarks\TP162Test.ldb"-"c:\system\test\TestData\TP162Test.ldb"
+
+;Files needed for Tp163
+"..\databases\landmarks\TP163Test.ldb"-"c:\system\test\TestData\TP163Test.ldb"
+
+;Files needed for Tp164
+"..\databases\landmarks\TP164Test.ldb"-"c:\system\test\TestData\TP164Test.ldb"
+
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/group/LandmarkTestModule_5_0.sis has changed
Binary file landmarks/locationlandmarks/tsrc/LandmarkTestModule/group/LandmarkTestModule_5_0.sisx has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/group/LandmarkTests_gnumakefile.mk	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,89 @@
+#
+# Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#     Top makefile for Poison functiontests
+#
+
+# runs after 'abld makefile'
+MAKMAKE:
+        @echo *** DEBUG: MAKMAKE ${PLATFORM} ${CFG} ${TO_ROOT}
+
+# runs after 'abld library'
+LIB:
+        @echo *** DEBUG: LIB ${PLATFORM} ${CFG} ${TO_ROOT}
+
+# runs after 'abld resource'
+RESOURCE:
+        @echo *** DEBUG: RESOURCE ${PLATFORM} ${CFG} ${TO_ROOT}
+
+# runs after 'abld target'
+BLD:
+        @echo *** DEBUG: BLD ${PLATFORM} ${CFG} ${TO_ROOT}
+
+# runs after 'abld final'
+ifeq ($(PLATFORM),WINS)
+FINAL: COPY_TESTDATA
+        @echo *** DEBUG: FINAL ${PLATFORM} ${CFG} ${TO_ROOT}
+else
+ifeq ($(PLATFORM),WINSCW)
+FINAL: COPY_TESTDATA
+		@echo *** DEBUG: FINAL ${PLATFORM} ${CFG} ${TO_ROOT}
+#Create c:\resource directory
+		-@mkdir \EPOC32\${PLATFORM}\c\resource
+else
+FINAL:
+        @echo *** DEBUG: FINAL ${PLATFORM} ${CFG} ${TO_ROOT}
+endif
+endif
+
+# runs when called from
+COPY_TESTDATA:
+#         Create testdata directory if it does not exist
+		-@mkdir \EPOC32\winscw\c\system\TEST\TestData
+		@echo Copying all testdata files needed by LandmarkTests, copy to ${PLATFORM} $(CFG)
+
+#        Copy all landmarks databases to testdata
+
+		copy ..\databases\landmarks\* \EPOC32\winscw\c\system\TEST\TestData
+
+		copy ..\databases\landmarks\XML_files\*  \EPOC32\winscw\c\system\TEST\TestData
+
+		@echo *** DEBUG: COPY_TESTDATA ${PLATFORM} ${CFG} ${TO_ROOT}
+		@echo ......Done copying
+
+# ???
+RELEASABLES:
+		@echo *** DEBUG: RELEASABLES ${PLATFORM} ${CFG} ${TO_ROOT}
+
+# runs after clean operations
+CLEAN:
+		@echo *** DEBUG: CLEAN ${PLATFORM} ${CFG} ${TO_ROOT}
+
+# runs after clean operations
+CLEANLIB:
+		@echo ***  DEBUG:CLEANLIB ${PLATFORM} ${CFG} ${TO_ROOT}
+
+# only runs during 'abld freeze'
+FREEZE:
+		@echo *** DEBUG: FREEZE ${PLATFORM} ${CFG} ${TO_ROOT}
+
+# only runs when -savespace is specified.
+SAVESPACE:
+		@echo *** DEBUG: SAVESPACE ${PLATFORM} ${CFG} ${TO_ROOT}
+
+# Generic target. Catches everything else (unknown targets etc.)
+%:
+		@echo *** DEBUG: GENERIC $@ ${PLATFORM} ${CFG} ${TO_ROOT}
+
+# End of File
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/group/bld.inf	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,41 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+// BLD.INF
+// Component description file
+
+PRJ_PLATFORMS
+//WINSCW ARMV5
+DEFAULT
+
+PRJ_EXPORTS
+../init/TestFramework.ini /epoc32/winscw/c/TestFramework/TestFramework.ini
+../conf/LandMarksTestModule1.cfg /epoc32/winscw/c/TestFramework/LandMarksTestModule1.cfg
+
+PRJ_TESTMMPFILES
+../Testprovider/ServerClientLib/group/FT_LmServerClientLibrary.mmp
+../Testprovider/group/FT_DbManPluginsTest.mmp
+LandMarksTestModule.mmp
+gnumakefile LandmarkTests_gnumakefile.mk
+
+PRJ_MMPFILES
+
+
+
+// Specify Extension makefile
+// <keyword (must be gnumakefile for gnu make)>  <makefile name>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/EPos_LandmarksErrors.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,81 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*
+*/
+
+
+#ifndef LANDMARKSERRORS_H
+#define LANDMARKSERRORS_H
+
+// INCLUDES
+#include <e32base.h>
+#include <e32def.h>
+
+// CONSTANTS
+_LIT(KPosLandmarksClientPanic,"Landmarks Client");
+
+/**
+ * Landmarks panic codes
+ *
+ */
+enum TPositionLandmarksClientPanic
+    {
+    EPosInvalidPositionFieldId                  = 0
+    /** A client has specified a position field ID that is invalid for
+        the landmark. */,
+    EPosNoneOrMultipleLandmarkAttributeSet      = 1
+    /** A client has specified none or multiple landmark attributes. */,
+    EPosSpecifiedIntervalLiesOutsideIteratedSet = 2
+    /** A client has specified an interval that lies partially outside the
+        iterated set. */,
+    EPosNaNCoordinate                           = 3
+    /** A client has specified a coordinate with latitude and/or longitude set
+        to NaN. */,
+    EPosInvalidLandmarkAttribute                = 4
+    /** A client has specified a landmark attribute that is invalid. */,
+    EPosInvalidValueSpecifiedInResourceFile     = 5
+    /** An invalid value has been detected in a resource file. */,
+    EPosInvalidPartialReadParameters            = 6
+    /** Invalid partial read parameters have been detected. */,
+    EPosInvalidRequestedPositionFields          = 7
+    /** Invalid requested position fields have been detected. */,
+    EPosNegativeValue                           = 8
+    /** A negative value has been detected. */,
+    EPosInvalidOperationMode                    = 9
+    /** Invalid operation mode. Caused by mixed calls to NextStep and ExecuteL
+        for an CPosLmOperation object or subsequent calls to NextStep. */,
+    EPosInvalidEnumValue                        = 10
+    /** Invalid enum value. */,
+    EPosLmProtocolBreak                         = 11
+    /** The protocol of CPosLandmarkEncoder/CPosLandmarkParser is not
+        followed. */,
+    EPosLmInvalidArgument                       = 12
+    /** A client has passed an invalid argument. */,
+    EPosInvalidIndex                            = 14
+    /** A client has specified an invalid index. */,
+    EPosInvalidItemType                         = 15
+    /** A client has specified an invalid item type. */,
+    EPosSearchOperationInUse                    = 16
+    /** A client has tried to set/unset display data during an ongoing search.
+        */
+    };
+
+// FUNCTION PROTOTYPES
+IMPORT_C GLDEF_C void Panic(const TDesC& aCategory, TInt aReason);
+
+#endif      // LANDMARKSERRORS_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CAreaSearchResult.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,99 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+
+#ifndef CAREASEARCHRESULT_H
+#define CAREASEARCHRESULT_H
+
+//  INCLUDES
+#include <e32base.h>
+#include <EPos_CPosLandmark.h>
+
+#include "Ft_CSearchResultBase.h"
+
+
+
+class CAreaSearchResult : public CSearchResultBase
+    {
+
+    public:  // Constructors and destructor
+        
+         /**
+        * Two-phased constructor.
+        */
+        static CAreaSearchResult* NewL(const TDesC& aDes); 
+
+        /**
+        * Destructor.
+        */
+        ~CAreaSearchResult();
+        
+    public: 
+
+        TReal64 SouthLat() const;
+
+        TReal64 NorthLat() const;
+        
+        TReal64 WestLong() const;
+        
+        TReal64 EastLong() const;
+
+        TInt ErrorCode() const;
+
+        void Print(TDes& aDes);
+
+    private: 
+        
+        CAreaSearchResult();
+
+        void ConstructL(const TDesC& aDes);
+        
+
+    private:
+
+         // By default, prohibit copy constructor
+        CAreaSearchResult(const CAreaSearchResult&);
+        // Prohibit assigment operator
+        CAreaSearchResult& operator=(const CAreaSearchResult&);
+
+    private: // Data
+        
+        enum TValueIndex
+			{
+            ESouthLat           =0,	
+            ENorthLat           =1,	
+            EWestLong           =2,
+            EEastLong           =3,
+            EErrorCode          =4,
+            ERedefined          =5,
+            ESearchResult       =6
+			};
+        
+        TInt        iErrorCode;
+        
+        TReal64     iSouthLat;
+        TReal64     iNorthLat;
+        TReal64     iWestLong;
+        TReal64     iEastLong;
+
+    };
+
+#endif      // CAREASEARCHRESULT_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CCategoryLandmarkSearchResult.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,93 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+
+#ifndef CCategoryLandmarkSearchResult_H
+#define CCategoryLandmarkSearchResult_H
+
+//  INCLUDES
+#include <e32base.h>
+#include <EPos_CPosLandmark.h>
+
+#include "Ft_CSearchResultBase.h"
+
+
+
+class CCategoryLandmarkSearchResult : public CSearchResultBase
+    {
+
+    public:  // Constructors and destructor
+        
+         /**
+        * Two-phased constructor.
+        */
+        static CCategoryLandmarkSearchResult* NewL(const TDesC& aDes); 
+
+        /**
+        * Destructor.
+        */
+        ~CCategoryLandmarkSearchResult();      
+
+    public: 
+
+         TPtrC CategoryName() const;
+
+         TPosLmItemId CategoryId() const;
+        
+         const RArray<TUint>& PositionFields() const;
+
+    private: 
+        
+        CCategoryLandmarkSearchResult();
+
+        void ConstructL(const TDesC& aDes);
+        
+
+    private:
+
+         // By default, prohibit copy constructor
+        CCategoryLandmarkSearchResult(const CCategoryLandmarkSearchResult&);
+        // Prohibit assigment operator
+        CCategoryLandmarkSearchResult& operator=(const CCategoryLandmarkSearchResult&);
+
+        
+
+        void Print();
+        
+        
+        
+    private: // Data
+        
+        enum TValueIndex
+			{
+            ECategoryName           =0,	
+            ECategoryId             =1,	
+            ELmSearchResult         =2,
+            ERedefined              =3
+			};
+        
+        HBufC*                      iCategoryName;
+        RArray<TUint>               iPositionFields;
+        TPosLmItemId                iCategoryId;
+        
+    };
+
+#endif      // CCategorySearchResult_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CCategorySearchResult.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,88 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CCategorySearchResult_H
+#define CCategorySearchResult_H
+
+//  INCLUDES
+#include <e32base.h>
+#include <EPos_CPosLandmark.h>
+
+#include "Ft_CSearchResultBase.h"
+
+
+
+class CCategorySearchResult : public CSearchResultBase
+    {
+
+    public:  // Constructors and destructor
+        
+         /**
+        * Two-phased constructor.
+        */
+        static CCategorySearchResult* NewL(const TDesC& aDes); 
+
+        /**
+        * Destructor.
+        */
+        ~CCategorySearchResult();      
+
+    public: 
+
+         TPtrC TextCriteria() const;
+        
+         const RArray<TUint>& PositionFields() const;
+
+    private: 
+        
+        CCategorySearchResult();
+
+        void ConstructL(const TDesC& aDes);
+        
+
+    private:
+
+         // By default, prohibit copy constructor
+        CCategorySearchResult(const CCategorySearchResult&);
+        // Prohibit assigment operator
+        CCategorySearchResult& operator=(const CCategorySearchResult&);
+
+        void ParsePositionFields(const TDesC& aDes);
+
+        void Print();
+        
+        TBool Equals32(const TReal aValue1, const TReal aValue2, const TReal aAccuracy);
+        
+    private: // Data
+        
+        enum TValueIndex
+			{
+            ETextCriteria           =0,	
+            ELmSearchResult         =1,
+            ERedefined              =2
+			};
+        
+        HBufC*                      iTextCriteria;
+        RArray<TUint>               iPositionFields;
+        
+    };
+
+#endif      // CCategorySearchResult_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CCompositeSearchResult.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,168 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CCOMPOSITESEARCHRESULT_H
+#define CCOMPOSITESEARCHRESULT_H
+
+//  INCLUDES
+#include <e32base.h>
+#include <f32file.h>
+#include "Ft_CSearchResultBase.h"
+#include <StifLogger.h>
+
+
+class CPosLmCompositeCriteria;
+// CONSTANTS
+
+
+class CCompositeSearchResult : public CSearchResultBase
+    {
+
+    public:  // Constructors and destructor
+        
+         /**
+        * Two-phased constructor.
+        */
+        static CCompositeSearchResult* NewL(CStifLogger* aLog); 
+
+        /**
+        * Destructor.
+        */
+        ~CCompositeSearchResult();
+        
+    public: 
+
+        TBool GetCompositeSearchResultsL(CPosLmCompositeCriteria& aComposite);
+
+        //RArray<TPosLmItemId>& GetSearchResult();
+
+    public: // data
+        RArray<TPosLmItemId>        iResultIds;
+
+        TReal64     iSouthLat;
+        TReal64     iNorthLat;
+        TReal64     iWestLong;
+        TReal64     iEastLong;
+
+    private: 
+        
+        CCompositeSearchResult();
+
+        void ConstructL(CStifLogger* aLog);
+
+        TInt ReadLn(RFile& aFile, TDes& aDes);
+
+        void ParseAreaL(const TDesC& aDes);
+
+        void ParseTextL(const TDesC& aDes);
+
+        void ParseCategoryL(const TDesC& aDes);
+
+        void ParseNearestL(const TDesC& aDes);
+
+        void ParseIdListL(const TDesC& aDes);
+
+        void ParseResultL(const TDesC& aDes);
+        
+        void ExtractIdFields(const TDesC& aDes, RArray<TUint>& aList);
+
+    private:
+
+         // By default, prohibit copy constructor
+        CCompositeSearchResult(const CCompositeSearchResult&);
+        // Prohibit assigment operator
+        CCompositeSearchResult& operator=(const CCompositeSearchResult&);
+
+    private: // Data
+        
+        enum TAreaValueIndex
+			{
+            ESouthLat           =1,	
+            ENorthLat           =2,	
+            EWestLong           =3,
+            EEastLong           =4,
+			};
+
+        enum TCategoryValueIndex
+			{
+            ECategoryName       =1,	
+            ECategoryId         =2,	
+			};
+
+        enum TTextValueIndex
+			{
+            ETextCriteria       =1,	
+            EAttributes         =2,	
+            EPositionFields     =3,
+			};
+
+        enum TNearestValueIndex
+			{
+            ELatitude           =1,	
+            ELongitude          =2,	
+            EUseCoverageRadius  =3,
+            EMaxDistance        =4,
+			};
+
+        enum TIdListValueIndex
+			{
+            ELmIdList           =1,
+			};
+
+        enum TResultValueIndex
+			{
+            ELmResultIdList     =1,
+            ERedefined          =2
+			};        
+
+
+        // Test log, used for debug text
+		CStifLogger* iLog;
+
+        RFs   iFileSession;
+        RFile iFile;
+
+        HBufC*                  iTextCriteria;
+        HBufC*                  iCategoryName;
+        TInt                    iCategoryId;
+
+        CPosLandmark::TAttributes iTextAttributes;
+
+        RArray<TUint>               iIdList;
+        RArray<TUint>               iPositionList;
+
+        TReal64     iLatitude;
+        TReal64     iLongitude;
+        TBool       iUseCoverageRadius;
+        TReal32     iMaxDistance;
+
+        TBool iTextEnabled;
+        TBool iAreaEnabled;
+        TBool iNearestEnabled;
+        TBool iCategoryEnabled;
+        TBool iIdListEnabled;
+
+        TInt        iTestCounter;
+
+    };
+
+#endif      // CCompositeSearchResult_H
+            
+// End of File
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CLandmarkTestProcedureBase.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,523 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CLANDMARKTESTPROCEDUREBASE_H
+#define CLANDMARKTESTPROCEDUREBASE_H
+
+//  INCLUDES
+//#include <utfw.h>
+#include <w32std.h>
+#include <e32def.h>
+#include <ss_std.h>
+
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLmDatabaseManager.h>
+#include <EPos_CPosLmOperation.h> 
+#include <EPos_CPosLandmarkSearch.h>
+#include <EPos_CPosLmMultiDbSearch.h>
+
+#include "FT_CSearchResult.h"
+#include "FT_CAreaSearchResult.h"
+#include "FT_CCategorySearchResult.h"
+#include "FT_CCategoryLandmarkSearchResult.h"
+
+#include <StifLogger.h>
+#include <StifItemParser.h>
+
+// Global category IDs as defined by Global Category API specification
+// Global category identifier when used for searching
+const TInt KAccommodation     = 3000; //Hotel, Camping site
+const TInt KBusiness	      = 6000;  //Bank, Factory, Office
+const TInt KCommunication     = 9000;  //Internet Access Point, Public Telephone, Wireless LAN Hot Spot
+const TInt KEducational	      = 12000;//	School, College
+const TInt KEntertainment     = 15000;//	Amusement park, Cinema, Concert hall, Night club
+const TInt KFoodBeverage      = 18000;	//Fast food, Restaurant, Café, Bar
+const TInt KGeographicalArea  = 21000;//City, City center, Town
+const TInt KOutdoorActivities = 24000; //Camping site, Fishing place, Hunting, National park, Playground
+const TInt KPeople	          = 27000;// My home, My friend's home, Father's summer cottage, Child's school
+const TInt KPublicService	  = 30000; //Tourist information office, Government office, Library, Post office, Hospital, Police
+const TInt KReligiousPlaces   = 33000; //Church, Mosque
+const TInt KShopping	      = 36000; //Market place, Pharmacy, Shop, Shopping center
+const TInt KSightseeing	      = 39000; //Monument, Mountain top, Museum
+const TInt KSports	          = 42000	; //Bowling, Golf course, Ice hockey hall, Stadium
+const TInt KTransport         =	45000; //Airport, Bus stop, Harbor, Railway station, Rest area
+
+// CONSTANTS
+_LIT(KAccessErr, "Access methods should return 'Not initialized' when db has been created");
+_LIT(KInitErr, "Method InitializedNeeded should return ETrue after db has been created");
+_LIT8(KLmxMimeType, "application/vnd.nokia.landmarkcollection+xml");
+_LIT8(KGpxMimeType, "application/gps+xml");
+_LIT8(KKmlMimeType,"application/vnd.google-earth.kml+xml");
+_LIT8(KKmzMimeType,"application/vnd.google-earth.kmz");
+_LIT(KLmxFileExt,".lmx");
+_LIT(KGpxFileExt,".gpx");
+_LIT(KXmlFileExt,".xml");
+
+const TInt KMsgBufSize = 255;
+const TInt KMaxLineLength = 1024;
+
+// FORWARD DECLARATIONS
+class CPosLmMultiDbSearch;
+class CPosLmSearchCriteria;
+
+// DATA TYPES
+typedef RArray<TPosLmItemId> RIdArray;
+
+// CLASS DECLARATION
+class CPosLandmarkCategory;
+class CActiveLmOperation;
+
+class CLandmarkTestProcedureBase :public CBase
+    {
+    public:  // Constructors and destructor
+
+        /**
+        * C++ default constructor.
+        */
+        CLandmarkTestProcedureBase(TInt aModuleId, CStifLogger* iLog );
+
+        /**
+        * Destructor.
+        */
+        ~CLandmarkTestProcedureBase();
+        
+        /**
+        * Initialises the test.
+        * By default does nothing.
+        */
+        virtual void InitTestL();
+
+        /**
+        * Executes the test.
+        * By default does nothing.
+        */
+        virtual void StartL();
+
+        /**
+        * Executes the test.
+        * By default does nothing.
+        */
+        virtual void StartL( CStifItemParser& ) {};
+
+        /**
+        * Cleans up after a test.
+        * Always called, even if the test leaves.
+        * By default does nothing.
+        */
+        virtual void CloseTest();
+   
+
+    public: // Functions from base classes
+
+        
+       static TInt ReadLn(RFile& aFile, TDes& aDes);
+       
+       static void ResetAndDestroyHBufCArray( TAny* aPointer );
+
+    protected: // New functions
+
+        static void Trace(TBuf8<KMsgBufSize> msg) ;
+        
+        /**
+        * Removes the default landmark database if exists
+        */
+        void RemoveDefaultDbL();
+        
+        /**
+        * Removes all existing landmark databases
+        */
+        void RemoveAllLmDatabasesL();
+
+        /**
+        * Compare two landmarks.
+        * Should only be used when they are expected to be equal.
+        */
+        void CompareLandmarksL(const CPosLandmark& aSource, const CPosLandmark& aTarget);
+
+        /**
+        * Compare two categories.
+        * Should only be used when they are expected to be equal.
+        */
+        void CompareCategoriesL(
+                        const TPosLmItemId& aSourceId, 
+                        const TPosLmItemId& aTargetId);
+
+        void CompareCategoriesL(
+                        const CPosLandmarkCategory& aSource, 
+                        const CPosLandmarkCategory& aTarget);
+
+
+        TInt CompareXMLCategoriesL(
+                        const CPosLandmarkCategory& aSource, 
+                        const CPosLandmarkCategory& aTarget, TBool aDebug=EFalse);
+
+        TInt CompareXMLLandmarksL(const CPosLandmark& aSource, const CPosLandmark& aTarget, TBool aDebug=EFalse);
+    
+        /**
+        * Creates a caategory with all attributes set
+        * @param the category name
+        */
+        CPosLandmarkCategory* CreateCategoryLC(const TDesC& aName);
+    
+        /**
+        * Creates a landmarks with all attributes set
+        * @param the landmark name
+        */
+        CPosLandmark* CreateLandmarkLC(const TDesC& aName);
+
+        /**
+        * Opens the landmarks database and initializes it if necearry
+        * @return the landmarks database
+        */
+        CPosLandmarkDatabase* OpenDatabaseLC();
+
+        /**
+        * Creates a category and adds it to the database
+        * @return the category id
+        */
+        TPosLmItemId CreateCategoryL(const TDesC& aName);
+
+        /**
+        * Adds some fields to a landmark
+        * @param the landmark
+        */
+        void AddFieldsL(CPosLandmark* aLandmark);
+        
+        void AddFields2L(CPosLandmark* aLandmark);
+        
+        void AddFields3L(CPosLandmark* aLandmark);
+
+        TInt CompareL(const TDesC& aFileName);
+
+        TInt CompareL(const TDesC& aSourceFileName, const TDesC& aTargetFileName);
+
+        /*
+        * Create landmark with name, coordinate, coverage radius, icon set
+        */
+        CPosLandmark* CreateXMLLandmarkLC(const TDesC& aName);
+
+
+        /**
+        * Add all fields to a landmark that is encoded to XML
+        */
+        void AddAllXMLFieldsL(CPosLandmark* aLandmark);
+
+        /**
+        * Add all fields to a landmark that is encoded to XML
+        * All fields are empty (_L(""))
+        */
+        void AddAllEmptyXMLFieldsL(CPosLandmark* aLandmark);
+
+        /**
+        * Writes the content of the buffer to the specified file
+        * Removes the file if allready exists
+        */
+        void WriteBufferToFileL(const CBufBase* aBuffer, const TDesC& aFileName);
+        
+        void CheckDefaultDbExistL();
+
+        CPosLandmarkDatabase* BackupDbFileL();
+
+        CPosLandmarkDatabase* RestoreDbFileL();
+
+        void CopyDbFileL(const TDesC& aFileName);
+        
+        void CopyTestDbFileL(const TDesC& aFileName);
+
+        CPosLandmarkDatabase* UseGeneratedDbFileL();
+
+        /**
+        * Copy the landmarks db used for composite testing
+        * to correct path
+        */
+        CPosLandmarkDatabase* UseCompositeLandmarksDbFileL();
+
+        CPosLandmarkDatabase* UseGlobalCategoriesL();
+
+        CPosLandmarkDatabase* UseEmptyDbFileL();
+
+        void RemoveGlobalCategoriesL();
+
+        void AppendSearchResultsL();
+
+        void AppendAreaSearchResultsL();
+
+        void AppendCategoryLandmarkSearchResultsL();
+
+        void AppendCategorySearchResultsL();
+
+        const RPointerArray<CSearchResult>& SearchResults();
+
+        const RPointerArray<CAreaSearchResult>& AreaSearchResults();
+    
+        void PrintLandmark(const CPosLandmark& aLandmark, TDes& aPrint);
+        
+        void LandmarksSortL(RArray<TPosLmItemId>& aArray, const TPosLmSortPref& aSortPref);
+
+        void CategoriesSortL(RArray<TPosLmItemId>& aArray, CPosLmCategoryManager::TCategorySortPref aSortPref);
+
+        void LogToFileL(const TDesC& aFileName, TBuf8<KMsgBufSize> aMsg);
+        
+        void RunAsyncOperationLD(CPosLmOperation* aOperation);
+        
+        void RunAsyncOperationL(CPosLmOperation* aOperation);
+
+        void RunAsyncOperationByWaitForReqL(CPosLmOperation* aOperation);
+
+        void RunAsyncOperationAndCancelLD(CPosLmOperation* aOperation);
+
+        void RunAsyncOperationAndCancelInCallbackLD(CPosLmOperation* aOperation, TReal32 aThreshold = 0.3);
+
+        /**
+        * Deletes a file from the file system
+        * @aFile the file name
+        */
+		void DeleteFileL(const TDesC& aFile);
+
+        /**
+        * Makes sure that the empty file ErrRd is created in c:\system\bootdata 
+        * if it is not already created. Should be called by all panic tests 
+        * before any panic occurs.
+        */
+        void MakeSurePanicDebugFileExistsL();
+
+        /**
+        * Used as a callback method to cancel a operation after some 
+        * steps have been executed.
+        * @param self
+        */
+        TInt static CancelTest(TAny* aSelf);
+
+        void AssertTrueSecL(TBool aCondition, const TDesC& aErrorMsg, TInt aErrorCode=KErrGeneral);
+
+        /**
+        * Checks if the server with name aServerName is alive
+        */
+        TBool ServerAlive(const TDesC& aServerName);
+        
+        CDesCArray* ListLandmarkDbsL();
+   
+        void ReadGlobalCategoriesFromResourceL(
+        		RArray<TUint>& aCatIds, 
+        		RPointerArray<HBufC>& aCatNames,
+        		TInt aMaxNum = 0);
+        
+        void CreateCorrectXmlFileL( const TDesC& aSampleFile, TFileName& aFileName );
+        
+        HBufC* GetGlobalCategoryFromResourceLC( TPosLmGlobalCategory aGlobalId );
+        
+        HBufC* ReadDefaultDatabaseNameFromResourceLC();
+        
+        /**
+        * Escapes the string with characters not supported in XML.
+        *
+        * @param aStrToEscape The string to escape.
+        * @return An escaped string.
+        */
+         HBufC* EscapeStringToXmlLC(
+        /* IN */        const TDesC& aStrToEscape
+        );
+
+         void EscapeString(
+        /* IN/OUT */    TDes& aStrToEscape,
+        /* IN */        const TDesC& aFromStr,
+        /* IN */        const TDesC& aToStr
+        );
+        
+         TInt CalculateEscapedStringSize(
+        /* IN */        const TDesC& aStrToEscape
+        );
+
+         TInt CalculateIncrease(
+        /* IN */        const TDesC& aStrToEscape,
+        /* IN */        const TDesC& aFromStr,
+        /* IN */        const TDesC& aToStr
+        );
+
+
+    public:
+
+        //RWsSession              iWs;
+        TInt                    iModuleId;
+
+    protected:  // Data
+
+        class COnTheFlyTester : public CActive
+            {
+            public:
+            
+                static COnTheFlyTester* NewLC();
+                ~COnTheFlyTester();
+                void StartSearchCampaignL(
+                    CPosLmMultiDbSearch* aSearcher,
+                    const RIdArray& aExpectedMatches,
+                    CPosLmSearchCriteria* aSearchCriteria);
+                TInt Err() {return iErr;}
+                void GetErrMsg(TPtrC& aErrMsg) {aErrMsg.Set(iBuf);}
+                
+            protected:
+            
+                void RunL();
+                void DoCancel();
+                TInt RunError(TInt aError);
+                
+            private:
+            
+                COnTheFlyTester();
+                void VerifyOnTheFlyDataL(TBool aIsFinished = EFalse);
+                
+            private: // Data
+            
+                CPosLmMultiDbSearch*    iSearcher;
+                TInt                    iErr;
+                TInt                    iNrOfOldItems;
+                CPosLmOperation*        iOperation;
+                TReal32                 iProgress;
+                CPosLmDisplayData*      iDisplayData;
+                TBuf<200>               iBuf;
+                const RIdArray*         iExpectedMatches;
+                                
+            };
+
+        enum TExecutionMode
+            {
+            ESynchronous = 0,
+            EAsynchronous,
+            EWaitForRequest
+            };
+
+        const TTimeIntervalMicroSeconds32 KFirstDelayTime;
+        const TTimeIntervalMicroSeconds32 KIntervalTime;        
+ 
+        CPosLandmarkDatabase*   iDatabase;
+        CPosLandmarkSearch*     iLandmarkSearch;
+        CPosLmMultiDbSearch*    iLmMultiSearch;
+        
+        // Search
+        RPointerArray<CSearchResult>        iSearchResults;
+        RPointerArray<CAreaSearchResult>    iAreaSearchResults;
+        RPointerArray<CCategoryLandmarkSearchResult>   iCategoryLandmarkSearchResults;
+        RPointerArray<CCategorySearchResult>   iCategorySearchResults;
+
+        CPosLmOperation*        iOperation;
+        // Use this method when using CActiveLmOperation class from multiple threads
+        // this is due to that it is not possible to use the iLog from different threads
+        // set to ETrue is used from multiple threads
+        
+        TBool               iUseLogFromThreadIsDisabled;
+        CStifLogger* iLog; 
+        RFs          iFileSession;
+    private:    // Data
+        
+        //TUint                   iCallbacks;
+    
+       
+    };
+
+class MProgressObserver
+    {
+    public: // New functions
+
+        /**
+        * Notifies the progress of the execution of a CPosLmOperation object.
+        *
+        * @param sProgress the progress of the operation
+        */
+        virtual void NotifyProgress(TReal aProgress) = 0;
+
+    };
+
+class CActiveLmOperation : public CActive
+    {
+    public:
+        
+        /**
+        * C++ constructor.
+        */
+        CActiveLmOperation(
+            CStifLogger* aLog, 
+            TBool aUseLogFromThreadIsDisabled = EFalse,
+            TReal32 aThreshold = 0.3);
+        
+        /**
+        * Destructor.
+        */
+        ~CActiveLmOperation();
+
+    public: 
+        
+        void Start(CPosLmOperation* aOperation, MProgressObserver* aObserver = NULL);    
+        
+        void CheckOperationL();
+
+        void DeleteOperationD();
+
+        TInt Status() const;
+
+        TReal Progress() const;
+        
+        CPosLmOperation* Operation();
+
+        void SetCancelTest();
+        
+        TReal32 Threshold();
+        
+        TReal32 DeltaProgress();
+
+        /**
+        * From CActive
+        * Handles request completion event.
+        */
+        void DoCancel();
+    
+        /**
+        * From CActive.
+        *
+        * Handles request completion event.
+        */
+        void RunL();
+    
+         
+    private:
+
+        
+    private: // data
+        
+        CPosLmOperation*    iOperation;
+        
+        TReal32             iPassedProgress;
+        TReal32             iLastProgress;
+        TReal32             iDeltaProgress;
+        TReal32             iThreshold;
+
+        TBool               iAsyncProgressErr;
+        TBool               iPassedProgressErr;
+
+        TBool               iCancelTest;
+
+        TBool               iUseLogFromThreadIsDisabled;
+
+        MProgressObserver*  iObserver;     
+        CStifLogger*        iLog;   
+    };
+
+
+#endif      // CLANDMARKTESTPROCEDUREBASE_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTP26.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,77 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp26_H
+#define CPOSTp26_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 26
+*/
+class CPosTp26 : public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        
+        CPosTp26(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {iGlobalErr = KErrGeneral;iNrSearchRounds=0;};
+        /**
+        * Destructor.
+        */
+        ~CPosTp26() {};
+
+    public: // Functions from base classes
+
+        
+        void CloseTest();
+
+        /**
+        * From CPosTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:    // New functions
+
+        /**
+        * Test to do a iterate landmark search using the CPosLmTextCriteria criteria
+        */
+        void DoLandmarkSearchL(const RPointerArray<CSearchResult>& aSearchResults);
+
+        /**
+        * Test to do a iterate category landmark search using the CPosLmCatNameCriteria criteria
+        */
+        void DoLandmarkCategorySearchL(const RPointerArray<CCategorySearchResult>& aSearchResults);
+
+    private:    // Data
+
+        
+        TInt    iGlobalErr;
+        TInt    iNrSearchRounds;
+    };
+
+#endif      // CPOSTp26_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTP27.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,111 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp27_H
+#define CPOSTp27_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 27
+*/
+class CPosTp27 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp27(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) 
+            {iGlobalErr = KErrNone;iNrSearchRounds=0;iBreakSearch=-1;
+             iCancelOrDelete = EFalse;iHandleOperationDisabled=EFalse;
+             iDebug=ETrue;iProgress=100;};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp27() {};
+
+    public: // Functions from base classes
+
+        /**
+        * From CUtfwTestBase
+        * Retrieves the test module name
+        * @param aName The name of the test module.
+        */
+        void GetName(
+            TDes&   aName
+            ) const;
+
+        /**
+        * From CUtfwTestBase
+        */
+        void CloseTest();
+
+        /**
+        * From CPosTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+        /**
+        * From MPosLmAsyncObserver
+        * Called to report progress of an asynchronous landmarko peration.
+        * @param aOperation The object which handles the asyncronous operation.
+        */
+        void HandleOperationProgress(CPosLmOperation*  aOperation);
+
+
+        static TInt StopActiveSchedulerWait(TAny* aSelf);
+
+    private:    // New functions
+
+        /**
+        * Test to cancel a landmark category search
+        * 
+        */
+        void CancelLandmarkCategorySearch();
+
+        /**
+        * Test to cancel a landmark search
+        * 
+        */
+        void CancelLandmarkSearch();
+
+    private:    // Data
+
+        RFs     iFileServer;
+        RFile   iFile;
+        TInt    iGlobalErr;
+        TInt    iNrSearchRounds;
+        TInt    iBreakSearch;
+        TBool   iCancelOrDelete;
+        TBool   iHandleOperationDisabled;
+        TBool   iDebug;
+        CPeriodic* iPeriodicTimer;
+        TReal32 iProgress;
+
+    };
+
+#endif      // CPOSTp27_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTP28.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,150 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPosTp28_H
+#define CPosTp28_H
+
+//  INCLUDES
+
+#include "FT_CLandmarkTestProcedureBase.h"
+
+class CActiveLmEvent;
+// CLASS DECLARATION
+
+/**
+*  Test procedure 28
+*/
+class CPosTp28 : public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        
+        CPosTp28(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp28() {};
+
+    public: // Functions from base classes
+
+       
+       
+        void CloseTest();
+
+        /**
+        * From CPosTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:    // New functions
+   
+        /**
+        * Test logging of landmark events
+        */
+        void LandmarkEventTest();
+
+        void LandmarkEventQueueTest();
+		
+
+    private:    // Data
+        
+        CActiveLmEvent*         iActiveLmEvent;
+        CPosLmCategoryManager*  iCategoryManager;
+    };
+
+class CActiveLmEvent : public CActive
+    {
+    public:
+        
+        static CActiveLmEvent* NewL(CStifLogger* aLog);
+      
+        /**
+        * Destructor.
+        */
+        ~CActiveLmEvent();
+
+    public: 
+        
+        void Start();    
+
+        /**
+        * From CActive
+        * Handles request completion event.
+        */
+        void DoCancel();
+    
+        /**
+        * From CActive.
+        *
+        * Handles request completion event.
+        */
+        void RunL();
+    
+    private:
+
+         /**
+        * C++ constructor.
+        */
+        CActiveLmEvent(CStifLogger* aLog);
+
+        void ConstructL();
+
+        void VerifyEvent();
+
+        void VerifyMergedEvent();
+
+        void AssertCorrectEvent(TPosLmEventType  aExpectedEventType,
+	                            TPosLmEventType  aEventType,
+    	                        TPosLmItemId aExpectedLandMarkItemId,
+	                            TPosLmItemId aLandMarkItemId);
+
+    private: // data
+
+        friend class CPosTp28;
+
+        CStifLogger*               iLog; 
+        CPosLandmarkDatabase*   iDatabase;
+       
+       
+
+        TPosLmEvent             iEvent;
+        TInt                    iEventNumber;
+        TInt                    iMergedEventNumber;
+        TInt                    iGlobalErr;
+
+        TBool                   iQueueTest;
+
+        TPosLmItemId            iLandmarkId;
+        TPosLmItemId            iLandmarkId2;
+        TPosLmItemId            iLandmarkId3;
+        TPosLmItemId            iLandmarkId4;
+
+        TPosLmItemId            iCategoryId;
+        TPosLmItemId            iCategoryId2;
+        TPosLmItemId            iNonExistingCategoryId;
+        TPosLmItemId            iDeleteCategoryId;
+    };
+
+#endif      // CPosTp28_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTP29.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,110 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp29_H
+#define CPOSTp29_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 29
+*/
+class CPosTp29 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp29() : CLandmarkTestProcedureBase(29) {iGlobalErr = KErrGeneral;};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp29() {};
+
+    public: // Functions from base classes
+
+        /**
+        * From CUtfwTestBase
+        * Retrieves the test module name
+        * @param aName The name of the test module.
+        */
+        void GetName(
+            TDes&   aName
+            ) const;
+
+        /**
+        * From CUtfwTestBase
+        */
+        void CloseTest();
+
+        /**
+        * From CUtfwTestBase
+        */
+        void InitTestL();
+
+        /**
+        * From CPosTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:    // New functions
+
+        void ReInitTestL();
+
+        void TestCriticalLevelL();
+
+        void ConsumeDiscSpace1L(TInt aSizeLimit);
+
+        void ConsumeDiscSpace2L(TInt aSizeLimit);
+
+        void DeleteFile2L();
+
+        void RemoveAllLandmarksL();
+        
+        void DoOutOfDiskTestL(TBool aSync);
+
+        void InitiateCriticalLevelL();
+
+        void CopyResourceFileL(const TDesC& aResourceFile = KNullDesC);
+
+        void TryRestoreResourceFile();
+
+    private:    // Data
+
+        RFs     iFileServer;
+        RFile   iFile1;
+        RFile   iFile2;
+        TInt    iGlobalErr;
+        TInt    iCriticalLevel;
+        TInt    iCriticalThreshold;
+
+        CPosLandmarkDatabase*   iLandmarksDb;
+        CPosLmCategoryManager*  iCategoryManager;
+
+    };
+
+#endif      // CPOSTp29_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTP54.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,107 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp54_H
+#define CPOSTp54_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 54
+*/
+class CPosTp54 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp54() : CLandmarkTestProcedureBase(54) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp54() {};
+
+    public: // Functions from base classes
+
+        /**
+        * From CUtfwTestBase
+        * Retrieves the test module name
+        * @param aName The name of the test module.
+        */
+        void GetName(
+            TDes&   aName
+            ) const;
+
+        /**
+        * From CUtfwTestBase
+        */
+        void CloseTest();
+
+        /**
+        * From CUtfwTestBase
+        */
+        void InitTestL();
+
+        /**
+        * From CPosTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:    // New functions
+
+        /**
+        * Returns the execution time in milliseconds
+        */
+        TInt64 ExecutionTimeSynchL(TBool aIsSorted);
+
+        /**
+        * Returns the longest execution time of a RunL call in milliseconds
+        */
+        TInt64 ExecutionTimeAsynchL(TBool aIsSorted);
+
+        TBool VerifyResult(
+            TInt64 aExecTime, 
+            TInt aNrOfLandmarks, 
+            TBool aSorted, 
+            TInt64 aLimit, 
+            TBool aSynch);
+
+        TInt64 TestIteratorSynchL(const TDesC& aDatabase, TBool aIsSorted);
+
+        TInt64 TestIteratorAsynchL(const TDesC& aDatabase, TBool aIsSorted);
+
+        void RecreateDatabaseL(const TDesC& aDatabase);
+
+        TInt64 ExecuteLmOp(CPosLmOperation* aOp, TInt& aResult);
+        
+        void CreateLargeDbs(TInt aNrOfItems);
+
+    private:    // Data
+
+    };
+
+#endif      // CPOSTp54_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTP55.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,170 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP55_H
+#define CPOSTP55_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 55
+*/
+class CPosTp55 : public CLandmarkTestProcedureBase,
+public MProgressObserver
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp55() : CLandmarkTestProcedureBase(55) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp55() {};
+
+    public: // Functions from base classes
+
+        /**
+        * From CUtfwTestBase
+        * Retrieves the test module name
+        * @param aName The name of the test module.
+        */
+        void GetName(
+            TDes&   aName
+            ) const;
+
+        /**
+        * From CUtfwTestBase
+        */
+        void CloseTest();
+
+        /**
+        * From CUtfwTestBase
+        */
+        void InitTestL();
+
+        /**
+        * From CPosTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+        /**
+        * From MProgressObserver
+        * Notifies the progress of the execution of a CPosLmOperation object.
+        *
+        * @param sProgress the progress of the operation
+        */
+        void NotifyProgress(TReal aProgress);
+
+    private:    // New functions
+
+        void TestCriticalLevelL();
+
+        void RecreateAndOpenFilesL();
+
+        void ExportLandmarksTestL();
+
+        void ImportLandmarksTestL(TBool aCriticalLevelPassed);
+
+        void ConsumeDiskSpaceL(RFile& aFile, TInt aSizeLimit);        
+
+        /**
+        * Imports landmarks from an XML file or a buffer to the database.
+        *
+        * @param aInputFile file to import from. KNullDesC if buffer is to be 
+        * used as target.
+        * @param aInputBuffer buffer to import landmarks from. NULL if not used.
+        * @param aArrayOfIds to export when calling ExportLandmarksL(). NULL 
+        * if encoder is to be used stand-alone. 
+        * @param aExecuteIncrementally ETrue if CPosLmOperations should be 
+        * executed incrementally, EFalse if CPosLmOperations should be 
+        * synchronously.
+        * @param aTestBeyondCriticalLevel ETrue if critical level is passed, EFalse otherwise
+        */
+        void ImportLandmarksL(
+            const TDesC& aInputFile, 
+            RArray<TUint>* aArrayOfIds, 
+            TBool aExecuteIncrementally,
+            TBool aTestBeyondCriticalLevel);
+
+        void InitiateCriticalLevelL();
+
+        void LogVolumeInfoL();
+
+        void DeleteFileL(const TDesC& aFile);
+
+        void FillFile3L();
+
+        HBufC8* CreateInputBufferL();
+
+        void ReInitializeEncoderEtcL();
+
+        TInt ExecuteLmOperationL(TBool aExecuteIncrementally);
+
+        void SetOutputBufferL();
+
+        void AddCollectionDataToEncoderL();
+
+        void AddLandmarksToEncoderL(TBool aAddAll);
+
+        void ExportWithExportLandmarksMethodL(
+            RArray<TPosLmItemId>& aArrayOfIds,
+            TBool aExecuteIncrementally);
+
+        void FinalizeEncoderL(TBool aExecuteIncrementally);
+
+        void PopulateArrayL(
+            RArray<TPosLmItemId>& aArray,
+            TBool aDoAddAllLms);
+
+        void CopyResourceFileL(const TDesC& aResourceFile = KNullDesC);
+    
+        void TryRestoreResourceFile();
+
+    private:    // Data
+
+        RFs     iFileServer;
+        RFile   iFile1;
+        RFile   iFile2;
+        RFile   iFile3;
+        RFile   iXmlOutputFile;
+        TInt    iCriticalLevel;
+        TInt    iCriticalThreshold;
+        TInt    iSizeLimit1;
+        TInt    iSizeLimit2;
+        TBuf<150> iMsg;
+        TInt    iProgress;
+
+        CBufBase*               iOutputBuffer;
+        HBufC8*                 iInputBuffer;
+        CPosLandmarkEncoder*    iLandmarkEncoder;
+        CPosLandmarkParser*     iLandmarkParser;
+        CPosLmOperation*        iOperation;
+        CActiveLmOperation*     iOperationWrapper;
+    };
+
+#endif      // CPOSTP55_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp1.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,62 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP1_H
+#define CPOSTP1_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+#include <StifLogger.h>
+
+
+
+/**
+*  Test procedure 1
+*/
+class CPosTp1 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp1(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp1() {};
+
+    public: // Functions from base classes
+
+        
+        void StartL();
+
+    private:
+
+        /**
+        * Tests if it is possible to instantiate the db when it is locked
+        */
+        void VerifyLockedDatabaseL();
+
+    };
+
+#endif      // CPOSTP1_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp10.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,140 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP10_H
+#define CPOSTP10_H
+
+//  INCLUDES
+#include <EPos_CPosLMCategoryManager.h>
+#include "FT_CLandmarkTestProcedureBase.h"
+
+
+
+/**
+*  Test procedure 10
+*/
+class CPosTp10 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        
+        CPosTp10(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp10() {};
+
+    public: // Functions from base classes
+
+       
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+        /**
+        * From CLandmarkTestProcedureBase
+        * Cleans up after a test.
+        * Always called, even if the test leaves. 
+        */
+        void CloseTest();
+
+    private:
+        void AddCategoriesL();
+
+        void ReadCategoriesL();
+
+        void UpdateCategoriesL();
+
+        void AddLandmarksL();
+
+        void AddCategoriesToLandmarksL();
+
+        void AddCategoriesToLandmarksAsyncL();
+
+        void AddCategoriesToLandmarksUsingWaitForReqL();
+
+        void AddCategoriesToLandmarksAsyncAndCancelL(const TBool& aInCallback=EFalse);
+
+        void CheckLandmarksL();
+
+        void CheckRemovedL(const TInt startIndex, const TInt stopIndex);
+
+        void RemoveCategoryL();
+
+        void RemoveCategoryAsyncL();
+
+        void RemoveCategoryUsingWaitForReqL();
+
+        void RemoveCategoryAsyncAndCancelL(const TBool& aInCallback=EFalse);
+
+        void RemoveSetOfCategoriesL();
+        
+        void RemoveSetOfCategoriesAsyncL();
+
+        void RemoveSetOfCategoriesUsingWaitForReqL();
+
+        void RemoveSetOfCategoriesAsyncAndCancelL(const TBool& aInCallback=EFalse);
+
+        void RemoveCategoryFromSetOfLandmarksL();
+        
+        void RemoveCategoryFromSetOfLandmarksAsyncL();
+
+        void RemoveCategoryFromSetOfLandmarksUsingWaitForReqL();
+
+        void RemoveCategoryFromSetOfLandmarksAsyncAndCancelL(const TBool& aInCallback=EFalse);
+
+        void RemovedFromLandmarksInternalL(TPosLmItemId aCategoryId);
+    
+        void ReadCategoryL(TPosLmItemId aCategoryId);
+
+        void AddCategoriesToLandmarksAsyncErrCheckL();
+
+        /**
+        * Test LMREQ121
+        */
+        void TestMissingCategories1L();
+
+        /**
+        * Test LMREQ121
+        */
+        void TestMissingCategories2L();
+        
+        void CompareTwoCategoriesL(TInt aIndex);
+        
+        CPosLandmarkDatabase* BackupTp10DbFileL();
+        
+        CPosLandmarkDatabase* RestoreTp10DbFileL();
+
+
+    private: // data
+
+        CPosLmCategoryManager*              iCategoryManager;
+        RPointerArray<CPosLandmarkCategory> iCategories;
+        RPointerArray<CPosLandmark>         iLandmarks;
+    
+    };
+
+#endif      // CPOSTP1_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp100.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,69 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP100_H
+#define CPOSTP100_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 100
+*/
+class CPosTp100 : public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        
+        CPosTp100(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp100() {};
+
+    public: // Functions from base classes
+
+       
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:
+        void TestOpenSpecificDbL();
+        
+        void TestOpenDbL(const TDesC& aDbURI);
+
+        void TestMultipleExportL();
+
+        void CreateDatabasesL();
+        
+        void TestLockedDatabaseL();
+    
+    };
+
+#endif      // CPOSTP100_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp101.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,117 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP101_H
+#define CPOSTP101_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+
+
+/**
+*  Test procedure 101
+*/
+class CPosTp101 : public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+       
+        CPosTp101(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp101() {};
+
+    public: // Functions from base classes
+
+       
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+        
+        void CloseTest();
+
+    private:
+    
+        void VerifySetOfDatabasesL();
+
+        void VerifyDatabaseL(CDesCArray* aLmUris, CDesCArray* aNewLmUris = NULL);
+
+        void CheckDatabasesL(
+            CDesCArray* aExpectedLmUris,
+            TUint aExpectedMaxMatches = KPosLmMaxNumOfMatchesUnlimited
+        );
+
+
+        void SearchL(
+            const RPointerArray<CSearchResult>& aSearchResults, 
+            TExecutionMode aExecutionMode);
+
+        void SearchWithSortOrderL(const RPointerArray<CSearchResult>& aSearchResults);
+
+        void GetLmIdsL(
+            TInt aDbId, 
+            RArray<TPosLmItemId> aSearchResults,
+            RArray<TPosLmItemId>& aLmIdForADb
+        );
+        
+        void CheckEqualsLmsL(
+            TPosLmItemId aSource, 
+            TPosLmItemId aTarget
+        );
+        
+        void OnTheFlySearchL();
+        
+        void SearchAndDeleteL(
+            const RPointerArray<CSearchResult>& aSearchResults
+        );
+
+        void SearchAndRenameL(
+            const RPointerArray<CSearchResult>& aSearchResults
+        );
+
+        void SearchAndCancelL(const TBool& aInCallback = EFalse);
+        
+        void SearchWithMaximumL(
+            const RPointerArray<CSearchResult>& aSearchResults
+        );
+
+
+        CDesCArray* CreateDatabasesL(
+            TInt aNrOfLmDbs, 
+            TInt aLmPerDb, 
+            TInt aLastId, 
+            TBool aDebug = EFalse
+        );
+        
+    private:
+
+        CDesCArray* iDbArray;
+
+    };
+
+#endif      // CPOSTP56_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp102.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,73 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP102_H
+#define CPOSTP102_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+
+/**
+*  Test procedure 102
+*/
+class CPosTp102 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        //CPosTp102() : CLandmarkTestProcedureBase(102) {};
+        CPosTp102(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp102() {};
+
+    public: // Functions from base classes
+
+        
+        void CloseTest();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:
+
+        /**
+        * Verify the number of existing landmark databases
+        */
+        void VerifyNrOfDatabasesL(TInt aExpNrOfDatabases, const TDesC&  aDatabaseUri=KNullDesC);
+
+        /**
+        * Create a new landmark database using DBMS api (instead of the Landmarks API)
+        */
+        void CreateDatabaseL(const TDesC& aUri);
+        
+        void TestDifferentUrisL();
+
+    };
+
+#endif      // CPOSTP102_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp103.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,68 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP103_H
+#define CPOSTP103_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 103
+*/
+class CPosTp103 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+       
+        CPosTp103(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp103() {};
+
+    public: // Functions from base classes
+
+        
+        void StartL();
+        
+        void CloseTest();
+
+    private:
+
+        /**
+        * Verify the number of existing landmark databases
+        */
+        void VerifyNrOfDatabasesL(TInt aExpNrOfDatabases, const TDesC&  aDatabaseUri=KNullDesC);
+
+        /**
+        *
+        */
+        void TestPartCopyDatabasesL();
+
+    };
+
+#endif      // CPOSTP103_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp104.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,73 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp104_H
+#define CPOSTp104_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+#include <EPos_CPosLmDatabaseManager.h>
+#include <centralrepository.h>
+
+
+
+/**
+*  Test procedure 104
+*/
+class CPosTp104 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+       
+        CPosTp104(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp104() {delete iDbMan; delete iRepository; delete iLandmarksDb;};
+
+    public: // Functions from base classes
+
+        
+		void CloseTest();
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+	private:
+	
+	    void TestSetUriL(
+	            const TDesC& aUriString,
+	            TInt aExpectedErrorCode
+	            );
+	    void ArgumentTestsL();
+	    
+    CPosLmDatabaseManager* iDbMan;
+    CRepository*           iRepository;
+    CPosLandmarkDatabase*  iLandmarksDb;
+
+    };
+
+#endif      // CPOSTp104_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp105.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,80 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp105_H
+#define CPOSTp105_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+#include <EPos_CPosLmDatabaseManager.h>
+#include <centralrepository.h>
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 105
+*/
+class CPosTp105 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp105() : CLandmarkTestProcedureBase(105) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp105() {delete iDbMan;};
+
+    public: // Functions from base classes
+
+        /**
+        * From CUtfwTestBase
+        * Retrieves the test module name
+        * @param aName The name of the test module.
+        */
+        void GetName(
+            TDes&   aName
+            ) const;
+
+		void CloseTest();
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+	private:
+	    void CheckDisplayNameL(const TDesC& aLanguage, const TDesC& aDisplayName);
+	    
+	    void CopyResourceFileL(const TDesC& aResourceNr);
+	    
+	    void RemoveResourceFileL(const TDesC& aResourceNr);
+	    
+	private:
+	    
+    CPosLmDatabaseManager* iDbMan;
+
+    };
+
+#endif      // CPOSTp105_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp106.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,107 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp106_H
+#define CPOSTp106_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+#include <e32base.h>
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 50
+*/
+class CPosTp106 : public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp106(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp106() {};
+
+    public: // Functions from base classes
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Always called, even if the test leaves
+        */
+        void CloseTest();
+
+        static void RunTestL(TAny* aData);
+        
+        void CreateAndListDatabasesL(TInt index);
+        
+        void CopyDatabasesL(TInt index);
+        
+        void DeleteDatabasesL();
+        
+        void SetAndGetUriL(TInt index);
+        
+        void GetDisplayNameL();
+        
+        void CheckIfExistL(TInt index);
+
+    private: // Functions
+      
+        void StartMultipleClientsL(TUint aNoClients);
+
+        void CreateThreadsL(const TUint aNoThreads);
+
+    private: // data
+         
+         TTime iStart;
+         TTime iStop;
+         	
+        enum TTestStep
+			{
+            Step1               =0,	
+            Step2               =1,	
+            Step3      			=2,
+            Step4    			=3,
+            Step5    			=4,
+            Step6    			=5
+			};
+        
+        TInt                iTestStep;
+        
+        RArray<RThread>	    iThreads; 
+        TInt                iThreadIndex;
+        TInt                iThreadNum;
+    };
+
+
+
+#endif      // CPOSTp106_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp107.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,72 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+#ifndef CPosTp666_H
+#define CPosTp666_H
+
+//  INCLUDES
+#include <s32file.h>
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// FORWARD DECLARATION
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 666
+*
+*/
+class CPosTp666 : public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp666() : CLandmarkTestProcedureBase(666) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp666();
+
+    public: // Functions from base classes
+
+        /**
+        * From CUtfwTestBase
+        *
+        */
+        void GetName(TDes& aName) const;
+
+        /**
+        * From CPosTestProcedureBase
+        * Not used here. See StartL(TInt aIndex)
+        */
+        void StartL();
+
+    private:
+    
+    void SetupTestPartL(TInt aIndex);
+            
+    void SetupTestEnvironmentL();
+        
+    };
+
+#endif      // CPosTp666_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp108.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,72 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+#ifndef CPosTp667_H
+#define CPosTp667_H
+
+//  INCLUDES
+#include <s32file.h>
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// FORWARD DECLARATION
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 667
+*
+*/
+class CPosTp667 : public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp667() : CLandmarkTestProcedureBase(667) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp667();
+
+    public: // Functions from base classes
+
+        /**
+        * From CUtfwTestBase
+        *
+        */
+        void GetName(TDes& aName) const;
+
+        /**
+        * From CPosTestProcedureBase
+        * Not used here. See StartL(TInt aIndex)
+        */
+        void StartL();
+
+    private:
+    
+    void SetupTestPartL(TInt aIndex);
+            
+    void SetupTestEnvironmentL();
+        
+    };
+
+#endif      // CPosTp667_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp109.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,72 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+#ifndef CPosTp668_H
+#define CPosTp668_H
+
+//  INCLUDES
+#include <s32file.h>
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// FORWARD DECLARATION
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 668
+*
+*/
+class CPosTp668 : public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp668() : CLandmarkTestProcedureBase(668) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp668();
+
+    public: // Functions from base classes
+
+        /**
+        * From CUtfwTestBase
+        *
+        */
+        void GetName(TDes& aName) const;
+
+        /**
+        * From CPosTestProcedureBase
+        * Not used here. See StartL(TInt aIndex)
+        */
+        void StartL();
+
+    private:
+    
+    void SetupTestPartL(TInt aIndex);
+            
+    void SetupTestEnvironmentL();
+        
+    };
+
+#endif      // CPosTp668_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp11.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,107 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP11_H
+#define CPOSTP11_H
+
+//  INCLUDES
+
+#include <EPos_CPosLandmarkCategory.h>
+#include <EPos_CPosLMCategoryManager.h>
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 11
+*/
+class CPosTp11 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+       // CPosTp11() : CLandmarkTestProcedureBase(11) {};
+        CPosTp11(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp11() {};
+
+    public: // Functions from base classes
+
+        /**
+        * From CUtfwTestBase
+        * Retrieves the test module name
+        * @param aName The name of the test module.
+        */
+       /* void GetName(
+            TDes&   aName
+            ) const;
+			*/
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Cleans up after a test.
+        * Always called, even if the test leaves. 
+        */
+        void CloseTest();
+
+    private:
+            
+        void AddCategoriesL();
+
+        void AddLandmarksL();
+
+        void IterateCategoriesL();
+
+        void IterateSetOfCategoriesL();
+
+        void CheckIteratorItemsL(CPosLmItemIterator& iter);
+        
+        CPosLandmarkCategory* InternalGet(TPosLmItemId id);
+
+        void IterateSortedCategoriesL();
+
+        void IterateReferencedCategoriesL();
+                                     
+        void IterateReferencedSortedCategoriesL();       
+        
+        // Added for BC testing 
+        void MakeEmptyLmDatabaseL( CPosLandmarkDatabase& aLdb,
+                                   CPosLmCategoryManager& aCatMgr ); 
+        
+
+    private: // data
+
+        CPosLmCategoryManager*                 iCategoryManager;
+        RPointerArray<CPosLandmarkCategory>    iCategories;
+        RArray<CPosLandmarkCategory>           iReferencedCategories;
+        RPointerArray<CPosLandmark>            iLandmarks;       
+    };
+
+#endif      // CPOSTP11_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp111.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,94 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP111_H
+#define CPOSTP111_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+class CPosLmDatabaseManager;
+class CRepository;
+
+/**
+*  Test procedure 111
+*/
+class CPosTp111 : public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp111() : CLandmarkTestProcedureBase(111) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp111() {};
+
+    public: // Functions from base classes
+
+        /**
+        * From CUtfwTestBase
+        * Retrieves the test module name
+        * @param aName The name of the test module.
+        */
+        void GetName(
+            TDes&   aName
+            ) const;
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:
+    
+        TBool FindResourceFilesL();
+        
+        TBool FindServerResourceFilesL();
+        
+        TBool FindEcomPluginsL();
+
+        TBool FindLibrariesL();
+    
+        void TestCentralRepositoryL();
+        
+        void FindFileL(const TDesC& aFile, TInt& aNrOfMatches, TDes& aPath);
+        
+        TBool FindFilesAndVerifyPathL(
+            const CDesCArray& aFileNames, 
+            const TDesC& aExpectedPath);
+            
+        void VerifyDefaultDbUriL(
+            const TDesC& aExpectedUri, 
+            CPosLmDatabaseManager* aDbMan);
+            
+        void VerifyDefaultDbUriL(
+            const TDesC& aExpectedUri, 
+            CRepository* aRepository);
+            
+    };
+
+#endif      // CPOSTP111_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp114.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,137 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp114_H
+#define CPOSTp114_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+#include <e32base.h>
+#include <e32property.h>
+
+// CLASS DECLARATION
+class CPosTp114BackupListener;
+class MUtfwLog;
+
+/**
+*  Test procedure 114
+*/
+class CPosTp114 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp114() : CLandmarkTestProcedureBase(114) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp114() {};
+
+    public: // Functions from base classes
+
+        /**
+        * From CUtfwTestBase
+        * Retrieves the test module name
+        * @param aName The name of the test module.
+        */
+        void GetName(
+            TDes&   aName
+            ) const;
+            
+        /**
+        * From CUtfwTestBase
+        * Always called, even if test leaves
+        */
+        void CloseTest();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:
+        TBool FileExistL();
+
+        void PrepareForRestoreTestL();
+
+        void InitBackupTestL();
+
+        TBool CheckDbAfterRestoreL();
+        
+    private:
+        //CPosTp114BackupListener* iBackupListener;
+
+    };
+
+/**
+*  CPosTp114BackupListener
+*/
+class CPosTp114BackupListener : public CActive
+    {
+    public:  // Constructors and destructor
+
+        // Two-phased constructor.
+        static CPosTp114BackupListener* NewL(MUtfwLog* aLog);
+
+        /**
+        * C++ Destructor
+        */
+        ~CPosTp114BackupListener();
+        
+        void StartCheckingL();
+     
+    protected:  // Functions from base classes
+
+        /**
+        * From CActive.
+        * Active Object event handler.
+        */
+        void RunL();
+
+        /**
+        * From CActive.
+        * Active Object cancel handler.
+        */
+        void DoCancel();
+ 
+    private:
+    
+        /**
+        * C++ Constructor
+        */
+        CPosTp114BackupListener();
+        
+        void ConstructL(MUtfwLog* aLog);
+            
+        TBool IsBackupRunning();
+        
+    private:
+        
+        MUtfwLog* iLog;
+        RProperty iProperty;
+        TBool iBackupIsRunning;
+};
+
+#endif      // CPOSTp114_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp116.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,132 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP116_H
+#define CPOSTP116_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+#include <EPos_CPosLmDatabaseManager.h>
+#include <StifLogger.h>
+
+// CLASS DECLARATION
+class CTP116ActiveLmEvent;
+
+/**
+*  Test procedure 116
+*/
+
+
+class CPosTp116 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        
+        CPosTp116(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp116() {};
+
+    public: // Functions from base classes
+
+        void CloseTest();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:
+        void LandmarkEventTestL();
+        
+    private:
+
+        CTP116ActiveLmEvent*         iActiveLmEvent;
+
+    };
+
+class CTP116ActiveLmEvent : public CActive
+    {
+    public:
+        
+        static CTP116ActiveLmEvent* NewL(CStifLogger* aLog);
+      
+        /**
+        * Destructor.
+        */
+        ~CTP116ActiveLmEvent();
+
+    public: 
+        
+        void Start();    
+
+        /**
+        * From CActive
+        * Handles request completion event.
+        */
+        void DoCancel();
+    
+        /**
+        * From CActive.
+        *
+        * Handles request completion event.
+        */
+        void RunL();
+    
+    private:
+
+         /**
+        * C++ constructor.
+        */
+        CTP116ActiveLmEvent(CStifLogger* aLog);
+
+        void ConstructL();
+
+        void VerifyEvent(TPosLmDatabaseEvent event);
+        
+        TInt GetErrors();
+
+        void SetExpectedDatabase(const TDesC&  aDatabaseUri);
+
+    private: // data
+
+        friend class CPosTp116;
+
+        CStifLogger*               iLog; 
+        CPosLmDatabaseManager*  iManager;
+        TPosLmDatabaseEvent     iEvent;
+
+        TInt                    iExpectedEvent;
+        TBuf<255>           	iExpectedDatabase;
+        
+        
+        TInt                    iGlobalErr;
+
+        TBool                   iQueueTest;
+
+    };
+
+#endif      // CPOSTP116_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp117.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,173 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP117_H
+#define CPOSTP117_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+#include <EPos_CPosLmDatabaseManager.h>
+
+#include <StifLogger.h>
+// CLASS DECLARATION
+class CTP117ActiveLmEvent;
+
+/**
+*  Test procedure 117
+*/
+class CPosTp117 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+       
+        CPosTp117(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {iErrorsFound=KErrNone;};
+        /**
+        * Destructor.
+        */
+        ~CPosTp117() {};
+
+    public: // Functions from base classes
+
+        
+        /**
+        * 
+        * Always called, even if test leaves
+        */
+        void CloseTest();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+        
+        // Use this enum to define if the thread should exit with panic or leave
+        enum ExitType {ExitPanic, ExitLeave};
+        
+        static void RunPanicTestL(TAny* aData);
+		
+    private:
+        void LandmarkEventTestL();
+        
+        void LandmarkQueuedEvenTestL();
+        
+        void LandmarkQueuedEvenTest2L();
+        
+        void CreateThreadL();
+                
+        void ResumeThreadAndVerifyExit();
+        
+    private:
+
+        CTP117ActiveLmEvent*         iActiveLmEvent;
+        TInt iErrorsFound;
+        
+        RThread     iThread;
+        TInt        iExpectedErrorCode;
+        ExitType    iExpectedExitType;
+        TInt        iTestCase;
+
+    };
+
+class CTP117ActiveLmEvent : public CActive
+    {
+    public:
+        
+        static CTP117ActiveLmEvent* NewL(CStifLogger* aLog);
+      
+        /**
+        * Destructor.
+        */
+        ~CTP117ActiveLmEvent();
+
+    public: 
+        
+        void Start();    
+
+        /**
+        * From CActive
+        * Handles request completion event.
+        */
+        void DoCancel();
+    
+        /**
+        * From CActive.
+        *
+        * Handles request completion event.
+        */
+        void RunL();
+        
+        /**
+        * From CActive.
+        *
+        * Handles request completion event.
+        */
+        TInt RunError(TInt aError);
+        
+        /**
+		*
+		*/
+		void CallNotifyDatabaseEvent();
+			
+		void VerifyEventL();
+		
+		TInt GetErrors();
+		
+		void CallDatabaseUriFromLastEventLC();
+    
+    private:
+
+         /**
+        * C++ constructor.
+        */
+        CTP117ActiveLmEvent(CStifLogger* aLog);
+
+        void ConstructL();
+
+        void SetExpectedDatabase(const TDesC&  aDatabaseUri);
+
+
+    private: // data
+
+        friend class CPosTp117;
+
+        CStifLogger*               iLog; 
+        
+        CPosLmDatabaseManager* iManager;
+              
+
+        
+        TPosLmDatabaseEvent                iEvent;
+       
+        TInt                    iExpectedEvent;
+        
+        TBuf<255>           iExpectedDatabase;
+        
+       
+        TInt                    iGlobalErr;
+
+        TBool                   iQueueTest;
+        TBool                   iCheckUri;
+    };
+#endif      // CPOSTP117_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp118.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,88 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP118_H
+#define CPOSTP118_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 118
+*/
+class CPosTp118 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp118(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp118() {};
+
+    public: // Functions from base classes
+
+        /**
+        * From CUtfwTestBase
+        * Retrieves the test module name
+        * @param aName The name of the test module.
+        */
+        void GetName(
+            TDes&   aName
+            ) const;
+
+        void CloseTest();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+        
+        void DeleteTp118FilesL();
+
+    private:
+
+    	TBool VerifyList(CDesCArray* aList, const TDesC& aDbName);
+    	
+    	void CreateLandmarksInDbL(const TDesC& aDbName, TInt aIndex=0);
+    	
+    	void DropTableL(const TDesC& aDbName, const TDesC& aTable);
+    	
+    	void DropIndexL(const TDesC& aDbName, const TDesC& aTable, const TDesC& aIndex);
+    	
+    	void AlterTableL(const TDesC& aDbName);
+    	
+    	void CheckLandmarkDbL(CPosLandmarkDatabase* aDb);
+    	
+    	private:
+    	    CDesCArray*             iDatabases;
+
+    };
+
+#endif      // CPOSTP118_H
+
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp119.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,101 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP119_H
+#define CPOSTP119_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+#include <StifLogger.h>
+
+// FORWARD DECLARATIONS
+class CPosLmMultiDbSearch;
+
+// DATA TYPES
+enum TTp119SortOrder
+    {
+    ENoSort = 0,
+    EAsc,
+    EDesc
+    };
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 119
+*/
+class CPosTp119 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp119(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp119() {};
+
+    public: // Functions from base classes
+
+        
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:
+    
+        void SearchAllDbsL(CDesCArray* aDbUris, TTp119SortOrder aSortOrder);
+        void SearchAllButOneL(CDesCArray* aDbUris);
+        void SearchOneDbL(CDesCArray* aDbUris);
+        void SearchNonExistingDbL(CDesCArray* aDbUris);
+        
+        void SearchInvalidURIDbL(CDesCArray* aDbUris);
+        
+        void SearchDbMultipleTimesL(CDesCArray* aDbUris);
+        void TestMaxNrOfMatchesL(CDesCArray* aDbUris);
+        void TestMatchIteratorL(CDesCArray* aDbUris);
+
+        void SearchForLandmarksL(
+            CPosLmMultiDbSearch* aSearcher, 
+            TTp119SortOrder aSortOrder,
+            TBool aRefined);
+        
+        TUint VerifyResultL(
+            CPosLmMultiDbSearch* aSearcher, 
+            CDesCArray& aDbUris,
+            TTp119SortOrder aSortOrder);
+
+        void RemoveDatabaseL(const TDesC& aFile);
+        
+        void VerifyDbsToSearchL(
+            CPosLmMultiDbSearch* aMultiSearcher, 
+            CDesCArray* aDbUris);
+
+    private: // Data
+
+    };
+    
+#endif      // CPOSTP119_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp12.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,90 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP12_H
+#define CPOSTP12_H
+
+//  INCLUDES
+#include "EPos_LandmarksErrors.h"
+
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 12
+*/
+class CPosTp12 : public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+       
+        CPosTp12(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp12() {};
+
+    public:
+       
+        static void RunPanicTestL(TAny* aData);
+       
+    public: // Functions from base classes
+
+        
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Always called, even if the test leaves
+        */
+        void CloseTest();
+
+    private:
+
+      void CreateThreadL();
+
+      void ResumeThreadAndVerifyExit();
+
+      void ResourceFilePanicTestL();
+
+      CPosLandmarkDatabase* UseInvalidResourceFileL();
+    
+      void RestoreResourceFileL();
+
+      
+
+    private:
+
+        RThread                         iThread;
+        TPositionLandmarksClientPanic   iExpectedPanicCode;
+        TInt                            iTestCase;
+        TInt                            iTreadCounter;
+    };
+
+#endif      // CPOSTP12_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp120.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,112 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP120_H
+#define CPOSTP120_H
+
+//  INCLUDES
+#include <EPos_CPosLmAreaCriteria.h>
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 23
+*/
+class CPosTp120 : public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        
+        CPosTp120(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp120() {};
+
+    public: // Functions from base classes
+
+       
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+        void CloseTest();
+        
+    private:
+
+        CPosLmAreaCriteria* AreaCriteriaL(const TReal64 &aSouthLat, 
+                                          const TReal64 &aNorthLat,
+                                          const TReal64 &aWestLong, 
+                                          const TReal64 &aEastLong);
+
+
+        void CheckDatabasesL(
+            CDesCArray* aExpectedLmUris,
+            TUint aExpectedMaxMatches = KPosLmMaxNumOfMatchesUnlimited
+        );
+
+        void GetLmIdsL(
+            TInt aDbId, 
+            RArray<TPosLmItemId> aSearchResults,
+            RArray<TPosLmItemId>& aLmIdForADb
+        );
+        
+        void CheckEqualsLmsL(
+            TPosLmItemId aSource, 
+            TPosLmItemId aTarget
+        );
+        
+        void SearchL(
+            const RPointerArray<CAreaSearchResult>& aSearchResults, 
+            TExecutionMode aExecutionMode);
+
+        void SearchWithSortOrderL(const RPointerArray<CAreaSearchResult>& aSearchResults);
+        
+        void OnTheFlySearchL();
+
+        void SearchAndDeleteL();
+
+        void SearchAndRenameL();
+
+        void SearchAndCancelL(const TBool& aInCallback=EFalse);
+
+        void SearchWithMaximumL();
+
+        CDesCArray* CreateDatabasesL(
+            TInt aNrOfLmDbs, 
+            TInt aLmPerDb, 
+            TInt aLastId, 
+            TBool aDebug = EFalse
+        );
+
+    private:
+    
+        CDesCArray* iDbArray;
+
+    };
+
+#endif      // CPOSTP120_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp121.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,142 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP121_H
+#define CPOSTP121_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// FORWARD DECLARATIONS
+class CPosLmMultiDbSearch;
+class CPosLmCategoryCriteria;
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 121
+*/
+class CPosTp121 : public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        
+        CPosTp121(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp121() {};
+
+    public: // Functions from base classes
+
+        void CloseTest();
+
+       
+        void InitTestL();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:
+
+        enum TTp121SortOrder
+            {
+            ESortNone,
+            ESortAscending,
+            ESortDescending
+            };
+            
+        void TestSearchL(
+            const RPointerArray<CCategoryLandmarkSearchResult>& aSearchResults, 
+            TExecutionMode aExecutionMode = ESynchronous,
+            TTp121SortOrder aSortOrder = ESortNone);
+
+        void SearchNonExistingL(TExecutionMode aExecutionMode);
+
+        void SearchForLandmarksInGlobalCategoriesL(TExecutionMode aExecutionMode);
+
+        void AddLandmarksToGlobalCategoriesL();
+
+        void TestMaximumNrOfMatchesL(
+            const RPointerArray<CCategoryLandmarkSearchResult>& aSearchResults, 
+            TExecutionMode aExecutionMode);
+
+        void TestLeaveCodesL();
+
+        void SearchAndCancelL();
+        
+        void ValidateIdL(TPosLmItemId aId, TInt aDbIndex);
+        
+        void ValidateTotalNrOfMatchesL(
+            TUint aRetrievedNrOfMatches,
+            TUint aExpectedNrOfMatches, 
+            const TDesC& aCategoryName);
+            
+        void ValidateSearchResultsL(
+            CCategoryLandmarkSearchResult* aExpectedSearchResult,
+            CPosLmMultiDbSearch* aMultiDbSearcher,
+            TTp121SortOrder aSortOrder = ESortNone);
+
+        void ValidateSearchResultsL(
+            const RIdArray& aExpectedIds,
+            CPosLmMultiDbSearch* aMultiDbSearcher,
+            TInt aNrOfExpectedErrors = 0);
+
+        void SearchL(
+            CPosLmCategoryCriteria* aCatSearchCriteria,
+            TExecutionMode aExecutionMode,
+            TBool aRefinedSearch = EFalse,
+            TTp121SortOrder aSortOrder = ESortNone);
+            
+        void TestResetSearchAttributesL();
+        
+        void TestCaseInsensitiveL();
+        
+        void TestWildCardsL();
+        
+        void TestRefinedSearchL(TExecutionMode aExecutionMode);
+
+        void TestDatabaseListL(const RIdArray& aExpectedMatches);
+        
+        void TestOnTheFlySearchL(const RIdArray& aExpectedMatches);
+        
+        TInt NrOfSearchErrors(CPosLmMultiDbSearch* aMultiDbSearcher);
+        
+    private:
+
+        TUint                   iRestaurantId1;
+        TUint                   iRestaurantId2;
+        TUint                   iGasStationId1;
+        TUint                   iGasStationId2;
+        TUint                   iGarageId1;
+        CDesCArray*             iDatabases;
+        CPosLmMultiDbSearch*    iMultiDbSearch;
+        TInt                    iNrOfDatabases;
+
+    };
+
+#endif      // CPOSTP121_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp122.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,255 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP122_H
+#define CPOSTP122_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+#include <EPos_CPosLmNearestCriteria.h>
+
+// FORWARD DECLARATIONS
+class CPosLmMultiDbSearch;
+class CNearestSearchResult;
+// CLASS DECLARATION
+
+/**
+*  Test procedure 122
+*/
+class CPosTp122 : public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+      
+        CPosTp122(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {iErrorsFound = KErrNone;};
+        /**
+        * Destructor.
+        */
+        ~CPosTp122() {};
+
+    public: // Functions from base classes
+
+        
+        
+        void CloseTest();
+
+       
+        void InitTestL();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:
+    
+    	enum TTp122SortOrder
+            {
+            ESortNone,
+            ESortAscending,
+            ESortDescending
+            };
+
+        void AppendNearestSearchResultsL();
+        
+        void TestLeaveCodesL();
+        
+        void CancelTestL(const RPointerArray<CNearestSearchResult>& aSearchResults,
+        					TBool aCancelInCallback);
+        
+        void StartSearchOperationL(
+            const RPointerArray<CNearestSearchResult>& aSearchResults, 
+            TExecutionMode aExecutionMode = ESynchronous,
+            TTp122SortOrder aSortOrder = ESortNone,
+            TInt aNrOfSearches = 0);
+        
+        void SearchL(
+            CPosLmNearestCriteria* aNearestSearchCriteria,
+            TExecutionMode aExecutionMode,
+            TBool aRefinedSearch = EFalse,
+            TTp122SortOrder aSortOrder = ESortNone);
+        
+        void TestMaximumNrOfMatchesL(
+            const RPointerArray<CNearestSearchResult>& aSearchResults, 
+            TExecutionMode aExecutionMode, TTp122SortOrder aSortOrder);
+            
+        void ValidateTotalNrOfMatchesL(
+            TUint aRetrievedNrOfMatches,
+            TUint aExpectedNrOfMatches);
+            
+        TInt NrOfSearchErrors(CPosLmMultiDbSearch* aMultiDbSearcher);
+            
+      	void TestOnTheFlySearchL(const RPointerArray<CNearestSearchResult>& aSearchResults);
+            
+        void ValidateIdL(TPosLmItemId aId, TInt aDbIndex);
+        	    
+        void PrepareDatabasesL();
+            
+        void CheckSearchResultL(CNearestSearchResult& aSearchResult, TTp122SortOrder aSortOrder);
+        
+        void PrintLm(CPosLandmarkDatabase* db);
+        
+        void DoLastTestPartL(const RPointerArray<CNearestSearchResult>& aSearchResults);
+        
+        void CheckDbL();
+        
+        void SetupLimits();
+            
+    private:
+
+        CDesCArray*             iDatabases;
+        CPosLmMultiDbSearch*    iMultiDbSearch;
+        TInt                    iNrOfDatabases;
+        
+        RPointerArray<CNearestSearchResult>    iNearestSearchResults;
+        TInt 					iErrorsFound;
+        
+        CPosLmDisplayData* iDisplayData;
+        TBool iPartial;
+        
+        TUint iIdDb1Min;
+        TUint iIdDb1Max;
+        TUint iIdDb2Min;
+        TUint iIdDb2Max;
+        TUint iIdDb3Min;
+        TUint iIdDb3Max;
+        TUint iIdDb4Min;
+        TUint iIdDb4Max;
+        TUint iIdDb5Min;
+        TUint iIdDb5Max;
+
+    };
+
+// Commented for testing -- Moved these class defines to FT_CPosTp35.h
+
+class TSearchResult 
+    {
+    public:
+        
+        TSearchResult();
+
+        TSearchResult(const TPosLmItemId& aId, const TReal32& aDistance);
+
+        TReal64 Distance() const;
+
+        TPosLmItemId Id() const;
+
+    private:
+        friend class CPosTp122;
+
+        TReal32         iDistance;
+        TPosLmItemId    iId;   
+
+    };
+
+
+
+class CNearestSearchResult : public CSearchResultBase
+    {
+
+    public:  // Constructors and destructor
+        
+        /**
+        * Two-phased constructor.
+        */
+        static CNearestSearchResult* NewL(
+            const TDesC& aDes, 
+            const TInt& aIndex,
+            RFs& aFileSession); 
+
+        /**
+        * Destructor.
+        */
+        ~CNearestSearchResult();
+        
+    public: 
+
+        TReal64 Latitude() const;
+
+        TReal64 Longitude() const;
+        
+        TBool UseCoverageRadius() const;
+        
+        TReal32 MaxDistance() const;
+
+        TInt ErrorCode() const;
+
+        void Print(TDes& aDes);
+
+        void PrintDistances(TDes& aPrint);
+
+    private: 
+        
+        /**
+        * Constructor.
+        */
+        CNearestSearchResult(RFs& aFileSession);
+
+        void ConstructL(const TDesC& aDes, const TInt& aIndex);
+        
+        void AppendDistancesL(const TInt& aIndex);
+
+        void ParseDistanceL(const TDesC& aDes, const TInt& aIndex, const TPosLmItemId& aId);
+
+        void SortDistances();
+
+    private:
+
+         // By default, prohibit copy constructor
+        CNearestSearchResult(const CNearestSearchResult&);
+        // Prohibit assigment operator
+        CNearestSearchResult& operator=(const CNearestSearchResult&);
+
+    private: // Data
+      
+        friend class CPosTp122;
+
+        enum TValueIndex
+			{
+            ELatitude           =1,	
+            ELongitude          =2,	
+            EUseCoverageRadius  =3,
+            EMaxDistance        =4,
+            EErrorCode          =5,
+            ERedefined          =6,
+            EMaxSearchResult    =7,
+            ESearchResult       =8
+			};
+        
+        TInt        iErrorCode;
+        TReal64     iLatitude;
+        TReal64     iLongitude;
+        TBool       iUseCoverageRadius;
+        TReal32     iMaxDistance;
+        TInt        iMaxSearchResult;
+
+        RArray<TSearchResult>       iDistances;
+        
+        CPosLandmarkDatabase* iDatabase;
+        RFs& iFileSession;
+    }; 
+   
+
+#endif      // CPOSTP122_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp123.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,102 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP123_H
+#define CPOSTP123_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// FORWARD DECLARATIONS
+class CPosLmDatabaseManager;
+class CPosLmMultiDbSearch;
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 123
+*/
+class CPosTp123 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+       
+        CPosTp123(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp123() {};
+
+    public: // Functions from base classes
+
+
+        void CloseTest();
+
+        void InitTestL();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:
+    
+        enum TSearchCriterion
+            {
+            ENoCriterion,
+            ELocalCategoryId,
+            EGlobalCategoryId,
+            ECategoryName
+            };
+            
+        void TestSearchL(
+            TBool aExecuteSync, 
+            TSearchCriterion aCriterion, 
+            TInt aNrOfHits, 
+            TBool aSorted);
+
+        void TestSearchCategoriesL(TBool aExecuteSync);
+        
+        void RemoveCategoriesFromLandmarksL(TInt aNrOfLandmarks);
+
+        void SearchForUncategorizedLMsL(TInt aNrOfHits, TBool aSorted = EFalse);
+
+        void RemoveCategoryFromDbL(TPosLmItemId aCategoryId, const TDesC& aDbUri);
+        
+        void VerifySearchResultL(TInt aNrOfHits, TBool aSorted);
+        
+        void VerifySortOrderL(CPosLmItemIterator* aIter, CPosLandmarkDatabase* aDb);
+        
+    private:
+    
+        RArray<RIdArray>        iIdArrays;
+        TBuf<200>               iBuf;
+        CDesCArray*             iDatabases;
+        TInt                    iNrOfDatabases;
+        CPosLmMultiDbSearch*    iLandmarkSearch;
+
+    };
+
+#endif      // CPOSTP123_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp124.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,194 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp124_H
+#define CPOSTp124_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+#include <LbsPosition.h>
+// CLASS DECLARATION
+class CPosLandmarkDatabase;
+class CPosLmCompositeCriteria;
+class CPosLmMultiDbSearch;
+class CCompositeSearchResult;
+//class TCoordinate;
+
+/**
+*  Test procedure 124
+*/
+class CPosTp124 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+       
+        CPosTp124(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {iErrorsFound = KErrNone;};
+        /**
+        * Destructor.
+        */
+        ~CPosTp124() {};
+
+    public: // Functions from base classes
+
+        
+
+        /**
+        *  Always called even if test leaves, 
+        * after test completion
+        */
+        void CloseTest();
+
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+        
+       
+        void InitTestL();
+        
+    private:
+    
+       	enum TTp124SortOrder
+            {
+            ESortNone,
+            ESortAscending,
+            ESortDescending,
+            ESortDistance
+            };
+
+        /*
+        * Use the file lmDbCompositeSearchResult.txt and parse
+        * all test combinations, perform all tests and check for correct result
+        */ 
+        void StartLandmarksCompositeTestL(TExecutionMode aExecutionMode, TTp124SortOrder aSortOrder);
+
+        /**
+        * Prints debug information about the composite search object
+        */
+        void PrintCompositeInfo(CPosLmCompositeCriteria* aComposite);
+
+        /**
+        * Test that it is possible to search for categories using the
+        * CPosLmCatNameCriteria class in a StartCategorySearchL search
+        */
+        void TestCategoryCompositeSearchL();
+
+        /**
+        * Perform a test with a composite object used in a composite landmark search 
+        */
+        void TestCompositeInCompositeL();
+
+        /**
+        * Perform a test with two different text arguments combined in a composite landmark search
+        */
+        void TestSeveralTextArgumentsL();
+
+        /**
+        * Test to add and remove search arguments to the CPosLmCompositeCriteria object
+        */
+        void TestAddAndRemoveL();
+
+        /**
+        * Test that no result is returned if setting the  aSearchOnlyPreviousMatches to ETrue
+        * and there is no previous result
+        */
+        void TestWithNoPreviousResultL();
+
+        /**
+        * Test cancel of a composite search
+        */
+        void CancelTestL(const TBool& aCancelInCallback);
+        
+        void LandmarksSortL(RArray<TPosLmItemId>& aArray, TTp124SortOrder aSortOrder);
+        
+        void SearchL(
+            CPosLmCompositeCriteria* aCompositeSearchCriteria,
+            TExecutionMode aExecutionMode,
+            TBool aRefinedSearch = EFalse,
+            TTp124SortOrder aSortOrder = ESortNone);
+
+		/**
+		* Test with different sort order scenarios, test sortpref for landmark and category
+		* also test with nearest
+		*/
+    	void TestWithSortOrderLandmarksL(TExecutionMode aExecutionMode,
+    										 TTp124SortOrder aSortOrder);
+        
+    	void TestWithSortOrderNearestL(TExecutionMode aExecutionMode, TTp124SortOrder aSortOrder);
+    	
+    	void PrepareDatabasesL();
+    	
+    	void SetupLimits();
+    	
+    	void PrintLm(CPosLandmarkDatabase* db);
+    	
+    	void ValidateIdL(TPosLmItemId aId, TInt aDbIndex);
+    	
+    	void ValidateSearchResultsL(
+            RIdArray& aExpectedIds,
+            TTp124SortOrder aSortOrder,
+            TInt aNrOfExpectedErrors = 0);
+            
+        TInt NrOfSearchErrors(CPosLmMultiDbSearch* aMultiDbSearcher);
+        
+        TBool CheckCompositeForIdListL(CPosLmCompositeCriteria* aComposite);
+        
+        void TestWithIdListAndCompositeL();
+        
+        void TestOnTheFlySearchL();
+        
+        void TestLessDbsToSearchL();
+        
+        void CompositeStressTestL(TInt aStartNr, TInt aTotalNr);
+    	
+    	private:
+            
+	    	TUint iIdDb1Min;
+	        TUint iIdDb1Max;
+	        TUint iIdDb2Min;
+	        TUint iIdDb2Max;
+	        TUint iIdDb3Min;
+	        TUint iIdDb3Max;
+	        TUint iIdDb4Min;
+	        TUint iIdDb4Max;
+	        TUint iIdDb5Min;
+	        TUint iIdDb5Max;
+	        
+	        TInt 		iErrorsFound;
+	        
+	        CDesCArray*             iDatabases;
+	        CPosLmMultiDbSearch*    iMultiDbSearch;
+	        TInt                    iNrOfDatabases;
+	        /**
+	         * contains inital db count afte removal of all db
+	         */
+	        TInt iDbCount;
+	        CPosLmDisplayData* 		iDisplayData;
+	        TCoordinate 			iCoord;
+
+    };
+
+#endif      // CPOSTp124_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp125.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,112 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp125_H
+#define CPOSTp125_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+#include <EPos_CPosLMCategoryManager.h>
+#include <EPos_CPosLmMultiDbSearch.h>
+//#include <EPos_CPosLmMultiDbSearchOperation.h>
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 125
+*/
+class CPosTp125 : public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        
+        CPosTp125(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp125() {delete iLandmarksMultiDbSearch;
+                      delete iDbArray;};
+
+    public: // Functions from base classes
+
+        void CloseTest();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:
+
+        void SearchL(
+            const RPointerArray<CCategorySearchResult>& aSearchResults, 
+            TExecutionMode aExecutionMode);
+
+        void SearchWithMaximumL(
+            const RPointerArray<CCategorySearchResult>& aSearchResults, 
+            TExecutionMode aExecutionMode);
+
+        void SearchWithSortOrderL(
+            const RPointerArray<CCategorySearchResult>& aSearchResults, 
+            TExecutionMode aExecutionMode);
+
+        void SearchAfterAddedCategoryL();
+
+        void SearchAndCancelL(const TBool& aInCallback=EFalse);
+
+        /**
+        * Include the global categories when searching
+        */
+        void SearchGlobalL(const RPointerArray<CCategorySearchResult>& aSearchResults, const TBool& aSync=EFalse);
+        
+        /**
+        * All categories are included in all databases. Remove so there are no duplicates.
+        */
+        void RemoveExtraCategoriesL();
+        
+        void RemoveCategoryL(CPosLmCategoryManager* aCatMan,
+                                TPosLmItemId aCatId);
+        
+                                       
+        void AssertThatIdIsInCorrectDbL(TInt aDbIndex, TInt aId);
+        
+        void SetupDbArrayL();
+        
+        void SortResultsL(RArray<TPosLmItemId>& aArray,
+                          CDesCArrayFlat*& aResultArray);
+                 
+        void InvertArrayL(CDesCArrayFlat*& aArray);
+        
+        void TestDuplicateGlobalCategoriesL(const RPointerArray<CCategorySearchResult>& aSearchResults, const TBool& aSync=EFalse);
+        
+        // data members
+    private:
+        
+        CDesCArrayFlat*         iDbArray;
+        CPosLmMultiDbSearch*    iLandmarksMultiDbSearch;
+        
+    };
+
+#endif      // CPOSTp125_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp126.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,100 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp126_H
+#define CPOSTp126_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+#include <EPos_CPosLMCategoryManager.h>
+#include <EPos_CPosLmMultiDbSearch.h>
+#include "EPos_LandmarksErrors.h"
+
+enum TEnumStep
+    {
+    EStepZeroMaxMatches = 0,
+    EStepNegativeMaxMatches,
+    EStepUnlimitedMaxMatches,
+    EStepOutOfBoundsDatabaseUriPtr,
+    EStepOutOfBoundsGetSearchError,
+    EStepTooBigValueMatchIteratorL,
+    EStepTooBigValueNumOfMatches,
+    EStepIllegalSortPrefLMa,
+    EStepIllegalSortPrefLMb,
+    EStepIllegalSortPrefLMc,
+    EStepIllegalSortPrefLMd,
+    EStepIllegalSortPrefCat,
+    EStepNULLSearch1,
+    EStepNULLSearch2,
+    EStepNULLSearch3,
+    EStepNULLSearch4
+    };
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 126
+*/
+class CPosTp126 : public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        
+        CPosTp126(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp126() {delete iLandmarksMultiDbSearch;
+                      iThread.Close();};
+        
+        static void RunPanicTestL(TAny* aData);
+
+    public: // Functions from base classes
+
+        
+        
+        void CloseTest();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:
+        void CreateThreadL();
+        void ResumeThreadAndVerifyExitL();
+        void ResourceFilePanicTestL();
+        
+        // data members
+    private:
+    
+        CPosLmMultiDbSearch*            iLandmarksMultiDbSearch;
+        RThread                         iThread;
+        TPositionLandmarksClientPanic   iExpectedPanicCode;
+        
+        TEnumStep                       iStep;
+    };
+
+#endif      // CPOSTp126_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp127.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,154 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP127_H
+#define CPOSTP127_H
+
+// INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+#include <ss_std.h>
+#include <e32std.h>
+
+// CLASS DECLARATION
+class CPosLandmarkParser;
+class CPosTp127;
+
+// Data types
+struct TThreadParam
+    {
+    void (*iTestFunction)(TDes*);
+    TDes* iMessage;
+    RThread* iThread;
+    };
+
+class CThreadMonitor : public CActive
+    {
+    public:
+
+        static CThreadMonitor* NewL(RThread* aThread);
+
+        ~CThreadMonitor();
+
+    protected:
+
+        void DoCancel();
+
+        void RunL();
+
+    private:
+
+        CThreadMonitor(RThread* aThread);
+
+        void ConstructL();
+
+    private:
+
+        RThread*    iThread;
+
+    };
+
+/**
+*  Test procedure 127
+*/
+class CPosTp127 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp127() : CLandmarkTestProcedureBase(127) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp127() {};
+
+    public: // Functions from base classes
+
+        /**
+        * From CUtfwTestBase
+        * Retrieves the test module name
+        * @param aName The name of the test module.
+        */
+        void GetName(
+            TDes&   aName
+            ) const;
+
+        /**
+        * From CUtfwTestBase
+        * Always called before StartL()
+        */
+        void InitTestL();
+
+        /**
+        * From CUtfwTestBase
+        * Always called, even if test leaves
+        */
+        void CloseTest();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    public: // New functions
+       
+        static void MultipleDbCategorySearchL(TDes* aMessage);
+
+        static void MultipleDbLandmarkSearchL(TDes* aMessage);
+
+        static void MultipleDbLandmarkWithoutCategorySearchL(TDes* aMessage);
+
+        static void LockDatabaseL(TDes* aMessage);
+        
+        static void DbManagementL(TDes* aMessage);
+
+        static void DbAccessL(TDes* aMessage);
+
+        static void SingleDbSearchL(TDes* aMessage);
+        
+        static void MultipleDbSearchL(TDes* aMessage);        
+
+        static void CopyLockedDatabaseL(TDes* aMessage);        
+
+        static void CopyDatabaseL(TDes* aMessage);        
+
+    private:
+
+        TBool ResumeThreadsAndVerifyExitL(const RArray<TThreadParam>& aThreadParams);
+        
+        TBool MultipleDbSearchClientsL(TBool aLockDb);
+        
+        TBool MultipleLmClientsL();
+        
+        TBool VerifyInUseWhenCopyL();
+
+        TBool VerifyCopyStressL();
+
+    private:
+
+        TBuf<100>               iBuf;
+
+    };
+
+#endif      // CPOSTP127_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp13.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,85 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP13_H
+#define CPOSTP13_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+#include <StifParser.h>
+
+
+
+enum TStifDialogType
+    {
+    EStifDialogTypeYesNo,
+    EStifDialogTypeOk,
+    EStifDialogTypeOkCancel,
+    EStifDialogTypeRetryCancel,
+    EStifDialogTypeYesNoCancel
+    };
+// CLASS DECLARATION
+
+/**
+*  Test procedure 13
+*/
+class CPosTp13 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        
+        CPosTp13(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {iErrorsFound = KErrNone;};
+        /**
+        * Destructor.
+        */
+        ~CPosTp13() {};
+
+    public: // Functions from base classes
+    
+         
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL(CStifItemParser&);
+
+        
+        void CloseTest();
+
+    private:
+        
+        void ListCategoriesL( CPosLmCategoryManager& aCatMan );
+        
+        void FindLandmarksL( 
+            CPosLandmarkDatabase& aDb, 
+            TPosLmItemId aCategoryId,  
+            RArray<TPosLmItemId>& aLmIds );
+
+        CPosLandmark* FindLandmarkLC( CPosLandmarkDatabase& aDb, const TDesC& aName );
+
+    private:
+		TInt			iErrorsFound;
+    };
+
+#endif      // CPOSTP13_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp130.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,138 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP130_H
+#define CPOSTP130_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+#include "FT_CPosTp119.h"
+
+// FORWARD DECLARATIONS
+class CPosLmMultiDbSearch;
+
+// DATA TYPES
+class CMatchIteratorTester : public CActive
+    {
+    public:  // Constructors and destructor
+        
+        static CMatchIteratorTester* NewLC(
+        		CDesCArray* aDbUris, CStifLogger* iLog);        
+        ~CMatchIteratorTester();
+
+    public: // Functions from base classes
+
+        void RunL();
+        void DoCancel();
+        TInt RunError(TInt aError);
+
+    public: // New Functions
+    
+        void RunTestL(
+            CPosLmMultiDbSearch* aMultiSearcher,
+            CPosLmOperation* aSearchOperation,
+            RPointerArray<RIdArray>& aExpectedResult);        
+        TInt Result() const;     
+        void GetErrorMsg(TPtrC& aMsg) const;
+
+    private: 
+    
+        // Constructor
+        CMatchIteratorTester( CDesCArray* aDbUris, CStifLogger* aLog );
+        
+        void VerifyIteratorsL(TInt aResult);        
+        void CompareIteratorsL(CPosLmItemIterator& aNewIter, CPosLmItemIterator& aOldIter);
+        void SetErrorAndLeaveL(const TDesC& aErrMsg);
+
+    private: // Data
+
+        HBufC*              iErrorMsg;
+        TInt                iResult;
+        TReal32             iProgress;
+        CDesCArray*         iDbUris;
+        CPosLmOperation*    iOperation;
+        RPointerArray<CPosLmItemIterator> iIterators;
+        CPosLmMultiDbSearch* iMultiSearcher;
+        RPointerArray<RIdArray>*    iExpectedResult;
+        CStifLogger* iLog;
+    };    
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 130
+*/
+class CPosTp130 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        //CPosTp130() : CLandmarkTestProcedureBase(130) {};
+        CPosTp130(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp130() {};
+
+    public: // Functions from base classes
+
+       
+        /**
+        * From CLandmarkTestProcedureBase
+        * Initializes the test in the module
+        */
+        virtual void InitTestL();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Closes the test in the module
+        */
+        virtual void CloseTest();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:
+    
+        void SearchForLandmarksL();
+        void SearchForCategoriesL();        
+        void VerifyIteratorsL(RArray<TInt>& aNrOfExpectedItems, TBool aLm);
+        void TestErrorCodesL();
+        void TestMatchIteratorL(TBool aSearchLm);
+        
+        void InitExpectedResultsL( const TDesC& aDbName, RIdArray& aArray, TBool aSearchLm );
+
+    private: // Data
+    
+        CDesCArray*             iDbUris;
+        TInt                    iInitialDbCount;
+        CPosLmMultiDbSearch*    iDbSearcher;
+        RPointerArray<RIdArray>        iExpectedLmResult; // contains expected matches when search patern is *e*
+        RPointerArray<RIdArray>        iExpectedCatResult; // contains expected matches when search patern is *e*
+
+    };
+    
+#endif      // CPOSTP130_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp131.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,98 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP131_H
+#define CPOSTP131_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 131
+*/
+class CPosTp131 : public CLandmarkTestProcedureBase, public MProgressObserver
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+       
+        CPosTp131(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {iAscendedSorted = ETrue;iErrorsFound=KErrNone;iPartialFlag=EFalse;};
+        /**
+        * Destructor.
+        */
+        ~CPosTp131() {};
+
+    public: // Functions from base classes
+
+        
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+        
+        void CloseTest();
+        
+        /**
+        * From MProgressObserver
+        * Notifies the progress of the execution of a CPosLmOperation object.
+        *
+        * @param sProgress the progress of the operation
+        */
+        void NotifyProgress(TReal aProgress);
+
+    private:
+
+        void SearchL(
+            const RPointerArray<CSearchResult>& aSearchResults, 
+            TExecutionMode aExecutionMode);
+
+        void SearchWithSortOrderL(const RPointerArray<CSearchResult>& aSearchResults);
+        
+        void SearchPartialLandmarksL(const RPointerArray<CSearchResult>& aSearchResults);
+        
+        void CheckPartialErrorCodeL(const TBool aPartial, const TInt aErr);
+        
+        void CheckPartialLandmarkL(const CPosLandmark& aLandmark, 
+                                     const CPosLandmark::TAttributes& aAttr,
+                                     const RArray<TUint>& aReqFields);
+        
+        void CheckResetL(const RPointerArray<CSearchResult>& aSearchResults);
+        
+        void CancelTestL(const RPointerArray<CSearchResult>& aSearchResults);
+        
+        void LandmarksSortL(RArray<TPosLmItemId>& aArray, const TPosLmSortPref& aSortPref);
+        
+        void ExecuteLmOpL();
+        
+        private:
+        
+        	CPosLmDisplayData* iDisplayData;
+        	TBool iAscendedSorted;
+        	TInt iErrorsFound;
+        	TBool iPartialFlag;
+    };
+
+#endif      // CPOSTP131_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp132.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,105 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP132_H
+#define CPOSTP132_H
+
+//  INCLUDES
+#include "EPos_LandmarksErrors.h"
+
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 132
+*/
+class CPosTp132 : public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+       
+        CPosTp132(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {iErrorsFound=KErrNone;};
+        /**
+        * Destructor.
+        */
+        ~CPosTp132() {};
+
+    public:
+       
+        /**
+        * Includes both Panic testing and testing of correct leave codes
+        */
+        static void RunPanicTestL(TAny* aData);
+       
+    public: // Functions from base classes
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Always called, even if the test leaves
+        */
+        void CloseTest();
+        
+        /**
+        * Used as a callback method to unset display data
+        * from landmark search
+        * @param self
+        */
+        TInt static UnsetTest(TAny* aSelf);
+        
+        /**
+        * Used as a callback method to unset display data
+        * from landmark multidb search
+        * @param self
+        */
+        TInt static UnsetMultiSearch(TAny* aSelf);
+
+    private:
+
+      void CreateThreadL();
+
+      void ResumeThreadAndVerifyExit();
+
+      void RunLeaveTestL();
+
+    public:
+        // Use this enum to define if the thread should exit with panic or leave or return normally
+        enum ExitType {ExitPanic, ExitLeave, ExitNormal};
+
+    private:
+
+        RThread     iThread;
+        TInt        iExpectedErrorCode;
+        ExitType    iExpectedExitType;
+        TInt        iTestCase;
+        TInt        iErrorsFound;
+    };
+
+#endif      // CPOSTP132_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp133.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,114 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP133_H
+#define CPOSTP133_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+class CPosLmMultiDbSearch;
+/**
+*  Test procedure 133
+*/
+class CPosTp133 : public CLandmarkTestProcedureBase, public MProgressObserver
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+       
+         CPosTp133(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {iLastNrOfDisplayData=0;iAscendedSorted = ETrue;iErrorsFound=KErrNone;iPartialFlag=EFalse;};
+        /**
+        * Destructor.
+        */
+        ~CPosTp133() {};
+
+    public: // Functions from base classes
+
+        
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+        
+        void CloseTest();
+        
+        /**
+        * From MProgressObserver
+        * Notifies the progress of the execution of a CPosLmOperation object.
+        *
+        * @param sProgress the progress of the operation
+        */
+        void NotifyProgress(TReal aProgress);
+
+    private:
+            
+       void DoSearchL(
+            const RPointerArray<CSearchResult>& aSearchResults, CDesCArray* aDbUris, 
+            					TExecutionMode aExecutionMode);
+
+        void SearchPartialLandmarksL(TInt aWhatIndexToSerrachFor, 
+        							const RPointerArray<CSearchResult>& aSearchResults,
+        							CDesCArray* aDbUris);
+        
+        void CheckPartialErrorCodeL(const TBool aPartial, const TInt aErr);
+        
+        void CheckPartialLandmarkL(const CPosLandmark& aLandmark, 
+                                     const CPosLandmark::TAttributes& aAttr,
+                                     const RArray<TUint>& aReqFields);
+                                     
+        void SearchPartialWithoutNameL(const RPointerArray<CSearchResult>& aSearchResults,
+        							CDesCArray* aDbUris);
+        
+        void CheckResetL(const RPointerArray<CSearchResult>& aSearchResults, CDesCArray* aDbUris);
+        
+        void CancelTestL(const RPointerArray<CSearchResult>& aSearchResults, 
+        				CDesCArray* aDbUris, TBool aCancelInCallback);
+        
+        void LandmarksSortL(RArray<TPosLmItemId>& aArray, const TPosLmSortPref& aSortPref);
+        
+        /**
+        * Execute search operation, add testclass as observer
+        */
+        void ExecuteLmOpL();
+        
+        /**
+        * Execute search operation but cancel in callback, add testclass as observer
+        */
+        void ExecuteLmOpInCallbackL();
+        
+        private:
+        
+        	CPosLmDisplayData* iDisplayData;
+        	TBool iAscendedSorted;
+        	TInt iErrorsFound;
+        	TBool iPartialFlag;
+        	CPosLmMultiDbSearch* iMultiLandmarkSearch;
+        	TInt iLastNrOfDisplayData;
+        	RArray<TPosLmItemId>* iJustNowSearchResults;
+        	
+    };
+
+#endif      // CPOSTP133_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp134.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,88 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp134_H
+#define CPOSTp134_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+
+// CLASS DECLARATION
+const TInt KTopTest = 17;
+/**
+*  Test procedure 134
+*/
+class CPosTp134 : public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+      
+        CPosTp134(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {iErrorsFound=KErrNone;};
+        /**
+        * Destructor.
+        */
+        ~CPosTp134() {iDbArray.ResetAndDestroy();
+                      delete iDbMan;};
+
+    public: // Functions from base classes
+
+       
+        void CloseTest();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:
+        void CheckInfoL(
+                        HPosLmDatabaseInfo* aDbInfo,
+                        TInt aTestNr
+                        );
+        void SetupExpectedResultsL();
+        
+        void CheckUriLengthL(
+                        const TDesC& aUri,
+                        TInt aExpectedErrorCode
+                        );
+
+        
+        // data members
+    private:
+        CPosLmDatabaseManager* iDbMan;
+        
+        TChar      iDbDrive[KTopTest];
+        TMediaType iMediaType[KTopTest];
+        TBool      iDefaultDb[KTopTest];
+        TBuf<50>   iDbUri[KTopTest];
+        TBuf<10>   iProtocol[KTopTest];
+        TBuf<25>   iDbName[KTopTest];
+        TBool      iAttrSet[KTopTest];
+        RPointerArray<HPosLmDatabaseInfo> iDbArray;
+        TInt       iErrorsFound;
+    };
+
+#endif      // CPOSTp134_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp135.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,69 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP135_H
+#define CPOSTP135_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+/**
+*  Test procedure 135
+*/
+class CPosTp135 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        
+        CPosTp135(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {iErrorsFound=KErrNone;};
+        /**
+        * Destructor.
+        */
+        ~CPosTp135() {};
+
+    public: // Functions from base classes
+
+       
+        void CloseTest();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+        
+    private:
+    
+    void VerifyDbListL(CDesCArray* aDbArray);
+    
+    void VerifyDbInfoListL(RPointerArray<HPosLmDatabaseInfo> aDbInfoList, RPointerArray<HPosLmDatabaseInfo> aDbInfoList2);
+
+    private:
+          CDesCArray* iDbArray;
+          TInt        iErrorsFound;
+
+    };
+    
+#endif      // CPOSTP135_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp136.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,68 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp136_H
+#define CPOSTp136_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 136
+*/
+class CPosTp136 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        
+        CPosTp136(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp136() {};
+
+    public: // Functions from base classes
+
+       
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+        
+        void CloseTest();
+
+    private:
+    
+        void TestImportL(const TDesC& aFile, const TDesC8& aMime);
+        
+        void TestParseL(const TDesC& aFile, const TDesC8& aMime);
+        
+        TInt iErrorsFound;
+    };
+    
+
+#endif      // CPOSTp136_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp137.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,73 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp137_H
+#define CPOSTp137_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 137
+*/
+class CPosTp137 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+       
+        CPosTp137(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp137() {};
+
+    public: // Functions from base classes
+
+        
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+        
+        void CloseTest();
+
+    private:
+    
+        void TestImportEmptyDbL(const TDesC& aFile, const TDesC8& aMime);
+        
+        void TestImport1L(const TDesC& aFile, const TDesC8& aMime);
+        
+        void CheckLandmarkL(TPosLmItemId aLandmarkId, RArray<TPosLmItemId> aCategoriesList);
+        
+    private:
+    
+        CPosLandmarkParser* iLandmarkParser;
+        TInt iErrorsFound;
+    };
+    
+
+#endif      // CPOSTp137_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp139.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,57 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP139_H
+#define CPOSTP139_H
+
+//  INCLUDES
+#include <EPos_CPosLmAreaCriteria.h>
+
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 24
+*/
+class CPosTp139 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+       
+        CPosTp139(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp139() {};
+
+		
+	public:		
+	
+        void GetSortAttribute();
+        
+                    
+    };
+
+#endif      // CPosTp139_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp141.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,63 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP141_H
+#define CPOSTP141_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 141
+*/
+class CPosTp141 : public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+      
+        CPosTp141(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp141() {};
+
+    public: // Functions from base classes
+
+       
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+        void CloseTest();
+    private:
+
+        
+        void TestInvalidPositionFieldsL();
+    };
+
+#endif      // CPOSTP141_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp143.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,73 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPosTp143_H
+#define CPosTp143_H
+
+#include <EPos_CPosLandmark.h> 
+#include "FT_CLandmarkTestProcedureBase.h"
+
+/**
+*  Test procedure 143
+*/
+class CPosTp143 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+       
+       CPosTp143(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp143() {};
+
+    public: // Functions from base classes
+
+       
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Cleans up after a test.
+        * Always called, even if the test leaves. 
+        */
+        void CloseTest();
+
+    private:
+
+        void AddLandmarksL();
+        
+        void CheckCountersL();
+
+    private: // data
+        
+        RPointerArray<CPosLandmark> iLandmarks;
+    };
+
+#endif      // CPosTp143_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp144.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,73 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP144_H
+#define CPOSTP144_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+#include <StifLogger.h>
+#include "lcfsbucommondefinitions.h"
+
+
+
+/**
+*  Test procedure 144
+*/
+class CPosTp144 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp144(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp144() {};
+
+    public: // Functions from base classes
+
+        
+        void StartL();
+
+    private:
+
+		void DumpBuffer(const TDesC8& aBuffer);
+         // check serialization
+        void CheckLmSerializationL();
+        
+        CPosLandmark* CreateDummyLandmarkLC();
+        void CompareLandmarks(CPosLandmark& aLm1, CPosLandmark& aLm2);
+        void CompareBuffers(const TDesC8& aBuf1, const TDesC8& aBuf2);
+        
+        void CheckLmSerialization_SubL(CPosLandmark* lm);
+        
+    private:
+        // common variables used in tests
+        TInt                    iErrorCounter;
+
+
+    };
+
+#endif      // CPOSTP144_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp145.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,71 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP145_H
+#define CPOSTP145_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+#include <StifLogger.h>
+#include "lcfsbucommondefinitions.h"
+
+
+
+/**
+*  Test procedure 145
+*/
+class CPosTp145 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp145(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp145() {};
+
+    public: // Functions from base classes
+
+        
+        void StartL();
+
+    private:
+
+		//void DumpBuffer(const TDesC8& aBuffer);
+         // check category serialization
+        void CheckLmCatSerializationL();
+        void CheckLmCatSerialization_SubL(CPosLandmarkCategory* aTest);
+        void CompareBuffers(const TDesC8& aBuf1, const TDesC8& aBuf2);
+        CPosLandmarkCategory* CreateDummyCategoryLC();
+        void CompareCategoriesL(CPosLandmarkCategory& aCat1, CPosLandmarkCategory& aCat2);
+        
+    private:
+        // common variables used in tests
+        TInt                    iErrorCounter;
+
+
+    };
+
+#endif      // CPOSTP145_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp146.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,70 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP146_H
+#define CPOSTP146_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+#include <StifLogger.h>
+#include "lcfsbucommondefinitions.h"
+
+
+
+/**
+*  Test procedure 146
+*/
+class CPosTp146 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp146(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp146() {};
+
+    public: // Functions from base classes
+
+        
+        void StartL();
+
+    private:
+
+		
+         // check  serialization invalid
+         void CheckLmCatSerializationInvalidL();
+        CPosLandmark* CreateDummyLandmarkLC();
+        CPosLandmarkCategory* CreateDummyCategoryLC();
+        
+        
+    private:
+        // common variables used in tests
+        TInt                    iErrorCounter;
+
+
+    };
+
+#endif      // CPOSTP146_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp147.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,73 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP147_H
+#define CPOSTP147_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+#include <StifLogger.h>
+#include "lcfsbucommondefinitions.h"
+
+
+
+/**
+*  Test procedure 147
+*/
+class CPosTp147 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp147(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp147() {};
+
+    public: // Functions from base classes
+
+        
+        void StartL();
+
+    private:
+
+		
+         // check  serialization memory
+         void CheckSerializationMemoryL();
+         CPosLandmark* CreateDummyLandmarkLC();
+        CPosLandmarkCategory* CreateDummyCategoryLC();
+            void CheckLmSerialization_MemoryL();
+            void CheckLmCatSerialization_MemoryL();
+            
+        
+        
+    private:
+        // common variables used in tests
+        TInt                    iErrorCounter;
+
+
+    };
+
+#endif      // CPOSTP147_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp148.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,100 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp148_H
+#define CPOSTp148_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+class CPosLandmarkParser;
+class CPosLandmarkEncoder;
+/**
+*  Test procedure 148
+*/
+class CPosTp148 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+       
+        CPosTp148(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp148() {};
+        
+        
+  public: // Functions from base classes
+
+        void CloseTest();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:
+
+        /**
+        * 
+        * @aFile the file name
+        */
+        void PrintParsedDataFromEncoderL(
+            const TDesC& aFile, 
+            const TDesC8&  aBuffer, 
+            TInt aExpectedStatusCode,
+            const TDesC8& aMimeType);
+            
+            
+       void PrintLandmarkFieldsWithDescriptionL(const CPosLandmark& aLandmark, TBool aTraceFlag=EFalse);
+       
+       /**
+        * Check that cancel of parse is correct
+        */
+        void DoCancelTestL();
+
+
+        /**
+        * Trace to trace file
+        */
+        void TraceL(const TDesC& msg);
+        
+            private:
+        CPosLandmarkParser* iLandmarkParser;
+
+        CPosLandmarkEncoder* iLandmarkEncoder;
+
+        RPointerArray<CPosLandmark> iLandmarks;
+
+        TInt iErrorsFound;
+
+        CBufBase* iEncoderBuffer;
+        
+        CPosLmCategoryManager* iCategoryManager;
+
+    };
+
+#endif      // CPOSTp148_H
+            
+// End of File
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp149.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,100 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp149_H
+#define CPOSTp149_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+class CPosLandmarkParser;
+class CPosLandmarkEncoder;
+/**
+*  Test procedure 149
+*/
+class CPosTp149 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+       
+        CPosTp149(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp149() {};
+        
+        
+  public: // Functions from base classes
+
+        void CloseTest();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:
+
+        /**
+        * 
+        * @aFile the file name
+        */
+        void PrintParsedDataFromEncoderL(
+            const TDesC& aFile, 
+            const TDesC8&  aBuffer, 
+            TInt aExpectedStatusCode,
+            const TDesC8& aMimeType);
+            
+            
+       void PrintLandmarkFieldsWithDescriptionL(const CPosLandmark& aLandmark, TBool aTraceFlag=EFalse);
+       
+       /**
+        * Check that cancel of parse is correct
+        */
+        void DoCancelTestL();
+
+
+        /**
+        * Trace to trace file
+        */
+        void TraceL(const TDesC& msg);
+        
+            private:
+        CPosLandmarkParser* iLandmarkParser;
+
+        CPosLandmarkEncoder* iLandmarkEncoder;
+
+        RPointerArray<CPosLandmark> iLandmarks;
+
+        TInt iErrorsFound;
+
+        CBufBase* iEncoderBuffer;
+        
+        CPosLmCategoryManager* iCategoryManager;
+
+    };
+
+#endif      // CPOSTp149_H
+            
+// End of File
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp15.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,71 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP15_H
+#define CPOSTP15_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 15
+*/
+class CPosTp15 : public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp15() : CLandmarkTestProcedureBase(15) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp15() {};
+
+    public: // Functions from base classes
+
+        /**
+        * From CUtfwTestBase
+        * Retrieves the test module name
+        * @param aName The name of the test module.
+        */
+        void GetName(
+            TDes&   aName
+            ) const;
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+        void TestInitializeDatabaseL(const TBool aSyncronously=EFalse);
+        
+        void TestInitializeWithUserWaitForL();
+
+        void TestInitializeDatabaseAndCancelL();
+    };
+
+#endif      // CPOSTP15_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp150.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,100 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp150_H
+#define CPOSTp150_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+class CPosLandmarkParser;
+class CPosLandmarkEncoder;
+/**
+*  Test procedure 150
+*/
+class CPosTp150 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+       
+        CPosTp150(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp150() {};
+        
+        
+  public: // Functions from base classes
+
+        void CloseTest();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:
+
+        /**
+        * 
+        * @aFile the file name
+        */
+        void PrintParsedDataFromEncoderL(
+            const TDesC& aFile, 
+            const TDesC8&  aBuffer, 
+            TInt aExpectedStatusCode,
+            const TDesC8& aMimeType);
+            
+            
+       void PrintLandmarkFieldsWithDescriptionL(const CPosLandmark& aLandmark, TBool aTraceFlag=EFalse);
+       
+       /**
+        * Check that cancel of parse is correct
+        */
+        void DoCancelTestL();
+
+
+        /**
+        * Trace to trace file
+        */
+        void TraceL(const TDesC& msg);
+        
+            private:
+        CPosLandmarkParser* iLandmarkParser;
+
+        CPosLandmarkEncoder* iLandmarkEncoder;
+
+        RPointerArray<CPosLandmark> iLandmarks;
+
+        TInt iErrorsFound;
+
+        CBufBase* iEncoderBuffer;
+        
+        CPosLmCategoryManager* iCategoryManager;
+
+    };
+
+#endif      // CPOSTp150_H
+            
+// End of File
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp151.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,100 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp151_H
+#define CPOSTp151_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+class CPosLandmarkParser;
+class CPosLandmarkEncoder;
+/**
+*  Test procedure 151
+*/
+class CPosTp151 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+       
+        CPosTp151(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp151() {};
+        
+        
+  public: // Functions from base classes
+
+        void CloseTest();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:
+
+        /**
+        * 
+        * @aFile the file name
+        */
+        void PrintParsedDataFromEncoderL(
+            const TDesC& aFile, 
+            const TDesC8&  aBuffer, 
+            TInt aExpectedStatusCode,
+            const TDesC8& aMimeType);
+            
+            
+       void PrintLandmarkFieldsWithDescriptionL(const CPosLandmark& aLandmark, TBool aTraceFlag=EFalse);
+       
+       /**
+        * Check that cancel of parse is correct
+        */
+        void DoCancelTestL();
+
+
+        /**
+        * Trace to trace file
+        */
+        void TraceL(const TDesC& msg);
+        
+            private:
+        CPosLandmarkParser* iLandmarkParser;
+
+        CPosLandmarkEncoder* iLandmarkEncoder;
+
+        RPointerArray<CPosLandmark> iLandmarks;
+
+        TInt iErrorsFound;
+
+        CBufBase* iEncoderBuffer;
+        
+        CPosLmCategoryManager* iCategoryManager;
+
+    };
+
+#endif      // CPOSTp151_H
+            
+// End of File
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp152.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,100 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp152_H
+#define CPOSTp152_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+class CPosLandmarkParser;
+class CPosLandmarkEncoder;
+/**
+*  Test procedure 152
+*/
+class CPosTp152 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+       
+        CPosTp152(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp152() {};
+        
+        
+  public: // Functions from base classes
+
+        void CloseTest();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:
+
+        /**
+        * 
+        * @aFile the file name
+        */
+        void PrintParsedDataFromEncoderL(
+            const TDesC& aFile, 
+            const TDesC8&  aBuffer, 
+            TInt aExpectedStatusCode,
+            const TDesC8& aMimeType);
+            
+            
+       void PrintLandmarkFieldsWithDescriptionL(const CPosLandmark& aLandmark, TBool aTraceFlag=EFalse);
+       
+       /**
+        * Check that cancel of parse is correct
+        */
+        void DoCancelTestL();
+
+
+        /**
+        * Trace to trace file
+        */
+        void TraceL(const TDesC& msg);
+        
+            private:
+        CPosLandmarkParser* iLandmarkParser;
+
+        CPosLandmarkEncoder* iLandmarkEncoder;
+
+        RPointerArray<CPosLandmark> iLandmarks;
+
+        TInt iErrorsFound;
+
+        CBufBase* iEncoderBuffer;
+        
+        CPosLmCategoryManager* iCategoryManager;
+
+    };
+
+#endif      // CPOSTp152_H
+            
+// End of File
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp153.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,100 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp153_H
+#define CPOSTp153_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+class CPosLandmarkParser;
+class CPosLandmarkEncoder;
+/**
+*  Test procedure 153
+*/
+class CPosTp153 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+       
+        CPosTp153(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp153() {};
+        
+        
+  public: // Functions from base classes
+
+        void CloseTest();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:
+
+        /**
+        * 
+        * @aFile the file name
+        */
+        void PrintParsedDataFromEncoderL(
+            const TDesC& aFile, 
+            const TDesC8&  aBuffer, 
+            TInt aExpectedStatusCode,
+            const TDesC8& aMimeType);
+            
+            
+       void PrintLandmarkFieldsWithDescriptionL(const CPosLandmark& aLandmark, TBool aTraceFlag=EFalse);
+       
+       /**
+        * Check that cancel of parse is correct
+        */
+        void DoCancelTestL();
+
+
+        /**
+        * Trace to trace file
+        */
+        void TraceL(const TDesC& msg);
+        
+            private:
+        CPosLandmarkParser* iLandmarkParser;
+
+        CPosLandmarkEncoder* iLandmarkEncoder;
+
+        RPointerArray<CPosLandmark> iLandmarks;
+
+        TInt iErrorsFound;
+
+        CBufBase* iEncoderBuffer;
+        
+        CPosLmCategoryManager* iCategoryManager;
+
+    };
+
+#endif      // CPOSTp153_H
+            
+// End of File
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp154.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,100 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp154_H
+#define CPOSTp154_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+class CPosLandmarkParser;
+class CPosLandmarkEncoder;
+/**
+*  Test procedure 154
+*/
+class CPosTp154 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+       
+        CPosTp154(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp154() {};
+        
+        
+  public: // Functions from base classes
+
+        void CloseTest();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:
+
+        /**
+        * 
+        * @aFile the file name
+        */
+        void PrintParsedDataFromEncoderL(
+            const TDesC& aFile, 
+            const TDesC8&  aBuffer, 
+            TInt aExpectedStatusCode,
+            const TDesC8& aMimeType);
+            
+            
+       void PrintLandmarkFieldsWithDescriptionL(const CPosLandmark& aLandmark, TBool aTraceFlag=EFalse);
+       
+       /**
+        * Check that cancel of parse is correct
+        */
+        void DoCancelTestL();
+
+
+        /**
+        * Trace to trace file
+        */
+        void TraceL(const TDesC& msg);
+        
+            private:
+        CPosLandmarkParser* iLandmarkParser;
+
+        CPosLandmarkEncoder* iLandmarkEncoder;
+
+        RPointerArray<CPosLandmark> iLandmarks;
+
+        TInt iErrorsFound;
+
+        CBufBase* iEncoderBuffer;
+        
+        CPosLmCategoryManager* iCategoryManager;
+
+    };
+
+#endif      // CPOSTp154_H
+            
+// End of File
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp155.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,100 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp155_H
+#define CPOSTp155_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+class CPosLandmarkParser;
+class CPosLandmarkEncoder;
+/**
+*  Test procedure 155
+*/
+class CPosTp155 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+       
+        CPosTp155(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp155() {};
+        
+        
+  public: // Functions from base classes
+
+        void CloseTest();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:
+
+        /**
+        * 
+        * @aFile the file name
+        */
+        void PrintParsedDataFromEncoderL(
+            const TDesC& aFile, 
+            const TDesC8&  aBuffer, 
+            TInt aExpectedStatusCode,
+            const TDesC8& aMimeType);
+            
+            
+       void PrintLandmarkFieldsWithDescriptionL(const CPosLandmark& aLandmark, TBool aTraceFlag=EFalse);
+       
+       /**
+        * Check that cancel of parse is correct
+        */
+        void DoCancelTestL();
+
+
+        /**
+        * Trace to trace file
+        */
+        void TraceL(const TDesC& msg);
+        
+            private:
+        CPosLandmarkParser* iLandmarkParser;
+
+        CPosLandmarkEncoder* iLandmarkEncoder;
+
+        RPointerArray<CPosLandmark> iLandmarks;
+
+        TInt iErrorsFound;
+
+        CBufBase* iEncoderBuffer;
+        
+        CPosLmCategoryManager* iCategoryManager;
+
+    };
+
+#endif      // CPOSTp155_H
+            
+// End of File
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp156.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,100 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp156_H
+#define CPOSTp156_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+class CPosLandmarkParser;
+class CPosLandmarkEncoder;
+/**
+*  Test procedure 156
+*/
+class CPosTp156 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+       
+        CPosTp156(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp156() {};
+        
+        
+  public: // Functions from base classes
+
+        void CloseTest();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:
+
+        /**
+        * 
+        * @aFile the file name
+        */
+        void PrintParsedDataFromEncoderL(
+            const TDesC& aFile, 
+            const TDesC8&  aBuffer, 
+            TInt aExpectedStatusCode,
+            const TDesC8& aMimeType);
+            
+            
+       void PrintLandmarkFieldsWithDescriptionL(const CPosLandmark& aLandmark, TBool aTraceFlag=EFalse);
+       
+       /**
+        * Check that cancel of parse is correct
+        */
+        void DoCancelTestL();
+
+
+        /**
+        * Trace to trace file
+        */
+        void TraceL(const TDesC& msg);
+        
+            private:
+        CPosLandmarkParser* iLandmarkParser;
+
+        CPosLandmarkEncoder* iLandmarkEncoder;
+
+        RPointerArray<CPosLandmark> iLandmarks;
+
+        TInt iErrorsFound;
+
+        CBufBase* iEncoderBuffer;
+        
+        CPosLmCategoryManager* iCategoryManager;
+
+    };
+
+#endif      // CPOSTp156_H
+            
+// End of File
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp157.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,94 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp157_H
+#define CPOSTp157_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+class CPosLandmarkParser;
+class CPosLandmarkEncoder;
+/**
+*  Test procedure 157
+*/
+class CPosTp157 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+       
+        CPosTp157(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp157() {};
+        
+        
+  public: // Functions from base classes
+
+        void CloseTest();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:
+
+        /**
+        * 
+        * @aFile the file name
+        */
+        void PrintParsedDataFromEncoderL(
+            const TDesC& aFile, 
+            const TDesC8&  aBuffer, 
+            TInt aExpectedStatusCode,
+            const TDesC8& aMimeType);
+            
+            
+      
+
+        /**
+        * Trace to trace file
+        */
+        void TraceL(const TDesC& msg);
+        
+            private:
+        CPosLandmarkParser* iLandmarkParser;
+
+        CPosLandmarkEncoder* iLandmarkEncoder;
+
+        RPointerArray<CPosLandmark> iLandmarks;
+
+        TInt iErrorsFound;
+
+        CBufBase* iEncoderBuffer;
+        
+        CPosLmCategoryManager* iCategoryManager;
+
+    };
+
+#endif      // CPOSTp157_H
+            
+// End of File
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp158.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,100 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp158_H
+#define CPOSTp158_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+class CPosLandmarkParser;
+class CPosLandmarkEncoder;
+/**
+*  Test procedure 158
+*/
+class CPosTp158 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+       
+        CPosTp158(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp158() {};
+        
+        
+  public: // Functions from base classes
+
+        void CloseTest();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:
+
+        /**
+        * 
+        * @aFile the file name
+        */
+        void PrintParsedDataFromEncoderL(
+            const TDesC& aFile, 
+            const TDesC8&  aBuffer, 
+            TInt aExpectedStatusCode,
+            const TDesC8& aMimeType);
+            
+            
+       void PrintLandmarkFieldsWithDescriptionL(const CPosLandmark& aLandmark, TBool aTraceFlag=EFalse);
+       
+       /**
+        * Check that cancel of parse is correct
+        */
+        void DoCancelTestL();
+
+
+        /**
+        * Trace to trace file
+        */
+        void TraceL(const TDesC& msg);
+        
+            private:
+        CPosLandmarkParser* iLandmarkParser;
+
+        CPosLandmarkEncoder* iLandmarkEncoder;
+
+        RPointerArray<CPosLandmark> iLandmarks;
+
+        TInt iErrorsFound;
+
+        CBufBase* iEncoderBuffer;
+        
+        CPosLmCategoryManager* iCategoryManager;
+
+    };
+
+#endif      // CPOSTp158_H
+            
+// End of File
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp159.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,93 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp159_H
+#define CPOSTp159_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+class CPosLandmarkParser;
+class CPosLandmarkEncoder;
+/**
+*  Test procedure 159
+*/
+class CPosTp159 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+       
+        CPosTp159(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp159() {};
+        
+        
+  public: // Functions from base classes
+
+        void CloseTest();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:
+
+        /**
+        * 
+        * @aFile the file name
+        */
+        void PrintParsedDataFromEncoderL(
+            const TDesC& aFile, 
+            const TDesC8&  aBuffer, 
+            TInt aExpectedStatusCode,
+            const TDesC8& aMimeType);
+            
+            
+       
+        /**
+        * Trace to trace file
+        */
+        void TraceL(const TDesC& msg);
+        
+            private:
+        CPosLandmarkParser* iLandmarkParser;
+
+        CPosLandmarkEncoder* iLandmarkEncoder;
+
+        RPointerArray<CPosLandmark> iLandmarks;
+
+        TInt iErrorsFound;
+
+        CBufBase* iEncoderBuffer;
+        
+        CPosLmCategoryManager* iCategoryManager;
+
+    };
+
+#endif      // CPOSTp159_H
+            
+// End of File
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp16.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,82 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP16_H
+#define CPOSTP16_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 16
+*/
+class CPosTp16 : public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp16() : CLandmarkTestProcedureBase(16) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp16() {};
+
+    public: // Functions from base classes
+
+        /**
+        * From CUtfwTestBase
+        * Retrieves the test module name
+        * @param aName The name of the test module.
+        */
+        void GetName(
+            TDes&   aName
+            ) const;
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+        void CloseTest();
+    
+    private:
+        CPosLandmarkDatabase* UseCorruptDbL();
+        CPosLandmarkDatabase* UseTextDbL();
+        CPosLandmarkDatabase* UseContactDbL();
+
+        // check that global categories are automatically inserter into lm db 
+        // when recovering database
+        void CheckGlobalCategoriesL();
+
+        void SetupGlobalCategoriesL();
+
+    private:
+        RArray<TPosLmGlobalCategory>    iGlobalCategoryIds;
+        RArray<TPtrC>                   iGlobalCategoryNames;
+    };
+
+#endif      // CPOSTP16_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp160.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,92 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp160_H
+#define CPOSTp160_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+class CPosLandmarkParser;
+class CPosLandmarkEncoder;
+/**
+*  Test procedure 160
+*/
+class CPosTp160 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+       
+        CPosTp160(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp160() {};
+        
+        
+  public: // Functions from base classes
+
+        void CloseTest();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:
+
+        /**
+        * 
+        * @aFile the file name
+        */
+        void PrintParsedDataFromEncoderL(
+            const TDesC& aFile, 
+            const TDesC8&  aBuffer, 
+            TInt aExpectedStatusCode,
+            const TDesC8& aMimeType);
+            
+            
+        /**
+        * Trace to trace file
+        */
+        void TraceL(const TDesC& msg);
+        
+            private:
+        CPosLandmarkParser* iLandmarkParser;
+
+        CPosLandmarkEncoder* iLandmarkEncoder;
+
+        RPointerArray<CPosLandmark> iLandmarks;
+
+        TInt iErrorsFound;
+
+        CBufBase* iEncoderBuffer;
+        
+        CPosLmCategoryManager* iCategoryManager;
+
+    };
+
+#endif      // CPOSTp160_H
+            
+// End of File
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp161.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,69 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp161_H
+#define CPOSTp161_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 161
+*/
+class CPosTp161 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        
+        CPosTp161(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp161() {};
+
+    public: // Functions from base classes
+
+       
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+        
+        void CloseTest();
+
+    private:
+    
+        void TestImportL(const TDesC& aFile, const TDesC8& aMime);
+        
+        void TestParseL(const TDesC& aFile, const TDesC8& aMime);
+        void CheckLandmarkL(TPosLmItemId aLandmarkId, RArray<TPosLmItemId> aCategoriesList);
+        CPosLandmarkParser* iLandmarkParser;
+        TInt iErrorsFound;
+    };
+    
+
+#endif      // CPOSTp161_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp162.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,73 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp162_H
+#define CPOSTp162_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 162
+*/
+class CPosTp162 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+       
+        CPosTp162(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp162() {};
+
+    public: // Functions from base classes
+
+        
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+        
+        void CloseTest();
+
+    private:
+    
+        void TestImportEmptyDbL(const TDesC& aFile, const TDesC8& aMime);
+        
+        void TestImport1L(const TDesC& aFile, const TDesC8& aMime);
+        
+        void CheckLandmarkL(TPosLmItemId aLandmarkId, RArray<TPosLmItemId> aCategoriesList);
+        
+    private:
+    
+        CPosLandmarkParser* iLandmarkParser;
+        TInt iErrorsFound;
+    };
+    
+
+#endif      // CPOSTp162_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp163.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,69 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp163_H
+#define CPOSTp163_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 163
+*/
+class CPosTp163 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        
+        CPosTp163(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp163() {};
+
+    public: // Functions from base classes
+
+       
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+        
+        void CloseTest();
+
+    private:
+    
+        void TestImportL(const TDesC& aFile, const TDesC8& aMime);
+        
+        void TestParseL(const TDesC& aFile, const TDesC8& aMime);
+        void CheckLandmarkL(TPosLmItemId aLandmarkId, RArray<TPosLmItemId> aCategoriesList);
+                CPosLandmarkParser* iLandmarkParser;
+        TInt iErrorsFound;
+    };
+    
+
+#endif      // CPOSTp163_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp164.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,73 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp164_H
+#define CPOSTp164_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 164
+*/
+class CPosTp164 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+       
+        CPosTp164(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp164() {};
+
+    public: // Functions from base classes
+
+        
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+        
+        void CloseTest();
+
+    private:
+    
+        void TestImportEmptyDbL(const TDesC& aFile, const TDesC8& aMime);
+        
+        void TestImport1L(const TDesC& aFile, const TDesC8& aMime);
+        
+        void CheckLandmarkL(TPosLmItemId aLandmarkId, RArray<TPosLmItemId> aCategoriesList);
+        
+    private:
+    
+        CPosLandmarkParser* iLandmarkParser;
+        TInt iErrorsFound;
+    };
+    
+
+#endif      // CPOSTp164_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp17.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,78 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP17_H
+#define CPOSTP17_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 17
+*/
+class CPosTp17 : public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp17() : CLandmarkTestProcedureBase(17) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp17() {};
+
+    public: // Functions from base classes
+
+        /**
+        * From CUtfwTestBase
+        * Retrieves the test module name
+        * @param aName The name of the test module.
+        */
+        void GetName(
+            TDes&   aName
+            ) const;
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+        void CloseTest();
+
+    private:
+
+        void SetupTestDataL();
+    
+    private: // Data
+   
+        RArray<TInt>            iFootprints;
+       
+        RArray<TPtrC>           iDllNames;
+
+    };
+
+#endif      // CPOSTP17_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp18.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,91 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP18_H
+#define CPOSTP18_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+#include <EPos_CPosLandmark.h>
+
+// CLASS DECLARATION
+
+
+/**
+*  Test procedure 18
+*/
+class CPosTp18 : public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        
+        CPosTp18(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp18() {};
+
+    public: // Functions from base classes
+
+        
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+        void CloseTest();
+    
+    private:
+
+        void TestAllPartialAttributesL();
+
+        void TestPartialPositionFieldsL();
+
+        void PreparePartialLandmarksL();
+
+        void PreparePartialLandmarksAsyncL(TExecutionMode aExecutionMode);
+        
+        void PreparePartialLandmarksAsyncAndCancelL(const TBool& aInCallback=EFalse);
+
+        void AppendFields(RArray<TUint>& aArray);
+
+        CPosLandmark* GetPartialLandmarkLC(const TPosLmItemId aId,
+                                           const CPosLmPartialReadParameters& partialParam);
+        
+        void CheckPartialLandmarkL(const CPosLandmark& aLandmark, 
+                                   const CPosLandmark::TAttributes& aAttr);
+        
+        void CheckPartialLandmarkL(const CPosLandmark& aLandmark, 
+                                   const RArray<TUint>& aReqFields,
+                                   const RArray<TBool>& aAvailFields);
+
+        void CheckPartialErrorCodeL(const TBool aPartial, const TInt aErr);
+
+    private: // data
+        CArrayPtr<CPosLandmark>*    iArrayPtr;
+
+    };
+
+#endif      // CPOSTP18_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp19.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,89 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP19_H
+#define CPOSTP19_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 19
+*/
+class CPosTp19 : public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+       
+        CPosTp19(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp19() {};
+
+    public: // Functions from base classes
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+        void CloseTest();
+
+    private:
+
+        void TestGetByNameL();
+
+        void ReadLandmarksDbFileL();
+
+        void ParseCategoryL(const TDesC& aDes);
+     
+        void SetupGlobalCategoriesL();
+
+        void TestGetGlobalL();
+        
+        void AddCategoriesL( TInt aNumofCats );
+        
+        void VerifyAddedCategoriesL();
+    
+    private: // Data
+
+        enum TValueIndex
+            {
+            ECategoryId           =0,	
+            ECategoryName         =1	
+            };
+
+        CPosLmCategoryManager*          iCategoryManager;        
+        RArray<TPosLmItemId>            iCategoryIds;        
+        RArray<TUint> iGlobalCategoryIds;
+
+        RPointerArray<HBufC>            iCategoryNames;        
+        RPointerArray<HBufC>            iGlobalCategoryNames;       
+        RPointerArray<CPosLandmarkCategory> iCategories;
+    };
+
+#endif      // CPOSTP19_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp2.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,63 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP2_H
+#define CPOSTP2_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+#include <ecom.h>
+// CLASS DECLARATION
+
+
+/**
+*  Test procedure 2
+*/
+class CPosTp2 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp2(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp2() {};
+
+    public: // Functions from base classes
+
+      
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+    
+    private:
+
+        void WaitForEcomL();
+    
+    };
+
+#endif      // CPOSTP1_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp20.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,94 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP20_H
+#define CPOSTP20_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 20
+*/
+class CPosTp20 : public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        
+        CPosTp20(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp20() {};
+
+    public: // Functions from base classes
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+        void CloseTest();
+
+    private:
+
+        CPosLandmarkDatabase* ReplaceGlobalCategoriesL();
+
+        void SetupGlobalCategoriesL();
+
+        //setup the default categories. english version
+        //how to test russian??
+        
+        void VerifyGlobalCategoriesL(TBool aCheck = ETrue);
+
+        void RenameAndDeleteGlobalL();
+        
+        void RemoveAllCategoriesL();
+        
+        
+        // Added for BC testing 
+        void UpdateGlobalCategoriesInDb();
+        
+        
+        
+
+    private: // Data
+
+         CPosLmCategoryManager*          iCategoryManager;
+         
+         RArray<TUint>    				 iGlobalCategoryIds;
+         
+
+         RPointerArray<HBufC>            iGlobalCategoryNames;
+         RArray<TPtrC>                   iGlobalCategoryTestNames;      
+         
+         TPosLmItemId			iLmId;
+         TPosLmItemId			iCategoryId;
+    };
+
+#endif      // CPOSTP20_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp21.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,114 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp21_H
+#define CPOSTp21_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 21
+*/
+class CPosTp21 : public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        //CPosTp21() : CLandmarkTestProcedureBase(21) {};
+        CPosTp21(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp21() {};
+
+    public: // Functions from base classes
+
+        /**
+        * From CUtfwTestBase
+        * Retrieves the test module name
+        * @param aName The name of the test module.
+        */
+       /* void GetName(
+            TDes&   aName
+            ) const;
+			*/
+        /**
+        * From CUtfwTestBase
+        */
+        void CloseTest();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:
+
+        void SearchL(
+            const RPointerArray<CCategoryLandmarkSearchResult>& aSearchResults, 
+            TBool aNameOrId=EFalse, 
+            TExecutionMode aExecutionMode = ESynchronous);
+
+        void SearchNonExistingL(TExecutionMode aExecutionMode);
+
+        void SearchForLandmarksInGlobalCategoriesL(TExecutionMode aExecutionMode);
+
+        void AddLandmarksToGlobalCategoriesL();       
+
+        void SearchWithSortOrderL();
+
+        void SearchAndCancelL(const TBool& aInCallback=EFalse);
+        
+        void TestSearchPatternLengthL();
+        
+        // Added for BC testing 
+                
+        void AddCategoriesL();
+
+        void AddLandmarksL();
+        
+         // Added for testing (Should be made common metod in BaseClass ??)
+        void MakeEmptyLmDatabaseL( CPosLandmarkDatabase& aLdb,
+                                   CPosLmCategoryManager& aCatMgr );  
+
+    private:      
+        TUint iRestaurantId1;
+        TUint iRestaurantId2;
+        TUint iGasStationId1;
+        TUint iGasStationId2;
+        TUint iGarageId1;
+        
+        // Added for BC testing 
+        CPosLmCategoryManager*                 iCategoryManager;
+        RPointerArray<CPosLandmarkCategory>    iCategories;        
+        //RArray<CPosLandmarkCategory>         iReferencedCategories;        
+        RPointerArray<CPosLandmarkCategory>    iReferencedCategories;        
+        RPointerArray<CPosLandmark>            iLandmarks;
+
+    };
+
+#endif      // CPOSTp21_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp23.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,81 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP23_H
+#define CPOSTP23_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 23
+*/
+class CPosTp23 : public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+      
+        CPosTp23(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp23() {};
+
+    public: // Functions from base classes
+
+       
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+        void CloseTest();
+    private:
+
+        void SearchL(
+            const RPointerArray<CSearchResult>& aSearchResults, 
+            TExecutionMode aExecutionMode);
+
+        void SearchWithSortOrderL(const RPointerArray<CSearchResult>& aSearchResults);
+
+        /**
+        * Verify error report "ESLI-62DBXR Landmarks - Sort order is not correctly implemented"
+        */
+        void VerifySortOrderL();
+
+        void SearchAndDeleteL(const RPointerArray<CSearchResult>& aSearchResults);
+
+        void SearchAndRenameL(const RPointerArray<CSearchResult>& aSearchResults);
+
+        void SearchAndCancelL(const TBool& aInCallback=EFalse);
+        
+        void TestMaxLengthL();
+        
+        void TestInvalidPositionFieldsL();
+    };
+
+#endif      // CPOSTP23_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp24.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,75 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP24_H
+#define CPOSTP24_H
+
+//  INCLUDES
+#include <EPos_CPosLmAreaCriteria.h>
+
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 24
+*/
+class CPosTp24 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+       
+        CPosTp24(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp24() {};
+
+    public: // Functions from base classes
+
+        
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+        void CloseTest();
+
+    private:
+
+        void SearchL(TExecutionMode aExecutionMode);
+
+        void SearchWithSortOrderL();
+
+        void SearchAndCancelL(const TBool& aInCallback=EFalse);
+
+        static CPosLmAreaCriteria* NewLmAreaCriteriaL(const TReal64 &aSouthLat, 
+                                               const TReal64 &aNorthLat,
+                                               const TReal64 &aWestLong, 
+                                               const TReal64 &aEastLong);
+    
+    };
+
+#endif      // CPOSTP24_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp25.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,89 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp25_H
+#define CPOSTp25_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+#include <EPos_CPosLMCategoryManager.h>
+// CLASS DECLARATION
+
+/**
+*  Test procedure 23
+*/
+class CPosTp25 : public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        
+        CPosTp25(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp25() {};
+
+    public: // Functions from base classes
+
+        void CloseTest();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:
+
+        void SearchL(
+            const RPointerArray<CCategorySearchResult>& aSearchResults, 
+            TExecutionMode aExecutionMode);
+
+        void SearchWithMaximumL(
+            const RPointerArray<CCategorySearchResult>& aSearchResults, 
+            TExecutionMode aExecutionMode);
+
+        void SearchWithSortOrderL(
+            const RPointerArray<CCategorySearchResult>& aSearchResults, 
+            TExecutionMode aExecutionMode);
+
+        void SearchAfterAddedCategoryL();
+
+        void SearchAndCancelL(const TBool& aInCallback=EFalse);
+        
+        void TestSearchPatternLengthL();
+
+        /**
+        * Include the global categories when searching
+        */
+        void SearchGlobalL(const RPointerArray<CCategorySearchResult>& aSearchResults, const TBool& aSync=EFalse);
+
+        /**
+        * Verify error report "ESLI-62DBXR Landmarks - Sort order is not correctly implemented"
+        */
+        void VerifySortOrderL();
+
+    };
+
+#endif      // CPOSTp25_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp3.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,55 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP3_H
+#define CPOSTP3_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 3
+*/
+class CPosTp3 : public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+       
+        CPosTp3(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp3() {};
+
+    public: // Functions from base classes
+       
+        void StartL();
+
+    private:
+        void TestOpenDbL(const TDesC& aDbURI);
+    };
+
+#endif      // CPOSTP3_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp30.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,91 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP30_H
+#define CPOSTP30_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+#include <e32base.h>
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 30
+*/
+class CPosTp30 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp30() : CLandmarkTestProcedureBase(30) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp30() {};
+
+    public: // Functions from base classes
+
+        /**
+        * From CUtfwTestBase
+        * Retrieves the test module name
+        * @param aName The name of the test module.
+        */
+        void GetName(
+            TDes&   aName
+            ) const;
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Always called, even if the test leaves
+        */
+        void CloseTest();
+
+        static void RunTestL(TAny* aData);
+
+    private: // Functions
+      
+        void StartMultipleClientsL(TUint aNoClients);
+
+        void CreateThreadsL(const TUint aNoThreads);
+        
+    private: // data   
+        
+        RArray<RThread>	    iThreads; 
+        TInt                iThreadIndex;
+        
+        TBool               iRemoveTest;
+        TBool               iAsyncSearch;
+    };
+
+
+
+#endif      // CPOSTP30_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp31.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,163 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP31_H
+#define CPOSTP31_H
+
+//  INCLUDES
+
+#include <e32base.h>
+#include <e32std.h> 
+
+
+#include "FT_CLandmarkTestProcedureBase.h"
+
+
+
+// CLASS DECLARATION
+
+
+/**
+*  Test procedure 31
+*/
+class CPosTp31 : public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp31() : CLandmarkTestProcedureBase(31) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp31() {};
+
+    public: // Functions from base classes
+
+        /**
+        * From CUtfwTestBase
+        * Retrieves the test module name
+        * @param aName The name of the test module.
+        */
+        void GetName(
+            TDes&   aName
+            ) const;
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Always called, even if the test leaves
+        */
+        void CloseTest();
+
+        
+    public:
+
+        static void RunReceiveEventsTestL(TAny* aData);
+        
+        static void CreateEventsTestL(TAny* aData);
+
+        void LogError(const TDesC& aError);
+
+        void CheckEvent(const TInt aThreadIndex,
+                        const TPosLmEventType  aExpectedEventType,
+	                    const TPosLmEventType  aEventType,
+	                    const TPosLmItemId aExpectedItemId,
+	                    const TPosLmItemId aItemId);
+        
+
+    private: // Functions
+
+        void CreateThreadsL();
+        
+    private: // data   
+        
+        RArray<RThread>	          iThreads;
+        TInt                      iErrors;
+        TBuf<4095>                iErrorLog;
+        TInt                      iThreadIndex;
+    };
+
+class CEventObserver : public CActive
+    {
+     public: // Constructors and destructor
+        
+        static CEventObserver* NewL(CPosTp31* aTp31, TInt aThreadIndex);
+       
+        /**
+        * Destructor.
+        */
+        ~CEventObserver();
+
+    public: // Functions from base classes
+
+        void Start();    
+
+        /**
+        * From CActive
+        * Handles request completion event.
+        */
+        void DoCancel();
+    
+        /**
+        * From CActive.
+        *
+        * Handles request completion event.
+        */
+        void RunL();   
+
+         void StartTimer();
+
+    private:
+        
+         /**
+        * C++ constructor.
+        */
+        CEventObserver(CPosTp31* aTp31, TInt aThreadIndex); 
+
+        void ConstructL();
+
+       
+
+        static TInt TimeoutCheck(TAny* aSelf);
+        
+    private: // Data
+        
+        CPosTp31*               iTp31;
+        TInt                    iEventNumber;
+        TInt                    iThreadIndex;
+        TPosLmEvent             iEvent;
+        CPosLandmarkDatabase*   iDatabase;
+        CPeriodic*              iPeriodicTimer;
+        TCallBack               iCallback;
+       
+
+        
+    };
+
+#endif      // CPOSTP31_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp33.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,117 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP33_H
+#define CPOSTP33_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+
+// CLASS DECLARATION
+
+
+//constants 
+/**
+*  Test procedure 33
+*/
+class CPosTp33 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp33() : CLandmarkTestProcedureBase(33) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp33() {};
+
+    public: // Functions from base classes
+
+        /**
+        * From CUtfwTestBase
+        * Retrieves the test module name
+        * @param aName The name of the test module.
+        */
+        void GetName(
+            TDes&   aName
+            ) const;
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+        void CloseTest();
+
+        static void RunTestL(TAny* aData);
+
+    private:
+
+        /**
+        * Opening and closing the landmark database serveral times fast
+        */        
+        void StressTestL();
+
+        /**
+        * TBD
+        */        
+        void ThreadTestL();
+
+        void StartMultipleClientsL(TUint aNoClients);
+
+        void CreateThreadsL(const TUint aNoThreads);
+
+        void KillTestL();
+        
+        		void ListAllServers(const TDesC& aServerName);
+		
+		void ListAllProcesses(const TDesC& aProcessName);
+		
+		void ListAllThreads(const TDesC& aThreadName);
+
+        /**
+        * Prints the Landmark heap to the logfile.
+        */
+        void MonitorHeapL(TBool aSetMaxHeap = EFalse);
+
+        /**
+        * Get heap size for specified thread
+        * using the RThread::GetRamSizes() method on TARGET
+        */
+        TInt GetHeapSizeL(const TDesC& aThreadName, TInt& aSize, TInt& aUsed);
+
+    private:
+
+        RArray<RThread>	    iThreads; 
+        TInt                iThreadIndex;
+        CPosLandmarkDatabase* iLmd1;
+        CPosLandmarkDatabase* iLmd2;
+        TInt                  iMaxHeap;
+    };
+
+
+
+#endif      // CPOSTP33_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp34.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,81 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP34_H
+#define CPOSTP34_H
+
+//  INCLUDES
+#include <EPos_CPosLmTextCriteria.h>
+
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 34
+*/
+class CPosTp34 : public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp34() : CLandmarkTestProcedureBase(34) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp34() {};
+
+    public: // Functions from base classes
+
+        /**
+        * From CUtfwTestBase
+        * Retrieves the test module name
+        * @param aName The name of the test module.
+        */
+        void GetName(
+            TDes&   aName
+            ) const;
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+        void CloseTest();
+
+    private:
+
+        void CheckSearchResultL(CSearchResult& aSearchResult,
+                                CPosLandmarkSearch& aLandmarkSearch,
+                                CPosLmTextCriteria& aTextCriteria);      
+    
+    private: // Data
+   
+
+      
+
+    };
+
+#endif      // CPOSTP34_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp35.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,191 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP35_H
+#define CPOSTP35_H
+
+//  INCLUDES
+#include <EPos_CPosLmNearestCriteria.h>
+#include "FT_CLandmarkTestProcedureBase.h"
+
+class CNearestSearchResultTp35;
+
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 35
+*/
+class CPosTp35 : public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+       
+        CPosTp35(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp35() {};
+
+    public: // Functions from base classes
+
+       
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+        void CloseTest();
+
+        
+        void CheckSearchResultL(CNearestSearchResultTp35& aSearchResult);
+
+    private:
+ 
+        void SearchL(const TBool& aSync=EFalse);
+
+        void SearchAndCancelL(const TBool& aInCallback=EFalse);
+    
+        void AppendNearestSearchResultsL();
+        
+        CPosLandmarkDatabase* UseNearestSearchGeneratedDbFileL();
+        
+        void SearchWithSortOrderL();
+
+    private:
+        
+        
+        RPointerArray<CNearestSearchResultTp35>    iNearestSearchResults;
+       
+    };
+
+
+class TSearchResultTp35 
+    {
+    public:
+        
+        TSearchResultTp35();		
+        
+        TSearchResultTp35(const TPosLmItemId& aId, const TReal32& aDistance);
+
+        TReal64 Distance() const;
+
+        TPosLmItemId Id() const;
+
+    private:
+        friend class CPosTp35;
+
+        
+        TReal32         iDistance;
+        TPosLmItemId    iId;   
+
+    };
+
+class CNearestSearchResultTp35 : public CSearchResultBase
+    {
+
+    public:  // Constructors and destructor
+        
+        /**
+        * Two-phased constructor.
+        */
+        static CNearestSearchResultTp35* NewL(
+            const TDesC& aDes, 
+            const TInt& aIndex,
+            RFs& aFileSession); 
+
+        /**
+        * Destructor.
+        */
+         CNearestSearchResultTp35::~CNearestSearchResultTp35();
+        
+    public: 
+
+        TReal64 Latitude() const;
+
+        TReal64 Longitude() const;
+        
+        TBool UseCoverageRadius() const;
+        
+        TReal32 MaxDistance() const;
+
+        TInt ErrorCode() const;
+
+        void Print(TDes& aDes);
+
+        void PrintDistances(TDes& aPrint);
+
+    private: 
+        
+        /**
+        * Constructor.
+        */
+         CNearestSearchResultTp35(RFs& aFileSession);
+
+        void ConstructL(const TDesC& aDes, const TInt& aIndex);
+        
+        void AppendDistancesL(const TInt& aIndex);
+
+        void ParseDistanceL(const TDesC& aDes, const TInt& aIndex, const TPosLmItemId& aId);
+
+        void SortDistances();
+
+    private:
+
+         // By default, prohibit copy constructor
+         CNearestSearchResultTp35(const  CNearestSearchResultTp35&);
+        // Prohibit assigment operator
+         CNearestSearchResultTp35& operator=(const  CNearestSearchResultTp35&);
+
+    private: // Data
+      
+        friend class CPosTp35;       
+
+        enum TValueIndex
+			{
+            ELatitude           =1,	
+            ELongitude          =2,	
+            EUseCoverageRadius  =3,
+            EMaxDistance        =4,
+            EErrorCode          =5,
+            ERedefined          =6,
+            EMaxSearchResult    =7,
+            ESearchResult       =8
+			};
+        
+        TInt        iErrorCode;
+        TReal64     iLatitude;
+        TReal64     iLongitude;
+        TBool       iUseCoverageRadius;
+        TReal32     iMaxDistance;
+        TInt        iMaxSearchResult;
+
+        RArray<TSearchResultTp35>       iDistances;
+        
+        CPosLandmarkDatabase* iDatabase;
+        RFs& iFileSession;
+    };
+
+#endif      // CPOSTP35_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp36.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,89 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp36_H
+#define CPOSTp36_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 1
+*/
+class CPosTp36 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        
+        CPosTp36(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp36() {};
+
+    public: // Functions from base classes
+
+       
+        /**
+        * Always called even if test leaves, 
+        * after test completion
+        */
+        void CloseTest();
+
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:
+        /**
+        *
+        */
+        void DoTestL(TBool aSync, TInt aTestNr, TInt aNrOfHits);
+
+        /**
+        *
+        */
+        void DoSearchForCategoryL(TBool aSync);
+        
+        /**
+        *
+        */
+        void RemoveCategoriesFromLandmarksL(TInt aNrOfLandmarks);
+
+        /**
+        *
+        */
+        TInt GetNrOfLandmarksL();
+
+    private:
+        RArray<TPosLmItemId> iArray;
+
+    };
+
+#endif      // CPOSTp36_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp37.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,100 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp37_H
+#define CPOSTp37_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 1
+*/
+class CPosTp37 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        
+        CPosTp37(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {iErrorsFound = KErrNone;};
+        /**
+        * Destructor.
+        */
+        ~CPosTp37() {};
+
+    public: // Functions from base classes
+
+        
+
+        /**
+        * From CUtfwTestBase. Always called even if test leaves, 
+        * after test completion
+        */
+        void CloseTest();
+
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:
+
+        /**
+        * Test to mix CPosLmCatNameCriteria and CPosLmIdListCriteria
+        * in a StartCategorySearchL search, should leave
+        * Test to mix CPosLmCatNameCriteria and CPosLmIdListCriteria
+        * in a StartLandmarkSearchL search, should leave
+        */
+        void TestCompositeAndCategoryL(TInt aTestNr);
+
+        /**
+        * Test that it is not possible to mix landmark search and a landmark category search
+        * in a composite object.
+        *
+        * Test that it is not possible perform a search if the composite object 
+        * does not have any arguments
+        */
+        void DoErrorTestL(TInt aTestNr);
+
+        /**
+        * Test that it is not possible to use only one ID List
+        * without any other search arguments
+        */
+        void DoErrorTest3L(TInt aTestNr);
+
+        /**
+        * Test that it is not possible to use several ID Lists
+        * in a composite search
+        */
+        void DoErrorTest4L(TInt aTestNr);
+
+    private:
+            TInt iErrorsFound;
+
+    };
+
+#endif      // CPOSTp37_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp38.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,138 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp38_H
+#define CPOSTp38_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+class CPosLandmarkDatabase;
+class CPosLmCompositeCriteria;
+/**
+*  Test procedure 1
+*/
+class CPosTp38 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        
+        CPosTp38(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp38() {};
+
+    public: // Functions from base classes
+
+        
+
+        /**
+        *  Always called even if test leaves, 
+        * after test completion
+        */
+        void CloseTest();
+
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:
+
+        /*
+        * Use the file lmDbCompositeSearchResult.txt and parse
+        * all test combinations, perform all tests and check for correct result
+        */ 
+        void StartLandmarksCompositeTestL();
+
+        /**
+        * Prints debug information about the composite search object
+        */
+        void PrintCompositeInfo(CPosLmCompositeCriteria* aComposite);
+
+        /**
+        * Test that it is possible to search for categories using the
+        * CPosLmCatNameCriteria class in a StartCategorySearchL search
+        */
+        void TestCategoryCompositeSearchL();
+
+        /**
+        * Perform a test with a composite object used in a composite landmark search 
+        */
+        void TestCompositeInCompositeL();
+        
+        /**
+        * Perform a test with two CPosLmCategoryCriteria objects
+        */
+        void TestTwoLmCategoryCriteriaL();
+
+        /**
+        * Perform a test with two different text arguments combined in a composite landmark search
+        * with AND composition
+        */
+        void TestSeveralTextArgumentsL();
+        /**
+        * Perform a test with two different text arguments combined in a composite landmark search
+        * with OR composition
+        */
+        void TestSeveralTextArgumentsWithORL();
+        /**
+        * Test to check sort order when using OR composite criteria
+        */
+        
+        void TestSortOrderWithORL();
+
+        /**
+        * Test to add and remove search arguments to the CPosLmCompositeCriteria object
+        */
+        void TestAddAndRemoveL();
+
+        /**
+        * Test that no result is returned if setting the  aSearchOnlyPreviousMatches to ETrue
+        * and there is no previous result
+        */
+        void TestWithNoPreviousResultL(TInt aTestNr);
+
+        /**
+        * Test cancel of a composite search
+        */
+        void SearchAndCancelL(const TBool& aInCallback);
+
+		/**
+		* Test with different sort order scenarios, test sortpref for landmark and category
+		* also test with nearest
+		*/
+    	void TestWithSortOrderLandmarksL();
+    
+    	void TestWithSortOrderCategoriesL();
+    
+    	void TestWithSortOrderNearestL();
+
+    };
+
+#endif      // CPOSTp38_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp39.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,164 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP39_H
+#define CPOSTP39_H
+
+//  INCLUDES
+
+#include <e32base.h>
+#include <e32std.h> 
+
+
+#include "FT_CLandmarkTestProcedureBase.h"
+
+
+// CLASS DECLARATION
+
+
+/**
+*  Test procedure 39
+*/
+class CPosTp39 : public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp39() : CLandmarkTestProcedureBase(39) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp39() {};
+
+    public: // Functions from base classes
+
+        /**
+        * From CUtfwTestBase
+        * Retrieves the test module name
+        * @param aName The name of the test module.
+        */
+        void GetName(
+            TDes&   aName
+            ) const;
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Always called, even if the test leaves
+        */
+        void CloseTest();
+
+        
+    public:
+
+        static void RunEventsListenerL(TAny* aData);
+        
+        static void RunEventsGeneratorL(TAny* aData);
+
+        void LogError(const TDesC& aError);
+
+        void CheckEvent(const TInt aThreadIndex,
+                        const TPosLmEventType  aExpectedEventType,
+	                    const TPosLmEventType  aEventType,
+	                    const TPosLmItemId aExpectedItemId,
+	                    const TPosLmItemId aItemId);
+        
+
+    private: // Functions
+    
+        void SetupGlobalCategoriesL();
+
+        void CreateThreadsL();
+        
+        TInt GetHeapSizeL(const TDesC& aThreadName, TInt& aHeapSize, TInt& aStackSize);
+        
+    private: // data   
+        
+        RArray<RThread>	          iThreads;
+        TInt                      iErrors;
+        TBuf<4095>                iErrorLog;
+        TInt                      iThreadIndex;
+    };
+
+class CEventObserverTp39 : public CActive
+    {
+     public: // Constructors and destructor
+        
+        static CEventObserverTp39* NewL(CPosTp39* aTp39, TInt aThreadIndex);
+       
+        /**
+        * Destructor.
+        */
+        ~CEventObserverTp39();
+
+    public: // Functions from base classes
+
+        void Start();    
+
+        /**
+        * From CActive
+        * Handles request completion event.
+        */
+        void DoCancel();
+    
+        /**
+        * From CActive.
+        *
+        * Handles request completion event.
+        */
+        void RunL();   
+
+         void StartTimer();
+
+    private:
+        
+         /**
+        * C++ constructor.
+        */
+        CEventObserverTp39(CPosTp39* aTp39, TInt aThreadIndex); 
+
+        void ConstructL();
+
+        static TInt StopEventNotification(TAny* aSelf);
+        
+    private: // Data
+        
+        CPosTp39*               iTp39;
+        TInt                    iEventNumber;
+        TInt                    iThreadIndex;
+        TPosLmEvent             iEvent;
+        CPosLandmarkDatabase*   iDatabase;
+        CPeriodic*              iPeriodicTimer;
+        TCallBack               iCallback;
+       
+
+        
+    };
+
+#endif      // CPOSTP39_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp4.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,63 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP4_H
+#define CPOSTP4_H
+
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 4
+*/
+class CPosTp4 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        
+        CPosTp4(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp4() {};
+
+    public: // Functions from base classes
+
+        
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:
+
+        void TestCompactL(TExecutionMode aExecutionMode);
+
+    };
+
+#endif      // CPOSTP4_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp40.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,73 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp40_H
+#define CPOSTp40_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 1
+*/
+class CPosTp40 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp40() : CLandmarkTestProcedureBase(40) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp40() {};
+
+    public: // Functions from base classes
+
+        /**
+        * From CUtfwTestBase
+        * Retrieves the test module name
+        * @param aName The name of the test module.
+        */
+        void GetName(
+            TDes&   aName
+            ) const;
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+        void CloseTest();
+
+    private:   
+        // Test error report ESLI-5ZYMPM
+        void TestPart1L();
+        // Test error report ESLI-62FGEV
+        void TestPart2L();
+    };
+
+#endif      // CPOSTp40_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp41.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,89 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp41_H
+#define CPOSTp41_H
+
+//  INCLUDES
+#include <EPos_CPosLandmark.h> 
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+
+/**
+*  Test procedure 41
+*/
+class CPosTp41 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp41() : CLandmarkTestProcedureBase(41) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp41() {};
+
+    public: // Functions from base classes
+
+        /**
+        * From CUtfwTestBase
+        * Retrieves the test module name
+        * @param aName The name of the test module.
+        */
+        void GetName(
+            TDes&   aName
+            ) const;
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Cleans up after a test.
+        * Always called, even if the test leaves. 
+        */
+        void CloseTest();
+
+    private:
+        
+        /**
+        * This part verifies error report "ESLI-5ZDH4N Landmarks - Empty descriptors"
+        */
+        void VerifyEmptyLandmarksL();
+
+        /**
+        * Check that landmark read from db has correct name and desc
+        */
+        void CheckLandmarkL(TPosLmItemId aId, TDesC& aName, TDesC& aDesc);
+
+    private: // data
+        
+    };
+
+#endif      // CPOSTp41_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp42.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,143 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP42_H
+#define CPOSTP42_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+#include <apgcli.h>
+
+
+//CONSTANTA
+const TInt NOLANDMARKNUMBER = 123;
+// CLASS DECLARATION
+
+class CRecognizerData;
+
+/**
+*  Test procedure 42
+*/
+class CPosTp42 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        
+        CPosTp42(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp42() {};
+
+    public: // Functions from base classes
+
+        
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Cleans up after a test.
+        * Always called, even if the test leaves. 
+        */
+        void CloseTest();
+    private:
+    
+        void TestWithBufferL();
+        
+        void TestWithFileL();
+        
+        void TestWithEmptyFileL();
+        
+        void TestWithLargeFilesL(const TDesC& msg, TInt aExpCode);
+    
+        void CreateFileL( const TDesC& msg, TFileName& aFileName );
+        
+        void CheckResultL(TDataRecognitionResult aExpectedResult, TDataRecognitionResult aResult);
+
+    private:
+        RPointerArray<CRecognizerData>   iDataToRecognize;
+        TInt iErrorsFound;
+
+    };
+
+#endif      // CPOSTP42_H
+
+/**
+* Data class only used with TP42 to hold information
+* read from the file i,e the data to be recongnized and
+* the expected result.
+*/
+class CRecognizerData: public CBase
+    {
+    public:  // Constructors and destructor
+        
+         /**
+        * Two-phased constructor.
+        */
+        static CRecognizerData* NewL(const TDesC& aDes); 
+
+        /**
+        * Destructor.
+        */
+        ~CRecognizerData();      
+
+    public:
+
+         TPtrC RecognizerData() const;
+        
+         const TDataRecognitionResult& ExpectedResult() const;
+
+    private: 
+        
+        CRecognizerData();
+
+        void ConstructL(const TDesC& aDes);
+
+    private:
+         // By default, prohibit copy constructor
+        CRecognizerData(const CRecognizerData&);
+        // Prohibit assigment operator
+        CRecognizerData& operator=(const CRecognizerData&);
+
+        void ParseResult(const TDesC& aDes);
+        void ParseType(const TDesC& aDes);
+        
+        
+    private: // Data
+        
+        enum TValueIndex
+			{
+            ETextBuffer          = 0,	
+            EResult              = 1,
+            EType                = 2
+			};
+        HBufC*                     iRecognizerData;
+        TDataRecognitionResult      iExpectedResult;
+
+    };
+
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp43.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,144 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP43_H
+#define CPOSTP43_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+class CPosLandmarkEncoder;
+class CPosLandmarkParser;
+
+/**
+*  Test procedure 43
+*/
+class CPosTp43 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        
+        CPosTp43(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {iErrorsFound=KErrNone;};
+        /**
+        * Destructor.
+        */
+        ~CPosTp43() {};
+
+    public: // Functions from base classes
+
+        void CloseTest();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:
+        void TestErrorScenariosL();
+
+        /**
+        * Test that CPosLandmarkEncoder::SetOutputFileL leaves with
+        * KErrAlreadyExists if file already exists
+        */
+        void ErrorScenario1L();
+
+        /**
+        * Test that CPosLandmarkEncoder::SetOutputFileL is opened in exclusive mode
+        */
+        void ErrorScenario2L();
+
+        /**
+        * Test that CPosLandmarkEncoder::AddCollectionDataL leaves with KErrAlreadyExists if
+        * collection ID is used twice (or more)
+        */
+        void ErrorScenario3L();
+
+        /**
+        * Test that it is not possible to set collection data "out-of-range" from TPosLmCollectionDataId
+        * (will be silently ignored)
+        * Test that it is possible to set collection meta data,
+        * the data will however not be encoded to the XML file (silently ignored)
+        */
+        void ErrorScenario4L();
+
+        /**
+        * Test that it is possible to use XML tags as name/description/ etc 
+        * verify that they are correct enocded
+        */
+        void ErrorScenario5L();
+        
+        /**
+        * Create all landmark items that should be encoded with the encoder
+        */
+        void CreateEncoderPartsL();
+
+
+        /**
+        * Check the data (XML) created by the eoncoder
+        */
+        void ParseAndCheckDataFromEncoderL(const TDesC& aFile, const TDesC& aCollectionName, 
+            const TDesC& aCollectiondDescription ,const TDesC8&  aBuffer);
+
+        /**
+        * Used for debugging
+        */
+        void PrintParsedDataFromEncoderL(const TDesC& aFile, /*const TDesC& aCollectionName, 
+            const TDesC& aCollectiondDescription, */const TDesC8&  aBuffer);
+
+        void PrintLandmarkIdFieldsL(const CPosLandmark& aLandmark);
+
+        /**
+        * Test with long collection data field
+        */ 
+        void TestLongCollectionFieldsL(TBool aUseFile);
+
+        /**
+        * Compare two files
+        */
+        void CompareTwoFilesL(const TDesC16&  aCorrectFile, const TDesC16&  aFile);
+
+        /**
+        * Test with long filename as file output
+        */ 
+        void TestWithLongFileNameL();
+        
+        
+        void SetupGlobalCategoriesL();
+
+
+    private:
+        CPosLandmarkEncoder* iLandmarkEncoder;
+        CPosLandmarkParser* iLandmarkParser;
+        RPointerArray<CPosLandmark> iLandmarks;
+        TInt iErrorsFound;
+        RArray<TUint>    iGlobalCategoryIds;
+        RArray<TPtrC>    iGlobalCategoryNames;
+        RArray<TPtrC>    iGlobalCategoryTestNames;
+        
+
+    };
+
+#endif      // CPOSTP43_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp44.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,91 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp44_H
+#define CPOSTp44_H
+
+//  INCLUDES
+#include "EPos_LandmarksErrors.h"
+
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 44
+*/
+class CPosTp44 : public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+       
+        CPosTp44(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp44() {};
+
+    public:
+       
+        /**
+        * Includes both Panic testing and testing of correct leave codes
+        */
+        static void RunPanicTestL(TAny* aData);
+       
+    public: // Functions from base classes
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Always called, even if the test leaves
+        */
+        void CloseTest();
+        
+        static TInt DeleteEncoderCallback(TAny* aSelf);
+
+    private:
+
+      void CreateThreadL();
+
+      void ResumeThreadAndVerifyExit();
+
+      void RunLeaveTestL();
+
+    public:
+        enum ExitType {ExitPanic, ExitLeave};
+
+    private:
+
+        RThread     iThread;
+        TInt        iExpectedErrorCode;
+        ExitType    iExpectedExitType;
+        TInt        iTestCase;
+    };
+
+#endif      // CPOSTp44_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp45.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,123 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPosTp45_H
+#define CPosTp45_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+//CONSTANTS
+
+// CLASS DECLARATION
+class CPosLandmarkEncoder;
+
+/**
+*  Test procedure 45
+*/
+class CPosTp45 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        
+        CPosTp45(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp45() {};
+
+    public: // Functions from base classes
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Cleans up after a test.
+        * Always called, even if the test leaves. 
+        */
+        void CloseTest();
+        
+    private:
+    
+        void ExportLandmarksL(  const TDesC& aFileName, 
+                                RArray<TPosLmItemId>& aArrayOfIds, 
+                                CPosLandmarkDatabase::TTransferOptions aTransferOptions);
+        
+        void ExportLandmarksIncL(   const TDesC& aFileName, 
+                                    RArray<TPosLmItemId>& aArrayOfIds, 
+                                    CPosLandmarkDatabase::TTransferOptions aTransferOptions,
+                                    TBool aUseWaitForRequest);
+        
+        void ExportWithCollectionDataL(RArray<TPosLmItemId>& aArrayOfIds, 
+                                       CPosLandmarkDatabase::TTransferOptions aTransferOptions);
+        
+        void ExportAndCancelL(  const TDesC& aFileName,
+                                const TBool& aInCallback, 
+                                CPosLandmarkDatabase::TTransferOptions aTransferOptions);
+                        
+        void VerifyCancelL(const TDesC& aFileName, const TInt aMaxExported);                
+                              
+        void AddLandmarksL();
+        
+        void AddCategoriesL();
+        
+        void RenameGlobalCategoryL();
+        
+        void TestErrorCodesL();
+        
+        void DeleteFile(const TDesC& aFile);
+
+        /**
+        * Test to export to a file with long filename (more than 255 characters)
+        */
+        void ExportToFileWithLongFileNameL();
+        
+        // Added for BC testing 
+        void MakeEmptyLmDatabaseL( CPosLandmarkDatabase& aLdb,
+                                   CPosLmCategoryManager& aCatMgr ); 
+                                   
+		void SetupGlobalCategoriesL();                                   
+        
+    private:
+        
+        CPosLmCategoryManager*                 iCategoryManager;
+        RPointerArray<CPosLandmarkCategory>    iCategories;
+        RArray<TUint>    iGlobalCategoryIds;
+        RArray<TPtrC>    iGlobalCategoryNames;
+        RArray<TPtrC>    iGlobalCategoryTestNames;
+        
+        CPosLandmarkEncoder*    iLandmarkEncoder;
+        
+        CBufBase*               iBuffer;
+        
+        TBool                   iLogToFile;
+
+    };
+
+#endif      // CPosTp45_H
+
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp46.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,101 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP46_H
+#define CPOSTP46_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+#include <e32base.h>
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 46
+*/
+class CPosTp46 : public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp46() : CLandmarkTestProcedureBase(46) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp46() {};
+
+    public: // Functions from base classes
+
+        /**
+        * From CUtfwTestBase
+        * Retrieves the test module name
+        * @param aName The name of the test module.
+        */
+        void GetName(
+            TDes&   aName
+            ) const;
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Always called, even if the test leaves
+        */
+        void CloseTest();
+
+        static void RunTestL(TAny* aData);
+
+    private: // Functions
+      
+        void RemoveFilesL();
+
+        void StartMultipleClientsL(TUint aNoClients);
+
+        void CreateThreadsL(const TUint aNoThreads);
+        
+    private: // data   
+         
+        enum TTestStep
+			{
+            ESync               =0,	
+            EInc                =1,	
+            EImportStarted      =2,
+            EImportCancelled    =3
+			};
+        
+        TInt                iTestStep;
+        
+        RArray<RThread>	    iThreads; 
+        TInt                iThreadIndex;
+        
+    };
+
+
+
+#endif      // CPOSTP46_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp47.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,122 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp47_H
+#define CPOSTp47_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+class CPosLandmarkParser;
+class CPosLandmarkEncoder;
+/**
+*  Test procedure 47
+*/
+class CPosTp47 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+       
+        CPosTp47(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp47() {};
+
+    public: // Functions from base classes
+
+        void CloseTest();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:
+
+        /**
+        * Create XML data files used in this test
+        * The files then need to be manually changed
+        * aUseFile if data should be written to XML file
+        * if EFalse data is written to buffer (and then to a buffer file)
+        */
+        void CreateXMLData(TBool aUseFile);
+
+        /**
+        * Check XML data created in CreateXMLData
+        */
+        void CheckXMLData(TBool aUseFile);
+
+        /**
+        * 
+        * @aFile the file name
+        */
+        void PrintParsedDataFromEncoderL(
+            const TDesC& aFile, 
+            const TDesC8&  aBuffer, 
+            TInt aExpectedStatusCode,
+            const TDesC8& aMimeType);
+
+        void PrintLandmarkFieldsL(const CPosLandmark& aLandmark, TBool aTraceFlag=EFalse);
+        void PrintLandmarkFieldsWithDescriptionL(const CPosLandmark& aLandmark, TBool aTraceFlag=EFalse);
+
+        /**
+        * Check that the parser does not support 
+        * building index for parsed landmarks
+        */
+        void CheckIndexNotSupportedL();
+
+        /**
+        * Check that cancel of parse is correct
+        */
+        void DoCancelTestL();
+
+
+        /**
+        * Trace to trace file
+        */
+        void TraceL(const TDesC& msg);
+        
+         // Added for BC testing 
+        void MakeEmptyLmDatabaseL( CPosLandmarkDatabase& aLdb,
+                                   CPosLmCategoryManager& aCatMgr ); 
+
+    private:
+        CPosLandmarkParser* iLandmarkParser;
+
+        CPosLandmarkEncoder* iLandmarkEncoder;
+
+        RPointerArray<CPosLandmark> iLandmarks;
+
+        TInt iErrorsFound;
+
+        CBufBase* iEncoderBuffer;
+        
+        CPosLmCategoryManager*                 iCategoryManager;
+
+    };
+
+#endif      // CPOSTp47_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp48.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,128 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP48_H
+#define CPOSTP48_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+class CPosLandmarkParser;
+
+/**
+*  Test procedure 48
+*/
+class CPosTp48 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        
+        CPosTp48(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {iErrorsFound=KErrNone;};
+        /**
+        * Destructor.
+        */
+        ~CPosTp48() {};
+
+    public: // Functions from base classes
+
+        
+        
+        void CloseTest();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:
+
+        /**
+        * Do the import of landmarks
+        */
+        void ImportLandmarksL(TBool aSync, TBool aParseDone, TUint aTransferOption, const RArray<TUint>&  aLandmarkSubSet, TBool aDoParse=EFalse, TBool aCancel=EFalse);
+
+        /**
+        * Prepare landmarkdb for test
+        */
+        void ResetLandmarksDbL();
+
+        /**
+        * Create data used for this test
+        */
+        void CreateXMLDataL();
+
+
+        /**
+        * List all landmarks in db
+        */
+        void ListLandmarksDbL();
+
+        /**
+        * Check that imported landmarks has been added to database
+        */ 
+        void CheckLandmarksDatabaseL(TUint aTransferOption);
+
+        void PrintLandmarkIdFieldsL(const CPosLandmark& aLandmark);
+
+        /**
+        * Helper method, removing all associated categories from a landmark that should be "saved"
+        * in the iLandmarks array
+        */
+        void RemoveCategoriesFromLandmarkL(CPosLandmark& aLandmark);
+
+        /**
+        * Try to set a long file name as input
+        */
+        void ImportFromFileWithLongFileNameL();
+
+        /**
+        * Helper method to check that a global category exists
+        and another does not
+        */
+        void CheckGlobalCategoryExistL(const TDesC& aShouldExistName, const TDesC& aShouldNotExistName);
+
+        /**
+        * Does the acutal test
+        */
+        void DoTestL(TBool aFile, TBool aFullParse=EFalse, TBool aDoParse=EFalse, TBool aCancel=EFalse);
+
+        /**
+        * Change input method after parse
+        */
+        void DoTestChangeInputMethodL();
+       
+    private:
+        CPosLandmarkParser* iLandmarkParser;
+        CPosLandmarkEncoder* iLandmarkEncoder;
+        RPointerArray<CPosLandmark> iLandmarks;
+        TInt iErrorsFound;
+        CBufBase* iEncoderBuffer;
+        
+        
+
+    };
+
+#endif      // CPOSTp48_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp49.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,123 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP49_H
+#define CPOSTP49_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+#include <apgcli.h>
+
+
+// CLASS DECLARATION
+
+class CDatabaseClient;
+
+/**
+*  Test procedure 49
+*/
+class CPosTp49 : public CLandmarkTestProcedureBase, public MProgressObserver
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp49() : CLandmarkTestProcedureBase(49) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp49() {};
+
+    public: // Functions from base classes
+
+        /**
+        * From CUtfwTestBase
+        * Retrieves the test module name
+        * @param aName The name of the test module.
+        */
+        void GetName(
+            TDes&   aName
+            ) const;
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Initializes a test before StartL is called.
+        */
+        void InitTestL();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Cleans up after a test.
+        * Always called, even if the test leaves. 
+        */
+        void CloseTest();
+
+        /**
+        * From MProgressObserver
+        */
+        void NotifyProgress(TReal aProgress);
+
+    private:
+
+        void ImportAllLandmarksL();
+        TInt ImportSomeLandmarksL();
+        void VerifyImportedLandmarksL(TInt aNrOfExpectedItems);
+        void ParseLandmarksContentL();
+        void RemoveThreeLandmarksL();
+        void SetupPreConditionsL();
+        void ExecuteLmOpL(TInt aExpectedResult, TBool aObserveProgress = EFalse);
+        void FetchIteratorL();
+        void RecreateParserL(const TDesC& aFileName);
+        void StartImportLandmarksL();
+        void CreateNameArrayL(TInt aNrOfItems);
+
+    private:
+
+        // Contains the IDs of the improted landmarks
+        RArray<TPosLmItemId>    iImportedLandmarkIds;
+
+        // Contains the IDs of imported landmarks that have been removed
+        RArray<TPosLmItemId>    iRemovedLandmarkIds;
+
+        // The parser that parses the xml file to import
+        CPosLandmarkParser*     iLandmarkParser;
+
+        // The iterator that is to be tested
+        CPosLmItemIterator*     iIterator;
+
+        // An array containing the names of the imported landmarks
+        CDesCArray*             iLandmarkNames;
+
+        // Indicates when it is time to fetch iterator of imported landmarks.
+        TReal                   iProgressInterruptLevel;
+
+    };
+
+#endif      // CPOSTP49_H
+
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp5.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,75 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP5_H
+#define CPOSTP5_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+#include <StifLogger.h>
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 5
+*/
+class CPosTp5 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        
+           
+            CPosTp5(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp5() {};
+
+    public: // Functions from base classes
+
+       
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:
+
+        void CheckGetMethodsL(CPosLandmark* aLandmark);
+
+        void CheckRemoveMethodsL(CPosLandmark* aLandmark);
+
+        void CheckRemovedL(CPosLandmark* aLandmark);
+
+        void CheckPositionFieldL(const CPosLandmark& aLandmark, const TUint16 aId);
+
+        void CheckFieldsMaxLengthL();
+
+        void CheckNaNErrorL();
+
+    };
+
+#endif      // CPOSTP51_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp50.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,103 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP50_H
+#define CPOSTP50_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+#include <e32base.h>
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 50
+*/
+class CPosTp50 : public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp50() : CLandmarkTestProcedureBase(50) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp50() {};
+
+    public: // Functions from base classes
+
+        /**
+        * From CUtfwTestBase
+        * Retrieves the test module name
+        * @param aName The name of the test module.
+        */
+        void GetName(
+            TDes&   aName
+            ) const;
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Always called, even if the test leaves
+        */
+        void CloseTest();
+
+        static void RunTestL(TAny* aData);
+
+    private: // Functions
+      
+        void StartMultipleClientsL(TUint aNoClients);
+
+        void CreateThreadsL(const TUint aNoThreads);
+        
+        void ExportLandmarksL();
+        
+        void TestESLI_64LLU3L();
+
+    private: // data   
+         
+        enum TTestStep
+			{
+            ESync               =0,	
+            EInc                =1,	
+            EReadLockTaken      =2,
+            ESearchCancelled    =3
+			};
+        
+        TInt                iTestStep;
+        
+        RArray<RThread>	    iThreads; 
+        TInt                iThreadIndex;
+        
+    };
+
+
+
+#endif      // CPOSTP50_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp51.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,97 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp51_H
+#define CPOSTp51_H
+
+//  INCLUDES
+#include "EPos_LandmarksErrors.h"
+
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 51
+*/
+class CPosTp51 : public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+       
+        CPosTp51(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp51() {};
+
+    public:
+       
+        /**
+        * Includes both Panic testing and testing of correct leave codes
+        */
+        static void RunPanicTestL(TAny* aData);
+       
+    public: // Functions from base classes
+
+       
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Always called, even if the test leaves
+        */
+        void CloseTest();
+
+    private:
+
+      void CreateThreadL();
+
+      void ResumeThreadAndVerifyExitL();
+
+      void RunLeaveTestL();
+      
+      void ListAllServers();
+
+    public:
+        // Use this enum to define if the thread should exit with panic or leave
+        enum ExitType {ExitPanic, ExitLeave};
+
+    private:
+
+        RThread     iThread;
+        TInt        iExpectedErrorCode;
+        ExitType    iExpectedExitType;
+        TInt        iTestCase;
+        
+        TPtrC8      iMimeType;
+        TInt        iThreadCounter;
+        TInt        iErrorsFound;
+    };
+
+#endif      // CPOSTp51_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp52.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,101 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP52_H
+#define CPOSTP52_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+class CPosLandmarkParser;
+
+/**
+*  Test procedure 48
+*/
+class CPosTp52 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        
+        CPosTp52(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {iErrorsFound=KErrNone;};
+        /**
+        * Destructor.
+        */
+        ~CPosTp52() {};
+
+    public: // Functions from base classes
+
+       
+        void CloseTest();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:
+
+        /**
+        * Do the import of landmarks
+        */
+        TInt ImportLandmarksL(TBool aSync, TUint aTransferOption);
+
+        /**
+        * Prepare landmarkdb for test
+        */
+        void ResetLandmarksDbL();
+
+        /**
+        * Get nr of landmarks in lm db
+        */
+        TInt GetNrOfLandmarksL();
+
+        /**
+        * Import landmarks from test, both sync and async
+        */
+        void DoTestL(
+            const TDesC&  aTestFile, 
+            const TDesC8& aMimeType,
+            TInt aExpectedErrorCode, 
+            TInt aExpNrImportedLandmarks=0);
+
+        /**
+        * Check landmark in lm db
+        */
+        void CheckLongLandmarkNameL();
+
+        /**
+        * Check landmark category in lm db
+        */
+        void CheckLongCategoryNameL(TInt aNumExpectedCategories);
+
+    private:
+        CPosLandmarkParser* iLandmarkParser;
+        TInt iErrorsFound;
+
+    };
+
+#endif      // CPOSTp52_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp53.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,152 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPosTp53_H
+#define CPosTp53_H
+
+//  INCLUDES
+
+#include "FT_CLandmarkTestProcedureBase.h"
+
+class CActiveLmImportEvent;
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 53
+*/
+class CPosTp53 : public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp53() : CLandmarkTestProcedureBase(53) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp53() {};
+
+    public: // Functions from base classes
+
+        /**
+        * From CUtfwTestBase
+        * Retrieves the test module name
+        * @param aName The name of the test module.
+        */
+        void GetName(
+            TDes&   aName
+            ) const;
+
+        /**
+        * From CUtfwTestBase
+        */
+        void CloseTest();
+
+        /**
+        * From CPosTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:    // New functions
+   
+        /**
+        * Tests logging of landmark events
+        */
+        void LandmarkImportEventTestL();
+
+        /**
+        * Test Compact during import
+        */
+        void LandmarkImportCompactTestL();
+       
+        void ImportLandmarksL(const TDesC& aFileName, CPosLandmarkDatabase::TTransferOptions aTransferOptions);
+
+        void AddCategoriesL();
+
+    private:    // Data
+        
+        CActiveLmImportEvent*           iActiveLmEvent;
+        CPosLandmarkParser*             iParser;
+    };
+
+class CActiveLmImportEvent : public CActive
+    {
+    public:
+        
+        static CActiveLmImportEvent* NewL(MUtfwLog* aLog);
+      
+        /**
+        * Destructor.
+        */
+        ~CActiveLmImportEvent();
+
+    public: 
+        
+        void Start();    
+
+        /**
+        * From CActive
+        * Handles request completion event.
+        */
+        void DoCancel();
+    
+        /**
+        * From CActive.
+        *
+        * Handles request completion event.
+        */
+        void RunL();
+    
+    private:
+
+         /**
+        * C++ constructor.
+        */
+        CActiveLmImportEvent(MUtfwLog* aLog);
+
+        void ConstructL();
+
+        void VerifyEvent();
+
+        void AssertCorrectEvent(TPosLmEventType  aExpectedEventType,
+	                            TPosLmEventType  aEventType,
+    	                        TPosLmItemId aExpectedLandMarkItemId,
+	                            TPosLmItemId aLandMarkItemId);
+
+    private: // data
+
+        friend class CPosTp53;
+
+        MUtfwLog*               iLog; 
+        CPosLandmarkDatabase*   iDatabase;
+       
+        TPosLmEvent             iEvent;
+        TInt                    iEventNumber;
+       
+        TInt                    iGlobalErr;
+
+    };
+
+#endif      // CPosTp53_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp56.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,80 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP56_H
+#define CPOSTP56_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 56
+*/
+class CPosTp56 : public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp56() : CLandmarkTestProcedureBase(56) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp56() {};
+
+    public: // Functions from base classes
+
+        /**
+        * From CUtfwTestBase
+        * Retrieves the test module name
+        * @param aName The name of the test module.
+        */
+        void GetName(
+            TDes&   aName
+            ) const;
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:
+        void TestOpenSpecificDbL();
+        
+        void TestOpenDbL(const TDesC& aDbURI);
+
+        void CopyTestDbL();
+
+        void TestMultipleExportL();
+
+        void CreateDatabasesL();
+
+        void TestLockedDatabaseL();
+
+    
+    };
+
+#endif      // CPOSTP56_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp57.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,82 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP57_H
+#define CPOSTP57_H
+
+//  INCLUDES
+#include <EPos_CPosLmAreaCriteria.h>
+
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 57
+*/
+class CPosTp57 : public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp57() : CLandmarkTestProcedureBase(57) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp57() {};
+
+    public: // Functions from base classes
+
+        /**
+        * From CUtfwTestBase
+        * Retrieves the test module name
+        * @param aName The name of the test module.
+        */
+        void GetName(
+            TDes&   aName
+            ) const;
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+        
+        void CloseTest();
+
+    private:
+    
+        void CreateDatabasesL();
+        
+        void SearchWithTextCriteriaL();    
+        
+        void SearchWithAreaCriteriaL();
+        
+       static CPosLmAreaCriteria* NewLmAreaCriteriaL(const TReal64 &aSouthLat, 
+                                                     const TReal64 &aNorthLat,
+                                                     const TReal64 &aWestLong, 
+                                                     const TReal64 &aEastLong);
+    };
+
+#endif      // CPOSTP56_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp58.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,129 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP58_H
+#define CPOSTP58_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+#include <ss_std.h>
+
+// CLASS DECLARATION
+class CPosLandmarkParser;
+
+/**
+*  Test procedure 58
+*/
+class CPosTp58 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp58() : CLandmarkTestProcedureBase(58) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp58() {};
+
+    public: // Functions from base classes
+
+        /**
+        * From CUtfwTestBase
+        * Retrieves the test module name
+        * @param aName The name of the test module.
+        */
+        void GetName(
+            TDes&   aName
+            ) const;
+
+        /**
+        * From CUtfwTestBase
+        * Always called before StartL()
+        */
+        void InitTestL();
+
+        /**
+        * From CUtfwTestBase
+        * Always called, even if test leaves
+        */
+        void CloseTest();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    public: // New functions
+       
+        /**
+        * Creates, initializes and opens the default landmark database
+        */
+        CPosLandmarkDatabase* InitDbLC();
+
+        /**
+        * Executes the import test thread
+        */
+        static void RunImportTestL(TAny* aData);
+
+        /**
+        * Executes the thread killing thread
+        */
+        static void RunThreadKillerL(RThread* aThread);
+
+        /**
+        * Does the import of landmarks
+        */
+        void ImportLandmarksL(const RArray<TUint>* aLandmarkSubSet);
+
+    public:
+        
+        // Use this enum to define which test case to execute
+        enum TTestCase 
+            {
+            ETestImportAllLandmarks, 
+            ETestImportSubsetOfLandmarks
+            };
+
+    private:
+
+        void ResumeThreadsAndVerifyExitL();
+
+        /**
+        * Returns ETrue if any errors are encountered, EFalse otherwise.
+        */
+        TBool VerifyThreadExitResults(
+            TExitType aKillerThreadExitType,
+            TExitType aImportThreadExitType,
+            const TExitCategoryName& aImportThreadExitCategory,
+            TInt aImportThreadExitReason);
+
+    private:
+
+        TInt                        iExpectedErrorCode;
+        TTestCase                   iTestCase;
+
+    };
+
+#endif      // CPOSTp58_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp6.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,72 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP6_H
+#define CPOSTP6_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 6
+*/
+class CPosTp6 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+       
+       CPosTp6(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp6() {};
+
+    public: // Functions from base classes
+
+       
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:
+        void CheckGetMethodsL(CPosLandmarkCategory* aCategory, const TDesC& aName);
+
+        void CheckRemoveMethodsL(CPosLandmarkCategory* aCategory);
+
+        void CheckRemovedL(CPosLandmarkCategory* aCategory);
+
+        void CheckFieldsMaxLengthL();
+        
+        void CheckEmptyCategoryNameL();
+        
+        void CheckSetIconL();
+
+    };
+
+#endif      // CPOSTP6_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp7.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,81 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP7_H
+#define CPOSTP7_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+#include <e32base.h>
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 7
+*/
+class CPosTp7 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+       
+        CPosTp7(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp7() {};
+
+    public: // Functions from base classes
+
+        
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Always called, even if the test leaves
+        */
+        void CloseTest();
+
+        static void RunTestL(TAny* aData);
+
+    private: // Functions
+
+        void CreateThreadsL();
+        
+    private: // data   
+        
+        RArray<RThread>	          iThreads;
+       
+        TInt                      iThreadIndex;
+        TBool                     iOneSucces;
+        
+    };
+
+
+
+#endif      // CPOSTP7_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp76.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,73 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp76_H
+#define CPOSTp76_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 76
+*/
+class CPosTp76 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp76() : CLandmarkTestProcedureBase(76) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp76() {};
+
+    public: // Functions from base classes
+
+        /**
+        * From CUtfwTestBase
+        * Retrieves the test module name
+        * @param aName The name of the test module.
+        */
+        void GetName(
+            TDes&   aName
+            ) const;
+
+		void CloseTest();
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+	private:
+        /**
+        * Use a corrupt global categories resource file
+        */ 
+		void TestCorruptGlobalCategoriesFileL();
+
+    };
+
+#endif      // CPOSTp76_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp77.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,139 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP77_H
+#define CPOSTP77_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+#include <ss_std.h>
+
+// CLASS DECLARATION
+class CPosLandmarkParser;
+
+/**
+*  Test procedure 77
+*/
+class CPosTp77 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp77() : CLandmarkTestProcedureBase(77) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp77() {};
+
+    public: // Functions from base classes
+
+        /**
+        * From CUtfwTestBase
+        * Retrieves the test module name
+        * @param aName The name of the test module.
+        */
+        void GetName(
+            TDes&   aName
+            ) const;
+
+        /**
+        * From CUtfwTestBase
+        * Always called before StartL()
+        */
+        void InitTestL();
+
+        /**
+        * From CUtfwTestBase
+        * Always called, even if test leaves
+        */
+        void CloseTest();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    public: // New functions
+       
+        /**
+        * Creates, initializes and opens the default landmark database
+        */
+        CPosLandmarkDatabase* InitDbLC();
+
+        /**
+        * Executes the bad client test thread
+        */
+        static void RunBadClientTestL(TAny* aData);
+
+        /**
+        * Executes the thread killing thread
+        */
+        static void RunThreadKillerL(TAny* aData);
+
+    public:
+        
+        // Use this enum to define which test case to execute
+        enum TTestCase 
+            {
+            ETestNotifyDbEvent, 
+            ETestNotifyDbEvent2,
+            ETestInitialize,
+            ETestInitialize2,
+            ETestWriteLock,
+            ETestRegisterUri
+            };
+
+    private:
+
+        void ResumeThreadsAndVerifyExitL();
+
+        /**
+        * Returns ETrue if any errors are encountered, EFalse otherwise.
+        */
+        TBool VerifyThreadExitResultsL(TInt aBadThreadExitReason);
+
+        /**
+        * Returns ETrue if any errors are encountered, EFalse otherwise.
+        */
+        TBool VerifyLmServerIsAliveL(CPosLandmarkDatabase* aDb);
+
+    public:
+
+        RThread     iBadThread;
+        TTimeIntervalMicroSeconds32 iTimeToWait;
+
+    private:
+
+        TInt                iExpectedErrorCode;
+        TTestCase           iTestCase;
+        TExitType           iBadThreadExitType, iKillerThreadExitType;
+        TExitCategoryName   iBadThreadExitCategory, iKillerThreadExitCategory;
+        TInt                iBadThreadExitReason, iKillerThreadExitReason;    
+        TTimeIntervalMicroSeconds32 iLastTimeToWait;
+        TBuf<100>           iBuf;
+
+    };
+
+#endif      // CPOSTP77_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp78.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,160 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP78_H
+#define CPOSTP78_H
+
+// INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+#include <ss_std.h>
+#include <e32std.h>
+
+// CLASS DECLARATION
+class CPosLandmarkParser;
+class CPosTp78;
+
+// Data types
+struct TThreadParam
+    {
+    void (*iTestFunction)(TDes*);
+    TDes* iMessage;
+    };
+
+class CThreadMonitor : public CActive
+    {
+    public:
+
+        static CThreadMonitor* NewL(RThread* aThread);
+
+        ~CThreadMonitor();
+
+    protected:
+
+        void DoCancel();
+
+        void RunL();
+
+    private:
+
+        CThreadMonitor(RThread* aThread);
+
+        void ConstructL();
+
+    private:
+
+        RThread*    iThread;
+
+    };
+
+/**
+*  Test procedure 78
+*/
+class CPosTp78 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp78() : CLandmarkTestProcedureBase(78) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp78() {};
+
+    public: // Functions from base classes
+
+        /**
+        * From CUtfwTestBase
+        * Retrieves the test module name
+        * @param aName The name of the test module.
+        */
+        void GetName(
+            TDes&   aName
+            ) const;
+
+        /**
+        * From CUtfwTestBase
+        * Always called before StartL()
+        */
+        void InitTestL();
+
+        /**
+        * From CUtfwTestBase
+        * Always called, even if test leaves
+        */
+        void CloseTest();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    public: // New functions
+       
+        /**
+        * Creates and initializes the default landmark database
+        */
+        void InitDbL();
+
+        /**
+        * Executes the open database test thread
+        */
+        static void RunOpenDbTestL(TDes* aMessage);
+
+        /**
+        * Executes the add remove LM test thread
+        */
+        static void RunAddRemoveLmTestL(TDes* aMessage);
+
+        /**
+        * Executes the import export LM test thread
+        */
+        static void RunImportExportLmTestL(TDes* aMessage);
+
+        /**
+        * Executes the database event test thread
+        */
+        static void RunDbEventTestL(TDes* aMessage);
+
+        /**
+        * Executes the read and update test thread
+        */
+        static void RunReadAndUpdateTestL(TDes* aMessage);
+        
+        /**
+        * Function called from RunReadAndUpdateTestL
+        */
+        static void UpdateLandmarksL(CPosLandmarkDatabase* aDb, TPosLmItemId aId, TDes* aMessage);
+
+    private:
+
+        void ResumeThreadsAndVerifyExitL();
+
+    private:
+
+        TBuf<100>               iBuf;
+
+    };
+
+#endif      // CPOSTP78_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp79.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,111 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP79_H
+#define CPOSTP79_H
+
+// INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+#include <ss_std.h>
+#include <e32std.h>
+
+// CLASS DECLARATION
+class CPosLandmarkParser;
+
+/**
+*  Test procedure 79
+*/
+class CPosTp79 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp79() : CLandmarkTestProcedureBase(79) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp79() {};
+
+    public: // Functions from base classes
+
+        /**
+        * From CUtfwTestBase
+        * Retrieves the test module name
+        * @param aName The name of the test module.
+        */
+        void GetName(
+            TDes&   aName
+            ) const;
+
+        /**
+        * From CUtfwTestBase
+        * Always called before StartL()
+        */
+        void InitTestL();
+
+        /**
+        * From CUtfwTestBase
+        * Always called, even if test leaves
+        */
+        void CloseTest();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    public: // New functions
+       
+        /**
+        * Creates and initializes the default landmark database
+        */
+        void InitDbL();
+
+        /**
+        * Executes the search test thread
+        */
+        static void RunSearchTestL(TDes* aMessage);
+
+        /**
+        * Executes the add remove categories test thread
+        */
+        static void RunAddRemoveCatsTestL(TDes* aMessage);
+
+        /**
+        * Executes the read and update test thread
+        */
+        static void RunReadAndUpdateTestL(TDes* aMessage);
+
+    private:
+
+        void ResumeThreadsAndVerifyExitL();
+
+    private:
+
+        TBuf<100>               iBuf;
+
+    };
+
+#endif      // CPOSTP79_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp8.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,97 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP8_H
+#define CPOSTP8_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+#include <e32cmn.h>
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 8
+*/
+class CPosTp8 : public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        
+        CPosTp8(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        /**
+        * Destructor.
+        */
+        ~CPosTp8() {};
+
+    public: // Functions from base classes
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+         /**
+        * From CLandmarkTestProcedureBase
+        * Cleans up after a test.
+        * Always called, even if the test leaves. 
+        */
+        void CloseTest();
+    
+        
+    private:
+        void AddLandmarksL(CPosLandmarkDatabase* aDatabase);
+        
+        void UpdateLandmarksL(CPosLandmarkDatabase* aDatabase);    
+        
+        void ReadLandmarksL(CPosLandmarkDatabase* aDatabase);
+
+        void RemoveLandmarksL(CPosLandmarkDatabase* aDatabase);
+
+        void RemoveLandmarksAsyncL(CPosLandmarkDatabase* aDatabase);
+
+        void RemoveLandmarksAsyncWithWaitForReqL(CPosLandmarkDatabase* aDatabase);
+
+        void CheckRemovedL(const TInt startIndex, const TInt stopIndex);
+
+        void RemoveSetOfLandmarksL(CPosLandmarkDatabase* aDatabase);
+
+        void ReadLandmarkL(TPosLmItemId aCategoryId);
+
+        void RemoveLandmarksAsyncAndCancelL();
+        
+        void CheckLandmarkNameMaxLengthL();
+        
+        CPosLandmarkDatabase* BackupTp8DbFileL();
+        
+        CPosLandmarkDatabase* RestoreTp8DbFileL();
+        
+    private: //data
+        
+        RPointerArray<CPosLandmark> iLandmarks;
+          
+    };
+
+#endif      // CPOSTP8_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp80.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,76 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp80_H
+#define CPOSTp80_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 80
+*/
+class CPosTp80 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp80() : CLandmarkTestProcedureBase(80) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp80() {};
+
+    public: // Functions from base classes
+
+        /**
+        * From CUtfwTestBase
+        * Retrieves the test module name
+        * @param aName The name of the test module.
+        */
+        void GetName(
+            TDes&   aName
+            ) const;
+            
+        /**
+        * From CUtfwTestBase
+        * Always called, even if test leaves
+        */
+        void CloseTest();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+        
+        private:
+        
+        void DeleteTestDbL();
+
+    };
+
+#endif      // CPOSTp80_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp81.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,70 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP81_H
+#define CPOSTP81_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+/**
+*  Test procedure 81
+*/
+class CPosTp81 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+        CPosTp81() : CLandmarkTestProcedureBase(81) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp81() {};
+
+    public: // Functions from base classes
+
+        /**
+        * From CUtfwTestBase
+        * Retrieves the test module name
+        * @param aName The name of the test module.
+        */
+        void GetName(
+            TDes&   aName
+            ) const;
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+    private:
+
+    void TestDifferentNamesL();
+    
+    };
+
+#endif      // CPOSTp81_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp9.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,87 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTP9_H
+#define CPOSTP9_H
+
+//  INCLUDES
+#include <EPos_CPosLandmark.h> 
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// CLASS DECLARATION
+
+
+/**
+*  Test procedure 9
+*/
+class CPosTp9 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+       
+       CPosTp9(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {};
+        
+        /**
+        * Destructor.
+        */
+        ~CPosTp9() {};
+
+    public: // Functions from base classes
+
+       
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Cleans up after a test.
+        * Always called, even if the test leaves. 
+        */
+        void CloseTest();
+
+    private:
+
+        void AddLandmarksL();
+        
+        void IterateLandmarksL();
+
+        void IterateSetOfLandmarksL();
+
+        void IterateSortedLandmarksL();
+
+        CPosLandmark* InternalGet(TPosLmItemId id);
+       
+        void CheckIteratorArgL(const CPosLandmark::TAttributes& aAttr);
+        
+       
+
+    private: // data
+        
+        RPointerArray<CPosLandmark> iLandmarks;
+    };
+
+#endif      // CPOSTP9_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CSearchResult.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,90 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+
+#ifndef CSEARCHRESULT_H
+#define CSEARCHRESULT_H
+
+//  INCLUDES
+#include <e32base.h>
+#include <EPos_CPosLandmark.h>
+
+#include "Ft_CSearchResultBase.h"
+
+class CSearchResult : public CSearchResultBase
+    {
+
+    public:  // Constructors and destructor
+        
+         /**
+        * Two-phased constructor.
+        */
+        static CSearchResult* NewL(const TDesC& aDes); 
+
+        /**
+        * Destructor.
+        */
+        ~CSearchResult();      
+
+    public: 
+
+         TPtrC TextCriteria() const;
+        
+         const RArray<TUint>& PositionFields() const;
+
+    private: 
+        
+        CSearchResult();
+
+        void ConstructL(const TDesC& aDes);
+        
+
+    private:
+
+         // By default, prohibit copy constructor
+        CSearchResult(const CSearchResult&);
+        // Prohibit assigment operator
+        CSearchResult& operator=(const CSearchResult&);
+
+        void ParsePositionFields(const TDesC& aDes);
+
+        void Print();
+        
+        TBool Equals32(const TReal aValue1, const TReal aValue2, const TReal aAccuracy);
+        
+    private: // Data
+        
+        enum TValueIndex
+			{
+            ETextCriteria           =0,	
+            EAttributes             =1,	
+            EPositionFields         =2,
+            ELmSearchResult         =3,
+            ERedefined              =4
+			};
+        
+        HBufC*                      iTextCriteria;
+        
+        RArray<TUint>               iPositionFields;
+        
+    };
+
+#endif      // CSEARCHRESULT_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CSearchResultBase.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,80 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+
+#ifndef CSEARCHRESULTBASE_H
+#define CSEARCHRESULTBASE_H
+
+//  INCLUDES
+#include <e32base.h>
+#include <EPos_CPosLandmark.h>
+
+
+
+class CSearchResultBase : public CBase
+    {
+
+    public:  // Constructors and destructor
+        
+        CSearchResultBase(); 
+
+        /**
+        * Destructor.
+        */
+        virtual ~CSearchResultBase();      
+
+    public: 
+
+         RArray<TPosLmItemId>& SearchResult();
+
+         TBool FindSearchResult(const TPosLmItemId aId);
+         
+         TBool Redefined() const;
+         
+         TUint Attributes() const;
+
+    protected:
+
+            void ParseSearchResult(const TDesC& aDes);
+
+            void ParseAttributesL(const TDesC& aDes);
+
+    private:
+
+         // By default, prohibit copy constructor
+        CSearchResultBase(const CSearchResultBase&);
+        // Prohibit assigment operator
+        CSearchResultBase& operator=(const CSearchResultBase&);
+      
+    protected: // Data
+        
+        TBool                        iRedefined;     
+
+        TUint32                     iAttributes; 
+
+        RArray<TPosLmItemId>        iSearchResult;
+
+    private: // Data
+        
+
+    };
+
+#endif      // CSearchResultBase_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_DatabaseUtility.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,144 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef FT_DATABASEUTILITY_H
+#define FT_DATABASEUTILITY_H
+
+//  INCLUDES
+#include <e32std.h>
+
+// CONSTANTS
+const TInt KPosLmSqlStatementMaxLen = 256;
+_LIT(KPosLmSqlAll, "*");
+_LIT(KPosLmSqlSelect, "SELECT %S FROM %S");
+
+// Table names
+_LIT(KPosLmLandmarkTable, "lmt_landmark");
+_LIT(KPosLmLandmarkFieldTable, "lmt_lmfield");
+_LIT(KPosLmCategoryTable, "lmt_cat");
+_LIT(KPosLmLandmarkCategoryTable, "lmt_lmcat");
+_LIT(KPosLmIconTable, "lmt_icon");
+_LIT(KPosLmSettingsTable, "lmt_settings");
+
+// COLUMN NAMES: Landmark table
+_LIT(KPosLmLandmarkIdCol, "lmc_lmid");
+_LIT(KPosLmLatitudeCol, "lmc_lat");
+_LIT(KPosLmLongitudeCol, "lmc_long");
+_LIT(KPosLmAltitudeCol, "lmc_alt");
+_LIT(KPosLmHorizAccCol, "lmc_hacc");
+_LIT(KPosLmVertAccCol, "lmc_vacc");
+_LIT(KPosLmCoverageRadiusCol, "lmc_covrad");
+_LIT(KPosLmIconIdCol, "lmc_iconid"); 
+_LIT(KPosLmIconPicNrCol, "lmc_iconnr");
+_LIT(KPosLmMaskPicNrCol, "lmc_masknr");
+_LIT(KPosLmNameCol, "lmc_name");
+_LIT(KPosLmNDescCol, "lmc_desc");
+
+// COLUMN NAMES: Landmark Field
+// KPosLmLandmarkIdCol declared above
+_LIT(KPosLmFieldTypeCol, "lmc_fieldtype");
+_LIT(KPosLmFieldStringCol, "lmc_fieldstr");
+
+// COLUMN NAMES: Category table
+_LIT(KPosLmCategoryIdCol, "lmc_catid");
+_LIT(KPosLmGlobalCategoryIdCol, "lmc_glcatid");
+// KPosLmIconIdCol declared above
+// KPosLmIconPicNrCol declared above
+_LIT(KPosLmCategoryNameCol, "lmc_catname");
+_LIT(KPosLmCategoryNameModifiedCol, "lmc_namemod");
+
+// COLUMN NAMES: Landmark-Category table
+// KPosLmLandmarkIdCol declared above
+// KPosLmCategoryIdCol declared above
+
+// COLUMN NAMES: Icon table
+// KPosLmIconIdCol declared above
+_LIT(KPosLmIconPathCol, "lmc_iconpath");
+
+// COLUMN NAMES: Landmark settings table
+_LIT(KPosLmLanguageCol, "lmc_language");
+_LIT(KPosLmInitFlagCol, "lmc_init");
+
+// INDEXES: Landmark table
+_LIT(KPosLmLandmarkIdIndex, "lmi_lmid");
+
+// INDEXES: Category table
+_LIT(KPosLmCategoryIdIndex, "lmi_catid");
+_LIT(KPosLmGlobalCategoryIdIndex, "lmi_glcatid");
+_LIT(KPosLmCategoryNameIndex, "lmi_catname");
+
+// INDEXES: Icon table
+_LIT(KPosLmIconIdIndex, "lmi_iconid");
+
+// CLASS DECLARATION
+class RDbNamedDatabase;
+
+/**
+*  Utility function for landmark database.
+*/
+class FTDatabaseUtility
+    {
+
+    public: // New functions
+
+        /**
+        * Removes the protocol (i.e. "file://") from the URI. This function
+        * assumes that the protocol is present first in the specified URI.
+        *
+        * @param aUri A URI. On out it contains the URI without the protocol.
+        */
+        IMPORT_C static void RemoveProtocolFromUriL(
+        /* IN/OUT */    TPtrC& aDbUri
+        );
+
+        static void CreateDatabaseL(const TDesC& aDbpath, TBool aReplaceDatabase= EFalse, TBool aWrongId=EFalse, TBool aCreateInvalidIndex=EFalse);
+		
+
+    private:
+
+        static void CreateTablesL(RDbNamedDatabase& aDb, TBool aCreateInvalidIndex);
+
+        static void CreateLandmarkTableL(RDbNamedDatabase& aDb, TBool aCreateInvalidIndex);
+
+        static void CreateLandmarkFieldTableL(RDbNamedDatabase& aDb);
+
+        static void CreateCategoryTableL(RDbNamedDatabase& aDb, TBool aCreateInvalidIndex);
+
+        static void CreateLmCategoryTableL(RDbNamedDatabase& aDb);
+
+        static void CreateIconTableL(RDbNamedDatabase& aDb);
+
+        static void CreateSettingsTableL(RDbNamedDatabase& aDb);
+
+        static void CreateIndexesL(RDbNamedDatabase& aDb);
+
+        static void CreateIndexL(RDbNamedDatabase& aDb,const TDesC& aIndex, 
+        	const TDesC& aTable,
+        	const TDesC& aColumn,
+        	TBool aUnique
+        );
+
+        static void SetCounterToOneL(RDbNamedDatabase& aDb,const TDesC& aTable);
+
+    };
+
+#endif      // FT_DATABASEUTILITY_H
+            
+// End of File
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_LandmarkConstants.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,190 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#ifndef LANDMARKCONSTANTS_H
+#define LANDMARKCONSTANTS_H
+
+#include <e32def.h>
+
+// CONSTANTS
+
+
+const TUint KTimeout = 10000000;
+
+
+const TReal32 KHorizontalAcc = 10;
+const TReal32 KVerticalAcc = 30;
+const TReal64 KLatitude = 65.3;
+const TReal64 KLongitude = 11.3;
+const TReal32 KAltitude = 2;
+const TReal32 KCoverageRadius = 50;
+
+_LIT(KMediaLinks, "3");
+_LIT(KMediaLink1, "https://www.aftonbladet.se");
+_LIT(KMediaLink2, "http://www.idg.se");
+_LIT(KMediaLink3, "http://www.svt.se");
+_LIT(KCountry, "Sweden");
+
+_LIT(KHorizontalSpeed, "126");
+_LIT(KOrientation, "10");
+
+_LIT(KMediaLinks2, "2");
+_LIT(KMediaLink4, "https://www.hotmail.com");
+_LIT(KMediaLink5, "http://www.sdsadsad.se");
+
+_LIT(KXMLMediaLink1, "html/text/http://www.enator.se");
+_LIT(KXMLMediaLink2, "http://www.sdsadsad.se");
+_LIT(KXMLMediaLink3, "mailto:sergey@nokia.com");
+_LIT(KXMLMediaLink4, "news:comp.infosystems.www.servers.unix");
+_LIT(KXMLMediaLink5, "html/text/http://www.awdawdawd.se");
+_LIT(KXMLMediaLink6, "http://www.glassbilen.se");
+_LIT(KXMLMediaLink7, "//http://www.testofparsing.se");
+_LIT(KXMLMediaLink8, "text/plain/mailto:jani@nokia.com");
+_LIT(KXMLMediaLink9, "application/wordperfect 5.1/z://some_application.exe");
+_LIT(KXMLMediaLink10, "text/plain/news:comp.infosystems.www.servers.dos");
+_LIT(KXMLMediaLink11, "z:/some_link_to_somewhere1");
+_LIT(KXMLMediaLink12, "z://some_link_to_somewhere2");
+_LIT(KXMLMediaLink13, "text/link/z://some_link_to_somewhere3");
+_LIT(KXMLMediaLink14, "image/png/some_png_file.html");
+
+//This is not exported, (ignored due to parsing)
+//_LIT(KXMLMediaLink13, "z:\\some_link_to_somewhere3");
+
+_LIT(KCountry2, "Finland");
+_LIT(KHorizontalSpeed2, "1");
+_LIT(KOrientation2, "120");
+_LIT(KLast, "Laaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaast");
+
+const TUint KNoPosFields = 7;
+const TInt KNoCategories = 3;
+
+_LIT(KMbmFileName, "c:\\system\\test\\landmarkstestsicon.mbm");
+const TInt KIconIndex = 0; // EMbmLandmarkstestsiconTelogo_25x20i;
+const TInt KIconMaskIndex = 0;
+
+const TReal32 KHorizontalAcc2 = 10;
+const TReal32 KVerticalAcc2 = 30;
+const TReal64 KLatitude2 = 45.3;
+const TReal64 KLongitude2 = 21.2;
+const TReal32 KAltitude2 = 2000;
+const TReal32 KCoverageRadius2 = 360;
+
+_LIT(KMbmFileName2, "c:\\system\\test\\landmarkstestsicon.mbm");
+const TInt KIconIndex2 = 323; // EMbmLandmarkstestsiconTelogo_25x20i;
+
+
+// Address Capabilities
+_LIT(KCountryCode,"SE");
+_LIT(KState, "-");
+_LIT(KCounty, "County??");
+_LIT(KCity, "Gothenborg");
+_LIT(KDistrict,"Gårda");
+_LIT(KStreet, "Vädursgatan 6");
+_LIT(KStreetExtension, "");
+_LIT(KLocationName, "TietoEnator");
+_LIT(KPostalCode, "412 50");
+_LIT(KLocality, "Gårda");
+_LIT(KCrossing1, "Fabriksgatan");
+_LIT(KCrossing2, "Åvägen");
+
+// Building Capabilities
+_LIT(KBuildingName, "BuildingName");
+_LIT(KBuildingFloor, "7");
+_LIT(KBuildingRoom, "Yellow");
+_LIT(KBuildingZone, "BuildingZone");
+_LIT(KBuildingTelephone, "031444444");
+
+_LIT(KName, "Micke's Pub");
+_LIT(KName2, "Drivhuset");
+_LIT(KCategoryName, "Pub");
+_LIT(KCategoryName2, "Resturant");
+
+_LIT(KDescription, "jada jada jada jada jada jada jada jada jada jada jada");
+//_LIT(KDescription, "jada");
+_LIT(KDescription2, "asddsadsads gg");
+
+//const TPosLmGlobalCategory KGlobalCategoryId = 123;
+
+const TInt KNoMultipleClients=5;
+
+const TInt KNoAddRequests=10;
+
+_LIT(KDefaultDb, "eposlm.ldb");
+_LIT(KTp25TestDb, "TP25Test.ldb");
+_LIT(KTp131TestDb, "TP131Test.ldb");
+_LIT(KTp1TestDb, "TP1Test.ldb");
+_LIT(KTp4TestDb, "TP4Test.ldb");
+_LIT(KTp10TestDb, "TP10Test.ldb");
+_LIT(KTp8TestDb, "TP8Test.ldb");
+_LIT(KDefaultDbPath, "c:\\system\\data\\");
+_LIT(KEmptyCopyPath, "c:\\system\\data\\eposEmpty.ldb");
+_LIT(KDb20, "EPOSLM_020.LDB");
+_LIT(KDb40, "EPOSLM_040.LDB");
+_LIT(KDb60, "EPOSLM_060.LDB");
+_LIT(KDb80, "EPOSLM_080.LDB");
+_LIT(KDb105, "EPOSLM_105.LDB");
+_LIT(KDb20Uri, "file://C:EPOSLM_020.LDB");
+_LIT(KDb40Uri, "file://C:EPOSLM_040.LDB");
+_LIT(KDb60Uri, "file://C:EPOSLM_060.LDB");
+_LIT(KDb80Uri, "file://C:EPOSLM_080.LDB");
+_LIT(KDb105Uri, "file://C:EPOSLM_105.LDB");
+_LIT(KDbNamePath, "c:\\private\\100012a5\\DBS_101FE978_EPOSLM_%d.LDB");
+_LIT(KDbName, "eposlm_%d.ldb");
+
+// Note: This is defined in landmarks
+_LIT(KLmDbPath, "c:\\private\\100012a5\\DBS_101FE978_");
+_LIT(KLmFullDefaultDbPath, "c:\\private\\100012a5\\DBS_101FE978_EPOSLM.LDB");
+_LIT(KLmTp25DefaultDbPath, "c:\\private\\100012a5\\DBS_101FE978_TP25TEST.LDB");
+_LIT(KLmTp131DefaultDbPath, "c:\\private\\100012a5\\DBS_101FE978_TP131TEST.LDB");
+_LIT(KLmTp1DefaultDbPath, "c:\\private\\100012a5\\DBS_101FE978_TP1TEST.LDB");
+_LIT(KLmTp4DefaultDbPath, "c:\\private\\100012a5\\DBS_101FE978_TP4TEST.LDB");
+_LIT(KLmTp8DefaultDbPath, "c:\\private\\100012a5\\DBS_101FE978_TP8TEST.LDB");
+_LIT(KLmTp10DefaultDbPath, "c:\\private\\100012a5\\DBS_101FE978_TP10TEST.LDB");
+
+_LIT(KTestPath, "c:\\system\\test\\testdata\\");
+
+_LIT(KLandmarksEmptyDb, "eposEmpty.ldb");
+
+_LIT(KGlobalCategoryResFileWINS, "c:\\resource\\EPOSLMGLOBALCATEGORIES.R01");
+_LIT(KGlobalCategoryResFileROM, "c:\\resource\\EPOSLMGLOBALCATEGORIES.R01");
+_LIT(KGlobalCategoryResFileCOPY, "c:\\resource\\COPY_EPOSLMGLOBALCATEGORIES.R01");
+
+#ifdef __WINS__
+_LIT(KCopyDbPath, "c:\\");
+_LIT(KLandmarksDb, "c:\\system\\test\\TestData\\eposlm.ldb");
+
+_LIT(KCopiedDb, "c:\\eposlm.ldb");
+_LIT(KCompositeLandmarksDb, "c:\\system\\test\\TestData\\compositeeposlm.ldb");
+_LIT(K1000LandmarksDb, "eposlm_1000_LMs.ldb");
+_LIT(K5000LandmarksDb, "eposlm_5000_LMs.ldb");
+#else
+_LIT(KCopiedDb, "c:\\system\\test\\eposlm.ldb");
+_LIT(KCopyDbPath, "c:\\system\\test\\");
+_LIT(KLandmarksDb, "c:\\system\\test\\TestData\\eposlm.ldb");
+_LIT(KCompositeLandmarksDb, "c:\\system\\test\\TestData\\compositeeposlm.ldb");
+
+_LIT(K1000LandmarksDb, "eposlm_1000_LMs.ldb");
+_LIT(K5000LandmarksDb, "eposlm_5000_LMs.ldb");
+#endif
+
+#endif      // LANDMARKCONSTANTS_H
+
+// End of File
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/LandMarksTestModule.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,229 @@
+/*
+* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+
+#ifndef LANDMARKSTESTMODULE_H
+#define LANDMARKSTESTMODULE_H
+
+//  INCLUDES
+#include <StifLogger.h>
+#include <TestScripterInternal.h>
+#include <StifTestModule.h>
+
+
+#include "FT_CLandmarkTestProcedureBase.h"
+
+// Logging path
+_LIT( KLandMarksTestModuleLogPath, "\\logs\\testframework\\LandMarksTestModule\\" ); 
+// Log file
+_LIT( KLandMarksTestModuleLogFile, "LandMarksTestModule.txt" ); 
+
+
+class CLandMarksTestModule;
+
+
+// CLASS DECLARATION
+
+/**
+*  CLandMarksTestModule test class for STIF Test Framework TestScripter.
+*/
+NONSHARABLE_CLASS(CLandMarksTestModule) : public CScriptBase
+    {
+    public:  // Constructors and destructor
+
+        /**
+        * Two-phased constructor.
+        */
+        static CLandMarksTestModule* NewL( CTestModuleIf& aTestModuleIf );
+
+        /**
+        * Destructor.
+        */
+        virtual ~CLandMarksTestModule();
+
+    public: // Functions from base classes
+
+        /**
+        * From CScriptBase Runs a script line.
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code
+        */
+        virtual TInt RunMethodL( CStifItemParser& aItem );
+
+    private:
+
+        /**
+        * C++ default constructor.
+        */
+        CLandMarksTestModule( CTestModuleIf& aTestModuleIf );
+
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+        void ConstructL();
+
+        /**
+        * Frees all resources allocated from test methods.
+        */
+        void Delete();
+
+        /**
+        * Test methods are listed below. 
+        */
+        void RunTestProcedureL( 
+            CLandmarkTestProcedureBase* tp,
+            CStifItemParser* aItem = NULL );
+
+        template <class T>
+        TInt TestProcedure( TInt aId, CStifItemParser& );
+
+        TInt FT_CPosTp1( CStifItemParser& aItem );
+        TInt FT_CPosTp2( CStifItemParser& aItem );
+        TInt FT_CPosTp3( CStifItemParser& aItem );
+        TInt FT_CPosTp4( CStifItemParser& aItem );
+        TInt FT_CPosTp5( CStifItemParser& aItem );
+        TInt FT_CPosTp6( CStifItemParser& aItem );
+	    TInt FT_CPosTp7( CStifItemParser& aItem );
+	    TInt FT_CPosTp8( CStifItemParser& aItem );
+	    TInt FT_CPosTp9( CStifItemParser& aItem );
+
+        TInt FT_CPosTp10( CStifItemParser& aItem );
+	   	TInt FT_CPosTp11( CStifItemParser& aItem );
+        TInt FT_CPosTp12( CStifItemParser& aItem );
+	   	TInt FT_CPosTp13( CStifItemParser& aItem );
+//        TInt FT_CPosTp15( CStifItemParser& aItem );
+//        TInt FT_CPosTp16( CStifItemParser& aItem );
+//        TInt FT_CPosTp17( CStifItemParser& aItem );
+	   	TInt FT_CPosTp18( CStifItemParser& aItem );
+	   	TInt FT_CPosTp19( CStifItemParser& aItem );
+
+        TInt FT_CPosTp20( CStifItemParser& aItem );
+	   	TInt FT_CPosTp21( CStifItemParser& aItem );
+	   	TInt FT_CPosTp23( CStifItemParser& aItem );
+	   	TInt FT_CPosTp24( CStifItemParser& aItem );
+	   	TInt FT_CPosTp25( CStifItemParser& aItem );
+		TInt FT_CPosTp26( CStifItemParser& aItem );
+//        TInt FT_CPosTp27( CStifItemParser& aItem );
+		TInt FT_CPosTp28( CStifItemParser& aItem );
+//        TInt FT_CPosTp29( CStifItemParser& aItem );
+
+//        TInt FT_CPosTp30( CStifItemParser& aItem );
+//        TInt FT_CPosTp31( CStifItemParser& aItem );
+//        TInt FT_CPosTp33( CStifItemParser& aItem );
+//        TInt FT_CPosTp34( CStifItemParser& aItem );
+		TInt FT_CPosTp35( CStifItemParser& aItem );
+		TInt FT_CPosTp36( CStifItemParser& aItem );
+        TInt FT_CPosTp37( CStifItemParser& aItem );
+		TInt FT_CPosTp38( CStifItemParser& aItem );
+//        TInt FT_CPosTp39( CStifItemParser& aItem );
+
+//        TInt FT_CPosTp40( CStifItemParser& aItem );
+//        TInt FT_CPosTp41( CStifItemParser& aItem );
+        TInt FT_CPosTp42( CStifItemParser& aItem );
+		TInt FT_CPosTp43( CStifItemParser& aItem );
+		TInt FT_CPosTp44( CStifItemParser& aItem );
+		TInt FT_CPosTp45( CStifItemParser& aItem );
+//        TInt FT_CPosTp46( CStifItemParser& aItem );
+		TInt FT_CPosTp47( CStifItemParser& aItem );
+		TInt FT_CPosTp48( CStifItemParser& aItem );
+//        TInt FT_CPosTp49( CStifItemParser& aItem );
+
+//        TInt FT_CPosTp50( CStifItemParser& aItem );
+        TInt FT_CPosTp51( CStifItemParser& aItem );
+        TInt FT_CPosTp52( CStifItemParser& aItem );
+//        TInt FT_CPosTp53( CStifItemParser& aItem );
+//        TInt FT_CPosTp54( CStifItemParser& aItem );
+//        TInt FT_CPosTp55( CStifItemParser& aItem );
+//        TInt FT_CPosTp56( CStifItemParser& aItem );
+//        TInt FT_CPosTp57( CStifItemParser& aItem );
+//        TInt FT_CPosTp58( CStifItemParser& aItem );
+
+//        TInt FT_CPosTp76( CStifItemParser& aItem );
+//        TInt FT_CPosTp77( CStifItemParser& aItem );
+//        TInt FT_CPosTp78( CStifItemParser& aItem );
+//        TInt FT_CPosTp79( CStifItemParser& aItem );
+
+//        TInt FT_CPosTp80( CStifItemParser& aItem );
+//        TInt FT_CPosTp81( CStifItemParser& aItem );
+
+        TInt FT_CPosTp100( CStifItemParser& aItem );
+        TInt FT_CPosTp101( CStifItemParser& aItem );
+		TInt FT_CPosTp102( CStifItemParser& aItem );
+		TInt FT_CPosTp103( CStifItemParser& aItem );
+		TInt FT_CPosTp104( CStifItemParser& aItem );
+//        TInt FT_CPosTp105( CStifItemParser& aItem );
+        TInt FT_CPosTp106( CStifItemParser& aItem );
+//        TInt FT_CPosTp107( CStifItemParser& aItem );
+//        TInt FT_CPosTp108( CStifItemParser& aItem );
+//        TInt FT_CPosTp109( CStifItemParser& aItem );
+
+//        TInt FT_CPosTp111( CStifItemParser& aItem );
+//        TInt FT_CPosTp114( CStifItemParser& aItem );
+		TInt FT_CPosTp116( CStifItemParser& aItem );
+        TInt FT_CPosTp117( CStifItemParser& aItem );
+        TInt FT_CPosTp118( CStifItemParser& aItem );
+        TInt FT_CPosTp119( CStifItemParser& aItem );
+
+        TInt FT_CPosTp120( CStifItemParser& aItem );
+	    TInt FT_CPosTp121( CStifItemParser& aItem );
+		TInt FT_CPosTp122( CStifItemParser& aItem );
+		TInt FT_CPosTp123( CStifItemParser& aItem );
+		TInt FT_CPosTp124( CStifItemParser& aItem );
+		TInt FT_CPosTp125( CStifItemParser& aItem );
+        TInt FT_CPosTp126( CStifItemParser& aItem );
+//        TInt FT_CPosTp127( CStifItemParser& aItem );
+		
+        TInt FT_CPosTp130( CStifItemParser& aItem );
+        TInt FT_CPosTp131( CStifItemParser& aItem );
+        TInt FT_CPosTp132( CStifItemParser& aItem );
+        TInt FT_CPosTp134( CStifItemParser& aItem );
+        TInt FT_CPosTp133( CStifItemParser& aItem );
+        TInt FT_CPosTp135( CStifItemParser& aItem );
+        TInt FT_CPosTp136( CStifItemParser& aItem );
+        TInt FT_CPosTp137( CStifItemParser& aItem );
+        TInt FT_CPosTp139( CStifItemParser& aItem );
+
+        TInt FT_CPosTp141( CStifItemParser& aItem );
+        TInt FT_CPosTp143( CStifItemParser& aItem );
+        TInt FT_CPosTp144( CStifItemParser& aItem );
+        TInt FT_CPosTp145( CStifItemParser& aItem );
+        TInt FT_CPosTp146( CStifItemParser& aItem );
+        TInt FT_CPosTp147( CStifItemParser& aItem );
+        
+       	TInt FT_CPosTp148( CStifItemParser& aItem );
+       	TInt FT_CPosTp149( CStifItemParser& aItem );
+       	TInt FT_CPosTp150( CStifItemParser& aItem );
+       	TInt FT_CPosTp151( CStifItemParser& aItem );
+       	TInt FT_CPosTp152( CStifItemParser& aItem );
+       	TInt FT_CPosTp153( CStifItemParser& aItem );
+       	TInt FT_CPosTp154( CStifItemParser& aItem );
+       	TInt FT_CPosTp155( CStifItemParser& aItem );
+       	TInt FT_CPosTp156( CStifItemParser& aItem );
+       	TInt FT_CPosTp157( CStifItemParser& aItem );
+       	TInt FT_CPosTp158( CStifItemParser& aItem );
+       	TInt FT_CPosTp159( CStifItemParser& aItem );
+       	TInt FT_CPosTp160( CStifItemParser& aItem );
+      	TInt FT_CPosTp161( CStifItemParser& aItem );
+      	TInt FT_CPosTp162( CStifItemParser& aItem );
+      	TInt FT_CPosTp163( CStifItemParser& aItem );
+      	TInt FT_CPosTp164( CStifItemParser& aItem );
+    };
+
+#endif      // LANDMARKSTESTMODULE_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/lcfsbucommondefinitions.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,339 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef _LCF_SBU_COMMON_DEFINITIONS_H_
+#define _LCF_SBU_COMMON_DEFINITIONS_H_
+
+///////////////////////////////////////////////////////
+//
+// SBu Common Definitions
+//
+///////////////////////////////////////////////////////
+
+/** 
+    $File: LcfSBuCommonDefitions.h
+    $Author: burnevsk $
+    $Date: 2004/10/18 08:14:23 $
+    $Revision: 1.6 $
+*/
+
+///////////////////////////////////////////////////////
+//
+// Constants
+//
+///////////////////////////////////////////////////////
+
+
+#include <e32def.h>
+#include <e32std.h>
+#include <e32err.h>
+
+#define DEF_LCFPSY1_MODULEID        0x03133002
+#define DEF_LCFPSY2_MODULEID        0x03133004
+#define DEF_LCFPSY3_MODULEID        0x03133006
+#define DEF_LCFPSYSLOW4_MODULEID    0x03133008
+#define DEF_LCFPSY6_MODULEID        0x0313300c
+
+const TInt KLcfPsy1UidValue = DEF_LCFPSY1_MODULEID;
+const TInt KLcfPsy3UidValue = DEF_LCFPSY3_MODULEID;
+const TInt KLcfPsy6UidValue = DEF_LCFPSY6_MODULEID;
+
+const TInt KSecondsToMicro = 1000*1000;
+
+// Show service formt
+_LIT(KShowServiceFormat, "Name: %S \nType: %d \n  Id: %S");
+
+// time value formatting
+_LIT(KTimeSpec, "%H:%T:%S:%C");
+
+// default requestors
+_LIT(KServiceName, "Lcf.Service");
+_LIT(KServiceId, "Lcf.ServiceId");
+
+_LIT(KContactName, "Lcf.Contact");
+_LIT(KPhone, "+79217654321");
+
+_LIT(KFieldNamePhone, "Phone");
+_LIT(KFieldNameEmail, "Email");
+_LIT(KFieldNameUrl, "Url");
+
+///////////////////////////////////////////////////////
+//
+// Other text
+//
+///////////////////////////////////////////////////////
+
+// Indicate not yet implemented
+_LIT(KNotImplemented, "Not yet implemented");   
+
+//_LIT(KBadRequestResult, "Wrong location request result (result=%d, expected=%d)");
+//_LIT(KBadDiagNum, "Wrong number of events in Notifier (count=%d, expected=%d)");
+//_LIT(KBadLcfResult, "Wrong notifier event result (result=%d, expected=%d)");
+
+_LIT(KBadDiagVerifEventNum, "Wrong number of Verification events in Notifier");
+_LIT(KBadDiagNotifEventNum, "Wrong number of Notification events in Notifier");
+
+///////////////////////////////////////////////////////
+//
+// Here are macros for error logging 
+// Those imply that are called from within of 
+// CUtfwTestBase-derived class's function (they use iLog member)
+//
+///////////////////////////////////////////////////////
+
+// LEAVES with _error_ if _condition_ is true
+#define LEAVE(condition, error)             \
+    if (condition) {                        \
+        errStr.Format(_L("%s (line %d)"), _S(error), __LINE__);    \
+        iLog->Log(errStr);			\
+        User::Leave(KErrGeneral);           	\
+    }
+
+// if _error_ is descritor
+#define LEAVE_DES(condition, error_des)     \
+    if (condition) {                        \
+        errStr.Format(_L("%S (line %d)"), &error_des, __LINE__);    \
+        iLog->Log(errStr);					\
+        User::Leave(KErrGeneral);            \
+    }
+
+// Must be included in the begging of function definition
+// in order to use following ("ERROR") macros
+// (The string buffer needs to be defined once, otherwise,
+// in case when a lot of errors are checked, stack may be
+// overflown, and copilation will fail)
+#define DECLARE_ERROR_STR                   TBuf<160> errStr;
+#define DECLARE_MESSAGE_STR                 TBuf<160> message;
+
+#define DECLARE_ERROR_LOGGING               DECLARE_ERROR_STR   DECLARE_MESSAGE_STR
+
+#define START_ERROR_LOGGING                 iErrorCounter = 0;
+
+// Logs a message, which is defined as "..." constant
+#define LOG(msg)                            \
+    {                                       \
+        errStr.Format(_L("%s (line %d)"), _S(msg), __LINE__);    \
+        iLog->Log(errStr);                  \
+    }
+#define LOG_DES(msg_des)                    \
+    {                                       \
+        errStr.Format(_L("%S (line %d)"), &msg_des, __LINE__);    \
+        iLog->Log(errStr);                  \
+    }
+    
+#define LOG_FORMAT_1(_format, _param)       \
+    message.Format(_format, _param);        \
+    LOG_DES(message);
+    
+#define LOG_FORMAT_2(_format, _param1, _param2)       \
+    message.Format(_format, _param, _param2);         \
+    LOG_DES(message);
+
+#define LOG_IIF(condition, msg1, msg2)      \
+    if (condition) LOG(msg1) else LOG(msg2)
+
+// Logs an error, which is defined as "..." constant
+#define ERR(error)                          \
+    {                                       \
+        errStr.Format(_L("%s (line %d)"), _S(error), __LINE__);    \
+        iLog->Log(errStr);             \
+        iErrorCounter++;                    \
+    }
+#define ERR_DES(error)                      \
+    {                                       \
+        errStr.Format(_L("%S (line %d)"), &error, __LINE__);    \
+        iLog->Log(errStr);             \
+        iErrorCounter++;                    \
+    }
+
+// Logs an _error_ if _condition_ is true
+#define ERROR(condition, error)             \
+    if (condition) ERR(error)
+
+// Logs an error, which defined as descriptor
+#define ERROR_DES(condition, error_des)     \
+    if (condition) ERR_DES(error_des)
+
+#define ERROR_1(condition, msg_fmt_des, param1)  \
+    message.Format(msg_fmt_des, param1);        \
+    ERROR_DES(condition, message);
+
+#define ERROR_2(condition, msg_fmt_des, param1, param2)  \
+    message.Format(msg_fmt_des, param1, param2);        \
+    ERROR_DES(condition, message);
+
+#define ERROR_3(condition, msg_fmt_des, param1, param2, param3) \
+    message.Format(msg_fmt_des, param1, param2, param3);        \
+    ERROR_DES(condition, message);
+
+#define IF_ERROR(error_code, msg)                               \
+    { TInt32 _err = error_code;                                 \
+    ERROR_2(_err != KErrNone, _L("%s (error=%d)"), _S(msg), _err); }
+
+#define IF_ERROR_DES(error_code, msg_des)                       \
+    { TInt32 _err = error_code;                                 \
+    ERROR_2(_err != KErrNone, _L("%S (error=%d)"), &msg_des, _err); }
+
+#define CHECK_EQUAL(_actual, _expected, _msg)                     \
+    ERROR_3(_actual != _expected, _L("%s (actual=%d, expected=%d)"), _S(_msg), _actual, _expected);
+
+#define CHECK_EQUAL_DES(_actual, _expected, _msg_des)           \
+    ERROR_3(_actual != _expected, _L("%S (actual=%d, expected=%d)"), &_msg_des, _actual, _expected);
+
+// Leaves if there were errors generated by ERROR macros
+// (put it at the end of you test function)
+#define LEAVE_IF_ERRORS()               \
+    if (iErrorCounter > 0) {             \
+        errStr.Format(_L("There were %d errors in the test, see previous messages!"), iErrorCounter);    \
+        iLog->Log(errStr); \
+          User::Leave(KErrGeneral);  \
+    }
+
+#define PAUSE_MS(_microseconds)                                 \
+    User::After(TTimeIntervalMicroSeconds32(_microseconds));
+#define PAUSE(_seconds)                                         \
+    PAUSE_MS(_seconds * KSecondsToMicro)
+
+class TWatch 
+{
+    public:
+        TWatch() { RestartWatch(); };
+        void RestartWatch() { iTime.UniversalTime(); iLastTick = iTime; };
+        void Tick() { iLastTick.UniversalTime(); };
+        TTimeIntervalMicroSeconds ElapsedTotal()
+        {
+            TTime now;
+            now.UniversalTime();
+            return now.MicroSecondsFrom(iTime);
+        };
+        TTimeIntervalMicroSeconds ElapsedFromTick()
+        {
+            TTime now;
+            now.UniversalTime();
+            return now.MicroSecondsFrom(iLastTick);
+        };
+        TTime Time() {return iTime; };
+    private:
+        TTime iTime;
+        TTime iLastTick;
+};
+
+class TThreadUtility
+{
+    public:
+        typedef void (*TThreadFunctionL)(TAny* aPtr);
+
+        struct TOptions
+        {
+            TThreadFunctionL    ThreadFunctionL;
+            TAny*               parameters; 
+        };
+
+        static TInt ThreadFunction(TAny* aPtr)
+        {
+            CTrapCleanup* cs = CTrapCleanup::New();
+            if (cs == NULL)
+            {
+                return KErrNoMemory;
+            }
+
+            // new ActiveScheduler
+            CActiveScheduler* scheduler = new(ELeave) CActiveScheduler;
+            CActiveScheduler::Install(scheduler);
+
+            TOptions* options = reinterpret_cast<TOptions*>(aPtr);
+            TRAPD(err, (*options->ThreadFunctionL)(options->parameters));
+
+            delete scheduler;
+            delete cs;
+            User::Exit(err);
+            return err;
+        };
+
+        void CreateL(const TDesC& aThreadName, TOptions* aOptions)
+        {
+            iName.Set(aThreadName);
+            User::LeaveIfError( iThread.Create(aThreadName,
+                                TThreadUtility::ThreadFunction,
+                                KDefaultStackSize,
+                                KMinHeapSize,
+                                10 * KMinHeapSize,
+                                aOptions,
+                                EOwnerProcess));
+        };
+        void CreateReuseHeapL(const TDesC& aThreadName, TOptions* aOptions)
+        {
+            iName.Set(aThreadName);
+            User::LeaveIfError( iThread.Create(aThreadName,
+                                TThreadUtility::ThreadFunction,
+                                KDefaultStackSize,
+                                &User::Heap(),
+                                aOptions,
+                                EOwnerProcess));
+        };
+        void Start()
+        {
+            iThread.Resume();
+        };
+        void Stop()
+        {
+            iThread.Suspend();
+        };
+
+        TInt Wait()
+        {
+            TRequestStatus threadStatus;
+            if (iThread.ExitType() == EExitPending) // still executing
+            {
+                iThread.Logon(threadStatus);
+                User::WaitForRequest(threadStatus);
+            }
+            return iThread.ExitReason();
+        };
+
+        const RThread Handle()
+        {
+            return iThread;
+        };
+
+        void Format(TDes& aMessage)
+        {
+            TExitCategoryName category = iThread.ExitCategory();
+            _LIT(KThreadFormat, "Thread %S, Reason %d, ExitType %d, ExitName %S");
+            aMessage.Format(KThreadFormat, 
+                &iName, iThread.ExitReason(), iThread.ExitType(), &category);
+        };
+
+        // used if class destroyed
+        void Close()
+        {
+            if (iThread.Handle())
+            {
+                if (iThread.ExitType() == EExitPending) // still executing
+                {
+                    iThread.Kill(KErrNone);
+                }
+                iThread.Close();
+            }
+        };
+
+    protected:
+        RThread iThread;
+        TPtrC   iName;
+};
+
+#endif // _LCF_SBU_COMMON_DEFINITIONS_H_
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/init/TestFramework.ini	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,172 @@
+#
+# This is STIFTestFramework initialization file
+# Comment lines start with '#'-character.
+# See STIF TestFramework users guide.doc for instructions
+
+# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+# Set following test engine settings:
+#        - Set Test Reporting mode. TestReportMode's possible values are:
+#                + 'Summary': Summary of the tested test cases.
+#                + 'Environment': Hardware and software info.
+#                + 'TestCases': Test case report.
+#                + 'FullReport': Set of all above ones.
+#                + Example 'TestReportMode= Summary TestCases'
+#
+#         - CreateTestReport setting controls report creation mode
+#                + YES, Test report will created.
+#                + NO, No Test report.
+#
+#         - File path indicates the base path of the test report.
+#         - File name indicates the name of the test report.
+#
+#         - File format indicates the type of the test report.
+#                + TXT, Test report file will be txt type, for example 'TestReport.txt'.
+#                + HTML, Test report will be html type, for example 'TestReport.html'.
+#
+#         - File output indicates output source of the test report.
+#                + FILE, Test report logging to file.
+#                + RDEBUG, Test report logging to using rdebug.
+#
+#         - File Creation Mode indicates test report overwriting if file exist.
+#                + OVERWRITE, Overwrites if the Test report file exist.
+#                + APPEND, Continue logging after the old Test report information if
+#                 report exist.
+
+[Engine_Defaults]
+
+TestReportMode= FullReport                # Possible values are:
+                                        # 'Summary', 'Environment', 'TestCases' or 'FullReport'
+
+CreateTestReport= YES                        # Possible values: YES or NO
+
+TestReportFilePath= C:\LOGS\TestFramework\
+TestReportFileName= TestReport
+
+TestReportFormat= TXT                        # Possible values: TXT or HTML
+TestReportOutput= FILE                        # Possible values: FILE or RDEBUG
+TestReportFileCreationMode= OVERWRITE        # Possible values: OVERWRITE or APPEND
+
+[End_Defaults]
+# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+
+
+
+# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+# Module configurations start
+# Modules are added between module tags
+# tags. Module name is specified after ModuleName= tag, like
+# ModuleName= XXXXXXXXX
+# Modules might have initialisation file, specified as
+# IniFile= YYYYYY
+# Modules might have several configuration files, like
+# TestCaseFile= NormalCases.txt
+# TestCaseFile= SmokeCases.txt
+# TestCaseFile= ManualCases.txt
+
+# (TestCaseFile is synonym for old term ConfigFile)
+
+# Following case specifies demo module settings. Demo module
+# does not read any settings from file, so tags
+# IniFile and TestCaseFile are not used.
+# In the simplest case it is enough to specify only the
+# name of the test module when adding new test module
+
+[New_Module]
+ModuleName= testscripter
+TestCaseFile= c:\testframework\LandMarksTestModule1.cfg
+[End_Module]
+
+#Load testmoduleXXX, optionally with initialization file and/or test case files
+#[New_Module]
+#ModuleName= testmodulexxx
+
+#TestModuleXXX used initialization file
+#IniFile= init.txt
+
+#TestModuleXXX used configuration file(s)
+#TestCaseFile= testcases1.cfg
+#TestCaseFile= testcases2.cfg
+#TestCaseFile= manualtestcases.cfg
+
+#[End_Module]
+# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+
+
+
+# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+# Set STIFTestFramework logging overwrite parameters for Logger.
+#         Hardware and emulator environment logging path and styles can
+#         be configured from here to overwrite the Logger's implemented values.
+#
+#        Settings description:
+#        - Indicates option for creation log directory/directories. If log directory/directories
+#         is/are not created by user they will make by software.
+#                + YES, Create log directory/directories if not allready exist.
+#                + NO, Log directory/directories not created. Only created one is used.
+#
+#        - Overwrite emulator path setting.
+#                + Example: If 'EmulatorBasePath= C:\LOGS\TestFramework\' and in code is defined
+#                           Logger's path 'D:\\LOGS\\Module\\' with those definition the path
+#                           will be 'C:\LOGS\TestFramework\LOGS\Module\'
+#
+#        - Overwrite emulator's logging format.
+#                + TXT, Log file(s) will be txt type(s), for example 'Module.txt'.
+#                + HTML, Log file(s) will be html type(s), for example 'Module.html'.
+#
+#        - Overwrited emulator logging output source.
+#                + FILE, Logging to file(s).
+#                + RDEBUG, Logging to using rdebug(s).
+#
+#        - Overwrite hardware path setting (Same description as above in emulator path).
+#        - Overwrite hardware's logging format(Same description as above in emulator format).
+#        - Overwrite hardware's logging output source(Same description as above in emulator output).
+#
+#        - File Creation Mode indicates file overwriting if file exist.
+#                + OVERWRITE, Overwrites if file(s) exist.
+#                + APPEND, Continue logging after the old logging information if file(s) exist.
+#
+#        - Will thread id include to the log filename.
+#                + YES, Thread id to log file(s) name, Example filename 'Module_b9.txt'.
+#                + NO, No thread id to log file(s), Example filename 'Module.txt'.
+#
+#        - Will time stamps include the to log file.
+#                + YES, Time stamp added to each line in log file(s). Time stamp is
+#                 for example'12.Nov.2003 115958    LOGGING INFO'
+#                + NO, No time stamp(s).
+#
+#        - Will line breaks include to the log file.
+#                + YES, Each logging event includes line break and next log event is in own line.
+#                + NO, No line break(s).
+#
+#        - Will event ranking include to the log file.
+#                + YES, Event ranking number added to each line in log file(s). Ranking number
+#                 depends on environment's tics, for example(includes time stamp also)
+#                 '012   12.Nov.2003 115958    LOGGING INFO'
+#                + NO, No event ranking.
+#
+
+[Logger_Defaults]
+
+#NOTE: If you want to set Logger using next setting(s) remove comment(s)'#'
+
+CreateLogDirectories= YES                # Possible values: YES or NO
+
+EmulatorBasePath= C:\
+EmulatorFormat= TXT                        # Possible values: TXT or HTML
+EmulatorOutput= FILE                        # Possible values: FILE or RDEBUG
+
+HardwareBasePath= C:\
+HardwareFormat= TXT                        # Possible values: TXT or HTML
+HardwareOutput= FILE                        # Possible values: FILE or RDEBUG
+
+FileCreationMode= APPEND                # Possible values: OVERWRITE or APPEND
+
+ThreadIdToLogFile= YES                        # Possible values: YES or NO
+WithTimeStamp= YES                        # Possible values: YES or NO
+WithLineBreak= YES                        # Possible values: YES or NO
+#WithEventRanking= YES                        # Possible values: YES or NO
+
+[End_Logger_Defaults]
+# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+
+# End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CAreaSearchResult.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,205 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include <e32math.h>
+#include <e32svr.h>
+#include <e32std.h>
+#include "FT_CAreaSearchResult.h"
+
+//CONSTANTS
+const TInt KMaxFieldLength = 80;
+
+// C++ Constructor 
+CAreaSearchResult::CAreaSearchResult() 
+    {
+    }
+
+CAreaSearchResult* CAreaSearchResult::NewL(const TDesC& aDes) 
+    {
+    CAreaSearchResult* self = new(ELeave) CAreaSearchResult;
+    CleanupStack::PushL(self);
+    self->ConstructL(aDes);
+    CleanupStack::Pop();
+    return self;
+    }
+
+// C++ destructor 
+CAreaSearchResult::~CAreaSearchResult() 
+    {
+
+    }
+
+void CAreaSearchResult::ConstructL(const TDesC& aDes) 
+    {
+    TLex line(aDes);
+    line.Mark();
+    TInt redefined=0;
+
+    if (line.Peek() != '#' && line.Peek() != '\t')
+        { 
+        TInt index=0;
+        while (line.Peek() != '\n' && !(line.Peek()).Eos())
+            {
+            line.Inc();
+            if (line.Peek() == '\t')
+                {
+                TPtrC token = line.MarkedToken();
+                TLex val(token);              
+                switch(index)
+                    {
+                    case ESouthLat:
+                        val.Val(iSouthLat, TChar(','));   
+                        break;
+                    case ENorthLat:
+                        val.Val(iNorthLat, TChar(','));   
+                        break;
+                    case EWestLong:
+                        val.Val(iWestLong, TChar(','));   
+                        break;
+                    case EEastLong:
+                        val.Val(iEastLong, TChar(','));   
+                        break;
+                    case EErrorCode:
+                        val.Val(iErrorCode);   
+                        break;
+                    case ESearchResult:
+                        ParseSearchResult(token);
+                        break;
+                    case ERedefined:
+                        val.Val(redefined);
+                        if (redefined == 1)
+                            {
+                            iRedefined = ETrue;
+                            }
+                        break;
+                    }    
+                line.Inc();
+                while (line.Peek() == '\t') // Empty value
+                    {
+                    line.Inc();
+                    ++index;
+                    }
+                line.Mark();
+                ++index;
+                }
+            }
+        }
+    
+    }
+
+// ---------------------------------------------------------
+// CAreaSearchResult::SouthLat
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TReal64 CAreaSearchResult::SouthLat() const
+    {
+    return iSouthLat;
+    }
+
+// ---------------------------------------------------------
+// CAreaSearchResult::NortLat()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TReal64 CAreaSearchResult::NorthLat() const
+    {
+    return iNorthLat;
+    }
+
+// ---------------------------------------------------------
+// CAreaSearchResult::WestLong()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//        
+TReal64 CAreaSearchResult::WestLong() const
+    {
+    return iWestLong;
+    }
+
+// ---------------------------------------------------------
+// CAreaSearchResult::EastLong()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//        
+TReal64 CAreaSearchResult::EastLong() const
+    {
+    return iEastLong;
+    }
+
+// ---------------------------------------------------------
+// CAreaSearchResult::ErrorCode()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt CAreaSearchResult::ErrorCode() const
+    {
+    return iErrorCode;
+    }
+
+// ---------------------------------------------------------
+// CAreaSearchResult::Print()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CAreaSearchResult::Print(TDes& aPrint)
+    {
+    
+    
+    TChar del(',');
+
+    TBuf<KMaxFieldLength> info;
+    _LIT(KPosInfo, "SouthLat=%g, NortLat=%g, WestLong=%g, EastLong=%g");
+    
+    info.Format(KPosInfo, iSouthLat, iNorthLat, iWestLong, iEastLong);
+    aPrint.Append(info);
+    aPrint.Append(del);
+    
+    _LIT(KRedefined, "Redefined=%d");
+    info.Format(KRedefined, iRedefined);
+    aPrint.Append(info);
+    aPrint.Append(del);
+
+    _LIT(KErrorCode, "ErrorCode = %d");
+    info.Format(KErrorCode, iErrorCode);
+    aPrint.Append(info);
+    aPrint.Append(del);
+
+    aPrint.Append(_L("Search result = "));
+
+    for (TInt i=0; i<iSearchResult.Count(); i++)
+        {
+        _LIT(KSearchResult, "%d");
+        info.Format(KSearchResult, iSearchResult[i]);
+        aPrint.Append(info);
+        aPrint.Append(del);
+        }
+    
+    
+    }
+
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CCategoryLandmarkSearchResult.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,229 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include <e32math.h>
+#include <e32svr.h>
+#include <e32std.h>
+#include "FT_CCategoryLandmarkSearchResult.h"
+
+//CONSTANTS
+const TInt KMaxFieldLength = 80;
+const TInt KMaxLineLength=255;
+
+//const TReal KReal32Accuracy = 5.96E-8;
+/*
+const TReal KAccuracyHigh = 5.96E-8;
+const TReal KAccuracyMedium = 4E-5;
+const TReal KAccuracyLow = 4E-3;
+*/
+
+// C++ Constructor 
+CCategoryLandmarkSearchResult::CCategoryLandmarkSearchResult() 
+    {
+    }
+
+CCategoryLandmarkSearchResult* CCategoryLandmarkSearchResult::NewL(const TDesC& aDes) 
+    {
+    CCategoryLandmarkSearchResult* self = new(ELeave) CCategoryLandmarkSearchResult;
+    CleanupStack::PushL(self);
+    self->ConstructL(aDes);
+    CleanupStack::Pop();
+    return self;
+    }
+
+// C++ destructor 
+CCategoryLandmarkSearchResult::~CCategoryLandmarkSearchResult() 
+    {
+    delete iCategoryName;
+    iCategoryName = NULL;
+     
+    iPositionFields.Close();
+    }
+
+void CCategoryLandmarkSearchResult::ConstructL(const TDesC& aDes) 
+    {
+    TLex line(aDes);
+    line.Mark();
+    TInt redefined=0;
+    TInt id=0;
+
+    if (line.Peek() != '#' && line.Peek() != '\t')
+        { 
+        TInt index=0;
+        while (line.Peek() != '\n' && !(line.Peek()).Eos())
+            {
+            line.Inc();
+            if (line.Peek() == '\t')
+                {
+                TPtrC token = line.MarkedToken();
+                TLex val(token);
+
+                switch(index)
+                    {
+                    case ECategoryName:
+                        iCategoryName = token.AllocL();
+                        break;
+/*                    case EAttributes:
+                        ParseAttributesL(token);
+                        break;
+*/
+                    case ECategoryId:
+                        //iTextCriteria = token.AllocL();
+                        val.Val(id);
+                        iCategoryId = id;
+                        break;
+/*
+                    case EPositionFields:
+                        ParsePositionFields(token);
+                        break;
+*/
+                    case ELmSearchResult:
+                        ParseSearchResult(token);
+                        break;
+                    case ERedefined:
+                        val.Val(redefined);
+                        if (redefined == 1)
+                            {
+                            iRedefined = ETrue;
+                            }
+                        break;
+                    }    
+                line.Inc();
+                while (line.Peek() == '\t') // Empty value
+                    {
+                    line.Inc();
+                    ++index;
+                    }
+                line.Mark();
+                ++index;
+                }
+            }  
+        }
+    //Print();
+    }   
+
+// ---------------------------------------------------------
+// CCategoryLandmarkSearchResult::ParsePositionFields()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+/*
+void CCategoryLandmarkSearchResult::ParsePositionFields(const TDesC& aDes)
+    {    
+    TLex line(aDes);
+    line.Mark();
+    TInt value=0;
+  
+    while (!(line.Peek()).Eos())    
+        {
+        line.Inc();
+        if (line.Peek() == ',' || (line.Peek()).Eos())
+            {
+            TPtrC token = line.MarkedToken();
+            TLex val(token);
+            val.Val(value);
+            iPositionFields.Append(value);
+            
+            if (line.Peek() == ',')
+                {
+                line.Inc();
+                line.Mark();
+                }
+            }
+        }
+    }
+*/
+// ---------------------------------------------------------
+// CCategoryLandmarkSearchResult::Print()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CCategoryLandmarkSearchResult::Print()
+    {
+    TBuf<KMaxLineLength> print;
+    
+    TChar del(',');
+      
+    print.Append(*iCategoryName);
+    print.Append(del);
+
+    TBuf<KMaxFieldLength> info;
+    _LIT(KAttrInfo, "%x");
+    info.Format(KAttrInfo, iAttributes);
+    print.Append(info);
+    print.Append(del);
+
+    _LIT(KIntInfo, "%d");
+    TInt i=0;
+    for (i=0; i<iPositionFields.Count(); i++)
+        {
+        info.Format(KIntInfo, iPositionFields[i]);
+        print.Append(info);
+        print.Append(del);
+        }
+    
+    for (i=0; i<iSearchResult.Count(); i++)
+        {
+        info.Format(KIntInfo, iSearchResult[i]);
+        print.Append(info);
+        print.Append(del);
+        }
+
+    RDebug::Print(print);
+    }
+
+// ---------------------------------------------------------
+// CCategoryLandmarkSearchResult::CategoryName()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TPtrC CCategoryLandmarkSearchResult::CategoryName() const
+    {
+    return *iCategoryName;
+    }
+
+
+// ---------------------------------------------------------
+// CCategoryLandmarkSearchResult::CategoryId()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TPosLmItemId CCategoryLandmarkSearchResult::CategoryId() const
+    {
+    return iCategoryId;
+    }
+
+// ---------------------------------------------------------
+// CCategoryLandmarkSearchResult::PositionFields
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+const RArray<TUint>& CCategoryLandmarkSearchResult::PositionFields() const
+    {
+    return iPositionFields;
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CCategorySearchResult.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,192 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include <e32math.h>
+#include <e32svr.h>
+#include <e32std.h>
+#include "FT_CCategorySearchResult.h"
+
+//CONSTANTS
+const TInt KMaxFieldLength = 80;
+const TInt KMaxLineLength=255;
+
+// C++ Constructor 
+CCategorySearchResult::CCategorySearchResult() 
+    {
+    }
+
+CCategorySearchResult* CCategorySearchResult::NewL(const TDesC& aDes) 
+    {
+    CCategorySearchResult* self = new(ELeave) CCategorySearchResult;
+    CleanupStack::PushL(self);
+    self->ConstructL(aDes);
+    CleanupStack::Pop();
+    return self;
+    }
+
+// C++ destructor 
+CCategorySearchResult::~CCategorySearchResult() 
+    {
+    delete iTextCriteria;
+    iTextCriteria = NULL;
+     
+    iPositionFields.Close();
+    }
+
+void CCategorySearchResult::ConstructL(const TDesC& aDes) 
+    {
+    TLex line(aDes);
+    line.Mark();
+    TInt redefined=0;
+
+    if (line.Peek() != '#' && line.Peek() != '\t')
+        { 
+        TInt index=0;
+        while (line.Peek() != '\n' && !(line.Peek()).Eos())
+            {
+            line.Inc();
+            if (line.Peek() == '\t')
+                {
+                TPtrC token = line.MarkedToken();
+                TLex val(token);              
+                switch(index)
+                    {
+                    case ETextCriteria:
+                        iTextCriteria = token.AllocL();
+                        break;
+                    case ELmSearchResult:
+                        ParseSearchResult(token);
+                        break;
+                    case ERedefined:
+                        val.Val(redefined);
+                        if (redefined == 1)
+                            {
+                            iRedefined = ETrue;
+                            }
+                        break;
+                    }    
+                line.Inc();
+                while (line.Peek() == '\t') // Empty value
+                    {
+                    line.Inc();
+                    ++index;
+                    }
+                line.Mark();
+                ++index;
+                }
+            }  
+        }
+    }   
+
+
+// ---------------------------------------------------------
+// CCategorySearchResult::ParsePositionFields()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CCategorySearchResult::ParsePositionFields(const TDesC& aDes)
+    {    
+    TLex line(aDes);
+    line.Mark();
+    TInt value=0;
+  
+    while (!(line.Peek()).Eos())    
+        {
+        line.Inc();
+        if (line.Peek() == ',' || (line.Peek()).Eos())
+            {
+            TPtrC token = line.MarkedToken();
+            TLex val(token);
+            val.Val(value);
+            iPositionFields.Append(value);
+            
+            if (line.Peek() == ',')
+                {
+                line.Inc();
+                line.Mark();
+                }
+            }
+        }
+    }
+
+// ---------------------------------------------------------
+// CCategorySearchResult::Print()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CCategorySearchResult::Print()
+    {
+    TBuf<KMaxLineLength> print;
+    
+    TChar del(',');
+      
+    print.Append(*iTextCriteria);
+    print.Append(del);
+
+    TBuf<KMaxFieldLength> info;
+    _LIT(KAttrInfo, "%x");
+    info.Format(KAttrInfo, iAttributes);
+    print.Append(info);
+    print.Append(del);
+
+    _LIT(KIntInfo, "%d");
+    TInt i=0;
+    for (i=0; i<iPositionFields.Count(); i++)
+        {
+        info.Format(KIntInfo, iPositionFields[i]);
+        print.Append(info);
+        print.Append(del);
+        }
+    
+    for (i=0; i<iSearchResult.Count(); i++)
+        {
+        info.Format(KIntInfo, iSearchResult[i]);
+        print.Append(info);
+        print.Append(del);
+        }
+
+    RDebug::Print(print);
+    }
+
+// ---------------------------------------------------------
+// CCategorySearchResult::TextCriteria()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TPtrC CCategorySearchResult::TextCriteria() const
+    {
+    return *iTextCriteria;
+    }
+
+// ---------------------------------------------------------
+// CCategorySearchResult::PositionFields
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+const RArray<TUint>& CCategorySearchResult::PositionFields() const
+    {
+    return iPositionFields;
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CCompositeSearchResult.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,644 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include <e32math.h>
+#include <e32svr.h>
+#include <e32std.h>
+
+#include <EPos_CPosLmCompositeCriteria.h>
+#include <EPos_CPosLmCategoryCriteria.h>
+#include <EPos_CPosLmCatNameCriteria.h>
+#include <EPos_CPosLmTextCriteria.h>
+#include <EPos_CPosLmIdListCriteria.h>
+#include <EPos_CPosLmAreaCriteria.h>
+#include <EPos_CPosLmNearestCriteria.h>
+#include <LbsPosition.h>
+
+#include "FT_CCompositeSearchResult.h"
+
+#include <StifLogger.h>
+
+//CONSTANTS
+const TInt KMaxLineLength=255;
+
+// C++ Constructor 
+CCompositeSearchResult::CCompositeSearchResult() 
+    {
+    }
+
+CCompositeSearchResult* CCompositeSearchResult::NewL(CStifLogger* aLog) 
+    {
+    CCompositeSearchResult* self = new(ELeave) CCompositeSearchResult;
+    CleanupStack::PushL(self);
+    self->ConstructL(aLog);
+    CleanupStack::Pop();
+    return self;
+    }
+
+// C++ destructor 
+CCompositeSearchResult::~CCompositeSearchResult() 
+    {
+    iFile.Close();
+    iFileSession.Close();
+
+    iResultIds.Close();
+    iIdList.Close();
+    iPositionList.Close();
+
+    delete iTextCriteria;
+    iTextCriteria = NULL;
+
+    delete iCategoryName;
+    iCategoryName = NULL;
+
+    }
+
+void CCompositeSearchResult::ConstructL(CStifLogger* aLog) 
+    {
+    iLog = aLog;
+
+    _LIT(KFileTestValues, "c:\\system\\test\\testdata\\LmDbCompositeSearchResult.txt");
+    
+    User::LeaveIfError(iFileSession.Connect());
+    User::LeaveIfError(iFile.Open(iFileSession, KFileTestValues,  EFileRead));
+    iTextEnabled = EFalse;
+    iAreaEnabled = EFalse;
+    iNearestEnabled = EFalse;
+    iCategoryEnabled = EFalse;
+    iIdListEnabled = EFalse;
+    }
+
+// ---------------------------------------------------------
+// CCompositeSearchResult::GetCompositeSearchResultsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+
+TBool CCompositeSearchResult::GetCompositeSearchResultsL(CPosLmCompositeCriteria& aComposite)
+    {
+    TBuf<KMaxLineLength> line;
+    TBool done = EFalse;
+
+    iTextEnabled = EFalse;
+    iAreaEnabled = EFalse;
+    iNearestEnabled = EFalse;
+    iCategoryEnabled = EFalse;
+    iIdListEnabled = EFalse;
+
+    iResultIds.Close();
+    iIdList.Close();
+    iPositionList.Close();
+
+    delete iTextCriteria;
+    iTextCriteria = NULL;
+
+    delete iCategoryName;
+    iCategoryName = NULL;
+
+    iCategoryId = 0;
+    iRedefined = 0;
+    iUseCoverageRadius = EFalse;
+    iMaxDistance = -1;
+
+    iSouthLat=0;iNorthLat=0;iWestLong=0;iEastLong=0;
+    iTestCounter++;
+
+    TBuf<50> buf;
+    buf.Format(_L(">>>>>>>>>>>>Test Round %d<<<<<<<<<<"), iTestCounter);
+    iLog->Log(buf);
+
+    aComposite.ClearArguments();
+
+    while (ReadLn(iFile, line) != KErrEof && !done)
+        {
+        TLex lex(line);
+        if (lex.Peek() != '#' && lex.Peek() != '\t')
+            {
+            // Found "# TEXT" line
+            if (lex.Peek() == 'T')
+                {
+                ParseTextL(line);
+                CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+                
+                textCriteria->SetTextL(*iTextCriteria);
+                textCriteria->SetAttributesToSearch(iTextAttributes);
+                textCriteria->SetPositionFieldsToSearchL(iPositionList); 
+                
+                aComposite.AddArgument(textCriteria);
+                CleanupStack::Pop(textCriteria);
+                iTextEnabled = ETrue;
+                }
+            // Found "# AREA" line
+            else if (lex.Peek() == 'A')
+                {
+                ParseAreaL(line);
+                CPosLmAreaCriteria* areaCriteria = CPosLmAreaCriteria::NewLC(iSouthLat, 
+                    iNorthLat, 
+                    iWestLong, 
+                    iEastLong
+                    );
+                
+                aComposite.AddArgument(areaCriteria);
+                CleanupStack::Pop(areaCriteria);
+                iAreaEnabled = ETrue;
+                }
+            // Found "# CATEGORY" line
+            else if (lex.Peek() == 'C')
+                {
+                ParseCategoryL(line);
+                CPosLmCategoryCriteria* catSearchCriteria = CPosLmCategoryCriteria::NewLC();
+                if (iCategoryId>0)
+                    {
+                    iLog->Log(_L("SetCategoryItemId"));
+                    catSearchCriteria->SetCategoryItemId(iCategoryId);
+                    }
+                if (iCategoryName != NULL)
+                    {
+                    iLog->Log(_L("SetCategoryNameL"));
+                    catSearchCriteria->SetCategoryNameL(*iCategoryName);
+                    }
+                aComposite.AddArgument(catSearchCriteria);
+                CleanupStack::Pop(catSearchCriteria);
+                iCategoryEnabled = ETrue;
+                }
+            // Found "# NEAREST" line
+            else if (lex.Peek() == 'N')
+                {
+                ParseNearestL(line);
+                TCoordinate coord(iLatitude, iLongitude);
+                
+                CPosLmNearestCriteria* nearestCriteria = CPosLmNearestCriteria::NewLC(coord, iUseCoverageRadius);
+                if (iMaxDistance > 0)
+                    {
+                    nearestCriteria->SetMaxDistance(iMaxDistance);
+                    }
+                nearestCriteria->SetUseCoverageRadius(iUseCoverageRadius);
+                aComposite.AddArgument(nearestCriteria);
+                CleanupStack::Pop(nearestCriteria);
+
+                iNearestEnabled = ETrue;
+                }
+            // Found "# IDLIST" line
+            else if (lex.Peek() == 'I')
+                {
+                ParseIdListL(line);
+                RArray<TPosLmItemId> list;
+                CleanupClosePushL(list);
+                
+                CPosLmIdListCriteria* idList = CPosLmIdListCriteria::NewLC();
+                
+                for (TInt i=0;i<iIdList.Count();i++)
+                {
+                    list.Append(iIdList[i]);
+                }
+                idList->SetLandmarkIdsL(list);
+                
+                aComposite.AddArgument(idList);
+                CleanupStack::Pop(idList);
+                CleanupStack::PopAndDestroy(&list);
+                iIdListEnabled = ETrue;
+                }
+            // Found "# RESULT" line
+            else if (lex.Peek() == 'R')
+                {
+                ParseResultL(line);
+                }
+            // Found "# SEPARATOR" line
+            else if (lex.Peek() == 'S')
+                {
+                done = ETrue;
+                }
+            }
+        }
+
+    if (done != EFalse) return EFalse;
+    else return ETrue;
+
+    }
+
+// ---------------------------------------------------------
+// CCompositeSearchResult::ReadLn
+// 
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt CCompositeSearchResult::ReadLn(RFile& aFile, TDes& aDes)
+    {
+    aDes = KNullDesC;
+    TBuf8<KMaxLineLength> line;
+
+	TInt err = aFile.Read(line);
+    if (line.Length() == 0)
+        {
+        return KErrEof;
+        }
+	if (err)
+		{
+		return err;
+		}
+
+    // Find line feed
+    TInt i = 0;
+	TLex8 fileData;
+	fileData.Assign(line);
+	while (fileData.Peek() != '\n' && !(fileData.Peek()).Eos())
+		{
+        fileData.Inc();
+        if (++i == KMaxLineLength)
+            {
+            // In case no carriage return or end of string characters are present.
+            break;
+            }
+        }
+
+    // Update file position
+    TInt diff = -(line.Length() - i - 1);
+    aFile.Seek(ESeekCurrent, diff);
+
+    // Convert to 16-bit
+    line.SetLength(i);
+    aDes.Copy(line);
+
+    return KErrNone;
+    }
+
+// ---------------------------------------------------------
+// CCompositeSearchResult::ParseAreaL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CCompositeSearchResult::ParseAreaL(const TDesC& aDes) 
+    {
+    iLog->Log(_L("ParseAreaL")); 
+    TLex line(aDes);
+    line.Mark();
+
+    if (line.Peek() != '#' && line.Peek() != '\t')
+        { 
+        TInt index=0;
+        while (line.Peek() != '\n' && !(line.Peek()).Eos())
+            {
+            line.Inc();
+            if (line.Peek() == '\t')
+                {
+                TPtrC token = line.MarkedToken();
+                TLex val(token);              
+                switch(index)
+                    {
+                    case ESouthLat:
+                        val.Val(iSouthLat, TChar(','));
+                        break;
+                    case ENorthLat:
+                        val.Val(iNorthLat, TChar(','));
+                        break;
+                    case EWestLong:
+                        val.Val(iWestLong, TChar(','));
+                        break;
+                    case EEastLong:
+                        val.Val(iEastLong, TChar(','));
+                        break;
+                    }    
+                line.Inc();
+                while (line.Peek() == '\t') // Empty value
+                    {
+                    line.Inc();
+                    ++index;
+                    }
+                line.Mark();
+                ++index;
+                }
+            }
+        }
+    }
+
+// ---------------------------------------------------------
+// CCompositeSearchResult::ParseNearestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CCompositeSearchResult::ParseNearestL(const TDesC& aDes) 
+    {
+    iLog->Log(_L("ParseNearestL"));
+    TLex line(aDes);
+    line.Mark();
+    TInt useCoverageRadius = 0;
+
+    if (line.Peek() != '#' && line.Peek() != '\t')
+        { 
+        TInt index=0;
+        while (line.Peek() != '\n' && !(line.Peek()).Eos())
+            {
+            line.Inc();
+            if (line.Peek() == '\t')
+                {
+                TPtrC token = line.MarkedToken();
+                TLex val(token);              
+                switch(index)
+                    {
+                    case ELatitude:
+                        val.Val(iLatitude, TChar(','));   
+                        break;
+                    case ELongitude:
+                        val.Val(iLongitude, TChar(','));   
+                        break;
+                    case EUseCoverageRadius:  
+                        val.Val(useCoverageRadius);
+                        if (useCoverageRadius == 1)
+                            {
+                            iUseCoverageRadius = ETrue;
+                            }
+                        break;
+                    case EMaxDistance:
+                        val.Val(iMaxDistance);   
+                        break;
+                    }    
+                line.Inc();
+                while (line.Peek() == '\t') // Empty value
+                    {
+                    line.Inc();
+                    ++index;
+                    }
+                line.Mark();
+                ++index;
+                }
+            }
+        }
+    }
+
+// ---------------------------------------------------------
+// CCompositeSearchResult::ParseTextL()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CCompositeSearchResult::ParseTextL(const TDesC& aDes) 
+    {
+    iLog->Log(_L("ParseTextL"));
+    TLex line(aDes);
+    line.Mark();
+
+    if (line.Peek() != '#' && line.Peek() != '\t')
+        { 
+        TInt index=0;
+        while (line.Peek() != '\n' && !(line.Peek()).Eos())
+            {
+            line.Inc();
+            if (line.Peek() == '\t')
+                {
+                TPtrC token = line.MarkedToken();
+                
+                switch(index)
+                    {
+                    case ETextCriteria:
+                        iTextCriteria = token.AllocL();
+                        break;
+                    case EAttributes:
+                        ParseAttributesL(token);
+                        iTextAttributes = iAttributes;
+                        break;
+                    case EPositionFields:
+                        ExtractIdFields(token, iPositionList);
+                        break;
+                    }    
+                line.Inc();
+                while (line.Peek() == '\t') // Empty value
+                    {
+                    line.Inc();
+                    ++index;
+                    }
+                line.Mark();
+                ++index;
+                }
+            }  
+        }
+    }   
+
+// ---------------------------------------------------------
+// CCompositeSearchResult::ParseCategoryL()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CCompositeSearchResult::ParseCategoryL(const TDesC& aDes) 
+    {
+    iLog->Log(_L("ParseCategoryL"));
+    TLex line(aDes);
+    line.Mark();
+    TInt tmp;
+
+    if (line.Peek() != '#' && line.Peek() != '\t')
+        { 
+        TInt index=0;
+        while (line.Peek() != '\n' && !(line.Peek()).Eos())
+            {
+            line.Inc();
+            if (line.Peek() == '\t')
+                {
+                TPtrC token = line.MarkedToken();
+                TLex val(token);
+
+                switch(index)
+                    {
+                    case ECategoryName:
+                        iCategoryName = token.AllocL();
+                        break;
+                    case ECategoryId:
+                        val.Val(tmp);
+                        iCategoryId = tmp;
+                        break;
+                    }    
+                line.Inc();
+                while (line.Peek() == '\t') // Empty value
+                    {
+                    line.Inc();
+                    ++index;
+                    }
+                line.Mark();
+                ++index;
+                }
+            }  
+        }
+    }   
+
+// ---------------------------------------------------------
+// CCompositeSearchResult::ParseIdListL()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CCompositeSearchResult::ParseIdListL(const TDesC& aDes)
+    {
+    iLog->Log(_L("ParseIdListL"));
+    TLex line(aDes);
+    line.Mark();
+    
+    RArray<TUint> list;
+    CleanupClosePushL(list);
+    TInt i=0;
+
+    if (line.Peek() != '#' && line.Peek() != '\t')
+        { 
+        TInt index=0;
+        while (line.Peek() != '\n' && !(line.Peek()).Eos())
+            {
+            line.Inc();
+            if (line.Peek() == '\t')
+                {
+                TPtrC token = line.MarkedToken();
+                //TLex val(token);              
+
+                switch(index)
+                    {
+                    case ELmIdList:
+                        ExtractIdFields(token, list);
+                        for (i=0;i<list.Count();i++)
+                            {
+                            iIdList.Append(list[i]);
+                            }
+                            break;
+                    }    
+                line.Inc();
+                while (line.Peek() == '\t') // Empty value
+                    {
+                    line.Inc();
+                    ++index;
+                    }
+                line.Mark();
+                ++index;
+                }
+            }  
+        }
+    CleanupStack::PopAndDestroy(&list);
+    }  
+
+// ---------------------------------------------------------
+// CCompositeSearchResult::ParseResultL()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CCompositeSearchResult::ParseResultL(const TDesC& aDes)
+    {
+    iLog->Log(_L("ParseResultL"));
+    TLex line(aDes);
+    line.Mark();
+    TInt redefined=0;
+    
+    RArray<TUint> list;
+    CleanupClosePushL(list);
+    TInt i=0;
+
+    if (line.Peek() != '#' && line.Peek() != '\t')
+        { 
+        TInt index=0;
+        while (line.Peek() != '\n' && !(line.Peek()).Eos())
+            {
+            line.Inc();
+            if (line.Peek() == '\t')
+                {
+                TPtrC token = line.MarkedToken();
+                TLex val(token);              
+
+                switch(index)
+                    {
+                    case ELmResultIdList:
+                        ExtractIdFields(token, list);
+                        for (i=0;i<list.Count();i++)
+                            {
+                            iResultIds.Append(list[i]);
+                            }
+                            break;
+                    case ERedefined:
+                        val.Val(redefined);
+                        if (redefined == 1)
+                            {
+                            iLog->Log(_L("REDEFINED"));
+                            iRedefined = ETrue;
+                            }
+                            break;
+                    }    
+                line.Inc();
+                while (line.Peek() == '\t') // Empty value
+                    {
+                    line.Inc();
+                    ++index;
+                    }
+                line.Mark();
+                ++index;
+                }
+            }  
+        }
+    CleanupStack::PopAndDestroy(&list);
+    }  
+
+// ---------------------------------------------------------
+// CCompositeSearchResult::ExtractIdFields()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CCompositeSearchResult::ExtractIdFields(const TDesC& aDes, RArray<TUint>& aList)
+    {
+    iLog->Log(_L("ExtractIdFields"));
+    TLex line(aDes);
+    line.Mark();
+    TInt startValue=0;
+    TInt endValue=0;
+    while (!(line.Peek()).Eos())
+        {
+        line.Inc();
+    
+        if (line.Peek() == ',' || line.Peek() == '-' || (line.Peek()).Eos())
+            {
+            TPtrC token = line.MarkedToken();
+            TLex val(token);
+            val.Val(startValue);
+            iSearchResult.Append(startValue);
+            aList.Append(startValue);
+
+            if (line.Peek() == '-')
+                {
+                line.Inc();
+                line.Mark();
+                while (line.Peek() != ',' && !(line.Peek()).Eos())
+                    {
+                    line.Inc();               
+                    }
+                TPtrC endToken = line.MarkedToken();
+                TLex endVal(endToken);
+                endVal.Val(endValue);
+                for (TInt i=startValue+1; i<=endValue; i++)
+                    {
+                    aList.Append(i);
+                    }
+                }
+             if (line.Peek() == ',')
+                {
+                line.Inc();
+                line.Mark();
+                }
+            }
+        }
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CLandmarkTestProcedureBase.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,2974 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLandmark.h>
+#include <EPos_CPosLMCategoryManager.h>
+#include <EPos_CPosLandmarkCategory.h>
+#include <EPos_CPosLmDatabaseManager.h>
+#include <EPos_CPosLMOperation.h>
+#include <EPos_TPosLMSortPref.h>
+#include <EPos_CPosLmDisplayData.h>
+#include <EPos_CPosLmMultiDbSearch.h>
+#include <EPos_CPosLmDisplayItem.h>
+#include <LbsPosition.h>
+#include <lbs.h>
+#include <bautils.h>
+#include <s32file.h>
+#include "FT_LandmarkConstants.h"
+#include <e32def.h>
+#include <BaRsc2.H>
+#include <BaRsRead2.H>
+#include <BAUTILS.H>
+#include <utf.h>
+
+// CONSTANTS
+const TInt KBufSize=100;
+const TInt KMaxFieldLength = 80;
+
+const TInt KFirstNextStepLogLimit = 100000; //µs
+
+// CONSTANTS
+_LIT(KLt,           "<");
+_LIT(KGt,           ">");
+_LIT(KAmp,          "&");
+_LIT(KApos,         "'");
+_LIT(KQuot,         "\"");
+
+_LIT(KLtXmlStr,     "&lt;");
+_LIT(KGtXmlStr,     "&gt;");
+_LIT(KAmpXmlStr,    "&amp;");
+_LIT(KAposXmlStr,   "&apos;");
+_LIT(KQuotXmlStr,   "&quot;");
+
+// ================= MEMBER FUNCTIONS =======================
+
+
+// -----------------------------------------------------------------------------
+// CLandMarksTestModule::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+
+
+
+// C++ default constructor can NOT contain any code, that
+// might leave.
+//
+CLandmarkTestProcedureBase::CLandmarkTestProcedureBase(
+						TInt aModuleId, CStifLogger* aLog)
+						: iModuleId(aModuleId),
+    					  KFirstDelayTime(5000),
+    					  KIntervalTime(5000),
+                          iLog(aLog)
+    {
+    iUseLogFromThreadIsDisabled = EFalse;
+    iFileSession.Connect();
+    }
+
+
+
+// Destructor
+CLandmarkTestProcedureBase::~CLandmarkTestProcedureBase()
+    {
+    iSearchResults.ResetAndDestroy();
+    iAreaSearchResults.ResetAndDestroy();
+
+    iCategorySearchResults.ResetAndDestroy();
+    iCategoryLandmarkSearchResults.ResetAndDestroy();
+    iFileSession.Close();
+    ReleaseLandmarkResources();
+    }
+
+// ---------------------------------------------------------
+// ---------------------------------------------------------
+//
+void CLandmarkTestProcedureBase::InitTestL()
+    {
+    }
+
+// ---------------------------------------------------------
+// ---------------------------------------------------------
+//
+void CLandmarkTestProcedureBase::StartL()
+    {
+    iLog->Log(_L("StartL not overridden"));
+    }
+
+// ---------------------------------------------------------
+// ---------------------------------------------------------
+//
+void CLandmarkTestProcedureBase::CloseTest()
+    {
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::RemoveAllLmDatabasesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CLandmarkTestProcedureBase::RemoveAllLmDatabasesL()
+    {
+    CPosLmDatabaseManager* dbManager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(dbManager);
+
+    CDesCArray* dbArray = dbManager->ListDatabasesLC();
+    TInt count = dbArray->Count();
+
+    for (TInt i=0;i<count;i++)
+        {
+        iLog->Log((*dbArray)[i]);
+        TRAPD(error,dbManager->DeleteDatabaseL((*dbArray)[i]));
+        if (error != KErrNone)
+            {
+            if( error == KErrInUse )
+                {
+                iLog->Log(_L("Cannot delete database since it is in use"));
+                }
+            else
+                {
+            iLog->Log(_L("Delete database leaves with error = %d"),error);
+                User::Leave( error);
+                }
+
+            }
+        }
+
+    CleanupStack::PopAndDestroy(dbArray);
+    CleanupStack::PopAndDestroy(dbManager);
+    iLog->Log(_L("DeleteAllDatabasesL Done"));
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::RemoveDefaultDb
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CLandmarkTestProcedureBase::RemoveDefaultDbL()
+    {
+
+
+
+    iLog->Log(_L("In CLandmarkTestProcedureBase::RemoveDefaultDbL() "));
+
+
+    // Retrieve default db from db manager and then delete
+
+    CPosLmDatabaseManager* manager = CPosLmDatabaseManager::NewL();
+
+    CleanupStack::PushL(manager);
+
+    HBufC* defaultDbUri;
+    defaultDbUri = manager->DefaultDatabaseUriLC();
+
+    TRAPD(err, manager->DeleteDatabaseL(*defaultDbUri));
+    if (err != KErrNone && err != KErrNotFound)
+        {
+        if( err == KErrInUse)
+            {
+            iLog->Log(_L("Cannot delete database since it is in use"));
+            }
+        else
+            {
+            iLog->Log(_L("Delete of the default landmarks database failed with %d"),err);
+            User::Leave(err);
+            }
+        }
+
+    CleanupStack::PopAndDestroy(defaultDbUri);
+    CleanupStack::PopAndDestroy(manager);
+
+
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::CreateCategoryLC
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+CPosLandmarkCategory* CLandmarkTestProcedureBase::CreateCategoryLC(const TDesC& aName)
+    {
+    _LIT(KGetCategoryNameErr, "GetCategory name returns incorrect error code");
+
+    CPosLandmarkCategory* category = CPosLandmarkCategory::NewLC();
+
+    TInt err=0;
+    TPtrC name;
+    err=category->GetCategoryName(name);
+    AssertTrueSecL(err == KErrNotFound, KGetCategoryNameErr);
+
+    category->SetCategoryNameL(aName);
+
+    category->SetIconL(KMbmFileName, KIconIndex, KIconMaskIndex);
+
+    return category;
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::CreateLandmarkLC
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+CPosLandmark* CLandmarkTestProcedureBase::CreateLandmarkLC(const TDesC& aName)
+    {
+    _LIT(KGetNameErr, "GetLandmarks name returns incorrect error code");
+    _LIT(KFirstPositionFieldIdErr, "FirstPositionFieldId returns incorrect id");
+
+
+    CPosLandmark* landmark = CPosLandmark::NewLC();
+    TInt err=0;
+    TPtrC name;
+    err=landmark->GetLandmarkName(name);
+    AssertTrueSecL(err == KErrNotFound, KGetNameErr);
+
+    landmark->SetLandmarkNameL(aName);
+
+    TCoordinate coord(KLatitude, KLongitude, KAltitude);
+    TLocality loc(coord, KHorizontalAcc, KVerticalAcc);
+    TTime time;
+    time.UniversalTime();
+    TPosition pos(loc, time);
+    landmark->SetPositionL(pos);
+
+    landmark->SetIconL(KMbmFileName, KIconIndex, KIconMaskIndex);
+    landmark->SetLandmarkDescriptionL(KDescription);
+    landmark->SetCoverageRadius(KCoverageRadius);
+
+    AssertTrueSecL(landmark->FirstPositionFieldId()==EPositionFieldNone, KFirstPositionFieldIdErr);
+
+    AddFieldsL(landmark);
+
+    _LIT(KCategoryName, "%S Category %d");
+    for(TInt i=0; i<KNoCategories; i++)
+        {
+        TBuf<100> name;
+        HBufC* tmp = aName.Alloc();
+        name.Format(KCategoryName,tmp,i);
+        delete tmp;
+        landmark->AddCategoryL(CreateCategoryL(name));
+        }
+    return landmark;
+
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::AddFieldsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CLandmarkTestProcedureBase::AddFieldsL(CPosLandmark* aLandmark)
+    {
+    _LIT(KPositionFieldNoneErr, "SetPositionFieldL should return KErrArgumnet with EPositionFieldNone");
+
+    aLandmark->SetPositionFieldL(EPositionFieldCountry, KCountry);
+    aLandmark->SetPositionFieldL(EPositionFieldHorizontalSpeed, KHorizontalSpeed);
+    // Removed from LBSFieldsIds.h
+
+    aLandmark->SetPositionFieldL(EPositionFieldMediaLinks, KMediaLinks);
+    aLandmark->SetPositionFieldL(EPositionFieldMediaLinksStart, KMediaLink1);
+
+    TUint16 tmp = (TUint16)EPositionFieldMediaLinksStart;
+    aLandmark->SetPositionFieldL(++tmp, KMediaLink2);
+    aLandmark->SetPositionFieldL(++tmp, KMediaLink3);
+
+    aLandmark->SetPositionFieldL(EPositionFieldIdLast, KOrientation);
+
+    TRAPD(err, aLandmark->SetPositionFieldL(EPositionFieldNone, KMediaLink3));
+    AssertTrueSecL(err == KErrArgument, KPositionFieldNoneErr);
+
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::AddFields2L
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CLandmarkTestProcedureBase::AddFields2L(CPosLandmark* aLandmark)
+    {
+    aLandmark->SetPositionFieldL(EPositionFieldCountry, KCountry2);
+    aLandmark->SetPositionFieldL(EPositionFieldHorizontalSpeed, KHorizontalSpeed2);
+    // Removed from LBSFieldsIds.h
+
+    aLandmark->SetPositionFieldL(EPositionFieldMediaLinksStart, KMediaLinks2);
+    aLandmark->SetPositionFieldL(EPositionFieldMediaLinksStart+1, KMediaLink4);
+
+    TUint16 tmp = (TUint16)EPositionFieldMediaLinksStart;
+    aLandmark->SetPositionFieldL(++tmp, KMediaLink5);
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::AddFields3L
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CLandmarkTestProcedureBase::AddFields3L(CPosLandmark* aLandmark)
+    {
+    aLandmark->SetPositionFieldL(EPositionFieldCountryCode, KCountryCode);
+    aLandmark->SetPositionFieldL(EPositionFieldState, KState);
+    aLandmark->SetPositionFieldL(EPositionFieldCity, KCity);
+    aLandmark->SetPositionFieldL(EPositionFieldDistrict, KDistrict);
+    aLandmark->SetPositionFieldL(EPositionFieldStreet, KStreet);
+    aLandmark->SetPositionFieldL(EPositionFieldStreetExtension, KStreetExtension);
+    aLandmark->SetPositionFieldL(EPositionFieldLocationName, KLocationName);
+    aLandmark->SetPositionFieldL(EPositionFieldPostalCode, KPostalCode);
+    aLandmark->SetPositionFieldL(EPositionFieldLocality, KLocality);
+    aLandmark->SetPositionFieldL(EPositionFieldCrossing1, KCrossing1);
+    aLandmark->SetPositionFieldL(EPositionFieldCrossing2, KCrossing2);
+    aLandmark->SetPositionFieldL(EPositionFieldBuildingName, KBuildingName);
+    aLandmark->SetPositionFieldL(EPositionFieldBuildingFloor, KBuildingFloor);
+    aLandmark->SetPositionFieldL(EPositionFieldBuildingRoom, KBuildingRoom);
+    aLandmark->SetPositionFieldL(EPositionFieldBuildingZone, KBuildingZone);
+    aLandmark->SetPositionFieldL(EPositionFieldBuildingTelephone, KBuildingTelephone);
+    }
+
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::CreateXMLLandmarkLC
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+CPosLandmark* CLandmarkTestProcedureBase::CreateXMLLandmarkLC(const TDesC& aName)
+    {
+    _LIT(KGetNameErr, "GetLandmarks name returns incorrect error code");
+    _LIT(KFirstPositionFieldIdErr, "FirstPositionFieldId returns incorrect id");
+
+    CPosLandmark* landmark = CPosLandmark::NewLC();
+
+    TInt err=0;
+    TPtrC name;
+    err=landmark->GetLandmarkName(name);
+    AssertTrueSecL(err == KErrNotFound, KGetNameErr);
+
+    landmark->SetLandmarkNameL(aName);
+
+    TCoordinate coord(KLatitude, KLongitude, KAltitude);
+    TLocality loc(coord, KHorizontalAcc, KVerticalAcc);
+    TTime time;
+    time.UniversalTime();
+    TPosition pos(loc, time);
+    landmark->SetPositionL(pos);
+
+    landmark->SetIconL(KMbmFileName, KIconIndex, KPosLmIconMaskNotUsed);
+
+    landmark->SetLandmarkDescriptionL(KDescription);
+
+    landmark->SetCoverageRadius(KCoverageRadius);
+
+    AssertTrueSecL(landmark->FirstPositionFieldId()==EPositionFieldNone, KFirstPositionFieldIdErr);
+
+    return landmark;
+    }
+
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::AddAllXMLFieldsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CLandmarkTestProcedureBase::AddAllXMLFieldsL(CPosLandmark* aLandmark)
+    {
+    aLandmark->SetPositionFieldL(EPositionFieldCountry, KCountry2);
+    aLandmark->SetPositionFieldL(EPositionFieldCountryCode, KCountryCode);
+    aLandmark->SetPositionFieldL(EPositionFieldState, KState);
+    aLandmark->SetPositionFieldL(EPositionFieldCounty, KCounty);
+    aLandmark->SetPositionFieldL(EPositionFieldCity, KCity);
+    aLandmark->SetPositionFieldL(EPositionFieldDistrict, KDistrict);
+    aLandmark->SetPositionFieldL(EPositionFieldPostalCode, KPostalCode);
+
+    aLandmark->SetPositionFieldL(EPositionFieldCrossing1, KCrossing1);
+    aLandmark->SetPositionFieldL(EPositionFieldCrossing2, KCrossing2);
+    aLandmark->SetPositionFieldL(EPositionFieldStreet, KStreet);
+
+    aLandmark->SetPositionFieldL(EPositionFieldBuildingName, KBuildingName);
+    aLandmark->SetPositionFieldL(EPositionFieldBuildingFloor, KBuildingFloor);
+    aLandmark->SetPositionFieldL(EPositionFieldBuildingRoom, KBuildingRoom);
+    aLandmark->SetPositionFieldL(EPositionFieldBuildingZone, KBuildingZone);
+
+    aLandmark->SetPositionFieldL(EPositionFieldStreetExtension, KStreetExtension);
+    aLandmark->SetPositionFieldL(EPositionFieldBuildingTelephone, KBuildingTelephone);
+
+    // Set number of medialink fields
+    aLandmark->SetPositionFieldL(EPositionFieldMediaLinks, _L("13"));
+    aLandmark->SetPositionFieldL(EPositionFieldMediaLinksStart, KXMLMediaLink1);
+    aLandmark->SetPositionFieldL(EPositionFieldMediaLinksStart+1, KXMLMediaLink2);
+    aLandmark->SetPositionFieldL(EPositionFieldMediaLinksStart+2, KXMLMediaLink3);
+    aLandmark->SetPositionFieldL(EPositionFieldMediaLinksStart+3, KXMLMediaLink4);
+    aLandmark->SetPositionFieldL(EPositionFieldMediaLinksStart+4, KXMLMediaLink5);
+    aLandmark->SetPositionFieldL(EPositionFieldMediaLinksStart+5, KXMLMediaLink6);
+    aLandmark->SetPositionFieldL(EPositionFieldMediaLinksStart+6, KXMLMediaLink7);
+    aLandmark->SetPositionFieldL(EPositionFieldMediaLinksStart+7, KXMLMediaLink8);
+    aLandmark->SetPositionFieldL(EPositionFieldMediaLinksStart+8, KXMLMediaLink9);
+    aLandmark->SetPositionFieldL(EPositionFieldMediaLinksStart+9, KXMLMediaLink10);
+    aLandmark->SetPositionFieldL(EPositionFieldMediaLinksStart+10, KXMLMediaLink11);
+    aLandmark->SetPositionFieldL(EPositionFieldMediaLinksStart+11, KXMLMediaLink12);
+    aLandmark->SetPositionFieldL(EPositionFieldMediaLinksStart+12, KXMLMediaLink13);
+
+
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::AddAllXMLFieldsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CLandmarkTestProcedureBase::AddAllEmptyXMLFieldsL(CPosLandmark* aLandmark)
+    {
+    aLandmark->SetPositionFieldL(EPositionFieldCountry, _L(""));
+    aLandmark->SetPositionFieldL(EPositionFieldCountryCode, _L(""));
+    aLandmark->SetPositionFieldL(EPositionFieldState, _L(""));
+    aLandmark->SetPositionFieldL(EPositionFieldCounty, _L(""));
+    aLandmark->SetPositionFieldL(EPositionFieldCity, _L(""));
+    aLandmark->SetPositionFieldL(EPositionFieldDistrict, _L(""));
+    aLandmark->SetPositionFieldL(EPositionFieldPostalCode, _L(""));
+
+    aLandmark->SetPositionFieldL(EPositionFieldCrossing1, _L(""));
+    aLandmark->SetPositionFieldL(EPositionFieldCrossing2, _L(""));
+    aLandmark->SetPositionFieldL(EPositionFieldStreet, _L(""));
+
+    aLandmark->SetPositionFieldL(EPositionFieldBuildingName, _L(""));
+    aLandmark->SetPositionFieldL(EPositionFieldBuildingFloor, _L(""));
+    aLandmark->SetPositionFieldL(EPositionFieldBuildingRoom, _L(""));
+    aLandmark->SetPositionFieldL(EPositionFieldBuildingZone, _L(""));
+
+    aLandmark->SetPositionFieldL(EPositionFieldStreetExtension, _L(""));
+    aLandmark->SetPositionFieldL(EPositionFieldBuildingTelephone, _L(""));
+
+    aLandmark->SetPositionFieldL(EPositionFieldMediaLinks, _L("0"));
+
+
+    aLandmark->SetLandmarkDescriptionL(_L(""));
+
+
+    }
+
+//---------------------------------------------------------
+// CLandmarkTestProcedureBase::WriteBufferToFileL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+void CLandmarkTestProcedureBase::WriteBufferToFileL(const CBufBase* aBuffer, const TDesC& aFile)
+    {
+    iFileSession.Delete(aFile);
+
+    RFile file;
+    file.Create(iFileSession, aFile, EFileWrite);
+    CleanupClosePushL(file);
+
+    RFileWriteStream stream(file);
+    CleanupClosePushL(stream);
+
+    TInt pos=0;
+    TInt size = aBuffer->Size();
+    TInt length;
+    if (size < 255 )
+        {
+        length = size;
+        }
+    else
+        {
+        length = 255;
+        }
+
+    while (pos < size)
+        {
+        TBuf8<255> xml;
+
+        aBuffer->Read(pos, xml, length);
+
+        stream.WriteL(xml);
+
+        pos += 255;
+
+        if (pos + 255 > size )
+            {
+            length = size - pos;
+            }
+        }
+
+    CleanupStack::PopAndDestroy(2, &file);
+    }
+
+//---------------------------------------------------------
+// CLandmarkTestProcedureBase::CreateCategoryL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TPosLmItemId CLandmarkTestProcedureBase::CreateCategoryL(const TDesC& aName)
+    {
+    _LIT(KCategoryIdErr, "Category id is incorrect");
+
+    CPosLandmarkDatabase* lmd = OpenDatabaseLC();
+
+    CPosLmCategoryManager* cm = CPosLmCategoryManager::NewL(*lmd);
+    CleanupStack::PushL(cm);
+
+    TPosLmItemId id=0;
+
+
+
+        CPosLandmarkCategory* lmc = CPosLandmarkCategory::NewLC();
+        lmc->SetCategoryNameL(aName);
+
+        id = cm->AddCategoryL(*lmc);
+
+        AssertTrueSecL(id == lmc->CategoryId(), KCategoryIdErr);
+        CleanupStack::PopAndDestroy(lmc);
+
+
+    CleanupStack::PopAndDestroy(2, lmd);
+
+    return id;
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::OpenLandmarkDatabaseLC
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+CPosLandmarkDatabase* CLandmarkTestProcedureBase::OpenDatabaseLC()
+    {
+    CPosLandmarkDatabase* lmd = CPosLandmarkDatabase::OpenL();
+    CleanupStack::PushL(lmd);
+
+    if (lmd->IsInitializingNeeded())
+       {
+       CPosLmOperation* op = lmd->InitializeL(); // Synchronous since no argument
+       op->ExecuteL();
+       delete op;
+       }
+    return lmd;
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::CompareLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CLandmarkTestProcedureBase::CompareLandmarksL(const CPosLandmark& aSource, const CPosLandmark& aTarget)
+    {
+    _LIT(KCompareIdErr, "Landmark id's are not equal");
+    _LIT(KComparePositionErr, "Landmark positions are not equal");
+    _LIT(KComparePositionErr1, "Landmark longitude are not equal");
+    _LIT(KComparePositionErr2, "Landmark latitude are not equal");
+    _LIT(KComparePositionErr3, "Landmark horizontal accuracy are not equal");
+    _LIT(KComparePositionErr4, "Landmark vertical accuracy are not equal");
+    _LIT(KComparePositionErr5, "Landmark altitude are not equal");
+    _LIT(KCompareNameErr, "Landmark names are not equal");
+    _LIT(KCompareCoverageRadiusErr, "Landmark coverage radiuses are not equal");
+    _LIT(KCompareIconErr, "Landmark icons are not equal");
+    _LIT(KCompareDescErr, "Landmark descriptions are not equal");
+    _LIT(KCompareNoPositionFieldsErr, "Landmark no positioning fields are not equal");
+    _LIT(KComparePositionFieldIdErr, "Position field id's are not equal");
+    _LIT(KComparePositionFieldErr, "Position fields are not equal");
+    _LIT(KCompareNumOfCategoriesErr, "Number of categories is not equal");
+    _LIT(KCompareSetOfCategoriesErr, "Set of categories is not equal");
+
+    TInt sourceErr, targetErr;
+    TPtrC sourceName;
+    sourceErr=aSource.GetLandmarkName(sourceName);
+
+    TPtrC targetName;
+    targetErr=aTarget.GetLandmarkName(targetName);
+
+    AssertTrueSecL(targetErr == sourceErr, KCompareNameErr);
+    if (!sourceErr)
+        {
+        AssertTrueSecL(sourceName.Compare(targetName) == KErrNone, KCompareNameErr);
+        AssertTrueSecL(aSource.LandmarkId() == aTarget.LandmarkId(), KCompareIdErr);
+        }
+
+    TLocality sourceLoc, targetLoc;
+    sourceErr = aSource.GetPosition(sourceLoc);
+    targetErr = aTarget.GetPosition(targetLoc);
+    AssertTrueSecL(sourceErr == targetErr, KComparePositionErr);
+    if (!sourceErr)
+        {
+        // Difference between WINS  and WINSCW/TARGET
+        // For WINS comparing TReal NaN == NaN evaluates to true
+        // but for TARGET and WINSCW it evaluates to false
+        TRealX vertAcc(sourceLoc.VerticalAccuracy());
+        TRealX targetVertAcc(targetLoc.VerticalAccuracy());
+        TRealX horAcc(sourceLoc.HorizontalAccuracy());
+        TRealX targetHorAcc(targetLoc.HorizontalAccuracy());
+        TRealX horAlt(sourceLoc.Altitude());
+        TRealX targetHorAlt(targetLoc.Altitude());
+
+        AssertTrueSecL(sourceLoc.Longitude() == targetLoc.Longitude(),KComparePositionErr1);
+        AssertTrueSecL(sourceLoc.Latitude() == targetLoc.Latitude(), KComparePositionErr2);
+
+        AssertTrueSecL((horAcc.IsNaN() && targetHorAcc.IsNaN()) || horAcc == targetHorAcc, KComparePositionErr3);
+        AssertTrueSecL((vertAcc.IsNaN() && targetVertAcc.IsNaN()) || vertAcc == targetVertAcc, KComparePositionErr4);
+        AssertTrueSecL((targetHorAlt.IsNaN() && horAlt.IsNaN()) || horAlt == targetHorAlt , KComparePositionErr5);
+        }
+
+    TReal32 sourceR, targetR;
+    sourceErr = aSource.GetCoverageRadius(sourceR);
+    targetErr = aTarget.GetCoverageRadius(targetR);
+    AssertTrueSecL(sourceErr == targetErr, KCompareCoverageRadiusErr);
+    if (!sourceErr)
+        {
+        AssertTrueSecL(sourceR == targetR, KCompareCoverageRadiusErr);
+        }
+
+    TPtrC sourceMbmFileName, targetMbmFileName;
+    TInt sourceIndex, targetIndex;
+    TInt sourceMaskIndex, targetMaskIndex;
+
+    sourceErr = aSource.GetIcon(sourceMbmFileName, sourceIndex, sourceMaskIndex);
+    targetErr = aTarget.GetIcon(targetMbmFileName, targetIndex, targetMaskIndex);
+
+    AssertTrueSecL(sourceErr == targetErr, KCompareIconErr);
+    if (!sourceErr)
+        {
+        AssertTrueSecL(sourceMbmFileName.Compare(targetMbmFileName) == KErrNone, KCompareIconErr);
+        AssertTrueSecL(sourceIndex == targetIndex, KCompareIconErr);
+        }
+
+    TPtrC sourceDesc, targetDesc;
+    sourceErr = aSource.GetLandmarkDescription(sourceDesc);
+    targetErr = aTarget.GetLandmarkDescription(targetDesc);
+    AssertTrueSecL(sourceErr == targetErr, KCompareDescErr);
+    if (!sourceErr)
+        {
+        AssertTrueSecL(sourceDesc.Compare(targetDesc) == KErrNone, KCompareDescErr);
+        }
+
+    AssertTrueSecL(aSource.NumOfAvailablePositionFields() == aTarget.NumOfAvailablePositionFields(), KCompareNoPositionFieldsErr);
+
+    TPositionFieldId sourceFieldId = aSource.FirstPositionFieldId();
+    TPositionFieldId targetFieldId = aTarget.FirstPositionFieldId();
+    AssertTrueSecL(sourceFieldId == targetFieldId, KComparePositionFieldIdErr);
+
+    while (sourceFieldId != EPositionFieldNone)
+        {
+        TPtrC sourceValue, targetValue;
+
+        aSource.GetPositionField(sourceFieldId, sourceValue);
+        aTarget.GetPositionField(targetFieldId, targetValue);
+
+        AssertTrueSecL(sourceValue.Compare(targetValue) == KErrNone, KComparePositionFieldErr);
+
+        sourceFieldId = aSource.NextPositionFieldId(sourceFieldId);
+        targetFieldId = aTarget.NextPositionFieldId(targetFieldId);
+
+        AssertTrueSecL(sourceFieldId == targetFieldId, KComparePositionFieldIdErr);
+        }
+
+    RArray<TPosLmItemId> sourceCategories;
+    CleanupClosePushL(sourceCategories);
+    RArray<TPosLmItemId> targetCategories;
+    CleanupClosePushL(targetCategories);
+
+    aSource.GetCategoriesL(sourceCategories);
+    aTarget.GetCategoriesL(targetCategories);
+
+    AssertTrueSecL(sourceCategories.Count() == targetCategories.Count(), KCompareNumOfCategoriesErr);
+
+    for(TInt i=0; i<sourceCategories.Count(); i++)
+        {
+        TInt targetPos = targetCategories.Find( sourceCategories[i] );
+        AssertTrueSecL( targetPos >= 0, KCompareSetOfCategoriesErr );
+        }
+    CleanupStack::PopAndDestroy(2, &sourceCategories);
+    }
+
+// ---------------------------------------------------------
+// CPSYTesterTestProcedureBase::CompareCategoriesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CLandmarkTestProcedureBase::CompareCategoriesL(
+                        const TPosLmItemId& aSourceId,
+                        const TPosLmItemId& aTargetId)
+    {
+
+    CPosLmCategoryManager* cm = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(cm);
+
+    CPosLandmarkCategory* source = cm->ReadCategoryLC(aSourceId);
+    CPosLandmarkCategory* target = cm->ReadCategoryLC(aTargetId);
+
+    CompareCategoriesL(*source, *target);
+
+
+    CleanupStack::PopAndDestroy(3);
+    }
+
+// ---------------------------------------------------------
+// CPSYTesterTestProcedureBase::CompareCategoriesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CLandmarkTestProcedureBase::CompareCategoriesL(
+                        const CPosLandmarkCategory& aSource,
+                        const CPosLandmarkCategory& aTarget)
+    {
+    _LIT(KCompareCategoryNameErr, "Category names are not equal");
+    _LIT(KCompareCategoryIdErr, "Category id's are not equal");
+    _LIT(KCompareGlobalCategoryIdErr, "Category global id's are not equal");
+    _LIT(KCompareCategoryIconErr, "Category icons are not equal");
+
+    TInt sourceErr, targetErr;
+    TPtrC sourceName, targetName;
+    sourceErr = aSource.GetCategoryName(sourceName);
+    targetErr = aTarget.GetCategoryName(targetName);
+
+    AssertTrueSecL(sourceErr == targetErr, KCompareCategoryNameErr);
+    AssertTrueSecL(sourceName.Compare(targetName) == KErrNone, KCompareCategoryNameErr);
+
+    AssertTrueSecL(aSource.CategoryId() == aTarget.CategoryId(), KCompareCategoryIdErr);
+    AssertTrueSecL(aSource.GlobalCategory() == aTarget.GlobalCategory(), KCompareGlobalCategoryIdErr);
+
+    TPtrC sourceMbmFileName, targetMbmFileName;
+    TInt sourceIndex, targetIndex;
+    TInt sourceMaskIndex, targetMaskIndex;
+
+    sourceErr = aSource.GetIcon(sourceMbmFileName, sourceIndex, sourceMaskIndex);
+    targetErr = aTarget.GetIcon(targetMbmFileName, targetIndex, targetMaskIndex);
+
+    AssertTrueSecL(sourceErr == targetErr, KCompareCategoryIconErr);
+    if (!sourceErr)
+        {
+        AssertTrueSecL(sourceMbmFileName.Compare(targetMbmFileName) == KErrNone, KCompareCategoryIconErr);
+        AssertTrueSecL(sourceIndex == targetIndex, KCompareCategoryIconErr);
+        }
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::CompareXMLLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt CLandmarkTestProcedureBase::CompareXMLLandmarksL(const CPosLandmark& aSource, const CPosLandmark& aTarget, TBool aDebug)
+    {
+    _LIT(KComparePositionErr, "Landmark positions are not equal");
+    _LIT(KComparePositionErr1, "Landmark longitude are not equal");
+    _LIT(KComparePositionErr2, "Landmark latitude are not equal");
+    _LIT(KComparePositionErr3, "Landmark horizontal accuracy are not equal");
+    _LIT(KComparePositionErr4, "Landmark vertical accuracy are not equal");
+    _LIT(KComparePositionErr5, "Landmark altitude are not equal");
+    _LIT(KCompareNameErr, "Landmark names are not equal, src %S, trg %S");
+    _LIT(KCompareCoverageRadiusErr, "Landmark coverage radiuses are not equal");
+    _LIT(KCompareDescErr, "Landmark descriptions are not equal");
+    _LIT(KCompareNoPositionFieldsErr, "ERROR: Landmark nr of positioning fields are not equal");
+    _LIT(KComparePositionFieldIdErr, "ERROR: Position field id's are not equal, src '%d', trg '%d'");
+    _LIT(KComparePositionFieldErr, "ERROR: Position fields are not equal, src '%S', trg '%S'");
+
+    if (aDebug) iLog->Log(_L("CompareXMLLandmarksL"));
+
+    TInt errorsFound = KErrNone;
+
+    TInt sourceErr, targetErr;
+    TPtrC sourceName;
+    sourceErr=aSource.GetLandmarkName(sourceName);
+    //iLog->Log(sourceName);
+
+    TPtrC targetName;
+    targetErr=aTarget.GetLandmarkName(targetName);
+    //iLog->Log(targetName);
+
+    AssertTrueSecL(targetErr == sourceErr, KCompareNameErr);
+    if (!sourceErr)
+        {
+        if (sourceName.Compare(targetName) != KErrNone)
+            {
+            iLog->Log(KCompareNameErr, &sourceName, &targetName);
+            }
+        }
+
+    TLocality sourceLoc, targetLoc;
+    sourceErr = aSource.GetPosition(sourceLoc);
+    targetErr = aTarget.GetPosition(targetLoc);
+    AssertTrueSecL(sourceErr == targetErr, KComparePositionErr);
+    if (!sourceErr)
+        {
+        // Difference between WINS  and WINSCW/TARGET
+        // For WINS comparing TReal NaN == NaN evaluates to true
+        // but for TARGET and WINSCW it evaluates to false
+        TRealX vertAcc(sourceLoc.VerticalAccuracy());
+        TRealX targetVertAcc(targetLoc.VerticalAccuracy());
+        TRealX horAcc(sourceLoc.HorizontalAccuracy());
+        TRealX targetHorAcc(targetLoc.HorizontalAccuracy());
+        TRealX horAlt(sourceLoc.Altitude());
+        TRealX targetHorAlt(targetLoc.Altitude());
+
+        AssertTrueSecL(sourceLoc.Longitude() == targetLoc.Longitude(),KComparePositionErr1);
+        AssertTrueSecL(sourceLoc.Latitude() == targetLoc.Latitude(), KComparePositionErr2);
+
+        AssertTrueSecL((horAcc.IsNaN() && targetHorAcc.IsNaN()) || horAcc == targetHorAcc, KComparePositionErr3);
+        AssertTrueSecL((vertAcc.IsNaN() && targetVertAcc.IsNaN()) || vertAcc == targetVertAcc, KComparePositionErr4);
+        AssertTrueSecL((targetHorAlt.IsNaN() && horAlt.IsNaN()) || horAlt == targetHorAlt , KComparePositionErr5);
+        }
+
+    TReal32 sourceR, targetR;
+    sourceErr = aSource.GetCoverageRadius(sourceR);
+    targetErr = aTarget.GetCoverageRadius(targetR);
+    AssertTrueSecL(sourceErr == targetErr, KCompareCoverageRadiusErr);
+    if (!sourceErr)
+        {
+        AssertTrueSecL(sourceR == targetR, KCompareCoverageRadiusErr);
+        }
+    TPtrC sourceDesc, targetDesc;
+    sourceErr = aSource.GetLandmarkDescription(sourceDesc);
+    targetErr = aTarget.GetLandmarkDescription(targetDesc);
+    AssertTrueSecL(sourceErr == targetErr, KCompareDescErr);
+    if (!sourceErr)
+        {
+        AssertTrueSecL(sourceDesc.Compare(targetDesc) == KErrNone, KCompareDescErr);
+        }
+
+    if (aSource.NumOfAvailablePositionFields() != aTarget.NumOfAvailablePositionFields())
+        {
+        iLog->Log(KCompareNoPositionFieldsErr);
+        errorsFound++;
+        //PrintLandmarkFieldsL(aSource);
+        //PrintLandmarkFieldsL(aTarget);
+        }
+
+    TPositionFieldId sourceFieldId = aSource.FirstPositionFieldId();
+    TPositionFieldId targetFieldId = aTarget.FirstPositionFieldId();
+
+    if (sourceFieldId != targetFieldId)
+        {
+        iLog->Log(KComparePositionFieldIdErr);
+        errorsFound++;
+        }
+
+    while (sourceFieldId != EPositionFieldNone)
+        {
+        TPtrC sourceValue, targetValue;
+
+        HBufC* buf1 = NULL;
+        HBufC* buf2 = NULL;
+
+        aSource.GetPositionField(sourceFieldId, sourceValue);
+        aTarget.GetPositionField(sourceFieldId, targetValue);
+
+        // Remove // from string starting with //
+        // The encoder adds "//" to medialinks with unknown mimetype
+        if (sourceValue.Find(_L("//")) == 0)
+            {
+            TPtrC sourceValue2 = sourceValue.Mid(2);
+            buf1 = sourceValue2.Alloc();
+            }
+        else buf1 = sourceValue.Alloc();
+        CleanupStack::PushL(buf1);
+
+        // Remove // from string starting with //
+        // The encoder adds "//" to medialinks with unknown mimetype
+        if (targetValue.Find(_L("//")) == 0)
+            {
+            TPtrC targetValue2 = targetValue.Mid(2);
+            buf2 = targetValue2.Alloc();
+            }
+        else buf2 = targetValue.Alloc();
+        CleanupStack::PushL(buf2);
+
+        // Check if strings are equal
+       if (buf1->Des().Compare(buf2->Des()))
+            {
+            iLog->Log(KComparePositionFieldErr, sourceFieldId, &sourceValue, &targetValue);
+            errorsFound++;
+            }
+
+        CleanupStack::PopAndDestroy(buf2);
+        CleanupStack::PopAndDestroy(buf1);
+
+        sourceFieldId = aSource.NextPositionFieldId(sourceFieldId);
+        }
+
+    return errorsFound;
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::CompareXMLCategoriesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt CLandmarkTestProcedureBase::CompareXMLCategoriesL(
+    const CPosLandmarkCategory& aSource,
+    const CPosLandmarkCategory& aTarget, TBool /*aDebug*/)
+    {
+    _LIT(KCompareCategoryNameErr1, "ERROR: Category names not correct found");
+    _LIT(KCompareCategoryNameErr2, "ERROR: Category names are not equal");
+    TInt errorsFound = KErrNone;
+    iLog->Log(_L("CompareXMLCategoriesL"));
+
+    TInt sourceErr, targetErr;
+    TPtrC sourceName, targetName;
+    sourceErr = aSource.GetCategoryName(sourceName);
+    targetErr = aTarget.GetCategoryName(targetName);
+
+    AssertTrueSecL(sourceErr == targetErr, KCompareCategoryNameErr1);
+    iLog->Log(_L("Source %S, target %S"), &sourceName, &targetName);
+
+    if (sourceName.Compare(targetName) != KErrNone)
+        {
+        iLog->Log(KCompareCategoryNameErr2);
+        errorsFound++;
+        }
+
+    if (aSource.GlobalCategory() != aTarget.GlobalCategory())
+        {
+        iLog->Log(KCompareCategoryNameErr2);
+        errorsFound++;
+        }
+
+    iLog->Log(_L("CompareXMLCategoriesL Done"));
+    return errorsFound;
+    }
+
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::AssertTrueSecL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CLandmarkTestProcedureBase::AssertTrueSecL(TBool aCondition, const TDesC& aErrorMsg, TInt aErrorCode)
+    {
+  	if (!aCondition)
+		{
+		TBuf<KBufSize> buf;
+		buf.Format(aErrorMsg, aErrorCode);
+        // Necessary to separate the case when aErrorCode==KErrNone
+
+        if (aErrorCode == KErrNone)
+            {
+            iLog->Log(buf);
+            User::Leave(KErrNone);
+
+            }
+        else
+            {
+    	    iLog->Log(buf);
+    		User::Leave(aErrorCode);
+            }
+		}
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::CheckDefaultDbExitsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CLandmarkTestProcedureBase::CheckDefaultDbExistL()
+    {
+    _LIT(KDefaultDbMissingErr,  "Default landmarks db is missing, open returns %d");
+
+    RFile file;
+    TInt err = file.Open(iFileSession, KDefaultDb, EFileRead);
+    file.Close();
+    AssertTrueSecL(err==KErrNone, KDefaultDbMissingErr, err);
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::BackupDbFileL()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+CPosLandmarkDatabase* CLandmarkTestProcedureBase::BackupDbFileL()
+    {
+
+    CPosLmDatabaseManager* manager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(manager);
+
+    HBufC* defaultDbUri = manager->DefaultDatabaseUriLC();
+    TBuf<255> buf;
+    // Extract URI except characters ".ldb"
+    buf.Append(defaultDbUri->Left(defaultDbUri->Length()-4));
+    buf.Append(_L("COPY.LDB"));
+    // Delete in case it already exist
+    TRAPD(err, manager->DeleteDatabaseL(buf));
+    if (err != KErrNone && err != KErrNotFound) iLog->Log(_L("Could not delete file"));
+    manager->CopyDatabaseL(*defaultDbUri, buf);
+
+    CleanupStack::PopAndDestroy(defaultDbUri);
+    CleanupStack::PopAndDestroy(manager);
+    return CPosLandmarkDatabase::OpenL();
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::RestoreDbFileL()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+CPosLandmarkDatabase* CLandmarkTestProcedureBase::RestoreDbFileL()
+    {
+
+
+    CPosLmDatabaseManager* manager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(manager);
+
+    HBufC* defaultDbUri = manager->DefaultDatabaseUriLC();
+    TBuf<255> buf;
+    // Extract URI except characters ".ldb"
+    buf.Append(defaultDbUri->Left(defaultDbUri->Length()-4));
+    buf.Append(_L("COPY.LDB"));
+    // Delete in case it already exist
+    TRAPD(err, manager->DeleteDatabaseL(*defaultDbUri));
+    if (err != KErrNone && err != KErrNotFound) iLog->Log(_L("Could not delete file"));
+    manager->CopyDatabaseL(buf, *defaultDbUri);
+
+    CleanupStack::PopAndDestroy(defaultDbUri);
+    CleanupStack::PopAndDestroy(manager);
+    return CPosLandmarkDatabase::OpenL();
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::CopyDbFileL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+
+
+void CLandmarkTestProcedureBase::CopyDbFileL(const TDesC& aFileName)
+    {
+    _LIT(KTestPath, "c:\\system\\test\\testdata\\");
+
+    CFileMan* fileMan = CFileMan::NewL(iFileSession);
+    CleanupStack::PushL(fileMan);
+
+    TBuf<150> srcPath;
+
+    srcPath.Append(KTestPath);
+    srcPath.Append(aFileName);
+
+
+    TInt err = fileMan->Copy(srcPath, KLmFullDefaultDbPath, CFileMan::EOverWrite);
+    if (err != KErrNone)
+    	iLog->Log(_L("Error when copying file"));
+
+    CleanupStack::PopAndDestroy(fileMan);
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::CopyTestDbFileL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CLandmarkTestProcedureBase::CopyTestDbFileL(const TDesC& aFileName)
+    {
+    CFileMan* fileMan = CFileMan::NewL(iFileSession);
+    CleanupStack::PushL(fileMan);
+
+    TBuf<150> srcPath;
+    TBuf<150> destPath;
+
+    srcPath.Append(KTestPath);
+    srcPath.Append(aFileName);
+
+    destPath.Append(KLmDbPath);
+    destPath.Append(aFileName);
+
+    TInt err = fileMan->Copy(srcPath, destPath, CFileMan::EOverWrite);
+    if (err != KErrNone) iLog->Log(_L("Error when copying file"));
+
+    CleanupStack::PopAndDestroy(fileMan);
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::UseGeneratedDbFile
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+CPosLandmarkDatabase* CLandmarkTestProcedureBase::UseGeneratedDbFileL()
+    {
+    CopyDbFileL(KDefaultDb);
+
+    CPosLmDatabaseManager* manager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(manager);
+
+    // This db must exist
+    manager->SetDefaultDatabaseUriL(KDefaultDb);
+    CleanupStack::PopAndDestroy(manager);
+
+    CPosLandmarkDatabase* db = CPosLandmarkDatabase::OpenL(KDefaultDb);
+    if ( db->IsInitializingNeeded() )
+        {
+        TRAPD( err, ExecuteAndDeleteLD( db->InitializeL() ) );
+        AssertTrueSecL( err == KErrNone, _L("Init db failed"));
+        }
+
+    return db;
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::UseCompositeLandmarksDbFileL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+CPosLandmarkDatabase* CLandmarkTestProcedureBase::UseCompositeLandmarksDbFileL()
+    {
+    iLog->Log(_L("UseCompositeLandmarksDbFileL"));
+
+
+    _LIT(KDbFile, "compositeeposlm.ldb");
+    CopyTestDbFileL(KDbFile);
+
+    CPosLmDatabaseManager* manager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(manager);
+    // This db must exist
+    manager->SetDefaultDatabaseUriL(KDbFile);
+    CleanupStack::PopAndDestroy(manager);
+    return CPosLandmarkDatabase::OpenL(KDbFile);
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::UseEmptyDbFileL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+CPosLandmarkDatabase* CLandmarkTestProcedureBase::UseEmptyDbFileL()
+    {
+
+    CopyTestDbFileL(KLandmarksEmptyDb);
+
+    CPosLmDatabaseManager* manager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(manager);
+    // This db must exist
+    manager->SetDefaultDatabaseUriL(KLandmarksEmptyDb);
+    CleanupStack::PopAndDestroy(manager);
+
+    return CPosLandmarkDatabase::OpenL(KLandmarksEmptyDb);
+
+    }
+
+
+// ---------------------------------------------------------
+// CPosLandmarkDatabase::UseGlobalCategoriesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+CPosLandmarkDatabase* CLandmarkTestProcedureBase::UseGlobalCategoriesL()
+    {
+    _LIT(KGlobalCategoryResFile, "c:\\system\\test\\testdata\\EPOSLMGLOBALCATEGORIES.R01");
+
+    _LIT(KGlobalCategoryResPath, "c:\\resource\\");
+
+    iLog->Log(_L("UseGlobalCategoriesL"));
+
+    CFileMan* fileMan = CFileMan::NewL(iFileSession);
+    CleanupStack::PushL(fileMan);
+    TInt err = KErrNone;
+    //check if landmark is flashed
+    TInt Value=BaflUtils::FileExists(iFileSession, KGlobalCategoryResFileROM);
+    // if (!BaflUtils::FileExists(fs, KGlobalCategoryResFileROM))
+    if(!Value)
+        {
+         iLog->Log(_L("Landmark is NOT flashed, rename global categories"));
+        //Landmark is not flashed rename the file before copy a own defiend file.
+        //since landmark is not flashed the file should exist hence leaving if it is not found!
+
+         err = fileMan->Rename(KGlobalCategoryResFileWINS, KGlobalCategoryResFileCOPY, CFileMan::EOverWrite);
+         if (err != KErrNone)
+            {
+            TBuf<100> buf;
+            buf.Format(_L("ErrCode: from fileMan->Rename %d"),err);
+            iLog->Log(buf);
+            }
+
+        }
+     else
+        {
+        iLog->Log(_L("Landmark is flashed, copy global categories"));
+        }
+
+    // Recurse copy -> Create directory if it does not exist and overwrite file if it exists
+    err = fileMan->Copy(KGlobalCategoryResFile, KGlobalCategoryResPath, CFileMan::EOverWrite);
+    if (err != KErrNone)
+        {
+        TBuf<100> buf;
+        buf.Format(_L("ErrCode: from fileMan->Copy %d"),err);
+        iLog->Log(buf);
+        }
+
+    CleanupStack::PopAndDestroy(fileMan);
+
+    return CPosLandmarkDatabase::OpenL();
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::RemoveGlobalCategoriesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CLandmarkTestProcedureBase::RemoveGlobalCategoriesL()
+    {
+
+    _LIT(KGlobalCategoryResFile, "c:\\resource\\EPOSLMGLOBALCATEGORIES.R01");
+
+    iLog->Log(_L("RemoveGlobalCategoriesL"));
+
+    CFileMan* fileMan = CFileMan::NewL(iFileSession);
+    CleanupStack::PushL(fileMan);
+    TInt err = KErrNone;
+
+    //check if the global category file exist in rom
+    //if landmarks is flushed it is just okej to remove
+    //any global gategory files in on the c drive.
+    if (BaflUtils::FileExists(iFileSession, KGlobalCategoryResFileROM))
+       {
+        iLog->Log(_L("Landmark is flashed, delete global categories"));
+        //in this case it is same just to remove it form c if it exists:
+        if (BaflUtils::FileExists(iFileSession, KGlobalCategoryResFile))
+            {
+            err = fileMan->Delete(KGlobalCategoryResFile);
+            if (err != KErrNone)
+                {
+                TBuf<100> buf;
+                buf.Format(_L("ErrCode: from fileMan->Delete %d"),err);
+                iLog->Log(buf);
+                }
+            }
+        }
+    else
+        {
+        iLog->Log(_L("Landmark is NOT flashed, delete global categories and rename the old file"));
+        //If a copy exist this should be used, but if it does not
+        //exist the file is not removed since it is hard to know
+        //if anything has gone wrong.
+        if(BaflUtils::FileExists(iFileSession, KGlobalCategoryResFileCOPY))
+            {
+            //first delete the used file, if it exist
+            if (BaflUtils::FileExists(iFileSession, KGlobalCategoryResFile))
+                {
+
+                err = fileMan->Delete(KGlobalCategoryResFile);
+                if (err != KErrNone)
+                    {
+                    TBuf<100> buf;
+                    buf.Format(_L("ErrCode: from fileMan->Delete %d"),err);
+                    iLog->Log(buf);
+                    }
+                }
+            //Rename the copy file
+
+            err = fileMan->Rename(KGlobalCategoryResFileCOPY, KGlobalCategoryResFile, CFileMan::EOverWrite);
+            if (err != KErrNone)
+                {
+                TBuf<100> buf;
+                buf.Format(_L("ErrCode: from fileMan->Rename %d"),err);
+                iLog->Log(buf);
+                }
+            }
+        }
+     iLog->Log(_L("RemoveGlobalCategoriesL Done in CLandmarkTestProcedureBase"));
+    CleanupStack::PopAndDestroy(fileMan);
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::Trace
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CLandmarkTestProcedureBase::Trace(TBuf8<KMsgBufSize> aMsg)
+    {
+     _LIT(KFileTrace, "c:\\LandmarksTestsTrace.txt");
+    _LIT8(KEnd,"\r\n");
+
+    RFs fs;
+    fs.Connect();
+
+    RFile file;
+    TInt err = file.Open(fs, KFileTrace, EFileWrite);
+
+    if ( err )
+		{
+        err = file.Create(fs, KFileTrace, EFileWrite);
+		}
+
+    if ( !err )
+        {
+        TInt pos = 0;
+        file.Seek( ESeekEnd, pos );
+        file.Write( aMsg );
+        file.Write( KEnd() );
+        }
+
+    file.Close();
+    fs.Close();
+	}
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::AppendSearchResultsL()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+void CLandmarkTestProcedureBase::AppendSearchResultsL()
+    {
+    if (iSearchResults.Count() == 0 )
+        {
+        _LIT(KFileTestValues, "c:\\system\\test\\testdata\\LmDbSearchResult.txt");
+
+        RFile file;
+        User::LeaveIfError(file.Open(iFileSession, KFileTestValues,  EFileRead));
+        CleanupClosePushL(file);
+
+        TBuf<KMaxLineLength> line;
+        while (ReadLn(file, line) != KErrEof)
+            {
+            TLex lex(line);
+            if (lex.Peek() != '#' && lex.Peek() != '\t')
+                {
+                CSearchResult* searchResult = CSearchResult::NewL(line);
+                CleanupStack::PushL(searchResult);
+
+                User::LeaveIfError(iSearchResults.Append(searchResult));
+                CleanupStack::Pop(searchResult);
+                }
+            }
+        CleanupStack::PopAndDestroy(&file);
+        }
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::AppendAreaSearchResultsL()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+void CLandmarkTestProcedureBase::AppendAreaSearchResultsL()
+    {
+    if (iSearchResults.Count() == 0)
+        {
+        _LIT(KFileTestValues, "c:\\system\\test\\testdata\\lmDbAreaSearchResult.txt");
+
+        RFile file;
+        User::LeaveIfError(file.Open(iFileSession, KFileTestValues,  EFileRead));
+        CleanupClosePushL(file);
+
+        TBuf<KMaxLineLength> line;
+        while (ReadLn(file, line) != KErrEof)
+            {
+            TLex lex(line);
+            if (lex.Peek() != '#' && lex.Peek() != '\t')
+                {
+                CAreaSearchResult* searchResult = CAreaSearchResult::NewL(line);
+                CleanupStack::PushL(searchResult);
+
+                User::LeaveIfError(iAreaSearchResults.Append(searchResult));
+                CleanupStack::Pop(searchResult);
+                }
+            }
+        CleanupStack::PopAndDestroy(&file);
+        }
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::AppendCategoryLandmarkSearchResultsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+void CLandmarkTestProcedureBase::AppendCategoryLandmarkSearchResultsL()
+    {
+    if (iCategoryLandmarkSearchResults.Count() == 0 )
+        {
+        _LIT(KFileTestValues, "c:\\system\\test\\testdata\\LmDbCatLandmarkSearchResult.txt");
+
+        RFile file;
+        TInt err = file.Open(iFileSession, KFileTestValues,  EFileRead);
+        AssertTrueSecL( err == KErrNone, _L("AppendCategoryLandmarkSearchResultsL file error"));
+        CleanupClosePushL(file);
+
+        TBuf<KMaxLineLength> line;
+        while (ReadLn(file, line) != KErrEof)
+            {
+            TLex lex(line);
+            if (lex.Peek() != '#' && lex.Peek() != '\t')
+                {
+                CCategoryLandmarkSearchResult* oneLineResult = CCategoryLandmarkSearchResult::NewL(line);
+                CleanupStack::PushL(oneLineResult);
+
+                User::LeaveIfError(iCategoryLandmarkSearchResults.Append(oneLineResult));
+                CleanupStack::Pop(oneLineResult);
+
+                }
+            }
+
+        CleanupStack::PopAndDestroy(&file);
+        }
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::AppendCategorySearchResultsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+void CLandmarkTestProcedureBase::AppendCategorySearchResultsL()
+    {
+    if (iCategorySearchResults.Count() == 0 )
+        {
+        _LIT(KFileTestValues, "c:\\system\\test\\testdata\\LmDbCategorySearchResult.txt");
+
+        RFile file;
+        User::LeaveIfError(file.Open(iFileSession, KFileTestValues,  EFileRead));
+        CleanupClosePushL(file);
+
+
+        TBuf<KMaxLineLength> line;
+        while (ReadLn(file, line) != KErrEof)
+            {
+            TLex lex(line);
+            if (lex.Peek() != '#' && lex.Peek() != '\t')
+                {
+                CCategorySearchResult* oneLineResult = CCategorySearchResult::NewL(line);
+                CleanupStack::PushL(oneLineResult);
+
+                User::LeaveIfError(iCategorySearchResults.Append(oneLineResult));
+                CleanupStack::Pop(oneLineResult);
+                //iLog->Log(line);
+                }
+            }
+
+        CleanupStack::PopAndDestroy(&file);
+        }
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::SeachResults
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+const RPointerArray<CSearchResult>& CLandmarkTestProcedureBase::SearchResults()
+    {
+    return iSearchResults;
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::AreaSeachResults
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+const RPointerArray<CAreaSearchResult>& CLandmarkTestProcedureBase::AreaSearchResults()
+    {
+    return iAreaSearchResults;
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::ReadLn
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt CLandmarkTestProcedureBase::ReadLn(RFile& aFile, TDes& aDes)
+    {
+    aDes = KNullDesC;
+    TBuf8<KMaxLineLength> line;
+
+	TInt err = aFile.Read(line);
+    if (line.Length() == 0)
+        {
+        return KErrEof;
+        }
+	if (err)
+		{
+		return err;
+		}
+
+    // Find line feed
+    TInt i = 0;
+	TLex8 fileData;
+	fileData.Assign(line);
+	while (fileData.Peek() != '\n' && !(fileData.Peek()).Eos())
+		{
+        fileData.Inc();
+        if (++i == KMaxLineLength)
+            {
+            // In case no carriage return or end of string characters are present.
+            break;
+            }
+        }
+
+    // Update file position
+    TInt diff = -(line.Length() - i - 1);
+    aFile.Seek(ESeekCurrent, diff);
+
+    // Convert to 16-bit
+    line.SetLength(i);
+    aDes.Copy(line);
+
+    return KErrNone;
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::CompareL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt CLandmarkTestProcedureBase::CompareL(
+    const TDesC& aSourceFileName,
+    const TDesC& aTargetFileName)
+    {
+    _LIT(KCompareErr, "Compared file %S is not equal to %S");
+    _LIT(KLineErr, "Line %S is different to line %S");
+
+    iLog->Log(_L("CompareL: source file '%S' with target file '%S'"), &aSourceFileName, &aTargetFileName );
+
+    RFile targetFile, sourceFile;
+
+    TInt err = KErrNone;
+    err = sourceFile.Open(iFileSession, aSourceFileName, EFileRead);
+    if ( err )
+        {
+        iLog->Log(_L("Failed to open source file '%S', err % d"), &aSourceFileName, err );
+        User::Leave( err );
+        }
+    CleanupClosePushL(sourceFile);
+
+    err = targetFile.Open(iFileSession, aTargetFileName, EFileRead);
+    if ( err )
+        {
+        iLog->Log(_L("Failed to open target file '%S', err % d"), &aTargetFileName, err );
+        User::Leave( err );
+        }
+    CleanupClosePushL(targetFile);
+
+    TBuf<255> sourceLine;
+    TBuf<255> targetLine;
+
+    while (ReadLn(sourceFile, sourceLine) != KErrEof)
+        {
+        ReadLn(targetFile, targetLine);
+
+        if (sourceLine.Compare(targetLine) != 0)
+            {
+            TBuf<255> info;
+            info.Format(KCompareErr, &aSourceFileName, &aTargetFileName);
+            iLog->Log(info);
+
+            info.Format(KLineErr, &targetLine, &sourceLine);
+            iLog->Log(info);
+
+            err = KErrGeneral;
+            break;
+            }
+        }
+
+    CleanupStack::PopAndDestroy(&targetFile);
+    CleanupStack::PopAndDestroy(&sourceFile);
+    return err;
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::CompareL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt CLandmarkTestProcedureBase::CompareL(const TDesC& aFileName)
+    {
+    _LIT(KTargetPath, "c:\\");
+
+    _LIT(KSourcePath, "c:\\system\\test\\testdata\\");
+
+    TBuf<100> target;
+    target.Append(KTargetPath);
+    target.Append(aFileName);
+
+    TBuf<100> source;
+    source.Append(KSourcePath);
+    source.Append(aFileName);
+
+    return CompareL(source, target);
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::PrintLandmark
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CLandmarkTestProcedureBase::PrintLandmark(const CPosLandmark& aLandmark, TDes& aPrint)
+    {
+
+
+    TChar del(',');
+
+    _LIT(KIntInfo, "%d");
+    TBuf<KMaxFieldLength> info;
+    TPosLmItemId id = aLandmark.LandmarkId();
+    if (id != 0)
+        {
+        info.Format(KIntInfo, id);
+        aPrint.Append(info);
+        }
+    aPrint.Append(del);
+
+    RArray<TPosLmItemId> lmcats;
+    // How to do this in test code, with non leaving function? // fran
+    CleanupClosePushL(lmcats);
+    TRAPD(error, aLandmark.GetCategoriesL(lmcats));
+
+    if (error == KErrNone)
+        {
+        _LIT(KStart, "{");
+        _LIT(KStop, "}");
+        aPrint.Append(KStart);
+        for (TInt i=0; i<lmcats.Count(); i++)
+            {
+            info.Format(KIntInfo, lmcats[i]);
+            aPrint.Append(info);
+            aPrint.Append(del);
+            }
+        aPrint.Append(KStop);
+        }
+    CleanupStack::PopAndDestroy(&lmcats);
+
+    TPtrC name;
+    aLandmark.GetLandmarkName(name);
+    aPrint.Append(name);
+    aPrint.Append(del);
+
+    TInt err;
+    _LIT(KRealInfo, "%f");
+    TReal32 coverageR;
+
+    err = aLandmark.GetCoverageRadius(coverageR);
+    if (!err)
+        {
+        info.Format(KRealInfo, coverageR);
+        aPrint.Append(info);
+        }
+
+    aPrint.Append(del);
+    TPtrC desc;
+    err = aLandmark.GetLandmarkDescription(desc);
+    if (!err)
+        {
+        aPrint.Append(desc);
+        }
+
+    aPrint.Append(del);
+
+    TPtrC iconName;
+    TInt iconIndex;
+    TInt iconMaskIndex;
+    err = aLandmark.GetIcon(iconName, iconIndex, iconMaskIndex);
+    if (!err)
+        {
+        aPrint.Append(iconName);
+        aPrint.Append(del);
+        info.Format(KIntInfo, iconIndex);
+        aPrint.Append(info);
+        }
+
+    aPrint.Append(del);
+    TPtrC street;
+    err = aLandmark.GetPositionField(EPositionFieldStreet, street);
+    if (!err)
+        {
+        aPrint.Append(street);
+        }
+
+    aPrint.Append(del);
+    TPtrC postalCode;
+    err = aLandmark.GetPositionField(EPositionFieldPostalCode, postalCode);
+    if (!err)
+        {
+        aPrint.Append(postalCode);
+        }
+
+    aPrint.Append(del);
+    TPtrC city;
+    err = aLandmark.GetPositionField(EPositionFieldCity, city);
+    if (!err)
+        {
+        aPrint.Append(city);
+        }
+
+    aPrint.Append(del);
+    TPtrC locationName;
+    err = aLandmark.GetPositionField(EPositionFieldLocationName, locationName);
+    if (!err)
+        {
+        aPrint.Append(locationName);
+        }
+
+    aPrint.Append(del);
+    TPtrC country;
+    err = aLandmark.GetPositionField(EPositionFieldCountry, country);
+    if (!err)
+        {
+        aPrint.Append(country);
+        }
+
+    aPrint.Append(del);
+    TPtrC mediaLink;
+    err = aLandmark.GetPositionField(EPositionFieldMediaLinksStart, mediaLink);
+    if (!err)
+        {
+        aPrint.Append(mediaLink);
+        }
+
+    aPrint.Append(del);
+    TUint16 tmp = (TUint16)EPositionFieldMediaLinksStart;
+    TPtrC mediaLink2;
+    err = aLandmark.GetPositionField(++tmp, mediaLink2);
+    if (!err)
+        {
+        aPrint.Append(mediaLink2);
+        }
+
+    aPrint.Append(del);
+    TLocality loc;
+    err = aLandmark.GetPosition(loc);
+    if (!err)
+        {
+        info.Format(KRealInfo, loc.Latitude());
+        aPrint.Append(info);
+        aPrint.Append(del);
+        info.Format(KRealInfo, loc.Longitude());
+        aPrint.Append(info);
+        aPrint.Append(del);
+        if (!Math::IsNaN(loc.HorizontalAccuracy()))
+            {
+            info.Format(KRealInfo, loc.HorizontalAccuracy());
+            aPrint.Append(info);
+            aPrint.Append(del);
+            }
+        if (!Math::IsNaN(loc.VerticalAccuracy()))
+            {
+            info.Format(KRealInfo, loc.VerticalAccuracy());
+            aPrint.Append(info);
+            aPrint.Append(del);
+            }
+        if (!Math::IsNaN(loc.Altitude()))
+            {
+            info.Format(KRealInfo, loc.Altitude());
+            aPrint.Append(info);
+            aPrint.Append(del);
+            }
+        }
+
+
+    }
+
+TInt InternalLandmarksSortL(const CPosLandmark& aSource, const CPosLandmark& aTarget)
+    {
+    TPtrC sourceName, targetName;
+
+    User::LeaveIfError(aSource.GetLandmarkName(sourceName));
+    User::LeaveIfError(aTarget.GetLandmarkName(targetName));
+
+    return sourceName.CompareC(targetName);
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::LandmarksSortL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CLandmarkTestProcedureBase::LandmarksSortL(RArray<TPosLmItemId>& aArray,
+                                                const TPosLmSortPref& aSortPref)
+    {
+    RPointerArray<CPosLandmark> landmarks;
+    CleanupClosePushL(landmarks);
+
+    for (TInt i=0; i<aArray.Count(); i++)
+        {
+        CPosLandmark* lm = iDatabase->ReadLandmarkLC(aArray[i]);
+        landmarks.Append(lm);
+        CleanupStack::Pop(lm);
+        }
+
+    TLinearOrder<CPosLandmark> order(InternalLandmarksSortL);
+    landmarks.Sort(order);
+
+    aArray.Reset();
+
+    if (aSortPref.SortOrder() == TPosLmSortPref::EAscending)
+        {
+        for (TInt j=0; j<landmarks.Count(); j++)
+            {
+            aArray.Append(landmarks[j]->LandmarkId());
+            }
+        }
+    else
+        {
+        for (TInt k=landmarks.Count()-1; k>=0; k--)
+            {
+            aArray.Append(landmarks[k]->LandmarkId());
+            }
+        }
+    landmarks.ResetAndDestroy();
+    CleanupStack::PopAndDestroy(&landmarks);
+    }
+
+
+// ---------------------------------------------------------
+// InternalCategorySortL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt InternalCategorySortL(const CPosLandmarkCategory& aSource, const CPosLandmarkCategory& aTarget)
+    {
+    TPtrC sourceName, targetName;
+
+    User::LeaveIfError(aSource.GetCategoryName(sourceName));
+    User::LeaveIfError(aTarget.GetCategoryName(targetName));
+
+    return sourceName.CompareC(targetName);
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::CategoriesSortL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CLandmarkTestProcedureBase::CategoriesSortL(RArray<TPosLmItemId>& aArray,
+                               CPosLmCategoryManager::TCategorySortPref aSortPref)
+    {
+    RPointerArray<CPosLandmarkCategory> categories;
+    CleanupClosePushL(categories);
+
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+
+    for (TInt i=0; i<aArray.Count(); i++)
+        {
+        CPosLandmarkCategory* cat = categoryManager->ReadCategoryLC(aArray[i]);
+        categories.Append(cat);
+        CleanupStack::Pop(cat);
+        }
+
+    TLinearOrder<CPosLandmarkCategory> order(InternalCategorySortL);
+    categories.Sort(order);
+
+    aArray.Reset();
+
+    if (aSortPref == CPosLmCategoryManager::ECategorySortOrderNameAscending)
+        {
+        for (TInt j=0; j<categories.Count(); j++)
+            {
+            aArray.Append(categories[j]->CategoryId());
+            }
+        }
+    else
+        {
+        for (TInt k=categories.Count()-1; k>=0; k--)
+            {
+            aArray.Append(categories[k]->CategoryId());
+            }
+        }
+    categories.ResetAndDestroy();
+    CleanupStack::PopAndDestroy(categoryManager);
+    CleanupStack::PopAndDestroy(&categories);
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::LogToFileL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CLandmarkTestProcedureBase::LogToFileL(const TDesC& aFileName, TBuf8<KMsgBufSize> aMsg)
+    {
+    _LIT8(KEnd,"\r\n");
+
+    BaflUtils::EnsurePathExistsL( iFileSession, aFileName );
+
+    RFile file;
+    TInt err = file.Open(iFileSession, aFileName, EFileWrite);
+    if ( err )
+		{
+        err = file.Create(iFileSession, aFileName, EFileWrite);
+		}
+
+    if ( !err )
+        {
+        TInt pos = 0;
+        file.Seek( ESeekEnd, pos );
+        file.Write( aMsg );
+        file.Write( KEnd );
+        }
+
+    file.Close();
+	}
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::RunAsyncOperationLD
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CLandmarkTestProcedureBase::RunAsyncOperationLD(CPosLmOperation* aOperation)
+    {
+    CActiveLmOperation* activeLmOperation = new(ELeave) CActiveLmOperation(iLog, iUseLogFromThreadIsDisabled);
+    CleanupStack::PushL(activeLmOperation);
+
+    activeLmOperation->Start(aOperation);
+
+    CActiveScheduler::Start();
+
+    activeLmOperation->CheckOperationL();
+    activeLmOperation->DeleteOperationD();
+
+    CleanupStack::PopAndDestroy(activeLmOperation);
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::RunAsyncOperationLD
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CLandmarkTestProcedureBase::RunAsyncOperationL(
+    CPosLmOperation* aOperation)
+    {
+    CActiveLmOperation* activeLmOperation = new(ELeave) CActiveLmOperation(iLog, iUseLogFromThreadIsDisabled);
+    CleanupStack::PushL(activeLmOperation);
+
+    activeLmOperation->Start(aOperation);
+
+    CActiveScheduler::Start();
+
+    activeLmOperation->CheckOperationL();
+
+    CleanupStack::PopAndDestroy(activeLmOperation);
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::RunAsyncOperationByWaitForReqL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CLandmarkTestProcedureBase::RunAsyncOperationByWaitForReqL(
+    CPosLmOperation* aOperation)
+    {
+    TRequestStatus status = KPosLmOperationNotComplete;
+    TReal32 progress = 0;
+
+    while (status == KPosLmOperationNotComplete)
+        {
+        aOperation->NextStep(status, progress);
+        User::WaitForRequest(status);
+        }
+
+    _LIT(KStatusError, "Executing CPosLmOperation by using User::WaitForRequest() failed with %d");
+    AssertTrueSecL(status.Int() == KErrNone, KStatusError, status.Int());
+
+    _LIT(KProgError, "Progress not 1.0 but %d when executing CPosLmOperation with User::WaitForRequest()");
+    AssertTrueSecL(progress == 1.0, KProgError, (TInt) (progress * 100));
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::RunAsyncOperationAndCancelLD
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CLandmarkTestProcedureBase::RunAsyncOperationAndCancelLD(CPosLmOperation* aOperation)
+    {
+    CActiveLmOperation* activeLmOperation = new(ELeave) CActiveLmOperation(iLog, iUseLogFromThreadIsDisabled);
+    CleanupStack::PushL(activeLmOperation);
+
+    activeLmOperation->Start(aOperation);
+
+    activeLmOperation->DeleteOperationD();
+
+    CActiveScheduler::Start();
+
+    CleanupStack::PopAndDestroy(activeLmOperation);
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::RunAsyncOperationAndCancelInCallbackLD
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CLandmarkTestProcedureBase::RunAsyncOperationAndCancelInCallbackLD(
+    CPosLmOperation* aOperation,
+    TReal32 aThreshold)
+    {
+    if (aThreshold > 0)
+        {
+        CActiveLmOperation* activeLmOperation = new(ELeave) CActiveLmOperation(
+            iLog, iUseLogFromThreadIsDisabled, aThreshold);
+        CleanupStack::PushL(activeLmOperation);
+
+        TCallBack callback(CancelTest, activeLmOperation);
+
+        CPeriodic* periodicTimer = CPeriodic::NewL(CActive::EPriorityHigh);
+        CleanupStack::PushL(periodicTimer);
+
+        periodicTimer->Start(1, 1, callback);
+
+        activeLmOperation->SetCancelTest();
+        activeLmOperation->Start(aOperation);
+
+        CActiveScheduler::Start();
+
+        periodicTimer->Cancel();
+
+        if (activeLmOperation->Operation())
+            {
+            // In case of no cancel
+            activeLmOperation->DeleteOperationD();
+            if (activeLmOperation->DeltaProgress() < 1 - aThreshold)
+                {
+                iLog->Log(_L("Test was never cancelled!"));
+                }
+            }
+
+        CleanupStack::PopAndDestroy(2, activeLmOperation);
+        }
+    else
+        {
+        // Cancel immediately
+        RunAsyncOperationAndCancelLD(aOperation);
+        }
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::CancelTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt CLandmarkTestProcedureBase::CancelTest(TAny* aSelf)
+    {
+    CActiveLmOperation* activeLmOperation = static_cast<CActiveLmOperation*>(aSelf);
+
+    if (activeLmOperation->Progress() >= activeLmOperation->Threshold())
+        {
+        activeLmOperation->DeleteOperationD();
+        }
+
+    return 0;
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::DeleteFileL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CLandmarkTestProcedureBase::DeleteFileL(const TDesC& aFile)
+    {
+    TInt err = iFileSession.Delete(aFile);
+
+    TBuf<512> buf;
+
+    if (err == KErrNone)
+        {
+        _LIT(KDebugText, "DeleteFileL: Specified file '%S' has been deleted");
+        buf.Format(KDebugText, &aFile, err);
+        iLog->Log(buf);
+        }
+    else
+        {
+        _LIT(KErrText, "DeleteFileL: Specified file '%S' could not be deleted, error %d");
+        buf.Format(KErrText, &aFile, err);
+        iLog->Log(buf);
+        switch ( err )
+            {
+            case KErrNotFound:
+            case KErrPathNotFound:
+                break;
+            default:
+                User::Leave(err);
+                break;
+            }
+        }
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::ServerAliveL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CLandmarkTestProcedureBase::MakeSurePanicDebugFileExistsL()
+    {
+    _LIT(KFileName, "c:\\system\\bootdata\\ErrRd");
+    _LIT(KFilePath, "c:\\system\\bootdata\\");
+
+    TInt res = iFileSession.MkDirAll(KFilePath);
+    if (res != KErrAlreadyExists && res != KErrNone)
+        {
+        iLog->Log(_L("Problem creating directory c:\\system\\bootdata\\"));
+        User::Leave(res);
+        }
+
+    RFile panicDebugFile;
+    res = panicDebugFile.Create(iFileSession, KFileName, EFileRead);
+    CleanupClosePushL(panicDebugFile);
+
+    if (res != KErrAlreadyExists && res != KErrNone)
+        {
+        iLog->Log(_L("Problem creating file c:\\system\\bootdata\\ErrRd"));
+        User::Leave(res);
+        }
+
+    CleanupStack::PopAndDestroy(&panicDebugFile);
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::ServerAliveL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TBool CLandmarkTestProcedureBase::ServerAlive(const TDesC& aServerName)
+    {
+	TFindServer find(aServerName);
+    TFullName   name;
+    if (find.Next(name) == KErrNone) // server found
+		{
+		TBuf<100> buf;
+		buf.Append(_L("Found server: "));
+		buf.Append(name);
+		iLog->Log(buf);
+		return ETrue;
+		}
+	else
+		{
+		return EFalse;
+		}
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::ListLandmarkDbsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+CDesCArray* CLandmarkTestProcedureBase::ListLandmarkDbsL()
+    {
+    CPosLmDatabaseManager* dbman = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(dbman);
+    CDesCArray* dbs = dbman->ListDatabasesLC();
+    CleanupStack::Pop(dbs);
+    CleanupStack::PopAndDestroy(dbman);
+    return dbs;
+    }
+
+// -----------------------------------------------------------------------------
+// CActiveLmOperation::CActiveLmOperation
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CActiveLmOperation::CActiveLmOperation(
+    CStifLogger* aLog,
+    TBool aUseLogFromThreadIsDisabled,
+    TReal32 aThreshold)
+: CActive(EPriorityNormal),
+    iThreshold(aThreshold),
+    iUseLogFromThreadIsDisabled(aUseLogFromThreadIsDisabled),
+    iLog(aLog)
+    {
+    CActiveScheduler::Add(this);
+    }
+
+
+// Destructor
+CActiveLmOperation::~CActiveLmOperation()
+    {
+    Cancel();
+
+    }
+
+// ---------------------------------------------------------
+// CActiveLmOperation::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CActiveLmOperation::Start(
+    CPosLmOperation* aOperation,
+    MProgressObserver* aObserver)
+    {
+    iOperation = aOperation;
+    iObserver = aObserver;
+
+    TTime start, stop;
+    start.UniversalTime();
+    iOperation->NextStep(iStatus, iPassedProgress);
+    stop.UniversalTime();
+
+    TInt64 usec = (stop.Int64() - start.Int64());
+
+    TBuf8<KMsgBufSize> msg;
+	_LIT8(KTrace, "First next step took %d µs");
+	msg.Format(KTrace, usec);
+    // Dont log if used from different threads
+    // ex TP30,TP31
+    // Log if step took more than 0.1 seconds
+    if (!iUseLogFromThreadIsDisabled && usec > KFirstNextStepLogLimit)
+        {
+        iLog->Log(msg);
+        }
+
+    SetActive();
+    }
+
+// ---------------------------------------------------------
+// CActiveLmOperation::RunL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CActiveLmOperation::RunL()
+    {
+    if (iPassedProgress < iLastProgress)
+        {
+        iAsyncProgressErr = ETrue;
+        }
+
+    iDeltaProgress = iPassedProgress - iLastProgress;
+    iLastProgress = iPassedProgress;
+    if (iObserver)
+        {
+        iObserver->NotifyProgress(iPassedProgress);
+        }
+
+    if (iStatus == KPosLmOperationNotComplete && iOperation)
+        {
+        if (iLastProgress == 1.0)
+            {
+            iPassedProgressErr = ETrue;
+            }
+
+        iOperation->NextStep(iStatus, iPassedProgress);
+
+        if (iCancelTest)
+            {
+            User::After(1);
+            }
+
+        SetActive();
+        }
+    else
+        {
+        if (iStatus == KErrNone && iPassedProgress != 1.0)
+            {
+            iPassedProgressErr = ETrue;
+            }
+
+        iLastProgress = 0;
+        CActiveScheduler::Stop();
+        }
+
+
+    }
+
+// ---------------------------------------------------------
+// CActiveLmOperation::DoCancel
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CActiveLmOperation::DoCancel()
+    {
+
+    }
+
+// ---------------------------------------------------------
+// CActiveLmOperation::CheckOperationL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CActiveLmOperation::CheckOperationL()
+    {
+    _LIT(KAsyncStatusErr, "Status incorrect in RunL = %d");
+    _LIT(KAsyncProgressErr, "Progress not updated in RunL");
+    _LIT(KPassedProgressErr, "Passed Progress is not updated correctly in RunL");
+
+    if (iAsyncProgressErr)
+        {
+        iLog->Log(KAsyncProgressErr);
+        User::Leave(KErrGeneral);
+        }
+
+    if (iPassedProgressErr)
+        {
+        iLog->Log(KPassedProgressErr);
+        User::Leave(KErrGeneral);
+        }
+
+    if (iStatus != KErrNone)
+        {
+        if (!iUseLogFromThreadIsDisabled)
+            {
+            TBuf<100> info;
+            info.Format(KAsyncStatusErr, iStatus.Int());
+            iLog->Log(info);
+            }
+        User::Leave(iStatus.Int());
+        }
+
+    iAsyncProgressErr = iPassedProgressErr = EFalse;
+
+    }
+
+// ---------------------------------------------------------
+// CActiveLmOperation::DeleteOperationD
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+void CActiveLmOperation::DeleteOperationD()
+    {
+    delete iOperation;
+    iOperation = NULL;
+    }
+
+// ---------------------------------------------------------
+// CActiveLmOperation::Status
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt CActiveLmOperation::Status() const
+    {
+    return iStatus.Int();
+    }
+
+// ---------------------------------------------------------
+// CActiveLmOperation::Progress
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TReal CActiveLmOperation::Progress() const
+    {
+    return iLastProgress;
+    }
+
+// ---------------------------------------------------------
+// CActiveLmOperation::Operation
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+CPosLmOperation* CActiveLmOperation::Operation()
+    {
+    return iOperation;
+    }
+
+//---------------------------------------------------------
+// CActiveLmOperation::SetCancelTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CActiveLmOperation::SetCancelTest()
+    {
+    iCancelTest = ETrue;
+    }
+
+//---------------------------------------------------------
+// CActiveLmOperation::Threshold
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TReal32 CActiveLmOperation::Threshold()
+    {
+    return iThreshold;
+    }
+
+//---------------------------------------------------------
+// CActiveLmOperation::DeltaProgress
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TReal32 CActiveLmOperation::DeltaProgress()
+    {
+    return iDeltaProgress;
+    }
+
+// <---------------- inner class COnTheFlyTester (utility class for testing multiDbSearch) ---------------->
+
+// Constructor
+CLandmarkTestProcedureBase::COnTheFlyTester::COnTheFlyTester() : CActive(CActive::EPriorityStandard)
+    {
+    CActiveScheduler::Add(this);
+    }
+
+// Desctructor
+CLandmarkTestProcedureBase::COnTheFlyTester::~COnTheFlyTester()
+    {
+    delete iDisplayData;
+    delete iOperation;
+    Cancel();
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::COnTheFlyTester::NewLC
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+CLandmarkTestProcedureBase::COnTheFlyTester* CLandmarkTestProcedureBase::COnTheFlyTester::NewLC()
+    {
+    CLandmarkTestProcedureBase::COnTheFlyTester* self = new (ELeave) CLandmarkTestProcedureBase::COnTheFlyTester;
+    CleanupStack::PushL(self);
+    return self;
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::COnTheFlyTester::StartSearchCampaignL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CLandmarkTestProcedureBase::COnTheFlyTester::StartSearchCampaignL(
+    CPosLmMultiDbSearch* aSearcher,
+    const RIdArray& aExpectedMatches,
+    CPosLmSearchCriteria* aSearchCriteria)
+    {
+    iSearcher = aSearcher;
+    iExpectedMatches = &aExpectedMatches;
+
+    // Set DisplayData
+    delete iDisplayData;
+    iDisplayData = NULL;
+    iDisplayData = CPosLmDisplayData::NewL();
+    CPosLmPartialReadParameters* partialReadParams = CPosLmPartialReadParameters::NewLC();
+    partialReadParams->SetRequestedAttributes(CPosLandmark::ELandmarkName);
+    iDisplayData->SetPartialReadParametersL(*partialReadParams);
+    iSearcher->SetDisplayData(*iDisplayData);
+    CleanupStack::PopAndDestroy(partialReadParams);
+
+    // Start search
+    TPosLmSortPref sortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+    delete iOperation;
+    iOperation = NULL;
+    iOperation = iSearcher->StartLandmarkSearchL(*aSearchCriteria, sortPref);
+    iOperation->NextStep(iStatus, iProgress);
+    SetActive();
+
+    CActiveScheduler::Start();
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::COnTheFlyTester::RunL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CLandmarkTestProcedureBase::COnTheFlyTester::RunL()
+    {
+    iErr = iStatus.Int();
+    switch (iErr)
+        {
+        case KPosLmOperationNotComplete:
+            VerifyOnTheFlyDataL();
+            iOperation->NextStep(iStatus, iProgress);
+            SetActive();
+            break;
+
+        case KErrNone:
+            VerifyOnTheFlyDataL(ETrue);
+            CActiveScheduler::Stop();
+            break;
+
+        default:
+            User::Leave(iErr);
+        }
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::COnTheFlyTester::DoCancel
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CLandmarkTestProcedureBase::COnTheFlyTester::DoCancel()
+    {
+    delete iOperation;
+    iOperation = NULL;
+    CActiveScheduler::Stop();
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::COnTheFlyTester::RunError
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt CLandmarkTestProcedureBase::COnTheFlyTester::RunError(TInt aError)
+    {
+    iErr = aError;
+    CActiveScheduler::Stop();
+    return KErrNone;
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::COnTheFlyTester::VerifyOnTheFlyDataL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CLandmarkTestProcedureBase::COnTheFlyTester::VerifyOnTheFlyDataL(TBool aIsFinished)
+    {
+    // No errors should have occurred
+    if (iSearcher->NumOfSearchErrors() != 0)
+        {
+        iBuf = _L("iSearcher->NumOfSearchErrors() != 0");
+        User::Leave(KErrGeneral);
+        }
+
+    // Verify that number of found matches does not decrease
+    TInt nrOfItems = iDisplayData->Count();
+    if (nrOfItems < iNrOfOldItems)
+        {
+        iBuf = _L("nrOfItems < iNrOfOldItems");
+        User::Leave(KErrGeneral);
+        }
+    iNrOfOldItems = nrOfItems;
+
+    // Verify sort order
+    for (TInt i = 0; i < nrOfItems; i++)
+        {
+        CPosLmDisplayItem& displayItem = iDisplayData->DisplayItem(i);
+        if (displayItem.DisplayItemType() != CPosLmDisplayItem::ELandmarkItem)
+            {
+            iBuf = _L("Wrong displayItemType");
+            User::Leave(KErrGeneral);
+            }
+        if (i < nrOfItems - 1)
+            {
+            TPtrC name1, name2;
+            displayItem.Landmark().GetLandmarkName(name1);
+            iDisplayData->DisplayItem(i + 1).Landmark().GetLandmarkName(name2);
+            if (name1.CompareC(name2) > 0)
+                {
+                iBuf.Format(_L("%S is greater than %S"), &name1, &name2);
+                User::Leave(KErrGeneral);
+                }
+            }
+        }
+
+    // When completed, the expected number of matches should have been found
+    if (aIsFinished)
+        {
+        TInt totNrOfMatches = iSearcher->TotalNumOfMatches();
+        TInt expectedNrOfHits = iExpectedMatches->Count();
+        if (totNrOfMatches != expectedNrOfHits)
+            {
+            iBuf.Format(_L("Wrong number of landmarks returned when searching for landmarks, found: %d expected %d"), totNrOfMatches, expectedNrOfHits);
+            User::Leave(KErrGeneral);
+            }
+        for (TInt i = 0; i < expectedNrOfHits; i++)
+            {
+            TInt found = iExpectedMatches->Find(iDisplayData->DisplayItem(i).Landmark().LandmarkId());
+            if (found == KErrNotFound)
+                {
+                iBuf.Format(_L("Non-qualified landmark was found"));
+                User::Leave(KErrNotFound);
+                }
+            TPtrC name;
+            iDisplayData->DisplayItem(i).Landmark().GetLandmarkName(name);
+            }
+        }
+    }
+
+// ---------------------------------------------------------
+// ---------------------------------------------------------
+//
+void CLandmarkTestProcedureBase::ReadGlobalCategoriesFromResourceL(
+	RArray<TUint>& aCatIds,
+	RPointerArray<HBufC>& aCatNames,
+	TInt aMaxNum )
+    {
+	_LIT(KGlobalCategoryResourceFile, "z:\\Resource\\eposlmglobalcategories.rsc");
+	const TInt KPosLmGlCatResourceOffset = 1;
+
+	TFileName filename(KGlobalCategoryResourceFile);
+	BaflUtils::NearestLanguageFile( iFileSession, filename );
+
+	CResourceFile* resFile = CResourceFile::NewLC( iFileSession, filename, 0, 0 );
+
+	RResourceReader reader;
+	reader.OpenLC( resFile, KPosLmGlCatResourceOffset );
+
+	// Read the size of the icon path array.
+	TInt size = reader.ReadInt8L();
+
+	// read icon paths
+	for (TInt i = 0; i < size; i++)
+	    {
+	    HBufC* path = reader.ReadHBufCL();
+	    delete path;
+	    }
+
+	// read category data
+	size = reader.ReadInt16L();
+	if ( aMaxNum > 0 )
+		{
+		size = Min( size, aMaxNum );
+		}
+
+	for (TInt i = 0; i < size; i++)
+	    {
+	    TInt id = reader.ReadUint32L();
+	    aCatIds.Append( id );
+	    HBufC* name = reader.ReadHBufCL();
+	    aCatNames.Append( name );
+
+	    //iLog->Log(_L("Localized category: id: %d, name: '%S'"), id, name);
+
+	    reader.ReadInt32L();
+	    reader.ReadInt32L();
+	    reader.ReadInt8L();
+	    }
+	CleanupStack::PopAndDestroy( &reader );
+	CleanupStack::PopAndDestroy( resFile );
+	}
+
+
+// ---------------------------------------------------------
+// ---------------------------------------------------------
+//
+void CLandmarkTestProcedureBase::ResetAndDestroyHBufCArray( TAny* aPointer )
+	{
+	RPointerArray<HBufC>* array = ( RPointerArray<HBufC>* ) aPointer;
+	array->ResetAndDestroy();
+	}
+
+// ---------------------------------------------------------
+// ---------------------------------------------------------
+//
+void CLandmarkTestProcedureBase::CreateCorrectXmlFileL( const TDesC& aSampleFile, TFileName& aFileName )
+	{
+	_LIT( KTargetFolder, "c:\\documents\\" );
+    _LIT( KNewFileSuffix, ".localized" );
+
+    iLog->Log(_L("Making localized XML file out of '%S'"), &aSampleFile );
+
+    RFileReadStream source;
+    TInt err = source.Open( iFileSession, aSampleFile, EFileRead );
+    if ( err  )
+        {
+        iLog->Log(_L("Failed to open source file '%S', err %d"), &aSampleFile, err );
+        User::Leave( err );
+        }
+    CleanupClosePushL( source );
+
+	TParse parse;
+	parse.Set( aSampleFile, 0, 0 );
+	aFileName = KTargetFolder;
+	aFileName.Append( parse.Name() );
+    aFileName.Append( KNewFileSuffix );
+    aFileName.Append( parse.Ext() );
+
+    RFile target;
+	err = target.Replace( iFileSession, aFileName, EFileRead );
+	if ( err  )
+		{
+		iLog->Log(_L("Failed to create target file '%S', err %d"), &aFileName, err );
+		User::Leave( err );
+		}
+	CleanupClosePushL( target );
+
+	// Replace Global Category macros with correct strings
+
+	RArray<TUint> globalIds;
+	RPointerArray<HBufC> names;
+	CleanupStack::PushL( TCleanupItem( CLandmarkTestProcedureBase::ResetAndDestroyHBufCArray, &names ) );
+	ReadGlobalCategoriesFromResourceL( globalIds, names );
+
+	const TChar KIdStart = '{';
+	const TChar KIdEnd = '}';
+	//category name length should be <= 124
+	_LIT( KGlobalCategoryMacro, "__GLOBAL_CAT_{" );
+
+	TBuf8<1024> line8;
+	while ( !err )
+        {
+        TRAP( err, source.ReadL( line8, TChar('\n') ) );
+        if ( !err )
+        	{
+	        HBufC* line16 = CnvUtfConverter::ConvertToUnicodeFromUtf8L( line8 );
+	        CleanupStack::PushL( line16 );
+	        TPtr line( line16->Des() );
+
+	        TInt macroStart = line.Find( KGlobalCategoryMacro );
+	        if ( macroStart != KErrNotFound )
+	            {
+	            // find global categoryid in the macro
+	            TInt idStart = line.Locate( KIdStart );
+	            TInt idEnd = line.Locate( KIdEnd );
+
+	            TLex idStr( line.Mid( idStart + 1, idEnd - idStart - 1 ) );
+
+	            TUint globalId = 0;
+	            idStr.Val( globalId );
+
+	            // find localized string for the category
+	            TInt idIndex = globalIds.Find( globalId );
+
+	    	    // put it to the file instead of macro
+	            if ( idIndex >= 0 )
+	            	{
+	            		HBufC* des = EscapeStringToXmlLC(*(names[idIndex]));
+    					
+    					
+		            	if(des->Length() > (idEnd - macroStart + 1))
+		            	{
+		            		TInt diffrence = des->Length() - (idEnd - macroStart + 1);
+		            		HBufC* diffStr = HBufC::NewLC(diffrence * 2);
+		            		TPtr ptr(diffStr->Des());
+		            		TInt i=0;
+		            		for(i=0; i<diffrence; i++)
+		            		{
+		            			ptr.Append(' ');
+		            		}
+		            		line16->ReAllocL(line.MaxLength() + i);
+		            		TPtr newPtr(line16->Des());
+		            		newPtr.Insert(idEnd, ptr);
+		            		newPtr.Replace( macroStart, (idEnd + i) - macroStart + 1, des->Des() );
+		            		HBufC8* newLine8 = CnvUtfConverter::ConvertFromUnicodeToUtf8L( newPtr );
+			        		target.Write( *newLine8 );
+			        		delete newLine8;
+		            		CleanupStack::PopAndDestroy( diffStr );
+		            	}
+		            	else
+		            	{
+		            		line.Replace( macroStart, idEnd - macroStart + 1, des->Des() );
+		            		HBufC8* newLine8 = CnvUtfConverter::ConvertFromUnicodeToUtf8L( line );
+			        		target.Write( *newLine8 );
+			        		delete newLine8;
+		            	}
+	            		CleanupStack::PopAndDestroy(des);
+	            	}
+
+
+	            }
+	        else
+	        	{
+	        	target.Write( line8 );
+	        	}
+
+	        CleanupStack::PopAndDestroy( line16 );
+        	}
+        else
+            {
+            iLog->Log(_L("Stopped reading from '%S' with code %d"), &aSampleFile, err );
+            }
+        }
+
+    target.Flush();
+	CleanupStack::PopAndDestroy(); // names
+	CleanupStack::PopAndDestroy( &target );
+	CleanupStack::PopAndDestroy( &source );
+	}
+
+// ---------------------------------------------------------
+// ---------------------------------------------------------
+//
+HBufC* CLandmarkTestProcedureBase::GetGlobalCategoryFromResourceLC( TPosLmGlobalCategory aGlobalId )
+    {
+    HBufC* name = NULL;
+    RArray<TUint> catIds;
+    RPointerArray<HBufC> catNames;
+
+    CleanupClosePushL( catIds );
+    CleanupStack::PushL( TCleanupItem( ResetAndDestroyHBufCArray, &catNames ));
+
+    ReadGlobalCategoriesFromResourceL( catIds, catNames );
+    TInt idIndex = catIds.Find( aGlobalId );
+    if ( idIndex >= 0 )
+        {
+        name = catNames[idIndex];
+        catNames.Remove( idIndex );
+        }
+    else
+        {
+        iLog->Log(_L("Global category %d not found"), aGlobalId );
+        User::Leave( KErrNotFound );
+        }
+    CleanupStack::PopAndDestroy(); //catNames
+    CleanupStack::PopAndDestroy( &catIds );
+
+    CleanupStack::PushL( name );
+    return name;
+    }
+
+// ---------------------------------------------------------
+// ---------------------------------------------------------
+//
+HBufC* CLandmarkTestProcedureBase::ReadDefaultDatabaseNameFromResourceLC()
+    {
+    _LIT(KDatabaseNameResourceFile, "z:\\resource\\eposlmdefaultdbname.rsc");
+    const TInt KNameResourceOffset = 2;
+
+    TFileName filename( KDatabaseNameResourceFile );
+    BaflUtils::NearestLanguageFile( iFileSession, filename );
+
+    CResourceFile* resFile = CResourceFile::NewLC( iFileSession, filename, 0, 0 );
+
+    RResourceReader reader;
+    reader.OpenLC( resFile, KNameResourceOffset );
+
+    HBufC* name = reader.ReadHBufCL();
+
+    CleanupStack::PopAndDestroy( &reader );
+    CleanupStack::PopAndDestroy( resFile );
+
+    CleanupStack::PushL( name );
+    return name;
+    }
+
+// -----------------------------------------------------------------------------
+// PosLmConverterUtils::EscapeStringToXmlLC
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+HBufC* CLandmarkTestProcedureBase::EscapeStringToXmlLC(
+    const TDesC& aStrToEscape)
+    {
+    HBufC* string = HBufC::NewLC(CalculateEscapedStringSize(aStrToEscape));
+    string->Des().Copy(aStrToEscape);
+
+    // Must start with &, because when escaping other characters & will be
+    // added to the string.
+    TPtr ptr = string->Des();
+    EscapeString(ptr, KAmp, KAmpXmlStr);
+    EscapeString(ptr, KLt, KLtXmlStr);
+    EscapeString(ptr, KGt, KGtXmlStr);
+    EscapeString(ptr, KApos, KAposXmlStr);
+    EscapeString(ptr, KQuot, KQuotXmlStr);
+
+    return string;
+    }
+    
+   // -----------------------------------------------------------------------------
+// PosLmConverterUtils::EscapeString
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLandmarkTestProcedureBase::EscapeString(
+    TDes& aStrToEscape,
+    const TDesC& aFromStr,
+    const TDesC& aToStr)
+    {
+    TPtrC ptr(aStrToEscape);
+    TInt lastPos = 0;
+
+    // Find first occurence of the escape string.
+    TInt pos = ptr.Find(aFromStr);
+
+    while (pos != KErrNotFound)
+        {
+        aStrToEscape.Replace(pos+lastPos, aFromStr.Length(), aToStr);
+
+        // Move ptr forward past the inserted aToStr in aStrToEscape
+        pos += aToStr.Length();
+        lastPos += pos;
+        ptr.Set(aStrToEscape.Right(aStrToEscape.Length() - lastPos));
+
+        // Find next occurence of the escape string.
+        pos = ptr.Find(aFromStr);
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// PosLmConverterUtils::CalculateEscapedStringSize
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CLandmarkTestProcedureBase::CalculateEscapedStringSize(
+    const TDesC& aStrToEscape)
+    {
+    return aStrToEscape.Length() +
+        CalculateIncrease(aStrToEscape, KAmp, KAmpXmlStr) +
+        CalculateIncrease(aStrToEscape, KLt, KLtXmlStr) +
+        CalculateIncrease(aStrToEscape, KGt, KGtXmlStr) +
+        CalculateIncrease(aStrToEscape, KApos, KAposXmlStr) +
+        CalculateIncrease(aStrToEscape, KQuot, KQuotXmlStr);
+    }
+
+// -----------------------------------------------------------------------------
+// PosLmConverterUtils::CalculateIncrease
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CLandmarkTestProcedureBase::CalculateIncrease(
+    const TDesC& aStrToEscape,
+    const TDesC& aFromStr,
+    const TDesC& aToStr)
+    {
+    TPtrC ptr(aStrToEscape);
+    TInt occurrences = 0;
+
+    // Find first occurence of the escape string.
+    TInt pos = ptr.Find(aFromStr);
+
+    while (pos != KErrNotFound)
+        {
+        ++occurrences;
+
+        // Move ptr forward past the found occurence.
+        ptr.Set(ptr.Right(ptr.Length() - (pos + aFromStr.Length())));
+
+        // Find next occurence of the escaped string.
+        pos = ptr.Find(aFromStr);
+        }
+
+    // Return the increased (or decreased) size impact on the string to escape.
+    return occurrences*(aToStr.Length() - aFromStr.Length());
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTP26.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,271 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp26.h"
+
+#include <EPos_CPosLmTextCriteria.h>
+#include <EPos_CPosLMItemIterator.h>
+#include <EPos_CPosLmCatNameCriteria.h>
+#include <EPos_CPosLmCategoryCriteria.h>
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp26::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp26::CloseTest()
+    {
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+    delete iDatabase;
+    iDatabase = NULL;
+    }
+
+// ---------------------------------------------------------
+// CPosTp26::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp26::StartL()
+    {
+    iDatabase = UseGeneratedDbFileL();
+    
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+
+    AppendSearchResultsL();
+    
+    iLog->Log(_L("DoLandmarkSearchL(iSearchResults);"));
+    DoLandmarkSearchL(iSearchResults);
+
+    AppendCategorySearchResultsL();
+    iLandmarkSearch = CPosLandmarkSearch::NewL(*iDatabase);
+    iLog->Log(_L("DoLandmarkCategorySearchL(iCategorySearchResults);"));
+    DoLandmarkCategorySearchL(iCategorySearchResults);
+    }
+
+// ---------------------------------------------------------
+// CPosTp26::DoLandmarkCategorySearch
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp26::DoLandmarkCategorySearchL(const RPointerArray<CCategorySearchResult>& aSearchResults)
+    {
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect when the search is performed");
+    _LIT(KNotFoundErr, "Id %d not found in parsed Lm search results when the search is performed syncronously");
+    _LIT(KWrongIdErr, "Wrong id returned from iterator after reset");
+
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+    CPosLmCatNameCriteria* nameCriteria = CPosLmCatNameCriteria::NewLC();
+    // Use wildcard * as search pattern
+    nameCriteria->SetSearchPatternL(aSearchResults[0]->TextCriteria());
+    
+    ExecuteAndDeleteLD(iLandmarkSearch->StartCategorySearchL(*nameCriteria, CPosLmCategoryManager::ECategorySortOrderNone)); 
+    
+    CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+    CleanupStack::PushL(iter);
+    
+    if ((TUint)(aSearchResults[0]->SearchResult()).Count() != iLandmarkSearch->NumOfMatches())
+        {
+        _LIT(KExpected, "Expected no. of matches: %d");
+        _LIT(KReturned, "Returned no. of matches: %d");
+        TBuf<100> info;
+        info.Format(KExpected, (aSearchResults[0]->SearchResult()).Count());
+        iLog->Log(info);
+        info.Format(KReturned, iLandmarkSearch->NumOfMatches());
+        iLog->Log(info);
+        iLog->Log(_L("Name criteria: "));
+        iLog->Log(nameCriteria->SearchPattern());
+        
+        iLog->Log(KNumOfMatchesErr);
+       	User::Leave(-1);
+        }
+
+    // Get the first category in list, id1
+    TPosLmItemId id1 = iter->NextL();
+    CPosLandmarkCategory* cat = categoryManager->ReadCategoryLC(id1);
+    TPtrC name;
+    cat->GetCategoryName(name);
+    iLog->Log(_L("First time"));
+    iLog->Log(name);
+    CleanupStack::PopAndDestroy(cat);
+
+    //Reset iterator and make sure that id1 is returned again
+    iter->Reset();
+    TPosLmItemId id11 = iter->NextL();
+    AssertTrueSecL(id1 == id11, KWrongIdErr);
+
+    iLog->Log(_L("******************"));
+    // Iterate through whole iterator
+    while (id11 != KPosLmNullItemId)
+        {
+        AssertTrueSecL(aSearchResults[0]->FindSearchResult(id11), KNotFoundErr, id11);
+        CPosLandmarkCategory* cat = categoryManager->ReadCategoryLC(id11);
+        TPtrC name;
+        cat->GetCategoryName(name);
+        iLog->Log(name);
+        CleanupStack::PopAndDestroy(cat);
+        id11 = iter->NextL();
+        }
+    iLog->Log(_L("******************"));
+    RArray<TPosLmItemId> lmIdArray;
+    CleanupClosePushL(lmIdArray);
+
+    // Get a sequence of items from the iterated set
+    // lmIdArray should be reset in GetItemIdsL
+    // Use some magic numbers here, check landmarksDb.xls for more info
+    iter->GetItemIdsL(lmIdArray, 5, 10);
+    TInt nr = lmIdArray.Count();
+    for (TInt j=0;j<nr; j++)
+        {
+        AssertTrueSecL(aSearchResults[0]->FindSearchResult(lmIdArray[j]), KNotFoundErr);
+        CPosLandmarkCategory* cat = categoryManager->ReadCategoryLC(lmIdArray[j]);
+        TPtrC name;
+        cat->GetCategoryName(name);
+        iLog->Log(name);
+        CleanupStack::PopAndDestroy(cat);
+        }
+
+    CleanupStack::PopAndDestroy(&lmIdArray);
+    CleanupStack::PopAndDestroy(2, nameCriteria);
+    CleanupStack::PopAndDestroy(categoryManager);
+    }
+
+// ---------------------------------------------------------
+// CPosTp26::DoLandmarkSearch
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp26::DoLandmarkSearchL(const RPointerArray<CSearchResult>& aSearchResults)
+    {
+    iLog->Log(_L("DoLandmarkSearch()"));
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect when the search is performed asyncronously");
+    _LIT(KNotFoundErr, "Id %d not found in parsed Lm search results when the search is performed asyncronously");
+    _LIT(KNumOfMatchesInIteratorErr, "Wrong number of matches in iterator");
+    _LIT(KWrongIdErr, "Wrong id returned from iterator after reset");
+    
+    iLandmarkSearch = CPosLandmarkSearch::NewL(*iDatabase);
+
+    TBuf<150> buf;
+    _LIT(KDebug, "Searching for ");
+    
+    // Put this RArray outside loop so that if reset of the array is missing in the code
+    // it will be noticed
+    RArray<TPosLmItemId> lmIdArray;
+    CleanupClosePushL(lmIdArray);
+
+    for(TInt i=0; i<aSearchResults.Count(); i++)
+        {
+        CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+        
+        textCriteria->SetTextL(aSearchResults[i]->TextCriteria());
+        textCriteria->SetAttributesToSearch(aSearchResults[i]->Attributes());
+        textCriteria->SetPositionFieldsToSearchL(aSearchResults[i]->PositionFields()); 
+       
+        buf.Zero();
+        buf.Append(KDebug);
+        buf.Append(aSearchResults[i]->TextCriteria());
+        iLog->Log(buf);
+
+        iOperation = iLandmarkSearch->StartLandmarkSearchL(*textCriteria, aSearchResults[i]->Redefined());
+        RunAsyncOperationLD(iOperation);
+
+        CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+        CleanupStack::PushL(iter);
+
+        buf.Zero();
+        buf.Format(_L("Found %d nr of matches, should found %d nr of matches"), iLandmarkSearch->NumOfMatches(), (aSearchResults[i]->SearchResult()).Count());
+        iLog->Log(buf);
+        TUint nrOfMatches = iLandmarkSearch->NumOfMatches();
+        AssertTrueSecL((TUint)(aSearchResults[i]->SearchResult()).Count() == nrOfMatches, KNumOfMatchesErr);
+        
+        TPosLmItemId id1 = iter->NextL();
+        TPosLmItemId id = KPosLmNullItemId;
+        if (id1 != KPosLmNullItemId)
+            {
+            CPosLandmark* lm = iDatabase->ReadLandmarkLC(id1);
+            CleanupStack::PopAndDestroy(lm);
+            // Reset the iterator and make sure that the first id is returned again
+            iter->Reset();
+            id = iter->NextL();
+            }
+
+        AssertTrueSecL(id1 == id, KWrongIdErr);
+        TUint counter=0;
+        while (id != KPosLmNullItemId)
+            {
+            AssertTrueSecL(aSearchResults[i]->FindSearchResult(id), KNotFoundErr);
+            CPosLandmark* lm = iDatabase->ReadLandmarkLC(id);
+            CleanupStack::PopAndDestroy(lm);
+            id = iter->NextL();
+            counter++;
+            }
+        TUint nrInIterator = iter->NumOfItemsL();
+        if (nrOfMatches != counter || nrOfMatches != nrInIterator)
+            {
+            
+            iLog->Log(KNumOfMatchesInIteratorErr);
+       		User::Leave(-1);
+            }
+
+        // Get a sequence of items and check ids
+        TInt startIndex = 0;
+        // Just to get some different starting index depending on nr of ids
+        if (nrOfMatches>2) startIndex = 2;
+        if (nrOfMatches>5) startIndex = 5;
+        if (nrOfMatches>20) startIndex = 20;
+
+        // Do this if there are some matches
+        if (nrOfMatches-startIndex>0)
+            {
+            buf.Zero();
+            buf.Format(_L("GetItemIdsL from index %d nr of items index %d"), startIndex, nrOfMatches-startIndex);
+            iLog->Log(buf);
+            // lmIdArray should be reset in GetItemIdsL
+            iter->GetItemIdsL(lmIdArray, startIndex, nrOfMatches-startIndex);
+            
+            TInt nr = lmIdArray.Count();
+            for (TInt j=0;j<nr; j++)
+                {
+                AssertTrueSecL(aSearchResults[i]->FindSearchResult(lmIdArray[j]), KNotFoundErr);
+                CPosLandmark* lm = iDatabase->ReadLandmarkLC(lmIdArray[j]);
+                CleanupStack::PopAndDestroy(lm);
+                }
+            }
+
+        CleanupStack::PopAndDestroy(2, textCriteria);
+    } // end for
+    CleanupStack::PopAndDestroy(&lmIdArray);
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+    }
+
+// End of file
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTP27.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,368 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp27.h"
+#include <EPos_CPosLmTextCriteria.h>
+#include <EPos_CPosLMItemIterator.h>
+#include <EPos_CPosLmCatNameCriteria.h>
+#include <EPos_CPosLmCategoryCriteria.h>
+
+// CONSTANTS
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp27::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp27::CloseTest()
+    {
+    delete iPeriodicTimer;
+    iPeriodicTimer = NULL;
+
+    delete iDatabase;
+    iDatabase = NULL;
+    }
+
+// ---------------------------------------------------------
+// CPosTp27::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp27::StartL()
+    {
+    iDatabase = UseGeneratedDbFileL();   
+
+    if (iDatabase->IsInitializingNeeded())
+       {
+       CPosLmOperation* op = iDatabase->InitializeL();
+       delete op;
+       }
+
+    CancelLandmarkCategorySearch();
+
+    CancelLandmarkSearch();
+
+    AssertTrueSecL(iGlobalErr != KErrNone, _L("Errors found in TP27"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp27::CancelLandmarkCategorySearch
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp27::CancelLandmarkCategorySearch()
+    {
+    iLog->Log(_L("CancelLandmarkCategorySearch"));
+    CPosLmCatNameCriteria* searchCriteria = CPosLmCatNameCriteria::NewLC();
+
+    // Use name specified in test landmarksdb
+    searchCriteria->SetSearchPatternL(_L("Taxi"));       
+
+    iLandmarkSearch = CPosLandmarkSearch::NewL(*iDatabase, this);
+    // Get maximum number of search attempts
+    iLandmarkSearch->StartCategorySearchL(*searchCriteria, CPosLmCategoryManager::ECategorySortOrderNone);
+
+    iHandleOperationDisabled = EFalse;
+    iActiveSchedulerWait->Start();
+    iHandleOperationDisabled = ETrue;
+    // Get the maximum of needed search rounds until search is complete
+    TInt MaxNrOfSearchRounds = iNrSearchRounds;
+
+    // First test to cancel the search before it even has started
+    // use the callback StopActiveSchedulerWait to stop the active scheduler
+    // just to make sure that no HandleOperationProgress take place
+    iNrSearchRounds = 0;
+    iLandmarkSearch->StartCategorySearchL(*searchCriteria, CPosLmCategoryManager::ECategorySortOrderNone);
+    iLandmarkSearch->Cancel();
+
+    TCallBack callback(StopActiveSchedulerWait, this);
+    iPeriodicTimer = CPeriodic::NewL(CActive::EPriorityStandard);
+    TTimeIntervalMicroSeconds32 stopTime = TTimeIntervalMicroSeconds32(4000000); // 4 sec
+    iPeriodicTimer->Start(stopTime, stopTime, callback);
+    iHandleOperationDisabled = ETrue;
+    iActiveSchedulerWait->Start();
+
+    delete iPeriodicTimer;
+    iPeriodicTimer = NULL;
+
+    iLog->Log(_L("Starting"));
+    TInt i=0;
+    for (i=0; i<=MaxNrOfSearchRounds; i++)
+        {
+        iNrSearchRounds = 0;
+        iBreakSearch = i;
+        // Set to 100 so that it differs from progress the first time
+        iProgress=100;
+        iLog->Log(_L("StartCategorySearchL->"));
+        iLandmarkSearch->StartCategorySearchL(*searchCriteria, CPosLmCategoryManager::ECategorySortOrderNone);
+        iHandleOperationDisabled = EFalse;
+        iActiveSchedulerWait->Start();
+
+        iLog->Log(_L("After iActiveSchedulerWait->Start() inside for loop"));
+        iHandleOperationDisabled = ETrue;
+
+        // Check if anything was found
+        CPosLmItemIterator* iterator = iLandmarkSearch->MatchIteratorL();
+        CleanupStack::PushL(iterator);
+        
+        TInt numOfItems = 0;
+        numOfItems = iLandmarkSearch->NumOfMatches();
+       
+        RArray<TPosLmItemId> ids;
+        CleanupClosePushL(ids);
+        
+        if (numOfItems != 0)
+            {
+            iLog->Log(_L("Found something"));
+            // Maybe we should check this item
+            iterator->GetItemIdsL(ids, 0, numOfItems);
+            }
+        
+        CleanupStack::PopAndDestroy(&ids);
+        CleanupStack::PopAndDestroy(iterator);
+        }
+    
+    iNrSearchRounds=0;
+    iBreakSearch = -1;
+    iCancelOrDelete = ETrue;
+
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+
+    iLog->Log(_L("This time, delete the search object to cancel the search"));
+    for (i=0; i<=MaxNrOfSearchRounds; i++)
+        {
+        iLandmarkSearch = CPosLandmarkSearch::NewL(*iDatabase, this);   
+        // Set to 100 so that it differs from progress the first time
+        iProgress=100;
+        iNrSearchRounds = 0;
+        iBreakSearch = i;
+        iLog->Log(_L("StartCategorySearchL2->"));
+        iLandmarkSearch->StartCategorySearchL(*searchCriteria, CPosLmCategoryManager::ECategorySortOrderNone);
+        iHandleOperationDisabled = EFalse;
+        iActiveSchedulerWait->Start();
+        iHandleOperationDisabled = ETrue;
+        iLog->Log(_L("After iActiveSchedulerWait->Start() inside for loop"));
+        }
+    iHandleOperationDisabled = EFalse;
+    CleanupStack::PopAndDestroy(searchCriteria);
+
+    iCancelOrDelete = EFalse;
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+    }
+
+// ---------------------------------------------------------
+// CPosTp27::CancelLandmarkSearch
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp27::CancelLandmarkSearch()
+    {
+    iLog->Log(_L("CancelLandmarkSearch"));
+
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+    TUint attr = CPosLandmark::ELandmarkName | CPosLandmark::EDescription;
+    textCriteria->SetAttributesToSearch(attr);
+    // Use name specified in test landmarksdb
+    textCriteria->SetTextL(_L("enator"));
+        
+    iLandmarkSearch = CPosLandmarkSearch::NewL(*iDatabase, this);
+    iLandmarkSearch->StartLandmarkSearchL(*textCriteria);
+    iHandleOperationDisabled = EFalse;
+    iActiveSchedulerWait->Start();
+    iHandleOperationDisabled = ETrue;
+
+    // Get the maximum of needed search rounds until search is complete
+    TInt MaxNrOfSearchRounds = iNrSearchRounds;
+
+    // First test to cancel the search before it even has started
+    // use the callback StopActiveSchedulerWait to stop the active scheduler
+    // just to make sure that no HandleOperationProgress take place
+    iNrSearchRounds = 0;
+    iLandmarkSearch->StartLandmarkSearchL(*textCriteria);
+    iLandmarkSearch->Cancel();
+
+    TCallBack callback(StopActiveSchedulerWait, this);
+    iPeriodicTimer = CPeriodic::NewL(CActive::EPriorityStandard);
+    TTimeIntervalMicroSeconds32 stopTime = TTimeIntervalMicroSeconds32(4000000); // 4 sec
+    iPeriodicTimer->Start(stopTime, stopTime, callback);
+    iHandleOperationDisabled = ETrue;
+    iActiveSchedulerWait->Start();
+
+    delete iPeriodicTimer;
+    iPeriodicTimer = NULL;
+
+    iLog->Log(_L("Starting"));
+    TInt i=0;
+    for (i=0; i<=MaxNrOfSearchRounds; i++)
+        {
+        iNrSearchRounds = 0;
+        iBreakSearch = i;
+        // Set to 100 so that it differs from progress the first time
+        iProgress=100;
+        iLog->Log(_L("StartLandmarkSearchL->"));
+        iLandmarkSearch->StartLandmarkSearchL(*textCriteria);
+        iHandleOperationDisabled = EFalse;
+        iActiveSchedulerWait->Start();
+
+        iLog->Log(_L("After iActiveSchedulerWait->Start() inside for loop"));
+        iHandleOperationDisabled = ETrue;
+
+        // Check if anything was found
+        CPosLmItemIterator* iterator = iLandmarkSearch->MatchIteratorL();
+        CleanupStack::PushL(iterator);
+        
+        TInt numOfItems = 0;
+        numOfItems = iLandmarkSearch->NumOfMatches();
+       
+        RArray<TPosLmItemId> ids;
+        CleanupClosePushL(ids);
+        
+        if (numOfItems != 0)
+            {
+            iLog->Log(_L("Found something"));
+            iterator->GetItemIdsL(ids, 0, numOfItems);
+            }
+        
+        CleanupStack::PopAndDestroy(&ids);
+        CleanupStack::PopAndDestroy(iterator);
+        }
+    
+    iNrSearchRounds=0;
+    iBreakSearch = -1;
+    iCancelOrDelete = ETrue;
+
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+
+    iLog->Log(_L("This time, delete the search object to cancel the search"));
+    for (i=0; i<=MaxNrOfSearchRounds; i++)
+        {
+        iLandmarkSearch = CPosLandmarkSearch::NewL(*iDatabase, this);   
+        // Set to 100 so that it differs from progress the first time
+        iProgress=100;
+        iNrSearchRounds = 0;
+        iBreakSearch = i;
+        iLog->Log(_L("StartLandmarkSearchL2->"));
+        iLandmarkSearch->StartLandmarkSearchL(*textCriteria);
+        iHandleOperationDisabled = EFalse;
+        iActiveSchedulerWait->Start();
+        iHandleOperationDisabled = ETrue;
+        iLog->Log(_L("After iActiveSchedulerWait->Start() inside for loop"));
+        }
+    iHandleOperationDisabled = EFalse;
+    CleanupStack::PopAndDestroy(textCriteria);
+
+    iCancelOrDelete = EFalse;
+
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;    
+    }
+
+
+// ---------------------------------------------------------
+// CPosTp27::StopActiveSchedulerWait
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt CPosTp27::StopActiveSchedulerWait(TAny* aSelf)
+    {
+    //do not forget to cancel the timer
+    CPosTp27* self = static_cast<CPosTp27*> (aSelf);
+    self->iPeriodicTimer->Cancel();
+    self->iActiveSchedulerWait->AsyncStop();
+    return KErrNone;
+    }
+
+// ---------------------------------------------------------
+// CPosTp27::HandleOperationProgress
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp27::HandleOperationProgress(CPosLmOperation*  aOperation)
+    {
+    //if (iDebug) iLog->Log(_L("HandleOperationProgress"));
+
+    // If no HandleOperationProgress should occur, eg no search is started
+    if (iHandleOperationDisabled)
+        {
+        iLog->Log(_L("ERROR: No HandleOperationProgress should occur"));
+        iGlobalErr++;
+        }
+    else
+    {
+    // If progress is 100%, always stop the search
+    // Check that progress is moving
+    TReal32 progress = aOperation->Progress();
+    if (iProgress == progress)
+        {
+        iLog->Log(_L("MyError:Progressindicator not moving"));
+        iGlobalErr++;
+        }
+    iProgress = progress;
+    TBuf<50> buf;
+    buf.Format(_L("****Progress %f"), progress);
+    if (iDebug) iLog->Log(buf);
+
+    // Not sure about this condition, is it ok to compare TReal32 like this
+    if (progress == 1)
+        {
+        if (iDebug) iLog->Log(_L("Stopping"));
+        iActiveSchedulerWait->AsyncStop();
+        return;
+        }
+
+    if (iNrSearchRounds == iBreakSearch)
+        {
+        if (!iCancelOrDelete)
+            {
+            if (iDebug) iLog->Log(_L("Cancelling"));
+            aOperation->Cancel();
+            iActiveSchedulerWait->AsyncStop();
+            if (aOperation->Status() != KErrCancel)
+                {
+                TBuf<50> buf;
+                buf.Format(_L("MyError: Wrong status, should be KErrCancel, but was %d"), aOperation->Status());
+                iLog->Log(buf);
+                iGlobalErr++;
+                }
+            }
+        else
+            {
+            if (iDebug) iLog->Log(_L("Cancel by deleting search object"));
+            delete iLandmarkSearch;
+            iLandmarkSearch = NULL;
+            iActiveSchedulerWait->AsyncStop();
+            }
+        }
+        iNrSearchRounds++;
+    }
+    }
+// End of file
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTP28.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,620 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp28.h"
+#include "FT_LandmarkConstants.h"
+
+// CONSTANTS
+const TInt KMaxQueueSize = 5;
+_LIT(KTp28TestDb, "Tp28Test.ldb");
+_LIT(KTp28LmFullDefaultDbPath, "c:\\private\\100012a5\\DBS_101FE978_TP28TEST.LDB");
+
+// ---------------------------------------------------------
+// CPosTp28::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp28::CloseTest()
+    {
+	delete iDatabase;
+	iDatabase = NULL;
+    delete iCategoryManager;
+    iCategoryManager=NULL;
+    delete iActiveLmEvent;
+    iActiveLmEvent = NULL;
+    }
+
+// ---------------------------------------------------------
+// CPosTp28::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp28::StartL()
+    {
+	// copy the test db to the private database path
+	
+    _LIT(KTestPath, "c:\\system\\test\\testdata\\");
+
+    CFileMan* fileMan = CFileMan::NewL(iFileSession);
+    CleanupStack::PushL(fileMan);
+
+    TBuf<150> srcPath;
+
+    srcPath.Append(KTestPath);
+    srcPath.Append(KTp28TestDb);
+
+    TInt err = fileMan->Copy(srcPath, KTp28LmFullDefaultDbPath,
+            CFileMan::EOverWrite);
+    if (err != KErrNone)
+        iLog->Log(_L("Error when copying file"));
+
+    CleanupStack::PopAndDestroy(fileMan);
+    
+    CPosLmDatabaseManager* manager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(manager);
+
+    // This db must exist
+    manager->SetDefaultDatabaseUriL(KTp28TestDb);
+    CleanupStack::PopAndDestroy(manager);
+
+    iDatabase = CPosLandmarkDatabase::OpenL(KTp28TestDb);
+    if (iDatabase->IsInitializingNeeded())
+        {
+        TRAPD( err, ExecuteAndDeleteLD( iDatabase->InitializeL() ) );
+        AssertTrueSecL(err == KErrNone, _L("Init db failed"));
+        }
+
+
+
+    iActiveLmEvent = CActiveLmEvent::NewL(iLog);
+	
+    LandmarkEventTest();
+    
+    delete iActiveLmEvent;
+    iActiveLmEvent = NULL;
+    
+    delete iDatabase;
+    iDatabase = NULL;
+    
+    iDatabase = CPosLandmarkDatabase::OpenL(KTp28TestDb);   
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+
+    iCategoryManager = CPosLmCategoryManager::NewL(*iDatabase); 
+    
+    iActiveLmEvent = CActiveLmEvent::NewL(iLog);
+
+    LandmarkEventQueueTest();
+
+    if (iActiveLmEvent->iGlobalErr != KErrNone)
+        {
+        
+        iLog->Log(_L("Errors found in TP28"));
+       	User::Leave(-1);
+            
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp28::LandmarkEventTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp28::LandmarkEventTest()
+    {
+   
+    iActiveLmEvent->Start();
+    
+    /////////////////////////////////////////////
+	// Add three landmarks #1 #2 #3
+	/////////////////////////////////////////////
+	CPosLandmark* landmark = CPosLandmark::NewLC();
+	landmark->SetLandmarkNameL(_L("Zu Hause"));
+	CPosLandmark* landmark2 = CPosLandmark::NewLC();
+	landmark->SetLandmarkNameL(_L("Zu Hause jetzt"));
+	CPosLandmark* landmark3 = CPosLandmark::NewLC();
+	landmark->SetLandmarkNameL(_L("Nicht Zu Hause"));
+
+    iActiveLmEvent->iLandmarkId = iDatabase->AddLandmarkL(*landmark);
+	iActiveLmEvent->iLandmarkId2 = iDatabase->AddLandmarkL(*landmark2);
+	iActiveLmEvent->iLandmarkId3 = iDatabase->AddLandmarkL(*landmark3);
+	
+	CleanupStack::PopAndDestroy(landmark3);
+	CleanupStack::PopAndDestroy(landmark2);
+	
+	/////////////////////////////////////////////
+	// Update landmark #4
+	/////////////////////////////////////////////
+	landmark->SetLandmarkNameL(_L("Nicht zu Hause"));
+	iDatabase->UpdateLandmarkL(*landmark);
+
+	/////////////////////////////////////////////
+	// Remove landmark #5
+	/////////////////////////////////////////////
+	iDatabase->RemoveLandmarkL(iActiveLmEvent->iLandmarkId);
+	
+    CActiveScheduler::Start();
+
+	/////////////////////////////////////////////
+	// Add removed landmark again #6
+	/////////////////////////////////////////////
+	iActiveLmEvent->iLandmarkId4 = iDatabase->AddLandmarkL(*landmark);
+	CleanupStack::PopAndDestroy(landmark);
+
+    CActiveScheduler::Start();
+	/////////////////////////////////////////////
+	// Remove a set of landmarks sync  #7
+	/////////////////////////////////////////////
+	RArray<TPosLmItemId> array;
+    CleanupClosePushL(array);    
+    User::LeaveIfError(array.Append(iActiveLmEvent->iLandmarkId));
+	User::LeaveIfError(array.Append(iActiveLmEvent->iLandmarkId2));
+	User::LeaveIfError(array.Append(iActiveLmEvent->iLandmarkId3));
+    ExecuteAndDeleteLD(iDatabase->RemoveLandmarksL(array));
+    
+	//array.Reset();
+	
+	CleanupStack::PopAndDestroy(&array); 
+    
+    CActiveScheduler::Start();
+	/////////////////////////////////////////////
+	// Add new category #8
+	/////////////////////////////////////////////
+	CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase); 
+    CleanupStack::PushL(categoryManager);
+    
+    CPosLandmarkCategory* category = CPosLandmarkCategory::NewLC();
+    category->SetCategoryNameL(_L("My Category"));
+    
+    iActiveLmEvent->iCategoryId = categoryManager->AddCategoryL(*category); 
+	
+    AssertTrueSecL(iActiveLmEvent->iCategoryId == category->CategoryId(), _L("CATEGORY ERROR"));
+    
+	/////////////////////////////////////////////
+	// Update category #9
+	/////////////////////////////////////////////
+	categoryManager->UpdateCategoryL(*category);
+
+	/////////////////////////////////////////////
+	// Delete a non-existing category #10
+	/////////////////////////////////////////////
+	iActiveLmEvent->iNonExistingCategoryId = 998;
+	ExecuteAndDeleteLD(categoryManager->RemoveCategoryL(iActiveLmEvent->iNonExistingCategoryId));
+	
+    /////////////////////////////////////////////
+	// Delete a category that exists in several landmarks #11
+	/////////////////////////////////////////////
+	ExecuteAndDeleteLD(categoryManager->RemoveCategoryL(iActiveLmEvent->iDeleteCategoryId));
+	
+    CActiveScheduler::Start();
+	/////////////////////////////////////////////
+	// Delete several categories
+	/////////////////////////////////////////////
+	CPosLmItemIterator* iter = categoryManager->CategoryIteratorL();
+    CleanupStack::PushL(iter);
+	const TInt startIndex=1;
+    const TInt numOfItems=5;
+    RArray<TPosLmItemId> ids;
+    CleanupClosePushL(ids);
+    iter->GetItemIdsL(ids, startIndex, numOfItems);    
+	ExecuteAndDeleteLD(categoryManager->RemoveCategoriesL(ids));
+	
+	CleanupStack::PopAndDestroy(2, iter); //ids
+    
+    CActiveScheduler::Start();
+	/////////////////////////////////////////////
+	// Add new category to several landmarks
+	/////////////////////////////////////////////
+	CPosLandmarkCategory* newCategory = CPosLandmarkCategory::NewLC();
+    newCategory->SetCategoryNameL(_L("My New Category"));
+    iActiveLmEvent->iCategoryId2= categoryManager->AddCategoryL(*newCategory); 
+	CleanupStack::PopAndDestroy(newCategory);
+	
+	iter = iDatabase->LandmarkIteratorL();
+	CleanupStack::PushL(iter);
+	const TInt addStartIndex=5;
+    const TInt addNumOfItems=7;
+    CleanupClosePushL(ids);
+    iter->GetItemIdsL(ids, addStartIndex, addNumOfItems);   
+
+	ExecuteAndDeleteLD(categoryManager->AddCategoryToLandmarksL(iActiveLmEvent->iCategoryId2, ids));
+    
+    CActiveScheduler::Start();
+    /////////////////////////////////////////////
+	// Delete a category in several landmarks
+	/////////////////////////////////////////////
+	ExecuteAndDeleteLD(categoryManager->RemoveCategoryFromLandmarksL(iActiveLmEvent->iCategoryId2, ids));
+
+	CleanupStack::PopAndDestroy(4, categoryManager); // iter, ids, category
+
+     CActiveScheduler::Start();
+	/////////////////////////////////////////////
+	// Remove all landmarks
+	/////////////////////////////////////////////
+	ExecuteAndDeleteLD(iDatabase->RemoveAllLandmarksL());
+
+	CActiveScheduler::Start(); // For notifier
+	
+    }
+
+// ---------------------------------------------------------
+// CPosTp28::LandmarkEventQueueTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp28::LandmarkEventQueueTest()
+    {
+    
+    TInt i=0;
+    iActiveLmEvent->iQueueTest = ETrue;
+    iActiveLmEvent->Start();
+
+    /////////////////////////////////////////////
+	// Add one landmark #1
+    //////////////////////////////////////////////
+  
+    CPosLandmark* landmark = CPosLandmark::NewLC();
+    landmark->SetLandmarkNameL(_L("TP28 event queue"));  
+    iActiveLmEvent->iLandmarkId = iDatabase->AddLandmarkL(*landmark);
+    CleanupStack::PopAndDestroy(landmark);
+    CActiveScheduler::Start();
+
+    /////////////////////////////////////////////
+	// Add 6 landmarks #2
+    /////////////////////////////////////////////
+    _LIT(KLmName, "LmTP28");
+    for (i=0; i <= KMaxQueueSize; i++)
+        {
+        CPosLandmark* landmark = CPosLandmark::NewLC();
+        landmark->SetLandmarkNameL(KLmName);  
+        iDatabase->AddLandmarkL(*landmark);
+        CleanupStack::PopAndDestroy(landmark); 
+        }
+    
+    iActiveLmEvent->Start();
+    CActiveScheduler::Start();
+ 
+    /////////////////////////////////////////////
+	// Updates landmark 6 times #3
+    /////////////////////////////////////////////
+    for (i=0; i <= KMaxQueueSize; i++)
+        {
+        CPosLandmark* landmark = iDatabase->ReadLandmarkLC(iActiveLmEvent->iLandmarkId);   
+        iDatabase->UpdateLandmarkL(*landmark);
+        CleanupStack::PopAndDestroy(landmark);
+        }
+    
+    iActiveLmEvent->Start();
+    CActiveScheduler::Start();
+    
+    /////////////////////////////////////////////
+	// Add 3 landmarks and 3 categories #4, #5 #6 #7 
+    /////////////////////////////////////////////
+    
+    for (i=0; i < 3; i++)
+        {
+        CPosLandmark* landmark = CPosLandmark::NewLC();
+        landmark->SetLandmarkNameL(KLmName);  
+        iDatabase->AddLandmarkL(*landmark);
+        CleanupStack::PopAndDestroy(landmark); 
+        }
+    
+    _LIT(KCategoryName, "TP28 Category %d");
+    for (i =0; i < 3; i++)
+        {
+        TBuf<100> name;
+        name.Format(KCategoryName, i);
+        CPosLandmarkCategory* category = CPosLandmarkCategory::NewLC();
+        category->SetCategoryNameL(name);
+        if (i == 0)
+            {
+            iActiveLmEvent->iCategoryId = iCategoryManager->AddCategoryL(*category); 
+            }
+        else
+            {
+            iCategoryManager->AddCategoryL(*category); 
+            }
+        CleanupStack::PopAndDestroy(category); 
+        }
+    
+   
+    iActiveLmEvent->Start();
+    CActiveScheduler::Start();
+  
+    }
+
+
+// -----------------------------------------------------------------------------
+// CActiveLmEvent::NewL
+//
+//(other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+CActiveLmEvent* CActiveLmEvent::NewL(CStifLogger* aLog)
+    {
+    CActiveLmEvent* self = new(ELeave) CActiveLmEvent(aLog);
+    CleanupStack::PushL(self);
+    self->ConstructL();
+    CleanupStack::Pop();
+    return self;
+    }
+
+// -----------------------------------------------------------------------------
+// CActiveLmEvent::ConstructL
+//
+//(other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CActiveLmEvent::ConstructL()
+    {
+    iDatabase = CPosLandmarkDatabase::OpenL();
+    }
+
+// -----------------------------------------------------------------------------
+// CActiveLmEvent::CActiveLmEvent
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+
+CActiveLmEvent::CActiveLmEvent(CStifLogger* aLog) : 
+    CActive(EPriorityNormal),
+    iLog(aLog)
+    {   
+    CActiveScheduler::Add(this);
+    }
+
+// Destructor
+CActiveLmEvent::~CActiveLmEvent()
+    {
+    Cancel();
+    delete iDatabase;
+    iDatabase = NULL;
+    }
+
+// ---------------------------------------------------------
+// CActiveLmEvent::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CActiveLmEvent::Start()                          
+    {
+    iDatabase->NotifyDatabaseEvent(iEvent, iStatus); 
+ 
+    SetActive();
+    }   
+
+// ---------------------------------------------------------
+// CActiveLmEvent::RunL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CActiveLmEvent::RunL()
+    {  
+    
+    if (iQueueTest)
+        {
+        VerifyMergedEvent();
+        }
+    else
+        {
+        VerifyEvent();
+        }
+
+    if (!iQueueTest)
+        {
+        iDatabase->NotifyDatabaseEvent(iEvent, iStatus); 
+        SetActive();
+        }
+    }
+
+// ---------------------------------------------------------
+// CActiveLmOperation::DoCancel
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CActiveLmEvent::DoCancel()
+    {
+    iDatabase->CancelNotifyDatabaseEvent();
+    }
+
+// ---------------------------------------------------------
+// CActiveLmEvent::VerifyEvent
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CActiveLmEvent::VerifyEvent()
+    {
+   
+    iEventNumber++;
+	switch (iEventNumber)
+		{
+					// Added three landmarks
+		case 1:		AssertCorrectEvent(EPosLmEventLandmarkCreated, iEvent.iEventType, iLandmarkId, iEvent.iLandmarkItemId); 
+					break;
+		case 2:		AssertCorrectEvent(EPosLmEventLandmarkCreated, iEvent.iEventType, iLandmarkId2, iEvent.iLandmarkItemId); 
+					break;
+		case 3:		AssertCorrectEvent(EPosLmEventLandmarkCreated, iEvent.iEventType, iLandmarkId3, iEvent.iLandmarkItemId); 
+					break;
+					// Updated landmark
+		case 4:		AssertCorrectEvent(EPosLmEventLandmarkUpdated, iEvent.iEventType, iLandmarkId, iEvent.iLandmarkItemId); 
+					break;
+					// Deleted landmark
+		case 5:		AssertCorrectEvent(EPosLmEventLandmarkDeleted, iEvent.iEventType, iLandmarkId, iEvent.iLandmarkItemId); 
+				    CActiveScheduler::Stop();
+                    break;
+					// Added removed landmark again
+		case 6:		AssertCorrectEvent(EPosLmEventLandmarkCreated, iEvent.iEventType, iLandmarkId4, iEvent.iLandmarkItemId); 
+                    CActiveScheduler::Stop();
+					break;
+					// Deleted several landmarks
+		case 7:		AssertCorrectEvent(EPosLmEventLandmarkUnknownChanges, iEvent.iEventType, 0, iEvent.iLandmarkItemId); 
+					CActiveScheduler::Stop();
+                    break;
+					// Added new category
+		case 8:		AssertCorrectEvent(EPosLmEventCategoryCreated, iEvent.iEventType, iCategoryId, iEvent.iLandmarkItemId); 
+					break;
+					//Updated category
+		case 9:		AssertCorrectEvent(EPosLmEventCategoryUpdated, iEvent.iEventType, iCategoryId, iEvent.iLandmarkItemId); 
+					break;
+					// Deleted non existing category
+		case 10:	AssertCorrectEvent(EPosLmEventCategoryDeleted, iEvent.iEventType, iNonExistingCategoryId, iEvent.iLandmarkItemId); 
+					break;
+					// Deleted existing category
+		case 11:	AssertCorrectEvent(EPosLmEventCategoryDeleted, iEvent.iEventType, iDeleteCategoryId, iEvent.iLandmarkItemId); 
+					CActiveScheduler::Stop();
+                    break;
+					// Deleted several categories
+		case 12:	AssertCorrectEvent(EPosLmEventCategoryUnknownChanges, iEvent.iEventType, 0, iEvent.iLandmarkItemId); 
+					CActiveScheduler::Stop();
+                    break;
+					// Added new category
+		case 13:	AssertCorrectEvent(EPosLmEventCategoryCreated, iEvent.iEventType, iCategoryId2, iEvent.iLandmarkItemId); 
+					break;
+					// Added created category to several landmarks
+		case 14:	AssertCorrectEvent(EPosLmEventLandmarkUnknownChanges, iEvent.iEventType, 0, iEvent.iLandmarkItemId); 
+					CActiveScheduler::Stop();
+                    break;
+					// Removed category from several landmarks
+		case 15:	AssertCorrectEvent(EPosLmEventLandmarkUnknownChanges, iEvent.iEventType, 0, iEvent.iLandmarkItemId); 
+					CActiveScheduler::Stop();
+                    break;
+					// Removed all landmarks
+		case 16:	AssertCorrectEvent(EPosLmEventLandmarkUnknownChanges, iEvent.iEventType, 0, iEvent.iLandmarkItemId); 
+					CActiveScheduler::Stop();				
+					break;
+		default: 
+            iLog->Log(_L("Unexpected event received"));
+            ++iGlobalErr;
+            break;
+        }
+    	
+    }
+
+//---------------------------------------------------------
+// CActiveLmEvent::VerifyMergedEvent
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CActiveLmEvent::VerifyMergedEvent()
+    {
+    ++iMergedEventNumber;    
+    switch (iMergedEventNumber)
+		{
+        case 1:
+            AssertCorrectEvent(
+                            EPosLmEventLandmarkCreated, 
+                            iEvent.iEventType, 
+                            iLandmarkId, 
+                            iEvent.iLandmarkItemId);
+            
+            CActiveScheduler::Stop();
+			break;
+		case 2:
+        case 3:
+            AssertCorrectEvent(
+                            EPosLmEventLandmarkUnknownChanges, 
+                            iEvent.iEventType, 
+                            0, 
+                            iEvent.iLandmarkItemId); 
+            
+            CActiveScheduler::Stop();
+			break;
+        case 4:
+            AssertCorrectEvent(
+                            EPosLmEventLandmarkUnknownChanges, 
+                            iEvent.iEventType, 
+                            0, 
+                            iEvent.iLandmarkItemId); 
+            Start();
+            break;
+        case 5:
+        case 6:
+        case 7:
+            AssertCorrectEvent(EPosLmEventCategoryCreated,
+                            iEvent.iEventType, 
+                            iCategoryId++, 
+                            iEvent.iLandmarkItemId);
+           
+            if (iMergedEventNumber == 7)   
+                {
+                CActiveScheduler::Stop();
+                }
+            else
+                {
+                Start();
+                }
+			break;
+        default: 
+            _LIT(KError,"Unexpected event received, %d\r\n");
+		    TBuf<200> error;
+		    error.Format(KError, iEvent.iEventType);
+		    iLog->Log(error);
+		    iGlobalErr++;
+            Start();
+            break;
+        }
+    }
+
+// ---------------------------------------------------------
+// CActiveLmEvent::AssertCorrectEvent
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CActiveLmEvent::AssertCorrectEvent(
+	TPosLmEventType  aExpectedEventType,
+	TPosLmEventType  aEventType,
+	TPosLmItemId aExpectedLandMarkItemId,
+	TPosLmItemId aLandMarkItemId)
+	{
+	if (aExpectedEventType != aEventType)
+		{
+		_LIT(KError,"Unexpected eventtype. Excpected %d got %d\r\n");
+		TBuf<200> error;
+		error.Format(KError, aExpectedEventType, aEventType);
+		iLog->Log(error);
+		iGlobalErr++;
+		}
+	if (aExpectedLandMarkItemId != aLandMarkItemId)
+		{
+		_LIT(KError,"Unexpected item id. Excpected %d got %d\r\n");
+		TBuf<200> error;
+		error.Format(KError, aExpectedLandMarkItemId, aLandMarkItemId);
+		iLog->Log(error);
+		iGlobalErr++;
+		}
+
+	}
+
+
+// End of file
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTP29.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,1011 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp29.h"
+#include <utfw.h>
+#include <f32file.h>
+#include <EPos_CPosLMCategoryManager.h>
+#include <centralrepository.h>
+#include <UiklafInternalCRKeys.h>
+//#include <eposlmintservices.rsg>
+#include <barsread.h>
+#include <barsc.h>
+#include <bautils.h>
+
+// CONSTANTS
+_LIT(KFile1, "c:\\documents\\Tp29_1.txt");
+_LIT(KFile2, "c:\\documents\\Tp29_2.txt");
+//_LIT(KPosResourceFile, "\\resource\\eposlmintservices.rsc");
+//const TInt KOneK = 1024;
+
+// Size limit defined in "eposlmintservices.rss" to 250 kilobytes (kilo defined as 1024)
+//const TInt KMaxSize = 250000;
+// This is for KFile1, "fill" a file with contents until KSizeLimit1 limit is reached
+const TInt KSizeLimitOffset1 = 350000;
+// This is for KFile2, "fill" a file with contents until KSizeLimit2 limit is reached
+const TInt KSizeLimitOffset2 = 50000; // In bytes: 250000 bytes + 50000 bytes
+_LIT(KInternalServicesResFileRom, "z:\\resource\\eposlmintservices.rsc");
+_LIT(KInternalServicesResFileBackup, "c:\\resource\\copy_of_eposlmintservices.rsc");
+_LIT(KInternalServicesResFileCdrive, "c:\\resource\\eposlmintservices.rsc");
+//_LIT(KInternalServicesLargeResFile, "c:\\system\\test\\testdata\\eposlmintservices_453KB.rsc");
+//_LIT(KInternalServicesSmallResFile, "c:\\system\\test\\testdata\\eposlmintservices_198KB.rsc");
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp29::GetName
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp29::GetName(TDes& aName) const
+    {
+    _LIT(KTestName, "Tp29 - Out of disk");
+    aName = KTestName;
+    }
+
+// ---------------------------------------------------------
+// CPosTp29::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp29::CloseTest()
+    {
+    delete iLandmarksDb;
+    iLandmarksDb = NULL;
+
+    delete iCategoryManager;
+    iCategoryManager = NULL;
+
+    //TryRestoreResourceFile();
+
+    iFile1.Close();
+    iFile2.Close();
+    iFileServer.Delete(KFile1);
+    iFileServer.Delete(KFile2);
+    iFileServer.Close();
+    }
+
+// ---------------------------------------------------------
+// CPosTp29::InitTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp29::InitTestL()
+    {
+    // File setup, create two files
+    User::LeaveIfError(iFileServer.Connect());
+
+    // Try to restore if previous execution of Tp55 panicked or was killed.
+    //TryRestoreResourceFile();
+    }
+
+// ---------------------------------------------------------
+// CPosTp29::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp29::StartL()
+    {
+#ifdef __WINS__
+    _LIT(KNotSupported, "Test case is not supported on WINS, exucute it on target!");
+    LogErrorAndLeave(KNotSupported);
+#else
+    
+    //Retreive threshold from centralrepository
+    CRepository* repository = CRepository::NewLC(KCRUidUiklaf);
+    User::LeaveIfError(repository->Get(KUikOODDiskCriticalThreshold, iCriticalThreshold));
+    CleanupStack::PopAndDestroy(repository);
+
+    TBuf<100> buf;
+    buf.Format(_L("Critical threshold from central repository %d"), iCriticalThreshold);
+    iLog->Put(buf);
+
+    // Test import/export LMs when critical level is set to MLFW defined value.
+    InitiateCriticalLevelL();
+    ReInitTestL();
+    TestCriticalLevelL();
+
+    /*
+    // Test import/export LMs when critical level is set to a large value.
+    iLog->Put(_L("\r\nRedefining critical level to 453 KB and running all tests again...."));
+    CopyResourceFileL(KInternalServicesLargeResFile);
+    InitiateCriticalLevelL();
+    ReInitTestL();
+    TestCriticalLevelL();
+
+    // Test import/export LMs when critical level is set to a small value.
+    iLog->Put(_L("\r\nRedefining critical level to 198 KB and running all tests again...."));
+    CopyResourceFileL(KInternalServicesSmallResFile);
+    InitiateCriticalLevelL();
+    ReInitTestL();
+    TestCriticalLevelL();
+    */
+#endif
+    }
+
+// ---------------------------------------------------------
+// CPosTp29::ReInitTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp29::ReInitTestL()
+    {
+    iGlobalErr = KErrNone;
+    iFile1.Close();
+    iFile2.Close();
+
+    CFileMan* fileMan = CFileMan::NewL(iFileServer);
+    fileMan->Delete(KFile1);
+    fileMan->Delete(KFile2);
+    delete fileMan;
+
+    User::LeaveIfError(iFile1.Create(iFileServer, KFile1, EFileWrite));
+    User::LeaveIfError(iFile2.Create(iFileServer, KFile2, EFileWrite));
+    }
+
+// ---------------------------------------------------------
+// CPosTp29::TestCriticalLevelL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp29::TestCriticalLevelL()
+    {
+
+    TTime startTime;
+    TTime stopTime;
+
+    startTime.UniversalTime();
+
+    RemoveDefaultDbL();
+
+    iLog->Put(_L("CPosLandmarkDatabase::OpenL();"));
+    iLandmarksDb = CPosLandmarkDatabase::OpenL();
+    if (iLandmarksDb->IsInitializingNeeded())
+       {
+       iLog->Put(_L("iLandmarksDb->InitializeL"));
+       ExecuteAndDeleteLD(iLandmarksDb->InitializeL());        
+       }
+
+    iLog->Put(_L("CPosLmCategoryManager::NewL;"));
+    iCategoryManager = CPosLmCategoryManager::NewL(*iLandmarksDb);
+
+    // Asynchronous
+    iLog->Put(_L("DoOutOfDiskTestL Asynchronous"));
+//    iSearchCallback=ETrue;
+    DoOutOfDiskTestL(ETrue);
+  //  iSearchCallback=EFalse;
+
+    // Delete "out-of-disk" file
+    iFile1.Close();
+    iFileServer.Delete(KFile1);
+    iFile2.Close();
+    iFileServer.Delete(KFile2);
+    TInt err = iFile1.Open(iFileServer, KFile1, EFileWrite);
+    if (err == KErrNotFound)
+        {
+        err = iFile1.Create(iFileServer, KFile1, EFileWrite);
+        }
+    User::LeaveIfError(err);
+    
+    err = iFile2.Open(iFileServer, KFile2, EFileWrite);
+    if (err == KErrNotFound)
+        {
+        err = iFile2.Create(iFileServer, KFile2, EFileWrite);
+        }
+    User::LeaveIfError(err);
+
+    // Synchronous
+    iLog->Put(_L("DoOutOfDiskTestL Synchronous"));
+    DoOutOfDiskTestL(EFalse);
+
+    stopTime.UniversalTime();
+    TTimeIntervalMicroSeconds executionTime = 
+        stopTime.MicroSecondsFrom(startTime);
+
+    //TInt64 resse = executionTime.Int64()/1000000;
+
+    TInt resse = executionTime.Int64()/1000000;
+
+    TBuf<50> buf;
+    buf.Zero();
+    buf.Format(_L("TP29 took %d seconds"), resse);
+    iLog->Put(buf);
+    }
+
+// ---------------------------------------------------------
+// CPosTp29::DoOutOfDiskTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp29::DoOutOfDiskTestL(TBool aSync)
+    {
+    TVolumeInfo volumeInfo;
+    TBuf<200> buf;
+    CPosLmOperation* op = NULL;
+
+    _LIT(KUID,"Unique ID: %08x\r\n");
+	_LIT(KSize,"Size: %d bytes\r\n");
+	_LIT(KFree,"Free space: %d bytes\r\n");
+	//_LIT(KVolName,"Volume name: %S\r\n");
+
+    TInt err=iFileServer.Volume(volumeInfo, EDriveC);
+    if (err != KErrNone) iLog->Put(_L("Error from iFileServer"));
+
+    buf.AppendFormat(KUID, volumeInfo.iUniqueID);
+	buf.AppendFormat(KSize, volumeInfo.iSize);
+	buf.AppendFormat(KFree, volumeInfo.iFree);
+	//buf.AppendFormat(KVolName, &volumeInfo.iName);
+    iLog->Put(buf);
+
+    TTime startTime;
+    TTime stopTime;
+
+    // Just in case
+    ExecuteAndDeleteLD(iLandmarksDb->CompactL());
+
+    RArray<TPosLmItemId> lmIdArray;
+    CleanupClosePushL(lmIdArray);
+
+    // 1) Create a low disc space situation
+    startTime.UniversalTime();
+    ConsumeDiscSpace1L(iCriticalLevel + KSizeLimitOffset1);
+    ConsumeDiscSpace2L(iCriticalLevel + KSizeLimitOffset2);
+    
+    err=iFileServer.Volume(volumeInfo, EDriveC);
+    if (err != KErrNone) iLog->Put(_L("Error from iFileServer"));
+    buf.AppendFormat(KUID, volumeInfo.iUniqueID);
+	buf.AppendFormat(KSize, volumeInfo.iSize);
+	buf.AppendFormat(KFree, volumeInfo.iFree);
+    iLog->Put(buf);
+
+    stopTime.UniversalTime();
+    TTimeIntervalMicroSeconds executionTime = 
+        stopTime.MicroSecondsFrom(startTime);
+
+    TInt resse = executionTime.Int64()/1000000;
+    buf.Zero();
+    buf.Format(_L("ConsumeDiscSpaceL took %d seconds"), resse);
+    iLog->Put(buf);
+
+    // 2) Add Landmarks until "disk full" error occur
+    if (iLandmarksDb->IsInitializingNeeded())
+        {
+        iLog->Put(_L("InitializeL"));
+        // Synchronous 
+        ExecuteAndDeleteLD(iLandmarksDb->InitializeL());        
+        }
+
+    CPosLandmark* landmark = CPosLandmark::NewLC();
+    landmark->SetLandmarkNameL(_L("LandMarkName1"));
+    iLog->Put(_L("Adding landmark1"));
+    lmIdArray.Append(iLandmarksDb->AddLandmarkL(*landmark));
+    CleanupStack::Pop(landmark);
+
+    landmark = CPosLandmark::NewLC();
+    landmark->SetLandmarkNameL(_L("LandMarkName2"));
+    iLog->Put(_L("Adding landmark2"));
+    lmIdArray.Append(iLandmarksDb->AddLandmarkL(*landmark));
+    CleanupStack::Pop(landmark);
+    err = KErrNone;
+    TPosLmItemId idde;
+    TInt i=0;
+    
+    startTime.UniversalTime();
+    iLog->Put(_L("Adding landmark until KErrDiskFull.....1"));
+    // some while loop adding landmarks here until "disk full" error occur!!!
+    while (err != KErrDiskFull)
+        {
+        buf.Zero();
+        buf.Format(_L("Land Mark___________%d"), i++);
+        landmark = CPosLandmark::NewLC();
+        landmark->SetLandmarkNameL(buf);
+        TRAP(err, idde = iLandmarksDb->AddLandmarkL(*landmark));
+        if (err == KErrNone)
+            {
+            lmIdArray.Append(idde);
+            }
+        else if (err == KErrLocked) 
+            {
+            iLog->Put(_L("KErrLocked when adding 1"));
+            User::After(100000);
+            }
+        CleanupStack::Pop(landmark);
+        }
+    stopTime.UniversalTime();
+    executionTime = stopTime.MicroSecondsFrom(startTime);
+    resse = executionTime.Int64()/1000000;
+    buf.Zero();
+    buf.Format(_L("Added %d nr of landmarks, took %d seconds"), i, resse);
+    iLog->Put(buf);
+
+    // Check that the filesize limit has not been exceeded 
+    err=iFileServer.Volume(volumeInfo, EDriveC);
+    buf.Zero();
+	buf.AppendFormat(KFree, volumeInfo.iFree);
+    iLog->Put(buf);
+    if (volumeInfo.iFree < iCriticalLevel)
+        {
+        LogErrorAndLeave(_L("The max size limit has been exceeded!!!"));
+        }
+
+    //Check that the added landmarks can be read
+    iLog->Put(_L("Check that it is possible to read landmark"));
+    TInt nrOfLandmarks = lmIdArray.Count();
+    TInt p=0;
+    for (p=0;p<nrOfLandmarks;p++)
+        {
+        landmark = iLandmarksDb->ReadLandmarkLC(lmIdArray[p]);
+        CleanupStack::Pop(landmark);
+        }
+
+    // 3) Remove two landmarks and compress landmarks db
+    TInt nr = lmIdArray.Count()-1;
+    TPosLmItemId id = lmIdArray[nr];
+    iLog->Put(_L("Removing landmark1"));
+    lmIdArray.Remove(nr);
+    TRAP(err, iLandmarksDb->RemoveLandmarkL(id));
+    if (err == KErrDiskFull) 
+        {
+        ExecuteAndDeleteLD(iLandmarksDb->CompactL());
+
+        iLandmarksDb->RemoveLandmarkL(id);
+        iLog->Put(_L("DiskFull when removing1"));
+        }
+
+    nr = lmIdArray.Count() - 1;
+    id = lmIdArray[nr];
+    iLog->Put(_L("Removing landmark2"));
+    lmIdArray.Remove(nr);
+    iLandmarksDb->RemoveLandmarkL(id);
+    TRAP(err, iLandmarksDb->RemoveLandmarkL(id));
+    if (err == KErrDiskFull) 
+        {
+        ExecuteAndDeleteLD(iLandmarksDb->CompactL());
+        
+        iLandmarksDb->RemoveLandmarkL(id);
+        iLog->Put(_L("DiskFull when removing2"));
+        }
+    err = KErrNone;
+    iLog->Put(_L("Compacting"));
+    ExecuteAndDeleteLD(iLandmarksDb->CompactL());
+    
+    startTime.UniversalTime();
+    iLog->Put(_L("Adding landmark until KErrDiskFull.....2"));
+    // 4) Add landmarks until "disk full" error occur!!!
+    while (err != KErrDiskFull)
+        {
+        buf.Zero();
+        buf.Format(_L("Land Mark___________%d"), i++);
+        landmark = CPosLandmark::NewLC();
+        landmark->SetLandmarkNameL(buf);
+        //iLog->Put(_L("Adding landmark id to idArray"));
+        TRAP(err, idde = iLandmarksDb->AddLandmarkL(*landmark));
+        if (err == KErrNone)
+            {
+            lmIdArray.Append(idde);
+            }
+        else if (err == KErrLocked) 
+            {
+            iLog->Put(_L("KErrLocked when adding 2"));
+            User::After(100000);
+            }
+        CleanupStack::Pop(landmark);
+        }
+
+    stopTime.UniversalTime();
+    executionTime = stopTime.MicroSecondsFrom(startTime);
+    resse = executionTime.Int64()/1000000;
+    buf.Zero();
+    buf.Format(_L("Added %d nr of landmarks, took %d seconds"), i, resse);
+    iLog->Put(buf);
+
+    iLog->Put(_L("Check that it is possible to read landmark"));
+    //Check that the added landmarks can be read
+    nrOfLandmarks = lmIdArray.Count();
+    for (p=0;p<nrOfLandmarks;p++)
+        {
+        landmark = iLandmarksDb->ReadLandmarkLC(lmIdArray[p]);
+        CleanupStack::Pop(landmark);
+        }
+
+    iLog->Put(_L("Remove all landmarks"));
+    err = KErrNone;
+    // 5) Remove all landmarks and compact database
+    if (!aSync)
+        {
+        TRAP(err, op = iLandmarksDb->RemoveAllLandmarksL());
+        if (err == KErrNone) 
+            {
+            ExecuteAndDeleteLD(op);
+            }
+        else if (err == KErrDiskFull)
+            {
+            iLog->Put(_L("KErrDiskFull when removing all landmarks"));
+            ExecuteAndDeleteLD(iLandmarksDb->CompactL());
+            
+            // Delete KFile2 to free more space on disc, method also open connection to iFile2 again
+            DeleteFile2L();
+
+            iLog->Put(_L("Removing after Compact sync"));
+            TRAP(err, op = iLandmarksDb->RemoveAllLandmarksL());
+            if (err == KErrDiskFull)
+                {
+                iLog->Put(_L("KErrDiskFull when Removing all landmarks after compact1"));
+                RemoveAllLandmarksL();
+                }
+            else
+                {
+                ExecuteAndDeleteLD(op);
+                }
+            }
+        }
+    else
+        {
+        iLog->Put(_L("Before RemoveAllLandmarksL(this)"));
+        TRAP(err, op = iLandmarksDb->RemoveAllLandmarksL());
+        
+        if (err == KErrNone) 
+            {
+            //***iActiveSchedulerWait->Start();
+            //***delete op; op=NULL;
+            RunAsyncOperationLD(op);
+            }
+        else if (err == KErrDiskFull)
+            {
+            iLog->Put(_L("KErrDiskFull when removing all landmarks"));
+            ExecuteAndDeleteLD(iLandmarksDb->CompactL());
+            
+            // Delete KFile2 to free more space on disc, method also open connection to iFile2 again
+            DeleteFile2L();
+
+            iLog->Put(_L("Removing after Compact async"));
+            TRAP(err, op = iLandmarksDb->RemoveAllLandmarksL());
+            if (err == KErrDiskFull)
+                {
+                iLog->Put(_L("KErrDiskFull when removing all landmarks after compact2"));
+                RemoveAllLandmarksL();
+                }
+            else
+                {
+                //***iActiveSchedulerWait->Start();
+                //***delete op; op=NULL;
+                RunAsyncOperationLD(op);
+                }
+            }
+        iLog->Put(_L("After RemoveAllLandmarksL(this)"));
+        }
+    
+    ConsumeDiscSpace2L(iCriticalLevel + KSizeLimitOffset2);
+
+    if (err == KErrDiskFull) iLog->Put(_L("KErrDiskFull when RemoveAllLandmarksL"));
+    iLog->Put(_L("Compacting"));
+    ExecuteAndDeleteLD(iLandmarksDb->CompactL());
+    
+    lmIdArray.Reset();
+    i=0;
+    err = KErrNone;
+    startTime.UniversalTime();
+    iLog->Put(_L("Adding landmarkcategories until KErrDiskFull....."));
+
+    // 6) Add LandmarkCategories until "disk full" error occur
+    while (err != KErrDiskFull)
+        {
+        buf.Zero();
+        buf.Format(_L("Landmark Category _________ %d"), i++);
+        CPosLandmarkCategory* lmc = CPosLandmarkCategory::NewLC();
+        lmc->SetCategoryNameL(buf);
+        lmc->SetIconL(_L("Pelles Icon"), 111, KPosLmIconMaskNotUsed);
+
+        TRAP(err, idde = iCategoryManager->AddCategoryL(*lmc));
+        if (err == KErrNone)
+            {
+            lmIdArray.Append(idde);
+            }
+        else if (err== KErrLocked)
+            {
+            iLog->Put(_L("KErrLocked when adding category"));
+            User::After(100000);
+            }
+        CleanupStack::PopAndDestroy(lmc);
+        }
+
+    stopTime.UniversalTime();
+    executionTime = stopTime.MicroSecondsFrom(startTime);
+
+    resse = executionTime.Int64()/1000000;
+    buf.Zero();
+    buf.Format(_L("Added %d nr of landmarkcategories, took %d seconds"), i, resse);
+    iLog->Put(buf);
+
+    //Check that the added landmarkcategories can be read
+    TInt nrOfCategories = lmIdArray.Count();
+    for (p=0;p<nrOfCategories;p++)
+        {
+        CPosLandmarkCategory* lmc = iCategoryManager->ReadCategoryLC(lmIdArray[p]);
+        CleanupStack::Pop(lmc);
+        }
+
+    // 7) Remove two categories and compress landmarks db
+    nr = lmIdArray.Count()-1;
+    id = lmIdArray[nr];
+    iLog->Put(_L("Removing landmarkcategory1"));
+    lmIdArray.Remove(nr);
+    op=NULL;
+    TRAP(err, op = iCategoryManager->RemoveCategoryL(id));
+    if (err == KErrDiskFull)
+        {
+        ExecuteAndDeleteLD(iLandmarksDb->CompactL());
+        ExecuteAndDeleteLD(iCategoryManager->RemoveCategoryL(id));
+        iLog->Put(_L("KErrDiskFull when removing landmarkcategory1"));
+        }
+
+    if (err == KErrNone)
+        {
+        ExecuteAndDeleteLD(op);
+        }
+    else
+        {
+        delete op;
+        op = NULL;
+        }
+
+    TBuf<50> buffe;
+    buffe.Format(_L("1) Err after RemoveCategoryL: %d"), err);
+    iLog->Put(buffe);
+
+    nr = lmIdArray.Count()-1;
+    id = lmIdArray[nr];
+    iLog->Put(_L("Removing landmarkcategory2"));
+    lmIdArray.Remove(nr);
+
+    if (!aSync)
+        {
+        TRAP(err, op = iCategoryManager->RemoveCategoryL(id));
+        if (err == KErrDiskFull)
+            {
+            delete op;
+            op = NULL;
+            iLog->Put(_L("KErrDiskFull when removing landmarkcategory2"));
+            ExecuteAndDeleteLD(iLandmarksDb->CompactL());
+            
+            iLog->Put(_L("After compact before removing landmarkcategory2"));
+            ExecuteAndDeleteLD(iCategoryManager->RemoveCategoryL(id));
+            }
+        else if (err == KErrNone)
+            {
+            ExecuteAndDeleteLD(op);
+            }
+        else if (err == KErrLocked)
+            {
+            iLog->Put(_L("KErrLocked returned from iCategoryManager->RemoveCategoryL"));
+            delete op;
+            op = NULL;
+            }
+        } 
+    else
+        {
+        TRAP(err, op = iCategoryManager->RemoveCategoryL(id));
+        if (err == KErrNone)
+            {
+            //***iActiveSchedulerWait->Start();
+            //***delete op;
+            RunAsyncOperationLD(op);
+            }
+        else if (err == KErrDiskFull)
+            {
+            delete op;
+            op = NULL;
+            iLog->Put(_L("KErrDiskFull when removing landmarkcategory2 async"));
+            ExecuteAndDeleteLD(iLandmarksDb->CompactL());
+            
+            iLog->Put(_L("After compact before removing landmarkcategory2 async"));
+            op = iCategoryManager->RemoveCategoryL(id);
+            
+            //***iActiveSchedulerWait->Start();
+            //***delete op;
+            RunAsyncOperationLD(op);
+            }
+        else if (err == KErrLocked)
+            {
+            delete op;
+            op = NULL;
+            iLog->Put(_L("KErrLocked returned from iCategoryManager->RemoveCategoryL"));
+            }
+        }
+
+    buffe.Zero();
+    buffe.Format(_L("2) Err after RemoveCategoryL: %d"), err);
+    iLog->Put(buffe);
+
+    iLog->Put(_L("Compacting"));
+    ExecuteAndDeleteLD(iLandmarksDb->CompactL());
+    iLog->Put(_L("After Compacting"));
+    
+    lmIdArray.Reset();
+    i=0;
+    err = KErrNone;
+
+    startTime.UniversalTime();
+    // 8) Add LandmarkCategories until "disk full" error occur
+    while (err != KErrDiskFull)
+        {
+        buf.Zero();
+        buf.Format(_L("LandmarkCategory %d"), i++);
+
+        CPosLandmarkCategory* lmc = CPosLandmarkCategory::NewLC();
+        lmc->SetCategoryNameL(buf);
+        lmc->SetIconL(_L("PellesIcon"), 111, KPosLmIconMaskNotUsed);
+        iLog->Put(buf);
+        
+        TRAP(err, idde = iCategoryManager->AddCategoryL(*lmc));
+        if (err == KErrNone)
+            {
+            lmIdArray.Append(idde);
+            }
+        else if (err == KErrLocked)
+            {
+            iLog->Put(_L("KerrLocked when addCategory"));
+            User::After(100000);
+            }
+        CleanupStack::PopAndDestroy(lmc); 
+    }
+    stopTime.UniversalTime();
+    executionTime = stopTime.MicroSecondsFrom(startTime);
+
+    resse = executionTime.Int64()/1000000;
+    buf.Zero();
+    buf.Format(_L("Added %d nr of landmarkcategories, took %d seconds"), i, resse);
+    iLog->Put(buf);
+
+    // 9) Remove all categories and compact db
+    // sync method
+    // XXXX add async check here
+    iLog->Put(_L("Removing all categories"));
+    TRAP(err, iCategoryManager->RemoveCategoriesL(lmIdArray));
+    if (err == KErrDiskFull) iLog->Put(_L("KErrDiskFull when RemoveCategoriesL"));
+    iLog->Put(_L("Compacting"));
+    ExecuteAndDeleteLD(iLandmarksDb->CompactL());
+    
+
+    // 10) Consume more space then the limit specified in resource file
+    ConsumeDiscSpace1L(iCriticalLevel - KSizeLimitOffset2);
+
+    // 11) Try to add a landmark
+    buf.Zero();
+    buf.Format(_L("LandMark%d"), i++);
+    landmark = CPosLandmark::NewLC();
+    landmark->SetLandmarkNameL(buf);
+
+    TRAP(err, idde = iLandmarksDb->AddLandmarkL(*landmark));
+    if (err != KErrDiskFull)
+        {
+        buf.Zero();
+        buf.Format(_L("Should leave with KErrDiskFull instead %d"), err);
+        //LogErrorAndLeave(buf);
+        LogErrorAndLeave(buf);
+        }
+    CleanupStack::PopAndDestroy(landmark);
+    CleanupStack::PopAndDestroy(&lmIdArray);
+    }
+
+
+// ---------------------------------------------------------
+// CPosTp29::RemoveAllLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp29::RemoveAllLandmarksL()
+    {
+    iLog->Put(_L("CPosTp29::RemoveAllLandmarksL"));
+    CPosLmItemIterator* iter = iLandmarksDb->LandmarkIteratorL();
+    CleanupStack::PushL(iter);
+
+    TInt counter=0;
+    TTime startTime;
+    TTime stopTime;
+    TPosLmItemId id = iter->NextL();
+
+    startTime.UniversalTime();
+
+    while (id != KPosLmNullItemId)
+        {
+        TRAPD(err, iLandmarksDb->RemoveLandmarkL(id));
+        if (err == KErrDiskFull)
+            {
+            ExecuteAndDeleteLD(iLandmarksDb->CompactL());
+            
+            iLog->Put(_L(":-( DiskFull when removing single landmark entry !!!"));
+            iLandmarksDb->RemoveLandmarkL(id);
+            }
+        else if (err == KErrLocked)
+            {
+            iLog->Put(_L("KErrLocked when removing landmark"));
+            User::After(100000);
+            }
+        id = iter->NextL();
+        counter++;
+        }
+
+    stopTime.UniversalTime();
+    TTimeIntervalMicroSeconds executionTime = 
+        stopTime.MicroSecondsFrom(startTime);
+
+    TInt64 resse = executionTime.Int64()/1000000;
+    TBuf<50> buf;
+    buf.Zero();
+    buf.Format(_L("Removing %d nr of landmarks, took %d seconds"), counter, resse);
+    iLog->Put(buf);
+
+    CleanupStack::PopAndDestroy(iter);
+    }
+
+// ---------------------------------------------------------
+// CPosTp29::DeleteFile2L
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp29::DeleteFile2L()
+    {
+    iFile2.Close();
+    iFileServer.Delete(KFile2);
+    TInt err = iFile2.Open(iFileServer, KFile2, EFileWrite);
+    if (err == KErrNotFound)
+        {
+        err = iFile2.Create(iFileServer, KFile2, EFileWrite);
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp29::ConsumeDiscSpace1L
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp29::ConsumeDiscSpace1L(TInt aSizeLimit)
+    {
+    TInt err = KErrNone;
+
+    // Approx 2160 bytes
+    _LIT8(KNonsense, "nonsensenonsensenonsensenonsensenonsensenon \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+sensenonsensenonsensenonsensenonsensenonsensenonsense");
+
+    TVolumeInfo volumeInfo;
+    err=iFileServer.Volume(volumeInfo, EDriveC);
+
+    // Fill file fast
+    HBufC8* bigBuf = (&KNonsense)->AllocLC();
+    while (volumeInfo.iFree > aSizeLimit)
+        {
+        err = iFile1.Write(*bigBuf);
+        if (err != KErrNone) iLog->Put(_L("Problem writing"));
+        err = iFileServer.Volume(volumeInfo, EDriveC);
+        if (err != KErrNone) iLog->Put(_L("Problem voluming"));
+        }
+
+    CleanupStack::PopAndDestroy(1); // bigBuf
+    }
+
+// ---------------------------------------------------------
+// CPosTp29::ConsumeDiscSpace2L
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp29::ConsumeDiscSpace2L(TInt aSizeLimit)
+    {
+    iLog->Put(_L("ConsumeDiscSpace2L"));
+    TInt err = KErrNone;
+
+    // Approx 2160 bytes
+    _LIT8(KNonsense, "nonsensenonsensenonsensenonsensenonsensenon \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense \
+sensenonsensenonsensenonsensenonsensenonsensenonsense");
+
+    TVolumeInfo volumeInfo;
+    err=iFileServer.Volume(volumeInfo, EDriveC);
+
+    // Fill file fast
+    HBufC8* bigBuf = (&KNonsense)->AllocLC();
+    while (volumeInfo.iFree > aSizeLimit)
+        {
+        err = iFile2.Write(*bigBuf);
+        if (err != KErrNone) iLog->Put(_L("Problem writing"));
+        err = iFileServer.Volume(volumeInfo, EDriveC);
+        if (err != KErrNone) iLog->Put(_L("Problem voluming"));
+        }
+
+    CleanupStack::PopAndDestroy(1); // bigBuf
+    }
+
+// ---------------------------------------------------------
+// CPosTp29::InitiateCriticalLevelL
+// Extracts Critical Dsik Level. (value is extracted from an MLFW 
+// resource file that can reside on any drive)
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//	
+void CPosTp29::InitiateCriticalLevelL()
+    {
+    iLog->Put(_L("InitiateCriticalLevelL"));
+    /*
+    // Find drive that the resource file resides on.
+    TFindFile* filefinder = new (ELeave) TFindFile(iFileServer);
+    CleanupStack::PushL(filefinder);
+    TParse* fileparser = new (ELeave) TParse;
+    CleanupStack::PushL(fileparser);
+    fileparser->Set(KPosResourceFile, NULL, NULL);
+    User::LeaveIfError(
+        filefinder->FindByDir(fileparser->NameAndExt(), fileparser->DriveAndPath()));
+
+    // Open resource file
+    RResourceFile resFile;
+    resFile.OpenL(iFileServer, filefinder->File());
+    CleanupClosePushL(resFile);
+
+    // Allocate the critical level as a buffer
+    //TInt R_POS_LANDMARK_INTERNAL_CRITICAL_DISK_LEVEL = 250;
+    HBufC8* resourceBuffer = resFile.AllocReadLC(iCriticalThreshold);
+
+    // Convert the buffer to an int
+    TResourceReader resReader;
+    resReader.SetBuffer(resourceBuffer);
+    iCriticalLevel = KOneK * resReader.ReadInt16();
+    CleanupStack::PopAndDestroy(4, filefinder);
+    */
+    
+    //iCriticalLevel = iCriticalThreshold * KOneK;
+    iCriticalLevel = iCriticalThreshold;
+    
+    TBuf<50> msg;
+    msg.Format(_L("CriticalLevel = %d"), iCriticalLevel);
+    iLog->Put(msg);
+    }
+
+// ---------------------------------------------------------
+// CPosTp29::CopyResourceFileL
+// 
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp29::CopyResourceFileL(const TDesC& aResourceFile)
+    {
+    // Release all landmark references to make DLLs be unloaded.
+    delete iLandmarksDb;
+    iLandmarksDb = NULL;
+
+    CFileMan* fileMan = CFileMan::NewL(iFileServer);
+    CleanupStack::PushL(fileMan);
+    
+    // Check if landmark is flashed
+     if (!BaflUtils::FileExists(iFileServer, KInternalServicesResFileRom))
+        {
+         iLog->Put(_L("Landmark is NOT flashed, backing up eposlmintservices.rsc by renaming it bofore copying rsc-file."));
+        // Landmark FW is not flashed. Rename the file before copying an own defiend file.
+        // Since landmark FW is not flashed the file should exist hence leaving if it is not found!
+         User::LeaveIfError(fileMan->Rename(KInternalServicesResFileCdrive, KInternalServicesResFileBackup, CFileMan::EOverWrite));
+        }
+     else
+        {
+        iLog->Put(_L("Landmark framework is flashed, copying global categories to c:"));
+        }
+
+    User::LeaveIfError(fileMan->Copy(aResourceFile, KInternalServicesResFileCdrive, CFileMan::EOverWrite));
+ 
+    CleanupStack::PopAndDestroy(fileMan);
+    }
+
+// ---------------------------------------------------------
+// CPosTp29::TryRestoreResourceFile
+// 
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp29::TryRestoreResourceFile()
+    {
+    iLog->Put(_L("TryRestoreResourceFile"));
+    CFileMan* fileMan = NULL;
+    TRAPD(err, fileMan = CFileMan::NewL(iFileServer));
+    User::LeaveIfError(err);
+    if (fileMan)
+        {
+        // Try to restore the backup up rsc-file (only possible when LM FW is not flashed.
+        TInt result = fileMan->Copy(KInternalServicesResFileBackup, KInternalServicesResFileCdrive, CFileMan::EOverWrite);
+        if (result == KErrNotFound)
+            {
+            if (BaflUtils::FileExists(iFileServer, KInternalServicesResFileRom))
+                {
+                // LM FW is flashed. We need to remove the rsc-file on c:
+                fileMan->Delete(KInternalServicesResFileCdrive);
+                }
+            }
+        delete fileMan;
+        }
+    }
+
+// End of file
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTP54.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,536 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp54.h"
+#include "FT_LandmarkConstants.h"
+#include <EPos_CPosLmTextCriteria.h>
+#include <EPos_CPosLmOperation.h>
+#include <utfw.h>
+#include <e32math.h>
+
+
+#include <LbsPosition.h>
+
+// CONSTANTS
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp54::GetName
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp54::GetName(TDes& aName) const
+    {
+    _LIT(KTestName, "TP54 - Sorted DB Iterator");
+    aName = KTestName;
+    }
+
+// ---------------------------------------------------------
+// CPosTp54::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp54::CloseTest()
+    {
+    iLog->Put(_L("CloseTest"));
+    delete iDatabase;
+    iDatabase = NULL;
+    }
+
+// ---------------------------------------------------------
+// CPosTp54::InitTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp54::InitTestL()
+    {
+    }
+
+// ---------------------------------------------------------
+// CPosTp54::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp54::StartL()
+    {
+    // All times in this test are measured in milliseconds
+    TBool wholeTestSuccessful = ETrue;
+    TBool subTestSuccessful;
+    TBool isSorted = ETrue;
+    TBool isSynch = ETrue;
+    TInt nrOfLms = 1000;
+    TInt64 execTime;
+    TInt64 maxExecTime;
+/*
+Use function below for creating landmark dbs with 1000 and 5000 landmarks
+Note: Only name and position is set
+
+/*
+CreateLargeDbs(1000);
+CleanupStack::PopAndDestroy();
+
+CreateLargeDbs(5000);
+CleanupStack::PopAndDestroy();
+*/
+
+// Measure 1000 sorted landmarks synchronously
+    iLog->Put(_L("\nTesting retrieving 1000 sorted landmarks using LandmarkIteratorL()"));
+    maxExecTime = 5000;
+    RecreateDatabaseL(K1000LandmarksDb);
+    execTime = ExecutionTimeSynchL(isSorted);
+    subTestSuccessful = VerifyResult(execTime, nrOfLms, isSorted, maxExecTime, isSynch);
+    if (wholeTestSuccessful)
+        {
+// We are not allowed to leave because of this. Error report ESLI-653HBG was ignored
+//        wholeTestSuccessful = subTestSuccessful;
+        }
+
+// Measure 1000 unsorted landmarks synchronously
+    iLog->Put(_L("\nTesting retrieving 1000 unsorted landmarks using LandmarkIteratorL()"));
+    maxExecTime = 1000;
+    RecreateDatabaseL(K1000LandmarksDb);
+    execTime = ExecutionTimeSynchL(!isSorted);
+    subTestSuccessful = VerifyResult(execTime, nrOfLms, !isSorted, maxExecTime, isSynch);
+    if (wholeTestSuccessful)
+        {
+// We are not allowed to leave because of this. Error report ESLI-653HBG was ignored
+//        wholeTestSuccessful = subTestSuccessful;
+        }
+
+// Measure 5000 sorted landmarks synchronously
+    iLog->Put(_L("\nTesting retrieving 5000 sorted landmarks using LandmarkIteratorL()"));
+    nrOfLms = 5000;
+    maxExecTime = 10000;
+    RecreateDatabaseL(K5000LandmarksDb);
+    execTime = ExecutionTimeSynchL(isSorted);
+    subTestSuccessful = VerifyResult(execTime, nrOfLms, isSorted, maxExecTime, isSynch);
+    if (wholeTestSuccessful)
+        {
+// We are not allowed to leave because of this. Error report ESLI-653HBG was ignored
+//        wholeTestSuccessful = subTestSuccessful;
+        }
+
+// Measure 5000 unsorted landmarks synchronously
+    iLog->Put(_L("\nTesting retrieving 5000 unsorted landmarks using LandmarkIteratorL()"));
+    maxExecTime = 5000;
+    RecreateDatabaseL(K5000LandmarksDb);
+    execTime = ExecutionTimeSynchL(!isSorted);
+    subTestSuccessful = VerifyResult(execTime, nrOfLms, !isSorted, maxExecTime, isSynch);
+    if (wholeTestSuccessful)
+        {
+// We are not allowed to leave because of this. Error report ESLI-653HBG was ignored
+//        wholeTestSuccessful = subTestSuccessful;
+        }
+
+// Measure 1000 sorted landmarks asynchronously
+    iLog->Put(_L("\nTesting retrieving 1000 sorted landmarks using the search API"));
+    nrOfLms = 1000;
+    maxExecTime = 5000;
+    RecreateDatabaseL(K1000LandmarksDb);
+    execTime = ExecutionTimeAsynchL(isSorted);
+    subTestSuccessful = VerifyResult(execTime, nrOfLms, isSorted, maxExecTime, !isSynch);
+    
+    if (wholeTestSuccessful)
+        {
+        wholeTestSuccessful = subTestSuccessful;
+        }
+
+// Measure 1000 unsorted landmarks asynchronously
+    iLog->Put(_L("\nTesting retrieving 1000 unsorted landmarks using the search API"));
+    maxExecTime = 1000;
+    RecreateDatabaseL(K1000LandmarksDb);
+    execTime = ExecutionTimeAsynchL(!isSorted);
+    subTestSuccessful = VerifyResult(execTime, nrOfLms, !isSorted, maxExecTime, !isSynch);
+    if (wholeTestSuccessful)
+        {
+        wholeTestSuccessful = subTestSuccessful;
+        }
+
+// Measure 5000 sorted landmarks asynchronously
+    iLog->Put(_L("\nTesting retrieving 5000 sorted landmarks using the search API"));
+    nrOfLms = 5000;
+    maxExecTime = 10000;
+    RecreateDatabaseL(K5000LandmarksDb);
+    execTime = ExecutionTimeAsynchL(isSorted);
+    subTestSuccessful = VerifyResult(execTime, nrOfLms, isSorted, maxExecTime, !isSynch);
+    if (wholeTestSuccessful)
+        {
+        wholeTestSuccessful = subTestSuccessful;
+        }
+
+// Measure 5000 unsorted landmarks asynchronously
+    iLog->Put(_L("\nTesting retrieving 5000 unsorted landmarks using the search API"));
+    maxExecTime = 5000;
+    RecreateDatabaseL(K5000LandmarksDb);
+    execTime = ExecutionTimeAsynchL(!isSorted);
+    subTestSuccessful = VerifyResult(execTime, nrOfLms, !isSorted, maxExecTime, !isSynch);
+    if (wholeTestSuccessful)
+        {
+        wholeTestSuccessful = subTestSuccessful;
+        }
+
+    if (!wholeTestSuccessful)
+        {
+        User::Leave(KErrGeneral);
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp54::ExecutionTimeSynchL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt64 CPosTp54::ExecutionTimeSynchL(TBool aIsSorted)
+    {
+    TTime startTime;
+    TTime stopTime;
+    CPosLmItemIterator* iterator = NULL;
+
+    if (aIsSorted)
+        {
+        TPosLmSortPref sortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+
+        // The method to measure
+        startTime.UniversalTime();
+        iterator = iDatabase->LandmarkIteratorL(sortPref);
+        stopTime.UniversalTime();
+        }
+    else 
+        {
+        // The method to measure
+        startTime.UniversalTime();
+        iterator = iDatabase->LandmarkIteratorL();
+        stopTime.UniversalTime();
+        }
+    delete iterator;
+
+    TTimeIntervalMicroSeconds execTime = 
+        stopTime.MicroSecondsFrom(startTime);
+    return execTime.Int64() / 1000; // return execution time in milliseconds
+    }
+
+// ---------------------------------------------------------
+// CPosTp54::ExecutionTimeAsynchL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt64 CPosTp54::ExecutionTimeAsynchL(TBool aIsSorted)
+    {
+    // Create a landmark searcher
+    CPosLandmarkSearch* lmSearcher = CPosLandmarkSearch::NewL(*iDatabase);
+    CleanupStack::PushL(lmSearcher);
+
+    // Create search criteria, search by name.
+    CPosLmTextCriteria* searchCriteria = CPosLmTextCriteria::NewLC();
+    searchCriteria->SetTextL(_L("*"));
+    searchCriteria->SetAttributesToSearch(CPosLandmark::ELandmarkName);
+
+    CPosLmOperation* searchOp = NULL;
+    if (aIsSorted)
+        {
+        // Create search operation, sort ascending by name
+        TPosLmSortPref sortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+        searchOp = lmSearcher->StartLandmarkSearchL(*searchCriteria, sortPref);
+        }
+    else 
+        {
+        // Create search operation, without sorting
+        searchOp = lmSearcher->StartLandmarkSearchL(*searchCriteria);
+        }
+
+    TInt res(0);
+    TTimeIntervalMicroSeconds longestExecTimeSoFar = ExecuteLmOp(searchOp, res);
+    AssertTrueSecL(res == KErrNone, _L("Searching did not result in KErrNone but in %d."), res);
+
+    // Get the iterator
+    TTime startTime, stopTime;
+    startTime.UniversalTime();
+    CPosLmItemIterator* iterator = lmSearcher->MatchIteratorL();
+    stopTime.UniversalTime();
+    delete iterator;
+
+    TTimeIntervalMicroSeconds execTime = stopTime.MicroSecondsFrom(startTime);
+    if (execTime > longestExecTimeSoFar)
+        {
+        longestExecTimeSoFar = execTime;
+        }
+    
+    CleanupStack::PopAndDestroy(2, lmSearcher);
+    return longestExecTimeSoFar.Int64() / 1000; // return execution time in milliseconds
+    }
+
+// ---------------------------------------------------------
+// CPosTp54::VerifyResult
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TBool CPosTp54::VerifyResult(
+    TInt64 aExecTime, 
+    TInt aNrOfLandmarks, 
+    TBool aSorted, 
+    TInt64 aLimit, 
+    TBool aSynch)
+    {
+    _LIT(KOups, "Ouppps! ");
+    _LIT(KSynch, "%SRetrieving %d %S landmarks using %S took %d milliseconds");
+    _LIT(KAsynch, "%SLongest execution time in RunL() took %d milliseconds when retrieving %d %S landmarks using %S.");
+    _LIT(KSorted, "sorted");
+    _LIT(KUnSorted, "UNsorted");
+    _LIT(KSynchIterator, "CPosLandmarkDatabse::LandmarkIteratorL()");
+    _LIT(KAsynchSearch, "LM search API");
+    TBool testSucessful;
+    TInt time = aExecTime;
+    // Present result
+    TBuf<200> buf;
+
+    if (aExecTime > aLimit)
+        {           
+        aSorted    
+            ? aSynch
+                ? buf.Format(KSynch, &KOups, aNrOfLandmarks, &KSorted, &KSynchIterator, time)
+                : buf.Format(KAsynch, &KOups, time, aNrOfLandmarks, &KSorted, &KAsynchSearch)
+            : aSynch
+                ? buf.Format(KSynch, &KOups, aNrOfLandmarks, &KUnSorted, &KSynchIterator, time)
+                : buf.Format(KAsynch, &KOups, time, aNrOfLandmarks, &KUnSorted, &KAsynchSearch);
+
+        iLog->PutError(buf);
+        testSucessful = EFalse;
+        }
+    else
+        {
+        aSorted 
+            ? aSynch
+                // XXX ? buf.Format(KSynch, &KNullDesC, aNrOfLandmarks, &KSorted, &KSynchIterator, aExecTime.Low())
+                ? buf.Format(KSynch, &KNullDesC, aNrOfLandmarks, &KSorted, &KSynchIterator, time)
+                //XXX : buf.Format(KAsynch, &KNullDesC, aExecTime.Low(), aNrOfLandmarks, &KSorted, &KAsynchSearch)
+                : buf.Format(KAsynch, &KNullDesC, time, aNrOfLandmarks, &KSorted, &KAsynchSearch)
+            : aSynch
+                //? buf.Format(KSynch, &KNullDesC, aNrOfLandmarks, &KUnSorted, &KSynchIterator, aExecTime.Low())
+                //: buf.Format(KAsynch, &KNullDesC, aExecTime.Low(), aNrOfLandmarks, &KUnSorted, &KAsynchSearch);
+                ? buf.Format(KSynch, &KNullDesC, aNrOfLandmarks, &KUnSorted, &KSynchIterator, time)
+                : buf.Format(KAsynch, &KNullDesC, time, aNrOfLandmarks, &KUnSorted, &KAsynchSearch);
+
+        iLog->Put(buf);
+        testSucessful = ETrue;
+        }
+
+    return testSucessful;
+    }
+
+// ---------------------------------------------------------
+// CPosTp54::TestIteratorSynchL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt64 CPosTp54::TestIteratorSynchL(const TDesC& aDatabase, TBool aIsSorted)
+    {
+    RecreateDatabaseL(aDatabase);
+
+    return ExecutionTimeSynchL(aIsSorted);
+    }
+
+// ---------------------------------------------------------
+// CPosTp54::TestIteratorAsynchL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt64 CPosTp54::TestIteratorAsynchL(const TDesC& aDatabase, TBool aIsSorted)
+    {
+    RecreateDatabaseL(aDatabase);
+
+    return ExecutionTimeAsynchL(aIsSorted);
+    }
+
+// ---------------------------------------------------------
+// CPosTp54::RecreateDatabaseL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp54::RecreateDatabaseL(const TDesC& aDatabase)
+    {
+    delete iDatabase;
+    iDatabase = NULL;
+    CopyDbFileL(aDatabase);
+    iDatabase = CPosLandmarkDatabase::OpenL(KDefaultDb);
+    }
+
+// ---------------------------------------------------------
+// CPosTp54::ExecuteLmOp
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt64 CPosTp54::ExecuteLmOp(CPosLmOperation* aOp, TInt& aResult)
+    {
+    TReal32 progress(0);
+    TRequestStatus status(KPosLmOperationNotComplete);
+    TTime startTime;
+    TTime stopTime;
+    TTimeIntervalMicroSeconds longestExecTimeSoFar(0);
+
+    while (status.Int() == KPosLmOperationNotComplete)
+        {
+        startTime.UniversalTime();
+        aOp->NextStep(status, progress);
+        User::WaitForRequest(status);
+        stopTime.UniversalTime();
+
+        TTimeIntervalMicroSeconds execTime = stopTime.MicroSecondsFrom(startTime);
+        if (execTime > longestExecTimeSoFar)
+            {
+            longestExecTimeSoFar = execTime;
+            }
+        _LIT(KExecTime, "Progress = %d%%. Execution of NextStep took %d µs");
+        TBuf<100> buf;
+        //buf.Format(KExecTime, (TInt) (progress * 100), execTime.Int64().Low());
+        buf.Format(KExecTime, (TInt) (progress * 100), execTime.Int64());
+//        iLog->Put(buf);
+        }
+
+    aResult = status.Int();
+    return longestExecTimeSoFar.Int64();
+    }
+    
+    
+// ---------------------------------------------------------
+// CPosTp54::CreateLargeDbs
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+void CPosTp54::CreateLargeDbs(TInt aNrOfItems)
+    {
+    
+    TTime startTime;
+    TTime stopTime;
+    
+    iLog->Put(_L("RemoveAllLmDatabasesL();"));
+    RemoveAllLmDatabasesL();
+    startTime.UniversalTime();
+    CPosLandmarkDatabase* db = CPosLandmarkDatabase::OpenL();
+    CleanupStack::PushL(db);
+    if (db->IsInitializingNeeded())
+        {
+	    iLog->Put(_L("IsInitializingNeeded()"));
+        ExecuteAndDeleteLD(db->InitializeL());
+        }
+        
+        CPosLmCategoryManager* catManager = CPosLmCategoryManager::NewL(*db);
+        CleanupStack::PushL(catManager);
+        TInt j = 0;
+
+        while (j < aNrOfItems)
+            {
+            TTime seedTime;
+            seedTime.UniversalTime();
+            
+            TInt64 seed = seedTime.Int64();
+            TBuf<150> name;
+            TReal randNr = Math::FRand(seed);
+            
+            TUint bokstav1 = (randNr*25)+65;
+            randNr = Math::FRand(seed);
+            TUint bokstav2 = (randNr*25)+65;
+            
+            //Create a landmark name that contains of two random characters+"NearestSearch"+iCounter
+            name.Format(_L("%c%cLandmark Nr %d"),bokstav1, bokstav2, j);
+            CPosLandmark* landmark = CPosLandmark::NewLC();
+
+            landmark->SetLandmarkNameL(name);
+            
+            /*
+            HBufC* desc = HBufC::NewLC(4095);
+            TPtr descPtr = desc->Des();
+            for (TInt k = 0; k < 16; k++)
+                {
+                descPtr.Append(name);
+                }
+            descPtr = descPtr.Left(4095);
+            landmark->SetLandmarkDescriptionL(descPtr);
+            CleanupStack::PopAndDestroy(desc);
+            
+            */
+/*
+            // Update coverage radius
+            TReal32 radius = 345345345;
+            landmark->SetCoverageRadius(radius);
+            // Update street
+            landmark->SetPositionFieldL(EPositionFieldStreet, name);
+            // Update postal code
+            landmark->SetPositionFieldL(EPositionFieldPostalCode, name);
+            // Update city
+            landmark->SetPositionFieldL(EPositionFieldCity, name);
+
+            // Update country
+            landmark->SetPositionFieldL(EPositionFieldCountry, name);
+*/
+            TReal latitude(123), longitude(321);
+            TReal32 altitude(54), horAcc(1), verAcc(12);
+            TCoordinate coordinate(latitude, longitude, altitude);
+            TLocality newLocation(coordinate, horAcc, verAcc);
+            landmark->SetPositionL(newLocation);
+
+            db->AddLandmarkL(*landmark);
+            CleanupStack::PopAndDestroy(landmark);
+
+            /*
+            if (j<100)
+                {
+                // Add category
+                CPosLandmarkCategory* category = CPosLandmarkCategory::NewLC();
+
+                _LIT(KCatName, "Category nr %d");
+                TBuf<100> nameCategory;
+                nameCategory.Format(KCatName, j);
+                category->SetCategoryNameL(nameCategory);
+                catManager->AddCategoryL(*category);
+
+                CleanupStack::PopAndDestroy(category);
+                }
+                */
+            j++;
+            }
+        ExecuteAndDeleteLD(db->CompactL());
+        stopTime.UniversalTime();
+        CleanupStack::PopAndDestroy(2, db);
+        
+        TTimeIntervalMicroSeconds execTime = stopTime.MicroSecondsFrom(startTime);
+        
+        TTimeIntervalMicroSeconds executionTime = 
+        stopTime.MicroSecondsFrom(startTime);
+
+        TInt resse = executionTime.Int64()/1000000;
+        TBuf<100> buf;
+        buf.Format(_L("Create %d nr of landmarks took %d seconds"), aNrOfItems, resse);
+        iLog->Put(buf);
+
+    }
+// End of file
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTP55.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,1156 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp55.h"
+#include "FT_LandmarkConstants.h"
+//#include <eposlmintservices.rsg>
+#include <centralrepository.h>
+#include <UiklafInternalCRKeys.h>
+#include <utfw.h>
+#include <f32file.h>
+#include <coemain.h>
+#include <EPos_CPosLandmarkEncoder.h>
+#include <EPos_CPosLandmarkParser.h>
+#include <barsread.h>
+#include <bautils.h>
+
+// CONSTANTS
+_LIT(KFile1, "c:\\documents\\Tp55_1.txt");
+_LIT(KFile2, "c:\\documents\\Tp55_2.txt");
+_LIT(KFile3, "c:\\documents\\Tp55_3.txt");
+const TInt KOneK = 1024;
+const TInt KNrOfLandmarksToExport = 10;
+//_LIT(KPosResourceFile, "\\resource\\eposlmintservices.rsc");
+#ifdef __WINS__
+_LIT(KXmlInputFile, "z:\\system\\test\\testdata\\TP55-DiskFullDuringExportImport.xml"); 
+#else
+_LIT(KXmlInputFile, "c:\\system\\test\\testdata\\TP55-DiskFullDuringExportImport.xml"); 
+#endif
+_LIT(KXmlOutputFile, "c:\\documents\\TP55-ExportedLandmarks.xml"); 
+_LIT(KXmlBufferDumpFile, "c:\\documents\\BufferDump.xml");
+_LIT(KInternalServicesResFileRom, "z:\\resource\\eposlmintservices.rsc");
+_LIT(KInternalServicesResFileBackup, "c:\\resource\\copy_of_eposlmintservices.rsc");
+_LIT(KInternalServicesResFileCdrive, "c:\\resource\\eposlmintservices.rsc");
+//_LIT(KInternalServicesLargeResFile, "c:\\system\\test\\testdata\\eposlmintservices_453KB.rsc");
+//_LIT(KInternalServicesSmallResFile, "c:\\system\\test\\testdata\\eposlmintservices_198KB.rsc");
+
+// Approx 2141 bytes
+_LIT8(KNonsense, "nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense\
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense\
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense\
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense\
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense\
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense\
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense\
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense\
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense\
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense\
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense\
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense\
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense\
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense\
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense\
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense\
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense\
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense\
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense\
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense\
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense\
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense\
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense\
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense\
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense\
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense\
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense\
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense\
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense\
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense\
+nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense\
+sensenonsensenonsensenonsensenonsensenonsensenonsense");
+
+_LIT8(K64B, "nonsensenonsensenonsensenonsensenonsensenonsensenonsensenonsense");
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp55::GetName
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp55::GetName(TDes& aName) const
+    {
+    _LIT(KTestName, "Tp55 - Disk Full Checking during Import/Export");
+    aName = KTestName;
+    }
+
+// ---------------------------------------------------------
+// CPosTp55::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp55::CloseTest()
+    {
+    delete iDatabase;
+    iDatabase = NULL;
+
+    delete iOperationWrapper;
+    delete iLandmarkEncoder;
+    delete iLandmarkParser;
+    delete iOutputBuffer;
+    delete iInputBuffer;
+
+    iFile1.Close();
+    iFile2.Close();
+    iFile3.Close();
+    iFileServer.Delete(KFile1);
+    iFileServer.Delete(KFile2);
+    iFileServer.Delete(KFile3);
+
+    //TryRestoreResourceFile();
+
+    iXmlOutputFile.Close();
+    iFileServer.Delete(KXmlOutputFile);
+    iFileServer.Delete(KXmlBufferDumpFile);
+
+    iFileServer.Close();
+    }
+
+// ---------------------------------------------------------
+// CPosTp55::InitTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp55::InitTestL()
+    {
+    // File setup, create two files
+    User::LeaveIfError(iFileServer.Connect());
+
+    // Try to restore if previous execution of Tp55 panicked or was killed.
+    //TryRestoreResourceFile();
+
+    iOperationWrapper = new (ELeave) CActiveLmOperation(iLog);
+    }
+
+// ---------------------------------------------------------
+// CPosTp55::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp55::StartL()
+    {
+    // Retreive threshold from centralrepository
+    CRepository* repository = CRepository::NewLC(KCRUidUiklaf);
+    User::LeaveIfError(repository->Get(KUikOODDiskCriticalThreshold, iCriticalThreshold));
+    CleanupStack::PopAndDestroy(repository);
+
+    // Test import/export LMs when critical level is set to MLFW defined value.
+    InitiateCriticalLevelL();
+    TestCriticalLevelL();
+
+/*
+    // Test import/export LMs when critical level is set to a large value.
+    iLog->Put(_L("\r\nRedefining critical level to 453 KB and running all tests again...."));
+    CopyResourceFileL(KInternalServicesLargeResFile);
+    InitiateCriticalLevelL();
+    TestCriticalLevelL();
+
+    // Test import/export LMs when critical level is set to a small value.
+    iLog->Put(_L("\r\nRedefining critical level to 198 KB and running all tests again...."));
+    CopyResourceFileL(KInternalServicesSmallResFile);
+    InitiateCriticalLevelL();
+    TestCriticalLevelL();
+    */
+    }
+
+// ---------------------------------------------------------
+// CPosTp55::NotifyProgress
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp55::NotifyProgress(TReal aProgress)
+    {
+    iProgress = (TInt) (aProgress * 100);
+//    iMsg.Format(_L("Progress = %d"), iProgress);
+//    iLog->Put(iMsg);
+//    LogVolumeInfoL();
+    }
+
+// ---------------------------------------------------------
+// CPosTp55::TestCriticalLevelL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp55::TestCriticalLevelL()
+    {
+    // Restore disk space
+    RecreateAndOpenFilesL();
+
+    // ************ 1. Open database ************
+    delete iDatabase;
+    iDatabase = NULL;
+    iDatabase = UseGeneratedDbFileL();
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+
+    // ************ 2. Fill up disk space ************
+    iLog->Put(_L("Consuming disk space..."));
+    ConsumeDiskSpaceL(iFile1, iCriticalLevel + 3 * KOneK);
+    LogVolumeInfoL();
+
+//// Test importing landmarks
+    iLog->Put(_L("Testing Importing..."));
+    iLog->Put(_L("-- Testing import below critical level"));
+    TBool testBeyondCriticalLevel = ETrue;
+    ImportLandmarksTestL(!testBeyondCriticalLevel);
+    
+    // ************ 11. Repeat steps 3-10 ************
+    iLog->Put(_L("\r\n-- Testing import beyond critical level"));
+    ExecuteAndDeleteLD(iDatabase->CompactL());
+    iLog->Put(_L("Consuming disk space..."));
+    User::LeaveIfError(iFile2.Create(iFileServer, KFile2, EFileWrite));
+    ConsumeDiskSpaceL(iFile2, iSizeLimit2);
+    LogVolumeInfoL();
+    ImportLandmarksTestL(testBeyondCriticalLevel);
+
+    // Restore disk space
+    RecreateAndOpenFilesL();
+
+    // Use suitable database for exporting LMs
+    delete iDatabase;
+    iDatabase = NULL;
+    iDatabase = UseGeneratedDbFileL();
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+
+    // ************ 12. Fill up disk space ************
+    iLog->Put(_L("Consuming disk space..."));
+    ConsumeDiskSpaceL(iFile1, iSizeLimit1);
+    LogVolumeInfoL();
+
+//// Test importing landmarks
+    iLog->Put(_L("Testing Exporting..."));
+    ExportLandmarksTestL();
+    }
+
+// ---------------------------------------------------------
+// CPosTp55::RecreateAndOpenFilesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp55::RecreateAndOpenFilesL()
+    {
+    iLog->Put(_L("Removing large files..."));
+
+    // Delete files
+    iFile1.Close();
+    iFileServer.Delete(KFile1);
+    iFile2.Close();
+    iFileServer.Delete(KFile2);
+    iFile3.Close();
+    iFileServer.Delete(KFile3);
+
+    // Create and open files
+    User::LeaveIfError(iFile1.Create(iFileServer, KFile1, EFileWrite));
+    User::LeaveIfError(iFile2.Create(iFileServer, KFile2, EFileWrite));
+    User::LeaveIfError(iFile3.Create(iFileServer, KFile3, EFileWrite));
+    }
+
+// ---------------------------------------------------------
+// CPosTp55::ExportLandmarksTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp55::ExportLandmarksTestL()
+    {
+    TInt result(0);
+    TBool doAddAllLandmarks = ETrue;
+    TBool doExecuteIncrementally = ETrue;
+
+//// Testing Disk full during addition of LMs to encoder
+    iLog->Put(_L("\r\n--- Testing Disk full during addition of LMs to encoder"));
+
+    // 13. ************ Export to file using encoder stand-alone ************
+    iLog->Put(_L("------ Export to file incrementally using encoder stand-alone"));
+    ReInitializeEncoderEtcL();
+    iLandmarkEncoder->SetOutputFileL(KXmlOutputFile);
+    AddCollectionDataToEncoderL();
+    AddLandmarksToEncoderL(doAddAllLandmarks);
+
+    // ************ Export to buffer incrementally using encoder stand-alone ************
+//    iLog->Put(_L("------ Export to buffer incrementally using encoder stand-alone"));
+// Not tested here since it does not result in KErrDiskFull but in KErrNoMemory. Time-consuming test
+/*    ReInitializeEncoderEtcL();
+    delete iOutputBuffer;
+    iOutputBuffer = NULL;
+    iOutputBuffer = iLandmarkEncoder->SetUseOutputBufferL();
+    AddCollectionDataToEncoderL();
+    while (result == KErrNone)
+        {
+        TRAP(result, AddLandmarksToEncoderL(!doAddAllLandmarks));
+        iMsg.Format(_L("Size of output buffer: %d"), iOutputBuffer->Size());
+        iLog->Put(iMsg);
+        }
+    iMsg.Format(_L("Export to buffer left with error code %d"), result);
+    iLog->Put(iMsg);
+    */
+
+//// Testing Disk full during ExportLandmarksL()
+    iLog->Put(_L("\r\n--- Testing Disk full during ExportLandmarksL()"));
+
+    // Create array of all IDs in database
+    RArray<TPosLmItemId> itemIds;
+    CleanupClosePushL(itemIds);
+    PopulateArrayL(itemIds, doAddAllLandmarks);
+
+    // ************ 14. Export to file incrementally using ExportLandmarksL() ************
+    iLog->Put(_L("------ Export to file incrementally using ExportLandmarksL()"));
+    ReInitializeEncoderEtcL();
+    iLandmarkEncoder->SetOutputFileL(KXmlOutputFile);
+    AddCollectionDataToEncoderL();
+    ExportWithExportLandmarksMethodL(itemIds, doExecuteIncrementally);
+
+    // ************ 15. Export to file synchronously using ExportLandmarksL() ************
+    iLog->Put(_L("------ Export to file synchronously using ExportLandmarksL()"));
+    ReInitializeEncoderEtcL();
+    iLandmarkEncoder->SetOutputFileL(KXmlOutputFile);
+    AddCollectionDataToEncoderL();
+    ExportWithExportLandmarksMethodL(itemIds, !doExecuteIncrementally);
+
+    // ************ Export to buffer incrementally using ExportLandmarksL() ************
+//    iLog->Put(_L("------ Export to buffer incrementally using ExportLandmarksL()"));
+// Not tested here since it does not result in KErrDiskFull but in KErrNoMemory. Time-consuming test
+
+    // ************ Export to buffer synchronously ExportLandmarksL() ************
+//    iLog->Put(_L("------ Export to buffer synchronously ExportLandmarksL() ------"));
+// Not tested here since it does not result in KErrDiskFull but in KErrNoMemory. Time-consuming test
+
+    CleanupStack::PopAndDestroy(&itemIds);
+
+//// Testing Disk full during finalizing of encoder
+    iLog->Put(_L("\r\n--- Testing Disk full during finalizing of encoder"));
+
+    // ************ 16. Export to file using encoder stand-alone and finalizing incrementally ************
+    iLog->Put(_L("------ Export to file using encoder stand-alone and finalizing incrementally"));
+    ReInitializeEncoderEtcL();
+    iLandmarkEncoder->SetOutputFileL(KXmlOutputFile);
+    AddCollectionDataToEncoderL();
+    AddLandmarksToEncoderL(!doAddAllLandmarks);
+    FillFile3L(); // Fill up disk space so much that next call to FinalizeL results in KErrDiskFull.
+    FinalizeEncoderL(doExecuteIncrementally);
+
+    // ************ 17. Export to file using encoder stand-alone and finalizing synchronously ************
+    iLog->Put(_L("------ Export to file using encoder stand-alone and finalizing synchronously"));
+    ReInitializeEncoderEtcL();
+    iLandmarkEncoder->SetOutputFileL(KXmlOutputFile);
+    AddCollectionDataToEncoderL();
+    AddLandmarksToEncoderL(!doAddAllLandmarks);
+    FillFile3L(); // Fill up disk space so much that next call to FinalizeL results in KErrDiskFull.
+    FinalizeEncoderL(!doExecuteIncrementally);
+
+    // Create array of some IDs in database
+    CleanupClosePushL(itemIds);
+    PopulateArrayL(itemIds, !doAddAllLandmarks);
+
+    // ************ 18. Export to file using ExportLandmarksL() and finalizing incrementally ************
+    iLog->Put(_L("------ Export to file using ExportLandmarksL() and finalizing incrementally"));
+    ReInitializeEncoderEtcL();
+    iLandmarkEncoder->SetOutputFileL(KXmlOutputFile);
+    AddCollectionDataToEncoderL();
+    ExportWithExportLandmarksMethodL(itemIds, doExecuteIncrementally);
+    FillFile3L(); // Fill up disk space so much that next call to FinalizeL results in KErrDiskFull.
+    FinalizeEncoderL(doExecuteIncrementally);
+
+    // ************ 19. Export to file using ExportLandmarksL() and finalizing synchronously ************
+    iLog->Put(_L("------ Export to file using ExportLandmarksL() and finalizing synchronously"));
+    ReInitializeEncoderEtcL();
+    iLandmarkEncoder->SetOutputFileL(KXmlOutputFile);
+    AddCollectionDataToEncoderL();
+    ExportWithExportLandmarksMethodL(itemIds, !doExecuteIncrementally);
+    FillFile3L(); // Fill up disk space so much that next call to FinalizeL results in KErrDiskFull.
+    FinalizeEncoderL(!doExecuteIncrementally);
+
+    CleanupStack::PopAndDestroy(&itemIds);
+
+//// Testing when disk is already full
+    iLog->Put(_L("\r\n--- Testing when disk is already full"));
+    TVolumeInfo volumeInfoBeforeTest, volumeInfoAfterTest;
+
+    // ************ 20. CPosLandmarkEncoder::SetOutPutFileL() ************
+    iLog->Put(_L("------ CPosLandmarkEncoder::SetOutPutFileL()"));
+    iFile2.Close();
+    DeleteFileL(KFile2);
+    ReInitializeEncoderEtcL();
+    User::LeaveIfError(iFile2.Create(iFileServer, KFile2, EFileWrite));
+    ConsumeDiskSpaceL(iFile2, iSizeLimit2);
+    User::LeaveIfError(iFileServer.Volume(volumeInfoBeforeTest, EDriveC));
+    TRAP(result, iLandmarkEncoder->SetOutputFileL(KXmlOutputFile));
+    User::LeaveIfError(iFileServer.Volume(volumeInfoAfterTest, EDriveC));
+
+    // Verify
+    _LIT(KSetFile1, "SetOutPutFileL() didn't result in KErrDiskFull but in %d");
+    AssertTrueSecL(result == KErrDiskFull, KSetFile1, result);
+    iLog->Put(_L("SetOutputFileL() left with KErrDiskFull"));
+    _LIT(KSetFile2, "SetOutPutFileL() consumed disk space even if critical level has been passed. %d");
+    AssertTrueSecL(volumeInfoBeforeTest.iFree == volumeInfoAfterTest.iFree, KSetFile2);
+
+    // ************ 21. CPosLandmarkEncoder::AddLandmarkL() ************
+    iLog->Put(_L("------ CPosLandmarkEncoder::AddLandmarkL()"));
+    iFile2.Close();
+    DeleteFileL(KFile2);
+    ReInitializeEncoderEtcL();
+    iLandmarkEncoder->SetOutputFileL(KXmlOutputFile);
+    AddCollectionDataToEncoderL();
+    CPosLmItemIterator* iterator = iDatabase->LandmarkIteratorL();
+    CleanupStack::PushL(iterator);
+    CPosLandmark* landmark = iDatabase->ReadLandmarkLC(iterator->NextL());
+    User::LeaveIfError(iFile2.Create(iFileServer, KFile2, EFileWrite));
+    ConsumeDiskSpaceL(iFile2, iSizeLimit2);
+    User::LeaveIfError(iFileServer.Volume(volumeInfoBeforeTest, EDriveC));
+    TRAP(result, iLandmarkEncoder->AddLandmarkL(*landmark));
+    User::LeaveIfError(iFileServer.Volume(volumeInfoAfterTest, EDriveC));
+    CleanupStack::PopAndDestroy(2, iterator);
+
+    // Verify
+    _LIT(KAddLmErr1, "Adding LM to encoder didn't result in KErrDiskFull but in %d when beyond critical level");
+    AssertTrueSecL(result == KErrDiskFull, KAddLmErr1, result);
+    iLog->Put(_L("AddLandmarkL() left with KErrDiskFull"));
+    _LIT(KAddLmErr2, "AddLandmarkL() consumed disk space even if critical level has been passed. %d");
+    AssertTrueSecL(volumeInfoBeforeTest.iFree == volumeInfoAfterTest.iFree, KAddLmErr2);
+
+    // ************ 22. CPosLandmarkEncoder::FinalizeL() ************
+    iLog->Put(_L("------ CPosLandmarkEncoder::FinalizeL()"));
+    iFile2.Close();
+    DeleteFileL(KFile2);
+    ReInitializeEncoderEtcL();
+    iLandmarkEncoder->SetOutputFileL(KXmlOutputFile);
+    AddCollectionDataToEncoderL();
+    AddLandmarksToEncoderL(!doAddAllLandmarks);
+    User::LeaveIfError(iFile2.Create(iFileServer, KFile2, EFileWrite));
+    ConsumeDiskSpaceL(iFile2, iSizeLimit2);
+    delete iOperation;
+    iOperation = NULL;
+    User::LeaveIfError(iFileServer.Volume(volumeInfoBeforeTest, EDriveC));
+    TRAP(result, iOperation = iLandmarkEncoder->FinalizeEncodingL());
+    User::LeaveIfError(iFileServer.Volume(volumeInfoAfterTest, EDriveC));
+
+    // Verify
+    _LIT(KFinalizeErr1, "FinalizeL() didn't result in KErrDiskFull but in %d");
+    AssertTrueSecL(result == KErrDiskFull, KFinalizeErr1, result);
+    iLog->Put(_L("FinalizeEncodingL() left with KErrDiskFull"));
+    _LIT(KFinalizeErr2, "FinalizeL() consumed disk space even if critical level has been passed. %d");
+    AssertTrueSecL(volumeInfoBeforeTest.iFree == volumeInfoAfterTest.iFree, KFinalizeErr2);
+
+    // ************ 23. CPosLandmarkEncoder::SetOutPutFileL() - Bonus test 1 ************
+    iLog->Put(_L("------ CPosLandmarkEncoder::SetOutPutFileL() - Bonus test 1"));
+    iFile2.Close();
+    DeleteFileL(KFile2);
+    ReInitializeEncoderEtcL();
+    User::LeaveIfError(iFile2.Create(iFileServer, KFile2, EFileWrite));
+    ConsumeDiskSpaceL(iFile2, iSizeLimit2);
+    TRAP(result, iLandmarkEncoder->SetOutputFileL(KXmlOutputFile));
+
+    // Verify
+    AssertTrueSecL(result == KErrDiskFull, KSetFile1, result);
+    iLog->Put(_L("SetOutputFileL() left with KErrDiskFull"));
+
+    // Try it again
+    TRAP(result, iLandmarkEncoder->SetOutputFileL(KXmlOutputFile));
+
+    // Verify
+    _LIT(KSetFile3, "SetOutPutFileL() didn't result in KErrAlreadyExists but in %d");
+    AssertTrueSecL(result == KErrAlreadyExists, KSetFile3, result);
+    iLog->Put(_L("SetOutputFileL() left with KErrAlreadyExists"));
+
+    // ************ 24. CPosLandmarkEncoder::FinalizeL() - Bonus test 2 ************
+    // This test tests if it is possible to finalize when adding LMs to encoder has 
+    // been interrupted due to KErrDiskFull.
+    iLog->Put(_L("------ CPosLandmarkEncoder::FinalizeL() - Bonus test 2"));
+    iFile2.Close();
+    DeleteFileL(KFile2);
+    ReInitializeEncoderEtcL();
+    iLandmarkEncoder->SetOutputFileL(KXmlOutputFile);
+    AddCollectionDataToEncoderL();
+
+    // Add landmarks will result in KErrDiskFull
+    AddLandmarksToEncoderL(doAddAllLandmarks);
+
+    // Restore some disk space
+    iFile1.Close();
+    DeleteFileL(KFile1);
+
+    // Try to finalize
+    delete iOperation;
+    iOperation = NULL;
+    TRAP(result, ExecuteAndDeleteLD(iLandmarkEncoder->FinalizeEncodingL()));
+    AssertTrueSecL(result == KErrNone, _L("FinalizeL() left with %d"), result);
+    iLog->Put(_L("FinalizeL() successful"));
+
+    // ************ CPosLandmarkEncoder::SetOutPutFileL() - Bonus test 3 ************
+//  Not tested here since this is a panic test. (Not tested anywhere else)
+/*    iLog->Put(_L("------ CPosLandmarkEncoder::SetOutPutFileL() - Bonus test 3"));
+    iFile2.Close();
+    DeleteFileL(KFile2);
+    ReInitializeEncoderEtcL();
+    User::LeaveIfError(iFile2.Create(iFileServer, KFile2, EFileWrite));
+    ConsumeDiskSpaceL(iFile2, iSizeLimit2);
+    TRAP(result, iLandmarkEncoder->SetOutputFileL(KXmlOutputFile));
+
+    // Verify
+    AssertTrueSecL(result == KErrDiskFull, KSetFile1, result);
+    iLog->Put(_L("SetOutputFileL() left with KErrDiskFull"));
+
+    // Free some disc space and try to finish the export operation. (AddLandmarksL will panic with EPosLmProtocolBreak)
+    iFile2.Close();
+    DeleteFileL(KFile2);
+    AddLandmarksToEncoderL(!doAddAllLandmarks);
+    FinalizeEncoderL(doExecuteIncrementally);*/
+    }
+
+// ---------------------------------------------------------
+// CPosTp55::ImportLandmarksTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp55::ImportLandmarksTestL(TBool aCriticalLevelPassed)
+    {
+    delete iInputBuffer;
+    iInputBuffer = NULL;
+    iInputBuffer = CreateInputBufferL();
+    TBool doExecuteIncrementally = ETrue;
+
+    // ************ 3. Import all LMs in XML file incrementally ************
+    iLog->Put(_L("---- Import all LMs in XML file incrementally"));
+    ImportLandmarksL(KXmlInputFile, NULL, doExecuteIncrementally, aCriticalLevelPassed);
+
+    // ************ 4. Import all LMs in XML file synchronously ************
+    iLog->Put(_L("---- Import all LMs in XML file synchronously"));
+    ImportLandmarksL(KXmlInputFile, NULL, !doExecuteIncrementally, aCriticalLevelPassed);
+
+    // ************ 5. Import all LMs in XML buffer incrementally ************
+    iLog->Put(_L("---- Import all LMs in XML buffer incrementally"));
+    ImportLandmarksL(KNullDesC, NULL, doExecuteIncrementally, aCriticalLevelPassed);
+
+    // ************ 6. Import all LMs in XML buffer synchronously ************
+    iLog->Put(_L("---- Import all LMs in XML buffer synchronously"));
+    ImportLandmarksL(KNullDesC, NULL, !doExecuteIncrementally, aCriticalLevelPassed);
+
+    // Create array of ids to Import (subset of all landmarks in the input file/buffer)
+    RArray<TUint> itemIds;
+    CleanupClosePushL(itemIds);
+    for (TInt i = 10; i < 60; i++)
+        {
+        User::LeaveIfError(itemIds.Append(i));
+        }
+
+    // ************ 7. Import a subset of LMs in XML file incrementally ************
+    iLog->Put(_L("---- Import a subset of LMs in XML file incrementally"));
+    ImportLandmarksL(KXmlInputFile, &itemIds, doExecuteIncrementally, aCriticalLevelPassed);
+
+    // ************ 8. Import a subset of LMs in XML file synchronously ************
+    iLog->Put(_L("---- Import a subset of LMs in XML file synchronously"));
+    ImportLandmarksL(KXmlInputFile, &itemIds, !doExecuteIncrementally, aCriticalLevelPassed);
+
+    // ************ 9. Import a subset of LMs in XML buffer incrementally ************
+    iLog->Put(_L("---- Import a subset of LMs in XML buffer incrementally"));
+    ImportLandmarksL(KNullDesC, &itemIds, doExecuteIncrementally, aCriticalLevelPassed);
+
+    // ************ 10. Import a subset of LMs in XML buffer synchronously ************
+    iLog->Put(_L("---- Import a subset of LMs in XML buffer synchronously"));
+    ImportLandmarksL(KNullDesC, &itemIds, !doExecuteIncrementally, aCriticalLevelPassed);
+
+    CleanupStack::PopAndDestroy(&itemIds);
+
+    iFile2.Close();
+    DeleteFileL(KFile2);
+    }
+
+// ---------------------------------------------------------
+// CPosTp55::ConsumeDiskSpaceL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp55::ConsumeDiskSpaceL(
+    RFile& aFile, TInt aSizeLimit)
+    {
+    TInt err(KErrNone);
+
+    TVolumeInfo volumeInfo;
+    err=iFileServer.Volume(volumeInfo, EDriveC);
+
+    // Fill file fast
+    HBufC8* bigBuf = (&KNonsense)->AllocLC();
+    while (volumeInfo.iFree > aSizeLimit)
+        {
+        err = aFile.Write(*bigBuf);
+        if (err != KErrNone) iLog->Put(_L("Problem writing"));
+        err = iFileServer.Volume(volumeInfo, EDriveC);
+        if (err != KErrNone) iLog->Put(_L("Problem voluming"));
+        }
+
+    CleanupStack::PopAndDestroy(bigBuf);
+    }
+
+// ---------------------------------------------------------
+// CPosTp55::ImportLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//	
+void CPosTp55::ImportLandmarksL(
+    const TDesC& aInputFile,
+    RArray<TUint>* aArrayOfIds,
+    TBool aExecuteIncrementally,
+    TBool aTestBeyondCriticalLevel)
+    {
+    // Recreate parser
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    
+    // to minimize risk of KErrLocked
+    User::After(500000);
+    iLog->Put(_L("Compacting"));
+    ExecuteAndDeleteLD(iDatabase->CompactL());
+    User::After(500000);
+
+    iLandmarkParser = CPosLandmarkParser::NewL(KMimeType);
+
+    iProgress = 0;
+    TBool useInputFile = aInputFile != KNullDesC;
+    TBool importSubset = aArrayOfIds != NULL;
+    TInt result(KErrNone);
+
+    // Prepare and set output for exported LMs
+    if (useInputFile)
+        {
+        iLog->Put(_L("SetInputFileL"));
+        iLandmarkParser->SetInputFileL(aInputFile);
+        }
+    else // use buffer as output
+        {
+        iLog->Put(_L("SetInputBuffer"));
+        iLandmarkParser->SetInputBuffer(*iInputBuffer);
+        }
+
+    // Sample the db size
+    CPosLandmarkDatabase::TSize dbSizeBeforeImport;
+    TInt err = KErrLocked;
+    while (err == KErrLocked)
+        {
+        TRAP(err, dbSizeBeforeImport = iDatabase->SizeL());
+        if (err == KErrLocked) 
+            {
+            iLog->Put(_L("KErrLocked from iDatabase->SizeL()"));
+            User::After(100000);
+            }
+        }
+
+    // Start importing LMs.
+    delete iOperation;
+    iOperation = NULL;
+    if (importSubset)
+        {
+        iLog->Put(_L("ImportLandmarksL"));
+        iOperation = iDatabase->ImportLandmarksL(
+            *iLandmarkParser, *aArrayOfIds, CPosLandmarkDatabase::EDefaultOptions);
+        }
+    else
+        {
+        iLog->Put(_L("ImportLandmarksL"));
+        iOperation = iDatabase->ImportLandmarksL(
+            *iLandmarkParser, CPosLandmarkDatabase::EDefaultOptions);
+        }
+
+    // Execute importing LMs
+    iLog->Put(_L("ExecuteLmOperationL"));
+    result = ExecuteLmOperationL(aExecuteIncrementally);
+
+    // Check result
+    _LIT(KErrMsg, "ImportLandmarksL() didn't result in KErrDiskFull but in %d");
+    AssertTrueSecL(result == KErrDiskFull, KErrMsg, result);
+
+    if (aTestBeyondCriticalLevel)
+        {
+        // Sample the db size
+        TInt err2 = KErrLocked;
+        CPosLandmarkDatabase::TSize dbSizeAfterImport;
+        while (err2 == KErrLocked)
+            {
+            TRAP(err2, dbSizeAfterImport = iDatabase->SizeL());
+            if (err2 == KErrLocked)
+                {
+                iLog->Put(_L("KErrLocked from iDatabase->SizeL(2)"));
+                User::After(100000);
+                }
+            }
+
+        TBool dbSizeIsConstant = dbSizeAfterImport.iFileSize == dbSizeBeforeImport.iFileSize;
+        _LIT(KErrMsg, "Database size has changed when importing landmarks beyond critical level");
+        if (!dbSizeIsConstant)
+            {
+            LogErrorAndLeave(KErrMsg);
+            }
+        iLog->Put(_L("Size of database untouched when importing landmarks beyond critical level"));
+        }
+    else
+        {
+        if (aExecuteIncrementally)
+            {
+            _LIT(KFormat, "Got KErrDiskFull after importing %d%% of the landmarks.");
+            iMsg.Format(KFormat, iProgress);
+            }
+        else
+            {
+            _LIT(KFormat, "Got KErrDiskFull when importing landmarks synchronously");
+            iMsg.Copy(KFormat());
+            }
+        iLog->Put(iMsg);
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp55::InitiateCriticalLevelL
+// Initiates iCriticalLevel. (value of iCriticalLevel is extracted from an MLFW 
+// resource file that can reside on any drive)
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//	
+void CPosTp55::InitiateCriticalLevelL()
+    { 
+    iLog->Put(_L("InitiateCriticalLevelL"));
+    /*
+    // Find drive that the resource file resides on.
+    TFindFile* filefinder = new (ELeave) TFindFile(iFileServer);
+    CleanupStack::PushL(filefinder);
+    TParse* fileparser = new (ELeave) TParse;
+    CleanupStack::PushL(fileparser);
+    fileparser->Set(KPosResourceFile, NULL, NULL);
+    User::LeaveIfError(
+        filefinder->FindByDir(fileparser->NameAndExt(), fileparser->DriveAndPath()));
+
+    // Open resource file
+    RResourceFile resFile;
+    resFile.OpenL(iFileServer, filefinder->File());
+    CleanupClosePushL(resFile);
+
+    // Allocate the critical level as a buffer
+    //TInt R_POS_LANDMARK_INTERNAL_CRITICAL_DISK_LEVEL = 250;
+    HBufC8* resourceBuffer = resFile.AllocReadLC(iCriticalThreshold);
+
+    // Convert the buffer to an int
+    TResourceReader resReader;
+    resReader.SetBuffer(resourceBuffer);
+    iCriticalLevel = KOneK * resReader.ReadInt16();
+    CleanupStack::PopAndDestroy(4, filefinder);
+    */
+    iCriticalLevel = iCriticalThreshold;
+    iSizeLimit1 = iCriticalLevel + 18 * KOneK; // Do not mess with this value!
+    iSizeLimit2 = iCriticalLevel - 20 * KOneK;
+
+    iMsg.Format(_L("CriticalLevel = %d, limit1 = %d, limit2 = %d "), iCriticalLevel, iSizeLimit1, iSizeLimit2);
+    iLog->Put(iMsg);
+    }
+
+// ---------------------------------------------------------
+// CPosTp55::LogVolumeInfoL
+// Initiates iCriticalLevel. (value of iCriticalLevel is extracted from an MLFW 
+// resource file that can reside on any drive)
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//	
+void CPosTp55::LogVolumeInfoL()
+    {
+    _LIT(KUID,"Unique ID: %08x\r\n");
+    _LIT(KSize,"Size: %d bytes\r\n");
+    _LIT(KFree,"Free space: %d bytes\r\n");
+
+    TVolumeInfo volumeInfo;
+    TInt err = iFileServer.Volume(volumeInfo, EDriveC);
+    if (err != KErrNone) 
+        LogErrorAndLeave(_L("Error from iFileServer"));
+
+    iMsg.Zero();
+    iMsg.AppendFormat(KUID, volumeInfo.iUniqueID);
+	iMsg.AppendFormat(KSize, volumeInfo.iSize);
+	iMsg.AppendFormat(KFree, volumeInfo.iFree);
+    iLog->Put(_L("\r\nMemory info:"));
+    iLog->Put(iMsg);
+    }
+
+// ---------------------------------------------------------
+// CPosTp55::DeleteFileL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp55::DeleteFileL(const TDesC& aFile)
+    {
+    TInt err = iFileServer.Delete(aFile);
+
+    if (err != KErrNone && err != KErrNotFound)
+        {
+        _LIT(KErrText, "DeleteFileL(): The file %S could not be deleted, errorcode %d");
+        iMsg.Format(KErrText, &aFile, err);
+        LogErrorAndLeave(iMsg, err);
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp55::FillFile3L
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp55::FillFile3L()
+    {
+    iFile3.Close();
+    iFileServer.Delete(KFile3);
+    User::LeaveIfError(iFile3.Create(iFileServer, KFile3, EFileWrite));
+
+    TVolumeInfo volumeInfo;
+    User::LeaveIfError(iFileServer.Volume(volumeInfo, EDriveC));
+    while (volumeInfo.iFree > iCriticalLevel + 512)
+        {
+        User::LeaveIfError(iFile3.Write(K64B));
+        User::LeaveIfError(iFileServer.Volume(volumeInfo, EDriveC));
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp55::CreateInputBufferL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+HBufC8* CPosTp55::CreateInputBufferL()
+    {
+    RFile inputFile;
+    User::LeaveIfError(inputFile.Open(iFileServer, KXmlInputFile, EFileRead));
+    CleanupClosePushL(inputFile);
+
+    TInt fileSize;
+    User::LeaveIfError(inputFile.Size(fileSize));
+    HBufC8* buffer = HBufC8::NewLC(fileSize);
+
+    // Copy file contents to buffer
+    TPtr8 writableBuffer = buffer->Des();
+    User::LeaveIfError(inputFile.Read(writableBuffer, fileSize));
+
+    CleanupStack::Pop(buffer);
+    CleanupStack::PopAndDestroy(&inputFile);
+    return buffer;
+    }
+
+// ---------------------------------------------------------
+// CPosTp55::ReInitializeEncoderEtcL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp55::ReInitializeEncoderEtcL()
+    {
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+    iLandmarkEncoder = CPosLandmarkEncoder::NewL(KMimeType);
+
+    DeleteFileL(KXmlOutputFile);
+    DeleteFileL(KXmlBufferDumpFile);
+    iFile3.Close();
+    DeleteFileL(KFile3);
+
+    iProgress = 0;
+    }
+
+// ---------------------------------------------------------
+// CPosTp55::ReInitializeEncoderEtcL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt CPosTp55::ExecuteLmOperationL(
+    TBool aExecuteIncrementally)
+    {
+    TInt result(0);
+
+    if (aExecuteIncrementally)
+        {
+        // Execute the finalizing incrementally.
+        iOperationWrapper->Start(iOperation, this);
+        CActiveScheduler::Start();
+        result = iOperationWrapper->iStatus.Int();
+        }
+    else
+        {
+        TRAP(result, iOperation->ExecuteL());
+        }
+
+    return result;
+    }
+
+// ---------------------------------------------------------
+// CPosTp55::SetOutputBufferL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp55::SetOutputBufferL()
+    {
+    delete iOutputBuffer;
+    iOutputBuffer = NULL;
+    iOutputBuffer = iLandmarkEncoder->SetUseOutputBufferL(); 
+    }
+
+// ---------------------------------------------------------
+// CPosTp55::AddCollectionDataToEncoderL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp55::AddCollectionDataToEncoderL()
+    {
+    // Add long collection name to encoder
+    HBufC* collectionName = HBufC::NewLC(2 * KNonsense().Length());
+    collectionName->Des().Copy(KNonsense);
+    iLandmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionName, *collectionName);
+
+    // Add long collection desc to encoder
+    HBufC* collectionDesc = HBufC::NewLC(3 * collectionName->Length());
+    collectionDesc->Des().Append(*collectionName);
+    collectionDesc->Des().Append(*collectionName);
+    collectionDesc->Des().Append(*collectionName);
+    iLandmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionDescription, *collectionDesc);
+    CleanupStack::PopAndDestroy(2, collectionName);
+    }
+
+// ---------------------------------------------------------
+// CPosTp55::AddLandmarksToEncoderL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp55::AddLandmarksToEncoderL(TBool aAddAll)
+    {
+    // Add landmarks to export to encoder manually.
+    TInt result(0);
+    CPosLmItemIterator* iterator = iDatabase->LandmarkIteratorL();
+    CleanupStack::PushL(iterator);
+    TInt maxNrOfLMs = (aAddAll) ? iterator->NumOfItemsL() : KNrOfLandmarksToExport;
+    for (TInt i = 0; i < maxNrOfLMs && result != KErrDiskFull; i++)
+        {
+        CPosLandmark* landmark = iDatabase->ReadLandmarkLC(iterator->NextL());
+        TRAP(result, iLandmarkEncoder->AddLandmarkL(*landmark));
+        if (result == KErrLocked)
+            {
+            iLog->Put(_L("KErrLocked when AddLandmarkL in AddLandmarksToEncoderL"));
+            User::After(100000);
+            }
+        CleanupStack::PopAndDestroy(landmark);
+        iProgress = (TInt) (100 * i / maxNrOfLMs);
+        }
+    CleanupStack::PopAndDestroy(iterator);
+
+    if (aAddAll)
+        {
+        if (result == KErrDiskFull)
+            {
+            iMsg.Format(_L("Got KErrDiskFull after adding %d%% of the landmarks to the encoder."), iProgress);
+            iLog->Put(iMsg);
+            }
+        else
+            {
+            _LIT(KAddLmErr, "Didn't get EKrrDiskFull but %d when adding LMs to encoder");
+            LogVolumeInfoL();
+            LogErrorAndLeave(KAddLmErr);
+            }
+        }
+    else
+        {
+        _LIT(KAddLmErr, "Didn't get EKrrNone but %d when adding LMs to encoder");
+        AssertTrueSecL(result == KErrNone, KAddLmErr, result);
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp55::ExportWithExportLandmarksMethodL()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp55::ExportWithExportLandmarksMethodL(
+    RArray<TPosLmItemId>& aArrayOfIds,
+    TBool aExecuteIncrementally)
+    {
+    delete iOperation;
+    iOperation = NULL;
+    iOperation = iDatabase->ExportLandmarksL(
+        *iLandmarkEncoder, aArrayOfIds, CPosLandmarkDatabase::EDefaultOptions);
+    TInt result = ExecuteLmOperationL(aExecuteIncrementally);
+
+    if (aArrayOfIds.Count() == KNrOfLandmarksToExport) // not all of the LMs have been added
+        {
+        // Check that KErrDiskFull is not returned
+        _LIT(KErrMsg, "Expected KErrNone from ExportLandmarksL() but got %d.");
+        AssertTrueSecL(result == KErrNone, KErrMsg, result);
+        }
+    else // We should have gotten KErrDiskFull when adding LMs to encoder.
+        {
+        _LIT(KErrMsg, "ExportLandmarksL() didn't result in KErrDiskFull but in %d");
+        AssertTrueSecL(result == KErrDiskFull, KErrMsg, result);
+        if (aExecuteIncrementally)
+            {
+            iMsg.Format(_L("Got KErrDiskFull after adding %d%% of the landmarks to the encoder."), iProgress);
+            }
+        else
+            {
+            iMsg = _L("Got KErrDiskFull when exporting landmarks synchronously");            
+            }
+        iLog->Put(iMsg);
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp55::FinalizeEncoderL()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp55::FinalizeEncoderL(
+    TBool aExecuteIncrementally)
+    {
+    delete iOperation;
+    iOperation = NULL;
+    TRAPD(result, iOperation = iLandmarkEncoder->FinalizeEncodingL());
+    if (result == KErrNone)
+        {
+        result = ExecuteLmOperationL(aExecuteIncrementally);
+
+        // Check that KErrDiskFull is returned
+        _LIT(KErrMsg, "FinalizeL() didn't result in KErrDiskFull but in %d");
+        AssertTrueSecL(result == KErrDiskFull, KErrMsg, result);
+        iLog->Put(_L("Execution of FinalizeEncodingL() left with KErrDiskFull"));
+        }
+    else
+        {
+        AssertTrueSecL(result == KErrDiskFull, _L("FinalizeEncodingL() left with %d"), result);
+        iLog->Put(_L("FinalizeEncodingL() left with KErrDiskFull"));
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp55::FinalizeEncoderL()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp55::PopulateArrayL(
+    RArray<TPosLmItemId>& aArray,
+    TBool aDoAddAllLms)
+    {
+    CPosLmItemIterator* iterator = iDatabase->LandmarkIteratorL();
+    CleanupStack::PushL(iterator);
+    TInt nrOfLms = aDoAddAllLms ? iterator->NumOfItemsL() : KNrOfLandmarksToExport;
+    for (TInt i = 0; i < nrOfLms; i++)
+        {
+        CPosLandmark* landmark = iDatabase->ReadLandmarkLC(iterator->NextL());
+        User::LeaveIfError(aArray.Append(landmark->LandmarkId()));
+        CleanupStack::PopAndDestroy(landmark);
+        }
+    CleanupStack::PopAndDestroy(iterator);
+    }
+
+// ---------------------------------------------------------
+// CPosTp55::CopyResourceFileL
+// 
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp55::CopyResourceFileL(const TDesC& aResourceFile)
+    {
+    // Release all landmark references to make DLLs be unloaded.
+    delete iDatabase;
+    iDatabase = NULL;
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    delete iOperation;
+    iOperation = NULL;
+
+    CFileMan* fileMan = CFileMan::NewL(iFileServer);
+    CleanupStack::PushL(fileMan);
+    
+    // Check if landmark is flashed
+     if (!BaflUtils::FileExists(iFileServer, KInternalServicesResFileRom))
+        {
+         iLog->Put(_L("Landmark is NOT flashed, backing up eposlmintservices.rsc by renaming it bofore copying rsc-file."));
+        // Landmark FW is not flashed. Rename the file before copying an own defiend file.
+        // Since landmark FW is not flashed the file should exist hence leaving if it is not found!
+         User::LeaveIfError(fileMan->Rename(KInternalServicesResFileCdrive, KInternalServicesResFileBackup, CFileMan::EOverWrite));
+        }
+     else
+        {
+        iLog->Put(_L("Landmark framework is flashed, copying global categories to c:"));
+        }
+
+    User::LeaveIfError(fileMan->Copy(aResourceFile, KInternalServicesResFileCdrive, CFileMan::EOverWrite));
+ 
+    CleanupStack::PopAndDestroy(fileMan);
+    }
+
+// ---------------------------------------------------------
+// CPosTp55::TryRestoreResourceFile
+// 
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp55::TryRestoreResourceFile()
+    {
+    CFileMan* fileMan = NULL;
+    TRAPD(err, fileMan = CFileMan::NewL(iFileServer));
+    if (fileMan)
+        {
+        // Try to restore the backup up rsc-file (only possible when LM FW is not flashed.
+        TInt result = fileMan->Copy(KInternalServicesResFileBackup, KInternalServicesResFileCdrive, CFileMan::EOverWrite);
+        if (result == KErrNotFound)
+            {
+            if (BaflUtils::FileExists(iFileServer, KInternalServicesResFileRom))
+                {
+                // LM FW is flashed. We need to remove the rsc-file on c:
+                fileMan->Delete(KInternalServicesResFileCdrive);
+                }
+            }
+        delete fileMan;
+        }
+    }
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp1.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,169 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp1.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLmDatabaseManager.h>
+#include "FT_LandmarkConstants.h"
+           
+// ================= MEMBER FUNCTIONS =======================
+
+
+// ---------------------------------------------------------
+// CPosTp1::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp1::StartL()
+    {  
+    _LIT(KUriErr, "Incorrect URI is returned from the API");
+    _LIT(KDefaultDbUri, "file://C:eposlm.ldb");
+  
+    // Init test part
+    RemoveAllLmDatabasesL();
+    
+    
+    // End init test part
+    
+    CPosLandmarkDatabase* lmd = CPosLandmarkDatabase::OpenL();
+    iLog->Log(_L("CPosLandmarkDatabase::OpenL done"));
+    CleanupStack::PushL(lmd);
+
+    // Check that THAN-65NHQW has been corrected by doing a ExecuteAndDeleteLD(lmd->InitializeL()) followed by 
+  
+    if (lmd->IsInitializingNeeded())
+        {
+	    iLog->Log(_L("IsInitializingNeeded()"));
+        ExecuteAndDeleteLD(lmd->InitializeL());
+	    RunAsyncOperationLD(lmd->InitializeL());
+        }
+    else
+ 	    {
+        iLog->Log(_L("IsInitializingNeeded() Not needed"));
+        ExecuteAndDeleteLD(lmd->InitializeL());
+        RunAsyncOperationLD(lmd->InitializeL());
+        }
+    
+
+    CleanupStack::PopAndDestroy(lmd); 
+
+    VerifyLockedDatabaseL();
+  
+	}
+
+// ---------------------------------------------------------
+// CPosTp1::VerifyLockedDatabaseL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp1::VerifyLockedDatabaseL()
+    {
+    _LIT(KTestPath, "c:\\system\\test\\testdata\\");
+    // copy the test db to the private path
+    CFileMan* fileMan = CFileMan::NewL(iFileSession);
+    CleanupStack::PushL(fileMan);
+
+    TBuf<150> srcPath;
+
+    srcPath.Append(KTestPath);
+    srcPath.Append(KTp1TestDb);
+
+    TInt err = fileMan->Copy(srcPath, KLmTp1DefaultDbPath,
+            CFileMan::EOverWrite);
+    if (err != KErrNone)
+        iLog->Log(_L("Error when copying file"));
+
+    CleanupStack::PopAndDestroy(fileMan);
+    CPosLmDatabaseManager* manager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(manager);
+
+    // This db must exist
+    manager->SetDefaultDatabaseUriL(KTp1TestDb);
+    CleanupStack::PopAndDestroy(manager);
+
+    CPosLandmarkDatabase* db1 = CPosLandmarkDatabase::OpenL(KTp1TestDb);
+    CleanupStack::PushL(db1);
+    if (db1->IsInitializingNeeded())
+        {
+        TRAPD( err, ExecuteAndDeleteLD( db1->InitializeL() ) );
+        AssertTrueSecL(err == KErrNone, _L("Init db failed"));
+        }
+    
+    
+
+    // Take read lock
+    RArray<TPosLmItemId> ids;
+    CleanupClosePushL(ids);
+    User::LeaveIfError(ids.Append(1));
+    User::LeaveIfError(ids.Append(3));
+    User::LeaveIfError(ids.Append(4));
+    User::LeaveIfError(ids.Append(6));
+    User::LeaveIfError(ids.Append(7));
+    User::LeaveIfError(ids.Append(9));
+    User::LeaveIfError(ids.Append(24));
+    User::LeaveIfError(ids.Append(14));
+    User::LeaveIfError(ids.Append(66));
+    User::LeaveIfError(ids.Append(61));
+    User::LeaveIfError(ids.Append(14));
+    CPosLmOperation* operation = db1->PreparePartialLandmarksL(ids);
+    CleanupStack::PushL(operation);
+    TReal32 progress(0);
+    TRequestStatus status;
+    while (progress < 0.4)
+        {
+        operation->NextStep(status, progress);
+        User::WaitForRequest(status);
+        }
+
+    // Try to instantiate a new db handle
+    operation->NextStep(status, progress);
+    CPosLandmarkDatabase* db2 = CPosLandmarkDatabase::OpenL();
+    iLog->Log(_L("CPosLandmarkDatabase::OpenL done"));
+    delete db2;
+    User::WaitForRequest(status);
+
+    // Release read lock
+    CleanupStack::PopAndDestroy(operation);
+    
+    // Take write lock
+    operation = db1->RemoveAllLandmarksL();
+    CleanupStack::PushL(operation);
+    progress = 0;
+    while (progress < 0.4)
+        {
+        operation->NextStep(status, progress);
+        User::WaitForRequest(status);
+        }
+
+    // Try to instantiate a new db handle - should result in KErrLocked
+    operation->NextStep(status, progress);
+    db2 = NULL;
+    TRAPD(err1, db2 = CPosLandmarkDatabase::OpenL());
+    delete db2;
+    User::WaitForRequest(status);
+    AssertTrueSecL(err1 == KErrLocked, _L("OpenL() didn't result in KErrLocked but in %d"), err1);
+    
+    CleanupStack::PopAndDestroy(3, db1);
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp10.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,1465 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp10.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLandmarkCategory.h>
+#include <EPos_CPosLandmark.h>
+#include <EPos_CPosLMOperation.h> 
+#include <e32math.h> 
+
+#include "FT_LandmarkConstants.h"
+
+// CONSTANTS
+const TInt KNoCategoriesTp10  = 100;
+const TInt KNoLandmarksTp10 = 100;      
+
+const TInt KAddStartIndex=5;
+const TInt KAddEndIndex=20;
+const TInt KAddCategoryIndex=8;
+
+const TInt KAddStartIndexAsync=21;
+const TInt KAddEndIndexAsync=82;
+const TInt KAddCategoryIndexAsync=10;
+
+const TInt KRemoveStartIndex=85;
+const TInt KRemoveEndIndex=95;
+
+const TInt KRemoveStartIndexAsync=75;
+const TInt KRemoveEndIndexAsync=84;
+
+const TInt KRemoveSetStartIndex=50;
+const TInt KRemoveSetEndIndex=74;
+
+const TInt KRemoveSetStartIndexAsync=0;
+const TInt KRemoveSetEndIndexAsync=49;
+
+
+    
+// ================= MEMBER FUNCTIONS =======================
+
+
+// ---------------------------------------------------------
+// CPosTp10::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp10::StartL()
+    {
+    _LIT(KLogFileName, "c:\\documents\\TP10TimeMeasurements.txt");
+    
+    RemoveDefaultDbL();
+    RemoveAllLmDatabasesL();
+    // Test LMREQ121 below
+    TestMissingCategories1L();
+    RemoveDefaultDbL();
+    RemoveAllLmDatabasesL();
+    TestMissingCategories2L();
+
+    RemoveDefaultDbL();
+    RemoveAllLmDatabasesL();
+
+    _LIT(KTestPath, "c:\\system\\test\\testdata\\");
+    // copy the test db to the private path
+    CFileMan* fileMan = CFileMan::NewL(iFileSession);
+    CleanupStack::PushL(fileMan);
+
+    TBuf<150> srcPath;
+
+    srcPath.Append(KTestPath);
+    srcPath.Append(KTp10TestDb);
+
+    TInt err = fileMan->Copy(srcPath, KLmTp10DefaultDbPath,
+            CFileMan::EOverWrite);
+    if (err != KErrNone)
+        iLog->Log(_L("Error when copying file"));
+
+    CleanupStack::PopAndDestroy(fileMan);
+    CPosLmDatabaseManager* manager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(manager);
+
+    // This db must exist
+    manager->SetDefaultDatabaseUriL(KTp10TestDb);
+    CleanupStack::PopAndDestroy(manager);
+
+    iDatabase= CPosLandmarkDatabase::OpenL(KTp10TestDb);
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL()); // Synchronous since no argument
+       }
+    
+    TTime start, stop, totalStart, totalStop;
+    totalStart.UniversalTime();
+	
+	start.UniversalTime();
+    iCategoryManager = CPosLmCategoryManager::NewL(*iDatabase); 
+    stop.UniversalTime();
+    	
+    TInt64 msec = (stop.Int64() - start.Int64());
+	TBuf8<KMsgBufSize> msg;
+	_LIT8(KTrace, "CPosLmCategoryManager::NewL = %d usec");
+	msg.Format(KTrace, msec);
+	LogToFileL(KLogFileName, msg);
+	
+// Add Category    
+    start.UniversalTime();
+    AddCategoriesL();
+    stop.UniversalTime();
+    	
+    msec = (stop.Int64() - start.Int64())/1000;
+	_LIT8(KTrace2, "AddCategoriesL = %d msec");
+	msg.Format(KTrace2, msec);
+	LogToFileL(KLogFileName, msg);
+	
+// Read Category    
+	start.UniversalTime();
+    ReadCategoriesL();
+    stop.UniversalTime();
+    
+    msec = (stop.Int64() - start.Int64())/1000;
+    _LIT8(KTrace3, "ReadCategoriesL = %d msec");
+	msg.Format(KTrace3, msec);
+	LogToFileL(KLogFileName, msg);
+	
+// Update Category    
+	start.UniversalTime();
+    UpdateCategoriesL();
+    stop.UniversalTime();
+    
+    msec = (stop.Int64() - start.Int64())/1000;
+    _LIT8(KTrace4, "UpdateCategoriesL = %d msec");
+	msg.Format(KTrace4, msec);
+	LogToFileL(KLogFileName, msg);
+	
+    ReadCategoriesL();
+    AddLandmarksL();
+    
+// Add Categories to LM synch
+    start.UniversalTime();
+    AddCategoriesToLandmarksL();
+    stop.UniversalTime();
+    
+    msec = (stop.Int64() - start.Int64())/1000;
+    _LIT8(KTrace5, "AddCategoriesToLandmarksL = %d msec");
+	msg.Format(KTrace5, msec);
+	LogToFileL(KLogFileName, msg);
+	
+// Add Categories to LM asynch
+	start.UniversalTime();
+    AddCategoriesToLandmarksAsyncL();
+    stop.UniversalTime();
+    
+    msec = (stop.Int64() - start.Int64())/1000;
+    _LIT8(KTrace6, "AddCategoriesToLandmarksAsyncL = %d msec");
+	msg.Format(KTrace6, msec);
+	LogToFileL(KLogFileName, msg);
+	
+    AddCategoriesToLandmarksAsyncErrCheckL();
+
+// Add Categories to LM using WaitForReq
+	start.UniversalTime();
+    AddCategoriesToLandmarksUsingWaitForReqL();
+    stop.UniversalTime();
+    
+    msec = (stop.Int64() - start.Int64())/1000;
+    _LIT8(KTrace6b, "AddCategoriesToLandmarksUsingWaitForReqL = %d msec");
+	msg.Format(KTrace6b, msec);
+	LogToFileL(KLogFileName, msg);
+	
+    AddCategoriesToLandmarksAsyncErrCheckL();
+
+// Remove Category synchronously
+    ExecuteAndDeleteLD(iDatabase->CompactL());
+    start.UniversalTime();
+    RemoveCategoryL();
+    stop.UniversalTime();
+    
+    msec = (stop.Int64() - start.Int64())/1000;
+    _LIT8(KTrace7, "RemoveCategoryL = %d msec");
+	msg.Format(KTrace7, msec);
+	LogToFileL(KLogFileName, msg);
+    
+// Remove Category asynchronously
+    start.UniversalTime();
+    RemoveCategoryAsyncL();
+    stop.UniversalTime();
+    ExecuteAndDeleteLD(iDatabase->CompactL());
+    
+    msec = (stop.Int64() - start.Int64())/1000;
+    _LIT8(KTrace8, "RemoveCategoryAsyncL = %d msec");
+	msg.Format(KTrace8, msec);
+	LogToFileL(KLogFileName, msg);
+    
+// Remove Category using WaitForRequest
+    start.UniversalTime();
+    RemoveCategoryUsingWaitForReqL();
+    stop.UniversalTime();
+    ExecuteAndDeleteLD(iDatabase->CompactL());
+    
+    msec = (stop.Int64() - start.Int64())/1000;
+    _LIT8(KTrace8b, "RemoveCategoryUsingWaitForReqL = %d msec");
+	msg.Format(KTrace8b, msec);
+	LogToFileL(KLogFileName, msg);
+    
+// Remove set of categories synchronously
+    start.UniversalTime();
+    RemoveSetOfCategoriesL();
+    stop.UniversalTime();
+    ExecuteAndDeleteLD(iDatabase->CompactL());
+    
+    msec = (stop.Int64() - start.Int64())/1000;
+    _LIT8(KTrace9, "RemoveSetOfCategoriesL = %d msec");
+	msg.Format(KTrace9, msec);
+	LogToFileL(KLogFileName, msg);
+	
+// Remove set of categories asynchronously
+    start.UniversalTime();
+    RemoveSetOfCategoriesAsyncL();
+    stop.UniversalTime();
+    ExecuteAndDeleteLD(iDatabase->CompactL());
+    
+    msec = (stop.Int64() - start.Int64())/1000;
+    _LIT8(KTrace10, "RemoveSetOfCategoriesAsyncL = %d msec");
+	msg.Format(KTrace10, msec);
+	LogToFileL(KLogFileName, msg);
+	
+// Remove set of categories using WaitForRequest
+    start.UniversalTime();
+    RemoveSetOfCategoriesUsingWaitForReqL();
+    stop.UniversalTime();
+    ExecuteAndDeleteLD(iDatabase->CompactL());
+    
+    msec = (stop.Int64() - start.Int64())/1000;
+    _LIT8(KTrace10b, "RemoveSetOfCategoriesUsingWaitForReqL = %d msec");
+	msg.Format(KTrace10b, msec);
+	LogToFileL(KLogFileName, msg);
+	
+// Remove category from set of landmarks synchronously
+    iCategories.ResetAndDestroy();
+    AddCategoriesL();
+    AddCategoriesToLandmarksL();
+    ExecuteAndDeleteLD(iDatabase->CompactL());
+
+    start.UniversalTime();
+    RemoveCategoryFromSetOfLandmarksL();
+    stop.UniversalTime();
+    
+    msec = (stop.Int64() - start.Int64())/1000;
+    _LIT8(KTrace11, "RemoveCategoryFromSetOfLandmarksL = %d msec");
+	msg.Format(KTrace11, msec);
+	LogToFileL(KLogFileName, msg);
+	
+// Remove category from set of landmarks asynchronously
+	start.UniversalTime();
+    RemoveCategoryFromSetOfLandmarksAsyncL();
+    stop.UniversalTime();
+    ExecuteAndDeleteLD(iDatabase->CompactL());
+    
+    msec = (stop.Int64() - start.Int64())/1000;
+    _LIT8(KTrace12, "RemoveCategoryFromSetOfLandmarksAsyncL = %d msec");
+	msg.Format(KTrace12, msec);
+	LogToFileL(KLogFileName, msg);
+
+// Remove category from set of landmarks using User::WaitForRequest()
+	start.UniversalTime();
+    RemoveCategoryFromSetOfLandmarksUsingWaitForReqL();
+    stop.UniversalTime();
+    ExecuteAndDeleteLD(iDatabase->CompactL());
+    
+    msec = (stop.Int64() - start.Int64())/1000;
+    _LIT8(KTrace12b, "RemoveCategoryFromSetOfLandmarksUsingWaitForReqL = %d msec");
+	msg.Format(KTrace12b, msec);
+	LogToFileL(KLogFileName, msg);
+
+    AddCategoriesToLandmarksL();
+    delete iDatabase;
+    iDatabase=NULL;
+    delete iCategoryManager;
+    iCategoryManager = NULL;
+    
+    iLog->Log(_L("BEFORE : BackupDbFileL"));
+    iDatabase = BackupTp10DbFileL();
+    iLog->Log(_L("AFTER : BackupDbFileL"));
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+    iCategoryManager = CPosLmCategoryManager::NewL(*iDatabase); 
+
+	// Cancel tests immediately
+    iLog->Log(_L("TESTS BELOW ARE TESTING CANCEL"));
+    AddCategoriesToLandmarksAsyncAndCancelL();
+    RemoveCategoryAsyncAndCancelL();
+    RemoveSetOfCategoriesAsyncAndCancelL();
+    RemoveCategoryFromSetOfLandmarksAsyncAndCancelL();
+
+	// Cancel tests after a while
+    iLog->Log(_L("TESTS BELOW ARE CANCEL IN CALLBACK"));
+    delete iDatabase;
+    iDatabase=NULL;
+    
+    
+    iLog->Log(_L("BEFORE : RestoreDbFileL"));
+    iDatabase = RestoreTp10DbFileL();
+    iLog->Log(_L("AFTER : RestoreDbFileL"));
+    
+    
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+    delete iCategoryManager;
+    iCategoryManager = NULL;
+    iCategoryManager = CPosLmCategoryManager::NewL(*iDatabase); 
+    
+    ExecuteAndDeleteLD(iDatabase->CompactL());
+    AddCategoriesToLandmarksAsyncAndCancelL(ETrue);
+    RemoveCategoryAsyncAndCancelL(ETrue);
+    RemoveSetOfCategoriesAsyncAndCancelL(ETrue);
+    delete iDatabase;
+    iDatabase=NULL;
+    iDatabase = RestoreTp10DbFileL();
+    
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+    delete iCategoryManager;
+    iCategoryManager = NULL;
+    iCategoryManager = CPosLmCategoryManager::NewL(*iDatabase); 
+    ExecuteAndDeleteLD(iDatabase->CompactL());
+    RemoveCategoryFromSetOfLandmarksAsyncAndCancelL(ETrue);
+    
+
+    totalStop.UniversalTime();   
+    msec = (totalStop.Int64() - totalStart.Int64())/1000;
+    _LIT8(KTrace13, "Complete test case = %d msec");
+	msg.Format(KTrace13, msec);
+	LogToFileL(KLogFileName, msg);
+
+    }
+
+// ---------------------------------------------------------
+// CPosTp10::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp10::CloseTest()
+    {
+    iCategories.ResetAndDestroy();
+    iCategories.Close();
+    iLandmarks.ResetAndDestroy();
+    iLandmarks.Close();
+    delete iDatabase;
+    iDatabase=NULL;
+    delete iCategoryManager;
+    iCategoryManager=NULL;
+    }
+
+// ---------------------------------------------------------
+// CPosTp10::AddCategoriesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp10::AddCategoriesL()
+    {
+    iLog->Log(_L("Adding and copying categories"));
+    _LIT(KAlreadyExistErr, "A category with the same name is already added so add should return KErrAlreadyExists");    
+    _LIT(KNoNameErr, "The Category has no name so add should return KErrArgument");
+    
+    _LIT(KCategoryName, "CategoryTP10 - %d");
+    
+    TInt index=0;
+    while (index < KNoCategoriesTp10)
+        {
+        TBuf<100> name;
+        name.Format(KCategoryName, ++index);
+        CPosLandmarkCategory* category = CreateCategoryLC(name);
+        
+        CPosLandmarkCategory* copy = CPosLandmarkCategory::NewLC(*category);
+        name.Format(KCategoryName, ++index);
+        copy->SetCategoryNameL(name); 
+
+        CPosLandmarkCategory* category2 = CPosLandmarkCategory::NewL();
+        CleanupStack::PushL(category2);
+        name.Format(KCategoryName, ++index);
+        category2->SetCategoryNameL(name); 
+
+        CPosLandmarkCategory* copy2 = CPosLandmarkCategory::NewL(*category2);
+        CleanupStack::PushL(copy2); 
+        name.Format(KCategoryName, ++index);
+        copy2->SetCategoryNameL(name); 
+        
+        ExecuteAndDeleteLD(iDatabase->CompactL());
+        iCategoryManager->AddCategoryL(*category);
+        iCategoryManager->AddCategoryL(*copy);
+        iCategoryManager->AddCategoryL(*category2);
+        iCategoryManager->AddCategoryL(*copy2);
+      
+        CPosLandmarkCategory* category3 = CPosLandmarkCategory::NewLC();
+        category3->SetCategoryNameL(name);
+  
+        TInt err = 0;
+        TRAP(err, iCategoryManager->AddCategoryL(*category3));
+        AssertTrueSecL(err == KErrAlreadyExists, KAlreadyExistErr);    
+        CleanupStack::PopAndDestroy(category3);
+
+        CPosLandmarkCategory* category4 = CPosLandmarkCategory::NewLC();
+        TRAP(err, iCategoryManager->AddCategoryL(*category3));
+        AssertTrueSecL(err == KErrArgument, KNoNameErr);    
+        CleanupStack::PopAndDestroy(category4);
+
+        iCategories.Append(category);
+        iCategories.Append(copy);
+        iCategories.Append(category2);
+        iCategories.Append(copy2);
+
+        CleanupStack::Pop(4); 
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp10::CompareTwoCategoriesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp10::CompareTwoCategoriesL(TInt aIndex)
+    {
+    CPosLandmarkCategory* category = iCategoryManager->ReadCategoryLC(iCategories[aIndex]->CategoryId());
+    CompareCategoriesL(*iCategories[aIndex], *category);    
+    CleanupStack::PopAndDestroy(category);
+    }
+    
+// ---------------------------------------------------------
+// CPosTp10::ReadCategoriesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp10::ReadCategoriesL()
+    {
+    iLog->Log(_L("Reading categories"));
+    _LIT(KReadNotFoundErr, "The category id doesn't exist so ReadCategory should return not found");    
+    
+    for (TInt i = 0; i<iCategories.Count(); i++)
+        {
+        
+        TInt err = KErrLocked;
+        while (err == KErrLocked)
+            {
+            TRAP(err, CompareTwoCategoriesL(i));
+            if (err == KErrLocked) 
+                {
+                iLog->Log(_L("KErrLocked from CompareTwoCategoriesL, try again"));
+                User::After(100000);
+                }
+            }
+        }
+    
+    TPosLmItemId id = 5123321;
+    
+    CPosLandmarkCategory* category=NULL;
+    TRAPD(err, category=iCategoryManager->ReadCategoryLC(id));
+    delete category;
+    AssertTrueSecL(err == KErrNotFound, KReadNotFoundErr);
+    }
+
+// ---------------------------------------------------------
+// CPosTp10::UpdateCategoriesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp10::UpdateCategoriesL()
+    {
+    iLog->Log(_L("Updating categories"));    
+    _LIT(KCategoryNameNotSetErr, "UpdateCategory does not leave with KErrArgumenet when name is not set");
+    _LIT(KCategoryExistsErr, "UpdateCategory does not leave with KErrAlreadyExist");
+
+    TInt err;
+    ExecuteAndDeleteLD(iDatabase->CompactL());
+    CPosLandmarkCategory* category = CPosLandmarkCategory::NewLC();
+    TRAP(err, iCategoryManager->UpdateCategoryL(*category));
+    AssertTrueSecL(err == KErrArgument, KCategoryNameNotSetErr);    
+    CleanupStack::PopAndDestroy(category);
+
+    CPosLandmarkCategory* category2 = CPosLandmarkCategory::NewLC(*iCategories[0]);
+
+    TPtrC nameThatExist;
+    User::LeaveIfError(iCategories[1]->GetCategoryName(nameThatExist));
+    category2->SetCategoryNameL(nameThatExist);
+    TRAP(err, iCategoryManager->UpdateCategoryL(*category2));
+    AssertTrueSecL(err == KErrAlreadyExists, KCategoryExistsErr);    
+    CleanupStack::PopAndDestroy(category2);
+    
+    _LIT(KUpdatedCategoryName, "UpdatedCategoryTP10 - %d");
+
+    for (TInt i = 0; i<iCategories.Count(); i++)
+        {
+        TBuf<100> name;
+        name.Format(KUpdatedCategoryName, i);
+        iCategories[i]->SetCategoryNameL(name);
+        iCategories[i]->SetIconL(KMbmFileName2, KIconIndex2, KPosLmIconMaskNotUsed);
+        err = KErrLocked;
+        while (err == KErrLocked)
+            {
+            TRAP(err, iCategoryManager->UpdateCategoryL(*iCategories[i]));
+            }
+
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp10::AddLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp10::AddLandmarksL()
+    {
+    iLog->Log(_L("Adding landmarks"));    
+    _LIT(KLmName, "LmTP10 - %d");
+    _LIT(KLmDescription, "LmTP10Description - %d");
+    
+    for (TInt i=0; i<(KNoLandmarksTp10); i++)
+        {
+        TBuf<100> lmName;
+        lmName.Format(KLmName,i);
+        TBuf<100> lmDesc;
+        lmDesc.Format(KLmDescription,i);
+     
+        CPosLandmark* landmark = CPosLandmark::NewLC();  
+        landmark->SetLandmarkNameL(lmName);
+        landmark->SetLandmarkDescriptionL(lmDesc);
+        
+        landmark->AddCategoryL(iCategories[i]->CategoryId());
+       
+        TInt err=KErrLocked;
+        while (err==KErrLocked)
+            {
+            TRAP(err, iDatabase->AddLandmarkL(*landmark));
+            }
+        iLandmarks.Append(landmark);
+        CleanupStack::Pop(); 
+        }
+    } 
+
+// ---------------------------------------------------------
+// CPosTp10::AddCategoriesToSetOfLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp10::AddCategoriesToLandmarksL()
+    {
+    iLog->Log(_L("Adding categories to landmarks"));  
+    
+    RArray<TPosLmItemId> landmarksIds;
+    CleanupClosePushL(landmarksIds);
+    for(TInt i=KAddStartIndex; i<=KAddEndIndex; i++)
+        {
+        landmarksIds.Append(iLandmarks[i]->LandmarkId());
+        iLandmarks[i]->AddCategoryL(iCategories[KAddCategoryIndex]->CategoryId());
+        }
+ 
+    // Add some invalid as well
+    landmarksIds.Append(2000);
+    landmarksIds.Append(3000);
+    
+    TInt err=KErrLocked;
+    while (err==KErrLocked)
+    	{
+    	TRAP( err, ExecuteAndDeleteLD(iCategoryManager->AddCategoryToLandmarksL(
+                                    iCategories[KAddCategoryIndex]->CategoryId(), 
+                                    landmarksIds)) );
+      }
+    
+    CleanupStack::PopAndDestroy(&landmarksIds); 
+    CheckLandmarksL();
+    }
+
+// ---------------------------------------------------------
+// CPosTp10::AddCategoriesToSetOfLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp10::AddCategoriesToLandmarksAsyncL()
+    {
+    iLog->Log(_L("Adding categories to landmarks asynchronously"));
+    RArray<TPosLmItemId> landmarksIds;
+    CleanupClosePushL(landmarksIds);
+    
+    for(TInt i=KAddStartIndexAsync; i<=KAddEndIndexAsync; i++)
+        {
+        landmarksIds.Append(iLandmarks[i]->LandmarkId());
+        iLandmarks[i]->AddCategoryL(iCategories[KAddCategoryIndexAsync]->CategoryId());
+        }
+ 
+    
+    RunAsyncOperationLD(iCategoryManager->AddCategoryToLandmarksL(
+                                        iCategories[KAddCategoryIndexAsync]->CategoryId(), 
+                                        landmarksIds
+                                        ));
+    CheckLandmarksL();
+    
+    CleanupStack::PopAndDestroy(&landmarksIds);
+    }
+
+// ---------------------------------------------------------
+// CPosTp10::AddCategoriesToLandmarksUsingWaitForReqL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp10::AddCategoriesToLandmarksUsingWaitForReqL()
+    {
+    iLog->Log(_L("AddCategoriesToLandmarksUsingWaitForReqL"));
+    RArray<TPosLmItemId> landmarksIds;
+    CleanupClosePushL(landmarksIds);
+    
+    for(TInt i=KAddStartIndexAsync; i<=KAddEndIndexAsync; i++)
+        {
+        landmarksIds.Append(iLandmarks[i]->LandmarkId());
+        iLandmarks[i]->AddCategoryL(iCategories[KAddCategoryIndexAsync]->CategoryId());
+        }
+ 
+    CPosLmOperation* op = iCategoryManager->AddCategoryToLandmarksL(
+        iCategories[KAddCategoryIndexAsync]->CategoryId(), 
+        landmarksIds);
+    CleanupStack::PushL(op);
+    RunAsyncOperationByWaitForReqL(op);
+    CleanupStack::PopAndDestroy(op);
+
+    CheckLandmarksL();
+    
+    CleanupStack::PopAndDestroy(&landmarksIds);
+    }
+
+// ---------------------------------------------------------
+// CPosTp10::AddCategoriesToSetOfLandmarksAndCancelL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp10::AddCategoriesToLandmarksAsyncAndCancelL(const TBool& aInCallback)
+    {
+    iLog->Log(_L("Adding categories to landmarks asyncronously and cancel"));
+    RArray<TPosLmItemId> landmarksIds;
+    CleanupClosePushL(landmarksIds);
+    
+    for(TInt i=KAddStartIndexAsync; i<=KAddEndIndexAsync; i++)
+        {
+        landmarksIds.Append(iLandmarks[i]->LandmarkId());
+        iLandmarks[i]->AddCategoryL(iCategories[KAddCategoryIndexAsync]->CategoryId());
+        }
+ 
+    if (aInCallback)
+        {
+        RunAsyncOperationAndCancelInCallbackLD(iCategoryManager->AddCategoryToLandmarksL(
+                                        iCategories[KAddCategoryIndexAsync]->CategoryId(), 
+                                        landmarksIds
+                                        ));
+        }
+    else
+        {
+        RunAsyncOperationAndCancelLD(iCategoryManager->AddCategoryToLandmarksL(
+                                        iCategories[KAddCategoryIndexAsync]->CategoryId(), 
+                                        landmarksIds 
+                                        ));
+        }
+
+    CleanupStack::PopAndDestroy(&landmarksIds);
+    }
+
+// ---------------------------------------------------------
+// CPosTp10::AddCategoriesToLandmarksAsyncErrCheckL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp10::AddCategoriesToLandmarksAsyncErrCheckL()
+    {
+    iLog->Log(_L("Adding category not in db to landmarks async."));
+
+    _LIT(KNotFoundErr, "AddCategoryToLandmarksL is not returning -1 for a category id not in db");
+
+    TPosLmItemId idNotInDb = 5123321;
+    
+    RArray<TPosLmItemId> landmarksIds;
+    CleanupClosePushL(landmarksIds);
+
+    landmarksIds.Append(iLandmarks[0]->LandmarkId());
+   
+    TRAPD(err, iOperation = iCategoryManager->AddCategoryToLandmarksL(idNotInDb, landmarksIds));
+    
+    AssertTrueSecL(err == KErrNotFound, KNotFoundErr);
+    
+  
+    iOperation = NULL;
+    CleanupStack::PopAndDestroy(&landmarksIds);
+    }
+
+// ---------------------------------------------------------
+// CPosTp10::CheckLandmarks
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp10::CheckLandmarksL()
+    {
+    for (TInt i = 0; i<iLandmarks.Count(); i++)
+        {
+        CPosLandmark* lm = iDatabase->ReadLandmarkLC(iLandmarks[i]->LandmarkId());
+        CompareLandmarksL(*iLandmarks[i], *lm);    
+        CleanupStack::PopAndDestroy(); // lm 
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp10::RemoveCategoryL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp10::RemoveCategoryL()
+    {
+    iLog->Log(_L("Removing categories"));
+  
+    TInt i=0;  
+    for (i=0; i<iLandmarks.Count(); i++)
+        {
+        iLandmarks[i]->AddCategoryL(iCategories[KRemoveStartIndex]->CategoryId());
+        if (i % 2)
+            {
+            TInt index = 1+KRemoveStartIndex;
+            iLandmarks[i]->AddCategoryL(iCategories[index]->CategoryId());
+            }
+        }
+    
+    for (TInt j=0; j<2; j++)
+        {
+        for (i = KRemoveStartIndex; i <= KRemoveEndIndex; i++)
+            {    
+            ExecuteAndDeleteLD(iCategoryManager->RemoveCategoryL(iCategories[i]->CategoryId()));  
+            }
+        CheckRemovedL(KRemoveStartIndex, KRemoveEndIndex);
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp10::RemoveCategoryAsyncL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp10::RemoveCategoryAsyncL()
+    {
+    iLog->Log(_L("Removing categories asyncronously"));
+    TInt i=0;
+    for (i=0; i<iLandmarks.Count(); i++)
+        {
+        iLandmarks[i]->AddCategoryL(iCategories[KRemoveStartIndexAsync]->CategoryId());
+        if (i % 2)
+            {
+            TInt index = 1+KRemoveStartIndexAsync;
+            iLandmarks[i]->AddCategoryL(iCategories[index]->CategoryId());
+            }
+        }
+
+    for (TInt j=0; j<2; j++)
+        {
+        for (i = KRemoveStartIndexAsync; i <= KRemoveEndIndexAsync; i++)
+            {
+            RunAsyncOperationLD(iCategoryManager->RemoveCategoryL(iCategories[i]->CategoryId())); 
+            }
+        CheckRemovedL(KRemoveStartIndexAsync, KRemoveEndIndexAsync);
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp10::RemoveCategoryUsingWaitForReqL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp10::RemoveCategoryUsingWaitForReqL()
+    {
+    iLog->Log(_L("Removing categories using User::WaitForRequest"));
+    TInt i=0;
+    for (i=0; i<iLandmarks.Count(); i++)
+        {
+        iLandmarks[i]->AddCategoryL(iCategories[KRemoveStartIndexAsync]->CategoryId());
+        if (i % 2)
+            {
+            TInt index = 1+KRemoveStartIndexAsync;
+            iLandmarks[i]->AddCategoryL(iCategories[index]->CategoryId());
+            }
+        }
+
+    for (TInt j=0; j<2; j++)
+        {
+        for (i = KRemoveStartIndexAsync; i <= KRemoveEndIndexAsync; i++)
+            {
+            CPosLmOperation* op = iCategoryManager->RemoveCategoryL(iCategories[i]->CategoryId());
+            CleanupStack::PushL(op);
+            RunAsyncOperationByWaitForReqL(op);
+            CleanupStack::PopAndDestroy(op);
+            }
+        CheckRemovedL(KRemoveStartIndexAsync, KRemoveEndIndexAsync);
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp10::RemoveCategoryAsyncAndCancelL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp10::RemoveCategoryAsyncAndCancelL(const TBool& aInCallback)
+    {
+    iLog->Log(_L("Removing categories asyncronously and cancel"));
+    TInt i=0;
+    for (i=0; i<iLandmarks.Count(); i++)
+        {
+        iLandmarks[i]->AddCategoryL(iCategories[KRemoveStartIndexAsync]->CategoryId());
+        if (i % 2)
+            {
+            TInt index = 1+KRemoveStartIndexAsync;
+            iLandmarks[i]->AddCategoryL(iCategories[index]->CategoryId());
+            }
+        }
+
+    for (TInt j=0; j<2; j++)
+        {
+        for (i = KRemoveStartIndexAsync; i <= KRemoveEndIndexAsync; i++)
+            {
+            if (aInCallback)
+                {
+                RunAsyncOperationAndCancelInCallbackLD(iCategoryManager->RemoveCategoryL(iCategories[i]->CategoryId()));     
+                }
+            else
+                {
+                RunAsyncOperationAndCancelLD(iCategoryManager->RemoveCategoryL(iCategories[i]->CategoryId()));     
+                }
+            }
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp10::RemoveSetOfCategoriesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp10::RemoveSetOfCategoriesL()
+    {
+    iLog->Log(_L("Removing set of categories"));
+  
+    RArray<TPosLmItemId> ids;
+    CleanupClosePushL(ids);
+
+    for (TInt i=KRemoveSetStartIndex; i<=KRemoveSetEndIndex; i++)
+        {
+        ids.Append(iCategories[i]->CategoryId());
+        }
+    
+    for (TInt j=0; j<2; j++)
+        {
+        ExecuteAndDeleteLD(iCategoryManager->RemoveCategoriesL(ids));
+        
+        CheckRemovedL(KRemoveSetStartIndex, KRemoveSetEndIndex);
+        }
+    CleanupStack::PopAndDestroy(&ids); 
+    }
+
+// ---------------------------------------------------------
+// CPosTp10::RemoveSetOfCategoriesAsyncL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp10::RemoveSetOfCategoriesAsyncL()
+    {
+    iLog->Log(_L("Removing set of categories asyncronously"));
+    RArray<TPosLmItemId> ids;
+    CleanupClosePushL(ids);
+
+    TInt i=0;
+    for (i=KRemoveSetStartIndexAsync; i<=KRemoveSetEndIndexAsync; i++)
+        {
+        ids.Append(iCategories[i]->CategoryId());
+        }
+
+    for (TInt j=0; j<2; j++)
+        {
+        for (i = KRemoveSetStartIndexAsync; i <= KRemoveSetEndIndexAsync; i++)
+            {
+            TInt err = KErrLocked;
+            while (err == KErrLocked)
+                {
+                TRAP(err, RunAsyncOperationLD(iCategoryManager->RemoveCategoriesL(ids)));
+                }
+            } 
+        CheckRemovedL(KRemoveSetStartIndexAsync, KRemoveSetEndIndexAsync);
+        }
+    CleanupStack::PopAndDestroy(&ids); 
+    }
+
+// ---------------------------------------------------------
+// CPosTp10::RemoveSetOfCategoriesUsingWaitForReqL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp10::RemoveSetOfCategoriesUsingWaitForReqL()
+    {
+    iLog->Log(_L("Removing set of categories using User::WaitForRequest"));
+    RArray<TPosLmItemId> ids;
+    CleanupClosePushL(ids);
+
+    TInt i=0;
+    for (i=KRemoveSetStartIndexAsync; i<=KRemoveSetEndIndexAsync; i++)
+        {
+        ids.Append(iCategories[i]->CategoryId());
+        }
+        
+    // Add some unvalid ids as well
+    ids.Append(222);
+    ids.Append(223);
+
+    for (TInt j=0; j<2; j++)
+        {
+        for (i = KRemoveSetStartIndexAsync; i <= KRemoveSetEndIndexAsync; i++)
+            {
+            CPosLmOperation* op = iCategoryManager->RemoveCategoriesL(ids);
+            CleanupStack::PushL(op);
+            RunAsyncOperationByWaitForReqL(op);
+            CleanupStack::PopAndDestroy(op);
+            } 
+        CheckRemovedL(KRemoveSetStartIndexAsync, KRemoveSetEndIndexAsync);
+        }
+    CleanupStack::PopAndDestroy(&ids); 
+    }
+
+// ---------------------------------------------------------
+// CPosTp10::RemoveSetOfCategoriesAsyncAndCancelL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp10::RemoveSetOfCategoriesAsyncAndCancelL(const TBool& aInCallback)
+    {
+    iLog->Log(_L("Removing set of categories asyncronously and cancel"));
+    RArray<TPosLmItemId> ids;
+    CleanupClosePushL(ids);
+
+    TInt i=0;
+    for (i=KRemoveSetStartIndexAsync; i<=KRemoveSetEndIndexAsync; i++)
+        {
+        ids.Append(iCategories[i]->CategoryId());
+        }
+
+    for (TInt j=0; j<2; j++)
+        {
+        for (i = KRemoveSetStartIndexAsync; i <= KRemoveSetEndIndexAsync; i++)
+            {
+            if (aInCallback)
+                {
+                RunAsyncOperationAndCancelInCallbackLD(iCategoryManager->RemoveCategoriesL(ids)); 
+                }
+            else
+                {
+                RunAsyncOperationAndCancelLD(iCategoryManager->RemoveCategoriesL(ids)); 
+                }
+            } 
+        }
+    CleanupStack::PopAndDestroy(&ids); 
+    }
+
+// ---------------------------------------------------------
+// CPosTp10::RemoveCategoryFromSetOfLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp10::RemoveCategoryFromSetOfLandmarksL()
+    {
+    iLog->Log(_L("Removing set of categories from landmarks"));
+    RArray<TPosLmItemId> ids;
+    CleanupClosePushL(ids);
+
+    for (TInt i = KAddStartIndex; i<=KAddEndIndex; i++)
+        {
+        ids.Append(iLandmarks[i]->LandmarkId());
+        
+        iLandmarks[i]->RemoveCategory(iCategories[KAddCategoryIndex]->CategoryId());
+        }
+    // Append some non-existing as well
+    ids.Append(666);
+    ids.Append(667);
+    
+    for (TInt j=0; j<2; j++)
+        {
+        ExecuteAndDeleteLD(
+            iCategoryManager->RemoveCategoryFromLandmarksL(
+                iCategories[KAddCategoryIndex]->CategoryId(), 
+                ids)); 
+        
+        CheckLandmarksL();
+        }
+        
+    // Test that RemoveCategoryFromLandmarksL leaves with KErrNotFound if
+    // category is not found
+    TRAPD(err, iCategoryManager->ReadCategoryLC(123456));
+    if (err != KErrNotFound)
+    {
+    iLog->Log(_L("ReadCategoryLC should leave with KErrNotFound"));
+    User::Leave(err);
+    	
+    }
+    TRAP(err, iOperation = iCategoryManager->RemoveCategoryFromLandmarksL(123456 ,ids));
+    if (err == KErrNone) 
+        {
+        delete iOperation;
+        iOperation = NULL;
+        iLog->Log(_L("RemoveCategoryFromLandmarksL should leave with KErrNotFound"));
+        User::Leave(err);
+        }
+    if (err != KErrNotFound) 
+    {      
+    iLog->Log(_L("RemoveCategoryFromLandmarksL should leave with KErrNotFound"));
+    User::Leave(err);
+    }
+    CleanupStack::PopAndDestroy(&ids); 
+    }
+
+// ---------------------------------------------------------
+// CPosTp10::RemoveCategoryFromSetOfLandmarksAsyncL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp10::RemoveCategoryFromSetOfLandmarksAsyncL()
+    {
+    iLog->Log(_L("Removing set of categories from landmarks asyncronously"));
+    RArray<TPosLmItemId> ids;
+    CleanupClosePushL(ids);
+
+    TInt i=0;
+    for (i=KAddStartIndexAsync; i<=KAddEndIndexAsync; i++)
+        {
+        ids.Append(iLandmarks[i]->LandmarkId());
+        }
+    for (TInt j=0; j<2; j++)
+        {
+        
+        for (i = KAddStartIndexAsync; i <= KAddEndIndexAsync; i++)
+            {
+            RunAsyncOperationLD(iCategoryManager->RemoveCategoryFromLandmarksL(
+                iCategories[KAddCategoryIndexAsync]->CategoryId(),
+                ids
+                )); 
+            }
+        CheckLandmarksL(); 
+        }
+    CleanupStack::PopAndDestroy(&ids); 
+    }
+
+// ---------------------------------------------------------
+// CPosTp10::RemoveCategoryFromSetOfLandmarksUsingWaitForReqL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp10::RemoveCategoryFromSetOfLandmarksUsingWaitForReqL()
+    {
+    iLog->Log(_L("Removing set of categories from landmarks using User::WaitForRequest()"));
+    RArray<TPosLmItemId> ids;
+    CleanupClosePushL(ids);
+
+    TInt i=0;
+    for (i=KAddStartIndexAsync; i<=KAddEndIndexAsync; i++)
+        {
+        ids.Append(iLandmarks[i]->LandmarkId());
+        }
+    for (TInt j=0; j<2; j++)
+        {
+        
+        for (i = KAddStartIndexAsync; i <= KAddEndIndexAsync; i++)
+            {
+            CPosLmOperation* op = iCategoryManager->RemoveCategoryFromLandmarksL(
+                iCategories[KAddCategoryIndexAsync]->CategoryId(),
+                ids); 
+            CleanupStack::PushL(op);
+            RunAsyncOperationByWaitForReqL(op);
+            CleanupStack::PopAndDestroy(op);
+            }
+        CheckLandmarksL(); 
+        }
+    CleanupStack::PopAndDestroy(&ids); 
+    }
+
+// ---------------------------------------------------------
+// CPosTp10::RemoveCategoryFromSetOfLandmarksAsyncAndCancelL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp10::RemoveCategoryFromSetOfLandmarksAsyncAndCancelL(const TBool& aInCallback)
+    {
+    iLog->Log(_L("Removing set of categories from landmarks asyncronously and cancel"));
+    RArray<TPosLmItemId> ids;
+    CleanupClosePushL(ids);
+
+    TInt i=0;
+    for (i=KAddStartIndexAsync; i<=KAddEndIndexAsync; i++)
+        {
+        ids.Append(iLandmarks[i]->LandmarkId());
+        }
+    for (TInt j=0; j<2; j++)
+        {
+        for (i = KAddStartIndexAsync; i <= KAddEndIndexAsync; i++)
+            {
+            if (aInCallback)
+                {
+                RunAsyncOperationAndCancelInCallbackLD(
+                    iCategoryManager->RemoveCategoryFromLandmarksL(
+                    iCategories[KAddCategoryIndexAsync]->CategoryId(),
+                    ids
+                    ));
+                }
+            else
+                {
+                RunAsyncOperationAndCancelLD(
+                    iCategoryManager->RemoveCategoryFromLandmarksL(
+                    iCategories[KAddCategoryIndexAsync]->CategoryId(),
+                    ids 
+                    ));
+                }
+            }
+        }
+
+    CleanupStack::PopAndDestroy(&ids); 
+    }
+
+// ---------------------------------------------------------
+// CPosTp10::CheckRemoved
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp10::CheckRemovedL(const TInt aStartIndex, const TInt aStopIndex)
+    {
+    _LIT(KRemoveNotFoundErr, "Category has not been removed");
+    _LIT(KRemoveFoundErr, "Category should not been removed");
+
+    for (TInt i = 0; i<=aStopIndex; i++)
+        {
+        TRAPD(err, ReadCategoryL(iCategories[i]->CategoryId()));
+        if (i >= aStartIndex && i <= aStopIndex)
+            {
+            AssertTrueSecL(err == KErrNotFound, KRemoveNotFoundErr);                  
+            RemovedFromLandmarksInternalL(iCategories[i]->CategoryId());
+            }
+        else
+            {
+            AssertTrueSecL(err == KErrNone, KRemoveFoundErr);
+            }
+        }
+
+    CheckLandmarksL();
+
+    }
+
+// ---------------------------------------------------------
+// CPosTp10::RemovedFromLandmarksInternalL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp10::RemovedFromLandmarksInternalL(TPosLmItemId aCategoryId)
+    {
+    for (TInt i = 0; i < iLandmarks.Count(); i++)
+        {
+        iLandmarks[i]->RemoveCategory(aCategoryId);
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp10::ReadCategoryL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp10::ReadCategoryL(TPosLmItemId aCategoryId)
+    {
+    CPosLandmarkCategory* lmc = iCategoryManager->ReadCategoryLC(aCategoryId);
+    CleanupStack::PopAndDestroy(lmc);
+    }
+
+// ---------------------------------------------------------
+// CPosTp10::TestMissingCategories1L
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp10::TestMissingCategories1L()
+    {
+    iLog->Log(_L("TestMissingCategories1L"));
+    _LIT(KTestPath, "c:\\system\\test\\testdata\\");
+    // copy the test db to the private path
+    CFileMan* fileMan = CFileMan::NewL(iFileSession);
+    CleanupStack::PushL(fileMan);
+
+    TBuf<150> srcPath;
+
+    srcPath.Append(KTestPath);
+    srcPath.Append(KTp10TestDb);
+
+    TInt err = fileMan->Copy(srcPath, KLmTp10DefaultDbPath,
+            CFileMan::EOverWrite);
+    if (err != KErrNone)
+        iLog->Log(_L("Error when copying file"));
+
+    CleanupStack::PopAndDestroy(fileMan);
+    CPosLmDatabaseManager* manager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(manager);
+
+    // This db must exist
+    manager->SetDefaultDatabaseUriL(KTp10TestDb);
+    CleanupStack::PopAndDestroy(manager);
+
+    CPosLandmarkDatabase* lmd = CPosLandmarkDatabase::OpenL(KTp10TestDb);
+    CleanupStack::PushL(lmd);
+
+    if (lmd->IsInitializingNeeded())
+        {
+        ExecuteAndDeleteLD(lmd->InitializeL());
+        }
+        
+    ExecuteAndDeleteLD(lmd->CompactL());
+    
+    // Remove categories 1,2,3 (Pizzeria, Hamburgerbar, Kinarestaurang)
+    // Landmark with id=7 "Billigt" contains categories: 1,2,3 and 14-17
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*lmd);
+    CleanupStack::PushL(categoryManager);   
+
+    CPosLandmark* lm = lmd->ReadLandmarkLC(7);
+
+    ExecuteAndDeleteLD(categoryManager->RemoveCategoryL(1));
+    ExecuteAndDeleteLD(categoryManager->RemoveCategoryL(2));
+    ExecuteAndDeleteLD(categoryManager->RemoveCategoryL(3));
+
+    // Change landmark name and update landmark, the server must not crash
+    lm->SetLandmarkNameL(_L("NyttBilligtNamn"));
+
+    lmd->UpdateLandmarkL(*lm);
+
+    CleanupStack::PopAndDestroy(lm);
+    lm = lmd->ReadLandmarkLC(7);
+
+    RArray<TPosLmItemId> categories;
+    CleanupClosePushL(categories);
+    lm->GetCategoriesL(categories);
+
+    // Now list all categories belonging to this landmark
+    // verify that the removed categories 1,2,3 are no longer referred from this landmark
+    // Should now only contain 14-17
+    if (categories.Count() != 4)
+        {
+         iLog->Log(_L("Wrong number of categories"));
+         User::Leave(-1);
+        }
+
+    for (TInt i=0;i<categories.Count();i++)
+        {
+        if (categories[i] == 1 || categories[i] == 2 || categories[i] == 3)
+            {
+            iLog->Log(_L("Wrong number of categories"));
+         	User::Leave(-1);	
+            }
+        }
+
+    CleanupStack::PopAndDestroy(&categories);
+    CleanupStack::PopAndDestroy(lm);
+    CleanupStack::PopAndDestroy(categoryManager);
+    CleanupStack::PopAndDestroy(lmd);
+    }
+
+// ---------------------------------------------------------
+// CPosTp10::TestMissingCategories2L
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp10::TestMissingCategories2L()
+    {
+    iLog->Log(_L("TestMissingCategories2L"));
+    
+    _LIT(KTestPath, "c:\\system\\test\\testdata\\");
+    // copy the test db to the private path
+    CFileMan* fileMan = CFileMan::NewL(iFileSession);
+    CleanupStack::PushL(fileMan);
+
+    TBuf<150> srcPath;
+
+    srcPath.Append(KTestPath);
+    srcPath.Append(KTp10TestDb);
+
+    TInt err = fileMan->Copy(srcPath, KLmTp10DefaultDbPath,
+            CFileMan::EOverWrite);
+    if (err != KErrNone)
+        iLog->Log(_L("Error when copying file"));
+
+    CleanupStack::PopAndDestroy(fileMan);
+    CPosLmDatabaseManager* manager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(manager);
+
+    // This db must exist
+    manager->SetDefaultDatabaseUriL(KTp10TestDb);
+    CleanupStack::PopAndDestroy(manager);
+
+    CPosLandmarkDatabase* lmd = CPosLandmarkDatabase::OpenL(KTp10TestDb);
+    CleanupStack::PushL(lmd);
+
+    if (lmd->IsInitializingNeeded())
+        {
+        ExecuteAndDeleteLD(lmd->InitializeL());
+        }
+
+    ExecuteAndDeleteLD(lmd->CompactL());
+
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*lmd);
+    CleanupStack::PushL(categoryManager);
+
+    // Now create a landmark containing some categories, before adding this landmark to
+    // the database remove some of the categories from the landmarks database
+    CPosLandmark* lm = CreateXMLLandmarkLC(_L("PelleFantLandmark"));
+    // Add categories with id=7, id=14 and id=10 to this landmark
+    lm->AddCategoryL(7);
+    lm->AddCategoryL(14);
+    lm->AddCategoryL(10);
+
+    //Then remove categories id=14 and id=7 from the landmark db
+    ExecuteAndDeleteLD(categoryManager->RemoveCategoryL(14));
+    ExecuteAndDeleteLD(categoryManager->RemoveCategoryL(7));
+
+    TPosLmItemId id = lmd->AddLandmarkL(*lm);
+    
+    CleanupStack::PopAndDestroy(lm);
+
+    lm = lmd->ReadLandmarkLC(id);
+
+    RArray<TPosLmItemId> categories;
+    CleanupClosePushL(categories);
+    lm->GetCategoriesL(categories);
+
+    // Now list all categories belonging to this landmark
+    if (categories.Count() != 1)
+        {
+        TBuf<50> buf;
+        buf.Format(_L("Wrong number of categories, was %d should be %d"), categories.Count(), 1);
+        for (TInt j=0;j<categories.Count();j++)
+            {
+            TBuf<50> buffe;
+            buffe.Format(_L("%d Category id: %d"), j, categories[j]);
+            iLog->Log(buffe);
+            }
+        iLog->Log(buf);
+        User::Leave(KErrNone);
+        }
+
+    for (TInt i=0;i<categories.Count();i++)
+        {
+        if (categories[i] == 7 || categories[i] == 14)
+            {
+            iLog->Log(_L("Wrong number of categories"));
+            User::Leave(-1);
+            }
+        }
+    CleanupStack::PopAndDestroy(&categories);
+    CleanupStack::PopAndDestroy(lm);
+    CleanupStack::PopAndDestroy(categoryManager);
+    CleanupStack::PopAndDestroy(lmd);
+
+    }
+
+// ---------------------------------------------------------
+// CPosTp10::BackupTp10DbFileL()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+CPosLandmarkDatabase* CPosTp10::BackupTp10DbFileL()
+    {
+
+    CPosLmDatabaseManager* manager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(manager);
+    manager->SetDefaultDatabaseUriL(KTp10TestDb);
+    HBufC* defaultDbUri = manager->DefaultDatabaseUriLC();
+    TBuf<255> buf;
+    // Extract URI except characters ".ldb"
+    buf.Append(defaultDbUri->Left(defaultDbUri->Length()-4));
+    buf.Append(_L("COPY.LDB"));
+    // Delete in case it already exist
+    TRAPD(err, manager->DeleteDatabaseL(buf));
+    if (err != KErrNone && err != KErrNotFound) iLog->Log(_L("Could not delete file"));
+    manager->CopyDatabaseL(*defaultDbUri, buf);
+
+    CleanupStack::PopAndDestroy(defaultDbUri);
+    CleanupStack::PopAndDestroy(manager);
+    return CPosLandmarkDatabase::OpenL();
+    }
+
+// ---------------------------------------------------------
+// CPosTp10::RestoreTp10DbFileL()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+CPosLandmarkDatabase* CPosTp10::RestoreTp10DbFileL()
+    {
+
+
+    CPosLmDatabaseManager* manager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(manager);
+    manager->SetDefaultDatabaseUriL(KTp10TestDb);
+    HBufC* defaultDbUri = manager->DefaultDatabaseUriLC();
+    TBuf<255> buf;
+    // Extract URI except characters ".ldb"
+    buf.Append(defaultDbUri->Left(defaultDbUri->Length()-4));
+    buf.Append(_L("COPY.LDB"));
+    // Delete in case it already exist
+    TRAPD(err, manager->DeleteDatabaseL(*defaultDbUri));
+    if (err != KErrNone && err != KErrNotFound) iLog->Log(_L("Could not delete file"));
+    manager->CopyDatabaseL(buf, *defaultDbUri);
+
+    CleanupStack::PopAndDestroy(defaultDbUri);
+    CleanupStack::PopAndDestroy(manager);
+    return CPosLandmarkDatabase::OpenL();
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp100.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,383 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp100.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLandmarkEncoder.h>
+#include <EPos_CPosLmDatabaseManager.h>
+#include "FT_LandmarkConstants.h"
+
+
+// CONSTANTS  
+
+_LIT(KDb1, "eposlm1.ldb");
+_LIT(KDb2, "eposlm2.ldb");
+_LIT(KDb3, "eposlm3.ldb");
+
+_LIT(KDbUri1, "file://c:eposlm.ldb");
+_LIT(KDbUri2, "c:eposlm.ldb");
+_LIT(KDbUri3, "eposlm.ldb");
+_LIT(KDbUri4, "file://eposlm.ldb");
+_LIT(KDbUri5, "testlm.ldb");
+
+// Use hardcoded path here
+_LIT(KDbUri6, "c:\\private\\100012a5\\DBS_101FE978_eposlm.ldb"); 
+// Use hardcoded path here
+_LIT(KDbUri7, "file://c:\\private\\100012a5\\DBS_101FE978_eposlm.ldb"); 
+
+_LIT(KDbUri8, "eposlm");
+_LIT(KDbUri9, "c:eposlm");
+_LIT(KDbUri10, "file://c:eposlm");
+
+_LIT(KDbUri11, "file://c:XXXX.ldb");
+_LIT(KDbUri12, "http://c:eposlm.ldb");
+_LIT(KDbUri13, "");
+
+_LIT(KDbUri14, "file://\\eposlm.ldb"); // UNC
+_LIT(KDbUri15, "\\eposlm.ldb");
+
+// File on media that does not exist
+_LIT(KDbUri16, "file://R:eposlm.ldb");
+
+_LIT(KTestDb, "testlm.ldb");
+
+// Will need to be changed to the secure dbms path when security is implemented
+
+
+_LIT(KExportFileFullPath, "c:\\TP100-LandmarksFromThreeDatabases.xml");
+_LIT(KExportFile, "TP100-LandmarksFromThreeDatabases.xml");
+
+// ================= MEMBER FUNCTIONS =======================
+
+
+
+// ---------------------------------------------------------
+// CPosTp100::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp100::StartL()
+    {
+    RemoveDefaultDbL();
+    RemoveAllLmDatabasesL();
+        
+    CPosLmDatabaseManager* manager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(manager);
+    
+    HPosLmDatabaseInfo* dbInfo = HPosLmDatabaseInfo::NewLC(KDefaultDb);
+	manager->CreateDatabaseL(*dbInfo);
+	CleanupStack::PopAndDestroy(dbInfo);
+    // This db must exist
+    manager->SetDefaultDatabaseUriL(KDefaultDb);
+    
+    
+    CleanupStack::PopAndDestroy(manager);
+    
+    CPosLandmarkDatabase* lmd = CPosLandmarkDatabase::OpenL();
+    delete lmd;
+    
+    TestOpenSpecificDbL();
+
+    TestMultipleExportL();
+    
+    TestLockedDatabaseL();
+	}
+
+// ---------------------------------------------------------
+// CPosTp100::TestMultipleExportL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp100::TestMultipleExportL()
+    {
+    iLog->Log(_L("TestMultipleExportL()"));
+    CreateDatabasesL();
+    iLog->Log(_L("1"));
+
+    CPosLandmarkDatabase* lmd1 = CPosLandmarkDatabase::OpenL(KDb1);
+    CleanupStack::PushL(lmd1);
+    iLog->Log(_L("2"));
+    CPosLandmarkDatabase* lmd2 = CPosLandmarkDatabase::OpenL(KDb2);
+    CleanupStack::PushL(lmd2);
+    iLog->Log(_L("3"));
+    CPosLandmarkDatabase* lmd3 = CPosLandmarkDatabase::OpenL(KDb3);
+    CleanupStack::PushL(lmd3);
+    ExecuteAndDeleteLD(lmd3->CompactL());
+    iLog->Log(_L("4"));
+    CPosLandmark* lm = CreateXMLLandmarkLC(_L("TP100 - LM with all fields set"));
+    AddAllXMLFieldsL(lm);    
+    iLog->Log(_L("5"));
+    lmd1->AddLandmarkL(*lm);
+    CleanupStack::PopAndDestroy(lm);  
+    iLog->Log(_L("6"));
+    CPosLandmark* lm2 = CreateXMLLandmarkLC(_L("TP100 - LM2"));
+    lmd2->AddLandmarkL(*lm2);
+    CleanupStack::PopAndDestroy(lm2);
+    iLog->Log(_L("7"));
+    CPosLandmark* lm3 = CreateXMLLandmarkLC(_L("TP100 - LM3"));
+    iLog->Log(_L("8"));
+    CPosLmCategoryManager* cm = CPosLmCategoryManager::NewL(*lmd3);
+    CleanupStack::PushL(cm);
+    iLog->Log(_L("9"));
+    CPosLandmarkCategory* category = CPosLandmarkCategory::NewLC();
+    category->SetCategoryNameL(_L("category"));
+
+    TPosLmItemId id = cm->AddCategoryL(*category);
+    CleanupStack::PopAndDestroy(2, cm);
+    iLog->Log(_L("10"));
+    lm3->AddCategoryL(id);
+    iLog->Log(_L("11"));
+    
+    iLog->Log(_L("12"));
+    lmd3->AddLandmarkL(*lm3);
+    CleanupStack::PopAndDestroy(lm3);
+    iLog->Log(_L("13"));
+    
+    CPosLandmarkEncoder* encoder = CPosLandmarkEncoder::NewL(KLmxMimeType);
+    CleanupStack::PushL(encoder);
+
+    encoder->SetOutputFileL(KExportFileFullPath);
+    
+    CPosLmItemIterator* iter = lmd1->LandmarkIteratorL();
+    CleanupStack::PushL(iter);
+    
+    RArray<TPosLmItemId> arrayOfIds;
+    CleanupClosePushL(arrayOfIds);
+    
+    TInt numberOfElements = iter->NumOfItemsL();    
+    iter->GetItemIdsL(arrayOfIds, 0, (numberOfElements));
+
+    ExecuteAndDeleteLD(lmd1->ExportLandmarksL(*encoder, arrayOfIds, CPosLandmarkDatabase::EDefaultOptions));
+
+    RunAsyncOperationLD(lmd2->ExportLandmarksL(*encoder, arrayOfIds, CPosLandmarkDatabase::EDefaultOptions));
+
+    ExecuteAndDeleteLD(lmd3->ExportLandmarksL(*encoder, arrayOfIds, CPosLandmarkDatabase::EIncludeCategories));
+
+    ExecuteAndDeleteLD(encoder->FinalizeEncodingL()); 
+    
+    CleanupStack::PopAndDestroy(6, lmd1);
+
+    TInt err = CompareL(KExportFile);
+    AssertTrueSecL(err == KErrNone, _L("The exported file is not equal to file exported prevoius release"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp100::CreateDatabasesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp100::CreateDatabasesL()
+    {
+    iLog->Log(_L("CreateDatabasesL()"));
+
+    CPosLandmarkDatabase* lmd = CPosLandmarkDatabase::OpenL();
+    CleanupStack::PushL(lmd);
+
+    if (lmd->IsInitializingNeeded())
+        {
+        ExecuteAndDeleteLD(lmd->InitializeL()); 
+        }
+    
+    CleanupStack::PopAndDestroy(lmd);  
+
+    TInt res = iFileSession.Delete(KExportFileFullPath);
+    if (res != KErrNone && res != KErrNotFound) 
+    {
+        iLog->Log(_L("File could not be deleted"));
+        User::Leave(res);
+
+    }
+
+    CFileMan* fileMan = CFileMan::NewL(iFileSession);
+    CleanupStack::PushL(fileMan);
+    
+    TBuf<150> srcPath;
+    TBuf<150> destPath;
+    
+    srcPath.Append(KLmDbPath);
+    srcPath.Append(KDefaultDb);
+    
+    // Copy file eposlm.ldb to three databases
+    destPath.Append(KLmDbPath);
+    destPath.Append(KDb1);
+    User::LeaveIfError(fileMan->Copy(srcPath, destPath, CFileMan::EOverWrite));
+    
+    destPath.Zero();
+    destPath.Append(KLmDbPath);
+    destPath.Append(KDb2);
+    User::LeaveIfError(fileMan->Copy(srcPath, destPath, CFileMan::EOverWrite));
+    
+    destPath.Zero();
+    destPath.Append(KLmDbPath);
+    destPath.Append(KDb3);
+    User::LeaveIfError(fileMan->Copy(srcPath, destPath, CFileMan::EOverWrite));
+
+    CleanupStack::PopAndDestroy(fileMan);  
+    }
+
+// ---------------------------------------------------------
+// CPosTp100::TestOpenSpecificDbL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp100::TestOpenSpecificDbL()
+    {
+    _LIT(KHttpErr, "http is not a supported protocol");
+    _LIT(KURIErr, "Not a valid URI");
+    _LIT(KArgumentErr, "An empty descr is not a valid URI");
+    
+    iLog->Log(_L("TestOpenSpecificDbL()"));
+
+    TestOpenDbL(KDbUri1);
+    TestOpenDbL(KDbUri2);
+    TestOpenDbL(KDbUri3);
+    TestOpenDbL(KDbUri4);
+    
+    // Copy to secure area
+    CopyTestDbFileL(KTestDb);
+    
+    TestOpenDbL(KDbUri5);
+    
+    TRAPD(err, TestOpenDbL(KDbUri6));
+    AssertTrueSecL(err == KErrArgument, KURIErr);
+
+    TRAP(err, TestOpenDbL(KDbUri7));
+    AssertTrueSecL(err == KErrArgument, KURIErr);
+
+    TRAP(err, TestOpenDbL(KDbUri8));
+    AssertTrueSecL(err == KErrArgument, KURIErr);
+
+    TRAP(err, TestOpenDbL(KDbUri9));
+    AssertTrueSecL(err == KErrArgument, KURIErr);
+
+    TRAP(err, TestOpenDbL(KDbUri10));
+    AssertTrueSecL(err == KErrArgument, KURIErr);
+
+    TRAP(err, TestOpenDbL(KDbUri11));
+    AssertTrueSecL(err == KErrNotFound, KURIErr);
+
+    TRAP(err, TestOpenDbL(KDbUri12));
+    AssertTrueSecL(err == KErrNotSupported, KHttpErr);
+
+    TRAP(err, TestOpenDbL(KDbUri13))
+    AssertTrueSecL(err == KErrArgument, KArgumentErr);
+
+    TRAP(err, TestOpenDbL(KDbUri14));
+    AssertTrueSecL(err == KErrArgument, KURIErr);
+    
+    TRAP(err, TestOpenDbL(KDbUri15));
+    AssertTrueSecL(err == KErrArgument, KURIErr);
+    
+    TRAP(err, TestOpenDbL(KDbUri16));
+    AssertTrueSecL(err == KErrNotReady, KURIErr);
+    }
+
+// ---------------------------------------------------------
+// CPosTp100::TestOpenDbL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp100::TestOpenDbL(const TDesC& aDbURI)
+    {
+    CPosLandmarkDatabase* lmd = CPosLandmarkDatabase::OpenL(aDbURI);
+    CleanupStack::PushL(lmd);
+    
+    if (lmd->IsInitializingNeeded())
+        {
+        ExecuteAndDeleteLD(lmd->InitializeL()); 
+        }
+ 
+    CleanupStack::PopAndDestroy(lmd);  
+    }
+    
+// ---------------------------------------------------------
+// CPosTp100::TestLockedDatabaseL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp100::TestLockedDatabaseL()
+    {
+    iLog->Log(_L("TestLockedDatabaseL()"));
+    
+    CPosLandmarkDatabase* db1 = UseGeneratedDbFileL();
+    CleanupStack::PushL(db1);
+
+    // Take read lock
+    RArray<TPosLmItemId> ids;
+    CleanupClosePushL(ids);
+    User::LeaveIfError(ids.Append(1));
+    User::LeaveIfError(ids.Append(3));
+    User::LeaveIfError(ids.Append(4));
+    User::LeaveIfError(ids.Append(6));
+    User::LeaveIfError(ids.Append(7));
+    User::LeaveIfError(ids.Append(9));
+    User::LeaveIfError(ids.Append(24));
+    User::LeaveIfError(ids.Append(14));
+    User::LeaveIfError(ids.Append(66));
+    User::LeaveIfError(ids.Append(61));
+    User::LeaveIfError(ids.Append(14));
+    CPosLmOperation* operation = db1->PreparePartialLandmarksL(ids);
+    CleanupStack::PushL(operation);
+    TReal32 progress(0);
+    TRequestStatus status;
+    while (progress < 0.4)
+        {
+        operation->NextStep(status, progress);
+        User::WaitForRequest(status);
+        }
+
+    // Try to instantiate a new db handle
+    operation->NextStep(status, progress);
+    CPosLandmarkDatabase* db2 = CPosLandmarkDatabase::OpenL(KDbUri1);
+    delete db2;
+    User::WaitForRequest(status);
+
+    // Release read lock
+    CleanupStack::PopAndDestroy(operation);
+    
+    // Take write lock
+    operation = db1->RemoveAllLandmarksL();
+    CleanupStack::PushL(operation);
+    progress = 0;
+    while (progress < 0.4)
+        {
+        operation->NextStep(status, progress);
+        User::WaitForRequest(status);
+        }
+
+    // Try to instantiate a new db handle - should result in KErrLocked
+    operation->NextStep(status, progress);
+    db2 = NULL;
+    TRAPD(err, db2 = CPosLandmarkDatabase::OpenL(KDbUri1));
+    delete db2;
+    User::WaitForRequest(status);
+    AssertTrueSecL(err == KErrLocked, _L("OpenL() didn't result in KErrLocked but in %d"), err);
+    
+    CleanupStack::PopAndDestroy(3, db1);
+    }    
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp101.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,1245 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp101.h"
+#include "FT_LandmarkConstants.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLmCategoryManager.h>
+#include <EPos_CPosLmTextCriteria.h>
+#include <EPos_CPosLmDisplayData.h>
+
+// CONSTANTS  
+const TInt KNrOfDbs = 5;
+const TInt KLmPerDb = 20;
+const TInt KTotLms = 105;
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp101::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp101::CloseTest()
+    {
+    delete iDatabase;
+    iDatabase = NULL;
+    
+    delete iDbArray;
+
+    delete iLmMultiSearch;
+    iLmMultiSearch = NULL;
+    
+    iSearchResults.ResetAndDestroy();
+    
+    REComSession::FinalClose();
+    }
+    
+// ---------------------------------------------------------
+// CPosTp101::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp101::StartL()
+    {    
+    // Split databases, NrOfDBs db, LmPerDb lm in each, TotLms is last lm id from original db, debug
+    iDbArray = CreateDatabasesL(KNrOfDbs, KLmPerDb, KTotLms); //, ETrue);    
+    
+    
+    // Check setting of databases is correct
+    // Should be move to TC119 - Multi Db - Extended testing
+    VerifySetOfDatabasesL();
+
+    // Constructing a lm multi search 
+    iLmMultiSearch = CPosLmMultiDbSearch::NewL(*iDbArray);
+    
+    // Check that iterator is NOT NULL before search has started (and that iterator is empty)
+    for (TInt i=0;i<iDbArray->Count();i++)
+    	{
+    	CPosLmItemIterator* iter = iLmMultiSearch->MatchIteratorL(i);
+    	CleanupStack::PushL(iter);
+    	AssertTrueSecL(iter->NumOfItemsL() == 0, _L("Iterator should be empty"));
+    	CleanupStack::PopAndDestroy(iter);
+    	}
+    
+    // Read search information from file    
+    AppendSearchResultsL();
+
+    // Do the search testing     
+    iLog->Log(_L("Testing multi db search with criterias read from LmDbSearchResult.txt syncronously"));
+    SearchL(iSearchResults, ESynchronous);
+
+    iLog->Log(_L("Testing multi db search with criterias read from LmDbSearchResult.txt asyncronously"));
+    SearchL(iSearchResults, EAsynchronous);
+
+    // Not possible to use User::WaitForRequest when using Multi Db search!
+    // iLog->Log(_L("Testing multi db search with criterias read from LmDbSearchResult.txt asyncronously using User::WaitForRequest"));
+    // SearchL(SearchResults(), EWaitForRequest);
+
+    iLog->Log(_L("Testing search with a defined sortorder"));
+    SearchWithSortOrderL(iSearchResults);   
+
+    iLog->Log(_L("Testing search and cancel"));
+    SearchAndCancelL();
+   
+    iLog->Log(_L("Testing maximum number of matches"));
+    SearchWithMaximumL(iSearchResults);
+
+    iLog->Log(_L("Testing searching on the fly"));
+    OnTheFlySearchL();
+
+    iLog->Log(_L("Testing search after a landmark has been removed"));
+    SearchAndDeleteL(iSearchResults);
+
+    iLog->Log(_L("Testing search after landmarks have been renamed"));
+    SearchAndRenameL(iSearchResults);
+
+
+    // Test specific Text Criteria error case
+    TUint attr = CPosLandmark::ELandmarkName | CPosLandmark::EDescription;
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+    textCriteria->SetAttributesToSearch(attr);
+    textCriteria->SetTextL(_L(""));
+
+    _LIT(KEmptyTextCriteriaErr, "An empty string as text criteria should not be allowed");
+    TRAPD(err, iLmMultiSearch->StartLandmarkSearchL(*textCriteria)); 
+    AssertTrueSecL(err == KErrArgument, KEmptyTextCriteriaErr);
+
+    CleanupStack::PopAndDestroy(textCriteria);
+    
+    delete iLmMultiSearch;
+    iLmMultiSearch = NULL;
+    // Constructing a lm multi search 
+    iLmMultiSearch = CPosLmMultiDbSearch::NewL(*iDbArray);
+    
+    // Check that iterator is NOT NULL before search has started (and that iterator is empty)
+    for (TInt i=0;i<iDbArray->Count();i++)
+    	{
+    	CPosLmItemIterator* iter = iLmMultiSearch->MatchIteratorL(i);
+    	CleanupStack::PushL(iter);
+    	AssertTrueSecL(iter->NumOfItemsL() == 0, _L("Iterator should be empty"));
+    	CleanupStack::PopAndDestroy(iter);
+    	}
+	}
+
+// ---------------------------------------------------------
+// CPosTp101::VerifySetOfDatabasesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp101::VerifySetOfDatabasesL()
+    {
+    // Testing error situations for multi db search
+    _LIT(KEmptyError, "KErrArgument should be returned when no db's are specified.");
+    CDesCArray* emptyArray = new (ELeave) CDesCArrayFlat(5); 
+    CleanupStack::PushL(emptyArray);
+    TRAPD(err, CPosLmMultiDbSearch::NewL(*emptyArray));
+    AssertTrueSecL(err == KErrArgument, KEmptyError);
+
+    CDesCArray* duplicateArray = new (ELeave) CDesCArrayFlat(5); 
+    CleanupStack::PushL(duplicateArray);
+
+    duplicateArray->AppendL(_L("eposlm.ldb"));
+    duplicateArray->AppendL(_L("c:eposlm.ldb"));
+    duplicateArray->AppendL(_L("file://c:eposlm.ldb"));
+
+    VerifyDatabaseL(duplicateArray);
+    
+    duplicateArray->Reset();
+    duplicateArray->AppendL(_L("eposlm.ldb"));
+    duplicateArray->AppendL(_L("eposlm.ldb"));
+    duplicateArray->AppendL(_L("eposlm.ldb"));
+
+    VerifyDatabaseL(duplicateArray);
+
+    CDesCArray* dupArray = new (ELeave) CDesCArrayFlat(5); 
+    CleanupStack::PushL(dupArray);
+    dupArray->AppendL(_L("eposlm.ldb"));
+    dupArray->AppendL(_L("eposlm.ldb"));
+    dupArray->AppendL(_L("eposlm.ldb"));
+    dupArray->AppendL(_L("eposlm.ldb"));
+   
+    VerifyDatabaseL(duplicateArray, dupArray);
+
+    dupArray->Reset();
+    dupArray->AppendL(_L("eposlm.ldb"));
+    dupArray->AppendL(_L("eposlm.ldb"));
+
+    VerifyDatabaseL(duplicateArray, dupArray);
+   
+    CleanupStack::PopAndDestroy(dupArray);
+    CleanupStack::PopAndDestroy(duplicateArray);
+
+    // Check setting of empty databases
+    iLmMultiSearch = CPosLmMultiDbSearch::NewL(*iDbArray);
+ 
+    TRAP(err, iLmMultiSearch->SetDatabasesToSearchL(*emptyArray));
+    AssertTrueSecL(err == KErrArgument, KEmptyError);
+    CleanupStack::PopAndDestroy(emptyArray);
+    delete iLmMultiSearch;
+
+    VerifyDatabaseL(iDbArray);    
+    }
+
+// ---------------------------------------------------------
+// CPosTp101::VerifyDatabaseL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp101::VerifyDatabaseL(
+    CDesCArray* aLmUris, 
+    CDesCArray* aNewLmUris)
+    {
+    iLmMultiSearch = CPosLmMultiDbSearch::NewL(*aLmUris);
+    CheckDatabasesL(aLmUris);
+    
+    if (aNewLmUris)
+        {
+        iLmMultiSearch->SetDatabasesToSearchL(*aNewLmUris);
+        CheckDatabasesL(aNewLmUris);
+        }
+        
+    delete iLmMultiSearch;
+    }
+
+// ---------------------------------------------------------
+// CPosTp101::CheckDatabasesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp101::CheckDatabasesL(
+    CDesCArray* aExpectedLmUris,
+    TUint aExpectedMaxMatches)
+    {
+    CDesCArray* dbToSearch = iLmMultiSearch->DatabasesToSearchL();
+    CleanupStack::PushL(dbToSearch);
+    
+    _LIT(KWrongNrDatabases, "Wrong number of databases to search!");
+    AssertTrueSecL(aExpectedLmUris != dbToSearch, KWrongNrDatabases);
+    AssertTrueSecL(aExpectedLmUris->Count() == dbToSearch->Count(), KWrongNrDatabases);
+    CleanupStack::PopAndDestroy(dbToSearch);
+    
+    AssertTrueSecL(aExpectedLmUris->Count() == iLmMultiSearch->NumOfDatabasesToSearch(), 
+        KWrongNrDatabases);
+    for (TInt i=0; i<aExpectedLmUris->Count(); i++)
+        {
+        AssertTrueSecL(aExpectedLmUris->MdcaPoint(i) == iLmMultiSearch->DatabaseUriPtr(i), 
+            KWrongNrDatabases);        
+        }
+    
+    _LIT(KWrongNrMatches, "Wrong number of max matches!");
+    AssertTrueSecL(iLmMultiSearch->MaxNumOfMatches() == aExpectedMaxMatches, 
+        KWrongNrMatches);        
+    }
+    
+// ---------------------------------------------------------
+// CPosTp101::SearchL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp101::SearchL(
+    const RPointerArray<CSearchResult>& aSearchResults, 
+    TExecutionMode aExecutionMode)
+    {
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect when the search is performed");
+    _LIT(KNotFoundErr, "Id %d not found in parsed Lm search results when the search is performed syncronously");
+    _LIT(KSearchNr, "Multi search test #%d executed ok.");
+
+    for(TInt i=0; i<aSearchResults.Count(); i++)
+        {   
+        CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+        
+        textCriteria->SetTextL(aSearchResults[i]->TextCriteria());
+        textCriteria->SetAttributesToSearch(aSearchResults[i]->Attributes());
+        
+        textCriteria->SetPositionFieldsToSearchL(aSearchResults[i]->PositionFields()); 
+
+        CPosLmOperation* operation = 
+            iLmMultiSearch->StartLandmarkSearchL(*textCriteria, aSearchResults[i]->Redefined());
+        CleanupStack::PushL(operation);
+         switch (aExecutionMode)
+            {
+            case ESynchronous:
+                ExecuteAndDeleteLD(operation);
+                CleanupStack::Pop(operation);
+                break;
+            case EAsynchronous:
+                RunAsyncOperationLD(operation);
+                CleanupStack::Pop(operation);
+                break;
+            case EWaitForRequest:
+                RunAsyncOperationByWaitForReqL(operation);
+                CleanupStack::PopAndDestroy(operation);                
+                break;
+            }
+
+        // Check database array
+        CheckDatabasesL(iDbArray);
+
+        // Check for errors        
+        AssertTrueSecL(iLmMultiSearch->NumOfSearchErrors() == 0, 
+            _L("Error(s) found during multi search."));
+
+        // Check total number of matches       
+        if ((TUint)(aSearchResults[i]->SearchResult()).Count() != 
+            iLmMultiSearch->TotalNumOfMatches())
+            {
+            _LIT(KExpected, "Expected no. of matches: %d");
+            _LIT(KReturned, "Returned no. of matches: %d");
+            TBuf<100> info;
+            info.Format(KExpected, (aSearchResults[i]->SearchResult()).Count());
+            iLog->Log(info);
+            info.Format(KReturned, iLmMultiSearch->TotalNumOfMatches());
+            iLog->Log(info);
+            iLog->Log(_L("Search criteria: "));
+            iLog->Log(textCriteria->Text());
+            iLog->Log(KNumOfMatchesErr);
+            User::Leave(-1);
+            }
+
+        RArray<TPosLmItemId> lmids;
+        CleanupClosePushL(lmids);
+
+        for (TInt j=0; j<iLmMultiSearch->NumOfDatabasesToSearch(); j++) 
+            {
+            CPosLmItemIterator* iter = iLmMultiSearch->MatchIteratorL(j);
+            // Check if there are any matches = iteration exists.
+            if (iter) 
+                {
+                CleanupStack::PushL(iter);
+                TPosLmItemId id = iter->NextL();    
+                while (id != KPosLmNullItemId)
+                    {
+                    // Check that found id is expected
+                    AssertTrueSecL(aSearchResults[i]->FindSearchResult(id), KNotFoundErr);
+                    User::LeaveIfError(lmids.Append(id));                              
+                    id = iter->NextL();
+                    }
+                CleanupStack::PopAndDestroy(iter);                
+                }
+            else 
+                {
+                _LIT(KIterNull, "MatchIterator returned null for a db");
+                iLog->Log(KIterNull);
+                }
+            }
+
+        AssertTrueSecL(aSearchResults[i]->SearchResult().Count() == lmids.Count(), 
+            _L("Expected number of hits and found hits don't match"));
+
+        for (TInt k=0; k<lmids.Count(); k++)
+            {
+            // Check that found id is expected from all ids
+            AssertTrueSecL(aSearchResults[i]->FindSearchResult(lmids[k]), KNotFoundErr);
+            }
+
+        CleanupStack::PopAndDestroy(&lmids); // lmids
+
+        CleanupStack::PopAndDestroy(textCriteria); 
+        
+        TBuf<100> buf;
+        buf.Format(KSearchNr, i);        
+        iLog->Log(buf);            
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp101::SearchWithSortOrderL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp101::SearchWithSortOrderL(const RPointerArray<CSearchResult>& aSearchResults)
+    {
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect when the search is performed syncronously");
+    
+    TPosLmSortPref sortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);  
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+
+    for(TInt j=0; j<aSearchResults.Count(); j++)
+        {   
+        textCriteria->SetTextL(aSearchResults[j]->TextCriteria());
+        textCriteria->SetAttributesToSearch(aSearchResults[j]->Attributes());
+        textCriteria->SetPositionFieldsToSearchL(aSearchResults[j]->PositionFields()); 
+
+        iLog->Log(aSearchResults[j]->TextCriteria());
+        
+        for (TInt i=0; i<4; i++)
+            {
+            switch (i)
+                {
+                //**** sync
+                case 0:
+                    sortPref.SetSortByLandmarkAttribute(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+                    ExecuteAndDeleteLD(iLmMultiSearch->StartLandmarkSearchL(
+                        *textCriteria, 
+                        sortPref, 
+                        aSearchResults[j]->Redefined()));
+                    break;
+                case 1:
+                    sortPref.SetSortByLandmarkAttribute(CPosLandmark::ELandmarkName, TPosLmSortPref::EDescending);
+                    ExecuteAndDeleteLD(iLmMultiSearch->StartLandmarkSearchL(
+                        *textCriteria, 
+                        sortPref, 
+                        aSearchResults[j]->Redefined()));
+                    break;
+                case 2:
+                //**** async
+                    sortPref.SetSortByLandmarkAttribute(CPosLandmark::ELandmarkName, TPosLmSortPref::EDescending);
+                    RunAsyncOperationLD(iLmMultiSearch->StartLandmarkSearchL(
+                        *textCriteria, 
+                        sortPref, 
+                        aSearchResults[j]->Redefined()));
+                    break;
+                case 3:
+                    sortPref.SetSortByLandmarkAttribute(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+                    RunAsyncOperationLD(iLmMultiSearch->StartLandmarkSearchL(
+                        *textCriteria, 
+                        sortPref, 
+                        aSearchResults[j]->Redefined()));
+                    break;
+                //**** asych with User::WaitForRequest()
+                case 4:
+                    {
+                    CPosLmOperation* op = iLmMultiSearch->StartLandmarkSearchL(
+                        *textCriteria, 
+                        sortPref, 
+                        aSearchResults[j]->Redefined());
+                    CleanupStack::PushL(op);
+                    RunAsyncOperationByWaitForReqL(op);
+                    CleanupStack::PopAndDestroy(op);
+                    }
+                    break;
+                case 5:
+                    {
+                    sortPref.SetSortByLandmarkAttribute(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+                    CPosLmOperation* op = iLmMultiSearch->StartLandmarkSearchL(
+                        *textCriteria, 
+                        sortPref, 
+                        aSearchResults[j]->Redefined());
+                    CleanupStack::PushL(op);
+                    RunAsyncOperationByWaitForReqL(op);
+                    CleanupStack::PopAndDestroy(op);
+                    }
+                    break;
+                }
+            }
+            
+        // Check database array
+        CheckDatabasesL(iDbArray);
+
+        // Check for errors        
+        AssertTrueSecL(iLmMultiSearch->NumOfSearchErrors() == 0, 
+            _L("Error(s) found during multi search."));
+
+        // Check total number of matches       
+        if ((TUint)(aSearchResults[j]->SearchResult()).Count() != 
+            iLmMultiSearch->TotalNumOfMatches())
+            {
+            _LIT(KExpected, "Expected no. of matches: %d");
+            _LIT(KReturned, "Returned no. of matches: %d");
+            TBuf<100> info;
+            info.Format(KExpected, (aSearchResults[j]->SearchResult()).Count());
+            iLog->Log(info);
+            info.Format(KReturned, iLmMultiSearch->TotalNumOfMatches());
+            iLog->Log(info);
+            iLog->Log(_L("Search criteria: "));
+            iLog->Log(textCriteria->Text());
+            iLog->Log(KNumOfMatchesErr);
+            User::Leave(-1);
+            }
+        
+        RArray<TPosLmItemId>* searchResults = &aSearchResults[j]->SearchResult();        
+        for (TInt n=0; n<iLmMultiSearch->NumOfDatabasesToSearch(); n++) 
+            {
+            RArray<TPosLmItemId> lmids;
+            CleanupClosePushL(lmids);
+            GetLmIdsL(n, *searchResults, lmids);            
+
+            iDatabase = CPosLandmarkDatabase::OpenL(iLmMultiSearch->DatabaseUriPtr(n));
+            if (iDatabase->IsInitializingNeeded())
+           {
+           ExecuteAndDeleteLD(iDatabase->InitializeL());
+           }
+            LandmarksSortL(lmids, sortPref);
+        
+            CPosLmItemIterator* iter = iLmMultiSearch->MatchIteratorL(n);
+            // Check if there are any matches = iteration exists.
+            if (iter) 
+                {
+                CleanupStack::PushL(iter);
+                TInt lmid = 0;
+                TPosLmItemId id = iter->NextL();
+        
+                while (id != KPosLmNullItemId)
+                    {
+                    CheckEqualsLmsL(id, lmids[lmid]);
+                    
+                    id = iter->NextL();
+                    ++lmid;
+                    }
+                CleanupStack::PopAndDestroy(iter);
+                }
+            else 
+                {
+                _LIT(KIterNull, "MatchIterator returned null for a db");
+                iLog->Log(KIterNull);
+                }
+                
+            delete iDatabase;
+            iDatabase = NULL;
+            
+            CleanupStack::PopAndDestroy(&lmids);
+            }
+
+        }
+        
+    CleanupStack::PopAndDestroy(textCriteria);
+    }
+
+// ---------------------------------------------------------
+// CPosTp101::GetLmIdsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp101::GetLmIdsL(
+    TInt aDbId, 
+    RArray<TPosLmItemId> aSearchResults,
+    RArray<TPosLmItemId>& aLmIdForADb)
+    {
+    TInt startId = aDbId * KLmPerDb + 1;
+    TInt stopId = 0;
+    
+    if (aDbId == KNrOfDbs - 1)
+        {
+        stopId = KTotLms;            
+        }
+    else 
+        {
+        stopId = (aDbId+1) * KLmPerDb;            
+        }
+    
+    for (TInt i=0; i<aSearchResults.Count(); i++)
+        {
+        if (aSearchResults[i] >= startId && aSearchResults[i] <= stopId)
+            {
+            User::LeaveIfError(aLmIdForADb.Append(aSearchResults[i]));
+            }
+        }
+    }
+    
+// ---------------------------------------------------------
+// CPosTp101::CheckEqualsLmsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp101::CheckEqualsLmsL(
+    TPosLmItemId aSource, 
+    TPosLmItemId aTarget)
+    {
+    _LIT(KSortorderErr, "The sortorder is incorrect");
+
+    if (aSource != aTarget)
+        {                
+        // Check if same name then don't Leave
+        CPosLandmark* source = iDatabase->ReadLandmarkLC(aSource);
+        CPosLandmark* target = iDatabase->ReadLandmarkLC(aTarget);
+        TPtrC sourceName, targetName;
+        source->GetLandmarkName(sourceName);
+        target->GetLandmarkName(targetName);
+
+        if (EFalse)
+            {
+            // For debugging purposes
+            TBuf<100> buf;
+            buf.Append(_L("Name:"));
+            buf.Append(sourceName);
+            buf.Append(targetName);
+            iLog->Log(buf);
+            }
+
+        AssertTrueSecL(!sourceName.CompareC(targetName), KSortorderErr, aSource);
+        CleanupStack::PopAndDestroy(2, source); // target, source
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp101::OnTheFlySearchL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp101::OnTheFlySearchL()
+    {
+    TInt KTestIndex = 4;
+                
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+    textCriteria->SetTextL(iSearchResults[KTestIndex]->TextCriteria());
+    textCriteria->SetAttributesToSearch(iSearchResults[KTestIndex]->Attributes());
+    textCriteria->SetPositionFieldsToSearchL(iSearchResults[KTestIndex]->PositionFields()); 
+    
+    COnTheFlyTester* onTheFlyTester = COnTheFlyTester::NewLC();
+    onTheFlyTester->StartSearchCampaignL(iLmMultiSearch, 
+        iSearchResults[KTestIndex]->SearchResult(), 
+        textCriteria);
+
+    TInt result = onTheFlyTester->Err();
+    if (result != KErrNone)
+        {
+        TPtrC msg;
+        onTheFlyTester->GetErrMsg(msg);
+        iLog->Log(msg);
+        User::Leave(result);
+        }
+        
+    CleanupStack::PopAndDestroy(2, textCriteria);
+    
+    iLmMultiSearch->UnsetDisplayData();
+    }
+
+// ---------------------------------------------------------
+// CPosTp101::SearchAndDeleteL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp101::SearchAndDeleteL(const RPointerArray<CSearchResult>& aSearchResults)
+    {
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect when a redefined search is performed"); 
+    const TInt KTestIndex = 11;
+    
+    TPosLmSortPref sortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+    
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+        
+    textCriteria->SetTextL(aSearchResults[KTestIndex]->TextCriteria());
+    textCriteria->SetAttributesToSearch(aSearchResults[KTestIndex]->Attributes());
+    textCriteria->SetPositionFieldsToSearchL(aSearchResults[KTestIndex]->PositionFields()); 
+    
+    ExecuteAndDeleteLD(iLmMultiSearch->StartLandmarkSearchL(*textCriteria, sortPref));
+    
+    RArray<TPosLmItemId>* searchResults = &aSearchResults[KTestIndex]->SearchResult();
+    
+    TPosLmItemId lmid = (*searchResults)[0];
+    iDatabase = CPosLandmarkDatabase::OpenL();  
+    if (iDatabase->IsInitializingNeeded())
+   {
+   ExecuteAndDeleteLD(iDatabase->InitializeL());
+   }
+    iDatabase->RemoveLandmarkL(lmid); 
+    searchResults->Remove(0);
+    searchResults->Compress();
+    delete iDatabase;
+    iDatabase = NULL;
+
+    // Search
+    ExecuteAndDeleteLD(iLmMultiSearch->StartLandmarkSearchL(*textCriteria, sortPref, ETrue));
+
+    // Check result    
+    // Check database array
+    CheckDatabasesL(iDbArray);
+
+    // Check for errors        
+    AssertTrueSecL(iLmMultiSearch->NumOfSearchErrors() == 0, 
+        _L("Error(s) found during multi search."));
+
+    AssertTrueSecL((TUint)searchResults->Count() == iLmMultiSearch->TotalNumOfMatches(), 
+        KNumOfMatchesErr);    
+
+    RArray<TPosLmItemId> lmids;
+    CleanupClosePushL(lmids);
+    _LIT(KNotFoundErr, "Id %d not found in parsed Lm search results");
+
+    for (TInt j=0; j<iLmMultiSearch->NumOfDatabasesToSearch(); j++) 
+        {
+        CPosLmItemIterator* iter = iLmMultiSearch->MatchIteratorL(j);
+        // Check if there are any matches = iteration exists.
+        if (iter) 
+            {
+            CleanupStack::PushL(iter);
+            TPosLmItemId id = iter->NextL();    
+            while (id != KPosLmNullItemId)
+                {
+                // Check that found id is expected
+                AssertTrueSecL(aSearchResults[KTestIndex]->FindSearchResult(id), KNotFoundErr);
+                User::LeaveIfError(lmids.Append(id));                              
+                id = iter->NextL();
+                }
+            CleanupStack::PopAndDestroy(iter);                
+            }
+        else 
+            {
+            _LIT(KIterNull, "MatchIterator returned null for a db");
+            iLog->Log(KIterNull);
+            }
+        }
+
+    AssertTrueSecL(aSearchResults[KTestIndex]->SearchResult().Count() == lmids.Count(), 
+        _L("Expected number of hits and found hits don't match"));
+
+    for (TInt k=0; k<lmids.Count(); k++)
+        {
+        // Check that found id is expected from all ids
+        AssertTrueSecL(aSearchResults[KTestIndex]->FindSearchResult(lmids[k]), KNotFoundErr);
+        }
+
+    CleanupStack::PopAndDestroy(&lmids); // lmids
+       
+    CleanupStack::PopAndDestroy(textCriteria);
+    }
+
+// ---------------------------------------------------------
+// CPosTp101::SearchAndRenameL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp101::SearchAndRenameL(const RPointerArray<CSearchResult>& aSearchResults)
+    {
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect when a redefined search is performed"); 
+    const TInt KTestIndex=4;
+
+    TPosLmSortPref sortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+    
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+        
+    textCriteria->SetTextL(aSearchResults[KTestIndex]->TextCriteria());
+    textCriteria->SetAttributesToSearch(aSearchResults[KTestIndex]->Attributes());
+    textCriteria->SetPositionFieldsToSearchL(aSearchResults[KTestIndex]->PositionFields()); 
+    
+    iLog->Log(_L("Search criteria: "));
+    iLog->Log(textCriteria->Text());
+    ExecuteAndDeleteLD(iLmMultiSearch->StartLandmarkSearchL(*textCriteria, sortPref));
+    
+    RArray<TPosLmItemId>* searchResults = &aSearchResults[KTestIndex]->SearchResult();
+    
+    // Check database array
+    CheckDatabasesL(iDbArray);
+
+    // Check for errors        
+    AssertTrueSecL(iLmMultiSearch->NumOfSearchErrors() == 0, 
+        _L("Error(s) found during multi search."));
+
+    AssertTrueSecL((TUint) searchResults->Count() == 
+        iLmMultiSearch->TotalNumOfMatches(), KNumOfMatchesErr);    
+
+    _LIT(KNotFoundErr, "Id %d not found in parsed Lm search results");
+    
+    _LIT(KLmName, "l");
+
+    for (TInt j=0; j<iLmMultiSearch->NumOfDatabasesToSearch(); j++) 
+        {
+        CPosLmItemIterator* iter = iLmMultiSearch->MatchIteratorL(j);
+        iDatabase = 
+            CPosLandmarkDatabase::OpenL(iLmMultiSearch->DatabaseUriPtr(j));
+        if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+            
+        // Check if there are any matches = iteration exists.
+        if (iter)
+            {
+            CleanupStack::PushL(iter);
+            TPosLmItemId id = iter->NextL();    
+            while (id != KPosLmNullItemId)
+                {
+                // Check that found id is expected
+                AssertTrueSecL(aSearchResults[KTestIndex]->FindSearchResult(id), 
+                    KNotFoundErr);
+              
+                CPosLandmark* lm = iDatabase->ReadLandmarkLC(id);
+        
+                TBuf<30> lmName;
+                lmName = KLmName;
+               lm->SetLandmarkNameL(lmName);
+                iDatabase->UpdateLandmarkL(*lm);
+                CleanupStack::PopAndDestroy(lm);   
+                                
+                id = iter->NextL();
+                }
+            CleanupStack::PopAndDestroy(iter);                
+            }
+        else 
+            {
+            _LIT(KIterNull, "MatchIterator returned null for a db");
+            iLog->Log(KIterNull);
+            }
+            
+        delete iDatabase;
+        iDatabase = NULL;
+        }
+    
+    iLog->Log(_L("Search criteria: "));
+    iLog->Log(textCriteria->Text());
+    ExecuteAndDeleteLD(iLmMultiSearch->StartLandmarkSearchL(*textCriteria, sortPref, ETrue));
+    
+    // Check database array
+    CheckDatabasesL(iDbArray);
+
+    // Check for errors        
+    AssertTrueSecL(iLmMultiSearch->NumOfSearchErrors() == 0, 
+        _L("Error(s) found during multi search."));
+
+    AssertTrueSecL((TUint) searchResults->Count() == 
+        iLmMultiSearch->TotalNumOfMatches(), KNumOfMatchesErr);    
+
+    for (TInt j=0; j<iLmMultiSearch->NumOfDatabasesToSearch(); j++) 
+        {
+        iDatabase = 
+            CPosLandmarkDatabase::OpenL(iLmMultiSearch->DatabaseUriPtr(j));
+        if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+        CPosLmItemIterator* iter = iLmMultiSearch->MatchIteratorL(j);
+            
+        // Check if there are any matches = iteration exists.
+        if (iter)
+            {
+            CleanupStack::PushL(iter);
+            TPosLmItemId id = iter->NextL();    
+            while (id != KPosLmNullItemId)
+                {
+                // Check that found id is expected
+                AssertTrueSecL(aSearchResults[KTestIndex]->FindSearchResult(id), 
+                    KNotFoundErr);
+   
+                CPosLandmark* lm = iDatabase->ReadLandmarkLC(id);
+        
+                TPtrC16 lmName;
+                lm->GetLandmarkName(lmName);
+                AssertTrueSecL(lmName == KLmName, _L("Wrong landmark name"));
+                
+                CleanupStack::PopAndDestroy(lm);   
+                 
+                id = iter->NextL();
+                }
+            CleanupStack::PopAndDestroy(iter);                
+            }
+        else 
+            {
+            _LIT(KIterNull, "MatchIterator returned null for a db");
+            iLog->Log(KIterNull);
+            }   
+            
+        delete iDatabase;
+        iDatabase = NULL;
+        }
+  
+    CleanupStack::PopAndDestroy(textCriteria);
+    }
+
+// ---------------------------------------------------------
+// CPosTp101::SearchAndCancelL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp101::SearchAndCancelL(const TBool& aInCallback)
+    {
+    // Test search with one criteria
+    const TInt KIndex=0;
+
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+    textCriteria->SetTextL(iSearchResults[KIndex]->TextCriteria());
+    textCriteria->SetAttributesToSearch(iSearchResults[KIndex]->Attributes());
+    textCriteria->SetPositionFieldsToSearchL(iSearchResults[KIndex]->PositionFields()); 
+
+    if (aInCallback)
+        {
+        TReal threshold = 0;
+        for (TReal i=0; i<100; i+=10) 
+            {
+            threshold = i/100;
+            RunAsyncOperationAndCancelInCallbackLD(iLmMultiSearch->StartLandmarkSearchL(
+                    *textCriteria, iSearchResults[KIndex]->Redefined()), threshold);
+                    
+            _LIT(KCancelNr, "Multi search test, cancel after progress %f, canceled ok.");
+            TBuf<100> buf;
+            buf.Format(KCancelNr, threshold);
+            iLog->Log(buf);         
+            }
+        }
+    else
+        {
+        RunAsyncOperationAndCancelLD(iLmMultiSearch->StartLandmarkSearchL(
+                *textCriteria, iSearchResults[KIndex]->Redefined()));
+        }
+        
+    CleanupStack::PopAndDestroy(textCriteria);       
+    }
+     
+// ---------------------------------------------------------
+// CPosTp101::SearchWithMaximumL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp101::SearchWithMaximumL(
+    const RPointerArray<CSearchResult>& aSearchResults)
+    {
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect when SearchWithMaximumL is performed");
+
+    // Test search with one criteria
+    const TInt KTestIndex = 0;
+
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+ 
+    textCriteria->SetTextL(iSearchResults[KTestIndex]->TextCriteria());
+    textCriteria->SetAttributesToSearch(iSearchResults[KTestIndex]->Attributes());
+    textCriteria->SetPositionFieldsToSearchL(iSearchResults[KTestIndex]->PositionFields()); 
+
+    TPosLmSortPref sortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EDescending);
+
+    // First get the maximum number of matches
+    TInt maxMatches = KNrOfDbs;  
+    iLmMultiSearch->SetMaxNumOfMatches(maxMatches);
+    _LIT(KErrNrOfMatches, "Number of matches is incorrect");
+    AssertTrueSecL(iLmMultiSearch->MaxNumOfMatches() == maxMatches, KErrNrOfMatches);
+    
+    ExecuteAndDeleteLD(iLmMultiSearch->StartLandmarkSearchL(*textCriteria, sortPref)); 
+
+    AssertTrueSecL(iLmMultiSearch->MaxNumOfMatches() == maxMatches, KErrNrOfMatches);
+    RArray<TPosLmItemId>* searchResults = &aSearchResults[KTestIndex]->SearchResult();    
+    TInt totalMatches = iLmMultiSearch->TotalNumOfMatches();
+    
+    // Check database array
+    CheckDatabasesL(iDbArray, maxMatches);
+    // Check for errors        
+    AssertTrueSecL(iLmMultiSearch->NumOfSearchErrors() == 0, 
+        _L("Error(s) found during multi search."));
+    // Check that nr is not expected number of results
+    AssertTrueSecL((TUint) searchResults->Count() != 
+        totalMatches, KNumOfMatchesErr);    
+
+    for (TInt n=0; n<iLmMultiSearch->NumOfDatabasesToSearch(); n++) 
+        {
+        RArray<TPosLmItemId> lmids;
+        CleanupClosePushL(lmids);
+        GetLmIdsL(n, *searchResults, lmids);            
+    
+        iDatabase = CPosLandmarkDatabase::OpenL(iLmMultiSearch->DatabaseUriPtr(n));
+        if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+        LandmarksSortL(lmids, sortPref);
+    
+        CPosLmItemIterator* iter = iLmMultiSearch->MatchIteratorL(n);
+        // Check if there are any matches = iteration exists.
+        if (iter) 
+            {
+            CleanupStack::PushL(iter);
+            AssertTrueSecL(iter->NumOfItemsL() == iLmMultiSearch->NumOfMatches(n), 
+                KNumOfMatchesErr);
+    
+            TInt lmid = 0;
+            TPosLmItemId id = iter->NextL();
+    
+            while (id != KPosLmNullItemId)
+                {
+                CheckEqualsLmsL(id, lmids[lmid]);
+                
+                id = iter->NextL();
+                ++lmid;
+                }
+            CleanupStack::PopAndDestroy(iter);
+            }
+        else 
+            {
+            _LIT(KIterNull, "MatchIterator returned null for a db");
+            iLog->Log(KIterNull);
+            }
+            
+        delete iDatabase;
+        iDatabase = NULL;
+        
+        CleanupStack::PopAndDestroy(&lmids);
+        }
+
+    // Test max matches again
+    TInt incMatches = 2;
+    maxMatches = maxMatches + incMatches;  
+    iLmMultiSearch->SetMaxNumOfMatches(maxMatches);
+    AssertTrueSecL(iLmMultiSearch->MaxNumOfMatches() == maxMatches, KErrNrOfMatches);
+    
+    ExecuteAndDeleteLD(iLmMultiSearch->StartLandmarkSearchL(*textCriteria)); 
+
+    AssertTrueSecL(iLmMultiSearch->MaxNumOfMatches() == maxMatches, KErrNrOfMatches);
+    TInt reTotalMatches = iLmMultiSearch->TotalNumOfMatches();
+    
+    AssertTrueSecL(reTotalMatches != totalMatches, 
+        _L("Total number of matches should not be that same."));
+    
+    // Check database array
+    CheckDatabasesL(iDbArray, maxMatches);
+    // Check for errors        
+    AssertTrueSecL(iLmMultiSearch->NumOfSearchErrors() == 0, 
+        _L("Error(s) found during multi search."));
+    // Check that nr is not expected number of results
+    AssertTrueSecL((TUint) searchResults->Count() != 
+        reTotalMatches, KNumOfMatchesErr); 
+
+    CleanupStack::PopAndDestroy(textCriteria);
+
+    // Unset max number of matches to normal/unlimited again
+    iLmMultiSearch->SetMaxNumOfMatches();
+    }
+
+// ---------------------------------------------------------
+// CPosTp101::CreateDatabasesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+CDesCArray* CPosTp101::CreateDatabasesL(TInt aNrOfLmDbs, TInt aLmPerDb, 
+    TInt aLastId, TBool aDebug)
+    {
+            
+    CDesCArray* iDbArray = new (ELeave) CDesCArrayFlat(aNrOfLmDbs); 
+    CleanupStack::PushL(iDbArray);     
+         
+    RemoveDefaultDbL();
+    
+    // Populate default db
+    iDatabase = UseGeneratedDbFileL();
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+    ExecuteAndDeleteLD(iDatabase->CompactL());
+    delete iDatabase;
+    iDatabase = NULL;
+        
+    CFileMan* fileMan = CFileMan::NewL(iFileSession);
+    CleanupStack::PushL(fileMan);
+
+    // Create databases
+    TInt i=0;
+    for (i=1; i < aNrOfLmDbs; i++)
+        {
+        TBuf<100> db;
+        db.Format(KDbNamePath, i * aLmPerDb);
+        
+        iFileSession.Delete(db);
+        User::LeaveIfError(fileMan->Copy(KLmFullDefaultDbPath, db, CFileMan::EOverWrite));    
+        }
+    CleanupStack::PopAndDestroy(fileMan);               
+
+    for (TInt db=0; db < aNrOfLmDbs; db++)
+        {
+        TInt dbform = db;
+        if (db == aNrOfLmDbs)
+            {
+            dbform = aNrOfLmDbs - 1;
+            }
+            
+        CPosLandmarkDatabase* lmd = NULL;
+        TBuf<100> name;
+        if (db == 0)
+            {
+            _LIT(KDefLmDb, "eposlm.ldb");
+            name = KDefLmDb;
+            lmd = CPosLandmarkDatabase::OpenL();
+            if (lmd->IsInitializingNeeded())
+           {
+           ExecuteAndDeleteLD(lmd->InitializeL());
+           }
+            }
+        else 
+            {
+            name.Format(KDbName, dbform * aLmPerDb);        
+            lmd = CPosLandmarkDatabase::OpenL(name);
+            if (lmd->IsInitializingNeeded())
+           {
+           ExecuteAndDeleteLD(lmd->InitializeL());
+           }
+            }
+        CleanupStack::PushL(lmd);
+        // Append db name to array
+        iDbArray->AppendL(name);
+
+        if (aDebug)
+            {
+            iLog->Log(name);
+            }
+        
+        TInt startItemid = dbform * aLmPerDb + 1;
+        TInt stopItemid = dbform * aLmPerDb + aLmPerDb;            
+        if (dbform == aNrOfLmDbs - 1)
+            {
+            stopItemid = aLastId;
+            }
+        
+        for (TInt lmid=1; lmid <= aLastId; lmid++) 
+            {
+            TBuf<100> lmidbuf;
+                
+            if (aDebug)
+                {
+                _LIT(KLmId, "Landmark with LmId: %d");
+                lmidbuf.Format(KLmId, lmid);
+                iLog->Log(lmidbuf);                                
+                }
+
+            if (lmid < startItemid || lmid > stopItemid)
+                {
+                if (aDebug)
+                    {
+                    _LIT(KDelLmId, "Removing LmId: %d");
+                    lmidbuf.Format(KDelLmId, lmid);
+                    iLog->Log(lmidbuf);                                
+                    }
+                TInt err = KErrLocked;
+                while (err == KErrLocked)
+                    {
+                    TRAP(err, lmd->RemoveLandmarkL(lmid));
+                    }
+                }
+            }
+
+        // Compact database
+        ExecuteAndDeleteLD(lmd->CompactL());    
+        CleanupStack::PopAndDestroy(lmd);  
+        }
+        
+    // Log/print landmark databases.
+    if (aDebug)
+        {
+        // DEBUG 
+        for (i=0; i < aNrOfLmDbs; i++)
+            {
+            TBuf<100> dbNo;
+            dbNo.Format(_L(" -------- Printing Db %d --------------"), i);
+            iLog->Log(dbNo);
+                
+            CPosLandmarkDatabase* lmd = NULL;
+            if (i == 0) 
+                {
+                _LIT(KDbDefName, "Default Lm DB");
+                iLog->Log(KDbDefName);
+                lmd = CPosLandmarkDatabase::OpenL();
+                if (lmd->IsInitializingNeeded())
+               {
+               ExecuteAndDeleteLD(lmd->InitializeL());
+               }
+
+                }
+            else 
+                {            
+                TInt dbform = i;
+                if (i == 5)
+                    {
+                    dbform = 4;
+                    }
+                    
+                TBuf<100> db;
+                db.Format(KDbName, dbform * aLmPerDb);
+                iLog->Log(db);
+                
+                lmd = CPosLandmarkDatabase::OpenL(db);   
+                if (lmd->IsInitializingNeeded())
+               {
+               ExecuteAndDeleteLD(lmd->InitializeL());
+               }
+
+                }
+            CleanupStack::PushL(lmd);
+            CPosLmCategoryManager* lmcat = CPosLmCategoryManager::NewL(*lmd);
+            CleanupStack::PushL(lmcat);
+            
+            CPosLmItemIterator* iter = lmd->LandmarkIteratorL();
+            CleanupStack::PushL(iter);
+
+            _LIT(KNrLms, "Nr of Lms: %d");
+            TBuf<20> lms;
+            lms.Format(KNrLms, iter->NumOfItemsL());
+            iLog->Log(lms);
+           
+            TPosLmItemId id = iter->NextL(); 
+            while (id != KPosLmNullItemId)
+                {
+                CPosLandmark* lm = lmd->ReadLandmarkLC(id);
+            
+                TBuf<255> info;
+                PrintLandmark(*lm, info);
+                iLog->Log(info);
+                CleanupStack::PopAndDestroy(lm); 
+                
+                id = iter->NextL();
+                }    
+
+            CleanupStack::PopAndDestroy(iter);
+
+            CPosLmItemIterator* catiter = lmcat->CategoryIteratorL();
+            CleanupStack::PushL(catiter);
+
+            _LIT(KNrLmCats, "Nr of Lm Cats: %d");
+            TBuf<20> lmcats;
+            lmcats.Format(KNrLmCats, catiter->NumOfItemsL());
+            iLog->Log(lmcats);
+           
+            id = catiter->NextL(); 
+            while (id != KPosLmNullItemId)
+                {
+                CPosLandmarkCategory* cat = lmcat->ReadCategoryLC(id);
+            
+                TBuf<255> info;
+                // PrintLandmark(*lm, info);
+                _LIT(KCatId, "Category id: %d");
+                _LIT(KCatGlobalId, "Global Category id: %d");
+                _LIT(KCatName, "Category name: %S");
+                
+                info.Format(KCatId, cat->CategoryId());                
+                iLog->Log(info);
+                
+                info.Format(KCatGlobalId, cat->GlobalCategory());                
+                iLog->Log(info);
+                
+                TPtrC catname;
+                TInt err = cat->GetCategoryName(catname);
+                info.Format(KCatName, &catname);                
+                iLog->Log(info);
+                
+                CleanupStack::PopAndDestroy(cat); 
+                
+                id = catiter->NextL();
+                }    
+           
+           
+            CleanupStack::PopAndDestroy(3, lmd); // catiter, lmcat
+            }        
+        }
+        
+    CleanupStack::Pop(iDbArray);
+    return iDbArray;
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp102.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,806 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp102.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLmDatabaseManager.h>
+#include "FT_DatabaseUtility.h"
+#include <EPos_CPosLmTextCriteria.h>
+           
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp102::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp102::CloseTest()
+    {
+	iLog->Log(_L("CloseTest"));
+	
+    TRAPD(err, RemoveAllLmDatabasesL());
+    if (err != KErrNone) iLog->Log(_L("RemoveAllLmDatabasesL() leaved"));
+    
+    }
+
+// ---------------------------------------------------------
+// CPosTp102::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp102::StartL()
+    {
+    _LIT(KDatabase1, "Tp102_Database1.ldb");
+    _LIT(KDatabaseUri1, "file://C:Tp102_Database1.ldb");
+    _LIT(KDatabase1MissingProtocol, "C:Tp102_Database1.ldb");
+    _LIT(KDatabase1MissingDrive, "Tp102_Database1.ldb");
+    _LIT(KDatabase1MissingExtension, "C:Tp102_Database1");
+    _LIT(KDatabase1FullPath, "c:\\private\\100012a5\\DBS_101FE978_Tp102_Database1.ldb");
+    _LIT(KRemoteDatabaseUri, "http://c:eposlm.ldb");
+    _LIT(KDatabase3, "C:Tp102_DBMS_Database3.ldb");
+    _LIT(KDatabaseUri3, "file://C:Tp102_DBMS_Database3.ldb");
+    // Change here if path to private area ever changes
+    _LIT(KDatabase4FullPath, "c:\\private\\100012a5\\DBS_101FE978_Tp102_DefaultDatabase.ldb");
+    _LIT(KDatabase4, "Tp102_DefaultDatabase.ldb");
+    _LIT(KDatabaseUri4, "file://C:Tp102_DefaultDatabase.ldb");
+    
+    _LIT(KDatabaseUri5, "file://R:NonExistingDrive.ldb");
+
+#ifdef __WINS__
+	// D on wins
+    _LIT(KDbOnMedia, "D:TP102EPOSLM.LDB");
+    _LIT(KDbOnMediaUri, "file://D:TP102EPOSLM.LDB");
+    
+    _LIT(KDbOnMedia2, "D:TP102EPOSLM_2.LDB");
+    _LIT(KDbOnMedia2Uri, "file://D:TP102EPOSLM_2.LDB");
+    _LIT(KDbOnMedia2MissingDrive, "file://TP102EPOSLM_2.LDB");
+#else
+
+    _LIT(KDbOnMedia, "F:TP102EPOSLM.LDB");
+    _LIT(KDbOnMediaUri, "file://F:TP102EPOSLM.LDB");
+    
+    _LIT(KDbOnMedia2, "F:TP102EPOSLM_2.LDB");
+    _LIT(KDbOnMedia2Uri, "file://F:TP102EPOSLM_2.LDB");
+    _LIT(KDbOnMedia2MissingDrive, "file://TP102EPOSLM_2.LDB");
+#endif
+
+    _LIT(KEmptyURI, "");
+
+    iLog->Log(_L("Warning: this test case requires E: drive"));
+    
+    TInt err=KErrNone;
+
+    RemoveAllLmDatabasesL();
+	// Create defaultdb
+    CPosLmDatabaseManager* dbManager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(dbManager);
+    HPosLmDatabaseInfo* dbInfo4 = HPosLmDatabaseInfo::NewLC(KDatabase4);
+	dbManager->CreateDatabaseL(*dbInfo4);
+	CleanupStack::PopAndDestroy(dbInfo4);
+	dbManager->SetDefaultDatabaseUriL(KDatabase4);
+	
+    // 1) Remove all landmark db
+    RemoveAllLmDatabasesL();
+    
+    // check the count of databases that could not be delted since they were in use
+    CDesCArray* dbList = dbManager->ListDatabasesLC();
+    TInt count = dbList->Count();
+
+
+    // 2) Verify no *.ldb files on file system    
+    VerifyNrOfDatabasesL(count);
+
+    // 3) Check default db
+    HBufC* defaultDbUri;
+    defaultDbUri = dbManager->DefaultDatabaseUriLC();
+    
+    // 4) List all database, should return 0
+    VerifyNrOfDatabasesL(count);
+
+    // 5) Check that database does not exist
+    if (dbManager->DatabaseExistsL(KDatabaseUri1))
+        {
+        
+        iLog->Log(_L("This database should not exist"));
+        User::Leave(-1);
+        }
+
+    // 6) Create a new database using db api
+    HPosLmDatabaseInfo* dbInfo1 = HPosLmDatabaseInfo::NewLC(KDatabase1);
+    dbManager->CreateDatabaseL(*dbInfo1);
+    CleanupStack::PopAndDestroy(dbInfo1);
+
+    // 7) List dbs, should contain db created in step6
+    CDesCArray* dbArray = dbManager->ListDatabasesLC();
+    if (dbArray->Count() != count+1) 
+    {
+    	iLog->Log(_L("Database does not contain the last created db"));
+        User::Leave(-1);
+    }
+
+	iLog->Log((*dbArray)[0]);
+    // 8) Check that dabase does not exist
+    if (!dbManager->DatabaseExistsL(KDatabaseUri1))
+        {
+        
+        	iLog->Log(_L("This database should exist"));
+        	User::Leave(-1);
+        }
+	CleanupStack::PopAndDestroy(dbArray);
+	
+    // 9)
+    CPosLandmarkDatabase* db1 = CPosLandmarkDatabase::OpenL(KDatabaseUri1);
+    CleanupStack::PushL(db1);
+    if (db1->IsInitializingNeeded())
+        {
+        iLog->Log(_L("db1->InitializeL"));
+        ExecuteAndDeleteLD(db1->InitializeL());
+        }
+    CleanupStack::PopAndDestroy(db1);
+
+        
+    CleanupStack::PopAndDestroy(defaultDbUri);
+
+    // 11) Open the default db
+    CPosLandmarkDatabase* defaultDatabase = CPosLandmarkDatabase::OpenL();
+    CleanupStack::PushL(defaultDatabase);
+
+	iLog->Log(_L("12) List all databases"));
+    // 12) List all databases
+	TInt verifyDbCount = count +2;
+    VerifyNrOfDatabasesL(verifyDbCount, KDatabaseUri4);
+
+    // 13)
+    iLog->Log(_L("13) Does defaultDB exist"));
+    if (!dbManager->DatabaseExistsL(KDatabaseUri4))
+        {
+        
+        	iLog->Log(_L("The default database should have been created"));
+        	User::Leave(-1);
+        }
+
+    // 14) Try to delete the physical file while db is open
+
+	// Fix this path
+    err = iFileSession.Delete(KDatabase4FullPath);
+    if (err != KErrInUse)
+        {
+        
+       	iLog->Log(_L("It was possible to delete default db from file system"));
+        User::Leave(err);
+        }
+	CleanupStack::PopAndDestroy(defaultDatabase);
+	
+    // 15) Create a landmark database using the DBMS API
+    iLog->Log(_L("15) Create a landmark database using the DBMS API"));
+    FTDatabaseUtility::CreateDatabaseL(KDatabase3);
+    // 16)
+    verifyDbCount = count +3;
+    VerifyNrOfDatabasesL(verifyDbCount, KDatabaseUri3);
+
+    // 17) Create a database on a removable media
+    iLog->Log(_L("17) Create a database on a removable media"));
+    HPosLmDatabaseInfo* dbInfoMedia = HPosLmDatabaseInfo::NewLC(KDbOnMedia);
+    dbManager->CreateDatabaseL(*dbInfoMedia);
+    CleanupStack::PopAndDestroy(dbInfoMedia);
+
+    // 18) Verify database
+    verifyDbCount = count + 4;
+    VerifyNrOfDatabasesL(verifyDbCount, KDbOnMediaUri);
+
+    // 19) Retrieve the display name for the default db, it should be different from actual the filename
+    iLog->Log(_L("19) Retrieve the display name for the default db, it should be different from actual the filename"));
+    HBufC* defUri = dbManager->DefaultDatabaseUriLC();
+    HPosLmDatabaseInfo* dbInfoReadback = HPosLmDatabaseInfo::NewLC(*defUri);
+    dbManager->GetDatabaseInfoL(*dbInfoReadback);
+    TPosLmDatabaseSettings settings = dbInfoReadback->Settings();
+    TPtrC name1 = settings.DatabaseName();
+    CleanupStack::PopAndDestroy(dbInfoReadback);
+    CleanupStack::PopAndDestroy(defUri);
+    
+
+    // 20) Set a new db as default
+    dbManager->SetDefaultDatabaseUriL(KDbOnMediaUri);
+    
+    // 21) Retrieve the display name for the new default db, should be the same as in step 19
+    iLog->Log(_L("21) Retrieve the display name for the new default db, should be the same as in step 19"));
+    dbInfoReadback = HPosLmDatabaseInfo::NewLC(KDbOnMediaUri);
+    dbManager->GetDatabaseInfoL(*dbInfoReadback);
+    TPosLmDatabaseSettings settings2 = dbInfoReadback->Settings();
+    TPtrC name2 = settings2.DatabaseName();
+    CleanupStack::PopAndDestroy(dbInfoReadback);
+    
+    if (name1.Compare(name2) != 0)
+    	{
+    	iLog->Log(_L("Names does not match"));
+        User::Leave(-1);
+    	}
+    
+    _LIT(KFileColonSlashSlash, "file://");
+    _LIT(KCColonSomeTestDbDotLdb, "c:SomeTestDb.ldb");
+    _LIT(KFileColonSlashSlashSomeTestDb2DotLdb, "file://SomeTestDb2.ldb");
+    _LIT(KCColonSomeTestDb3DotDoc, "c:SomeTestDb3.doc");
+    _LIT(KEmptyString, "");
+    _LIT(KFileColonSlahSlashCColonDotLdb, "file://C:.LDB");
+    _LIT(KVeryLongString, "c:\\SomeVeryLongFilename1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890.ldb");
+    
+    HPosLmDatabaseInfo* dbInfoFileColonSlashSlash = HPosLmDatabaseInfo::NewLC(KFileColonSlashSlash);
+    HPosLmDatabaseInfo* dbInfoCColonSomeTestDbDotLdb = HPosLmDatabaseInfo::NewLC(KCColonSomeTestDbDotLdb);
+    HPosLmDatabaseInfo* dbInfoFileColonSlashSlashSomeTestDb2DotLdb = HPosLmDatabaseInfo::NewLC(KFileColonSlashSlashSomeTestDb2DotLdb);
+    HPosLmDatabaseInfo* dbInfoCColonSomeTestDb3DotDoc = HPosLmDatabaseInfo::NewLC(KCColonSomeTestDb3DotDoc);
+    HPosLmDatabaseInfo* dbInfoEmptyString = HPosLmDatabaseInfo::NewLC(KEmptyString);
+    HPosLmDatabaseInfo* dbInfoFileColonSlahSlashCColonDotLdb = HPosLmDatabaseInfo::NewLC(KFileColonSlahSlashCColonDotLdb);
+    HPosLmDatabaseInfo* dbInfoVeryLongString = HPosLmDatabaseInfo::NewLC(KVeryLongString);
+    
+    
+    // 22) Createa db with same name as an existing
+    dbInfo1 = HPosLmDatabaseInfo::NewLC(KDatabase1);
+	TRAP(err, dbManager->CreateDatabaseL(*dbInfo1));
+	CleanupStack::PopAndDestroy(dbInfo1);
+	if (err != KErrAlreadyExists) 
+	{
+		iLog->Log(_L("22 Should leave with KErrAlreadyExist"));
+        User::Leave(err);
+	}
+
+	// 23) Create a new database using the db management API with a nonsense URI
+	TRAP(err, dbManager->CreateDatabaseL(*dbInfoFileColonSlashSlash));
+	if (err != KErrArgument) 
+	{
+		iLog->Log(_L("23 Should leave with KErrArgument"));
+        User::Leave(err);	
+	}
+	
+	// 24) Create a new database using the db management API with a URI specifying a remote database
+	HPosLmDatabaseInfo* dbInfoRem = HPosLmDatabaseInfo::NewLC(KRemoteDatabaseUri);
+	TRAP(err, dbManager->CreateDatabaseL(*dbInfoRem));
+	CleanupStack::PopAndDestroy(dbInfoRem);
+	
+	if (err != KErrNotSupported)
+	{
+		iLog->Log(_L("24 Should leave with KErrNotSupported"));
+        User::Leave(err);
+	}
+	
+	// 25) Create a new database using the db management API with a URI with missing protocol
+	TRAP(err, dbManager->CreateDatabaseL(*dbInfoCColonSomeTestDbDotLdb));
+	if (err != KErrNone) 
+	{
+		iLog->Log(_L("25 Should NOT leave"));
+        User::Leave(err);
+	}
+	
+	// 26) Create a new database using the db management API with a URI with missing drive
+	TRAP(err, dbManager->CreateDatabaseL(*dbInfoFileColonSlashSlashSomeTestDb2DotLdb));
+	if (err != KErrNone) 
+	{
+		iLog->Log(_L("26 Should NOT leave"));
+        User::Leave(err);
+	}
+
+	// 27) Create a new database using the db management API with a URI that does not end with *.ldb
+	TRAP(err, dbManager->CreateDatabaseL(*dbInfoCColonSomeTestDb3DotDoc));
+	if (err != KErrArgument) 
+	{
+		iLog->Log(_L("27 Should leave with KErrArgument"));
+        User::Leave(err);
+	}
+	
+	// 28) Create a new database using the db management API with a URI containing the path to the database file
+	HPosLmDatabaseInfo* dbInfoUri1 = HPosLmDatabaseInfo::NewLC(KDatabaseUri1);
+	TRAP(err, dbManager->CreateDatabaseL(*dbInfoUri1));
+	CleanupStack::PopAndDestroy(dbInfoUri1);
+	if (err != KErrAlreadyExists)
+	{
+		iLog->Log(_L("28 Should leave with KErrAlreadyExist"));
+        User::Leave(err);
+	}
+	
+	// 29) Create a new database using the db management API with an empty URI
+	TRAP(err, dbManager->CreateDatabaseL(*dbInfoEmptyString));
+	if (err != KErrArgument) 
+	{
+		iLog->Log(_L("29 Should leave with KErrArgument"));
+        User::Leave(err);
+	}
+	
+	// 29b) Create a new database using the db management API with an empty URI (containing file://c:.ldb)
+	TRAP(err, dbManager->CreateDatabaseL(*dbInfoFileColonSlahSlashCColonDotLdb));
+	if (err != KErrArgument) 
+	{
+		iLog->Log(_L("29b Should leave with KErrArgument"));
+        User::Leave(err);
+	}
+	
+    // 30) Create a new database using the db management API with a URI that is longer than allowed
+    TRAP(err, dbManager->CreateDatabaseL(*dbInfoVeryLongString));
+	if (err != KErrArgument) 
+	{
+		iLog->Log(_L(" Should leave with KErrArgument"));
+        User::Leave(err);
+	}
+    
+    CleanupStack::PopAndDestroy(dbInfoVeryLongString);
+    CleanupStack::PopAndDestroy(dbInfoFileColonSlahSlashCColonDotLdb);
+    CleanupStack::PopAndDestroy(dbInfoEmptyString);
+    CleanupStack::PopAndDestroy(dbInfoCColonSomeTestDb3DotDoc);
+    CleanupStack::PopAndDestroy(dbInfoFileColonSlashSlashSomeTestDb2DotLdb);
+    CleanupStack::PopAndDestroy(dbInfoCColonSomeTestDbDotLdb);
+    CleanupStack::PopAndDestroy(dbInfoFileColonSlashSlash);
+      
+    // 31 Try to delete an existing db
+    dbManager->DeleteDatabaseL(KDatabaseUri1);
+    // 32) Check that it is deleted from file system
+    iLog->Log(_L("Trap error below:"));
+    verifyDbCount = count + 5;
+    TRAP(err, VerifyNrOfDatabasesL(verifyDbCount, KDatabaseUri1));
+    if (err != KErrNotFound) 
+    {
+    	iLog->Log(_L("32 Should not be found"));
+        User::Leave(err);
+    }
+
+    // 33)  Delete same file again, according to header file, nothing should happen
+    // when the file does not exist
+    TRAP(err, dbManager->DeleteDatabaseL(KDatabaseUri1));
+    if (err != KErrNone) 
+    {
+    	iLog->Log(_L("33 DeleteDatbaseL, nothing should happen"));
+        User::Leave(err);
+    }
+    iLog->Log(_L("After DeleteDatabaseL"));
+
+    CFileMan* fileMan = NULL;
+    fileMan = CFileMan::NewL(iFileSession);
+	CleanupStack::PushL(fileMan);
+	
+	dbInfo1 = HPosLmDatabaseInfo::NewLC(KDatabase1);
+	dbManager->CreateDatabaseL(*dbInfo1);
+	CleanupStack::PopAndDestroy(dbInfo1);
+	verifyDbCount = count +6;
+	VerifyNrOfDatabasesL(verifyDbCount, KDatabaseUri1);
+    // 34 Set an existing non-default db to be read-only (attribute found in F32FILE.H)
+    err = fileMan->Attribs(KDatabase1FullPath, KEntryAttReadOnly, KEntryAttNormal, TTime(0));
+    if (err != KErrNone) 
+    {
+    	iLog->Log(_L("Attributes could not be changed for KDatabase1FullPath"));
+        User::Leave(err);	
+    }
+        
+    // 35) Try to delete db with read only
+	TRAP(err, dbManager->DeleteDatabaseL(KDatabaseUri1));
+	if (err != KErrAccessDenied) 
+	{
+		iLog->Log(_L("35 Err delete of KDatabaseUri1"));
+        User::Leave(err);	
+	}
+	
+	// Change back to writeable (attribute found in F32FILE.H)
+    err = fileMan->Attribs(KDatabase1FullPath, KEntryAttNormal, KEntryAttReadOnly, TTime(0));
+    if (err != KErrNone)
+    {
+    	iLog->Log(_L("Attributes could not be changed KDatabase1FullPath"));
+        User::Leave(err);	
+    }
+	
+    // 36) Take a read lock on a db by using a search operation	
+    CPosLandmarkDatabase* lmd = CPosLandmarkDatabase::OpenL(KDatabaseUri1);
+    CleanupStack::PushL(lmd);
+    
+    if (lmd->IsInitializingNeeded())
+        {
+        ExecuteAndDeleteLD(lmd->InitializeL()); 
+        }
+        
+    CPosLandmarkSearch* landmarkSearch = CPosLandmarkSearch::NewL(*lmd);
+    CleanupStack::PushL(landmarkSearch);
+    
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+    textCriteria->SetTextL(_L("*"));
+    iOperation = landmarkSearch->StartLandmarkSearchL(*textCriteria, EFalse);
+    
+    // 37) Try to delete db with read lock
+    TRAP(err, dbManager->DeleteDatabaseL(KDatabaseUri1));
+	if (err != KErrInUse) 
+	{
+	iLog->Log(_L("37) Err delete of Read Locked KDatabaseUri1"));
+     User::Leave(err);		
+	}
+	
+	ExecuteAndDeleteLD(iOperation);
+	
+    // 38) List databases
+	verifyDbCount = count + 6;
+    VerifyNrOfDatabasesL(verifyDbCount, KDatabaseUri1);
+
+    //39) Take a write lock on a db by trying to delete all landmarks operations
+	iOperation = lmd->RemoveAllLandmarksL();
+    // 40) Try to delete db with write lock
+    TRAP(err, dbManager->DeleteDatabaseL(KDatabaseUri1));
+	if (err != KErrInUse)
+	{
+	iLog->Log(_L("40) Err delete of Write Locked KDatabaseUri1"));
+     User::Leave(err);		
+	}
+	
+	ExecuteAndDeleteLD(iOperation);
+
+    // 41) List databases
+	verifyDbCount = count + 6;
+    VerifyNrOfDatabasesL(verifyDbCount, KDatabaseUri1);
+    
+    CleanupStack::PopAndDestroy(textCriteria);
+    CleanupStack::PopAndDestroy(landmarkSearch);
+    CleanupStack::PopAndDestroy(lmd);
+    
+    CleanupStack::PopAndDestroy(fileMan);
+
+    // 42) Try to delete a non-existing URI
+    TRAP(err, dbManager->DeleteDatabaseL(_L("c:\\NonsenseURI")));
+    if (err != KErrArgument) 
+        {
+        
+        iLog->Log(_L("42: Should leave with KErrArgument11"));
+     	User::Leave(err);		
+        }
+        
+    // 43) Try to delete a remote URI
+    TRAP(err, dbManager->DeleteDatabaseL(KRemoteDatabaseUri));
+    if (err!=KErrNotSupported) 
+    {
+    	iLog->Log(_L("43) Err KRemoteDatabaseUri"));
+     	User::Leave(err);		
+    }
+    
+    // 44) Try to delete a local db specifying URI with missing protocol
+    dbManager->DeleteDatabaseL(KDatabase1MissingProtocol);
+    
+    // 45) List databases
+    verifyDbCount = count + 5;
+    VerifyNrOfDatabasesL(verifyDbCount);
+
+    // 46) Try to delete a db on removable media excluding drive in URI
+    // Since the DeleteDatabaseL just returns if the db is not found, verify that no db has been removed
+
+    HPosLmDatabaseInfo* dbInfoMedia2 = HPosLmDatabaseInfo::NewLC(KDbOnMedia2);
+	dbManager->CreateDatabaseL(*dbInfoMedia2);
+	CleanupStack::PopAndDestroy(dbInfoMedia2);
+	verifyDbCount = count +6;
+	VerifyNrOfDatabasesL(verifyDbCount, KDbOnMedia2Uri);
+	TRAP(err , dbManager->DeleteDatabaseL(KDbOnMedia2MissingDrive));
+	
+    if (err != KErrNone)
+        {
+        TBuf<100> buffe;
+        buffe.Format(_L("46) Wrong error when deleting KDbOnMedia2MissingDrive, was %d should be %d"), err, KErrNone);
+        
+        iLog->Log(buffe);
+     	User::Leave(err);		
+        }
+    verifyDbCount = count + 6;
+	VerifyNrOfDatabasesL(verifyDbCount, KDbOnMedia2Uri);
+	
+    // 47) Try to delete a db on c drive excluding drive in URI
+    iLog->Log(_L("47) Try to delete a db on c drive excluding drive in URI"));
+    dbInfo1 = HPosLmDatabaseInfo::NewLC(KDatabase1);
+    TRAP(err, dbManager->CreateDatabaseL(*dbInfo1));
+    CleanupStack::PopAndDestroy(dbInfo1);
+    if (err != KErrNone && err != KErrAlreadyExists)
+    {
+    	iLog->Log(_L("Problem creating file KDatabase1"));
+     	User::Leave(err);		
+    }
+	TRAP(err, dbManager->DeleteDatabaseL(KDatabase1MissingDrive));
+	if (err != KErrNone)
+	{
+		iLog->Log(_L("Wrong errro when deleting file"));
+     	User::Leave(err);
+	}
+	verifyDbCount = count + 6;
+	VerifyNrOfDatabasesL(verifyDbCount);
+	
+	dbInfo1 = HPosLmDatabaseInfo::NewLC(KDatabase1);
+	dbManager->CreateDatabaseL(*dbInfo1);
+	CleanupStack::PopAndDestroy(dbInfo1);
+	verifyDbCount = count +7;
+	VerifyNrOfDatabasesL(verifyDbCount, KDatabaseUri1);
+	
+    // 48) Try to delete a db with URI that does not end with .ldb
+    iLog->Log(_L("48) Try to delete a db with URI that does not end with .ldb"));
+    TRAP(err, dbManager->DeleteDatabaseL(KDatabase1MissingExtension));
+    if (err != KErrArgument) 
+    {
+    	iLog->Log(_L("48) Wrong error when deleting KDatabase1MissingExtension"));
+     	User::Leave(err);
+    }
+
+    // 49) Try to delete a database with a URI that includes the path to the database
+    iLog->Log(_L("49) Try to delete a database with a URI that includes the path to the database"));
+    TRAP(err, dbManager->DeleteDatabaseL(KDatabase1FullPath));
+    if (err != KErrArgument) 
+    {
+    	iLog->Log(_L("Wrong error when deleting KDatabase1FullPath"));
+     	User::Leave(err);
+    }
+    verifyDbCount = count +7;
+    VerifyNrOfDatabasesL(verifyDbCount);
+
+    // 50 Delete with empty URI
+    iLog->Log(_L("50) "));
+    TRAP(err, dbManager->DeleteDatabaseL(KEmptyURI));
+    if (err != KErrArgument) 
+    {
+    	iLog->Log(_L("Wrong error when deleting KEmptyURI"));
+     	User::Leave(err);
+    }
+
+    // 51) Try to delete a db with URI that is longer than allowed
+    iLog->Log(_L("51) "));
+	TRAP(err, dbManager->DeleteDatabaseL(_L("SomeVeryLongFilename1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890.ldb")));
+	if (err != KErrArgument) 
+	{
+		iLog->Log(_L("Wrong error when deleting long filename file"));
+     	User::Leave(err);
+	}
+    
+    // 52) Try to delete the existing default db
+    iLog->Log(_L("52) "));
+    dbManager->SetDefaultDatabaseUriL(KDatabase1);
+    dbManager->DeleteDatabaseL(KDatabase1);
+
+    // 53) List databases
+    iLog->Log(_L("53) "));
+    verifyDbCount = count +6;
+    VerifyNrOfDatabasesL(verifyDbCount);
+    
+    // 54 Create db on drive that does not exist
+    HPosLmDatabaseInfo* dbInfoUri5 = HPosLmDatabaseInfo::NewLC(KDatabaseUri5);
+    TRAP(err, dbManager->CreateDatabaseL(*dbInfoUri5));
+    CleanupStack::PopAndDestroy(dbInfoUri5);
+    if (err != KErrNotReady) 
+    {
+    	iLog->Log(_L("54) Wrong error when creating db on media that does not exist"));
+     	User::Leave(err);
+    }
+    verifyDbCount = count +6;
+    VerifyNrOfDatabasesL(verifyDbCount);
+    
+    // 55 Delete db on drive that does not exist
+    TRAP(err, dbManager->DeleteDatabaseL(KDatabaseUri5));
+    if (err != KErrNotReady) 
+    {
+    	iLog->Log(_L("55) Wrong error when deleting db on media that does not exist"));
+     	User::Leave(err);
+    }
+    
+    _LIT(KLongFileName, "file://C:ABCDEFGHIJKLMNOPQRSTABCDEFGHIJKLMNOPQRSTABCDEFGHIJKLMNOPQRSTABCDEFGHIJKLMNOPQRSTABCDEFGHIJKLMNOPQRST.ldb");
+    
+	// 56 Create db with long filename
+	HPosLmDatabaseInfo* dbInfoLong = HPosLmDatabaseInfo::NewLC(KLongFileName); 
+    TRAP(err, dbManager->CreateDatabaseL(*dbInfoLong));
+    CleanupStack::PopAndDestroy(dbInfoLong);
+    if (err != KErrArgument)
+    {
+    	iLog->Log(_L("57) Wrong error when creating db with long filename"));
+     	User::Leave(err);
+    }
+    verifyDbCount = count +6;
+    VerifyNrOfDatabasesL(verifyDbCount);
+    
+    // 57) Check that database with long filename does not exist
+    if (dbManager->DatabaseExistsL(KLongFileName))
+        {
+        //LogErrorAndLeave(_L("Database with long filename should not exist"));
+        iLog->Log(_L("57) Database with long filename should not exist"));
+     	User::Leave(-1);
+        }
+
+    // 58) Check error ESLI-6ARN66, delete a db with strange filename
+    HPosLmDatabaseInfo* dbInfoWeird = 
+        HPosLmDatabaseInfo::NewLC(_L("file://c:!#¤%&()=+`´^¨~'§½-_,;.{}[]$£@0123456789åäöÅÄÖ.ldb"));
+	dbManager->CreateDatabaseL(*dbInfoWeird);
+	CleanupStack::PopAndDestroy(dbInfoWeird);
+	verifyDbCount = count +7;
+	VerifyNrOfDatabasesL(verifyDbCount);
+	
+	CleanupStack::PopAndDestroy(dbList);
+	CleanupStack::PopAndDestroy(dbManager);
+	
+	TRAP(err, RemoveAllLmDatabasesL());
+    if (err != KErrNone) 
+        {
+        
+        iLog->Log(_L("RemoveAllLmDatabasesL should not leave with error"));
+     	User::Leave(err);
+        }
+        
+   TestDifferentUrisL();
+        
+	}
+
+// ---------------------------------------------------------
+// CPosTp102::TestDifferentUrisL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp102::TestDifferentUrisL()
+    {
+    iLog->Log(_L("TestDifferentUrisL"));
+    _LIT(KDbUri1, "file://:://c:::en helt \" sjuk .ldb databas\".ldb.ldb.ldb");
+    _LIT(KDbUri2, "file://c:en helt sjuk databas.ldb");
+    _LIT(KDbUri3, "file:///c:en helt sjuk databas.ldb");
+    _LIT(KDbUri4, "file://c::en helt sjuk databas.ldb");
+    _LIT(KDbUri5, "file://c:en helt sjuk .ldb databas.ldb");
+    _LIT(KDbUri6, "file://c:en helt sjuk databas.ldb.ldb.ldb");
+    _LIT(KDbUri7, "file://c:en helt \" sjuk databas.ldb");
+    _LIT(KDbUri8, "file://c:en helt < sjuk databas.ldb");
+    _LIT(KDbUri9, "file://c:en helt > sjuk databas.ldb");
+    _LIT(KDbUri10, "file://c:en helt | sjuk databas.ldb");
+    _LIT(KDbUri11, "file://c:en helt / sjuk databas.ldb");
+    _LIT(KDbUri12, "file://c:en helt ? sjuk databas.ldb");
+    _LIT(KDbUri13, "file://c:en helt \\ sjuk databas.ldb");
+    _LIT(KDbUri14, "file://c:en helt : sjuk databas.ldb");
+    // Below tested separately in step 58)
+    //_LIT(KDbUri15, "file://c:!#¤%&()=+`´^¨~'§½-_,;.{}[]$£@0123456789åäöÅÄÖ.ldb");
+    _LIT(KDbUri16, "file://c:qwertyuiopasdfghjklzxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM.ldb");
+    _LIT(KDbUri17, "file://en otroligt helt sjuk databas.ldb");
+    _LIT(KDbUri18, "c:en helsjuk databas.ldb");
+    _LIT(KDbUri19, "file://c:\\system\\data\\en helt sjuk databas.ldb");
+    _LIT(KDbUri20, "file://c:.ldb");
+    _LIT(KDbUri21, "file://c:filename");
+    _LIT(KDbUri22, "file://c:filename.dip");
+    _LIT(KDbUri23, "file://c:filename. ldb");
+    _LIT(KDbUri24, "file://c:*.ldb");
+    _LIT(KDbUri25, "file://allan:en helt sjuk databas.ldb");
+    _LIT(KDbUri26, "file://g:en helt sjuk databas.ldb");
+    _LIT(KDbUri27, "file://c:filename.ldb");
+    _LIT(KDbUri28, "file://c:012345678901234567890123456789012345678901234567890123456789.ldb");
+    
+    const TInt KNrOfUris = 8;
+    const TDesC* listOfUris[] = {&KDbUri2,  &KDbUri5, &KDbUri6
+    , &KDbUri16 , &KDbUri17, &KDbUri18
+    , &KDbUri27, &KDbUri28
+    };
+    /* &KDbUri1*/
+
+    const TInt KNrOfNonWorkingUris = 19;
+    const TDesC* listOfUrisNonWorking[] = {&KDbUri1, &KDbUri3 ,&KDbUri4, &KDbUri7, &KDbUri8, &KDbUri9
+    , &KDbUri10, &KDbUri11, &KDbUri12, &KDbUri13, &KDbUri14, &KDbUri19, &KDbUri20, &KDbUri21
+    , &KDbUri22, &KDbUri23, &KDbUri24, &KDbUri25, &KDbUri26};
+    
+    TInt errorList[] = {KErrArgument, KErrBadName, KErrBadName, KErrBadName, KErrBadName ,KErrBadName,KErrBadName,
+                   KErrBadName, KErrBadName, KErrArgument, KErrBadName, KErrArgument, KErrArgument,
+                   KErrArgument, KErrArgument,KErrArgument, KErrBadName, KErrBadName, KErrNotReady};
+        
+    CPosLmDatabaseManager* dbManager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(dbManager);	    
+	    
+    RemoveAllLmDatabasesL();
+    TBuf<100> buf;
+    // get the count of dbs that have notbeen deleted isnce they are in use
+    CDesCArray* dbArray1 = dbManager->ListDatabasesLC();
+    TInt count = dbArray1->Count();
+    TInt verifyDbcount;
+    
+    for (TInt i=0;i<KNrOfUris;i++)
+        {
+        HPosLmDatabaseInfo* dbInfo = HPosLmDatabaseInfo::NewLC(*listOfUris[i]);
+        iLog->Log(_L("Creating db:"));
+        iLog->Log(*listOfUris[i]);
+	    TRAPD(err, dbManager->CreateDatabaseL(*dbInfo));
+	    if (err != KErrNone)
+	        {
+	        buf.Format(_L("Failed with err %d"), err);
+	        iLog->Log(buf);
+     		User::Leave(err);
+	        }
+	    else
+	        {
+	        iLog->Log(_L("Db created..."));
+	        }
+	    CleanupStack::PopAndDestroy(dbInfo);
+	    verifyDbcount = count + i+1;
+	    VerifyNrOfDatabasesL(verifyDbcount);
+	    CDesCArray* dbArray = dbManager->ListDatabasesLC();
+        TInt nr = dbArray->Count();
+        
+        buf.Format(_L("DB count %d"), nr);
+        iLog->Log(buf);
+        CleanupStack::PopAndDestroy(dbArray);
+        }
+        
+    for (TInt i=0;i<KNrOfNonWorkingUris;i++)
+        {
+        HPosLmDatabaseInfo* dbInfo = HPosLmDatabaseInfo::NewLC(*listOfUrisNonWorking[i]);
+        iLog->Log(_L("Trying to create db:"));
+        iLog->Log(*listOfUrisNonWorking[i]);
+	    TRAPD(err, dbManager->CreateDatabaseL(*dbInfo));
+	    if (err != errorList[i])
+	        {
+	        buf.Format(_L("Failed with err %d should be %d"), err, errorList[i]);
+	        iLog->Log(buf);
+	       
+	       	iLog->Log(buf);
+	       	User::Leave(err);
+	        }
+	    CleanupStack::PopAndDestroy(dbInfo);
+	    verifyDbcount = count + KNrOfUris;
+	    VerifyNrOfDatabasesL(verifyDbcount);
+        }
+	
+    CleanupStack::PopAndDestroy(dbArray1);
+    CleanupStack::PopAndDestroy(dbManager);
+    iLog->Log(_L("TestDifferentUrisL"));
+    }
+    
+// ---------------------------------------------------------
+// CPosTp102::VerifyNrOfDatabasesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp102::VerifyNrOfDatabasesL(TInt aExpNrOfDatabases, const TDesC&  aDatabaseUri)
+    {
+    iLog->Log(_L("VerifyNrOfDatabasesL"));
+    CPosLmDatabaseManager* dbManager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(dbManager);
+
+    CDesCArray* dbArray = dbManager->ListDatabasesLC();
+    TInt nr = dbArray->Count();
+    if (nr != aExpNrOfDatabases) 
+        {
+        CleanupStack::PopAndDestroy(dbArray);
+    	CleanupStack::PopAndDestroy(dbManager);
+    
+        TBuf<100> buf;
+        buf.Format(_L("Wrong number of databases, was %d, should be %d"), nr, aExpNrOfDatabases);
+        
+        iLog->Log(buf);
+	    User::Leave(-1);
+        }
+        
+    TBool found = EFalse;
+    if (aDatabaseUri != KNullDesC)
+    	{
+    	for (TInt i=0;i<nr;i++)
+    		{
+    		iLog->Log((*dbArray)[i]);
+    		if ((*dbArray)[i].Compare(aDatabaseUri) == KErrNone) 
+    		{
+    		found = ETrue;
+    		}
+    		}
+    	}
+
+	CleanupStack::PopAndDestroy(dbArray);
+    CleanupStack::PopAndDestroy(dbManager);
+    
+    if (aDatabaseUri != KNullDesC && !found) 
+    	{
+    		iLog->Log(_L("Database was not found"));
+	       	User::Leave(KErrNotFound);
+    	}
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp103.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,435 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp103.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLmDatabaseManager.h>
+#include <EPos_CPosLmTextCriteria.h>
+           
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp103::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp103::CloseTest()
+    {
+	iLog->Log(_L("CloseTest"));
+	
+    TRAPD(err, RemoveAllLmDatabasesL());
+    if (err != KErrNone) iLog->Log(_L("RemoveAllLmDatabasesL() leaved"));
+    }
+    
+// ---------------------------------------------------------
+// CPosTp103::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp103::StartL()
+    {
+    // TInt expNrOfDbs = 0;
+
+    RemoveAllLmDatabasesL();
+
+    TestPartCopyDatabasesL();
+	}
+
+// ---------------------------------------------------------
+// CPosTp103::TestPartCopyDatabasesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp103::TestPartCopyDatabasesL()
+    {
+    iLog->Log(_L("TestPartCopyDatabasesL"));
+
+    _LIT(KDbName1, "TP103_Database1.ldb");
+    _LIT(KDbNameNonExisting, "NonExisting_TP103_Database1.ldb");
+    _LIT(KDbNameCopy1, "file://C:TP103_DATABASE1COPY1.LDB");
+    _LIT(KDbNameCopy5, "file://C:TP103_DATABASE2COPY5.LDB");
+    _LIT(KDbNameCopy6, "file://C:TP103_DATABASE2COPY6.LDB");
+    
+    _LIT(KDbName7MissingDrive, "file://TP103_DATABASE7.LDB");
+    _LIT(KDbName7, "file://C:TP103_DATABASE7.LDB");
+    
+    // DB on drive that does no exist
+    _LIT(KDbName8, "file://R:TP103_DATABASE8.LDB");
+    _LIT(KDbName8_1, "file://C:TP103_DATABASE8_1.LDB");
+    
+    _LIT(KDefaultCopyDb, "CopyOfDefaultDb.ldb");
+    _LIT(KDefaultCopyDbUri, "file://C:CopyOfDefaultDb.ldb");
+    
+    _LIT(KDbSourceNameMissingExtension, "file://C:TP103_DATABASE2COPY6");
+    _LIT(KDbTargetNameMissingExtension, "file://C:TP103_DATABASE2COPY_666");
+    
+    _LIT(KRemoteDatabaseUri, "http://RemoteLmDb.ldb");
+    
+#ifdef __WINS__
+	// D on wins
+	_LIT(KDbNameCopy2, "file://D:TP103_DATABASE1COPY2.LDB");
+	_LIT(KDbNameCopy2MissingDrive, "file://TP103_DATABASE1COPY2.LDB");
+    _LIT(KDbNameCopy3, "file://D:TP103_DATABASE1COPY3.LDB");
+#else	
+    _LIT(KDbNameCopy2, "file://F:TP103_DATABASE1COPY2.LDB");
+    _LIT(KDbNameCopy2MissingDrive, "file://TP103_DATABASE1COPY2.LDB");
+    _LIT(KDbNameCopy3, "file://F:TP103_DATABASE1COPY3.LDB");
+#endif
+    _LIT(KDbNameCopy4, "file://C:TP103_DATABASE1COPY4.LDB");
+
+    _LIT(KDbNameEmptyUri1, "");
+    _LIT(KDbNameEmptyUri2, "file://c");
+
+    _LIT(KDummyDb, "file://SomeDummyDbName.ldb");
+    TInt err = KErrNone;
+
+    iLog->Log(_L("Warning: this test case requires E: drive"));
+    
+    CPosLmDatabaseManager* dbManager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(dbManager);
+
+    // check the count of databases that could not be delted since they were in use
+    CDesCArray* dbList = dbManager->ListDatabasesLC();
+    TInt count = dbList->Count();
+    TInt verifyDbcount;
+    
+    // 1) Create a new database
+    HPosLmDatabaseInfo* dbInfo1 = HPosLmDatabaseInfo::NewLC(KDbName1);
+    dbManager->CreateDatabaseL(*dbInfo1);
+    CPosLandmarkDatabase* db1 = CPosLandmarkDatabase::OpenL(KDbName1);
+    CleanupStack::PopAndDestroy(dbInfo1);
+    CleanupStack::PushL(db1);
+    if (db1->IsInitializingNeeded())
+        {
+        iLog->Log(_L("db1->InitializeL"));
+        ExecuteAndDeleteLD(db1->InitializeL());
+        }
+    CleanupStack::PopAndDestroy(db1);
+    
+    // 2) Copy db to file system, include file:// in URI
+    dbManager->CopyDatabaseL(KDbName1, KDbNameCopy1);
+
+    // 3) Copy db to removable media, include file:// in URI
+    dbManager->CopyDatabaseL(KDbName1, KDbNameCopy2);
+
+    // 4) Copy the db on removable media to removable media
+    dbManager->CopyDatabaseL(KDbNameCopy2, KDbNameCopy3);
+
+    // 5) Copy the db from removable media to c drive
+    dbManager->CopyDatabaseL(KDbNameCopy2, KDbNameCopy4);
+
+    // 6) Verify that the four databases (copied in step 2-5) exists
+    if (!dbManager->DatabaseExistsL(KDbNameCopy1)) 
+    {
+    	iLog->Log(_L("DatabaseCopy1 should exist"));
+    	User::Leave(-1);
+    }
+    if (!dbManager->DatabaseExistsL(KDbNameCopy2))
+    {
+    	iLog->Log(_L("DatabaseCopy2 should exist"));
+    	User::Leave(-1);
+    }
+    if (!dbManager->DatabaseExistsL(KDbNameCopy3))
+    {
+    	iLog->Log(_L("DatabaseCopy3 should exist"));
+    	User::Leave(-1);
+    }
+    if (!dbManager->DatabaseExistsL(KDbNameCopy4))
+    {
+    	iLog->Log(_L("DatabaseCopy4 should exist"));
+    	User::Leave(-1);
+    }
+
+    // 7) Repat step 5, but this time should the target of the copy operation exist
+    TRAP(err, dbManager->CopyDatabaseL(KDbNameCopy2, KDbNameCopy4));
+    if (err != KErrAlreadyExists) 
+    {
+    	iLog->Log(_L("CopyDatabaseL should leave with KErrAlreadyExists"));
+    	User::Leave(err);
+    }
+
+    // 8) Take a read lock (using a search operation) on db and try to copy it
+    CPosLandmarkDatabase* lmd = CPosLandmarkDatabase::OpenL(KDbNameCopy2);
+    CleanupStack::PushL(lmd);
+    
+    if (lmd->IsInitializingNeeded())
+        {
+        ExecuteAndDeleteLD(lmd->InitializeL()); 
+        }
+        
+    CPosLandmarkSearch* landmarkSearch = CPosLandmarkSearch::NewL(*lmd);
+    CleanupStack::PushL(landmarkSearch);
+    
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+    textCriteria->SetTextL(_L("*"));
+    iOperation = landmarkSearch->StartLandmarkSearchL(*textCriteria, EFalse);
+    
+    // Try to copy db with read lock
+    TRAP(err, dbManager->CopyDatabaseL(KDbNameCopy2, KDbNameCopy5));
+    if (err != KErrInUse)
+    {
+    	iLog->Log(_L("8) Copy should leave with KErrInUse"));
+    	User::Leave(err);
+    }
+    ExecuteAndDeleteLD(iOperation);
+        
+    // 9) Take a write lock on db and try to copy it
+    iOperation = lmd->RemoveAllLandmarksL();
+    TRAP(err, dbManager->CopyDatabaseL(KDbNameCopy2, KDbNameCopy6));
+    if (err != KErrLocked) iLog->Log(_L("9) Copy should leave with KErrLocked"));
+    ExecuteAndDeleteLD(iOperation);
+    
+    CleanupStack::PopAndDestroy(textCriteria);
+    CleanupStack::PopAndDestroy(landmarkSearch);
+    CleanupStack::PopAndDestroy(lmd);
+
+    // 10) Try to copy a database that does not exist
+    TRAP(err, dbManager->CopyDatabaseL(KDbNameNonExisting, _L("DummyTarget.ldb")));
+    if (err != KErrNotFound) 
+    {
+    	iLog->Log(_L("10) CopyDatabaseL should leave with KErrNotFound"));
+    	User::Leave(err);
+    }
+    
+    // 11) Try to copy an existing db to a nonexisting path/target
+    TRAP(err, dbManager->CopyDatabaseL(KDbName1, _L("c://pelle//DummyTarget.ldb")));
+    if (err != KErrArgument)
+    {
+    	iLog->Log(_L("11) CopyDatabaseL should leave with KErrNotFound"));
+    	User::Leave(err);
+    }
+
+    // 12) Try to copy an existing db to remote path/target
+    TRAP(err, dbManager->CopyDatabaseL(KDbName1, KRemoteDatabaseUri));
+    if (err != KErrArgument) //LogErrorAndLeave(_L("12) CopyDatabaseL should leave with KErrBadName"));
+    {
+    	iLog->Log(_L("12) CopyDatabaseL should leave with KErrBadName"));
+    	User::Leave(err);
+    }
+    
+    // 13) Try to copy a db on c drive without specifying a drive in the source uri
+    dbManager->CopyDatabaseL(KDbName1, KDbNameCopy5);
+    verifyDbcount = count +6;
+    VerifyNrOfDatabasesL(verifyDbcount, KDbNameCopy5);
+
+    // 14) Try to copy a db on removable media drive without specifying the drive in the source uri
+    TRAP(err, dbManager->CopyDatabaseL(KDbNameCopy2MissingDrive, KDummyDb));
+    if (err != KErrNotFound)
+    {
+    	iLog->Log(_L(" CopyDatabaseL should leave with KErrNotFound"));
+    	User::Leave(err);
+    }
+
+    // 15) Try to copy a db on removable media drive without specifying the drive in the target uri
+    if (!dbManager->DatabaseExistsL(KDbNameCopy2)) 
+    {
+    	iLog->Log(_L("DatabaseCopy2 should exist"));
+    	User::Leave(KErrNone);	
+    }
+    TRAP(err, dbManager->CopyDatabaseL(KDbNameCopy2, KDbName7MissingDrive));
+    if (err != KErrNone) 
+    {
+    	iLog->Log(_L("KDbNameCopy2 should be copied"));
+    	User::Leave(err);
+    }
+    verifyDbcount = count + 7;
+    VerifyNrOfDatabasesL(verifyDbcount, KDbName7);
+
+    // 16) Try to copy without .ldb in source URI
+    TRAP(err, dbManager->CopyDatabaseL(KDbSourceNameMissingExtension,  _L("DummyTarget.ldb")));
+    if (err != KErrArgument) 
+    {
+    	iLog->Log(_L("CopyDatabaseL should leave with KErrArgument"));
+    	User::Leave(err);	
+    }
+
+    // 17) Try to copy without .ldb in target URI
+    TRAP(err, dbManager->CopyDatabaseL(KDbName1, KDbTargetNameMissingExtension));
+    if (err != KErrArgument) 
+    {
+    	iLog->Log(_L("CopyDatabaseL should leave with XXX"));
+    	User::Leave(err);
+    }
+
+    // 18) Try to copy db to itself
+    TRAP(err, dbManager->CopyDatabaseL(KDbName1, KDbName1));
+    if (err != KErrAlreadyExists) 
+    {
+    	iLog->Log(_L("CopyDatabaseL should leave with KErrAlreadyExists"));
+    	User::Leave(err);
+    }
+
+    // 19) Try to copy db to itself XXX Should be removed, same as step18
+    TRAP(err, dbManager->CopyDatabaseL(KDbName1, KDbName1));
+    if (err != KErrAlreadyExists) 
+    {
+    	iLog->Log(_L("CopyDatabaseL should leave with KErrAlreadyExists"));
+    	User::Leave(err);
+    }
+
+    // 20) Try to copy db with empty target URI
+    TRAP(err, dbManager->CopyDatabaseL(KDbName1, KDbNameEmptyUri1));
+    if (err != KErrArgument)
+    {
+    	iLog->Log(_L("20a) CopyDatabaseL should leave with KErrArgument"));
+    	User::Leave(err);
+    }
+    TRAP(err, dbManager->CopyDatabaseL(KDbName1, KDbNameEmptyUri2));
+    if (err != KErrArgument)
+    {
+    	iLog->Log(_L("20b) CopyDatabaseL should leave with KErrArgument"));
+    	User::Leave(err);
+    }
+
+    // 21) Try to copy db with empty source URI
+    TRAP(err, dbManager->CopyDatabaseL(KDbNameEmptyUri1, KDummyDb));
+    if (err != KErrArgument)
+    {
+    	iLog->Log(_L("21a) CopyDatabaseL should leave with KErrArgument"));
+    	User::Leave(err);
+    }
+    TRAP(err, dbManager->CopyDatabaseL(KDbNameEmptyUri2, KDummyDb));
+    if (err != KErrArgument)
+    {
+    	iLog->Log(_L("21b) CopyDatabaseL should leave with KErrArgument"));
+    	User::Leave(err);
+    }
+
+    // 22) Try to copy db with target URI that is longer than allowed
+    TRAP(err, dbManager->CopyDatabaseL(_L("c:\\SomeVeryLongFilename1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890.ldb"), KDummyDb));
+    if (err != KErrArgument)
+    {
+    	iLog->Log(_L("22) CopyDatabaseL should leave with KErrArgument"));
+    	User::Leave(err);
+    }
+
+    // 23) Try to copy db with source URI that is longer than allowed
+	TRAP(err, dbManager->CopyDatabaseL(KDbName1, _L("c:\\SomeVeryLongFilename1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890.ldb")));
+    if (err != KErrArgument) 
+    {
+    	iLog->Log(_L("23) CopyDatabaseL should leave with KErrArgument"));
+    	User::Leave(err);
+    }
+
+    // 24) Try to copy the default db
+    dbManager->SetDefaultDatabaseUriL(KDbName7);
+    HBufC* defaultDbUri;
+    defaultDbUri = dbManager->DefaultDatabaseUriLC();    
+    dbManager->CopyDatabaseL(*defaultDbUri, KDefaultCopyDb);
+
+    verifyDbcount = count + 8;
+    VerifyNrOfDatabasesL(verifyDbcount, KDefaultCopyDbUri);
+    
+    // 25) Delete default db and then copy a new db to its location
+    dbManager->DeleteDatabaseL(*defaultDbUri);
+    dbManager->CopyDatabaseL(KDefaultCopyDbUri, *defaultDbUri);
+    verifyDbcount = count + 8;
+    VerifyNrOfDatabasesL(verifyDbcount , KDefaultCopyDbUri);
+    VerifyNrOfDatabasesL(verifyDbcount , *defaultDbUri);
+    
+    // 26) Try to copy a db on a drive that does not exist
+    TRAP(err, dbManager->CopyDatabaseL(KDbName8, KDbName8_1));
+    if (err != KErrNotReady)
+    {
+    	iLog->Log(_L("26) CopyDatabaseL should leave with KErrNotReady"));
+    	User::Leave(err);
+    }
+    VerifyNrOfDatabasesL(verifyDbcount, KDefaultCopyDbUri);
+        
+    // 27) Try to copy defaultdb to db with long filenames
+    _LIT(KLongFileName, "file://C:ABCDEFGHIJKLMNOPQRSTABCDEFGHIJKLMNOPQRSTABCDEFGHIJKLMNOPQRSTABCDEFGHIJKLMNOPQRSTABCDEFGHIJKLMNOPQRST.ldb");
+    
+    TRAP(err, dbManager->CopyDatabaseL(KDefaultCopyDbUri, KLongFileName));
+    if (err != KErrArgument) 
+    {
+    	iLog->Log(_L("27) CopyDatabaseL should leave"));
+    	User::Leave(err);
+    }
+    
+    VerifyNrOfDatabasesL(verifyDbcount);
+    
+    // 28) Try to copy db with long file name
+    TRAP(err, dbManager->CopyDatabaseL(KLongFileName, _L("SomeDummyFile.ldb")));
+    if (err != KErrArgument)
+    {
+    	iLog->Log(_L("28) CopyDatabaseL should leave "));
+    	User::Leave(err);
+    }
+    VerifyNrOfDatabasesL(verifyDbcount);
+    
+	CleanupStack::PopAndDestroy(defaultDbUri);
+	CleanupStack::PopAndDestroy(dbList);
+	CleanupStack::PopAndDestroy(dbManager);
+    }
+
+// ---------------------------------------------------------
+// CPosTp103::VerifyNrOfDatabasesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp103::VerifyNrOfDatabasesL(TInt aExpNrOfDatabases, const TDesC&  aDatabaseUri)
+    {
+    iLog->Log(_L("VerifyNrOfDatabasesL"));
+    CPosLmDatabaseManager* dbManager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(dbManager);
+
+    CDesCArray* dbArray = dbManager->ListDatabasesLC();
+    TInt nr = dbArray->Count();
+    if (nr != aExpNrOfDatabases) 
+        {
+        CleanupStack::PopAndDestroy(dbArray);
+    	CleanupStack::PopAndDestroy(dbManager);
+    
+        TBuf<100> buf;
+        buf.Format(_L("Wrong number of databases, was %d, should be %d"), nr, aExpNrOfDatabases);
+       
+        iLog->Log(buf);
+    	User::Leave(-1);
+        }
+        
+    TBool found = EFalse;
+    if (aDatabaseUri != KNullDesC)
+    	{
+    	for (TInt i=0;i<nr;i++)
+    		{
+    		iLog->Log((*dbArray)[i]);
+    		if ((*dbArray)[i].Compare(aDatabaseUri) == KErrNone) 
+    		{
+    		found = ETrue;
+    		}
+    		}
+    	}
+
+	CleanupStack::PopAndDestroy(dbArray);
+    CleanupStack::PopAndDestroy(dbManager);
+    
+    if (aDatabaseUri != KNullDesC && !found) 
+    {
+    	iLog->Log(_L("Database was not found"));
+    	User::Leave(KErrNotFound);
+    }
+    }
+    
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp104.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,529 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp104.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include "FT_LandmarkConstants.h"
+#include <centralrepository.h>
+           
+// CONSTANTS
+const TUint32 KLandmarkDefaultUri = 0x00000001;
+const TUid KCRUidLandmarks = {0x101FE99B}; 
+
+// _LIT(KSettingsFileInRom, "c:\\system\\data\\cenrep\\[101FE99B].txt");
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp104::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp104::StartL()
+    {
+    _LIT(KLmA, "LandmarkA");
+    _LIT(KLmB, "LandmarkB");
+    _LIT(KLmC, "LandmarkC");
+    _LIT(KNonExistingDb, "nonexistingdb.ldb");
+    _LIT(KLogAboutToSetDefaultDB, "About to set default landmark DB to a non existing DB.");
+    _LIT(KLogAboutToDeleteAllDbs, "About to delete all landmark DBs");
+    _LIT(KLogAboutToReadBackLmA, "About to read back landmark A");
+    _LIT(KLogAboutToReadBackLmB, "About to read back landmark B");
+    _LIT(KLogAboutToReadBackLmC, "About to read back landmark C");
+    _LIT(KErrorNonExisting, "Was able to set an non-existing DB as default.");
+    _LIT(KLandmarksDbB, "lmdb104b.ldb");
+    _LIT(KLandmarksDbBFull, "file://c:lmdb104b.ldb");
+    _LIT(KErrorWrongDefaultDB, "Unexpected default database");
+    _LIT(KCopyOfDefaultDB, "lmdb104copy.ldb");
+    _LIT(KFailedToDeleteDB, "Failed to delete default database");
+    _LIT(KLogAboutToSetLmDbBAsDefault, "About to set landmarks DB B as default DB.");
+    _LIT(KOriginalDb, "file://c:eposlm.ldb");
+    
+    #ifdef __WINS__
+    _LIT(KRemovableMediaDB, "d:removabledb.ldb");
+    #else
+    _LIT(KRemovableMediaDB, "f:removabledb.ldb");
+    #endif
+    
+    _LIT(KNr01, "01");
+    _LIT(KNr02, "02");
+    _LIT(KNr03, "03");
+    _LIT(KNr04, "04");
+    _LIT(KNr05, "05");
+    _LIT(KNr06, "06");
+    _LIT(KNr07, "07");
+    _LIT(KNr08, "08");
+    
+    _LIT(KNr10, "10");
+    _LIT(KNr11, "11");
+    _LIT(KNr12, "12");
+    _LIT(KNr13, "13");
+    _LIT(KNr14, "14");
+    _LIT(KNr15, "15");
+    _LIT(KNr16, "16");
+    _LIT(KNr17, "17");
+    _LIT(KNr18, "18");
+    _LIT(KNr19, "19");
+    _LIT(KNr20, "20");
+    _LIT(KNr21, "21");
+    _LIT(KNr22, "22");
+    _LIT(KNr23, "23");
+    _LIT(KNr24, "24");
+    _LIT(KNr25, "25");
+    _LIT(KNr26, "26");
+    
+    iLog->Log(_L("Warning: this test case requires E: drive"));
+    
+    iRepository = CRepository::NewL(KCRUidLandmarks);   
+    iDbMan = CPosLmDatabaseManager::NewL();
+    
+    RemoveAllLmDatabasesL();
+    ArgumentTestsL();
+    TInt err;
+    
+    
+    TBuf16<NCentralRepositoryConstants::KMaxUnicodeStringLength> defaultUriRep;
+    //NCentralRepositoryConstants::KMaxUnicodeStringLength
+    User::LeaveIfError(iRepository->Get(KLandmarkDefaultUri, defaultUriRep));
+    
+    
+    
+    // 3
+    iLog->Log(KNr03);
+    // Open and initialize default db
+    iLandmarksDb = CPosLandmarkDatabase::OpenL();
+    ExecuteAndDeleteLD(iLandmarksDb->InitializeL());
+    
+    
+    // Add landmark A to DB:
+    CPosLandmark* lmA = CreateXMLLandmarkLC(KLmA);
+    TPosLmItemId lmAId = iLandmarksDb->AddLandmarkL(*lmA);
+    CleanupStack::PopAndDestroy(lmA);
+    User::After(2000000);
+    ExecuteAndDeleteLD(iLandmarksDb->CompactL());
+    // User::After(2000000);
+    // Check that it was actually added:
+    iLog->Log(KLogAboutToReadBackLmA);
+    lmA = iLandmarksDb->ReadLandmarkLC(lmAId);
+    iLog->Log(KLogAboutToReadBackLmA);
+    CleanupStack::PopAndDestroy(lmA);
+    
+    // 4
+    iLog->Log(KNr04);
+    // Test to set a non-existing db as default:
+    iLog->Log(KLogAboutToSetDefaultDB);
+    TRAP(err, iDbMan->SetDefaultDatabaseUriL(KNonExistingDb));
+    
+    if (err != KErrNotFound)
+        {
+        
+        iLog->Log(KErrorNonExisting);
+    	User::Leave(err);
+        }
+        
+    // 5
+    iLog->Log(KNr05);
+    // Create a new db and add a landmark to it:
+    delete iLandmarksDb;
+    iLandmarksDb = NULL;
+    HPosLmDatabaseInfo* dbInfoB = HPosLmDatabaseInfo::NewLC(KLandmarksDbB);
+    iDbMan->CreateDatabaseL(*dbInfoB);
+    CleanupStack::PopAndDestroy(dbInfoB);
+    iLandmarksDb = CPosLandmarkDatabase::OpenL(KLandmarksDbB);
+    ExecuteAndDeleteLD(iLandmarksDb->InitializeL());
+    
+    CPosLandmark* lmB = CreateXMLLandmarkLC(KLmB);
+    TPosLmItemId lmBId = iLandmarksDb->AddLandmarkL(*lmB);
+    User::After(2000000);
+    CleanupStack::PopAndDestroy(lmB);
+    ExecuteAndDeleteLD(iLandmarksDb->CompactL());
+    
+    // Read back the landmark:
+    iLog->Log(KLogAboutToReadBackLmB);
+    lmB = iLandmarksDb->ReadLandmarkLC(lmBId);
+    CleanupStack::PopAndDestroy(lmB);
+    delete iLandmarksDb;
+    iLandmarksDb = NULL;
+    
+    // 6
+    iLog->Log(KNr06);
+    // Set the new DB as default, and check that it worked OK:
+    iLog->Log(KLogAboutToSetLmDbBAsDefault);
+    iDbMan->SetDefaultDatabaseUriL(KLandmarksDbB);
+    HBufC* defaultURI = iDbMan->DefaultDatabaseUriLC();
+    
+    // 7
+    iLog->Log(KNr07);
+    if (defaultURI->Des().CompareF(KLandmarksDbBFull))
+        {
+        
+        iLog->Log(KErrorWrongDefaultDB);
+        User::Leave(-1);
+        }
+        
+     CleanupStack::PopAndDestroy(defaultURI);
+    
+    // 8
+    iLog->Log(KNr08);
+    // Open the default DB and try to find the landmark that was added before:
+    iLandmarksDb = CPosLandmarkDatabase::OpenL();
+    if (iLandmarksDb->IsInitializingNeeded())
+   {
+   ExecuteAndDeleteLD(iLandmarksDb->InitializeL());
+   }
+
+    iLog->Log(KLogAboutToReadBackLmB);
+    lmB = iLandmarksDb->ReadLandmarkLC(lmBId);
+    CleanupStack::PopAndDestroy(lmB);
+    delete iLandmarksDb;
+    iLandmarksDb = NULL;
+    
+    // 9
+    iLog->Log(KNr01);
+    // Change the default db:
+    iDbMan->SetDefaultDatabaseUriL(defaultUriRep);
+    defaultURI = iDbMan->DefaultDatabaseUriLC();
+    
+    if (defaultURI->Des().CompareF(defaultUriRep))
+        {
+        
+        iLog->Log(KErrorWrongDefaultDB);
+        User::Leave(-1);
+        }
+        
+    CleanupStack::PopAndDestroy(defaultURI);
+        
+    // 10
+    iLog->Log(KNr10);
+    // Open the default DB and check that it contains landmark A:
+    iLandmarksDb = CPosLandmarkDatabase::OpenL();
+    if (iLandmarksDb->IsInitializingNeeded())
+   {
+   ExecuteAndDeleteLD(iLandmarksDb->InitializeL());
+   }
+    iLog->Log(KLogAboutToReadBackLmA);
+    lmA = iLandmarksDb->ReadLandmarkLC(lmAId);
+    CleanupStack::PopAndDestroy(lmA);
+    
+    delete iLandmarksDb;
+    iLandmarksDb = NULL;
+    
+    
+    // ********************** Test Copy **********************
+    // 11
+    iLog->Log(KNr11);
+    // Copy the default DB:
+    iDbMan->CopyDatabaseL(defaultUriRep, KCopyOfDefaultDB);
+    
+    // 12
+    iLog->Log(KNr12);
+        
+    // 13
+    iLog->Log(KNr13);
+    // Check which DB that is the default:
+    defaultURI = iDbMan->DefaultDatabaseUriLC();
+    if (defaultURI->Des().CompareF(defaultUriRep))
+        {
+        
+        iLog->Log(KErrorWrongDefaultDB);
+        User::Leave(-1);
+        }
+    CleanupStack::PopAndDestroy(defaultURI);
+    
+    // 14
+    iLog->Log(KNr14);
+    iDbMan->SetDefaultDatabaseUriL(KCopyOfDefaultDB);
+    
+    // Open the default DB and check that it contains landmark A:
+    iLandmarksDb = CPosLandmarkDatabase::OpenL();
+    if (iLandmarksDb->IsInitializingNeeded())
+   {
+   ExecuteAndDeleteLD(iLandmarksDb->InitializeL());
+   }
+    iLog->Log(KLogAboutToReadBackLmA);
+    lmA = iLandmarksDb->ReadLandmarkLC(lmAId);
+    CleanupStack::PopAndDestroy(lmA);
+
+    // 15
+    delete iLandmarksDb;
+    iLandmarksDb = NULL;
+    iLog->Log(KNr15);
+    
+    // Create a landmarks DB on the memory card:
+    HPosLmDatabaseInfo* dbInfoRemMedia = HPosLmDatabaseInfo::NewLC(KRemovableMediaDB);
+    iDbMan->CreateDatabaseL(*dbInfoRemMedia);
+    CleanupStack::PopAndDestroy(dbInfoRemMedia);
+    
+    iLandmarksDb = CPosLandmarkDatabase::OpenL(KRemovableMediaDB);
+    ExecuteAndDeleteLD(iLandmarksDb->InitializeL());
+    
+    // Add a landmark to it:
+    CPosLandmark* lmC = CreateXMLLandmarkLC(KLmC);
+    TPosLmItemId lmCId = iLandmarksDb->AddLandmarkL(*lmC);
+    CleanupStack::PopAndDestroy(lmC);
+    User::After(200000);
+    ExecuteAndDeleteLD(iLandmarksDb->CompactL());
+    delete iLandmarksDb;
+    iLandmarksDb = NULL;
+    
+    // 16
+    iLog->Log(KNr16);
+    iDbMan->SetDefaultDatabaseUriL(KRemovableMediaDB);
+    
+    iLandmarksDb = CPosLandmarkDatabase::OpenL();
+    if (iLandmarksDb->IsInitializingNeeded())
+   {
+   ExecuteAndDeleteLD(iLandmarksDb->InitializeL());
+   }
+    
+    // Check that landmark C exists:
+    iLog->Log(KLogAboutToReadBackLmC);
+    lmC = iLandmarksDb->ReadLandmarkLC(lmCId);
+    CleanupStack::PopAndDestroy(lmC);
+    
+    delete iLandmarksDb;
+    iLandmarksDb = NULL;
+    
+    // URI Testing:
+    _LIT(KTestDB104A, "file://c:TestDb104a.ldb");
+    _LIT(KTestDB104B, "file://c:TestDb104b.ldb");
+    #ifdef __WINS__
+    _LIT(KTestDB104MMC, "file://d:TestDbMMC.ldb");
+    #else
+    _LIT(KTestDB104MMC, "file://f:TestDbMMC.ldb");
+    #endif
+    
+    // Create some testdb:s
+    HPosLmDatabaseInfo* dbInfo104A = HPosLmDatabaseInfo::NewLC(KTestDB104A);
+    HPosLmDatabaseInfo* dbInfo104B = HPosLmDatabaseInfo::NewLC(KTestDB104B);
+    HPosLmDatabaseInfo* dbInfo104MMC = HPosLmDatabaseInfo::NewLC(KTestDB104MMC);
+    iDbMan->CreateDatabaseL(*dbInfo104A);
+    iDbMan->CreateDatabaseL(*dbInfo104B);
+    iDbMan->CreateDatabaseL(*dbInfo104MMC);
+    CleanupStack::PopAndDestroy(dbInfo104MMC);
+    CleanupStack::PopAndDestroy(dbInfo104B);
+    CleanupStack::PopAndDestroy(dbInfo104A);
+    
+    
+    _LIT(KNonsenseURI, "&t87%(s!,uy.poffd");
+    _LIT(KNotEndingWithLdbURI, "file://c:TestDb104a");
+    _LIT(KEmptyURI, "");
+    _LIT(KLongerThanAllowedURI, "longdatabaseewjktgjfkdnbnbfjghskwuwrqtrccxbdhfbbjgnmglkytiyitiugjqoiwiejakxngjhdygrgdskhdhdbxvafarqtwyrjgjtihjkjbnbjyhkjltoyouiylhjrnbmdngfhurtwgewvetqwsahdgfey4756eyrg8328yrgfgggbbnnmnkjgjdhajaqiwuwueytriutiiiutuithjhgergfbfhgnbmbmnmklkrjsfadadeqwyteutiyibnvcbxvdafsdgdhey.ldb"); // more than 256 (KMaxUnicodeStringLength)
+    _LIT(KCorrectURI, "file://c:TestDb104b.ldb");
+    _LIT(KCorrectButWithoutDriveURI, "file://TestDb104a.LDB");
+    _LIT(KOnMmcButWithoutDriveURI, "file://TestDb104c.ldb");
+    _LIT(KRemoteURI, "http://www.landmarks.com/dbs/remote104.ldb");
+    _LIT(KNoProtocolURI, "c:TestDb104b.ldb");
+    
+    // 17
+    iLog->Log(KNr17);
+    TestSetUriL(KNonsenseURI, KErrArgument);
+    // 18
+    iLog->Log(KNr18);
+    TestSetUriL(KNotEndingWithLdbURI, KErrArgument);
+    // 19
+    iLog->Log(KNr19);
+    TestSetUriL(KEmptyURI, KErrArgument);
+    // 20
+    iLog->Log(KNr20);
+    TestSetUriL(KLongerThanAllowedURI, KErrArgument);
+    // 21
+    iLog->Log(KNr21);
+    TestSetUriL(KCorrectURI, KErrNone);
+    // 22
+    iLog->Log(KNr22);
+    TestSetUriL(KCorrectButWithoutDriveURI, KErrNone);
+    // 23
+    iLog->Log(KNr23);
+    TestSetUriL(KOnMmcButWithoutDriveURI, KErrNotFound);
+    // 24
+    iLog->Log(KNr24);
+    TestSetUriL(KRemoteURI, KErrNotSupported);
+    // 25
+    iLog->Log(KNr25);
+    TestSetUriL(KNoProtocolURI, KErrNone);
+    // 26
+    iLog->Log(KNr26);
+    TestSetUriL(KNoProtocolURI, KErrNone);
+    
+    delete iDbMan;
+    iDbMan = NULL;
+    
+    delete iLandmarksDb;
+    iLandmarksDb = NULL;
+    
+    delete iRepository;
+    iRepository = NULL;
+    }
+
+// ---------------------------------------------------------
+// CPosTp104::TestSetUriL()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//    
+void CPosTp104::TestSetUriL(const TDesC& aUriString, TInt aExpectedErrorCode)
+    {
+    TRAPD(err,iDbMan->SetDefaultDatabaseUriL(aUriString));
+    if (err != aExpectedErrorCode)
+        {
+        _LIT(KErrorText, "Received wrong error code when setting URI. Expected %d, Received %d");
+        TBuf<100> buf;
+        buf.Format(KErrorText, aExpectedErrorCode, err);
+       
+       iLog->Log(buf);
+        User::Leave(err);
+        }
+    }
+   
+// ---------------------------------------------------------
+// CPosTp104::ArgumentTests
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp104::ArgumentTestsL()
+	{
+	_LIT(KErrorWrongCode, "Didn't receive correct error code");
+	_LIT(KMaxLengthString64,    "1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.ldb");
+    _LIT(KMaxLengthString64Bad, "x1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.ldb");
+    _LIT(KMaxLengthString66,    "c:2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.ldb");
+    _LIT(KMaxLengthString66Bad, "c:x2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.ldb");
+    _LIT(KMaxLengthString71,    "file://3aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.ldb");
+    _LIT(KMaxLengthString71Bad, "file://x3aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.ldb");
+    _LIT(KMaxLengthString73,    "file://c:4aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.ldb");
+    _LIT(KMaxLengthString73Bad, "file://c:x4aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.ldb");
+    TInt err = 0;
+    
+        // Should work OK:
+    HPosLmDatabaseInfo* dbInfo64 = HPosLmDatabaseInfo::NewLC(KMaxLengthString64);
+    HPosLmDatabaseInfo* dbInfo64Bad = HPosLmDatabaseInfo::NewLC(KMaxLengthString64Bad);
+    HPosLmDatabaseInfo* dbInfo66 = HPosLmDatabaseInfo::NewLC(KMaxLengthString66);
+    HPosLmDatabaseInfo* dbInfo66Bad = HPosLmDatabaseInfo::NewLC(KMaxLengthString66Bad);
+    HPosLmDatabaseInfo* dbInfo71 = HPosLmDatabaseInfo::NewLC(KMaxLengthString71);
+    HPosLmDatabaseInfo* dbInfo71Bad = HPosLmDatabaseInfo::NewLC(KMaxLengthString71Bad);
+    HPosLmDatabaseInfo* dbInfo73 = HPosLmDatabaseInfo::NewLC(KMaxLengthString73);
+    HPosLmDatabaseInfo* dbInfo73Bad = HPosLmDatabaseInfo::NewLC(KMaxLengthString73Bad);
+    
+    iDbMan->CreateDatabaseL(*dbInfo64);
+    iDbMan->CreateDatabaseL(*dbInfo66);
+    iDbMan->CreateDatabaseL(*dbInfo71);
+    iDbMan->CreateDatabaseL(*dbInfo73);
+    
+    
+    
+    TRAP(err, iDbMan->CreateDatabaseL(*dbInfo64Bad));
+    AssertTrueSecL(err == KErrArgument, KErrorWrongCode);
+    TRAP(err, iDbMan->CreateDatabaseL(*dbInfo66Bad));
+    AssertTrueSecL(err == KErrArgument, KErrorWrongCode);
+    TRAP(err, iDbMan->CreateDatabaseL(*dbInfo71Bad));
+    AssertTrueSecL(err == KErrArgument, KErrorWrongCode);
+    TRAP(err, iDbMan->CreateDatabaseL(*dbInfo73Bad));
+    AssertTrueSecL(err == KErrArgument, KErrorWrongCode);
+    
+    CleanupStack::PopAndDestroy(dbInfo73Bad);
+    CleanupStack::PopAndDestroy(dbInfo73);
+    CleanupStack::PopAndDestroy(dbInfo71Bad);
+    CleanupStack::PopAndDestroy(dbInfo71);
+    CleanupStack::PopAndDestroy(dbInfo66Bad);
+    CleanupStack::PopAndDestroy(dbInfo66);
+    CleanupStack::PopAndDestroy(dbInfo64Bad);
+    CleanupStack::PopAndDestroy(dbInfo64);
+    
+/////////////////////////////////////////////////////////////////////
+    // Should work OK:
+    iDbMan->DatabaseExistsL(KMaxLengthString64);
+    iDbMan->DatabaseExistsL(KMaxLengthString66);
+    iDbMan->DatabaseExistsL(KMaxLengthString71);
+    iDbMan->DatabaseExistsL(KMaxLengthString73);
+        
+    TRAP(err, iDbMan->DatabaseExistsL(KNullDesC));
+    AssertTrueSecL(err == KErrArgument, KErrorWrongCode);
+    
+    TRAP(err, iDbMan->DatabaseExistsL(KMaxLengthString64Bad));
+    AssertTrueSecL(err == KErrNone, KErrorWrongCode);
+    TRAP(err, iDbMan->DatabaseExistsL(KMaxLengthString66Bad));
+    AssertTrueSecL(err == KErrNone, KErrorWrongCode);
+    TRAP(err, iDbMan->DatabaseExistsL(KMaxLengthString71Bad));
+    AssertTrueSecL(err == KErrNone, KErrorWrongCode);
+    TRAP(err, iDbMan->DatabaseExistsL(KMaxLengthString73Bad));
+    AssertTrueSecL(err == KErrNone, KErrorWrongCode);
+    
+/////////////////////////////////////////////////////////////////////
+    
+    // Should work OK:
+    iDbMan->SetDefaultDatabaseUriL(KMaxLengthString64);
+    iDbMan->SetDefaultDatabaseUriL(KMaxLengthString66);
+    iDbMan->SetDefaultDatabaseUriL(KMaxLengthString71);
+    iDbMan->SetDefaultDatabaseUriL(KMaxLengthString73);
+    
+    // Should not work:
+    TRAP(err, iDbMan->SetDefaultDatabaseUriL(KNullDesC));
+    AssertTrueSecL(err == KErrArgument, KErrorWrongCode);
+    TRAP(err, iDbMan->SetDefaultDatabaseUriL(KMaxLengthString64Bad));
+    AssertTrueSecL(err == KErrNotFound, KErrorWrongCode);
+    TRAP(err, iDbMan->SetDefaultDatabaseUriL(KMaxLengthString66Bad));
+    AssertTrueSecL(err == KErrNotFound, KErrorWrongCode);
+    TRAP(err, iDbMan->SetDefaultDatabaseUriL(KMaxLengthString71Bad));
+    AssertTrueSecL(err == KErrNotFound, KErrorWrongCode);
+    TRAP(err, iDbMan->SetDefaultDatabaseUriL(KMaxLengthString73Bad));
+    AssertTrueSecL(err == KErrNotFound, KErrorWrongCode);
+    
+/////////////////////////////////////////////////////////////////////
+    // Should work OK:
+    iDbMan->DeleteDatabaseL(KMaxLengthString64);
+    iDbMan->DeleteDatabaseL(KMaxLengthString66);
+    iDbMan->DeleteDatabaseL(KMaxLengthString71);
+    iDbMan->DeleteDatabaseL(KMaxLengthString73);
+    
+    // Should not work: 
+    
+    TRAP(err, iDbMan->DeleteDatabaseL(KMaxLengthString64Bad));
+    AssertTrueSecL(err == KErrArgument, KErrorWrongCode);
+    TRAP(err, iDbMan->DeleteDatabaseL(KMaxLengthString66Bad));
+    AssertTrueSecL(err == KErrArgument, KErrorWrongCode);
+    TRAP(err, iDbMan->DeleteDatabaseL(KMaxLengthString71Bad));
+    AssertTrueSecL(err == KErrArgument, KErrorWrongCode);
+    TRAP(err, iDbMan->DeleteDatabaseL(KMaxLengthString73Bad));
+    AssertTrueSecL(err == KErrArgument, KErrorWrongCode);
+    
+	}
+	
+// ---------------------------------------------------------
+// CPosTp104::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp104::CloseTest()
+	{
+	iLog->Log(_L("CloseTest"));
+	delete iDbMan;
+    iDbMan = NULL;
+    
+    delete iLandmarksDb;
+    iLandmarksDb = NULL;
+    
+    delete iRepository;
+    iRepository = NULL;
+	}
+	
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp105.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,334 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp105.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include "FT_LandmarkConstants.h"
+#include <centralrepository.h>
+#include <bautils.h>
+           
+// CONSTANTS
+
+_LIT(KResourceFileROM, "z:\\resource\\eposlmdefaultdbname.R");
+_LIT(KResourceFile, "c:\\resource\\eposlmdefaultdbname.R");
+_LIT(KResourceFileCOPY, "c:\\resource\\COPY_eposlmdefaultdbname.R");
+
+#ifdef __WINS__
+	_LIT(KResourceFileTEST, "z:\\system\\test\\testdata\\tp105_eposlmdefaultdbname.R");
+#else
+	_LIT(KResourceFileTEST, "c:\\system\\test\\testdata\\tp105_eposlmdefaultdbname.R");
+#endif
+
+_LIT(KDefaultName_En, "TP105 Default Landmarks");
+_LIT(KDefaultName_Sw, "Mina små landmarks");
+_LIT(KEnglish, "English");
+_LIT(KSwedish, "Swedish");
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp105::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp105::StartL()
+    {
+#ifdef __WINS__
+    _LIT(KNotSupported, "Test case is not supported on WINS, execute on target!");
+    LogErrorAndLeave(KNotSupported);
+#endif
+    _LIT(KCancelled, "Test cancelled");
+    _LIT(KLangChanged, "Have you changed the language to swedish in the phone ? (Should be English currently.)");
+    _LIT(KChangeLang, "Change language to Swedish in phone (you will need to reboot the phone)");
+    _LIT(KWrongLanguageEnglish, "Wrong language on phone, should be English");
+    _LIT(KWrongLanguageSwedish, "Wrong language on phone, should be Swedish");
+    
+    /*
+LMREQ200: Display Name for Default Database
+If the display name has not been set for the default database, 
+a localized default display name shall be used. The localized display name 
+is read from a resource file and it is language dependent. 
+If the user changes language for the phone, the localized display name shall change accordingly.
+*/
+    
+    TUtfwUserAnswer answer = iUserInfo->ShowDialog(KLangChanged, EUtfwDialogTypeYesNo, EFalse);
+    //TUtfwUserAnswer answer = EUtfwUserAnswerNo;
+    if(answer == EUtfwUserAnswerNo)
+        {
+        RemoveAllLmDatabasesL();
+        // Copy the default display name resource file with english name to
+        // c:\\resource
+        // This file should be used when language is english
+		CopyResourceFileL(_L("01"));
+		
+        // Create a database and set it to be default
+        // Since the display name has not been set for this db it should be read
+        // from localiased resource file
+        _LIT(KDB, "TP105_Db.ldb");
+        iDbMan = CPosLmDatabaseManager::NewL();
+        HPosLmDatabaseInfo* dbInfo01 = HPosLmDatabaseInfo::NewLC(KDB);
+        iDbMan->CreateDatabaseL(*dbInfo01);
+        CleanupStack::PopAndDestroy(dbInfo01);
+        iDbMan->SetDefaultDatabaseUriL(KDB);
+        
+        delete iDbMan;
+        iDbMan = NULL;
+    
+        TBuf<50> buf;
+		TInt lang = User::Language();
+		buf.Format(_L("***** Language %d ******"), lang);
+		iLog->Put(buf);
+		
+		if (lang != 1) 
+		    {
+		    LogErrorAndLeave(KWrongLanguageEnglish, KErrGeneral);
+		    }
+		
+		CheckDisplayNameL(KEnglish, KDefaultName_En);
+		
+	    answer = iUserInfo->ShowDialog(KChangeLang, EUtfwDialogTypeOkCancel, EFalse);
+	    //answer = EUtfwUserAnswerOk;
+        AssertTrueSecL(answer == EUtfwUserAnswerOk, KCancelled, KErrCancel);
+        }
+    else
+        {
+        TInt lang = User::Language();
+		TBuf<50> buf;
+		buf.Format(_L("***** Language %d ******"), lang);
+		iLog->Put(buf);
+		
+		if (lang != 6)
+		    {
+		    LogErrorAndLeave(KWrongLanguageSwedish, KErrGeneral);
+		    }
+		    
+        // Copy the default display name resource file with swedish name to
+        // c:\\resource
+        // This file should be used when language is changed into swedish
+		CopyResourceFileL(_L("06"));
+		
+        CheckDisplayNameL(KSwedish, KDefaultName_Sw);
+        
+        _LIT(KTestSucceeded, "Localization test for displayname succeeded!");
+        //iUserInfo->ShowDialog(KTestSucceeded, EUtfwDialogTypeOk, EFalse);
+        
+        // Remove both swedish and english test resource files
+		// used in this test, also restores the original resource files
+		RemoveResourceFileL(_L("01"));
+		RemoveResourceFileL(_L("06"));
+		iLog->Put(KTestSucceeded);
+        }
+    }
+    
+// ---------------------------------------------------------
+// CPosTp105::CheckDisplayNameL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp105::CheckDisplayNameL(const TDesC& aLanguage, const TDesC& aDisplayName)
+    {
+    iLog->Put(_L("CheckDisplayNameL"));
+    _LIT(KQuestionFormat, "Does the language look like %S?: %S");
+    _LIT(KErrLangError, "The language of the displayname is not correct.");
+    _LIT(KMatchCriteria, "://");
+    _LIT(KErrMatch, "Error. Displayname matches filename.");
+	_LIT(KErrMatchUri, "Error. Displayname matches URI.");
+	_LIT(KErrMatchDisplay, "Error. Displayname does not match localised name");
+    
+    // Get the display name:
+	iDbMan = CPosLmDatabaseManager::NewL();
+	HBufC* defaultUri = iDbMan->DefaultDatabaseUriLC();
+	
+	HPosLmDatabaseInfo* dbInfo = HPosLmDatabaseInfo::NewLC(defaultUri->Des());
+	
+	iDbMan->GetDatabaseInfoL(*dbInfo);
+	
+    TPosLmDatabaseSettings settings = dbInfo->Settings();
+    TPtrC defaultDisplayName = settings.DatabaseName();
+    CleanupStack::PopAndDestroy(dbInfo);
+	
+	TInt stringPos = defaultUri->Find(KMatchCriteria);
+	TBuf<50> uriFileName = defaultUri->Right(defaultUri->Length() - (stringPos + 5));
+	
+	AssertTrueSecL(uriFileName != defaultDisplayName, KErrMatch);
+	AssertTrueSecL(defaultUri->Des() != defaultDisplayName, KErrMatchUri);
+	AssertTrueSecL(defaultDisplayName.CompareC(aDisplayName) == 0, KErrMatchDisplay);
+	
+	iLog->Put(defaultDisplayName);
+	iLog->Put(uriFileName);
+	iLog->Put(defaultUri->Des());
+	
+	TBuf<100> question;
+	question.Format(KQuestionFormat, &aLanguage, &defaultDisplayName);
+	TUtfwUserAnswer answer = iUserInfo->ShowDialog(question, EUtfwDialogTypeYesNo, EFalse);
+	CleanupStack::PopAndDestroy(defaultUri);
+	//TUtfwUserAnswer answer = EUtfwUserAnswerYes;
+	AssertTrueSecL(answer == EUtfwUserAnswerYes, KErrLangError);
+
+	delete iDbMan;
+    iDbMan = NULL;
+
+    }
+    
+// ---------------------------------------------------------
+// CPosTp105::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp105::CloseTest()
+	{
+	iLog->Put(_L("CloseTest"));
+	
+	delete iDbMan;
+    iDbMan = NULL;
+
+	}
+
+// ---------------------------------------------------------
+// CPosTp105::CopyResourceFileL
+// 
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp105::CopyResourceFileL(const TDesC& aResourceNr)
+    {
+	iLog->Put(_L("CopyResourceFileL"));
+    RFs fs;
+    User::LeaveIfError(fs.Connect());
+    CleanupClosePushL(fs);
+    
+    CFileMan* fileMan = CFileMan::NewL(fs);
+    CleanupStack::PushL(fileMan);
+	
+	TBuf<55> pathROM;
+	TBuf<55> pathWINS;
+	TBuf<55> pathCOPY;
+	TBuf<55> pathTEST;
+
+	pathROM.Append(KResourceFileROM);
+	pathWINS.Append(KResourceFile);
+	pathCOPY.Append(KResourceFileCOPY);
+	pathTEST.Append(KResourceFileTEST);
+
+	pathROM.Append(aResourceNr);
+	pathWINS.Append(aResourceNr);
+	pathCOPY.Append(aResourceNr);
+	pathTEST.Append(aResourceNr);
+
+	iLog->Put(pathROM);
+    //check if landmark is flashed
+	if (!BaflUtils::FileExists(fs, pathROM))
+		{
+        iLog->Put(_L("Landmark is NOT flashed, rename resource file"));
+        //Landmark is not flashed rename the file before copy a own defiend file.
+        //since landmark is not flashed the file should exist hence leaving if it is not found!	
+		iLog->Put(pathWINS);
+		iLog->Put(pathCOPY);
+
+		TInt err = fileMan->Rename(pathWINS, pathCOPY, CFileMan::EOverWrite);
+		if (err != KErrNone && err != KErrNotFound)
+			iLog->Put(_L("Problem renaming original global categories file"));
+        }
+     else
+        {
+        iLog->Put(_L("Landmark is flashed, copy resource file"));
+        }
+	iLog->Put(pathTEST);
+	iLog->Put(pathWINS);
+
+    User::LeaveIfError(fileMan->Copy(pathTEST, pathWINS, CFileMan::EOverWrite));
+ 
+    CleanupStack::PopAndDestroy(2, &fs);
+	iLog->Put(_L("CopyResourceFileL Done"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp105::RemoveResourceFileL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp105::RemoveResourceFileL(const TDesC& aResourceNr)
+    {
+	iLog->Put(_L("RemoveResourceFileL"));
+
+    RFs fs;
+    User::LeaveIfError(fs.Connect());
+    CleanupClosePushL(fs);
+    CFileMan* fileMan = CFileMan::NewL(fs);
+    CleanupStack::PushL(fileMan);
+
+	TBuf<55> pathROM;
+	TBuf<55> pathWINS;
+	TBuf<55> pathCOPY;
+	TBuf<55> pathTEST;
+
+	pathROM.Append(KResourceFileROM);
+	pathWINS.Append(KResourceFile);
+	pathCOPY.Append(KResourceFileCOPY);
+	pathTEST.Append(KResourceFileTEST);
+
+	pathROM.Append(aResourceNr);
+	pathWINS.Append(aResourceNr);
+	pathCOPY.Append(aResourceNr);
+	pathTEST.Append(aResourceNr);
+    
+    //check if the default display name resource file exist in rom
+    //if landmarks is flashed it is just okej to remove
+    // file in on the c drive.
+	iLog->Put(pathROM);
+    if (BaflUtils::FileExists(fs, pathROM))
+       {
+        iLog->Put(_L("Landmark is flashed, delete resource file"));
+        //in this case it is same just to remove it form c if it exists:
+		iLog->Put(pathWINS);
+        if (BaflUtils::FileExists(fs, pathWINS))
+            {
+            User::LeaveIfError(fileMan->Delete(pathWINS));
+            }
+        }
+    else
+        {
+        iLog->Put(_L("Landmark is NOT flashed, delete resource file and rename the old file"));
+        //If a copy exist this should be used, but if it does not
+        //exist the file is not removed since it is hard to know
+        //if anything has gone wrong.
+		iLog->Put(pathCOPY);
+		iLog->Put(pathWINS);
+        if(BaflUtils::FileExists(fs, pathCOPY))
+            {
+            //first delete the used file, if it exist
+            if (BaflUtils::FileExists(fs, pathWINS))
+                {
+                User::LeaveIfError(fileMan->Delete(pathWINS));
+                }
+            //Rename the copy file
+            User::LeaveIfError(fileMan->Rename(pathCOPY, pathWINS, CFileMan::EOverWrite));
+            }
+        }  
+    CleanupStack::PopAndDestroy(2);
+	iLog->Put(_L("RemoveResourceFileL Done"));
+    }
+    
+//  End of File
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp106.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,580 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include <e32std.h>
+#include <ss_std.h>
+
+#include <EPos_CPosLandmarkDatabase.h> 
+#include <EPos_CPosLandmark.h> 
+#include <EPos_CPosLmDatabaseManager.h>
+
+#include "FT_CPosTp106.h"
+
+// Nr of simultaneous clients (threads)
+const TInt KNoMultipleClients = 5;
+
+// Nr of created dbs
+const TInt KNrOfDBs=25;
+const TInt KCheckIfExistDBs=10;
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp106::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp106::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+    for (TInt i=0; i<iThreads.Count(); i++)
+        {
+        iThreads[i].Close();
+        }
+
+    iThreads.Close();
+
+    delete iDatabase;
+    iDatabase=NULL;
+
+    iUseLogFromThreadIsDisabled = EFalse;
+    
+    TRAPD(err, RemoveAllLmDatabasesL());
+    if (err != KErrNone) iLog->Log(_L("Error when deleting all lm dbs"));
+
+    }
+
+// ---------------------------------------------------------
+// CPosTp106::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp106::StartL()
+    {
+    MakeSurePanicDebugFileExistsL();
+           
+    RemoveAllLmDatabasesL();
+    
+    iUseLogFromThreadIsDisabled = ETrue;
+	
+	TBuf<150> buf;
+	
+	_LIT(KTrace1, "Create %d x %d (=%d) nr of dbs took = %d msec");
+	_LIT(KTrace2, "Copy %d x %d (=%d) nr of dbs took = %d msec");
+	_LIT(KTrace3, "Get and Set default URI for %d x %d (=%d) nr of dbs took = %d msec");
+	_LIT(KTrace4, "Get display name for %d x %d (=%d) nr of dbs took = %d msec");
+	_LIT(KTrace5, "Check if db exist for %d x %d (=%d) nr of dbs took = %d msec");
+	_LIT(KTrace6, "Delete %d x %d (=%d) nr of dbs took = %d msec");
+	
+    iTestStep=Step1;
+    StartMultipleClientsL(KNoMultipleClients);
+    TInt64 msec = (iStop.Int64() - iStart.Int64())/1000;
+   	buf.Format(KTrace1, KNrOfDBs, KNoMultipleClients, KNrOfDBs*KNoMultipleClients, msec);
+    iLog->Log(buf);
+    
+    iTestStep=Step2;
+    StartMultipleClientsL(KNoMultipleClients);
+    msec = (iStop.Int64() - iStart.Int64())/1000;
+   	buf.Format(KTrace2, KNrOfDBs, KNoMultipleClients, KNrOfDBs*KNoMultipleClients, msec);
+    iLog->Log(buf);
+    
+    iTestStep=Step3;
+    StartMultipleClientsL(KNoMultipleClients);
+    msec = (iStop.Int64() - iStart.Int64())/1000;
+   	buf.Format(KTrace3, KNrOfDBs, KNoMultipleClients, KNrOfDBs*KNoMultipleClients, msec);
+    iLog->Log(buf);
+    
+    iTestStep=Step4;
+    StartMultipleClientsL(KNoMultipleClients);
+    msec = (iStop.Int64() - iStart.Int64())/1000;
+   	buf.Format(KTrace4, KNrOfDBs, KNoMultipleClients, KNrOfDBs*KNoMultipleClients, msec);
+    iLog->Log(buf);
+    
+    iTestStep=Step5;
+    StartMultipleClientsL(KNoMultipleClients);
+    msec = (iStop.Int64() - iStart.Int64())/1000;
+   	buf.Format(KTrace5, KNrOfDBs, KNoMultipleClients, KNrOfDBs*KNoMultipleClients, msec);
+    iLog->Log(buf);
+   
+    iTestStep=Step6;
+    StartMultipleClientsL(KNoMultipleClients);
+    msec = (iStop.Int64() - iStart.Int64())/1000;
+   	buf.Format(KTrace6, KNrOfDBs, KNoMultipleClients, KNrOfDBs*KNoMultipleClients, msec);
+    iLog->Log(buf);                
+    
+    }
+
+// ---------------------------------------------------------
+// CPosTp106::StartMultipleClientsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp106::StartMultipleClientsL(const TUint aNoClients)
+    {
+    _LIT(KMultipleErr, "Error %d from thread %d");
+    _LIT(KPanicErr, "Thread %d has panicked or is alive");
+    _LIT(KSuccess, "Thread %d is successful");
+      
+    CreateThreadsL(aNoClients);
+
+    RArray<TRequestStatus> statuses;
+    CleanupClosePushL(statuses);
+   	
+   	// Start measuring time
+   	iStart.UniversalTime();
+   	
+    for (TUint j=0; j<aNoClients; j++)
+        {
+        TRequestStatus status;
+        statuses.Append(status);
+        }
+
+    TInt i=0; 
+    for (i=0; i<iThreads.Count(); i++)
+        { 
+        iThreads[i].Logon(statuses[i]);
+        iThreads[i].Resume();
+        }
+    
+    for (i=0; i<iThreads.Count(); i++)
+        {
+        User::WaitForRequest(statuses[i]);
+        }
+    
+    TInt errors=0; 
+    for (i=0; i<iThreads.Count(); i++)
+        {
+        TInt exitReason = iThreads[i].ExitReason();
+        TBuf<100> info;
+            
+        if (exitReason != KErrNone)
+            {
+            errors++;
+            info.Format(KMultipleErr, exitReason, i+1);
+            }  
+         else
+            {
+            info.Format(KSuccess, i+1);
+            }
+        iLog->Log(info);
+
+        AssertTrueSecL(iThreads[i].ExitType() == EExitKill, KPanicErr, i+1);
+        AssertTrueSecL(exitReason == KErrNone || exitReason == KErrLocked, info);
+        }
+        
+    // Stop measuring time
+	iStop.UniversalTime();
+/*        
+    if (iTestStep != EReadLockTaken)
+        {
+        AssertTrueSecL(errors == KNoMultipleClients - 1, KAllErr);        
+        }
+    else
+        {
+        // All imports should have failed since the started search should have taken a read lock
+        AssertTrueSecL(errors == KNoMultipleClients, KAllNotFailedErr);        
+        }
+       */
+    
+    for (i=0; i<iThreads.Count(); i++)
+        {
+        iThreads[i].Close();
+        }
+    
+    iThreadIndex=0;
+    iThreads.Close();
+    CleanupStack::PopAndDestroy(&statuses);
+    }
+
+// ---------------------------------------------------------
+// CPosTp106::RunTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp106::RunTestL(TAny* aData)
+    {
+    CPosTp106* self = reinterpret_cast<CPosTp106*>(aData);
+    TInt index = ++self->iThreadIndex;
+   
+   	TBuf<100> info;
+    _LIT(KInfo2, "Thread %d before execute");
+    info.Format(KInfo2, index);
+    RDebug::Print(info);
+
+    switch (self->iTestStep)
+        {
+        case Step1:
+        	self->CreateAndListDatabasesL(index);
+        break;
+        case Step2:
+        	self->CopyDatabasesL(index);
+        break;
+        case Step3:
+        	self->SetAndGetUriL(index);
+        break;
+        case Step4:
+        	self->GetDisplayNameL();
+        break;
+        case Step5:
+        	self->CheckIfExistL(index);
+        break;
+        case Step6:
+        	self->DeleteDatabasesL();
+        break;                
+        }
+    
+    _LIT(KInfo3, "Thread %d after execute");
+    info.Format(KInfo3, index);
+    RDebug::Print(info);
+    }
+
+// ---------------------------------------------------------
+// CPosTp106::CreateAndListDatabasesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp106::CreateAndListDatabasesL(TInt index)
+    {
+    CPosLmDatabaseManager* manager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(manager);
+
+    _LIT(KLmName, "Thread_%d_LmDbIndex%d.ldb");
+    _LIT(KLmURI, "file://C:Thread_%d_LmDbIndex%d.ldb");
+    TBuf<50> lmDbName;
+    TBuf<50> lmDbUri;
+    TInt i=0;
+    TInt NrOfFoundDbs=0;
+    // Create KNrOfDBs nr of  landmark dbs
+    
+    HPosLmDatabaseInfo* dbInfo = NULL;
+    for (i=0;i<KNrOfDBs;i++)
+    	{
+    	lmDbName.Zero();
+    	lmDbName.Format(KLmName, index, i);
+    	dbInfo = HPosLmDatabaseInfo::NewLC(lmDbName);
+    	manager->CreateDatabaseL(*dbInfo);
+    	CleanupStack::PopAndDestroy(dbInfo);
+    	/*
+    	This increases the filesize to much
+    	CPosLandmarkDatabase* db = CPosLandmarkDatabase::OpenL(lmDbName);
+    	CleanupStack::PushL(db);
+    	
+    	if (db->IsInitializingNeeded())
+        	{
+        	ExecuteAndDeleteLD(db->InitializeL());
+        	}
+    	CleanupStack::PopAndDestroy(db);
+    	*/
+    	}
+    
+    // List all dbs    
+    CDesCArray* dbArray = manager->ListDatabasesLC();
+    TInt nr = dbArray->Count();
+	
+	// Check that at least KNrOfDBs nr of dbs exist
+	if (nr < KNrOfDBs) User::Panic(_L("Wrong Nr"), -666);
+	
+	// Check that all created dbs are listed
+	for (TInt j=0;j<KNrOfDBs;j++)
+		{
+		lmDbUri.Zero();
+		lmDbUri.Format(KLmURI, index, j);
+		for (i=0;i<nr;i++)
+			{
+			if ((*dbArray)[i].CompareC(lmDbUri) == KErrNone)
+				{
+				// Found
+				i=nr;
+				NrOfFoundDbs++;
+				}
+			}
+		}
+    
+    if (NrOfFoundDbs != KNrOfDBs) User::Panic(_L("Wrong Nr"), -667);
+    
+    CleanupStack::PopAndDestroy(dbArray);
+    CleanupStack::PopAndDestroy(manager);
+    }
+    
+// ---------------------------------------------------------
+// CPosTp106::CopyDatabasesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp106::CopyDatabasesL(TInt index)
+    {
+    CPosLmDatabaseManager* manager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(manager);
+
+    _LIT(KLmName, "Thread_%d_LmDbIndex%d.ldb");
+    _LIT(KLmNameCopy, "Thread_%d_LmDbIndex%d_Copy.ldb");
+    _LIT(KLmURICopy, "file://C:Thread_%d_LmDbIndex%d_Copy.ldb");
+    TBuf<50> lmDbName;
+    TBuf<50> lmDbNameCopy;
+    TBuf<50> lmDbUriCopy;
+    TInt i=0;
+    TInt NrOfFoundDbs=0;
+    // Create KNrOfDBs nr of  landmark dbs
+    for (i=0;i<KNrOfDBs;i++)
+    	{
+    	lmDbName.Zero();
+    	lmDbName.Format(KLmName, index, i);
+    	
+    	lmDbNameCopy.Zero();
+    	lmDbNameCopy.Format(KLmNameCopy, index, i);
+    	manager->CopyDatabaseL(lmDbName, lmDbNameCopy);
+    	}
+    
+    // List all dbs
+    CDesCArray* dbArray = manager->ListDatabasesLC();
+    TInt nr = dbArray->Count();
+	
+	// Check that at least all copied dbs are listed
+	for (TInt j=0;j<KNrOfDBs;j++)
+		{
+		lmDbUriCopy.Zero();
+		lmDbUriCopy.Format(KLmURICopy, index, j);
+		for (i=0;i<nr;i++)
+			{
+			if ((*dbArray)[i].Compare(lmDbUriCopy) == KErrNone)
+				{
+				// Found
+				i=nr;
+				NrOfFoundDbs++;
+				}
+			}
+		}
+    
+    if (NrOfFoundDbs != KNrOfDBs) User::Panic(_L("WrongNrOfCopiedDb"), -667);
+    
+    CleanupStack::PopAndDestroy(dbArray);
+    CleanupStack::PopAndDestroy(manager);
+    }
+     
+// ---------------------------------------------------------
+// CPosTp106::DeleteDatabasesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp106::DeleteDatabasesL()
+    {
+    CPosLmDatabaseManager* manager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(manager);
+
+    // _LIT(KLmURICopy, "file://C:Thread_%d_LmDbIndex%d_Copy.LDB");
+    // _LIT(KLmURI, "file://C:THREAD_%d_LMDBINDEX%d.LDB");
+    
+    TBuf<50> lmDbUri;
+    TBuf<50> lmDbUriCopy;
+	
+	CDesCArray* dbArray = manager->ListDatabasesLC();
+    TInt nr = dbArray->Count();
+    
+    // Delete all created dbs and copied dbs
+	for (TInt j=0;j<nr;j++)
+		{
+		TRAPD(err, manager->DeleteDatabaseL((*dbArray)[j]));
+		}
+    
+    /*
+	// Delete all created dbs and copied dbs
+	for (TInt j=0;j<KNrOfDBs;j++)
+		{
+		lmDbUriCopy.Zero();
+		lmDbUri.Zero();
+		lmDbUriCopy.Format(KLmURICopy, index, j);
+		lmDbUri.Format(KLmURI, index, j);
+		
+		manager->DeleteDatabaseL(lmDbUriCopy);
+		manager->DeleteDatabaseL(lmDbUri);
+		}
+		*/
+    
+    CleanupStack::PopAndDestroy(dbArray);
+    CleanupStack::PopAndDestroy(manager);
+    }
+
+// ---------------------------------------------------------
+// CPosTp106::SetAndGetUriL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp106::SetAndGetUriL(TInt /*index*/)
+    {
+    CPosLmDatabaseManager* manager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(manager);
+
+    _LIT(KLmURI, "file://C:Thread_%d_LmDbIndex%d.ldb");
+    
+    // Try to set (and get) defaultdb to dbs created by first thread
+    TBuf<50> name;
+
+	// index = 0;
+	for (TInt j=0;j<KNrOfDBs;j++)
+		{
+		name.Zero();
+		// Use first thread index 1
+		name.Format(KLmURI, 1, j);
+		manager->SetDefaultDatabaseUriL(name);
+		
+		HBufC* defaultName = manager->DefaultDatabaseUriLC();
+		
+		// TBD Maybe some other client has succeeded in changing the default name already
+		if (defaultName->Compare(name) != KErrNone)
+			{
+			User::Panic(_L("WrongDefaultDb"), -671);
+			}
+		CleanupStack::PopAndDestroy(defaultName);	
+		}
+    CleanupStack::PopAndDestroy(manager);
+    }
+
+// ---------------------------------------------------------
+// CPosTp106::GetDisplayNameL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp106::GetDisplayNameL()
+    {
+    CPosLmDatabaseManager* manager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(manager);
+		
+	// Get display name for default db
+	for (TInt j=0;j<KNrOfDBs;j++)
+		{	
+		HBufC* dbUri = manager->DefaultDatabaseUriLC();
+		HPosLmDatabaseInfo* dbInfo = HPosLmDatabaseInfo::NewLC(dbUri->Des());
+		TPosLmDatabaseSettings settings = dbInfo->Settings();
+		TPtrC displayName = settings.DatabaseName();
+		CleanupStack::PopAndDestroy(2);
+		}
+		
+	CleanupStack::PopAndDestroy(manager);
+    }
+
+// ---------------------------------------------------------
+// CPosTp106::CheckIfExistL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp106::CheckIfExistL(TInt index)
+    {
+    CPosLmDatabaseManager* manager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(manager);
+
+    _LIT(KLmURICopy, "file://C:Thread_%d_LmDbIndex%d_Copy.ldb");
+    _LIT(KLmURI, "file://C:Thread_%d_LmDbIndex%d.ldb");
+    
+    _LIT(KLmNonExistingURI, "file://C:THREAD_%d_PELLE_%d.LDB");
+    
+    TBuf<50> lmDbUri;
+    TBuf<50> lmDbUriCopy;
+        TBuf<50> lmDbNonExistingUri;
+
+	TInt j=0;
+	// Check that some created dbs and copied dbs exist
+	// Check that non existing db does not exist
+	
+	// Check files created by first thread only
+	index=1;
+	
+	for (j=0;j<KCheckIfExistDBs;j++)
+		{
+		lmDbUriCopy.Zero();
+		lmDbUri.Zero();
+		lmDbUriCopy.Format(KLmURICopy, index, j);
+		lmDbUri.Format(KLmURI, index, j);
+		
+		lmDbNonExistingUri.Zero();
+		lmDbNonExistingUri.Format(KLmNonExistingURI, index, j);
+		
+		// Should exist
+		TBool res = manager->DatabaseExistsL(lmDbUriCopy);
+		if (!res) User::Panic(_L("DbNotExist"), -668);
+		
+		// Should exist
+		res = manager->DatabaseExistsL(lmDbUri);
+		if (!res) User::Panic(_L("DbNotExist"), -669);
+		
+		// Should NOT exist
+		res = manager->DatabaseExistsL(lmDbNonExistingUri);
+		if (res) User::Panic(_L("DbExist"), -670);
+		}
+    
+    CleanupStack::PopAndDestroy(manager);
+    }
+    
+// ---------------------------------------------------------
+// ThreadFunction
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+LOCAL_C TInt ThreadFunction(TAny* aData)
+    {
+    CTrapCleanup* cleanup=CTrapCleanup::New(); 
+
+    CActiveScheduler* actSch = new (ELeave) CActiveScheduler;
+    CActiveScheduler::Install(actSch);
+
+    TRAPD(err, CPosTp106::RunTestL(aData));
+       
+    delete actSch;
+    delete cleanup;
+    return err;
+    }
+
+// ---------------------------------------------------------
+// CPosTp106::CreateThreadsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp106::CreateThreadsL(const TUint aNoThreads)
+    {
+    _LIT(KThreadName, "Tp106testthread%d");
+    _LIT(KCreateThreadErr, "Create thread failed with %d");
+
+    for (TUint i=0; i<aNoThreads; i++)
+        {
+        RThread thread;
+        TBuf<32> name;
+	    name.Format(KThreadName, 1 + iThreadNum++);
+                
+        TInt err;
+        err = thread.Create(name, ThreadFunction, KDefaultStackSize, KMinHeapSize, KMaxHeapSize, reinterpret_cast<TAny*>(this));
+
+        AssertTrueSecL(err == KErrNone, KCreateThreadErr, err);                                                                  
+        
+        iThreads.Append(thread);
+        }
+    }
+        
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp107.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,225 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+// INCLUDE FILES
+#include "FT_CPosTp666.h"
+
+#include <EPos_CPosLmDatabaseManager.h>
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLandmarkCategory.h>
+#include <EPos_CPosLmCategoryManager.h>
+
+// CONSTANTS
+_LIT(KSetCapPath, "c:\\sys\\bin\\setcap.exe");
+// Nr of tests in this TP
+const TInt KNrOfTests = 4;
+
+// ================= MEMBER FUNCTIONS =======================
+
+// Destructor
+CPosTp666::~CPosTp666()
+    {
+    }
+
+// ---------------------------------------------------------
+// CPosTp666::GetName
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+
+void CPosTp666::GetName(TDes& aName) const
+    {
+    _LIT(KTestName0, "SetCap-TP107");
+    aName = KTestName0;
+    }
+
+// ---------------------------------------------------------
+// CPosTp666::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp666::StartL()
+    {
+    iLog->Put(_L("StartL"));
+    
+    SetupTestPartL(0);
+    SetupTestPartL(1);
+    SetupTestPartL(2);
+    SetupTestPartL(3);
+    }
+
+// ---------------------------------------------------------
+// CPosTp666::SetupTestPartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp666::SetupTestPartL(TInt aIndex)
+    {
+    iLog->Put(_L("StartL(TInt aIndex)"));
+/* 
+#ifdef __WINS__
+	_LIT(KNotOnWins, "!!!!This test is NOT supported on WINS!!!!");
+	LogErrorAndLeave(KNotOnWins);		
+	
+#endif
+*/
+TBuf<20> capability;
+switch (aIndex)
+{
+    case 0:
+    iLog->Put(_L("Part1"));
+    capability.Zero();
+    // Set to all cap but readuserdata and writeuserdata
+    capability.Append(_L("27FFF"));
+    break;
+    
+    case 1:
+    iLog->Put(_L("Part2"));
+    // Set to Set to all cap but writeuserdata
+    capability.Append(_L("2FFFF"));
+    break;
+    
+    case 2:
+    iLog->Put(_L("Part3"));
+    // Set to Set to all cap but readuserdata
+    capability.Append(_L("37FFF"));
+    break;
+    
+    case 3:
+    iLog->Put(_L("Part4"));
+    // Set to only readuserdata and writeuserdata
+    capability.Append(_L("18000"));
+    break;
+    
+    default:
+    iLog->Put(_L("Default"));
+    LogErrorAndLeave(_L("We should never come here"));
+    break;
+}
+    // Only for target, on winscw use bat-script
+	RProcess execlient;
+	RFile file;
+	RFs fileSession;
+	User::LeaveIfError(fileSession.Connect());
+	CleanupClosePushL(fileSession);
+	CleanupClosePushL(file);
+	CFileMan* fileMan = CFileMan::NewL(fileSession);
+	CleanupStack::PushL(fileMan);	
+
+    TBuf<100> buf;
+
+    buf.Append(_L("CapabilityTests.exe "));
+    buf.Append(capability);
+    buf.Append(_L(" CapabilityTests_tmp.exe"));
+
+    // Make call to SetCap
+	TInt result = execlient.Create(KSetCapPath, 
+		//_L("CapabilityTests.exe 3FFFF CapabilityTests_All.exe"),
+		buf,
+		TUidType(KNullUid, KNullUid, KNullUid));
+	User::LeaveIfError(result);
+	execlient.Resume();	//make the execlient visible
+	User::After(800000); //Wait 0.8 s
+	
+	execlient.Close(); //Close handle to exe-client
+		
+	// now move file CapabilityTests_tmp.exe to CapabilityTests.exe
+	TInt err = fileMan->Move(_L("c:\\sys\\bin\\CapabilityTests_tmp.exe"), _L("c:\\sys\\bin\\CapabilityTests.exe"), CFileMan::EOverWrite);
+	if (err != KErrNone)
+	    {
+	    iLog->Put(_L("Move problem"));
+	    LogErrorAndLeave(_L("Move problem"), err);
+	    }
+
+	CleanupStack::PopAndDestroy(fileMan); //fileMan
+	CleanupStack::PopAndDestroy(&file); //file
+	CleanupStack::PopAndDestroy(&fileSession); //fileSession
+
+    // Prepare test conditions
+    SetupTestEnvironmentL();
+    
+    buf.Zero();
+    buf.Format(_L("SetCap done, Now Execute CapabilityTest TP107, part %d"), aIndex+1);
+    TUtfwUserAnswer answer = iUserInfo->ShowDialog(buf, EUtfwDialogTypeOk, EFalse);
+    //if(answer == EUtfwUserAnswerNo)
+	}
+
+// ---------------------------------------------------------
+// CPosTp666::SetupTestEnvironmentL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp666::SetupTestEnvironmentL()
+    {
+    iLog->Put(_L("SetupTestEnvironmentL"));
+    
+    // Setup start conditions for compatibility test
+    _LIT(KDefaultDb, "file://c:eposlm.ldb");
+
+    CPosLmDatabaseManager* dbManager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(dbManager);
+    
+    // Remove all landmark databases
+    CDesCArray* uris = dbManager->ListDatabasesL();
+    CleanupStack::PushL(uris);
+    for (TInt i = 0; i < uris->Count(); i++)
+        {
+        dbManager->DeleteDatabaseL((*uris)[i]);
+        }
+    CleanupStack::PopAndDestroy(uris);
+        
+    // Create and initialize a default database
+    dbManager->CreateDatabaseL(KDefaultDb);
+    dbManager->SetDefaultDatabaseL(KDefaultDb);
+    CPosLandmarkDatabase* database = CPosLandmarkDatabase::OpenL();
+    CleanupStack::PushL(database);
+    ExecuteAndDeleteLD(database->InitializeL());
+    
+    // Add 5 landmarks - will generate ids 1 - 5
+    const TInt KFive = 5;
+    for (TInt j = 0; j < KFive; j++)
+        {
+        CPosLandmark* lm = CPosLandmark::NewLC();
+        lm->SetLandmarkNameL(_L("Landmark"));
+        database->AddLandmarkL(*lm);
+        CleanupStack::PopAndDestroy(lm);
+        }
+        
+    // Add 5 categories
+    CPosLmCategoryManager* catManager = CPosLmCategoryManager::NewL(*database);
+    CleanupStack::PushL(catManager);
+    for (TInt k = 0; k < KFive; k++)
+        {
+        CPosLandmarkCategory* category = CPosLandmarkCategory::NewLC();
+        TBuf<15> name;
+        name = _L("Category ");
+        name.AppendNum(k);
+        category->SetCategoryNameL(name);
+        catManager->AddCategoryL(*category);
+        CleanupStack::PopAndDestroy(category);
+        }
+       
+    CleanupStack::PopAndDestroy(3, dbManager);
+    }
+
+// End of File
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp108.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,239 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+// INCLUDE FILES
+#include "FT_CPosTp667.h"
+
+#include <EPos_CPosLmDatabaseManager.h>
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLandmarkCategory.h>
+#include <EPos_CPosLmCategoryManager.h>
+
+// CONSTANTS
+_LIT(KSetCapPath, "c:\\sys\\bin\\setcap.exe");
+// Nr of tests in this TP
+const TInt KNrOfTests = 6;
+
+// ================= MEMBER FUNCTIONS =======================
+
+// Destructor
+CPosTp667::~CPosTp667()
+    {
+    }
+
+// ---------------------------------------------------------
+// CPosTp667::GetName
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+
+void CPosTp667::GetName(TDes& aName) const
+    {
+    _LIT(KTestName0, "SetCap-TP108");
+    aName = KTestName0;
+    }
+
+// ---------------------------------------------------------
+// CPosTp667::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp667::StartL()
+    {
+    iLog->Put(_L("StartL"));
+    
+    SetupTestPartL(0);
+    SetupTestPartL(1);
+    SetupTestPartL(2);
+    SetupTestPartL(3);
+    SetupTestPartL(4);
+    SetupTestPartL(5);
+    }
+
+// ---------------------------------------------------------
+// CPosTp667::SetupTestPartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp667::SetupTestPartL(TInt aIndex)
+    {
+    iLog->Put(_L("StartL(TInt aIndex)"));
+/* 
+#ifdef __WINS__
+	_LIT(KNotOnWins, "!!!!This test is NOT supported on WINS!!!!");
+	LogErrorAndLeave(KNotOnWins);		
+	
+#endif
+*/
+TBuf<20> capability;
+switch (aIndex)
+{
+    case 0:
+    iLog->Put(_L("Part1"));
+    capability.Zero();
+    // Set to no capablities at all
+    capability.Append(_L("0"));
+    break;
+    
+    case 1:
+    iLog->Put(_L("Part2"));
+    // Set to ReadUserData
+    capability.Append(_L("8000"));
+    break;
+    
+    case 2:
+    iLog->Put(_L("Part3"));
+    // Set to WriteUserData
+    capability.Append(_L("10000"));
+    break;
+    
+    case 3:
+    iLog->Put(_L("Part4"));
+    // Set to ReadUserData and WriteUserData
+    capability.Append(_L("18000"));
+    break;
+    
+    case 4:
+    iLog->Put(_L("Part5"));
+    // Set to WriteDeviceData
+    capability.Append(_L("20"));
+    break;
+    
+    case 5:
+    iLog->Put(_L("Part6"));
+    // Set to ReadUserData, WriteUserData and WriteDeviceData
+    capability.Append(_L("18020"));
+    break;        
+    
+    default:
+    iLog->Put(_L("Default"));
+    LogErrorAndLeave(_L("We should never come here"));
+    break;
+}
+    // Only for target, on winscw use bat-script
+	RProcess execlient;
+	RFile file;
+	RFs fileSession;
+	User::LeaveIfError(fileSession.Connect());
+	CleanupClosePushL(fileSession);
+	CleanupClosePushL(file);
+	CFileMan* fileMan = CFileMan::NewL(fileSession);
+	CleanupStack::PushL(fileMan);	
+
+    TBuf<100> buf;
+
+    buf.Append(_L("CapabilityTests.exe "));
+    buf.Append(capability);
+    buf.Append(_L(" CapabilityTests_tmp.exe"));
+
+    // Make call to SetCap
+	TInt result = execlient.Create(KSetCapPath, 
+		//_L("CapabilityTests.exe 3FFFF CapabilityTests_All.exe"),
+		buf,
+		TUidType(KNullUid, KNullUid, KNullUid));
+	User::LeaveIfError(result);
+	execlient.Resume();	//make the execlient visible
+	User::After(800000); //Wait 0.8 s
+	
+	execlient.Close(); //Close handle to exe-client
+		
+	// now move file CapabilityTests_tmp.exe to CapabilityTests.exe
+	TInt err = fileMan->Move(_L("c:\\sys\\bin\\CapabilityTests_tmp.exe"), _L("c:\\sys\\bin\\CapabilityTests.exe"), CFileMan::EOverWrite);
+	if (err != KErrNone)
+	    {
+	    iLog->Put(_L("Move problem"));
+	    LogErrorAndLeave(_L("Move problem"), err);
+	    }
+
+	CleanupStack::PopAndDestroy(fileMan); //fileMan
+	CleanupStack::PopAndDestroy(&file); //file
+	CleanupStack::PopAndDestroy(&fileSession); //fileSession
+
+    // Prepare test conditions
+    SetupTestEnvironmentL();
+    
+    buf.Zero();
+    buf.Format(_L("SetCap done, Now Execute CapabilityTest TP108, part %d"), aIndex+1);
+    TUtfwUserAnswer answer = iUserInfo->ShowDialog(buf, EUtfwDialogTypeOk, EFalse);
+    //if(answer == EUtfwUserAnswerNo)
+	}
+
+// ---------------------------------------------------------
+// CPosTp667::SetupTestEnvironmentL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp667::SetupTestEnvironmentL()
+    {
+    iLog->Put(_L("SetupTestEnvironmentL"));
+    
+    // Setup start conditions for compatibility test
+    _LIT(KDefaultDb, "file://c:eposlm.ldb");
+
+    CPosLmDatabaseManager* dbManager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(dbManager);
+    
+    // Remove all landmark databases
+    CDesCArray* uris = dbManager->ListDatabasesL();
+    CleanupStack::PushL(uris);
+    for (TInt i = 0; i < uris->Count(); i++)
+        {
+        dbManager->DeleteDatabaseL((*uris)[i]);
+        }
+    CleanupStack::PopAndDestroy(uris);
+        
+    // Create and initialize a default database
+    dbManager->CreateDatabaseL(KDefaultDb);
+    dbManager->SetDefaultDatabaseL(KDefaultDb);
+    CPosLandmarkDatabase* database = CPosLandmarkDatabase::OpenL();
+    CleanupStack::PushL(database);
+    ExecuteAndDeleteLD(database->InitializeL());
+    
+    // Add 5 landmarks - will generate ids 1 - 5
+    const TInt KFive = 5;
+    for (TInt j = 0; j < KFive; j++)
+        {
+        CPosLandmark* lm = CPosLandmark::NewLC();
+        lm->SetLandmarkNameL(_L("Landmark"));
+        database->AddLandmarkL(*lm);
+        CleanupStack::PopAndDestroy(lm);
+        }
+        
+    // Add 5 categories
+    CPosLmCategoryManager* catManager = CPosLmCategoryManager::NewL(*database);
+    CleanupStack::PushL(catManager);
+    for (TInt k = 0; k < KFive; k++)
+        {
+        CPosLandmarkCategory* category = CPosLandmarkCategory::NewLC();
+        TBuf<15> name;
+        name = _L("Category ");
+        name.AppendNum(k);
+        category->SetCategoryNameL(name);
+        catManager->AddCategoryL(*category);
+        CleanupStack::PopAndDestroy(category);
+        }
+       
+    CleanupStack::PopAndDestroy(3, dbManager);
+    }
+
+// End of File
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp109.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,280 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+// INCLUDE FILES
+#include "FT_CPosTp668.h"
+
+#include <EPos_CPosLmDatabaseManager.h>
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLandmarkCategory.h>
+#include <EPos_CPosLmCategoryManager.h>
+
+// CONSTANTS
+_LIT(KSetCapPath, "c:\\sys\\bin\\setcap.exe");
+// Nr of tests in this TP
+const TInt KNrOfTests = 12;
+
+// ================= MEMBER FUNCTIONS =======================
+
+// Destructor
+CPosTp668::~CPosTp668()
+    {
+    }
+
+// ---------------------------------------------------------
+// CPosTp668::GetName
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+
+void CPosTp668::GetName(TDes& aName) const
+    {
+    _LIT(KTestName0, "SetCap-TP109");
+    aName = KTestName0;
+    }
+
+// ---------------------------------------------------------
+// CPosTp668::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp668::StartL()
+    {
+    iLog->Put(_L("StartL"));
+    
+    SetupTestPartL(0);
+    SetupTestPartL(1);
+    SetupTestPartL(2);
+    SetupTestPartL(3);
+    SetupTestPartL(4);
+    SetupTestPartL(5);
+    SetupTestPartL(6);
+    SetupTestPartL(7);
+    SetupTestPartL(8);
+    SetupTestPartL(9);
+    SetupTestPartL(10);
+    SetupTestPartL(11);
+    }
+
+// ---------------------------------------------------------
+// CPosTp668::SetupTestPartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp668::SetupTestPartL(TInt aIndex)
+    {
+    iLog->Put(_L("StartL(TInt aIndex)"));
+/* 
+#ifdef __WINS__
+	_LIT(KNotOnWins, "!!!!This test is NOT supported on WINS!!!!");
+	LogErrorAndLeave(KNotOnWins);		
+	
+#endif
+*/
+TBuf<20> capability;
+switch (aIndex)
+{
+    case 0:
+    iLog->Put(_L("Part1"));
+    capability.Zero();
+    // Set to no capabilites at all
+    capability.Append(_L("0"));
+    break;
+    
+    case 1:
+    iLog->Put(_L("Part2"));
+    // Set to All capabilities of CAP_CLIENT_DLL but ReadUserData
+    capability.Append(_L("37FFE"));
+    break;
+    
+    case 2:
+    iLog->Put(_L("Part3"));
+    // Set to All capabilities of CAP_CLIENT_DLL but WriteUserData
+    capability.Append(_L("2FFFE"));
+    break;
+    
+    case 3:
+    iLog->Put(_L("Part4"));
+    // Set to All capabilities of CAP_CLIENT_DLL but WriteUserData and ReadUserData
+    capability.Append(_L("27FFE"));
+    break;
+    
+    case 4:
+    iLog->Put(_L("Part5"));
+    // Set to all capabilities of CAP_CLIENT_DLL
+    capability.Append(_L("3FFFE"));
+    break;
+    
+    case 5:
+    iLog->Put(_L("Part6"));
+    // Set to Only TCB
+    capability.Append(_L("1"));
+    break;
+    
+    case 6:
+    iLog->Put(_L("Part7"));
+    // Set to All capabilities but CAP_RECOGNIZER_DLL and TCB
+    capability.Append(_L("3FEFE"));
+    break;
+    
+    case 7:
+    iLog->Put(_L("Part8"));
+    // Set to Only CAP_RECOGNIZER_DLL
+    capability.Append(_L("100"));
+    break;
+    
+    case 8:
+    iLog->Put(_L("Part9"));
+    // Set to Only CAP_RECOGNIZER_DLL and ReadUserData
+    capability.Append(_L("8100"));
+    break;
+    
+    case 9:
+    iLog->Put(_L("Part10"));
+    // Set to All capabilities but CAP_SERVER_DLL and TCB
+    capability.Append(_L("ECE"));
+    break;
+    
+    case 10:
+    iLog->Put(_L("Part11"));
+    // Set to CAP_SERVER_DLL
+    capability.Append(_L("3F130"));
+    break;
+    
+    case 11:
+    iLog->Put(_L("Part12"));
+    // Set to CAP_SERVER_DLL and CommDD
+    capability.Append(_L("3F132"));
+    break;                            
+    
+    default:
+    iLog->Put(_L("Default"));
+    LogErrorAndLeave(_L("We should never come here"));
+    break;
+}
+    // Only for target, on winscw use bat-script
+	RProcess execlient;
+	RFile file;
+	RFs fileSession;
+	User::LeaveIfError(fileSession.Connect());
+	CleanupClosePushL(fileSession);
+	CleanupClosePushL(file);
+	CFileMan* fileMan = CFileMan::NewL(fileSession);
+	CleanupStack::PushL(fileMan);	
+
+    TBuf<100> buf;
+
+    buf.Append(_L("CapabilityTests.exe "));
+    buf.Append(capability);
+    buf.Append(_L(" CapabilityTests_tmp.exe"));
+
+    // Make call to SetCap
+	TInt result = execlient.Create(KSetCapPath, 
+		buf,
+		TUidType(KNullUid, KNullUid, KNullUid));
+	User::LeaveIfError(result);
+	execlient.Resume();	//make the execlient visible
+	User::After(800000); //Wait 0.8 s
+	
+	execlient.Close(); //Close handle to exe-client
+		
+	// now move file CapabilityTests_tmp.exe to CapabilityTests.exe
+	TInt err = fileMan->Move(_L("c:\\sys\\bin\\CapabilityTests_tmp.exe"), _L("c:\\sys\\bin\\CapabilityTests.exe"), CFileMan::EOverWrite);
+	if (err != KErrNone)
+	    {
+	    iLog->Put(_L("Move problem"));
+	    LogErrorAndLeave(_L("Move problem"), err);
+	    }
+
+	CleanupStack::PopAndDestroy(fileMan); //fileMan
+	CleanupStack::PopAndDestroy(&file); //file
+	CleanupStack::PopAndDestroy(&fileSession); //fileSession
+
+    // Prepare test conditions
+    SetupTestEnvironmentL();
+    
+    buf.Zero();
+    buf.Format(_L("SetCap done, Now Execute CapabilityTest TP107, part %d"), aIndex+1);
+    TUtfwUserAnswer answer = iUserInfo->ShowDialog(buf, EUtfwDialogTypeOk, EFalse);
+    //if(answer == EUtfwUserAnswerNo)
+	}
+
+// ---------------------------------------------------------
+// CPosTp668::SetupTestEnvironmentL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp668::SetupTestEnvironmentL()
+    {
+    iLog->Put(_L("SetupTestEnvironmentL"));
+    
+    // Setup start conditions for compatibility test
+    _LIT(KDefaultDb, "file://c:eposlm.ldb");
+
+    CPosLmDatabaseManager* dbManager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(dbManager);
+    
+    // Remove all landmark databases
+    CDesCArray* uris = dbManager->ListDatabasesL();
+    CleanupStack::PushL(uris);
+    for (TInt i = 0; i < uris->Count(); i++)
+        {
+        dbManager->DeleteDatabaseL((*uris)[i]);
+        }
+    CleanupStack::PopAndDestroy(uris);
+        
+    // Create and initialize a default database
+    dbManager->CreateDatabaseL(KDefaultDb);
+    dbManager->SetDefaultDatabaseL(KDefaultDb);
+    CPosLandmarkDatabase* database = CPosLandmarkDatabase::OpenL();
+    CleanupStack::PushL(database);
+    ExecuteAndDeleteLD(database->InitializeL());
+    
+    // Add 5 landmarks - will generate ids 1 - 5
+    const TInt KFive = 5;
+    for (TInt j = 0; j < KFive; j++)
+        {
+        CPosLandmark* lm = CPosLandmark::NewLC();
+        lm->SetLandmarkNameL(_L("Landmark"));
+        database->AddLandmarkL(*lm);
+        CleanupStack::PopAndDestroy(lm);
+        }
+        
+    // Add 5 categories
+    CPosLmCategoryManager* catManager = CPosLmCategoryManager::NewL(*database);
+    CleanupStack::PushL(catManager);
+    for (TInt k = 0; k < KFive; k++)
+        {
+        CPosLandmarkCategory* category = CPosLandmarkCategory::NewLC();
+        TBuf<15> name;
+        name = _L("Category ");
+        name.AppendNum(k);
+        category->SetCategoryNameL(name);
+        catManager->AddCategoryL(*category);
+        CleanupStack::PopAndDestroy(category);
+        }
+       
+    CleanupStack::PopAndDestroy(3, dbManager);
+    }
+
+// End of File
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp11.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,435 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp11.h"
+#include <EPos_CPosLandmarkDatabase.h> 
+#include <EPos_CPosLMItemIterator.h> 
+#include <EPos_CPosLandmark.h>
+#include <EPos_TPosLMSortPref.h> 
+
+//CONSTANTS
+const TInt KNoCategoriesTp11  = 100;
+const TInt KNoLandmarksTp11 = 100;     
+
+_LIT(KCategoryIteratorNumOfItemsErr, "The iterator returns incorrect number of items");
+_LIT(KCategoryIteratorIdErr, "A category id not in the database returned from the iterator");         
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp11::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp11::StartL()
+    {  
+    iLog->Log(_L("***** Testing CPosCategoryManager::CategoryIteratorL() and CPosCategoryManager::ReferencedCategoryIteratorL()***** "));
+    
+    RemoveDefaultDbL();
+    RemoveAllLmDatabasesL();              
+    
+    iDatabase = CPosLandmarkDatabase::OpenL();        
+    if (iDatabase->IsInitializingNeeded())
+       {
+        iLog->Log(_L("ExecuteAndDeleteLD(iDatabase->InitializeL())"));
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       } 
+       
+    iLog->Log(_L("Default database opened and initialized "));       
+               
+    iCategoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    ExecuteAndDeleteLD(iDatabase->CompactL());          
+    
+    MakeEmptyLmDatabaseL( *iDatabase, *iCategoryManager);        
+    
+    iLog->Log(_L("Deleting all landmarks and categories to create empty database Done"));
+    
+    AddCategoriesL();
+    AddLandmarksL();   
+
+    iLog->Log(_L("** 1: Testing CPosCategoryManager::CategoryIteratorL() (Iteration of categories)"));
+    IterateCategoriesL();
+    
+    iLog->Log(_L("** 2: Testing CPosCategoryManager::ReferencedCategoryIteratorL() (Iteration of referenced categories)"));   
+    
+    IterateReferencedCategoriesL();
+
+    iLog->Log(_L("** 3: Testing CPosCategoryManager::CategoryIteratorL() (Iteration of categories)"));    
+    IterateSetOfCategoriesL();
+	
+	iLog->Log(_L("** 4: Testing CPosCategoryManager::CategoryIteratorL() (Iteration of Sorted categories)"));    
+    IterateSortedCategoriesL();    
+    
+    iLog->Log(_L("** 5: Testing CPosCategoryManager::ReferencedCategoryIteratorL() (Iteration of Sorted referenced categories)"));    
+    IterateReferencedSortedCategoriesL();    
+
+    delete iDatabase;
+    iDatabase = NULL;
+
+    // Remove lm db
+    RemoveDefaultDbL();    
+    }
+
+// ---------------------------------------------------------
+// CPosTp11::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp11::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+    iCategories.ResetAndDestroy();
+    iCategories.Close();
+    
+    iReferencedCategories.Close();
+    iLandmarks.ResetAndDestroy();
+    iLandmarks.Close();
+    
+    delete iDatabase;
+    iDatabase = NULL;
+    
+    delete iCategoryManager; 
+    iCategoryManager = NULL;      
+    }
+    
+
+// ---------------------------------------------------------
+// CPosTp11::AddCategoriesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp11::AddCategoriesL()
+    {    
+    _LIT(KName, "CategoryTP11 - %d");
+    TInt err=KErrLocked;
+    for (TInt i=0; i<KNoCategoriesTp11; i++)
+        {
+        TBuf<100> categoryName;
+        categoryName.Format(KName,i);
+       
+        CPosLandmarkCategory* lmc = CPosLandmarkCategory::NewLC();
+        lmc->SetCategoryNameL(categoryName);
+        err = KErrLocked;
+        while (err == KErrLocked)
+            {
+            TRAP(err, iCategoryManager->AddCategoryL(*lmc));
+            }
+    
+        iCategories.Append(lmc);       
+        CleanupStack::Pop(lmc);
+        }    
+    iLog->Log(_L("Adding categories to database done "));
+    }
+
+// ---------------------------------------------------------
+// CPosTp11::AddLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp11::AddLandmarksL()
+    {
+    _LIT(KLmName, "LmTP11 - %d");
+    TInt err = KErrLocked;
+    for (TInt i=0; i<KNoLandmarksTp11; i++)
+        {
+        TBuf<100> lmName;
+        lmName.Format(KLmName,i);
+       
+        CPosLandmark* landmark = CPosLandmark::NewLC();
+        landmark->SetLandmarkNameL(lmName); 
+
+        if (i % 2)
+            {
+            landmark->AddCategoryL(iCategories[i]->CategoryId());
+            iReferencedCategories.Append(*iCategories[i]);
+            }
+
+        err = KErrLocked;
+        while (err == KErrLocked)
+            {
+            TRAP(err, iDatabase->AddLandmarkL(*landmark));
+            }
+        iLandmarks.Append(landmark);
+        CleanupStack::Pop(landmark);
+        }
+    iLog->Log(_L("Adding categories to landmarks and adding landmarks to database done "));
+    }
+
+
+// ---------------------------------------------------------
+// CPosTp11::IterateCategoriesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp11::IterateCategoriesL()
+    {
+    CPosLmItemIterator* iter = iCategoryManager->CategoryIteratorL();
+    CleanupStack::PushL(iter);
+
+    AssertTrueSecL(iter->NumOfItemsL() == (TUint)iCategories.Count(), KCategoryIteratorNumOfItemsErr);
+
+    CheckIteratorItemsL(*iter);
+ 
+    iter->Reset();
+
+    CheckIteratorItemsL(*iter);
+
+    CleanupStack::PopAndDestroy(iter);
+    }
+
+// ---------------------------------------------------------
+// CPosTp11::IterateReferencedCategoriesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp11::IterateReferencedCategoriesL()
+    {
+    CPosLmItemIterator* iter = iCategoryManager->ReferencedCategoryIteratorL();
+    CleanupStack::PushL(iter);
+
+    AssertTrueSecL(iter->NumOfItemsL() == (TUint)(iCategories.Count()/2), KCategoryIteratorNumOfItemsErr);
+    
+    CheckIteratorItemsL(*iter);
+ 
+    iter->Reset();
+
+    CheckIteratorItemsL(*iter);
+    
+    CleanupStack::PopAndDestroy(iter);
+    }
+
+// ---------------------------------------------------------
+// CPosTp11::CheckIteratorItemsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp11::CheckIteratorItemsL(CPosLmItemIterator& iter)
+    {
+    TPosLmItemId id = iter.NextL();
+    while (id != KPosLmNullItemId)
+        {
+        CPosLandmarkCategory* source = InternalGet(id);
+        AssertTrueSecL(source != NULL, KCategoryIteratorIdErr);
+        CPosLandmarkCategory* target = iCategoryManager->ReadCategoryLC(id);
+        CompareCategoriesL(*source, *target);
+        CleanupStack::PopAndDestroy(target); 
+        id = iter.NextL();
+        }    
+    }
+
+// ---------------------------------------------------------
+// CPosTp11::IterateSetOfCategoriesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp11::IterateSetOfCategoriesL()
+    {
+    CPosLmItemIterator* iter = iCategoryManager->CategoryIteratorL();
+    CleanupStack::PushL(iter);
+
+    const TInt startIndex=11;
+    const TInt numOfItems=34;
+
+    RArray<TPosLmItemId> ids;
+    CleanupClosePushL(ids);
+
+    iter->GetItemIdsL(ids, startIndex, numOfItems);
+    
+    AssertTrueSecL(ids.Count() == numOfItems, KCategoryIteratorNumOfItemsErr);
+
+    for (TInt i=0; i<numOfItems; i++)
+        {
+        CPosLandmarkCategory* source = InternalGet(ids[i]);
+        AssertTrueSecL(source != NULL, KCategoryIteratorIdErr);
+        
+        CPosLandmarkCategory* target = iCategoryManager->ReadCategoryLC(ids[i]);
+        CompareCategoriesL(*source, *target);
+        CleanupStack::PopAndDestroy(target); 
+        }
+
+    CleanupStack::PopAndDestroy(2, iter);
+
+    }
+
+// ---------------------------------------------------------
+// InternalSort
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt InternalSortL(const CPosLandmarkCategory& aSource, const CPosLandmarkCategory& aTarget)
+    {
+    TPtrC sourceName, targetName;
+    
+    User::LeaveIfError(aSource.GetCategoryName(sourceName));  
+    User::LeaveIfError(aTarget.GetCategoryName(targetName));
+    
+    return sourceName.Compare(targetName);
+    }
+
+// ---------------------------------------------------------
+// CPosTp11::IterateSortedCategoriesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp11::IterateSortedCategoriesL()
+    {
+    
+    TLinearOrder<CPosLandmarkCategory> order(InternalSortL);
+    iCategories.Sort(order);
+
+    CPosLmItemIterator* iter = iCategoryManager->CategoryIteratorL(
+                                CPosLmCategoryManager::ECategorySortOrderNameDescending);
+    CleanupStack::PushL(iter);
+
+    AssertTrueSecL(iter->NumOfItemsL() == (TUint)iCategories.Count(), KCategoryIteratorNumOfItemsErr);
+
+    TInt lastIndex=iCategories.Count()-1;
+    for (TInt i=lastIndex; i>=0; i--)
+        {
+        CPosLandmarkCategory* target = iCategoryManager->ReadCategoryLC(iter->NextL());
+       
+        CompareCategoriesL(*iCategories[i], *target);
+        CleanupStack::PopAndDestroy(target); 
+        }
+    CleanupStack::PopAndDestroy(iter);
+
+    iter = iCategoryManager->CategoryIteratorL(
+                                CPosLmCategoryManager::ECategorySortOrderNameAscending);
+    CleanupStack::PushL(iter);
+
+    for (TInt j=0; j < iCategories.Count(); j++)
+        {
+        CPosLandmarkCategory* target = iCategoryManager->ReadCategoryLC(iter->NextL());
+       
+        CompareCategoriesL(*iCategories[j], *target);
+        CleanupStack::PopAndDestroy(target); 
+        }
+
+    CleanupStack::PopAndDestroy(iter);
+    
+    }
+
+// ---------------------------------------------------------
+// CPosTp11::IterateReferencedSortedCategoriesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp11::IterateReferencedSortedCategoriesL()
+    {
+    TLinearOrder<CPosLandmarkCategory> order(InternalSortL);
+
+    iReferencedCategories.Sort(order);
+
+    CPosLmItemIterator* iter = iCategoryManager->ReferencedCategoryIteratorL(
+                                CPosLmCategoryManager::ECategorySortOrderNameDescending);
+    CleanupStack::PushL(iter);
+
+    AssertTrueSecL(iter->NumOfItemsL() == (TUint)(iCategories.Count()/2), KCategoryIteratorNumOfItemsErr);
+
+    TInt lastIndex=iReferencedCategories.Count()-1;
+    for (TInt i=lastIndex; i>=0; i--)
+        {
+        CPosLandmarkCategory* target = iCategoryManager->ReadCategoryLC(iter->NextL());
+       
+        CompareCategoriesL(iReferencedCategories[i], *target);
+        CleanupStack::PopAndDestroy(target); 
+        }
+
+    CleanupStack::PopAndDestroy(iter);
+
+    iter = iCategoryManager->ReferencedCategoryIteratorL(
+                                CPosLmCategoryManager::ECategorySortOrderNameAscending);
+    CleanupStack::PushL(iter);
+
+    for (TInt j=0; j < iReferencedCategories.Count(); j++)
+        {
+        CPosLandmarkCategory* target = iCategoryManager->ReadCategoryLC(iter->NextL());
+       
+        CompareCategoriesL(iReferencedCategories[j], *target);
+        CleanupStack::PopAndDestroy(target); 
+        }
+
+    CleanupStack::PopAndDestroy(iter);
+    }
+
+// ---------------------------------------------------------
+// CPosT11::InternalGet
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+CPosLandmarkCategory* CPosTp11::InternalGet(TPosLmItemId id)
+    {
+    for (TInt i=0; i<iCategories.Count(); i++)
+        {   
+        if (iCategories[i]->CategoryId() == id)
+            {
+            return iCategories[i];
+            }
+        }
+  
+    return NULL;
+    }
+                                 
+// ---------------------------------------------------------
+// CPosT11::CreateEmptyLmDatabaseL() 
+// ---------------------------------------------------------
+//
+void CPosTp11::MakeEmptyLmDatabaseL( CPosLandmarkDatabase& aLdb,
+                                     CPosLmCategoryManager& aCatMgr )    
+    {
+    
+    CPosLmOperation* operation1 = aLdb.RemoveAllLandmarksL();
+    //Remove all landmarks from default db : Sync call     
+    ExecuteAndDeleteLD( operation1 ); 
+
+    RArray<TPosLmItemId> catArray;
+    CleanupClosePushL( catArray );
+    
+    // Get all the categories from the database and delete them if necessary 
+    CPosLmItemIterator* iter = aCatMgr.CategoryIteratorL();
+    CleanupStack::PushL( iter );
+
+    TUint count = iter->NumOfItemsL();
+    if ( count > 0 )
+        { // can only be called if there are some items
+        iter->GetItemIdsL( catArray, 0, count );
+        }
+        
+    // Remove all the categories here Sync call     
+    ExecuteAndDeleteLD(aCatMgr.RemoveCategoriesL( catArray ));    
+    CleanupStack::PopAndDestroy( 2 ); // catArray, iter
+    }
+    
+    
+    
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp111.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,462 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp111.h"
+#include <f32file.h>
+#include <CentralRepository.h>
+#include <EPos_CPosLmDatabaseManager.h>
+
+// CONSTANTS
+const TUid KCRUidLandmarks = {0x101FE99B}; 
+const TUint32 KLandmarkDefaultUri = 0x00000001;
+_LIT(KFactoryDbUri, "file://c:eposlm.ldb");
+//_LIT(KRepositoryFile, "c:\\private\\10202BE9\\[101FE99B].txt"); // 10202BE9 = SID for Central repository
+_LIT(KRepositoryFile, "c:\\private\\10202BE9\\101FE99B.txt"); // 10202BE9 = SID for Central repository
+
+// Resource files
+//_LIT(KDefaultDbNameRsc, "eposlmdefaultdbname.rsc");
+//_LIT(KDefaultDbRsc, "eposlmdefaultdb.rsc");
+_LIT(KCompactDbLevelRsc, "eposlmcompactdblevel.rsc");
+//_LIT(KInternalServicesRsc, "eposlmintservices.rsc");
+_LIT(KGlobalCategoriesRsc, "eposlmglobalcategories.r01");
+_LIT(KAsynchOperationsRsc, "eposlmasyncops.rsc");
+
+// Resource files owned by process
+_LIT(KLmServerRsc, "eposlmserver.rsc");
+
+// ECom plugins
+//_LIT(KConverterRsc, "101FDF85.rsc");
+//_LIT(KLocalAccessProvRsc, "101FDF89.rsc");
+//_LIT(KLocalDbManagerProvRsc, "101FE977.rsc");
+//_LIT(KLocalSearchProvRsc, "101FDF86.rsc");
+
+// Libraries
+_LIT(KLandmarksDll, "eposlandmarks.dll");
+_LIT(KLocalSearchDll, "eposlmsearchlib.dll");
+_LIT(KXmlConverterDll, "eposlmconverter.dll");
+_LIT(KDbManagerDll, "eposlmdbmanlib.dll");
+_LIT(KIntServicesDll, "eposlmintservices.dll");
+_LIT(KLocalAccessDll, "eposlmlocalaccess.dll");
+_LIT(KLocalAccessProvDll, "eposlmlocalaccessprovider.dll");
+_LIT(KLocalDbManProvDll, "eposlmlocaldbmanprovider.dll");
+_LIT(KLocalSearchProvDll, "eposlmlocalsearchprovider.dll");
+_LIT(KMultiDbSearchDll, "eposlmmultidbsearch.dll");
+_LIT(KRecognizer, "eposlmrecognizer.dll");
+_LIT(KLmServer, "eposlmserver.exe");
+// KDummyDll should not be found! Only used to generate language sensitive 
+// resource file for global categories. Removed during build process.
+// _LIT(KDummyDll, "eposlandmarks_dummy.dll");
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp111::GetName
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp111::GetName(TDes& aName) const
+    {
+    _LIT(KTestName, "TP111 - Data caging and central repository");
+    aName = KTestName;
+    }
+
+// ---------------------------------------------------------
+// CPosTp111::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp111::StartL()
+    {
+#ifdef __WINS__
+    LogErrorAndLeave(_L("This is a target test! Emulator execution is not supported."), KErrNotSupported);
+#endif
+    
+    // TC step 1
+    iLog->Put(_L("TC step 1"));
+    TBool testSuccessful = FindResourceFilesL();
+    
+    // TC step 2
+    iLog->Put(_L("TC step 2"));
+    TBool subTestSuccessful = FindServerResourceFilesL();
+    if (testSuccessful)
+        {
+        testSuccessful = subTestSuccessful;
+        }
+    
+    // TC step 3
+    /*
+    iLog->Put(_L("TC step 3"));
+    subTestSuccessful = FindEcomPluginsL();
+    if (testSuccessful)
+        {
+        testSuccessful = subTestSuccessful;
+        }
+    */
+    
+    // TC step 4
+    iLog->Put(_L("TC step 4"));
+    subTestSuccessful = FindLibrariesL();
+    if (testSuccessful)
+        {
+        testSuccessful = subTestSuccessful;
+        }
+        
+    // TC steps 5-13
+    iLog->Put(_L("TC step 5-13"));
+    TestCentralRepositoryL();    
+    
+    // Summarize
+    if (!testSuccessful)
+        {
+        LogErrorAndLeave(_L("Test failed with errors"));
+        }
+	}
+
+// ---------------------------------------------------------
+// CPosTp111::FindResourceFilesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TBool CPosTp111::FindResourceFilesL()
+    {
+    iLog->Put(_L("FindResourceFilesL"));
+    CDesCArray* rscFiles = new (ELeave) CDesCArrayFlat(8);
+    CleanupStack::PushL(rscFiles);
+    //rscFiles->AppendL(KDefaultDbNameRsc);
+    //rscFiles->AppendL(KDefaultDbRsc);
+    rscFiles->AppendL(KCompactDbLevelRsc);
+    //rscFiles->AppendL(KInternalServicesRsc);
+    rscFiles->AppendL(KGlobalCategoriesRsc);
+    rscFiles->AppendL(KAsynchOperationsRsc);
+   
+    _LIT(KExpectedPath, "\\resource\\");
+    
+    TBool result = FindFilesAndVerifyPathL(*rscFiles, KExpectedPath);
+
+    CleanupStack::PopAndDestroy(rscFiles);
+    return result;
+    }
+    
+// ---------------------------------------------------------
+// CPosTp111::FindServerResourceFilesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TBool CPosTp111::FindServerResourceFilesL()
+    {
+    iLog->Put(_L("FindServerResourceFilesL"));
+    CDesCArray* rscFiles = new (ELeave) CDesCArrayFlat(8);
+    CleanupStack::PushL(rscFiles);
+    rscFiles->AppendL(KLmServerRsc);
+   
+    // To be updated when SID is known
+    _LIT(KExpectedPath, "\\private\\101FDF81\\");
+    
+    TBool result = FindFilesAndVerifyPathL(*rscFiles, KExpectedPath);
+
+    CleanupStack::PopAndDestroy(rscFiles);
+    return result;
+    }
+
+// ---------------------------------------------------------
+// CPosTp111::FindEcomPluginsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TBool CPosTp111::FindEcomPluginsL()
+    {
+    iLog->Put(_L("FindEcomPluginsL"));
+    CDesCArray* ecomPlugins = new (ELeave) CDesCArrayFlat(8);
+    CleanupStack::PushL(ecomPlugins);
+    //ecomPlugins->AppendL(KConverterRsc);
+    //ecomPlugins->AppendL(KLocalAccessProvRsc);
+    //ecomPlugins->AppendL(KLocalDbManagerProvRsc);
+    //ecomPlugins->AppendL(KLocalSearchProvRsc);
+    
+    // To be updated with correct SID
+    _LIT(KExpectedPath, "\\private\\101FDF81\\import\\"); // 101FDF81 = SID for LM srv
+    
+    TBool result = FindFilesAndVerifyPathL(*ecomPlugins, KExpectedPath);
+
+    CleanupStack::PopAndDestroy(ecomPlugins);
+    return result;
+    }    
+
+
+// ---------------------------------------------------------
+// CPosTp111::FindLibrariesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TBool CPosTp111::FindLibrariesL()
+    {
+    iLog->Put(_L("FindLibrariesL"));
+    CDesCArray* libraries = new (ELeave) CDesCArrayFlat(8);
+    CleanupStack::PushL(libraries);
+    libraries->AppendL(KLandmarksDll);
+    libraries->AppendL(KLocalSearchDll);
+    libraries->AppendL(KXmlConverterDll);
+    libraries->AppendL(KDbManagerDll);
+    libraries->AppendL(KIntServicesDll);
+    libraries->AppendL(KLocalAccessDll);
+    libraries->AppendL(KLocalAccessProvDll);
+    libraries->AppendL(KLocalDbManProvDll);
+    libraries->AppendL(KLocalSearchProvDll);
+    libraries->AppendL(KMultiDbSearchDll);
+    libraries->AppendL(KRecognizer);
+    libraries->AppendL(KLmServer);
+    
+    _LIT(KExpectedPath, "\\sys\\bin\\");
+    
+    TBool result = FindFilesAndVerifyPathL(*libraries, KExpectedPath);
+
+    CleanupStack::PopAndDestroy(libraries);
+    return result;
+    }
+
+// ---------------------------------------------------------
+// CPosTp111::TestCentralRepositoryL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp111::TestCentralRepositoryL()
+    {
+    iLog->Put(_L("TestCentralRepositoryL"));
+    _LIT(KDbUri, "file://c:landmarks.ldb");
+    CPosLmDatabaseManager* dbMan = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(dbMan);
+    
+    // 5. Set default database
+    HPosLmDatabaseInfo* dbInfo = HPosLmDatabaseInfo::NewLC(KDbUri);
+    TRAPD(err, dbMan->CreateDatabaseL(*dbInfo));
+    CleanupStack::PopAndDestroy(dbInfo);
+    if (err != KErrNone && err != KErrAlreadyExists)
+        {
+        LogErrorAndLeave(_L("Creating db failed"), err);
+        }
+    dbMan->SetDefaultDatabaseUriL(KDbUri);
+    
+    // 6. Retrieve default db using LMFW
+    VerifyDefaultDbUriL(KDbUri, dbMan);
+    
+    // 7. Retrieve default db using central repository
+    CRepository* repository = CRepository::NewLC(KCRUidLandmarks);    
+    VerifyDefaultDbUriL(KDbUri, repository);
+
+    // 8. Reset central repository
+    User::LeaveIfError(repository->Reset(KLandmarkDefaultUri));
+    
+    // 9. Retrieve default db using LMFW
+    VerifyDefaultDbUriL(KFactoryDbUri, dbMan);
+    
+    // 10. Retrieve default db using central repository
+    VerifyDefaultDbUriL(KFactoryDbUri, repository);
+    
+    // 11. Remove central repository file on c:
+    RFs fileServer;
+    User::LeaveIfError(fileServer.Connect());
+    CleanupClosePushL(fileServer);
+    CFileMan* fileMan = CFileMan::NewL(fileServer);
+    CleanupStack::PushL(fileMan);    
+    err = fileMan->Delete(KRepositoryFile);
+    if (err != KErrNone && err != KErrNotFound)
+        {
+        LogErrorAndLeave(_L("Unable to delete repository file"), err);
+        }
+    CleanupStack::PopAndDestroy(2, &fileServer);
+    
+    // 12. Retrieve default db using LMFW
+    VerifyDefaultDbUriL(KFactoryDbUri, dbMan);
+    
+    // 13. Retrieve default db using central repository
+    VerifyDefaultDbUriL(KFactoryDbUri, repository);
+    
+    CleanupStack::PopAndDestroy(2, dbMan);
+    }
+    
+// ---------------------------------------------------------
+// CPosTp111::FindFileL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp111::FindFileL(const TDesC& aFile, TInt& aNrOfMatches, TDes& aPath)
+    {
+    iLog->Put(_L("FindFileL"));
+    TBuf<200> msg;
+    RFs fileServer;
+    User::LeaveIfError(fileServer.Connect());
+    CleanupClosePushL(fileServer);
+    TDriveList driveList;
+    fileServer.DriveList(driveList);
+    CDirScan* scanner = CDirScan::NewLC(fileServer);
+
+    // Search all drives for the file.    
+    aNrOfMatches = 0;
+    aPath = KNullDesC;
+    for (TInt i = EDriveA; i <= EDriveZ; i++)
+        {
+        // Investigate if drive exists on this terminal.
+        if (driveList[i])
+            {
+            TChar driveLetter;
+            RFs::DriveToChar(i, driveLetter);
+            TBuf<4> root;
+            root.Append(driveLetter);
+            root.Append(_L(":\\"));
+            scanner->SetScanDataL(root, KEntryAttNormal, ESortByName|EAscending);
+            
+            // List all files in each folder on the drive
+            CFileList* files = NULL;
+            scanner->NextL(files);
+            while (files)
+                {
+                CleanupStack::PushL(files);
+                TPtrC currentFolder = scanner->FullPath();
+                _LIT(KSearching, "Searching for file %S in folder %S");
+                msg.Format(KSearching, &aFile, &currentFolder);
+                iLog->Put(msg);                
+                
+                // Search the currentFolder for the specified file
+                TFindFile fileSearcher(fileServer);
+                TInt res = fileSearcher.FindByDir(aFile, currentFolder);
+                if (res == KErrNone)
+                    {
+                    _LIT(KFileFound, "Found file %S in %S");
+                    msg.Format(KFileFound, &aFile, &currentFolder);
+                    iLog->Put(msg);
+                    
+                    aNrOfMatches++;
+                    aPath = currentFolder;
+                    }
+                
+                CleanupStack::PopAndDestroy(files);
+                files = NULL;
+                scanner->NextL(files);
+                }          
+            }
+        }
+        
+    CleanupStack::PopAndDestroy(2, &fileServer);
+    }
+    
+// ---------------------------------------------------------
+// CPosTp111::FindFilesAndVerifyPathL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TBool CPosTp111::FindFilesAndVerifyPathL(
+    const CDesCArray& aFileNames, 
+    const TDesC& aExpectedPath)
+    {
+    iLog->Put(_L("FindFileL"));
+    TBool successful = ETrue;
+    TBuf<100> msg;
+    TBool nrOfMatches = 0;
+    TBuf<200> path;
+    
+    for (TInt i = 0; i < aFileNames.Count(); i++)
+        {
+        TPtrC fileName = aFileNames[i];
+        FindFileL(fileName, nrOfMatches, path);
+        if (path.Length() == 0)
+            {
+            _LIT(KFormat, "File %S not found.");
+            msg.Format(KFormat, &fileName);
+            iLog->PutError(msg);
+            successful = EFalse;
+            }
+        else
+            {
+            if (nrOfMatches > 1)
+                {
+                _LIT(KFormat, "Found %d copies of file %S.");
+                msg.Format(KFormat, nrOfMatches, &fileName);
+                iLog->PutError(msg);
+                successful = EFalse;
+                }
+            else
+                {
+                if (aExpectedPath != path)
+                    {
+                    _LIT(KFormat, "Found file %S at the wrong place, %S");
+                    msg.Format(KFormat, &fileName, &path);
+                    iLog->PutError(msg);
+                    successful = EFalse;
+                    }
+                }
+            }
+        }
+        
+    return successful;    
+    }
+    
+// ---------------------------------------------------------
+// CPosTp111::VerifyDefaultDbUriL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp111::VerifyDefaultDbUriL(
+    const TDesC& aExpectedUri, 
+    CPosLmDatabaseManager* aDbMan)
+    {
+    HBufC* dbUriFromLMFW = aDbMan->DefaultDatabaseUriLC();
+    if (*dbUriFromLMFW != aExpectedUri)
+        {
+        TBuf<100> msg;
+        _LIT(KFormat, "Unexpected db uri from LMFW, %S != %S");
+        msg.Format(KFormat, dbUriFromLMFW, &aExpectedUri);
+        LogErrorAndLeave(msg);
+        }
+    CleanupStack::PopAndDestroy(dbUriFromLMFW);
+    }
+
+// ---------------------------------------------------------
+// CPosTp111::VerifyDefaultDbUriL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp111::VerifyDefaultDbUriL(
+    const TDesC& aExpectedUri, 
+    CRepository* aRepository)
+    {
+    TBuf16<NCentralRepositoryConstants::KMaxUnicodeStringLength> dbUriFromRep;
+    User::LeaveIfError(aRepository->Get(KLandmarkDefaultUri, dbUriFromRep));
+    if (dbUriFromRep != aExpectedUri)
+        {
+        TBuf<100> msg;
+        _LIT(KFormat, "Unexpected db uri from repository, %S != %S");
+        msg.Format(KFormat, dbUriFromRep, &aExpectedUri);
+        LogErrorAndLeave(msg);
+        }
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp114.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,544 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp114.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLmDatabaseManager.h>
+#include <connect/sbdefs.h>
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp114::GetName
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp114::GetName(TDes& aName) const
+    {
+    _LIT(KTestName, "Tp114 - Landmark database backup/restore");
+    aName = KTestName;
+    }
+
+// ---------------------------------------------------------
+// CPosTp114::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp114::CloseTest()
+    {
+    iLog->Put(_L("CloseTest"));
+    }
+    
+/**
+* Performes the test by connecting to the landmarks server
+
+Test LMREQ152: Landmarks DB backup 
+Backup and restore of all Landmarks databases using the system backup shall be possible.
+The clients are responsible for release of databases during backup/restore. 
+A database directly accessed by a client will not be possible to backup/restore.
+
+*/
+// ---------------------------------------------------------
+// CPosTp114::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp114::StartL()
+    {  
+    TBool backupTest = FileExistL();
+    
+    iLog->Put(_L("DoTestL"));
+    
+    CPosTp114BackupListener* backupListener = CPosTp114BackupListener::NewL(iLog);
+    CleanupStack::PushL(backupListener);
+    
+    if (backupTest)
+        {
+        iLog->Put(_L("Backup Test"));
+        // Backup part
+        InitBackupTestL();
+        }
+    else
+        {
+        iLog->Put(_L("Restore Test"));
+        iLog->Put(_L("Connnect to eposlmserver"));
+        // Restore part
+        CPosLmDatabaseManager* dbManager = CPosLmDatabaseManager::NewL();
+        CleanupStack::PushL(dbManager);
+
+        CDesCArray* dbArray = dbManager->ListDatabasesLC();
+        //TInt count = dbArray->Count();
+        CleanupStack::PopAndDestroy(dbArray);
+        CleanupStack::PopAndDestroy(dbManager);
+        }
+    
+    // Check landmark server
+	_LIT(KPosLandmarksServerName, "*eposlmserver*");
+	
+	User::After(5000000); // XXX Add some time here
+	TBool result = ETrue;
+	TBool alive = ServerAlive(KPosLandmarksServerName);
+    if(alive) iLog->Put(_L("ERROR: Server is stil alive"));
+
+
+    if (backupTest)
+        {
+        _LIT(KStartBackup, "Now start backup but first press OK");
+        TUtfwUserAnswer answer = iUserInfo->ShowDialog(KStartBackup, EUtfwDialogTypeOk, EFalse);
+   
+        if(answer == EUtfwUserAnswerOk)
+            {
+            backupListener->StartCheckingL();
+            User::After(10000000); // Wait some time here so that backup is really finished
+            }
+        }
+    else
+        {
+        _LIT(KStartRestore, "Now start restore, but first press OK");
+        TUtfwUserAnswer answer = iUserInfo->ShowDialog(KStartRestore, EUtfwDialogTypeOk, EFalse);
+   
+        if(answer == EUtfwUserAnswerOk)
+            {
+            backupListener->StartCheckingL();
+            User::After(10000000); // Wait some time here so that restore is really finished
+            }
+        }
+
+     if (backupTest)
+        {
+        // Prepare dbs for restore part
+        PrepareForRestoreTestL();
+        }
+    else
+        {
+        // Check correct dbs and landmarks restored
+        result = CheckDbAfterRestoreL();
+        }
+        
+    backupListener->Cancel();
+    CleanupStack::PopAndDestroy(backupListener);
+    
+    if (!result) LogErrorAndLeave(_L("Errors found when restoring"));
+	}
+
+// ---------------------------------------------------------
+// CPosTp114::CheckDbAfterRestoreL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TBool CPosTp114::CheckDbAfterRestoreL()
+    {
+    // Check that three landmark dbs exist
+    // Check that all dbs contain three landmarks
+    _LIT(DB1, "file://C:backupDb1.ldb");
+    _LIT(DB2, "file://C:backupDb2.ldb");
+    _LIT(DB3, "file://C:backupDb3.ldb");
+    
+    iLog->Put(_L("CheckDbAfterRestoreL"));
+    
+    CPosLmDatabaseManager* dbManager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(dbManager);
+    
+    TBool result = ETrue;
+
+    CDesCArray* dbArray = dbManager->ListDatabasesLC();
+    TInt count = dbArray->Count();
+    //AssertTrueL(count == 3, _L("Wrong nr of dbs after restore"));
+    if (count != 3)
+        {
+        iLog->Put(_L("ERROR: Wrong nr of dbs after restore"));
+        result = EFalse;
+        }
+    
+    TInt pos;
+
+    if (dbArray->Find(DB1, pos) != 0 ||
+        dbArray->Find(DB2, pos) != 0 ||
+        dbArray->Find(DB3, pos) != 0)
+            {
+            iLog->Put(_L("Could not find db"));
+            result = EFalse;
+            }
+    
+    CleanupStack::PopAndDestroy(dbArray);
+    CleanupStack::PopAndDestroy(dbManager);
+    
+    CPosLandmarkDatabase* db = CPosLandmarkDatabase::OpenL(DB1);
+    CleanupStack::PushL(db);
+    
+    CPosLmItemIterator* iter = db->LandmarkIteratorL();
+    CleanupStack::PushL(iter);
+    
+    TInt numberOfElements = iter->NumOfItemsL();    
+    if (numberOfElements != 3) 
+        {
+        iLog->Put(_L("Wrong number of landmarks in DB1 "));
+        result = EFalse;
+        }
+    
+    CleanupStack::PopAndDestroy(iter);
+    CleanupStack::PopAndDestroy(db);
+        
+    return result;
+    }
+
+// ---------------------------------------------------------
+// CPosTp114::InitBackupTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp114::InitBackupTestL()
+    {
+    iLog->Put(_L("InitBackupTestL"));
+    // Use this part to create three landmark dbs with some landmarks
+    _LIT(DB1, "backupDb1.ldb");
+    _LIT(DB2, "backupDb2.ldb");
+    _LIT(DB3, "backupDb3.ldb");
+    
+    // Firts remove all landmark dbs
+    CPosLmDatabaseManager* dbManager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(dbManager);
+
+    CDesCArray* dbArray = dbManager->ListDatabasesLC();
+    TInt count = dbArray->Count();
+
+    for (TInt i=0;i<count;i++)
+        {
+        dbManager->DeleteDatabaseL((*dbArray)[i]);
+        }
+
+    CleanupStack::PopAndDestroy(dbArray);
+    
+    HPosLmDatabaseInfo* dbInfo = HPosLmDatabaseInfo::NewLC(DB1);
+	dbManager->CreateDatabaseL(*dbInfo);
+	CleanupStack::PopAndDestroy(dbInfo);
+	
+	dbInfo = HPosLmDatabaseInfo::NewLC(DB2);
+	dbManager->CreateDatabaseL(*dbInfo);
+	CleanupStack::PopAndDestroy(dbInfo);
+	
+	dbInfo = HPosLmDatabaseInfo::NewLC(DB3);
+	dbManager->CreateDatabaseL(*dbInfo);
+	CleanupStack::PopAndDestroy(dbInfo);
+	
+    // Add landmarks to db1
+    CPosLandmarkDatabase* db = CPosLandmarkDatabase::OpenL(DB1);
+    CleanupStack::PushL(db);
+    if (db->IsInitializingNeeded()) ExecuteAndDeleteLD(db->InitializeL());
+    
+	CPosLandmark* lm1 = CPosLandmark::NewLC();
+    lm1->SetLandmarkNameL(_L("TP114_Db1_Lm1"));
+   	db->AddLandmarkL(*lm1);
+   	CleanupStack::PopAndDestroy(lm1);
+   	CPosLandmark* lm2 = CPosLandmark::NewLC();
+    lm2->SetLandmarkNameL(_L("TP114_Db1_Lm2"));
+   	db->AddLandmarkL(*lm2);
+   	CleanupStack::PopAndDestroy(lm2);
+   	CPosLandmark* lm3 = CPosLandmark::NewLC();
+    lm3->SetLandmarkNameL(_L("TP114_Db1_Lm3"));
+   	db->AddLandmarkL(*lm3);
+   	CleanupStack::PopAndDestroy(lm3);
+   	ExecuteAndDeleteLD(db->CompactL());
+    CleanupStack::PopAndDestroy(db);
+    
+    // Add landmarks to db2
+    db = CPosLandmarkDatabase::OpenL(DB2);
+    CleanupStack::PushL(db);
+    if (db->IsInitializingNeeded()) ExecuteAndDeleteLD(db->InitializeL());
+    
+	lm1 = CPosLandmark::NewLC();
+    lm1->SetLandmarkNameL(_L("TP114_Db2_Lm1"));
+   	db->AddLandmarkL(*lm1);
+   	CleanupStack::PopAndDestroy(lm1);
+   	lm2 = CPosLandmark::NewLC();
+    lm2->SetLandmarkNameL(_L("TP114_Db2_Lm2"));
+   	db->AddLandmarkL(*lm2);
+   	CleanupStack::PopAndDestroy(lm2);
+   	lm3 = CPosLandmark::NewLC();
+    lm3->SetLandmarkNameL(_L("TP114_Db2_Lm3"));
+   	db->AddLandmarkL(*lm3);
+   	CleanupStack::PopAndDestroy(lm3);
+   	ExecuteAndDeleteLD(db->CompactL());
+    CleanupStack::PopAndDestroy(db);
+    
+    // Add landmarks to db3
+    db = CPosLandmarkDatabase::OpenL(DB3);
+    CleanupStack::PushL(db);
+    if (db->IsInitializingNeeded()) ExecuteAndDeleteLD(db->InitializeL());
+    
+	lm1 = CPosLandmark::NewLC();
+    lm1->SetLandmarkNameL(_L("TP114_Db3_Lm1"));
+   	db->AddLandmarkL(*lm1);
+   	CleanupStack::PopAndDestroy(lm1);
+   	lm2 = CPosLandmark::NewLC();
+    lm2->SetLandmarkNameL(_L("TP114_Db3_Lm2"));
+   	db->AddLandmarkL(*lm2);
+   	CleanupStack::PopAndDestroy(lm2);
+   	lm3 = CPosLandmark::NewLC();
+    lm3->SetLandmarkNameL(_L("TP114_Db3_Lm3"));
+   	db->AddLandmarkL(*lm3);
+   	CleanupStack::PopAndDestroy(lm3);
+   	ExecuteAndDeleteLD(db->CompactL());
+    CleanupStack::PopAndDestroy(db);
+    
+	CleanupStack::PopAndDestroy(dbManager);
+	iLog->Put(_L("InitBackupTestL Done"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp114::PrepareForRestoreTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp114::PrepareForRestoreTestL()
+    {
+    _LIT(DB1, "backupDb1.ldb");
+    _LIT(DB2, "backupDb2.ldb");
+    
+    iLog->Put(_L("PrepareForRestoreTestL"));
+        
+    // Remove db2 and remove some landmarks from db1
+    CPosLmDatabaseManager* dbManager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(dbManager);
+    
+    //dbManager->DeleteDatabaseL(DB2);
+    DeleteFileL(_L("c:\\private\\100012a5\\DBS_101FE978_backupDb2.ldb"));
+    
+    CPosLandmarkDatabase* db = CPosLandmarkDatabase::OpenL(DB1);
+    CleanupStack::PushL(db);
+    
+    CPosLmItemIterator* iter = db->LandmarkIteratorL();
+    CleanupStack::PushL(iter);
+        
+    RArray<TPosLmItemId> arrayOfIds;
+    CleanupClosePushL(arrayOfIds);
+    
+    TInt numberOfElements = iter->NumOfItemsL();    
+    iter->GetItemIdsL(arrayOfIds, 0, (numberOfElements-1));
+    
+    ExecuteAndDeleteLD(db->RemoveLandmarksL(arrayOfIds));
+    TBuf<100> buf;
+    buf.Format(_L("Removing %d nr of landmarks from db1"), arrayOfIds.Count());
+    iLog->Put(buf);
+    
+    CleanupStack::PopAndDestroy(&arrayOfIds);
+    CleanupStack::PopAndDestroy(iter);
+    CleanupStack::PopAndDestroy(db);
+	CleanupStack::PopAndDestroy(dbManager);
+	
+	iLog->Put(_L("PrepareForRestoreTestL Done"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp114::FileExistL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TBool CPosTp114::FileExistL()
+    {
+    _LIT(KIniFile, "c:\\TP114backupTest.ini");
+    
+    RFs fileserver;
+	RFile file;
+	TBool exist = EFalse;
+	
+	User::LeaveIfError(fileserver.Connect());
+	TInt err = file.Open(fileserver, KIniFile, EFileWrite);
+	if (err == KErrNotFound)
+		{
+		TInt err = file.Create(fileserver, KIniFile, EFileWrite);
+		exist = ETrue;
+	    file.Close();
+	    iLog->Put(_L("File has been created"));
+		}
+    else
+        {
+        file.Close();
+        TInt err = fileserver.Delete(KIniFile);
+        if (err != KErrNone) 
+            {
+            TBuf<50> buf;
+            buf.Format(_L("Could not delete c:\\TP114backupTest.ini, err %d"), err);
+            iLog->Put(buf);
+            }
+        else
+            {
+            iLog->Put(_L("File has been deleted"));
+            }
+            
+        exist = EFalse;
+        }
+
+	fileserver.Close();
+	return exist;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPosTp114BackupListener
+// 
+// -----------------------------------------------------------------------------
+//
+CPosTp114BackupListener::CPosTp114BackupListener()
+    : CActive(EPriorityLow)
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// CPosTp114BackupListener::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CPosTp114BackupListener::ConstructL(MUtfwLog* aLog)
+    {
+    TUid categoryUid;
+    categoryUid.iUid = KUidSystemCategoryValue;
+    User::LeaveIfError(iProperty.Attach(categoryUid,
+                                        conn::KUidBackupRestoreKey));
+    CActiveScheduler::Add(this);
+    iLog = aLog;
+    iBackupIsRunning = EFalse;
+
+    // initial subscription and process current property value
+    RunL();
+    }
+
+// Two-phased constructor
+CPosTp114BackupListener* CPosTp114BackupListener::NewL(MUtfwLog* aLog)
+    {
+    CPosTp114BackupListener* self =
+        new (ELeave) CPosTp114BackupListener;
+    CleanupStack::PushL(self);
+    self->ConstructL(aLog);
+    
+    CleanupStack::Pop(self);
+    return self;
+    }
+
+// Destructor
+CPosTp114BackupListener::~CPosTp114BackupListener()
+    {
+    Cancel();
+    iProperty.Close();
+    }
+
+// -----------------------------------------------------------------------------
+// CPosTp114BackupListener::RunL
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CPosTp114BackupListener::RunL()
+    {
+   iLog->Put(_L("RunL"));
+    // resubscribe before processing new value to prevent missing updates.
+    iProperty.Subscribe(iStatus);
+    SetActive();
+        
+    if (IsBackupRunning())
+        {
+        iLog->Put(_L("Backup (Restore) is Running...."));
+        iBackupIsRunning = ETrue;
+        }
+        
+    //Check if back to normal (after backup/restore)
+    if (!IsBackupRunning() && iBackupIsRunning)
+        {
+        iLog->Put(_L("After backup/restore"));
+        iBackupIsRunning = EFalse;
+        CActiveScheduler::Stop();
+        }
+    }
+ 
+// -----------------------------------------------------------------------------
+// CPosTp114BackupListener::StartCheckingL
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CPosTp114BackupListener::StartCheckingL()
+    {
+    CActiveScheduler::Start();
+    }
+
+// -----------------------------------------------------------------------------
+// CPosTp114BackupListener::IsBackupRunning
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TBool CPosTp114BackupListener::IsBackupRunning()
+    {
+    TBool backupIsRunning = EFalse;
+    TInt value = 0;
+    TInt err = iProperty.Get(value);
+
+    if (err == KErrNone)
+        {
+        // Use mask to get rid of unwanted info
+        TInt partType = conn::KBURPartTypeMask & value;
+
+        // The values EBURUnset or EBURNormal mean
+        // that no backup/restore is ongoing.
+        if (partType == conn::EBURUnset || partType == conn::EBURNormal)
+            {
+            backupIsRunning = EFalse;
+            }
+        else
+            {
+            backupIsRunning = ETrue;
+            }
+        }
+    else if (err == KErrNotFound)
+        {
+        // If property is not found, assume that no backup is in progress
+        backupIsRunning = EFalse;
+        }
+    else
+        {
+        // Some other error occured. In this case,
+        // assume that backup is running.
+        backupIsRunning = ETrue;
+        }
+
+    return backupIsRunning;
+    }
+
+// -----------------------------------------------------------------------------
+// CPosTp114BackupListener::DoCancel
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CPosTp114BackupListener::DoCancel()
+    {
+    iLog->Put(_L("DoCancel"));
+    iProperty.Cancel();
+    }
+    
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp116.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,546 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp116.h"
+#include <EPos_CPosLandmarkDatabase.h> 
+#include <d32dbms.h>
+#include <StifLogger.h>
+//  CONSTANTS
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp116::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp116::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+    delete iActiveLmEvent;
+    iActiveLmEvent = NULL;
+    }
+
+// ---------------------------------------------------------
+// CPosTp116::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp116::StartL()
+    {
+    // First remove all landmark databases
+    RemoveAllLmDatabasesL();
+    	
+    // Start test
+    LandmarkEventTestL();
+   
+    // Remove all landmark databases
+   RemoveAllLmDatabasesL();
+	}
+
+// ---------------------------------------------------------
+// CPosTp28::LandmarkEventTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp116::LandmarkEventTestL()
+    {
+    iLog->Log(_L("LandmarkEventTestL"));
+
+  //  _LIT(KDatabase, "file://c:eposlm.ldb");
+    _LIT(KDatabase, "file://c:Tp116Test.ldb");
+    _LIT(KDatabase1, "file://c:Tp116LmDb_1.ldb");
+
+#ifdef __WINS__
+    // For WINS use C drive
+    _LIT(KDatabase1_OnMedia, "file://c:Tp116LmDb_1_OnMedia.ldb");
+    _LIT(KDatabase2_OnMedia, "file://c:Tp116LmDb_2_OnMedia.ldb");
+#else
+    //Media card must therefore be inserted
+    _LIT(KDatabase1_OnMedia, "file://F:Tp116LmDb_1_OnMedia.ldb");
+    _LIT(KDatabase2_OnMedia, "file://F:Tp116LmDb_2_OnMedia.ldb");
+#endif
+    
+    _LIT(KDatabase2, "file://c:Tp116LmDb_2.ldb");
+    _LIT(KDatabase3, "file://c:Tp116LmDb_3.ldb");
+    _LIT(KDatabase4, "file://c:Tp116LmDb_4.ldb");
+    
+    _LIT(KDatabase5, "file://c:Tp116DummyLmDb_5.ldb");
+    _LIT(KDatabase6, "file://c:Tp116DummyLmDb_6.ldb");
+    _LIT(KDatabase7, "file://c:Tp116DummyLmDb_7.ldb");
+	_LIT(KDatabase8, "file://c:Tp116DummyLmDb_8.ldb");
+	_LIT(KDatabase9, "file://c:Tp116DummyLmDb_9.ldb");
+	_LIT(KDatabase10, "file://c:Tp116DummyLmDb_10.ldb");
+	_LIT(KDatabase11, "file://c:Tp116DummyLmDb_11.ldb");
+	_LIT(KDatabase12, "file://c:Tp116DummyLmDb_12.ldb");
+	_LIT(KDatabase13, "file://c:Tp116LmDb_13.ldb");
+	_LIT(KDatabase14, "file://c:Tp116LmDb_14.ldb");
+	
+	_LIT(KRemoteDb1, "test://RemoteDb1.ldb");
+    _LIT(KRemoteDbName1, "RemoteDb1New");
+    _LIT(KNonExistingDb, "ANonExistingDb.ldb");
+
+    TInt err = KErrNone;
+    iLog->Log(_L("Warning: this test case requires E: drive"));
+    
+    iActiveLmEvent = CTP116ActiveLmEvent::NewL(iLog);
+
+    CPosLmDatabaseManager* manager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(manager);
+    
+    HPosLmDatabaseInfo* dbInfo = HPosLmDatabaseInfo::NewLC(KDatabase);
+    manager->CreateDatabaseL(*dbInfo);
+    CleanupStack::PopAndDestroy(dbInfo);
+    
+    // This db must exist, set here so that when setting default db next it is different from before
+    // otherwise no event
+    manager->SetDefaultDatabaseUriL(KDatabase);
+
+    // 1) iActiveLmEvent will listen for multiple database events
+    iActiveLmEvent->Start();
+    
+    iLog->Log(_L("2) EDatabaseCreated "));
+    // 2) Create a landmark database, db1 on the c: drive
+    HPosLmDatabaseInfo* dbInfo1 = HPosLmDatabaseInfo::NewLC(KDatabase1);
+    manager->CreateDatabaseL(*dbInfo1);
+    CleanupStack::PopAndDestroy(dbInfo1);
+    
+    //iActiveLmEvent->iExpectedEvent = CPosLmDatabaseManager::EDatabaseCreated;
+    iActiveLmEvent->iExpectedEvent = EPosLmDbDatabaseRegistered;
+    
+    iActiveLmEvent->SetExpectedDatabase(KDatabase1);
+    CActiveScheduler::Start();
+      
+   	iLog->Log(_L("3) ENewDefaultDbLocation "));
+    // 3) Set the defaultdb to point at the newly created db
+    manager->SetDefaultDatabaseUriL(KDatabase1);
+    iActiveLmEvent->iExpectedEvent = EPosLmDbNewDefaultDbLocation;
+    iActiveLmEvent->SetExpectedDatabase(KDatabase1);
+    CActiveScheduler::Start();
+
+
+    iLog->Log(_L("5) EDatabaseCreated "));
+    // 5) Copy db1 to media drive
+    manager->CopyDatabaseL(KDatabase1, KDatabase1_OnMedia);
+    iActiveLmEvent->iExpectedEvent = EPosLmDbDatabaseRegistered;
+    iActiveLmEvent->SetExpectedDatabase(KDatabase1_OnMedia);
+    CActiveScheduler::Start();
+
+    iLog->Log(_L("6) EDatabaseDeleted "));
+    // 6) Delete copied db from media card
+    manager->DeleteDatabaseL(KDatabase1_OnMedia);
+    iActiveLmEvent->iExpectedEvent = EPosLmDbDatabaseUnregistered;
+    iActiveLmEvent->SetExpectedDatabase(KDatabase1_OnMedia);
+    CActiveScheduler::Start();
+
+    iLog->Log(_L("7) EDatabaseCreated - EDatabaseDeleted"));
+   // 7) Move db1 to media drive as db1_2-> First copy it and then delete (in same operation phase)
+    manager->CopyDatabaseL(KDatabase1, KDatabase2_OnMedia);
+    manager->DeleteDatabaseL(KDatabase1);
+    iActiveLmEvent->iExpectedEvent = EPosLmDbDatabaseRegistered;
+    iActiveLmEvent->SetExpectedDatabase(KDatabase2_OnMedia);
+    CActiveScheduler::Start();
+    iActiveLmEvent->iExpectedEvent = EPosLmDbDatabaseUnregistered;
+    iActiveLmEvent->SetExpectedDatabase(KDatabase1);
+    CActiveScheduler::Start();
+
+    iLog->Log(_L("8) EDatabaseCreated"));
+    //8) Create a db, db2, on media card
+    
+    HPosLmDatabaseInfo* dbInfo2 = HPosLmDatabaseInfo::NewLC(KDatabase2);
+    manager->CreateDatabaseL(*dbInfo2);
+    CleanupStack::PopAndDestroy(dbInfo2);
+    iActiveLmEvent->iExpectedEvent = EPosLmDbDatabaseRegistered;
+    iActiveLmEvent->SetExpectedDatabase(KDatabase2);
+    CActiveScheduler::Start();
+
+    iLog->Log(_L("9) ENewDefaultDbLocation"));
+    // 9) Set the defaultdb to point at the newly created db
+    manager->SetDefaultDatabaseUriL(KDatabase2);
+    iActiveLmEvent->iExpectedEvent = EPosLmDbNewDefaultDbLocation;
+    iActiveLmEvent->SetExpectedDatabase(KDatabase2);
+    CActiveScheduler::Start();
+    
+    iLog->Log(_L("9b) EPosLmDbSettingsModified"));
+    // 9b) Set the defaultdb to point at the newly created db
+    HPosLmDatabaseInfo* dbInfoChange = HPosLmDatabaseInfo::NewLC(KDatabase2);
+    TPosLmDatabaseSettings settings = dbInfo2->Settings();
+    _LIT(KNewDbName, "TP116 Disp Name");
+    TPosLmDatabaseName bufName(KNewDbName);
+    settings.SetDatabaseName(bufName);
+    manager->ModifyDatabaseSettingsL(KDatabase2, settings);
+    CleanupStack::PopAndDestroy(dbInfoChange);
+    
+    iActiveLmEvent->iExpectedEvent = EPosLmDbSettingsModified;
+    iActiveLmEvent->SetExpectedDatabase(KDatabase2);
+    CActiveScheduler::Start();
+
+    iLog->Log(_L("10) EDatabaseDeleted"));
+    // 10) Delete db2 from media card
+    manager->DeleteDatabaseL(KDatabase2);
+    iActiveLmEvent->iExpectedEvent = EPosLmDbDatabaseUnregistered;
+    iActiveLmEvent->SetExpectedDatabase(KDatabase2);
+    CActiveScheduler::Start();
+
+    iLog->Log(_L("11) EDatabaseCreated"));
+    // 11) Copy db1_2 to C:\ as db1_3
+    manager->CopyDatabaseL(KDatabase2_OnMedia, KDatabase3);
+    iActiveLmEvent->iExpectedEvent = EPosLmDbDatabaseRegistered;
+    iActiveLmEvent->SetExpectedDatabase(KDatabase3);
+    CActiveScheduler::Start();
+
+    iLog->Log(_L("12) EDatabaseDeleted"));
+    // 12) Move db1_2 from media to C:\ drive as db1_4 -> First 
+    // copy it and then delete (in same operation phase)
+    manager->CopyDatabaseL(KDatabase2_OnMedia, KDatabase4);
+    manager->DeleteDatabaseL(KDatabase2_OnMedia);
+    iActiveLmEvent->iExpectedEvent = EPosLmDbDatabaseRegistered;
+    iActiveLmEvent->SetExpectedDatabase(KDatabase4);
+    CActiveScheduler::Start();
+    iActiveLmEvent->iExpectedEvent = EPosLmDbDatabaseUnregistered;
+    iActiveLmEvent->SetExpectedDatabase(KDatabase2_OnMedia);
+    CActiveScheduler::Start();
+
+    iLog->Log(_L("13) ENewDefaultDbLocation"));
+    // 13) Set the defaultdb to point at db1_4
+    manager->SetDefaultDatabaseUriL(KDatabase4);
+    iActiveLmEvent->iExpectedEvent = EPosLmDbNewDefaultDbLocation;
+    iActiveLmEvent->SetExpectedDatabase(KDatabase4);
+    CActiveScheduler::Start();
+
+    iLog->Log(_L("14) EDatabaseDeleted"));
+    // 14) Delete db1_4
+    manager->DeleteDatabaseL(KDatabase4);
+    iActiveLmEvent->iExpectedEvent = EPosLmDbDatabaseUnregistered;
+    iActiveLmEvent->SetExpectedDatabase(KDatabase4);
+    CActiveScheduler::Start();
+    
+	iLog->Log(_L("15) --------- "));
+	// Try to create a queue of events that is bigger than the internal queue buffer
+	// should causes unknown event to happen and no databaseUri
+    HPosLmDatabaseInfo* dbInfo13 = HPosLmDatabaseInfo::NewLC(KDatabase13);
+    manager->CreateDatabaseL(*dbInfo13);
+    CleanupStack::PopAndDestroy(dbInfo13);
+    iActiveLmEvent->iExpectedEvent = EPosLmDbDatabaseRegistered;
+    iActiveLmEvent->SetExpectedDatabase(KDatabase13);
+    iActiveLmEvent->iQueueTest = ETrue;
+    CActiveScheduler::Start();
+
+	HPosLmDatabaseInfo* dbInfo4 = HPosLmDatabaseInfo::NewLC(KDatabase4);
+	HPosLmDatabaseInfo* dbInfo5 = HPosLmDatabaseInfo::NewLC(KDatabase5);
+	HPosLmDatabaseInfo* dbInfo6 = HPosLmDatabaseInfo::NewLC(KDatabase6);
+	HPosLmDatabaseInfo* dbInfo7 = HPosLmDatabaseInfo::NewLC(KDatabase7);
+	HPosLmDatabaseInfo* dbInfo8 = HPosLmDatabaseInfo::NewLC(KDatabase8);
+	HPosLmDatabaseInfo* dbInfo9 = HPosLmDatabaseInfo::NewLC(KDatabase9);
+	
+	manager->CreateDatabaseL(*dbInfo4);
+	manager->CreateDatabaseL(*dbInfo5);
+	manager->DeleteDatabaseL(KDatabase4);
+	manager->CopyDatabaseL(KDatabase5, KDatabase10);
+	manager->CreateDatabaseL(*dbInfo6);
+	manager->DeleteDatabaseL(KDatabase5);
+	manager->CreateDatabaseL(*dbInfo7);
+	manager->DeleteDatabaseL(KDatabase6);
+	manager->CopyDatabaseL(KDatabase10, KDatabase11);
+	manager->CreateDatabaseL(*dbInfo8);
+	manager->DeleteDatabaseL(KDatabase7);
+	manager->CreateDatabaseL(*dbInfo9);
+	manager->CopyDatabaseL(KDatabase10, KDatabase12);
+	manager->DeleteDatabaseL(KDatabase9);
+	manager->DeleteDatabaseL(KDatabase8);
+	
+	CleanupStack::PopAndDestroy(dbInfo9);
+	CleanupStack::PopAndDestroy(dbInfo8);
+	CleanupStack::PopAndDestroy(dbInfo7);
+	CleanupStack::PopAndDestroy(dbInfo6);
+	CleanupStack::PopAndDestroy(dbInfo5);
+	CleanupStack::PopAndDestroy(dbInfo4);
+		
+    // Check for unknown
+	iActiveLmEvent->iExpectedEvent = EPosLmDbUnknownEvent;
+    iActiveLmEvent->SetExpectedDatabase(KNullDesC);
+    iActiveLmEvent->Start();
+    CActiveScheduler::Start();
+	
+	iActiveLmEvent->iQueueTest = EFalse;
+	
+	TInt errorsFound = iActiveLmEvent->GetErrors();
+    
+    iActiveLmEvent->DoCancel();
+    
+    iActiveLmEvent->Start();
+    
+	iLog->Log(_L("16) EDatabaseCreated "));
+    // 16) Check correct event after unknown event
+    // Note: This does not work, new events are added to the queue after unknown event, so instead we 
+    // cancel the event handling
+    HPosLmDatabaseInfo* dbInfo14 = HPosLmDatabaseInfo::NewLC(KDatabase14);
+    manager->CreateDatabaseL(*dbInfo14);
+    CleanupStack::PopAndDestroy(dbInfo14);
+    iActiveLmEvent->iExpectedEvent = EPosLmDbDatabaseRegistered;
+    iActiveLmEvent->SetExpectedDatabase(KDatabase14);
+    CActiveScheduler::Start();
+    
+    errorsFound = iActiveLmEvent->GetErrors();
+    
+    iActiveLmEvent->DoCancel();
+    delete iActiveLmEvent;
+    iActiveLmEvent = NULL;
+    iActiveLmEvent = CTP116ActiveLmEvent::NewL(iLog);
+    
+    // Start listening
+    iActiveLmEvent->Start();
+        
+	iLog->Log(_L("17) --------- "));
+    // 17) Test that event handling is working for "remote" provider (use the test provider)
+    //  as well
+    HPosLmDatabaseInfo* db1 = HPosLmDatabaseInfo::NewLC(KRemoteDb1);
+	manager->CreateDatabaseL(*db1);
+    // Register remote db
+    manager->RegisterDatabaseL(*db1);
+    
+    iActiveLmEvent->iExpectedEvent = EPosLmDbDatabaseRegistered;
+    iActiveLmEvent->SetExpectedDatabase(KRemoteDb1);
+    CActiveScheduler::Start();
+    
+    iLog->Log(_L("18) --------- "));
+    // 18) Test that event handling is working for "remote" provider (use the test provider)
+    //  as well
+    // Modify Settings
+    TPosLmDatabaseSettings remoteSettings = db1->Settings();
+    TPosLmDatabaseName remoteName(KRemoteDbName1);
+    remoteSettings.SetDatabaseName(remoteName);
+    manager->ModifyDatabaseSettingsL(KRemoteDb1, remoteSettings);
+    
+    iActiveLmEvent->iExpectedEvent = EPosLmDbSettingsModified;
+    iActiveLmEvent->SetExpectedDatabase(KRemoteDb1);
+    CActiveScheduler::Start();
+    CleanupStack::PopAndDestroy(db1);
+    
+    iLog->Log(_L("19) --------- "));
+    // 19) Test that event handling is working for "remote" provider (use the test provider)
+    //  as well
+    // Unregister remote db
+    manager->UnregisterDatabaseL(KRemoteDb1);
+    iActiveLmEvent->iExpectedEvent = EPosLmDbDatabaseUnregistered;
+    iActiveLmEvent->SetExpectedDatabase(KRemoteDb1);
+    CActiveScheduler::Start();
+       
+	iLog->Log(_L("20) --------- "));
+    // 20) Set the defaultdb to point at a non-existing db
+    TRAP(err, manager->SetDefaultDatabaseUriL(KNonExistingDb));
+    if (err != KErrNotFound) 
+    {
+    	iLog->Log(_L("SetDefaultDatabaseL(KNonExistingDb) should leave with KErrNotFound"));
+    	User::Leave(err);
+    }
+    iLog->Log(_L("20 Done"));
+    
+    CleanupStack::PopAndDestroy(manager);
+        
+	errorsFound += iActiveLmEvent->GetErrors();
+	
+	delete iActiveLmEvent;
+    iActiveLmEvent = NULL;
+	
+	if (errorsFound != KErrNone) 
+		{
+		iLog->Log(_L("Errors were found in TP116"));
+    	User::Leave(-1);
+		}
+
+    }
+
+// -----------------------------------------------------------------------------
+// CTP116ActiveLmEvent::NewL
+//
+//(other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+CTP116ActiveLmEvent* CTP116ActiveLmEvent::NewL(CStifLogger* aLog)
+    {
+    CTP116ActiveLmEvent* self = new(ELeave) CTP116ActiveLmEvent(aLog);
+    CleanupStack::PushL(self);
+    self->ConstructL();
+    CleanupStack::Pop();
+    return self;
+    }
+
+// -----------------------------------------------------------------------------
+// CTP116ActiveLmEvent::ConstructL
+//
+//(other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CTP116ActiveLmEvent::ConstructL()
+    {
+    iManager = CPosLmDatabaseManager::NewL();
+    }
+
+// -----------------------------------------------------------------------------
+// CTP116ActiveLmEvent::CTP116ActiveLmEvent
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+
+CTP116ActiveLmEvent::CTP116ActiveLmEvent(CStifLogger* aLog) : 
+    CActive(EPriorityNormal),
+    iLog(aLog)
+    {   
+    CActiveScheduler::Add(this);
+    iGlobalErr=KErrNone;
+    iQueueTest = EFalse;
+    }
+
+// Destructor
+CTP116ActiveLmEvent::~CTP116ActiveLmEvent()
+    {
+    Cancel();
+    delete iManager;
+    iManager = NULL;
+    }
+
+// ---------------------------------------------------------
+// CTP116ActiveLmEvent::SetExpectedDatabase
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CTP116ActiveLmEvent::SetExpectedDatabase(const TDesC& aDatabaseUri)
+    {
+    iExpectedDatabase.Zero();
+    
+    iExpectedDatabase.Append(aDatabaseUri);
+    }
+
+// ---------------------------------------------------------
+// CTP116ActiveLmEvent::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CTP116ActiveLmEvent::Start()                          
+    {
+    // Get ready for event
+    iManager->NotifyDatabaseEvent(iEvent, iStatus);
+    SetActive();
+    }
+
+// ---------------------------------------------------------
+// CTP116ActiveLmEvent::RunL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CTP116ActiveLmEvent::RunL()
+    {
+     iLog->Log(_L("CTP116ActiveLmEvent::RunL"));
+
+    TPosLmDatabaseEvent event = iEvent;
+    VerifyEvent(event);
+    if (!iQueueTest)
+    	{
+    	// Get ready for next event
+    	iManager->NotifyDatabaseEvent(iEvent, iStatus); 
+    	SetActive();
+    	}
+    }
+
+// ---------------------------------------------------------
+// CActiveLmOperation::DoCancel
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CTP116ActiveLmEvent::DoCancel()
+    {
+    iLog->Log(_L("CTP116ActiveLmEvent::DoCancel"));
+    iManager->CancelNotifyDatabaseEvent();
+    }
+
+// ---------------------------------------------------------
+// CActiveLmOperation::GetErrors
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt CTP116ActiveLmEvent::GetErrors()
+    {
+	return iGlobalErr;
+    }
+    
+// ---------------------------------------------------------
+// CTP116ActiveLmEvent::VerifyEvent
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CTP116ActiveLmEvent::VerifyEvent(TPosLmDatabaseEvent event)
+    {
+    iLog->Log(_L("CTP116ActiveLmEvent::VerifyEvent"));
+    TBuf<150> buffe;
+    
+    buffe.Format(_L("VerifyEvent Event: %d "), event.iEventType);
+	iLog->Log(buffe);
+	    
+    // Verify event here
+    if (event.iEventType != iExpectedEvent) 
+        {
+        buffe.Zero();
+        buffe.Format(_L("ERROR: Wrong event: exp %d got %d"),iExpectedEvent, event.iEventType);
+        iLog->Log(buffe);
+        iGlobalErr++;
+        }
+    	
+	if (event.iEventType != EPosLmDbUnknownEvent)	
+		{
+		
+	    HBufC16* dbUri = iManager->DatabaseUriFromLastEventLC();
+	    buffe.Zero();
+	    buffe.Format(_L("Event: %d URI %S"), event.iEventType, dbUri);
+	    iLog->Log(buffe);
+    
+		if (iExpectedDatabase.CompareC(*dbUri) != 0)
+			{
+			iLog->Log(_L("ERROR: Wrong db name"));
+			buffe.Zero();
+			buffe.Append(_L("Should be "));
+			buffe.Append(iExpectedDatabase);
+			iLog->Log(buffe);
+	        iGlobalErr++;
+			}
+	    CleanupStack::PopAndDestroy(dbUri);			
+		}
+	else
+		{
+		buffe.Format(_L("EUnknownEvent Event: %d "), event.iEventType);
+	    iLog->Log(buffe);
+		}
+        
+	CActiveScheduler::Stop();
+   
+	iLog->Log(_L("VerifyEvent Done"));
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp117.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,724 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp117.h"
+#include <EPos_CPosLandmarkDatabase.h> 
+#include <d32dbms.h>
+#include <StifLogger.h>
+
+//#include <ss_std.h>
+//  CONSTANTS
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp117::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp117::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+    delete iActiveLmEvent;
+    iActiveLmEvent = NULL;
+    
+    iThread.Close();
+    }
+
+// ---------------------------------------------------------
+// CPosTp117::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp117::StartL()
+    {
+    
+    // Remove all landmark databases
+   	RemoveAllLmDatabasesL();  
+    LandmarkQueuedEvenTestL();
+    
+    // Remove all landmark databases
+   	RemoveAllLmDatabasesL();
+    LandmarkQueuedEvenTest2L();
+
+    // Remove all landmark databases
+   	RemoveAllLmDatabasesL();
+    // Start test
+    LandmarkEventTestL();
+    
+    // Remove all landmark databases
+   	RemoveAllLmDatabasesL();
+   	
+    // Pancic test
+    iActiveLmEvent = CTP117ActiveLmEvent::NewL(iLog);
+    iExpectedExitType = ExitPanic;
+    iLog->Log(_L("Panic test 1"));
+    iTestCase = 1;
+    /* EPosEventNotifierAlreadyHasOutstandingRequest defined in EPos_LandmarksServerPanics.h */
+    iExpectedErrorCode = 2;
+    ResumeThreadAndVerifyExit();
+    
+    delete iActiveLmEvent;
+    iActiveLmEvent = NULL;
+    
+    
+    if (iErrorsFound != KErrNone)
+    	{
+   
+        iLog->Log(_L("Errors found in TP117"));
+        User::Leave(-1);
+
+    	}
+	}
+
+// ---------------------------------------------------------
+// CPosTp28::LandmarkQueuedEvenTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp117::LandmarkQueuedEvenTestL()
+    {
+    iLog->Log(_L(">>>>>>>>>>LandmarkQueuedEvenTestL<<<<<<<<<"));
+    
+    _LIT(KDatabase1, "c:Tp117DummyLmDb_1.ldb");
+    _LIT(KDatabase2, "c:Tp117DummyLmDb_2.ldb");
+    _LIT(KDatabase3, "c:Tp117DummyLmDb_3.ldb");
+    _LIT(KDatabase4, "c:Tp117DummyLmDb_4.ldb");
+	
+	CTP117ActiveLmEvent* client1 = CTP117ActiveLmEvent::NewL(iLog);
+	CleanupStack::PushL(client1);
+
+    CPosLmDatabaseManager* manager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(manager);
+    
+    // Creates db2, which should exist (deleted below)
+    client1->Start();
+    HPosLmDatabaseInfo* dbInfo2 = HPosLmDatabaseInfo::NewLC(KDatabase2);
+    manager->CreateDatabaseL(*dbInfo2);
+    CleanupStack::PopAndDestroy(dbInfo2);
+    client1->iExpectedEvent = EPosLmDbDatabaseRegistered;
+    client1->SetExpectedDatabase(KDatabase2);
+    CActiveScheduler::Start();
+
+	// *********Start test*************
+	iLog->Log(_L("*********Start test*************"));
+	// 1) Enable client1
+	client1->Start();
+	client1->iExpectedEvent = EPosLmDbDatabaseRegistered;
+    client1->SetExpectedDatabase(KDatabase1);
+	
+    // 2) Client2 creates a database, db1
+    iLog->Log(_L("Client2 creates a database, db1"));
+    HPosLmDatabaseInfo* dbInfo1 = HPosLmDatabaseInfo::NewLC(KDatabase1);
+    manager->CreateDatabaseL(*dbInfo1);
+    CleanupStack::PopAndDestroy(dbInfo1);
+    
+    // 3) Client1 NotifyDatabaseEvent, should be event from create operation in step2
+    iLog->Log(_L("Client1 will get EDatabaseCreated event"));
+    CActiveScheduler::Start();
+        
+    iLog->Log(_L("Delete, Copy, Create db"));
+    //4) Client2 deletes db2
+    manager->DeleteDatabaseL(KDatabase2);
+    
+    //5) Client2 copies db1 to db3
+    manager->CopyDatabaseL(KDatabase1, KDatabase3);
+    
+    //6) Client2 creates db4
+    HPosLmDatabaseInfo* dbInfo4 = HPosLmDatabaseInfo::NewLC(KDatabase4);
+    manager->CreateDatabaseL(*dbInfo4);
+    CleanupStack::PopAndDestroy(dbInfo4);
+    
+    // 7) Client1 NotifyDatabaseEvent, should be event from delete operation in step4
+    iLog->Log(_L("7) Client1 NotifyDatabaseEvent"));
+    client1->Start();
+    // Dont check URI here
+    client1->iCheckUri = EFalse;
+	client1->iExpectedEvent = EPosLmDbDatabaseUnregistered;
+    client1->SetExpectedDatabase(KDatabase2);
+    CActiveScheduler::Start();
+    
+    // 8) Client1 NotifyDatabaseEvent, should be event from copy operation in step5
+	iLog->Log(_L("8) Client1 NotifyDatabaseEvent"));
+    client1->Start();
+    // Dont check URI here
+	client1->iExpectedEvent = EPosLmDbDatabaseRegistered;
+    client1->SetExpectedDatabase(KDatabase3);
+    CActiveScheduler::Start();
+    
+    // 9) Client1 NotifyDatabaseEvent, should be event from create operation in step6
+    iLog->Log(_L("9) Client1 NotifyDatabaseEvent"));
+    // Check URI here
+    client1->iCheckUri = ETrue;
+    client1->Start();
+	client1->iExpectedEvent = EPosLmDbDatabaseRegistered;
+    client1->SetExpectedDatabase(KDatabase4);
+    CActiveScheduler::Start();
+    
+    iErrorsFound+=client1->GetErrors();
+    
+    CleanupStack::PopAndDestroy(manager);
+    CleanupStack::PopAndDestroy(client1);
+    }
+    
+// ---------------------------------------------------------
+// CPosTp28::LandmarkQueuedEvenTest2L
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp117::LandmarkQueuedEvenTest2L()
+    {
+    iLog->Log(_L(">>>>>>>>>>LandmarkQueuedEvenTest2L>>>>>>>>>>"));
+
+    _LIT(KDatabase1, "c:Tp117DummyLmDb_1.ldb");
+    _LIT(KDatabase2, "c:Tp117DummyLmDb_2.ldb");
+    _LIT(KDatabase3, "c:Tp117DummyLmDb_3.ldb");
+    _LIT(KDatabase4, "c:Tp117DummyLmDb_4.ldb");
+    _LIT(KDatabase5, "c:Tp117DummyLmDb_5.ldb");
+	
+	CTP117ActiveLmEvent* client1 = CTP117ActiveLmEvent::NewL(iLog);
+	CleanupStack::PushL(client1);
+
+    CPosLmDatabaseManager* manager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(manager);
+    
+    // Creates db2, which should exist (deleted below)
+    client1->Start();
+    HPosLmDatabaseInfo* dbInfo2 = HPosLmDatabaseInfo::NewLC(KDatabase2);
+    manager->CreateDatabaseL(*dbInfo2);
+    CleanupStack::PopAndDestroy(dbInfo2);
+    client1->iExpectedEvent = EPosLmDbDatabaseRegistered;
+    client1->SetExpectedDatabase(KDatabase2);
+    CActiveScheduler::Start();
+
+	// *********Start test*************
+	iLog->Log(_L("*********Start test*************"));
+	// 1) Enable client1
+	client1->Start();
+	client1->iExpectedEvent = EPosLmDbDatabaseRegistered;
+    client1->SetExpectedDatabase(KDatabase1);
+	
+    // 2) Client2 creates a database, db1
+    iLog->Log(_L("Client2 creates a database, db1"));
+    HPosLmDatabaseInfo* dbInfo1 = HPosLmDatabaseInfo::NewLC(KDatabase1);
+    manager->CreateDatabaseL(*dbInfo1);
+    CleanupStack::PopAndDestroy(dbInfo1);
+    
+    // 3) Client1 NotifyDatabaseEvent, should be event from create operation in step2
+    iLog->Log(_L("Client1 will get EDatabaseCreated event"));
+    CActiveScheduler::Start();
+        
+    iLog->Log(_L("Delete, Copy, Create, Delete, Copy, Delete"));
+    //4) Client2 deletes db2
+    manager->DeleteDatabaseL(KDatabase2);
+    
+    //5) Client2 copies db1 to db3
+    manager->CopyDatabaseL(KDatabase1, KDatabase3);
+    
+    //6) Client2 creates db4
+    HPosLmDatabaseInfo* dbInfo4 = HPosLmDatabaseInfo::NewLC(KDatabase4);
+    manager->CreateDatabaseL(*dbInfo4);
+    CleanupStack::PopAndDestroy(dbInfo4);
+    
+    //7) Client2 deletes db3
+    manager->DeleteDatabaseL(KDatabase3);
+    
+    //8) Client2 copies db2 to db5
+    manager->CopyDatabaseL(KDatabase1, KDatabase5);
+    
+    //7) Client2 deletes db2
+    manager->DeleteDatabaseL(KDatabase5);
+       
+    // 9) Client1 NotifyDatabaseEvent, should be unknown event since too many events in queue
+    // After unknown event the queue should be empty again, verified in step10
+    iLog->Log(_L("9) Client1 NotifyDatabaseEvent"));    
+    client1->Start();
+	client1->iExpectedEvent = EPosLmDbUnknownEvent;
+    client1->SetExpectedDatabase(KNullDesC);
+    CActiveScheduler::Start();
+    
+    //10) Client1 deletes db4
+    client1->Start();    
+	iLog->Log(_L("10) Client1 NotifyDatabaseEvent"));    
+    manager->DeleteDatabaseL(KDatabase4);
+	client1->iExpectedEvent = EPosLmDbDatabaseUnregistered;
+    client1->SetExpectedDatabase(KDatabase4);
+    CActiveScheduler::Start();   
+    
+    iErrorsFound+=client1->GetErrors();
+    
+    CleanupStack::PopAndDestroy(manager);
+    CleanupStack::PopAndDestroy(client1);
+    }
+        
+// ---------------------------------------------------------
+// CPosTp28::LandmarkEventTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp117::LandmarkEventTestL()
+    {
+    iLog->Log(_L(">>>>>>>>>>LandmarkEventTestL<<<<<<<<<<<<<<"));
+
+    _LIT(KDatabase1, "c:Tp117DummyLmDb_1.ldb");
+    _LIT(KDatabase2, "c:Tp117DummyLmDb_2.ldb");
+    _LIT(KDatabase3, "c:Tp117DummyLmDb_3.ldb");
+    _LIT(KDatabase4, "c:Tp117DummyLmDb_4.ldb");
+    
+    _LIT(KDatabase5, "c:Tp117DummyLmDb_5.ldb");
+    _LIT(KDatabase6, "c:Tp117DummyLmDb_6.ldb");
+    
+	iActiveLmEvent = CTP117ActiveLmEvent::NewL(iLog);
+
+    CPosLmDatabaseManager* manager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(manager);
+
+    // 1) Just do something to cause an event
+    iActiveLmEvent->Start();
+    HPosLmDatabaseInfo* dbInfo1 = HPosLmDatabaseInfo::NewLC(KDatabase1);
+    manager->CreateDatabaseL(*dbInfo1);
+    CleanupStack::PopAndDestroy(dbInfo1);
+    iActiveLmEvent->iExpectedEvent = EPosLmDbDatabaseRegistered;
+    iActiveLmEvent->SetExpectedDatabase(KDatabase1);
+    CActiveScheduler::Start();
+       
+    iLog->Log(_L("Test 1_1"));
+    iActiveLmEvent->Start();
+    HPosLmDatabaseInfo* dbInfo2 = HPosLmDatabaseInfo::NewLC(KDatabase2);
+    manager->CreateDatabaseL(*dbInfo2);
+    CleanupStack::PopAndDestroy(dbInfo2);
+    
+    iActiveLmEvent->iExpectedEvent = EPosLmDbDatabaseRegistered;
+    iActiveLmEvent->SetExpectedDatabase(KDatabase2);
+    CActiveScheduler::Start();
+
+    iLog->Log(_L("Cancel NotifyDatabaseEvent 1"));    
+    // Cancel NotifyDatabaseEvent
+    iActiveLmEvent->Start();
+    iActiveLmEvent->Cancel();
+	iActiveLmEvent->Start();
+	iActiveLmEvent->Cancel();
+           
+    iActiveLmEvent->Start();
+    HPosLmDatabaseInfo* dbInfo3 = HPosLmDatabaseInfo::NewLC(KDatabase3);
+    manager->CreateDatabaseL(*dbInfo3);
+    CleanupStack::PopAndDestroy(dbInfo3);
+    iActiveLmEvent->iExpectedEvent = EPosLmDbDatabaseRegistered;
+    iActiveLmEvent->SetExpectedDatabase(KDatabase3);
+    CActiveScheduler::Start();
+    
+    iLog->Log(_L("Cancel NotifyDatabaseEvent 2"));       
+    // Cancel NotifyDatabaseEvent
+    iActiveLmEvent->Start();
+    iActiveLmEvent->Cancel();
+	iActiveLmEvent->Cancel();
+        
+    iLog->Log(_L("Test event after cancel"));
+    iActiveLmEvent->Start();
+    HPosLmDatabaseInfo* dbInfo4 = HPosLmDatabaseInfo::NewLC(KDatabase4);
+    manager->CreateDatabaseL(*dbInfo4);
+    CleanupStack::PopAndDestroy(dbInfo4);
+    iActiveLmEvent->iExpectedEvent = EPosLmDbDatabaseRegistered;
+    iActiveLmEvent->SetExpectedDatabase(KDatabase4);
+    CActiveScheduler::Start();
+       
+	iLog->Log(_L("Test to call DatabaseUriFromLastEventLC before events occurr"));
+    iActiveLmEvent->Start();
+    HPosLmDatabaseInfo* dbInfo5 = HPosLmDatabaseInfo::NewLC(KDatabase5);
+    manager->CreateDatabaseL(*dbInfo5);
+    CleanupStack::PopAndDestroy(dbInfo5);
+    iActiveLmEvent->iExpectedEvent = EPosLmDbDatabaseRegistered;
+    iActiveLmEvent->SetExpectedDatabase(KDatabase5);
+    iActiveLmEvent->CallDatabaseUriFromLastEventLC();
+    // Need to cancel this notifyDatabaseEvent call
+    iActiveLmEvent->Cancel();
+    
+    iLog->Log(_L("Test event3 after DatabaseUriFromLastEventLC"));
+    iActiveLmEvent->Start();
+    HPosLmDatabaseInfo* dbInfo6 = HPosLmDatabaseInfo::NewLC(KDatabase6);   
+    manager->CreateDatabaseL(*dbInfo6);
+    CleanupStack::PopAndDestroy(dbInfo6);
+    iActiveLmEvent->iExpectedEvent = EPosLmDbDatabaseRegistered;
+    iActiveLmEvent->SetExpectedDatabase(KDatabase6);
+    CActiveScheduler::Start();
+    
+    CleanupStack::PopAndDestroy(manager);
+    
+    iErrorsFound+=iActiveLmEvent->GetErrors();
+    
+    delete iActiveLmEvent;
+    iActiveLmEvent = NULL;
+    }
+
+// ---------------------------------------------------------
+// CPosTp117::ResumeThreadAndVerifyExit
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp117::ResumeThreadAndVerifyExit()
+    {
+    iLog->Log(_L("ResumeThreadAndVerifyExit"));
+    _LIT(KPanicErr, "Method didn't Panic when expected"); 
+    _LIT(KPanicCodeErr, "Paniced with unexpected panic code");
+    _LIT(KLeaveErr, "Method didn't end correctly"); 
+    _LIT(KLeaveCodeErr, "Unexpected leave error");
+
+    CreateThreadL();
+    TRequestStatus status;
+    iThread.Logon(status);
+    iThread.Resume();
+        
+    User::WaitForRequest(status);
+    
+    // Used for debugging
+    TBuf<100> buf;
+    buf.Format(_L("ExitType %d Exit reason %d"), iThread.ExitType(), iThread.ExitReason());
+    iLog->Log(buf);
+
+    if (iExpectedExitType == ExitPanic)
+        {
+        AssertTrueSecL(iThread.ExitType() == EExitPanic, KPanicErr);
+        AssertTrueSecL(iThread.ExitReason() == iExpectedErrorCode, KPanicCodeErr);
+        }
+    else if (iExpectedExitType == ExitLeave)
+        {
+        AssertTrueSecL(iThread.ExitType() == EExitKill, KLeaveErr);
+        AssertTrueSecL(iThread.ExitReason() == iExpectedErrorCode, KLeaveCodeErr);
+        }
+    iThread.Close();
+    }
+    
+
+// ---------------------------------------------------------
+// CPosTp117::RunPanicTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+void CPosTp117::RunPanicTestL(TAny* /*aData*/)
+    {
+    
+    CPosLmDatabaseManager* manager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(manager);
+    
+    TPosLmDatabaseEvent event;
+    TRequestStatus status;
+    manager->NotifyDatabaseEvent(event, status);
+    
+    // TBD There might be timing problems on target
+    User::After(100000);
+    // The second call causes Panic EPosEventNotifierAlreadyHasOutstandingRequest
+    manager->NotifyDatabaseEvent(event, status);
+    User::After(100000);
+    
+    CleanupStack::PopAndDestroy(manager);
+
+    }
+    
+// ---------------------------------------------------------
+// LOCAL_C ThreadFunction
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+LOCAL_C TInt ThreadFunction(TAny* aData)
+    {
+    CTrapCleanup* cleanup=CTrapCleanup::New(); 
+
+    CActiveScheduler* actSch = new (ELeave) CActiveScheduler;
+    CActiveScheduler::Install(actSch);
+
+    TRAPD(err, CPosTp117::RunPanicTestL(aData));
+    
+    delete actSch;
+    delete cleanup;
+    return err;
+    }
+
+// ---------------------------------------------------------
+// CPosTp117::CreateThreadL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp117::CreateThreadL()
+    {
+    _LIT(KThreadName, "Tp117 test thread");
+    _LIT(KCreateThreadErr, "Create thread failed with %d");
+
+     TInt err=0;
+     err = iThread.Create(KThreadName, ThreadFunction, KDefaultStackSize, KMinHeapSize, KMaxHeapSize, this);
+     AssertTrueSecL(err == KErrNone, KCreateThreadErr, err);
+    }
+        
+// -----------------------------------------------------------------------------
+// CTP117ActiveLmEvent::NewL
+//
+//(other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+CTP117ActiveLmEvent* CTP117ActiveLmEvent::NewL(CStifLogger* aLog)
+    {
+    CTP117ActiveLmEvent* self = new(ELeave) CTP117ActiveLmEvent(aLog);
+    CleanupStack::PushL(self);
+    self->ConstructL();
+    CleanupStack::Pop();
+    return self;
+    }
+
+// -----------------------------------------------------------------------------
+// CTP117ActiveLmEvent::ConstructL
+//
+//(other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CTP117ActiveLmEvent::ConstructL()
+    {
+    iManager = CPosLmDatabaseManager::NewL();
+    }
+
+// -----------------------------------------------------------------------------
+// CTP117ActiveLmEvent::CTP117ActiveLmEvent
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+
+CTP117ActiveLmEvent::CTP117ActiveLmEvent(CStifLogger* aLog) : 
+    CActive(EPriorityNormal),
+    iLog(aLog)
+    {   
+    CActiveScheduler::Add(this);
+    iGlobalErr=KErrNone;
+    iCheckUri = ETrue;
+    }
+
+// Destructor
+CTP117ActiveLmEvent::~CTP117ActiveLmEvent()
+    {
+    Cancel();
+    delete iManager;
+    iManager = NULL;
+    }
+
+// ---------------------------------------------------------
+// CTP117ActiveLmEvent::SetExpectedDatabase
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CTP117ActiveLmEvent::SetExpectedDatabase(const TDesC& aDatabaseUri)
+    {
+    iExpectedDatabase.Zero();
+    iExpectedDatabase.Append(_L("file://"));
+    iExpectedDatabase.Append(aDatabaseUri);
+    }
+
+// ---------------------------------------------------------
+// CTP117ActiveLmEvent::CallNotifyDatabaseEvent
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CTP117ActiveLmEvent::CallNotifyDatabaseEvent()                          
+    {
+    iLog->Log(_L("CallNotifyDatabaseEvent"));
+    iManager->NotifyDatabaseEvent(iEvent, iStatus);
+    SetActive();
+    }
+
+// ---------------------------------------------------------
+// CTP117ActiveLmEvent::CallDatabaseUriFromLastEventLC
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CTP117ActiveLmEvent::CallDatabaseUriFromLastEventLC()
+    {
+    iLog->Log(_L("CallDatabaseUriFromLastEventLC"));
+	TRAPD(err,
+    		CleanupStack::PopAndDestroy(iManager->DatabaseUriFromLastEventLC()));
+    	if (err !=KErrNone)
+    		{
+    		if (err == KErrNotFound)
+    			{
+    			iLog->Log(_L("DatabaseUriFromLastEventLC leaved with KErrNotFound"));
+    			}
+    		else
+    			{
+    			iLog->Log(_L("DatabaseUriFromLastEventLC leaved with error"));
+    			}
+    		}
+    	else
+    		{
+    		// No error from second call to DatabaseUriFromLastEventLC
+    	
+    		}
+    }    
+
+// ---------------------------------------------------------
+// CTP117ActiveLmEvent::Start
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CTP117ActiveLmEvent::Start()                          
+    {
+    iLog->Log(_L("CTP117ActiveLmEvent::Start"));
+    // Get ready for event
+    iManager->NotifyDatabaseEvent(iEvent, iStatus);
+    SetActive();
+    }   
+
+// ---------------------------------------------------------
+// CTP117ActiveLmEvent::RunL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CTP117ActiveLmEvent::RunL()
+    {  
+	iLog->Log(_L("CTP117ActiveLmEvent::RunL"));
+    VerifyEventL();
+    }
+    
+// ---------------------------------------------------------
+// CTP117ActiveLmEvent::RunError
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt CTP117ActiveLmEvent::RunError(TInt aError)
+    {  
+	iLog->Log(_L("CTP117ActiveLmEvent::RunError"));
+	TBuf<100> buf;
+	buf.Format(_L("Errorcode in RunError: %d"), aError);
+	iLog->Log(buf);
+	iGlobalErr++;
+    //Error in RunL
+	Cancel();
+    CActiveScheduler::Stop();
+    return aError;
+    }
+    
+// ---------------------------------------------------------
+// CActiveLmOperation::DoCancel
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CTP117ActiveLmEvent::DoCancel()
+    {
+    iLog->Log(_L("CTP117ActiveLmEvent::DoCancel"));
+    iManager->CancelNotifyDatabaseEvent();
+    iLog->Log(_L("CTP117ActiveLmEvent::DoCancel Done"));
+    }
+    
+// ---------------------------------------------------------
+// CActiveLmOperation::GetErrors
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt CTP117ActiveLmEvent::GetErrors()
+    {
+	return iGlobalErr;
+    }
+
+// ---------------------------------------------------------
+// CTP117ActiveLmEvent::VerifyEvent
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CTP117ActiveLmEvent::VerifyEventL()
+    {
+    iLog->Log(_L("CTP117ActiveLmEvent::VerifyEvent"));
+    
+    TBuf<150> buffe;
+    
+    buffe.Format(_L("VerifyEvent Event: %d "), iEvent.iEventType);
+	iLog->Log(buffe);
+	
+	    // Verify event here
+    if (iEvent.iEventType != iExpectedEvent) 
+        {
+        buffe.Zero();
+        buffe.Format(_L("ERROR: Wrong event: exp %d got %d"),iExpectedEvent, iEvent.iEventType);
+        iLog->Log(buffe);
+        iGlobalErr++;
+        }
+        
+    // Only do check of DatabaseUriFromLastEventLC when event is differet from unknown
+    // because when this event occurs the uri is not set
+	if (iCheckUri && iEvent.iEventType != EPosLmDbUnknownEvent)	
+		{
+	    HBufC16* dbUri = iManager->DatabaseUriFromLastEventLC();
+	    buffe.Zero();
+	    buffe.Format(_L("Event: %d URI %S"), iEvent.iEventType, dbUri);
+	    iLog->Log(buffe);
+    
+		if (iExpectedDatabase.CompareC(*dbUri) != 0)
+			{
+			iLog->Log(_L("ERROR: Wrong db name"));
+			buffe.Zero();
+			buffe.Append(_L("Should be "));
+			buffe.Append(iExpectedDatabase);
+			iLog->Log(buffe);
+	        iGlobalErr++;
+			}
+	    CleanupStack::PopAndDestroy(dbUri);
+	    
+	    // Call DatabaseUriFromLastEventLC again
+	    TRAPD(err,
+    		CleanupStack::PopAndDestroy(iManager->DatabaseUriFromLastEventLC()));
+    	if (err !=KErrNone)
+    		{
+    		if (err == KErrNotFound)
+    			{
+    			iLog->Log(_L("Second call to DatabaseUriFromLastEventLC leaved with KErrNotFound"));
+    			}
+    		else
+    			{
+    			iLog->Log(_L("Second call to DatabaseUriFromLastEventLC leaved with error"));
+    			}
+    		}
+    	else
+    		{
+    		// No error from second call to DatabaseUriFromLastEventLC
+    		
+    		}
+		}
+		else
+		{
+		iLog->Log(_L("URI was not checked"));	
+		}
+				
+	CActiveScheduler::Stop();
+   
+	iLog->Log(_L("VerifyEvent Done"));
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp118.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,751 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp118.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLmDatabaseManager.h>
+#include <d32dbms.h>
+#include "FT_DatabaseUtility.h"
+
+//  CONSTANTS
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp118::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp118::CloseTest()
+    {
+	iLog->Log(_L("CloseTest"));
+	
+    TRAPD(err, RemoveAllLmDatabasesL());
+    if (err != KErrNone) iLog->Log(_L("RemoveAllLmDatabasesL() leaved"));
+    
+    TRAP(err, DeleteTp118FilesL());
+    if (err != KErrNone) iLog->Log(_L("DeleteTp118FilesL() leaved"));
+    
+    delete iDatabases;
+    iDatabases=NULL;
+    }
+       
+// ---------------------------------------------------------
+// CPosTp118::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp118::StartL()
+    {
+    TInt err = KErrNone;
+    // Remove all databases
+    RemoveAllLmDatabasesL();
+    
+    DeleteTp118FilesL();
+    TBuf<100> buf;
+    
+    CPosLandmarkDatabase* lmd = NULL;
+    	
+    iLog->Log(_L("1) Create a valid landmark db"));
+    // 1) Create a valid landmark db, it should be listed
+	FTDatabaseUtility::CreateDatabaseL(_L("c:TP118.ldb"));
+	
+	// 2) List an verify that db created in step 1 is listed
+	iLog->Log(_L("2) Verify that db created in step1 is listed:"));
+	CPosLmDatabaseManager* dbManager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(dbManager);
+	iDatabases = dbManager->ListDatabasesLC();
+	CleanupStack::Pop(iDatabases);
+
+	TInt res = VerifyList(iDatabases, _L("file://C:TP118.ldb"));
+	AssertTrueSecL(res, _L("file://C:TP118.LDB was not found"));
+	CleanupStack::PopAndDestroy(dbManager);
+
+	// 3) Create a valid landmark db, but without correct file extension
+	iLog->Log(_L("3) Create a valid landmark db, but without correct file extension"));
+	FTDatabaseUtility::CreateDatabaseL(_L("c:TP118_NoExtension"), EFalse);
+	dbManager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(dbManager);
+	
+	// 4) List all databases and verify that db created in step 3 is not listed
+	iLog->Log(_L("List all databases and verify that db created in step 3 is not listed"));
+	delete iDatabases; iDatabases=NULL;
+	iDatabases = dbManager->ListDatabasesLC();
+	CleanupStack::Pop(iDatabases);
+
+	res = VerifyList(iDatabases, _L("file://c:TP118_NoExtension"));
+	AssertTrueSecL(!res, _L("file://c:TP118_NoExtension should not have been found"));
+	CleanupStack::PopAndDestroy(dbManager);
+
+	// 5) Create lm db without correct secure id
+	iLog->Log(_L("5) Create lm db without correct secure id"));
+	FTDatabaseUtility::CreateDatabaseL(_L("c:TP118_WrongId.ldb"), ETrue, ETrue);
+	dbManager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(dbManager);
+    
+    // 6) List all databases and verify that db created in step 5 is not listed
+    iLog->Log(_L("6) List all databases and verify that db created in step 5 is not listed"));
+    delete iDatabases; iDatabases=NULL;
+	iDatabases = dbManager->ListDatabasesLC();
+	CleanupStack::Pop(iDatabases);
+	
+	res = VerifyList(iDatabases, _L("c:TP118_WrongId.ldb"));
+	AssertTrueSecL(!res, _L("file://c:TP118_WrongId.ldb should not have been found"));
+	CleanupStack::PopAndDestroy(dbManager);
+	
+	// 7 Create lm db with invalid landmarks tables
+	iLog->Log(_L("7) Create lm db with invalid landmarks tables"));
+	FTDatabaseUtility::CreateDatabaseL(_L("C:TP118_INVALIDTABLES.ldb"), ETrue, EFalse, ETrue);
+	dbManager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(dbManager);
+    
+    // 8) List all databases and verify that db created in step 7 is listed
+    iLog->Log(_L("8) List all databases and verify that db created in step 7 is listed"));
+    delete iDatabases; iDatabases=NULL;
+	iDatabases = dbManager->ListDatabasesLC();
+	CleanupStack::Pop(iDatabases);
+	res = VerifyList(iDatabases, _L("file://C:TP118_INVALIDTABLES.ldb"));
+	AssertTrueSecL(res, _L("file://C:TP118_INVALIDTABLES.ldb should have been found"));
+	CleanupStack::PopAndDestroy(dbManager);
+	
+	// CleanupStack::PopAndDestroy(dbManager);
+	// This causes DBMS to panic UTFW (this TestProgram)
+	// Adds landmarks but needed tables are already removed
+	// CreateLandmarksInDbL(_L("C:TP118_INVALIDTABLES.LDB"));
+	
+	/*
+	/////////////////////////////////////////////
+	// Add extra test here, set this db to default
+	iLog->Log(_L("SetDefaultDatabaseL"));
+    dbManager->SetDefaultDatabaseL(_L("C:TP118_INVALIDTABLES.LDB"));
+	CleanupStack::PopAndDestroy(dbManager);
+    
+    //  Try to open defaultdb which is the db created in step18
+    // Check that the default db is re-created when it is corrupt
+    CPosLandmarkDatabase* lmdb = NULL;
+    TRAP(err, lmdb = CPosLandmarkDatabase::OpenL());
+    if (err == KErrNone)
+    	{
+    	CleanupStack::PushL(lmdb);
+        CheckLandmarkDbL(lmdb);
+        CleanupStack::PopAndDestroy(lmdb);
+        //This causes DBMS to panic UTFW (this TestProgram)
+	    // Adds landmarks but needed tables are already removed
+        CreateLandmarksInDbL(_L("C:TP118_INVALIDTABLES.LDB"));
+    	}
+    else
+    	{
+    	LogErrorAndLeave(_L("OpenL should not leave with err"), err);
+    	}
+    */
+	/////////////////////////////////////////////
+
+	// 9) Try to open db created in step7
+	iLog->Log(_L("9) Open db created in step 7"));
+	lmd = CPosLandmarkDatabase::OpenL(_L("file://C:TP118_INVALIDTABLES.ldb"));
+	CleanupStack::PushL(lmd);
+	CheckLandmarkDbL(lmd);
+	CleanupStack::PopAndDestroy(lmd);
+
+    // 10) Drop table in db
+    iLog->Log(_L("10) Create db and then drop tables in db"));
+    dbManager=CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(dbManager);
+    
+    _LIT(KDropTableLmDb, "C:TP118_DROPTABLELMDB.ldb");
+    HPosLmDatabaseInfo* dbInfo = HPosLmDatabaseInfo::NewLC(KDropTableLmDb);
+    dbManager->CreateDatabaseL(*dbInfo);
+    CleanupStack::PopAndDestroy(dbInfo);
+    
+    CreateLandmarksInDbL(KDropTableLmDb);
+    DropTableL(KDropTableLmDb, KPosLmLandmarkTable);
+    
+    delete iDatabases; iDatabases=NULL;
+    iDatabases = dbManager->ListDatabasesLC();
+    CleanupStack::Pop(iDatabases);
+    res = VerifyList(iDatabases, _L("file://C:TP118_DROPTABLELMDB.ldb"));
+    AssertTrueSecL(res, _L("C:TP118_DropTableLmDb.ldb was not found"));
+    CleanupStack::PopAndDestroy(dbManager);
+
+    // 11) Try to open db created in step10
+	iLog->Log(_L("11) Open db created in step 10"));
+	lmd = CPosLandmarkDatabase::OpenL(_L("file://C:TP118_DROPTABLELMDB.ldb"));
+
+	// Error when opening db
+	CleanupStack::PushL(lmd);
+	TRAP(err, CheckLandmarkDbL(lmd));
+	AssertTrueSecL(err == KErrNotFound, _L("11) CheckLandmarkDbL did not leave with KErrNotFound"));
+
+	CleanupStack::PopAndDestroy(lmd);
+	// Try to add landmarks to this db
+	// Leaves with KErrNotFound
+	//CreateLandmarksInDbL(_L("C:TP118_DROPTABLELMDB.LDB"),1);
+    
+    // 12) DropIndexL
+    iLog->Log(_L("Step12: DropIndexL"));
+    dbManager=CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(dbManager);
+    
+    _LIT(KTP118_DROPINDEXLMDB_LDB, "C:TP118_DROPINDEXLMDB.ldb");
+    HPosLmDatabaseInfo* dbInfoDrop = HPosLmDatabaseInfo::NewLC(KTP118_DROPINDEXLMDB_LDB);
+    dbManager->CreateDatabaseL(*dbInfoDrop);
+    CleanupStack::PopAndDestroy(dbInfoDrop);
+    
+    CreateLandmarksInDbL(_L("C:TP118_DROPINDEXLMDB.ldb"));
+    iLog->Log(_L("12) DropIndex"));
+    DropIndexL(_L("C:TP118_DROPINDEXLMDB.LDB"), KPosLmCategoryTable, KPosLmGlobalCategoryIdIndex);   
+    CleanupStack::PopAndDestroy(dbManager);
+    
+    // 13) Try to open db created in step12
+	iLog->Log(_L("13) Open db created in step 12"));
+	lmd = CPosLandmarkDatabase::OpenL(_L("C:TP118_DROPINDEXLMDB.ldb"));
+	
+    CleanupStack::PushL(lmd);
+	CheckLandmarkDbL(lmd);
+	CleanupStack::PopAndDestroy(lmd);
+    // Try to add landmarks to this db
+	CreateLandmarksInDbL(_L("C:TP118_DROPINDEXLMDB.LDB"), 1);
+	
+	// 14)
+    iLog->Log(_L("14) DropIndex"));
+    dbManager=CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(dbManager);
+    
+    _LIT(KTP118_DROPINDEXLMDB2_LDB, "C:TP118_DROPINDEXLMDB2.ldb");
+    HPosLmDatabaseInfo* dbInfoDrop2 = HPosLmDatabaseInfo::NewLC(KTP118_DROPINDEXLMDB2_LDB);
+    dbManager->CreateDatabaseL(*dbInfoDrop2);
+    CleanupStack::PopAndDestroy(dbInfoDrop2);
+    
+    CreateLandmarksInDbL(_L("C:TP118_DROPINDEXLMDB2.ldb"));
+    DropIndexL(_L("C:TP118_DROPINDEXLMDB2.LDB"), KPosLmLandmarkTable, KPosLmLandmarkIdIndex);
+    CleanupStack::PopAndDestroy(dbManager);
+    
+    // 15) Try to open db created in step13
+	iLog->Log(_L("15) Open db created in step 14"));
+	lmd = CPosLandmarkDatabase::OpenL(_L("C:TP118_DROPINDEXLMDB2.ldb"));
+	
+    CleanupStack::PushL(lmd);
+	CheckLandmarkDbL(lmd);
+	CleanupStack::PopAndDestroy(lmd);
+	// Try to add landmarks to this db
+	CreateLandmarksInDbL(_L("C:TP118_DROPINDEXLMDB2.ldb"), 1);
+	
+	////////////
+    // 16) Create an ordinary database with some landmarks and then remove some parts of the binary file
+    // Create db by manually removing some parts with notepad
+    /*
+    //Use this part to create db "TP118HalfLmDb.ldb" containing some landmarks, then use notepad to remove
+    // some parts from physical file 
+    dbManager=CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(dbManager);
+    dbManager->CreateDatabaseL(_L("TP118HalfLmDb.ldb"));
+    CreateLandmarksInDbL(_L("TP118HalfLmDb.ldb"));
+    CleanupStack::PopAndDestroy(dbManager);
+    */
+    // Use corrupted file
+    iLog->Log(_L("16) Use corrupted file"));
+    CopyTestDbFileL(_L("TP118HALFLMDB_2.ldb"));
+    
+    dbManager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(dbManager);
+    delete iDatabases; iDatabases = NULL;
+    iDatabases = dbManager->ListDatabasesLC();
+    CleanupStack::Pop(iDatabases);
+
+    res = VerifyList(iDatabases, _L("file://C:TP118HALFLMDB_2.ldb"));
+	AssertTrueSecL(res, _L("file://C:TP118HALFLMDB_2.LDB should have been found"));
+    CleanupStack::PopAndDestroy(dbManager);
+    
+    // 17) Try to open db created in step16m it should not be possible
+    // Before it returned KErrCorrupt(?) but now with Mars wk21 SDK it returns KErrNotSupported
+    CPosLandmarkDatabase* someLmDb = NULL;
+    TRAP(err, someLmDb = CPosLandmarkDatabase::OpenL(_L("TP118HalfLmDb_2.ldb")));
+    if (err == KErrNone)
+    	{
+    	CleanupStack::PushL(someLmDb);
+    	ExecuteAndDeleteLD(someLmDb->InitializeL());
+    	CleanupStack::PopAndDestroy(someLmDb);
+        AssertTrueSecL(EFalse,_L("OpenL should leave with error"));
+    	}
+    else
+        {
+        buf.Format(_L("OpenL leaved with %d"), err);
+        iLog->Log(buf);
+        }
+    
+    // 18) Use same file as in 16 and set this file to default db
+    iLog->Log(_L("Use same file as in 16 and set this file to default db"));
+    CopyTestDbFileL(_L("TP118HALFLMDB_2.LDB"));
+    dbManager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(dbManager);
+    
+    iLog->Log(_L("SetDefaultDatabaseL"));
+    dbManager->SetDefaultDatabaseUriL(_L("Tp118HALFLMDB_2.ldb"));
+	CleanupStack::PopAndDestroy(dbManager);
+    
+    // 19) Try to open defaultdb which is the db created in step18
+    // Before Mars wk21 SDK the default db is re-created when it is corrupt
+    // but now instead KErrNotSUpported is returned
+    iLog->Log(_L("Try to open defaultdb which is the db created in step18"));
+    TRAP(err, someLmDb = CPosLandmarkDatabase::OpenL());
+    
+    if (err == KErrNone)
+    	{
+    	CleanupStack::PushL(someLmDb);
+        CheckLandmarkDbL(someLmDb);
+        CleanupStack::PopAndDestroy(someLmDb);
+        // Try to add landmarks to this db
+	    CreateLandmarksInDbL(_L("Tp118HALFLMDB_2.ldb"));
+    	}
+    else
+    	{
+    	//LogErrorAndLeave(_L("OpenL should not leave with err"), err);
+    	buf.Format(_L("open defaultdb leaved with %d"), err);
+    	iLog->Log(buf);
+    	}
+	}
+
+// ---------------------------------------------------------
+// CPosTp118::CheckLandmarkDbL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp118::CheckLandmarkDbL(CPosLandmarkDatabase* aDb)
+    {
+    iLog->Log(_L("CheckLandmarkDbL"));
+    
+    if (aDb->IsInitializingNeeded()) ExecuteAndDeleteLD(aDb->InitializeL());
+    
+    CPosLmItemIterator* iter = aDb->LandmarkIteratorL();
+    CleanupStack::PushL(iter);
+    
+    TInt size = iter->NumOfItemsL();
+    TBuf<100> buf;
+    buf.Format(_L("DB contains %d nr of landmarks"), size);
+    iLog->Log(buf);
+    
+    TPosLmItemId id = iter->NextL();
+
+    while (id != KPosLmNullItemId)
+        {
+        CPosLandmark* lm = aDb->ReadLandmarkLC(id);
+        TPtrC name;
+        lm->GetLandmarkName(name);
+        // Debugging iLog->Log(name);
+        id = iter->NextL();
+        CleanupStack::PopAndDestroy(lm);
+        }
+        
+    // Try to get an non existing landmark
+    CPosLandmark* lm = NULL;
+    TRAPD(err, lm = aDb->ReadLandmarkLC(123456));
+    if (err != KErrNotFound) 
+        {
+        CleanupStack::PopAndDestroy(lm);
+        CleanupStack::PopAndDestroy(iter);
+        AssertTrueSecL(EFalse,_L("ReadLandmarkLC should leave with KErrNotFound"));
+        }
+    
+    CleanupStack::PopAndDestroy(iter);
+    
+    // Check categories
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*aDb);
+    CleanupStack::PushL(categoryManager);
+	CPosLmItemIterator* catIter = categoryManager->CategoryIteratorL();
+	CleanupStack::PushL(catIter);
+	
+	TInt catCount = catIter->NumOfItemsL();
+
+	buf.Format(_L("Found %d nr of categories items in db"), catCount);
+	iLog->Log(buf);
+
+	id = catIter->NextL();
+	while (id != KPosLmNullItemId)
+    	{
+    	CPosLandmarkCategory* cat = categoryManager->ReadCategoryLC(id);
+    	TPtrC name;
+    	cat->GetCategoryName(name);
+    	// Debugging iLog->Log(name);
+    	CleanupStack::PopAndDestroy(cat);
+    	id = catIter->NextL();
+    	}
+    
+    CleanupStack::PopAndDestroy(catIter);
+    CleanupStack::PopAndDestroy(categoryManager);
+    }
+    
+// ---------------------------------------------------------
+// CPosTp118::DeleteTp118FilesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp118::DeleteTp118FilesL()
+	{
+	iLog->Log(_L("DeleteTp118FilesL"));
+    RFs fs;
+    TInt err = fs.Connect();
+    AssertTrueSecL(err == KErrNone, _L("fs.Connect returned with error"), err);
+    CleanupClosePushL(fs);
+
+    CFileMan* fileMan = CFileMan::NewL(fs);
+    CleanupStack::PushL(fileMan);
+    
+    // delete all TP118 files
+    err = fileMan->Delete(_L("c:\\private\\100012a5\\*TP118*.*"));
+    AssertTrueSecL(err == KErrNone || err == KErrNotFound, _L("CFileMan could not delete files1"), err);
+    
+    err = fileMan->Delete(_L("c:\\private\\100012a5\\*TP118*"));
+    AssertTrueSecL(err == KErrNone || err == KErrNotFound, _L("CFileMan could not delete files2"), err);
+        
+    CleanupStack::PopAndDestroy(1); //fileMan
+    CleanupStack::PopAndDestroy(1); //fs
+    iLog->Log(_L("DeleteTp118FilesL Done"));
+    
+	}
+	
+// ---------------------------------------------------------
+// CPosTp118::CreateLandmarksInDbL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp118::CreateLandmarksInDbL(const TDesC& aDbName, TInt aIndex)
+	{
+	iLog->Log(_L("CreateLandmarksInDbL"));
+	const TInt KNrOfLandmarks = 50;
+	const TInt KNrOfCategories = 10;
+	
+	CPosLandmarkDatabase* lmd = CPosLandmarkDatabase::OpenL(aDbName);
+	CleanupStack::PushL(lmd);
+	
+    ExecuteAndDeleteLD(lmd->InitializeL());
+    
+    CPosLmCategoryManager* cm = CPosLmCategoryManager::NewL(*lmd);
+    CleanupStack::PushL(cm);
+    
+    RArray<TPosLmItemId> arr;
+   	CleanupClosePushL(arr);
+    TInt i=0;
+    TBuf<150> buf;
+    
+    // Create categories
+   	for (i=0; i<KNrOfCategories; i++)
+   		{
+    	CPosLandmarkCategory* category = CPosLandmarkCategory::NewLC();
+    	buf.Zero();
+    	buf.Format(_L("VeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongCategoryName%d_%d"), i, aIndex);
+    	
+    	category->SetCategoryNameL(buf);
+    	TPosLmItemId id=0;
+    	TInt err = KErrLocked;
+    	while (err == KErrLocked)
+    	    {
+    	    TRAP(err, id = cm->AddCategoryL(*category));
+    	    }
+    	arr.Append(id);
+    	CleanupStack::PopAndDestroy(category);
+   		}
+
+	// Create landmarks and attach every category to every landmark
+    for (i=0;i<KNrOfLandmarks;i++)
+    	{
+    	buf.Zero();
+    	buf.Format(_L("VeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongLandmarkName%d_%d"), i, aIndex);
+    	CPosLandmark* lm1 = CPosLandmark::NewLC();
+    	lm1->SetLandmarkNameL(buf);
+    	lm1->SetLandmarkDescriptionL(_L("SomeVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongDescription"));
+    	for (TInt j=0;j<arr.Count();j++)
+    		{
+    		lm1->AddCategoryL(arr[j]);
+    		}
+   		TInt err = KErrLocked;
+   		while (err==KErrLocked)
+   		    {
+   		    TRAP(err, lmd->AddLandmarkL(*lm1));
+   		    }
+   		
+   		CleanupStack::PopAndDestroy(lm1);
+   		}
+   		   	
+    CleanupStack::PopAndDestroy(&arr);
+    
+    CleanupStack::PopAndDestroy(cm);
+    
+    ExecuteAndDeleteLD(lmd->CompactL());
+    CleanupStack::PopAndDestroy(lmd);
+    
+	}
+	
+// ---------------------------------------------------------
+// CPosTp118::VerifyList
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TBool CPosTp118::VerifyList(CDesCArray* aList, const TDesC& aDbName)
+	{
+	TBool found = EFalse;
+	TInt count = aList->Count();
+	TBuf<100> buf;
+	buf.Format(_L("Found %d nr of dbs"), count);
+	iLog->Log(buf);
+	for (TInt i=0;i<count;i++)
+		{
+		iLog->Log((*aList)[i]);
+		if ((*aList)[i].Compare(aDbName) == KErrNone)
+			{
+			found = ETrue;
+			}
+		}
+		return found;
+	}
+    
+// ---------------------------------------------------------
+// CPosTp118::DropTableL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp118::DropTableL(const TDesC& aDbName, const TDesC& aTable)
+    {
+    /*
+    // Incremental
+    iLog->Log(_L("DropTableL"));
+    RDbs dbSession;
+    CleanupClosePushL(dbSession);
+    User::LeaveIfError(dbSession.Connect());
+
+    RDbNamedDatabase db;
+    CleanupClosePushL(db);
+    TBuf<100> buf;
+    
+    TInt err = db.Open(dbSession, aDbName ,KPosLmDbSecureFormat);
+    if (err != KErrNone) LogErrorAndLeave(_L("Database could not be opened"), err);
+
+	RDbIncremental dbInc;
+	CleanupClosePushL(dbInc);
+
+    TInt step = 100;
+    err = dbInc.DropTable(db, aTable, step);
+    if (err != KErrNone) LogErrorAndLeave(_L("DropTable could not be performed"), err);
+    
+    while (step > 50)
+    	{
+    	buf.Format(_L("ProgressStep %d "), step);
+    	iLog->Log(buf);
+    	dbInc.Next(step);
+    	}
+    	
+    dbInc.Close();
+    db.Close();
+    	
+    CleanupStack::PopAndDestroy(&dbInc);
+    CleanupStack::PopAndDestroy(&db);
+    CleanupStack::PopAndDestroy(&dbSession);
+    */
+    
+    iLog->Log(_L("DropTableL"));
+    RDbs dbSession;
+    CleanupClosePushL(dbSession);
+    User::LeaveIfError(dbSession.Connect());
+
+    RDbNamedDatabase db;
+    CleanupClosePushL(db);
+    TBuf<100> buf;
+    
+    TInt err = db.Open(dbSession, aDbName ,KPosLmDbSecureFormat);
+    AssertTrueSecL(err == KErrNone, _L("Database could not be opened"), err);
+    err = db.DropTable(aTable);
+    AssertTrueSecL(err == KErrNone, _L("DropTable could not be performed"), err);
+    db.Close();
+    	
+    CleanupStack::PopAndDestroy(&db);
+    CleanupStack::PopAndDestroy(&dbSession);
+
+    }
+
+// ---------------------------------------------------------
+// CPosTp118::AlterTableL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp118::AlterTableL(const TDesC& aDbName)
+    {
+    iLog->Log(_L("AlterTableL"));
+    // Incremental
+    RDbs dbSession;
+    CleanupClosePushL(dbSession);
+    User::LeaveIfError(dbSession.Connect());
+
+    RDbNamedDatabase db;
+    CleanupClosePushL(db);
+    
+    TBuf<100> buf;
+    
+    TInt err = db.Open(dbSession, aDbName ,KPosLmDbSecureFormat);
+    AssertTrueSecL(err == KErrNone, _L("Database could not be opened"), err);
+
+	RDbIncremental dbInc;
+	CleanupClosePushL(dbInc);
+	    
+    
+    CDbColSet* newColumns = CDbColSet::NewLC();
+
+    TDbCol col(KPosLmIconIdCol, EDbColUint32);
+    col.iAttributes = col.EAutoIncrement;
+    newColumns->AddL(col);
+
+    newColumns->AddL(TDbCol(KPosLmIconPathCol, EDbColLongText, KMaxFileName));
+    //User::LeaveIfError(aDb.CreateTable(KPosLmIconTable, *columns));
+    
+    TInt step = 100;
+    err = dbInc.AlterTable(db, KPosLmIconTable, *newColumns, step);
+    if (err != KErrNone) 
+    {
+    TBuf<100> buf;
+    buf.Format(_L("AlterTable could not be performed, err %d"), err);
+    iLog->Log(buf);
+    }
+    else
+    {
+    
+    while (step > 1)
+    	{
+    	buf.Format(_L("ProgressStep %d "), step);
+    	iLog->Log(buf);
+    	dbInc.Next(step);
+    	}
+    }	
+    dbInc.Close();
+    db.Close();
+    
+    CleanupStack::PopAndDestroy(newColumns);	
+    CleanupStack::PopAndDestroy(&dbInc);
+    CleanupStack::PopAndDestroy(&db);
+    CleanupStack::PopAndDestroy(&dbSession);
+    /*
+    
+    RDbs dbSession;
+    CleanupClosePushL(dbSession);
+    User::LeaveIfError(dbSession.Connect());
+
+    RDbNamedDatabase db;
+    CleanupClosePushL(db);
+    
+    TBuf<100> buf;
+    
+    TInt err = db.Open(dbSession, aDbName ,KPosLmDbSecureFormat);
+    if (err != KErrNone) LogErrorAndLeave(_L("Database could not be opened"), err);
+    
+    
+    CDbColSet* newColumns = CDbColSet::NewLC();
+
+    TDbCol col(KPosLmIconIdCol, EDbColUint32);
+    col.iAttributes = col.EAutoIncrement;
+    newColumns->AddL(col);
+
+    newColumns->AddL(TDbCol(KPosLmIconPathCol, EDbColLongText, KMaxFileName));
+    //User::LeaveIfError(aDb.CreateTable(KPosLmIconTable, *columns));
+    
+    TInt step = 100;
+    err = db.AlterTable(KPosLmIconTable, *newColumns);
+    if (err != KErrNone) 
+        {
+        TBuf<100> buf;
+        buf.Format(_L("AlterTable could not be performed, err %d"), err);
+        iLog->Log(buf);
+        }
+
+    db.Close();
+    
+    CleanupStack::PopAndDestroy(newColumns);	
+    CleanupStack::PopAndDestroy(&db);
+    CleanupStack::PopAndDestroy(&dbSession);
+    */
+    }
+    
+        
+// ---------------------------------------------------------
+// CPosTp118::DropIndexL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp118::DropIndexL(const TDesC& aDbName, const TDesC& aTable, const TDesC& aIndex)
+    {
+    iLog->Log(_L("DropIndexL()"));
+    
+    //Incremental
+    RDbs dbSession;
+    CleanupClosePushL(dbSession);
+    User::LeaveIfError(dbSession.Connect());
+
+    RDbNamedDatabase db;
+    CleanupClosePushL(db);
+    TBuf<100> buf;
+    
+    TInt err = db.Open(dbSession, aDbName ,KPosLmDbSecureFormat);
+    AssertTrueSecL(err == KErrNone, _L("Database could not be opened"), err);
+
+	RDbIncremental dbInc;
+	CleanupClosePushL(dbInc);
+
+    TInt step = 100;
+    err = dbInc.DropIndex(db, aIndex, aTable, step);
+    AssertTrueSecL(err == KErrNone, _L("DropIndex could not be performed"), err);
+    
+    while (step  > 1)
+    	{
+    	buf.Format(_L("ProgressStep %d "), step);
+    	iLog->Log(buf);
+    	dbInc.Next(step);
+    	}
+    	
+    CleanupStack::PopAndDestroy(&dbInc);
+    CleanupStack::PopAndDestroy(&db);
+    CleanupStack::PopAndDestroy(&dbSession);
+    
+    /*
+    RDbs dbSession;
+    CleanupClosePushL(dbSession);
+    User::LeaveIfError(dbSession.Connect());
+
+    RDbNamedDatabase db;
+    CleanupClosePushL(db);
+    TBuf<100> buf;
+    
+    TInt err = db.Open(dbSession, aDbName ,KPosLmDbSecureFormat);
+    if (err != KErrNone) LogErrorAndLeave(_L("Database could not be opened"), err);
+
+    TInt step = 100;
+    err = db.DropIndex(aIndex, aTable);
+    if (err != KErrNone) LogErrorAndLeave(_L("DropIndex could not be performed"), err);
+    	
+    CleanupStack::PopAndDestroy(&db);
+    CleanupStack::PopAndDestroy(&dbSession);
+    */
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp119.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,622 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp119.h"
+#include "FT_LandmarkConstants.h"
+#include <EPos_CPosLmMultiDbSearch.h>
+#include <EPos_CPosLmTextCriteria.h>
+#include <EPos_CPosLmDatabaseManager.h>
+#include <EPos_TPosLmSortPref.h>
+#include "badesca.h"
+
+//  CONSTANTS
+
+// ================= MEMBER FUNCTIONS =======================
+
+
+// ---------------------------------------------------------
+// CPosTp119::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp119::StartL()
+    {  
+    // PrepareDatabases
+    const TInt KNrOfDatabases = 5;
+    RemoveAllLmDatabasesL();
+    CopyTestDbFileL(KDb20);
+    CopyTestDbFileL(KDb40);
+    CopyTestDbFileL(KDb60);
+    CopyTestDbFileL(KDb80);
+    CopyTestDbFileL(KDb105);
+    
+    // List databases
+    // TBool searchRefined = ETrue;
+    CPosLmDatabaseManager* dbMan = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(dbMan);
+    CDesCArray* dbUris = dbMan->ListDatabasesLC();
+    CleanupStack::Pop(dbUris);
+    AssertTrueSecL(dbUris->Count() == KNrOfDatabases, _L("Wrong number of test databases!"));
+    CleanupStack::PopAndDestroy(dbMan);
+    CleanupStack::PushL(dbUris);
+    
+    // 1-2. Search in all databases
+    SearchAllDbsL(dbUris, ENoSort);
+    
+    // 3-4. Remove one of the databases and re-search
+    RemoveDatabaseL(_L("c:\\private\\100012a5\\DBS_101FE978_EPOSLM_080.LDB"));
+    SearchAllButOneL(dbUris);
+    
+    // 5-6. Restore all ofthe databases but one and re-search
+    RemoveDatabaseL(_L("c:\\private\\100012a5\\DBS_101FE978_EPOSLM_105.LDB"));
+    RemoveDatabaseL(_L("c:\\private\\100012a5\\DBS_101FE978_EPOSLM_040.LDB"));
+    RemoveDatabaseL(_L("c:\\private\\100012a5\\DBS_101FE978_EPOSLM_020.LDB"));
+    SearchOneDbL(dbUris);    
+    
+    // 7-8. Restore all ofthe databases and re-search
+    CopyTestDbFileL(KDb20);
+    CopyTestDbFileL(KDb40);
+    CopyTestDbFileL(KDb80);
+    CopyTestDbFileL(KDb105);
+    SearchAllDbsL(dbUris, EAsc);
+    
+    // 9. Test SetMaxNumOfMatches
+    TestMaxNrOfMatchesL(dbUris);
+   
+    // 10. Test MatchIteratorL
+    TestMatchIteratorL(dbUris);
+    
+    // 11-12. Search all + one non-existing
+    SearchNonExistingDbL(dbUris);
+    
+    // 13. Search database multiple times
+    SearchDbMultipleTimesL(dbUris);
+    
+    // 14-15. Search all + one non-existing + one with invalid URI
+    SearchInvalidURIDbL(dbUris);
+    
+    CleanupStack::PopAndDestroy(dbUris);
+	}
+
+// ---------------------------------------------------------
+// CPosTp119::SearchAllDbsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp119::SearchAllDbsL(CDesCArray* aDbUris, TTp119SortOrder aSortOrder)
+    {
+    CPosLmMultiDbSearch* multiSearcher = CPosLmMultiDbSearch::NewL(*aDbUris);
+    CleanupStack::PushL(multiSearcher);
+    VerifyDbsToSearchL(multiSearcher, aDbUris);
+    
+    TBool searchRefined = ETrue;
+    SearchForLandmarksL(multiSearcher, aSortOrder, !searchRefined);
+    
+    // Verify Result - no errors should have occurred and all databases should return matches
+    TUint searchErrors = VerifyResultL(multiSearcher, *aDbUris, aSortOrder);
+    AssertTrueSecL(searchErrors == 0, _L("Found %d search errors"), searchErrors);
+    for (TInt i = 0; i < aDbUris->Count(); i++)
+        {
+        AssertTrueSecL(multiSearcher->NumOfMatches(i) > 0, _L("Found no matches"));
+        }
+        
+    CleanupStack::PopAndDestroy(multiSearcher);    
+    }
+       
+// ---------------------------------------------------------
+// CPosTp119::SearchAllButOneL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp119::SearchAllButOneL(CDesCArray* aDbUris)
+    {
+    CPosLmMultiDbSearch* multiSearcher = CPosLmMultiDbSearch::NewL(*aDbUris);
+    CleanupStack::PushL(multiSearcher);
+    VerifyDbsToSearchL(multiSearcher, aDbUris);
+    
+    TBool searchRefined = ETrue;
+    SearchForLandmarksL(multiSearcher, EAsc, !searchRefined);
+    
+    // Verify Result - KErrNotFound for the removed database (eposlm_80.ldb) - Matches from all but this.
+    TUint searchErrors = VerifyResultL(multiSearcher, *aDbUris, EAsc);
+    AssertTrueSecL(searchErrors == 1, _L("Found %d search errors"), searchErrors);
+    CPosLmMultiDbSearch::TSearchError searchErr;
+    multiSearcher->GetSearchError(0, searchErr);
+    AssertTrueSecL(searchErr.iErrorCode == KErrNotFound, _L("Expected KErrNotFound but got %d"), searchErr.iErrorCode);
+    TBuf<64> uriWithError((*aDbUris)[searchErr.iDatabaseIndex]);
+    uriWithError.LowerCase();
+    AssertTrueSecL(uriWithError == _L("file://c:eposlm_080.ldb"), _L("Error from wrong database"));
+    for (TInt i = 0; i < aDbUris->Count(); i++)
+        {
+        if (i != searchErr.iDatabaseIndex)
+            {
+            AssertTrueSecL(multiSearcher->NumOfMatches(i) > 0, _L("Found no matches"));
+            }
+        }
+        
+    CleanupStack::PopAndDestroy(multiSearcher);
+    }
+    
+// ---------------------------------------------------------
+// CPosTp119::SearchOneDbL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp119::SearchOneDbL(CDesCArray* aDbUris)
+    {
+    CPosLmMultiDbSearch* multiSearcher = CPosLmMultiDbSearch::NewL(*aDbUris);
+    CleanupStack::PushL(multiSearcher);
+    VerifyDbsToSearchL(multiSearcher, aDbUris);
+    
+    TBool searchRefined = ETrue;
+    SearchForLandmarksL(multiSearcher, EAsc, !searchRefined);
+    
+    // Verify Result - Only matches from the one (eposlm_60.ldb) remaining. KErrNotFound from the others
+    TUint searchErrors = VerifyResultL(multiSearcher, *aDbUris, EAsc);
+    AssertTrueSecL(searchErrors == 4, _L("Found %d search errors"), searchErrors);
+    for (TInt i = 0; i < searchErrors; i++)
+        {
+        CPosLmMultiDbSearch::TSearchError searchErr;
+        multiSearcher->GetSearchError(i, searchErr);
+        AssertTrueSecL(searchErr.iErrorCode == KErrNotFound, _L("Expected KErrNotFound but got %d"), searchErr.iErrorCode);
+        TBuf<64> uriWithError((*aDbUris)[searchErr.iDatabaseIndex]);
+        uriWithError.LowerCase();
+        AssertTrueSecL(uriWithError != _L("file://c:eposlm_60.ldb"), _L("Eror from wong database"));
+        }
+        
+    CleanupStack::PopAndDestroy(multiSearcher);
+    }
+
+// ---------------------------------------------------------
+// CPosTp119::SearchNonExistingDbL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp119::SearchNonExistingDbL(CDesCArray* aDbUris)
+    {    
+    CPosLmMultiDbSearch* multiSearcher = CPosLmMultiDbSearch::NewL(*aDbUris);
+    CleanupStack::PushL(multiSearcher);    
+    VerifyDbsToSearchL(multiSearcher, aDbUris);
+  
+    _LIT(KNonExistingDb, "file://pellefant.ldb");
+    aDbUris->AppendL(KNonExistingDb);
+    multiSearcher->SetDatabasesToSearchL(*aDbUris);
+    VerifyDbsToSearchL(multiSearcher, aDbUris);
+    
+    TBool searchRefined = ETrue;
+    SearchForLandmarksL(multiSearcher, EAsc, !searchRefined);
+    
+    // Verify Result - one error from the non-existing should have been returned. 
+    TUint searchErrors = VerifyResultL(multiSearcher, *aDbUris, EAsc);
+    AssertTrueSecL(searchErrors == 1, _L("Found %d search errors"), searchErrors);
+    CPosLmMultiDbSearch::TSearchError searchErr;
+    multiSearcher->GetSearchError(0, searchErr);
+    AssertTrueSecL(searchErr.iErrorCode == KErrNotFound, _L("Expected KErrNotFound but got %d"), searchErr.iErrorCode);
+    TBuf<64> uriWithError = (*aDbUris)[searchErr.iDatabaseIndex];
+    uriWithError.LowerCase();
+    AssertTrueSecL(uriWithError == KNonExistingDb, _L("Error from wrong database"));
+    for (TInt i = 0; i < aDbUris->Count(); i++)
+        {
+        if (i != searchErr.iDatabaseIndex)
+            {
+            AssertTrueSecL(multiSearcher->NumOfMatches(i) > 0, _L("Found no matches"));
+            }
+        }
+        
+    CleanupStack::PopAndDestroy(multiSearcher);
+    }
+    
+// ---------------------------------------------------------
+// CPosTp119::SearchInvalidURIDbL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp119::SearchInvalidURIDbL(CDesCArray* aDbUris)
+    {
+    iLog->Log(_L("SearchInvalidURIDbL"));
+    CPosLmMultiDbSearch* multiSearcher = CPosLmMultiDbSearch::NewL(*aDbUris);
+    CleanupStack::PushL(multiSearcher);    
+    VerifyDbsToSearchL(multiSearcher, aDbUris);
+  
+    _LIT(KNonExistingDb, "file://pellefant.ldb");
+    aDbUris->AppendL(KNonExistingDb);
+    _LIT(KRemoteURI, "http://kallekanin.ldb");
+    aDbUris->AppendL(KRemoteURI);
+    _LIT(KInvalidDrive, "file://r:nonexistingdrive.ldb");
+    aDbUris->AppendL(KInvalidDrive);
+    
+    multiSearcher->SetDatabasesToSearchL(*aDbUris);
+    VerifyDbsToSearchL(multiSearcher, aDbUris);
+    
+    TBool searchRefined = ETrue;
+    SearchForLandmarksL(multiSearcher, EAsc, !searchRefined);
+    
+    // Verify Result - three errors should be returned
+    iLog->Log(_L("Verify Result - three errors should be returned"));
+    TUint searchErrors = VerifyResultL(multiSearcher, *aDbUris, EAsc);
+    AssertTrueSecL(searchErrors == 3, _L("Found %d search errors"), searchErrors);
+    CPosLmMultiDbSearch::TSearchError searchErr;
+    TInt id1;
+    TInt id2;
+    TInt id3;
+    
+    multiSearcher->GetSearchError(0, searchErr);
+    AssertTrueSecL(searchErr.iErrorCode == KErrNotFound, _L("Expected KErrNotFound but got %d"), searchErr.iErrorCode);
+    
+    TBuf<64> uriWithError = (*aDbUris)[searchErr.iDatabaseIndex];
+    uriWithError.LowerCase();
+    AssertTrueSecL(uriWithError == KNonExistingDb, _L("Error from wrong database1"));
+    id1 = searchErr.iDatabaseIndex;
+    
+    multiSearcher->GetSearchError(1, searchErr);
+    AssertTrueSecL(searchErr.iErrorCode == KErrNotSupported, _L("Expected KErrNotSupported but got %d"), searchErr.iErrorCode);
+    uriWithError.Zero();
+    uriWithError = (*aDbUris)[searchErr.iDatabaseIndex];
+    uriWithError.LowerCase();
+    AssertTrueSecL(uriWithError == KRemoteURI, _L("Error from wrong database2"));
+    id2 = searchErr.iDatabaseIndex;
+    
+    // KErrNotReady from dbs on non existing drives
+    multiSearcher->GetSearchError(2, searchErr);
+    AssertTrueSecL(searchErr.iErrorCode == KErrNotReady, _L("Expected KErrNotReady but got %d"), searchErr.iErrorCode);
+    uriWithError.Zero();
+    uriWithError = (*aDbUris)[searchErr.iDatabaseIndex];
+    uriWithError.LowerCase();
+    AssertTrueSecL(uriWithError == KInvalidDrive, _L("Error from wrong database3"));
+    id3 = searchErr.iDatabaseIndex;
+    
+    for (TInt i=0; i < aDbUris->Count(); i++)
+        {
+        if (i != id1 && i != id2 && i != id3)
+            {
+            AssertTrueSecL(multiSearcher->NumOfMatches(i) > 0, _L("Found no matches"));
+            }
+        }
+        
+    CleanupStack::PopAndDestroy(multiSearcher);
+    }
+    
+// ---------------------------------------------------------
+// CPosTp119::SearchDbMultipleTimesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp119::SearchDbMultipleTimesL(CDesCArray* aDbUris)
+    {    
+    // Remove all dbs but the first
+    aDbUris->Delete(1, aDbUris->Count() - 1);
+    
+    // 13. Repeat the same database multiple times (3 in this case)
+    aDbUris->AppendL((*aDbUris)[0]);
+    aDbUris->AppendL((*aDbUris)[0]);
+    
+    CPosLmMultiDbSearch* multiSearcher = CPosLmMultiDbSearch::NewL(*aDbUris);
+    CleanupStack::PushL(multiSearcher);    
+    VerifyDbsToSearchL(multiSearcher, aDbUris);
+  
+    TBool searchRefined = ETrue;
+    SearchForLandmarksL(multiSearcher, EAsc, !searchRefined);
+    
+    // Verify Result - doubles should have been found 
+    TUint searchErrors = VerifyResultL(multiSearcher, *aDbUris, EAsc);
+    AssertTrueSecL(searchErrors == 0, _L("Found %d search errors"), searchErrors);
+    for (TInt i = 0; i < aDbUris->Count(); i++)
+        {
+        AssertTrueSecL(multiSearcher->NumOfMatches(i) > 0, _L("Found no matches"));
+        }
+    for (TInt i = 0; i < aDbUris->Count(); i++)
+        {
+        // Log landmark names to identify doublets
+        CPosLmItemIterator* iter = multiSearcher->MatchIteratorL(i);
+        if (iter)
+            {
+            CleanupStack::PushL(iter);
+            _LIT(KFormat, "Printing landmark names from db %S");
+            TBuf<100> buf;
+            TPtrC dbName = (*aDbUris)[i];
+            buf.Format(KFormat, &dbName);
+            iLog->Log(buf);
+            TPosLmItemId id = iter->NextL();
+            CPosLandmarkDatabase* db = CPosLandmarkDatabase::OpenL((*aDbUris)[i]);
+            CleanupStack::PushL(db);
+            while (id != KPosLmNullItemId)
+                {
+                CPosLandmark* lm = db->ReadLandmarkLC(id);
+                TPtrC name;
+                lm->GetLandmarkName(name);
+                iLog->Log(name);
+                CleanupStack::PopAndDestroy(lm);
+                id = iter->NextL();
+                }
+            CleanupStack::PopAndDestroy(2, iter);
+            }
+        }
+        
+    CleanupStack::PopAndDestroy(multiSearcher);
+    } 
+       
+// ---------------------------------------------------------
+// CPosTp119::TestMaxNrOfMatchesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp119::TestMaxNrOfMatchesL(CDesCArray* aDbUris)
+    {
+    CPosLmMultiDbSearch* multiSearcher = CPosLmMultiDbSearch::NewL(*aDbUris);
+    CleanupStack::PushL(multiSearcher);
+    TInt nrOfDbs = aDbUris->Count();
+    TInt maxNrOfMatches = 4;
+    TBool searchRefined = ETrue;
+    TInt fetchedMaxNrOfMatches = multiSearcher->MaxNumOfMatches();
+    AssertTrueSecL(fetchedMaxNrOfMatches == KPosLmMaxNumOfMatchesUnlimited, _L("Not unlimited number of matches by default."));
+    multiSearcher->SetMaxNumOfMatches(maxNrOfMatches);
+    fetchedMaxNrOfMatches = multiSearcher->MaxNumOfMatches();
+    AssertTrueSecL(fetchedMaxNrOfMatches == maxNrOfMatches, _L("Unexpected maxNrOfMatches"));
+    
+    // Test normal flow
+    SearchForLandmarksL(multiSearcher, ENoSort, !searchRefined);
+    TUint searchErrors = VerifyResultL(multiSearcher, *aDbUris, ENoSort);
+    AssertTrueSecL(searchErrors == 0, _L("Found %d search errors"), searchErrors);
+    for (TInt i = 0; i < nrOfDbs; i++)
+        {
+        CPosLmItemIterator* iter = multiSearcher->MatchIteratorL(i);
+        CleanupStack::PushL(iter);
+        AssertTrueSecL(iter->NumOfItemsL() == maxNrOfMatches, _L("Wrong number of matches"));
+        CleanupStack::PopAndDestroy(iter);
+        }
+    AssertTrueSecL(multiSearcher->TotalNumOfMatches() == nrOfDbs * maxNrOfMatches, _L("Wrong number of total matches"));
+    
+    // Test resetting of max nr of matches during search - should not affect ongoing search
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+    textCriteria->SetTextL(_L("*e*"));
+    textCriteria->SetAttributesToSearch(CPosLandmark::ELandmarkName);
+    CPosLmOperation* operation = multiSearcher->StartLandmarkSearchL(*textCriteria, searchRefined);        
+    CleanupStack::PushL(operation);
+    
+    // Update maxNrOfMatches twice
+    TInt oldMaxNrOfMatches = maxNrOfMatches;
+    maxNrOfMatches--;
+    multiSearcher->SetMaxNumOfMatches(maxNrOfMatches);
+    maxNrOfMatches--;
+    multiSearcher->SetMaxNumOfMatches(maxNrOfMatches);
+    fetchedMaxNrOfMatches = multiSearcher->MaxNumOfMatches();
+    AssertTrueSecL(fetchedMaxNrOfMatches == maxNrOfMatches, _L("Unexpected maxNrOfMatches"));
+    
+    operation->ExecuteL();
+    CleanupStack::PopAndDestroy(operation);
+    CleanupStack::PopAndDestroy(textCriteria);
+    
+    searchErrors = VerifyResultL(multiSearcher, *aDbUris, ENoSort);
+    AssertTrueSecL(searchErrors == 0, _L("Found %d search errors"), searchErrors);
+    for (TInt i = 0; i < nrOfDbs; i++)
+        {
+        CPosLmItemIterator* iter = multiSearcher->MatchIteratorL(i);
+        CleanupStack::PushL(iter);
+        AssertTrueSecL(iter->NumOfItemsL() == oldMaxNrOfMatches, _L("Wrong number of matches"));
+        CleanupStack::PopAndDestroy(iter);
+        }
+    AssertTrueSecL(multiSearcher->TotalNumOfMatches() == nrOfDbs * oldMaxNrOfMatches, _L("Wrong number of total matches"));
+    
+    // Test new search - the new maxNrOfMatches should have effect
+    SearchForLandmarksL(multiSearcher, ENoSort, !searchRefined);
+    searchErrors = VerifyResultL(multiSearcher, *aDbUris, ENoSort);
+    AssertTrueSecL(searchErrors == 0, _L("Found %d search errors"), searchErrors);
+    fetchedMaxNrOfMatches = multiSearcher->MaxNumOfMatches();
+    AssertTrueSecL(fetchedMaxNrOfMatches == maxNrOfMatches, _L("Unexpected maxNrOfMatches"));
+    for (TInt i = 0; i < nrOfDbs; i++)
+        {
+        CPosLmItemIterator* iter = multiSearcher->MatchIteratorL(i);
+        CleanupStack::PushL(iter);
+        AssertTrueSecL(iter->NumOfItemsL() == maxNrOfMatches, _L("Wrong number of matches"));
+        CleanupStack::PopAndDestroy(iter);
+        }
+    AssertTrueSecL(multiSearcher->TotalNumOfMatches() == nrOfDbs * maxNrOfMatches, _L("Wrong number of total matches"));
+        
+    CleanupStack::PopAndDestroy(multiSearcher);
+    }
+
+// ---------------------------------------------------------
+// CPosTp119::TestMatchIteratorL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp119::TestMatchIteratorL(CDesCArray* /*aDbUris*/)
+    {
+    // Moved to TP130
+    }
+    
+// ---------------------------------------------------------
+// CPosTp119::SearchForLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp119::SearchForLandmarksL(
+    CPosLmMultiDbSearch* aSearcher, 
+    TTp119SortOrder aSortOrder,
+    TBool aRefined)
+    {
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+    textCriteria->SetTextL(_L("*e*"));
+    textCriteria->SetAttributesToSearch(CPosLandmark::ELandmarkName);
+    
+    CPosLmOperation* operation = NULL;
+    if (aSortOrder == ENoSort)
+        {
+        operation = aSearcher->StartLandmarkSearchL(*textCriteria, aRefined);
+        }
+    else
+        {
+        TPosLmSortPref sortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+        if (aSortOrder == EDesc)
+            {
+            sortPref = TPosLmSortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EDescending);
+            }
+        operation = aSearcher->StartLandmarkSearchL(*textCriteria, sortPref, aRefined);
+        }
+        
+    CleanupStack::PushL(operation);
+    operation->ExecuteL();
+    CleanupStack::PopAndDestroy(operation);
+    CleanupStack::PopAndDestroy(textCriteria);
+    }
+    
+// ---------------------------------------------------------
+// CPosTp119::VerifyResultL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TUint CPosTp119::VerifyResultL(
+    CPosLmMultiDbSearch* aSearcher, 
+    CDesCArray& aDbUris,
+    TTp119SortOrder aSortOrder)
+    {
+    TUint searchErrors = aSearcher->NumOfSearchErrors();
+    for (TUint j = 0; j < searchErrors; j++)
+        {
+        CPosLmMultiDbSearch::TSearchError searchErr;
+        aSearcher->GetSearchError(j, searchErr);
+        TBuf<100> buf;
+        _LIT(KFormat, "Got error code %d from database nr%d : %S");
+        TPtrC uri = aDbUris[searchErr.iDatabaseIndex];
+        buf.Format(KFormat, searchErr.iErrorCode,searchErr.iDatabaseIndex, &uri);
+        iLog->Log(buf);
+        }
+        
+    // Verify sort order
+    if (aSortOrder != ENoSort)
+        {        
+        for (TInt i = 0; i < aDbUris.Count(); i++)
+            {
+            CPosLmItemIterator* iterator = aSearcher->MatchIteratorL(i);
+            CleanupStack::PushL(iterator);
+            if (iterator && iterator->NumOfItemsL() > 0)
+                {
+                CPosLandmarkDatabase* db = CPosLandmarkDatabase::OpenL(aDbUris[i]);
+                CleanupStack::PushL(db);
+                TPosLmItemId currentId = iterator->NextL();
+                while (currentId != KPosLmNullItemId)
+                    {
+                    TPosLmItemId nextId = iterator->NextL();
+                    if (nextId != KPosLmNullItemId)
+                        {
+                        CPosLandmark* currentLM = db->ReadLandmarkLC(currentId);
+                        CPosLandmark* nextLM = db->ReadLandmarkLC(nextId);
+                        TPtrC currentName, nextName;
+                        currentLM->GetLandmarkName(currentName);
+                        nextLM->GetLandmarkName(nextName);
+                        TInt order = nextName.CompareC(currentName);
+                        if (aSortOrder == EAsc)
+                            {                        
+                            AssertTrueSecL(order >= 0, _L("Wrong sort order (not ascending)"));
+                            }
+                        else // aSortOrder == EDesc
+                            {
+                            AssertTrueSecL(order <= 0, _L("Wrong sort order (not descending)"));
+                            }
+                        CleanupStack::PopAndDestroy(2, currentLM);
+                        }
+                    currentId = nextId;
+                    }
+                CleanupStack::PopAndDestroy(db);
+                }
+            CleanupStack::PopAndDestroy(iterator);
+            }
+        }
+        
+    return searchErrors;
+    }
+    
+// ---------------------------------------------------------
+// CPosTp119::RemoveDatabaseL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp119::RemoveDatabaseL(const TDesC& aFile)
+    {    
+    RFs fileServer;
+    User::LeaveIfError(fileServer.Connect());
+    CleanupClosePushL(fileServer);
+    CFileMan* fileMan = CFileMan::NewL(fileServer);
+    CleanupStack::PushL(fileMan);
+    User::LeaveIfError(fileMan->Delete(aFile));
+    CleanupStack::PopAndDestroy(2, &fileServer);
+    }
+    
+// ---------------------------------------------------------
+// CPosTp119::VerifyDbsToSearchL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp119::VerifyDbsToSearchL(
+    CPosLmMultiDbSearch* aMultiSearcher, 
+    CDesCArray* aDbUris)
+    {
+    CDesCArray* dbToSearch = aMultiSearcher->DatabasesToSearchL();
+    CleanupStack::PushL(dbToSearch);
+    
+    // Verify that lengths of specified array and retrived array match
+    AssertTrueSecL(aDbUris->Count() == dbToSearch->Count(), _L("aDbUris->Count() != dbToSearch->Count()"));
+    
+    // Verify that length of specified array equals retrived length
+    AssertTrueSecL(aDbUris->Count() == aMultiSearcher->NumOfDatabasesToSearch(), _L("aDbUris->Count() != aMultiSearcher->NumOfDatabasesToSearch()"));
+    
+    for (TInt i = 0; i < aDbUris->Count(); i++)
+        {
+        TInt pos, pos2;
+        
+        // Verify that specified db can be found in retrieved list.
+        TInt err = dbToSearch->Find((*aDbUris)[i], pos);
+        
+        // Verify that retrieved db URI can be found in specified list
+        TInt err2 = aDbUris->Find(aMultiSearcher->DatabaseUriPtr(i), pos2);
+        
+        // Error handling
+        if (err != KErrNone || err2 != KErrNone)
+            {
+            // No match found
+            iLog->Log(_L("Didn't find expected db in db list"));
+            User::Leave(err);
+            }
+        else
+            {
+            dbToSearch->Delete(pos);
+            }
+        }
+        
+    // Verify that no more db exist in search list
+    AssertTrueSecL(dbToSearch->Count() == 0, _L("More dbs to search than expected"));
+    
+    CleanupStack::PopAndDestroy(dbToSearch);
+    }
+    
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp12.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,946 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp12.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLMCategoryManager.h>
+#include <EPos_CPosLandmarkCategory.h>
+#include <EPos_CPosLandmark.h>
+#include <EPos_CPosLMItemIterator.h>
+#include <EPos_TPosLMSortPref.h>
+#include <EPos_CPosLMPartialReadParameters.h>  
+#include <LbsPosition.h>
+#include <e32std.h>
+//#include <ss_std.h>
+#include <EPos_CPosLmTextCriteria.h>
+#include <EPos_CPosLmNearestCriteria.h>
+#include <EPos_CPosLmCompositeCriteria.h>
+#include <EPos_CPosLmCatNameCriteria.h>
+
+// CONSTANTS
+
+const TInt KNoLandmarksPanicCodes = 11;
+const TInt KTestCaseCategoryIterator = 0;
+const TInt KTestCaseLandmarkIterator = 1;
+
+const TInt KTestCasePartialAttributes1 = 2;
+const TInt KTestCasePartialAttributes2 = 3;
+      
+const TInt KTestCaseSortPrefNoAttribute = 4;
+const TInt KTestCaseSortPrefSeveralAttribute = 5;
+
+const TInt KTestCaseNegativeMatches = 6;
+const TInt KTestCaseNegativeDistance = 7;
+const TInt KTestCaseNegativeRadius = 8;
+
+const TInt KTestCaseCompositeSearch1 = 9;
+const TInt KTestCaseCompositeSearch2 = 10;
+const TInt KTestCaseCompositeSearch3 = 11;
+const TInt KTestCaseCompositeSearch4 = 12;
+
+const TInt KTestCaseDuplicateNotifyDatabaseEvent = 13;
+
+const TInt KTestCaseIncorrectCompositeType1 = 14;
+const TInt KTestCaseIncorrectCompositeType2 = 15;
+const TInt KTestCaseIncorrectCompositeType3 = 16;
+const TInt KTestCaseIncorrectCompositeType4 = 17;
+
+const TInt KTestCaseInvalidOperationMode1 = 18;
+const TInt KTestCaseInvalidOperationMode2 = 19;
+const TInt KTestCaseInvalidOperationMode3 = 20;
+const TInt KTestCaseInvalidOperationMode4 = 21;
+
+const TInt KTestCaseInvalidAttributes1 = 22;
+const TInt KTestCaseInvalidAttributes2 = 23;
+
+const TInt KTestCaseCompositeSearch5 = 24;
+const TInt KTestCaseCompositeSearch6 = 25;
+const TInt KTestCaseCompositeSearch7 = 26;
+const TInt KTestCaseCompositeSearch8 = 26;
+
+const TInt KTestCaseCategoryIteratorSortPref = 27;
+const TInt KTestCaseReferencedCategoryIteratorSortPref = 28;
+
+const TInt KTestCaseCategorySearchSortPref = 29;
+const TInt KTestCaseLandmarkSortPref = 30;
+const TInt KTestCaseLandmarkSortPref2 = 31;
+const TInt KTestCaseLandmarkSearchinvalidAttribute = 32;
+const TInt KTestCaseLandmarkSearchinvalidAttribute2 = 33;
+
+const TInt KTestCaseInvalidRequestedPositionFields1 = 34;
+const TInt KTestCaseInvalidRequestedPositionFields2 = 35;
+
+const TInt KTestCaseZeroMatches = 36;
+
+const TInt KTestLandmarkSetIconTest1 = 37;
+const TInt KTestLandmarkSetIconTest2 = 38;
+const TInt KTestCategorySetIconTest1 = 41;
+const TInt KTestCategorySetIconTest2 = 42;
+
+_LIT(KResourceFilePath, "c:\\resource\\");
+_LIT(KResourceFile, "c:\\resource\\EPOSLMASYNCOPS.RSC");
+_LIT(KTempResourceFile, "c:\\resource\\TEMP_EPOSLMASYNCOPS.RSC");
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+
+// ---------------------------------------------------------
+// CPosTp12::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp12::StartL()
+    {    
+    MakeSurePanicDebugFileExistsL();
+    RemoveDefaultDbL();
+	TBuf<100> buf;
+
+        
+    for (TInt i=0; i<KNoLandmarksPanicCodes; i++)
+        {
+        iExpectedPanicCode = static_cast<TPositionLandmarksClientPanic>(i);
+        buf.Format(_L("Expected Panic code %d"), iExpectedPanicCode);
+        iLog->Log(buf);
+        
+        if (iExpectedPanicCode == EPosSpecifiedIntervalLiesOutsideIteratedSet)
+            {
+            iTestCase=KTestCaseCategoryIterator;
+            ResumeThreadAndVerifyExit();
+            iTestCase=KTestCaseLandmarkIterator;
+            }
+        else if (iExpectedPanicCode == EPosInvalidPartialReadParameters)
+            {
+            iTestCase=KTestCasePartialAttributes1;
+            ResumeThreadAndVerifyExit();
+            iTestCase=KTestCasePartialAttributes2;
+            }
+        else if (iExpectedPanicCode == EPosInvalidRequestedPositionFields)
+            {
+            iTestCase=KTestCaseInvalidRequestedPositionFields1;
+            ResumeThreadAndVerifyExit();
+            iTestCase=KTestCaseInvalidRequestedPositionFields2;
+            }            
+        else if (iExpectedPanicCode == EPosNoneOrMultipleLandmarkAttributeSet)
+            {
+            iTestCase=KTestCaseSortPrefNoAttribute;
+            ResumeThreadAndVerifyExit();
+            iTestCase=KTestCaseSortPrefSeveralAttribute;
+            }
+        else if (iExpectedPanicCode == EPosNegativeValue)
+        	{
+            iTestCase=KTestCaseNegativeDistance;
+        	ResumeThreadAndVerifyExit();
+        	iTestCase=KTestCaseNegativeRadius;
+        	}
+        else if (iExpectedPanicCode == EPosInvalidEnumValue)
+            {
+            iTestCase = KTestCaseIncorrectCompositeType1;
+            ResumeThreadAndVerifyExit();
+            iTestCase = KTestCaseIncorrectCompositeType2;
+            ResumeThreadAndVerifyExit();
+            iTestCase = KTestCaseIncorrectCompositeType3;
+            ResumeThreadAndVerifyExit();
+            iTestCase = KTestCaseIncorrectCompositeType4;
+            }
+        else if (iExpectedPanicCode == EPosInvalidOperationMode)
+            {
+            // Excerpt from EPos_LandmarksErrors.h:
+            // "Invalid operation mode. Caused by mixed calls to NextStep and ExecuteL 
+	        // for an CPosLmOperation object or subsequent calls to NextStep"
+            iTestCase = KTestCaseInvalidOperationMode1;
+            ResumeThreadAndVerifyExit();
+            iTestCase = KTestCaseInvalidOperationMode2;
+            ResumeThreadAndVerifyExit();
+            iTestCase = KTestCaseInvalidOperationMode3;
+            ResumeThreadAndVerifyExit();
+            iTestCase = KTestCaseInvalidOperationMode4;            
+            }
+		else if (iExpectedPanicCode == EPosInvalidLandmarkAttribute)
+			{
+			iTestCase = KTestCaseInvalidAttributes1;
+            ResumeThreadAndVerifyExit();
+            iTestCase = KTestCaseInvalidAttributes2;
+			}
+	    
+	     else  //added for testing
+		    {
+		        continue;
+		    }
+						
+         ResumeThreadAndVerifyExit();
+        }
+
+        iLog->Log(_L("Tests below causes a USER-130 panic to be raised"));
+        // Tests below causes a USER-130 panic to be raised
+        iExpectedPanicCode = static_cast<TPositionLandmarksClientPanic>(130);
+
+        iTestCase = KTestCaseCompositeSearch1;
+        ResumeThreadAndVerifyExit();
+
+        iTestCase = KTestCaseCompositeSearch2;
+        ResumeThreadAndVerifyExit();
+
+        iTestCase = KTestCaseCompositeSearch3;
+        ResumeThreadAndVerifyExit();
+
+        iTestCase = KTestCaseCompositeSearch4;
+        ResumeThreadAndVerifyExit();
+        
+        iTestCase = KTestCaseCompositeSearch5;
+        ResumeThreadAndVerifyExit();
+        
+        iTestCase = KTestCaseCompositeSearch6;
+        ResumeThreadAndVerifyExit();
+        
+        iTestCase = KTestCaseCompositeSearch7;
+        ResumeThreadAndVerifyExit();
+
+        iTestCase = KTestCaseCompositeSearch8;
+        ResumeThreadAndVerifyExit();          
+
+        // Test below should raise a EPosEventNotifierAlreadyHasOutstandingRequest (2) panic
+        // defined in EPos_LandmarksServerPanics.h
+        // Since other testparts check for the same panic number change it to something else
+        // and then change it to the correct number (2) in the thread function
+        iLog->Log(_L("Test below should raise a EPosEventNotifierAlreadyHasOutstandingRequest (2) panic"));
+        iExpectedPanicCode = static_cast<TPositionLandmarksClientPanic>(222);
+        iTestCase = KTestCaseDuplicateNotifyDatabaseEvent;
+        ResumeThreadAndVerifyExit();
+        
+        // Test that when using invalid CPosLmCategoryManager::TCategorySortPref in CategoryIteratorL
+        //  causes a panic
+        iLog->Log(_L("Test that when using invalid CPosLmCategoryManager::TCategorySortPref causes a panic"));
+        iExpectedPanicCode = EPosInvalidEnumValue;
+        iTestCase = KTestCaseCategoryIteratorSortPref;
+        ResumeThreadAndVerifyExit();
+        
+         // Test that when using invalid CPosLmCategoryManager::TCategorySortPref in ReferencedCategoryIteratorL
+         //  causes a panic
+        iLog->Log(_L("Test that when using invalid CPosLmCategoryManager::TCategorySortPref causes a panic"));
+        iExpectedPanicCode = EPosInvalidEnumValue;
+        iTestCase = KTestCaseReferencedCategoryIteratorSortPref;
+        ResumeThreadAndVerifyExit();
+
+        // Test that setting SetMaxNumOfMatches to a negative value causes a panic
+        iLog->Log(_L("Test that setting SetMaxNumOfMatches to a negative value causes a panic"));
+        iExpectedPanicCode = EPosLmInvalidArgument;
+    	iTestCase = KTestCaseNegativeMatches;
+        ResumeThreadAndVerifyExit();
+        
+        // Test that setting SetMaxNumOfMatches to 0 causes a panic
+        iLog->Log(_L("Test that setting SetMaxNumOfMatches to 0 causes a panic"));
+        iExpectedPanicCode = EPosLmInvalidArgument;
+    	iTestCase = KTestCaseZeroMatches;
+        ResumeThreadAndVerifyExit();
+        
+        // Test starting a landmark category search with invalid SortPref panics
+        iLog->Log(_L("Test starting a landmark category search with invalid SortPref panics"));
+        iExpectedPanicCode = EPosInvalidEnumValue;
+    	iTestCase = KTestCaseCategorySearchSortPref;
+        ResumeThreadAndVerifyExit();
+        
+        // Test that it is not possible to create an invalid SortPref
+        iLog->Log(_L("Test that it is not possible to create an invalid SortPref"));
+        iExpectedPanicCode = EPosInvalidEnumValue;
+    	iTestCase = KTestCaseLandmarkSortPref;
+        ResumeThreadAndVerifyExit();
+        
+        // Test that it is not possible to set a SortPref to invalid values
+        iLog->Log(_L("Test that it is not possible to set a SortPref to invalid values"));
+        iExpectedPanicCode = EPosInvalidEnumValue;
+    	iTestCase = KTestCaseLandmarkSortPref2;
+        ResumeThreadAndVerifyExit();
+        
+        // Test that searching with an invalid attribute panics
+        iLog->Log(_L("Test that it is not possible to set a SortPref with incorrect attributes"));
+        iExpectedPanicCode = EPosNoneOrMultipleLandmarkAttributeSet;
+    	iTestCase = KTestCaseLandmarkSearchinvalidAttribute;
+        ResumeThreadAndVerifyExit();
+                
+        // Test that it is not possible to set a SortPref with incorrect
+        // attributes
+        iLog->Log(_L("Test that searching with an invalid attribute panics"));
+        iExpectedPanicCode = EPosNoneOrMultipleLandmarkAttributeSet;
+    	iTestCase = KTestCaseLandmarkSearchinvalidAttribute2;
+        ResumeThreadAndVerifyExit();
+        
+        // Test that Landmark->SetIcon with invalid index panics
+        iLog->Log(_L("Test that Landmark->SetIcon with invalid index panics"));
+        iExpectedPanicCode = EPosLmInvalidArgument;
+    	iTestCase = KTestLandmarkSetIconTest1;
+        ResumeThreadAndVerifyExit();
+        
+        // Test that Landmark->SetIcon with invalid maskindex panics
+        iLog->Log(_L("Test that Landmark->SetIcon with invalid maskindex panics"));
+        iExpectedPanicCode = EPosLmInvalidArgument;
+    	iTestCase = KTestLandmarkSetIconTest2;
+        ResumeThreadAndVerifyExit();
+        
+        // Test that Category->SetIcon with invalid index panics
+        iLog->Log(_L("Test that Category->SetIcon with invalid index panics"));
+        iExpectedPanicCode = EPosLmInvalidArgument;
+    	iTestCase = KTestCategorySetIconTest1;
+        ResumeThreadAndVerifyExit();
+        
+        // Test that Category->SetIcon with invalid maskindex panics
+        iLog->Log(_L("Test that Category->SetIcon with invalid maskindex panics"));
+        iExpectedPanicCode = EPosLmInvalidArgument;
+    	iTestCase = KTestCategorySetIconTest2;
+        ResumeThreadAndVerifyExit();
+                
+    }
+
+// ---------------------------------------------------------
+// CPosTp12::ResumeThreadAndVerifyExit
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp12::ResumeThreadAndVerifyExit()
+    {
+    iLog->Log(_L("ResumeThreadAndVerifyExit"));
+    _LIT(KPanicErr, "Method didn't Panic when expected"); 
+    _LIT(KPanicCodeErr, "Paniced with unexpected panic code");
+
+    CreateThreadL();
+    TRequestStatus status;
+    iThread.Logon(status);
+    iThread.Resume();
+        
+    User::WaitForRequest(status);
+    
+    // Used for debugging
+    TBuf<100> buf;
+    buf.Format(_L("ExitType %d Exit reason %d"), iThread.ExitType(), iThread.ExitReason());
+    iLog->Log(buf);
+
+    AssertTrueSecL(iThread.ExitType() == EExitPanic, KPanicErr);
+    AssertTrueSecL(iThread.ExitReason() == iExpectedPanicCode, KPanicCodeErr);
+       
+    iThread.Close();
+    }
+
+// ---------------------------------------------------------
+// CPosTp12::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp12::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+    iThread.Close();
+    TRAPD(err, RestoreResourceFileL());
+    if (err != KErrNone) iLog->Log(_L("Error in CloseTest"));
+    iLog->Log(_L("CloseTest Done"));
+	}
+
+// ---------------------------------------------------------
+// CPosTp12::RunPanicTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+void CPosTp12::RunPanicTestL(TAny* aData)
+    {
+    CPosTp12* self = reinterpret_cast<CPosTp12*>(aData);
+
+    
+    if(self->iExpectedPanicCode == EPosInvalidValueSpecifiedInResourceFile)
+        {
+        self->ResourceFilePanicTestL();
+        }
+    
+    RArray<TPosLmItemId> ids;
+    CleanupClosePushL(ids);
+
+    CPosLandmarkDatabase* lmd = self->OpenDatabaseLC();
+    CPosLandmark* lm = CPosLandmark::NewLC();
+    
+    CPosLmCategoryManager* cm = CPosLmCategoryManager::NewL(*lmd); 
+    CleanupStack::PushL(cm);
+
+    if (self->iExpectedPanicCode == EPosInvalidPositionFieldId)
+        {
+        lm->NextPositionFieldId(TUint16(222));
+        }
+    else if (self->iExpectedPanicCode == EPosSpecifiedIntervalLiesOutsideIteratedSet) // CategoryIterator
+        {
+        if (self->iTestCase == KTestCaseCategoryIterator)
+            {
+            CPosLmItemIterator* iter = cm->CategoryIteratorL();
+            CleanupStack::PushL(iter);
+            const TInt KCategories=20;
+            _LIT(KName, "CategoryTP12 - %d");
+            for (TInt i=0; i<KCategories; i++)
+                {
+                TBuf<100> categoryName;
+                categoryName.Format(KName,i);
+                CPosLandmarkCategory* lmc = CPosLandmarkCategory::NewLC();
+                lmc->SetCategoryNameL(categoryName);  
+                TInt err = KErrLocked;
+                while (err == KErrLocked)
+                    {
+                    TRAP(err, cm->AddCategoryL(*lmc));
+                    }
+                CleanupStack::Pop(lmc);
+                }
+                
+            const TInt KStartIndex=5;
+            const TInt KNumOfItems=16;
+            iter->GetItemIdsL(ids, KStartIndex, KNumOfItems);
+            CleanupStack::PopAndDestroy(iter);
+            }
+        else if (self->iTestCase == KTestCaseLandmarkIterator)
+            {
+            CPosLmItemIterator* iterLm = lmd->LandmarkIteratorL();
+            CleanupStack::PushL(iterLm);
+            const TInt KLmStartIndex=0;
+            const TInt KLmNumOfItems=1;
+            iterLm->GetItemIdsL(ids, KLmStartIndex, KLmNumOfItems);
+            CleanupStack::PopAndDestroy(iterLm);
+            }
+        }
+    else if (self->iExpectedPanicCode == EPosNoneOrMultipleLandmarkAttributeSet)
+        {
+        if (self->iTestCase == KTestCaseSortPrefNoAttribute)
+            {
+            TPosLmSortPref sortPref(CPosLandmark::ENoAttribute);
+            sortPref.SortOrder();
+            }
+        else if (self->iTestCase == KTestCaseSortPrefSeveralAttribute)
+            {
+            TUint32 attr = CPosLandmark::ELandmarkName | CPosLandmark::EPosition;
+            TPosLmSortPref sortPref(attr);
+            sortPref.SortOrder();
+            }
+        //Test that searching for landmarks with invalid attributes panics
+        else if (self->iTestCase == KTestCaseLandmarkSearchinvalidAttribute)
+            {
+            CPosLandmarkSearch* landmarkSearch = CPosLandmarkSearch::NewL(*lmd);
+            CleanupStack::PushL(landmarkSearch);
+            // Invalid attribute, (correct ascended sorted)
+            TPosLmSortPref sortPref((TUint32)5);
+
+            CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();   
+            textCriteria->SetTextL(_L("Library*"));
+            CPosLmOperation* operation = landmarkSearch->StartLandmarkSearchL(*textCriteria, sortPref);
+            CleanupStack::PushL(operation);
+            ExecuteAndDeleteLD(operation);
+            CleanupStack::PopAndDestroy(operation);
+            }
+        //Test that it is not possible to set a TPosLmSortPref with invalid attributes
+        else if (self->iTestCase == KTestCaseLandmarkSearchinvalidAttribute2)
+            {
+            TPosLmSortPref sortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+            sortPref.SetSortByLandmarkAttribute((TUint32)5, TPosLmSortPref::EAscending);
+            } 
+        }
+    else if (self->iExpectedPanicCode == EPosNaNCoordinate)
+        {
+        TCoordinate coord;
+        CPosLmNearestCriteria* lmnc = CPosLmNearestCriteria::NewLC(coord);  
+        
+        CleanupStack::PopAndDestroy(lmnc);
+        }
+    else if (self->iExpectedPanicCode == EPosInvalidLandmarkAttribute)
+        {
+        if (self->iTestCase == KTestCaseInvalidAttributes1)
+        	{
+        	// Test with incorrect attributes
+	        CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+	        textCriteria->SetAttributesToSearch(CPosLandmark::EIcon);
+	        CleanupStack::PopAndDestroy(textCriteria);
+	        }
+	    else if (self->iTestCase == KTestCaseInvalidAttributes2)
+        	{
+        	// Test with invalid attributes
+        	CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+	        textCriteria->SetAttributesToSearch(5);
+	        CleanupStack::PopAndDestroy(textCriteria);
+        	}
+        }
+    else if (self->iExpectedPanicCode == EPosInvalidPartialReadParameters)
+        {
+        CPosLmPartialReadParameters* partialParam = lmd->PartialReadParametersLC();
+        if (self->iTestCase == KTestCasePartialAttributes1)
+            {
+            TUint attr = 348764;
+            partialParam->SetRequestedAttributes(attr);   
+            }
+        else if (self->iTestCase == KTestCasePartialAttributes2)
+            {
+            TUint attr = CPosLandmark::ELandmarkName|
+									CPosLandmark::EPosition|
+									CPosLandmark::ECoverageRadius|
+									CPosLandmark::ECategoryInfo|
+									CPosLandmark::EIcon|
+									CPosLandmark::EDescription;
+            // attr equals 63 (see EPos_CPosLmPartialReadParameters.cpp)
+            partialParam->SetRequestedAttributes(attr+1);
+            }       
+        CleanupStack::PopAndDestroy(partialParam);
+        }
+    else if (self->iExpectedPanicCode == EPosInvalidRequestedPositionFields)
+        {
+        CPosLmPartialReadParameters* partialParam = lmd->PartialReadParametersLC();
+        RArray<TUint> reqFields;
+        CleanupClosePushL(reqFields);
+        
+        if (self->iTestCase == KTestCaseInvalidRequestedPositionFields1)
+            {
+            // Test with index outside allowed interval
+            TInt outside = EPositionFieldIdLast;
+            reqFields.Append(++outside);
+            partialParam->SetRequestedPositionFields(reqFields);
+            }
+        else if (self->iTestCase == KTestCaseInvalidRequestedPositionFields2)
+            {
+            // Test with index outside allowed interval
+            TInt outside = EPositionFieldIdLast;
+
+            reqFields.Append(EPositionFieldCountry);
+            reqFields.Append(EPositionFieldCity);
+            reqFields.Append(++outside);
+
+            partialParam->SetRequestedPositionFields(reqFields);
+            }
+        CleanupStack::PopAndDestroy(&reqFields);
+        CleanupStack::PopAndDestroy(partialParam);
+        }
+    else if (self -> iExpectedPanicCode == EPosNegativeValue)
+        {
+        if (self->iTestCase == KTestCaseNegativeDistance)
+            {
+            TCoordinate corr(19,20,10);
+            CPosLmNearestCriteria* criteria =  CPosLmNearestCriteria::NewLC(corr, ETrue);
+            criteria -> SetMaxDistance (-1); //should panic
+            CleanupStack::PopAndDestroy(criteria);
+            }
+        else if (self ->iTestCase == KTestCaseNegativeRadius)
+            {
+            CPosLandmark* lm = CPosLandmark::NewLC();
+            lm -> SetCoverageRadius(-1); // should panic
+            CleanupStack::PopAndDestroy(lm);
+            }
+        }
+    else if (self->iExpectedPanicCode == 130)
+        {
+        // The index supplied to method CPosLmCompositeCriteria::Argument must be in the 
+        // interval [0, NumOfArguments - 1] otherwise cause a USER-130 Panic to be raised
+        if (self->iTestCase == KTestCaseCompositeSearch1)
+            {
+            CPosLmCompositeCriteria* composite = CPosLmCompositeCriteria::NewLC(CPosLmCompositeCriteria::ECompositionAND);
+            // Panic test 1, invalid position, should raise USER-130 panic
+            /*CPosLmSearchCriteria& comp1 = */ composite->Argument(0);
+            }
+        else if (self->iTestCase == KTestCaseCompositeSearch2 || self->iTestCase == KTestCaseCompositeSearch3)
+            {
+            CPosLandmarkSearch* search = CPosLandmarkSearch::NewL(*lmd);
+            CleanupStack::PushL(search);
+
+            CPosLmCompositeCriteria* composite = CPosLmCompositeCriteria::NewLC(CPosLmCompositeCriteria::ECompositionAND);
+
+            //CPosLmCatNameCriteria* nameCriteria = CPosLmCatNameCriteria::NewLC();
+            //nameCriteria->SetSearchPatternL(_L("*"));
+            
+            CPosLmTextCriteria* textCriteria1 = CPosLmTextCriteria::NewLC();
+            textCriteria1->SetTextL(_L("*"));
+            
+            TInt err = composite->AddArgument(textCriteria1);
+            if (err != KErrNone) User::Leave(666);
+            CleanupStack::Pop(textCriteria1);
+            
+            CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+            textCriteria->SetTextL(_L("*"));
+            TUint attr = CPosLandmark::ELandmarkName | CPosLandmark::EDescription;
+            textCriteria->SetAttributesToSearch(attr);
+            
+            err = composite->AddArgument(textCriteria);
+            if (err != KErrNone) User::Leave(667);
+            CleanupStack::Pop(textCriteria);
+            
+            TInt nr = composite->NumOfArguments();
+            
+            if (self->iTestCase == KTestCaseCompositeSearch2)
+                {
+                // Should raise a USER-130 panic
+                /*CPosLmSearchCriteria& comp3 = */composite->Argument(nr);
+                }
+            else 
+                {
+                // Should raise a USER-130 panic
+                /*CPosLmSearchCriteria& comp3 = */composite->Argument(nr+1);
+                }
+            CleanupStack::PopAndDestroy(search);
+            }
+        else if (self->iTestCase == KTestCaseCompositeSearch4)
+            {
+            CPosLmCompositeCriteria* composite = CPosLmCompositeCriteria::NewLC(CPosLmCompositeCriteria::ECompositionAND);
+            // Panic test 1, invalid position, should raise USER-130 panic, unfortunately raises a compiler warning
+            // about signed/unsigned
+            
+            TInt dummy = -1;
+            composite->Argument(dummy);
+            }
+		else if (self->iTestCase == KTestCaseCompositeSearch5)
+            {
+            CPosLmCompositeCriteria* composite = CPosLmCompositeCriteria::NewLC(CPosLmCompositeCriteria::ECompositionAND);
+            // Removing invalid position, should raise USER-130 panic, unfortunately raises a compiler warning
+            // about signed/unsigned
+            
+            TInt dummy = -1;
+            composite->RemoveArgument(dummy);
+            }
+		else if (self->iTestCase == KTestCaseCompositeSearch6)
+            {
+            CPosLmCompositeCriteria* composite = CPosLmCompositeCriteria::NewLC(CPosLmCompositeCriteria::ECompositionAND);
+            // Removing invalid position, should raise USER-130 panic, unfortunately raises a compiler warning
+            // about signed/unsigned
+            
+            TInt dummy = 0;
+            composite->RemoveArgument(dummy);
+            }            
+		else if (self->iTestCase == KTestCaseCompositeSearch7)
+            {
+            CPosLmCompositeCriteria* composite = CPosLmCompositeCriteria::NewLC(CPosLmCompositeCriteria::ECompositionAND);
+            // Removing invalid position, should raise USER-130 panic, unfortunately raises a compiler warning
+            // about signed/unsigned
+            
+            
+            CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+            textCriteria->SetTextL(_L("*"));
+            composite->AddArgument(textCriteria);
+            CleanupStack::Pop(textCriteria);
+            
+            TInt dummy = 1;
+            composite->RemoveArgument(dummy);
+            }
+		else if (self->iTestCase == KTestCaseCompositeSearch8)
+            {
+            CPosLmCompositeCriteria* composite = CPosLmCompositeCriteria::NewLC(CPosLmCompositeCriteria::ECompositionAND);
+            // Removing invalid position, should raise USER-130 panic, unfortunately raises a compiler warning
+            // about signed/unsigned
+            
+            
+            CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+            textCriteria->SetTextL(_L("*"));
+            composite->AddArgument(textCriteria);
+            CleanupStack::Pop(textCriteria);
+            
+            TInt dummy = 2;
+            composite->RemoveArgument(dummy);
+            }            
+        }
+    else if (self->iTestCase == KTestCaseDuplicateNotifyDatabaseEvent)
+        {
+        self->iExpectedPanicCode = static_cast<TPositionLandmarksClientPanic>(2);
+        CPosLandmarkDatabase* lmd = CPosLandmarkDatabase::OpenL();
+        CleanupStack::PushL(lmd);
+        TRequestStatus status1;
+        TPosLmEvent event1;
+        TRequestStatus status2;
+        TPosLmEvent event2;
+        lmd->NotifyDatabaseEvent(event1, status1);
+        // Just in case
+        User::After(1000000);
+        // Should raise a EPosEventNotifierAlreadyHasOutstandingRequest Panic
+        lmd->NotifyDatabaseEvent(event2, status2);
+        // Just in case
+        User::After(1000000);
+        CleanupStack::PopAndDestroy(lmd);
+        }
+    else if (self->iExpectedPanicCode == EPosInvalidEnumValue)
+        {
+        CPosLandmarkDatabase* lmd = CPosLandmarkDatabase::OpenL();
+        CleanupStack::PushL(lmd);
+        CPosLmCompositeCriteria* composite = CPosLmCompositeCriteria::NewLC(CPosLmCompositeCriteria::ECompositionAND);
+        if (self->iTestCase == KTestCaseIncorrectCompositeType1)
+            {
+            composite->SetCompositionType((CPosLmCompositeCriteria::TCompositionType)10);
+            }
+        else if (self->iTestCase == KTestCaseIncorrectCompositeType2)
+            {
+            composite->SetCompositionType((CPosLmCompositeCriteria::TCompositionType)-1);
+            }
+        else if (self->iTestCase == KTestCaseIncorrectCompositeType3)
+            {
+            CPosLmCompositeCriteria* composite2 = CPosLmCompositeCriteria::NewLC((CPosLmCompositeCriteria::TCompositionType)5);
+            CleanupStack::PopAndDestroy(composite2);
+            }
+        else if (self->iTestCase == KTestCaseIncorrectCompositeType4)
+            {
+            CPosLmCompositeCriteria* composite2 = CPosLmCompositeCriteria::NewLC((CPosLmCompositeCriteria::TCompositionType)-5);
+            CleanupStack::PopAndDestroy(composite2);
+            }
+        CleanupStack::PopAndDestroy(composite);
+        
+        // Test that using invalid sortpref panics
+        if (self->iTestCase == KTestCaseCategoryIteratorSortPref)
+            {
+            CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*lmd);
+            CPosLmItemIterator* catIter = categoryManager->CategoryIteratorL((CPosLmCategoryManager::TCategorySortPref)3);
+            CleanupStack::PushL(catIter);
+            CleanupStack::PopAndDestroy(catIter);
+            }
+        // Test that using invalid sortpref panics
+        else if (self->iTestCase == KTestCaseReferencedCategoryIteratorSortPref)
+            {
+            CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*lmd);
+            CPosLmItemIterator* catIter = categoryManager->ReferencedCategoryIteratorL((CPosLmCategoryManager::TCategorySortPref)4);
+            CleanupStack::PushL(catIter);
+            CleanupStack::PopAndDestroy(catIter);
+            }
+        //Test that using invalid sortpref panics
+        else if (self->iTestCase == KTestCaseCategorySearchSortPref)
+            {
+            CPosLandmarkSearch* landmarkSearch = CPosLandmarkSearch::NewL(*lmd);
+            CleanupStack::PushL(landmarkSearch);
+            
+            CPosLmCatNameCriteria* nameCriteria = CPosLmCatNameCriteria::NewLC();
+            // Use wildcard * as search pattern
+            nameCriteria->SetSearchPatternL(_L("Pub"));
+            ExecuteAndDeleteLD(landmarkSearch->StartCategorySearchL(*nameCriteria, (CPosLmCategoryManager::TCategorySortPref)5));
+            CleanupStack::PopAndDestroy(nameCriteria);
+            CleanupStack::PopAndDestroy(landmarkSearch);
+            }
+        //Test that it is not possible to create a TPosLmSortPref with invalid value
+        else if (self->iTestCase == KTestCaseLandmarkSortPref)
+            {           
+            TPosLmSortPref sortPref(CPosLandmark::ELandmarkName, 
+                                    (TPosLmSortPref::TSortOrder)4321);
+            }
+        //Test that it is not possible to set a TPosLmSortPref to invalid values
+        else if (self->iTestCase == KTestCaseLandmarkSortPref2)
+            {           
+            TPosLmSortPref sortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+            sortPref.SetSortByLandmarkAttribute(CPosLandmark::ELandmarkName, (TPosLmSortPref::TSortOrder)25);
+            }
+        CleanupStack::PopAndDestroy(lmd);
+        }
+    else if (self->iExpectedPanicCode == EPosInvalidOperationMode)
+        {
+        CPosLandmarkDatabase* lmd = CPosLandmarkDatabase::OpenL();
+        CleanupStack::PushL(lmd);
+        
+        CPosLandmarkSearch* landmarkSearch = CPosLandmarkSearch::NewL(*lmd);
+        CleanupStack::PushL(landmarkSearch);
+
+        CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();   
+        textCriteria->SetTextL(_L("Library*"));
+        CPosLmOperation* operation = landmarkSearch->StartLandmarkSearchL(*textCriteria);
+        CleanupStack::PushL(operation);
+
+        if (self->iTestCase == KTestCaseInvalidOperationMode1)
+            {
+            // Two subsequent ExecuteL calls should Panic
+            operation->ExecuteL();
+            operation->ExecuteL();
+            }
+        else if (self->iTestCase == KTestCaseInvalidOperationMode2)
+            {
+            operation->ExecuteL();
+            TRequestStatus status;
+            TReal32 progress;
+            operation->NextStep(status, progress);
+            }
+        else if (self->iTestCase == KTestCaseInvalidOperationMode3)
+            {
+            TRequestStatus status;
+            TReal32 progress;
+            operation->NextStep(status, progress);
+            operation->ExecuteL();
+            }
+        else if (self->iTestCase == KTestCaseInvalidOperationMode4)
+            {
+            TRequestStatus status;
+            TReal32 progress;
+            operation->NextStep(status, progress);
+            operation->NextStep(status, progress);
+            }
+        CleanupStack::PopAndDestroy(operation);
+        CleanupStack::PopAndDestroy(textCriteria);
+        CleanupStack::PopAndDestroy(landmarkSearch);
+        CleanupStack::PopAndDestroy(lmd);
+        }
+    else if (self->iExpectedPanicCode == EPosLmInvalidArgument)
+        {
+        if (self->iTestCase == KTestCaseNegativeMatches)
+            {
+            CPosLandmarkSearch* search = CPosLandmarkSearch::NewL(*lmd);
+            CleanupStack::PushL(search);
+            search->SetMaxNumOfMatches(-10);
+            CleanupStack::PopAndDestroy(search);
+            }
+       else if (self->iTestCase == KTestCaseZeroMatches)
+            {
+            CPosLandmarkSearch* search = CPosLandmarkSearch::NewL(*lmd);
+            CleanupStack::PushL(search);
+            search->SetMaxNumOfMatches(0);
+            CleanupStack::PopAndDestroy(search);
+            }
+        else if (self->iTestCase == KTestLandmarkSetIconTest1)
+            {
+            CPosLandmark* lm = CPosLandmark::NewLC();
+            // Panics here
+            lm->SetIconL(_L("IconFileName"), -2, KPosLmIconMaskNotUsed);
+            CleanupStack::PopAndDestroy(lm);
+            }
+        else if (self->iTestCase == KTestLandmarkSetIconTest2)
+            {
+            CPosLandmark* lm = CPosLandmark::NewLC();
+            // Panics here
+            lm->SetIconL(_L("IconFileName"), 1, -2);
+            CleanupStack::PopAndDestroy(lm);
+            }
+        else if (self->iTestCase == KTestCategorySetIconTest1)
+            {
+            CPosLandmarkCategory* category = CPosLandmarkCategory::NewLC();
+            category->SetCategoryNameL(_L("NewCategory1"));
+            // Panics here
+            category->SetIconL(_L("IconFileName"), -5, KPosLmIconMaskNotUsed);
+            CleanupStack::PopAndDestroy(category);
+            }
+        else if (self->iTestCase == KTestCategorySetIconTest2)
+            {
+            CPosLandmarkCategory* category = CPosLandmarkCategory::NewLC();
+            category->SetCategoryNameL(_L("NewCategory2"));
+            // Panics here
+            category->SetIconL(_L("IconFileName"), 5, -2);
+            CleanupStack::PopAndDestroy(category);
+            }
+        }
+    
+    CleanupStack::PopAndDestroy(4,&ids);
+    }
+
+LOCAL_C TInt ThreadFunction(TAny* aData)
+    {
+    CTrapCleanup* cleanup=CTrapCleanup::New(); 
+
+    CActiveScheduler* actSch = new (ELeave) CActiveScheduler;
+    CActiveScheduler::Install(actSch);
+
+    TRAPD(err, CPosTp12::RunPanicTestL(aData));
+    
+    delete actSch;
+    delete cleanup;
+    return err;
+    }
+
+// ---------------------------------------------------------
+// CPosTp12::CreateThreadL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+void CPosTp12::CreateThreadL()
+    {
+    _LIT(KThreadName, "TP12testthread%d");
+    _LIT(KCreateThreadErr, "Create thread failed with %d");
+
+	TBuf<100> buf;
+	buf.Format(KThreadName, iTreadCounter++);
+     TInt err=0;
+     err = iThread.Create(buf, ThreadFunction, KDefaultStackSize, KMinHeapSize, KMaxHeapSize, this);
+        
+     AssertTrueSecL(err == KErrNone, KCreateThreadErr, err);                                                                  
+            
+    }
+
+// ---------------------------------------------------------
+// CPosTp12::ResourceFilePanicTestLL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+void CPosTp12::ResourceFilePanicTestL()
+    {
+    RemoveDefaultDbL();
+    CPosLandmarkDatabase* lmd=UseInvalidResourceFileL();
+    CleanupStack::PushL(lmd);
+
+    if (lmd->IsInitializingNeeded())
+        {
+        ExecuteAndDeleteLD(lmd->InitializeL()); 
+        }
+        
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*lmd); 
+    CleanupStack::PushL(categoryManager);
+
+    RArray<TPosLmItemId> ids;
+    CleanupClosePushL(ids);
+
+    ids.Append(1);
+    ExecuteAndDeleteLD(categoryManager->RemoveCategoriesL(ids)); 
+   
+    CleanupStack::PopAndDestroy(3, lmd);
+    }
+
+// ---------------------------------------------------------
+// CPosTp12::UseInvalidGlobalCategoriesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+CPosLandmarkDatabase* CPosTp12::UseInvalidResourceFileL()
+    {
+    _LIT(KInvalidResourceFile, "c:\\system\\test\\testdata\\EPOSLMASYNCOPS.RSC");
+    
+    CFileMan* fileMan = CFileMan::NewL(iFileSession);
+    CleanupStack::PushL(fileMan);
+
+    TInt err = fileMan->Rename(KResourceFile, KTempResourceFile, CFileMan::EOverWrite);
+    if (err != KErrNone && err != KErrNotFound)
+        {
+        iLog->Log(_L("Unexpected error when trying to rename EPOSLMASYNCOPS.RSC"));
+        User::Leave(err);
+        }
+
+    User::LeaveIfError(fileMan->Copy(KInvalidResourceFile, KResourceFilePath, CFileMan::EOverWrite));
+
+    CleanupStack::PopAndDestroy(fileMan);
+
+    return CPosLandmarkDatabase::OpenL();
+    }
+
+// ---------------------------------------------------------
+// CPosTp12::RestoreResourceL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+void CPosTp12::RestoreResourceFileL()
+    {
+    CFileMan* fileMan = CFileMan::NewL(iFileSession);
+    CleanupStack::PushL(fileMan);
+
+    User::LeaveIfError(fileMan->Delete(KResourceFile));
+
+    TInt err = fileMan->Rename(KTempResourceFile, KResourceFile, CFileMan::EOverWrite);
+    if (err != KErrNone && err != KErrNotFound)
+        {
+        iLog->Log(_L("Unexpected error when trying to rename TEMP_EPOSLMASYNCOPS.RSC"));
+        User::Leave(err);
+        }
+
+    CleanupStack::PopAndDestroy(fileMan);
+
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp120.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,1225 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp120.h"
+#include "FT_LandmarkConstants.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLmCategoryManager.h>
+#include <EPos_CPosLmAreaCriteria.h>
+#include <EPos_CPosLMItemIterator.h>    
+#include <EPos_TPosLMSortPref.h>
+     
+// CONSTANTS  
+const TInt KNrOfDbs = 5;
+const TInt KLmPerDb = 20;
+const TInt KTotLms = 105;
+
+// ================= MEMBER FUNCTIONS =======================
+
+
+// ---------------------------------------------------------
+// CPosTp120::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp120::CloseTest()
+    {
+    delete iDatabase;
+    iDatabase = NULL;
+    
+    delete iDbArray;
+
+    delete iLmMultiSearch;
+    iLmMultiSearch = NULL;
+    
+    iAreaSearchResults.ResetAndDestroy();
+    
+    REComSession::FinalClose();
+    }
+
+// ---------------------------------------------------------
+// CPosTp120::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp120::StartL()
+    {
+    // Split databases, NrOfDBs db, LmPerDb lm in each, TotLms is last lm id from original db.
+    // Last param is to enable/disable debug
+    iDbArray = CreateDatabasesL(KNrOfDbs, KLmPerDb, KTotLms); //, ETrue);    
+       
+    // Constructing a lm multi search 
+    iLmMultiSearch = CPosLmMultiDbSearch::NewL(*iDbArray);
+
+    AppendAreaSearchResultsL();
+            
+    iLog->Log(_L("Testing search with criterias read from LmDbAreaSearchResult.txt syncronously"));
+    SearchL(iAreaSearchResults, ESynchronous);
+
+    iLog->Log(_L("Testing search with criterias read from LmDbAreaSearchResult.txt asyncronously"));
+    SearchL(iAreaSearchResults, EAsynchronous);
+
+    
+    iLog->Log(_L("Testing search with a defined sortorder"));
+    SearchWithSortOrderL(iAreaSearchResults);   
+
+    iLog->Log(_L("Testing search and cancel"));
+    SearchAndCancelL();
+    
+
+    iLog->Log(_L("Testing maximum number of matches"));
+    SearchWithMaximumL();
+    
+    iLog->Log(_L("Testing searching on the fly"));
+    OnTheFlySearchL();  
+    
+    iLog->Log(_L("Testing a redefined search after landmarks have been renamed"));
+    SearchAndRenameL();
+
+    iLog->Log(_L("Testing a redefined search after a landmark has been removed"));
+    SearchAndDeleteL();
+
+    }
+
+// ---------------------------------------------------------
+// CPosTp120::AreaCriteriaL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+CPosLmAreaCriteria* CPosTp120::AreaCriteriaL(const TReal64 &aSouthLat, 
+                                             const TReal64 &aNorthLat,
+                                             const TReal64 &aWestLong, 
+                                             const TReal64 &aEastLong) 
+    {
+    CPosLmAreaCriteria* areaCriteria = CPosLmAreaCriteria::NewLC(aSouthLat, 
+                                                                aNorthLat, 
+                                                                aWestLong, 
+                                                                aEastLong);
+    CleanupStack::Pop();
+    return areaCriteria;
+    }
+
+// ---------------------------------------------------------
+// CPosTp120::CheckDatabasesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp120::CheckDatabasesL(
+    CDesCArray* aExpectedLmUris,
+    TUint aExpectedMaxMatches)
+    {
+    CDesCArray* dbToSearch = iLmMultiSearch->DatabasesToSearchL();
+    CleanupStack::PushL(dbToSearch);
+    
+    _LIT(KWrongNrDatabases, "Wrong number of databases to search!");
+    AssertTrueSecL(aExpectedLmUris != dbToSearch, KWrongNrDatabases);
+    AssertTrueSecL(aExpectedLmUris->Count() == dbToSearch->Count(), KWrongNrDatabases);
+    CleanupStack::PopAndDestroy(dbToSearch);
+    
+    AssertTrueSecL(aExpectedLmUris->Count() == iLmMultiSearch->NumOfDatabasesToSearch(), 
+        KWrongNrDatabases);
+    for (TInt i=0; i<aExpectedLmUris->Count(); i++)
+        {
+        AssertTrueSecL(aExpectedLmUris->MdcaPoint(i) == iLmMultiSearch->DatabaseUriPtr(i), 
+            KWrongNrDatabases);        
+        }
+    
+    _LIT(KWrongNrMatches, "Wrong number of max matches!");
+    AssertTrueSecL(iLmMultiSearch->MaxNumOfMatches() == aExpectedMaxMatches, 
+        KWrongNrMatches);        
+    }
+
+// ---------------------------------------------------------
+// CPosTp120::GetLmIdsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp120::GetLmIdsL(
+    TInt aDbId, 
+    RArray<TPosLmItemId> aSearchResults,
+    RArray<TPosLmItemId>& aLmIdForADb)
+    {
+    TInt startId = aDbId * KLmPerDb + 1;
+    TInt stopId = 0;
+    
+    if (aDbId == KNrOfDbs - 1)
+        {
+        stopId = KTotLms;            
+        }
+    else 
+        {
+        stopId = (aDbId+1) * KLmPerDb;            
+        }
+    
+    for (TInt i=0; i<aSearchResults.Count(); i++)
+        {
+        if (aSearchResults[i] >= startId && aSearchResults[i] <= stopId)
+            {
+            User::LeaveIfError(aLmIdForADb.Append(aSearchResults[i]));
+            }
+        }
+    }
+    
+// ---------------------------------------------------------
+// CPosTp120::CheckEqualsLmsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp120::CheckEqualsLmsL(
+    TPosLmItemId aSource, 
+    TPosLmItemId aTarget)
+    {
+    _LIT(KSortorderErr, "The sortorder is incorrect");
+
+    if (aSource != aTarget)
+        {                
+        // Check if same name then don't Leave
+        CPosLandmark* source = iDatabase->ReadLandmarkLC(aSource);
+        CPosLandmark* target = iDatabase->ReadLandmarkLC(aTarget);
+        TPtrC sourceName, targetName;
+        source->GetLandmarkName(sourceName);
+        target->GetLandmarkName(targetName);
+
+        if (EFalse)
+            {
+            // For debugging purposes
+            TBuf<100> buf;
+            buf.Append(_L("Name:"));
+            buf.Append(sourceName);
+            buf.Append(targetName);
+            iLog->Log(buf);
+            }
+
+        AssertTrueSecL(!sourceName.CompareC(targetName), KSortorderErr, aSource);
+        CleanupStack::PopAndDestroy(2, source); // target, source
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp120::SearchL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp120::SearchL(
+    const RPointerArray<CAreaSearchResult>& aSearchResults, 
+    TExecutionMode aExecutionMode)
+    {
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect when the search is performed");
+    _LIT(KNotFoundErr, "Id %d not found in parsed Lm search results when the search is performed syncronously");
+    TBuf<255> info;
+
+    for(TInt i=0; i<aSearchResults.Count(); i++)
+        {   
+        CPosLmAreaCriteria* areaCriteria = NULL;
+        TRAPD(err, areaCriteria = CPosTp120::AreaCriteriaL(aSearchResults[i]->SouthLat(),
+                                                aSearchResults[i]->NorthLat(),
+                                                aSearchResults[i]->WestLong(),
+                                                aSearchResults[i]->EastLong()));
+        CleanupStack::PushL(areaCriteria);
+        
+        if (err != aSearchResults[i]->ErrorCode())
+            {
+            iLog->Log(_L("Unexpected error code returned"));    
+            iLog->Log(_L("Area Search result read from file:"));
+            
+            aSearchResults[i]->Print(info);
+            iLog->Log(info);
+
+            _LIT(KReturned, "Search returned errorCode = %d");
+            info.Format(KReturned, err);
+            iLog->Log(info);
+            User::Leave(KErrGeneral);
+            }
+            
+        if (!err)
+            {
+            CPosLmOperation* operation = 
+                iLmMultiSearch->StartLandmarkSearchL(*areaCriteria, aSearchResults[i]->Redefined());
+            CleanupStack::PushL(operation);
+             switch (aExecutionMode)
+                {
+                case ESynchronous:
+                    ExecuteAndDeleteLD(operation);
+                    CleanupStack::Pop(operation);
+                    break;
+                case EAsynchronous:
+                    RunAsyncOperationLD(operation);
+                    CleanupStack::Pop(operation);
+                    break;
+                case EWaitForRequest:
+                    RunAsyncOperationByWaitForReqL(operation);
+                    CleanupStack::PopAndDestroy(operation);                
+                    break;
+                }
+
+            // Check database array
+            CheckDatabasesL(iDbArray);
+
+            // Check for errors        
+            AssertTrueSecL(iLmMultiSearch->NumOfSearchErrors() == 0, 
+                _L("Error(s) found during multi search."));
+
+            // Check total number of matches       
+            if ((TUint)(aSearchResults[i]->SearchResult()).Count() != 
+                iLmMultiSearch->TotalNumOfMatches())
+                {
+                _LIT(KExpected, "Expected no. of matches: %d");
+                _LIT(KReturned, "Returned no. of matches: %d");
+                TBuf<100> info;
+                info.Format(KExpected, (aSearchResults[i]->SearchResult()).Count());
+                iLog->Log(info);
+                info.Format(KReturned, iLmMultiSearch->TotalNumOfMatches());
+                iLog->Log(info);
+               
+                iLog->Log(KNumOfMatchesErr);
+                User::Leave(-1);
+                }
+
+            RArray<TPosLmItemId> lmids;
+            CleanupClosePushL(lmids);
+
+            for (TInt j=0; j<iLmMultiSearch->NumOfDatabasesToSearch(); j++) 
+                {
+                CPosLmItemIterator* iter = iLmMultiSearch->MatchIteratorL(j);
+                // Check if there are any matches = iteration exists.
+                if (iter) 
+                    {
+                    CleanupStack::PushL(iter);
+                    TPosLmItemId id = iter->NextL();    
+                    while (id != KPosLmNullItemId)
+                        {
+                        // Check that found id is expected
+                        AssertTrueSecL(aSearchResults[i]->FindSearchResult(id), KNotFoundErr);
+                        User::LeaveIfError(lmids.Append(id));                              
+                        id = iter->NextL();
+                        }
+                    CleanupStack::PopAndDestroy(iter);                
+                    }
+                else 
+                    {
+                    _LIT(KIterNull, "MatchIterator returned null for a db");
+                    iLog->Log(KIterNull);
+                    }
+                }
+
+            AssertTrueSecL(aSearchResults[i]->SearchResult().Count() == lmids.Count(), 
+                _L("Expected number of hits and found hits don't match"));
+
+            for (TInt k=0; k<lmids.Count(); k++)
+                {
+                // Check that found id is expected from all ids
+                AssertTrueSecL(aSearchResults[i]->FindSearchResult(lmids[k]), KNotFoundErr);
+                }
+
+            CleanupStack::PopAndDestroy(&lmids); // lmids
+            }
+            
+        CleanupStack::PopAndDestroy(areaCriteria);
+
+        _LIT(KSearchNr, "Multi search test index #%d executed ok.");
+        TBuf<100> buf;
+        buf.Format(KSearchNr, i);        
+        iLog->Log(buf);
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp120::SearchWithSortOrderL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp120::SearchWithSortOrderL(const RPointerArray<CAreaSearchResult>& aSearchResults)
+    {
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect when the search is performed syncronously");
+   
+    TPosLmSortPref sortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);  
+ 
+    for (TInt j=0; j<aSearchResults.Count(); j++)
+        {   
+        CPosLmAreaCriteria* areaCriteria = NULL;
+        TRAPD(err, areaCriteria = AreaCriteriaL(
+                    iAreaSearchResults[j]->SouthLat(),
+                    iAreaSearchResults[j]->NorthLat(),
+                    iAreaSearchResults[j]->WestLong(),
+                    iAreaSearchResults[j]->EastLong()));
+        
+        CleanupStack::PushL(areaCriteria);
+        
+        if (err != KErrNone)
+            {
+            CleanupStack::PopAndDestroy(areaCriteria);
+            continue;
+            }
+            
+               
+        // 5 and 6 is using WaitForRequest
+        for (TInt i=0; i<4; i++)
+            {
+            switch (i)
+                {
+                //**** sync
+                case 0:
+                    ExecuteAndDeleteLD(iLmMultiSearch->StartLandmarkSearchL(
+                        *areaCriteria, 
+                        sortPref, 
+                        aSearchResults[j]->Redefined()));
+                    break;
+                case 1:
+                    sortPref.SetSortByLandmarkAttribute(CPosLandmark::ELandmarkName, TPosLmSortPref::EDescending);
+                    ExecuteAndDeleteLD(iLmMultiSearch->StartLandmarkSearchL(
+                        *areaCriteria, 
+                        sortPref, 
+                        aSearchResults[j]->Redefined()));
+                    break;
+                case 2:
+                //**** async
+                    RunAsyncOperationLD(iLmMultiSearch->StartLandmarkSearchL(
+                        *areaCriteria, 
+                        sortPref, 
+                        aSearchResults[j]->Redefined()));
+                    break;
+                case 3:
+                    sortPref.SetSortByLandmarkAttribute(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+                    RunAsyncOperationLD(iLmMultiSearch->StartLandmarkSearchL(
+                        *areaCriteria, 
+                        sortPref, 
+                        aSearchResults[j]->Redefined()));
+                    break;
+                //**** asych with User::WaitForRequest()
+                case 4:
+                    {
+                    CPosLmOperation* op = iLmMultiSearch->StartLandmarkSearchL(
+                        *areaCriteria, 
+                        sortPref, 
+                        aSearchResults[j]->Redefined());
+                    CleanupStack::PushL(op);
+                    RunAsyncOperationByWaitForReqL(op);
+                    CleanupStack::PopAndDestroy(op);
+                    }
+                    break;
+                case 5:
+                    {
+                    sortPref.SetSortByLandmarkAttribute(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+                    CPosLmOperation* op = iLmMultiSearch->StartLandmarkSearchL(
+                        *areaCriteria, 
+                        sortPref, 
+                        aSearchResults[j]->Redefined());
+                    CleanupStack::PushL(op);
+                    RunAsyncOperationByWaitForReqL(op);
+                    CleanupStack::PopAndDestroy(op);
+                    }
+                    break;
+                }
+            }
+           
+        // Check database array
+        CheckDatabasesL(iDbArray);
+
+        // Check for errors        
+        AssertTrueSecL(iLmMultiSearch->NumOfSearchErrors() == 0, 
+            _L("Error(s) found during multi search."));
+
+        // Check total number of matches       
+        if ((TUint)(aSearchResults[j]->SearchResult()).Count() != 
+            iLmMultiSearch->TotalNumOfMatches())
+            {
+            _LIT(KExpected, "Expected no. of matches: %d");
+            _LIT(KReturned, "Returned no. of matches: %d");
+            TBuf<100> info;
+            info.Format(KExpected, (aSearchResults[j]->SearchResult()).Count());
+            iLog->Log(info);
+            info.Format(KReturned, iLmMultiSearch->TotalNumOfMatches());
+            iLog->Log(info);
+            
+            iLog->Log(KNumOfMatchesErr);
+            User::Leave(-1);
+            }
+        
+        RArray<TPosLmItemId>* searchResults = &aSearchResults[j]->SearchResult();        
+        for (TInt n=0; n<iLmMultiSearch->NumOfDatabasesToSearch(); n++) 
+            {
+            RArray<TPosLmItemId> lmids;
+            CleanupClosePushL(lmids);
+            GetLmIdsL(n, *searchResults, lmids);            
+
+            iDatabase = CPosLandmarkDatabase::OpenL(iLmMultiSearch->DatabaseUriPtr(n));
+            if (iDatabase->IsInitializingNeeded())
+           {
+           ExecuteAndDeleteLD(iDatabase->InitializeL());
+           }
+
+            LandmarksSortL(lmids, sortPref);
+        
+            CPosLmItemIterator* iter = iLmMultiSearch->MatchIteratorL(n);
+            // Check if there are any matches = iteration exists.
+            if (iter) 
+                {
+                CleanupStack::PushL(iter);
+                TInt lmid = 0;
+                TPosLmItemId id = iter->NextL();
+        
+                while (id != KPosLmNullItemId)
+                    {
+                    CheckEqualsLmsL(id, lmids[lmid]);
+                    
+                    id = iter->NextL();
+                    ++lmid;
+                    }
+                CleanupStack::PopAndDestroy(iter);
+                }
+            else 
+                {
+                _LIT(KIterNull, "MatchIterator returned null for a db");
+                iLog->Log(KIterNull);
+                }
+                
+            delete iDatabase;
+            iDatabase = NULL;
+            
+            CleanupStack::PopAndDestroy(&lmids);
+            }
+                   
+        CleanupStack::PopAndDestroy(areaCriteria);
+        
+        _LIT(KSearchNr, "Multi search test index #%d executed ok.");
+        TBuf<100> buf;
+        buf.Format(KSearchNr, j);        
+        iLog->Log(buf);
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp120::OnTheFlySearchL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp120::OnTheFlySearchL()
+    {
+    const TInt KTestIndex = 4;
+
+   _LIT(KTestNr, "Multi search test, using test index %d.");
+    TBuf<100> buf;
+    buf.Format(KTestNr, KTestIndex);
+    iLog->Log(buf);
+
+           
+    CPosLmAreaCriteria* areaCriteria = CPosLmAreaCriteria::NewLC(
+                    iAreaSearchResults[KTestIndex]->SouthLat(),
+                    iAreaSearchResults[KTestIndex]->NorthLat(),
+                    iAreaSearchResults[KTestIndex]->WestLong(),
+                    iAreaSearchResults[KTestIndex]->EastLong());
+                        
+    COnTheFlyTester* onTheFlyTester = COnTheFlyTester::NewLC();
+    onTheFlyTester->StartSearchCampaignL(iLmMultiSearch, 
+        iAreaSearchResults[KTestIndex]->SearchResult(), 
+        areaCriteria);
+
+    TInt result = onTheFlyTester->Err();
+    if (result != KErrNone)
+        {
+        TPtrC msg;
+        onTheFlyTester->GetErrMsg(msg);
+        iLog->Log(msg);
+        User::Leave(result);
+        }
+        
+    CleanupStack::PopAndDestroy(2, areaCriteria);
+    
+    iLmMultiSearch->UnsetDisplayData();
+    }
+
+// ---------------------------------------------------------
+// CPosTp120::SearchAndDeleteL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp120::SearchAndDeleteL()
+    {
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect when a redefined search is performed"); 
+    const TInt KTestIndex = 4;
+    
+   _LIT(KTestNr, "Multi search test, using test index %d.");
+    TBuf<100> buf;
+    buf.Format(KTestNr, KTestIndex);
+    iLog->Log(buf);
+
+    TPosLmSortPref sortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+    
+    CPosLmAreaCriteria* areaCriteria=CPosLmAreaCriteria::NewLC(
+                    iAreaSearchResults[KTestIndex]->SouthLat(),
+                    iAreaSearchResults[KTestIndex]->NorthLat(),
+                    iAreaSearchResults[KTestIndex]->WestLong(),
+                    iAreaSearchResults[KTestIndex]->EastLong());
+        
+    // Search #1
+    ExecuteAndDeleteLD(iLmMultiSearch->StartLandmarkSearchL(*areaCriteria, sortPref));
+    
+    RArray<TPosLmItemId>* searchResults = &iAreaSearchResults[KTestIndex]->SearchResult();
+
+    // Check for errors        
+    AssertTrueSecL(iLmMultiSearch->NumOfSearchErrors() == 0, 
+        _L("Error(s) found during multi search."));
+
+    AssertTrueSecL((TUint)searchResults->Count() == iLmMultiSearch->TotalNumOfMatches(), 
+        KNumOfMatchesErr);    
+    
+    TPosLmItemId lmid = (*searchResults)[0];
+    iDatabase = CPosLandmarkDatabase::OpenL();   
+    if (iDatabase->IsInitializingNeeded())
+   {
+   ExecuteAndDeleteLD(iDatabase->InitializeL());
+   }
+
+    iDatabase->RemoveLandmarkL(lmid); 
+    searchResults->Remove(0);
+    searchResults->Compress();
+    delete iDatabase;
+    iDatabase = NULL;
+
+    // Search #2
+    ExecuteAndDeleteLD(iLmMultiSearch->StartLandmarkSearchL(*areaCriteria, sortPref, ETrue));
+
+    // Check result
+    // Check database array
+    CheckDatabasesL(iDbArray);
+
+    // Check for errors        
+    AssertTrueSecL(iLmMultiSearch->NumOfSearchErrors() == 0, 
+        _L("Error(s) found during multi search."));
+
+    AssertTrueSecL((TUint)searchResults->Count() == iLmMultiSearch->TotalNumOfMatches(), 
+        KNumOfMatchesErr);    
+
+    RArray<TPosLmItemId> lmids;
+    CleanupClosePushL(lmids);
+    _LIT(KNotFoundErr, "Id %d not found in parsed Lm search results");
+
+    for (TInt j=0; j<iLmMultiSearch->NumOfDatabasesToSearch(); j++) 
+        {
+        CPosLmItemIterator* iter = iLmMultiSearch->MatchIteratorL(j);
+        // Check if there are any matches = iteration exists.
+        if (iter) 
+            {
+            CleanupStack::PushL(iter);
+            TPosLmItemId id = iter->NextL();    
+            while (id != KPosLmNullItemId)
+                {
+                // Check that found id is expected
+                AssertTrueSecL(iAreaSearchResults[KTestIndex]->FindSearchResult(id), KNotFoundErr);
+                User::LeaveIfError(lmids.Append(id));                              
+                id = iter->NextL();
+                }
+            CleanupStack::PopAndDestroy(iter);                
+            }
+        else 
+            {
+            _LIT(KIterNull, "MatchIterator returned null for a db");
+            iLog->Log(KIterNull);
+            }
+        }
+
+    AssertTrueSecL(iAreaSearchResults[KTestIndex]->SearchResult().Count() == lmids.Count(), 
+        _L("Expected number of hits and found hits don't match"));
+
+    for (TInt k=0; k<lmids.Count(); k++)
+        {
+        // Check that found id is expected from all ids
+        AssertTrueSecL(iAreaSearchResults[KTestIndex]->FindSearchResult(lmids[k]), KNotFoundErr);
+        }
+
+    CleanupStack::PopAndDestroy(&lmids); // lmids
+
+    CleanupStack::PopAndDestroy(areaCriteria);
+
+    // Prepare for another search with different criteria
+    TInt otherTestIndex = KTestIndex + 1;
+
+    buf.Format(KTestNr, otherTestIndex);
+    iLog->Log(buf);
+    
+    areaCriteria = CPosLmAreaCriteria::NewLC(
+                    iAreaSearchResults[otherTestIndex]->SouthLat(),
+                    iAreaSearchResults[otherTestIndex]->NorthLat(),
+                    iAreaSearchResults[otherTestIndex]->WestLong(),
+                    iAreaSearchResults[otherTestIndex]->EastLong());
+
+    // Search #3
+    ExecuteAndDeleteLD(iLmMultiSearch->StartLandmarkSearchL(*areaCriteria, sortPref, ETrue));
+
+    // Check result
+    // Check database array
+    CheckDatabasesL(iDbArray);
+
+    // Check for errors        
+    AssertTrueSecL(iLmMultiSearch->NumOfSearchErrors() == 0, 
+        _L("Error(s) found during multi search."));
+
+    AssertTrueSecL(iLmMultiSearch->TotalNumOfMatches() != searchResults->Count(), 
+        KNumOfMatchesErr);    
+
+    AssertTrueSecL(iLmMultiSearch->TotalNumOfMatches() == 0, KNumOfMatchesErr);    
+
+    CleanupStack::PopAndDestroy(areaCriteria);
+    }
+
+// ---------------------------------------------------------
+// CPosTp120::SearchAndRenameL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp120::SearchAndRenameL()
+    {
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect when a redefined search is performed"); 
+    const TInt KTestIndex = 4;
+
+    _LIT(KTestNr, "Multi search test, using test index %d.");
+    TBuf<100> buf;
+    buf.Format(KTestNr, KTestIndex);
+    iLog->Log(buf);
+
+    TPosLmSortPref sortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+    
+    CPosLmAreaCriteria* areaCriteria = CPosLmAreaCriteria::NewLC(
+                    iAreaSearchResults[KTestIndex]->SouthLat(),
+                    iAreaSearchResults[KTestIndex]->NorthLat(),
+                    iAreaSearchResults[KTestIndex]->WestLong(),
+                    iAreaSearchResults[KTestIndex]->EastLong());
+
+    ExecuteAndDeleteLD(iLmMultiSearch->StartLandmarkSearchL(*areaCriteria, sortPref));
+    
+    RArray<TPosLmItemId>* searchResults = &iAreaSearchResults[KTestIndex]->SearchResult();
+    
+    _LIT(KNotFoundErr, "Id %d not found in parsed Lm search results");
+    _LIT(KLmName, "LmTP120");
+   
+    for (TInt j=0; j<iLmMultiSearch->NumOfDatabasesToSearch(); j++) 
+        {
+        CPosLmItemIterator* iter = iLmMultiSearch->MatchIteratorL(j);
+        iDatabase = 
+            CPosLandmarkDatabase::OpenL(iLmMultiSearch->DatabaseUriPtr(j));
+        if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+
+            
+        // Check if there are any matches = iteration exists.
+        if (iter)
+            {
+            CleanupStack::PushL(iter);
+            TPosLmItemId id = iter->NextL();    
+            while (id != KPosLmNullItemId)
+                {
+                // Check that found id is expected
+                AssertTrueSecL(iAreaSearchResults[KTestIndex]->FindSearchResult(id), 
+                    KNotFoundErr);
+              
+                CPosLandmark* lm = iDatabase->ReadLandmarkLC(id);
+        
+                TBuf<30> lmName;
+                lmName = KLmName;
+                lm->SetLandmarkNameL(lmName);
+                iDatabase->UpdateLandmarkL(*lm);
+                CleanupStack::PopAndDestroy(lm);   
+                                
+                id = iter->NextL();
+                }
+            CleanupStack::PopAndDestroy(iter);                
+            }
+        else 
+            {
+            _LIT(KIterNull, "MatchIterator returned null for a db");
+            iLog->Log(KIterNull);
+            }
+            
+        delete iDatabase;
+        iDatabase = NULL;
+        }
+    
+    ExecuteAndDeleteLD(iLmMultiSearch->StartLandmarkSearchL(*areaCriteria, sortPref, ETrue));
+    
+    // Check database array
+    CheckDatabasesL(iDbArray);
+
+    // Check for errors        
+    AssertTrueSecL(iLmMultiSearch->NumOfSearchErrors() == 0, 
+        _L("Error(s) found during multi search."));
+        
+    AssertTrueSecL((TUint) searchResults->Count() == 
+        iLmMultiSearch->TotalNumOfMatches(), KNumOfMatchesErr);
+
+    for (TInt j=0; j<iLmMultiSearch->NumOfDatabasesToSearch(); j++) 
+        {
+        iDatabase = 
+            CPosLandmarkDatabase::OpenL(iLmMultiSearch->DatabaseUriPtr(j));
+        if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+
+        CPosLmItemIterator* iter = iLmMultiSearch->MatchIteratorL(j);
+            
+        // Check if there are any matches = iteration exists.
+        if (iter)
+            {
+            CleanupStack::PushL(iter);
+            TPosLmItemId id = iter->NextL();    
+            while (id != KPosLmNullItemId)
+                {
+                // Check that found id is expected
+                AssertTrueSecL(iAreaSearchResults[KTestIndex]->FindSearchResult(id), 
+                    KNotFoundErr);
+   
+                CPosLandmark* lm = iDatabase->ReadLandmarkLC(id);
+        
+                TPtrC16 lmName;
+                lm->GetLandmarkName(lmName);
+                AssertTrueSecL(!lmName.CompareC(KLmName), _L("Wrong landmark name"));
+                
+                CleanupStack::PopAndDestroy(lm);   
+                 
+                id = iter->NextL();
+                }
+            CleanupStack::PopAndDestroy(iter);                
+            }
+        else 
+            {
+            _LIT(KIterNull, "MatchIterator returned null for a db");
+            iLog->Log(KIterNull);
+            }   
+            
+        delete iDatabase;
+        iDatabase = NULL;
+        }
+
+    CleanupStack::PopAndDestroy(areaCriteria);   
+    }
+
+// ---------------------------------------------------------
+// CPosTp120::SearchAndCancelL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp120::SearchAndCancelL(const TBool& aInCallback)
+    {
+    // Test search with one criteria
+    const TInt KTestIndex = 0;
+
+    _LIT(KTestNr, "Multi search test, using test index %d.");
+    TBuf<100> buf;
+    buf.Format(KTestNr, KTestIndex);
+    iLog->Log(buf);
+
+    CPosLmAreaCriteria* areaCriteria = CPosLmAreaCriteria::NewLC(
+                    iAreaSearchResults[KTestIndex]->SouthLat(),
+                    iAreaSearchResults[KTestIndex]->NorthLat(),
+                    iAreaSearchResults[KTestIndex]->WestLong(),
+                    iAreaSearchResults[KTestIndex]->EastLong());
+    
+    if (aInCallback)
+        {
+        TReal threshold = 3;
+        for (TReal i=0; i<100; i+=10) 
+            {
+            threshold = i/100;
+            RunAsyncOperationAndCancelInCallbackLD(iLmMultiSearch->StartLandmarkSearchL(
+                *areaCriteria, iAreaSearchResults[KTestIndex]->Redefined()), threshold);
+
+            _LIT(KCancelNr, "Multi search test, cancel after progress %f, canceled ok.");
+            TBuf<100> buf;
+            buf.Format(KCancelNr, threshold);
+            iLog->Log(buf);
+            }
+        }
+    else
+        {
+        RunAsyncOperationAndCancelLD(iLmMultiSearch->StartLandmarkSearchL(
+                *areaCriteria, iAreaSearchResults[KTestIndex]->Redefined()));
+        }
+
+    CleanupStack::PopAndDestroy(areaCriteria);       
+    }
+
+// ---------------------------------------------------------
+// CPosTp120::SearchWithMaximumL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp120::SearchWithMaximumL()
+    {
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect when SearchWithMaximumL is performed");
+
+    // Test search with one criteria
+    const TInt KTestIndex = 8;
+    
+    _LIT(KTestNr, "Multi search test, using test index %d.");
+    TBuf<100> buf;
+    buf.Format(KTestNr, KTestIndex);
+    iLog->Log(buf);
+
+    CPosLmAreaCriteria* areaCriteria = CPosLmAreaCriteria::NewLC(
+                    iAreaSearchResults[KTestIndex]->SouthLat(),
+                    iAreaSearchResults[KTestIndex]->NorthLat(),
+                    iAreaSearchResults[KTestIndex]->WestLong(),
+                    iAreaSearchResults[KTestIndex]->EastLong());
+   
+    TPosLmSortPref sortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EDescending);
+
+    // First get the maximum number of matches
+    TInt maxMatches = KNrOfDbs;  
+    iLmMultiSearch->SetMaxNumOfMatches(maxMatches);
+    _LIT(KErrNrOfMatches, "Number of matches is incorrect");
+    AssertTrueSecL(iLmMultiSearch->MaxNumOfMatches() == maxMatches, KErrNrOfMatches);
+    
+    ExecuteAndDeleteLD(iLmMultiSearch->StartLandmarkSearchL(*areaCriteria, sortPref)); 
+
+    AssertTrueSecL(iLmMultiSearch->MaxNumOfMatches() == maxMatches, KErrNrOfMatches);
+    RArray<TPosLmItemId>* searchResults = &iAreaSearchResults[KTestIndex]->SearchResult();    
+    TInt totalMatches = iLmMultiSearch->TotalNumOfMatches();
+    
+    // Check database array
+    CheckDatabasesL(iDbArray, maxMatches);
+    // Check for errors        
+    AssertTrueSecL(iLmMultiSearch->NumOfSearchErrors() == 0, 
+        _L("Error(s) found during multi search."));
+    // Check that nr is not expected number of results
+    AssertTrueSecL((TUint) searchResults->Count() != 
+        totalMatches, KNumOfMatchesErr);    
+
+    for (TInt n=0; n<iLmMultiSearch->NumOfDatabasesToSearch(); n++) 
+        {
+        RArray<TPosLmItemId> lmids;
+        CleanupClosePushL(lmids);
+        GetLmIdsL(n, *searchResults, lmids);            
+    
+        iDatabase = CPosLandmarkDatabase::OpenL(iLmMultiSearch->DatabaseUriPtr(n));
+        if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+
+        LandmarksSortL(lmids, sortPref);
+    
+        CPosLmItemIterator* iter = iLmMultiSearch->MatchIteratorL(n);
+        // Check if there are any matches = iteration exists.
+        if (iter) 
+            {
+            CleanupStack::PushL(iter);
+            AssertTrueSecL(iter->NumOfItemsL() == iLmMultiSearch->NumOfMatches(n), 
+                KNumOfMatchesErr);
+    
+            TInt lmid = 0;
+            TPosLmItemId id = iter->NextL();
+    
+            while (id != KPosLmNullItemId)
+                {
+                CheckEqualsLmsL(id, lmids[lmid]);
+                
+                id = iter->NextL();
+                ++lmid;
+                }
+            CleanupStack::PopAndDestroy(iter);
+            }
+        else 
+            {
+            _LIT(KIterNull, "MatchIterator returned null for a db");
+            iLog->Log(KIterNull);
+            }
+            
+        delete iDatabase;
+        iDatabase = NULL;
+        
+        CleanupStack::PopAndDestroy(&lmids);
+        }
+
+    // Test max matches again
+    TInt incMatches = 2;
+    maxMatches = maxMatches + incMatches;  
+    iLmMultiSearch->SetMaxNumOfMatches(maxMatches);
+    AssertTrueSecL(iLmMultiSearch->MaxNumOfMatches() == maxMatches, KErrNrOfMatches);
+    
+    ExecuteAndDeleteLD(iLmMultiSearch->StartLandmarkSearchL(*areaCriteria)); 
+
+    AssertTrueSecL(iLmMultiSearch->MaxNumOfMatches() == maxMatches, KErrNrOfMatches);
+    TInt reTotalMatches = iLmMultiSearch->TotalNumOfMatches();
+    
+    AssertTrueSecL(reTotalMatches != totalMatches, 
+        _L("Total number of matches should not be that same."));
+    
+    // Check database array
+    CheckDatabasesL(iDbArray, maxMatches);
+    // Check for errors        
+    AssertTrueSecL(iLmMultiSearch->NumOfSearchErrors() == 0, 
+        _L("Error(s) found during multi search."));
+    // Check that nr is not expected number of results
+    AssertTrueSecL((TUint) searchResults->Count() != 
+        reTotalMatches, KNumOfMatchesErr); 
+
+    CleanupStack::PopAndDestroy(areaCriteria);
+
+    // Unset max number of matches to normal/unlimited again
+    iLmMultiSearch->SetMaxNumOfMatches();
+    }
+
+// ---------------------------------------------------------
+// CPosTp120::CreateDatabasesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+CDesCArray* CPosTp120::CreateDatabasesL(TInt aNrOfLmDbs, TInt aLmPerDb, 
+    TInt aLastId, TBool aDebug)
+    {
+    
+    CDesCArray* iDbArray = new (ELeave) CDesCArrayFlat(aNrOfLmDbs); 
+    CleanupStack::PushL(iDbArray);     
+         
+    RemoveDefaultDbL();
+    
+    // Populate default db
+    iDatabase = UseGeneratedDbFileL();
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+    delete iDatabase;
+    iDatabase = NULL;  
+      
+    CFileMan* fileMan = CFileMan::NewL(iFileSession);
+    CleanupStack::PushL(fileMan);
+
+    // Create databases
+    TInt i=0;
+    for (i=1; i < aNrOfLmDbs; i++)
+        {
+        TBuf<100> db;
+        db.Format(KDbNamePath, i * aLmPerDb);
+        
+        iFileSession.Delete(db);
+        User::LeaveIfError(fileMan->Copy(KLmFullDefaultDbPath, db, CFileMan::EOverWrite));    
+        }
+    CleanupStack::PopAndDestroy(fileMan);               
+
+    for (TInt db=0; db < aNrOfLmDbs; db++)
+        {
+        TInt dbform = db;
+        if (db == aNrOfLmDbs)
+            {
+            dbform = aNrOfLmDbs - 1;
+            }
+            
+        CPosLandmarkDatabase* lmd = NULL;
+        TBuf<100> name;
+        if (db == 0)
+            {
+            _LIT(KDefLmDb, "eposlm.ldb");
+            name = KDefLmDb;
+            lmd = CPosLandmarkDatabase::OpenL();
+            if (lmd->IsInitializingNeeded())
+           {
+           ExecuteAndDeleteLD(lmd->InitializeL());
+           }
+
+            }
+        else 
+            {
+            name.Format(KDbName, dbform * aLmPerDb);        
+            lmd = CPosLandmarkDatabase::OpenL(name);
+            if (lmd->IsInitializingNeeded())
+           {
+           ExecuteAndDeleteLD(lmd->InitializeL());
+           }
+
+            }
+        CleanupStack::PushL(lmd);
+        // Append db name to array
+        iDbArray->AppendL(name);
+
+        if (aDebug)
+            {
+            iLog->Log(name);
+            }
+        
+        TInt startItemid = dbform * aLmPerDb + 1;
+        TInt stopItemid = dbform * aLmPerDb + aLmPerDb;            
+        if (dbform == aNrOfLmDbs - 1)
+            {
+            stopItemid = aLastId;
+            }
+        
+        for (TInt lmid=1; lmid <= aLastId; lmid++) 
+            {
+            TBuf<100> lmidbuf;
+                
+            if (aDebug)
+                {
+                _LIT(KLmId, "Landmark with LmId: %d");
+                lmidbuf.Format(KLmId, lmid);
+                iLog->Log(lmidbuf);                                
+                }
+
+            if (lmid < startItemid || lmid > stopItemid)
+                {
+                if (aDebug)
+                    {
+                    _LIT(KDelLmId, "Removing LmId: %d");
+                    lmidbuf.Format(KDelLmId, lmid);
+                    iLog->Log(lmidbuf);                                
+                    }
+                
+                TInt err = KErrLocked;
+                while (err == KErrLocked)
+                    {
+                    TRAP(err, lmd->RemoveLandmarkL(lmid));
+                    }
+                }
+            }
+
+        // Compact database
+        ExecuteAndDeleteLD(lmd->CompactL());
+        CleanupStack::PopAndDestroy(lmd);  
+        }
+        
+    // Log/print landmark databases.
+    if (aDebug)
+        {
+        // DEBUG 
+        for (i=0; i < aNrOfLmDbs; i++)
+            {
+            TBuf<100> dbNo;
+            dbNo.Format(_L(" -------- Printing Db %d --------------"), i);
+            iLog->Log(dbNo);
+                
+            CPosLandmarkDatabase* lmd = NULL;
+            if (i == 0) 
+                {
+                _LIT(KDbDefName, "Default Lm DB");
+                iLog->Log(KDbDefName);
+                lmd = CPosLandmarkDatabase::OpenL();
+                if (lmd->IsInitializingNeeded())
+               {
+               ExecuteAndDeleteLD(lmd->InitializeL());
+               }
+
+                }
+            else 
+                {            
+                TInt dbform = i;
+                if (i == 5)
+                    {
+                    dbform = 4;
+                    }
+                    
+                TBuf<100> db;
+                db.Format(KDbName, dbform * aLmPerDb);
+                iLog->Log(db);
+                
+                lmd = CPosLandmarkDatabase::OpenL(db);  
+                if (lmd->IsInitializingNeeded())
+               {
+               ExecuteAndDeleteLD(lmd->InitializeL());
+               }
+
+                }
+            CleanupStack::PushL(lmd);
+            CPosLmCategoryManager* lmcat = CPosLmCategoryManager::NewL(*lmd);
+            CleanupStack::PushL(lmcat);
+            
+            CPosLmItemIterator* iter = lmd->LandmarkIteratorL();
+            CleanupStack::PushL(iter);
+
+            _LIT(KNrLms, "Nr of Lms: %d");
+            TBuf<20> lms;
+            lms.Format(KNrLms, iter->NumOfItemsL());
+            iLog->Log(lms);
+           
+            TPosLmItemId id = iter->NextL(); 
+            while (id != KPosLmNullItemId)
+                {
+                CPosLandmark* lm = lmd->ReadLandmarkLC(id);
+            
+                TBuf<255> info;
+                PrintLandmark(*lm, info);
+                iLog->Log(info);
+                CleanupStack::PopAndDestroy(lm); 
+                
+                id = iter->NextL();
+                }    
+
+            CleanupStack::PopAndDestroy(iter);
+
+            CPosLmItemIterator* catiter = lmcat->CategoryIteratorL();
+            CleanupStack::PushL(catiter);
+
+            _LIT(KNrLmCats, "Nr of Lm Cats: %d");
+            TBuf<20> lmcats;
+            lmcats.Format(KNrLmCats, catiter->NumOfItemsL());
+            iLog->Log(lmcats);
+           
+            id = catiter->NextL(); 
+            while (id != KPosLmNullItemId)
+                {
+                CPosLandmarkCategory* cat = lmcat->ReadCategoryLC(id);
+            
+                TBuf<255> info;
+                // PrintLandmark(*lm, info);
+                _LIT(KCatId, "Category id: %d");
+                _LIT(KCatGlobalId, "Global Category id: %d");
+                _LIT(KCatName, "Category name: %S");
+                
+                info.Format(KCatId, cat->CategoryId());                
+                iLog->Log(info);
+                
+                info.Format(KCatGlobalId, cat->GlobalCategory());                
+                iLog->Log(info);
+                
+                TPtrC catname;
+                TInt err = cat->GetCategoryName(catname);
+                info.Format(KCatName, &catname);                
+                iLog->Log(info);
+                
+                CleanupStack::PopAndDestroy(cat); 
+                
+                id = catiter->NextL();
+                }    
+           
+           
+            CleanupStack::PopAndDestroy(3, lmd); // catiter, lmcat
+            }        
+        }
+        
+    CleanupStack::Pop(iDbArray);
+    return iDbArray;
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp121.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,1272 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLmCategoryCriteria.h>
+#include <EPos_CPosLMItemIterator.h>    
+#include <EPos_CPosLmMultiDbSearch.h>    
+#include <EPos_CPosLmDatabaseManager.h> 
+#include "FT_CPosTp121.h"
+#include "FT_LandmarkConstants.h"
+#include "FT_CCategoryLandmarkSearchResult.h"
+     
+// CONSTANTS
+// Used when searching for global categories (Global categories are dynamically appended in the test.
+// There are originally 26 local categories in the databases)
+//const TPosLmItemId KRestaurant = 27;
+const TPosLmItemId KBar = 28;
+//const TPosLmItemId KGas_Station = 29;
+const TPosLmItemId KHotel = 30;
+//const TPosLmItemId KShop = 31;
+const TPosLmItemId KSports_Ground = 33;
+const TPosLmItemId KGarage = 34;
+const TPosLmItemId KBus_Stop = 36;
+
+// ================= MEMBER FUNCTIONS =======================
+// ---------------------------------------------------------
+// CPosTp121::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp121::CloseTest()
+    {   
+    delete iDatabases;
+    delete iMultiDbSearch;
+    iCategoryLandmarkSearchResults.ResetAndDestroy();
+    }
+
+// ---------------------------------------------------------
+// CPosTp121::InitTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp121::InitTestL()
+    {
+    CLandmarkTestProcedureBase::InitTestL();
+    
+    // PrepareDatabases
+    RemoveAllLmDatabasesL();
+    CopyTestDbFileL(KDb20);
+    CopyTestDbFileL(KDb40);
+    CopyTestDbFileL(KDb60);
+    CopyTestDbFileL(KDb80);
+    CopyTestDbFileL(KDb105);
+    iNrOfDatabases = 5;
+    
+    iLog->Log(_L("Test Dbs Copied"));
+    
+    // Initialize data members
+    CPosLmDatabaseManager* dbManager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(dbManager);
+    iDatabases = dbManager->ListDatabasesLC();
+    CleanupStack::Pop(iDatabases);
+    iDatabases->Sort(); 
+    AssertTrueSecL((iDatabases->Count() == iNrOfDatabases), _L("Wrong number of databases"));
+    iMultiDbSearch = CPosLmMultiDbSearch::NewL(*iDatabases);
+    CleanupStack::PopAndDestroy(dbManager);
+    
+    iLog->Log(_L("Members ready"));
+        
+    TInt err = KErrNone;
+    CPosLandmarkDatabase* database = NULL; 
+    // Reset Global categories for all databases but EPOSLM_105.LDB and add the global category
+    // "Hotel" to the 5 first landmarks in the databases.
+    for (TInt i = 0; i < iNrOfDatabases - 1; i++) // Do not use global categories in the last db
+        {
+        database = CPosLandmarkDatabase::OpenL((*iDatabases)[i]);
+        CleanupStack::PushL(database);
+        if ( database->IsInitializingNeeded() )
+            {
+            TRAP( err, ExecuteAndDeleteLD( database->InitializeL() ) );
+            AssertTrueSecL( err == KErrNone, _L("Init db failed"));
+            }
+        CPosLmCategoryManager* catMan = CPosLmCategoryManager::NewL(*database);
+        CleanupStack::PushL(catMan);
+        TRAP( err, ExecuteAndDeleteLD( catMan->ResetGlobalCategoriesL() ) );
+        AssertTrueSecL( err == KErrNone, _L("Reset cats failed"));
+        CleanupStack::PopAndDestroy(2, database);
+        }   
+
+    iLog->Log(_L("Cats reset"));
+
+    // Initiallize iCategoryLandmarkSearchResults
+    AppendCategoryLandmarkSearchResultsL();
+
+    iLog->Log(_L("AppendCategoryLandmarkSearchResultsL done"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp121::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp121::StartL()
+    {
+// 1. Search in various ways    
+    iLog->Log(_L("Testing search with criteria read from LmDbSearchResult.txt synchronously, using CategoryName. Sort order: ascending"));
+    TestSearchL(iCategoryLandmarkSearchResults, ESynchronous, ESortAscending);
+
+    iLog->Log(_L("Testing search with criteria read from LmDbSearchResult.txt synchronously, using CategoryName. Sort order: descending"));
+    TestSearchL(iCategoryLandmarkSearchResults, ESynchronous, ESortDescending);
+
+    iLog->Log(_L("Testing search with criteria read from LmDbSearchResult.txt synchronously, using CategoryName. Sort order: none"));
+    TestSearchL(iCategoryLandmarkSearchResults, ESynchronous, ESortNone);
+
+    iLog->Log(_L("Testing search with criteria read from LmDbSearchResult.txt asynchronously, using CategoryName. Sort order: ascending"));
+    TestSearchL(iCategoryLandmarkSearchResults, EAsynchronous, ESortAscending);
+
+    iLog->Log(_L("Testing search with criteria read from LmDbSearchResult.txt asynchronously, using CategoryName. Sort order: descending"));
+    TestSearchL(iCategoryLandmarkSearchResults, EAsynchronous, ESortDescending);
+
+    iLog->Log(_L("Testing search with criteria read from LmDbSearchResult.txt asynchronously, using CategoryName. Sort order: none"));
+    TestSearchL(iCategoryLandmarkSearchResults, EAsynchronous, ESortNone);
+
+// 2. Search non-existing category
+    iLog->Log(_L("Searching fon nonexisting entries synchronously"));
+    SearchNonExistingL(ESynchronous);
+
+    iLog->Log(_L("Searching for nonexisting entries asynchronously"));
+    SearchNonExistingL(EAsynchronous);
+
+// 3. Test maximum number of matches
+    iLog->Log(_L("Searching with maximum number of results synchronously"));
+    TestMaximumNrOfMatchesL(iCategoryLandmarkSearchResults, ESynchronous);
+
+    iLog->Log(_L("Searching with maximum number of results asynchronously"));
+    TestMaximumNrOfMatchesL(iCategoryLandmarkSearchResults, EAsynchronous);
+
+// 4. Test cancel
+    iLog->Log(_L("Search and cancel the search"));
+    SearchAndCancelL();
+
+// 5. Search in global categories
+    // Add some more landmarks associated with global categories
+    AddLandmarksToGlobalCategoriesL();
+
+    iLog->Log(_L("SearchForLandmarksInGlobalCategoriesL asynchronously"));
+    SearchForLandmarksInGlobalCategoriesL(EAsynchronous);
+
+    iLog->Log(_L("SearchForLandmarksInGlobalCategoriesL synchronously"));
+    SearchForLandmarksInGlobalCategoriesL(ESynchronous);
+
+// 6. Test some leave codes
+    iLog->Log(_L("Check that StartLandmarkSearchL leaves with correct codes"));
+    TestLeaveCodesL();
+    
+// 7. Test automatically reset of search attributes
+    iLog->Log(_L("Check that CPosLmCategoryCriteria resets other criteria when setting a new one"));
+    TestResetSearchAttributesL();
+    
+// 8. Test searching by name is case insensitive
+    iLog->Log(_L("Testing case insensitive"));
+    TestCaseInsensitiveL();
+    
+// 9. Test search for categories containing wildcards
+    iLog->Log(_L("Testing wild cards"));
+    TestWildCardsL();
+    
+// 10. Test various combinations of refined search
+    // Modify database2
+    iLog->Log(_L("Testing refined search"));
+    RIdArray idArray;
+    CleanupClosePushL(idArray);
+    idArray.Append(51);
+    idArray.Append(52);
+    idArray.Append(53);
+    CPosLandmarkDatabase* db = CPosLandmarkDatabase::OpenL((*iDatabases)[2]);
+    CleanupStack::PushL(db);
+    CPosLmCategoryManager* catMan = CPosLmCategoryManager::NewL(*db);
+    CleanupStack::PushL(catMan);
+    ExecuteAndDeleteLD(catMan->AddCategoryToLandmarksL(14, idArray)); // 14 = TietoEnator kontor
+    ExecuteAndDeleteLD(catMan->AddCategoryToLandmarksL(17, idArray)); // 17 = BurgerKing
+    ExecuteAndDeleteLD(catMan->AddCategoryToLandmarksL(catMan->GetGlobalCategoryL(15000), idArray)); // 15000 = Entertainment
+    CleanupStack::PopAndDestroy(3, &idArray);
+
+    TestRefinedSearchL(ESynchronous);
+    TestRefinedSearchL(EAsynchronous);
+    
+// 11. Test modify list of databases
+    iLog->Log(_L("Testing modifying list of databases"));
+    RIdArray expectedMatches;
+    CleanupClosePushL(expectedMatches);
+    expectedMatches.AppendL(iGasStationId1);
+    expectedMatches.AppendL(iGasStationId2);
+    expectedMatches.AppendL(51);
+    expectedMatches.AppendL(52);
+    expectedMatches.AppendL(53);
+    
+    TestDatabaseListL(expectedMatches);
+
+// 12. Test on-the-fly
+    iLog->Log(_L("Testing searching on the fly"));
+    TestOnTheFlySearchL(expectedMatches);
+    
+    CleanupStack::PopAndDestroy(&expectedMatches);
+    }
+
+// ---------------------------------------------------------
+// CPosTp121::TestSearchL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp121::TestSearchL(
+    const RPointerArray<CCategoryLandmarkSearchResult>& aSearchResults, 
+    TExecutionMode aExecutionMode, 
+    TTp121SortOrder aSortOrder)
+    {
+    // Test SetMaxNumOfMatches, first set to one and then back to unlimited
+    iMultiDbSearch->SetMaxNumOfMatches(1);
+    iMultiDbSearch->SetMaxNumOfMatches();
+
+    for(TInt i = 0; i < aSearchResults.Count(); i++)
+        {   
+        CPosLmCategoryCriteria* catSearchCriteria = CPosLmCategoryCriteria::NewLC();
+        
+        // Perform search by name
+        catSearchCriteria->SetCategoryNameL(aSearchResults[i]->CategoryName());
+        iLog->Log(aSearchResults[i]->CategoryName());
+
+        SearchL(catSearchCriteria, aExecutionMode, aSearchResults[i]->Redefined(), aSortOrder);
+        
+        if (i != 28)
+            {
+            // Row 28 in xls-file contains an error. If fixed, TP21 starts to fail.
+            ValidateSearchResultsL(aSearchResults[i], iMultiDbSearch, aSortOrder);
+            ValidateTotalNrOfMatchesL(
+                iMultiDbSearch->TotalNumOfMatches(),
+                (TUint)(aSearchResults[i]->SearchResult()).Count(),
+                catSearchCriteria->CategoryName());
+            }
+
+        CleanupStack::PopAndDestroy(catSearchCriteria);
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp121::SearchForLandmarksInGlobalCategoriesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp121::SearchForLandmarksInGlobalCategoriesL(
+    TExecutionMode aExecutionMode)
+    {
+    iLog->Log(_L("SearchForGlobalCategoriesL"));
+
+    CPosLmCategoryCriteria* catSearchCriteria = CPosLmCategoryCriteria::NewLC();
+    RIdArray expectedIds;
+    CleanupClosePushL(expectedIds);
+    
+    // Search for "Accommodation", should result in two matches
+    catSearchCriteria->SetGlobalCategory( KAccommodation );
+    SearchL(catSearchCriteria, aExecutionMode);
+    expectedIds.AppendL(iRestaurantId1);
+    expectedIds.AppendL(iRestaurantId2);
+    ValidateSearchResultsL(expectedIds, iMultiDbSearch);
+    expectedIds.Reset();
+    
+    // Search for "Entertainment" id using the global category id should result in two matches
+   
+    catSearchCriteria->SetGlobalCategory(KBusiness);
+    SearchL(catSearchCriteria, aExecutionMode);
+    expectedIds.AppendL(iGasStationId1);
+    expectedIds.AppendL(iGasStationId2);
+    ValidateSearchResultsL(expectedIds, iMultiDbSearch);
+    expectedIds.Reset();
+
+    // Search for "Accommodation" in the result from previous search
+    catSearchCriteria->SetGlobalCategory(KAccommodation);
+    SearchL(catSearchCriteria, aExecutionMode, ETrue);
+    expectedIds.AppendL(iGasStationId2);
+    ValidateSearchResultsL(expectedIds, iMultiDbSearch);
+    expectedIds.Reset();
+
+    // Search for a non existing global category in the result from previous search
+    // Nothing should be found
+    catSearchCriteria->SetCategoryNameL(_L("NonExistingGLobalCategory"));
+    SearchL(catSearchCriteria, aExecutionMode, ETrue);
+    ValidateSearchResultsL(expectedIds, iMultiDbSearch);
+    expectedIds.Reset();
+
+    // Search for "Accommodation" using the globalcategory id
+    catSearchCriteria->SetGlobalCategory(3000);
+    SearchL(catSearchCriteria, aExecutionMode);
+    expectedIds.AppendL(iRestaurantId1);
+    expectedIds.AppendL(iRestaurantId2);
+    ValidateSearchResultsL(expectedIds, iMultiDbSearch);
+    expectedIds.Reset();
+
+    // Search for "Entertainment" using the globalcategory id from the result 
+    // from previous search
+    catSearchCriteria->SetGlobalCategory(15000);
+    SearchL(catSearchCriteria, aExecutionMode, ETrue);
+    expectedIds.AppendL(iGasStationId2);
+    ValidateSearchResultsL(expectedIds, iMultiDbSearch);
+    expectedIds.Reset();
+    
+    
+    CleanupStack::PopAndDestroy(2, catSearchCriteria);
+    }
+
+// ---------------------------------------------------------
+// CPosTp121::AddLandmarksToGlobalCategoriesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp121::AddLandmarksToGlobalCategoriesL()
+    {
+    iLog->Log(_L("AddLandmarksToGlobalCategoriesL"));
+    
+    // Add some new landmarks to the dbs, associate some with global categories
+    CPosLandmarkDatabase* db = CPosLandmarkDatabase::OpenL((*iDatabases)[0]);
+    CleanupStack::PushL(db);
+    CPosLandmark* lm = CPosLandmark::NewLC();
+    lm->SetLandmarkNameL(_L("LandmarkName1"));
+    lm->SetLandmarkDescriptionL(_L("SomeLandmarkDescription"));    
+    
+	/*************************************************************/
+	// Search for id maintained by database for the global category
+	CPosLmCategoryManager* catMan = CPosLmCategoryManager::NewL( *db );
+	CleanupStack::PushL(catMan);
+    TPosLmItemId globCatId1 = catMan->GetGlobalCategoryL( KAccommodation );
+    TPosLmItemId globCatId2 = catMan->GetGlobalCategoryL( KEntertainment );
+
+	CPosLandmarkCategory* cat = catMan->ReadCategoryLC( globCatId1 );
+
+	CleanupStack::PopAndDestroy( 2 );	
+	/*************************************************************/    
+    lm->AddCategoryL( globCatId1 );  
+    TPosLmItemId id = db->AddLandmarkL(*lm);
+    iRestaurantId1 = id;
+    
+    CleanupStack::PopAndDestroy(2, db);    
+    
+    db = CPosLandmarkDatabase::OpenL((*iDatabases)[1]);
+    CleanupStack::PushL(db);
+    lm = CPosLandmark::NewLC();
+    db->AddLandmarkL(*lm); // Add one uncategorized to increase id in order to avoid equal ids between dbs.
+    lm->SetLandmarkNameL(_L("LandmarkName2"));
+    lm->SetLandmarkDescriptionL(_L("SomeLandmarkDescription2"));    
+    lm->AddCategoryL(KBus_Stop);
+    id = db->AddLandmarkL(*lm);
+    CleanupStack::PopAndDestroy(2, db);
+
+    db = CPosLandmarkDatabase::OpenL((*iDatabases)[2]);
+    CleanupStack::PushL(db);
+    lm = CPosLandmark::NewLC();
+    db->AddLandmarkL(*lm); // Add two uncategorized to increase id in order to avoid equal ids between dbs.
+    db->AddLandmarkL(*lm); 
+    lm->SetLandmarkNameL(_L("LandmarkName3"));
+    lm->SetLandmarkDescriptionL(_L("SomeLandmarkDescription3"));    
+    lm->AddCategoryL( globCatId2 ); 
+    lm->AddCategoryL(KHotel);
+    //lm->AddCategoryL(KShop);
+    lm->AddCategoryL(KBar);
+    lm->AddCategoryL(KSports_Ground);
+    lm->AddCategoryL(KGarage);
+    id = db->AddLandmarkL(*lm);
+    iGarageId1 = id;
+    iGasStationId1 = id;
+    CleanupStack::PopAndDestroy(2, db);
+
+    db = CPosLandmarkDatabase::OpenL((*iDatabases)[3]);
+    CleanupStack::PushL(db);
+    lm = CPosLandmark::NewLC();
+    db->AddLandmarkL(*lm); // Add three uncategorized to increase id in order to avoid equal ids between dbs.
+    db->AddLandmarkL(*lm); 
+    db->AddLandmarkL(*lm); 
+    lm->SetLandmarkNameL(_L("LandmarkName4"));
+    lm->SetLandmarkDescriptionL(_L("SomeLandmarkDescription4"));    
+    lm->AddCategoryL(KBar);
+    lm->AddCategoryL( globCatId1 );  
+    lm->AddCategoryL( globCatId2 );
+    lm->AddCategoryL(KHotel);
+   // lm->AddCategoryL(KShop);
+   	lm->AddCategoryL(KBar);
+    lm->AddCategoryL(1);
+    lm->AddCategoryL(2);
+    lm->AddCategoryL(3);
+    id = db->AddLandmarkL(*lm);
+    iRestaurantId2 = id;
+    iGasStationId2 = id;
+    CleanupStack::PopAndDestroy(lm);
+
+    lm = CPosLandmark::NewLC();
+    lm->SetLandmarkNameL(_L("LandmarkName5"));
+    lm->SetLandmarkDescriptionL(_L("SomeLandmarkDescription5"));
+    lm->AddCategoryL(KBus_Stop);
+    db->AddLandmarkL(*lm);
+    CleanupStack::PopAndDestroy(2, db);
+    
+    }
+
+// ---------------------------------------------------------
+// CPosTp121::SearchNonExistingL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp121::SearchNonExistingL(TExecutionMode aExecutionMode)
+    {
+    iLog->Log(_L("SearchNonExistingL"));
+
+    _LIT(KCategoryName, "NonExistingLandmark");
+    CPosLmCategoryCriteria* catSearchCriteria = CPosLmCategoryCriteria::NewLC();
+    catSearchCriteria->SetCategoryNameL(KCategoryName);
+
+    SearchL(catSearchCriteria, aExecutionMode);
+    ValidateTotalNrOfMatchesL(iMultiDbSearch->TotalNumOfMatches(), 0, KCategoryName);
+    ValidateSearchResultsL(NULL, iMultiDbSearch);
+    CleanupStack::PopAndDestroy(catSearchCriteria);
+
+    catSearchCriteria = CPosLmCategoryCriteria::NewLC();
+    TPosLmGlobalCategory nonExistingId = 56789; 
+    catSearchCriteria->SetGlobalCategory(nonExistingId);
+
+    SearchL(catSearchCriteria, aExecutionMode);
+    ValidateTotalNrOfMatchesL(iMultiDbSearch->TotalNumOfMatches(), 0, KCategoryName);
+    ValidateSearchResultsL(NULL, iMultiDbSearch);
+    
+    CleanupStack::PopAndDestroy(catSearchCriteria);
+    }
+
+// ---------------------------------------------------------
+// CPosTp121::TestMaximumNrOfMatchesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp121::TestMaximumNrOfMatchesL(
+    const RPointerArray<CCategoryLandmarkSearchResult>& aSearchResults, 
+    TExecutionMode aExecutionMode)
+    {
+    CPosLmCategoryCriteria* catSearchCriteria = CPosLmCategoryCriteria::NewLC();
+
+    TInt idFromXls = 25; // Use 25 "Läkarna"
+    catSearchCriteria->SetCategoryNameL(aSearchResults[idFromXls]->CategoryName());
+    iLog->Log(aSearchResults[idFromXls]->CategoryName());
+         
+    SearchL(catSearchCriteria, aExecutionMode, aSearchResults[idFromXls]->Redefined());
+    ValidateTotalNrOfMatchesL(
+    		iMultiDbSearch->TotalNumOfMatches(),
+    		(TUint)(aSearchResults[idFromXls]->SearchResult()).Count(), 
+    		aSearchResults[idFromXls]->CategoryName());
+    ValidateSearchResultsL(aSearchResults[idFromXls], iMultiDbSearch);
+
+    // Set maximum number, first set to more than should be found here 13 in each db must be enough
+    iLog->Log(_L("Set to 13 * iNrOfDatabases = 65 matches"));
+    TUint maxMatches = 13;
+    iMultiDbSearch->SetMaxNumOfMatches(13);
+    
+    SearchL(catSearchCriteria, aExecutionMode, ETrue);
+    ValidateTotalNrOfMatchesL(
+        iMultiDbSearch->TotalNumOfMatches(),
+        (TUint)(aSearchResults[idFromXls]->SearchResult()).Count(), 
+        aSearchResults[idFromXls]->CategoryName());
+    ValidateSearchResultsL(aSearchResults[idFromXls], iMultiDbSearch);
+    
+    // Set maximum number here to 3 in each db
+    iLog->Log(_L("Set to 3 * iNrOfDatabases = 10 matches"));
+    maxMatches = 3;
+    const TInt KNrOfDbsWithMatches = 3;
+    iMultiDbSearch->SetMaxNumOfMatches(maxMatches);
+    
+    SearchL(catSearchCriteria, aExecutionMode, ETrue);
+    ValidateTotalNrOfMatchesL(
+        iMultiDbSearch->TotalNumOfMatches(),
+        maxMatches * KNrOfDbsWithMatches, // only three of the databases contain matches
+        aSearchResults[idFromXls]->CategoryName());
+    ValidateSearchResultsL(aSearchResults[idFromXls], iMultiDbSearch);
+    
+    // Set maximum number here to 1 in each db
+    maxMatches = 1;
+    iLog->Log(_L("Set to 1 * iNrOfDatabases = 5 matches"));
+    iMultiDbSearch->SetMaxNumOfMatches(maxMatches);
+    SearchL(catSearchCriteria, aExecutionMode, ETrue);
+    ValidateTotalNrOfMatchesL(
+        iMultiDbSearch->TotalNumOfMatches(),
+        maxMatches * KNrOfDbsWithMatches, 
+        aSearchResults[idFromXls]->CategoryName());
+    ValidateSearchResultsL(aSearchResults[idFromXls], iMultiDbSearch);
+    
+    // Set maximum number here to 2 in each db, however since search is refined only 3 matches should be returned
+    maxMatches = 2;
+    iLog->Log(_L("Set to 2 * iNrOfDatabases = 10 matches"));
+    iMultiDbSearch->SetMaxNumOfMatches(maxMatches);
+    SearchL(catSearchCriteria, aExecutionMode, ETrue);
+    ValidateTotalNrOfMatchesL(
+        iMultiDbSearch->TotalNumOfMatches(),
+        1 * KNrOfDbsWithMatches, 
+        aSearchResults[idFromXls]->CategoryName());
+    ValidateSearchResultsL(aSearchResults[idFromXls], iMultiDbSearch);
+
+    // Same as above but no refined search is made. Should get 2 * 3 matches
+    iLog->Log(_L("Set to 2 * iNrOfDatabases = 10 matches"));
+    iMultiDbSearch->SetMaxNumOfMatches(maxMatches);
+    SearchL(catSearchCriteria, aExecutionMode);
+    ValidateTotalNrOfMatchesL(
+        iMultiDbSearch->TotalNumOfMatches(),
+        maxMatches * KNrOfDbsWithMatches, 
+        aSearchResults[idFromXls]->CategoryName());
+    ValidateSearchResultsL(aSearchResults[idFromXls], iMultiDbSearch);
+    
+    // Set back to unlimited
+    iMultiDbSearch->SetMaxNumOfMatches();
+    
+    CleanupStack::PopAndDestroy(catSearchCriteria);
+    }
+
+// ---------------------------------------------------------
+// CPosTp121::TestLeaveCodesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp121::TestLeaveCodesL()
+    {
+    iLog->Log(_L("TestLeaveCodesL"));
+    
+    TPosLmSortPref sortPref(CPosLandmark::ECategoryInfo, TPosLmSortPref::EAscending);
+    CPosLmCategoryCriteria* catSearchCriteria = CPosLmCategoryCriteria::NewLC();
+
+    // Only ECategoryName is supported,all other leave with KErrNotSupported
+    TRAPD(err, iMultiDbSearch->StartLandmarkSearchL(*catSearchCriteria, sortPref));
+    AssertTrueSecL(err == KErrNotSupported, _L("Should have left with KErrNotSupported"));
+       
+    // Only ECategoryName is supported,all other leave with KErrNotSupported
+    sortPref.SetSortByLandmarkAttribute(CPosLandmark::EDescription, TPosLmSortPref::EDescending);
+    TRAP(err, iMultiDbSearch->StartLandmarkSearchL(*catSearchCriteria, sortPref));
+    AssertTrueSecL(err == KErrNotSupported, _L("Should have left with KErrNotSupported"));
+
+    // Test search by local category id
+    catSearchCriteria->SetCategoryItemId(7);
+    TRAP(err, iMultiDbSearch->StartLandmarkSearchL(*catSearchCriteria));
+    AssertTrueSecL(err == KErrArgument, _L("Should have left with KErrArgument"));
+
+    // Test search by too long category name > 124 = KPosLmMaxCategoryNameLength
+    TBuf<KPosLmMaxCategoryNameLength + 4> name = _L("12345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678");
+    TRAP(err, catSearchCriteria->SetCategoryNameL(name));
+    AssertTrueSecL(err == KErrArgument, _L("Should have left with KErrArgument"));
+
+    CleanupStack::PopAndDestroy(catSearchCriteria);
+    }
+
+// ---------------------------------------------------------
+// CPosTp121::SearchAndCancelL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp121::SearchAndCancelL()
+    {
+    // Test search with one criteria
+    const TInt KIndex=0;
+
+    CPosLmCategoryCriteria* catSearchCriteria = CPosLmCategoryCriteria::NewLC();
+    catSearchCriteria->SetCategoryNameL(iCategoryLandmarkSearchResults[KIndex]->CategoryName());
+    
+    TReal32 progress(0);
+    while (progress < 1.0)
+        {
+        RunAsyncOperationAndCancelInCallbackLD(
+            iMultiDbSearch->StartLandmarkSearchL(
+                *catSearchCriteria, 
+                iCategoryLandmarkSearchResults[KIndex]->Redefined()),
+            progress);
+
+        TInt nrOfMatches = 0;
+        for (TInt j = 0; j < iNrOfDatabases; j++)
+            {
+            CPosLmItemIterator* iter = iMultiDbSearch->MatchIteratorL(j);
+            CleanupStack::PushL(iter);
+            nrOfMatches += iter->NumOfItemsL();
+            CleanupStack::PopAndDestroy(iter);
+            }
+        AssertTrueSecL(nrOfMatches == iMultiDbSearch->TotalNumOfMatches(), _L("Total nr of matches doesn't match sum of matches in iterators when cancelling"));
+        
+        progress = progress + 0.09;
+        }
+    
+    CleanupStack::PopAndDestroy(catSearchCriteria);    
+    }
+
+
+// ---------------------------------------------------------
+// CPosTp121::ValidateIdL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp121::ValidateIdL(TPosLmItemId aId, TInt aDbIndex)
+    {
+    TBool condition = EFalse;
+    switch (aDbIndex)
+        {
+        case 0:
+            // Db 0 contains landmarks with id = 1-20
+            condition = aId >= 1 && aId <= 20;
+            break;
+        case 1:
+            // Db 1 contains landmarks with id = 21-40
+            condition = aId >= 21 && aId <= 40;
+            break;
+        case 2:
+            // Db 2 contains landmarks with id = 41-60
+            condition = aId >= 41 && aId <= 60;
+            break;
+        case 3:
+            // Db 3 contains landmarks with id = 61-80
+            condition = aId >= 61 && aId <= 80;
+            break;
+        case 4:
+            // Db 4 contains landmarks with id = 81-105
+            condition = aId >= 81 && aId <= 105;
+            break;
+        }
+
+    AssertTrueSecL(condition, _L("Invalid match from database reported"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp121::ValidateTotalNrOfMatchesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp121::ValidateTotalNrOfMatchesL(
+    TUint aRetrievedNrOfMatches,
+    TUint aExpectedNrOfMatches,
+    const TDesC& aCategoryName)
+    {
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect when the search is performed");
+        
+    if (aRetrievedNrOfMatches != aExpectedNrOfMatches)
+        {
+        _LIT(KExpected, "Expected no. of matches: %d");
+        _LIT(KReturned, "Returned no. of matches: %d");
+        TBuf<100> info;
+        info.Format(KExpected, aExpectedNrOfMatches);
+        iLog->Log(info);
+        info.Format(KReturned, aRetrievedNrOfMatches);
+        iLog->Log(info);
+        _LIT(KFormat, "Search criteria: %S");
+        info.Format(KFormat, &aCategoryName);
+        iLog->Log(info);
+        iLog->Log(KNumOfMatchesErr);
+        User::Leave(-1);
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp121::ValidateSearchResultsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp121::ValidateSearchResultsL(
+    CCategoryLandmarkSearchResult* aExpectedSearchResult,
+    CPosLmMultiDbSearch* aMultiDbSearcher,
+    TTp121SortOrder aSortOrder)
+    {
+    _LIT(KNotFoundErr, "Id %d not found in parsed Lm search results");
+
+    TInt nrOfMatches = 0;
+    for (TInt j = 0; j < iNrOfDatabases; j++)
+        {
+        CPosLandmarkDatabase* db = CPosLandmarkDatabase::OpenL((*iDatabases)[j]);
+        CleanupStack::PushL(db);
+        CPosLmItemIterator* iter = aMultiDbSearcher->MatchIteratorL(j);
+        CleanupStack::PushL(iter);
+        
+        nrOfMatches += iter->NumOfItemsL();
+        TPosLmItemId id = iter->NextL();
+        while (id != KPosLmNullItemId)
+            {
+            ValidateIdL(id, j);
+            AssertTrueSecL(aExpectedSearchResult->FindSearchResult(id), KNotFoundErr, id);
+            CPosLandmark* lm1 = db->ReadLandmarkLC(id);
+            id = iter->NextL();
+            if (aSortOrder != ESortNone && id != KPosLmNullItemId)
+                {
+                CPosLandmark* lm2 = db->ReadLandmarkLC(id);
+                TPtrC name1, name2;
+                lm1->GetLandmarkName(name1);
+                lm2->GetLandmarkName(name2);
+                if (aSortOrder == ESortAscending)
+                    {                        
+                    AssertTrueSecL(name1.CompareC(name2) <= 0, _L("Not sorted ascending as expected"));
+                    }
+                else // aSortOrder == ESortDescending
+                    {
+                    AssertTrueSecL(name1.CompareC(name2) >= 0, _L("Not sorted descending as expected"));
+                    }
+                CleanupStack::PopAndDestroy(lm2);
+                }
+            CleanupStack::PopAndDestroy(lm1);
+            }
+        CleanupStack::PopAndDestroy(2, db);
+        }
+    AssertTrueSecL(nrOfMatches == aMultiDbSearcher->TotalNumOfMatches(), _L("Total nr of matches doesn't match sum of matches in iterators"));
+    AssertTrueSecL(NrOfSearchErrors(aMultiDbSearcher) == 0, _L("Found search errors!"));
+    }
+    
+// ---------------------------------------------------------
+// CPosTp121::ValidateSearchResultsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp121::ValidateSearchResultsL(
+    const RIdArray& aExpectedIds,
+    CPosLmMultiDbSearch* aMultiDbSearcher,
+    TInt aNrOfExpectedErrors)
+    {
+    _LIT(KNotFoundErr, "Id %d not found in expected Lm search results");
+
+    TInt nrOfMatches = 0;
+    for (TInt j = 0; j < iNrOfDatabases; j++)
+        {
+        CPosLmItemIterator* iter = aMultiDbSearcher->MatchIteratorL(j);
+        CleanupStack::PushL(iter);
+        nrOfMatches += iter->NumOfItemsL();
+        
+        TUint nrOfSearchMatches = aMultiDbSearcher->NumOfMatches( j );
+        
+        TPosLmItemId id = iter->NextL();
+        while (id != KPosLmNullItemId)
+            {
+            AssertTrueSecL(aExpectedIds.Find(id) != KErrNotFound, KNotFoundErr, id);
+            id = iter->NextL();
+            }
+        CleanupStack::PopAndDestroy(iter);
+        }
+    AssertTrueSecL(nrOfMatches == aMultiDbSearcher->TotalNumOfMatches(), _L("Total nr of matches doesn't match sum of matches in iterators"));
+    AssertTrueSecL(nrOfMatches == aExpectedIds.Count(), _L("Total nr of matches doesn't match expected"));
+    AssertTrueSecL(NrOfSearchErrors(aMultiDbSearcher) == aNrOfExpectedErrors, _L("Found search errors!"));
+    }
+    
+// ---------------------------------------------------------
+// CPosTp121::SearchL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp121::SearchL(
+    CPosLmCategoryCriteria* aCatSearchCriteria,
+    TExecutionMode aExecutionMode,
+    TBool aRefinedSearch,
+    TTp121SortOrder aSortOrder)
+    {
+    TPosLmSortPref ascending(CPosLandmark::ELandmarkName);
+    TPosLmSortPref descending(CPosLandmark::ELandmarkName, TPosLmSortPref::EDescending);
+
+    switch (aSortOrder)
+        {
+        case ESortNone:
+            iOperation = iMultiDbSearch->StartLandmarkSearchL(*aCatSearchCriteria, aRefinedSearch);
+            break;
+        case ESortAscending:
+            iOperation = iMultiDbSearch->StartLandmarkSearchL(*aCatSearchCriteria, ascending, aRefinedSearch);
+            break;
+        case ESortDescending:
+            iOperation = iMultiDbSearch->StartLandmarkSearchL(*aCatSearchCriteria, descending, aRefinedSearch);
+            break;
+        default:
+            User::Leave(KErrArgument);
+            break;
+        }
+        
+    switch (aExecutionMode)
+        {
+        case ESynchronous:
+            ExecuteAndDeleteLD(iOperation);
+            break;
+        case EAsynchronous:
+            RunAsyncOperationLD(iOperation);
+            break;
+        default:
+            User::Leave(KErrArgument);
+            break;
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp121::TestResetSearchAttributesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp121::TestResetSearchAttributesL()
+    {
+    CPosLmCategoryCriteria* crit = CPosLmCategoryCriteria::NewLC();
+    
+    // Verify default values
+    TPosLmItemId id = crit->CategoryItemId();
+    AssertTrueSecL(id == KPosLmNullItemId, _L("id != KPosLmNullItemId"));
+    TPosLmGlobalCategory globalId = crit->GlobalCategory();
+    AssertTrueSecL(globalId == KPosLmNullItemId, _L("globalId != KPosLmNullItemId"));
+    TPtrC name = crit->CategoryName();
+    AssertTrueSecL(name.Length() == 0, _L("name.Length() != 0"));    
+    
+    // Set id - other values should be default
+    const TPosLmItemId KId = 10;
+    crit->SetCategoryItemId(KId);
+    AssertTrueSecL(crit->CategoryItemId() == KId, _L("id != KId"));
+    AssertTrueSecL(crit->GlobalCategory()== KPosLmNullItemId, _L("globalId != KPosLmNullItemId"));
+    AssertTrueSecL(crit->CategoryName().Length() == 0, _L("name.Length() != 0"));    
+    
+    // Set name - other values should be default
+    _LIT(KName, "Category Name");
+    crit->SetCategoryNameL(KName);
+    AssertTrueSecL(crit->CategoryItemId() == KPosLmNullItemId, _L("id != KPosLmNullItemId"));
+    AssertTrueSecL(crit->GlobalCategory()== KPosLmNullItemId, _L("globalId != KPosLmNullItemId"));
+    AssertTrueSecL(crit->CategoryName() == KName, _L("name != KName"));    
+    
+    // Set global id - other values should be default
+    const TPosLmGlobalCategory KGlobalCategoryId = 20;
+    crit->SetGlobalCategory(KGlobalCategoryId);
+    AssertTrueSecL(crit->CategoryItemId() == KPosLmNullItemId, _L("id != KPosLmNullItemId"));
+    AssertTrueSecL(crit->GlobalCategory()== KGlobalCategoryId, _L("globalId != KGlobalCategoryId"));
+    AssertTrueSecL(crit->CategoryName().Length() == 0, _L("name.Length() != 0"));    
+    
+    // Set id - other values should be default
+    crit->SetCategoryItemId(KId);
+    AssertTrueSecL(crit->CategoryItemId() == KId, _L("id != KId"));
+    AssertTrueSecL(crit->GlobalCategory()== KPosLmNullItemId, _L("globalId != KPosLmNullItemId"));
+    AssertTrueSecL(crit->CategoryName().Length() == 0, _L("name.Length() != 0"));    
+    
+    CleanupStack::PopAndDestroy(crit);
+    }
+
+// ---------------------------------------------------------
+// CPosTp121::TestCaseInsensitiveL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp121::TestCaseInsensitiveL()
+    {
+    CPosLmCategoryCriteria* crit = CPosLmCategoryCriteria::NewLC();
+    RIdArray expectedIds;
+    CleanupClosePushL(expectedIds);
+    
+    // Search for "rEStaUrANt", should result in no match
+    TBuf<25> rest = _L("rEStaUrANt");
+    crit->SetCategoryNameL(rest);
+    SearchL(crit, ESynchronous);
+    ValidateSearchResultsL(expectedIds, iMultiDbSearch);
+    
+    // Search for "RESTAURANT", should result in no match
+    rest.UpperCase();
+    crit->SetCategoryNameL(rest);
+    SearchL(crit, EAsynchronous);
+    ValidateSearchResultsL(expectedIds, iMultiDbSearch);
+    
+    // Search for "Restaurant", should result in two matches
+    HBufC* restaurant = GetGlobalCategoryFromResourceLC( KAccommodation );
+    crit->SetCategoryNameL(*restaurant);
+    SearchL(crit, ESynchronous);
+    expectedIds.AppendL(iRestaurantId1);
+    expectedIds.AppendL(iRestaurantId2);
+    ValidateSearchResultsL(expectedIds, iMultiDbSearch);
+    CleanupStack::PopAndDestroy( restaurant );
+    
+    // Search for "mCDoNAldS", should result in no match
+    rest = _L("mCDoNAldS");
+    crit->SetCategoryNameL(rest);
+    SearchL(crit, EAsynchronous);
+    expectedIds.Reset();
+    ValidateSearchResultsL(expectedIds, iMultiDbSearch);
+    
+    // Search for "MCDONALDS", should result in no match
+    rest.UpperCase();
+    crit->SetCategoryNameL(rest);
+    SearchL(crit, ESynchronous);
+    ValidateSearchResultsL(expectedIds, iMultiDbSearch);
+    
+    // Search for "McDonalds", should result in two matches
+    rest = _L("McDonalds");
+    crit->SetCategoryNameL(rest);
+    SearchL(crit, EAsynchronous);
+    expectedIds.AppendL(7);
+    expectedIds.AppendL(27);
+    ValidateSearchResultsL(expectedIds, iMultiDbSearch);
+    CleanupStack::PopAndDestroy(2, crit);
+    }
+    
+// ---------------------------------------------------------
+// CPosTp121::TestWildCardsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp121::TestWildCardsL()
+    {    
+    CPosLmCategoryCriteria* crit = CPosLmCategoryCriteria::NewLC();
+    const TInt KNrOfArrays = 5;
+    RIdArray* idArrays[KNrOfArrays];
+    for (TInt i = 0; i < KNrOfArrays; i++)
+        {
+        RIdArray* array = new (ELeave) RIdArray;
+        CleanupStack::PushL(array);
+        CleanupClosePushL(*array);
+        idArrays[i] = array;
+        }
+    RIdArray empty;
+    CleanupClosePushL(empty);
+        
+    // Search for "*", should result in no matches    
+    crit->SetCategoryNameL(_L("*"));
+    SearchL(crit, ESynchronous);
+    ValidateSearchResultsL(empty, iMultiDbSearch);
+    
+    // Search for "?", should result in no matches    
+    crit->SetCategoryNameL(_L("?"));
+    SearchL(crit, EAsynchronous);
+    ValidateSearchResultsL(empty, iMultiDbSearch);
+    
+// -------------- Setup databases --------------
+    
+// Add a category to db0
+    CPosLandmarkDatabase* db = CPosLandmarkDatabase::OpenL((*iDatabases)[0]);
+    CleanupStack::PushL(db);
+    CPosLmCategoryManager* catMan = CPosLmCategoryManager::NewL(*db);
+    CleanupStack::PushL(catMan);    
+    CPosLandmarkCategory* category = CPosLandmarkCategory::NewLC();
+    
+    // Add category "*wild card"
+    _LIT(KCategory0, "*wild card");
+    category->SetCategoryNameL(KCategory0);
+    TPosLmItemId id0 = catMan->AddCategoryL(*category);
+    idArrays[0]->AppendL(1);
+    idArrays[0]->AppendL(2);
+    ExecuteAndDeleteLD(catMan->AddCategoryToLandmarksL(id0, *idArrays[0]));
+    CleanupStack::PopAndDestroy(3, db);
+    
+// Add categories to db2
+    db = CPosLandmarkDatabase::OpenL((*iDatabases)[2]);
+    CleanupStack::PushL(db);
+    catMan = CPosLmCategoryManager::NewL(*db);
+    CleanupStack::PushL(catMan);
+    category = CPosLandmarkCategory::NewLC();
+    
+    // Add category "wi?d c?rd"
+    _LIT(KCategory1, "wi?d c?rd");
+    category->SetCategoryNameL(KCategory1);
+    TPosLmItemId id1 = catMan->AddCategoryL(*category);
+    idArrays[1]->AppendL(44);
+    idArrays[1]->AppendL(45);
+    ExecuteAndDeleteLD(catMan->AddCategoryToLandmarksL(id1, *idArrays[1]));
+    
+    // Add category "***"
+    _LIT(KCategory2, "***");
+    category->SetCategoryNameL(KCategory2);
+    TPosLmItemId id2 = catMan->AddCategoryL(*category);
+    idArrays[2]->AppendL(44);
+    idArrays[2]->AppendL(47);
+    idArrays[2]->AppendL(55);
+    ExecuteAndDeleteLD(catMan->AddCategoryToLandmarksL(id2, *idArrays[2]));
+    CleanupStack::PopAndDestroy(3, db);
+    
+// Add categories to db4
+    db = CPosLandmarkDatabase::OpenL((*iDatabases)[4]);
+    CleanupStack::PushL(db);
+    catMan = CPosLmCategoryManager::NewL(*db);
+    CleanupStack::PushL(catMan);
+    category = CPosLandmarkCategory::NewLC();
+        
+    // Add category "?"
+    _LIT(KCategory3, "?");
+    category->SetCategoryNameL(KCategory3);
+    TPosLmItemId id3 = catMan->AddCategoryL(*category);
+    idArrays[3]->AppendL(86);
+    idArrays[3]->AppendL(81);
+    idArrays[3]->AppendL(104);
+    ExecuteAndDeleteLD(catMan->AddCategoryToLandmarksL(id3, *idArrays[3]));
+    
+    // Add category "wi?d ca*"
+    _LIT(KCategory4, "wi?d ca*");
+    category->SetCategoryNameL(KCategory4);
+    TPosLmItemId id4 = catMan->AddCategoryL(*category);
+    idArrays[4]->AppendL(101);
+    ExecuteAndDeleteLD(catMan->AddCategoryToLandmarksL(id4, *idArrays[4]));
+    CleanupStack::PopAndDestroy(3, db);
+
+// -------------- Search and verify --------------
+    
+// Search for "*" and verify results - no matches expected
+    crit->SetCategoryNameL(_L("*"));
+    SearchL(crit, ESynchronous);
+    ValidateSearchResultsL(empty, iMultiDbSearch);
+        
+// Search for "*wild*" and verify results - no matches expected
+    crit->SetCategoryNameL(_L("*wild*"));
+    SearchL(crit, EAsynchronous);
+    ValidateSearchResultsL(empty, iMultiDbSearch);
+    
+// Search for "w?ld ca?d" and verify results - no matches expected
+    crit->SetCategoryNameL(_L("w?ld ca?d"));
+    SearchL(crit, ESynchronous);
+    ValidateSearchResultsL(empty, iMultiDbSearch);
+    
+// Search for "wi?d c?rd" and verify results - two matches expected
+    crit->SetCategoryNameL(KCategory1);
+    SearchL(crit, EAsynchronous);
+    ValidateSearchResultsL(*idArrays[1], iMultiDbSearch);
+    
+// Search for "****" and verify results - no matches expected
+    crit->SetCategoryNameL(_L("****"));
+    SearchL(crit, ESynchronous);
+    ValidateSearchResultsL(empty, iMultiDbSearch);
+    
+// Search for "***" and verify results - three matches expected
+    crit->SetCategoryNameL(KCategory2);
+    SearchL(crit, EAsynchronous);
+    ValidateSearchResultsL(*idArrays[2], iMultiDbSearch);
+    
+// Search for "**" and verify results - no matches expected
+    crit->SetCategoryNameL(_L("**"));
+    SearchL(crit, ESynchronous);
+    ValidateSearchResultsL(empty, iMultiDbSearch);
+    
+// Search for "?" and verify results - two matches expected
+    crit->SetCategoryNameL(KCategory3);
+    SearchL(crit, EAsynchronous);
+    ValidateSearchResultsL(*idArrays[3], iMultiDbSearch);
+    
+// Search for "?*" and verify results - no matches expected
+    crit->SetCategoryNameL(_L("?*"));
+    SearchL(crit, ESynchronous);
+    ValidateSearchResultsL(empty, iMultiDbSearch);
+    
+// Search for "wi?d ca*" and verify results - one match expected
+    crit->SetCategoryNameL(KCategory4);
+    SearchL(crit, EAsynchronous);
+    ValidateSearchResultsL(*idArrays[4], iMultiDbSearch);
+    
+// Search for "wi?d card" and verify results - no matches expected
+    crit->SetCategoryNameL(_L("wi?d card"));
+    SearchL(crit, ESynchronous);
+    ValidateSearchResultsL(empty, iMultiDbSearch);    
+    
+    CleanupStack::PopAndDestroy(&empty);
+    CleanupStack::PopAndDestroy(2 * KNrOfArrays);
+    CleanupStack::PopAndDestroy(crit);
+    }
+    
+// ---------------------------------------------------------
+// CPosTp121::TestRefinedSearchL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp121::TestRefinedSearchL(TExecutionMode aExecutionMode)
+    {
+    CPosLmCategoryCriteria* crit = CPosLmCategoryCriteria::NewLC();
+    RIdArray idArray;
+    CleanupClosePushL(idArray);
+    
+    // Make a search for local category name
+    crit->SetCategoryNameL(_L("TietoEnator kontor")); // lm 7,27,51-61 will be found according to xls-sheet and code above
+    idArray.AppendL(7);
+    idArray.AppendL(27);
+    for (TInt i = 51; i <= 61; i++)
+        {        
+        idArray.AppendL(i);
+        }
+    SearchL(crit, aExecutionMode);
+    ValidateSearchResultsL(idArray, iMultiDbSearch);
+    
+    // Refine the previous search by specifying another local category name
+    crit->SetCategoryNameL(_L("BurgerKing")); // lm 7,27,51-54 will be found according to xls-sheet and the code above
+    for (TInt i = idArray.Count() - 1; i >= 5; i--)
+        {
+        idArray.Remove(i);
+        }
+    SearchL(crit, aExecutionMode, ETrue);
+    ValidateSearchResultsL(idArray, iMultiDbSearch);
+    
+    // Repeat previous step but set max nr of matches to 1 - only 7,27,51 will be found
+    iMultiDbSearch->SetMaxNumOfMatches(1);
+    for (TInt i = idArray.Count() - 1; i >= 3; i--)
+        {
+        idArray.Remove(i);
+        }
+    SearchL(crit, aExecutionMode, ETrue);
+    ValidateSearchResultsL(idArray, iMultiDbSearch);
+    
+    // Increase max nr of matches to 10 => all qualified lms will be found
+    crit->SetCategoryNameL(_L("TietoEnator kontor"));
+    iMultiDbSearch->SetMaxNumOfMatches(10);
+    for (TInt i = 52; i <= 61; i++)
+        {
+        idArray.AppendL(i);
+        }
+    SearchL(crit, aExecutionMode);
+    ValidateSearchResultsL(idArray, iMultiDbSearch);
+    
+    // Refine search with the global category gas station by searching by id 
+    crit->SetGlobalCategory(15000); // Entertainment
+    idArray.Reset();
+    for (TInt i = 51; i <= 53; i++)
+        {
+        idArray.AppendL(i);
+        }
+    SearchL(crit, aExecutionMode, ETrue);
+    ValidateSearchResultsL(idArray, iMultiDbSearch);
+        
+    // Refine search with the local category Pizzeria by searching by name
+    crit->SetCategoryNameL(_L("Pizzeria")); // only lm 51 should be found
+    idArray.Remove(1);
+    idArray.Remove(1);
+    SearchL(crit, aExecutionMode, ETrue);
+    ValidateSearchResultsL(idArray, iMultiDbSearch);
+        
+    // Refine search with a global id that does not exist
+    crit->SetGlobalCategory(10000); // no lms should be found
+    idArray.Remove(0);
+    SearchL(crit, aExecutionMode, ETrue);
+    ValidateSearchResultsL(idArray, iMultiDbSearch);
+        
+    iMultiDbSearch->SetMaxNumOfMatches();
+    CleanupStack::PopAndDestroy(2, crit);
+    }
+
+// ---------------------------------------------------------
+// CPosTp121::TestDatabaseListL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp121::TestDatabaseListL(const RIdArray& aExpectedMatches)
+    {
+    iLog->Log(_L("TestDatabaseListL"));
+    _LIT(KNonExistingDb, "Jimmi.ldb");
+    // Append an invalid(missing extension) database and search
+    
+    iDatabases->AppendL(_L("Jimmi"));
+    iNrOfDatabases++;
+    iMultiDbSearch->SetDatabasesToSearchL(*iDatabases);
+    
+    CPosLmCategoryCriteria* catSearchCriteria = CPosLmCategoryCriteria::NewLC();
+    catSearchCriteria->SetGlobalCategory(15000); // Entertainment
+    SearchL(catSearchCriteria, ESynchronous);
+    
+    ValidateSearchResultsL(aExpectedMatches, iMultiDbSearch, 1); // one error expected
+    CPosLmMultiDbSearch::TSearchError searchError;
+    iMultiDbSearch->GetSearchError(0, searchError);
+    AssertTrueSecL(searchError.iDatabaseIndex == 5, _L("Error in wrong database"));
+    AssertTrueSecL(searchError.iErrorCode == KErrArgument, _L("Wrong error in database, %d"), searchError.iErrorCode);
+    
+    // Remove non-existing database + another one and search - no errors should occur
+    TPtrC dbName = (*iDatabases)[iDatabases->Count() - 2];
+    iDatabases->Delete(iDatabases->Count() - 2, 2);
+    iNrOfDatabases = iNrOfDatabases - 2;
+    iMultiDbSearch->SetDatabasesToSearchL(*iDatabases);
+    
+    SearchL(catSearchCriteria, EAsynchronous);
+    
+    ValidateSearchResultsL(aExpectedMatches, iMultiDbSearch);
+    
+    iDatabases->AppendL(KDb105);
+    iNrOfDatabases++;
+    CleanupStack::PopAndDestroy(catSearchCriteria);
+
+    // Verify that NewL for CPosLmMultiDbSearch is correct
+    iDatabases->AppendL(KNonExistingDb);
+    iNrOfDatabases++;
+    CPosLmMultiDbSearch* multiDb = CPosLmMultiDbSearch::NewL(*iDatabases);
+    CleanupStack::PushL(multiDb);
+    
+    catSearchCriteria = CPosLmCategoryCriteria::NewLC();
+    catSearchCriteria->SetGlobalCategory(15000); // Entertainment
+
+    iOperation = multiDb->StartLandmarkSearchL(*catSearchCriteria, EFalse);
+    ExecuteAndDeleteLD(iOperation);
+    
+    ValidateSearchResultsL(aExpectedMatches, multiDb, 1); // one error expected
+    multiDb->GetSearchError(0, searchError);
+    AssertTrueSecL(searchError.iDatabaseIndex == 5, _L("Error in wrong database"));
+    AssertTrueSecL(searchError.iErrorCode == KErrNotFound, _L("Wrong error in database, %d"), searchError.iErrorCode);
+    
+    // Remove added db from list
+    TInt pos = 0;
+    
+    TInt res = iDatabases->Find(KNonExistingDb, pos);
+    if (res == KErrNone) iDatabases->Delete(pos);
+    iNrOfDatabases--;
+    CleanupStack::PopAndDestroy(catSearchCriteria);
+    CleanupStack::PopAndDestroy(multiDb);
+    }
+
+// ---------------------------------------------------------
+// CPosTp121::TestOnTheFlySearchL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp121::TestOnTheFlySearchL(const RIdArray& aExpectedMatches)
+    {
+    iMultiDbSearch->SetMaxNumOfMatches(KPosLmMaxNumOfMatchesUnlimited);
+            
+    CPosLmCategoryCriteria* catSearchCriteria = CPosLmCategoryCriteria::NewLC();
+    catSearchCriteria->SetGlobalCategory(15000); // Entertainment
+    COnTheFlyTester* onTheFlyTester = COnTheFlyTester::NewLC();
+    onTheFlyTester->StartSearchCampaignL(iMultiDbSearch, aExpectedMatches, catSearchCriteria);
+    TInt result = onTheFlyTester->Err();
+    if (result != KErrNone)
+        {
+        TPtrC msg;
+        onTheFlyTester->GetErrMsg(msg);
+        iLog->Log(msg);
+        User::Leave(result);
+        }
+    CleanupStack::PopAndDestroy(2, catSearchCriteria);
+    }
+
+// ---------------------------------------------------------
+// CPosTp121::NrOfSearchErrors
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt CPosTp121::NrOfSearchErrors(CPosLmMultiDbSearch* aMultiDbSearcher)
+    {    
+    TInt nrOfSearchErrors = aMultiDbSearcher->NumOfSearchErrors();
+    if (nrOfSearchErrors != 0)
+        {
+        for (TInt i = 0; i < nrOfSearchErrors; i++)
+            {
+            CPosLmMultiDbSearch::TSearchError error;
+            aMultiDbSearcher->GetSearchError(i, error);
+            TBuf<100> msg;
+            msg.Format(_L("Found error %d in database %d"), error.iErrorCode, error.iDatabaseIndex);
+            iLog->Log(msg);
+            }
+        }
+    return nrOfSearchErrors;
+    }
+    
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp122.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,1620 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLmCategoryCriteria.h>
+#include <EPos_CPosLMItemIterator.h>
+#include <EPos_CPosLmMultiDbSearch.h>
+#include <EPos_CPosLmDatabaseManager.h>
+#include "FT_CPosTp122.h"
+#include "FT_LandmarkConstants.h"
+#include <EPos_CPosLmDisplayData.h>
+#include <EPos_CPosLmDisplayItem.h>
+
+#include <e32math.h>
+
+// CONSTANTS
+const TInt KMaxFieldLength = 80;
+const TInt KDistanceFieldLength = 24;
+const TInt KMaxNearestLineLength = 1024;
+
+//const TInt KNrOfDatabases = 5;
+
+_LIT(KLMDB1, "NEARESTLMDB_1.LDB");
+_LIT(KLMDB2, "NEARESTLMDB_2.LDB");
+_LIT(KLMDB3, "NEARESTLMDB_3.LDB");
+_LIT(KLMDB4, "NEARESTLMDB_4.LDB");
+_LIT(KLMDB5, "NEARESTLMDB_5.LDB");
+
+_LIT(KNEARESTLMDB, "eposlmnearestsearch.ldb");
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp122::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp122::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+
+    delete iDatabases;
+
+    if (iMultiDbSearch) iMultiDbSearch->UnsetDisplayData();
+    delete iDisplayData;
+    iDisplayData = NULL;
+
+    delete iMultiDbSearch;
+    iNearestSearchResults.ResetAndDestroy();
+
+    TRAPD(err, RemoveAllLmDatabasesL());
+    if (err != KErrNone) iLog->Log(_L("Error when RemoveAllLmDatabasesL"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp122::InitTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp122::InitTestL()
+    {
+    CLandmarkTestProcedureBase::InitTestL();
+
+    iLog->Log(_L("InitTestL"));
+    RemoveAllLmDatabasesL();
+
+    // PrepareDatabases
+    PrepareDatabasesL();
+
+	SetupLimits();
+
+    iNrOfDatabases = 5;
+
+    CPosLmDatabaseManager* dbManager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(dbManager);
+    iDatabases = dbManager->ListDatabasesLC();
+    CleanupStack::Pop(iDatabases);
+    iDatabases->Sort(); // Not really necessary...
+    AssertTrueSecL((iDatabases->Count() == iNrOfDatabases), _L("Wrong number of databases"));
+
+    iLog->Log( _L("List sorted"));
+
+    iMultiDbSearch = CPosLmMultiDbSearch::NewL(*iDatabases);
+    CleanupStack::PopAndDestroy(dbManager);
+
+    iLog->Log( _L("multi search"));
+
+    // Copy db file, used by CNearestSearchResult
+    CopyTestDbFileL(KNEARESTLMDB);
+
+    iLog->Log( _L("copied"));
+
+    // Initiallize iNearestSearchResults
+    AppendNearestSearchResultsL();
+    }
+
+// ---------------------------------------------------------
+// CPosTp122::SetupLimits()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+void CPosTp122::SetupLimits()
+	{
+    iIdDb1Min = 1;
+    iIdDb1Max = 50;
+
+    iIdDb2Min = 51;
+    iIdDb2Max = 100;
+
+    iIdDb3Min = 101;
+    iIdDb3Max = 150;
+
+    iIdDb4Min = 151;
+    iIdDb4Max = 200;
+
+    iIdDb5Min = 201;
+    iIdDb5Max = 254;
+	}
+
+// ---------------------------------------------------------
+// CPosTp122::AppendNearestSearchResultsL()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+void CPosTp122::AppendNearestSearchResultsL()
+    {
+    iNearestSearchResults.ResetAndDestroy();
+
+     _LIT(KFileTestValues, "c:\\system\\test\\testdata\\lmDbNearestSearchResult.txt");
+
+    RFile file;
+    CleanupClosePushL(file);
+    User::LeaveIfError(file.Open(iFileSession, KFileTestValues,  EFileRead));
+
+    TInt row=0;
+    TBuf<KMaxNearestLineLength> line;
+    while (ReadLn(file, line) != KErrEof)
+        {
+        TLex lex(line);
+        if (lex.Peek() != '#' && lex.Peek() != '\t')
+            {
+            ++row;
+
+            //iLog->Log(_L("Nearest search result in progress"));
+            CNearestSearchResult* searchResult = CNearestSearchResult::NewL(line, row, iFileSession);
+            CleanupStack::PushL(searchResult);
+
+            User::LeaveIfError(iNearestSearchResults.Append(searchResult));
+            CleanupStack::Pop(searchResult);
+            //iLog->Log(_L("Nearest search result added"));
+            }
+        }
+    CleanupStack::PopAndDestroy(&file);
+    }
+
+// ---------------------------------------------------------
+// CPosTp122::PrepareDatabasesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp122::PrepareDatabasesL()
+	{
+	iLog->Log(_L("PrepareDatabasesL"));
+	// Copy eposlmnearestsearch.ldb into five dbs
+    _LIT(KDbFile, "c:\\system\\test\\testdata\\eposlmnearestsearch.ldb");
+
+    CFileMan* fileMan = CFileMan::NewL(iFileSession);
+    CleanupStack::PushL(fileMan);
+
+    TBuf<100> path;
+    path.Zero();
+    path.Append(KLmDbPath);
+    path.Append(KLMDB1);
+    User::LeaveIfError(fileMan->Copy(KDbFile, path, CFileMan::EOverWrite));
+
+    path.Zero();
+    path.Append(KLmDbPath);
+    path.Append(KLMDB2);
+    User::LeaveIfError(fileMan->Copy(KDbFile, path, CFileMan::EOverWrite));
+
+    path.Zero();
+    path.Append(KLmDbPath);
+    path.Append(KLMDB3);
+    User::LeaveIfError(fileMan->Copy(KDbFile, path, CFileMan::EOverWrite));
+
+    path.Zero();
+    path.Append(KLmDbPath);
+    path.Append(KLMDB4);
+    User::LeaveIfError(fileMan->Copy(KDbFile, path, CFileMan::EOverWrite));
+
+    path.Zero();
+    path.Append(KLmDbPath);
+    path.Append(KLMDB5);
+    User::LeaveIfError(fileMan->Copy(KDbFile, path, CFileMan::EOverWrite));
+
+    CleanupStack::PopAndDestroy(fileMan);
+
+    // Now adjust dbs according to following:
+    // First db-> Keep landmarks 1-50
+    // Second db-> Keep landmarks 51-100
+    // Third db-> Keep landmarks 101-150
+    // Fourth db-> Keep landmarks 151-200
+    // Fifth db-> Keep landmarks 201-254
+
+    RArray<TPosLmItemId> array;
+    CleanupClosePushL(array);
+
+    CPosLandmarkDatabase* lmd = CPosLandmarkDatabase::OpenL(KLMDB1);
+    CleanupStack::PushL(lmd);
+
+    TBool debug = EFalse;
+    TInt index=0;
+    TInt max=254;
+   	for (index=50;index<max;index++) array.Append(index+1);
+    if (lmd->IsInitializingNeeded()) ExecuteAndDeleteLD(lmd->InitializeL());
+    ExecuteAndDeleteLD(lmd->RemoveLandmarksL(array));
+    array.Reset();
+    if (debug) PrintLm(lmd);
+    CleanupStack::PopAndDestroy(lmd);
+
+	lmd = CPosLandmarkDatabase::OpenL(KLMDB2);
+    CleanupStack::PushL(lmd);
+
+   	for (index=0;index<50;index++) array.Append(index+1);
+   	for (index=100;index<max;index++) array.Append(index+1);
+    if (lmd->IsInitializingNeeded()) ExecuteAndDeleteLD(lmd->InitializeL());
+    ExecuteAndDeleteLD(lmd->RemoveLandmarksL(array));
+    array.Reset();
+	if (debug) PrintLm(lmd);
+    CleanupStack::PopAndDestroy(lmd);
+
+	lmd = CPosLandmarkDatabase::OpenL(KLMDB3);
+    CleanupStack::PushL(lmd);
+
+   	for (index=0;index<100;index++) array.Append(index+1);
+   	for (index=150;index<max;index++) array.Append(index+1);
+    if (lmd->IsInitializingNeeded()) ExecuteAndDeleteLD(lmd->InitializeL());
+    ExecuteAndDeleteLD(lmd->RemoveLandmarksL(array));
+    array.Reset();
+	if (debug) PrintLm(lmd);
+    CleanupStack::PopAndDestroy(lmd);
+
+	lmd = CPosLandmarkDatabase::OpenL(KLMDB4);
+    CleanupStack::PushL(lmd);
+
+   	for (index=0;index<150;index++) array.Append(index+1);
+   	for (index=200;index<max;index++) array.Append(index+1);
+    if (lmd->IsInitializingNeeded()) ExecuteAndDeleteLD(lmd->InitializeL());
+    ExecuteAndDeleteLD(lmd->RemoveLandmarksL(array));
+    array.Reset();
+	if (debug) PrintLm(lmd);
+    CleanupStack::PopAndDestroy(lmd);
+
+	lmd = CPosLandmarkDatabase::OpenL(KLMDB5);
+    CleanupStack::PushL(lmd);
+
+	for (index=0;index<200;index++) array.Append(index+1);
+    if (lmd->IsInitializingNeeded()) ExecuteAndDeleteLD(lmd->InitializeL());
+    ExecuteAndDeleteLD(lmd->RemoveLandmarksL(array));
+    array.Reset();
+	if (debug) PrintLm(lmd);
+
+    CleanupStack::PopAndDestroy(lmd);
+
+    CleanupStack::PopAndDestroy(&array);
+    iLog->Log(_L("PrepareDatabasesL Done"));
+	}
+
+// ---------------------------------------------------------
+// CPosTp122::PrintLm
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp122::PrintLm(CPosLandmarkDatabase* db)
+	{
+	CPosLmItemIterator* iter = db->LandmarkIteratorL();
+	CleanupStack::PushL(iter);
+	iLog->Log(_L("PrintLm"));
+	//for (TInt i=0;i< iter->Count();i++)
+	TPosLmItemId id = iter->NextL();
+	TBuf<100> buf;
+
+	while (id != KPosLmNullItemId)
+		{
+		CPosLandmark* lm = db->ReadLandmarkLC(id);
+		TPtrC name;
+		lm->GetLandmarkName(name);
+		iLog->Log(_L("Found LM '%S' "), &name);
+		TInt idde = lm->LandmarkId();
+
+		id = iter->NextL();
+		CleanupStack::PopAndDestroy(lm);
+		}
+
+	CleanupStack::PopAndDestroy(iter);
+	iLog->Log(_L("PrintLm Done"));
+	}
+
+// ---------------------------------------------------------
+// CPosTp122::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp122::StartL()
+    {
+	TInt KNrOfSearch = 0;
+	iErrorsFound= KErrNone;
+
+	iDisplayData = CPosLmDisplayData::NewL();
+	iMultiDbSearch->SetDisplayData(*iDisplayData);
+
+    iLog->Log(_L(">>>>>Search Synchronous with ascending sort order"));
+    StartSearchOperationL(iNearestSearchResults, ESynchronous, ESortAscending, KNrOfSearch);
+
+    iLog->Log(_L(">>>>>Search Synchronous with descending sort order"));
+    StartSearchOperationL(iNearestSearchResults, ESynchronous, ESortDescending, KNrOfSearch);
+
+    iLog->Log(_L(">>>>>Search Asynchronous with ascending sort order"));
+    StartSearchOperationL(iNearestSearchResults, EAsynchronous, ESortAscending, KNrOfSearch);
+
+    iLog->Log(_L(">>>>>Search Asynchronous with descending sort order"));
+    StartSearchOperationL(iNearestSearchResults, EAsynchronous, ESortDescending, KNrOfSearch);
+
+    iLog->Log(_L(">>>>>Search Synchronous with no sort order (therefore sorted by distance)"));
+    StartSearchOperationL(iNearestSearchResults, ESynchronous, ESortNone);
+
+	iLog->Log(_L(">>>>>Search Asynchronous with no sort order (therefore sorted by distance)"));
+    StartSearchOperationL(iNearestSearchResults, EAsynchronous, ESortNone);
+
+    iLog->Log(_L(">>>>>Search Synchronous with no sort order, partial (therefore sorted by distance)"));
+    iPartial = ETrue;
+    StartSearchOperationL(iNearestSearchResults, ESynchronous, ESortNone);
+    iPartial = EFalse;
+    iDisplayData->UnsetPartialReadParameters();
+
+    iLog->Log(_L("Test with maximum searches"));
+    TestMaximumNrOfMatchesL(iNearestSearchResults, EAsynchronous, ESortNone);
+    TestMaximumNrOfMatchesL(iNearestSearchResults, ESynchronous, ESortNone);
+    TestMaximumNrOfMatchesL(iNearestSearchResults, EAsynchronous, ESortDescending);
+    TestMaximumNrOfMatchesL(iNearestSearchResults, EAsynchronous, ESortAscending);
+
+    iLog->Log(_L("TestOnTheFlySearchL"));
+    TestOnTheFlySearchL(iNearestSearchResults);
+
+    // Since TestOnTheFlySearchL is changing displadata
+    iMultiDbSearch->UnsetDisplayData();
+    delete iDisplayData;
+    iDisplayData = NULL;
+    iDisplayData = CPosLmDisplayData::NewL();
+	iMultiDbSearch->SetDisplayData(*iDisplayData);
+
+    iLog->Log(_L("Test Leave codes for nearest search"));
+    TestLeaveCodesL();
+
+    // TC Step 6 "A new array of databases is set to be searched"
+    iLog->Log(_L("Test refined search, test different search dbs"));
+    DoLastTestPartL(iNearestSearchResults);
+
+    iLog->Log(_L("Testing cancel immediately"));
+    CancelTestL(iNearestSearchResults, EFalse);
+
+	// XXX Hangs client
+    iLog->Log(_L("Testing cancel in callback"));
+    CancelTestL(iNearestSearchResults, ETrue);
+
+    if (iErrorsFound != KErrNone)
+    	{
+
+    	iLog->Log(_L("Errors found in TP122"));
+    	User::Leave(-1);
+    	}
+    else iLog->Log(_L("TP122 successfully completed"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp122::StartSearchOperationL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp122::StartSearchOperationL(
+    const RPointerArray<CNearestSearchResult>& aSearchResults,
+    TExecutionMode aExecutionMode,
+    TTp122SortOrder aSortOrder,
+    TInt aNrOfSearches)
+    {
+
+    // Test SetMaxNumOfMatches, first set to one and then back to unlimited
+    iMultiDbSearch->SetMaxNumOfMatches(1);
+    iMultiDbSearch->SetMaxNumOfMatches();
+
+    TBuf<100> buf;
+    TInt maxSearches = 0;
+    if (aNrOfSearches == 0) maxSearches = aSearchResults.Count();
+    else maxSearches = aNrOfSearches;
+
+    for(TInt i=0; i<maxSearches; i++)
+        {
+        TCoordinate coord(aSearchResults[i]->iLatitude, aSearchResults[i]->iLongitude);
+        CPosLmNearestCriteria* nearestCriteria = CPosLmNearestCriteria::NewLC(coord, aSearchResults[i]->iUseCoverageRadius);
+        nearestCriteria->SetMaxDistance(aSearchResults[i]->iMaxDistance);
+		buf.Format(_L("StartSearchOperationL: Searching for Lat %f Long %f"), aSearchResults[i]->iLatitude, aSearchResults[i]->iLongitude);
+		//iLog->Log(buf);
+
+        if (aSearchResults[i]->iMaxSearchResult > 0)
+            {
+            // Does not work anymore
+            //iMultiDbSearch->SetMaxNumOfMatches(aSearchResults[i]->iMaxSearchResult);
+            }
+        else
+            {
+            iMultiDbSearch->SetMaxNumOfMatches(KPosLmMaxNumOfMatchesUnlimited);
+            }
+
+        if (iNearestSearchResults[i]->Redefined() && i > 0)
+            {
+            // Remove distances that are not present in the previous
+
+            for (TInt j=0; j<iNearestSearchResults[i]->iDistances.Count(); j++)
+                {
+                TBool found = EFalse;
+                TInt id = 0;
+                TPosLmItemId idde;
+
+                id = j;
+                idde = iNearestSearchResults[i]->iDistances[j].Id();
+
+                TBuf<100> debug;
+                debug.Format(_L("Looking for id %d or id: %d "), idde, id);
+                //iLog->Log(debug);
+
+                for (TInt p=0;p<iNearestSearchResults[i-1]->iDistances.Count();p++)
+                    {
+
+                    if (iNearestSearchResults[i]->iDistances[j].Id() == iNearestSearchResults[i-1]->iDistances[p].Id())
+                        {
+                        found = ETrue;
+                        TBuf<100> buf;
+                        buf.Format(_L("Found id %d or id: %d "), idde, id);
+                        //iLog->Log(buf);
+                        }
+                    }
+                if (!found)
+                    {
+                    // Remove since not found, only keep ids that was found in previous search
+                    TBuf<100> buf;
+                    buf.Format(_L("Removing lm Id %d from index %d"), idde, id);
+                    //iLog->Log(buf);
+                    iNearestSearchResults[i]->iDistances.Remove(id);
+                    //iLog->Log(_L("Removing Done"));
+                    j--;
+                    }
+                //iLog->Log(_L("***********"));
+                }
+            }
+
+        TTime iStart;
+     	TTime iStop;
+
+     	iStart.UniversalTime();
+    	SearchL(nearestCriteria, aExecutionMode, aSearchResults[i]->Redefined(), aSortOrder);
+    	iStop.UniversalTime();
+
+    	TInt64 msec = (iStop.Int64() - iStart.Int64())/1000;
+		buf.Format(_L("Search op nr %d took %d msec"), i, msec);
+		iLog->Log(buf);
+
+    	AssertTrueSecL(NrOfSearchErrors(iMultiDbSearch) == 0, _L("Found search errors!"));
+
+    	// Add check of result here
+    	CheckSearchResultL(*aSearchResults[i], aSortOrder);
+
+    	CleanupStack::PopAndDestroy(nearestCriteria);
+    	iDisplayData->Reset();
+
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp122::SearchL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp122::SearchL(
+    CPosLmNearestCriteria* aNearestSearchCriteria,
+    TExecutionMode aExecutionMode,
+    TBool aRefinedSearch,
+    TTp122SortOrder aSortOrder)
+    {
+    if (iPartial)
+        {
+        RArray<TUint> reqFields;
+        CleanupClosePushL(reqFields);
+        reqFields.Append(EPositionFieldStreet);
+        reqFields.Append(EPositionFieldBuildingFloor);
+        CPosLmPartialReadParameters* partialParam = CPosLmPartialReadParameters::NewLC();
+        partialParam->SetRequestedPositionFields(reqFields);
+        iDisplayData->SetPartialReadParametersL(*partialParam);
+        CleanupStack::PopAndDestroy(2);
+        }
+
+    switch (aSortOrder)
+        {
+        case ESortNone:
+        	{
+            iOperation = iMultiDbSearch->StartLandmarkSearchL(*aNearestSearchCriteria, aRefinedSearch);
+            break;
+        	}
+        case ESortAscending:
+        	{
+            TPosLmSortPref ascending(CPosLandmark::ELandmarkName);
+            iOperation = iMultiDbSearch->StartLandmarkSearchL(*aNearestSearchCriteria, ascending, aRefinedSearch);
+            break;
+        	}
+        case ESortDescending:
+        	{
+            TPosLmSortPref descending(CPosLandmark::ELandmarkName, TPosLmSortPref::EDescending);
+            iOperation = iMultiDbSearch->StartLandmarkSearchL(*aNearestSearchCriteria, descending, aRefinedSearch);
+            break;
+        	}
+        default:
+            User::Leave(KErrArgument);
+            break;
+        }
+
+    switch (aExecutionMode)
+        {
+        case ESynchronous:
+            ExecuteAndDeleteLD(iOperation);
+            break;
+        case EAsynchronous:
+            RunAsyncOperationLD(iOperation);
+            break;
+        default:
+            User::Leave(KErrArgument);
+            break;
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp122::TestMaximumNrOfMatchesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp122::TestMaximumNrOfMatchesL(
+    const RPointerArray<CNearestSearchResult>& aSearchResults,
+    TExecutionMode aExecutionMode, TTp122SortOrder aSortOrder)
+    {
+    iLog->Log(_L("TestMaximumNrOfMatchesL"));
+    for (TInt j=0;j<aSearchResults.Count();j++)
+    	{
+	    TInt KIndex = j;
+		TCoordinate coord(aSearchResults[KIndex]->iLatitude, aSearchResults[KIndex]->iLongitude);
+	    CPosLmNearestCriteria* nearestCriteria = CPosLmNearestCriteria::NewLC(coord, aSearchResults[KIndex]->iUseCoverageRadius);
+	    nearestCriteria->SetMaxDistance(aSearchResults[KIndex]->iMaxDistance);
+
+	    for (TInt i=1;i<10;i++)
+		    {
+		    // Test with different maximum nr of matches
+		    iMultiDbSearch->SetMaxNumOfMatches(i*2);
+
+			TBuf<100> buf;
+			SearchL(nearestCriteria, aExecutionMode, aSearchResults[KIndex]->Redefined(), aSortOrder);
+
+
+			TInt nrOfMatches = 0;
+			for (TInt j = 0; j < iNrOfDatabases; j++)
+			    {
+			    CPosLmItemIterator* iter = iMultiDbSearch->MatchIteratorL(j);
+			    CleanupStack::PushL(iter);
+			    nrOfMatches += iter->NumOfItemsL();
+			    CleanupStack::PopAndDestroy(iter);
+			    }
+
+			AssertTrueSecL(nrOfMatches <= i*2 * iNrOfDatabases, _L("Total nr of matches are bigger than the set value of maximum nr of matches"));
+			AssertTrueSecL(nrOfMatches == iMultiDbSearch->TotalNumOfMatches(), _L("Total nr of matches doesn't match sum of matches in iterators"));
+			AssertTrueSecL(nrOfMatches == iDisplayData->Count(), _L("Total nr of matches doesn't match sum of matches in displaydata"));
+			}
+
+		CleanupStack::PopAndDestroy(nearestCriteria);
+		}
+
+    }
+
+// ---------------------------------------------------------
+// CPosTp122::TestLeaveCodesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp122::TestLeaveCodesL()
+    {
+    iLog->Log(_L("TestLeaveCodesL"));
+
+    TPosLmSortPref sortPref(CPosLandmark::ECategoryInfo, TPosLmSortPref::EAscending);
+	TCoordinate coord(25, 45);
+	CPosLmNearestCriteria* nearestCriteria = CPosLmNearestCriteria::NewLC(coord);
+
+	// Only ECategoryName is supported,all other leave with KErrNotSupported
+    sortPref.SetSortByLandmarkAttribute(CPosLandmark::EDescription, TPosLmSortPref::EDescending);
+    TRAPD(err, iMultiDbSearch->StartLandmarkSearchL(*nearestCriteria, sortPref));
+    AssertTrueSecL(err == KErrNotSupported, _L("Should have left with KErrNotSupported"));
+
+    CleanupStack::PopAndDestroy(nearestCriteria);
+    }
+
+// ---------------------------------------------------------
+// CPosTp122::CancelTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp122::CancelTestL(const RPointerArray<CNearestSearchResult>& aSearchResults, TBool aCancelInCallback)
+    {
+    //Test search with one criteria
+    const TInt KIndex=0;
+
+    TCoordinate coord(aSearchResults[KIndex]->iLatitude, aSearchResults[KIndex]->iLongitude);
+    CPosLmNearestCriteria* nearestCriteria = CPosLmNearestCriteria::NewLC(coord, aSearchResults[KIndex]->iUseCoverageRadius);
+    nearestCriteria->SetMaxDistance(aSearchResults[KIndex]->iMaxDistance);
+
+	// Cancel in callback, cancel in every progress step phase
+	// when progress has increased with 0.09
+    if (aCancelInCallback)
+    	{
+	    TReal32 progress(0);
+	    while (progress < 1.0)
+	        {
+	        RunAsyncOperationAndCancelInCallbackLD(
+	            iMultiDbSearch->StartLandmarkSearchL(
+	                *nearestCriteria,
+	                aSearchResults[KIndex]->Redefined()),
+	            progress);
+
+	        TInt nrOfMatches = 0;
+	        for (TInt j = 0; j < iNrOfDatabases; j++)
+	            {
+	            CPosLmItemIterator* iter = iMultiDbSearch->MatchIteratorL(j);
+	            CleanupStack::PushL(iter);
+	            nrOfMatches += iter->NumOfItemsL();
+	            CleanupStack::PopAndDestroy(iter);
+	            }
+	        AssertTrueSecL(nrOfMatches == iMultiDbSearch->TotalNumOfMatches(), _L("Total nr of matches doesn't match sum of matches in iterators when cancelling"));
+	        //AssertTrueSecL(iMultiDbSearch->TotalNumOfMatches() == iDisplayData->Count(),_L("Wrong number of matches after cancel"));
+
+	        progress = progress + 0.09;
+	        }
+    	}
+    else
+    	{
+    	// Cancel immediately
+    	RunAsyncOperationAndCancelLD(
+	            iMultiDbSearch->StartLandmarkSearchL(
+	                *nearestCriteria,
+	                aSearchResults[KIndex]->Redefined()));
+
+		AssertTrueSecL(iMultiDbSearch->TotalNumOfMatches() == iDisplayData->Count(),_L("Wrong number of matches after cancel"));
+    	}
+
+    	if (iMultiDbSearch->NumOfSearchErrors() != 0) iLog->Log(_L("Errors after search"));
+		for (TInt i=0;i<iMultiDbSearch->NumOfSearchErrors(); i++)
+			{
+    		CPosLmMultiDbSearch::TSearchError searchErr;
+    		iMultiDbSearch->GetSearchError(i, searchErr);
+    		TBuf<150> buf;
+    		buf.Format(_L("ErrorCode %d returned from db nr %d"),searchErr.iErrorCode, searchErr.iDatabaseIndex);
+    		iLog->Log(buf);
+    		}
+
+    CleanupStack::PopAndDestroy(nearestCriteria);
+    }
+
+// ---------------------------------------------------------
+// CPosTp122::DoLastTestPartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp122::DoLastTestPartL(const RPointerArray<CNearestSearchResult>& aSearchResults)
+	{
+	TInt KIndex = 0;
+	TCoordinate coord(aSearchResults[KIndex]->iLatitude, aSearchResults[KIndex]->iLongitude);
+    CPosLmNearestCriteria* nearestCriteria = CPosLmNearestCriteria::NewLC(coord, aSearchResults[KIndex]->iUseCoverageRadius);
+    nearestCriteria->SetMaxDistance(aSearchResults[KIndex]->iMaxDistance);
+
+	TBuf<100> buf;
+	iLog->Log(_L("Search in all dbs"));
+	SearchL(nearestCriteria, ESynchronous, aSearchResults[KIndex]->Redefined(), ESortNone);
+
+	// Check displaydata/iterator here
+	CheckDbL();
+
+    HBufC16* db4 = (*iDatabases)[4].AllocL();
+    HBufC16* db2 = (*iDatabases)[2].AllocL();
+
+    // Remove two dbs from uri list
+    iDatabases->Delete(4);
+    iDatabases->Delete(2);
+    iNrOfDatabases-=2;
+
+    iMultiDbSearch->SetDatabasesToSearchL(*iDatabases);
+
+    iIdDb3Min = 151;
+    iIdDb3Max = 200;
+
+    iLog->Log(_L("Search in all dbs but db2 and db4"));
+    SearchL(nearestCriteria, ESynchronous, aSearchResults[KIndex]->Redefined(), ESortNone);
+	CheckDbL();
+
+	// Now search in all dbs but db nr 2
+	buf.Zero();
+	buf.Format(_L("%S"), db4);
+	iDatabases->AppendL(buf);
+    iNrOfDatabases++;
+    iDatabases->Sort();
+
+    iMultiDbSearch->SetDatabasesToSearchL(*iDatabases);
+
+ 	// Add a new landmark to db nr 4, nr 2 in the list
+ 	buf.Zero();
+ 	buf.Format(_L("Open Database: %S"), db4);
+ 	iLog->Log(buf);
+
+	buf.Zero();
+	buf.Format(_L("%S"), db4);
+ 	CPosLandmarkDatabase* db = CPosLandmarkDatabase::OpenL(buf);
+    if (db->IsInitializingNeeded())
+   {
+   ExecuteAndDeleteLD(db->InitializeL());
+   }
+
+    CleanupStack::PushL(db);
+ 	CPosLandmark* lm1 = CPosLandmark::NewLC();
+	lm1->SetLandmarkNameL(_L("TP122_Landmark"));
+	lm1->SetLandmarkDescriptionL(_L("Some Description"));
+	TCoordinate newCoord(aSearchResults[KIndex]->iLatitude-5, aSearchResults[KIndex]->iLongitude+1);
+
+	TLocality loc(newCoord, 0.5);
+	lm1->SetPositionL(loc);
+	iLog->Log(_L("Add new Landmark to db nr 4"));
+    TPosLmItemId newLmId = db->AddLandmarkL(*lm1);
+	CleanupStack::PopAndDestroy(lm1);
+	CleanupStack::PopAndDestroy(db);
+
+	iLog->Log(_L("Search in all dbs but db2"));
+	//Refine search. new landmark should not be included
+	SearchL(nearestCriteria, ESynchronous, ETrue, ESortNone);
+
+	SetupLimits();
+    iIdDb3Min = 151;
+    iIdDb3Max = 200;
+    iIdDb4Min = 201;
+    iIdDb4Max = 254;
+
+	CheckDbL();
+
+	TInt itemId = iDisplayData->NewItemIndex();
+	while (itemId != KPosLmNoNewItems)
+		{
+
+		CPosLmDisplayItem& item = iDisplayData->DisplayItem(itemId);
+	    TInt lmId = item.Landmark().LandmarkId();
+        TPtrC name;
+    	item.Landmark().GetLandmarkName(name);
+    	// Verify that the landmark is not found
+    	if (name.CompareC(_L("TP122_Landmark")) == 0) {
+    	iLog->Log(_L("Added landmarks should not be found in refined search"));
+    	User::Leave(-1);
+
+    	}
+	    itemId = iDisplayData->NewItemIndex();
+	    }
+
+	// Add all dbs to the search list
+	SetupLimits();
+
+	// Add the last db to the search list
+	buf.Zero();
+	buf.Format(_L("%S"), db2);
+	iDatabases->AppendL(buf);
+    iNrOfDatabases++;
+    iDatabases->Sort();
+
+    iMultiDbSearch->SetDatabasesToSearchL(*iDatabases);
+    iLog->Log(_L("Search in all dbs"));
+    //Refine search. new landmark should not be included
+	SearchL(nearestCriteria, ESynchronous, ETrue, ESortNone);
+	CheckDbL();
+	itemId = iDisplayData->NewItemIndex();
+	while (itemId != KPosLmNoNewItems)
+		{
+
+		CPosLmDisplayItem& item = iDisplayData->DisplayItem(itemId);
+	    TInt lmId = item.Landmark().LandmarkId();
+        TPtrC name;
+    	item.Landmark().GetLandmarkName(name);
+    	// Verify that the landmark is not found
+    	if (name.CompareC(_L("TP122_Landmark")) == 0) {
+
+    	iLog->Log(_L("Added landmarks should not be found in refined search"));
+    	User::Leave(-1);
+
+    	}
+
+	    itemId = iDisplayData->NewItemIndex();
+	    }
+
+    CleanupStack::PopAndDestroy(nearestCriteria);
+
+    // Correct limits if more testing after this part
+    SetupLimits();
+    delete db4;
+    delete db2;
+	}
+
+// ---------------------------------------------------------
+// CPosTp122::CheckDbL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp122::CheckDbL()
+	{
+	iLog->Log(_L("CheckDbL"));
+	CDesCArray* dbToSearch = iMultiDbSearch->DatabasesToSearchL();
+    CleanupStack::PushL(dbToSearch);
+    TBuf<100> buf;
+
+    for (TInt i=0;i<dbToSearch->Count();i++)
+		{
+		buf.Zero();
+		buf.Format(_L("DB nr %d "), i);
+
+		buf.Append((*dbToSearch)[i]);
+		iLog->Log(buf);
+		}
+
+    if (iMultiDbSearch->NumOfDatabasesToSearch() != dbToSearch->Count()) iLog->Log(_L("Differ..."));
+
+    CleanupStack::PopAndDestroy(dbToSearch);
+
+	 for (TInt j = 0; j <iMultiDbSearch->NumOfDatabasesToSearch(); j++)
+		{
+		CPosLmItemIterator* iter = iMultiDbSearch->MatchIteratorL(j);
+    	CleanupStack::PushL(iter);
+
+    	TPosLmItemId id = iter->NextL();
+        while (id != KPosLmNullItemId)
+            {
+            ValidateIdL(id, j);
+            id = iter->NextL();
+            }
+    	//GetSearchError
+    	//NumOfSearchErrors
+    	CleanupStack::PopAndDestroy(iter);
+		}
+		iLog->Log(_L("CheckDbL Done"));
+	}
+
+// ---------------------------------------------------------
+// CPosTp122::CheckSearchResultL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp122::CheckSearchResultL(CNearestSearchResult& aSearchResult, TTp122SortOrder aSortOrder)
+    {
+	TBuf<150> buf;
+    TUint expectedNoMatches = aSearchResult.iDistances.Count();
+    if (aSearchResult.iMaxSearchResult != 0 && aSearchResult.iMaxSearchResult < aSearchResult.iDistances.Count())
+        {
+
+        }
+
+    ValidateTotalNrOfMatchesL(expectedNoMatches, iMultiDbSearch->TotalNumOfMatches());
+
+	//iLog->Log(_L("Adding..."));
+
+	// First check that result comes from correct db
+	TInt nrOfMatches = 0;
+	for (TInt j = 0; j < iNrOfDatabases; j++)
+        {
+        CPosLandmarkDatabase* db = CPosLandmarkDatabase::OpenL((*iDatabases)[j]);
+        if (db->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(db->InitializeL());
+       }
+
+        CleanupStack::PushL(db);
+        CPosLmItemIterator* iter = iMultiDbSearch->MatchIteratorL(j);
+        CleanupStack::PushL(iter);
+
+        nrOfMatches += iter->NumOfItemsL();
+        TPosLmItemId id = iter->NextL();
+        while (id != KPosLmNullItemId)
+            {
+            ValidateIdL(id, j);
+            id = iter->NextL();
+            }
+        TBuf<100> buf;
+        buf.Format(_L("Found %d nr of matches from db nr %d"), iter->NumOfItemsL(), j);
+        //iLog->Log(buf);
+
+        CleanupStack::PopAndDestroy(iter);
+        CleanupStack::PopAndDestroy(db);
+        }
+
+	//iLog->Log(_L("Done adding..."));
+
+	if (nrOfMatches != iDisplayData->Count())
+	{
+		iLog->Log(_L("Wrong number of items"));
+    	User::Leave(-1);
+
+	}
+
+	// Sorted on distance
+	if (aSortOrder == ESortNone)
+		{
+		TInt index=0;
+		TInt itemId = iDisplayData->NewItemIndex();
+		while (itemId != KPosLmNoNewItems)
+			{
+
+			CPosLmDisplayItem& item = iDisplayData->DisplayItem(itemId);
+		    TInt lmId = item.Landmark().LandmarkId();
+
+		       	TReal32 distance =0;
+            	TInt dist = item.GetDistance(distance);
+            	if(dist == KErrNone)
+            		{
+            		//iLog->Log(_L("CPosLmDisplayItem::GetDistanced returns KErrNone"));
+            		}
+
+            	else if(dist == KErrNotFound)
+            		{
+            		//iLog->Log(_L("CPosLmDisplayItem::GetDistanced returns KErrNotFound"));
+            		}
+
+			// Validate lm from correct db
+        	TInt dbIndex = item.DatabaseIndex();
+
+			ValidateIdL(lmId, dbIndex);
+
+		    TBuf<100> buf;
+	        buf.Format(_L("Found exp id %d returned id %d"),aSearchResult.iDistances[index].iId, lmId);
+	        //iLog->Log(buf);
+
+			if (aSearchResult.iDistances[index].iId != lmId)
+	            {
+	            // if the distance is equal to the distance to the landmark
+	            // before or after then no error.
+	            // This to be able to use a database with landmarks with the same position.
+
+	            TBool noError=EFalse;
+	            if (index > 0)
+	                {
+	                noError = (aSearchResult.iDistances[index-1].iDistance == aSearchResult.iDistances[index].iDistance);
+	                }
+	            if (index < aSearchResult.iDistances.Count() && !noError)
+	                {
+	                noError = (aSearchResult.iDistances[index+1].iDistance == aSearchResult.iDistances[index].iDistance);
+	                }
+	            if (!noError)
+	                {
+	                _LIT(KUnexpectedItemId, "ERROR: Unexpected item id");
+
+	                iErrorsFound++;
+	                iLog->Log(KUnexpectedItemId);
+	                }
+	            }
+	            itemId = iDisplayData->NewItemIndex();
+	            index++;
+	        }
+    	}
+    	// Ascended and descended
+    else
+		{
+		///////////
+	 	for (TInt i=0;i<iDisplayData->Count();i++)
+	    	{
+            // Check for all but first and last
+            if (i>0 && i<iDisplayData->Count()-1)
+            	{
+            	CPosLmDisplayItem& item = iDisplayData->DisplayItem(i);
+            	TInt lmId = item.Landmark().LandmarkId();
+            	TReal32 distance =0;
+            	TInt dist = item.GetDistance(distance);
+            	if(dist == KErrNone)
+            		{
+            		//iLog->Log(_L("CPosLmDisplayItem::GetDistanced returns KErrNone"));
+            		}
+
+            	else if(dist == KErrNotFound)
+            		{
+            		//iLog->Log(_L("CPosLmDisplayItem::GetDistanced returns KErrNotFound"));
+            		}
+
+            	CPosLmDisplayItem& nextItem = iDisplayData->DisplayItem(i+1);
+            	TInt nextLmId = nextItem.Landmark().LandmarkId();
+
+            	TPtrC name, nextLmName;
+            	item.Landmark().GetLandmarkName(name);
+            	nextItem.Landmark().GetLandmarkName(nextLmName);
+
+    			// Validate lm from correct db
+            	TInt dbIndex = item.DatabaseIndex();
+    			ValidateIdL(lmId, dbIndex);
+    			TInt nextDbIndex = nextItem.DatabaseIndex();
+    			// Validate next lm from correct db
+    			ValidateIdL(nextLmId, nextDbIndex);
+
+            	//debugging purposes
+
+
+            	TInt order = nextLmName.CompareC(name);
+                if (aSortOrder == ESortAscending)
+                    { // sorted ascended
+                    if (order < 0)
+                    	{
+                    	iLog->Log(_L("ERROR: Wrong sortorder when ascended"));
+                    	iErrorsFound++;
+                    	}
+                    }
+                else // sorted descended
+                    {
+                    if (order > 0)
+                    	{
+                    	iLog->Log(_L("ERROR: Wrong sortorder when descended"));
+                    	iErrorsFound++;
+                    	}
+
+            		}
+				}
+			}
+
+		}
+     iLog->Log(_L("CheckSearchResultL Done"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp122::ValidateTotalNrOfMatchesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp122::ValidateTotalNrOfMatchesL (
+    TUint aRetrievedNrOfMatches,
+    TUint aExpectedNrOfMatches)
+    {
+    _LIT(KNumOfMatchesErr, "ERROR: No. of matches is incorrect when the search is performed");
+
+    if (aRetrievedNrOfMatches != aExpectedNrOfMatches)
+        {
+        _LIT(KExpected, "Expected no. of matches: %d");
+        _LIT(KReturned, "Returned no. of matches: %d");
+        TBuf<100> info;
+        info.Format(KExpected, aExpectedNrOfMatches);
+        iLog->Log(info);
+        info.Format(KReturned, aRetrievedNrOfMatches);
+        iLog->Log(info);
+
+        iLog->Log(KNumOfMatchesErr);
+        iErrorsFound++;
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp122::ValidateIdL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp122::ValidateIdL(TPosLmItemId aId, TInt aDbIndex)
+    {
+    TBool condition = EFalse;
+    switch (aDbIndex)
+        {
+        case 0:
+            // Db 1 contains landmarks with id = 1-50
+            condition = aId >= iIdDb1Min && aId <= iIdDb1Max;
+            break;
+        case 1:
+            // Db 2 contains landmarks with id = 51-100
+            condition = aId >= iIdDb2Min && aId <= iIdDb2Max;
+            break;
+        case 2:
+            // Db 3 contains landmarks with id = 101-150
+            condition = aId >= iIdDb3Min && aId <= iIdDb3Max;
+            break;
+        case 3:
+            // Db 4 contains landmarks with id = 151-200
+            condition = aId >= iIdDb4Min && aId <= iIdDb4Max;
+            break;
+        case 4:
+            // Db 5 contains landmarks with id = 201-254
+            condition = aId >= iIdDb5Min && aId <= iIdDb5Max;
+            break;
+        }
+
+    if (!condition)
+    	{
+    	iErrorsFound++;
+    	TBuf<150> buf;
+    	buf.Format(_L("ERROR: Invalid match from database reported, index %d in db %d"), aId, aDbIndex);
+    	iLog->Log(buf);
+    	}
+    }
+
+// ---------------------------------------------------------
+// CPosTp122::TestOnTheFlySearchL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp122::TestOnTheFlySearchL(const RPointerArray<CNearestSearchResult>& aSearchResults)
+    {
+    iMultiDbSearch->SetMaxNumOfMatches(KPosLmMaxNumOfMatchesUnlimited);
+    iMultiDbSearch->SetMaxNumOfMatches();
+
+    TInt KIndex = 0;
+    TCoordinate coord(aSearchResults[KIndex]->iLatitude, aSearchResults[KIndex]->iLongitude);
+    CPosLmNearestCriteria* nearestCriteria = CPosLmNearestCriteria::NewLC(coord, aSearchResults[KIndex]->iUseCoverageRadius);
+    nearestCriteria->SetMaxDistance(aSearchResults[KIndex]->iMaxDistance);
+
+    RIdArray expectedMatches;
+    CleanupClosePushL(expectedMatches);
+
+	TBuf<150> buf;
+    COnTheFlyTester* onTheFlyTester = COnTheFlyTester::NewLC();
+
+    // Remove lm with index 48,49,50, they have no location (see lmDbNearestSearch in landmarksdb.xls)
+    TInt pos = aSearchResults[KIndex]->iSearchResult.Find(48);
+    aSearchResults[KIndex]->iSearchResult.Remove(pos);
+    pos = aSearchResults[KIndex]->iSearchResult.Find(49);
+    aSearchResults[KIndex]->iSearchResult.Remove(pos);
+    pos = aSearchResults[KIndex]->iSearchResult.Find(50);
+    aSearchResults[KIndex]->iSearchResult.Remove(pos);
+
+    onTheFlyTester->StartSearchCampaignL(iMultiDbSearch, aSearchResults[KIndex]->iSearchResult, nearestCriteria);
+
+    TInt result = onTheFlyTester->Err();
+    if (result != KErrNone)
+        {
+        TPtrC msg;
+        onTheFlyTester->GetErrMsg(msg);
+
+        iLog->Log(msg);
+    	User::Leave(result);
+        }
+    CleanupStack::PopAndDestroy(onTheFlyTester);
+    CleanupStack::PopAndDestroy(&expectedMatches);
+    CleanupStack::PopAndDestroy(nearestCriteria);
+    iLog->Log(_L("TestOnTheFlySearchL Done"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp122::NrOfSearchErrors
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt CPosTp122::NrOfSearchErrors(CPosLmMultiDbSearch* aMultiDbSearcher)
+    {
+    TInt nrOfSearchErrors = aMultiDbSearcher->NumOfSearchErrors();
+    if (nrOfSearchErrors != 0)
+        {
+        for (TInt i = 0; i < nrOfSearchErrors; i++)
+            {
+            CPosLmMultiDbSearch::TSearchError error;
+            aMultiDbSearcher->GetSearchError(i, error);
+            TBuf<100> msg;
+            msg.Format(_L("Found error %d in database %d"), error.iErrorCode, error.iDatabaseIndex);
+            iLog->Log(msg);
+            }
+        }
+    return nrOfSearchErrors;
+    }
+
+
+// ---------------------------------------------------------
+// CNearestSearchResult::NewL()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+CNearestSearchResult* CNearestSearchResult::NewL(
+    const TDesC& aDes,
+    const TInt& aIndex,
+    RFs& aFileSession)
+    {
+    CNearestSearchResult* self = new(ELeave) CNearestSearchResult(aFileSession);
+    CleanupStack::PushL(self);
+    self->ConstructL(aDes, aIndex);
+    CleanupStack::Pop();
+    return self;
+    }
+
+// C++ default constructor can NOT contain any code, that
+// might leave.
+//
+CNearestSearchResult::CNearestSearchResult(RFs& aFileSession)
+: iFileSession( aFileSession )
+    {
+    TRealX nan;
+    nan.SetNaN();
+    iMaxDistance = nan;
+    }
+
+// ---------------------------------------------------------
+// CNearestSearchResult::CounstructL()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+void CNearestSearchResult::ConstructL(const TDesC& aDes, const TInt& aIndex)
+    {
+    // Use KNEARESTLMDB as correct template
+    iDatabase = CPosLandmarkDatabase::OpenL(KNEARESTLMDB);
+
+    if ( iDatabase->IsInitializingNeeded() )
+        {
+        TRAPD( err, ExecuteAndDeleteLD( iDatabase->InitializeL() ) );
+        }
+
+    TLex line(aDes);
+    line.Mark();
+    TInt redefined=0, useCoverageRadius;
+
+    if (line.Peek() != '#' && line.Peek() != '\t')
+        {
+        TInt index=0;
+        while (line.Peek() != '\n' && !(line.Peek()).Eos())
+            {
+            line.Inc();
+            if (line.Peek() == '\t')
+                {
+                TPtrC token = line.MarkedToken();
+                TLex val(token);
+                switch(index)
+                    {
+                    case ELatitude:
+                        val.Val(iLatitude, TChar(','));
+                        break;
+                    case ELongitude:
+                        val.Val(iLongitude, TChar(','));
+                        break;
+                    case EUseCoverageRadius:
+                        val.Val(useCoverageRadius);
+                        if (useCoverageRadius == 1)
+                            {
+                            iUseCoverageRadius = ETrue;
+                            }
+                        break;
+                    case EMaxDistance:
+                        val.Val(iMaxDistance);
+                        break;
+                    case EErrorCode:
+                        val.Val(iErrorCode);
+                        break;
+                    case ESearchResult:
+                        ParseSearchResult(token);
+                        break;
+                    case ERedefined:
+                        val.Val(redefined);
+                        if (redefined == 1)
+                            {
+                            iRedefined = ETrue;
+                            }
+                        break;
+                    case EMaxSearchResult:
+                        val.Val(iMaxSearchResult);
+                        break;
+                    }
+                line.Inc();
+                while (line.Peek() == '\t') // Empty value
+                    {
+                    line.Inc();
+                    ++index;
+                    }
+                line.Mark();
+                ++index;
+                }
+            }
+        AppendDistancesL(aIndex);
+
+        }
+    }
+
+
+// Destructor
+CNearestSearchResult::~CNearestSearchResult()
+    {
+    iDistances.Close();
+    delete iDatabase;
+    iDatabase = NULL;
+    }
+
+// ---------------------------------------------------------
+// CNearestSearchResult::AppendDistancesL()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+void CNearestSearchResult::AppendDistancesL(const TInt& aIndex)
+    {
+    iDistances.Reset();
+
+     _LIT(KFileTestValues, "c:\\system\\test\\testdata\\lmDbNearestSearch.txt");
+
+    RFile file;
+    CleanupClosePushL(file);
+    User::LeaveIfError(file.Open(iFileSession, KFileTestValues,  EFileRead));
+
+    TInt row=0;
+    TBuf<KMaxNearestLineLength> line;
+    while (CLandmarkTestProcedureBase::ReadLn(file, line) != KErrEof)
+        {
+        ParseDistanceL(line, aIndex, row);
+        ++row;
+        }
+
+    SortDistances();
+
+    CleanupStack::PopAndDestroy(&file);
+    }
+
+// ---------------------------------------------------------
+// CNearestSearchResult::ParseDistancesL()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+void CNearestSearchResult::ParseDistanceL(const TDesC& aDes,
+                                          const TInt& aIndex,
+                                          const TPosLmItemId& aId)
+    {
+
+    const TInt KStartIndex = 5;
+
+    TLex line(aDes);
+    line.Mark();
+    TInt index = 0;
+    TReal64 dist=0;
+
+    if (line.Peek() != '#' && line.Peek() != '\t')
+        {
+        while (line.Peek() != '\n' && !(line.Peek()).Eos())
+            {
+            line.Inc();
+            if (line.Peek() == '\t' || line.Peek() == '\n' || (line.Peek()).Eos())
+                {
+                TPtrC token = line.MarkedToken();
+
+                if (index == (KStartIndex + aIndex))
+                    {
+                    TLex val(token);
+                    val.Val(dist, TChar(','));
+
+                    if (iUseCoverageRadius)
+                        {
+                        CPosLandmark* lm = iDatabase->ReadLandmarkLC(aId);
+
+                        TReal32 aCoverageRadius;
+                        if (lm->GetCoverageRadius(aCoverageRadius) == KErrNone)
+                            {
+                            dist -= aCoverageRadius;
+                            if (dist < 0)
+                                {
+                                dist = 0;
+                                }
+                            }
+                        CleanupStack::PopAndDestroy(lm);
+                        }
+
+                    if (Math::IsNaN(iMaxDistance) || dist <= iMaxDistance)
+                        {
+                        if (dist != -1)
+                            {
+                            TSearchResult searchResult(aId, TReal32(dist));
+                            iDistances.Append(searchResult);
+                            }
+                        }
+
+                    break;
+                    }
+                line.Inc();
+                while (line.Peek() == '\t') // Empty value
+                    {
+                    line.Inc();
+                    ++index;
+                    }
+                line.Mark();
+                ++index;
+                }
+            }
+        }
+    }
+// ---------------------------------------------------------
+// CNearestSearchResult::Latitude
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TReal64 CNearestSearchResult::Latitude() const
+    {
+    return iLatitude;
+    }
+
+// ---------------------------------------------------------
+// CNearestSearchResult::Latitude
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TReal64 CNearestSearchResult::Longitude() const
+    {
+    return iLongitude;
+    }
+
+// ---------------------------------------------------------
+// CNearestSearchResult::UseCoverageRadius
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TBool CNearestSearchResult::UseCoverageRadius() const
+    {
+    return iUseCoverageRadius;
+    }
+
+// ---------------------------------------------------------
+// CNearestSearchResult::MaxDistance
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TReal32 CNearestSearchResult::MaxDistance() const
+    {
+    return iMaxDistance;
+    }
+
+// ---------------------------------------------------------
+// CNearestSearchResult::ErrorCode
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt CNearestSearchResult::ErrorCode() const
+    {
+    return iErrorCode;
+    }
+
+// ---------------------------------------------------------
+// InternalLandmarksSortL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt InternalSort(const TSearchResult& aSource, const TSearchResult& aTarget)
+    {
+    // zero, if the two objects are equal
+    // a negative value, if the first object is less than the second.
+    // a positive value, if the first object is greater than the second.
+
+    if ( aSource.Distance() == aTarget.Distance())
+        {
+        return 0;
+        }
+    else if (aSource.Distance() < aTarget.Distance())
+        {
+        return -1;
+        }
+
+    return 1;
+    }
+
+// ---------------------------------------------------------
+// CNearestSearchResult::ErrorCode
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CNearestSearchResult::SortDistances()
+    {
+    TLinearOrder<TSearchResult> order(InternalSort);
+    iDistances.Sort(order);
+    }
+
+// ---------------------------------------------------------
+// CNearestSearchResult::Print
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CNearestSearchResult::Print(TDes& aPrint)
+    {
+    _LIT(KPosInfo, "Latitude=%g, Longitude=%g");
+    TChar del(',');
+
+    TBuf<KMaxFieldLength> info;
+    info.Format(KPosInfo, iLatitude, iLongitude);
+    aPrint.Append(info);
+    aPrint.Append(del);
+
+    _LIT(KUseCoverageRadius, "UseCoverageRadius=%d");
+    info.Format(KUseCoverageRadius, iUseCoverageRadius);
+    aPrint.Append(info);
+    aPrint.Append(del);
+
+    if (!Math::IsNaN(iMaxDistance))
+        {
+        _LIT(KMaxDistance, "MaxDistance=%g");
+        info.Format(KMaxDistance, iMaxDistance);
+        aPrint.Append(info);
+        aPrint.Append(del);
+        }
+
+    _LIT(KErrorCode, "ErrorCode = %d");
+    info.Format(KErrorCode, iErrorCode);
+    aPrint.Append(info);
+    aPrint.Append(del);
+
+    _LIT(KRedefined, "Redefined=%d");
+    info.Format(KRedefined, iRedefined);
+    aPrint.Append(info);
+    aPrint.Append(del);
+
+     _LIT(KMaxSearchResult, "MaxSearchResult=%d");
+    info.Format(KMaxSearchResult, iMaxSearchResult);
+    aPrint.Append(info);
+    aPrint.Append(del);
+
+
+    PrintDistances(aPrint);
+    }
+
+// ---------------------------------------------------------
+// CNearestSearchResult::PrintDistances
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CNearestSearchResult::PrintDistances(TDes& aPrint)
+    {
+    TBuf<KDistanceFieldLength> info2;
+    TChar del(':');
+    aPrint.Append(_L("Distances: "));
+
+    for (TInt j=0; j<iDistances.Count(); j++)
+        {
+        _LIT(KDistance, "%g,%d");
+        info2.Format(KDistance, iDistances[j].Distance(), iDistances[j].Id());
+        aPrint.Append(info2);
+        aPrint.Append(del);
+        }
+    }
+
+// ---------------------------------------------------------
+// TSearchResult::TSearchResult
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TSearchResult::TSearchResult()
+    {
+    TRealX nan;
+    nan.SetNaN();
+    iDistance=nan;
+    iId=0;
+    }
+
+TSearchResult::TSearchResult(const TPosLmItemId& aId, const TReal32& aDistance) :
+    iDistance(aDistance),
+    iId(aId)
+    {
+    }
+
+// ---------------------------------------------------------
+// TSearchResult::Distance
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TReal64 TSearchResult::Distance() const
+    {
+    return iDistance;
+    }
+
+// ---------------------------------------------------------
+// TSearchResult::Id
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TPosLmItemId TSearchResult::Id() const
+    {
+    return iId;
+    }
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp123.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,570 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+// INCLUDES
+#include "FT_CPosTp123.h"
+#include "FT_LandmarkConstants.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLmCategoryCriteria.h>
+#include <EPos_CPosLmCatNameCriteria.h>
+#include <EPos_CPosLmTextCriteria.h>
+#include <EPos_CPosLmMultiDbSearch.h>
+#include <EPos_CPosLmDatabaseManager.h>
+#include <EPos_CPosLmDisplayData.h>
+#include <EPos_CPosLmDisplayItem.h>
+     
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp123::GetName
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+/*void CPosTp123::GetName(TDes& aName) const
+    {
+    _LIT(KTestName, "Tp123 - Uncategorized LM MultiDb Search");
+    aName = KTestName;
+    }
+*/
+// ---------------------------------------------------------
+// CPosTp123::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp123::CloseTest()
+    {
+    delete iDatabases;
+    delete iLandmarkSearch;
+    for (TInt i = 0; i < iIdArrays.Count(); i++)
+        {
+        iIdArrays[i].Close();
+        }
+    iIdArrays.Close();
+    }
+
+// ---------------------------------------------------------
+// CPosTp123::InitTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp123::InitTestL()
+    {
+    CLandmarkTestProcedureBase::InitTestL();
+    
+    // PrepareDatabases
+    RemoveAllLmDatabasesL();
+    CopyTestDbFileL(KDb20);
+    CopyTestDbFileL(KDb40);
+    CopyTestDbFileL(KDb60);
+    CopyTestDbFileL(KDb80);
+    CopyTestDbFileL(KDb105);
+    iNrOfDatabases = 5;
+    
+    // Initialize data members
+    CPosLmDatabaseManager* dbManager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(dbManager);
+    iDatabases = dbManager->ListDatabasesLC();
+    CleanupStack::Pop(iDatabases);
+    iDatabases->Sort(); 
+    AssertTrueSecL((iDatabases->Count() == iNrOfDatabases), _L("Wrong number of databases"));
+    iLandmarkSearch = CPosLmMultiDbSearch::NewL(*iDatabases);
+    CleanupStack::PopAndDestroy(dbManager);
+    
+    iLog->Log( _L("Multi db search created"));
+    
+    // Enable use of global categories
+    // CPosLandmarkDatabase* database = UseGlobalCategoriesL();
+    // delete database;
+    CPosLandmarkDatabase* database = NULL;
+    // Reset Global categories for all databases but EPOSLM_105.LDB and add the global category
+    // "Hotel" to the 5 first landmarks in the databases.
+    for (TInt i = 0; i < iNrOfDatabases - 1; i++) // Do not use global categories in 
+        {
+        database = CPosLandmarkDatabase::OpenL((*iDatabases)[i]);
+        CleanupStack::PushL(database);
+        if ( database->IsInitializingNeeded() )
+            {
+            TRAPD( err, ExecuteAndDeleteLD( database->InitializeL() ) );
+            AssertTrueSecL( err == KErrNone, _L("Init db failed"));
+            }
+        CPosLmCategoryManager* catMan = CPosLmCategoryManager::NewL(*database);
+        CleanupStack::PushL(catMan);
+        ExecuteAndDeleteLD(catMan->ResetGlobalCategoriesL());
+        CPosLmItemIterator* lmIter = database->LandmarkIteratorL();
+        CleanupStack::PushL(lmIter);
+        RIdArray idArray;
+        CleanupClosePushL(idArray);
+        lmIter->GetItemIdsL(idArray, 0, 5);
+        
+        // Remove all existing categories from the 5 first landmarks
+        for (TInt i = 0; i < idArray.Count(); i++)
+            {
+            CPosLandmark* lm = database->ReadLandmarkLC(idArray[i]);
+            lm->RemoveLandmarkAttributes(CPosLandmark::ECategoryInfo);
+            TInt err = KErrLocked;
+            while (err==KErrLocked)
+                {
+                TRAP(err, database->UpdateLandmarkL(*lm));
+                }
+            CleanupStack::PopAndDestroy(lm);
+            }
+        
+        // Add global category hotel to 5 first LMs
+        TPosLmGlobalCategory accommodation(3000); // 27 == Global category id for accommodation according to .the global ids added for BC testing
+        User::After(200000);
+        ExecuteAndDeleteLD(catMan->AddCategoryToLandmarksL(catMan->GetGlobalCategoryL(accommodation), idArray));
+        
+        CleanupStack::PopAndDestroy(4, database);
+        }
+        
+    // Initialize arrays that will contain expected search results
+    RIdArray array20;
+    User::LeaveIfError(iIdArrays.Append(array20));
+    RIdArray array40;
+    User::LeaveIfError(iIdArrays.Append(array40));
+    RIdArray array60;
+    User::LeaveIfError(iIdArrays.Append(array60));
+    RIdArray array80;
+    User::LeaveIfError(iIdArrays.Append(array80));
+    RIdArray array105;
+    User::LeaveIfError(iIdArrays.Append(array105));
+    }
+
+// ---------------------------------------------------------
+// CPosTp123::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp123::StartL()
+    {
+// 1. Verify KErrArgument is returned from API
+    iLog->Log(_L("<<< 1. Verify KErrArgument is returned from API >>>"));
+    for (TBool runSynch = EFalse; runSynch <= ETrue; runSynch++)
+        {
+        iLog->Log(_L("Should leave with KErrArgument..."));
+        TRAPD(err, TestSearchCategoriesL(runSynch));
+        AssertTrueSecL(err == KErrArgument, _L("Should have left with KErrArgument but failed with %d"), err);
+        iLog->Log(_L("Function left correctly with KErrArgument"));
+        }
+
+// 2. We should not find any uncategorized landmarks since every landmark in the db
+// belongs to a category
+    iLog->Log(_L("<<< 2. Search uncategorized LMs (none exist) >>>"));
+    SearchForUncategorizedLMsL(0);
+
+// 3. Remove all categories from M landmarks in each database
+    iLog->Log(_L("<<< 3. Remove all categories from M landmarks in each database >>>"));
+    const TInt M = 2;
+    RemoveCategoriesFromLandmarksL(M);
+    // Check that correct number of uncategorized landmarks are found
+    SearchForUncategorizedLMsL(M * iNrOfDatabases);
+    
+// 4. Remove a local category that Q LMs belong to and add an uncategorized lm
+    iLog->Log(_L("<<< 4. Remove a local category that Q LMs belong to and add an uncategorized lm >>>"));
+    const TInt Q = 6;
+    TInt dbIndex = 3;
+    TPosLmItemId localCatId = 26; // Läkare
+    RemoveCategoryFromDbL(localCatId, (*iDatabases)[dbIndex]);
+    // Landmark 72-77 should now be uncategorized.
+    for (TInt i = 72; i <= 77; i++)
+        {        
+        iIdArrays[dbIndex].Append(i);
+        }
+        
+    // Add a lm
+    CPosLandmark* lm = CPosLandmark::NewLC();
+    lm->SetLandmarkNameL(_L("Guru"));
+    CPosLandmarkDatabase* database = CPosLandmarkDatabase::OpenL((*iDatabases)[dbIndex]);
+    CleanupStack::PushL(database);
+    TPosLmItemId id = database->AddLandmarkL(*lm);
+    iIdArrays[dbIndex].Append(id);
+    CleanupStack::PopAndDestroy(2, lm);
+        
+    // Check that correct number of uncategorized landmarks are found
+    SearchForUncategorizedLMsL(Q + 1 + M*iNrOfDatabases);
+
+// 5. Associate an uncategorized landmark with a category, e.g. lm with id 76
+    iLog->Log(_L("<<< 5. Associate an uncategorized landmark with a category >>>"));
+    id = 76;
+    database = CPosLandmarkDatabase::OpenL((*iDatabases)[dbIndex]);
+    CleanupStack::PushL(database);
+    lm = database->ReadLandmarkLC(id);
+    lm->AddCategoryL(localCatId - 1); // Sjukhus
+    database->UpdateLandmarkL(*lm);
+    TInt index = iIdArrays[dbIndex].Find(id);
+    AssertTrueSecL(index > 0, _L("Unable to find landmark in array"));
+    iIdArrays[dbIndex].Remove(index);
+    CleanupStack::PopAndDestroy(2, database);
+
+    // Check that correct number of uncategorized landmarks are found
+    SearchForUncategorizedLMsL(Q + M*iNrOfDatabases);
+    
+// 6. Remove the global category Hotel, that K LMs belong to, from 2 databases 
+    iLog->Log(_L("<<< 6. Remove the global category Hotel, that K LMs belong to, from 2 databases >>>"));
+    //const TPosLmGlobalCategory KHotel = 4;
+    const TPosLmGlobalCategory KAccommodation = 3000;
+    const TInt K = 2*3; // 2 dbs and three in each have hotel as category
+    for (TInt dbIndex = 0; dbIndex <= 1; dbIndex++)
+        {
+        CPosLandmarkDatabase* db = CPosLandmarkDatabase::OpenL((*iDatabases)[dbIndex]);
+        CleanupStack::PushL(db);
+        CPosLmCategoryManager* catMan = CPosLmCategoryManager::NewL(*db);
+        CleanupStack::PushL(catMan);
+        TPosLmItemId itemId = catMan->GetGlobalCategoryL(KAccommodation);
+        RemoveCategoryFromDbL(itemId, (*iDatabases)[dbIndex]);
+        CleanupStack::PopAndDestroy(2, db);
+        }
+    
+    // Landmarks 3-5 and 23-25 should now be uncategorized.
+    dbIndex = 0;
+    for (TInt i = 3; i <= 5; i++)
+        {
+        iIdArrays[dbIndex].Append(i);
+        }
+    for (TInt i = 23; i <= 25; i++)
+        {
+        iIdArrays[dbIndex + 1].Append(i);
+        }
+        
+    // Check that correct number of uncategorized landmarks are found
+    SearchForUncategorizedLMsL(K + Q + M*iNrOfDatabases);
+
+// 7. Exclude one database (the last)
+    iLog->Log(_L("<<< 7. Exclude one database >>>"));
+    iDatabases->Delete(4);
+    iNrOfDatabases--;
+    iLandmarkSearch->SetDatabasesToSearchL(*iDatabases);
+    SearchForUncategorizedLMsL(K + Q + M*iNrOfDatabases);
+    
+// 8. Test maximum nr of matches
+    iLog->Log(_L("<<< 8. Test maximum nr of matches >>>"));
+    const TInt P = 1;
+    iLandmarkSearch->SetMaxNumOfMatches(P);
+    SearchForUncategorizedLMsL(P * iNrOfDatabases);
+    
+// 9. Test maximum nr of matches and sort
+    iLog->Log(_L("<<< 9. Test maximum nr of matches and sort >>>"));
+    iLandmarkSearch->SetMaxNumOfMatches(2);
+    SearchForUncategorizedLMsL(2 * iNrOfDatabases, ETrue);
+    
+// 10. Test on-the-fly sorting
+    iLog->Log(_L("<<< 10. Test on-the-fly sorting >>>"));
+    iLandmarkSearch->SetMaxNumOfMatches(KPosLmMaxNumOfMatchesUnlimited);
+    
+    // Create one big array with all expected matches
+    RIdArray expectedMatches;
+    CleanupClosePushL(expectedMatches);
+    for (TInt i = 0; i < iNrOfDatabases; i++)
+        {
+        for (TInt j = 0; j < iIdArrays[i].Count(); j++)
+            {            
+            User::LeaveIfError(expectedMatches.Append(iIdArrays[i][j]));
+            }
+        }
+        
+    CPosLmCategoryCriteria* catSearchCriteria = CPosLmCategoryCriteria::NewLC();
+    COnTheFlyTester* onTheFlyTester = COnTheFlyTester::NewLC();
+    onTheFlyTester->StartSearchCampaignL(iLandmarkSearch, expectedMatches, catSearchCriteria);
+    TInt result = onTheFlyTester->Err();
+    if (result != KErrNone)
+        {
+        TPtrC msg;
+        onTheFlyTester->GetErrMsg(msg);
+        iLog->Log(msg);
+        User::Leave(result);
+        }
+    CleanupStack::PopAndDestroy(3, &expectedMatches);
+	}
+
+// ---------------------------------------------------------
+// CPosTp123::TestSearchL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp123::TestSearchL(
+    TBool aExecuteSync, 
+    TSearchCriterion aCriterion, 
+    TInt aNrOfHits,
+    TBool aSorted)
+    {
+    CPosLmCategoryCriteria* catSearchCriteria = CPosLmCategoryCriteria::NewLC();
+
+    // Specified in header file EPos_CPosLmCategoryCriteria.h says that
+    // specifying no criteria should return uncategorized landmarks
+    // SetCategoryItemId(KPosLmNullItemId) should return uncategorized landmarks and that
+    // SetGlobalCategory(KPosLmNullGlobalCategory) should return uncategorized landmarks and that
+    // SetCategoryNameL(KNullDesC) should return uncategorized landmarks
+    switch (aCriterion)
+        {
+        case ENoCriterion:
+            // Do nothing. Default initialized CPosLmCategoryCriteria is fine.
+            break;
+        case ELocalCategoryId:
+            catSearchCriteria->SetCategoryItemId(KPosLmNullItemId);
+            break;
+        case EGlobalCategoryId:
+            catSearchCriteria->SetGlobalCategory(KPosLmNullGlobalCategory);
+            break;
+        case ECategoryName:
+            catSearchCriteria->SetCategoryNameL(KNullDesC);
+            break;
+        }
+
+    if (aSorted)
+        {
+        TPosLmSortPref sortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+        iOperation = iLandmarkSearch->StartLandmarkSearchL(*catSearchCriteria, sortPref);
+        }
+    else
+        {        
+        iOperation = iLandmarkSearch->StartLandmarkSearchL(*catSearchCriteria);
+        }
+
+    if (aExecuteSync)
+        {
+        ExecuteAndDeleteLD(iOperation);
+        }
+    else
+        {
+        RunAsyncOperationLD(iOperation);
+        }
+
+    VerifySearchResultL(aNrOfHits, aSorted);
+    
+    CleanupStack::PopAndDestroy(catSearchCriteria);
+	}
+
+// ---------------------------------------------------------
+// CPosTp123::TestSearchCategoriesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp123::TestSearchCategoriesL(TBool aExecuteSync)
+    {
+    CPosLmCategoryCriteria* catSearchCriteria = CPosLmCategoryCriteria::NewLC();
+
+    // This method should leave according to EPos_CPosLmCategoryCriteria.h
+    iOperation = iLandmarkSearch->StartCategorySearchL(
+        *catSearchCriteria, CPosLmCategoryManager::ECategorySortOrderNone);
+
+    if (aExecuteSync)
+        {
+        ExecuteAndDeleteLD(iOperation);
+        }
+    else
+        {
+        RunAsyncOperationLD(iOperation);
+        }
+
+    CleanupStack::PopAndDestroy(catSearchCriteria);
+    }
+
+// ---------------------------------------------------------
+// CPosTp123::RemoveCategoriesFromLandmarksL
+// Use this method to remove the category from a specified number of landmarks
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp123::RemoveCategoriesFromLandmarksL(TInt aNrOfLandmarks)
+    {
+    for (TInt i = 0; i < iNrOfDatabases; i++)
+        {
+        CPosLandmarkDatabase* database = CPosLandmarkDatabase::OpenL((*iDatabases)[i]);
+        CleanupStack::PushL(database);
+        ExecuteAndDeleteLD(database->CompactL());
+        CPosLmItemIterator* iter = database->LandmarkIteratorL();
+        CleanupStack::PushL(iter);
+        
+        TPosLmItemId id = iter->NextL();
+        TInt counter=0;
+        
+        // Remove the categories from aNrOfLandmarks nr of landmarks
+        while ((id != KPosLmNullItemId) && (counter < aNrOfLandmarks))
+            {
+            CPosLandmark* landmark = database->ReadLandmarkLC(id);
+            landmark->RemoveLandmarkAttributes(CPosLandmark::ECategoryInfo);
+            TInt err = KErrLocked;
+            while (err == KErrLocked)
+                {
+                TRAP(err, database->UpdateLandmarkL(*landmark));
+                }
+            CleanupStack::PopAndDestroy(landmark);
+            User::LeaveIfError(iIdArrays[i].Append(id));
+            
+            id = iter->NextL();
+            if (id == KPosLmNullItemId) 
+                {
+                iLog->Log(_L("KPosLmNullItemId"));
+                }
+            counter++;
+            }
+            
+        CleanupStack::PopAndDestroy(2, database);
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp123::SearchForUncategorizedLMsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp123::SearchForUncategorizedLMsL(TInt aNrOfHits, TBool aSorted)
+    {
+    for (TBool runSynch = EFalse; runSynch < 2; runSynch++)
+        {
+        for (TSearchCriterion searchCriterion = ENoCriterion; 
+             searchCriterion <= ECategoryName; 
+             searchCriterion = (TSearchCriterion)((TInt)searchCriterion + 1))
+            {
+            TestSearchL(runSynch, searchCriterion, aNrOfHits, aSorted);
+            }
+        }
+    }
+    
+// ---------------------------------------------------------
+// CPosTp123::RemoveCategoryFromDbL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp123::RemoveCategoryFromDbL(
+    TPosLmItemId aCategoryId, 
+    const TDesC& aDbUri)
+    {
+    CPosLandmarkDatabase* database = CPosLandmarkDatabase::OpenL(aDbUri);
+    CleanupStack::PushL(database);
+    CPosLmCategoryManager* catMan = CPosLmCategoryManager::NewL(*database);
+    CleanupStack::PushL(catMan);
+    
+    ExecuteAndDeleteLD(catMan->RemoveCategoryL(aCategoryId));
+        
+    CleanupStack::PopAndDestroy(2, database);
+    }
+    
+// ---------------------------------------------------------
+// CPosTp123::VerifySearchResultL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp123::VerifySearchResultL(
+    TInt aNrOfHits, 
+    TBool aSorted)
+    {    
+    AssertTrueSecL(iLandmarkSearch->NumOfSearchErrors() == 0, _L("Found search errors!"));
+    
+    // Verify total number of matches is correct
+    TInt totNrOfMatches = iLandmarkSearch->TotalNumOfMatches();
+    if (totNrOfMatches != aNrOfHits)
+        {
+        iBuf.Format(_L("Wrong number of landmarks returned when searching for uncategorized landmarks, found: %d expected %d"), totNrOfMatches, aNrOfHits);
+        iLog->Log(iBuf);
+        User::Leave(-1);
+        }
+        
+        
+    for (TUint i = 0; i < iNrOfDatabases; i++)
+        {
+        CPosLandmarkDatabase* database = CPosLandmarkDatabase::OpenL((*iDatabases)[i]);
+        CleanupStack::PushL(database);
+        CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL(i);
+        CleanupStack::PushL(iter);
+        
+        // Verify number of matches in each database is correct
+        TInt nrInIter = iter->NumOfItemsL();
+        AssertTrueSecL(nrInIter == iLandmarkSearch->NumOfMatches(i), _L("wrong number of items returned in a specific iterator!"));
+
+        // Verify that correct landmarks were found
+        TPosLmItemId id = iter->NextL();
+        TInt index = 0;
+        while (id != KPosLmNullItemId)
+            {
+            TInt found = iIdArrays[i].Find(id);
+            if (found == KErrNotFound) 
+                {
+                iLog->Log(_L("Not found"));
+        		User::Leave(KErrNotFound);
+                }
+            else 
+                {
+                index++;
+                CPosLandmark* landmark = database->ReadLandmarkLC(id);
+                CPosLandmark* landmark2 = database->ReadLandmarkLC(iIdArrays[i][found]);
+
+                CompareLandmarksL(*landmark, *landmark2);
+
+                CleanupStack::PopAndDestroy(landmark2);
+                CleanupStack::PopAndDestroy(landmark);             
+                }
+            id = iter->NextL();
+            }
+
+        if (index != nrInIter) 
+            {
+            iLog->Log(_L("The correct landmark was never found"));
+        	User::Leave(-1);
+                
+            }
+        if (aSorted)
+            {
+            VerifySortOrderL(iter, database);
+            }
+        CleanupStack::PopAndDestroy(2, database);
+        }
+    }
+    
+// ---------------------------------------------------------
+// CPosTp123::VerifySortOrderL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp123::VerifySortOrderL(
+    CPosLmItemIterator* aIter, 
+    CPosLandmarkDatabase* aDb)
+    {
+    RIdArray idArray;
+    CleanupClosePushL(idArray);
+    TInt nrOfItems = aIter->NumOfItemsL();
+    aIter->GetItemIdsL(idArray, 0, nrOfItems);
+    
+    for (TInt i = 0; i < nrOfItems; i++)
+        {
+        if (i < nrOfItems - 1)
+            {
+            CPosLandmark* lm1 = aDb->ReadLandmarkLC(idArray[i]);
+            CPosLandmark* lm2 = aDb->ReadLandmarkLC(idArray[i + 1]);
+            TPtrC name1, name2;
+            lm1->GetLandmarkName(name1);
+            lm2->GetLandmarkName(name2);
+            AssertTrueSecL(name1.CompareC(name2) <= 0, _L("lm1 is greater than lm2 - should not be the case since ascending order is used."));
+            CleanupStack::PopAndDestroy(2, lm1);            
+            }
+        }
+    CleanupStack::PopAndDestroy(&idArray);
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp124.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,1701 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp124.h"
+#include <EPos_CPosLandmarkDatabase.h> 
+#include <EPos_CPosLmCompositeCriteria.h>
+#include <EPos_CPosLmCategoryCriteria.h>
+#include <EPos_CPosLmCatNameCriteria.h>
+#include <EPos_CPosLmNearestCriteria.h>
+#include <EPos_CPosLmAreaCriteria.h>
+#include <EPos_CPosLmTextCriteria.h>
+#include <EPos_CPosLmIdListCriteria.h>
+#include "FT_LandmarkConstants.h" 
+
+#include "FT_CCompositeSearchResult.h"
+
+#include <EPos_CPosLmDisplayData.h>
+#include <EPos_CPosLmDisplayItem.h>
+
+#include <EPos_CPosLMItemIterator.h>    
+#include <EPos_CPosLmMultiDbSearch.h>    
+#include <EPos_CPosLmDatabaseManager.h>
+
+#include <e32math.h>
+
+// CONSTANTS
+_LIT(KLMDB1, "COMPOSITELMDB_1.LDB");
+_LIT(KLMDB2, "COMPOSITELMDB_2.LDB");
+_LIT(KLMDB3, "COMPOSITELMDB_3.LDB");
+_LIT(KLMDB4, "COMPOSITELMDB_4.LDB");
+_LIT(KLMDB5, "COMPOSITELMDB_5.LDB");
+_LIT(KLMDB1Path,"file://C:COMPOSITELMDB_1.LDB");
+_LIT(KLMDB2Path,"file://C:COMPOSITELMDB_2.LDB");
+_LIT(KLMDB3Path,"file://C:COMPOSITELMDB_3.LDB");
+_LIT(KLMDB4Path,"file://C:COMPOSITELMDB_4.LDB");
+_LIT(KLMDB5Path,"file://C:COMPOSITELMDB_5.LDB");
+
+//_LIT(KCOMPOSITELMDB, "compositeeposlm.ldb");
+
+// ================= MEMBER FUNCTIONS =======================
+
+
+// ---------------------------------------------------------
+// CPosTp124::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp124::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+    delete iDatabase;
+    iDatabase=NULL;
+    
+    delete iDatabases;
+    
+    if (iMultiDbSearch) iMultiDbSearch->UnsetDisplayData();
+    delete iDisplayData;
+    iDisplayData = NULL;
+    
+    delete iMultiDbSearch;
+    
+    TRAPD(err, RemoveAllLmDatabasesL());
+    if (err != KErrNone) iLog->Log(_L("Error when RemoveAllLmDatabasesL"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp124::InitTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp124::InitTestL()
+    {
+    CLandmarkTestProcedureBase::InitTestL();
+    
+    iLog->Log(_L("InitTestL"));
+    RemoveAllLmDatabasesL();
+    CPosLmDatabaseManager* dbManager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(dbManager);
+    // check the count of databases that could not be delted since they were in use
+    iDatabases = dbManager->ListDatabasesLC();
+    CleanupStack::Pop(iDatabases);
+    iDbCount = iDatabases->Count();
+
+    
+    // PrepareDatabases
+    PrepareDatabasesL();
+    
+	SetupLimits();
+    
+    
+    
+    iDatabases = dbManager->ListDatabasesLC();
+    CleanupStack::Pop(iDatabases);
+    iDatabases->Sort(); // Not really necessary...
+    // database count is equal to ones added plus ones not been able to delte since they were in use
+    TInt dbCount = iDatabases->Count();
+    iNrOfDatabases = iDbCount + 5;
+    
+    iMultiDbSearch = CPosLmMultiDbSearch::NewL(*iDatabases);
+    CleanupStack::PopAndDestroy(dbManager);
+    
+    iDisplayData = CPosLmDisplayData::NewL();
+	iMultiDbSearch->SetDisplayData(*iDisplayData);
+                    
+    }
+    
+// ---------------------------------------------------------
+// CPosTp124::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp124::StartL()
+    {
+    TTime startTime;
+    TTime stopTime;
+    startTime.UniversalTime();
+    
+    MakeSurePanicDebugFileExistsL();
+        
+    iDatabase = UseCompositeLandmarksDbFileL();
+    
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+
+	// TC_Part 1
+	// ASynchronous, Sort ascending
+    StartLandmarksCompositeTestL(EAsynchronous, ESortAscending);
+    // Synchronous, Sort descending
+    StartLandmarksCompositeTestL(EAsynchronous, ESortDescending);
+    // ASynchronous, Sort ascending
+    TestWithSortOrderLandmarksL(EAsynchronous, ESortAscending);
+        
+    TestWithSortOrderNearestL(EAsynchronous, ESortAscending);
+    TestWithSortOrderNearestL(ESynchronous, ESortNone);
+    TestWithSortOrderNearestL(EAsynchronous, ESortDescending);
+    TestWithSortOrderNearestL(EAsynchronous, ESortDistance);
+		
+    // TC Part 2_3 Test with several text criterias
+    TestSeveralTextArgumentsL();
+
+	// TC Part 4-5 Test add and remove from composite object
+    TestAddAndRemoveL();
+    
+   	// TC Part 6
+	// Cancel immediately
+    CancelTestL(EFalse);
+    
+    // Cancel in callback
+    CancelTestL(ETrue);
+    
+	// TC Part 7
+    TestOnTheFlySearchL();
+
+    // Since TestOnTheFlySearchL is changing displadata
+    iMultiDbSearch->UnsetDisplayData();
+    delete iDisplayData;
+    iDisplayData = NULL;
+    iDisplayData = CPosLmDisplayData::NewL();
+	iMultiDbSearch->SetDisplayData(*iDisplayData);
+	
+    // TC Part 8-11
+  //  TestLessDbsToSearchL();
+
+    // TC Part 12 
+    // It is not possible to use Composite in a composite object in multi search
+    TestCompositeInCompositeL();
+        
+    // TC Part 13
+    // It is not possible to use IdList in a composite object in multi search
+    TestWithIdListAndCompositeL();
+    
+    // TC Part 14
+    // It is not possible to use CPosLmCatNameCriteria in a composite object in multi search
+    TestCategoryCompositeSearchL();
+    
+    // TC Part 15
+    // Test with no previous result but try to refine search anyway
+	TestWithNoPreviousResultL();
+	
+	TInt KNrOfObjectsInComposite = 100;
+    TInt KStartIndex = 90;
+    CompositeStressTestL(KStartIndex, KNrOfObjectsInComposite);
+	
+    stopTime.UniversalTime();
+    TTimeIntervalMicroSeconds executionTime = 
+        stopTime.MicroSecondsFrom(startTime);
+
+    TInt resse = executionTime.Int64()/1000000;
+    TBuf<100> buf;
+    buf.Format(_L("TP124 took %d seconds"), resse);
+    iLog->Log(buf);
+    
+    if (iErrorsFound != KErrNone) 
+    	{
+    	iLog->Log(_L("Errors found in TP124"));
+    	User::Leave(-1);
+    	}
+	}
+
+// ---------------------------------------------------------
+// CPosTp124::SetupLimits()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+void CPosTp124::SetupLimits()
+	{
+	// First db-> Keep landmarks 1-20
+    // Second db-> Keep landmarks 21-40
+    // Third db-> Keep landmarks 41-60
+    // Fourth db-> Keep landmarks 61-80
+    // Fifth db-> Keep landmarks 81-105
+    
+    iIdDb1Min = 1;
+    iIdDb1Max = 20;
+    
+    iIdDb2Min = 21;
+    iIdDb2Max = 40;
+    
+    iIdDb3Min = 41;
+    iIdDb3Max = 60;
+    
+    iIdDb4Min = 61;
+    iIdDb4Max = 80;
+    
+    iIdDb5Min = 81;
+    iIdDb5Max = 105;
+	}
+
+// ---------------------------------------------------------
+// CPosTp124::ValidateIdL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp124::ValidateIdL(TPosLmItemId aId, TInt aDbIndex)
+    {
+    TBool condition = EFalse;
+    switch (aDbIndex)
+        {        
+        case 0:
+            // Db 1 contains landmarks with id = 1-20
+            condition = aId >= iIdDb1Min && aId <= iIdDb1Max;
+            break;
+        case 1:
+            // Db 2 contains landmarks with id = 21-40
+            condition = aId >= iIdDb2Min && aId <= iIdDb2Max;
+            break;
+        case 2:
+            // Db 3 contains landmarks with id = 41-60
+            condition = aId >= iIdDb3Min && aId <= iIdDb3Max;
+            break;
+        case 3:
+            // Db 4 contains landmarks with id = 61-80
+            condition = aId >= iIdDb4Min && aId <= iIdDb4Max;
+            break;
+        case 4:
+            // Db 5 contains landmarks with id = 81-105
+            condition = aId >= iIdDb5Min && aId <= iIdDb5Max;
+            break;
+        }
+
+    if (!condition) 
+    	{
+    	iErrorsFound++;
+    	TBuf<150> buf;
+    	buf.Format(_L("ERROR: Invalid match from database reported, index %d in db %d"), aId, aDbIndex);
+    	iLog->Log(buf);
+    	}
+    }
+    
+// ---------------------------------------------------------
+// CPosTp124::PrepareDatabasesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp124::PrepareDatabasesL()
+	{
+	iLog->Log(_L("PrepareDatabasesL"));
+	// Copy eposlmnearestsearch.ldb into five dbs
+    _LIT(KDbFile, "c:\\system\\test\\testdata\\compositeeposlm.ldb");
+
+    CFileMan* fileMan = CFileMan::NewL(iFileSession);
+    CleanupStack::PushL(fileMan);
+    
+    // Create five copies of testdata\\compositeeposlm.ldb
+    TBuf<100> path;
+    path.Zero();
+    path.Append(KLmDbPath);
+    path.Append(KLMDB1);
+    User::LeaveIfError(fileMan->Copy(KDbFile, path, CFileMan::EOverWrite));
+    
+    path.Zero();
+    path.Append(KLmDbPath);
+    path.Append(KLMDB2);
+    User::LeaveIfError(fileMan->Copy(KDbFile, path, CFileMan::EOverWrite));
+    
+    path.Zero();
+    path.Append(KLmDbPath);
+    path.Append(KLMDB3);
+    User::LeaveIfError(fileMan->Copy(KDbFile, path, CFileMan::EOverWrite));
+    
+    path.Zero();
+    path.Append(KLmDbPath);
+    path.Append(KLMDB4);
+    User::LeaveIfError(fileMan->Copy(KDbFile, path, CFileMan::EOverWrite));
+    
+    path.Zero();
+    path.Append(KLmDbPath);
+    path.Append(KLMDB5);
+    User::LeaveIfError(fileMan->Copy(KDbFile, path, CFileMan::EOverWrite));            
+    
+    CleanupStack::PopAndDestroy(fileMan);
+    
+    // Now adjust dbs according to following:
+    // First db-> Keep landmarks 1-20
+    // Second db-> Keep landmarks 21-40
+    // Third db-> Keep landmarks 41-60
+    // Fourth db-> Keep landmarks 61-80
+    // Fifth db-> Keep landmarks 81-105
+    
+    RArray<TPosLmItemId> array;
+    CleanupClosePushL(array);
+    
+    CPosLandmarkDatabase* lmd = CPosLandmarkDatabase::OpenL(KLMDB1);
+    CleanupStack::PushL(lmd);
+        
+    TBool debug = EFalse;
+    TInt index=0;
+    TInt max=105;
+   	for (index=20;index<max;index++) array.Append(index+1);
+    if (lmd->IsInitializingNeeded()) ExecuteAndDeleteLD(lmd->InitializeL());
+    ExecuteAndDeleteLD(lmd->RemoveLandmarksL(array));
+    User::After(200000);
+    ExecuteAndDeleteLD(lmd->CompactL());
+    array.Reset();
+    if (debug) PrintLm(lmd);
+    CleanupStack::PopAndDestroy(lmd);
+            
+	lmd = CPosLandmarkDatabase::OpenL(KLMDB2);
+    CleanupStack::PushL(lmd);
+        
+   	for (index=0;index<20;index++) array.Append(index+1);
+   	for (index=40;index<max;index++) array.Append(index+1);
+    if (lmd->IsInitializingNeeded()) ExecuteAndDeleteLD(lmd->InitializeL());
+    ExecuteAndDeleteLD(lmd->RemoveLandmarksL(array));
+    User::After(200000);
+    ExecuteAndDeleteLD(lmd->CompactL());
+    array.Reset();
+	if (debug) PrintLm(lmd);
+    CleanupStack::PopAndDestroy(lmd);
+    
+	lmd = CPosLandmarkDatabase::OpenL(KLMDB3);
+    CleanupStack::PushL(lmd);
+        
+   	for (index=0;index<40;index++) array.Append(index+1);        
+   	for (index=60;index<max;index++) array.Append(index+1);
+    if (lmd->IsInitializingNeeded()) ExecuteAndDeleteLD(lmd->InitializeL());
+    ExecuteAndDeleteLD(lmd->RemoveLandmarksL(array));
+    User::After(200000);
+    ExecuteAndDeleteLD(lmd->CompactL());
+    array.Reset();
+	if (debug) PrintLm(lmd);
+    CleanupStack::PopAndDestroy(lmd);
+    
+	lmd = CPosLandmarkDatabase::OpenL(KLMDB4);
+    CleanupStack::PushL(lmd);
+        
+   	for (index=0;index<60;index++) array.Append(index+1);
+   	for (index=80;index<max;index++) array.Append(index+1);
+    if (lmd->IsInitializingNeeded()) ExecuteAndDeleteLD(lmd->InitializeL());
+    ExecuteAndDeleteLD(lmd->RemoveLandmarksL(array));
+    User::After(200000);
+    ExecuteAndDeleteLD(lmd->CompactL());
+    array.Reset();
+	if (debug) PrintLm(lmd);
+    CleanupStack::PopAndDestroy(lmd);            
+    
+	lmd = CPosLandmarkDatabase::OpenL(KLMDB5);
+    CleanupStack::PushL(lmd);
+        
+	for (index=0;index<80;index++) array.Append(index+1);
+    if (lmd->IsInitializingNeeded()) ExecuteAndDeleteLD(lmd->InitializeL());
+    ExecuteAndDeleteLD(lmd->RemoveLandmarksL(array));
+    User::After(200000);
+    ExecuteAndDeleteLD(lmd->CompactL());
+    array.Reset();
+	if (debug) PrintLm(lmd);
+    
+    CleanupStack::PopAndDestroy(lmd);    
+    
+    CleanupStack::PopAndDestroy(&array);
+    iLog->Log(_L("PrepareDatabasesL Done"));
+	}
+	
+// ---------------------------------------------------------
+// CPosTp124::PrintLm
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp124::PrintLm(CPosLandmarkDatabase* db)
+	{
+	CPosLmItemIterator* iter = db->LandmarkIteratorL();
+	CleanupStack::PushL(iter);
+	iLog->Log(_L("PrintLm"));
+
+	TPosLmItemId id = iter->NextL();
+	TBuf<100> buf;
+
+	while (id != KPosLmNullItemId)
+		{
+		CPosLandmark* lm = db->ReadLandmarkLC(id);
+		TPtrC name;
+		lm->GetLandmarkName(name);
+		iLog->Log(_L("Found LM: "));
+		iLog->Log(name);
+		TInt idde = lm->LandmarkId();
+		
+		id = iter->NextL();
+		CleanupStack::PopAndDestroy(lm);
+		}
+	
+	CleanupStack::PopAndDestroy(iter);
+	iLog->Log(_L("PrintLm Done"));
+	}
+
+// ---------------------------------------------------------
+// CPosTp124::TestOnTheFlySearchL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp124::TestOnTheFlySearchL()
+    {
+    iLog->Log(_L("TestOnTheFlySearchL"));
+    CPosLmCompositeCriteria* composite = CPosLmCompositeCriteria::NewLC(CPosLmCompositeCriteria::ECompositionAND);
+
+    CCompositeSearchResult* res = CCompositeSearchResult::NewL(iLog);
+    CleanupStack::PushL(res);
+
+    while (!res->GetCompositeSearchResultsL(*composite))
+        {
+        // Check if IdList is included in composite, if so dont 
+        // use this search since IdList is not possible to use in multiple db seach
+        if (!CheckCompositeForIdListL(composite))
+        	{
+        	PrintCompositeInfo(composite);
+			iLog->Log(_L("iLandmarkSearch->StartLandmarkSearchL"));
+			TBuf<150> buf;
+    		COnTheFlyTester* onTheFlyTester = COnTheFlyTester::NewLC();
+    		onTheFlyTester->StartSearchCampaignL(iMultiDbSearch, res->iResultIds, composite);
+    
+    		TInt result = onTheFlyTester->Err();
+    		if (result != KErrNone)
+		        {
+		        TPtrC msg;
+		        onTheFlyTester->GetErrMsg(msg);
+		        iLog->Log(msg);
+    			User::Leave(result);
+		        }
+    		CleanupStack::PopAndDestroy(onTheFlyTester);
+			}
+    }
+    
+    CleanupStack::PopAndDestroy(res);
+    CleanupStack::PopAndDestroy(composite);
+    iLog->Log(_L("TestOnTheFlySearchL Done"));
+    
+    }
+
+// ---------------------------------------------------------
+// CPosTp124::TestLessDbsToSearchL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp124::TestLessDbsToSearchL()
+	{
+	iLog->Log(_L("TestLessDbsToSearchL"));
+	CPosLmCompositeCriteria* composite = CPosLmCompositeCriteria::NewLC(CPosLmCompositeCriteria::ECompositionAND);
+	
+	TBuf<100> buf;
+	
+    // First create a textcriteria
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();   
+    textCriteria->SetTextL(_L("LO*"));
+    User::LeaveIfError(composite->AddArgument(textCriteria));
+    CleanupStack::Pop(textCriteria);
+    
+    // Create search result
+   	RArray<TPosLmItemId> searchResults;
+	CleanupClosePushL(searchResults);
+	
+	// Will find:
+	searchResults.Append(1);
+	searchResults.Append(2);
+	searchResults.Append(20);
+	searchResults.Append(21);
+	searchResults.Append(22);
+	searchResults.Append(23);
+	searchResults.Append(24);
+	searchResults.Append(26);
+	searchResults.Append(27);
+	searchResults.Append(28);
+	
+	iLog->Log(_L("Search in all dbs"));
+		
+	SearchL(composite, ESynchronous, EFalse, ESortNone);
+	ValidateSearchResultsL(searchResults, ESortNone);
+	    
+	// delete the COMPOSITELMDB_1 & COMPOSITELMDB_3
+	TInt count = iDatabases->Count();
+	for(TInt i =0;i<count;i++)
+	    {
+	TPtrC16 dbName((*iDatabases)[i]);
+        if(dbName.Compare(KLMDB1Path) == KErrNone || dbName.Compare(KLMDB4Path) == KErrNone )
+            {
+            iDatabases->Delete(i);
+            }
+	    }
+  //  iDatabases->Delete(0);
+  //  iDatabases->Delete(3);
+	
+    iNrOfDatabases-=2;
+    
+    iIdDb1Min = 21;
+    iIdDb1Max = 40;
+    
+    iIdDb2Min = 41;
+    iIdDb2Max = 60;
+    
+    iIdDb3Min = 81;
+    iIdDb3Max = 105;
+    
+    iMultiDbSearch->SetDatabasesToSearchL(*iDatabases);
+    
+    iLog->Log(_L("Search in all dbs but db0 and db3"));
+    // Remove three first items, found in db0
+    searchResults.Remove(0); // id 1
+    searchResults.Remove(0); // id 2
+    searchResults.Remove(0); // id 20
+	SearchL(composite, ESynchronous, EFalse, ESortNone);
+	ValidateSearchResultsL(searchResults, ESortNone);
+             	
+	// Open DB last in list and add a new landmark
+ 	CPosLandmarkDatabase* db = CPosLandmarkDatabase::OpenL(KLMDB3);
+    CleanupStack::PushL(db);
+ 	CPosLandmark* lm1 = CPosLandmark::NewLC();
+	lm1->SetLandmarkNameL(_L("LOOOPIA Landmark"));
+	lm1->SetLandmarkDescriptionL(_L("Some Description"));
+	
+	iLog->Log(_L("Add new Landmark to db nr 0"));
+    TPosLmItemId newLmId = db->AddLandmarkL(*lm1);
+	CleanupStack::PopAndDestroy(lm1);
+	
+	iLog->Log(_L("Search in all dbs but db0 and db3"));
+	//Refine search. new landmark should not be included
+	SearchL(composite, ESynchronous, ETrue, ESortNone);
+	ValidateSearchResultsL(searchResults, ESortNone);
+	
+	CPosLmCategoryCriteria* catSearchCriteria1 = CPosLmCategoryCriteria::NewLC();
+	CPosLmCategoryCriteria* catSearchCriteria2 = CPosLmCategoryCriteria::NewLC();
+    
+    catSearchCriteria1->SetCategoryNameL(_L("Stadsbibliotek"));
+    catSearchCriteria2->SetCategoryNameL(_L("Systembolag"));
+    
+    User::LeaveIfError(composite->AddArgument(catSearchCriteria1));
+    User::LeaveIfError(composite->AddArgument(catSearchCriteria2));
+    CleanupStack::Pop(catSearchCriteria2);
+    CleanupStack::Pop(catSearchCriteria1);
+    
+    iLog->Log(_L("Search in all dbs but db0 and db3"));
+	//Refine search with more specific composite search object
+	// new landmark should not be included
+	
+	searchResults.Reset();
+	searchResults.Append(27);
+	
+	SearchL(composite, ESynchronous, ETrue, ESortNone);
+	ValidateSearchResultsL(searchResults, ESortNone);
+
+	// Remove some criterias from composite and do a new search,
+	iLog->Log(_L("Search in all dbs but db0 and db3, remove last argument from composite"));
+	// Remove last added argument
+	CPosLmSearchCriteria* obj1 = composite->RemoveArgument(composite->NumOfArguments()-1);
+	delete obj1;
+    obj1 = NULL;
+
+	//Refine search. new landmark should not be included
+	SearchL(composite, ESynchronous, ETrue, ESortNone);
+	ValidateSearchResultsL(searchResults, ESortNone);
+	
+	// Remove last added argument
+	obj1 = composite->RemoveArgument(composite->NumOfArguments()-1);
+	delete obj1;
+    obj1 = NULL;
+    
+	//Do a new search (not more refined). new landmark should be included
+	searchResults.Append(newLmId);
+	iIdDb3Max = newLmId;
+	searchResults.Reset();
+	searchResults.Append(21);
+	searchResults.Append(22);
+	searchResults.Append(23);
+	searchResults.Append(24);
+	searchResults.Append(26);
+	searchResults.Append(27);
+	searchResults.Append(28);
+	searchResults.Append(newLmId);
+	iLog->Log(_L("Search in all dbs but db0 and db3, without refined"));
+	SearchL(composite, ESynchronous, EFalse, ESortNone);
+	ValidateSearchResultsL(searchResults, ESortNone);
+    
+    // Remove the added landmark
+    db->RemoveLandmarkL(newLmId);
+    CleanupStack::PopAndDestroy(db);
+    	
+    CleanupStack::PopAndDestroy(&searchResults);
+    CleanupStack::PopAndDestroy(composite);
+    // Correct limits if more testing after this part
+    SetupLimits();
+    
+    CPosLmDatabaseManager* dbManager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(dbManager);
+    delete iDatabases;
+    iDatabases = NULL;
+    iDatabases = dbManager->ListDatabasesLC();
+    CleanupStack::Pop(iDatabases);
+    iDatabases->Sort(); // Not really necessary...
+    // Remove compositeeposlm.ldb that should not be searched
+    iNrOfDatabases = iDbCount + 5;
+    iDatabases->Delete(0);
+    AssertTrueSecL((iDatabases->Count() == iNrOfDatabases), _L("Wrong number of databases"));
+    
+    iMultiDbSearch->UnsetDisplayData();
+    delete iDisplayData;
+    iDisplayData = NULL;
+    
+    delete iMultiDbSearch;
+    iMultiDbSearch = NULL;
+    
+    iMultiDbSearch = CPosLmMultiDbSearch::NewL(*iDatabases);
+    iDisplayData = CPosLmDisplayData::NewL();
+	iMultiDbSearch->SetDisplayData(*iDisplayData);	
+    
+    CleanupStack::PopAndDestroy(dbManager);
+
+	}
+	
+// ---------------------------------------------------------
+// CPosTp124::TestWithSortOrderNearestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp124::TestWithSortOrderNearestL(TExecutionMode aExecutionMode,
+    										 TTp124SortOrder aSortOrder)
+	{
+	iLog->Log(_L("TestWithSortOrderNearestL"));
+	
+    CPosLmCompositeCriteria* composite = CPosLmCompositeCriteria::NewLC(CPosLmCompositeCriteria::ECompositionAND);
+	
+    // First create a textcriteria
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();   
+    textCriteria->SetTextL(_L("*"));
+    User::LeaveIfError(composite->AddArgument(textCriteria));
+    CleanupStack::Pop(textCriteria);
+
+    // Then create a nearest criteria same coordinate as landmark itemid=31 Text1
+    TCoordinate coord(45.5, 0.5);
+    iCoord = coord;
+    CPosLmNearestCriteria* nearestCriteria = CPosLmNearestCriteria::NewLC(coord, ETrue);
+    nearestCriteria->SetMaxDistance(80000);
+    
+    
+    User::LeaveIfError(composite->AddArgument(nearestCriteria));
+    CleanupStack::Pop(nearestCriteria);
+    
+    // Create search result
+   	RArray<TPosLmItemId> searchResults;
+	CleanupClosePushL(searchResults);
+	
+	// Will find Unique, Text'1 and Text1
+	searchResults.Append(29);
+	searchResults.Append(31);
+	searchResults.Append(30);
+		
+	iLog->Log(_L("Innan search"));
+	SearchL(composite, aExecutionMode, EFalse, aSortOrder);
+	iLog->Log(_L("Innan validate"));
+	ValidateSearchResultsL(searchResults, aSortOrder);
+          
+    CleanupStack::PopAndDestroy(&searchResults);
+    CleanupStack::PopAndDestroy(composite);
+	}
+
+// ---------------------------------------------------------
+// CPosTp124::CheckCompositeForIdListL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TBool CPosTp124::CheckCompositeForIdListL(CPosLmCompositeCriteria* aComposite)
+	{
+	iLog->Log(_L("CheckCompositeForIdListL"));
+	TBool res = EFalse;
+    for (TUint i=0;i<aComposite->NumOfArguments();i++)
+    	{
+        CPosLmSearchCriteria& comp = aComposite->Argument(i);
+        TInt type = comp.CriteriaType();
+        if (type == CPosLmSearchCriteria::ECriteriaIdList)
+            {
+			res = ETrue;
+            }
+		}
+		return res;
+	}
+
+// ---------------------------------------------------------
+// CPosTp124::StartLandmarksCompositeTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp124::StartLandmarksCompositeTestL(TExecutionMode aExecutionMode,
+    										 TTp124SortOrder aSortOrder)
+    {       
+    iLog->Log(_L("StartLandmarksCompositeTestL"));
+    CPosLmCompositeCriteria* composite = CPosLmCompositeCriteria::NewLC(CPosLmCompositeCriteria::ECompositionAND);
+
+    CCompositeSearchResult* res = CCompositeSearchResult::NewL(iLog);
+    CleanupStack::PushL(res);
+
+    
+
+    while (!res->GetCompositeSearchResultsL(*composite))
+        {
+        // Check if IdList is included in composite, if so dont 
+        // use this search since IdList is not possible to use in multiple db seach
+        if (!CheckCompositeForIdListL(composite))
+        	{
+        	PrintCompositeInfo(composite);
+			iLog->Log(_L("iLandmarkSearch->StartLandmarkSearchL"));
+	        SearchL(composite, aExecutionMode, res->Redefined(), aSortOrder);
+			ValidateSearchResultsL(res->iResultIds, aSortOrder);
+			}
+    }
+    
+    CleanupStack::PopAndDestroy(res);
+    CleanupStack::PopAndDestroy(composite);
+    iLog->Log(_L("StartLandmarksCompositeTestL Done"));
+    }
+    
+// ---------------------------------------------------------
+// CPosTp124::TestWithSortOrderLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp124::TestWithSortOrderLandmarksL(TExecutionMode aExecutionMode,
+    										 TTp124SortOrder aSortOrder)
+	{
+	iLog->Log(_L("TestWithSortOrderLandmarksL"));
+    
+    CPosLmCompositeCriteria* composite = CPosLmCompositeCriteria::NewLC(CPosLmCompositeCriteria::ECompositionAND);
+	TInt i=0;
+	
+	TPosLmSortPref sortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+	
+    // First create a textcriteria
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();   
+    textCriteria->SetTextL(_L("*"));
+    User::LeaveIfError(composite->AddArgument(textCriteria));
+    CleanupStack::Pop(textCriteria);
+    
+    // Then create a nearest criteria
+    TCoordinate coord(12.123, -20,123);
+    CPosLmNearestCriteria* nearestCriteria = CPosLmNearestCriteria::NewLC(coord, EFalse);
+    User::LeaveIfError(composite->AddArgument(nearestCriteria));
+    CleanupStack::Pop(nearestCriteria);
+            
+    // Create search result of all landmark ids: 1-105
+   	RArray<TPosLmItemId> searchResults;
+	CleanupClosePushL(searchResults);
+	for (i=1;i<106;i++) {searchResults.Append(i);}
+	
+	SearchL(composite, aExecutionMode, EFalse, aSortOrder);
+	ValidateSearchResultsL(searchResults, aSortOrder);
+
+	CleanupStack::PopAndDestroy(&searchResults);
+    CleanupStack::PopAndDestroy(composite);
+    
+	}
+	
+// ---------------------------------------------------------
+// CPosTp124::SearchL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp124::SearchL(
+    CPosLmCompositeCriteria* aCompositeSearchCriteria,
+    TExecutionMode aExecutionMode,
+    TBool aRefinedSearch,
+    TTp124SortOrder aSortOrder)
+    {
+    switch (aSortOrder)
+        {
+        case ESortNone:
+        	{
+            iOperation = iMultiDbSearch->StartLandmarkSearchL(*aCompositeSearchCriteria, aRefinedSearch);
+            break;
+            }
+        case ESortAscending:
+        	{
+            TPosLmSortPref ascending(CPosLandmark::ELandmarkName);
+            iOperation = iMultiDbSearch->StartLandmarkSearchL(*aCompositeSearchCriteria, ascending, aRefinedSearch);
+            break;
+            }
+        case ESortDescending:
+        	{
+            TPosLmSortPref descending(CPosLandmark::ELandmarkName, TPosLmSortPref::EDescending);
+            iOperation = iMultiDbSearch->StartLandmarkSearchL(*aCompositeSearchCriteria, descending, aRefinedSearch);
+            break;
+            }
+		case ESortDistance:
+			{
+            iOperation = iMultiDbSearch->StartLandmarkSearchL(*aCompositeSearchCriteria, aRefinedSearch);
+            break;
+            }
+        default:
+        	{
+            User::Leave(KErrArgument);
+            break;            
+            }
+        }
+        
+    switch (aExecutionMode)
+        {
+        case ESynchronous:
+            ExecuteAndDeleteLD(iOperation);
+            break;
+        case EAsynchronous:
+            RunAsyncOperationLD(iOperation);
+            break;
+        default:
+            User::Leave(KErrArgument);
+            break;
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp124::TestSeveralTextArgumentsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp124::TestSeveralTextArgumentsL()
+    {
+    iLog->Log(_L("TestSeveralTextArgumentsL"));        
+    CPosLmCompositeCriteria* composite = CPosLmCompositeCriteria::NewLC(CPosLmCompositeCriteria::ECompositionAND);
+
+	// >>>>>>> Test different text criterias <<<<<<<<<<
+    // First create a textcriteria
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();    
+    textCriteria->SetTextL(_L("Nokia*"));
+    TInt err = composite->AddArgument(textCriteria);
+    if (err != KErrNone)
+    {
+    	iLog->Log(_L("Error when adding argument1"));
+    	User::Leave(err);
+    }
+    CleanupStack::Pop(textCriteria);
+
+    // First create a textcriteria
+    CPosLmTextCriteria* textCriteria2 = CPosLmTextCriteria::NewLC();    
+    textCriteria2->SetTextL(_L("*Stockholm"));
+    err = composite->AddArgument(textCriteria2);
+    if (err != KErrNone)
+    {
+    	iLog->Log(_L("Error when adding argument2"));
+    	User::Leave(err);
+    }
+    CleanupStack::Pop(textCriteria2);
+
+    // Should find landmark id: 63 name: "Nokia, Stockholm"
+    iLog->Log(_L("iMultiDbSearch->StartLandmarkSearchL"));
+    RIdArray expectedIds;
+    CleanupClosePushL(expectedIds);
+    User::LeaveIfError(expectedIds.Append(63));
+    
+    SearchL(composite, EAsynchronous, EFalse, ESortAscending);
+    ValidateSearchResultsL(expectedIds, ESortAscending);
+    composite->ClearArguments();
+    
+    // >>>>>>> Test same text as criterias in composite <<<<<<<
+    textCriteria = CPosLmTextCriteria::NewLC();    
+    textCriteria->SetTextL(_L("Text9"));
+    err = composite->AddArgument(textCriteria);
+    if (err != KErrNone)
+    {
+    	iLog->Log(_L("Error when adding argument1"));
+    	User::Leave(err);
+    }
+    CleanupStack::Pop(textCriteria);
+
+    // First create a textcriteria
+    textCriteria2 = CPosLmTextCriteria::NewLC();    
+    textCriteria2->SetTextL(_L("Text9"));
+    err = composite->AddArgument(textCriteria2);
+    if (err != KErrNone)
+    {
+    	iLog->Log(_L("Error when adding argument2"));
+    	User::Leave(err);
+    }
+    CleanupStack::Pop(textCriteria2);
+	expectedIds.Reset();
+    // Should find landmark id: 39 name: Text9
+    iLog->Log(_L("iMultiDbSearch->StartLandmarkSearchL"));
+    User::LeaveIfError(expectedIds.Append(39));
+    
+    SearchL(composite, EAsynchronous, EFalse, ESortDescending);
+    ValidateSearchResultsL(expectedIds, ESortDescending);
+    
+    CleanupStack::PopAndDestroy(&expectedIds);
+    CleanupStack::PopAndDestroy(composite);
+	iDisplayData->Reset();
+    }
+
+// ---------------------------------------------------------
+// CPosTp124::TestAddAndRemoveL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp124::TestAddAndRemoveL()
+    {
+    iLog->Log(_L("TestAddAndRemoveL"));
+    
+    CPosLmCompositeCriteria* composite = CPosLmCompositeCriteria::NewLC(CPosLmCompositeCriteria::ECompositionAND);
+
+    // Add a text criteria
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+    textCriteria->SetTextL(_L("PELLE"));
+    User::LeaveIfError(composite->AddArgument(textCriteria));
+    CleanupStack::Pop(textCriteria);
+    
+    // Test that ClearArguments is correct
+    composite->ClearArguments();
+    
+    if (composite->NumOfArguments() != 0)
+    {
+    	iLog->Log(_L("Wrong number of arguments"));
+    	User::Leave(-1);
+    }
+    
+    // 1) Add a text criteria
+    textCriteria = CPosLmTextCriteria::NewLC();
+    textCriteria->SetTextL(_L("*"));
+    User::LeaveIfError(composite->AddArgument(textCriteria));
+    CleanupStack::Pop(textCriteria);
+
+    // 2) Add a text criteria 
+    textCriteria = CPosLmTextCriteria::NewLC();
+    textCriteria->SetTextL(_L("Natur*"));
+    User::LeaveIfError(composite->AddArgument(textCriteria));
+    CleanupStack::Pop(textCriteria);
+
+    // 3) Add an area criteria
+    CPosLmAreaCriteria* areaCriteria = CPosLmAreaCriteria::NewLC(-12.23, 34.4, -2.05, 45.5);
+    User::LeaveIfError(composite->AddArgument(areaCriteria));
+    CleanupStack::Pop(areaCriteria);
+
+    // 4) Add a category criteria
+    CPosLmCategoryCriteria* catCriteria = CPosLmCategoryCriteria::NewLC();
+    catCriteria->SetCategoryNameL(_L("Museum"));
+    User::LeaveIfError(composite->AddArgument(catCriteria));
+    CleanupStack::Pop(catCriteria);
+
+    // 5) Add a nearest criteria
+    TCoordinate cord(12.23, 12);
+    CPosLmNearestCriteria* nearestCriteria = CPosLmNearestCriteria::NewLC(cord, ETrue);
+    User::LeaveIfError(composite->AddArgument(nearestCriteria));
+    CleanupStack::Pop(nearestCriteria);
+
+    if (composite->NumOfArguments() != 5)
+    {
+    	iLog->Log(_L("Wrong number of arguments"));
+    	User::Leave(-1);
+    }
+
+    // Remove (3) area criteria
+    CPosLmSearchCriteria* obj1 = composite->RemoveArgument(2);
+    delete obj1;obj1 = NULL;
+
+    // Remove (5) nearest criteria (after 3 removed it has id 4)
+    CPosLmSearchCriteria* obj2 = composite->RemoveArgument(3);
+    delete obj2;obj2 = NULL;
+
+    RIdArray expectedIds;
+    CleanupClosePushL(expectedIds);
+    
+    // Should find landmark with id: 87 name: "Naturhistoriska"
+    User::LeaveIfError(expectedIds.Append(87));
+    SearchL(composite, EAsynchronous, EFalse, ESortAscending);
+    ValidateSearchResultsL(expectedIds, ESortAscending);
+
+    // Remove (1) first text criteria
+    CPosLmSearchCriteria* obj4 = composite->RemoveArgument(0);
+    delete obj4; obj4 = NULL;
+
+    // Remove (2) the second text criteria
+    CPosLmSearchCriteria* obj3 = composite->RemoveArgument(0);
+    delete obj3; obj3 = NULL;
+   
+    expectedIds.Reset();
+    // Should find six landmarks belonging to category "museum",
+    User::LeaveIfError(expectedIds.Append(22));
+    User::LeaveIfError(expectedIds.Append(84));
+    User::LeaveIfError(expectedIds.Append(85));
+    User::LeaveIfError(expectedIds.Append(86));
+    User::LeaveIfError(expectedIds.Append(87));
+    User::LeaveIfError(expectedIds.Append(89));
+    
+    SearchL(composite, EAsynchronous, EFalse, ESortNone);
+    ValidateSearchResultsL(expectedIds, ESortNone);
+
+	CleanupStack::PopAndDestroy(&expectedIds);
+    CleanupStack::PopAndDestroy(composite);
+
+    iLog->Log(_L("TestAddAndRemoveL Done"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp124::ValidateSearchResultsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp124::ValidateSearchResultsL(
+            RIdArray& aExpectedIds, TTp124SortOrder aSortOrder,
+            TInt aNrOfExpectedErrors)
+    {
+    iLog->Log(_L("ValidateSearchResultsL"));
+    
+    _LIT(KNotFoundErr, "Id %d not found in parsed Lm search results");
+    _LIT(KNotFoundErr2, "Id %d not found in search result from displaydata");
+    _LIT(KNrOfMatchError, "Nr of matches from DisplayData is not correct");
+    _LIT(KNrOfMatchError2, "Expected matches is not correct");
+    
+    TBuf<100> buf;
+
+    TInt nrOfMatches = 0;
+    // list of databases to search in
+    CDesCArray* dbList = new (ELeave) CDesCArrayFlat(5);
+    CleanupStack::PushL(dbList);
+    dbList->AppendL(KLMDB1);
+    dbList->AppendL(KLMDB2);
+    dbList->AppendL(KLMDB3);
+    dbList->AppendL(KLMDB4);
+    dbList->AppendL(KLMDB5);
+    TInt dbListCount = dbList->Count();
+    for (TInt j = 0; j < dbListCount; j++)
+        {
+    //    CPosLandmarkDatabase* db = CPosLandmarkDatabase::OpenL((*iDatabases)[j]);
+    CPosLandmarkDatabase* db = CPosLandmarkDatabase::OpenL((*dbList)[j]);
+        CleanupStack::PushL(db);
+        CPosLmItemIterator* iter = iMultiDbSearch->MatchIteratorL(j);
+        CleanupStack::PushL(iter);
+        
+        nrOfMatches += iter->NumOfItemsL();
+        TPosLmItemId id = iter->NextL();
+        while (id != KPosLmNullItemId)
+            {
+            buf.Format(_L("Found idde %d in db %d"), id, j);
+            //iLog->Log(buf);
+            ValidateIdL(id, j);
+            AssertTrueSecL(aExpectedIds.Find(id) != KErrNotFound, KNotFoundErr, id);
+            
+            CPosLandmark* lm1 = db->ReadLandmarkLC(id);
+            id = iter->NextL();
+            // Check sort order in every iterator
+            if (aSortOrder != ESortNone && aSortOrder != ESortDistance && id != KPosLmNullItemId)
+                {
+                CPosLandmark* lm2 = db->ReadLandmarkLC(id);
+                TPtrC name1, name2;
+                lm1->GetLandmarkName(name1);
+                lm2->GetLandmarkName(name2);
+
+                if (aSortOrder == ESortAscending)
+                    {                        
+                    AssertTrueSecL(name1.CompareC(name2) <= 0, _L("Not sorted ascending as expected"));
+                    }
+                else if (aSortOrder == ESortDescending)
+                    {
+                    AssertTrueSecL(name1.CompareC(name2) >= 0, _L("Not sorted descending as expected"));
+                    }
+                CleanupStack::PopAndDestroy(lm2);
+                }
+            CleanupStack::PopAndDestroy(lm1);
+            }
+            
+		// Now check that iterator is sorted on distance
+        if (aSortOrder == ESortDistance)
+			{
+			iter->Reset();
+			RArray<TPosLmItemId> result;
+        	CleanupClosePushL(result);
+        	
+        	if (iter->NumOfItemsL() > 0)
+        		{ 
+        		iter->GetItemIdsL(result,0, iter->NumOfItemsL());
+				LandmarksSortL(result, aSortOrder);
+				TPosLmItemId idde = iter->NextL();
+				TInt index=0;
+		    	while (idde != KPosLmNullItemId)
+		        	{
+		        	iLog->Log(_L("##### Check iterator sorted on distance"));
+		        	AssertTrueSecL(idde == result[index], _L("Iterator is not sorted on distance"));
+		        	index++;
+		        	idde = iter->NextL();
+		        	}
+				}
+			CleanupStack::PopAndDestroy(&result);
+			}
+			
+		CleanupStack::PopAndDestroy(iter);            
+        CleanupStack::PopAndDestroy(db);
+        }
+        
+    AssertTrueSecL(nrOfMatches == iMultiDbSearch->TotalNumOfMatches(), _L("Total nr of matches doesn't match sum of matches in iterators"));
+    AssertTrueSecL(NrOfSearchErrors(iMultiDbSearch) == aNrOfExpectedErrors, _L("Found search errors!"));
+    AssertTrueSecL(nrOfMatches == iDisplayData->Count(), KNrOfMatchError);
+    AssertTrueSecL(aExpectedIds.Count() == iDisplayData->Count(), KNrOfMatchError2);
+
+    TInt itemId = iDisplayData->NewItemIndex();
+	while (itemId != KPosLmNoNewItems)
+		{
+		CPosLmDisplayItem& item1 = iDisplayData->DisplayItem(itemId);
+	    TInt lmId = item1.Landmark().LandmarkId();
+        TPtrC name1;
+    	item1.Landmark().GetLandmarkName(name1);
+    	TInt dbIndex = item1.DatabaseIndex();
+    	// Validate lm from correct db
+    	ValidateIdL(lmId, dbIndex);
+
+    	buf.Format(_L("LM id: %d"), lmId);
+    	//iLog->Log(buf);
+	    AssertTrueSecL(aExpectedIds.Find(lmId) != KErrNotFound, KNotFoundErr2, lmId);
+	    itemId = iDisplayData->NewItemIndex();
+	    if (itemId != KPosLmNoNewItems)
+	    	{
+		    CPosLmDisplayItem& item2 = iDisplayData->DisplayItem(itemId);
+		    lmId = item2.Landmark().LandmarkId();
+		    TPtrC name2;
+		    lmId = item2.Landmark().LandmarkId();
+		    dbIndex = item2.DatabaseIndex();
+    		// Validate lm from correct db
+    		ValidateIdL(lmId, dbIndex);
+    		
+			item2.Landmark().GetLandmarkName(name2);
+		    AssertTrueSecL(aExpectedIds.Find(lmId) != KErrNotFound, KNotFoundErr2, lmId);
+		    
+		    // Check sort order for display data items
+			if (aSortOrder == ESortAscending)
+			    {                        
+			    AssertTrueSecL(name1.CompareC(name2) <= 0, _L("Not sorted ascending as expected"));
+			    }
+			else if (aSortOrder == ESortDescending)
+			    {
+			    AssertTrueSecL(name1.CompareC(name2) >= 0, _L("Not sorted descending as expected"));
+			    }
+		    }
+	    }
+	    
+	    if (aSortOrder == ESortDistance)
+			{
+			iLog->Log(_L("##### Check sorted on distance"));
+			LandmarksSortL(aExpectedIds, aSortOrder);
+			for (TInt i=0;i<aExpectedIds.Count();i++)
+				{
+				CPosLmDisplayItem& item1 = iDisplayData->DisplayItem(i);
+    			TInt lmId = item1.Landmark().LandmarkId();
+				if (aExpectedIds[i] != lmId) 
+					{
+					buf.Format(_L("Incorrect distance sorting Id1 %d Id2 %d"),aExpectedIds[i], lmId );
+					//iLog->Log(buf);
+					iLog->Log(buf);
+    				User::Leave(-1);
+					}
+				}
+			}
+	    CleanupStack::PopAndDestroy(dbList);
+    }
+
+// ---------------------------------------------------------
+// CPosTp124::NrOfSearchErrors
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt CPosTp124::NrOfSearchErrors(CPosLmMultiDbSearch* aMultiDbSearcher)
+    {    
+    TInt nrOfSearchErrors = aMultiDbSearcher->NumOfSearchErrors();
+    if (nrOfSearchErrors != 0)
+        {
+        for (TInt i = 0; i < nrOfSearchErrors; i++)
+            {
+            CPosLmMultiDbSearch::TSearchError error;
+            aMultiDbSearcher->GetSearchError(i, error);
+            TBuf<100> msg;
+            msg.Format(_L("Found error %d in database %d"), error.iErrorCode, error.iDatabaseIndex);
+            iLog->Log(msg);
+            }
+        }
+    return nrOfSearchErrors;
+    }
+    
+// ---------------------------------------------------------
+// Tp124InternalLandmarksSortL
+// 
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//	
+TInt Tp124InternalLandmarksSortL(const CPosLandmark& aSource, const CPosLandmark& aTarget)
+    {
+	// NOTE: Always sorted on distance to TCoordinate iCoord(45.5, 0.5);
+    TLocality loc1;
+    TLocality loc2;
+        
+    aSource.GetPosition(loc1);
+    aTarget.GetPosition(loc2);
+    TReal32 distance1, distance2;
+    // Not nice, ugly hardcoded
+    TCoordinate iCoord(45.5, 0.5);
+    loc1.Distance(iCoord, distance1);
+    loc2.Distance(iCoord, distance2);
+    
+    iCoord.Distance(loc1, distance1);
+    iCoord.Distance(loc2, distance2);
+    
+    TInt res = distance1-distance2;
+    
+    return res;
+    }
+    	
+// ---------------------------------------------------------
+// CPosTp124::LandmarksSortL
+// 
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp124::LandmarksSortL(RArray<TPosLmItemId>& aArray, TTp124SortOrder aSortOrder)
+    {
+    iLog->Log(_L("LandmarksSortL"));
+    
+    RPointerArray<CPosLandmark> landmarks;
+    CleanupClosePushL(landmarks);
+    
+    for (TInt i=0; i<aArray.Count(); i++)
+        {
+        CPosLandmark* lm = iDatabase->ReadLandmarkLC(aArray[i]);
+        landmarks.Append(lm);
+        CleanupStack::Pop(lm);
+        }
+
+	// Sort on distance, possible to add a ascending and descending sort here as well
+	// if needed
+    TLinearOrder<CPosLandmark> order(Tp124InternalLandmarksSortL);
+    landmarks.Sort(order);
+    aArray.Reset();
+	 if (aSortOrder == ESortDistance)
+    	{
+	    for (TInt j=0; j<landmarks.Count(); j++)
+        	{
+        	aArray.Append(landmarks[j]->LandmarkId());
+        	}
+    	}
+
+		
+    landmarks.ResetAndDestroy();
+    CleanupStack::PopAndDestroy(&landmarks);
+    }
+
+// ---------------------------------------------------------
+// CPosTp124::CancelTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp124::CancelTestL(const TBool& aCancelInCallback)
+    {
+    iLog->Log(_L("CancelTestL"));
+        
+    CPosLmCompositeCriteria* composite = CPosLmCompositeCriteria::NewLC(CPosLmCompositeCriteria::ECompositionAND);
+    
+    CCompositeSearchResult* res = CCompositeSearchResult::NewL(iLog);
+    CleanupStack::PushL(res);
+    
+    // Get first composite search from lmDbCompositeSearchResult.txt
+    res->GetCompositeSearchResultsL(*composite);
+    
+	// Cancel in callback, cancel in every progress step phase
+	// when progress has increased with 0.09
+    if (aCancelInCallback)
+    	{
+    	iLog->Log(_L("Cancel in Callback"));
+	    TReal32 progress(0);
+	    while (progress < 1.0)
+	        {
+	        RunAsyncOperationAndCancelInCallbackLD(
+	            iMultiDbSearch->StartLandmarkSearchL(
+	                *composite, 
+	                EFalse),
+	            progress);
+
+	        TInt nrOfMatches = 0;
+	        for (TInt j = 0; j < iNrOfDatabases; j++)
+	            {
+	            CPosLmItemIterator* iter = iMultiDbSearch->MatchIteratorL(j);
+	            CleanupStack::PushL(iter);
+	            nrOfMatches += iter->NumOfItemsL();
+	            CleanupStack::PopAndDestroy(iter);
+	            }
+	        AssertTrueSecL(nrOfMatches == iMultiDbSearch->TotalNumOfMatches(), _L("Total nr of matches doesn't match sum of matches in iterators when cancelling"));
+	        //AssertTrueSecL(iMultiDbSearch->TotalNumOfMatches() == iDisplayData->Count(),_L("Wrong number of matches after cancel"));
+	        
+	        progress = progress + 0.09;
+	        }
+    	}
+    else
+    	{
+    	// Cancel immediately
+    	iLog->Log(_L("Cancel immediately"));
+    	RunAsyncOperationAndCancelLD(
+	            iMultiDbSearch->StartLandmarkSearchL(
+	                *composite, 
+	                EFalse));
+	            
+		AssertTrueSecL(iMultiDbSearch->TotalNumOfMatches() == iDisplayData->Count(),_L("Wrong number of matches after cancel"));
+    	}
+    	
+	if (iMultiDbSearch->NumOfSearchErrors() != 0) iLog->Log(_L("Errors after search"));
+	for (TInt i=0;i<iMultiDbSearch->NumOfSearchErrors(); i++)
+		{
+		CPosLmMultiDbSearch::TSearchError searchErr;
+		iMultiDbSearch->GetSearchError(i, searchErr);
+		TBuf<150> buf;
+		buf.Format(_L("ErrorCode %d returned from db nr %d"),searchErr.iErrorCode, searchErr.iDatabaseIndex);
+		iLog->Log(buf);
+		}
+	    		
+    CleanupStack::PopAndDestroy(res);
+    CleanupStack::PopAndDestroy(composite);
+    }
+    
+// ---------------------------------------------------------
+// CPosTp124::CompositeStressTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp124::CompositeStressTestL(TInt aStartNr, TInt aTotalNr)
+	{
+	iLog->Log(_L("CompositeStressTestL"));
+	CPosLmCompositeCriteria* composite = CPosLmCompositeCriteria::NewLC(CPosLmCompositeCriteria::ECompositionAND);
+	TInt i=0;
+	
+	for (i=0;i<aTotalNr;i++)
+		{
+		CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();    
+    	textCriteria->SetTextL(_L("*"));
+    	
+    	User::LeaveIfError(composite->AddArgument(textCriteria));
+    	CleanupStack::Pop(textCriteria);
+	
+		if (i>aStartNr)
+			{
+			SearchL(composite, EAsynchronous, EFalse, ESortAscending);
+			TBuf<100> buf;
+			buf.Format(_L("Found %d nr of matches"), iDisplayData->Count());
+			iLog->Log(buf);
+			}
+		}
+	
+	TInt antal = composite->NumOfArguments();
+	if (antal != aTotalNr) iLog->Log(_L("nr of composite arguments is incorrect"));
+	
+	TBuf<100> buf;
+	buf.Format(_L("Found %d nr of matches"), iDisplayData->Count());
+	iLog->Log(buf);
+
+	TInt itemId = iDisplayData->NewItemIndex();
+	while (itemId != KPosLmNoNewItems)
+		{
+		CPosLmDisplayItem& item1 = iDisplayData->DisplayItem(itemId);
+	    TInt lmId = item1.Landmark().LandmarkId();
+        TPtrC name1;
+    	item1.Landmark().GetLandmarkName(name1);
+    	TInt dbIndex = item1.DatabaseIndex();
+    	// Validate lm from correct db
+    	ValidateIdL(lmId, dbIndex);
+    	buf.Format(_L("LM id: %d from DB %d"), lmId, dbIndex);
+    	iLog->Log(buf);
+    	itemId = iDisplayData->NewItemIndex();
+		}
+		
+	// 105 is the total number of landmarks in the five dbs
+	if (iDisplayData->Count() != 105) 
+	{
+		iLog->Log(_L("Wrong number of matches found"));
+    	User::Leave(-1);
+	}
+	
+	CleanupStack::PopAndDestroy(composite);
+	}
+    
+// ---------------------------------------------------------
+// CPosTp124::TestWithNoPreviousResultL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp124::TestWithNoPreviousResultL()
+    {
+    iLog->Log(_L("TestWithNoPreviousResultL"));
+
+    if (iMultiDbSearch) iMultiDbSearch->UnsetDisplayData();
+    delete iDisplayData;
+    iDisplayData = NULL;
+    delete iMultiDbSearch;
+    iMultiDbSearch = CPosLmMultiDbSearch::NewL(*iDatabases);
+    
+    iDisplayData = CPosLmDisplayData::NewL();
+	iMultiDbSearch->SetDisplayData(*iDisplayData);
+    
+    CPosLmCompositeCriteria* composite = CPosLmCompositeCriteria::NewLC(CPosLmCompositeCriteria::ECompositionAND);
+   
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();    
+    textCriteria->SetTextL(_L("*"));
+    
+    User::LeaveIfError(composite->AddArgument(textCriteria));
+    CleanupStack::Pop(textCriteria);
+    
+	// No previous result-> should leave with KErrArgument
+    TRAPD(err, SearchL(composite, EAsynchronous, ETrue, ESortAscending));
+    if (err != KErrArgument) 
+    {
+    	iLog->Log(_L("It should not be possible to search when no previous result has been retrieved"));
+    	User::Leave(err);
+    }
+    
+    CleanupStack::PopAndDestroy(composite);
+    }
+
+// ---------------------------------------------------------
+// CPosTp124::TestWithIdListAndCompositeL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp124::TestWithIdListAndCompositeL()
+	{
+	iLog->Log(_L("TestWithIdListAndCompositeL"));
+	
+    CPosLmCompositeCriteria* composite = CPosLmCompositeCriteria::NewLC(CPosLmCompositeCriteria::ECompositionAND);
+
+    // First create a textcriteria
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();    
+    textCriteria->SetTextL(_L("Nokia*"));
+    User::LeaveIfError(composite->AddArgument(textCriteria));
+    CleanupStack::Pop(textCriteria);
+
+    // Then create an IdList
+    CPosLmIdListCriteria* idList = CPosLmIdListCriteria::NewLC();
+	RIdArray ids;
+    CleanupClosePushL(ids);
+    User::LeaveIfError(ids.Append(63));
+    User::LeaveIfError(ids.Append(33));
+    idList->SetLandmarkIdsL(ids);
+    CleanupStack::PopAndDestroy(&ids);
+    
+    User::LeaveIfError(composite->AddArgument(idList));
+    CleanupStack::Pop(idList);
+
+	// It is not possible to use IdList in combination with composite in multiple db search    
+    TRAPD(err, SearchL(composite, EAsynchronous, EFalse, ESortAscending));
+    if (err != KErrArgument)
+    {
+    	iLog->Log(_L("It should not be possible to use CPosLmIdListCriteria in a composite search"));
+    	User::Leave(err);
+
+    }
+
+    CleanupStack::PopAndDestroy(composite);
+	iDisplayData->Reset();
+	}
+
+// ---------------------------------------------------------
+// CPosTp124::TestCategoryCompositeSearchL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp124::TestCategoryCompositeSearchL()
+    {
+    iLog->Log(_L("TestCategoryCompositeSearchL"));
+
+    CPosLmCompositeCriteria* composite = CPosLmCompositeCriteria::NewLC(CPosLmCompositeCriteria::ECompositionAND);
+
+	// It should not be possible to add a CPosLmCatNameCriteria to composite
+    CPosLmCatNameCriteria* nameCriteria = CPosLmCatNameCriteria::NewLC();
+    nameCriteria->SetSearchPatternL(_L("*"));
+    TInt err = composite->AddArgument(nameCriteria);
+    if (err != KErrNotSupported) 
+    {
+    	iLog->Log(_L("It should not be possible to use CPosLmIdListCriteria in a composite search"));
+    	User::Leave(err);
+
+    }
+    CleanupStack::PopAndDestroy(nameCriteria);
+
+    // Test once more
+    CPosLmCatNameCriteria* nameCriteria2 = CPosLmCatNameCriteria::NewLC();
+    nameCriteria2->SetSearchPatternL(_L("*kontor"));
+    err = composite->AddArgument(nameCriteria2);
+    if (err != KErrNotSupported)
+    {
+    	iLog->Log(_L("It should not be possible to use CPosLmIdListCriteria in a composite search"));
+    	User::Leave(err);
+
+    }
+    CleanupStack::PopAndDestroy(nameCriteria2);
+        
+    CleanupStack::PopAndDestroy(composite);
+    }
+    
+// ---------------------------------------------------------
+// CPosTp124::TestCompositeInCompositeL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp124::TestCompositeInCompositeL()
+    {
+    iLog->Log(_L("TestCompositeInCompositeL"));
+    CPosLmCompositeCriteria* composite = CPosLmCompositeCriteria::NewLC(CPosLmCompositeCriteria::ECompositionAND);
+
+    // First create a textcriteria
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+    
+    textCriteria->SetTextL(_L("*"));
+   
+    User::LeaveIfError(composite->AddArgument(textCriteria));
+    CleanupStack::Pop(textCriteria);
+
+    CPosLmAreaCriteria* areaCriteria = CPosLmAreaCriteria::NewLC(-48, 5, -5, 20);
+                
+    User::LeaveIfError(composite->AddArgument(areaCriteria));
+    CleanupStack::Pop(areaCriteria);
+
+    //Create composite object that should be used as argument to the first composite object
+    CPosLmCompositeCriteria* composite2 = CPosLmCompositeCriteria::NewLC(CPosLmCompositeCriteria::ECompositionAND);
+
+    CPosLmTextCriteria* textCriteria2 = CPosLmTextCriteria::NewLC();
+    textCriteria2->SetTextL(_L("TE,*"));
+    
+    User::LeaveIfError(composite2->AddArgument(textCriteria2));
+    CleanupStack::Pop(textCriteria2);
+
+    //User::LeaveIfError(composite->AddArgument(composite2));
+    TInt res = composite->AddArgument(composite2);
+    if (res != KErrNotSupported) 
+    {
+    	iLog->Log(_L("It should not be possible to add to a composite "));
+    	User::Leave(-1);
+
+    }
+
+    CleanupStack::PopAndDestroy(composite2);
+    
+    
+    CleanupStack::PopAndDestroy(composite);
+
+    iLog->Log(_L("TestCompositeInCompositeL Done"));
+    
+    }
+    
+// ---------------------------------------------------------
+// CPosTp124::PrintCompositeInfo
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp124::PrintCompositeInfo(CPosLmCompositeCriteria* aComposite)
+    {
+    TBuf<100> buf;
+    buf.Format(_L("PrintCompositeInfo() NrOfArg %d"), aComposite->NumOfArguments());
+    iLog->Log(buf);
+    
+    for (TUint i=0;i<aComposite->NumOfArguments();i++)
+    {
+        
+        CPosLmSearchCriteria& comp = aComposite->Argument(i);
+        TInt type = comp.CriteriaType();
+        
+        if (type == CPosLmSearchCriteria::ECriteriaArea) 
+            {
+            iLog->Log(_L("Arg Area found"));
+            
+            CPosLmAreaCriteria& tt = static_cast<CPosLmAreaCriteria&>(comp);
+
+            TReal64 southLat;
+            TReal64 northLat;
+            TReal64 westLong;
+            TReal64 eastLong;
+
+            tt.GetSearchArea(southLat, northLat, westLong, eastLong);
+
+            buf.Format(_L("SouthL %f NorthL: %f WestL :%f EastL: %f"), (TReal)southLat, (TReal)northLat, (TReal)westLong, (TReal)eastLong);
+            iLog->Log(buf);
+
+            }
+        else if (type == CPosLmSearchCriteria::ECriteriaText) 
+            {
+            iLog->Log(_L("Arg Text found:"));
+            CPosLmTextCriteria& tt = static_cast<CPosLmTextCriteria&>(comp);
+            iLog->Log(tt.Text());
+            }
+        else if (type == CPosLmSearchCriteria::ECriteriaComposite)
+            {
+            iLog->Log(_L("Arg Composite found"));
+            }
+        else if (type == CPosLmSearchCriteria::ECriteriaCategory)
+            {
+            iLog->Log(_L("Arg Category found"));
+
+            CPosLmCategoryCriteria& tt = static_cast<CPosLmCategoryCriteria&>(comp);
+            iLog->Log(tt.CategoryName());
+            }
+        else if (type == CPosLmSearchCriteria::ECriteriaFindNearest)
+            {
+            CPosLmNearestCriteria& tt = static_cast<CPosLmNearestCriteria&>(comp);
+            TCoordinate cord;
+            tt.GetCoordinate(cord);
+            iLog->Log(_L("Arg Nearest found"));
+            buf.Format(_L("Latitude %f Longitude: %f MaxDist:%f"), (TReal)cord.Latitude(), (TReal)cord.Longitude(), (TReal)tt.MaxDistance());
+            iLog->Log(buf);
+            }
+        else if (type == CPosLmSearchCriteria::ECriteriaIdList)
+            {
+            iLog->Log(_L("Arg Idlist found"));
+            CPosLmIdListCriteria& tt = static_cast<CPosLmIdListCriteria&>(comp);
+
+            RArray<TPosLmItemId> result;
+            CleanupClosePushL(result);
+            tt.GetLandmarkIdsL(result);
+
+            buf.Format(_L("Nr of Ids: %d"), result.Count());
+            iLog->Log(buf);
+            
+            for (TInt i=0;i<result.Count();i++)
+                {
+                buf.Format(_L("ID%d: %d"), i, result[i]);
+                
+                }
+            CleanupStack::PopAndDestroy(&result);
+
+            }
+        else if (type == CPosLmSearchCriteria::ECriteriaCategoryByName) 
+            {
+            // Should never come here, ECriteriaCategoryByName not supported in composite objects
+            iLog->Log(_L("Arg Categorybyname found"));
+            }
+        }
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp125.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,1453 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp125.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLmMultiDbSearch.h> 
+#include <EPos_CPosLmTextCriteria.h>
+#include <EPos_CPosLmCatNameCriteria.h>
+#include <EPos_CPosLMItemIterator.h>    
+#include <EPos_TPosLMSortPref.h>
+#include "FT_CSearchResult.h"
+#include <EPos_CPosLmDatabaseManager.h>
+#include <EPos_CPosLmDisplayData.h>
+#include <EPos_CPosLmDisplayItem.h>
+#include "FT_LandmarkConstants.h"
+     
+// CONSTANTS
+    
+    _LIT(KPizzeria,          "Pizzeria");           // Db 1, id  1
+    _LIT(KHambergerbar,      "Hamburgerbar");       // Db 1, id  2        
+    _LIT(KKinarestaurang,    "Kinarestaurang");     // Db 1, id  3
+    _LIT(KGaraget,           "Garaget");            // Db 1, id  4
+    _LIT(KBilverkstad,       "Bilverkstad");        // Db 1, id  5
+    _LIT(KPastaRestaurang,   "Pasta Restaurang");   // Db 2, id  6
+    _LIT(KBilia,             "Bilia");              // Db 2, id  7
+    _LIT(KVolksWagen,        "VolksWagen");         // Db 2, id  8
+    _LIT(KTaxiGoteborg,      "Taxi Göteborg");      // Db 2, id  9
+    _LIT(KTaxi,              "Taxi");               // Db 2, id 10
+    _LIT(KStadsbibliotek,    "Stadsbibliotek");     // Db 2, id 11
+    _LIT(KSystembolag,       "Systembolag");        // Db 2, id 12
+    _LIT(KNokiKontor,        "Nokia Kontor");       // Db 2, id 13
+    _LIT(KTietoEnatorKontor, "TietoEnator kontor"); // Db 2, id 14
+    _LIT(KThaiRestaurang,    "Thai Restaurang");    // Db 3, id 15
+    _LIT(KMcDonalds,         "McDonalds");          // Db 3, id 16
+    _LIT(KBurgerKing,        "BurgerKing");         // Db 3, id 17
+    _LIT(KFrisor,            "Frisör");             // Db 3, id 18
+    _LIT(KHunddagis,         "Hunddagis");          // Db 3, id 19
+    _LIT(KVeterinar,         "Veterinär");          // Db 3, id 20
+    _LIT(KKyrkogard,         "Kyrkogård");          // Db 4, id 21
+    _LIT(KMuseum,            "Museum");             // Db 4, id 22
+    _LIT(KDagis,             "Dagis");              // Db 4, id 23
+    _LIT(KStadspark,         "StadsPark");          // Db 4, id 24
+    _LIT(KSjukhus,           "Sjukhus");            // Db 5, id 25
+    _LIT(KLakare,            "Läkare");             // Db 5, id 26
+ 
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp125::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp125::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+    delete iLandmarksMultiDbSearch;
+    iLandmarksMultiDbSearch = NULL;
+    
+    delete iDatabase;
+    iDatabase=NULL;
+
+    iCategorySearchResults.ResetAndDestroy();
+
+    TRAPD(err, RemoveGlobalCategoriesL());
+    TBuf<50> buf;
+    if (err != KErrNone) 
+        {
+        buf.Format(_L("RemoveGlobalCategoriesL leaved with %d"), err);
+        iLog->Log(buf);
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp125::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp125::StartL()
+    {
+    
+    RemoveAllLmDatabasesL();
+    CopyTestDbFileL(KDb20);
+    CopyTestDbFileL(KDb40);
+    CopyTestDbFileL(KDb60);
+    CopyTestDbFileL(KDb80);
+    CopyTestDbFileL(KDb105);
+    SetupDbArrayL();
+    
+    _LIT(KEmptyTextCriteriaErr, "An empty string as text criteria should not be allowed");
+    CDesCArray* dbList = new (ELeave) CDesCArrayFlat(8);
+    
+    CleanupStack::PushL(dbList);
+    
+    dbList->AppendL(KDb20);
+    dbList->AppendL(KDb40);
+    dbList->AppendL(KDb60);
+    dbList->AppendL(KDb80);
+    dbList->AppendL(KDb105);
+    
+    RemoveExtraCategoriesL();
+    
+    iLandmarksMultiDbSearch = CPosLmMultiDbSearch::NewL(*dbList);
+    
+    TInt err = KErrNone;
+    CPosLmCatNameCriteria* nameCriteria = CPosLmCatNameCriteria::NewLC();
+    
+    // Start by testing some error flows, returning KErrArgument
+    TRAP(err, iLandmarksMultiDbSearch->StartCategorySearchL(*nameCriteria, CPosLmCategoryManager::ECategorySortOrderNone)); 
+    AssertTrueSecL(err == KErrArgument, KEmptyTextCriteriaErr);
+
+    // Test empty string
+    nameCriteria->SetSearchPatternL(_L(""));   
+    TRAP(err, iLandmarksMultiDbSearch->StartCategorySearchL(*nameCriteria, CPosLmCategoryManager::ECategorySortOrderNone));
+    AssertTrueSecL(err == KErrArgument, KEmptyTextCriteriaErr);
+    CleanupStack::PopAndDestroy(nameCriteria);
+    
+    AppendCategorySearchResultsL();
+
+// Search synchronously
+    iLog->Log(_L("Testing search with criterias read from LmDbSearchResult.txt syncronously"));
+    SearchL(iCategorySearchResults, ESynchronous);
+
+    iLog->Log(_L("Testing search with sort order"));
+    SearchWithSortOrderL(iCategorySearchResults, ESynchronous);
+
+
+    iLog->Log(_L("Testing search with maximum nr of matches"));
+    SearchWithMaximumL(iCategorySearchResults, ESynchronous);
+
+
+// Search asynchronously
+    iLog->Log(_L("Testing search with criterias read from LmDbSearchResult.txt asyncronously"));
+    SearchL(iCategorySearchResults, EAsynchronous);
+
+    iLog->Log(_L("Testing search with sort order asynchronously"));
+    SearchWithSortOrderL(iCategorySearchResults, EAsynchronous);
+
+    iLog->Log(_L("Testing search with maximum nr of matches asynchronously"));
+    SearchWithMaximumL(iCategorySearchResults, EAsynchronous);
+
+// Search for added categories
+    iLog->Log(_L("Testing search after category has been added"));
+    SearchAfterAddedCategoryL();
+
+// Cancel search test
+    iLog->Log(_L("Testing category search and cancel"));    
+    SearchAndCancelL();
+
+    iLog->Log(_L("Testing category search and cancel in callback"));    
+    SearchAndCancelL(ETrue);
+
+    delete iDatabase;
+    iDatabase = NULL;
+    delete iLandmarksMultiDbSearch;
+    iLandmarksMultiDbSearch = NULL;
+    CPosLmDatabaseManager* dbMan = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(dbMan);
+    dbMan->SetDefaultDatabaseUriL(KDb20);
+    
+    iDatabase = CPosLandmarkDatabase::OpenL();
+    iLandmarksMultiDbSearch = CPosLmMultiDbSearch::NewL(*dbList);
+    // Do reset so that global categories are included
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    ExecuteAndDeleteLD(iDatabase->InitializeL());
+    CleanupStack::PushL(categoryManager);   
+    
+    CleanupStack::PopAndDestroy(categoryManager);
+
+    iLog->Log(_L("Testing search with global categories included, sync"));
+    SearchGlobalL(iCategorySearchResults, ETrue);
+
+    iLog->Log(_L("Testing search with global categories included, asyncronously"));
+    SearchGlobalL(iCategorySearchResults, EFalse);
+    
+    // Test to add the global categories to one more DB
+    delete iDatabase;
+    iDatabase = NULL;
+    delete iLandmarksMultiDbSearch;
+    iLandmarksMultiDbSearch = NULL;
+    dbMan->SetDefaultDatabaseUriL(KDb40);
+    CleanupStack::PopAndDestroy(dbMan);
+    
+    iDatabase = CPosLandmarkDatabase::OpenL();
+    iLandmarksMultiDbSearch = CPosLmMultiDbSearch::NewL(*dbList);
+    // Do reset so that global categories are included
+    CPosLmCategoryManager* categoryManager2 = CPosLmCategoryManager::NewL(*iDatabase);
+    ExecuteAndDeleteLD(iDatabase->InitializeL());
+    CleanupStack::PushL(categoryManager2);   
+    CleanupStack::PopAndDestroy(categoryManager2);
+    
+    iLog->Log(_L("Testing search with duplicate global categories included, sync"));
+    TestDuplicateGlobalCategoriesL(iCategorySearchResults, ETrue);
+    
+    iLog->Log(_L("Testing search with duplicate global categories included, async"));
+    TestDuplicateGlobalCategoriesL(iCategorySearchResults, EFalse);
+
+    RemoveGlobalCategoriesL();
+    CleanupStack::PopAndDestroy(dbList);
+
+    }
+
+// ---------------------------------------------------------
+// CPosTp125::SearchL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp125::SearchL(
+    const RPointerArray<CCategorySearchResult>& aSearchResults, 
+    TExecutionMode aExecutionMode)
+    {
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect when the search is performed");
+    _LIT(KNotFoundErr, "Id %d not found in parsed Lm search results when the search is performed syncronously");
+    
+    CPosLmDisplayData* displayData = CPosLmDisplayData::NewL();
+    CleanupStack::PushL(displayData);
+    iLandmarksMultiDbSearch->SetDisplayData(*displayData);
+    for(TInt i=0; i<aSearchResults.Count(); i++)
+        {   
+        CPosLmCatNameCriteria* nameCriteria = CPosLmCatNameCriteria::NewLC();
+        nameCriteria->SetSearchPatternL(aSearchResults[i]->TextCriteria());
+
+        iOperation = iLandmarksMultiDbSearch->StartCategorySearchL(*nameCriteria, CPosLmCategoryManager::ECategorySortOrderNone); 
+
+        // The execution flow
+        switch (aExecutionMode)
+            {
+            case ESynchronous:
+                ExecuteAndDeleteLD(iOperation);
+                break;
+            case EAsynchronous:
+                RunAsyncOperationLD(iOperation);
+                break;
+            }
+
+        
+        TInt matchesSum = 0;
+        for (TInt count = 0; count < 5; count++)
+            {
+            matchesSum += iLandmarksMultiDbSearch->NumOfMatches(count);
+            }
+            
+            
+        if ((TUint)(aSearchResults[i]->SearchResult()).Count() != matchesSum)
+            {
+           	iLog->Log(KNumOfMatchesErr);
+    		User::Leave(-1);
+            }
+            
+        // Test the display data:
+        TInt displayCount = displayData->Count();
+        
+        if (displayCount != matchesSum)
+            {
+            iLog->Log(KNumOfMatchesErr);
+    		User::Leave(-1);
+
+            }
+            
+        TInt count = 0;
+        TInt dbIndex = 0;
+        TInt categoryId = 0;
+        TPtrC categoryName;
+        TBuf<100> categoryName2;
+        _LIT(KErrCatMismatch, "Category wrong in display data");
+        _LIT(KErrorWrongType, "Display data doesn't indicate ECategoryItem when it should.");
+        
+        for (count = 0; count < displayCount; count++)
+            {
+            CPosLmDisplayItem& displayItem = displayData->DisplayItem(count);
+            
+            // Check that the item indicates that it contains a category
+            AssertTrueSecL(displayItem.DisplayItemType() == CPosLmDisplayItem::ECategoryItem, KErrorWrongType);
+            const CPosLandmarkCategory& displayCategory = displayItem.Category();
+            dbIndex = displayItem.DatabaseIndex();
+            categoryId = displayCategory.CategoryId();
+            
+            // Check that the db index is correct
+            AssertThatIdIsInCorrectDbL(dbIndex, categoryId);
+            
+            // Check that this match is correct
+            AssertTrueSecL(aSearchResults[i]->FindSearchResult(categoryId), KNotFoundErr, categoryId);
+            displayCategory.GetCategoryName(categoryName);
+            categoryName2 = (*iDbArray)[categoryId - 1]; // Compensate for 0-index
+            
+            // Check that the category name is correct
+            AssertTrueSecL(categoryName == categoryName2, KErrCatMismatch);
+            }
+        
+        
+        CPosLmItemIterator* iter = NULL;
+        
+        for (count = 0; count < 5; count++)
+            {
+            iter = iLandmarksMultiDbSearch->MatchIteratorL(count);
+            CleanupStack::PushL(iter);
+            
+            TPosLmItemId id = iter->NextL();
+            
+            while (id != KPosLmNullItemId)
+                {
+                AssertThatIdIsInCorrectDbL(count, id);
+                AssertTrueSecL(aSearchResults[i]->FindSearchResult(id), KNotFoundErr, id);
+                id = iter->NextL();            
+                }
+            CleanupStack::PopAndDestroy(iter);
+            iter = NULL;
+            }
+        
+        CleanupStack::PopAndDestroy(nameCriteria);
+        }
+        iLandmarksMultiDbSearch->UnsetDisplayData();
+        CleanupStack::PopAndDestroy(displayData);
+    }
+
+// ---------------------------------------------------------
+// CPosTp125::SearchWithSortOrderL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp125::SearchWithSortOrderL(
+    const RPointerArray<CCategorySearchResult>& aSearchResults, 
+    TExecutionMode aExecutionMode)
+    {
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect when the search is performed");
+    _LIT(KErrorInSorting, "Error in sorting");
+    
+    CPosLmCategoryManager::TCategorySortPref sortPref;
+    
+    CPosLmDisplayData* displayData = CPosLmDisplayData::NewL();
+    CleanupStack::PushL(displayData);
+    iLandmarksMultiDbSearch->SetDisplayData(*displayData);
+
+    for (TInt j=0;j<2;j++)
+        {
+        for(TInt i=0; i<aSearchResults.Count(); i++)
+            {   
+            CPosLmCatNameCriteria* nameCriteria = CPosLmCatNameCriteria::NewLC();
+            nameCriteria->SetSearchPatternL(aSearchResults[i]->TextCriteria());
+            
+            if (j==0) 
+                {
+                sortPref = CPosLmCategoryManager::ECategorySortOrderNameAscending;
+                iOperation = iLandmarksMultiDbSearch->StartCategorySearchL(*nameCriteria, sortPref);
+                }
+            else 
+                {
+                sortPref = CPosLmCategoryManager::ECategorySortOrderNameDescending;
+                iOperation = iLandmarksMultiDbSearch->StartCategorySearchL(*nameCriteria, sortPref);
+                }
+            
+            // The execution flow
+            switch (aExecutionMode)
+                {
+                case ESynchronous:
+                    ExecuteAndDeleteLD(iOperation);
+                    break;
+                case EAsynchronous:
+                    RunAsyncOperationLD(iOperation);
+                    break;
+                }
+                
+            TInt matchesSum = 0;
+            for (TInt count = 0; count < 5; count++)
+                {
+                matchesSum += iLandmarksMultiDbSearch->NumOfMatches(count);
+                }
+
+            if ((TUint)(aSearchResults[i]->SearchResult()).Count() != matchesSum)
+                {
+               	iLog->Log(KNumOfMatchesErr);
+    			User::Leave(-1);
+                }
+
+            TInt displayCount = displayData->Count();
+            
+            if (displayCount != matchesSum)
+                {
+                iLog->Log(KNumOfMatchesErr);
+    			User::Leave(-1);
+                }
+             
+            // Test the display data:
+            // Create a sorted list out of the search result
+            RArray<TPosLmItemId> searchResults = aSearchResults[i]->SearchResult();
+            // To avoid User-44 create a copy of the aSearchResults[i]
+            RArray<TPosLmItemId> searchResultsSorted;
+            CleanupClosePushL(searchResultsSorted);
+            
+            for (TInt kk=0;kk<searchResults.Count();kk++)
+                {
+                searchResultsSorted.Append(searchResults[kk]);
+                }
+            
+            CDesCArrayFlat* sortedArray = NULL;
+            
+            SortResultsL(searchResultsSorted, sortedArray);
+            CleanupStack::PopAndDestroy(); // searchResultsSorted
+            CleanupStack::PushL(sortedArray);
+            
+            if (sortPref == CPosLmCategoryManager::ECategorySortOrderNameDescending)
+                {
+                InvertArrayL(sortedArray);
+                }
+            
+            TInt count = 0;
+            TInt categoryId = 0;
+            TBuf<100> categoryName2;
+            TBuf<100> categoryName3;
+            
+            for (count = 0; count < displayCount; count++)
+                {
+                CPosLmDisplayItem& displayItem = displayData->DisplayItem(count);
+                const CPosLandmarkCategory& displayCategory = displayItem.Category();
+                categoryId = displayCategory.CategoryId();
+                categoryName2 = (*iDbArray)[categoryId - 1]; // Compensate for 0-index
+                categoryName3 = (*sortedArray)[count];
+                // Check that sort order is correct
+                AssertTrueSecL(categoryName3 == categoryName2, _L("Error in sorting"));
+                }
+                
+            CleanupStack::PopAndDestroy(sortedArray);   
+                
+            typedef RArray<TInt> myArrayType;
+            RArray<myArrayType> resultArray;
+            myArrayType array1;
+            myArrayType array2;
+            myArrayType array3;
+            myArrayType array4;
+            myArrayType array5;
+            
+            CleanupClosePushL(resultArray);
+            CleanupClosePushL(array1);
+            CleanupClosePushL(array2);
+            CleanupClosePushL(array3);
+            CleanupClosePushL(array4);
+            CleanupClosePushL(array5);
+            
+            if (sortPref == CPosLmCategoryManager::ECategorySortOrderNameAscending)
+                {                        
+                array1.AppendL(5);
+                array1.AppendL(4);
+                array1.AppendL(2);
+                array1.AppendL(3);
+                array1.AppendL(1);
+                
+                array2.AppendL(7);
+                array2.AppendL(13);
+                array2.AppendL(6);
+                array2.AppendL(11);
+                array2.AppendL(12);
+                array2.AppendL(10);
+                array2.AppendL(9);
+                array2.AppendL(14);
+                array2.AppendL(8);
+                
+                array3.AppendL(17);
+                array3.AppendL(18);
+                array3.AppendL(19);
+                array3.AppendL(16);
+                array3.AppendL(15);
+                array3.AppendL(20);
+                
+                array4.AppendL(23);
+                array4.AppendL(21);
+                array4.AppendL(22);
+                array4.AppendL(24);
+                
+                array5.AppendL(26);
+                array5.AppendL(25);
+                }
+            else
+                {
+                array1.AppendL(1);
+                array1.AppendL(3);
+                array1.AppendL(2);
+                array1.AppendL(4);
+                array1.AppendL(5);
+                
+                array2.AppendL(8);
+                array2.AppendL(14);
+                array2.AppendL(9);
+                array2.AppendL(10);
+                array2.AppendL(12);
+                array2.AppendL(11);
+                array2.AppendL(6);
+                array2.AppendL(13);
+                array2.AppendL(7);
+                
+                array3.AppendL(20);
+                array3.AppendL(15);
+                array3.AppendL(16);
+                array3.AppendL(19);
+                array3.AppendL(18);
+                array3.AppendL(17);
+                
+                array4.AppendL(24);
+                array4.AppendL(22);
+                array4.AppendL(21);
+                array4.AppendL(23);
+                
+                array5.AppendL(25);
+                array5.AppendL(26);
+                }
+            
+            resultArray.Append(array1);
+            resultArray.Append(array2);
+            resultArray.Append(array3);
+            resultArray.Append(array4);
+            resultArray.Append(array5);
+            
+            CPosLmItemIterator* iter = NULL;
+            
+            for (TInt dbCount = 0; dbCount < 5; dbCount++)
+                {
+                iter = iLandmarksMultiDbSearch->MatchIteratorL(dbCount);
+                CleanupStack::PushL(iter);
+                TPosLmItemId id = iter->NextL();
+                TInt itemCount = 0;
+                while (id != KPosLmNullItemId)
+                    {
+                    AssertThatIdIsInCorrectDbL(dbCount, id);
+                    // Check that sort order is correct:
+                    // Some elements will be missing after the search, so skip those.
+                    while (itemCount < resultArray[dbCount].Count()
+                           && resultArray[dbCount][itemCount] != id)
+                        {
+                        itemCount++;
+                        }   
+                    // Check that a match was found in the loop above.
+                    AssertTrueSecL(itemCount < resultArray[dbCount].Count(), KErrorInSorting);        
+                    id = iter->NextL();
+                    itemCount++;
+                    }
+                CleanupStack::PopAndDestroy(iter);
+                iter = NULL;
+                }
+            
+            CleanupStack::PopAndDestroy(6); // Arrays
+            CleanupStack::PopAndDestroy(nameCriteria);
+            }
+        }
+        iLandmarksMultiDbSearch->UnsetDisplayData();
+        CleanupStack::PopAndDestroy(displayData);
+    }
+    
+
+// ---------------------------------------------------------
+// CPosTp125::SearchWithMaximumL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp125::SearchWithMaximumL(
+    const RPointerArray<CCategorySearchResult>& aSearchResults, 
+    TExecutionMode aExecutionMode)
+    {
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect when SearchWithMaximumL is performed");
+    _LIT(KNumOfDisplayMatchesErr, "No. of matches for the display data is incorrect when SearchWithMaximumL is performed");
+    _LIT(KNotFoundErr, "Id %d not found in parsed Lm search results when the search is performed syncronously");
+
+    CPosLmCatNameCriteria* nameCriteria = CPosLmCatNameCriteria::NewLC();
+    
+    CPosLmDisplayData* displayData = CPosLmDisplayData::NewL();
+    CleanupStack::PushL(displayData);
+    iLandmarksMultiDbSearch->SetDisplayData(*displayData);
+    
+    // Set max nr of matches from 1 to 10 and check that correct nr of matches for each value
+    for (TInt j = 1; j <= 10; j++)
+        {
+        nameCriteria->SetSearchPatternL(_L("*"));
+        iLandmarksMultiDbSearch->SetMaxNumOfMatches(j);
+        iOperation = iLandmarksMultiDbSearch->StartCategorySearchL(*nameCriteria, CPosLmCategoryManager::ECategorySortOrderNone); 
+        
+        // The execution flow
+        switch (aExecutionMode)
+            {
+            case ESynchronous:
+                ExecuteAndDeleteLD(iOperation);
+                break;
+            case EAsynchronous:
+                RunAsyncOperationLD(iOperation);
+                break;
+            }
+        
+        TInt displayCount = displayData->Count();
+        
+        switch(j)
+            {
+            case 1:
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(0) == 1, KNumOfMatchesErr);
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(1) == 1, KNumOfMatchesErr);
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(2) == 1, KNumOfMatchesErr);
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(3) == 1, KNumOfMatchesErr);
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(4) == 1, KNumOfMatchesErr);
+            AssertTrueSecL(displayCount == 5, KNumOfDisplayMatchesErr);
+            break;
+            case 2:
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(0) == 2, KNumOfMatchesErr);
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(1) == 2, KNumOfMatchesErr);
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(2) == 2, KNumOfMatchesErr);
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(3) == 2, KNumOfMatchesErr);
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(4) == 2, KNumOfMatchesErr);
+            AssertTrueSecL(displayCount == 10, KNumOfDisplayMatchesErr);
+            break;
+            case 3:
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(0) == 3, KNumOfMatchesErr);
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(1) == 3, KNumOfMatchesErr);
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(2) == 3, KNumOfMatchesErr);
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(3) == 3, KNumOfMatchesErr);
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(4) == 2, KNumOfMatchesErr);
+            AssertTrueSecL(displayCount == 14, KNumOfDisplayMatchesErr);
+            break;
+            case 4:
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(0) == 4, KNumOfMatchesErr);
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(1) == 4, KNumOfMatchesErr);
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(2) == 4, KNumOfMatchesErr);
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(3) == 4, KNumOfMatchesErr);
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(4) == 2, KNumOfMatchesErr);
+            AssertTrueSecL(displayCount == 18, KNumOfDisplayMatchesErr);
+            break;
+            case 5:
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(0) == 5, KNumOfMatchesErr);
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(1) == 5, KNumOfMatchesErr);
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(2) == 5, KNumOfMatchesErr);
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(3) == 4, KNumOfMatchesErr);
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(4) == 2, KNumOfMatchesErr);
+            AssertTrueSecL(displayCount == 21, KNumOfDisplayMatchesErr);
+            break;
+            case 6:
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(0) == 5, KNumOfMatchesErr);
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(1) == 6, KNumOfMatchesErr);
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(2) == 6, KNumOfMatchesErr);
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(3) == 4, KNumOfMatchesErr);
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(4) == 2, KNumOfMatchesErr);
+            AssertTrueSecL(displayCount == 23, KNumOfDisplayMatchesErr);
+            break;
+            case 7:
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(0) == 5, KNumOfMatchesErr);
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(1) == 7, KNumOfMatchesErr);
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(2) == 6, KNumOfMatchesErr);
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(3) == 4, KNumOfMatchesErr);
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(4) == 2, KNumOfMatchesErr);
+            AssertTrueSecL(displayCount == 24, KNumOfDisplayMatchesErr);
+            break;
+            case 8:
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(0) == 5, KNumOfMatchesErr);
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(1) == 8, KNumOfMatchesErr);
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(2) == 6, KNumOfMatchesErr);
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(3) == 4, KNumOfMatchesErr);
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(4) == 2, KNumOfMatchesErr);
+            AssertTrueSecL(displayCount == 25, KNumOfDisplayMatchesErr);
+            break;
+            case 9:
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(0) == 5, KNumOfMatchesErr);
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(1) == 9, KNumOfMatchesErr);
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(2) == 6, KNumOfMatchesErr);
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(3) == 4, KNumOfMatchesErr);
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(4) == 2, KNumOfMatchesErr);
+            AssertTrueSecL(displayCount == 26, KNumOfDisplayMatchesErr);
+            break;
+            case 10:
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(0) == 5, KNumOfMatchesErr);
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(1) == 9, KNumOfMatchesErr);
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(2) == 6, KNumOfMatchesErr);
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(3) == 4, KNumOfMatchesErr);
+            AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(4) == 2, KNumOfMatchesErr);
+            AssertTrueSecL(displayCount == 26, KNumOfDisplayMatchesErr);
+            break;
+            default:
+            break;
+            }
+            
+        // Check that the DB:s actually contains correct data:
+        CPosLmItemIterator* iter = NULL;
+        
+        for (TInt count = 0; count < 5; count++)
+            {
+            iter = iLandmarksMultiDbSearch->MatchIteratorL(count);
+            CleanupStack::PushL(iter);
+            
+            TPosLmItemId id = iter->NextL();
+            
+            while (id != KPosLmNullItemId)
+                {
+                AssertThatIdIsInCorrectDbL(count, id);
+                // Use search result for position 0, should always be for *
+                AssertTrueSecL(aSearchResults[0]->FindSearchResult(id), KNotFoundErr, id);
+                id = iter->NextL();            
+                }
+            CleanupStack::PopAndDestroy(iter);
+            iter = NULL;
+            }    
+        }
+    
+    iLandmarksMultiDbSearch->UnsetDisplayData();
+    CleanupStack::PopAndDestroy(displayData);
+    CleanupStack::PopAndDestroy(nameCriteria);
+    }
+
+
+// ---------------------------------------------------------
+// CPosTp125::SearchAfterAddedCategoryL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp125::SearchAfterAddedCategoryL()
+    {
+    // _LIT(KNumOfMatchesErr, "No. of matches is incorrect when SearchAfterAddedCategoryL is performed");
+    _LIT(KCategoryNotFound, "Added category could not be found");
+    _LIT(KCategory, "StoraKoncernen");
+    
+    CPosLmDisplayData* displayData = CPosLmDisplayData::NewL();
+    CleanupStack::PushL(displayData);
+    iLandmarksMultiDbSearch->SetDisplayData(*displayData);
+
+    //iDatabase = CP
+    iDatabase = CPosLandmarkDatabase::OpenL(KDb40);
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+    CPosLmCatNameCriteria* nameCriteria = CPosLmCatNameCriteria::NewLC();
+
+    CPosLandmarkCategory* cat1 = CPosLandmarkCategory::NewLC();
+
+    // First do a search with wildcard
+    nameCriteria->SetSearchPatternL(_L("S*"));  
+    ExecuteAndDeleteLD(iLandmarksMultiDbSearch->StartCategorySearchL(*nameCriteria, CPosLmCategoryManager::ECategorySortOrderNone)); 
+
+    // Then add a new category with a name starting with S
+    cat1->SetCategoryNameL(KCategory);
+    TPosLmItemId categoryId = categoryManager->AddCategoryL(*cat1);
+    CleanupStack::PopAndDestroy(cat1);
+
+    // Then use do another search within the results of previous search
+    // should return Stadsbibliotek and Stadspark
+    nameCriteria->SetSearchPatternL(_L("St*"));
+    ExecuteAndDeleteLD(iLandmarksMultiDbSearch->StartCategorySearchL(*nameCriteria, CPosLmCategoryManager::ECategorySortOrderNone, ETrue)); 
+    
+    _LIT(KErrorNrOfMatchesRefined, "Wrong nr matches after refined search after adding a category.");
+    AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(0) == 0, KErrorNrOfMatchesRefined);
+    AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(1) == 1, KErrorNrOfMatchesRefined); // Stadsbibliotek
+    AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(2) == 0, KErrorNrOfMatchesRefined);
+    AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(3) == 1, KErrorNrOfMatchesRefined); // Stadspark
+    AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(4) == 0, KErrorNrOfMatchesRefined);
+    AssertTrueSecL(displayData->Count() == 2, KErrorNrOfMatchesRefined);
+    // Set a maximum number of matches, should return only one of Stadsbibliotek and Stadspark
+    iLandmarksMultiDbSearch->SetMaxNumOfMatches(1);
+
+    // Do another search just to see that it is possible to find the added category
+    nameCriteria->SetSearchPatternL(KCategory);
+    ExecuteAndDeleteLD(iLandmarksMultiDbSearch->StartCategorySearchL(*nameCriteria, CPosLmCategoryManager::ECategorySortOrderNone)); 
+
+    AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(0) == 0, KErrorNrOfMatchesRefined);
+    AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(1) == 1, KErrorNrOfMatchesRefined); // StoraKoncernen
+    AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(2) == 0, KErrorNrOfMatchesRefined);
+    AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(3) == 0, KErrorNrOfMatchesRefined);
+    AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(4) == 0, KErrorNrOfMatchesRefined);
+    AssertTrueSecL(displayData->Count() == 1, KErrorNrOfMatchesRefined);
+    
+    CPosLmItemIterator* iter = iLandmarksMultiDbSearch->MatchIteratorL(1);
+    CleanupStack::PushL(iter);
+    TPosLmItemId id = iter->NextL();
+    if (categoryId != id) 
+    {
+    	iLog->Log(KCategoryNotFound);
+    	User::Leave(-1);
+    }
+
+    // Remove added category
+    ExecuteAndDeleteLD(categoryManager->RemoveCategoryL(categoryId));
+
+    CleanupStack::PopAndDestroy(iter);
+    CleanupStack::PopAndDestroy(nameCriteria);
+    CleanupStack::PopAndDestroy(categoryManager);
+    delete iDatabase;
+    iDatabase = NULL;
+    
+    iLandmarksMultiDbSearch->UnsetDisplayData();
+    CleanupStack::PopAndDestroy(displayData);
+    }
+
+
+// ---------------------------------------------------------
+// CPosTp125::SearchGlobalL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp125::SearchGlobalL(const RPointerArray<CCategorySearchResult>& aSearchResults, const TBool& aSync)
+    {
+    iLog->Log(_L("SearchGlobalL"));
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect when SearchGlobalL is performed");
+
+    // Nr of global categories, defined in resource file
+    //const TInt KNrOfGlobalCategories = 8;
+
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+    CPosLmCatNameCriteria* nameCriteria = CPosLmCatNameCriteria::NewLC();
+    CPosLmCategoryManager::TCategorySortPref sortPref = CPosLmCategoryManager::ECategorySortOrderNameAscending;
+    
+    CPosLmDisplayData* displayData = CPosLmDisplayData::NewL();
+    CleanupStack::PushL(displayData);
+    iLandmarksMultiDbSearch->SetDisplayData(*displayData);
+    
+    for (TInt l=0;l<2;l++)
+    {
+        if (l==0) sortPref = CPosLmCategoryManager::ECategorySortOrderNameAscending;
+        else if (l==1) sortPref = CPosLmCategoryManager::ECategorySortOrderNameDescending;
+
+        // i=0 the first entry in aSearchResults should be wildcard "*"
+        TInt i = 0;
+        // First do a search with wildcard
+        nameCriteria->SetSearchPatternL(aSearchResults[i]->TextCriteria());
+        iOperation = iLandmarksMultiDbSearch->StartCategorySearchL(*nameCriteria, sortPref);
+        
+        // The asynchronous flow
+        if (aSync)
+        {
+            RunAsyncOperationLD(iOperation);
+        }
+        else
+        {
+            ExecuteAndDeleteLD(iOperation);
+        }
+        
+       
+	    SetupDbArrayL();
+                
+     iDbArray->Sort();
+        
+     if (sortPref == CPosLmCategoryManager::ECategorySortOrderNameDescending)
+        {
+            InvertArrayL(iDbArray);
+        }
+
+        //TUint expNr = (aSearchResults[i]->SearchResult()).Count() + KNrOfGlobalCategories;
+        TUint expNr = (aSearchResults[i]->SearchResult()).Count();
+        
+        
+        TInt matchesSum = 0;
+        for (TInt count = 0; count < 5; count++)
+            {
+            matchesSum += iLandmarksMultiDbSearch->NumOfMatches(count);
+            }
+       
+        if (expNr != matchesSum)
+            {
+            iLog->Log(KNumOfMatchesErr);
+    		 		User::Leave(-1);
+            }
+            
+        TInt displayCount = displayData->Count();
+        
+        if (displayCount != matchesSum)
+            {
+            iLog->Log(KNumOfMatchesErr);
+    				User::Leave(-1);
+            }
+        
+        TInt count = 0;
+        TBuf<100> categoryName2;
+        TPtrC categoryName;
+       	RPointerArray<CCategorySearchResult> searchResults;
+      
+        for (count = 0; count < displayCount; count++)
+            {
+            CPosLmDisplayItem& displayItem = displayData->DisplayItem(count);
+            const CPosLandmarkCategory& displayCategory = displayItem.Category();
+            displayCategory.GetCategoryName(categoryName);
+            categoryName2 = (*iDbArray)[count];
+            // Check that sort order is correct
+            AssertTrueSecL(categoryName == categoryName2, _L("Error in sorting"));
+            }
+
+        } // end for (TInt l=0 ...)
+        
+    iLandmarksMultiDbSearch->UnsetDisplayData();
+    CleanupStack::PopAndDestroy(displayData);
+    CleanupStack::PopAndDestroy(nameCriteria);
+    CleanupStack::PopAndDestroy(categoryManager);
+    iLog->Log(_L("SearchGlobalL Done"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp24::SearchAndCancelL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp125::SearchAndCancelL(const TBool& aInCallback)
+    {
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect when the search is performed");
+    _LIT(KCancelErr, "The search is canceled after progress has increased but no search result is found");
+
+    CPosLmDisplayData* displayData = CPosLmDisplayData::NewL();
+    CleanupStack::PushL(displayData);
+    iLandmarksMultiDbSearch->SetDisplayData(*displayData);
+    
+    // Test search with one criteria
+    const TInt KIndex=0;
+
+    CPosLmCatNameCriteria* nameCriteria = CPosLmCatNameCriteria::NewLC();
+    nameCriteria->SetSearchPatternL(iCategorySearchResults[KIndex]->TextCriteria());
+
+    if (aInCallback)
+        {
+        RunAsyncOperationAndCancelInCallbackLD(iLandmarksMultiDbSearch->StartCategorySearchL(
+                *nameCriteria, 
+                CPosLmCategoryManager::ECategorySortOrderNone, 
+                iCategorySearchResults[KIndex]->Redefined()));
+        }
+    else
+        {
+        RunAsyncOperationAndCancelLD(iLandmarksMultiDbSearch->StartCategorySearchL(
+                *nameCriteria, 
+                CPosLmCategoryManager::ECategorySortOrderNone, 
+                iCategorySearchResults[KIndex]->Redefined()));
+        }
+ 
+    
+    
+    if (aInCallback)
+        {
+        CPosLmItemIterator* iter0 = iLandmarksMultiDbSearch->MatchIteratorL(0);
+        CleanupStack::PushL(iter0);
+        CPosLmItemIterator* iter1 = iLandmarksMultiDbSearch->MatchIteratorL(1);
+        CleanupStack::PushL(iter1);
+        CPosLmItemIterator* iter2 = iLandmarksMultiDbSearch->MatchIteratorL(2);
+        CleanupStack::PushL(iter2);
+        CPosLmItemIterator* iter3 = iLandmarksMultiDbSearch->MatchIteratorL(3);
+        CleanupStack::PushL(iter3);
+        CPosLmItemIterator* iter4 = iLandmarksMultiDbSearch->MatchIteratorL(4);
+        CleanupStack::PushL(iter4);
+        
+        AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(0) == iter0->NumOfItemsL(), KNumOfMatchesErr);
+        AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(1) == iter1->NumOfItemsL(), KNumOfMatchesErr);
+        AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(2) == iter2->NumOfItemsL(), KNumOfMatchesErr);
+        AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(3) == iter3->NumOfItemsL(), KNumOfMatchesErr);
+        AssertTrueSecL(iLandmarksMultiDbSearch->NumOfMatches(4) == iter4->NumOfItemsL(), KNumOfMatchesErr);
+
+        AssertTrueSecL(displayData->Count() > 0, KNumOfMatchesErr);
+
+        AssertTrueSecL((iter0->NumOfItemsL() + 
+                        iter0->NumOfItemsL() + 
+                        iter0->NumOfItemsL() + 
+                        iter0->NumOfItemsL() + 
+                        iter0->NumOfItemsL()) == displayData->Count(), KCancelErr);
+             
+        CleanupStack::PopAndDestroy(5);
+        }
+        
+    
+        
+    CleanupStack::PopAndDestroy(nameCriteria);
+    iLandmarksMultiDbSearch->UnsetDisplayData();
+    CleanupStack::PopAndDestroy(displayData);
+    }
+    
+void CPosTp125::TestDuplicateGlobalCategoriesL(const RPointerArray<CCategorySearchResult>& aSearchResults, const TBool& aSync)
+    {
+    iLog->Log(_L("SearchGlobalL with duplicates"));
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect when SearchGlobalL with duplicates is performed");
+
+    // Nr of global categories, defined in resource file
+    //const TInt KNrOfGlobalCategories = 15 * 2;
+
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+    CPosLmCatNameCriteria* nameCriteria = CPosLmCatNameCriteria::NewLC();
+    CPosLmCategoryManager::TCategorySortPref sortPref = CPosLmCategoryManager::ECategorySortOrderNameAscending;
+    
+    CPosLmDisplayData* displayData = CPosLmDisplayData::NewL();
+    CleanupStack::PushL(displayData);
+    iLandmarksMultiDbSearch->SetDisplayData(*displayData);
+    
+    for (TInt l=0;l<2;l++)
+    {
+        if (l==0) sortPref = CPosLmCategoryManager::ECategorySortOrderNameAscending;
+        else if (l==1) sortPref = CPosLmCategoryManager::ECategorySortOrderNameDescending;
+
+        // i=0 the first entry in aSearchResults should be wildcard "*"
+        TInt i = 0;
+        // First do a search with wildcard
+        nameCriteria->SetSearchPatternL(aSearchResults[i]->TextCriteria());
+        iOperation = iLandmarksMultiDbSearch->StartCategorySearchL(*nameCriteria, sortPref);
+        
+        // The asynchronous flow
+        if (aSync)
+        {
+            RunAsyncOperationLD(iOperation);
+        }
+        else
+        {
+            ExecuteAndDeleteLD(iOperation);
+        }
+                
+        SetupDbArrayL();
+        
+        iDbArray->Sort();
+        
+        if (sortPref == CPosLmCategoryManager::ECategorySortOrderNameDescending)
+            {
+            InvertArrayL(iDbArray);
+            }
+
+        TUint expNr = (aSearchResults[i]->SearchResult()).Count();
+        
+        TInt matchesSum = 0;
+        for (TInt count = 0; count < 5; count++)
+            {
+            matchesSum += iLandmarksMultiDbSearch->NumOfMatches(count);
+            }
+        
+        if (expNr != matchesSum)
+            {
+            iLog->Log(KNumOfMatchesErr);
+    		User::Leave(-1);
+            }
+            
+        TInt displayCount = displayData->Count();
+        
+        if (displayCount != matchesSum)
+            {
+            iLog->Log(KNumOfMatchesErr);
+    		User::Leave(-1);
+            }
+        
+        TInt count = 0;
+        
+        TBuf<100> categoryName2;
+        TPtrC categoryName;
+        
+        for (count = 0; count < displayCount; count++)
+            {
+            CPosLmDisplayItem& displayItem = displayData->DisplayItem(count);
+            const CPosLandmarkCategory& displayCategory = displayItem.Category();
+            displayCategory.GetCategoryName(categoryName);
+            categoryName2 = (*iDbArray)[count];
+            // Check that sort order is correct
+            AssertTrueSecL(categoryName == categoryName2, _L("Error in sorting"));
+            }
+
+        } // end for (TInt l=0 ...)
+        
+    iLandmarksMultiDbSearch->UnsetDisplayData();
+    CleanupStack::PopAndDestroy(displayData);
+    CleanupStack::PopAndDestroy(nameCriteria);
+    CleanupStack::PopAndDestroy(categoryManager);
+    iLog->Log(_L("SearchGlobalL Done"));
+    }
+
+void CPosTp125::RemoveExtraCategoriesL()
+    {
+    TInt err = KErrNone;
+    iDatabase = CPosLandmarkDatabase::OpenL(KDb20);
+    
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());               
+       }       
+       
+    iLog->Log(_L(" Default database opened and initialised "));     
+    
+    CPosLmCategoryManager* catMan = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(catMan);
+    
+    ExecuteAndDeleteLD(catMan->ResetGlobalCategoriesL());    
+    
+    RemoveCategoryL(catMan, 6);
+    RemoveCategoryL(catMan, 7);
+    RemoveCategoryL(catMan, 8);
+    RemoveCategoryL(catMan, 9);
+    RemoveCategoryL(catMan, 10);
+    RemoveCategoryL(catMan, 11);
+    RemoveCategoryL(catMan, 12);
+    RemoveCategoryL(catMan, 13);
+    RemoveCategoryL(catMan, 14);
+    RemoveCategoryL(catMan, 15);
+    RemoveCategoryL(catMan, 16);
+    RemoveCategoryL(catMan, 17);
+    RemoveCategoryL(catMan, 18);
+    RemoveCategoryL(catMan, 19);
+    RemoveCategoryL(catMan, 20);
+    RemoveCategoryL(catMan, 21);
+    RemoveCategoryL(catMan, 22);
+    RemoveCategoryL(catMan, 23);
+    RemoveCategoryL(catMan, 24);
+    RemoveCategoryL(catMan, 25);
+    RemoveCategoryL(catMan, 26);
+    
+    
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(3000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(6000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(9000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(12000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(15000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(18000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(21000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(24000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(27000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(30000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(33000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(36000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(39000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(42000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(45000));
+    
+    CleanupStack::PopAndDestroy(catMan);
+    delete iDatabase;
+    iDatabase = NULL;
+     
+    
+    iDatabase = CPosLandmarkDatabase::OpenL(KDb40);
+    if ( iDatabase->IsInitializingNeeded() )
+        {
+        TRAP( err, ExecuteAndDeleteLD( iDatabase->InitializeL() ) );
+        AssertTrueSecL( err == KErrNone, _L("Init db failed"));
+        }
+    catMan = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(catMan);
+    
+    
+    RemoveCategoryL(catMan, 1);
+    RemoveCategoryL(catMan, 2);
+    RemoveCategoryL(catMan, 3);
+    RemoveCategoryL(catMan, 4);
+    RemoveCategoryL(catMan, 5);
+    // Existing categories here
+    RemoveCategoryL(catMan, 15);
+    RemoveCategoryL(catMan, 16);
+    RemoveCategoryL(catMan, 17);
+    RemoveCategoryL(catMan, 18);
+    RemoveCategoryL(catMan, 19);
+    RemoveCategoryL(catMan, 20);
+    RemoveCategoryL(catMan, 21);
+    RemoveCategoryL(catMan, 22);
+    RemoveCategoryL(catMan, 23);
+    RemoveCategoryL(catMan, 24);
+    RemoveCategoryL(catMan, 25);
+    RemoveCategoryL(catMan, 26);
+
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(3000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(6000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(9000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(12000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(15000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(18000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(21000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(24000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(27000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(30000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(33000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(36000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(39000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(42000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(45000));
+    
+    CleanupStack::PopAndDestroy(catMan);
+    delete iDatabase;
+    iDatabase = NULL;
+    
+    iDatabase = CPosLandmarkDatabase::OpenL(KDb60);
+    if (  iDatabase->IsInitializingNeeded() )
+        {
+        TRAP( err, ExecuteAndDeleteLD( iDatabase->InitializeL() ) );
+        AssertTrueSecL( err == KErrNone, _L("Init db failed"));
+        }
+    catMan = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(catMan);
+    
+    RemoveCategoryL(catMan, 1);
+    RemoveCategoryL(catMan, 2);
+    RemoveCategoryL(catMan, 3);
+    RemoveCategoryL(catMan, 4);
+    RemoveCategoryL(catMan, 5);
+    RemoveCategoryL(catMan, 6);
+    RemoveCategoryL(catMan, 7);
+    RemoveCategoryL(catMan, 8);
+    RemoveCategoryL(catMan, 9);
+    RemoveCategoryL(catMan, 10);
+    RemoveCategoryL(catMan, 11);
+    RemoveCategoryL(catMan, 12);
+    RemoveCategoryL(catMan, 13);
+    RemoveCategoryL(catMan, 14);
+    // Existing categories here
+    RemoveCategoryL(catMan, 21);
+    RemoveCategoryL(catMan, 22);
+    RemoveCategoryL(catMan, 23);
+    RemoveCategoryL(catMan, 24);
+    RemoveCategoryL(catMan, 25);
+    RemoveCategoryL(catMan, 26);
+    
+    
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(3000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(6000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(9000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(12000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(15000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(18000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(21000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(24000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(27000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(30000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(33000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(36000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(39000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(42000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(45000));
+    
+    CleanupStack::PopAndDestroy(catMan);
+    delete iDatabase;
+    iDatabase = NULL;
+    
+    iDatabase = CPosLandmarkDatabase::OpenL(KDb80);
+    if ( iDatabase->IsInitializingNeeded() )
+        {
+        TRAP( err, ExecuteAndDeleteLD( iDatabase->InitializeL() ) );
+        AssertTrueSecL( err == KErrNone, _L("Init db failed"));
+        }
+    catMan = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(catMan);
+    
+    RemoveCategoryL(catMan, 1);
+    RemoveCategoryL(catMan, 2);
+    RemoveCategoryL(catMan, 3);
+    RemoveCategoryL(catMan, 4);
+    RemoveCategoryL(catMan, 5);
+    RemoveCategoryL(catMan, 6);
+    RemoveCategoryL(catMan, 7);
+    RemoveCategoryL(catMan, 8);
+    RemoveCategoryL(catMan, 9);
+    RemoveCategoryL(catMan, 10);
+    RemoveCategoryL(catMan, 11);
+    RemoveCategoryL(catMan, 12);
+    RemoveCategoryL(catMan, 13);
+    RemoveCategoryL(catMan, 14);
+    RemoveCategoryL(catMan, 15);
+    RemoveCategoryL(catMan, 16);
+    RemoveCategoryL(catMan, 17);
+    RemoveCategoryL(catMan, 18);
+    RemoveCategoryL(catMan, 19);
+    RemoveCategoryL(catMan, 20);
+    // Existing categories here
+    RemoveCategoryL(catMan, 25);
+    RemoveCategoryL(catMan, 26);
+    
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(3000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(6000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(9000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(12000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(15000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(18000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(21000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(24000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(27000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(30000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(33000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(36000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(39000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(42000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(45000));
+    
+    CleanupStack::PopAndDestroy(catMan);
+    delete iDatabase;
+    iDatabase = NULL;
+    
+    iDatabase = CPosLandmarkDatabase::OpenL(KDb105);
+    if ( iDatabase->IsInitializingNeeded() )
+        {
+        TRAP( err, ExecuteAndDeleteLD( iDatabase->InitializeL() ) );
+        AssertTrueSecL( err == KErrNone, _L("Init db failed"));
+        }
+    catMan = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(catMan);
+    
+    RemoveCategoryL(catMan, 1);
+    RemoveCategoryL(catMan, 2);
+    RemoveCategoryL(catMan, 3);
+    RemoveCategoryL(catMan, 4);
+    RemoveCategoryL(catMan, 5);
+    RemoveCategoryL(catMan, 6);
+    RemoveCategoryL(catMan, 7);
+    RemoveCategoryL(catMan, 8);
+    RemoveCategoryL(catMan, 9);
+    RemoveCategoryL(catMan, 10);
+    RemoveCategoryL(catMan, 11);
+    RemoveCategoryL(catMan, 12);
+    RemoveCategoryL(catMan, 13);
+    RemoveCategoryL(catMan, 14);
+    RemoveCategoryL(catMan, 15);
+    RemoveCategoryL(catMan, 16);
+    RemoveCategoryL(catMan, 17);
+    RemoveCategoryL(catMan, 18);
+    RemoveCategoryL(catMan, 19);
+    RemoveCategoryL(catMan, 20);
+    RemoveCategoryL(catMan, 21);
+    RemoveCategoryL(catMan, 22);
+    RemoveCategoryL(catMan, 23);
+    RemoveCategoryL(catMan, 24);
+
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(3000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(6000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(9000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(12000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(15000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(18000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(21000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(24000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(27000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(30000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(33000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(36000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(39000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(42000));
+    RemoveCategoryL(catMan, catMan->GetGlobalCategoryL(45000));
+    
+    CleanupStack::PopAndDestroy(catMan);
+    delete iDatabase;
+    iDatabase = NULL;
+    }
+    
+
+ void CPosTp125::RemoveCategoryL(CPosLmCategoryManager* aCatMan,
+                                const TPosLmItemId aCatId)
+    {    
+    ExecuteAndDeleteLD(aCatMan->RemoveCategoryL(aCatId));
+    }
+    
+void CPosTp125::AssertThatIdIsInCorrectDbL(TInt aDbIndex, TInt aId)
+    {
+    _LIT(KErrorWrongDb, "Id returned from wrong db");
+    _LIT(KIllegalIndex, "Illegal index sent to AssertThatIdIsInCorrectDbL()");
+    switch(aDbIndex)
+        {
+        case 0:
+        AssertTrueSecL(aId >= 1 && aId <= 5, KErrorWrongDb);
+        break;
+        case 1:
+        AssertTrueSecL(aId >= 6 && aId <= 14, KErrorWrongDb);
+        break;
+        case 2:
+        AssertTrueSecL(aId >= 15 && aId <= 20, KErrorWrongDb);
+        break;
+        case 3:
+        AssertTrueSecL(aId >= 21 && aId <= 24, KErrorWrongDb);
+        break;
+        case 4:
+        AssertTrueSecL(aId >= 25 && aId <= 26, KErrorWrongDb);
+        break;
+        default:
+        iLog->Log(KIllegalIndex);
+    	User::Leave(-1);
+        break;        
+        
+        }
+    }
+    
+void CPosTp125::SetupDbArrayL()
+    {
+    iDbArray = NULL;
+    // This array is used when testing display data.
+    iDbArray = new(ELeave) CDesCArrayFlat(8);
+    
+    // Build the array so that the array index is equivalent with the db index, except that this array is 0-based.
+    iDbArray->AppendL(KPizzeria);
+    iDbArray->AppendL(KHambergerbar);
+    iDbArray->AppendL(KKinarestaurang);
+    iDbArray->AppendL(KGaraget);
+    iDbArray->AppendL(KBilverkstad);
+    iDbArray->AppendL(KPastaRestaurang);
+    iDbArray->AppendL(KBilia);
+    iDbArray->AppendL(KVolksWagen);
+    iDbArray->AppendL(KTaxiGoteborg);
+    iDbArray->AppendL(KTaxi);
+    iDbArray->AppendL(KStadsbibliotek);
+    iDbArray->AppendL(KSystembolag);
+    iDbArray->AppendL(KNokiKontor);
+    iDbArray->AppendL(KTietoEnatorKontor);
+    iDbArray->AppendL(KThaiRestaurang);
+    iDbArray->AppendL(KMcDonalds);
+    iDbArray->AppendL(KBurgerKing);
+    iDbArray->AppendL(KFrisor);
+    iDbArray->AppendL(KHunddagis);
+    iDbArray->AppendL(KVeterinar);
+    iDbArray->AppendL(KKyrkogard);
+    iDbArray->AppendL(KMuseum);
+    iDbArray->AppendL(KDagis);
+    iDbArray->AppendL(KStadspark);
+    iDbArray->AppendL(KSjukhus);
+    iDbArray->AppendL(KLakare);
+    }
+    
+void CPosTp125::SortResultsL(RArray<TPosLmItemId>& aArray,
+                             CDesCArrayFlat*& aResultArray)
+    {
+    TInt count = 0;
+    aResultArray = new(ELeave) CDesCArrayFlat(8);
+    CleanupStack::PushL(aResultArray);
+    for (count = 0 ; count < aArray.Count(); count++)
+        {
+        TInt id = aArray[count];
+        aResultArray->AppendL((*iDbArray)[id - 1]); // compensate for 0-based array
+        }
+        
+    aResultArray->Sort();
+    CleanupStack::Pop(aResultArray);
+    }
+    
+void CPosTp125::InvertArrayL(CDesCArrayFlat*& aArray)
+    {
+    TInt maxCount = aArray->Count();
+    TInt count = 0;
+    
+    CDesCArrayFlat* copyArray = new(ELeave) CDesCArrayFlat(8);
+    CleanupStack::PushL(copyArray);
+    
+    for (count = 0; count < maxCount; count++)
+        {
+        copyArray->AppendL((*aArray)[count]);
+        }
+        
+    aArray->Reset();
+    for (count = 0; count < maxCount; count++)
+        {
+        aArray->AppendL((*copyArray)[maxCount - count - 1]);
+        }
+        
+    CleanupStack::PopAndDestroy(copyArray);
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp126.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,452 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp126.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLmMultiDbSearch.h> 
+#include <EPos_CPosLmTextCriteria.h>
+#include <EPos_CPosLmCatNameCriteria.h>
+#include <EPos_CPosLmAreaCriteria.h>
+#include <EPos_CPosLmCategoryCriteria.h>
+#include <EPos_CPosLmCompositeCriteria.h>
+#include <EPos_CPosLmIdListCriteria.h>
+#include <EPos_CPosLmNearestCriteria.h>
+#include <EPos_CPosLmSearchCriteria.h>
+#include <EPos_TPosLMSortPref.h>
+#include <EPos_CPosLmDatabaseManager.h>
+#include "FT_LandmarkConstants.h"
+#include <EPos_CPosLandmarkSearch.h>
+//#include <ss_std.h>
+
+     
+// CONSTANTS
+_LIT(KWildcard, "*");
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp126::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp126::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+    delete iLandmarksMultiDbSearch;
+    iLandmarksMultiDbSearch = NULL;
+    
+    iThread.Close();
+    }
+
+// ---------------------------------------------------------
+// CPosTp126::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp126::StartL()
+    {
+    RemoveAllLmDatabasesL();
+    CopyTestDbFileL(KDb20);
+    CopyTestDbFileL(KDb40);
+    CopyTestDbFileL(KDb60);
+    CopyTestDbFileL(KDb80);
+    CopyTestDbFileL(KDb105);
+    
+    CDesCArray* dbList = new (ELeave) CDesCArrayFlat(8);
+    CleanupStack::PushL(dbList);
+    dbList->AppendL(KDb20);
+    dbList->AppendL(KDb40);
+    dbList->AppendL(KDb60);
+    dbList->AppendL(KDb80);
+    dbList->AppendL(KDb105);
+    
+    iLandmarksMultiDbSearch = CPosLmMultiDbSearch::NewL(*dbList);
+    TInt err = KErrNone;
+    
+    // Test that a 'use previous matches' search doesn't work in the first search.
+    CPosLmTextCriteria* lmtextCriteria = CPosLmTextCriteria::NewLC();
+    lmtextCriteria->SetTextL(KWildcard);
+    TPosLmSortPref sortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending); 
+    TRAP(err, ExecuteAndDeleteLD(iLandmarksMultiDbSearch->StartLandmarkSearchL(*lmtextCriteria,
+                                                                               sortPref,
+                                                                               ETrue)));
+                                                                               
+    _LIT(KErrorWrongCodePreviousMatches, "Wrong error code for searching in previous matches when there are no previous matches");                                       
+    AssertTrueSecL(err == KErrArgument, KErrorWrongCodePreviousMatches, err);
+    
+    // Test that a 'use previous matches' search doesn't work in the first search. (category search)
+    CPosLmCategoryManager::TCategorySortPref sortPrefCat = CPosLmCategoryManager::ECategorySortOrderNameAscending;
+    CPosLmCatNameCriteria* nameCriteriaCat = CPosLmCatNameCriteria::NewLC();
+    nameCriteriaCat->SetSearchPatternL(KWildcard);
+    TRAP(err, ExecuteAndDeleteLD(iLandmarksMultiDbSearch->StartCategorySearchL(*nameCriteriaCat,
+                                                                               sortPrefCat,
+                                                                               ETrue)));
+    _LIT(KErrorWrongCodePreviousMatchesCat, "Wrong error code for searching in previous matches when there are no previous matches (categories)");                                       
+    AssertTrueSecL(err == KErrArgument, KErrorWrongCodePreviousMatchesCat, err);
+    
+    CleanupStack::PopAndDestroy(nameCriteriaCat);
+    
+    // Check that only correct criteria works with category searches:
+    CPosLmAreaCriteria* areaCriteria = CPosLmAreaCriteria::NewLC(5,5,5,5);
+    CPosLmCatNameCriteria* nameCriteria = CPosLmCatNameCriteria::NewLC();
+    CPosLmCompositeCriteria* compCriteria =
+      CPosLmCompositeCriteria::NewLC(CPosLmCompositeCriteria::ECompositionAND);
+    CPosLmIdListCriteria* idListCriteria = CPosLmIdListCriteria::NewLC();
+    CPosLmNearestCriteria* nearestCriteria = CPosLmNearestCriteria::NewLC(TCoordinate(10,10));
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+    CPosLmCategoryCriteria* catCriteria = CPosLmCategoryCriteria::NewLC();
+    nameCriteria->SetSearchPatternL(KWildcard);
+    RArray<TPosLmItemId> idArray;
+    CleanupClosePushL(idArray);
+    idArray.Append(3);
+    idArray.Append(4);
+    idListCriteria->SetLandmarkIdsL(idArray);
+    textCriteria->SetTextL(KWildcard);
+    catCriteria->SetCategoryNameL(KWildcard);
+    textCriteria->SetTextL(KWildcard);
+    
+    _LIT(KErrorWrongCodeForUnsupportedCriteria,"Wrong error code for unsupported criteria in category search");
+    TRAP(err, ExecuteAndDeleteLD(iLandmarksMultiDbSearch->StartCategorySearchL(*catCriteria,sortPrefCat)));
+    AssertTrueSecL(err == KErrArgument, KErrorWrongCodeForUnsupportedCriteria, err);
+    TRAP(err, ExecuteAndDeleteLD(iLandmarksMultiDbSearch->StartCategorySearchL(*textCriteria,sortPrefCat)));
+    AssertTrueSecL(err == KErrArgument, KErrorWrongCodeForUnsupportedCriteria, err);
+    TRAP(err, ExecuteAndDeleteLD(iLandmarksMultiDbSearch->StartCategorySearchL(*areaCriteria,sortPrefCat)));
+    AssertTrueSecL(err == KErrArgument, KErrorWrongCodeForUnsupportedCriteria, err);
+    TRAP(err, ExecuteAndDeleteLD(iLandmarksMultiDbSearch->StartCategorySearchL(*compCriteria,sortPrefCat)));
+    // Composite is not supported in category search
+    AssertTrueSecL(err == KErrNotSupported, KErrorWrongCodeForUnsupportedCriteria, err);
+    TRAP(err, ExecuteAndDeleteLD(iLandmarksMultiDbSearch->StartCategorySearchL(*idListCriteria,sortPrefCat)));
+    AssertTrueSecL(err == KErrArgument, KErrorWrongCodeForUnsupportedCriteria, err);
+    TRAP(err, ExecuteAndDeleteLD(iLandmarksMultiDbSearch->StartCategorySearchL(*nearestCriteria,sortPrefCat)));
+    AssertTrueSecL(err == KErrArgument, KErrorWrongCodeForUnsupportedCriteria, err);
+    
+    // This should not leave:
+    ExecuteAndDeleteLD(iLandmarksMultiDbSearch->StartCategorySearchL(*nameCriteria,sortPrefCat));
+    
+    // Start a search and test that a new search cannot start until it is finished:
+    CPosLmOperation* op = iLandmarksMultiDbSearch->StartLandmarkSearchL(*lmtextCriteria,sortPref);
+    CleanupStack::PushL(op);
+    TRAP(err, iLandmarksMultiDbSearch->StartLandmarkSearchL(*lmtextCriteria,sortPref));
+    _LIT(KErrorWrongCodeForInUse, "Wrong error code when testing 'in use' for multi db searches.");
+    AssertTrueSecL(err == KErrInUse, KErrorWrongCodeForInUse, err);
+    
+    // Check that a new db list cannot be set during a search.
+    TRAP(err,iLandmarksMultiDbSearch->SetDatabasesToSearchL(*dbList));
+    _LIT(KErrorWrongCodeForInUseSetDB, "Wrong error code when testing 'in use' for SetDatabasesToSearchL.");
+    AssertTrueSecL(err == KErrInUse, KErrorWrongCodeForInUseSetDB, err);
+    TRAP(err, iLandmarksMultiDbSearch->StartCategorySearchL(*nameCriteria,sortPrefCat));
+    ExecuteAndDeleteLD(op);
+    CleanupStack::Pop(op);
+    AssertTrueSecL(err == KErrInUse, KErrorWrongCodeForInUse, err);
+    
+    // Start a category search and test that a new search cannot start until it is finished:
+    op = iLandmarksMultiDbSearch->StartCategorySearchL(*nameCriteria,sortPrefCat);
+    CleanupStack::PushL(op);
+    TRAP(err, iLandmarksMultiDbSearch->StartCategorySearchL(*nameCriteria,sortPrefCat));
+    AssertTrueSecL(err == KErrInUse, KErrorWrongCodeForInUse, err);
+    TRAP(err, iLandmarksMultiDbSearch->StartLandmarkSearchL(*lmtextCriteria,sortPref));
+    ExecuteAndDeleteLD(op);
+    CleanupStack::Pop(op);
+    AssertTrueSecL(err == KErrInUse, KErrorWrongCodeForInUse, err);
+    
+    // Test that an id list criteria cannot be used.
+    TRAP(err, ExecuteAndDeleteLD(iLandmarksMultiDbSearch->StartLandmarkSearchL(*idListCriteria,
+                                                                               sortPref)));
+    _LIT(KErrorWrongCodeForIdListCriteria, "Wrong error code for id list criteria.");
+    AssertTrueSecL(err == KErrArgument, KErrorWrongCodeForIdListCriteria, err);
+    
+    CleanupStack::PopAndDestroy(); // idArray
+    CleanupStack::PopAndDestroy(catCriteria);
+    CleanupStack::PopAndDestroy(textCriteria);
+    CleanupStack::PopAndDestroy(nearestCriteria);
+    CleanupStack::PopAndDestroy(idListCriteria);
+    CleanupStack::PopAndDestroy(compCriteria);
+    CleanupStack::PopAndDestroy(nameCriteria);
+    CleanupStack::PopAndDestroy(areaCriteria);
+    
+    
+    ///////////////////////////////////////////////////////////////////////////
+    // Panic tests ////////////////////////////////////////////////////////////
+    ///////////////////////////////////////////////////////////////////////////
+    
+    //Set max nr of matches to zero:
+    iStep = EStepZeroMaxMatches;
+    iExpectedPanicCode = EPosLmInvalidArgument;
+    ResumeThreadAndVerifyExitL();
+
+    // Set max nr of matches to a negative value:
+    iStep = EStepNegativeMaxMatches;
+    iExpectedPanicCode = EPosLmInvalidArgument;
+    ResumeThreadAndVerifyExitL();
+    
+    //Set max nr of matches to constant KPosLmMaxNumOfMatchesUnlimited:
+    // This is allowed so we use our own panic code to verify that method 
+    // was correctly returned
+    iStep = EStepUnlimitedMaxMatches;
+    iExpectedPanicCode = (TPositionLandmarksClientPanic)567;
+    ResumeThreadAndVerifyExitL();
+    
+    // Invalid index to DatabaseUriPtr method:
+    iStep = EStepOutOfBoundsDatabaseUriPtr;
+    iExpectedPanicCode = EPosInvalidIndex;
+    ResumeThreadAndVerifyExitL();
+    
+    // Invalid index for GetSearchError:
+    iStep = EStepOutOfBoundsGetSearchError;
+    iExpectedPanicCode = EPosInvalidIndex;
+    ResumeThreadAndVerifyExitL();
+    
+    // Invalid TPosLmSortPref
+    iStep = EStepIllegalSortPrefLMa;
+    iExpectedPanicCode = EPosInvalidEnumValue;
+    ResumeThreadAndVerifyExitL();
+    
+    // Invalid TPosLmSortPref
+    iStep = EStepIllegalSortPrefLMb;
+    iExpectedPanicCode = EPosInvalidEnumValue;
+    ResumeThreadAndVerifyExitL();
+    
+    // Invalid TPosLmSortPref
+    iStep = EStepIllegalSortPrefLMc;
+    iExpectedPanicCode = EPosNoneOrMultipleLandmarkAttributeSet;
+    ResumeThreadAndVerifyExitL();
+    
+    // Invalid TPosLmSortPref
+    iStep = EStepIllegalSortPrefLMd;
+    iExpectedPanicCode = EPosNoneOrMultipleLandmarkAttributeSet;
+    ResumeThreadAndVerifyExitL();
+    
+    // Invalid TPosLmSortPref
+    iStep = EStepIllegalSortPrefCat;
+    iExpectedPanicCode = EPosInvalidEnumValue;
+    ResumeThreadAndVerifyExitL();
+    
+    // Invalid index for MatchIteratorL:
+    iStep = EStepTooBigValueMatchIteratorL;
+    iExpectedPanicCode = EPosInvalidIndex;
+    ResumeThreadAndVerifyExitL();
+    
+    // Invalid index for NumOfMatches:
+    iStep = EStepTooBigValueNumOfMatches;
+    iExpectedPanicCode = EPosInvalidIndex;
+    ResumeThreadAndVerifyExitL();
+    
+    // Test LandmarkSearch with NULL search criteria
+    iStep = EStepNULLSearch1;
+    iExpectedPanicCode = (TPositionLandmarksClientPanic)3; // KernExec-3
+    ResumeThreadAndVerifyExitL();
+    
+    // Test LandmarkSearch with NULL search criteria
+    iStep = EStepNULLSearch2;
+    iExpectedPanicCode = (TPositionLandmarksClientPanic)3; // KernExec-3
+    ResumeThreadAndVerifyExitL();
+    
+    // Test CategorySearch with NULL search criteria
+    iStep = EStepNULLSearch3;
+    iExpectedPanicCode = (TPositionLandmarksClientPanic)3; // KernExec-3
+    ResumeThreadAndVerifyExitL();
+    
+    // Test LandmarkSearch with Databases to search with NULL value
+    iStep = EStepNULLSearch4;
+    iExpectedPanicCode = (TPositionLandmarksClientPanic)3; // KernExec-3
+    ResumeThreadAndVerifyExitL();
+    
+    CleanupStack::PopAndDestroy(lmtextCriteria);
+    CleanupStack::PopAndDestroy(dbList);
+    }
+    
+// ---------------------------------------------------------
+// CPosTp126::RunPanicTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+void CPosTp126::RunPanicTestL(TAny* aData)
+    {
+    CPosTp126* self = reinterpret_cast<CPosTp126*>(aData);
+    
+    CDesCArray* dbList = new (ELeave) CDesCArrayFlat(8);
+    CleanupStack::PushL(dbList);
+    dbList->AppendL(KDb20);
+    dbList->AppendL(KDb40);
+    dbList->AppendL(KDb60);
+    dbList->AppendL(KDb80);
+    dbList->AppendL(KDb105);
+    
+    CPosLmTextCriteria* textCriteria = NULL;
+    CPosLmMultiDbSearch* multiSearch = CPosLmMultiDbSearch::NewL(*dbList);
+    switch(self->iStep)
+        {
+        case EStepZeroMaxMatches:
+            // Not allowed to set 0 number of matches
+            multiSearch->SetMaxNumOfMatches(0);
+        break;
+        case EStepUnlimitedMaxMatches:
+            multiSearch->SetMaxNumOfMatches(KPosLmMaxNumOfMatchesUnlimited);
+            User::Panic(_L("567"), 567);
+        break;
+        case EStepNegativeMaxMatches:
+        multiSearch->SetMaxNumOfMatches(-10);
+        break;
+        case EStepOutOfBoundsDatabaseUriPtr:
+            multiSearch->DatabaseUriPtr(6);
+        break;
+        case EStepOutOfBoundsGetSearchError:
+            textCriteria = CPosLmTextCriteria::NewLC();
+            textCriteria->SetTextL(KWildcard);
+            multiSearch->SetMaxNumOfMatches(3);
+            ExecuteAndDeleteLD(multiSearch->StartLandmarkSearchL(*textCriteria));
+            TInt errors = multiSearch->NumOfSearchErrors();
+            CPosLmMultiDbSearch::TSearchError searchError;
+            multiSearch->GetSearchError(errors + 2, searchError); // too large, should panic
+            CleanupStack::PopAndDestroy(textCriteria);
+        break;
+        case EStepTooBigValueMatchIteratorL:
+            textCriteria = CPosLmTextCriteria::NewLC();
+            textCriteria->SetTextL(KWildcard);
+            ExecuteAndDeleteLD(multiSearch->StartLandmarkSearchL(*textCriteria));
+            multiSearch->MatchIteratorL(6); // Panic here
+            CleanupStack::PopAndDestroy(textCriteria);
+        break;
+        case EStepTooBigValueNumOfMatches:
+            textCriteria = CPosLmTextCriteria::NewLC();
+            textCriteria->SetTextL(KWildcard);
+            ExecuteAndDeleteLD(multiSearch->StartLandmarkSearchL(*textCriteria));
+            multiSearch->NumOfMatches(6); // Panic here
+            CleanupStack::PopAndDestroy(textCriteria);
+        break;
+        case EStepIllegalSortPrefLMa:
+            TPosLmSortPref sortPrefa(CPosLandmark::ELandmarkName, 
+                                    (TPosLmSortPref::TSortOrder)4321);
+        break;
+        case EStepIllegalSortPrefLMb:
+            TPosLmSortPref sortPrefb(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+            sortPrefb.SetSortByLandmarkAttribute(CPosLandmark::ELandmarkName,
+                                                 (TPosLmSortPref::TSortOrder)4321); // Panic here
+        break;
+        case EStepIllegalSortPrefLMc:
+            TPosLmSortPref sortPrefc(0, TPosLmSortPref::EAscending);
+        break;
+        case EStepIllegalSortPrefLMd:
+            TPosLmSortPref sortPrefd(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+            sortPrefd.SetSortByLandmarkAttribute(0, TPosLmSortPref::EAscending);
+        case EStepIllegalSortPrefCat:
+            CPosLmCategoryManager::TCategorySortPref sortPrefCat = 
+               (CPosLmCategoryManager::TCategorySortPref)12345;
+            CPosLmCatNameCriteria* nameCriteriaCat = CPosLmCatNameCriteria::NewLC();
+            nameCriteriaCat->SetSearchPatternL(KWildcard);
+            ExecuteAndDeleteLD(multiSearch->StartCategorySearchL(*nameCriteriaCat,
+                                                                 sortPrefCat)); // Panic here
+            CleanupStack::PopAndDestroy(nameCriteriaCat);
+        break;
+        case EStepNULLSearch1:
+            textCriteria = NULL;
+            ExecuteAndDeleteLD(multiSearch->StartLandmarkSearchL(*textCriteria));
+        break;
+        case EStepNULLSearch2:
+            textCriteria = NULL;
+            TPosLmSortPref sortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending); 
+            ExecuteAndDeleteLD(multiSearch->StartLandmarkSearchL(*textCriteria, sortPref));
+        break;
+        case EStepNULLSearch3:
+            CPosLmCategoryManager::TCategorySortPref sortPrefCat2 = CPosLmCategoryManager::ECategorySortOrderNameAscending;
+            CPosLmCatNameCriteria* criteria = NULL;
+            ExecuteAndDeleteLD(multiSearch->StartCategorySearchL(*criteria, sortPrefCat2));
+        break;
+        case EStepNULLSearch4:
+            CDesCArray* list = NULL;
+            CPosLmMultiDbSearch* multiSearch = CPosLmMultiDbSearch::NewL(*list);
+            textCriteria = CPosLmTextCriteria::NewLC();
+            textCriteria->SetTextL(KWildcard);
+            TPosLmSortPref sortPref4(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending); 
+            ExecuteAndDeleteLD(multiSearch->StartLandmarkSearchL(*textCriteria, sortPref4));
+        break;
+        default:
+        break;
+                
+        }
+    }
+    
+// ---------------------------------------------------------
+// CPosTp126::ResumeThreadAndVerifyExitL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp126::ResumeThreadAndVerifyExitL()
+    {
+    iLog->Log(_L("ResumeThreadAndVerifyExitL"));
+    _LIT(KPanicErr, "Method didn't Panic when expected"); 
+    _LIT(KPanicCodeErr, "Panicked with unexpected panic code");
+
+    CreateThreadL();
+    TRequestStatus status;
+    iThread.Logon(status);
+    iThread.Resume();
+        
+    User::WaitForRequest(status);
+    
+    // Used for debugging
+    TBuf<100> buf;
+    buf.Format(_L("ExitType %d Exit reason %d"), iThread.ExitType(), iThread.ExitReason());
+    iLog->Log(buf);
+
+    AssertTrueSecL(iThread.ExitType() == EExitPanic, KPanicErr);
+    AssertTrueSecL(iThread.ExitReason() == iExpectedPanicCode, KPanicCodeErr);
+       
+    iThread.Close();
+    }
+
+// ---------------------------------------------------------
+// ThreadFunction
+//
+// ---------------------------------------------------------
+
+LOCAL_C TInt ThreadFunction(TAny* aData)
+    {
+    CTrapCleanup* cleanup=CTrapCleanup::New(); 
+
+    CActiveScheduler* actSch = new (ELeave) CActiveScheduler;
+    CActiveScheduler::Install(actSch);
+
+    TRAPD(err, CPosTp126::RunPanicTestL(aData));
+    
+    delete actSch;
+    delete cleanup;
+    return err;
+    }
+    
+// ---------------------------------------------------------
+// ---------------------------------------------------------
+void CPosTp126::CreateThreadL()
+    {
+    _LIT(KThreadName, "TP126testthread%d");
+    _LIT(KCreateThreadErr, "Create thread failed with %d");
+
+	TBuf<100> buf;
+	buf.Format(KThreadName, (TInt)iStep);
+     
+    TInt err = iThread.Create(buf, ThreadFunction, KDefaultStackSize, KMinHeapSize, KMaxHeapSize, this);
+    AssertTrueSecL(err == KErrNone, KCreateThreadErr, err);
+    }
+
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp127.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,1385 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp127.h"
+#include <Lbs.h>
+#include <EPos_CPosLmDatabaseManager.h>
+#include <EPos_CPosLandmarkParser.h>
+#include <EPos_CPosLandmarkEncoder.h>
+#include <EPos_CPosLandmark.h>
+#include <EPos_CPosLmMultiDbSearch.h>
+#include <EPos_CPosLmCatNameCriteria.h>
+#include <EPos_CPosLmTextCriteria.h>
+#include <EPos_CPosLmCategoryCriteria.h>
+#include "FT_LandmarkConstants.h"
+
+// CONSTANTS
+const TInt KShortExecutionTimeInSeconds = 15;
+const TInt KLongExecutionTimeInSeconds = 5 * 60; // Five minutes. The longer the more errors seem appear...
+const TInt KNrOfDatabases = 5;
+const TInt KLockedDbIndex = 2;
+const TInt KMaxNrOfLms = 20;
+const TInt KLockThreadStartupTime = 500000;
+_LIT(KCreateThreadErr, "Creating thread failed with %d");
+_LIT(KLockThreadSearchPattern, "*TP127_LockThread*"); 
+_LIT(KTestDbUri, "TestDatabase.ldb");
+_LIT(KTestDbUriUC, "TESTDATABASE.LDB");
+
+// ================= LOCAL FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// LOCAL_C ThreadFunction
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+LOCAL_C TInt ThreadFunction(TAny* aData)
+    {
+    CTrapCleanup* cleanup = CTrapCleanup::New(); 
+    CActiveScheduler* actSch = new (ELeave) CActiveScheduler;
+    CActiveScheduler::Install(actSch);
+    
+    TThreadParam* params = reinterpret_cast<TThreadParam*> (aData);
+    TRAPD(err, (*params->iTestFunction)(params->iMessage));
+       
+    delete actSch;
+    delete cleanup;
+    return err;
+    }
+
+// ---------------------------------------------------------
+// LOCAL_C AssertTrueL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+LOCAL_C void AssertTrueL(
+    TBool aCondition, 
+    const TDesC& aBuf, 
+    TDes* aMessage, 
+    TInt aError = KErrGeneral)
+    {
+    if (!aCondition)
+        {
+        _LIT(KFormat, "%S, error = %d");
+        aMessage->Format(KFormat, &aBuf, aError);
+        
+        aError == KErrNone ? User::Leave(KErrGeneral) : User::Leave(aError);
+        }
+    }
+    
+// ---------------------------------------------------------
+// LOCAL_C ThreadExistsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+LOCAL_C TBool ThreadExistsL(const TDesC& aSearchPattern)
+    {
+    TFindThread threadSearcher;
+    threadSearcher.Find(aSearchPattern);
+    TFullName fullName;
+    return (threadSearcher.Next(fullName) == KErrNone);
+    }
+
+// ---------------------------------------------------------
+// LOCAL_C VerifyResultL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+LOCAL_C void VerifyResultL(
+    TBool aLockThreadExists, 
+    CPosLmMultiDbSearch* aMultiDbSearcher, 
+    TDes* aDes)
+    {
+    TInt nrOfErrors = aMultiDbSearcher->NumOfSearchErrors();
+    if (aLockThreadExists)
+        {
+        // Reading locked db should result in KErrLocked
+        AssertTrueL(nrOfErrors == 1, _L("Not one error as expected"), aDes);
+        CPosLmMultiDbSearch::TSearchError error;
+        aMultiDbSearcher->GetSearchError(0, error);
+        AssertTrueL(error.iDatabaseIndex == KLockedDbIndex, _L("Error in wrong db"), aDes);
+        AssertTrueL(error.iErrorCode == KErrLocked, _L("Wrong error"), aDes, error.iErrorCode);
+        }
+    else
+        {
+        AssertTrueL(nrOfErrors == 0, _L("Search failed with errors"), aDes);
+        }
+        
+    aDes->Zero();    
+    }
+
+// ================= CThreadMonitor MEMBER FUNCTIONS =======================
+
+// Constructor
+CThreadMonitor::CThreadMonitor(RThread* aThread) 
+: CActive(CActive::EPriorityStandard), iThread(aThread)
+    {
+    CActiveScheduler::Add(this);
+    }
+
+// Destructor
+CThreadMonitor::~CThreadMonitor()
+    {
+    Cancel();
+    }
+
+// ---------------------------------------------------------
+// CThreadMonitor::NewL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+CThreadMonitor* CThreadMonitor::NewL(RThread* aThread)
+    {
+    CThreadMonitor* self = new (ELeave) CThreadMonitor(aThread);
+    CleanupStack::PushL(self);
+    self->ConstructL();
+    CleanupStack::Pop(self);
+    return self;
+    }
+
+// ---------------------------------------------------------
+// CThreadMonitor::ConstructL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CThreadMonitor::ConstructL()
+    {
+    iThread->Resume();
+    iThread->Logon(iStatus);
+    SetActive();
+    }
+
+// ---------------------------------------------------------
+// CThreadMonitor::DoCancel
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CThreadMonitor::DoCancel()
+    {
+    iThread->LogonCancel(iStatus);
+
+    // Kill thread
+    TRequestStatus status;
+    iThread->Logon(status);
+    iThread->Kill(KErrCancel);
+    User::WaitForRequest(status);
+    }
+
+// ---------------------------------------------------------
+// CThreadMonitor::RunL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CThreadMonitor::RunL()
+    {
+    CActiveScheduler::Stop();
+    }
+
+// ================= CPosTp127 MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp127::GetName
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp127::GetName(TDes& aName) const
+    {
+    _LIT(KTestName, "TP127 - Multiple databases, multiple clients");
+    aName = KTestName;
+    }
+
+// ---------------------------------------------------------
+// CPosTp127::InitTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp127::InitTestL()
+    {
+    MakeSurePanicDebugFileExistsL();
+    
+    // PrepareDatabases
+    RemoveAllLmDatabasesL();
+    CopyTestDbFileL(KDb20);
+    CopyTestDbFileL(KDb40);
+    CopyTestDbFileL(KDb60);
+    CopyTestDbFileL(KDb80);
+    CopyTestDbFileL(KDb105);
+
+    // Initialize databases - is this really needed?
+    CPosLmDatabaseManager* dbMan = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(dbMan);
+    CDesCArray* dbList = dbMan->ListDatabasesLC();
+    for (TInt i = 0; i < KNrOfDatabases; i++)
+        {
+        CPosLandmarkDatabase* db = CPosLandmarkDatabase::OpenL(dbList->operator[](i));
+        CleanupStack::PushL(db);
+        ExecuteAndDeleteLD(db->InitializeL());
+        CleanupStack::PopAndDestroy(db);
+        }
+
+    // Remove the last 5 lms of the the last db
+    CPosLandmarkDatabase* db = CPosLandmarkDatabase::OpenL(KDb105);
+    CleanupStack::PushL(db);
+    CPosLmItemIterator* iter = db->LandmarkIteratorL();
+    CleanupStack::PushL(iter);
+    RIdArray idArray;
+    CleanupClosePushL(idArray);
+    iter->GetItemIdsL(idArray, 20, iter->NumOfItemsL() - 20);
+    ExecuteAndDeleteLD(db->RemoveLandmarksL(idArray));
+    CleanupStack::PopAndDestroy(3, db);
+    
+    CleanupStack::PopAndDestroy(2, dbMan);
+    }
+    
+// ---------------------------------------------------------
+// CPosTp127::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp127::CloseTest()
+    {
+    }
+
+// ---------------------------------------------------------
+// CPosTp127::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp127::StartL()
+    {
+    // 1. Create multiple db search threads 
+    iLog->Put(_L("<<<< 1. Create multiple db search threads >>>>"));
+    TBool lockDb = ETrue;
+    TBool successful = MultipleDbSearchClientsL(!lockDb);
+    //TBool successful = MultipleDbSearchClientsL(lockDb);
+    
+    // Sometimes error ESLI-69LDJD DBMS - Error occurs
+    // 2. One of the databases is locked
+    iLog->Put(_L("<<<< 2. One of the databases is locked >>>>"));
+    User::After(KLockThreadStartupTime); // Let previous thread instances really die
+    if (!MultipleDbSearchClientsL(lockDb))
+        {        
+        successful = EFalse;
+        }
+        
+    // 3. Copy database in use
+    iLog->Put(_L("<<<< 3. Copy database in use >>>>"));
+    if (!VerifyInUseWhenCopyL())
+        {        
+        successful = EFalse;
+        }
+   
+    // 4. Copy databases continuously in parallel
+    iLog->Put(_L("<<<< 4. Copy databases continuously in parallel >>>>"));
+    if (!VerifyCopyStressL())
+        {        
+        successful = EFalse;
+        }
+   
+    // 5. Use all LM APIs
+    iLog->Put(_L("<<<< 5. Use all LM APIs simultaneously >>>>"));
+    if (!MultipleLmClientsL())
+        {        
+        successful = EFalse;
+        }
+    // Leave if error    
+    if (!successful)
+        {        
+        User::Leave(KErrGeneral);
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp127::MultipleDbSearchClientsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TBool CPosTp127::MultipleDbSearchClientsL(TBool aLockDb)
+    {
+    RThread searchThread1, searchThread2, searchThread3, lockThread;
+    TThreadParam params1, params2, params3, params4;
+    TBuf<200> threadMsg1, threadMsg2, threadMsg3, threadMsg4;
+    RArray<TThreadParam> threadArray;
+    CleanupClosePushL(threadArray);
+
+    // Create search thread 1
+    _LIT(KSearchThread1, "TP127 - Search thread 1");
+    TInt err = searchThread1.Create(KSearchThread1, ThreadFunction, 
+        KDefaultStackSize, KMinHeapSize, KMaxHeapSize, &params1);
+    AssertTrueSecL(err == KErrNone, KCreateThreadErr, err);
+    CleanupClosePushL(searchThread1);
+    params1.iMessage = &threadMsg1;
+    params1.iTestFunction = MultipleDbCategorySearchL;
+    params1.iThread = &searchThread1;
+    threadArray.AppendL(params1);
+
+    // Create search thread 2
+    _LIT(KSearchThread2, "TP127 - Search thread 2");
+    err = searchThread2.Create(KSearchThread2, ThreadFunction, 
+        KDefaultStackSize, KMinHeapSize, KMaxHeapSize, &params2);
+    AssertTrueSecL(err == KErrNone, KCreateThreadErr, err);
+    CleanupClosePushL(searchThread2);
+    params2.iMessage = &threadMsg2;
+    params2.iTestFunction = MultipleDbLandmarkSearchL;
+    params2.iThread = &searchThread2;
+    threadArray.AppendL(params2);
+
+    // Create search thread 3
+    _LIT(KSearchThread3, "TP127 - Search thread 3");
+    err = searchThread3.Create(KSearchThread3, ThreadFunction, 
+        KDefaultStackSize, KMinHeapSize, KMaxHeapSize, &params3);
+    AssertTrueSecL(err == KErrNone, KCreateThreadErr, err);
+    CleanupClosePushL(searchThread3);
+    params3.iMessage = &threadMsg3;
+    params3.iTestFunction = MultipleDbLandmarkWithoutCategorySearchL;
+    params3.iThread = &searchThread3;
+    threadArray.AppendL(params3);
+    
+    if (aLockDb)
+        {
+        // Create db lock thread
+        _LIT(KLockThread, "TP127 - TP127_LockThread");        
+        err = lockThread.Create(KLockThread, ThreadFunction, 
+            KDefaultStackSize, KMinHeapSize, KMaxHeapSize, &params4);
+        AssertTrueSecL(err == KErrNone, KCreateThreadErr, err);
+        CleanupClosePushL(lockThread);
+        params4.iMessage = &threadMsg4;
+        params4.iTestFunction = LockDatabaseL;
+        params4.iThread = &lockThread;
+        threadArray.AppendL(params4);
+        }
+
+    TBool successful = ResumeThreadsAndVerifyExitL(threadArray); 
+    
+    if (aLockDb)
+        {
+        CleanupStack::PopAndDestroy(&lockThread);
+        }
+    CleanupStack::PopAndDestroy(4, &threadArray);
+    return successful;
+    }
+    
+// ---------------------------------------------------------
+// CPosTp127::MultipleLmClientsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TBool CPosTp127::MultipleLmClientsL()
+    {
+    // Set default db
+    CPosLmDatabaseManager* dbMan = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(dbMan);
+    HPosLmDatabaseInfo* dbInfo = HPosLmDatabaseInfo::NewLC(KTestDbUri);
+    dbMan->CreateDatabaseL(*dbInfo);
+    CleanupStack::PopAndDestroy(dbInfo);
+    dbMan->SetDefaultDatabaseUriL(KTestDbUri);
+    CleanupStack::PopAndDestroy(dbMan);
+    
+    RThread dbManThread, multiSearchThread, dbThread, singleSearchThread;
+    TThreadParam params1, params2, params3, params4;
+    TBuf<200> threadMsg1, threadMsg2, threadMsg3, threadMsg4;
+    RArray<TThreadParam> threadArray;
+    CleanupClosePushL(threadArray);
+
+    // Create db management thread
+    _LIT(KDbManThread, "TP127 - Db manager thread");
+    TInt err = dbManThread.Create(KDbManThread, ThreadFunction, 
+        KDefaultStackSize, KMinHeapSize, KMaxHeapSize, &params1);
+    AssertTrueSecL(err == KErrNone, KCreateThreadErr, err);
+    CleanupClosePushL(dbManThread);
+    params1.iMessage = &threadMsg1;
+    params1.iTestFunction = DbManagementL;
+    params1.iThread = &dbManThread;
+    threadArray.AppendL(params1);
+
+    // Create multi db search thread
+    _LIT(KMultiSearchThread, "TP127 - Multi search thread");
+    err = multiSearchThread.Create(KMultiSearchThread, ThreadFunction, 
+        KDefaultStackSize, KMinHeapSize, KMaxHeapSize, &params2);
+    AssertTrueSecL(err == KErrNone, KCreateThreadErr, err);
+    CleanupClosePushL(multiSearchThread);
+    params2.iMessage = &threadMsg2;
+    params2.iTestFunction = MultipleDbSearchL;
+    params2.iThread = &multiSearchThread;
+    threadArray.AppendL(params2);
+
+    // Create LM API thread
+    _LIT(KDbThread, "TP127 - db thread");
+    err = dbThread.Create(KDbThread, ThreadFunction, 
+        KDefaultStackSize, KMinHeapSize, KMaxHeapSize, &params3);
+    AssertTrueSecL(err == KErrNone, KCreateThreadErr, err);
+    CleanupClosePushL(dbThread);
+    params3.iMessage = &threadMsg3;
+    params3.iTestFunction = DbAccessL;
+    params3.iThread = &dbThread;
+    threadArray.AppendL(params3);
+    
+    // Create single db search thread
+    _LIT(KSingleSearchThread, "TP127 - Single search thread");        
+    err = singleSearchThread.Create(KSingleSearchThread, ThreadFunction, 
+        KDefaultStackSize, KMinHeapSize, KMaxHeapSize, &params4);
+    AssertTrueSecL(err == KErrNone, KCreateThreadErr, err);
+    CleanupClosePushL(singleSearchThread);
+    params4.iMessage = &threadMsg4;
+    params4.iTestFunction = SingleDbSearchL;
+    params4.iThread = &singleSearchThread;
+    threadArray.AppendL(params4);
+
+    TBool successful = ResumeThreadsAndVerifyExitL(threadArray); 
+    
+    CleanupStack::PopAndDestroy(5, &threadArray);
+    return successful;
+    }
+    
+// ---------------------------------------------------------
+// CPosTp127::VerifyInUseWhenCopyL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TBool CPosTp127::VerifyInUseWhenCopyL()
+    {
+    RThread copyThread, lockThread;
+    TThreadParam params1, params2;
+    TBuf<200> threadMsg1, threadMsg2;
+    RArray<TThreadParam> threadArray;
+    CleanupClosePushL(threadArray);
+
+    // Create copy thread
+    _LIT(KCopyThread, "TP127 - Copy thread");
+    TInt err = copyThread.Create(KCopyThread, ThreadFunction, 
+        KDefaultStackSize, KMinHeapSize, KMaxHeapSize, &params1);
+    AssertTrueSecL(err == KErrNone, KCreateThreadErr, err);
+    CleanupClosePushL(copyThread);
+    params1.iMessage = &threadMsg1;
+    params1.iTestFunction = CopyLockedDatabaseL;
+    params1.iThread = &copyThread;
+    threadArray.AppendL(params1);
+
+    // Create db lock thread
+    _LIT(KLockThread, "TP127 - TP127_LockThread");
+    err = KErrAlreadyExists;
+    while (err == KErrAlreadyExists)
+        {
+        err = lockThread.Create(KLockThread, ThreadFunction, 
+            KDefaultStackSize, KMinHeapSize, KMaxHeapSize, &params2);
+        }
+    AssertTrueSecL(err == KErrNone, KCreateThreadErr, err);
+    CleanupClosePushL(lockThread);
+    params2.iMessage = &threadMsg2;
+    params2.iTestFunction = LockDatabaseL;
+    params2.iThread = &lockThread;
+    threadArray.AppendL(params2);
+
+    TBool successful = ResumeThreadsAndVerifyExitL(threadArray); 
+    
+    CleanupStack::PopAndDestroy(3, &threadArray);
+    return successful;
+    }
+    
+// ---------------------------------------------------------
+// CPosTp127::VerifyCopyStressL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TBool CPosTp127::VerifyCopyStressL()
+    {
+    RThread copyThread1, copyThread2, copyThread3, copyThread4, copyThread5;
+    TThreadParam params1, params2, params3, params4, params5;
+    TBuf<200> threadMsg1, threadMsg2, threadMsg3, threadMsg4, threadMsg5;
+    RArray<TThreadParam> threadArray;
+    CleanupClosePushL(threadArray);
+
+    // Create copy thread1
+    _LIT(KCopyThread1, "TP127 - Copy thread1");
+    TInt err = copyThread1.Create(KCopyThread1, ThreadFunction, 
+        KDefaultStackSize, KMinHeapSize, KMaxHeapSize, &params1);
+    AssertTrueSecL(err == KErrNone, KCreateThreadErr, err);
+    CleanupClosePushL(copyThread1);
+    params1.iMessage = &threadMsg1;
+    params1.iTestFunction = CopyDatabaseL;
+    params1.iThread = &copyThread1;
+    threadArray.AppendL(params1);
+
+    // Create copy thread2
+    _LIT(KCopyThread2, "TP127 - Copy thread2");
+    err = copyThread2.Create(KCopyThread2, ThreadFunction, 
+        KDefaultStackSize, KMinHeapSize, KMaxHeapSize, &params2);
+    AssertTrueSecL(err == KErrNone, KCreateThreadErr, err);
+    CleanupClosePushL(copyThread2);
+    params2.iMessage = &threadMsg2;
+    params2.iTestFunction = CopyDatabaseL;
+    params2.iThread = &copyThread2;
+    threadArray.AppendL(params2);
+
+    // Create copy thread3
+    _LIT(KCopyThread3, "TP127 - Copy thread3");
+    err = copyThread3.Create(KCopyThread3, ThreadFunction, 
+        KDefaultStackSize, KMinHeapSize, KMaxHeapSize, &params3);
+    AssertTrueSecL(err == KErrNone, KCreateThreadErr, err);
+    CleanupClosePushL(copyThread3);
+    params3.iMessage = &threadMsg3;
+    params3.iTestFunction = CopyDatabaseL;
+    params3.iThread = &copyThread3;
+    threadArray.AppendL(params3);
+
+    // Create copy thread4
+    _LIT(KCopyThread4, "TP127 - Copy thread4");
+    err = copyThread4.Create(KCopyThread4, ThreadFunction, 
+        KDefaultStackSize, KMinHeapSize, KMaxHeapSize, &params4);
+    AssertTrueSecL(err == KErrNone, KCreateThreadErr, err);
+    CleanupClosePushL(copyThread4);
+    params4.iMessage = &threadMsg4;
+    params4.iTestFunction = CopyDatabaseL;
+    params4.iThread = &copyThread4;
+    threadArray.AppendL(params4);
+
+    // Create copy thread5
+    _LIT(KCopyThread5, "TP127 - Copy thread5");
+    err = copyThread5.Create(KCopyThread5, ThreadFunction, 
+        KDefaultStackSize, KMinHeapSize, KMaxHeapSize, &params5);
+    AssertTrueSecL(err == KErrNone, KCreateThreadErr, err);
+    CleanupClosePushL(copyThread5);
+    params5.iMessage = &threadMsg5;
+    params5.iTestFunction = CopyDatabaseL;
+    params5.iThread = &copyThread5;
+    threadArray.AppendL(params5);
+
+    TBool successful = ResumeThreadsAndVerifyExitL(threadArray); 
+    
+    CleanupStack::PopAndDestroy(6, &threadArray);
+    return successful;
+    }
+    
+// ---------------------------------------------------------
+// CPosTp127::ResumeThreadsAndVerifyExitL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TBool CPosTp127::ResumeThreadsAndVerifyExitL(const RArray<TThreadParam>& aThreadParams)
+    {
+    // Start threads.
+    RPointerArray<CThreadMonitor> threadMonitors;    
+    CleanupClosePushL(threadMonitors);
+    TInt nrOfThreads = aThreadParams.Count();
+    for (TInt j = 0; j < nrOfThreads; j++)
+        {
+        threadMonitors.AppendL(CThreadMonitor::NewL(aThreadParams[j].iThread));
+        }
+
+// <<<< Commented code below can be enabled for immediate interruption when any thread fails >>>>
+
+    // Wait until any of the threads exits.
+    TInt error = KErrNone;
+    TBool allThreadsTerminated = EFalse;
+    while (!allThreadsTerminated
+/* && error == KErrNone*/)
+        {
+        CActiveScheduler::Start();
+
+        // Assume all threads are terminated
+        allThreadsTerminated = ETrue;
+        for (TInt i = 0; i < nrOfThreads
+/* && error == KErrNone*/; i++)
+            {
+            if (threadMonitors[i]->IsActive())
+                {
+                // Thread is still alive
+                allThreadsTerminated = EFalse;
+                }
+            else
+                {
+/*                if (aThreadParams[i].iThread->ExitType() != EExitKill)
+                    {
+                    error = KErrGeneral;
+                    }
+                else if (aThreadParams[i].iThread->ExitReason())
+                    {
+                    error = aThreadParams[i].iThread->ExitReason();
+                    }
+*/                }
+            }
+        }
+
+// <<<< Commented code above can be enabled for immediate interruption when any thread fails >>>>
+
+    // Terminate all remaining threads (in case of errors)
+    threadMonitors.ResetAndDestroy();
+    CleanupStack::PopAndDestroy(&threadMonitors);
+
+    // Log summary
+    for (TInt i = 0; i < nrOfThreads; i++)
+        {
+        if (*aThreadParams[i].iMessage != KNullDesC)
+            {
+            iLog->Put(*aThreadParams[i].iMessage);
+            }
+        TName threadName = aThreadParams[i].iThread->Name();
+        if (aThreadParams[i].iThread->ExitType() != EExitKill)
+            {
+            iBuf.Format(_L("%S was not killed!"), &threadName);
+            iLog->PutError(iBuf);
+            TExitCategoryName category = aThreadParams[i].iThread->ExitCategory();
+            iBuf.Format(_L("Exit Category = %S %d"), &category, aThreadParams[i].iThread->ExitReason());
+            iLog->Put(iBuf);
+            error = KErrGeneral;
+            }
+        else
+            {
+            TInt exitReason = aThreadParams[i].iThread->ExitReason();
+            if (exitReason != 0)
+                {
+                iBuf.Format(_L("%S's exit reason wasn't 0 but %d."), &threadName, exitReason);
+                iLog->PutError(iBuf);
+                error = exitReason;
+                }
+            }
+        }
+    
+    return (error == KErrNone);
+    }
+
+// ================= STATIC THREAD FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp127::MultipleDbCategorySearchL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp127::MultipleDbCategorySearchL(TDes* aMessage)
+    {
+    TBool lockThreadExists = ThreadExistsL(KLockThreadSearchPattern);
+    if (lockThreadExists)
+        {
+        // Let lock thread launch first
+        User::After(KLockThreadStartupTime);
+        }
+        
+    // Search multiple databases for some seconds
+    TTime startTime, stopTime;
+    startTime.HomeTime();
+    stopTime.HomeTime();
+    TTimeIntervalSeconds executionTime;
+    User::LeaveIfError(stopTime.SecondsFrom(startTime, executionTime));
+
+    while (executionTime.Int() < KShortExecutionTimeInSeconds)
+        {
+        CPosLmDatabaseManager* dbMan = CPosLmDatabaseManager::NewL();
+        CleanupStack::PushL(dbMan);
+        CDesCArray* dbList = dbMan->ListDatabasesLC();
+        AssertTrueL(dbList->Count() == KNrOfDatabases, _L("MultipleDbCategorySearchL: Wrong number of databases"), aMessage);
+        CPosLmMultiDbSearch* dbSearcher = CPosLmMultiDbSearch::NewL(*dbList);
+        CleanupStack::PushL(dbSearcher);
+        
+        // Search for categories containing a specific string
+        CPosLmCatNameCriteria* criteria = CPosLmCatNameCriteria::NewLC();
+        criteria->SetSearchPatternL(_L("*Log*"));
+        CPosLmOperation* operation = dbSearcher->StartCategorySearchL(*criteria, CPosLmCategoryManager::ECategorySortOrderNone);
+        ExecuteAndDeleteLD(operation);
+        
+        aMessage->Copy(_L("MultipleDbCategorySearchL: "));
+        VerifyResultL(lockThreadExists, dbSearcher, aMessage);
+        
+        stopTime.HomeTime();
+        User::LeaveIfError(stopTime.SecondsFrom(startTime, executionTime));
+        
+        CleanupStack::PopAndDestroy(4, dbMan);
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp127::MultipleDbLandmarkSearchL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp127::MultipleDbLandmarkSearchL(TDes* aMessage)
+    {
+    TBool lockThreadExists = ThreadExistsL(KLockThreadSearchPattern);
+    if (lockThreadExists)
+        {
+        // Let lock thread launch first
+        User::After(KLockThreadStartupTime);
+        }
+
+    // Execute thread for a number of seconds
+    TTime startTime, stopTime;
+    startTime.HomeTime();
+    stopTime.HomeTime();
+    TTimeIntervalSeconds executionTime;
+    User::LeaveIfError(stopTime.SecondsFrom(startTime, executionTime));
+
+    while (executionTime.Int() < KShortExecutionTimeInSeconds)
+        {
+        CPosLmDatabaseManager* dbMan = CPosLmDatabaseManager::NewL();
+        CleanupStack::PushL(dbMan);
+        CDesCArray* dbList = dbMan->ListDatabasesLC();
+        CPosLmMultiDbSearch* dbSearcher = CPosLmMultiDbSearch::NewL(*dbList);
+        CleanupStack::PushL(dbSearcher);
+        
+        // Search for landmarks containing a specific string
+        CPosLmTextCriteria* criteria = CPosLmTextCriteria::NewLC();
+        criteria->SetTextL(_L("*as*"));
+        CPosLmOperation* operation = dbSearcher->StartLandmarkSearchL(*criteria);
+        ExecuteAndDeleteLD(operation);
+        
+        aMessage->Copy(_L("MultipleDbLandmarkSearchL: "));
+        VerifyResultL(lockThreadExists, dbSearcher, aMessage);
+
+        stopTime.HomeTime();
+        User::LeaveIfError(stopTime.SecondsFrom(startTime, executionTime));
+        
+        CleanupStack::PopAndDestroy(4, dbMan);
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp127::MultipleDbLandmarkWithoutCategorySearchL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp127::MultipleDbLandmarkWithoutCategorySearchL(TDes* aMessage)
+    {
+    TBool lockThreadExists = ThreadExistsL(KLockThreadSearchPattern);
+    if (lockThreadExists)
+        {
+        // Let lock thread launch first
+        User::After(KLockThreadStartupTime);
+        }
+
+    // Execute thread for a number of seconds
+    TTime startTime, stopTime;
+    startTime.HomeTime();
+    stopTime.HomeTime();
+    TTimeIntervalSeconds executionTime;
+    User::LeaveIfError(stopTime.SecondsFrom(startTime, executionTime));
+
+    while (executionTime.Int() < KShortExecutionTimeInSeconds)
+        {
+        CPosLmDatabaseManager* dbMan = CPosLmDatabaseManager::NewL();
+        CleanupStack::PushL(dbMan);
+        CDesCArray* dbList = dbMan->ListDatabasesLC();
+        AssertTrueL(dbList->Count() == KNrOfDatabases, _L("MultipleDbLandmarkWithoutCategorySearchL: Wrong number of databases"), aMessage);
+        CPosLmMultiDbSearch* dbSearcher = CPosLmMultiDbSearch::NewL(*dbList);
+        CleanupStack::PushL(dbSearcher);
+        
+        // Search for uncategorized landmarks
+        CPosLmCategoryCriteria* criteria = CPosLmCategoryCriteria::NewLC();
+        CPosLmOperation* operation = dbSearcher->StartLandmarkSearchL(*criteria);
+        ExecuteAndDeleteLD(operation);
+        
+        aMessage->Copy(_L("MultipleDbLandmarkWithoutCategorySearchL: "));
+        VerifyResultL(lockThreadExists, dbSearcher, aMessage);
+
+        stopTime.HomeTime();
+        User::LeaveIfError(stopTime.SecondsFrom(startTime, executionTime));
+        
+        CleanupStack::PopAndDestroy(4, dbMan);
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp127::LockDatabaseL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp127::LockDatabaseL(TDes* aMessage)
+    {
+    CPosLmDatabaseManager* dbMan = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(dbMan);
+    CDesCArray* dbList = dbMan->ListDatabasesLC();
+    AssertTrueL(dbList->Count() == KNrOfDatabases, _L("MultipleDbLandmarkWithoutCategorySearchL: Wrong number of databases"), aMessage);
+    CPosLandmarkDatabase* db = CPosLandmarkDatabase::OpenL((*dbList)[KLockedDbIndex]);
+    CleanupStack::PushL(db);
+    CPosLmOperation* operation = db->RemoveAllLandmarksL();
+    User::After((KShortExecutionTimeInSeconds + 1) * 1000000);
+    delete operation;
+    
+    CleanupStack::PopAndDestroy(3, dbMan);
+    }
+
+// ---------------------------------------------------------
+// CPosTp127::DbManagementL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp127::DbManagementL(TDes* aMessage)
+    {
+    // Execute thread for a number of seconds
+    TTime startTime, stopTime;
+    startTime.HomeTime();
+    stopTime.HomeTime();
+    TTimeIntervalSeconds executionTime;
+    User::LeaveIfError(stopTime.SecondsFrom(startTime, executionTime));
+    TInt i(0);
+    TBool errorsFound = EFalse;
+    
+    while (executionTime.Int() < KLongExecutionTimeInSeconds)
+        {
+        CPosLmDatabaseManager* dbMan = CPosLmDatabaseManager::NewL();
+        CleanupStack::PushL(dbMan);
+        
+        // List dbs
+        CDesCArray* dbList = dbMan->ListDatabasesLC();
+        
+        // Create db
+        HPosLmDatabaseInfo* dbInfo = HPosLmDatabaseInfo::NewLC(KTestDbUri);
+        TRAPD(err, dbMan->CreateDatabaseL(*dbInfo));
+        CleanupStack::PopAndDestroy(dbInfo);
+        if (err != KErrAlreadyExists)
+            {
+            AssertTrueL(dbMan->DatabaseExistsL(KTestDbUri), _L("DbManagementL: Created database does not exist"), aMessage);        
+            }
+            
+        // Try to read default URI
+        HBufC* defaultDb = dbMan->DefaultDatabaseUriLC();
+        
+        // Set default db to the created one
+        dbMan->SetDefaultDatabaseUriL(KTestDbUri);
+        
+        // Remove default db
+        TRAP(err, dbMan->DeleteDatabaseL(KTestDbUri));
+        AssertTrueL(err == KErrNone || err == KErrInUse, _L("DbManagementL: Wrong error code when removing created database"), aMessage, err);
+        if (err == KErrNone)
+            {
+            AssertTrueL(!dbMan->DatabaseExistsL(KTestDbUri), _L("DbManagementL: Removed database exists"), aMessage);
+            }
+                
+        // Create a copy of a db
+        if (dbList->Count() > 0)
+            {
+            TRAP(err, dbMan->CopyDatabaseL((*dbList)[0], KTestDbUri));
+// TBD: How can err == KErrLocked happen? Refer to ESLI-68HKE6
+// TBD: Sometimes KErrDied is returned from this function. Why? Write error report?
+            AssertTrueL(err == KErrNone || err == KErrAlreadyExists || err == KErrInUse || err == KErrLocked, _L("DbManagementL: Wrong error code when copying database"), aMessage, err);
+            if (err == KErrNone || err == KErrAlreadyExists)
+                {
+                AssertTrueL(dbMan->DatabaseExistsL(KTestDbUri), _L("DbManagementL: Copied database does not exist"), aMessage);
+                
+                // Remove copy
+                TRAP(err, dbMan->DeleteDatabaseL(KTestDbUri));
+                AssertTrueL(err == KErrNone || err == KErrInUse, _L("DbManagementL: Wrong error code when removing copied database"), aMessage, err);
+                if (err == KErrNone)
+                    {
+                    AssertTrueL(!dbMan->DatabaseExistsL(KTestDbUri), _L("DbManagementL: Removed database exists"), aMessage);
+                    }
+                }
+            else if (err == KErrLocked) // To be removed when ESLI-68HKE6 is solved
+                {
+                aMessage->Copy(_L("DbManagementL: CPosLmDatabaseManager::CopyDatabaseL() left with KErrLocked - check ESLI-68HKE6"));
+                errorsFound = ETrue;
+                }
+            }
+            
+        // Set default db to another uri
+        dbMan->SetDefaultDatabaseUriL((*dbList)[i]);
+        if (++i == 5)
+            {
+            i = 0;
+            }
+            
+        // Increase probability that (*dbList)[i] and not KTestDbUri is default db most of the time
+        User::After(10000);
+        
+        CleanupStack::PopAndDestroy(3, dbMan);
+        
+        stopTime.HomeTime();
+        User::LeaveIfError(stopTime.SecondsFrom(startTime, executionTime));
+        }
+        
+    if (errorsFound)
+        {
+        User::Leave(KErrGeneral);
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp127::DbAccessL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp127::DbAccessL(TDes* aMessage)
+    {
+    // Execute thread for a number of seconds
+    TTime startTime, stopTime;
+    startTime.HomeTime();
+    stopTime.HomeTime();
+    TTimeIntervalSeconds executionTime;
+    User::LeaveIfError(stopTime.SecondsFrom(startTime, executionTime));
+    TBool errorsFound = EFalse;
+    
+    while (executionTime.Int() < KLongExecutionTimeInSeconds)
+        {
+        CPosLandmarkDatabase* db = NULL;
+        TRAPD(err, db = CPosLandmarkDatabase::OpenL());
+// TBD: How can KErrNotFound happen? Refer to ESLI-68HE4P
+        if (err == KErrLocked || err == KErrInUse || err == KErrNotFound)
+            {
+            if (err == KErrNotFound) // To be removed when ESLI-68HE4P is solved
+                {
+                aMessage->Copy(_L("DbAccessL: CPosLandmarkDatabase::OpenL() left with KErrNotFound - check ESLI-68HE4P"));
+                errorsFound = ETrue;
+                }
+            // Some client is writing(KErrLocked)/deleting(KErrInUse) the db. Try again.
+            continue;
+            }
+        AssertTrueL(err == KErrNone, _L("DbAccessL: Wrong error code when opening db"), aMessage, err);
+        CleanupStack::PushL(db);
+        
+        // We don't want to use the empty test database
+        HBufC* dbUri = db->DatabaseUriLC();
+// TBD: Both UC and original case need to be checked here due to SDK bug! To be updated. (refer to INC053631 in teamtrack and ESLI-68HK3W in TSW)
+        if (dbUri->Find(KTestDbUriUC) != KErrNotFound || dbUri->Find(KTestDbUri) != KErrNotFound)
+            {
+            if (dbUri->Find(KTestDbUriUC) != KErrNotFound) // To be removed when ESLI-68HK3W is solved
+                {
+                aMessage->Copy(_L("DbAccessL: UPPER CASE of db URI found - check ESLI-68HK3W"));
+                errorsFound = ETrue;
+                }            
+            CleanupStack::PopAndDestroy(2, db);
+            stopTime.HomeTime();
+            User::LeaveIfError(stopTime.SecondsFrom(startTime, executionTime));
+            continue;
+            }
+            
+        // Fetch db iterator
+        CPosLmItemIterator* iterator = NULL;
+        TRAP(err, iterator = db->LandmarkIteratorL());
+// TBD: KErrPosLmNotInitialized should not be accepted. Refer to ESLI-68JAMD
+        if (err == KErrCorrupt || err == KErrPosLmNotInitialized)
+            {
+            if (err == KErrPosLmNotInitialized) // To be removed when ESLI-68JAMD is solved
+                {
+                aMessage->Copy(_L("DbAccessL: CPosLandmarkDatabase::LandmarkIteratorL() left with KErrPosLmNotInitialized - check ESLI-68JAMD"));
+                errorsFound = ETrue;
+                }            
+// TBD: Databases need to be re-initialized, because they haved been damaged. Why do they become damaged?
+            err = KErrLocked;
+            while (err == KErrLocked && db->IsInitializingNeeded())
+                {
+                TRAP(err, ExecuteAndDeleteLD(db->InitializeL()));
+                AssertTrueL(err == KErrNone || err == KErrLocked, _L("DbAccessL: Wrong error code when initializing"), aMessage, err);
+                }
+            TRAP(err, iterator = db->LandmarkIteratorL());
+            }
+        TBuf<100> buf;
+        _LIT(KFormat, "DbAccessL: Wrong error code when creating iterator for db %S");
+        buf.Format(KFormat, dbUri);
+        AssertTrueL(err == KErrNone, buf, aMessage, err);
+        CleanupStack::PopAndDestroy(dbUri);
+        CleanupStack::PushL(iterator);
+        
+        // Add, read and update a landmark
+        CPosLandmark* lm = CPosLandmark::NewLC();
+        TPosLmItemId id = KPosLmNullItemId;
+        TRAP(err, id = db->AddLandmarkL(*lm));
+        CleanupStack::PopAndDestroy(lm);        
+        if (err == KErrNone)
+            {            
+            TRAP(err, CleanupStack::Pop(lm = db->ReadLandmarkLC(id)));
+            CleanupStack::PushL(lm);
+            AssertTrueL(err == KErrNone, _L("DbAccessL: Wrong error code when reading created landmark"), aMessage, err);
+            lm->SetLandmarkNameL(_L("A landmark"));
+            TRAP(err, db->UpdateLandmarkL(*lm));
+            AssertTrueL(err == KErrNone || err == KErrLocked, _L("DbAccessL: Wrong error code when updating lm"), aMessage, err);
+            CleanupStack::PopAndDestroy(lm);
+            }
+        else
+            {
+            AssertTrueL(err == KErrLocked, _L("DbAccessL: Wrong error code when adding lm"), aMessage, err);
+            }
+        
+        // Remove possible added landmarks
+        TInt nrOfItems = iterator->NumOfItemsL();
+        if (nrOfItems > KMaxNrOfLms)
+            {
+            RIdArray idArray;
+            CleanupClosePushL(idArray);
+            iterator->GetItemIdsL(idArray, KMaxNrOfLms, nrOfItems - KMaxNrOfLms);
+            err = KErrLocked;
+            while (err != KErrNone)
+                {
+                TRAP(err, ExecuteAndDeleteLD(db->RemoveLandmarksL(idArray)));
+                AssertTrueL(err == KErrNone || err == KErrLocked, _L("DbAccessL: Wrong error code when removing lm"), aMessage, err);
+                }
+            CleanupStack::PopAndDestroy(&idArray);
+            }
+
+        CleanupStack::PopAndDestroy(2, db);
+        
+        stopTime.HomeTime();
+        User::LeaveIfError(stopTime.SecondsFrom(startTime, executionTime));
+        }
+        
+    if (errorsFound)
+        {
+        User::Leave(KErrGeneral);
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp127::SingleDbSearchL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp127::SingleDbSearchL(TDes* aMessage)
+    {
+    // Execute thread for a number of seconds
+    TTime startTime, stopTime;
+    startTime.HomeTime();
+    stopTime.HomeTime();
+    TTimeIntervalSeconds executionTime;
+    User::LeaveIfError(stopTime.SecondsFrom(startTime, executionTime));
+    TInt64 seed = startTime.Int64();
+    TBool errorsFound = EFalse;
+    
+    while (executionTime.Int() < KLongExecutionTimeInSeconds)
+        {
+        CPosLmDatabaseManager* dbMan = CPosLmDatabaseManager::NewL();
+        CleanupStack::PushL(dbMan);
+        CDesCArray* dbList = dbMan->ListDatabasesLC();
+        
+        // Open one of the pre-defined databases
+        TInt index = (TInt) (Math::FRand(seed) * dbList->Count());
+        TPtrC uri = (*dbList)[index];
+// TBD: Both UC and original case need to be checked here due to SDK bug! To be updated. (refer to INC053631 in teamtrack and ESLI-68HK3W in TSW)
+        if (uri.Find(KTestDbUriUC) != KErrNotFound || uri.Find(KTestDbUri) != KErrNotFound)
+            {
+            if (uri.Find(KTestDbUriUC) != KErrNotFound) // To be removed when ESLI-68HK3W is solved
+                {
+                aMessage->Copy(_L("SingleDbSearchL: UPPER CASE of db URI found - check ESLI-68HK3W"));
+                errorsFound = ETrue;
+                }                            
+            // We don't want to search the empty test database
+            CleanupStack::PopAndDestroy(2, dbMan);
+            continue;
+            }
+        CPosLandmarkDatabase* db = NULL;
+        TRAPD(err, db = CPosLandmarkDatabase::OpenL(uri));
+        if (err == KErrLocked)
+            {
+            // Some client is writing to the db. Try again.
+            CleanupStack::PopAndDestroy(2, dbMan);
+            continue;
+            }
+        _LIT(KFormat, "SingleDbSearchL: Wrong error code when opening db %S");
+        TBuf<100> buf;        
+        buf.Format(KFormat, &uri);
+        AssertTrueL(err == KErrNone, buf, aMessage, err);
+        CleanupStack::PushL(db);
+
+        CPosLandmarkSearch* dbSearcher = NULL;
+        TRAP(err, dbSearcher = CPosLandmarkSearch::NewL(*db));
+        AssertTrueL(err == KErrNone, _L("SingleDbSearchL: Wrong error code when calling CPosLandmarkSearch::NewL"), aMessage, err);
+        CleanupStack::PushL(dbSearcher);
+        
+        // Search for landmarks containing a specific string
+        CPosLmTextCriteria* criteria = CPosLmTextCriteria::NewLC();
+        criteria->SetTextL(_L("*as*"));
+        CPosLmOperation* operation = NULL;
+        TRAP(err, operation = dbSearcher->StartLandmarkSearchL(*criteria));
+        AssertTrueL(err == KErrNone || err == KErrLocked, _L("SingleDbSearchL: Wrong error code when creating search op"), aMessage, err);
+        if (operation)
+            {
+            CleanupStack::PushL(operation);
+            TRAP(err, operation->ExecuteL());
+            AssertTrueL(err == KErrNone || err == KErrLocked, _L("SingleDbSearchL: Wrong error code when executing search op"), aMessage, err);
+            CleanupStack::PopAndDestroy(operation);
+            }
+        
+        CleanupStack::PopAndDestroy(5, dbMan);
+
+        stopTime.HomeTime();
+        User::LeaveIfError(stopTime.SecondsFrom(startTime, executionTime));
+        }
+
+    if (errorsFound)
+        {
+        User::Leave(KErrGeneral);
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp127::MultipleDbSearchL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp127::MultipleDbSearchL(TDes* aMessage)
+    {
+    // Execute thread for a number of seconds
+    TTime startTime, stopTime;
+    startTime.HomeTime();
+    stopTime.HomeTime();
+    TTimeIntervalSeconds executionTime;
+    User::LeaveIfError(stopTime.SecondsFrom(startTime, executionTime));
+/*    
+    RArray<RIdArray> expectedResult; // contains expected matches when search patern is *e*
+    CleanupClosePushL(expectedResult);
+    
+    RIdArray array1;
+    CleanupClosePushL(array1);
+    array1.AppendL(4); // vegetariskt
+    array1.AppendL(5); // Inte sa bra
+    array1.AppendL(8); // Medel
+    array1.AppendL(9); // Medel2
+    array1.AppendL(12); // GatesB    
+    array1.AppendL(13); // Text"'1
+    array1.AppendL(14); // GatesF
+    array1.AppendL(15); // xStekt
+    array1.AppendL(18); // enat?r
+    array1.AppendL(19); // enator
+    expectedResult.AppendL(array1);
+    
+    RIdArray array2;
+    CleanupClosePushL(array2);
+    for (TInt i = 29; i <= 40; i++)
+        {
+        array2.AppendL(i); // Unique - Text10
+        }
+    expectedResult.AppendL(array2);
+    
+    RIdArray array3;
+    CleanupClosePushL(array3);
+    array3.AppendL(45); // Several
+    array3.AppendL(51); // PellesPizza
+    array3.AppendL(52); // Kalles Hundgård
+    for (TInt i = 54; i <= 60; i++)
+        {
+        array3.AppendL(i); // TE, Gårda - TE, Oulu
+        }
+    expectedResult.AppendL(array3);
+
+    RIdArray array4;
+    CleanupClosePushL(array4);
+    array4.AppendL(61); // TE, Tampere
+    array4.AppendL(62); // Nokia, Köpenhamn
+    array4.AppendL(65); // Tampere
+    array4.AppendL(66); // Helsinki
+    array4.AppendL(67); // Bengtfors
+    array4.AppendL(70); // Göteborg
+    array4.AppendL(71); // PallesPalör
+    array4.AppendL(72); // Läkare utan gränser
+    array4.AppendL(74); // Läkargruppen
+    array4.AppendL(75); // Läkarhuset
+    array4.AppendL(76); // Sahlgrenska
+    array4.AppendL(77); // östra sjukhuset
+    array4.AppendL(80); // GöteborgsTaxi
+    expectedResult.AppendL(array4);
+
+    RIdArray array5;
+    CleanupClosePushL(array5);
+    array5.AppendL(81); // LandvetterTaxi
+    array5.AppendL(84); // Länsmuseumet
+    array5.AppendL(85); // Sjöfartsmuseumet
+    array5.AppendL(86); // KinaMuseumet
+    array5.AppendL(88); // Etnogfrafiska
+    array5.AppendL(89); // TekniskaMuseumet
+    array5.AppendL(91); // Centrum dagiset
+    array5.AppendL(93); // Lackarbäcks daghem
+    for (TInt i = 95; i <= 100; i++)
+        {
+        array5.AppendL(i); // TE dagis - krokslätts frisörerna
+        }
+    expectedResult.AppendL(array5);
+*/
+    RArray<TInt> nrOfExpectedMatches; // contains the number of matches for each db when search pattern is *e*
+    CleanupClosePushL(nrOfExpectedMatches);
+    nrOfExpectedMatches.AppendL(10);
+    nrOfExpectedMatches.AppendL(12);
+    nrOfExpectedMatches.AppendL(10);
+    nrOfExpectedMatches.AppendL(13);
+    nrOfExpectedMatches.AppendL(14);
+    
+    while (executionTime.Int() < KLongExecutionTimeInSeconds)
+        {
+        CDesCArray* dbList = new (ELeave) CDesCArrayFlat(5);
+        CleanupStack::PushL(dbList);
+        dbList->AppendL(KDb20);
+        dbList->AppendL(KDb40);
+        dbList->AppendL(KDb60);
+        dbList->AppendL(KDb80);
+        dbList->AppendL(KDb105);
+        CPosLmMultiDbSearch* dbSearcher = CPosLmMultiDbSearch::NewL(*dbList);
+        CleanupStack::PushL(dbSearcher);
+        
+        // Search for landmarks containing a specific string in name
+        CPosLmTextCriteria* criteria = CPosLmTextCriteria::NewLC();
+        criteria->SetTextL(_L("*e*"));
+        criteria->SetAttributesToSearch(CPosLandmark::ELandmarkName);
+        CPosLmOperation* operation = NULL;
+        TRAPD(err, operation = dbSearcher->StartLandmarkSearchL(*criteria))
+        AssertTrueL(err == KErrNone || err == KErrLocked, _L("MultipleDbSearchL: Wrong error code when creating search op"), aMessage, err);
+        if (operation)
+            {
+            CleanupStack::PushL(operation);
+            TRAP(err, operation->ExecuteL());
+            AssertTrueL(err == KErrNone || err == KErrLocked, _L("MultipleDbSearchL: Wrong error code when executing search op"), aMessage, err);
+            CleanupStack::PopAndDestroy(operation);
+            }
+        
+        // Check errors
+        RArray<TInt> dbsWithErrors;
+        CleanupClosePushL(dbsWithErrors);
+        TUint nrOfSearchErrors = dbSearcher->NumOfSearchErrors();
+        for (TUint i = 0; i < nrOfSearchErrors; i++)
+            {
+            CPosLmMultiDbSearch::TSearchError error;
+            dbSearcher->GetSearchError(i, error);
+            AssertTrueL(error.iErrorCode == KErrLocked, _L("MultipleDbSearchL: Wrong error code when searching"), aMessage, error.iErrorCode);
+            dbsWithErrors.AppendL(error.iDatabaseIndex);
+            }
+            
+        // Check number of matches
+        for (TInt i = 0; i < dbList->Count(); i++)
+            {
+            if (dbsWithErrors.Find(i) == KErrNotFound)
+                {
+                TInt nrOfMatches = dbSearcher->NumOfMatches(i);
+                TInt expectedResult = nrOfExpectedMatches[i];
+				AssertTrueL(nrOfMatches == expectedResult, _L("MultipleDbSearchL: Wrong number of matches"), aMessage);
+                }
+            }
+        
+        CleanupStack::PopAndDestroy(4, dbList);
+        
+        stopTime.HomeTime();
+        User::LeaveIfError(stopTime.SecondsFrom(startTime, executionTime));
+        }
+        
+    CleanupStack::PopAndDestroy(&nrOfExpectedMatches);
+    }
+
+// ---------------------------------------------------------
+// CPosTp127::CopyLockedDatabaseL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp127::CopyLockedDatabaseL(TDes* aMessage)
+    {
+    TBool lockThreadExists = ThreadExistsL(KLockThreadSearchPattern);
+    if (lockThreadExists)
+        {
+        // Let lock thread launch first
+        User::After(KLockThreadStartupTime);
+        }
+
+    CPosLmDatabaseManager* dbMan = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(dbMan);
+    CDesCArray* dbList = dbMan->ListDatabasesLC();
+    AssertTrueL(dbList->Count() == KNrOfDatabases, _L("CopyLockedDatabaseL: Wrong number of databases"), aMessage);
+    
+    // Try to copy database. Should result in KErrInUse
+    TRAPD(err, dbMan->CopyDatabaseL((*dbList)[KLockedDbIndex], KTestDbUri));
+// TBD: KErrLocked should not be accepted. Refer to ESLI-68HKE6
+    AssertTrueL(err != KErrLocked, _L("CopyLockedDatabaseL: Wrong error code when copying database - check ESLI-68HKE6"), aMessage, err);
+    AssertTrueL(err == KErrInUse , _L("CopyLockedDatabaseL: Wrong error code when copying database"), aMessage, err);
+    
+    CleanupStack::PopAndDestroy(2, dbMan);
+    }
+    
+// ---------------------------------------------------------
+// CPosTp127::CopyDatabaseL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp127::CopyDatabaseL(TDes* aMessage)
+    {
+    // Execute thread for a number of seconds
+    TTime startTime, stopTime;
+    startTime.HomeTime();
+    stopTime.HomeTime();
+    TTimeIntervalSeconds executionTime;
+    User::LeaveIfError(stopTime.SecondsFrom(startTime, executionTime));
+    TInt64 seed = startTime.Int64();
+    TBool errorsFound = EFalse;
+
+    CPosLmDatabaseManager* dbMan = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(dbMan);
+    while (executionTime.Int() < KShortExecutionTimeInSeconds)
+        {
+        CDesCArray* dbList = dbMan->ListDatabasesLC();
+        
+        // Create a source and a target URI
+        _LIT(KCopy, "_copy");
+        TInt copyLength = KCopy().Length();
+        TInt index = (TInt) (Math::FRand(seed) * dbList->Count());
+        TPtrC sourceUri = (*dbList)[index];
+        HBufC* targetUriBuffer = HBufC::NewLC(sourceUri.Length() + copyLength);
+        TPtr targetUri = targetUriBuffer->Des();
+        targetUri.Copy(sourceUri);
+        targetUri.Insert(targetUri.Length() - 4, KCopy); // 4 == length of ".ldb"
+
+        // Try to copy database. Should result in KErrInUse if locked, KErrNone otherwise
+        TRAPD(err, dbMan->CopyDatabaseL(sourceUri, targetUri));
+        AssertTrueL(err == KErrNone || err == KErrAlreadyExists, _L("CopyDatabaseL: Wrong error code when copying database"), aMessage, err);
+        
+        // Set default database to the created one
+        TRAP(err, dbMan->SetDefaultDatabaseUriL(targetUri));
+        AssertTrueL(err == KErrNone || err == KErrNotFound, _L("CopyDatabaseL: Wrong error code when setting default db to target"), aMessage, err);
+        
+        // Remove the created database
+        err = KErrLocked;
+        while (err != KErrNone && err != KErrNotFound)
+            {
+            TRAP(err, dbMan->DeleteDatabaseL(targetUri));
+            }
+        
+        // Set default database to the source
+        TRAP(err, dbMan->SetDefaultDatabaseUriL(sourceUri));
+        AssertTrueL(err == KErrNone, _L("CopyDatabaseL: Wrong error code when setting default db to source"), aMessage, err);
+        
+        CleanupStack::PopAndDestroy(2, dbList);
+        
+        stopTime.HomeTime();
+        User::LeaveIfError(stopTime.SecondsFrom(startTime, executionTime));
+        }
+        
+    if (errorsFound)
+        {
+        User::Leave(KErrGeneral);
+        }
+    CleanupStack::PopAndDestroy(dbMan);
+    }
+        
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp13.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,417 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include <StifParser.h>
+#include "FT_CPosTp13.h"
+#include <epos_cposlandmarkdatabase.h>
+#include <epos_cposlmcategorymanager.h>
+#include <epos_cposlmtextcriteria.h>
+#include <epos_cposlmcategorycriteria.h>
+#include <epos_cposlandmarksearch.h>
+#include <bautils.h>
+#include "EPos_Landmarks.h"
+           
+//  CONSTANTS
+_LIT(KTP13Db, "eposlm_tp13.ldb");
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp13::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp13::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp13::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp13::StartL(CStifItemParser& /*aItem*/)
+    {
+    _LIT( KTransportName, "Teleport" );
+    _LIT( KPeopleName, "People" );
+    _LIT( KLmAName, "A" );
+    _LIT( KLmBName, "B" );
+    
+    const TInt KTransportGlobalId = 45000;
+    const TInt KPeopleGlobalId = 27000;
+   
+#undef TP13_PREP
+
+#ifdef TP13_PREP    
+    // Preparation code, should be executed in Finnish (non-English) locale
+    // Default database should be removed so that new database is created
+
+    CPosLandmarkDatabase* db = CPosLandmarkDatabase::OpenL();
+    CleanupStack::PushL(db);
+    
+    CPosLmItemIterator* iter = NULL;
+    if ( db->IsInitializingNeeded() )
+        {
+        ExecuteAndDeleteLD( db->InitializeL() );
+        }
+
+    CPosLmCategoryManager* catMan = CPosLmCategoryManager::NewL( *db );
+    CleanupStack::PushL( catMan );
+
+    // Rename global category
+    TPosLmItemId id = catMan->GetGlobalCategoryL( KTransportGlobalId ); 
+    CPosLandmarkCategory* cat = catMan->ReadCategoryLC( id );
+    cat->SetCategoryNameL( KTransportName );
+    catMan->UpdateCategoryL( *cat );
+    CleanupStack::PopAndDestroy( cat );
+
+    // Create user category
+    cat = CPosLandmarkCategory::NewLC();
+    cat->SetCategoryNameL( KPeopleName );
+    TPosLmItemId idUserPeople = catMan->AddCategoryL( *cat );
+    CleanupStack::PopAndDestroy( cat );
+    
+    // Find matching global category
+    TPosLmItemId idPeople = catMan->GetGlobalCategoryL( KPeopleGlobalId );
+    
+    // Create landmark for user's People category
+    CPosLandmark* lmA = CPosLandmark::NewLC();
+    lmA->SetLandmarkNameL( KLmAName );
+    lmA->AddCategoryL( idUserPeople );
+    db->AddLandmarkL( *lmA );
+    CleanupStack::PopAndDestroy( lmA );
+
+    // Create landmark for global People category
+    CPosLandmark* lmB = CPosLandmark::NewLC();
+    lmA->SetLandmarkNameL( KLmBName );
+    lmA->AddCategoryL( idPeople );
+    db->AddLandmarkL( *lmB );
+    CleanupStack::PopAndDestroy( lmB );
+
+    CleanupStack::PopAndDestroy( catMan );
+    CleanupStack::PopAndDestroy( db );
+    
+#else
+    
+    // Test code, should be executed in English locale
+    
+    TInt lang = User::Language();
+    iLog->Log(_L("Current language is %d"), lang);
+
+    if ( lang != ELangEnglish )
+        { 
+        iLog->Log(_L("Wrong language, should be English (1)"));
+        User::Leave( KErrGeneral );
+        }
+    
+    CopyTestDbFileL( KTP13Db );
+    
+    // 1. Open database
+    iLog->Log(_L("1. Open database"));
+
+    CPosLandmarkDatabase* db = CPosLandmarkDatabase::OpenL( KTP13Db );
+    CleanupStack::PushL(db);
+    
+    // 2. Try to use it
+    iLog->Log(_L("2. Try use it"));
+
+    CPosLmItemIterator* iter = NULL;
+    TRAPD( err, iter = db->LandmarkIteratorL() );
+    if ( err != KErrPosLmNotInitialized )
+        {
+        iLog->Log(_L("Unexpected error on uninitialized database"));
+        iErrorsFound++;
+        }
+
+    // 3. Initialize database
+    iLog->Log(_L("3. Init database"));
+
+    if ( db->IsInitializingNeeded() )
+        {
+        ExecuteAndDeleteLD( db->InitializeL() );
+        }
+    else
+        {
+        iLog->Log(_L("Intialization not requried"));
+        iErrorsFound++;
+        }
+
+    // 4. Verify names of global categories
+    iLog->Log(_L("4. Verify globals"));
+
+    CPosLmCategoryManager* catMan = CPosLmCategoryManager::NewL( *db );
+    CleanupStack::PushL( catMan );
+
+    iter = catMan->CategoryIteratorL();
+    CleanupStack::PushL( iter );
+
+    TPosLmItemId id = iter->NextL();
+    while ( id != KPosLmNullItemId )
+        {
+        CPosLandmarkCategory* cat = catMan->ReadCategoryLC( id );
+        TPosLmGlobalCategory globalId = cat->GlobalCategory();
+        
+        TPtrC name;
+        cat->GetCategoryName( name );
+
+        if ( globalId != KTransportGlobalId )
+            {
+            HBufC* globalName = catMan->GlobalCategoryNameL( globalId );
+            if ( name.Compare( *globalName ) != 0 )
+                {
+                iLog->Log( _L("Global category %d name mismatch: actual '%S', predefined '%S'"),
+                    globalId, &name, globalName );
+                iErrorsFound++;
+                }
+            delete globalName;
+            }
+        else // should retain user-defiend name
+            {
+            if ( name.Compare( KTransportName() ) != 0 )
+                {
+                iLog->Log( _L("Global category %d name mismatch: actual '%S', user-defined '%S'"),
+                    globalId, &name, &KTransportName() );
+                iErrorsFound++;
+                }
+            }
+        
+        CleanupStack::PopAndDestroy( cat );
+        id = iter->NextL();
+        }
+    CleanupStack::PopAndDestroy( iter );
+
+    // 5. Verify user-created category People, which now matches global category
+    iLog->Log(_L("5. Verify user's"));
+    TPosLmItemId idPeople = catMan->GetCategoryL( KPeopleName );
+    CPosLandmarkCategory* cat = catMan->ReadCategoryLC( idPeople );
+    TPosLmGlobalCategory idPeopleGlobal = cat->GlobalCategory();
+    if ( idPeopleGlobal != KPeopleGlobalId )
+        {
+        iLog->Log( _L("Global category People ID mismatch: actual '%d', predefined '%d'"),
+            idPeopleGlobal, KPeopleGlobalId );
+        iErrorsFound++;
+        }
+
+    RArray<TPosLmItemId> lmIds;
+    CleanupClosePushL( lmIds );
+    FindLandmarksL( *db, idPeople, lmIds );
+    if ( lmIds.Count() != 2 )
+        {
+        iLog->Log( _L("Global category People landmark list count mismatch: actual '%d', expected '%d'"),
+            lmIds.Count(), 2 );
+        iErrorsFound++;
+        }
+    CleanupStack::PopAndDestroy( &lmIds );
+
+    // verify that those landmarks belong only to People
+    RArray<TPosLmItemId> catIds;
+
+    CPosLandmark* lmA = FindLandmarkLC( *db, KLmAName );
+    lmA->GetCategoriesL( catIds );
+    if ( catIds.Count() != 1 )
+        {
+        iLog->Log( _L("LmA: wrong category list count, actual '%d', expected '%d'"),
+            catIds.Count(), 1 );
+        iErrorsFound++;
+        }
+    if ( catIds.Count() && catIds[0] != idPeople )
+        {
+        iLog->Log( _L("LmB: wrong category in list, actual '%d', expected '%d'"),
+            catIds[0], idPeople );
+        iErrorsFound++;
+        }
+    catIds.Reset();
+    CleanupStack::PopAndDestroy( lmA );
+
+    CPosLandmark* lmB = FindLandmarkLC( *db, KLmBName );
+    lmA->GetCategoriesL( catIds );
+    if ( catIds.Count() != 1 )
+        {
+        iLog->Log( _L("LmB: wrong category list count, actual '%d', expected '%d'"),
+            catIds.Count(), 1 );
+        iErrorsFound++;
+        }
+    if ( catIds.Count() && catIds[0] != idPeople )
+        {
+        iLog->Log( _L("LmB: wrong category in list, actual '%d', expected '%d'"),
+            catIds[0], idPeople );
+        iErrorsFound++;
+        }
+    catIds.Reset();
+    CleanupStack::PopAndDestroy( lmB );
+    CleanupStack::PopAndDestroy( cat );
+    
+    // 6. Reset global categories and verify again
+    iLog->Log(_L("6. Reset and verify globals"));
+    ExecuteAndDeleteLD(catMan->ResetGlobalCategoriesL());
+    
+    iter = catMan->CategoryIteratorL();
+    CleanupStack::PushL( iter );
+
+    id = iter->NextL();
+    while ( id != KPosLmNullItemId )
+        {
+        CPosLandmarkCategory* cat = catMan->ReadCategoryLC( id );
+        TPosLmGlobalCategory globalId = cat->GlobalCategory();
+        
+        TPtrC name;
+        cat->GetCategoryName( name );
+
+        HBufC* globalName = catMan->GlobalCategoryNameL( globalId );
+        if ( name.Compare( *globalName ) != 0 )
+            {
+            iLog->Log( _L("Global category %d name mismatch: actual '%S', predefined '%S'"),
+                globalId, &name, globalName );
+            iErrorsFound++;
+            }
+        delete globalName;
+        CleanupStack::PopAndDestroy( cat );
+        id = iter->NextL();
+        }
+    CleanupStack::PopAndDestroy( iter );
+
+    CleanupStack::PopAndDestroy( catMan );
+    CleanupStack::PopAndDestroy( db );
+    
+    if ( iErrorsFound > 0 )
+        {
+        iLog->Log(_L("Errors found in TP13 = %d"), iErrorsFound );
+        User::Leave( KErrGeneral );
+        }
+#endif
+	}
+
+// ---------------------------------------------------------
+// ---------------------------------------------------------
+//
+CPosLandmark* CPosTp13::FindLandmarkLC( CPosLandmarkDatabase& aDb, const TDesC& aName )
+    {
+    CPosLmTextCriteria* crit = CPosLmTextCriteria::NewLC();
+    crit->SetTextL( aName );
+    crit->SetAttributesToSearch( CPosLandmark::ELandmarkName );
+    
+    CPosLandmarkSearch* search = CPosLandmarkSearch::NewL( aDb );
+    CleanupStack::PushL( search );
+    
+    CPosLmOperation* op = search->StartLandmarkSearchL( *crit );
+    CleanupStack::PushL( op );
+    op->ExecuteL();
+    
+    CPosLmItemIterator* iter = search->MatchIteratorL();
+    CleanupStack::PushL( iter );
+    RArray<TPosLmItemId> lmIds;
+    iter->GetItemIdsL( lmIds, 0, iter->NumOfItemsL() );
+    CleanupClosePushL( lmIds );
+    
+    if ( lmIds.Count() < 1 )
+        {
+        iLog->Log(_L("Couldn't find landmarks, which match name '%S'"), &aName );
+        User::Leave( KErrNotFound );
+        }
+    else
+        {
+        iLog->Log(_L("Found %d landmarks, which match name '%S'"), lmIds.Count(), &aName );
+        }
+    
+    CPosLandmark* lm = aDb.ReadLandmarkLC( lmIds[0] );
+    CleanupStack::Pop();
+    
+    CleanupStack::PopAndDestroy( &lmIds );
+    CleanupStack::PopAndDestroy( iter );
+    CleanupStack::PopAndDestroy( op );
+    CleanupStack::PopAndDestroy( search );
+    CleanupStack::PopAndDestroy( crit );
+    
+    CleanupStack::PushL( lm );
+    return lm;
+    }
+
+// ---------------------------------------------------------
+// ---------------------------------------------------------
+//
+void CPosTp13::FindLandmarksL( 
+    CPosLandmarkDatabase& aDb, 
+    TPosLmItemId aCategoryId,  
+    RArray<TPosLmItemId>& aLmIds )
+    {
+    CPosLmCategoryCriteria* crit = CPosLmCategoryCriteria::NewLC();
+    crit->SetCategoryItemId( aCategoryId );
+    
+    CPosLandmarkSearch* search = CPosLandmarkSearch::NewL( aDb );
+    CleanupStack::PushL( search );
+    
+    CPosLmOperation* op = search->StartLandmarkSearchL( *crit );
+    CleanupStack::PushL( op );
+    op->ExecuteL();
+    
+    CPosLmItemIterator* iter = search->MatchIteratorL();
+    CleanupStack::PushL( iter );
+
+    iter->GetItemIdsL( aLmIds, 0, iter->NumOfItemsL() );
+
+    CleanupStack::PopAndDestroy( iter );
+    CleanupStack::PopAndDestroy( op );
+    CleanupStack::PopAndDestroy( search );
+    CleanupStack::PopAndDestroy( crit );
+    }
+
+// ---------------------------------------------------------
+// ---------------------------------------------------------
+//
+void CPosTp13::ListCategoriesL( CPosLmCategoryManager& aCatMan )
+    {
+    iLog->Log(_L("--- Global Categories ---"));
+
+    CPosLmItemIterator* iter = aCatMan.CategoryIteratorL();
+    CleanupStack::PushL(iter);
+	TBuf<50> buffe;
+
+    TPosLmItemId idde = iter->NextL();
+    while (idde != KPosLmNullItemId)
+        {       
+        CPosLandmarkCategory* cat = aCatMan.ReadCategoryLC(idde);
+
+        TPtrC name;
+        cat->GetCategoryName(name);
+
+        TPosLmGlobalCategory globalId = cat->GlobalCategory();
+
+        TPtrC iconName;
+        TInt iconNr;
+        TInt iconMaskIndex;
+        cat->GetIcon(iconName, iconNr, iconMaskIndex);
+        
+        iLog->Log(_L("Category %d, globalId %d, name '%S', icon {'%S',%d,%d}"),
+            cat->CategoryId(), cat->GlobalCategory(), &name, &iconName, iconNr, iconMaskIndex );
+
+        CleanupStack::PopAndDestroy(cat); 
+
+        idde = iter->NextL();
+        }
+    CleanupStack::PopAndDestroy(iter);
+
+	iLog->Log(_L("------"));
+    }
+
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp130.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,738 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp130.h"
+#include "FT_LandmarkConstants.h"
+#include <EPos_CPosLmMultiDbSearch.h>
+#include <EPos_CPosLmTextCriteria.h>
+#include <EPos_CPosLmDatabaseManager.h>
+#include <EPos_CPosLmItemIterator.h>
+#include <EPos_TPosLmSortPref.h>
+#include <EPos_CPosLmCatNameCriteria.h>
+#include "badesca.h"
+
+//  CONSTANTS
+const TInt KNrOfDatabases = 5;
+_LIT(KSearchPattern, "*e*");  
+
+class CNamedLmItem : public CBase
+	{
+	public:
+		~CNamedLmItem() { delete iName; };
+		TPosLmItemId iId;
+		HBufC* iName;
+		
+		static TInt CompareByName( const CNamedLmItem& aLeft, const CNamedLmItem& aRight )
+			{
+			return aLeft.iName->CompareC( *aRight.iName );
+			};
+	};
+
+// ================= LOCAL FUNCTIONS =======================
+
+void ResetAndDestroy(TAny* aAny)
+    {
+    RPointerArray<CPosLmItemIterator>* pointerArray = 
+        reinterpret_cast <RPointerArray<CPosLmItemIterator>*> (aAny);
+    pointerArray->ResetAndDestroy();
+    }
+
+void ResetAndDestroyNamedLmItem(TAny* aAny)
+    {
+    RPointerArray<CNamedLmItem>* pointerArray = 
+        reinterpret_cast <RPointerArray<CNamedLmItem>*> (aAny);
+    pointerArray->ResetAndDestroy();
+    }
+
+// ================= MEMBER FUNCTIONS =======================
+// ---------------------------------------------------------
+// CPosTp130::InitTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp130::InitTestL()
+    {
+    CLandmarkTestProcedureBase::InitTestL();
+    
+    // PrepareDatabases
+    const TInt KNrOfDatabases = 5;
+    RemoveAllLmDatabasesL();
+    // Get the list of Dbs remaining after removing the possible ones.
+    CPosLmDatabaseManager* dbMan = CPosLmDatabaseManager::NewL();
+        CleanupStack::PushL(dbMan);
+        iDbUris = dbMan->ListDatabasesLC();
+        iInitialDbCount = iDbUris->Count();
+        CleanupStack::PopAndDestroy(iDbUris);
+    CopyTestDbFileL(KDb20);
+    CopyTestDbFileL(KDb40);
+    CopyTestDbFileL(KDb60);
+    CopyTestDbFileL(KDb80);
+    CopyTestDbFileL(KDb105);
+    
+    // List databases
+    
+    iDbUris = dbMan->ListDatabasesLC();
+    CleanupStack::Pop(iDbUris);
+    AssertTrueSecL(iDbUris->Count() == iInitialDbCount+KNrOfDatabases, _L("Wrong number of test databases!"));
+    CleanupStack::PopAndDestroy(dbMan);
+    
+    // Get only the list of dburi in which this test case operations need to be performed
+        TInt dbUriCount = iDbUris->Count();
+        
+        for ( TInt i= 0;i < dbUriCount;i++)
+            {
+        iLog->Log((*iDbUris)[i]);
+        // Action to be performed only on the newly added dbs in this test case, therefore remove any other 
+        // db apart from the ones added in this test case from the iDbUris list
+            TPtrC dbUri((*iDbUris)[i]);
+                if ( (dbUri != KDb20Uri) && (dbUri != KDb40Uri) && (dbUri != KDb60Uri) &&
+                       ( dbUri != KDb80Uri) && (dbUri != KDb105Uri) )
+                    {
+                iDbUris->Delete(i);
+                    }
+
+            }
+    
+    iDbSearcher = CPosLmMultiDbSearch::NewL(*iDbUris);
+    
+    // Initialize expected landmark search result
+    
+    for ( TInt i = 0; i < iDbUris->Count(); i++ )
+    	{
+        RIdArray* lmArray = new (ELeave) RIdArray;
+        InitExpectedResultsL( (*iDbUris)[i], *lmArray, ETrue );
+        iExpectedLmResult.AppendL( lmArray );
+
+        RIdArray* catArray = new (ELeave) RIdArray;
+        InitExpectedResultsL( (*iDbUris)[i], *catArray, EFalse );
+        iExpectedCatResult.AppendL( catArray );
+    	}
+
+    }
+    
+// ---------------------------------------------------------
+// CPosTp130::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp130::CloseTest()
+    {
+    delete iDbUris;
+    delete iDbSearcher;
+    for (TInt i = 0; i < iExpectedLmResult.Count(); i++)
+        {
+        iExpectedLmResult[i]->Close();
+        iExpectedCatResult[i]->Close();
+        }
+    iExpectedLmResult.ResetAndDestroy();
+    iExpectedCatResult.ResetAndDestroy();
+    }
+    
+// ---------------------------------------------------------
+// CPosTp130::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp130::StartL()
+    {
+    // nrOfExpectedMatches contains the number of matches for each db when search pattern is *e*
+    RArray<TInt> nrOfExpectedMatches;
+    CleanupClosePushL(nrOfExpectedMatches);
+    for (TInt i = 0; i < KNrOfDatabases; i++)
+        {
+        nrOfExpectedMatches.AppendL((*iExpectedLmResult[i]).Count());
+        }
+
+// 1. Search for landmarks
+    iLog->Log(_L("1"));
+    SearchForLandmarksL();    
+    
+// 2-9. Verify result
+    iLog->Log(_L("2-9"));
+    VerifyIteratorsL(nrOfExpectedMatches, ETrue);
+    
+    iLog->Log(_L("10.true"));
+// 10. Test iterators dynamically
+    TestMatchIteratorL(ETrue);
+    iLog->Log(_L("10.false"));
+    TestMatchIteratorL(EFalse);
+    
+    iLog->Log(_L("11"));
+// 11. Test error codes
+    TestErrorCodesL();
+    
+    iLog->Log(_L("12"));
+// 12. Check iterators from matching categories
+    nrOfExpectedMatches.Reset();
+    for (TInt i = 0; i < KNrOfDatabases; i++)
+        {
+        nrOfExpectedMatches.AppendL((*iExpectedCatResult[i]).Count());
+        }
+    SearchForCategoriesL();
+    VerifyIteratorsL(nrOfExpectedMatches, EFalse);
+    CleanupStack::PopAndDestroy(&nrOfExpectedMatches);
+    }
+
+// ---------------------------------------------------------
+// CPosTp130::SearchForLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp130::SearchForLandmarksL()
+    {
+    // Search for landmarks containing a specific string in name
+    CPosLmTextCriteria* criteria = CPosLmTextCriteria::NewLC();
+    criteria->SetTextL(KSearchPattern);
+    criteria->SetAttributesToSearch(CPosLandmark::ELandmarkName);
+
+    // Do the search    
+    ExecuteAndDeleteLD(iDbSearcher->StartLandmarkSearchL(*criteria));
+    
+    // Check errors
+    TUint nrOfSearchErrors = iDbSearcher->NumOfSearchErrors();
+    AssertTrueSecL(nrOfSearchErrors == 0, _L("Found errors during search"));
+    
+    CleanupStack::PopAndDestroy(criteria);
+    }
+    
+// ---------------------------------------------------------
+// CPosTp130::SearchForCategoriesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp130::SearchForCategoriesL()
+    {
+    // Search for categories containing a specific string in name
+    CPosLmCatNameCriteria* criteria = CPosLmCatNameCriteria::NewLC();
+    criteria->SetSearchPatternL(KSearchPattern);
+
+    // Do the search    
+    ExecuteAndDeleteLD(iDbSearcher->StartCategorySearchL(*criteria, CPosLmCategoryManager::ECategorySortOrderNone));
+    
+    // Check errors
+    TUint nrOfSearchErrors = iDbSearcher->NumOfSearchErrors();
+    AssertTrueSecL(nrOfSearchErrors == 0, _L("Found errors during search"));
+    
+    CleanupStack::PopAndDestroy(criteria);
+    }
+    
+// ---------------------------------------------------------
+// CPosTp130::VerifyIteratorsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp130::VerifyIteratorsL(RArray<TInt>& aNrOfExpectedItems, TBool aLm)
+    {    
+    RPointerArray<CPosLmItemIterator> iterators;
+    CleanupClosePushL(iterators);
+    CleanupStack::PushL(TCleanupItem(ResetAndDestroy, &iterators));
+    
+    TInt totalNrOfMatches(0), totalNrOfExpectedMatches(0);
+    for (TInt i = 0; i < iDbUris->Count(); i++)
+        {
+        // 2. Ask for the iterator for each database
+        iterators.AppendL(iDbSearcher->MatchIteratorL(i));
+        
+        // 3. Verify that the number of each iterator equals to the expected result
+        AssertTrueSecL(aNrOfExpectedItems[i] == iterators[i]->NumOfItemsL(), _L("aNrOfExpectedItems[i] != iterators[i]->NumOfItemsL()"));
+        AssertTrueSecL(aNrOfExpectedItems[i] == iDbSearcher->NumOfMatches(i), _L("aNrOfExpectedItems[i] != iDbSearcher->NumOfMatches(i)"));
+        
+        totalNrOfExpectedMatches += aNrOfExpectedItems[i];
+        totalNrOfMatches += iterators[i]->NumOfItemsL();
+        }
+        
+    // 4. Verify that the total number of matches equals the sum of expected
+    AssertTrueSecL(totalNrOfMatches == totalNrOfExpectedMatches, _L("totalNrOfMatches != totalNrOfExpectedMatches"));
+    AssertTrueSecL(totalNrOfMatches == iDbSearcher->TotalNumOfMatches(), _L("totalNrOfMatches != iDbSearcher->TotalNumOfMatches()"));
+    
+    for (TInt dbIndex = 0; dbIndex < iDbUris->Count(); dbIndex++)
+        {
+        // 5. Ask for the first item in each iterator
+        TPosLmItemId id1 = iterators[dbIndex]->NextL();
+        
+        // 6. Perform an operation on the first item, e.g. read it from db
+        CPosLandmarkDatabase* db = CPosLandmarkDatabase::OpenL((*iDbUris)[dbIndex]);
+        CleanupStack::PushL(db);
+        if (aLm)
+            {            
+            CPosLandmark* lm = db->ReadLandmarkLC(id1);
+            TPtrC name;
+            lm->GetLandmarkName(name);
+            AssertTrueSecL(name.MatchC(KSearchPattern) != KErrNotFound, _L("First lm in iterator does not contain \"e\""));
+            CleanupStack::PopAndDestroy(lm);
+            }
+        else
+            {
+            CPosLmCategoryManager* catMan = CPosLmCategoryManager::NewL(*db);
+            CleanupStack::PushL(catMan);
+            CPosLandmarkCategory* cat = catMan->ReadCategoryLC(id1);
+            TPtrC name;
+            cat->GetCategoryName(name);
+            AssertTrueSecL(name.MatchC(KSearchPattern) != KErrNotFound, _L("First category in iterator does not contain \"e\""));            
+            CleanupStack::PopAndDestroy(2, catMan);
+            }
+        CleanupStack::PopAndDestroy(db);
+        
+        RIdArray allIds;
+        CleanupClosePushL(allIds);        
+        
+        // 7. Reset iterator and ask for next item
+        iterators[dbIndex]->Reset();
+        TPosLmItemId id2 = iterators[dbIndex]->NextL();
+        AssertTrueSecL(id1 == id2, _L("id1 != id2"));
+        allIds.AppendL(id2);
+        
+        // 8. Iterate until there are no more items to iterate
+        while (id2 != KPosLmNullItemId)
+            {
+            id2 = iterators[dbIndex]->NextL();
+            allIds.AppendL(id2);
+            }
+        AssertTrueSecL(id2 == KPosLmNullItemId, _L("id2 != KPosLmNullItemId"));
+        
+        // 9. Ask for sequences of iterator
+        RIdArray idArray;
+        CleanupClosePushL(idArray);
+        TInt nrOfItems = iterators[dbIndex]->NumOfItemsL();
+        for (TInt iterIndex = 0; iterIndex < nrOfItems; iterIndex++)
+            {
+            // Get sequence of the tail of the iterator
+            iterators[dbIndex]->GetItemIdsL(idArray, iterIndex, nrOfItems - iterIndex);
+            AssertTrueSecL(idArray.Count() == nrOfItems - iterIndex, _L("A: Wrong number of items in id array"));
+            for (TInt i = iterIndex; i < nrOfItems - iterIndex; i++)
+                {
+                id1 = idArray[i - iterIndex];
+                id2 = allIds[i];
+                AssertTrueSecL(id1 == id2, _L("A: Unexpected id in part of all ids array"));
+                }
+            
+            // Get sequence of the nose of the iterator
+            iterators[dbIndex]->GetItemIdsL(idArray, 0, iterIndex);
+            AssertTrueSecL(idArray.Count() == iterIndex, _L("B: Wrong number of items in id array"));
+            for (TInt j = 0; j < iterIndex; j++)
+                {
+                id1 = idArray[j];
+                id2 = allIds[j];
+                AssertTrueSecL(id1 == id2, _L("B: Unexpected id in part of all ids array"));
+                }
+            }
+        CleanupStack::PopAndDestroy(2, &allIds);
+        }
+        
+    CleanupStack::PopAndDestroy(2, &iterators);
+    }
+       
+// ---------------------------------------------------------
+// CPosTp130::TestErrorCodesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp130::TestErrorCodesL()
+    {
+    // No error codes to test
+    }
+
+// ---------------------------------------------------------
+// CPosTp130::TestMatchIteratorL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp130::TestMatchIteratorL(TBool aSearchLm)
+    {    
+    CMatchIteratorTester* matchIterTester = CMatchIteratorTester::NewLC(iDbUris, iLog);
+    CPosLmOperation* operation = NULL;
+    
+    if (aSearchLm)
+        {        
+        CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+        textCriteria->SetTextL(KSearchPattern);
+        textCriteria->SetAttributesToSearch(CPosLandmark::ELandmarkName);
+        TPosLmSortPref sortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+        operation = iDbSearcher->StartLandmarkSearchL(*textCriteria, sortPref);
+        CleanupStack::PopAndDestroy(textCriteria);
+        
+        CleanupStack::PushL(operation);
+        matchIterTester->RunTestL(iDbSearcher, operation, iExpectedLmResult);
+        CleanupStack::Pop(operation); // ownership transferred
+        }
+    else
+        {
+        CPosLmCatNameCriteria* criteria = CPosLmCatNameCriteria::NewLC();
+        criteria->SetSearchPatternL(KSearchPattern);
+        operation = iDbSearcher->StartCategorySearchL(*criteria, CPosLmCategoryManager::ECategorySortOrderNameAscending);
+        CleanupStack::PopAndDestroy(criteria);
+        
+        CleanupStack::PushL(operation);
+        matchIterTester->RunTestL(iDbSearcher, operation, iExpectedCatResult);
+        CleanupStack::Pop(operation); // ownership transferred
+        }        
+    
+    TInt error = matchIterTester->Result();
+    if (error != KErrNone)
+        {
+        TPtrC msg;
+        matchIterTester->GetErrorMsg(msg);
+        
+        iLog->Log(msg);
+        User::Leave(error);
+        }
+        
+    CleanupStack::PopAndDestroy(matchIterTester);
+    }
+
+// ---------------------------------------------------------
+// ---------------------------------------------------------
+//
+void CPosTp130::InitExpectedResultsL( const TDesC& aDbName, RIdArray& aArray, TBool aSearchLm )
+    {    
+    iLog->Log( aDbName );
+    CPosLandmarkDatabase* db = CPosLandmarkDatabase::OpenL( aDbName );
+    CleanupStack::PushL( db );
+    
+    if ( db->IsInitializingNeeded() )
+    	{
+    	ExecuteAndDeleteLD( db->InitializeL() );
+    	}
+    
+	CPosLmCategoryManager* catman = CPosLmCategoryManager::NewL( *db );
+    CleanupStack::PushL( catman );
+
+    RPointerArray<CNamedLmItem> items;
+    CleanupStack::PushL( TCleanupItem( ResetAndDestroyNamedLmItem, &items ) );
+    
+    CPosLmItemIterator* iter = NULL;
+    if ( aSearchLm )
+    	{
+    	iter = db->LandmarkIteratorL();
+    	}
+    else
+    	{
+        iter = catman->CategoryIteratorL();
+    	}
+    CleanupStack::PushL( iter );
+    
+    TPosLmItemId id = iter->NextL();
+    while ( id != KPosLmNullItemId )
+    	{
+    	CNamedLmItem* item = new (ELeave) CNamedLmItem;
+        CleanupStack::PushL( item );
+        
+        item->iId = id;
+        
+    	TPtrC name;
+        if ( aSearchLm )
+        	{
+        	CPosLandmark* lm = db->ReadLandmarkLC( id );
+        	lm->GetLandmarkName( name );
+        	item->iName = name.AllocL();
+        	CleanupStack::PopAndDestroy( lm );
+        	}
+        else
+        	{
+        	CPosLandmarkCategory* cat = catman->ReadCategoryLC( id );
+        	cat->GetCategoryName( name );
+        	item->iName = name.AllocL();
+        	CleanupStack::PopAndDestroy( cat );
+        	}
+        
+        if ( item->iName->MatchC( KSearchPattern ) != KErrNotFound ) 
+        	{
+	        items.AppendL( item );
+	        CleanupStack::Pop( item );
+        	}
+        else
+        	{
+        	CleanupStack::PopAndDestroy( item );
+        	}
+        id = iter->NextL();
+    	}
+    CleanupStack::PopAndDestroy( iter );
+    
+    TLinearOrder<CNamedLmItem> order( CNamedLmItem::CompareByName );
+    items.Sort( order );
+    
+    aArray.Reset();
+    for( TInt i = 0; i < items.Count(); i++ )
+    	{
+    	aArray.AppendL( items[i]->iId );
+        iLog->Log( _L("id: %d, name = '%S'"), items[i]->iId, items[i]->iName );
+    	}
+    
+    CleanupStack::PopAndDestroy(); // items
+    CleanupStack::PopAndDestroy( catman );
+    CleanupStack::PopAndDestroy( db );
+    }
+
+// ================= CMatchIteratorTester MEMBER FUNCTIONS =======================
+
+// Constructor
+CMatchIteratorTester::CMatchIteratorTester(
+		CDesCArray* aDbUris, CStifLogger* aLog )
+: CActive(CActive::EPriorityStandard), 
+iDbUris(aDbUris), iLog( aLog )
+    {
+    CActiveScheduler::Add(this);
+    }
+
+// Destructor
+CMatchIteratorTester::~CMatchIteratorTester() 
+    {
+    Cancel();
+    delete iErrorMsg;
+    delete iOperation;
+    iIterators.ResetAndDestroy();
+    }
+
+// ---------------------------------------------------------
+// CMatchIteratorTester::NewLC
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+CMatchIteratorTester* CMatchIteratorTester::NewLC(
+	CDesCArray* aDbUris, CStifLogger* aLog)
+    {
+    CMatchIteratorTester* self = 
+    	new (ELeave) CMatchIteratorTester(aDbUris, aLog);
+    CleanupStack::PushL(self);
+    return self;
+    }
+
+// ---------------------------------------------------------
+// CMatchIteratorTester::RunL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CMatchIteratorTester::RunL()
+    {       
+    iResult = iStatus.Int();    
+    VerifyIteratorsL(iResult);
+    
+    if (iStatus.Int() == KPosLmOperationNotComplete)
+        {        
+        iOperation->NextStep(iStatus, iProgress);
+        SetActive();
+        }
+    else
+        {
+        CActiveScheduler::Stop();
+        }
+    }
+    
+// ---------------------------------------------------------
+// CMatchIteratorTester::DoCancel
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CMatchIteratorTester::DoCancel()
+    {
+    delete iOperation;
+    iOperation = NULL;
+    }
+    
+// ---------------------------------------------------------
+// CMatchIteratorTester::RunError
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt CMatchIteratorTester::RunError(TInt aError)
+    {
+    iResult = aError;
+    CActiveScheduler::Stop();
+    return KErrNone;
+    }
+    
+// ---------------------------------------------------------
+// CMatchIteratorTester::RunTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CMatchIteratorTester::RunTestL(
+    CPosLmMultiDbSearch* aMultiSearcher,
+    CPosLmOperation* aSearchOperation,
+    RPointerArray<RIdArray>& aExpectedResult)
+    {
+    iMultiSearcher = aMultiSearcher;
+    iExpectedResult = &aExpectedResult;
+    iOperation = aSearchOperation;
+    
+    // Initialize iIterators
+    for (TInt i = 0; i < iMultiSearcher->NumOfDatabasesToSearch(); i++)
+        {
+        CPosLmItemIterator* iterator = iMultiSearcher->MatchIteratorL(i);
+        CleanupStack::PushL(iterator);
+        User::LeaveIfError(iIterators.Append(iterator));
+        CleanupStack::Pop(iterator);
+        }
+    
+    iOperation->NextStep(iStatus, iProgress);
+    SetActive();
+    CActiveScheduler::Start();
+    }
+    
+// ---------------------------------------------------------
+// CMatchIteratorTester::Result
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt CMatchIteratorTester::Result() const 
+    {
+    return iResult;
+    }        
+
+// ---------------------------------------------------------
+// CMatchIteratorTester::GetErrorMsg
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CMatchIteratorTester::GetErrorMsg(TPtrC& aMsg) const
+    {
+    aMsg.Set(*iErrorMsg);
+    }
+    
+// ---------------------------------------------------------
+// CMatchIteratorTester::VerifyIteratorsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CMatchIteratorTester::VerifyIteratorsL(TInt aResult)
+    {
+    for (TInt dbIndex = 0; dbIndex < iMultiSearcher->NumOfDatabasesToSearch(); dbIndex++)
+        {
+        CPosLmItemIterator* iterator = iMultiSearcher->MatchIteratorL(dbIndex);
+        CleanupStack::PushL(iterator);
+        CompareIteratorsL(*iterator, *iIterators[dbIndex]);
+        delete iIterators[dbIndex];
+        iIterators[dbIndex] = iterator;
+        CleanupStack::Pop(iterator);
+        
+        // Verify matches are correct
+        TBuf<50> buf;
+        iterator->Reset();
+        TPosLmItemId id = iterator->NextL();
+        while (id != KPosLmNullItemId)
+            {
+            if ((*(*iExpectedResult)[dbIndex]).Find(id) == KErrNotFound)
+                {
+                buf.Format(_L("Cannot find match %d in expected result"), id );
+                SetErrorAndLeaveL(buf);
+                }
+            id = iterator->NextL();
+            }
+            
+        if (aResult == KErrNone) // Search is completed - result should be sorted ascending
+            {
+            RIdArray idArray;
+            CleanupClosePushL(idArray);
+            TInt nrOfItems = iterator->NumOfItemsL();
+            iterator->GetItemIdsL(idArray, 0, nrOfItems);
+            for (TInt i = 0; i < nrOfItems; i++)
+                {
+                TPosLmItemId id1 = idArray[i];
+                TPosLmItemId id2 = (*(*iExpectedResult)[dbIndex])[i];
+                if (id1 != id2)
+                    {
+                    buf.Format(_L("Sorted result differs, %d != %d"), id1, id2);
+                    SetErrorAndLeaveL(buf);
+                    }
+                }
+                
+            TInt expectedLength = (*(*iExpectedResult)[dbIndex]).Count();
+            if (nrOfItems != expectedLength)
+                {
+                buf.Format(_L("Length of arrays doesnät match, %d != %d"), nrOfItems, expectedLength);
+                SetErrorAndLeaveL(buf);
+                }
+            CleanupStack::PopAndDestroy(&idArray);
+            }
+        }
+    }
+    
+// ---------------------------------------------------------
+// CMatchIteratorTester::CompareIteratorsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CMatchIteratorTester::CompareIteratorsL(
+    CPosLmItemIterator& aNewIter, 
+    CPosLmItemIterator& aOldIter)
+    {
+    TInt oldIterLength = aOldIter.NumOfItemsL();
+    TInt newIterLength = aNewIter.NumOfItemsL();
+    
+    if (newIterLength < oldIterLength)
+        {
+        SetErrorAndLeaveL(_L("aNewIter is shorter than aOldIter"));
+        }
+        
+    // Verify that all the items in the old iterator can be found in the new one
+    if (newIterLength > 0)
+        {
+        RArray<TPosLmItemId> newItemIds;
+        CleanupClosePushL(newItemIds);
+        aNewIter.GetItemIdsL(newItemIds, 0, newIterLength);
+        
+        aOldIter.Reset();
+        TPosLmItemId id = aOldIter.NextL();
+        while (id != KPosLmNullItemId)
+            {
+            TInt err = newItemIds.Find(id);
+            if (err == KErrNotFound)
+                {
+                SetErrorAndLeaveL(_L("aNewIter doesn't match aOldIter"));
+                }
+            id = aOldIter.NextL();
+            }
+            
+        CleanupStack::PopAndDestroy(&newItemIds);
+        }
+    }
+
+// ---------------------------------------------------------
+// CMatchIteratorTester::SetErrorAndLeaveL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CMatchIteratorTester::SetErrorAndLeaveL(const TDesC& aErrMsg)
+    {    
+    delete iErrorMsg; 
+    iErrorMsg = NULL;
+    iErrorMsg = aErrMsg.AllocL();
+    User::Leave(KErrGeneral);
+    }
+    
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp131.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,979 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp131.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLandmarkSearch.h>
+#include <EPos_CPosLmTextCriteria.h>
+#include <EPos_CPosLMItemIterator.h>
+#include <EPos_CPosLmDisplayData.h>
+#include <EPos_CPosLmDisplayItem.h>
+#include <EPos_TPosLMSortPref.h>
+#include "FT_CSearchResult.h"
+#include <LbsPosition.h>
+#include "FT_LandmarkConstants.h"
+     
+// CONSTANTS
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp131::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp131::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+    iSearchResults.ResetAndDestroy();
+        
+    //CHECK TR   Delete of landmarks search - ESLI-5WNG9N
+    delete iDatabase;
+    iDatabase = NULL;
+    
+    iLandmarkSearch->UnsetDisplayData();
+    delete iDisplayData;
+    iDisplayData = NULL;
+
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+    
+    }
+
+// ---------------------------------------------------------
+// CPosTp131::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp131::StartL()
+    {
+    iErrorsFound = KErrNone;
+    // copy test db to the private path
+    _LIT(KTestPath, "c:\\system\\test\\testdata\\");
+
+    CFileMan* fileMan = CFileMan::NewL(iFileSession);
+    CleanupStack::PushL(fileMan);
+
+    TBuf<150> srcPath;
+
+    srcPath.Append(KTestPath);
+    srcPath.Append(KTp131TestDb);
+
+    TInt er = fileMan->Copy(srcPath, KLmTp131DefaultDbPath,
+            CFileMan::EOverWrite);
+    if (er != KErrNone)
+        iLog->Log(_L("Error when copying file"));
+
+    CleanupStack::PopAndDestroy(fileMan);
+    
+    CPosLmDatabaseManager* manager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(manager);
+
+    // This db must exist
+    manager->SetDefaultDatabaseUriL(KTp131TestDb);
+    CleanupStack::PopAndDestroy(manager);
+
+    iDatabase = CPosLandmarkDatabase::OpenL(KTp131TestDb);
+    if (iDatabase->IsInitializingNeeded())
+        {
+        TRAPD( err, ExecuteAndDeleteLD( iDatabase->InitializeL() ) );
+        AssertTrueSecL(err == KErrNone, _L("Init db failed"));
+        }
+
+    iLandmarkSearch = CPosLandmarkSearch::NewL(*iDatabase);
+    AppendSearchResultsL();
+
+    iLog->Log(_L("Testing search with a defined sortorder"));
+    SearchWithSortOrderL(iSearchResults);
+
+    // Test Partial landmarks
+    iLog->Log(_L("Testing search with a defined sortorder for partial landmarks"));
+	SearchPartialLandmarksL(iSearchResults);
+           
+    iLog->Log(_L("Testing reset of DisplayData"));
+    CheckResetL(iSearchResults);
+
+    iLog->Log(_L("Testing cancel and displaydata"));
+    CancelTestL(iSearchResults);
+    
+    // Test DisplayDataItem, create Landmark type
+    TUint dbIndex = 0;
+    CPosLandmark* lm = CPosLandmark::NewLC();
+    lm->SetLandmarkNameL(_L("Tp131Landmarkname"));
+    CPosLmDisplayItem* item = CPosLmDisplayItem::NewL(lm, dbIndex);
+    CleanupStack::PushL(item);
+    
+    CPosLmDisplayItem::TDisplayItemType type = item->DisplayItemType();
+    AssertTrueSecL(type == CPosLmDisplayItem::ELandmarkItem, _L("Wrong TDisplayItemType"));
+    CleanupStack::PopAndDestroy(item);
+    CleanupStack::Pop(lm); // lm deleted when deleting displaydata
+        
+    // Test DisplayDataItem, create Category type
+    CPosLandmarkCategory* category = CPosLandmarkCategory::NewLC();
+    category->SetCategoryNameL(_L("Tp131CategoryName"));
+    item = CPosLmDisplayItem::NewL(category, dbIndex);
+    CleanupStack::PushL(item);
+    type = item->DisplayItemType();
+    
+    AssertTrueSecL(type == CPosLmDisplayItem::ECategoryItem, _L("Wrong TDisplayItemType"));
+    CleanupStack::PopAndDestroy(item);
+    CleanupStack::Pop(category); // category deleted when deleting displaydata
+    
+    if (iErrorsFound != KErrNone) 
+    	{
+    	iLog->Log(_L("Errors were found in TP131"));
+    	User::Leave(-1);
+    	}
+
+    }
+    	
+// ---------------------------------------------------------
+// CPosTp131::ChechPartialLandmarkL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp131::CheckPartialLandmarkL(const CPosLandmark& aLandmark, 
+                                     const CPosLandmark::TAttributes& aAttr, const RArray<TUint>& aReqFields)
+    {
+    _LIT(KPartialIdErr, "Incorrect Id when reading from a Partial landmark");
+    _LIT(KPartialCategoryInfoErr, "Incorrect Category info when reading from a Partial landmark");
+
+    TPosLmItemId id = aLandmark.LandmarkId();
+    AssertTrueSecL(id != 0, KPartialIdErr); 
+    
+    AssertTrueSecL(aLandmark.IsPartial(), _L("Landmark is not partial"));
+    
+    TInt err;
+    TPtrC name;
+    err = aLandmark.GetLandmarkName(name);
+    // Name is always included
+    CheckPartialErrorCodeL(aAttr & CPosLandmark::ELandmarkName, err); 
+    
+    TReal32 coverageR;     
+    err = aLandmark.GetCoverageRadius(coverageR);
+    CheckPartialErrorCodeL(aAttr & CPosLandmark::ECoverageRadius, err);
+    
+    TPtrC desc;
+    err = aLandmark.GetLandmarkDescription(desc); 
+    CheckPartialErrorCodeL(aAttr & CPosLandmark::EDescription, err);
+    
+    TPtrC iconName;
+    TInt iconIndex;
+    TInt iconMaskIndex;
+    err = aLandmark.GetIcon(iconName, iconIndex, iconMaskIndex); 
+    CheckPartialErrorCodeL(aAttr & CPosLandmark::EIcon, err);
+    
+    RArray<TPosLmItemId> categories;
+    CleanupClosePushL(categories);
+
+    aLandmark.GetCategoriesL(categories);
+    if (aAttr & CPosLandmark::ECategoryInfo)
+        {
+        AssertTrueSecL(categories.Count() != 0, KPartialCategoryInfoErr);
+        }
+    else
+        {
+        AssertTrueSecL(categories.Count() == 0, KPartialCategoryInfoErr);
+        }
+    CleanupStack::PopAndDestroy(&categories);
+
+    TLocality loc;
+    err = aLandmark.GetPosition(loc); 
+    CheckPartialErrorCodeL(aAttr & CPosLandmark::EPosition, err);
+    
+    // Check PositionFields    
+    // Check fields from EPositionFieldCompassCapabilitiesBegin up to EPositionFieldMediaCapabilitiesBegin+100 
+    // should be enough to also cover URL
+    for (TInt i=EPositionFieldCompassCapabilitiesBegin; i<EPositionFieldMediaCapabilitiesBegin+100; i++) 
+     	{
+     	TBool avail = aLandmark.IsPositionFieldAvailable((TUint16)i);
+     	TInt found = aReqFields.Find(i);
+     	if (avail && found != KErrNotFound)
+     		{
+     		TPtrC value;
+     		err = aLandmark.GetPositionField((TUint16)aReqFields[found], value);
+     		AssertTrueSecL(err == KErrNone, _L("Could not retrieve positionfield value"), err);
+     		iLog->Log(value);
+     		}
+     	else if (!avail && found != KErrNotFound || avail && found == KErrNotFound)
+     		{
+			// Fields 405 and 802 are not always set     		
+     		if (i!=405 && i!=802)
+     			{
+		 		TBuf<100> buf;
+		 		buf.Format(_L("ERROR: Mismatch in positionfields, id %d were not found"), i);
+		 		iLog->Log(buf);
+		 		iErrorsFound++;
+		 		}
+     		}
+     	}
+    }
+
+// ---------------------------------------------------------
+// CPosTp131::ChechPartialErrorCodeL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp131::CheckPartialErrorCodeL(const TBool aPartial, const TInt aErr)
+    {
+    _LIT(KPartialLmErr, "Incorrect error code returned when reading from a Partial landmark");
+
+    if (aPartial)
+        {
+        AssertTrueSecL(aErr == KErrNone, KPartialLmErr); 
+        }
+    else
+        {
+        AssertTrueSecL(aErr == KErrNotFound, KPartialLmErr);
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp131::SearchPartialLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp131::SearchPartialLandmarksL(const RPointerArray<CSearchResult>& aSearchResults)
+    {
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect");
+    _LIT(KNumOfMatchesErr2, "No. of display data matches is incorrect");
+    _LIT(KSortorderErr, "The sortorder is incorrect");
+   
+    TPosLmSortPref sortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);  
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+    
+    // Set DisplayData
+	iDisplayData = CPosLmDisplayData::NewL();
+    iLandmarkSearch->SetDisplayData(*iDisplayData);
+        
+	// Only do search for index KWhatToSearchFor in lmDbSearchResult.txt
+	// index 11 is MLFW
+	TInt KWhatToSearchFor = 11;
+    textCriteria->SetTextL(aSearchResults[KWhatToSearchFor]->TextCriteria());
+    textCriteria->SetAttributesToSearch(aSearchResults[KWhatToSearchFor]->Attributes());
+    textCriteria->SetPositionFieldsToSearchL(aSearchResults[KWhatToSearchFor]->PositionFields()); 
+
+    RArray<TUint> reqFields;
+    CleanupClosePushL(reqFields);
+    
+    iLog->Log(aSearchResults[KWhatToSearchFor]->TextCriteria());
+    CPosLmPartialReadParameters* partialParam = CPosLmPartialReadParameters::NewLC();
+    
+    CPosLmPartialReadParameters* fakePartialParam = CPosLmPartialReadParameters::NewLC();
+    reqFields.Append(EPositionFieldStreet);
+    fakePartialParam->SetRequestedPositionFields(reqFields);
+    reqFields.Reset();
+
+	// Dont search for all search criteras 
+	// takes just too long time on target (approx 1 hour for this test on target)
+	        	
+	// Search for all combinations from 0 - CPosLandmark::EDescription
+	// Ex attr=0, attr=1, attr=2, attr=3, .....attr=63,
+#ifdef __WINS__	
+    TUint max = CPosLandmark::EDescription;
+    max <<= 1;
+    max -= 1;
+#else
+    TUint max = CPosLandmark::ECategoryInfo;
+    max <<= 1;
+    max -= 1;
+#endif
+    
+    TUint attr=0;
+    for (attr=0; attr<=max; attr++)
+        {
+        partialParam->SetRequestedAttributes(attr);
+        reqFields.Reset();
+        
+        if (attr == 5)
+        	{
+        	// Add EPositionFieldCountry
+        	iLog->Log(_L("Also cover EPositionFieldCountry"));
+        	reqFields.Append(EPositionFieldCountry);
+        	}
+        else if (attr == 12)
+        	{
+        	// Add EPositionFieldCity, EPositionFieldStreet, EPositionFieldCountry
+        	iLog->Log(_L("Also cover EPositionFieldCity, EPositionFieldStreet, EPositionFieldCountry"));
+        	reqFields.Append(EPositionFieldCity);
+        	reqFields.Append(EPositionFieldStreet);
+        	reqFields.Append(EPositionFieldCountry);
+        	
+        	}
+        else if (attr == 32)
+        	{
+        	// Add EPositionFieldMediaLinksStart, EPositionFieldDistrict
+        	iLog->Log(_L("Also cover EPositionFieldMediaLinksStart, EPositionFieldDistrict"));
+        	reqFields.Append(EPositionFieldMediaLinksStart);
+        	reqFields.Append(EPositionFieldDistrict);
+        	}
+        	
+		iDisplayData->UnsetPartialReadParameters();
+        partialParam->SetRequestedPositionFields(reqFields);
+    	iDisplayData->SetPartialReadParametersL(*partialParam);
+    	
+        for (TInt i=0; i<2; i++)
+            {
+            switch (i)
+                {
+                case 0:
+                	{
+                	//**** async
+                	//iLog->Log(_L("*****Async, EDescending"));
+                	sortPref.SetSortByLandmarkAttribute(CPosLandmark::ELandmarkName, TPosLmSortPref::EDescending);
+                    iAscendedSorted = EFalse;
+                    iOperation = iLandmarkSearch->StartLandmarkSearchL(*textCriteria, sortPref, aSearchResults[KWhatToSearchFor]->Redefined());
+                    // Test that if SetPartialReadParametersL is called after search has started it has no affect
+                    iDisplayData->SetPartialReadParametersL(*fakePartialParam);
+                    ExecuteLmOpL();
+                    }
+                    break;
+                case 1:
+                	{
+                	partialParam->SetRequestedPositionFields(reqFields);
+    				iDisplayData->SetPartialReadParametersL(*partialParam);
+    	
+                    sortPref.SetSortByLandmarkAttribute(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+                    //iLog->Log(_L("*****Async EAscending"));
+                    iAscendedSorted = ETrue;
+                    iOperation = iLandmarkSearch->StartLandmarkSearchL(*textCriteria, sortPref, aSearchResults[KWhatToSearchFor]->Redefined());
+                    ExecuteLmOpL();
+                    }
+                    break;
+                }
+            
+            CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+            CleanupStack::PushL(iter);
+            
+            RArray<TPosLmItemId>* searchResults = &aSearchResults[KWhatToSearchFor]->SearchResult();
+            if ((TUint)searchResults->Count() != iLandmarkSearch->NumOfMatches())
+                {
+                TBuf<50> buf;
+                buf.Append(_L("KNumOfMatchesError when searching for "));
+                buf.Append(aSearchResults[KWhatToSearchFor]->TextCriteria());
+                iLog->Log(buf);
+               
+               iLog->Log(KNumOfMatchesErr);
+               User::Leave(-1);
+               
+                }
+                
+            // Check correct displayData
+            AssertTrueSecL(iter->NumOfItemsL() == iDisplayData->Count(), KNumOfMatchesErr2);
+            LandmarksSortL(*searchResults, sortPref);
+            
+            TInt ii=0;
+            TPosLmItemId id = iter->NextL();
+                   
+            for (TInt i=0;i<iDisplayData->Count();i++)
+                {
+                CPosLmDisplayItem& item = iDisplayData->DisplayItem(i);
+                TInt lmId = item.Landmark().LandmarkId();
+
+                CPosLandmark* target = iDatabase->ReadLandmarkLC((*searchResults)[ii]);
+                TPtrC sourceName, targetName;
+                item.Landmark().GetLandmarkName(sourceName);
+                target->GetLandmarkName(targetName);
+                
+                if (lmId != (*searchResults)[ii])
+                    {
+                    // If found multiple match -> "Mölndal" etc
+                    //Check if same name then don't Leave
+                    AssertTrueSecL(sourceName.CompareC(targetName) == 0,KSortorderErr, lmId);
+                    }
+                else
+                    {
+                    //CompareLandmarksL(item.Landmark(), *target);
+                    // Add some check of partial landmarks here
+                    AssertTrueSecL(sourceName.CompareC(targetName) == 0,KSortorderErr, lmId);
+                    
+                    // Landmarkname is always included when sorting
+                    CheckPartialLandmarkL(item.Landmark() , attr | CPosLandmark::ELandmarkName, reqFields);
+                    }
+
+                    CleanupStack::PopAndDestroy(target);
+                id = iter->NextL();
+
+                ++ii;
+                }
+            CleanupStack::PopAndDestroy(iter);
+            iDisplayData->Reset();
+            } 
+        } 
+        
+    iLandmarkSearch->UnsetDisplayData();
+    CleanupStack::PopAndDestroy(fakePartialParam);
+    CleanupStack::PopAndDestroy(partialParam);
+    CleanupStack::PopAndDestroy(&reqFields);
+    CleanupStack::PopAndDestroy(textCriteria);
+    delete iDisplayData;
+    iDisplayData = NULL;
+    }
+
+// ---------------------------------------------------------
+// CPosTp131::SearchWithSortOrderL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp131::SearchWithSortOrderL(const RPointerArray<CSearchResult>& aSearchResults)
+    {
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect");
+    _LIT(KNumOfMatchesErr2, "No. of display data matches is incorrect");
+    _LIT(KSortorderErr, "The sortorder is incorrect");
+   
+    TPosLmSortPref sortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);  
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+    
+    // Set DisplayData
+	iDisplayData = CPosLmDisplayData::NewL();
+    iLandmarkSearch->SetDisplayData(*iDisplayData);
+
+	CPosLmPartialReadParameters* partialParam = CPosLmPartialReadParameters::NewLC();
+	
+	RArray<TUint> reqFields;
+    CleanupClosePushL(reqFields);
+
+	// Test that UnsetPartialReadParameters works	
+	reqFields.Append(EPositionFieldCountry);
+	partialParam->SetRequestedPositionFields(reqFields);
+    iDisplayData->SetPartialReadParametersL(*partialParam);
+    CleanupStack::PopAndDestroy(&reqFields);
+    CleanupStack::PopAndDestroy(partialParam);
+    iDisplayData->UnsetPartialReadParameters();
+    
+	// Dont search for all search criteras (see excel file)
+	// takes just too long time on target (approx 1 hour for this test on target)
+	// therefore start at j=7
+#ifdef __WINS__	
+    for(TInt j=2; j<aSearchResults.Count(); j++)
+#else
+    for(TInt j=7; j<aSearchResults.Count(); j++)
+#endif
+        {   
+        textCriteria->SetTextL(aSearchResults[j]->TextCriteria());
+        textCriteria->SetAttributesToSearch(aSearchResults[j]->Attributes());
+        textCriteria->SetPositionFieldsToSearchL(aSearchResults[j]->PositionFields()); 
+
+        iLog->Log(aSearchResults[j]->TextCriteria());
+        
+        // Dont test sync search
+        for (TInt i=2; i<6; i++)
+            {
+            switch (i)
+                {
+                //**** sync
+                case 0:
+                	{
+                	sortPref.SetSortByLandmarkAttribute(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+                    ExecuteAndDeleteLD(iLandmarkSearch->StartLandmarkSearchL(
+                        *textCriteria, 
+                        sortPref, 
+                        aSearchResults[j]->Redefined()));
+                    }
+                    break;
+                case 1:
+                	{
+                    sortPref.SetSortByLandmarkAttribute(CPosLandmark::ELandmarkName, TPosLmSortPref::EDescending);
+                    ExecuteAndDeleteLD(iLandmarkSearch->StartLandmarkSearchL(
+                        *textCriteria, 
+                        sortPref, 
+                        aSearchResults[j]->Redefined()));
+                    }
+                    break;
+                case 2:
+                	{
+                	//**** async
+                	//iLog->Log(_L("*****Async, EDescending"));
+                	sortPref.SetSortByLandmarkAttribute(CPosLandmark::ELandmarkName, TPosLmSortPref::EDescending);
+                    iAscendedSorted = EFalse;
+                    //iLog->Log(_L("Start"));
+                    iOperation = iLandmarkSearch->StartLandmarkSearchL(*textCriteria, sortPref, aSearchResults[j]->Redefined());
+                    ExecuteLmOpL();
+                    //iLog->Log(_L("Done"));
+                    }
+                    break;
+                case 3:
+                	{
+                    sortPref.SetSortByLandmarkAttribute(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+                    //iLog->Log(_L("*****Async EAscending"));
+                    iAscendedSorted = ETrue;
+                    iOperation = iLandmarkSearch->StartLandmarkSearchL(*textCriteria, sortPref, aSearchResults[j]->Redefined());
+                    ExecuteLmOpL();
+                    }
+                    break;
+                //**** asych with User::WaitForRequest()
+                case 4:
+                    {
+                    //iLog->Log(_L("*****User::WaitForRequest() EDescending"));
+                    sortPref.SetSortByLandmarkAttribute(CPosLandmark::ELandmarkName, TPosLmSortPref::EDescending);
+                    CPosLmOperation* op = iLandmarkSearch->StartLandmarkSearchL(
+                        *textCriteria, 
+                        sortPref, 
+                        aSearchResults[j]->Redefined());
+                    CleanupStack::PushL(op);
+                    RunAsyncOperationByWaitForReqL(op);
+                    CleanupStack::PopAndDestroy(op);
+                    }
+                    break;
+                case 5:
+                    {
+                    //iLog->Log(_L("*****User::WaitForRequest() EAscending"));
+                    sortPref.SetSortByLandmarkAttribute(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+                    CPosLmOperation* op = iLandmarkSearch->StartLandmarkSearchL(
+                        *textCriteria, 
+                        sortPref, 
+                        aSearchResults[j]->Redefined());
+                    CleanupStack::PushL(op);
+                    RunAsyncOperationByWaitForReqL(op);
+                    CleanupStack::PopAndDestroy(op);
+                    }
+                    break;
+                }
+            
+        CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+        CleanupStack::PushL(iter);
+        
+        RArray<TPosLmItemId>* searchResults = &aSearchResults[j]->SearchResult();
+        if ((TUint)searchResults->Count() != iLandmarkSearch->NumOfMatches())
+            {
+            TBuf<50> buf;
+            buf.Append(_L("KNumOfMatchesError when searching for "));
+            buf.Append(aSearchResults[j]->TextCriteria());
+            iLog->Log(buf);
+            
+            iLog->Log(KNumOfMatchesErr);
+            User::Leave(-1);
+            }
+            
+        // Check correct displayData
+        AssertTrueSecL(iter->NumOfItemsL() == iDisplayData->Count(), KNumOfMatchesErr2);
+        LandmarksSortL(*searchResults, sortPref);
+        
+        TInt ii=0;
+        TPosLmItemId id = iter->NextL();
+               
+        for (TInt i=0;i<iDisplayData->Count();i++)
+            {
+            CPosLmDisplayItem& item = iDisplayData->DisplayItem(i);
+            TInt lmId = item.Landmark().LandmarkId();
+
+            CPosLandmark* target = iDatabase->ReadLandmarkLC((*searchResults)[ii]);
+            TPtrC sourceName, targetName;
+            item.Landmark().GetLandmarkName(sourceName);
+            target->GetLandmarkName(targetName);
+            
+            if (lmId != (*searchResults)[ii])
+                {
+                // If found multiple match -> "Mölndal" etc
+                //Check if same name then don't Leave
+                AssertTrueSecL(sourceName.CompareC(targetName) == 0,KSortorderErr, lmId);
+                }
+            else
+                {
+                CompareLandmarksL(item.Landmark(), *target);
+                }
+
+            CleanupStack::PopAndDestroy(target);
+            id = iter->NextL();
+
+            ++ii;
+            }
+        CleanupStack::PopAndDestroy(iter);
+        iDisplayData->Reset();
+        }
+        }
+    iLandmarkSearch->UnsetDisplayData();
+    CleanupStack::PopAndDestroy(textCriteria);
+    delete iDisplayData;
+    iDisplayData = NULL;
+    }
+
+// ---------------------------------------------------------
+// CPosTp131::CheckResetL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp131::CheckResetL(const RPointerArray<CSearchResult>& aSearchResults)
+    {
+    iLog->Log(_L("CheckResetL"));
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+    
+    // Set DisplayData
+    CPosLmDisplayData* displayData = CPosLmDisplayData::NewL();
+	CleanupStack::PushL(displayData);
+    iLandmarkSearch->SetDisplayData(*displayData);
+        
+    for(TInt j=0; j<aSearchResults.Count(); j++)
+        {
+		textCriteria->SetTextL(aSearchResults[j]->TextCriteria());
+		textCriteria->SetAttributesToSearch(aSearchResults[j]->Attributes());
+		textCriteria->SetPositionFieldsToSearchL(aSearchResults[j]->PositionFields());
+
+		// Sync
+		ExecuteAndDeleteLD(iLandmarkSearch->StartLandmarkSearchL(*textCriteria, aSearchResults[j]->Redefined()));
+		AssertTrueSecL(iLandmarkSearch->NumOfMatches() == displayData->Count(),_L("Wrong number of matches1"),j);
+		displayData->Reset();
+		AssertTrueSecL(displayData->Count() == 0,_L("DisplayData should have been resetted"));
+		
+		// Async
+		RunAsyncOperationLD(iLandmarkSearch->StartLandmarkSearchL(*textCriteria, aSearchResults[j]->Redefined()));
+		AssertTrueSecL(iLandmarkSearch->NumOfMatches() == displayData->Count(),_L("Wrong number of matches2"),j);
+    
+    	RArray<TPosLmItemId>* searchResults = &aSearchResults[j]->SearchResult();
+        //AssertTrueSecL(iLandmarkSearch->NumOfMatches() == searchResults->Count(),_L("Wrong number of matches3"),j);
+        if (iLandmarkSearch->NumOfMatches() != searchResults->Count())
+        	{
+	        TBuf<150> buf;
+	        buf.Format(_L("Exp %d nr of matches, got %d, searching for: "), searchResults->Count(), iLandmarkSearch->NumOfMatches());
+	        buf.Append(aSearchResults[j]->TextCriteria());
+	        iLog->Log(buf);
+        	}
+        
+        AssertTrueSecL(displayData->Count() == iLandmarkSearch->NumOfMatches(),_L("DisplayData matches is not correct"));
+        
+    }
+
+	// Test unset of displaydata
+	iLandmarkSearch->UnsetDisplayData();
+    CleanupStack::PopAndDestroy(displayData);
+    
+    displayData = CPosLmDisplayData::NewL();
+	CleanupStack::PushL(displayData);
+    iLandmarkSearch->SetDisplayData(*displayData);
+    iLandmarkSearch->UnsetDisplayData();
+    
+    textCriteria->SetTextL(aSearchResults[0]->TextCriteria());
+	textCriteria->SetAttributesToSearch(aSearchResults[0]->Attributes());
+	textCriteria->SetPositionFieldsToSearchL(aSearchResults[0]->PositionFields());
+	ExecuteAndDeleteLD(iLandmarkSearch->StartLandmarkSearchL(*textCriteria));
+	AssertTrueSecL(displayData->Count() == 0,_L("No matches should be found in DisplayData"));
+        
+    iLandmarkSearch->SetDisplayData(*displayData);
+    
+    textCriteria->SetTextL(aSearchResults[0]->TextCriteria());
+	textCriteria->SetAttributesToSearch(aSearchResults[0]->Attributes());
+	textCriteria->SetPositionFieldsToSearchL(aSearchResults[0]->PositionFields());
+	ExecuteAndDeleteLD(iLandmarkSearch->StartLandmarkSearchL(*textCriteria));
+	RArray<TPosLmItemId>* searchResults = &aSearchResults[0]->SearchResult();
+   	AssertTrueSecL(iLandmarkSearch->NumOfMatches() == displayData->Count(),_L("Wrong number of matches4"));
+    AssertTrueSecL(iLandmarkSearch->NumOfMatches() == searchResults->Count(),_L("Wrong number of matches5"));
+    
+    iLandmarkSearch->UnsetDisplayData();
+    CleanupStack::PopAndDestroy(displayData);
+	CleanupStack::PopAndDestroy(textCriteria);
+    }
+
+// ---------------------------------------------------------
+// CPosTp131::CancelTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp131::CancelTestL(const RPointerArray<CSearchResult>& aSearchResults)
+    {
+    iLog->Log(_L("CancelTestL"));
+	CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+	
+	// Cancel search operation and verify that the displayData result is sorted correctly
+	TPosLmSortPref sortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+	
+    for (TInt pp=0;pp<2;pp++)
+    	{
+    	if (pp == 0) 
+    		{
+    		//iLog->Log(_L("Sorting Descending"));
+    		sortPref.SetSortByLandmarkAttribute(CPosLandmark::ELandmarkName, TPosLmSortPref::EDescending);
+    		}
+    	else {
+    		sortPref.SetSortByLandmarkAttribute(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+    		//iLog->Log(_L("Sorting Ascending"));
+    		}
+    		
+	    // Set DisplayData
+	    iLandmarkSearch->UnsetDisplayData();
+	    delete iDisplayData;
+	    iDisplayData = NULL;
+	    CPosLmDisplayData* displayData = CPosLmDisplayData::NewL();
+		CleanupStack::PushL(displayData);
+	    iLandmarkSearch->SetDisplayData(*displayData);
+	        
+	    for(TInt j=0; j<aSearchResults.Count(); j++)
+	        {
+			textCriteria->SetTextL(aSearchResults[j]->TextCriteria());
+			textCriteria->SetAttributesToSearch(aSearchResults[j]->Attributes());
+			textCriteria->SetPositionFieldsToSearchL(aSearchResults[j]->PositionFields());
+
+			TBuf<150> buf;
+		    buf.Append(aSearchResults[j]->TextCriteria());
+		    //iLog->Log(buf);
+		        
+			// Cancel operation in callback
+			RunAsyncOperationAndCancelInCallbackLD(iLandmarkSearch->StartLandmarkSearchL(*textCriteria, sortPref, EFalse));
+			AssertTrueSecL(iLandmarkSearch->NumOfMatches() == displayData->Count(),_L("Wrong number of matches after cancel"),j);
+			
+			buf.Zero();
+			buf.Format(_L("Search returned %d nr of matches, displayData %d nr of matches"),iLandmarkSearch->NumOfMatches(), displayData->Count());
+			//iLog->Log(buf);
+			
+			// Check sort order below
+			CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+	        CleanupStack::PushL(iter);
+	        
+	        if (iter->NumOfItemsL()>0)
+	        	{
+	        	RArray<TPosLmItemId> arr;
+	        	CleanupClosePushL(arr);
+	        	iter->GetItemIdsL(arr, 0, iter->NumOfItemsL());
+	        
+	        	// Sort matchiterator
+	        	LandmarksSortL(arr, sortPref);
+			    
+			    TInt index=0;
+				TInt itemId = displayData->NewItemIndex();
+			    while (itemId != KPosLmNoNewItems)
+			        {
+			        CPosLmDisplayItem& item = displayData->DisplayItem(itemId);
+			        
+			        AssertTrueSecL(item.DisplayItemType() == CPosLmDisplayItem::ELandmarkItem, 
+			        	_L("Wrong item returned, only ELandmarkItem should be returned"));
+			        
+			        AssertTrueSecL(item.DatabaseIndex() == 0, _L("Wrong DatabaseIndex, should be 0"));
+			    	
+				    TInt lmId = item.Landmark().LandmarkId();
+				    
+				    
+	//		    	AssertTrueSecL(arr[index] == lmId , _L("Incorrect sortorder"));
+			    	CPosLandmark* lm = iDatabase->ReadLandmarkLC(arr[index]);
+			    	
+				    if ( arr[index] != lmId )
+				        {
+			    	TPtrC sourceName;
+				    item.Landmark().GetLandmarkName(sourceName);
+					TPtrC name2;
+					lm->GetLandmarkName(name2);
+                        iLog->Log( _L("CancelTestL: #%02d, exp %d, act %d, '%S', '%S'"), 
+                            index, arr[index], lmId, &name2, &sourceName );
+					
+                        if ( sourceName.CompareC( name2 ) != 0 )
+                            {
+                            AssertTrueSecL( arr[index] == lmId, _L("Incorrect sort order") );
+                            }
+				        }
+				    else
+				        {
+					CompareLandmarksL(*lm, item.Landmark());
+				        }
+					
+			        itemId = displayData->NewItemIndex();
+			        index++;
+			        CleanupStack::PopAndDestroy(lm);
+			        }
+			    CleanupStack::PopAndDestroy(&arr);       
+	        	}
+	        CleanupStack::PopAndDestroy(iter);
+			}
+			iLandmarkSearch->UnsetDisplayData();
+	    	CleanupStack::PopAndDestroy(displayData);
+	    }
+		CleanupStack::PopAndDestroy(textCriteria);
+	}
+
+// ---------------------------------------------------------
+// Tp131InternalLandmarksSortL
+// 
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//	
+TInt Tp131InternalLandmarksSortL(const CPosLandmark& aSource, const CPosLandmark& aTarget)
+    {
+    TPtrC sourceName, targetName;
+    
+    User::LeaveIfError(aSource.GetLandmarkName(sourceName));  
+    User::LeaveIfError(aTarget.GetLandmarkName(targetName));
+    
+    return sourceName.CompareC(targetName);
+    }
+    	
+// ---------------------------------------------------------
+// CPosTp131::LandmarksSortL
+// 
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp131::LandmarksSortL(RArray<TPosLmItemId>& aArray, const TPosLmSortPref& aSortPref)
+    {
+    
+    RPointerArray<CPosLandmark> landmarks;
+    CleanupClosePushL(landmarks);
+    
+    for (TInt i=0; i<aArray.Count(); i++)
+        {
+        CPosLandmark* lm = iDatabase->ReadLandmarkLC(aArray[i]);
+        landmarks.Append(lm);
+        CleanupStack::Pop(lm);
+        }
+    
+    TLinearOrder<CPosLandmark> order(Tp131InternalLandmarksSortL);
+    landmarks.Sort(order);
+  
+    aArray.Reset();
+
+    if (aSortPref.SortOrder() == TPosLmSortPref::EAscending)
+        {
+        for (TInt j=0; j<landmarks.Count(); j++)
+            {
+            aArray.Append(landmarks[j]->LandmarkId());
+            }
+        }
+    else
+        {
+        for (TInt k=landmarks.Count()-1; k>=0; k--)
+            {
+            aArray.Append(landmarks[k]->LandmarkId());
+            }
+        }
+    landmarks.ResetAndDestroy();
+    CleanupStack::PopAndDestroy(&landmarks);
+    
+    }
+
+// ---------------------------------------------------------
+// CPosTp131::ExecuteLmOpL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp131::ExecuteLmOpL()
+    {
+    CActiveLmOperation* operationWrapper = new (ELeave) CActiveLmOperation(iLog);
+    CleanupStack::PushL(operationWrapper);
+        
+	operationWrapper->Start(iOperation, this);        
+    CActiveScheduler::Start();
+    
+    operationWrapper->CheckOperationL();
+    operationWrapper->DeleteOperationD();
+
+    CleanupStack::PopAndDestroy(operationWrapper);
+    
+    }
+    
+// ---------------------------------------------------------
+// CPosTp131::NotifyProgress
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp131::NotifyProgress(TReal aProgress)
+    {
+
+    TBuf<100> buf;
+
+    TInt progress = (TInt) (aProgress * 100);
+    buf.Format(_L("Progress: %d"), progress);
+    
+    
+    if (iDisplayData)
+    	{
+    
+		
+		if (iDisplayData->Count()>0)
+			{
+			CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+        	CleanupStack::PushL(iter);
+        	
+        	RArray<TPosLmItemId> arr;
+        	CleanupClosePushL(arr);
+        	iter->GetItemIdsL(arr, 0, iter->NumOfItemsL());
+        	TPosLmSortPref sortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);  
+        	
+        	if (iAscendedSorted) sortPref.SetSortByLandmarkAttribute(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+        	else sortPref.SetSortByLandmarkAttribute(CPosLandmark::ELandmarkName, TPosLmSortPref::EDescending);
+        	// Sort matchiterator
+        	LandmarksSortL(arr, sortPref);
+        	
+        	if (iter->NumOfItemsL() != iDisplayData->Count())
+		    	{
+		    	iLog->Log(_L("Error: Wrong number of items"));
+		    	iErrorsFound++;
+		    	}		    
+
+			TInt itemId = iDisplayData->NewItemIndex();
+		    while (itemId != KPosLmNoNewItems)
+		        {
+		        CPosLmDisplayItem& item = iDisplayData->DisplayItem(itemId);
+		        
+		        if (item.DisplayItemType() != CPosLmDisplayItem::ELandmarkItem)
+            	{
+            	iLog->Log(_L("Error: TDisplayItemType should be ELandmarkItem"));
+            	iErrorsFound++;
+            	}
+            
+            if (item.DatabaseIndex() != 0)
+            	{
+            	// When single search, index should always be 0
+            	iLog->Log(_L("Error: Wrong DatabaseIndex, should be 0"));
+            	iErrorsFound++;
+            	}
+
+				TPtrC lmName;
+				item.Landmark().GetLandmarkName(lmName);
+				TInt lmId = item.Landmark().LandmarkId();
+				
+				// Compare all landmarks from CPosLmDisplayItem and landmarks from MatchIteratorL
+		        for (TInt i=0;i<iDisplayData->Count();i++)
+			            {
+			            CPosLmDisplayItem& item = iDisplayData->DisplayItem(i);
+			            TPtrC sourceName;
+			            item.Landmark().GetLandmarkName(sourceName);
+						
+						
+						CPosLandmark* lm2 = iDatabase->ReadLandmarkLC(arr[i]);
+						TPtrC name;
+						lm2->GetLandmarkName(name);
+					
+						
+						// Only compare names
+						if (name.Compare(sourceName) != 0) 
+							{
+							iLog->Log(_L("ERROR: No match, name %S, sourceName %S"), &name, &sourceName);
+							iErrorsFound++;
+							}
+						
+						CleanupStack::PopAndDestroy(lm2);							
+						}
+				
+		        itemId = iDisplayData->NewItemIndex();		        
+		        }
+
+		    CleanupStack::PopAndDestroy(&arr);
+        	CleanupStack::PopAndDestroy(iter);
+        	}
+        }
+	}
+        
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp132.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,696 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp132.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLandmarkSearch.h>
+#include <EPos_CPosLmTextCriteria.h>
+#include <EPos_CPosLMItemIterator.h>
+#include <EPos_CPosLmDisplayData.h>
+#include <EPos_CPosLmDisplayItem.h>
+#include <EPos_TPosLMSortPref.h>
+#include <EPos_CPosLmCatNameCriteria.h>
+
+#include <EPos_CPosLmMultiDbSearch.h>
+
+#include <e32std.h>
+
+// CONSTANTS
+//EPosLmServer
+_LIT(KPosLandmarksServerName, "*eposlmserver*");
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp132::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp132::StartL()
+    {
+    MakeSurePanicDebugFileExistsL();
+    
+    iUseLogFromThreadIsDisabled = ETrue;
+
+    RemoveDefaultDbL();
+	RemoveAllLmDatabasesL();
+	
+	iErrorsFound = KErrNone;
+	
+	// Use multiple db
+	_LIT(KDb20, "EPOSLM_020.LDB");
+    _LIT(KDb40, "EPOSLM_040.LDB");
+    _LIT(KDb60, "EPOSLM_060.LDB");
+    _LIT(KDb80, "EPOSLM_080.LDB");
+    _LIT(KDb105, "EPOSLM_105.LDB");
+    
+    // Copy to secure area
+    
+    CopyTestDbFileL(KDb20);
+    CopyTestDbFileL(KDb40);
+    CopyTestDbFileL(KDb60);
+    CopyTestDbFileL(KDb80);
+    CopyTestDbFileL(KDb105);
+	
+    iDatabase = UseGeneratedDbFileL();
+
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+
+    // <<<<<<<<<<<<<<Panic testing below>>>>>>>>>>>>>>>>>>>
+    iLog->Log(_L(">>>>>>>Start Panic test<<<<<<<<<"));
+   
+    //	1 Try to get item from DisplayData::DisplayItem outside accepted interval
+    // Should panic with EPosInvalidIndex
+    iExpectedExitType = ExitPanic;
+    iLog->Log(_L("Panic test 1"));
+    iTestCase = 1;
+    iExpectedErrorCode = EPosInvalidIndex;
+    ResumeThreadAndVerifyExit();
+    
+	//	2 Try to get item from DisplayData::DisplayItem outside accepted interval
+    // Should panic with EPosInvalidIndex
+    iExpectedExitType = ExitPanic;
+    iLog->Log(_L("Panic test 2"));
+    iTestCase = 2;
+    iExpectedErrorCode = EPosInvalidIndex;
+    ResumeThreadAndVerifyExit();
+
+    // 3 Set displaydata during search, should panic with EPosSearchOperationInUse
+    iExpectedExitType = ExitPanic;
+    iLog->Log(_L("Panic test 3"));
+    iTestCase = 3;
+    iExpectedErrorCode = EPosSearchOperationInUse;
+    ResumeThreadAndVerifyExit();
+    
+    // 4 Unset displaydata during search, should panic with EPosSearchOperationInUse
+    iExpectedExitType = ExitPanic;
+    iLog->Log(_L("Panic test 4"));
+    iTestCase = 4;
+    iExpectedErrorCode = EPosSearchOperationInUse;
+    ResumeThreadAndVerifyExit();
+    
+    // 5 Unset displaydata during search, should panic with EPosSearchOperationInUse
+    iExpectedExitType = ExitPanic;
+    iLog->Log(_L("Panic test 5"));
+    iTestCase = 5;
+    iExpectedErrorCode = EPosSearchOperationInUse;
+    ResumeThreadAndVerifyExit();
+
+	// Nothing seems to happen, no leave or no panic
+    // 6 NULL check, try to set DisplayData as NULL
+    iExpectedExitType = ExitNormal;
+    iLog->Log(_L("Panic test 6"));
+    iTestCase = 6;
+    iExpectedErrorCode = KErrNone;
+    ResumeThreadAndVerifyExit();
+    
+    // 7 Delete displaydata during search -> "may lead to unexpected errors"
+    // For some reason it panics with Kern-Exec 3
+    /* Excerpt from EPos_CPosLandmarkSearch.h
+     * The client owns the display data object. If the client deletes it
+     * during a search, this may lead to unexpected errors. The client must
+     * call @ref UnsetDisplayData before it deletes the display data object.
+     */
+    iExpectedExitType = ExitPanic;
+    iLog->Log(_L("Panic test 7"));
+    iTestCase = 7;
+    //iExpectedErrorCode = KErrNone;
+    iExpectedErrorCode = 3; // Kern-Exec 3
+    ResumeThreadAndVerifyExit();
+    
+    // Test multi db search below
+    // 8) Set displaydata during search, should panic with EPosSearchOperationInUse
+    iExpectedExitType = ExitPanic;
+    iLog->Log(_L("Panic test 8"));
+    iTestCase = 8;
+    iExpectedErrorCode = EPosSearchOperationInUse;
+    ResumeThreadAndVerifyExit();
+    
+    // 9)  Unset displaydata during search, should panic with EPosSearchOperationInUse
+    iExpectedExitType = ExitPanic;
+    iLog->Log(_L("Panic test 9"));
+    iTestCase = 9;
+    iExpectedErrorCode = EPosSearchOperationInUse;
+    ResumeThreadAndVerifyExit();
+    
+    // 10) Unset displaydata during search, should panic with EPosSearchOperationInUse
+    iExpectedExitType = ExitPanic;
+    iLog->Log(_L("Panic test 10"));
+    iTestCase = 10;
+    iExpectedErrorCode = EPosSearchOperationInUse;
+    ResumeThreadAndVerifyExit();
+    
+    // 11 Delete displaydata during search -> "may lead to unexpected errors"
+    /* The client owns the display data object. If the client deletes it
+    * during a search, this may lead to unexpected errors. The client must
+    * call @ref UnsetDisplayData before it deletes the display data object.
+    */
+    // For some reason it panics with Kern-Exec 3
+    iExpectedExitType = ExitPanic;
+    iLog->Log(_L("Panic test 11"));
+    iTestCase = 11;
+    iExpectedErrorCode = 3; //3 Kern-Exec 3
+    ResumeThreadAndVerifyExit();
+    
+    // 12) Use the CPosLmDisplayItem::Category() function on a Landmark item
+    // Should panic with EPosInvalidItemType
+    iExpectedExitType = ExitPanic;
+    iLog->Log(_L("Panic test 12"));
+    iTestCase = 12;
+    iExpectedErrorCode = EPosInvalidItemType;
+    ResumeThreadAndVerifyExit();
+    
+    // 13) Use the CPosLmDisplayItem::Landmark() function on a Category item
+    // Should panic with EPosInvalidItemType
+    iExpectedExitType = ExitPanic;
+    iLog->Log(_L("Panic test 13"));
+    iTestCase = 13;
+    iExpectedErrorCode = EPosInvalidItemType;
+    ResumeThreadAndVerifyExit();
+    
+    // 14) Set DisplayData to NULL and do multipledb search
+    // Nothing seems to happen, everything is OK
+    iExpectedExitType = ExitNormal;
+    iLog->Log(_L("Panic test 14"));
+    iTestCase = 14;
+    iExpectedErrorCode = KErrNone;
+    ResumeThreadAndVerifyExit();
+    
+    if (iErrorsFound != KErrNone) 
+    {
+        iLog->Log(_L("TP132 Failed"));
+        User::Leave(-1);
+    }
+    iLog->Log(_L(">>>>>>>Panic test Done<<<<<<<<<"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp132::ResumeThreadAndVerifyExit
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp132::ResumeThreadAndVerifyExit()
+    {
+    iLog->Log(_L("ResumeThreadAndVerifyExit"));
+    _LIT(KPanicErr, "Err: Method didn't Panic when expected"); 
+    _LIT(KPanicCodeErr, "Err: Paniced with unexpected panic code");
+    _LIT(KLeaveErr, "Err: Method didn't end correctly"); 
+    _LIT(KLeaveCodeErr, "Err: Unexpected leave error");
+
+    CreateThreadL();
+    TRequestStatus status;
+    iThread.Logon(status);
+    iThread.Resume();
+        
+    User::WaitForRequest(status);
+    
+    // Used for debugging
+    TBuf<100> buf;
+    buf.Format(_L("ExitType %d Exit reason %d "), iThread.ExitType(), iThread.ExitReason());
+    iLog->Log(buf);
+    
+    TExitCategoryName buf1;
+    buf1=iThread.ExitCategory();
+    iLog->Log(buf1);
+
+    if (iExpectedExitType == ExitPanic)
+        {
+        
+        if (iThread.ExitType() != EExitPanic)
+        {iErrorsFound++;iLog->Log(KPanicErr);}
+        
+        if(iTestCase != 11)
+        {
+        if (iThread.ExitReason() != iExpectedErrorCode)
+        {iErrorsFound++;iLog->Log(KPanicCodeErr);}	
+        }
+        
+        }
+    else if (iExpectedExitType == ExitLeave)
+        {
+        
+        if (iThread.ExitType() != EExitKill)
+        {iErrorsFound++;iLog->Log(KLeaveErr);}
+        
+        if (iThread.ExitReason() != iExpectedErrorCode)
+        {iErrorsFound++;iLog->Log(KLeaveCodeErr);}
+        }
+	else if (iExpectedExitType == ExitNormal)
+        {
+        
+        if (iThread.ExitType() != KErrNone)
+        {iErrorsFound++;iLog->Log(KLeaveErr);}
+        
+        if (iThread.ExitReason() != iExpectedErrorCode)
+        {iErrorsFound++;iLog->Log(KLeaveCodeErr);}
+        }        
+        
+    iThread.Close();
+    
+    TBool alive = ServerAlive(KPosLandmarksServerName);
+    if (!alive)
+        {
+        iLog->Log(_L("Landmarks Server is not alive"));
+        User::Leave(-1);
+
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp132::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp132::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+    iThread.Close();
+
+    delete iDatabase;
+    iDatabase = NULL;
+
+    iLog->Log(_L("CloseTest Done"));
+	}
+	
+// ---------------------------------------------------------
+// CPosTp132::UnsetTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//	
+TInt CPosTp132::UnsetTest(TAny* aSelf)
+	{
+	CPosLandmarkSearch* aLmSearch = static_cast<CPosLandmarkSearch*>(aSelf);
+	aLmSearch->UnsetDisplayData();
+	return 0;
+	}
+	
+// ---------------------------------------------------------
+// CPosTp132::UnsetMultiSearch
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//	
+TInt CPosTp132::UnsetMultiSearch(TAny* aSelf)
+	{
+	CPosLmMultiDbSearch* aLmSearch = static_cast<CPosLmMultiDbSearch*>(aSelf);
+	aLmSearch->UnsetDisplayData();
+	return 0;
+	}
+		
+// ---------------------------------------------------------
+// CPosTp132::RunPanicTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp132::RunPanicTestL(TAny* aData)
+    {
+    CPosTp132* self = reinterpret_cast<CPosTp132*>(aData);
+
+	CPosLandmarkDatabase* database = self->OpenDatabaseLC();
+	CPosLandmarkSearch* lmSearch = CPosLandmarkSearch::NewL(*database);
+	CleanupStack::PushL(lmSearch);
+	
+    CDesCArray* dbUris = new (ELeave) CDesC16ArrayFlat(2);
+	CleanupStack::PushL(dbUris);
+
+ 	_LIT(KDb20, "c:EPOSLM_020.LDB");
+	_LIT(KDb40, "c:EPOSLM_040.LDB");
+	
+	dbUris->AppendL(KDb20);
+	dbUris->AppendL(KDb40);
+
+     if (self->iTestCase == 1 || self->iTestCase == 2)
+     	{
+        TPosLmSortPref sortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);  
+    	CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+    
+    	// Set DisplayData
+		CPosLmDisplayData* displayData = CPosLmDisplayData::NewL();
+		CleanupStack::PushL(displayData);
+    	lmSearch->SetDisplayData(*displayData);
+    	
+    	textCriteria->SetTextL(_L("*"));
+    	
+		CPosLmOperation* operation = lmSearch->StartLandmarkSearchL(*textCriteria, EFalse);
+		ExecuteAndDeleteLD(operation);
+		operation = NULL;
+
+		// Outside accepted interval, should Panic with EPosInvalidIndex		
+		if (self->iTestCase == 1)
+			{
+        	CPosLmDisplayItem& item = displayData->DisplayItem(displayData->Count());
+        	}
+        else if (self->iTestCase == 2)
+        	{
+        	CPosLmDisplayItem& item = displayData->DisplayItem(-1);
+        	}
+        	
+        	lmSearch->UnsetDisplayData();
+        	CleanupStack::PopAndDestroy(displayData);
+        	
+        }
+     else if (self->iTestCase == 3)
+     	{
+     	// Set displaydata during search, should panic with EPosSearchOperationInUse
+     	TPosLmSortPref sortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);  
+    	CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+    
+    	// Set DisplayData    	
+    	textCriteria->SetTextL(_L("*"));
+    	
+		CPosLmOperation* operation = lmSearch->StartLandmarkSearchL(*textCriteria, EFalse);
+		
+		CPosLmDisplayData* displayData = CPosLmDisplayData::NewL();
+		CleanupStack::PushL(displayData);
+    	lmSearch->SetDisplayData(*displayData);
+    	
+    	ExecuteAndDeleteLD(operation);
+		operation = NULL;
+    	
+    	lmSearch->UnsetDisplayData();
+        CleanupStack::PopAndDestroy(displayData);
+        CleanupStack::PopAndDestroy(textCriteria);
+        }
+     else if (self->iTestCase == 4)
+     	{
+     	// Unset displaydata during search, should panic with EPosSearchOperationInUse
+    	CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+    
+    	// Set DisplayData    	
+    	textCriteria->SetTextL(_L("*"));
+    	CPosLmDisplayData* displayData = CPosLmDisplayData::NewL();
+		CleanupStack::PushL(displayData);
+    	lmSearch->SetDisplayData(*displayData);
+    	
+		CPosLmOperation* operation = lmSearch->StartLandmarkSearchL(*textCriteria, EFalse);
+		lmSearch->UnsetDisplayData();    	
+    	ExecuteAndDeleteLD(operation);
+		operation = NULL;
+    	
+    	lmSearch->UnsetDisplayData();
+        CleanupStack::PopAndDestroy(displayData);
+        CleanupStack::PopAndDestroy(textCriteria);
+
+     }
+     else if (self->iTestCase == 5)
+     	{
+     	// Unset displaydata during search, should panic with EPosSearchOperationInUse
+    	CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+    
+    	// Set DisplayData    	
+    	textCriteria->SetTextL(_L("*"));
+    	CPosLmDisplayData* displayData = CPosLmDisplayData::NewL();
+		CleanupStack::PushL(displayData);
+    	lmSearch->SetDisplayData(*displayData);
+    	
+		CPosLmOperation* operation = lmSearch->StartLandmarkSearchL(*textCriteria, EFalse);
+    	// Unset displaydata in callback method
+    	TCallBack callback(UnsetTest, lmSearch);
+    	CPeriodic* periodicTimer = CPeriodic::NewL(CActive::EPriorityHigh);
+    	CleanupStack::PushL(periodicTimer);
+    	periodicTimer->Start(1, 1, callback);
+    
+    	self->RunAsyncOperationLD(operation);
+		operation = NULL;
+		
+		CPosLmItemIterator* iter = lmSearch->MatchIteratorL();	
+		TInt size = iter->NumOfItemsL();
+    	
+    	CleanupStack::PopAndDestroy(periodicTimer);
+    	lmSearch->UnsetDisplayData();
+        CleanupStack::PopAndDestroy(displayData);
+        CleanupStack::PopAndDestroy(textCriteria);
+
+     }     
+     else if (self->iTestCase == 6)
+     	{
+     	// NULL check
+    	CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+    
+    	// Set DisplayData    	
+    	textCriteria->SetTextL(_L("*"));
+    	CPosLmDisplayData* displayData = NULL;
+    	lmSearch->SetDisplayData(*displayData);
+    	
+		CPosLmOperation* operation = lmSearch->StartLandmarkSearchL(*textCriteria, EFalse);
+    	ExecuteAndDeleteLD(operation);
+		operation = NULL;
+
+		CPosLmItemIterator* iter = lmSearch->MatchIteratorL();	
+		TInt size = iter->NumOfItemsL();
+		
+		lmSearch->UnsetDisplayData();
+		CleanupStack::PopAndDestroy(textCriteria);
+     }
+     else if (self->iTestCase == 7)
+     	{
+     	// Delete displaydata during search, "may lead to unexpected errors"
+    	CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+    
+    	// Set DisplayData    	
+    	textCriteria->SetTextL(_L("*"));
+    	CPosLmDisplayData* displayData = CPosLmDisplayData::NewL();
+		CleanupStack::PushL(displayData);
+    	lmSearch->SetDisplayData(*displayData);
+
+		CPosLmOperation* operation = lmSearch->StartLandmarkSearchL(*textCriteria, EFalse);
+		
+		// Delete display data here
+        CleanupStack::PopAndDestroy(displayData);
+    	ExecuteAndDeleteLD(operation);
+		operation = NULL;
+
+        CleanupStack::PopAndDestroy(textCriteria);
+     	}
+     else if (self->iTestCase == 8)
+     	{
+     	// Set displaydata during search, should panic with EPosSearchOperationInUse
+     	CPosLmMultiDbSearch* multiSearcher = CPosLmMultiDbSearch::NewL(*dbUris);
+    	CleanupStack::PushL(multiSearcher);
+    	CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();	
+    	textCriteria->SetTextL(_L("*"));
+    	CPosLmOperation* operation = multiSearcher->StartLandmarkSearchL(*textCriteria, EFalse);
+    	CPosLmDisplayData* displayData = CPosLmDisplayData::NewL();
+		CleanupStack::PushL(displayData);
+    	multiSearcher->SetDisplayData(*displayData);
+    	ExecuteAndDeleteLD(operation);
+		operation = NULL;
+    	CleanupStack::PopAndDestroy(displayData);
+    	CleanupStack::PopAndDestroy(multiSearcher);
+    	
+    	}
+    else if (self->iTestCase == 9)
+     	{
+    	// Unset displaydata during search, should panic with EPosSearchOperationInUse
+     	CPosLmMultiDbSearch* multiSearcher = CPosLmMultiDbSearch::NewL(*dbUris);
+    	CleanupStack::PushL(multiSearcher);
+    	CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();	
+    	textCriteria->SetTextL(_L("*"));
+    	
+    	CPosLmDisplayData* displayData = CPosLmDisplayData::NewL();
+		CleanupStack::PushL(displayData);
+    	multiSearcher->SetDisplayData(*displayData);
+    	    	
+    	CPosLmOperation* operation = multiSearcher->StartLandmarkSearchL(*textCriteria, EFalse);
+		multiSearcher->UnsetDisplayData();    	
+    	ExecuteAndDeleteLD(operation);
+		operation = NULL;
+		
+		multiSearcher->UnsetDisplayData();
+    	CleanupStack::PopAndDestroy(displayData);		
+    	CleanupStack::PopAndDestroy(multiSearcher);
+    	}
+	else if (self->iTestCase == 10)
+     	{    	
+     	// Unset displaydata during search, should panic with EPosSearchOperationInUse
+     	// Unset displaydata in callback method
+     	CPosLmMultiDbSearch* multiSearcher = CPosLmMultiDbSearch::NewL(*dbUris);
+    	CleanupStack::PushL(multiSearcher);
+    	CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();	
+    	textCriteria->SetTextL(_L("*"));
+    	
+    	CPosLmDisplayData* displayData = CPosLmDisplayData::NewL();
+		CleanupStack::PushL(displayData);
+    	multiSearcher->SetDisplayData(*displayData);
+    	    	
+    	CPosLmOperation* operation = multiSearcher->StartLandmarkSearchL(*textCriteria, EFalse);
+    	
+    	TCallBack callback(UnsetMultiSearch, lmSearch);
+    	CPeriodic* periodicTimer = CPeriodic::NewL(CActive::EPriorityHigh);
+    	CleanupStack::PushL(periodicTimer);
+    	periodicTimer->Start(1, 1, callback);
+    	self->RunAsyncOperationLD(operation);
+		operation = NULL;
+		
+		ExecuteAndDeleteLD(operation);
+		multiSearcher->UnsetDisplayData();
+    	CleanupStack::PopAndDestroy(displayData);		
+    	CleanupStack::PopAndDestroy(multiSearcher);
+     	}
+	else if (self->iTestCase == 11)
+     	{  
+     	// Delete displaydata during search, "may lead to unexpected errors"
+     	CPosLmMultiDbSearch* multiSearcher = CPosLmMultiDbSearch::NewL(*dbUris);
+    	CleanupStack::PushL(multiSearcher);
+    	CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();	
+    	textCriteria->SetTextL(_L("*"));
+    	CPosLmDisplayData* displayData = CPosLmDisplayData::NewL();
+    	multiSearcher->SetDisplayData(*displayData);
+    	
+    	CPosLmOperation* operation = multiSearcher->StartLandmarkSearchL(*textCriteria, EFalse);
+    	// Delete displaydata here
+    	delete displayData;
+    	
+    	ExecuteAndDeleteLD(operation);
+		operation = NULL;
+
+    	CleanupStack::PopAndDestroy(multiSearcher);
+    	}
+	else if (self->iTestCase == 12)
+     	{  
+		// Use the CPosLmDisplayItem::Category() function on a Landmark item
+    	// Should panic with EPosInvalidItemType
+     	CPosLmMultiDbSearch* multiSearcher = CPosLmMultiDbSearch::NewL(*dbUris);
+    	CleanupStack::PushL(multiSearcher);
+    	CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();	
+    	textCriteria->SetTextL(_L("*"));
+    	CPosLmDisplayData* displayData = CPosLmDisplayData::NewL();
+    	multiSearcher->SetDisplayData(*displayData);
+    	
+    	CPosLmOperation* operation = multiSearcher->StartLandmarkSearchL(*textCriteria, EFalse);    	
+    	ExecuteAndDeleteLD(operation);
+		
+		// Verify that something was found
+		if (displayData->Count() < 2) User::Leave(-900);
+		
+		CPosLmDisplayItem& item = displayData->DisplayItem(0);
+	    TInt lmId = item.Landmark().LandmarkId();
+	    
+	    if (item.DisplayItemType() != CPosLmDisplayItem::ELandmarkItem) User::Leave(-901);
+		
+		// This call should panic
+		item.Category();
+		
+		multiSearcher->UnsetDisplayData();
+    	CleanupStack::PopAndDestroy(displayData);
+    	CleanupStack::PopAndDestroy(textCriteria);
+    	CleanupStack::PopAndDestroy(multiSearcher);
+    	}
+	else if (self->iTestCase == 13)
+     	{  
+		// Use the CPosLmDisplayItem::Landmark() function on a Category item
+    	// Should panic with EPosInvalidItemType
+     	CPosLmMultiDbSearch* multiSearcher = CPosLmMultiDbSearch::NewL(*dbUris);
+    	CleanupStack::PushL(multiSearcher);
+    	CPosLmCatNameCriteria* nameCriteria = CPosLmCatNameCriteria::NewLC();
+    	nameCriteria->SetSearchPatternL(_L("*"));
+    	
+    	CPosLmDisplayData* displayData = CPosLmDisplayData::NewL();
+    	multiSearcher->SetDisplayData(*displayData);
+    	
+    	CPosLmOperation* operation = multiSearcher->StartCategorySearchL(*nameCriteria, CPosLmCategoryManager::ECategorySortOrderNone);
+    	ExecuteAndDeleteLD(operation);
+		
+		// Verify that something was found
+		if (displayData->Count() < 2) User::Leave(-900);
+		
+		CPosLmDisplayItem& item = displayData->DisplayItem(0);
+	    TInt lmId = item.Landmark().LandmarkId();
+	    
+	    if (item.DisplayItemType() != CPosLmDisplayItem::ECategoryItem) User::Leave(-901);
+		
+		// This call should panic
+		item.Landmark();
+		
+		multiSearcher->UnsetDisplayData();
+    	CleanupStack::PopAndDestroy(displayData);
+    	CleanupStack::PopAndDestroy(nameCriteria);
+    	CleanupStack::PopAndDestroy(multiSearcher);
+    	}
+    else if (self->iTestCase == 14)
+     	{
+    	// NULL check, set DisplayData to NULL
+     	CPosLmMultiDbSearch* multiSearcher = CPosLmMultiDbSearch::NewL(*dbUris);
+    	CleanupStack::PushL(multiSearcher);
+    	CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();	
+    	textCriteria->SetTextL(_L("*"));
+    	
+    	CPosLmDisplayData* displayData = NULL;
+    	multiSearcher->SetDisplayData(*displayData);
+    	    	
+    	CPosLmOperation* operation = multiSearcher->StartLandmarkSearchL(*textCriteria, EFalse);
+    	ExecuteAndDeleteLD(operation);
+		
+		multiSearcher->UnsetDisplayData();
+		CleanupStack::PopAndDestroy(textCriteria);
+    	CleanupStack::PopAndDestroy(multiSearcher);
+    	}
+    
+    CleanupStack::PopAndDestroy(dbUris);
+    CleanupStack::PopAndDestroy(lmSearch);
+    CleanupStack::PopAndDestroy(database);
+    }
+	
+// ---------------------------------------------------------
+// LOCAL_C ThreadFunction
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+LOCAL_C TInt ThreadFunction(TAny* aData)
+    {
+    CTrapCleanup* cleanup=CTrapCleanup::New(); 
+
+    CActiveScheduler* actSch = new (ELeave) CActiveScheduler;
+    CActiveScheduler::Install(actSch);
+
+    TRAPD(err, CPosTp132::RunPanicTestL(aData));
+    
+    delete actSch;
+    delete cleanup;
+    return err;
+    }
+
+// ---------------------------------------------------------
+// CPosTp132::CreateThreadL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp132::CreateThreadL()
+    {
+    _LIT(KCreateThreadErr, "Create thread failed with %d");
+	TBuf<100> buf;
+	buf.Format(_L("Tp132 test thread %d"), iTestCase);
+     TInt err=0;
+     err = iThread.Create(buf, ThreadFunction, KDefaultStackSize, KMinHeapSize, KMaxHeapSize, this);
+     AssertTrueSecL(err == KErrNone, KCreateThreadErr, err);
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp133.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,1083 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp133.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLandmarkSearch.h>
+#include <EPos_CPosLmTextCriteria.h>
+#include <EPos_CPosLMItemIterator.h>
+#include <EPos_CPosLmDisplayData.h>
+#include <EPos_CPosLmDisplayItem.h>
+#include <EPos_TPosLMSortPref.h>
+#include "FT_CSearchResult.h"
+#include <LbsPosition.h>
+#include "FT_LandmarkConstants.h"
+
+#include <EPos_CPosLmDatabaseManager.h>
+#include <EPos_CPosLmMultiDbSearch.h>
+     
+// CONSTANTS
+const TInt KNrOfDatabases = 5;
+_LIT(KTp133DbFile, "TP133Test.ldb");
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp133::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp133::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+    iSearchResults.ResetAndDestroy();
+
+    delete iDatabase;
+    iDatabase = NULL;
+
+    delete iDisplayData;
+    iDisplayData = NULL;
+
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+    
+    delete iMultiLandmarkSearch;
+    iMultiLandmarkSearch = NULL;
+    
+    iJustNowSearchResults->Reset();
+    
+    TRAPD(err, RemoveAllLmDatabasesL());
+    if (err != KErrNone) iLog->Log(_L("Problem when removing all lm databases"));
+    ReleaseLandmarkResources();
+    }
+
+// ---------------------------------------------------------
+// CPosTp133::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp133::StartL()
+    {
+    CDesCArray* dbUris = NULL;
+    // PrepareDatabases
+    RemoveAllLmDatabasesL();
+    // Get the list of Dbs remaining after removing the possible ones.
+    CPosLmDatabaseManager* dbMan = CPosLmDatabaseManager::NewL();
+        CleanupStack::PushL(dbMan);
+        dbUris = dbMan->ListDatabasesLC();
+        
+        TInt initialDbCount = dbUris->Count();
+        CleanupStack::PopAndDestroy(dbUris);
+    CopyTestDbFileL(KDb20);
+    CopyTestDbFileL(KDb40);
+    CopyTestDbFileL(KDb60);
+    CopyTestDbFileL(KDb80);
+    CopyTestDbFileL(KDb105);
+        
+	iDisplayData = NULL;
+	iLandmarkSearch = NULL;
+	       
+     dbUris = dbMan->ListDatabasesLC();
+    CleanupStack::Pop(dbUris);
+    CleanupStack::PopAndDestroy(dbMan);
+    CleanupStack::PushL(dbUris);
+        
+    AssertTrueSecL(dbUris->Count() == initialDbCount+KNrOfDatabases, _L("Wrong number of test databases!"));
+    
+    // Use this db as a template for how the result from multiple db search should be sorted
+	// used mostly in LandmarksSortL
+    CopyTestDbFileL(KTp133DbFile);
+	iDatabase = CPosLandmarkDatabase::OpenL(KTp133DbFile);
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+
+ 	AppendSearchResultsL();
+ 	// Get only the list of dburi in which this test case operations need to be performed
+ 	TInt dbUriCount = dbUris->Count();
+ 	
+ 	for ( TInt i= 0;i < dbUriCount;i++)
+ 	    {
+    iLog->Log((*dbUris)[i]);
+    // Action to be performed only on the newly added dbs in this test case
+        TPtrC dbUri((*dbUris)[i]);
+            if ( (dbUri != KDb20Uri) && (dbUri != KDb40Uri) && (dbUri != KDb60Uri) &&
+                   ( dbUri != KDb80Uri) && (dbUri != KDb105Uri) )
+                {
+                dbUris->Delete(i);
+                }
+
+ 	    }
+    DoSearchL(iSearchResults, dbUris, ESynchronous);
+    
+    DoSearchL(iSearchResults, dbUris, EAsynchronous);
+    
+    // Test Partial landmarks
+    iLog->Log(_L("Testing search with a defined sortorder for partial landmarks"));
+    
+   	// Only do search for index KWhatToSearchFor in lmDbSearchResult.txt
+	// index 11 is MLFW
+	TInt KWhatToSearchFor = 11;
+	SearchPartialLandmarksL(KWhatToSearchFor, iSearchResults, dbUris);
+		
+	// index 20 is x
+	KWhatToSearchFor = 20;
+	SearchPartialLandmarksL(KWhatToSearchFor, iSearchResults, dbUris);
+	
+	iLog->Log(_L("Testing search for partial landmarks without name"));
+    SearchPartialWithoutNameL(iSearchResults, dbUris);
+	
+    iLog->Log(_L("Testing reset of DisplayData"));
+    CheckResetL(iSearchResults, dbUris);
+    
+    iLog->Log(_L("Testing cancel and displaydata, cancel immeditely"));
+    CancelTestL(iSearchResults, dbUris, EFalse);
+    
+    iLog->Log(_L("Testing cancel and displaydata, cancel in callback"));
+    CancelTestL(iSearchResults, dbUris, ETrue);
+    
+    CleanupStack::PopAndDestroy(dbUris);
+    if (iErrorsFound != KErrNone) 
+    	{
+    	iLog->Log(_L("Errors were found in TP133"));
+         User::Leave(-1);
+    	
+   		}
+    }
+
+// ---------------------------------------------------------
+// CPosTp133::DoSearchL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp133::DoSearchL(const RPointerArray<CSearchResult>& aSearchResults, 
+							CDesCArray* aDbUris, TExecutionMode aExecutionMode)
+    {
+    iMultiLandmarkSearch = CPosLmMultiDbSearch::NewL(*aDbUris);
+    TPosLmSortPref sortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+    TBuf<150> buf;
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();	
+    
+    // Dont search for all search criteras (see excel file)
+	// takes just too long time on target (approx 1 hour for this test on target)
+	// therefore start at j=2
+#ifdef __WINS__	
+	for(TInt j=0; j<aSearchResults.Count(); j++)
+#else
+    for(TInt j=2; j<aSearchResults.Count(); j++)
+#endif
+        {   
+        textCriteria->SetTextL(aSearchResults[j]->TextCriteria());
+        textCriteria->SetAttributesToSearch(aSearchResults[j]->Attributes());
+        if (aSearchResults[j]->PositionFields().Find(803) != KErrNotFound)
+            {
+            // Stupid fix, since the multi dbs have not been re-generated against correct LBSFieldsid.h
+            // they contain the 802 field (instead of 803) so append this id as well 
+            RArray<TUint> arr;
+            iLog->Log(_L("Found 803"));
+            arr = aSearchResults[j]->PositionFields();
+            arr.Append(802);
+            textCriteria->SetPositionFieldsToSearchL(arr);
+            }
+        else
+            {
+            textCriteria->SetPositionFieldsToSearchL(aSearchResults[j]->PositionFields());
+            }
+        
+        iLog->Log(_L(">>>>>>Searching for: "));
+        iLog->Log(aSearchResults[j]->TextCriteria());
+
+		// Sort ascended and descended
+		for (TInt sorted=0;sorted<2;sorted++)
+			{
+			iDisplayData = CPosLmDisplayData::NewL();
+	    	iMultiLandmarkSearch->SetDisplayData(*iDisplayData);
+			
+			switch (sorted)
+	        	{
+                case 0:
+                iLog->Log(_L("******Sorting EAscending*******"));
+                iAscendedSorted = ETrue;
+                sortPref = TPosLmSortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+                break;
+                case 1:
+                iLog->Log(_L("**********Sorting EDescending**********"));
+                iAscendedSorted = EFalse;
+                sortPref = TPosLmSortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EDescending);
+                break;
+                }
+
+            iJustNowSearchResults = &aSearchResults[j]->SearchResult();
+			LandmarksSortL(*iJustNowSearchResults, sortPref);
+			iLastNrOfDisplayData = 0;
+			iOperation = iMultiLandmarkSearch->StartLandmarkSearchL(*textCriteria, sortPref, aSearchResults[j]->Redefined());
+			switch (aExecutionMode)
+	        	{
+                case ESynchronous:
+                	iLog->Log(_L("ESynchronous"));
+                    ExecuteAndDeleteLD(iOperation);
+                    break;
+                case EAsynchronous:
+                	iLog->Log(_L("EAsynchronous"));
+                	// Also check progress here
+                    ExecuteLmOpL();
+                    break;
+                }
+			
+			
+			// Check for any errors when multi searching
+			if (iMultiLandmarkSearch->NumOfSearchErrors() != 0) 
+			{
+				iLog->Log(_L("Errors after multi db search"));
+         		User::Leave(-1);
+			}
+		
+			TInt number = iDisplayData->Count();
+			buf.Zero();
+			buf.Format(_L("Nr in DisplayData: %d Nr in result %d"), number, iJustNowSearchResults->Count());
+			iLog->Log(buf);
+			
+			AssertTrueSecL(iDisplayData->Count() == iJustNowSearchResults->Count(),_L("Mismatch in number of matches"));
+			
+	        for (TInt i=0;i<iDisplayData->Count();i++)
+	            {
+	            CPosLmDisplayItem& item = iDisplayData->DisplayItem(i);
+	            TInt lmId = item.Landmark().LandmarkId();
+	            CPosLandmark* target = iDatabase->ReadLandmarkLC((*iJustNowSearchResults)[i]);
+	            TPtrC sourceName, targetName;
+
+	            item.Landmark().GetLandmarkName(sourceName);
+	            target->GetLandmarkName(targetName);
+				buf.Zero();
+			
+	            if (sourceName.CompareC(targetName) != 0)
+	            	{
+	            	
+	            		iLog->Log(_L("Mismatch between landmarks"));
+         				User::Leave(-1);
+	            	}
+				CleanupStack::PopAndDestroy(target);
+	            }
+			
+	    	iMultiLandmarkSearch->UnsetDisplayData();
+		    delete iDisplayData;iDisplayData=NULL;
+		    }
+	    }
+   	CleanupStack::PopAndDestroy(textCriteria);
+	
+	delete iMultiLandmarkSearch;
+	iMultiLandmarkSearch = NULL;
+    }
+    
+// ---------------------------------------------------------
+// CPosTp133::CheckPartialLandmarkL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp133::CheckPartialLandmarkL(const CPosLandmark& aLandmark, 
+                                     const CPosLandmark::TAttributes& aAttr, const RArray<TUint>& aReqFields)
+    {
+    _LIT(KPartialIdErr, "Incorrect Id when reading from a Partial landmark");
+    _LIT(KPartialCategoryInfoErr, "Incorrect Category info when reading from a Partial landmark");
+
+    TPosLmItemId id = aLandmark.LandmarkId();
+    AssertTrueSecL(id != 0, KPartialIdErr); 
+    
+    AssertTrueSecL(aLandmark.IsPartial(), _L("Landmark is not partial"));
+    
+    TInt err;
+    TPtrC name;
+    err = aLandmark.GetLandmarkName(name);
+    // Name is always included
+    CheckPartialErrorCodeL(aAttr & CPosLandmark::ELandmarkName, err);
+    
+    TBuf<100> buf;
+    buf.Format(_L("Checking LM: %S"), &name);
+    // iLog->Log(buf);
+    
+    TReal32 coverageR;     
+    err = aLandmark.GetCoverageRadius(coverageR);
+    CheckPartialErrorCodeL(aAttr & CPosLandmark::ECoverageRadius, err);
+    
+    TPtrC desc;
+    err = aLandmark.GetLandmarkDescription(desc); 
+    CheckPartialErrorCodeL(aAttr & CPosLandmark::EDescription, err);
+    
+    TPtrC iconName;
+    TInt iconIndex;
+    TInt iconMaskIndex;
+    err = aLandmark.GetIcon(iconName, iconIndex, iconMaskIndex); 
+    CheckPartialErrorCodeL(aAttr & CPosLandmark::EIcon, err);
+    
+    RArray<TPosLmItemId> categories;
+    CleanupClosePushL(categories);
+
+    aLandmark.GetCategoriesL(categories);
+    if (aAttr & CPosLandmark::ECategoryInfo)
+        {
+        AssertTrueSecL(categories.Count() != 0, KPartialCategoryInfoErr);
+        }
+    else
+        {
+        AssertTrueSecL(categories.Count() == 0, KPartialCategoryInfoErr);
+        }
+    CleanupStack::PopAndDestroy(&categories);
+
+    TLocality loc;
+    err = aLandmark.GetPosition(loc); 
+    CheckPartialErrorCodeL(aAttr & CPosLandmark::EPosition, err);
+    
+    // Check PositionFields    
+    // Check fields from EPositionFieldCompassCapabilitiesBegin up to EPositionFieldMediaCapabilitiesBegin+100 
+    // should be enough to also cover URL
+    for (TInt i=EPositionFieldCompassCapabilitiesBegin; i<EPositionFieldMediaCapabilitiesBegin+100; i++) 
+     	{
+     	TBool avail = aLandmark.IsPositionFieldAvailable((TUint16)i);
+     	TInt found = aReqFields.Find(i);
+     	if (avail && found != KErrNotFound)
+     		{
+     		TPtrC value;
+     		err = aLandmark.GetPositionField((TUint16)aReqFields[found], value);
+     		AssertTrueSecL(err == KErrNone, _L("Could not retrieve positionfield value"), err);
+     		iLog->Log(value);
+     		}
+     	else if (!avail && found != KErrNotFound || avail && found == KErrNotFound)
+     		{
+			// Fields 405 and 802 are not always set     		
+     		if (i!=405 && i!=802)
+     			{
+		 		TBuf<100> buf;
+		 		buf.Format(_L("ERROR: Mismatch in positionfields, id %d were not found"), i);
+		 		iLog->Log(buf);
+		 		iErrorsFound++;
+		 		}
+     		}
+     	}
+    }
+
+// ---------------------------------------------------------
+// CPosTp133::ChechPartialErrorCodeL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp133::CheckPartialErrorCodeL(const TBool aPartial, const TInt aErr)
+    {
+    _LIT(KPartialLmErr, "Incorrect error code returned when reading from a Partial landmark");
+    _LIT(KPartialLmErr2, "Incorrect error code returned when reading from a non-Partial landmark");
+
+    if (aPartial)
+        {
+        
+        if (aErr != KErrNone)
+        	{
+        	iLog->Log(KPartialLmErr);
+        	iErrorsFound++;
+        	}
+        }
+    else
+        {
+        
+        if (aErr != KErrNotFound)
+        	{
+        	iLog->Log(KPartialLmErr2);
+        	iErrorsFound++;
+        	}
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp133::SearchPartialWithoutNameL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp133::SearchPartialWithoutNameL(const RPointerArray<CSearchResult>& aSearchResults,
+									CDesCArray* aDbUris)
+    {
+    iLog->Log(_L("SearchPartialWithoutNameL"));
+    // Search in all lm dbs
+   	iMultiLandmarkSearch = CPosLmMultiDbSearch::NewL(*aDbUris);
+   	// Set DisplayData
+	iDisplayData = CPosLmDisplayData::NewL();
+    iMultiLandmarkSearch->SetDisplayData(*iDisplayData);
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+    TPosLmSortPref sortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+    TBuf<150> buf;
+    
+    CPosLmPartialReadParameters* partialParam = CPosLmPartialReadParameters::NewLC();
+    
+    // Dont search for all search criteras (see excel file)
+	// takes just too long time on target
+	// therefore start at j=2
+#ifdef __WINS__	
+    for(TInt j=0; j<aSearchResults.Count(); j++)
+#else
+    for(TInt j=2; j<aSearchResults.Count(); j++)
+#endif
+        {   
+        textCriteria->SetTextL(aSearchResults[j]->TextCriteria());
+        textCriteria->SetAttributesToSearch(aSearchResults[j]->Attributes());
+        
+        
+        if (aSearchResults[j]->PositionFields().Find(803) != KErrNotFound)
+            {
+            // Stupid fix, since the multi dbs have not been re-generated against correct LBSFieldsid.h
+            // they contain the 802 field (instead of 803) so append this id as well
+            RArray<TUint> arr;
+            iLog->Log(_L("Found 803"));
+            arr = aSearchResults[j]->PositionFields();
+            arr.Append(802);
+            textCriteria->SetPositionFieldsToSearchL(arr);
+            }
+        else
+            {
+            textCriteria->SetPositionFieldsToSearchL(aSearchResults[j]->PositionFields());
+            }
+
+        RArray<TUint> reqFields;
+        CleanupClosePushL(reqFields);
+    
+        iLog->Log(aSearchResults[j]->TextCriteria());
+        
+        // Set position and descriptiom
+        //partialParam->SetRequestedAttributes(CPosLandmark::EPosition);
+        partialParam->SetRequestedAttributes(CPosLandmark::EDescription| CPosLandmark::EPosition);
+        
+    	iDisplayData->SetPartialReadParametersL(*partialParam);
+        iLastNrOfDisplayData=0;
+        iOperation = iMultiLandmarkSearch->StartLandmarkSearchL(*textCriteria, aSearchResults[j]->Redefined());
+        ExecuteLmOpL();
+            
+        iLog->Log(_L("Search Done, check sorting"));
+		// Check for any errors when multi searching
+		if (iMultiLandmarkSearch->NumOfSearchErrors() != 0) 
+		{
+			iLog->Log(_L("Errors after multi db search"));
+         	User::Leave(-1);
+		}
+		
+		RArray<TPosLmItemId>* result = &aSearchResults[j]->SearchResult();
+        
+		TInt number = iDisplayData->Count();
+		buf.Zero();
+		buf.Format(_L("Nr in DisplayData: %d Nr in result %d"), number, result->Count());
+		iLog->Log(buf);
+		TInt nrOfNoPos = 0;
+        AssertTrueSecL(iDisplayData->Count() == result->Count(),_L("Mismatch in number of matches"));		
+        for (TInt i=0;i<iDisplayData->Count();i++)
+            {
+            CPosLmDisplayItem& item = iDisplayData->DisplayItem(i);
+            TInt lmId = item.Landmark().LandmarkId();
+                    	
+        	TInt err;
+            TPtrC name;
+            err = item.Landmark().GetLandmarkName(name);
+            AssertTrueSecL(err == KErrNotFound,_L("GetLandmarkName returned name"));
+            TReal32 radius;
+            err = item.Landmark().GetCoverageRadius(radius);
+            AssertTrueSecL(err == KErrNotFound,_L("GetLandmarkName returned name"));
+            TPtrC desc;
+            err = item.Landmark().GetLandmarkDescription(desc);
+            AssertTrueSecL(err == KErrNone,_L("GetLandmarkDescription returned error"));
+            TLocality loc;
+            err = item.Landmark().GetPosition(loc);
+            
+            // Should only be three landmarks without position
+            if (err == KErrNotFound) nrOfNoPos++;
+
+            }
+            
+        if (nrOfNoPos > 3)
+            {
+            iLog->Log(_L("ERROR: GetPosition returned error"));
+            iErrorsFound++;
+            }
+        
+        CleanupStack::PopAndDestroy(&reqFields);
+        }
+        
+        
+    CleanupStack::PopAndDestroy(partialParam);
+
+    CleanupStack::PopAndDestroy(textCriteria);
+    iMultiLandmarkSearch->UnsetDisplayData();
+    delete iDisplayData;
+    iDisplayData = NULL;
+    delete iMultiLandmarkSearch;
+    iMultiLandmarkSearch = NULL;
+    
+    }
+
+// ---------------------------------------------------------
+// CPosTp133::SearchPartialLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp133::SearchPartialLandmarksL(TInt aWhatIndexToSerrachFor, const RPointerArray<CSearchResult>& aSearchResults,
+									CDesCArray* aDbUris)
+    {   
+   	// Search in all lm dbs
+   	iMultiLandmarkSearch = CPosLmMultiDbSearch::NewL(*aDbUris);
+   	// Set DisplayData
+	iDisplayData = CPosLmDisplayData::NewL();
+    iMultiLandmarkSearch->SetDisplayData(*iDisplayData);
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+    TPosLmSortPref sortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+    TBuf<150> buf;
+    
+    textCriteria->SetTextL(aSearchResults[aWhatIndexToSerrachFor]->TextCriteria());
+    textCriteria->SetAttributesToSearch(aSearchResults[aWhatIndexToSerrachFor]->Attributes());
+    textCriteria->SetPositionFieldsToSearchL(aSearchResults[aWhatIndexToSerrachFor]->PositionFields()); 
+
+    RArray<TUint> reqFields;
+    CleanupClosePushL(reqFields);
+    
+    iLog->Log(aSearchResults[aWhatIndexToSerrachFor]->TextCriteria());
+    CPosLmPartialReadParameters* partialParam = CPosLmPartialReadParameters::NewLC();
+    
+    CPosLmPartialReadParameters* fakePartialParam = CPosLmPartialReadParameters::NewLC();
+    reqFields.Append(EPositionFieldStreet);
+    fakePartialParam->SetRequestedPositionFields(reqFields);
+    reqFields.Reset();
+        	
+	// Search for all combinations from 0 - CPosLandmark::EDescription
+	// Ex attr=0, attr=1, attr=2, attr=3, .....attr=63,
+    TUint max = CPosLandmark::EDescription;
+    max <<= 1;
+    max -= 1;
+    
+    TUint attr=0;
+    for (attr=0; attr<=max; attr++)
+        {
+        partialParam->SetRequestedAttributes(attr);
+        reqFields.Reset();
+        
+        if (attr == 5)
+        	{
+        	// Add EPositionFieldCountry
+        	iLog->Log(_L("Also cover EPositionFieldCountry"));
+        	reqFields.Append(EPositionFieldCountry);
+        	}
+        else if (attr == 12)
+        	{
+        	// Add EPositionFieldCity, EPositionFieldStreet, EPositionFieldCountry
+        	iLog->Log(_L("Also cover EPositionFieldCity, EPositionFieldStreet, EPositionFieldCountry"));
+        	reqFields.Append(EPositionFieldCity);
+        	reqFields.Append(EPositionFieldStreet);
+        	reqFields.Append(EPositionFieldCountry);
+        	}
+        else if (attr == 32)
+        	{
+        	// Add EPositionFieldMediaLinksStart, EPositionFieldDistrict
+        	iLog->Log(_L("Also cover EPositionFieldMediaLinksStart, EPositionFieldDistrict"));
+        	reqFields.Append(EPositionFieldMediaLinksStart);
+        	reqFields.Append(EPositionFieldDistrict);
+        	}
+        	
+        partialParam->SetRequestedPositionFields(reqFields);
+    	iDisplayData->SetPartialReadParametersL(*partialParam);
+    	
+        for (TInt i=0; i<2; i++)
+            {
+            switch (i)
+                {
+                case 0:
+                	{
+                	//**** async
+                	iLog->Log(_L("*****Async, EDescending"));
+                	sortPref.SetSortByLandmarkAttribute(CPosLandmark::ELandmarkName, TPosLmSortPref::EDescending);
+                    iAscendedSorted = EFalse;
+                    iLastNrOfDisplayData=0;
+                    iOperation = iMultiLandmarkSearch->StartLandmarkSearchL(*textCriteria, sortPref, aSearchResults[aWhatIndexToSerrachFor]->Redefined());
+                    // Test that if SetPartialReadParametersL is called after search has started it has no affect
+                    iDisplayData->SetPartialReadParametersL(*fakePartialParam);
+                    ExecuteLmOpL();
+                    }
+                    break;
+                case 1:
+                	{
+                	partialParam->SetRequestedPositionFields(reqFields);
+    				iDisplayData->SetPartialReadParametersL(*partialParam);
+                    sortPref.SetSortByLandmarkAttribute(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+                    iLog->Log(_L("*****Async EAscending"));
+                    iAscendedSorted = ETrue;
+                    iLastNrOfDisplayData=0;
+                    iOperation = iMultiLandmarkSearch->StartLandmarkSearchL(*textCriteria, sortPref, aSearchResults[aWhatIndexToSerrachFor]->Redefined());
+                    ExecuteLmOpL();
+                    }
+                    break;
+                }
+                
+                // Sort correct result
+				iJustNowSearchResults = &aSearchResults[aWhatIndexToSerrachFor]->SearchResult();
+				LandmarksSortL(*iJustNowSearchResults, sortPref);                
+                //
+             	iLog->Log(_L("Search Done, check sorting"));
+				// Check for any errors when multi searching
+				if (iMultiLandmarkSearch->NumOfSearchErrors() != 0)
+				{
+					iLog->Log(_L("Errors after multi db search"));
+         			User::Leave(-1);
+				}
+				
+				TInt number = iDisplayData->Count();
+				buf.Zero();
+				buf.Format(_L("Nr in DisplayData: %d Nr in result %d"), number, iJustNowSearchResults->Count());
+				iLog->Log(buf);
+				
+				AssertTrueSecL(iDisplayData->Count() == iJustNowSearchResults->Count(),_L("Mismatch in number of matches"));
+				
+		        for (TInt i=0;i<iDisplayData->Count();i++)
+		            {
+		            CPosLmDisplayItem& item = iDisplayData->DisplayItem(i);
+		            TInt lmId = item.Landmark().LandmarkId();
+		            CPosLandmark* target = iDatabase->ReadLandmarkLC((*iJustNowSearchResults)[i]);
+		            TPtrC sourceName, targetName;
+
+		            item.Landmark().GetLandmarkName(sourceName);
+		            target->GetLandmarkName(targetName);
+					buf.Zero();
+				
+		            if (sourceName.CompareC(targetName) != 0)
+		            	{
+		            
+		            	iLog->Log(_L("Mismatch between landmarks"));
+         				User::Leave(-1);
+		            	}
+					CleanupStack::PopAndDestroy(target);
+					
+					// Landmarkname is always included when sorting
+                	CheckPartialLandmarkL(item.Landmark() , attr | CPosLandmark::ELandmarkName, reqFields);
+		            }
+                
+        } 
+        } 
+        
+    CleanupStack::PopAndDestroy(fakePartialParam);
+    CleanupStack::PopAndDestroy(partialParam);
+    CleanupStack::PopAndDestroy(&reqFields);
+    CleanupStack::PopAndDestroy(textCriteria);
+    iMultiLandmarkSearch->UnsetDisplayData();
+    delete iDisplayData;
+    iDisplayData = NULL;
+    delete iMultiLandmarkSearch;
+    iMultiLandmarkSearch = NULL;
+    }
+
+
+// ---------------------------------------------------------
+// CPosTp133::CheckResetL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp133::CheckResetL(const RPointerArray<CSearchResult>& aSearchResults, CDesCArray* aDbUris)
+    {
+    iMultiLandmarkSearch = CPosLmMultiDbSearch::NewL(*aDbUris);
+    TPosLmSortPref sortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+    TBuf<150> buf;
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();	
+    
+	iDisplayData = CPosLmDisplayData::NewL();
+	iMultiLandmarkSearch->SetDisplayData(*iDisplayData);
+	iAscendedSorted = ETrue;
+    
+	for(TInt j=0; j<aSearchResults.Count(); j++)
+        {
+        textCriteria->SetTextL(aSearchResults[j]->TextCriteria());
+        textCriteria->SetAttributesToSearch(aSearchResults[j]->Attributes());
+        
+        if (aSearchResults[j]->PositionFields().Find(803) != KErrNotFound)
+            {
+            // Stupid fix, since the multi dbs have not been re-generated against correct LBSFieldsid.h
+            // they contain the 802 field (instead of 803) so append this id as well
+            RArray<TUint> arr;
+            iLog->Log(_L("Found 803"));
+            arr = aSearchResults[j]->PositionFields();
+            arr.Append(802);
+            textCriteria->SetPositionFieldsToSearchL(arr);
+            }
+        else
+            {
+            textCriteria->SetPositionFieldsToSearchL(aSearchResults[j]->PositionFields());
+            }
+        
+        iLog->Log(_L(">>>>>>Searching for: "));
+        iLog->Log(aSearchResults[j]->TextCriteria());
+			
+        RArray<TPosLmItemId>* result = &aSearchResults[j]->SearchResult();
+        
+		LandmarksSortL(*result, sortPref);
+		iLastNrOfDisplayData = 0;
+		iOperation = iMultiLandmarkSearch->StartLandmarkSearchL(*textCriteria, sortPref, aSearchResults[j]->Redefined());
+		ExecuteAndDeleteLD(iOperation);
+		
+		iLastNrOfDisplayData = 0;
+		iDisplayData->Reset();
+		AssertTrueSecL(iDisplayData->Count() == 0,_L("DisplayData should have been resetted"));
+		
+		iOperation = iMultiLandmarkSearch->StartLandmarkSearchL(*textCriteria, sortPref, aSearchResults[j]->Redefined());
+        // Also check progress here
+        ExecuteLmOpL();
+		AssertTrueSecL(iDisplayData->Count() == result->Count(),_L("Mismatch in number of matches"));						
+		}
+		
+	iMultiLandmarkSearch->UnsetDisplayData();
+	iDisplayData->Reset();
+	iMultiLandmarkSearch->SetDisplayData(*iDisplayData);
+	AssertTrueSecL(iDisplayData->Count() == 0,_L("DisplayData should have been resetted"));
+	
+	// Unset display data
+	iMultiLandmarkSearch->UnsetDisplayData();
+	
+	textCriteria->SetTextL(aSearchResults[0]->TextCriteria());
+    textCriteria->SetAttributesToSearch(aSearchResults[0]->Attributes());
+    textCriteria->SetPositionFieldsToSearchL(aSearchResults[0]->PositionFields());
+    
+    // Check that no result is found in displaydata
+    iOperation = iMultiLandmarkSearch->StartLandmarkSearchL(*textCriteria, sortPref, aSearchResults[0]->Redefined());
+	ExecuteAndDeleteLD(iOperation);
+	AssertTrueSecL(iDisplayData->Count() == 0,_L("No matches should be found in DisplayData1"));
+	
+	iMultiLandmarkSearch->SetDisplayData(*iDisplayData);
+	iOperation = iMultiLandmarkSearch->StartLandmarkSearchL(*textCriteria, sortPref, aSearchResults[0]->Redefined());
+	ExecuteAndDeleteLD(iOperation);
+	
+	// Check that result is found in displaydata
+	RArray<TPosLmItemId>* searchResults = &aSearchResults[0]->SearchResult();
+   	AssertTrueSecL(iMultiLandmarkSearch->TotalNumOfMatches() == iDisplayData->Count(),_L("Wrong number of matches1"));
+    AssertTrueSecL(iMultiLandmarkSearch->TotalNumOfMatches() == searchResults->Count(),_L("Wrong number of matches2"));
+				
+   	CleanupStack::PopAndDestroy(textCriteria);
+   	
+   	iMultiLandmarkSearch->UnsetDisplayData();
+	delete iDisplayData;iDisplayData=NULL;
+	
+	delete iMultiLandmarkSearch;
+    iMultiLandmarkSearch = NULL;
+    }
+
+// ---------------------------------------------------------
+// CPosTp133::CancelTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp133::CancelTestL(const RPointerArray<CSearchResult>& aSearchResults, CDesCArray* aDbUris,
+					TBool aCancelInCallback)
+    {
+    iMultiLandmarkSearch = CPosLmMultiDbSearch::NewL(*aDbUris);
+    TPosLmSortPref sortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+    TBuf<150> buf;
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();	
+    
+    // Search for wildcard, index 0 in lmdbsearchresult.txt
+	TInt KWhatToSearchForIndex = 0;
+	
+        textCriteria->SetTextL(aSearchResults[KWhatToSearchForIndex]->TextCriteria());
+        textCriteria->SetAttributesToSearch(aSearchResults[KWhatToSearchForIndex]->Attributes());
+        textCriteria->SetPositionFieldsToSearchL(aSearchResults[KWhatToSearchForIndex]->PositionFields()); 
+        
+        iLog->Log(_L(">>>>>>Searching for: "));
+        iLog->Log(aSearchResults[KWhatToSearchForIndex]->TextCriteria());
+
+		// Sort ascended and descended
+		for (TInt sorted=0;sorted<2;sorted++)
+			{
+			iDisplayData = CPosLmDisplayData::NewL();
+	    	iMultiLandmarkSearch->SetDisplayData(*iDisplayData);
+			
+			switch (sorted)
+	        	{
+                case 0:
+                iLog->Log(_L("******Sorting EAscending*******"));
+                iAscendedSorted = ETrue;
+                sortPref = TPosLmSortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+                break;
+                case 1:
+                iLog->Log(_L("**********Sorting EDescending**********"));
+                iAscendedSorted = EFalse;
+                sortPref = TPosLmSortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EDescending);
+                break;
+                }
+
+            iJustNowSearchResults = &aSearchResults[KWhatToSearchForIndex]->SearchResult();
+			LandmarksSortL(*iJustNowSearchResults, sortPref);
+			iLastNrOfDisplayData = 0;
+			
+			iOperation = iMultiLandmarkSearch->StartLandmarkSearchL(*textCriteria, sortPref, aSearchResults[KWhatToSearchForIndex]->Redefined());
+
+			switch (aCancelInCallback)
+				{
+					case EFalse:
+					iLog->Log(_L("Cancel"));
+					RunAsyncOperationAndCancelLD(iOperation);
+					break;
+					case ETrue:
+					iLog->Log(_L("Cancel In Callback"));
+					RunAsyncOperationAndCancelInCallbackLD(iOperation);
+					break;
+				}
+			
+			
+			buf.Format(_L("TotalNumOfMatches returned %d matches and iDisplayData %d matches after cancel"), iMultiLandmarkSearch->TotalNumOfMatches(), iDisplayData->Count());
+			iLog->Log(buf);
+			
+			iLog->Log(_L("After Cancel, check result"));
+			// Check for any errors when multi searching
+			// XXX Shouldnt error be KErrCancel
+			if (iMultiLandmarkSearch->NumOfSearchErrors() != 0) iLog->Log(_L("Errors after cancel"));
+			for (TInt i=0;i<iMultiLandmarkSearch->NumOfSearchErrors(); i++)
+				{
+	    		CPosLmMultiDbSearch::TSearchError searchErr;
+	    		iMultiLandmarkSearch->GetSearchError(i, searchErr);
+	    		
+	    		buf.Format(_L("ErrorCode %d returned from db nr %d"),searchErr.iErrorCode, searchErr.iDatabaseIndex);
+	    		iLog->Log(buf);
+	    		
+	    		}
+			
+			TInt number = iDisplayData->Count();
+			buf.Zero();
+			buf.Format(_L("Nr in DisplayData: %d Nr in result %d"), number, iJustNowSearchResults->Count());
+			iLog->Log(buf);
+			
+			if (!aCancelInCallback)
+				{
+				if (iDisplayData->Count() != 0) 
+					{
+					iLog->Log(_L("No matches should be found when cancel before search started"));
+         			User::Leave(-1);
+					}
+				}
+			else
+			{
+			// XXX maybe check result here
+			}
+			
+	    	iMultiLandmarkSearch->UnsetDisplayData();
+		    delete iDisplayData;iDisplayData=NULL;
+		    }
+   	CleanupStack::PopAndDestroy(textCriteria);
+	
+	delete iMultiLandmarkSearch;
+	iMultiLandmarkSearch = NULL;
+	}
+
+// ---------------------------------------------------------
+// Tp133InternalLandmarksSortL
+// 
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//	
+TInt Tp133InternalLandmarksSortL(const CPosLandmark& aSource, const CPosLandmark& aTarget)
+    {
+    TPtrC sourceName, targetName;
+    
+    User::LeaveIfError(aSource.GetLandmarkName(sourceName));  
+    User::LeaveIfError(aTarget.GetLandmarkName(targetName));
+    
+    return sourceName.CompareC(targetName);
+    }
+
+// ---------------------------------------------------------
+// CPosTp133::LandmarksSortL
+// 
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp133::LandmarksSortL(RArray<TPosLmItemId>& aArray, const TPosLmSortPref& aSortPref)
+    {
+    iLog->Log(_L("LandmarksSortL"));
+    RPointerArray<CPosLandmark> landmarks;
+    CleanupClosePushL(landmarks);
+    
+    for (TInt i=0; i<aArray.Count(); i++)
+        {
+        CPosLandmark* lm = iDatabase->ReadLandmarkLC(aArray[i]);
+        landmarks.Append(lm);
+        CleanupStack::Pop(lm);
+        }
+    
+    TLinearOrder<CPosLandmark> order(Tp133InternalLandmarksSortL);
+    landmarks.Sort(order);
+  
+    aArray.Reset();
+
+    if (aSortPref.SortOrder() == TPosLmSortPref::EAscending)
+        {
+        for (TInt j=0; j<landmarks.Count(); j++)
+            {
+            aArray.Append(landmarks[j]->LandmarkId());
+            }
+        }
+    else
+        {
+        for (TInt k=landmarks.Count()-1; k>=0; k--)
+            {
+            aArray.Append(landmarks[k]->LandmarkId());
+            }
+        }
+    landmarks.ResetAndDestroy();
+    CleanupStack::PopAndDestroy(&landmarks);
+    }
+
+// ---------------------------------------------------------
+// CPosTp133::ExecuteLmOpL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp133::ExecuteLmOpL()
+    {
+    CActiveLmOperation* operationWrapper = new (ELeave) CActiveLmOperation(iLog);
+    CleanupStack::PushL(operationWrapper);
+	
+	// Start operation with this class as observer
+	operationWrapper->Start(iOperation, this);        
+    CActiveScheduler::Start();
+    
+    operationWrapper->CheckOperationL();
+    operationWrapper->DeleteOperationD();
+
+    CleanupStack::PopAndDestroy(operationWrapper);
+    }
+
+// ---------------------------------------------------------
+// CPosTp133::ExecuteLmOpInCallbackL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp133::ExecuteLmOpInCallbackL()
+    {
+        CActiveLmOperation* activeLmOperation = new(ELeave) CActiveLmOperation(iLog, iUseLogFromThreadIsDisabled);
+    CleanupStack::PushL(activeLmOperation);
+
+    TCallBack callback(CLandmarkTestProcedureBase::CancelTest, activeLmOperation);
+
+    CPeriodic* periodicTimer = CPeriodic::NewL(CActive::EPriorityHigh); 
+    CleanupStack::PushL(periodicTimer);
+
+    periodicTimer->Start(1, 1, callback);
+    activeLmOperation->SetCancelTest();
+    // Start operation with this class as observer
+    activeLmOperation->Start(iOperation, this);
+    
+    CActiveScheduler::Start();
+    periodicTimer->Cancel();
+    
+    CleanupStack::PopAndDestroy(2, activeLmOperation);
+    }
+        
+// ---------------------------------------------------------
+// CPosTp133::NotifyProgress
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp133::NotifyProgress(TReal aProgress)
+    {
+    TBuf<100> buf;
+    TInt progress = (TInt) (aProgress * 100);
+    buf.Format(_L("Progress: %d"), progress);
+    TInt nrOfMatches = 0;
+
+    if (iDisplayData)
+    	{
+	    buf.Zero();
+	    buf.Format(_L("Progress: %g DisplayData %d"), aProgress * 100, iDisplayData->Count());
+	    
+	    // Check that nr of matches never decreases
+	    if (iLastNrOfDisplayData>iDisplayData->Count())
+	    	{
+	    	iLog->Log(_L("ERROR: Less nr of mathes than in last search"));
+	    	iErrorsFound++;
+	    	}
+	    
+	    if (iDisplayData->Count()>0)
+			{
+			TPosLmSortPref sortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+	        // Check nr of hits for each db using the iterator
+			for (TInt i=0;i<KNrOfDatabases;i++)
+				{
+				CPosLmItemIterator* iter = iMultiLandmarkSearch->MatchIteratorL(i);
+				CleanupStack::PushL(iter);
+				if (iter->NumOfItemsL() > 0) 
+					{
+					buf.Zero();
+					buf.Format(_L("Found %d nr of lm in db %d"), iter->NumOfItemsL(), i);
+				
+					nrOfMatches+=iter->NumOfItemsL();
+		        	}
+		        CleanupStack::PopAndDestroy(iter);
+	        	}
+   	        	
+	        if (iAscendedSorted) sortPref.SetSortByLandmarkAttribute(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+	        else sortPref.SetSortByLandmarkAttribute(CPosLandmark::ELandmarkName, TPosLmSortPref::EDescending);
+            	
+            for (TInt i=0;i<iDisplayData->Count();i++)
+	            {
+	            // Check for all but first and last
+	            if (i>0 && i<iDisplayData->Count()-1)
+	            	{
+	            	CPosLmDisplayItem& item = iDisplayData->DisplayItem(i);
+	            	TInt lmId = item.Landmark().LandmarkId();
+	            
+	            	CPosLmDisplayItem& nextItem = iDisplayData->DisplayItem(i+1);
+	            	TInt nextLmId = item.Landmark().LandmarkId();
+	            	
+	            	TPtrC name, nextLmName;
+	            	item.Landmark().GetLandmarkName(name);
+	            	nextItem.Landmark().GetLandmarkName(nextLmName);
+	            
+	            	TInt order = nextLmName.CompareC(name);
+                    if (iAscendedSorted)
+                        { // sorted ascended
+                        if (order < 0)
+                        	{
+                        	iLog->Log(_L("ERROR: Wrong sortorder when ascended"));
+                        	iErrorsFound++;
+                        	}
+                        }
+                    else // sorted descended
+                        {
+                        if (order > 0)
+                        	{
+                        	iLog->Log(_L("ERROR: Wrong sortorder when descended"));
+                        	iErrorsFound++;
+                        	}
+                            
+	            		}
+					} // if (i>0 && i<iDisplayData->Count()-1)
+				} // for (TInt i=0;i<iDisplayData->Count();i++)
+			} // if (iDisplayData->Count()>0)
+			iLastNrOfDisplayData = iDisplayData->Count();
+		} //if (iDisplayData)
+	}
+
+        
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp134.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,490 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp134.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLmMultiDbSearch.h> 
+#include <EPos_CPosLmTextCriteria.h>
+#include <EPos_CPosLmCatNameCriteria.h>
+#include <EPos_CPosLMItemIterator.h>    
+#include <EPos_TPosLMSortPref.h>
+#include "FT_CSearchResult.h"
+#include <EPos_CPosLmDatabaseManager.h>
+#include <EPos_CPosLmDisplayData.h>
+#include <EPos_CPosLmDisplayItem.h>
+#include "FT_LandmarkConstants.h"
+#include <centralrepository.h>
+     
+// CONSTANTS
+_LIT(KUriDb01, "C:TP134DB01.LDB");
+_LIT(KUriDb01Full, "file://C:TP134DB01.LDB");
+_LIT(KUriDb02Full, "file://C:TP134DB02.LDB");
+_LIT(KUriDb02, "C:TP134DB02.LDB");
+_LIT(KUriDbNonExisting, "file://C:TP104DBBLABLA.LDB");
+_LIT(KUriDbCorrupt, ":jf785hjtr748.abc");
+_LIT(KUriNotSupported, "bike://test/tp104.wheel");
+_LIT(KProtocolFile, "file");
+
+#ifdef __WINS__
+    _LIT(KUriRemovableMediaDb, "file://D:REMOVABLEDB.LDB");
+    _LIT(KUriRemovableMediaDbNonExisting, "file://D:REMOVABLEDBBLABLA.LDB");
+    #else
+    _LIT(KUriRemovableMediaDb, "file://F:REMOVABLEDB.LDB");
+    _LIT(KUriRemovableMediaDbNonExisting, "file://F:REMOVABLEDBBLABLA.LDB");
+    #endif
+    
+_LIT(KNewDbName, "TP134 Disp Name");
+
+_LIT(KErrorWrongDrive, "Wrong drive returned from db info");
+
+_LIT(KErrorWrongDefault, "Wrong default db returned from db info");
+_LIT(KErrorWrongDbUri, "Wrong db uri returned from db info");
+_LIT(KErrorWrongProtocol, "Wrong protocol returned from db info");
+_LIT(KErrorWrongDbName, "Wrong db name returned from db info");
+_LIT(KErrorWrongAttributeInfo, "Wrong attribute info from db info");
+_LIT(KErrorWrongNrOfDbs, "Wrong nr of db:s for ListDatasesL");
+_LIT(KErrorWrongCodeForNonExistingDb, "Wrong error code for non-existing db");
+_LIT(KErrorWrongCodeForNonExistingDbRem, "Wrong error code for non-existing db on removable media");
+_LIT(KErrorWrongCodeForCorruptUri, "Wrong error code for corrupt uri");
+_LIT(KErrorWrongCodeForNotSupportedUri, "Wrong error code for not supported uri");
+
+// ================= MEMBER FUNCTIONS =======================
+// Cleanup for RPointerArray<HPosLmDatabaseInfo> objects
+void TP134CleanupTestPointerArray(TAny* aArray)
+
+    {
+    (static_cast<RPointerArray<HPosLmDatabaseInfo>*>(aArray))->ResetAndDestroy();
+    }
+
+// ---------------------------------------------------------
+// CPosTp134::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp134::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp134::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp134::StartL()
+    {
+    iLog->Log(_L("Warning: this test case requires E: drive"));
+    
+    iErrorsFound = KErrNone;
+    RemoveAllLmDatabasesL();
+    SetupExpectedResultsL();
+    // Create the test DB:s
+    iDbMan = CPosLmDatabaseManager::NewL();
+    HPosLmDatabaseInfo* dbInfo01 = HPosLmDatabaseInfo::NewLC(KUriDb01);
+    iDbMan->CreateDatabaseL(*dbInfo01);
+    CleanupStack::PopAndDestroy(dbInfo01);
+    HPosLmDatabaseInfo* dbInfo02 = HPosLmDatabaseInfo::NewLC(KUriDb02);
+    iDbMan->CreateDatabaseL(*dbInfo02);
+    CleanupStack::PopAndDestroy(dbInfo02);
+    HPosLmDatabaseInfo* dbInfoRemovableMedia = HPosLmDatabaseInfo::NewLC(KUriRemovableMediaDb);
+    iDbMan->CreateDatabaseL(*dbInfoRemovableMedia);
+    CleanupStack::PopAndDestroy(dbInfoRemovableMedia);
+    dbInfo02 = NULL;
+    dbInfo01 = NULL;
+    dbInfoRemovableMedia = NULL;
+    
+    // 1 Get info about the default DB
+  /*  dbInfo01 = HPosLmDatabaseInfo::NewLC(KUriDb01Full);
+    iDbMan->SetDefaultDatabaseUriL(KUriDb01Full);
+    iDbMan->GetDatabaseInfoL(*dbInfo01);
+    CheckInfoL(dbInfo01, 1);
+    CleanupStack::PopAndDestroy(dbInfo01);
+    dbInfo01 = NULL;*/
+    
+    // 2 Get info about a non-default DB
+    dbInfo02 = HPosLmDatabaseInfo::NewLC(KUriDb02Full);
+    iDbMan->GetDatabaseInfoL(*dbInfo02);
+    CheckInfoL(dbInfo02, 2);
+    CleanupStack::PopAndDestroy(dbInfo02);
+    dbInfo02 = NULL;
+    
+    // 3a Change the default db
+    // Check error report "ESLI-6CXJP3 Default database not marked as default"
+   /* iDbMan->SetDefaultDatabaseUriL(KUriDb02);
+    dbInfo02 = HPosLmDatabaseInfo::NewLC(KUriDb02Full);
+    iDbMan->GetDatabaseInfoL(*dbInfo02);
+    CheckInfoL(dbInfo02, 3);
+    CleanupStack::PopAndDestroy(dbInfo02);
+    dbInfo02 = NULL;
+    
+    iDbMan->SetDefaultDatabaseUriL(KUriDb01Full);
+    
+    // 3b Change the default db
+    // Check error report "ESLI-6CXJP3 Default database not marked as default"
+    iDbMan->SetDefaultDatabaseUriL(KUriDb02Full);
+    iDbUri[3] = KUriDb02;
+    iProtocol[3]  = KNullDesC;
+    dbInfo02 = HPosLmDatabaseInfo::NewLC(KUriDb02);
+    iDbMan->GetDatabaseInfoL(*dbInfo02);
+    CheckInfoL(dbInfo02, 3);
+    CleanupStack::PopAndDestroy(dbInfo02);
+    dbInfo02 = NULL;
+    
+    iDbMan->SetDefaultDatabaseUriL(KUriDb01Full);
+    // 3c Change the default db
+    // Check error report "ESLI-6CXJP3 Default database not marked as default"
+    iDbMan->SetDefaultDatabaseUriL(KUriDb02Full);
+    iDbUri[3] = KUriDb02Full;
+    iProtocol[3]  = KProtocolFile;
+    dbInfo02 = HPosLmDatabaseInfo::NewLC(KUriDb02Full);
+    iDbMan->GetDatabaseInfoL(*dbInfo02);
+    CheckInfoL(dbInfo02, 3);
+    CleanupStack::PopAndDestroy(dbInfo02);
+    dbInfo02 = NULL;*/
+    
+    
+    // 4 DB on removable media
+    dbInfoRemovableMedia = HPosLmDatabaseInfo::NewLC(KUriRemovableMediaDb);
+    iDbMan->GetDatabaseInfoL(*dbInfoRemovableMedia);
+    CheckInfoL(dbInfoRemovableMedia, 4);
+    CleanupStack::PopAndDestroy(dbInfoRemovableMedia);
+    dbInfoRemovableMedia = NULL;
+    
+    // 5 Get info for all databases using ListDatabasesL
+    iDbMan->ListDatabasesL(iDbArray);
+    
+    HPosLmDatabaseInfo* dbInfo = NULL;
+    for(TInt count = 0; count < iDbArray.Count(); count++)
+        {
+        dbInfo = iDbArray[count];
+        TBuf<50> testbuf = dbInfo->DatabaseUri();
+        if (dbInfo->DatabaseUri() == KUriDb01Full)
+            {
+            CheckInfoL(dbInfo, 5);
+            }
+        else if (dbInfo->DatabaseUri() == KUriDb02Full)
+            {
+            CheckInfoL(dbInfo, 6);
+            }
+        else if (dbInfo->DatabaseUri() == KUriRemovableMediaDb)
+            {
+            CheckInfoL(dbInfo, 7);
+            }
+        }
+        
+    // According to header for ListDatabasesL in EPos_CPosLmDatabaseManager.h
+    // "Any objects which are in the array when it is passed to this function are not removed."
+    // Therefore add object and make sure that it is not removed
+    HPosLmDatabaseInfo* testDbInfo = HPosLmDatabaseInfo::NewLC(_L("VeryMuchDummyURI.ldb"));
+    TInt initialDbCount = iDbArray.Count();
+    iDbArray.ResetAndDestroy();
+    iDbArray.Append(testDbInfo);
+    iDbMan->ListDatabasesL(iDbArray);
+    AssertTrueSecL(iDbArray.Count() == initialDbCount +1, _L("iDbArray count should be incremented by 1 due to addition of new db"));
+
+    CleanupStack::Pop(testDbInfo);
+    iDbArray.ResetAndDestroy();
+         
+    // 6 Get info from a non-existing db:
+    TPosLmDatabaseSettings dummySettings;
+    HPosLmDatabaseInfo* dbInfoNonExisting = HPosLmDatabaseInfo::NewLC(KUriDbNonExisting);
+    TInt err = KErrNone;
+    TRAP(err, iDbMan->GetDatabaseInfoL(*dbInfoNonExisting));
+    AssertTrueSecL(err == KErrNotFound, KErrorWrongCodeForNonExistingDb);
+    
+    CleanupStack::PopAndDestroy(dbInfoNonExisting);
+    dbInfoNonExisting = NULL;
+    
+    // 7 Get info from a non-existing db on the removable media:
+    HPosLmDatabaseInfo* dbInfoNonExistingRem = HPosLmDatabaseInfo::NewLC(KUriRemovableMediaDbNonExisting);
+    TRAP(err, iDbMan->GetDatabaseInfoL(*dbInfoNonExistingRem));
+    AssertTrueSecL(err == KErrNotFound, KErrorWrongCodeForNonExistingDbRem);
+    CleanupStack::PopAndDestroy(dbInfoNonExistingRem);
+    dbInfoNonExistingRem = NULL;
+    
+    // 8 Get info from a corrupt uri:
+    HPosLmDatabaseInfo* dbInfoCorrupt = HPosLmDatabaseInfo::NewLC(KUriDbCorrupt);
+    TRAP(err, iDbMan->GetDatabaseInfoL(*dbInfoCorrupt));
+    AssertTrueSecL(err == KErrArgument, KErrorWrongCodeForCorruptUri);
+    TRAP(err, iDbMan->ModifyDatabaseSettingsL(KUriDbCorrupt, dummySettings));
+    AssertTrueSecL(err == KErrArgument, KErrorWrongCodeForCorruptUri);
+    CleanupStack::PopAndDestroy(dbInfoCorrupt);
+    dbInfoCorrupt = NULL;
+    
+    // 9 Get info from a non-supported protocol in uri
+    HPosLmDatabaseInfo* dbInfoNotSupported = HPosLmDatabaseInfo::NewLC(KUriNotSupported);
+    TRAP(err, iDbMan->GetDatabaseInfoL(*dbInfoNotSupported));
+    AssertTrueSecL(err == KErrNotSupported, KErrorWrongCodeForNotSupportedUri);
+    TRAP(err, iDbMan->ModifyDatabaseSettingsL(KUriNotSupported, dummySettings));
+    AssertTrueSecL(err == KErrNotSupported, KErrorWrongCodeForNotSupportedUri);
+    CleanupStack::PopAndDestroy(dbInfoNotSupported);
+    dbInfoNotSupported = NULL;
+    
+    // 10 Get info from the non-default db
+    dbInfo01 = HPosLmDatabaseInfo::NewLC(KUriDb01);
+    iDbMan->GetDatabaseInfoL(*dbInfo01);
+    CheckInfoL(dbInfo01, 8);
+    
+    // 11 Change the display name for the non-default DB
+    TPosLmDatabaseSettings settings = dbInfo01->Settings();
+    TPosLmDatabaseName bufName(KNewDbName);
+    settings.SetDatabaseName(bufName);
+    iDbMan->ModifyDatabaseSettingsL(KUriDb01, settings);
+    CleanupStack::PopAndDestroy(dbInfo01);
+    dbInfo01 = NULL;
+    
+    // 12 Get info after name change
+    dbInfo01 = HPosLmDatabaseInfo::NewLC(KUriDb01);
+    iDbMan->GetDatabaseInfoL(*dbInfo01);
+    CheckInfoL(dbInfo01, 9);
+    CleanupStack::PopAndDestroy(dbInfo01);
+    dbInfo01 = NULL;
+    
+    // 10b Get info from the removable media db
+    dbInfoRemovableMedia = HPosLmDatabaseInfo::NewLC(KUriRemovableMediaDb);
+    iDbMan->GetDatabaseInfoL(*dbInfoRemovableMedia);
+    CheckInfoL(dbInfoRemovableMedia, 11);
+    
+    // 11b Change the display name for the non-default DB
+    settings = dbInfoRemovableMedia->Settings();
+    bufName = KNewDbName;
+    settings.SetDatabaseName(bufName);
+    iDbMan->ModifyDatabaseSettingsL(KUriRemovableMediaDb, settings);
+    CleanupStack::PopAndDestroy(dbInfoRemovableMedia);
+    dbInfoRemovableMedia = NULL;
+    
+    // 12b Get info after name change
+    dbInfoRemovableMedia = HPosLmDatabaseInfo::NewLC(KUriRemovableMediaDb);
+    iDbMan->GetDatabaseInfoL(*dbInfoRemovableMedia);
+    CheckInfoL(dbInfoRemovableMedia, 12);
+    CleanupStack::PopAndDestroy(dbInfoRemovableMedia);
+    dbInfoRemovableMedia = NULL;
+    
+    // 13 Get info after name change
+    dbInfo01 = HPosLmDatabaseInfo::NewLC(KUriDb01);
+    iDbMan->GetDatabaseInfoL(*dbInfo01);
+    CheckInfoL(dbInfo01, 9);
+    
+    // 14 Change display name, but use the unset attribute mechanism
+    settings = dbInfo01->Settings();
+    settings.UnsetAttribute(TPosLmDatabaseSettings::EName);
+    iDbMan->ModifyDatabaseSettingsL(KUriDb01, settings);
+    CleanupStack::PopAndDestroy(dbInfo01);
+    dbInfo01 = NULL;
+    
+    // 15 Get info after "non-name-change"
+    dbInfo01 = HPosLmDatabaseInfo::NewLC(KUriDb01);
+    iDbMan->GetDatabaseInfoL(*dbInfo01);
+    CheckInfoL(dbInfo01, 10);
+    CleanupStack::PopAndDestroy(dbInfo01);
+    dbInfo01 = NULL;
+    
+    // 16 Check max length and KNullDesC
+    //_LIT(KErrorWrongCode, "Didn't receive correct error code");
+	_LIT(KMaxLengthString64,    "1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.ldb");
+    _LIT(KMaxLengthString64Bad, "x1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.ldb");
+    _LIT(KMaxLengthString66,    "c:2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.ldb");
+    _LIT(KMaxLengthString66Bad, "c:x2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.ldb");
+    _LIT(KMaxLengthString71,    "file://3aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.ldb");
+    _LIT(KMaxLengthString71Bad, "file://x3aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.ldb");
+    _LIT(KMaxLengthString73,    "file://c:4aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.ldb");
+    _LIT(KMaxLengthString73Bad, "file://c:x4aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.ldb");
+    
+    CheckUriLengthL(KMaxLengthString64, KErrNotFound);
+    CheckUriLengthL(KMaxLengthString64Bad, KErrNotFound); // tbd shall it be like this? (Should be KErrArgument)
+    CheckUriLengthL(KMaxLengthString66, KErrNotFound);
+    CheckUriLengthL(KMaxLengthString66Bad, KErrNotFound); // tbd shall it be like this?
+    CheckUriLengthL(KMaxLengthString71, KErrNotFound);
+    CheckUriLengthL(KMaxLengthString71Bad, KErrNotFound); // tbd shall it be like this?
+    CheckUriLengthL(KMaxLengthString73, KErrNotFound);
+    CheckUriLengthL(KMaxLengthString73Bad, KErrNotFound); // tbd shall it be like this?
+    CheckUriLengthL(KNullDesC, KErrArgument); //tbd This crashes, should it be so?
+    
+    if (iErrorsFound != KErrNone) //LogErrorAndLeave(_L("Errors found in TP134"));
+    	{
+    	iLog->Log(_L("Errors found in TP134"));
+    	User::Leave(-1);	
+    	}
+    else iLog->Log(_L("CPosTp134 Passed"));
+    
+    }
+    
+void CPosTp134::CheckInfoL(HPosLmDatabaseInfo* aDbInfo, TInt aTestNr)
+    {
+    _LIT(KTestInfo, "Step nr %d");
+    TBuf<20> testInfo;
+    testInfo.Format(KTestInfo, aTestNr);
+    iLog->Log(testInfo);
+    
+    AssertTrueSecL(iDbDrive[aTestNr] == (aDbInfo->DatabaseDrive()).GetUpperCase(), KErrorWrongDrive);
+
+   
+    iLog->Log(aDbInfo->DatabaseUri());
+    iLog->Log(iDbUri[aTestNr]);
+    AssertTrueSecL(iDbUri[aTestNr] == aDbInfo->DatabaseUri(), KErrorWrongDbUri);
+    
+    AssertTrueSecL(iProtocol[aTestNr] == aDbInfo->Protocol(), KErrorWrongProtocol);
+    
+    TPosLmDatabaseSettings settings = aDbInfo->Settings();
+    if ( iDbName[aTestNr] != settings.DatabaseName() )
+        {
+        iLog->Log(_L("CheckInfo: dbNames do not match: exp '%S', act '%S'"),
+            &iDbName[aTestNr], &settings.DatabaseName() );
+        User::Leave( KErrGeneral );
+        }
+
+    AssertTrueSecL(iAttrSet[aTestNr] == settings.IsAttributeSet(TPosLmDatabaseSettings::EName),
+                                                                KErrorWrongAttributeInfo);
+    }
+    
+void CPosTp134::SetupExpectedResultsL()
+    {
+    TChar cDrive = 'C';
+    #ifdef __WINS__
+    TChar removableDrive = 'D';
+    TMediaType mediaTypeRemovable = EMediaHardDisk;
+    // DatabaseMedia() seems to return EMediaRam for WINS and EMediaFlash for target
+    TMediaType mediaType = EMediaRam;
+    #else
+    TMediaType mediaTypeRemovable = EMediaFlash;
+    TChar removableDrive = 'F';
+    // DatabaseMedia() seems to return EMediaRam for WINS and EMediaFlash for target
+    TMediaType mediaType = EMediaNANDFlash;
+    #endif
+    
+    HBufC* dbName = ReadDefaultDatabaseNameFromResourceLC();
+    iLog->Log(_L("Default database name: '%S'"), dbName );
+    
+    iDbDrive[1]   = cDrive;
+    iMediaType[1] = mediaType;
+    iDefaultDb[1] = ETrue;
+    iDbUri[1]     = KUriDb01Full;
+    iProtocol[1]  = KProtocolFile;
+    iDbName[1]    = *dbName;
+    iAttrSet[1]   = ETrue; // TBD Shall it actually be so?
+    
+    iDbDrive[2]   = cDrive;
+    iMediaType[2] = mediaType;
+    iDefaultDb[2] = EFalse;
+    iDbUri[2]     = KUriDb02Full;
+    iProtocol[2]  = KProtocolFile;
+    iDbName[2]    = KNullDesC;
+    iAttrSet[2]   = EFalse;
+    
+    iDbDrive[3]   = cDrive;
+    iMediaType[3] = mediaType;
+    iDefaultDb[3] = ETrue;
+    iDbUri[3]     = KUriDb02Full;
+    iProtocol[3]  = KProtocolFile;
+    iDbName[3]    = *dbName;
+    iAttrSet[3]   = ETrue;
+    
+    iDbDrive[4]   = removableDrive;
+    iMediaType[4] = mediaTypeRemovable;
+    iDefaultDb[4] = EFalse;
+    iDbUri[4]     = KUriRemovableMediaDb;
+    iProtocol[4]  = KProtocolFile;
+    iDbName[4]    = KNullDesC;
+    iAttrSet[4]   = EFalse;
+    
+    iDbDrive[5]   = cDrive;
+    iMediaType[5] = mediaType;
+    iDefaultDb[5] = EFalse;
+    iDbUri[5]     = KUriDb01Full;
+    iProtocol[5]  = KProtocolFile;
+    iDbName[5]    = KNullDesC;
+    iAttrSet[5]   = EFalse;
+    
+    iDbDrive[6]   = cDrive;
+    iMediaType[6] = mediaType;
+    iDefaultDb[6] = ETrue;
+    iDbUri[6]     = KUriDb02Full;
+    iProtocol[6]  = KProtocolFile;
+    iDbName[6]    = KNullDesC;
+    iAttrSet[6]   = EFalse;
+    
+    iDbDrive[7]   = removableDrive;
+    iMediaType[7] = mediaTypeRemovable;
+    iDefaultDb[7] = EFalse;
+    iDbUri[7]     = KUriRemovableMediaDb;
+    iProtocol[7]  = KProtocolFile;
+    iDbName[7]    = KNullDesC;
+    iAttrSet[7]   = EFalse;
+    
+    iDbDrive[8]   = cDrive;
+    iMediaType[8] = mediaType;
+    iDefaultDb[8] = EFalse;
+    iDbUri[8]     = KUriDb01;
+    iProtocol[8]  = KNullDesC;
+    iDbName[8]    = KNullDesC;
+    iAttrSet[8]   = EFalse;
+
+    iDbDrive[9]   = cDrive;
+    iMediaType[9] = mediaType;
+    iDefaultDb[9] = EFalse;
+    iDbUri[9]     = KUriDb01;
+    iProtocol[9]  = KNullDesC;
+    iDbName[9]    = KNewDbName;
+    iAttrSet[9]   = ETrue;
+    
+    iDbDrive[10]   = cDrive;
+    iMediaType[10] = mediaType;
+    iDefaultDb[10] = EFalse;
+    iDbUri[10]     = KUriDb01;
+    iProtocol[10]  = KNullDesC;
+    iDbName[10]    = KNullDesC;
+    iAttrSet[10]   = EFalse;
+    
+    iDbDrive[11]   = removableDrive;
+    iMediaType[11] = mediaTypeRemovable;
+    iDefaultDb[11] = EFalse;
+    iDbUri[11]     = KUriRemovableMediaDb;
+    iProtocol[11]  = KProtocolFile;
+    iDbName[11]    = KNullDesC;
+    iAttrSet[11]   = EFalse;
+    
+    iDbDrive[12]   = removableDrive;
+    iMediaType[12] = mediaTypeRemovable;
+    iDefaultDb[12] = EFalse;
+    iDbUri[12]     = KUriRemovableMediaDb;
+    iProtocol[12]  = KProtocolFile;
+    iDbName[12]    = KNewDbName;
+    iAttrSet[12]   = ETrue;
+    
+    CleanupStack::PopAndDestroy( dbName );
+    }
+    
+void CPosTp134::CheckUriLengthL(const TDesC& aUri,
+                                TInt aExpectedErrorCode)
+    {
+    _LIT(KErrorWrongCode, "Wrong code when testing uri lengths");
+    TPosLmDatabaseSettings dummySettings;
+    HPosLmDatabaseInfo* dbInfo = HPosLmDatabaseInfo::NewLC(aUri);
+    TInt err = KErrNone;
+    TRAP(err, iDbMan->GetDatabaseInfoL(*dbInfo));
+    AssertTrueSecL(err == aExpectedErrorCode, KErrorWrongCode);
+    TRAP(err, iDbMan->ModifyDatabaseSettingsL(aUri, dummySettings));
+    AssertTrueSecL(err == aExpectedErrorCode, KErrorWrongCode);
+    CleanupStack::PopAndDestroy(dbInfo);    
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp135.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,660 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp135.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLmDatabaseManager.h>
+
+
+// ================= CONSTANTS =======================
+
+_LIT(KRemoteDb1, "test://RemoteDb1.ldb");
+_LIT(KRemoteDb2, "test://RemoteDb2.ldb");
+_LIT(KLocalDb1, "file://C:SOMEDB.LDB");
+_LIT(KLocalDbName1, "SOMEDB");
+_LIT(KRemoteDbName1, "RemoteDb1");
+_LIT(KRemoteDbName2, "RemoteDb2");
+_LIT(KRemoteDb3, "test://RemoteDb3.ldb");
+_LIT(KRemoteDb4, "test://RemoteDb4.ldb");
+_LIT(KRemoteDb5, "RemoteDb5.ldb");
+_LIT(KLocalDb2, "file://C:SOMELOCALDB.LDB");
+_LIT(KRemoteNonExistingDb, "test://NonExistingDb.ldb");
+
+// ================= MEMBER FUNCTIONS =======================
+
+// Cleanup for RPointerArray<HPosLmDatabaseInfo> objects
+void CleanupTestPointerArray(TAny* aArray)
+
+    {
+    (static_cast<RPointerArray<HPosLmDatabaseInfo>*>(aArray))->ResetAndDestroy();
+    }
+
+// Cleanup for RPointerArray<HPosLmDatabaseInfo> objects
+void CleanupTestPointerArray2(TAny* aArray)
+
+    {
+    
+    (static_cast<RPointerArray<HPosLmDatabaseInfo>*>(aArray))->Reset();
+    }
+
+// ---------------------------------------------------------
+// CPosTp135::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp135::CloseTest()
+    {
+	iLog->Log(_L("CloseTest"));
+	
+	iDbArray->Reset();
+	delete iDbArray;
+	iDbArray = NULL;
+	
+    TRAPD(err, RemoveAllLmDatabasesL());
+    if (err != KErrNone) iLog->Log(_L("RemoveAllLmDatabasesL() leaved"));
+        
+    }
+    
+// ---------------------------------------------------------
+// CPosTp135::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp135::StartL()
+    {
+    _LIT(KEmptyProtocol, "");
+    _LIT(KRemoteProtocol, "test");
+
+    TInt err=KErrNone;
+    iErrorsFound = KErrNone;
+
+    RemoveAllLmDatabasesL();
+       
+    iDbArray = NULL;
+    iDbArray = new (ELeave) CDesCArrayFlat(5);
+
+	// Create defaultdb
+    CPosLmDatabaseManager* dbManager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(dbManager);
+
+    // TC Step 1 Create a remote database (uses the test provider implementation, using test as identifier 
+    // (compare with file)	
+	HPosLmDatabaseInfo* db1 = HPosLmDatabaseInfo::NewLC(KRemoteDb1);
+	dbManager->CreateDatabaseL(*db1);
+	    
+    // TC Step 2 Register db
+    dbManager->RegisterDatabaseL(*db1);
+    TPosLmDatabaseSettings settings = db1->Settings();
+    TPosLmDatabaseName bufName(KRemoteDbName1);
+    settings.SetDatabaseName(bufName);
+    dbManager->ModifyDatabaseSettingsL(KRemoteDb1, settings);
+    CleanupStack::PopAndDestroy(db1);
+    
+    // TC Step 3 Create local db and try to register it
+    HPosLmDatabaseInfo* localDb1 = HPosLmDatabaseInfo::NewLC(KLocalDb1);
+    dbManager->CreateDatabaseL(*localDb1);
+    
+    settings = db1->Settings();
+    TPosLmDatabaseName bufName2(KLocalDbName1);
+    settings.SetDatabaseName(bufName2);
+    dbManager->ModifyDatabaseSettingsL(KLocalDb1, settings);
+    
+    TRAP(err, dbManager->RegisterDatabaseL(*localDb1));
+    if (err != KErrNotSupported) 
+    {
+    iLog->Log(_L("Register a local db should leave with KErrNotSupported"))	;
+    User::Leave(err);
+    }
+    CleanupStack::PopAndDestroy(localDb1);
+    
+    // TC Step 4 Create another remote database and register it
+    db1 = HPosLmDatabaseInfo::NewLC(KRemoteDb2);
+	dbManager->CreateDatabaseL(*db1);    
+    // Register db,
+    dbManager->RegisterDatabaseL(*db1);
+    settings = db1->Settings();
+    TPosLmDatabaseName bufName3(KRemoteDbName2);
+    settings.SetDatabaseName(bufName3);
+    dbManager->ModifyDatabaseSettingsL(KRemoteDb2, settings);
+    CleanupStack::PopAndDestroy(db1);    
+
+    // TC Step 5 List all dbs without specifying protocol
+    CDesCArray* list = dbManager->ListDatabasesLC();
+    // Verify list should contain two remote and one local database
+    iDbArray->AppendL(KLocalDb1);
+    iDbArray->AppendL(KRemoteDb1);
+    iDbArray->AppendL(KRemoteDb2);
+    VerifyDbListL(list);
+    CleanupStack::PopAndDestroy(list);
+    
+    // TC Step 6 List all dbs but specify protocol (protocol "local")
+    list = dbManager->ListDatabasesLC(_L("file"));
+    iDbArray->Delete(0, iDbArray->Count());
+    iDbArray->AppendL(KLocalDb1);
+    //Verify list should contain one local database
+    VerifyDbListL(list);
+    CleanupStack::PopAndDestroy(list);
+
+    // TC Step 7 List all dbs but specify protocol (protocol "test")
+    list = dbManager->ListDatabasesLC(KRemoteProtocol);
+    //Verify list should contain two remote databases
+    iDbArray->Reset();
+    iDbArray->AppendL(KRemoteDb1);
+    iDbArray->AppendL(KRemoteDb2);
+    //Verify list should contain one local database
+    VerifyDbListL(list);
+    CleanupStack::PopAndDestroy(list);
+    
+    // TC Step 8 Also test with empty protocol, All existing dbs will be returned
+    list = dbManager->ListDatabasesLC(_L(""));
+    iDbArray->Reset();
+    iDbArray->AppendL(KLocalDb1);
+    iDbArray->AppendL(KRemoteDb1);
+    iDbArray->AppendL(KRemoteDb2);
+    //Verify list
+    VerifyDbListL(list);
+    CleanupStack::PopAndDestroy(list);    
+    
+    // TC Step 9 Retrive info about all dbs without specifying protocol
+    HPosLmDatabaseInfo* dbInfo01 = HPosLmDatabaseInfo::NewLC(KLocalDb1);
+    HPosLmDatabaseInfo* dbInfo02 = HPosLmDatabaseInfo::NewLC(KRemoteDb1);
+    HPosLmDatabaseInfo* dbInfo03 = HPosLmDatabaseInfo::NewLC(KRemoteDb2);
+    
+    RPointerArray<HPosLmDatabaseInfo> myDbInfoList;
+    CleanupStack::PushL(TCleanupItem(CleanupTestPointerArray2, &myDbInfoList));
+    
+    RPointerArray<HPosLmDatabaseInfo> infoList;
+    CleanupStack::PushL(TCleanupItem(CleanupTestPointerArray, &infoList));
+        
+    dbManager->ListDatabasesL(infoList);
+    // Verify list should contain all dbs
+
+    myDbInfoList.Append(dbInfo01); 
+    myDbInfoList.Append(dbInfo02); 
+    myDbInfoList.Append(dbInfo03);
+    
+    VerifyDbInfoListL(infoList, myDbInfoList);
+    CleanupStack::PopAndDestroy(&infoList);
+    myDbInfoList.Reset();
+    CleanupStack::PushL(TCleanupItem(CleanupTestPointerArray, &infoList));
+    
+    // TC Step 10 Retrive info about dbs specifying remote protocol
+    dbManager->ListDatabasesL(infoList, KRemoteProtocol);
+    // Verify list should contain two remote databases
+    myDbInfoList.Append(dbInfo03); myDbInfoList.Append(dbInfo02);
+    VerifyDbInfoListL(infoList, myDbInfoList);
+    CleanupStack::PopAndDestroy(&infoList);
+    myDbInfoList.Reset();
+    CleanupStack::PushL(TCleanupItem(CleanupTestPointerArray, &infoList));
+    
+    // TC Step 11 Retrive info but specify empty protocol,
+    dbManager->ListDatabasesL(infoList, KEmptyProtocol);
+    // Verify list should contain all databases
+    myDbInfoList.Append(dbInfo01);myDbInfoList.Append(dbInfo02);myDbInfoList.Append(dbInfo03);
+    VerifyDbInfoListL(infoList, myDbInfoList);
+    CleanupStack::PopAndDestroy(&infoList);
+    CleanupStack::PushL(TCleanupItem(CleanupTestPointerArray, &infoList));
+    myDbInfoList.Reset();
+
+    // TC Step 12 Also test when specifying KNullDesC
+    dbManager->ListDatabasesL(infoList, KEmptyProtocol);
+    // Verify list should contain all databases
+    myDbInfoList.Append(dbInfo01);myDbInfoList.Append(dbInfo02);myDbInfoList.Append(dbInfo03);
+    VerifyDbInfoListL(infoList, myDbInfoList);
+    CleanupStack::PopAndDestroy(&infoList);
+    CleanupStack::PushL(TCleanupItem(CleanupTestPointerArray, &infoList));
+    myDbInfoList.Reset();
+
+    // TC Step 13 Unregister one remote db and list dbs
+    dbManager->UnregisterDatabaseL(KRemoteDb1);
+    
+    list = dbManager->ListDatabasesLC(KRemoteProtocol);
+    // Verify list should contain one remote databases
+    iDbArray->Delete(0, iDbArray->Count());
+    iDbArray->AppendL(KRemoteDb2);
+    VerifyDbListL(list);
+    CleanupStack::PopAndDestroy(list);
+
+    // TC Step 14 Retrieves info about dbs, specify remote protocol
+    dbManager->ListDatabasesL(infoList, KRemoteProtocol);
+    // Verify list, should contain one remote
+    myDbInfoList.Append(dbInfo03);
+    VerifyDbInfoListL(infoList, myDbInfoList);
+    CleanupStack::PopAndDestroy(&infoList);
+    myDbInfoList.Reset();
+    CleanupStack::PushL(TCleanupItem(CleanupTestPointerArray, &infoList));
+    
+    // TC Step 15 Unregisters all remote dbs
+    dbManager->UnregisterAllDatabasesL(KRemoteProtocol);
+    // Retrieves info about all dbs without specifying protocol
+    CleanupStack::PopAndDestroy(&infoList);
+    CleanupStack::PushL(TCleanupItem(CleanupTestPointerArray, &infoList));
+    dbManager->ListDatabasesL(infoList);
+    // Verify list should contain one local database
+    myDbInfoList.Append(dbInfo01);
+    VerifyDbInfoListL(infoList, myDbInfoList);
+    myDbInfoList.Reset();
+
+    CleanupStack::PopAndDestroy(&infoList);
+    CleanupStack::PopAndDestroy(&myDbInfoList);
+    CleanupStack::PopAndDestroy(dbInfo03);
+	CleanupStack::PopAndDestroy(dbInfo02);
+	CleanupStack::PopAndDestroy(dbInfo01);
+    
+    // TC Step 16 set the default database to a remote database
+    TRAP(err, dbManager->SetDefaultDatabaseUriL(KRemoteDb1));
+    if (err != KErrNotSupported) 
+    {
+    iLog->Log(_L("ERROR: SetDefaultDatabaseUriL to a remote db should leave with KErrNotSupported"))	;
+    User::Leave(err);
+    }
+    
+    // TC Step 17 Try to register a landmark database with an incorrect URI
+    db1 = HPosLmDatabaseInfo::NewLC(_L("test:/awd/C:Pelle.ldb"));
+    TRAP(err, dbManager->RegisterDatabaseL(*db1));
+    if (err != KErrNotSupported) 
+    {
+    	iLog->Log(_L("ERROR: RegisterDatabaseL with incorrect URI should leave with KErrNotSupported (1)"))	;
+    	User::Leave(err);
+
+    }
+    CleanupStack::PopAndDestroy(db1);
+    
+    // TC Step 18 Try to register a landmark database with an incorrect URI
+    db1 = HPosLmDatabaseInfo::NewLC(_L("test:/\"/C:Pelle.ldb"));
+    TRAP(err, dbManager->RegisterDatabaseL(*db1));
+    if (err != KErrNotSupported)
+    {
+    	iLog->Log(_L("ERROR: RegisterDatabaseL with incorrect URI should leave with KErrNotSupported (2)"))	;
+    	User::Leave(err);
+
+    }
+    CleanupStack::PopAndDestroy(db1);
+    
+    // TC Step 19 Try to register a landmark database with an incorrect URI
+    db1 = HPosLmDatabaseInfo::NewLC(_L("file:/awd/C:C:Pelle.ldb"));
+    TRAP(err, dbManager->RegisterDatabaseL(*db1));
+    if (err != KErrNotSupported) 
+    {
+    	iLog->Log(_L("ERROR: RegisterDatabaseL with incorrect URI should leave with KErrNotSupported (3)"))	;
+    	User::Leave(err);
+
+    }
+    CleanupStack::PopAndDestroy(db1);
+    
+    // TC Step 20 Try to register a landmark database with an incorrect URI
+    db1 = HPosLmDatabaseInfo::NewLC(_L("file:/ /C:C:Pelle.ldb"));
+    TRAP(err, dbManager->RegisterDatabaseL(*db1));
+    if (err != KErrNotSupported) 
+    {
+    	iLog->Log(_L("ERROR: RegisterDatabaseL with incorrect URI should leave with KErrNotSupported (4)"))	;
+    	User::Leave(err);
+
+    }
+    CleanupStack::PopAndDestroy(db1);
+    
+    // TC Step 21 Try to un-register a landmark database with an incorrect URI
+    TRAP(err, dbManager->UnregisterDatabaseL(_L("test:/ /C:Pelle.ldb")));
+    if (err != KErrNotSupported) 
+    {
+    	iLog->Log(_L("ERROR: UnregisterDatabaseL with incorrect URI should leave with KErrArgument (1)"))	;
+    	User::Leave(err);
+
+    }
+    
+    // TC Step 22 Try to un-register a landmark database with an incorrect URI
+    TRAP(err, dbManager->UnregisterDatabaseL(_L("file: //C:C:Pelle.ldb")));
+    if (err != KErrNotSupported) 
+    {
+    	iLog->Log(_L("ERROR: UnregisterDatabaseL with incorrect URI should leave with KErrArgument (2)"))	;
+    	User::Leave(err);
+
+    }
+
+    // TC Step 23 Try to register a local landmark database
+    db1 = HPosLmDatabaseInfo::NewLC(KLocalDb1);
+    TRAP(err, dbManager->RegisterDatabaseL(*db1));
+    if (err != KErrNotSupported)
+    {
+    	iLog->Log(_L("ERROR: RegisterDatabaseL a local db should leave with KErrNotSupported"))	;
+    	User::Leave(err);
+
+    }
+    CleanupStack::PopAndDestroy(db1);
+    
+    // TC Step 24 Try to unregister a local landmark database
+    TRAP(err, dbManager->UnregisterDatabaseL(KLocalDb1));
+    if (err != KErrNotSupported) 
+    {
+    	iLog->Log(_L("ERROR:UnRegisterDatabaseL a local db should leave with KErrNotSupported"))	;
+    	User::Leave(err);
+
+    }
+    
+    // TC Step 25 Unregisters all dbs using empty protocol
+    // make sure that one is registered
+    db1 = HPosLmDatabaseInfo::NewLC(KRemoteDb1);
+    dbManager->RegisterDatabaseL(*db1);
+    TRAP(err, dbManager->UnregisterAllDatabasesL(_L("")));
+    if (err != KErrArgument) 
+    {
+    	iLog->Log(_L("ERROR: UnregisterAllDatabasesL with empty protocol should leave with KErrArgument"))	;
+    	User::Leave(err);
+
+    }
+        
+    // TC Step 26 Unregisters all dbs using KNullDesC
+    // make sure that one is registered
+    
+    TRAP(err, dbManager->UnregisterAllDatabasesL(KNullDesC));
+    if (err != KErrArgument) 
+    {
+    	iLog->Log(_L("ERROR: UnregisterAllDatabasesL with KNullDesc protocol should leave with KErrArgument"))	;
+    	User::Leave(err);
+
+    }
+    
+    // TC Step 27 Unregisters all dbs using local protocol
+    // make sure that one is registered
+    
+    TRAP(err, dbManager->UnregisterAllDatabasesL(_L("file")));
+    if (err != KErrNotSupported) 
+    {
+    	iLog->Log(_L("ERROR: UnregisterAllDatabasesL with file protocol should leave with KErrArgument(1)"))	;
+    	User::Leave(err);
+
+    }
+    
+    // TC Step 28 Unregisters all dbs using local protocol
+    // make sure that one is registered
+    TRAP(err, dbManager->UnregisterAllDatabasesL(_L("file://")));
+    if (err != KErrNotSupported) 
+    {
+    	iLog->Log(_L("ERROR: UnregisterAllDatabasesL with file protocol should leave with KErrNotSupported(2)"))	;
+    	User::Leave(err);
+
+    }
+	    
+    // TC 29 try to register again, should leave with KErrAlreadyExists
+    
+    TRAP(err, dbManager->RegisterDatabaseL(*db1));
+    if (err != KErrAlreadyExists) 
+    {
+    	iLog->Log(_L("ERROR: RegisterDatabaseL already registered db should leave with KErrAlreadyExists"))	;
+    	User::Leave(err);
+
+    }
+	
+	CleanupStack::PopAndDestroy(db1);
+	
+	// TC Step 30 Copy database and verify that it is registered		
+    dbManager->UnregisterAllDatabasesL(_L("test"));
+    db1 = HPosLmDatabaseInfo::NewLC(KRemoteDb3);
+	dbManager->CreateDatabaseL(*db1);    
+    // Register db,
+    dbManager->RegisterDatabaseL(*db1);
+    CleanupStack::PopAndDestroy(db1);
+    dbManager->CopyDatabaseL(KRemoteDb3, KRemoteDb4);
+    // Only list "remote" dbs
+    list = dbManager->ListDatabasesLC(_L("test"));
+    iDbArray->Reset();
+    iDbArray->AppendL(KRemoteDb3);
+    iDbArray->AppendL(KRemoteDb4);
+    
+    VerifyDbListL(list);
+    CleanupStack::PopAndDestroy(list);
+    
+    // TC Step 31) Check DatabaseExistsL method
+    TBool result = dbManager->DatabaseExistsL(KRemoteDb3);
+    if (!result)
+    {
+    	iLog->Log(_L("DatabaseExistsL should return ETrue"))	;
+    	User::Leave(-1);
+
+    }
+    result = dbManager->DatabaseExistsL(KRemoteNonExistingDb);
+    if (result) 
+    {
+    	iLog->Log(_L("DatabaseExistsL should return EFalse"))	;
+    	User::Leave(-1);
+    }
+    
+    // TC Step 32) Try to copy remote db to local
+    TRAP(err, dbManager->CopyDatabaseL(KRemoteDb3, KLocalDb2));
+    if (err != KErrArgument)
+    {
+    	iLog->Log(_L("Copy from remote to local should leave with KErrArgument"))	;
+    	User::Leave(err);
+    }
+    
+    // TC Step 33) Try to copy remote db to local
+    TRAP(err, dbManager->CopyDatabaseL(KRemoteDb3, KRemoteDb5));
+    if (err != KErrArgument) 
+    {
+    	iLog->Log(_L("Copy from remote to unspecified should leave with KErrArgument"))	;
+    	User::Leave(err);
+
+    }
+
+    CleanupStack::PopAndDestroy(dbManager);
+    if (iErrorsFound != KErrNone) 
+    	{
+    	iLog->Log(_L("Errors found in TP135"))	;
+    	User::Leave(-1);
+
+    	}
+    else iLog->Log(_L("CPosTp135 Passed"));
+	}
+
+// ---------------------------------------------------------
+// CPosTp135::VerifyDbListL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp135::VerifyDbListL(CDesCArray* aDbArray)
+    {
+    iLog->Log(_L("VerifyDbListL"));
+    if (aDbArray->Count() != iDbArray->Count())
+        {
+        TBuf<100> buf;
+        buf.Format(_L("List was %d should be %d "), aDbArray->Count(), iDbArray->Count());
+        
+        iLog->Log(buf);
+        User::Leave(KErrNone);
+        }
+
+    TInt found = 0;
+    TInt count = aDbArray->Count();
+    TInt i = 0;
+        
+    for (i = 0; i<count; i++)
+        {
+        // Below for debug purposes
+        
+        TInt pos;
+        if (aDbArray->Find(iDbArray->MdcaPoint(i), pos) != KErrNone)
+            {
+            iLog->Log(_L("Did Not Found:"));
+            iLog->Log(iDbArray->MdcaPoint(i));
+            iLog->Log(_L("------------------"));
+            }
+        else
+            {
+            iLog->Log(iDbArray->MdcaPoint(i));
+            found++;
+            }
+        }
+        
+    if (found != count)
+        {
+        
+        iLog->Log(_L("List was not correct"));
+        User::Leave(-1);
+        
+        }
+        
+    }
+    
+// ---------------------------------------------------------
+// CPosTp135::VerifyDbInfoListL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp135::VerifyDbInfoListL(RPointerArray<HPosLmDatabaseInfo> aDbInfoList,
+                                  RPointerArray<HPosLmDatabaseInfo> aDbInfoList2)
+    {
+    iLog->Log(_L("VerifyDbInfoListL"));
+    
+    TBuf<100> debug;
+
+    if (aDbInfoList.Count() != aDbInfoList2.Count())
+        {
+        TBuf<100> buf;
+        buf.Format(_L("List was %d should be %d "), aDbInfoList.Count(), aDbInfoList2.Count());
+        
+        iLog->Log(buf);
+        User::Leave(KErrNone);
+        
+        }
+        
+    TBool found = EFalse;
+    TInt count = aDbInfoList.Count();
+    TInt j=0;
+    
+    for (j = 0; j<count; j++)
+        {
+        TInt i = 0;
+        found = EFalse;
+        iLog->Log(_L("Looking for: "));
+        iLog->Log(aDbInfoList[j]->DatabaseUri());
+            
+        for (i = 0; i<count && !found; i++)
+            {
+            if (((aDbInfoList[j])->DatabaseUri()).CompareC((aDbInfoList2[i])->DatabaseUri()) == KErrNone)
+                {
+                iLog->Log(_L("Found:"));
+                iLog->Log(aDbInfoList2[i]->DatabaseUri());
+                found = ETrue;
+                TPosLmDatabaseSettings settings = aDbInfoList[j]->Settings();
+                
+                if (aDbInfoList[j]->IsDefault()) 
+                {
+                	iLog->Log(_L("Db should never be default"));
+        			User::Leave(KErrNone);
+                }
+                
+                if (aDbInfoList[j]->DatabaseUri() == KRemoteDb1)
+                    {
+                    if (settings.DatabaseName() != KRemoteDbName1)
+                    	{
+                    	iLog->Log(_L("Incorrect Databasename for remote db1"));
+        				User::Leave(-1);
+                    	}
+                    if (aDbInfoList[j]->Protocol() != _L("test"))
+                    	{
+                    	iLog->Log(_L("Incorrect protocol for remote db1"));
+        				User::Leave(-1);
+                    	}
+                    if (aDbInfoList[j]->DatabaseMedia() != EMediaRemote)
+                    	{
+                    	iLog->Log(_L("Incorrect media for remote db1"));
+        				User::Leave(-1);
+                    	}
+                    if (aDbInfoList[j]->DatabaseDrive() != 'U')
+                    	{
+                    	iLog->Log(_L("Incorrect drive for remote db1"));
+        				User::Leave(-1);
+                    	}
+                    }
+                else if (aDbInfoList[j]->DatabaseUri() == KRemoteDb2)
+                    {
+                    if (settings.DatabaseName() != KRemoteDbName2) 
+                    	{
+                    	iLog->Log(_L("Incorrect Databasename for remote db2"));
+        				User::Leave(-1);
+                    	}
+                    if (aDbInfoList[j]->Protocol() != _L("test")) 
+                    	{
+                    	iLog->Log(_L("Incorrect protocol for remote db2"));
+        				User::Leave(-1);
+                   		}
+                    if (aDbInfoList[j]->DatabaseMedia() != EMediaRemote)
+                    	{
+                    	iLog->Log(_L("Incorrect media for remote db2"));
+        				User::Leave(-1);
+                    	}
+                    if (aDbInfoList[j]->DatabaseDrive() != 'U') 
+                    	{
+                    	iLog->Log(_L("Incorrect drive for remote db2"));
+        				User::Leave(-1);
+                    	}
+                    }
+                else
+                    {
+                    // Local db
+                    if (aDbInfoList[j]->Protocol() != _L("file")) 
+                    	{
+                    	iLog->Log(_L("Incorrect protocol for local db"));
+        				User::Leave(-1);
+                    	}
+                    if (settings.DatabaseName() != KLocalDbName1) 
+                    	{
+                    	iLog->Log(_L("Incorrect Databasename for local db"));
+        				User::Leave(-1);
+                    	}
+
+                             
+
+                    if (aDbInfoList[j]->DatabaseDrive() != 'C')
+                    	{
+                    	iLog->Log(_L("Incorrect drive for remote db1"));
+        				User::Leave(-1);
+                    	}
+                    
+                    }
+
+                if (aDbInfoList[j]->Size() <1) 
+                {
+                	iLog->Log(_L("Size should have a value"));
+        			User::Leave(-1);
+                }
+                if (!settings.IsAttributeSet(TPosLmDatabaseSettings::EName)) 
+                {
+                	iLog->Log(_L("Name attribute should be set"));
+        			User::Leave(-1);
+                }
+
+                }
+            }
+        if (!found)
+            {
+           
+           	iLog->Log(_L("List was not correct"));
+        	User::Leave(-1);
+            }
+        }
+    }
+    
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp136.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,327 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp136.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLmDatabaseManager.h>
+#include <EPos_CPosLandmarkParser.h>
+           
+// ================= CONSTANTS =======================
+
+    _LIT(KLMXFile, "c:\\system\\test\\testdata\\Tp136.xml");
+    _LIT(KGPXFile, "c:\\system\\test\\testdata\\Tp136.gpx");
+    
+    _LIT(KEmpty, "");
+
+    _LIT(K1, "Category nr1 added in TP48");
+        
+    _LIT(K2, "Läkare");
+    _LIT(K3, "Sjukhus");
+    _LIT(K4, "Restaurant");
+    _LIT(K5, "Shop");
+    
+    _LIT(K6, "Frisör");
+    
+    _LIT(K7, "Dagis");
+    _LIT(K8, "BurgerKing");
+    _LIT(K9, "Hotel");
+    _LIT(K10, "Car park");
+    
+    _LIT(K11, "Garage");
+    _LIT(K12, "Bus stop");
+    _LIT(K13, "BurgerKing");
+    
+    _LIT(K14, "Category nr2 added in TP48");
+    _LIT(K15_1, "OutSight");
+    const TInt KNrOfLandmarks = 8;
+                                                    
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp136::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp136::CloseTest()
+    {
+    // Release ECOM stuff
+    ReleaseLandmarkResources();
+    
+    delete iOperation;iOperation=NULL;
+    }
+
+// ---------------------------------------------------------
+// CPosTp136::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp136::StartL()
+    {
+    iErrorsFound = 0;
+    
+    // LMX
+    TestParseL(KLMXFile, KLmxMimeType);
+    TestImportL(KLMXFile, KLmxMimeType);
+    
+    // GPX
+    TestParseL(KGPXFile, KGpxMimeType);
+    TestImportL(KGPXFile, KGpxMimeType);
+    
+    if (iErrorsFound != KErrNone)
+        {
+        iLog->Log(_L("Errors found in TP136"));
+        User::Leave(-1);
+        }
+	}
+
+// ---------------------------------------------------------
+// CPosTp136::TestParseL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp136::TestParseL(const TDesC& aFile, const TDesC8& aMime)
+    {
+    iLog->Log(_L("----- TestParseL -----"));
+    iLog->Log(_L("FILE: %S"), &aFile);
+    
+    RemoveAllLmDatabasesL();
+    
+        const TDesC* categoryNames[KNrOfLandmarks][4] = {{&KEmpty, &KEmpty, &KEmpty, &KEmpty},
+                                            {&K1, &KEmpty, &KEmpty, &KEmpty},
+                                            {&K2, &K3, &K4, &K5},
+                                            {&KEmpty, &KEmpty, &KEmpty, &KEmpty},
+                                            {&K6, &KEmpty, &KEmpty, &KEmpty},
+                                            {&K7, &K8, &K9, &K10},
+                                            {&K11, &K12, &K13, &KEmpty},
+                                            {&K14, &K15_1, &KEmpty, &KEmpty}};
+
+    CPosLandmarkParser* parser = CPosLandmarkParser::NewL(aMime);
+    CleanupStack::PushL(parser);
+    
+    RFile file; 
+    TInt err = file.Open(iFileSession, aFile, EFileRead);
+    if (err != KErrNone) 
+    {
+    	iLog->Log(_L("Error when opening file"));
+        User::Leave(err);
+    }
+    CleanupClosePushL(file);
+    parser->SetInputFileHandleL(file);
+    iOperation = parser->ParseContentL();
+    TRequestStatus status = KPosLmOperationNotComplete;
+    TReal32 progress=0;
+    
+    CDesCArrayFlat* landmarkNames = new (ELeave) CDesCArrayFlat(KNrOfLandmarks);
+    landmarkNames->AppendL(_L("Billigt"));
+    landmarkNames->AppendL(_L("LOG9"));
+    landmarkNames->AppendL(_L("Kalles Hundgård"));
+    landmarkNames->AppendL(_L("MLFW"));
+    landmarkNames->AppendL(_L("TE, Lund"));
+    landmarkNames->AppendL(_L("asdf"));
+    landmarkNames->AppendL(_L("TP48LandmarkWithAllXMLFields"));
+    landmarkNames->AppendL(_L("TP48Landmark With Empty XML Fields"));
+    
+    TInt counter=0;
+    while (progress != 1)
+        {
+        iOperation->NextStep(status, progress);
+        // Wait for NextStep to complete
+        User::WaitForRequest(status);
+        CPosLandmark* lm = parser->LandmarkLC();
+        TPtrC name;
+        lm->GetLandmarkName(name);
+        TPtrC expName(landmarkNames->MdcaPoint(counter));
+        iLog->Log(_L("Landmark %d, Actual name '%S', Expected '%S'"), counter, &name, &expName);
+        if (expName.CompareC(name) != KErrNone)
+            {
+            iLog->Log(_L("ERROR: Wrong Landmark Name"));
+        	iErrorsFound++;
+            }
+        
+        RArray<TPosLmItemId> arr;
+        CleanupClosePushL(arr);
+        
+        lm->GetCategoriesL(arr);
+        for (TInt i=0;i<arr.Count();i++)
+            {
+            CPosLandmarkCategory* cat = parser->LandmarkCategoryLC(arr[i]);
+            TPtrC catName;
+            cat->GetCategoryName(catName);
+            iLog->Log(_L("Category %d, Actual '%S', Expected '%S'"), i, &catName, categoryNames[counter][i]);
+            if (catName.CompareC(*categoryNames[counter][i]) != KErrNone)
+            	{
+            	iLog->Log(_L("ERROR: Wrong Category Name when comparing"));
+                iErrorsFound++;
+            	}
+            CleanupStack::PopAndDestroy(cat);
+            }
+        
+        CleanupStack::PopAndDestroy(&arr);
+        CleanupStack::PopAndDestroy(lm);
+        counter++;
+        }
+        
+    TUint32 nr = parser->NumOfParsedLandmarks();
+    if (nr != KNrOfLandmarks) 
+    {
+    	iLog->Log(_L("ERROR: Wrong number of landmarks parsed"));
+        iErrorsFound++;
+    }
+    
+    iLog->Log(_L("-------------------\n"));
+    delete iOperation;iOperation=NULL;
+       
+    CleanupStack::PopAndDestroy(&file);
+    
+    landmarkNames->Reset();
+    delete landmarkNames;
+    landmarkNames = NULL;   
+    CleanupStack::PopAndDestroy(parser);    
+    }
+
+// ---------------------------------------------------------
+// CPosTp136::TestImportL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp136::TestImportL(const TDesC& aFile, const TDesC8& aMime)
+    {
+    iLog->Log(_L("----- TestImportL -----"));    
+    iLog->Log(_L("FILE: %S"), &aFile);
+
+    RemoveAllLmDatabasesL();
+
+    const TDesC* categoryNames[KNrOfLandmarks][4] = {{&KEmpty, &KEmpty, &KEmpty, &KEmpty},
+                                        {&K1, &KEmpty, &KEmpty, &KEmpty},
+                                        {&K2, &K3, &K4, &K5},
+                                        {&KEmpty, &KEmpty, &KEmpty, &KEmpty},
+                                        {&K6, &KEmpty, &KEmpty, &KEmpty},
+                                        {&K7, &K8, &K9, &K10},
+                                        {&K11, &K12, &K13, &KEmpty},
+                                        {&K14, &K15_1, &KEmpty, &KEmpty}};
+    
+    CPosLandmarkDatabase* database = OpenDatabaseLC();
+   
+    CPosLandmarkParser* parser = CPosLandmarkParser::NewL(aMime);
+    CleanupStack::PushL(parser);
+    
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*database);
+    CleanupStack::PushL(categoryManager);
+    
+    RFile file; 
+    TInt err = file.Open(iFileSession, aFile, EFileRead);
+    if (err != KErrNone) 
+    {
+    	iLog->Log(_L("Error when opening file"));
+        User::Leave(err);
+    }
+    CleanupClosePushL(file);
+    
+    parser->SetInputFileHandleL(file);
+    iOperation = database->ImportLandmarksL(*parser, CPosLandmarkDatabase::EIncludeCategories);
+    
+    ExecuteAndDeleteLD(iOperation);
+    iOperation=NULL;
+    
+    CPosLmItemIterator* iter = database->LandmarkIteratorL();
+    CleanupStack::PushL(iter);
+    
+    CDesCArrayFlat* landmarkNames = new (ELeave) CDesCArrayFlat(KNrOfLandmarks);
+    landmarkNames->AppendL(_L("Billigt"));
+    landmarkNames->AppendL(_L("LOG9"));
+    landmarkNames->AppendL(_L("Kalles Hundgård"));
+    landmarkNames->AppendL(_L("MLFW"));
+    landmarkNames->AppendL(_L("TE, Lund"));
+    landmarkNames->AppendL(_L("asdf"));
+    landmarkNames->AppendL(_L("TP48LandmarkWithAllXMLFields"));
+    landmarkNames->AppendL(_L("TP48Landmark With Empty XML Fields"));
+    
+    TPosLmItemId id = iter->NextL();
+    TInt counter = 0;
+    while (id != KPosLmNullItemId)
+        {
+        CPosLandmark* lm = database->ReadLandmarkLC(id);
+        RArray<TPosLmItemId> arr;
+        CleanupClosePushL(arr);
+        
+        TPtrC name;
+        lm->GetLandmarkName(name);
+        TPtrC expName(landmarkNames->MdcaPoint(counter));
+        iLog->Log(_L("Landmark %d, Actual name '%S', Expected '%S'"), counter, &name, &expName);
+        if (expName.CompareC(name) != KErrNone)
+            {
+            iLog->Log(_L("ERROR: Wrong Landmark Name"));
+            iErrorsFound++;
+            }
+        
+        lm->GetCategoriesL(arr);
+        if (arr.Count() == 0) iLog->Log(_L("NOLL"));
+        else
+            {
+            TBuf<100> buf;
+            buf.Format(_L("nr of categories %d"), arr.Count());
+            iLog->Log(buf);
+            }
+            
+        for (TInt i=0;i<arr.Count();i++)
+            {
+            CPosLandmarkCategory* cat = categoryManager->ReadCategoryLC(arr[i]);
+            TPtrC catName;
+            cat->GetCategoryName(catName);
+            iLog->Log(_L("Category %d, Actual '%S', Expected '%S'"), i, &catName, categoryNames[counter][i]);
+            if (catName.CompareC(*categoryNames[counter][i]) != KErrNone) 
+                {
+                iLog->Log(_L("ERROR: Wrong Category Name"));
+                iErrorsFound++;
+                }
+            CleanupStack::PopAndDestroy(cat);
+            }
+
+        CleanupStack::PopAndDestroy(&arr);
+        CleanupStack::PopAndDestroy(lm);
+        id = iter->NextL();
+        counter++;
+        }
+    TUint32 nr = parser->NumOfParsedLandmarks();
+    if (nr != KNrOfLandmarks)
+    {
+    	iLog->Log(_L("ERROR: Wrong number of landmarks parsed"));
+        iErrorsFound++;
+    }
+    
+    CleanupStack::PopAndDestroy(iter);
+    landmarkNames->Reset();
+    delete landmarkNames;
+    landmarkNames = NULL;  
+    
+    iLog->Log(_L("-------------------\n"));
+
+    CleanupStack::PopAndDestroy(&file);
+    CleanupStack::PopAndDestroy(categoryManager);
+    CleanupStack::PopAndDestroy(parser);
+    CleanupStack::PopAndDestroy(database);
+    }
+	
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp137.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,295 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp137.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLmDatabaseManager.h>
+#include <EPos_CPosLandmarkParser.h>
+
+#include <LbsPosition.h>
+#include <EPos_CPosLandmarkSearch.h>
+#include <EPos_CPosLmTextCriteria.h>
+#include <EPos_CPosLMItemIterator.h>
+           
+// ================= CONSTANTS =======================
+
+    _LIT(KLmxFile, "c:\\system\\test\\testdata\\Tp137.xml");
+    _LIT(KGpxFile, "c:\\system\\test\\testdata\\Tp137.gpx");
+
+#define DEBUG ETrue
+                                                    
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp137::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp137::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+    
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    
+    delete iDatabase;
+    iDatabase = NULL;
+    }
+
+// ---------------------------------------------------------
+// CPosTp137::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp137::StartL()
+    {
+    iErrorsFound = 0;
+    
+    // LMX
+    TestImportEmptyDbL( KLmxFile, KLmxMimeType );
+    TestImport1L( KLmxFile, KLmxMimeType );
+
+    // GPX
+    TestImportEmptyDbL( KGpxFile, KGpxMimeType );
+    TestImport1L( KGpxFile, KGpxMimeType );
+
+    if (iErrorsFound != KErrNone)
+        {
+        iLog->Log(_L("Errors found in TP137"));
+        User::Leave(-1);
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp137::TestImportEmptyDbL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp137::TestImportEmptyDbL(const TDesC& aFile, const TDesC8& aMime)
+    {
+    iLog->Log(_L("----- TestImportEmptyDbL -----"));
+    iLog->Log(_L("FILE: %S"), &aFile);
+    RemoveAllLmDatabasesL();
+    
+    iLandmarkParser = CPosLandmarkParser::NewL(aMime);
+    iLandmarkParser->SetInputFileL(aFile);
+    
+    iDatabase = CPosLandmarkDatabase::OpenL();
+    if (iDatabase->IsInitializingNeeded())
+        {
+        ExecuteAndDeleteLD(iDatabase->InitializeL());
+        }
+        
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+    
+    CPosLmItemIterator* catIter = categoryManager->CategoryIteratorL();
+    CleanupStack::PushL(catIter);
+    TInt nrOfcategoriesBefore = catIter->NumOfItemsL();
+    CleanupStack::PopAndDestroy(catIter);
+    
+    iLog->Log(_L("iDatabase->ImportLandmarksL"));
+    // No categories should be imported, since ESupressCategoryCreation is used and the landmarks
+    // db is empty when starting
+    ExecuteAndDeleteLD(iDatabase->ImportLandmarksL(*iLandmarkParser, CPosLandmarkDatabase::ESupressCategoryCreation| CPosLandmarkDatabase::EIncludeCategories));
+
+    catIter = categoryManager->CategoryIteratorL();
+    CleanupStack::PushL(catIter);
+    TInt nrOfcategoriesAfter = catIter->NumOfItemsL();
+    CleanupStack::PopAndDestroy(catIter);
+    
+    CleanupStack::PopAndDestroy(categoryManager);
+    
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    
+    delete iDatabase;
+    iDatabase = NULL;
+    
+    if (nrOfcategoriesAfter != nrOfcategoriesBefore)
+    	{
+    	iLog->Log(_L("ERROR: No categories should have been imported"));
+        iErrorsFound++;
+    	}
+    iLog->Log(_L("-------------------\n"));
+    }
+    
+// ---------------------------------------------------------
+// CPosTp137::TestImport1L
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp137::TestImport1L(const TDesC& aFile, const TDesC8& aMime)
+    {
+    iLog->Log(_L("----- TestImport1L ------"));
+    iLog->Log(_L("FILE: %S"), &aFile);
+    RemoveAllLmDatabasesL();
+    
+    iLandmarkParser = CPosLandmarkParser::NewL(aMime);
+    iLandmarkParser->SetInputFileL(aFile);
+    
+    iDatabase = CPosLandmarkDatabase::OpenL();
+   
+    if (iDatabase->IsInitializingNeeded())
+        {
+        ExecuteAndDeleteLD(iDatabase->InitializeL());
+        }
+    
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+    // Create two local categories, "Dagis" and "BurgerKing" belongs to landmark "asdf"
+    CPosLandmarkCategory* category1 = CPosLandmarkCategory::NewLC();
+    category1->SetCategoryNameL(_L("Dagis"));
+    TPosLmItemId id1 = categoryManager->AddCategoryL(*category1);
+    CleanupStack::PopAndDestroy(category1);
+    
+    CPosLandmarkCategory* category2 = CPosLandmarkCategory::NewLC();
+    category2->SetCategoryNameL(_L("BurgerKing"));
+    TPosLmItemId id2 = categoryManager->AddCategoryL(*category2);
+    CleanupStack::PopAndDestroy(category2);
+    
+    // Create "Frisör" belongs to landmark "TE, Lund"
+    CPosLandmarkCategory* category3 = CPosLandmarkCategory::NewLC();
+    category3->SetCategoryNameL(_L("Frisör"));
+    TPosLmItemId id3 = categoryManager->AddCategoryL(*category3);
+    CleanupStack::PopAndDestroy(category3);
+    
+    // Remove global category  with global id 1
+    // Belongs to "Kalles Hundgård"
+    TPosLmItemId globalId = categoryManager->GetGlobalCategoryL(3000);
+    ExecuteAndDeleteLD(categoryManager->RemoveCategoryL(globalId));
+    
+    CPosLmItemIterator* catIter = categoryManager->CategoryIteratorL();
+    CleanupStack::PushL(catIter);
+    TInt nrOfcategoriesBefore = catIter->NumOfItemsL();
+    CleanupStack::PopAndDestroy(catIter);   
+    
+    iLog->Log(_L("iDatabase->ImportLandmarksL"));
+
+    ExecuteAndDeleteLD(iDatabase->ImportLandmarksL(*iLandmarkParser, CPosLandmarkDatabase::EIncludeGlobalCategoryNames | CPosLandmarkDatabase::ESupressCategoryCreation| CPosLandmarkDatabase::EIncludeCategories));
+    
+
+    catIter = categoryManager->CategoryIteratorL();
+    CleanupStack::PushL(catIter);
+    TInt nrOfcategoriesAfter = catIter->NumOfItemsL();
+    CleanupStack::PopAndDestroy(catIter);
+    if (nrOfcategoriesAfter != nrOfcategoriesBefore) 
+    {
+    	iLog->Log(_L("ERROR: Three categories should have been added"));
+        iErrorsFound++;
+    }
+    
+    // Check that landmark "TE, Lund" has "Frisör" and
+    // landmark "asdf" has "Dagis" and "BurgerKing" (and also already existing global categories 
+    
+    TBuf<100> buf;
+    
+    RArray<TPosLmItemId> categories;
+    CleanupClosePushL(categories);    
+    
+    TPosLmItemId idde1;
+   
+    // Check id=5 Te, Lund
+    idde1 = categoryManager->GetCategoryL(_L("Frisör"));    
+    categories.Append(idde1);
+    CheckLandmarkL(5, categories);
+    categories.Reset();
+    
+    // Check id=6 asdf
+    idde1 = categoryManager->GetCategoryL(_L("Dagis"));
+    TPosLmItemId idde2 = categoryManager->GetCategoryL(_L("BurgerKing"));
+    categories.Append(idde1);
+    if ( aMime != KGpxMimeType )
+        {
+        categories.Append(idde2);         
+        }
+    CheckLandmarkL(6, categories);
+    categories.Reset();
+    
+    CleanupStack::PopAndDestroy(&categories);
+    CleanupStack::PopAndDestroy(categoryManager);
+    
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    
+    delete iDatabase;
+    iDatabase = NULL;
+    iLog->Log(_L("-------------------\n"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp137::CheckLandmarkL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp137::CheckLandmarkL(TPosLmItemId aLandmarkId, RArray<TPosLmItemId> aCategoriesList)
+    {
+    iLog->Log(_L("CheckLandmarkL"));
+    
+    // Get landmark
+    CPosLandmark* lm1 = iDatabase->ReadLandmarkLC(aLandmarkId);
+    TPtrC name1;
+    lm1->GetLandmarkName(name1);
+    iLog->Log(name1);
+    
+    RArray<TPosLmItemId> categories;
+    CleanupClosePushL(categories);
+    // Get all categories attached to this landmark
+    lm1->GetCategoriesL(categories);
+   
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+    
+    if ( aCategoriesList.Count() != categories.Count() )
+        {
+        iLog->Log(_L("ERROR: Wrong number of categories, actual %d, expected %d"),
+            categories.Count(), aCategoriesList.Count() );
+        iErrorsFound++;
+        }
+    
+    for (TInt i=0;i<categories.Count();i++)
+        {
+        if (aCategoriesList.Find(categories[i]) != KErrNotFound)
+            {
+            iLog->Log(_L("Found"));
+            }
+        else 
+            {
+            iLog->Log(_L("ERROR: Category '%S' was not found"));
+            iErrorsFound++;
+            }
+        }
+    
+    CleanupStack::PopAndDestroy(categoryManager);
+
+    CleanupStack::PopAndDestroy(&categories);
+    CleanupStack::PopAndDestroy(lm1);
+    }
+    
+  
+
+	
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp139.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,108 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp139.h"
+#include <EPos_CPosLandmark.h> 
+
+
+           
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp139::GetSortAttribute
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp139::GetSortAttribute()
+    {
+    TPosLmSortPref sortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+   
+    CPosLandmark::TAttributes att;
+                    
+    for (TInt i=0; i<6; i++)
+        {
+         if (i==0)
+            {
+            sortPref.SetSortByLandmarkAttribute(CPosLandmark::ELandmarkName, TPosLmSortPref::EDescending);
+            att = sortPref.LandmarkAttributeToSortBy();
+            if(att == CPosLandmark::ELandmarkName)
+            	{
+            	iLog->Log(_L("The landmark attribute to sort by is :ELandmarkName"));	
+           		 }
+              }
+        else if (i==1)
+            {
+            sortPref.SetSortByLandmarkAttribute(CPosLandmark::EPosition, TPosLmSortPref::EDescending);
+            att = sortPref.LandmarkAttributeToSortBy();
+            if(att == CPosLandmark::EPosition )
+            	{
+            	iLog->Log(_L("The landmark attribute to sort by is :EPosition"));	
+           		 }
+            }
+        else if (i==2)
+            {
+            sortPref.SetSortByLandmarkAttribute(CPosLandmark::ECoverageRadius, TPosLmSortPref::EAscending);
+            att = sortPref.LandmarkAttributeToSortBy();
+            if(att == CPosLandmark::ECoverageRadius)
+            	{
+            	iLog->Log(_L("The landmark attribute to sort by is :ECoverageRadius"));	
+           		 }
+            }
+        else if (i==3)
+            {
+            
+            sortPref.SetSortByLandmarkAttribute(CPosLandmark::ECategoryInfo, TPosLmSortPref::EDescending);
+            att = sortPref.LandmarkAttributeToSortBy();
+            if(att == CPosLandmark::ECategoryInfo)
+            	{
+            	iLog->Log(_L("The landmark attribute to sort by is :ECategoryInfo"));	
+           		 }
+            }
+        else if (i==4)
+            {
+            sortPref.SetSortByLandmarkAttribute(CPosLandmark::EIcon, TPosLmSortPref::EAscending);
+            
+            att = sortPref.LandmarkAttributeToSortBy();
+            if(att == CPosLandmark::EIcon)
+            	{
+            	iLog->Log(_L("The landmark attribute to sort by is :EIcon"));	
+           		 }
+            }
+            
+        else if (i==5)
+            {
+            sortPref.SetSortByLandmarkAttribute(CPosLandmark::EDescription, TPosLmSortPref::EDescending);
+            
+            att = sortPref.LandmarkAttributeToSortBy();
+            if(att == CPosLandmark::EDescription)
+            	{
+            	iLog->Log(_L("The landmark attribute to sort by is :EDescription"));	
+           		 }
+            }
+            
+  		 }
+    }
+    
+
+   
+    
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp141.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,183 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp141.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLandmarkSearch.h>
+#include <EPos_CPosLmTextCriteria.h>
+#include <EPos_CPosLMItemIterator.h>
+#include <EPos_CPosLmDisplayData.h>
+#include <EPos_CPosLmDisplayItem.h>
+#include <EPos_TPosLMSortPref.h>
+#include "FT_CSearchResult.h"
+     
+
+// ================= MEMBER FUNCTIONS =======================
+
+
+// ---------------------------------------------------------
+// CPosTp141::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp141::CloseTest()
+    {
+    
+    delete iDatabase;
+    iDatabase = NULL;
+
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+    
+    iSearchResults.ResetAndDestroy();
+    }
+
+// ---------------------------------------------------------
+// CPosTp141::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp141::StartL()
+    {
+    _LIT(KEmptyTextCriteriaErr, "An empty string as text criteria should not be allowed");
+    _LIT(KLandMarkattrErr, "Landmark attribute set -> AttributesToSearch  should return ELandmarkName |EDescription  ");   
+    iDatabase = UseGeneratedDbFileL();
+    
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+
+    iLandmarkSearch = CPosLandmarkSearch::NewL(*iDatabase);
+        
+    TestInvalidPositionFieldsL();
+        
+    // Check iterator before search has started (in multidb search all iterators are empty thus NOT NULL)
+    CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+    if (iter)
+    	{
+    	CleanupStack::PushL(iter);
+    	AssertTrueSecL(iter->NumOfItemsL() == 0, _L("Iterator should be empty"));
+    	CleanupStack::PopAndDestroy(iter);
+    	}
+    else
+    	{
+    	
+    	iLog->Log(_L("Iterator should NOT be NULL"));
+    	User::Leave(-1);	
+    	}
+    
+    TUint attr = CPosLandmark::ELandmarkName | CPosLandmark::EDescription;
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+    textCriteria->SetAttributesToSearch(attr);
+    AssertTrueSecL(textCriteria->AttributesToSearch() == CPosLandmark::EDescription | CPosLandmark::ELandmarkName, KLandMarkattrErr);
+    
+    textCriteria->SetTextL(_L(""));
+    
+    TRAPD(err, iLandmarkSearch->StartLandmarkSearchL(*textCriteria));
+    AssertTrueSecL(err == KErrArgument, KEmptyTextCriteriaErr);
+    
+       
+    CleanupStack::PopAndDestroy(textCriteria);
+    
+    }
+
+
+// ---------------------------------------------------------
+// CPosTp141::TestInvalidPositionFieldsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp141::TestInvalidPositionFieldsL()
+	{
+	CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+	RArray<TUint> arr;
+	CleanupClosePushL(arr);
+	textCriteria->GetPositionFieldsToSearchL(arr);	
+	textCriteria->SetTextL(_L("*"));
+	textCriteria->SetPositionFieldsToSearchL(arr);
+
+	// Search with empty positionfields list, should find all landmarks
+	iOperation = iLandmarkSearch->StartLandmarkSearchL(*textCriteria);
+    ExecuteAndDeleteLD(iOperation);
+    TInt nr = iLandmarkSearch->NumOfMatches();
+    TBuf<100> buf;
+    buf.Format(_L("Found %d nr of matches when searching in empty position fields list"), nr);
+    iLog->Log(buf);
+    
+    	
+		
+	User::LeaveIfError(arr.Append(1));
+	User::LeaveIfError(arr.Append(2));
+	User::LeaveIfError(arr.Append(3));
+	
+	textCriteria->SetPositionFieldsToSearchL(arr);
+    textCriteria->GetPositionFieldsToSearchL(arr);	
+	TBuf<100> buf1;
+	for(TInt i=0;i< arr.Count();i++)
+	    {
+	    buf1.Format(_L(" %d position fields--%d- "),i, arr[i]);
+	    iLog->Log(buf1); 
+	    }
+	
+	
+    //Clears the position fields list used in a search
+    textCriteria->ClearPositionFieldsToSearch();
+	textCriteria->GetPositionFieldsToSearchL(arr);
+	if(arr.Count()==0)
+	{
+	    iLog->Log(_L("ClearPositionFieldsToSearch()-Cleared the position fields list used in a search."));
+	}
+	
+	
+    
+    iLog->Log(_L("Sets the position fields list used in a search"));
+	User::LeaveIfError(arr.Append(0));
+	User::LeaveIfError(arr.Append(50));
+	User::LeaveIfError(arr.Append(500));
+	
+	textCriteria->SetPositionFieldsToSearchL(arr);
+	textCriteria->GetPositionFieldsToSearchL(arr);
+	TBuf<100> buf2;
+    for(TInt i=0;i< arr.Count();i++)
+	    {
+	    buf2.Format(_L(" %d position fields--%d- "),i, arr[i]);
+	    iLog->Log(buf2); 
+	    }
+	
+
+	// Search with invalid positionfields list, should NOT find any landmarks
+	iOperation = iLandmarkSearch->StartLandmarkSearchL(*textCriteria);
+    ExecuteAndDeleteLD(iOperation);
+    nr = iLandmarkSearch->NumOfMatches();
+
+    buf.Format(_L("Found %d nr of matches when searching in invalid position fields"), nr);
+    iLog->Log(buf);
+    
+    AssertTrueSecL(nr == 0, _L("We should not find any matches"));
+    textCriteria->ClearPositionFieldsToSearch();
+    CleanupStack::PopAndDestroy(&arr);
+    CleanupStack::PopAndDestroy(textCriteria);
+	}
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp143.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,150 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+#include <EPos_CPosLandmarkDatabase.h> 
+#include <EPos_CPosLandmarkDatabaseExtended.h> 
+#include <EPos_CPosLMItemIterator.h> 
+#include <e32svr.h> // RDebug
+#include "FT_CPosTp143.h"
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// ---------------------------------------------------------
+//
+void CPosTp143::StartL()
+    {
+    RemoveDefaultDbL();
+    RemoveAllLmDatabasesL();
+    
+    iDatabase = CPosLandmarkDatabase::OpenL();
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL()); 
+       }
+    
+    ExecuteAndDeleteLD(iDatabase->CompactL());
+    AddLandmarksL();
+    
+    CheckCountersL();
+    }
+
+// ---------------------------------------------------------
+// ---------------------------------------------------------
+//
+void CPosTp143::CloseTest()
+    {
+    iLandmarks.ResetAndDestroy();
+    iLandmarks.Close();
+    delete iDatabase;
+    iDatabase = NULL;
+    }
+
+// ---------------------------------------------------------
+// ---------------------------------------------------------
+//
+void CPosTp143::AddLandmarksL()
+    {
+    iLog->Log(_L("AddLandmarksL"));
+    _LIT(KLmName, "LmTP143 - %d");
+    _LIT(KLmDescription, "LmTP143Description - %d");
+    
+    const TInt KNoLandmarks = 1000;
+    for (TInt i=0; i< KNoLandmarks ; i++)
+        {
+        TBuf<100> lmName;
+        lmName.Format(KLmName,i);
+        TBuf<100> lmDesc;
+        lmDesc.Format(KLmDescription,i);
+       
+        CPosLandmark* landmark = CPosLandmark::NewLC();
+        landmark->SetLandmarkNameL(lmName); 
+        landmark->SetLandmarkDescriptionL(lmDesc);
+        TInt err = KErrLocked;
+        while (err == KErrLocked)
+            {
+            TRAP(err, iDatabase->AddLandmarkL(*landmark));
+            }
+        
+        iLandmarks.Append(landmark);
+       
+        CleanupStack::Pop(landmark); 
+        }
+    }
+
+// ---------------------------------------------------------
+// ---------------------------------------------------------
+//
+void CPosTp143::CheckCountersL()
+    {
+    iLog->Log(_L("CheckCountersL"));
+
+    TTime start, end;
+    CPosLandmarkDatabaseExtended* dbExt = CPosLandmarkDatabaseExtended::OpenL();
+    CleanupStack::PushL(dbExt);
+    
+    iLog->Log(_L("checking LandmarksCount"));
+    start.UniversalTime();
+    TInt lmCount = dbExt->LandmarksCount();
+    end.UniversalTime();
+    TTimeIntervalMicroSeconds interval = end.MicroSecondsFrom( start );
+    iLog->Log(_L("LandmarksCount done in %ld us"), interval.Int64());
+    
+    if ( lmCount != iLandmarks.Count() )
+        {
+        iLog->Log( _L("LandmarksCount wrong result, expected %d, actual %d"),
+            iLandmarks.Count(), lmCount );
+        User::Leave( KErrGeneral );
+        }
+
+    CPosLmItemIterator* iter = iDatabase->LandmarkIteratorL();
+    CleanupStack::PushL(iter);
+
+    if ( lmCount != iter->NumOfItemsL() )
+        {
+        iLog->Log( _L("CategoriesCount wrong result, expected %d, actual %d"),
+            iter->NumOfItemsL(), lmCount );
+        User::Leave( KErrGeneral );
+        }
+
+    CleanupStack::PopAndDestroy( iter );
+
+    iLog->Log(_L("checking CategoriesCount"));
+    start.UniversalTime();
+    TInt catCount = dbExt->CategoriesCount();
+    end.UniversalTime();
+    interval = end.MicroSecondsFrom( start );
+    iLog->Log(_L("CategoriesCount done in %ld us"), interval.Int64());
+    
+    CPosLmCategoryManager& catman = dbExt->CategoryManager();
+    
+    CPosLmItemIterator* catIter = catman.CategoryIteratorL();
+    CleanupStack::PushL(catIter);
+    
+    if ( catCount != catIter->NumOfItemsL() )
+        {
+        iLog->Log( _L("CategoriesCount wrong result, expected %d, actual %d"),
+            catIter->NumOfItemsL(), catCount );
+        User::Leave( KErrGeneral );
+        }
+
+    CleanupStack::PopAndDestroy( catIter );
+    CleanupStack::PopAndDestroy( dbExt );
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp144.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,320 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp144.h"
+#include <e32math.h>
+#include <LbsPosition.h>
+
+#include <EPos_CPosLandmark.h>
+#include <EPos_CPosLandmarkCategory.h>
+#include <EPos_PosLandmarkSerialization.h>
+#include <EPos_PosLmCategorySerialization.h>
+           
+// ================= MEMBER FUNCTIONS =======================
+
+
+// ---------------------------------------------------------
+// CPosTp144::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp144::StartL()
+    {  
+    
+  		CheckLmSerializationL();
+  		
+	}
+
+// ---------------------------------------------------------
+// CPosTp144::DumpBuffer
+//
+// ---------------------------------------------------------
+
+void CPosTp144::DumpBuffer(const TDesC8& aBuffer)
+    {
+    DECLARE_ERROR_LOGGING;
+    LOG("=== Buffer Dump ===");
+    message.Format(_L("Buffer size = %d units"), aBuffer.Length());
+    LOG_DES(message);
+    for (TInt i = 0; i < aBuffer.Length(); i++)
+        {
+        _LIT(KByte, "Offset %4d = % 2d");
+        _LIT(KChar, "Offset %4d = % 2c");
+        TUint8 c = aBuffer[i];
+        if (TChar(c).IsAlphaDigit())
+            {
+            message.Format(KChar, i, c);
+            }
+        else
+            {
+            message.Format(KByte, i, TInt(c));
+            }
+        LOG_DES(message);
+        }
+    LOG("===================");
+    }
+// ---------------------------------------------------------
+// CPosTp144::CompareBuffers
+//
+// ---------------------------------------------------------
+    
+void CPosTp144::CompareBuffers(
+    const TDesC8& aBuf1,
+    const TDesC8& aBuf2)
+    {
+    DECLARE_ERROR_LOGGING;
+
+    CHECK_EQUAL(aBuf1.Length(), aBuf2.Length(), "Different buffer lengths");
+    for (TInt i = 0; i < Min(aBuf1.Length(), aBuf2.Length()); i++)
+        {
+        TInt c1 = aBuf1[i], c2 = aBuf2[i];
+        if (c1 != c2)
+            {
+            _LIT(KMessage, "Different at offset %d (actual = %d, expected %d)");
+            message.Format(KMessage, i, c1, c2);
+            ERR_DES(message);
+            }
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp144::CreateDummyLandmarkLC
+//
+// ---------------------------------------------------------
+    
+CPosLandmark* CPosTp144::CreateDummyLandmarkLC()
+    {
+    CPosLandmark* lm = CPosLandmark::NewLC();
+
+    _LIT(KName, "Name");
+    _LIT(KDesc, "Description");
+    _LIT(KIcon, "IconFile");
+    const TInt KIconIndex = 1, KIconMaskIndex = 2;
+
+    const TPosLmItemId KCat[] = { 3, 4, 5 };
+    const TInt KCats = sizeof KCat / sizeof(TPosLmItemId);
+
+    _LIT(KField1Val, "field1");
+    _LIT(KField2Val, "field11");
+    const TPositionFieldId KField[] =
+        {
+        EPositionFieldComment,
+        EPositionFieldCountry
+        };
+    const TInt KFields = sizeof KField / sizeof(TPositionFieldId);
+    const TPtrC KFieldData[] =
+        {
+        KField1Val(), KField2Val()
+        };
+
+    const TReal32 KRadius = 0.12;
+    const TReal32 KHacc = 0.23, KVacc = 0.34;
+    const TReal KLat = 12, KLon = -23, KAlt = 34;
+
+    lm->SetLandmarkNameL(KName);
+    lm->SetLandmarkDescriptionL(KDesc);
+    lm->SetIconL(KIcon, KIconIndex, KIconMaskIndex);
+
+    const TLocality KLoc(TCoordinate(KLat,KLon,KAlt), KHacc, KVacc);
+    lm->SetPositionL(KLoc);
+    lm->SetCoverageRadius(KRadius);
+
+    for (TInt c = 0; c < KCats; c++)
+        {
+        lm->AddCategoryL(KCat[c]);
+        }
+
+    for (TInt f = 0; f < KFields; f++)
+        {
+        lm->SetPositionFieldL(KField[f], KFieldData[f]);
+        }
+
+    return lm;
+    }
+
+// ---------------------------------------------------------
+// CPosTp144::CompareLandmarks
+//
+// ---------------------------------------------------------
+
+void CPosTp144::CompareLandmarks(
+    CPosLandmark& aLm1,
+    CPosLandmark& aLm2)
+    {
+    DECLARE_ERROR_LOGGING;
+
+    TPtrC name1, name2;
+
+    CHECK_EQUAL(aLm1.LandmarkId(), aLm2.LandmarkId(), "Diff id");
+    CHECK_EQUAL(aLm1.IsPartial(), aLm2.IsPartial(), "Diff partial state");
+
+    aLm1.GetLandmarkName(name1);
+    aLm2.GetLandmarkName(name2);
+    ERROR(name1 != name2, "Diff name");
+
+    aLm1.GetLandmarkDescription(name1);
+    aLm2.GetLandmarkDescription(name2);
+    ERROR(name1 != name2, "Diff description");
+
+    TInt iconIndex1 = 0, iconMaskIndex1 = 0;
+    TInt iconIndex2 = 1, iconMaskIndex2 = 2;
+
+    TInt found1 = aLm1.GetIcon(name1, iconIndex1, iconMaskIndex1);
+    TInt found2 = aLm2.GetIcon(name2, iconIndex2, iconMaskIndex2);
+
+    if (found1 == found2)
+        {
+        if (found1 != KErrNotFound)
+            {
+            ERROR(name1 != name2, "Diff icon name");
+            CHECK_EQUAL(iconIndex1, iconIndex2, "Diff icon index");
+            CHECK_EQUAL(iconMaskIndex1, iconMaskIndex2, "Diff icon mask index");
+            }
+        }
+    else
+        {
+        ERR("Diff icon")
+        }
+
+    // location
+    TLocality loc1, loc2;
+    found1 = aLm1.GetPosition(loc1);
+    found2 = aLm2.GetPosition(loc2);
+
+    if (found1 == found2)
+        {
+        if (found1 != KErrNotFound)
+            {
+            CHECK_EQUAL(loc1.Latitude(), loc2.Latitude(), "Diff latitude");
+            CHECK_EQUAL(loc1.Longitude(), loc2.Longitude(), "Diff longitude");
+            CHECK_EQUAL(loc1.Altitude(), loc2.Altitude(), "Diff altitude");
+            CHECK_EQUAL(loc1.HorizontalAccuracy(), loc2.HorizontalAccuracy(), "Diff hacc");
+            CHECK_EQUAL(loc1.VerticalAccuracy(), loc2.VerticalAccuracy(), "Diff vacc");
+            CHECK_EQUAL(loc1.Datum(), loc2.Datum(), "Diff datum");
+            }
+        }
+    else
+        {
+        ERR("Diff position");
+        }
+
+    // categories
+    RArray<TPosLmItemId> cats1, cats2;
+    aLm1.GetCategoriesL(cats1);
+    aLm2.GetCategoriesL(cats2);
+    CHECK_EQUAL(cats1.Count(), cats2.Count(), "Diff amount of categories");
+    for (TInt c = 0; c < Min(cats1.Count(), cats2.Count()); c++)
+        {
+        CHECK_EQUAL(cats1[c], cats2[c], "Diff category");
+        }
+    cats1.Close();
+    cats2.Close();
+
+    // fields
+    TInt fields1 = aLm1.NumOfAvailablePositionFields();
+    TInt fields2 = aLm2.NumOfAvailablePositionFields();
+    CHECK_EQUAL(fields1, fields2, "Diff amount of fields");
+
+    TPositionFieldId fid1 = aLm1.FirstPositionFieldId();
+    TPositionFieldId fid2 = aLm2.FirstPositionFieldId();
+    for (TInt f = 0;
+        f < Min(fields1, fields2) &&
+        (fid1 != EPositionFieldNone || fid2 != EPositionFieldNone);
+        f++)
+        {
+        CHECK_EQUAL(fid1, fid2, "Diff field");
+        aLm1.GetPositionField(fid1, name1);
+        aLm2.GetPositionField(fid2, name2);
+        ERROR(name1 != name2, "Diff field data");
+
+        fid1 = aLm1.NextPositionFieldId(fid1);
+        fid2 = aLm1.NextPositionFieldId(fid2);
+        }
+    }
+
+
+// ---------------------------------------------------------
+// CPosTp144::CheckLmSerialization_SubL
+//
+// ---------------------------------------------------------
+
+void CPosTp144::CheckLmSerialization_SubL(CPosLandmark* lm)
+ {
+    DECLARE_ERROR_LOGGING;
+
+    CPosLandmark* lm1 = lm;
+    CPosLandmark* lm2 = NULL;
+
+    TInt err = KErrNone;
+    HBufC8* buf1 = NULL;
+    HBufC8* buf2 = NULL;
+
+    TRAP(err, buf1 = PosLandmarkSerialization::PackL(*lm1));
+    IF_ERROR(err, "Packing failed");
+    User::LeaveIfError(err);
+    CleanupStack::PushL(buf1);
+
+    TRAP(err, lm2 = PosLandmarkSerialization::UnpackL(*buf1));
+    IF_ERROR(err, "Unpacking failed");
+    User::LeaveIfError(err);
+    CleanupStack::PushL(lm2);
+
+    // read and compare values
+    CompareLandmarks(*lm1, *lm2);
+
+    // compare by buffer
+    TRAP(err, buf2 = PosLandmarkSerialization::PackL(*lm2));
+    CleanupStack::PushL(buf2);
+
+    CompareBuffers(*buf1, *buf2);
+
+    // cleanup
+    CleanupStack::PopAndDestroy(buf2);
+    CleanupStack::PopAndDestroy(lm2);
+    CleanupStack::PopAndDestroy(buf1);
+ 
+    }
+
+// ---------------------------------------------------------
+// CPosTp144::CheckLmSerializationL
+//
+// ---------------------------------------------------------
+    
+    void CPosTp144::CheckLmSerializationL()
+    {
+    DECLARE_ERROR_LOGGING;
+    
+
+    //LOG("1. Dummy landmark")
+    CPosLandmark* lm = CreateDummyLandmarkLC();
+    CheckLmSerialization_SubL(lm);
+    CleanupStack::PopAndDestroy(lm);
+
+    //LOG("2. Empty landmark")
+    lm = CPosLandmark::NewLC();
+    CheckLmSerialization_SubL(lm);
+    CleanupStack::PopAndDestroy(lm);
+
+    
+    LEAVE_IF_ERRORS()  
+    }
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp145.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,194 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp145.h"
+#include <e32math.h>
+#include <LbsPosition.h>
+
+#include <EPos_CPosLandmark.h>
+#include <EPos_CPosLandmarkCategory.h>
+#include <EPos_PosLandmarkSerialization.h>
+#include <EPos_PosLmCategorySerialization.h>
+           
+// ================= MEMBER FUNCTIONS =======================
+
+
+// ---------------------------------------------------------
+// CPosTp145::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp145::StartL()
+    {  
+    
+  		CheckLmCatSerializationL();
+  		
+	}
+
+// ---------------------------------------------------------
+// CPosTp145::CompareBuffers
+//
+// ---------------------------------------------------------
+
+ 
+ void CPosTp145::CompareBuffers(
+    const TDesC8& aBuf1,
+    const TDesC8& aBuf2)
+    {
+    DECLARE_ERROR_LOGGING
+
+    CHECK_EQUAL(aBuf1.Length(), aBuf2.Length(), "Different buffer lengths");
+    for (TInt i = 0; i < Min(aBuf1.Length(), aBuf2.Length()); i++)
+        {
+        TInt c1 = aBuf1[i], c2 = aBuf2[i];
+        if (c1 != c2)
+            {
+            _LIT(KMessage, "Different at offset %d (actual = %d, expected %d)");
+            message.Format(KMessage, i, c1, c2);
+            ERR_DES(message);
+            }
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp145::CreateDummyCategoryLC
+//
+// ---------------------------------------------------------
+ 
+CPosLandmarkCategory* CPosTp145::CreateDummyCategoryLC()
+    {
+    CPosLandmarkCategory* cat = CPosLandmarkCategory::NewLC();
+
+    TInt KCatId = cat->CategoryId();
+    _LIT(KName, "Name");
+    _LIT(KIcon, "IconFile");
+    const TInt KIconIndex = 1, KIconMaskIndex = 2;
+    cat->SetCategoryNameL(KName);
+    cat->SetIconL(KIcon, KIconIndex, KIconMaskIndex);
+    return cat;
+    }
+
+// ---------------------------------------------------------
+// CPosTp145::CompareCategoriesL
+//
+// ---------------------------------------------------------
+
+void CPosTp145::CompareCategoriesL(
+    CPosLandmarkCategory& aCat1,
+    CPosLandmarkCategory& aCat2)
+    {
+    DECLARE_ERROR_LOGGING;
+
+    CHECK_EQUAL(aCat1.CategoryId(), aCat2.CategoryId(), "Diff id");
+    CHECK_EQUAL(aCat1.GlobalCategory(), aCat2.GlobalCategory(), "Diff global category");
+
+    TPtrC name1, name2;
+    aCat1.GetCategoryName(name1);
+    aCat2.GetCategoryName(name2);
+    ERROR(name1 != name2, "Diff name");
+
+    TInt iconIndex1 = 0, iconMaskIndex1 = 0;
+    TInt iconIndex2 = 1, iconMaskIndex2 = 2;
+
+    TInt found1 = aCat1.GetIcon(name1, iconIndex1, iconMaskIndex1);
+    TInt found2 = aCat2.GetIcon(name2, iconIndex2, iconMaskIndex2);
+
+    if (found1 == found2)
+        {
+        if (found1 != KErrNotFound)
+            {
+            ERROR(name1 != name2, "Diff icon name");
+            CHECK_EQUAL(iconIndex1, iconIndex2, "Diff icon index");
+            CHECK_EQUAL(iconMaskIndex1, iconMaskIndex2, "Diff icon mask index");
+            }
+        }
+    else
+        {
+        ERR("Diff icon");
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp145::CheckLmCatSerializationL
+//
+// ---------------------------------------------------------
+
+void CPosTp145::CheckLmCatSerializationL()
+    {
+    DECLARE_ERROR_LOGGING;
+   
+
+    LOG("1. Dummy category")
+    CPosLandmarkCategory* cat = CreateDummyCategoryLC();
+    CheckLmCatSerialization_SubL(cat);
+    CleanupStack::PopAndDestroy(cat);
+
+    LOG("2. Empty category")
+    cat = CPosLandmarkCategory::NewLC();
+    CheckLmCatSerialization_SubL(cat);
+    CleanupStack::PopAndDestroy(cat);
+
+    
+    LEAVE_IF_ERRORS()
+    }
+
+// ---------------------------------------------------------
+// CPosTp145::CheckLmCatSerialization_SubL
+//
+// ---------------------------------------------------------
+
+void CPosTp145::CheckLmCatSerialization_SubL(CPosLandmarkCategory* aTest)
+    {
+    DECLARE_ERROR_LOGGING;
+
+    CPosLandmarkCategory* cat1 = aTest;
+    CPosLandmarkCategory* cat2 = NULL;
+
+    TInt err = KErrNone;
+    HBufC8* buf1 = NULL;
+    HBufC8* buf2 = NULL;
+
+    TRAP(err, buf1 = PosLmCategorySerialization::PackL(*cat1));
+    IF_ERROR(err, "Packing failed");
+    User::LeaveIfError(err);
+    CleanupStack::PushL(buf1);
+
+    TRAP(err, cat2 = PosLmCategorySerialization::UnpackL(*buf1));
+    IF_ERROR(err, "Unpacking failed");
+    User::LeaveIfError(err);
+    CleanupStack::PushL(cat2);
+
+    CompareCategoriesL(*cat1, *cat2);
+
+    // compare by buffer
+    TRAP(err, buf2 = PosLmCategorySerialization::PackL(*cat2));
+    CleanupStack::PushL(buf2);
+
+    CompareBuffers(*buf1, *buf2);
+
+    // cleanup
+    CleanupStack::PopAndDestroy(buf2);
+    CleanupStack::PopAndDestroy(cat2);
+    CleanupStack::PopAndDestroy(buf1);
+    }
+    
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp146.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,172 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp146.h"
+#include <e32math.h>
+#include <LbsPosition.h>
+
+#include <EPos_CPosLandmark.h>
+#include <EPos_CPosLandmarkCategory.h>
+#include <EPos_PosLandmarkSerialization.h>
+#include <EPos_PosLmCategorySerialization.h>
+           
+// ================= MEMBER FUNCTIONS =======================
+
+
+// ---------------------------------------------------------
+// CPosTp146::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp146::StartL()
+    {  
+    
+  		CheckLmCatSerializationInvalidL();
+  		
+	}
+
+// ---------------------------------------------------------
+// CPosTp146::CreateDummyLandmarkLC
+//
+// ---------------------------------------------------------
+
+CPosLandmark* CPosTp146::CreateDummyLandmarkLC()
+    {
+    CPosLandmark* lm = CPosLandmark::NewLC();
+
+    _LIT(KName, "Name");
+    _LIT(KDesc, "Description");
+    _LIT(KIcon, "IconFile");
+    const TInt KIconIndex = 1, KIconMaskIndex = 2;
+
+    const TPosLmItemId KCat[] = { 3, 4, 5 };
+    const TInt KCats = sizeof KCat / sizeof(TPosLmItemId);
+
+    _LIT(KField1Val, "field1");
+    _LIT(KField2Val, "field11");
+    const TPositionFieldId KField[] =
+        {
+        EPositionFieldComment,
+        EPositionFieldCountry
+        };
+    const TInt KFields = sizeof KField / sizeof(TPositionFieldId);
+    const TPtrC KFieldData[] =
+        {
+        KField1Val(), KField2Val()
+        };
+
+    const TReal32 KRadius = 0.12;
+    const TReal32 KHacc = 0.23, KVacc = 0.34;
+    const TReal KLat = 12, KLon = -23, KAlt = 34;
+
+    lm->SetLandmarkNameL(KName);
+    lm->SetLandmarkDescriptionL(KDesc);
+    lm->SetIconL(KIcon, KIconIndex, KIconMaskIndex);
+
+    const TLocality KLoc(TCoordinate(KLat,KLon,KAlt), KHacc, KVacc);
+    lm->SetPositionL(KLoc);
+    lm->SetCoverageRadius(KRadius);
+
+    for (TInt c = 0; c < KCats; c++)
+        {
+        lm->AddCategoryL(KCat[c]);
+        }
+
+    for (TInt f = 0; f < KFields; f++)
+        {
+        lm->SetPositionFieldL(KField[f], KFieldData[f]);
+        }
+
+    return lm;
+    }
+ 
+// ---------------------------------------------------------
+// CPosTp146::CreateDummyCategoryLC
+//
+// ---------------------------------------------------------
+ 
+ 
+CPosLandmarkCategory* CPosTp146::CreateDummyCategoryLC()
+    {
+    CPosLandmarkCategory* cat = CPosLandmarkCategory::NewLC();
+
+    TInt KCatId = cat->CategoryId();
+    _LIT(KName, "Name");
+    _LIT(KIcon, "IconFile");
+    const TInt KIconIndex = 1, KIconMaskIndex = 2;
+    cat->SetCategoryNameL(KName);
+    cat->SetIconL(KIcon, KIconIndex, KIconMaskIndex);
+    return cat;
+    }
+
+// ---------------------------------------------------------
+// CPosTp146::CheckLmCatSerializationInvalidL
+//
+// ---------------------------------------------------------
+
+void CPosTp146::CheckLmCatSerializationInvalidL()
+    {
+    DECLARE_ERROR_LOGGING
+    
+
+    TInt err = KErrNone;
+    HBufC8* buf1 = NULL;
+    HBufC8* buf2 = NULL;
+
+    CPosLandmark* lm = CreateDummyLandmarkLC();
+    TRAP(err, buf1 = PosLandmarkSerialization::PackL(*lm));
+    CleanupStack::PopAndDestroy(lm);
+    lm = NULL;
+
+    IF_ERROR(err, "Packing failed");
+    User::LeaveIfError(err);
+    CleanupStack::PushL(buf1);
+
+    CPosLandmarkCategory* cat = CreateDummyCategoryLC();
+    TRAP(err, buf2 = PosLmCategorySerialization::PackL(*cat));
+    CleanupStack::PopAndDestroy(cat);
+    cat = NULL;
+
+    IF_ERROR(err, "Packing failed");
+    User::LeaveIfError(err);
+    CleanupStack::PushL(buf2);
+
+    TRAP(err, cat = PosLmCategorySerialization::UnpackL(*buf1));
+    delete cat;
+
+    ERROR(err == KErrNone, "Wrong error (lm->cat)");
+
+    TRAP(err, lm = PosLandmarkSerialization::UnpackL(*buf2));
+    delete lm;
+
+    ERROR(err == KErrNone, "Wrong error (cat->lm)");
+
+    CleanupStack::PopAndDestroy(buf2);
+    CleanupStack::PopAndDestroy(buf1);
+
+    
+    LEAVE_IF_ERRORS()
+    }
+
+ 
+    
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp147.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,202 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp147.h"
+#include <e32math.h>
+#include <LbsPosition.h>
+
+#include <EPos_CPosLandmark.h>
+#include <EPos_CPosLandmarkCategory.h>
+#include <EPos_PosLandmarkSerialization.h>
+#include <EPos_PosLmCategorySerialization.h>
+           
+// ================= MEMBER FUNCTIONS =======================
+
+
+// ---------------------------------------------------------
+// CPosTp147::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp147::StartL()
+    {  
+    
+  		CheckSerializationMemoryL();
+  		
+	}
+
+// ---------------------------------------------------------
+// CPosTp147::CreateDummyLandmarkLC
+//
+// ---------------------------------------------------------
+
+CPosLandmark* CPosTp147::CreateDummyLandmarkLC()
+    {
+    CPosLandmark* lm = CPosLandmark::NewLC();
+
+    _LIT(KName, "Name");
+    _LIT(KDesc, "Description");
+    _LIT(KIcon, "IconFile");
+    const TInt KIconIndex = 1, KIconMaskIndex = 2;
+
+    const TPosLmItemId KCat[] = { 3, 4, 5 };
+    const TInt KCats = sizeof KCat / sizeof(TPosLmItemId);
+
+    _LIT(KField1Val, "field1");
+    _LIT(KField2Val, "field11");
+    const TPositionFieldId KField[] =
+        {
+        EPositionFieldComment,
+        EPositionFieldCountry
+        };
+    const TInt KFields = sizeof KField / sizeof(TPositionFieldId);
+    const TPtrC KFieldData[] =
+        {
+        KField1Val(), KField2Val()
+        };
+
+    const TReal32 KRadius = 0.12;
+    const TReal32 KHacc = 0.23, KVacc = 0.34;
+    const TReal KLat = 12, KLon = -23, KAlt = 34;
+
+    lm->SetLandmarkNameL(KName);
+    lm->SetLandmarkDescriptionL(KDesc);
+    lm->SetIconL(KIcon, KIconIndex, KIconMaskIndex);
+
+    const TLocality KLoc(TCoordinate(KLat,KLon,KAlt), KHacc, KVacc);
+    lm->SetPositionL(KLoc);
+    lm->SetCoverageRadius(KRadius);
+
+    for (TInt c = 0; c < KCats; c++)
+        {
+        lm->AddCategoryL(KCat[c]);
+        }
+
+    for (TInt f = 0; f < KFields; f++)
+        {
+        lm->SetPositionFieldL(KField[f], KFieldData[f]);
+        }
+
+    return lm;
+    }
+ 
+// ---------------------------------------------------------
+// CPosTp147::CreateDummyCategoryLC
+//
+// ---------------------------------------------------------
+ 
+ 
+CPosLandmarkCategory* CPosTp147::CreateDummyCategoryLC()
+    {
+    CPosLandmarkCategory* cat = CPosLandmarkCategory::NewLC();
+
+    TInt KCatId = cat->CategoryId();
+    _LIT(KName, "Name");
+    _LIT(KIcon, "IconFile");
+    const TInt KIconIndex = 1, KIconMaskIndex = 2;
+    cat->SetCategoryNameL(KName);
+    cat->SetIconL(KIcon, KIconIndex, KIconMaskIndex);
+    return cat;
+    }
+
+// ---------------------------------------------------------
+// CPosTp147::CheckSerializationMemoryL
+//
+// ---------------------------------------------------------
+
+void CPosTp147::CheckSerializationMemoryL()
+    {
+    CheckLmSerialization_MemoryL();
+    CheckLmCatSerialization_MemoryL();
+    }
+
+// ---------------------------------------------------------
+// CPosTp147::CheckLmSerialization_MemoryL
+//
+// ---------------------------------------------------------
+
+void CPosTp147::CheckLmSerialization_MemoryL()
+    {
+    DECLARE_ERROR_LOGGING;
+
+    LOG("Packing and checking uheap");
+
+    CPosLandmark* lm = CreateDummyLandmarkLC();
+
+    __UHEAP_MARK;
+    HBufC8* buf = PosLandmarkSerialization::PackL(*lm);
+    delete buf;
+    __UHEAP_MARKEND;
+    
+    LOG("Unpacking and checking uheap");
+
+    buf = PosLandmarkSerialization::PackL(*lm);
+    CleanupStack::PopAndDestroy(lm);
+    CleanupStack::PushL(buf);
+
+    __UHEAP_MARK;
+    lm = PosLandmarkSerialization::UnpackL(*buf);
+    delete lm;
+    __UHEAP_MARKEND;
+
+    LOG("Done");
+    CleanupStack::PopAndDestroy(buf);
+    }
+
+// ---------------------------------------------------------
+// CPosTp147::CheckLmCatSerialization_MemoryL
+//
+// ---------------------------------------------------------
+
+void CPosTp147::CheckLmCatSerialization_MemoryL()
+    {
+    DECLARE_ERROR_LOGGING;
+
+    LOG("Packing and checking uheap");
+
+    CPosLandmarkCategory* cat = CreateDummyCategoryLC();
+
+    __UHEAP_MARK;
+    HBufC8* buf = PosLmCategorySerialization::PackL(*cat);
+    delete buf;
+    __UHEAP_MARKEND;
+    
+    LOG("Unpacking and checking uheap");
+
+    buf = PosLmCategorySerialization::PackL(*cat);
+    CleanupStack::PopAndDestroy(cat);
+    CleanupStack::PushL(buf);
+
+    __UHEAP_MARK;
+    cat = PosLmCategorySerialization::UnpackL(*buf);
+    delete cat;
+    __UHEAP_MARKEND;
+
+    LOG("Done");
+    CleanupStack::PopAndDestroy(buf);
+    }
+    
+
+
+ 
+    
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp148.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,593 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+//  INCLUDES
+#include "FT_CPosTp148.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLandmarkParser.h>
+#include <EPos_CPosLandmarkEncoder.h>
+#include <LbsPosition.h>
+#include <e32math.h>
+#include <bautils.h>
+#include <utf.h>
+#include <xml/xmlparsererrors.h>
+
+// CONSTANTS
+
+_LIT(KFileTrace, "c:\\documents\\LandmarksTP148Trace.txt");
+
+// See \epoc32\include\xml\XmlParserErrors.h for error codes
+
+
+
+
+
+
+
+_LIT(KCorrectFile, "c:\\system\\test\\TestData\\CorrectFileFor_LandmarksTP148Trace.txt");
+
+_LIT(KKMZFile, "c:\\system\\test\\TestData\\Tp148KMZFile.kmz");
+
+// Maxmimum size for each line in trace file
+static const TInt KBufSize = 5000;
+
+// ================= MEMBER FUNCTIONS =======================
+// ---------------------------------------------------------
+// CPosTp148::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp148::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+
+    delete iEncoderBuffer;
+    iEncoderBuffer = NULL;
+
+    iLandmarks.ResetAndDestroy();
+    iLandmarks.Close();
+
+ 
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+
+    delete iOperation;
+    iOperation = NULL;
+
+  
+
+    iLog->Log(_L("CloseTest Done"));
+    }
+    
+// ---------------------------------------------------------
+// CPosTp148::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp148::StartL()
+    {
+    BaflUtils::EnsurePathExistsL( iFileSession, KKMZFile );
+    // Delete the trace file
+    DeleteFileL(KFileTrace);
+
+    HBufC8* emptyBuffer=NULL;
+    
+   	iLog->Log(_L("Test with Tp148KMZFile.kmz"));
+	PrintParsedDataFromEncoderL(KKMZFile, *emptyBuffer, KErrNone, KKmzMimeType );
+
+	
+
+    // Now compare tha trace file against the correct one
+    RFile correctFile;
+    RFile file;
+
+    iLog->Log(_L(">>>>>>>Comparing files<<<<<"));
+    
+    TFileName filename;
+    CreateCorrectXmlFileL( KCorrectFile, filename );
+    
+    User::LeaveIfError(correctFile.Open(iFileSession, filename,  EFileRead));
+    CleanupClosePushL(correctFile);
+    User::LeaveIfError(file.Open(iFileSession, KFileTrace,  EFileRead));
+    CleanupClosePushL(file);
+
+    
+    HBufC* correctLinebuffer = HBufC::NewLC( KBufSize );
+            TPtr correctLine = correctLinebuffer->Des();    
+            HBufC* linebuffer = HBufC::NewLC( KBufSize );
+            TPtr line = linebuffer->Des();    
+    TInt err = KErrNone;
+    TBool done = EFalse;
+    TInt lineNr = 0;
+
+    while (ReadLn(correctFile, correctLine) != KErrEof && !done)
+        {
+        lineNr++;
+        err = ReadLn(file, line);
+        if ( err == KErrEof ) 
+            {
+            done = ETrue;    
+            }
+        correctLine.Trim();
+        line.Trim();
+        if ( correctLine.Compare( line ) != KErrNone )
+            {
+            HBufC* buf = HBufC::NewLC( 128 );
+            TPtr buffer = buf->Des();
+            
+            buffer.Format(_L("ERROR in TraceFile on line %d: "), lineNr);
+            
+            iLog->Log( buffer );
+            iLog->Log( correctLine );
+            iLog->Log( line );
+            iErrorsFound++;
+            CleanupStack::PopAndDestroy( buf );
+            }
+        }
+
+		CleanupStack::PopAndDestroy( linebuffer );
+		CleanupStack::PopAndDestroy( correctLinebuffer );
+    CleanupStack::PopAndDestroy(&file);
+    CleanupStack::PopAndDestroy(&correctFile);
+
+    // EOF for trace file was reach before EOF in the correct file
+    if (done)
+        {
+        iLog->Log(_L("ERROR: EOF for Trace file was reached to early"));
+        iErrorsFound++;
+        }
+        
+        
+    DoCancelTestL();
+
+    if (iErrorsFound != KErrNone)
+        {
+    	iLog->Log(_L("Errors found in TP148"));
+    	User::Leave(-1);
+        }
+	}
+
+// ---------------------------------------------------------
+// CPosTp148::DoCancelTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp148::DoCancelTestL()
+    {
+    iLog->Log(_L("DoCancelTestL"));
+    iLandmarkParser = CPosLandmarkParser::NewL(KKmzMimeType);
+    iLandmarkParser->SetInputFileL(KKMZFile);
+
+    iOperation = iLandmarkParser->ParseContentL();
+
+    TRequestStatus status = KPosLmOperationNotComplete;
+    TReal32 progress;
+
+    // 1 ) Cancel parse function by deleting iOperation
+    delete iOperation;
+    iOperation = NULL;
+
+    TUint32 nr = iLandmarkParser->NumOfParsedLandmarks();
+    if ((TInt)nr != 0)
+    {
+    	iLog->Log(_L("No landmarks should be found"));
+    	User::Leave(KErrNone);
+    }
+
+    // No landmark should be found
+    TRAPD(err, iLandmarkParser->LandmarkLC());
+    if (err != KErrNotFound)
+        {
+        iLog->Log(_L("ERROR: No Landmark should be found"));
+        iErrorsFound++;
+        }
+
+    // 1 ) Cancel parse function by changing input
+    iOperation = iLandmarkParser->ParseContentL();
+
+    // Get the first landmark
+    iOperation->NextStep(status, progress);
+    // Wait for NextStep to complete
+    User::WaitForRequest(status);
+    nr = iLandmarkParser->NumOfParsedLandmarks();
+    if ((TInt)nr != 1)
+    {
+    	iLog->Log(_L("One landmark should be found"));
+    	User::Leave(KErrNone);
+    }
+
+    // Change input
+    iLandmarkParser->SetInputFileL(KKMZFile);
+
+    nr = iLandmarkParser->NumOfParsedLandmarks();
+    if ((TInt)nr != 0)
+    {
+    	iLog->Log(_L("No landmarks should be found"));
+    	User::Leave(KErrNone);
+    }
+
+    // No landmark should be found
+    TRAP(err, iLandmarkParser->LandmarkLC());
+    if (err != KErrNotFound)
+        {
+        iLog->Log(_L("ERROR: No Landmark should be found"));
+        iErrorsFound++;
+        }
+
+    delete iOperation;
+    iOperation = NULL;
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    iLog->Log(_L("DoCancelTestL Done"));
+    }
+    
+ // ---------------------------------------------------------
+// CPosTp148::PrintParsedDataFromEncoderL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp148::PrintParsedDataFromEncoderL(
+    const TDesC& aFile, 
+    const TDesC8&  aBuffer, 
+    TInt aExpectedStatusCode,
+    const TDesC8& aMimeType)
+    {
+    iLog->Log(_L("===== PrintParsedDataFromEncoderL ======="));
+    
+    iLandmarkParser = CPosLandmarkParser::NewL(aMimeType);
+
+    if (aFile != KNullDesC)
+        {
+        TFileName file( aFile );
+        iLog->Log(_L("FILE (%S)"), &file );
+        TraceL(_L("----->Using FILE<-------"));
+        TraceL(file);
+        iLandmarkParser->SetInputFileL(file);
+        }
+    else
+        {
+        iLog->Log(_L("BUFFER (size %d)"), aBuffer.Size() );
+        TraceL(_L("----->Using BUFFER<-------"));
+        iLandmarkParser->SetInputBuffer(aBuffer);
+        }
+
+    iOperation = iLandmarkParser->ParseContentL();
+    TRequestStatus status = KPosLmOperationNotComplete;
+    TReal32 progress;
+    TInt number = 0;
+
+    RArray<TPosLmItemId> array;
+    CleanupClosePushL(array);
+
+    while (status == KPosLmOperationNotComplete)
+        {
+        iLog->Log(_L("--- Parsing ---------------------------"));
+        TraceL(_L("------------------------------"));
+        iOperation->NextStep(status, progress);
+
+        // Wait for NextStep to complete
+        User::WaitForRequest(status);
+        if (status != KPosLmOperationNotComplete && status != KErrNone)
+            {
+            iLog->Log(_L("Parsing Complete"));
+            
+            HBufC* buffer = HBufC::NewLC( 128);
+            TPtr buf = buffer->Des();
+                       
+            buf.Format(_L("\tStatus %d"), status.Int());
+            iLog->Log(buf);
+            TraceL(buf);
+            
+            CleanupStack::PopAndDestroy( buffer );
+            buffer = NULL;              
+            }
+        else
+            {
+            iLog->Log(_L("Parsing element"));
+            
+            if ( iLandmarkParser->NumOfParsedLandmarks() )
+                {
+                // Get last parsed landmark
+                CPosLandmark* lm = iLandmarkParser->LandmarkLC();
+                TPtrC lmName;
+                TPtrC catName;
+                lm->GetLandmarkName(lmName);
+                lm->GetCategoriesL(array);
+                //iLog->Log(lmName);
+                for (TInt i=0;i<array.Count();i++)
+                    {                    
+                    CPosLandmarkCategory* category = iLandmarkParser->LandmarkCategoryLC( array[i] );
+                    category->GetCategoryName( catName );
+                     
+                    HBufC* buffer = HBufC::NewLC( 128 + catName.Length());
+                    TPtr buf = buffer->Des();
+                                            
+                    if ( category->GlobalCategory()) 
+                        {
+                        buf.Append(_L("\tGlobal category: "));    
+                        }
+                    else 
+                        {
+                        buf.Append(_L("\tLocal category: "));    
+                        }                        
+                                        
+                    buf.Append( catName );
+                    iLog->Log( buf );
+                    TraceL( buf );
+
+                    CleanupStack::PopAndDestroy( buffer );
+                    buffer = NULL;
+                                       
+                    CleanupStack::PopAndDestroy(category);
+                    }
+                    
+               	PrintLandmarkFieldsWithDescriptionL(*lm, ETrue);	
+               
+                
+                number++;
+                CleanupStack::PopAndDestroy(lm);
+                }
+            }
+        }
+
+    iLog->Log(_L("--- Parsing end ---------------------------"));
+    TraceL(_L("------------------------------"));
+    CleanupStack::PopAndDestroy(&array);
+
+    if (status.Int() != aExpectedStatusCode)
+        {
+        HBufC* buffer = HBufC::NewLC( 128 );
+        TPtr buf = buffer->Des();
+                    
+        buf.Format(_L("\tERROR: Wrong status returned, was %d, should be %d"), status.Int(), aExpectedStatusCode);
+        iLog->Log( buf );
+        iErrorsFound++;
+        
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;        
+        }
+
+    TUint32 nr = iLandmarkParser->NumOfParsedLandmarks();
+    
+    HBufC* buffer = HBufC::NewLC( 256 );
+    TPtr buf = buffer->Des();
+    
+    buf.Format(_L("\tNr of Parsed landmarks %d, should be %d"), nr, number);
+    iLog->Log(buf);
+    TraceL(buf);
+
+    CleanupStack::PopAndDestroy( buffer );
+    buffer = NULL;
+    
+    if (nr != (TUint32)number)
+        {
+        iLog->Log(_L("\tERROR: Wrong number of landmarks parsed returned!"));
+        iErrorsFound++;
+        }
+
+    TPosLmCollectionDataId lmId = iLandmarkParser->FirstCollectionDataId();
+
+    iLog->Log(_L("--- CollectionData ---"));
+    TraceL(_L("--- CollectionData ---"));
+
+    if (lmId != EPosLmCollDataNone)
+        {
+        TPtrC first = iLandmarkParser->CollectionData(lmId);
+        
+        HBufC* buffer = HBufC::NewLC( first.Length() + 256 );
+        TPtr buf = buffer->Des();
+            
+        buf.Zero();
+        buf.Format(_L("\t(1)Collection Id: %d CollectionData: "), lmId);
+        buf.Append(first);
+        iLog->Log(buf);
+        TraceL(buf);
+        
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;      
+        
+        }
+    else 
+        {
+        iLog->Log(_L("\tNo collection data found 1"));    
+        }
+
+    while (lmId != EPosLmCollDataNone)
+        {
+        lmId = iLandmarkParser->NextCollectionDataId(lmId);
+        if (lmId != EPosLmCollDataNone)
+        {
+            TPtrC first = iLandmarkParser->CollectionData(lmId);
+            
+            HBufC* buffer = HBufC::NewLC( first.Length() + 256 );
+            TPtr buf = buffer->Des();         
+            
+            buf.Zero();
+            buf.Format(_L("\t(2)Collection Id: %d CollectionData: "), lmId);
+            buf.Append(first);
+            iLog->Log(buf);
+            TraceL(buf);
+            
+            CleanupStack::PopAndDestroy( buffer );
+            buffer = NULL;              
+        }
+        else 
+            {
+            iLog->Log(_L("\tNo collection data found 2"));   
+            }
+        }
+
+    iLog->Log(_L("--- CollectionData ---"));
+    TraceL(_L("--- CollectionData ---"));
+
+    delete iOperation;
+    iOperation = NULL;
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    iLog->Log(_L("====== PrintParsedDataFromEncoderL Done ========\n"));
+    }
+    
+    
+ // ---------------------------------------------------------
+// CPosTp148::PrintLandmarkFieldsWithDescriptionL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp148::PrintLandmarkFieldsWithDescriptionL(const CPosLandmark& aLandmark, TBool aTraceFlag)
+    {
+    iLog->Log(_L("Parsing Description ... \n"));
+    
+    TPositionFieldId sourceFieldId = aLandmark.FirstPositionFieldId();
+    TLocality loc;    
+
+    TInt err;
+    TPtrC landmarkName;
+    TPtrC landmarkDescription;
+    err = aLandmark.GetLandmarkName( landmarkName );
+    if ( err == KErrNone )
+        {
+        
+        HBufC* buffer = HBufC::NewLC( landmarkName.Length() + 256 );
+        TPtr buf = buffer->Des();
+                    
+        buf.Append( _L(" \tLandmark Name: "));
+        buf.Append( landmarkName );
+        iLog->Log( buf );
+        if( aTraceFlag ) 
+            {
+            TraceL( buf );   
+            }
+            
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;  
+        }
+
+    err = aLandmark.GetPosition(loc);
+    if (err == KErrNone)
+        {
+        HBufC* buffer = HBufC::NewLC( 1024 );
+        TPtr buf = buffer->Des();        
+        TRealFormat format( 12, KRealFormatFixed );
+        format.iPoint = TChar('.');
+        format.iTriLen = KDoNotUseTriads;
+        format.iPlaces = 6;
+        
+        TBuf<20> sLon, sLat, sVacc, sHacc, sAlt, sRad;
+        sLon.Num( loc.Longitude(), format );
+        sLat.Num( loc.Latitude(), format );
+        sAlt.Num( loc.Altitude(), format );
+        sVacc.Num( loc.VerticalAccuracy(), format );
+        sHacc.Num( loc.HorizontalAccuracy(), format );
+        buf.Format(
+            _L("\tLM: Long %S Lat %S vertAcc %S horAcc %S alt %S "), 
+            &sLon, &sLat, &sVacc, &sHacc, &sAlt);
+        
+        TReal32 sourceR;
+        err = aLandmark.GetCoverageRadius(sourceR);
+        if (err == KErrNone )
+            {
+            sRad.Num( sourceR, format );
+            buf.AppendFormat(_L(" srcRadius %S" ), &sRad);
+            }
+        iLog->Log(buf);
+        if (aTraceFlag) TraceL(buf);
+        
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;  
+        }
+        
+      //Get landmark description  
+      err = aLandmark.GetLandmarkDescription(landmarkDescription);
+      if (err == KErrNone)
+        {
+        HBufC* buffer = HBufC::NewLC( landmarkDescription.Length() + 256 );
+        TPtr buf = buffer->Des();         
+        
+        buf.Format(_L("\tLandmark Description: "));
+        buf.Append(landmarkDescription);
+        iLog->Log(buf);
+        if ( aTraceFlag ) 
+            {
+            TraceL( buf );    
+            }
+        
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;         
+        }  
+    
+
+    while (sourceFieldId != EPositionFieldNone)
+        {
+        TPtrC sourceValue;
+        aLandmark.GetPositionField(sourceFieldId, sourceValue);
+        
+        
+        HBufC* buffer = HBufC::NewLC( sourceValue.Length() + 256 );
+        TPtr buf = buffer->Des();  
+                
+        buf.Format( _L( "\tIdField Id: %d Value:" ), sourceFieldId );
+        buf.Append( sourceValue );
+        iLog->Log( buf );
+        if ( aTraceFlag ) 
+            {
+            TraceL( buf );
+            }
+        sourceFieldId = aLandmark.NextPositionFieldId( sourceFieldId );
+        
+         CleanupStack::PopAndDestroy( buffer );
+        }
+    }
+    
+    
+// ---------------------------------------------------------
+// CPosTp148::TraceL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp148::TraceL(const TDesC& msg)
+    {
+    _LIT8( KEnd, "\r\n" );
+
+    RFile file;
+    TInt err = file.Open(iFileSession, KFileTrace, EFileWrite);
+    if (err == KErrNotFound)
+        {
+        file.Create(iFileSession, KFileTrace, EFileWrite);
+        }
+
+    HBufC8* line8 = CnvUtfConverter::ConvertFromUnicodeToUtf8L( msg );
+    
+    TInt pos( 0 );
+    file.Seek( ESeekEnd, pos );
+    file.Write( *line8 );
+    file.Write( KEnd );
+    file.Close();
+
+    delete line8;
+    }
+
+//  End of File 
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp149.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,574 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+//  INCLUDES
+#include "FT_CPosTp149.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLandmarkParser.h>
+#include <EPos_CPosLandmarkEncoder.h>
+#include <LbsPosition.h>
+#include <e32math.h>
+#include <bautils.h>
+#include <utf.h>
+#include <xml/xmlparsererrors.h>
+
+// CONSTANTS
+
+_LIT(KFileTrace, "c:\\documents\\LandmarksTP149Trace.txt");
+
+// See \epoc32\include\xml\XmlParserErrors.h for error codes
+
+
+
+// See \epoc32\include\xml\XmlParserErrors.h for error codes
+
+
+_LIT(KCorrectFile, "c:\\system\\test\\TestData\\CorrectFileFor_LandmarksTP149Trace.txt");
+
+_LIT(KKMZFile, "c:\\system\\test\\TestData\\Tp149KMZFile.kmz");
+
+
+// Maxmimum size for each line in trace file
+const TInt KBufSize = 5000;
+
+// ================= MEMBER FUNCTIONS =======================
+// ---------------------------------------------------------
+// CPosTp149::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp149::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+
+    delete iEncoderBuffer;
+    iEncoderBuffer = NULL;
+
+    iLandmarks.ResetAndDestroy();
+    iLandmarks.Close();
+
+
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+
+    delete iOperation;
+    iOperation = NULL;
+
+
+    iLog->Log(_L("CloseTest Done"));
+    }
+    
+// ---------------------------------------------------------
+// CPosTp149::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp149::StartL()
+    {
+    BaflUtils::EnsurePathExistsL( iFileSession, KKMZFile );
+
+
+    // Delete the trace file
+    DeleteFileL(KFileTrace);
+
+
+    HBufC8* emptyBuffer=NULL;
+    
+   	iLog->Log(_L("Test with Tp149KMZFile.kmz"));
+	PrintParsedDataFromEncoderL(KKMZFile, *emptyBuffer, KErrNone, KKmzMimeType );
+
+
+    // Now compare tha trace file against the correct one
+    RFile correctFile;
+    RFile file;
+
+    iLog->Log(_L(">>>>>>>Comparing files<<<<<"));
+    
+    TFileName filename;
+    CreateCorrectXmlFileL( KCorrectFile, filename );
+    
+    User::LeaveIfError(correctFile.Open(iFileSession, filename,  EFileRead));
+    CleanupClosePushL(correctFile);
+    User::LeaveIfError(file.Open(iFileSession, KFileTrace,  EFileRead));
+    CleanupClosePushL(file);
+
+    HBufC* correctLinebuffer = HBufC::NewLC( KBufSize );
+            TPtr correctLine = correctLinebuffer->Des();    
+            HBufC* linebuffer = HBufC::NewLC( KBufSize );
+            TPtr line = linebuffer->Des();    
+   
+    TInt err = KErrNone;
+    TBool done = EFalse;
+    TInt lineNr = 0;
+
+    while (ReadLn(correctFile, correctLine) != KErrEof && !done)
+        {
+        lineNr++;
+        err = ReadLn(file, line);
+        if ( err == KErrEof ) 
+            {
+            done = ETrue;    
+            }
+        correctLine.Trim();
+        line.Trim();
+        if (correctLine.Compare(line) != KErrNone)
+            {
+            HBufC* buf = HBufC::NewLC( 128 );
+            TPtr buffer = buf->Des();
+            
+            buffer.Format(_L("ERROR in TraceFile on line %d: "), lineNr);
+            
+            iLog->Log( buffer );
+            iLog->Log( correctLine );
+            iLog->Log( line );
+            iErrorsFound++;
+            CleanupStack::PopAndDestroy( buf );
+            }
+        }
+		CleanupStack::PopAndDestroy(linebuffer);
+    CleanupStack::PopAndDestroy(correctLinebuffer);
+    CleanupStack::PopAndDestroy(&file);
+    CleanupStack::PopAndDestroy(&correctFile);
+
+    // EOF for trace file was reach before EOF in the correct file
+    if (done)
+        {
+        iLog->Log(_L("ERROR: EOF for Trace file was reached to early"));
+        iErrorsFound++;
+        }
+        
+        
+    DoCancelTestL();
+
+    if (iErrorsFound != KErrNone)
+        {
+    	iLog->Log(_L("Errors found in TP149"));
+    	User::Leave(-1);
+        }
+	}
+
+// ---------------------------------------------------------
+// CPosTp149::DoCancelTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp149::DoCancelTestL()
+    {
+    iLog->Log(_L("DoCancelTestL"));
+    iLandmarkParser = CPosLandmarkParser::NewL(KKmzMimeType);
+    iLandmarkParser->SetInputFileL(KKMZFile);
+
+    iOperation = iLandmarkParser->ParseContentL();
+
+    TRequestStatus status = KPosLmOperationNotComplete;
+    TReal32 progress;
+
+    // 1 ) Cancel parse function by deleting iOperation
+    delete iOperation;
+    iOperation = NULL;
+
+    TUint32 nr = iLandmarkParser->NumOfParsedLandmarks();
+    if ((TInt)nr != 0)
+    {
+    	iLog->Log(_L("No landmarks should be found"));
+    	User::Leave(KErrNone);
+    }
+
+    // No landmark should be found
+    TRAPD(err, iLandmarkParser->LandmarkLC());
+    if (err != KErrNotFound)
+        {
+        iLog->Log(_L("ERROR: No Landmark should be found"));
+        iErrorsFound++;
+        }
+
+    // 1 ) Cancel parse function by changing input
+    iOperation = iLandmarkParser->ParseContentL();
+
+    // Get the first landmark
+    iOperation->NextStep(status, progress);
+    // Wait for NextStep to complete
+    User::WaitForRequest(status);
+    nr = iLandmarkParser->NumOfParsedLandmarks();
+    if ((TInt)nr != 1)
+    {
+    	iLog->Log(_L("One landmark should be found"));
+    	User::Leave(KErrNone);
+    }
+
+    // Change input
+    iLandmarkParser->SetInputFileL(KKMZFile);
+
+    nr = iLandmarkParser->NumOfParsedLandmarks();
+    if ((TInt)nr != 0)
+    {
+    	iLog->Log(_L("No landmarks should be found"));
+    	User::Leave(KErrNone);
+    }
+
+    // No landmark should be found
+    TRAP(err, iLandmarkParser->LandmarkLC());
+    if (err != KErrNotFound)
+        {
+        iLog->Log(_L("ERROR: No Landmark should be found"));
+        iErrorsFound++;
+        }
+
+    delete iOperation;
+    iOperation = NULL;
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    iLog->Log(_L("DoCancelTestL Done"));
+    }
+    
+ // ---------------------------------------------------------
+// CPosTp149::PrintParsedDataFromEncoderL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp149::PrintParsedDataFromEncoderL(
+    const TDesC& aFile, 
+    const TDesC8&  aBuffer, 
+    TInt aExpectedStatusCode,
+    const TDesC8& aMimeType)
+    {
+    iLog->Log(_L("===== PrintParsedDataFromEncoderL ======="));
+   	
+    iLandmarkParser = CPosLandmarkParser::NewL(aMimeType);
+
+    if (aFile != KNullDesC)
+        {
+        TFileName file( aFile );
+        iLog->Log(_L("FILE (%S)"), &file );
+        TraceL(_L("----->Using FILE<-------"));
+        TraceL(file);
+        iLandmarkParser->SetInputFileL(file);
+        }
+    else
+        {
+        iLog->Log(_L("BUFFER (size %d)"), aBuffer.Size() );
+        TraceL(_L("----->Using BUFFER<-------"));
+        iLandmarkParser->SetInputBuffer(aBuffer);
+        }
+
+    iOperation = iLandmarkParser->ParseContentL();
+    TRequestStatus status = KPosLmOperationNotComplete;
+    TReal32 progress;
+    TInt number = 0;
+
+    RArray<TPosLmItemId> array;
+    CleanupClosePushL(array);
+
+    while (status == KPosLmOperationNotComplete)
+        {
+        iLog->Log(_L("--- Parsing ---------------------------"));
+        TraceL(_L("------------------------------"));
+        iOperation->NextStep(status, progress);
+
+        // Wait for NextStep to complete
+        User::WaitForRequest(status);
+        if (status != KPosLmOperationNotComplete && status != KErrNone)
+            {
+            HBufC* buffer = HBufC::NewLC( 128);
+            TPtr buf = buffer->Des();
+            buf.Format(_L("\tStatus %d"), status.Int());
+            iLog->Log(buf);
+            TraceL(buf);
+            CleanupStack::PopAndDestroy( buffer );
+            buffer = NULL;              
+            }
+        else
+            {
+            iLog->Log(_L("Parsing element"));
+            if ( iLandmarkParser->NumOfParsedLandmarks() )
+                {
+                // Get last parsed landmark
+                CPosLandmark* lm = iLandmarkParser->LandmarkLC();
+                TPtrC lmName;
+                TPtrC catName;
+                lm->GetLandmarkName(lmName);
+                lm->GetCategoriesL(array);
+                //iLog->Log(lmName);
+                for (TInt i=0;i<array.Count();i++)
+                    {
+                    CPosLandmarkCategory* category = iLandmarkParser->LandmarkCategoryLC( array[i] );
+                    category->GetCategoryName( catName );
+                     
+                    HBufC* buffer = HBufC::NewLC( 128 + catName.Length());
+                    TPtr buf = buffer->Des();
+                                            
+                    if ( category->GlobalCategory()) 
+                        {
+                        buf.Append(_L("\tGlobal category: "));    
+                        }
+                    else 
+                        {
+                        buf.Append(_L("\tLocal category: "));    
+                        }                        
+                    buf.Append(catName);
+                    iLog->Log(buf);
+                    TraceL(buf);
+                    CleanupStack::PopAndDestroy( buffer );
+                    buffer = NULL;
+                    CleanupStack::PopAndDestroy(category);
+                    }
+                    
+               	PrintLandmarkFieldsWithDescriptionL(*lm, ETrue);
+               	
+               		
+               
+                
+                number++;
+                CleanupStack::PopAndDestroy(lm);
+                }
+            }
+        }
+
+    iLog->Log(_L("--- Parsing end ---------------------------"));
+    TraceL(_L("------------------------------"));
+    CleanupStack::PopAndDestroy(&array);
+
+    if (status.Int() != aExpectedStatusCode)
+        {
+        HBufC* buffer = HBufC::NewLC( 128 );
+        TPtr buf = buffer->Des();
+                    
+        buf.Format(_L("\tERROR: Wrong status returned, was %d, should be %d"), status.Int(), aExpectedStatusCode);
+        iLog->Log( buf );
+        iErrorsFound++;
+        
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;        
+        }
+
+   
+    TUint32 nr = iLandmarkParser->NumOfParsedLandmarks();
+    HBufC* buffer = HBufC::NewLC( 256 );
+    TPtr buf = buffer->Des();
+    buf.Format(_L("\tNr of Parsed landmarks %d, should be %d"), nr, number);
+    iLog->Log(buf);
+    TraceL(buf);
+
+    CleanupStack::PopAndDestroy( buffer );
+    buffer = NULL;
+    
+    if (nr != (TUint32)number)
+        {
+        iLog->Log(_L("\tERROR: Wrong number of landmarks parsed returned!"));
+        iErrorsFound++;
+        }
+
+    TPosLmCollectionDataId lmId = iLandmarkParser->FirstCollectionDataId();
+
+    iLog->Log(_L("--- CollectionData ---"));
+    TraceL(_L("--- CollectionData ---"));
+
+    if (lmId != EPosLmCollDataNone)
+        {
+        TPtrC first = iLandmarkParser->CollectionData(lmId);
+        HBufC* buffer = HBufC::NewLC( first.Length() + 256 );
+        TPtr buf = buffer->Des();
+        buf.Zero();
+        buf.Format(_L("\t(1)Collection Id: %d CollectionData: "), lmId);
+        buf.Append(first);
+        iLog->Log(buf);
+        TraceL(buf);
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;      
+        }
+    else 
+        {
+        iLog->Log(_L("\tNo collection data found 1"));    
+        }
+
+    while (lmId != EPosLmCollDataNone)
+        {
+        lmId = iLandmarkParser->NextCollectionDataId(lmId);
+        if (lmId != EPosLmCollDataNone)
+        {
+            TPtrC first = iLandmarkParser->CollectionData(lmId);
+            HBufC* buffer = HBufC::NewLC( first.Length() + 256 );
+            TPtr buf = buffer->Des();         
+            buf.Zero();
+            buf.Format(_L("\t(2)Collection Id: %d CollectionData: "), lmId);
+            buf.Append(first);
+            iLog->Log(buf);
+            TraceL(buf);
+            CleanupStack::PopAndDestroy( buffer );
+            buffer = NULL;              
+            }
+        else 
+            {
+            iLog->Log(_L("\tNo collection data found 2"));   
+            }
+        }
+
+    iLog->Log(_L("--- CollectionData ---"));
+    TraceL(_L("--- CollectionData ---"));
+
+    delete iOperation;
+    iOperation = NULL;
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    iLog->Log(_L("====== PrintParsedDataFromEncoderL Done ========\n"));
+    }
+    
+    
+ // ---------------------------------------------------------
+// CPosTp149::PrintLandmarkFieldsWithDescriptionL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp149::PrintLandmarkFieldsWithDescriptionL(const CPosLandmark& aLandmark, TBool aTraceFlag)
+    {
+    iLog->Log(_L("Parsing Description ... \n"));
+    TPositionFieldId sourceFieldId = aLandmark.FirstPositionFieldId();
+    TLocality loc;
+
+    TInt err;
+    TPtrC landmarkName;
+    TPtrC landmarkDescription;
+    err = aLandmark.GetLandmarkName(landmarkName);
+    if (err == KErrNone)
+        {
+        
+        HBufC* buffer = HBufC::NewLC( landmarkName.Length() + 256 );
+        TPtr buf = buffer->Des();
+        buf.Append(_L("\tLandmark Name: "));
+        buf.Append(landmarkName);
+        iLog->Log(buf);
+        if( aTraceFlag ) 
+            {
+            TraceL( buf );   
+            }
+            
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;  
+        }
+
+    err = aLandmark.GetPosition(loc);
+    if (err == KErrNone)
+        {
+        HBufC* buffer = HBufC::NewLC( 1024 );
+        TPtr buf = buffer->Des();        
+        TRealFormat format( 12, KRealFormatFixed );
+        format.iPoint = TChar('.');
+        format.iTriLen = KDoNotUseTriads;
+        format.iPlaces = 6;
+        
+        TBuf<20> sLon, sLat, sVacc, sHacc, sAlt, sRad;
+        sLon.Num( loc.Longitude(), format );
+        sLat.Num( loc.Latitude(), format );
+        sAlt.Num( loc.Altitude(), format );
+        sVacc.Num( loc.VerticalAccuracy(), format );
+        sHacc.Num( loc.HorizontalAccuracy(), format );
+        buf.Format(
+            _L("\tLM: Long %S Lat %S vertAcc %S horAcc %S alt %S "), 
+            &sLon, &sLat, &sVacc, &sHacc, &sAlt);
+        
+        TReal32 sourceR;
+        err = aLandmark.GetCoverageRadius(sourceR);
+        if (err == KErrNone )
+            {
+            sRad.Num( sourceR, format );
+            buf.AppendFormat(_L("srcRadius %S"), &sRad);
+            }
+        iLog->Log(buf);
+        if (aTraceFlag) TraceL(buf);
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;  
+        }
+        
+      //Get landmark description  
+      err = aLandmark.GetLandmarkDescription(landmarkDescription);
+      if (err == KErrNone)
+        {
+        HBufC* buffer = HBufC::NewLC( landmarkDescription.Length() + 256 );
+        TPtr buf = buffer->Des();         
+        buf.Format(_L("\tLandmark Description: "));
+        buf.Append(landmarkDescription);
+        iLog->Log(buf);
+        if ( aTraceFlag ) 
+            {
+            TraceL( buf );    
+            }
+        
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;         
+        }  
+    
+
+    while (sourceFieldId != EPositionFieldNone)
+        {
+        TPtrC sourceValue;
+        aLandmark.GetPositionField(sourceFieldId, sourceValue);
+        HBufC* buffer = HBufC::NewLC( sourceValue.Length() + 256 );
+        TPtr buf = buffer->Des();  
+        buf.Format(_L("\tIdField Id: %d Value:"), sourceFieldId);
+        buf.Append(sourceValue);
+        iLog->Log(buf);
+        if ( aTraceFlag ) 
+            {
+            TraceL( buf );
+            }
+        sourceFieldId = aLandmark.NextPositionFieldId(sourceFieldId);
+        
+         CleanupStack::PopAndDestroy( buffer );
+        }
+        
+        
+    }
+    
+    
+// ---------------------------------------------------------
+// CPosTp149::TraceL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp149::TraceL(const TDesC& msg)
+    {
+    _LIT8( KEnd, "\r\n" );
+
+    RFile file;
+    TInt err = file.Open(iFileSession, KFileTrace, EFileWrite);
+    if (err == KErrNotFound)
+        {
+        file.Create(iFileSession, KFileTrace, EFileWrite);
+        }
+
+    HBufC8* line8 = CnvUtfConverter::ConvertFromUnicodeToUtf8L( msg );
+    
+    TInt pos( 0 );
+    file.Seek( ESeekEnd, pos );
+    file.Write( *line8 );
+    file.Write( KEnd );
+    file.Close();
+
+    delete line8;
+    }
+
+//  End of File 
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp15.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,190 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp15.h"
+#include <EPos_CPosLandmarkDatabase.h> 
+           
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp15::GetName
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp15::GetName(TDes& aName) const
+    {
+    _LIT(KTestName, "TP15 - Database initialization - Created");
+    aName = KTestName;
+    }
+
+// ---------------------------------------------------------
+// CPosTp13::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp15::StartL()
+    {  
+    TestInitializeDatabaseL(ETrue);
+
+    TestInitializeDatabaseL();
+   
+    TestInitializeWithUserWaitForL();
+    
+    TestInitializeDatabaseAndCancelL();
+
+    // Cancel proceeds even if the client cancels it so added User::After just to make sure it's done when the test case completes
+    User::After(2000000); 
+	}
+
+// ---------------------------------------------------------
+// CPosTp15::TestInitializeDatabaseL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp15::TestInitializeDatabaseL(const TBool aSyncronously)
+    {
+    _LIT(KAccessErr, "Access method is not returning KErrPosLmNotInitialized when expected");
+    _LIT(KInitializedErr, "Method InitializedNeeded is not returning ETrue when expected");
+    _LIT(KAccessAfterInitErr, "Access method leaves with %d after initialized");
+    
+    TRAPD(err, RemoveDefaultDbL());
+    while (err == KErrInUse)
+        {
+        User::After(1000);
+        TRAP(err, RemoveDefaultDbL());
+        }
+    User::LeaveIfError(err);
+    
+    
+    CPosLandmarkDatabase* lmd = CPosLandmarkDatabase::OpenL();
+    CleanupStack::PushL(lmd);
+    
+    CPosLmCategoryManager* cm = CPosLmCategoryManager::NewL(*lmd); 
+    CleanupStack::PushL(cm);
+    
+    TPosLmGlobalCategory  globalCategory = 1;
+    TRAP(err, cm->GetGlobalCategoryL(globalCategory));
+    AssertTrueSecL(err == KErrPosLmNotInitialized, KAccessErr);
+    
+    AssertTrueSecL(lmd->IsInitializingNeeded(), KInitializedErr);
+    
+    if (aSyncronously)
+        {
+        ExecuteAndDeleteLD(lmd->InitializeL()); 
+        }
+    else
+        {
+        RunAsyncOperationLD(lmd->InitializeL());
+        }
+
+
+    TRAP(err, cm->GetGlobalCategoryL(globalCategory));
+    AssertTrueSecL(err == KErrNone, KAccessAfterInitErr, err);
+
+    CleanupStack::PopAndDestroy(2, lmd);  
+
+    }
+
+
+// ---------------------------------------------------------
+// CPosTp15::TestInitializeDatabaseL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp15::TestInitializeWithUserWaitForL()
+    {
+    // ESLI-64VGXW
+    _LIT(KInitializedErr, "Method InitializedNeeded is not returning ETrue when expected");
+     
+    TRAPD(err, RemoveDefaultDbL());
+    while (err == KErrInUse)
+        {
+        User::After(1000);
+        TRAP(err, RemoveDefaultDbL());
+        }
+    User::LeaveIfError(err);
+    
+    CPosLandmarkDatabase* lmd = CPosLandmarkDatabase::OpenL();
+    CleanupStack::PushL(lmd);
+    
+    AssertTrueSecL(lmd->IsInitializingNeeded(), KInitializedErr);
+    
+    CPosLmOperation* op = lmd->InitializeL(); 
+    CleanupStack::PushL(op);
+
+    RunAsyncOperationByWaitForReqL(op);
+
+    CleanupStack::PopAndDestroy(2, lmd);  
+    
+    }
+
+// ---------------------------------------------------------
+// CPosTp15::TestInitializeDatabaseL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp15::TestInitializeDatabaseAndCancelL()
+    {
+    iLog->Put(_L("TestInitializeDatabaseAndCancelL"));
+    _LIT(KAccessCancelErr, "Access method is not returning KErrPosLmNotInitialized after cancel");
+
+    CPosLandmarkDatabase* lmd = NULL;
+    TReal32 progress(0);
+    while (progress < 1.0)
+        {
+        RemoveDefaultDbL();
+        lmd = CPosLandmarkDatabase::OpenL();
+        CleanupStack::PushL(lmd);
+
+        RunAsyncOperationAndCancelInCallbackLD(lmd->InitializeL(), progress);
+        progress = progress + 0.09;
+        
+        CleanupStack::PopAndDestroy(lmd);
+        }
+        
+    lmd = CPosLandmarkDatabase::OpenL();
+    CleanupStack::PushL(lmd);
+    CPosLmCategoryManager* cm = CPosLmCategoryManager::NewL(*lmd); 
+    CleanupStack::PushL(cm);
+    
+    TPosLmGlobalCategory  globalCategory = 1;
+    TRAPD(err, cm->GetGlobalCategoryL(globalCategory));
+
+    // KErrNone means that the initialization already has completed which is OK
+    if (err == KErrNone)
+        {
+        iLog->Put(_L("Err. code returned is KErrNone->initialization has already completed"));
+        }
+    else 
+        {
+        AssertTrueSecL(err == KErrPosLmNotInitialized, KAccessCancelErr, err);
+        }
+
+    CleanupStack::PopAndDestroy(2, lmd);
+    iLog->Put(_L("TestInitializeDatabaseAndCancelL Done"));
+    }
+    
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp150.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,579 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+//  INCLUDES
+#include "FT_CPosTp150.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLandmarkParser.h>
+#include <EPos_CPosLandmarkEncoder.h>
+#include <LbsPosition.h>
+#include <e32math.h>
+#include <bautils.h>
+#include <utf.h>
+#include <xml/xmlparsererrors.h>
+
+// CONSTANTS
+
+_LIT(KFileTrace, "c:\\documents\\LandmarksTP150Trace.txt");
+
+// See \epoc32\include\xml\XmlParserErrors.h for error codes
+
+
+
+// See \epoc32\include\xml\XmlParserErrors.h for error codes
+
+
+_LIT(KCorrectFile, "c:\\system\\test\\TestData\\CorrectFileFor_LandmarksTP150Trace.txt");
+
+_LIT(KKMZFile, "c:\\system\\test\\TestData\\Tp150KMZFile.kmz");
+
+
+// Maxmimum size for each line in trace file
+const TInt KBufSize = 5000;
+
+// ================= MEMBER FUNCTIONS =======================
+// ---------------------------------------------------------
+// CPosTp150::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp150::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+
+    
+
+    iLandmarks.ResetAndDestroy();
+    iLandmarks.Close();
+
+    
+
+   
+
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+
+    delete iOperation;
+    iOperation = NULL;
+
+
+
+    iLog->Log(_L("CloseTest Done"));
+    }
+    
+// ---------------------------------------------------------
+// CPosTp150::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp150::StartL()
+    {
+    BaflUtils::EnsurePathExistsL( iFileSession, KKMZFile );
+
+    // Delete the trace file
+    DeleteFileL(KFileTrace);
+
+
+    HBufC8* emptyBuffer=NULL;
+    
+   	iLog->Log(_L("Test with Tp150KMZFile.kmz"));
+	PrintParsedDataFromEncoderL(KKMZFile, *emptyBuffer, KErrNone, KKmzMimeType );
+
+
+    // Now compare tha trace file against the correct one
+    RFile correctFile;
+    RFile file;
+
+    iLog->Log(_L(">>>>>>>Comparing files<<<<<"));
+    
+    TFileName filename;
+    CreateCorrectXmlFileL( KCorrectFile, filename );
+    
+    User::LeaveIfError(correctFile.Open(iFileSession, filename,  EFileRead));
+    CleanupClosePushL(correctFile);
+    User::LeaveIfError(file.Open(iFileSession, KFileTrace,  EFileRead));
+    CleanupClosePushL(file);
+
+    HBufC* correctLinebuffer = HBufC::NewLC( KBufSize );
+            TPtr correctLine = correctLinebuffer->Des();    
+            HBufC* linebuffer = HBufC::NewLC( KBufSize );
+            TPtr line = linebuffer->Des();    
+   	
+    TInt err = KErrNone;
+    TBool done = EFalse;
+    TInt lineNr = 0;
+
+    while (ReadLn(correctFile, correctLine) != KErrEof && !done)
+        {
+        lineNr++;
+        err = ReadLn(file, line);
+        if ( err == KErrEof ) 
+            {
+            done = ETrue;    
+            }
+        correctLine.Trim();
+        line.Trim();
+        if (correctLine.Compare(line) != KErrNone)
+            {
+            HBufC* buf = HBufC::NewLC( 128 );
+            TPtr buffer = buf->Des();
+            
+            buffer.Format(_L("ERROR in TraceFile on line %d: "), lineNr);
+            
+            iLog->Log( buffer );
+            iLog->Log( correctLine );
+            iLog->Log( line );
+            iErrorsFound++;
+            CleanupStack::PopAndDestroy( buf );
+            }
+        }
+		CleanupStack::PopAndDestroy(linebuffer);
+    CleanupStack::PopAndDestroy(correctLinebuffer);
+    CleanupStack::PopAndDestroy(&file);
+    CleanupStack::PopAndDestroy(&correctFile);
+
+    // EOF for trace file was reach before EOF in the correct file
+    if (done)
+        {
+        iLog->Log(_L("ERROR: EOF for Trace file was reached to early"));
+        iErrorsFound++;
+        }
+        
+        
+    DoCancelTestL();
+
+    if (iErrorsFound != KErrNone)
+        {
+    	iLog->Log(_L("Errors found in TP150"));
+    	User::Leave(-1);
+        }
+	}
+
+// ---------------------------------------------------------
+// CPosTp150::DoCancelTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp150::DoCancelTestL()
+    {
+    iLog->Log(_L("DoCancelTestL"));
+    iLandmarkParser = CPosLandmarkParser::NewL(KKmzMimeType);
+    iLandmarkParser->SetInputFileL(KKMZFile);
+
+    iOperation = iLandmarkParser->ParseContentL();
+
+    TRequestStatus status = KPosLmOperationNotComplete;
+    TReal32 progress;
+
+    // 1 ) Cancel parse function by deleting iOperation
+    delete iOperation;
+    iOperation = NULL;
+
+    TUint32 nr = iLandmarkParser->NumOfParsedLandmarks();
+    if ((TInt)nr != 0)
+    {
+    	iLog->Log(_L("No landmarks should be found"));
+    	User::Leave(KErrNone);
+    }
+
+    // No landmark should be found
+    TRAPD(err, iLandmarkParser->LandmarkLC());
+    if (err != KErrNotFound)
+        {
+        iLog->Log(_L("ERROR: No Landmark should be found"));
+        iErrorsFound++;
+        }
+
+    // 1 ) Cancel parse function by changing input
+    iOperation = iLandmarkParser->ParseContentL();
+
+    // Get the first landmark
+    iOperation->NextStep(status, progress);
+    // Wait for NextStep to complete
+    User::WaitForRequest(status);
+    nr = iLandmarkParser->NumOfParsedLandmarks();
+    if ((TInt)nr != 1)
+    {
+    	iLog->Log(_L("One landmark should be found"));
+    	User::Leave(KErrNone);
+    }
+
+    // Change input
+    iLandmarkParser->SetInputFileL(KKMZFile);
+
+    nr = iLandmarkParser->NumOfParsedLandmarks();
+    if ((TInt)nr != 0)
+    {
+    	iLog->Log(_L("No landmarks should be found"));
+    	User::Leave(KErrNone);
+    }
+
+    // No landmark should be found
+    TRAP(err, iLandmarkParser->LandmarkLC());
+    if (err != KErrNotFound)
+        {
+        iLog->Log(_L("ERROR: No Landmark should be found"));
+        iErrorsFound++;
+        }
+
+    delete iOperation;
+    iOperation = NULL;
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    iLog->Log(_L("DoCancelTestL Done"));
+    }
+    
+ // ---------------------------------------------------------
+// CPosTp150::PrintParsedDataFromEncoderL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp150::PrintParsedDataFromEncoderL(
+    const TDesC& aFile, 
+    const TDesC8&  aBuffer, 
+    TInt aExpectedStatusCode,
+    const TDesC8& aMimeType)
+    {
+    iLog->Log(_L("===== PrintParsedDataFromEncoderL ======="));
+    
+    iLandmarkParser = CPosLandmarkParser::NewL(aMimeType);
+
+    if (aFile != KNullDesC)
+        {
+        TFileName file( aFile );
+        iLog->Log(_L("FILE (%S)"), &file );
+        TraceL(_L("----->Using FILE<-------"));
+        TraceL(file);
+        iLandmarkParser->SetInputFileL(file);
+        }
+    else
+        {
+        iLog->Log(_L("BUFFER (size %d)"), aBuffer.Size() );
+        TraceL(_L("----->Using BUFFER<-------"));
+        iLandmarkParser->SetInputBuffer(aBuffer);
+        }
+
+    iOperation = iLandmarkParser->ParseContentL();
+    TRequestStatus status = KPosLmOperationNotComplete;
+    TReal32 progress;
+    TInt number = 0;
+
+    RArray<TPosLmItemId> array;
+    CleanupClosePushL(array);
+
+    while (status == KPosLmOperationNotComplete)
+        {
+        iLog->Log(_L("--- Parsing ---------------------------"));
+        TraceL(_L("------------------------------"));
+        iOperation->NextStep(status, progress);
+
+        // Wait for NextStep to complete
+        User::WaitForRequest(status);
+        if (status != KPosLmOperationNotComplete && status != KErrNone)
+            {
+            iLog->Log(_L("Parsing Complete"));
+            
+            HBufC* buffer = HBufC::NewLC( 128);
+            TPtr buf = buffer->Des();
+                       
+            buf.Format(_L("\tStatus %d"), status.Int());
+            iLog->Log(buf);
+            TraceL(buf);
+            
+            CleanupStack::PopAndDestroy( buffer );
+            buffer = NULL;              
+            }
+        else
+            {
+            iLog->Log(_L("Parsing element"));
+            if ( iLandmarkParser->NumOfParsedLandmarks() )
+                {
+                // Get last parsed landmark
+                CPosLandmark* lm = iLandmarkParser->LandmarkLC();
+                TPtrC lmName;
+                TPtrC catName;
+                lm->GetLandmarkName(lmName);
+                lm->GetCategoriesL(array);
+                //iLog->Log(lmName);
+                for (TInt i=0;i<array.Count();i++)
+                    {
+                    CPosLandmarkCategory* category = iLandmarkParser->LandmarkCategoryLC( array[i] );
+                    category->GetCategoryName( catName );
+                     
+                    HBufC* buffer = HBufC::NewLC( 128 + catName.Length());
+                    TPtr buf = buffer->Des();
+                                            
+                    if ( category->GlobalCategory()) 
+                        {
+                        buf.Append(_L("\tGlobal category: "));    
+                        }
+                    else 
+                        {
+                        buf.Append(_L("\tLocal category: "));    
+                        }                        
+                                        
+                    buf.Append( catName );
+                    iLog->Log( buf );
+                    TraceL( buf );
+
+                    CleanupStack::PopAndDestroy( buffer );
+                    buffer = NULL;
+                    CleanupStack::PopAndDestroy(category);
+                    }
+                    
+               	PrintLandmarkFieldsWithDescriptionL(*lm, ETrue);	
+               
+                
+                number++;
+                CleanupStack::PopAndDestroy(lm);
+                }
+            }
+        }
+
+    iLog->Log(_L("--- Parsing end ---------------------------"));
+    TraceL(_L("------------------------------"));
+    CleanupStack::PopAndDestroy(&array);
+
+    if (status.Int() != aExpectedStatusCode)
+        {
+        HBufC* buffer = HBufC::NewLC( 128 );
+        TPtr buf = buffer->Des();
+                    
+        buf.Format(_L("\tERROR: Wrong status returned, was %d, should be %d"), status.Int(), aExpectedStatusCode);
+        iLog->Log( buf );
+        iErrorsFound++;
+        
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;        
+        }
+
+   
+   
+   
+     TUint32 nr = iLandmarkParser->NumOfParsedLandmarks();
+    HBufC* buffer = HBufC::NewLC( 256 );
+    TPtr buf = buffer->Des();
+    buf.Format(_L("\tNr of Parsed landmarks %d, should be %d"), nr, number);
+    iLog->Log(buf);
+    TraceL(buf);
+
+    CleanupStack::PopAndDestroy( buffer );
+    buffer = NULL;
+    if (nr != (TUint32)number)
+        {
+        iLog->Log(_L("\tERROR: Wrong number of landmarks parsed returned!"));
+        iErrorsFound++;
+        }
+
+    TPosLmCollectionDataId lmId = iLandmarkParser->FirstCollectionDataId();
+
+    iLog->Log(_L("--- CollectionData ---"));
+    TraceL(_L("--- CollectionData ---"));
+
+    if (lmId != EPosLmCollDataNone)
+        {
+        TPtrC first = iLandmarkParser->CollectionData(lmId);
+        HBufC* buffer = HBufC::NewLC( first.Length() + 256 );
+        TPtr buf = buffer->Des();
+        buf.Zero();
+        buf.Format(_L("\t(1)Collection Id: %d CollectionData: "), lmId);
+        buf.Append(first);
+        iLog->Log(buf);
+        TraceL(buf);
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;      
+        }
+    else 
+        {
+        iLog->Log(_L("\tNo collection data found 1"));    
+        }
+
+    while (lmId != EPosLmCollDataNone)
+        {
+        lmId = iLandmarkParser->NextCollectionDataId(lmId);
+        if (lmId != EPosLmCollDataNone)
+        {
+            TPtrC first = iLandmarkParser->CollectionData(lmId);
+            
+            HBufC* buffer = HBufC::NewLC( first.Length() + 256 );
+            TPtr buf = buffer->Des();         
+            buf.Zero();
+            buf.Format(_L("\t(2)Collection Id: %d CollectionData: "), lmId);
+            buf.Append(first);
+            iLog->Log(buf);
+            TraceL(buf);
+            
+            CleanupStack::PopAndDestroy( buffer );
+            buffer = NULL;              
+            }
+        else 
+            {
+            iLog->Log(_L("\tNo collection data found 2"));   
+            }
+        }
+
+    iLog->Log(_L("--- CollectionData ---"));
+    TraceL(_L("--- CollectionData ---"));
+
+    delete iOperation;
+    iOperation = NULL;
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    iLog->Log(_L("====== PrintParsedDataFromEncoderL Done ========\n"));
+    }
+    
+    
+ // ---------------------------------------------------------
+// CPosTp150::PrintLandmarkFieldsWithDescriptionL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp150::PrintLandmarkFieldsWithDescriptionL(const CPosLandmark& aLandmark, TBool aTraceFlag)
+    {
+    iLog->Log(_L("Parsing Description ... \n"));
+    TPositionFieldId sourceFieldId = aLandmark.FirstPositionFieldId();
+    TLocality loc;
+
+    TInt err;
+    TPtrC landmarkName;
+    TPtrC landmarkDescription;
+    err = aLandmark.GetLandmarkName(landmarkName);
+    if (err == KErrNone)
+        {
+        HBufC* buffer = HBufC::NewLC( landmarkName.Length() + 256 );
+        TPtr buf = buffer->Des();
+                    
+        buf.Append( _L(" \tLandmark Name: "));
+        buf.Append( landmarkName );
+        iLog->Log( buf );
+        if( aTraceFlag ) 
+            {
+            TraceL( buf );   
+            }
+            
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;  
+        }
+
+    err = aLandmark.GetPosition(loc);
+    if (err == KErrNone)
+        {
+        HBufC* buffer = HBufC::NewLC( 1024 );
+        TPtr buf = buffer->Des();        
+        TRealFormat format( 12, KRealFormatFixed );
+        format.iPoint = TChar('.');
+        format.iTriLen = KDoNotUseTriads;
+        format.iPlaces = 6;
+        
+        TBuf<20> sLon, sLat, sVacc, sHacc, sAlt, sRad;
+        sLon.Num( loc.Longitude(), format );
+        sLat.Num( loc.Latitude(), format );
+        sAlt.Num( loc.Altitude(), format );
+        sVacc.Num( loc.VerticalAccuracy(), format );
+        sHacc.Num( loc.HorizontalAccuracy(), format );
+        buf.Format(
+            _L("\tLM: Long %S Lat %S vertAcc %S horAcc %S alt %S "), 
+            &sLon, &sLat, &sVacc, &sHacc, &sAlt);
+        
+        TReal32 sourceR;
+        err = aLandmark.GetCoverageRadius(sourceR);
+        if (err == KErrNone )
+            {
+            sRad.Num( sourceR, format );
+            buf.AppendFormat(_L("srcRadius %S"), &sRad);
+            }
+        iLog->Log(buf);
+        if (aTraceFlag) TraceL(buf);
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;  
+        }
+        
+      //Get landmark description  
+      err = aLandmark.GetLandmarkDescription(landmarkDescription);
+      if (err == KErrNone)
+        {
+        HBufC* buffer = HBufC::NewLC( landmarkDescription.Length() + 256 );
+        TPtr buf = buffer->Des();         
+        buf.Format(_L("\tLandmark Description: "));
+        buf.Append(landmarkDescription);
+        iLog->Log(buf);
+        if ( aTraceFlag ) 
+            {
+            TraceL( buf );    
+            }
+        
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;         
+        }  
+    
+
+    while (sourceFieldId != EPositionFieldNone)
+        {
+        TPtrC sourceValue;
+        aLandmark.GetPositionField(sourceFieldId, sourceValue);
+        
+        HBufC* buffer = HBufC::NewLC( sourceValue.Length() + 256 );
+        TPtr buf = buffer->Des();  
+        buf.Format(_L("\tIdField Id: %d Value:"), sourceFieldId);
+        buf.Append(sourceValue);
+        iLog->Log(buf);
+        if ( aTraceFlag ) 
+            {
+            TraceL( buf );
+            }
+        sourceFieldId = aLandmark.NextPositionFieldId(sourceFieldId);
+        
+        CleanupStack::PopAndDestroy( buffer );
+        }
+    }
+    
+    
+// ---------------------------------------------------------
+// CPosTp150::TraceL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp150::TraceL(const TDesC& msg)
+    {
+    _LIT8( KEnd, "\r\n" );
+
+    RFile file;
+    TInt err = file.Open(iFileSession, KFileTrace, EFileWrite);
+    if (err == KErrNotFound)
+        {
+        file.Create(iFileSession, KFileTrace, EFileWrite);
+        }
+
+    HBufC8* line8 = CnvUtfConverter::ConvertFromUnicodeToUtf8L( msg );
+    
+    TInt pos( 0 );
+    file.Seek( ESeekEnd, pos );
+    file.Write( *line8 );
+    file.Write( KEnd );
+    file.Close();
+
+    delete line8;
+    }
+
+//  End of File 
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp151.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,577 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+//  INCLUDES
+#include "FT_CPosTp151.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLandmarkParser.h>
+#include <EPos_CPosLandmarkEncoder.h>
+#include <LbsPosition.h>
+#include <e32math.h>
+#include <bautils.h>
+#include <utf.h>
+#include <xml/xmlparsererrors.h>
+
+// CONSTANTS
+
+_LIT(KFileTrace, "c:\\documents\\LandmarksTP151Trace.txt");
+
+// See \epoc32\include\xml\XmlParserErrors.h for error codes
+
+
+
+
+// See \epoc32\include\xml\XmlParserErrors.h for error codes
+
+
+_LIT(KCorrectFile, "c:\\system\\test\\TestData\\CorrectFileFor_LandmarksTP151Trace.txt");
+
+_LIT(KKMZFile, "c:\\system\\test\\TestData\\Tp151KMZFile.kmz");
+
+
+// Maxmimum size for each line in trace file
+const TInt KBufSize = 5000;
+
+// ================= MEMBER FUNCTIONS =======================
+// ---------------------------------------------------------
+// CPosTp151::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp151::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+
+    delete iEncoderBuffer;
+    iEncoderBuffer = NULL;
+
+    iLandmarks.ResetAndDestroy();
+    iLandmarks.Close();
+
+
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+
+    delete iOperation;
+    iOperation = NULL;
+
+
+
+    iLog->Log(_L("CloseTest Done"));
+    }
+    
+// ---------------------------------------------------------
+// CPosTp151::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp151::StartL()
+    {
+    BaflUtils::EnsurePathExistsL( iFileSession, KKMZFile );
+
+ 
+    // Delete the trace file
+    DeleteFileL(KFileTrace);
+
+
+    HBufC8* emptyBuffer=NULL;
+    
+   	iLog->Log(_L("Test with Tp151KMZFile.kmz"));
+	PrintParsedDataFromEncoderL(KKMZFile, *emptyBuffer, KErrNone, KKmzMimeType );
+
+
+    // Now compare tha trace file against the correct one
+    RFile correctFile;
+    RFile file;
+
+    iLog->Log(_L(">>>>>>>Comparing files<<<<<"));
+    
+    TFileName filename;
+    CreateCorrectXmlFileL( KCorrectFile, filename );
+    
+    User::LeaveIfError(correctFile.Open(iFileSession, filename,  EFileRead));
+    CleanupClosePushL(correctFile);
+    User::LeaveIfError(file.Open(iFileSession, KFileTrace,  EFileRead));
+    CleanupClosePushL(file);
+
+    HBufC* correctLinebuffer = HBufC::NewLC( KBufSize );
+            TPtr correctLine = correctLinebuffer->Des();    
+            HBufC* linebuffer = HBufC::NewLC( KBufSize );
+            TPtr line = linebuffer->Des();    
+   	
+    TInt err = KErrNone;
+    TBool done = EFalse;
+    TInt lineNr = 0;
+
+    while (ReadLn(correctFile, correctLine) != KErrEof && !done)
+        {
+        lineNr++;
+        err = ReadLn(file, line);
+        if ( err == KErrEof ) 
+            {
+            done = ETrue;    
+            }
+        correctLine.Trim();
+        line.Trim();
+        if (correctLine.Compare(line) != KErrNone)
+            {
+            HBufC* buf = HBufC::NewLC( 128 );
+            TPtr buffer = buf->Des();
+            
+            buffer.Format(_L("ERROR in TraceFile on line %d: "), lineNr);
+            
+            iLog->Log( buffer );
+            iLog->Log( correctLine );
+            iLog->Log( line );
+            iErrorsFound++;
+            CleanupStack::PopAndDestroy( buf );
+            }
+        }
+		CleanupStack::PopAndDestroy(linebuffer);
+    CleanupStack::PopAndDestroy(correctLinebuffer);
+    CleanupStack::PopAndDestroy(&file);
+    CleanupStack::PopAndDestroy(&correctFile);
+
+    // EOF for trace file was reach before EOF in the correct file
+    if (done)
+        {
+        iLog->Log(_L("ERROR: EOF for Trace file was reached to early"));
+        iErrorsFound++;
+        }
+        
+        
+    DoCancelTestL();
+
+    if (iErrorsFound != KErrNone)
+        {
+    	iLog->Log(_L("Errors found in TP151"));
+    	User::Leave(-1);
+        }
+	}
+
+// ---------------------------------------------------------
+// CPosTp151::DoCancelTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp151::DoCancelTestL()
+    {
+    iLog->Log(_L("DoCancelTestL"));
+    iLandmarkParser = CPosLandmarkParser::NewL(KKmzMimeType);
+    iLandmarkParser->SetInputFileL(KKMZFile);
+
+    iOperation = iLandmarkParser->ParseContentL();
+
+    TRequestStatus status = KPosLmOperationNotComplete;
+    TReal32 progress;
+
+    // 1 ) Cancel parse function by deleting iOperation
+    delete iOperation;
+    iOperation = NULL;
+
+    TUint32 nr = iLandmarkParser->NumOfParsedLandmarks();
+    if ((TInt)nr != 0)
+    {
+    	iLog->Log(_L("No landmarks should be found"));
+    	User::Leave(KErrNone);
+    }
+
+    // No landmark should be found
+    TRAPD(err, iLandmarkParser->LandmarkLC());
+    if (err != KErrNotFound)
+        {
+        iLog->Log(_L("ERROR: No Landmark should be found"));
+        iErrorsFound++;
+        }
+
+    // 1 ) Cancel parse function by changing input
+    iOperation = iLandmarkParser->ParseContentL();
+
+    // Get the first landmark
+    iOperation->NextStep(status, progress);
+    // Wait for NextStep to complete
+    User::WaitForRequest(status);
+    nr = iLandmarkParser->NumOfParsedLandmarks();
+    if ((TInt)nr != 1)
+    {
+    	iLog->Log(_L("One landmark should be found"));
+    	User::Leave(KErrNone);
+    }
+
+    // Change input
+    iLandmarkParser->SetInputFileL(KKMZFile);
+
+    nr = iLandmarkParser->NumOfParsedLandmarks();
+    if ((TInt)nr != 0)
+    {
+    	iLog->Log(_L("No landmarks should be found"));
+    	User::Leave(KErrNone);
+    }
+
+    // No landmark should be found
+    TRAP(err, iLandmarkParser->LandmarkLC());
+    if (err != KErrNotFound)
+        {
+        iLog->Log(_L("ERROR: No Landmark should be found"));
+        iErrorsFound++;
+        }
+
+    delete iOperation;
+    iOperation = NULL;
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    iLog->Log(_L("DoCancelTestL Done"));
+    }
+    
+ // ---------------------------------------------------------
+// CPosTp151::PrintParsedDataFromEncoderL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp151::PrintParsedDataFromEncoderL(
+    const TDesC& aFile, 
+    const TDesC8&  aBuffer, 
+    TInt aExpectedStatusCode,
+    const TDesC8& aMimeType)
+    {
+    iLog->Log(_L("===== PrintParsedDataFromEncoderL ======="));
+    
+    iLandmarkParser = CPosLandmarkParser::NewL(aMimeType);
+
+    if (aFile != KNullDesC)
+        {
+        TFileName file( aFile );
+        iLog->Log(_L("FILE (%S)"), &file );
+        TraceL(_L("----->Using FILE<-------"));
+        TraceL(file);
+        iLandmarkParser->SetInputFileL(file);
+        }
+    else
+        {
+        iLog->Log(_L("BUFFER (size %d)"), aBuffer.Size() );
+        TraceL(_L("----->Using BUFFER<-------"));
+        iLandmarkParser->SetInputBuffer(aBuffer);
+        }
+
+    iOperation = iLandmarkParser->ParseContentL();
+    TRequestStatus status = KPosLmOperationNotComplete;
+    TReal32 progress;
+    TInt number = 0;
+
+    RArray<TPosLmItemId> array;
+    CleanupClosePushL(array);
+
+    while (status == KPosLmOperationNotComplete)
+        {
+        iLog->Log(_L("--- Parsing ---------------------------"));
+        TraceL(_L("------------------------------"));
+        iOperation->NextStep(status, progress);
+
+        // Wait for NextStep to complete
+        User::WaitForRequest(status);
+        if (status != KPosLmOperationNotComplete && status != KErrNone)
+            {
+            iLog->Log(_L("Parsing Complete"));
+            
+            HBufC* buffer = HBufC::NewLC( 128);
+            TPtr buf = buffer->Des();
+                       
+            buf.Format(_L("\tStatus %d"), status.Int());
+            iLog->Log(buf);
+            TraceL(buf);
+            
+            CleanupStack::PopAndDestroy( buffer );
+            buffer = NULL;              
+            }
+        else
+            {
+            iLog->Log(_L("Parsing element"));
+            if ( iLandmarkParser->NumOfParsedLandmarks() )
+                {
+                // Get last parsed landmark
+                CPosLandmark* lm = iLandmarkParser->LandmarkLC();
+                TPtrC lmName;
+                TPtrC catName;
+                lm->GetLandmarkName(lmName);
+                lm->GetCategoriesL(array);
+                //iLog->Log(lmName);
+                for (TInt i=0;i<array.Count();i++)
+                    {
+                    CPosLandmarkCategory* category = iLandmarkParser->LandmarkCategoryLC( array[i] );
+                    category->GetCategoryName( catName );
+                     
+                    HBufC* buffer = HBufC::NewLC( 128 + catName.Length());
+                    TPtr buf = buffer->Des();
+                                            
+                    if ( category->GlobalCategory()) 
+                        {
+                        buf.Append(_L("\tGlobal category: "));    
+                        }
+                    else 
+                        {
+                        buf.Append(_L("\tLocal category: "));    
+                        }                        
+                    buf.Append(catName);
+                    iLog->Log(buf);
+                    TraceL(buf);
+                    CleanupStack::PopAndDestroy(buffer);
+                    buffer = NULL;
+                    CleanupStack::PopAndDestroy(category);
+                    }
+                    
+               	PrintLandmarkFieldsWithDescriptionL(*lm, ETrue);	
+               
+                
+                number++;
+                CleanupStack::PopAndDestroy(lm);
+                }
+            }
+        }
+
+    iLog->Log(_L("--- Parsing end ---------------------------"));
+    TraceL(_L("------------------------------"));
+    CleanupStack::PopAndDestroy(&array);
+
+    if (status.Int() != aExpectedStatusCode)
+        {
+        HBufC* buffer = HBufC::NewLC( 128 );
+        TPtr buf = buffer->Des();
+                    
+        buf.Format(_L("\tERROR: Wrong status returned, was %d, should be %d"), status.Int(), aExpectedStatusCode);
+        iLog->Log( buf );
+        iErrorsFound++;
+        
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;        
+        }
+
+    TUint32 nr = iLandmarkParser->NumOfParsedLandmarks();
+    HBufC* buffer = HBufC::NewLC( 256 );
+    TPtr buf = buffer->Des();
+    buf.Format(_L("\tNr of Parsed landmarks %d, should be %d"), nr, number);
+    iLog->Log(buf);
+    TraceL(buf);
+
+    CleanupStack::PopAndDestroy( buffer );
+    buffer = NULL;
+    if (nr != (TUint32)number)
+        {
+        iLog->Log(_L("\tERROR: Wrong number of landmarks parsed returned!"));
+        iErrorsFound++;
+        }
+
+    TPosLmCollectionDataId lmId = iLandmarkParser->FirstCollectionDataId();
+
+    iLog->Log(_L("--- CollectionData ---"));
+    TraceL(_L("--- CollectionData ---"));
+
+    if (lmId != EPosLmCollDataNone)
+        {
+        TPtrC first = iLandmarkParser->CollectionData(lmId);
+        HBufC* buffer = HBufC::NewLC( first.Length() + 256 );
+        TPtr buf = buffer->Des();
+        buf.Zero();
+        buf.Format(_L("\t(1)Collection Id: %d CollectionData: "), lmId);
+        buf.Append(first);
+        iLog->Log(buf);
+        TraceL(buf);
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;      
+        }
+    else 
+        {
+        iLog->Log(_L("\tNo collection data found 1"));    
+        }
+
+    while (lmId != EPosLmCollDataNone)
+        {
+        lmId = iLandmarkParser->NextCollectionDataId(lmId);
+        if (lmId != EPosLmCollDataNone)
+        {
+            TPtrC first = iLandmarkParser->CollectionData(lmId);
+            
+            HBufC* buffer = HBufC::NewLC( first.Length() + 256 );
+            TPtr buf = buffer->Des();         
+            buf.Zero();
+            buf.Format(_L("\t(2)Collection Id: %d CollectionData: "), lmId);
+            buf.Append(first);
+            iLog->Log(buf);
+            TraceL(buf);
+            
+            CleanupStack::PopAndDestroy( buffer );
+            buffer = NULL;              
+            }
+        else 
+            {
+            iLog->Log(_L("\tNo collection data found 2"));   
+            }
+        }
+
+    iLog->Log(_L("--- CollectionData ---"));
+    TraceL(_L("--- CollectionData ---"));
+
+    delete iOperation;
+    iOperation = NULL;
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    iLog->Log(_L("====== PrintParsedDataFromEncoderL Done ========\n"));
+    }
+    
+    
+ // ---------------------------------------------------------
+// CPosTp151::PrintLandmarkFieldsWithDescriptionL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp151::PrintLandmarkFieldsWithDescriptionL(const CPosLandmark& aLandmark, TBool aTraceFlag)
+    {
+    iLog->Log(_L("Parsing Description ... \n"));
+    TPositionFieldId sourceFieldId = aLandmark.FirstPositionFieldId();
+    TLocality loc;
+
+    TInt err;
+    TPtrC landmarkName;
+    TPtrC landmarkDescription;
+    err = aLandmark.GetLandmarkName(landmarkName);
+    if (err == KErrNone)
+        {
+        HBufC* buffer = HBufC::NewLC( landmarkName.Length() + 256 );
+        TPtr buf = buffer->Des();
+                    
+        buf.Append( _L(" \tLandmark Name: "));
+        buf.Append( landmarkName );
+        iLog->Log( buf );
+        if( aTraceFlag ) 
+            {
+            TraceL( buf );   
+            }
+            
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;  
+        }
+
+    err = aLandmark.GetPosition(loc);
+    if (err == KErrNone)
+        {
+        HBufC* buffer = HBufC::NewLC( 1024 );
+        TPtr buf = buffer->Des();        
+        TRealFormat format( 12, KRealFormatFixed );
+        format.iPoint = TChar('.');
+        format.iTriLen = KDoNotUseTriads;
+        format.iPlaces = 6;
+        
+        TBuf<20> sLon, sLat, sVacc, sHacc, sAlt, sRad;
+        sLon.Num( loc.Longitude(), format );
+        sLat.Num( loc.Latitude(), format );
+        sAlt.Num( loc.Altitude(), format );
+        sVacc.Num( loc.VerticalAccuracy(), format );
+        sHacc.Num( loc.HorizontalAccuracy(), format );
+        buf.Format(
+            _L("\tLM: Long %S Lat %S vertAcc %S horAcc %S alt %S "), 
+            &sLon, &sLat, &sVacc, &sHacc, &sAlt);
+        
+        TReal32 sourceR;
+        err = aLandmark.GetCoverageRadius(sourceR);
+        if (err == KErrNone )
+            {
+            sRad.Num( sourceR, format );
+            buf.AppendFormat(_L("srcRadius %S"), &sRad);
+            }
+        iLog->Log(buf);
+        if (aTraceFlag) TraceL(buf);
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;  
+        }
+        
+      //Get landmark description  
+      err = aLandmark.GetLandmarkDescription(landmarkDescription);
+      if (err == KErrNone)
+        {
+        HBufC* buffer = HBufC::NewLC( landmarkDescription.Length() + 256 );
+        TPtr buf = buffer->Des();         
+        buf.Format(_L("\tLandmark Description: "));
+        buf.Append(landmarkDescription);
+        iLog->Log(buf);
+        if ( aTraceFlag ) 
+            {
+            TraceL( buf );    
+            }
+        
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;         
+        }  
+    
+
+    while (sourceFieldId != EPositionFieldNone)
+        {
+        TPtrC sourceValue;
+        aLandmark.GetPositionField(sourceFieldId, sourceValue);
+        
+        HBufC* buffer = HBufC::NewLC( sourceValue.Length() + 256 );
+        TPtr buf = buffer->Des();  
+        buf.Format(_L("\tIdField Id: %d Value:"), sourceFieldId);
+        buf.Append(sourceValue);
+        iLog->Log(buf);
+        if ( aTraceFlag ) 
+            {
+            TraceL( buf );
+            }
+        sourceFieldId = aLandmark.NextPositionFieldId(sourceFieldId);
+        
+        CleanupStack::PopAndDestroy( buffer );
+        }
+    }
+    
+    
+// ---------------------------------------------------------
+// CPosTp151::TraceL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp151::TraceL(const TDesC& msg)
+    {
+    _LIT8( KEnd, "\r\n" );
+
+    RFile file;
+    TInt err = file.Open(iFileSession, KFileTrace, EFileWrite);
+    if (err == KErrNotFound)
+        {
+        file.Create(iFileSession, KFileTrace, EFileWrite);
+        }
+
+    HBufC8* line8 = CnvUtfConverter::ConvertFromUnicodeToUtf8L( msg );
+    
+    TInt pos( 0 );
+    file.Seek( ESeekEnd, pos );
+    file.Write( *line8 );
+    file.Write( KEnd );
+    file.Close();
+
+    delete line8;
+    }
+
+//  End of File 
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp152.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,574 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+//  INCLUDES
+#include "FT_CPosTp152.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLandmarkParser.h>
+#include <EPos_CPosLandmarkEncoder.h>
+#include <LbsPosition.h>
+#include <e32math.h>
+#include <bautils.h>
+#include <utf.h>
+#include <xml/xmlparsererrors.h>
+
+// CONSTANTS
+
+_LIT(KFileTrace, "c:\\documents\\LandmarksTP152Trace.txt");
+
+// See \epoc32\include\xml\XmlParserErrors.h for error codes
+
+
+
+
+// See \epoc32\include\xml\XmlParserErrors.h for error codes
+
+
+_LIT(KCorrectFile, "c:\\system\\test\\TestData\\CorrectFileFor_LandmarksTP152Trace.txt");
+
+_LIT(KKMZFile, "c:\\system\\test\\TestData\\Tp152KMZFile.kmz");
+
+
+// Maxmimum size for each line in trace file
+const TInt KBufSize = 5000;
+
+// ================= MEMBER FUNCTIONS =======================
+// ---------------------------------------------------------
+// CPosTp152::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp152::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+
+    delete iEncoderBuffer;
+    iEncoderBuffer = NULL;
+
+    iLandmarks.ResetAndDestroy();
+    iLandmarks.Close();
+
+
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+
+    delete iOperation;
+    iOperation = NULL;
+
+
+    iLog->Log(_L("CloseTest Done"));
+    }
+    
+// ---------------------------------------------------------
+// CPosTp152::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp152::StartL()
+    {
+    BaflUtils::EnsurePathExistsL( iFileSession, KKMZFile );
+
+
+    // Delete the trace file
+    DeleteFileL(KFileTrace);
+
+
+    HBufC8* emptyBuffer=NULL;
+    
+   	iLog->Log(_L("Test with Tp152KMZFile.kmz"));
+	PrintParsedDataFromEncoderL(KKMZFile, *emptyBuffer, KErrNone, KKmzMimeType );
+
+
+    // Now compare tha trace file against the correct one
+    RFile correctFile;
+    RFile file;
+
+    iLog->Log(_L(">>>>>>>Comparing files<<<<<"));
+    
+    TFileName filename;
+    CreateCorrectXmlFileL( KCorrectFile, filename );
+    
+    User::LeaveIfError(correctFile.Open(iFileSession, filename,  EFileRead));
+    CleanupClosePushL(correctFile);
+    User::LeaveIfError(file.Open(iFileSession, KFileTrace,  EFileRead));
+    CleanupClosePushL(file);
+
+    HBufC* correctLinebuffer = HBufC::NewLC( KBufSize );
+            TPtr correctLine = correctLinebuffer->Des();    
+            HBufC* linebuffer = HBufC::NewLC( KBufSize );
+            TPtr line = linebuffer->Des();    
+   	
+    TInt err = KErrNone;
+    TBool done = EFalse;
+    TInt lineNr = 0;
+
+    while (ReadLn(correctFile, correctLine) != KErrEof && !done)
+        {
+        lineNr++;
+        err = ReadLn(file, line);
+        if ( err == KErrEof ) 
+            {
+            done = ETrue;    
+            }
+        correctLine.Trim();
+        line.Trim();
+        if (correctLine.Compare(line) != KErrNone)
+            {
+            HBufC* buf = HBufC::NewLC( 128 );
+            TPtr buffer = buf->Des();
+            
+            buffer.Format(_L("ERROR in TraceFile on line %d: "), lineNr);
+            
+            iLog->Log( buffer );
+            iLog->Log( correctLine );
+            iLog->Log( line );
+            iErrorsFound++;
+            CleanupStack::PopAndDestroy( buf );
+            }
+        }
+        
+		CleanupStack::PopAndDestroy(linebuffer);
+    CleanupStack::PopAndDestroy(correctLinebuffer);
+    CleanupStack::PopAndDestroy(&file);
+    CleanupStack::PopAndDestroy(&correctFile);
+
+    // EOF for trace file was reach before EOF in the correct file
+    if (done)
+        {
+        iLog->Log(_L("ERROR: EOF for Trace file was reached to early"));
+        iErrorsFound++;
+        }
+        
+        
+    DoCancelTestL();
+
+    if (iErrorsFound != KErrNone)
+        {
+    	iLog->Log(_L("Errors found in TP152"));
+    	User::Leave(-1);
+        }
+	}
+
+// ---------------------------------------------------------
+// CPosTp152::DoCancelTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp152::DoCancelTestL()
+    {
+    iLog->Log(_L("DoCancelTestL"));
+    iLandmarkParser = CPosLandmarkParser::NewL(KKmzMimeType);
+    iLandmarkParser->SetInputFileL(KKMZFile);
+
+    iOperation = iLandmarkParser->ParseContentL();
+
+    TRequestStatus status = KPosLmOperationNotComplete;
+    TReal32 progress;
+
+    // 1 ) Cancel parse function by deleting iOperation
+    delete iOperation;
+    iOperation = NULL;
+
+    TUint32 nr = iLandmarkParser->NumOfParsedLandmarks();
+    if ((TInt)nr != 0)
+    {
+    	iLog->Log(_L("No landmarks should be found"));
+    	User::Leave(KErrNone);
+    }
+
+    // No landmark should be found
+    TRAPD(err, iLandmarkParser->LandmarkLC());
+    if (err != KErrNotFound)
+        {
+        iLog->Log(_L("ERROR: No Landmark should be found"));
+        iErrorsFound++;
+        }
+
+    // 1 ) Cancel parse function by changing input
+    iOperation = iLandmarkParser->ParseContentL();
+
+    // Get the first landmark
+    iOperation->NextStep(status, progress);
+    // Wait for NextStep to complete
+    User::WaitForRequest(status);
+    nr = iLandmarkParser->NumOfParsedLandmarks();
+    if ((TInt)nr != 1)
+    {
+    	iLog->Log(_L("One landmark should be found"));
+    	User::Leave(KErrNone);
+    }
+
+    // Change input
+    iLandmarkParser->SetInputFileL(KKMZFile);
+
+    nr = iLandmarkParser->NumOfParsedLandmarks();
+    if ((TInt)nr != 0)
+    {
+    	iLog->Log(_L("No landmarks should be found"));
+    	User::Leave(KErrNone);
+    }
+
+    // No landmark should be found
+    TRAP(err, iLandmarkParser->LandmarkLC());
+    if (err != KErrNotFound)
+        {
+        iLog->Log(_L("ERROR: No Landmark should be found"));
+        iErrorsFound++;
+        }
+
+    delete iOperation;
+    iOperation = NULL;
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    iLog->Log(_L("DoCancelTestL Done"));
+    }
+    
+ // ---------------------------------------------------------
+// CPosTp152::PrintParsedDataFromEncoderL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp152::PrintParsedDataFromEncoderL(
+    const TDesC& aFile, 
+    const TDesC8&  aBuffer, 
+    TInt aExpectedStatusCode,
+    const TDesC8& aMimeType)
+    {
+    iLog->Log(_L("===== PrintParsedDataFromEncoderL ======="));
+    
+    iLandmarkParser = CPosLandmarkParser::NewL(aMimeType);
+
+    if (aFile != KNullDesC)
+        {
+        TFileName file( aFile );
+        iLog->Log(_L("FILE (%S)"), &file );
+        TraceL(_L("----->Using FILE<-------"));
+        TraceL(file);
+        iLandmarkParser->SetInputFileL(file);
+        }
+    else
+        {
+        iLog->Log(_L("BUFFER (size %d)"), aBuffer.Size() );
+        TraceL(_L("----->Using BUFFER<-------"));
+        iLandmarkParser->SetInputBuffer(aBuffer);
+        }
+
+    iOperation = iLandmarkParser->ParseContentL();
+    TRequestStatus status = KPosLmOperationNotComplete;
+    TReal32 progress;
+    TInt number = 0;
+
+    RArray<TPosLmItemId> array;
+    CleanupClosePushL(array);
+
+    while (status == KPosLmOperationNotComplete)
+        {
+        iLog->Log(_L("--- Parsing ---------------------------"));
+        TraceL(_L("------------------------------"));
+        iOperation->NextStep(status, progress);
+
+        // Wait for NextStep to complete
+        User::WaitForRequest(status);
+        if (status != KPosLmOperationNotComplete && status != KErrNone)
+            {
+            iLog->Log(_L("Parsing Complete"));
+            
+            HBufC* buffer = HBufC::NewLC( 128);
+            TPtr buf = buffer->Des();
+            buf.Format(_L("\tStatus %d"), status.Int());
+            iLog->Log(buf);
+            TraceL(buf);
+            
+            CleanupStack::PopAndDestroy( buffer );
+            buffer = NULL;              
+            }
+        else
+            {
+            iLog->Log(_L("Parsing element"));
+            if ( iLandmarkParser->NumOfParsedLandmarks() )
+                {
+                // Get last parsed landmark
+                CPosLandmark* lm = iLandmarkParser->LandmarkLC();
+                TPtrC lmName;
+                TPtrC catName;
+                lm->GetLandmarkName(lmName);
+                lm->GetCategoriesL(array);
+                //iLog->Log(lmName);
+                for (TInt i=0;i<array.Count();i++)
+                    {
+                    CPosLandmarkCategory* category = iLandmarkParser->LandmarkCategoryLC( array[i] );
+                    category->GetCategoryName( catName );
+                     
+                    HBufC* buffer = HBufC::NewLC( 128 + catName.Length());
+                    TPtr buf = buffer->Des();
+                                            
+                    if ( category->GlobalCategory()) 
+                        {
+                        buf.Append(_L("\tGlobal category: "));    
+                        }
+                    else 
+                        {
+                        buf.Append(_L("\tLocal category: "));    
+                        }                        
+                    buf.Append(catName);
+                    iLog->Log(buf);
+                    TraceL(buf);
+                    CleanupStack::PopAndDestroy(buffer);
+                    buffer = NULL;
+                    CleanupStack::PopAndDestroy(category);
+                    }
+                    
+               	PrintLandmarkFieldsWithDescriptionL(*lm, ETrue);	
+               
+                
+                number++;
+                CleanupStack::PopAndDestroy(lm);
+                }
+            }
+        }
+
+    iLog->Log(_L("--- Parsing end ---------------------------"));
+    TraceL(_L("------------------------------"));
+    CleanupStack::PopAndDestroy(&array);
+
+    if (status.Int() != aExpectedStatusCode)
+        {
+        HBufC* buffer = HBufC::NewLC( 128 );
+        TPtr buf = buffer->Des();
+                    
+        buf.Format(_L("\tERROR: Wrong status returned, was %d, should be %d"), status.Int(), aExpectedStatusCode);
+        iLog->Log( buf );
+        iErrorsFound++;
+        
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;        
+        }
+
+    TUint32 nr = iLandmarkParser->NumOfParsedLandmarks();
+    HBufC* buffer = HBufC::NewLC( 256 );
+    TPtr buf = buffer->Des();
+    buf.Format(_L("\tNr of Parsed landmarks %d, should be %d"), nr, number);
+    iLog->Log(buf);
+    TraceL(buf);
+
+    CleanupStack::PopAndDestroy( buffer );
+    buffer = NULL;
+    if (nr != (TUint32)number)
+        {
+        iLog->Log(_L("\tERROR: Wrong number of landmarks parsed returned!"));
+        iErrorsFound++;
+        }
+
+    TPosLmCollectionDataId lmId = iLandmarkParser->FirstCollectionDataId();
+
+    iLog->Log(_L("--- CollectionData ---"));
+    TraceL(_L("--- CollectionData ---"));
+
+    if (lmId != EPosLmCollDataNone)
+        {
+        TPtrC first = iLandmarkParser->CollectionData(lmId);
+        HBufC* buffer = HBufC::NewLC( first.Length() + 256 );
+        TPtr buf = buffer->Des();
+        buf.Zero();
+        buf.Format(_L("\t(1)Collection Id: %d CollectionData: "), lmId);
+        buf.Append(first);
+        iLog->Log(buf);
+        TraceL(buf);
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;      
+        }
+    else 
+        {
+        iLog->Log(_L("\tNo collection data found 1"));    
+        }
+
+    while (lmId != EPosLmCollDataNone)
+        {
+        lmId = iLandmarkParser->NextCollectionDataId(lmId);
+        if (lmId != EPosLmCollDataNone)
+        {
+            TPtrC first = iLandmarkParser->CollectionData(lmId);
+            
+            HBufC* buffer = HBufC::NewLC( first.Length() + 256 );
+            TPtr buf = buffer->Des();         
+            buf.Zero();
+            buf.Format(_L("\t(2)Collection Id: %d CollectionData: "), lmId);
+            buf.Append(first);
+            iLog->Log(buf);
+            TraceL(buf);
+            
+            CleanupStack::PopAndDestroy( buffer );
+            buffer = NULL;              
+            }
+        else 
+            {
+            iLog->Log(_L("\tNo collection data found 2"));   
+            }
+        }
+
+    iLog->Log(_L("--- CollectionData ---"));
+    TraceL(_L("--- CollectionData ---"));
+
+    delete iOperation;
+    iOperation = NULL;
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    iLog->Log(_L("====== PrintParsedDataFromEncoderL Done ========\n"));
+    }
+    
+    
+ // ---------------------------------------------------------
+// CPosTp152::PrintLandmarkFieldsWithDescriptionL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp152::PrintLandmarkFieldsWithDescriptionL(const CPosLandmark& aLandmark, TBool aTraceFlag)
+    {
+    iLog->Log(_L("Parsing Description ... \n"));
+    TPositionFieldId sourceFieldId = aLandmark.FirstPositionFieldId();
+    TLocality loc;
+
+    TInt err;
+    TPtrC landmarkName;
+    TPtrC landmarkDescription;
+    err = aLandmark.GetLandmarkName(landmarkName);
+    if (err == KErrNone)
+        {
+        HBufC* buffer = HBufC::NewLC( landmarkName.Length() + 256 );
+        TPtr buf = buffer->Des();
+        buf.Append(_L("\tLandmark Name: "));
+        buf.Append(landmarkName);
+        iLog->Log(buf);
+        if( aTraceFlag ) 
+            {
+            TraceL( buf );   
+            }
+            
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;  
+        }
+
+    err = aLandmark.GetPosition(loc);
+    if (err == KErrNone)
+        {
+        HBufC* buffer = HBufC::NewLC( 1024 );
+        TPtr buf = buffer->Des();        
+        TRealFormat format( 12, KRealFormatFixed );
+        format.iPoint = TChar('.');
+        format.iTriLen = KDoNotUseTriads;
+        format.iPlaces = 6;
+        
+        TBuf<20> sLon, sLat, sVacc, sHacc, sAlt, sRad;
+        sLon.Num( loc.Longitude(), format );
+        sLat.Num( loc.Latitude(), format );
+        sAlt.Num( loc.Altitude(), format );
+        sVacc.Num( loc.VerticalAccuracy(), format );
+        sHacc.Num( loc.HorizontalAccuracy(), format );
+        buf.Format(
+            _L("\tLM: Long %S Lat %S vertAcc %S horAcc %S alt %S "), 
+            &sLon, &sLat, &sVacc, &sHacc, &sAlt);
+        
+        TReal32 sourceR;
+        err = aLandmark.GetCoverageRadius(sourceR);
+        if (err == KErrNone )
+            {
+            sRad.Num( sourceR, format );
+            buf.AppendFormat(_L("srcRadius %S"), &sRad);
+            }
+        iLog->Log(buf);
+        if (aTraceFlag) TraceL(buf);
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;  
+        }
+        
+      //Get landmark description  
+      err = aLandmark.GetLandmarkDescription(landmarkDescription);
+      if (err == KErrNone)
+        {
+        HBufC* buffer = HBufC::NewLC( landmarkDescription.Length() + 256 );
+        TPtr buf = buffer->Des();         
+        buf.Format(_L("\tLandmark Description: "));
+        buf.Append(landmarkDescription);
+        iLog->Log(buf);
+        if ( aTraceFlag ) 
+            {
+            TraceL( buf );    
+            }
+        
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;         
+        }  
+    
+
+    while (sourceFieldId != EPositionFieldNone)
+        {
+        TPtrC sourceValue;
+        aLandmark.GetPositionField(sourceFieldId, sourceValue);
+        
+        HBufC* buffer = HBufC::NewLC( sourceValue.Length() + 256 );
+        TPtr buf = buffer->Des();  
+        buf.Format(_L("\tIdField Id: %d Value:"), sourceFieldId);
+        buf.Append(sourceValue);
+        iLog->Log(buf);
+        if ( aTraceFlag ) 
+            {
+            TraceL( buf );
+            }
+        sourceFieldId = aLandmark.NextPositionFieldId(sourceFieldId);
+        CleanupStack::PopAndDestroy( buffer );
+        }
+    }
+    
+    
+// ---------------------------------------------------------
+// CPosTp152::TraceL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp152::TraceL(const TDesC& msg)
+    {
+    _LIT8( KEnd, "\r\n" );
+
+    RFile file;
+    TInt err = file.Open(iFileSession, KFileTrace, EFileWrite);
+    if (err == KErrNotFound)
+        {
+        file.Create(iFileSession, KFileTrace, EFileWrite);
+        }
+
+    HBufC8* line8 = CnvUtfConverter::ConvertFromUnicodeToUtf8L( msg );
+    
+    TInt pos( 0 );
+    file.Seek( ESeekEnd, pos );
+    file.Write( *line8 );
+    file.Write( KEnd );
+    file.Close();
+
+    delete line8;
+    }
+
+//  End of File 
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp153.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,578 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+//  INCLUDES
+#include "FT_CPosTp153.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLandmarkParser.h>
+#include <EPos_CPosLandmarkEncoder.h>
+#include <LbsPosition.h>
+#include <e32math.h>
+#include <bautils.h>
+#include <utf.h>
+#include <xml/xmlparsererrors.h>
+
+// CONSTANTS
+
+_LIT(KFileTrace, "c:\\documents\\LandmarksTP153Trace.txt");
+
+// See \epoc32\include\xml\XmlParserErrors.h for error codes
+
+
+
+
+// See \epoc32\include\xml\XmlParserErrors.h for error codes
+
+
+_LIT(KCorrectFile, "c:\\system\\test\\TestData\\CorrectFileFor_LandmarksTP153Trace.txt");
+
+_LIT(KKMZFile, "c:\\system\\test\\TestData\\Tp153KMZFile.kmz");
+
+
+// Maxmimum size for each line in trace file
+const TInt KBufSize = 5000;
+
+// ================= MEMBER FUNCTIONS =======================
+// ---------------------------------------------------------
+// CPosTp153::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp153::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+
+    delete iEncoderBuffer;
+    iEncoderBuffer = NULL;
+
+    iLandmarks.ResetAndDestroy();
+    iLandmarks.Close();
+
+
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+
+    delete iOperation;
+    iOperation = NULL;
+
+
+    iLog->Log(_L("CloseTest Done"));
+    }
+    
+// ---------------------------------------------------------
+// CPosTp153::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp153::StartL()
+    {
+    BaflUtils::EnsurePathExistsL( iFileSession, KKMZFile );
+
+
+    // Delete the trace file
+    DeleteFileL(KFileTrace);
+
+
+    HBufC8* emptyBuffer=NULL;
+    
+   	iLog->Log(_L("Test with Tp153KMZFile.kmz"));
+	PrintParsedDataFromEncoderL(KKMZFile, *emptyBuffer, -993, KKmzMimeType ); //EXmlTagMismatch = -993
+
+
+    // Now compare tha trace file against the correct one
+    RFile correctFile;
+    RFile file;
+
+    iLog->Log(_L(">>>>>>>Comparing files<<<<<"));
+    
+    TFileName filename;
+    CreateCorrectXmlFileL( KCorrectFile, filename );
+    
+    User::LeaveIfError(correctFile.Open(iFileSession, filename,  EFileRead));
+    CleanupClosePushL(correctFile);
+    User::LeaveIfError(file.Open(iFileSession, KFileTrace,  EFileRead));
+    CleanupClosePushL(file);
+
+    HBufC* correctLinebuffer = HBufC::NewLC( KBufSize );
+            TPtr correctLine = correctLinebuffer->Des();    
+            HBufC* linebuffer = HBufC::NewLC( KBufSize );
+            TPtr line = linebuffer->Des();    
+   	
+    TInt err = KErrNone;
+    TBool done = EFalse;
+    TInt lineNr = 0;
+
+    while (ReadLn(correctFile, correctLine) != KErrEof && !done)
+        {
+        lineNr++;
+        err = ReadLn(file, line);
+        if ( err == KErrEof ) 
+            {
+            done = ETrue;    
+            }
+        correctLine.Trim();
+        line.Trim();
+        if (correctLine.Compare(line) != KErrNone)
+            {
+            HBufC* buf = HBufC::NewLC( 128 );
+            TPtr buffer = buf->Des();
+            
+            buffer.Format(_L("ERROR in TraceFile on line %d: "), lineNr);
+            
+            iLog->Log( buffer );
+            iLog->Log( correctLine );
+            iLog->Log( line );
+            iErrorsFound++;
+            CleanupStack::PopAndDestroy( buf );
+            }
+        }
+		CleanupStack::PopAndDestroy(linebuffer);
+    CleanupStack::PopAndDestroy(correctLinebuffer);
+    CleanupStack::PopAndDestroy(&file);
+    CleanupStack::PopAndDestroy(&correctFile);
+
+    // EOF for trace file was reach before EOF in the correct file
+    if (done)
+        {
+        iLog->Log(_L("ERROR: EOF for Trace file was reached to early"));
+        iErrorsFound++;
+        }
+        
+        
+    DoCancelTestL();
+
+    if (iErrorsFound != KErrNone)
+        {
+    	iLog->Log(_L("Errors found in TP153"));
+    	User::Leave(-1);
+        }
+	}
+
+// ---------------------------------------------------------
+// CPosTp153::DoCancelTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp153::DoCancelTestL()
+    {
+    iLog->Log(_L("DoCancelTestL"));
+    iLandmarkParser = CPosLandmarkParser::NewL(KKmzMimeType);
+    iLandmarkParser->SetInputFileL(KKMZFile);
+
+    iOperation = iLandmarkParser->ParseContentL();
+
+    TRequestStatus status = KPosLmOperationNotComplete;
+    TReal32 progress;
+
+    // 1 ) Cancel parse function by deleting iOperation
+    delete iOperation;
+    iOperation = NULL;
+
+    TUint32 nr = iLandmarkParser->NumOfParsedLandmarks();
+    if ((TInt)nr != 0)
+    {
+    	iLog->Log(_L("No landmarks should be found"));
+    	User::Leave(KErrNone);
+    }
+
+    // No landmark should be found
+    TRAPD(err, iLandmarkParser->LandmarkLC());
+    if (err != KErrNotFound)
+        {
+        iLog->Log(_L("ERROR: No Landmark should be found"));
+        iErrorsFound++;
+        }
+
+    // 1 ) Cancel parse function by changing input
+    iOperation = iLandmarkParser->ParseContentL();
+
+    // Get the first landmark
+    iOperation->NextStep(status, progress);
+    // Wait for NextStep to complete
+    User::WaitForRequest(status);
+    if(status == KErrNone)
+	{
+	   	nr = iLandmarkParser->NumOfParsedLandmarks();
+	    if ((TInt)nr != 1)
+	    {
+	    	iLog->Log(_L("One landmark should be found"));
+	    	iErrorsFound++;
+	    }
+    }
+
+    // Change input
+    iLandmarkParser->SetInputFileL(KKMZFile);
+
+    nr = iLandmarkParser->NumOfParsedLandmarks();
+    if ((TInt)nr != 0)
+    {
+    	iLog->Log(_L("No landmarks should be found"));
+    	User::Leave(KErrNone);
+    }
+
+    // No landmark should be found
+    TRAP(err, iLandmarkParser->LandmarkLC());
+    if (err != KErrNotFound)
+        {
+        iLog->Log(_L("ERROR: No Landmark should be found"));
+        iErrorsFound++;
+        }
+
+    delete iOperation;
+    iOperation = NULL;
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    iLog->Log(_L("DoCancelTestL Done"));
+    }
+    
+ // ---------------------------------------------------------
+// CPosTp153::PrintParsedDataFromEncoderL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp153::PrintParsedDataFromEncoderL(
+    const TDesC& aFile, 
+    const TDesC8&  aBuffer, 
+    TInt aExpectedStatusCode,
+    const TDesC8& aMimeType)
+    {
+    iLog->Log(_L("===== PrintParsedDataFromEncoderL ======="));
+    
+    iLandmarkParser = CPosLandmarkParser::NewL(aMimeType);
+
+    if (aFile != KNullDesC)
+        {
+        TFileName file( aFile );
+        iLog->Log(_L("FILE (%S)"), &file );
+        TraceL(_L("----->Using FILE<-------"));
+        TraceL(file);
+        iLandmarkParser->SetInputFileL(file);
+        }
+    else
+        {
+        iLog->Log(_L("BUFFER (size %d)"), aBuffer.Size() );
+        TraceL(_L("----->Using BUFFER<-------"));
+        iLandmarkParser->SetInputBuffer(aBuffer);
+        }
+
+    iOperation = iLandmarkParser->ParseContentL();
+    TRequestStatus status = KPosLmOperationNotComplete;
+    TReal32 progress;
+    TInt number = 0;
+
+    RArray<TPosLmItemId> array;
+    CleanupClosePushL(array);
+
+    while (status == KPosLmOperationNotComplete)
+        {
+        iLog->Log(_L("--- Parsing ---------------------------"));
+        TraceL(_L("------------------------------"));
+        iOperation->NextStep(status, progress);
+
+        // Wait for NextStep to complete
+        User::WaitForRequest(status);
+        if (status != KPosLmOperationNotComplete && status != KErrNone)
+            {
+            iLog->Log(_L("Parsing Complete"));
+            
+            HBufC* buffer = HBufC::NewLC( 128);
+            TPtr buf = buffer->Des();
+            buf.Format(_L("\tStatus %d"), status.Int());
+            iLog->Log(buf);
+            TraceL(buf);
+            CleanupStack::PopAndDestroy( buffer );
+            buffer = NULL;              
+            }
+        else
+            {
+            iLog->Log(_L("Parsing element"));
+            if ( iLandmarkParser->NumOfParsedLandmarks() )
+                {
+                // Get last parsed landmark
+                CPosLandmark* lm = iLandmarkParser->LandmarkLC();
+                TPtrC lmName;
+                TPtrC catName;
+                lm->GetLandmarkName(lmName);
+                lm->GetCategoriesL(array);
+                //iLog->Log(lmName);
+                for (TInt i=0;i<array.Count();i++)
+                    {
+                    CPosLandmarkCategory* category = iLandmarkParser->LandmarkCategoryLC(array[i]);
+                    category->GetCategoryName( catName );
+                     
+                    HBufC* buffer = HBufC::NewLC( 128 + catName.Length());
+                    TPtr buf = buffer->Des();
+                                            
+                    if ( category->GlobalCategory()) 
+                        {
+                        buf.Append(_L("\tGlobal category: "));    
+                        }
+                    else 
+                        {
+                        buf.Append(_L("\tLocal category: "));    
+                        }                        
+                                        
+                    buf.Append( catName );
+                    iLog->Log( buf );
+                    TraceL( buf );
+
+                    CleanupStack::PopAndDestroy( buffer );
+                    buffer = NULL;
+                    CleanupStack::PopAndDestroy(category);
+                    }
+                    
+               	PrintLandmarkFieldsWithDescriptionL(*lm, ETrue);	
+               
+                
+                number++;
+                CleanupStack::PopAndDestroy(lm);
+                }
+            }
+        }
+
+    iLog->Log(_L("--- Parsing end ---------------------------"));
+    TraceL(_L("------------------------------"));
+    CleanupStack::PopAndDestroy(&array);
+
+    if (status.Int() != aExpectedStatusCode)
+        {
+        HBufC* buffer = HBufC::NewLC( 128 );
+        TPtr buf = buffer->Des();
+                    
+        buf.Format(_L("\tERROR: Wrong status returned, was %d, should be %d"), status.Int(), aExpectedStatusCode);
+        iLog->Log( buf );
+        iErrorsFound++;
+        
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;        
+        }
+
+    TUint32 nr = iLandmarkParser->NumOfParsedLandmarks();
+    HBufC* buffer = HBufC::NewLC( 256 );
+    TPtr buf = buffer->Des();
+    buf.Format(_L("\tNr of Parsed landmarks %d, should be %d"), nr, number);
+    iLog->Log(buf);
+    TraceL(buf);
+
+    CleanupStack::PopAndDestroy( buffer );
+    buffer = NULL;
+    if (nr != (TUint32)number)
+        {
+        iLog->Log(_L("\tERROR: Wrong number of landmarks parsed returned!"));
+        iErrorsFound++;
+        }
+
+    TPosLmCollectionDataId lmId = iLandmarkParser->FirstCollectionDataId();
+
+    iLog->Log(_L("--- CollectionData ---"));
+    TraceL(_L("--- CollectionData ---"));
+
+    if (lmId != EPosLmCollDataNone)
+        {
+        TPtrC first = iLandmarkParser->CollectionData(lmId);
+        HBufC* buffer = HBufC::NewLC( first.Length() + 256 );
+        TPtr buf = buffer->Des();
+        buf.Zero();
+        buf.Format(_L("\t(1)Collection Id: %d CollectionData: "), lmId);
+        buf.Append(first);
+        iLog->Log(buf);
+        TraceL(buf);
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;      
+        }
+    else 
+        {
+        iLog->Log(_L("\tNo collection data found 1"));    
+        }
+
+    while (lmId != EPosLmCollDataNone)
+        {
+        lmId = iLandmarkParser->NextCollectionDataId(lmId);
+        if (lmId != EPosLmCollDataNone)
+        {
+            TPtrC first = iLandmarkParser->CollectionData(lmId);
+            
+            HBufC* buffer = HBufC::NewLC( first.Length() + 256 );
+            TPtr buf = buffer->Des();         
+            buf.Zero();
+            buf.Format(_L("\t(2)Collection Id: %d CollectionData: "), lmId);
+            buf.Append(first);
+            iLog->Log(buf);
+            TraceL(buf);
+            CleanupStack::PopAndDestroy( buffer );
+            buffer = NULL;              
+            }
+        else 
+            {
+            iLog->Log(_L("\tNo collection data found 2"));   
+            }
+        }
+
+    iLog->Log(_L("--- CollectionData ---"));
+    TraceL(_L("--- CollectionData ---"));
+
+    delete iOperation;
+    iOperation = NULL;
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    iLog->Log(_L("====== PrintParsedDataFromEncoderL Done ========\n"));
+    }
+    
+    
+ // ---------------------------------------------------------
+// CPosTp153::PrintLandmarkFieldsWithDescriptionL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp153::PrintLandmarkFieldsWithDescriptionL(const CPosLandmark& aLandmark, TBool aTraceFlag)
+    {
+    iLog->Log(_L("Parsing Description ... \n"));
+    TPositionFieldId sourceFieldId = aLandmark.FirstPositionFieldId();
+    TLocality loc;
+
+    TInt err;
+    TPtrC landmarkName;
+    TPtrC landmarkDescription;
+    err = aLandmark.GetLandmarkName(landmarkName);
+    if (err == KErrNone)
+        {
+        HBufC* buffer = HBufC::NewLC( landmarkName.Length() + 256 );
+        TPtr buf = buffer->Des();
+                    
+        buf.Append( _L(" \tLandmark Name: "));
+        buf.Append( landmarkName );
+        iLog->Log( buf );
+        if( aTraceFlag ) 
+            {
+            TraceL( buf );   
+            }
+            
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;  
+        }
+
+    err = aLandmark.GetPosition(loc);
+    if (err == KErrNone)
+        {
+        HBufC* buffer = HBufC::NewLC( 1024 );
+        TPtr buf = buffer->Des();        
+        TRealFormat format( 12, KRealFormatFixed );
+        format.iPoint = TChar('.');
+        format.iTriLen = KDoNotUseTriads;
+        format.iPlaces = 6;
+        
+        TBuf<20> sLon, sLat, sVacc, sHacc, sAlt, sRad;
+        sLon.Num( loc.Longitude(), format );
+        sLat.Num( loc.Latitude(), format );
+        sAlt.Num( loc.Altitude(), format );
+        sVacc.Num( loc.VerticalAccuracy(), format );
+        sHacc.Num( loc.HorizontalAccuracy(), format );
+        buf.Format(
+            _L("\tLM: Long %S Lat %S vertAcc %S horAcc %S alt %S "), 
+            &sLon, &sLat, &sVacc, &sHacc, &sAlt);
+        
+        TReal32 sourceR;
+        err = aLandmark.GetCoverageRadius(sourceR);
+        if (err == KErrNone )
+            {
+            sRad.Num( sourceR, format );
+            buf.AppendFormat(_L("srcRadius %S"), &sRad);
+            }
+        iLog->Log(buf);
+        if (aTraceFlag) TraceL(buf);
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;  
+        }
+        
+      //Get landmark description  
+      err = aLandmark.GetLandmarkDescription(landmarkDescription);
+      if (err == KErrNone)
+        {
+        HBufC* buffer = HBufC::NewLC( landmarkDescription.Length() + 256 );
+        TPtr buf = buffer->Des();         
+        buf.Format(_L("\tLandmark Description: "));
+        buf.Append(landmarkDescription);
+        iLog->Log(buf);
+        if ( aTraceFlag ) 
+            {
+            TraceL( buf );    
+            }
+        
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;         
+        }  
+    
+
+    while (sourceFieldId != EPositionFieldNone)
+        {
+        TPtrC sourceValue;
+        aLandmark.GetPositionField(sourceFieldId, sourceValue);
+        
+        HBufC* buffer = HBufC::NewLC( sourceValue.Length() + 256 );
+        TPtr buf = buffer->Des();  
+        buf.Format(_L("\tIdField Id: %d Value:"), sourceFieldId);
+        buf.Append(sourceValue);
+        iLog->Log(buf);
+        if ( aTraceFlag ) 
+            {
+            TraceL( buf );
+            }
+        sourceFieldId = aLandmark.NextPositionFieldId(sourceFieldId);
+        
+        CleanupStack::PopAndDestroy( buffer );
+        }
+    }
+    
+    
+// ---------------------------------------------------------
+// CPosTp153::TraceL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp153::TraceL(const TDesC& msg)
+    {
+    _LIT8( KEnd, "\r\n" );
+
+    RFile file;
+    TInt err = file.Open(iFileSession, KFileTrace, EFileWrite);
+    if (err == KErrNotFound)
+        {
+        file.Create(iFileSession, KFileTrace, EFileWrite);
+        }
+
+    HBufC8* line8 = CnvUtfConverter::ConvertFromUnicodeToUtf8L( msg );
+    
+    TInt pos( 0 );
+    file.Seek( ESeekEnd, pos );
+    file.Write( *line8 );
+    file.Write( KEnd );
+    file.Close();
+
+    delete line8;
+    }
+
+//  End of File 
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp154.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,575 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+//  INCLUDES
+#include "FT_CPosTp154.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLandmarkParser.h>
+#include <EPos_CPosLandmarkEncoder.h>
+#include <LbsPosition.h>
+#include <e32math.h>
+#include <bautils.h>
+#include <utf.h>
+#include <xml/xmlparsererrors.h>
+
+// CONSTANTS
+
+_LIT(KFileTrace, "c:\\documents\\LandmarksTP154Trace.txt");
+
+// See \epoc32\include\xml\XmlParserErrors.h for error codes
+
+
+
+
+// See \epoc32\include\xml\XmlParserErrors.h for error codes
+
+
+_LIT(KCorrectFile, "c:\\system\\test\\TestData\\CorrectFileFor_LandmarksTP154Trace.txt");
+
+_LIT(KKMZFile, "c:\\system\\test\\TestData\\Tp154KMZFile.kmz");
+
+
+// Maxmimum size for each line in trace file
+const TInt KBufSize = 5000;
+
+// ================= MEMBER FUNCTIONS =======================
+// ---------------------------------------------------------
+// CPosTp154::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp154::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+
+    delete iEncoderBuffer;
+    iEncoderBuffer = NULL;
+
+    iLandmarks.ResetAndDestroy();
+    iLandmarks.Close();
+
+
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+
+    delete iOperation;
+    iOperation = NULL;
+
+
+    iLog->Log(_L("CloseTest Done"));
+    }
+    
+// ---------------------------------------------------------
+// CPosTp154::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp154::StartL()
+    {
+    BaflUtils::EnsurePathExistsL( iFileSession, KKMZFile );
+
+
+    // Delete the trace file
+    DeleteFileL(KFileTrace);
+
+
+    HBufC8* emptyBuffer=NULL;
+    
+   	iLog->Log(_L("Test with Tp154KMZFile.kmz"));
+	PrintParsedDataFromEncoderL(KKMZFile, *emptyBuffer, -993, KKmzMimeType ); //EXmlTagMismatch = -993
+
+
+    // Now compare tha trace file against the correct one
+    RFile correctFile;
+    RFile file;
+
+    iLog->Log(_L(">>>>>>>Comparing files<<<<<"));
+    
+    TFileName filename;
+    CreateCorrectXmlFileL( KCorrectFile, filename );
+    
+    User::LeaveIfError(correctFile.Open(iFileSession, filename,  EFileRead));
+    CleanupClosePushL(correctFile);
+    User::LeaveIfError(file.Open(iFileSession, KFileTrace,  EFileRead));
+    CleanupClosePushL(file);
+
+    HBufC * correctLinebuffer = HBufC::NewLC(KBufSize);
+   	TPtr correctLine(correctLinebuffer->Des());
+   	HBufC * linebuffer = HBufC::NewLC(KBufSize);
+   	TPtr line(linebuffer->Des());
+   	
+    TInt err = KErrNone;
+    TBool done = EFalse;
+    TInt lineNr = 0;
+
+    while (ReadLn(correctFile, correctLine) != KErrEof && !done)
+        {
+        lineNr++;
+        err = ReadLn(file, line);
+        if ( err == KErrEof ) 
+            {
+            done = ETrue;    
+            }
+        correctLine.Trim();
+        line.Trim();
+        if (correctLine.Compare(line) != KErrNone)
+            {
+            HBufC* buf = HBufC::NewLC( 128 );
+            TPtr buffer = buf->Des();
+            
+            buffer.Format(_L("ERROR in TraceFile on line %d: "), lineNr);
+            
+            iLog->Log( buffer );
+            iLog->Log( correctLine );
+            iLog->Log( line );
+            iErrorsFound++;
+            CleanupStack::PopAndDestroy( buf );
+            }
+        }
+
+		CleanupStack::PopAndDestroy(linebuffer);
+    CleanupStack::PopAndDestroy(correctLinebuffer);
+    CleanupStack::PopAndDestroy(&file);
+    CleanupStack::PopAndDestroy(&correctFile);
+
+    // EOF for trace file was reach before EOF in the correct file
+    if (done)
+        {
+        iLog->Log(_L("ERROR: EOF for Trace file was reached to early"));
+        iErrorsFound++;
+        }
+        
+        
+    DoCancelTestL();
+
+    if (iErrorsFound != KErrNone)
+        {
+    	iLog->Log(_L("Errors found in TP154"));
+    	User::Leave(-1);
+        }
+	}
+
+// ---------------------------------------------------------
+// CPosTp154::DoCancelTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp154::DoCancelTestL()
+    {
+    iLog->Log(_L("DoCancelTestL"));
+    iLandmarkParser = CPosLandmarkParser::NewL(KKmzMimeType);
+    iLandmarkParser->SetInputFileL(KKMZFile);
+
+    iOperation = iLandmarkParser->ParseContentL();
+
+    TRequestStatus status = KPosLmOperationNotComplete;
+    TReal32 progress;
+
+    // 1 ) Cancel parse function by deleting iOperation
+    delete iOperation;
+    iOperation = NULL;
+
+    TUint32 nr = iLandmarkParser->NumOfParsedLandmarks();
+    if ((TInt)nr != 0)
+    {
+    	iLog->Log(_L("No landmarks should be found"));
+    	User::Leave(KErrNone);
+    }
+
+    // No landmark should be found
+    TRAPD(err, iLandmarkParser->LandmarkLC());
+    if (err != KErrNotFound)
+        {
+        iLog->Log(_L("ERROR: No Landmark should be found"));
+        iErrorsFound++;
+        }
+
+    // 1 ) Cancel parse function by changing input
+    iOperation = iLandmarkParser->ParseContentL();
+
+    // Get the first landmark
+    iOperation->NextStep(status, progress);
+    // Wait for NextStep to complete
+    User::WaitForRequest(status);
+    nr = iLandmarkParser->NumOfParsedLandmarks();
+    if ((TInt)nr != 1)
+    {
+    	iLog->Log(_L("One landmark should be found"));
+    	User::Leave(KErrNone);
+    }
+
+    // Change input
+    iLandmarkParser->SetInputFileL(KKMZFile);
+
+    nr = iLandmarkParser->NumOfParsedLandmarks();
+    if ((TInt)nr != 0)
+    {
+    	iLog->Log(_L("No landmarks should be found"));
+    	User::Leave(KErrNone);
+    }
+
+    // No landmark should be found
+    TRAP(err, iLandmarkParser->LandmarkLC());
+    if (err != KErrNotFound)
+        {
+        iLog->Log(_L("ERROR: No Landmark should be found"));
+        iErrorsFound++;
+        }
+
+    delete iOperation;
+    iOperation = NULL;
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    iLog->Log(_L("DoCancelTestL Done"));
+    }
+    
+ // ---------------------------------------------------------
+// CPosTp154::PrintParsedDataFromEncoderL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp154::PrintParsedDataFromEncoderL(
+    const TDesC& aFile, 
+    const TDesC8&  aBuffer, 
+    TInt aExpectedStatusCode,
+    const TDesC8& aMimeType)
+    {
+    iLog->Log(_L("===== PrintParsedDataFromEncoderL ======="));
+    
+    iLandmarkParser = CPosLandmarkParser::NewL(aMimeType);
+
+    if (aFile != KNullDesC)
+        {
+        TFileName file( aFile );
+        iLog->Log(_L("FILE (%S)"), &file );
+        TraceL(_L("----->Using FILE<-------"));
+        TraceL(file);
+        iLandmarkParser->SetInputFileL(file);
+        }
+    else
+        {
+        iLog->Log(_L("BUFFER (size %d)"), aBuffer.Size() );
+        TraceL(_L("----->Using BUFFER<-------"));
+        iLandmarkParser->SetInputBuffer(aBuffer);
+        }
+
+    iOperation = iLandmarkParser->ParseContentL();
+    TRequestStatus status = KPosLmOperationNotComplete;
+    TReal32 progress;
+    TInt number = 0;
+
+    RArray<TPosLmItemId> array;
+    CleanupClosePushL(array);
+
+    while (status == KPosLmOperationNotComplete)
+        {
+        iLog->Log(_L("--- Parsing ---------------------------"));
+        TraceL(_L("------------------------------"));
+        iOperation->NextStep(status, progress);
+
+        // Wait for NextStep to complete
+        User::WaitForRequest(status);
+        if (status != KPosLmOperationNotComplete && status != KErrNone)
+            {
+            iLog->Log(_L("Parsing Complete"));
+            
+            HBufC* buffer = HBufC::NewLC( 128);
+            TPtr buf = buffer->Des();
+            buf.Format(_L("\tStatus %d"), status.Int());
+            iLog->Log(buf);
+            TraceL(buf);
+            
+            CleanupStack::PopAndDestroy( buffer );
+            buffer = NULL;              
+            }
+        else
+            {
+            iLog->Log(_L("Parsing element"));
+            if ( iLandmarkParser->NumOfParsedLandmarks() )
+                {
+                // Get last parsed landmark
+                CPosLandmark* lm = iLandmarkParser->LandmarkLC();
+                TPtrC lmName;
+                TPtrC catName;
+                lm->GetLandmarkName(lmName);
+                lm->GetCategoriesL(array);
+                //iLog->Log(lmName);
+                for (TInt i=0;i<array.Count();i++)
+                    {
+                    CPosLandmarkCategory* category = iLandmarkParser->LandmarkCategoryLC( array[i] );
+                    category->GetCategoryName( catName );
+                     
+                    HBufC* buffer = HBufC::NewLC( 128 + catName.Length());
+                    TPtr buf = buffer->Des();
+                                            
+                    if ( category->GlobalCategory()) 
+                        {
+                        buf.Append(_L("\tGlobal category: "));    
+                        }
+                    else 
+                        {
+                        buf.Append(_L("\tLocal category: "));    
+                        }                        
+                    buf.Append(catName);
+                    iLog->Log(buf);
+                    TraceL(buf);
+                    CleanupStack::PopAndDestroy( buffer );
+                    buffer = NULL;
+                    CleanupStack::PopAndDestroy(category);
+                    }
+                    
+               	PrintLandmarkFieldsWithDescriptionL(*lm, ETrue);	
+               
+                
+                number++;
+                CleanupStack::PopAndDestroy(lm);
+                }
+            }
+        }
+
+    iLog->Log(_L("--- Parsing end ---------------------------"));
+    TraceL(_L("------------------------------"));
+    CleanupStack::PopAndDestroy(&array);
+
+    if (status.Int() != aExpectedStatusCode)
+        {
+        HBufC* buffer = HBufC::NewLC( 128 );
+        TPtr buf = buffer->Des();
+                    
+        buf.Format(_L("\tERROR: Wrong status returned, was %d, should be %d"), status.Int(), aExpectedStatusCode);
+        iLog->Log( buf );
+        iErrorsFound++;
+        
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;        
+        }
+
+    TUint32 nr = iLandmarkParser->NumOfParsedLandmarks();
+    HBufC* buffer = HBufC::NewLC( 256 );
+    TPtr buf = buffer->Des();
+    buf.Format(_L("\tNr of Parsed landmarks %d, should be %d"), nr, number);
+    iLog->Log(buf);
+    TraceL(buf);
+
+    CleanupStack::PopAndDestroy( buffer );
+    buffer = NULL;
+    if (nr != (TUint32)number)
+        {
+        iLog->Log(_L("\tERROR: Wrong number of landmarks parsed returned!"));
+        iErrorsFound++;
+        }
+
+    TPosLmCollectionDataId lmId = iLandmarkParser->FirstCollectionDataId();
+
+    iLog->Log(_L("--- CollectionData ---"));
+    TraceL(_L("--- CollectionData ---"));
+
+    if (lmId != EPosLmCollDataNone)
+        {
+        TPtrC first = iLandmarkParser->CollectionData(lmId);
+        HBufC* buffer = HBufC::NewLC( first.Length() + 256 );
+        TPtr buf = buffer->Des();
+        buf.Zero();
+        buf.Format(_L("\t(1)Collection Id: %d CollectionData: "), lmId);
+        buf.Append(first);
+        iLog->Log(buf);
+        TraceL(buf);
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;      
+        }
+    else 
+        {
+        iLog->Log(_L("\tNo collection data found 1"));    
+        }
+
+    while (lmId != EPosLmCollDataNone)
+        {
+        lmId = iLandmarkParser->NextCollectionDataId(lmId);
+        if (lmId != EPosLmCollDataNone)
+        {
+            TPtrC first = iLandmarkParser->CollectionData(lmId);
+            
+            HBufC* buffer = HBufC::NewLC( first.Length() + 256 );
+            TPtr buf = buffer->Des();         
+            buf.Zero();
+            buf.Format(_L("\t(2)Collection Id: %d CollectionData: "), lmId);
+            buf.Append(first);
+            iLog->Log(buf);
+            TraceL(buf);
+            
+            CleanupStack::PopAndDestroy( buffer );
+            buffer = NULL;              
+            }
+        else 
+            {
+            iLog->Log(_L("\tNo collection data found 2"));   
+            }
+        }
+
+    iLog->Log(_L("--- CollectionData ---"));
+    TraceL(_L("--- CollectionData ---"));
+
+    delete iOperation;
+    iOperation = NULL;
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    iLog->Log(_L("====== PrintParsedDataFromEncoderL Done ========\n"));
+    }
+    
+    
+ // ---------------------------------------------------------
+// CPosTp154::PrintLandmarkFieldsWithDescriptionL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp154::PrintLandmarkFieldsWithDescriptionL(const CPosLandmark& aLandmark, TBool aTraceFlag)
+    {
+    iLog->Log(_L("Parsing Description ... \n"));
+    TPositionFieldId sourceFieldId = aLandmark.FirstPositionFieldId();
+    TLocality loc;
+
+    TInt err;
+    TPtrC landmarkName;
+    TPtrC landmarkDescription;
+    err = aLandmark.GetLandmarkName(landmarkName);
+    if (err == KErrNone)
+        {
+        HBufC* buffer = HBufC::NewLC( landmarkName.Length() + 256 );
+        TPtr buf = buffer->Des();
+                    
+        buf.Append( _L(" \tLandmark Name: "));
+        buf.Append( landmarkName );
+        iLog->Log( buf );
+        if( aTraceFlag ) 
+            {
+            TraceL( buf );   
+            }
+            
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;  
+        }
+
+    err = aLandmark.GetPosition(loc);
+    if (err == KErrNone)
+        {
+        HBufC* buffer = HBufC::NewLC( 1024 );
+        TPtr buf = buffer->Des();        
+        TRealFormat format( 12, KRealFormatFixed );
+        format.iPoint = TChar('.');
+        format.iTriLen = KDoNotUseTriads;
+        format.iPlaces = 6;
+        
+        TBuf<20> sLon, sLat, sVacc, sHacc, sAlt, sRad;
+        sLon.Num( loc.Longitude(), format );
+        sLat.Num( loc.Latitude(), format );
+        sAlt.Num( loc.Altitude(), format );
+        sVacc.Num( loc.VerticalAccuracy(), format );
+        sHacc.Num( loc.HorizontalAccuracy(), format );
+        buf.Format(
+            _L("\tLM: Long %S Lat %S vertAcc %S horAcc %S alt %S "), 
+            &sLon, &sLat, &sVacc, &sHacc, &sAlt);
+        
+        TReal32 sourceR;
+        err = aLandmark.GetCoverageRadius(sourceR);
+        if (err == KErrNone )
+            {
+            sRad.Num( sourceR, format );
+            buf.AppendFormat(_L("srcRadius %S"), &sRad);
+            }
+        iLog->Log(buf);
+        if (aTraceFlag) TraceL(buf);
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;  
+        }
+        
+      //Get landmark description  
+      err = aLandmark.GetLandmarkDescription(landmarkDescription);
+      if (err == KErrNone)
+        {
+        HBufC* buffer = HBufC::NewLC( landmarkDescription.Length() + 256 );
+        TPtr buf = buffer->Des();         
+        buf.Format(_L("\tLandmark Description: "));
+        buf.Append(landmarkDescription);
+        iLog->Log(buf);
+        if ( aTraceFlag ) 
+            {
+            TraceL( buf );    
+            }
+        
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;         
+        }  
+    
+
+    while (sourceFieldId != EPositionFieldNone)
+        {
+        TPtrC sourceValue;
+        aLandmark.GetPositionField(sourceFieldId, sourceValue);
+        HBufC* buffer = HBufC::NewLC( sourceValue.Length() + 256 );
+        TPtr buf = buffer->Des();  
+        buf.Format(_L("\tIdField Id: %d Value:"), sourceFieldId);
+        buf.Append(sourceValue);
+        iLog->Log(buf);
+        if ( aTraceFlag ) 
+            {
+            TraceL( buf );
+            }
+        sourceFieldId = aLandmark.NextPositionFieldId(sourceFieldId);
+        
+        CleanupStack::PopAndDestroy( buffer );
+        }
+    }
+    
+    
+// ---------------------------------------------------------
+// CPosTp154::TraceL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp154::TraceL(const TDesC& msg)
+    {
+    _LIT8( KEnd, "\r\n" );
+
+    RFile file;
+    TInt err = file.Open(iFileSession, KFileTrace, EFileWrite);
+    if (err == KErrNotFound)
+        {
+        file.Create(iFileSession, KFileTrace, EFileWrite);
+        }
+
+    HBufC8* line8 = CnvUtfConverter::ConvertFromUnicodeToUtf8L( msg );
+    
+    TInt pos( 0 );
+    file.Seek( ESeekEnd, pos );
+    file.Write( *line8 );
+    file.Write( KEnd );
+    file.Close();
+
+    delete line8;
+    }
+
+//  End of File 
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp155.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,572 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+//  INCLUDES
+#include "FT_CPosTp155.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLandmarkParser.h>
+#include <EPos_CPosLandmarkEncoder.h>
+#include <LbsPosition.h>
+#include <e32math.h>
+#include <bautils.h>
+#include <utf.h>
+#include <xml/xmlparsererrors.h>
+
+// CONSTANTS
+
+_LIT(KFileTrace, "c:\\documents\\LandmarksTP155Trace.txt");
+
+// See \epoc32\include\xml\XmlParserErrors.h for error codes
+
+
+
+
+// See \epoc32\include\xml\XmlParserErrors.h for error codes
+
+
+_LIT(KCorrectFile, "c:\\system\\test\\TestData\\CorrectFileFor_LandmarksTP155Trace.txt");
+
+_LIT(KKMZFile, "c:\\system\\test\\TestData\\Tp155KMZFile.kmz");
+
+
+// Maxmimum size for each line in trace file
+const TInt KBufSize = 5000;
+
+// ================= MEMBER FUNCTIONS =======================
+// ---------------------------------------------------------
+// CPosTp155::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp155::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+
+    delete iEncoderBuffer;
+    iEncoderBuffer = NULL;
+
+    iLandmarks.ResetAndDestroy();
+    iLandmarks.Close();
+
+
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+
+    delete iOperation;
+    iOperation = NULL;
+
+
+    iLog->Log(_L("CloseTest Done"));
+    }
+    
+// ---------------------------------------------------------
+// CPosTp155::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp155::StartL()
+    {
+    BaflUtils::EnsurePathExistsL( iFileSession, KKMZFile );
+
+
+    // Delete the trace file
+    DeleteFileL(KFileTrace);
+
+
+    HBufC8* emptyBuffer=NULL;
+    
+   	iLog->Log(_L("Test with Tp155KMZFile.kmz"));
+	PrintParsedDataFromEncoderL(KKMZFile, *emptyBuffer, KErrNone, KKmzMimeType );
+
+
+    // Now compare tha trace file against the correct one
+    RFile correctFile;
+    RFile file;
+
+    iLog->Log(_L(">>>>>>>Comparing files<<<<<"));
+    
+    TFileName filename;
+    CreateCorrectXmlFileL( KCorrectFile, filename );
+    
+    User::LeaveIfError(correctFile.Open(iFileSession, filename,  EFileRead));
+    CleanupClosePushL(correctFile);
+    User::LeaveIfError(file.Open(iFileSession, KFileTrace,  EFileRead));
+    CleanupClosePushL(file);
+
+    HBufC* correctLinebuffer = HBufC::NewLC( KBufSize );
+            TPtr correctLine = correctLinebuffer->Des();    
+            HBufC* linebuffer = HBufC::NewLC( KBufSize );
+            TPtr line = linebuffer->Des();    
+   	
+    TInt err = KErrNone;
+    TBool done = EFalse;
+    TInt lineNr = 0;
+
+    while (ReadLn(correctFile, correctLine) != KErrEof && !done)
+        {
+        lineNr++;
+        err = ReadLn(file, line);
+        if ( err == KErrEof ) 
+            {
+            done = ETrue;    
+            }
+        correctLine.Trim();
+        line.Trim();
+        if (correctLine.Compare(line) != KErrNone)
+            {
+            HBufC* buf = HBufC::NewLC( 128 );
+            TPtr buffer = buf->Des();
+            
+            buffer.Format(_L("ERROR in TraceFile on line %d: "), lineNr);
+            
+            iLog->Log( buffer );
+            iLog->Log( correctLine );
+            iLog->Log( line );
+            iErrorsFound++;
+            CleanupStack::PopAndDestroy( buf );
+            }
+        }
+		CleanupStack::PopAndDestroy(linebuffer);
+    CleanupStack::PopAndDestroy(correctLinebuffer);
+    CleanupStack::PopAndDestroy(&file);
+    CleanupStack::PopAndDestroy(&correctFile);
+
+    // EOF for trace file was reach before EOF in the correct file
+    if (done)
+        {
+        iLog->Log(_L("ERROR: EOF for Trace file was reached to early"));
+        iErrorsFound++;
+        }
+        
+        
+    DoCancelTestL();
+
+    if (iErrorsFound != KErrNone)
+        {
+    	iLog->Log(_L("Errors found in TP155"));
+    	User::Leave(-1);
+        }
+	}
+
+// ---------------------------------------------------------
+// CPosTp155::DoCancelTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp155::DoCancelTestL()
+    {
+    iLog->Log(_L("DoCancelTestL"));
+    iLandmarkParser = CPosLandmarkParser::NewL(KKmzMimeType);
+    iLandmarkParser->SetInputFileL(KKMZFile);
+
+    iOperation = iLandmarkParser->ParseContentL();
+
+    TRequestStatus status = KPosLmOperationNotComplete;
+    TReal32 progress;
+
+    // 1 ) Cancel parse function by deleting iOperation
+    delete iOperation;
+    iOperation = NULL;
+
+    TUint32 nr = iLandmarkParser->NumOfParsedLandmarks();
+    if ((TInt)nr != 0)
+    {
+    	iLog->Log(_L("No landmarks should be found"));
+    	User::Leave(KErrNone);
+    }
+
+    // No landmark should be found
+    TRAPD(err, iLandmarkParser->LandmarkLC());
+    if (err != KErrNotFound)
+        {
+        iLog->Log(_L("ERROR: No Landmark should be found"));
+        iErrorsFound++;
+        }
+
+    // 1 ) Cancel parse function by changing input
+    iOperation = iLandmarkParser->ParseContentL();
+
+    // Get the first landmark
+    iOperation->NextStep(status, progress);
+    // Wait for NextStep to complete
+    User::WaitForRequest(status);
+    nr = iLandmarkParser->NumOfParsedLandmarks();
+    if ((TInt)nr != 1)
+    {
+    	iLog->Log(_L("One landmark should be found"));
+    	User::Leave(KErrNone);
+    }
+
+    // Change input
+    iLandmarkParser->SetInputFileL(KKMZFile);
+
+    nr = iLandmarkParser->NumOfParsedLandmarks();
+    if ((TInt)nr != 0)
+    {
+    	iLog->Log(_L("No landmarks should be found"));
+    	User::Leave(KErrNone);
+    }
+
+    // No landmark should be found
+    TRAP(err, iLandmarkParser->LandmarkLC());
+    if (err != KErrNotFound)
+        {
+        iLog->Log(_L("ERROR: No Landmark should be found"));
+        iErrorsFound++;
+        }
+
+    delete iOperation;
+    iOperation = NULL;
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    iLog->Log(_L("DoCancelTestL Done"));
+    }
+    
+ // ---------------------------------------------------------
+// CPosTp155::PrintParsedDataFromEncoderL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp155::PrintParsedDataFromEncoderL(
+    const TDesC& aFile, 
+    const TDesC8&  aBuffer, 
+    TInt aExpectedStatusCode,
+    const TDesC8& aMimeType)
+    {
+    iLog->Log(_L("===== PrintParsedDataFromEncoderL ======="));
+    
+    iLandmarkParser = CPosLandmarkParser::NewL(aMimeType);
+
+    if (aFile != KNullDesC)
+        {
+        TFileName file( aFile );
+        iLog->Log(_L("FILE (%S)"), &file );
+        TraceL(_L("----->Using FILE<-------"));
+        TraceL(file);
+        iLandmarkParser->SetInputFileL(file);
+        }
+    else
+        {
+        iLog->Log(_L("BUFFER (size %d)"), aBuffer.Size() );
+        TraceL(_L("----->Using BUFFER<-------"));
+        iLandmarkParser->SetInputBuffer(aBuffer);
+        }
+
+    iOperation = iLandmarkParser->ParseContentL();
+    TRequestStatus status = KPosLmOperationNotComplete;
+    TReal32 progress;
+    TInt number = 0;
+
+    RArray<TPosLmItemId> array;
+    CleanupClosePushL(array);
+
+    while (status == KPosLmOperationNotComplete)
+        {
+        iLog->Log(_L("--- Parsing ---------------------------"));
+        TraceL(_L("------------------------------"));
+        iOperation->NextStep(status, progress);
+
+        // Wait for NextStep to complete
+        User::WaitForRequest(status);
+        if (status != KPosLmOperationNotComplete && status != KErrNone)
+            {
+            iLog->Log(_L("Parsing Complete"));
+            
+            HBufC* buffer = HBufC::NewLC( 128);
+            TPtr buf = buffer->Des();
+            buf.Format(_L("\tStatus %d"), status.Int());
+            iLog->Log(buf);
+            TraceL(buf);
+            CleanupStack::PopAndDestroy( buffer );
+            buffer = NULL;              
+            }
+        else
+            {
+            iLog->Log(_L("Parsing element"));
+            if ( iLandmarkParser->NumOfParsedLandmarks() )
+                {
+                // Get last parsed landmark
+                CPosLandmark* lm = iLandmarkParser->LandmarkLC();
+                TPtrC lmName;
+                TPtrC catName;
+                lm->GetLandmarkName(lmName);
+                lm->GetCategoriesL(array);
+                //iLog->Log(lmName);
+                for (TInt i=0;i<array.Count();i++)
+                    {
+                    CPosLandmarkCategory* category = iLandmarkParser->LandmarkCategoryLC( array[i] );
+                    category->GetCategoryName( catName );
+                     
+                    HBufC* buffer = HBufC::NewLC( 128 + catName.Length());
+                    TPtr buf = buffer->Des();
+                                            
+                    if ( category->GlobalCategory()) 
+                        {
+                        buf.Append(_L("\tGlobal category: "));    
+                        }
+                    else 
+                        {
+                        buf.Append(_L("\tLocal category: "));    
+                        }                        
+                    buf.Append(catName);
+                    iLog->Log(buf);
+                    TraceL(buf);
+                    CleanupStack::PopAndDestroy(category);
+                    }
+                    
+               	PrintLandmarkFieldsWithDescriptionL(*lm, ETrue);	
+               
+                
+                number++;
+                CleanupStack::PopAndDestroy(lm);
+                }
+            }
+        }
+
+    iLog->Log(_L("--- Parsing end ---------------------------"));
+    TraceL(_L("------------------------------"));
+    CleanupStack::PopAndDestroy(&array);
+
+    if (status.Int() != aExpectedStatusCode)
+        {
+        HBufC* buffer = HBufC::NewLC( 128 );
+        TPtr buf = buffer->Des();
+                    
+        buf.Format(_L("\tERROR: Wrong status returned, was %d, should be %d"), status.Int(), aExpectedStatusCode);
+        iLog->Log( buf );
+        iErrorsFound++;
+        
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;        
+        }
+
+    TUint32 nr = iLandmarkParser->NumOfParsedLandmarks();
+    HBufC* buffer = HBufC::NewLC( 256 );
+    TPtr buf = buffer->Des();
+    buf.Format(_L("\tNr of Parsed landmarks %d, should be %d"), nr, number);
+    iLog->Log(buf);
+    TraceL(buf);
+
+    CleanupStack::PopAndDestroy( buffer );
+    buffer = NULL;
+    if (nr != (TUint32)number)
+        {
+        iLog->Log(_L("\tERROR: Wrong number of landmarks parsed returned!"));
+        iErrorsFound++;
+        }
+
+    TPosLmCollectionDataId lmId = iLandmarkParser->FirstCollectionDataId();
+
+    iLog->Log(_L("--- CollectionData ---"));
+    TraceL(_L("--- CollectionData ---"));
+
+    if (lmId != EPosLmCollDataNone)
+        {
+        TPtrC first = iLandmarkParser->CollectionData(lmId);
+        HBufC* buffer = HBufC::NewLC( first.Length() + 256 );
+        TPtr buf = buffer->Des();
+        buf.Zero();
+        buf.Format(_L("\t(1)Collection Id: %d CollectionData: "), lmId);
+        buf.Append(first);
+        iLog->Log(buf);
+        TraceL(buf);
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;      
+        }
+    else 
+        {
+        iLog->Log(_L("\tNo collection data found 1"));    
+        }
+
+    while (lmId != EPosLmCollDataNone)
+        {
+        lmId = iLandmarkParser->NextCollectionDataId(lmId);
+        if (lmId != EPosLmCollDataNone)
+        {
+            TPtrC first = iLandmarkParser->CollectionData(lmId);
+            
+            HBufC* buffer = HBufC::NewLC( first.Length() + 256 );
+            TPtr buf = buffer->Des();         
+            buf.Zero();
+            buf.Format(_L("\t(2)Collection Id: %d CollectionData: "), lmId);
+            buf.Append(first);
+            iLog->Log(buf);
+            TraceL(buf);
+            
+            CleanupStack::PopAndDestroy( buffer );
+            buffer = NULL;              
+            }
+        else 
+            {
+            iLog->Log(_L("\tNo collection data found 2"));   
+            }
+        }
+
+    iLog->Log(_L("--- CollectionData ---"));
+    TraceL(_L("--- CollectionData ---"));
+
+    delete iOperation;
+    iOperation = NULL;
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    iLog->Log(_L("====== PrintParsedDataFromEncoderL Done ========\n"));
+    }
+    
+    
+ // ---------------------------------------------------------
+// CPosTp155::PrintLandmarkFieldsWithDescriptionL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp155::PrintLandmarkFieldsWithDescriptionL(const CPosLandmark& aLandmark, TBool aTraceFlag)
+    {
+    iLog->Log(_L("Parsing Description ... \n"));
+    TPositionFieldId sourceFieldId = aLandmark.FirstPositionFieldId();
+    TLocality loc;
+    
+
+    TInt err;
+    TPtrC landmarkName;
+    TPtrC landmarkDescription;
+    err = aLandmark.GetLandmarkName(landmarkName);
+    if (err == KErrNone)
+        {
+        HBufC* buffer = HBufC::NewLC( landmarkName.Length() + 256 );
+        TPtr buf = buffer->Des();
+        buf.Append(_L("\tLandmark Name: "));
+        buf.Append(landmarkName);
+        iLog->Log(buf);
+        if( aTraceFlag ) 
+            {
+            TraceL( buf );   
+            }
+            
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;  
+        }
+
+    err = aLandmark.GetPosition(loc);
+    if (err == KErrNone)
+        {
+        HBufC* buffer = HBufC::NewLC( 1024 );
+        TPtr buf = buffer->Des();        
+        TRealFormat format( 12, KRealFormatFixed );
+        format.iPoint = TChar('.');
+        format.iTriLen = KDoNotUseTriads;
+        format.iPlaces = 6;
+        
+        TBuf<20> sLon, sLat, sVacc, sHacc, sAlt, sRad;
+        sLon.Num( loc.Longitude(), format );
+        sLat.Num( loc.Latitude(), format );
+        sAlt.Num( loc.Altitude(), format );
+        sVacc.Num( loc.VerticalAccuracy(), format );
+        sHacc.Num( loc.HorizontalAccuracy(), format );
+        buf.Format(
+            _L("\tLM: Long %S Lat %S vertAcc %S horAcc %S alt %S "), 
+            &sLon, &sLat, &sVacc, &sHacc, &sAlt);
+        
+        TReal32 sourceR;
+        err = aLandmark.GetCoverageRadius(sourceR);
+        if (err == KErrNone )
+            {
+            sRad.Num( sourceR, format );
+            buf.AppendFormat(_L("srcRadius %S"), &sRad);
+            }
+        iLog->Log(buf);
+        if (aTraceFlag) TraceL(buf);
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;  
+        }
+        
+      //Get landmark description  
+      err = aLandmark.GetLandmarkDescription(landmarkDescription);
+      if (err == KErrNone)
+        {
+        HBufC* buffer = HBufC::NewLC( landmarkDescription.Length() + 256 );
+        TPtr buf = buffer->Des();         
+        buf.Format(_L("\tLandmark Description: "));
+        buf.Append(landmarkDescription);
+        iLog->Log(buf);
+        if ( aTraceFlag ) 
+            {
+            TraceL( buf );    
+            }
+        
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;         
+        }  
+    
+
+    while (sourceFieldId != EPositionFieldNone)
+        {
+        TPtrC sourceValue;
+        aLandmark.GetPositionField(sourceFieldId, sourceValue);
+        
+        HBufC* buffer = HBufC::NewLC( sourceValue.Length() + 256 );
+        TPtr buf = buffer->Des();  
+        buf.Format(_L("\tIdField Id: %d Value:"), sourceFieldId);
+        buf.Append(sourceValue);
+        iLog->Log(buf);
+        if ( aTraceFlag ) 
+            {
+            TraceL( buf );
+            }
+        sourceFieldId = aLandmark.NextPositionFieldId(sourceFieldId);
+        
+        CleanupStack::PopAndDestroy( buffer );
+        }
+    }
+    
+    
+// ---------------------------------------------------------
+// CPosTp155::TraceL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp155::TraceL(const TDesC& msg)
+    {
+    _LIT8( KEnd, "\r\n" );
+
+    RFile file;
+    TInt err = file.Open(iFileSession, KFileTrace, EFileWrite);
+    if (err == KErrNotFound)
+        {
+        file.Create(iFileSession, KFileTrace, EFileWrite);
+        }
+
+    HBufC8* line8 = CnvUtfConverter::ConvertFromUnicodeToUtf8L( msg );
+    
+    TInt pos( 0 );
+    file.Seek( ESeekEnd, pos );
+    file.Write( *line8 );
+    file.Write( KEnd );
+    file.Close();
+
+    delete line8;
+    }
+
+//  End of File 
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp156.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,580 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+//  INCLUDES
+#include "FT_CPosTp156.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLandmarkParser.h>
+#include <EPos_CPosLandmarkEncoder.h>
+#include <LbsPosition.h>
+#include <e32math.h>
+#include <bautils.h>
+#include <utf.h>
+#include <xml/xmlparsererrors.h>
+
+// CONSTANTS
+
+_LIT(KFileTrace, "c:\\documents\\LandmarksTP156Trace.txt");
+
+// See \epoc32\include\xml\XmlParserErrors.h for error codes
+
+
+
+
+// See \epoc32\include\xml\XmlParserErrors.h for error codes
+
+
+_LIT(KCorrectFile, "c:\\system\\test\\TestData\\CorrectFileFor_LandmarksTP156Trace.txt");
+
+_LIT(KKMZFile, "c:\\system\\test\\TestData\\Tp156KMZFile.kmz");
+
+
+// Maxmimum size for each line in trace file
+const TInt KBufSize = 5000;
+
+// ================= MEMBER FUNCTIONS =======================
+// ---------------------------------------------------------
+// CPosTp156::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp156::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+
+    delete iEncoderBuffer;
+    iEncoderBuffer = NULL;
+
+    iLandmarks.ResetAndDestroy();
+    iLandmarks.Close();
+
+
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+
+    delete iOperation;
+    iOperation = NULL;
+
+
+    iLog->Log(_L("CloseTest Done"));
+    }
+    
+// ---------------------------------------------------------
+// CPosTp156::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp156::StartL()
+    {
+    BaflUtils::EnsurePathExistsL( iFileSession, KKMZFile );
+
+
+    // Delete the trace file
+    DeleteFileL(KFileTrace);
+
+
+    HBufC8* emptyBuffer=NULL;
+    
+   	iLog->Log(_L("Test with Tp156KMZFile.kmz"));
+	PrintParsedDataFromEncoderL(KKMZFile, *emptyBuffer, -993, KKmzMimeType );
+
+
+    // Now compare tha trace file against the correct one
+    RFile correctFile;
+    RFile file;
+
+    iLog->Log(_L(">>>>>>>Comparing files<<<<<"));
+    
+    TFileName filename;
+    CreateCorrectXmlFileL( KCorrectFile, filename );
+    
+    User::LeaveIfError(correctFile.Open(iFileSession, filename,  EFileRead));
+    CleanupClosePushL(correctFile);
+    User::LeaveIfError(file.Open(iFileSession, KFileTrace,  EFileRead));
+    CleanupClosePushL(file);
+
+    HBufC* correctLinebuffer = HBufC::NewLC( KBufSize );
+            TPtr correctLine = correctLinebuffer->Des();    
+            HBufC* linebuffer = HBufC::NewLC( KBufSize );
+            TPtr line = linebuffer->Des();    
+   	
+    TInt err = KErrNone;
+    TBool done = EFalse;
+    TInt lineNr = 0;
+
+    while (ReadLn(correctFile, correctLine) != KErrEof && !done)
+        {
+        lineNr++;
+        err = ReadLn(file, line);
+        if ( err == KErrEof ) 
+            {
+            done = ETrue;    
+            }
+        correctLine.Trim();
+        line.Trim();
+        if (correctLine.Compare(line) != KErrNone)
+            {
+            HBufC* buf = HBufC::NewLC( 128 );
+            TPtr buffer = buf->Des();
+            
+            buffer.Format(_L("ERROR in TraceFile on line %d: "), lineNr);
+            
+            iLog->Log( buffer );
+            iLog->Log( correctLine );
+            iLog->Log( line );
+            iErrorsFound++;
+            CleanupStack::PopAndDestroy( buf );
+            }
+        }
+		CleanupStack::PopAndDestroy(linebuffer);
+    CleanupStack::PopAndDestroy(correctLinebuffer);
+    CleanupStack::PopAndDestroy(&file);
+    CleanupStack::PopAndDestroy(&correctFile);
+
+    // EOF for trace file was reach before EOF in the correct file
+    if (done)
+        {
+        iLog->Log(_L("ERROR: EOF for Trace file was reached to early"));
+        iErrorsFound++;
+        }
+        
+        
+    DoCancelTestL();
+
+    if (iErrorsFound != KErrNone)
+        {
+    	iLog->Log(_L("Errors found in TP156"));
+    	User::Leave(-1);
+        }
+	}
+
+// ---------------------------------------------------------
+// CPosTp156::DoCancelTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp156::DoCancelTestL()
+    {
+    iLog->Log(_L("DoCancelTestL"));
+    iLandmarkParser = CPosLandmarkParser::NewL(KKmzMimeType);
+    iLandmarkParser->SetInputFileL(KKMZFile);
+
+    iOperation = iLandmarkParser->ParseContentL();
+
+    TRequestStatus status = KPosLmOperationNotComplete;
+    TReal32 progress;
+
+    // 1 ) Cancel parse function by deleting iOperation
+    delete iOperation;
+    iOperation = NULL;
+
+    TUint32 nr = iLandmarkParser->NumOfParsedLandmarks();
+    if ((TInt)nr != 0)
+    {
+    	iLog->Log(_L("No landmarks should be found"));
+    	User::Leave(KErrNone);
+    }
+
+    // No landmark should be found
+    TRAPD(err, iLandmarkParser->LandmarkLC());
+    if (err != KErrNotFound)
+        {
+        iLog->Log(_L("ERROR: No Landmark should be found"));
+        iErrorsFound++;
+        }
+
+    // 1 ) Cancel parse function by changing input
+    iOperation = iLandmarkParser->ParseContentL();
+
+    // Get the first landmark
+    iOperation->NextStep(status, progress);
+    // Wait for NextStep to complete
+    User::WaitForRequest(status);
+    if(status == KErrNone)
+	{
+	   	nr = iLandmarkParser->NumOfParsedLandmarks();
+	    if ((TInt)nr != 1)
+	    {
+	    	iLog->Log(_L("One landmark should be found"));
+	    	iErrorsFound++;
+	    }
+    }
+
+    // Change input
+    iLandmarkParser->SetInputFileL(KKMZFile);
+
+    nr = iLandmarkParser->NumOfParsedLandmarks();
+    if ((TInt)nr != 0)
+    {
+    	iLog->Log(_L("No landmarks should be found"));
+    	User::Leave(KErrNone);
+    }
+
+    // No landmark should be found
+    TRAP(err, iLandmarkParser->LandmarkLC());
+    if (err != KErrNotFound)
+        {
+        iLog->Log(_L("ERROR: No Landmark should be found"));
+        iErrorsFound++;
+        }
+
+    delete iOperation;
+    iOperation = NULL;
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    iLog->Log(_L("DoCancelTestL Done"));
+    }
+    
+ // ---------------------------------------------------------
+// CPosTp156::PrintParsedDataFromEncoderL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp156::PrintParsedDataFromEncoderL(
+    const TDesC& aFile, 
+    const TDesC8&  aBuffer, 
+    TInt aExpectedStatusCode,
+    const TDesC8& aMimeType)
+    {
+    iLog->Log(_L("===== PrintParsedDataFromEncoderL ======="));
+    
+    iLandmarkParser = CPosLandmarkParser::NewL(aMimeType);
+
+    if (aFile != KNullDesC)
+        {
+        TFileName file( aFile );
+        iLog->Log(_L("FILE (%S)"), &file );
+        TraceL(_L("----->Using FILE<-------"));
+        TraceL(file);
+        iLandmarkParser->SetInputFileL(file);
+        }
+    else
+        {
+        iLog->Log(_L("BUFFER (size %d)"), aBuffer.Size() );
+        TraceL(_L("----->Using BUFFER<-------"));
+        iLandmarkParser->SetInputBuffer(aBuffer);
+        }
+
+    iOperation = iLandmarkParser->ParseContentL();
+    TRequestStatus status = KPosLmOperationNotComplete;
+    TReal32 progress;
+    TInt number = 0;
+
+    RArray<TPosLmItemId> array;
+    CleanupClosePushL(array);
+
+    while (status == KPosLmOperationNotComplete)
+        {
+        iLog->Log(_L("--- Parsing ---------------------------"));
+        TraceL(_L("------------------------------"));
+        iOperation->NextStep(status, progress);
+
+        // Wait for NextStep to complete
+        User::WaitForRequest(status);
+        if (status != KPosLmOperationNotComplete && status != KErrNone)
+            {
+            iLog->Log(_L("Parsing Complete"));
+            
+            HBufC* buffer = HBufC::NewLC( 128);
+            TPtr buf = buffer->Des();
+                       
+            buf.Format(_L("\tStatus %d"), status.Int());
+            iLog->Log(buf);
+            TraceL(buf);
+            
+            CleanupStack::PopAndDestroy( buffer );
+            buffer = NULL;              
+            }
+        else
+            {
+            iLog->Log(_L("Parsing element"));
+            if ( iLandmarkParser->NumOfParsedLandmarks() )
+                {
+                // Get last parsed landmark
+                CPosLandmark* lm = iLandmarkParser->LandmarkLC();
+                TPtrC lmName;
+                TPtrC catName;
+                lm->GetLandmarkName(lmName);
+                lm->GetCategoriesL(array);
+                //iLog->Log(lmName);
+                for (TInt i=0;i<array.Count();i++)
+                    {
+                    CPosLandmarkCategory* category = iLandmarkParser->LandmarkCategoryLC(array[i]);
+                    category->GetCategoryName( catName );
+                     
+                    HBufC* buffer = HBufC::NewLC( 128 + catName.Length());
+                    TPtr buf = buffer->Des();
+                                            
+                    if ( category->GlobalCategory()) 
+                        {
+                        buf.Append(_L("\tGlobal category: "));    
+                        }
+                    else 
+                        {
+                        buf.Append(_L("\tLocal category: "));    
+                        }                        
+                                        
+                    buf.Append( catName );
+                    iLog->Log( buf );
+                    TraceL( buf );
+
+                    CleanupStack::PopAndDestroy( buffer );
+                    buffer = NULL;
+                    CleanupStack::PopAndDestroy(category);
+                    }
+                    
+               	PrintLandmarkFieldsWithDescriptionL(*lm, ETrue);	
+               
+                
+                number++;
+                CleanupStack::PopAndDestroy(lm);
+                }
+            }
+        }
+
+    iLog->Log(_L("--- Parsing end ---------------------------"));
+    TraceL(_L("------------------------------"));
+    CleanupStack::PopAndDestroy(&array);
+
+    if (status.Int() != aExpectedStatusCode)
+        {
+        HBufC* buffer = HBufC::NewLC( 128 );
+        TPtr buf = buffer->Des();
+                    
+        buf.Format(_L("\tERROR: Wrong status returned, was %d, should be %d"), status.Int(), aExpectedStatusCode);
+        iLog->Log( buf );
+        iErrorsFound++;
+        
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;        
+        }
+
+    TUint32 nr = iLandmarkParser->NumOfParsedLandmarks();
+    HBufC* buffer = HBufC::NewLC( 256 );
+    TPtr buf = buffer->Des();
+    buf.Format(_L("\tNr of Parsed landmarks %d, should be %d"), nr, number);
+    iLog->Log(buf);
+    TraceL(buf);
+
+    CleanupStack::PopAndDestroy( buffer );
+    buffer = NULL;
+    if (nr != (TUint32)number)
+        {
+        iLog->Log(_L("\tERROR: Wrong number of landmarks parsed returned!"));
+        iErrorsFound++;
+        }
+
+    TPosLmCollectionDataId lmId = iLandmarkParser->FirstCollectionDataId();
+
+    iLog->Log(_L("--- CollectionData ---"));
+    TraceL(_L("--- CollectionData ---"));
+
+    if (lmId != EPosLmCollDataNone)
+        {
+        TPtrC first = iLandmarkParser->CollectionData(lmId);
+        HBufC* buffer = HBufC::NewLC( first.Length() + 256 );
+        TPtr buf = buffer->Des();
+        buf.Zero();
+        buf.Format(_L("\t(1)Collection Id: %d CollectionData: "), lmId);
+        buf.Append(first);
+        iLog->Log(buf);
+        TraceL(buf);
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;      
+        }
+    else 
+        {
+        iLog->Log(_L("\tNo collection data found 1"));    
+        }
+
+    while (lmId != EPosLmCollDataNone)
+        {
+        lmId = iLandmarkParser->NextCollectionDataId(lmId);
+        if (lmId != EPosLmCollDataNone)
+        {
+            TPtrC first = iLandmarkParser->CollectionData(lmId);
+            
+            HBufC* buffer = HBufC::NewLC( first.Length() + 256 );
+            TPtr buf = buffer->Des();         
+            buf.Zero();
+            buf.Format(_L("\t(2)Collection Id: %d CollectionData: "), lmId);
+            buf.Append(first);
+            iLog->Log(buf);
+            TraceL(buf);
+            
+            CleanupStack::PopAndDestroy( buffer );
+            buffer = NULL;              
+            }
+        else 
+            {
+            iLog->Log(_L("\tNo collection data found 2"));   
+            }
+        }
+
+    iLog->Log(_L("--- CollectionData ---"));
+    TraceL(_L("--- CollectionData ---"));
+
+    delete iOperation;
+    iOperation = NULL;
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    iLog->Log(_L("====== PrintParsedDataFromEncoderL Done ========\n"));
+    }
+    
+    
+ // ---------------------------------------------------------
+// CPosTp156::PrintLandmarkFieldsWithDescriptionL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp156::PrintLandmarkFieldsWithDescriptionL(const CPosLandmark& aLandmark, TBool aTraceFlag)
+    {
+    iLog->Log(_L("Parsing Description ... \n"));
+    TPositionFieldId sourceFieldId = aLandmark.FirstPositionFieldId();
+    TLocality loc;
+    
+
+    TInt err;
+    TPtrC landmarkName;
+    TPtrC landmarkDescription;
+    err = aLandmark.GetLandmarkName(landmarkName);
+    if (err == KErrNone)
+        {
+        HBufC* buffer = HBufC::NewLC( landmarkName.Length() + 256 );
+        TPtr buf = buffer->Des();
+        buf.Append(_L("\tLandmark Name: "));
+        buf.Append(landmarkName);
+        iLog->Log(buf);
+        if( aTraceFlag ) 
+            {
+            TraceL( buf );   
+            }
+            
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;  
+        }
+
+    err = aLandmark.GetPosition(loc);
+    if (err == KErrNone)
+        {
+        HBufC* buffer = HBufC::NewLC( 1024 );
+        TPtr buf = buffer->Des();        
+        TRealFormat format( 12, KRealFormatFixed );
+        format.iPoint = TChar('.');
+        format.iTriLen = KDoNotUseTriads;
+        format.iPlaces = 6;
+        
+        TBuf<20> sLon, sLat, sVacc, sHacc, sAlt, sRad;
+        sLon.Num( loc.Longitude(), format );
+        sLat.Num( loc.Latitude(), format );
+        sAlt.Num( loc.Altitude(), format );
+        sVacc.Num( loc.VerticalAccuracy(), format );
+        sHacc.Num( loc.HorizontalAccuracy(), format );
+        buf.Format(
+            _L("\tLM: Long %S Lat %S vertAcc %S horAcc %S alt %S "), 
+            &sLon, &sLat, &sVacc, &sHacc, &sAlt);
+        
+        TReal32 sourceR;
+        err = aLandmark.GetCoverageRadius(sourceR);
+        if (err == KErrNone )
+            {
+            sRad.Num( sourceR, format );
+            buf.AppendFormat(_L("srcRadius %S"), &sRad);
+            }
+        iLog->Log(buf);
+        if (aTraceFlag) TraceL(buf);
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;  
+        }
+        
+      //Get landmark description  
+      err = aLandmark.GetLandmarkDescription(landmarkDescription);
+      if (err == KErrNone)
+        {
+        HBufC* buffer = HBufC::NewLC( landmarkDescription.Length() + 256 );
+        TPtr buf = buffer->Des();         
+        buf.Format(_L("\tLandmark Description: "));
+        buf.Append(landmarkDescription);
+        iLog->Log(buf);
+        if ( aTraceFlag ) 
+            {
+            TraceL( buf );    
+            }
+        
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;         
+        }  
+    
+
+    while (sourceFieldId != EPositionFieldNone)
+        {
+        TPtrC sourceValue;
+        aLandmark.GetPositionField(sourceFieldId, sourceValue);
+        HBufC* buffer = HBufC::NewLC( sourceValue.Length() + 256 );
+        TPtr buf = buffer->Des();  
+        buf.Format(_L("\tIdField Id: %d Value:"), sourceFieldId);
+        buf.Append(sourceValue);
+        iLog->Log(buf);
+        if ( aTraceFlag ) 
+            {
+            TraceL( buf );
+            }
+        sourceFieldId = aLandmark.NextPositionFieldId(sourceFieldId);
+        
+        CleanupStack::PopAndDestroy( buffer );
+        }
+    }
+    
+    
+// ---------------------------------------------------------
+// CPosTp156::TraceL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp156::TraceL(const TDesC& msg)
+    {
+    _LIT8( KEnd, "\r\n" );
+
+    RFile file;
+    TInt err = file.Open(iFileSession, KFileTrace, EFileWrite);
+    if (err == KErrNotFound)
+        {
+        file.Create(iFileSession, KFileTrace, EFileWrite);
+        }
+
+    HBufC8* line8 = CnvUtfConverter::ConvertFromUnicodeToUtf8L( msg );
+    
+    TInt pos( 0 );
+    file.Seek( ESeekEnd, pos );
+    file.Write( *line8 );
+    file.Write( KEnd );
+    file.Close();
+
+    delete line8;
+    }
+
+//  End of File 
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp157.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,250 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+//  INCLUDES
+#include "FT_CPosTp157.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLandmarkParser.h>
+#include <EPos_CPosLandmarkEncoder.h>
+#include <LbsPosition.h>
+#include <e32math.h>
+#include <bautils.h>
+#include <utf.h>
+#include <xml/xmlparsererrors.h>
+
+// CONSTANTS
+
+_LIT(KFileTrace, "c:\\documents\\LandmarksTP157Trace.txt");
+
+// See \epoc32\include\xml\XmlParserErrors.h for error codes
+
+
+
+
+// See \epoc32\include\xml\XmlParserErrors.h for error codes
+
+
+_LIT(KCorrectFile, "c:\\system\\test\\TestData\\CorrectFileFor_LandmarksTP157Trace.txt");
+
+_LIT(KKMZFile, "c:\\system\\test\\TestData\\Tp157KMZFile.kmz");
+
+
+// Maxmimum size for each line in trace file
+const TInt KBufSize = 5000;
+
+// ================= MEMBER FUNCTIONS =======================
+// ---------------------------------------------------------
+// CPosTp157::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp157::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+
+    delete iEncoderBuffer;
+    iEncoderBuffer = NULL;
+
+    iLandmarks.ResetAndDestroy();
+    iLandmarks.Close();
+
+
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+
+    delete iOperation;
+    iOperation = NULL;
+
+
+    iLog->Log(_L("CloseTest Done"));
+    }
+    
+// ---------------------------------------------------------
+// CPosTp157::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp157::StartL()
+    {
+    BaflUtils::EnsurePathExistsL( iFileSession, KKMZFile );
+
+
+    // Delete the trace file
+    DeleteFileL(KFileTrace);
+
+
+    HBufC8* emptyBuffer=NULL;
+
+
+   	iLog->Log(_L("Test with Tp157KMZFile.kmz"));
+	PrintParsedDataFromEncoderL(KKMZFile, *emptyBuffer, KErrNone, KKmzMimeType );
+
+   
+    // Now compare tha trace file against the correct one
+    RFile correctFile;
+    RFile file;
+
+    iLog->Log(_L(">>>>>>>Comparing files<<<<<"));
+    
+    TFileName filename;
+    CreateCorrectXmlFileL( KCorrectFile, filename );
+    
+    User::LeaveIfError(correctFile.Open(iFileSession, filename,  EFileRead));
+    CleanupClosePushL(correctFile);
+    User::LeaveIfError(file.Open(iFileSession, KFileTrace,  EFileRead));
+    CleanupClosePushL(file);
+
+    HBufC* correctLinebuffer = HBufC::NewLC( KBufSize );
+            TPtr correctLine = correctLinebuffer->Des();    
+            HBufC* linebuffer = HBufC::NewLC( KBufSize );
+            TPtr line = linebuffer->Des();    
+   	
+    TInt err = KErrNone;
+    TBool done = EFalse;
+    TInt lineNr = 0;
+
+    while (ReadLn(correctFile, correctLine) != KErrEof && !done)
+        {
+        lineNr++;
+        err = ReadLn(file, line);
+        if ( err == KErrEof ) 
+            {
+            done = ETrue;    
+            }
+        correctLine.Trim();
+        line.Trim();
+        if (correctLine.Compare(line) != KErrNone)
+            {
+            HBufC* buf = HBufC::NewLC( 128 );
+            TPtr buffer = buf->Des();
+            
+            buffer.Format(_L("ERROR in TraceFile on line %d: "), lineNr);
+            
+            iLog->Log( buffer );
+            iLog->Log( correctLine );
+            iLog->Log( line );
+            iErrorsFound++;
+            CleanupStack::PopAndDestroy( buf );
+            }
+        }
+		CleanupStack::PopAndDestroy(linebuffer);
+    CleanupStack::PopAndDestroy(correctLinebuffer);
+    CleanupStack::PopAndDestroy(&file);
+    CleanupStack::PopAndDestroy(&correctFile);
+
+    // EOF for trace file was reach before EOF in the correct file
+    if (done)
+        {
+        iLog->Log(_L("ERROR: EOF for Trace file was reached to early"));
+        iErrorsFound++;
+        }
+        
+        
+  
+    if (iErrorsFound != KErrNone)
+        {
+    	iLog->Log(_L("Errors found in TP157"));
+    	User::Leave(-1);
+        }
+      
+	}
+
+
+ // ---------------------------------------------------------
+// CPosTp157::PrintParsedDataFromEncoderL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp157::PrintParsedDataFromEncoderL(
+    const TDesC& aFile, 
+    const TDesC8&  aBuffer, 
+    TInt aExpectedStatusCode,
+    const TDesC8& aMimeType)
+    {
+    iLog->Log(_L("===== PrintParsedDataFromEncoderL ======="));
+    
+    iLandmarkParser = CPosLandmarkParser::NewL(aMimeType);
+
+   
+        TFileName file( aFile );
+        iLog->Log(_L("FILE (%S)"), &file );
+        TraceL(_L("----->Using FILE<-------"));
+        TraceL(file);
+        TRAPD(err,iLandmarkParser->SetInputFileL(file));
+	    if(err != KErrNone)
+        {
+		    TBuf<100> buffe;
+			buffe.Format(_L("\t SetInputFile  leaves with error code : %d"), err);
+			iLog->Log(buffe);
+			      		        
+        }
+	    else
+		{
+		    iErrorsFound++;
+		   	TBuf<100> buffe;
+			buffe.Format(_L("\tERROR: SetInputFile should leave with error code"));
+			iLog->Log(buffe);
+		       		
+		}
+	       
+   
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    
+    iLog->Log(_L("====== PrintParsedDataFromEncoderL Done ========\n")); 
+    }
+    
+    
+ 
+    
+    
+// ---------------------------------------------------------
+// CPosTp157::TraceL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp157::TraceL(const TDesC& msg)
+    {
+    _LIT8( KEnd, "\r\n" );
+
+    RFile file;
+    TInt err = file.Open(iFileSession, KFileTrace, EFileWrite);
+    if (err == KErrNotFound)
+        {
+        file.Create(iFileSession, KFileTrace, EFileWrite);
+        }
+
+    HBufC8* line8 = CnvUtfConverter::ConvertFromUnicodeToUtf8L( msg );
+    
+    TInt pos( 0 );
+    file.Seek( ESeekEnd, pos );
+    file.Write( *line8 );
+    file.Write( KEnd );
+    file.Close();
+
+    delete line8;
+    }
+
+//  End of File 
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp158.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,572 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+//  INCLUDES
+#include "FT_CPosTp158.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLandmarkParser.h>
+#include <EPos_CPosLandmarkEncoder.h>
+#include <LbsPosition.h>
+#include <e32math.h>
+#include <bautils.h>
+#include <utf.h>
+#include <xml/xmlparsererrors.h>
+
+// CONSTANTS
+
+_LIT(KFileTrace, "c:\\documents\\LandmarksTP158Trace.txt");
+
+// See \epoc32\include\xml\XmlParserErrors.h for error codes
+
+
+
+
+// See \epoc32\include\xml\XmlParserErrors.h for error codes
+
+
+_LIT(KCorrectFile, "c:\\system\\test\\TestData\\CorrectFileFor_LandmarksTP158Trace.txt");
+
+_LIT(KKMZFile, "c:\\system\\test\\TestData\\Tp158KMZFile.kmz");
+
+
+// Maxmimum size for each line in trace file
+const TInt KBufSize = 5000;
+
+// ================= MEMBER FUNCTIONS =======================
+// ---------------------------------------------------------
+// CPosTp158::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp158::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+
+    delete iEncoderBuffer;
+    iEncoderBuffer = NULL;
+
+    iLandmarks.ResetAndDestroy();
+    iLandmarks.Close();
+
+
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+
+    delete iOperation;
+    iOperation = NULL;
+
+
+    iLog->Log(_L("CloseTest Done"));
+    }
+    
+// ---------------------------------------------------------
+// CPosTp158::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp158::StartL()
+    {
+    BaflUtils::EnsurePathExistsL( iFileSession, KKMZFile );
+
+
+    // Delete the trace file
+    DeleteFileL(KFileTrace);
+
+
+    HBufC8* emptyBuffer=NULL;
+    
+   	iLog->Log(_L("Test with Tp158KMZFile.kmz"));
+	PrintParsedDataFromEncoderL(KKMZFile, *emptyBuffer, KErrNone, KKmzMimeType );
+
+
+    // Now compare tha trace file against the correct one
+    RFile correctFile;
+    RFile file;
+
+    iLog->Log(_L(">>>>>>>Comparing files<<<<<"));
+    
+    TFileName filename;
+    CreateCorrectXmlFileL( KCorrectFile, filename );
+    
+    User::LeaveIfError(correctFile.Open(iFileSession, filename,  EFileRead));
+    CleanupClosePushL(correctFile);
+    User::LeaveIfError(file.Open(iFileSession, KFileTrace,  EFileRead));
+    CleanupClosePushL(file);
+
+    HBufC* correctLinebuffer = HBufC::NewLC( KBufSize );
+            TPtr correctLine = correctLinebuffer->Des();    
+            HBufC* linebuffer = HBufC::NewLC( KBufSize );
+            TPtr line = linebuffer->Des();    
+   	
+    TInt err = KErrNone;
+    TBool done = EFalse;
+    TInt lineNr = 0;
+
+    while (ReadLn(correctFile, correctLine) != KErrEof && !done)
+        {
+        lineNr++;
+        err = ReadLn(file, line);
+        if ( err == KErrEof ) 
+            {
+            done = ETrue;    
+            }
+        correctLine.Trim();
+        line.Trim();
+        if (correctLine.Compare(line) != KErrNone)
+            {
+            HBufC* buf = HBufC::NewLC( 128 );
+            TPtr buffer = buf->Des();
+            
+            buffer.Format(_L("ERROR in TraceFile on line %d: "), lineNr);
+            
+            iLog->Log( buffer );
+            iLog->Log( correctLine );
+            iLog->Log( line );
+            iErrorsFound++;
+            CleanupStack::PopAndDestroy( buf );
+            }
+        }
+		CleanupStack::PopAndDestroy(linebuffer);
+    CleanupStack::PopAndDestroy(correctLinebuffer);
+    CleanupStack::PopAndDestroy(&file);
+    CleanupStack::PopAndDestroy(&correctFile);
+
+    // EOF for trace file was reach before EOF in the correct file
+    if (done)
+        {
+        iLog->Log(_L("ERROR: EOF for Trace file was reached to early"));
+        iErrorsFound++;
+        }
+        
+        
+    DoCancelTestL();
+
+    if (iErrorsFound != KErrNone)
+        {
+    	iLog->Log(_L("Errors found in TP158"));
+    	User::Leave(-1);
+        }
+	}
+
+// ---------------------------------------------------------
+// CPosTp158::DoCancelTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp158::DoCancelTestL()
+    {
+    iLog->Log(_L("DoCancelTestL"));
+    iLandmarkParser = CPosLandmarkParser::NewL(KKmzMimeType);
+    iLandmarkParser->SetInputFileL(KKMZFile);
+
+    iOperation = iLandmarkParser->ParseContentL();
+
+    TRequestStatus status = KPosLmOperationNotComplete;
+    TReal32 progress;
+
+    // 1 ) Cancel parse function by deleting iOperation
+    delete iOperation;
+    iOperation = NULL;
+
+    TUint32 nr = iLandmarkParser->NumOfParsedLandmarks();
+    if ((TInt)nr != 0)
+    {
+    	iLog->Log(_L("No landmarks should be found"));
+    	User::Leave(KErrNone);
+    }
+
+    // No landmark should be found
+    TRAPD(err, iLandmarkParser->LandmarkLC());
+    if (err != KErrNotFound)
+        {
+        iLog->Log(_L("ERROR: No Landmark should be found"));
+        iErrorsFound++;
+        }
+
+    // 1 ) Cancel parse function by changing input
+    iOperation = iLandmarkParser->ParseContentL();
+
+    // Get the first landmark
+    iOperation->NextStep(status, progress);
+    // Wait for NextStep to complete
+    User::WaitForRequest(status);
+    nr = iLandmarkParser->NumOfParsedLandmarks();
+    if ((TInt)nr != 1)
+    {
+    	iLog->Log(_L("One landmark should be found"));
+    	User::Leave(KErrNone);
+    }
+
+    // Change input
+    iLandmarkParser->SetInputFileL(KKMZFile);
+
+    nr = iLandmarkParser->NumOfParsedLandmarks();
+    if ((TInt)nr != 0)
+    {
+    	iLog->Log(_L("No landmarks should be found"));
+    	User::Leave(KErrNone);
+    }
+
+    // No landmark should be found
+    TRAP(err, iLandmarkParser->LandmarkLC());
+    if (err != KErrNotFound)
+        {
+        iLog->Log(_L("ERROR: No Landmark should be found"));
+        iErrorsFound++;
+        }
+
+    delete iOperation;
+    iOperation = NULL;
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    iLog->Log(_L("DoCancelTestL Done"));
+    }
+    
+ // ---------------------------------------------------------
+// CPosTp158::PrintParsedDataFromEncoderL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp158::PrintParsedDataFromEncoderL(
+    const TDesC& aFile, 
+    const TDesC8&  aBuffer, 
+    TInt aExpectedStatusCode,
+    const TDesC8& aMimeType)
+    {
+    iLog->Log(_L("===== PrintParsedDataFromEncoderL ======="));
+    
+    iLandmarkParser = CPosLandmarkParser::NewL(aMimeType);
+
+    if (aFile != KNullDesC)
+        {
+        TFileName file( aFile );
+        iLog->Log(_L("FILE (%S)"), &file );
+        TraceL(_L("----->Using FILE<-------"));
+        TraceL(file);
+        iLandmarkParser->SetInputFileL(file);
+        }
+    else
+        {
+        iLog->Log(_L("BUFFER (size %d)"), aBuffer.Size() );
+        TraceL(_L("----->Using BUFFER<-------"));
+        iLandmarkParser->SetInputBuffer(aBuffer);
+        }
+
+    iOperation = iLandmarkParser->ParseContentL();
+    TRequestStatus status = KPosLmOperationNotComplete;
+    TReal32 progress;
+    TInt number = 0;
+
+    RArray<TPosLmItemId> array;
+    CleanupClosePushL(array);
+
+    while (status == KPosLmOperationNotComplete)
+        {
+        iLog->Log(_L("--- Parsing ---------------------------"));
+        TraceL(_L("------------------------------"));
+        iOperation->NextStep(status, progress);
+
+        // Wait for NextStep to complete
+        User::WaitForRequest(status);
+        if (status != KPosLmOperationNotComplete && status != KErrNone)
+            {
+            iLog->Log(_L("Parsing Complete"));
+            
+            HBufC* buffer = HBufC::NewLC( 128);
+            TPtr buf = buffer->Des();
+            buf.Format(_L("\tStatus %d"), status.Int());
+            iLog->Log(buf);
+            TraceL(buf);
+            
+            CleanupStack::PopAndDestroy( buffer );
+            buffer = NULL;              
+            }
+        else
+            {
+            iLog->Log(_L("Parsing element"));
+            if ( iLandmarkParser->NumOfParsedLandmarks() )
+                {
+                // Get last parsed landmark
+                CPosLandmark* lm = iLandmarkParser->LandmarkLC();
+                TPtrC lmName;
+                TPtrC catName;
+                lm->GetLandmarkName(lmName);
+                lm->GetCategoriesL(array);
+                //iLog->Log(lmName);
+                for (TInt i=0;i<array.Count();i++)
+                    {
+                    CPosLandmarkCategory* category = iLandmarkParser->LandmarkCategoryLC( array[i] );
+                    category->GetCategoryName( catName );
+                     
+                    HBufC* buffer = HBufC::NewLC( 128 + catName.Length());
+                    TPtr buf = buffer->Des();
+                                            
+                    if ( category->GlobalCategory()) 
+                        {
+                        buf.Append(_L("\tGlobal category: "));    
+                        }
+                    else 
+                        {
+                        buf.Append(_L("\tLocal category: "));    
+                        }                        
+                    buf.Append(catName);
+                    iLog->Log(buf);
+                    TraceL(buf);
+                    CleanupStack::PopAndDestroy(category);
+                    }
+                    
+               	PrintLandmarkFieldsWithDescriptionL(*lm, ETrue);	
+               
+                
+                number++;
+                CleanupStack::PopAndDestroy(lm);
+                }
+            }
+        }
+
+    iLog->Log(_L("--- Parsing end ---------------------------"));
+    TraceL(_L("------------------------------"));
+    CleanupStack::PopAndDestroy(&array);
+
+    if (status.Int() != aExpectedStatusCode)
+        {
+        HBufC* buffer = HBufC::NewLC( 128 );
+        TPtr buf = buffer->Des();
+                    
+        buf.Format(_L("\tERROR: Wrong status returned, was %d, should be %d"), status.Int(), aExpectedStatusCode);
+        iLog->Log( buf );
+        iErrorsFound++;
+        
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;        
+        }
+
+    TUint32 nr = iLandmarkParser->NumOfParsedLandmarks();
+    HBufC* buffer = HBufC::NewLC( 256 );
+    TPtr buf = buffer->Des();
+    buf.Format(_L("\tNr of Parsed landmarks %d, should be %d"), nr, number);
+    iLog->Log(buf);
+    TraceL(buf);
+
+    CleanupStack::PopAndDestroy( buffer );
+    buffer = NULL;
+    if (nr != (TUint32)number)
+        {
+        iLog->Log(_L("\tERROR: Wrong number of landmarks parsed returned!"));
+        iErrorsFound++;
+        }
+
+    TPosLmCollectionDataId lmId = iLandmarkParser->FirstCollectionDataId();
+
+    iLog->Log(_L("--- CollectionData ---"));
+    TraceL(_L("--- CollectionData ---"));
+
+    if (lmId != EPosLmCollDataNone)
+        {
+        TPtrC first = iLandmarkParser->CollectionData(lmId);
+        HBufC* buffer = HBufC::NewLC( first.Length() + 256 );
+        TPtr buf = buffer->Des();
+        buf.Zero();
+        buf.Format(_L("\t(1)Collection Id: %d CollectionData: "), lmId);
+        buf.Append(first);
+        iLog->Log(buf);
+        TraceL(buf);
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;      
+        }
+    else 
+        {
+        iLog->Log(_L("\tNo collection data found 1"));    
+        }
+
+    while (lmId != EPosLmCollDataNone)
+        {
+        lmId = iLandmarkParser->NextCollectionDataId(lmId);
+        if (lmId != EPosLmCollDataNone)
+        {
+            TPtrC first = iLandmarkParser->CollectionData(lmId);
+            HBufC* buffer = HBufC::NewLC( first.Length() + 256 );
+            TPtr buf = buffer->Des();         
+            buf.Zero();
+            buf.Format(_L("\t(2)Collection Id: %d CollectionData: "), lmId);
+            buf.Append(first);
+            iLog->Log(buf);
+            TraceL(buf);
+            
+            CleanupStack::PopAndDestroy( buffer );
+            buffer = NULL;              
+            }
+        else 
+            {
+            iLog->Log(_L("\tNo collection data found 2"));   
+            }
+        }
+
+    iLog->Log(_L("--- CollectionData ---"));
+    TraceL(_L("--- CollectionData ---"));
+
+    delete iOperation;
+    iOperation = NULL;
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    iLog->Log(_L("====== PrintParsedDataFromEncoderL Done ========\n"));
+    }
+    
+    
+ // ---------------------------------------------------------
+// CPosTp158::PrintLandmarkFieldsWithDescriptionL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp158::PrintLandmarkFieldsWithDescriptionL(const CPosLandmark& aLandmark, TBool aTraceFlag)
+    {
+    iLog->Log(_L("Parsing Description ... \n"));
+    TPositionFieldId sourceFieldId = aLandmark.FirstPositionFieldId();
+    TLocality loc;
+    
+
+    TInt err;
+    TPtrC landmarkName;
+    TPtrC landmarkDescription;
+    err = aLandmark.GetLandmarkName(landmarkName);
+    if (err == KErrNone)
+        {
+        HBufC* buffer = HBufC::NewLC( landmarkName.Length() + 256 );
+        TPtr buf = buffer->Des();
+        buf.Append(_L("\tLandmark Name: "));
+        buf.Append(landmarkName);
+        iLog->Log(buf);
+        if( aTraceFlag ) 
+            {
+            TraceL( buf );   
+            }
+            
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;  
+        }
+
+    err = aLandmark.GetPosition(loc);
+    if (err == KErrNone)
+        {
+        HBufC* buffer = HBufC::NewLC( 1024 );
+        TPtr buf = buffer->Des();        
+        TRealFormat format( 12, KRealFormatFixed );
+        format.iPoint = TChar('.');
+        format.iTriLen = KDoNotUseTriads;
+        format.iPlaces = 6;
+        
+        TBuf<20> sLon, sLat, sVacc, sHacc, sAlt, sRad;
+        sLon.Num( loc.Longitude(), format );
+        sLat.Num( loc.Latitude(), format );
+        sAlt.Num( loc.Altitude(), format );
+        sVacc.Num( loc.VerticalAccuracy(), format );
+        sHacc.Num( loc.HorizontalAccuracy(), format );
+        buf.Format(
+            _L("\tLM: Long %S Lat %S vertAcc %S horAcc %S alt %S "), 
+            &sLon, &sLat, &sVacc, &sHacc, &sAlt);
+        
+        TReal32 sourceR;
+        err = aLandmark.GetCoverageRadius(sourceR);
+        if (err == KErrNone )
+            {
+            sRad.Num( sourceR, format );
+            buf.AppendFormat(_L("srcRadius %S"), &sRad);
+            }
+        iLog->Log(buf);
+        if (aTraceFlag) TraceL(buf);
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;  
+        }
+        
+      //Get landmark description  
+      err = aLandmark.GetLandmarkDescription(landmarkDescription);
+      if (err == KErrNone)
+        {
+        HBufC* buffer = HBufC::NewLC( landmarkDescription.Length() + 256 );
+        TPtr buf = buffer->Des();         
+        buf.Format(_L("\tLandmark Description: "));
+        buf.Append(landmarkDescription);
+        iLog->Log(buf);
+        if ( aTraceFlag ) 
+            {
+            TraceL( buf );    
+            }
+        
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;         
+        }  
+    
+
+    while (sourceFieldId != EPositionFieldNone)
+        {
+        TPtrC sourceValue;
+        aLandmark.GetPositionField(sourceFieldId, sourceValue);
+        
+        HBufC* buffer = HBufC::NewLC( sourceValue.Length() + 256 );
+        TPtr buf = buffer->Des();  
+        buf.Format(_L("\tIdField Id: %d Value:"), sourceFieldId);
+        buf.Append(sourceValue);
+        iLog->Log(buf);
+        if ( aTraceFlag ) 
+            {
+            TraceL( buf );
+            }
+        sourceFieldId = aLandmark.NextPositionFieldId(sourceFieldId);
+        
+        CleanupStack::PopAndDestroy( buffer );
+        }
+    }
+    
+    
+// ---------------------------------------------------------
+// CPosTp158::TraceL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp158::TraceL(const TDesC& msg)
+    {
+    _LIT8( KEnd, "\r\n" );
+
+    RFile file;
+    TInt err = file.Open(iFileSession, KFileTrace, EFileWrite);
+    if (err == KErrNotFound)
+        {
+        file.Create(iFileSession, KFileTrace, EFileWrite);
+        }
+
+    HBufC8* line8 = CnvUtfConverter::ConvertFromUnicodeToUtf8L( msg );
+    
+    TInt pos( 0 );
+    file.Seek( ESeekEnd, pos );
+    file.Write( *line8 );
+    file.Write( KEnd );
+    file.Close();
+
+    delete line8;
+    }
+
+//  End of File 
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp159.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,249 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+//  INCLUDES
+#include "FT_CPosTp159.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLandmarkParser.h>
+#include <EPos_CPosLandmarkEncoder.h>
+#include <LbsPosition.h>
+#include <e32math.h>
+#include <bautils.h>
+#include <utf.h>
+#include <xml/xmlparsererrors.h>
+
+// CONSTANTS
+
+_LIT(KFileTrace, "c:\\documents\\LandmarksTP159Trace.txt");
+
+// See \epoc32\include\xml\XmlParserErrors.h for error codes
+
+
+
+
+// See \epoc32\include\xml\XmlParserErrors.h for error codes
+
+
+_LIT(KCorrectFile, "c:\\system\\test\\TestData\\CorrectFileFor_LandmarksTP159Trace.txt");
+
+_LIT(KKMZFile, "c:\\system\\test\\TestData\\Tp159KMZFile.kmz");
+
+
+// Maxmimum size for each line in trace file
+const TInt KBufSize = 5000;
+
+// ================= MEMBER FUNCTIONS =======================
+// ---------------------------------------------------------
+// CPosTp159::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp159::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+
+    delete iEncoderBuffer;
+    iEncoderBuffer = NULL;
+
+    iLandmarks.ResetAndDestroy();
+    iLandmarks.Close();
+
+
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+
+    delete iOperation;
+    iOperation = NULL;
+
+
+    iLog->Log(_L("CloseTest Done"));
+    }
+    
+// ---------------------------------------------------------
+// CPosTp159::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp159::StartL()
+    {
+    BaflUtils::EnsurePathExistsL( iFileSession, KKMZFile );
+
+
+    // Delete the trace file
+    DeleteFileL(KFileTrace);
+
+
+    HBufC8* emptyBuffer=NULL;
+    
+   	iLog->Log(_L("Test with Tp159KMZFile.kmz"));
+	PrintParsedDataFromEncoderL(KKMZFile, *emptyBuffer, KErrPosLmUnknownFormat, KKmzMimeType );
+
+
+    // Now compare tha trace file against the correct one
+    RFile correctFile;
+    RFile file;
+
+    iLog->Log(_L(">>>>>>>Comparing files<<<<<"));
+    
+    TFileName filename;
+    CreateCorrectXmlFileL( KCorrectFile, filename );
+    
+    User::LeaveIfError(correctFile.Open(iFileSession, filename,  EFileRead));
+    CleanupClosePushL(correctFile);
+    User::LeaveIfError(file.Open(iFileSession, KFileTrace,  EFileRead));
+    CleanupClosePushL(file);
+
+    HBufC* correctLinebuffer = HBufC::NewLC( KBufSize );
+            TPtr correctLine = correctLinebuffer->Des();    
+            HBufC* linebuffer = HBufC::NewLC( KBufSize );
+            TPtr line = linebuffer->Des();    
+   	
+    TInt err = KErrNone;
+    TBool done = EFalse;
+    TInt lineNr = 0;
+
+    while (ReadLn(correctFile, correctLine) != KErrEof && !done)
+        {
+        lineNr++;
+        err = ReadLn(file, line);
+        if ( err == KErrEof ) 
+            {
+            done = ETrue;    
+            }
+        correctLine.Trim();
+        line.Trim();
+        if (correctLine.Compare(line) != KErrNone)
+            {
+            HBufC* buf = HBufC::NewLC( 128 );
+            TPtr buffer = buf->Des();
+            
+            buffer.Format(_L("ERROR in TraceFile on line %d: "), lineNr);
+            
+            iLog->Log( buffer );
+            iLog->Log( correctLine );
+            iLog->Log( line );
+            iErrorsFound++;
+            CleanupStack::PopAndDestroy( buf );
+            }
+        }
+		CleanupStack::PopAndDestroy(linebuffer);
+    CleanupStack::PopAndDestroy(correctLinebuffer);
+    CleanupStack::PopAndDestroy(&file);
+    CleanupStack::PopAndDestroy(&correctFile);
+
+    // EOF for trace file was reach before EOF in the correct file
+    if (done)
+        {
+        iLog->Log(_L("ERROR: EOF for Trace file was reached to early"));
+        iErrorsFound++;
+        }
+        
+        
+ 
+
+    if (iErrorsFound != KErrNone)
+        {
+    	iLog->Log(_L("Errors found in TP159"));
+    	User::Leave(-1);
+        }
+	}
+
+
+    
+ // ---------------------------------------------------------
+// CPosTp159::PrintParsedDataFromEncoderL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp159::PrintParsedDataFromEncoderL(
+    const TDesC& aFile, 
+    const TDesC8&  aBuffer, 
+    TInt aExpectedStatusCode,
+    const TDesC8& aMimeType)
+    {
+    iLog->Log(_L("===== PrintParsedDataFromEncoderL ======="));
+    
+    iLandmarkParser = CPosLandmarkParser::NewL(aMimeType);
+
+    
+    TFileName file( aFile );
+    iLog->Log(_L("FILE (%S)"), &file );
+    TraceL(_L("----->Using FILE<-------"));
+    TraceL(file);
+    TRAPD(err,iLandmarkParser->SetInputFileL(file));
+    if(err != KErrPosLmUnknownFormat)
+	   {
+	    	iErrorsFound++;
+	      	TBuf<100> buffe;
+	        buffe.Format(_L("\tERROR: SetInputFile should leave with error code KErrPosLmUnknownFormat (-30352)"));
+	        iLog->Log(buffe);
+	     		        
+	   }
+    else
+	  {
+	       		
+	   		TBuf<100> buffe;
+	        buffe.Format(_L("\tSetInputFile leaves with error code KErrPosLmUnknownFormat"));
+	        iLog->Log(buffe);
+	      		
+	  }
+   
+
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    iLog->Log(_L("====== PrintParsedDataFromEncoderL Done ========\n"));
+    }
+    
+ 
+    
+    
+// ---------------------------------------------------------
+// CPosTp159::TraceL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp159::TraceL(const TDesC& msg)
+    {
+    _LIT8( KEnd, "\r\n" );
+
+    RFile file;
+    TInt err = file.Open(iFileSession, KFileTrace, EFileWrite);
+    if (err == KErrNotFound)
+        {
+        file.Create(iFileSession, KFileTrace, EFileWrite);
+        }
+
+    HBufC8* line8 = CnvUtfConverter::ConvertFromUnicodeToUtf8L( msg );
+    
+    TInt pos( 0 );
+    file.Seek( ESeekEnd, pos );
+    file.Write( *line8 );
+    file.Write( KEnd );
+    file.Close();
+
+    delete line8;
+    }
+
+//  End of File 
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp16.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,327 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp16.h"
+#include <EPos_CPosLandmarkDatabase.h> 
+#include <EPos_CPosLandmarkSearch.h> 
+#include <EPos_CPosLmTextCriteria.h>
+
+#include "FT_LandmarkConstants.h"
+           
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp16::GetName
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp16::GetName(TDes& aName) const
+    {
+    _LIT(KTestName, "TP16 - Initialize corrupt database");
+    aName = KTestName;
+    }
+
+// ---------------------------------------------------------
+// CPosTp16::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp16::CloseTest()
+    {
+    delete iDatabase;
+    iDatabase = NULL;
+
+    iGlobalCategoryIds.Close();
+    iGlobalCategoryNames.Close();
+    RemoveGlobalCategoriesL();
+    }
+
+// ---------------------------------------------------------
+// CPosTp16::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp16::StartL()
+    {
+    _LIT(KAccessErr, "Access method is not returning KErrPosLmNotInitialized when expected");
+    _LIT(KInitializedErr, "Method InitializedNeeded is not returning ETrue when expected");
+   
+    SetupGlobalCategoriesL();
+
+    iDatabase=UseCorruptDbL();
+    delete iDatabase;
+    iDatabase = NULL;
+    
+    iDatabase = UseGlobalCategoriesL();
+    
+    CPosLmItemIterator* iter = NULL; 
+    TRAPD(err, iter = iDatabase->LandmarkIteratorL());
+    delete iter;
+    AssertTrueSecL(err == KErrPosLmNotInitialized, KAccessErr);
+    AssertTrueSecL(iDatabase->IsInitializingNeeded(), KInitializedErr);
+
+    ExecuteAndDeleteLD(iDatabase->InitializeL()); 
+    
+    iter = iDatabase->LandmarkIteratorL();
+    delete iter;
+    iter=NULL;
+
+    // check that global categories are automatically inserter into lm db 
+    // when recovering database
+    CheckGlobalCategoriesL();
+
+    delete iDatabase;
+    iDatabase = NULL;
+
+    iDatabase=UseCorruptDbL();
+    TRAP(err, iter = iDatabase->LandmarkIteratorL());
+    delete iter;
+    AssertTrueSecL(err == KErrPosLmNotInitialized, KAccessErr);
+    AssertTrueSecL(iDatabase->IsInitializingNeeded(), KInitializedErr);
+
+    RunAsyncOperationLD(iDatabase->InitializeL());
+
+    iter = iDatabase->LandmarkIteratorL();
+    delete iter;
+    
+    // check that global categories are automatically inserter into lm db 
+    // when recovering database
+    CheckGlobalCategoriesL();
+
+    delete iDatabase;
+    iDatabase = NULL;
+    
+    iDatabase = UseTextDbL();
+
+    ExecuteAndDeleteLD(iDatabase->InitializeL()); 
+    
+    iter = iDatabase->LandmarkIteratorL();
+    delete iter;
+    iter=NULL;
+
+    // check that global categories are automatically inserter into lm db 
+    // when recovering database
+    CheckGlobalCategoriesL();
+    
+    delete iDatabase;
+    iDatabase = NULL;
+    
+    iDatabase = UseContactDbL();
+    
+    ExecuteAndDeleteLD(iDatabase->InitializeL()); 
+    
+    iter = iDatabase->LandmarkIteratorL();
+    delete iter;
+    iter=NULL;
+
+    // check that global categories are automatically inserter into lm db 
+    // when recovering database
+    CheckGlobalCategoriesL();
+
+    delete iDatabase;
+    iDatabase = NULL;
+	}
+
+
+// ---------------------------------------------------------
+// CPosTp16::CheckGlobalCategoriesL
+// 
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp16::CheckGlobalCategoriesL()
+    {
+    iLog->Put(_L("CheckGlobalCategoriesL"));
+  
+    CPosLmCategoryManager* cm = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(cm);
+
+    iLog->Put(_L("using CategoryIteratorL"));
+    CPosLmItemIterator* catIter = cm->CategoryIteratorL();
+    CleanupStack::PushL(catIter);
+
+    AssertTrueSecL(catIter->NumOfItemsL() == (TUint)iGlobalCategoryIds.Count(), _L("Wrong number of global categories"));
+
+    TPosLmItemId id = catIter->NextL();
+    TInt i=0;
+    while (id != KPosLmNullItemId)
+        {       
+/*
+        // For debugging purposes
+        TBuf<100> buf;
+        buf.Format(_L("Id %d Exp Id %d"),id, iGlobalCategoryIds[i]);
+        iLog->Put(buf);
+        if (id != iGlobalCategoryIds[i]) LogErrorAndLeave(_L("Wrong id"));
+        else iLog->Put(_L("++"));
+*/
+        id = catIter->NextL();
+        i++;
+        }
+    CleanupStack::PopAndDestroy(catIter);
+    CleanupStack::PopAndDestroy(cm);
+
+    }
+
+// ---------------------------------------------------------
+// CPosTp16::UseCorruptDbL
+// 
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+CPosLandmarkDatabase* CPosTp16::UseCorruptDbL()
+    {
+    RemoveDefaultDbL();
+    
+    #ifdef __WINS__
+        _LIT(KCorruptDbFile, "z:\\system\\test\\testdata\\SRVeposdamaged.ldb");
+    #else
+        _LIT(KCorruptDbFile, "c:\\system\\test\\testdata\\SRVeposdamaged.ldb");
+    #endif
+    
+    _LIT(KCorruptDbFileOld, "c:\\system\\data\\SRVeposdamaged.ldb");
+
+    RFs fs;
+    User::LeaveIfError(fs.Connect());
+    CleanupClosePushL(fs);
+    
+    CFileMan* fileMan = CFileMan::NewL(fs);
+    CleanupStack::PushL(fileMan);
+    
+    User::LeaveIfError(fileMan->Copy(KCorruptDbFile, KDefaultDbPath, CFileMan::EOverWrite));
+    User::LeaveIfError(fileMan->Rename(KCorruptDbFileOld, KDefaultDb, CFileMan::EOverWrite));
+    
+    CleanupStack::PopAndDestroy(2, &fs);
+    
+    return CPosLandmarkDatabase::OpenL();
+    }
+
+// ---------------------------------------------------------
+// CPosTp16::UseTextDbL
+// 
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+CPosLandmarkDatabase* CPosTp16::UseTextDbL()
+    {
+    RemoveDefaultDbL();
+    
+    #ifdef __WINS__
+        _LIT(KCorruptDbFile, "z:\\system\\test\\testdata\\SRVepostext.ldb");
+    #else
+        _LIT(KCorruptDbFile, "c:\\system\\test\\testdata\\SRVepostext.ldb");
+    #endif
+    
+    _LIT(KCorruptDbFileOld, "c:\\system\\data\\SRVepostext.ldb");
+
+    RFs fs;
+    User::LeaveIfError(fs.Connect());
+    CleanupClosePushL(fs);
+    
+    CFileMan* fileMan = CFileMan::NewL(fs);
+    CleanupStack::PushL(fileMan);
+    
+    User::LeaveIfError(fileMan->Copy(KCorruptDbFile, KDefaultDbPath, CFileMan::EOverWrite));
+    User::LeaveIfError(fileMan->Rename(KCorruptDbFileOld, KDefaultDb, CFileMan::EOverWrite));
+    
+    CleanupStack::PopAndDestroy(2, &fs);
+    
+    return CPosLandmarkDatabase::OpenL();
+    }
+
+// ---------------------------------------------------------
+// CPosTp16::UseContactDbL
+// 
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+CPosLandmarkDatabase* CPosTp16::UseContactDbL()
+    {
+    RemoveDefaultDbL();
+    
+    #ifdef __WINS__
+        _LIT(KCorruptDbFile, "z:\\system\\test\\testdata\\SRVeposcontact.ldb");
+    #else
+        _LIT(KCorruptDbFile, "c:\\system\\test\\testdata\\SRVeposcontact.ldb");
+    #endif
+    
+    _LIT(KCorruptDbFileOld, "c:\\system\\data\\SRVeposcontact.ldb");
+
+    RFs fs;
+    User::LeaveIfError(fs.Connect());
+    CleanupClosePushL(fs);
+    
+    CFileMan* fileMan = CFileMan::NewL(fs);
+    CleanupStack::PushL(fileMan);
+    
+    User::LeaveIfError(fileMan->Copy(KCorruptDbFile, KDefaultDbPath, CFileMan::EOverWrite));
+    User::LeaveIfError(fileMan->Rename(KCorruptDbFileOld, KDefaultDb, CFileMan::EOverWrite));
+    
+    CleanupStack::PopAndDestroy(2, &fs);
+    
+    return CPosLandmarkDatabase::OpenL();
+    }
+
+// ---------------------------------------------------------
+// CPosTp16::SetupGlobalCategoriesL
+// 
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp16::SetupGlobalCategoriesL()
+    {
+    iGlobalCategoryNames.Reset();
+    iGlobalCategoryIds.Reset();
+
+    iGlobalCategoryNames.Append(_L("Restaurant"));
+    iGlobalCategoryIds.Append(1);
+
+    iGlobalCategoryNames.Append(_L("Bar"));
+    iGlobalCategoryIds.Append(2);
+
+    iGlobalCategoryNames.Append(_L("Gas station"));
+    iGlobalCategoryIds.Append(3);
+
+    iGlobalCategoryNames.Append(_L("Hotel"));
+    iGlobalCategoryIds.Append(4);
+
+    iGlobalCategoryNames.Append(_L("Shop"));
+    iGlobalCategoryIds.Append(5);
+
+    iGlobalCategoryNames.Append(_L("Sight"));
+    iGlobalCategoryIds.Append(6);
+
+    iGlobalCategoryNames.Append(_L("Car park"));
+    iGlobalCategoryIds.Append(7);
+
+    iGlobalCategoryNames.Append(_L("Bus stop"));
+    iGlobalCategoryIds.Append(8);
+
+    iGlobalCategoryNames.Append(_L("Pools"));
+    iGlobalCategoryIds.Append(9);
+
+    iGlobalCategoryNames.Append(_L("Shopping streets"));
+    iGlobalCategoryIds.Append(10);
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp160.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,247 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+//  INCLUDES
+#include "FT_CPosTp160.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLandmarkParser.h>
+#include <EPos_CPosLandmarkEncoder.h>
+#include <LbsPosition.h>
+#include <e32math.h>
+#include <bautils.h>
+#include <utf.h>
+#include <xml/xmlparsererrors.h>
+
+// CONSTANTS
+
+_LIT(KFileTrace, "c:\\documents\\LandmarksTP160Trace.txt");
+
+// See \epoc32\include\xml\XmlParserErrors.h for error codes
+
+
+
+
+// See \epoc32\include\xml\XmlParserErrors.h for error codes
+
+
+_LIT(KCorrectFile, "c:\\system\\test\\TestData\\CorrectFileFor_LandmarksTP160Trace.txt");
+
+_LIT(KKMZFile, "c:\\system\\test\\TestData\\Tp160KMZFile.kmz");
+
+
+// Maxmimum size for each line in trace file
+const TInt KBufSize = 5000;
+
+// ================= MEMBER FUNCTIONS =======================
+// ---------------------------------------------------------
+// CPosTp160::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp160::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+
+    delete iEncoderBuffer;
+    iEncoderBuffer = NULL;
+
+    iLandmarks.ResetAndDestroy();
+    iLandmarks.Close();
+
+
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+
+    delete iOperation;
+    iOperation = NULL;
+
+
+    iLog->Log(_L("CloseTest Done"));
+    }
+    
+// ---------------------------------------------------------
+// CPosTp160::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp160::StartL()
+    {
+    BaflUtils::EnsurePathExistsL( iFileSession, KKMZFile );
+
+
+    // Delete the trace file
+    DeleteFileL(KFileTrace);
+
+
+    HBufC8* emptyBuffer=NULL;
+    
+   	iLog->Log(_L("Test with Tp160KMZFile.kmz"));
+	PrintParsedDataFromEncoderL(KKMZFile, *emptyBuffer, KErrNone, KKmzMimeType );
+
+
+    // Now compare tha trace file against the correct one
+    RFile correctFile;
+    RFile file;
+
+    iLog->Log(_L(">>>>>>>Comparing files<<<<<"));
+    
+    TFileName filename;
+    CreateCorrectXmlFileL( KCorrectFile, filename );
+    
+    User::LeaveIfError(correctFile.Open(iFileSession, filename,  EFileRead));
+    CleanupClosePushL(correctFile);
+    User::LeaveIfError(file.Open(iFileSession, KFileTrace,  EFileRead));
+    CleanupClosePushL(file);
+
+    HBufC* correctLinebuffer = HBufC::NewLC( KBufSize );
+    TPtr correctLine = correctLinebuffer->Des();    
+    HBufC* linebuffer = HBufC::NewLC( KBufSize );
+    TPtr line = linebuffer->Des();    
+   	
+    TInt err = KErrNone;
+    TBool done = EFalse;
+    TInt lineNr = 0;
+
+    while (ReadLn(correctFile, correctLine) != KErrEof && !done)
+        {
+        lineNr++;
+        err = ReadLn(file, line);
+        if ( err == KErrEof ) 
+            {
+            done = ETrue;    
+            }
+        correctLine.Trim();
+        line.Trim();
+        if (correctLine.Compare(line) != KErrNone)
+            {
+            HBufC* buf = HBufC::NewLC( 128 );
+            TPtr buffer = buf->Des();
+            
+            buffer.Format(_L("ERROR in TraceFile on line %d: "), lineNr);
+            
+            iLog->Log( buffer );
+            iLog->Log( correctLine );
+            iLog->Log( line );
+            iErrorsFound++;
+            CleanupStack::PopAndDestroy( buf );
+            }
+        }
+		CleanupStack::PopAndDestroy(linebuffer);
+    CleanupStack::PopAndDestroy(correctLinebuffer);
+    CleanupStack::PopAndDestroy(&file);
+    CleanupStack::PopAndDestroy(&correctFile);
+
+    // EOF for trace file was reach before EOF in the correct file
+    if (done)
+        {
+        iLog->Log(_L("ERROR: EOF for Trace file was reached to early"));
+        iErrorsFound++;
+        }
+        
+        
+   
+
+    if (iErrorsFound != KErrNone)
+        {
+    	iLog->Log(_L("Errors found in TP160"));
+    	User::Leave(-1);
+        }
+	}
+
+
+    
+ // ---------------------------------------------------------
+// CPosTp160::PrintParsedDataFromEncoderL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp160::PrintParsedDataFromEncoderL(
+    const TDesC& aFile, 
+    const TDesC8&  aBuffer, 
+    TInt aExpectedStatusCode,
+    const TDesC8& aMimeType)
+    {
+    iLog->Log(_L("===== PrintParsedDataFromEncoderL ======="));
+    iLandmarkParser = CPosLandmarkParser::NewL(aMimeType);
+
+    
+        TFileName file( aFile );
+        iLog->Log(_L("FILE (%S)"), &file );
+        TraceL(_L("----->Using FILE<-------"));
+        TraceL(file);
+        TRAPD(err,iLandmarkParser->SetInputFileL(file));
+        if(err != KErrNone)
+	        {
+	        	TBuf<100> buffe;
+		        buffe.Format(_L("\t SetInputFile  leaves with error code : %d"), err);
+		        iLog->Log(buffe);
+		      		        
+	        }
+       else
+	       	{
+	       		iErrorsFound++;
+	       		TBuf<100> buffe;
+		        buffe.Format(_L("\tERROR: SetInputFile should leave with error code"));
+		        iLog->Log(buffe);
+	       		
+	       	}
+   
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    iLog->Log(_L("====== PrintParsedDataFromEncoderL Done ========\n"));
+    }
+    
+    
+
+    
+    
+// ---------------------------------------------------------
+// CPosTp160::TraceL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp160::TraceL(const TDesC& msg)
+    {
+    _LIT8( KEnd, "\r\n" );
+
+    RFile file;
+    TInt err = file.Open(iFileSession, KFileTrace, EFileWrite);
+    if (err == KErrNotFound)
+        {
+        file.Create(iFileSession, KFileTrace, EFileWrite);
+        }
+
+    HBufC8* line8 = CnvUtfConverter::ConvertFromUnicodeToUtf8L( msg );
+    
+    TInt pos( 0 );
+    file.Seek( ESeekEnd, pos );
+    file.Write( *line8 );
+    file.Write( KEnd );
+    file.Close();
+
+    delete line8;
+    }
+
+//  End of File 
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp161.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,360 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp161.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLmDatabaseManager.h>
+#include <EPos_CPosLandmarkParser.h>
+           
+// ================= CONSTANTS =======================
+
+  _LIT(KTp161DbFile, "TP161Test.ldb");
+    _LIT(KKMLFile, "c:\\system\\test\\testdata\\Tp161KML.kml");
+
+    
+    _LIT(KEmpty, "");
+
+    _LIT(K1, "Category nr1 added in TP48");
+        
+    _LIT(K2, "Läkare");
+    _LIT(K3, "Sjukhus");
+    _LIT(K4, "Restaurant");
+    _LIT(K5, "Shop");
+    
+    _LIT(K6, "Frisör");
+    
+    _LIT(K7, "Dagis");
+    _LIT(K8, "BurgerKing");
+    _LIT(K9, "Hotel");
+    _LIT(K10, "Car park");
+    
+    _LIT(K11, "Garage");
+    _LIT(K12, "Bus stop");
+    _LIT(K13, "BurgerKing");
+    
+    _LIT(K14, "Category nr2 added in TP48");
+    _LIT(K15_1, "OutSight");
+    const TInt KNrOfLandmarks = 8;
+                                                    
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp161::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp161::CloseTest()
+    {
+    delete iLandmarkParser;
+        iLandmarkParser = NULL;
+        
+        delete iDatabase;
+        iDatabase = NULL;
+    // Release ECOM stuff
+    ReleaseLandmarkResources();
+    
+    delete iOperation;iOperation=NULL;
+    }
+
+// ---------------------------------------------------------
+// CPosTp161::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp161::StartL()
+    {
+    iErrorsFound = 0;
+    
+       
+    // KML
+    TestParseL(KKMLFile, KKmlMimeType);
+   TestImportL(KKMLFile, KKmlMimeType);
+    
+    if (iErrorsFound != KErrNone)
+        {
+        iLog->Log(_L("Errors found in TP161"));
+        User::Leave(-1);
+        }
+	}
+
+// ---------------------------------------------------------
+// CPosTp161::TestParseL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp161::TestParseL(const TDesC& aFile, const TDesC8& aMime)
+    {
+    iLog->Log(_L("----- TestParseL -----"));
+    iLog->Log(_L("FILE: %S"), &aFile);
+    
+    RemoveAllLmDatabasesL();
+    
+        const TDesC* categoryNames[KNrOfLandmarks][4] = {{&KEmpty, &KEmpty, &KEmpty, &KEmpty},
+                                            {&K1, &KEmpty, &KEmpty, &KEmpty},
+                                            {&K2, &K3, &K4, &K5},
+                                            {&KEmpty, &KEmpty, &KEmpty, &KEmpty},
+                                            {&K6, &KEmpty, &KEmpty, &KEmpty},
+                                            {&K7, &K8, &K9, &K10},
+                                            {&K11, &K12, &K13, &KEmpty},
+                                            {&K14, &K15_1, &KEmpty, &KEmpty}};
+
+    CPosLandmarkParser* parser = CPosLandmarkParser::NewL(aMime);
+    CleanupStack::PushL(parser);
+    
+    RFile file; 
+    TInt err = file.Open(iFileSession, aFile, EFileRead);
+    if (err != KErrNone) 
+    {
+    	iLog->Log(_L("Error when opening file"));
+        User::Leave(err);
+    }
+    CleanupClosePushL(file);
+    parser->SetInputFileHandleL(file);
+    iOperation = parser->ParseContentL();
+    TRequestStatus status = KPosLmOperationNotComplete;
+    TReal32 progress=0;
+    
+    CDesCArrayFlat* landmarkNames = new (ELeave) CDesCArrayFlat(KNrOfLandmarks);
+    landmarkNames->AppendL(_L("Billigt"));
+    landmarkNames->AppendL(_L("LOG9"));
+    landmarkNames->AppendL(_L("Kalles Hundgård"));
+    landmarkNames->AppendL(_L("MLFW"));
+    landmarkNames->AppendL(_L("TE, Lund"));
+    landmarkNames->AppendL(_L("asdf"));
+    landmarkNames->AppendL(_L("TP48LandmarkWithAllXMLFields"));
+    landmarkNames->AppendL(_L("TP48Landmark With Empty XML Fields"));
+    
+    TInt counter=0;
+    while (progress != 1)
+        {
+        iOperation->NextStep(status, progress);
+        // Wait for NextStep to complete
+        User::WaitForRequest(status);
+        CPosLandmark* lm = parser->LandmarkLC();
+        TPtrC name;
+        lm->GetLandmarkName(name);
+        TPtrC expName(landmarkNames->MdcaPoint(counter));
+        iLog->Log(_L("Landmark %d, Actual name '%S', Expected '%S'"), counter, &name, &expName);
+        if (expName.CompareC(name) != KErrNone)
+            {
+            iLog->Log(_L("ERROR: Wrong Landmark Name"));
+        	iErrorsFound++;
+            }
+        
+        RArray<TPosLmItemId> arr;
+        CleanupClosePushL(arr);
+        
+        lm->GetCategoriesL(arr);
+        for (TInt i=0;i<arr.Count();i++)
+            {
+            CPosLandmarkCategory* cat = parser->LandmarkCategoryLC(arr[i]);
+            TPtrC catName;
+            cat->GetCategoryName(catName);
+            iLog->Log(_L("Category %d, Actual '%S', Expected '%S'"), i, &catName, categoryNames[counter][i]);
+            if (catName.CompareC(*categoryNames[counter][i]) != KErrNone)
+            	{
+            	iLog->Log(_L("ERROR: Wrong Category Name when comparing"));
+                iErrorsFound++;
+            	}
+            CleanupStack::PopAndDestroy(cat);
+            }
+        
+        CleanupStack::PopAndDestroy(&arr);
+        CleanupStack::PopAndDestroy(lm);
+        counter++;
+        }
+        
+    TUint32 nr = parser->NumOfParsedLandmarks();
+    if (nr != KNrOfLandmarks) 
+    {
+    	iLog->Log(_L("ERROR: Wrong number of landmarks parsed"));
+        iErrorsFound++;
+    }
+    
+    iLog->Log(_L("-------------------\n"));
+    delete iOperation;iOperation=NULL;
+       
+    CleanupStack::PopAndDestroy(&file);
+    
+    landmarkNames->Reset();
+    delete landmarkNames;
+    landmarkNames = NULL;   
+    CleanupStack::PopAndDestroy(parser);    
+    }
+
+
+// ---------------------------------------------------------
+// CPosTp161::TestImport1L
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp161::TestImportL(const TDesC& aFile, const TDesC8& aMime)
+    {
+    iLog->Log(_L("----- TestImport1L ------"));
+    iLog->Log(_L("FILE: %S"), &aFile);
+    RemoveAllLmDatabasesL();
+    CopyTestDbFileL(KTp161DbFile);
+    iLandmarkParser = CPosLandmarkParser::NewL(aMime);
+    iLandmarkParser->SetInputFileL(aFile);
+    
+    TRAPD( err,iDatabase = CPosLandmarkDatabase::OpenL(KTp161DbFile));
+    iLog->Log(_L("Error after CPosLandmarkDatabase::OpenL = %d"),err);
+   
+    if (iDatabase->IsInitializingNeeded())
+        {
+        ExecuteAndDeleteLD(iDatabase->InitializeL());
+        }
+    
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+    // Create two local categories, "Dagis" and "BurgerKing" belongs to landmark "asdf"
+    CPosLandmarkCategory* category1 = CPosLandmarkCategory::NewLC();
+    category1->SetCategoryNameL(_L("Dagis"));
+    TPosLmItemId id1 = categoryManager->AddCategoryL(*category1);
+    CleanupStack::PopAndDestroy(category1);
+    
+    CPosLandmarkCategory* category2 = CPosLandmarkCategory::NewLC();
+    category2->SetCategoryNameL(_L("BurgerKing"));
+    TPosLmItemId id2 = categoryManager->AddCategoryL(*category2);
+    CleanupStack::PopAndDestroy(category2);
+    
+    // Create "Frisör" belongs to landmark "TE, Lund"
+    CPosLandmarkCategory* category3 = CPosLandmarkCategory::NewLC();
+    category3->SetCategoryNameL(_L("Frisör"));
+    TPosLmItemId id3 = categoryManager->AddCategoryL(*category3);
+    CleanupStack::PopAndDestroy(category3);
+    
+    // Remove global category  with global id 1
+    // Belongs to "Kalles Hundgård"
+    TPosLmItemId globalId = categoryManager->GetGlobalCategoryL(3000);
+    ExecuteAndDeleteLD(categoryManager->RemoveCategoryL(globalId));
+    
+    CPosLmItemIterator* catIter = categoryManager->CategoryIteratorL();
+    CleanupStack::PushL(catIter);
+    TInt nrOfcategoriesBefore = catIter->NumOfItemsL();
+    CleanupStack::PopAndDestroy(catIter);   
+    
+    iLog->Log(_L("iDatabase->ImportLandmarksL"));
+
+    ExecuteAndDeleteLD(iDatabase->ImportLandmarksL(*iLandmarkParser, CPosLandmarkDatabase::EIncludeGlobalCategoryNames | CPosLandmarkDatabase::ESupressCategoryCreation| CPosLandmarkDatabase::EIncludeCategories));
+    
+
+    catIter = categoryManager->CategoryIteratorL();
+    CleanupStack::PushL(catIter);
+    TInt nrOfcategoriesAfter = catIter->NumOfItemsL();
+    CleanupStack::PopAndDestroy(catIter);
+    if (nrOfcategoriesAfter != nrOfcategoriesBefore) 
+    {
+        iLog->Log(_L("ERROR: Three categories should have been added"));
+        iErrorsFound++;
+    }
+    
+    // Check that landmark "TE, Lund" has "Frisör" and
+    // landmark "asdf" has "Dagis" and "BurgerKing" (and also already existing global categories 
+    
+    TBuf<100> buf;
+    
+    RArray<TPosLmItemId> categories;
+    CleanupClosePushL(categories);    
+    
+    TPosLmItemId idde1;
+   
+    // Check id=5 Te, Lund
+    idde1 = categoryManager->GetCategoryL(_L("Frisör"));    
+    categories.Append(idde1);
+    CheckLandmarkL(5, categories);
+    categories.Reset();
+    
+    // Check id=6 asdf
+    idde1 = categoryManager->GetCategoryL(_L("Dagis"));
+    
+    categories.Append(idde1);
+    
+    CheckLandmarkL(6, categories);
+    categories.Reset();
+    
+    CleanupStack::PopAndDestroy(&categories);
+    CleanupStack::PopAndDestroy(categoryManager);
+    
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    
+    delete iDatabase;
+    iDatabase = NULL;
+    iLog->Log(_L("-------------------\n"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp161::CheckLandmarkL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp161::CheckLandmarkL(TPosLmItemId aLandmarkId, RArray<TPosLmItemId> aCategoriesList)
+    {
+    iLog->Log(_L("CheckLandmarkL"));
+    
+    // Get landmark
+    CPosLandmark* lm1 = iDatabase->ReadLandmarkLC(aLandmarkId);
+    TPtrC name1;
+    lm1->GetLandmarkName(name1);
+    iLog->Log(name1);
+    
+    RArray<TPosLmItemId> categories;
+    CleanupClosePushL(categories);
+    // Get all categories attached to this landmark
+    lm1->GetCategoriesL(categories);
+   
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+    
+    if ( aCategoriesList.Count() != categories.Count() )
+        {
+        iLog->Log(_L("ERROR: Wrong number of categories, actual %d, expected %d"),
+            categories.Count(), aCategoriesList.Count() );
+        iErrorsFound++;
+        }
+    
+    for (TInt i=0;i<categories.Count();i++)
+        {
+        if (aCategoriesList.Find(categories[i]) != KErrNotFound)
+            {
+            iLog->Log(_L("Found"));
+            }
+        else 
+            {
+            iLog->Log(_L("ERROR: Category '%S' was not found"));
+            iErrorsFound++;
+            }
+        }
+    
+    CleanupStack::PopAndDestroy(categoryManager);
+
+    CleanupStack::PopAndDestroy(&categories);
+    CleanupStack::PopAndDestroy(lm1);
+    }
+    
+	
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp162.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,293 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp162.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLmDatabaseManager.h>
+#include <EPos_CPosLandmarkParser.h>
+
+#include <LbsPosition.h>
+#include <EPos_CPosLandmarkSearch.h>
+#include <EPos_CPosLmTextCriteria.h>
+#include <EPos_CPosLMItemIterator.h>
+
+_LIT(KTp162DbFile, "TP162Test.ldb");
+
+           
+// ================= CONSTANTS =======================
+
+
+	_LIT(KKMLFile, "c:\\system\\test\\testdata\\Tp162KML.kml");
+
+
+#define DEBUG ETrue
+                                                    
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp162::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp162::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+    
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    
+    delete iDatabase;
+    iDatabase = NULL;
+    }
+
+// ---------------------------------------------------------
+// CPosTp162::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp162::StartL()
+    {
+    iErrorsFound = 0;
+    
+      
+     // KML
+    TestImportEmptyDbL( KKMLFile, KKmlMimeType );
+    TestImport1L( KKMLFile, KKmlMimeType );
+
+    if (iErrorsFound != KErrNone)
+        {
+        iLog->Log(_L("Errors found in TP162"));
+        User::Leave(-1);
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp162::TestImportEmptyDbL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp162::TestImportEmptyDbL(const TDesC& aFile, const TDesC8& aMime)
+    {
+    iLog->Log(_L("----- TestImportEmptyDbL -----"));
+    iLog->Log(_L("FILE: %S"), &aFile);
+    RemoveAllLmDatabasesL();
+    CopyTestDbFileL(KTp162DbFile);
+    iLandmarkParser = CPosLandmarkParser::NewL(aMime);
+    iLandmarkParser->SetInputFileL(aFile);
+    
+    iDatabase = CPosLandmarkDatabase::OpenL(KTp162DbFile);
+    if (iDatabase->IsInitializingNeeded())
+        {
+        ExecuteAndDeleteLD(iDatabase->InitializeL());
+        }
+        
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+    
+    CPosLmItemIterator* catIter = categoryManager->CategoryIteratorL();
+    CleanupStack::PushL(catIter);
+    TInt nrOfcategoriesBefore = catIter->NumOfItemsL();
+    CleanupStack::PopAndDestroy(catIter);
+    
+    iLog->Log(_L("iDatabase->ImportLandmarksL"));
+    // No categories should be imported, since ESupressCategoryCreation is used and the landmarks
+    // db is empty when starting
+    ExecuteAndDeleteLD(iDatabase->ImportLandmarksL(*iLandmarkParser, CPosLandmarkDatabase::ESupressCategoryCreation| CPosLandmarkDatabase::EIncludeCategories));
+
+    catIter = categoryManager->CategoryIteratorL();
+    CleanupStack::PushL(catIter);
+    TInt nrOfcategoriesAfter = catIter->NumOfItemsL();
+    CleanupStack::PopAndDestroy(catIter);
+    
+    CleanupStack::PopAndDestroy(categoryManager);
+    
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    
+    delete iDatabase;
+    iDatabase = NULL;
+    
+    if (nrOfcategoriesAfter != nrOfcategoriesBefore)
+    	{
+    	iLog->Log(_L("ERROR: No categories should have been imported"));
+        iErrorsFound++;
+    	}
+    iLog->Log(_L("-------------------\n"));
+    }
+    
+// ---------------------------------------------------------
+// CPosTp162::TestImport1L
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp162::TestImport1L(const TDesC& aFile, const TDesC8& aMime)
+    {
+    iLog->Log(_L("----- TestImport1L ------"));
+    iLog->Log(_L("FILE: %S"), &aFile);
+    RemoveAllLmDatabasesL();
+    CopyTestDbFileL(KTp162DbFile);
+    iLandmarkParser = CPosLandmarkParser::NewL(aMime);
+    iLandmarkParser->SetInputFileL(aFile);
+    
+    iDatabase = CPosLandmarkDatabase::OpenL(KTp162DbFile);
+   
+    if (iDatabase->IsInitializingNeeded())
+        {
+        ExecuteAndDeleteLD(iDatabase->InitializeL());
+        }
+    
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+    // Create two local categories, "Dagis" and "BurgerKing" belongs to landmark "asdf"
+    CPosLandmarkCategory* category1 = CPosLandmarkCategory::NewLC();
+    category1->SetCategoryNameL(_L("Dagis"));
+    TPosLmItemId id1 = categoryManager->AddCategoryL(*category1);
+    CleanupStack::PopAndDestroy(category1);
+    
+    CPosLandmarkCategory* category2 = CPosLandmarkCategory::NewLC();
+    category2->SetCategoryNameL(_L("BurgerKing"));
+    TPosLmItemId id2 = categoryManager->AddCategoryL(*category2);
+    CleanupStack::PopAndDestroy(category2);
+    
+    // Create "Frisör" belongs to landmark "TE, Lund"
+    CPosLandmarkCategory* category3 = CPosLandmarkCategory::NewLC();
+    category3->SetCategoryNameL(_L("Frisör"));
+    TPosLmItemId id3 = categoryManager->AddCategoryL(*category3);
+    CleanupStack::PopAndDestroy(category3);
+    
+    // Remove global category  with global id 1
+    // Belongs to "Kalles Hundgård"
+    TPosLmItemId globalId = categoryManager->GetGlobalCategoryL(3000);
+    ExecuteAndDeleteLD(categoryManager->RemoveCategoryL(globalId));
+    
+    CPosLmItemIterator* catIter = categoryManager->CategoryIteratorL();
+    CleanupStack::PushL(catIter);
+    TInt nrOfcategoriesBefore = catIter->NumOfItemsL();
+    CleanupStack::PopAndDestroy(catIter);   
+    
+    iLog->Log(_L("iDatabase->ImportLandmarksL"));
+
+    ExecuteAndDeleteLD(iDatabase->ImportLandmarksL(*iLandmarkParser, CPosLandmarkDatabase::EIncludeGlobalCategoryNames | CPosLandmarkDatabase::ESupressCategoryCreation| CPosLandmarkDatabase::EIncludeCategories));
+    
+
+    catIter = categoryManager->CategoryIteratorL();
+    CleanupStack::PushL(catIter);
+    TInt nrOfcategoriesAfter = catIter->NumOfItemsL();
+    CleanupStack::PopAndDestroy(catIter);
+    if (nrOfcategoriesAfter != nrOfcategoriesBefore) 
+    {
+    	iLog->Log(_L("ERROR: Three categories should have been added"));
+        iErrorsFound++;
+    }
+    
+    // Check that landmark "TE, Lund" has "Frisör" and
+    // landmark "asdf" has "Dagis" and "BurgerKing" (and also already existing global categories 
+    
+    TBuf<100> buf;
+    
+    RArray<TPosLmItemId> categories;
+    CleanupClosePushL(categories);    
+    
+    TPosLmItemId idde1;
+   
+    // Check id=5 Te, Lund
+    idde1 = categoryManager->GetCategoryL(_L("Frisör"));    
+    categories.Append(idde1);
+    CheckLandmarkL(5, categories);
+    categories.Reset();
+    
+    // Check id=6 asdf
+    idde1 = categoryManager->GetCategoryL(_L("Dagis"));
+    
+    categories.Append(idde1);
+    
+    CheckLandmarkL(6, categories);
+    categories.Reset();
+    
+    CleanupStack::PopAndDestroy(&categories);
+    CleanupStack::PopAndDestroy(categoryManager);
+    
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    
+    delete iDatabase;
+    iDatabase = NULL;
+    iLog->Log(_L("-------------------\n"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp162::CheckLandmarkL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp162::CheckLandmarkL(TPosLmItemId aLandmarkId, RArray<TPosLmItemId> aCategoriesList)
+    {
+    iLog->Log(_L("CheckLandmarkL"));
+    
+    // Get landmark
+    CPosLandmark* lm1 = iDatabase->ReadLandmarkLC(aLandmarkId);
+    TPtrC name1;
+    lm1->GetLandmarkName(name1);
+    iLog->Log(name1);
+    
+    RArray<TPosLmItemId> categories;
+    CleanupClosePushL(categories);
+    // Get all categories attached to this landmark
+    lm1->GetCategoriesL(categories);
+   
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+    
+    if ( aCategoriesList.Count() != categories.Count() )
+        {
+        iLog->Log(_L("ERROR: Wrong number of categories, actual %d, expected %d"),
+            categories.Count(), aCategoriesList.Count() );
+        iErrorsFound++;
+        }
+    
+    for (TInt i=0;i<categories.Count();i++)
+        {
+        if (aCategoriesList.Find(categories[i]) != KErrNotFound)
+            {
+            iLog->Log(_L("Found"));
+            }
+        else 
+            {
+            iLog->Log(_L("ERROR: Category '%S' was not found"));
+            iErrorsFound++;
+            }
+        }
+    
+    CleanupStack::PopAndDestroy(categoryManager);
+
+    CleanupStack::PopAndDestroy(&categories);
+    CleanupStack::PopAndDestroy(lm1);
+    }
+    
+  
+
+	
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp163.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,359 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp163.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLmDatabaseManager.h>
+#include <EPos_CPosLandmarkParser.h>
+           
+// ================= CONSTANTS =======================
+
+  _LIT(KTp163DbFile, "TP163Test.ldb");
+    _LIT(KKMZFile, "c:\\system\\test\\testdata\\Tp163KMZ.kmz");
+
+    
+    _LIT(KEmpty, "");
+
+    _LIT(K1, "Category nr1 added in TP48");
+        
+    _LIT(K2, "Läkare");
+    _LIT(K3, "Sjukhus");
+    _LIT(K4, "Restaurant");
+    _LIT(K5, "Shop");
+    
+    _LIT(K6, "Frisör");
+    
+    _LIT(K7, "Dagis");
+    _LIT(K8, "BurgerKing");
+    _LIT(K9, "Hotel");
+    _LIT(K10, "Car park");
+    
+    _LIT(K11, "Garage");
+    _LIT(K12, "Bus stop");
+    _LIT(K13, "BurgerKing");
+    
+    _LIT(K14, "Category nr2 added in TP48");
+    _LIT(K15_1, "OutSight");
+    const TInt KNrOfLandmarks = 8;
+                                                    
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp163::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp163::CloseTest()
+    {
+    delete iLandmarkParser;
+            iLandmarkParser = NULL;
+            
+            delete iDatabase;
+            iDatabase = NULL;
+    // Release ECOM stuff
+    ReleaseLandmarkResources();
+    
+    delete iOperation;iOperation=NULL;
+    }
+
+// ---------------------------------------------------------
+// CPosTp163::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp163::StartL()
+    {
+    iErrorsFound = 0;
+    
+       
+    // KML
+    TestParseL(KKMZFile, KKmzMimeType);
+   TestImportL(KKMZFile, KKmzMimeType);
+    
+    if (iErrorsFound != KErrNone)
+        {
+        iLog->Log(_L("Errors found in Tp163"));
+        User::Leave(-1);
+        }
+	}
+
+// ---------------------------------------------------------
+// CPosTp163::TestParseL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp163::TestParseL(const TDesC& aFile, const TDesC8& aMime)
+    {
+    iLog->Log(_L("----- TestParseL -----"));
+    iLog->Log(_L("FILE: %S"), &aFile);
+    
+    RemoveAllLmDatabasesL();
+    
+        const TDesC* categoryNames[KNrOfLandmarks][4] = {{&KEmpty, &KEmpty, &KEmpty, &KEmpty},
+                                            {&K1, &KEmpty, &KEmpty, &KEmpty},
+                                            {&K2, &K3, &K4, &K5},
+                                            {&KEmpty, &KEmpty, &KEmpty, &KEmpty},
+                                            {&K6, &KEmpty, &KEmpty, &KEmpty},
+                                            {&K7, &K8, &K9, &K10},
+                                            {&K11, &K12, &K13, &KEmpty},
+                                            {&K14, &K15_1, &KEmpty, &KEmpty}};
+
+    CPosLandmarkParser* parser = CPosLandmarkParser::NewL(aMime);
+    CleanupStack::PushL(parser);
+    
+    RFile file; 
+    TInt err = file.Open(iFileSession, aFile, EFileRead);
+    if (err != KErrNone) 
+    {
+    	iLog->Log(_L("Error when opening file"));
+        User::Leave(err);
+    }
+    CleanupClosePushL(file);
+    parser->SetInputFileHandleL(file);
+    iOperation = parser->ParseContentL();
+    TRequestStatus status = KPosLmOperationNotComplete;
+    TReal32 progress=0;
+    
+    CDesCArrayFlat* landmarkNames = new (ELeave) CDesCArrayFlat(KNrOfLandmarks);
+    landmarkNames->AppendL(_L("Billigt"));
+    landmarkNames->AppendL(_L("LOG9"));
+    landmarkNames->AppendL(_L("Kalles Hundgård"));
+    landmarkNames->AppendL(_L("MLFW"));
+    landmarkNames->AppendL(_L("TE, Lund"));
+    landmarkNames->AppendL(_L("asdf"));
+    landmarkNames->AppendL(_L("TP48LandmarkWithAllXMLFields"));
+    landmarkNames->AppendL(_L("TP48Landmark With Empty XML Fields"));
+    
+    TInt counter=0;
+    while (progress != 1)
+        {
+        iOperation->NextStep(status, progress);
+        // Wait for NextStep to complete
+        User::WaitForRequest(status);
+        CPosLandmark* lm = parser->LandmarkLC();
+        TPtrC name;
+        lm->GetLandmarkName(name);
+        TPtrC expName(landmarkNames->MdcaPoint(counter));
+        iLog->Log(_L("Landmark %d, Actual name '%S', Expected '%S'"), counter, &name, &expName);
+        if (expName.CompareC(name) != KErrNone)
+            {
+            iLog->Log(_L("ERROR: Wrong Landmark Name"));
+        	iErrorsFound++;
+            }
+        
+        RArray<TPosLmItemId> arr;
+        CleanupClosePushL(arr);
+        
+        lm->GetCategoriesL(arr);
+        for (TInt i=0;i<arr.Count();i++)
+            {
+            CPosLandmarkCategory* cat = parser->LandmarkCategoryLC(arr[i]);
+            TPtrC catName;
+            cat->GetCategoryName(catName);
+            iLog->Log(_L("Category %d, Actual '%S', Expected '%S'"), i, &catName, categoryNames[counter][i]);
+            if (catName.CompareC(*categoryNames[counter][i]) != KErrNone)
+            	{
+            	iLog->Log(_L("ERROR: Wrong Category Name when comparing"));
+                iErrorsFound++;
+            	}
+            CleanupStack::PopAndDestroy(cat);
+            }
+        
+        CleanupStack::PopAndDestroy(&arr);
+        CleanupStack::PopAndDestroy(lm);
+        counter++;
+        }
+        
+    TUint32 nr = parser->NumOfParsedLandmarks();
+    if (nr != KNrOfLandmarks) 
+    {
+    	iLog->Log(_L("ERROR: Wrong number of landmarks parsed"));
+        iErrorsFound++;
+    }
+    
+    iLog->Log(_L("-------------------\n"));
+    delete iOperation;iOperation=NULL;
+       
+    CleanupStack::PopAndDestroy(&file);
+    
+    landmarkNames->Reset();
+    delete landmarkNames;
+    landmarkNames = NULL;   
+    CleanupStack::PopAndDestroy(parser);    
+    }
+
+// ---------------------------------------------------------
+// CPosTp163::TestImportL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp163::TestImportL(const TDesC& aFile, const TDesC8& aMime)
+    {
+    iLog->Log(_L("----- TestImport1L ------"));
+    iLog->Log(_L("FILE: %S"), &aFile);
+    RemoveAllLmDatabasesL();
+    CopyTestDbFileL(KTp163DbFile);
+    iLandmarkParser = CPosLandmarkParser::NewL(aMime);
+    iLandmarkParser->SetInputFileL(aFile);
+    
+    TRAPD( err,iDatabase = CPosLandmarkDatabase::OpenL(KTp163DbFile));
+    iLog->Log(_L("Error after CPosLandmarkDatabase::OpenL = %d"),err);
+   
+    if (iDatabase->IsInitializingNeeded())
+        {
+        ExecuteAndDeleteLD(iDatabase->InitializeL());
+        }
+    
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+    // Create two local categories, "Dagis" and "BurgerKing" belongs to landmark "asdf"
+    CPosLandmarkCategory* category1 = CPosLandmarkCategory::NewLC();
+    category1->SetCategoryNameL(_L("Dagis"));
+    TPosLmItemId id1 = categoryManager->AddCategoryL(*category1);
+    CleanupStack::PopAndDestroy(category1);
+    
+    CPosLandmarkCategory* category2 = CPosLandmarkCategory::NewLC();
+    category2->SetCategoryNameL(_L("BurgerKing"));
+    TPosLmItemId id2 = categoryManager->AddCategoryL(*category2);
+    CleanupStack::PopAndDestroy(category2);
+    
+    // Create "Frisör" belongs to landmark "TE, Lund"
+    CPosLandmarkCategory* category3 = CPosLandmarkCategory::NewLC();
+    category3->SetCategoryNameL(_L("Frisör"));
+    TPosLmItemId id3 = categoryManager->AddCategoryL(*category3);
+    CleanupStack::PopAndDestroy(category3);
+    
+    // Remove global category  with global id 1
+    // Belongs to "Kalles Hundgård"
+    TPosLmItemId globalId = categoryManager->GetGlobalCategoryL(3000);
+    ExecuteAndDeleteLD(categoryManager->RemoveCategoryL(globalId));
+    
+    CPosLmItemIterator* catIter = categoryManager->CategoryIteratorL();
+    CleanupStack::PushL(catIter);
+    TInt nrOfcategoriesBefore = catIter->NumOfItemsL();
+    CleanupStack::PopAndDestroy(catIter);   
+    
+    iLog->Log(_L("iDatabase->ImportLandmarksL"));
+
+    ExecuteAndDeleteLD(iDatabase->ImportLandmarksL(*iLandmarkParser, CPosLandmarkDatabase::EIncludeGlobalCategoryNames | CPosLandmarkDatabase::ESupressCategoryCreation| CPosLandmarkDatabase::EIncludeCategories));
+    
+
+    catIter = categoryManager->CategoryIteratorL();
+    CleanupStack::PushL(catIter);
+    TInt nrOfcategoriesAfter = catIter->NumOfItemsL();
+    CleanupStack::PopAndDestroy(catIter);
+    if (nrOfcategoriesAfter != nrOfcategoriesBefore) 
+    {
+        iLog->Log(_L("ERROR: Three categories should have been added"));
+        iErrorsFound++;
+    }
+    
+    // Check that landmark "TE, Lund" has "Frisör" and
+    // landmark "asdf" has "Dagis" and "BurgerKing" (and also already existing global categories 
+    
+    TBuf<100> buf;
+    
+    RArray<TPosLmItemId> categories;
+    CleanupClosePushL(categories);    
+    
+    TPosLmItemId idde1;
+   
+    // Check id=5 Te, Lund
+    idde1 = categoryManager->GetCategoryL(_L("Frisör"));    
+    categories.Append(idde1);
+    CheckLandmarkL(5, categories);
+    categories.Reset();
+    
+    // Check id=6 asdf
+    idde1 = categoryManager->GetCategoryL(_L("Dagis"));
+    
+    categories.Append(idde1);
+    
+    CheckLandmarkL(6, categories);
+    categories.Reset();
+    
+    CleanupStack::PopAndDestroy(&categories);
+    CleanupStack::PopAndDestroy(categoryManager);
+    
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    
+    delete iDatabase;
+    iDatabase = NULL;
+    iLog->Log(_L("-------------------\n"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp163::CheckLandmarkL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp163::CheckLandmarkL(TPosLmItemId aLandmarkId, RArray<TPosLmItemId> aCategoriesList)
+    {
+    iLog->Log(_L("CheckLandmarkL"));
+    
+    // Get landmark
+    CPosLandmark* lm1 = iDatabase->ReadLandmarkLC(aLandmarkId);
+    TPtrC name1;
+    lm1->GetLandmarkName(name1);
+    iLog->Log(name1);
+    
+    RArray<TPosLmItemId> categories;
+    CleanupClosePushL(categories);
+    // Get all categories attached to this landmark
+    lm1->GetCategoriesL(categories);
+   
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+    
+    if ( aCategoriesList.Count() != categories.Count() )
+        {
+        iLog->Log(_L("ERROR: Wrong number of categories, actual %d, expected %d"),
+            categories.Count(), aCategoriesList.Count() );
+        iErrorsFound++;
+        }
+    
+    for (TInt i=0;i<categories.Count();i++)
+        {
+        if (aCategoriesList.Find(categories[i]) != KErrNotFound)
+            {
+            iLog->Log(_L("Found"));
+            }
+        else 
+            {
+            iLog->Log(_L("ERROR: Category '%S' was not found"));
+            iErrorsFound++;
+            }
+        }
+    
+    CleanupStack::PopAndDestroy(categoryManager);
+
+    CleanupStack::PopAndDestroy(&categories);
+    CleanupStack::PopAndDestroy(lm1);
+    }
+    
+	
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp164.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,294 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp164.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLmDatabaseManager.h>
+#include <EPos_CPosLandmarkParser.h>
+
+#include <LbsPosition.h>
+#include <EPos_CPosLandmarkSearch.h>
+#include <EPos_CPosLmTextCriteria.h>
+#include <EPos_CPosLMItemIterator.h>
+           
+_LIT(KTp164DbFile, "TP164Test.ldb");
+
+
+// ================= CONSTANTS =======================
+
+
+	_LIT(KKMZFile, "c:\\system\\test\\testdata\\Tp164KMZ.kmz");
+
+
+#define DEBUG ETrue
+                                                    
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp164::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp164::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+    
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    
+    delete iDatabase;
+    iDatabase = NULL;
+    }
+
+// ---------------------------------------------------------
+// CPosTp164::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp164::StartL()
+    {
+    iErrorsFound = 0;
+    
+      
+     // KML
+    TestImportEmptyDbL( KKMZFile, KKmzMimeType );
+    TestImport1L( KKMZFile, KKmzMimeType );
+
+    if (iErrorsFound != KErrNone)
+        {
+        iLog->Log(_L("Errors found in TP164"));
+        User::Leave(-1);
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp164::TestImportEmptyDbL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp164::TestImportEmptyDbL(const TDesC& aFile, const TDesC8& aMime)
+    {
+    iLog->Log(_L("----- TestImportEmptyDbL -----"));
+    iLog->Log(_L("FILE: %S"), &aFile);
+    RemoveAllLmDatabasesL();
+    CopyTestDbFileL(KTp164DbFile);
+    iLandmarkParser = CPosLandmarkParser::NewL(aMime);
+    iLandmarkParser->SetInputFileL(aFile);
+    
+    iDatabase = CPosLandmarkDatabase::OpenL(KTp164DbFile);
+    if (iDatabase->IsInitializingNeeded())
+        {
+        ExecuteAndDeleteLD(iDatabase->InitializeL());
+        }
+        
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+    
+    CPosLmItemIterator* catIter = categoryManager->CategoryIteratorL();
+    CleanupStack::PushL(catIter);
+    TInt nrOfcategoriesBefore = catIter->NumOfItemsL();
+    CleanupStack::PopAndDestroy(catIter);
+    
+    iLog->Log(_L("iDatabase->ImportLandmarksL"));
+    // No categories should be imported, since ESupressCategoryCreation is used and the landmarks
+    // db is empty when starting
+    ExecuteAndDeleteLD(iDatabase->ImportLandmarksL(*iLandmarkParser, CPosLandmarkDatabase::ESupressCategoryCreation| CPosLandmarkDatabase::EIncludeCategories));
+
+    catIter = categoryManager->CategoryIteratorL();
+    CleanupStack::PushL(catIter);
+    TInt nrOfcategoriesAfter = catIter->NumOfItemsL();
+    CleanupStack::PopAndDestroy(catIter);
+    
+    CleanupStack::PopAndDestroy(categoryManager);
+    
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    
+    delete iDatabase;
+    iDatabase = NULL;
+    
+    if (nrOfcategoriesAfter != nrOfcategoriesBefore)
+    	{
+    	iLog->Log(_L("ERROR: No categories should have been imported"));
+        iErrorsFound++;
+    	}
+    iLog->Log(_L("-------------------\n"));
+    }
+    
+// ---------------------------------------------------------
+// CPosTp164::TestImport1L
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp164::TestImport1L(const TDesC& aFile, const TDesC8& aMime)
+    {
+    iLog->Log(_L("----- TestImport1L ------"));
+    iLog->Log(_L("FILE: %S"), &aFile);
+    RemoveAllLmDatabasesL();
+    CopyTestDbFileL(KTp164DbFile);
+    iLandmarkParser = CPosLandmarkParser::NewL(aMime);
+    iLandmarkParser->SetInputFileL(aFile);
+    
+    TRAPD( err,iDatabase = CPosLandmarkDatabase::OpenL(KTp164DbFile));
+    iLog->Log(_L("Error after CPosLandmarkDatabase::OpenL = %d"),err);
+   
+    if (iDatabase->IsInitializingNeeded())
+        {
+        ExecuteAndDeleteLD(iDatabase->InitializeL());
+        }
+    
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+    // Create two local categories, "Dagis" and "BurgerKing" belongs to landmark "asdf"
+    CPosLandmarkCategory* category1 = CPosLandmarkCategory::NewLC();
+    category1->SetCategoryNameL(_L("Dagis"));
+    TPosLmItemId id1 = categoryManager->AddCategoryL(*category1);
+    CleanupStack::PopAndDestroy(category1);
+    
+    CPosLandmarkCategory* category2 = CPosLandmarkCategory::NewLC();
+    category2->SetCategoryNameL(_L("BurgerKing"));
+    TPosLmItemId id2 = categoryManager->AddCategoryL(*category2);
+    CleanupStack::PopAndDestroy(category2);
+    
+    // Create "Frisör" belongs to landmark "TE, Lund"
+    CPosLandmarkCategory* category3 = CPosLandmarkCategory::NewLC();
+    category3->SetCategoryNameL(_L("Frisör"));
+    TPosLmItemId id3 = categoryManager->AddCategoryL(*category3);
+    CleanupStack::PopAndDestroy(category3);
+    
+    // Remove global category  with global id 1
+    // Belongs to "Kalles Hundgård"
+    TPosLmItemId globalId = categoryManager->GetGlobalCategoryL(3000);
+    ExecuteAndDeleteLD(categoryManager->RemoveCategoryL(globalId));
+    
+    CPosLmItemIterator* catIter = categoryManager->CategoryIteratorL();
+    CleanupStack::PushL(catIter);
+    TInt nrOfcategoriesBefore = catIter->NumOfItemsL();
+    CleanupStack::PopAndDestroy(catIter);   
+    
+    iLog->Log(_L("iDatabase->ImportLandmarksL"));
+
+    ExecuteAndDeleteLD(iDatabase->ImportLandmarksL(*iLandmarkParser, CPosLandmarkDatabase::EIncludeGlobalCategoryNames | CPosLandmarkDatabase::ESupressCategoryCreation| CPosLandmarkDatabase::EIncludeCategories));
+    
+
+    catIter = categoryManager->CategoryIteratorL();
+    CleanupStack::PushL(catIter);
+    TInt nrOfcategoriesAfter = catIter->NumOfItemsL();
+    CleanupStack::PopAndDestroy(catIter);
+    if (nrOfcategoriesAfter != nrOfcategoriesBefore) 
+    {
+    	iLog->Log(_L("ERROR: Three categories should have been added"));
+        iErrorsFound++;
+    }
+    
+    // Check that landmark "TE, Lund" has "Frisör" and
+    // landmark "asdf" has "Dagis" and "BurgerKing" (and also already existing global categories 
+    
+    TBuf<100> buf;
+    
+    RArray<TPosLmItemId> categories;
+    CleanupClosePushL(categories);    
+    
+    TPosLmItemId idde1;
+   
+    // Check id=5 Te, Lund
+    idde1 = categoryManager->GetCategoryL(_L("Frisör"));    
+    categories.Append(idde1);
+    CheckLandmarkL(5, categories);
+    categories.Reset();
+    
+    // Check id=6 asdf
+    idde1 = categoryManager->GetCategoryL(_L("Dagis"));
+    
+    categories.Append(idde1);
+    
+    CheckLandmarkL(6, categories);
+    categories.Reset();
+    
+    CleanupStack::PopAndDestroy(&categories);
+    CleanupStack::PopAndDestroy(categoryManager);
+    
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    
+    delete iDatabase;
+    iDatabase = NULL;
+    iLog->Log(_L("-------------------\n"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp164::CheckLandmarkL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp164::CheckLandmarkL(TPosLmItemId aLandmarkId, RArray<TPosLmItemId> aCategoriesList)
+    {
+    iLog->Log(_L("CheckLandmarkL"));
+    
+    // Get landmark
+    CPosLandmark* lm1 = iDatabase->ReadLandmarkLC(aLandmarkId);
+    TPtrC name1;
+    lm1->GetLandmarkName(name1);
+    iLog->Log(name1);
+    
+    RArray<TPosLmItemId> categories;
+    CleanupClosePushL(categories);
+    // Get all categories attached to this landmark
+    lm1->GetCategoriesL(categories);
+   
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+    
+    if ( aCategoriesList.Count() != categories.Count() )
+        {
+        iLog->Log(_L("ERROR: Wrong number of categories, actual %d, expected %d"),
+            categories.Count(), aCategoriesList.Count() );
+        iErrorsFound++;
+        }
+    
+    for (TInt i=0;i<categories.Count();i++)
+        {
+        if (aCategoriesList.Find(categories[i]) != KErrNotFound)
+            {
+            iLog->Log(_L("Found"));
+            }
+        else 
+            {
+            iLog->Log(_L("ERROR: Category '%S' was not found"));
+            iErrorsFound++;
+            }
+        }
+    
+    CleanupStack::PopAndDestroy(categoryManager);
+
+    CleanupStack::PopAndDestroy(&categories);
+    CleanupStack::PopAndDestroy(lm1);
+    }
+    
+  
+
+	
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp17.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,219 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp17.h"
+#include <f32file.h>
+#include <bautils.h>
+
+// CONSTANTS
+const TInt KMaxDllFileNameLength = 100;
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp17::GetName
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp17::GetName(TDes& aName) const
+    {
+    _LIT(KTestName, "TP17 - Memory footprint");
+    aName = KTestName;
+    }
+
+// ---------------------------------------------------------
+// CPosTp17::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp17::CloseTest()
+    {
+    iFootprints.Close();
+    iDllNames.Close();
+    }
+
+// ---------------------------------------------------------
+// CPosTp17::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp17::StartL()
+    {
+#ifdef __WINS__
+    _LIT(KNotSupported, "Test case is not supported on WINS, exucute it on target!");
+    LogErrorAndLeave(KNotSupported);
+#else
+    _LIT(KErrors, "One or several Dll's have an incorrect size");
+    SetupTestDataL();
+ 
+    RFs session;
+    User::LeaveIfError(session.Connect());
+    CleanupClosePushL(session);
+ 
+    RFile file;
+    TBuf<1> drive= _L("c");
+    TBuf<KMaxDllFileNameLength> name;
+    name.Copy(iDllNames[0]);
+    name.Replace(0,1,drive); 
+ 
+    if (file.Open(session, name, EFileRead) != KErrNone)
+        {
+        iLog->Put(_L("(Flashed) Use Drive Z:"));
+        drive.Copy(_L("z"));
+        }
+	else iLog->Put(_L("(Nonflashed) Use Drive C:"));
+ 
+    file.Close();
+    TBool errors=EFalse;
+    for (TInt i=0; i<iDllNames.Count(); i++)
+        {
+        name.Copy(iDllNames[i]);
+        name.Replace(0,1,drive);
+        //User::LeaveIfError(file.Open(session, name, EFileRead));
+        TInt err = file.Open(session, name, EFileRead);
+        if (err != KErrNone)
+            {
+            TBuf<70> buffe;
+            buffe.Append(_L("Error when opening file "));
+            buffe.Append(name);
+			LogErrorAndLeave(buffe, err);
+            }
+
+        CleanupClosePushL(file);
+        TInt fileSize=0;
+        file.Size(fileSize);
+       
+        if (fileSize > iFootprints[i])
+            {
+            errors = ETrue;
+            
+            _LIT(KDllSizeErr, "ERROR: %S is to big (%d), Max allowed ROM footprint is %d");
+            TBuf<255> info;
+            HBufC* temp = name.Alloc();
+            info.Format(KDllSizeErr, temp, fileSize, iFootprints[i]);
+            delete temp;
+            iLog->Put(info);
+            }
+        else 
+            {
+			// Always log .dll size
+            _LIT(KDllSizeDebug, "%S is (%d), Max allowed ROM footprint is %d");
+            TBuf<255> info;
+            HBufC* temp = name.Alloc();
+            info.Format(KDllSizeDebug, temp, fileSize, iFootprints[i]);
+            delete temp;
+            iLog->Put(info);
+            }
+        
+        CleanupStack::PopAndDestroy(&file);
+        } 
+    CleanupStack::PopAndDestroy(&session);
+
+    if (errors)
+        {
+        LogErrorAndLeave(KErrors);
+        }
+#endif
+    }
+
+// ---------------------------------------------------------
+// CPosTp17::SetupTestDataL()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp17::SetupTestDataL()
+    {  
+    iLog->Put(_L("SetupTestDataL"));
+    
+    _LIT(KLANDMARK,"z:\\sys\\bin\\eposlandmarks.dll");
+    RFs fs;
+    User::LeaveIfError(fs.Connect());
+    CleanupClosePushL(fs);
+    
+    CFileMan* fileMan = CFileMan::NewL(fs);
+    CleanupStack::PushL(fileMan);
+    
+    //check if landmark is flashed
+     if (BaflUtils::FileExists(fs, KLANDMARK))
+        {
+         //Landmark is flashed
+        User::LeaveIfError(iDllNames.Append(_L("z:\\sys\\bin\\eposlandmarks.dll")));        
+        User::LeaveIfError(iDllNames.Append(_L("z:\\sys\\bin\\eposlmsearchlib.dll")));
+        User::LeaveIfError(iDllNames.Append(_L("z:\\sys\\bin\\eposlmmultidbsearch.dll")));
+        User::LeaveIfError(iDllNames.Append(_L("z:\\sys\\bin\\eposlmlocalsearchprovider.dll")));
+        User::LeaveIfError(iDllNames.Append(_L("z:\\sys\\bin\\eposlmlocalaccessprovider.dll"))); 
+        User::LeaveIfError(iDllNames.Append(_L("z:\\sys\\bin\\eposlmlocalaccess.dll")));
+        User::LeaveIfError(iDllNames.Append(_L("z:\\sys\\bin\\eposlmservlib.dll")));
+        User::LeaveIfError(iDllNames.Append(_L("z:\\sys\\bin\\eposlmserver.exe")));
+        User::LeaveIfError(iDllNames.Append(_L("z:\\sys\\bin\\eposlmdbreg.dll")));
+        User::LeaveIfError(iDllNames.Append(_L("z:\\sys\\bin\\eposlmintservices.dll")));
+        User::LeaveIfError(iDllNames.Append(_L("z:\\sys\\bin\\eposlmconverter.dll")));
+        User::LeaveIfError(iDllNames.Append(_L("z:\\sys\\bin\\eposlmrecognizer.dll")));
+        User::LeaveIfError(iDllNames.Append(_L("z:\\sys\\bin\\eposlmdbmanlib.dll")));
+        User::LeaveIfError(iDllNames.Append(_L("z:\\sys\\bin\\eposlmdbmanprov.dll")));
+        User::LeaveIfError(iDllNames.Append(_L("z:\\sys\\bin\\eposlmlocaldbmanprovider.dll")));
+        }
+     else
+        {
+         //Landmark is not flashed
+        User::LeaveIfError(iDllNames.Append(_L("!:\\sys\\bin\\eposlandmarks.dll")));
+        User::LeaveIfError(iDllNames.Append(_L("!:\\sys\\bin\\eposlmsearchlib.dll")));
+        User::LeaveIfError(iDllNames.Append(_L("!:\\sys\\bin\\eposlmmultidbsearch.dll")));
+        User::LeaveIfError(iDllNames.Append(_L("!:\\sys\\bin\\eposlmlocalsearchprovider.dll")));
+        User::LeaveIfError(iDllNames.Append(_L("!:\\sys\\bin\\eposlmlocalaccessprovider.dll"))); 
+        User::LeaveIfError(iDllNames.Append(_L("!:\\sys\\bin\\eposlmlocalaccess.dll")));
+        User::LeaveIfError(iDllNames.Append(_L("!:\\sys\\bin\\eposlmservlib.dll")));
+        User::LeaveIfError(iDllNames.Append(_L("!:\\sys\\bin\\eposlmserver.exe")));
+        User::LeaveIfError(iDllNames.Append(_L("!:\\sys\\bin\\eposlmdbreg.dll")));
+        User::LeaveIfError(iDllNames.Append(_L("!:\\sys\\bin\\eposlmintservices.dll")));
+        User::LeaveIfError(iDllNames.Append(_L("!:\\sys\\bin\\eposlmconverter.dll")));
+        User::LeaveIfError(iDllNames.Append(_L("!:\\sys\\bin\\eposlmrecognizer.dll")));
+        User::LeaveIfError(iDllNames.Append(_L("!:\\sys\\bin\\eposlmdbmanlib.dll")));
+        User::LeaveIfError(iDllNames.Append(_L("!:\\sys\\bin\\eposlmdbmanprov.dll")));
+        User::LeaveIfError(iDllNames.Append(_L("!:\\sys\\bin\\eposlmlocaldbmanprovider.dll")));
+        }
+
+    User::LeaveIfError(iFootprints.Append(9000));  //eposlandmarks.dll (Landmarks Client Library)
+    // Note that eposlmmultidbsearch.dll + eposlmsearchlib.dll must not be bigger than 17000
+    User::LeaveIfError(iFootprints.Append(8500)); //eposlmsearchlib.dll (Landmarks Search Client Library)
+    User::LeaveIfError(iFootprints.Append(8500)); //eposlmmultidbsearch.dll (Landmarks Search Client Library)
+    User::LeaveIfError(iFootprints.Append(19000)); //eposlmlocalsearchprovider.dll (Landmarks Local Search Provider)
+    // Note that eposlmlocalaccessprovider.dll + eposlmlocalaccess.dll must not be bigger than 23000
+    User::LeaveIfError(iFootprints.Append(400));   //eposlmlocalaccessprovider.dll (Landmarks Local Access Provider)
+    User::LeaveIfError(iFootprints.Append(23000)); //eposlmlocalaccess.dll (Landmarks Local Access)
+    User::LeaveIfError(iFootprints.Append(2000));  //eposlmservlib.dll (Landmarks Server Client Library)
+    User::LeaveIfError(iFootprints.Append(26000)); //eposlmserver.exe (Landmarks Server)
+    User::LeaveIfError(iFootprints.Append(6000));  //eposlmdbreg.dll (Landmarks Database Registry)
+    User::LeaveIfError(iFootprints.Append(23000)); //eposlmintservices.dll (Landmarks Internal Services)
+    User::LeaveIfError(iFootprints.Append(22000)); //eposlmconverter,dll (Landmarks Content Format Converter)
+    User::LeaveIfError(iFootprints.Append(2000));  //eposlmrecognizer.mdl (Landmarks Content Format Recognizer)
+    User::LeaveIfError(iFootprints.Append(3000));  //eposlmdbmanlib.dll (Landmarks DB Management Client)
+    User::LeaveIfError(iFootprints.Append(6000));  //eposlmdbmanprov.dll (Landmarks Database Management Provider)
+    User::LeaveIfError(iFootprints.Append(5000));  //eposlmlocaldbmanprovider.dll (Landmarks Local Database Management Provider)
+
+    CleanupStack::PopAndDestroy(2, &fs);
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp18.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,855 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp18.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLMPartialReadParameters.h>  
+#include <EPos_CPosLMOperation.h> 
+#include <LbsPosition.h>
+
+
+// CONSTANTS
+const TInt KNoPreparePartial = 40;
+_LIT(KTakePreparedPartialErr, "Method TakePreparedPartialLandmarksL doesn't leave with KErrNotFound");
+_LIT(KNoPreparedPartialErr, "Method TakePreparedPartialLandmarksL returns incorrect no. landmarks");
+_LIT(KNoPreparedPartialErr2, "Method TakePreparedPartialLandmarksL returns incorrect landmarks");
+
+_LIT(KTp18DbFile, "TP18Test.ldb");
+_LIT(KTp18DbFile1, "TP18Test1.ldb");
+
+// ================= MEMBER FUNCTIONS =======================
+
+
+// ---------------------------------------------------------
+// CPosTp10::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp18::CloseTest()
+    {
+    if (iArrayPtr)
+        {
+        iArrayPtr->ResetAndDestroy();
+        }
+    delete iArrayPtr;
+    iArrayPtr = NULL;
+    
+    delete iDatabase;
+    iDatabase = NULL;
+    
+    delete iOperation;
+    iOperation = NULL;
+    }
+
+// ---------------------------------------------------------
+// CPosTp18::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp18::StartL()
+    {
+    _LIT(KNotPartialErr, "Landmark is not a partial landmark");
+    CopyTestDbFileL(KTp18DbFile);
+    iDatabase = CPosLandmarkDatabase::OpenL(KTp18DbFile);
+    
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+    
+    // Test some non-existing landmark ids
+    TPosLmItemId id = KPosLmNullItemId;
+    TRAPD(err, iDatabase->ReadPartialLandmarkLC(id));
+    if (err != KErrNotFound)
+    {
+    	iLog->Log(_L("ReadPartialLandmarkLC should leave with KErrnotFound"));
+    	User::Leave(err);
+    }
+    id = 2000;
+    TRAP(err, iDatabase->ReadPartialLandmarkLC(id));
+    if (err != KErrNotFound) 
+    {
+    	iLog->Log(_L("ReadPartialLandmarkLC should leave with KErrnotFouns"));
+    	User::Leave(err);
+    }
+
+    TestAllPartialAttributesL();
+    
+    TestPartialPositionFieldsL();
+
+    PreparePartialLandmarksL();
+
+    PreparePartialLandmarksAsyncL(EAsynchronous);
+
+    PreparePartialLandmarksAsyncL(EWaitForRequest);
+
+    iLog->Log(_L("TESTS BELOW ARE TESTING CANCEL"));
+    PreparePartialLandmarksAsyncAndCancelL();
+    
+    iLog->Log(_L("TEST BELOW IS TESTING CANCEL IN CALLBACK"));
+    PreparePartialLandmarksAsyncAndCancelL(ETrue);
+
+    TUint attr=CPosLandmark::ELandmarkName;
+    CPosLmPartialReadParameters* partialParam = iDatabase->PartialReadParametersLC();
+    partialParam->SetRequestedAttributes(attr);    
+    CPosLandmark* lm = GetPartialLandmarkLC(1, *partialParam);
+    CheckPartialLandmarkL(*lm, attr);
+    
+    CPosLandmark* copy = CPosLandmark::NewLC(*lm);
+    
+    iDatabase->AddLandmarkL(*copy);
+    
+    CPosLandmark* lm2 = iDatabase->ReadLandmarkLC(copy->LandmarkId());
+  
+    AssertTrueSecL(!lm2->IsPartial(), KNotPartialErr);
+    CleanupStack::PopAndDestroy(4,partialParam);
+	}
+
+// ---------------------------------------------------------
+// CPosTp18::TestAllPartialAttributes
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp18::TestAllPartialAttributesL()
+    {
+     iLog->Log(_L("TestAllPartialAttributesL"));
+     iLog->Log(_L("Testing GetPartialLandmarks with all combination of attributes requested"));
+    _LIT(KNoAttrReqErr, "No attributes have been requested -> RequestedAttributes should return ENoAttribute");
+    
+    CPosLmPartialReadParameters* partialParam = iDatabase->PartialReadParametersLC();
+    
+    AssertTrueSecL(partialParam->RequestedAttributes() == CPosLandmark::ENoAttribute, KNoAttrReqErr);
+    
+    iDatabase->SetPartialReadParametersL(*partialParam);
+    
+    TPosLmItemId  id=1; // landmarks Id with all attr set
+
+    TUint max = CPosLandmark::EDescription;
+    max <<= 1;
+    max -= 1;
+    CPosLandmark* lm = NULL;
+    
+    TUint attr=0;
+    for (attr=0; attr<=max; attr++)
+        {
+        partialParam->SetRequestedAttributes(attr);    
+        lm = GetPartialLandmarkLC(id, *partialParam);
+        CheckPartialLandmarkL(*lm, attr);
+        CleanupStack::PopAndDestroy(lm);         
+        }
+   
+    id = 2; // attr coverage radius not availible  
+    attr = 0x003F; // req all
+    partialParam->SetRequestedAttributes(attr);    
+    lm = GetPartialLandmarkLC(id, *partialParam);
+    attr = attr & 0x00FB; // remove coverage radius
+    CheckPartialLandmarkL(*lm, attr);
+    CleanupStack::PopAndDestroy(lm);         
+
+    id = 3; // Description not available
+    attr = 0x003F; // req all
+    partialParam->SetRequestedAttributes(attr);    
+    lm = GetPartialLandmarkLC(id, *partialParam);
+    
+   
+    // After error report "ESLI-5ZDH4N Landmarks - Empty descriptors"
+    // Even if name or description not has been set it will return empty string "" when reading
+    // it from landmarks db, thus GetLandmarkDescription will KErrNone (instead of KErrNotFound as earlier)
+    //attr = attr & 0x00DF; // remove description
+    CheckPartialLandmarkL(*lm, attr);
+    CleanupStack::PopAndDestroy(lm);
+
+    id= 5; // IconName and IconIndex not availible
+    attr = 0x003F; // req all
+    partialParam->SetRequestedAttributes(attr);    
+    lm = GetPartialLandmarkLC(id, *partialParam);
+    attr = attr & 0x00EF; // remove IconName and IconIndex
+    CheckPartialLandmarkL(*lm, attr);
+    CleanupStack::PopAndDestroy(lm);         
+
+    CleanupStack::PopAndDestroy(partialParam); 
+    }
+
+// ---------------------------------------------------------
+// CPosTp18::TestPartialPositionFields
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp18::TestPartialPositionFieldsL()
+    {
+    iLog->Log(_L("TestPartialPositionFieldsL"));
+    iLog->Log(_L("Testing GetPartialLandmarks with different combinations of positionfields requested"));
+    _LIT(KNoFieldsReqErr, "No fields have been requested -> GetRequestedPositionFields should return 0");
+        
+    CPosLmPartialReadParameters* partialParam = CPosLmPartialReadParameters::NewLC(); 
+
+    RArray<TUint> reqFields;
+    partialParam->GetRequestedPositionFields(reqFields);
+    CleanupClosePushL(reqFields);
+    
+    AssertTrueSecL(partialParam->GetRequestedPositionFields(reqFields) == 0, KNoFieldsReqErr);
+    iDatabase->SetPartialReadParametersL(*partialParam);
+    
+        
+    // Landmark Id with Street, PostalCode, City, LocationName, 
+    // Country, MediaLinks, MediaLink1, MediaLink2 fields
+    TPosLmItemId  id=2;
+   
+    AppendFields(reqFields);
+    RArray<TBool> availFields;
+    CleanupClosePushL(availFields);
+    for(TInt i=0; i<8; i++)
+        {
+        availFields.Append(ETrue);
+        }
+
+    partialParam->SetRequestedPositionFields(reqFields);  
+   
+    CPosLandmark* lm = NULL;
+    lm = GetPartialLandmarkLC(id, *partialParam);
+    CheckPartialLandmarkL(*lm, reqFields, availFields);
+    CleanupStack::PopAndDestroy(lm);         
+
+    // Landmark Id with PostalCode, City, LocationName, 
+    // Country, MediaLinks, MediaLink1, MediaLink2 fields
+    id=3;
+    availFields[0] = EFalse;
+    lm = GetPartialLandmarkLC(id, *partialParam);
+    CheckPartialLandmarkL(*lm, reqFields, availFields);
+    CleanupStack::PopAndDestroy(lm);
+    
+    // Landmark Id with Street, City, LocationName, 
+    // Country, MediaLinks, MediaLink1, MediaLink2 fields
+    id=4;
+    availFields[0] = ETrue;
+    availFields[1] = EFalse;
+    lm = GetPartialLandmarkLC(id, *partialParam);
+    CheckPartialLandmarkL(*lm, reqFields, availFields);
+    CleanupStack::PopAndDestroy(lm);
+
+    // Landmark Id with Street, PostalCode, LocationName, 
+    // Country, MediaLinks, MediaLink1, MediaLink2 fields
+    id=5;
+    availFields[1] = ETrue;
+    availFields[2] = EFalse;
+    lm = GetPartialLandmarkLC(id, *partialParam);
+    CheckPartialLandmarkL(*lm, reqFields, availFields);
+    CleanupStack::PopAndDestroy(lm);
+
+    // Landmark Id with Street,PostalCode, City, 
+    // Country, MediaLinks, MediaLink1, MediaLink2 fields
+    id=6;
+    availFields[2] = ETrue;
+    availFields[3] = EFalse;
+    lm = GetPartialLandmarkLC(id, *partialParam);
+    CheckPartialLandmarkL(*lm, reqFields, availFields);
+    CleanupStack::PopAndDestroy(lm);
+
+    // Landmark Id with Street,PostalCode, City, 
+    // MediaLinks, MediaLink1, MediaLink2 fields
+    id=7;
+    availFields[3] = ETrue;
+    availFields[4] = EFalse;
+    lm = GetPartialLandmarkLC(id, *partialParam);
+    CheckPartialLandmarkL(*lm, reqFields, availFields);
+    CleanupStack::PopAndDestroy(lm);
+
+    // Landmark Id with Street,PostalCode, City, 
+    // Country fields
+    id=8;
+    availFields[4] = ETrue;
+    availFields[5] = EFalse;
+    availFields[6] = EFalse;
+    availFields[7] = EFalse;
+
+    lm = GetPartialLandmarkLC(id, *partialParam);
+    CheckPartialLandmarkL(*lm, reqFields, availFields);
+    CleanupStack::PopAndDestroy(lm);
+
+    // Landmark Id with Street,PostalCode, City, 
+    // Country, MediaLinks, MediaLink1 fields
+    id=9;
+    availFields[5] = ETrue;
+    availFields[6] = ETrue;
+    availFields[7] = EFalse;
+
+    lm = GetPartialLandmarkLC(id, *partialParam);
+    CheckPartialLandmarkL(*lm, reqFields, availFields);
+    CleanupStack::PopAndDestroy(lm);
+    
+    availFields[0] = EFalse;
+    
+    reqFields[0] = EPositionFieldMagneticCourse;
+
+    partialParam->SetRequestedPositionFields(reqFields);
+    lm = GetPartialLandmarkLC(id, *partialParam);
+    
+    reqFields[0] = EPositionFieldStreet; // To verify that street is not return when not requested
+    CheckPartialLandmarkL(*lm, reqFields, availFields);
+    
+    CleanupStack::PopAndDestroy(4, partialParam);
+   
+    }
+
+// ---------------------------------------------------------
+// CPosTp18::PreparePartialLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp18::PreparePartialLandmarksL()
+    {
+    iLog->Log(_L("PreparePartialLandmarksL"));
+    iLog->Log(_L("Testing Prepare and TakePartialLandmarks syncronously"));
+
+    CPosLmPartialReadParameters* partialParam = CPosLmPartialReadParameters::NewLC(); 
+    
+    TUint attr = CPosLandmark::ELandmarkName;
+    partialParam->SetRequestedAttributes(attr);
+    iDatabase->SetPartialReadParametersL(*partialParam);
+    
+    RArray<TPosLmItemId> ids;
+    CleanupClosePushL(ids);
+    
+    for (TInt i=0; i<KNoPreparePartial; i++)
+        {
+        TPosLmItemId id= i+1;
+        ids.Append(id);
+        }
+    // Test with non-existing id
+    ids.Append(13112321);
+   
+    //*** Add time measurements
+    iOperation = iDatabase->PreparePartialLandmarksL(ids); 
+    iOperation->ExecuteL();
+
+    iArrayPtr = iDatabase->TakePreparedPartialLandmarksL(iOperation);
+    AssertTrueSecL(iArrayPtr->Count() == ids.Count(), KNoPreparedPartialErr);
+
+    for (TInt j=0; j<iArrayPtr->Count()-1; j++)
+        {
+        CheckPartialLandmarkL(*iArrayPtr->At(j), CPosLandmark::ELandmarkName);
+        }
+    AssertTrueSecL(iArrayPtr->At(iArrayPtr->Count()-1) == NULL, KNoPreparedPartialErr2); 
+
+    TRAPD(err, iArrayPtr=iDatabase->TakePreparedPartialLandmarksL(iOperation));
+    AssertTrueSecL(err == KErrNotFound, KTakePreparedPartialErr); 
+
+    delete iOperation;
+    iOperation = NULL;
+
+    // landmarks with Name, coverage radius, description and fields street and country set 
+    const TInt idsStart = 8;
+    const TInt idsEnd = 28;
+
+    attr = attr | CPosLandmark::ECoverageRadius | CPosLandmark::EDescription;
+    partialParam->SetRequestedAttributes(attr);
+    
+    RArray<TUint> reqFields;
+    CleanupClosePushL(reqFields);
+
+    reqFields.Append(EPositionFieldStreet);
+    reqFields.Append(EPositionFieldCountry);
+    partialParam->SetRequestedPositionFields(reqFields);
+
+    iDatabase->SetPartialReadParametersL(*partialParam);
+    
+    RArray<TBool> availFields;
+    CleanupClosePushL(availFields);
+    for(TInt jj=0; jj<2; jj++)
+        {
+        availFields.Append(ETrue);
+        }
+    
+    ids.Reset();
+    for (TInt k=idsStart; k<=idsEnd; k++)
+        {
+        ids.Append(k);    
+        }
+    
+    iOperation = iDatabase->PreparePartialLandmarksL(ids);
+    iOperation->ExecuteL();
+
+    iArrayPtr->ResetAndDestroy();
+    delete iArrayPtr; 
+    iArrayPtr = NULL;
+
+    iArrayPtr = iDatabase->TakePreparedPartialLandmarksL(iOperation);
+    delete iOperation;
+    iOperation = NULL;
+ 
+    AssertTrueSecL(iArrayPtr->Count() == ids.Count(),KNoPreparedPartialErr);
+    for (TInt ii=0; ii<iArrayPtr->Count()-1; ii++)
+        {
+        CheckPartialLandmarkL(*iArrayPtr->At(ii), attr);
+        CheckPartialLandmarkL(*iArrayPtr->At(ii), reqFields, availFields);
+        }
+    
+    CleanupStack::PopAndDestroy(4, partialParam);
+        
+    iArrayPtr->ResetAndDestroy();
+    delete iArrayPtr; 
+    iArrayPtr = NULL;
+
+    // Test not setting any attributes with SetRequestedAttributes,
+    // should only return empty landmarks
+    delete iDatabase;
+    iDatabase = NULL;
+    CopyTestDbFileL(KTp18DbFile1);
+	iDatabase = CPosLandmarkDatabase::OpenL(KTp18DbFile1);
+    
+    if (iDatabase->IsInitializingNeeded()) ExecuteAndDeleteLD(iDatabase->InitializeL());
+       
+    CleanupClosePushL(ids);
+    ids.Append(1);
+    ids.Append(2);
+    ids.Append(10);
+    ids.Append(20);
+    iOperation = iDatabase->PreparePartialLandmarksL(ids);
+    iOperation->ExecuteL();
+    
+    iArrayPtr = iDatabase->TakePreparedPartialLandmarksL(iOperation);
+    AssertTrueSecL(iArrayPtr->Count() == ids.Count(), _L("Nr of Ids not correct"));
+    delete iOperation;
+    iOperation = NULL;
+    
+    // Check that returned landmarks are empty
+    for (TInt ii=0; ii<iArrayPtr->Count()-1; ii++)
+        {
+        for (TInt j=0;j<KMaxTUint16;j++)
+            {            
+            AssertTrueSecL(!iArrayPtr->At(ii)->IsPositionFieldAvailable(j), _L("Only empty landmarks should be returned"));
+            }
+        }
+    iArrayPtr->ResetAndDestroy();
+    delete iArrayPtr; 
+    iArrayPtr = NULL;
+
+    CleanupStack::PopAndDestroy(&ids);
+    
+    // Test with empty list, should cause error
+    partialParam = CPosLmPartialReadParameters::NewLC();
+    attr = CPosLandmark::ELandmarkName;
+    partialParam->SetRequestedAttributes(attr);
+    iDatabase->SetPartialReadParametersL(*partialParam);
+    
+    CleanupClosePushL(ids);
+    TRAP(err, iDatabase->PreparePartialLandmarksL(ids));
+   
+    CleanupStack::PopAndDestroy();
+    if (err != KErrArgument) 
+    {
+    	iLog->Log(_L("PreparePartialLandmarksL should leave with KErrArgument"));
+    	User::Leave(err);
+    }
+    
+    CleanupStack::PopAndDestroy(partialParam);
+//    CleanupStack::PopAndDestroy(&ids);
+
+    }
+
+// ---------------------------------------------------------
+// CPosTp18::PreparePartialLandmarksAsyncL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp18::PreparePartialLandmarksAsyncL(TExecutionMode aExecutionMode)
+    {
+    iLog->Log(_L("Testing Prepare and TakePartialLandmarks asyncronously"));
+   
+    CPosLmPartialReadParameters* partialParam = iDatabase->PartialReadParametersLC();
+    
+    TUint attr = CPosLandmark::ELandmarkName;
+    partialParam->SetRequestedAttributes(attr);
+    iDatabase->SetPartialReadParametersL(*partialParam);
+      
+    RArray<TPosLmItemId> ids;
+    CleanupClosePushL(ids);
+    for (TInt i=0; i<KNoPreparePartial; i++)
+        {
+        TPosLmItemId id= i+1;
+        ids.Append(id);
+        }
+    ids.Append(13112321);
+    
+    iOperation = iDatabase->PreparePartialLandmarksL(ids);
+    
+    TRAPD(err, iArrayPtr=iDatabase->TakePreparedPartialLandmarksL(iOperation));
+    AssertTrueSecL(err == KErrNotFound, KTakePreparedPartialErr); 
+    
+    switch (aExecutionMode)
+        {
+        case EAsynchronous:
+            RunAsyncOperationL(iOperation);
+            break;
+        case EWaitForRequest:
+            RunAsyncOperationByWaitForReqL(iOperation);
+            break;
+        default:
+            User::Leave(KErrArgument);
+            break;
+        }
+ 
+    if (iArrayPtr != NULL)
+        {
+        iArrayPtr->ResetAndDestroy();
+        delete iArrayPtr;
+        iArrayPtr=NULL;
+    }
+    
+    iArrayPtr = iDatabase->TakePreparedPartialLandmarksL(iOperation);
+
+    AssertTrueSecL(iArrayPtr->Count() == ids.Count(),KNoPreparedPartialErr);
+    AssertTrueSecL(iArrayPtr->At(iArrayPtr->Count()-1) == NULL, KNoPreparedPartialErr2); 
+
+    for (TInt j=0; j<iArrayPtr->Count()-1; j++)
+      {
+      CheckPartialLandmarkL(*iArrayPtr->At(j), CPosLandmark::ELandmarkName);
+      }
+
+    iArrayPtr->ResetAndDestroy();
+    delete iArrayPtr;
+    iArrayPtr = NULL;
+
+    delete iOperation;
+    iOperation = NULL;
+   
+    // landmarks with Name, Icon, Position MediaLink1 set 
+    const TInt idsStart = 10;
+    const TInt idsEnd = 35;
+    
+    attr = attr | CPosLandmark::EIcon | CPosLandmark::EPosition;
+    partialParam->SetRequestedAttributes(attr);
+
+    RArray<TUint> reqFields;
+    CleanupClosePushL(reqFields);
+    reqFields.Append(EPositionFieldMediaLinks);
+    reqFields.Append(EPositionFieldMediaLinksStart);
+    partialParam->SetRequestedPositionFields(reqFields);
+    
+    iDatabase->SetPartialReadParametersL(*partialParam);
+
+    RArray<TBool> availFields;
+    CleanupClosePushL(availFields);
+    for(TInt jj=0; jj<2; jj++)
+        {
+        availFields.Append(ETrue);
+        }
+
+    ids.Reset();
+    for (TInt k=idsStart; k<=idsEnd; k++)
+        {
+        ids.Append(k);
+        }
+    
+    iOperation = iDatabase->PreparePartialLandmarksL(ids);
+
+    switch (aExecutionMode)
+        {
+        case EAsynchronous:
+            RunAsyncOperationL(iOperation);
+            break;
+        case EWaitForRequest:
+            RunAsyncOperationByWaitForReqL(iOperation);
+            break;
+        default:
+            User::Leave(KErrArgument);
+            break;
+        }
+ 
+    iArrayPtr = iDatabase->TakePreparedPartialLandmarksL(iOperation);
+
+    AssertTrueSecL(iArrayPtr->Count() == ids.Count(),KNoPreparedPartialErr);
+      
+    for (TInt x=0; x<iArrayPtr->Count()-1; x++)
+        {  
+        CheckPartialLandmarkL(*iArrayPtr->At(x), attr);        
+        CheckPartialLandmarkL(*iArrayPtr->At(x), reqFields, availFields);
+        }
+    
+    delete iOperation;
+    iOperation = NULL;
+    
+    CleanupStack::PopAndDestroy(4, partialParam);
+    }
+
+// ---------------------------------------------------------
+// CPosTp18::PreparePartialLandmarksAndCancelL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp18::PreparePartialLandmarksAsyncAndCancelL(const TBool& aInCallback)
+    {
+    iLog->Log(_L("Testing Prepare and TakePartialLandmarks asyncronously with cancel"));
+   
+    CPosLmPartialReadParameters* partialParam = iDatabase->PartialReadParametersLC();
+    
+    TUint attr = CPosLandmark::ELandmarkName;
+    partialParam->SetRequestedAttributes(attr);
+    iDatabase->SetPartialReadParametersL(*partialParam);
+      
+    RArray<TPosLmItemId> ids;
+    CleanupClosePushL(ids);
+    for (TInt i=0; i<KNoPreparePartial; i++)
+        {
+        TPosLmItemId id= i+1;
+        ids.Append(id);
+        }
+    ids.Append(13112321);
+    
+    iOperation = iDatabase->PreparePartialLandmarksL(ids);
+    
+    TRAPD(err, iArrayPtr=iDatabase->TakePreparedPartialLandmarksL(iOperation));
+    AssertTrueSecL(err == KErrNotFound, KTakePreparedPartialErr); 
+    
+    if (aInCallback)
+        {
+        RunAsyncOperationAndCancelInCallbackLD(iOperation);
+        iOperation = NULL;
+        }
+    else
+        {
+        RunAsyncOperationAndCancelLD(iOperation);
+        }
+    
+    // landmarks with Name, Icon, Position MediaLink1 set 
+    const TInt idsStart = 10;
+    const TInt idsEnd = 35;
+    
+    attr = attr | CPosLandmark::EIcon | CPosLandmark::EPosition;
+    partialParam->SetRequestedAttributes(attr);
+
+    RArray<TUint> reqFields;
+    CleanupClosePushL(reqFields);
+    reqFields.Append(EPositionFieldMediaLinks);
+    reqFields.Append(EPositionFieldMediaLinksStart);
+    partialParam->SetRequestedPositionFields(reqFields);
+    
+    iDatabase->SetPartialReadParametersL(*partialParam);
+
+    RArray<TBool> availFields;
+    CleanupClosePushL(availFields);
+    for(TInt jj=0; jj<2; jj++)
+        {
+        availFields.Append(ETrue);
+        }
+
+    ids.Reset();
+    for (TInt k=idsStart; k<=idsEnd; k++)
+        {
+        ids.Append(k);
+        }
+    
+    iOperation = iDatabase->PreparePartialLandmarksL(ids);
+     if (aInCallback)
+        {
+        RunAsyncOperationAndCancelInCallbackLD(iOperation);
+        iOperation = NULL;
+        }
+    else
+        {
+        RunAsyncOperationAndCancelLD(iOperation);
+        }
+   
+    CleanupStack::PopAndDestroy(4, partialParam);
+    }
+
+// ---------------------------------------------------------
+// CPosTp18::GetPartialLandmarkLC
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+CPosLandmark* CPosTp18::GetPartialLandmarkLC(const TPosLmItemId aId,
+                                             const CPosLmPartialReadParameters& aPartialParam)
+    {
+    _LIT(KIsPartialErr, "Method Landmark->IsPartial returns incorrect value");
+    _LIT(KUpdateErr, "It should not be possible to update a partial landmark");
+
+    iDatabase->SetPartialReadParametersL(aPartialParam);
+    
+    CPosLandmark* lm = iDatabase->ReadPartialLandmarkLC(aId);
+    AssertTrueSecL(lm->IsPartial(), KIsPartialErr);
+    
+    TRAPD(err, iDatabase->UpdateLandmarkL(*lm));
+    AssertTrueSecL(err == KErrArgument, KUpdateErr);
+    
+    return lm;
+    }
+
+// ---------------------------------------------------------
+// CPosTp18::AppendFields
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp18::AppendFields(RArray<TUint>& aArray)
+    {
+    // Appends fields availible to set with Landmarks db generator
+    aArray.Append(EPositionFieldStreet);
+    aArray.Append(EPositionFieldPostalCode);
+    aArray.Append(EPositionFieldCity);
+    aArray.Append(EPositionFieldLocationName);
+    aArray.Append(EPositionFieldCountry);
+    aArray.Append(EPositionFieldMediaLinks);
+    aArray.Append(EPositionFieldMediaLinksStart);
+
+    TUint16 tmp = (TUint16)EPositionFieldMediaLinksStart;
+    aArray.Append(++tmp);
+    
+    }
+
+// ---------------------------------------------------------
+// CPosTp18::ChechPartialLandmarkL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp18::CheckPartialLandmarkL(const CPosLandmark& aLandmark, 
+                                     const RArray<TUint>& aReqFields,
+                                     const RArray<TBool>& aAvailFields)
+    {
+
+    _LIT(KPosFieldAvailableErr, "Method IsPositionFieldAvailable return incorrect value, should be availabe");
+    _LIT(KPosFieldAvailableErr2, "Method IsPositionFieldAvailable return incorrect value, should not be available");
+    
+    TInt err=0;
+    for (TInt i=0; i<aReqFields.Count(); i++) 
+        {
+        if (aAvailFields[i])
+            {
+            AssertTrueSecL(aLandmark.IsPositionFieldAvailable((TUint16)aReqFields[i]), KPosFieldAvailableErr);
+            TPtrC value;
+            err = aLandmark.GetPositionField((TUint16)aReqFields[i], value); 
+            AssertTrueSecL(err == KErrNone, KPosFieldAvailableErr, err);
+            }
+        else
+            {
+            AssertTrueSecL(!aLandmark.IsPositionFieldAvailable((TUint16)aReqFields[i]), KPosFieldAvailableErr);
+            TPtrC value;
+            err = aLandmark.GetPositionField((TUint16)aReqFields[i], value); 
+            AssertTrueSecL(err == KErrNotFound, KPosFieldAvailableErr2, err); 
+            }
+        }
+    
+    // Check some fields not avail
+    
+    for (TUint16 j = EPositionFieldCompassCapabilitiesBegin; j <=EPositionFieldCompassCapabilitiesBegin+50; j++)
+        {
+	    AssertTrueSecL(!aLandmark.IsPositionFieldAvailable(j), KPosFieldAvailableErr2);
+        TPtrC value;
+        err = aLandmark.GetPositionField(j, value); 
+        AssertTrueSecL(err == KErrNotFound, KPosFieldAvailableErr2, err); 
+        }
+    for (TUint16 k =EPositionFieldSatelliteCapabilitiesBegin; k <=EPositionFieldSatelliteGeoidalSeparation; k++)
+        {
+        AssertTrueSecL(!aLandmark.IsPositionFieldAvailable(k), KPosFieldAvailableErr2);
+        TPtrC value;
+        err = aLandmark.GetPositionField(k, value); 
+        AssertTrueSecL(err == KErrNotFound, KPosFieldAvailableErr2, err); 
+        }
+
+    AssertTrueSecL(!aLandmark.IsPositionFieldAvailable(EPositionFieldIdLast), KPosFieldAvailableErr2);
+    TPtrC value;
+    err = aLandmark.GetPositionField(EPositionFieldIdLast, value); 
+    AssertTrueSecL(err == KErrNotFound, KPosFieldAvailableErr2, err); 
+    }
+
+// ---------------------------------------------------------
+// CPosTp18::ChechPartialLandmarkL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp18::CheckPartialLandmarkL(const CPosLandmark& aLandmark, 
+                                     const CPosLandmark::TAttributes& aAttr)
+    {
+    _LIT(KPartialIdErr, "Incorrect Id when reading from a Partial landmark");
+    _LIT(KPartialCategoryInfoErr, "Incorrect Category info when reading from a Partial landmark");
+
+    TPosLmItemId id = aLandmark.LandmarkId();
+    AssertTrueSecL(id != 0, KPartialIdErr); 
+    
+    TInt err;
+    TPtrC name;
+    err = aLandmark.GetLandmarkName(name);
+    CheckPartialErrorCodeL(aAttr & CPosLandmark::ELandmarkName, err); 
+    
+    TReal32 coverageR;     
+    err = aLandmark.GetCoverageRadius(coverageR);
+    CheckPartialErrorCodeL(aAttr & CPosLandmark::ECoverageRadius, err);
+    
+    TPtrC desc;
+    err = aLandmark.GetLandmarkDescription(desc); 
+    CheckPartialErrorCodeL(aAttr & CPosLandmark::EDescription, err);
+    
+    TPtrC iconName;
+    TInt iconIndex;
+    TInt iconMaskIndex;
+    err = aLandmark.GetIcon(iconName, iconIndex, iconMaskIndex); 
+    CheckPartialErrorCodeL(aAttr & CPosLandmark::EIcon, err);
+    
+    RArray<TPosLmItemId> categories;
+    CleanupClosePushL(categories);
+
+    aLandmark.GetCategoriesL(categories);
+    if (aAttr & CPosLandmark::ECategoryInfo)
+        {
+        AssertTrueSecL(categories.Count() != 0, KPartialCategoryInfoErr);
+        }
+    else
+        {
+        AssertTrueSecL(categories.Count() == 0, KPartialCategoryInfoErr);
+        }
+    CleanupStack::PopAndDestroy(&categories);
+
+    TLocality loc;
+    err = aLandmark.GetPosition(loc); 
+    CheckPartialErrorCodeL(aAttr & CPosLandmark::EPosition, err);
+   
+    }
+
+// ---------------------------------------------------------
+// CPosTp18::ChechPartialErrorCodeL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp18::CheckPartialErrorCodeL(const TBool aPartial, const TInt aErr)
+    {
+    _LIT(KPartialLmErr, "Incorrect error code returned when reading from a Partial landmark");
+
+    if (aPartial)
+        {
+        AssertTrueSecL(aErr == KErrNone, KPartialLmErr); 
+        }
+    else
+        {
+        AssertTrueSecL(aErr == KErrNotFound, KPartialLmErr);
+        }
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp19.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,269 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp19.h"
+#include <EPos_CPosLandmarkDatabase.h>  
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLandmarkSearch.h> 
+
+// ================= MEMBER FUNCTIONS =======================
+// ---------------------------------------------------------
+// CPosTp19::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp19::CloseTest()
+    {
+    delete iDatabase;
+    iDatabase = NULL;
+    
+    delete iCategoryManager;
+    iCategoryManager = NULL;
+    
+    iCategoryIds.Close();
+    iCategoryNames.ResetAndDestroy();
+    
+    iGlobalCategoryNames.Close();
+    iGlobalCategoryIds.Close();    
+    
+    iCategories.ResetAndDestroy();
+    iCategories.Close();    
+    }
+
+// ---------------------------------------------------------
+// CPosTp19::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp19::StartL()
+    {    
+    iLog->Log(_L("**** Testing CPosCategoryManager():: GetCategoires methods ****"));    
+    
+    
+    RemoveDefaultDbL();
+    RemoveAllLmDatabasesL();   
+        
+    iDatabase = CPosLandmarkDatabase::OpenL(); // return default database    
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());        
+       }
+       
+    iLog->Log(_L(" Default database opened and initialised "));    
+
+    iCategoryManager = CPosLmCategoryManager::NewL(*iDatabase); 
+
+    // Test with non-global categories   
+    TestGetByNameL();        
+    
+    /*
+     * Test with global categories 
+     */   
+    
+    // Added for testing 
+    ExecuteAndDeleteLD(iCategoryManager->ResetGlobalCategoriesL()); 
+    
+    iLog->Log(_L(" ******** Testing with global categories ******"));    
+    
+    TestGetGlobalL();      
+    }
+
+// ---------------------------------------------------------
+// CPosTp19::TestGetGlobal
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp19::TestGetGlobalL()
+    {
+    _LIT(KGetGlobalErr, "GetGlobalCategoryL should return KPosLmNullItemId for category Id = 0");
+    _LIT(KGetGlobalErr2, "GetGlobalCategoryL should return KPosLmNullItemId for non existing categories");    // Rajesh : Commented 
+    
+    SetupGlobalCategoriesL();
+    TBuf<100> info;
+    info.Zero();
+    TPosLmItemId id(0);
+    
+    /*
+     * Test with global categories 
+     */        
+    iLog->Log(_L("Testing GetGlobalCategoryL() with non existing global category( catId 0 )"));  
+    id = iCategoryManager->GetGlobalCategoryL(0);
+    AssertTrueSecL(id == KPosLmNullItemId, KGetGlobalErr);
+
+    iLog->Log(_L("Testing GlobalCategoryNameL() with non existing global category (catid 0)"));      
+    HBufC* name = iCategoryManager->GlobalCategoryNameL(0);  
+    CleanupStack::PushL(name);
+    AssertTrueSecL(name == NULL, KGetGlobalErr);
+    CleanupStack::PopAndDestroy(name);
+    
+    // Test with non existing category id    
+    iLog->Log(_L("Testing GetGlobalCategoryL() with non existing global category (CatId = 500)"));      
+    id = iCategoryManager->GetGlobalCategoryL(500);
+    AssertTrueSecL(id == KPosLmNullItemId, KGetGlobalErr2);
+    
+    iLog->Log(_L("Testing GlobalCategoryNameL() with non existing global category (CatId = 500)"));      
+    name = iCategoryManager->GlobalCategoryNameL(500);
+    CleanupStack::PushL(name);
+    AssertTrueSecL(name == NULL, KGetGlobalErr2);
+    CleanupStack::PopAndDestroy(name);      
+    
+    iLog->Log(_L("Testing GetGlobalCategoryL() and GlobalCategoryNameL() with valid categories)"));        
+    
+    for (TInt i=0; i<iGlobalCategoryNames.Count(); i++)
+        {        
+        // Get the id of the global category in the db
+        TPosLmItemId catId = iCategoryManager->GetGlobalCategoryL(iGlobalCategoryIds[i]);        
+        CPosLandmarkCategory* category = iCategoryManager->ReadCategoryLC( catId );
+        
+        // Compare the Ids of the global categories        
+        if ( category->GlobalCategory() != iGlobalCategoryIds[i])
+            {
+            iLog->Log(_L("Incorrect category id returned"));
+            _LIT(KIds, "Expected: %d, returned %d");         
+            info.Format(KIds, iGlobalCategoryIds[i], category->GlobalCategory());
+            iLog->Log(info);
+            info.Zero();
+            User::Leave(KErrGeneral);   
+            }                   
+        CleanupStack::PopAndDestroy( category);
+        
+        HBufC* name = iCategoryManager->GlobalCategoryNameL(iGlobalCategoryIds[i]);
+        CleanupStack::PushL(name);
+
+        if (name->CompareC(*iGlobalCategoryNames[i]))
+            {
+            iLog->Log(_L("Incorrect global category name"));
+            iLog->Log(_L("Expected: "));
+            iLog->Log(*iGlobalCategoryNames[i]);
+            iLog->Log(_L("Returned: "));
+            iLog->Log(*name);
+            User::Leave(KErrGeneral);
+            }
+        CleanupStack::PopAndDestroy(name);
+        }
+    }
+
+// ---------------------------------------------------------
+// CLandmarkTestProcedureBase::SetupGlobalCategoriesL()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+   
+ void CPosTp19::SetupGlobalCategoriesL()
+    {    
+    ReadGlobalCategoriesFromResourceL( iGlobalCategoryIds, iGlobalCategoryNames );
+    }
+
+
+// ---------------------------------------------------------
+// CPosTp19::TestGetByName
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp19::TestGetByNameL()
+    {
+    _LIT(KEmptyStringErr, "GetCategoryL with an empty string should return KErrArgument, not %d");
+    _LIT(KMaxStringErr, "GetCategoryL with an maximum length string should return KErrArgument, not %d");
+    _LIT(KNotFoundErr, "GetCategoryL should return KPosLmNullItemId for a category that doesn't exist in the db, not %d");
+   
+    iLog->Log(_L(" Testing CPosCategoryManager::GetCategoryL() with wrong arguement (Empty name string)"));    
+    TRAPD(err, iCategoryManager->GetCategoryL(_L("")));
+    AssertTrueSecL(err == KErrArgument, KEmptyStringErr, err);
+
+    iLog->Log(_L(" Testing CPosCategoryManager::GetCategoryL() with wrong arguement (Name not existing)"));    
+    TPosLmItemId categoryId = iCategoryManager->GetCategoryL(_L("kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"));
+    AssertTrueSecL(categoryId == KPosLmNullItemId, KNotFoundErr, categoryId);    
+
+    // Test with maximum lenght of name    
+    iLog->Log(_L(" Testing CPosCategoryManager::GetCategoryL() with wrong arguement (With max length of Name not existing)"));    
+    _LIT(KMaxName124, "Category12Category12Category12Category12Category12Category12Category12Category12Category12Category12Category12Category12_ABC");
+    categoryId = iCategoryManager->GetCategoryL(KMaxName124);
+    AssertTrueSecL(categoryId == KPosLmNullItemId, KNotFoundErr, categoryId);
+
+    // Test with more than maximum lenght of name
+    iLog->Log(_L(" Testing CPosCategoryManager::GetCategoryL() with wrong arguement (With more than max length of Name not existing)"));    
+    _LIT(KMaxName, "Category12Category12Category12Category12Category12Category12Category12Category12Category12Category12Category12Category12Category12");
+    TRAP(err, iCategoryManager->GetCategoryL(KMaxName));
+    AssertTrueSecL(err == KErrArgument, KMaxStringErr, err);   
+    
+    // Add some categories and verify the addition
+    iLog->Log(_L(" Testing with some valid categories in the database ( +ve testing )"));    
+    AddCategoriesL (10);
+    VerifyAddedCategoriesL();
+    }
+    
+// ---------------------------------------------------------
+// CPosTp19:AddCategoriesL
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp19::AddCategoriesL( TInt aNumofCats )
+    {
+    _LIT(KName, "Category - %d");
+    TInt err = KErrLocked;
+    for (TUint i = 0; i<aNumofCats ; i++)
+        {
+        TBuf<100> categoryName;
+        categoryName.Format( KName,i );       
+        CPosLandmarkCategory* lmc = CPosLandmarkCategory::NewLC();
+        lmc->SetCategoryNameL( categoryName );
+        err = KErrLocked;
+        while ( err == KErrLocked )
+            {
+            TRAP(err, iCategoryManager->AddCategoryL( *lmc ));
+            }        
+        iCategories.Append(lmc);         
+        CleanupStack::Pop( lmc );
+        }   
+    }
+    
+// ---------------------------------------------------------
+// CPosTp19:VerifyAddedCategoriesL()
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//     
+void CPosTp19::VerifyAddedCategoriesL()
+    {    
+     TInt noOfCats = iCategoryNames.Count();     
+     // Verify the added categories 
+     for ( TUint i = 0; i < noOfCats; i++ )     
+         {
+         CPosLandmarkCategory* cat = iCategories[i];
+         TPtrC catName;
+         cat->GetCategoryName( catName );                 
+         // Get the categories from the database using name        
+         TPosLmItemId catId = iCategoryManager->GetCategoryL( catName);
+         
+         if ( catId != cat->CategoryId())
+             {
+             TBuf<150> buf;
+             buf.Format(_L("Unable to verify the added non-global category Id %d "), cat->CategoryId() );
+             iLog->Log(buf);
+             User::Leave(-1);   
+             }          
+         }        
+    }    
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp2.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,143 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp2.h"
+#include <EPos_CPosLandmarkDatabase.h> 
+#include <ecom.h>    
+          
+// ================= MEMBER FUNCTIONS =======================
+
+
+// ---------------------------------------------------------
+// CPosTp2::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp2::StartL()
+    {
+    _LIT(KMoveDllErr, "Move of the Local Acces Provider dll failed with %d");
+    _LIT(KMoveRscErr, "Move of the Local Acces Provider rsc failed with %d");
+    _LIT(KLeaveErr, "CPosLandmarkDatabase::OpenL() doesn't leave with KErrNotSupported");
+    _LIT(KOpenErr, "CPosLandmarkDatabase::OpenL() failed with %d");
+    
+    _LIT(KMoveToPath, "c:\\system\\test\\");
+    _LIT(KPluginMovedToPathDll, "c:\\system\\test\\eposlmlocalaccessprovider.dll");
+    _LIT(KPluginMovedToPathRsc, "c:\\system\\test\\eposlmlocalaccessprovider.RSC");
+
+    /*
+    // Before
+    //_LIT(KPluginMovedToPathRsc, "c:\\system\\test\\101FDF89.RSC");   
+        
+    _LIT(KPluginsPath, "c:\\system\\libs\\plugins\\");
+    _LIT(KDll, "c:\\system\\libs\\plugins\\eposlmlocalaccessprovider.dll");
+    _LIT(KRsc,"c:\\system\\libs\\plugins\\101FDF89.RSC");
+    */
+    
+    _LIT(KPluginsPath, "c:\\sys\\bin\\");
+    _LIT(KPluginsResourcePath, "c:\\resource\\plugins\\");
+    _LIT(KDll, "c:\\sys\\bin\\eposlmlocalaccessprovider.dll");
+    _LIT(KRsc,"c:\\resource\\plugins\\eposlmlocalaccessprovider.RSC");
+
+//#ifdef __WINS__
+//    _LIT(KCanceledErr, "Test canceled");
+//    _LIT(KMoveDll, "Move Epoc32\\release\\winscw\\udeb\\eposlmlocalaccessprovider.dll to c:\\sys\\bin\\ \
+//    and z:\\resource\\plugins\\eposlmlocalaccessprovider.rsc to c:\\resource\\plugins, press OK when done.");
+//    TUtfwUserAnswer answer;
+//    answer = iUserInfo->ShowDialog(KMoveDll, EUtfwDialogTypeOkCancel, EFalse);
+//    AssertTrueSecL(answer == EUtfwUserAnswerOk, KCanceledErr, KErrCancel);
+//#endif
+
+    CPosLandmarkDatabase* lmd=CPosLandmarkDatabase::OpenL();
+    delete lmd;
+    
+    RFs fs;
+    User::LeaveIfError(fs.Connect());
+    CleanupClosePushL(fs);
+    CFileMan* fileMan = CFileMan::NewL(fs);
+    CleanupStack::PushL(fileMan);
+    
+    REComSession ecom = REComSession::OpenL();
+    CleanupClosePushL(ecom);
+    
+    TRequestStatus status;
+   
+    TInt err;
+    err = fileMan->Move(KDll, KMoveToPath, CFileMan::EOverWrite);
+    AssertTrueSecL(err == KErrNone, KMoveDllErr, err);
+    err = fileMan->Move(KRsc, KMoveToPath, CFileMan::EOverWrite);
+    AssertTrueSecL(err == KErrNone, KMoveRscErr, err);
+
+    ecom.NotifyOnChange(status);
+    User::WaitForRequest(status); // Wait for Ecom
+
+    CPosLandmarkDatabase* lmd2=NULL;
+    TRAP(err, lmd2=CPosLandmarkDatabase::OpenL());
+    delete lmd2;
+    if (err)
+        {
+        AssertTrueSecL(err == KErrNotFound || err == KErrNotSupported, KLeaveErr, err);
+        }
+    else
+        {
+        AssertTrueSecL(err == KErrNotFound || err == KErrNotSupported, KLeaveErr);
+        }
+
+    err = fileMan->Move(KPluginMovedToPathDll, KPluginsPath, CFileMan::EOverWrite);
+    AssertTrueSecL(err == KErrNone, KMoveDllErr, err);
+    err = fileMan->Move(KPluginMovedToPathRsc, KPluginsResourcePath, CFileMan::EOverWrite);
+    AssertTrueSecL(err == KErrNone, KMoveRscErr, err);
+
+    ecom.NotifyOnChange(status);
+    User::WaitForRequest(status); // Wait for Ecom
+    
+    CPosLandmarkDatabase* lmd3=NULL;
+    TRAP(err, lmd3 = CPosLandmarkDatabase::OpenL());
+    delete lmd3;
+    AssertTrueSecL(err == KErrNone, KOpenErr, err);
+    
+    CleanupStack::PopAndDestroy(3, &fs);
+    
+//    #ifdef __WINS__
+//    _LIT(KRestoreTest, "Restore c:\\sys\\bin\\eposlmlocalaccessprovider.dll to  Epoc32\\release\\winscw\\udeb\\ and \
+//    c:\\resource\\plugins\\eposlmlocalaccessprovider.rsc to  z:\\resource\\plugins ");
+//    answer = iUserInfo->ShowDialog(KRestoreTest, EUtfwDialogTypeOk, EFalse);
+//    #endif
+
+	}
+
+// ---------------------------------------------------------
+// CPosTp2::WaitForEcomL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp2::WaitForEcomL()
+	{
+	REComSession ecom = REComSession::OpenL();
+    CleanupClosePushL(ecom);
+    TRequestStatus status;
+    ecom.NotifyOnChange(status);
+    User::WaitForRequest(status);
+    CleanupStack::PopAndDestroy(&ecom);
+	}
+	
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp20.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,358 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp20.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLmDatabaseManager.h>
+#include "FT_LandmarkConstants.h"
+
+// CONSTANTS
+// See file eposlmglobalcategories02.rss in testdata for category Bar
+//_LIT(KICONFILE, "c:\\system\\data\\test2.mbm");
+//const TInt KTP20IconIndex = 2;
+//const TInt KTP20IconMaskIndex = 2;
+
+// ================= MEMBER FUNCTIONS =======================
+// ---------------------------------------------------------
+// CPosTp20::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp20::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+    
+    delete iDatabase;
+    iDatabase = NULL;    
+    delete iCategoryManager;
+    iCategoryManager = NULL;    
+    iGlobalCategoryIds.Close();
+    iGlobalCategoryNames.Close();    
+    iGlobalCategoryTestNames.Close();    
+    }
+
+// ---------------------------------------------------------
+// CPosTp20::RemoveAllCategoriesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp20::RemoveAllCategoriesL()
+    {
+    iLog->Log(_L("RemoveAllCategoriesL"));
+    CPosLmCategoryManager* catMan = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(catMan);
+    
+    CPosLmItemIterator* iter = catMan->CategoryIteratorL();
+    CleanupStack::PushL(iter);
+
+    RArray<TPosLmItemId> ids;
+    CleanupClosePushL(ids);
+    if (iter->NumOfItemsL() > 0)
+        {
+        iter->GetItemIdsL(ids, 0, iter->NumOfItemsL());
+	    ExecuteAndDeleteLD(catMan->RemoveCategoriesL(ids));	
+        }
+    
+    CleanupStack::PopAndDestroy(&ids);
+    CleanupStack::PopAndDestroy(iter);
+    CleanupStack::PopAndDestroy(catMan);
+    }
+    
+// ---------------------------------------------------------
+// CPosTp20::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp20::StartL()
+    {     
+    iLog->Log(_L("**** Testing CPosCategoryManager::ResetGlobalCategories() ********"));         
+     /*
+      * Open the default landmark database 
+      * By default it is initialized with global categories (Assumption based on global categories API specification)
+      * Test the Reset global categories functionality       
+      */
+      
+    TBuf<150> info;  
+    iDatabase = CPosLandmarkDatabase::OpenL();
+    
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL()); 
+       }
+    
+    iLog->Log(_L("Default database opened and initialised")); 
+    
+    iCategoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    ExecuteAndDeleteLD(iDatabase->CompactL());
+    
+    // Setup global category info
+    SetupGlobalCategoriesL();      
+    
+    iLog->Log(_L("Execute ResetGlobalCategoriesL() synchronously)"));
+    
+    // Rename some global categories     
+    UpdateGlobalCategoriesInDb(); 
+    
+    iLog->Log(_L("Global category info updated in database (Renaming category done)")); 
+    
+    // Execute synchronously
+    // Reset the global categories (the name and icon info of the global category will be reset)
+    ExecuteAndDeleteLD(iCategoryManager->ResetGlobalCategoriesL());
+    
+    /*
+     * Verification of 'reset' feature of global categories 
+     * Check for global category with name 'Hotel' and it should not exist
+     * Check for global category having name 'Accomodation'
+     */         
+    VerifyGlobalCategoriesL();
+    
+    iLog->Log(_L("Verification of CPosCategoryManager::ResetGlobalCategories() done)")); 
+    
+    
+    iLog->Log(_L("Execute ResetGlobalCategoriesL() asynchronously)"));
+    // Rename some global categories     
+    UpdateGlobalCategoriesInDb();   
+    
+    iLog->Log(_L("Global category info updated in database (Renaming category done)"));  
+    
+    // Execute asynchronously
+    RunAsyncOperationLD(iCategoryManager->ResetGlobalCategoriesL());
+    VerifyGlobalCategoriesL();
+    
+    iLog->Log(_L("Verification of CPosCategoryManager::ResetGlobalCategories() done)")); 
+    
+    
+    iLog->Log(_L("Execute ResetGlobalCategoriesL() Asynchronously using User::WaitForRequest())"));
+    
+    // Rename some global categories     
+    UpdateGlobalCategoriesInDb();
+    
+    iLog->Log(_L("Global category info updated in database (Renaming category done)")); 
+    
+    // Execute asynchronously using User::WaitForRequest() 
+    CPosLmOperation* op = iCategoryManager->ResetGlobalCategoriesL();
+    CleanupStack::PushL(op);
+    RunAsyncOperationByWaitForReqL(op);
+    CleanupStack::PopAndDestroy(op);
+    VerifyGlobalCategoriesL();
+    
+    iLog->Log(_L("Verification of CPosCategoryManager::ResetGlobalCategories() done)")); 
+    
+    iLog->Log(_L("Execute ResetGlobalCategoriesL() using Cancel immediately, after a while etc..."));
+    // Rename some global categories     
+    UpdateGlobalCategoriesInDb();    
+    
+    // Test cancel immediately
+    RunAsyncOperationAndCancelLD(iCategoryManager->ResetGlobalCategoriesL());
+    
+    // Test cancel after a while
+    RunAsyncOperationAndCancelInCallbackLD(iCategoryManager->ResetGlobalCategoriesL());
+    
+    ExecuteAndDeleteLD(iCategoryManager->ResetGlobalCategoriesL());
+    VerifyGlobalCategoriesL();
+    iLog->Log(_L("Verification of CPosCategoryManager::ResetGlobalCategories() done)"));               
+	}
+
+
+// ---------------------------------------------------------
+// CPosTp20::UseGlobalCategoriesL
+// 
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp20::UpdateGlobalCategoriesInDb()
+    {
+    /*
+    * Change some properties of the existing global category (changing only the name here)
+    */
+
+    TBuf<150>info;
+    // Get sample global category info     
+    TPosLmItemId catId(0);
+    TPosLmItemId catId1(0);
+    CPosLandmarkCategory* category = NULL;
+    
+    for (TUint i = 0; i< iGlobalCategoryNames.Count(); i++)    
+        {
+        catId = iCategoryManager->GetGlobalCategoryL(iGlobalCategoryIds[i]);
+        category = iCategoryManager->ReadCategoryLC( catId );
+        category->SetCategoryNameL( iGlobalCategoryTestNames[i] );
+        iCategoryManager->UpdateCategoryL( *category );    
+        CleanupStack::PopAndDestroy( category );
+        
+        // Verify whether the added category exists with same global category id or not
+        catId1 = iCategoryManager->GetCategoryL( iGlobalCategoryTestNames[i] );
+
+        //Read the landmark from the database
+        category = iCategoryManager->ReadCategoryLC( catId1 );
+
+        // verify whether this is a global category or not (Accomodation)
+
+        if ( category->GlobalCategory() != iGlobalCategoryIds[i]  ) 
+            {// Error in category updation/verification        
+            iLog->Log(_L("Error in global category verification"));
+            info.Zero();
+            info.Format(_L("Expected global category id %d"), iGlobalCategoryIds[i] );    
+            info.Format(_L("Returned global category id %d"),  category->GlobalCategory() );    
+            iLog->Log( info );        
+            info.Zero();      
+            User::Leave(-1);  
+            }        
+        CleanupStack::PopAndDestroy( category );            
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp20::SetupGlobalCategoriesL()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+    
+void CPosTp20::SetupGlobalCategoriesL()
+    {        
+    // Testing with only 3 global categories     
+    ReadGlobalCategoriesFromResourceL( iGlobalCategoryIds, iGlobalCategoryNames, 3 );
+        
+    iGlobalCategoryTestNames.Append(_L("Housing"));
+    iGlobalCategoryTestNames.Append(_L("Movies"));
+    iGlobalCategoryTestNames.Append(_L("Society"));    
+    }
+
+
+
+
+// ---------------------------------------------------------
+// CPosTp20::VerifyGlobalCategoriesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp20::VerifyGlobalCategoriesL(TBool /*aCheck */)
+    {       
+    // Search database based on the new names of the global categories 
+    TBuf<100> info;
+    info.Zero();
+    
+    TPosLmItemId catId( 0 );
+    
+    for ( TUint i = 0; i < iGlobalCategoryNames.Count(); i++ )
+        {
+        // Search based on the Test names (with which the global category was renamed!)
+        catId = iCategoryManager->GetCategoryL(iGlobalCategoryTestNames[i]);
+        
+        if ( catId != KPosLmNullItemId )
+            {
+            iLog->Log(_L("Error in global category reset functionality verification"));
+            info.Zero();
+            info.Format(_L("Expected global category id %d"), KPosLmNullItemId );    
+            info.Format(_L("Returned global category id %d"),  catId );    
+            iLog->Log( info );        
+            info.Zero();      
+            User::Leave(-1);                
+            }
+            
+        // Search for old names of the global category 
+        catId = iCategoryManager->GetCategoryL( *iGlobalCategoryNames[i] );
+        CPosLandmarkCategory* category = iCategoryManager->ReadCategoryLC( catId );
+        
+        // Get the global category id 
+        if ( category->GlobalCategory() )
+            {
+            if ( category->GlobalCategory() != iGlobalCategoryIds[i] )
+                {
+                iLog->Log(_L("Error in global category reset functionality verification"));
+                info.Zero();
+                info.Format(_L("Expected global category id %d"), iGlobalCategoryIds[i] );    
+                info.Format(_L("Returned global category id %d"),  catId );    
+                iLog->Log( info );        
+                info.Zero();      
+                User::Leave(-1);      
+                }           
+            }  
+        CleanupStack::PopAndDestroy(category);                     
+        }   
+    }
+
+// ---------------------------------------------------------
+// CPosTp20::RenameAndDeleteGlobalL
+// 
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp20::RenameAndDeleteGlobalL()
+    {
+    const TPosLmGlobalCategory  KRemoveGlobalId1 = 1; 
+    const TPosLmGlobalCategory  KRemoveGlobalId2 = 11;
+
+    const TPosLmGlobalCategory  KRenameGlobalId1 = 3;
+    const TPosLmGlobalCategory  KRenameGlobalId2 = 12;
+    
+    TBuf<150> buf;
+    ExecuteAndDeleteLD(iDatabase->CompactL());
+    TPosLmItemId id = iCategoryManager->GetGlobalCategoryL(KRemoveGlobalId1);
+    HBufC* name = iCategoryManager->GlobalCategoryNameL(KRemoveGlobalId1);
+    CleanupStack::PushL(name);
+    buf.Format(_L("Removing global category %S"), name);
+    iLog->Log(buf);
+    CleanupStack::PopAndDestroy(name);
+    CPosLmOperation* op = iCategoryManager->RemoveCategoryL(id);
+    ExecuteAndDeleteLD(op);
+    
+    id = iCategoryManager->GetGlobalCategoryL(KRemoveGlobalId2);
+    name = iCategoryManager->GlobalCategoryNameL(KRemoveGlobalId2);
+    CleanupStack::PushL(name);
+    buf.Zero();
+    buf.Format(_L("Removing global category %S"), name);
+    iLog->Log(buf);
+    CleanupStack::PopAndDestroy(name);
+    op = iCategoryManager->RemoveCategoryL(id);
+    ExecuteAndDeleteLD(op);
+    
+    id = iCategoryManager->GetGlobalCategoryL(KRenameGlobalId1);
+    
+    name = iCategoryManager->GlobalCategoryNameL(KRenameGlobalId1);
+    CleanupStack::PushL(name);
+    buf.Format(_L("Renaming global category %S to Jada jada"), name);
+    iLog->Log(buf);
+    CleanupStack::PopAndDestroy(name);
+    
+    CPosLandmarkCategory* cm = iCategoryManager->ReadCategoryLC(id);
+    cm->SetCategoryNameL(_L("Jada jada"));
+    iCategoryManager->UpdateCategoryL(*cm);
+    CleanupStack::PopAndDestroy(cm);
+    ExecuteAndDeleteLD(iDatabase->CompactL());
+    
+    id = iCategoryManager->GetGlobalCategoryL(KRenameGlobalId2);
+    name = iCategoryManager->GlobalCategoryNameL(KRenameGlobalId2);
+    CleanupStack::PushL(name);
+    buf.Format(_L("Renaming global category %S to asdfasdas"), name);
+    iLog->Log(buf);
+    CleanupStack::PopAndDestroy(name);
+    cm = iCategoryManager->ReadCategoryLC(id);
+    cm->SetCategoryNameL(_L("asdfasdas"));
+    iCategoryManager->UpdateCategoryL(*cm);
+    CleanupStack::PopAndDestroy(cm);
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp21.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,780 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLandmarkSearch.h> 
+#include <EPos_CPosLmCategoryCriteria.h>
+#include <EPos_CPosLMItemIterator.h>    
+
+#include "FT_CPosTp21.h"
+#include "FT_CCategoryLandmarkSearchResult.h"
+#include <EPos_CPosLmCatNameCriteria.h>
+
+//CONSTANTS
+const TInt KNoCategoriesTp21  = 40;
+const TInt KNoLandmarksTp21 = 40; 
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp29::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp21::CloseTest()
+    {       
+    iCategories.ResetAndDestroy();
+    iCategories.Close();        
+    iReferencedCategories.Close();    
+    iLandmarks.ResetAndDestroy();
+    iLandmarks.Close();         
+    
+    delete iCategoryManager; 
+    iCategoryManager = NULL;  
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;    
+    delete iDatabase;
+    iDatabase = NULL;    
+    }
+
+// ---------------------------------------------------------
+// CPosTp21::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp21::StartL()
+    {        
+    
+    iLog->Log(_L("***Testing CPosLandmarkSearch:: ( LM Search Category Criteria) *** "));
+    
+    iDatabase = CPosLandmarkDatabase::OpenL();  
+        
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }   
+       
+    iCategoryManager = CPosLmCategoryManager::NewL(*iDatabase);    
+    iLog->Log(_L("Default database initialized"));
+    
+    
+    // Remove all the categories and landmarks from database to make it empty
+    MakeEmptyLmDatabaseL( *iDatabase, *iCategoryManager);    
+    
+    // Add some landmarks to db
+    // Add some categories to db
+    // Add categories to lms in the database    
+    AddCategoriesL();
+    AddLandmarksL();    
+    
+    iLandmarkSearch = CPosLandmarkSearch::NewL(*iDatabase);
+    
+    // Test some leave codes
+    iLog->Log(_L("Check that StartLandmarkSearchL leaves with correct codes "));
+    SearchWithSortOrderL();   
+  
+	// Search synchronously
+    iLog->Log(_L("Testing search with criterias read from LmDbSearchResult.txt syncronously, \
+using CategoryName"));
+
+    SearchL(iCategoryLandmarkSearchResults, ETrue);
+ 
+    iLog->Log(_L("Testing search with criterias read from LmDbSearchResult.txt syncronously, \
+using CategoryId"));
+    SearchL(iCategoryLandmarkSearchResults);
+
+    iLog->Log(_L("Searching fon nonexisting entries synchronously"));
+    SearchNonExistingL(ESynchronous);    
+
+	// Search asynchronously
+    iLog->Log(_L("Testing search with criterias read from LmDbSearchResult.txt asynchronously, \
+using CategoryName"));
+    SearchL(iCategoryLandmarkSearchResults, ETrue, EAsynchronous);
+
+    iLog->Log(_L("Testing search with criterias read from LmDbSearchResult.txt asynchronously, \
+using Categoryid"));
+    SearchL(iCategoryLandmarkSearchResults, EFalse, EAsynchronous);
+
+    iLog->Log(_L("Searching for nonexisting entries asynchronously"));
+    SearchNonExistingL(EAsynchronous);   
+
+	// Search asynchronously using User::WaitForRequest()
+    iLog->Log(_L("Testing search with criterias read from LmDbSearchResult.txt asynchronously, \
+with User::WaitForRequest() using CategoryName"));
+    SearchL(iCategoryLandmarkSearchResults, ETrue, EWaitForRequest);
+
+    iLog->Log(_L("Testing search with criterias read from LmDbSearchResult.txt asynchronously, \
+with User::WaitForRequest() using Categoryid"));
+    SearchL(iCategoryLandmarkSearchResults, EFalse, EWaitForRequest);
+
+    iLog->Log(_L("Searching for nonexisting entries asynchronously"));
+    SearchNonExistingL(EWaitForRequest);
+
+
+	// Test cancel
+    iLog->Log(_L("Search and cancels the search"));
+    SearchAndCancelL();
+
+    iLog->Log(_L("Search and cancels the search in a callback"));
+    SearchAndCancelL(ETrue);
+
+	// Search in global categories
+    iLog->Log(_L("SearchForLandmarksInGlobalCategoriesL asynchronously"));
+    SearchForLandmarksInGlobalCategoriesL(EAsynchronous);
+
+    iLog->Log(_L("SearchForLandmarksInGlobalCategoriesL synchronously"));
+    SearchForLandmarksInGlobalCategoriesL(ESynchronous);
+    
+    iLog->Log(_L("SearchForLandmarksInGlobalCategoriesL synchronously"));
+    SearchForLandmarksInGlobalCategoriesL(EWaitForRequest);   
+   
+    iLog->Log(_L("Check maximum length of search pattern"));
+    TestSearchPatternLengthL();
+    }
+
+// ---------------------------------------------------------
+// CPosTp21::SearchL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+// 
+void CPosTp21::SearchL(
+    const RPointerArray<CCategoryLandmarkSearchResult>& /* aSearchResults */, 
+    TBool aNameOrId, 
+    TExecutionMode aExecutionMode)
+    {
+    /*
+     * Positive test cases 
+     * Test for referenced category search
+     */
+         
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect when the search is performed");
+
+    //Test SetMaxNumOfMatches, first set to one and then back to unlimited
+    iLandmarkSearch->SetMaxNumOfMatches(1);
+    iLandmarkSearch->SetMaxNumOfMatches();    
+        
+    TPtrC refCatName;
+    TPosLmItemId refCatId(0);
+    
+    for ( TInt i = 0; i < iReferencedCategories.Count(); i++ )    
+        {
+        CPosLmCategoryCriteria* catSearchCriteria = CPosLmCategoryCriteria::NewLC();
+        // Perform search with either name or id
+        if (aNameOrId)
+            {
+            // Set cearch criteria based on category name             
+            TInt retErr = iReferencedCategories[i]->GetCategoryName( refCatName );
+            if ( retErr == KErrNone)
+                {
+                catSearchCriteria->SetCategoryNameL( refCatName );
+                //iLog->Log( refCatName );
+                }   
+            }            
+        else
+            {
+            refCatId = iReferencedCategories[i]->CategoryId();
+            catSearchCriteria->SetCategoryItemId( refCatId );
+            }   
+                    
+        //aSearchOnlyPreviousMatches is set to false by default    
+        iOperation = iLandmarkSearch->StartLandmarkSearchL( *catSearchCriteria );         
+
+        switch (aExecutionMode)
+            {
+            case ESynchronous:
+                ExecuteAndDeleteLD(iOperation);
+                break;
+            case EAsynchronous:
+                RunAsyncOperationLD(iOperation);
+                break;
+            case EWaitForRequest:
+                RunAsyncOperationByWaitForReqL(iOperation);
+                delete iOperation;
+            break;
+            }
+
+        CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+        CleanupStack::PushL(iter);
+        
+        /* iter->NumOfItems() contains the number of items that are contained in this search 
+         *  iteration
+         */  
+
+        TPosLmItemId id = iter->NextL(); // First item from the search results
+
+        if ( iLandmarkSearch->NumOfMatches() != iter->NumOfItemsL() )
+            {
+            _LIT(KExpected, "Expected no. of matches: %d");
+            _LIT(KReturned, "Returned no. of matches: %d");
+            TBuf<100> info;
+            info.Format( KExpected, iter->NumOfItemsL() );
+            iLog->Log( info );
+            info.Format( KReturned, iLandmarkSearch->NumOfMatches() );
+            iLog->Log(info);                        
+            iLog->Log(KNumOfMatchesErr);            
+            CleanupStack::PopAndDestroy( 2 ); // Iter,catSearchCriteria                
+            User::Leave(-1);
+            }
+            
+        CleanupStack::PopAndDestroy( iter );
+            
+        // Test by setting Max num of matches and also set aSearchOnlyPreviousMatches to true        
+        
+        iLandmarkSearch->SetMaxNumOfMatches(1);
+
+        if ( aNameOrId )
+            {            
+            refCatId = iReferencedCategories[i]->CategoryId();
+            catSearchCriteria->SetCategoryItemId( refCatId );
+            }            
+        else
+            {
+            // Set cearch criteria based on category name             
+            TInt retErr = iReferencedCategories[i]->GetCategoryName( refCatName );
+            if ( retErr == KErrNone)
+                {
+                catSearchCriteria->SetCategoryNameL( refCatName );
+                //iLog->Log( refCatName );
+                }                
+            } 
+        iOperation = iLandmarkSearch->StartLandmarkSearchL(*catSearchCriteria, ETrue);
+        switch (aExecutionMode)
+            {
+            case ESynchronous:
+                ExecuteAndDeleteLD(iOperation);
+                break;
+            case EAsynchronous:
+                RunAsyncOperationLD(iOperation);
+                break;
+            case EWaitForRequest:
+                RunAsyncOperationByWaitForReqL(iOperation);
+                delete iOperation;
+            break;
+            }
+            
+        iter = iLandmarkSearch->MatchIteratorL();
+        CleanupStack::PushL(iter);
+        id = iter->NextL();
+
+        if (iLandmarkSearch->NumOfMatches() != 1)
+            {
+            _LIT(KExpected, "Expected no. of matches: %d");
+            _LIT(KReturned, "Returned no. of matches: %d");
+            TBuf<100> info;
+            info.Format(KExpected, 1);
+            iLog->Log(info);
+            info.Format(KReturned, iLandmarkSearch->NumOfMatches());
+            iLog->Log(info);
+            iLog->Log(_L("Search criteria: "));
+            iLog->Log(catSearchCriteria->CategoryName());            
+            iLog->Log(KNumOfMatchesErr);
+            CleanupStack::PopAndDestroy( 2 ); // Iter,catSearchCriteria                
+            User::Leave(-1);
+            }   
+    
+        // Set back to unlimited
+        iLandmarkSearch->SetMaxNumOfMatches();     
+        CleanupStack::PopAndDestroy( 2 ); // Iter,catSearchCriteria                           
+        }                 
+    }
+    
+// ---------------------------------------------------------
+// CPosTp21::SearchForLandmarksInGlobalCategoriesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp21::SearchForLandmarksInGlobalCategoriesL(
+    TExecutionMode aExecutionMode)
+    {        
+    iLog->Log(_L("SearchForGlobalCategoriesL"));
+    TBuf<150> buf; // Buffer used for log messages
+    buf.Zero(); 
+    
+    /*  
+     *Default db is open in the beginning of the test procedure anyway
+     *Use it for global categories related testing
+     */      
+    
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+    
+    iLandmarkSearch = CPosLandmarkSearch::NewL(*iDatabase);
+
+    // Using default database with global cateegories initialized    
+    // Add some more landmarks
+    AddLandmarksToGlobalCategoriesL();     
+
+    CPosLmCategoryCriteria* catSearchCriteria = CPosLmCategoryCriteria::NewLC();
+    
+    // Set the criteria for global category search     
+    catSearchCriteria->SetGlobalCategory( KAccommodation );    
+    if ( catSearchCriteria->GlobalCategory() == KPosLmNullGlobalCategory ) // Error in setting category search criteria
+        {
+        iLog->Log(_L("Error in setting Search criteria for global category search"));
+        buf.Format(_L("What should be set : global cat id %d, "), KAccommodation);
+        buf.Format(_L("What is set now    : global cat id %d, "), catSearchCriteria->GlobalCategory() );         
+        iLog->Log( buf );
+        buf.Zero();
+        CleanupStack::PopAndDestroy( catSearchCriteria );
+        User::Leave(-1);    
+        }
+                   
+    iOperation = iLandmarkSearch->StartLandmarkSearchL( *catSearchCriteria );
+     switch (aExecutionMode)
+        {
+        case ESynchronous:
+            ExecuteAndDeleteLD(iOperation);
+            break;
+        case EAsynchronous:
+            RunAsyncOperationLD(iOperation);
+            break;
+        case EWaitForRequest:
+            RunAsyncOperationByWaitForReqL(iOperation);
+            delete iOperation;
+            break;
+        }
+            
+    CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+    CleanupStack::PushL(iter);
+
+    /*
+     * Verify the search result
+     * iter->NumOfItems holds the total number of searched items in this iteration
+     */
+     
+    if ( iLandmarkSearch->NumOfMatches() != iter->NumOfItemsL() )     
+        {
+        iLog->Log(_L("Wrong number of landmarks returned global category search (Accomodation)"));    
+        buf.Format(_L("Expected : Num %d, "), iter->NumOfItemsL());
+        buf.Format(_L("Found    : Num %d, "), iLandmarkSearch->NumOfMatches() );
+        buf.Zero();
+        CleanupStack::PopAndDestroy(iter);
+        CleanupStack::PopAndDestroy(catSearchCriteria);
+        User::Leave( -1 );  
+        }
+        
+    CleanupStack::PopAndDestroy(iter);
+    CleanupStack::PopAndDestroy(catSearchCriteria);   
+    }
+
+// ---------------------------------------------------------
+// CPosTp21::AddLandmarksToGlobalCategoriesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp21::AddLandmarksToGlobalCategoriesL()
+    {      
+    iLog->Log(_L("AddLandmarksToGlobalCategoriesL"));
+    ExecuteAndDeleteLD(iDatabase->CompactL());    
+    CPosLandmark* lm = NULL;
+    
+    // Add some new landmarks to the db, associate some with global categories
+    
+    // lm1
+    lm = CPosLandmark::NewLC();
+    lm->SetLandmarkNameL(_L("LandmarkName1"));
+    lm->SetLandmarkDescriptionL(_L("SomeLandmarkDescription"));    
+    lm->AddCategoryL( KAccommodation );
+    lm->AddCategoryL( KBusiness );
+
+    TPosLmItemId id = iDatabase->AddLandmarkL(*lm);
+    iRestaurantId1 = id;    
+    CleanupStack::PopAndDestroy(lm);
+    
+    // lm2
+    lm = CPosLandmark::NewLC();
+    lm->SetLandmarkNameL(_L("LandmarkName2"));
+    lm->SetLandmarkDescriptionL(_L("SomeLandmarkDescription2"));    
+    lm->AddCategoryL(KAccommodation );
+    lm->AddCategoryL( KBusiness );
+    id = iDatabase->AddLandmarkL(*lm);
+    CleanupStack::PopAndDestroy(lm);
+       
+    // lm3 
+    lm = CPosLandmark::NewLC();
+    lm->SetLandmarkNameL(_L("LandmarkName3"));
+    lm->SetLandmarkDescriptionL(_L("SomeLandmarkDescription3"));    
+    lm->AddCategoryL( KAccommodation );
+    lm->AddCategoryL( KBusiness );
+    lm->AddCategoryL( KEducational );
+    id = iDatabase->AddLandmarkL(*lm);
+    CleanupStack::PopAndDestroy(lm);
+    }
+
+// ---------------------------------------------------------
+// CPosTp21::SearchNonExistingL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp21::SearchNonExistingL(TExecutionMode aExecutionMode)
+    {
+    iLog->Log(_L("SearchNonExistingL"));
+
+    CPosLmCategoryCriteria* catSearchCriteria = CPosLmCategoryCriteria::NewLC();
+    catSearchCriteria->SetCategoryNameL(_L("NonExistingLandmark"));
+
+    iOperation = iLandmarkSearch->StartLandmarkSearchL(*catSearchCriteria);        
+    switch (aExecutionMode)
+        {
+        case ESynchronous:
+            ExecuteAndDeleteLD(iOperation);
+            break;
+        case EAsynchronous:
+            RunAsyncOperationLD(iOperation);
+            break;
+        case EWaitForRequest:
+            RunAsyncOperationByWaitForReqL(iOperation);
+            delete iOperation;
+            break;
+        }
+
+    CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+    CleanupStack::PushL(iter);
+            
+    TPosLmItemId id = iter->NextL();
+    if (id != KPosLmNullItemId)
+        {
+        //LogErrorAndLeave(_L("Should return KPosLmNullItemId"));
+        iLog->Log(_L("Should return KPosLmNullItemId"));
+        User::Leave(-1);
+        }
+    CleanupStack::PopAndDestroy(iter);
+
+    TPosLmItemId nonExistingId = 56789; 
+    catSearchCriteria->SetCategoryItemId(nonExistingId);
+
+    iOperation = iLandmarkSearch->StartLandmarkSearchL(*catSearchCriteria);
+    switch (aExecutionMode)
+        {
+        case ESynchronous:
+            ExecuteAndDeleteLD(iOperation);
+            break;
+        case EAsynchronous:
+            RunAsyncOperationLD(iOperation);
+            break;
+        case EWaitForRequest:
+            RunAsyncOperationByWaitForReqL(iOperation);
+            delete iOperation;
+            break;
+        }
+    
+    iter = iLandmarkSearch->MatchIteratorL();
+    CleanupStack::PushL(iter);
+            
+    id = iter->NextL();
+    if (id != KPosLmNullItemId)
+        {
+        //LogErrorAndLeave(_L("Should return KPosLmNullItemId"));
+        iLog->Log(_L("Should return KPosLmNullItemId"));
+        User::Leave(-1);
+        }
+
+    CleanupStack::PopAndDestroy(iter);
+    
+    //Test with invalid id as global category id
+    catSearchCriteria->SetGlobalCategory((TPosLmGlobalCategory)nonExistingId);
+
+    iOperation = iLandmarkSearch->StartLandmarkSearchL(*catSearchCriteria);
+    ExecuteAndDeleteLD(iOperation);
+    
+    iter = iLandmarkSearch->MatchIteratorL();
+    CleanupStack::PushL(iter);
+            
+    id = iter->NextL();
+    if (id != KPosLmNullItemId)
+        {
+        //LogErrorAndLeave(_L("Should return KPosLmNullItemId"));
+        iLog->Log(_L("Should return KPosLmNullItemId"));
+        User::Leave(-1);
+        }
+
+    CleanupStack::PopAndDestroy(iter);
+    CleanupStack::PopAndDestroy(catSearchCriteria);
+    }
+        
+// ---------------------------------------------------------
+// CPosTp21::SearchWithSortOrderL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp21::SearchWithSortOrderL()
+    {
+    iLog->Log(_L("SearchWithSortOrderL"));
+    
+    TPosLmSortPref sortPref(CPosLandmark::ECategoryInfo, TPosLmSortPref::EAscending);
+    CPosLmCategoryCriteria* catSearchCriteria = CPosLmCategoryCriteria::NewLC();
+
+    // Only ECategoryName is supported,all other leave with KErrNotSupported
+    TRAPD(err, iLandmarkSearch->StartLandmarkSearchL(*catSearchCriteria, sortPref));
+    if (err != KErrNotSupported)     //LogErrorAndLeave(_L("Should leave with KErrNotSupported1"));
+        {
+        iLog->Log(_L("Should leave with KErrNotSupported1"));
+        User::Leave(err);
+        }
+    
+    // Only ECategoryName is supported,all other leave with KErrNotSupported
+    catSearchCriteria->SetCategoryNameL(_L("SomeCategory"));
+    TRAP(err, iLandmarkSearch->StartLandmarkSearchL(*catSearchCriteria, sortPref));
+    if (err != KErrNotSupported)     //LogErrorAndLeave(_L("Should leave with KErrNotSupported2"));
+        {
+        iLog->Log(_L("Should leave with KErrNotSupported2"));
+        User::Leave(err);	
+        }
+       
+    // Only ECategoryName is supported,all other leave with KErrNotSupported
+    sortPref.SetSortByLandmarkAttribute(CPosLandmark::EDescription, TPosLmSortPref::EDescending);
+    TRAP(err, iLandmarkSearch->StartLandmarkSearchL(*catSearchCriteria, sortPref));
+    if (err != KErrNotSupported)// LogErrorAndLeave(_L("Should leave with KErrNotSupported3"));
+        {
+        iLog->Log(_L("Should leave with KErrNotSupported3"));
+        User::Leave(err);	
+        }
+    CleanupStack::PopAndDestroy(catSearchCriteria);
+
+    // Also test with a category criteria into a landmarksearch operation
+    sortPref.SetSortByLandmarkAttribute(CPosLandmark::ELandmarkName, TPosLmSortPref::EDescending);
+    CPosLmCatNameCriteria* nameCriteria = CPosLmCatNameCriteria::NewLC();
+    nameCriteria->SetSearchPatternL(_L("SomeCategoryPattern"));
+    TRAP(err, iLandmarkSearch->StartLandmarkSearchL(*nameCriteria, sortPref));
+    if (err != KErrArgument) //LogErrorAndLeave(_L("Should leave with KErrNotSupported4"), err);
+        {
+        iLog->Log(_L("Should leave with KErrNotSupported4"));
+        User::Leave(err);	
+        }
+    CleanupStack::PopAndDestroy(nameCriteria);
+    }
+
+//---------------------------------------------------------
+// CPosTp21::SearchAndCancelL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp21::SearchAndCancelL(const TBool& aInCallback)
+    {            
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect when the search is performed");
+    _LIT(KCancelErr, "The search is canceled after progress has increased but no search result is found");
+
+    // Test search with one criteria
+    
+    const TInt KIndex = 10;    // Try testing with referenced category at index 10
+    TPtrC refCatName;
+
+    CPosLmCategoryCriteria* catSearchCriteria = CPosLmCategoryCriteria::NewLC();
+    
+    TInt err = iReferencedCategories[KIndex]->GetCategoryName( refCatName );
+    if (err == KErrNone) // Got the category name
+        {
+        catSearchCriteria->SetCategoryNameL( refCatName );    
+        }
+    else 
+        {
+        iLog->Log(_L("Error in setting category search criteria"));   
+        CleanupStack::PopAndDestroy(); // catSearchCriteria   
+        User::Leave(-1);    
+        }    
+    
+    if (aInCallback)
+        {
+        RunAsyncOperationAndCancelInCallbackLD(
+                         iLandmarkSearch->StartLandmarkSearchL(*catSearchCriteria));
+        }
+    else
+        {
+        RunAsyncOperationAndCancelLD( 
+              iLandmarkSearch->StartLandmarkSearchL(
+                               *catSearchCriteria));
+        }
+
+    CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+    CleanupStack::PushL(iter);
+ 
+    if (aInCallback)
+        {
+        if (iter->NumOfItemsL() != iLandmarkSearch->NumOfMatches())
+            {
+            iLog->Log(_L("Iterators no. of items is not equal to LandmarksSearch no. matches"));
+            _LIT( KExpected, "Iter. of matches: %d" );
+            _LIT( KReturned, "LandmarksSearch no. of matches: %d" );
+            TBuf<100> info;
+            info.Format( KExpected, iter->NumOfItemsL() );            
+            info.Format( KReturned, iLandmarkSearch->NumOfMatches());
+            iLog->Log( info );            
+            iLog->Log( KNumOfMatchesErr  );
+            CleanupStack::PopAndDestroy ( 2 );
+       		User::Leave(-1);
+            }
+            
+        TBuf<100> info2;
+        _LIT(KNof, "No. of matches found before cancel = %d");
+        info2.Format(KNof, iter->NumOfItemsL());
+        iLog->Log(info2);
+
+        AssertTrueSecL(iter->NumOfItemsL() != 0, KCancelErr);
+        }
+        
+    CleanupStack::PopAndDestroy( 2 );// Iter, catSearchCriteria    
+    
+    
+    
+    }
+
+// ---------------------------------------------------------
+// CPosTp21::TestSearchPatternLengthL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp21::TestSearchPatternLengthL()
+    {
+    iLog->Log(_L("TestSearchPatternLengthL"));
+    
+    CPosLmCategoryCriteria* catSearchCriteria = CPosLmCategoryCriteria::NewLC();
+    
+    //Test with maximum size of search pattern
+    //KPosLmMaxCategoryNameLength is 124 (from EPos_Landmarks.h)
+    HBufC* hbuf = HBufC::NewLC(KPosLmMaxCategoryNameLength+1);
+    while(hbuf->Des().Length() < KPosLmMaxCategoryNameLength)
+        {
+        hbuf->Des().Append(_L("*"));
+        }
+    catSearchCriteria->SetCategoryNameL(*hbuf);
+        
+    hbuf->Des().Append(_L("*"));
+    
+    TRAPD(err, catSearchCriteria->SetCategoryNameL(*hbuf));
+
+    AssertTrueSecL(err == KErrArgument, _L("It should not be possible to set search pattern"));
+    CleanupStack::PopAndDestroy(hbuf);
+    CleanupStack::PopAndDestroy(catSearchCriteria);
+    }
+
+
+/*
+ * Added for BC testing 
+ */
+
+    
+// ---------------------------------------------------------
+// CPosTp11::AddCategoriesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp21::AddCategoriesL()
+    {
+    _LIT(KName, "CategoryTP21 - %d");
+    TInt err=KErrLocked;
+    for (TInt i=0; i<KNoCategoriesTp21; i++)
+        {
+        TBuf<100> categoryName;
+        categoryName.Format(KName,i);
+       
+        CPosLandmarkCategory* lmc = CPosLandmarkCategory::NewLC();
+        lmc->SetCategoryNameL(categoryName);
+        err = KErrLocked;
+        while (err == KErrLocked)
+            {
+            TRAP(err, iCategoryManager->AddCategoryL(*lmc));
+            }
+    
+        iCategories.Append(lmc);  
+        //TPosLmItemId catId = iCategories [i]->CategoryId();     
+        CleanupStack::Pop(lmc);
+        }    
+    }
+
+// ---------------------------------------------------------
+// CPosTp11::AddLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp21::AddLandmarksL()
+    {
+    _LIT(KLmName, "LmTP21 - %d");
+    TInt err = KErrLocked;
+    TPosLmItemId catId(0);
+    for (TInt i=0; i<KNoLandmarksTp21; i++)
+        {
+        TBuf<100> lmName;
+        lmName.Format(KLmName,i);
+       
+        CPosLandmark* landmark = CPosLandmark::NewLC();
+        landmark->SetLandmarkNameL(lmName); 
+
+        if (i % 2)
+            {
+            catId = iCategories[i]->CategoryId();
+            landmark->AddCategoryL( catId );
+            iReferencedCategories.Append(iCategories[i]);
+            }
+
+        err = KErrLocked;
+        while (err == KErrLocked)
+            {
+            TRAP(err, iDatabase->AddLandmarkL(*landmark));
+            }
+        iLandmarks.Append(landmark);
+        CleanupStack::Pop(landmark);
+        }
+    }
+    
+// ---------------------------------------------------------
+// CPosTp21::MakeEmptyLmDatabaseL()
+// ---------------------------------------------------------
+//
+void CPosTp21::MakeEmptyLmDatabaseL( CPosLandmarkDatabase& aLdb,
+                                     CPosLmCategoryManager& aCatMgr )    
+    {
+    CPosLmOperation* operation1 = aLdb.RemoveAllLandmarksL();
+    
+    //Remove all landmarks from default db : Sync call     
+    ExecuteAndDeleteLD( operation1 ); 
+
+    RArray<TPosLmItemId> catArray;
+    CleanupClosePushL( catArray );
+    
+    // Get all the categories from the database and delete them if necessary 
+    CPosLmItemIterator* iter = aCatMgr.CategoryIteratorL();
+    CleanupStack::PushL( iter );
+
+    TUint count = iter->NumOfItemsL();
+    if ( count > 0 )
+        { // can only be called if there are some items
+        iter->GetItemIdsL( catArray, 0, count );
+        }
+        
+    // Remove all the categories here Sync call     
+    ExecuteAndDeleteLD(aCatMgr.RemoveCategoriesL( catArray ));
+    
+    CleanupStack::PopAndDestroy( 2 ); // catArray, iter
+    }
+        
+    
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp23.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,778 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp23.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLandmarkSearch.h>
+#include <EPos_CPosLmTextCriteria.h>
+#include <EPos_CPosLMItemIterator.h>
+#include <EPos_CPosLmDisplayData.h>
+#include <EPos_CPosLmDisplayItem.h>
+#include <EPos_TPosLMSortPref.h>
+#include "FT_CSearchResult.h"
+     
+// CONSTANTS
+
+// ================= MEMBER FUNCTIONS =======================
+
+
+// ---------------------------------------------------------
+// CPosTp23::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp23::CloseTest()
+    {
+    //CHECK TR   Delete of landmarks search - ESLI-5WNG9N
+    delete iDatabase;
+    iDatabase = NULL;
+
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+    
+    iSearchResults.ResetAndDestroy();
+    }
+
+// ---------------------------------------------------------
+// CPosTp23::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp23::StartL()
+    {
+    _LIT(KEmptyTextCriteriaErr, "An empty string as text criteria should not be allowed");
+
+    iDatabase = UseGeneratedDbFileL();
+    
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+
+    iLandmarkSearch = CPosLandmarkSearch::NewL(*iDatabase);
+        
+    TestInvalidPositionFieldsL();
+        
+    // Check iterator before search has started (in multidb search all iterators are empty thus NOT NULL)
+    CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+    if (iter)
+    	{
+    	CleanupStack::PushL(iter);
+    	AssertTrueSecL(iter->NumOfItemsL() == 0, _L("Iterator should be empty"));
+    	CleanupStack::PopAndDestroy(iter);
+    	}
+    else
+    	{
+    	
+    	iLog->Log(_L("Iterator should NOT be NULL"));
+    	User::Leave(-1);	
+    	}
+    
+    TUint attr = CPosLandmark::ELandmarkName | CPosLandmark::EDescription;
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+    textCriteria->SetAttributesToSearch(attr);
+    textCriteria->SetTextL(_L(""));
+    
+    TRAPD(err, iLandmarkSearch->StartLandmarkSearchL(*textCriteria));
+    AssertTrueSecL(err == KErrArgument, KEmptyTextCriteriaErr);
+    CleanupStack::PopAndDestroy(textCriteria);
+    
+    AppendSearchResultsL();
+    
+    iLog->Log(_L("Testing search with criterias read from LmDbSearchResult.txt syncronously"));
+    SearchL(iSearchResults, ESynchronous);
+
+    iLog->Log(_L("Testing search with criterias read from LmDbSearchResult.txt asyncronously"));
+    SearchL(SearchResults(), EAsynchronous);
+
+    iLog->Log(_L("Testing search with criterias read from LmDbSearchResult.txt asyncronously using User::WaitForRequest"));
+    SearchL(SearchResults(), EWaitForRequest);
+
+    iLog->Log(_L("Testing search with a defined sortorder"));
+    SearchWithSortOrderL(iSearchResults);   
+
+    iLog->Log(_L("Testing search anc cancel"));
+    SearchAndCancelL();
+    
+    iLog->Log(_L("Testing search and cancel in callback"));
+    SearchAndCancelL(ETrue);
+
+    iLog->Log(_L("Testing a redefined search after a landmark has been removed"));
+    SearchAndDeleteL(iSearchResults);
+
+    iLog->Log(_L("Testing a redefined search after landmarks have been renamed"));
+    SearchAndRenameL(iSearchResults);
+    
+    iLog->Log(_L("Test max length for SetTextL"));
+    TestMaxLengthL();
+    
+    // Verify error report "ESLI-62DBXR Landmarks - Sort order is not correctly implemented"
+    // Check that CPosLandmarkSearch::MatchIteratorL are CPosLandmarkDatabase::LandmarkIteratorL
+    // are sorted correctly (should be identically sorted)
+	VerifySortOrderL();
+    }
+
+// ---------------------------------------------------------
+// CPosTp23::SearchL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp23::SearchL(
+    const RPointerArray<CSearchResult>& aSearchResults, 
+    TExecutionMode aExecutionMode)
+    {
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect when the search is performed");
+    _LIT(KNotFoundErr, "Id %d not found in parsed Lm search results when the search is performed syncronously");
+
+    // Set DisplayData
+	CPosLmDisplayData* displayData = CPosLmDisplayData::NewL();
+	CleanupStack::PushL(displayData);
+	iLandmarkSearch->SetDisplayData(*displayData);
+    	
+    for(TInt i=0; i<aSearchResults.Count(); i++)
+        {
+        CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+        
+        textCriteria->SetTextL(aSearchResults[i]->TextCriteria());
+        textCriteria->SetAttributesToSearch(aSearchResults[i]->Attributes());
+        
+        textCriteria->SetPositionFieldsToSearchL(aSearchResults[i]->PositionFields()); 
+
+        CPosLmOperation* operation = 
+            iLandmarkSearch->StartLandmarkSearchL(*textCriteria, aSearchResults[i]->Redefined());
+        CleanupStack::PushL(operation);
+         switch (aExecutionMode)
+            {
+            case ESynchronous:
+                ExecuteAndDeleteLD(operation);
+                CleanupStack::Pop(operation);
+                break;
+            case EAsynchronous:
+                RunAsyncOperationLD(operation);
+                CleanupStack::Pop(operation);
+                break;
+            case EWaitForRequest:
+                RunAsyncOperationByWaitForReqL(operation);
+                CleanupStack::PopAndDestroy(operation);                
+                break;
+            }
+
+        CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+        CleanupStack::PushL(iter);
+		       
+        if ((TUint)(aSearchResults[i]->SearchResult()).Count() != iLandmarkSearch->NumOfMatches())
+            {
+            _LIT(KExpected, "Expected no. of matches: %d");
+            _LIT(KReturned, "Returned no. of matches: %d");
+            TBuf<100> info;
+            info.Format(KExpected, (aSearchResults[i]->SearchResult()).Count());
+            iLog->Log(info);
+            info.Format(KReturned, iLandmarkSearch->NumOfMatches());
+            iLog->Log(info);
+            iLog->Log(_L("Search criteria: "));
+            iLog->Log(textCriteria->Text());
+            iLog->Log(KNumOfMatchesErr);
+            User::Leave(-1);
+            
+            }
+
+		//Check displaydata        
+        AssertTrueSecL(iter->NumOfItemsL() == displayData->Count(), _L("Wrong number of DisplayData matches"));
+        
+       	TInt itemId = displayData->NewItemIndex();
+        while (itemId != KPosLmNoNewItems)
+            {
+            CPosLmDisplayItem& item = displayData->DisplayItem(itemId);
+                       
+            if (item.DisplayItemType() != CPosLmDisplayItem::ELandmarkItem)
+            	{
+            	iLog->Log(_L("ERROR :::::"));
+                iLog->Log(_L("Wrong item returned, only ELandmarkItem should be returned"));
+            	User::Leave(-1);
+            	}
+            
+            if (item.DatabaseIndex() != 0)
+            	{
+            	// When single search, index should always be 0
+                iLog->Log(_L("Wrong DatabaseIndex, should be 0"));
+            	User::Leave(-1);
+            	
+            	}
+            
+			
+				TInt lmId = item.Landmark().LandmarkId();
+				
+        	AssertTrueSecL(aSearchResults[i]->FindSearchResult(lmId), KNotFoundErr, lmId);
+            itemId = displayData->NewItemIndex();
+           	}
+            	
+        TPosLmItemId id = iter->NextL();
+        while (id != KPosLmNullItemId)
+            {
+            AssertTrueSecL(aSearchResults[i]->FindSearchResult(id), KNotFoundErr, id);
+                 	
+            id = iter->NextL();
+            }
+        
+        CleanupStack::PopAndDestroy(iter);
+        CleanupStack::PopAndDestroy(textCriteria);
+        }
+        iLandmarkSearch->UnsetDisplayData();
+        CleanupStack::PopAndDestroy(displayData);
+    }
+
+// ---------------------------------------------------------
+// CPosTp23::VerifySortOrderL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp23::VerifySortOrderL()
+    {
+    iLog->Log(_L("VerifySortOrderL"));
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect");
+    _LIT(KNumOfMatchesErr2, "No. of matches in DisplayData is incorrect");
+    _LIT(KSortorderErr, "The sortorder is incorrect");
+    _LIT(KNameMatchError, "The landmark names does not match");
+    _LIT(KNameMatchError2, "The landmark name in DisplayData does not match");
+    
+    // Just in case, add some landmarks
+    CPosLandmark* landmark = CPosLandmark::NewLC();
+    landmark->SetLandmarkNameL(_L("CategoryA")); 
+    TPosLmItemId id1 = iDatabase->AddLandmarkL(*landmark);
+
+    CleanupStack::PopAndDestroy(landmark);
+
+    landmark = CPosLandmark::NewLC();
+    landmark->SetLandmarkNameL(_L("Categorya")); 
+    TPosLmItemId id2 = iDatabase->AddLandmarkL(*landmark);
+    CleanupStack::PopAndDestroy(landmark);
+
+    landmark = CPosLandmark::NewLC();
+    landmark->SetLandmarkNameL(_L("AA")); 
+    TPosLmItemId id3 = iDatabase->AddLandmarkL(*landmark);
+    CleanupStack::PopAndDestroy(landmark);
+
+    landmark = CPosLandmark::NewLC();
+    landmark->SetLandmarkNameL(_L("aa")); 
+    TPosLmItemId id4 = iDatabase->AddLandmarkL(*landmark);
+    CleanupStack::PopAndDestroy(landmark);
+   
+    TPosLmSortPref sortDesc(CPosLandmark::ELandmarkName, TPosLmSortPref::EDescending);
+    TPosLmSortPref sortAsc(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+    // Search pattern "*" should match all existing landmarks -> it is possible to compare
+    // sort order of CPosLandmarkSearch::MatchIteratorL with CPosLandmarkDatabase::LandmarkIteratorL
+    textCriteria->SetTextL(_L("*"));
+    
+    // Set DisplayData
+    CPosLmDisplayData* displayData = CPosLmDisplayData::NewL();
+	CleanupStack::PushL(displayData);
+    iLandmarkSearch->SetDisplayData(*displayData);
+
+    CPosLmItemIterator* lmDbIter = NULL;
+
+    for (TInt i=0; i<6; i++)
+        {
+        if(i==0)
+            {
+            // Sorted ascending
+            lmDbIter = iDatabase->LandmarkIteratorL(sortAsc);
+            CleanupStack::PushL(lmDbIter);
+            ExecuteAndDeleteLD(iLandmarkSearch->StartLandmarkSearchL(
+                *textCriteria, sortAsc, EFalse));
+            }
+        else if (i==1)
+            {
+            // Sorted descending
+            lmDbIter = iDatabase->LandmarkIteratorL(sortDesc);
+            CleanupStack::PushL(lmDbIter);
+            ExecuteAndDeleteLD(iLandmarkSearch->StartLandmarkSearchL(
+                *textCriteria, sortDesc, EFalse));
+            }
+        else if (i==2)
+            {
+            //**** Async search, sorted ascending
+            lmDbIter = iDatabase->LandmarkIteratorL(sortAsc);
+            CleanupStack::PushL(lmDbIter);
+            RunAsyncOperationLD(iLandmarkSearch->StartLandmarkSearchL(
+                *textCriteria, sortAsc, EFalse));
+            }
+        else if (i==3)
+            {
+            //**** Async search, sorted descending
+            lmDbIter = iDatabase->LandmarkIteratorL(sortDesc);
+            CleanupStack::PushL(lmDbIter);
+            RunAsyncOperationLD(iLandmarkSearch->StartLandmarkSearchL(
+                *textCriteria, sortDesc, EFalse));
+            }
+        else if (i==4)
+            {
+            //**** Async search with User::WaitForRequest(), sorted ascending
+            lmDbIter = iDatabase->LandmarkIteratorL(sortAsc);
+            CleanupStack::PushL(lmDbIter);
+            CPosLmOperation* op = iLandmarkSearch->StartLandmarkSearchL(
+                *textCriteria, sortAsc, EFalse);
+            CleanupStack::PushL(op);
+            RunAsyncOperationByWaitForReqL(op);
+            CleanupStack::PopAndDestroy(op);
+            }
+        else if (i==5)
+            {
+            //**** Async search with User::WaitForRequest(), sorted descending
+            lmDbIter = iDatabase->LandmarkIteratorL(sortDesc);
+            CleanupStack::PushL(lmDbIter);
+            CPosLmOperation* op = iLandmarkSearch->StartLandmarkSearchL(
+                *textCriteria, sortDesc, EFalse);
+            CleanupStack::PushL(op);
+            RunAsyncOperationByWaitForReqL(op);
+            CleanupStack::PopAndDestroy(op);
+            }
+
+        CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+        CleanupStack::PushL(iter);
+
+        AssertTrueSecL(iter->NumOfItemsL() == lmDbIter->NumOfItemsL(), KNumOfMatchesErr);
+        // Check correct displayData
+        AssertTrueSecL(iter->NumOfItemsL() == displayData->Count(), KNumOfMatchesErr2);
+
+		TInt itemId = displayData->NewItemIndex();
+
+        TPosLmItemId id = iter->NextL();
+        TPosLmItemId lmDbId = lmDbIter->NextL();
+        // check that the two iterators are sorted identically
+        while (id != KPosLmNullItemId)
+            {
+            CPosLandmark* source = iDatabase->ReadLandmarkLC(id);
+            CPosLandmark* target = iDatabase->ReadLandmarkLC(lmDbId);
+                   	
+        	CPosLmDisplayItem& item = displayData->DisplayItem(itemId);
+			TPtrC lmName;
+			item.Landmark().GetLandmarkName(lmName);
+            
+            TPtrC sourceName, targetName;
+            source->GetLandmarkName(sourceName);
+            target->GetLandmarkName(targetName);
+    		
+            // For debugging purposes
+            TBuf<150> buf;
+            buf.Append(_L("Name:"));
+            buf.Append(sourceName);
+            buf.Append(_L("<->"));
+            buf.Append(targetName);
+            buf.Append(_L("<->"));
+            buf.Append(lmName);
+            //iLog->Log(buf);
+            
+           
+            if (id != lmDbId) iLog->Log(_L("ids are not identical, therefore check name"));
+            // Should always be the same
+            AssertTrueSecL(sourceName.Compare(targetName) == KErrNone, KNameMatchError);
+            AssertTrueSecL(sourceName.Compare(lmName) == KErrNone, KNameMatchError2);
+            
+            CleanupStack::PopAndDestroy(target);
+            CleanupStack::PopAndDestroy(source);
+            id = iter->NextL();
+            lmDbId = lmDbIter->NextL();
+            itemId = displayData->NewItemIndex();
+            }
+        CleanupStack::PopAndDestroy(iter);
+        CleanupStack::PopAndDestroy(lmDbIter);
+        }
+    // Unset displayData before deleting
+    iLandmarkSearch->UnsetDisplayData();
+	CleanupStack::PopAndDestroy(displayData);
+    CleanupStack::PopAndDestroy(textCriteria);
+
+    //Remove landmarks created in this part
+    iDatabase->RemoveLandmarkL(id1);
+    iDatabase->RemoveLandmarkL(id2);
+    iDatabase->RemoveLandmarkL(id3);
+    iDatabase->RemoveLandmarkL(id4);
+
+    iLog->Log(_L("VerifySortOrderL Done"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp23::SearchWithSortOrderL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp23::SearchWithSortOrderL(const RPointerArray<CSearchResult>& aSearchResults)
+    {
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect when the search is performed syncronously");
+    _LIT(KSortorderErr, "The sortorder is incorrect");
+   
+    TPosLmSortPref sortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);  
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+       
+    for(TInt j=0; j<aSearchResults.Count(); j++)
+        {   
+        textCriteria->SetTextL(aSearchResults[j]->TextCriteria());
+        textCriteria->SetAttributesToSearch(aSearchResults[j]->Attributes());
+        textCriteria->SetPositionFieldsToSearchL(aSearchResults[j]->PositionFields()); 
+
+        //iLog->Log(aSearchResults[j]->TextCriteria());
+        
+        for (TInt i=0; i<6; i++)
+            {
+            switch (i)
+                {
+                //**** sync
+                case 0:
+                    ExecuteAndDeleteLD(iLandmarkSearch->StartLandmarkSearchL(
+                        *textCriteria, 
+                        sortPref, 
+                        aSearchResults[j]->Redefined()));
+                    break;
+                case 1:
+                    sortPref.SetSortByLandmarkAttribute(CPosLandmark::ELandmarkName, TPosLmSortPref::EDescending);
+                    ExecuteAndDeleteLD(iLandmarkSearch->StartLandmarkSearchL(
+                        *textCriteria, 
+                        sortPref, 
+                        aSearchResults[j]->Redefined()));
+                    break;
+                case 2:
+                //**** async
+                    RunAsyncOperationLD(iLandmarkSearch->StartLandmarkSearchL(
+                        *textCriteria, 
+                        sortPref, 
+                        aSearchResults[j]->Redefined()));
+                    break;
+                case 3:
+                    sortPref.SetSortByLandmarkAttribute(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+                    RunAsyncOperationLD(iLandmarkSearch->StartLandmarkSearchL(
+                        *textCriteria, 
+                        sortPref, 
+                        aSearchResults[j]->Redefined()));
+                    break;
+                //**** asych with User::WaitForRequest()
+                case 4:
+                    {
+                    CPosLmOperation* op = iLandmarkSearch->StartLandmarkSearchL(
+                        *textCriteria, 
+                        sortPref, 
+                        aSearchResults[j]->Redefined());
+                    CleanupStack::PushL(op);
+                    RunAsyncOperationByWaitForReqL(op);
+                    CleanupStack::PopAndDestroy(op);
+                    }
+                    break;
+                case 5:
+                    {
+                    sortPref.SetSortByLandmarkAttribute(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+                    CPosLmOperation* op = iLandmarkSearch->StartLandmarkSearchL(
+                        *textCriteria, 
+                        sortPref, 
+                        aSearchResults[j]->Redefined());
+                    CleanupStack::PushL(op);
+                    RunAsyncOperationByWaitForReqL(op);
+                    CleanupStack::PopAndDestroy(op);
+                    }
+                    break;
+                }
+           
+        CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+        CleanupStack::PushL(iter);
+        
+        RArray<TPosLmItemId>* searchResults = &aSearchResults[j]->SearchResult();
+        if ((TUint)searchResults->Count() != iLandmarkSearch->NumOfMatches())
+            {
+            TBuf<50> buf;
+            buf.Append(_L("KNumOfMatchesError when searching for "));
+            buf.Append(aSearchResults[j]->TextCriteria());
+            iLog->Log(buf);
+            
+            iLog->Log(KNumOfMatchesErr);
+            User::Leave(-1);
+            }
+        
+        LandmarksSortL(*searchResults, sortPref);
+        
+        TInt ii=0;
+        TPosLmItemId id = iter->NextL();
+        
+        while (id != KPosLmNullItemId)
+            {  
+            if (id != (*searchResults)[ii])
+                {
+                //Check if same name then don't Leave
+                CPosLandmark* source = iDatabase->ReadLandmarkLC(id);
+                CPosLandmark* target = iDatabase->ReadLandmarkLC((*searchResults)[ii]);
+                TPtrC sourceName, targetName;
+                source->GetLandmarkName(sourceName);
+                target->GetLandmarkName(targetName);
+
+                AssertTrueSecL(!sourceName.CompareC(targetName),KSortorderErr, id);
+                CleanupStack::PopAndDestroy(2, source);
+                }
+            id = iter->NextL();
+            ++ii;
+            }
+        CleanupStack::PopAndDestroy(iter);
+        } // for (TInt i=0; i<6; i++)
+        } // for(TInt j=0; j<aSearchResults.Count(); j++)
+    CleanupStack::PopAndDestroy(textCriteria);
+    }
+
+// ---------------------------------------------------------
+// CPosTp23::SearchAndDeleteL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp23::SearchAndDeleteL(const RPointerArray<CSearchResult>& aSearchResults)
+    {
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect when a redefined search is performed"); 
+    _LIT(KSortorderErr, "The sortorder is incorrect after a delete when a redefined search is performed");
+    
+    TPosLmSortPref sortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+    
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+        
+    textCriteria->SetTextL(aSearchResults[11]->TextCriteria());
+    textCriteria->SetAttributesToSearch(aSearchResults[11]->Attributes());
+    textCriteria->SetPositionFieldsToSearchL(aSearchResults[11]->PositionFields()); 
+    
+    ExecuteAndDeleteLD(iLandmarkSearch->StartLandmarkSearchL(*textCriteria, sortPref));
+    
+    RArray<TPosLmItemId>* searchResults = &aSearchResults[11]->SearchResult();
+    
+    iDatabase->RemoveLandmarkL((*searchResults)[0]); 
+    searchResults->Remove(0);
+    searchResults->Compress();
+
+    ExecuteAndDeleteLD(iLandmarkSearch->StartLandmarkSearchL(*textCriteria, sortPref, ETrue));
+    
+    CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+    CleanupStack::PushL(iter);
+
+    AssertTrueSecL((TUint)searchResults->Count() == iLandmarkSearch->NumOfMatches(), KNumOfMatchesErr);    
+             
+    LandmarksSortL(*searchResults, sortPref);
+        
+    TInt ii=0;
+    TPosLmItemId id = iter->NextL();
+    while (id != KPosLmNullItemId)
+        {  
+        AssertTrueSecL(id == (*searchResults)[ii], KSortorderErr, id);
+            
+        id = iter->NextL();
+        ++ii;
+        }
+       
+    CleanupStack::PopAndDestroy(2, textCriteria);
+    }
+
+// ---------------------------------------------------------
+// CPosTp23::SearchAndRenameL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp23::SearchAndRenameL(const RPointerArray<CSearchResult>& aSearchResults)
+    {
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect when a redefined search is performed"); 
+    const TInt KTestIndex=4;
+
+    TPosLmSortPref sortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+    
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+        
+    textCriteria->SetTextL(aSearchResults[KTestIndex]->TextCriteria());
+    textCriteria->SetAttributesToSearch(aSearchResults[KTestIndex]->Attributes());
+    textCriteria->SetPositionFieldsToSearchL(aSearchResults[KTestIndex]->PositionFields()); 
+    
+    ExecuteAndDeleteLD(iLandmarkSearch->StartLandmarkSearchL(*textCriteria, sortPref));
+    
+    RArray<TPosLmItemId>* searchResults = &aSearchResults[KTestIndex]->SearchResult();
+    
+    _LIT(KLmName, "LmTP23-%d");
+    for (TInt i=0; i<searchResults->Count(); i++)
+        {
+        CPosLandmark* lm =iDatabase->ReadLandmarkLC((*searchResults)[i]);
+        
+        TBuf<100> lmName;
+        lmName.Format(KLmName,i);
+
+        lm->SetLandmarkNameL(lmName);
+        iDatabase->UpdateLandmarkL(*lm);
+        CleanupStack::PopAndDestroy(lm);   
+        }
+    
+    ExecuteAndDeleteLD(iLandmarkSearch->StartLandmarkSearchL(*textCriteria, sortPref, ETrue));
+    
+    CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+    CleanupStack::PushL(iter);
+
+   
+             
+    AssertTrueSecL(iLandmarkSearch->NumOfMatches()==0, KNumOfMatchesErr);    
+
+    CleanupStack::PopAndDestroy(2, textCriteria);
+   
+    }
+
+// ---------------------------------------------------------
+// CPosTp23::SearchAndCancelL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp23::SearchAndCancelL(const TBool& aInCallback)
+    {
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect when the search is performed");
+    _LIT(KCancelErr, "The search is canceled after progress has increased but no search result is found");
+
+    // Test search with one criteria
+    const TInt KIndex=0;
+
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+        
+    textCriteria->SetTextL(iSearchResults[KIndex]->TextCriteria());
+    textCriteria->SetAttributesToSearch(iSearchResults[KIndex]->Attributes());
+        
+    textCriteria->SetPositionFieldsToSearchL(iSearchResults[KIndex]->PositionFields()); 
+
+    if (aInCallback)
+        {
+        RunAsyncOperationAndCancelInCallbackLD(iLandmarkSearch->StartLandmarkSearchL(
+                *textCriteria, iSearchResults[KIndex]->Redefined()));
+        }
+    else
+        {
+        RunAsyncOperationAndCancelLD(iLandmarkSearch->StartLandmarkSearchL(
+                *textCriteria, iSearchResults[KIndex]->Redefined()));
+        }
+
+    CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+    CleanupStack::PushL(iter);
+ 
+    if (aInCallback)
+        {
+        if (iter->NumOfItemsL() != iLandmarkSearch->NumOfMatches())
+            {
+            iLog->Log(_L("Iterators no. of items is not equal to LandmarksSearch no. matches"));
+            _LIT(KExpected, "Iter. of matches: %d");
+            _LIT(KReturned, "LandmarksSearch no. of matches: %d");
+            TBuf<100> info;
+            info.Format(KExpected, iter->NumOfItemsL());
+            iLog->Log(info);
+            info.Format(KReturned, iLandmarkSearch->NumOfMatches());
+            iLog->Log(info);
+            iLog->Log(_L("Search criteria: "));
+            iLog->Log(textCriteria->Text());
+            
+            iLog->Log(KNumOfMatchesErr);
+            User::Leave(-1);
+            }
+        TBuf<100> info2;
+        _LIT(KNof, "No. of matches found before cancel = %d");
+        info2.Format(KNof, iter->NumOfItemsL());
+        iLog->Log(info2);
+
+        AssertTrueSecL(iter->NumOfItemsL() != 0, KCancelErr);
+        }
+        
+    CleanupStack::PopAndDestroy(2, textCriteria);
+       
+    }
+    
+// ---------------------------------------------------------
+// CPosTp23::TestMaxLengthL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp23::TestMaxLengthL()
+	{
+	CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+	_LIT(K255Error, "Exceeding limit should leave with KErrArgument");
+    
+	_LIT(K255CHAR, "ABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJ12345");
+	_LIT(K256CHAR, "ABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJ123456");
+
+	textCriteria->SetTextL(K255CHAR);
+	
+	TRAPD(err, textCriteria->SetTextL(K256CHAR););
+	AssertTrueSecL(err == KErrArgument, K255Error);
+
+    iOperation = iLandmarkSearch->StartLandmarkSearchL(*textCriteria);
+    ExecuteAndDeleteLD(iOperation);
+    
+    TInt nr = iLandmarkSearch->NumOfMatches();
+    TBuf<100> buf;
+    buf.Format(_L("Found %d nr of matches"), nr);
+    iLog->Log(buf);
+
+	AssertTrueSecL(nr == 0, _L("We should not find any matches"));	
+    CleanupStack::PopAndDestroy(textCriteria);	    
+	}
+
+// ---------------------------------------------------------
+// CPosTp23::TestInvalidPositionFieldsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp23::TestInvalidPositionFieldsL()
+	{
+	CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+	RArray<TUint> arr;
+	CleanupClosePushL(arr);
+		
+	textCriteria->SetTextL(_L("*"));
+	textCriteria->SetPositionFieldsToSearchL(arr);
+
+	// Search with empty positionfields list, should find all landmarks
+	iOperation = iLandmarkSearch->StartLandmarkSearchL(*textCriteria);
+    ExecuteAndDeleteLD(iOperation);
+    TInt nr = iLandmarkSearch->NumOfMatches();
+    TBuf<100> buf;
+    buf.Format(_L("Found %d nr of matches when searching in empty position fields list"), nr);
+    iLog->Log(buf);
+    
+    	
+		
+	User::LeaveIfError(arr.Append(0));
+	User::LeaveIfError(arr.Append(50));
+	User::LeaveIfError(arr.Append(500));
+	textCriteria->SetPositionFieldsToSearchL(arr);
+
+	// Search with invalid positionfields list, should NOT find any landmarks
+	iOperation = iLandmarkSearch->StartLandmarkSearchL(*textCriteria);
+    ExecuteAndDeleteLD(iOperation);
+    nr = iLandmarkSearch->NumOfMatches();
+
+    buf.Format(_L("Found %d nr of matches when searching in invalid position fields"), nr);
+    iLog->Log(buf);
+    
+    AssertTrueSecL(nr == 0, _L("We should not find any matches"));
+    
+    CleanupStack::PopAndDestroy(&arr);
+    CleanupStack::PopAndDestroy(textCriteria);
+	}
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp24.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,384 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp24.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLandmark.h> 
+#include <EPos_CPosLandmarkSearch.h> 
+#include <EPos_CPosLmAreaCriteria.h>
+#include <EPos_CPosLMItemIterator.h> 
+           
+// ================= MEMBER FUNCTIONS =======================
+
+
+// ---------------------------------------------------------
+// CPosTp24::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp24::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+    delete iDatabase;
+    iDatabase = NULL;
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+    iAreaSearchResults.ResetAndDestroy();
+    delete iOperation;iOperation=NULL;
+    }
+
+// ---------------------------------------------------------
+// CPosTp24::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp24::StartL()
+    {
+    iDatabase = UseGeneratedDbFileL();
+    
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+    iLandmarkSearch = CPosLandmarkSearch::NewL(*iDatabase);  
+
+    AppendAreaSearchResultsL();	
+
+    // Invalid areas is tested (see LmDbAreaSearchResult.txt)   
+    iLog->Log(_L("Testing area search with criterias read from LmDbAreaSearchResult.txt syncronously"));
+    SearchL(ESynchronous);
+
+    iLog->Log(_L("Testing area search with criterias read from LmDbAreaSearchResult.txt asyncronously"));
+    SearchL(EAsynchronous);
+   
+    iLog->Log(_L("Testing area search with criterias read from LmDbAreaSearchResult.txt asyncronously with User::WaitForRequest()"));
+    SearchL(EWaitForRequest);
+   
+    iLog->Log(_L("Testing area search with a defined sortorder"));
+    SearchWithSortOrderL();
+    
+    iLog->Log(_L("Testing area search and cancel"));
+    SearchAndCancelL();
+    iLog->Log(_L("Testing area search and cancel in callback"));
+    SearchAndCancelL(ETrue);
+    }
+
+// ---------------------------------------------------------
+// CPosTp24::SearchL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp24::SearchL(TExecutionMode aExecutionMode)    
+    {
+    TBuf<255> info;
+    for (TInt i=0; i<iAreaSearchResults.Count(); i++)
+        {
+        CPosLmAreaCriteria* areaCriteria=NULL;
+        TRAPD(err, areaCriteria = CPosTp24::NewLmAreaCriteriaL(iAreaSearchResults[i]->SouthLat(),
+                                                               iAreaSearchResults[i]->NorthLat(),
+                                                               iAreaSearchResults[i]->WestLong(),
+                                                               iAreaSearchResults[i]->EastLong()
+                                                               ));
+        CleanupStack::PushL(areaCriteria);
+        if (err != iAreaSearchResults[i]->ErrorCode())
+            {
+            iLog->Log(_L("Unexpected error code returned"));    
+            iLog->Log(_L("Area Search result read from file:"));
+            
+            iAreaSearchResults[i]->Print(info);
+            iLog->Log(info);
+
+            _LIT(KReturned, "Search returned errorCode = %d");
+            info.Format(KReturned, err);
+            iLog->Log(info);
+            User::Leave(KErrGeneral);
+            }
+        
+        if (!err)
+            {
+            iOperation = iLandmarkSearch->StartLandmarkSearchL(
+                *areaCriteria, iAreaSearchResults[i]->Redefined());
+            switch (aExecutionMode)
+                {
+                case ESynchronous:
+                    ExecuteAndDeleteLD(iOperation);
+                    iOperation = NULL;
+                    break;
+                case EAsynchronous:
+                    RunAsyncOperationLD(iOperation);
+                    iOperation = NULL;
+                    break;
+                case EWaitForRequest:
+                    RunAsyncOperationByWaitForReqL(iOperation);
+                    delete iOperation;iOperation=NULL;
+                    break;
+                }
+
+            CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+            CleanupStack::PushL(iter);
+
+            if ((TUint)(iAreaSearchResults[i]->SearchResult()).Count() != iLandmarkSearch->NumOfMatches())
+                {
+                iLog->Log(_L("Unexpected no. of matches returned"));  
+                _LIT(KExpected, "Expected no. of matches: %d ");
+                _LIT(KReturned, "Returned no. of matches: %d ");
+                info.Format(KExpected, (iAreaSearchResults[i]->SearchResult()).Count());
+                iLog->Log(info);
+                info.Format(KReturned, iLandmarkSearch->NumOfMatches());
+                iLog->Log(info);
+                iLog->Log(_L("Area Search result read from file:"));
+                info.Zero();
+                iAreaSearchResults[i]->Print(info);
+                iLog->Log(info);
+
+                iLog->Log(_L("Landmarks expected to find:"));
+                for (TInt j=0; j<iAreaSearchResults[i]->SearchResult().Count(); j++)
+                    {
+                    RArray<TPosLmItemId>* searchResults = &iAreaSearchResults[i]->SearchResult();
+                    CPosLandmark* lm = iDatabase->ReadLandmarkLC((*searchResults)[j]); 
+                    info.Zero();
+                    PrintLandmark(*lm, info);
+                    iLog->Log(info);
+                    CleanupStack::PopAndDestroy(lm);
+                    }     
+
+               iLog->Log(_L("Landmarks returned by Area search:"));
+               TPosLmItemId id = iter->NextL();
+               while (id != KPosLmNullItemId)
+                    {
+                    CPosLandmark* lm2 = iDatabase->ReadLandmarkLC(id); 
+                    info.Zero();
+                    PrintLandmark(*lm2, info);
+                    iLog->Log(info);
+                    CleanupStack::PopAndDestroy(lm2);
+                    id = iter->NextL();
+                    }
+          
+                User::Leave(KErrGeneral);
+                }
+
+            TPosLmItemId id = iter->NextL();
+            while (id != KPosLmNullItemId)
+                {
+                if (!iAreaSearchResults[i]->FindSearchResult(id))
+                    {
+                    _LIT(KUnexpectedId, "Unexpected id, %d returned from search which is not in read area search result");  
+                    info.Format(KUnexpectedId, id);
+                    iLog->Log(_L("Area Search result read from file:"));
+                    iAreaSearchResults[i]->Print(info);
+                    iLog->Log(info);
+                    User::Leave(KErrGeneral);
+                    }
+                id = iter->NextL();
+                }
+            CleanupStack::PopAndDestroy(iter);
+            }
+        CleanupStack::PopAndDestroy(areaCriteria);
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp24::SearchWithSortOrderL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp24::SearchWithSortOrderL()
+    {
+    const TInt KSortOrderIndex=4;
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect");
+    _LIT(KSortorderErr, "The sortorder is incorrect");
+
+    TPosLmSortPref sortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+   
+    CPosLmAreaCriteria* areaCriteria=CPosLmAreaCriteria::NewLC(
+                    iAreaSearchResults[KSortOrderIndex]->SouthLat(),
+                    iAreaSearchResults[KSortOrderIndex]->NorthLat(),
+                    iAreaSearchResults[KSortOrderIndex]->WestLong(),
+                    iAreaSearchResults[KSortOrderIndex]->EastLong()
+                                                              );
+                                                              
+    // Test SetSearchArea
+    areaCriteria->SetSearchArea(iAreaSearchResults[KSortOrderIndex]->SouthLat(),
+                    iAreaSearchResults[KSortOrderIndex]->NorthLat(),
+                    iAreaSearchResults[KSortOrderIndex]->WestLong(),
+                    iAreaSearchResults[KSortOrderIndex]->EastLong());
+                    
+                    
+    TReal64 southLat;
+    TReal64 northLat;
+    TReal64 westLong;
+    TReal64 eastLong;
+    areaCriteria->GetSearchArea(southLat, northLat, westLong, eastLong);
+    AssertTrueSecL(southLat == iAreaSearchResults[KSortOrderIndex]->SouthLat(), _L("SouthLat is wrong"));
+    AssertTrueSecL(northLat == iAreaSearchResults[KSortOrderIndex]->NorthLat(), _L("NorthLat is wrong"));
+    AssertTrueSecL(westLong == iAreaSearchResults[KSortOrderIndex]->WestLong(), _L("WestLong is wrong"));
+    AssertTrueSecL(eastLong == iAreaSearchResults[KSortOrderIndex]->EastLong(), _L("EastLong is wrong"));
+    
+                    
+    for (TInt i=0; i<6; i++)
+        {
+        if(i==0)
+            {
+            iOperation = iLandmarkSearch->StartLandmarkSearchL(*areaCriteria, sortPref);
+            ExecuteAndDeleteLD(iOperation);
+            }
+        else if (i==1)
+            {
+            sortPref.SetSortByLandmarkAttribute(CPosLandmark::ELandmarkName, TPosLmSortPref::EDescending);
+            iOperation = iLandmarkSearch->StartLandmarkSearchL(*areaCriteria, sortPref);
+            ExecuteAndDeleteLD(iOperation);
+            }
+        else if (i==2)
+            {
+            iOperation = iLandmarkSearch->StartLandmarkSearchL(*areaCriteria, sortPref);
+            RunAsyncOperationLD(iOperation);
+            }
+        else if (i==3)
+            {
+            sortPref.SetSortByLandmarkAttribute(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+            iOperation = iLandmarkSearch->StartLandmarkSearchL(*areaCriteria, sortPref);
+            RunAsyncOperationLD(iOperation);
+            }
+        else if (i==4)
+            {
+            iOperation = iLandmarkSearch->StartLandmarkSearchL(*areaCriteria, sortPref);
+            RunAsyncOperationByWaitForReqL(iOperation);
+            delete iOperation;iOperation=NULL;
+            }
+        else if (i==5)
+            {
+            sortPref.SetSortByLandmarkAttribute(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+            iOperation = iLandmarkSearch->StartLandmarkSearchL(*areaCriteria, sortPref);
+            RunAsyncOperationByWaitForReqL(iOperation);
+            delete iOperation;iOperation=NULL;
+            }
+        iOperation = NULL;
+        CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+        CleanupStack::PushL(iter);
+        
+        RArray<TPosLmItemId>* searchResults = &iAreaSearchResults[KSortOrderIndex]->SearchResult();
+        AssertTrueSecL((TUint)searchResults->Count() == iLandmarkSearch->NumOfMatches(), KNumOfMatchesErr);    
+        
+        LandmarksSortL(*searchResults, sortPref);
+        
+        TInt ii=0;
+        TPosLmItemId id = iter->NextL();
+        while (id != KPosLmNullItemId)
+            {  
+            AssertTrueSecL(id == (*searchResults)[ii], KSortorderErr, id);
+            
+            id = iter->NextL();
+            ++ii;
+            }
+        CleanupStack::PopAndDestroy(iter);
+        }
+
+    CleanupStack::PopAndDestroy(areaCriteria);
+    }
+
+// ---------------------------------------------------------
+// CPosTp24::NewLmAreaCriteriaL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+CPosLmAreaCriteria* CPosTp24::NewLmAreaCriteriaL(const TReal64 &aSouthLat, 
+                                                 const TReal64 &aNorthLat,
+                                                 const TReal64 &aWestLong, 
+                                                 const TReal64 &aEastLong) 
+    {
+    CPosLmAreaCriteria* areaCriteria = CPosLmAreaCriteria::NewLC(aSouthLat, 
+                                                                aNorthLat, 
+                                                                aWestLong, 
+                                                                aEastLong
+                                                                );
+    CleanupStack::Pop();
+    return areaCriteria;
+    }
+
+// ---------------------------------------------------------
+// CPosTp24::SearchAndCancelL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp24::SearchAndCancelL(const TBool& aInCallback)
+    {
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect when the search is performed");
+    _LIT(KCancelErr, "The search is canceled after progress has increased but no search result is found");
+
+    // Test search with one criteria
+    const TInt KIndex=0;
+
+   CPosLmAreaCriteria* areaCriteria=NULL;
+   areaCriteria = CPosLmAreaCriteria::NewLC(iAreaSearchResults[KIndex]->SouthLat(),
+                                            iAreaSearchResults[KIndex]->NorthLat(),
+                                            iAreaSearchResults[KIndex]->WestLong(),
+                                            iAreaSearchResults[KIndex]->EastLong()
+                                            );
+
+    if (aInCallback)
+        {
+        RunAsyncOperationAndCancelInCallbackLD(iLandmarkSearch->StartLandmarkSearchL(
+                *areaCriteria, iAreaSearchResults[KIndex]->Redefined()));
+        }
+    else
+        {
+        RunAsyncOperationAndCancelLD(iLandmarkSearch->StartLandmarkSearchL(
+                *areaCriteria, iAreaSearchResults[KIndex]->Redefined()));
+        }
+
+    CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+    CleanupStack::PushL(iter);
+ 
+    if (aInCallback)
+        {
+        if (iter->NumOfItemsL() != iLandmarkSearch->NumOfMatches())
+            {
+            iLog->Log(_L("Iterators no. of items is not equal to LandmarksSearch no. matches"));
+            _LIT(KExpected, "Iter. of matches: %d");
+            _LIT(KReturned, "LandmarksSearch no. of matches: %d");
+            TBuf<100> info;
+            info.Format(KExpected, iter->NumOfItemsL());
+            iLog->Log(info);
+            info.Format(KReturned, iLandmarkSearch->NumOfMatches());
+            iLog->Log(info);
+           
+            iLog->Log(KNumOfMatchesErr);
+            User::Leave(-1);
+            }
+        TBuf<100> info2;
+        _LIT(KNof, "No. of matches found before cancel = %d");
+        info2.Format(KNof, iter->NumOfItemsL());
+        iLog->Log(info2);
+
+        AssertTrueSecL(iter->NumOfItemsL() != 0, KCancelErr);
+        }
+        
+    CleanupStack::PopAndDestroy(2, areaCriteria);
+    
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp25.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,958 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp25.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLandmarkSearch.h> 
+#include <EPos_CPosLmTextCriteria.h>
+#include <EPos_CPosLmCatNameCriteria.h>
+#include <EPos_CPosLMItemIterator.h>    
+#include <EPos_CPosLmDisplayData.h>
+#include <EPos_CPosLmDisplayItem.h>
+#include <EPos_TPosLMSortPref.h>
+#include "FT_CSearchResult.h"
+#include <EPos_Landmarks.h>
+#include "FT_LandmarkConstants.h"
+
+// CONSTANTS
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp25::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp25::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+    
+    delete iDatabase;
+    iDatabase=NULL;
+
+    iCategorySearchResults.ResetAndDestroy();
+
+    }
+
+// ---------------------------------------------------------
+// CPosTp25::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp25::StartL()
+    {
+    _LIT(KEmptyTextCriteriaErr, "An empty string as text criteria should not be allowed");
+    _LIT(KEmptyTextCriteriaErr1, "An empty text criteria should not be allowed");
+    // copy test db to the private path
+    _LIT(KTestPath, "c:\\system\\test\\testdata\\");
+
+    CFileMan* fileMan = CFileMan::NewL(iFileSession);
+    CleanupStack::PushL(fileMan);
+
+    TBuf<150> srcPath;
+
+    srcPath.Append(KTestPath);
+    srcPath.Append(KTp25TestDb);
+
+    TInt er = fileMan->Copy(srcPath, KLmTp25DefaultDbPath,
+            CFileMan::EOverWrite);
+    if (er != KErrNone)
+        iLog->Log(_L("Error when copying file"));
+
+    CleanupStack::PopAndDestroy(fileMan);
+    
+    CPosLmDatabaseManager* manager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(manager);
+
+    // This db must exist
+    manager->SetDefaultDatabaseUriL(KTp25TestDb);
+    CleanupStack::PopAndDestroy(manager);
+
+    iDatabase = CPosLandmarkDatabase::OpenL(KTp25TestDb);
+    if (iDatabase->IsInitializingNeeded())
+        {
+        TRAPD( err, ExecuteAndDeleteLD( iDatabase->InitializeL() ) );
+        AssertTrueSecL(err == KErrNone, _L("Init db failed"));
+        }
+    
+    
+
+    iLandmarkSearch = CPosLandmarkSearch::NewL(*iDatabase);
+        
+    TInt err = KErrNone;
+    CPosLmCatNameCriteria* nameCriteria = CPosLmCatNameCriteria::NewLC();
+       
+    // Start by testing some error flows, returning KErrArgument
+    TRAP(err, iLandmarkSearch->StartCategorySearchL(*nameCriteria, CPosLmCategoryManager::ECategorySortOrderNone)); 
+    AssertTrueSecL(err == KErrArgument, KEmptyTextCriteriaErr1);
+
+
+    // Test with a landmark search criteria into a category search operation
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+    textCriteria->SetTextL(_L("*"));
+    TRAP(err, iLandmarkSearch->StartCategorySearchL(*textCriteria, CPosLmCategoryManager::ECategorySortOrderNone));
+    AssertTrueSecL(err == KErrArgument, KEmptyTextCriteriaErr);
+    CleanupStack::PopAndDestroy(textCriteria);
+
+    // Test empty string
+    nameCriteria->SetSearchPatternL(_L(""));   
+    TRAP(err, iLandmarkSearch->StartCategorySearchL(*nameCriteria, CPosLmCategoryManager::ECategorySortOrderNone));
+    AssertTrueSecL(err == KErrArgument, KEmptyTextCriteriaErr);
+    CleanupStack::PopAndDestroy(nameCriteria);
+    
+    // test with maximum nr of characters in search pattern
+    TestSearchPatternLengthL();
+    
+    AppendCategorySearchResultsL();
+
+	// Search synchronously
+    iLog->Log(_L("Testing search with criterias read from LmDbSearchResult.txt syncronously"));
+    SearchL(iCategorySearchResults, ESynchronous);
+
+    iLog->Log(_L("Testing search with sort order"));
+    SearchWithSortOrderL(iCategorySearchResults, ESynchronous);
+
+    iLog->Log(_L("Testing search with maximum nr of matches"));
+    SearchWithMaximumL(iCategorySearchResults, ESynchronous);
+
+	// Search asynchronously
+    iLog->Log(_L("Testing search with criterias read from LmDbSearchResult.txt asyncronously"));
+    SearchL(iCategorySearchResults, EAsynchronous);
+
+    iLog->Log(_L("Testing search with sort order asynchronously"));
+    SearchWithSortOrderL(iCategorySearchResults, EAsynchronous);
+
+    iLog->Log(_L("Testing search with maximum nr of matches asynchronously"));
+    SearchWithMaximumL(iCategorySearchResults, EAsynchronous);
+
+	// Search asynchronously with User::WaitForRequest()
+    iLog->Log(_L("Testing search with criterias read from LmDbSearchResult.txt asyncronously using User::WaitForRequest()"));
+    SearchL(iCategorySearchResults, EWaitForRequest);
+
+    iLog->Log(_L("Testing search with sort order asynchronously using User::WaitForRequest()"));
+    SearchWithSortOrderL(iCategorySearchResults, EWaitForRequest);
+
+    iLog->Log(_L("Testing search with maximum nr of matches asynchronously using User::WaitForRequest()"));
+    SearchWithMaximumL(iCategorySearchResults, EWaitForRequest);
+
+	// Search for added categories
+    iLog->Log(_L("Testing search after category has been added"));
+    SearchAfterAddedCategoryL();
+
+	// Cancel search test
+    iLog->Log(_L("Testing category search and cancel"));    
+    SearchAndCancelL();
+
+    iLog->Log(_L("Testing category search and cancel in callback"));    
+    SearchAndCancelL(ETrue);
+
+    delete iDatabase;
+    iDatabase = NULL;
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+    iDatabase = UseGlobalCategoriesL();
+    
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+       
+    iLandmarkSearch = CPosLandmarkSearch::NewL(*iDatabase);
+
+    // Do reset so that global categories are included
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);   
+    ExecuteAndDeleteLD(categoryManager->ResetGlobalCategoriesL());
+    CleanupStack::PopAndDestroy(categoryManager);
+
+    iLog->Log(_L("Testing search with global categories included, sync"));
+    SearchGlobalL(iCategorySearchResults, ETrue);
+
+    iLog->Log(_L("Testing search with global categories included, asyncronously"));
+    SearchGlobalL(iCategorySearchResults, EFalse);
+
+    // Verify error report "ESLI-62DBXR Landmarks - Sort order is not correctly implemented"
+    // Check that CPosLandmarkSearch::MatchIteratorL are CPosLandmarkDatabase::LandmarkIteratorL
+    // are sorted correctly (should be identically sorted)
+    VerifySortOrderL();
+
+    RemoveGlobalCategoriesL();
+    
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+
+    }
+
+// ---------------------------------------------------------
+// CPosTp25::SearchL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp25::SearchL(
+    const RPointerArray<CCategorySearchResult>& aSearchResults, 
+    TExecutionMode aExecutionMode)
+    {
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect when the search is performed");
+    _LIT(KNotFoundErr, "Id %d not found in parsed Lm search results when the search is performed syncronously");
+
+    for(TInt i=0; i<aSearchResults.Count(); i++)
+        {   
+        CPosLmCatNameCriteria* nameCriteria = CPosLmCatNameCriteria::NewLC();
+        nameCriteria->SetSearchPatternL(aSearchResults[i]->TextCriteria());
+        
+        CPosLmDisplayData* displayData = CPosLmDisplayData::NewL();
+		    CleanupStack::PushL(displayData);
+        iLandmarkSearch->SetDisplayData(*displayData);
+
+        iOperation = iLandmarkSearch->StartCategorySearchL(*nameCriteria, CPosLmCategoryManager::ECategorySortOrderNone); 
+
+        // The execution flow
+        switch (aExecutionMode)
+            {
+            case ESynchronous:
+                ExecuteAndDeleteLD(iOperation);
+                break;
+            case EAsynchronous:
+                RunAsyncOperationLD(iOperation);
+                break;
+            case EWaitForRequest:
+                RunAsyncOperationByWaitForReqL(iOperation);
+                delete iOperation;
+                break;
+            }
+
+        CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+        CleanupStack::PushL(iter);
+        
+        if ((TUint)(aSearchResults[i]->SearchResult()).Count() != iLandmarkSearch->NumOfMatches())
+            {
+            _LIT(KExpected, "Expected no. of matches: %d");
+            _LIT(KReturned, "Returned no. of matches: %d");
+            TBuf<100> info;
+            info.Format(KExpected, (aSearchResults[i]->SearchResult()).Count());
+            iLog->Log(info);
+            info.Format(KReturned, iLandmarkSearch->NumOfMatches());
+            iLog->Log(info);
+            iLog->Log(_L("Name criteria: "));
+            iLog->Log(nameCriteria->SearchPattern());
+            iLog->Log(KNumOfMatchesErr);
+            User::Leave(-1);
+            }
+
+        TPosLmItemId id = iter->NextL();
+        while (id != KPosLmNullItemId)
+            {
+            AssertTrueSecL(aSearchResults[i]->FindSearchResult(id), KNotFoundErr, id);
+
+            id = iter->NextL();
+            }
+
+		// Check DisplayData below                
+        TInt nrr = displayData->Count();
+        
+            if ((TUint)(aSearchResults[i]->SearchResult()).Count() != displayData->Count())
+            {
+            _LIT(KExpected, "Expected no. of displaydata matches: %d");
+            _LIT(KReturned, "Returned no. of displaydata matches: %d");
+            TBuf<100> info;
+            info.Format(KExpected, (aSearchResults[i]->SearchResult()).Count());
+            iLog->Log(info);
+            info.Format(KReturned, displayData->Count());
+            iLog->Log(info);
+            iLog->Log(_L("Name criteria: "));
+            iLog->Log(nameCriteria->SearchPattern());
+                        
+            iLog->Log(KNumOfMatchesErr);
+            User::Leave(-1);
+            }
+
+        TInt itemId = displayData->NewItemIndex();
+        while (itemId != KPosLmNoNewItems)
+            {
+            CPosLmDisplayItem& item = displayData->DisplayItem(itemId);
+            
+            if (item.DisplayItemType() != CPosLmDisplayItem::ECategoryItem)
+            	{
+            	iLog->Log(_L("ERROR :::::"));
+            	iLog->Log(_L("Wrong item returned, only ECategoryItem should be returned"));
+            	User::Leave(-1);
+            	}
+            
+            if (item.DisplayItemType() == CPosLmDisplayItem::ELandmarkItem)
+            	{
+            	iLog->Log(_L("Is ELandmarkItem:::::"));
+            	}
+            
+            if (item.DatabaseIndex() != 0)
+            	{
+            	// When single search, index should always be 0
+            	iLog->Log(_L("Wrong DatabaseIndex, should be 0"));
+            	User::Leave(-1);
+            	
+            	}
+			
+			      TInt categoryId = item.Category().CategoryId();
+
+            if (!aSearchResults[i]->FindSearchResult(categoryId))
+            	{
+            	iLog->Log(_L("Not Found"));
+            	TPtrC name;
+				      item.Category().GetCategoryName(name);
+    			    iLog->Log(name);
+            	iLog->Log(_L("Could not find LandmarkCategory"));
+            	User::Leave(-1);
+            	
+            	}
+            	itemId = displayData->NewItemIndex();
+            }
+        
+        CleanupStack::PopAndDestroy(iter);
+				iLandmarkSearch->UnsetDisplayData();
+				CleanupStack::PopAndDestroy(displayData);
+        CleanupStack::PopAndDestroy(nameCriteria);
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp25::TestSearchPatternLengthL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp25::TestSearchPatternLengthL()
+    {
+    iLog->Log(_L("TestSearchPatternLengthL"));
+    
+    CPosLmCatNameCriteria* nameCriteria = CPosLmCatNameCriteria::NewLC();  
+    //Test with maximum size of search pattern
+    //KPosLmMaxCategoryNameLength is 124 (from EPos_Landmarks.h)
+    HBufC* hbuf = HBufC::NewLC(KPosLmMaxCategoryNameLength+1);
+    while(hbuf->Des().Length() < KPosLmMaxCategoryNameLength)
+        {
+        hbuf->Des().Append(_L("*"));
+        }
+    nameCriteria->SetSearchPatternL(*hbuf);
+        
+    hbuf->Des().Append(_L("*"));
+    TRAPD(err, nameCriteria->SetSearchPatternL(*hbuf));
+
+    AssertTrueSecL(err == KErrArgument, _L("It should not be possible to set search pattern"));            
+    
+    CleanupStack::PopAndDestroy(hbuf);
+    CleanupStack::PopAndDestroy(nameCriteria);
+    }
+
+// ---------------------------------------------------------
+// CPosTp25::SearchWithSortOrderL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp25::SearchWithSortOrderL(
+    const RPointerArray<CCategorySearchResult>& aSearchResults, 
+    TExecutionMode aExecutionMode)
+    {
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect when the search is performed");
+    
+    CPosLmCategoryManager::TCategorySortPref sortPref;
+
+    for (TInt j=0;j<2;j++)
+        {
+        for(TInt i=0; i<aSearchResults.Count(); i++)
+            {   
+            CPosLmCatNameCriteria* nameCriteria = CPosLmCatNameCriteria::NewLC();
+            nameCriteria->SetSearchPatternL(aSearchResults[i]->TextCriteria());
+            
+            if (j==0) 
+                {
+                sortPref = CPosLmCategoryManager::ECategorySortOrderNameAscending;
+                iOperation = iLandmarkSearch->StartCategorySearchL(*nameCriteria, sortPref);
+                }
+            else 
+                {
+                sortPref = CPosLmCategoryManager::ECategorySortOrderNameDescending;
+                iOperation = iLandmarkSearch->StartCategorySearchL(*nameCriteria, sortPref);
+                }
+            
+            // The execution flow
+            switch (aExecutionMode)
+                {
+                case ESynchronous:
+                    ExecuteAndDeleteLD(iOperation);
+                    break;
+                case EAsynchronous:
+                    RunAsyncOperationLD(iOperation);
+                    break;
+                case EWaitForRequest:
+                    RunAsyncOperationByWaitForReqL(iOperation);
+                    delete iOperation;
+                    break;
+                }
+            
+            CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+            CleanupStack::PushL(iter);
+            
+            // Create a sorted list out of the search result
+            RArray<TPosLmItemId> searchResults = aSearchResults[i]->SearchResult();
+            // To avoid User-44 create a copy of the aSearchResults[i]
+            RArray<TPosLmItemId> searchResultsSorted;
+            CleanupClosePushL(searchResultsSorted);
+            
+            for (TInt kk=0;kk<searchResults.Count();kk++)
+                {
+                searchResultsSorted.Append(searchResults[kk]);
+                }
+
+            CategoriesSortL(searchResultsSorted, sortPref);
+
+            if ((TUint)(aSearchResults[i]->SearchResult()).Count() != iLandmarkSearch->NumOfMatches())
+                {
+                _LIT(KExpected, "Expected no. of matches: %d");
+                _LIT(KReturned, "Returned no. of matches: %d");
+                TBuf<100> info;
+                info.Format(KExpected, (aSearchResults[i]->SearchResult()).Count());
+                iLog->Log(info);
+                info.Format(KReturned, iLandmarkSearch->NumOfMatches());
+                iLog->Log(info);
+                iLog->Log(_L("Name criteria: "));
+                iLog->Log(nameCriteria->SearchPattern());
+                          
+                iLog->Log(KNumOfMatchesErr);
+            		User::Leave(-1);
+            	
+                }
+            
+            TPosLmItemId id = iter->NextL();
+            TInt counter=0;
+            while (id != KPosLmNullItemId)
+                {
+                // Check that sort order is correct
+                AssertTrueSecL(searchResultsSorted[counter] == id, _L("Error in sorting"));
+                id = iter->NextL();
+                counter++;
+                }
+            CleanupStack::PopAndDestroy(&searchResultsSorted);
+            CleanupStack::PopAndDestroy(2, nameCriteria);
+            }
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp25::SearchWithMaximumL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp25::SearchWithMaximumL(
+    const RPointerArray<CCategorySearchResult>& aSearchResults, 
+    TExecutionMode aExecutionMode)
+    {
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect when SearchWithMaximumL is performed");
+    _LIT(KNotFoundErr, "Id %d not found in parsed Lm search results when the search is performed syncronously");
+
+    CPosLmCatNameCriteria* nameCriteria = CPosLmCatNameCriteria::NewLC();
+
+    // First get the maximum number of matches
+    nameCriteria->SetSearchPatternL(_L("*"));  
+    ExecuteAndDeleteLD(iLandmarkSearch->StartCategorySearchL(*nameCriteria, CPosLmCategoryManager::ECategorySortOrderNone)); 
+    TInt max = iLandmarkSearch->NumOfMatches();
+
+    for (TInt j=1;j<=max;j++)
+        {
+        nameCriteria->SetSearchPatternL(_L("*"));
+        iLandmarkSearch->SetMaxNumOfMatches(j);
+        iOperation = iLandmarkSearch->StartCategorySearchL(*nameCriteria, CPosLmCategoryManager::ECategorySortOrderNone); 
+        
+        // The execution flow
+        switch (aExecutionMode)
+            {
+            case ESynchronous:
+                ExecuteAndDeleteLD(iOperation);
+                break;
+            case EAsynchronous:
+                RunAsyncOperationLD(iOperation);
+                break;
+            case EWaitForRequest:
+                RunAsyncOperationByWaitForReqL(iOperation);
+                delete iOperation;
+                break;
+            }
+
+        AssertTrueSecL((TUint)j == iLandmarkSearch->NumOfMatches(), KNumOfMatchesErr);
+
+        CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+        CleanupStack::PushL(iter);
+
+        TPosLmItemId id = iter->NextL();
+        while (id != KPosLmNullItemId)
+            {
+            // Use search result for position 0, should always be for *
+            AssertTrueSecL(aSearchResults[0]->FindSearchResult(id), KNotFoundErr, id);
+            id = iter->NextL();
+            }
+        CleanupStack::PopAndDestroy(iter);
+        }
+        
+    CleanupStack::PopAndDestroy(nameCriteria);
+    }
+
+// ---------------------------------------------------------
+// CPosTp25::SearchAfterAddedCategoryL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp25::SearchAfterAddedCategoryL()
+    {
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect when SearchAfterAddedCategoryL is performed");
+    _LIT(KCategoryNotFound, "Added category could not be found");
+    _LIT(KCategory, "StoraKoncernen");
+
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+    CPosLmCatNameCriteria* nameCriteria = CPosLmCatNameCriteria::NewLC();
+
+    CPosLandmarkCategory* cat1 = CPosLandmarkCategory::NewLC();
+
+    // First do a search with wildcard
+    nameCriteria->SetSearchPatternL(_L("S*"));  
+    ExecuteAndDeleteLD(iLandmarkSearch->StartCategorySearchL(*nameCriteria, CPosLmCategoryManager::ECategorySortOrderNone)); 
+
+    // Then add a new category with a name starting with S
+    cat1->SetCategoryNameL(KCategory);
+    TPosLmItemId categoryId = categoryManager->AddCategoryL(*cat1);
+    CleanupStack::PopAndDestroy(cat1);
+
+    // Then use do another search within the results of previous search
+    // should return Stadsbibliotek and Stadspark
+    nameCriteria->SetSearchPatternL(_L("St*"));
+    ExecuteAndDeleteLD(iLandmarkSearch->StartCategorySearchL(*nameCriteria, CPosLmCategoryManager::ECategorySortOrderNone, ETrue)); 
+    TInt max = iLandmarkSearch->NumOfMatches();
+
+    if (max != 2) 
+    	{
+				iLog->Log(KNumOfMatchesErr);
+        User::Leave(-1);
+			}
+    // Set a maximum number of matches, should return only one of Stadsbibliotek and Stadspark
+    iLandmarkSearch->SetMaxNumOfMatches(1);
+
+    // Do another search just to see that it is possible to find the added category
+    nameCriteria->SetSearchPatternL(KCategory);
+    ExecuteAndDeleteLD(iLandmarkSearch->StartCategorySearchL(*nameCriteria, CPosLmCategoryManager::ECategorySortOrderNone)); 
+
+    CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+    CleanupStack::PushL(iter);
+    
+    TPosLmItemId id = iter->NextL();
+    max = iLandmarkSearch->NumOfMatches();
+    
+    if (max != 1)
+    	{
+    		iLog->Log(KNumOfMatchesErr);
+        User::Leave(-1);
+    	}
+    if (categoryId != id) 
+       {
+    		iLog->Log(KCategoryNotFound);
+        User::Leave(-1);
+    	}
+
+
+    // Remove added category
+    ExecuteAndDeleteLD(categoryManager->RemoveCategoryL(categoryId));
+
+    CleanupStack::PopAndDestroy(iter);
+    CleanupStack::PopAndDestroy(nameCriteria);
+    CleanupStack::PopAndDestroy(categoryManager);
+    }
+
+// ---------------------------------------------------------
+// CPosTp25::SearchGlobalL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp25::SearchGlobalL(const RPointerArray<CCategorySearchResult>& aSearchResults, const TBool& aSync)
+    {
+    iLog->Log(_L("SearchGlobalL"));
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect when SearchGlobalL is performed");
+
+    // Nr of global categories, defined in resource file
+    const TInt KNrOfGlobalCategories = 15;
+
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+    CPosLmCatNameCriteria* nameCriteria = CPosLmCatNameCriteria::NewLC();
+    CPosLmCategoryManager::TCategorySortPref sortPref = CPosLmCategoryManager::ECategorySortOrderNameAscending;
+    
+    for (TInt l=0;l<2;l++)
+    {
+        if (l==0) sortPref = CPosLmCategoryManager::ECategorySortOrderNameAscending;
+        else if (l==1) sortPref = CPosLmCategoryManager::ECategorySortOrderNameDescending;
+
+        // i=0 the first entry in aSearchResults should be wildcard "*"
+        TInt i = 0;
+        // First do a search with wildcard
+        nameCriteria->SetSearchPatternL(aSearchResults[i]->TextCriteria());
+        iOperation = iLandmarkSearch->StartCategorySearchL(*nameCriteria, sortPref);
+        
+        // The asynchronous flow
+        if (aSync)
+        {
+            RunAsyncOperationLD(iOperation);
+        }
+        else
+        {
+            ExecuteAndDeleteLD(iOperation);
+        }
+        
+        CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+        CleanupStack::PushL(iter);
+        
+        // Create a sorted list out of the search result
+        RArray<TPosLmItemId> searchResults = aSearchResults[i]->SearchResult();
+        RArray<TPosLmItemId> searchResultsSorted;
+        
+        for (TInt kk=0;kk<searchResults.Count();kk++)
+        {
+            searchResultsSorted.Append(searchResults[kk]);
+        }
+        
+			        searchResultsSorted.Append(28);
+			        searchResultsSorted.Append(29);
+			        searchResultsSorted.Append(30);
+			        searchResultsSorted.Append(31);
+			        searchResultsSorted.Append(32);
+			        searchResultsSorted.Append(33);
+			        searchResultsSorted.Append(34);
+			        searchResultsSorted.Append(35);
+							searchResultsSorted.Append(36);
+							searchResultsSorted.Append(37);
+							searchResultsSorted.Append(38);
+							searchResultsSorted.Append(39);
+							searchResultsSorted.Append(40);
+							searchResultsSorted.Append(41);
+							searchResultsSorted.Append(42);
+
+        // Sort list according to sortPref
+        CategoriesSortL(searchResultsSorted, sortPref);
+        TUint expNr = (aSearchResults[i]->SearchResult()).Count() + KNrOfGlobalCategories;
+        TUint expNr2 = iLandmarkSearch->NumOfMatches();
+        
+        if (expNr != expNr2)
+        {
+            _LIT(KExpected, "Expected no. of matches: %d");
+            _LIT(KReturned, "Returned no. of matches: %d");
+            TBuf<100> info;
+            info.Format(KExpected, expNr);
+            iLog->Log(info);
+            info.Format(KReturned, expNr2);
+            iLog->Log(info);
+            iLog->Log(_L("Name criteria: "));
+            iLog->Log(nameCriteria->SearchPattern());
+            
+            iLog->Log(KNumOfMatchesErr);
+       		  User::Leave(-1);
+        }
+        
+        TPosLmItemId id = iter->NextL();
+        TInt counter=0;
+        while (id != KPosLmNullItemId)
+        {
+            // Check that sort order is correct
+            AssertTrueSecL(searchResultsSorted[counter] == id, _L("Error in sorting"));
+            id = iter->NextL();
+            counter++;
+        }
+        
+        CleanupStack::PopAndDestroy(iter);
+        searchResultsSorted.Reset();
+        searchResultsSorted.Close();
+
+    } // end for (TInt l=0 ...)
+    CleanupStack::PopAndDestroy(nameCriteria);
+    CleanupStack::PopAndDestroy(categoryManager);
+    iLog->Log(_L("SearchGlobalL Done"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp24::SearchAndCancelL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp25::SearchAndCancelL(const TBool& aInCallback)
+    {
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect when the search is performed");
+    _LIT(KCancelErr, "The search is canceled after progress has increased but no search result is found");
+
+    // Test search with one criteria
+    const TInt KIndex=0;
+
+    CPosLmCatNameCriteria* nameCriteria = CPosLmCatNameCriteria::NewLC();
+    nameCriteria->SetSearchPatternL(iCategorySearchResults[KIndex]->TextCriteria());
+    iLandmarkSearch->SetMaxNumOfMatches();
+
+    if (aInCallback)
+        {
+        RunAsyncOperationAndCancelInCallbackLD(iLandmarkSearch->StartCategorySearchL(
+                *nameCriteria, 
+                CPosLmCategoryManager::ECategorySortOrderNone, 
+                iCategorySearchResults[KIndex]->Redefined()));
+        }
+    else
+        {
+        RunAsyncOperationAndCancelLD(iLandmarkSearch->StartCategorySearchL(
+                *nameCriteria, 
+                CPosLmCategoryManager::ECategorySortOrderNone, 
+                iCategorySearchResults[KIndex]->Redefined()));
+        }
+
+    CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+    CleanupStack::PushL(iter);
+ 
+    if (aInCallback)
+        {
+        if (iter->NumOfItemsL() != iLandmarkSearch->NumOfMatches())
+            {
+		           	iLog->Log(_L("Iterators no. of items is not equal to LandmarksSearch no. matches"));
+		            _LIT(KExpected, "Iter. of matches: %d");
+		            _LIT(KReturned, "LandmarksSearch no. of matches: %d");
+		            TBuf<100> info;
+		            info.Format(KExpected, iter->NumOfItemsL());
+		            iLog->Log(info);
+		            info.Format(KReturned, iLandmarkSearch->NumOfMatches());
+		            iLog->Log(info);
+		            iLog->Log(KNumOfMatchesErr);
+		       		  User::Leave(-1);
+            }
+        TBuf<100> info2;
+        _LIT(KNof, "No. of matches found before cancel = %d");
+        info2.Format(KNof, iter->NumOfItemsL());
+        iLog->Log(info2);
+
+        AssertTrueSecL(iter->NumOfItemsL() != 0, KCancelErr);
+        }
+        
+    CleanupStack::PopAndDestroy(2, nameCriteria);   
+    }
+
+// ---------------------------------------------------------
+// CPosTp25::VerifySortOrderL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp25::VerifySortOrderL()
+    {
+    iLog->Log(_L("VerifySortOrderL"));
+    // Search pattern "*" should match all existing landmarks -> it is possible to compare
+    // sort order of CPosLandmarkSearch::MatchIteratorL with CPosLandmarkDatabase::LandmarkIteratorL
+
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect when the search is performed");
+    _LIT(KNumOfMatchesErr2, "No. of matches in DisplayData is incorrect when the search is performed");
+    
+    _LIT(KSortorderErr, "The sortorder is incorrect");
+    _LIT(KNameMatchError, "The landmark category name does not match");
+
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+
+    // Just in case, add some categories
+    CPosLandmarkCategory* cat1 = CPosLandmarkCategory::NewLC();
+    cat1->SetCategoryNameL(_L("CategoryA"));
+    TPosLmItemId categoryId1 = categoryManager->AddCategoryL(*cat1);
+    CleanupStack::PopAndDestroy(cat1);
+
+    cat1 = CPosLandmarkCategory::NewLC();
+    cat1->SetCategoryNameL(_L("Categorya"));
+    TPosLmItemId categoryId2 = categoryManager->AddCategoryL(*cat1);
+    CleanupStack::PopAndDestroy(cat1);
+
+    cat1 = CPosLandmarkCategory::NewLC();
+    cat1->SetCategoryNameL(_L("AA"));
+    TPosLmItemId categoryId3 = categoryManager->AddCategoryL(*cat1);
+    CleanupStack::PopAndDestroy(cat1);
+
+    cat1 = CPosLandmarkCategory::NewLC();
+    cat1->SetCategoryNameL(_L("aa"));
+    TPosLmItemId categoryId4 = categoryManager->AddCategoryL(*cat1);
+    CleanupStack::PopAndDestroy(cat1);
+
+    CleanupStack::PopAndDestroy(categoryManager);
+
+    CPosLmCategoryManager::TCategorySortPref sortPrefAsc = CPosLmCategoryManager::ECategorySortOrderNameAscending;;
+    CPosLmCategoryManager::TCategorySortPref sortPrefDesc = CPosLmCategoryManager::ECategorySortOrderNameDescending;;
+    CPosLmItemIterator* categoryDbIter = NULL;
+
+    for (TInt j=0;j<6;j++)
+        {
+        categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+        CleanupStack::PushL(categoryManager);
+
+        CPosLmCatNameCriteria* nameCriteria = CPosLmCatNameCriteria::NewLC();
+        nameCriteria->SetSearchPatternL(_L("*"));
+        
+        CPosLmDisplayData* displayData = CPosLmDisplayData::NewL();
+				CleanupStack::PushL(displayData);
+        iLandmarkSearch->SetDisplayData(*displayData);
+        
+        if (j==0) 
+            {
+            // Sorted Ascending, sync
+            iLog->Log(_L("Sorted Ascending, Sync"));
+            categoryDbIter = categoryManager->CategoryIteratorL(sortPrefAsc);
+            CleanupStack::PushL(categoryDbIter);
+            iOperation = iLandmarkSearch->StartCategorySearchL(*nameCriteria, sortPrefAsc);
+            ExecuteAndDeleteLD(iOperation);
+            }
+        else if (j==1)
+            {
+            // Sorted Descending, sync
+            iLog->Log(_L("Sorted Descending, Sync"));
+            categoryDbIter = categoryManager->CategoryIteratorL(sortPrefDesc);
+            CleanupStack::PushL(categoryDbIter);
+            iOperation = iLandmarkSearch->StartCategorySearchL(*nameCriteria, sortPrefDesc);
+            ExecuteAndDeleteLD(iOperation);
+            }
+        else if (j==2)
+            {
+            // Sorted Ascending, async
+            iLog->Log(_L("Sorted Ascending, Async"));
+            categoryDbIter = categoryManager->CategoryIteratorL(sortPrefAsc);
+            CleanupStack::PushL(categoryDbIter);
+            iOperation = iLandmarkSearch->StartCategorySearchL(*nameCriteria, sortPrefAsc);
+            RunAsyncOperationLD(iOperation);
+            }
+        else if (j==3)
+            {
+            // Sorted Descending, async
+            iLog->Log(_L("Sorted Descending, Async"));
+            categoryDbIter = categoryManager->CategoryIteratorL(sortPrefDesc);
+            CleanupStack::PushL(categoryDbIter);
+            iOperation = iLandmarkSearch->StartCategorySearchL(*nameCriteria, sortPrefDesc);
+            RunAsyncOperationLD(iOperation);
+            }
+        else if (j==4)
+            {
+            iLog->Log(_L("Sorted Ascending, Async using User::WaitForRequest"));
+            // Sorted Ascending, async using User::WaitForRequest()
+            categoryDbIter = categoryManager->CategoryIteratorL(sortPrefAsc);
+            CleanupStack::PushL(categoryDbIter);
+            iOperation = iLandmarkSearch->StartCategorySearchL(*nameCriteria, sortPrefAsc);
+            RunAsyncOperationByWaitForReqL(iOperation);
+            delete iOperation;
+            }
+        else if (j==5)
+            {
+            iLog->Log(_L("Sorted Descending, Async using User::WaitForRequest"));
+            // Sorted Descending, async using User::WaitForRequest()
+            categoryDbIter = categoryManager->CategoryIteratorL(sortPrefDesc);
+            CleanupStack::PushL(categoryDbIter);
+            iOperation = iLandmarkSearch->StartCategorySearchL(*nameCriteria, sortPrefDesc);
+            RunAsyncOperationByWaitForReqL(iOperation);
+            delete iOperation;
+            }
+        
+        CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+        CleanupStack::PushL(iter);
+        
+        AssertTrueSecL(iter->NumOfItemsL() == categoryDbIter->NumOfItemsL(), KNumOfMatchesErr);
+        
+        // Check correct displayData
+        AssertTrueSecL(iter->NumOfItemsL() == displayData->Count(), KNumOfMatchesErr2);
+        
+        TInt itemId = displayData->NewItemIndex();
+           
+        TPosLmItemId id = iter->NextL();
+        TPosLmItemId categoryDbId = categoryDbIter->NextL();
+        // check that the two iterators are sorted identically
+        while (id != KPosLmNullItemId)
+            {
+            CPosLandmarkCategory* source = categoryManager->ReadCategoryLC(id);
+            CPosLandmarkCategory* target = categoryManager->ReadCategoryLC(categoryDbId);
+            
+            CPosLmDisplayItem& item = displayData->DisplayItem(itemId);
+        	TInt categoryId = item.Category().CategoryId();
+
+        	// For debugging purposes
+        		TPtrC sourceName, targetName;
+            source->GetCategoryName(sourceName);
+            target->GetCategoryName(targetName);
+            TPtrC name;
+						item.Category().GetCategoryName(name);
+            		
+            TBuf<150> buf;
+            buf.Append(_L("Name:"));
+            buf.Append(sourceName);
+            buf.Append(_L("<->"));
+            buf.Append(targetName);
+            buf.Append(_L("<->"));
+            buf.Append(name);
+            iLog->Log(buf);
+            
+            AssertTrueSecL(id == categoryDbId, KSortorderErr);
+        		AssertTrueSecL(id == categoryId, _L("Wrong displaydata item when sorting"));
+        		// Should always be the same, since we check that id are equal above
+            AssertTrueSecL(sourceName.Compare(targetName) == KErrNone, KNameMatchError);
+            AssertTrueSecL(sourceName.Compare(name) == KErrNone, _L("Wrong DisplayData item name when sorting"));
+            
+            CleanupStack::PopAndDestroy(target);
+            CleanupStack::PopAndDestroy(source);
+            
+            id = iter->NextL();
+            categoryDbId = categoryDbIter->NextL();
+            itemId = displayData->NewItemIndex();
+            }
+        iLog->Log(_L("Done"));
+        CleanupStack::PopAndDestroy(iter);
+        CleanupStack::PopAndDestroy(categoryDbIter);
+        
+        iLandmarkSearch->UnsetDisplayData();
+		    CleanupStack::PopAndDestroy(displayData);
+		
+        CleanupStack::PopAndDestroy(nameCriteria);
+        CleanupStack::PopAndDestroy(categoryManager);
+        }
+
+    // Delete the categories added in the beginning
+    categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+
+    iOperation = categoryManager->RemoveCategoryL(categoryId1);
+    ExecuteAndDeleteLD(iOperation);
+    iOperation = categoryManager->RemoveCategoryL(categoryId2);
+    ExecuteAndDeleteLD(iOperation);
+    iOperation = categoryManager->RemoveCategoryL(categoryId3);
+    ExecuteAndDeleteLD(iOperation);
+    iOperation = categoryManager->RemoveCategoryL(categoryId4);
+    ExecuteAndDeleteLD(iOperation);
+    
+    CleanupStack::PopAndDestroy(categoryManager);
+    iLog->Log(_L("VerifySortOrderL Done"));
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp3.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,73 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp3.h"
+#include <EPos_CPosLandmarkDatabase.h>
+  
+     
+// ================= MEMBER FUNCTIONS =======================
+
+
+// ---------------------------------------------------------
+// CPosTp3::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp3::StartL()
+    {
+        
+    _LIT(KDbUri5, "http://c:\\system\\data\\eposlm.ldb");
+       
+    _LIT(KHttpErr, "http is not a supported protocol");
+    
+     RemoveDefaultDbL();
+    
+    CPosLandmarkDatabase* lmd = CPosLandmarkDatabase::OpenL();
+    delete lmd;
+
+    
+    TInt err=0;
+    TRAP(err, TestOpenDbL(KDbUri5));
+    AssertTrueSecL(err == KErrNotSupported, KHttpErr);
+
+	}
+
+// ---------------------------------------------------------
+// CPosTp3::TestOPenDbL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp3::TestOpenDbL(const TDesC& aDbURI)
+    {
+    CPosLandmarkDatabase* lmd = CPosLandmarkDatabase::OpenL(aDbURI);
+    CleanupStack::PushL(lmd);
+    
+    if (lmd->IsInitializingNeeded())
+        {
+        ExecuteAndDeleteLD(lmd->InitializeL()); 
+        }
+ 
+    CleanupStack::PopAndDestroy();  
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp30.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,307 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include <EPos_CPosLandmarkDatabase.h> 
+#include <EPos_CPosLMItemIterator.h> 
+#include <EPos_CPosLandmark.h> 
+#include <EPos_CPosLMCategoryManager.h>
+#include <EPos_CPosLandmarkCategory.h>
+#include <EPos_CPosLandmarkSearch.h> 
+#include <EPos_CPosLmTextCriteria.h>
+#include <EPos_CPosLMItemIterator.h>    
+#include "FT_CSearchResult.h"  
+#include <LbsPosition.h> 
+#include <e32std.h>
+#include <ss_std.h>
+
+#include "FT_CPosTp30.h"
+
+
+#include "FT_LandmarkConstants.h"
+//#include "FT_CActiveSearch.h"
+        
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp30::GetName
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp30::GetName(TDes& aName) const
+    {
+    _LIT(KTestName, "TP30 - Multiple clients in search");
+    aName = KTestName;
+    }
+
+// ---------------------------------------------------------
+// CPosTp30::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp30::CloseTest()
+    {
+    for (TInt i=0; i<iThreads.Count(); i++)
+        {
+        iThreads[i].Close();
+        }
+
+    iThreads.Close();
+
+    delete iDatabase;
+    iDatabase=NULL;
+
+    iUseLogFromThreadIsDisabled = EFalse;
+
+    }
+
+// ---------------------------------------------------------
+// CPosTp30::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp30::StartL()
+    {
+    _LIT(KTimeErr, "The request time for several simultaneously requests is > n*'request time for one request'");
+    MakeSurePanicDebugFileExistsL();
+
+    iDatabase = UseGeneratedDbFileL();
+    delete iDatabase;
+    iDatabase=NULL;
+    iUseLogFromThreadIsDisabled = ETrue;
+    AppendSearchResultsL();
+    iAsyncSearch = ETrue;
+    TTime start, stop;
+    start.UniversalTime();
+    StartMultipleClientsL(1);
+    stop.UniversalTime();
+	
+	TInt64 msecOne = (stop.Int64() - start.Int64())/1000;
+	
+    _LIT8(KTrace, "%d simultaneously search request(s) = %d mseconds");
+	TBuf8<100> msg;
+	msg.Format(KTrace, 1, msecOne);
+    iLog->Put(msg);
+
+    start.UniversalTime();
+    StartMultipleClientsL(KNoMultipleClients);
+    stop.UniversalTime();
+	iAsyncSearch = EFalse;
+
+	TInt64 msecSeveral = (stop.Int64() - start.Int64())/1000;
+    msg.Format(KTrace, KNoMultipleClients, msecSeveral);
+    iLog->Put(msg);
+
+    AssertTrueSecL((msecOne*KNoMultipleClients) >= msecSeveral, KTimeErr);
+
+    iLog->Put(_L("Testing simultaneously search syncronously and remove all syncronously"));
+
+    iRemoveTest=ETrue;
+    StartMultipleClientsL(3);
+    iRemoveTest=EFalse;
+
+    delete iDatabase;
+    iDatabase = NULL;
+    iDatabase = UseGeneratedDbFileL();
+    
+    iLog->Put(_L("Testing simultaneously search asyncronously"));
+    iAsyncSearch =  ETrue;
+    StartMultipleClientsL(KNoMultipleClients);
+
+////
+
+    iLog->Put(_L("Testing simultaneously search asyncronously and remove all syncronously"));
+    iRemoveTest=ETrue;
+    StartMultipleClientsL(3);
+    
+    }
+
+// ---------------------------------------------------------
+// CPosTp30::StartMultipleClientsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp30::StartMultipleClientsL(const TUint aNoClients)
+    {
+    _LIT(KMultipleErr, "Error %d when multiple clients access the landmarks db");
+    _LIT(KPanicErr, "Thread has panicked or is still alive when multiple clients searched the databse");
+
+    CreateThreadsL(aNoClients);
+
+    RArray<TRequestStatus> statuses;
+    CleanupClosePushL(statuses);
+   
+    for (TUint j=0; j<aNoClients; j++)
+        {
+        TRequestStatus status;
+        statuses.Append(status);
+        }
+
+    TInt i=0; 
+    for (i=0; i<iThreads.Count(); i++)
+        { 
+        iThreads[i].Logon(statuses[i]);
+        iThreads[i].Resume();
+        }
+    
+    for (i=0; i<iThreads.Count(); i++)
+        {
+        User::WaitForRequest(statuses[i]);
+        }
+    
+    for (i=0; i<iThreads.Count(); i++)
+        {
+        TInt exitReason = iThreads[i].ExitReason();
+        
+        AssertTrueSecL(exitReason == KErrNone, KMultipleErr, exitReason);
+        AssertTrueSecL(iThreads[i].ExitType() == EExitKill, KPanicErr);
+        }
+    for (i=0; i<iThreads.Count(); i++)
+        {
+        iThreads[i].Close();
+        }
+    iThreadIndex=0;
+    iThreads.Close();
+    CleanupStack::PopAndDestroy(&statuses);
+    }
+
+// ---------------------------------------------------------
+// CPosTp30::RunTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp30::RunTestL(TAny* aData)
+    {
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect when a multiple search is performed");
+    
+    CPosLandmarkDatabase* lmd = CPosLandmarkDatabase::OpenL();
+    CleanupStack::PushL(lmd);
+    
+    if (lmd->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(lmd->InitializeL()); 
+       }
+    
+    CPosTp30* self = reinterpret_cast<CPosTp30*>(aData);
+    ++self->iThreadIndex;
+
+    if (self->iRemoveTest && self->iThreadIndex == 3)
+        {
+        CPosLmOperation* lmo=NULL;
+        TRAPD(err,lmo = lmd->RemoveAllLandmarksL());
+
+        if (err != KErrNone && err != KErrLocked)
+            {
+            User::Leave(err);
+            }
+        else if(!err)
+            {
+            TRAP(err, ExecuteAndDeleteLD(lmo));
+            if (err != KErrNone && err != KErrLocked)
+                {
+                User::Leave(err);
+                }
+            }
+        }
+    else
+        {
+        CPosLandmarkSearch* lms = CPosLandmarkSearch::NewL(*lmd);
+        
+        CleanupStack::PushL(lms);
+
+        CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+        
+        textCriteria->SetTextL(self->iSearchResults[0]->TextCriteria());
+        textCriteria->SetAttributesToSearch(self->iSearchResults[0]->Attributes());  
+        textCriteria->SetPositionFieldsToSearchL(self->iSearchResults[0]->PositionFields()); 
+
+        if (!self->iAsyncSearch)
+            {
+            ExecuteAndDeleteLD(lms->StartLandmarkSearchL(*textCriteria));
+            }
+        else
+            {
+            self->RunAsyncOperationLD(lms->StartLandmarkSearchL(*textCriteria));
+            }
+        
+        CPosLmItemIterator* iter = lms->MatchIteratorL();
+        CleanupStack::PushL(iter);
+
+        self->AssertTrueSecL((TUint)(self->iSearchResults[0]->SearchResult()).Count() == lms->NumOfMatches(), KNumOfMatchesErr);      
+        
+        CleanupStack::PopAndDestroy(3, lms);    
+        
+        }
+
+    CleanupStack::PopAndDestroy(lmd);
+    }
+
+
+// ---------------------------------------------------------
+// ThreadFunction
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+LOCAL_C TInt ThreadFunction(TAny* aData)
+    {
+    CTrapCleanup* cleanup=CTrapCleanup::New(); 
+
+    CActiveScheduler* actSch = new (ELeave) CActiveScheduler;
+    CActiveScheduler::Install(actSch);
+
+    TRAPD(err, CPosTp30::RunTestL(aData));
+       
+    delete actSch;
+    delete cleanup;
+    return err;
+    }
+
+// ---------------------------------------------------------
+// CPosTp30::CreateThreadsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp30::CreateThreadsL(const TUint aNoThreads)
+    {
+    _LIT(KThreadName, "LM test thread%d");
+    _LIT(KCreateThreadErr, "Create thread failed with %d");
+
+    for (TUint i=0; i<aNoThreads; i++)
+        {
+        RThread thread;
+        TBuf<32> name;
+	    name.Format(KThreadName, 1+iThreads.Count());
+                
+        TInt err;
+        err = thread.Create(name, ThreadFunction, KDefaultStackSize, KMinHeapSize, KMaxHeapSize, reinterpret_cast<TAny*>(this));
+
+        AssertTrueSecL(err == KErrNone, KCreateThreadErr, err);                                                                  
+        
+        iThreads.Append(thread);
+        }
+    }
+    
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp31.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,575 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp31.h"
+#include <EPos_CPosLandmarkDatabase.h> 
+#include <EPos_CPosLandmark.h> 
+#include <EPos_CPosLMCategoryManager.h>
+#include <EPos_CPosLandmarkCategory.h>  
+#include <e32std.h>
+#include <ss_std.h>
+
+//  CONSTANTS
+const TInt KNoListeners=2;
+
+const TInt KNoLandmarks = 10; 
+const TInt KNoCategories = 10;
+
+const TInt KCancelledThreadIndex = 2;
+
+const TInt KNoEvents = 25;
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp31::GetName
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp31::GetName(TDes& aName) const
+    {
+    _LIT(KTestName, "TP31 - Multiple event listeners");
+    aName = KTestName;
+    
+    }
+
+// ---------------------------------------------------------
+// CPosTp31::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp31::StartL()
+    {  
+    _LIT(KMultipleErr, "Error %d when multiple clients listen for events");
+    _LIT(KEventErr, "%d Error(s) when multiple clients listen for events");
+    _LIT(KExitErr, "Thread was panicked or is still alive");
+    iUseLogFromThreadIsDisabled = ETrue;
+    MakeSurePanicDebugFileExistsL();
+    RemoveDefaultDbL();
+    RemoveAllLmDatabasesL();
+
+    //We should use an empty database for this test case
+    CPosLandmarkDatabase* database = UseEmptyDbFileL();
+    delete database;
+        
+    TFixedArray<TRequestStatus, KNoListeners+1> statuses;
+
+    CreateThreadsL();
+
+    for (TInt i=0; i<iThreads.Count(); i++)
+        { 
+        iThreads[i].Logon(statuses[i]);
+        iThreads[i].Resume();
+        }  
+    for (TInt j=0; j<iThreads.Count(); j++)
+        {
+        User::WaitForRequest(statuses[j]);
+        }
+    
+    for (TInt t=0; t<iThreads.Count(); t++)
+        {
+        TInt exitReason = iThreads[t].ExitReason();
+      
+        AssertTrueSecL(exitReason == KErrNone, KMultipleErr, exitReason);
+        AssertTrueSecL(iThreads[t].ExitType() == EExitKill, KExitErr);
+        }
+    
+    if (iErrors > 0)
+        {
+        TBuf<100> info;
+	    info.Format(KEventErr, iErrors);
+        LogErrorAndLeave(iErrorLog);
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp31::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp31::CloseTest()
+    {
+    for (TInt i=0; i<iThreads.Count(); i++)
+        {
+        iThreads[i].Close();
+        }
+
+    iThreads.Close();
+    iUseLogFromThreadIsDisabled = EFalse;
+    }
+
+// ---------------------------------------------------------
+// CPosTp31::RunReceiveEventTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp31::RunReceiveEventsTestL(TAny* aData)
+    {
+    CPosTp31* self = reinterpret_cast<CPosTp31*>(aData);
+
+    RDebug::Print(_L(">>>>>>>>>RunReceiveEventsTestL<<<<<<<<<"));
+
+    CEventObserver* eventObserver = CEventObserver::NewL(self, ++self->iThreadIndex);
+    CleanupStack::PushL(eventObserver);
+    eventObserver->Start();
+
+    eventObserver->StartTimer();
+    CActiveScheduler::Start();
+   
+    CleanupStack::PopAndDestroy(eventObserver);
+
+    }
+
+LOCAL_C TInt ReceiveEventsThreadFunction(TAny* aData)
+    {    
+    CTrapCleanup* cleanup=CTrapCleanup::New(); 
+    
+    CActiveScheduler* actSch = new (ELeave) CActiveScheduler;
+    CActiveScheduler::Install(actSch);
+
+    TRAPD(err, CPosTp31::RunReceiveEventsTestL(aData));
+    
+    delete actSch;
+    delete cleanup;
+    return err;
+    }
+
+// ---------------------------------------------------------
+// CPosTp31::CreateEventsTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp31::CreateEventsTestL(TAny* aData)
+    {
+    CPosTp31* self = reinterpret_cast<CPosTp31*>(aData);
+
+    CPosLandmarkDatabase* lmd = CPosLandmarkDatabase::OpenL();
+    CleanupStack::PushL(lmd);
+    
+    if (lmd->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(lmd->InitializeL());
+       }
+    ExecuteAndDeleteLD(lmd->CompactL());
+
+    CPosLmCategoryManager* cm = CPosLmCategoryManager::NewL(*lmd); 
+    CleanupStack::PushL(cm);
+
+    RArray<TPosLmItemId> landmarksIds;
+    CleanupClosePushL(landmarksIds);
+    RDebug::Print(_L(">>>>>>>>>CreateEventsTestL<<<<<<<<<"));
+    for (TInt i=0; i<KNoLandmarks; i++)
+        {
+        CPosLandmark* landmark = CPosLandmark::NewLC();
+	    landmark->SetLandmarkNameL(_L("TP31"));
+	    TPosLmItemId idde;
+	    TInt err = KErrLocked;
+	    while (err == KErrLocked)
+	        {
+	        TRAP(err, idde = lmd->AddLandmarkL(*landmark));
+	        }
+	    landmarksIds.Append(idde);
+        CleanupStack::PopAndDestroy(landmark);
+        }
+    
+    RArray<TPosLmItemId> catIds;
+    CleanupClosePushL(catIds);
+
+    _LIT(KCategoryName, "TP31 Category %d");
+    for (TInt j =0; j < KNoCategories; j++)
+        {
+        TBuf<100> name;
+        name.Format(KCategoryName, j);
+        CPosLandmarkCategory* category = CPosLandmarkCategory::NewLC();
+        category->SetCategoryNameL(name);
+        TPosLmItemId idde;
+        TInt err = KErrLocked;
+        while (err == KErrLocked)
+            {
+            TRAP(err, idde = cm->AddCategoryL(*category));
+            }
+        catIds.Append(idde);
+        CleanupStack::PopAndDestroy(category); 
+        }
+    ExecuteAndDeleteLD(lmd->CompactL());
+
+    // Add categories to landmarks #21
+    self->RunAsyncOperationLD(cm->AddCategoryToLandmarksL(catIds[0], landmarksIds));
+
+    // Remove category #22
+    self->RunAsyncOperationLD(cm->RemoveCategoryL(catIds[0])); 
+
+    // Remove categories #23
+    catIds.Remove(0);
+    self->RunAsyncOperationLD(cm->RemoveCategoriesL(catIds)); 
+
+    // Remove category from landmarks #24
+    TRAPD(err, self->RunAsyncOperationLD(cm->RemoveCategoryFromLandmarksL(catIds[0], landmarksIds)));
+    User::After(200000);
+
+    // Remove landmarks #25
+    landmarksIds.Remove(0);
+    landmarksIds.Remove(1);
+    self->RunAsyncOperationLD(lmd->RemoveLandmarksL(landmarksIds));
+    User::After(200000);
+
+    // Remove all landmarks #26
+    self->RunAsyncOperationLD(lmd->RemoveAllLandmarksL());
+    User::After(200000);
+
+    CleanupStack::PopAndDestroy(4, lmd);
+    }
+
+LOCAL_C TInt CreateEventsThreadFunction(TAny* aData)
+    {    
+    CTrapCleanup* cleanup=CTrapCleanup::New(); 
+    
+    CActiveScheduler* actSch = new (ELeave) CActiveScheduler;
+    CActiveScheduler::Install(actSch);
+
+    TRAPD(err, CPosTp31::CreateEventsTestL(aData));
+       
+    delete actSch;
+    delete cleanup;
+    return err;
+    }
+
+// ---------------------------------------------------------
+// CPosTp31::CreateThreadsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp31::CreateThreadsL()
+    {
+    
+    _LIT(KThreadName, "TP31 test thread%d");
+    _LIT(KCreateThreadErr, "Create thread failed with %d");
+
+    for (TInt i=0; i<=KNoListeners; i++)
+        {
+        RThread thread;
+        TBuf<32> name;
+	    name.Format(KThreadName, 1+iThreads.Count());
+                
+        TInt err;
+        if (i==KNoListeners)
+            {
+            err = thread.Create(name, CreateEventsThreadFunction, KDefaultStackSize, KMinHeapSize, KMaxHeapSize, reinterpret_cast<TAny*>(this));
+            }
+        else
+            {
+            err = thread.Create(name, ReceiveEventsThreadFunction, KDefaultStackSize, KMinHeapSize, KMaxHeapSize, reinterpret_cast<TAny*>(this));
+            }
+
+        AssertTrueSecL(err == KErrNone, KCreateThreadErr, err);                                                                  
+        
+        iThreads.Append(thread);
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp31::LogError
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//     
+void CPosTp31::LogError(const TDesC& aError)
+    {
+    iErrorLog.Append(aError);
+    iErrors++;
+    }
+
+// ---------------------------------------------------------
+// CEventObserver::CheckEventL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp31::CheckEvent(const TInt aThreadIndex,
+                          const TPosLmEventType  aExpectedEventType,
+	                      const TPosLmEventType  aEventType,
+	                      const TPosLmItemId aExpectedItemId,
+	                      const TPosLmItemId aItemId)
+	{
+	if (aExpectedEventType != aEventType)
+		{
+		_LIT(KError,"Thread %d received an unexpected eventtype. Excpected %d got %d\r\n");
+		TBuf<200> error;
+		error.Format(KError, aThreadIndex, aExpectedEventType, aEventType);
+		LogError(error);
+		}
+	if (aExpectedItemId != aItemId)
+		{
+		_LIT(KError,"Thread %d received an unexpected item id. Excpected %d got %d\r\n");
+		TBuf<200> error;
+		error.Format(KError, aThreadIndex, aExpectedItemId, aItemId);
+		LogError(error);
+		}
+    }
+
+// -----------------------------------------------------------------------------
+// CEventObserver::NewL
+//
+//(other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+CEventObserver* CEventObserver::NewL(CPosTp31* aTp31, TInt aThreadIndex)
+    {
+    CEventObserver* self = new(ELeave) CEventObserver(aTp31, aThreadIndex);
+    CleanupStack::PushL(self);
+    self->ConstructL();
+    CleanupStack::Pop();
+    return self;
+    }
+
+// -----------------------------------------------------------------------------
+// CEventObserver::ConstructL
+//
+//(other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CEventObserver::ConstructL()
+    {
+    iDatabase = CPosLandmarkDatabase::OpenL();
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL()); 
+       }
+
+    iPeriodicTimer = CPeriodic::NewL(EPriorityNormal);
+    }
+
+// C++ Constructor
+CEventObserver::CEventObserver(CPosTp31* aTp31, TInt aThreadIndex) :
+    CActive(EPriorityNormal),
+    iTp31(aTp31),
+    iThreadIndex(aThreadIndex), 
+    iCallback(TimeoutCheck, this)
+    {
+    CActiveScheduler::Add(this);
+    }
+
+// C++ destructor 
+CEventObserver::~CEventObserver() 
+    {
+    Cancel();
+    delete iDatabase;
+    iDatabase = NULL;
+    if (iPeriodicTimer)
+        {
+        iPeriodicTimer->Cancel();
+        }
+    delete iPeriodicTimer;
+    iPeriodicTimer = NULL;
+    }
+
+// ---------------------------------------------------------
+// CEventObserver::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CEventObserver::Start()                          
+    {
+    
+    iDatabase->NotifyDatabaseEvent(iEvent, iStatus); 
+ 
+    SetActive();
+    }
+
+//---------------------------------------------------------
+// CEventObserver::DoCancel
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CEventObserver::DoCancel()
+    {
+    iDatabase->CancelNotifyDatabaseEvent();
+    }
+   
+//---------------------------------------------------------
+// CEventObserver::StartTimer
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CEventObserver::StartTimer()
+    {
+    iPeriodicTimer->Start(10000000, 10000000, TCallBack(TimeoutCheck, this));
+    }
+
+//---------------------------------------------------------
+// CPosEventObserver::TimeoutCheck
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt CEventObserver::TimeoutCheck(TAny* aSelf)
+    {
+    CEventObserver* self = reinterpret_cast<CEventObserver*>(aSelf);
+
+  
+    if ((self->iEventNumber == KNoEvents && self->iThreadIndex != KCancelledThreadIndex) ||
+        (self->iEventNumber == KNoEvents && self->iThreadIndex == KCancelledThreadIndex))
+        {
+        self->iPeriodicTimer->Cancel();
+        self->Cancel();
+
+        CActiveScheduler::Stop();
+        }
+    else if (self->iEventNumber != KNoEvents)
+        {
+        _LIT(KError,"Incorrect number of events received by Thread %d, events received %d \r\n");
+		TBuf<200> error;
+		error.Format(KError, self->iThreadIndex, self->iEventNumber);
+		self->iTp31->LogError(error);
+        
+        self->iPeriodicTimer->Cancel();
+        self->Cancel();
+        CActiveScheduler::Stop();
+        }
+    
+    return 0;
+    }
+
+// ---------------------------------------------------------
+// CPosEventObserver::RunL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CEventObserver::RunL()
+    {
+    iEventNumber++;
+    
+    if (!(iEventNumber == KNoEvents && iThreadIndex == KCancelledThreadIndex))
+        {
+        if (iStatus != KErrNone)
+            {
+            iTp31->LogError(_L("Unexpected status in RunL"));
+            }
+        }
+	switch (iEventNumber)
+		{
+		case 1:
+        case 2:
+        case 3:
+        case 4:
+        case 5:
+        case 6:
+        case 7:
+        case 8:
+        case 9:
+        case 10:
+            iTp31->CheckEvent(iThreadIndex,
+                              EPosLmEventLandmarkCreated, 
+                              iEvent.iEventType, 
+                              iEventNumber, 
+                              iEvent.iLandmarkItemId); 
+			break;
+        case 11:
+        case 12:
+        case 13:
+        case 14:
+        case 15:
+        case 16:
+        case 17:
+        case 18:
+        case 19:
+        case 20:
+	        iTp31->CheckEvent(iThreadIndex,
+                              EPosLmEventCategoryCreated, 
+                              iEvent.iEventType, 
+                              (iEventNumber-KNoLandmarks), 
+                              iEvent.iLandmarkItemId);
+            break;
+        case 21:
+        case 24:
+        case 25:
+        
+           iTp31->CheckEvent(iThreadIndex,
+                              EPosLmEventLandmarkUnknownChanges, 
+                              iEvent.iEventType, 
+                              0, 
+                              iEvent.iLandmarkItemId); 
+            break;
+        case 22:
+	        iTp31->CheckEvent(iThreadIndex,
+                              EPosLmEventCategoryDeleted, 
+                              iEvent.iEventType, 
+                              1, 
+                              iEvent.iLandmarkItemId); 
+            break;
+        case 23:
+	        iTp31->CheckEvent(iThreadIndex,
+                              EPosLmEventCategoryUnknownChanges, 
+                              iEvent.iEventType, 
+                              0, 
+                              iEvent.iLandmarkItemId);        
+            break;
+        case 26:
+            if (iThreadIndex == KCancelledThreadIndex)
+                {
+                if (iStatus != KErrCancel)
+                    {
+                    iTp31->LogError(_L("Unexpected status when cancelled"));
+                    }
+                }
+            else
+                {
+                iTp31->CheckEvent(iThreadIndex,
+                              EPosLmEventLandmarkUnknownChanges, 
+                              iEvent.iEventType, 
+                              0, 
+                              iEvent.iLandmarkItemId); 
+                }
+            break;
+        default: 
+            iTp31->LogError(_L("Unexpected event received")); 
+            iPeriodicTimer->Cancel();
+            Cancel();
+            CActiveScheduler::Stop();
+            break;
+        }
+    
+    
+    if (iEventNumber == KNoEvents-1 && iThreadIndex == KCancelledThreadIndex)
+        {
+        iDatabase->NotifyDatabaseEvent(iEvent, iStatus); 
+        iDatabase->CancelNotifyDatabaseEvent();
+        
+        SetActive();
+        }
+    else if(!(iEventNumber == KNoEvents && iThreadIndex == KCancelledThreadIndex))
+        {
+        iDatabase->NotifyDatabaseEvent(iEvent, iStatus); 
+        SetActive();
+        }
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp33.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,564 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp33.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <ss_std.h>
+
+//EPosLmServer
+_LIT(KPosLandmarksServerName, "*eposlmserver*");
+    
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp33::GetName
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp33::GetName(TDes& aName) const
+    {
+    _LIT(KTestName, "Tp33 - LM Server shutdown");
+    aName = KTestName;
+    }
+
+void CPosTp33::CloseTest()
+    {
+    delete iLmd1;
+    iLmd1 = NULL;
+    delete iLmd2;
+    iLmd2 = NULL;
+    for (TInt i=0; i<iThreads.Count(); i++)
+        {
+        iThreads[i].Close();
+        }
+
+    iThreads.Close();
+    }
+
+
+// ---------------------------------------------------------
+// CPosTp33::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp33::StartL()
+    {  
+    MakeSurePanicDebugFileExistsL();
+    RemoveDefaultDbL();
+    
+/*    ListAllServers(_L("*"));
+	ListAllProcesses(_L("*"));
+	ListAllThreads(_L("*"));
+*/	
+	// When running on security SDK, not possible to kill LM Server
+    //KillTestL();
+    
+    RemoveDefaultDbL();
+
+    iLmd1 = CPosLandmarkDatabase::OpenL();
+    
+    TBool alive = ServerAlive(KPosLandmarksServerName);
+    
+    MonitorHeapL(ETrue);
+
+	ListAllServers(_L("*"));
+	ListAllProcesses(_L("*"));
+	ListAllThreads(_L("*"));
+	
+    alive = ServerAlive(KPosLandmarksServerName);
+    if(!alive) LogErrorAndLeave(_L("Server not alive"));
+
+    if (iLmd1->IsInitializingNeeded())
+        {
+        iLog -> Put(_L("Doing InitializeL()"));
+        ExecuteAndDeleteLD(iLmd1->InitializeL()); 
+        }
+
+    MonitorHeapL(ETrue);
+    
+    alive = ServerAlive(KPosLandmarksServerName);
+    if(!alive) LogErrorAndLeave(_L("Server not alive"));
+
+    iLmd2 = CPosLandmarkDatabase::OpenL();
+
+    alive = ServerAlive(KPosLandmarksServerName);
+    if(!alive) LogErrorAndLeave(_L("Server not alive"));
+
+    delete iLmd1;
+    iLmd1 = NULL;
+    User::After(4000000); //just to make sure that timing does not matter
+
+    alive = ServerAlive(KPosLandmarksServerName);
+    if(!alive) LogErrorAndLeave(_L("Server not alive"));
+
+    delete iLmd2;
+    iLmd2 = NULL;
+    User::After(4000000);
+
+    alive = ServerAlive(KPosLandmarksServerName);
+    if(alive) LogErrorAndLeave(_L("Server alive"));
+
+    //stress test below
+    StressTestL();
+
+    //thread test to verify that heap does not grow when threads are killed.
+    ThreadTestL();
+	}
+
+// ---------------------------------------------------------
+// CPosTp33::StressTestL
+// 
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp33::StressTestL()
+    {
+    iLog -> Put(_L("StressTestL() -->"));
+    for(TInt i = 0; i < 50; i++)
+        {
+        iLmd1 = CPosLandmarkDatabase::OpenL();
+        iLmd2 = CPosLandmarkDatabase::OpenL();
+        delete iLmd1;
+        iLmd1 = NULL;
+        delete iLmd2;
+        iLmd2 = NULL;
+        }
+	//    MonitorHeapL();
+	MonitorHeapL(ETrue);
+    TBool alive = ServerAlive(KPosLandmarksServerName);
+    if(!alive) LogErrorAndLeave(_L("Server not alive in StressTestL"));
+
+    User::After(4000000);
+
+    alive = ServerAlive(KPosLandmarksServerName);
+    if(alive) LogErrorAndLeave(_L("Server alive in StressTestL"));
+    iLog -> Put(_L("StressTestL() <--"));
+    }
+// ---------------------------------------------------------
+// CPosTp33::ListAllServers
+// 
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp33::ListAllServers(const TDesC& aServerName)
+    {
+	TFindServer find(aServerName);
+    TFullName   name;
+    
+    //TraceL(_L("ListAllServers"), aTraceFile);
+    
+    iLog->Put(_L("ListAllServers"));
+
+	while (find.Next(name) == KErrNone)
+		{
+		//iLog->Put(name);
+        //TraceL(name, aTraceFile);
+        iLog->Put(name);
+
+		}
+	//TraceL(_L("--------------------"), aTraceFile);
+	iLog->Put(_L("--------------------"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp33::ListAllProcesses
+// 
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp33::ListAllProcesses(const TDesC& aProcessName)
+    {
+	TFindProcess find(aProcessName);
+    TFullName   name;
+    
+    iLog->Put(_L("ListAllProcesses"));
+    //TraceL(_L("ListAllProcesses"), aTraceFile);
+
+	while (find.Next(name) == KErrNone)
+		{
+		//iLog->Put(name);
+        //TraceL(name, aTraceFile);
+        iLog->Put(name);
+		}
+	//TraceL(_L("--------------------"), aTraceFile);
+	iLog->Put(_L("--------------------"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp33::ListAllThreads
+// 
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp33::ListAllThreads(const TDesC& aThreadName)
+    {
+	TFindThread find(aThreadName);
+    TFullName   name;
+
+	iLog->Put(_L("ListAllThreads"));
+    //TraceL(_L("ListAllThreads"), aTraceFile);
+	while (find.Next(name) == KErrNone)
+		{
+		//TraceL(name, aTraceFile);
+		iLog->Put(name);
+		}
+	//TraceL(_L("--------------------"), aTraceFile);
+	iLog->Put(_L("--------------------"));
+    }
+    
+// ---------------------------------------------------------
+// CPosTp33::KillTestL
+// 
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp33::KillTestL()
+    {
+
+    CPosLandmarkDatabase* lmd = CPosLandmarkDatabase::OpenL();
+    CleanupStack::PushL(lmd);
+
+    if (lmd->IsInitializingNeeded())
+        {
+        ExecuteAndDeleteLD(lmd->InitializeL()); 
+        }
+    
+	TFullName targetName;
+
+    #ifndef __WINS__
+	    TFindProcess finderLMSERV(KPosLandmarksServerName);
+        RProcess process_or_thread_lmserv;    
+    #else
+        TFindThread finderLMSERV(KPosLandmarksServerName);
+        RThread process_or_thread_lmserv;
+    #endif
+    
+     if (finderLMSERV.Next(targetName) == KErrNone)
+		{		
+		process_or_thread_lmserv.Open(finderLMSERV);
+		process_or_thread_lmserv.Kill(KErrGeneral);
+		process_or_thread_lmserv.Close();
+		}
+
+    if (ServerAlive(KPosLandmarksServerName))
+        {
+        LogErrorAndLeave(_L("Server alive, error in TC!"));
+        }
+
+    CPosLandmark* landmark = CPosLandmark::NewLC();
+        
+    landmark->SetLandmarkNameL(_L("TP33")); 
+    
+    TRAPD(err, lmd->AddLandmarkL(*landmark));
+    if (err != KErrServerTerminated)
+        {
+        LogErrorAndLeave(_L("AddLanmdark does not Leave with -15 after the server has been killed"));
+        }
+
+    TRAP(err, lmd->UpdateLandmarkL(*landmark));
+    if (err != KErrServerTerminated)
+        {
+        LogErrorAndLeave(_L("UpdateLandmark does not Leave with -15 after the server has been killed"));
+        }
+
+    CleanupStack::PopAndDestroy(2, lmd); 
+    }
+
+// ---------------------------------------------------------
+// CPosTp33::MonitorHeapL
+// 
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp33::MonitorHeapL(TBool aMaxSet)
+    {
+    iLog->Put(_L("MonitorHeapL"));
+    TInt landmarkHeap=0, landmarkHeapUsed=0;
+
+    TBuf<150> buf;
+    TInt err = GetHeapSizeL(KPosLandmarksServerName, landmarkHeap, landmarkHeapUsed);
+    if (err != KErrNone)
+        {
+        buf.Zero();
+        buf.Format(_L("GetHeapSizeL for Landmark server returned error, err %d"), err);
+        iLog->Put(buf);
+        }
+    if (aMaxSet) 
+        {
+        iMaxHeap = 2*landmarkHeapUsed;
+        }
+    else
+        {
+        if(landmarkHeapUsed > iMaxHeap)
+            {
+            LogErrorAndLeave(_L("Used heap to large"));
+            }
+        }
+
+    buf.Zero();
+    buf.Format(_L("Landmark Heap; %d Landmark Heap Used: %d"), landmarkHeap, landmarkHeapUsed);
+    iLog->Put(buf);
+    }
+
+
+// ---------------------------------------------------------
+// CPosTp33::GetHeapSizeL
+// 
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt CPosTp33::GetHeapSizeL(const TDesC& aThreadName, TInt& aSize, TInt& aUsed)
+    {
+    RThread thread;
+    TFindThread findThread(aThreadName);
+
+    TFullName fullName;
+    
+    if (findThread.Next(fullName) != KErrNone)
+        {
+        iLog->Put(_L("Thread not found"));
+        aSize=-1;aUsed=-1;
+        return KErrNotFound;
+        }
+
+    TInt err = thread.Open(fullName);
+
+    if (err != KErrNone)
+        {
+        iLog->Put(_L("Thread could not be opened"));
+        aSize=-1;aUsed=-1;
+        return err;
+        }
+    CleanupClosePushL(thread);
+
+    //TInt tmp;
+
+#ifndef __WINS__
+// For some reason cannot access heap in target
+//   thread.GetRamSizes(aSize,tmp);
+//   aUsed = aSize;
+    
+    // FrBo Commented since not supported on ARMV5 (on SDK Series60_30_2005_wk02_incl_LBSpre4)
+    //thread.GetRamSizes(aSize, aUsed);
+    // Use below for now
+    aSize=-1;aUsed=-1;
+    
+    TThreadStackInfo stackInfo;
+    thread.StackInfo(stackInfo);
+    
+    aSize = stackInfo.iBase - stackInfo.iLimit;
+    aUsed = aSize;
+
+#else
+
+    // FrBo Commented since not supported on WINSCW (on SDK Series60_30_2005_wk04_Mars)
+    // Use below for now
+    aSize=-1;aUsed=-1;
+    
+    TThreadStackInfo stackInfo;
+    thread.StackInfo(stackInfo);
+    
+    aSize = stackInfo.iBase - stackInfo.iLimit;
+    aUsed = aSize;
+    
+    /*
+    // In WINS we can get both the size of the heap, and amount
+    // of bytes actually used. This method Panics on ARMI
+    RHeap* heap = NULL;
+    heap = thread.Heap();
+    if (heap == NULL)
+        {
+        iLog->Put(_L("Could not open heap."));
+        aSize=-1;aUsed=-1;
+        return KErrGeneral;
+        LogErrorAndLeave(_L("Could not open heap."));
+        }
+    TInt tmp;
+    aSize = heap->Size();
+    aUsed = heap->Size() - (heap->Available(tmp));
+    */
+
+#endif
+    CleanupStack::PopAndDestroy(&thread); // thread
+    return KErrNone;
+    }
+
+
+void CPosTp33::ThreadTestL()
+    {
+    iLog -> Put(_L("ThreadTestL() -->"));
+    StartMultipleClientsL(5);
+    MonitorHeapL();
+    User::After(4000000);
+    TBool alive = ServerAlive(KPosLandmarksServerName);
+    if(alive) LogErrorAndLeave(_L("Server alive"));
+    iLog -> Put(_L("ThreadTestL() <--"));    
+    }
+
+// ---------------------------------------------------------
+// ThreadFunction
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+LOCAL_C TInt ThreadFunction(TAny* aData)
+    {
+    CTrapCleanup* cleanup=CTrapCleanup::New(); 
+
+    CActiveScheduler* actSch = new (ELeave) CActiveScheduler;
+    CActiveScheduler::Install(actSch);
+
+    TRAPD(err, CPosTp33::RunTestL(aData));
+       
+    delete actSch;
+    delete cleanup;
+    return err;
+    }
+
+void CPosTp33::StartMultipleClientsL(const TUint aNoClients)
+    {
+    _LIT(KMultipleErr, "Error %d from client %d when multiple clients access the landmarks db");
+    _LIT(KPanicErr, "Thread exit with incorrect code");
+
+    CreateThreadsL(aNoClients);
+
+    RArray<TRequestStatus> statuses;
+    CleanupClosePushL(statuses);
+   
+    for (TUint j=0; j<aNoClients; j++)
+        {
+        TRequestStatus status;
+        statuses.Append(status);
+        }
+
+    TInt i=0;
+    TInt errrorsFound = KErrNone;
+    for (i=0; i<iThreads.Count(); i++)
+        { 
+        iThreads[i].Logon(statuses[i]);
+        iThreads[i].Resume();
+        // This prevents some weird CentralRepository alloc to accur, which 
+        // caused the test to fail
+        User::After(2000000);
+        }
+    
+    for (i=0; i<iThreads.Count(); i++)
+        {
+        User::WaitForRequest(statuses[i]);
+        }
+    
+    for (i=0; i<iThreads.Count(); i++)
+        {
+
+        iLog -> Put(_L("Checking Thread"));
+        TInt exitReason = iThreads[i].ExitReason();
+        
+        //AssertTrueSecL(exitReason == KErrNone || exitReason == KErrNotFound, KMultipleErr, exitReason);
+        if (exitReason != KErrNone && exitReason != KErrNotFound)
+	        {
+	        TBuf<100> buf;
+	        buf.Format(KMultipleErr, exitReason, i);
+	        iLog->Put(buf);
+	        errrorsFound++;
+	        }
+
+#ifndef __WINS__ 
+        AssertTrueSecL(iThreads[i].ExitType() == EExitPanic, KPanicErr); //does not currently work use exit on wins instead
+#else
+        AssertTrueSecL(iThreads[i].ExitType() == EExitKill, KPanicErr); 
+#endif
+        }
+    for (i=0; i<iThreads.Count(); i++)
+        {
+        iThreads[i].Close();
+        }
+    iThreadIndex=0;
+    iThreads.Close();
+    CleanupStack::PopAndDestroy(&statuses);
+    
+    if (errrorsFound != KErrNone) LogErrorAndLeave(_L("Error from thread client"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp33::CreateThreadsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp33::CreateThreadsL(const TUint aNoThreads)
+    {
+    _LIT(KThreadName, "LM TP33 test thread%d");
+    _LIT(KCreateThreadErr, "Create thread failed with %d");
+
+    for (TUint i=0; i<aNoThreads; i++)
+        {
+        RThread thread;
+        TBuf<32> name;
+	    name.Format(KThreadName, 1+iThreads.Count());
+                
+        TInt err;
+        err = thread.Create(name, ThreadFunction, KDefaultStackSize, KMinHeapSize, KMaxHeapSize, reinterpret_cast<TAny*>(this));
+
+        AssertTrueSecL(err == KErrNone, KCreateThreadErr, err);
+        
+        iThreads.Append(thread);
+        }
+    }
+
+
+// ---------------------------------------------------------
+// CPosTp30::RunTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp33::RunTestL(TAny* /*aData*/)
+    {
+    CPosLandmarkDatabase* lmd = CPosLandmarkDatabase::OpenL();
+    CleanupStack::PushL(lmd);
+    
+    if (lmd->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(lmd->InitializeL()); 
+       }
+
+    CPosLmCategoryManager* cm = CPosLmCategoryManager::NewL(*lmd); 
+    CleanupStack::PushL(cm);
+
+    TRequestStatus status;
+    TPosLmEvent event;
+    lmd->NotifyDatabaseEvent(event, status); 
+
+    //XXX fix this when dialogs works again
+#ifndef __WINS__ 
+    User::Panic(_L("Panic before cleanup"),-1); //does not currently work use exit on wins instead
+#else
+    User::Exit(-1);
+#endif
+
+    lmd->CancelNotifyDatabaseEvent();
+    CleanupStack::PopAndDestroy(2, lmd);
+    
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp34.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,173 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp34.h"
+#include <f32file.h>
+
+//#include "FT_CSearchResult.h"  
+//#include "FT_CActiveSearch.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLandmarkSearch.h> 
+#include <EPos_CPosLMItemIterator.h>   
+
+// CONSTANTS
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp34::GetName
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp34::GetName(TDes& aName) const
+    {
+    _LIT(KTestName, "TP34 - Multiple async operations");
+    aName = KTestName;
+    }
+
+// ---------------------------------------------------------
+// CPosTp34::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp34::CloseTest()
+    {
+    delete iDatabase;
+    iDatabase = NULL;
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+
+    iSearchResults.ResetAndDestroy();
+    }
+
+// ---------------------------------------------------------
+// CPosTp34::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp34::StartL()
+    {
+    _LIT(KInUseErr, "search is already running, StartLandmarksSearch should leave with error code KErrInUse");
+    iDatabase = UseGeneratedDbFileL();
+    
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+    
+    iLandmarkSearch = CPosLandmarkSearch::NewL(*iDatabase);
+    
+    CActiveLmOperation* activeLmOperation = new(ELeave) CActiveLmOperation(iLog);//1
+    CleanupStack::PushL(activeLmOperation);
+
+    AppendSearchResultsL();
+    
+    const TInt KSearchResultIndex1=1;
+    const TInt KSearchResultIndex2=10;
+
+    CPosLmTextCriteria* textCriteria1 = CPosLmTextCriteria::NewLC(); //2
+    textCriteria1->SetTextL(iSearchResults[KSearchResultIndex1]->TextCriteria());
+    textCriteria1->SetAttributesToSearch(iSearchResults[KSearchResultIndex1]->Attributes());
+
+    CPosLmTextCriteria* textCriteria2 = CPosLmTextCriteria::NewLC(); //3
+    textCriteria2->SetTextL(iSearchResults[KSearchResultIndex2]->TextCriteria());
+    textCriteria2->SetAttributesToSearch(iSearchResults[KSearchResultIndex2]->Attributes());
+
+    iOperation = iLandmarkSearch->StartLandmarkSearchL(*textCriteria1); 
+    activeLmOperation->Start(iOperation);
+
+    TRAPD(err, iLandmarkSearch->StartLandmarkSearchL(*textCriteria2)); 
+    AssertTrueSecL(err == KErrInUse, KInUseErr);
+
+    CActiveLmOperation* activeLmOperation2 = new(ELeave) CActiveLmOperation(iLog); 
+    CleanupStack::PushL(activeLmOperation2); //4
+
+    ///
+    CPosLandmarkSearch* landmarkSearch2 = CPosLandmarkSearch::NewL(*iDatabase);
+    CleanupStack::PushL(landmarkSearch2); //5
+
+    CPosLmOperation* lmo = landmarkSearch2->StartLandmarkSearchL(*textCriteria2);
+    CleanupStack::PushL(lmo); //6
+
+    activeLmOperation2->Start(lmo);
+
+    CActiveScheduler::Start();
+
+    CActiveScheduler::Start();
+
+     activeLmOperation->CheckOperationL();
+     delete iOperation;
+     iOperation = NULL;
+
+    activeLmOperation2->CheckOperationL();
+    
+    CheckSearchResultL(*iSearchResults[KSearchResultIndex1], *iLandmarkSearch, *textCriteria1);
+
+    CheckSearchResultL(*iSearchResults[KSearchResultIndex2], *landmarkSearch2, *textCriteria2);
+
+    //CleanupStack::PopAndDestroy(5, activeSearch);
+    CleanupStack::PopAndDestroy(6, activeLmOperation);
+
+    }
+
+// ---------------------------------------------------------
+// CPosTp34::CheckSearchResultL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp34::CheckSearchResultL(CSearchResult& aSearchResult,
+                                  CPosLandmarkSearch& aLandmarkSearch,
+                                  CPosLmTextCriteria& aTextCriteria)
+    {    
+    _LIT(KNotFoundErr, "Id %d not found in parsed Lm search results when the search is performed syncronously");
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect when the search is performed");
+    if ((TUint)(aSearchResult.SearchResult()).Count() != aLandmarkSearch.NumOfMatches())
+        {
+        _LIT(KExpected, "Expected no. of matches: %d");
+        _LIT(KReturned, "Returned no. of matches: %d");
+        TBuf<100> info;
+        info.Format(KExpected, (aSearchResult.SearchResult()).Count());
+        iLog->Put(info);
+        info.Format(KReturned, aLandmarkSearch.NumOfMatches());
+        iLog->Put(info);
+        iLog->Put(_L("Search criteria: "));
+        iLog->Put(aTextCriteria.Text());
+        LogErrorAndLeave(KNumOfMatchesErr);
+        }
+    CPosLmItemIterator* iter = aLandmarkSearch.MatchIteratorL();
+    CleanupStack::PushL(iter);
+    
+    TPosLmItemId id = iter->NextL();
+    while (id != KPosLmNullItemId)
+        {
+        AssertTrueSecL(aSearchResult.FindSearchResult(id), KNotFoundErr, id);
+        id = iter->NextL();
+        }
+    
+    CleanupStack::PopAndDestroy(iter);
+
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp35.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,903 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp35.h"
+#include <f32file.h>
+#include <e32math.h>
+#include <e32math.h>
+
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLandmarkSearch.h>
+#include <EPos_CPosLMItemIterator.h>
+#include <EPos_CPosLmDatabaseManager.h>
+#include "FT_LandmarkConstants.h" 
+
+// CONSTANTS
+const TInt KMaxFieldLength = 80;
+const TInt KDistanceFieldLength = 24;
+const TInt KMaxNearestLineLength = 1024;
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp35::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp35::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+    delete iDatabase;
+    iDatabase = NULL;
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+
+    iNearestSearchResults.ResetAndDestroy();
+    }
+
+// ---------------------------------------------------------
+// CPosTp35::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp35::StartL()
+    {
+    RemoveDefaultDbL();
+    RemoveAllLmDatabasesL();
+    iDatabase = UseNearestSearchGeneratedDbFileL();
+    
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+    
+    AppendNearestSearchResultsL();
+    iLandmarkSearch = CPosLandmarkSearch::NewL(*iDatabase);
+    
+    iLog->Log(_L("Testing search with criterias read from LmDbNearestResult.txt syncronously"));
+    SearchL();
+
+    iLog->Log(_L("Testing search with criterias read from LmDbNearestResult.txt asyncronously"));
+    SearchL(ETrue);
+
+    iLog->Log(_L("Testing search and cancel"));
+    SearchAndCancelL();
+
+    iLog->Log(_L("Testing search and cancel in callback"));
+    SearchAndCancelL(ETrue);
+
+    iLog->Log(_L("Testing search with a sortorder"));
+    SearchWithSortOrderL();
+
+    iLog->Log(_L("Testing error codes"));
+    _LIT(KStartCatErr, "StartCategorySearch should leave with KErrArgument with nearest criteria");
+    _LIT(KNaNErr, "Max distance should be NaN by default");
+
+    TCoordinate coord(12, 13);
+    CPosLmNearestCriteria* nearestCriteria = CPosLmNearestCriteria::NewLC(coord);
+    AssertTrueSecL(Math::IsNaN(nearestCriteria->MaxDistance()), KNaNErr);
+
+    TRAPD(err, iLandmarkSearch->StartCategorySearchL(*nearestCriteria, CPosLmCategoryManager::ECategorySortOrderNone));
+    AssertTrueSecL(err == KErrArgument, KStartCatErr);
+    
+    CleanupStack::PopAndDestroy(nearestCriteria);
+        
+    TCoordinate pos(55, 18);    
+    nearestCriteria = CPosLmNearestCriteria::NewLC(pos, ETrue);
+    nearestCriteria->SetMaxDistance(1);
+    RunAsyncOperationLD(iLandmarkSearch->StartLandmarkSearchL(*nearestCriteria, EFalse));
+    
+    _LIT(KReturned, "Returned no. of matches: %d");
+    TBuf<100> info;
+    info.Format(KReturned, iLandmarkSearch->NumOfMatches());
+    iLog->Log(info);
+        
+    CleanupStack::PopAndDestroy(nearestCriteria);
+    
+    nearestCriteria = CPosLmNearestCriteria::NewLC(pos, ETrue);
+    nearestCriteria->SetMaxDistance(300);
+    RunAsyncOperationLD(iLandmarkSearch->StartLandmarkSearchL(*nearestCriteria, EFalse));
+    
+    info.Format(KReturned, iLandmarkSearch->NumOfMatches());
+    iLog->Log(info);
+    CleanupStack::PopAndDestroy(nearestCriteria);
+
+    }
+
+// ---------------------------------------------------------
+// CPosTp35::UseNearestSearchGeneratedDbFileL
+// 
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+CPosLandmarkDatabase* CPosTp35::UseNearestSearchGeneratedDbFileL()
+    {    
+    _LIT(KDbFile, "eposlmnearestsearch.ldb");
+    CopyTestDbFileL(KDbFile);
+    
+    CPosLmDatabaseManager* manager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(manager);
+    // This db must exist
+    manager->SetDefaultDatabaseUriL(KDbFile);
+    CleanupStack::PopAndDestroy(manager);
+    
+    return CPosLandmarkDatabase::OpenL(KDbFile);
+    }
+
+// ---------------------------------------------------------
+// CPosTp35::SearchL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp35::SearchL(const TBool& aSync)
+    {
+   
+    for(TInt i=0; i<iNearestSearchResults.Count(); i++)
+        {
+        TCoordinate coord(iNearestSearchResults[i]->iLatitude, iNearestSearchResults[i]->iLongitude);
+        iLog->Log(_L("SearchL"));
+        CPosLmNearestCriteria* nearestCriteria = CPosLmNearestCriteria::NewLC(coord, iNearestSearchResults[i]->iUseCoverageRadius);
+        nearestCriteria->SetMaxDistance(iNearestSearchResults[i]->iMaxDistance);
+        
+        TBuf<100> pelle;
+        pelle.Format(_L("StartSearchOperationL: Searching for Lat %f Long %f"), iNearestSearchResults[i]->iLatitude, iNearestSearchResults[i]->iLongitude);
+		iLog->Log(pelle);
+
+        if (iNearestSearchResults[i]->iMaxSearchResult > 0)
+            {
+            iLandmarkSearch->SetMaxNumOfMatches(iNearestSearchResults[i]->iMaxSearchResult);
+            }
+        else
+            {
+            iLandmarkSearch->SetMaxNumOfMatches(KPosLmMaxNumOfMatchesUnlimited);
+            }
+
+        if (aSync)
+            {
+            RunAsyncOperationLD(iLandmarkSearch->StartLandmarkSearchL(*nearestCriteria, iNearestSearchResults[i]->Redefined()));
+            }
+        else
+            {
+            ExecuteAndDeleteLD(iLandmarkSearch->StartLandmarkSearchL(*nearestCriteria, iNearestSearchResults[i]->Redefined()));
+            }
+        
+        if (iNearestSearchResults[i]->Redefined() && i > 0)
+            {
+            iLog->Log(_L("Redefined"));
+            
+            for (TInt j=0; j<iNearestSearchResults[i]->iDistances.Count(); j++)
+                {
+                TBool found = EFalse;
+                TInt id = 0;
+                TPosLmItemId idde;
+                
+                id = j;
+                idde = iNearestSearchResults[i]->iDistances[j].Id();
+                    
+                TBuf<100> debug;
+                debug.Format(_L("Looking for id %d or id: %d "), idde, id);
+                //iLog->Log(debug);
+                        
+                for (TInt p=0;p<iNearestSearchResults[i-1]->iDistances.Count();p++)
+                    {
+
+                    if (iNearestSearchResults[i]->iDistances[j].Id() == iNearestSearchResults[i-1]->iDistances[p].Id())
+                        {
+                        found = ETrue;
+                        TBuf<100> buf;
+                        buf.Format(_L("Found id %d or id: %d "), idde, id);
+                        //iLog->Log(buf);
+                        }
+                    }
+                if (!found)
+                    {
+                    // Remove since not found, only keep ids that was found in previous search
+                    TBuf<100> buf;
+                    buf.Format(_L("Removing lm Id %d from index %d"), idde, id);
+                    //iLog->Log(buf);
+                    iNearestSearchResults[i]->iDistances.Remove(id);
+                    //iLog->Log(_L("Removing Done"));
+                    j--;
+                    }
+                //iLog->Log(_L("***********"));
+                }
+
+                        
+            }
+        
+        CheckSearchResultL(*iNearestSearchResults[i]); 
+    
+        CleanupStack::PopAndDestroy(nearestCriteria);   
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp35::CheckSearchResultL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+
+//void CPosTp35::CheckSearchResultL(CNearestSearchResult& aSearchResult)
+void CPosTp35::CheckSearchResultL(CNearestSearchResultTp35& aSearchResult)
+    {    
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect when the search is performed");
+    
+    TUint expectedNoMatches = aSearchResult.iDistances.Count();
+    if (aSearchResult.iMaxSearchResult != 0 && aSearchResult.iMaxSearchResult < aSearchResult.iDistances.Count())
+        {
+        expectedNoMatches = aSearchResult.iMaxSearchResult;
+        }
+    
+    if (expectedNoMatches != iLandmarkSearch->NumOfMatches())
+        {
+        _LIT(KExpected, "Expected no. of matches: %d");
+        _LIT(KReturned, "Returned no. of matches: %d");
+        TBuf<100> info;
+        info.Format(KExpected, expectedNoMatches);
+        iLog->Log(info);
+        info.Format(KReturned, iLandmarkSearch->NumOfMatches());
+        iLog->Log(info);
+       
+        
+        iLog->Log(KNumOfMatchesErr);
+        User::Leave(-1);
+        }
+
+    CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+    CleanupStack::PushL(iter);
+    
+    TInt index=0;
+    TPosLmItemId id = iter->NextL();
+    while (id != KPosLmNullItemId)
+        {
+        if (aSearchResult.iDistances[index].iId != id)
+            {
+            // if the distance is equal to the distance to the landmark  
+            // before or after then no error. 
+            // This to be able to use a databse with landmarks with the same position.
+            
+            TBool noError=EFalse;
+            if (index > 0)
+                {
+                noError = (aSearchResult.iDistances[index-1].iDistance == aSearchResult.iDistances[index].iDistance);   
+                }
+            if (index < aSearchResult.iDistances.Count() && !noError)
+                {
+                noError = (aSearchResult.iDistances[index+1].iDistance == aSearchResult.iDistances[index].iDistance);
+                }
+            if (!noError)
+                {
+                _LIT(KUnexpectedItemId, "Unexpected item id");    
+                _LIT(KExpected, "Expected item id: %d");
+                _LIT(KReturned, "Returned item id: %d");
+                TBuf<100> info;
+                info.Format(KExpected, aSearchResult.iDistances[index].iId);
+                iLog->Log(info);
+                info.Format(KReturned, id);
+                iLog->Log(info);
+
+                TBuf<800> info2;
+                aSearchResult.Print(info2);
+                iLog->Log(info2);
+
+                
+                iLog->Log(KUnexpectedItemId);
+        		User::Leave(-1);
+        
+                }
+            }
+        _LIT(KReturned, "Returned id: %d or id: %d");
+        TBuf<100> info;
+        info.Format(KReturned, aSearchResult.iDistances[index].iId, id);
+        //iLog->Log(info);
+                
+        id = iter->NextL();
+        index++;
+        }
+    
+    CleanupStack::PopAndDestroy(iter);
+  
+    }
+
+// ---------------------------------------------------------
+// CPosTp35::SearchAndCancelL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp35::SearchAndCancelL(const TBool& aInCallback)
+    {
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect when the search is performed");
+
+    // Test search with one criteria
+    const TInt KIndex=0;
+
+    TCoordinate coord(iNearestSearchResults[KIndex]->iLatitude, iNearestSearchResults[KIndex]->iLongitude);
+        
+    CPosLmNearestCriteria* nearestCriteria = CPosLmNearestCriteria::NewLC(coord, iNearestSearchResults[KIndex]->iUseCoverageRadius);
+    
+    iLandmarkSearch->SetMaxNumOfMatches(KPosLmMaxNumOfMatchesUnlimited);
+    if (aInCallback)
+        {
+        RunAsyncOperationAndCancelInCallbackLD(iLandmarkSearch->StartLandmarkSearchL(
+                        *nearestCriteria, 
+                        iNearestSearchResults[KIndex]->Redefined()));
+        }
+    else
+        {
+        RunAsyncOperationAndCancelLD(iLandmarkSearch->StartLandmarkSearchL(
+                        *nearestCriteria, 
+                        iNearestSearchResults[KIndex]->Redefined()));
+        }
+
+    CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+    CleanupStack::PushL(iter);
+ 
+    if (aInCallback)
+        {
+        if (iter->NumOfItemsL() != iLandmarkSearch->NumOfMatches())
+            {
+            iLog->Log(_L("Iterators no. of items is not equal to LandmarksSearch no. matches"));
+            _LIT(KExpected, "Iter. of matches: %d");
+            _LIT(KReturned, "LandmarksSearch no. of matches: %d");
+            TBuf<100> info;
+            info.Format(KExpected, iter->NumOfItemsL());
+            iLog->Log(info);
+            info.Format(KReturned, iLandmarkSearch->NumOfMatches());
+            iLog->Log(info);
+            
+            iLog->Log(KNumOfMatchesErr);
+        	User::Leave(-1);
+        
+            }
+        
+        TBuf<100> info2;
+        _LIT(KNof, "No. of matches found before cancelled the operation = %d");
+        info2.Format(KNof, iter->NumOfItemsL());
+        iLog->Log(info2);
+
+        // FrBo: No longer sure that result is returned when cancelling
+        //AssertTrueSecL(iter->NumOfItemsL() != 0, KCancelErr);
+        }
+        
+    CleanupStack::PopAndDestroy(2, nearestCriteria);
+    
+    }
+
+// ---------------------------------------------------------
+// CPosTp35::SearchWithSortOrderL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp35::SearchWithSortOrderL()
+    {
+    // Only verifies that search does not fail when only landmarks with no name in the db
+
+    _LIT(KNumOfMatchesErr, "No. of matches is incorrect when the search is performed with a sortorder");
+   
+    // Test search with one criteria which return all landmarks in db
+    const TInt KIndex=0;
+
+    TCoordinate coord(iNearestSearchResults[KIndex]->iLatitude, iNearestSearchResults[KIndex]->iLongitude);
+        
+    CPosLmNearestCriteria* nearestCriteria = CPosLmNearestCriteria::NewLC(coord, iNearestSearchResults[KIndex]->iUseCoverageRadius);
+    TPosLmSortPref sortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+   
+    iLandmarkSearch->SetMaxNumOfMatches(KPosLmMaxNumOfMatchesUnlimited);
+   
+    for (TInt i=0; i<4; i++)
+        {
+        if(i==0)
+            {
+            ExecuteAndDeleteLD(iLandmarkSearch->StartLandmarkSearchL(
+                        *nearestCriteria,
+                        sortPref,
+                        iNearestSearchResults[KIndex]->Redefined()));
+            }
+        else if (i==1)
+            {
+            sortPref.SetSortByLandmarkAttribute(CPosLandmark::ELandmarkName, TPosLmSortPref::EDescending);
+            ExecuteAndDeleteLD(iLandmarkSearch->StartLandmarkSearchL(
+                        *nearestCriteria, 
+                        sortPref,
+                        iNearestSearchResults[KIndex]->Redefined()));
+            }
+        //**** async
+        else if (i==2)
+            {
+            RunAsyncOperationLD(iLandmarkSearch->StartLandmarkSearchL(
+                        *nearestCriteria, 
+                        sortPref,
+                        iNearestSearchResults[KIndex]->Redefined()));
+            }
+        else if (i==3)
+            {
+            sortPref.SetSortByLandmarkAttribute(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+            
+            RunAsyncOperationLD(iLandmarkSearch->StartLandmarkSearchL(
+                        *nearestCriteria,
+                        sortPref,
+                        iNearestSearchResults[KIndex]->Redefined()));
+            }
+        AssertTrueSecL((TUint)iNearestSearchResults[KIndex]->iDistances.Count()== iLandmarkSearch->NumOfMatches(), KNumOfMatchesErr);    
+        }
+
+    CleanupStack::PopAndDestroy(nearestCriteria);
+    }
+
+// ---------------------------------------------------------
+// CPosTp35::AppendAreaSearchResultsL()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+void CPosTp35::AppendNearestSearchResultsL()
+    {    
+    iNearestSearchResults.ResetAndDestroy();
+    
+     _LIT(KFileTestValues, "c:\\system\\test\\testdata\\lmDbNearestSearchResult.txt");
+
+    RFile file;
+    CleanupClosePushL(file);
+    User::LeaveIfError(file.Open(iFileSession, KFileTestValues,  EFileRead));
+       
+    TInt row=0;
+    TBuf<KMaxNearestLineLength> line;    
+    while (ReadLn(file, line) != KErrEof)
+        {
+        TLex lex(line);
+        if (lex.Peek() != '#' && lex.Peek() != '\t')
+            {
+            ++row;
+            //CNearestSearchResult* searchResult = CNearestSearchResult::NewL(line, row);
+            CNearestSearchResultTp35* searchResult = CNearestSearchResultTp35::NewL(line, row, iFileSession);
+            CleanupStack::PushL(searchResult);
+       
+            User::LeaveIfError(iNearestSearchResults.Append(searchResult));
+            CleanupStack::Pop(searchResult);
+                   
+            }
+        }
+    CleanupStack::PopAndDestroy(&file);    
+    }
+
+// ---------------------------------------------------------
+// CNearestSearchResult::NewL()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//CNearestSearchResult* CNearestSearchResult::NewL(const TDesC& aDes, const TInt& aIndex) 
+CNearestSearchResultTp35* CNearestSearchResultTp35::NewL(
+    const TDesC& aDes, 
+    const TInt& aIndex,
+    RFs& aFileSession) 
+    {
+    CNearestSearchResultTp35* self = new(ELeave) CNearestSearchResultTp35( aFileSession );
+    CleanupStack::PushL(self);
+    self->ConstructL(aDes, aIndex);
+    CleanupStack::Pop();
+    return self;
+    }
+
+// C++ default constructor can NOT contain any code, that
+// might leave.
+//
+
+CNearestSearchResultTp35::CNearestSearchResultTp35(RFs& aFileSession)
+: iFileSession( aFileSession ) 
+    {
+    TRealX nan; 
+    nan.SetNaN();
+    iMaxDistance = nan;
+    }
+
+// ---------------------------------------------------------
+// CNearestSearchResult::CounstructL()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+void CNearestSearchResultTp35::ConstructL(const TDesC& aDes, const TInt& aIndex) 
+    {
+    iDatabase = CPosLandmarkDatabase::OpenL();
+
+    TLex line(aDes);
+    line.Mark();
+    TInt redefined=0, useCoverageRadius;
+
+    if (line.Peek() != '#' && line.Peek() != '\t')
+        { 
+        TInt index=0;
+        while (line.Peek() != '\n' && !(line.Peek()).Eos())
+            {
+            line.Inc();
+            if (line.Peek() == '\t')
+                {
+                TPtrC token = line.MarkedToken();
+                TLex val(token);              
+                switch(index)
+                    {
+                    case ELatitude:
+                        val.Val(iLatitude, TChar(','));   
+                        break;
+                    case ELongitude:
+                        val.Val(iLongitude, TChar(','));   
+                        break;
+                    case EUseCoverageRadius:  
+                        val.Val(useCoverageRadius);
+                        if (useCoverageRadius == 1)
+                            {
+                            iUseCoverageRadius = ETrue;
+                            }
+                        break;
+                    case EMaxDistance:
+                        val.Val(iMaxDistance);   
+                        break;
+                    case EErrorCode:
+                        val.Val(iErrorCode);   
+                        break;
+                    case ESearchResult:
+                        ParseSearchResult(token);
+                        break;
+                    case ERedefined:
+                        val.Val(redefined);
+                        if (redefined == 1)
+                            {
+                            iRedefined = ETrue;
+                            }
+                        break;
+                    case EMaxSearchResult:
+                        val.Val(iMaxSearchResult);
+                        break;
+                    }    
+                line.Inc();
+                while (line.Peek() == '\t') // Empty value
+                    {
+                    line.Inc();
+                    ++index;
+                    }
+                line.Mark();
+                ++index;
+                }
+            }
+        AppendDistancesL(aIndex);
+        
+        }
+    }
+
+
+// Destructor       
+
+CNearestSearchResultTp35::~CNearestSearchResultTp35()
+    {   
+    iDistances.Close();
+    delete iDatabase;
+    iDatabase = NULL;
+    }
+
+// ---------------------------------------------------------
+// CNearestSearchResult::AppendDistancesL()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+void CNearestSearchResultTp35::AppendDistancesL(const TInt& aIndex)
+    {    
+    iDistances.Reset();
+    
+     _LIT(KFileTestValues, "c:\\system\\test\\testdata\\lmDbNearestSearch.txt");
+
+    RFile file;
+    CleanupClosePushL(file);
+    User::LeaveIfError(file.Open(iFileSession, KFileTestValues,  EFileRead));
+        
+    TInt row=0;
+    TBuf<KMaxNearestLineLength> line;    
+    while (CLandmarkTestProcedureBase::ReadLn(file, line) != KErrEof)
+        {
+        ParseDistanceL(line, aIndex, row);
+        ++row;
+        }
+
+    SortDistances();
+
+    CleanupStack::PopAndDestroy(&file);    
+    }
+
+// ---------------------------------------------------------
+// CNearestSearchResult::ParseDistancesL()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+void CNearestSearchResultTp35::ParseDistanceL(const TDesC& aDes, 
+                                          const TInt& aIndex,
+                                          const TPosLmItemId& aId)
+    {
+    
+    const TInt KStartIndex = 5;
+
+    TLex line(aDes);
+    line.Mark();
+    TInt index = 0;
+    TReal64 dist=0;
+        
+    if (line.Peek() != '#' && line.Peek() != '\t')
+        {
+        while (line.Peek() != '\n' && !(line.Peek()).Eos())
+            {
+            line.Inc();
+            if (line.Peek() == '\t' || line.Peek() == '\n' || (line.Peek()).Eos())
+                {
+                TPtrC token = line.MarkedToken();
+                
+                if (index == (KStartIndex + aIndex))
+                    {
+                    TLex val(token);
+                    val.Val(dist, TChar(','));  
+                        
+                    if (iUseCoverageRadius)
+                        {
+                        CPosLandmark* lm = iDatabase->ReadLandmarkLC(aId);
+                            
+                        TReal32 aCoverageRadius;  
+                        if (lm->GetCoverageRadius(aCoverageRadius) == KErrNone)
+                            {
+                            dist -= aCoverageRadius;
+                            if (dist < 0)
+                                {
+                                dist = 0;
+                                }
+                            }
+                        CleanupStack::PopAndDestroy(lm);
+                        }
+
+                    if (Math::IsNaN(iMaxDistance) || dist <= iMaxDistance)
+                        {
+                        if (dist != -1)
+                            {
+                            TSearchResultTp35 searchResult(aId, TReal32(dist));
+                            iDistances.Append(searchResult);
+                            }
+                        }
+
+                    break;
+                    }
+                line.Inc();
+                while (line.Peek() == '\t') // Empty value
+                    {
+                    line.Inc();
+                    ++index;
+                    }
+                line.Mark();
+                ++index;
+                }
+            }  
+        }     
+    }
+// ---------------------------------------------------------
+// CNearestSearchResult::Latitude 
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//        
+//TReal64 CNearestSearchResult::Latitude() const
+TReal64 CNearestSearchResultTp35::Latitude() const
+    {
+    return iLatitude;
+    }
+
+// ---------------------------------------------------------
+// CNearestSearchResult::Latitude 
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//   
+//TReal64 CNearestSearchResult::Longitude() const
+TReal64 CNearestSearchResultTp35::Longitude() const
+    {
+    return iLongitude;
+    }
+
+// ---------------------------------------------------------
+// CNearestSearchResult::UseCoverageRadius 
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//           
+//TBool CNearestSearchResult::UseCoverageRadius() const
+TBool CNearestSearchResultTp35::UseCoverageRadius() const
+    {
+    return iUseCoverageRadius;
+    }
+
+// ---------------------------------------------------------
+// CNearestSearchResult::MaxDistance
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//           
+
+TReal32 CNearestSearchResultTp35::MaxDistance() const
+    {   
+    return iMaxDistance;
+    }
+
+// ---------------------------------------------------------
+// CNearestSearchResult::ErrorCode 
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//   
+//TInt CNearestSearchResult::ErrorCode() const
+TInt CNearestSearchResultTp35::ErrorCode() const
+    {   
+    return iErrorCode;
+    }
+
+// ---------------------------------------------------------
+// InternalLandmarksSortL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//   
+TInt InternalSort(const TSearchResultTp35& aSource, const TSearchResultTp35& aTarget)
+    {
+    // zero, if the two objects are equal
+    // a negative value, if the first object is less than the second.
+    // a positive value, if the first object is greater than the second.
+
+    if ( aSource.Distance() == aTarget.Distance())
+        {
+        return 0;
+        }
+    else if (aSource.Distance() < aTarget.Distance())
+        {
+        return -1;
+        }
+    
+    return 1;
+    }
+
+// ---------------------------------------------------------
+// CNearestSearchResult::ErrorCode 
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//   
+void CNearestSearchResultTp35::SortDistances() 
+    {   
+    TLinearOrder<TSearchResultTp35> order(InternalSort);
+    iDistances.Sort(order);
+    }
+
+// ---------------------------------------------------------
+// CNearestSearchResult::Print
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//   
+void CNearestSearchResultTp35::Print(TDes& aPrint)
+    {    
+    _LIT(KPosInfo, "Latitude=%g, Longitude=%g");
+    TChar del(',');
+    
+    TBuf<KMaxFieldLength> info;
+    info.Format(KPosInfo, iLatitude, iLongitude);
+    aPrint.Append(info);
+    aPrint.Append(del);
+    
+    _LIT(KUseCoverageRadius, "UseCoverageRadius=%d");
+    info.Format(KUseCoverageRadius, iUseCoverageRadius);
+    aPrint.Append(info);
+    aPrint.Append(del);
+    
+    if (!Math::IsNaN(iMaxDistance))
+        {
+        _LIT(KMaxDistance, "MaxDistance=%g");
+        info.Format(KMaxDistance, iMaxDistance);
+        aPrint.Append(info);
+        aPrint.Append(del);
+        }
+
+    _LIT(KErrorCode, "ErrorCode = %d");
+    info.Format(KErrorCode, iErrorCode);
+    aPrint.Append(info);
+    aPrint.Append(del);
+
+    _LIT(KRedefined, "Redefined=%d");
+    info.Format(KRedefined, iRedefined);
+    aPrint.Append(info);
+    aPrint.Append(del);
+
+     _LIT(KMaxSearchResult, "MaxSearchResult=%d");
+    info.Format(KMaxSearchResult, iMaxSearchResult);
+    aPrint.Append(info);
+    aPrint.Append(del);
+
+    PrintDistances(aPrint);
+    }
+
+// ---------------------------------------------------------
+// CNearestSearchResult::PrintDistances
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//  
+void CNearestSearchResultTp35::PrintDistances(TDes& aPrint)
+    {   
+    TBuf<KDistanceFieldLength> info2;
+    TChar del(':');
+    aPrint.Append(_L("Distances: "));
+
+    for (TInt j=0; j<iDistances.Count(); j++)
+        {
+        _LIT(KDistance, "%g,%d");
+        info2.Format(KDistance, iDistances[j].Distance(), iDistances[j].Id());
+        aPrint.Append(info2);
+        aPrint.Append(del);
+        }
+    }
+
+// ---------------------------------------------------------
+// TSearchResult::TSearchResult
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//  
+TSearchResultTp35::TSearchResultTp35()
+    {
+    TRealX nan;
+    nan.SetNaN();
+    iDistance=nan;
+    iId=0;
+    } 
+
+TSearchResultTp35::TSearchResultTp35(const TPosLmItemId& aId, const TReal32& aDistance) : 
+    iDistance(aDistance),
+    iId(aId)
+    {   
+    }
+
+// ---------------------------------------------------------
+// TSearchResult::Distance
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//  
+TReal64 TSearchResultTp35::Distance() const
+    {
+    return iDistance;     
+    }
+
+// ---------------------------------------------------------
+// TSearchResult::Id
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//  
+TPosLmItemId TSearchResultTp35::Id() const
+    {
+    return iId;
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp36.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,378 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp36.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLmCategoryCriteria.h>
+#include <EPos_CPosLmCatNameCriteria.h>
+#include <EPos_CPosLmTextCriteria.h>
+           
+// ================= MEMBER FUNCTIONS =======================
+
+
+// ---------------------------------------------------------
+// CPosTp36::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp36::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+    delete iDatabase;
+    iDatabase=NULL;
+
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+
+    iArray.Close();
+    }
+
+// ---------------------------------------------------------
+// CPosTp36::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp36::StartL()
+    {
+    TTime startTime;
+    TTime stopTime;
+
+    startTime.UniversalTime();
+
+    // Delete "c:\\system\\data\\eposlm.ldb"
+    RemoveDefaultDbL();
+    iDatabase = UseGeneratedDbFileL();
+    
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+
+    // we should not find any uncategorized landmarks since every landmark in the db
+    // belongs to a category
+    iLog->Log(_L("Searching async"));
+    DoTestL(ETrue, 0, 0);
+    DoTestL(ETrue, 1, 0);
+    DoTestL(ETrue, 2, 0);
+    DoTestL(ETrue, 3, 0);
+
+    iLog->Log(_L("Searching sync"));
+    DoTestL(EFalse, 0, 0);
+    DoTestL(EFalse, 1, 0);
+    DoTestL(EFalse, 2, 0);
+    DoTestL(EFalse, 3, 0);
+
+    iLog->Log(_L("Should leave with KErrArgument"));
+    TRAPD(err, DoSearchForCategoryL(ETrue));
+    if (err != KErrArgument)    
+    {
+    	iLog->Log(_L("Should leave with KErrArgument"));
+    	User::Leave(err);
+    }
+    else iLog->Log(_L("Function correctly leaved with KErrArgument"));
+    
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+
+    iLog->Log(_L("Should leave with KErrArgument"));
+    TRAP(err, DoSearchForCategoryL(EFalse));
+    if (err != KErrArgument)
+    {
+    	iLog->Log(_L("Should leave with KErrArgument"));
+    	User::Leave(err);
+
+    }
+    else iLog->Log(_L("Function correctly leaved with KErrArgument"));
+
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+
+    TInt maxNr = GetNrOfLandmarksL();
+
+    TBuf<100> buf;
+    buf.Format(_L("Nr of landmarks: %d"), maxNr);
+    iLog->Log(buf);
+    
+    // Remove categories from some landmarks
+    RemoveCategoriesFromLandmarksL(5);
+    // Check that correct number of uncategorized landmarks are found
+    DoTestL(EFalse, 0, 5);
+    DoTestL(EFalse, 1, 5);
+    DoTestL(EFalse, 2, 5);
+    DoTestL(EFalse, 3, 5);
+    // Remove categories from some landmarks
+    RemoveCategoriesFromLandmarksL(6);
+    // Check that correct number of uncategorized landmarks are found
+    DoTestL(EFalse, 0, 11);
+    DoTestL(EFalse, 1, 11);
+    DoTestL(EFalse, 2, 11);
+    DoTestL(EFalse, 3, 11);
+
+    // Remove categories from some landmarks
+    RemoveCategoriesFromLandmarksL(43);
+    // Check that correct number of uncategorized landmarks are found
+    DoTestL(EFalse, 0, 54);
+    DoTestL(EFalse, 1, 54);
+    DoTestL(EFalse, 2, 54);
+    DoTestL(EFalse, 3, 54);
+    
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+
+    delete iDatabase;
+    iDatabase=NULL;
+
+    stopTime.UniversalTime();
+    TTimeIntervalMicroSeconds executionTime = 
+        stopTime.MicroSecondsFrom(startTime);
+
+    TInt resse = executionTime.Int64()/1000000;
+    buf.Zero();
+    buf.Format(_L("TP36 took %d seconds"), resse);
+    iLog->Log(buf);
+	}
+
+// ---------------------------------------------------------
+// CPosTp36::DoTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp36::DoTestL(TBool aSync, TInt aTestNr, TInt aNrOfHits)
+    {
+    TBuf<150> buf;
+    buf.Format(_L("DoTestL part: %d"), aTestNr);
+    iLog->Log(buf);
+    iLandmarkSearch = CPosLandmarkSearch::NewL(*iDatabase);
+    CPosLmCategoryCriteria* catSearchCriteria = CPosLmCategoryCriteria::NewLC();
+
+    // Specified in header file EPos_CPosLmCategoryCriteria.h says that
+    // SetCategoryItemId(KPosLmNullItemId) should return uncategorized landmarks and that
+    // SetGlobalCategory(KPosLmNullGlobalCategory) should return uncategorized landmarks and that
+    // SetCategoryNameL(KNullDesC) should return uncategorized landmarks
+    if (aTestNr == 0)
+        {
+        }
+    else if (aTestNr == 1)
+        {
+        catSearchCriteria->SetCategoryItemId(KPosLmNullItemId);
+        }
+    else if (aTestNr == 2)
+        {
+        catSearchCriteria->SetGlobalCategory(KPosLmNullGlobalCategory);
+        }
+    else if (aTestNr == 3)
+        {
+        catSearchCriteria->SetCategoryNameL(KNullDesC);
+        }
+
+    iOperation = iLandmarkSearch->StartLandmarkSearchL(*catSearchCriteria);
+
+    if (aSync)
+        {
+        RunAsyncOperationLD(iOperation);
+        }
+    else
+        {
+        ExecuteAndDeleteLD(iOperation);
+        }
+
+    CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+    CleanupStack::PushL(iter);
+
+    TInt nr = iter->NumOfItemsL();
+    if (nr != aNrOfHits)
+        {
+        buf.Format(_L("Wrong number of landmarks returned when searching for uncategorized landmarks, found: %d should found %d"), nr, aNrOfHits);
+        
+        iLog->Log(buf);
+    	User::Leave(-1);
+
+        }
+
+    buf.Format(_L("Found %d nr of landmarks when searching GlobaCategories"), nr);
+    iLog->Log(buf);
+    TPosLmItemId id = iter->NextL();
+    TInt res = 0;
+    if (nr != 0)
+        {
+        while (id != KPosLmNullItemId)
+            {
+            TInt found = iArray.Find(id);
+            if (found == KErrNotFound) 
+            	{
+            	          
+            	iLog->Log(_L("Not found"));
+            	}
+            else 
+                {
+                res++;
+                CPosLandmark* landmark = iDatabase->ReadLandmarkLC(id);
+                CPosLandmark* landmark2 = iDatabase->ReadLandmarkLC(iArray[found]);
+
+                CompareLandmarksL(*landmark, *landmark2);
+
+                CleanupStack::PopAndDestroy(landmark2);
+                CleanupStack::PopAndDestroy(landmark);
+                }
+            id = iter->NextL();
+            }
+
+        if (res != nr) 
+            {
+            
+            iLog->Log(_L("The correct landmark was never found"));
+    		User::Leave(-1);
+
+            }
+        }
+
+    CleanupStack::PopAndDestroy(iter);
+    CleanupStack::PopAndDestroy(catSearchCriteria);
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+	}
+
+// ---------------------------------------------------------
+// CPosTp36::DoSearchForCategoryL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp36::DoSearchForCategoryL(TBool aSync)
+    {
+    iLandmarkSearch = CPosLandmarkSearch::NewL(*iDatabase);
+    CPosLmCategoryCriteria* catSearchCriteria = CPosLmCategoryCriteria::NewLC();
+
+    // This method should leave
+    iOperation = iLandmarkSearch->StartCategorySearchL(*catSearchCriteria, CPosLmCategoryManager::ECategorySortOrderNone);
+
+    if (aSync)
+        {
+        RunAsyncOperationLD(iOperation);
+        }
+    else
+        {
+        ExecuteAndDeleteLD(iOperation);
+        }
+
+    CleanupStack::PopAndDestroy(catSearchCriteria);
+
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+	}
+
+// ---------------------------------------------------------
+// CPosTp36::RemoveCategoriesFromLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp36::RemoveCategoriesFromLandmarksL(TInt aNrOfLandmarks)
+    {
+    // Use this method to remove the category from a specified number of landmarks   
+    iLandmarkSearch = CPosLandmarkSearch::NewL(*iDatabase);
+    
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+
+    textCriteria->SetTextL(_L("*"));
+    TUint attr = CPosLandmark::ELandmarkName | CPosLandmark::EDescription;
+    textCriteria->SetAttributesToSearch(attr);
+
+    iOperation = iLandmarkSearch->StartLandmarkSearchL(*textCriteria, EFalse); 
+    ExecuteAndDeleteLD(iOperation);
+
+    CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+    CleanupStack::PushL(iter);
+    
+    TPosLmItemId id = iter->NextL();
+    TInt counter=0;
+    
+    // Remove the category from aNrOfLandmarks nr of landmarks
+    while ((id != KPosLmNullItemId) && (counter <aNrOfLandmarks))
+        {
+        CPosLandmark* landmark = iDatabase->ReadLandmarkLC(id);
+
+        RArray<TPosLmItemId> categories;
+        CleanupClosePushL(categories);
+        landmark->GetCategoriesL(categories);
+        TPtrC landmarkName;
+        landmark->GetLandmarkName(landmarkName);
+        TBuf<50> buf;
+
+        TInt size = categories.Count();
+        if (size != 0)
+            {
+            buf.Format(_L("Removing from landmark: "));
+            buf.Append(landmarkName);
+            iLog->Log(buf);
+            iArray.Append(id);
+
+            for (TInt j=0;j<size;j++)
+                {
+                // Remove category from landmark
+                landmark->RemoveCategory(categories[j]);
+                }
+            iDatabase->UpdateLandmarkL(*landmark);
+            counter++;
+            }
+        CleanupStack::PopAndDestroy(&categories);
+        CleanupStack::PopAndDestroy(landmark);
+        id = iter->NextL();
+        if (id == KPosLmNullItemId) iLog->Log(_L("KPosLmNullItemId"));
+        }
+    iter->Reset();
+
+    CleanupStack::PopAndDestroy(iter);
+    CleanupStack::PopAndDestroy(textCriteria);
+
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+    }
+
+// ---------------------------------------------------------
+// CPosTp36::GetNrOfLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt CPosTp36::GetNrOfLandmarksL()
+    {
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+
+    textCriteria->SetTextL(_L("*"));
+    TUint attr = CPosLandmark::ELandmarkName | CPosLandmark::EDescription;
+    textCriteria->SetAttributesToSearch(attr);
+
+    iLandmarkSearch = CPosLandmarkSearch::NewL(*iDatabase);
+    iOperation = iLandmarkSearch->StartLandmarkSearchL(*textCriteria, EFalse); 
+    ExecuteAndDeleteLD(iOperation);
+
+    TInt nrOfMatches = iLandmarkSearch->NumOfMatches();
+
+    CleanupStack::PopAndDestroy(textCriteria);
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+    return nrOfMatches;
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp37.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,541 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp37.h"
+#include <EPos_CPosLandmarkDatabase.h> 
+#include <EPos_CPosLmCompositeCriteria.h>
+#include <EPos_CPosLmCategoryCriteria.h>
+#include <EPos_CPosLmCatNameCriteria.h>
+#include <EPos_CPosLmTextCriteria.h>
+#include <EPos_CPosLmIdListCriteria.h>
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp37::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp37::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+    delete iDatabase;
+    iDatabase=NULL;
+
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+    }
+
+// ---------------------------------------------------------
+// CPosTp37::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp37::StartL()
+    {
+    TTime startTime;
+    TTime stopTime;
+
+    startTime.UniversalTime();
+    // Delete "c:\\system\\data\\eposlm.ldb"
+    RemoveDefaultDbL();
+    
+    iDatabase = UseGeneratedDbFileL();
+    
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+
+    TInt err = KErrNone;
+
+    TRAP(err, DoErrorTestL(0));
+    if (err != KErrArgument) {iLog->Log(_L("Wrong error1"));iErrorsFound++;}
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+    err = KErrNone;
+    TRAP(err, DoErrorTestL(1));
+    if (err != KErrNotSupported) {iLog->Log(_L("Wrong error2")); iErrorsFound++;};
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+    err = KErrNone;
+    TRAP(err, DoErrorTestL(2));
+    if (err != KErrNotSupported) {iLog->Log(_L("Wrong error3"));iErrorsFound++;}
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+    err = KErrNone;
+
+    TRAP(err, DoErrorTest3L(0));
+    if (err != KErrArgument) {iLog->Log(_L("Wrong error5"));iErrorsFound++;}
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+    err = KErrNone;
+    TRAP(err, DoErrorTest3L(1));
+    if (err != KErrNotSupported) {iLog->Log(_L("Wrong error6"));iErrorsFound++;}
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+    err = KErrNone;
+    TRAP(err, DoErrorTest3L(2));
+    if (err != KErrArgument) {iLog->Log(_L("Wrong error7"));iErrorsFound++;}
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+    err = KErrNone;
+    TRAP(err, DoErrorTest3L(3));
+    if (err != KErrNotSupported) {iLog->Log(_L("Wrong error8"));iErrorsFound++;}
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+    err = KErrNone;
+    
+    TRAP(err, DoErrorTest3L(4));
+    if (err != KErrArgument) {iLog->Log(_L("Wrong error9"));iErrorsFound++;}
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+    err = KErrNone;
+
+    TRAP(err, DoErrorTest4L(0));
+    if (err != KErrArgument) {iLog->Log(_L("Wrong error10"));iErrorsFound++;}
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+    err = KErrNone;
+
+    TRAP(err, DoErrorTest4L(1));
+    if (err != KErrNotSupported) {iLog->Log(_L("Wrong error11"));iErrorsFound++;}
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+    err = KErrNone;
+
+    stopTime.UniversalTime();
+    TTimeIntervalMicroSeconds executionTime = 
+        stopTime.MicroSecondsFrom(startTime);
+
+    TInt resse = executionTime.Int64()/1000000;
+    TBuf<100> buf;
+    buf.Format(_L("TP37 took %d seconds"), resse);
+    iLog->Log(buf);
+
+    if (iErrorsFound != KErrNone) 
+        {
+        iLog->Log(_L("Errors found in TP37"));
+        User::Leave(-1);
+        }
+
+	}
+
+// ---------------------------------------------------------
+// CPosTp37::DoErrorTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp37::DoErrorTestL(TInt aTestNr)
+    {
+    TBuf<100> buf;
+    buf.Format(_L("DoErrorTestL %d"), aTestNr);
+    iLog->Log(buf);
+    iLandmarkSearch = CPosLandmarkSearch::NewL(*iDatabase);
+    CPosLmCompositeCriteria* composite = CPosLmCompositeCriteria::NewLC(CPosLmCompositeCriteria::ECompositionAND);
+
+    CPosLmCompositeCriteria::TCompositionType type = composite->CompositionType();
+    if (type != CPosLmCompositeCriteria::ECompositionAND) 
+    {
+       iLog->Log( _L("Error1: Wrong type returned"));
+       User::Leave(-1);
+    }
+
+    TInt nr = composite->NumOfArguments();
+    if (nr != 0)
+    {
+        iLog->Log(_L("Wrong number of arguments returned"));
+       User::Leave(-1);
+
+    }
+
+    if (aTestNr == 0)
+        { 
+        // Test that it is not possible to perform a composite search without any search arguments attached to 
+        // the composite object
+        iOperation = iLandmarkSearch->StartLandmarkSearchL(*composite, EFalse);
+        iLog->Log(_L("Should leave here"));
+        ExecuteAndDeleteLD(iOperation);
+        }
+    else if (aTestNr == 1)
+        {
+        // Test that it is not possible to perform a composite search without any search arguments attached to 
+        // the composite object
+        iOperation = iLandmarkSearch->StartCategorySearchL(*composite, CPosLmCategoryManager::ECategorySortOrderNone);
+        iLog->Log(_L("Should leave here"));
+        ExecuteAndDeleteLD(iOperation);
+        }
+    else if (aTestNr == 2)
+        {
+        // Test that it is not possible to attach a category search attribute to
+        // a composite object
+        CPosLmCatNameCriteria* nameCriteria = CPosLmCatNameCriteria::NewLC();
+        nameCriteria->SetSearchPatternL(_L("*"));
+        TInt err = composite->AddArgument(nameCriteria);
+        if (err != KErrNotSupported) 
+        {
+            iLog->Log(_L("Wrong error when adding CPosLmCatNameCriteria to composite"));
+            User::Leave(err);
+        }
+        User::Leave(KErrNotSupported);
+        }
+
+    
+            iLog->Log(_L("Did not leave!!!"));
+            User::Leave(-1);
+   
+    iLog->Log(_L("ClearArguments"));
+    composite->ClearArguments();
+    iLog->Log(_L("PopAndDestroy"));
+    CleanupStack::PopAndDestroy(composite);
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+    iLog->Log(_L("Done"));
+	}
+
+// ---------------------------------------------------------
+// CPosTp37::DoErrorTest3L
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp37::DoErrorTest3L(TInt aTestNr)
+    {
+    TBuf<100> buf;
+    buf.Format(_L("DoErrorTest3L %d"), aTestNr);
+    iLog->Log(buf);
+    iLandmarkSearch = CPosLandmarkSearch::NewL(*iDatabase);
+    TInt err = KErrNone;
+    CPosLmCompositeCriteria* composite = CPosLmCompositeCriteria::NewLC(CPosLmCompositeCriteria::ECompositionAND);
+    
+    if (aTestNr == 0)
+        {
+        // add empty ID List
+        CPosLmIdListCriteria* idList = CPosLmIdListCriteria::NewLC();
+        err = composite->AddArgument(idList);
+        CleanupStack::Pop(idList);
+        if (err != KErrNone) 
+        {
+            iLog->Log(_L("Error from AddArgument(idList);"));
+            User::Leave(err);
+        }
+        iLog->Log(_L("iLandmarkSearch->StartLandmarkSearchL"));    
+        iOperation = iLandmarkSearch->StartLandmarkSearchL(*composite, EFalse);
+        iLog->Log(_L("Should leave here"));
+        ExecuteAndDeleteLD(iOperation);
+        }
+    else if (aTestNr == 1)
+        {
+        // add empty ID List
+        CPosLmIdListCriteria* idList = CPosLmIdListCriteria::NewLC();
+        TInt err = composite->AddArgument(idList);
+        CleanupStack::Pop(idList);
+        if (err != KErrNone) 
+        {
+            iLog->Log(_L("Error from AddArgument(idList);"));
+            User::Leave(err);
+
+        }
+
+        iLog->Log(_L("iLandmarkSearch->StartCategorySearchL"));    
+        iOperation = iLandmarkSearch->StartCategorySearchL(*composite, CPosLmCategoryManager::ECategorySortOrderNone);
+        iLog->Log(_L("Should leave here"));
+        ExecuteAndDeleteLD(iOperation);
+
+        }
+    else if (aTestNr == 2)
+        {
+        // Test with list that contain items
+        RArray<TPosLmItemId> list;
+        CleanupClosePushL(list);
+
+        list.Append(0);
+        list.Append(1);
+        list.Append(2);
+        CPosLmIdListCriteria* idList = CPosLmIdListCriteria::NewLC();
+        idList->SetLandmarkIdsL(list);
+        err = composite->AddArgument(idList);
+        CleanupStack::Pop(idList);
+        if (err != KErrNone)
+        {
+            iLog->Log(_L("Error from AddArgument(idList);"));
+            User::Leave(err);
+        }
+        iLog->Log(_L("iLandmarkSearch->StartLandmarkSearchL"));    
+        iOperation = iLandmarkSearch->StartLandmarkSearchL(*composite, EFalse);
+        iLog->Log(_L("Should leave here"));
+        ExecuteAndDeleteLD(iOperation);
+
+        CleanupStack::PopAndDestroy(&list);
+        }
+    else if (aTestNr == 3)
+        {
+        // Test with list that contain items
+        RArray<TPosLmItemId> list;
+        CleanupClosePushL(list);
+
+        list.Append(0);
+        list.Append(1);
+        list.Append(2);
+        CPosLmIdListCriteria* idList = CPosLmIdListCriteria::NewLC();
+        idList->SetLandmarkIdsL(list);
+        err = composite->AddArgument(idList);
+        CleanupStack::Pop(idList);
+        if (err != KErrNone)
+        {
+            iLog->Log(_L("Error from AddArgument(idList);"));
+            User::Leave(err);
+        }
+        iLog->Log(_L("iLandmarkSearch->StartCategorySearchL"));    
+        iOperation = iLandmarkSearch->StartCategorySearchL(*composite, CPosLmCategoryManager::ECategorySortOrderNone);
+        iLog->Log(_L("Should leave here"));
+        ExecuteAndDeleteLD(iOperation);
+
+        CleanupStack::PopAndDestroy(&list);
+        }
+    else if (aTestNr == 4)
+        {
+        // Test with list that contain valid and invalid items
+        RArray<TPosLmItemId> list;
+        CleanupClosePushL(list);
+    
+    	CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+    	textCriteria->SetTextL(_L(""));
+    	
+    	err = composite->AddArgument(textCriteria);
+        CleanupStack::Pop(textCriteria);
+        if (err != KErrNone) 
+        {
+            iLog->Log(_L("Error from AddArgument(idList);"));
+            User::Leave(err);
+        }
+    
+        list.Append(1);
+        list.Append(2);
+        list.Append(2000);
+        list.Append(2001);
+        
+        CPosLmIdListCriteria* idList = CPosLmIdListCriteria::NewLC();
+        idList->SetLandmarkIdsL(list);
+        err = composite->AddArgument(idList);
+        CleanupStack::Pop(idList);
+        CleanupStack::PopAndDestroy(&list);
+        if (err != KErrNone) 
+        {
+            iLog->Log(_L("Error from AddArgument(idList);"));
+            User::Leave(err);
+        }
+        iLog->Log(_L("iLandmarkSearch->StartLandmarkSearchL"));    
+        iOperation = iLandmarkSearch->StartLandmarkSearchL(*composite, CPosLmCategoryManager::ECategorySortOrderNone);
+        
+        ExecuteAndDeleteLD(iOperation);
+        // We should never come here
+        iLog->Log(_L("Should leave here"));
+        
+        CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+        CleanupStack::PushL(iter);
+        CleanupStack::PopAndDestroy(iter);
+        }
+    else 
+        {
+        
+        iLog->Log(_L("Error in testcode, we should never come here"));
+         User::Leave(-1);
+        }
+
+    CleanupStack::PopAndDestroy(composite);
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+    iLog->Log(_L("Done"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp37::DoErrorTest4L
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp37::DoErrorTest4L(TInt aTestNr)
+    {
+    TBuf<100> buf;
+    buf.Format(_L("DoErrorTest4L %d"), aTestNr);
+    iLog->Log(buf);
+    iLandmarkSearch = CPosLandmarkSearch::NewL(*iDatabase);
+    CPosLmCompositeCriteria* composite = CPosLmCompositeCriteria::NewLC(CPosLmCompositeCriteria::ECompositionAND);
+    
+    if (aTestNr == 0)
+        {
+        // Test with several lists
+        RArray<TPosLmItemId> list1;
+        CleanupClosePushL(list1);
+
+        list1.Append(0);
+        list1.Append(1);
+        list1.Append(2);
+
+        RArray<TPosLmItemId> list2;
+        CleanupClosePushL(list2);
+
+        list2.Append(3);
+        list2.Append(4);
+        list2.Append(5);
+
+        CPosLmIdListCriteria* idList1 = CPosLmIdListCriteria::NewLC();
+        CPosLmIdListCriteria* idList2 = CPosLmIdListCriteria::NewLC();
+
+        idList1->SetLandmarkIdsL(list1);
+        idList2->SetLandmarkIdsL(list2);
+        TInt err = composite->AddArgument(idList2);
+        if (err != KErrNone)
+        {
+         iLog->Log(_L("Error from AddArgument(idList2);"));
+         User::Leave(err);
+        }
+        CleanupStack::Pop(idList2);
+        err = composite->AddArgument(idList1);
+        if (err != KErrNone) 
+        {
+         iLog->Log(_L("Error from AddArgument(idList2);"));
+         User::Leave(err);
+
+        }
+        CleanupStack::Pop(idList1);
+        iLog->Log(_L("iLandmarkSearch->StartLandmarkSearchL"));    
+        iOperation = iLandmarkSearch->StartLandmarkSearchL(*composite, EFalse);
+        iLog->Log(_L("Should leave here"));
+        ExecuteAndDeleteLD(iOperation);
+        }
+    else if (aTestNr == 1)
+        {
+        // Test with several lists
+        RArray<TPosLmItemId> list1;
+        CleanupClosePushL(list1);
+
+        list1.Append(0);
+        list1.Append(1);
+        list1.Append(2);
+
+        RArray<TPosLmItemId> list2;
+        CleanupClosePushL(list2);
+
+        list2.Append(3);
+        list2.Append(4);
+        list2.Append(5);
+
+        CPosLmIdListCriteria* idList1 = CPosLmIdListCriteria::NewLC();
+        CPosLmIdListCriteria* idList2 = CPosLmIdListCriteria::NewLC();
+
+        idList1->SetLandmarkIdsL(list1);
+        idList2->SetLandmarkIdsL(list2);
+
+        TInt err = composite->AddArgument(idList2);
+        if (err != KErrNone) 
+        {
+            iLog->Log(_L("Error from AddArgument(idList2);"));
+            User::Leave(err);
+        }
+        CleanupStack::Pop(idList2);
+        err = composite->AddArgument(idList1);
+        if (err != KErrNone) 
+        {
+         iLog->Log(_L("Error from AddArgument(idList2);"));
+         User::Leave(err);
+
+        }
+        CleanupStack::Pop(idList1);
+
+        iLog->Log(_L("iLandmarkSearch->StartCategorySearchL"));    
+        iOperation = iLandmarkSearch->StartCategorySearchL(*composite, CPosLmCategoryManager::ECategorySortOrderNone);
+        iLog->Log(_L("Should leave here"));
+        ExecuteAndDeleteLD(iOperation);
+        }
+    else 
+        {
+        
+        iLog->Log(_L("Error in testcode, we should never come here"));
+         User::Leave(-1);
+
+        }
+
+    
+    iLog->Log(_L("Did not leave!!!"));
+    User::Leave(-1);
+
+
+    CleanupStack::PopAndDestroy(composite);
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+    iLog->Log(_L("Done"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp37::TestCompositeAndCategoryL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp37::TestCompositeAndCategoryL(TInt /*aTestNr*/)
+    {
+    iLog->Log(_L("TestCompositeAndCategoryL"));
+
+    iLandmarkSearch = CPosLandmarkSearch::NewL(*iDatabase);
+    CPosLmCompositeCriteria* composite = CPosLmCompositeCriteria::NewLC(CPosLmCompositeCriteria::ECompositionAND);
+
+    // Test with list that contain items
+    RArray<TPosLmItemId> list;
+    CleanupClosePushL(list);
+    
+    list.Append(0);
+    list.Append(1);
+    list.Append(2);
+    
+    CPosLmIdListCriteria* idList = CPosLmIdListCriteria::NewLC();
+    idList->SetLandmarkIdsL(list);
+    TInt err = composite->AddArgument(idList);
+    if (err != KErrNone)
+    {
+    iLog->Log(_L("Error from AddArgument(idList);"));
+    User::Leave(err);
+
+    }
+    CleanupStack::Pop(idList);
+
+    CPosLmCatNameCriteria* nameCriteria = CPosLmCatNameCriteria::NewLC();
+    nameCriteria->SetSearchPatternL(_L("*"));
+    err = composite->AddArgument(nameCriteria);
+    if (err != KErrNotSupported)
+    {
+    iLog->Log(_L("Wrong error from AddArgument(nameCriteria); should be KErrNotSupported"));
+    User::Leave(err);
+
+    }
+    CleanupStack::PopAndDestroy(nameCriteria);
+    User::Leave(KErrNotSupported);
+
+
+    CleanupStack::PopAndDestroy(composite);
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+    iLog->Log(_L("Done"));
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp38.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,1452 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp38.h"
+#include <EPos_CPosLandmarkDatabase.h> 
+#include <EPos_CPosLmCompositeCriteria.h>
+#include <EPos_CPosLmCategoryCriteria.h>
+#include <EPos_CPosLmCatNameCriteria.h>
+#include <EPos_CPosLmNearestCriteria.h>
+#include <EPos_CPosLmAreaCriteria.h>
+#include <EPos_CPosLmTextCriteria.h>
+#include <EPos_CPosLmIdListCriteria.h>
+#include "FT_LandmarkConstants.h" 
+
+#include "FT_CCompositeSearchResult.h"
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp38::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp38::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+    delete iDatabase;
+    iDatabase=NULL;
+
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+
+    }
+
+// ---------------------------------------------------------
+// CPosTp38::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp38::StartL()
+    {
+    TTime startTime;
+    TTime stopTime;
+    startTime.UniversalTime();
+    
+    iDatabase = UseCompositeLandmarksDbFileL();
+    
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+
+    StartLandmarksCompositeTestL();
+
+    TestCompositeInCompositeL();
+
+    TestSeveralTextArgumentsL();
+    
+    TestSeveralTextArgumentsWithORL();
+
+	TestSortOrderWithORL();
+	
+    TestWithSortOrderLandmarksL();
+        
+    TestWithSortOrderNearestL();
+    
+    TestTwoLmCategoryCriteriaL();
+
+    TestAddAndRemoveL();
+
+    TInt err = KErrNone;
+    TRAP(err, TestWithNoPreviousResultL(0));
+    if (err != KErrArgument) 
+    
+    {
+    	iLog->Log(_L("Searching with no previous result should cause StartLandmarkL to leave with KErrArgument"));
+    	User::Leave(err);
+    }
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+
+    SearchAndCancelL(EFalse);
+    SearchAndCancelL(ETrue);
+
+    // Since category and composite is no longer allowed, no need to test this
+    //TestWithSortOrderCategoriesL();
+    //TestCategoryCompositeSearchL();
+
+    stopTime.UniversalTime();
+    TTimeIntervalMicroSeconds executionTime = 
+        stopTime.MicroSecondsFrom(startTime);
+
+    TInt resse = executionTime.Int64()/1000000;
+    TBuf<100> buf;
+    buf.Format(_L("TP38 took %d seconds"), resse);
+    iLog->Log(buf);
+	}
+
+// ---------------------------------------------------------
+// CPosTp38::TestWithSortOrderCategoriesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp38::TestWithSortOrderCategoriesL()
+	{
+	iLog->Log(_L("TestWithSortOrderCategoriesL"));
+	
+	iLandmarkSearch = CPosLandmarkSearch::NewL(*iDatabase);
+    CPosLmCompositeCriteria* composite = CPosLmCompositeCriteria::NewLC(CPosLmCompositeCriteria::ECompositionAND);
+
+    CPosLmCatNameCriteria* nameCriteria = CPosLmCatNameCriteria::NewLC();
+    nameCriteria->SetSearchPatternL(_L("*"));
+    TInt err = composite->AddArgument(nameCriteria);
+    if (err != KErrNone) 
+    {
+    	iLog->Log(_L("Error from AddArgument(nameCriteria)"));
+    	User::Leave(err);
+    }
+    CleanupStack::Pop(nameCriteria);
+    
+    CPosLmCategoryManager::TCategorySortPref sortPref;
+    sortPref = CPosLmCategoryManager::ECategorySortOrderNameAscending;
+	TInt i=0;
+	TInt j=0;    
+    for (j=0;j<2;j++)
+    	{
+	  	if (j==0) 
+	    	{
+	    	iLog->Log(_L("Sorting Ascending"));
+	    	sortPref = CPosLmCategoryManager::ECategorySortOrderNameAscending;
+	    	}
+	    else 
+	    	{
+	    	iLog->Log(_L("Sorting Descending"));
+	    	sortPref = CPosLmCategoryManager::ECategorySortOrderNameDescending;
+	    	}
+	    	
+    	iLog->Log(_L("iLandmarkSearch->StartCategorySearchL"));
+    	iOperation = iLandmarkSearch->StartCategorySearchL(*composite, sortPref);
+
+    	ExecuteAndDeleteLD(iOperation);
+
+    	CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+    	CleanupStack::PushL(iter);
+    
+        // Create a sorted list out of the search result
+        RArray<TPosLmItemId> searchResults;
+        CleanupClosePushL(searchResults);
+        
+        for (i=1;i<27;i++) {searchResults.Append(i);}
+
+        CategoriesSortL(searchResults, sortPref);
+        
+        TPosLmItemId id = iter->NextL();
+        TInt counter=0;
+        while (id != KPosLmNullItemId)
+            {
+            // Check that sort order is correct
+            AssertTrueSecL(searchResults[counter] == id, _L("Error in sorting"));
+            id = iter->NextL();
+            counter++;
+            }
+        CleanupStack::PopAndDestroy(&searchResults);
+        CleanupStack::PopAndDestroy(iter);
+		}          
+    CleanupStack::PopAndDestroy(composite);
+
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+        
+    iLog->Log(_L("Done"));
+	}
+
+// ---------------------------------------------------------
+// CPosTp38::TestWithSortOrderNearestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp38::TestWithSortOrderNearestL()
+	{
+	
+	iLog->Log(_L("TestWithSortOrderNearestL"));
+	
+	iLandmarkSearch = CPosLandmarkSearch::NewL(*iDatabase);
+    CPosLmCompositeCriteria* composite = CPosLmCompositeCriteria::NewLC(CPosLmCompositeCriteria::ECompositionAND);
+
+    // First create a textcriteria
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();   
+    textCriteria->SetTextL(_L("*"));
+    TInt err = composite->AddArgument(textCriteria);
+    if (err != KErrNone)
+    {
+    iLog->Log(_L("Error when adding argument1"));
+    User::Leave(err);
+    }
+    CleanupStack::Pop(textCriteria);
+    
+    // Then create a nearest criteria same coordinate as landmark itemid=3 God
+    TCoordinate coord(45, 45);
+    CPosLmNearestCriteria* nearestCriteria = CPosLmNearestCriteria::NewLC(coord, EFalse);
+    err = composite->AddArgument(nearestCriteria);
+    if (err != KErrNone)
+    
+    {
+    	iLog->Log(_L("Error when adding argument2"));
+    	User::Leave(err);
+    
+    }
+    CleanupStack::Pop(nearestCriteria);
+        
+    // Then add an IdList
+    CPosLmIdListCriteria* idList = CPosLmIdListCriteria::NewLC();
+    RArray<TPosLmItemId> list;
+    CleanupClosePushL(list);
+    
+    // Use these four landmarks
+    list.Append(6);
+    list.Append(7);
+    list.Append(3);
+    list.Append(10);
+    
+    idList->SetLandmarkIdsL(list);
+    err = composite->AddArgument(idList);
+    if (err != KErrNone) 
+    
+    {
+    	iLog->Log(_L("Error when adding argument3"));
+    	User::Leave(err);
+    
+    }
+    CleanupStack::PopAndDestroy(&list);
+    CleanupStack::Pop(idList);
+    
+    // Create search result
+   	RArray<TPosLmItemId> searchResults;
+	CleanupClosePushL(searchResults);
+	// This is the correct distance sorted array	
+	searchResults.Append(3);
+	searchResults.Append(7);
+	searchResults.Append(6);
+	searchResults.Append(10);
+
+    iOperation = iLandmarkSearch->StartLandmarkSearchL(*composite, EFalse);
+    ExecuteAndDeleteLD(iOperation);
+          
+    CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+    CleanupStack::PushL(iter);
+    
+        
+    TInt ii=0;
+    TPosLmItemId id = iter->NextL();
+            
+    while (id != KPosLmNullItemId)
+    	{
+        if (id != (searchResults)[ii])
+        	{
+            // Check if same name then don't leave, there are three landmarks with same name, Mölndal
+            CPosLandmark* source = iDatabase->ReadLandmarkLC(id);
+            CPosLandmark* target = iDatabase->ReadLandmarkLC((searchResults)[ii]);
+            TPtrC sourceName, targetName;
+            source->GetLandmarkName(sourceName);
+            TInt sourceId = source->LandmarkId();
+            target->GetLandmarkName(targetName);
+            TInt targetId = target->LandmarkId();
+			
+                        
+            AssertTrueSecL(sourceName.CompareC(targetName) == KErrNone,_L("Wrong sortorder"), id);
+            CleanupStack::PopAndDestroy(2, source);
+            }
+
+        id = iter->NextL();
+        ++ii;
+		}
+	CleanupStack::PopAndDestroy(iter);	      	
+    CleanupStack::PopAndDestroy(&searchResults);
+    CleanupStack::PopAndDestroy(composite);
+    
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+	}
+
+// ---------------------------------------------------------
+// CPosTp38::TestTwoLmCategoryCriteriaL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp38::TestTwoLmCategoryCriteriaL()
+	{
+	iLog->Log(_L("TestTwoLmCategoryCriteriaL"));
+	
+	iLandmarkSearch = CPosLandmarkSearch::NewL(*iDatabase);
+    CPosLmCompositeCriteria* composite = CPosLmCompositeCriteria::NewLC(CPosLmCompositeCriteria::ECompositionAND);
+	
+    // First create a textcriteria
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();   
+    textCriteria->SetTextL(_L("*"));
+    TInt err = composite->AddArgument(textCriteria);
+    if (err != KErrNone)
+    {
+    	iLog->Log(_L("Error when adding argument1"));
+    	User::Leave(err);
+     }
+    CleanupStack::Pop(textCriteria);
+    
+	// Create a cat search criteria
+	CPosLmCategoryCriteria* catSearchCriteria = CPosLmCategoryCriteria::NewLC();
+    iLog->Log(_L("SetCategoryItemId"));
+    catSearchCriteria->SetCategoryItemId(14);
+    composite->AddArgument(catSearchCriteria);
+    CleanupStack::Pop(catSearchCriteria);
+    
+   	// Create another cat search criteria
+	CPosLmCategoryCriteria* catSearchCriteria2 = CPosLmCategoryCriteria::NewLC();
+    iLog->Log(_L("SetCategoryNameL"));
+    catSearchCriteria2->SetCategoryNameL(_L("McDonalds"));
+    composite->AddArgument(catSearchCriteria2);
+    CleanupStack::Pop(catSearchCriteria2);
+    
+    // Should find id7=Billigt and id27=LOG9
+    iOperation = iLandmarkSearch->StartLandmarkSearchL(*composite, EFalse);
+    ExecuteAndDeleteLD(iOperation);
+	
+	// Create search result
+   	RArray<TPosLmItemId> searchResults;
+	CleanupClosePushL(searchResults);
+	          
+    CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+    CleanupStack::PushL(iter);
+    
+    // This is the correct result list    
+	searchResults.Append(27);
+	searchResults.Append(7);
+	
+	TInt size = iter->NumOfItemsL();
+	if (size != searchResults.Count()) 
+	
+	{
+		iLog->Log(_L("Wrong result returned from iterator"));
+    	User::Leave(-1);
+    
+	}
+
+	TInt found = 0;
+	TInt ii=0;
+    TPosLmItemId id = iter->NextL();
+    
+    while (id != KPosLmNullItemId)
+    	{
+    	for (ii=0;ii<size;ii++)
+    		{
+        	if (id == (searchResults)[ii])
+        		{
+	            found++;
+	            }
+	       	}
+        	id = iter->NextL();
+		}
+		
+		if (found != searchResults.Count()) 
+		
+		{
+			iLog->Log(_L("Wrong result returned from iterator1"));
+    		User::Leave(-1);
+    	
+		}
+		
+	// Now refine search with another CPosLmCategoryCriteria
+	// Create another cat search criteria 
+	CPosLmCategoryCriteria* catSearchCriteria3 = CPosLmCategoryCriteria::NewLC();
+    iLog->Log(_L("SetCategoryItemId"));
+    catSearchCriteria3->SetCategoryItemId(11);
+    composite->AddArgument(catSearchCriteria3);
+    CleanupStack::Pop(catSearchCriteria3);
+    
+    // Should find id27=LOG9
+	iOperation = iLandmarkSearch->StartLandmarkSearchL(*composite, ETrue);
+    ExecuteAndDeleteLD(iOperation);
+    
+    iter->Reset();
+    CleanupStack::PopAndDestroy(iter);
+    iter = iLandmarkSearch->MatchIteratorL();
+    CleanupStack::PushL(iter);
+        
+    searchResults.Reset();
+    searchResults.Append(27);
+    found=0;
+    size = iter->NumOfItemsL();
+    id = iter->NextL();
+	if (size != searchResults.Count()) 
+	
+	{
+			iLog->Log(_L("Wrong result returned from iterator"));
+    		User::Leave(-1);
+    
+	}
+    
+        while (id != KPosLmNullItemId)
+    	{
+    	for (ii=0;ii<size;ii++)
+    		{
+        	if (id == (searchResults)[ii])
+        		{
+	            found++;
+	            }
+	       	}
+        	id = iter->NextL();
+		}
+		
+	if (found != searchResults.Count())
+	
+	{
+	iLog->Log(_L("Wrong items returned from iterator2"));
+    User::Leave(-1);
+    }
+
+	CleanupStack::PopAndDestroy(iter);
+	CleanupStack::PopAndDestroy(&searchResults);    
+    CleanupStack::PopAndDestroy(composite);
+    
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+	}
+
+// ---------------------------------------------------------
+// CPosTp38::TestWithSortOrderLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp38::TestWithSortOrderLandmarksL()
+	{
+	iLog->Log(_L("TestWithSortOrderLandmarksL"));
+    
+    iLandmarkSearch = CPosLandmarkSearch::NewL(*iDatabase);
+    CPosLmCompositeCriteria* composite = CPosLmCompositeCriteria::NewLC(CPosLmCompositeCriteria::ECompositionAND);
+	TInt i=0;
+	TInt j=0;
+	
+	TPosLmSortPref sortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+	
+    // First create a textcriteria
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();   
+    textCriteria->SetTextL(_L("*"));
+    TInt err = composite->AddArgument(textCriteria);
+    if (err != KErrNone)
+    {
+    	iLog->Log(_L("Error when adding argument1"));
+    	User::Leave(err);
+    }
+    CleanupStack::Pop(textCriteria);
+    
+    // Then create a nearest criteria
+    TCoordinate coord(12.123, -20,123);
+    CPosLmNearestCriteria* nearestCriteria = CPosLmNearestCriteria::NewLC(coord, EFalse);
+    err = composite->AddArgument(nearestCriteria);
+    if (err != KErrNone) 
+    {
+    	iLog->Log(_L("Error when adding argument2"));
+    	User::Leave(err);
+    }
+    CleanupStack::Pop(nearestCriteria);
+        
+    // Then add an IdList
+    CPosLmIdListCriteria* idList = CPosLmIdListCriteria::NewLC();
+    RArray<TPosLmItemId> list;
+    CleanupClosePushL(list);
+    for (i=1;i<106;i++) {list.Append(i);}
+    idList->SetLandmarkIdsL(list);
+    err = composite->AddArgument(idList);
+    if (err != KErrNone) 
+    {
+    	iLog->Log(_L("Error when adding argument3"));
+    	User::Leave(err);
+    }
+    CleanupStack::PopAndDestroy(&list);
+    CleanupStack::Pop(idList);
+    
+    // Create search result of all landmark ids: 1-105
+   	RArray<TPosLmItemId> searchResults;
+	CleanupClosePushL(searchResults);
+	for (i=1;i<106;i++) {searchResults.Append(i);}
+    
+    for (j=0;j<2;j++)
+	    {
+	    if (j==0) 
+	    	{
+	    	iLog->Log(_L("Sorting Ascending"));
+	    	sortPref.SetSortByLandmarkAttribute(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+	    	}
+	    else 
+	    	{
+	    	iLog->Log(_L("Sorting Descending"));
+	    	sortPref.SetSortByLandmarkAttribute(CPosLandmark::ELandmarkName, TPosLmSortPref::EDescending);
+	    	}
+
+	    iOperation = iLandmarkSearch->StartLandmarkSearchL(*composite, sortPref, EFalse);
+	    ExecuteAndDeleteLD(iOperation);
+	          
+	    CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+	    CleanupStack::PushL(iter);
+	    
+	    TInt size = iter->NumOfItemsL();
+
+	  	LandmarksSortL(searchResults, sortPref);
+	        
+	    TInt ii=0;
+	    TPosLmItemId id = iter->NextL();
+	            
+	    while (id != KPosLmNullItemId)
+	    	{	            
+	        if (id != (searchResults)[ii])
+	        	{
+	            // Check if same name then don't leave, there are three landmarks with same name, Mölndal
+	            
+	            CPosLandmark* source = iDatabase->ReadLandmarkLC(id);
+	            CPosLandmark* target = iDatabase->ReadLandmarkLC((searchResults)[ii]);
+	            TPtrC sourceName, targetName;
+	            source->GetLandmarkName(sourceName);
+	            TInt sourceId = source->LandmarkId();
+	            target->GetLandmarkName(targetName);
+	            TInt targetId = target->LandmarkId();
+			
+	            AssertTrueSecL(sourceName.CompareC(targetName) == KErrNone,_L("Wrong sortorder"), id);
+	            
+	            CleanupStack::PopAndDestroy(2, source);
+	            }
+
+	        id = iter->NextL();
+	        ++ii;
+	      	}
+    	CleanupStack::PopAndDestroy(iter);	      	
+	    }
+	    
+    CleanupStack::PopAndDestroy(&searchResults);
+    CleanupStack::PopAndDestroy(composite);
+    
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+	}
+
+// ---------------------------------------------------------
+// CPosTp38::TestCompositeInCompositeL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp38::TestCompositeInCompositeL()
+    {
+    iLog->Log(_L("TestCompositeInCompositeL"));
+    iLandmarkSearch = CPosLandmarkSearch::NewL(*iDatabase);
+    CPosLmCompositeCriteria* composite = CPosLmCompositeCriteria::NewLC(CPosLmCompositeCriteria::ECompositionAND);
+
+    // First create a textcriteria
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+    
+    textCriteria->SetTextL(_L("*"));
+   
+    TInt err = composite->AddArgument(textCriteria);
+    if (err != KErrNone)
+    {
+    	iLog->Log(_L("Error when adding argument1"));
+    	User::Leave(err);
+    }
+    CleanupStack::Pop(textCriteria);
+
+    CPosLmAreaCriteria* areaCriteria = CPosLmAreaCriteria::NewLC(-48, 5, -5, 20);
+                
+    err = composite->AddArgument(areaCriteria);
+    if (err != KErrNone)
+    {
+    	iLog->Log(_L("Error when adding argument2"));
+    	User::Leave(err);
+    }
+    CleanupStack::Pop(areaCriteria);
+
+    //Create composite object that should be used as argument to the first composite object
+    CPosLmCompositeCriteria* composite2 = CPosLmCompositeCriteria::NewLC(CPosLmCompositeCriteria::ECompositionAND);
+
+    CPosLmTextCriteria* textCriteria2 = CPosLmTextCriteria::NewLC();
+    
+    textCriteria2->SetTextL(_L("TE,*"));
+    
+    err = composite2->AddArgument(textCriteria2);
+    if (err != KErrNone)
+    {
+    	iLog->Log(_L("Error when adding argument3"));
+    	User::Leave(err);
+    }
+    CleanupStack::Pop(textCriteria2);
+
+    // Add a IdList
+    RArray<TPosLmItemId> list;
+    CleanupClosePushL(list);
+    
+    CPosLmIdListCriteria* idList = CPosLmIdListCriteria::NewLC();
+    
+    for (TInt i=0;i<100;i++)
+        {
+        list.Append(i);
+        }
+    idList->SetLandmarkIdsL(list);
+    
+    err = composite2->AddArgument(idList);
+    if (err != KErrNone)
+    {
+    	iLog->Log(_L("Error when adding argument4"));
+    	User::Leave(err);
+    }
+    CleanupStack::Pop(idList);
+    CleanupStack::PopAndDestroy(&list);
+
+    // Nested composite is not allowed
+    err = composite->AddArgument(composite2);
+    if (err != KErrNotSupported)
+    {
+    	iLog->Log(_L("Wrong error code when adding composite to a composite"));
+    	User::Leave(err);
+    }
+    CleanupStack::PopAndDestroy(composite2);
+
+    CleanupStack::PopAndDestroy(composite);
+
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+    iLog->Log(_L("Done"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp38::StartLandmarksCompositeTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp38::StartLandmarksCompositeTestL()
+    {       
+    iLog->Log(_L("StartTestL"));
+    iLandmarkSearch = CPosLandmarkSearch::NewL(*iDatabase);
+    CPosLmCompositeCriteria* composite = CPosLmCompositeCriteria::NewLC(CPosLmCompositeCriteria::ECompositionAND);
+
+    CCompositeSearchResult* res = CCompositeSearchResult::NewL(iLog);
+    CleanupStack::PushL(res);
+
+    TInt index=0;
+    TInt errorsFound = KErrNone;
+
+    TBuf<100> buf;
+    buf.Format(_L(">>>>>>>Test round %d <<<<<<<"), index);
+
+    while (!res->GetCompositeSearchResultsL(*composite))
+        {
+        PrintCompositeInfo(composite);
+        
+        iLog->Log(_L("iLandmarkSearch->StartLandmarkSearchL"));    
+        iOperation = iLandmarkSearch->StartLandmarkSearchL(*composite, res->Redefined());
+        ExecuteAndDeleteLD(iOperation);
+
+        CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+        CleanupStack::PushL(iter);
+        TPosLmItemId id = iter->NextL();
+        
+        TInt matches = iLandmarkSearch->NumOfMatches();
+        TInt expMatches = res->iResultIds.Count();
+
+        buf.Format(_L("nr of matches: %d nr of exp matches: %d"), matches, expMatches);
+        iLog->Log(buf);
+
+        while (id != KPosLmNullItemId)
+            {
+            buf.Format(_L("Result from iterator id: %d"), id);
+            iLog->Log(buf);
+            TInt idde = res->iResultIds.Find(id);
+            if (idde == KErrNotFound) 
+                {
+                iLog->Log(_L("MyError: Could not find id!!!"));
+                errorsFound++;
+                }
+            else 
+                {
+                // Remove so that we dont find the same id again
+                res->iResultIds.Remove(idde);
+                }
+            id = iter->NextL();
+            }
+
+        iter->Reset();
+        CleanupStack::PopAndDestroy(iter);
+
+        if (expMatches != matches) 
+            {
+            iLog->Log(_L("MyError: Wrong number of matches"));
+            errorsFound++;
+            }
+    }
+
+    if (errorsFound != KErrNone)
+    {
+    	iLog->Log(_L("Errors found in TP38"));
+    	User::Leave(-1);
+
+    }
+    iLog->Log(_L("----Done---"));
+    
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+
+    CleanupStack::PopAndDestroy(res);
+    CleanupStack::PopAndDestroy(composite);
+    }
+
+
+// ---------------------------------------------------------
+// CPosTp38::TestSeveralTextArgumentsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp38::TestSeveralTextArgumentsL()
+    {
+    iLog->Log(_L("TestSeveralTextArgumentsL"));
+    
+    iLandmarkSearch = CPosLandmarkSearch::NewL(*iDatabase);
+    CPosLmCompositeCriteria* composite = CPosLmCompositeCriteria::NewLC(CPosLmCompositeCriteria::ECompositionAND);
+
+    // First create a textcriteria
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();    
+    textCriteria->SetTextL(_L("Nokia*"));
+    TInt err = composite->AddArgument(textCriteria);
+    if (err != KErrNone)
+    {
+    	iLog->Log(_L("Error when adding argument1"));
+    	User::Leave(err);
+    }
+    CleanupStack::Pop(textCriteria);
+
+    // First create a textcriteria
+    CPosLmTextCriteria* textCriteria2 = CPosLmTextCriteria::NewLC();    
+    textCriteria2->SetTextL(_L("*Stockholm"));
+    err = composite->AddArgument(textCriteria2);
+    if (err != KErrNone)
+    {
+    	iLog->Log(_L("Error when adding argument2"));
+    	User::Leave(err);
+    }
+    CleanupStack::Pop(textCriteria2);
+
+    // Should find landmark id: 63 name: "Nokia, Stockholm"
+    iLog->Log(_L("iLandmarkSearch->StartLandmarkSearchL"));    
+    iOperation = iLandmarkSearch->StartLandmarkSearchL(*composite, EFalse);
+    ExecuteAndDeleteLD(iOperation);
+    
+    CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+    CleanupStack::PushL(iter);
+    TPosLmItemId id = iter->NextL();
+    
+    TInt matches = iLandmarkSearch->NumOfMatches();
+    if (matches != 1) 
+    {
+    	iLog->Log(_L("Wrong number of matches"));
+    	User::Leave(-1);
+    }
+
+    if (id != 63)
+    {
+    	
+    	iLog->Log(_L("Wrong landmark found, should find landmark with id 63"));
+    	User::Leave(-1);
+    }
+    
+    iter->Reset();
+    CleanupStack::PopAndDestroy(iter);
+
+    CleanupStack::PopAndDestroy(composite);
+
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+    }
+
+// ---------------------------------------------------------
+// CPosTp38::TestSeveralTextArgumentsWithORL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp38::TestSeveralTextArgumentsWithORL()
+    {
+    iLog->Log(_L("TestSeveralTextArgumentsWithORL"));
+    
+    iLandmarkSearch = CPosLandmarkSearch::NewL(*iDatabase);
+    CPosLmCompositeCriteria* composite = CPosLmCompositeCriteria::NewLC(CPosLmCompositeCriteria::ECompositionOR);
+
+    // First create a textcriteria
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();    
+    textCriteria->SetTextL(_L("Nokia*"));
+    textCriteria->SetAttributesToSearch(CPosLandmark::ELandmarkName);
+    TInt err = composite->AddArgument(textCriteria);
+    if (err != KErrNone)
+    {
+    	iLog->Log(_L("Error when adding argument1"));
+    	User::Leave(err);
+    }
+    CleanupStack::Pop(textCriteria);
+
+    // First create a textcriteria
+    CPosLmTextCriteria* textCriteria2 = CPosLmTextCriteria::NewLC();    
+    textCriteria2->SetTextL(_L("*Eriksberg"));
+    textCriteria2->SetAttributesToSearch(CPosLandmark::ELandmarkName);
+    err = composite->AddArgument(textCriteria2);
+    if (err != KErrNone)
+    {
+    	iLog->Log(_L("Error when adding argument2"));
+    	User::Leave(err);
+    }
+    CleanupStack::Pop(textCriteria2);
+    
+    //Create nearest criteria instance and try adding it to composite criteria,should leave with KErrNotSupported since ORcomposition
+    // is supported only for text criteria
+    TCoordinate coord(45, 45);
+    CPosLmNearestCriteria* nearestCriteria = CPosLmNearestCriteria::NewLC(coord, EFalse);
+    err = composite->AddArgument(nearestCriteria);
+    if (err != KErrNotSupported)
+    
+    {
+    	iLog->Log(_L("Error,should not support any other criteria except Text criteria"));
+    	User::Leave(err);
+    
+    }
+    CleanupStack::Pop(nearestCriteria);
+    
+    
+    
+    
+
+    // Should find landmark ids 48,55,62 & 63 with name:"Nokia","TE Eriksberg","Nokia Copenhagen" "Nokia, Stockholm"
+    iLog->Log(_L("iLandmarkSearch->StartLandmarkSearchL"));    
+    iOperation = iLandmarkSearch->StartLandmarkSearchL(*composite, EFalse);
+    ExecuteAndDeleteLD(iOperation);
+    
+    CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+    CleanupStack::PushL(iter);
+    
+    RArray<TPosLmItemId> idArray;
+    iter->GetItemIdsL(idArray, 0, iter->NumOfItemsL());
+            
+    
+    TInt matches = iLandmarkSearch->NumOfMatches();
+    if (matches != 4) 
+    {
+    	iLog->Log(_L("Wrong number of matches"));
+    	User::Leave(-1);
+    }
+
+	for(int i=0; i<idArray.Count(); i++ )
+	{
+		if(idArray[i] != 48 && idArray[i] != 55 && idArray[i] != 62 && idArray[i] != 63)
+		{
+			iLog->Log(_L("Wrong landmark found, should find landmark with id 48, 55, 62 & 63"));
+    		User::Leave(-1);
+		}
+	}
+       
+    iter->Reset();
+    CleanupStack::PopAndDestroy(iter);
+    CleanupStack::PopAndDestroy(composite);
+	delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+    }
+    
+    
+// ---------------------------------------------------------
+// CPosTp38::TestSortOrderWithORL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp38::TestSortOrderWithORL()
+    {
+    
+    
+    
+    iLog->Log(_L("TestSeveralTextArgumentsWithORL"));
+    
+    iLandmarkSearch = CPosLandmarkSearch::NewL(*iDatabase);
+    CPosLmCompositeCriteria* composite = CPosLmCompositeCriteria::NewLC(CPosLmCompositeCriteria::ECompositionOR);
+
+	TPosLmSortPref sortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+		
+    // First create a textcriteria
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();    
+    textCriteria->SetTextL(_L("Nokia*"));
+    textCriteria->SetAttributesToSearch(CPosLandmark::ELandmarkName);
+    TInt err = composite->AddArgument(textCriteria);
+    if (err != KErrNone)
+    {
+    	iLog->Log(_L("Error when adding argument1"));
+    	User::Leave(err);
+    }
+    CleanupStack::Pop(textCriteria);
+
+    // First create a textcriteria
+    CPosLmTextCriteria* textCriteria2 = CPosLmTextCriteria::NewLC();    
+    textCriteria2->SetTextL(_L("*Eriksberg"));
+    textCriteria2->SetAttributesToSearch(CPosLandmark::ELandmarkName);
+    err = composite->AddArgument(textCriteria2);
+    if (err != KErrNone)
+    {
+    	iLog->Log(_L("Error when adding argument2"));
+    	User::Leave(err);
+    }
+    CleanupStack::Pop(textCriteria2);
+
+    // Should find landmark ids 48,55,62 & 63 with name:"Nokia","TE Eriksberg","Nokia Copenhagen" "Nokia, Stockholm"
+    iLog->Log(_L("iLandmarkSearch->StartLandmarkSearchL"));    
+    iOperation = iLandmarkSearch->StartLandmarkSearchL(*composite,sortPref, EFalse);
+    ExecuteAndDeleteLD(iOperation);
+    
+    CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+    CleanupStack::PushL(iter);
+    
+    RArray<TPosLmItemId> idArray;
+    iter->GetItemIdsL(idArray, 0, iter->NumOfItemsL());
+            
+    
+    TInt matches = iLandmarkSearch->NumOfMatches();
+    if (matches != 4) 
+    {
+    	iLog->Log(_L("Wrong number of matches"));
+    	User::Leave(-1);
+    }
+
+//Check if the landmarks are in ascending order i.e "Nokia","Nokia Copenhagen","Nokia Stockholm","TE Eriksberg"
+
+
+	if(idArray[0] != 48 || idArray[1] != 62 || idArray[2] != 63 || idArray[3] != 55)
+		{
+			iLog->Log(_L("Wrong landmark found, should find landmark with id 48, 55, 62 & 63"));
+    		User::Leave(-1);
+		}
+	
+       
+    iter->Reset();
+    CleanupStack::PopAndDestroy(iter);
+    CleanupStack::PopAndDestroy(composite);
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+    }
+
+// ---------------------------------------------------------
+// CPosTp38::TestCategoryCompositeSearchL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp38::TestCategoryCompositeSearchL()
+    {
+    iLog->Log(_L("TestCategoryCompositeSearchL"));
+
+    iLandmarkSearch = CPosLandmarkSearch::NewL(*iDatabase);
+    CPosLmCompositeCriteria* composite = CPosLmCompositeCriteria::NewLC(CPosLmCompositeCriteria::ECompositionAND);
+
+	// Use differen text pattern
+    CPosLmCatNameCriteria* nameCriteria = CPosLmCatNameCriteria::NewLC();
+    nameCriteria->SetSearchPatternL(_L("*"));
+    TInt err = composite->AddArgument(nameCriteria);
+    if (err != KErrNone)
+    {
+    	iLog->Log(_L("Error from AddArgument(nameCriteria);"));
+    	User::Leave(err);
+    }
+    CleanupStack::Pop(nameCriteria);
+
+    CPosLmCatNameCriteria* nameCriteria2 = CPosLmCatNameCriteria::NewLC();
+    nameCriteria2->SetSearchPatternL(_L("*kontor"));
+    err = composite->AddArgument(nameCriteria2);
+    if (err != KErrNone)
+    {
+    	iLog->Log(_L("Error from AddArgument(nameCriteria);"));
+    	User::Leave(err);
+    }
+    CleanupStack::Pop(nameCriteria2);
+
+    // Should find category id: 13 name "Nokia Kontor" and id: 14 name: "TietoEnator kontor"
+    iLog->Log(_L("iLandmarkSearch->StartCategorySearchL"));
+    iOperation = iLandmarkSearch->StartCategorySearchL(*composite, CPosLmCategoryManager::ECategorySortOrderNone);
+
+    ExecuteAndDeleteLD(iOperation);
+
+    CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+    CleanupStack::PushL(iter);
+    
+    TInt matches = iLandmarkSearch->NumOfMatches();
+    if (matches != 2)
+    {
+    	iLog->Log(_L("Wrong number of matches"));
+    	User::Leave(-1);
+    }
+    else iLog->Log(_L("Found 2 nr of matches"));
+
+    TPosLmItemId id1 = iter->NextL();
+    TPosLmItemId id2 = iter->NextL();
+
+    if ((id1 == 13 && id2 != 14) || (id1 == 14 && id2 != 13) 
+        || (id2 == 13 && id1 != 14) || (id2 == 14 && id1 != 13))
+        {
+        	iLog->Log(_L("Wrong landmark found"));
+    		User::Leave(-1);
+        }
+    
+    iter->Reset();
+    CleanupStack::PopAndDestroy(iter);
+    
+	// Use same text pattern
+	nameCriteria = CPosLmCatNameCriteria::NewLC();
+    nameCriteria->SetSearchPatternL(_L("TietoEnator*"));
+    err = composite->AddArgument(nameCriteria);
+    if (err != KErrNone)
+    {
+    	
+    	iLog->Log(_L("Error from AddArgument(nameCriteria);"));
+    	User::Leave(err);
+    }
+    CleanupStack::Pop(nameCriteria);
+
+    nameCriteria2 = CPosLmCatNameCriteria::NewLC();
+    nameCriteria2->SetSearchPatternL(_L("TietoEnator*"));
+    err = composite->AddArgument(nameCriteria2);
+    if (err != KErrNone)
+    {
+    	iLog->Log(_L("Error from AddArgument(nameCriteria);"));
+    	User::Leave(err);
+
+    }
+    CleanupStack::Pop(nameCriteria2);
+
+    // Should find category id: 14 name "TietoEnator Kontor"
+    iLog->Log(_L("iLandmarkSearch->StartCategorySearchL"));
+    iOperation = iLandmarkSearch->StartCategorySearchL(*composite, CPosLmCategoryManager::ECategorySortOrderNone);
+
+    ExecuteAndDeleteLD(iOperation);
+    iter = iLandmarkSearch->MatchIteratorL();
+    CleanupStack::PushL(iter);
+    
+    matches = iLandmarkSearch->NumOfMatches();
+    if (matches != 1) 
+    {
+    	iLog->Log(_L("Wrong number of matches"));
+    	User::Leave(-1);
+
+    }
+    else iLog->Log(_L("Found 1 nr of matches"));
+
+    id1 = iter->NextL();
+
+    if (id1 != 14)
+    {
+	    iLog->Log(_L("Wrong landmark found"));
+    	User::Leave(-1);
+	}
+    
+    iter->Reset();
+    CleanupStack::PopAndDestroy(iter);
+    CleanupStack::PopAndDestroy(composite);
+
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+        
+    iLog->Log(_L("Done"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp38::TestAddAndRemoveL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp38::TestAddAndRemoveL()
+    {
+    iLog->Log(_L("TestAddAndRemoveL"));
+    
+    iLandmarkSearch = CPosLandmarkSearch::NewL(*iDatabase);
+    CPosLmCompositeCriteria* composite = CPosLmCompositeCriteria::NewLC(CPosLmCompositeCriteria::ECompositionAND);
+
+    // 1) Add a text criteria
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+    textCriteria->SetTextL(_L("*"));
+    TInt err = composite->AddArgument(textCriteria);
+    if (err != KErrNone)
+    {
+    	iLog->Log(_L("Error when adding argument1"));
+    	User::Leave(err);
+
+    }
+    CleanupStack::Pop(textCriteria);
+
+    // 2) Add a text criteria 
+    textCriteria = CPosLmTextCriteria::NewLC();
+    textCriteria->SetTextL(_L("Natur*"));
+    err = composite->AddArgument(textCriteria);
+    if (err != KErrNone)
+    {
+    	iLog->Log(_L("Error when adding argument2"));
+    	User::Leave(err);
+
+    }
+    CleanupStack::Pop(textCriteria);
+
+    // 3) Add an area criteria
+    CPosLmAreaCriteria* areaCriteria = CPosLmAreaCriteria::NewLC(-12.23, 34.4, -2.05, 45.5);
+    err = composite->AddArgument(areaCriteria);
+    if (err != KErrNone)
+    {
+    	iLog->Log(_L("Error when adding argument3"));
+    	User::Leave(err);
+
+    }
+    CleanupStack::Pop(areaCriteria);
+
+    // 4) Add a category criteria
+    CPosLmCategoryCriteria* catCriteria = CPosLmCategoryCriteria::NewLC();
+    catCriteria->SetCategoryNameL(_L("Museum"));
+    err = composite->AddArgument(catCriteria);
+    if (err != KErrNone)
+    {
+    	iLog->Log(_L("Error when adding argument3"));
+    	User::Leave(err);
+
+    }
+    CleanupStack::Pop(catCriteria);
+
+    // 5) Add a nearest criteria
+    TCoordinate cord(12.23, 12);
+    CPosLmNearestCriteria* nearestCriteria = CPosLmNearestCriteria::NewLC(cord, ETrue);
+    err = composite->AddArgument(nearestCriteria);
+    if (err != KErrNone)
+    {
+    	iLog->Log(_L("Error when adding argument3"));
+    	User::Leave(err);
+
+    }
+    CleanupStack::Pop(nearestCriteria);
+
+    if (composite->NumOfArguments() != 5) 
+    {
+    	iLog->Log(_L("Error when adding argument1"));
+    	User::Leave(-1);
+
+    }
+
+    // Remove (3) area criteria
+    CPosLmSearchCriteria* obj1 = composite->RemoveArgument(2);
+    delete obj1;
+    obj1 = NULL;
+
+    // Remove (5) nearest criteria (after 3 removed it has id 4)
+    CPosLmSearchCriteria* obj2 = composite->RemoveArgument(3);
+    delete obj2;
+    obj2 = NULL;
+
+    // Should find landmark with id: 87 name: "Naturhistoriska"
+    iOperation = iLandmarkSearch->StartLandmarkSearchL(*composite);
+    ExecuteAndDeleteLD(iOperation);
+
+    CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+    CleanupStack::PushL(iter);
+
+    TInt nr = iter->NumOfItemsL();
+    TBuf<100> buf;
+    buf.Format(_L("Found %d nr of landmarks after removing two arguments "), nr);
+    iLog->Log(buf);
+
+    TPosLmItemId id = iter->NextL();
+    if (id != 87) 
+    {
+    	iLog->Log(_L("Wrong landmark found"));
+    	User::Leave(-1);
+
+    }
+    iter->Reset();
+
+    // Remove (1) first text criteria
+    CPosLmSearchCriteria* obj4 = composite->RemoveArgument(0);
+    delete obj4;
+    obj4 = NULL;
+
+    // Remove (2) the second text criteria
+    CPosLmSearchCriteria* obj3 = composite->RemoveArgument(0);
+    delete obj3;
+    obj3 = NULL;
+
+    CleanupStack::PopAndDestroy(iter);
+
+    // Should find six landmarks belonging to category "museum",
+    iOperation = iLandmarkSearch->StartLandmarkSearchL(*composite);
+    ExecuteAndDeleteLD(iOperation);
+
+    iter = iLandmarkSearch->MatchIteratorL();
+    CleanupStack::PushL(iter);
+
+    nr = iter->NumOfItemsL();
+    if (nr != 6) 
+    {
+    	iLog->Log(_L("Wrong number of landmarks returned"));
+    	User::Leave(-1);
+    }
+    buf.Format(_L("Found %d nr of landmarks after removing two more arguments"), nr);
+    iLog->Log(buf);
+
+    iter->Reset();
+
+    CleanupStack::PopAndDestroy(iter);
+    CleanupStack::PopAndDestroy(composite);
+
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+    
+    iLog->Log(_L("Done"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp38::SearchAndCancelL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp38::SearchAndCancelL(const TBool& aInCallback)
+    {
+    iLog->Log(_L("SearchAndCancelL"));
+    
+    iLandmarkSearch = CPosLandmarkSearch::NewL(*iDatabase);
+
+    CPosLmCompositeCriteria* composite = CPosLmCompositeCriteria::NewLC(CPosLmCompositeCriteria::ECompositionAND);    
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+    textCriteria->SetTextL(_L("*"));
+    
+    TInt err = composite->AddArgument(textCriteria);
+    if (err != KErrNone)
+    {
+		iLog->Log(_L("Error when adding argument3"));
+    	User::Leave(err);
+    }
+    CleanupStack::Pop(textCriteria);
+    
+    if (aInCallback)
+        {
+        RunAsyncOperationAndCancelInCallbackLD(iLandmarkSearch->StartLandmarkSearchL(
+                *composite, EFalse));
+        }
+    else
+        {
+        RunAsyncOperationAndCancelLD(iLandmarkSearch->StartLandmarkSearchL(
+                *composite, EFalse));
+        }
+
+    CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+    CleanupStack::PushL(iter);
+ 
+    if (aInCallback)
+        {
+        _LIT(KExpected, "Iter. of matches: %d");
+        _LIT(KReturned, "LandmarksSearch no. of matches: %d");
+        TBuf<100> info;
+        info.Format(KExpected, iter->NumOfItemsL());
+        iLog->Log(info);
+        info.Format(KReturned, iLandmarkSearch->NumOfMatches());
+        iLog->Log(info);
+
+        TBuf<100> info2;
+        _LIT(KNof, "No. of matches found before cancel = %d");
+        info2.Format(KNof, iter->NumOfItemsL());
+        iLog->Log(info2);
+
+        
+        }
+    CleanupStack::PopAndDestroy(iter);
+    CleanupStack::PopAndDestroy(composite);
+
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+    }
+
+// ---------------------------------------------------------
+// CPosTp38::TestWithNoPreviousResultL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp38::TestWithNoPreviousResultL(TInt aTestNr)
+    {
+    iLog->Log(_L("TestWithNoPreviousResultL"));
+    iLandmarkSearch = CPosLandmarkSearch::NewL(*iDatabase);
+
+    CPosLmCompositeCriteria* composite = CPosLmCompositeCriteria::NewLC(CPosLmCompositeCriteria::ECompositionAND);
+    
+    if (aTestNr == 0)
+        {
+        CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();    
+        textCriteria->SetTextL(_L("*"));
+        
+        TInt err = composite->AddArgument(textCriteria);
+        if (err != KErrNone)
+        {
+        iLog->Log(_L("Error from AddArgument(textCriteria);"));
+    	User::Leave(err);	
+        }
+        CleanupStack::Pop(textCriteria);
+        
+        iOperation = iLandmarkSearch->StartLandmarkSearchL(*composite, ETrue);
+        ExecuteAndDeleteLD(iOperation);
+        iLog->Log(_L("ERROR: Should leave here"));
+
+		iLog->Log(_L("Should never come here in the code"));
+    	User::Leave(-1);	
+		
+    } 
+    else if (aTestNr == 1)
+        {
+    
+        CPosLmCatNameCriteria* nameCriteria = CPosLmCatNameCriteria::NewLC();
+        nameCriteria->SetSearchPatternL(_L("*kontor"));
+        TInt err = composite->AddArgument(nameCriteria);
+        if (err != KErrNone)
+        {
+        iLog->Log(_L("Error from AddArgument(nameCriteria);"));
+    	User::Leave(err);		
+        }
+        CleanupStack::Pop(nameCriteria);
+        
+        iOperation = iLandmarkSearch->StartCategorySearchL(*composite, CPosLmCategoryManager::ECategorySortOrderNone, ETrue);
+        ExecuteAndDeleteLD(iOperation);
+        iLog->Log(_L("ERROR: Should leave here"));
+
+		iLog->Log(_L("Should never come here in the code"));
+    	User::Leave(-1);		
+        
+        }
+    
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+    
+    }
+
+// ---------------------------------------------------------
+// CPosTp38::PrintCompositeInfo
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp38::PrintCompositeInfo(CPosLmCompositeCriteria* aComposite)
+    {
+    TBuf<100> buf;
+    buf.Format(_L("PrintCompositeInfo() NrOfArg %d"), aComposite->NumOfArguments());
+    iLog->Log(buf);
+    
+    for (TUint i=0;i<aComposite->NumOfArguments();i++)
+    {
+        
+        CPosLmSearchCriteria& comp = aComposite->Argument(i);
+        TInt type = comp.CriteriaType();
+        
+        if (type == CPosLmSearchCriteria::ECriteriaArea) 
+            {
+            iLog->Log(_L("Arg Area found"));
+            
+            CPosLmAreaCriteria& tt = static_cast<CPosLmAreaCriteria&>(comp);
+
+            TReal64 southLat;
+            TReal64 northLat;
+            TReal64 westLong;
+            TReal64 eastLong;
+
+            tt.GetSearchArea(southLat, northLat, westLong, eastLong);
+
+            buf.Format(_L("SouthL %f NorthL: %f WestL :%f EastL: %f"), (TReal)southLat, (TReal)northLat, (TReal)westLong, (TReal)eastLong);
+            iLog->Log(buf);
+
+            }
+        else if (type == CPosLmSearchCriteria::ECriteriaText) 
+            {
+            iLog->Log(_L("Arg Text found:"));
+            CPosLmTextCriteria& tt = static_cast<CPosLmTextCriteria&>(comp);
+            iLog->Log(tt.Text());
+            }
+        else if (type == CPosLmSearchCriteria::ECriteriaComposite)
+            {
+            iLog->Log(_L("Arg Composite found"));
+            }
+        else if (type == CPosLmSearchCriteria::ECriteriaCategory)
+            {
+            iLog->Log(_L("Arg Category found"));
+
+            CPosLmCategoryCriteria& tt = static_cast<CPosLmCategoryCriteria&>(comp);
+            iLog->Log(tt.CategoryName());
+            }
+        else if (type == CPosLmSearchCriteria::ECriteriaFindNearest)
+            {
+            CPosLmNearestCriteria& tt = static_cast<CPosLmNearestCriteria&>(comp);
+            TCoordinate cord;
+            tt.GetCoordinate(cord);
+            iLog->Log(_L("Arg Nearest found"));
+            buf.Format(_L("Latitude %f Longitude: %f MaxDist:%f"), (TReal)cord.Latitude(), (TReal)cord.Longitude(), (TReal)tt.MaxDistance());
+            iLog->Log(buf);
+            }
+        else if (type == CPosLmSearchCriteria::ECriteriaIdList)
+            {
+            iLog->Log(_L("Arg Idlist found"));
+            CPosLmIdListCriteria& tt = static_cast<CPosLmIdListCriteria&>(comp);
+
+            RArray<TPosLmItemId> result;
+            CleanupClosePushL(result);
+            tt.GetLandmarkIdsL(result);
+
+            buf.Format(_L("Nr of Ids: %d"), result.Count());
+            iLog->Log(buf);
+            
+            for (TInt i=0;i<result.Count();i++)
+                {
+                buf.Format(_L("ID%d: %d"), i, result[i]);
+                
+                }
+            CleanupStack::PopAndDestroy(&result);
+
+            }
+        else if (type == CPosLmSearchCriteria::ECriteriaCategoryByName) 
+            {
+            // Should never come here, ECriteriaCategoryByName not supported in composite objects
+            iLog->Log(_L("Arg Categorybyname found"));
+            }
+        }
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp39.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,579 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp39.h"
+#include <EPos_CPosLandmarkDatabase.h> 
+#include <EPos_CPosLandmark.h> 
+#include <EPos_CPosLMCategoryManager.h>
+#include <EPos_CPosLandmarkCategory.h>  
+#include <e32std.h>
+#include <ss_std.h>
+#include <bautils.h>
+#include "FT_LandmarkConstants.h"
+
+//  CONSTANTS
+const TInt KNoListeners=5;
+const TInt KMaxQueueSize = 5;
+const TInt KLmServerMaxHeapSize = 40000;
+
+_LIT(KLandmarkServerName, "eposlmserver*");
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp39::GetName
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp39::GetName(TDes& aName) const
+    {
+    _LIT(KTestName, "TP39 - Heap Usage (Goofy)");
+    aName = KTestName;
+    }
+
+// ---------------------------------------------------------
+// CPosTp39::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp39::StartL()
+    {  
+    _LIT(KMultipleErr, "Error %d when multiple clients listen for events");
+    _LIT(KEventErr, "%d Error(s) when multiple clients listen for events");
+    MakeSurePanicDebugFileExistsL();
+    iUseLogFromThreadIsDisabled = ETrue;
+    
+    _LIT(KCanceledErr, "Test canceled");
+    _LIT(KStartGoofy, "Start up Goofy and start a test (Options->Test->Start).");
+
+    RemoveDefaultDbL();
+   
+#ifndef __WINS__    
+    TUtfwUserAnswer answer;
+    answer = iUserInfo->ShowDialog(KStartGoofy, EUtfwDialogTypeOkCancel, EFalse);
+    AssertTrueSecL(answer == EUtfwUserAnswerOk, KCanceledErr, KErrCancel);
+#endif  
+    
+    RemoveDefaultDbL();
+
+    SetupGlobalCategoriesL();
+    
+    CPosLandmarkDatabase* database = CPosLandmarkDatabase::OpenL();
+    delete database;
+
+    TFixedArray<TRequestStatus, KNoListeners+1> statuses;
+
+    CreateThreadsL();
+
+    for (TInt i=0; i<iThreads.Count(); i++)
+        { 
+        iThreads[i].Logon(statuses[i]);
+        iThreads[i].Resume();
+        }  
+    for (TInt j=0; j<iThreads.Count(); j++)
+        {
+        User::WaitForRequest(statuses[j]);
+        }
+    
+    for (TInt t=0; t<iThreads.Count(); t++)
+        {
+        TInt exitReason = iThreads[t].ExitReason();
+      
+        AssertTrueSecL(exitReason == KErrNone, KMultipleErr, exitReason);
+        }
+    
+    if (iErrors > 0)
+        {
+        TBuf<100> info;
+	    info.Format(KEventErr, iErrors);
+        LogErrorAndLeave(iErrorLog);
+        }
+
+    
+#ifndef __WINS__
+
+    TInt heapSize, stackSize=0;
+    
+    TBuf<127> info;
+    TInt err = GetHeapSizeL(KLandmarkServerName, heapSize, stackSize);
+    if (err)
+        {
+        info.Format(_L("GetHeapSizeL error, %d"), err);
+        LogErrorAndLeave(info);
+        }
+        
+    info.Format(_L("LandmarkServer Heap: %d LandmarkServer Stack:"), heapSize, stackSize);
+    iLog->Put(info);
+    
+    if (heapSize > KLmServerMaxHeapSize)
+        {
+        LogErrorAndLeave(_L("The memory consumption for the LandmarkServer is too high!"));
+        }        
+#endif
+
+/*
+    _LIT(KCatId, "category_id = %d;");
+    _LIT(KCatName, "category_name = \"%S\";");
+    
+    // 201-300
+    _LIT(KName, "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901%d");
+    
+    for (TInt i=201; i<=300; i++)
+        {
+        iLog->Put(_L("POS_LM_CATEGORY_INFO"));
+        iLog->Put(_L("{"));
+        
+        TBuf<150> info;    
+        
+        info.Format(KCatId, (i+1));
+        
+        iLog->Put(info);
+        
+        info.Format(KName, i);
+            
+        HBufC* name = info.Alloc();
+
+        info.Format(KCatName, name);
+        iLog->Put(info);
+        iLog->Put(_L("},"));
+        }   
+*/
+    }
+
+// ---------------------------------------------------------
+// CPosTp39::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp39::CloseTest()
+    {
+    for (TInt i=0; i<iThreads.Count(); i++)
+        {
+        iThreads[i].Close();
+        }
+
+    iThreads.Close();
+    iUseLogFromThreadIsDisabled = EFalse;
+    
+    RemoveGlobalCategoriesL();
+    }
+
+// ---------------------------------------------------------
+// CPosTp39::SetupGlobalCategoriesL
+// 
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp39::SetupGlobalCategoriesL()
+    {
+    #ifdef __WINS__
+        _LIT(KGlobalCategoryResFile, "z:\\system\\test\\testdata\\EPOSLMGLOBALCATEGORIES.R03");
+    #else
+        _LIT(KGlobalCategoryResFile, "c:\\system\\test\\testdata\\EPOSLMGLOBALCATEGORIES.R03");
+    #endif
+    //_LIT(KGlobalCategoryResPath, "c:\\system\\data\\");
+    //_LIT(KGlobalCategoryResFileOld, "c:\\system\\data\\EPOSLMGLOBALCATEGORIES.R03");
+    //_LIT(KGlobalCategoryResFileNew, "c:\\system\\data\\EPOSLMGLOBALCATEGORIES.R01");
+    
+        _LIT(KGlobalCategoryResFileOld, "c:\\resource\\EPOSLMGLOBALCATEGORIES.R03");
+    _LIT(KGlobalCategoryResFileNew, "c:\\resource\\EPOSLMGLOBALCATEGORIES.R01");
+    _LIT(KGlobalCategoryResPath, "c:\\resource\\");
+    
+    RFs fs;
+    User::LeaveIfError(fs.Connect());
+    CleanupClosePushL(fs);
+    
+    CFileMan* fileMan = CFileMan::NewL(fs);
+    CleanupStack::PushL(fileMan);
+    
+    //check if landmark is flashed  
+    if (!BaflUtils::FileExists(fs, KGlobalCategoryResFileROM))
+        {
+        iLog->Put(_L("Landmark is NOT flashed, rename global categories"));
+        //Landmark is not flashed rename the file before copy a own defiend file.
+        //since landmark is not flashed the file should exist hence leaving if it is not found!
+        User::LeaveIfError(fileMan->Rename(KGlobalCategoryResFileWINS, KGlobalCategoryResFileCOPY, CFileMan::EOverWrite));
+        }
+     else
+        {
+        iLog->Put(_L("Landmark is flashed, copy global categories"));
+        }
+
+    User::LeaveIfError(fileMan->Copy(KGlobalCategoryResFile, KGlobalCategoryResPath, CFileMan::EOverWrite));
+    User::LeaveIfError(fileMan->Rename(KGlobalCategoryResFileOld, KGlobalCategoryResFileNew, CFileMan::EOverWrite));  
+       
+    CleanupStack::PopAndDestroy(2, &fs);
+    
+    }
+    
+// ---------------------------------------------------------
+// CPosTp39::RunReceiveEventTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp39::RunEventsListenerL(TAny* aData)
+    {
+    CPosTp39* self = reinterpret_cast<CPosTp39*>(aData);
+
+    CEventObserverTp39* eventObserver = CEventObserverTp39::NewL(self, ++self->iThreadIndex);
+    CleanupStack::PushL(eventObserver);
+    eventObserver->Start();
+
+    eventObserver->StartTimer();
+    CActiveScheduler::Start();
+   
+    CleanupStack::PopAndDestroy(eventObserver);
+    }
+
+LOCAL_C TInt ReceiveEventsThreadFunction(TAny* aData)
+    {    
+    CTrapCleanup* cleanup=CTrapCleanup::New(); 
+    
+    CActiveScheduler* actSch = new (ELeave) CActiveScheduler;
+    CActiveScheduler::Install(actSch);
+
+    TRAPD(err, CPosTp39::RunEventsListenerL(aData));
+    
+    delete actSch;
+    delete cleanup;
+    return err;
+    }
+
+// ---------------------------------------------------------
+// CPosTp39::CreateEventsTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp39::RunEventsGeneratorL(TAny* /*aData*/)
+    {
+    //CPosTp39* self = reinterpret_cast<CPosTp39*>(aData);
+
+    CPosLandmarkDatabase* lmd = CPosLandmarkDatabase::OpenL();
+    CleanupStack::PushL(lmd);
+    
+    if (lmd->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(lmd->InitializeL()); 
+       }
+
+    CPosLmCategoryManager* cm = CPosLmCategoryManager::NewL(*lmd); 
+    CleanupStack::PushL(cm);
+    
+    /////////////////////////////////////////////
+	// Add one landmark #1
+    //////////////////////////////////////////////
+    CPosLandmark* landmark = CPosLandmark::NewLC();
+	landmark->SetLandmarkNameL(_L("TP39"));
+	lmd->AddLandmarkL(*landmark);
+    CleanupStack::PopAndDestroy(landmark);
+   
+    /////////////////////////////////////////////
+	// Add 5 categories #2
+    /////////////////////////////////////////////
+
+    _LIT(KCategoryName, "TP39 Category %d");
+    for (TInt j =0; j < KMaxQueueSize; j++)
+        {
+        TBuf<100> name;
+        name.Format(KCategoryName, j);
+        CPosLandmarkCategory* category = CPosLandmarkCategory::NewLC();
+        category->SetCategoryNameL(name);
+        cm->AddCategoryL(*category); 
+        CleanupStack::PopAndDestroy(category); 
+        }
+
+    CleanupStack::PopAndDestroy(2, lmd);
+    }
+
+LOCAL_C TInt CreateEventsThreadFunction(TAny* aData)
+    {    
+    CTrapCleanup* cleanup=CTrapCleanup::New(); 
+    
+    CActiveScheduler* actSch = new (ELeave) CActiveScheduler;
+    CActiveScheduler::Install(actSch);
+
+    TRAPD(err, CPosTp39::RunEventsGeneratorL(aData));
+       
+    delete actSch;
+    delete cleanup;
+    return err;
+    }
+
+// ---------------------------------------------------------
+// CPosTp39::CreateThreadsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp39::CreateThreadsL()
+    {
+    _LIT(KThreadName, "TP39 thread%d");
+    _LIT(KCreateThreadErr, "Create thread failed with %d");
+
+    for (TInt i=0; i<=KNoListeners; i++)
+        {
+        RThread thread;
+        TBuf<32> name;
+	    name.Format(KThreadName, 1+iThreads.Count());
+                
+        TInt err;
+        if (i==KNoListeners)
+            {
+            err = thread.Create(name, CreateEventsThreadFunction, KDefaultStackSize, KMinHeapSize, KMaxHeapSize, reinterpret_cast<TAny*>(this));
+            }
+        else
+            {
+            err = thread.Create(name, ReceiveEventsThreadFunction, KDefaultStackSize, KMinHeapSize, KMaxHeapSize, reinterpret_cast<TAny*>(this));
+            }
+
+        AssertTrueSecL(err == KErrNone, KCreateThreadErr, err);                                                                  
+        
+        iThreads.Append(thread);
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp39::LogError
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//     
+void CPosTp39::LogError(const TDesC& aError)
+    {
+    iErrorLog.Append(aError);
+    iErrors++;
+    }
+
+// ---------------------------------------------------------
+// CEventObserverTp39::CheckEventL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp39::CheckEvent(const TInt aThreadIndex,
+                          const TPosLmEventType  aExpectedEventType,
+	                      const TPosLmEventType  aEventType,
+	                      const TPosLmItemId aExpectedItemId,
+	                      const TPosLmItemId aItemId)
+	{
+	if (aExpectedEventType != aEventType)
+		{
+		_LIT(KError,"Thread %d received an unexpected eventtype. Excpected %d got %d\r\n");
+		TBuf<200> error;
+		error.Format(KError, aThreadIndex, aExpectedEventType, aEventType);
+		LogError(error);
+		}
+	if (aExpectedItemId != aItemId)
+		{
+		_LIT(KError,"Thread %d received an unexpected item id. Excpected %d got %d\r\n");
+		TBuf<200> error;
+		error.Format(KError, aThreadIndex, aExpectedItemId, aItemId);
+		LogError(error);
+		}
+    }
+
+// ---------------------------------------------------------
+// CPosTp39::GetHeapSizeL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt CPosTp39::GetHeapSizeL(const TDesC& aThreadName, TInt& aHeapSize, TInt& aStackSize)
+    {
+    RThread thread;
+    TFindThread findThread(aThreadName);
+
+    TFullName fullName;
+    
+    TInt err = findThread.Next(fullName);
+     
+    if (err)
+        {
+        iLog->Put(_L("Thread not found"));
+        return err;
+        }
+    err = thread.Open(fullName);
+    if (err)
+        {
+        iLog->Put(_L("Thread could not be opened"));
+        return err;
+        }
+        
+    // FrBo Commented since not supported on ARMV5 (on SDK Series60_30_2005_wk02_incl_LBSpre4)
+    //err = thread.GetRamSizes(aHeapSize, aStackSize);
+    // Use below for now
+    err =KErrNone;aHeapSize=-1;aStackSize=-1;
+
+    if (err)
+        {
+        iLog->Put(_L("GetRameSize fails"));
+        thread.Close();
+        return err;
+        }
+    
+    return KErrNone;
+    }
+    
+// -----------------------------------------------------------------------------
+// CEventObserverTp39::NewL
+//
+//(other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+CEventObserverTp39* CEventObserverTp39::NewL(CPosTp39* aTp39, TInt aThreadIndex)
+    {
+    CEventObserverTp39* self = new(ELeave) CEventObserverTp39(aTp39, aThreadIndex);
+    CleanupStack::PushL(self);
+    self->ConstructL();
+    CleanupStack::Pop();
+    return self;
+    }
+
+// -----------------------------------------------------------------------------
+// CEventObserverTp39::ConstructL
+//
+//(other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CEventObserverTp39::ConstructL()
+    {
+    iDatabase = CPosLandmarkDatabase::OpenL();
+    iPeriodicTimer = CPeriodic::NewL(EPriorityNormal);
+
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL()); 
+       }
+    }
+
+// C++ Constructor
+CEventObserverTp39::CEventObserverTp39(CPosTp39* aTp39, TInt aThreadIndex) :
+    CActive(EPriorityNormal),
+    iTp39(aTp39),
+    iThreadIndex(aThreadIndex), 
+    iCallback(StopEventNotification, this)
+    {
+    CActiveScheduler::Add(this);
+    }
+
+// C++ destructor 
+CEventObserverTp39::~CEventObserverTp39() 
+    {
+    Cancel();
+    delete iDatabase;
+    iDatabase = NULL;
+    if (iPeriodicTimer)
+        {
+        iPeriodicTimer->Cancel();
+        }
+    delete iPeriodicTimer;
+    iPeriodicTimer = NULL;
+    }
+
+// ---------------------------------------------------------
+// CEventObserverTp39::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CEventObserverTp39::Start()                          
+    {
+    iDatabase->NotifyDatabaseEvent(iEvent, iStatus); 
+    SetActive();
+    }
+
+//---------------------------------------------------------
+// CEventObserverTp39::DoCancel
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CEventObserverTp39::DoCancel()
+    {
+    iDatabase->CancelNotifyDatabaseEvent();
+    }
+   
+//---------------------------------------------------------
+// CEventObserverTp39::StartTimer
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CEventObserverTp39::StartTimer()
+    {
+    iPeriodicTimer->Start(10000000, 10000000, TCallBack(StopEventNotification, this));
+    }                                                   
+
+//---------------------------------------------------------
+// CPosEventObserverTp39::TimeoutCheck
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt CEventObserverTp39::StopEventNotification(TAny* aSelf)
+    {
+    CEventObserverTp39* self = reinterpret_cast<CEventObserverTp39*>(aSelf);
+    
+    self->Cancel();
+    self->iPeriodicTimer->Cancel();
+    CActiveScheduler::Stop();
+    
+    return 0;
+    }
+
+// ---------------------------------------------------------
+// CPosEventObserver::RunL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CEventObserverTp39::RunL()
+    {
+    iEventNumber++;
+    
+	switch (iEventNumber)
+		{
+		case 1:
+            iTp39->CheckEvent(iThreadIndex,
+                              EPosLmEventLandmarkCreated, 
+                              iEvent.iEventType, 
+                              iEventNumber, 
+                              iEvent.iLandmarkItemId);
+            // Don't renew the event notification so the server will have to start queueing the events                     
+			break;
+        default: 
+            iTp39->LogError(_L("Test logic error, no more events should be received since the queue on the server should be filled")); 
+            iPeriodicTimer->Cancel();
+            Cancel();
+            CActiveScheduler::Stop();
+            break;
+        }
+     //iDatabase->NotifyDatabaseEvent(iEvent, iStatus); 
+    //SetActive();
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp4.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,123 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp4.h"
+#include <EPos_CPosLandmarkDatabase.h> 
+#include <EPos_CPosLMItemIterator.h> 
+#include <EPos_CPosLmDatabaseManager.h>
+#include "FT_LandmarkConstants.h" 
+          
+// ================= MEMBER FUNCTIONS =======================
+
+
+// ---------------------------------------------------------
+// CPosTp4::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp4::StartL()
+    {
+    TestCompactL(ESynchronous);
+
+    TestCompactL(EAsynchronous);
+
+    TestCompactL(EWaitForRequest);
+	}
+
+// ---------------------------------------------------------
+// CPosTp4::TestCompactL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp4::TestCompactL(TExecutionMode aExecutionMode)
+    {
+    _LIT(KFileSizeErr, "Returned file size is incorrect");
+    _LIT(KUsageErr, "Returned usage is incorrect");
+    _LIT(KFileSizeAfterCompactErr, "The file size after compact is not less than the file size before compact");
+    _LIT(KUsageAfterCompactErr, "The usage is equal or less than before compact");
+        
+    RemoveDefaultDbL();
+    RemoveAllLmDatabasesL();
+    
+	CPosLmDatabaseManager* manager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(manager);
+
+	// Create new test db
+	HPosLmDatabaseInfo* dbInfoDefault = HPosLmDatabaseInfo::NewLC(KTp4TestDb);
+    manager->CreateDatabaseL(*dbInfoDefault);
+    CleanupStack::PopAndDestroy(dbInfoDefault);
+    // This db must exist
+    manager->SetDefaultDatabaseUriL(KTp4TestDb);
+    CleanupStack::PopAndDestroy(manager);
+       
+    CPosLandmarkDatabase* tmp = CPosLandmarkDatabase::OpenL(); // Make sure default database is created
+    CleanupStack::PushL(tmp);
+    if (tmp->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(tmp->InitializeL()); 
+       }
+    CleanupStack::PopAndDestroy(tmp);
+
+    RFile file;
+	User::LeaveIfError(file.Open(iFileSession, KLmTp4DefaultDbPath, EFileRead));
+    TInt fileSize=0;
+    file.Size(fileSize);
+    file.Close();
+
+    CPosLandmarkDatabase* lmd = CPosLandmarkDatabase::OpenL();
+    CleanupStack::PushL(lmd);
+
+    CPosLandmarkDatabase::TSize size = lmd->SizeL();
+
+    AssertTrueSecL(size.iFileSize == fileSize, KFileSizeErr);    
+    AssertTrueSecL(size.iUsage >= 0.0 && size.iUsage <= 1.0, KUsageErr); // For now, when compact is supported should usage be 100%
+
+    CPosLmOperation* op = lmd->CompactL();
+    switch (aExecutionMode)
+        {
+        case ESynchronous:
+            ExecuteAndDeleteLD(op);
+            break;
+        case EAsynchronous:
+            RunAsyncOperationLD(op); //*** async
+            break;
+        case EWaitForRequest:
+            CleanupStack::PushL(op);
+            RunAsyncOperationByWaitForReqL(op);
+            CleanupStack::PopAndDestroy(op);
+            break;
+        default:
+        
+            break;
+        }
+    
+    CPosLandmarkDatabase::TSize sizeAfterCompact = lmd->SizeL();
+    
+    AssertTrueSecL(sizeAfterCompact.iFileSize < size.iFileSize, KFileSizeAfterCompactErr);    
+    
+    AssertTrueSecL(sizeAfterCompact.iUsage >= size.iUsage, KUsageAfterCompactErr); 
+
+    CleanupStack::PopAndDestroy(lmd);
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp40.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,164 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp40.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLmTextCriteria.h>
+           
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp40::GetName
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp40::GetName(TDes& aName) const
+    {
+    _LIT(KTestName, "Tp40 - Verify KErrLocked not returned, etc");
+    aName = KTestName;
+    }
+
+// ---------------------------------------------------------
+// CPosTp40::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp40::CloseTest()
+    {
+    delete iDatabase;
+    iDatabase = NULL;
+    }
+// ---------------------------------------------------------
+// CPosTp40::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp40::StartL()
+    {
+    RemoveDefaultDbL();
+
+    iDatabase = CPosLandmarkDatabase::OpenL();
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL()); // Synchronous since no argument
+       }
+       
+    ExecuteAndDeleteLD(iDatabase->CompactL());
+
+    // Test error report ESLI-5ZYMPM
+    TestPart1L();
+    ExecuteAndDeleteLD(iDatabase->CompactL());
+    // Test error report ESLI-62FGEV, (debug panic, only raised on WINS (not on target))
+    TestPart2L();
+
+    delete iDatabase;
+    iDatabase = NULL;
+    }
+// ---------------------------------------------------------
+// CPosTp40::TestPart1L
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp40::TestPart1L()
+    {
+    //
+    // Testing error report ESLI-5ZYMPM
+    // Landmarks - KErrLocked returned on write operations even if no operations are outstanding.
+    //
+    iLog->Put(_L("TestPart1L"));
+    
+    CPosLandmarkSearch* landmarkSearch = CPosLandmarkSearch::NewL(*iDatabase);
+    CleanupStack::PushL(landmarkSearch);
+
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();   
+    textCriteria->SetTextL(_L("Library*"));
+
+    CPosLmOperation* operation = landmarkSearch->StartLandmarkSearchL(*textCriteria);
+    RArray<TPosLmItemId> arr1;
+    CleanupClosePushL(arr1);
+    TPosLmItemId id1(1);
+    TPosLmItemId id2(2);
+    arr1.Append(id1);
+    arr1.Append(id2);
+    operation -> ExecuteL();
+
+    CPosLmOperation* operationPartial = iDatabase -> PreparePartialLandmarksL(arr1);
+    CleanupStack::PushL(operationPartial);
+    delete operation; //if this is moved to before PreparePartial... everything works
+    operation = NULL;
+    operationPartial->ExecuteL();
+    
+    iDatabase -> RemoveLandmarkL(1); //Before leaved with -22 here -> ERROR
+    CleanupStack::PopAndDestroy(operationPartial);
+    CleanupStack::PopAndDestroy(&arr1);
+    CleanupStack::PopAndDestroy(textCriteria);
+    CleanupStack::PopAndDestroy(landmarkSearch);
+    iLog->Put(_L("TestPart1L completed successfully"));
+	}
+
+// ---------------------------------------------------------
+// CPosTp40::TestPart2L
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp40::TestPart2L()
+    {
+    //
+    // Testing error report ESLI-62FGEV
+    // Landmarks - TPosLmItemId array with 0 value and PreparePartialLandmarksL
+    //
+    iLog->Put(_L("TestPart2L"));
+
+    CPosLandmarkSearch* landmarkSearch = CPosLandmarkSearch::NewL(*iDatabase);
+    CleanupStack::PushL(landmarkSearch);
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();   
+    textCriteria->SetTextL(_L("Library*"));
+
+    CPosLmOperation* operation = landmarkSearch->StartLandmarkSearchL(*textCriteria);
+    RArray<TPosLmItemId> arr1;
+    CleanupClosePushL(arr1);
+    TPosLmItemId id1(0); // Is actually not allowed to have a 0 value
+    TPosLmItemId id2(1);
+    arr1.Append(id1);
+    arr1.Append(id2);
+    operation -> ExecuteL();
+
+    // When passing an array with 0 value method should leave with error,
+    // instead the operationPartial->ExecuteL() method panics with -2
+    CPosLmOperation* operationPartial = iDatabase -> PreparePartialLandmarksL(arr1);
+    CleanupStack::PushL(operationPartial);
+    delete operation;
+    operation = NULL;
+    // This method Panics (debug panic only on WINS) with -2
+    operationPartial->ExecuteL();
+    
+    CleanupStack::PopAndDestroy(operationPartial);
+    CleanupStack::PopAndDestroy(&arr1);
+    CleanupStack::PopAndDestroy(textCriteria);
+    CleanupStack::PopAndDestroy(landmarkSearch);
+    iLog->Put(_L("TestPart2L completed successfully"));
+	}
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp41.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,263 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp41.h"
+#include <EPos_CPosLandmarkDatabase.h> 
+#include <EPos_CPosLMItemIterator.h> 
+#include <EPos_CPosLandmark.h>
+#include <EPos_TPosLMSortPref.h> 
+
+// CONSTANTS
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp41::GetName
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp41::GetName(TDes& aName) const
+    {
+    _LIT(KTestName, "Tp41 - Empty Landmark Name and Descriptor");
+    aName = KTestName;
+    }
+
+// ---------------------------------------------------------
+// CPosTp41::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp41::StartL()
+    {
+    RemoveDefaultDbL();
+    iDatabase = CPosLandmarkDatabase::OpenL();
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL()); 
+       }
+    ExecuteAndDeleteLD(iDatabase->CompactL()); 
+
+    VerifyEmptyLandmarksL();
+    }
+
+// ---------------------------------------------------------
+// CPosTp41::CloseTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp41::CloseTest()
+    {
+    delete iDatabase;
+    iDatabase = NULL;
+    }
+
+// ---------------------------------------------------------
+// CPosTp41::VerifyEmptyLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp41::VerifyEmptyLandmarksL()
+    {
+    _LIT(KLmName, "LmTp41 - %d");
+    _LIT(KLmDescription, "LmTp41Description - %d");
+
+    _LIT(KCompareNameErr, "Landmark names are not equal");
+    _LIT(KCompareDescErr, "Landmark descriptions are not equal");
+    
+    _LIT(KNameErr, "GetLandmarkName returned wrong");
+    _LIT(KDescErr, "GetLandmarkDescription returned wrong");
+    
+    // 1) Create landmark with name and descriptor
+    TBuf<100> lmName;
+    lmName.Format(KLmName,1);
+    TBuf<100> lmDesc;
+    lmDesc.Format(KLmDescription,1);
+    CPosLandmark* landmark = CPosLandmark::NewLC();
+    landmark->SetLandmarkNameL(lmName); 
+    landmark->SetLandmarkDescriptionL(lmDesc);
+    TPosLmItemId id = iDatabase->AddLandmarkL(*landmark);
+    User::After(200000);
+
+    // Read landmark from local landmark
+    TPtrC sourceDesc;
+    TPtrC sourceName;
+    TInt sourceErr = landmark->GetLandmarkName(sourceName);
+    AssertTrueSecL(sourceErr == KErrNone, KNameErr);
+    sourceErr = landmark->GetLandmarkDescription(sourceDesc);
+    AssertTrueSecL(sourceErr == KErrNone, KDescErr);
+
+    AssertTrueSecL(sourceName.Compare(lmName) == KErrNone, KCompareNameErr);
+    AssertTrueSecL(sourceDesc.Compare(lmDesc) == KErrNone, KCompareDescErr);
+
+    CleanupStack::PopAndDestroy(landmark);
+    // Read landmark from landmark db
+    CheckLandmarkL(id, lmName, lmDesc);
+    lmName.Zero();
+    lmDesc.Zero();
+
+    // 2) Create landmark with name and and empty descriptor
+    lmName.Format(KLmName,2);
+    lmDesc.Append(_L(""));
+    landmark = CPosLandmark::NewLC();
+    landmark->SetLandmarkNameL(lmName); 
+    landmark->SetLandmarkDescriptionL(lmDesc); 
+    id = iDatabase->AddLandmarkL(*landmark);
+    User::After(200000);
+
+    // Read landmark from local landmark
+    sourceErr = landmark->GetLandmarkName(sourceName);   
+    AssertTrueSecL(sourceErr == KErrNone, KNameErr);
+    sourceErr = landmark->GetLandmarkDescription(sourceDesc);
+    AssertTrueSecL(sourceErr == KErrNone, KDescErr);
+
+    AssertTrueSecL(sourceName.Compare(lmName) == KErrNone, KCompareNameErr);
+    AssertTrueSecL(sourceDesc.Compare(lmDesc) == KErrNone, KCompareDescErr);
+
+    CleanupStack::PopAndDestroy(landmark);
+    // Read landmark from landmark db
+    CheckLandmarkL(id, lmName, lmDesc);
+    lmName.Zero();
+    lmDesc.Zero();
+
+    // 3) Create landmark with name and and no descriptor set
+    lmName.Format(KLmName, 2);
+    lmDesc.Append(_L(""));
+    landmark = CPosLandmark::NewLC();
+    landmark->SetLandmarkNameL(lmName); 
+    id = iDatabase->AddLandmarkL(*landmark);
+    User::After(200000);
+
+    // Read landmark from local landmark, GetLandmarkDescription should return KErrNotFound since it is not set
+    sourceErr = landmark->GetLandmarkName(sourceName);   
+    AssertTrueSecL(sourceErr == KErrNone, KNameErr);
+    sourceErr = landmark->GetLandmarkDescription(sourceDesc);
+    AssertTrueSecL(sourceErr == KErrNotFound, KDescErr);
+
+    AssertTrueSecL(sourceName.Compare(lmName) == KErrNone, KCompareNameErr);
+
+    CleanupStack::PopAndDestroy(landmark);
+    // Read landmark from landmark db
+    CheckLandmarkL(id, lmName, lmDesc);
+    lmName.Zero();
+    lmDesc.Zero();
+
+    // 4) Create landmark with empty name and no description set
+    lmName.Append(_L(""));
+    lmDesc.Append(_L(""));
+    landmark = CPosLandmark::NewLC();
+    landmark->SetLandmarkNameL(lmName); 
+    id = iDatabase->AddLandmarkL(*landmark);
+    User::After(200000);
+
+    // Read landmark from local landmark, GetLandmarkDescription
+    // should return KErrNotFound since it is not set
+    sourceErr = landmark->GetLandmarkName(sourceName);   
+    AssertTrueSecL(sourceErr == KErrNone, KNameErr);
+    sourceErr = landmark->GetLandmarkDescription(sourceDesc);
+    AssertTrueSecL(sourceErr == KErrNotFound, KDescErr);
+
+    AssertTrueSecL(sourceName.Compare(lmName) == KErrNone, KCompareNameErr);
+
+    CleanupStack::PopAndDestroy(landmark);
+    // Read landmark from landmark db
+    CheckLandmarkL(id, lmName, lmDesc);
+    lmName.Zero();
+    lmDesc.Zero();
+
+    // 5) Create landmark with no name set but with description
+    lmName.Append(_L(""));
+    lmDesc.Format(KLmDescription,2);
+    landmark = CPosLandmark::NewLC();
+    landmark->SetLandmarkDescriptionL(lmDesc); 
+    id = iDatabase->AddLandmarkL(*landmark);
+    User::After(200000);
+
+    // Read landmark from local landmark, GetLandmarkName
+    // should return KErrNotFound since it is not set
+    sourceErr = landmark->GetLandmarkName(sourceName);   
+    AssertTrueSecL(sourceErr == KErrNotFound, KNameErr);
+    sourceErr = landmark->GetLandmarkDescription(sourceDesc);
+    AssertTrueSecL(sourceErr == KErrNone, KDescErr);
+    AssertTrueSecL(sourceDesc.Compare(lmDesc) == KErrNone, KCompareDescErr);
+
+    CleanupStack::PopAndDestroy(landmark);
+    // Read landmark from landmark db
+    CheckLandmarkL(id, lmName, lmDesc);
+    lmName.Zero();
+    lmDesc.Zero();
+
+    // 6) Create empty landmark
+    landmark = CPosLandmark::NewLC();
+    id = iDatabase->AddLandmarkL(*landmark);
+    User::After(200000);
+    lmName.Append(_L(""));
+    lmDesc.Append(_L(""));
+
+    // Read landmark from local landmark, GetLandmarkName and GetLandmarkDescription
+    // should return KErrNotFound since it is not set
+    sourceErr = landmark->GetLandmarkName(sourceName);   
+    AssertTrueSecL(sourceErr == KErrNotFound, KNameErr);
+    sourceErr = landmark->GetLandmarkDescription(sourceDesc);
+    AssertTrueSecL(sourceErr == KErrNotFound, KDescErr);
+
+    CleanupStack::PopAndDestroy(landmark);
+    // Read landmark from landmark db
+    CheckLandmarkL(id, lmName, lmDesc);
+    lmName.Zero();
+    lmDesc.Zero();
+    }
+
+// ---------------------------------------------------------
+// CPosTp41::InternalGet
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp41::CheckLandmarkL(TPosLmItemId aId, TDesC& aName, TDesC& aDesc)
+    {
+    iLog->Put(_L("CheckLandmarkL"));
+    _LIT(KNameErr2, "lm->GetLandmarkName returned wrong");
+    _LIT(KDescErr2, "lm->GetLandmarkDescription returned wrong");
+
+    _LIT(KCompareNameErr, "Landmark names are not equal");
+    _LIT(KCompareDescErr, "Landmark descriptions are not equal");
+
+    TPtrC sourceDesc;
+    TPtrC sourceName;
+
+    CPosLandmark* lm = iDatabase->ReadLandmarkLC(aId);
+    
+    TInt sourceErr = lm->GetLandmarkName(sourceName);
+    AssertTrueSecL(sourceErr == KErrNone, KNameErr2);
+    
+    AssertTrueSecL(sourceName.Compare(aName) == KErrNone, KCompareNameErr);
+    sourceErr = lm->GetLandmarkDescription(sourceDesc);
+    AssertTrueSecL(sourceErr == KErrNone, KDescErr2);
+    AssertTrueSecL(sourceDesc.Compare(aDesc) == KErrNone, KCompareDescErr);
+
+    CleanupStack::PopAndDestroy(lm);
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp42.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,613 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp42.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <bautils.h>
+
+// CONSTANTS
+_LIT(KTraceDir, "c:\\documents\\");
+_LIT(KFileTrace, "c:\\documents\\TP42_File%d.xml");
+_LIT(KFileTraceWild, "c:\\documents\\TP42_File*.xml");
+
+_LIT( KDump, "%02d: '%S'" );
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+
+// ---------------------------------------------------------
+// CPosTp42::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp42::CloseTest()
+    {
+    iDataToRecognize.ResetAndDestroy();
+    }
+
+// ---------------------------------------------------------
+// CPosTp42::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp42::StartL()
+    {
+    BaflUtils::EnsurePathExistsL( iFileSession, KFileTrace );
+    
+    iErrorsFound = 0;
+    // Test reading from buffer
+    iLog->Log(_L("**************BUFFER***************"));
+    TestWithBufferL();
+    
+    iLog->Log(_L("**************FILE***************"));
+    //Test reading from file and filehandle
+    TestWithFileL();
+    
+    iLog->Log(_L("**************EMPTY FILE***************"));
+    //Test reading from empty file
+    TestWithEmptyFileL();
+    
+    iLog->Log(_L("**************LARGE FILE***************"));
+    
+    //Test reading from large file
+    TestWithLargeFilesL(_L("<?xml *?><lala:lmx xmlns:n=\"http://www.nokia.com/schemas/location/landmarks\""), CApaDataRecognizerType::ECertain);
+    TestWithLargeFilesL(_L("<?xml k?> < *:lmx*>"), CApaDataRecognizerType::EProbable);
+    
+    iDataToRecognize.ResetAndDestroy();
+
+    if (iErrorsFound != KErrNone)
+        {
+        TBuf<64> buf;
+        buf.Format(_L("%d Errors were found in TP42"), iErrorsFound );
+        iLog->Log(buf);
+        User::Leave(-1);
+        }
+    }
+    
+    
+// ---------++++++++++++++------------------------------------------------
+// CPosTp42::TestWithBufferL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp42::TestWithEmptyFileL()
+    {
+    // Create empty file
+    RFile file;
+    TBuf<100> buf;
+    _LIT(KFileName, "c:\\documents\\DummyFile.txt");
+    
+    TInt err = file.Open(iFileSession, KFileName , EFileWrite);
+    if (err != KErrNone && err != KErrAlreadyExists)
+        {
+        if (err == KErrNotFound)
+            {
+            User::LeaveIfError(file.Create(iFileSession, KFileName, EFileWrite));
+            }
+        else
+           {   
+            buf.Format(_L("Error %d when creating empty file"), err);
+            iLog->Log(buf);
+           }
+        }
+        
+    file.Close();
+    TBuf8<1> kalle;
+    
+    RApaLsSession lsSession;
+    CleanupClosePushL(lsSession);
+    User::LeaveIfError(lsSession.Connect());
+    TDataRecognitionResult recognizerResultFromFile;
+    TDataRecognitionResult recognizerResultFromFileHandle;
+    
+    // Check file
+    err = lsSession.RecognizeData(KFileName, kalle , recognizerResultFromFile);
+    if (err != KErrNone) 
+    {
+    	iLog->Log(_L("Error from lsSession.RecognizeData"));
+    	User::Leave(err);
+    }
+    iLog->Log(recognizerResultFromFile.iDataType.Des());
+    TInt expCode = CApaDataRecognizerType::EProbable;
+    
+    if (recognizerResultFromFile.iDataType.Des() != _L("text/plain"))
+        {
+       
+        iLog->Log(_L("datatype from recognizer"));
+        }
+        
+    if (recognizerResultFromFile.iConfidence != expCode)
+        {
+      
+      	iLog->Log(_L(" confidence from recognizer"));
+        }
+    
+    // Check filehandle
+	User::LeaveIfError(iFileSession.ShareProtected());
+
+    RFile fileHandle;
+    CleanupClosePushL(fileHandle);
+    err = fileHandle.Open(iFileSession, KFileName, EFileRead | EFileShareAny);
+    if (err != KErrNone)
+    {
+    	iLog->Log(_L("Error from file.Open"));
+    	User::Leave(err);
+
+    }
+    err = lsSession.RecognizeData(fileHandle, recognizerResultFromFileHandle);
+    if (err != KErrNone)
+    {
+    	iLog->Log(_L("Error from lsSession.RecognizeData"));
+    	User::Leave(err);
+
+    }
+    CleanupStack::PopAndDestroy(&fileHandle);
+    iLog->Log(recognizerResultFromFileHandle.iDataType.Des());
+    
+   if (recognizerResultFromFileHandle.iDataType.Des() != _L("text/plain"))
+        {
+         iLog->Log(_L(" datatype from recognizer"));
+        }
+        
+    if (recognizerResultFromFileHandle.iConfidence != expCode)
+        {
+         iLog->Log(_L("confidence from recognizer"));
+        }
+    
+    CleanupStack::PopAndDestroy(&lsSession);
+    
+    }
+
+// ---------------------------------------------------------
+// CPosTp42::TestWithBufferL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp42::TestWithBufferL()
+    { 
+    //start reading the file line by line and create objects.
+    _LIT(KFileTestValues, "c:\\system\\test\\testdata\\LmRecognizerData.txt");
+
+    RFile file;
+    User::LeaveIfError(file.Open(iFileSession, KFileTestValues,  EFileRead));
+    CleanupClosePushL(file);
+        
+    TBuf<500> line;    //declarera som en konstant tack
+    while (ReadLn(file, line) != KErrEof)
+        {
+        TLex lex(line);
+        if ( lex.Peek() != '#' )
+            {
+            CRecognizerData* recognizerData = CRecognizerData::NewL(line);
+            CleanupStack::PushL(recognizerData);
+
+            User::LeaveIfError(iDataToRecognize.Append(recognizerData));
+            CleanupStack::Pop(recognizerData);
+            }
+        }
+
+	CleanupStack::PopAndDestroy(&file);
+
+    RApaLsSession lsSession;
+    CleanupClosePushL(lsSession);
+    User::LeaveIfError(lsSession.Connect());
+    TDataRecognitionResult recognizerResult;
+    TBuf<10> dummy; //dummy
+    
+    TInt numberOfResults = iDataToRecognize.Count();
+    for (TInt i = 0; i < numberOfResults; i++)
+        {
+        CRecognizerData* data = iDataToRecognize[i];
+        TBuf8<200> kalle;
+        kalle.Copy((data -> RecognizerData()));
+        
+        // Check buffer
+        User::LeaveIfError(lsSession.RecognizeData(dummy, kalle , recognizerResult));
+        
+        const TDataRecognitionResult expected = data->ExpectedResult();
+
+        TBuf<512> buf;
+        TPtrC content( data->RecognizerData() );
+        buf.Format( KDump, i+1, &content );
+        iLog->Log( buf );
+
+        CheckResultL(expected, recognizerResult);
+        }
+        
+	CleanupStack::PopAndDestroy(&lsSession);  
+    iDataToRecognize.ResetAndDestroy();
+	}
+
+// ---------------------------------------------------------
+// CPosTp42::TestWithFileL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp42::TestWithFileL()
+    { 
+    //start reading the file line by line and create objects.
+    _LIT(KFileTestValues, "c:\\system\\test\\testdata\\LmRecognizerDataFile.txt");
+
+    RFile file;
+    
+    CFileMan* fileMan = CFileMan::NewL(iFileSession);
+    CleanupStack::PushL(fileMan);
+    // Delete all old files
+    TInt err = fileMan->Delete(KFileTraceWild);
+    if (err != KErrNone && err != KErrNotFound) iLog->Log(_L("Error from CFileMan::Delete"));
+    CleanupStack::PopAndDestroy(fileMan);
+
+    CleanupClosePushL(file);
+    User::LeaveIfError(file.Open(iFileSession, KFileTestValues,  EFileRead));
+        
+    TBuf<500> line;
+    while (ReadLn(file, line) != KErrEof)
+        {
+        TLex lex(line);
+        if (lex.Peek() != '#')
+            {
+            CRecognizerData* recognizerData = CRecognizerData::NewL(line);
+            CleanupStack::PushL(recognizerData);
+
+            User::LeaveIfError(iDataToRecognize.Append(recognizerData));
+            CleanupStack::Pop(recognizerData);
+            }
+        }
+
+    CleanupStack::PopAndDestroy(&file);
+
+    //start comparing
+    RApaLsSession lsSession;
+    CleanupClosePushL(lsSession);
+    User::LeaveIfError(lsSession.Connect());
+    TDataRecognitionResult recognizerResultFromFile;
+    TDataRecognitionResult recognizerResultFromFileHandle;
+    TBuf<40> fileName; //dummy
+
+    TInt numberOfResults = iDataToRecognize.Count();
+    for (TInt i = 0; i < numberOfResults; i++)
+        {
+        CRecognizerData* data = iDataToRecognize[i];
+       
+        TBuf8<512> buf8;
+        buf8.Copy( data->RecognizerData() );
+
+        RFile file;
+        TFileName fileName;
+        TInt err = file.Temp( iFileSession, KTraceDir, fileName, EFileWrite );
+        if ( err )
+            {
+            iLog->Log(_L("Failed to create temp file, %d"), err);
+            User::Leave( err );
+            }
+        file.Write( buf8 );
+        _LIT8( KCrLf, "\n" );
+        file.Write( KCrLf );
+        file.Close();
+        
+        const TDataRecognitionResult expected = data->ExpectedResult();
+
+        TBuf<512> buf;
+        TPtrC content( data->RecognizerData() );
+        buf.Format( KDump, i+1, &content );
+        iLog->Log( buf );
+        
+        // Check file
+        recognizerResultFromFile.Reset();
+        buf8.Zero();
+        lsSession.RecognizeData( fileName, buf8, recognizerResultFromFile );
+        CheckResultL(expected, recognizerResultFromFile);
+        
+        // Check FileHandle
+        
+        RFs fileSessionNew;
+		User::LeaveIfError(fileSessionNew.Connect());
+		CleanupClosePushL(fileSessionNew);
+
+        //iLog->Log(_L("Check filehandle"));
+		err = fileSessionNew.ShareProtected();
+    	if (err != KErrNone) 
+    	{
+    		iLog->Log(_L("Error from file.ShareProtected"));
+    		User::Leave(err);
+    	}
+
+        RFile fileHandle;
+        CleanupClosePushL(fileHandle);
+        err = fileHandle.Open(fileSessionNew, fileName, EFileRead | EFileShareAny);
+        if (err != KErrNone) 
+        {
+        	iLog->Log(_L("Error from file.open"));
+    		User::Leave(err);
+        }
+        err = lsSession.RecognizeData(fileHandle, recognizerResultFromFileHandle);
+        if (err != KErrNone) 
+        {
+        	iLog->Log(_L("Error from lsSession.RecognizeData"));
+    		User::Leave(err);
+        }
+        
+        CleanupStack::PopAndDestroy(&fileHandle);
+        CleanupStack::PopAndDestroy(&fileSessionNew);
+        CheckResultL(expected, recognizerResultFromFileHandle);
+        
+        iFileSession.Delete( fileName );
+        }
+
+    CleanupStack::PopAndDestroy(&lsSession);
+    
+    iDataToRecognize.ResetAndDestroy();
+	}
+	
+// ---------------------------------------------------------
+// CPosTp42::TestWithLargeFilesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp42::TestWithLargeFilesL(const TDesC& msg, TInt aExpCode)
+    {
+    RApaLsSession lsSession;
+    CleanupClosePushL(lsSession);
+    User::LeaveIfError(lsSession.Connect());
+    
+    TDataRecognitionResult recognizerResultFromFile;
+    TDataRecognitionResult recognizerResultFromFileHandle;
+    
+    const TInt KBufSize = 400;
+    TBuf8<KBufSize> tmp1;
+    TBuf8<KBufSize> tmp;
+    TBuf8<1> kalle;
+
+    _LIT(KEnd,"\n");
+
+    RFile file;
+    TFileName fileName;
+    file.Temp( iFileSession, KTraceDir, fileName, EFileWrite );
+    CleanupClosePushL(file);
+
+    for (TInt i=0;i<10;i++)
+        {
+        tmp1.Append(_L("   \n\t   "));
+        }
+        
+    tmp.Append(tmp1);
+    tmp.Append(msg);
+    tmp.Append(KEnd);
+    tmp.Append(tmp1);
+    tmp.Append(KEnd);
+    file.Write(tmp);
+    
+    CleanupStack::PopAndDestroy(&file);
+    
+    lsSession.RecognizeData(fileName, kalle , recognizerResultFromFile);
+    iLog->Log(recognizerResultFromFile.iDataType.Des());
+
+    if (recognizerResultFromFile.iDataType.Des() != _L("application/vnd.nokia.landmarkcollection+xml"))
+        {
+        iLog->Log(_L("datatype from recognizer"));
+        }
+    
+    if (recognizerResultFromFile.iConfidence != aExpCode)
+        {
+        iLog->Log(_L(" confidence from recognizer"));
+        }
+    
+    // Check FileHandle
+    iLog->Log(_L("Check filehandle"));
+    
+    RFs fs;
+    CleanupClosePushL(fs);
+	User::LeaveIfError(fs.Connect());
+	User::LeaveIfError(fs.ShareProtected());
+
+    RFile fileHandle;
+    CleanupClosePushL(fileHandle);
+    TInt err = fileHandle.Open(fs, fileName, EFileRead | EFileShareAny);
+    if (err != KErrNone)
+    {
+    iLog->Log(_L("Error from file.Open"));
+   	User::Leave(err);	
+    }
+    err = lsSession.RecognizeData(fileHandle, recognizerResultFromFileHandle);
+    if (err != KErrNone)
+    {
+    iLog->Log(_L("Error from lsSession.RecognizeData"));
+   	User::Leave(err);	
+    }
+    CleanupStack::PopAndDestroy(&fileHandle);
+    
+    if (recognizerResultFromFileHandle.iDataType.Des() != _L("application/vnd.nokia.landmarkcollection+xml"))
+        {
+        iLog->Log(_L("datatype from recognizer"));
+        }
+        
+    if (recognizerResultFromFileHandle.iConfidence != aExpCode)
+        {
+        iLog->Log(_L("confidence from recognizer"));
+        }
+    
+    iFileSession.Delete( fileName );
+    CleanupStack::PopAndDestroy(&fs);
+    CleanupStack::PopAndDestroy(&lsSession);
+    }
+
+// ---------------------------------------------------------
+// ---------------------------------------------------------
+//
+void CPosTp42::CheckResultL(TDataRecognitionResult aExpectedResult, TDataRecognitionResult aResult)
+    {
+    _LIT(KExpected, "Expect: '%S' (%d)");
+    _LIT(KActual,   "Actual: '%S' (%d)");
+
+    TBuf<256> exp, act;
+    TPtrC expMime( aExpectedResult.iDataType.Des() );
+    TPtrC actMime( aResult.iDataType.Des() );
+
+    exp.Format(KExpected, &expMime, aExpectedResult.iConfidence );
+    act.Format(KActual, &actMime, aResult.iConfidence );
+
+    if ( aExpectedResult.iConfidence == NOLANDMARKNUMBER ) // Magic number for not any landmark
+        {
+        _LIT8(KLmxType, "application/vnd.nokia.landmarkcollection+xml");
+        _LIT8(KGpxType, "application/gps+xml");
+
+        if ( aResult.iDataType.Des8().Compare( KLmxType ) == 0 ||
+             aResult.iDataType.Des8().Compare( KGpxType ) == 0 )
+            {
+            iLog->Log(_L( "ERR: landmark detected when it shouldn't be" ));
+            iLog->Log(exp);
+            iLog->Log(act);
+            iErrorsFound++;
+            }
+        }
+    else //if (aExpectedResult.iConfidence == CApaDataRecognizerType::ECertain) //a landmark buffer is expected
+        {
+        if ( aExpectedResult.iDataType != aResult.iDataType )
+            {
+            iLog->Log(_L( "ERR: datatype mismatch" ));
+            iLog->Log(exp);
+            iLog->Log(act);
+            iErrorsFound++;
+            }
+        if ( aExpectedResult.iConfidence != aResult.iConfidence )
+            {
+            iLog->Log(_L("ERR: confidence mismatch"));
+            iLog->Log(exp);
+            iLog->Log(act);
+            iErrorsFound++;
+            }
+        }
+    }
+
+// ---------------------------------------------------------
+// ---------------------------------------------------------
+//
+//  Implementation of the supporter class
+CRecognizerData* CRecognizerData::NewL(const TDesC& aDes)
+    {
+    CRecognizerData* self = new(ELeave) CRecognizerData;
+    CleanupStack::PushL(self);
+    self->ConstructL(aDes);
+    CleanupStack::Pop();
+    return self;
+    }
+
+// ---------------------------------------------------------
+// ---------------------------------------------------------
+CRecognizerData::CRecognizerData()
+    {
+    }
+
+// ---------------------------------------------------------
+// ---------------------------------------------------------
+CRecognizerData::~CRecognizerData()
+    {
+    delete iRecognizerData;
+    iRecognizerData = NULL;
+    }
+
+// ---------------------------------------------------------
+// ---------------------------------------------------------
+//
+TPtrC CRecognizerData::RecognizerData() const
+    {
+    return *iRecognizerData;
+    }
+    
+// ---------------------------------------------------------
+// ---------------------------------------------------------
+//
+const TDataRecognitionResult& CRecognizerData::ExpectedResult() const
+    {
+    return iExpectedResult;
+    }
+  
+// ---------------------------------------------------------
+// ---------------------------------------------------------
+//
+void CRecognizerData::ConstructL(const TDesC& aDes)
+    {
+    _LIT( KDelim, "#" );
+    TInt delim = aDes.Find( KDelim );
+    iRecognizerData = aDes.Left( delim ).AllocL();
+    iRecognizerData->Des().TrimRight();
+    
+    TLex line( aDes.Mid( delim + 1 ) );
+    
+    ParseResult( line.NextToken() );
+    ParseType( line.NextToken() );
+    }
+
+// ---------------------------------------------------------
+// ---------------------------------------------------------
+//
+void CRecognizerData::ParseResult(const TDesC& aDes)
+    {
+    _LIT(KECertain, "ECertain");
+    _LIT(KEProbable, "EProbable");
+    if (aDes.CompareF(KECertain) == 0)
+        {
+        iExpectedResult.iConfidence = CApaDataRecognizerType::ECertain;
+        }
+    else if (aDes.CompareF(KEProbable) == 0)
+        {
+        iExpectedResult.iConfidence = CApaDataRecognizerType::EProbable;
+        }
+    else
+        {
+        iExpectedResult.iConfidence = NOLANDMARKNUMBER;
+        }
+    }
+
+// ---------------------------------------------------------
+// ---------------------------------------------------------
+//
+void CRecognizerData::ParseType(const TDesC& aDes)
+    {
+    _LIT8(KLmxType, "application/vnd.nokia.landmarkcollection+xml");
+    _LIT8(KGpxType, "application/gps+xml");
+    _LIT(KGpx, "gpx");
+    _LIT(KLmx, "lmx");
+    
+    TDataType dataLmx(KLmxType);
+    TDataType dataGpx(KGpxType);
+
+    if (aDes.CompareF(KGpx) == 0)
+        {
+        iExpectedResult.iDataType = dataGpx;
+        }
+    else if (aDes.CompareF(KLmx) == 0)
+        {
+        iExpectedResult.iDataType = dataLmx;
+        }
+    else
+        {
+        }
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp43.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,1665 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp43.h"
+
+#include <EPos_CPosLandmarkParser.h>
+#include <EPos_CPosLandmarkEncoder.h>
+#include <EPos_CPosLandmarkDatabase.h> 
+#include <LbsPosition.h>
+#include <e32math.h>
+#include <bautils.h>
+
+// CONST
+_LIT(KFileName, "c:\\documents\\Tp43EncodeOutput.xml");
+_LIT(KFileName2, "c:\\documents\\Tp43EncodeOutputIncMode.xml");
+_LIT(KFileName3, "c:\\documents\\Tp43EncodeOutputCollectionData1.xml");
+_LIT(KFileName4, "c:\\documents\\Tp43EncodeOutputCollectionData2.xml");
+_LIT(KFileEmptyCollectionData, "c:\\documents\\Tp43EncodeOutputEmptyCollectionData.xml");
+_LIT(KFileEmptyCollectionData2, "c:\\documents\\Tp43EncodeOutputEmptyCollectionData2.xml");
+_LIT(KFileLongCollectionFieldName, "c:\\documents\\Tp43EncodeOutputLongCollectionField.xml");
+
+// Filename with 260 characters
+_LIT(KLongFileName, "c:\\File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File12");
+_LIT(KEmptyFileName, "");
+_LIT8(KLongMimeType, "application/vnd.nokia.landmarkcollection+xmlFile123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File12");
+
+_LIT(KFileNameCorrect, "c:\\system\\test\\TestData\\Tp43EncodeOutput_Correct.xml");
+_LIT(KFileName2Correct, "c:\\system\\test\\TestData\\Tp43EncodeOutputIncMode_Correct.xml");
+_LIT(KFileName3Correct, "c:\\system\\test\\TestData\\Tp43EncodeOutputCollectionData1_Correct.xml");
+_LIT(KFileName4Correct, "c:\\system\\test\\TestData\\Tp43EncodeOutputCollectionData2_Correct.xml");
+_LIT(KFileEmptyCollectionDataCorrect, "c:\\system\\test\\TestData\\Tp43EncodeOutputEmptyCollectionData_Correct.xml");
+_LIT(KFileEmptyCollectionData2Correct, "c:\\system\\test\\TestData\\Tp43EncodeOutputEmptyCollectionData2_Correct.xml");
+_LIT(KFileLongCollectionFieldNameCorrect, "c:\\system\\test\\TestData\\Tp43EncodeOutputLongCollectionField_Correct.xml");
+_LIT(KErrorScenario4FileCorrect, "c:\\system\\test\\TestData\\Tp43EncodeOutputErrorScenario4_Correct.xml");
+_LIT(KErrorScenario5FileCorrect, "c:\\system\\test\\TestData\\Tp43EncodeOutputErrorScenario5_Correct.xml");
+
+_LIT(KErrorTestFileName, "c:\\documents\\Tp43EncodeOutputErrorTest.xml");
+_LIT(KErrorScenario4File, "c:\\documents\\Tp43EncodeOutputErrorScenario4.xml");
+_LIT(KErrorScenario5File, "c:\\documents\\Tp43EncodeOutputErrorScenario5.xml");
+
+// This number must be updated if any more landmarks are added
+const TInt KNrOfAddedLandmarks = 7;
+
+const TInt KBufSize = 1024;
+
+// ================= MEMBER FUNCTIONS =======================
+
+
+// ---------------------------------------------------------
+// CPosTp43::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp43::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+
+    iLandmarks.ResetAndDestroy();
+    iLandmarks.Close();
+    
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+
+    delete iDatabase;
+    iDatabase=NULL;
+
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+
+    delete iOperation;
+    iOperation = NULL;
+
+    }
+
+// ---------------------------------------------------------
+// CPosTp43::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp43::StartL()
+    {
+    BaflUtils::EnsurePathExistsL( iFileSession, KFileName );
+
+    DeleteFileL(KFileName);
+    DeleteFileL(KFileName2);
+    DeleteFileL(KFileName3);
+    DeleteFileL(KFileName4);
+    DeleteFileL(KFileEmptyCollectionData);
+    DeleteFileL(KFileEmptyCollectionData2);
+
+
+	RemoveAllLmDatabasesL();
+	
+    // Use same lm db as in composite search test
+    iDatabase = UseCompositeLandmarksDbFileL();   
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+
+    delete iDatabase;
+    iDatabase = NULL;
+   
+    iDatabase = CPosLandmarkDatabase::OpenL();
+    	
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+       	
+    iLandmarkSearch = CPosLandmarkSearch::NewL(*iDatabase);
+
+    // Do reset so that global categories are included
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);   
+    ExecuteAndDeleteLD(categoryManager->ResetGlobalCategoriesL());
+    CleanupStack::PopAndDestroy(categoryManager);
+
+   
+    // 1) Create an encoder object
+    iLandmarkEncoder = CPosLandmarkEncoder::NewL(KLmxMimeType);
+
+    // 2) Use file for encoding, set output file
+    iLandmarkEncoder->SetOutputFileL(KFileName);
+    CreateEncoderPartsL();
+
+    // 13 Finalize encoding
+    iLog->Log(_L("FinalizeEncodingL"));
+    ExecuteAndDeleteLD(iLandmarkEncoder->FinalizeEncodingL());
+    iLog->Log(_L("FinalizeEncodingL Done"));
+
+    // Check data
+    HBufC8* emptyBuffer=NULL;
+    ParseAndCheckDataFromEncoderL(KFileName, _L(""), _L(""), *emptyBuffer);
+
+    // Repeate step 2-12, finalize with incremental mode and monitor progress 
+    iLandmarkEncoder->SetOutputFileL(KFileName2);
+    CreateEncoderPartsL();
+
+    // 15 Finalize encoding with incremental mode and monitor progress 
+    iOperation = iLandmarkEncoder->FinalizeEncodingL();
+
+    CActiveLmOperation* activeLmOperation = new(ELeave) CActiveLmOperation(iLog);
+    CleanupStack::PushL(activeLmOperation);
+
+    // Progress is monitored in CLandmarkTestProcedureBase class
+    activeLmOperation->Start(iOperation);
+    CActiveScheduler::Start();
+
+    // Check for no errors
+    iLog->Log(_L("CheckOperationL"));
+    activeLmOperation->CheckOperationL();
+    delete iOperation;
+    iOperation = NULL;
+
+    ParseAndCheckDataFromEncoderL(KFileName2, _L(""), _L(""), *emptyBuffer);
+
+    CleanupStack::PopAndDestroy(activeLmOperation);
+ 
+    // 16 Repeat step 3-15, use buffer
+    CBufBase* myEncoderBuffer = iLandmarkEncoder->SetUseOutputBufferL();
+    CleanupStack::PushL(myEncoderBuffer);
+
+    // 17a Repeat step 3-15, use buffer
+    iLog->Log(_L("Part 17a Repeat step 3-15 use buffer"));
+    CreateEncoderPartsL();
+
+    iLog->Log(_L("FinalizeEncodingL"));
+    ExecuteAndDeleteLD(iLandmarkEncoder->FinalizeEncodingL());
+    iLog->Log(_L("FinalizeEncodingL Done"));
+
+    HBufC8* filecontent = HBufC8::NewLC(myEncoderBuffer->Size());
+    TPtr8 ptr = filecontent->Des();
+    myEncoderBuffer->Read(0, ptr, myEncoderBuffer->Size());
+    ParseAndCheckDataFromEncoderL(KNullDesC, _L(""), _L(""), *filecontent);
+    myEncoderBuffer->Reset();
+    CleanupStack::PopAndDestroy(filecontent);
+    CleanupStack::PopAndDestroy(myEncoderBuffer);
+
+    // 17b Repeat step 3-15 use buffer, finalize with incremental mode and monitor progress 
+    iLog->Log(_L("Part 17b Repeat step 3-15 use buffer"));
+    CBufBase* myEncoderBuffer2 = iLandmarkEncoder->SetUseOutputBufferL();
+    CleanupStack::PushL(myEncoderBuffer2);
+
+    CreateEncoderPartsL();
+    iOperation = iLandmarkEncoder->FinalizeEncodingL();
+
+    activeLmOperation = new(ELeave) CActiveLmOperation(iLog);
+    CleanupStack::PushL(activeLmOperation);
+
+    // Progress is monitored in CLandmarkTestProcedureBase class
+    activeLmOperation->Start(iOperation);
+    CActiveScheduler::Start();
+    
+    // Check for no errors
+    iLog->Log(_L("CheckOperationL"));
+    activeLmOperation->CheckOperationL();
+    delete iOperation;
+    iOperation = NULL;
+
+    HBufC8* filecontent2 = HBufC8::NewLC(myEncoderBuffer2->Size());
+    TPtr8 ptr2 = filecontent2->Des();
+    myEncoderBuffer2->Read(0, ptr2, myEncoderBuffer2->Size());
+
+    ParseAndCheckDataFromEncoderL(KNullDesC, _L(""), _L(""), *filecontent2);
+
+    myEncoderBuffer2->Reset();
+    CleanupStack::PopAndDestroy(filecontent2);
+    CleanupStack::PopAndDestroy(activeLmOperation);
+    CleanupStack::PopAndDestroy(myEncoderBuffer2);
+
+    // 18 Use file when encoding, set output file
+    iLog->Log(_L("Part 18 Use file when encoding, set output file"));
+    iLandmarkEncoder->SetOutputFileL(KFileName3);
+
+    // 19 Add collection data to the encoder, name and description set
+    iLandmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionName, _L("TP43CollectionDataNameFile1"));
+    iLandmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionDescription, _L("TP43CollectionDataDescriptionFile1"));
+    
+    CreateEncoderPartsL();
+
+    // Finalize encoding
+    iLog->Log(_L("FinalizeEncodingL"));
+    ExecuteAndDeleteLD(iLandmarkEncoder->FinalizeEncodingL());
+    iLog->Log(_L("FinalizeEncodingL Done"));
+
+    // Check data
+    ParseAndCheckDataFromEncoderL(KFileName3, _L("TP43CollectionDataNameFile1"), _L("TP43CollectionDataDescriptionFile1"), *emptyBuffer);
+
+    // 20a Repeat step 3-17 Use file when encoding, set output file, finalize with incremental mode and monitor progress 
+    iLog->Log(_L("Part 20a "));
+    iLandmarkEncoder->SetOutputFileL(KFileName4);
+
+    // Add collection data to the encoder, name and description set
+    iLandmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionName, _L("TP43CollectionDataNameFile2"));
+    iLandmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionDescription, _L("TP43CollectionDataDescriptionFile2"));
+    
+    CreateEncoderPartsL();
+
+    // finalize with incremental mode and monitor progress 
+    iOperation = iLandmarkEncoder->FinalizeEncodingL();
+
+    activeLmOperation = new(ELeave) CActiveLmOperation(iLog);
+    CleanupStack::PushL(activeLmOperation);
+
+    // Progress is monitored in CLandmarkTestProcedureBase class
+    activeLmOperation->Start(iOperation);
+    CActiveScheduler::Start();
+
+    // Check for no errors
+    iLog->Log(_L("CheckOperationL"));
+    activeLmOperation->CheckOperationL();
+    delete iOperation;
+    iOperation = NULL;
+    CleanupStack::PopAndDestroy(activeLmOperation);
+
+    // Check data
+    ParseAndCheckDataFromEncoderL(KFileName4, _L("TP43CollectionDataNameFile2"), _L("TP43CollectionDataDescriptionFile2"), *emptyBuffer);
+
+    // 20b Use buffer when encoding
+    iLog->Log(_L("Part 20b "));
+    CBufBase* myEncoderBuffer3 = iLandmarkEncoder->SetUseOutputBufferL();
+    CleanupStack::PushL(myEncoderBuffer3);
+
+    // Add collection data to the encoder, name and description set
+    iLandmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionName, _L("TP43CollectionDataNameBuffer1"));
+    iLandmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionDescription, _L("TP43CollectionDataDescriptionBuffer1"));
+    CreateEncoderPartsL();
+
+    // Finalize encoding
+    iLog->Log(_L("FinalizeEncodingL"));
+    ExecuteAndDeleteLD(iLandmarkEncoder->FinalizeEncodingL());
+    iLog->Log(_L("FinalizeEncodingL Done"));
+
+    HBufC8* filecontent3 = HBufC8::NewLC(myEncoderBuffer3->Size());
+    TPtr8 ptr3 = filecontent3->Des();
+    myEncoderBuffer3->Read(0, ptr3, myEncoderBuffer3->Size());
+    ParseAndCheckDataFromEncoderL(KNullDesC, _L("TP43CollectionDataNameBuffer1"), _L("TP43CollectionDataDescriptionBuffer1"), *filecontent3);
+    myEncoderBuffer3->Reset();
+    CleanupStack::PopAndDestroy(filecontent3);
+    CleanupStack::PopAndDestroy(myEncoderBuffer3);
+
+
+    // 20c Repeat step 3-17 Use buffer when encoding, set output file, finalize with incremental mode and monitor progress 
+    iLog->Log(_L("Part 20c "));
+    CBufBase* myEncoderBuffer4 = iLandmarkEncoder->SetUseOutputBufferL();
+    CleanupStack::PushL(myEncoderBuffer4);
+
+    // Add collection data to the encoder, name and description set
+    iLandmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionName, _L("TP43CollectionDataNameBuffer2"));
+    iLandmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionDescription, _L("TP43CollectionDataDescriptionBuffer2"));
+    
+    CreateEncoderPartsL();
+
+    // finalize with incremental mode and monitor progress 
+    iOperation = iLandmarkEncoder->FinalizeEncodingL();
+
+    activeLmOperation = new(ELeave) CActiveLmOperation(iLog);
+    CleanupStack::PushL(activeLmOperation);
+
+    // Progress is monitored in CLandmarkTestProcedureBase class
+    activeLmOperation->Start(iOperation);
+    CActiveScheduler::Start();
+
+    // Check for no errors
+    iLog->Log(_L("CheckOperationL"));
+    activeLmOperation->CheckOperationL();
+    delete iOperation;
+    iOperation = NULL;
+    
+    HBufC8* filecontent4 = HBufC8::NewLC(myEncoderBuffer4->Size());
+    TPtr8 ptr4 = filecontent4->Des();
+    myEncoderBuffer4->Read(0, ptr4, myEncoderBuffer4->Size());
+    ParseAndCheckDataFromEncoderL(KNullDesC, _L("TP43CollectionDataNameBuffer2"), _L("TP43CollectionDataDescriptionBuffer2"), *filecontent4);
+    myEncoderBuffer4->Reset();
+    CleanupStack::PopAndDestroy(filecontent4);
+
+    CleanupStack::PopAndDestroy(activeLmOperation);
+    CleanupStack::PopAndDestroy(myEncoderBuffer4);
+
+    // 21 Use file when encoding, set output file
+    iLog->Log(_L("Part 21 "));
+    iLandmarkEncoder->SetOutputFileL(KFileEmptyCollectionData);
+    // 22 Add collection data to the encoder, but without specifying name and description
+    iLandmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionName, _L(""));
+    iLandmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionDescription, _L(""));
+
+    CreateEncoderPartsL();
+
+    // Finalize encoding
+    iLog->Log(_L("FinalizeEncodingL"));
+    ExecuteAndDeleteLD(iLandmarkEncoder->FinalizeEncodingL());
+    iLog->Log(_L("FinalizeEncodingL Done"));
+
+    // Check data
+    ParseAndCheckDataFromEncoderL(KFileEmptyCollectionData, _L(""), _L(""), *emptyBuffer);
+
+    // 23a Repeat step 3-17 Use file when encoding, set output file, finalize with incr. mode
+    iLog->Log(_L("Part 23a "));
+    iLandmarkEncoder->SetOutputFileL(KFileEmptyCollectionData2);
+    // Add collection data to the encoder, but without specifying name and description
+    iLandmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionName, _L(""));
+    iLandmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionDescription, _L(""));
+
+    CreateEncoderPartsL();
+
+    // finalize with incremental mode and monitor progress 
+    iOperation = iLandmarkEncoder->FinalizeEncodingL();
+
+    activeLmOperation = new(ELeave) CActiveLmOperation(iLog);
+    CleanupStack::PushL(activeLmOperation);
+
+    // Progress is monitored in CLandmarkTestProcedureBase class
+    activeLmOperation->Start(iOperation);
+    CActiveScheduler::Start();
+
+    // Check for no errors
+    iLog->Log(_L("CheckOperationL"));
+    activeLmOperation->CheckOperationL();
+    delete iOperation;
+    iOperation = NULL;
+    CleanupStack::PopAndDestroy(activeLmOperation);
+    
+    // Check data
+    ParseAndCheckDataFromEncoderL(KFileEmptyCollectionData, _L(""), _L(""), *emptyBuffer);
+
+    // 23b Repeat step 3-17 Use buffer when encoding
+    iLog->Log(_L("Part 23b "));
+    CBufBase* myEncoderBuffer5 = iLandmarkEncoder->SetUseOutputBufferL();
+    CleanupStack::PushL(myEncoderBuffer5);
+
+    // Add collection data to the encoder, name and description set
+    iLandmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionName, _L("TP43CollectionDataNameBuffer3"));
+    iLandmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionDescription, _L("TP43CollectionDataDescriptionBuffer3"));
+    CreateEncoderPartsL();
+
+    // Finalize encoding
+    iLog->Log(_L("FinalizeEncodingL"));
+    ExecuteAndDeleteLD(iLandmarkEncoder->FinalizeEncodingL());
+    iLog->Log(_L("FinalizeEncodingL Done"));
+
+    // Check data here
+    HBufC8* filecontent5 = HBufC8::NewLC(myEncoderBuffer5->Size());
+    TPtr8 ptr5 = filecontent5->Des();
+    myEncoderBuffer5->Read(0, ptr5, myEncoderBuffer5->Size());
+    ParseAndCheckDataFromEncoderL(KNullDesC, _L("TP43CollectionDataNameBuffer3"), _L("TP43CollectionDataDescriptionBuffer3"), *filecontent5);
+    myEncoderBuffer5->Reset();
+    CleanupStack::PopAndDestroy(filecontent5);
+    CleanupStack::PopAndDestroy(myEncoderBuffer5);
+
+    // 23c Repeat step 3-17 Use buffer when encoding, finalize with incremental mode and monitor progress 
+    iLog->Log(_L("Part 23c "));
+    CBufBase* myEncoderBuffer6 = iLandmarkEncoder->SetUseOutputBufferL();
+    CleanupStack::PushL(myEncoderBuffer6);
+
+    // Add collection data to the encoder, name and description set
+    iLandmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionName, _L("TP43CollectionDataNameBuffer4"));
+    iLandmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionDescription, _L("TP43CollectionDataDescriptionBuffer4"));
+    CreateEncoderPartsL();
+
+    // finalize with incremental mode and monitor progress 
+    iOperation = iLandmarkEncoder->FinalizeEncodingL();
+
+    activeLmOperation = new(ELeave) CActiveLmOperation(iLog);
+    CleanupStack::PushL(activeLmOperation);
+
+    // Progress is monitored in CLandmarkTestProcedureBase class
+    activeLmOperation->Start(iOperation);
+    CActiveScheduler::Start();
+
+    // Check for no errors
+    iLog->Log(_L("CheckOperationL"));
+    activeLmOperation->CheckOperationL();
+    delete iOperation;
+    iOperation = NULL;
+    CleanupStack::PopAndDestroy(activeLmOperation);
+
+    // Check data here
+    HBufC8* filecontent6 = HBufC8::NewLC(myEncoderBuffer6->Size());
+    TPtr8 ptr6 = filecontent6->Des();
+    myEncoderBuffer6->Read(0, ptr6, myEncoderBuffer6->Size());
+    ParseAndCheckDataFromEncoderL(KNullDesC, _L("TP43CollectionDataNameBuffer4"), _L("TP43CollectionDataDescriptionBuffer4"), *filecontent6);
+    myEncoderBuffer6->Reset();
+    CleanupStack::PopAndDestroy(filecontent6);
+    CleanupStack::PopAndDestroy(myEncoderBuffer6);
+
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+    
+    DeleteFileL(KFileLongCollectionFieldName);
+    // Test with file
+    TestLongCollectionFieldsL(ETrue);
+    // Test with buffer
+    TestLongCollectionFieldsL(EFalse);
+    
+    // Check that all created XML files are correct by comparing to saved files
+    iLog->Log(_L("Comparing files..."));
+
+    TFileName filename;
+    CreateCorrectXmlFileL( KFileNameCorrect, filename );
+    CompareTwoFilesL(filename, KFileName);
+    
+    CreateCorrectXmlFileL( KFileName2Correct, filename );
+    CompareTwoFilesL(filename, KFileName2);
+
+    CreateCorrectXmlFileL( KFileName3Correct, filename );
+    CompareTwoFilesL(filename, KFileName3);
+
+    CreateCorrectXmlFileL( KFileName4Correct, filename );
+    CompareTwoFilesL(filename, KFileName4);
+
+    CreateCorrectXmlFileL( KFileEmptyCollectionDataCorrect, filename );
+    CompareTwoFilesL(filename, KFileEmptyCollectionData);
+    
+    CreateCorrectXmlFileL( KFileEmptyCollectionData2Correct, filename );
+    CompareTwoFilesL(filename, KFileEmptyCollectionData2);
+
+    CreateCorrectXmlFileL( KFileLongCollectionFieldNameCorrect, filename );
+    CompareTwoFilesL(filename, KFileLongCollectionFieldName);
+
+    // Test for correct leave codes
+    TestErrorScenariosL();
+
+    // check for correct output
+    CreateCorrectXmlFileL( KErrorScenario4FileCorrect, filename );
+    CompareTwoFilesL(filename, KErrorScenario4File);
+
+    CreateCorrectXmlFileL( KErrorScenario5FileCorrect, filename );
+    CompareTwoFilesL(filename, KErrorScenario5File);
+    
+    // Test to encode to file with long filename (more than 255 characters)
+    TestWithLongFileNameL();
+
+    if (iErrorsFound != KErrNone) 
+    {
+    	iLog->Log(_L("Errors found in TP43"));
+    	User::Leave(-1);
+    }
+	}
+
+// ---------------------------------------------------------
+// CPosTp43::CreateEncoderPartsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp43::CreateEncoderPartsL()
+    {
+    iLog->Log(_L("CreateEncoderPartsL"));
+    // 3 Add one landmark to be encoded (id7 name "Billigt" in categories 1-3,14-17)
+    CPosLandmark* lm1 = iDatabase->ReadLandmarkLC(7);
+    iLandmarkEncoder->AddLandmarkL(*lm1);
+    // Remove field 408 which is not exported
+    lm1->RemovePositionField(408);
+    iLandmarks.Append(lm1);
+    CleanupStack::Pop(lm1);
+    // 4 Add one more landmark to be encoded (id27 "LOG9" in categories 11-17)
+    CPosLandmark* lm2 = iDatabase->ReadLandmarkLC(27);
+    iLandmarkEncoder->AddLandmarkL(*lm2);
+    // Remove field 408 which is not exported
+    lm2->RemovePositionField(408);
+    iLandmarks.Append(lm2);
+    CleanupStack::Pop(lm2);
+
+    // 5 Add one category to the latest added landmark
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+    CPosLandmarkCategory* landmarkCategory = categoryManager->ReadCategoryLC(1);
+        
+    iLandmarkEncoder->AddCategoryForLatestLandmarkL(*landmarkCategory);
+    CleanupStack::PopAndDestroy(landmarkCategory);
+    CleanupStack::PopAndDestroy(categoryManager);
+
+    // 6 Add one more landmark to be encoded (id52 "Kalles Hundgård" in category 19)
+    lm2 = iDatabase->ReadLandmarkLC(52);
+    iLandmarkEncoder->AddLandmarkL(*lm2);
+    // Remove field 408 which is not exported
+    lm2->RemovePositionField(408);
+    iLandmarks.Append(lm2);
+    CleanupStack::Pop(lm2);
+
+    // 7 Add several global and local categories to the latest added landmark
+    categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+    landmarkCategory = categoryManager->ReadCategoryLC(26);
+    iLandmarkEncoder->AddCategoryForLatestLandmarkL(*landmarkCategory);
+    CleanupStack::PopAndDestroy(landmarkCategory);
+
+    landmarkCategory = categoryManager->ReadCategoryLC(25);
+    iLandmarkEncoder->AddCategoryForLatestLandmarkL(*landmarkCategory);
+    CleanupStack::PopAndDestroy(landmarkCategory);
+    
+    TPosLmItemId globalCategoryId = categoryManager->GetGlobalCategoryL(3000);
+    if (globalCategoryId != KPosLmNullItemId)
+        {
+        landmarkCategory = categoryManager->ReadCategoryLC(globalCategoryId);
+        iLandmarkEncoder->AddCategoryForLatestLandmarkL(*landmarkCategory);
+        CleanupStack::PopAndDestroy(landmarkCategory);
+    	}
+    	else 
+    	{
+    	iLog->Log(_L("Global category was not found1"));
+    	User::Leave(-1);
+    	}
+
+    //globalCategoryId = categoryManager->GetGlobalCategoryL(6000);
+    globalCategoryId = categoryManager->GetGlobalCategoryL(15000);
+    if (globalCategoryId != KPosLmNullItemId)
+        {
+        landmarkCategory = categoryManager->ReadCategoryLC(globalCategoryId);
+        iLandmarkEncoder->AddCategoryForLatestLandmarkL(*landmarkCategory);
+        CleanupStack::PopAndDestroy(landmarkCategory);
+        }
+    	else 
+    	{
+    	iLog->Log(_L("Global category was not found2"));
+    	User::Leave(-1);
+    	}
+
+    CleanupStack::PopAndDestroy(categoryManager);
+
+    // 8 Add one landmark (not containing any categories), id=11 "MLFW"
+    lm2 = iDatabase->ReadLandmarkLC(11);
+    iLandmarkEncoder->AddLandmarkL(*lm2);
+    // Remove field 408 which is not exported
+    lm2->RemovePositionField(408);
+    iLandmarks.Append(lm2);
+    CleanupStack::Pop(lm2);
+
+    // 9 Add one more landmark (not containing any categories), id=56 "TE, Lund"
+    lm2 = iDatabase->ReadLandmarkLC(56);
+    iLandmarkEncoder->AddLandmarkL(*lm2);
+    // Remove field 408 which is not exported
+    lm2->RemovePositionField(408);
+    iLandmarks.Append(lm2);
+    CleanupStack::Pop(lm2);
+
+    // 10 Add one category to the latest added landmark
+    categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+    landmarkCategory = categoryManager->ReadCategoryLC(18);
+        
+    iLandmarkEncoder->AddCategoryForLatestLandmarkL(*landmarkCategory);
+    CleanupStack::PopAndDestroy(landmarkCategory);
+    CleanupStack::PopAndDestroy(categoryManager);
+
+    // 11 Add one landmark (not containing any categories), id=43 "asdf"
+    lm2 = iDatabase->ReadLandmarkLC(43);
+    iLandmarkEncoder->AddLandmarkL(*lm2);
+    // Remove field 408 which is not exported
+    lm2->RemovePositionField(408);
+    iLandmarks.Append(lm2);
+    CleanupStack::Pop(lm2);
+
+    // 12 Add several local and global categories to the latest added landmark
+    categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+    landmarkCategory = categoryManager->ReadCategoryLC(23);
+        
+    iLandmarkEncoder->AddCategoryForLatestLandmarkL(*landmarkCategory);
+    CleanupStack::PopAndDestroy(landmarkCategory);
+    landmarkCategory = categoryManager->ReadCategoryLC(17);
+        
+    iLandmarkEncoder->AddCategoryForLatestLandmarkL(*landmarkCategory);
+    CleanupStack::PopAndDestroy(landmarkCategory);
+    
+    
+    globalCategoryId = categoryManager->GetGlobalCategoryL(24000);
+    if (globalCategoryId != KPosLmNullItemId)
+        {
+        landmarkCategory = categoryManager->ReadCategoryLC(globalCategoryId);
+        iLandmarkEncoder->AddCategoryForLatestLandmarkL(*landmarkCategory);
+        CleanupStack::PopAndDestroy(landmarkCategory);
+    }
+    else 
+    {
+    	iLog->Log(_L("Global category was not found3"));
+    	User::Leave(-1);
+    }
+
+    
+    globalCategoryId = categoryManager->GetGlobalCategoryL(27000);
+    if (globalCategoryId != KPosLmNullItemId)
+        {
+        landmarkCategory = categoryManager->ReadCategoryLC(globalCategoryId);
+        iLandmarkEncoder->AddCategoryForLatestLandmarkL(*landmarkCategory);
+        CleanupStack::PopAndDestroy(landmarkCategory);
+        }
+    else 
+    {
+    	iLog->Log(_L("Global category was not found4"));
+    	User::Leave(-1);
+    }
+
+    // 13) Add a landmark with fields that are encoded to XML set
+    lm1 = CreateXMLLandmarkLC(_L("TP43LandmarkWithAllXMLFields"));
+    AddAllXMLFieldsL(lm1);
+    iLandmarkEncoder->AddLandmarkL(*lm1);
+    iLandmarks.Append(lm1);
+    CleanupStack::Pop(lm1);
+
+    // 13) Add one global category  (Garage) to the latest added landmark
+    globalCategoryId = categoryManager->GetGlobalCategoryL(36000);
+    if (globalCategoryId != KPosLmNullItemId)
+        {
+        landmarkCategory = categoryManager->ReadCategoryLC(globalCategoryId);
+        iLandmarkEncoder->AddCategoryForLatestLandmarkL(*landmarkCategory);
+        CleanupStack::PopAndDestroy(landmarkCategory);
+    }
+    else 
+    {
+    	iLog->Log(_L("Global category was not found3"));
+    	User::Leave(-1);
+    }
+
+    // 14) Add one global category  (Bus stop) to the latest added landmark
+    globalCategoryId = categoryManager->GetGlobalCategoryL(39000);
+    if (globalCategoryId != KPosLmNullItemId)
+        {
+        landmarkCategory = categoryManager->ReadCategoryLC(globalCategoryId);
+        iLandmarkEncoder->AddCategoryForLatestLandmarkL(*landmarkCategory);
+        CleanupStack::PopAndDestroy(landmarkCategory);
+        }
+    else 
+    {
+    	iLog->Log(_L("Global category was not found4"));
+    	User::Leave(-1);
+    }
+
+    // 15) Add one category (BurgerKing) to the latest added landmark
+    landmarkCategory = categoryManager->ReadCategoryLC(17);
+        
+    iLandmarkEncoder->AddCategoryForLatestLandmarkL(*landmarkCategory);
+    CleanupStack::PopAndDestroy(landmarkCategory);
+
+    CleanupStack::PopAndDestroy(categoryManager);
+    iLog->Log(_L("CreateEncoderParts Done"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp43::PrintLandmarkIdFieldsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp43::PrintLandmarkIdFieldsL(const CPosLandmark& aLandmark)
+    {
+    TPositionFieldId sourceFieldId = aLandmark.FirstPositionFieldId();
+    TLocality loc;
+    TBuf<150> buf;    
+    TInt err = aLandmark.GetPosition(loc);
+    if (err == KErrNone)
+        {
+        TReal vertAcc(loc.VerticalAccuracy());
+        TReal horAcc(loc.HorizontalAccuracy());
+        TReal alt(loc.Altitude());
+        TReal lon = loc.Longitude();
+        TReal lat = loc.Latitude();
+        TReal32 sourceR;
+        err = aLandmark.GetCoverageRadius(sourceR);
+        if (err == KErrNone )
+            {
+            buf.Format(_L("LM: Long %f Lat %f vertAcc %f horAcc %f alt %f srcRadius %f"), lon, lat, vertAcc, horAcc, alt, sourceR);
+            }
+        else
+            {
+            buf.Format(_L("LM: Long %f Lat %f vertAcc %f horAcc %f alt %f "), lon, lat, vertAcc, horAcc, alt);
+            }
+        //iLog->Log(buf);
+        }
+
+    while (sourceFieldId != EPositionFieldNone)
+        {
+        TPtrC sourceValue;
+        aLandmark.GetPositionField(sourceFieldId, sourceValue);
+        buf.Format(_L("IdField Id: %d Value:"), sourceFieldId);
+        buf.Append(sourceValue);
+        //iLog->Log(buf);
+        sourceFieldId = aLandmark.NextPositionFieldId(sourceFieldId);
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp43::PrintParsedDataFromEncoderL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp43::PrintParsedDataFromEncoderL(const TDesC& aFile, const TDesC8&  aBuffer)
+    {
+    iLog->Log(_L("PrintParsedDataFromEncoderL"));
+
+    iLandmarkParser = CPosLandmarkParser::NewL(KLmxMimeType);
+
+    if (aFile != KNullDesC)
+        {
+        iLog->Log(_L("----->Using FILE<-------"));
+        iLandmarkParser->SetInputFileL(aFile);
+        }
+    else
+        {
+        iLog->Log(_L("----->Using BUFFER<-------"));
+        iLandmarkParser->SetInputBuffer(aBuffer);
+        }
+
+    iOperation = iLandmarkParser->ParseContentL();
+    TRequestStatus status = KPosLmOperationNotComplete;
+    TReal32 progress;
+    TInt number = 0;
+    
+    RArray<TPosLmItemId> array;
+    CleanupClosePushL(array);
+
+    while (status == KPosLmOperationNotComplete)
+        {
+        //iLog->Log(_L("------------------------------"));
+        iOperation->NextStep(status, progress);
+        
+        // Wait for NextStep to complete
+        User::WaitForRequest(status);
+        // Get last parsed landmark
+        CPosLandmark* lm = iLandmarkParser->LandmarkLC();
+        TPtrC lmName;
+        TPtrC catName;
+        lm->GetLandmarkName(lmName);
+        lm->GetCategoriesL(array);
+        //iLog->Log(lmName);
+        for (TInt i=0;i<array.Count();i++)
+            {
+            TBuf<150> buf;
+            CPosLandmarkCategory* category = iLandmarkParser->LandmarkCategoryLC(array[i]);
+
+            if (category->GlobalCategory()) buf.Append(_L("Global category: "));
+            else buf.Append(_L("Local category: "));
+            category->GetCategoryName(catName);
+            buf.Append(catName);
+            //iLog->Log(buf);
+            CleanupStack::PopAndDestroy(category);
+            }
+        PrintLandmarkIdFieldsL(*lm);
+        //iLog->Log(_L("---------->"));
+        PrintLandmarkIdFieldsL(*iLandmarks[number]);
+        //iLog->Log(_L("<----------"));
+        number++;
+        // CPosLmOperation::NextStep call will parse a new landmark.
+        CleanupStack::PopAndDestroy(lm);
+        }
+    
+    //iLog->Log(_L("------------------------------"));
+    CleanupStack::PopAndDestroy(&array);
+    
+    TPosLmCollectionDataId lmId = iLandmarkParser->FirstCollectionDataId();
+
+    //iLog->Log(_L("----->CollectionData"));
+
+    TBuf<100> buf;
+    if (lmId != EPosLmCollDataNone)
+        {
+        TPtrC first = iLandmarkParser->CollectionData(lmId);
+        buf.Format(_L("Collectiond Id: %d CollectionData: "), lmId);
+        buf.Append(first);
+        //iLog->Log(buf);
+        }
+    //else iLog->Log(_L("No collection data found 1"));
+    
+    while (lmId != EPosLmCollDataNone)
+        {
+        lmId = iLandmarkParser->NextCollectionDataId(lmId);
+        if (lmId != EPosLmCollDataNone)
+        {
+            TPtrC first = iLandmarkParser->CollectionData(lmId);
+            buf.Format(_L("Collectiond Id: %d CollectionData: "), lmId);
+            buf.Append(first);
+            //iLog->Log(buf);
+        }
+        //else iLog->Log(_L("No collection data found 2"));
+        }
+
+    //iLog->Log(_L("<-----CollectionData"));
+
+    delete iOperation;
+    iOperation = NULL;
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    iLog->Log(_L("PrintParsedDataFromEncoderL Done"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp43::ParseAndCheckDataFromEncoderL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp43::ParseAndCheckDataFromEncoderL(const TDesC& aFile , const TDesC& aCollectionName, 
+            const TDesC& aCollectiondDescription, const TDesC8&  aBuffer)
+    {
+    iLog->Log(_L("ParseAndCheckDataFromEncoderL"));
+
+    PrintParsedDataFromEncoderL(aFile, aBuffer);
+
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+
+    iLandmarkParser = CPosLandmarkParser::NewL(KLmxMimeType);
+
+    if (aFile != KNullDesC)
+        {
+        //iLog->Log(_L("----->Using FILE<-------"));
+        iLandmarkParser->SetInputFileL(aFile);
+        }
+    else
+        {
+        //iLog->Log(_L("----->Using BUFFER<-------"));
+        iLandmarkParser->SetInputBuffer(aBuffer);
+        }
+
+    iLog->Log(_L("ParseContentL"));
+    iOperation = iLandmarkParser->ParseContentL();
+    iLog->Log(_L("ParseContentL Done"));
+
+    TRequestStatus status = KPosLmOperationNotComplete;
+    TReal32 progress;
+    TInt number = 0;
+    
+    RArray<TPosLmItemId> array;
+    CleanupClosePushL(array);
+
+    // 1) Get the first landmark, "Billigt", no categories
+    iOperation->NextStep(status, progress);
+    // Wait for NextStep to complete
+    User::WaitForRequest(status);
+    // Get last parsed landmark
+    CPosLandmark* lm = iLandmarkParser->LandmarkLC();
+    lm->GetCategoriesL(array);
+    AssertTrueSecL(array.Count() == 0, _L("Wrong number of landmark categories"));   
+    iErrorsFound += CompareXMLLandmarksL(*iLandmarks[number++], *lm);
+    CleanupStack::PopAndDestroy(lm);
+
+    // 2) Get LOG9, included category Pizzeria
+    iOperation->NextStep(status, progress);
+    // Wait for NextStep to complete
+    User::WaitForRequest(status);
+    // Get last parsed landmark
+    lm = iLandmarkParser->LandmarkLC();
+    lm->GetCategoriesL(array);
+    AssertTrueSecL(array.Count() == 1, _L("Wrong number of landmark categories"));
+    iErrorsFound += CompareXMLLandmarksL(*iLandmarks[number++], *lm);
+    CPosLandmarkCategory* category = iLandmarkParser->LandmarkCategoryLC(array[0]);
+    CPosLandmarkCategory* cat = categoryManager->ReadCategoryLC(1);
+    iErrorsFound += CompareXMLCategoriesL(*cat, *category);
+    CleanupStack::PopAndDestroy(cat);
+    CleanupStack::PopAndDestroy(category);
+    CleanupStack::PopAndDestroy(lm);
+
+    // 3) Get Kalles Hundgård, included categories sjukhus, läkare, global Restaurant, Shop
+    iOperation->NextStep(status, progress);
+    // Wait for NextStep to complete
+    User::WaitForRequest(status);
+    // Get last parsed landmark
+    lm = iLandmarkParser->LandmarkLC();
+    lm->GetCategoriesL(array);
+    if (array.Count()!=4)
+        {
+        iLog->Log(_L("ERROR: Wrong number of landmark categories"));
+        iErrorsFound++;
+        }
+    iErrorsFound += CompareXMLLandmarksL(*iLandmarks[number++], *lm);
+
+    category = iLandmarkParser->LandmarkCategoryLC(array[0]);
+    cat = categoryManager->ReadCategoryLC(26);
+    iErrorsFound += CompareXMLCategoriesL(*cat, *category);
+    CleanupStack::PopAndDestroy(cat);
+    CleanupStack::PopAndDestroy(category);
+
+    category = iLandmarkParser->LandmarkCategoryLC(array[1]);
+    cat = categoryManager->ReadCategoryLC(25);
+    iErrorsFound += CompareXMLCategoriesL(*cat, *category);
+    CleanupStack::PopAndDestroy(cat);
+    CleanupStack::PopAndDestroy(category);
+
+    //Check global category "id=1 Restaurant" here
+    category = iLandmarkParser->LandmarkCategoryLC(array[2]);
+    cat = categoryManager->ReadCategoryLC(27);
+    iErrorsFound += CompareXMLCategoriesL(*cat, *category);
+    CleanupStack::PopAndDestroy(cat);
+    CleanupStack::PopAndDestroy(category);
+
+    //Check global category "id=5 Shop" here
+     if (array.Count()== 4)
+        {
+        category = iLandmarkParser->LandmarkCategoryLC(array[3]);
+        cat = categoryManager->ReadCategoryLC(31);//28
+        iErrorsFound += CompareXMLCategoriesL(*cat, *category);
+        CleanupStack::PopAndDestroy(cat);
+        CleanupStack::PopAndDestroy(category);
+        }
+
+    CleanupStack::PopAndDestroy(lm);
+
+    // 4) Get MLFW, no categories
+    iOperation->NextStep(status, progress);
+    // Wait for NextStep to complete
+    User::WaitForRequest(status);
+    // Get last parsed landmark
+    lm = iLandmarkParser->LandmarkLC();
+    lm->GetCategoriesL(array);
+    AssertTrueSecL(array.Count() == 0, _L("Wrong number of landmark categories"));
+    iErrorsFound += CompareXMLLandmarksL(*iLandmarks[number++], *lm);
+    CleanupStack::PopAndDestroy(lm);
+
+    // 5) Get Te, Lund category Frisör
+    iOperation->NextStep(status, progress);
+    // Wait for NextStep to complete
+    User::WaitForRequest(status);
+    // Get last parsed landmark
+    lm = iLandmarkParser->LandmarkLC();
+    lm->GetCategoriesL(array);
+    AssertTrueSecL(array.Count() == 1, _L("Wrong number of landmark categories"));
+    iErrorsFound += CompareXMLLandmarksL(*iLandmarks[number++], *lm);
+
+    category = iLandmarkParser->LandmarkCategoryLC(array[0]);
+    cat = categoryManager->ReadCategoryLC(18);
+    iErrorsFound += CompareXMLCategoriesL(*cat, *category);
+    CleanupStack::PopAndDestroy(cat);
+    CleanupStack::PopAndDestroy(category);
+    CleanupStack::PopAndDestroy(lm);
+
+    // 6) Get asdf, category Dagis, Burger King and global hotel, car park
+    iOperation->NextStep(status, progress);
+    // Wait for NextStep to complete
+    User::WaitForRequest(status);
+    // Get last parsed landmark
+    lm = iLandmarkParser->LandmarkLC();
+    lm->GetCategoriesL(array);
+    AssertTrueSecL(array.Count() == 4, _L("Wrong number of landmark categories"));
+    iErrorsFound += CompareXMLLandmarksL(*iLandmarks[number++], *lm);
+
+    category = iLandmarkParser->LandmarkCategoryLC(array[0]);
+    cat = categoryManager->ReadCategoryLC(23);
+    iErrorsFound += CompareXMLCategoriesL(*cat, *category);
+    CleanupStack::PopAndDestroy(cat);
+    CleanupStack::PopAndDestroy(category);
+
+    category = iLandmarkParser->LandmarkCategoryLC(array[1]);
+    cat = categoryManager->ReadCategoryLC(17);
+    iErrorsFound += CompareXMLCategoriesL(*cat, *category);
+    CleanupStack::PopAndDestroy(cat);
+    CleanupStack::PopAndDestroy(category);
+
+    //Check global category "id=4 Hotel" here
+    category = iLandmarkParser->LandmarkCategoryLC(array[2]);
+    cat = categoryManager->ReadCategoryLC(34);//39
+    iErrorsFound += CompareXMLCategoriesL(*cat, *category);
+    CleanupStack::PopAndDestroy(cat);
+    CleanupStack::PopAndDestroy(category);
+    
+    //Check global category "id=9 Car Park" here
+    category = iLandmarkParser->LandmarkCategoryLC(array[3]);
+    cat = categoryManager->ReadCategoryLC(35);//30
+    iErrorsFound += CompareXMLCategoriesL(*cat, *category);
+    CleanupStack::PopAndDestroy(cat);
+    CleanupStack::PopAndDestroy(category);
+    CleanupStack::PopAndDestroy(lm);
+
+    // 7) Get TP43LandmarkWithAllXMLFields, category Burger King and global Garage, Bus stop
+    iOperation->NextStep(status, progress);
+    // Wait for NextStep to complete
+    User::WaitForRequest(status);
+    // Get last parsed landmark
+    lm = iLandmarkParser->LandmarkLC();
+    lm->GetCategoriesL(array);
+    AssertTrueSecL(array.Count() == 3, _L("Wrong number of landmark categories"));
+    iErrorsFound += CompareXMLLandmarksL(*iLandmarks[number++], *lm);
+
+    //Check global category "id=4 Garage" here
+    category = iLandmarkParser->LandmarkCategoryLC(array[0]);
+     cat = categoryManager->ReadCategoryLC(38);//31
+    iErrorsFound += CompareXMLCategoriesL(*cat, *category);
+     CleanupStack::PopAndDestroy(cat);
+    CleanupStack::PopAndDestroy(category);
+
+    //Check global category "id=10 Bus Stop" here
+    category = iLandmarkParser->LandmarkCategoryLC(array[1]);
+    cat = categoryManager->ReadCategoryLC(39);//34
+    iErrorsFound += CompareXMLCategoriesL(*cat, *category);
+    CleanupStack::PopAndDestroy(cat);
+    CleanupStack::PopAndDestroy(category);
+
+    // Check local category here, burger king
+    category = iLandmarkParser->LandmarkCategoryLC(array[2]);
+    cat = categoryManager->ReadCategoryLC(17);
+    iErrorsFound += CompareXMLCategoriesL(*cat, *category);
+    CleanupStack::PopAndDestroy(cat);
+    CleanupStack::PopAndDestroy(category);
+    
+    CleanupStack::PopAndDestroy(lm);
+
+    // Check that correct number of landmarks has been parsed
+    if (number != KNrOfAddedLandmarks)
+    {
+    	iLog->Log(_L("Wrong number of landmarks parsed"));
+    	User::Leave(-1);
+    }
+    TUint32 nr = iLandmarkParser->NumOfParsedLandmarks();
+    if ((TInt)nr != KNrOfAddedLandmarks) 
+    {
+    	iLog->Log(_L("Wrong number of landmarks parsed"));
+    	User::Leave(-1);	
+    }
+
+    CleanupStack::PopAndDestroy(&array);
+
+    TPosLmCollectionDataId lmId = iLandmarkParser->FirstCollectionDataId();
+    // Check that collection data and name is correct
+    if (lmId == EPosLmCollDataCollectionName)
+        {
+        TPtrC first = iLandmarkParser->CollectionData(lmId);
+        if (aCollectionName != first)
+            {
+            
+            iLog->Log(_L("CollectionName does not match"));
+    		User::Leave(-1);	
+            }
+        }
+    else if (lmId == EPosLmCollDataNone)
+        {
+        if (aCollectionName != KNullDesC)
+            {
+            iLog->Log(_L("ERROR: CollectionName should be defined"));
+            iErrorsFound++;
+            }
+        }
+    else 
+    {
+    iLog->Log(_L("Wrong order of collection data1"));
+    User::Leave(-1);	
+    }
+
+    lmId = iLandmarkParser->NextCollectionDataId(lmId);
+
+    if (lmId == EPosLmCollDataCollectionDescription)
+        {
+        TPtrC first = iLandmarkParser->CollectionData(lmId);
+        if (aCollectiondDescription != first)
+            {
+            
+            iLog->Log(_L("CollectionDescription does not match"));
+            User::Leave(-1);
+            }
+        }
+    else if (lmId == EPosLmCollDataNone)
+        {
+        if (aCollectiondDescription != KNullDesC)
+            {
+            
+            iLog->Log(_L(" CollectionDescription should be defined"));
+            User::Leave(KErrNone);
+            }
+        }
+    else 
+    {
+    	iLog->Log(_L("Wrong order of collection data2 "));
+          User::Leave(-1);	
+    }
+    
+    // Test with some non existing ids
+    lmId = iLandmarkParser->NextCollectionDataId((TPosLmCollectionDataId)66700);
+    if (lmId != EPosLmCollDataNone)
+        {
+        iLog->Log(_L("ERROR: No collection data should be found"));
+        iErrorsFound++;
+        }
+        
+    TPtrC empty = iLandmarkParser->CollectionData((TPosLmCollectionDataId)66700);
+    if (empty != KNullDesC)
+        {
+        iLog->Log(_L("ERROR: CollectionData should be emtpy"));
+        iErrorsFound++;
+        }
+    
+    delete iOperation;
+    iOperation = NULL;
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+
+    CleanupStack::PopAndDestroy(categoryManager);
+    iLandmarks.ResetAndDestroy();
+
+    iLog->Log(_L("ParseAndCheckDataFromEncoderL Done"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp43::CompareTwoFilesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp43::CompareTwoFilesL(const TDesC16&  aCorrectFile, const TDesC16&  aFile)
+{
+    iLog->Log(_L("ComparingTwoFilesL"));
+    // Now compare tha trace file against the correct one
+    RFile correctFile;
+    RFile file;
+    
+    TBuf<150> buf;
+    buf.Append(_L("Comparing files "));
+    buf.Append(aCorrectFile);
+    buf.Append(_L(" and "));
+    buf.Append(aFile);
+    iLog->Log(buf);
+
+    CleanupClosePushL(correctFile);
+    CleanupClosePushL(file);
+    TInt err = KErrNone;
+    err = correctFile.Open(iFileSession, aCorrectFile,  EFileRead);
+    if (err != KErrNone)
+    {
+    	iLog->Log(_L(" Problem with correct file"));
+        User::Leave(err);
+    }
+    err = file.Open(iFileSession, aFile,  EFileRead);
+    if (err != KErrNone) 
+    {
+    	iLog->Log(_L(" Problem with encoded XML file"));
+        User::Leave(err);
+    }
+
+    TBuf<KBufSize> correctLine;
+    TBuf<KBufSize> line;
+    TBool done = EFalse;
+    TInt lineNr = 0;
+
+    while (ReadLn(correctFile, correctLine) != KErrEof && !done)
+        {
+        lineNr++;
+        err = ReadLn(file, line);
+        if (err == KErrEof) done = ETrue;
+
+        if (correctLine.CompareC(line) != KErrNone)
+            {
+            TBuf<50> buffe;
+            buffe.Format(_L("ERROR in XML file on line %d: "), lineNr);
+            iLog->Log(buffe);
+            iLog->Log(correctLine);
+            iLog->Log(line);
+            iErrorsFound++;
+            }
+        }
+
+    // EOF for trace file was reach before EOF in the correct file
+    if (done) 
+        {
+        iLog->Log(_L("ERROR: EOF for Trace file was reached to early"));
+        iErrorsFound++;
+        }
+
+    CleanupStack::PopAndDestroy(&file);
+    CleanupStack::PopAndDestroy(&correctFile);
+    }
+
+// ---------------------------------------------------------
+// CPosTp43::TestLongCollectionFieldsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp43::TestLongCollectionFieldsL(TBool aUseFile)
+    {
+    iLog->Log(_L("TestLongCollectionFieldsL"));
+    // 1) Create an encoder object
+    iLandmarkEncoder = CPosLandmarkEncoder::NewL(KLmxMimeType);
+    CBufBase* myEncoderBuffer = NULL;
+    HBufC8* filecontent = NULL;
+
+    if (aUseFile)
+        {
+        // 2) Use file for encoding, set output file
+        iLandmarkEncoder->SetOutputFileL(KFileLongCollectionFieldName);
+        }
+    else
+        {
+        // 2) Use buffer for encoding
+        myEncoderBuffer = iLandmarkEncoder->SetUseOutputBufferL();
+        CleanupStack::PushL(myEncoderBuffer);
+        }
+
+    // 300 characters
+    _LIT(KLongFieldName, "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890");
+    _LIT(KLongFieldDescription, "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890");
+
+    iLandmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionName, KLongFieldName);
+    iLandmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionDescription, KLongFieldDescription);
+    
+    iLog->Log(_L("Create Data..."));
+    // 3) Add one landmark to be encoded (id7 name "Billigt" in categories 1-3,14-17)
+    CPosLandmark* lm1 = iDatabase->ReadLandmarkLC(7);
+    iLandmarkEncoder->AddLandmarkL(*lm1);
+    // Remove field 408 which is not exported
+    lm1->RemovePositionField(408);
+    iLandmarks.Append(lm1);
+    CleanupStack::Pop(lm1);
+    // 4) Add one more landmark to be encoded (id27 "LOG9" in categories 11-17)
+    CPosLandmark* lm2 = iDatabase->ReadLandmarkLC(27);
+    iLandmarkEncoder->AddLandmarkL(*lm2);
+    // Remove field 408 which is not exported
+    lm2->RemovePositionField(408);
+    iLandmarks.Append(lm2);
+    CleanupStack::Pop(lm2);
+
+    // 5) Add one category (pizzeria) to the latest added landmark
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+    CPosLandmarkCategory* landmarkCategory = categoryManager->ReadCategoryLC(1);
+        
+    iLandmarkEncoder->AddCategoryForLatestLandmarkL(*landmarkCategory);
+    CleanupStack::PopAndDestroy(landmarkCategory);
+    CleanupStack::PopAndDestroy(categoryManager);
+
+    // 6) Finalize encoding
+    iLog->Log(_L("FinalizeEncodingL"));
+    ExecuteAndDeleteLD(iLandmarkEncoder->FinalizeEncodingL());
+    iLog->Log(_L("FinalizeEncodingL Done"));
+
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+
+    // Check data
+    iLandmarkParser = CPosLandmarkParser::NewL(KLmxMimeType);
+    if (aUseFile)
+        {
+        iLog->Log(_L("----->Using FILE<-------"));
+        iLandmarkParser->SetInputFileL(KFileLongCollectionFieldName);
+        }
+    else
+        {
+        iLog->Log(_L("----->Using BUFFER<-------"));
+        filecontent = HBufC8::NewLC(myEncoderBuffer->Size());
+        TPtr8 ptr = filecontent->Des();
+        myEncoderBuffer->Read(0, ptr, myEncoderBuffer->Size());
+        iLandmarkParser->SetInputBuffer(*filecontent);
+        ptr.Zero();
+        }
+
+    iLog->Log(_L("ParseContentL"));
+    iOperation = iLandmarkParser->ParseContentL();
+    iLog->Log(_L("ParseContentL Done"));
+
+    TRequestStatus status = KPosLmOperationNotComplete;
+    TReal32 progress;
+    TInt number = 0;
+    
+    RArray<TPosLmItemId> array;
+    CleanupClosePushL(array);
+
+    // 1) Get the first landmark, "Billigt", no categories
+    iOperation->NextStep(status, progress);
+    // Wait for NextStep to complete
+    User::WaitForRequest(status);
+    // Get last parsed landmark
+    CPosLandmark* lm = iLandmarkParser->LandmarkLC();
+    lm->GetCategoriesL(array);
+    AssertTrueSecL(array.Count() == 0, _L("Wrong number of landmark categories"));   
+    iErrorsFound += CompareXMLLandmarksL(*iLandmarks[number++], *lm);
+    CleanupStack::PopAndDestroy(lm);
+
+    iLog->Log(_L("----->CollectionData"));
+    TPosLmCollectionDataId lmId = iLandmarkParser->FirstCollectionDataId();
+    // First should be name
+    TPtrC first = iLandmarkParser->CollectionData(lmId);
+    if (first.Compare(KLongFieldName) != KErrNone)
+        {
+        iLog->Log(_L("ERROR: Wrong name!!"));
+        iErrorsFound++;
+        }
+
+    lmId = iLandmarkParser->NextCollectionDataId(lmId);
+    TPtrC next = iLandmarkParser->CollectionData(lmId);
+    if (next.Compare(KLongFieldDescription) != KErrNone)
+        {
+        iLog->Log(_L("ERROR: Wrong description!!"));
+        iErrorsFound++;
+        }
+
+    lmId = iLandmarkParser->NextCollectionDataId(lmId);
+    if (lmId != EPosLmCollDataNone)
+        {
+        iLog->Log(_L("ERROR: Wrong description!!"));
+        iErrorsFound++;
+        }
+
+
+    iLog->Log(_L("<-----CollectionData"));
+    CleanupStack::PopAndDestroy(&array);
+    if (!aUseFile)
+        {
+        CleanupStack::PopAndDestroy(filecontent);
+        myEncoderBuffer->Reset();
+        CleanupStack::PopAndDestroy(myEncoderBuffer);
+        }
+
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+
+    delete iOperation;
+    iOperation = NULL;
+
+    iLandmarks.ResetAndDestroy();
+    iLog->Log(_L("TestLongCollectionFieldsL Done"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp43::TestErrorScenariosL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp43::TestErrorScenariosL()
+    {
+    iLog->Log(_L("TestErrorScenariosL"));
+
+    TInt err = KErrNone;
+    TRAP(err, ErrorScenario1L());
+    if (err != KErrAlreadyExists) //LogErrorAndLeave(_L("ErrorScenario1L did not leave with error KErrAlreadyExists"));
+    {
+    	iLog->Log(_L(" ErrorScenario1L did not leave with error KErrAlreadyExists"));
+        User::Leave(err);
+    }
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+    DeleteFileL(KErrorTestFileName);
+
+    ErrorScenario2L();
+    DeleteFileL(KErrorTestFileName);
+
+    TRAP(err, ErrorScenario3L());
+    if (err != KErrAlreadyExists)// LogErrorAndLeave(_L("ErrorScenario3L did not leave with error KErrAlreadyExists"));
+    {
+    	iLog->Log(_L(" ErrorScenario3L did not leave with error KErrAlreadyExists"));
+        User::Leave(err);
+    }
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+    DeleteFileL(KErrorTestFileName);
+
+    TRAP(err, ErrorScenario4L());
+    if (err != KErrNone) 
+        {
+        iLog->Log(_L("ERROR: Adding meta data \"out-of-range\" should be silently ignored, instead leave error"));
+        iErrorsFound++;
+        }
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+    DeleteFileL(KErrorTestFileName);
+
+    ErrorScenario5L();
+
+    }
+
+// ---------------------------------------------------------
+// CPosTp43::ErrorScenario1L
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp43::ErrorScenario1L()
+    {
+    iLog->Log(_L("ErrorScenario1L"));
+
+    // 1) Create an encoder object
+    iLandmarkEncoder = CPosLandmarkEncoder::NewL(KLmxMimeType);
+    
+    RFile file;
+    CleanupClosePushL(file);
+
+    // Make sure that file exist
+    TInt err = file.Replace(iFileSession, KErrorTestFileName, EFileShareAny);
+    if (err != KErrNone) 
+    {
+    	iLog->Log(_L("Error when replacing file "));
+        User::Leave(err);
+    }
+
+    CleanupStack::PopAndDestroy(&file);
+
+    // 2) Use file for encoding, set output file should leave
+    iLandmarkEncoder->SetOutputFileL(KErrorTestFileName);
+
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+}
+
+// ---------------------------------------------------------
+// CPosTp43::ErrorScenario2L
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp43::ErrorScenario2L()
+    {
+    iLog->Log(_L("ErrorScenario2L"));
+
+    // 1) Create an encoder object
+    iLandmarkEncoder = CPosLandmarkEncoder::NewL(KLmxMimeType);
+    // 2) Use file for encoding, set output file
+    DeleteFileL(KErrorTestFileName);
+    iLandmarkEncoder->SetOutputFileL(KErrorTestFileName);
+    
+    RFile file;
+    CleanupClosePushL(file);
+
+    // Make sure that file exist
+    TInt err = file.Open(iFileSession, KErrorTestFileName, EFileShareAny);
+    if (err != KErrInUse) //LogErrorAndLeave(_L("File should not be able to open"));
+    {
+    	iLog->Log(_L("File should not be able to open"));
+        User::Leave(err);
+    }
+
+    CleanupStack::PopAndDestroy(&file);
+
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+}
+
+// ---------------------------------------------------------
+// CPosTp43::ErrorScenario3L
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp43::ErrorScenario3L()
+    {
+    iLog->Log(_L("ErrorScenario3L"));
+
+    // 1) Create an encoder object
+    iLandmarkEncoder = CPosLandmarkEncoder::NewL(KLmxMimeType);
+    // 2) Use file for encoding, set output file
+    DeleteFileL(KErrorTestFileName);
+    iLandmarkEncoder->SetOutputFileL(KErrorTestFileName);
+    
+    // AddCollectionDataL(id) with same id twice should leave
+    iLandmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionDescription, _L("A yada yada collextion of landmarks"));
+    iLandmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionDescription, _L("Another yada yada collextion of landmarks"));
+
+    // We should never get here
+    iLog->Log(_L("FinalizeEncodingL"));
+    ExecuteAndDeleteLD(iLandmarkEncoder->FinalizeEncodingL());
+    iLog->Log(_L("FinalizeEncodingL Done"));
+
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+}
+
+// ---------------------------------------------------------
+// CPosTp43::ErrorScenario4L
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp43::ErrorScenario4L()
+    {
+    iLog->Log(_L("ErrorScenario4L"));
+
+    // 1) Create an encoder object
+    iLandmarkEncoder = CPosLandmarkEncoder::NewL(KLmxMimeType);
+    // 2) Use file for encoding, set output file
+    DeleteFileL(KErrorScenario4File);
+    iLandmarkEncoder->SetOutputFileL(KErrorScenario4File);
+
+    iLandmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionName, _L("A yada yada name for landmarks"));
+    iLandmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionDescription, _L("A yada yada description for landmarks"));
+    
+    // Will be silently ignored
+    iLandmarkEncoder->AddCollectionDataL((TPosLmCollectionDataId)5, _L("A dummy string"));
+
+    TInt pos = EPosLmCollDataContentSpecificDataBegin;
+    _LIT(KFormatString, "Dummmmmmmmmmmy string: %d");
+    TBuf<100> buf;
+
+    for (TInt i=0;i<10;i++)
+        {
+        buf.Format(KFormatString, pos);
+        iLog->Log(buf);
+        // Will be silently ignored
+        iLandmarkEncoder->AddCollectionDataL((TPosLmCollectionDataId)pos, buf);
+        pos++;
+        }
+
+    // Will be silently ignored
+    iLog->Log(_L("Adding the last meta data collection allowed"));
+    iLandmarkEncoder->AddCollectionDataL(EPosLmCollDataLast, _L("The last dummy string"));
+    iLog->Log(_L("After adding the last meta data collection allowed"));
+
+    CPosLandmark* lm1 = iDatabase->ReadLandmarkLC(7);
+    iLandmarkEncoder->AddLandmarkL(*lm1);
+    CleanupStack::PopAndDestroy(lm1);
+
+    iLog->Log(_L("FinalizeEncodingL"));
+    ExecuteAndDeleteLD(iLandmarkEncoder->FinalizeEncodingL());
+    iLog->Log(_L("FinalizeEncodingL Done"));
+    
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+}
+
+// ---------------------------------------------------------
+// CPosTp43::ErrorScenario5L
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp43::ErrorScenario5L()
+    {
+    iLog->Log(_L("ErrorScenario5L"));
+
+    // 1) Create an encoder object
+    iLandmarkEncoder = CPosLandmarkEncoder::NewL(KLmxMimeType);
+    // 2) Use file for encoding, set output file
+    DeleteFileL(KErrorScenario5File);
+    iLandmarkEncoder->SetOutputFileL(KErrorScenario5File);
+
+    iLandmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionName, _L("A yada yada name for landmarks"));
+    iLandmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionDescription, _L("</lm:lmx>"));
+   
+    CPosLandmark* lm1 = CreateXMLLandmarkLC(_L("</lm:lmx>"));
+    iLandmarkEncoder->AddLandmarkL(*lm1);
+    CleanupStack::PopAndDestroy(lm1);
+
+    lm1 = CreateXMLLandmarkLC(_L("</lm:lmx>"));
+    iLandmarkEncoder->AddLandmarkL(*lm1);
+    CleanupStack::PopAndDestroy(lm1);
+    
+    iLog->Log(_L("FinalizeEncodingL"));
+    ExecuteAndDeleteLD(iLandmarkEncoder->FinalizeEncodingL());
+    iLog->Log(_L("FinalizeEncodingL Done"));
+
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+}
+
+// ---------------------------------------------------------
+// CPosTp43::TestWithLongFileNameL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp43::TestWithLongFileNameL()
+    {
+    iLog->Log(_L("TestWithLongFileNameL"));
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+    // 1) Create an encoder object
+    iLandmarkEncoder = CPosLandmarkEncoder::NewL(KLmxMimeType);
+    TInt errorsFound = KErrNone;
+    
+    // 2) Set file with long filename (more than 255 characters)
+    TRAPD(err, iLandmarkEncoder->SetOutputFileL(KLongFileName));
+  
+    
+    
+   if ( err != KErrBadName ) 
+        {
+        TBuf<100> buf;    
+        buf.Format(_L("ERROR: SetInputFileL should leave with KErrBadName, instead err: %d"), err);  
+        iLog->Log(buf);
+        iErrorsFound++;        
+        }
+
+    
+    // 3) Set file to 0 characters
+    TRAP(err, iLandmarkEncoder->SetOutputFileL(KEmptyFileName));
+    if (err != KErrBadName) 
+        {
+        TBuf<100> buf;
+        buf.Format(_L("ERROR: SetOutputFileL(KEmptyFileName) should leave with KErrBadName, instead err: %d"), err);
+        iLog->Log(buf);
+        errorsFound++;
+        }
+    
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+    
+    // Try to create an encoder with the long file name, should leave with KErrNotSupported
+    TRAP(err, CPosLandmarkEncoder::NewL(KLongMimeType));
+    if (err != KErrNotSupported) 
+    {
+    	iLog->Log(_L("CPosLandmarkEncoder::NewL should leave with KErrNotSupported"));
+        User::Leave(err);
+    }
+    
+    if (errorsFound != KErrNone) 
+    {
+    iLog->Log(_L("SetOutputFileL leaved with wrong error code"));
+     User::Leave(-1);	
+
+	}
+    
+    
+        
+    }
+    
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp44.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,730 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp44.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLMCategoryManager.h>
+#include <EPos_CPosLandmarkEncoder.h>
+#include <e32std.h>
+#include <bautils.h>
+
+_LIT8(KNonExistingMimeType1, "Application/vnd.nokia.landmarkcollection+xml");
+_LIT8(KNonExistingMimeType2, "application/vnd.nokia.kokoibollen");
+_LIT8(KEmptyMimeType, "");
+_LIT(KFileName, "c:\\documents\\SomeDummyFile.xml");
+_LIT(KFileName2, "c:\\documents\\SomeDummyFile2.xml");
+_LIT(KFileName3, "c:\\documents\\SomeDummyFile3.xml");
+_LIT(KFileName4, "c:\\documents\\SomeDummyFile4.xml");
+_LIT(KFileName5, "c:\\documents\\SomeDummyFile5.xml");
+_LIT(KFileName6, "c:\\documents\\SomeDummyFile6.xml");
+_LIT(KFileName7, "c:\\documents\\SomeDummyFile7.xml");
+_LIT(KFileName8, "c:\\documents\\SomeDummyFile8.xml");
+_LIT(KFileName9, "c:\\documents\\SomeDummyFile9.xml");
+_LIT(KFileName9a, "c:\\documents\\SomeDummyFile9a.xml");
+_LIT(KFileName10, "c:\\documents\\SomeDummyFile10.xml");
+_LIT(KFileName11, "c:\\documents\\SomeDummyFile11.xml");
+_LIT(KFileName12, "c:\\documents\\SomeDummyFile12.xml");
+_LIT(KFileName13, "c:\\documents\\SomeDummyFile13.xml");
+_LIT(KFileName14, "c:\\documents\\SomeDummyFile14.xml");
+_LIT(KFileName15, "c:\\documents\\SomeDummyFile15.xml");
+_LIT(KFileName16, "c:\\documents\\SomeDummyFile16.xml");
+_LIT(KFileName17, "c:\\documents\\SomeDummyFile17.xml");
+_LIT(KFileName18, "c:\\documents\\SomeDummyFile18.xml");
+
+
+
+// More than 255 characters
+_LIT(KLongFileName, "c:\\SomeDummeFilewithVeryLongVeryLongVeryLongVeryLongVeryLongVeryLongVeryLongVeryLongVeryLongVeryLongVeryLongVeryLongVeryLongVeryLongVeryLongVeryLongVeryLongVeryLongVeryLongVeryLongVeryLongVeryLongVeryLongVeryLongVeryLongVeryLongVeryLongVeryLongFileName.xml");
+
+// ================= MEMBER FUNCTIONS =======================
+
+
+// ---------------------------------------------------------
+// CPosTp44::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp44::StartL()
+    {
+
+    BaflUtils::EnsurePathExistsL( iFileSession, KFileName );
+    
+    MakeSurePanicDebugFileExistsL();
+    // Use same lm db as in composite search test
+    iDatabase = UseCompositeLandmarksDbFileL();   
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+
+    delete iDatabase;
+    iDatabase = NULL;
+    iDatabase = CPosLandmarkDatabase::OpenL();
+    	
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+    // Do reset so that global categories are included
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);   
+    ExecuteAndDeleteLD(categoryManager->ResetGlobalCategoriesL());
+    CleanupStack::PopAndDestroy(categoryManager);
+
+    // <<<<<<<<<<<<<<Panic testing below>>>>>>>>>>>>>>>>>>>
+    iLog->Log(_L(">>>>>>>Start Panic test<<<<<<<<<"));
+       
+    iExpectedExitType = ExitPanic;
+    // Add collection data after landmarks has been added to encoder
+    iLog->Log(_L("Panic test 1"));
+//    DeleteFileL(KFileName);
+    iTestCase = 1;
+    iExpectedErrorCode = EPosLmProtocolBreak;
+    ResumeThreadAndVerifyExit();
+
+    // Add collection data after landmarks has been added to encoder
+    iLog->Log(_L("Panic test 2"));
+    //DeleteFileL(KFileName);
+    iTestCase = 2;
+    iExpectedErrorCode = EPosLmProtocolBreak;
+    ResumeThreadAndVerifyExit();
+
+    // Try to use encoder after finalization
+    iLog->Log(_L("Panic test 3"));
+    //DeleteFileL(KFileName);
+    iTestCase = 3;
+    iExpectedErrorCode = EPosLmProtocolBreak;
+    ResumeThreadAndVerifyExit();
+
+    // 4 The client deletes the operation object before the encoding has been 
+    // finalized and then tries to use the encoder object.Should cause Panic and FileLock should have been released
+    iLog->Log(_L("Panic test 4"));
+    //DeleteFileL(KFileName);
+    iTestCase = 4;
+    iExpectedErrorCode = EPosLmProtocolBreak;
+    ResumeThreadAndVerifyExit();
+    // Check that fileLock has been released
+    RFile file;
+    CleanupClosePushL(file);
+    // Make sure that file exist
+    TInt err = file.Open(iFileSession, KFileName, EFileShareAny);
+    if (err != KErrNone) //LogErrorAndLeave(_L("File should be able to open"));
+    {
+    iLog->Log(_L("File should be able to open"));
+    User::Leave(err);
+
+    }
+    CleanupStack::PopAndDestroy(&file);
+    iLog->Log(_L("FileLock has been released"));
+
+    // 5 The client tries to specify a collection id already added. Should cause a leave with -11
+    iLog->Log(_L("Leave test 5"));
+//    DeleteFileL(KFileName);
+    iTestCase = 5;
+    iExpectedExitType = ExitLeave;
+    iExpectedErrorCode = KErrAlreadyExists;
+    ResumeThreadAndVerifyExit();
+
+    // 6 The client tries to specify a mime type that does not exist. Should cause a leave with KErrNotSupported
+    iLog->Log(_L("Leave test 6"));
+//    DeleteFileL(KFileName);
+    iTestCase = 6;
+    iExpectedExitType = ExitLeave;
+    iExpectedErrorCode = KErrNotSupported;
+    ResumeThreadAndVerifyExit();
+    
+    // 7 The client tries to specify a output file that already exists. Shoule leave with KErrAlreadyExists
+    iLog->Log(_L("Leave test 7"));
+    iTestCase = 7;
+    iExpectedExitType = ExitLeave;
+    iExpectedErrorCode = KErrAlreadyExists;
+    ResumeThreadAndVerifyExit();
+
+    // 8 The client only specifies a collection and then finalize the encoding.
+    iLog->Log(_L("Panic test 8"));
+//    DeleteFileL(KFileName);
+    iTestCase = 8;
+    iExpectedExitType = ExitPanic;
+    iExpectedErrorCode = EPosLmProtocolBreak;
+    ResumeThreadAndVerifyExit();
+
+    // 9a Export landmark with nonexisting id (positive id), should leave with KErrNotFound
+    iLog->Log(_L("Panic test 9a"));
+//    DeleteFileL(KFileName);
+    iTestCase = 9;
+    iExpectedExitType = ExitLeave;
+    iExpectedErrorCode = KErrNotFound;
+    ResumeThreadAndVerifyExit();
+
+    // 9b Export landmark with nonexisting id (negative id), should leave with KErrNotFound
+    iLog->Log(_L("Leave test 9b"));
+//    DeleteFileL(KFileName);
+    iTestCase = 10;
+    iExpectedExitType = ExitLeave;
+    iExpectedErrorCode = KErrNotFound;
+    ResumeThreadAndVerifyExit();
+
+    // 10 Delete export object before completion and then finalize
+    iLog->Log(_L("Leave test 10"));
+//    DeleteFileL(KFileName);
+    iTestCase = 11;
+    iExpectedExitType = ExitPanic;
+    iExpectedErrorCode = EPosLmProtocolBreak;
+    iExpectedExitType = ExitLeave;
+    iExpectedErrorCode = KErrNone;
+    ResumeThreadAndVerifyExit();
+
+    // 11 The client creates an encoder and by using the Landmark API 
+    // tries to export landmarks with invalid transfer option. Should cause Panic
+    iLog->Log(_L("Panic test 11"));
+//    DeleteFileL(KFileName);
+    iTestCase = 12;
+    iExpectedExitType = ExitPanic;
+    iExpectedErrorCode = EPosLmInvalidArgument;
+    ResumeThreadAndVerifyExit();
+
+    // 12 The client creates an encoder by using the file option and 
+    // adds some landmarks but instead of finalizing the encoding a new file is set.
+    iLog->Log(_L("Leave test 12"));
+//    DeleteFileL(KFileName);
+//    DeleteFileL(KFileName2);
+    iTestCase = 13;
+    iExpectedExitType = ExitLeave;
+    iExpectedErrorCode = KErrNone;
+    ResumeThreadAndVerifyExit();
+
+    // 13 The client creates an encoder by using the file option and 
+    // adds a collection data with EPosLmCollDataNone, should Panic with EPosLmInvalidArgument
+    iLog->Log(_L("Leave test 13"));
+//    DeleteFileL(KFileName);
+//    DeleteFileL(KFileName2);
+    iTestCase = 14;
+    iExpectedExitType = ExitPanic;
+    iExpectedErrorCode = EPosLmInvalidArgument;
+    ResumeThreadAndVerifyExit();
+
+    // 14 The client tries to specify a mime type that does not exist. Should cause a leave with KErrNotSupported
+    // the mime type name is similar to KLmxMimeType but contains capital letters
+    iLog->Log(_L("Leave test 14"));
+//    DeleteFileL(KFileName);
+    iTestCase = 15;
+    iExpectedExitType = ExitLeave;
+    iExpectedErrorCode = KErrNotSupported;
+    ResumeThreadAndVerifyExit();
+    
+    // 15 The client creates an encoder and by using the Landmark API 
+    // tries to export landmarks with invalid transfer option. Should cause Panic
+    iLog->Log(_L("Panic test 15"));
+//    DeleteFileL(KFileName);
+    iTestCase = 16;
+    iExpectedExitType = ExitPanic;
+    iExpectedErrorCode = EPosLmInvalidArgument;
+    ResumeThreadAndVerifyExit();
+    
+    // 16 Export landmark with empty subset of ids, should leave with KErrArgument
+    iLog->Log(_L("Leave test 16"));
+//    DeleteFileL(KFileName);
+    iTestCase = 17;
+    iExpectedExitType = ExitLeave;
+    iExpectedErrorCode = KErrArgument;
+    ResumeThreadAndVerifyExit();
+
+#if 0
+    // 17 Try to create encoder with empty mime type
+    // TE: the REComSession::CreateImplementationL( leaves with KErrArgument which I think is acceptable
+    // Nokia: This is not part of API definition, case removed
+    iLog->Log(_L("Leave test 17"));
+//    DeleteFileL(KFileName);
+    iTestCase = 18;
+    iExpectedExitType = ExitLeave;
+    iExpectedErrorCode = KErrArgument;
+    ResumeThreadAndVerifyExit();
+#endif    
+
+#ifdef __WINS__    
+    // 18 Try to create encoder with a very long file name and export one landmark
+    iLog->Log(_L("Leave test 18"));
+    iTestCase = 19;
+
+    iExpectedExitType = ExitLeave;
+    iExpectedErrorCode = KErrBadName;
+
+    ResumeThreadAndVerifyExit();
+#endif    
+    iLog->Log(_L(">>>>>>>Panic test Done<<<<<<<<<"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp44::ResumeThreadAndVerifyExit
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp44::ResumeThreadAndVerifyExit()
+    {
+    iLog->Log(_L("ResumeThreadAndVerifyExit"));
+    _LIT(KPanicErr, "Method didn't Panic when expected"); 
+    _LIT(KPanicCodeErr, "Paniced with unexpected panic code");
+    _LIT(KLeaveErr, "Method didn't end correctly"); 
+    _LIT(KLeaveCodeErr, "Unexpected leave error");
+
+    CreateThreadL();
+    TRequestStatus status;
+    iThread.Logon(status);
+    iThread.Resume();
+    User::WaitForRequest(status);
+        
+    
+    // Used for debugging
+    TBuf<100> buf;
+    buf.Format(_L("ExitType %d Exit reason %d"), iThread.ExitType(), iThread.ExitReason());
+    iLog->Log(buf);
+
+    if (iExpectedExitType == ExitPanic)
+        {
+        AssertTrueSecL(iThread.ExitType() == EExitPanic, KPanicErr);
+        AssertTrueSecL(iThread.ExitReason() == iExpectedErrorCode, KPanicCodeErr);
+        }
+    else if (iExpectedExitType == ExitLeave)
+        {
+        AssertTrueSecL(iThread.ExitType() == EExitKill, KLeaveErr);
+        AssertTrueSecL(iThread.ExitReason() == iExpectedErrorCode, KLeaveCodeErr);
+        }
+       
+    iThread.Close();
+    }
+
+// ---------------------------------------------------------
+// CPosTp44::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp44::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+    iThread.Close();
+
+    delete iDatabase;
+    iDatabase = NULL;
+    
+    iLog->Log(_L("CloseTest Done"));
+	}
+
+// ---------------------------------------------------------
+// CPosTp44::DeleteEncoderCallback
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//	
+TInt CPosTp44::DeleteEncoderCallback(TAny* aSelf)
+	{
+	CPosLandmarkEncoder* encoder = static_cast<CPosLandmarkEncoder*>(aSelf);
+	delete encoder;
+	return 0;
+	}
+	
+// ---------------------------------------------------------
+// CPosTp44::RunPanicTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+void CPosTp44::RunPanicTestL(TAny* aData)
+    {
+    CPosTp44* self = reinterpret_cast<CPosTp44*>(aData);
+
+     if (self->iTestCase == 1)
+        {
+        CPosLandmarkDatabase* database = self->OpenDatabaseLC();
+        CPosLandmarkEncoder *landmarkEncoder = CPosLandmarkEncoder::NewL(KLmxMimeType);
+        landmarkEncoder->SetOutputFileL(KFileName);
+        // Add landmark to be encoded
+        CPosLandmark* lm = database->ReadLandmarkLC(1);
+        landmarkEncoder->AddLandmarkL(*lm);
+        CleanupStack::PopAndDestroy(lm);
+        // Add one more landmark to be encoded
+        lm = database->ReadLandmarkLC(2);
+        landmarkEncoder->AddLandmarkL(*lm);
+        CleanupStack::PopAndDestroy(lm);
+        // Add collection data after that landmarks has been added, should cause Panic
+        landmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionName, _L("TP44CollectionDataName"));
+        CleanupStack::PopAndDestroy(landmarkEncoder);
+        CleanupStack::PopAndDestroy(database);
+        }
+     else if (self->iTestCase == 2)
+        {
+        CPosLandmarkDatabase* database = self->OpenDatabaseLC();
+        CPosLandmarkEncoder* landmarkEncoder = CPosLandmarkEncoder::NewL(KLmxMimeType);
+        landmarkEncoder->SetOutputFileL(KFileName3);
+        CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*database);
+        CleanupStack::PushL(categoryManager);
+        CPosLandmarkCategory* landmarkCategory = categoryManager->ReadCategoryLC(1);
+        // Add one category when no landmark has been addded , should cause Panic        
+        landmarkEncoder->AddCategoryForLatestLandmarkL(*landmarkCategory);
+        CleanupStack::PopAndDestroy(landmarkCategory);
+        CleanupStack::PopAndDestroy(categoryManager);
+     }
+     else if (self->iTestCase == 3)
+        {
+        CPosLandmarkDatabase* database = self->OpenDatabaseLC();
+        CPosLandmarkEncoder* landmarkEncoder = CPosLandmarkEncoder::NewL(KLmxMimeType);
+        landmarkEncoder->SetOutputFileL(KFileName4);
+        // Add landmark to be encoded
+        CPosLandmark* lm = database->ReadLandmarkLC(1);
+        landmarkEncoder->AddLandmarkL(*lm);
+        CleanupStack::PopAndDestroy(lm);
+        // Finalize
+        ExecuteAndDeleteLD(landmarkEncoder->FinalizeEncodingL());
+        // Try to use encoder after finalization, should cause Panic
+        lm = database->ReadLandmarkLC(2);
+        landmarkEncoder->AddLandmarkL(*lm);
+        CleanupStack::PopAndDestroy(lm);
+        }
+     else if (self->iTestCase == 4)
+        {
+        CPosLandmarkDatabase* database = self->OpenDatabaseLC();
+        CPosLandmarkEncoder* landmarkEncoder = CPosLandmarkEncoder::NewL(KLmxMimeType);
+        landmarkEncoder->SetOutputFileL(KFileName5);
+        // Add landmark to be encoded
+        CPosLandmark* lm = database->ReadLandmarkLC(1);
+        landmarkEncoder->AddLandmarkL(*lm);
+        CleanupStack::PopAndDestroy(lm);
+        // Finalize
+        CPosLmOperation* op = landmarkEncoder->FinalizeEncodingL();
+        delete op;
+        op = NULL;
+        // Try to use encoder after deletion of object, should cause Panic
+        lm = database->ReadLandmarkLC(2);
+        landmarkEncoder->AddLandmarkL(*lm);
+        CleanupStack::PopAndDestroy(lm);
+        }
+     else if (self->iTestCase == 5)
+        {
+        CPosLandmarkDatabase* database = self->OpenDatabaseLC();
+        CPosLandmarkEncoder* landmarkEncoder = CPosLandmarkEncoder::NewL(KLmxMimeType);
+        landmarkEncoder->SetOutputFileL(KFileName6);
+        // Add collection data
+        landmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionName, _L("TP44CollectionDataName"));
+        // Add same collection data again, should cause leave
+        landmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionName, _L("TP44CollectionDataName2"));
+        CleanupStack::PopAndDestroy(landmarkEncoder);
+        CleanupStack::PopAndDestroy(database);
+        }
+     else if (self->iTestCase == 6)
+        {
+        CPosLandmarkDatabase* database = self->OpenDatabaseLC();
+        // Create encoder with invalid MIME type, should leave with KErrNotSupported
+        CPosLandmarkEncoder* landmarkEncoder = CPosLandmarkEncoder::NewL(KNonExistingMimeType2);
+        landmarkEncoder->SetOutputFileL(KFileName7);
+        landmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionName, _L("TP44CollectionDataName"));
+        CleanupStack::PopAndDestroy(landmarkEncoder);
+        CleanupStack::PopAndDestroy(database);
+        }
+     else if (self->iTestCase == 7)
+        {
+         RFs fs;
+         RFile file;
+         User::LeaveIfError(fs.Connect());
+         CleanupClosePushL(fs);
+         CleanupClosePushL(file);
+         
+         // Make sure that file exist
+         TInt err = file.Create(fs, KFileName8, EFileShareAny);
+         // Should never happen
+         if (err != KErrNone) User::Leave(666);
+         
+         CleanupStack::PopAndDestroy(&file);
+         CleanupStack::PopAndDestroy(&fs);
+         
+         CPosLandmarkDatabase* database = self->OpenDatabaseLC();
+         CPosLandmarkEncoder* landmarkEncoder = CPosLandmarkEncoder::NewL(KLmxMimeType);
+         // Use same file for encoding, set output file should leave
+         landmarkEncoder->SetOutputFileL(KFileName8);
+         CleanupStack::PopAndDestroy(landmarkEncoder);
+        CleanupStack::PopAndDestroy(database);
+        }
+     else if (self->iTestCase == 8)
+        {
+        CPosLandmarkDatabase* database = self->OpenDatabaseLC();
+        CPosLandmarkEncoder* landmarkEncoder = CPosLandmarkEncoder::NewL(KLmxMimeType);
+        landmarkEncoder->SetOutputFileL(KFileName9);
+        // Add collection data
+        landmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionName, _L("TP44CollectionDataName"));
+        // Finalize without adding any landmarks, should cause panic
+        ExecuteAndDeleteLD(landmarkEncoder->FinalizeEncodingL());
+        CleanupStack::PopAndDestroy(landmarkEncoder);
+        CleanupStack::PopAndDestroy(database);
+        }
+     else if (self->iTestCase == 9 || self->iTestCase == 10)
+        {
+        CPosLandmarkDatabase* database = self->OpenDatabaseLC();
+        CPosLandmarkEncoder* landmarkEncoder = CPosLandmarkEncoder::NewL(KLmxMimeType);
+        if(self->iTestCase == 9) 
+            landmarkEncoder->SetOutputFileL(KFileName9a);
+        if(self->iTestCase == 10) 
+            landmarkEncoder->SetOutputFileL(KFileName10);
+        
+        // Add collection data
+        landmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionName, _L("TP44CollectionDataName"));
+        
+        RArray<TPosLmItemId> arr;
+        CleanupClosePushL(arr);
+        arr.Append(1);
+        arr.Append(15);
+        arr.Append(21);
+        arr.Append(38);
+        arr.Append(32);
+        arr.Append(12);
+
+        if (self->iTestCase == 9)
+            {
+            // 9a
+            // Should never exist
+            arr.Append(666);
+            }
+        else if (self->iTestCase == 10)
+            {
+            // 9b
+            // Should never exist,
+            TInt dummy = -666;
+            arr.Append(dummy);
+            }
+        // Should leave with KErrNotFound
+        ExecuteAndDeleteLD(database->ExportLandmarksL(*landmarkEncoder, arr, CPosLandmarkDatabase::EDefaultOptions));
+        ExecuteAndDeleteLD(landmarkEncoder->FinalizeEncodingL());
+        CleanupStack::PopAndDestroy(&arr);
+        CleanupStack::PopAndDestroy(landmarkEncoder);
+        CleanupStack::PopAndDestroy(database);
+        }
+     else if (self->iTestCase == 11)
+        {
+        // Delete export object before completion and then finalize
+        CPosLandmarkDatabase* database = self->OpenDatabaseLC();
+        CPosLandmarkEncoder* landmarkEncoder = CPosLandmarkEncoder::NewL(KLmxMimeType);
+        landmarkEncoder->SetOutputFileL(KFileName11);
+        // Add collection data
+        landmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionName, _L("TP44CollectionDataName"));
+        
+        RArray<TPosLmItemId> arr;
+        CleanupClosePushL(arr);
+        arr.Append(1);
+        arr.Append(15);
+        arr.Append(21);
+        arr.Append(38);
+        arr.Append(32);
+        arr.Append(12);
+
+        // Delete encoder from callback
+    	TCallBack callback(DeleteEncoderCallback, landmarkEncoder);
+    	CPeriodic* periodicTimer = CPeriodic::NewL(CActive::EPriorityHigh);
+    	CleanupStack::PushL(periodicTimer);
+    	periodicTimer->Start(1, 1, callback);
+    	
+        ExecuteAndDeleteLD(database->ExportLandmarksL(*landmarkEncoder, arr, CPosLandmarkDatabase::EDefaultOptions));
+        // Try to FinalizeEncodingL
+        ExecuteAndDeleteLD(landmarkEncoder->FinalizeEncodingL());
+        
+        CleanupStack::PopAndDestroy(periodicTimer);
+        CleanupStack::PopAndDestroy(&arr);
+        CleanupStack::PopAndDestroy(database);
+        }
+     else if (self->iTestCase == 12)
+        {
+        CPosLandmarkDatabase* database = self->OpenDatabaseLC();
+        CPosLandmarkEncoder* landmarkEncoder = CPosLandmarkEncoder::NewL(KLmxMimeType);
+        landmarkEncoder->SetOutputFileL(KFileName12);
+        // Add collection data
+        landmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionName, _L("TP44CollectionDataName"));
+        
+        RArray<TPosLmItemId> arr;
+        CleanupClosePushL(arr);
+        arr.Append(1);
+        arr.Append(15);
+        arr.Append(21);
+        arr.Append(38);
+        arr.Append(32);
+        arr.Append(12);
+
+        // Export with invalid transfer options, should panic
+        ExecuteAndDeleteLD(database->ExportLandmarksL(*landmarkEncoder, arr, 666));
+        ExecuteAndDeleteLD(landmarkEncoder->FinalizeEncodingL());
+        CleanupStack::PopAndDestroy(landmarkEncoder);
+        CleanupStack::PopAndDestroy(database);
+        }
+     else if (self->iTestCase == 13)
+        {
+        CPosLandmarkDatabase* database = self->OpenDatabaseLC();
+        CPosLandmarkEncoder* landmarkEncoder = CPosLandmarkEncoder::NewL(KLmxMimeType);
+        CleanupStack::PushL(landmarkEncoder);
+        landmarkEncoder->SetOutputFileL(KFileName13);
+        // Add landmark to be encoded
+        CPosLandmark* lm = database->ReadLandmarkLC(1);
+        landmarkEncoder->AddLandmarkL(*lm);
+        CleanupStack::PopAndDestroy(lm);
+        // Set new output file instead of finalization
+        landmarkEncoder->SetOutputFileL(KFileName2);
+
+        // Check that filelock has been released
+        RFs fs;
+        RFile file;
+        User::LeaveIfError(fs.Connect());
+        CleanupClosePushL(fs);
+        CleanupClosePushL(file);
+        // Make sure that file exist
+        TInt err = file.Open(fs, KFileName13, EFileShareAny);
+        if (err != KErrNone) User::Leave(667);
+        CleanupStack::PopAndDestroy(&file);
+        CleanupStack::PopAndDestroy(&fs);
+
+        // Add landmark to be encoded
+        lm = database->ReadLandmarkLC(11);
+        landmarkEncoder->AddLandmarkL(*lm);
+        CleanupStack::PopAndDestroy(lm);
+        // Finalize
+        ExecuteAndDeleteLD(landmarkEncoder->FinalizeEncodingL());
+        CleanupStack::PopAndDestroy(landmarkEncoder);
+        CleanupStack::PopAndDestroy(database);
+        }
+     else if (self->iTestCase == 14)
+        {
+        CPosLandmarkDatabase* database = self->OpenDatabaseLC();
+        CPosLandmarkEncoder* landmarkEncoder = CPosLandmarkEncoder::NewL(KLmxMimeType);
+        CleanupStack::PushL(landmarkEncoder);
+        landmarkEncoder->SetOutputFileL(KFileName14);
+        // Add collection data of type EPosLmCollDataNone, should panic
+        landmarkEncoder->AddCollectionDataL(EPosLmCollDataNone, _L("TP44CollectionDataName"));
+        CleanupStack::PopAndDestroy(landmarkEncoder);
+        CleanupStack::PopAndDestroy(database);
+        }
+     else if (self->iTestCase == 15)
+        {
+        CPosLandmarkDatabase* database = self->OpenDatabaseLC();
+        // Create encoder with invalid MIME type, should leave with KErrNotSupported
+        CPosLandmarkEncoder* landmarkEncoder = CPosLandmarkEncoder::NewL(KNonExistingMimeType1);
+        landmarkEncoder->SetOutputFileL(KFileName15);
+        landmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionName, _L("TP44CollectionDataName"));
+        CleanupStack::PopAndDestroy(landmarkEncoder);
+        CleanupStack::PopAndDestroy(database);
+        }
+     else if (self->iTestCase == 16)
+        {
+        CPosLandmarkDatabase* database = self->OpenDatabaseLC();
+        CPosLandmarkEncoder* landmarkEncoder = CPosLandmarkEncoder::NewL(KLmxMimeType);
+        landmarkEncoder->SetOutputFileL(KFileName16);
+        // Add collection data
+        landmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionName, _L("TP44CollectionDataName"));
+        
+        RArray<TPosLmItemId> arr;
+        CleanupClosePushL(arr);
+        arr.Append(1);
+        arr.Append(15);
+        arr.Append(21);
+        arr.Append(38);
+        arr.Append(32);
+        arr.Append(12);
+
+        // Export with invalid transfer options, should panic
+        ExecuteAndDeleteLD(database->ExportLandmarksL(*landmarkEncoder, arr, 0x04));
+        ExecuteAndDeleteLD(landmarkEncoder->FinalizeEncodingL());
+        CleanupStack::PopAndDestroy(landmarkEncoder);
+        CleanupStack::PopAndDestroy(database);
+        }
+    else if (self->iTestCase == 17)
+        {
+        // Export with empty landmark array
+        CPosLandmarkDatabase* database = self->OpenDatabaseLC();
+        CPosLandmarkEncoder* landmarkEncoder = CPosLandmarkEncoder::NewL(KLmxMimeType);
+        landmarkEncoder->SetOutputFileL(KFileName17);
+        // Add collection data
+        landmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionName, _L("TP44CollectionDataName"));
+        
+        RArray<TPosLmItemId> arr;
+        CleanupClosePushL(arr);
+        
+        ExecuteAndDeleteLD(database->ExportLandmarksL(*landmarkEncoder, arr, CPosLandmarkDatabase::EDefaultOptions));
+        ExecuteAndDeleteLD(landmarkEncoder->FinalizeEncodingL());
+        CleanupStack::PopAndDestroy(&arr);
+        CleanupStack::PopAndDestroy(landmarkEncoder);
+        CleanupStack::PopAndDestroy(database);
+        }
+    else if (self->iTestCase == 18)
+        {
+        CPosLandmarkDatabase* database = self->OpenDatabaseLC();
+        // Create encoder with empty MIME type, should leave with KErrArgument
+        CPosLandmarkEncoder* landmarkEncoder = CPosLandmarkEncoder::NewL(KEmptyMimeType);
+        landmarkEncoder->SetOutputFileL(KFileName18);
+        landmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionName, _L("TP44CollectionDataName"));
+        CleanupStack::PopAndDestroy(landmarkEncoder);
+        CleanupStack::PopAndDestroy(database);
+        }
+    else if (self->iTestCase == 19)
+        {
+        CPosLandmarkDatabase* database = self->OpenDatabaseLC();
+        // Create encoder with long file name, should leave with KErrBadName
+        CPosLandmarkEncoder* landmarkEncoder = CPosLandmarkEncoder::NewL(KLmxMimeType);
+        // Should leave here
+        landmarkEncoder->SetOutputFileL(KLongFileName);
+        landmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionName, _L("TP44CollectionDataName"));
+        CleanupStack::PopAndDestroy(landmarkEncoder);
+        CleanupStack::PopAndDestroy(database);
+        }
+    }
+
+// ---------------------------------------------------------
+// LOCAL_C ThreadFunction
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+LOCAL_C TInt ThreadFunction(TAny* aData)
+    {
+    CTrapCleanup* cleanup=CTrapCleanup::New(); 
+
+    CActiveScheduler* actSch = new (ELeave) CActiveScheduler;
+    CActiveScheduler::Install(actSch);
+
+    TRAPD(err, CPosTp44::RunPanicTestL(aData));
+    
+    delete actSch;
+    delete cleanup;
+    return err;
+    }
+
+// ---------------------------------------------------------
+// CPosTp44::CreateThreadL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp44::CreateThreadL()
+    {
+    _LIT(KThreadName, "Tp44testthread%d");
+    _LIT(KCreateThreadErr, "Create thread failed with %d");
+	TBuf<100> buf;
+	buf.Format(KThreadName, iTestCase);
+	
+     TInt err=0;
+     err = iThread.Create(buf, ThreadFunction, KDefaultStackSize, KMinHeapSize, KMaxHeapSize, this);
+     AssertTrueSecL(err == KErrNone, KCreateThreadErr, err);
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp45.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,805 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp45.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLandmarkEncoder.h>
+#include <EPos_CPosLandmarkParser.h>
+#include <bautils.h>
+
+
+// CONSTANTS
+const TInt KNoCategoriesTp45  = 100;
+// Filename with 260 characters
+_LIT(KLongFileName, "c:\\File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File12");
+// Filename with 264 characters
+_LIT(KLongFileName2, "c:\\File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File12.txt");
+
+_LIT(KDefaultOptions,   "c:\\system\\test\\testdata\\TP45-DefOptions.xml"); 
+_LIT(KInclCategories,   "c:\\system\\test\\testdata\\TP45-IncCategories.xml"); 
+_LIT(KExclCategories,   "c:\\system\\test\\testdata\\TP45-ExcCategories.xml");
+_LIT(KOneLandmark,      "c:\\system\\test\\testdata\\TP45-OneLandmark.xml");
+_LIT(KTwoLandmarks,     "c:\\system\\test\\testdata\\TP45-TwoLandmarks.xml");
+_LIT(KTwoLandmarksWithColData, "c:\\system\\test\\testdata\\TP45-TwoLandmarksWithCollData.xml");
+
+_LIT(KFileSync,         "c:\\documents\\TP45-DefOptions.xml"); 
+_LIT(KFileInc,          "c:\\documents\\TP45-DefOptionsInc.xml");     
+_LIT(KFileWait4Req,     "c:\\documents\\TP45-DefOptionsWait4Req.xml");     
+_LIT(KBufferSync,       "c:\\documents\\TP45-DefOptionsBuffer.xml");                      
+_LIT(KBufferInc,        "c:\\documents\\TP45-DefOptionsBufferInc.xml"); 
+_LIT(KBufferWait4Req,   "c:\\documents\\TP45-DefOptionsBufferWait4Req.xml"); 
+
+_LIT(KFileSync2,        "c:\\documents\\TP45-IncCategories.xml");
+_LIT(KFileInc2,         "c:\\documents\\TP45-IncCategoriesInc.xml");
+_LIT(KFileWait4Req2,    "c:\\documents\\TP45-IncCategoriesWait4Req.xml");
+_LIT(KBufferSync2,      "c:\\documents\\TP45-IncCategoriesBuffer.xml");
+_LIT(KBufferInc2,       "c:\\documents\\TP45-IncCategoriesBufferInc.xml");
+_LIT(KBufferWait4Req2,  "c:\\documents\\TP45-IncCategoriesBufferWait4Req.xml");
+
+_LIT(KFileSync3,        "c:\\documents\\TP45-ExcCategories.xml");
+_LIT(KFileInc3,         "c:\\documents\\TP45-ExcCategoriesInc.xml");
+_LIT(KFileWait4Req3,    "c:\\documents\\TP45-ExcCategoriesWait4Req.xml");
+_LIT(KBufferSync3,      "c:\\documents\\TP45-ExcCategoriesBuffer.xml");
+_LIT(KBufferInc3,       "c:\\documents\\TP45-ExcCategoriesBufferInc.xml");
+_LIT(KBufferWait4Req3,  "c:\\documents\\TP45-ExcCategoriesBufferWait4Req.xml");
+
+_LIT(KFileSync4,        "c:\\documents\\TP45-OneLandmark.xml");
+_LIT(KFileInc4,         "c:\\documents\\TP45-OneLandmarkInc.xml");
+_LIT(KFileWait4Req4,    "c:\\documents\\TP45-OneLandmarkWait4Req.xml");
+
+_LIT(KFileSync5,        "c:\\documents\\TP45-TwoLandmarks.xml");
+_LIT(KFileInc5,         "c:\\documents\\TP45-TwoLandmarksInc.xml");
+_LIT(KFileWait4Req5,    "c:\\documents\\TP45-TwoLandmarksWait4Req.xml");
+
+_LIT(KFileSync6,        "c:\\documents\\TP45-TwoLandmarksWithCollData.xml");
+
+_LIT(KFileCancelled,    "c:\\documents\\TP45-Cancelled.xml");
+
+_LIT(KFileCancelledInCallback, "c:\\documents\\TP45-CancelledInCallback.xml");
+
+_LIT(KTmpFile, "c:\\documents\\TMP.xml");
+
+//const TPosLmItemId KGlobalCategoryId = 2;
+//const TPosLmItemId KGlobalCategoryId2 = 4;
+const TPosLmItemId KGlobalCategoryId = 5;
+const TPosLmItemId KGlobalCategoryId2 = 9;
+
+const TPosLmItemId KLandmarkId = 3;
+const TPosLmItemId KLandmarkId2 = 1;
+
+const TInt KMaxCancelled = 10;
+
+const TInt KMaxCancelledInCallback = 50;
+
+_LIT(KCollectionName, "TP45-CollectionName");
+_LIT(KCollectionDes, "TP45-Description");
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+
+// ---------------------------------------------------------
+// CPosTp45::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp45::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));   
+    
+    delete iDatabase;
+    delete iLandmarkEncoder;    
+    delete iBuffer;   
+    
+    // Added for BC testing         
+    delete iCategoryManager;
+    iGlobalCategoryIds.Close();
+    iGlobalCategoryNames.Close();    
+    iGlobalCategoryTestNames.Close(); 
+    
+    iCategories.ResetAndDestroy();
+    iCategories.Close();  
+    RemoveGlobalCategoriesL();
+    }
+// ---------------------------------------------------------
+// CPosTp45::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp45::StartL()
+    { 
+    BaflUtils::EnsurePathExistsL( iFileSession, KTmpFile );
+    
+    RemoveDefaultDbL();
+    RemoveGlobalCategoriesL();
+  
+    iDatabase = CPosLandmarkDatabase::OpenL();        
+
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+       
+   
+    iCategoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    ExecuteAndDeleteLD(iDatabase->CompactL());          
+
+    // Setup global category info
+    SetupGlobalCategoriesL(); 
+    
+    AddLandmarksL();
+    AddCategoriesL();
+  
+    iLandmarkEncoder = CPosLandmarkEncoder::NewL(KLmxMimeType);
+    
+    TestErrorCodesL();
+    
+    RArray<TPosLmItemId> arrayOfIds;
+    CleanupClosePushL(arrayOfIds);
+    
+    CPosLmItemIterator* iter = iDatabase->LandmarkIteratorL();
+    CleanupStack::PushL(iter);
+        
+    TInt numberOfElements = iter->NumOfItemsL();    
+    iter->GetItemIdsL(arrayOfIds, 0, (numberOfElements));   
+    
+    iLogToFile = ETrue;
+    TBool useWaitForRequest = ETrue;
+
+// Exporting all landmarks to file
+    iLog->Log(_L("Exporting all landmarks syncronously to file")); 
+    ExportLandmarksL(KFileSync, arrayOfIds, CPosLandmarkDatabase::EDefaultOptions);
+    	
+   	iLog->Log(_L("Exporting all landmarks incrementally to file")); 
+    ExportLandmarksIncL(KFileInc, arrayOfIds, CPosLandmarkDatabase::EDefaultOptions, !useWaitForRequest);
+             
+   	iLog->Log(_L("Exporting all landmarks incrementally using User::WaitForRequest() to file")); 
+    ExportLandmarksIncL(KFileWait4Req, arrayOfIds, CPosLandmarkDatabase::EDefaultOptions, useWaitForRequest);
+             
+    RenameGlobalCategoryL();
+
+// Exporting with global cateogries to file
+    iLog->Log(_L("Exporting all landmarks with global categories names syncronously to file")); 
+    ExportLandmarksL(KFileSync2, arrayOfIds, CPosLandmarkDatabase::EIncludeCategories | 
+                                     CPosLandmarkDatabase::EIncludeGlobalCategoryNames);      
+                                     
+    iLog->Log(_L("Exporting all landmarks with global categories names incrementally to file")); 
+    ExportLandmarksIncL(KFileInc2, arrayOfIds, CPosLandmarkDatabase::EIncludeCategories | 
+                                     CPosLandmarkDatabase::EIncludeGlobalCategoryNames,
+                                     !useWaitForRequest);
+     
+    iLog->Log(_L("Exporting all landmarks with global categories names incrementally using User::WaitForRequest() to file")); 
+    ExportLandmarksIncL(KFileWait4Req2, arrayOfIds, CPosLandmarkDatabase::EIncludeCategories | 
+                                     CPosLandmarkDatabase::EIncludeGlobalCategoryNames,
+                                     useWaitForRequest);
+
+// Exporting without global cateogries to file
+    iLog->Log(_L("Exporting all landmarks with categories exc. global categories syncronously to file")); 
+    ExportLandmarksL(KFileSync3, arrayOfIds, CPosLandmarkDatabase::EIncludeCategories);
+                          
+    iLog->Log(_L("Exporting all landmarks with categories exc. global categories incrementally to file")); 
+    ExportLandmarksIncL(KFileInc3, arrayOfIds, CPosLandmarkDatabase::EIncludeCategories, !useWaitForRequest);
+      
+    iLog->Log(_L("Exporting all landmarks with categories exc. global categories incrementally using User::WaitForRequest() to file")); 
+    ExportLandmarksIncL(KFileWait4Req3, arrayOfIds, CPosLandmarkDatabase::EIncludeCategories, useWaitForRequest);
+      
+    iLogToFile = EFalse;
+    
+// Exporting all landmarks to buffer
+    iLog->Log(_L("Exporting all landmarks syncronously to buffer")); 
+    ExportLandmarksL(KBufferSync, arrayOfIds, CPosLandmarkDatabase::EDefaultOptions);
+    	
+   	iLog->Log(_L("Exporting all landmarks incrementally to buffer")); 
+    ExportLandmarksIncL(KBufferInc, arrayOfIds, CPosLandmarkDatabase::EDefaultOptions, !useWaitForRequest);
+              
+   	iLog->Log(_L("Exporting all landmarks incrementally using User::WaitForRequest() to buffer")); 
+    ExportLandmarksIncL(KBufferWait4Req, arrayOfIds, CPosLandmarkDatabase::EDefaultOptions, useWaitForRequest);
+       
+// Exporting all landmarks with global categories to buffer
+    iLog->Log(_L("Exporting all landmarks with global categories names syncronously to buffer")); 
+    ExportLandmarksL(KBufferSync2, arrayOfIds, CPosLandmarkDatabase::EIncludeCategories | 
+                                     CPosLandmarkDatabase::EIncludeGlobalCategoryNames);      
+                                     
+    iLog->Log(_L("Exporting all landmarks with global categories names incrementally to buffer")); 
+    ExportLandmarksIncL(KBufferInc2, arrayOfIds, CPosLandmarkDatabase::EIncludeCategories | 
+                                     CPosLandmarkDatabase::EIncludeGlobalCategoryNames,
+                                     !useWaitForRequest);
+      
+    iLog->Log(_L("Exporting all landmarks with global categories names incrementally using User::WaitForRequest() to buffer")); 
+    ExportLandmarksIncL(KBufferWait4Req2, arrayOfIds, CPosLandmarkDatabase::EIncludeCategories | 
+                                     CPosLandmarkDatabase::EIncludeGlobalCategoryNames,
+                                     useWaitForRequest);
+
+// Exporting all landmarks with global categories to buffer
+    iLog->Log(_L("Exporting all landmarks with categories exc. global categories syncronously to buffer")); 
+    ExportLandmarksL(KBufferSync3, arrayOfIds, CPosLandmarkDatabase::EIncludeCategories);
+                           
+    iLog->Log(_L("Exporting all landmarks with categories exc. global categories incrementally to buffer")); 
+    ExportLandmarksIncL(KBufferInc3, arrayOfIds, CPosLandmarkDatabase::EIncludeCategories, !useWaitForRequest);
+      
+    iLog->Log(_L("Exporting all landmarks with categories exc. global categories incrementally using User::WaitForRequest() to buffer")); 
+    ExportLandmarksIncL(KBufferWait4Req3, arrayOfIds, CPosLandmarkDatabase::EIncludeCategories, useWaitForRequest);
+      
+    iLogToFile = ETrue;
+    CleanupStack::PopAndDestroy(iter);  
+    arrayOfIds.Reset();
+
+// Exporting one landmark to file    
+    arrayOfIds.Append(KLandmarkId);
+    iLog->Log(_L("Exporting one landmark syncronously to file")); 
+    ExportLandmarksL(KFileSync4, arrayOfIds, CPosLandmarkDatabase::EDefaultOptions);
+    
+    iLog->Log(_L("Exporting one landmark syncronously to file incrementally")); 
+    ExportLandmarksIncL(KFileInc4, arrayOfIds, CPosLandmarkDatabase::EDefaultOptions, !useWaitForRequest);
+    
+    iLog->Log(_L("Exporting one landmark syncronously to file incrementally using User::WaitForRequest()")); 
+    ExportLandmarksIncL(KFileWait4Req4, arrayOfIds, CPosLandmarkDatabase::EDefaultOptions, useWaitForRequest);
+    
+// Exporting two landmarks to file    
+    arrayOfIds.Append(KLandmarkId2);
+    iLog->Log(_L("Exporting two landmark syncronously to file")); 
+    ExportLandmarksL(KFileSync5, arrayOfIds, CPosLandmarkDatabase::EDefaultOptions);
+    
+    iLog->Log(_L("Exporting two landmark syncronously to file incrementally")); 
+    ExportLandmarksIncL(KFileInc5, arrayOfIds, CPosLandmarkDatabase::EDefaultOptions, !useWaitForRequest);
+    
+    iLog->Log(_L("Exporting two landmark syncronously to file incrementally using User::WaitForRequest()")); 
+    ExportLandmarksIncL(KFileWait4Req5, arrayOfIds, CPosLandmarkDatabase::EDefaultOptions, useWaitForRequest);
+    
+// Exporting landmarks with collection data    
+    iLog->Log(_L("Exporting landmarks with collection data added to the encoder")); 
+    ExportWithCollectionDataL(arrayOfIds, CPosLandmarkDatabase::EDefaultOptions);
+    
+    iLog->Log(_L("Compares the created XML files with saved correct ones")); 
+    
+    TInt errors = 0;
+    
+    errors += CompareL(KDefaultOptions, KFileSync);
+    errors += CompareL(KDefaultOptions, KFileInc);
+    errors += CompareL(KDefaultOptions, KFileWait4Req);
+    errors += CompareL(KDefaultOptions, KBufferSync);
+    errors += CompareL(KDefaultOptions, KBufferInc);
+    errors += CompareL(KDefaultOptions, KBufferWait4Req);
+
+    TFileName filename;
+    CreateCorrectXmlFileL( KInclCategories, filename );
+    errors += CompareL(filename, KFileSync2);
+    errors += CompareL(filename, KFileInc2);
+    errors += CompareL(filename, KFileWait4Req2);
+    errors += CompareL(filename, KFileInc2);
+    errors += CompareL(filename, KBufferSync2);
+    errors += CompareL(filename, KBufferInc2);
+    errors += CompareL(filename, KBufferWait4Req2);
+
+    CreateCorrectXmlFileL( KExclCategories, filename );
+    errors += CompareL(filename, KFileSync3);
+    errors += CompareL(filename, KFileInc3);
+    errors += CompareL(filename, KFileWait4Req3);
+    errors += CompareL(filename, KBufferSync3);
+    errors += CompareL(filename, KBufferInc3);
+    errors += CompareL(filename, KBufferWait4Req3);
+
+    errors += CompareL(KOneLandmark, KFileSync4);
+    errors += CompareL(KOneLandmark, KFileInc4);
+    errors += CompareL(KOneLandmark, KFileWait4Req4);
+
+    errors += CompareL(KTwoLandmarks, KFileSync5);
+    errors += CompareL(KTwoLandmarks, KFileInc5);
+    errors += CompareL(KTwoLandmarks, KFileWait4Req5);
+
+    errors += CompareL(KTwoLandmarksWithColData, KFileSync6);
+  
+    if (errors > 0)
+        {
+        errors = errors / KErrGeneral;
+        }
+
+		AssertTrueSecL(errors == 0, _L("%d file(s) are not equal"), errors);
+	
+		delete iDatabase;
+    iDatabase = NULL;
+    
+    iDatabase = UseGeneratedDbFileL();
+    
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+    
+    iLog->Log(_L("Exports landmarks and cancels the operation")); 
+    ExportAndCancelL(KFileCancelled, EFalse, CPosLandmarkDatabase::EDefaultOptions);
+    
+    iLog->Log(_L("Exports landmarks and cancels the operation in a callback")); 
+    ExportAndCancelL(KFileCancelledInCallback, ETrue, CPosLandmarkDatabase::EDefaultOptions);
+   
+		VerifyCancelL(KFileCancelled, KMaxCancelled);
+	
+		VerifyCancelL(KFileCancelledInCallback, KMaxCancelledInCallback);
+
+    CleanupStack::PopAndDestroy(&arrayOfIds);  
+    
+  	}
+
+// ---------------------------------------------------------
+// CPosTp45::ExportLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//	
+void CPosTp45::ExportLandmarksL(const TDesC& aFileName, 
+                                RArray<TPosLmItemId>& aArrayOfIds, 
+                                CPosLandmarkDatabase::TTransferOptions aTransferOptions)
+    {
+    iLog->Log(_L("ExportLandmarksL"));
+    TBuf<100> file;
+    file.Append(aFileName);
+        
+    if (iLogToFile)
+        {        
+        DeleteFile(file);
+        iLandmarkEncoder->SetOutputFileL(file);
+        }
+    else
+        {
+        iBuffer = iLandmarkEncoder->SetUseOutputBufferL(); 
+        }
+    
+    CPosLmOperation* op = iDatabase->ExportLandmarksL(*iLandmarkEncoder, aArrayOfIds, aTransferOptions); 
+    CleanupStack::PushL(op);
+    op->ExecuteL();
+    CleanupStack::PopAndDestroy(op);
+    
+    op = iLandmarkEncoder->FinalizeEncodingL(); 
+    CleanupStack::PushL(op);
+    op->ExecuteL();
+    CleanupStack::PopAndDestroy(op);
+    
+    if (!iLogToFile)
+        {
+        WriteBufferToFileL(iBuffer, file); 
+        delete iBuffer;
+        iBuffer = NULL;
+        }
+    }
+    
+// ---------------------------------------------------------
+// CPosTp45::ExportLandmarksIncL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//	
+void CPosTp45::ExportLandmarksIncL(const TDesC& aFileName,
+                                   RArray<TPosLmItemId>& aArrayOfIds, 
+                                   CPosLandmarkDatabase::TTransferOptions aTransferOptions,
+                                   TBool aUseWaitForRequest)
+    {
+    iLog->Log(_L("ExportLandmarksIncL"));
+    TBuf<100> file;
+    file.Append(aFileName);
+        
+    if (iLogToFile)
+        {        
+        DeleteFile(file);
+        iLandmarkEncoder->SetOutputFileL(file); 
+        }
+    else
+        {
+        iBuffer = iLandmarkEncoder->SetUseOutputBufferL(); 
+        }
+        
+    CPosLmOperation* op = iDatabase->ExportLandmarksL(*iLandmarkEncoder, aArrayOfIds, aTransferOptions); 
+    if (aUseWaitForRequest)
+        {
+        CleanupStack::PushL(op);
+        RunAsyncOperationByWaitForReqL(op);
+        CleanupStack::PopAndDestroy(op);
+        }
+    else
+        {
+        RunAsyncOperationLD(op);
+        }
+    
+    op = iLandmarkEncoder->FinalizeEncodingL(); 
+    if (aUseWaitForRequest)
+        {
+        CleanupStack::PushL(op);
+        RunAsyncOperationByWaitForReqL(op);
+        CleanupStack::PopAndDestroy(op);
+        }
+    else
+        {
+        RunAsyncOperationLD(op);
+        }
+    
+    if (!iLogToFile)
+        {
+        WriteBufferToFileL(iBuffer, file);
+        delete iBuffer;
+        iBuffer = NULL; 
+        }
+	}
+
+// ---------------------------------------------------------
+// CPosTp45::ExportWithCollectionDataL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//	
+void CPosTp45::ExportWithCollectionDataL(RArray<TPosLmItemId>& aArrayOfIds, 
+                                         CPosLandmarkDatabase::TTransferOptions aTransferOptions)
+    {
+    iLog->Log(_L("ExportWithCollectionDataL"));
+    TBuf<100> file;
+    //file.Append(KTargetPath);
+    file.Append(KFileSync6);
+    
+    DeleteFile(file);
+    iLandmarkEncoder->SetOutputFileL(file); 
+        
+    iLandmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionName, KCollectionName);
+    iLandmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionDescription, KCollectionDes);
+      
+    CPosLmOperation* op = iDatabase->ExportLandmarksL(*iLandmarkEncoder, aArrayOfIds, aTransferOptions); 
+    CleanupStack::PushL(op);
+    op->ExecuteL();
+    CleanupStack::PopAndDestroy(op);
+    
+    op = iLandmarkEncoder->FinalizeEncodingL(); 
+    CleanupStack::PushL(op);
+    op->ExecuteL();
+    CleanupStack::PopAndDestroy(op);
+    iLog->Log(_L("ExportWithCollectionDataL Done"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp45::ExportAndCancelL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//	
+void CPosTp45::ExportAndCancelL(const TDesC& aFileName, 
+                                const TBool& aInCallback, 
+                                CPosLandmarkDatabase::TTransferOptions aTransferOptions)
+    {
+    iLog->Log(_L("ExportAndCancelL"));
+    TBuf<100> file;
+    //file.Append(KTargetPath);
+    file.Append(aFileName);
+    
+    DeleteFile(file);
+    iLandmarkEncoder->SetOutputFileL(file); 
+    
+    CPosLmItemIterator* iter = iDatabase->LandmarkIteratorL();
+    CleanupStack::PushL(iter);
+    
+    RArray<TPosLmItemId> arrayOfIds;
+    CleanupClosePushL(arrayOfIds);
+    
+    TInt numberOfElements = iter->NumOfItemsL();    
+    iter->GetItemIdsL(arrayOfIds, 0, (numberOfElements));
+    
+    if (aInCallback)
+        {
+        RunAsyncOperationAndCancelInCallbackLD(iDatabase->ExportLandmarksL(*iLandmarkEncoder, arrayOfIds, aTransferOptions));
+        }
+    else
+        {
+        RunAsyncOperationAndCancelLD(iDatabase->ExportLandmarksL(*iLandmarkEncoder, arrayOfIds, aTransferOptions));
+        } 
+    
+    CPosLmOperation* op = iLandmarkEncoder->FinalizeEncodingL(); 
+    CleanupStack::PushL(op);
+    op->ExecuteL();
+    
+    CleanupStack::PopAndDestroy(3, iter);
+    iLog->Log(_L("ExportAndCancelL Done"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp45::VerifyCancelL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//	    
+void CPosTp45::VerifyCancelL(const TDesC& aFileName, const TInt aMaxExported)
+    {
+    iLog->Log(_L("VerifyCancelL"));
+    TBuf<100> file;
+    file.Append(aFileName);
+       
+    CPosLandmarkParser* parser = CPosLandmarkParser::NewL(KLmxMimeType);
+    CleanupStack::PushL(parser);
+    
+    parser->SetInputFileL(file);
+    
+    CPosLmOperation* op = parser->ParseContentL(); 
+    CleanupStack::PushL(op);
+    
+    op->ExecuteL();
+     
+    TInt parsed = parser->NumOfParsedLandmarks();  
+    AssertTrueSecL(aMaxExported > parsed , _L("More than %d landmarks have been exported when cancelled"), aMaxExported);
+    
+    CleanupStack::PopAndDestroy(2, parser);
+    iLog->Log(_L("VerifyCancelL Done"));
+    }
+    
+// ---------------------------------------------------------
+// CPosTp45::TestErrorCodesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//	
+void CPosTp45::TestErrorCodesL()
+    {
+    iLog->Log(_L("TestErrorCodesL"));
+    _LIT(KNotFoundErr, "Incorrect error code %d returned from ExecuteL when executed with Lm id not in db");
+    
+    CPosLmItemIterator* iter = iDatabase->LandmarkIteratorL();
+    CleanupStack::PushL(iter);
+
+    RArray<TPosLmItemId> arrayOfIds;
+    CleanupClosePushL(arrayOfIds);
+    
+    TInt numberOfElements = iter->NumOfItemsL();    
+    iter->GetItemIdsL(arrayOfIds, 0, (numberOfElements));
+     
+    arrayOfIds.Append(666);
+    
+    DeleteFile( KTmpFile );
+
+    iLog->Log(_L("SetOutputFileL"));
+    iLandmarkEncoder->SetOutputFileL( KTmpFile );
+    iLog->Log(_L("After SetOutputFileL"));
+
+    CPosLmOperation* op = iDatabase->ExportLandmarksL(*iLandmarkEncoder, arrayOfIds, CPosLandmarkDatabase::EDefaultOptions);      
+    
+    TRAPD(err, op->ExecuteL());
+    delete op;
+   
+    CleanupStack::PopAndDestroy(2, iter);
+   
+    AssertTrueSecL(err == KErrNotFound, KNotFoundErr, err); 
+
+    iLog->Log(_L("TestErrorCodesL Done"));
+    }
+
+    
+// ---------------------------------------------------------
+// CPosTp45::AddLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//	
+void CPosTp45::AddLandmarksL()
+    {
+    iLog->Log(_L("AddLandmarksL"));
+    CPosLandmark* lm = CreateXMLLandmarkLC(_L("TP45 - LM with all fields set"));
+    AddAllXMLFieldsL(lm);    
+    iDatabase->AddLandmarkL(*lm);
+    
+    CPosLandmark* lm2 = CPosLandmark::NewLC();
+    lm2->SetLandmarkNameL(_L("TP45 - LM, only name set"));
+    iDatabase->AddLandmarkL(*lm2);
+
+    CPosLandmark* lm3 = CreateLandmarkLC(_L("TP45 - LM with categories"));
+    iDatabase->AddLandmarkL(*lm3);
+    
+    CPosLandmark* lm4 = CPosLandmark::NewLC();
+    lm4->SetLandmarkNameL(_L("TP45 - LM with Global categories"));
+    lm4->AddCategoryL(KGlobalCategoryId);
+    lm4->AddCategoryL(KGlobalCategoryId2);  
+    iDatabase->AddLandmarkL(*lm4);
+  
+    CleanupStack::PopAndDestroy(4, lm);
+    }
+
+// ---------------------------------------------------------
+// CPosTp45::RenameGlobalCategoryL()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//	
+void CPosTp45::RenameGlobalCategoryL()
+    {
+    /*
+    * Rename a global category 
+    */
+
+    TBuf<150>info;
+    // Get sample global category info     
+    TPosLmItemId catId(0);
+    
+    CPosLandmarkCategory* category = NULL;    
+    catId = iCategoryManager->GetGlobalCategoryL( KAccommodation );
+    category = iCategoryManager->ReadCategoryLC( catId );
+    category->SetCategoryNameL(_L("TP45 - Renamed global"));
+    iCategoryManager->UpdateCategoryL( *category );    
+    
+    CleanupStack::PopAndDestroy( category );    
+    }
+
+// ---------------------------------------------------------
+// CPosTp45::ExportToFileWithLongFileNameL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp45::ExportToFileWithLongFileNameL()
+    {
+    iLog->Log(_L("ExportToFileWithLongFileNameL"));
+
+#ifndef __WINS__
+	DeleteFileL(KLongFileName);
+	DeleteFileL(KLongFileName2);
+#endif
+
+    // 1) Create an encoder object
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+    iLandmarkEncoder = CPosLandmarkEncoder::NewL(KLmxMimeType);
+    
+    TInt errorsFound=KErrNone;
+
+    // 2) Set file with long filename (more than 255 characters)
+    TRAPD(err, iLandmarkEncoder->SetOutputFileL(KLongFileName));
+    TInt expErr;
+    
+#ifdef __WINS__
+    expErr = KErrBadName;
+    if (err != KErrBadName)
+#else
+    expErr = KErrNone;
+    if (err != KErrNone)
+#endif
+        {
+        TBuf<100> buf;
+        buf.Format(_L("SetOutputFileL should leave with %d, instead err:%d"),expErr, err);
+        errorsFound++;
+        iLog->Log(buf);
+        }
+        
+    // 3) Set file with long filename (more than 255 characters)
+    TRAP(err, iLandmarkEncoder->SetOutputFileL(KLongFileName2));
+#ifdef __WINS__
+    expErr = KErrBadName;
+    if (err != KErrBadName) 
+#else
+    expErr = KErrAlreadyExists;
+    if (err != KErrAlreadyExists) 
+#endif
+        {
+        TBuf<100> buf;
+        buf.Format(_L("SetOutputFileL(2) should leave with %d, instead err:%d"), expErr, err);
+        //LogErrorAndLeave(buf);
+        errorsFound++;
+        iLog->Log(buf);
+        }
+        
+    if (errorsFound != KErrNone)
+    {
+    	iLog->Log(_L("Wrong error code from SetOutputFileL"));
+    	User::Leave(-1);
+    }
+
+    iLog->Log(_L("ExportToFileWithLongFileNameL Done"));
+    }
+    
+// ---------------------------------------------------------
+// CPosTp45::DeleteFile
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//	
+void CPosTp45::DeleteFile(const TDesC& aFile)
+    {
+    TInt err = iFileSession.Delete(aFile);
+    if (err != KErrNone) 
+        {
+        TBuf<100> buf;
+        buf.Format(_L("Delete of file %S failed with error %d"), &aFile, err);
+        iLog->Log(buf);
+        }
+    }
+
+
+void CPosTp45::MakeEmptyLmDatabaseL( CPosLandmarkDatabase& aLdb,
+                                     CPosLmCategoryManager& aCatMgr )    
+    {
+    
+    CPosLmOperation* operation1 = aLdb.RemoveAllLandmarksL();
+    //Remove all landmarks from default db : Sync call     
+    ExecuteAndDeleteLD( operation1 ); 
+
+    RArray<TPosLmItemId> catArray;
+    CleanupClosePushL( catArray );
+    
+    // Get all the categories from the database and delete them if necessary 
+    CPosLmItemIterator* iter = aCatMgr.CategoryIteratorL();
+    CleanupStack::PushL( iter );
+
+    TUint count = iter->NumOfItemsL();
+    if ( count > 0 )
+        { // can only be called if there are some items
+        iter->GetItemIdsL( catArray, 0, count );
+        }
+        
+    // Remove all the categories here Sync call     
+    ExecuteAndDeleteLD(aCatMgr.RemoveCategoriesL( catArray ));    
+    CleanupStack::PopAndDestroy( 2 ); // catArray, iter
+    }
+
+void CPosTp45::AddCategoriesL()
+    {    
+    _LIT(KName, "CategoryTP45 - %d");
+    TInt err=KErrLocked;
+    for (TInt i=0; i<KNoCategoriesTp45; i++)
+        {
+        TBuf<100> categoryName;
+        categoryName.Format(KName,i);
+
+        CPosLandmarkCategory* lmc = CPosLandmarkCategory::NewLC();
+        lmc->SetCategoryNameL(categoryName);
+        err = KErrLocked;
+        while (err == KErrLocked)
+            {
+            TRAP(err, iCategoryManager->AddCategoryL(*lmc));
+            }
+
+        iCategories.Append(lmc);       
+        CleanupStack::Pop(lmc);
+        }    
+    iLog->Log(_L("Adding categories to database done "));
+    }
+    
+// ---------------------------------------------------------
+// CPosTp45::SetupGlobalCategoriesL()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp45::SetupGlobalCategoriesL()
+    {        
+    // Testing with only 3 global categories     
+    iGlobalCategoryNames.Append(_L("Accommodation"));
+    iGlobalCategoryIds.Append(3000);  
+
+    /*iGlobalCategoryNames.Append(_L("Business"));
+    iGlobalCategoryIds.Append(6000);  
+
+    iGlobalCategoryNames.Append(_L("Communication"));
+    iGlobalCategoryIds.Append(9000);*/
+        
+	iGlobalCategoryNames.Append(_L("Entertainment"));
+    iGlobalCategoryIds.Append(15000);  
+
+    iGlobalCategoryNames.Append(_L("People"));
+    iGlobalCategoryIds.Append(27000);
+              
+    iGlobalCategoryTestNames.Append(_L("Housing"));
+    iGlobalCategoryTestNames.Append(_L("Movie"));
+    iGlobalCategoryTestNames.Append(_L("Society"));    
+    }
+    
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp46.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,378 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp46.h"
+
+#include <EPos_CPosLandmarkDatabase.h> 
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLandmarkEncoder.h>
+#include <EPos_CPosLandmarkParser.h>
+
+
+
+#include <LbsPosition.h> 
+#include <e32std.h>
+#include <ss_std.h>
+
+const TInt KNoMultipleClients = 10;
+_LIT(KExportFileIndex,    "c:\\TP46-ExportedFileFromThread%d.xml");
+
+#ifdef __WINS__
+    _LIT(KImportFile, "z:\\system\\test\\testdata\\TP45-DefOptions.xml");
+#else                   
+    _LIT(KImportFile, "c:\\system\\test\\testdata\\TP45-DefOptions.xml");
+#endif
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp46::GetName
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp46::GetName(TDes& aName) const
+    {
+    _LIT(KTestName, "TP46 - Multiple export operations");
+    aName = KTestName;
+    }
+
+// ---------------------------------------------------------
+// CPosTp46::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp46::CloseTest()
+    {
+    for (TInt i=0; i<iThreads.Count(); i++)
+        {
+        iThreads[i].Close();
+        }
+
+    iThreads.Close();
+
+    delete iDatabase;
+    iDatabase=NULL;
+
+    iUseLogFromThreadIsDisabled = EFalse;
+   
+    }
+
+// ---------------------------------------------------------
+// CPosTp46::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp46::StartL()
+    {
+    // Make sure no logging from thread (causes crash)
+    iUseLogFromThreadIsDisabled = ETrue;
+
+    MakeSurePanicDebugFileExistsL();
+
+    iDatabase = UseGeneratedDbFileL();
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL()); 
+       }
+           
+    RemoveFilesL();
+
+    iLog->Put(_L("Export landmarks syncronously simultaneously"));
+    iTestStep=0;
+    StartMultipleClientsL(KNoMultipleClients);
+    
+    iLog->Put(_L("Export landmarks incrementally simultaneously"));
+    ++iTestStep;
+    RemoveFilesL();
+    StartMultipleClientsL(KNoMultipleClients);
+   
+    iLog->Put(_L("Export landmarks after import operation has taken write lock"));
+    ++iTestStep;
+    RemoveFilesL();
+    CPosLandmarkParser* parser = CPosLandmarkParser::NewL(KMimeType);
+    CleanupStack::PushL(parser);
+    parser->SetInputFileL(KImportFile);
+    // Take write lock
+    CPosLmOperation* op = iDatabase->ImportLandmarksL(*parser, CPosLandmarkDatabase::EDefaultOptions); 
+    CleanupStack::PushL(op);
+    // Try to export
+    StartMultipleClientsL(KNoMultipleClients);
+    CleanupStack::PopAndDestroy(2, parser);
+
+    // ESLI-64LLU3 - read/write lock only affects the same database instance.
+    parser = CPosLandmarkParser::NewL(KMimeType);
+    CleanupStack::PushL(parser);
+    parser->SetInputFileL(KImportFile);
+
+    CPosLandmarkDatabase* lmd = CPosLandmarkDatabase::OpenL();
+    CleanupStack::PushL(lmd);
+    
+    if (lmd->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(lmd->InitializeL()); 
+       }
+
+    op = iDatabase->ImportLandmarksL(*parser, CPosLandmarkDatabase::EDefaultOptions); 
+    CleanupStack::PushL(op);
+
+    TRAPD(err, CleanupStack::PopAndDestroy(lmd->ReadLandmarkLC(1)));
+    AssertTrueSecL(err == KErrLocked, _L("Didn't get KErrLocked but %d"), err);
+
+    TRAP(err, CleanupStack::PopAndDestroy(iDatabase->ReadLandmarkLC(1))); 
+    AssertTrueSecL(err == KErrLocked, _L("Didn't get KErrLocked but %d"), err);
+
+    // Lock should prevent export threads to complete successfully
+    StartMultipleClientsL(KNoMultipleClients);
+
+    // Release lock - export threads should complete successfully
+    CleanupStack::PopAndDestroy(op);
+    iTestStep = ESync;
+    StartMultipleClientsL(KNoMultipleClients);
+
+    CleanupStack::PopAndDestroy(lmd);
+    CleanupStack::PopAndDestroy(parser);
+    }
+
+// ---------------------------------------------------------
+// CPosTp46::RemoveFiles
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp46::RemoveFilesL()
+    {
+    RFs fs;
+    User::LeaveIfError(fs.Connect());
+    for (TInt i=1; i <= KNoMultipleClients; i++)
+        {
+        TBuf<100> fileName;
+        fileName.Format(KExportFileIndex, i);
+        fs.Delete(fileName);
+        }
+    fs.Close();
+    }
+
+// ---------------------------------------------------------
+// CPosTp46::StartMultipleClientsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp46::StartMultipleClientsL(const TUint aNoClients)
+    {
+    _LIT(KMultipleErr, "Error %d from thread %d");
+    _LIT(KPanicErr, "Thread %d has panicked or is alive");
+    
+    _LIT(KSuccess, "Threads %d is successful");
+     
+    CreateThreadsL(aNoClients);
+
+    RArray<TRequestStatus> statuses;
+    CleanupClosePushL(statuses);
+   
+    for (TUint j=0; j<aNoClients; j++)
+        {
+        TRequestStatus status;
+        statuses.Append(status);
+        }
+
+    TUint i=0; 
+    for (i=0; i<aNoClients; i++)
+        { 
+        iThreads[i].Logon(statuses[i]);
+        iThreads[i].Resume();
+        }
+    
+    for (i=0; i<aNoClients; i++)
+        {
+        User::WaitForRequest(statuses[i]);
+        }
+    
+    TUint errors=0; 
+    for (i=0; i<aNoClients; i++)
+        {
+        TInt exitReason = iThreads[i].ExitReason();
+        TBuf<100> info;
+            
+        if (exitReason != KErrNone)
+            {
+            errors++;
+            info.Format(KMultipleErr, exitReason, i+1);
+            }  
+         else
+            {
+            info.Format(KSuccess, i+1);
+            }
+        iLog->Put(info);
+
+        AssertTrueSecL(iThreads[i].ExitType() == EExitKill, KPanicErr, i+1);
+        AssertTrueSecL(exitReason == KErrNone || exitReason == KErrLocked, info);
+        }
+        
+    if (iTestStep != EImportStarted)
+        {
+        AssertTrueSecL(errors == 0, _L("No thread should leave with error, all should be able to read from the db"));
+        }
+    else
+        {
+        AssertTrueSecL(errors == aNoClients, _L("All threads should leave with error, none should be able to read from the db"));
+        }
+    
+       
+    for (i=0; i<aNoClients; i++)
+        {
+        iThreads[i].Close();
+        }
+        
+    iThreadIndex=0;
+    iThreads.Close();
+    CleanupStack::PopAndDestroy(&statuses);
+    }
+
+// ---------------------------------------------------------
+// CPosTp46::RunTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp46::RunTestL(TAny* aData)
+    {
+    CPosTp46* self = reinterpret_cast<CPosTp46*>(aData);
+    TInt index = ++self->iThreadIndex;
+    
+    CPosLandmarkDatabase* lmd = CPosLandmarkDatabase::OpenL();
+    CleanupStack::PushL(lmd);
+    
+    if (lmd->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(lmd->InitializeL()); 
+       }
+   /*
+    _LIT(KInfo, "Thread %d");
+    TBuf<100> info;
+    info.Format(KInfo, index);
+    RDebug::Print(info);
+    */ 
+
+    CPosLandmarkEncoder* encoder = CPosLandmarkEncoder::NewL(KMimeType);
+    CleanupStack::PushL(encoder);
+    
+    CPosLmItemIterator* iter = lmd->LandmarkIteratorL();
+    CleanupStack::PushL(iter);
+
+    RArray<TPosLmItemId> arrayOfIds;
+    CleanupClosePushL(arrayOfIds);
+        
+    TInt numberOfElements = iter->NumOfItemsL();    
+    iter->GetItemIdsL(arrayOfIds, 0, (numberOfElements));   
+
+    TBuf<100> fileName;
+    fileName.Format(KExportFileIndex, index);
+    encoder->SetOutputFileL(fileName);
+
+    switch (self->iTestStep)
+        {
+        //case self->ESync:
+        	case 0:
+        //case self->EImportStarted:
+        	case 2:
+            {
+            CPosLmOperation* op = lmd->ExportLandmarksL(*encoder, arrayOfIds, CPosLandmarkDatabase::EIncludeCategories); 
+    
+            CleanupStack::PushL(op);
+            op->ExecuteL();
+            CleanupStack::PopAndDestroy(op);
+    
+            op = encoder->FinalizeEncodingL(); 
+            CleanupStack::PushL(op);
+            op->ExecuteL();
+            CleanupStack::PopAndDestroy(op);
+            break;
+            }
+        //case self->EInc:
+        	case 1:
+            {
+            CPosLmOperation* op2 = lmd->ExportLandmarksL(*encoder, arrayOfIds, CPosLandmarkDatabase::EIncludeCategories);  
+            self->RunAsyncOperationLD(op2);
+
+            op2 = encoder->FinalizeEncodingL(); 
+            self->RunAsyncOperationLD(op2);
+            break;
+            }  
+        }
+    /*
+    _LIT(KInfo3, "Thread %d after execute");
+    info.Format(KInfo3, index);
+    RDebug::Print(info);
+    */
+    CleanupStack::PopAndDestroy(4, lmd);
+    }
+
+
+// ---------------------------------------------------------
+// ThreadFunction
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+LOCAL_C TInt ThreadFunction(TAny* aData)
+    {
+    CTrapCleanup* cleanup=CTrapCleanup::New(); 
+
+    CActiveScheduler* actSch = new (ELeave) CActiveScheduler;
+    CActiveScheduler::Install(actSch);
+
+    TRAPD(err, CPosTp46::RunTestL(aData));
+       
+    delete actSch;
+    delete cleanup;
+    return err;
+    }
+
+// ---------------------------------------------------------
+// CPosTp46::CreateThreadsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp46::CreateThreadsL(const TUint aNoThreads)
+    {
+    _LIT(KThreadName, "TP46 test thread%d");
+    _LIT(KCreateThreadErr, "Create thread failed with %d");
+
+    for (TUint i=0; i<aNoThreads; i++)
+        {
+        RThread thread;
+        TBuf<32> name;
+	    name.Format(KThreadName, 1+iThreads.Count());
+                
+        TInt err;
+        err = thread.Create(name, ThreadFunction, KDefaultStackSize, KMinHeapSize, KMaxHeapSize, reinterpret_cast<TAny*>(this));
+
+        AssertTrueSecL(err == KErrNone, KCreateThreadErr, err);                                                                  
+        
+        iThreads.Append(thread);
+        }
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp47.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,1876 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+//  INCLUDES
+#include "FT_CPosTp47.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLandmarkParser.h>
+#include <EPos_CPosLandmarkEncoder.h>
+#include <LbsPosition.h>
+#include <e32math.h>
+#include <bautils.h>
+#include <utf.h>
+#include <xml/xmlparsererrors.h>
+
+// CONSTANTS
+_LIT(KFileName, "c:\\documents\\Tp47Data.xml");
+_LIT(KFileTrace, "c:\\documents\\LandmarksTP47Trace.txt");
+
+// See \epoc32\include\xml\XmlParserErrors.h for error codes
+
+
+_LIT(KCorrectFile, "c:\\system\\test\\TestData\\CorrectFileFor_LandmarksTP47Trace.txt");
+
+_LIT(KMimeWithNameAndTimeStampFile, "c:\\system\\test\\TestData\\Tp47Data_With_MIME_Name.xml");
+_LIT(KErronousXMLFile, "c:\\system\\test\\TestData\\Tp47ErrounousXMLData.xml");
+
+_LIT(KErronousXMLFileDataMissing1, "c:\\system\\test\\TestData\\Tp47ErrounousXMLDataMissingFields1.xml");
+_LIT(KErronousXMLFileDataMissing2, "c:\\system\\test\\TestData\\Tp47ErrounousXMLDataMissingFields2.xml");
+_LIT(KErronousXMLFileDataMissing3, "c:\\system\\test\\TestData\\Tp47ErrounousXMLDataMissingFields3.xml");
+
+_LIT(KErronousXMLFileWrongOrder1, "c:\\system\\test\\TestData\\Tp47ErrounousXMLDataWrongOrder1.xml");
+_LIT(KErronousXMLFileWrongOrder2, "c:\\system\\test\\TestData\\Tp47ErrounousXMLDataWrongOrder2.xml");
+_LIT(KErronousXMLFileWrongOrder3, "c:\\system\\test\\TestData\\Tp47ErrounousXMLDataWrongOrder3.xml");
+
+_LIT(KErronousXMLFileRepeatedTag, "c:\\system\\test\\TestData\\Tp47ErronousXMLDataRepeatedTag.xml");
+_LIT(KErronousXMLFileUnclosedTag1, "c:\\system\\test\\TestData\\Tp47ErronousXMLDataUnclosedTag1.xml");
+//_LIT(KErronousXMLFileUnclosedTag2, "c:\\system\\test\\TestData\\Tp47ErronousXMLDataUnclosedTag2.xml");
+
+_LIT(KUnknownTags, "c:\\system\\test\\TestData\\Tp47UnknownTags.xml");
+_LIT(KUnknownTrees, "c:\\system\\test\\TestData\\Tp47UnknownTrees.xml");
+
+_LIT(KNoEndTag1, "c:\\system\\test\\TestData\\Tp47ErrounousXMLNoEndTag1.xml");
+_LIT(KNoEndTag2, "c:\\system\\test\\TestData\\Tp47ErrounousXMLNoEndTag2.xml");
+
+_LIT(KNoXMLFile1, "c:\\system\\test\\TestData\\Tp47ErronousFileNoXML1.xml");
+_LIT(KNoXMLFile2, "c:\\system\\test\\TestData\\Tp47ErronousFileNoXML2.xml");
+
+_LIT(KTestXMLInput1, "c:\\system\\test\\TestData\\Tp47XMLDataTestInput1.xml");
+
+_LIT(KXMLFileWithLongCategoryName, "c:\\system\\test\\TestData\\Tp47XMLWithLongCategoryName.xml");
+_LIT(KXMLFileWithLongLandmarkName, "c:\\system\\test\\TestData\\Tp47XMLWithLongName.xml");
+_LIT(KXMLFileWithLongLatitudeField, "c:\\system\\test\\TestData\\Tp47XMLWithLongLatitudeField.xml");
+
+_LIT(KXMLFileWithEmptyCollection, "c:\\system\\test\\TestData\\Tp47ErronousXMLFileEmptyCollection.xml");
+
+_LIT(KXMLFileWithXMLTagAsDataField1, "c:\\system\\test\\TestData\\Tp47UsingXMLTagAsDataField1.xml");
+_LIT(KXMLFileWithXMLTagAsDataField2, "c:\\system\\test\\TestData\\Tp47UsingXMLTagAsDataField2.xml");
+_LIT(KXMLFileWithXMLTagAsDataField3, "c:\\system\\test\\TestData\\Tp47UsingXMLTagAsDataField3.xml");
+
+_LIT(KErronousXMLFileTagInTag, "c:\\system\\test\\TestData\\Tp47ErronousXMLDataTagInTag1.xml");
+//_LIT(KErronousXMLFileMissingLMPrefix, "c:\\system\\test\\TestData\\Tp47ErronousXMLDataMissingLMPrefix.xml");
+
+_LIT(KXMLFileUTF8, "c:\\system\\test\\TestData\\Tp47DataUTF8.xml");
+_LIT(KXMLFileUTF16, "c:\\system\\test\\TestData\\Tp47DataUTF16.xml");
+
+_LIT(KXML_UTF_16_BE, "c:\\system\\test\\TestData\\TP47_UTF-16-bigEndian.xml");
+_LIT(KXML_UTF_16_LE, "c:\\system\\test\\TestData\\TP47_UTF-16-littleEndian.xml");
+_LIT(KXML_UTF_8, "c:\\system\\test\\TestData\\TP47_UTF-8.xml");
+_LIT(KXML_UTF_CHINESE, "c:\\system\\test\\TestData\\TP47_UTF-Chinese.xml");
+
+_LIT(KXMLFileWithEmptyMedialink, "c:\\system\\test\\TestData\\Tp47EmptyMediaLink.xml");
+_LIT(KXMLFileWithEmptyCoordinates, "c:\\system\\test\\TestData\\Tp47EmptyCoordinates.xml");
+_LIT(KXMLFileWithEmptyAdresseInfo, "c:\\system\\test\\TestData\\Tp47EmptyAdresseInfo.xml");
+
+_LIT(KXMLFileWithErronousTextInTag1, "c:\\system\\test\\TestData\\Tp47ErronousTextInTag1.xml");
+_LIT(KXMLFileWithErronousTextInTag2, "c:\\system\\test\\TestData\\Tp47ErronousTextInTag2.xml");
+_LIT(KXMLFileWithErronousTextInTag3, "c:\\system\\test\\TestData\\Tp47ErronousTextInTag3.xml");
+_LIT(KXMLFileWithErronousTextInTag4, "c:\\system\\test\\TestData\\Tp47ErronousTextInTag4.xml");
+_LIT(KXMLFileWithErronousTextInTag5, "c:\\system\\test\\TestData\\Tp47ErronousTextInTag5.xml");
+_LIT(KXMLFileWithErronousTextInTag6, "c:\\system\\test\\TestData\\Tp47ErronousTextInTag6.xml");
+
+//KML test files
+_LIT(KKMLFile, "c:\\system\\test\\TestData\\Tp47KML.kml");
+_LIT(KKMLFile1, "c:\\system\\test\\TestData\\Tp47KMLfile1.kml");
+_LIT(KKMLFile2, "c:\\system\\test\\TestData\\Tp47KMLfile2.kml");
+_LIT(KKMLFile3, "c:\\system\\test\\TestData\\Tp47KMLfile3.kml");
+
+_LIT(KKMLLongName, "c:\\system\\test\\TestData\\Tp47KMLlongName.kml");
+_LIT(KKMLNameCaps, "c:\\system\\test\\TestData\\Tp47KMLNameCaps.kml");
+_LIT(KKMLErroneousNameTag, "c:\\system\\test\\TestData\\Tp47KMLErroneousNameTag.kml");
+_LIT(KKMLErroneousNameTagPosition1, "c:\\system\\test\\TestData\\Tp47KMLErroneousNameTagPosition1.kml");
+_LIT(KKMLErroneousNameTagPosition2, "c:\\system\\test\\TestData\\Tp47KMLErroneousNameTagPosition2.kml");
+_LIT(KKMLEmptyName, "c:\\system\\test\\TestData\\Tp47KMLEmptyName.kml");
+_LIT(KKMLMissingNameTag1, "c:\\system\\test\\TestData\\Tp47KMLMissingNameTag1.kml");
+_LIT(KKMLMissingNameTag2, "c:\\system\\test\\TestData\\Tp47KMLMissingNameTag2.kml");
+_LIT(KKMLNameWithSpecialCharacters1, "c:\\system\\test\\TestData\\Tp47KMLNameWithSpecialCharacters1.kml");
+_LIT(KKMLNameWithSpecialCharacters2, "c:\\system\\test\\TestData\\Tp47KMLNameWithSpecialCharacters2.kml");
+
+_LIT(KKMLEmptyPhoneNumber, "c:\\system\\test\\TestData\\Tp47KMLEmptyPhoneNumber.kml");
+_LIT(KKMLErroneousPhoneNumberTag, "c:\\system\\test\\TestData\\Tp47KMLErroneousPhoneNumberTag.kml");
+_LIT(KKMLErroneousPhoneNumberTagPosition, "c:\\system\\test\\TestData\\Tp47KMLErroneousPhoneNumberTagPosition.kml");
+_LIT(KKMLLongPhoneNumer, "c:\\system\\test\\TestData\\Tp47KMLLongPhoneNumer.kml");
+_LIT(KKMLMissingPhoneTag1, "c:\\system\\test\\TestData\\Tp47KMLMissingPhoneTag1.kml");
+_LIT(KKMLMissingPhoneTag2, "c:\\system\\test\\TestData\\Tp47KMLMissingPhoneTag2.kml");
+_LIT(KKMLPhoneNumberCaps, "c:\\system\\test\\TestData\\Tp47KMLPhoneNumberCaps.kml");
+_LIT(KKMLPhoneNumberWithText, "c:\\system\\test\\TestData\\Tp47KMLPhoneNumberWithText.kml");
+_LIT(KKMLPhoneNumberWithSpecialCharacters1, "c:\\system\\test\\TestData\\Tp47KMLPhoneNumberWithSpecialCharacters1.kml");
+_LIT(KKMLPhoneNumberWithSpecialCharacters2, "c:\\system\\test\\TestData\\Tp47KMLPhoneNumberWithSpecialCharacters2.kml");
+
+_LIT(KKMLEmptyPoint, "c:\\system\\test\\TestData\\Tp47KMLEmptyPoint.kml");
+_LIT(KKMLErroneousPointTag, "c:\\system\\test\\TestData\\Tp47KMLErroneousPointTag.kml");
+_LIT(KKMLErroneousPointTagPosition, "c:\\system\\test\\TestData\\Tp47KMLErroneousPointTagPosition.kml");
+_LIT(KKMLMissingPointTag1, "c:\\system\\test\\TestData\\Tp47KMLMissingPointTag1.kml");
+_LIT(KKMLMissingPointTag2, "c:\\system\\test\\TestData\\Tp47KMLMissingPointTag2.kml");
+_LIT(KKMLPointCaps, "c:\\system\\test\\TestData\\Tp47KMLPointCaps.kml");
+_LIT(KKMLPointTag1, "c:\\system\\test\\TestData\\Tp47KMLPointTag1.kml");
+_LIT(KKMLPointTag2, "c:\\system\\test\\TestData\\Tp47KMLPointTag2.kml");
+_LIT(KKMLPointTag3, "c:\\system\\test\\TestData\\Tp47KMLPointTag3.kml");
+
+_LIT(KKMLEmptyDescription, "c:\\system\\test\\TestData\\Tp47KMLEmptyDescription.kml");
+_LIT(KKMLDescriptionWithSpecialCharacters1, "c:\\system\\test\\TestData\\Tp47KMLDescriptionWithSpecialCharacters1.kml");
+_LIT(KKMLDescriptionWithSpecialCharacters2, "c:\\system\\test\\TestData\\Tp47KMLDescriptionWithSpecialCharacters2.kml");
+_LIT(KKMLDescriptionCaps, "c:\\system\\test\\TestData\\Tp47KMLDescriptionCaps.kml");
+_LIT(KKMLLongDescription, "c:\\system\\test\\TestData\\Tp47KMLLongDescription.kml");
+_LIT(KKMLErroneousDescriptionTag, "c:\\system\\test\\TestData\\Tp47KMLErroneousDescriptionTag.kml");
+_LIT(KKMLErroneousDescriptionTagposition, "c:\\system\\test\\TestData\\Tp47KMLErroneousDescriptionTagposition.kml");
+_LIT(KKMLMissingDescriptionTag1, "c:\\system\\test\\TestData\\Tp47KMLMissingDescriptionTag1.kml");
+_LIT(KKMLMissingDescriptionTag2, "c:\\system\\test\\TestData\\Tp47KMLMissingDescriptionTag2.kml");
+_LIT(KKMLDescriptionWithCDATA, "c:\\system\\test\\TestData\\Tp47KMLDescriptionWithCDATA.kml");
+
+_LIT(KKMLErroneousFolderTag, "c:\\system\\test\\TestData\\Tp47KMLErroneousFolderTag.kml");
+_LIT(KKMLFolderCaps, "c:\\system\\test\\TestData\\Tp47KMLFolderCaps.kml");
+_LIT(KKMLMissingFolderTag1, "c:\\system\\test\\TestData\\Tp47KMLMissingFolderTag1.kml");
+_LIT(KKMLMissingFolderTag2, "c:\\system\\test\\TestData\\Tp47KMLMissingFolderTag2.kml");
+_LIT(KKMLEmptyFolderName, "c:\\system\\test\\TestData\\Tp47KMLEmptyFolderName.kml");
+_LIT(KKMLLongFolderName, "c:\\system\\test\\TestData\\Tp47KMLLongFolderName.kml");
+_LIT(KKMLFolderNameWithSpecialCharacters1, "c:\\system\\test\\TestData\\Tp47KMLFolderNameWithSpecialCharacters1.kml");
+_LIT(KKMLFolderNameWithSpecialCharacters2, "c:\\system\\test\\TestData\\Tp47KMLFolderNameWithSpecialCharacters2.kml");
+
+_LIT(KKMLDocumentNameWithSpecialCharacters1, "c:\\system\\test\\TestData\\Tp47KMLDocumentNameWithSpecialCharacters1.kml");
+_LIT(KKMLDocumentNameWithSpecialCharacters2, "c:\\system\\test\\TestData\\Tp47KMLDocumentNameWithSpecialCharacters2.kml");
+_LIT(KKMLEmptyDocumentName, "c:\\system\\test\\TestData\\Tp47KMLEmptyDocumentName.kml");
+_LIT(KKMLLongDocumentName, "c:\\system\\test\\TestData\\Tp47KMLLongDocumentName.kml");
+_LIT(KKMLDocumentCaps, "c:\\system\\test\\TestData\\Tp47KMLDocumentCaps.kml");
+_LIT(KKMLErroneousDocumentTag, "c:\\system\\test\\TestData\\Tp47KMLErroneousDocumentTag.kml");
+_LIT(KKMLMissingDocumentTag1, "c:\\system\\test\\TestData\\Tp47KMLMissingDocumentTag1.kml");
+_LIT(KKMLMissingDocumentTag2, "c:\\system\\test\\TestData\\Tp47KMLMissingDocumentTag2.kml");
+
+_LIT(KKMLAddressCaps, "c:\\system\\test\\TestData\\Tp47KMLAddressCaps.kml");
+_LIT(KKMLAddressWithSpecialCharacters1, "c:\\system\\test\\TestData\\Tp47KMLAddressWithSpecialCharacters1.kml");
+_LIT(KKMLAddressWithSpecialCharacters2, "c:\\system\\test\\TestData\\Tp47KMLAddressWithSpecialCharacters2.kml");
+_LIT(KKMLEmptyAddress1, "c:\\system\\test\\TestData\\Tp47KMLEmptyAddress1.kml");
+_LIT(KKMLEmptyAddress2, "c:\\system\\test\\TestData\\Tp47KMLEmptyAddress2.kml");
+_LIT(KKMLLongAddress1, "c:\\system\\test\\TestData\\Tp47KMLLongAddress1.kml");
+_LIT(KKMLLongAddress2, "c:\\system\\test\\TestData\\Tp47KMLLongAddress2.kml");
+_LIT(KKMLLongAddress3, "c:\\system\\test\\TestData\\Tp47KMLLongAddress3.kml");
+_LIT(KKMLErroneousAddressTag, "c:\\system\\test\\TestData\\Tp47KMLErroneousAddressTag.kml");
+_LIT(KKMLErroneousAddressTagPosition, "c:\\system\\test\\TestData\\Tp47KMLErroneousAddressTagPosition.kml");
+_LIT(KKMLMissingAddressTag1, "c:\\system\\test\\TestData\\Tp47KMLMissingAddressTag1.kml");
+_LIT(KKMLMissingAddressTag2, "c:\\system\\test\\TestData\\Tp47KMLMissingAddressTag2.kml");
+
+_LIT(KKMLCoordinateCaps, "c:\\system\\test\\TestData\\Tp47KMLCoordinateCaps.kml");
+_LIT(KKMLMoreCoordinates, "c:\\system\\test\\TestData\\Tp47KMLMoreCoordinates.kml");
+_LIT(KKMLErroneousCoordinateTag, "c:\\system\\test\\TestData\\Tp47KMLErroneousCoordinateTag.kml");
+_LIT(KKMLErroneousCoordinateTagPosition, "c:\\system\\test\\TestData\\Tp47KMLErroneousCoordinateTagPosition.kml");
+_LIT(KKMLCoordinates1, "c:\\system\\test\\TestData\\Tp47KMLCoordinates1.kml");
+_LIT(KKMLCoordinates2, "c:\\system\\test\\TestData\\Tp47KMLCoordinates2.kml");
+_LIT(KKMLCoordinates3, "c:\\system\\test\\TestData\\Tp47KMLCoordinates3.kml");
+_LIT(KKMLCoordinates4, "c:\\system\\test\\TestData\\Tp47KMLCoordinates4.kml");
+_LIT(KKMLCoordinates5, "c:\\system\\test\\TestData\\Tp47KMLCoordinates5.kml");
+_LIT(KKMLCoordinates6, "c:\\system\\test\\TestData\\Tp47KMLCoordinates6.kml");
+_LIT(KKMLLongCoordinates1, "c:\\system\\test\\TestData\\Tp47KMLLongCoordinates1.kml");
+_LIT(KKMLLongCoordinates2, "c:\\system\\test\\TestData\\Tp47KMLLongCoordinates2.kml");
+_LIT(KKMLMissingCoordinateTag1, "c:\\system\\test\\TestData\\Tp47KMLMissingCoordinateTag1.kml");
+_LIT(KKMLMissingCoordinateTag2, "c:\\system\\test\\TestData\\Tp47KMLMissingCoordinateTag2.kml");
+_LIT(KKMLEmptyCoordinates1, "c:\\system\\test\\TestData\\Tp47KMLEmptyCoordinates1.kml");
+_LIT(KKMLEmptyCoordinates2, "c:\\system\\test\\TestData\\Tp47KMLEmptyCoordinates2.kml");
+_LIT(KKMLEmptyCoordinates3, "c:\\system\\test\\TestData\\Tp47KMLEmptyCoordinates3.kml");
+_LIT(KKMLEmptyCoordinates4, "c:\\system\\test\\TestData\\Tp47KMLEmptyCoordinates4.kml");
+_LIT(KKMLEmptyCoordinates5, "c:\\system\\test\\TestData\\Tp47KMLEmptyCoordinates5.kml");
+_LIT(KKMLEmptyCoordinates6, "c:\\system\\test\\TestData\\Tp47KMLEmptyCoordinates6.kml");
+_LIT(KKMLEmptyCoordinates7, "c:\\system\\test\\TestData\\Tp47KMLEmptyCoordinates7.kml");
+_LIT(KKMLErroneousCoordinates1, "c:\\system\\test\\TestData\\Tp47KMLErroneousCoordinates1.kml");
+_LIT(KKMLErroneousCoordinates2, "c:\\system\\test\\TestData\\Tp47KMLErroneousCoordinates2.kml");
+_LIT(KKMLErroneousCoordinates3, "c:\\system\\test\\TestData\\Tp47KMLErroneousCoordinates3.kml");
+_LIT(KKMLErroneousCoordinates4, "c:\\system\\test\\TestData\\Tp47KMLErroneousCoordinates4.kml");
+_LIT(KKMLErroneousCoordinates5, "c:\\system\\test\\TestData\\Tp47KMLErroneousCoordinates5.kml");
+_LIT(KKMLNegativeCoordinates, "c:\\system\\test\\TestData\\Tp47KMLNegativeCoordinates.kml");
+
+_LIT(KKMLErroneousTextWithinPlacemark, "c:\\system\\test\\TestData\\Tp47KMLErroneousTextWithinPlacemark.kml");
+_LIT(KKMLEmptyfile1, "c:\\system\\test\\TestData\\Tp47KMLEmptyfile1.kml");
+_LIT(KKMLEmptyfile2, "c:\\system\\test\\TestData\\Tp47KMLEmptyfile2.kml");
+_LIT(KKMLInvalidfile, "c:\\system\\test\\TestData\\Tp47KMLInvalidfile.kml");
+
+_LIT(KKMLPlacemarkCaps, "c:\\system\\test\\TestData\\Tp47KMLPlacemarkCaps.kml");
+_LIT(KKMLErroneousPlacemarkTag, "c:\\system\\test\\TestData\\Tp47KMLErroneousPlacemarkTag.kml");
+_LIT(KKMLMissingPlacemarkTag1, "c:\\system\\test\\TestData\\Tp47KMLMissingPlacemarkTag1.kml");
+_LIT(KKMLMissingPlacemarkTag2, "c:\\system\\test\\TestData\\Tp47KMLMissingPlacemarkTag2.kml");
+_LIT(KKMLEmptyPlacemarkTag, "c:\\system\\test\\TestData\\Tp47KMLEmptyPlacemarkTag.kml");
+
+_LIT(KKMLGandhiMuseum, "c:\\system\\test\\TestData\\Tp47KMLGandhi Museum.kml");
+_LIT(KKMLIndusHeritageCentreIndia, "c:\\system\\test\\TestData\\Tp47KMLIndus Heritage Centre, India.kml");
+_LIT(KKMLHiltonHotels, "c:\\system\\test\\TestData\\Tp47KMLhilton hotels near new york (1 - 10).kml");
+
+_LIT(KKMLFile4, "c:\\system\\test\\TestData\\Tp47KMLfile4.kml");
+_LIT(KKMLFile5, "c:\\system\\test\\TestData\\Tp47KMLfile5.kml");
+_LIT(KKMLFile6, "c:\\system\\test\\TestData\\Tp47KMLfile6.kml");
+_LIT(KKMLFile7, "c:\\system\\test\\TestData\\Tp47KMLfile7.kml");
+_LIT(KKMLFile8, "c:\\system\\test\\TestData\\Tp47KMLfile8.kml");
+_LIT(KKMLFile9, "c:\\system\\test\\TestData\\Tp47KMLfile9.kml");
+
+
+
+
+
+
+
+// Maxmimum size for each line in trace file
+const TInt KBufSize = 5000;
+
+// ================= MEMBER FUNCTIONS =======================
+// ---------------------------------------------------------
+// CPosTp47::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp47::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+
+    delete iEncoderBuffer;
+    iEncoderBuffer = NULL;
+
+    iLandmarks.ResetAndDestroy();
+    iLandmarks.Close();
+
+    delete iDatabase;
+    iDatabase=NULL;
+
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+
+    delete iOperation;
+    iOperation = NULL;
+
+    TRAPD(err, RemoveGlobalCategoriesL());
+    if (err != KErrNone && err != KErrNotFound)
+        {
+        HBufC* buf = HBufC::NewLC( 128 );
+        TPtr buffer = buf->Des();
+            
+        buffer.Format(_L("RemoveGlobalCategoriesL leaved with %d"), err);
+        iLog->Log( buffer );
+        
+        CleanupStack::PopAndDestroy( buf );
+        }
+
+    iLog->Log(_L("CloseTest Done"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp47::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp47::StartL()
+    {
+    BaflUtils::EnsurePathExistsL( iFileSession, KFileName );
+
+    // Use same lm db as in composite search test
+    iDatabase = UseCompositeLandmarksDbFileL();
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+
+    // Delete the trace file
+    DeleteFileL(KFileTrace);
+
+    delete iDatabase;
+    iDatabase = NULL;
+
+    iDatabase = CPosLandmarkDatabase::OpenL();
+    	
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+
+    // Do reset so that global categories are included
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+
+    ExecuteAndDeleteLD(categoryManager->ResetGlobalCategoriesL());
+    CleanupStack::PopAndDestroy(categoryManager);
+
+    HBufC8* emptyBuffer=NULL;
+
+    CreateXMLData(ETrue);
+
+    PrintParsedDataFromEncoderL(KFileName, *emptyBuffer, KErrNone, KLmxMimeType );
+
+    CheckXMLData(ETrue);
+
+    // Use buffer instead of file
+    CreateXMLData(EFalse);
+    CheckXMLData(EFalse);
+
+    iLandmarks.ResetAndDestroy();
+
+
+	
+    iLog->Log(_L("Mime With Name and Stamp"));
+    PrintParsedDataFromEncoderL(KMimeWithNameAndTimeStampFile, *emptyBuffer, KErrNone, KLmxMimeType );
+    PrintParsedDataFromEncoderL(KMimeWithNameAndTimeStampFile, *emptyBuffer, KErrNone, KGpxMimeType );
+
+    iLog->Log(_L("Several Landmark File"));
+    // XXX PrintParsedDataFromEncoderL(KSeveralLandmarkFile, *emptyBuffer, KErrPosLmUnknownFormat);
+
+    iLog->Log(_L("Erronous XML File"));
+    PrintParsedDataFromEncoderL(KErronousXMLFile, *emptyBuffer, KErrPosLmUnknownFormat, KLmxMimeType );
+    PrintParsedDataFromEncoderL(KErronousXMLFile, *emptyBuffer, KErrPosLmUnknownFormat, KGpxMimeType );
+
+    iLog->Log(_L("Several LandmarkCollection File"));
+    // XXX PrintParsedDataFromEncoderL(KSeveralLandmarkCollectionFile, *emptyBuffer, KErrPosLmUnknownFormat);
+
+    iLog->Log(_L("1) Wrong Order in XML File"));
+    PrintParsedDataFromEncoderL(KErronousXMLFileWrongOrder1, *emptyBuffer, KErrPosLmUnknownFormat, KLmxMimeType );
+    PrintParsedDataFromEncoderL(KErronousXMLFileWrongOrder1, *emptyBuffer, KErrPosLmUnknownFormat, KGpxMimeType );
+
+    iLog->Log(_L("2) Wrong Order in XML File"));
+    PrintParsedDataFromEncoderL(KErronousXMLFileWrongOrder2, *emptyBuffer, KErrPosLmUnknownFormat, KLmxMimeType );
+    PrintParsedDataFromEncoderL(KErronousXMLFileWrongOrder2, *emptyBuffer, KErrPosLmUnknownFormat, KGpxMimeType );
+
+    iLog->Log(_L("3) Wrong Order in XML File"));
+    // AdresseInfo can be sorted randomly without any error
+    PrintParsedDataFromEncoderL(KErronousXMLFileWrongOrder3, *emptyBuffer, KErrNone, KLmxMimeType );
+    // N/A for GPX
+
+    iLog->Log(_L("1) Data missing in XML File"));
+    PrintParsedDataFromEncoderL(KErronousXMLFileDataMissing1, *emptyBuffer, KErrPosLmUnknownFormat, KLmxMimeType );
+    PrintParsedDataFromEncoderL(KErronousXMLFileDataMissing1, *emptyBuffer, KErrPosLmUnknownFormat, KGpxMimeType );
+
+    iLog->Log(_L("2) Data missing in XML File"));
+    PrintParsedDataFromEncoderL(KErronousXMLFileDataMissing2, *emptyBuffer, KErrNone, KLmxMimeType );
+    PrintParsedDataFromEncoderL(KErronousXMLFileDataMissing2, *emptyBuffer, KErrNone, KGpxMimeType );
+
+    iLog->Log(_L("3) Data missing in XML File"));
+    PrintParsedDataFromEncoderL(KErronousXMLFileDataMissing3, *emptyBuffer, KErrNone, KLmxMimeType );
+    PrintParsedDataFromEncoderL(KErronousXMLFileDataMissing3, *emptyBuffer, KErrNone, KGpxMimeType );
+
+    iLog->Log(_L("Unknown tags in XML File"));
+    PrintParsedDataFromEncoderL(KUnknownTags, *emptyBuffer, KErrNone, KLmxMimeType );
+    PrintParsedDataFromEncoderL(KUnknownTags, *emptyBuffer, KErrNone, KGpxMimeType );
+
+    iLog->Log(_L("Unknown trees in XML File"));
+    PrintParsedDataFromEncoderL(KUnknownTrees, *emptyBuffer, KErrNone, KLmxMimeType );
+    PrintParsedDataFromEncoderL(KUnknownTrees, *emptyBuffer, KErrNone, KGpxMimeType );
+
+    iLog->Log(_L("No End landmarkCollection tag in XML File"));
+    PrintParsedDataFromEncoderL(KNoEndTag1, *emptyBuffer, -993, KLmxMimeType );
+    PrintParsedDataFromEncoderL(KNoEndTag1, *emptyBuffer, -993, KGpxMimeType );
+
+    iLog->Log(_L("No End landmark tag in XML File"));
+    PrintParsedDataFromEncoderL(KNoEndTag2, *emptyBuffer, KErrPosLmUnknownFormat, KLmxMimeType );
+    PrintParsedDataFromEncoderL(KNoEndTag2, *emptyBuffer, KErrPosLmUnknownFormat, KGpxMimeType );
+
+    iLog->Log(_L("Test with different input formats in XML File"));
+    PrintParsedDataFromEncoderL(KTestXMLInput1, *emptyBuffer, KErrNone, KLmxMimeType );
+    PrintParsedDataFromEncoderL(KTestXMLInput1, *emptyBuffer, KErrNone, KGpxMimeType );
+
+    iLog->Log(_L("Test with repeated tag XML File"));
+    PrintParsedDataFromEncoderL(KErronousXMLFileRepeatedTag, *emptyBuffer, KErrPosLmUnknownFormat, KLmxMimeType );
+    PrintParsedDataFromEncoderL(KErronousXMLFileRepeatedTag, *emptyBuffer, KErrPosLmUnknownFormat, KGpxMimeType );
+
+    iLog->Log(_L("Test with unclosed tag XML File"));
+    PrintParsedDataFromEncoderL(KErronousXMLFileUnclosedTag1, *emptyBuffer, -993, KLmxMimeType );
+    PrintParsedDataFromEncoderL(KErronousXMLFileUnclosedTag1, *emptyBuffer, -993, KGpxMimeType );
+
+//    Incorrect test
+//    iLog->Log(_L("Test with unclosed tag XML File"));
+//    PrintParsedDataFromEncoderL(KErronousXMLFileUnclosedTag2, *emptyBuffer, KErrPosLmUnknownFormat, KLmxMimeType );
+//    PrintParsedDataFromEncoderL(KErronousXMLFileUnclosedTag2, *emptyBuffer, KErrPosLmUnknownFormat, KGpxMimeType );
+
+    iLog->Log(_L("Test with a non XML File 1"));
+    PrintParsedDataFromEncoderL(KNoXMLFile1, *emptyBuffer, -982, KLmxMimeType );
+    PrintParsedDataFromEncoderL(KNoXMLFile1, *emptyBuffer, -982, KGpxMimeType );
+
+    iLog->Log(_L("Test with a non XML File 2"));
+    PrintParsedDataFromEncoderL(KNoXMLFile2, *emptyBuffer, KErrPosLmUnknownFormat, KLmxMimeType ); //temporarily changed KErrPosLmUnknownFormat to KErrNone
+    PrintParsedDataFromEncoderL(KNoXMLFile2, *emptyBuffer, KErrPosLmUnknownFormat, KGpxMimeType ); //temporarily KErrPosLmUnknownFormat to KErrNone
+
+    iLog->Log(_L("Test with a XML UTFW8 File"));
+    PrintParsedDataFromEncoderL(KXMLFileUTF8, *emptyBuffer, KErrNone, KLmxMimeType );
+    PrintParsedDataFromEncoderL(KXMLFileUTF8, *emptyBuffer, KErrNone, KGpxMimeType );
+
+    iLog->Log(_L("Test with a XML UTFW16 File"));
+    PrintParsedDataFromEncoderL(KXMLFileUTF16, *emptyBuffer, KErrNone, KLmxMimeType );
+    PrintParsedDataFromEncoderL(KXMLFileUTF16, *emptyBuffer, KErrNone, KGpxMimeType );
+
+    iLog->Log(_L("Test with a XML File with long category names"));
+    PrintParsedDataFromEncoderL(KXMLFileWithLongCategoryName, *emptyBuffer, KErrNone, KLmxMimeType );
+    PrintParsedDataFromEncoderL(KXMLFileWithLongCategoryName, *emptyBuffer, KErrNone, KGpxMimeType );
+
+    iLog->Log(_L("Test with a XML File with long landmark name"));
+    PrintParsedDataFromEncoderL(KXMLFileWithLongLandmarkName, *emptyBuffer, KErrNone, KLmxMimeType );
+    PrintParsedDataFromEncoderL(KXMLFileWithLongLandmarkName, *emptyBuffer, KErrNone, KGpxMimeType );
+
+    iLog->Log(_L("Test with a XML File with long latitude field"));
+    PrintParsedDataFromEncoderL(KXMLFileWithLongLatitudeField, *emptyBuffer, KErrNone, KLmxMimeType );
+    PrintParsedDataFromEncoderL(KXMLFileWithLongLatitudeField, *emptyBuffer, KErrNone, KGpxMimeType );
+
+    iLog->Log(_L("Test with a XML File with empty collection"));
+    PrintParsedDataFromEncoderL(KXMLFileWithEmptyCollection, *emptyBuffer, KErrPosLmUnknownFormat, KLmxMimeType );
+    // N/A for GPX
+
+    iLog->Log(_L("Test with a XML File with Landmark Tag in Landmark Tag"));
+    PrintParsedDataFromEncoderL(KErronousXMLFileTagInTag, *emptyBuffer, EXmlRecursiveEntity, KLmxMimeType );
+    PrintParsedDataFromEncoderL(KErronousXMLFileTagInTag, *emptyBuffer, EXmlRecursiveEntity, KGpxMimeType );
+
+    iLog->Log(_L("Test with a XML File with XML Tag as data field 1"));
+    PrintParsedDataFromEncoderL(KXMLFileWithXMLTagAsDataField1, *emptyBuffer, -993, KLmxMimeType );
+    PrintParsedDataFromEncoderL(KXMLFileWithXMLTagAsDataField1, *emptyBuffer, -993, KGpxMimeType );
+
+    iLog->Log(_L("Test with a XML File with XML Tag as data field 2"));
+    PrintParsedDataFromEncoderL(KXMLFileWithXMLTagAsDataField2, *emptyBuffer, -993, KLmxMimeType );
+    PrintParsedDataFromEncoderL(KXMLFileWithXMLTagAsDataField2, *emptyBuffer, -993, KGpxMimeType );
+
+    iLog->Log(_L("Test with a XML File with XML Tag as data field 3"));
+    PrintParsedDataFromEncoderL(KXMLFileWithXMLTagAsDataField3, *emptyBuffer, -993, KLmxMimeType );
+    PrintParsedDataFromEncoderL(KXMLFileWithXMLTagAsDataField3, *emptyBuffer, -993, KGpxMimeType );
+
+//    Incorrect test
+//    iLog->Log(_L("Test with a XML File with missing LM prefix"));
+//    PrintParsedDataFromEncoderL(KErronousXMLFileMissingLMPrefix, *emptyBuffer, EXmlRecursiveEntity, KLmxMimeType );
+//    PrintParsedDataFromEncoderL(KErronousXMLFileMissingLMPrefix, *emptyBuffer, EXmlRecursiveEntity, KGpxMimeType );
+//
+    iLog->Log(_L("Test with UTF-16-bigEndian.xml"));
+    PrintParsedDataFromEncoderL(KXML_UTF_16_BE, *emptyBuffer, KErrNone, KLmxMimeType );
+    PrintParsedDataFromEncoderL(KXML_UTF_16_BE, *emptyBuffer, KErrNone, KGpxMimeType );
+
+    iLog->Log(_L("Test with UTF-16-littleEndian.xml"));
+    PrintParsedDataFromEncoderL(KXML_UTF_16_LE, *emptyBuffer, KErrNone, KLmxMimeType );
+    PrintParsedDataFromEncoderL(KXML_UTF_16_LE, *emptyBuffer, KErrNone, KGpxMimeType );
+
+    iLog->Log(_L("Test with UTF-8.xml"));
+    PrintParsedDataFromEncoderL(KXML_UTF_8, *emptyBuffer, KErrNone, KLmxMimeType );
+    PrintParsedDataFromEncoderL(KXML_UTF_8, *emptyBuffer, KErrNone, KGpxMimeType );
+
+    iLog->Log(_L("Test with UTF-Chinese.xml"));
+    PrintParsedDataFromEncoderL(KXML_UTF_CHINESE, *emptyBuffer, -982, KLmxMimeType );
+    PrintParsedDataFromEncoderL(KXML_UTF_CHINESE, *emptyBuffer, -982, KGpxMimeType );
+    
+    
+    
+    //testing kml files
+    iLog->Log(_L("Test with Tp47KML.kml"));
+	PrintParsedDataFromEncoderL(KKMLFile, *emptyBuffer, KErrNone, KKmlMimeType );
+	
+	iLog->Log(_L("Test with Tp47KMLfile1.kml"));
+	PrintParsedDataFromEncoderL(KKMLFile1, *emptyBuffer, KErrNone, KKmlMimeType );
+	
+	iLog->Log(_L("Test with Tp47KMLfile2.kml"));
+	PrintParsedDataFromEncoderL(KKMLFile2, *emptyBuffer, KErrNone, KKmlMimeType );
+	
+	iLog->Log(_L("Test with Tp47KMLfile3.kml"));
+	PrintParsedDataFromEncoderL(KKMLFile3, *emptyBuffer, KErrNone, KKmlMimeType );
+	
+	//testing the name tag related cases
+	iLog->Log(_L("Test with Tp47KMLlongName.kml"));
+	PrintParsedDataFromEncoderL(KKMLLongName, *emptyBuffer, KErrNone, KKmlMimeType );
+	
+	iLog->Log(_L("Test with Tp47KMLNameCaps.kml"));
+	PrintParsedDataFromEncoderL(KKMLNameCaps, *emptyBuffer, KErrPosLmUnknownFormat, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLErroneousNameTag.kml"));
+	PrintParsedDataFromEncoderL(KKMLErroneousNameTag, *emptyBuffer, -993, KKmlMimeType );			//EXmlTagMismatch = -993
+
+	iLog->Log(_L("Test with Tp47KMLErroneousNameTagPosition1.kml"));
+	PrintParsedDataFromEncoderL(KKMLErroneousNameTagPosition1, *emptyBuffer, KErrPosLmUnknownFormat, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLErroneousNameTagPosition2.kml"));
+	PrintParsedDataFromEncoderL(KKMLErroneousNameTagPosition2, *emptyBuffer, KErrPosLmUnknownFormat, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLEmptyName.kml"));
+	PrintParsedDataFromEncoderL(KKMLEmptyName, *emptyBuffer, KErrPosLmUnknownFormat, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLMissingNameTag1.kml"));
+	PrintParsedDataFromEncoderL(KKMLMissingNameTag1, *emptyBuffer, -993, KKmlMimeType );			//EXmlTagMismatch = -993
+
+	iLog->Log(_L("Test with Tp47KMLMissingNameTag2.kml"));
+	PrintParsedDataFromEncoderL(KKMLMissingNameTag2, *emptyBuffer, KErrPosLmUnknownFormat, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLNameWithSpecialCharacters1.kml"));
+	PrintParsedDataFromEncoderL(KKMLNameWithSpecialCharacters1, *emptyBuffer, -996, KKmlMimeType ); // EXmlInvalidToken = -996
+
+	iLog->Log(_L("Test with Tp47KMLNameWithSpecialCharacters2.kml"));
+	PrintParsedDataFromEncoderL(KKMLNameWithSpecialCharacters2, *emptyBuffer, KErrNone, KKmlMimeType );
+	
+	//testing the PhoneNumber tag related cases
+	iLog->Log(_L("Test with Tp47KMLEmptyPhoneNumber.kml"));
+	PrintParsedDataFromEncoderL(KKMLEmptyPhoneNumber, *emptyBuffer, KErrNone, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLErroneousPhoneNumberTag.kml"));
+	PrintParsedDataFromEncoderL(KKMLErroneousPhoneNumberTag, *emptyBuffer, -993, KKmlMimeType ); 
+
+	iLog->Log(_L("Test with Tp47KMLErroneousPhoneNumberTagPosition.kml"));
+	PrintParsedDataFromEncoderL(KKMLErroneousPhoneNumberTagPosition, *emptyBuffer, KErrPosLmUnknownFormat, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLLongPhoneNumer.kml"));
+	PrintParsedDataFromEncoderL(KKMLLongPhoneNumer, *emptyBuffer, KErrNone, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLMissingPhoneTag1.kml"));
+	PrintParsedDataFromEncoderL(KKMLMissingPhoneTag1, *emptyBuffer, KErrPosLmUnknownFormat, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLMissingPhoneTag2.kml"));
+	PrintParsedDataFromEncoderL(KKMLMissingPhoneTag2, *emptyBuffer, -993, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLPhoneNumberCaps.kml"));
+	PrintParsedDataFromEncoderL(KKMLPhoneNumberCaps, *emptyBuffer, KErrNone, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLPhoneNumberWithText.kml"));
+	PrintParsedDataFromEncoderL(KKMLPhoneNumberWithText, *emptyBuffer, KErrNone, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLPhoneNumberWithSpecialCharacters1.kml"));
+	PrintParsedDataFromEncoderL(KKMLPhoneNumberWithSpecialCharacters1, *emptyBuffer, -996, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLPhoneNumberWithSpecialCharacters2.kml"));
+	PrintParsedDataFromEncoderL(KKMLPhoneNumberWithSpecialCharacters2, *emptyBuffer, KErrNone, KKmlMimeType );
+	
+	//testing the point tag related test cases
+	iLog->Log(_L("Test with Tp47KMLEmptyPoint.kml"));
+	PrintParsedDataFromEncoderL(KKMLEmptyPoint, *emptyBuffer, KErrNone, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLErroneousPointTag.kml"));
+	PrintParsedDataFromEncoderL(KKMLErroneousPointTag, *emptyBuffer, -993, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLErroneousPointTagPosition.kml"));
+	PrintParsedDataFromEncoderL(KKMLErroneousPointTagPosition, *emptyBuffer, KErrPosLmUnknownFormat, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLMissingPointTag1.kml"));
+	PrintParsedDataFromEncoderL(KKMLMissingPointTag1, *emptyBuffer, -993, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLMissingPointTag2.kml"));
+	PrintParsedDataFromEncoderL(KKMLMissingPointTag2, *emptyBuffer, -993, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLPointCaps.kml"));
+	PrintParsedDataFromEncoderL(KKMLPointCaps, *emptyBuffer, KErrNone, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLPointTag1.kml"));
+	PrintParsedDataFromEncoderL(KKMLPointTag1, *emptyBuffer, KErrNone, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLPointTag2.kml"));
+	PrintParsedDataFromEncoderL(KKMLPointTag2, *emptyBuffer, KErrNone, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLPointTag3.kml"));
+	PrintParsedDataFromEncoderL(KKMLPointTag3, *emptyBuffer, KErrNone, KKmlMimeType );
+
+	
+	//testing the description tag related cases
+	iLog->Log(_L("Test with Tp47KMLEmptyDescription.kml"));
+	PrintParsedDataFromEncoderL(KKMLEmptyDescription, *emptyBuffer, KErrNone, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLDescriptionWithSpecialCharacters1.kml"));
+	PrintParsedDataFromEncoderL(KKMLDescriptionWithSpecialCharacters1, *emptyBuffer, KErrNone, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLDescriptionWithSpecialCharacters2.kml"));
+	PrintParsedDataFromEncoderL(KKMLDescriptionWithSpecialCharacters2, *emptyBuffer, -996, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLDescriptionCaps.kml"));
+	PrintParsedDataFromEncoderL(KKMLDescriptionCaps, *emptyBuffer, KErrNone, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLLongDescription.kml"));
+	PrintParsedDataFromEncoderL(KKMLLongDescription, *emptyBuffer, KErrNone, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLErroneousDescriptionTag.kml"));
+	PrintParsedDataFromEncoderL(KKMLErroneousDescriptionTag, *emptyBuffer, -993, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLErroneousDescriptionTagposition.kml"));
+	PrintParsedDataFromEncoderL(KKMLErroneousDescriptionTagposition, *emptyBuffer, KErrPosLmUnknownFormat, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLMissingDescriptionTag1.kml"));
+	PrintParsedDataFromEncoderL(KKMLMissingDescriptionTag1, *emptyBuffer, KErrPosLmUnknownFormat, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLMissingDescriptionTag2.kml"));
+	PrintParsedDataFromEncoderL(KKMLMissingDescriptionTag2, *emptyBuffer, -993, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLDescriptionWithCDATA.kml"));
+	PrintParsedDataFromEncoderL(KKMLDescriptionWithCDATA, *emptyBuffer, KErrNone, KKmlMimeType );
+	
+	//testing the folder tag related cases
+	iLog->Log(_L("Test with Tp47KMLErroneousFolderTag.kml"));
+	PrintParsedDataFromEncoderL(KKMLErroneousFolderTag, *emptyBuffer, -993, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLFolderCaps.kml"));
+	PrintParsedDataFromEncoderL(KKMLFolderCaps, *emptyBuffer, KErrPosLmUnknownFormat, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLMissingFolderTag1.kml"));
+	PrintParsedDataFromEncoderL(KKMLMissingFolderTag1, *emptyBuffer, KErrPosLmUnknownFormat, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLMissingFolderTag2.kml"));
+	PrintParsedDataFromEncoderL(KKMLMissingFolderTag2, *emptyBuffer, -993, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLEmptyFolderName.kml"));
+	PrintParsedDataFromEncoderL(KKMLEmptyFolderName, *emptyBuffer, KErrNone, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLLongFolderName.kml"));
+	PrintParsedDataFromEncoderL(KKMLLongFolderName, *emptyBuffer, KErrNone, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLFolderNameWithSpecialCharacters1.kml"));
+	PrintParsedDataFromEncoderL(KKMLFolderNameWithSpecialCharacters1, *emptyBuffer, -996, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLFolderNameWithSpecialCharacters2.kml"));
+	PrintParsedDataFromEncoderL(KKMLFolderNameWithSpecialCharacters2, *emptyBuffer, KErrNone, KKmlMimeType );
+
+
+	//testing the document tag related cases
+	iLog->Log(_L("Test with Tp47KMLDocumentNameWithSpecialCharacters1.kml"));
+	PrintParsedDataFromEncoderL(KKMLDocumentNameWithSpecialCharacters1, *emptyBuffer, -996, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLDocumentNameWithSpecialCharacters2.kml"));
+	PrintParsedDataFromEncoderL(KKMLDocumentNameWithSpecialCharacters2, *emptyBuffer, KErrNone, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLEmptyDocumentName.kml"));
+	PrintParsedDataFromEncoderL(KKMLEmptyDocumentName, *emptyBuffer, KErrNone, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLLongDocumentName.kml"));
+	PrintParsedDataFromEncoderL(KKMLLongDocumentName, *emptyBuffer, KErrNone, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLDocumentCaps.kml"));
+	PrintParsedDataFromEncoderL(KKMLDocumentCaps, *emptyBuffer, KErrPosLmUnknownFormat, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLErroneousDocumentTag.kml"));
+	PrintParsedDataFromEncoderL(KKMLErroneousDocumentTag, *emptyBuffer, -993, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLMissingDocumentTag1.kml"));
+	PrintParsedDataFromEncoderL(KKMLMissingDocumentTag1, *emptyBuffer, -993, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLMissingDocumentTag2.kml"));
+	PrintParsedDataFromEncoderL(KKMLMissingDocumentTag2, *emptyBuffer, -993, KKmlMimeType );
+	
+	
+	//testing the address tag related cases
+	iLog->Log(_L("Test with Tp47KMLAddressCaps.kml"));
+	PrintParsedDataFromEncoderL(KKMLAddressCaps, *emptyBuffer, KErrNone, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLAddressWithSpecialCharacters1.kml"));
+	PrintParsedDataFromEncoderL(KKMLAddressWithSpecialCharacters1, *emptyBuffer, -996, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLAddressWithSpecialCharacters2.kml"));
+	PrintParsedDataFromEncoderL(KKMLAddressWithSpecialCharacters2, *emptyBuffer, KErrNone, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLEmptyAddress1.kml"));
+	PrintParsedDataFromEncoderL(KKMLEmptyAddress1, *emptyBuffer, KErrNone, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLEmptyAddress2.kml"));
+	PrintParsedDataFromEncoderL(KKMLEmptyAddress2, *emptyBuffer, KErrNone, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLLongAddress1.kml"));
+	PrintParsedDataFromEncoderL(KKMLLongAddress1, *emptyBuffer, KErrNone, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLLongAddress2.kml"));
+	PrintParsedDataFromEncoderL(KKMLLongAddress2, *emptyBuffer, KErrNone, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLLongAddress3.kml"));
+	PrintParsedDataFromEncoderL(KKMLLongAddress3, *emptyBuffer, KErrNone, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLErroneousAddressTag.kml"));
+	PrintParsedDataFromEncoderL(KKMLErroneousAddressTag, *emptyBuffer, -993, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLErroneousAddressTagPosition.kml"));
+	PrintParsedDataFromEncoderL(KKMLErroneousAddressTagPosition, *emptyBuffer, KErrPosLmUnknownFormat, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLMissingAddressTag1.kml"));
+	PrintParsedDataFromEncoderL(KKMLMissingAddressTag1, *emptyBuffer, -993, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLMissingAddressTag2.kml"));
+	PrintParsedDataFromEncoderL(KKMLMissingAddressTag2, *emptyBuffer, KErrPosLmUnknownFormat, KKmlMimeType );
+
+	//testing the coordinate tag related cases
+	iLog->Log(_L("Test with Tp47KMLCoordinateCaps.kml"));
+	PrintParsedDataFromEncoderL(KKMLCoordinateCaps, *emptyBuffer, KErrNone, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLMoreCoordinates.kml"));
+	PrintParsedDataFromEncoderL(KKMLMoreCoordinates, *emptyBuffer, KErrPosLmUnknownFormat, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLErroneousCoordinateTag.kml"));
+	PrintParsedDataFromEncoderL(KKMLErroneousCoordinateTag, *emptyBuffer, -993, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLErroneousCoordinateTagPosition.kml"));
+	PrintParsedDataFromEncoderL(KKMLErroneousCoordinateTagPosition, *emptyBuffer, KErrNone, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLCoordinates1.kml"));
+	PrintParsedDataFromEncoderL(KKMLCoordinates1, *emptyBuffer, KErrNone, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLCoordinates2.kml"));
+	PrintParsedDataFromEncoderL(KKMLCoordinates2, *emptyBuffer, KErrPosLmUnknownFormat, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLCoordinates3.kml"));
+	PrintParsedDataFromEncoderL(KKMLCoordinates3, *emptyBuffer, KErrPosLmUnknownFormat, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLCoordinates4.kml"));
+	PrintParsedDataFromEncoderL(KKMLCoordinates4, *emptyBuffer, KErrPosLmUnknownFormat, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLCoordinates5.kml"));
+	PrintParsedDataFromEncoderL(KKMLCoordinates5, *emptyBuffer, KErrNone, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLCoordinates6.kml"));
+	PrintParsedDataFromEncoderL(KKMLCoordinates6, *emptyBuffer, KErrNone, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLLongCoordinates1.kml"));
+	PrintParsedDataFromEncoderL(KKMLLongCoordinates1, *emptyBuffer, KErrNone, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLLongCoordinates2.kml"));
+	PrintParsedDataFromEncoderL(KKMLLongCoordinates2, *emptyBuffer, KErrNone, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLMissingCoordinateTag1.kml"));
+	PrintParsedDataFromEncoderL(KKMLMissingCoordinateTag1, *emptyBuffer, -993, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLMissingCoordinateTag2.kml"));
+	PrintParsedDataFromEncoderL(KKMLMissingCoordinateTag2, *emptyBuffer, -993, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLEmptyCoordinates1.kml"));
+	PrintParsedDataFromEncoderL(KKMLEmptyCoordinates1, *emptyBuffer, KErrPosLmUnknownFormat, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLEmptyCoordinates2.kml"));
+	PrintParsedDataFromEncoderL(KKMLEmptyCoordinates2, *emptyBuffer, KErrNone, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLEmptyCoordinates3.kml"));
+	PrintParsedDataFromEncoderL(KKMLEmptyCoordinates3, *emptyBuffer, KErrPosLmUnknownFormat, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLEmptyCoordinates4.kml"));
+	PrintParsedDataFromEncoderL(KKMLEmptyCoordinates4, *emptyBuffer, KErrNone, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLEmptyCoordinates5.kml"));
+	PrintParsedDataFromEncoderL(KKMLEmptyCoordinates5, *emptyBuffer, KErrPosLmUnknownFormat, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLEmptyCoordinates6.kml"));
+	PrintParsedDataFromEncoderL(KKMLEmptyCoordinates6, *emptyBuffer, KErrPosLmUnknownFormat, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLEmptyCoordinates7.kml"));
+	PrintParsedDataFromEncoderL(KKMLEmptyCoordinates7, *emptyBuffer, KErrPosLmUnknownFormat, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLErroneousCoordinates1.kml"));
+	PrintParsedDataFromEncoderL(KKMLErroneousCoordinates1, *emptyBuffer, KErrPosLmUnknownFormat, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLErroneousCoordinates2.kml"));
+	PrintParsedDataFromEncoderL(KKMLErroneousCoordinates2, *emptyBuffer, KErrPosLmUnknownFormat, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLErroneousCoordinates3.kml"));
+	PrintParsedDataFromEncoderL(KKMLErroneousCoordinates3, *emptyBuffer, KErrOverflow, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLErroneousCoordinates4.kml"));
+	PrintParsedDataFromEncoderL(KKMLErroneousCoordinates4, *emptyBuffer, KErrPosLmUnknownFormat, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLErroneousCoordinates5.kml"));
+	PrintParsedDataFromEncoderL(KKMLErroneousCoordinates5, *emptyBuffer, KErrPosLmUnknownFormat, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLNegativeCoordinates.kml"));
+	PrintParsedDataFromEncoderL(KKMLNegativeCoordinates, *emptyBuffer, KErrNone, KKmlMimeType );
+	
+	//testing some invalid cases
+	iLog->Log(_L("Test with Tp47KMLErroneousTextWithinPlacemark.kml"));
+	PrintParsedDataFromEncoderL(KKMLErroneousTextWithinPlacemark, *emptyBuffer, KErrPosLmUnknownFormat, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLEmptyfile1.kml"));
+	PrintParsedDataFromEncoderL(KKMLEmptyfile1, *emptyBuffer, KErrPosLmUnknownFormat, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLEmptyfile2.kml"));
+	PrintParsedDataFromEncoderL(KKMLEmptyfile2, *emptyBuffer, KErrPosLmUnknownFormat, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLInvalidfile.kml"));
+	PrintParsedDataFromEncoderL(KKMLInvalidfile, *emptyBuffer, -983, KKmlMimeType ); //EXmlMisplacedPi =  -983
+	
+	//testing the Placemark tag related cases
+	iLog->Log(_L("Test with Tp47KMLPlacemarkCaps.kml"));
+	PrintParsedDataFromEncoderL(KKMLPlacemarkCaps, *emptyBuffer, KErrPosLmUnknownFormat, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLErroneousPlacemarkTag.kml"));
+	PrintParsedDataFromEncoderL(KKMLErroneousPlacemarkTag, *emptyBuffer, -993, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLMissingPlacemarkTag1.kml"));
+	PrintParsedDataFromEncoderL(KKMLMissingPlacemarkTag1, *emptyBuffer, -993, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLMissingPlacemarkTag2.kml"));
+	PrintParsedDataFromEncoderL(KKMLMissingPlacemarkTag2, *emptyBuffer, -993, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLEmptyPlacemarkTag.kml"));
+	PrintParsedDataFromEncoderL(KKMLEmptyPlacemarkTag, *emptyBuffer, KErrPosLmUnknownFormat, KKmlMimeType );
+	
+	//testing with kml files downloaded from google earth
+	iLog->Log(_L("Test with Tp47KMLGandhi Museum.kml"));
+	PrintParsedDataFromEncoderL(KKMLGandhiMuseum, *emptyBuffer, KErrNone, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLIndus Heritage Centre, India.kml"));
+	PrintParsedDataFromEncoderL(KKMLIndusHeritageCentreIndia, *emptyBuffer, KErrNone, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLhilton hotels near new york (1 - 10).kml"));
+	PrintParsedDataFromEncoderL(KKMLHiltonHotels, *emptyBuffer, KErrNone, KKmlMimeType );
+	
+	iLog->Log(_L("Test with Tp47KMLFile4.kml"));
+	PrintParsedDataFromEncoderL(KKMLFile4, *emptyBuffer, KErrPosLmUnknownFormat, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLFile5.kml"));
+	PrintParsedDataFromEncoderL(KKMLFile5, *emptyBuffer, KErrNone, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLFile6.kml"));
+	PrintParsedDataFromEncoderL(KKMLFile6, *emptyBuffer, KErrNone, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLFile7.kml"));
+	PrintParsedDataFromEncoderL(KKMLFile7, *emptyBuffer, KErrNone, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLFile8.kml"));
+	PrintParsedDataFromEncoderL(KKMLFile8, *emptyBuffer, KErrPosLmUnknownFormat, KKmlMimeType );
+
+	iLog->Log(_L("Test with Tp47KMLFile9.kml"));
+	PrintParsedDataFromEncoderL(KKMLFile9, *emptyBuffer, -993, KKmlMimeType );
+
+    // Now compare tha trace file against the correct one
+    RFile correctFile;
+    RFile file;
+
+    iLog->Log(_L(">>>>>>>Comparing files<<<<<"));
+    
+    TFileName filename;
+    CreateCorrectXmlFileL( KCorrectFile, filename );
+    
+    User::LeaveIfError(correctFile.Open(iFileSession, filename,  EFileRead));
+    CleanupClosePushL(correctFile);
+    User::LeaveIfError(file.Open(iFileSession, KFileTrace,  EFileRead));
+    CleanupClosePushL(file);
+
+    HBufC* correctLinebuffer = HBufC::NewLC( KBufSize );
+            TPtr correctLine = correctLinebuffer->Des();    
+            HBufC* linebuffer = HBufC::NewLC( KBufSize );
+            TPtr line = linebuffer->Des();    
+   	
+    TInt err = KErrNone;
+    TBool done = EFalse;
+    TInt lineNr = 0;
+
+    while (ReadLn(correctFile, correctLine) != KErrEof && !done)
+        {
+        lineNr++;
+        err = ReadLn(file, line);
+        if ( err == KErrEof ) 
+            {
+            done = ETrue;    
+            }
+        correctLine.Trim();
+        line.Trim();
+        if (correctLine.Compare(line) != KErrNone)
+            {
+            HBufC* buf = HBufC::NewLC( 128 );
+            TPtr buffer = buf->Des();
+            
+            buffer.Format(_L("ERROR in TraceFile on line %d: "), lineNr);
+            
+            iLog->Log( buffer );
+            iLog->Log( correctLine );
+            iLog->Log( line );
+            iErrorsFound++;
+            CleanupStack::PopAndDestroy( buf );
+            }
+        }
+		CleanupStack::PopAndDestroy(linebuffer);
+    CleanupStack::PopAndDestroy(correctLinebuffer);
+    CleanupStack::PopAndDestroy(&file);
+    CleanupStack::PopAndDestroy(&correctFile);
+
+    // EOF for trace file was reach before EOF in the correct file
+    if (done)
+        {
+        iLog->Log(_L("ERROR: EOF for Trace file was reached to early"));
+        iErrorsFound++;
+        }
+
+    iLog->Log(_L("Test with Empty MediaLink"));
+    PrintParsedDataFromEncoderL(KXMLFileWithEmptyMedialink, *emptyBuffer, KErrPosLmUnknownFormat, KLmxMimeType );
+    PrintParsedDataFromEncoderL(KXMLFileWithEmptyMedialink, *emptyBuffer, KErrPosLmUnknownFormat, KGpxMimeType );
+
+    iLog->Log(_L("Test with Empty Coordinates"));
+    PrintParsedDataFromEncoderL(KXMLFileWithEmptyCoordinates, *emptyBuffer, KErrPosLmUnknownFormat, KLmxMimeType );
+    PrintParsedDataFromEncoderL(KXMLFileWithEmptyCoordinates, *emptyBuffer, KErrPosLmUnknownFormat, KGpxMimeType );
+
+    iLog->Log(_L("Test with Empty AdresseInfo"));
+    PrintParsedDataFromEncoderL(KXMLFileWithEmptyAdresseInfo, *emptyBuffer, KErrPosLmUnknownFormat, KLmxMimeType );
+    // N/A for GPX
+
+    iLog->Log(_L("Test with Erronous Text in Tag1"));
+    PrintParsedDataFromEncoderL(KXMLFileWithErronousTextInTag1, *emptyBuffer, KErrPosLmUnknownFormat, KLmxMimeType );
+    PrintParsedDataFromEncoderL(KXMLFileWithErronousTextInTag1, *emptyBuffer, KErrPosLmUnknownFormat, KGpxMimeType );
+
+    iLog->Log(_L("Test with Erronous Text in Tag2"));
+    PrintParsedDataFromEncoderL(KXMLFileWithErronousTextInTag2, *emptyBuffer, KErrPosLmUnknownFormat, KLmxMimeType );
+    PrintParsedDataFromEncoderL(KXMLFileWithErronousTextInTag2, *emptyBuffer, KErrPosLmUnknownFormat, KGpxMimeType );
+
+    iLog->Log(_L("Test with Erronous Text in Tag3"));
+    PrintParsedDataFromEncoderL(KXMLFileWithErronousTextInTag3, *emptyBuffer, KErrPosLmUnknownFormat, KLmxMimeType );
+    PrintParsedDataFromEncoderL(KXMLFileWithErronousTextInTag3, *emptyBuffer, KErrPosLmUnknownFormat, KGpxMimeType );
+
+    iLog->Log(_L("Test with Erronous Text in Tag4"));
+    PrintParsedDataFromEncoderL(KXMLFileWithErronousTextInTag4, *emptyBuffer, KErrPosLmUnknownFormat, KLmxMimeType );
+    PrintParsedDataFromEncoderL(KXMLFileWithErronousTextInTag4, *emptyBuffer, KErrPosLmUnknownFormat, KGpxMimeType );
+
+    iLog->Log(_L("Test with Erronous Text in Tag5"));
+    PrintParsedDataFromEncoderL(KXMLFileWithErronousTextInTag5, *emptyBuffer, KErrPosLmUnknownFormat, KLmxMimeType );
+    PrintParsedDataFromEncoderL(KXMLFileWithErronousTextInTag5, *emptyBuffer, KErrPosLmUnknownFormat, KGpxMimeType );
+
+    iLog->Log(_L("Test with Erronous Text in Tag6"));
+    PrintParsedDataFromEncoderL(KXMLFileWithErronousTextInTag6, *emptyBuffer, KErrPosLmUnknownFormat, KLmxMimeType );
+    PrintParsedDataFromEncoderL(KXMLFileWithErronousTextInTag6, *emptyBuffer, KErrPosLmUnknownFormat, KGpxMimeType );
+
+    CheckIndexNotSupportedL();
+
+    DoCancelTestL();
+
+    if (iErrorsFound != KErrNone)// LogErrorAndLeave(_L("Errors found in TP47"));
+        {
+    	iLog->Log(_L("Errors found in TP47"));
+    	User::Leave(-1);
+        }
+	}
+
+// ---------------------------------------------------------
+// CPosTp47::CheckIndexNotSupportedL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp47::CheckIndexNotSupportedL()
+    {
+    iLog->Log(_L("CheckIndexNotSupportedL"));
+
+    iLandmarkParser = CPosLandmarkParser::NewL(KLmxMimeType);
+    iLandmarkParser->SetInputFileL(KFileName);
+
+    // This function should leave with KErrNotSupported
+    TRAPD(err, iOperation = iLandmarkParser->ParseContentL(ETrue));
+
+    delete iOperation;
+    iOperation = NULL;
+
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+
+    if (err != KErrNotSupported)
+    {
+    	iLog->Log(_L("ParseContentL(ETrue) did not leave with KErrNotSupported"));
+    	User::Leave(err);
+    }
+
+    iLandmarkParser = CPosLandmarkParser::NewL(KGpxMimeType);
+    iLandmarkParser->SetInputFileL(KFileName);
+
+    // This function should leave with KErrNotSupported
+    TRAP(err, iOperation = iLandmarkParser->ParseContentL(ETrue));
+
+    delete iOperation;
+    iOperation = NULL;
+
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+
+    if (err != KErrNotSupported)
+    {
+        iLog->Log(_L("ParseContentL(ETrue) (GPX) did not leave with KErrNotSupported"));
+        User::Leave(err);
+    }
+
+    iLog->Log(_L("CheckIndexNotSupportedL Done"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp47::DoCancelTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp47::DoCancelTestL()
+    {
+    iLog->Log(_L("DoCancelTestL"));
+    iLandmarkParser = CPosLandmarkParser::NewL(KLmxMimeType);
+    iLandmarkParser->SetInputFileL(KFileName);
+
+    iOperation = iLandmarkParser->ParseContentL();
+
+    TRequestStatus status = KPosLmOperationNotComplete;
+    TReal32 progress;
+
+    // 1 ) Cancel parse function by deleting iOperation
+    delete iOperation;
+    iOperation = NULL;
+
+    TUint32 nr = iLandmarkParser->NumOfParsedLandmarks();
+    if ((TInt)nr != 0)
+    {
+    	iLog->Log(_L("No landmarks should be found"));
+    	User::Leave(KErrNone);
+    }
+
+    // No landmark should be found
+    TRAPD(err, iLandmarkParser->LandmarkLC());
+    if (err != KErrNotFound)
+        {
+        iLog->Log(_L("ERROR: No Landmark should be found"));
+        iErrorsFound++;
+        }
+
+    // 1 ) Cancel parse function by changing input
+    iOperation = iLandmarkParser->ParseContentL();
+
+    // Get the first landmark
+    iOperation->NextStep(status, progress);
+    // Wait for NextStep to complete
+    User::WaitForRequest(status);
+    nr = iLandmarkParser->NumOfParsedLandmarks();
+    if ((TInt)nr != 1)
+    {
+    	iLog->Log(_L("One landmark should be found"));
+    	User::Leave(KErrNone);
+    }
+
+    // Change input
+    iLandmarkParser->SetInputFileL(KFileName);
+
+    nr = iLandmarkParser->NumOfParsedLandmarks();
+    if ((TInt)nr != 0)
+    {
+    	iLog->Log(_L("No landmarks should be found"));
+    	User::Leave(KErrNone);
+    }
+
+    // No landmark should be found
+    TRAP(err, iLandmarkParser->LandmarkLC());
+    if (err != KErrNotFound)
+        {
+        iLog->Log(_L("ERROR: No Landmark should be found"));
+        iErrorsFound++;
+        }
+
+    delete iOperation;
+    iOperation = NULL;
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    iLog->Log(_L("DoCancelTestL Done"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp47::CreateXMLData
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp47::CreateXMLData(TBool aUseFile)
+    {
+    iLog->Log(_L("CreateXMLData"));
+    // 1) Create an encoder object
+    iLandmarkEncoder = CPosLandmarkEncoder::NewL(KLmxMimeType);
+
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+
+    if (aUseFile)
+        {
+        DeleteFileL(KFileName);
+        // 2) Use file for encoding, set output file
+        iLandmarkEncoder->SetOutputFileL(KFileName);
+        }
+    else
+        {
+        // 2) Use buffer for encoding
+        iEncoderBuffer = iLandmarkEncoder->SetUseOutputBufferL();
+        }
+
+    // 300 characters
+    _LIT(KLongFieldName, "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890");
+    _LIT(KLongFieldDescription, "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890");
+    _LIT(KLongFieldDescriptionExtra, "A________BA________BA________BA________BA________BA________BA________BA________BA________BA________BA________BA________BA________BA________BA________BA________BA________BA________BA________BA________BA________BA________BA________BA________BA________BA________BA________BA________BA________BA________B");
+    _LIT(KLongFieldDescriptionExtra2, "Extra Extra Extra Extra Extra Extra Extra Extra Extra Extra Extra Extra");
+
+    iLandmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionName, KLongFieldName);
+    iLandmarkEncoder->AddCollectionDataL(EPosLmCollDataCollectionDescription, KLongFieldDescription);
+    iLandmarkEncoder->AddCollectionDataL((TPosLmCollectionDataId)(EPosLmCollDataContentSpecificDataBegin), KLongFieldDescriptionExtra);
+    iLandmarkEncoder->AddCollectionDataL((TPosLmCollectionDataId)(EPosLmCollDataContentSpecificDataBegin + 1), KLongFieldDescriptionExtra2);
+
+    iLog->Log(_L("Create Data..."));
+
+    // 3) Add one landmark with all fields set to be encoded
+    CPosLandmark* lm1 = CreateXMLLandmarkLC(_L("TP47Landmark1"));
+    AddAllXMLFieldsL(lm1);
+
+    iLandmarkEncoder->AddLandmarkL(*lm1);
+    iLandmarks.Append(lm1);
+    CleanupStack::Pop(lm1);
+
+    // 4) Add one more landmark to be encoded (id27 "LOG9" in categories 11-17)
+    CPosLandmark* lm2 = iDatabase->ReadLandmarkLC(27);
+    iLandmarkEncoder->AddLandmarkL(*lm2);
+    // Remove field 408 which is not exported
+    lm2->RemovePositionField(408);
+    iLandmarks.Append(lm2);
+    CleanupStack::Pop(lm2);
+
+    // 5) Add one category (pizzeria) to the latest added landmark
+    CPosLandmarkCategory* landmarkCategory = categoryManager->ReadCategoryLC(1);
+
+    iLandmarkEncoder->AddCategoryForLatestLandmarkL(*landmarkCategory);
+    CleanupStack::PopAndDestroy(landmarkCategory);
+
+    // 6) Add one landmark to be encoded (id=18 "enat?r" in category 18)
+    lm1 = iDatabase->ReadLandmarkLC(18);
+    iLandmarkEncoder->AddLandmarkL(*lm1);
+    // Remove field 408 which is not exported
+    lm1->RemovePositionField(408);
+    iLandmarks.Append(lm1);
+    CleanupStack::Pop(lm1);
+
+    // 7) Add one category (Frisör) to the latest added landmark
+    landmarkCategory = categoryManager->ReadCategoryLC(18);
+
+    iLandmarkEncoder->AddCategoryForLatestLandmarkL(*landmarkCategory);
+    CleanupStack::PopAndDestroy(landmarkCategory);
+
+    // 8 ) Add one global category  (Entertainment) to the latest added landmark
+
+    TPosLmItemId globalCategoryId = categoryManager->GetGlobalCategoryL(15000);
+    if (globalCategoryId != KPosLmNullItemId)
+        {
+        landmarkCategory = categoryManager->ReadCategoryLC(globalCategoryId);
+        iLandmarkEncoder->AddCategoryForLatestLandmarkL(*landmarkCategory);
+        CleanupStack::PopAndDestroy(landmarkCategory);
+    }
+    else
+    {
+    	iLog->Log(_L("Global category was not found1"));
+    	User::Leave(-1);
+    }
+
+    // 9 ) Add one global category  (People) to the latest added landmark
+
+    globalCategoryId = categoryManager->GetGlobalCategoryL(27000);
+    if (globalCategoryId != KPosLmNullItemId)
+        {
+        landmarkCategory = categoryManager->ReadCategoryLC(globalCategoryId);
+        iLandmarkEncoder->AddCategoryForLatestLandmarkL(*landmarkCategory);
+        CleanupStack::PopAndDestroy(landmarkCategory);
+        }
+    else
+    {
+    	iLog->Log(_L("Global category was not found2"));
+    	User::Leave(-1);
+    }
+    // 11) Add one landmark with all fields set to empty (_L(""))
+    lm1 = CreateXMLLandmarkLC(_L("TP47LandmarkEmpty"));
+    AddAllEmptyXMLFieldsL(lm1);
+    iLandmarkEncoder->AddLandmarkL(*lm1);
+    // Remove field 402 (EPositionFieldCountryCode) which is not exported when empty
+    lm1->RemovePositionField(402);
+    iLandmarks.Append(lm1);
+    CleanupStack::Pop(lm1);
+
+    // 12) Add one landmark with all fields set to be encoded
+    lm1 = CreateXMLLandmarkLC(_L("TP47Landmark2"));
+    AddAllXMLFieldsL(lm1);
+    iLandmarkEncoder->AddLandmarkL(*lm1);
+
+    iLandmarks.Append(lm1);
+    CleanupStack::Pop(lm1);
+
+    // 13) Add one global category  (Shopping) to the latest added landmark
+    globalCategoryId = categoryManager->GetGlobalCategoryL(36000);
+    if (globalCategoryId != KPosLmNullItemId)
+        {
+        landmarkCategory = categoryManager->ReadCategoryLC(globalCategoryId);
+        iLandmarkEncoder->AddCategoryForLatestLandmarkL(*landmarkCategory);
+        CleanupStack::PopAndDestroy(landmarkCategory);
+    }
+    else
+    {
+    	iLog->Log(_L("Global category was not found3"));
+    	User::Leave(-1);
+    }
+
+    // 14) Add one global category  (Sports) to the latest added landmark
+      globalCategoryId = categoryManager->GetGlobalCategoryL(42000);
+    if (globalCategoryId != KPosLmNullItemId)
+        {
+        landmarkCategory = categoryManager->ReadCategoryLC(globalCategoryId);
+        iLandmarkEncoder->AddCategoryForLatestLandmarkL(*landmarkCategory);
+        CleanupStack::PopAndDestroy(landmarkCategory);
+        }
+    else
+    	{
+    	iLog->Log(_L("Global category was not found4"));
+    	User::Leave(-1);
+    	}
+
+      // ) Finalize encoding
+    iLog->Log(_L("FinalizeEncodingL"));
+    ExecuteAndDeleteLD(iLandmarkEncoder->FinalizeEncodingL());
+    iLog->Log(_L("FinalizeEncodingL Done"));
+
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+    CleanupStack::PopAndDestroy(categoryManager);
+    }
+
+// ---------------------------------------------------------
+// CPosTp47::CheckXMLData
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp47::CheckXMLData(TBool aUseFile)
+    {
+    iLog->Log(_L("CheckXMLData"));
+
+    // This number must be updated if any more landmarks are added
+    const TInt KNrOfAddedLandmarks = 5;
+
+    iLandmarkParser = CPosLandmarkParser::NewL(KLmxMimeType);
+
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+
+    RArray<TPosLmItemId> array;
+    CleanupClosePushL(array);
+
+    HBufC8* bufferContent = NULL;
+
+    if (aUseFile)
+        {
+        iLog->Log(_L("----->Using FILE<-------"));
+        iLandmarkParser->SetInputFileL(KFileName);
+        }
+    else
+        {
+        iLog->Log(_L("----->Using BUFFER<-------"));
+        bufferContent = HBufC8::NewLC(iEncoderBuffer->Size());
+        TPtr8 ptr = bufferContent->Des();
+        iEncoderBuffer->Read(0, ptr, iEncoderBuffer->Size());
+        iLandmarkParser->SetInputBuffer(*bufferContent);
+        }
+
+    iOperation = iLandmarkParser->ParseContentL();
+    TRequestStatus status = KPosLmOperationNotComplete;
+    TReal32 progress;
+    TInt number = 0;
+
+    // 1) Get the first landmark, "TP47Landmark1", no categories
+    iOperation->NextStep(status, progress);
+    // Wait for NextStep to complete
+    User::WaitForRequest(status);
+    // Get last parsed landmark
+    CPosLandmark* lm = iLandmarkParser->LandmarkLC();
+    lm->GetCategoriesL(array);
+    AssertTrueSecL(array.Count() == 0, _L("1) Wrong number of landmark categories"));
+    iErrorsFound += CompareXMLLandmarksL(*iLandmarks[number++], *lm);
+    CleanupStack::PopAndDestroy(lm);
+
+    TUint32 nr = iLandmarkParser->NumOfParsedLandmarks();
+    if ((TInt)nr != number)
+    {
+    	iLog->Log(_L("Wrong number of landmarks parsed"));
+    	User::Leave(-1);
+    }
+
+    // 2) Get landmark, "LOG9", local category Pizzeria
+    iOperation->NextStep(status, progress);
+    // Wait for NextStep to complete
+    User::WaitForRequest(status);
+    // Get last parsed landmark
+    lm = iLandmarkParser->LandmarkLC();
+    lm->GetCategoriesL(array);
+    AssertTrueSecL(array.Count() == 1, _L("2) Wrong number of landmark categories"));
+    iErrorsFound += CompareXMLLandmarksL(*iLandmarks[number++], *lm);
+    CPosLandmarkCategory* category = iLandmarkParser->LandmarkCategoryLC(array[0]);
+    CPosLandmarkCategory* cat = categoryManager->ReadCategoryLC(1);
+    iErrorsFound += CompareXMLCategoriesL(*cat, *category);
+    CleanupStack::PopAndDestroy(cat);
+    CleanupStack::PopAndDestroy(category);
+    CleanupStack::PopAndDestroy(lm);
+
+    nr = iLandmarkParser->NumOfParsedLandmarks();
+    if ((TInt)nr != number)
+    {
+    	iLog->Log(_L("Wrong number of landmarks parsed"));
+    	User::Leave(-1);
+    }
+
+    // 3) Get landmark, "enato?r", local categories Frisör, Hunddagis and global categories Sports Ground, Gas Station
+    iOperation->NextStep(status, progress);
+    // Wait for NextStep to complete
+    User::WaitForRequest(status);
+    // Get last parsed landmark
+    lm = iLandmarkParser->LandmarkLC();
+    lm->GetCategoriesL(array);
+    AssertTrueSecL(array.Count() == 3, _L("3) Wrong number of landmark categories"));
+    iErrorsFound += CompareXMLLandmarksL(*iLandmarks[number++], *lm);
+
+    // check local category Frisör here
+    category = iLandmarkParser->LandmarkCategoryLC(array[0]);
+    cat = categoryManager->ReadCategoryLC(18);
+    iErrorsFound += CompareXMLCategoriesL(*cat, *category);
+    CleanupStack::PopAndDestroy(cat);
+    CleanupStack::PopAndDestroy(category);
+
+    // check global category Sports Ground globalid=7 (id=33) here
+    category = iLandmarkParser->LandmarkCategoryLC(array[1]);
+   // cat = categoryManager->ReadCategoryLC(33);
+    cat = categoryManager->ReadCategoryLC(31);
+    iErrorsFound += CompareXMLCategoriesL(*cat, *category);
+    CleanupStack::PopAndDestroy(cat);
+    CleanupStack::PopAndDestroy(category);
+
+    //Check global category "id=3 Gas station" here
+    category = iLandmarkParser->LandmarkCategoryLC(array[2]);
+    //cat = categoryManager->ReadCategoryLC(29);
+    cat = categoryManager->ReadCategoryLC(35);
+    iErrorsFound += CompareXMLCategoriesL(*cat, *category);
+    CleanupStack::PopAndDestroy(cat);
+    CleanupStack::PopAndDestroy(category);
+
+    CleanupStack::PopAndDestroy(lm);
+    nr = iLandmarkParser->NumOfParsedLandmarks();
+    if ((TInt)nr != number)// LogErrorAndLeave(_L("Wrong number of landmarks parsed"));
+    {
+    	iLog->Log(_L("Wrong number of landmarks parsed"));
+    	User::Leave(-1);
+    }
+
+    // 4) Get landmark, TP47LandmarkEmpty, no categories
+    iOperation->NextStep(status, progress);
+    // Wait for NextStep to complete
+    User::WaitForRequest(status);
+    // Get last parsed landmark
+    lm = iLandmarkParser->LandmarkLC();
+    lm->GetCategoriesL(array);
+    AssertTrueSecL(array.Count() == 0, _L("4) Wrong number of landmark categories"));
+    iErrorsFound += CompareXMLLandmarksL(*iLandmarks[number++], *lm);
+    CleanupStack::PopAndDestroy(lm);
+
+    nr = iLandmarkParser->NumOfParsedLandmarks();
+    if ((TInt)nr != number)
+    {
+    	iLog->Log(_L("Wrong number of landmarks parsed"));
+    	User::Leave(-1);
+    }
+
+    // 5) Get landmark, TP47Landmark2, local categories Burger King and global categories Garage, Bus Stop
+    iOperation->NextStep(status, progress);
+    // Wait for NextStep to complete
+    User::WaitForRequest(status);
+    // Get last parsed landmark
+    lm = iLandmarkParser->LandmarkLC();
+    lm->GetCategoriesL(array);
+    AssertTrueSecL(array.Count() == 2, _L("5) Wrong number of landmark categories"));
+    iErrorsFound += CompareXMLLandmarksL(*iLandmarks[number++], *lm);
+
+    // check global category Garage globalid=8 (id=34) here
+    category = iLandmarkParser->LandmarkCategoryLC(array[0]);
+    //cat = categoryManager->ReadCategoryLC(34);
+    cat = categoryManager->ReadCategoryLC(38);
+    iErrorsFound += CompareXMLCategoriesL(*cat, *category);
+    CleanupStack::PopAndDestroy(cat);
+    CleanupStack::PopAndDestroy(category);
+
+    //Check global category "id=10 Bus Stop" here
+    category = iLandmarkParser->LandmarkCategoryLC(array[1]);
+   // cat = categoryManager->ReadCategoryLC(36);
+    cat = categoryManager->ReadCategoryLC(40);
+    iErrorsFound += CompareXMLCategoriesL(*cat, *category);
+    CleanupStack::PopAndDestroy(cat);
+    CleanupStack::PopAndDestroy(category);
+    CleanupStack::PopAndDestroy(lm);
+
+    // Check that correct number of landmarks has been parsed
+    if (number != KNrOfAddedLandmarks)
+    {
+    	iLog->Log(_L("Wrong number of landmarks parsed"));
+    	User::Leave(-1);
+    }
+    nr = iLandmarkParser->NumOfParsedLandmarks();
+    if ((TInt)nr != KNrOfAddedLandmarks)
+    {
+    	iLog->Log(_L("Wrong number of landmarks parsed"));
+    	User::Leave(-1);
+    }
+
+    if (!aUseFile) CleanupStack::PopAndDestroy(bufferContent);
+
+    CleanupStack::PopAndDestroy(&array);
+    CleanupStack::PopAndDestroy(categoryManager);
+
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+
+    delete iOperation;
+    iOperation = NULL;
+
+    // iEncoderBuffer was allocated in CreateXMLData
+    delete iEncoderBuffer;
+    iEncoderBuffer = NULL;
+
+    iLog->Log(_L("CheckXMLData Done"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp47::PrintParsedDataFromEncoderL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp47::PrintParsedDataFromEncoderL(
+    const TDesC& aFile, 
+    const TDesC8&  aBuffer, 
+    TInt aExpectedStatusCode,
+    const TDesC8& aMimeType)
+    {
+    iLog->Log(_L("===== PrintParsedDataFromEncoderL ======="));
+   
+   
+    iLandmarkParser = CPosLandmarkParser::NewL(aMimeType);
+
+    if (aFile != KNullDesC)
+        {
+        TFileName file( aFile );
+        if ( aMimeType == KGpxMimeType )
+            {
+            TInt pos = file.Find( KXmlFileExt );
+            file.Replace( pos, KXmlFileExt().Length(), KGpxFileExt );
+            }
+        iLog->Log(_L("FILE (%S)"), &file );
+        TraceL(_L("----->Using FILE<-------"));
+        iLog->Log(_L("Calling TraceL"));
+        TraceL(file);
+        iLog->Log(_L("Input file to be set"));
+        iLandmarkParser->SetInputFileL(file);
+        iLog->Log(_L("Input file set"));
+        }
+    else
+        {
+        iLog->Log(_L("BUFFER (size %d)"), aBuffer.Size() );
+        TraceL(_L("----->Using BUFFER<-------"));
+        iLandmarkParser->SetInputBuffer(aBuffer);
+        }
+
+    iOperation = iLandmarkParser->ParseContentL();
+    TRequestStatus status = KPosLmOperationNotComplete;
+    TReal32 progress;
+    TInt number = 0;
+
+    RArray<TPosLmItemId> array;
+    CleanupClosePushL(array);
+	iLog->Log(_L("Parse begin"));
+    while (status == KPosLmOperationNotComplete)
+        {
+        iLog->Log(_L("--- Parsing ---------------------------"));
+        TraceL(_L("------------------------------"));
+        iOperation->NextStep(status, progress);
+
+        // Wait for NextStep to complete
+        User::WaitForRequest(status);
+        if (status != KPosLmOperationNotComplete && status != KErrNone)
+            {
+            HBufC* buffer = HBufC::NewLC( 128);
+            TPtr buf = buffer->Des();
+                       
+            buf.Format(_L("\tStatus %d"), status.Int());
+            iLog->Log(buf);
+            TraceL(buf);
+            
+            CleanupStack::PopAndDestroy( buffer );
+            buffer = NULL;              
+            }
+        else
+            {
+            if ( iLandmarkParser->NumOfParsedLandmarks() )
+                {
+                // Get last parsed landmark
+                CPosLandmark* lm = iLandmarkParser->LandmarkLC();
+                TPtrC lmName;
+                TPtrC catName;
+                lm->GetLandmarkName(lmName);
+                lm->GetCategoriesL(array);
+                //iLog->Log(lmName);
+                for (TInt i=0;i<array.Count();i++)
+                    {
+                    CPosLandmarkCategory* category = iLandmarkParser->LandmarkCategoryLC(array[i]);
+                    category->GetCategoryName( catName );
+                     
+                    HBufC* buffer = HBufC::NewLC( 128 + catName.Length());
+                    TPtr buf = buffer->Des();
+                                            
+                    if ( category->GlobalCategory()) 
+                        {
+                        buf.Append(_L("\tGlobal category: "));    
+                        }
+                    else 
+                        {
+                        buf.Append(_L("\tLocal category: "));    
+                        }                        
+                    buf.Append(catName);
+                    iLog->Log(buf);
+                    TraceL(buf);
+                    CleanupStack::PopAndDestroy(buffer);
+                    buffer = NULL;
+                    CleanupStack::PopAndDestroy(category);
+                    }
+                    
+                if ( aMimeType == KKmlMimeType )
+                {
+                	PrintLandmarkFieldsWithDescriptionL(*lm, ETrue);	
+                }
+                else
+                {
+                	PrintLandmarkFieldsL(*lm, ETrue);	
+                }
+                
+                number++;
+                CleanupStack::PopAndDestroy(lm);
+                }
+            }
+        }
+
+    iLog->Log(_L("--- Parsing end ---------------------------"));
+    TraceL(_L("------------------------------"));
+    CleanupStack::PopAndDestroy(&array);
+
+    if (status.Int() != aExpectedStatusCode)
+        {
+        HBufC* buffer = HBufC::NewLC( 128 );
+        TPtr buf = buffer->Des();
+                    
+        buf.Format(_L("\tERROR: Wrong status returned, was %d, should be %d"), status.Int(), aExpectedStatusCode);
+        iLog->Log( buf );
+        iErrorsFound++;
+        
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;        
+        }
+
+    TUint32 nr = iLandmarkParser->NumOfParsedLandmarks();
+    HBufC* buffer = HBufC::NewLC( 256 );
+    TPtr buf = buffer->Des();
+    buf.Format(_L("\tNr of Parsed landmarks %d, should be %d"), nr, number);
+    iLog->Log(buf);
+    TraceL(buf);
+
+    CleanupStack::PopAndDestroy( buffer );
+    buffer = NULL;
+    if (nr != (TUint32)number)
+        {
+        iLog->Log(_L("\tERROR: Wrong number of landmarks parsed returned!"));
+        iErrorsFound++;
+        }
+
+    TPosLmCollectionDataId lmId = iLandmarkParser->FirstCollectionDataId();
+
+    iLog->Log(_L("--- CollectionData ---"));
+    TraceL(_L("--- CollectionData ---"));
+
+    if (lmId != EPosLmCollDataNone)
+        {
+        TPtrC first = iLandmarkParser->CollectionData(lmId);
+        HBufC* buffer = HBufC::NewLC( first.Length() + 256 );
+        TPtr buf = buffer->Des();
+        buf.Zero();
+        buf.Format(_L("\t(1)Collection Id: %d CollectionData: "), lmId);
+        buf.Append(first);
+        iLog->Log(buf);
+        TraceL(buf);
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;      
+        }
+    else 
+        {
+        iLog->Log(_L("\tNo collection data found 1"));    
+        }
+
+    while (lmId != EPosLmCollDataNone)
+        {
+        lmId = iLandmarkParser->NextCollectionDataId(lmId);
+        if (lmId != EPosLmCollDataNone)
+        {
+            TPtrC first = iLandmarkParser->CollectionData(lmId);
+            
+            HBufC* buffer = HBufC::NewLC( first.Length() + 256 );
+            TPtr buf = buffer->Des();         
+            buf.Zero();
+            buf.Format(_L("\t(2)Collection Id: %d CollectionData: "), lmId);
+            buf.Append(first);
+            iLog->Log(buf);
+            TraceL(buf);
+            
+            CleanupStack::PopAndDestroy( buffer );
+            buffer = NULL;              
+        }
+        else 
+            {
+            iLog->Log(_L("\tNo collection data found 2"));   
+            }
+        }
+
+    iLog->Log(_L("--- CollectionData ---"));
+    TraceL(_L("--- CollectionData ---"));
+    
+	
+    delete iOperation;
+    iOperation = NULL;
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    iLog->Log(_L("====== PrintParsedDataFromEncoderL Done ========\n"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp47::PrintLandmarkFieldsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp47::PrintLandmarkFieldsL(const CPosLandmark& aLandmark, TBool aTraceFlag)
+    {
+    TPositionFieldId sourceFieldId = aLandmark.FirstPositionFieldId();
+    TLocality loc;
+
+    TInt err;
+    TPtrC landmarkName;
+    err = aLandmark.GetLandmarkName(landmarkName);
+    if (err == KErrNone)
+        {
+        HBufC* buffer = HBufC::NewLC( landmarkName.Length() + 256 );
+        TPtr buf = buffer->Des();
+                    
+        buf.Append( _L(" \tLandmark Name: "));
+        buf.Append( landmarkName );
+        iLog->Log( buf );
+        if( aTraceFlag ) 
+            {
+            TraceL( buf );   
+            }
+            
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;  
+        }
+
+    err = aLandmark.GetPosition(loc);
+    if (err == KErrNone)
+        {
+        HBufC* buffer = HBufC::NewLC( 1024 );
+        TPtr buf = buffer->Des();        
+        TRealFormat format( 12, KRealFormatFixed );
+        format.iPoint = TChar('.');
+        format.iTriLen = KDoNotUseTriads;
+        format.iPlaces = 6;
+        
+        TBuf<20> sLon, sLat, sVacc, sHacc, sAlt, sRad;
+        sLon.Num( loc.Longitude(), format );
+        sLat.Num( loc.Latitude(), format );
+        sAlt.Num( loc.Altitude(), format );
+        sVacc.Num( loc.VerticalAccuracy(), format );
+        sHacc.Num( loc.HorizontalAccuracy(), format );
+        buf.Format(
+            _L("\tLM: Long %S Lat %S vertAcc %S horAcc %S alt %S "), 
+            &sLon, &sLat, &sVacc, &sHacc, &sAlt);
+        
+        TReal32 sourceR;
+        err = aLandmark.GetCoverageRadius(sourceR);
+        if (err == KErrNone )
+            {
+            sRad.Num( sourceR, format );
+            buf.AppendFormat(_L("srcRadius %S"), &sRad);
+            }
+        iLog->Log(buf);
+        if (aTraceFlag) TraceL(buf);
+        CleanupStack::PopAndDestroy(buffer);
+        }
+
+    while (sourceFieldId != EPositionFieldNone)
+        {
+        TPtrC sourceValue;
+        aLandmark.GetPositionField(sourceFieldId, sourceValue);
+        HBufC* buffer = HBufC::NewLC( sourceValue.Length() + 256 );
+        TPtr buf = buffer->Des();  
+        buf.Format(_L("\tIdField Id: %d Value:"), sourceFieldId);
+        buf.Append(sourceValue);
+        iLog->Log(buf);
+        if ( aTraceFlag ) 
+            {
+            TraceL( buf );
+            }
+        sourceFieldId = aLandmark.NextPositionFieldId(sourceFieldId);
+        
+        CleanupStack::PopAndDestroy( buffer );
+        }
+    }
+    
+    
+ // ---------------------------------------------------------
+// CPosTp47::PrintLandmarkFieldsWithDescriptionL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp47::PrintLandmarkFieldsWithDescriptionL(const CPosLandmark& aLandmark, TBool aTraceFlag)
+    {
+    TPositionFieldId sourceFieldId = aLandmark.FirstPositionFieldId();
+    TLocality loc;
+       
+
+    TInt err;
+    TPtrC landmarkName;
+    TPtrC landmarkDescription;
+    err = aLandmark.GetLandmarkName(landmarkName);
+    if (err == KErrNone)
+        {
+        HBufC* buffer = HBufC::NewLC( landmarkName.Length() + 256 );
+        TPtr buf = buffer->Des();
+        buf.Append(_L("\tLandmark Name: "));
+        buf.Append(landmarkName);
+        iLog->Log(buf);
+        if( aTraceFlag ) 
+            {
+            TraceL( buf );   
+            }
+            
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;  
+        }
+
+    err = aLandmark.GetPosition(loc);
+    if (err == KErrNone)
+        {
+        HBufC* buffer = HBufC::NewLC( 1024 );
+        TPtr buf = buffer->Des(); 
+        TRealFormat format( 12, KRealFormatFixed );
+        format.iPoint = TChar('.');
+        format.iTriLen = KDoNotUseTriads;
+        format.iPlaces = 6;
+        
+        TBuf<20> sLon, sLat, sVacc, sHacc, sAlt, sRad;
+        sLon.Num( loc.Longitude(), format );
+        sLat.Num( loc.Latitude(), format );
+        sAlt.Num( loc.Altitude(), format );
+        sVacc.Num( loc.VerticalAccuracy(), format );
+        sHacc.Num( loc.HorizontalAccuracy(), format );
+        buf.Format(
+            _L("\tLM: Long %S Lat %S vertAcc %S horAcc %S alt %S "), 
+            &sLon, &sLat, &sVacc, &sHacc, &sAlt);
+        
+        TReal32 sourceR;
+        err = aLandmark.GetCoverageRadius(sourceR);
+        if (err == KErrNone )
+            {
+            sRad.Num( sourceR, format );
+            buf.AppendFormat(_L("srcRadius %S"), &sRad);
+            }
+        iLog->Log(buf);
+        if (aTraceFlag) TraceL(buf);
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;  
+        }
+        
+      //Get landmark description  
+      err = aLandmark.GetLandmarkDescription(landmarkDescription);
+      if (err == KErrNone)
+        {
+        HBufC* buffer = HBufC::NewLC( landmarkDescription.Length() + 256 );
+        TPtr buf = buffer->Des();         
+        buf.Format(_L("\tLandmark Description: "));
+        buf.Append(landmarkDescription);
+        iLog->Log(buf);
+        if ( aTraceFlag ) 
+            {
+            TraceL( buf );    
+            }
+        
+        CleanupStack::PopAndDestroy( buffer );
+        buffer = NULL;         
+        }  
+    
+
+    while (sourceFieldId != EPositionFieldNone)
+        {
+        TPtrC sourceValue;
+        aLandmark.GetPositionField(sourceFieldId, sourceValue);
+        
+        HBufC* buffer = HBufC::NewLC( sourceValue.Length() + 256 );
+        TPtr buf = buffer->Des();  
+        buf.Format(_L("\tIdField Id: %d Value:"), sourceFieldId);
+        buf.Append(sourceValue);
+        iLog->Log(buf);
+        if ( aTraceFlag ) 
+            {
+            TraceL( buf );
+            }
+        sourceFieldId = aLandmark.NextPositionFieldId(sourceFieldId);
+        
+		    CleanupStack::PopAndDestroy(buffer);    
+		    }
+}
+// ---------------------------------------------------------
+// CPosTp47::TraceL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp47::TraceL(const TDesC& msg)
+    {
+    _LIT8( KEnd, "\r\n" );
+
+    RFile file;
+    TInt err = file.Open(iFileSession, KFileTrace, EFileWrite);
+    if (err == KErrNotFound)
+        {
+        file.Create(iFileSession, KFileTrace, EFileWrite);
+        }
+
+    HBufC8* line8 = CnvUtfConverter::ConvertFromUnicodeToUtf8L( msg );
+    
+    TInt pos( 0 );
+    file.Seek( ESeekEnd, pos );
+    file.Write( *line8 );
+    file.Write( KEnd );
+    file.Close();
+
+    delete line8;
+    }
+
+void CPosTp47::MakeEmptyLmDatabaseL( CPosLandmarkDatabase& aLdb,
+                                     CPosLmCategoryManager& aCatMgr )
+    {
+
+    CPosLmOperation* operation1 = aLdb.RemoveAllLandmarksL();
+    //Remove all landmarks from default db : Sync call
+    ExecuteAndDeleteLD( operation1 );
+
+    RArray<TPosLmItemId> catArray;
+    CleanupClosePushL( catArray );
+
+    // Get all the categories from the database and delete them if necessary
+    CPosLmItemIterator* iter = aCatMgr.CategoryIteratorL();
+    CleanupStack::PushL( iter );
+
+    TUint count = iter->NumOfItemsL();
+    if ( count > 0 )
+        { // can only be called if there are some items
+        iter->GetItemIdsL( catArray, 0, count );
+        }
+
+    // Remove all the categories here Sync call
+    ExecuteAndDeleteLD(aCatMgr.RemoveCategoriesL( catArray ));
+    CleanupStack::PopAndDestroy( 2 ); // catArray, iter
+    }
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp48.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,1442 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp48.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLandmarkParser.h>
+#include <EPos_CPosLandmarkEncoder.h>
+#include <EPos_CPosLandmarkSearch.h>
+#include <EPos_CPosLmTextCriteria.h>
+#include <EPos_CPosLMItemIterator.h>
+#include <LbsPosition.h>
+#include <bautils.h>
+
+// CONSTANTS
+_LIT(KXMLFile, "c:\\documents\\Tp48.xml");
+// Filename with 260 characters
+_LIT(KLongFileName, "c:\\File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File123456File12");
+_LIT(KEmptyFileName1, "c:\\");
+_LIT(KEmptyFileName2, "");
+_LIT(KNonExistingFileName, "c:\\NonExistingFile.xml");
+
+_LIT(KNewGlobalCategory, "OutSight");
+
+const TInt KOrigGlobalCategoryId = 45000;// "Transport"
+
+//#define DEBUG EFalse
+#define DEBUG ETrue
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp48::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp48::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+
+    iLandmarks.ResetAndDestroy();
+    iLandmarks.Close();
+
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+
+    delete iOperation;
+    iOperation = NULL;
+
+    delete iDatabase;
+    iDatabase=NULL;
+    
+    delete iEncoderBuffer;
+    iEncoderBuffer = NULL;
+
+    iLog->Log(_L("CloseTest Done"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp48::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp48::StartL()
+    {
+    BaflUtils::EnsurePathExistsL( iFileSession, KXMLFile );
+
+    TInt lang = User::Language();
+    iLog->Log(_L("StartL"));
+   
+    // Use file
+    DoTestL(ETrue, EFalse);
+
+    // Use buffer
+    DoTestL(EFalse, EFalse);
+
+    // Use file, parse XML content before import
+    DoTestL(ETrue, ETrue);
+
+    // Use buffer, parse XML content before import
+    DoTestL(EFalse, ETrue);
+
+    // Use file, cancel before complete
+    iLog->Log(_L("Use file, cancel before complete"));
+    DoTestL(ETrue, EFalse, EFalse, ETrue);
+
+    iLog->Log(_L("Use buffer, cancel before complete"));
+    // Use buffer, cancel before complete
+    DoTestL(EFalse, EFalse, EFalse, ETrue);
+
+    ResetLandmarksDbL();
+    DeleteFileL(KXMLFile);
+    
+    iLandmarkEncoder = CPosLandmarkEncoder::NewL(KLmxMimeType);
+    // Use file for encoding, set output file
+    iLandmarkEncoder->SetOutputFileL(KXMLFile);
+    CreateXMLDataL();
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+
+    // Remove one global category
+    iLog->Log(_L("TC_Step10 Delete one global category"));
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+    // Remove global category "Hotel global id=4"
+    
+    TPosLmItemId id = categoryManager->GetGlobalCategoryL(39000);
+    ExecuteAndDeleteLD(categoryManager->RemoveCategoryL(id));
+    
+    //Verify removed
+    
+    id = categoryManager->GetGlobalCategoryL(39000);
+    if (id != KPosLmNullItemId) 
+    {
+    	iLog->Log(_L("Global category has not been removed"));
+    	User::Leave(-1);
+    }
+
+    iLandmarkParser = CPosLandmarkParser::NewL(KLmxMimeType);
+    iLandmarkParser->SetInputFileL(KXMLFile);
+    
+    iLog->Log(_L("TC_Step11 Import all landmarks"));    
+    ExecuteAndDeleteLD(iDatabase->ImportLandmarksL(*iLandmarkParser, CPosLandmarkDatabase::EIncludeCategories));
+
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+
+    //Verify that global category has been added again, since it is predefined it should be 
+    // imported as a global category (otherwise it should be a local category)
+   
+    id = categoryManager->GetGlobalCategoryL(39000);
+    if (id == KPosLmNullItemId) iLog->Log(_L("Global category has not been added"));
+
+	CPosLandmarkCategory* catte = categoryManager->ReadCategoryLC(id);
+
+    if (catte->GlobalCategory() == KPosLmNullGlobalCategory) iLog->Log(_L("  Not global category"));
+   
+    CleanupStack::PopAndDestroy(catte);
+
+    ResetLandmarksDbL();
+    DeleteFileL(KXMLFile);
+    
+    CleanupStack::PopAndDestroy(categoryManager);
+    categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+    
+    iLandmarkEncoder = CPosLandmarkEncoder::NewL(KLmxMimeType);
+    // Use file for encoding, set output file
+    iLandmarkEncoder->SetOutputFileL(KXMLFile);
+    CreateXMLDataL();
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+
+    // Rename one global category
+    // Rename global category "Shop global id=5" to Nisses BilAffär
+    iLog->Log(_L("TC_Step12 Rename one global category"));
+    id = categoryManager->GetGlobalCategoryL(15000);
+    catte = categoryManager->ReadCategoryLC(id);
+    catte->SetCategoryNameL(_L("Nisses BilAffär"));
+    categoryManager->UpdateCategoryL(*catte);
+    CleanupStack::PopAndDestroy(catte);
+
+    iLandmarkParser = CPosLandmarkParser::NewL(KLmxMimeType);
+    iLandmarkParser->SetInputFileL(KXMLFile);
+    
+    iLog->Log(_L("TC_Step13 Import all landmarks"));
+    ExecuteAndDeleteLD(iDatabase->ImportLandmarksL(*iLandmarkParser, CPosLandmarkDatabase::EIncludeCategories));
+
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+
+    //Verify that global category has been added again, since it is predefined it should be 
+    // imported as a global category (otherwise it should be a local category)
+    
+    TPosLmItemId id1 = categoryManager->GetGlobalCategoryL(15000);
+    if (id1 == KPosLmNullItemId) iLog->Log(_L("Global category has not been added"));
+
+    TPosLmItemId id2 = categoryManager->GetCategoryL(_L("Nisses BilAffär"));
+    if (id2 == KPosLmNullItemId) iLog->Log(_L("Global category has not been added 2"));
+
+    if (id1 != id2) 
+    {
+    	iLog->Log(_L("Categories should have the same id"));
+    	User::Leave(-1);
+    }
+
+    catte = categoryManager->ReadCategoryLC(id1);
+    if (catte->GlobalCategory() == KPosLmNullGlobalCategory) iLog->Log(_L("Nisses Bilaffär is no global category"));
+
+    id = categoryManager->GetCategoryL(_L("Shop"));
+    if (id != KPosLmNullItemId) iLog->Log(_L("Shop should not exist"));
+  
+    CleanupStack::PopAndDestroy(catte);
+    CleanupStack::PopAndDestroy(categoryManager);
+
+    iLog->Log(_L("TC_Step14 Test import with long file name"));
+    ImportFromFileWithLongFileNameL();
+
+    iLog->Log(_L("TC_Step15 Change "));
+    DoTestChangeInputMethodL();
+    
+    if (iErrorsFound != KErrNone)
+        {
+       
+       	iLog->Log(_L("Errors were found in TP48"));
+    	User::Leave(-1);
+        }
+
+    }
+
+// ---------------------------------------------------------
+// CPosTp48::DoTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp48::DoTestL(TBool aFile, TBool aFullParse, TBool aDoParse, TBool aCancel)
+    {
+    iLog->Log(_L("DoTestL"));
+
+    // find localized name of needed category
+    HBufC* origGlobalCategory = GetGlobalCategoryFromResourceLC( KOrigGlobalCategoryId );
+
+    RArray<TUint> subset;
+    CleanupClosePushL(subset);
+
+    ResetLandmarksDbL();
+    DeleteFileL(KXMLFile);
+
+    HBufC8* bufferContent = NULL;
+
+    iLandmarkEncoder = CPosLandmarkEncoder::NewL(KLmxMimeType);
+    if (aFile)
+        {
+        // Use file for encoding, set output file
+        iLandmarkEncoder->SetOutputFileL(KXMLFile);
+        }
+    else 
+        {
+        // Use buffer for encoding
+        iEncoderBuffer = iLandmarkEncoder->SetUseOutputBufferL();
+        }
+
+    CreateXMLDataL();
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+    iLandmarkParser = CPosLandmarkParser::NewL(KLmxMimeType);
+
+    if (aFile)
+        {
+        iLog->Log(_L("TC_Step2 Set input to be parsed from XML File"));
+        iLandmarkParser->SetInputFileL(KXMLFile);
+        }
+    else
+        {
+        iLog->Log(_L("TC_Step2 Set input to be parsed from buffer"));
+        bufferContent = HBufC8::NewLC(iEncoderBuffer->Size());
+        TPtr8 ptr = bufferContent->Des();
+        iEncoderBuffer->Read(0, ptr, iEncoderBuffer->Size());
+        iLandmarkParser->SetInputBuffer(*bufferContent);
+        }
+    
+    iLog->Log(_L("TC_Step3 Import all landmarks Synchronously"));
+    ImportLandmarksL(ETrue, aFullParse, CPosLandmarkDatabase::EDefaultOptions, subset, aDoParse, aCancel);
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    if (!aFile) CleanupStack::PopAndDestroy(bufferContent);
+
+    ResetLandmarksDbL();
+    DeleteFileL(KXMLFile);
+    iLandmarkEncoder = CPosLandmarkEncoder::NewL(KLmxMimeType);
+    // Use file for encoding, set output file
+    iLandmarkEncoder->SetOutputFileL(KXMLFile);
+    CreateXMLDataL();
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+    iLandmarkParser = CPosLandmarkParser::NewL(KLmxMimeType);
+    
+    if (aFile)
+        {
+        iLog->Log(_L("TC_Step3 Set input to be parsed from XML File"));
+        iLandmarkParser->SetInputFileL(KXMLFile);
+        }
+    else
+        {
+        iLog->Log(_L("TC_Step3 Set input to be parsed from buffer"));
+        bufferContent = HBufC8::NewLC(iEncoderBuffer->Size());
+        TPtr8 ptr = bufferContent->Des();
+        iEncoderBuffer->Read(0, ptr, iEncoderBuffer->Size());
+        iLandmarkParser->SetInputBuffer(*bufferContent);
+        }
+
+    iLog->Log(_L("TC_Step3 Import all landmarks Asynchronously"));
+    ImportLandmarksL(EFalse, aFullParse, CPosLandmarkDatabase::EDefaultOptions, subset, aDoParse, aCancel);
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    if (!aFile) CleanupStack::PopAndDestroy(bufferContent);
+
+    ResetLandmarksDbL();
+    DeleteFileL(KXMLFile);
+    iLandmarkEncoder = CPosLandmarkEncoder::NewL(KLmxMimeType);
+    // Use file for encoding, set output file
+    iLandmarkEncoder->SetOutputFileL(KXMLFile);
+    CreateXMLDataL();
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+    iLandmarkParser = CPosLandmarkParser::NewL(KLmxMimeType);
+    
+    if (aFile)
+        {
+        iLog->Log(_L("TC_Step3 Set input to be parsed from XML File"));
+        iLandmarkParser->SetInputFileL(KXMLFile);
+        }
+    else
+        {
+        iLog->Log(_L("TC_Step3 Set input to be parsed from buffer"));
+        bufferContent = HBufC8::NewLC(iEncoderBuffer->Size());
+        TPtr8 ptr = bufferContent->Des();
+        iEncoderBuffer->Read(0, ptr, iEncoderBuffer->Size());
+        iLandmarkParser->SetInputBuffer(*bufferContent);
+        }
+
+    iLog->Log(_L("TC_Step3 Import all landmarks Synchronously"));
+    ImportLandmarksL(ETrue, aFullParse, CPosLandmarkDatabase::EDefaultOptions, subset, aDoParse, aCancel);
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    if (!aFile) CleanupStack::PopAndDestroy(bufferContent);
+       
+    // Only import a subset of landmarks
+    iLog->Log(_L("TC_Step4 Only import a subset of landmarks, Sync"));
+    ResetLandmarksDbL();
+    DeleteFileL(KXMLFile);
+    iLandmarkEncoder = CPosLandmarkEncoder::NewL(KLmxMimeType);
+    // Use file for encoding, set output file
+    iLandmarkEncoder->SetOutputFileL(KXMLFile);
+    CreateXMLDataL();
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+    iLandmarkParser = CPosLandmarkParser::NewL(KLmxMimeType);
+    
+    if (aFile)
+        {
+        iLog->Log(_L("TC_Step4 Set input to be parsed from XML File"));
+        iLandmarkParser->SetInputFileL(KXMLFile);
+        }
+    else
+        {
+        iLog->Log(_L("TC_Step4 Set input to be parsed from buffer"));
+        bufferContent = HBufC8::NewLC(iEncoderBuffer->Size());
+        TPtr8 ptr = bufferContent->Des();
+        iEncoderBuffer->Read(0, ptr, iEncoderBuffer->Size());
+        iLandmarkParser->SetInputBuffer(*bufferContent);
+        }
+    
+    subset.Append(0);
+    subset.Append(1);
+    subset.Append(2);
+    subset.Append(3);
+
+    delete iLandmarks[7];
+    delete iLandmarks[6];
+    delete iLandmarks[5];
+    delete iLandmarks[4];
+
+    iLandmarks.Remove(7);
+    iLandmarks.Remove(6);
+    iLandmarks.Remove(5);
+    iLandmarks.Remove(4);
+
+    ImportLandmarksL(ETrue, aFullParse, CPosLandmarkDatabase::EDefaultOptions, subset, aDoParse, aCancel);
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    if (!aFile) CleanupStack::PopAndDestroy(bufferContent);
+    subset.Reset();
+
+    // Only import a subset of landmarks
+    iLog->Log(_L("TC_Step4 Only import a subset of landmarks, Async"));
+    ResetLandmarksDbL();
+    DeleteFileL(KXMLFile);
+    iLandmarkEncoder = CPosLandmarkEncoder::NewL(KLmxMimeType);
+    // Use file for encoding, set output file
+    iLandmarkEncoder->SetOutputFileL(KXMLFile);
+    CreateXMLDataL();
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+    iLandmarkParser = CPosLandmarkParser::NewL(KLmxMimeType);
+    
+    if (aFile)
+        {
+        iLog->Log(_L("TC_Step4 Set input to be parsed from XML File"));
+        iLandmarkParser->SetInputFileL(KXMLFile);
+        }
+    else
+        {
+        iLog->Log(_L("TC_Step4 Set input to be parsed from buffer"));
+        bufferContent = HBufC8::NewLC(iEncoderBuffer->Size());
+        TPtr8 ptr = bufferContent->Des();
+        iEncoderBuffer->Read(0, ptr, iEncoderBuffer->Size());
+        iLandmarkParser->SetInputBuffer(*bufferContent);
+        }
+    
+    subset.Append(0);
+    subset.Append(1);
+    subset.Append(2);
+    subset.Append(3);
+
+    delete iLandmarks[7];
+    delete iLandmarks[6];
+    delete iLandmarks[5];
+    delete iLandmarks[4];
+
+    iLandmarks.Remove(7);
+    iLandmarks.Remove(6);
+    iLandmarks.Remove(5);
+    iLandmarks.Remove(4);
+
+    ImportLandmarksL(EFalse, aFullParse, CPosLandmarkDatabase::EDefaultOptions, subset, aDoParse, aCancel);
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    if (!aFile) CleanupStack::PopAndDestroy(bufferContent);
+    subset.Reset();
+    
+    iLog->Log(_L("TC_Step5 Only import a subset of landmarks, use EIncludeCategories, ASync"));
+    ResetLandmarksDbL();
+    subset.Reset();
+    DeleteFileL(KXMLFile);
+    iLandmarkEncoder = CPosLandmarkEncoder::NewL(KLmxMimeType);
+    // Use file for encoding, set output file
+    iLandmarkEncoder->SetOutputFileL(KXMLFile);
+    CreateXMLDataL();
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+    iLandmarkParser = CPosLandmarkParser::NewL(KLmxMimeType);
+    
+    if (aFile)
+        {
+        iLog->Log(_L("TC_Step5 Set input to be parsed from XML File"));
+        iLandmarkParser->SetInputFileL(KXMLFile);
+        }
+    else
+        {
+        iLog->Log(_L("TC_Step5 Set input to be parsed from buffer"));
+        bufferContent = HBufC8::NewLC(iEncoderBuffer->Size());
+        TPtr8 ptr = bufferContent->Des();
+        iEncoderBuffer->Read(0, ptr, iEncoderBuffer->Size());
+        iLandmarkParser->SetInputBuffer(*bufferContent);
+        }
+    
+    subset.Append(0);
+    subset.Append(1);
+    subset.Append(2);
+    subset.Append(3);
+    subset.Append(7);
+
+    delete iLandmarks[6];
+    delete iLandmarks[5];
+    delete iLandmarks[4];
+
+    iLandmarks.Remove(6);
+    iLandmarks.Remove(5);
+    iLandmarks.Remove(4);
+
+    ImportLandmarksL(EFalse, aFullParse, CPosLandmarkDatabase::EIncludeCategories, subset, aDoParse, aCancel);
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    if (!aFile) CleanupStack::PopAndDestroy(bufferContent);
+
+    iLog->Log(_L("TC_Step5 Only import a subset of landmarks, use EIncludeCategories, Sync"));
+    ResetLandmarksDbL();
+    subset.Reset();
+    DeleteFileL(KXMLFile);
+    iLandmarkEncoder = CPosLandmarkEncoder::NewL(KLmxMimeType);
+    // Use file for encoding, set output file
+    iLandmarkEncoder->SetOutputFileL(KXMLFile);
+    CreateXMLDataL();
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+    iLandmarkParser = CPosLandmarkParser::NewL(KLmxMimeType);
+    
+    if (aFile)
+        {
+        iLog->Log(_L("TC_Step5 Set input to be parsed from XML File"));
+        iLandmarkParser->SetInputFileL(KXMLFile);
+        }
+    else
+        {
+        iLog->Log(_L("TC_Step5 Set input to be parsed from buffer"));
+        bufferContent = HBufC8::NewLC(iEncoderBuffer->Size());
+        TPtr8 ptr = bufferContent->Des();
+        iEncoderBuffer->Read(0, ptr, iEncoderBuffer->Size());
+        iLandmarkParser->SetInputBuffer(*bufferContent);
+        }
+   
+    subset.Append(0);
+    subset.Append(1);
+    subset.Append(2);
+    subset.Append(3);
+    subset.Append(7);
+
+    delete iLandmarks[6];
+    delete iLandmarks[5];
+    delete iLandmarks[4];
+
+    iLandmarks.Remove(6);
+    iLandmarks.Remove(5);
+    iLandmarks.Remove(4);
+
+    ImportLandmarksL(ETrue, aFullParse, CPosLandmarkDatabase::EIncludeCategories, subset, aDoParse, aCancel);
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    if (!aFile) CleanupStack::PopAndDestroy(bufferContent);
+    // Since only EIncludeCategories was used, the global category should not have been overwritten
+    CheckGlobalCategoryExistL(*origGlobalCategory, KNewGlobalCategory);
+
+    // Now use EIncludeCategories | EIncludeGlobalCategoryNames which should cause the global cateory name to 
+    // be overwritten
+    iLog->Log(_L("TC_Step5 Only import a subset of landmarks, use EIncludeCategories | EIncludeGlobalCategoryNames, Sync"));
+    subset.Reset();
+    ResetLandmarksDbL();
+    DeleteFileL(KXMLFile);
+    iLandmarkEncoder = CPosLandmarkEncoder::NewL(KLmxMimeType);
+    // Use file for encoding, set output file
+    iLandmarkEncoder->SetOutputFileL(KXMLFile);
+    CreateXMLDataL();
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+    iLandmarkParser = CPosLandmarkParser::NewL(KLmxMimeType);
+
+    if (aFile)
+        {
+        iLog->Log(_L("TC_Step5 Set input to be parsed from XML File"));
+        iLandmarkParser->SetInputFileL(KXMLFile);
+        }
+    else
+        {
+        iLog->Log(_L("TC_Step5 Set input to be parsed from buffer"));
+        bufferContent = HBufC8::NewLC(iEncoderBuffer->Size());
+        TPtr8 ptr = bufferContent->Des();
+        iEncoderBuffer->Read(0, ptr, iEncoderBuffer->Size());
+        iLandmarkParser->SetInputBuffer(*bufferContent);
+        }    
+
+    subset.Append(0);
+    subset.Append(1);
+    subset.Append(2);
+    subset.Append(3);
+    subset.Append(4);
+    subset.Append(5);
+    subset.Append(6);
+    subset.Append(7);
+
+    ImportLandmarksL(ETrue, aFullParse, CPosLandmarkDatabase::EIncludeCategories | CPosLandmarkDatabase::EIncludeGlobalCategoryNames, subset, aDoParse, aCancel);
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    if (!aFile) CleanupStack::PopAndDestroy(bufferContent);
+    // Since EIncludeCategories| EIncludeGlobalCategoryNames was used, the global category should have been overwritten
+    // Dont do check if cancel was performed
+    if (!aCancel) CheckGlobalCategoryExistL(KNewGlobalCategory, *origGlobalCategory);
+
+    iLog->Log(_L("TC_Step5 Only import a subset of landmarks, use EIncludeCategories | EIncludeGlobalCategoryNames, Async"));
+    ResetLandmarksDbL();
+    DeleteFileL(KXMLFile);
+    iLandmarkEncoder = CPosLandmarkEncoder::NewL(KLmxMimeType);
+    // Use file for encoding, set output file
+    iLandmarkEncoder->SetOutputFileL(KXMLFile);
+    CreateXMLDataL();
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+    iLandmarkParser = CPosLandmarkParser::NewL(KLmxMimeType);
+
+    if (aFile)
+        {
+        iLog->Log(_L("TC_Step5 Set input to be parsed from XML File"));
+        iLandmarkParser->SetInputFileL(KXMLFile);
+        }
+    else
+        {
+        iLog->Log(_L("TC_Step5 Set input to be parsed from buffer"));
+        bufferContent = HBufC8::NewLC(iEncoderBuffer->Size());
+        TPtr8 ptr = bufferContent->Des();
+        iEncoderBuffer->Read(0, ptr, iEncoderBuffer->Size());
+        iLandmarkParser->SetInputBuffer(*bufferContent);
+        }
+
+    ImportLandmarksL(EFalse, aFullParse, CPosLandmarkDatabase::EIncludeCategories | CPosLandmarkDatabase::EIncludeGlobalCategoryNames, subset, aDoParse, aCancel);
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    if (!aFile) CleanupStack::PopAndDestroy(bufferContent);
+    // Since EIncludeCategories| EIncludeGlobalCategoryNames was used, the global category should have been overwritten
+    // Dont do check if cancel was performed
+    if (!aCancel) CheckGlobalCategoryExistL(KNewGlobalCategory, *origGlobalCategory);
+
+    CleanupStack::PopAndDestroy(&subset);
+    delete iEncoderBuffer;
+    iEncoderBuffer = NULL;
+    CleanupStack::PopAndDestroy( origGlobalCategory );
+	}
+
+// ---------------------------------------------------------
+// CPosTp48::ImportLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp48::ImportLandmarksL(TBool aSync, TBool aFullParse, TUint aTransferOption, const RArray<TUint>&  aLandmarkSubSet, TBool aDoParse, TBool aCancel)
+    {
+    iLog->Log(_L("ImportLandmarksL"));
+
+    TRequestStatus status = KPosLmOperationNotComplete;
+    TReal32 progress = 0;
+
+    if (aFullParse)
+        {
+        // ParseContent before importing
+        ExecuteAndDeleteLD(iLandmarkParser->ParseContentL());
+        iLog->Log(_L("After ExecuteAndDeleteLD(iLandmarkParser->ParseContentL());"));
+        }
+   
+    if (aDoParse)
+        {
+        // Do an "almost full" parsecontent before import
+        iOperation = iLandmarkParser->ParseContentL();
+        
+        
+        while (progress <0.7)
+            {
+            iOperation->NextStep(status, progress);
+            // Wait for NextStep to complete
+            User::WaitForRequest(status);
+            }
+        iLog->Log(_L("After aDoParse"));
+        delete iOperation;
+        iOperation = NULL;
+        }
+
+    if (aLandmarkSubSet.Count() == 0)
+        {
+        iOperation = iDatabase->ImportLandmarksL(*iLandmarkParser, aTransferOption);
+        }
+    else
+        {
+        // Import only a subset of the landmarks in parser
+        iOperation = iDatabase->ImportLandmarksL(*iLandmarkParser, aLandmarkSubSet,  aTransferOption);
+        }
+
+    if (aSync)
+        {
+        // Synchronous
+        ExecuteAndDeleteLD(iOperation);
+        iOperation = NULL;
+        iLog->Log(_L("After aSync"));
+        }
+    else
+        {
+        // Asynchronous
+        // Progress us checked in test procedure base
+        if (aCancel)
+            {
+            
+            // It is no more possible to do WaitForRequest after ImportLandmarksL
+            RunAsyncOperationAndCancelInCallbackLD(iOperation);
+            iOperation = NULL;
+            iLog->Log(_L("After aCancel"));
+            }
+        else
+            {
+            RunAsyncOperationLD(iOperation);
+            iOperation = NULL;
+            iLog->Log(_L("After RunAsyncOperationLD(iOperation);"));
+            }
+        }
+
+    if (!aCancel) CheckLandmarksDatabaseL(aTransferOption);
+
+    }
+
+// ---------------------------------------------------------
+// CPosTp48::ResetLandmarksDbL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp48::ListLandmarksDbL()
+    {   
+    iLog->Log(_L("ListLandmarksDbL"));
+
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+
+    CPosLmItemIterator* iter = iDatabase->LandmarkIteratorL();
+    CleanupStack::PushL(iter);
+    RArray<TPosLmItemId> categories;
+    CleanupClosePushL(categories);
+
+    iLog->Log(_L("Landmarks:"));
+    TPosLmItemId id = iter->NextL();
+    TBuf<255> buffe;
+    while (id != KPosLmNullItemId)
+        {
+        TPtrC name;
+        
+        CPosLandmark* lm = iDatabase->ReadLandmarkLC(id);
+        lm->GetLandmarkName(name);
+
+        buffe.Zero();
+        buffe.Append(name);
+        lm->GetCategoriesL(categories);
+
+        buffe.Append(_L(" With Categories: "));
+        iLog->Log(buffe);
+        for (TInt i=0;i<categories.Count();i++)
+            {
+            CPosLandmarkCategory* cat = categoryManager->ReadCategoryLC(categories[i]);
+            cat->GetCategoryName(name);
+            buffe.Zero();
+            buffe.Append(name);
+            iLog->Log(buffe);
+            CleanupStack::PopAndDestroy(cat);
+            }
+        CleanupStack::PopAndDestroy(lm);
+        id = iter->NextL();
+        }
+
+    CleanupStack::PopAndDestroy(&categories);
+    CleanupStack::PopAndDestroy(iter);
+
+    iter = categoryManager->CategoryIteratorL();
+    CleanupStack::PushL(iter);
+
+    iLog->Log(_L("Categories:"));
+    id = iter->NextL();
+    while (id != KPosLmNullItemId)
+        {
+        TPtrC name;
+        TBuf<255> buffe;
+
+        CPosLandmarkCategory* cat = categoryManager->ReadCategoryLC(id);
+        cat->GetCategoryName(name);
+        buffe.Zero();
+        buffe.Append(name);
+        iLog->Log(buffe);
+        CleanupStack::PopAndDestroy(cat);
+        id = iter->NextL();
+        }
+
+    CleanupStack::PopAndDestroy(iter);
+    CleanupStack::PopAndDestroy(categoryManager);
+    }
+
+// ---------------------------------------------------------
+// CPosTp48::ResetLandmarksDbL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp48::ResetLandmarksDbL()
+    {
+    iLog->Log(_L("ResetLandmarksDbL"));
+    
+    
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+
+    iLandmarks.ResetAndDestroy();
+    iLandmarks.Close();
+
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+
+    delete iDatabase;
+    iDatabase=NULL;
+
+    // Use same lm db as in composite search test
+    iDatabase = UseCompositeLandmarksDbFileL();
+    if (iDatabase->IsInitializingNeeded())
+        {
+        ExecuteAndDeleteLD(iDatabase->InitializeL());
+        }
+    
+    delete iDatabase;
+    iDatabase = NULL;
+    iDatabase = CPosLandmarkDatabase::OpenL();
+    	
+    	if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+    // Do reset so that global categories are included
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);   
+    ExecuteAndDeleteLD(categoryManager->ResetGlobalCategoriesL());
+    CleanupStack::PopAndDestroy(categoryManager);
+
+    iLog->Log(_L("ResetLandmarksDbL Done"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp48::DoTestChangeInputMethodL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp48::DoTestChangeInputMethodL()
+    {
+    iLog->Log(_L("DoTestChangeInputMethodL"));
+    ResetLandmarksDbL();
+
+    HBufC8* bufferContent = NULL;
+
+    iLandmarkEncoder = CPosLandmarkEncoder::NewL(KLmxMimeType);
+    iEncoderBuffer = iLandmarkEncoder->SetUseOutputBufferL();
+
+    CreateXMLDataL();
+    delete iLandmarkEncoder;
+    iLandmarkEncoder = NULL;
+    iLandmarkParser = CPosLandmarkParser::NewL(KLmxMimeType);
+
+    bufferContent = HBufC8::NewLC(iEncoderBuffer->Size());
+    TPtr8 ptr = bufferContent->Des();
+    iEncoderBuffer->Read(0, ptr, iEncoderBuffer->Size());
+    iLandmarkParser->SetInputBuffer(*bufferContent);
+
+    TRequestStatus status = KPosLmOperationNotComplete;
+    TReal32 progress = 0;
+
+    // Do an "almost full" parsecontent
+    iOperation = iLandmarkParser->ParseContentL();
+    while (progress <0.5)
+        {
+        iOperation->NextStep(status, progress);
+        // Wait for NextStep to complete
+        User::WaitForRequest(status);
+        }
+
+    delete iOperation;
+    iOperation = NULL;
+    
+    // Change input method
+    iLandmarkParser->SetInputFileL(KXMLFile);
+
+    // Now import all XML data from file
+    ExecuteAndDeleteLD(iDatabase->ImportLandmarksL(*iLandmarkParser, CPosLandmarkDatabase::EDefaultOptions));
+    CheckLandmarksDatabaseL(CPosLandmarkDatabase::EDefaultOptions);
+
+    CleanupStack::PopAndDestroy(bufferContent);
+
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    }
+
+// ---------------------------------------------------------
+// CPosTp48::ImportFromFileWithLongFileNameL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp48::ImportFromFileWithLongFileNameL()
+    {
+    iLog->Log(_L("ImportFromFileWithLongFileNameL"));
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+
+    iLandmarkParser = CPosLandmarkParser::NewL(KLmxMimeType);
+    TRAPD(err, iLandmarkParser->SetInputFileL(KLongFileName));
+    
+    // Error differs between winscw and target
+   
+    if ( err != KErrBadName ) 
+        {
+        TBuf<100> buf;    
+        buf.Format(_L("ERROR: SetInputFileL should leave with KErrBadName, instead err: %d"), err);  
+        iLog->Log(buf);
+        iErrorsFound++;        
+        }
+    
+    // Also test empty filename here
+    TRAP(err, iLandmarkParser->SetInputFileL(KEmptyFileName1));
+    if (err != KErrBadName)
+        {
+        iLog->Log(_L("ERROR: SetInputFileL(KEmptyFileName1) should leave with KErrBadName"));
+        iErrorsFound++;
+        }
+        
+    // Also test empty filename here
+    TRAP(err, iLandmarkParser->SetInputFileL(KEmptyFileName2));
+    if (err != KErrBadName)
+        {
+        TBuf<100> buf;
+        buf.Format(_L("ERROR: SetInputFileL(KEmptyFileName2) should leave with KErrBadName, instead err: %d"), err);
+        iLog->Log(buf);
+        iErrorsFound++;
+        }    
+    
+    // Also test non existing filen here
+    TRAP(err, iLandmarkParser->SetInputFileL(KNonExistingFileName));
+    if (err != KErrNotFound)
+        {
+        iLog->Log(_L("ERROR: SetInputFileL(KNonExistingFileName) should leave with KErrNotFound"));
+        iErrorsFound++;
+        }    
+    
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    iLog->Log(_L("ImportFromFileWithLongFileNameL Done"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp48::CheckLandmarksDatabaseL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp48::CheckLandmarksDatabaseL(TUint aTransferOption)
+    {
+    iLog->Log(_L("CheckLandmarksDatabaseL"));
+    iLandmarkSearch = CPosLandmarkSearch::NewL(*iDatabase);
+    TUint attr = CPosLandmark::ELandmarkName;
+
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+    RArray<TPosLmItemId> sourceArray;
+    CleanupClosePushL(sourceArray);
+
+    RArray<TPosLmItemId> array;
+    CleanupClosePushL(array);
+
+    TInt nrOfLandmarks = iLandmarks.Count();
+    TPtrC lmName;
+
+    for (TInt i=0;i<nrOfLandmarks; i++)
+        {
+        iLandmarks[i]->GetLandmarkName(lmName);
+
+        textCriteria->SetAttributesToSearch(attr);
+        textCriteria->SetTextL(lmName);
+
+        ExecuteAndDeleteLD(iLandmarkSearch->StartLandmarkSearchL(*textCriteria));
+ 
+        CPosLmItemIterator* iter = iLandmarkSearch->MatchIteratorL();
+        CleanupStack::PushL(iter);
+    
+        TUint nr = iLandmarkSearch->NumOfMatches();
+        iLog->Log(_L("****** Found %d nr of landmarks when looking for '%S'"),nr, &lmName);
+        TPosLmItemId id = iter->NextL();
+        
+        if (nr > 1)
+            {
+            // The first landmark is the one existing in db before import,
+            // no need to check that one, only the one added from import (the second one)
+            id = iter->NextL();
+            }
+            
+        while (id != KPosLmNullItemId)
+            {
+            CPosLandmark* source = iDatabase->ReadLandmarkLC(id);
+            TPtrC sourceName;
+            source->GetLandmarkName(sourceName);
+
+            iLog->Log(_L("Found landmark '%S'"), &sourceName);
+            
+            TInt err = CompareXMLLandmarksL(*iLandmarks[i], *source, DEBUG);
+            if (err != KErrNone)
+                {
+                PrintLandmarkIdFieldsL(*iLandmarks[i]);
+                PrintLandmarkIdFieldsL(*source);
+                iLog->Log(_L("ERROR: CompareXMLLandmarksL returned error"));
+                iErrorsFound+=err;
+                }
+
+            source->GetCategoriesL(sourceArray);
+            iLandmarks[i]->GetCategoriesL(array);
+
+            CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+            CleanupStack::PushL(categoryManager);
+
+            if (aTransferOption == CPosLandmarkDatabase::EDefaultOptions)
+                {
+                // No categories imported
+                if (sourceArray.Count() != 0)
+                    {
+                    iLog->Log(_L("ERROR: No categories should have been imported, found %d "), sourceArray.Count());
+                    iErrorsFound++;
+                    }
+                }
+            else
+                {
+                if (sourceArray.Count() != array.Count())
+                    {
+                    for (TInt j=0;j<sourceArray.Count();j++)
+                        {
+                        CPosLandmarkCategory* sourceCat = categoryManager->ReadCategoryLC(sourceArray[j]);
+                        TPtrC sourceName;
+                        sourceCat->GetCategoryName( sourceName );
+                        iLog->Log(_L("Found category '%S'"), &sourceName);
+                        }
+                    iLog->Log(_L("ERROR: Nr of categories differ, was %d should be %d"), sourceArray.Count(), array.Count());
+					User::Leave(KErrNone);
+                    }
+
+                for (TInt j=0;j<sourceArray.Count();j++)
+                    {
+                    iLog->Log(_L("Src Id: %d Id: %d"), sourceArray[j], array[j]);
+                    
+                    CPosLandmarkCategory* sourceCat = categoryManager->ReadCategoryLC(sourceArray[j]);
+                    CPosLandmarkCategory* cat = categoryManager->ReadCategoryLC(array[j]);
+                    TPtrC sourceName, name;
+                    cat->GetCategoryName(name);
+                    sourceCat->GetCategoryName(sourceName);
+                    iLog->Log(_L("Found category, source cat '%S', cat '%S'"), &sourceName, &name);
+                    iErrorsFound += CompareXMLCategoriesL(*cat, *sourceCat, DEBUG);
+                    CleanupStack::PopAndDestroy(cat);
+                    CleanupStack::PopAndDestroy(sourceCat);
+                    }
+                }
+            CleanupStack::PopAndDestroy(categoryManager);
+
+            CleanupStack::PopAndDestroy(source);
+            id = iter->NextL();
+            }
+        CleanupStack::PopAndDestroy(iter);
+        }
+
+    CleanupStack::PopAndDestroy(&array);
+    CleanupStack::PopAndDestroy(&sourceArray);
+    CleanupStack::PopAndDestroy(textCriteria);
+
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+    }
+
+// ---------------------------------------------------------
+// CPosTp48::RemoveCategoriesFromLandmarkL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp48::RemoveCategoriesFromLandmarkL(CPosLandmark& aLandmark)
+    {
+    RArray<TPosLmItemId> array;
+    CleanupClosePushL(array);
+
+    aLandmark.GetCategoriesL(array);
+
+    for (TInt i=0;i<array.Count();i++)
+        {
+        aLandmark.RemoveCategory(array[i]);
+        }
+    CleanupStack::PopAndDestroy(&array);
+    }
+
+// ---------------------------------------------------------
+// CPosTp48::CreateXMLDataL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp48::CreateXMLDataL()
+    {
+    iLog->Log(_L("CreateXMLDataL"));
+
+    // 3 Add one landmark to be encoded (id7 name "Billigt" in categories 1-3,14-17)
+    CPosLandmark* lm1 = iDatabase->ReadLandmarkLC(7);
+    iLandmarkEncoder->AddLandmarkL(*lm1);
+    // Remove field 408 which is not exported
+    lm1->RemovePositionField(408);
+    RemoveCategoriesFromLandmarkL(*lm1);
+    iLandmarks.Append(lm1);
+    CleanupStack::Pop(lm1);
+    // 4 Add one more landmark to be encoded (id27 "LOG9" in categories 11-17)
+    CPosLandmark* lm2 = iDatabase->ReadLandmarkLC(27);
+    iLandmarkEncoder->AddLandmarkL(*lm2);
+    // Remove field 408 which is not exported
+    lm2->RemovePositionField(408);
+
+    // 5 Create a new category and add to the latest added landmark
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+    CPosLandmarkCategory* landmarkCategory = categoryManager->ReadCategoryLC(37);
+    iLandmarkEncoder->AddCategoryForLatestLandmarkL(*landmarkCategory);
+    CleanupStack::PopAndDestroy(landmarkCategory);
+    CleanupStack::PopAndDestroy(categoryManager);
+
+    RemoveCategoriesFromLandmarkL(*lm2);
+    lm2->AddCategoryL(37);
+    iLandmarks.Append(lm2);
+    CleanupStack::Pop(lm2);
+
+    // 6 Add one more landmark to be encoded (id52 "Kalles Hundgård" in category 19)
+    lm2 = iDatabase->ReadLandmarkLC(52);
+    iLandmarkEncoder->AddLandmarkL(*lm2);
+    // Remove field 408 which is not exported
+    lm2->RemovePositionField(408);
+
+    // 7 Add several global and local categories to the latest added landmark
+    categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+    landmarkCategory = categoryManager->ReadCategoryLC(26);
+    iLandmarkEncoder->AddCategoryForLatestLandmarkL(*landmarkCategory);
+    CleanupStack::PopAndDestroy(landmarkCategory);
+
+    landmarkCategory = categoryManager->ReadCategoryLC(25);
+    iLandmarkEncoder->AddCategoryForLatestLandmarkL(*landmarkCategory);
+    CleanupStack::PopAndDestroy(landmarkCategory);
+    
+    
+    TPosLmItemId globalCategoryId = categoryManager->GetGlobalCategoryL(3000);
+    if (globalCategoryId != KPosLmNullItemId)
+        {
+        landmarkCategory = categoryManager->ReadCategoryLC(globalCategoryId);
+        iLandmarkEncoder->AddCategoryForLatestLandmarkL(*landmarkCategory);
+        CleanupStack::PopAndDestroy(landmarkCategory);
+    }
+    else 
+    {
+    	iLog->Log(_L("Global category was not found1"));
+    	User::Leave(-1);
+    }
+
+    
+    globalCategoryId = categoryManager->GetGlobalCategoryL(15000);
+    if (globalCategoryId != KPosLmNullItemId)
+        {
+        landmarkCategory = categoryManager->ReadCategoryLC(globalCategoryId);
+        iLandmarkEncoder->AddCategoryForLatestLandmarkL(*landmarkCategory);
+        CleanupStack::PopAndDestroy(landmarkCategory);
+        }
+    else 
+    {
+    	iLog->Log(_L("Global category was not found2"));
+    	User::Leave(-1);	
+    }
+
+    CleanupStack::PopAndDestroy(categoryManager);
+
+    RemoveCategoriesFromLandmarkL(*lm2);
+    lm2->AddCategoryL(26);
+    lm2->AddCategoryL(25);
+    lm2->AddCategoryL(27);
+    lm2->AddCategoryL(31);
+    iLandmarks.Append(lm2);
+    CleanupStack::Pop(lm2);
+
+    // 8 Add one landmark (not containing any categories), id=11 "MLFW"
+    lm2 = iDatabase->ReadLandmarkLC(11);
+    iLandmarkEncoder->AddLandmarkL(*lm2);
+    // Remove field 408 which is not exported
+    lm2->RemovePositionField(408);
+    RemoveCategoriesFromLandmarkL(*lm2);
+    iLandmarks.Append(lm2);
+    CleanupStack::Pop(lm2);
+
+    // 9 Add one more landmark (not containing any categories), id=56 "TE, Lund"
+    lm2 = iDatabase->ReadLandmarkLC(56);
+    iLandmarkEncoder->AddLandmarkL(*lm2);
+    // Remove field 408 which is not exported
+    lm2->RemovePositionField(408);
+    
+    // 10 Add one category to the latest added landmark
+    categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+    landmarkCategory = categoryManager->ReadCategoryLC(18);
+        
+    iLandmarkEncoder->AddCategoryForLatestLandmarkL(*landmarkCategory);
+    CleanupStack::PopAndDestroy(landmarkCategory);
+    CleanupStack::PopAndDestroy(categoryManager);
+
+    RemoveCategoriesFromLandmarkL(*lm2);
+    lm2->AddCategoryL(18);
+    iLandmarks.Append(lm2);
+    CleanupStack::Pop(lm2);
+
+    // 11 Add one landmark (not containing any categories), id=43 "asdf"
+    categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+    lm2 = iDatabase->ReadLandmarkLC(43);
+    iLandmarkEncoder->AddLandmarkL(*lm2);
+    // Remove field 408 which is not exported
+    lm2->RemovePositionField(408);
+
+    // 12 Add several local and global categories to the latest added landmark
+    landmarkCategory = categoryManager->ReadCategoryLC(23);
+        
+    iLandmarkEncoder->AddCategoryForLatestLandmarkL(*landmarkCategory);
+    CleanupStack::PopAndDestroy(landmarkCategory);
+    landmarkCategory = categoryManager->ReadCategoryLC(17);
+        
+    iLandmarkEncoder->AddCategoryForLatestLandmarkL(*landmarkCategory);
+    CleanupStack::PopAndDestroy(landmarkCategory);
+    
+    
+    globalCategoryId = categoryManager->GetGlobalCategoryL(39000);
+    
+    if (globalCategoryId != KPosLmNullItemId)
+        {
+        landmarkCategory = categoryManager->ReadCategoryLC(globalCategoryId);
+        iLandmarkEncoder->AddCategoryForLatestLandmarkL(*landmarkCategory);
+        CleanupStack::PopAndDestroy(landmarkCategory);
+        }
+    else 
+        {   
+		iLog->Log(_L("Global category was not found3"));
+    	User::Leave(-1);
+        }
+
+    
+    globalCategoryId = categoryManager->GetGlobalCategoryL(27000);
+    if (globalCategoryId != KPosLmNullItemId)
+        {
+        landmarkCategory = categoryManager->ReadCategoryLC(globalCategoryId);
+        iLandmarkEncoder->AddCategoryForLatestLandmarkL(*landmarkCategory);
+        CleanupStack::PopAndDestroy(landmarkCategory);
+        }
+    else 
+        {
+    	iLog->Log(_L("Global category was not found4"));
+    	User::Leave(-1);
+        }
+    
+    RemoveCategoriesFromLandmarkL(*lm2);
+    lm2->AddCategoryL(23);
+    lm2->AddCategoryL(17);
+    lm2->AddCategoryL(39);
+    lm2->AddCategoryL(35);
+
+    iLandmarks.Append(lm2);
+    CleanupStack::Pop(lm2);
+
+    // 13) Add a landmark with fields that are encoded to XML set
+    lm1 = CreateXMLLandmarkLC(_L("TP48LandmarkWithAllXMLFields"));
+    AddAllXMLFieldsL(lm1);
+    iLandmarkEncoder->AddLandmarkL(*lm1);
+    
+    // 13) Add one global category  (Garage) to the latest added landmark
+    globalCategoryId = categoryManager->GetGlobalCategoryL(24000);
+    if (globalCategoryId != KPosLmNullItemId)
+        {
+        landmarkCategory = categoryManager->ReadCategoryLC(globalCategoryId);
+        iLandmarkEncoder->AddCategoryForLatestLandmarkL(*landmarkCategory);
+        CleanupStack::PopAndDestroy(landmarkCategory);
+        }
+    else 
+        {
+    	iLog->Log(_L("Global category was not found4"));
+    	User::Leave(-1);
+        }
+
+    // 14) Add one global category  (Bus stop) to the latest added landmark
+    globalCategoryId = categoryManager->GetGlobalCategoryL(42000);//30000
+    if (globalCategoryId != KPosLmNullItemId)
+        {
+        landmarkCategory = categoryManager->ReadCategoryLC(globalCategoryId);
+        iLandmarkEncoder->AddCategoryForLatestLandmarkL(*landmarkCategory);
+        CleanupStack::PopAndDestroy(landmarkCategory);
+        }
+    else 
+        {
+    	iLog->Log(_L("Global category was not found4"));
+    	User::Leave(-1);
+        }
+
+    // 15) Add one category (BurgerKing) to the latest added landmark
+    landmarkCategory = categoryManager->ReadCategoryLC(17);
+     
+    iLandmarkEncoder->AddCategoryForLatestLandmarkL(*landmarkCategory);
+    CleanupStack::PopAndDestroy(landmarkCategory);
+
+    RemoveCategoriesFromLandmarkL(*lm1);
+    lm1->AddCategoryL(34);
+    lm1->AddCategoryL(40);
+    lm1->AddCategoryL(17);
+    iLandmarks.Append(lm1);
+    CleanupStack::Pop(lm1);
+
+    CleanupStack::PopAndDestroy(categoryManager);
+
+    // 16 Create new landmark with empty fields
+    lm1 = CreateXMLLandmarkLC(_L("TP48Landmark With Empty XML Fields"));
+    AddAllEmptyXMLFieldsL(lm1);
+    iLandmarkEncoder->AddLandmarkL(*lm1);
+    
+    // 17 Create a new category and add to the latest added landmark
+    categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+
+    //landmarkCategory = CPosLandmarkCategory::NewLC();
+    landmarkCategory = categoryManager->ReadCategoryLC(38);
+    iLandmarkEncoder->AddCategoryForLatestLandmarkL(*landmarkCategory);
+    CleanupStack::PopAndDestroy(landmarkCategory);
+
+    // 18 Add global category "Outsight" which is "Sight" id=6 with changed name
+    // and add to the latest added landmark
+    globalCategoryId = categoryManager->GetGlobalCategoryL(KOrigGlobalCategoryId);
+    landmarkCategory = categoryManager->ReadCategoryLC(globalCategoryId);
+    landmarkCategory->SetCategoryNameL(KNewGlobalCategory);
+    categoryManager->UpdateCategoryL(*landmarkCategory);
+    CleanupStack::PopAndDestroy(landmarkCategory);
+
+  
+    globalCategoryId = categoryManager->GetGlobalCategoryL(KOrigGlobalCategoryId);
+    if (globalCategoryId != KPosLmNullItemId)
+        {
+        landmarkCategory = categoryManager->ReadCategoryLC(globalCategoryId);
+        iLandmarkEncoder->AddCategoryForLatestLandmarkL(*landmarkCategory);
+        CleanupStack::PopAndDestroy(landmarkCategory);
+        }
+    else 
+        {
+    	iLog->Log(_L("Global category was not found4"));
+    	User::Leave(-1);
+        }
+    
+    CleanupStack::PopAndDestroy(categoryManager);
+
+    RemoveCategoriesFromLandmarkL(*lm1);
+    // The new category will have id=38
+    lm1->AddCategoryL(38);
+    lm1->AddCategoryL(globalCategoryId);
+    // Remove field 402 which is not included
+    lm1->RemovePositionField(402);
+    iLandmarks.Append(lm1);
+    CleanupStack::Pop(lm1);
+        
+    // 13 Finalize encoding
+    //iLog->Log(_L("FinalizeEncodingL"));
+    ExecuteAndDeleteLD(iLandmarkEncoder->FinalizeEncodingL());
+    //iLog->Log(_L("FinalizeEncodingL Done"));
+
+    categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+    //Change back name for this global category, needed to test use of TTransferOptions::EIncludeGlobalCategoryNames
+    // by resetting global categories
+    ExecuteAndDeleteLD(categoryManager->ResetGlobalCategoriesL());
+    CleanupStack::PopAndDestroy(categoryManager);
+
+    iLog->Log(_L("CreateXMLDataL Done"));
+    }
+
+
+// ---------------------------------------------------------
+// CPosTp48::CheckGlobalCategoryExistL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp48::CheckGlobalCategoryExistL(const TDesC& aShouldExistName, const TDesC& aShouldNotExistName)
+    {
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+
+    // Should be found
+    TPosLmItemId id1 = categoryManager->GetCategoryL(aShouldExistName);
+    // Should not be found
+    TPosLmItemId id2 = categoryManager->GetCategoryL(aShouldNotExistName);
+
+    if (id1 == KPosLmNullItemId)
+        {
+        iLog->Log(_L("ERROR: CheckGlobalCategoryExistL Global Category '%S' should be found"),
+            &aShouldExistName);
+        iErrorsFound++;
+        }
+
+    if (id2 != KPosLmNullItemId)
+        {
+        iLog->Log(_L("ERROR: CheckGlobalCategoryExistL Global Category '%S' should NOT be found"),
+            &aShouldNotExistName);
+        iErrorsFound++;
+        }
+
+    CleanupStack::PopAndDestroy(categoryManager);
+    }
+
+// ---------------------------------------------------------
+// CPosTp48::PrintLandmarkIdFieldsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp48::PrintLandmarkIdFieldsL(const CPosLandmark& aLandmark)
+    {
+    TPositionFieldId sourceFieldId = aLandmark.FirstPositionFieldId();
+    TLocality loc;
+    TBuf<150> buf;    
+    TInt err = aLandmark.GetPosition(loc);
+    if (err == KErrNone)
+        {
+        TReal vertAcc(loc.VerticalAccuracy());
+        TReal horAcc(loc.HorizontalAccuracy());
+        TReal alt(loc.Altitude());
+        TReal lon = loc.Longitude();
+        TReal lat = loc.Latitude();
+        TReal32 sourceR;
+        err = aLandmark.GetCoverageRadius(sourceR);
+        if (err == KErrNone )
+            {
+            buf.Format(_L("LM: Long %f Lat %f vertAcc %f horAcc %f alt %f srcRadius %f"), lon, lat, vertAcc, horAcc, alt, sourceR);
+            }
+        else
+            {
+            buf.Format(_L("LM: Long %f Lat %f vertAcc %f horAcc %f alt %f "), lon, lat, vertAcc, horAcc, alt);
+            }
+        iLog->Log(buf);
+        }
+
+    while (sourceFieldId != EPositionFieldNone)
+        {
+        TPtrC sourceValue;
+        aLandmark.GetPositionField(sourceFieldId, sourceValue);
+        buf.Format(_L("IdField Id: %d Value:"), sourceFieldId);
+        buf.Append(sourceValue);
+        iLog->Log(buf);
+        sourceFieldId = aLandmark.NextPositionFieldId(sourceFieldId);
+        }
+    }
+    
+
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp49.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,472 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp49.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLandmarkParser.h>
+#include <Xml/XmlParserErrors.h>
+
+// CONSTANTS
+#ifdef __WINS__
+_LIT(KFileWithCorrectSyntax, "z:\\system\\test\\testdata\\Tp49ImportInput.xml");
+_LIT(KFileWithSyntaxError, "z:\\system\\test\\testdata\\Tp49ImportInputSyntaxError.xml");
+#else
+_LIT(KFileWithCorrectSyntax, "c:\\system\\test\\testdata\\Tp49ImportInput.xml");
+_LIT(KFileWithSyntaxError, "c:\\system\\test\\testdata\\Tp49ImportInputSyntaxError.xml");
+#endif
+const TInt KNrOfImportedLandmarks = 7;
+
+#ifdef __WINS__
+const TInt KNrOfCorrectLandmarks = 3;
+#else
+const TInt KNrOfCorrectLandmarks = 4;
+#endif
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp49::GetName
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp49::GetName(TDes& aName) const
+    {
+    _LIT(KTestName, "TP49 - Iterate imported landmarks");
+    aName = KTestName;
+    }
+
+// ---------------------------------------------------------
+// CPosTp49::InitTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp49::InitTestL()
+    {
+    RemoveDefaultDbL();
+    RemoveAllLmDatabasesL();
+
+    SetupPreConditionsL();
+    }
+
+// ---------------------------------------------------------
+// CPosTp49::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp49::CloseTest()
+    {
+    // Delete and set base class members to NULL
+    delete iOperation;
+    iOperation = NULL;
+    delete iIterator;
+    iIterator = NULL;
+    delete iDatabase;
+    iDatabase = NULL;
+
+    delete iLandmarkParser;
+    iImportedLandmarkIds.Close();
+    iRemovedLandmarkIds.Close();
+    
+    delete iLandmarkNames;
+    iLandmarkNames = NULL;
+
+    }
+
+// ---------------------------------------------------------
+// CPosTp49::NotifyProgress
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp49::NotifyProgress(TReal aProgress)
+    {
+    if (aProgress > iProgressInterruptLevel)
+        {
+        CActiveScheduler::Stop();
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp49::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp49::StartL()
+    {
+    // <<<<<<<<<<<<<< 1-2 Import unparsed landmarks >>>>>>>>>>>>>>>>>>>
+    RecreateParserL(KFileWithCorrectSyntax);
+    ImportAllLandmarksL();
+    FetchIteratorL();
+    VerifyImportedLandmarksL(KNrOfImportedLandmarks);
+
+    // <<<<<<<<<<<<<< 3-5 Import parsed landmarks >>>>>>>>>>>>>>>>>>>
+    RecreateParserL(KFileWithCorrectSyntax);
+    ParseLandmarksContentL();
+    ImportAllLandmarksL();
+    FetchIteratorL();
+    VerifyImportedLandmarksL(KNrOfImportedLandmarks);
+
+    // <<<<<<<<<<<<<< 6-8 Remove some imported landmarks >>>>>>>>>>>>>>>>>>>
+    RecreateParserL(KFileWithCorrectSyntax);
+    ImportAllLandmarksL();
+    FetchIteratorL();
+    RemoveThreeLandmarksL();
+    FetchIteratorL();
+    VerifyImportedLandmarksL(KNrOfImportedLandmarks);
+
+    // <<<<<<<<<<<<<< 9-10 Fetch iterator before import is ready >>>>>>>>>>>>>>>>>>>
+    iProgressInterruptLevel = 0.5; // Cancel the import operation when half ready.
+    TInt nrOfLandmarks = ImportSomeLandmarksL();
+    // Cancel import operation, otherwise db will be locked when verifying
+    delete iOperation; iOperation = NULL;
+    VerifyImportedLandmarksL(nrOfLandmarks);
+
+    // <<<<<<<<<<<<<< 11-12 Fetch iterator before import is started >>>>>>>>>>>>>>>>>>>
+    iProgressInterruptLevel = 0; // Cancel the import operation as fast as possible.
+    nrOfLandmarks = ImportSomeLandmarksL();
+    // Cancel import operation, otherwise db will be locked when verifying
+    delete iOperation; iOperation = NULL;
+    VerifyImportedLandmarksL(nrOfLandmarks);
+
+    // <<<<<<<<<<<<<< 13-14 Fetch iterator if import fails >>>>>>>>>>>>>>>>>>>
+    RecreateParserL(KFileWithSyntaxError);
+    StartImportLandmarksL();
+    ExecuteLmOpL(EXmlTagMismatch);
+    FetchIteratorL();
+    CreateNameArrayL(KNrOfCorrectLandmarks);
+    // We don't need to cancel operation since import operation failed. Hence 
+    // it should release the database lock itself.
+    // delete iOperation; iOperation = NULL;
+    // Note: It seems that there is a difference between target and emulator in the number of imported 
+    // landmarks in each next step, thus it differs in the number of imported lms before the incorrect xml-landmark
+    // is found
+    VerifyImportedLandmarksL(KNrOfCorrectLandmarks);
+
+    // <<<<<<<<<<<<<< 15 Test leave codes - nothing to do >>>>>>>>>>>>>>>>>>>
+    iLog->Put(_L("TP49 Done"));
+	}
+
+// ---------------------------------------------------------
+// CPosTp49::ImportAllLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp49::ImportAllLandmarksL()
+    {
+    // Fetch nr of existing items before import
+    CPosLmItemIterator* iterator = iDatabase->LandmarkIteratorL();
+    CleanupStack::PushL(iterator);
+    TInt nrOfItems = iterator->NumOfItemsL();
+    CleanupStack::PopAndDestroy(iterator);
+
+    StartImportLandmarksL();
+    ExecuteLmOpL(KErrNone);
+    CreateNameArrayL(KNrOfImportedLandmarks);
+
+    // Check nr of landmarks in db after import
+    iterator = iDatabase->LandmarkIteratorL();
+    CleanupStack::PushL(iterator);
+    _LIT(KErrMsg, "Not all landmarks were imported to database!");
+    TInt nrOfImportedItems = iterator->NumOfItemsL() - nrOfItems;
+    AssertTrueSecL(
+        nrOfImportedItems == KNrOfImportedLandmarks, KErrMsg, KErrGeneral);
+    CleanupStack::PopAndDestroy(iterator);
+    }
+
+// ---------------------------------------------------------
+// CPosTp49::ImportSomeLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt CPosTp49::ImportSomeLandmarksL()
+    {
+    RecreateParserL(KFileWithCorrectSyntax);
+    StartImportLandmarksL();
+    ExecuteLmOpL(KPosLmOperationNotComplete, ETrue);
+    FetchIteratorL();
+    CreateNameArrayL(iIterator->NumOfItemsL());
+    return iIterator->NumOfItemsL();
+    }
+
+// ---------------------------------------------------------
+// CPosTp49::ParseLandmarksContentL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp49::ParseLandmarksContentL()
+    {
+    delete iOperation;
+    iOperation = NULL;
+    iOperation = iLandmarkParser->ParseContentL();
+    ExecuteLmOpL(KErrNone);
+    }
+
+// ---------------------------------------------------------
+// CPosTp49::RemoveThreeLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp49::RemoveThreeLandmarksL()
+    {
+    // It is important that the highest index is removed first.
+    TInt indexToRemove[] = {6, 5, 2};
+
+    const TInt KNrOfItemsToRemove = 3;
+    _LIT(KErrMsg, "Removed landmark exists in database!");
+
+    for (TInt i = 0; i < KNrOfItemsToRemove; i++)
+        {
+        User::LeaveIfError(
+            iRemovedLandmarkIds.Append(iImportedLandmarkIds[indexToRemove[i]]));
+        iLandmarkNames->Delete(indexToRemove[i]);
+        iDatabase->RemoveLandmarkL(iImportedLandmarkIds[indexToRemove[i]]);
+
+        // Verify landmark is removed
+        CPosLandmark* lm = NULL;
+        TRAPD(err, lm = iDatabase->ReadLandmarkLC(iImportedLandmarkIds[indexToRemove[i]]));
+        delete lm;
+        lm = NULL;
+        AssertTrueSecL(err == KErrNotFound, KErrMsg, KErrGeneral);
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp49::VerifyImportedLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp49::VerifyImportedLandmarksL(TInt aNrOfExpectedItems)
+    {
+    iLog->Put(_L("VerifyImportedLandmarksL"));
+    // Iterate through all imported landmarks
+    TInt i = 0;
+    TPosLmItemId id = iIterator->NextL();
+    while (id != KPosLmNullItemId)
+        {
+        CPosLandmark* lm = NULL;
+        if (iRemovedLandmarkIds.Find(id) == KErrNotFound)
+            {
+            // The landmark has not been removed from database.
+            // Try to read the imported landmark.
+            lm = iDatabase->ReadLandmarkLC(id);
+
+            // Verify that the landmark name exists in the name array.
+            _LIT(KErrMsg, "Unexpected landmark name");
+            _LIT(KErrMsg1, "GetLandmarkName returned KErrNotFound");
+            TPtrC name;
+            TInt res = lm->GetLandmarkName(name);
+            if (res == KErrNotFound)
+                {
+                // No name found at all
+                LogErrorAndLeave(KErrMsg1, KErrGeneral);
+                }
+            else
+                {
+                TInt index;
+                iLog->Put(name);
+                res = iLandmarkNames->Find(name, index);
+                if (res != KErrNone)
+                    {
+                    // Found name does not match any name in the array.
+                    LogErrorAndLeave(KErrMsg, KErrGeneral);
+                    }
+                }
+            CleanupStack::PopAndDestroy(lm);
+            }
+        else
+            {
+            // The landmark has been removed from db. 
+            // Verify that landmark does not exist in database.
+            _LIT(KErrMsg, "Removed landmark exists in database!");
+            TRAPD(err, lm = iDatabase->ReadLandmarkLC(id));
+            delete lm;
+            lm = NULL;
+            AssertTrueSecL(err == KErrNotFound, KErrMsg, KErrGeneral);
+            }
+
+        i++;
+        id = iIterator->NextL();
+        }
+
+    // Verify that length of iterator is equal to the nr of imported landmarks.
+    _LIT(KErrMsg, "Nr of iterated landmarks did not match the nr of imported.");
+    AssertTrueSecL(i == aNrOfExpectedItems, KErrMsg, KErrGeneral);
+    }
+
+// ---------------------------------------------------------
+// CPosTp49::SetupPreConditionsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp49::SetupPreConditionsL()
+    {
+    // Precondition: A non-empty database exists
+    CPosLandmarkDatabase* db = OpenDatabaseLC();
+    CleanupStack::Pop(db);
+    iDatabase = db;
+    
+    ExecuteAndDeleteLD(iDatabase->CompactL());
+
+    // Add one item to make it non-empty
+    CPosLandmark* dummy = CPosLandmark::NewLC();
+    iDatabase->AddLandmarkL(*dummy);
+    CleanupStack::PopAndDestroy(dummy);
+    }
+
+// ---------------------------------------------------------
+// CPosTp49::ExecuteLmOpL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp49::ExecuteLmOpL(TInt aExpectedResult, TBool aObserveProgress)
+    {
+    CActiveLmOperation* operationWrapper = 
+        new (ELeave) CActiveLmOperation(iLog);
+    CleanupStack::PushL(operationWrapper);
+
+    if (aObserveProgress)
+        {
+        operationWrapper->Start(iOperation, this);
+        }
+    else 
+        {
+        operationWrapper->Start(iOperation);
+        }
+
+    CActiveScheduler::Start();
+    if (aExpectedResult == KErrNone)
+        {
+        operationWrapper->CheckOperationL();
+        }
+    else
+        {
+        if (aExpectedResult != operationWrapper->Status())
+            {
+            _LIT(KErrMsg, "Expected result %d but got %d");
+            TBuf<50> msg;
+            msg.Format(KErrMsg, aExpectedResult, operationWrapper->Status());
+            LogErrorAndLeave(msg, KErrGeneral);
+            }
+        }
+
+    CleanupStack::PopAndDestroy(operationWrapper);
+    }
+
+// ---------------------------------------------------------
+// CPosTp49::FetchIteratorL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp49::FetchIteratorL()
+    {
+    delete iIterator;
+    iIterator = NULL;
+    iIterator = iDatabase->ImportedLandmarksIteratorL(iOperation);
+    TBuf<100> buf;
+    iImportedLandmarkIds.Close();
+    TInt nrOfItems = (TInt) iIterator->NumOfItemsL();
+    buf.Format(_L("Retreving %d nr of ids from iterator"), nrOfItems);
+    iLog->Put(buf);
+    if (nrOfItems > 0)
+        {
+        iIterator->GetItemIdsL(iImportedLandmarkIds, 0, nrOfItems);
+        }
+    buf.Zero();    
+    for (TInt i=0;i<iImportedLandmarkIds.Count();i++)
+        {
+        TBuf<15> idde;
+        idde.Format(_L(" Id:%d "), iImportedLandmarkIds[i]);
+        buf.Append(idde);
+        }
+    iLog->Put(buf);
+    }
+
+// ---------------------------------------------------------
+// CPosTp49::RecreateParserL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp49::RecreateParserL(const TDesC& aFileName)
+    {
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+    iLandmarkParser = CPosLandmarkParser::NewL(KMimeType);
+    iLandmarkParser->SetInputFileL(aFileName);
+    }
+
+// ---------------------------------------------------------
+// CPosTp49::StartImportLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp49::StartImportLandmarksL()
+    {
+    delete iOperation;
+    iOperation = NULL;
+    iLog->Put(_L("Innan ImportLandmarksL"));
+    iOperation = iDatabase->ImportLandmarksL(
+        *iLandmarkParser, CPosLandmarkDatabase::EDefaultOptions);
+    iLog->Put(_L("EfterImportLandmarksL"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp49::CreateNameArrayL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp49::CreateNameArrayL(TInt aNrOfItems)
+    {
+    _LIT(KName0, "Landmark 0");
+    _LIT(KName1, "Landmark 1");
+    _LIT(KName2, "Landmark 2");
+    _LIT(KName3, "Landmark 3");
+    _LIT(KName4, "Landmark 4");
+    _LIT(KName5, "Landmark 5");
+    _LIT(KName6, "Landmark 6");
+
+    const TDesC* names[] = {&KName0, &KName1, &KName2, &KName3, &KName4, 
+        &KName5, &KName6};
+
+    // Create array of landmark names. Names match those specified in the 
+    // import file.
+    delete iLandmarkNames;
+    iLandmarkNames = new (ELeave) CDesCArrayFlat(8);
+    for (TInt i = 0; i < aNrOfItems; i++)
+        {
+        iLandmarkNames->AppendL(*names[i]);
+        }
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp5.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,614 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp5.h"
+#include <EPos_CPosLandmark.h> 
+#include <LbsPosition.h>
+#include <e32def.h> 
+#include <e32std.h> 
+#include <e32math.h>
+
+
+#include "FT_LandmarkConstants.h"
+
+// CONSTANTS
+// _LIT(KGetNameErr, "GetLandmarks name returns incorrect error code");
+_LIT(KNameErr, "Landmark name is incorrect");
+_LIT(KIdErr, "Landmark Id is incorrect");
+_LIT(KLongitudeErr, "Longitude is incorrect");
+
+_LIT(KLatitudeErr, "Latitude is incorrect");
+_LIT(KHorizontalAccErr, "Horizontal accuracy is incorrect");
+_LIT(KVerticalAccErr, "Vertical accuracy is incorrect");
+_LIT(KAltitudeErr, "Altitude is incorrect");
+_LIT(KNumOfAvailablePositionFieldsErr, "NumOfAvailablePositionFields is incorrect");
+_LIT(KNumOfategoriesErr, "Number of categories is incorrect");
+_LIT(KCoverageRadiusErr, "CoverageRadius is incorrect"); 
+_LIT(KIconIndexErr, "Icon index is incorrect");
+_LIT(KIconMaskIndexErr, "Icon MaskIndex is incorrect");
+_LIT(KMbmFileNameErr, "MbmFileName is incorrect");
+_LIT(KDescriptionErr, "Description is incorrect");
+_LIT(KPositionFieldErr, "Error in positions fields");
+          
+_LIT(KNameTp5, "Lm-Tp5");
+
+// ================= MEMBER FUNCTIONS =======================
+
+
+// ---------------------------------------------------------
+// CPosTp5::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp5::StartL()
+    { 
+    _LIT(KNameTp5, "Lm-Tp5");
+    RemoveDefaultDbL();
+    CPosLandmark* landmark = CreateLandmarkLC(KNameTp5);
+    
+    CheckGetMethodsL(landmark);
+    
+    CheckRemoveMethodsL(landmark);
+
+    CheckFieldsMaxLengthL();
+
+    CleanupStack::PopAndDestroy(); // landmark
+
+    CheckNaNErrorL();
+    }
+
+// ---------------------------------------------------------
+// CPosTp5::CheckGetMethods
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp5::CheckGetMethodsL(CPosLandmark* aLandmark)
+    {
+ 
+    TPtrC landmarkName;
+    aLandmark->GetLandmarkName(landmarkName);  
+    AssertTrueSecL(landmarkName.Compare(KNameTp5) == KErrNone, KNameErr);
+    AssertTrueSecL(aLandmark->LandmarkId() == 0, KIdErr);
+    
+    CPosLandmarkDatabase* lmd = OpenDatabaseLC();
+    TPosLmItemId id=lmd->AddLandmarkL(*aLandmark);
+    AssertTrueSecL(aLandmark->LandmarkId() == id, KIdErr);
+
+    TLocality loc2;
+    aLandmark->GetPosition(loc2);
+    AssertTrueSecL(loc2.Longitude() == KLongitude, KLongitudeErr);
+    AssertTrueSecL(loc2.Latitude() == KLatitude, KLatitudeErr);
+    AssertTrueSecL(loc2.HorizontalAccuracy() == KHorizontalAcc, KHorizontalAccErr);
+    AssertTrueSecL(loc2.VerticalAccuracy() == KVerticalAcc, KVerticalAccErr);
+    AssertTrueSecL(loc2.Altitude() == KAltitude, KAltitudeErr);
+    
+    TReal32 r;
+    aLandmark->GetCoverageRadius(r);
+    AssertTrueSecL(r == KCoverageRadius, KCoverageRadiusErr);
+
+    TPtrC mbmFileName;
+    TInt index;
+    TInt indexMask;
+    aLandmark->GetIcon(mbmFileName, index, indexMask);
+    AssertTrueSecL(mbmFileName.Compare(KMbmFileName) == KErrNone, KMbmFileNameErr);
+    AssertTrueSecL(index == KIconIndex, KIconIndexErr);
+    AssertTrueSecL(indexMask == KIconMaskIndex, KIconMaskIndexErr);
+
+    TPtrC desc;
+    aLandmark->GetLandmarkDescription(desc);
+    AssertTrueSecL(desc.Compare(KDescription) == KErrNone, KDescriptionErr);
+    AssertTrueSecL(KNoPosFields == aLandmark->NumOfAvailablePositionFields(), KNumOfAvailablePositionFieldsErr);
+    
+    TPositionFieldId posFieldId = aLandmark->FirstPositionFieldId();
+    for (TUint i=0; i<KNoPosFields-1; i++)
+        {
+        CheckPositionFieldL(*aLandmark, posFieldId);
+        posFieldId=aLandmark->NextPositionFieldId(posFieldId);
+        }
+
+    RArray<TPosLmItemId> categories;
+    CleanupClosePushL(categories);
+    aLandmark->GetCategoriesL(categories);
+    AssertTrueSecL(categories.Count() == KNoCategories, KNumOfategoriesErr);
+    CleanupStack::PopAndDestroy(2,lmd); 
+    
+   	}
+
+// ---------------------------------------------------------
+// CPosTp5::CheckRemoveMethodsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//    
+void CPosTp5::CheckRemoveMethodsL(CPosLandmark* aLandmark)
+    {
+    aLandmark->RemoveLandmarkAttributes(CPosLandmark::ENoAttribute);
+    aLandmark->RemoveLandmarkAttributes(CPosLandmark::EPosition);
+    aLandmark->RemoveLandmarkAttributes(CPosLandmark::ECoverageRadius);
+    aLandmark->RemoveLandmarkAttributes(CPosLandmark::ECategoryInfo);
+    aLandmark->RemoveLandmarkAttributes(CPosLandmark::EIcon);
+    aLandmark->RemoveLandmarkAttributes(CPosLandmark::EDescription);
+    
+    CheckRemovedL(aLandmark);
+    _LIT(KLandmarkName, "Nisse");
+    CPosLandmark* landmark = CreateLandmarkLC(KLandmarkName);
+    landmark->RemoveLandmarkAttributes(CPosLandmark::EAllAttributes);
+    CheckRemovedL(landmark);
+
+    
+    TUint16 tmp = (TUint16)EPositionFieldMediaLinksStart;
+    landmark->RemovePositionField(EPositionFieldMediaLinksStart);
+    landmark->RemovePositionField(EPositionFieldCountry);
+    landmark->RemovePositionField(EPositionFieldHorizontalSpeed);
+    // FrBo Below has been removed
+    
+    landmark->RemovePositionField(EPositionFieldMediaLinks); 
+    landmark->RemovePositionField(EPositionFieldMediaLinksStart); 
+    landmark->RemovePositionField(++tmp);
+    landmark->RemovePositionField(++tmp);
+    landmark->RemovePositionField(EPositionFieldIdLast);
+    
+    TPtrC ptr;    
+    AssertTrueSecL(landmark->GetPositionField(EPositionFieldMediaLinksStart, ptr) == KErrNotFound, KPositionFieldErr);
+    AssertTrueSecL(landmark->GetPositionField(EPositionFieldCountry, ptr) == KErrNotFound, KPositionFieldErr);
+    AssertTrueSecL(landmark->GetPositionField(EPositionFieldHorizontalSpeed, ptr) == KErrNotFound, KPositionFieldErr);
+    // FrBo Below has been removed
+    
+    AssertTrueSecL(landmark->GetPositionField(EPositionFieldMediaLinks, ptr) == KErrNotFound, KPositionFieldErr); 
+    AssertTrueSecL(landmark->GetPositionField(EPositionFieldMediaLinksStart, ptr) == KErrNotFound, KPositionFieldErr); 
+    AssertTrueSecL(landmark->GetPositionField(++tmp, ptr) == KErrNotFound, KPositionFieldErr); 
+    AssertTrueSecL(landmark->GetPositionField(++tmp, ptr) == KErrNotFound, KPositionFieldErr); 
+    AssertTrueSecL(landmark->GetPositionField(EPositionFieldIdLast, ptr) == KErrNotFound, KPositionFieldErr); 
+    
+    // Remove some non-existing fields, nothing should happen
+    landmark->RemovePositionField(6000);
+    AssertTrueSecL(landmark->GetPositionField(6000, ptr) == KErrNotFound, KPositionFieldErr); 
+    landmark->RemovePositionField(6001);
+    AssertTrueSecL(landmark->GetPositionField(6001, ptr) == KErrNotFound, KPositionFieldErr); 
+
+    CleanupStack::PopAndDestroy(); // landmark 
+    
+    }
+
+// ---------------------------------------------------------
+// CPosTp5::CheckRemovedL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp5::CheckRemovedL(CPosLandmark* aLandmark)
+    {
+    _LIT(KPositionRemovedErr, "GetPosition is not returning an error code when position is not set");
+    TLocality loc;
+    AssertTrueSecL(aLandmark->GetPosition(loc) == KErrNotFound, KPositionRemovedErr);
+   
+    RArray<TPosLmItemId> categories;
+    CleanupClosePushL(categories);
+    aLandmark->GetCategoriesL(categories);
+    AssertTrueSecL(categories.Count() == 0, KNumOfategoriesErr);
+    CleanupStack::PopAndDestroy(&categories);
+
+    TReal32 r;
+    AssertTrueSecL(aLandmark->GetCoverageRadius(r) == KErrNotFound, KCoverageRadiusErr);
+    
+    TPtrC mbmFileName;
+    TInt index;
+    TInt indexMask;
+    AssertTrueSecL(aLandmark->GetIcon(mbmFileName, index, indexMask) == KErrNotFound, KMbmFileNameErr);
+
+    TPtrC desc;
+    AssertTrueSecL(aLandmark->GetLandmarkDescription(desc) == KErrNotFound, KDescriptionErr);
+   }
+
+//---------------------------------------------------------
+// CPosTp5::CheckPositionFieldIdL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp5::CheckPositionFieldL(const CPosLandmark& aLandmark, const TUint16 aId)
+    {
+    
+    _LIT(KPositionFieldIdErr, "PositionFieldId is incorrect");
+    _LIT(KComparePositionFieldValueErr, "PositionField value is different from set value");
+    
+    TUint16 tmp = (TUint16)EPositionFieldMediaLinksStart;
+    TBuf<100> buf;
+    buf.Format(_L("Looking for id:%d "),aId);
+    iLog->Log(buf);
+    
+    TPtrC value;
+    if (aId == EPositionFieldCountry)
+        {
+        aLandmark.GetPositionField(aId, value);             
+        AssertTrueSecL(value.Compare(KCountry) == KErrNone, KComparePositionFieldValueErr);
+        }
+    else if (aId == EPositionFieldHorizontalSpeed)
+        {
+        aLandmark.GetPositionField(aId, value);
+        AssertTrueSecL(value.Compare(KHorizontalSpeed) == KErrNone, KComparePositionFieldValueErr);
+        }
+       
+    else if (aId == EPositionFieldMediaLinks)
+        {
+        aLandmark.GetPositionField(aId, value);
+        AssertTrueSecL(value.Compare(KMediaLinks) == KErrNone, KComparePositionFieldValueErr);
+        }
+    else if (aId == EPositionFieldMediaLinksStart)
+        {
+        aLandmark.GetPositionField(aId, value);
+        AssertTrueSecL(value.Compare(KMediaLink1) == KErrNone, KComparePositionFieldValueErr);
+        iLog->Log(_L("EPositionFieldMediaLinksStart"));
+        }
+    else if (aId == EPositionFieldIdLast)
+        {
+        aLandmark.GetPositionField(aId, value);
+        AssertTrueSecL(value.Compare(KLast) == KErrNone, KComparePositionFieldValueErr);
+        }
+    else if (aId == (tmp+1))
+        {
+        aLandmark.GetPositionField(aId, value);
+        AssertTrueSecL(value.Compare(KMediaLink2) == KErrNone, KComparePositionFieldValueErr);
+        }
+    else if(aId == (tmp+2)) 
+        {
+        aLandmark.GetPositionField(aId, value);
+        AssertTrueSecL(value.Compare(KMediaLink3) == KErrNone, KComparePositionFieldValueErr);
+        }
+    else
+        {
+        buf.Format(_L("Looking for id: %d %d %d"), aId, (tmp+1), (tmp+2));
+        iLog->Log(buf);
+        iLog->Log(KPositionFieldIdErr);
+        User::Leave(KErrGeneral);
+        }
+     }
+
+// ---------------------------------------------------------
+// CPosTp5::CheckFieldsMaxLength
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp5::CheckFieldsMaxLengthL()
+    {
+
+    _LIT(K255Error, "Text field is not limited to 255 characters");
+    _LIT(K4095Error, "Description field is not limited to 4095 characters");
+    _LIT(KIconError, "Icon File Name field is not limited to correct nr of characters");
+
+    HBufC* hbuf = HBufC::NewLC(4096);
+    while(hbuf->Des().Length() < 255)
+        {
+        hbuf->Des().Append(_L("X"));
+        }
+
+    CPosLandmark* landmark = CPosLandmark::NewLC();
+    landmark->SetLandmarkNameL(*hbuf);
+    landmark->SetLandmarkDescriptionL(*hbuf);      
+    landmark->SetPositionFieldL(EPositionFieldCountry, *hbuf);
+    hbuf->Des().Append(_L("X"));
+
+    TRAPD(err, landmark->SetLandmarkNameL(*hbuf));
+    AssertTrueSecL(err == KErrArgument, K255Error);
+
+    landmark->SetLandmarkDescriptionL(*hbuf);      
+    
+    TRAP(err, landmark->SetPositionFieldL(EPositionFieldCountry, *hbuf));
+    AssertTrueSecL(err == KErrArgument, K255Error);
+    
+    while(hbuf->Des().Length() < 4095)
+       {
+        hbuf->Des().Append(_L("X"));
+       }
+    landmark->SetLandmarkDescriptionL(*hbuf);      
+    hbuf->Des().Append(_L("X"));
+    TRAP(err, landmark->SetLandmarkDescriptionL(*hbuf));      
+    AssertTrueSecL(err == KErrArgument, K4095Error);
+    
+    CleanupStack::PopAndDestroy(2, hbuf);
+    
+    // Test setIconL
+    // KMaxFileName is defined in e32const.h
+    HBufC* icon = HBufC::NewLC(KMaxFileName+1);
+    while(icon->Des().Length() < KMaxFileName)
+        {
+        icon->Des().Append(_L("X"));
+        }
+
+    landmark = CPosLandmark::NewLC();
+    landmark->SetLandmarkNameL(_L("SomeLandmarkName"));
+    landmark->SetLandmarkDescriptionL(_L("SomeLandmarkDescription"));
+    landmark->SetIconL(*icon, 1, KPosLmIconMaskNotUsed);
+    
+    icon->Des().Append(_L("X"));
+
+    TRAP(err, landmark->SetIconL(*icon, 1, KPosLmIconMaskNotUsed));
+    AssertTrueSecL(err == KErrArgument, KIconError);
+    CleanupStack::PopAndDestroy(landmark);
+    CleanupStack::PopAndDestroy(icon); 
+    
+   
+    }
+
+// ---------------------------------------------------------
+// CPosTp5::CheckNaNErrorL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp5::CheckNaNErrorL()
+    {
+    iLog->Log(_L("CheckErrorL"));
+    CPosLandmarkDatabase* lmdb = OpenDatabaseLC();
+    CPosLandmark* landmark = CPosLandmark::NewLC();
+    
+    ExecuteAndDeleteLD(lmdb->CompactL());
+    TInt errorsFound = KErrNone;
+    TRealX NaN;
+    NaN.SetNaN();
+
+    // Used for testing SDK:
+    // This part should result in log:
+    // Not Equal1
+    // Not Equal2
+    TRealX pos1;
+    TRealX pos2;
+
+    iLog->Log(_L("Testing with NaN and 45"));
+    pos1.SetNaN();
+    pos2 = 45;
+
+    if (pos2 == pos1) 
+        iLog->Log(_L("Equal1"));
+        else
+        iLog->Log(_L("Not Equal1"));
+
+    if (pos2 != pos1) 
+        iLog->Log(_L("Not Equal2"));
+        else
+        iLog->Log(_L("Equal2"));
+
+
+    iLog->Log(_L("Testing with NaN and 0"));
+    pos1.SetNaN();
+    pos2 = 0;
+
+    if (pos2 == pos1) 
+        iLog->Log(_L("Equal1"));
+        else
+        iLog->Log(_L("Not Equal1"));
+
+    if (pos2 != pos1) 
+        iLog->Log(_L("Not Equal2"));
+        else
+        iLog->Log(_L("Equal2"));
+
+    iLog->Log(_L("Testing with NaN and NaN"));
+    pos1.SetNaN();
+    pos2.SetNaN();
+
+    if (pos2 == pos1) 
+        iLog->Log(_L("Equal1"));
+        else
+        iLog->Log(_L("Not Equal1"));
+
+    if (pos2 != pos1) 
+        iLog->Log(_L("Not Equal2"));
+        else
+        iLog->Log(_L("Equal2"));
+
+    landmark->SetLandmarkNameL(_L("TestingLandmarkError"));
+
+    // Only set position with Latitude and Longitude (thus Altitude and Accuracy is NaN)
+    TLocality loc;
+    loc.SetCoordinate(1,2);
+    landmark->SetPositionL(loc);
+
+    TPosLmItemId myId = lmdb->AddLandmarkL(*landmark);
+    CleanupStack::PopAndDestroy(landmark);
+
+    //////////////////////////////////////
+    // Test Altitude
+    landmark = lmdb->ReadLandmarkLC(myId);    
+    landmark->GetPosition(loc);
+
+    loc.SetCoordinate(1,2, 123);
+    landmark->SetPositionL(loc);
+
+    lmdb->UpdateLandmarkL(*landmark);
+    CleanupStack::PopAndDestroy(landmark);
+
+    landmark = lmdb->ReadLandmarkLC(myId);
+    TLocality loc3;
+    landmark->GetPosition(loc3);
+
+    if (TRealX(loc3.Altitude()).IsNaN())
+        {
+        iLog->Log(_L("Error: Altitude is Nan"));
+        errorsFound++;
+        }
+    else if (loc3.Altitude() != 123)
+        {
+        iLog->Log(_L("Error: Incorrect altitude returned"));
+        errorsFound++;
+        }
+
+    // Reset landmark
+    loc.SetCoordinate(1,2, NaN);
+    landmark->SetPositionL(loc);
+    lmdb->UpdateLandmarkL(*landmark);
+    CleanupStack::PopAndDestroy(landmark);
+
+    //////////////////////////////////////
+    // Test Horizontal accuracy
+    landmark = lmdb->ReadLandmarkLC(myId);
+    loc.SetCoordinate(1,2, NaN);
+    loc.SetHorizontalAccuracy(12);
+    landmark->SetPositionL(loc);
+
+    lmdb->UpdateLandmarkL(*landmark);
+    CleanupStack::PopAndDestroy(landmark);
+
+    landmark = lmdb->ReadLandmarkLC(myId);
+    landmark->GetPosition(loc3);
+
+    if (TRealX(loc3.HorizontalAccuracy()).IsNaN())
+        {
+        iLog->Log(_L("Error: Horizontal accuracy is Nan"));
+        errorsFound++;
+        }
+    else if (loc3.HorizontalAccuracy() != 12)
+        {
+        iLog->Log(_L("Error: Incorrect horizontal accuracy returned"));
+        errorsFound++;
+        }
+
+    CleanupStack::PopAndDestroy(landmark);
+
+    //////////////////////////////////////
+    // Test with NaN for hor acc
+    landmark = lmdb->ReadLandmarkLC(myId);
+    loc.SetCoordinate(1,2, NaN);
+    loc.SetHorizontalAccuracy(NaN);
+    landmark->SetPositionL(loc);
+
+    lmdb->UpdateLandmarkL(*landmark);
+    CleanupStack::PopAndDestroy(landmark);
+
+    landmark = lmdb->ReadLandmarkLC(myId);
+    landmark->GetPosition(loc3);
+
+    if (TRealX(loc3.HorizontalAccuracy()).IsNaN())
+        {
+        iLog->Log(_L("Horizontal accuracy is correctly set to Nan"));
+        }
+    else
+        {
+        iLog->Log(_L("Error: Incorrect horizontal accuracy returned"));
+        errorsFound++;
+        }
+
+    CleanupStack::PopAndDestroy(landmark);
+
+    //////////////////////////////////////
+    // Test Vertical accuracy
+    landmark = lmdb->ReadLandmarkLC(myId);
+    loc.SetCoordinate(1,2, NaN);
+    loc.SetVerticalAccuracy(21);
+    landmark->SetPositionL(loc);
+
+    lmdb->UpdateLandmarkL(*landmark);
+    CleanupStack::PopAndDestroy(landmark);
+
+    landmark = lmdb->ReadLandmarkLC(myId);
+    landmark->GetPosition(loc3);
+
+    if (TRealX(loc3.VerticalAccuracy()).IsNaN())
+        {
+        iLog->Log(_L("Error: Vertical accuracy is Nan"));
+        errorsFound++;
+        }
+    else if (loc3.VerticalAccuracy() != 21)
+        {
+        iLog->Log(_L("Error: Incorrect vertical accuracy returned"));
+        errorsFound++;
+        }
+
+    CleanupStack::PopAndDestroy(landmark);
+
+    //////////////////////////////////////
+    // Test landmark description
+    landmark = lmdb->ReadLandmarkLC(myId);
+    landmark->SetLandmarkDescriptionL(_L("TestingLandmarkErrorDescription"));
+    lmdb->UpdateLandmarkL(*landmark);
+    CleanupStack::PopAndDestroy(landmark);
+
+    landmark = lmdb->ReadLandmarkLC(myId);
+    TPtrC des;
+    landmark->GetLandmarkDescription(des);
+    TInt res = des.CompareC(_L("TestingLandmarkErrorDescription"));
+
+    if (res != KErrNone)
+        {
+        iLog->Log(_L("Error: Incorrect description returned"));
+        errorsFound++;
+        }
+
+    CleanupStack::PopAndDestroy(landmark);
+
+    //////////////////////////////////////
+    // Test coverage radius
+    landmark = lmdb->ReadLandmarkLC(myId);
+    landmark->SetCoverageRadius(15);
+    lmdb->UpdateLandmarkL(*landmark);
+    CleanupStack::PopAndDestroy(landmark);
+
+    landmark = lmdb->ReadLandmarkLC(myId);
+    landmark->GetPosition(loc3);
+    TReal32 radius;
+    landmark->GetCoverageRadius(radius);
+    if (TRealX(radius).IsNaN())
+        {
+        iLog->Log(_L("Error: Radius is Nan"));
+        errorsFound++;
+        }
+    else if (radius != 15)
+        {
+        iLog->Log(_L("Error: Incorrect radius returned"));
+        errorsFound++;
+        }
+    //////////////////////////////////////
+    CleanupStack::PopAndDestroy(landmark);
+    //////////////////////////////////////
+    // Test coverage radius, part2
+    // Set coverage radius to NaN
+    landmark = lmdb->ReadLandmarkLC(myId);
+    TRealX nan;
+    nan.SetNaN();
+    landmark->SetCoverageRadius(nan);
+    lmdb->UpdateLandmarkL(*landmark);
+    CleanupStack::PopAndDestroy(landmark);
+
+    landmark = lmdb->ReadLandmarkLC(myId);
+    landmark->GetPosition(loc3);
+
+    res = landmark->GetCoverageRadius(radius);
+    if (res != KErrNotFound)
+        {
+        iLog->Log(_L("Error: GetCoverageRadius should return KErrNotFound when set to NaN"));
+        errorsFound++;
+        }
+    //////////////////////////////////////
+    CleanupStack::PopAndDestroy(landmark);    
+    
+    CleanupStack::PopAndDestroy(lmdb);
+
+    if (errorsFound != KErrNone)
+        {
+        
+        iLog->Log(_L("Errors found in part CheckNaNErrorL()"));
+        User::Leave(-1);
+        }
+       
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp50.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,449 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp50.h"
+
+#include <EPos_CPosLandmarkDatabase.h> 
+#include <EPos_CPosLandmark.h> 
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLandmarkEncoder.h>
+#include <EPos_CPosLandmarkParser.h>
+#include <EPos_CPosLandmarkSearch.h> 
+#include <EPos_CPosLmTextCriteria.h>
+#include <LbsPosition.h> 
+#include <e32std.h>
+#include <ss_std.h>
+
+
+const TInt KNoMultipleClients = 5;
+_LIT(KExportFile,    "c:\\TP50-ExportedFile.xml");
+
+_LIT(KAllLandmarks,         "c:\\TP50-AllLandmarks.xml");
+        
+_LIT(KAllLandmarksIndex,    "c:\\TP50-AllLandmarks%d.xml");
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp50::GetName
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp50::GetName(TDes& aName) const
+    {
+    _LIT(KTestName, "TP50 - Multiple import operations");
+    aName = KTestName;
+    }
+
+// ---------------------------------------------------------
+// CPosTp50::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp50::CloseTest()
+    {
+    for (TInt i=0; i<iThreads.Count(); i++)
+        {
+        iThreads[i].Close();
+        }
+
+    iThreads.Close();
+
+    delete iDatabase;
+    iDatabase=NULL;
+
+    iUseLogFromThreadIsDisabled = EFalse;
+
+    }
+
+// ---------------------------------------------------------
+// CPosTp50::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp50::StartL()
+    {
+    MakeSurePanicDebugFileExistsL();
+    
+    iDatabase = UseGeneratedDbFileL();
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL()); 
+       }
+       
+    ExportLandmarksL();
+    
+    delete iDatabase;
+    iDatabase=NULL;
+    
+    // We want an empty database
+    RemoveDefaultDbL();
+    
+    iDatabase = CPosLandmarkDatabase::OpenL();
+    
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL()); 
+       }
+       
+    iUseLogFromThreadIsDisabled = ETrue;
+    
+    iLog->Put(_L("Imports landmarks syncronously simultaneously"));
+    iTestStep=0;
+    StartMultipleClientsL(KNoMultipleClients);
+    
+    iLog->Put(_L("Imports landmarks incrementally simultaneously"));
+    ++iTestStep;
+    StartMultipleClientsL(KNoMultipleClients);
+    
+    iLog->Put(_L("A search is started but no step is executed"));
+    ++iTestStep;
+    
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+    textCriteria->SetTextL(_L("kalle"));
+    
+    CPosLandmarkSearch* landmarkSearch = CPosLandmarkSearch::NewL(*iDatabase);   
+    CleanupStack::PushL(landmarkSearch);
+        
+    CPosLmOperation* op = landmarkSearch->StartLandmarkSearchL(*textCriteria);
+    CleanupStack::PushL(op);
+    
+    iLog->Put(_L("Imports landmarks syncronously simultaneously (all should fail)"));
+    StartMultipleClientsL(KNoMultipleClients);
+    
+    iLog->Put(_L("The search is cancelled"));
+    CleanupStack::PopAndDestroy(op);
+    
+    iLog->Put(_L("Imports landmarks syncronously simultaneously (at least one should succed)"));
+    ++iTestStep;
+    StartMultipleClientsL(KNoMultipleClients);
+       
+    CleanupStack::PopAndDestroy(2, textCriteria);
+
+    TestESLI_64LLU3L();
+    }
+
+// ---------------------------------------------------------
+// CPosTp50::StartMultipleClientsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp50::StartMultipleClientsL(const TUint aNoClients)
+    {
+    _LIT(KMultipleErr, "Error %d from thread %d");
+    _LIT(KPanicErr, "Thread %d has panicked or is alive");
+    _LIT(KAllErr, "Wrong number of threads left with error");
+    _LIT(KSuccess, "Threads %d is successful");
+    _LIT(KAllNotFailedErr, "All imports haven't failed");
+      
+    CreateThreadsL(aNoClients);
+
+    RArray<TRequestStatus> statuses;
+    CleanupClosePushL(statuses);
+   
+    for (TUint j=0; j<aNoClients; j++)
+        {
+        TRequestStatus status;
+        statuses.Append(status);
+        }
+
+    TInt i=0; 
+    for (i=0; i<iThreads.Count(); i++)
+        { 
+        iThreads[i].Logon(statuses[i]);
+        iThreads[i].Resume();
+        }
+    
+    for (i=0; i<iThreads.Count(); i++)
+        {
+        User::WaitForRequest(statuses[i]);
+        }
+    
+    TInt errors=0; 
+    for (i=0; i<iThreads.Count(); i++)
+        {
+        TInt exitReason = iThreads[i].ExitReason();
+        TBuf<100> info;
+            
+        if (exitReason != KErrNone)
+            {
+            errors++;
+            info.Format(KMultipleErr, exitReason, i+1);
+            }  
+         else
+            {
+            info.Format(KSuccess, i+1);
+            }
+        iLog->Put(info);
+
+        AssertTrueSecL(iThreads[i].ExitType() == EExitKill, KPanicErr, i+1);
+        AssertTrueSecL(exitReason == KErrNone || exitReason == KErrLocked, info);
+        }
+        
+    if (iTestStep != EReadLockTaken)
+        {
+        AssertTrueSecL(errors == KNoMultipleClients - 1, KAllErr);        
+        }
+    else
+        {
+        // All imports should have failed since the started search should have taken a read lock
+        AssertTrueSecL(errors == KNoMultipleClients, KAllNotFailedErr);        
+        }
+       
+    for (i=0; i<iThreads.Count(); i++)
+        {
+        iThreads[i].Close();
+        }
+        
+    iThreadIndex=0;
+    iThreads.Close();
+    CleanupStack::PopAndDestroy(&statuses);
+    }
+
+// ---------------------------------------------------------
+// CPosTp50::RunTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp50::RunTestL(TAny* aData)
+    {
+    CPosTp50* self = reinterpret_cast<CPosTp50*>(aData);
+    TInt index = ++self->iThreadIndex;
+    
+    CPosLandmarkDatabase* lmd = CPosLandmarkDatabase::OpenL();
+    CleanupStack::PushL(lmd);
+    
+    if (lmd->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(lmd->InitializeL()); 
+       }
+       
+    CPosLandmarkParser* parser = CPosLandmarkParser::NewL(KMimeType);
+    CleanupStack::PushL(parser);
+    
+    
+    TBuf<100> fileName;
+    fileName.Format(KAllLandmarksIndex, index);
+    
+    parser->SetInputFileL(fileName);
+    
+    _LIT(KInfo, "Thread %d");
+    TBuf<100> info;
+    info.Format(KInfo, index);
+    RDebug::Print(info);
+        
+    CPosLmOperation* op = lmd->ImportLandmarksL(*parser, CPosLandmarkDatabase::EDefaultOptions); 
+   
+    _LIT(KInfo2, "Thread %d before execute");
+    info.Format(KInfo2, index);
+    RDebug::Print(info);
+            
+    switch (self->iTestStep)
+        {
+        //case self->ESync:
+        case ESync:
+        //case self->EReadLockTaken:
+        case EReadLockTaken:
+        //case self->ESearchCancelled:
+        case ESearchCancelled:
+            CleanupStack::PushL(op);
+            op->ExecuteL(); 
+            CleanupStack::PopAndDestroy(op);               
+            break;
+        //case self->EInc:
+        case EInc:
+            self->RunAsyncOperationLD(op);
+            break;
+        }
+    
+    _LIT(KInfo3, "Thread %d after execute");
+    info.Format(KInfo3, index);
+    RDebug::Print(info);
+     
+    CleanupStack::PopAndDestroy(parser);
+    CleanupStack::PopAndDestroy(lmd);
+    }
+
+
+// ---------------------------------------------------------
+// ThreadFunction
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+LOCAL_C TInt ThreadFunction(TAny* aData)
+    {
+    CTrapCleanup* cleanup=CTrapCleanup::New(); 
+
+    CActiveScheduler* actSch = new (ELeave) CActiveScheduler;
+    CActiveScheduler::Install(actSch);
+
+    TRAPD(err, CPosTp50::RunTestL(aData));
+       
+    delete actSch;
+    delete cleanup;
+    return err;
+    }
+
+// ---------------------------------------------------------
+// CPosTp50::CreateThreadsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp50::CreateThreadsL(const TUint aNoThreads)
+    {
+    _LIT(KThreadName, "TP50 test thread%d");
+    _LIT(KCreateThreadErr, "Create thread failed with %d");
+
+    for (TUint i=0; i<aNoThreads; i++)
+        {
+        RThread thread;
+        TBuf<32> name;
+	    name.Format(KThreadName, 1+iThreads.Count());
+                
+        TInt err;
+        err = thread.Create(name, ThreadFunction, KDefaultStackSize, KMinHeapSize, KMaxHeapSize, reinterpret_cast<TAny*>(this));
+
+        AssertTrueSecL(err == KErrNone, KCreateThreadErr, err);                                                                  
+        
+        iThreads.Append(thread);
+        }
+    }
+    
+// ---------------------------------------------------------
+// CPosTp50::ExportAllLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//	
+void CPosTp50::ExportLandmarksL() 
+    {
+    RFs fs;
+    User::LeaveIfError(fs.Connect());
+    CleanupClosePushL(fs);
+    
+    fs.Delete(KAllLandmarks);
+    
+    CPosLmItemIterator* iter = iDatabase->LandmarkIteratorL();
+    CleanupStack::PushL(iter);
+
+    RArray<TPosLmItemId> arrayOfIds;
+    CleanupClosePushL(arrayOfIds);
+    
+    TInt numberOfElements = iter->NumOfItemsL();    
+    iter->GetItemIdsL(arrayOfIds, 0, (numberOfElements));
+    
+    CPosLandmarkEncoder* encoder = CPosLandmarkEncoder::NewL(KMimeType);
+    CleanupStack::PushL(encoder);
+
+    encoder->SetOutputFileL(KAllLandmarks);
+   
+    CPosLmOperation* op = iDatabase->ExportLandmarksL(*encoder, arrayOfIds,  CPosLandmarkDatabase::EDefaultOptions); 
+    CleanupStack::PushL(op);
+    op->ExecuteL();
+    CleanupStack::PopAndDestroy(op);
+    
+    op = encoder->FinalizeEncodingL(); 
+    CleanupStack::PushL(op);
+    op->ExecuteL();
+    
+    // Create a file to be used from each thread
+    CFileMan* fileMan = CFileMan::NewL(fs);
+    CleanupStack::PushL(fileMan);
+   
+    for (TInt i=0; i<KNoMultipleClients; i++)
+        {
+        TBuf<100> fileName;
+        fileName.Format(KAllLandmarksIndex, i+1);
+        fs.Delete(fileName);
+        
+        User::LeaveIfError(fileMan->Copy(KAllLandmarks, fileName, CFileMan::EOverWrite));     
+        }
+        
+    CleanupStack::PopAndDestroy(6, &fs); 
+    }
+
+// ---------------------------------------------------------
+// CPosTp50::TestESLI_64LLU3L
+// ESLI-64LLU3 - read/write lock only affects the same database instance.
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//	
+void CPosTp50::TestESLI_64LLU3L()
+    {
+    RFs fs;
+    User::LeaveIfError(fs.Connect());
+    fs.Delete(KExportFile);
+    fs.Close();
+
+    // Create encoder that will take read lock
+    CPosLandmarkEncoder* encoder = CPosLandmarkEncoder::NewL(KMimeType);
+    CleanupStack::PushL(encoder);
+    encoder->SetOutputFileL(KExportFile);
+
+    // Create another db handle
+    CPosLandmarkDatabase* lmd = CPosLandmarkDatabase::OpenL();
+    CleanupStack::PushL(lmd);
+    if (lmd->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(lmd->InitializeL()); 
+       }
+
+    // Create array of ids to export
+    RArray<TPosLmItemId> arrayOfIds;
+    CleanupClosePushL(arrayOfIds);
+	User::LeaveIfError(arrayOfIds.Append(1));
+	User::LeaveIfError(arrayOfIds.Append(2));
+	User::LeaveIfError(arrayOfIds.Append(3));
+
+    // Take read lock by starting exporting
+    CPosLmOperation* op = lmd->ExportLandmarksL(*encoder, arrayOfIds, CPosLandmarkDatabase::EDefaultOptions); 
+    CleanupStack::PushL(op);
+
+    // Verify take write lock fails on db instance 2
+    TRAPD(err, lmd->RemoveLandmarkL(1));
+    AssertTrueSecL(err == KErrLocked, _L("Didn't get KErrLocked but %d"), err);
+
+    // Verify take write lock fails on db instance 1
+    TRAP(err, iDatabase->RemoveLandmarkL(1)); 
+    AssertTrueSecL(err == KErrLocked, _L("Didn't get KErrLocked but %d"), err);
+
+    // Lock should prevent import threads to complete successfully
+    iTestStep = EReadLockTaken;
+    StartMultipleClientsL(KNoMultipleClients);
+
+    // Release lock - import threads should complete successfully
+    CleanupStack::PopAndDestroy(op);
+    iTestStep = ESync;
+    StartMultipleClientsL(KNoMultipleClients);
+
+    CleanupStack::PopAndDestroy(&arrayOfIds);
+    CleanupStack::PopAndDestroy(lmd);
+    CleanupStack::PopAndDestroy(encoder);
+    }
+    
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp51.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,654 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp51.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLMCategoryManager.h>
+#include <EPos_CPosLandmarkEncoder.h>
+#include <EPos_CPosLandmarkParser.h>
+#include <e32std.h>
+//#include <ss_std.h>
+
+// CONSTANTS
+_LIT8(KNonExistingMimeType1, "APPLICATION/VND.NOKIA.LANDMARKCOLLECTION+XML");
+_LIT8(KNonExistingMimeType2, "application/vnd.nokia.kokoibollen");
+//_LIT8(KNonExistingMimeType3, "application/vnd.nokia.kokoibollenapplication/vnd.nokia.kokoibollenapplication/vnd.nokia.kokoibollenapplication/vnd.nokia.kokoibollenapplication/vnd.nokia.kokoibollenapplication/vnd.nokia.kokoibollenapplication/vnd.nokia.kokoibollenapplication/vnd.nokia.kokoibollenapplication/vnd.nokia.kokoibollenapplication/vnd.nokia.kokoibollenapplication/vnd.nokia.kokoibollen");
+_LIT8(KEmptyMimeType, "");
+_LIT(KPosLandmarksServerName, "*eposlmserver*");
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp51::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp51::StartL()
+    {
+    iErrorsFound = 0;
+    MakeSurePanicDebugFileExistsL();
+
+    RemoveDefaultDbL();
+    iDatabase = UseGeneratedDbFileL();
+
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+
+    // <<<<<<<<<<<<<<Panic testing below>>>>>>>>>>>>>>>>>>>
+    iLog->Log(_L(">>>>>>>Start Panic test<<<<<<<<<"));
+        
+    //	1 The client asks the API to parse XML content both synchronously 
+    // and incrementally without specifying the input method. 
+    iExpectedExitType = ExitPanic;
+    iLog->Log(_L("Panic test 1"));
+    iTestCase = 1;
+    iExpectedErrorCode = EPosLmProtocolBreak;
+    iMimeType.Set( KLmxMimeType );
+    ResumeThreadAndVerifyExitL();
+    iMimeType.Set( KGpxMimeType );
+    ResumeThreadAndVerifyExitL();
+
+    iExpectedExitType = ExitPanic;
+    iLog->Log(_L("Panic test 2"));
+    iTestCase = 2;
+    iExpectedErrorCode = EPosLmProtocolBreak;
+    iMimeType.Set( KLmxMimeType );
+    ResumeThreadAndVerifyExitL();
+    iMimeType.Set( KGpxMimeType );
+    ResumeThreadAndVerifyExitL();
+
+    // Import landmarks with an invalid transfer option
+    iExpectedExitType = ExitPanic;
+    iLog->Log(_L("Panic test 3"));
+    iTestCase = 3;
+    iExpectedErrorCode = EPosLmInvalidArgument;
+    iMimeType.Set( KLmxMimeType );
+    ResumeThreadAndVerifyExitL();
+    iMimeType.Set( KGpxMimeType );
+    ResumeThreadAndVerifyExitL();
+    
+     // Import landmarks with an invalid transfer option
+    iExpectedExitType = ExitPanic;
+    iLog->Log(_L("Panic test 9"));
+    iTestCase = 9;
+    iExpectedErrorCode = EPosLmInvalidArgument;
+    iMimeType.Set( KLmxMimeType );
+    ResumeThreadAndVerifyExitL();
+    iMimeType.Set( KGpxMimeType );
+    ResumeThreadAndVerifyExitL();
+    
+    // Import landmarks with an invalid transfer option
+    iExpectedExitType = ExitPanic;
+    iLog->Log(_L("Panic test 10"));
+    iTestCase = 10;
+    iExpectedErrorCode = EPosLmInvalidArgument;
+    iMimeType.Set( KLmxMimeType );
+    ResumeThreadAndVerifyExitL();
+    iMimeType.Set( KGpxMimeType );
+    ResumeThreadAndVerifyExitL();
+
+    // Create a parser with incorrect MIME type, should leave
+    iExpectedExitType = ExitLeave;
+    iLog->Log(_L("Leave test 4"));
+    iTestCase = 4;
+    iExpectedErrorCode = KErrNotSupported;
+    ResumeThreadAndVerifyExitL();
+
+    // Create a parser with incorrect MIME (correct MIME type but with capital letters) type, should leave
+    iExpectedExitType = ExitLeave;
+    iLog->Log(_L("Leave test 5"));
+    iTestCase = 5;
+    iExpectedErrorCode = KErrNotSupported;
+    ResumeThreadAndVerifyExitL();
+    
+    // Create a parser with incorrect MIME type, should leave
+    iExpectedExitType = ExitLeave;
+    iLog->Log(_L("Leave test 18"));
+    iTestCase = 18;
+    iExpectedErrorCode = KErrNotSupported;
+    ResumeThreadAndVerifyExitL();
+    
+#if 0
+    // Create a parser with incorrect MIME type, should leave
+    // TE: the REComSession::CreateImplementationL( leaves with KErrArgument which I think is acceptable
+    // Nokia: This is not part of API definition, case removed
+    iExpectedExitType = ExitLeave;
+    iLog->Log(_L("Leave test 19"));
+    iTestCase = 19;
+    iExpectedErrorCode = KErrArgument;
+    ResumeThreadAndVerifyExitL();
+#endif    
+
+    // Create a parser, parse inc. but change input method after one step
+    iExpectedExitType = ExitPanic;
+    iLog->Log(_L("Leave test 6"));
+    iTestCase = 6;
+    iExpectedErrorCode = EPosLmProtocolBreak;
+    iMimeType.Set( KLmxMimeType );
+    ResumeThreadAndVerifyExitL();
+    iMimeType.Set( KGpxMimeType );
+    ResumeThreadAndVerifyExitL();
+
+#ifndef __WINS__
+    // Fetch Import Iterator with NULL argument
+    iExpectedExitType = ExitPanic;
+    iLog->Log(_L("Panic test 7"));
+    iTestCase = 7;
+    iExpectedErrorCode = 3; // Kern-Exec 3
+    ResumeThreadAndVerifyExitL();
+    ListAllServers();
+    if (!ServerAlive(KPosLandmarksServerName))
+        {
+        iLog->Log(_L("Server not alive as expected(1)!"));
+        User::Leave(-1);
+        
+        }
+
+    // Use a CPosLmOperation object from a compact operation as input to an
+    // ImportedLandmarksIteratorL function call
+    iExpectedExitType = ExitPanic;
+    iLog->Log(_L("Panic test 8"));
+    iTestCase = 8;
+    iExpectedErrorCode = 3; // Kern-Exec 3
+    ResumeThreadAndVerifyExitL();
+    ListAllServers();
+    if (!ServerAlive(KPosLandmarksServerName))
+        {
+        iLog->Log(_L("Server not alive as expected(2)!"));
+        User::Leave(-1);
+        
+        }
+#endif
+
+    // Import subset of landmarks with non existing ids
+    iLog->Log(_L("Panic test 11"));
+    iTestCase = 11;
+    iExpectedExitType = ExitPanic;
+    iExpectedErrorCode = EPosInvalidIndex;
+    iMimeType.Set( KLmxMimeType );
+    ResumeThreadAndVerifyExitL();
+    iMimeType.Set( KGpxMimeType );
+    ResumeThreadAndVerifyExitL();
+    
+    // Import subset of landmarks with empty subset of ids
+    // should leave with KErrArgument
+    iLog->Log(_L("Panic test 12"));
+    iTestCase = 12;
+    iExpectedExitType = ExitLeave;
+    iExpectedErrorCode = KErrArgument;
+    iMimeType.Set( KLmxMimeType );
+    ResumeThreadAndVerifyExitL();
+    iMimeType.Set( KGpxMimeType );
+    ResumeThreadAndVerifyExitL();
+    
+    // Try to receive parsed landmark with invalid index
+    iLog->Log(_L("Panic test 13"));
+    iTestCase = 13;
+    iExpectedExitType = ExitPanic;
+    iExpectedErrorCode = EPosInvalidIndex;
+    iMimeType.Set( KLmxMimeType );
+    ResumeThreadAndVerifyExitL();
+    iMimeType.Set( KGpxMimeType );
+    ResumeThreadAndVerifyExitL();
+    
+    // Try to ParseContentL from empty buffer
+    iLog->Log(_L("Panic test 14"));
+    iTestCase = 14;
+    iExpectedExitType = ExitLeave;
+    iExpectedErrorCode = KErrPosLmUnknownFormat;
+    iMimeType.Set( KLmxMimeType );
+    ResumeThreadAndVerifyExitL();
+    iMimeType.Set( KGpxMimeType );
+    ResumeThreadAndVerifyExitL();
+    
+    // Try toParseContentL from NULL input buffer
+    iLog->Log(_L("Panic test 15"));
+    iTestCase = 15;
+    iExpectedExitType = ExitPanic;
+    iExpectedErrorCode = 3; // Kern-Exec 3
+    iMimeType.Set( KLmxMimeType );
+    ResumeThreadAndVerifyExitL();
+    iMimeType.Set( KGpxMimeType );
+    ResumeThreadAndVerifyExitL();
+    
+    // Try to ImportLandmarks from empty buffer
+    iLog->Log(_L("Panic test 16"));
+    iTestCase = 16;
+    iExpectedExitType = ExitLeave;
+    iExpectedErrorCode = KErrPosLmUnknownFormat;
+    iMimeType.Set( KLmxMimeType );
+    ResumeThreadAndVerifyExitL();
+    iMimeType.Set( KGpxMimeType );
+    ResumeThreadAndVerifyExitL();
+    
+    // Try to ImportLandmarks from NULL buffer
+    iLog->Log(_L("Panic test 17"));
+    iTestCase = 17;
+    iExpectedExitType = ExitPanic;
+    iExpectedErrorCode = 3; // Kern-Exec 3
+    iMimeType.Set( KLmxMimeType );
+    ResumeThreadAndVerifyExitL();
+    iMimeType.Set( KGpxMimeType );
+    ResumeThreadAndVerifyExitL();
+    
+    iLog->Log(_L(">>>>>>>Panic test Done<<<<<<<<<"));
+
+    if (iErrorsFound != KErrNone)
+        {
+        iLog->Log(_L("Errors found in TP51"));
+        User::Leave(-2);
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp51::ResumeThreadAndVerifyExitL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp51::ResumeThreadAndVerifyExitL()
+    {
+    iLog->Log(_L("ResumeThreadAndVerifyExitL"));
+    _LIT(KPanicErr, "ERROR: Method didn't panic, exit type %d"); 
+    _LIT(KPanicCodeErr, "ERROR: Unexpected panic code, actual %d, expected %d");
+    _LIT(KLeaveErr, "ERROR: Method didn't leave, exit type %d"); 
+    _LIT(KLeaveCodeErr, "ERROR: Unexpected leave error, actual %d, expected %d");
+
+    CreateThreadL();
+    TRequestStatus status;
+    iThread.Logon(status);
+    iThread.Resume();
+        
+    User::WaitForRequest(status);
+    
+    if (iExpectedExitType == ExitPanic)
+        {
+        if (iThread.ExitType() != EExitPanic )
+            {
+            iLog->Log( KPanicErr, iThread.ExitType() );
+            iErrorsFound++;
+            }
+        if ( iThread.ExitReason() != iExpectedErrorCode )
+            {
+            iLog->Log( KPanicCodeErr, iThread.ExitReason(), iExpectedErrorCode );
+            iErrorsFound++;
+            }
+        }
+    else if (iExpectedExitType == ExitLeave)
+        {
+        if (iThread.ExitType() != EExitKill )
+            {
+            iLog->Log( KLeaveErr, iThread.ExitType() );
+            iErrorsFound++;
+            }
+        if ( iThread.ExitReason() != iExpectedErrorCode )
+            {
+            iLog->Log( KLeaveCodeErr, iThread.ExitReason(), iExpectedErrorCode );
+            iErrorsFound++;
+            }
+        }
+    iThread.Close();
+    }
+
+// ---------------------------------------------------------
+// CPosTp51::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp51::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+    iThread.Close();
+
+    delete iDatabase;
+    iDatabase = NULL;
+
+    iLog->Log(_L("CloseTest Done"));
+	}
+
+// ---------------------------------------------------------
+// CPosTp51::RunPanicTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+void CPosTp51::RunPanicTestL(TAny* aData)
+    {
+    CPosTp51* self = reinterpret_cast<CPosTp51*>(aData);
+
+	_LIT(KXML1, "c:\\system\\test\\TestData\\TP47_UTF-16-bigEndian.xml");
+	_LIT(KXML2, "c:\\system\\test\\TestData\\TP47_UTF-16-littleEndian.xml");
+	_LIT(KXML3, "c:\\system\\test\\TestData\\TP47_UTF-16-bigEndian.gpx");
+	_LIT(KXML4, "c:\\system\\test\\TestData\\TP47_UTF-16-littleEndian.gpx");
+
+     if (self->iTestCase == 1)
+        {
+         // Create parser 
+        CPosLandmarkParser* landmarkParser = CPosLandmarkParser::NewL(self->iMimeType);
+         
+        //Should Panic when no input is set, parse sync
+        ExecuteAndDeleteLD(landmarkParser->ParseContentL());
+        }
+     else if (self->iTestCase == 2)
+        {
+         // Create parser, 
+         CPosLandmarkParser* landmarkParser = CPosLandmarkParser::NewL(self->iMimeType);
+         // Parse content, should panic when no input set, parse incrementally
+         CPosLmOperation* operation = landmarkParser->ParseContentL();
+         self->RunAsyncOperationLD(operation);
+        }
+     else if (self->iTestCase == 3)
+        {
+         CPosLandmarkDatabase* database = self->OpenDatabaseLC();
+         // Create parser
+         CPosLandmarkParser* landmarkParser = CPosLandmarkParser::NewL(self->iMimeType);
+         // Importlandmarks with invalid transfer option, should panic
+         ExecuteAndDeleteLD(database->ImportLandmarksL(*landmarkParser, 666));
+         CleanupStack::PopAndDestroy(landmarkParser);
+         CleanupStack::PopAndDestroy(database);
+        }
+     else if (self->iTestCase == 4)
+        {
+         // Create parser with incorrect MIME type, should leave with KErrNotSupported
+         CPosLandmarkParser* landmarkParser = CPosLandmarkParser::NewL(KNonExistingMimeType2);
+         CleanupStack::PushL(landmarkParser);
+         CleanupStack::PopAndDestroy(landmarkParser);
+        }
+     else if (self->iTestCase == 5)
+        {
+         // Create parser with incorrect MIME (including capital letters) type, should leave with KErrNotSupported
+         CPosLandmarkParser* landmarkParser = CPosLandmarkParser::NewL(KNonExistingMimeType1);
+         CleanupStack::PushL(landmarkParser);
+         CleanupStack::PopAndDestroy(landmarkParser);
+        }
+     else if (self->iTestCase == 18)
+        {
+         // Create parser with incorrect MIME type (long string), should leave with KErrNotSupported
+         CPosLandmarkParser* landmarkParser = CPosLandmarkParser::NewL(KNonExistingMimeType2);
+         CleanupStack::PushL(landmarkParser);
+         CleanupStack::PopAndDestroy(landmarkParser);
+        }
+    else if (self->iTestCase == 19)
+        {
+         // Create parser with incorrect MIME (empty string) type, should leave with KErrNotSupported (or KErrArgument)
+         // however the REComSession::CreateImplementationL( leaves with KErrArgument which I think is acceptable
+         CPosLandmarkParser* landmarkParser = CPosLandmarkParser::NewL(KEmptyMimeType);
+         CleanupStack::PushL(landmarkParser);
+         CleanupStack::PopAndDestroy(landmarkParser);
+        }
+     else if (self->iTestCase == 6)
+        {
+         CPosLandmarkDatabase* database = self->OpenDatabaseLC();
+         // Create parser
+         CPosLandmarkParser* landmarkParser = CPosLandmarkParser::NewL(self->iMimeType);
+         landmarkParser->SetInputFileL(KXML1);
+         // Call ParseContentL
+         CPosLmOperation* operation = landmarkParser->ParseContentL();
+         TRequestStatus status = KPosLmOperationNotComplete;
+         TReal32 progress;
+
+         // Set new input method before first operation has completed
+         landmarkParser->SetInputFileL(KXML2);
+
+         // Use first operation object->should panic
+         operation->NextStep(status, progress);
+         User::WaitForRequest(status);
+
+         CleanupStack::PopAndDestroy(landmarkParser);
+         CleanupStack::PopAndDestroy(database);
+        }
+     else if (self->iTestCase == 7)
+        {
+        // <<<<<<<<<<<<<< Fetch iterator with CPosLmOperation == NULL >>>>>>>>>>>>>>>>>>>
+        CPosLandmarkDatabase* databasen = self->OpenDatabaseLC();
+        CPosLmItemIterator* iterator = databasen->ImportedLandmarksIteratorL(NULL);
+        delete iterator;
+        CleanupStack::PopAndDestroy(databasen);
+        }
+     else if (self->iTestCase == 8)
+        {
+        // <<<<<<<<<<<<<< Fetch iterator with CPosLmOperation != ImportLandmarksL() >>>>>>>>>>>>>>>>>>>
+        CPosLandmarkDatabase* databasen = self->OpenDatabaseLC();
+        CPosLmOperation* operation = databasen->CompactL();
+        CleanupStack::PushL(operation);
+        CPosLmItemIterator* iterator = databasen->ImportedLandmarksIteratorL(operation);
+        delete iterator;
+        CleanupStack::PopAndDestroy(2, databasen);
+        }
+    else if (self->iTestCase == 9)
+        {
+         CPosLandmarkDatabase* database = self->OpenDatabaseLC();
+         // Create parser
+         CPosLandmarkParser* landmarkParser = CPosLandmarkParser::NewL(self->iMimeType);
+         // Importlandmarks with invalid transfer option, should panic
+         ExecuteAndDeleteLD(database->ImportLandmarksL(*landmarkParser, 0x17));
+         CleanupStack::PopAndDestroy(landmarkParser);
+         CleanupStack::PopAndDestroy(database);
+        }
+    else if (self->iTestCase == 10)
+        {
+         CPosLandmarkDatabase* database = self->OpenDatabaseLC();
+         // Create parser
+         CPosLandmarkParser* landmarkParser = CPosLandmarkParser::NewL(self->iMimeType);
+         CleanupStack::PushL(landmarkParser);
+         RArray<TUint> subset;
+         CleanupClosePushL(subset);
+         subset.Append(12);subset.Append(13);
+         // Importlandmarks with invalid transfer option, should panic
+         ExecuteAndDeleteLD(database->ImportLandmarksL(*landmarkParser, subset, 0x17));
+         CleanupStack::PopAndDestroy(landmarkParser);
+         CleanupStack::PopAndDestroy(database);
+        }
+    else if (self->iTestCase == 11)
+        {
+        // Importlandmarks with non existing subset of ids, should panic
+         CPosLandmarkDatabase* database = self->OpenDatabaseLC();
+         // Create parser
+         CPosLandmarkParser* landmarkParser = CPosLandmarkParser::NewL(self->iMimeType);
+         CleanupStack::PushL(landmarkParser);
+         if ( self->iMimeType != KGpxMimeType )
+             {
+             landmarkParser->SetInputFileL(KXML1);
+             }
+         else
+             {
+             landmarkParser->SetInputFileL(KXML3);
+             }
+         RArray<TUint> subset;
+         CleanupClosePushL(subset);
+         subset.Append(1);subset.Append(2);subset.Append(1200);subset.Append(1300);
+         // Importlandmarks with non existing subset of ids, should panic
+         // Should it Panic with EPosInvalidIndex
+         ExecuteAndDeleteLD(database->ImportLandmarksL(*landmarkParser, subset, CPosLandmarkDatabase::EIncludeCategories));
+         CleanupStack::PopAndDestroy(&subset);
+         CleanupStack::PopAndDestroy(landmarkParser);
+         CleanupStack::PopAndDestroy(database);
+        }
+    else if (self->iTestCase == 12)
+        {
+        // Importlandmarks with empty subset of id, leaves with KErrArgument
+         CPosLandmarkDatabase* database = self->OpenDatabaseLC();
+         // Create parser
+         CPosLandmarkParser* landmarkParser = CPosLandmarkParser::NewL(self->iMimeType);
+         CleanupStack::PushL(landmarkParser);
+         landmarkParser->SetInputFileL(KXML1);
+         RArray<TUint> subset;
+         CleanupClosePushL(subset);
+         // Importlandmarks with empty subset of ids, should leave with KErrArgument
+         ExecuteAndDeleteLD(database->ImportLandmarksL(*landmarkParser, subset, CPosLandmarkDatabase::EIncludeCategories));
+         CleanupStack::PopAndDestroy(&subset);
+         CleanupStack::PopAndDestroy(landmarkParser);
+         CleanupStack::PopAndDestroy(database);
+        }        
+    else if (self->iTestCase == 13)
+        {
+        // Retreive parsed landmark with index outside interval of parsed landmarks
+         CPosLandmarkDatabase* database = self->OpenDatabaseLC();
+         // Create parser
+         CPosLandmarkParser* landmarkParser = CPosLandmarkParser::NewL(self->iMimeType);
+         CleanupStack::PushL(landmarkParser);
+         if ( self->iMimeType != KGpxMimeType )
+             {
+             landmarkParser->SetInputFileL(KXML1);
+             }
+         else
+             {
+             landmarkParser->SetInputFileL(KXML3);
+             }
+         
+         ExecuteAndDeleteLD(landmarkParser->ParseContentL());
+         
+         // Should panic with EPosInvalidIndex
+         landmarkParser->LandmarkLC(2000);
+         
+         CleanupStack::PopAndDestroy(landmarkParser);
+         CleanupStack::PopAndDestroy(database);
+        }
+    else if (self->iTestCase == 14)
+        {
+        // ParseContentL from empty buffer
+        CPosLandmarkDatabase* database = self->OpenDatabaseLC();
+         // Create parser
+         CPosLandmarkParser* landmarkParser = CPosLandmarkParser::NewL(self->iMimeType);
+         CleanupStack::PushL(landmarkParser);
+         HBufC8* bufferContent = HBufC8::NewLC(0);
+         landmarkParser->SetInputBuffer(*bufferContent);
+         
+         CPosLmOperation* operation = landmarkParser->ParseContentL();
+         ExecuteAndDeleteLD(operation);
+         
+         CleanupStack::PopAndDestroy(landmarkParser);
+         CleanupStack::PopAndDestroy(database);
+        }
+    else if (self->iTestCase == 15)
+        {
+        // ParseContentL from NULL input buffer
+        CPosLandmarkDatabase* database = self->OpenDatabaseLC();
+         // Create parser
+         CPosLandmarkParser* landmarkParser = CPosLandmarkParser::NewL(self->iMimeType);
+         CleanupStack::PushL(landmarkParser);
+         HBufC8* bufferContent = NULL;
+         landmarkParser->SetInputBuffer(*bufferContent);
+         
+         ExecuteAndDeleteLD(landmarkParser->ParseContentL());
+         
+         CleanupStack::PopAndDestroy(landmarkParser);
+         CleanupStack::PopAndDestroy(database);
+        }
+    else if (self->iTestCase == 16)
+        {
+        // ImportLandmarks from empty buffer
+        CPosLandmarkDatabase* database = self->OpenDatabaseLC();
+         // Create parser
+         CPosLandmarkParser* landmarkParser = CPosLandmarkParser::NewL(self->iMimeType);
+         CleanupStack::PushL(landmarkParser);
+         HBufC8* bufferContent = HBufC8::NewLC(0);
+         landmarkParser->SetInputBuffer(*bufferContent);
+         
+         CPosLmOperation* operation = database->ImportLandmarksL(*landmarkParser, CPosLandmarkDatabase::EIncludeCategories);
+         ExecuteAndDeleteLD(operation);
+         
+         CleanupStack::PopAndDestroy(bufferContent);
+         CleanupStack::PopAndDestroy(landmarkParser);
+         CleanupStack::PopAndDestroy(database);
+        }        
+    else if (self->iTestCase == 17)
+        {
+        // ImportLandmarks from NULL input buffer
+        CPosLandmarkDatabase* database = self->OpenDatabaseLC();
+         // Create parser
+         CPosLandmarkParser* landmarkParser = CPosLandmarkParser::NewL(self->iMimeType);
+         CleanupStack::PushL(landmarkParser);
+         HBufC8* bufferContent = NULL;
+         landmarkParser->SetInputBuffer(*bufferContent);
+         
+         CPosLmOperation* operation = database->ImportLandmarksL(*landmarkParser, CPosLandmarkDatabase::EIncludeCategories);
+         ExecuteAndDeleteLD(operation);
+         CleanupStack::PopAndDestroy(landmarkParser);
+         CleanupStack::PopAndDestroy(database);
+        }
+    }
+
+// ---------------------------------------------------------
+// LOCAL_C ThreadFunction
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+LOCAL_C TInt ThreadFunction(TAny* aData)
+    {
+    CTrapCleanup* cleanup=CTrapCleanup::New(); 
+
+    CActiveScheduler* actSch = new (ELeave) CActiveScheduler;
+    CActiveScheduler::Install(actSch);
+
+    TRAPD(err, CPosTp51::RunPanicTestL(aData));
+    
+    delete actSch;
+    delete cleanup;
+    return err;
+    }
+
+// ---------------------------------------------------------
+// CPosTp51::ListAllServers
+// 
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp51::ListAllServers()
+    {
+	TFindServer find(_L("*"));
+    TFullName   name;
+    
+    iLog->Log(_L("ListAllServers"));
+
+	while (find.Next(name) == KErrNone)
+		{
+		iLog->Log(name);
+        
+
+		}
+	iLog->Log(_L("--------------------"));
+    }
+    
+// ---------------------------------------------------------
+// CPosTp51::CreateThreadL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp51::CreateThreadL()
+    {
+    _LIT(KThreadName, "Tp51test%dthread%d");
+    _LIT(KCreateThreadErr, "Create thread failed with %d");
+
+	TBuf<100> buf;
+	buf.Format(KThreadName, iTestCase, ++iThreadCounter);
+	
+    TInt err=0;
+    err = iThread.Create(buf, ThreadFunction, KDefaultStackSize, KMinHeapSize, KMaxHeapSize, this);
+    AssertTrueSecL(err == KErrNone, KCreateThreadErr, err);
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp52.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,451 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp52.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLandmarkParser.h>
+#include <EPos_CPosLandmarkEncoder.h>
+#include <EPos_CPosLandmarkSearch.h>
+#include <EPos_CPosLmTextCriteria.h>
+#include <EPos_CPosLMItemIterator.h>
+#include <Xml/XmlParserErrors.h>
+#include <LbsPosition.h>
+
+// CONSTANTS
+
+_LIT(KErronousXMLFile, "c:\\system\\test\\TestData\\Tp47ErrounousXMLData.xml");
+_LIT(KErronousXMLFileDataMissing1, "c:\\system\\test\\TestData\\Tp47ErrounousXMLDataMissingFields1.xml");
+_LIT(KErronousXMLFileDataMissing2, "c:\\system\\test\\TestData\\Tp47ErrounousXMLDataMissingFields2.xml");
+_LIT(KErronousXMLFileDataMissing3, "c:\\system\\test\\TestData\\Tp47ErrounousXMLDataMissingFields3.xml");
+_LIT(KUnknownTags, "c:\\system\\test\\TestData\\Tp47UnknownTags.xml");
+_LIT(KUnknownTrees, "c:\\system\\test\\TestData\\Tp47UnknownTrees.xml");
+_LIT(KNoEndTag1, "c:\\system\\test\\TestData\\Tp47ErrounousXMLNoEndTag1.xml");
+_LIT(KNoEndTag2, "c:\\system\\test\\TestData\\Tp47ErrounousXMLNoEndTag2.xml");
+_LIT(KXMLFileWithLongCategoryName, "c:\\system\\test\\TestData\\Tp47XMLWithLongCategoryName.xml");
+_LIT(KXMLFileWithLongLandmarkName, "c:\\system\\test\\TestData\\Tp47XMLWithLongName.xml");
+_LIT(KXMLFileWithLongLatitudeField, "c:\\system\\test\\TestData\\Tp47XMLWithLongLatitudeField.xml");
+_LIT(KXMLFileWithEmptyCollection, "c:\\system\\test\\TestData\\Tp47ErronousXMLFileEmptyCollection.xml");
+_LIT(KXMLFileWithXMLTagAsDataField1, "c:\\system\\test\\TestData\\Tp47UsingXMLTagAsDataField1.xml");
+_LIT(KXMLFileWithXMLTagAsDataField2, "c:\\system\\test\\TestData\\Tp47UsingXMLTagAsDataField2.xml");
+_LIT(KXMLFileWithXMLTagAsDataField3, "c:\\system\\test\\TestData\\Tp47UsingXMLTagAsDataField3.xml");
+_LIT(KXMLFileWithQuotedXMLTagAsDataField1, "c:\\system\\test\\TestData\\Tp52QuotedXMLTag1.xml");
+
+// ================= MEMBER FUNCTIONS =======================
+// ---------------------------------------------------------
+// CPosTp52::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp52::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+
+
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+
+
+    delete iDatabase;
+    iDatabase=NULL;
+    
+    
+    iLog->Log(_L("CloseTest Done"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp52::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp52::StartL()
+    {
+    iLog->Log(_L("1)) *********************"));
+    DoTestL(KErronousXMLFile, KLmxMimeType, KErrPosLmUnknownFormat);
+    DoTestL(KErronousXMLFile, KGpxMimeType, KErrPosLmUnknownFormat);
+
+    iLog->Log(_L("2)) *********************"));
+    DoTestL(KUnknownTags, KLmxMimeType, KErrNone, 1);
+    DoTestL(KUnknownTags, KGpxMimeType, KErrNone, 1);
+
+    DoTestL(KUnknownTrees, KLmxMimeType, KErrNone, 1);
+    DoTestL(KUnknownTrees, KGpxMimeType, KErrNone, 1);
+    
+    iLog->Log(_L("3)) *********************"));
+    DoTestL(KNoEndTag1, KLmxMimeType, EXmlTagMismatch, 0);
+    DoTestL(KNoEndTag1, KGpxMimeType, EXmlTagMismatch, 0);
+
+    iLog->Log(_L("4)) *********************"));
+    DoTestL(KNoEndTag2, KLmxMimeType, KErrPosLmUnknownFormat, 0);
+    DoTestL(KNoEndTag2, KGpxMimeType, KErrPosLmUnknownFormat, 0);
+
+    // Containing XML tags as data field
+    iLog->Log(_L("5)) *********************"));
+    DoTestL(KXMLFileWithXMLTagAsDataField1, KLmxMimeType, EXmlTagMismatch, 0);
+    DoTestL(KXMLFileWithXMLTagAsDataField1, KGpxMimeType, EXmlTagMismatch, 0);
+    
+    // Containing XML tags as data field
+    iLog->Log(_L("6)) *********************"));
+    DoTestL(KXMLFileWithXMLTagAsDataField2, KLmxMimeType, EXmlTagMismatch, 0);
+    DoTestL(KXMLFileWithXMLTagAsDataField2, KGpxMimeType, EXmlTagMismatch, 0);
+
+    // Containing XML tags as data field
+    iLog->Log(_L("7)) *********************"));
+    DoTestL(KXMLFileWithXMLTagAsDataField3, KLmxMimeType, EXmlTagMismatch, 0);
+    DoTestL(KXMLFileWithXMLTagAsDataField3, KGpxMimeType, EXmlTagMismatch, 0);
+
+    iLog->Log(_L("8)) *********************"));
+    DoTestL(KXMLFileWithEmptyCollection, KLmxMimeType, KErrPosLmUnknownFormat, 0);
+    // N/A for GPX
+
+    iLog->Log(_L("9)) *********************"));
+    DoTestL(KXMLFileWithLongCategoryName, KLmxMimeType, KErrNone, 1);
+    CheckLongCategoryNameL(4);
+    DoTestL(KXMLFileWithLongCategoryName, KGpxMimeType, KErrNone, 1);
+    CheckLongCategoryNameL(1);
+
+    iLog->Log(_L("10)) *********************"));
+    DoTestL(KXMLFileWithLongLandmarkName, KLmxMimeType, KErrNone, 1);
+    CheckLongLandmarkNameL();
+    DoTestL(KXMLFileWithLongLandmarkName, KGpxMimeType, KErrNone, 1);
+    CheckLongLandmarkNameL();
+
+    iLog->Log(_L("11)) *********************"));
+    DoTestL(KXMLFileWithLongLatitudeField, KLmxMimeType, KErrNone, 1);
+    DoTestL(KXMLFileWithLongLatitudeField, KGpxMimeType, KErrNone, 1);
+
+    iLog->Log(_L("12)) *********************"));
+    DoTestL(KErronousXMLFileDataMissing1, KLmxMimeType, KErrPosLmUnknownFormat, 0);
+    DoTestL(KErronousXMLFileDataMissing1, KGpxMimeType, KErrPosLmUnknownFormat, 0);
+
+    iLog->Log(_L("13)) *********************"));
+    DoTestL(KErronousXMLFileDataMissing2, KLmxMimeType, KErrNone, 1);
+    DoTestL(KErronousXMLFileDataMissing2, KGpxMimeType, KErrNone, 1);
+
+    iLog->Log(_L("14)) *********************"));
+    DoTestL(KErronousXMLFileDataMissing3, KLmxMimeType, KErrNone, 1);
+    DoTestL(KErronousXMLFileDataMissing3, KGpxMimeType, KErrNone, 1);
+    
+    iLog->Log(_L("15)) *********************"));
+    DoTestL(KXMLFileWithQuotedXMLTagAsDataField1, KLmxMimeType, KErrNone, 2);
+    DoTestL(KXMLFileWithQuotedXMLTagAsDataField1, KGpxMimeType, KErrNone, 2);
+
+    if (iErrorsFound != KErrNone)
+        {
+        iLog->Log(_L("Errors were found in Tp52"));
+        User::Leave(-1);
+        }
+	}
+
+// ---------------------------------------------------------
+// CPosTp52::DoTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp52::DoTestL(
+    const TDesC&  aTestFile, 
+    const TDesC8& aMimeType,
+    TInt aExpectedErrorCode, 
+    TInt aExpNrImportedLandmarks )
+    {
+    TBuf<150> buf;
+    TInt nr=0;
+    ResetLandmarksDbL();
+
+    TFileName file( aTestFile );
+    if ( aMimeType == KGpxMimeType )
+        {
+        TInt pos = file.Find( KXmlFileExt );
+        file.Replace( pos, KXmlFileExt().Length(), KGpxFileExt );
+        }
+    
+    iLog->Log(_L("FILE (%S)"), &file );
+    iLandmarkParser = CPosLandmarkParser::NewL(aMimeType);
+    iLandmarkParser->SetInputFileL(file);
+    
+    TInt errorCode = 0;
+    // Test sync
+    errorCode = ImportLandmarksL(ETrue, CPosLandmarkDatabase::EIncludeCategories);
+
+    if (errorCode != aExpectedErrorCode)
+        {
+        buf.Format(_L("ERROR: Errorcode %d , should be %d when importing from "), errorCode, aExpectedErrorCode);
+        buf.Append(file);
+        iLog->Log(buf);
+        iErrorsFound++;
+        }
+    else
+        {
+        buf.Format(_L("Correct errorcode %d returned when from "), errorCode);
+        buf.Append(file);
+        iLog->Log(buf);
+        }
+    
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+
+    nr = GetNrOfLandmarksL();
+    if (nr != aExpNrImportedLandmarks)
+        {
+        buf.Format(_L("ERROR: Found %d landmarks should found %d"), nr, aExpNrImportedLandmarks);
+        iLog->Log(buf);
+        iErrorsFound++;
+        }
+    
+    ResetLandmarksDbL();
+
+    iLandmarkParser = CPosLandmarkParser::NewL(aMimeType);
+    iLandmarkParser->SetInputFileL(file);
+
+    // Test async
+    errorCode = ImportLandmarksL(ETrue, CPosLandmarkDatabase::EIncludeCategories);
+
+    if (errorCode != aExpectedErrorCode)
+        {
+        buf.Format(_L("ERROR: Errorcode %d , should be %d when importing from "), errorCode, aExpectedErrorCode);
+        buf.Append(file);
+        iLog->Log(buf);
+        iErrorsFound++;
+        }
+    else
+        {
+        buf.Format(_L("Correct errorcode %d returned when importing landmarks from file "), errorCode);
+        buf.Append(file);
+        iLog->Log(buf);
+        }
+    
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+
+    nr = GetNrOfLandmarksL();
+    if (nr != aExpNrImportedLandmarks)
+        {
+        buf.Format(_L("ERROR: Found %d landmarks should found %d"), nr, aExpNrImportedLandmarks);
+        iLog->Log(buf);
+        iErrorsFound++;
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp52::ImportLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt CPosTp52::ImportLandmarksL(TBool aSync, TUint aTransferOption)
+    {
+    iLog->Log(_L("ImportLandmarksL"));
+
+    //TRequestStatus status = KPosLmOperationNotComplete;
+    //TReal32 progress = 0;
+    TInt err = KErrNone;
+    
+    CPosLmOperation* op;
+    op = iDatabase->ImportLandmarksL(*iLandmarkParser, aTransferOption);
+
+    CleanupStack::PushL(op);
+    // Import only a subset of the landmarks in parser
+    // iOperation = iDatabase->ImportLandmarksL(*iLandmarkParser, aLandmarkSubSet,  aTransferOption);
+    if (aSync)
+        {
+        // Synchronous
+        TRAP(err, op->ExecuteL());
+        iOperation = NULL;
+        }
+    else
+        {
+        // Asynchronous
+        // Progress us checked in test procedure base
+        RunAsyncOperationLD(iDatabase->ImportLandmarksL(*iLandmarkParser, aTransferOption));
+        iOperation = NULL;
+        }
+    CleanupStack::PopAndDestroy(op);
+    return err;
+    }
+
+// ---------------------------------------------------------
+// CPosTp52::ResetLandmarksDbL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp52::ResetLandmarksDbL()
+    {
+    iLog->Log(_L("ResetLandmarksDbL()"));
+    
+    delete iLandmarkSearch;
+    iLandmarkSearch = NULL;
+
+    delete iLandmarkParser;
+    iLandmarkParser = NULL;
+
+    delete iDatabase;
+    iDatabase=NULL;
+
+
+    // Use an empty landmarks db in this test
+    RemoveDefaultDbL();
+    iDatabase = CPosLandmarkDatabase::OpenL();
+    if (iDatabase->IsInitializingNeeded())
+        {
+        ExecuteAndDeleteLD(iDatabase->InitializeL());
+        }    
+    
+    delete iDatabase;
+    iDatabase = NULL;
+    iDatabase = CPosLandmarkDatabase::OpenL();
+    // Do reset so that global categories are included
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);   
+    ExecuteAndDeleteLD(categoryManager->ResetGlobalCategoriesL());
+    CleanupStack::PopAndDestroy(categoryManager);
+    }
+
+// ---------------------------------------------------------
+// CPosTp52::CheckLongLandmarkNameL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp52::CheckLongLandmarkNameL()
+    {
+    iLog->Log(_L("CheckLandmarkL"));
+    // Should only exist one landmark in db
+    CPosLandmark* lm = iDatabase->ReadLandmarkLC(1);
+
+    TPtrC lmname;
+    TInt res = lm->GetLandmarkName(lmname);
+
+    if (res != KErrNone) //LogErrorAndLeave(_L("Problem getting Landmark"));
+    {
+        iLog->Log(_L("Problem getting Landmark"));
+        User::Leave(-1);
+
+    }
+
+    _LIT(KLONGNAME, "Landmark10Landmark10Landmark10Landmark10Landmark10Landmark10Landmark10Landmark10Landmark10Landmark10Landmark10Landmark10Landmark10Landmark10Landmark10Landmark10Landmark10Landmark10Landmark10Landmark10Landmark10Landmark10Landmark10Landmark10Landmark10Landm");
+    if (lmname.Compare(KLONGNAME) != 0)
+        {
+        iLog->Log(_L("Long landmark name does not match"));
+        iErrorsFound++;
+        }
+
+    CleanupStack::PopAndDestroy(lm);
+    }
+
+// ---------------------------------------------------------
+// CPosTp52::CheckLongCategoryNameL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp52::CheckLongCategoryNameL(TInt aNumExpectedCategories )
+    {
+    iLog->Log(_L("CheckLongCategoryNameL"));
+    // Should only exist one landmark in db
+    CPosLandmark* lm = iDatabase->ReadLandmarkLC(1);
+
+    RArray<TPosLmItemId> array;
+    CleanupClosePushL(array);
+    lm->GetCategoriesL(array);
+    TInt nr = array.Count();
+    TPtrC name;
+
+    _LIT(KLONGNAME1, "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234");
+    _LIT(KLONGNAME2, "Pizzeria10Pizzeria20Pizzeria30Pizzeria40Pizzeria50Pizzeria60Pizzeria70Pizzeria80Pizzeria90Pizzeria10Pizzeria10Pizzeria20Pizz");
+    _LIT(KLONGNAME3, "Gizzeria10Gizzeria20Gizzeria30Gizzeria40Gizzeria50Gizzeria60Gizzeria70Gizzeria80Gizzeria90Gizzeria10Gizzeria10Gizzeria20_ABC");
+    _LIT(KLONGNAME4, "Dizzeria10Dizzeria20Dizzeria30Dizzeria40Dizzeria50Dizzeria60Dizzeria70Dizzeria80Dizzeria90Dizzeria10Dizzeria10Dizzeria20_ABC");
+
+    const TInt numNames = 4;
+    const TPtrC names[] = { KLONGNAME1(), KLONGNAME2(), KLONGNAME3(), KLONGNAME4() };
+    
+    if (nr != aNumExpectedCategories) //LogErrorAndLeave(_L("Wrong number of categories for landmark"));
+    {
+        iLog->Log(_L("Wrong number of categories for landmark"));
+        User::Leave(-1);
+    }
+
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+    CleanupStack::PushL(categoryManager);
+    
+    for ( TInt i = 0; i < aNumExpectedCategories; i++ )
+        {
+        CPosLandmarkCategory* cat = categoryManager->ReadCategoryLC(array[i]);
+
+        cat->GetCategoryName(name);
+        // Maximum size for category name is 124 characters
+        if (name.Length() != 124) 
+        {
+            iLog->Log(_L("Category name has wrong size, should be 124"));
+            User::Leave(-1);
+
+        }
+        if (name.Compare(names[i]) != 0) 
+            {
+            iLog->Log(_L("Long category name does not match"));
+            iErrorsFound++;
+            }
+        CleanupStack::PopAndDestroy(cat);
+        }
+
+    CleanupStack::PopAndDestroy(categoryManager);
+
+    CleanupStack::PopAndDestroy(&array);
+    CleanupStack::PopAndDestroy(lm);
+    }
+
+// ---------------------------------------------------------
+// CPosTp52::GetNrOfLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt CPosTp52::GetNrOfLandmarksL()
+    {
+    TInt nrOfLandmarks = 0;
+    CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+    // Search pattern "*" should match all existing landmarks
+    textCriteria->SetTextL(_L("*"));
+
+    CPosLandmarkSearch* landmarkSearch = CPosLandmarkSearch::NewL(*iDatabase);
+    CleanupStack::PushL(landmarkSearch);
+
+    TPosLmSortPref sortAsc(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+    ExecuteAndDeleteLD(landmarkSearch->StartLandmarkSearchL(
+                *textCriteria, 
+                sortAsc,
+                EFalse));
+
+    CPosLmItemIterator* iter = landmarkSearch->MatchIteratorL();
+    CleanupStack::PushL(iter);
+
+    nrOfLandmarks = iter->NumOfItemsL();
+    CleanupStack::PopAndDestroy(iter);
+    CleanupStack::PopAndDestroy(landmarkSearch);
+    CleanupStack::PopAndDestroy(textCriteria);
+    return nrOfLandmarks;
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp53.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,452 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp53.h"
+
+#include <EPos_CPosLandmarkParser.h>
+
+// CONSTANTS
+// const TInt KMaxQueueSize = 5;
+const TReal32 KCompactDbLevel = 0.75; // From ...landmarks\inernalServeices\resources\eposlmcompactdblevel.rss
+
+#ifdef __WINS__
+    _LIT(KImportFile,           "z:\\system\\test\\testdata\\TP53-CategoriesNotInDb.xml");
+    _LIT(KImportFile2,          "z:\\system\\test\\testdata\\TP53-OneLandmark.xml");
+    _LIT(KImportFile3,          "z:\\system\\test\\testdata\\TP53-Categories.xml");
+    _LIT(KImportFile4,          "z:\\system\\test\\testdata\\TP53-Category.xml");
+    _LIT(KImportFile5,          "z:\\system\\test\\testdata\\TP53-GlobalCategory.xml");
+    _LIT(KImportFile6,          "z:\\system\\test\\testdata\\TP53-LandmarksOneCategory.xml");
+    _LIT(KImportFile7,          "z:\\system\\test\\testdata\\TP53-LandmarkCategories.xml");
+    _LIT(KImportFile8,          "z:\\system\\test\\testdata\\TP53-LandmarksCategories.xml");
+
+    _LIT(KCompactImportFile,    "z:\\system\\test\\testdata\\TP53-Compact.xml");
+#else                   
+    _LIT(KImportFile,           "c:\\system\\test\\testdata\\TP53-CategoriesNotInDb.xml");
+    _LIT(KImportFile2,          "c:\\system\\test\\testdata\\TP53-OneLandmark.xml");
+    _LIT(KImportFile3,          "c:\\system\\test\\testdata\\TP53-Categories.xml");
+    _LIT(KImportFile4,          "c:\\system\\test\\testdata\\TP53-Category.xml");
+    _LIT(KImportFile5,          "c:\\system\\test\\testdata\\TP53-GlobalCategory.xml");
+    _LIT(KImportFile6,          "c:\\system\\test\\testdata\\TP53-LandmarksOneCategory.xml");
+    _LIT(KImportFile7,          "c:\\system\\test\\testdata\\TP53-LandmarkCategories.xml");
+    _LIT(KImportFile8,          "c:\\system\\test\\testdata\\TP53-LandmarksCategories.xml");
+
+    _LIT(KCompactImportFile,    "c:\\system\\test\\testdata\\TP53-Compact.xml");
+#endif
+
+_LIT(KCategoryName,     "TP53Category1");
+_LIT(KCategoryName2,    "TP53Category2");
+_LIT(KCategoryName3,    "TP53Category3");
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp53::GetName
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp53::GetName(TDes& aName) const
+    {
+    _LIT(KTestName, "Tp53 - Events and compact during import");
+    aName = KTestName;
+    }
+
+// ---------------------------------------------------------
+// CPosTp53::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp53::CloseTest()
+    {
+	delete iDatabase;
+	iDatabase = NULL;
+    
+    delete iActiveLmEvent;
+    iActiveLmEvent = NULL;
+
+    delete iParser;
+    iParser = NULL;
+    
+    RemoveGlobalCategoriesL(); 
+    }
+
+// ---------------------------------------------------------
+// CPosTp53::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp53::StartL()
+    {
+    RemoveDefaultDbL();
+    RemoveGlobalCategoriesL(); 
+    
+    iDatabase = UseGlobalCategoriesL();
+    
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+    ExecuteAndDeleteLD(iDatabase->CompactL());
+
+    AddCategoriesL();
+
+    iActiveLmEvent = CActiveLmImportEvent::NewL(iLog);
+	
+    iLog->Put(_L("Test events during import"));
+    ExecuteAndDeleteLD(iDatabase->CompactL());
+    LandmarkImportEventTestL();
+ 
+    iLog->Put(_L("Test compact during import"));
+    ExecuteAndDeleteLD(iDatabase->CompactL());
+    LandmarkImportCompactTestL();
+    }
+
+// ---------------------------------------------------------
+// CPosTp53::LandmarkImportEventTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp53::LandmarkImportEventTestL()
+    { 
+    iActiveLmEvent->Start();
+    
+    iParser = CPosLandmarkParser::NewL(KMimeType);
+   
+    /////////////////////////////////////////////
+	// Landmark created event #1 
+	/////////////////////////////////////////////
+    ImportLandmarksL(KImportFile, CPosLandmarkDatabase::EDefaultOptions);
+    
+    /////////////////////////////////////////////
+	// Landmark created event #2
+	/////////////////////////////////////////////
+    ImportLandmarksL(KImportFile2, CPosLandmarkDatabase::EIncludeCategories);
+    
+    /////////////////////////////////////////////
+	// Landmark created event #3
+	/////////////////////////////////////////////
+    ImportLandmarksL(KImportFile3, CPosLandmarkDatabase::EIncludeCategories);
+    
+    /////////////////////////////////////////////
+    // Landmark created event #4 and category created event #5
+    /////////////////////////////////////////////
+    ImportLandmarksL(KImportFile4, CPosLandmarkDatabase::EIncludeCategories);
+    
+    /////////////////////////////////////////////
+    // Landmark created event #6 and category updated event #7
+    /////////////////////////////////////////////
+    ImportLandmarksL(KImportFile5, CPosLandmarkDatabase::EIncludeCategories | CPosLandmarkDatabase::EIncludeGlobalCategoryNames);
+
+    /////////////////////////////////////////////
+    // Unknown landmark changes event #8 and category created event #9
+    /////////////////////////////////////////////
+    ImportLandmarksL(KImportFile6, CPosLandmarkDatabase::EIncludeCategories);
+
+    /////////////////////////////////////////////
+    // Landmark created event #10 and Unknown category changes event #11
+    /////////////////////////////////////////////
+    ImportLandmarksL(KImportFile7, CPosLandmarkDatabase::EIncludeCategories);
+  
+    /////////////////////////////////////////////
+    // Unknown changes event #12
+    /////////////////////////////////////////////
+    ImportLandmarksL(KImportFile8, CPosLandmarkDatabase::EIncludeCategories);
+
+
+    if (iActiveLmEvent->iGlobalErr != 0)
+        {
+        User::Leave(KErrGeneral);
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp53::ImportLandmarksL()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp53::ImportLandmarksL(const TDesC& aFileName, CPosLandmarkDatabase::TTransferOptions aTransferOptions)
+    {
+    iParser->SetInputFileL(aFileName);
+    ExecuteAndDeleteLD(iDatabase->ImportLandmarksL(*iParser, aTransferOptions));
+    CActiveScheduler::Start();
+    }
+
+// ---------------------------------------------------------
+// CPosTp53::AddCategoriesL()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp53::AddCategoriesL()
+    {
+    CPosLmCategoryManager* cm = CPosLmCategoryManager::NewL(*iDatabase); 
+    CleanupStack::PushL(cm);
+
+    CPosLandmarkCategory* category = CPosLandmarkCategory::NewLC();
+    category->SetCategoryNameL(KCategoryName); 
+
+    CPosLandmarkCategory* category2 = CPosLandmarkCategory::NewLC();
+    category2->SetCategoryNameL(KCategoryName2);
+
+    CPosLandmarkCategory* category3 = CPosLandmarkCategory::NewLC();
+    category3->SetCategoryNameL(KCategoryName3);
+
+    cm->AddCategoryL(*category);
+    cm->AddCategoryL(*category2);
+    cm->AddCategoryL(*category3);
+
+    CleanupStack::PopAndDestroy(4, cm);
+    }
+
+// ---------------------------------------------------------
+// CPosTp53::LandmarkImportCompactTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp53::LandmarkImportCompactTestL()
+    {
+    CPosLandmarkParser* parser = CPosLandmarkParser::NewL(KMimeType);
+    CleanupStack::PushL(parser);
+    
+    User::After(200000);
+    TReal32 usage = iDatabase->SizeL().iUsage;
+    TInt count=0;
+ 
+    while (usage > KCompactDbLevel)
+        {
+        TBuf<100> name;
+        name.Format(_L("LMTP53%d"), ++count);
+
+        CPosLandmark* landmark = CPosLandmark::NewLC();
+        landmark->SetLandmarkNameL(name);
+        iDatabase->AddLandmarkL(*landmark);
+        User::After(200000);
+        
+        CleanupStack::PopAndDestroy(landmark);
+
+        usage = iDatabase->SizeL().iUsage;
+        }
+    
+    parser->SetInputFileL(KCompactImportFile);
+
+    iLog->Put(_L("importing..."));
+    ExecuteAndDeleteLD(iDatabase->ImportLandmarksL(*parser, CPosLandmarkDatabase::EDefaultOptions));
+    iLog->Put(_L("importing...Done"));
+    User::After(200000);
+    
+    usage = iDatabase->SizeL().iUsage;
+    
+    AssertTrueSecL(usage >= KCompactDbLevel, _L("Import operation haven't done compact on the database"));    
+
+    CleanupStack::PopAndDestroy(parser);
+    }
+
+// -----------------------------------------------------------------------------
+// CActiveLmImportEvent::NewL
+//
+//(other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+CActiveLmImportEvent* CActiveLmImportEvent::NewL(MUtfwLog* aLog)
+    {
+    CActiveLmImportEvent* self = new(ELeave) CActiveLmImportEvent(aLog);
+    CleanupStack::PushL(self);
+    self->ConstructL();
+    CleanupStack::Pop();
+    return self;
+    }
+
+// -----------------------------------------------------------------------------
+// CActiveLmImportEvent::ConstructL
+//
+//(other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CActiveLmImportEvent::ConstructL()
+    {
+    iDatabase = CPosLandmarkDatabase::OpenL();
+    }
+
+// -----------------------------------------------------------------------------
+// CActiveLmImportEvent::CActiveLmImportEvent
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+
+CActiveLmImportEvent::CActiveLmImportEvent(MUtfwLog* aLog) : 
+    CActive(EPriorityNormal),
+    iLog(aLog)
+    {   
+    CActiveScheduler::Add(this);
+    }
+
+// Destructor
+CActiveLmImportEvent::~CActiveLmImportEvent()
+    {
+    Cancel();
+    delete iDatabase;
+    iDatabase = NULL;
+    }
+
+// ---------------------------------------------------------
+// CActiveLmImportEvent::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CActiveLmImportEvent::Start()                          
+    {
+    iDatabase->NotifyDatabaseEvent(iEvent, iStatus); 
+ 
+    SetActive();
+    }   
+
+// ---------------------------------------------------------
+// CActiveLmImportEvent::RunL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CActiveLmImportEvent::RunL()
+    {  
+    VerifyEvent();
+    
+    iDatabase->NotifyDatabaseEvent(iEvent, iStatus); 
+    SetActive();
+    }
+
+// ---------------------------------------------------------
+// CActiveLmOperation::DoCancel
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CActiveLmImportEvent::DoCancel()
+    {
+    iDatabase->CancelNotifyDatabaseEvent();
+    }
+
+// ---------------------------------------------------------
+// CActiveLmImportEvent::VerifyEvent
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CActiveLmImportEvent::VerifyEvent()
+    { 
+    iEventNumber++;
+	switch (iEventNumber)
+        {			
+		case 1:
+        case 2:
+        case 3:
+            AssertCorrectEvent(EPosLmEventLandmarkCreated, iEvent.iEventType, iEventNumber, iEvent.iLandmarkItemId); 
+            CActiveScheduler::Stop();
+            break;
+        case 4:
+            AssertCorrectEvent(EPosLmEventLandmarkCreated, iEvent.iEventType, iEventNumber, iEvent.iLandmarkItemId); 
+            break;
+        case 5:
+            AssertCorrectEvent(EPosLmEventCategoryCreated, iEvent.iEventType, 14, iEvent.iLandmarkItemId); 
+            CActiveScheduler::Stop();
+            break;
+        case 6:
+            AssertCorrectEvent(EPosLmEventLandmarkCreated, iEvent.iEventType, 5, iEvent.iLandmarkItemId); 
+            break;
+        case 7:
+            AssertCorrectEvent(EPosLmEventCategoryUpdated, iEvent.iEventType, 2, iEvent.iLandmarkItemId); 
+            CActiveScheduler::Stop();
+            break;
+        case 8:
+            AssertCorrectEvent(EPosLmEventCategoryCreated, iEvent.iEventType, 15, iEvent.iLandmarkItemId); 
+            break;
+        case 9:
+            // Two landmarks added
+            AssertCorrectEvent(EPosLmEventLandmarkUnknownChanges, iEvent.iEventType, 0, iEvent.iLandmarkItemId); 
+            CActiveScheduler::Stop();
+            break;
+        case 10:
+            AssertCorrectEvent(EPosLmEventLandmarkCreated, iEvent.iEventType, 8, iEvent.iLandmarkItemId); 
+            break;
+        case 11:
+            AssertCorrectEvent(EPosLmEventCategoryUnknownChanges, iEvent.iEventType, 0, iEvent.iLandmarkItemId); 
+            CActiveScheduler::Stop();
+            break;
+        case 12:
+            AssertCorrectEvent(EPosLmEventUnknownChanges, iEvent.iEventType, 0, iEvent.iLandmarkItemId); 
+            CActiveScheduler::Stop();
+            break;
+		default: 
+            iLog->Put(_L("Unexpected event received"));
+            ++iGlobalErr;
+            CActiveScheduler::Stop();
+            break;
+        }	
+    }
+// ---------------------------------------------------------
+// CActiveLmImportEvent::AssertCorrectEvent
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CActiveLmImportEvent::AssertCorrectEvent(
+	TPosLmEventType  aExpectedEventType,
+	TPosLmEventType  aEventType,
+	TPosLmItemId aExpectedLandMarkItemId,
+	TPosLmItemId aLandMarkItemId)
+	{
+	if (aExpectedEventType != aEventType)
+		{
+		_LIT(KError,"Unexpected eventtype. Excpected %d got %d\r\n");
+		TBuf<200> error;
+		error.Format(KError, aExpectedEventType, aEventType);
+		iLog->Put(error);
+		iGlobalErr++;
+		}
+    else
+        {
+        TBuf<50> debug;
+		debug.Format(_L("Received event %d"), aEventType);
+		iLog->Put(debug);
+        }
+
+	if (aExpectedLandMarkItemId != aLandMarkItemId)
+		{
+		_LIT(KError,"Unexpected item id. Excpected %d got %d\r\n");
+		TBuf<200> error;
+		error.Format(KError, aExpectedLandMarkItemId, aLandMarkItemId);
+		iLog->Put(error);
+		iGlobalErr++;
+		}
+    else
+        {
+        TBuf<50> debug;
+		debug.Format(_L("Received item id %d"), aLandMarkItemId);
+		iLog->Put(debug);
+        }
+	}
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp56.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,373 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp56.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLandmarkEncoder.h>
+
+// CONSTANTS  
+
+_LIT(KDbUri1, "file://c:eposlm.ldb");
+_LIT(KDbUri2, "c:eposlm.ldb");
+_LIT(KDbUri3, "eposlm.ldb");
+_LIT(KDbUri4, "file://eposlm.ldb");
+_LIT(KDbUri5, "testlm.ldb");
+
+// Will need to be changed to the secure dbms path when security is implemented
+_LIT(KDbUri6, "c:\\system\\data\\eposlm.ldb"); 
+// Will need to be changed to the secure dbms path when security is implemented
+_LIT(KDbUri7, "file://c:\\system\\data\\eposlm.ldb"); 
+
+_LIT(KDbUri8, "eposlm");
+_LIT(KDbUri9, "c:eposlm");
+_LIT(KDbUri10, "file://c:eposlm");
+
+_LIT(KDbUri11, "file://c:XXXX.ldb");
+_LIT(KDbUri12, "http://c:eposlm.ldb");
+_LIT(KDbUri13, "");
+
+_LIT(KDbUri14, "file://\\eposlm.ldb"); // UNC
+_LIT(KDbUri15, "\\eposlm.ldb");
+
+
+#ifdef __WINS__    
+    _LIT(KTestDb, "z:\\system\\test\\TestData\\testlm.ldb");
+#else
+    _LIT(KTestDb, "c:\\system\\test\\TestData\\testlm.ldb");
+#endif
+
+ // Will need to be changed to the secure dbms path when security is implemented
+ _LIT(KLocalDbLocation, "c:\\system\\data\\");
+
+_LIT(KExportFileFullPath, "c:\\TP56-LandmarksFromThreeDatabases.xml");
+_LIT(KExportFile, "TP56-LandmarksFromThreeDatabases.xml");
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp56::GetName
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp56::GetName(TDes& aName) const
+    {
+    _LIT(KTestName, "TP56 - Open specific db and multiple db export");
+    aName = KTestName;
+    }
+
+// ---------------------------------------------------------
+// CPosTp56::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp56::StartL()
+    {
+    RemoveDefaultDbL();
+    
+    CPosLandmarkDatabase* lmd = CPosLandmarkDatabase::OpenL();
+    delete lmd;
+
+    TestOpenSpecificDbL();
+
+    TestMultipleExportL();
+
+    TestLockedDatabaseL();
+	}
+
+// ---------------------------------------------------------
+// CPosTp56::TestMultipleExportL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp56::TestMultipleExportL()
+    {
+    _LIT(KDb1, "eposlm1.ldb");
+    _LIT(KDb2, "eposlm2.ldb");
+    _LIT(KDb3, "eposlm3.ldb");
+    
+    CreateDatabasesL();
+
+    CPosLandmarkDatabase* lmd1 = CPosLandmarkDatabase::OpenL(KDb1);
+    CleanupStack::PushL(lmd1);
+    
+    CPosLandmarkDatabase* lmd2 = CPosLandmarkDatabase::OpenL(KDb2);
+    CleanupStack::PushL(lmd2);
+
+    CPosLandmarkDatabase* lmd3 = CPosLandmarkDatabase::OpenL(KDb3);
+    CleanupStack::PushL(lmd3);
+
+    CPosLandmark* lm = CreateXMLLandmarkLC(_L("TP56 - LM with all fields set"));
+    AddAllXMLFieldsL(lm);    
+
+    lmd1->AddLandmarkL(*lm);
+    CleanupStack::PopAndDestroy(lm);  
+    
+    CPosLandmark* lm2 = CreateXMLLandmarkLC(_L("TP56 - LM2"));
+    lmd2->AddLandmarkL(*lm2);
+    CleanupStack::PopAndDestroy(lm2);
+    
+    
+    CPosLandmark* lm3 = CreateXMLLandmarkLC(_L("TP56 - LM3"));
+    
+    CPosLmCategoryManager* cm = CPosLmCategoryManager::NewL(*lmd3);
+    CleanupStack::PushL(cm);
+    
+    CPosLandmarkCategory* category = CPosLandmarkCategory::NewLC();
+    category->SetCategoryNameL(_L("category"));
+    TPosLmItemId id = cm->AddCategoryL(*category);
+    CleanupStack::PopAndDestroy(2, cm);
+    
+    lm3->AddCategoryL(id);
+    lmd3->AddLandmarkL(*lm3);
+    CleanupStack::PopAndDestroy(lm3);
+    
+    CPosLandmarkEncoder* encoder = CPosLandmarkEncoder::NewL(KMimeType);
+    CleanupStack::PushL(encoder);
+
+    encoder->SetOutputFileL(KExportFileFullPath);
+    
+    CPosLmItemIterator* iter = lmd1->LandmarkIteratorL();
+    CleanupStack::PushL(iter);
+    
+    RArray<TPosLmItemId> arrayOfIds;
+    CleanupClosePushL(arrayOfIds);
+    
+    TInt numberOfElements = iter->NumOfItemsL();    
+    iter->GetItemIdsL(arrayOfIds, 0, (numberOfElements));
+
+    ExecuteAndDeleteLD(lmd1->ExportLandmarksL(*encoder, arrayOfIds, CPosLandmarkDatabase::EDefaultOptions));
+
+    RunAsyncOperationLD(lmd2->ExportLandmarksL(*encoder, arrayOfIds, CPosLandmarkDatabase::EDefaultOptions));
+
+    ExecuteAndDeleteLD(lmd3->ExportLandmarksL(*encoder, arrayOfIds, CPosLandmarkDatabase::EIncludeCategories));
+
+    ExecuteAndDeleteLD(encoder->FinalizeEncodingL()); 
+    
+    CleanupStack::PopAndDestroy(6, lmd1);
+
+    TInt err = CompareL(KExportFile);
+    AssertTrueSecL(err == KErrNone, _L("The exported file is not equal to file exported prevoius release"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp56::CreateDatabasesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp56::CreateDatabasesL()
+    {
+    // Paths will need to be changed to the secure dbms path when security is implemented
+   
+    _LIT(KDefaultDbPath, "c:\\system\\data\\eposlm.ldb");
+
+    _LIT(KDb1Path, "c:\\system\\data\\eposlm1.ldb");
+    _LIT(KDb2Path, "c:\\system\\data\\eposlm2.ldb");
+    _LIT(KDb3Path, "c:\\system\\data\\eposlm3.ldb");
+
+    CPosLandmarkDatabase* lmd = CPosLandmarkDatabase::OpenL();
+    CleanupStack::PushL(lmd);
+
+    if (lmd->IsInitializingNeeded())
+        {
+        ExecuteAndDeleteLD(lmd->InitializeL()); 
+        }
+    
+    CleanupStack::PopAndDestroy(lmd);  
+
+    RFs fs;
+    User::LeaveIfError(fs.Connect());
+    CleanupClosePushL(fs);
+   
+    fs.Delete(KExportFile);
+
+    CFileMan* fileMan = CFileMan::NewL(fs);
+    CleanupStack::PushL(fileMan);
+
+    User::LeaveIfError(fileMan->Copy(KDefaultDbPath, KDb1Path, CFileMan::EOverWrite));    
+    User::LeaveIfError(fileMan->Copy(KDefaultDbPath, KDb2Path, CFileMan::EOverWrite));    
+    User::LeaveIfError(fileMan->Copy(KDefaultDbPath, KDb3Path, CFileMan::EOverWrite));  
+
+
+    CleanupStack::PopAndDestroy(2, &fs);  
+    }
+
+// ---------------------------------------------------------
+// CPosTp56::TestOpenSpecificDbL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp56::TestOpenSpecificDbL()
+    {
+    _LIT(KHttpErr, "http is not a supported protocol");
+    _LIT(KURIErr, "Not a valid URI");
+    _LIT(KArgumentErr, "An empty descr is not a valid URI");
+
+    TestOpenDbL(KDbUri1);
+    TestOpenDbL(KDbUri2);
+    TestOpenDbL(KDbUri3);
+    TestOpenDbL(KDbUri4);
+    
+    CopyTestDbL();
+    TestOpenDbL(KDbUri5);
+    
+    TRAPD(err, TestOpenDbL(KDbUri6));
+    AssertTrueSecL(err == KErrArgument, KURIErr);
+
+    TRAP(err, TestOpenDbL(KDbUri7));
+    AssertTrueSecL(err == KErrArgument, KURIErr);
+
+    TRAP(err, TestOpenDbL(KDbUri8));
+    AssertTrueSecL(err == KErrArgument, KURIErr);
+
+    TRAP(err, TestOpenDbL(KDbUri9));
+    AssertTrueSecL(err == KErrArgument, KURIErr);
+
+    TRAP(err, TestOpenDbL(KDbUri10));
+    AssertTrueSecL(err == KErrArgument, KURIErr);
+
+    TRAP(err, TestOpenDbL(KDbUri11));
+    AssertTrueSecL(err == KErrNotFound, KURIErr);
+
+    TRAP(err, TestOpenDbL(KDbUri12));
+    AssertTrueSecL(err == KErrNotSupported, KHttpErr);
+
+    TRAP(err, TestOpenDbL(KDbUri13))
+    AssertTrueSecL(err == KErrArgument, KArgumentErr);
+
+    TRAP(err, TestOpenDbL(KDbUri14));
+    AssertTrueSecL(err == KErrArgument, KURIErr);
+    
+    TRAP(err, TestOpenDbL(KDbUri15));
+    AssertTrueSecL(err == KErrArgument, KURIErr);
+    }
+
+// ---------------------------------------------------------
+// CPosTp56::TestOpenDbL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp56::TestOpenDbL(const TDesC& aDbURI)
+    {
+    CPosLandmarkDatabase* lmd = CPosLandmarkDatabase::OpenL(aDbURI);
+    CleanupStack::PushL(lmd);
+    
+    if (lmd->IsInitializingNeeded())
+        {
+        ExecuteAndDeleteLD(lmd->InitializeL()); 
+        }
+ 
+    CleanupStack::PopAndDestroy(lmd);  
+    }
+
+//---------------------------------------------------------
+// CPosTp56::CopTestDbL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp56::CopyTestDbL()
+    {
+        
+    RFs fs;
+    User::LeaveIfError(fs.Connect());
+    CleanupClosePushL(fs);
+
+    CFileMan* fileMan = CFileMan::NewL(fs);
+    CleanupStack::PushL(fileMan);
+
+    User::LeaveIfError(fileMan->Copy(KTestDb, KLocalDbLocation, CFileMan::EOverWrite));     
+    
+    CleanupStack::PopAndDestroy(2, &fs);  
+
+    }
+
+// ---------------------------------------------------------
+// CPosTp56::TestLockedDatabaseL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp56::TestLockedDatabaseL()
+    {
+    CPosLandmarkDatabase* db1 = UseGeneratedDbFileL();
+    CleanupStack::PushL(db1);
+
+    // Take read lock
+    RArray<TPosLmItemId> ids;
+    CleanupClosePushL(ids);
+    User::LeaveIfError(ids.Append(1));
+    User::LeaveIfError(ids.Append(3));
+    User::LeaveIfError(ids.Append(4));
+    User::LeaveIfError(ids.Append(6));
+    User::LeaveIfError(ids.Append(7));
+    User::LeaveIfError(ids.Append(9));
+    User::LeaveIfError(ids.Append(24));
+    User::LeaveIfError(ids.Append(14));
+    User::LeaveIfError(ids.Append(66));
+    User::LeaveIfError(ids.Append(61));
+    User::LeaveIfError(ids.Append(14));
+    CPosLmOperation* operation = db1->PreparePartialLandmarksL(ids);
+    CleanupStack::PushL(operation);
+    TReal32 progress(0);
+    TRequestStatus status;
+    while (progress < 0.4)
+        {
+        operation->NextStep(status, progress);
+        User::WaitForRequest(status);
+        }
+
+    // Try to instantiate a new db handle
+    operation->NextStep(status, progress);
+    CPosLandmarkDatabase* db2 = CPosLandmarkDatabase::OpenL(KDbUri1);
+    delete db2;
+    User::WaitForRequest(status);
+
+    // Release read lock
+    CleanupStack::PopAndDestroy(operation);
+    
+    // Take write lock
+    operation = db1->RemoveAllLandmarksL();
+    CleanupStack::PushL(operation);
+    progress = 0;
+    while (progress < 0.4)
+        {
+        operation->NextStep(status, progress);
+        User::WaitForRequest(status);
+        }
+
+    // Try to instantiate a new db handle - should result in KErrLocked
+    operation->NextStep(status, progress);
+    db2 = NULL;
+    TRAPD(err, db2 = CPosLandmarkDatabase::OpenL(KDbUri1));
+    delete db2;
+    User::WaitForRequest(status);
+    AssertTrueSecL(err == KErrLocked, _L("OpenL() didn't result in KErrLocked but in %d"), err);
+    
+    CleanupStack::PopAndDestroy(3, db1);
+    }
+
+//  End of File
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp57.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,310 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp57.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLmTextCriteria.h>
+#include <EPos_CPosLmAreaCriteria.h>
+
+// CONSTANTS  
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp57::GetName
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp57::GetName(TDes& aName) const
+    {
+    _LIT(KTestName, "TP57 - Multiple db search");
+    aName = KTestName;
+    }
+
+// ---------------------------------------------------------
+// CPosTp57::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp57::CloseTest()
+    { 
+    iSearchResults.ResetAndDestroy();
+    }
+    
+// ---------------------------------------------------------
+// CPosTp57::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp57::StartL()
+    {
+    
+    iDatabase = UseGeneratedDbFileL();
+    
+    CPosLandmark* lm = NULL;
+    TRAPD(err, 
+        {    
+        lm = iDatabase->ReadLandmarkLC(1);
+        CleanupStack::PopAndDestroy(lm);
+        }
+    );
+    
+/*    if (!err)
+        {
+        delete lm;
+        }
+  */      
+    
+    
+    /*
+    CreateDatabasesL();
+  
+    SearchWithTextCriteriaL();
+    
+    SearchWithAreaCriteriaL();
+    */
+	}
+
+
+
+// ---------------------------------------------------------
+// CPosTp57::SearchWithTextCriteria
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp57::SearchWithTextCriteriaL()
+    {
+    AppendSearchResultsL();
+    
+    for(TInt i=0; i<iSearchResults.Count(); i++)
+        {   
+        CPosLmTextCriteria* textCriteria = CPosLmTextCriteria::NewLC();
+        
+        textCriteria->SetTextL(iSearchResults[i]->TextCriteria());
+        textCriteria->SetAttributesToSearch(iSearchResults[i]->Attributes());
+        
+        textCriteria->SetPositionFieldsToSearchL(iSearchResults[i]->PositionFields()); 
+        
+        
+        
+        }
+        
+    }
+
+// ---------------------------------------------------------
+// CPosTp57::SearchWithAreaCriteriaL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp57::SearchWithAreaCriteriaL()
+    {
+    AppendAreaSearchResultsL();	
+    
+    
+    TBuf<255> info;
+    for (TInt i=0; i<iAreaSearchResults.Count(); i++)
+        {
+        CPosLmAreaCriteria* areaCriteria=NULL;
+        TRAPD(err, areaCriteria = CPosTp57::NewLmAreaCriteriaL(iAreaSearchResults[i]->SouthLat(),
+                                                               iAreaSearchResults[i]->NorthLat(),
+                                                               iAreaSearchResults[i]->WestLong(),
+                                                               iAreaSearchResults[i]->EastLong()
+                                                               ));
+        CleanupStack::PushL(areaCriteria);
+    
+        if (err != iAreaSearchResults[i]->ErrorCode())
+            {
+            iLog->Put(_L("Unexpected error code returned"));    
+            iLog->Put(_L("Area Search result read from file:"));
+            
+            iAreaSearchResults[i]->Print(info);
+            iLog->Put(info);
+
+            _LIT(KReturned, "NewLmAreaCriteriaL error = %d");
+            info.Format(KReturned, err);
+            iLog->Put(info);
+            User::Leave(KErrGeneral);
+            } 
+            
+        if (!err)
+            {
+            
+            
+            
+            }     
+         }   
+               
+    }
+
+// ---------------------------------------------------------
+// CPosTp57::NewLmAreaCriteriaL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+CPosLmAreaCriteria* CPosTp57::NewLmAreaCriteriaL(const TReal64 &aSouthLat, 
+                                                 const TReal64 &aNorthLat,
+                                                 const TReal64 &aWestLong, 
+                                                 const TReal64 &aEastLong) 
+    {
+    CPosLmAreaCriteria* areaCriteria = CPosLmAreaCriteria::NewLC(aSouthLat, 
+                                                                aNorthLat, 
+                                                                aWestLong, 
+                                                                aEastLong
+                                                                );
+    CleanupStack::Pop();
+    
+    return areaCriteria;
+    }    
+// ---------------------------------------------------------
+// CPosTp57::CreateDatabasesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp57::CreateDatabasesL()
+    {
+    /* 
+    Very inefficient and time consuming method, maybe better to execute once and store the 
+    created databases as testdata
+    
+    Db name:            Landmarks id: 
+    eposlm1.ldb         1-10                
+    eposlm2.ldb         11-20
+    eposlm3.ldb         21-30
+    eposlm4.ldb         31-40
+    eposlm5.ldb         41-50    
+    eposlm6.ldb         51-60
+    eposlm7.ldb         61-70
+    eposlm8.ldb         71-80
+    eposlm9.ldb         81-90
+    eposlm10.ldb        91-100
+    eposlm11.ldb        101-105
+    */
+    
+    // Paths will need to be changed to the secure dbms path when security is implemented
+    _LIT(KDefaultDbPath, "c:\\system\\data\\eposlm.ldb"); // Contains now no landmarks but the global categories
+    _LIT(KDbNamePath, "c:\\system\\data\\eposlm%d.ldb");
+    
+    const TInt KLastId=105;
+    const TInt KNoDatabases=11;
+     
+    RemoveDefaultDbL();
+    
+    CPosLandmarkDatabase* lmd = CPosLandmarkDatabase::OpenL();
+    CleanupStack::PushL(lmd);
+
+    if (lmd->IsInitializingNeeded())
+        {
+        ExecuteAndDeleteLD(lmd->InitializeL()); 
+        }
+    CleanupStack::PopAndDestroy(lmd); 
+        
+    RFs fs;
+    User::LeaveIfError(fs.Connect());
+    CleanupClosePushL(fs);
+   
+    CFileMan* fileMan = CFileMan::NewL(fs);
+    CleanupStack::PushL(fileMan);
+
+    // Create 11 databases
+    TInt i=0;
+    for (i=1; i <= KNoDatabases; i++)
+        {
+        TBuf<100> db;
+        db.Format(KDbNamePath, i);
+        
+        fs.Delete(db);
+        User::LeaveIfError(fileMan->Copy(KDefaultDbPath, db, CFileMan::EOverWrite));    
+        }
+    CleanupStack::PopAndDestroy(2, &fs);  
+     
+    iDatabase = UseGeneratedDbFileL();
+    
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+        
+    _LIT(KDbName, "eposlm%d.ldb");   
+   
+    TInt databaseNumber=1;
+    for (i=1; i <= KLastId; i++)
+        {
+        CPosLandmark* lm = iDatabase->ReadLandmarkLC(i);
+        
+        TBuf<100> name;
+        name.Format(KDbName, databaseNumber);
+            
+        iLog->Put(name);
+        CPosLandmarkDatabase* lmd = CPosLandmarkDatabase::OpenL(name);
+        CleanupStack::PushL(lmd);
+        
+        lmd->AddLandmarkL(*lm);
+        CleanupStack::PopAndDestroy(2, lm); 
+        
+        if (i % 10 == 0)
+            {
+            ++databaseNumber;
+            }       
+        }   
+         
+    // DEBUG 
+    for (i=1; i <= KNoDatabases; i++)
+        {
+        TBuf<100> dbNo;
+        dbNo.Format(_L(" -------- Printing Db %d --------------"), i);
+        iLog->Put(dbNo);
+        
+        TBuf<100> db;
+        db.Format(KDbName, i);
+        iLog->Put(db);
+        
+        CPosLandmarkDatabase* lmd = CPosLandmarkDatabase::OpenL(db);
+        CleanupStack::PushL(lmd);
+        
+        CPosLmItemIterator* iter = lmd->LandmarkIteratorL();
+        CleanupStack::PushL(iter);
+
+        TPosLmItemId id = iter->NextL();
+        
+        while (id != KPosLmNullItemId)
+            {
+            CPosLandmark* lm = lmd->ReadLandmarkLC(id);
+        
+            TBuf<255> info;
+            PrintLandmark(*lm, info);
+            iLog->Put(info);
+            CleanupStack::PopAndDestroy(lm); 
+            
+            id = iter->NextL();
+            }    
+       
+        CleanupStack::PopAndDestroy(2, lmd);
+        }
+    }
+
+//  End of File
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp58.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,379 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp58.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLandmarkParser.h>
+
+// CONSTANTS
+#ifdef __WINS__
+_LIT(KXMLFile, "z:\\system\\test\\testdata\\Tp49ImportInput.xml"); // re-use
+#else
+_LIT(KXMLFile, "c:\\system\\test\\testdata\\Tp49ImportInput.xml"); // re-use
+#endif
+_LIT(KTp58Panic, "Timeout Panic");
+const TInt KTp58PanicNumber = 58;
+
+// ================= LOCAL FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// LOCAL_C ImportThreadFunction
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+LOCAL_C TInt ImportThreadFunction(TAny* aData)
+    {
+    CTrapCleanup* cleanup = CTrapCleanup::New(); 
+
+    CActiveScheduler* actSch = new (ELeave) CActiveScheduler;
+    CActiveScheduler::Install(actSch);
+
+    TRAPD(err, CPosTp58::RunImportTestL(aData));
+       
+    delete actSch;
+    delete cleanup;
+    return err;
+    }
+
+// ---------------------------------------------------------
+// LOCAL_C KillerThreadFunction
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+LOCAL_C TInt KillerThreadFunction(TAny* aData)
+    {
+    CTrapCleanup* cleanup = CTrapCleanup::New(); 
+
+    CActiveScheduler* actSch = new (ELeave) CActiveScheduler;
+    CActiveScheduler::Install(actSch);
+
+    TRAPD(err, CPosTp58::RunThreadKillerL(reinterpret_cast <RThread*> (aData)));
+       
+    delete actSch;
+    delete cleanup;
+    return err;
+    }
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp58::GetName
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp58::GetName(TDes& aName) const
+    {
+    _LIT(KTestName, "TP58 - Import landmarks using User::WaitForRequest()");
+    aName = KTestName;
+    }
+
+// ---------------------------------------------------------
+// CPosTp58::InitTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp58::InitTestL()
+    {
+    MakeSurePanicDebugFileExistsL();
+    }
+
+// ---------------------------------------------------------
+// CPosTp58::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp58::CloseTest()
+    {
+    }
+
+// ---------------------------------------------------------
+// CPosTp58::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp58::StartL()
+    {
+// Test Import all landmarks
+    iLog->Put(_L("Importing all landmarks"));
+    iTestCase = ETestImportAllLandmarks;
+    iExpectedErrorCode = KErrGeneral;
+    ResumeThreadsAndVerifyExitL();
+
+// Test Import subset of landmarks
+    iLog->Put(_L("Importing subset of all landmarks"));
+    iTestCase = ETestImportSubsetOfLandmarks;
+    iExpectedErrorCode = KErrGeneral;
+    ResumeThreadsAndVerifyExitL();
+    }
+
+// ---------------------------------------------------------
+// CPosTp58::InitDbLC
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+CPosLandmarkDatabase* CPosTp58::InitDbLC()
+    {
+    RemoveDefaultDbL();
+    CPosLandmarkDatabase* database = CPosLandmarkDatabase::OpenL();
+    CleanupStack::PushL(database);
+    
+    if (database->IsInitializingNeeded())
+        {
+        ExecuteAndDeleteLD(database->InitializeL());
+        }
+
+    return database;
+    }
+
+// ---------------------------------------------------------
+// CPosTp58::RunImportTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp58::RunImportTestL(TAny* aData)
+    {
+    CPosTp58* tp58 = reinterpret_cast <CPosTp58*> (aData);
+
+    switch (tp58->iTestCase)
+        {
+        case ETestImportAllLandmarks:
+            tp58->ImportLandmarksL(NULL);
+            break;
+        case ETestImportSubsetOfLandmarks:
+            {
+            RArray<TUint> subset;
+            CleanupClosePushL(subset);    
+            subset.Append(5);
+            subset.Append(1);
+            subset.Append(9);
+            subset.Append(3);
+
+            tp58->ImportLandmarksL(&subset);
+
+            CleanupStack::PopAndDestroy(&subset);
+            }
+            break;
+        };
+    }
+
+// ---------------------------------------------------------
+// CPosTp58::RunThreadKillerL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp58::RunThreadKillerL(RThread* aThread)
+    {
+    TTimeIntervalMicroSeconds32 oneMinute = 60 * 1000000;
+
+    // Enter a infinite loop. This reason to this is that I want to be sure 
+    // that it is killed by the TP58-thread.
+    TBool forever = ETrue;
+    while (forever)
+        {
+        User::After(oneMinute);
+
+        // Panic importThread if it is still alive
+        if (aThread->ExitType() == EExitPending)
+            {
+            TRequestStatus status;
+            aThread->Logon(status);
+            aThread->Panic(KTp58Panic, KTp58PanicNumber);
+            User::WaitForRequest(status);
+            }
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp58::ImportLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp58::ImportLandmarksL(const RArray<TUint>* aLandmarkSubSet)
+    {
+    CPosLandmarkDatabase* db = InitDbLC();
+
+    // Recreate parser
+    CPosLandmarkParser* landmarkParser = CPosLandmarkParser::NewL(KMimeType);
+    CleanupStack::PushL(landmarkParser);
+    landmarkParser->SetInputFileL(KXMLFile);
+
+    CPosLmOperation* operation = NULL;
+    if (aLandmarkSubSet)
+        {
+        // Import only a subset of the landmarks in parser
+        operation = db->ImportLandmarksL(
+            *landmarkParser, 
+            *aLandmarkSubSet,  
+            CPosLandmarkDatabase::EDefaultOptions);
+        }
+    else
+        {
+        operation = db->ImportLandmarksL(
+            *landmarkParser, 
+            CPosLandmarkDatabase::EDefaultOptions);
+        }
+    TRequestStatus status(KPosLmOperationNotComplete);
+    TReal32 progress(0);
+    operation->NextStep(status, progress);
+
+    // Wait for NextStep to complete - should hang
+    User::WaitForRequest(status);
+
+    // Cancel the import operation
+    delete operation;
+
+    CleanupStack::PopAndDestroy(2, db);
+    }
+
+// ---------------------------------------------------------
+// CPosTp58::ResumeThreadsAndVerifyExitL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp58::ResumeThreadsAndVerifyExitL()
+    {
+    iLog->Put(_L("ResumeThreadAndVerifyExitL"));
+    _LIT(KCreateThreadErr, "Creating thread failed with %d");
+
+	TBuf<100> threadName;
+    // Create import thread
+    RThread importThread;
+    CleanupClosePushL(importThread);
+    _LIT(KImportThreadName, "TP58 - Import thread, part %d");
+    threadName.Format(KImportThreadName, iTestCase);
+    iLog->Put(_L("Creating Import thread"));
+    //TInt err = importThread.Create(KImportThreadName, ImportThreadFunction, 
+    TInt err = importThread.Create(threadName, ImportThreadFunction, 
+        KDefaultStackSize, KMinHeapSize, KMaxHeapSize, this);
+
+    AssertTrueSecL(err == KErrNone, KCreateThreadErr, err);
+
+    // Create killer thread
+    RThread killerThread;
+    CleanupClosePushL(killerThread);
+    _LIT(KKillerThreadName, "TP58 - Killer thread, part %d");
+    threadName.Format(KKillerThreadName, iTestCase);
+    iLog->Put(_L("Creating Killer thread"));
+    err = killerThread.Create(threadName, KillerThreadFunction, 
+        KDefaultStackSize, KMinHeapSize, KMaxHeapSize, &importThread);
+    AssertTrueSecL(err == KErrNone, KCreateThreadErr, err);
+
+    // Start threads and wait until either of them exits.
+    TRequestStatus importThreadStatus, killerThreadStatus;
+    importThread.Logon(importThreadStatus);
+    importThread.Resume();
+    killerThread.Logon(killerThreadStatus);
+    killerThread.Resume();
+    User::WaitForRequest(importThreadStatus, killerThreadStatus);
+
+    // Kill the thread that might still be alive
+    TExitType importThreadExitType = importThread.ExitType();
+    TExitCategoryName importThreadExitCategory = importThread.ExitCategory();
+    TInt importThreadExitReason = importThread.ExitReason();
+    if (importThreadExitType == EExitPending)
+        {
+        importThread.Kill(KErrCancel);
+        User::WaitForRequest(importThreadStatus);
+        }
+    TExitType killerThreadExitType = killerThread.ExitType();
+    TExitCategoryName killerThreadExitCategory = killerThread.ExitCategory();
+    TInt killerThreadExitReason = killerThread.ExitReason();
+    if (killerThreadExitType == EExitPending)
+        {
+        killerThread.Kill(KErrCancel);
+        User::WaitForRequest(killerThreadStatus);
+        }
+    
+    // Log threads' exit results
+    TBuf<100> buf;
+    buf.Format(
+        _L("ImportThread ended with exit type: %d, exit reason: %d, exit category: %S"), 
+        importThreadExitType, importThreadExitReason, &importThreadExitCategory);
+    iLog->Put(buf);
+    buf.Format(
+        _L("KillerThread ended with exit type: %d, exit reason: %d, exit category: %S"), 
+        killerThreadExitType, killerThreadExitReason, &killerThreadExitCategory);
+    iLog->Put(buf);
+
+    // Verify thread exit results
+    TBool error = VerifyThreadExitResults(killerThreadExitType, importThreadExitType, 
+        importThreadExitCategory, importThreadExitReason);
+    if (error)
+        {
+        User::Leave(KErrGeneral);
+        }
+
+    CleanupStack::PopAndDestroy(2, &importThread);
+    }
+
+// ---------------------------------------------------------
+// CPosTp58::VerifyThreadExitResults
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TBool CPosTp58::VerifyThreadExitResults(
+    TExitType aKillerThreadExitType,
+    TExitType aImportThreadExitType,
+    const TExitCategoryName& aImportThreadExitCategory,
+    TInt aImportThreadExitReason)
+    {
+    TBool error = EFalse;
+
+    if (aImportThreadExitType != EExitPanic)
+        {
+        _LIT(KExitTypeErr, "Import thread was not panicked as expected.");
+        iLog->PutError(KExitTypeErr);
+        error = ETrue;
+        }
+    if (aImportThreadExitCategory != KTp58Panic)
+        {
+        _LIT(KPanicErr, "Import thread had unexpected panic category");
+        iLog->PutError(KPanicErr);
+        error = ETrue;
+        }
+    if (aImportThreadExitReason != KTp58PanicNumber)
+        {
+        _LIT(KPanicCodeErr, "Import thread had unexpected panic number");
+        iLog->PutError(KPanicCodeErr);
+        error = ETrue;
+        }
+    if (aKillerThreadExitType != EExitPending)
+        {
+        _LIT(KExitTypeErr, "Killer thread was not alive as expected.");
+        iLog->PutError(KExitTypeErr);
+        error = ETrue;
+        }
+
+    return error;
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp6.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,266 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp6.h"
+
+#include <EPos_CPosLandmarkDatabase.h> 
+#include <EPos_CPosLandmarkCategory.h> 
+#include <EPos_CPosLMCategoryManager.h>
+
+#include "FT_LandmarkConstants.h"
+
+// CONSTANTS
+// _LIT(KGetCategoryNameErr, "GetCategoryName returns incorrect error code");
+_LIT(KCategoryNameErr, "Category name is incorrect");
+_LIT(KCategoryIdErr, "Category Id is incorrect");
+_LIT(KGlobalCategoryIdErr, "Global Category Id is incorrect");
+_LIT(KCategoryIconIndexErr, "Category Icon index is incorrect");
+_LIT(KCategoryIconMaskIndexErr, "Category Icon Mask Index is incorrect");
+_LIT(KCategoryMbmFileNameErr, "Category MbmFileName is incorrect");
+_LIT(KAddCategoryErr, "AddCategory should return an error");
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+
+// ---------------------------------------------------------
+// CPosTp6::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp6::StartL()
+    {
+    iLog->Log(_L("In the StartL of FT_CPosTp6.h"));
+    RemoveDefaultDbL();
+    
+    CPosLandmarkCategory* category = CreateCategoryLC(KCategoryName);
+    CPosLandmarkCategory* copy = CPosLandmarkCategory::NewLC(*category);
+
+    CheckGetMethodsL(category, KCategoryName);
+    
+    copy->SetCategoryNameL(KCategoryName2);
+    CheckGetMethodsL(copy, KCategoryName2);
+
+    CheckRemoveMethodsL(category);
+    CheckRemoveMethodsL(copy);
+    
+    CPosLandmarkDatabase* lmd = OpenDatabaseLC();
+    ExecuteAndDeleteLD(lmd->CompactL());
+    CPosLmCategoryManager* cm = CPosLmCategoryManager::NewL(*lmd); 
+    CleanupStack::PushL(cm); 
+    User::After(1000000);
+    TRAPD(err, cm->AddCategoryL(*copy));
+    AssertTrueSecL(err == KErrArgument, KAddCategoryErr);
+    
+    CheckFieldsMaxLengthL();
+    
+    CheckEmptyCategoryNameL();
+    
+    CheckSetIconL();
+
+    CleanupStack::PopAndDestroy(4); // category, copy, lmd, cm
+	}
+
+// ---------------------------------------------------------
+// CPosTp6::CheckGetmethods
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp6::CheckGetMethodsL(CPosLandmarkCategory* aCategory, const TDesC& aName)
+    {
+    TPtrC categoryName;
+   
+    aCategory->GetCategoryName(categoryName);  
+   
+    AssertTrueSecL(categoryName.Compare(aName) == KErrNone, KCategoryNameErr);
+    AssertTrueSecL(aCategory->CategoryId() == 0, KCategoryIdErr);
+    AssertTrueSecL(aCategory->GlobalCategory() == 0, KGlobalCategoryIdErr);
+    
+    TPtrC mbmFileName;
+    TInt index;
+    TInt indexMask;
+    aCategory->GetIcon(mbmFileName, index, indexMask);
+    AssertTrueSecL(mbmFileName.Compare(KMbmFileName) == KErrNone, KCategoryMbmFileNameErr);
+    AssertTrueSecL(index == KIconIndex, KCategoryIconIndexErr);
+    AssertTrueSecL(indexMask == KIconMaskIndex, KCategoryIconMaskIndexErr);    
+
+    CPosLandmarkDatabase* lmd = OpenDatabaseLC();
+    CPosLmCategoryManager* cm = CPosLmCategoryManager::NewL(*lmd); 
+    CleanupStack::PushL(cm);
+    
+    TPosLmItemId id1 = cm->AddCategoryL(*aCategory);
+    User::After(1000000);
+    TRAPD(err, cm->AddCategoryL(*aCategory));
+    AssertTrueSecL(err == KErrAlreadyExists, KAddCategoryErr);
+    AssertTrueSecL(id1 == aCategory->CategoryId(), KCategoryIdErr);
+    
+    CleanupStack::PopAndDestroy(2); // lmd, cm
+	}
+
+// ---------------------------------------------------------
+// CPosTp6::CheckRemoveMethodsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//    
+void CPosTp6::CheckRemoveMethodsL(CPosLandmarkCategory* aCategory)
+    {
+    aCategory->RemoveCategoryAttributes(CPosLandmarkCategory::ENoAttribute);
+    aCategory->RemoveCategoryAttributes(CPosLandmarkCategory::ECategoryName);
+    aCategory->RemoveCategoryAttributes(CPosLandmarkCategory::EIcon);
+    
+    CheckRemovedL(aCategory);
+
+    CPosLandmarkCategory* category = CreateCategoryLC(KCategoryName);
+    category->RemoveCategoryAttributes(CPosLandmarkCategory::EAllAttributes);
+    CheckRemovedL(category);
+    CleanupStack::PopAndDestroy(category);
+	
+	// Check with attributes outside defined interval
+	// since TAttributes is a TUint32 -1 is casted to EAllAttributes = 0xFFFF 
+    category = CreateCategoryLC(_L("NewCategory"));
+    category->RemoveCategoryAttributes((CPosLandmarkCategory::TAttributes)-1);
+    
+    TPtrC categoryName;
+    if (category->GetCategoryName(categoryName) == KErrNotFound) iLog->Log(_L("Category Name has been removed"));
+    TPtrC mbmFileName;
+    TInt index;
+    TInt indexMask;
+    if (aCategory->GetIcon(mbmFileName, index, indexMask) == KErrNotFound) iLog->Log(_L("Catgory Icon has been removed"));
+    
+    CleanupStack::PopAndDestroy(category);
+    
+    // Check with attributes outside defined interval
+    category = CreateCategoryLC(_L("NewCategory2"));
+    category->RemoveCategoryAttributes(0);
+    category->GetCategoryName(categoryName);
+    AssertTrueSecL(categoryName.CompareC(_L("NewCategory2")) == KErrNone, _L("Wrong category name returned after remove invalid attribute"));
+	
+    CleanupStack::PopAndDestroy(category);
+    }
+
+// ---------------------------------------------------------
+// CPosTp6::CheckRemovedL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp6::CheckRemovedL(CPosLandmarkCategory* aCategory)
+    {
+    TPtrC name;
+    AssertTrueSecL(aCategory->GetCategoryName(name) == KErrNotFound, KCategoryNameErr);
+
+    TPtrC mbmFileName;
+    TInt index;
+    TInt indexMask;
+    AssertTrueSecL(aCategory->GetIcon(mbmFileName, index, indexMask) == KErrNotFound, KCategoryMbmFileNameErr);   
+    
+    }
+    
+//---------------------------------------------------------
+// CPosTp6::CheckEmptyCategoryNameL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp6::CheckEmptyCategoryNameL()
+	{
+	
+	iLog->Log(_L("CheckEmptyCategoryNameL"));
+	CPosLandmarkCategory* category = CPosLandmarkCategory::NewLC();
+	
+	// Set empty string as category name
+	// should not be accepted
+    TRAPD(err, category->SetCategoryNameL(_L("")));
+    
+    if (err != KErrArgument)
+    {
+    iLog->Log(_L("Empty category name should not be accepted"));
+    User::Leave(err);	
+    }
+    
+    
+    CleanupStack::PopAndDestroy(category);
+	}
+
+//---------------------------------------------------------
+// CPosTp6::CheckSetIconL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp6::CheckSetIconL()
+	{
+	iLog->Log(_L("CheckSetIconL"));
+	
+	_LIT(K124Error, "Icon name is not limited to 255 characters");
+
+    
+	// Defined in KMaxFileName e32const.h
+    HBufC* hbuf = HBufC::NewLC(KMaxFileName+1);
+    while(hbuf->Des().Length() < KMaxFileName)
+        {
+        hbuf->Des().Append(_L("X"));
+        }
+        
+    CPosLandmarkCategory* category = CPosLandmarkCategory::NewLC();
+    category->SetIconL(*hbuf, 0, KPosLmIconMaskNotUsed);
+    
+    hbuf->Des().Append(_L("X"));
+
+    TRAPD(err, category->SetIconL(*hbuf, 0, KPosLmIconMaskNotUsed));
+    AssertTrueSecL(err == KErrArgument, K124Error);
+
+    CleanupStack::PopAndDestroy(2, hbuf);
+	}
+	
+//---------------------------------------------------------
+// CPosTp6::CheckFieldsMaxLength
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp6::CheckFieldsMaxLengthL()
+    {
+    _LIT(K124Error, "Category name is not limited to 255 characters");
+
+    const TInt KMaxFileName = 124;
+    HBufC* hbuf = HBufC::NewLC(KMaxFileName+1);
+ 
+    while(hbuf->Des().Length() < KMaxFileName)
+        {
+        hbuf->Des().Append(_L("X"));
+        }
+
+    CPosLandmarkCategory* category = CPosLandmarkCategory::NewLC();
+    category->SetCategoryNameL(*hbuf);
+    
+    hbuf->Des().Append(_L("X"));
+
+    TRAPD(err, category->SetCategoryNameL(*hbuf));
+    AssertTrueSecL(err == KErrArgument, K124Error);
+
+    CleanupStack::PopAndDestroy(2, hbuf);
+    }
+    
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp7.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,223 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp7.h"
+#include <EPos_CPosLandmarkDatabase.h> 
+#include <EPos_CPosLMItemIterator.h> 
+#include <EPos_CPosLandmark.h> 
+#include <EPos_CPosLMCategoryManager.h>
+#include <EPos_CPosLandmarkCategory.h>  
+#include <LbsPosition.h> 
+#include <e32std.h>
+//#include <ss_std.h>
+#include "FT_LandmarkConstants.h"
+        
+const TInt KShortDelayMicroSeconds = 10000; // 0.01 sec
+
+// ================= MEMBER FUNCTIONS =======================
+
+
+// ---------------------------------------------------------
+// CPosTp7::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp7::StartL()
+    {      
+    _LIT(KMultipleErr, "Error %d when multiple clients access the landmarks db");
+    _LIT(KMultipleAddErr, "All Add request from multiple clients returns KErrLocked");
+    _LIT(KExitErr, "Thread was panicked or is still alive");
+   
+    MakeSurePanicDebugFileExistsL();
+
+    RemoveDefaultDbL();
+
+    CPosLandmarkDatabase* lmd = CPosLandmarkDatabase::OpenL();
+    CleanupStack::PushL(lmd);
+    if (lmd->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(lmd->InitializeL()); 
+       }
+    CleanupStack::PopAndDestroy(lmd);
+    
+    iOneSucces=EFalse;
+    TFixedArray<TRequestStatus, KNoMultipleClients> statuses;
+    
+    CreateThreadsL();
+
+    iLog->Log(_L("Logon"));
+    for (TInt i=0; i<iThreads.Count(); i++)
+        { 
+        iThreads[i].Logon(statuses[i]);
+        iThreads[i].Resume();
+        }
+    
+    iLog->Log(_L("WaitForRequest"));
+    for (TInt j=0; j<iThreads.Count(); j++)
+        {
+         User::WaitForRequest(statuses[j]);
+        }
+    
+    iLog->Log(_L("Checking Threads"));
+    for (TInt t=0; t<iThreads.Count(); t++)
+        {
+        TInt exitReason = iThreads[t].ExitReason();
+      
+        AssertTrueSecL(exitReason == KErrNone, KMultipleErr, exitReason);
+        AssertTrueSecL(iThreads[t].ExitType() == EExitKill, KExitErr);
+        }
+    
+    AssertTrueSecL(iOneSucces, KMultipleAddErr); 
+    }
+
+// ---------------------------------------------------------
+// CPosTp7::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp7::CloseTest()
+    {
+    for (TInt i=0; i<iThreads.Count(); i++)
+        {
+        iThreads[i].Close();
+        }
+
+    iThreads.Close();
+  
+    }
+
+// ---------------------------------------------------------
+// CPosTp7::RunTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp7::RunTestL(TAny* aData)
+    {
+    CPosTp7* self = reinterpret_cast<CPosTp7*>(aData);
+    TInt threadIndex = ++self->iThreadIndex;
+
+    CPosLandmarkDatabase* lmd = CPosLandmarkDatabase::OpenL();
+    CleanupStack::PushL(lmd);
+    
+    if (lmd->IsInitializingNeeded())
+       {
+       TInt err = KErrLocked;
+       while ( ETrue )
+           {
+           TRAP( err, ExecuteAndDeleteLD(lmd->InitializeL()) ); 
+           if ( !err )
+               {
+               break;
+               }
+           else if ( err != KErrLocked )
+               {
+               RDebug::Print( _L("TP7: thread %d, db init failed with %d"),  
+                   threadIndex, err );
+               User::Leave( err );
+               }
+           else
+               {
+               RDebug::Print( _L("TP7: thread %d, db locked, can't init"),  
+                   threadIndex);
+               }
+           User::After( TTimeIntervalMicroSeconds32( KShortDelayMicroSeconds ) );
+           }
+       }
+    
+    for ( TInt i = 0; i < KNoAddRequests; i++ )
+        {
+        CPosLandmark* landmark = CPosLandmark::NewLC();
+        
+        _LIT(KLmName, "Thread%d Lm %d");
+        TBuf<100> lmName;
+        lmName.Format(KLmName, threadIndex, i);
+        landmark->SetLandmarkNameL(lmName);
+    
+        RDebug::Print( _L("TP7: thread %d, adding lm %d"), threadIndex, i );
+        TRAPD( err, lmd->AddLandmarkL( *landmark ) );
+        if ( err != KErrLocked && err != KErrNone && err != KErrInUse )
+            {
+            RDebug::Print( _L("TP7: thread %d, add lm %d failed with %d"), threadIndex, i, err );
+            User::Leave( err );
+            }
+        else if( err == KErrNone )
+            {
+            self->iOneSucces = ETrue; // At lest one add request should return KErrNone
+            }
+        else
+            {
+            RDebug::Print( _L("TP7: thread %d, db locked, can't add lm %d"), threadIndex, i );
+            }
+
+        CleanupStack::PopAndDestroy(landmark);    
+        User::After( TTimeIntervalMicroSeconds32( KShortDelayMicroSeconds ) );
+        }
+    CleanupStack::PopAndDestroy(lmd);
+    }
+
+
+LOCAL_C TInt ThreadFunction(TAny* aData)
+    {
+    
+    CTrapCleanup* cleanup=CTrapCleanup::New(); 
+
+    CActiveScheduler* actSch = new (ELeave) CActiveScheduler;
+    CActiveScheduler::Install(actSch);
+
+    TRAPD(err, CPosTp7::RunTestL(aData));
+    
+    delete actSch;
+    delete cleanup;
+    return err;
+    }
+
+// ---------------------------------------------------------
+// CPosTp7::CreateThreadsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp7::CreateThreadsL()
+    {
+    iLog->Log(_L("CreateThreadsL"));
+    _LIT(KThreadName, "TP7thread%d");
+    _LIT(KCreateThreadErr, "Create thread failed with %d");
+
+    for (TInt i=0; i<KNoMultipleClients; i++)
+        {
+        RThread thread;
+        TBuf<32> name;
+	    name.Format(KThreadName, i + 1);
+                
+        TInt err;
+        err = thread.Create(name, ThreadFunction, KDefaultStackSize, KMinHeapSize, KMaxHeapSize, reinterpret_cast<TAny*>(this));
+
+        AssertTrueSecL(err == KErrNone, KCreateThreadErr, err);                                                                  
+        
+        iThreads.Append(thread);
+        }
+
+    iLog->Log(_L("CreateThreadsL Done"));
+    }
+    
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp76.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,135 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp76.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include "FT_LandmarkConstants.h"
+           
+//_LIT(KCopyFilePath, "c:\\system\\data\\EPOSLMGLOBALCATEGORIES.R01");
+_LIT(KCopyFilePath, "c:\\resource\\EPOSLMGLOBALCATEGORIES.R01");
+#ifdef __WINS__
+_LIT(KCORRUPTFILE, "z:\\system\\test\\testdata\\corrupt_EPOSLMGLOBALCATEGORIES.R06");
+#else
+_LIT(KCORRUPTFILE, "c:\\system\\test\\testdata\\corrupt_EPOSLMGLOBALCATEGORIES.R06");
+#endif
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp76::GetName
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp76::GetName(TDes& aName) const
+    {
+    _LIT(KTestName, "Tp76 - Corrupt Global Categories resource file");
+    aName = KTestName;
+    }
+
+// ---------------------------------------------------------
+// CPosTp76::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp76::StartL()
+    {  
+    
+    // Test error report ESLI-65WADU
+	TestCorruptGlobalCategoriesFileL();
+
+	}
+
+// ---------------------------------------------------------
+// CPosTp76::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp76::CloseTest()
+	{
+	iLog->Put(_L("CloseTest"));
+	// Delete "corrupt" global categories file
+	DeleteFileL(KCopyFilePath);
+
+	delete iOperation;
+	iOperation = NULL;
+
+	}
+
+// ---------------------------------------------------------
+// CPosTp76::TestCorruptGlobalCategoriesFileL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp76::TestCorruptGlobalCategoriesFileL()
+	{
+	iLog->Put(_L("TestCorruptGlobalCategoriesFileL"));
+	RemoveDefaultDbL();
+
+	RFs fs;
+    User::LeaveIfError(fs.Connect());
+    CleanupClosePushL(fs);
+    
+    CFileMan* fileMan = CFileMan::NewL(fs);
+    CleanupStack::PushL(fileMan);
+   
+	// use emtpy landmarks db as corrupt global categories file
+    //User::LeaveIfError(fileMan->Copy(KLandmarksEmptyDb, KCopyFilePath, CFileMan::EOverWrite));
+    User::LeaveIfError(fileMan->Copy(KCORRUPTFILE, KCopyFilePath, CFileMan::EOverWrite));
+     
+    CleanupStack::PopAndDestroy(2, &fs);
+	iLog->Put(_L("Open Landmarksdb"));
+	CPosLandmarkDatabase* lmd = CPosLandmarkDatabase::OpenL();
+    CleanupStack::PushL(lmd);
+
+	if (lmd->IsInitializingNeeded())
+        {
+		iLog->Put(_L("IsInitializingNeeded()"));
+        ExecuteAndDeleteLD(lmd->InitializeL());
+        iLog->Put(_L("After InitializeL()"));
+		}
+
+    // FrBo TBD below, what will happen below when error above is fixed
+	CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*lmd);
+	CleanupStack::PushL(categoryManager);
+	// Make sure that global categories are included in lm db, use default global categories
+	iLog->Put(_L("categoryManager->ResetGlobalCategoriesL()"));
+	
+	TRAPD(err, iOperation = categoryManager->ResetGlobalCategoriesL());
+
+	if (err == KErrNone) LogErrorAndLeave(_L("ResetGlobalCategoriesL should leave with errorcode"));
+	TBuf<100> buf;
+	buf.Format(_L("ResetGlobalCategoriesL leaved with code: %d"), err);
+	iLog->Put(buf);
+
+	delete iOperation;
+	iOperation = NULL;
+
+	CleanupStack::PopAndDestroy(categoryManager);
+    CleanupStack::PopAndDestroy(lmd);
+
+	DeleteFileL(KCopyFilePath);
+	iLog->Put(_L("TestCorruptGlobalCategoriesFileL"));
+	}
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp77.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,604 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp77.h"
+#include <EPos_CPosLandmarkDatabase.h>
+
+// CONSTANTS
+// _LIT(KTp77Panic, "Timeout Panic");
+const TInt KTp77PanicNumber = 77;
+
+// ================= LOCAL FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// LOCAL_C BadThreadFunction
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+LOCAL_C TInt BadClientThreadFunction(TAny* aData)
+    {
+    CTrapCleanup* cleanup = CTrapCleanup::New(); 
+    CActiveScheduler* actSch = new (ELeave) CActiveScheduler;
+    CActiveScheduler::Install(actSch);
+
+    TRAPD(err, CPosTp77::RunBadClientTestL(aData));
+       
+    delete actSch;
+    delete cleanup;
+    return err;
+    }
+
+// ---------------------------------------------------------
+// LOCAL_C KillerThreadFunction
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+LOCAL_C TInt KillerThreadFunction(TAny* aData)
+    {
+    CTrapCleanup* cleanup = CTrapCleanup::New(); 
+    CActiveScheduler* actSch = new (ELeave) CActiveScheduler;
+    CActiveScheduler::Install(actSch);
+
+    TRAPD(err, CPosTp77::RunThreadKillerL(aData));
+       
+    delete actSch;
+    delete cleanup;
+    return err;
+    }
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp77::GetName
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp77::GetName(TDes& aName) const
+    {
+    _LIT(KTestName, "TP77 - Bad server usage");
+    aName = KTestName;
+    }
+
+// ---------------------------------------------------------
+// CPosTp77::InitTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp77::InitTestL()
+    {
+    MakeSurePanicDebugFileExistsL();
+    }
+
+// ---------------------------------------------------------
+// CPosTp77::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp77::CloseTest()
+    {
+    iBadThread.Close();
+    }
+
+// ---------------------------------------------------------
+// CPosTp77::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp77::StartL()
+    {
+// Test multiple Notify Db events
+    iLog->Put(_L("1st part, testing multiple notify Db event"));
+    iTestCase = ETestNotifyDbEvent;
+    CPosLandmarkDatabase* db = InitDbLC();
+    iTimeToWait = 3000000;
+    ResumeThreadsAndVerifyExitL();
+    TBool errors = VerifyThreadExitResultsL(KTp77PanicNumber);
+    (errors) ?
+        VerifyLmServerIsAliveL(db) :
+        errors = VerifyLmServerIsAliveL(db);
+    CleanupStack::PopAndDestroy(db);
+
+// Test non terminated single Notify Db event
+    iLog->Put(_L("2nd part, testing non terminated sinlge notify Db event"));
+    iTestCase = ETestNotifyDbEvent2;
+    db = InitDbLC();
+    ResumeThreadsAndVerifyExitL();
+    (errors) ?
+        VerifyThreadExitResultsL(0) :
+        errors = VerifyThreadExitResultsL(0);
+    (errors) ?
+        VerifyLmServerIsAliveL(db) :
+        errors = VerifyLmServerIsAliveL(db);
+    CleanupStack::PopAndDestroy(db);
+
+// Test non terminated single InitializeL()
+    iLog->Put(_L("3rd part, testing non terminated single Initialize db operations"));
+    iTestCase = ETestInitialize;
+    RemoveDefaultDbL();    
+    db = CPosLandmarkDatabase::OpenL();
+    CleanupStack::PushL(db);
+    ResumeThreadsAndVerifyExitL();
+    (errors) ?
+        VerifyThreadExitResultsL(0) :
+        errors = VerifyThreadExitResultsL(0);
+    CPosLmOperation* initOp = db->InitializeL();
+    CleanupStack::PushL(initOp);
+    TRAPD(err, initOp->ExecuteL());
+    if (err != KErrNone)
+        {
+        _LIT(KError, "Trying to initialize after badThread failed with %d");
+        iBuf.Format(KError, err);
+        iLog->PutError(iBuf);
+        errors = ETrue;
+        }
+    CleanupStack::PopAndDestroy(initOp);
+    (errors) ?
+        VerifyLmServerIsAliveL(db) :
+        errors = VerifyLmServerIsAliveL(db);
+    CleanupStack::PopAndDestroy(db);
+
+// Test non terminated multiple InitializeL()
+    iLog->Put(_L("4th part, testing non terminated multiple Initialize db operations"));
+    iTestCase = ETestInitialize2;
+    RemoveDefaultDbL();    
+    db = CPosLandmarkDatabase::OpenL();
+    CleanupStack::PushL(db);
+    ResumeThreadsAndVerifyExitL();
+    (errors) ?
+        VerifyThreadExitResultsL(0) :
+        errors = VerifyThreadExitResultsL(0);
+    initOp = db->InitializeL();
+    CleanupStack::PushL(initOp);
+    TRAP(err, initOp->ExecuteL());
+    if (err != KErrNone)
+        {
+        _LIT(KError, "Trying to initialize after badThread failed with %d");
+        iBuf.Format(KError, err);
+        iLog->PutError(iBuf);
+        errors = ETrue;
+        }
+    CleanupStack::PopAndDestroy(initOp);
+    (errors) ?
+        VerifyLmServerIsAliveL(db) :
+        errors = VerifyLmServerIsAliveL(db);
+    CleanupStack::PopAndDestroy(db);
+
+// Test write lock on non terminated import operation
+    iLog->Put(_L("5th part, testing write lock on non terminated import operation"));
+    iTestCase = ETestWriteLock;
+    db = UseGeneratedDbFileL();
+    CleanupStack::PushL(db);
+    ResumeThreadsAndVerifyExitL();
+    (errors) ?
+        VerifyThreadExitResultsL(0) :
+        errors = VerifyThreadExitResultsL(0);
+    (errors) ?
+        VerifyLmServerIsAliveL(db) :
+        errors = VerifyLmServerIsAliveL(db);
+    CleanupStack::PopAndDestroy(db);
+
+// The test below should be successful. This is the case on WINS but not in THUMB. On
+// THUMB it runs for a while and then fails with KErrNoMemory. A duration test is needed!
+/*
+// Test RegisterUri (executed during OpenL())
+    iLog->Put(_L("2nd part, testing registering URI..."));
+    iTestCase = ETestRegisterUri;
+    db = InitDbLC();
+
+    TBool ready = EFalse;
+    TInt diff;
+    iTimeToWait = 3000000;
+    while (!ready)
+        {
+        diff = iTimeToWait.Int() - iLastTimeToWait.Int();
+        iLastTimeToWait = iTimeToWait;
+        ResumeThreadsAndVerifyExitL();
+        VerifyLmServerIsAliveL(db);
+        if (iBadThreadExitReason == KTp77PanicNumber &&
+            iBadThreadExitType == EExitKill)
+            {
+            // Increase iTimeToWait
+            iTimeToWait = iTimeToWait.Int() + Abs(diff / 2);
+            }
+        else if (iBadThreadExitReason == 0 &&
+            iBadThreadExitType == EExitKill)
+            {
+            // Decrease iTimeToWait
+            iTimeToWait = iTimeToWait.Int() - Abs(diff / 2);
+            }
+        else
+            {
+            LogErrorAndLeave(_L("Got unexpected exit code from badThread"));
+            }
+        ready = iTimeToWait == iLastTimeToWait;
+        }
+    iBuf.Format(_L("Estimated critical code after %d microseconds"), iTimeToWait.Int());
+    iLog->Put(buf);
+
+    // Execute vulnarable code
+    iTimeToWait = iTimeToWait.Int() - 3000;
+    diff = 20;
+    ready = EFalse;
+    TInt i = 0;
+    while (!ready)
+        {
+        iTimeToWait = iTimeToWait.Int() + diff;
+        ResumeThreadsAndVerifyExitL();
+        VerifyLmServerIsAliveL(db);
+        ready = iBadThreadExitReason != KTp77PanicNumber;
+        i++;
+        }
+
+    buf.Format(_L("Tested %d loops"), i);
+    iLog->Put(buf);
+
+    CleanupStack::PopAndDestroy(db);*/
+
+    if (errors)
+        {
+        User::Leave(KErrGeneral);
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp77::InitDbLC
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+CPosLandmarkDatabase* CPosTp77::InitDbLC()
+    {
+    RemoveDefaultDbL();
+    CPosLandmarkDatabase* database = CPosLandmarkDatabase::OpenL();
+    CleanupStack::PushL(database);
+    
+    if (database->IsInitializingNeeded())
+        {
+        ExecuteAndDeleteLD(database->InitializeL());
+        }
+
+    return database;
+    }
+
+// ---------------------------------------------------------
+// CPosTp77::RunBadClientTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp77::RunBadClientTestL(TAny* aData)
+    {
+    CPosTp77* tp77 = reinterpret_cast <CPosTp77*> (aData);
+    switch (tp77->iTestCase)
+        {
+        case ETestNotifyDbEvent:
+            {
+            TPosLmEvent event1, event2, event3, event4, event5;
+            TRequestStatus status1 = KErrNone;
+            TRequestStatus status2 = KErrNone; 
+            TRequestStatus status3 = KErrNone;
+            TRequestStatus status4 = KErrNone;
+            TRequestStatus status5 = KErrNone;
+            TRequestStatus status[5] = {status1, status2, status3, status4, status5};
+
+            CPosLandmarkDatabase* db1 = CPosLandmarkDatabase::OpenL();
+            CleanupStack::PushL(db1);
+            CPosLandmarkDatabase* db2 = CPosLandmarkDatabase::OpenL();
+            CleanupStack::PushL(db2);
+            CPosLandmarkDatabase* db3 = CPosLandmarkDatabase::OpenL();
+            CleanupStack::PushL(db3);
+            CPosLandmarkDatabase* db4 = CPosLandmarkDatabase::OpenL();
+            CleanupStack::PushL(db4);
+            CPosLandmarkDatabase* db5 = CPosLandmarkDatabase::OpenL();
+            CleanupStack::PushL(db5);
+
+            db1->NotifyDatabaseEvent(event1, status[0]);
+            db2->NotifyDatabaseEvent(event2, status[1]);
+            db3->NotifyDatabaseEvent(event3, status[2]);
+            db4->NotifyDatabaseEvent(event4, status[3]);
+            db5->NotifyDatabaseEvent(event5, status[4]);
+
+            for (TInt i = 0; i < 5; i++)
+                {
+                User::WaitForRequest(status[i]);
+                }
+
+            CleanupStack::PopAndDestroy(5, db1);
+            }
+            break;
+
+        case ETestNotifyDbEvent2:
+            {
+            CPosLandmarkDatabase* db1 = CPosLandmarkDatabase::OpenL();
+            
+            // Observe events
+            TPosLmEvent event1;
+            TRequestStatus status1;
+            db1->NotifyDatabaseEvent(event1, status1);
+            }
+            break;
+
+        case ETestInitialize:
+            {
+            CPosLandmarkDatabase* db = CPosLandmarkDatabase::OpenL();
+            
+            // Start to initialize db
+            CPosLmOperation* op = db->InitializeL();
+            TRequestStatus status;
+            TReal32 progress;
+            op->NextStep(status, progress);
+            }
+            break;
+
+        case ETestInitialize2:
+            {
+            TRequestStatus status1, status2, status3, status4, status5;
+            TReal32 progress1, progress2, progress3, progress4, progress5;
+            CPosLandmarkDatabase* db1 = CPosLandmarkDatabase::OpenL();
+            CPosLandmarkDatabase* db2 = CPosLandmarkDatabase::OpenL();
+            CPosLandmarkDatabase* db3 = CPosLandmarkDatabase::OpenL();
+            CPosLandmarkDatabase* db4 = CPosLandmarkDatabase::OpenL();
+            CPosLandmarkDatabase* db5 = CPosLandmarkDatabase::OpenL();
+        
+            // Start to initialize db
+            CPosLmOperation* op1 = db1->InitializeL();
+            CPosLmOperation* op2 = db2->InitializeL();
+            CPosLmOperation* op3 = db3->InitializeL();
+            CPosLmOperation* op4 = db4->InitializeL();
+            CPosLmOperation* op5 = db5->InitializeL();
+            op1->NextStep(status1, progress1);
+            op2->NextStep(status2, progress2);
+            op3->NextStep(status3, progress3);
+            op4->NextStep(status4, progress4);
+            op5->NextStep(status5, progress5);
+            }
+            break;
+
+        case ETestWriteLock:
+            {
+            CPosLandmarkDatabase* db = CPosLandmarkDatabase::OpenL();
+            CleanupStack::PushL(db);
+            CPosLmOperation* removeOp = db->RemoveAllLandmarksL();
+            TReal32 progress(0);
+            TRequestStatus status;
+            while (progress < 0.4)
+                {
+                removeOp->NextStep(status, progress);
+                User::WaitForRequest(status);
+                }
+            CleanupStack::Pop(db);
+            }
+            break;
+
+        case ETestRegisterUri:
+            {
+            CPosLandmarkDatabase* db1 = CPosLandmarkDatabase::OpenL();
+            delete db1;
+            }
+            break;
+
+        };
+    }
+
+// ---------------------------------------------------------
+// CPosTp77::RunThreadKillerL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp77::RunThreadKillerL(TAny* aData)
+    {
+    CPosTp77* tp77 = reinterpret_cast <CPosTp77*>(aData);
+
+    // Enter a infinite loop. This reason to this is that I want to be sure 
+    // that it is killed by the TP77-thread.
+    TBool forever = ETrue;
+    while (forever)
+        {
+        // Panic badThread if it is still alive
+        if (tp77->iBadThread.ExitType() == EExitPending)
+            {
+            TRequestStatus status;
+            tp77->iBadThread.Logon(status);
+
+            switch (tp77->iTestCase)
+                {
+                case ETestNotifyDbEvent:
+                    {
+                    // Make sure that the badThread has started 5 observers of db events
+                    User::After(tp77->iTimeToWait);
+
+                    // Generate db event
+                    CPosLandmarkDatabase* db = CPosLandmarkDatabase::OpenL();
+                    CleanupStack::PushL(db);
+                    CPosLandmark* lm = CPosLandmark::NewLC();
+                    db->AddLandmarkL(*lm);
+
+                    // Kill Event observing thread
+                    tp77->iBadThread.Kill(KTp77PanicNumber);
+                    User::WaitForRequest(status);
+
+                    CleanupStack::PopAndDestroy(2, db);
+                    }
+                    break;
+
+                case ETestNotifyDbEvent2:
+                case ETestInitialize:
+                case ETestInitialize2:
+                case ETestWriteLock:
+                    {
+                    // Do nothing
+                    User::LeaveIfError(tp77->iBadThread.LogonCancel(status));
+                    forever = EFalse;
+                    }
+                    break;
+
+                case ETestRegisterUri:
+                    {
+                    User::After(tp77->iTimeToWait);
+
+                    // Kill Event observing thread
+                    tp77->iBadThread.Kill(KTp77PanicNumber);
+                    User::WaitForRequest(status);
+                    }
+                    break;
+
+                };
+            }
+        else
+            {
+            forever = EFalse;
+            }
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp77::ResumeThreadsAndVerifyExitL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp77::ResumeThreadsAndVerifyExitL()
+    {
+    _LIT(KCreateThreadErr, "Creating thread failed with %d");
+
+    // Create bad thread
+    _LIT(KBadThreadName, "TP77 - Bad thread");
+    iBadThread.Close();
+    TInt err = iBadThread.Create(KBadThreadName, BadClientThreadFunction, 
+        KDefaultStackSize, KMinHeapSize, KMaxHeapSize, this);
+    AssertTrueSecL(err == KErrNone, KCreateThreadErr, err);
+
+    // Create killer thread
+    RThread killerThread;
+    CleanupClosePushL(killerThread);
+    _LIT(KKillerThreadName, "TP77 - Killer thread");
+    err = killerThread.Create(KKillerThreadName, KillerThreadFunction, 
+        KDefaultStackSize, KMinHeapSize, KMaxHeapSize, this);
+    AssertTrueSecL(err == KErrNone, KCreateThreadErr, err);
+
+    // Start threads and wait until either of them exits.
+    TRequestStatus badThreadStatus, killerThreadStatus;
+    iBadThread.Logon(badThreadStatus);
+    iBadThread.Resume();
+    killerThread.Logon(killerThreadStatus);
+    killerThread.Resume();
+    User::WaitForRequest(badThreadStatus);
+    User::WaitForRequest(killerThreadStatus);
+
+    // Fetch exit data
+    iBadThreadExitType = iBadThread.ExitType();
+    iBadThreadExitCategory = iBadThread.ExitCategory();
+    iBadThreadExitReason = iBadThread.ExitReason();
+    iKillerThreadExitType = killerThread.ExitType();
+    iKillerThreadExitCategory = killerThread.ExitCategory();
+    iKillerThreadExitReason = killerThread.ExitReason();
+
+    // Log threads' exit results
+    iBuf.Format(
+        _L("BadThread ended with exit type: %d, exit reason: %d, exit category: %S"), 
+        iBadThreadExitType, iBadThreadExitReason, &iBadThreadExitCategory);
+//    iLog->Put(buf);
+    iBuf.Format(
+        _L("KillerThread ended with exit type: %d, exit reason: %d, exit category: %S"), 
+        iKillerThreadExitType, iKillerThreadExitReason, &iKillerThreadExitCategory);
+//    iLog->Put(buf);
+
+    CleanupStack::PopAndDestroy(&killerThread);
+    }
+
+// ---------------------------------------------------------
+// CPosTp77::VerifyThreadExitResultsL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TBool CPosTp77::VerifyThreadExitResultsL(TInt aBadThreadExitReason)
+    {
+    TBool error = EFalse;
+    _LIT(KKillCategory, "Kill");
+
+    if (iBadThreadExitType != EExitKill)
+        {
+        _LIT(KExitTypeErr, "BadThread was not killed as expected.");
+        iLog->PutError(KExitTypeErr);
+        error = ETrue;
+        }
+    if (iBadThreadExitCategory != KKillCategory)
+        {
+        _LIT(KPanicErr, "BadThread had unexpected exit category");
+        iLog->PutError(KPanicErr);
+        error = ETrue;
+        }
+    if (iBadThreadExitReason != aBadThreadExitReason)
+        {
+        _LIT(KPanicCodeErr, "BadThread had unexpected exit reason");
+        iLog->PutError(KPanicCodeErr);
+        error = ETrue;
+        }
+    if (iKillerThreadExitType != EExitKill)
+        {
+        _LIT(KExitTypeErr, "KillerThread was not killed as expected.");
+        iLog->PutError(KExitTypeErr);
+        error = ETrue;
+        }
+    if (iKillerThreadExitCategory != KKillCategory)
+        {
+        _LIT(KPanicErr, "KillerThread had unexpected exit category");
+        iLog->PutError(KPanicErr);
+        error = ETrue;
+        }
+    if (iKillerThreadExitReason != 0)
+        {
+        _LIT(KPanicCodeErr, "KillerThread had unexpected exit reason");
+        iLog->PutError(KPanicCodeErr);
+        error = ETrue;
+        }
+
+    return error;
+    }
+
+// ---------------------------------------------------------
+// CPosTp77::VerifyLmServerIsAliveL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TBool CPosTp77::VerifyLmServerIsAliveL(CPosLandmarkDatabase* aDb)
+    {
+    TRAPD(err, aDb->RemoveLandmarkL(1));
+    TBool errorExists = err != KErrNone && err != KErrNotFound;
+    if (errorExists)
+        {
+        _LIT(KError, "Unable to use db instance. Using db failed with %d.");
+        iBuf.Format(KError, err);
+        iLog->PutError(iBuf);
+        }
+
+    return errorExists;
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp78.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,815 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp78.h"
+#include <Lbs.h>
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLandmarkParser.h>
+#include <EPos_CPosLandmarkEncoder.h>
+#include <EPos_CPosLandmark.h>
+
+// CONSTANTS
+const TInt KExectionTimeInMinutes = 60 * 10; // 10 hours
+
+// ================= LOCAL FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// LOCAL_C ThreadFunction
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+LOCAL_C TInt ThreadFunction(TAny* aData)
+    {
+    CTrapCleanup* cleanup = CTrapCleanup::New(); 
+    CActiveScheduler* actSch = new (ELeave) CActiveScheduler;
+    CActiveScheduler::Install(actSch);
+    
+    TThreadParam* params = reinterpret_cast<TThreadParam*> (aData);
+    TRAPD(err, (*params->iTestFunction)(params->iMessage));
+       
+    delete actSch;
+    delete cleanup;
+    return err;
+    }
+
+LOCAL_C void AddLandmarksL(
+    TInt aNrOfLmsToAdd,
+    const TDesC& aName,
+    CPosLandmarkDatabase* aDb, 
+    RArray<TPosLmItemId>& aIdArray)
+    {
+    for (TInt i = 0; i < aNrOfLmsToAdd; i++)
+        {
+        CPosLandmark* landmark = CPosLandmark::NewLC();
+        landmark->SetLandmarkNameL(aName);
+        landmark->SetPositionL(TLocality(TCoordinate(64, 85, 20), 25, 53));
+        landmark->SetCoverageRadius(18);
+        landmark->AddCategoryL(1);
+        landmark->SetIconL(_L("Icon"), 23, KPosLmIconMaskNotUsed);
+        landmark->SetLandmarkDescriptionL(_L("Desc"));
+        User::LeaveIfError(aIdArray.Append(aDb->AddLandmarkL(*landmark)));
+        CleanupStack::PopAndDestroy(landmark);
+        }
+    }
+
+LOCAL_C void VerifyErrorL(const TDesC& aFormat, TInt aErr, TDes* aMessage)
+    {
+    if (aErr != KErrNone && aErr != KErrLocked)
+        {
+        aMessage->Format(aFormat, aErr);
+
+        // Append time
+        _LIT(KTimeFormat, " %F%Y-%M-%D at %H.%T:%S");
+        TTime now;
+        now.HomeTime();
+        TBuf<50> time;
+        now.FormatL(time, KTimeFormat);
+        aMessage->Append(time);
+
+        User::Leave(aErr);
+        }
+    }
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp78::GetName
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp78::GetName(TDes& aName) const
+    {
+    _LIT(KTestName, "TP78 - CPosLandmarkDatabase duration tests");
+    aName = KTestName;
+    }
+
+// ---------------------------------------------------------
+// CPosTp78::InitTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp78::InitTestL()
+    {
+    MakeSurePanicDebugFileExistsL();
+    InitDbL();
+    }
+
+// ---------------------------------------------------------
+// CPosTp78::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp78::CloseTest()
+    {
+    }
+
+// ---------------------------------------------------------
+// CPosTp78::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp78::StartL()
+    {
+// Test Open database duration test
+    ResumeThreadsAndVerifyExitL();
+    }
+
+// ---------------------------------------------------------
+// CPosTp78::InitDbL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp78::InitDbL()
+    {
+    RemoveDefaultDbL();
+    CPosLandmarkDatabase* database = CPosLandmarkDatabase::OpenL();
+    CleanupStack::PushL(database);
+    
+    if (database->IsInitializingNeeded())
+        {
+        ExecuteAndDeleteLD(database->InitializeL());
+        }
+
+    CleanupStack::PopAndDestroy(database);
+
+    // Wait for LM server to die
+    User::After(2000000);
+    }
+
+// ---------------------------------------------------------
+// CPosTp78::ResumeThreadsAndVerifyExitL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp78::ResumeThreadsAndVerifyExitL()
+    {
+    _LIT(KCreateThreadErr, "Creating thread failed with %d");
+    TInt nrOfThreads = 0;
+    RThread openDbThread, addRemoveLmThread, impExpLmThread, dbEventThread, readAndUpdateThread;
+    TThreadParam params1, params2, params3, params4, params5;
+    TBuf<200> threadMsg1, threadMsg2, threadMsg3, threadMsg4, threadMsg5;
+
+    // Create open database thread
+    _LIT(KOpenDatabase, "TP78 - Open database duration thread");
+    params1.iMessage = &threadMsg1;
+    params1.iTestFunction = RunOpenDbTestL;
+    TInt err = openDbThread.Create(KOpenDatabase, ThreadFunction, 
+        KDefaultStackSize, KMinHeapSize, KDefaultHeapSize, &params1);
+    AssertTrueSecL(err == KErrNone, KCreateThreadErr, err);
+    CleanupClosePushL(openDbThread);
+    nrOfThreads++;
+
+    // Create add remove LMs thread
+    _LIT(KAddRemoveLandmarks, "TP78 - Add remove landmarks duration thread");
+    params2.iMessage = &threadMsg2;
+    params2.iTestFunction = RunAddRemoveLmTestL;
+    err = addRemoveLmThread.Create(KAddRemoveLandmarks, ThreadFunction, 
+        KDefaultStackSize, KMinHeapSize, 5 * KDefaultHeapSize, &params2);
+    AssertTrueSecL(err == KErrNone, KCreateThreadErr, err);
+    CleanupClosePushL(addRemoveLmThread);
+    nrOfThreads++;
+
+    // Create import/export LMs thread
+    _LIT(KImpExpLandmarks, "TP78 - Import/Export landmarks duration thread");
+    params3.iMessage = &threadMsg3;
+    params3.iTestFunction = RunImportExportLmTestL;
+    err = impExpLmThread.Create(KImpExpLandmarks, ThreadFunction, 
+        KDefaultStackSize, KMinHeapSize, 5 * KDefaultHeapSize, &params3);
+    AssertTrueSecL(err == KErrNone, KCreateThreadErr, err);
+    CleanupClosePushL(impExpLmThread);
+    nrOfThreads++;
+
+    // Create db event thread
+    _LIT(KDbEventThread, "TP78 - Database events duration thread");
+    params4.iMessage = &threadMsg4;
+    params4.iTestFunction = RunDbEventTestL;
+    err = dbEventThread.Create(KDbEventThread, ThreadFunction, 
+        KDefaultStackSize, KMinHeapSize, KDefaultHeapSize, &params4);
+    AssertTrueSecL(err == KErrNone, KCreateThreadErr, err);
+    CleanupClosePushL(dbEventThread);
+    nrOfThreads++;
+
+    // Create read and update thread
+    _LIT(KReadAndUpdateThread, "TP78 - Read and update landmarks duration thread");
+    params5.iMessage = &threadMsg5;
+    params5.iTestFunction = RunReadAndUpdateTestL;
+    err = readAndUpdateThread.Create(KReadAndUpdateThread, ThreadFunction, 
+        KDefaultStackSize, KMinHeapSize, 5 * KDefaultHeapSize, &params5);
+    AssertTrueSecL(err == KErrNone, KCreateThreadErr, err);
+    CleanupClosePushL(readAndUpdateThread);
+    nrOfThreads++;
+
+    // Start threads.
+    RThread* threads[] = {&openDbThread, &addRemoveLmThread, &impExpLmThread, &dbEventThread, &readAndUpdateThread};
+    RPointerArray<CThreadMonitor> threadMonitors;
+    for (TInt j = 0; j < nrOfThreads; j++)
+        {
+        threadMonitors.Append(CThreadMonitor::NewL(threads[j]));
+        }
+
+    // Log time stamp
+    _LIT(KTimeFormat, "Threads started on %F%Y-%M-%D at %H.%T:%S");
+    TTime now;
+    now.HomeTime();    
+    now.FormatL(iBuf, KTimeFormat);
+    iLog->Put(iBuf);
+
+    // Wait until any of the threads exits.
+    TDes* messages[] = {&threadMsg1, &threadMsg2, &threadMsg3, &threadMsg4, &threadMsg5};
+    TInt errors = KErrNone;
+    TBool allThreadsTerminated = EFalse;
+    while (!allThreadsTerminated && errors == KErrNone)
+        {
+        CActiveScheduler::Start();
+
+        // Assume all threads are terminated
+        allThreadsTerminated = ETrue;
+        for (TInt i = 0; i < nrOfThreads && errors == KErrNone; i++)
+            {
+            if (threadMonitors[i]->IsActive())
+                {
+                // Thread is still alive
+                allThreadsTerminated = EFalse;
+                }
+            else
+                {
+                // Thread is terminated, check exit codes
+                if (*messages[i] != KNullDesC)
+                    {
+                    iLog->Put(*(messages[i]));
+                    }
+                if (threads[i]->ExitType() != EExitKill)
+                    {
+                    iBuf.Format(_L("Thread %i was not killed!"), i);
+                    iLog->PutError(iBuf);
+                    TExitCategoryName category = threads[i]->ExitCategory();
+                    iBuf.Format(_L("Exit Category = %S %d"), &category, threads[i]->ExitReason());
+                    iLog->Put(iBuf);
+                    errors = KErrGeneral;
+                    }
+                else
+                    {
+                    TInt exitReason = threads[i]->ExitReason();
+                    if (exitReason != 0)
+                        {
+                        iBuf.Format(_L("Thread's exit reason wasn't 0 but %d."), exitReason);
+                        iLog->PutError(iBuf);
+                        errors = exitReason;
+                        }
+                    }
+                }
+            }
+        }
+
+    // Terminate all remaining threads
+    threadMonitors.ResetAndDestroy();
+
+    // Log time stamp
+    _LIT(KTimeFormat2, "Threads terminated on %F%Y-%M-%D at %H.%T:%S");
+    now.HomeTime();    
+    now.FormatL(iBuf, KTimeFormat2);
+    iLog->Put(iBuf);
+
+
+    User::LeaveIfError(errors);
+
+    CleanupStack::PopAndDestroy(nrOfThreads, &openDbThread);
+    }
+
+// ---------------------------------------------------------
+// CPosTp78::RunOpenDbTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp78::RunOpenDbTestL(TDes* aMessage)
+    {
+    // Execute thread for a number of hours
+    TTime startTime, stopTime;
+    startTime.HomeTime();
+    stopTime.HomeTime();
+    TTimeIntervalMinutes executionTime;
+    User::LeaveIfError(stopTime.MinutesFrom(startTime, executionTime));
+
+    while (executionTime.Int() < KExectionTimeInMinutes)
+        {
+        CPosLandmarkDatabase* db = NULL;
+        TRAPD(err, db = CPosLandmarkDatabase::OpenL());
+        CleanupStack::PushL(db);
+        VerifyErrorL(_L("<-- OpenDbThread: CPosLandmarkDatabase::OpenL() left with %d -->"), err, aMessage);
+        if (err == KErrNone)
+            {
+            // Try to initialize the db
+            db->IsInitializingNeeded(); // don't care about the result. Init anyway
+            CPosLmOperation* operation = NULL;
+            TRAP(err, operation = db->InitializeL());
+            CleanupStack::PushL(operation);
+            VerifyErrorL(_L("<-- OpenDbThread: InitializeL() left with %d -->"), err, aMessage);
+            if (err == KErrNone)
+                {
+                TRAP(err, operation->ExecuteL());
+                VerifyErrorL(_L("<-- OpenDbThread: ExecuteAndDeleteLD(InitializeL()) left with %d -->"), err, aMessage);
+                }
+            CleanupStack::PopAndDestroy(operation);
+            }
+        CleanupStack::PopAndDestroy(db);
+
+        // Let other threads get access to the database
+        User::After(10000);
+
+        stopTime.HomeTime();
+        User::LeaveIfError(stopTime.MinutesFrom(startTime, executionTime));
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp78::RunAddRemoveLmTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp78::RunAddRemoveLmTestL(TDes* aMessage)
+    {
+    // Execute thread for a number of hours
+    TTime startTime, stopTime;
+    startTime.HomeTime();
+    stopTime.HomeTime();
+    TTimeIntervalMinutes executionTime;
+    User::LeaveIfError(stopTime.MinutesFrom(startTime, executionTime));
+
+    CPosLandmarkDatabase* db = CPosLandmarkDatabase::OpenL();
+    CleanupStack::PushL(db);
+    while (executionTime.Int() < KExectionTimeInMinutes)
+        {
+        RArray<TPosLmItemId> dbItems;
+        CleanupClosePushL(dbItems);
+
+        // Remove all landmarks
+        CPosLmOperation* operation = NULL;
+        TRAPD(err, operation = db->RemoveAllLandmarksL());
+        VerifyErrorL(_L("<-- AddRemoveThread: RemoveAllLandmarksL() left with %d -->"), err, aMessage);
+        if (err == KErrNone)
+            {
+            TRAP(err, ExecuteAndDeleteLD(operation));
+            VerifyErrorL(_L("<-- AddRemoveThread: ExecuteAndDeleteLD(RemoveAllLandmarksL()) left with %d -->"), err, aMessage);
+            }
+
+        // Add some landmarks
+        const TInt KNrOfLms = 10;
+        TRAP(err, AddLandmarksL(KNrOfLms, _L("AddRemoveThread"), db, dbItems));
+        VerifyErrorL(_L("<-- AddRemoveThread: AddLandmarksL() left with %d -->"), err, aMessage);
+        if (err == KErrNone)
+            {
+            // Remove some items one by one
+            for (TInt i = 0; i < KNrOfLms / 2; i++)
+                {
+                dbItems.Remove(0);
+                TRAP(err, db->RemoveLandmarkL(dbItems[0]));
+                VerifyErrorL(_L("<-- AddRemoveThread: RemoveLandmarkL(TPosLmItemId) left with %d -->"), err, aMessage);
+                }
+
+            // Remove 5 items in one step
+            operation = NULL;
+            TRAPD(err, operation = db->RemoveLandmarksL(dbItems));
+            VerifyErrorL(_L("<-- AddRemoveThread: RemoveLandmarksL(RArray) left with %d -->"), err, aMessage);
+            if (err == KErrNone)
+                {
+                TRAP(err, ExecuteAndDeleteLD(operation));
+                VerifyErrorL(_L("<-- AddRemoveThread: ExecuteAndDeleteLD(RemoveLandmarksL(dbItems)) left with %d -->"), err, aMessage);
+                }
+            dbItems.Reset();
+
+            CPosLandmarkDatabase::TSize dbSize; dbSize.iUsage = 0;
+            TRAP(err, dbSize = db->SizeL());
+            VerifyErrorL(_L("<-- AddRemoveThread: SizeL() left with %d -->"), err, aMessage);
+            if (dbSize.iUsage < 0.9)
+                {
+                operation = NULL;
+                TRAP(err, operation = db->CompactL());
+                VerifyErrorL(_L("<-- AddRemoveThread: CompactL() left with %d -->"), err, aMessage);
+                if (err == KErrNone)
+                    {
+                    CleanupStack::PushL(operation);
+                    TRAP(err, operation->ExecuteL());
+                    VerifyErrorL(_L("<-- AddRemoveThread: ExecuteAndDeleteLD(CompactL()) left with %d -->"), err, aMessage);
+                    CleanupStack::PopAndDestroy(operation);
+                    }
+                }
+
+            HBufC* dbUri = NULL;
+            TRAP(err, CleanupStack::Pop(dbUri = db->DatabaseUriLC()));
+            CleanupStack::PushL(dbUri);
+            VerifyErrorL(_L("<-- AddRemoveThread: DatabaseUriLC() left with %d -->"), err, aMessage);
+            CleanupStack::PopAndDestroy(dbUri);
+            }
+
+        dbItems.Reset();
+        CleanupStack::PopAndDestroy(&dbItems);
+
+        // Let other threads get access to the database
+        User::After(300000);
+
+        stopTime.HomeTime();
+        User::LeaveIfError(stopTime.MinutesFrom(startTime, executionTime));
+        }
+
+    CleanupStack::PopAndDestroy(db);
+    }
+
+// ---------------------------------------------------------
+// CPosTp78::RunImportExportLmTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp78::RunImportExportLmTestL(TDes* aMessage)
+    {
+    // Execute thread for a number of hours
+    TTime startTime, stopTime;
+    startTime.HomeTime();
+    stopTime.HomeTime();
+    TTimeIntervalMinutes executionTime;
+    User::LeaveIfError(stopTime.MinutesFrom(startTime, executionTime));
+
+    CPosLandmarkDatabase* db = CPosLandmarkDatabase::OpenL();
+    CleanupStack::PushL(db);
+    while (executionTime.Int() < KExectionTimeInMinutes)
+        {
+// Export landmarks
+        TBool exportSuccessful = EFalse;
+        CPosLmOperation* operation = NULL;
+        CPosLandmarkEncoder* encoder = NULL;
+        TRAPD(err, encoder = CPosLandmarkEncoder::NewL(KMimeType));
+        VerifyErrorL(_L("<-- ImportExportThread: CPosLandmarkEncoder::NewL left with %d -->"), err, aMessage);
+        CleanupStack::PushL(encoder);
+
+        // Use buffer as output
+        CBufBase* outputBuffer = NULL;
+        TRAP(err, outputBuffer = encoder->SetUseOutputBufferL());
+        VerifyErrorL(_L("<-- ImportExportThread: SetUseOutputBufferL left with %d -->"), err, aMessage);
+        CleanupStack::PushL(outputBuffer);
+
+        // Add collection data
+        TRAP(err, encoder->AddCollectionDataL(EPosLmCollDataCollectionName, _L("collection Name")));
+        VerifyErrorL(_L("<-- ImportExportThread: AddCollectionDataL(Name) left with %d -->"), err, aMessage);
+        TRAP(err, encoder->AddCollectionDataL(EPosLmCollDataCollectionDescription, _L("collection Desc")));
+        VerifyErrorL(_L("<-- ImportExportThread: AddCollectionDataL(Desc) left with %d -->"), err, aMessage);
+
+        // Export landmarks
+        RArray<TPosLmItemId> lmIdArray;
+        CleanupClosePushL(lmIdArray);
+        TRAP(err, AddLandmarksL(5, _L("ImportExportThread"), db, lmIdArray));
+        VerifyErrorL(_L("<-- ImportExportThread: AddLandmarksL() left with %d -->"), err, aMessage);
+        if (err == KErrNone)
+            {
+            TRAP(err, operation = db->ExportLandmarksL(*encoder, lmIdArray, 
+                CPosLandmarkDatabase::EIncludeCategories | CPosLandmarkDatabase::EIncludeGlobalCategoryNames));
+            VerifyErrorL(_L("<-- ImportExportThread: ExportLandmarksL left with %d -->"), err, aMessage);
+            if (err == KErrNone)
+                {
+                CleanupStack::PushL(operation);
+                TRAP(err, ExecuteAndDeleteLD(operation));
+                CleanupStack::Pop(operation);
+                VerifyErrorL(_L("<-- ImportExportThread: ExecuteAndDeleteLD(ExportLandmarksL) left with %d -->"), err, aMessage);
+
+                // finalize encoding
+                operation = NULL;
+                TRAP(err, operation = encoder->FinalizeEncodingL());
+                VerifyErrorL(_L("<-- ImportExportThread: FinalizeEncodingL left with %d -->"), err, aMessage);
+                if (err == KErrNone)
+                    {
+                    CleanupStack::PushL(operation);
+                    TRAP(err, ExecuteAndDeleteLD(operation));
+                    CleanupStack::Pop(operation);
+                    VerifyErrorL(_L("<-- ImportExportThread: ExecuteAndDeleteLD(FinalizeEncodingL) left with %d -->"), err, aMessage);
+                    exportSuccessful = ETrue;
+                    }
+                }
+            }
+        CleanupStack::PopAndDestroy(&lmIdArray);
+
+// Import landmarks
+        if (exportSuccessful)
+            {
+            CPosLandmarkParser* parser = NULL;
+            TRAP(err, parser = CPosLandmarkParser::NewL(KMimeType));
+            CleanupStack::PushL(parser);
+            VerifyErrorL(_L("<-- ImportExportThread: CPosLandmarkParser::NewL left with %d -->"), err, aMessage);
+
+            // Use buffer as input
+            TInt size = outputBuffer->Size();
+            HBufC8* inputBuffer = HBufC8::New(size);
+            if (!inputBuffer)
+                {
+                aMessage->Copy(_L8("Unable to allocate inputBuffer. Error: KErrNoMemory"));
+                }
+            CleanupStack::PushL(inputBuffer);
+            TPtr8 inputBufferPtr = inputBuffer->Des();
+            outputBuffer->Read(0, inputBufferPtr, size);
+            parser->SetInputBuffer(inputBufferPtr);
+
+            // Import landmarks
+            operation = NULL;
+            TRAP(err, operation = db->ImportLandmarksL(*parser, 
+                CPosLandmarkDatabase::EDefaultOptions));
+            CleanupStack::PushL(operation);
+            VerifyErrorL(_L("<-- ImportExportThread: ImportLandmarksL left with %d -->"), err, aMessage);
+            if (err == KErrNone)
+                {
+                TRAP(err, operation->ExecuteL());
+                VerifyErrorL(_L("<-- ImportExportThread: ExecuteAndDeleteLD(ImportLandmarksL) left with %d -->"), err, aMessage);
+
+                CPosLmItemIterator* iterator = NULL;
+                TRAP(err, iterator = db->ImportedLandmarksIteratorL(operation));
+                CleanupStack::PushL(iterator);
+                VerifyErrorL(_L("<-- ImportExportThread: ImportedLandmarksIteratorL() left with %d -->"), err, aMessage);
+                CleanupStack::PopAndDestroy(iterator);
+                }
+            CleanupStack::PopAndDestroy(operation);
+            CleanupStack::PopAndDestroy(inputBuffer);
+            CleanupStack::PopAndDestroy(parser);
+            }
+        CleanupStack::PopAndDestroy(outputBuffer);
+        CleanupStack::PopAndDestroy(encoder);
+
+        // Let other threads get access to the database
+        User::After(100000);
+
+        stopTime.HomeTime();
+        User::LeaveIfError(stopTime.MinutesFrom(startTime, executionTime));
+        }
+
+    CleanupStack::PopAndDestroy(db);
+    }
+
+// ---------------------------------------------------------
+// CPosTp78::RunDbEventTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp78::RunDbEventTestL(TDes* aMessage)
+    {
+    // Execute thread for a number of hours
+    TTime startTime, stopTime;
+    startTime.HomeTime();
+    stopTime.HomeTime();
+    TTimeIntervalMinutes executionTime;
+    User::LeaveIfError(stopTime.MinutesFrom(startTime, executionTime));
+
+    // Open db
+    CPosLandmarkDatabase* db = CPosLandmarkDatabase::OpenL();
+    CleanupStack::PushL(db);
+
+    while (executionTime.Int() < KExectionTimeInMinutes - 1)
+        {
+        TRequestStatus status;
+        TPosLmEvent event;
+
+        // Listen for events for some time
+        db->NotifyDatabaseEvent(event, status);
+        User::After(100000);
+
+        // Cancel listening
+        TInt err = db->CancelNotifyDatabaseEvent();
+        VerifyErrorL(_L("<-- DbEventThread: CancelNotifyDatabaseEvent returned %d -->"), err, aMessage);
+
+        // Start listening again
+        db->NotifyDatabaseEvent(event, status);
+        User::WaitForRequest(status);
+        VerifyErrorL(_L("<-- DbEventThread: NotifyDatabaseEvent returned %d -->"), status.Int(), aMessage);
+
+        stopTime.HomeTime();
+        User::LeaveIfError(stopTime.MinutesFrom(startTime, executionTime));
+        }
+
+    CleanupStack::PopAndDestroy(db);
+    }
+
+// ---------------------------------------------------------
+// CPosTp78::UpdateLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp78::UpdateLandmarksL(CPosLandmarkDatabase* aDb, TPosLmItemId aId, TDes* aMessage)
+    {
+    //CPosLandmark* landmark = NULL;
+    CPosLandmark* landmark = aDb->ReadLandmarkLC(aId);
+                //VerifyErrorL(_L("<-- ReadAndUpdateThread: ReadLandmarkLC() left with %d -->"), err, aMessage);
+                
+    TRAPD(err, landmark->SetLandmarkNameL(_L("UpdatedName")));
+    VerifyErrorL(_L("<-- ReadAndUpdateThread: SetLandmarkNameL() left with %d -->"), err, aMessage);
+    TRAP(err, aDb->UpdateLandmarkL(*landmark));
+    VerifyErrorL(_L("<-- ReadAndUpdateThread: UpdateLandmarkL() left with %d -->"), err, aMessage);
+    CleanupStack::PopAndDestroy(landmark);
+    }
+
+// ---------------------------------------------------------
+// CPosTp78::RunReadAndUpdateTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp78::RunReadAndUpdateTestL(TDes* aMessage)
+    {
+    // Execute thread for a number of hours
+    TTime startTime, stopTime;
+    startTime.HomeTime();
+    stopTime.HomeTime();
+    TTimeIntervalMinutes executionTime;
+    User::LeaveIfError(stopTime.MinutesFrom(startTime, executionTime));
+
+    // Open db
+    CPosLandmarkDatabase* db = CPosLandmarkDatabase::OpenL();
+    CleanupStack::PushL(db);
+
+    while (executionTime.Int() < KExectionTimeInMinutes)
+        {
+        RArray<TPosLmItemId> dbItems;
+        CleanupClosePushL(dbItems);
+        
+        const TInt KNrOfLms = 3;
+        TRAPD(err, AddLandmarksL(KNrOfLms, _L("ReadAndUpdateThread"), db, dbItems));
+        VerifyErrorL(_L("<-- ReadAndUpdateThread: AddLandmarksL() left with %d -->"), err, aMessage);
+
+        if (err == KErrNone)
+            {
+            // Read and update
+            for (TInt i = 0; i < KNrOfLms; i++)
+                {
+                /*
+                CPosLandmark* landmark = NULL;
+                TRAP(err, landmark = db->ReadLandmarkLC(dbItems[i]));
+                VerifyErrorL(_L("<-- ReadAndUpdateThread: ReadLandmarkLC() left with %d -->"), err, aMessage);
+                if (err == KErrNone)
+                    {
+                    TRAP(err, landmark->SetLandmarkNameL(_L("UpdatedName")));
+                    VerifyErrorL(_L("<-- ReadAndUpdateThread: SetLandmarkNameL() left with %d -->"), err, aMessage);
+                    TRAP(err, db->UpdateLandmarkL(*landmark));
+                    VerifyErrorL(_L("<-- ReadAndUpdateThread: UpdateLandmarkL() left with %d -->"), err, aMessage);
+                    CleanupStack::PopAndDestroy(landmark);
+                    }
+                    */
+                    
+                TRAPD(err, UpdateLandmarksL(db,dbItems[i], aMessage));
+                VerifyErrorL(_L("<-- ReadAndUpdateThread: ReadLandmarkLC() left with %d -->"), err, aMessage);
+                }
+
+            // Set partial read parameters
+            CPosLmPartialReadParameters* params = NULL;
+            TRAP(err, CleanupStack::Pop(params = db->PartialReadParametersLC()));
+            CleanupStack::PushL(params);
+            VerifyErrorL(_L("<-- ReadAndUpdateThread: PartialReadParametersLC() left with %d -->"), err, aMessage);
+            if (err == KErrNone)
+                {
+                params->SetRequestedAttributes(CPosLandmark::EIcon | CPosLandmark::ECoverageRadius);
+                RArray<TUint> posFields;
+                err = posFields.Append(EPositionFieldStreet);
+                params->SetRequestedPositionFields(posFields);
+                posFields.Close();
+                VerifyErrorL(_L("<-- ReadAndUpdateThread: Append() returned %d -->"), err, aMessage);
+                TRAP(err, db->SetPartialReadParametersL(*params));
+                VerifyErrorL(_L("<-- ReadAndUpdateThread: SetPartialReadParametersL() left with %d -->"), err, aMessage);
+                CleanupStack::PopAndDestroy(params);
+                }
+
+            // Read partial landmarks one by one
+            for (TInt j = 0; j < KNrOfLms; j++)
+                {
+                CPosLandmark* lm = NULL;
+                TRAP(err, CleanupStack::Pop(lm = db->ReadPartialLandmarkLC(dbItems[j])));
+                CleanupStack::PushL(lm);
+                VerifyErrorL(_L("<-- ReadAndUpdateThread: ReadPartialLandmarkLC() left with %d -->"), err, aMessage);
+                CleanupStack::PopAndDestroy(lm);
+                }
+        
+            // Read several partial landmarks in one chunk
+            CPosLmOperation* operation = NULL;
+            TRAP(err, operation = db->PreparePartialLandmarksL(dbItems));
+            CleanupStack::PushL(operation);
+            VerifyErrorL(_L("<-- ReadAndUpdateThread: PreparePartialLandmarksL() left with %d -->"), err, aMessage);
+
+            if (err == KErrNone)
+                {
+                TRAP(err, operation->ExecuteL());
+                VerifyErrorL(_L("<-- ReadAndUpdateThread: ExecuteAndDeleteLD(PreparePartialLandmarksL()) left with %d -->"), err, aMessage);
+                if (err == KErrNone)
+                    {
+                    CArrayPtr<CPosLandmark>* landmarks = NULL;
+                    TRAP(err, landmarks = db->TakePreparedPartialLandmarksL(operation));
+                    if (landmarks)
+                        {
+                        landmarks->ResetAndDestroy();
+                        delete landmarks;
+                        }
+                    VerifyErrorL(_L("<-- ReadAndUpdateThread: PreparePartialLandmarksL() left with %d -->"), err, aMessage);
+                    }
+                }
+            CleanupStack::PopAndDestroy(operation);
+            }
+        CleanupStack::PopAndDestroy(&dbItems);
+
+        // Let other threads get access to the database
+        User::After(110000);
+
+        stopTime.HomeTime();
+        User::LeaveIfError(stopTime.MinutesFrom(startTime, executionTime));
+        }
+    CleanupStack::PopAndDestroy(db);
+    }
+
+// ---------------------------------------------------------
+// CThreadMonitor::NewL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+CThreadMonitor* CThreadMonitor::NewL(RThread* aThread)
+    {
+    CThreadMonitor* self = new (ELeave) CThreadMonitor(aThread);
+    CleanupStack::PushL(self);
+    self->ConstructL();
+    CleanupStack::Pop(self);
+    return self;
+    }
+
+// ---------------------------------------------------------
+// CThreadMonitor::ConstructL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CThreadMonitor::ConstructL()
+    {
+    iThread->Resume();
+    iThread->Logon(iStatus);
+    SetActive();
+    }
+
+// Constructor
+CThreadMonitor::CThreadMonitor(RThread* aThread) 
+: CActive(CActive::EPriorityStandard), iThread(aThread)
+    {
+    CActiveScheduler::Add(this);
+    }
+
+// Destructor
+CThreadMonitor::~CThreadMonitor()
+    {
+    Cancel();
+    }
+
+// ---------------------------------------------------------
+// CThreadMonitor::DoCancel
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CThreadMonitor::DoCancel()
+    {
+    iThread->LogonCancel(iStatus);
+
+    // Kill thread
+    TRequestStatus status;
+    iThread->Logon(status);
+    iThread->Kill(KErrCancel);
+    User::WaitForRequest(status);
+    }
+
+// ---------------------------------------------------------
+// CThreadMonitor::RunL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CThreadMonitor::RunL()
+    {
+    CActiveScheduler::Stop();
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp79.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,610 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp79.h"
+#include "FT_CPosTp78.h"
+#include <Lbs.h>
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLmCategoryManager.h>
+#include <EPos_CPosLmTextCriteria.h>
+#include <EPos_CPosLandmarkCategory.h>
+#include <EPos_CPosLmCatNameCriteria.h>
+
+// CONSTANTS
+const TInt KExectionTimeInMinutes = 60 * 10; // 10 hours
+
+// ================= LOCAL FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// LOCAL_C ThreadFunction
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+LOCAL_C TInt ThreadFunction(TAny* aData)
+    {
+    CTrapCleanup* cleanup = CTrapCleanup::New(); 
+    CActiveScheduler* actSch = new (ELeave) CActiveScheduler;
+    CActiveScheduler::Install(actSch);
+    
+    TThreadParam* params = reinterpret_cast<TThreadParam*> (aData);
+    TRAPD(err, (*params->iTestFunction)(params->iMessage));
+       
+    delete actSch;
+    delete cleanup;
+    return err;
+    }
+
+LOCAL_C void AddCategoriesL(
+    TInt aNrOfLmsToAdd,
+    const TDesC& aName,
+    CPosLmCategoryManager* aCatMan, 
+    RArray<TPosLmItemId>& aIdArray)
+    {
+    for (TInt i = 0; i < aNrOfLmsToAdd; i++)
+        {
+        CPosLandmarkCategory* category = CPosLandmarkCategory::NewLC();
+        HBufC* name = HBufC::NewLC(aName.Length() + 5);
+        TPtr namePtr = name->Des();
+        namePtr.Format(aName, i);
+        category->SetCategoryNameL(namePtr);
+        category->SetIconL(_L("Icon"), 23, KPosLmIconMaskNotUsed);
+        TPosLmItemId id;
+        TRAPD(err, id = aCatMan->AddCategoryL(*category));
+        if (err != KErrNone && err != KErrAlreadyExists)
+            {
+            User::Leave(err);
+            }
+        else
+            {
+            if (err == KErrAlreadyExists)
+                {
+                id = aCatMan->GetCategoryL(namePtr);
+                }
+            User::LeaveIfError(aIdArray.Append(id));
+            }
+        CleanupStack::PopAndDestroy(2, category);
+        }
+    }
+
+LOCAL_C void VerifyErrorL(const TDesC& aFormat, TInt aErr, TDes* aMessage)
+    {
+    if (aErr != KErrNone && aErr != KErrLocked)
+        {
+        aMessage->Format(aFormat, aErr);
+
+        // Append time
+        _LIT(KTimeFormat, " %F%Y-%M-%D at %H.%T:%S");
+        TTime now;
+        now.HomeTime();
+        TBuf<50> time;
+        now.FormatL(time, KTimeFormat);
+        aMessage->Append(time);
+
+        User::Leave(aErr);
+        }
+    }
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp79::GetName
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp79::GetName(TDes& aName) const
+    {
+    _LIT(KTestName, "TP79 - Category and search duration tests");
+    aName = KTestName;
+    }
+
+// ---------------------------------------------------------
+// CPosTp79::InitTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp79::InitTestL()
+    {
+    MakeSurePanicDebugFileExistsL();
+    InitDbL();
+    }
+
+// ---------------------------------------------------------
+// CPosTp79::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp79::CloseTest()
+    {
+    }
+
+// ---------------------------------------------------------
+// CPosTp79::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp79::StartL()
+    {
+// Test Open database duration test
+    ResumeThreadsAndVerifyExitL();
+    }
+
+// ---------------------------------------------------------
+// CPosTp79::InitDbL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp79::InitDbL()
+    {
+    RemoveDefaultDbL();
+    CPosLandmarkDatabase* database = CPosLandmarkDatabase::OpenL();
+    CleanupStack::PushL(database);
+    
+    if (database->IsInitializingNeeded())
+        {
+        ExecuteAndDeleteLD(database->InitializeL());
+        }
+
+    CleanupStack::PopAndDestroy(database);
+
+    // Wait for LM server to die
+    User::After(2000000);
+    }
+
+// ---------------------------------------------------------
+// CPosTp79::ResumeThreadsAndVerifyExitL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp79::ResumeThreadsAndVerifyExitL()
+    {
+    _LIT(KCreateThreadErr, "Creating thread failed with %d");
+    TInt nrOfThreads = 0;
+    RThread searchThread, readAndUpdateThread, addRemoveCatsThread;
+    TThreadParam params1, params2, params3;
+    TBuf<200> threadMsg1, threadMsg2, threadMsg3;
+
+    // Create search thread
+    _LIT(KSearch, "TP79 - Search duration thread");
+    params1.iMessage = &threadMsg1;
+    params1.iTestFunction = RunSearchTestL;
+    TInt err = searchThread.Create(KSearch, ThreadFunction, 
+        KDefaultStackSize, KMinHeapSize, KDefaultHeapSize, &params1);
+    AssertTrueSecL(err == KErrNone, KCreateThreadErr, err);
+    CleanupClosePushL(searchThread);
+    nrOfThreads++;
+
+    // Create read and update thread
+    _LIT(KReadAndUpdateThread, "TP79 - Read and update categories duration thread");
+    params2.iMessage = &threadMsg2;
+    params2.iTestFunction = RunReadAndUpdateTestL;
+    err = readAndUpdateThread.Create(KReadAndUpdateThread, ThreadFunction, 
+        KDefaultStackSize, KMinHeapSize, KDefaultHeapSize, &params2);
+    AssertTrueSecL(err == KErrNone, KCreateThreadErr, err);
+    CleanupClosePushL(readAndUpdateThread);
+    nrOfThreads++;
+
+    // Create add remove categories thread
+    _LIT(KAddRemoveCategories, "TP79 - Add remove categories duration thread");
+    params3.iMessage = &threadMsg3;
+    params3.iTestFunction = RunAddRemoveCatsTestL;
+    err = addRemoveCatsThread.Create(KAddRemoveCategories, ThreadFunction, 
+        KDefaultStackSize, KMinHeapSize, KDefaultHeapSize, &params3);
+    AssertTrueSecL(err == KErrNone, KCreateThreadErr, err);
+    CleanupClosePushL(addRemoveCatsThread);
+    nrOfThreads++;
+
+    // Start threads.
+    RThread* threads[] = {&searchThread, &readAndUpdateThread, &addRemoveCatsThread};
+    RPointerArray<CThreadMonitor> threadMonitors;
+    for (TInt j = 0; j < nrOfThreads; j++)
+        {
+        threadMonitors.Append(CThreadMonitor::NewL(threads[j]));
+        }
+
+    // Log time stamp
+    _LIT(KTimeFormat, "Threads started on %F%Y-%M-%D at %H.%T:%S");
+    TTime now;
+    now.HomeTime();    
+    now.FormatL(iBuf, KTimeFormat);
+    iLog->Put(iBuf);
+
+    // Wait until any of the threads exits.
+    TDes* messages[] = {&threadMsg1, &threadMsg2, &threadMsg3};
+    TInt errors = KErrNone;
+    TBool allThreadsTerminated = EFalse;
+    while (!allThreadsTerminated && errors == KErrNone)
+        {
+        CActiveScheduler::Start();
+
+        // Assume all threads are terminated
+        allThreadsTerminated = ETrue;
+        for (TInt i = 0; i < nrOfThreads && errors == KErrNone; i++)
+            {
+            if (threadMonitors[i]->IsActive())
+                {
+                // Thread is still alive
+                allThreadsTerminated = EFalse;
+                }
+            else
+                {
+                // Thread is terminated, check exit codes
+                if (*messages[i] != KNullDesC)
+                    {
+                    iLog->Put(*(messages[i]));
+                    }
+                if (threads[i]->ExitType() != EExitKill)
+                    {
+                    iBuf.Format(_L("Thread %i was not killed!"), i);
+                    iLog->PutError(iBuf);
+                    TExitCategoryName category = threads[i]->ExitCategory();
+                    iBuf.Format(_L("Exit Category = %S %d"), &category, threads[i]->ExitReason());
+                    iLog->Put(iBuf);
+                    errors = KErrGeneral;
+                    }
+                else
+                    {
+                    TInt exitReason = threads[i]->ExitReason();
+                    if (exitReason != 0)
+                        {
+                        iBuf.Format(_L("Thread's exit reason wasn't 0 but %d."), exitReason);
+                        iLog->PutError(iBuf);
+                        errors = exitReason;
+                        }
+                    }
+                }
+            }
+        }
+
+    // Terminate all remaining threads
+    threadMonitors.ResetAndDestroy();
+
+    // Log time stamp
+    _LIT(KTimeFormat2, "Threads terminated on %F%Y-%M-%D at %H.%T:%S");
+    now.HomeTime();    
+    now.FormatL(iBuf, KTimeFormat2);
+    iLog->Put(iBuf);
+
+
+    User::LeaveIfError(errors);
+
+    CleanupStack::PopAndDestroy(nrOfThreads, &searchThread);
+    }
+
+// ---------------------------------------------------------
+// CPosTp79::RunSearchTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp79::RunSearchTestL(TDes* aMessage)
+    {
+    _LIT(KName, "SearchThread %d");
+
+    // Execute thread for a number of hours
+    TTime startTime, stopTime;
+    startTime.HomeTime();
+    stopTime.HomeTime();
+    TTimeIntervalMinutes executionTime;
+    User::LeaveIfError(stopTime.MinutesFrom(startTime, executionTime));
+
+    CPosLandmarkDatabase* db = CPosLandmarkDatabase::OpenL();
+    CleanupStack::PushL(db);
+    CPosLmCategoryManager* catMan = CPosLmCategoryManager::NewL(*db);
+    CleanupStack::PushL(catMan);
+
+    while (executionTime.Int() < KExectionTimeInMinutes)
+        {
+        CPosLandmarkSearch* searcher = NULL;
+        TRAPD(err, searcher = CPosLandmarkSearch::NewL(*db));
+        CleanupStack::PushL(searcher);
+        VerifyErrorL(_L("<-- SearchThread: CPosLandmarkSearch::NewL() left with %d -->"), err, aMessage);
+
+        RArray<TPosLmItemId> dbItems;
+        CleanupClosePushL(dbItems);
+
+        const TInt KNrOfCats = 3;
+        TRAP(err, AddCategoriesL(KNrOfCats, KName, catMan, dbItems));
+        VerifyErrorL(_L("<-- SearchThread: AddCategoriesL() left with %d -->"), err, aMessage);
+        if (err == KErrNone)
+            {
+            // StartLandmarkSearchL
+            CPosLmTextCriteria* textCriteria = NULL;
+            TRAP(err, CleanupStack::Pop(textCriteria = CPosLmTextCriteria::NewLC()));
+            CleanupStack::PushL(textCriteria);
+            VerifyErrorL(_L("<-- SearchThread: CPosLmTextCriteria::NewLC() left with %d -->"), err, aMessage);
+            TRAP(err, textCriteria->SetTextL(KName().Left(5)));
+            VerifyErrorL(_L("<-- SearchThread: SetTextL() left with %d -->"), err, aMessage);
+            textCriteria->SetAttributesToSearch(CPosLandmark::EDescription & CPosLandmark::ELandmarkName);
+            TPosLmSortPref sortPref(CPosLandmark::ELandmarkName, TPosLmSortPref::EDescending);
+
+            CPosLmOperation* operation = NULL;
+            TRAPD(err, operation = searcher->StartLandmarkSearchL(*textCriteria, sortPref));
+            CleanupStack::PushL(operation);
+            VerifyErrorL(_L("<-- SearchThread: StartLandmarkSearchL() left with %d -->"), err, aMessage);
+            if (operation)
+                {
+                TRAP(err, operation->ExecuteL());
+                VerifyErrorL(_L("<-- SearchThread: ExecuteLD(StartLandmarkSearchL()) left with %d -->"), err, aMessage);
+                }
+            CleanupStack::PopAndDestroy(operation);
+
+            // StartCategorySearchL
+            CPosLmCatNameCriteria* nameCriteria = NULL;
+            TRAP(err, CleanupStack::Pop(nameCriteria = CPosLmCatNameCriteria::NewLC()));
+            CleanupStack::PushL(nameCriteria);
+            VerifyErrorL(_L("<-- SearchThread: CPosLmCatNameCriteria::NewLC() left with %d -->"), err, aMessage);
+            TRAP(err, nameCriteria->SetSearchPatternL(KName().Left(5)));
+            VerifyErrorL(_L("<-- SearchThread: SetSearchPatternL() left with %d -->"), err, aMessage);
+            operation = NULL;
+            TRAP(err, operation = searcher->StartCategorySearchL(*nameCriteria, CPosLmCategoryManager::ECategorySortOrderNameAscending));
+            CleanupStack::PushL(operation);
+            VerifyErrorL(_L("<-- SearchThread: StartCategorySearchL() left with %d -->"), err, aMessage);
+            if (operation)
+                {
+                TRAP(err, operation->ExecuteL());
+                VerifyErrorL(_L("<-- SearchThread: ExecuteLD(StartCategorySearchL()) left with %d -->"), err, aMessage);
+                }
+            CleanupStack::PopAndDestroy(3, textCriteria);
+            }
+
+        // Let other threads get access to the database
+        User::After(300000);
+
+        stopTime.HomeTime();
+        User::LeaveIfError(stopTime.MinutesFrom(startTime, executionTime));
+
+        CleanupStack::PopAndDestroy(2, searcher);
+        }
+
+    CleanupStack::PopAndDestroy(2, db);
+    }
+
+// ---------------------------------------------------------
+// CPosTp79::RunAddRemoveCatsTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp79::RunAddRemoveCatsTestL(TDes* aMessage)
+    {
+    // Execute thread for a number of hours
+    TTime startTime, stopTime;
+    startTime.HomeTime();
+    stopTime.HomeTime();
+    TTimeIntervalMinutes executionTime;
+    User::LeaveIfError(stopTime.MinutesFrom(startTime, executionTime));
+
+    // Open db
+    CPosLandmarkDatabase* db = CPosLandmarkDatabase::OpenL();
+    CleanupStack::PushL(db);
+
+    while (executionTime.Int() < KExectionTimeInMinutes)
+        {
+        CPosLmOperation* operation = NULL;
+        CPosLmCategoryManager* catMan = NULL;
+        TRAPD(err, catMan = CPosLmCategoryManager::NewL(*db));
+        CleanupStack::PushL(catMan);
+        VerifyErrorL(_L("<-- AddRemoveCatsThread: CPosLmCategoryManager::NewL() left with %d -->"), err, aMessage);
+
+        RArray<TPosLmItemId> dbItems;
+        CleanupClosePushL(dbItems);
+
+        // RemoveCategoriesL / remove all categories
+        CPosLmItemIterator* iterator = NULL;
+        TRAP(err, iterator = catMan->CategoryIteratorL());
+        CleanupStack::PushL(iterator);
+        VerifyErrorL(_L("<-- AddRemoveCatsThread: CategoryIteratorL() left with %d -->"), err, aMessage);
+        if (iterator)
+            {
+            TRAP(err, iterator->GetItemIdsL(dbItems, 0, iterator->NumOfItemsL()));
+            VerifyErrorL(_L("<-- AddRemoveCatsThread: GetItemIdsL() left with %d -->"), err, aMessage);
+
+            if (err == KErrNone)
+                {
+                operation = NULL;
+                TRAP(err, operation = catMan->RemoveCategoriesL(dbItems));
+                CleanupStack::PushL(operation);
+                VerifyErrorL(_L("<-- AddRemoveCatsThread: RemoveCategoriesL() left with %d -->"), err, aMessage);
+                if (operation)
+                    {
+                    TRAP(err, operation->ExecuteL());
+                    VerifyErrorL(_L("<-- AddRemoveCatsThread: ExecuteLD(RemoveCategoriesL()) left with %d -->"), err, aMessage);
+                    }
+                CleanupStack::PopAndDestroy(operation);
+                }
+            dbItems.Reset();
+            }
+        CleanupStack::PopAndDestroy(iterator);
+
+        // ResetGlobalCategoriesL
+        operation = NULL;
+        TRAP(err, operation = catMan->ResetGlobalCategoriesL());
+        VerifyErrorL(_L("<-- ReadAndUpdateThread: ResetGlobalCategoriesL() left with %d -->"), err, aMessage);
+        if (operation)
+            {
+            CleanupStack::PushL(operation);
+            TRAP(err, operation->ExecuteL());
+            VerifyErrorL(_L("<-- ReadAndUpdateThread: ExecuteLD(ResetGlobalCategoriesL()) left with %d -->"), err, aMessage);
+            CleanupStack::PopAndDestroy(operation);
+            }
+
+        const TInt KNrOfCats = 3;
+        TRAP(err, AddCategoriesL(KNrOfCats, _L("AddRemoveCatsThread %d"), catMan, dbItems));
+        VerifyErrorL(_L("<-- AddRemoveCatsThread: AddCategoriesL() left with %d -->"), err, aMessage);
+        if (err == KErrNone)
+            {
+            // AddCategoryToLandmarksL
+            operation = NULL;
+            TRAP(err, operation = catMan->AddCategoryToLandmarksL(dbItems[0], dbItems));
+            CleanupStack::PushL(operation);
+            VerifyErrorL(_L("<-- AddRemoveCatsThread: AddCategoryToLandmarksL() left with %d -->"), err, aMessage);
+            if (operation)
+                {
+                TRAP(err, operation->ExecuteL());
+                VerifyErrorL(_L("<-- AddRemoveCatsThread: ExecuteLD(AddCategoryToLandmarksL()) left with %d -->"), err, aMessage);
+                }
+            CleanupStack::PopAndDestroy(operation);
+
+            // RemoveCategoryFromLandmarksL
+            operation = NULL;
+            TRAP(err, operation = catMan->RemoveCategoryFromLandmarksL(dbItems[0], dbItems));
+            CleanupStack::PushL(operation);
+            VerifyErrorL(_L("<-- AddRemoveCatsThread: RemoveCategoryFromLandmarksL() left with %d -->"), err, aMessage);
+            if (operation)
+                {
+                TRAP(err, operation->ExecuteL());
+                VerifyErrorL(_L("<-- AddRemoveCatsThread: ExecuteLD(RemoveCategoryFromLandmarksL()) left with %d -->"), err, aMessage);
+                }
+            CleanupStack::PopAndDestroy(operation);
+
+            // RemoveCategoryL
+            operation = NULL;
+            TRAP(err, operation = catMan->RemoveCategoryL(dbItems[0]));
+            CleanupStack::PushL(operation);
+            VerifyErrorL(_L("<-- AddRemoveCatsThread: RemoveCategoryL() left with %d -->"), err, aMessage);
+            if (operation)
+                {
+                TRAP(err, operation->ExecuteL());
+                VerifyErrorL(_L("<-- AddRemoveCatsThread: ExecuteLD(RemoveCategoryL()) left with %d -->"), err, aMessage);
+                }
+            CleanupStack::PopAndDestroy(operation);
+            dbItems.Remove(0);
+            }
+
+        // Let other threads get access to the database
+        User::After(300000);
+
+        stopTime.HomeTime();
+        User::LeaveIfError(stopTime.MinutesFrom(startTime, executionTime));
+
+        CleanupStack::PopAndDestroy(2, catMan);
+        }
+
+    CleanupStack::PopAndDestroy(db);
+    }
+
+// ---------------------------------------------------------
+// CPosTp79::RunReadAndUpdateTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp79::RunReadAndUpdateTestL(TDes* aMessage)
+    {
+    // Execute thread for a number of hours
+    TTime startTime, stopTime;
+    startTime.HomeTime();
+    stopTime.HomeTime();
+    TTimeIntervalMinutes executionTime;
+    User::LeaveIfError(stopTime.MinutesFrom(startTime, executionTime));
+
+    // Open db
+    CPosLandmarkDatabase* db = CPosLandmarkDatabase::OpenL();
+    CleanupStack::PushL(db);
+    CPosLmCategoryManager* catMan = CPosLmCategoryManager::NewL(*db);
+    CleanupStack::PushL(catMan);
+
+    while (executionTime.Int() < KExectionTimeInMinutes)
+        {
+        RArray<TPosLmItemId> dbItems;
+        CleanupClosePushL(dbItems);
+
+        const TInt KNrOfCats = 3;
+        TRAPD(err, AddCategoriesL(KNrOfCats, _L("ReadAndUpdateThread %d"), catMan, dbItems));
+        VerifyErrorL(_L("<-- ReadAndUpdateThread: AddCategoriesL() left with %d -->"), err, aMessage);
+        if (err == KErrNone)
+            {
+            // Read and update
+            for (TInt i = 0; i < KNrOfCats; i++)
+                {
+                CPosLandmarkCategory* category = NULL;
+                TRAP(err, CleanupStack::Pop(category = catMan->ReadCategoryLC(dbItems[i])));
+                CleanupStack::PushL(category);
+                VerifyErrorL(_L("<-- ReadAndUpdateThread: ReadCategoryLC() left with %d -->"), err, aMessage);
+                if (category)
+                    {
+                    TPtrC namePtr;
+                    err = category->GetCategoryName(namePtr);
+                    VerifyErrorL(_L("<-- ReadAndUpdateThread: GetCategoryName() returned %d -->"), err, aMessage);
+                    if (err == KErrNone)
+                        {
+                        TBuf<KPosLmMaxCategoryNameLength> name(namePtr);
+                        name.Insert(0, name.Left(1));
+                        TRAP(err, category->SetCategoryNameL(name));
+                        VerifyErrorL(_L("<-- ReadAndUpdateThread: SetCategoryNameL() left with %d -->"), err, aMessage);
+                        TRAP(err, catMan->UpdateCategoryL(*category));
+                        if (err != KErrAlreadyExists)
+                            {
+                            VerifyErrorL(_L("<-- ReadAndUpdateThread: UpdateCategoryL() left with %d -->"), err, aMessage);
+                            }
+                        }
+                    }
+                CleanupStack::PopAndDestroy(category);
+                }
+
+            // GetCategoryL
+            if (err != KErrInUse)
+                {
+                TRAP(err, catMan->GetCategoryL(_L("RReadAndUpdateThread 3")));
+                VerifyErrorL(_L("<-- ReadAndUpdateThread: GetCategoryL() left with %d -->"), err, aMessage);
+                }
+            }
+        CleanupStack::PopAndDestroy(&dbItems);
+
+        // CategoryIteratorL
+        CPosLmItemIterator* iterator = NULL;
+        TRAP(err, iterator = catMan->CategoryIteratorL(CPosLmCategoryManager::ECategorySortOrderNameAscending));
+        delete iterator;
+        VerifyErrorL(_L("<-- ReadAndUpdateThread: CategoryIteratorL() left with %d -->"), err, aMessage);
+
+        // ReferencedCategoryIteratorL
+        iterator = NULL;
+        TRAP(err, iterator = catMan->ReferencedCategoryIteratorL(CPosLmCategoryManager::ECategorySortOrderNameDescending));
+        delete iterator;
+        VerifyErrorL(_L("<-- ReadAndUpdateThread: ReferencedCategoryIteratorL() left with %d -->"), err, aMessage);
+
+        // GetGlobalCategoryL
+        TRAP(err, catMan->GetGlobalCategoryL(3000));
+        VerifyErrorL(_L("<-- ReadAndUpdateThread: GetGlobalCategoryL() left with %d -->"), err, aMessage);
+
+        // GlobalCategoryNameL
+        HBufC* name = NULL;
+        TRAP(err, name = catMan->GlobalCategoryNameL(3000));
+        delete name;
+        VerifyErrorL(_L("<-- ReadAndUpdateThread: GlobalCategoryNameL() left with %d -->"), err, aMessage);
+
+        // Let other threads get access to the database
+        User::After(110000);
+
+        stopTime.HomeTime();
+        User::LeaveIfError(stopTime.MinutesFrom(startTime, executionTime));
+        }
+
+    CleanupStack::PopAndDestroy(2, db);
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp8.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,897 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp8.h"
+#include <EPos_CPosLandmarkDatabase.h> 
+#include <EPos_CPosLandmark.h>
+#include <LbsPosition.h>
+#include <EPos_CPosLMOperation.h> 
+#include "FT_LandmarkConstants.h"
+
+// CONSTANTS
+const TInt KNoLandmarks = 100;
+ 
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp8::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp8::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+    iLandmarks.ResetAndDestroy();
+    iLandmarks.Close();    
+    delete iDatabase;
+    iDatabase=NULL;
+    }
+
+// ---------------------------------------------------------
+// CPosTp8::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp8::StartL()
+    {    
+    _LIT(KLogFileName, "c:\\documents\\TP8TimeMeasurements.txt");
+    
+    TTime start, stop, totalStart, totalStop;
+    totalStart.UniversalTime();
+	start.UniversalTime();
+    RemoveDefaultDbL();
+    RemoveAllLmDatabasesL();
+    
+    _LIT(KTestPath, "c:\\system\\test\\testdata\\");
+    // copy the test db to the private path
+    CFileMan* fileMan = CFileMan::NewL(iFileSession);
+    CleanupStack::PushL(fileMan);
+
+    TBuf<150> srcPath;
+
+    srcPath.Append(KTestPath);
+    srcPath.Append(KTp8TestDb);
+
+    TInt err = fileMan->Copy(srcPath, KLmTp8DefaultDbPath,
+            CFileMan::EOverWrite);
+    if (err != KErrNone)
+        iLog->Log(_L("Error when copying file"));
+
+    CleanupStack::PopAndDestroy(fileMan);
+    CPosLmDatabaseManager* manager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(manager);
+
+    // This db must exist
+    manager->SetDefaultDatabaseUriL(KTp8TestDb);
+    CleanupStack::PopAndDestroy(manager);
+
+    start.UniversalTime();
+    iDatabase= CPosLandmarkDatabase::OpenL(KTp8TestDb);
+    stop.UniversalTime();
+    
+    TInt64 msec = (stop.Int64() - start.Int64())/1000;
+	TBuf8<KMsgBufSize> msg;
+	_LIT8(KTrace, "Opening (creating) an empty database = %d msec");
+	msg.Format(KTrace, msec);
+	LogToFileL(KLogFileName, msg);
+    
+    if (iDatabase->IsInitializingNeeded())
+       {
+       start.UniversalTime();
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+        
+       stop.UniversalTime();
+       msec = (stop.Int64() - start.Int64())/1000;
+       _LIT8(KTrace2, "Initializing an empty database = %d msec");
+	   msg.Format(KTrace2, msec);
+	   LogToFileL(KLogFileName, msg);
+       }
+
+// Add landmarks      
+    start.UniversalTime();
+    AddLandmarksL(iDatabase);
+    stop.UniversalTime();    
+ 
+    msec = (stop.Int64() - start.Int64())/1000;
+    _LIT8(KTrace3, "AddLandmarksL = %d msec");
+	msg.Format(KTrace3, msec);
+	LogToFileL(KLogFileName, msg);
+        
+    delete iDatabase;
+    iDatabase=NULL;   
+    iDatabase = BackupTp8DbFileL();
+
+if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+       
+// Read landmarks    
+    start.UniversalTime();
+    ReadLandmarksL(iDatabase);
+    stop.UniversalTime();    
+    
+    msec = (stop.Int64() - start.Int64())/1000;
+    _LIT8(KTrace4, "ReadLandmarksL = %d msec");
+	msg.Format(KTrace4, msec);
+	LogToFileL(KLogFileName, msg);
+
+// Update landmarks    
+    start.UniversalTime();
+    UpdateLandmarksL(iDatabase);
+    stop.UniversalTime();   
+    
+    msec = (stop.Int64() - start.Int64())/1000;
+    _LIT8(KTrace5, "UpdateLandmarksL = %d msec");
+	msg.Format(KTrace5, msec);
+	LogToFileL(KLogFileName, msg);
+    
+    ReadLandmarksL(iDatabase);
+    
+// Remove landmarks one by one
+    start.UniversalTime();
+    RemoveLandmarksL(iDatabase);
+    stop.UniversalTime();   
+    
+    msec = (stop.Int64() - start.Int64())/1000;
+    _LIT8(KTrace6, "RemoveLandmarksL = %d msec");
+	msg.Format(KTrace6, msec);
+	LogToFileL(KLogFileName, msg);
+
+    // Restore database
+    delete iDatabase;
+    iDatabase=NULL;
+    iDatabase=RestoreTp8DbFileL();
+        
+        if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+
+// Remove set of landmarks synchronously
+    start.UniversalTime();
+    RemoveSetOfLandmarksL(iDatabase);
+    stop.UniversalTime();   
+    
+    msec = (stop.Int64() - start.Int64())/1000;
+    _LIT8(KTrace7, "RemoveSetOfLandmarksL = %d msec");
+	msg.Format(KTrace7, msec);
+	LogToFileL(KLogFileName, msg);
+    
+    // Restore database
+    delete iDatabase;
+    iDatabase=NULL;
+    iDatabase=RestoreTp8DbFileL();
+    
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+
+// Remove set of landmarks and remove all landmarks asynchronously
+    start.UniversalTime();
+    RemoveLandmarksAsyncL(iDatabase);
+    stop.UniversalTime();   
+    
+    msec = (stop.Int64() - start.Int64())/1000;
+    _LIT8(KTrace8, "RemoveLandmarksAsyncL = %d msec");
+	msg.Format(KTrace8, msec);
+	LogToFileL(KLogFileName, msg);
+	
+    // Restore database
+    delete iDatabase;
+    iDatabase=NULL;
+    iDatabase=RestoreTp8DbFileL();
+    
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+     
+// Remove set of landmarks and remove all landmarks with User::WaitForRequest()
+    start.UniversalTime();
+    RemoveLandmarksAsyncWithWaitForReqL(iDatabase);
+    stop.UniversalTime();   
+    
+    msec = (stop.Int64() - start.Int64())/1000;
+    _LIT8(KTrace9, "RemoveLandmarksAsyncWithWaitForReqL = %d msec");
+	msg.Format(KTrace9, msec);
+	LogToFileL(KLogFileName, msg);
+
+    // Restore database
+    delete iDatabase;
+    iDatabase=NULL;
+    iDatabase=RestoreTp8DbFileL();
+    
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+    
+// Remove set of landmarks asynchronously and cancel
+    iLog->Log(_L("TESTS BELOW ARE TESTING CANCEL"));
+    RemoveLandmarksAsyncAndCancelL();
+    
+    // Check maximum length of Landmarkname
+    CheckLandmarkNameMaxLengthL();
+	
+    totalStop.UniversalTime();   
+    msec = (totalStop.Int64() - totalStart.Int64())/1000;
+    _LIT8(KTrace10, "Complete test case = %d msec");
+	msg.Format(KTrace10, msec);
+	LogToFileL(KLogFileName, msg);
+    }
+
+// ---------------------------------------------------------
+// CPosTp8::AddLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp8::AddLandmarksL(CPosLandmarkDatabase* aDatabase)
+    {
+    iLog->Log(_L("Adding and copying landmarks"));
+    
+    _LIT(KCategoryAddedErr, "A category that doesn't exist in the database should not be added to the landmark");    
+    _LIT(KLmName, "LmTP8 - %d");
+    _LIT(KLmDescription, "LmTP8Description - %d");
+    
+    iLandmarks.ResetAndDestroy();
+    for (TInt i=0; i<(KNoLandmarks/4); i++)
+        {
+        TBuf<100> lmName;
+        TBuf<100> lmDesc;
+        lmName.Format(KLmName,i);
+        CPosLandmark* landmark = CPosLandmark::NewLC();
+        landmark->SetLandmarkNameL(lmName);
+        lmDesc.Format(KLmDescription,i);
+        landmark->SetLandmarkDescriptionL(lmDesc);
+
+        CPosLandmark* copy = CPosLandmark::NewLC(*landmark);
+      
+        CPosLandmark* landmark2 = CPosLandmark::NewL();
+        CleanupStack::PushL(landmark2);    
+        landmark2->SetLandmarkNameL(lmName); 
+        landmark2->SetLandmarkDescriptionL(lmDesc); 
+
+        CPosLandmark* copy2 = CPosLandmark::NewL(*landmark2);
+        CleanupStack::PushL(copy2);
+        TInt err = KErrLocked;
+        
+        ExecuteAndDeleteLD(aDatabase->CompactL());
+        
+        while (err == KErrLocked)
+            {
+            TRAP(err, aDatabase->AddLandmarkL(*landmark));
+            }
+        err = KErrLocked;
+        while (err == KErrLocked)
+            {
+            TRAP(err, aDatabase->AddLandmarkL(*copy));
+            }
+        err = KErrLocked;
+        while (err == KErrLocked)
+            {
+            TRAP(err, aDatabase->AddLandmarkL(*landmark2));
+            }
+        err = KErrLocked;
+        while (err == KErrLocked)
+            {
+            TRAP(err, aDatabase->AddLandmarkL(*copy2));
+            }
+      
+        TPosLmItemId id2 = 5123321;
+        CPosLandmark* landmark3 = CPosLandmark::NewLC();
+        landmark3->AddCategoryL(id2);
+        landmark3->AddCategoryL(id2);
+        
+        err = KErrLocked;
+        while (err == KErrLocked)
+            {
+            TRAP(err, aDatabase->AddLandmarkL(*landmark3)); // CR115 this should not fail any more 
+            }
+        
+        CPosLandmark* readLm3 = aDatabase->ReadLandmarkLC(landmark3->LandmarkId());
+        
+        RArray<TPosLmItemId> catIds;
+        CleanupClosePushL(catIds);
+        readLm3->GetCategoriesL(catIds);
+        AssertTrueSecL(catIds.Count() == 0, KCategoryAddedErr); 
+        CleanupStack::PopAndDestroy(3, landmark3);
+
+        iLandmarks.Append(landmark);
+        iLandmarks.Append(copy);
+        iLandmarks.Append(landmark2);
+        iLandmarks.Append(copy2);
+            
+        CleanupStack::Pop(4, landmark); 
+        }   
+    }
+
+// ---------------------------------------------------------
+// CPosTp8::ReadLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp8::ReadLandmarksL(CPosLandmarkDatabase* aDatabase)
+    {
+    iLog->Log(_L("Reading landmarks"));
+
+    _LIT(KReadNotFoundErr, "The landmark id doesn't exist so ReadLandmark should return not found");    
+    TBuf<100> buf;
+    buf.Format(_L("Reading %d nr of landmarks from id %d to id %d"), iLandmarks.Count(), 
+    				iLandmarks[0]->LandmarkId(), iLandmarks[iLandmarks.Count()-1]->LandmarkId());
+    iLog->Log(buf);
+    for (TInt i = 0; i<iLandmarks.Count(); i++)
+        {
+        
+        CPosLandmark* lm = aDatabase->ReadLandmarkLC(iLandmarks[i]->LandmarkId());
+        CompareLandmarksL(*iLandmarks[i], *lm);    
+        CleanupStack::PopAndDestroy(); // lm 
+        }
+    
+    TPosLmItemId id = 5123321;
+    CPosLandmark* lm=NULL;
+    TRAPD(err, lm=aDatabase->ReadLandmarkLC(id));
+    delete lm;
+    lm = NULL;
+    AssertTrueSecL(err == KErrNotFound, KReadNotFoundErr);
+    
+    id = 13434;
+    lm=NULL;
+    TRAP(err, lm=aDatabase->ReadLandmarkLC(id));
+    delete lm;
+    AssertTrueSecL(err == KErrNotFound, KReadNotFoundErr);
+    
+    id = 0;
+    lm=NULL;
+    TRAP(err, lm=aDatabase->ReadLandmarkLC(id));
+    delete lm;
+    AssertTrueSecL(err == KErrNotFound, KReadNotFoundErr);
+    
+    }
+
+
+// ---------------------------------------------------------
+// CPosTp8::UpdateLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp8::UpdateLandmarksL(CPosLandmarkDatabase* aDatabase)    
+    {
+    iLog->Log(_L("Updating landmarks"));
+    _LIT(KCategoryName, "UpdatedCategory %d");
+    _LIT(KCategoryName2, "UpdatedCategory2:%d:%d");
+    _LIT(KCategoryAddedErr, "A category that doesn't exist in the database should not be added to the landmark"); 
+    
+    for (TInt i = 0; i<iLandmarks.Count(); i++)
+        {
+        TCoordinate coord(KLatitude2, KLongitude2, KAltitude2);
+        TLocality loc(coord, KHorizontalAcc2, KVerticalAcc2);
+        TInt j = 0;
+        switch(i)
+            {
+            case 0:
+                iLandmarks[i]->SetLandmarkNameL(KName2);
+                break;
+            case 1:        
+                iLandmarks[i]->SetPositionL(loc);
+                break;
+            case 2:
+                iLandmarks[i]->SetIconL(KMbmFileName2, KIconIndex2, KPosLmIconMaskNotUsed);
+                break;
+            case 3:
+                iLandmarks[i]->SetLandmarkDescriptionL(KDescription2);
+                break;
+            case 4:
+                iLandmarks[i]->SetCoverageRadius(KCoverageRadius); 
+                break;
+            case 5:
+                AddFields2L(iLandmarks[i]);
+                break;
+            case 6:
+                for(j=0; j<KNoCategories; j++)
+                    {
+                    TBuf<100> name;
+                    name.Format(KCategoryName, j);
+                    iLandmarks[i]->AddCategoryL(CreateCategoryL(name));
+                    }
+                break;
+            case 8:
+                AddFields3L(iLandmarks[i]);
+                break;
+            case 9:
+                break;
+            default:
+                iLandmarks[i]->SetLandmarkNameL(KName2);
+                iLandmarks[i]->SetPositionL(loc);
+                iLandmarks[i]->SetIconL(KMbmFileName2, KIconIndex2, KPosLmIconMaskNotUsed);
+                iLandmarks[i]->SetLandmarkDescriptionL(KDescription2);
+                iLandmarks[i]->SetCoverageRadius(KCoverageRadius); 
+                AddFields2L(iLandmarks[i]);
+               
+                for(j=0; j<KNoCategories; j++)
+                    {
+                    TBuf<100> name;
+                    name.Format(KCategoryName2, j, i);
+                    iLandmarks[i]->AddCategoryL(CreateCategoryL(name));
+                    }
+                break;
+            } 
+        }
+    TInt err = KErrLocked;
+    for (TInt k = 0; k<iLandmarks.Count(); k++)
+        {
+        err = KErrLocked;
+        while (err == KErrLocked)
+            {
+            TRAP(err, aDatabase->UpdateLandmarkL(*iLandmarks[k]));
+            }
+        }
+
+    ExecuteAndDeleteLD(aDatabase->CompactL());
+             
+    _LIT(KTemp, "temp");
+    TPosLmItemId id2 = 8787876;
+    CPosLandmark* landmark = CreateLandmarkLC(KTemp);
+    err = KErrLocked;
+    while (err == KErrLocked)
+        {
+        TRAP(err, aDatabase->AddLandmarkL(*landmark));
+        }
+    
+    landmark->AddCategoryL(id2);
+    
+    // 0 is equal to KPosLmNullItemId, should leave
+    id2 = 0;
+    TRAP(err, landmark->AddCategoryL(id2));
+    AssertTrueSecL(err == KErrArgument, _L("AddCategory(0) should leave with KErrArgument"));
+    err = KErrLocked;
+    while (err == KErrLocked)
+        {  
+        TRAP(err, aDatabase->UpdateLandmarkL(*landmark)); // CR115 this should not fail any more 
+        }
+    
+    // Make sure category not added to lm (TR ESLI-5X7FTZ)
+    CPosLandmark* readLm = aDatabase->ReadLandmarkLC(landmark->LandmarkId());
+    RArray<TPosLmItemId> catIds;
+    CleanupClosePushL(catIds);
+    readLm->GetCategoriesL(catIds);
+    AssertTrueSecL(catIds.Count() == 3, KCategoryAddedErr); 
+    
+    aDatabase->RemoveLandmarkL(landmark->LandmarkId());
+      
+    CleanupStack::PopAndDestroy(3, landmark);
+    }
+
+// ---------------------------------------------------------
+// CPosTp8::RemoveLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp8::RemoveLandmarksL(CPosLandmarkDatabase* aDatabase)
+    {
+    iLog->Log(_L("Removing landmarks"));
+    ExecuteAndDeleteLD(aDatabase->CompactL());   
+    const TInt start=9;
+    const TInt end=55;
+    
+    // First check invalid landmark ids, nothing should happen
+    CheckRemovedL(iLandmarks.Count(), iLandmarks.Count());
+    TPosLmItemId id = 5123321;
+    TInt err = KErrLocked;
+    while (err == KErrLocked)
+        {
+        TRAP(err, aDatabase->RemoveLandmarkL(id));
+        }
+        
+    id = 11233;
+    err = KErrLocked;
+    while (err == KErrLocked)
+        {
+        TRAP(err, aDatabase->RemoveLandmarkL(id));
+        }
+    id = 0;
+    err = KErrLocked;
+    while (err == KErrLocked)
+        {
+        TRAP(err, aDatabase->RemoveLandmarkL(id));
+        }
+    
+    CheckRemovedL(iLandmarks.Count(), iLandmarks.Count());
+
+    for (TInt i = start; i<=end; i++)
+        {
+        err = KErrLocked;
+        while (err == KErrLocked)
+            {
+            TRAP(err, aDatabase->RemoveLandmarkL(iLandmarks[i]->LandmarkId()));
+            }
+        }
+    CheckRemovedL(start, end);
+    for (TInt j = start; j<=end; j++)
+        {
+        err = KErrLocked;
+        while (err == KErrLocked)
+            {
+            TRAP(err, aDatabase->RemoveLandmarkL(iLandmarks[j]->LandmarkId())); // nothing should happen 
+            }
+        } 
+    
+    CheckRemovedL(start, end);
+    
+    iLog->Log(_L("Removing all landmarks"));
+    ExecuteAndDeleteLD(aDatabase->CompactL());
+    ExecuteAndDeleteLD(aDatabase->RemoveAllLandmarksL());
+    
+    CheckRemovedL(0, iLandmarks.Count()-1);
+
+    ExecuteAndDeleteLD(aDatabase->RemoveAllLandmarksL());
+    
+    CheckRemovedL(0, iLandmarks.Count()-1);
+    
+    }
+
+// ---------------------------------------------------------
+// CPosTp8::RemoveLandmarksAsyncL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp8::RemoveLandmarksAsyncL(CPosLandmarkDatabase* aDatabase)
+    {
+    iLog->Log(_L("Removing landmarks asynchronously"));
+    
+    // Remove a set of landmarks async
+    const TInt start=3;
+    const TInt end=47;
+    
+    RArray<TPosLmItemId> ids;
+    CleanupClosePushL(ids);
+    
+    for(TInt i=start; i<=end; i++)
+        {
+        ids.Append(iLandmarks[i]->LandmarkId());
+        }
+    
+    RunAsyncOperationLD(aDatabase->RemoveLandmarksL(ids));
+    CleanupStack::PopAndDestroy(&ids);
+
+    CheckRemovedL(start, end);    
+    
+    // Remove all async
+    delete iDatabase;
+    iDatabase=NULL;
+    iDatabase=RestoreTp8DbFileL();
+    
+        if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+   
+    iLog->Log(_L("Removing all landmarks asynchronously"));
+
+    RunAsyncOperationLD(iDatabase->RemoveAllLandmarksL());
+    
+    CheckRemovedL(0, iLandmarks.Count()-1);
+    }
+
+// ---------------------------------------------------------
+// CPosTp8::RemoveLandmarksAsyncWithWaitForReqL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp8::RemoveLandmarksAsyncWithWaitForReqL(CPosLandmarkDatabase* aDatabase)
+    {
+    iLog->Log(_L("Removing landmarks asynchronously with User::WaitForRequest"));
+    
+    // Remove a set of landmarks async with WaitForReq
+    const TInt start=3;
+    const TInt end=47;
+    
+    RArray<TPosLmItemId> ids;
+    CleanupClosePushL(ids);
+    
+    for(TInt i=start; i<=end; i++)
+        {
+        ids.Append(iLandmarks[i]->LandmarkId());
+        }
+    
+    CPosLmOperation* op = aDatabase->RemoveLandmarksL(ids);
+    CleanupStack::PushL(op);
+    RunAsyncOperationByWaitForReqL(op);
+    CleanupStack::PopAndDestroy(op);
+
+    CheckRemovedL(start, end);
+    
+    // Remove all async with WaitForReq
+    delete iDatabase;
+    iDatabase=NULL;
+    iDatabase=RestoreTp8DbFileL();
+   
+       
+        if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+    
+    iLog->Log(_L("Removing all landmarks asynchronously with User::WaitForRequest"));
+    TRAPD(error,op = iDatabase->RemoveAllLandmarksL());
+    iLog->Log(_L("error while RemoveAllLandmarksL = %d"),error);
+    CleanupStack::PushL(op);
+    RunAsyncOperationByWaitForReqL(op);
+    CleanupStack::PopAndDestroy(2, &ids);
+    
+    CheckRemovedL(0, iLandmarks.Count()-1);
+    }
+
+// ---------------------------------------------------------
+// CPosTp8::RemoveLandmarksAsyncAndCancelL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp8::RemoveLandmarksAsyncAndCancelL()
+    {
+    iLog->Log(_L("Removing landmarks asynchronously and cancel"));
+    
+    // Remove a set of landmarks async
+    const TInt start=3;
+    const TInt end=47;
+    
+    RArray<TPosLmItemId> ids;
+    CleanupClosePushL(ids);
+    
+    for(TInt i=start; i<=end; i++)
+        {
+        ids.Append(iLandmarks[i]->LandmarkId());
+        }
+    
+    TReal32 progress(0);
+    while (progress < 1.0)
+        {
+        RunAsyncOperationAndCancelInCallbackLD(iDatabase->RemoveLandmarksL(ids), progress);
+       
+        delete iDatabase;
+        iDatabase=NULL;
+        iDatabase=RestoreTp8DbFileL();
+         if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+        progress = progress + 0.09;
+        }
+    CleanupStack::PopAndDestroy(&ids);
+   
+    iLog->Log(_L("Removing all landmarks asynchronously and cancel"));
+
+    progress = 0;
+    while (progress < 1.0)
+        {
+        RunAsyncOperationAndCancelInCallbackLD(iDatabase->RemoveAllLandmarksL(), progress);
+        
+        delete iDatabase;
+        iDatabase=NULL;
+        iDatabase=RestoreTp8DbFileL();
+         if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+        
+        progress = progress + 0.09;
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp8::RemoveSetOfLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp8::RemoveSetOfLandmarksL(CPosLandmarkDatabase* aDatabase)
+    {
+    iLog->Log(_L("Removing set of landmarks"));
+   
+    const TInt start=3;
+    const TInt end=57;
+    
+    RArray<TPosLmItemId> ids;
+    CleanupClosePushL(ids);
+    
+    // Test with empty list, should leave with KErrArgument
+    TRAPD(err, iOperation = aDatabase->RemoveLandmarksL(ids));
+    if (err != KErrArgument)
+    {
+    iLog->Log(_L("Removing empty iterator should leave with KErrArgument"));
+   	User::Leave(err);
+    
+    }
+    
+    #if 0
+    // Added for testing -- Start    
+    iOperation->ExecuteL(); 
+    // Added for testing -- End
+    
+    delete iOperation;
+    iOperation = NULL;
+    #endif 
+    
+    // Test with invalid sets of lm id arrays
+    ids.Append(11234);
+    ids.Append(556);
+    ids.Append(908);
+   
+    ExecuteAndDeleteLD(aDatabase->RemoveLandmarksL(ids));
+   
+    // Check that no landmark has been removed 
+    CheckRemovedL(iLandmarks.Count(), iLandmarks.Count());
+    
+    for(TInt i=start; i<=end; i++)
+        {
+        ids.Append(iLandmarks[i]->LandmarkId());
+        // Also add invalid ids
+        ids.Append(i+5000);
+        }
+    
+    ExecuteAndDeleteLD(aDatabase->RemoveLandmarksL(ids));
+
+    CheckRemovedL(start, end);
+
+    ExecuteAndDeleteLD(aDatabase->RemoveLandmarksL(ids));
+    
+    CleanupStack::PopAndDestroy(&ids);
+
+    CheckRemovedL(start, end);
+    }
+
+// ---------------------------------------------------------
+// CPosTp8::CheckRemoved
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp8::CheckRemovedL(const TInt startIndex, const TInt stopIndex)
+    {
+    _LIT(KRemoveNotFoundErr, "Landmark has not been removed");
+    _LIT(KRemoveFoundErr, "Landmark should not been removed");
+
+       for (TInt i = 0; i<iLandmarks.Count(); i++)
+        {
+        TRAPD(err, ReadLandmarkL(iLandmarks[i]->LandmarkId()));
+        if (i >= startIndex && i <= stopIndex)
+            {    
+            AssertTrueSecL(err == KErrNotFound, KRemoveNotFoundErr);               
+            }
+        else
+            {
+            AssertTrueSecL(err == KErrNone, KRemoveFoundErr);
+            }
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp8::ReadLandmarkL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp8::ReadLandmarkL(TPosLmItemId aCategoryId)
+    {
+    CPosLandmark* lm = iDatabase->ReadLandmarkLC(aCategoryId); 
+    CleanupStack::PopAndDestroy(lm);
+    }
+
+//---------------------------------------------------------
+// CPosTp8::CheckLandmarkNameMaxLengthL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp8::CheckLandmarkNameMaxLengthL()
+    {
+    _LIT(K255Error, "Landmark name is not limited to 255 characters");
+    
+    iLog->Log(_L("CheckLandmarkNameMaxLengthL"));
+
+    const TInt KPosLmMaxTextFieldLength = 255;
+    
+    HBufC* hbuf = HBufC::NewLC(KPosLmMaxTextFieldLength+1);
+
+    CPosLandmark* lm = CPosLandmark::NewLC();
+    // Test empty name, is OK
+    lm->SetLandmarkNameL(*hbuf);
+ 
+    while(hbuf->Des().Length() < KPosLmMaxTextFieldLength)
+        {
+        hbuf->Des().Append(_L("X"));
+        }
+
+    lm->SetLandmarkNameL(*hbuf);
+    
+    hbuf->Des().Append(_L("X"));
+
+    TRAPD(err, lm->SetLandmarkNameL(*hbuf));
+    AssertTrueSecL(err == KErrArgument, K255Error);
+
+    CleanupStack::PopAndDestroy(2, hbuf);
+    }
+
+// ---------------------------------------------------------
+// CPosTp8::BackupTp8DbFileL()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+CPosLandmarkDatabase* CPosTp8::BackupTp8DbFileL()
+    {
+
+    CPosLmDatabaseManager* manager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(manager);
+    manager->SetDefaultDatabaseUriL(KTp8TestDb);
+    HBufC* defaultDbUri = manager->DefaultDatabaseUriLC();
+    TBuf<255> buf;
+    // Extract URI except characters ".ldb"
+    buf.Append(defaultDbUri->Left(defaultDbUri->Length()-4));
+    buf.Append(_L("COPY.LDB"));
+    // Delete in case it already exist
+    TRAPD(err, manager->DeleteDatabaseL(buf));
+    if (err != KErrNone && err != KErrNotFound) iLog->Log(_L("Could not delete file"));
+    manager->CopyDatabaseL(*defaultDbUri, buf);
+
+    CleanupStack::PopAndDestroy(defaultDbUri);
+    CleanupStack::PopAndDestroy(manager);
+    return CPosLandmarkDatabase::OpenL();
+    }
+
+// ---------------------------------------------------------
+// CPosTp8::RestoreTp8DbFileL()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+CPosLandmarkDatabase* CPosTp8::RestoreTp8DbFileL()
+    {
+
+
+    CPosLmDatabaseManager* manager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(manager);
+    manager->SetDefaultDatabaseUriL(KTp8TestDb);
+    HBufC* defaultDbUri = manager->DefaultDatabaseUriLC();
+    TBuf<255> buf;
+    // Extract URI except characters ".ldb"
+    buf.Append(defaultDbUri->Left(defaultDbUri->Length()-4));
+    buf.Append(_L("COPY.LDB"));
+    // Delete in case it already exist
+    TRAPD(err, manager->DeleteDatabaseL(*defaultDbUri));
+    if (err != KErrNone && err != KErrNotFound) iLog->Log(_L("Could not delete file"));
+    manager->CopyDatabaseL(buf, *defaultDbUri);
+
+    CleanupStack::PopAndDestroy(defaultDbUri);
+    CleanupStack::PopAndDestroy(manager);
+    return CPosLandmarkDatabase::OpenL();
+    }
+    
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp80.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,130 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp80.h"
+#include "FT_LandmarkConstants.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLmDatabaseManager.h>
+
+// ================= CONSTANTS=======================
+_LIT(KLongFileName, "01234567890123456789012345678901234567890123456789012345678901234567890123456789_COMPOSITEEPOSLM.LDB");
+           
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp80::GetName
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp80::GetName(TDes& aName) const
+    {
+    _LIT(KTestName, "Tp80 - Landmarks DB Long File Name");
+    aName = KTestName;
+    }
+    
+// ---------------------------------------------------------
+// CPosTp80::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp80::CloseTest()
+    {
+    iLog->Put(_L("CloseTest"));
+    
+    TRAPD(err, DeleteTestDbL());
+    if (err != KErrNone) iLog->Put(_L("Error when DeleteTestDbL"));
+    
+    TRAP(err, RemoveAllLmDatabasesL());
+    if (err != KErrNone) iLog->Put(_L("Error when RemoveAllLmDatabasesL"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp80::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp80::StartL()
+    {
+    // Init test part
+    iLog->Put(_L("DeleteTestDbL"));
+    DeleteTestDbL();
+    iLog->Put(_L("RemoveAllLmDatabasesL"));
+    RemoveAllLmDatabasesL();
+    
+    iLog->Put(_L("CopyTestDbFileL(KLongFileName)"));
+    CopyTestDbFileL(KLongFileName);
+    iLog->Put(_L("After CopyTestDbFileL(KLongFileName)"));
+    
+    CPosLmDatabaseManager* manager = CPosLmDatabaseManager::NewL();
+    CleanupStack::PushL(manager);
+    // Hangs here
+    iLog->Put(_L("Before DatabaseExistsL"));
+    TBool exist = manager->DatabaseExistsL(KLongFileName);
+    iLog->Put(_L("After DatabaseExistsL"));
+    
+    // if it exists, try to open it
+    if (exist)
+        {
+        CPosLandmarkDatabase* lmd = CPosLandmarkDatabase::OpenL(KLongFileName);
+        CleanupStack::PushL(lmd);
+        CleanupStack::PopAndDestroy(lmd);       
+        }
+    else iLog->Put(_L("DatabaseExistsL correctly returns EFalse"));
+    
+    CleanupStack::PopAndDestroy(manager);   
+	}
+
+// ---------------------------------------------------------
+// CPosTp80::DeleteTestDbL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp80::DeleteTestDbL()
+    {
+    iLog->Put(_L("DeleteTestDbL"));
+    RFs fs;
+    User::LeaveIfError(fs.Connect());
+    CleanupClosePushL(fs);
+    
+    CFileMan* fileMan = CFileMan::NewL(fs);
+    CleanupStack::PushL(fileMan);
+    
+    TBuf<150> path;
+        
+    path.Append(KLmDbPath);
+    path.Append(KLongFileName);
+       
+    TInt err = fileMan->Delete(path);
+    if (err != KErrNone) 
+        {
+        TBuf<100> buf;
+        buf.Format(_L("Error %d when deleting file"), err);
+        iLog->Put(buf);
+        }
+     
+    CleanupStack::PopAndDestroy(2, &fs);
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp81.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,220 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp81.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLmDatabaseManager.h>
+           
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp81::GetName
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp81::GetName(TDes& aName) const
+    {
+    _LIT(KTestName, "Tp81 - category with apostrophe in name (SBUY-6A9A5B)");
+    aName = KTestName;
+    }
+
+// ---------------------------------------------------------
+// CPosTp81::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp81::StartL()
+    {
+    _LIT(KCategoryName, "Category with apostrophe'");
+    _LIT(KCategoryName2, "Category with apostrophe(')");
+    
+    RemoveAllLmDatabasesL();
+
+    CPosLandmarkDatabase* db = CPosLandmarkDatabase::OpenL();
+    CleanupStack::PushL(db);
+    if (db->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(db->InitializeL()); // Synchronous since no argument
+       }
+    
+    CPosLmCategoryManager* manager = CPosLmCategoryManager::NewL(*db);
+    CleanupStack::PushL(manager);
+    
+    // Test with only apostrophe
+    CPosLandmarkCategory* cat = CPosLandmarkCategory::NewL();
+    CleanupStack::PushL(cat);
+    iLog->Put(_L("Set name with apostrophe"));
+    cat->SetCategoryNameL(KCategoryName); 
+    iLog->Put(_L("AddCategory with apostrophe in name"));
+    TPosLmItemId id = manager->AddCategoryL(*cat);
+    User::After(200000);
+    iLog->Put(_L("AddCategory was succesful"));
+    CleanupStack::PopAndDestroy(cat);
+    
+    CPosLandmarkCategory* category = manager->ReadCategoryLC(id);
+    TPtrC catName;
+    category->GetCategoryName(catName);
+    iLog->Put(catName);
+    if (catName.CompareC(KCategoryName) != KErrNone) iLog->Put(_L("ERROR: Names are not equal"));
+    CleanupStack::PopAndDestroy(category);
+    CleanupStack::PopAndDestroy(manager);
+    
+    // Test with apostrophe and paranthesis
+    manager = CPosLmCategoryManager::NewL(*db);
+    CleanupStack::PushL(manager);
+    
+    cat = CPosLandmarkCategory::NewL();
+    CleanupStack::PushL(cat);
+    iLog->Put(_L("Set name with apostrophe"));
+    cat->SetCategoryNameL(KCategoryName2); 
+    iLog->Put(_L("AddCategory with apostrophe and paranthesis in name"));
+    id = manager->AddCategoryL(*cat);
+    User::After(200000);
+    iLog->Put(_L("AddCategory was succesful"));
+    CleanupStack::PopAndDestroy(cat);
+    
+    category = manager->ReadCategoryLC(id);
+    category->GetCategoryName(catName);
+    iLog->Put(catName);
+    if (catName.CompareC(KCategoryName2) != KErrNone) iLog->Put(_L("ERROR: Names are not equal (2)"));
+    CleanupStack::PopAndDestroy(category);
+    
+    ExecuteAndDeleteLD(db->CompactL());
+
+    CleanupStack::PopAndDestroy(manager);
+    CleanupStack::PopAndDestroy(db);
+
+    TestDifferentNamesL();
+    
+    }
+// ---------------------------------------------------------
+// CPosTp81::TestDifferentNamesL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp81::TestDifferentNamesL()
+    {
+    iLog->Put(_L("TestDifferentNamesL"));        
+    ////////////////////////////////////////////////////////////
+    _LIT(KCategory1, "file://:://c:::en helt \" sjuk .ldb databas\".ldb.ldb.ldb");
+    _LIT(KCategory2, "file://c:en helt sjuk databas.ldb");
+    _LIT(KCategory3, "le:///c:en helt sjuk databas.ldb");
+    _LIT(KCategory4, "/c::en helt sjuk databas.ldb");
+    _LIT(KCategory5, "en helt sjuk .ldb databas.ldb");
+    _LIT(KCategory6, "en helt sjuk databas.ldb.ldb.ldb");
+    _LIT(KCategory7, "en helt \" sjuk databas.ldb");
+    _LIT(KCategory8, "en helt < sjuk databas.ldb");
+    _LIT(KCategory9, "en helt > sjuk databas.ldb");
+    _LIT(KCategory10, "en helt | sjuk databas.ldb");
+    _LIT(KCategory11, "en helt / sjuk databas.ldb");
+    _LIT(KCategory12, "en helt ? sjuk databas.ldb");
+    _LIT(KCategory13, "en helt \\ sjuk databas.ldb");
+    _LIT(KCategory14, "en helt : sjuk databas.ldb");
+    _LIT(KCategory15, ":!#¤%&()=+`´^¨~'§½-_,;.{}[]$£@0123456789åäöÅÄÖ.ldb");
+    _LIT(KCategory16, "file://c:qwertyuiopasdfghjklzxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM.ldb");
+    _LIT(KCategory17, "file://en otroligt helt sjuk databas.ldb");
+    _LIT(KCategory18, "c:en helsjuk databas.ldb");
+    _LIT(KCategory19, "file://c:\\system\\data\\en helt sjuk databas.ldb");
+    _LIT(KCategory20, "file://c:.ldb");
+    _LIT(KCategory21, "file://c:filename");
+    _LIT(KCategory22, "file://c:filename.dip");
+    _LIT(KCategory23, "file://c:filename. ldb");
+    _LIT(KCategory24, "file://c:*.ldb");
+    _LIT(KCategory25, "file://allan:en helt sjuk databas.ldb");
+    _LIT(KCategory26, "file://g:en helt sjuk databas.ldb");
+    _LIT(KCategory27, "file://c:filename.ldb");
+    _LIT(KCategory28, "file://c:012345678901234567890123456789012345678901234567890123456789.ldb");
+    
+    const TInt KNrOfUris = 28;
+    const TDesC* listOfCategories[] = {&KCategory1, &KCategory2, &KCategory3 ,&KCategory4, &KCategory5, &KCategory6,
+     &KCategory7, &KCategory8, &KCategory9
+    , &KCategory10, &KCategory11, &KCategory12, &KCategory13, &KCategory14, &KCategory15
+    , &KCategory16, &KCategory17, &KCategory18, &KCategory19, &KCategory20, &KCategory21
+    , &KCategory22, &KCategory23, &KCategory24, &KCategory25, &KCategory26, &KCategory27, &KCategory28};
+
+/*
+    const TInt KNrOfNonWorkingUris = 19;
+    const TDesC* listOfUrisNonWorking[] = {&KCategory1, &KCategory3 ,&KCategory4, &KCategory7, &KCategory8, &KCategory9
+    , &KCategory10, &KCategory11, &KCategory12, &KCategory13, &KCategory14, &KCategory19, &KCategory20, &KCategory21
+    , &KCategory22, &KCategory23, &KCategory24, &KCategory25, &KCategory26};
+    
+    TInt errorList[] = {KErrBadName, KErrBadName, KErrBadName, KErrBadName, KErrBadName ,KErrBadName,KErrBadName,
+                   KErrBadName, KErrBadName, KErrArgument, KErrBadName, KErrArgument, KErrArgument,
+                   KErrArgument, KErrArgument,KErrArgument, KErrBadName, KErrBadName, KErrNotReady};
+                   */
+    //////////////////////////////////////////////////
+    
+    CPosLandmarkDatabase* db = CPosLandmarkDatabase::OpenL();
+    CleanupStack::PushL(db);
+    
+    CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*db);
+    CleanupStack::PushL(categoryManager);
+    
+    TBuf<100> buf;
+    
+    for (TInt i=0;i<KNrOfUris;i++)
+        {
+        CPosLandmarkCategory* cat = CPosLandmarkCategory::NewL();
+        CleanupStack::PushL(cat);
+        iLog->Put(_L("Set name to:"));
+        iLog->Put(*listOfCategories[i]);
+        TRAPD(err, cat->SetCategoryNameL(*listOfCategories[i]));
+        if (err == KErrNone)
+            {
+            iLog->Put(_L("AddCategory"));
+            TPosLmItemId id = -1;
+            TRAPD(err2, id = categoryManager->AddCategoryL(*cat));
+            User::After(200000);
+            if (err2 != KErrNone)
+                {
+                buf.Format(_L("Error %d from AddCategoryL"), err2);
+                LogErrorAndLeave(buf);
+                }
+            else
+                {
+                buf.Format(_L("Checking landmark with id %d"), id);
+                iLog->Put(buf);
+                
+                CPosLandmarkCategory* category = categoryManager->ReadCategoryLC(id);
+                User::After(200000);
+                TPtrC catName;
+                category->GetCategoryName(catName);
+                iLog->Put(catName);
+                if (catName.CompareC(*listOfCategories[i]) != KErrNone) iLog->Put(_L("ERROR: Names are not equal"));
+                CleanupStack::PopAndDestroy(category);
+                }
+            }
+        else
+            {
+            buf.Format(_L("Error %d from SetCategoryNameL"), err);
+            LogErrorAndLeave(buf);
+            }
+        CleanupStack::PopAndDestroy(cat);
+        ExecuteAndDeleteLD(db->CompactL());
+        }
+    
+    CleanupStack::PopAndDestroy(categoryManager);
+    CleanupStack::PopAndDestroy(db);
+    }
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp9.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,291 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+
+#include "FT_CPosTp9.h"
+#include <EPos_CPosLandmarkDatabase.h> 
+#include <EPos_CPosLMItemIterator.h> 
+#include <EPos_CPosLandmark.h>
+#include <EPos_TPosLMSortPref.h> 
+#include <e32svr.h> // RDebug
+
+// CONSTANTS
+const TInt KNoLandmarks = 50;
+_LIT(KIteratorNumOfItemsErr, "The iterator returns incorrect number of items");
+_LIT(KIteratorIdErr, "A landmarks id not in the database returned from the iterator");         
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosTp9::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp9::StartL()
+    {
+
+    RemoveDefaultDbL();
+    RemoveAllLmDatabasesL();
+    
+    iDatabase = CPosLandmarkDatabase::OpenL();
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL()); 
+       }
+    ExecuteAndDeleteLD(iDatabase->CompactL());
+    AddLandmarksL();
+    IterateLandmarksL();
+	IterateSetOfLandmarksL();
+    IterateSortedLandmarksL();
+    }
+
+// ---------------------------------------------------------
+// CPosTp9::CloseTestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp9::CloseTest()
+    {
+    iLandmarks.ResetAndDestroy();
+    iLandmarks.Close();
+    delete iDatabase;
+    iDatabase = NULL;
+    }
+
+// ---------------------------------------------------------
+// CPosTp9::AddLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp9::AddLandmarksL()
+    {
+    iLog->Log(_L("AddLandmarksL"));
+    _LIT(KLmName, "LmTP9 - %d");
+    _LIT(KLmDescription, "LmTP9Description - %d");
+    
+    for (TInt i=0; i<(KNoLandmarks); i++)
+        {
+        TBuf<100> lmName;
+        lmName.Format(KLmName,i);
+        TBuf<100> lmDesc;
+        lmDesc.Format(KLmDescription,i);
+       
+        CPosLandmark* landmark = CPosLandmark::NewLC();
+        landmark->SetLandmarkNameL(lmName); 
+        landmark->SetLandmarkDescriptionL(lmDesc);
+        TInt err = KErrLocked;
+        while (err == KErrLocked)
+            {
+            TRAP(err, iDatabase->AddLandmarkL(*landmark));
+            }
+        
+        iLandmarks.Append(landmark);
+       
+        CleanupStack::Pop(landmark); 
+        }
+    }
+
+// ---------------------------------------------------------
+// CPosTp9::IterateLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp9::IterateLandmarksL()
+    {
+     iLog->Log(_L("IterateLandmarksL"));
+    CPosLmItemIterator* iter = iDatabase->LandmarkIteratorL();
+    CleanupStack::PushL(iter);
+
+    TPosLmItemId id = iter->NextL();
+    while (id != KPosLmNullItemId)
+        {
+        CPosLandmark* source = InternalGet(id);
+        AssertTrueSecL(source != NULL, KIteratorIdErr);
+        
+        CPosLandmark* target = iDatabase->ReadLandmarkLC(id);
+        CompareLandmarksL(*source, *target);
+        CleanupStack::PopAndDestroy(); // target
+
+        id = iter->NextL();
+        }
+
+    AssertTrueSecL(iter->NumOfItemsL() == (TUint)iLandmarks.Count(), KIteratorNumOfItemsErr);
+    
+    iter->Reset();
+    id = iter->NextL();
+    while (id != KPosLmNullItemId)
+        {
+        CPosLandmark* source = InternalGet(id);
+        AssertTrueSecL(source != NULL, KIteratorIdErr);
+        
+        CPosLandmark* target = iDatabase->ReadLandmarkLC(id);
+        CompareLandmarksL(*source, *target);
+        CleanupStack::PopAndDestroy(); // target
+
+        id = iter->NextL();
+        }
+
+    AssertTrueSecL(iter->NumOfItemsL() == (TUint)iLandmarks.Count(), KIteratorNumOfItemsErr);
+
+    CleanupStack::PopAndDestroy(iter);
+    }
+
+// ---------------------------------------------------------
+// CPosTp9::IterateSetOfLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp9::IterateSetOfLandmarksL()
+    {
+    iLog->Log(_L("IterateSetOfLandmarksL"));
+    CPosLmItemIterator* iter = iDatabase->LandmarkIteratorL();
+    CleanupStack::PushL(iter);
+
+    const TInt startIndex=5;
+    const TInt numOfItems=20;
+
+    RArray<TPosLmItemId> ids;
+    CleanupClosePushL(ids);
+
+    iter->GetItemIdsL(ids, startIndex, numOfItems);
+    
+    AssertTrueSecL(ids.Count() == numOfItems, KIteratorNumOfItemsErr);
+
+    for (TInt i=0; i<numOfItems; i++)
+        {
+        CPosLandmark* source = InternalGet(ids[i]);
+        AssertTrueSecL(source != NULL, KIteratorIdErr);
+        
+        CPosLandmark* target = iDatabase->ReadLandmarkLC(ids[i]);
+        CompareLandmarksL(*source, *target);
+        CleanupStack::PopAndDestroy(); // target
+        }
+
+    CleanupStack::PopAndDestroy(2, iter);
+    }
+
+// ---------------------------------------------------------
+// CPosTp9::InternalSort
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt InternalSortL(const CPosLandmark& aSource, const CPosLandmark& aTarget)
+    {
+    TPtrC sourceName, targetName;
+    
+    User::LeaveIfError(aSource.GetLandmarkName(sourceName));  
+    User::LeaveIfError(aTarget.GetLandmarkName(targetName));
+    
+    return sourceName.Compare(targetName);
+    }
+    
+// ---------------------------------------------------------
+// CPosTp9::IterateLandmarksL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp9::IterateSortedLandmarksL()
+    {  
+    iLog->Log(_L("IterateSortedLandmarksL")); 
+    CheckIteratorArgL(CPosLandmark::EPosition);
+    CheckIteratorArgL(CPosLandmark::ECoverageRadius);
+    CheckIteratorArgL(CPosLandmark::ECategoryInfo);
+    CheckIteratorArgL(CPosLandmark::EIcon);
+    CheckIteratorArgL(CPosLandmark::EDescription);
+    
+    TLinearOrder<CPosLandmark> order(InternalSortL);
+    iLandmarks.Sort(order);
+
+    TPosLmSortPref sortDesc(CPosLandmark::ELandmarkName, TPosLmSortPref::EDescending);
+    CPosLmItemIterator* iter = iDatabase->LandmarkIteratorL(sortDesc);
+    CleanupStack::PushL(iter);
+
+    AssertTrueSecL(iter->NumOfItemsL() == (TUint)iLandmarks.Count(), KIteratorNumOfItemsErr);
+
+    TInt lastIndex=iLandmarks.Count()-1;
+    for (TInt i=lastIndex; i>=0; i--)
+        {
+        CPosLandmark* target = iDatabase->ReadLandmarkLC(iter->NextL());
+       
+        CompareLandmarksL(*iLandmarks[i], *target);
+        CleanupStack::PopAndDestroy(); // target
+        }
+    CleanupStack::PopAndDestroy(iter);
+
+    TPosLmSortPref sortAsc(CPosLandmark::ELandmarkName, TPosLmSortPref::EAscending);
+    iter = iDatabase->LandmarkIteratorL(sortAsc);
+    CleanupStack::PushL(iter);
+
+    for (TInt j=0; j < iLandmarks.Count(); j++)
+        {
+        CPosLandmark* target = iDatabase->ReadLandmarkLC(iter->NextL());
+       
+        CompareLandmarksL(*iLandmarks[j], *target);
+        CleanupStack::PopAndDestroy(); // target
+        }
+
+    CleanupStack::PopAndDestroy(iter);
+    iLog->Log(_L("IterateSortedLandmarksL completed"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp9::
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp9::CheckIteratorArgL(const CPosLandmark::TAttributes& aAttr)
+    {
+    _LIT(KSortByNameErr, "Only sorting by landmark name should be supported");
+    iLog->Log(_L("CheckIteratorArgL")); 
+    TPosLmSortPref sortPref(aAttr);
+    CPosLmItemIterator* iter = NULL;
+    TRAPD(err, iter = iDatabase->LandmarkIteratorL(sortPref));
+    delete iter;
+    AssertTrueSecL(err==KErrNotSupported, KSortByNameErr);
+    }
+
+// ---------------------------------------------------------
+// CPosTp9::InternalGet
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+CPosLandmark* CPosTp9::InternalGet(TPosLmItemId id)
+    {
+    for (TInt i=0; i<iLandmarks.Count(); i++)
+        {   
+        if (iLandmarks[i]->LandmarkId() == id)
+            {
+            return iLandmarks[i];
+            }
+        }
+  
+    return NULL;
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CSearchResult.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,201 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include <e32math.h>
+#include <e32svr.h>
+#include <e32std.h>
+#include "FT_CSearchResult.h"
+
+//CONSTANTS
+const TInt KMaxFieldLength = 80;
+const TInt KMaxLineLength=255;
+
+
+
+// C++ Constructor 
+CSearchResult::CSearchResult() 
+    {
+    }
+
+CSearchResult* CSearchResult::NewL(const TDesC& aDes) 
+    {
+    CSearchResult* self = new(ELeave) CSearchResult;
+    CleanupStack::PushL(self);
+    self->ConstructL(aDes);
+    CleanupStack::Pop();
+    return self;
+    }
+
+// C++ destructor 
+CSearchResult::~CSearchResult() 
+    {
+    delete iTextCriteria;
+    iTextCriteria = NULL;
+     
+    iPositionFields.Close();
+    }
+
+void CSearchResult::ConstructL(const TDesC& aDes) 
+    {
+    TLex line(aDes);
+    line.Mark();
+    TInt redefined=0;
+
+    if (line.Peek() != '#' && line.Peek() != '\t')
+        { 
+        TInt index=0;
+        while (line.Peek() != '\n' && !(line.Peek()).Eos())
+            {
+            line.Inc();
+            if (line.Peek() == '\t')
+                {
+                TPtrC token = line.MarkedToken();
+                TLex val(token);              
+                switch(index)
+                    {
+                    case ETextCriteria:
+                        iTextCriteria = token.AllocL();
+                        break;
+                    case EAttributes:
+                        ParseAttributesL(token);
+                        break;
+                    case EPositionFields:
+                        ParsePositionFields(token);
+                        break;
+                    case ELmSearchResult:
+                        ParseSearchResult(token);
+                        break;
+                    case ERedefined:
+                        val.Val(redefined);
+                        if (redefined == 1)
+                            {
+                            iRedefined = ETrue;
+                            }
+                        break;
+                    }    
+                line.Inc();
+                while (line.Peek() == '\t') // Empty value
+                    {
+                    line.Inc();
+                    ++index;
+                    }
+                line.Mark();
+                ++index;
+                }
+            }  
+        }
+    //Print();
+    }   
+
+
+// ---------------------------------------------------------
+// CSearchResult::ParsePositionFields()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CSearchResult::ParsePositionFields(const TDesC& aDes)
+    {    
+    TLex line(aDes);
+    line.Mark();
+    TInt value=0;
+  
+    while (!(line.Peek()).Eos())    
+        {
+        line.Inc();
+        if (line.Peek() == ',' || (line.Peek()).Eos())
+            {
+            TPtrC token = line.MarkedToken();
+            TLex val(token);
+            val.Val(value);
+            iPositionFields.Append(value);
+            
+            if (line.Peek() == ',')
+                {
+                line.Inc();
+                line.Mark();
+                }
+            }
+        }
+    }
+
+// ---------------------------------------------------------
+// CSearchResult::Print()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CSearchResult::Print()
+    {
+    TBuf<KMaxLineLength> print;
+    
+    TChar del(',');
+      
+    print.Append(*iTextCriteria);
+    print.Append(del);
+
+    TBuf<KMaxFieldLength> info;
+    _LIT(KAttrInfo, "%x");
+    info.Format(KAttrInfo, iAttributes);
+    print.Append(info);
+    print.Append(del);
+
+    _LIT(KIntInfo, "%d");
+    TInt i=0;
+    for (i=0; i<iPositionFields.Count(); i++)
+        {
+        info.Format(KIntInfo, iPositionFields[i]);
+        print.Append(info);
+        print.Append(del);
+        }
+    
+    for (i=0; i<iSearchResult.Count(); i++)
+        {
+        info.Format(KIntInfo, iSearchResult[i]);
+        print.Append(info);
+        print.Append(del);
+        }
+
+    RDebug::Print(print);
+    }
+
+// ---------------------------------------------------------
+// CSearchResult::TextCriteria()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TPtrC CSearchResult::TextCriteria() const
+    {
+    return *iTextCriteria;
+    }
+
+// ---------------------------------------------------------
+// CSearchResult::PositionFields
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+const RArray<TUint>& CSearchResult::PositionFields() const
+    {
+    return iPositionFields;
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CSearchResultBase.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,155 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include <e32math.h>
+#include <e32svr.h>
+#include <e32std.h>
+#include "FT_CSearchResultBase.h"
+
+//CONSTANTS
+
+// C++ Constructor 
+CSearchResultBase::CSearchResultBase() :
+    iRedefined(EFalse)
+    {
+    
+    }
+   
+// C++ destructor 
+CSearchResultBase::~CSearchResultBase() 
+    {  
+    iSearchResult.Close();
+    }
+
+
+// ---------------------------------------------------------
+// CSearchResultBase::ParseSearchResult()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CSearchResultBase::ParseSearchResult(const TDesC& aDes)
+    {
+    TLex line(aDes);
+    line.Mark();
+    TInt startValue=0;
+    TInt endValue=0;
+    
+    while (!(line.Peek()).Eos())
+        {
+        line.Inc();
+    
+        if (line.Peek() == ',' || line.Peek() == '-' || (line.Peek()).Eos())
+            {
+            TPtrC token = line.MarkedToken();
+            TLex val(token);
+            val.Val(startValue);
+            iSearchResult.Append(startValue);
+            if (line.Peek() == '-')
+                {
+                line.Inc();
+                line.Mark();
+                while (line.Peek() != ',' && !(line.Peek()).Eos())
+                    {
+                    line.Inc();               
+                    }
+                TPtrC endToken = line.MarkedToken();
+                TLex endVal(endToken);
+                endVal.Val(endValue);
+                for (TInt i=startValue+1; i<=endValue; i++)
+                    {
+                    iSearchResult.Append(i);
+                    }
+                }
+             if (line.Peek() == ',')
+                {
+                line.Inc();
+                line.Mark();
+                }
+            }
+        }
+    }
+
+// ---------------------------------------------------------
+// CSearchResultBase::ParseAttribute()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CSearchResultBase::ParseAttributesL(const TDesC& aDes)
+    {
+    TLex line(aDes);
+    line.Inc();
+    line.Inc();
+    User::LeaveIfError(line.Val(iAttributes, EHex));
+    }
+
+// ---------------------------------------------------------
+// CSearchResultBase::Attributes
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TUint CSearchResultBase::Attributes() const
+    {
+    return iAttributes;  
+    }
+
+// ---------------------------------------------------------
+// CSearchResultBase::SearchResult
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+RArray<TPosLmItemId>& CSearchResultBase::SearchResult() 
+    {
+    return iSearchResult;
+    }
+
+// ---------------------------------------------------------
+// CSearchResultBase::Redefined
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TBool CSearchResultBase::Redefined() const
+    {
+    return iRedefined;
+    }
+
+// ---------------------------------------------------------
+// CSearchResultBase::FindSearchResult
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TBool CSearchResultBase::FindSearchResult(const TPosLmItemId aId)
+    {
+    for (TInt i=0; i<iSearchResult.Count(); i++)
+        {
+            if (iSearchResult[i] == aId)
+                {
+                return ETrue;
+                }
+        }
+    return EFalse;
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_DatabaseUtility.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,353 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+// INCLUDE FILES
+#include <f32file.h>
+#include "FT_DatabaseUtility.h"
+
+#include <D32DBMS.H>
+
+#include <EPos_Landmarks.h>
+// CONSTANTS
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// Code below taken from EPos_PosLmDatabaseManager.cpp
+// -----------------------------------------------------------------------------
+// FTDatabaseUtility::CreateDatabaseL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void FTDatabaseUtility::CreateDatabaseL(const TDesC& aDbPath, TBool aReplaceDatabase, TBool aWrongId, TBool aCreateInvalidIndex)
+    {
+    RDbs dbSession;
+    CleanupClosePushL(dbSession);
+
+    User::LeaveIfError(dbSession.Connect());
+
+    TPtrC dbPath(aDbPath);
+    
+
+    RDbNamedDatabase db;
+    CleanupClosePushL(db);
+
+    
+    TUid KPosSecureUidWrongId = { 0x10204058 };
+    _LIT(KWrongIdString, "secure[10204058]");
+    
+    if (aReplaceDatabase)
+        {
+        TInt err =KErrNone;
+        
+        if (!aWrongId) err = dbSession.DeleteDatabase(dbPath, KPosLmDbSecureUid);
+        else err = dbSession.DeleteDatabase(dbPath, KPosSecureUidWrongId);
+        
+        if (err == KErrNone || err == KErrNotFound)
+            {
+            if (!aWrongId) User::LeaveIfError(db.Create(dbSession, dbPath, KPosLmDbSecureFormat));
+            else User::LeaveIfError(db.Create(dbSession, dbPath, KWrongIdString));
+            }
+        else
+            {
+            User::Leave(err);
+            }
+        }
+    else
+        {
+        if (!aWrongId) 
+        {
+		User::LeaveIfError(db.Create(dbSession, dbPath, KPosLmDbSecureFormat));
+		
+        }
+        else User::LeaveIfError(db.Create(dbSession, dbPath, KWrongIdString));
+        }
+        
+    CreateTablesL(db, aCreateInvalidIndex);
+    
+    CreateIndexesL(db);
+    
+    SetCounterToOneL(db, KPosLmLandmarkTable);
+    SetCounterToOneL(db, KPosLmCategoryTable);
+
+    // The settings table is created last so that a database can be validated 
+    // when opening it (there will be a check for language there which is a 
+    // part of the settings table).
+    CreateSettingsTableL(db);
+
+    CleanupStack::PopAndDestroy(2, &dbSession); // &db
+    }
+
+// -----------------------------------------------------------------------------
+// FTDatabaseUtility::CreateTablesL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void FTDatabaseUtility::CreateTablesL(
+    RDbNamedDatabase& aDb, TBool aCreateInvalidIndex)
+    {
+    CreateLandmarkTableL(aDb, aCreateInvalidIndex);
+    CreateLandmarkFieldTableL(aDb);
+    CreateCategoryTableL(aDb, aCreateInvalidIndex);
+    CreateLmCategoryTableL(aDb);
+    CreateIconTableL(aDb);
+
+    // Do not create settings table here. This is created in the end so that the
+    // database can be validated when opening it.
+    }
+
+// -----------------------------------------------------------------------------
+// FTDatabaseUtility::CreateLandmarkTableL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void FTDatabaseUtility::CreateLandmarkTableL(
+    RDbNamedDatabase& aDb, TBool aCreateInvalidIndex)
+    {
+    CDbColSet* columns = CDbColSet::NewLC();
+
+    TDbCol col(KPosLmLandmarkIdCol, EDbColUint32);
+    col.iAttributes = col.EAutoIncrement;
+    columns->AddL(col);
+
+    columns->AddL(TDbCol(KPosLmLatitudeCol, EDbColReal64));
+    columns->AddL(TDbCol(KPosLmLongitudeCol, EDbColReal64));
+    columns->AddL(TDbCol(KPosLmAltitudeCol, EDbColReal32));
+        	
+    // Dont create the following tables when creating invalid table
+    if (!aCreateInvalidIndex)
+    	{
+    	columns->AddL(TDbCol(KPosLmHorizAccCol, EDbColReal32));
+        columns->AddL(TDbCol(KPosLmVertAccCol, EDbColReal32));
+        columns->AddL(TDbCol(KPosLmCoverageRadiusCol, EDbColReal32));
+        columns->AddL(TDbCol(KPosLmIconIdCol, EDbColUint32));
+		columns->AddL(TDbCol(KPosLmIconPicNrCol, EDbColInt32));
+        columns->AddL(TDbCol(KPosLmMaskPicNrCol, EDbColInt32));
+	    columns->AddL(TDbCol(KPosLmNameCol, EDbColLongText, 
+        	KPosLmMaxTextFieldLength));
+    	}
+	
+    columns->AddL(TDbCol(KPosLmNDescCol, EDbColLongText, 
+        	KPosLmMaxDescriptionLength));
+
+    User::LeaveIfError(aDb.CreateTable(KPosLmLandmarkTable, *columns));
+    CleanupStack::PopAndDestroy(columns);
+    }
+
+// -----------------------------------------------------------------------------
+// FTDatabaseUtility::CreateLandmarkFieldTableL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void FTDatabaseUtility::CreateLandmarkFieldTableL(
+    RDbNamedDatabase& aDb)
+    {
+    CDbColSet* columns = CDbColSet::NewLC();
+
+    TDbCol col(KPosLmLandmarkIdCol, EDbColUint32);
+    col.iAttributes = col.ENotNull;
+    columns->AddL(TDbCol(col));
+
+    TDbCol col2(KPosLmFieldTypeCol, EDbColUint16);
+    col2.iAttributes = col2.ENotNull;
+    columns->AddL(col2);
+
+    columns->AddL(TDbCol(KPosLmFieldStringCol, EDbColLongText,
+        KPosLmMaxTextFieldLength));
+
+    User::LeaveIfError(aDb.CreateTable(KPosLmLandmarkFieldTable, *columns));
+    CleanupStack::PopAndDestroy(columns);
+    }
+
+// -----------------------------------------------------------------------------
+// FTDatabaseUtility::CreateCategoryTableL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void FTDatabaseUtility::CreateCategoryTableL(
+    RDbNamedDatabase& aDb, TBool aCreateInvalidIndex)
+    {
+    CDbColSet* columns = CDbColSet::NewLC();
+    
+    TDbCol col(KPosLmCategoryIdCol, EDbColUint32);
+    col.iAttributes = col.EAutoIncrement;
+    columns->AddL(col);
+
+    columns->AddL(TDbCol(KPosLmGlobalCategoryIdCol, EDbColUint16));
+    columns->AddL(TDbCol(KPosLmIconIdCol, EDbColUint32));
+    columns->AddL(TDbCol(KPosLmIconPicNrCol, EDbColInt32));
+    columns->AddL(TDbCol(KPosLmMaskPicNrCol, EDbColInt32));
+    columns->AddL(TDbCol(KPosLmCategoryNameCol, EDbColText, 
+        KPosLmMaxCategoryNameLength));
+
+    // Dont create the following tables when creating invalid table
+    if (!aCreateInvalidIndex)
+    	{
+        columns->AddL(TDbCol(KPosLmCategoryNameModifiedCol, EDbColBit));
+        }
+
+    User::LeaveIfError(aDb.CreateTable(KPosLmCategoryTable, *columns));
+    CleanupStack::PopAndDestroy(columns);
+    }
+
+// -----------------------------------------------------------------------------
+// FTDatabaseUtility::CreateLmCategoryTableL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void FTDatabaseUtility::CreateLmCategoryTableL(
+    RDbNamedDatabase& aDb)
+    {
+    CDbColSet* columns = CDbColSet::NewLC();
+
+    TDbCol col(KPosLmLandmarkIdCol, EDbColUint32);
+    col.iAttributes = col.ENotNull;
+    columns->AddL(col);
+
+    TDbCol col2(KPosLmCategoryIdCol, EDbColUint32);
+    col2.iAttributes = col2.ENotNull;
+    columns->AddL(col2);
+
+    User::LeaveIfError(aDb.CreateTable(KPosLmLandmarkCategoryTable, *columns));
+    CleanupStack::PopAndDestroy(columns);
+    }
+
+// -----------------------------------------------------------------------------
+// FTDatabaseUtility::CreateIconTableL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void FTDatabaseUtility::CreateIconTableL(
+    RDbNamedDatabase& aDb)
+    {
+    CDbColSet* columns = CDbColSet::NewLC();
+
+    TDbCol col(KPosLmIconIdCol, EDbColUint32);
+    col.iAttributes = col.EAutoIncrement;
+    columns->AddL(col);
+
+    columns->AddL(TDbCol(KPosLmIconPathCol, EDbColLongText, KMaxFileName));
+
+    User::LeaveIfError(aDb.CreateTable(KPosLmIconTable, *columns));
+    CleanupStack::PopAndDestroy(columns);
+    }
+
+// -----------------------------------------------------------------------------
+// FTDatabaseUtility::CreateSettingsTableL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void FTDatabaseUtility::CreateSettingsTableL(
+    RDbNamedDatabase& aDb)
+    {
+    CDbColSet* columns = CDbColSet::NewLC();
+
+    columns->AddL(TDbCol(KPosLmLanguageCol, EDbColInt32));
+    columns->AddL(TDbCol(KPosLmInitFlagCol, EDbColInt32));
+
+    User::LeaveIfError(aDb.CreateTable(KPosLmSettingsTable, *columns));
+    CleanupStack::PopAndDestroy(columns);
+    }
+
+// -----------------------------------------------------------------------------
+// FTDatabaseUtility::CreateIndexesL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void FTDatabaseUtility::CreateIndexesL(
+    RDbNamedDatabase& aDb)
+    {
+    CreateIndexL(aDb, KPosLmLandmarkIdIndex, KPosLmLandmarkTable, 
+        KPosLmLandmarkIdCol, ETrue);
+    CreateIndexL(aDb, KPosLmCategoryIdIndex, KPosLmCategoryTable, 
+        KPosLmCategoryIdCol, ETrue);
+    CreateIndexL(aDb, KPosLmGlobalCategoryIdIndex, KPosLmCategoryTable, 
+        KPosLmGlobalCategoryIdCol, EFalse);
+    CreateIndexL(aDb, KPosLmCategoryNameIndex, KPosLmCategoryTable, 
+        KPosLmCategoryNameCol, ETrue);
+    CreateIndexL(aDb, KPosLmIconIdIndex, KPosLmIconTable, 
+        KPosLmIconIdCol, ETrue);
+    }
+
+// -----------------------------------------------------------------------------
+// FTDatabaseUtility::CreateIndexL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void FTDatabaseUtility::CreateIndexL(
+    RDbNamedDatabase& aDb,
+    const TDesC& aIndex, 
+    const TDesC& aTable,
+    const TDesC& aColumn,
+    TBool aUnique)
+    {
+    CDbKey* keys = CDbKey::NewLC();
+    keys->AddL(TDbKeyCol(aColumn));
+
+    if (aUnique)
+        {
+        keys->MakeUnique();
+        }
+
+    User::LeaveIfError(aDb.CreateIndex(aIndex, aTable, *keys));
+    CleanupStack::PopAndDestroy(keys);
+    }
+
+// -----------------------------------------------------------------------------
+// FTDatabaseUtility::SetCounterToOneL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void FTDatabaseUtility::SetCounterToOneL(
+    RDbNamedDatabase& aDb, 
+    const TDesC& aTable)
+    {
+    HBufC* sql = HBufC::NewLC(KPosLmSqlStatementMaxLen);
+    sql->Des().Format(KPosLmSqlSelect, &KPosLmSqlAll, &aTable);
+
+    RDbView view;
+    CleanupClosePushL(view);
+    User::LeaveIfError(view.Prepare(aDb, TDbQuery(*sql), 
+        TDbWindow::EUnlimited));
+
+    view.InsertL();
+    view.PutL();
+
+    if (!view.FirstL())
+        {
+        User::Leave(KErrGeneral);
+        }
+
+    view.DeleteL();
+
+    CleanupStack::PopAndDestroy(2, sql); //&view
+    }
+
+
+//  End of File  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/LandMarksTestModule.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,113 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  ?Description
+*
+*/
+
+
+
+// INCLUDE FILES
+#include <Stiftestinterface.h>
+#include "LandMarksTestModule.h"
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CLandMarksTestModule::CLandMarksTestModule
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CLandMarksTestModule::CLandMarksTestModule( 
+    CTestModuleIf& aTestModuleIf ):
+        CScriptBase( aTestModuleIf )
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// CLandMarksTestModule::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CLandMarksTestModule::ConstructL()
+    {
+    iLog = CStifLogger::NewL( KLandMarksTestModuleLogPath, 
+                          KLandMarksTestModuleLogFile,
+                          CStifLogger::ETxt,
+                          CStifLogger::EFile,
+                          EFalse );
+
+    }
+
+// -----------------------------------------------------------------------------
+// CLandMarksTestModule::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CLandMarksTestModule* CLandMarksTestModule::NewL( 
+    CTestModuleIf& aTestModuleIf )
+    {
+    CLandMarksTestModule* self = new (ELeave) CLandMarksTestModule( aTestModuleIf );
+
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop();
+
+    return self;
+
+    }
+
+// Destructor
+CLandMarksTestModule::~CLandMarksTestModule()
+    { 
+
+    // Delete resources allocated from test methods
+    Delete();
+
+    // Delete logger
+    delete iLog; 
+
+    }
+
+// ========================== OTHER EXPORTED FUNCTIONS =========================
+
+// -----------------------------------------------------------------------------
+// LibEntryL is a polymorphic Dll entry point.
+// Returns: CScriptBase: New CScriptBase derived object
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CScriptBase* LibEntryL( 
+    CTestModuleIf& aTestModuleIf ) // Backpointer to STIF Test Framework
+    {
+
+    return ( CScriptBase* ) CLandMarksTestModule::NewL( aTestModuleIf );
+
+    }
+
+// -----------------------------------------------------------------------------
+// E32Dll is a DLL entry point function.
+// Returns: KErrNone
+// -----------------------------------------------------------------------------
+//
+#ifndef EKA2 // Hide Dll entry point to EKA2
+GLDEF_C TInt E32Dll(
+    TDllReason ) // Reason code
+    {
+    return(KErrNone);
+
+    }
+#endif // EKA2
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/LandMarksTestModuleBlocks.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,399 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  ?Description
+*
+*/
+
+
+
+// INCLUDE FILES
+#include <e32svr.h>
+#include <StifParser.h>
+#include <Stiftestinterface.h>
+#include "LandMarksTestModule.h"
+
+#include "FT_CPosTp1.h"
+#include "FT_CPosTp2.h"
+#include "FT_CPosTp3.h"
+#include "FT_CPosTp4.h"
+#include "FT_CPosTp5.h"
+#include "FT_CPosTp6.h"
+#include "FT_CPosTp7.h"
+#include "FT_CPosTp8.h"
+#include "FT_CPosTp9.h"
+
+#include "FT_CPosTp10.h"
+#include "FT_CPosTp11.h"
+#include "FT_CPosTp12.h"
+#include "FT_CPosTp13.h"
+#include "FT_CPosTp18.h"
+#include "FT_CPosTp19.h"
+
+#include "FT_CPosTp20.h"
+#include "FT_CPosTp21.h"
+#include "FT_CPosTp23.h"
+#include "FT_CPosTp24.h"
+#include "FT_CPosTp25.h"
+#include "FT_CPosTp26.h"
+#include "FT_CPosTp28.h"
+
+#include "FT_CPosTp35.h"
+#include "FT_CPosTp36.h"
+#include "FT_CPosTp37.h"
+#include "FT_CPosTp38.h"
+
+#include "FT_CPosTp42.h"
+#include "FT_CPosTp43.h"
+#include "FT_CPosTp44.h"
+#include "FT_CPosTp45.h"
+#include "FT_CPosTp47.h"
+#include "FT_CPosTp48.h"
+
+#include "FT_CPosTp51.h"
+#include "FT_CPosTp52.h"
+
+#include "FT_CPosTp100.h"
+#include "FT_CPosTp101.h"
+#include "FT_CPosTp102.h"
+#include "FT_CPosTp103.h"
+#include "FT_CPosTp104.h"
+#include "FT_CPosTp106.h"
+
+#include "FT_CPosTp116.h"
+#include "FT_CPosTp117.h"
+#include "FT_CPosTp118.h"
+#include "FT_CPosTp119.h"
+
+#include "FT_CPosTp120.h"
+#include "FT_CPosTp121.h"
+#include "FT_CPosTp122.h"
+#include "FT_CPosTp123.h"
+#include "FT_CPosTp124.h"
+#include "FT_CPosTp125.h"
+#include "FT_CPosTp126.h"
+
+#include "FT_CPosTp130.h"
+#include "FT_CPosTp131.h"
+#include "FT_CPosTp132.h"
+#include "FT_CPosTp134.h"
+#include "FT_CPosTp133.h"
+#include "FT_CPosTp135.h"
+#include "FT_CPosTp136.h"
+#include "FT_CPosTp137.h"
+#include "FT_CPosTp139.h"
+
+#include "FT_CPosTp141.h"
+#include "FT_CPosTp143.h"
+
+#include "FT_CPosTp144.h"
+#include "FT_CPosTp145.h"
+#include "FT_CPosTp146.h"
+#include "FT_CPosTp147.h"
+
+#include "FT_CPosTp148.h"
+#include "FT_CPosTp149.h"
+#include "FT_CPosTp150.h"
+#include "FT_CPosTp151.h"
+#include "FT_CPosTp152.h"
+#include "FT_CPosTp153.h"
+#include "FT_CPosTp154.h"
+#include "FT_CPosTp155.h"
+#include "FT_CPosTp156.h"
+#include "FT_CPosTp157.h"
+#include "FT_CPosTp158.h"
+#include "FT_CPosTp159.h"
+#include "FT_CPosTp160.h"
+
+#include "FT_CPosTp161.h"
+#include "FT_CPosTp162.h"
+#include "FT_CPosTp163.h"
+#include "FT_CPosTp164.h"
+
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CLandMarksTestModule::Delete
+// Delete here all resources allocated and opened from test methods.
+// Called from destructor.
+// -----------------------------------------------------------------------------
+//
+void CLandMarksTestModule::Delete()
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// CLandMarksTestModule::RunMethodL
+// Run specified method. Contains also table of test mothods and their names.
+// -----------------------------------------------------------------------------
+//
+TInt CLandMarksTestModule::RunMethodL(CStifItemParser& aItem )
+    {
+    	static TStifFunctionInfo const KFunctions[] =
+        {
+        // Copy this line for every implemented function.
+        // First string is the function name used in TestScripter script file.
+        // Second is the actual implementation member function.
+
+        ENTRY( "FT_CPosTp1", CLandMarksTestModule::FT_CPosTp1 ),
+        ENTRY( "FT_CPosTp2", CLandMarksTestModule::FT_CPosTp2 ),
+        ENTRY( "FT_CPosTp3", CLandMarksTestModule::FT_CPosTp3 ),
+        ENTRY( "FT_CPosTp4", CLandMarksTestModule::FT_CPosTp4 ),
+        ENTRY( "FT_CPosTp5", CLandMarksTestModule::FT_CPosTp5 ),
+        ENTRY( "FT_CPosTp6", CLandMarksTestModule::FT_CPosTp6 ),
+        ENTRY( "FT_CPosTp7", CLandMarksTestModule::FT_CPosTp7 ),
+        ENTRY( "FT_CPosTp8", CLandMarksTestModule::FT_CPosTp8 ),
+        ENTRY( "FT_CPosTp9", CLandMarksTestModule::FT_CPosTp9 ),
+        
+        ENTRY( "FT_CPosTp10", CLandMarksTestModule::FT_CPosTp10 ),
+        ENTRY( "FT_CPosTp11", CLandMarksTestModule::FT_CPosTp11 ),
+        ENTRY( "FT_CPosTp12", CLandMarksTestModule::FT_CPosTp12 ),
+        ENTRY( "FT_CPosTp13", CLandMarksTestModule::FT_CPosTp13 ),
+        ENTRY( "FT_CPosTp18", CLandMarksTestModule::FT_CPosTp18 ),
+        ENTRY( "FT_CPosTp19", CLandMarksTestModule::FT_CPosTp19 ),
+        
+        ENTRY( "FT_CPosTp20", CLandMarksTestModule::FT_CPosTp20 ),
+        ENTRY( "FT_CPosTp21", CLandMarksTestModule::FT_CPosTp21 ),
+        ENTRY( "FT_CPosTp23", CLandMarksTestModule::FT_CPosTp23 ),
+        ENTRY( "FT_CPosTp24", CLandMarksTestModule::FT_CPosTp24 ),
+        ENTRY( "FT_CPosTp25", CLandMarksTestModule::FT_CPosTp25 ),
+        ENTRY( "FT_CPosTp26", CLandMarksTestModule::FT_CPosTp26 ),
+        ENTRY( "FT_CPosTp28", CLandMarksTestModule::FT_CPosTp28 ),
+        
+        ENTRY( "FT_CPosTp35", CLandMarksTestModule::FT_CPosTp35 ),
+        ENTRY( "FT_CPosTp36", CLandMarksTestModule::FT_CPosTp36 ),
+        ENTRY( "FT_CPosTp37", CLandMarksTestModule::FT_CPosTp37 ),
+        ENTRY( "FT_CPosTp38", CLandMarksTestModule::FT_CPosTp38 ),
+        
+        ENTRY( "FT_CPosTp42", CLandMarksTestModule::FT_CPosTp42 ),
+        ENTRY( "FT_CPosTp43", CLandMarksTestModule::FT_CPosTp43 ),
+        ENTRY( "FT_CPosTp44", CLandMarksTestModule::FT_CPosTp44 ),
+        ENTRY( "FT_CPosTp45", CLandMarksTestModule::FT_CPosTp45 ),
+        ENTRY( "FT_CPosTp47", CLandMarksTestModule::FT_CPosTp47 ),
+        ENTRY( "FT_CPosTp48", CLandMarksTestModule::FT_CPosTp48 ),
+        
+        ENTRY( "FT_CPosTp51", CLandMarksTestModule::FT_CPosTp51 ),
+        ENTRY( "FT_CPosTp52", CLandMarksTestModule::FT_CPosTp52 ),
+        
+        ENTRY( "FT_CPosTp100", CLandMarksTestModule::FT_CPosTp100 ),
+        ENTRY( "FT_CPosTp101", CLandMarksTestModule::FT_CPosTp101 ),
+        ENTRY( "FT_CPosTp102", CLandMarksTestModule::FT_CPosTp102 ),
+        ENTRY( "FT_CPosTp103", CLandMarksTestModule::FT_CPosTp103 ),
+        ENTRY( "FT_CPosTp104", CLandMarksTestModule::FT_CPosTp104 ),
+        ENTRY( "FT_CPosTp106", CLandMarksTestModule::FT_CPosTp106 ),
+        
+        ENTRY( "FT_CPosTp116", CLandMarksTestModule::FT_CPosTp116 ),
+        ENTRY( "FT_CPosTp117", CLandMarksTestModule::FT_CPosTp117 ),
+        ENTRY( "FT_CPosTp118", CLandMarksTestModule::FT_CPosTp118 ),
+        ENTRY( "FT_CPosTp119", CLandMarksTestModule::FT_CPosTp119 ),
+        
+        ENTRY( "FT_CPosTp120", CLandMarksTestModule::FT_CPosTp120 ),
+        ENTRY( "FT_CPosTp121", CLandMarksTestModule::FT_CPosTp121 ),
+        ENTRY( "FT_CPosTp122", CLandMarksTestModule::FT_CPosTp122 ),
+        ENTRY( "FT_CPosTp123", CLandMarksTestModule::FT_CPosTp123 ),
+        ENTRY( "FT_CPosTp124", CLandMarksTestModule::FT_CPosTp124 ),
+        ENTRY( "FT_CPosTp125", CLandMarksTestModule::FT_CPosTp125 ),
+        ENTRY( "FT_CPosTp126", CLandMarksTestModule::FT_CPosTp126 ),
+        
+        ENTRY( "FT_CPosTp130", CLandMarksTestModule::FT_CPosTp130 ),
+        ENTRY( "FT_CPosTp131", CLandMarksTestModule::FT_CPosTp131 ),
+        ENTRY( "FT_CPosTp132", CLandMarksTestModule::FT_CPosTp132 ),
+        ENTRY( "FT_CPosTp133", CLandMarksTestModule::FT_CPosTp133 ),
+        ENTRY( "FT_CPosTp134", CLandMarksTestModule::FT_CPosTp134 ),
+        ENTRY( "FT_CPosTp135", CLandMarksTestModule::FT_CPosTp135 ),
+        ENTRY( "FT_CPosTp136", CLandMarksTestModule::FT_CPosTp136 ),
+        ENTRY( "FT_CPosTp137", CLandMarksTestModule::FT_CPosTp137 ),
+        ENTRY( "FT_CPosTp139", CLandMarksTestModule::FT_CPosTp139 ),
+        
+        ENTRY( "FT_CPosTp141", CLandMarksTestModule::FT_CPosTp141 ),
+        ENTRY( "FT_CPosTp143", CLandMarksTestModule::FT_CPosTp143 ),
+        ENTRY( "FT_CPosTp144", CLandMarksTestModule::FT_CPosTp144 ),
+        ENTRY( "FT_CPosTp145", CLandMarksTestModule::FT_CPosTp145 ),
+        ENTRY( "FT_CPosTp146", CLandMarksTestModule::FT_CPosTp146 ),
+        ENTRY( "FT_CPosTp147", CLandMarksTestModule::FT_CPosTp147 ),
+        
+        ENTRY( "FT_CPosTp148", CLandMarksTestModule::FT_CPosTp148 ),
+		ENTRY( "FT_CPosTp149", CLandMarksTestModule::FT_CPosTp149 ),
+		ENTRY( "FT_CPosTp150", CLandMarksTestModule::FT_CPosTp150 ),
+		ENTRY( "FT_CPosTp151", CLandMarksTestModule::FT_CPosTp151 ),
+		ENTRY( "FT_CPosTp152", CLandMarksTestModule::FT_CPosTp152 ),
+		ENTRY( "FT_CPosTp153", CLandMarksTestModule::FT_CPosTp153 ),
+		ENTRY( "FT_CPosTp154", CLandMarksTestModule::FT_CPosTp154 ),
+		ENTRY( "FT_CPosTp155", CLandMarksTestModule::FT_CPosTp155 ),
+		ENTRY( "FT_CPosTp156", CLandMarksTestModule::FT_CPosTp156 ),
+		ENTRY( "FT_CPosTp157", CLandMarksTestModule::FT_CPosTp157 ),
+		ENTRY( "FT_CPosTp158", CLandMarksTestModule::FT_CPosTp158 ),
+		ENTRY( "FT_CPosTp159", CLandMarksTestModule::FT_CPosTp159 ),
+		ENTRY( "FT_CPosTp160", CLandMarksTestModule::FT_CPosTp160 ),
+      
+      	ENTRY( "FT_CPosTp161", CLandMarksTestModule::FT_CPosTp161 ),
+      	ENTRY( "FT_CPosTp162", CLandMarksTestModule::FT_CPosTp162 ),
+      	ENTRY( "FT_CPosTp163", CLandMarksTestModule::FT_CPosTp163 ),
+      	ENTRY( "FT_CPosTp164", CLandMarksTestModule::FT_CPosTp164 ),
+
+        };
+
+    const TInt count = sizeof( KFunctions ) / sizeof( TStifFunctionInfo );
+
+    return RunInternalL( KFunctions, count, aItem );
+    }
+
+// -----------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
+//
+void CLandMarksTestModule::RunTestProcedureL( 
+    CLandmarkTestProcedureBase* tp,
+    CStifItemParser* aItem )
+    {
+    TBuf<128> buf;
+    TInt tpId = tp->iModuleId;
+    
+    CleanupStack::PushL( tp );
+
+    _LIT(KTestInit, "---- Initializing TP %d ------");
+    buf.Format( KTestInit, tpId );
+    iLog->Log( buf );
+    tp->InitTestL();
+
+    _LIT(KTestStart, "---- Starting TP %d ------");
+    buf.Format( KTestStart, tpId );
+    iLog->Log( buf );
+    if ( aItem )
+        tp->StartL( *aItem );
+    else
+        tp->StartL();
+
+    _LIT(KTestClose, "---- Closing TP %d ------");
+    buf.Format( KTestClose, tpId );
+    iLog->Log( buf );
+    tp->CloseTest();
+
+    CleanupStack::PopAndDestroy( tp );
+    _LIT(KTestDestroy, "---- Destroyed TP %d ------");
+    buf.Format( KTestDestroy, tpId );
+    iLog->Log( buf );
+    }
+
+// -----------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
+//
+template <class T>
+TInt CLandMarksTestModule::TestProcedure( TInt aId, CStifItemParser& )
+    {
+    iLog->Log(_L("---- Creating TP %d ------"), aId);
+    T* tp = new (ELeave) T( aId, iLog );
+    TRAPD( err, RunTestProcedureL( tp ) );
+    return err;
+    }
+
+#define DEF_TP(_id) \
+TInt CLandMarksTestModule::FT_CPosTp##_id( CStifItemParser& aItem ) \
+    { return TestProcedure<CPosTp##_id>( _id, aItem ); }
+
+DEF_TP(1)
+DEF_TP(2)
+DEF_TP(3)
+DEF_TP(4)
+DEF_TP(5)
+DEF_TP(6)
+DEF_TP(7)
+DEF_TP(8)
+DEF_TP(9)
+
+DEF_TP(10)
+DEF_TP(11)
+DEF_TP(12)
+DEF_TP(13)
+DEF_TP(18)
+DEF_TP(19)
+
+DEF_TP(20)
+DEF_TP(21)
+DEF_TP(23)
+DEF_TP(24)
+DEF_TP(25)
+DEF_TP(26)
+DEF_TP(28)
+
+DEF_TP(35)
+DEF_TP(36)
+DEF_TP(37)
+DEF_TP(38)
+
+DEF_TP(42)
+DEF_TP(43)
+DEF_TP(44)
+DEF_TP(45)
+DEF_TP(47)
+DEF_TP(48)
+
+DEF_TP(51)
+DEF_TP(52)
+
+DEF_TP(100)
+DEF_TP(101)
+DEF_TP(102)
+DEF_TP(103)
+DEF_TP(104)
+DEF_TP(106)
+
+DEF_TP(116)
+DEF_TP(117)
+DEF_TP(118)
+DEF_TP(119)
+
+DEF_TP(120)
+DEF_TP(121)
+DEF_TP(122)
+DEF_TP(123)
+DEF_TP(124)
+DEF_TP(125)
+DEF_TP(126)
+
+DEF_TP(130)
+DEF_TP(131)
+DEF_TP(132)
+DEF_TP(133)
+DEF_TP(134)
+DEF_TP(135)
+DEF_TP(136)
+DEF_TP(137)
+DEF_TP(139)
+
+DEF_TP(141)
+DEF_TP(143)
+DEF_TP(144)
+DEF_TP(145)
+DEF_TP(146)
+DEF_TP(147)
+
+DEF_TP(148)
+DEF_TP(149)
+DEF_TP(150)
+DEF_TP(151)
+DEF_TP(152)
+DEF_TP(153)
+DEF_TP(154)
+DEF_TP(155)
+DEF_TP(156)
+DEF_TP(157)
+DEF_TP(158)
+DEF_TP(159)
+DEF_TP(160)
+
+DEF_TP(161)
+DEF_TP(162)
+DEF_TP(163)
+DEF_TP(164)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkURL/Bmarm/CUTLandmarkURLu.def	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,3 @@
+EXPORTS
+	LibEntryL__FR13CTestModuleIf @ 1 NONAME R3UNUSED ; LibEntryL(CTestModuleIf &)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkURL/Bwins/CUTLandmarkURLu.def	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,3 @@
+EXPORTS
+	?LibEntryL@@YAPAVCScriptBase@@AAVCTestModuleIf@@@Z @ 1 NONAME ; class CScriptBase * __cdecl LibEntryL(class CTestModuleIf &)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkURL/conf/CUTLandmarkURL.cfg	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,209 @@
+// Definitions
+[Define]
+Parser 0
+Encoder 1
+TenEncoder 2
+Buffer 0
+File 1
+EmptyFile 2
+EmptyBuffer 3
+TestPanic 1
+Accommodation 3000 
+Businesses 6000 
+TeleCommunication 9000 
+Educational 12000
+Entertainment 15000 
+Food_Beverage 18000
+GeographicalArea 21000
+Outdoor 24000
+People 27000
+PublicService 30000
+Religious 33000
+Shopping 36000
+Sightseeing 39000
+Sports 42000
+Transport 45000
+TEST_NULL_NAME 1
+TEST_NULL_STREET 2
+TEST_NULL_HNO 3
+TEST_NULL_POSTALCODE 4
+TEST_NULL_CITY 5
+TEST_NULL_STATE 6
+TEST_NULL_COUNTRY 7
+TEST_NULL_TELEPHONE 8
+TEST_NULL_WEB 9
+TEST_NULL_DESCRIPTION 10
+TEST_MAXLENGTH_NAME 11
+TEST_MAXLENGTH1_NAME 12
+TEST_MAXLENGTH2_NAME 13
+TEST_MAXLENGTH_STREET 14
+TEST_MAXLENGTH1_STREET 15
+TEST_MAXLENGTH2_STREET 16
+TEST_MAXLENGTH_HNO 17
+TEST_MAXLENGTH1_HNO 18
+TEST_MAXLENGTH2_HNO 19
+TEST_MAXLENGTH_POSTALCODE 20
+TEST_MAXLENGTH1_POSTALCODE 21
+TEST_MAXLENGTH2_POSTALCODE 22
+TEST_MAXLENGTH_CITY 23
+TEST_MAXLENGTH1_CITY 24
+TEST_MAXLENGTH2_CITY 25
+TEST_MAXLENGTH_STATE 26
+TEST_MAXLENGTH1_STATE 27
+TEST_MAXLENGTH2_STATE 28
+TEST_MAXLENGTH_COUNTRY 29
+TEST_MAXLENGTH1_COUNTRY 30
+TEST_MAXLENGTH2_COUNTRY 31
+TEST_MAXLENGTH_TELEPHONE 32
+TEST_MAXLENGTH1_TELEPHONE 33
+TEST_MAXLENGTH2_TELEPHONE 34
+TEST_MAXLENGTH_WEB 35
+TEST_MAXLENGTH1_WEB 36
+TEST_MAXLENGTH2_WEB 37
+TEST_MAXLENGTH_DESCRIPTION 38
+TEST_MAXLENGTH1_DESCRIPTION 39
+TEST_MAXLENGTH2_DESCRIPTION 40
+[Enddefine]
+
+[Test]
+title Create_Encoder
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CleanUp
+delete foobar
+[Endtest] 
+
+[Test]
+title Create_MULTIPLE_Encoder
+create CUTLandmarkURL foobar
+foobar CreateInstanceL TenEncoder
+foobar CleanUp
+delete foobar
+[Endtest] 
+
+[Test]
+title EncodeToBuffer
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL NAME= " Nokia India " LMDESCRIPTION= " This is an Example " VERT_ACC= 3.1234567 HACCURACY= 12.000009 LATITUDE= 85.10 LONGITUDE= 101.102 ALTITUDE= 100  SPEED= 5.12 HEADING= 90 COUNTRY= " India " STATE= " Karnataka " CITY= " Bangalore " STREET= " Outer Ring Road " POSTALCODE= " 560 103 " HOUSENO.= " 2A Jupiter Block " TELEPHONE= " +91-9902019801 " CATEGORY= Businesses WEB= " www.nokia.com " PID= " 1234 " TS= " 20090430:120000.100000 "
+foobar SetOutputBuffer
+foobar AddLandmark
+foobar FinalizeEncoding
+foobar VerifyEncoding Buffer 20 NAME= " Nokia%20India " LMDESCRIPTION= " This%20is%20an%20Example " VERT_ACC= 3.12 HACCURACY= 12.00 LATITUDE= 85.100000 LONGITUDE= 101.102000 ALTITUDE= 100.00  SPEED= 5.12 HEADING= 90.00 COUNTRY= " India " STATE= " Karnataka " CITY= " Bangalore " STREET= " Outer%20Ring%20Road " POSTALCODE= " 560%20103 " HOUSENO.= " 2A%20Jupiter%20Block " TELEPHONE= " %2b91%2d9902019801 " CATEGORY= " Business " WEB= " www%2enokia%2ecom " PID= " 1234 " TS= " 20090430:120000.100000 "
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title EncodeToFile
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL NAME= " Nokia India " LMDESCRIPTION= " This is an Example " VERT_ACC= 3.1234567 HACCURACY= 12.000009 LATITUDE= 85.10 LONGITUDE= 101.102 ALTITUDE= 100  SPEED= 5.12 HEADING= 90 COUNTRY= " India " STATE= " Karnataka " CITY= " Bangalore " STREET= " Outer Ring Road " POSTALCODE= " 560 103 " HOUSENO.= " 2A Jupiter Block " TELEPHONE= " +91-9902019801 " CATEGORY= Businesses WEB= " www.nokia.com " PID= " 1234 " TS= " 20090430:120000.100000 "
+foobar SetOutputFileHandle
+foobar AddLandmark
+foobar FinalizeEncoding
+foobar VerifyEncoding File 20 NAME= " Nokia%20India " LMDESCRIPTION= " This%20is%20an%20Example " VERT_ACC= 3.12 HACCURACY= 12.00 LATITUDE= 85.100000 LONGITUDE= 101.102000 ALTITUDE= 100.00  SPEED= 5.12 HEADING= 90.00 COUNTRY= " India " STATE= " Karnataka " CITY= " Bangalore " STREET= " Outer%20Ring%20Road " POSTALCODE= " 560%20103 " HOUSENO.= " 2A%20Jupiter%20Block " TELEPHONE= " %2b91%2d9902019801 " CATEGORY= " Business " WEB= " www%2enokia%2ecom " PID= " 1234 " TS= " 20090430:120000.100000 "
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title TestAddCategory
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL NAME= " Nokia India " LMDESCRIPTION= " This is an Example " VERT_ACC= 3.1234567 HACCURACY= 12.000009 LATITUDE= 85.10 LONGITUDE= 101.102 ALTITUDE= 100  SPEED= 5.12 HEADING= 90 COUNTRY= " India " STATE= " Karnataka " CITY= " Bangalore " STREET= " Outer Ring Road " POSTALCODE= " 560 103 " HOUSENO.= " 2A Jupiter Block " TELEPHONE= " +91-9902019801 " CATEGORY= Businesses WEB= " www.nokia.com " PID= " 1234 " TS= " 20090430:120000.100000 "
+foobar SetOutputFileHandle
+foobar AddLandmark
+foobar AddCategoryForLatestLandmark TeleCommunication
+foobar FinalizeEncoding
+foobar VerifyEncoding File 21 NAME= " Nokia%20India " LMDESCRIPTION= " This%20is%20an%20Example " VERT_ACC= 3.12 HACCURACY= 12.00 LATITUDE= 85.100000 LONGITUDE= 101.102000 ALTITUDE= 100.00  SPEED= 5.12 HEADING= 90.00 COUNTRY= " India " STATE= " Karnataka " CITY= " Bangalore " STREET= " Outer%20Ring%20Road " POSTALCODE= " 560%20103 " HOUSENO.= " 2A%20Jupiter%20Block " TELEPHONE= " %2b91%2d9902019801 " CATEGORY= " Business " WEB= " www%2enokia%2ecom " CATEGORYTWO= " Communication " PID= " 1234 " TS= " 20090430:120000.100000 "
+foobar CleanUp
+delete foobar
+[Endtest]
+//----------------------------------------------------------Test Latitude and Longitude Values---------------------------
+[Test]
+title TestLatLongNormalization1
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= 90.1110 LONGITUDE= 180
+foobar SetOutputFileHandle
+foobar SetOutputBuffer
+foobar AddLandmark
+foobar FinalizeEncoding
+foobar VerifyEncoding Buffer 2 LATITUDE= 89.889000 LONGITUDE= 0.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+
+[Test]
+title TestLatLongNormalization2
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= -89.999 LONGITUDE= -180.001
+foobar SetOutputFileHandle
+foobar AddLandmark
+foobar FinalizeEncoding
+foobar VerifyEncoding File 2 LATITUDE= -89.999000 LONGITUDE= 179.999000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title TestLatLongNormalization3
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= 270.000001 LONGITUDE= -359.999
+foobar SetOutputFileHandle
+foobar AddLandmark
+foobar FinalizeEncoding
+foobar VerifyEncoding File 2 LATITUDE= -89.999999 LONGITUDE= 0.001000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title TestLatLongNormalization4
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= 269.0001 LONGITUDE= -360.001
+foobar SetOutputFileHandle
+foobar AddLandmark
+foobar FinalizeEncoding
+foobar VerifyEncoding File 2 LATITUDE= -89.000100 LONGITUDE= 179.999000
+foobar CleanUp
+delete foobar
+[Endtest]
+//------------------------------------------------------------------------------------------------------------------------
+
+[Test]
+title TestSetOutfileError
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= 269.0001 LONGITUDE= -360.001
+foobar SetOutputFileHandle 1
+foobar CleanUp
+delete foobar
+[Endtest]
+//------------------------------------------------------------------------------------------------------------------------
+[Test]
+title TestAddAddLmkPanic
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= 269.0001 LONGITUDE= -360.001
+foobar AddLandmark TestPanic
+pause 3000
+bringtoforeground
+foobar CleanUp
+delete foobar
+[Endtest]
+//------------------------------------------------------------------------------------------------------------------------
+[Test]
+title TestAddAddCategoryPanic
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar AddCategoryForLatestLandmark TeleCommunication TestPanic
+foobar CleanUp
+delete foobar
+[Endtest]
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkURL/conf/CUTLandmarkURL1.cfg	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,734 @@
+// Definitions
+[Define]
+Parser 0
+Encoder 1
+Buffer 0
+File 1
+EmptyFile 2
+EmptyBuffer 3
+Accommodation 3000 
+Business 6000 
+Communication 9000 
+Educational 12000
+Entertainment 15000 
+Food_Beverage 18000
+GeographicalArea 21000
+Outdoor 24000
+People 27000
+PublicService 30000
+Religious 33000
+Shopping 36000
+Sightseeing 39000
+Sports 42000
+Transport 45000
+TEST_NULL_NAME 1
+TEST_NULL_STREET 2
+TEST_NULL_HNO 3
+TEST_NULL_POSTALCODE 4
+TEST_NULL_CITY 5
+TEST_NULL_STATE 6
+TEST_NULL_COUNTRY 7
+TEST_NULL_TELEPHONE 8
+TEST_NULL_WEB 9
+TEST_NULL_DESCRIPTION 10
+TEST_MAXLENGTH_NAME 11
+TEST_MAXLENGTH1_NAME 12
+TEST_MAXLENGTH2_NAME 13
+TEST_MAXLENGTH_STREET 14
+TEST_MAXLENGTH1_STREET 15
+TEST_MAXLENGTH2_STREET 16
+TEST_MAXLENGTH_HNO 17
+TEST_MAXLENGTH1_HNO 18
+TEST_MAXLENGTH2_HNO 19
+TEST_MAXLENGTH_POSTALCODE 20
+TEST_MAXLENGTH1_POSTALCODE 21
+TEST_MAXLENGTH2_POSTALCODE 22
+TEST_MAXLENGTH_CITY 23
+TEST_MAXLENGTH1_CITY 24
+TEST_MAXLENGTH2_CITY 25
+TEST_MAXLENGTH_STATE 26
+TEST_MAXLENGTH1_STATE 27
+TEST_MAXLENGTH2_STATE 28
+TEST_MAXLENGTH_COUNTRY 29
+TEST_MAXLENGTH1_COUNTRY 30
+TEST_MAXLENGTH2_COUNTRY 31
+TEST_MAXLENGTH_TELEPHONE 32
+TEST_MAXLENGTH1_TELEPHONE 33
+TEST_MAXLENGTH2_TELEPHONE 34
+TEST_MAXLENGTH_WEB 35
+TEST_MAXLENGTH1_WEB 36
+TEST_MAXLENGTH2_WEB 37
+TEST_MAXLENGTH_DESCRIPTION 38
+TEST_MAXLENGTH1_DESCRIPTION 39
+TEST_MAXLENGTH2_DESCRIPTION 40
+TEST_MAXLENGTH_PID 44
+TEST_MAXLENGTH1_PID 45
+TEST_MAXLENGTH2_PID 46
+TEST_NULL_PID 43
+[Enddefine]
+//-----------------------------------------------------PID Param------------------------------------------------------------
+[Test]
+title NullPID
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_NULL_PID LATITUDE= 23 LONGITUDE= 100
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= 23.000000 LONGITUDE= 100.000000  PID= " " 
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title AlphanumericPID
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL  LATITUDE= 23 LONGITUDE= 100 PID= " PlaceBangNokLoc "
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= 23.000000 LONGITUDE= 100.000000 PID= " PlaceBangNokLoc "
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title SpecialCharPID
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= 23 LONGITUDE= 100 PID= " Place:*[Bang,{Nok}<Loc>]; "
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= 23.000000 LONGITUDE= 100.000000 PID= " Place%3a%2a%5bBang%2c%7bNok%7d%3cLoc%3e%5d%3b "
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//255 chars
+[Test]
+title PID_BV1
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_MAXLENGTH_PID LATITUDE= 23 LONGITUDE= 100
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= 23.000000 LONGITUDE= 100.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//254 chars
+[Test]
+title PID_BV2
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_MAXLENGTH1_PID LATITUDE= 23 LONGITUDE= 100
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= 23.000000 LONGITUDE= 100.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//256 chars
+[Test]
+title PID_BV3
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_MAXLENGTH2_PID LATITUDE= 23.000000 LONGITUDE= 100.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+//----------------------------------------------End of PId--------------------------------------------------------------
+//------------------------------------------Name Param---------------------------------------------------------------
+[Test]
+title NullName
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_NULL_NAME LATITUDE= 23 LONGITUDE= 100
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3  NAME= " " LATITUDE= 23.000000 LONGITUDE= 100.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title AlphanumericName
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL  NAME= " John1 " LATITUDE= 23 LONGITUDE= 100
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3  NAME= " John1 " LATITUDE= 23.000000 LONGITUDE= 100.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title SpecialCharName
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL NAME= " Amar_Akbar`Anthony~ " LATITUDE= 23 LONGITUDE= 100
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 NAME= " Amar%5fAkbar%60Anthony%7e " LATITUDE= 23.000000 LONGITUDE= 100.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title NameWithPercentage
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL NAME= " Aditya%20Singh " LATITUDE= 23 LONGITUDE= 100
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 NAME= " Aditya%2520Singh " LATITUDE= 23.000000 LONGITUDE= 100.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+//255 chars
+[Test]
+title Name_BV1
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_MAXLENGTH_NAME LATITUDE= 23 LONGITUDE= 100
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= 23.000000 LONGITUDE= 100.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//254 chars
+[Test]
+title Name_BV2
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_MAXLENGTH1_NAME LATITUDE= 23 LONGITUDE= 100
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= 23.000000 LONGITUDE= 100.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//256 chars
+[Test]
+title Name_BV3
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_MAXLENGTH2_NAME LATITUDE= 23.000000 LONGITUDE= 100.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//--------------------------------------------------- End of Name----------------------------------------------------------------------------------------------
+
+//----------------------------------------------------Street Param---------------------------------------------------------------------------------------------
+
+[Test]
+title NullStreet
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_NULL_STREET LATITUDE= 79 LONGITUDE= 100
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= 79.000000 LONGITUDE= 100.000000 STREET= " "
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title AlphanumericStreet
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= 79 LONGITUDE= 100 STREET= " 2AJupiterBlk "
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= 79.000000 LONGITUDE= 100.000000 STREET= " 2AJupiterBlk "
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title SpecialCharStreet
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= 79 LONGITUDE= 100 STREET= " #2AJupiter-Block! "
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= 79.000000 LONGITUDE= 100.000000 STREET= " %232AJupiter%2dBlock%21 "
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title StreetWithPercentage
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= 79 LONGITUDE= 100 STREET= " %2A "
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= 79.000000 LONGITUDE= 100.000000 STREET= " %252A "
+foobar CleanUp
+delete foobar
+[Endtest]
+//255 chars
+[Test]
+title Street_BV1
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_MAXLENGTH_STREET LATITUDE= 79 LONGITUDE= 100
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= 79.000000 LONGITUDE= 100.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//254 chars
+[Test]
+title Street_BV2
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_MAXLENGTH1_STREET LATITUDE= 79 LONGITUDE= 100
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= 79.000000 LONGITUDE= 100.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//256 chars
+[Test]
+title Street_BV3
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_MAXLENGTH2_STREET LATITUDE= 79.00000 LONGITUDE= 100.00000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//-------------------------------------------------------End of Street---------------------------------------------------------------------------------------------------
+//----------------------------------------------------HouseNumber Param---------------------------------------------------------------------------------------------
+
+[Test]
+title NullHouseNo
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_NULL_HNO LATITUDE= -56 LONGITUDE= 100
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= -56.000000 LONGITUDE= 100.000000 HOUSENO.= " "
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title AlphanumericHouseNo
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= -56 LONGITUDE= 100 HOUSENO.= " 10Janpath "
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= -56.000000 LONGITUDE= 100.000000 HOUSENO.= " 10Janpath "
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title SpecialCharHouseNo
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= -56 LONGITUDE= 100 HOUSENO.= " (10.Janpath)' "
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= -56.000000 LONGITUDE= 100.000000 HOUSENO.= " %2810%2eJanpath%29%27 "
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//255 chars
+[Test]
+title HouseNo_BV1
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_MAXLENGTH_HNO LATITUDE= -56 LONGITUDE= 100
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= -56.000000 LONGITUDE= 100.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//254 chars
+[Test]
+title HouseNo_BV2
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_MAXLENGTH1_HNO LATITUDE= -56 LONGITUDE= 100
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= -56.000000 LONGITUDE= 100.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//256 chars
+[Test]
+title HouseNo_BV3
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_MAXLENGTH2_HNO LATITUDE= -9.00 LONGITUDE= 100
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//-------------------------------------------------------End of HouseNumber---------------------------------------------------------------------------------------------------
+//----------------------------------------------------Postal Code Param---------------------------------------------------------------------------------------------
+
+[Test]
+title NullPostalCode
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_NULL_POSTALCODE LATITUDE= -9 LONGITUDE= 100
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= -9.000000 LONGITUDE= 100.000000 POSTALCODE= " "
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title AlphanumericPostalCode
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= -9 LONGITUDE= 100 POSTALCODE= " K1A 0B1 "
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= -9.000000 LONGITUDE= 100.000000 POSTALCODE= " K1A%200B1 "
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title SpecialCharPostalCode
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= -9 LONGITUDE= 100 POSTALCODE= " @$^&*=|0B1 "
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= -9.000000 LONGITUDE= 100.000000 POSTALCODE= " %40%24%5e%26%2a%3d%7c0B1 "
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//255 chars
+[Test]
+title PostalCode_BV1
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_MAXLENGTH_POSTALCODE LATITUDE= -45 LONGITUDE= 100
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= -45.000000 LONGITUDE= 100.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//254 chars
+[Test]
+title PostalCode_BV2
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_MAXLENGTH1_POSTALCODE LATITUDE= -45 LONGITUDE= 100
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= -45.000000 LONGITUDE= 100.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//256 chars
+[Test]
+title PostalCode_BV3
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_MAXLENGTH2_POSTALCODE LATITUDE= -45.000000 LONGITUDE= 100.000000
+foobar CleanUp 
+delete foobar
+[Endtest]
+
+//-------------------------------------------------------End of Postal Code---------------------------------------------------------------------------------------------------	
+
+//----------------------------------------------------City Param---------------------------------------------------------------------------------------------
+
+[Test]
+title NullCity
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_NULL_CITY LATITUDE= -9 LONGITUDE= 100
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= -9.000000 LONGITUDE= 100.000000 CITY= " "
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title AlphanumericCity
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= -9 LONGITUDE= 100 CITY= " K1A 0B1 "
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= -9.000000 LONGITUDE= 100.000000 CITY= " K1A%200B1 "
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title SpecialCharCity
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= -9.00000 LONGITUDE= 100.00000 CITY= " @$^&*=|0B1 "
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= -9.000000 LONGITUDE= 100.000000 CITY= " %40%24%5e%26%2a%3d%7c0B1 "
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//255 chars
+[Test]
+title City_BV1
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_MAXLENGTH_CITY LATITUDE= -45 LONGITUDE= 100
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= -45.000000 LONGITUDE= 100.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//254 chars
+[Test]
+title City_BV2
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_MAXLENGTH1_CITY LATITUDE= -45 LONGITUDE= 100
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= -45.000000 LONGITUDE= 100.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//256 chars
+[Test]
+title City_BV3
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_MAXLENGTH2_CITY LATITUDE= -45 LONGITUDE= 100
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//-------------------------------------------------------End of City--------------------------------------------------------------------------------------------------
+
+//----------------------------------------------------State Param---------------------------------------------------------------------------------------------
+
+[Test]
+title NullState
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_NULL_STATE LATITUDE= -9 LONGITUDE= 100
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= -9.000000 LONGITUDE= 100.000000 STATE= " "
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title AlphanumericState
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= -9 LONGITUDE= 100 STATE= " K1A 0B1 "
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= -9.000000 LONGITUDE= 100.000000 STATE= " K1A%200B1 "
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title SpecialCharState
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= -9 LONGITUDE= 100 STATE= " @$^&*=|0B1 "
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= -9.000000 LONGITUDE= 100.000000 STATE= " %40%24%5e%26%2a%3d%7c0B1 "
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//255 chars
+[Test]
+title State_BV1
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_MAXLENGTH_STATE LATITUDE= -45 LONGITUDE= 100
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= -45.000000 LONGITUDE= 100.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//254 chars
+[Test]
+title State_BV2
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_MAXLENGTH1_STATE LATITUDE= -45 LONGITUDE= 100
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= -45.000000 LONGITUDE= 100.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//256 chars
+[Test]
+title State_BV3
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_MAXLENGTH2_STATE LATITUDE= -45 LONGITUDE= 100
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//-------------------------------------------------------End of State--------------------------------------------------------------------------------------------------
+
+
+//----------------------------------------------------Country Param---------------------------------------------------------------------------------------------
+
+[Test]
+title NullCountry
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_NULL_COUNTRY LATITUDE= -9 LONGITUDE= 100
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= -9.000000 LONGITUDE= 100.000000 COUNTRY= " "
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title AlphanumericCountry
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= -9 LONGITUDE= 100 COUNTRY= " K1A 0B1 "
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= -9.000000 LONGITUDE= 100.000000 COUNTRY= " K1A%200B1 "
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title SpecialCharCountry
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= -9 LONGITUDE= 100 COUNTRY= " @$^&*=|0B1 "
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= -9.000000 LONGITUDE= 100.000000 COUNTRY= " %40%24%5e%26%2a%3d%7c0B1 "
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//255 chars
+[Test]
+title Country_BV1
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_MAXLENGTH_COUNTRY LATITUDE= -45 LONGITUDE= 100
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= -45.000000 LONGITUDE= 100.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//254 chars
+[Test]
+title Country_BV2
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_MAXLENGTH1_COUNTRY LATITUDE= -45 LONGITUDE= 100
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= -45.000000 LONGITUDE= 100.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//256 chars
+[Test]
+title Country_BV3
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_MAXLENGTH2_COUNTRY LATITUDE= -45 LONGITUDE= 100
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//-------------------------------------------------------End of Country--------------------------------------------------------------------------------------------------
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkURL/conf/CUTLandmarkURL2.cfg	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,715 @@
+// Definitions
+[Define]
+Parser 0
+Encoder 1
+Buffer 0
+File 1
+EmptyFile 2
+EmptyBuffer 3
+Accommodation 3000 
+Business 6000 
+Communication 9000 
+Educational 12000
+Entertainment 15000 
+Food_Beverage 18000
+GeographicalArea 21000
+Outdoor 24000
+People 27000
+PublicService 30000
+Religious 33000
+Shopping 36000
+Sightseeing 39000
+Sports 42000
+Transport 45000
+TEST_NULL_NAME 1
+TEST_NULL_STREET 2
+TEST_NULL_HNO 3
+TEST_NULL_POSTALCODE 4
+TEST_NULL_CITY 5
+TEST_NULL_STATE 6
+TEST_NULL_COUNTRY 7
+TEST_NULL_TELEPHONE 8
+TEST_NULL_WEB 9
+TEST_NULL_DESCRIPTION 10
+TEST_MAXLENGTH_NAME 11
+TEST_MAXLENGTH1_NAME 12
+TEST_MAXLENGTH2_NAME 13
+TEST_MAXLENGTH_STREET 14
+TEST_MAXLENGTH1_STREET 15
+TEST_MAXLENGTH2_STREET 16
+TEST_MAXLENGTH_HNO 17
+TEST_MAXLENGTH1_HNO 18
+TEST_MAXLENGTH2_HNO 19
+TEST_MAXLENGTH_POSTALCODE 20
+TEST_MAXLENGTH1_POSTALCODE 21
+TEST_MAXLENGTH2_POSTALCODE 22
+TEST_MAXLENGTH_CITY 23
+TEST_MAXLENGTH1_CITY 24
+TEST_MAXLENGTH2_CITY 25
+TEST_MAXLENGTH_STATE 26
+TEST_MAXLENGTH1_STATE 27
+TEST_MAXLENGTH2_STATE 28
+TEST_MAXLENGTH_COUNTRY 29
+TEST_MAXLENGTH1_COUNTRY 30
+TEST_MAXLENGTH2_COUNTRY 31
+TEST_MAXLENGTH_TELEPHONE 32
+TEST_MAXLENGTH1_TELEPHONE 33
+TEST_MAXLENGTH2_TELEPHONE 34
+TEST_MAXLENGTH_WEB 35
+TEST_MAXLENGTH1_WEB 36
+TEST_MAXLENGTH2_WEB 37
+TEST_MAXLENGTH_DESCRIPTION 38
+TEST_MAXLENGTH1_DESCRIPTION 39
+TEST_MAXLENGTH2_DESCRIPTION 40
+TEST_NULL_SPEED 41
+TEST_NULL_HEADING 42
+TEST_MAX_HA 47
+TEST_MAX_VA 48
+[Enddefine]
+
+//----------------------------------------------------Telephone Param---------------------------------------------------------------------------------------------
+
+[Test]
+title NullTelephone
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_NULL_TELEPHONE LATITUDE= -9 LONGITUDE= 100
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= -9.000000 LONGITUDE= 100.000000 TELEPHONE= " "
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title AlphanumericTelephone
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= -9 LONGITUDE= 100 TELEPHONE= " K1A 0B1 "
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= -9.000000 LONGITUDE= 100.000000 TELEPHONE= " K1A%200B1 "
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title SpecialCharTelephone
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= -9 LONGITUDE= 100 TELEPHONE= " @$^&*=|0B1 "
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= -9.000000 LONGITUDE= 100.000000 TELEPHONE= " %40%24%5e%26%2a%3d%7c0B1 "
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//255 chars
+[Test]
+title Telephone_BV1
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_MAXLENGTH_TELEPHONE LATITUDE= -45 LONGITUDE= 100
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= -45.000000 LONGITUDE= 100.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//254 chars
+[Test]
+title Telephone_BV2
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_MAXLENGTH1_TELEPHONE LATITUDE= -45 LONGITUDE= 100
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= -45.000000 LONGITUDE= 100.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//256 chars
+[Test]
+title Telephone_BV3
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_MAXLENGTH2_TELEPHONE LATITUDE= -45 LONGITUDE= 100
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//-------------------------------------------------------End of Telephone--------------------------------------------------------------------------------------------------
+
+//----------------------------------------------------Web Param---------------------------------------------------------------------------------------------
+
+[Test]
+title NullWeb
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_NULL_WEB LATITUDE= -9 LONGITUDE= 100
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= -9.000000 LONGITUDE= 100.000000 WEB= " "
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title AlphanumericWeb
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= -9 LONGITUDE= 100 WEB= " K1A 0B1 "
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= -9.000000 LONGITUDE= 100.000000 WEB= " K1A%200B1 "
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title SpecialCharWeb
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= -9 LONGITUDE= 100 WEB= " @$^&*=|0B1 "
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= -9.000000 LONGITUDE= 100.000000 WEB= " %40%24%5e%26%2a%3d%7c0B1 "
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//255 chars
+[Test]
+title Web_BV1
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_MAXLENGTH_WEB LATITUDE= -45 LONGITUDE= 100
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= -45.000000 LONGITUDE= 100.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//254 chars
+[Test]
+title Web_BV2
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_MAXLENGTH1_WEB LATITUDE= -45 LONGITUDE= 100
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= -45.000000 LONGITUDE= 100.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//256 chars
+[Test]
+title Web_BV3
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_MAXLENGTH2_WEB LATITUDE= -45 LONGITUDE= 100
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//-------------------------------------------------------End of Web--------------------------------------------------------------------------------------------------
+//----------------------------------------------------Description Param---------------------------------------------------------------------------------------------
+
+[Test]
+title NullDescription
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_NULL_DESCRIPTION LATITUDE= -9 LONGITUDE= 100
+foobar SetOutputFileHandle
+foobar AddLandmark
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LMDESCRIPTION= " " LATITUDE= -9.000000 LONGITUDE= 100.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title AlphanumericDescription
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LMDESCRIPTION= " K1A 0B1 " LATITUDE= -9 LONGITUDE= 100
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LMDESCRIPTION= " K1A%200B1 " LATITUDE= -9.000000 LONGITUDE= 100.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title SpecialCharDescription
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LMDESCRIPTION= " @$^&*=|0B1 " LATITUDE= -9 LONGITUDE= 100
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LMDESCRIPTION= " %40%24%5e%26%2a%3d%7c0B1 " LATITUDE= -9.000000 LONGITUDE= 100.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//4095 chars
+[Test]
+title Description_BV1
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_MAXLENGTH_DESCRIPTION LATITUDE= -45 LONGITUDE= 100
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= -45.000000 LONGITUDE= 100.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//4094 chars
+[Test]
+title Description_BV2
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_MAXLENGTH1_DESCRIPTION LATITUDE= -45 LONGITUDE= 100
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= -45.000000 LONGITUDE= 100.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//4096 chars
+[Test]
+title Description_BV3
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_MAXLENGTH2_DESCRIPTION LATITUDE= -45 LONGITUDE= 100
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//-------------------------------------------------------End of Description--------------------------------------------------------------------------------------------------
+
+
+//------------------------------------------PositionalAccuracy Param---------------------------------------------------------------
+[Test]
+title PA_BV1
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_MAX_HA LATITUDE= 9 LONGITUDE= 18
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 HACCURACY= 340282346638529000000000000000000000000.00 LATITUDE= 9.000000 LONGITUDE= 18.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title PA_BV2
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL HACCURACY= 1 LATITUDE= 9 LONGITUDE= 108
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 HACCURACY= 1.00 LATITUDE= 9.000000 LONGITUDE= 108.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title TestPAFoatingNumber1
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL HACCURACY= 1345.001 LATITUDE= 9 LONGITUDE= 108
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 HACCURACY= 1345.00 LATITUDE= 9.000000 LONGITUDE= 108.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title TestPAFoatingNumber2
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL HACCURACY= 1345.01 LATITUDE= 9 LONGITUDE= 108
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 HACCURACY= 1345.01 LATITUDE= 9.000000 LONGITUDE= 108.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title TestPAFoatingNumber3
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL HACCURACY= 1345.12 LATITUDE= 9 LONGITUDE= 108
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 HACCURACY= 1345.12 LATITUDE= 9.000000 LONGITUDE= 108.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title TestPAFoatingNumber4
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL HACCURACY= 1345.98 LATITUDE= 9.00000 LONGITUDE= 108.00000
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 HACCURACY= 1345.98 LATITUDE= 9.000000 LONGITUDE= 108.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//--------------------------------------------------- End of PositionalAccuracy----------------------------------------------------------------------------------------------
+
+//------------------------------------------Altitude Accuracy Param---------------------------------------------------------------
+[Test]
+title AA_BV1
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL TEST_MAX_VA LATITUDE= 9 LONGITUDE= 18
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 VERT_ACC= 340282346638529000000000000000000000000.00 LATITUDE= 9.000000 LONGITUDE= 18.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title AA_BV2
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL VERT_ACC= 1 LATITUDE= 9 LONGITUDE= 108
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 VERT_ACC= 1.00 LATITUDE= 9.000000 LONGITUDE= 108.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title TestAAFoatingNumber1
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL VERT_ACC= 1345.001 LATITUDE= 9 LONGITUDE= 108
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 VERT_ACC= 1345.00 LATITUDE= 9.000000 LONGITUDE= 108.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title TestAAFoatingNumber2
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL VERT_ACC= 1345.01 LATITUDE= 9 LONGITUDE= 108
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 VERT_ACC= 1345.01 LATITUDE= 9.000000 LONGITUDE= 108.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title TestAAFoatingNumber3
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL VERT_ACC= 1345.123456789 LATITUDE= 9 LONGITUDE= 108
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 VERT_ACC= 1345.12 LATITUDE= 9.000000 LONGITUDE= 108.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title TestAAFoatingNumber4
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL VERT_ACC= 1345.987654321 LATITUDE= 9.00000 LONGITUDE= 108.00000
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 VERT_ACC= 1345.99 LATITUDE= 9.000000 LONGITUDE= 108.000000
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//--------------------------------------------------- End of Altitude Accuracy----------------------------------------------------------------------------------------------
+
+//--------------------------------------------------- Altitude Param ----------------------------------------------------------------------------------------------
+
+[Test]
+title Alt_BV1
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= 9 LONGITUDE= 18 ALTITUDE= 4294967296
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= 9.000000 LONGITUDE= 18.000000 ALTITUDE= 4294967296.00
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title Alt_BV2
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= 9 LONGITUDE= 108 ALTITUDE= 1
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= 9.000000 LONGITUDE= 108.000000 ALTITUDE= 1.00
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title TestAltFoatingNumber1
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= 9 LONGITUDE= 108 ALTITUDE= 1345.001
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= 9.000000 LONGITUDE= 108.000000 ALTITUDE= 1345.00
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title TestAltFoatingNumber2
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= 9 LONGITUDE= 108 ALTITUDE= 1345.01
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= 9.000000 LONGITUDE= 108.000000 ALTITUDE= 1345.01
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title TestAltFoatingNumber3
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= 9 LONGITUDE= 108 ALTITUDE= 1345.124
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= 9.000000 LONGITUDE= 108.000000 ALTITUDE= 1345.12
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title TestAltFoatingNumber4
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= 9 LONGITUDE= 108 ALTITUDE= 1345.986
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= 9.000000 LONGITUDE= 108.000000 ALTITUDE= 1345.99
+foobar CleanUp
+delete foobar
+[Endtest]
+//--------------------------------------------------- End of Altitude----------------------------------------------------------------------------------------------
+
+//--------------------------------------------------- Speed Param ----------------------------------------------------------------------------------------------
+
+[Test]
+title Speed_BV1
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= 9 LONGITUDE= 18 SPEED= 340282346638529000000000000000000000000.00
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= 9.000000 LONGITUDE= 18.000000 SPEED= 340282346638529000000000000000000000000.00
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title Speed_BV2
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= 9 LONGITUDE= 108 SPEED= 1
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= 9.000000 LONGITUDE= 108.000000 SPEED= 1.00
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title TestSpeedFoatingNumber1
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= 9 LONGITUDE= 108 SPEED= 1345.001
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= 9.000000 LONGITUDE= 108.000000 SPEED= 1345.00
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title TestSpeedFoatingNumber2
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= 9 LONGITUDE= 108 SPEED= 1345.01
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= 9.000000 LONGITUDE= 108.000000 SPEED= 1345.01
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title TestSpeedFoatingNumber3
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= 9 LONGITUDE= 108 SPEED= 1345.1234
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= 9.000000 LONGITUDE= 108.000000 SPEED= 1345.12
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title TestSpeedFoatingNumber4
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= 9 LONGITUDE= 108 SPEED= 1345.9876
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= 9.000000 LONGITUDE= 108.000000 SPEED= 1345.99
+foobar CleanUp
+delete foobar
+[Endtest]
+//--------------------------------------------------- End of Speed----------------------------------------------------------------------------------------------
+//--------------------------------------------------- Heading Param ----------------------------------------------------------------------------------------------
+
+[Test]
+title Heading_BV1
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= 9 LONGITUDE= 18 HEADING= 340282346638529000000000000000000000000.00
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= 9.000000 LONGITUDE= 18.000000 HEADING= 340282346638529000000000000000000000000.00
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title Heading_BV2
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= 9 LONGITUDE= 108 HEADING= 1
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= 9.000000 LONGITUDE= 108.000000 HEADING= 1.00
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title TestHeadingFoatingNumber1
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= 9 LONGITUDE= 108 HEADING= 1345.00999
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= 9.000000 LONGITUDE= 108.000000 HEADING= 1345.01
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title TestHeadingFoatingNumber2
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= 9 LONGITUDE= 108 HEADING= 1345.01
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= 9.000000 LONGITUDE= 108.000000 HEADING= 1345.01
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title TestHeadingFoatingNumber3
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= 9 LONGITUDE= 108 HEADING= 1345.123456
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= 9.000000 LONGITUDE= 108.000000 HEADING= 1345.12
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title TestHeadingFoatingNumber4
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Encoder
+foobar CreateLandmarkL LATITUDE= 9 LONGITUDE= 108 HEADING= 1345.987654
+foobar SetOutputFileHandle
+foobar AddLandmark 
+foobar FinalizeEncoding
+foobar VerifyEncoding File 3 LATITUDE= 9.000000 LONGITUDE= 108.000000 HEADING= 1345.99
+foobar CleanUp
+delete foobar
+[Endtest]
+//--------------------------------------------------- End of Heading----------------------------------------------------------------------------------------------
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkURL/conf/CUTLmkURLParser.cfg	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,1122 @@
+// Definitions
+[Define]
+default 0
+Parser 0
+Encoder 1
+NoProtocol 1
+https 2
+InvalidProtocol 3
+NoHostName 4
+InvalidHostName 5
+InvalidHostName1 6
+InvalidHostName2 7
+UnknownFormat 2
+[Enddefine]
+
+//----------------------------------------------------BAT Cases---------------------------------------------------------------------------------------------
+
+[Test]
+title Create_Parser
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar CleanUp
+delete foobar
+[Endtest] 
+
+[Test]
+title Parse_Buffer
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default la=85.100000&lo=101.102000&a=100.00&pa=12.00&aa=3.12&pid=1234&n=Nokia%20India&d=This%20is%20an%20Example&sn=2A%20Jupiter%20Block&s=Outer%20Ring%20Road&c=Bangalore&sp=Karnataka&cr=India&pz=560%20103&t=%2b91%2d9902019801&v=5.12&h=90.00&cat=Businesses&w=www%2enokia%2ecom&ts=20090430:120000.100000
+foobar ParseContent
+foobar Landmark NAME= " Nokia India " LMDESCRIPTION= " This is an Example " VERT_ACC= 3.12 HACCURACY= 12.00 LATITUDE= 85.100000 LONGITUDE= 101.102000 ALTITUDE= 100  SPEED= 5.12 HEADING= 90.00 COUNTRY= " India " STATE= " Karnataka " CITY= " Bangalore " STREET= " Outer Ring Road " POSTALCODE= " 560 103 " HOUSENO.= " 2A Jupiter Block " TELEPHONE= " +91-9902019801 " CATEGORY= Business WEB= " www.nokia.com " PID= " 1234 " TS= " 20090430:120000.100000 "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title Parse_File
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar CreateInstanceL Encoder
+foobar SetInputFile
+foobar ParseContent
+foobar Landmark NAME= " Nokia India " LMDESCRIPTION= " This is an Example " VERT_ACC= 3.12 HACCURACY= 12.00 LATITUDE= 85.100000 LONGITUDE= 101.102000 ALTITUDE= 100  SPEED= 5.12 HEADING= 90.00 COUNTRY= " India " STATE= " Karnataka " CITY= " Bangalore " STREET= " Outer Ring Road " POSTALCODE= " 560 103 " HOUSENO.= " 2A Jupiter Block " TELEPHONE= " +91-9902019801 " CATEGORY= Business WEB= " www.nokia.com " PID= " 1234 " TS= " 20090430:120000.100000 "
+foobar SetOutputFileHandle
+foobar AddLandmark
+foobar FinalizeEncoding
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest] 
+
+[Test]
+title Parse_FileHandle
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputFileHandle default la=85.100000&lo=101.102000&a=100.00&pa=12.00&aa=3.12&pid=1234&n=Nokia%20India&d=This%20is%20an%20Example&sn=2A%20Jupiter%20Block&s=Outer%20Ring%20Road&c=Bangalore&sp=Karnataka&cr=India&pz=560%20103&t=%2b91%2d9902019801&v=5.12&h=90.00&cat=Businesses&w=www%2enokia%2ecom&ts=20090430:120000.100000
+foobar ParseContent
+foobar Landmark NAME= " Nokia India " LMDESCRIPTION= " This is an Example " VERT_ACC= 3.12 HACCURACY= 12.00 LATITUDE= 85.100000 LONGITUDE= 101.102000 ALTITUDE= 100  SPEED= 5.12 HEADING= 90.00 COUNTRY= " India " STATE= " Karnataka " CITY= " Bangalore " STREET= " Outer Ring Road " POSTALCODE= " 560 103 " HOUSENO.= " 2A Jupiter Block " TELEPHONE= " +91-9902019801 " CATEGORY= Business WEB= " www.nokia.com " PID= " 1234 " TS= " 20090430:120000.100000 "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title GetLmkCat
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputFile
+foobar ParseContent
+foobar Landmark NAME= " Nokia India " LMDESCRIPTION= " This is an Example " VERT_ACC= 3.12 HACCURACY= 12.00 LATITUDE= 85.100000 LONGITUDE= 101.102000 ALTITUDE= 100  SPEED= 5.12 HEADING= 90.00 COUNTRY= " India " STATE= " Karnataka " CITY= " Bangalore " STREET= " Outer Ring Road " POSTALCODE= " 560 103 " HOUSENO.= " 2A Jupiter Block " TELEPHONE= " +91-9902019801 " CATEGORY= Business WEB= " www.nokia.com " PID= " 1234 " TS= " 20090430:120000.100000 "
+foobar LandmarkCategory CATEGORY= " dummy "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest] 
+//---------------------------------------------End of BAT cases-----------------------------------------------------------
+
+//--------------------------------------------Testing Protocol------------------------------------------------------------
+[Test]
+title NoProtocol
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputFileHandle NoProtocol la=-90.000000&lo=-180.000000
+foobar ParseContent
+foobar Landmark LATITUDE= -90.000000 LONGITUDE= -180.000000
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title HTTPSProtocol
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputFileHandle https la=90.000000&lo=180.000000
+foobar ParseContent
+foobar Landmark LATITUDE= 90.000000 LONGITUDE= -180.000000
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title InvalidProtocol
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputFileHandle InvalidProtocol la=85.100000&lo=101.102000
+foobar ParseContent UnknownFormat
+foobar NumOfParsedLandmarks 0
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//--------------------------------------- End of testing protocol-------------------------------------------------------
+
+//---------------------------------------- TestingHostName--------------------------------------------------------------
+
+[Test]
+title NoHostName
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer NoHostName la=85.100000&lo=101.102000
+foobar ParseContent UnknownFormat
+foobar NumOfParsedLandmarks 0
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title InvalidHostName
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer InvalidHostName la=85.100000&lo=101.102000
+foobar ParseContent UnknownFormat
+foobar NumOfParsedLandmarks 0
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title InvalidHostName1
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer InvalidHostName1 la=85.100000&lo=101.102000
+foobar ParseContent UnknownFormat
+foobar NumOfParsedLandmarks 0
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title InvalidHostName2
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer InvalidHostName1 la=85.100000&lo=101.102000
+foobar ParseContent UnknownFormat
+foobar NumOfParsedLandmarks 0
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//---------------------------------------End of Testing Hostname -----------------------------------------------------------
+//-----------------------------------------Testing Lat and Long-------------------------------------------------------------
+[Test]
+title ValidLatLong
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputFileHandle default lo=-179.99999&la=-89.99999
+foobar ParseContent
+foobar Landmark LATITUDE= -89.99999 LONGITUDE= -179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title NoLongitude
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputFileHandle default la=-89.010&
+foobar ParseContent UnknownFormat
+foobar NumOfParsedLandmarks 0
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title NoLatitude
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputFileHandle default lo=-102.001&
+foobar ParseContent UnknownFormat
+foobar NumOfParsedLandmarks 0
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title WithoutParam
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputFileHandle default
+foobar ParseContent UnknownFormat
+foobar NumOfParsedLandmarks 0
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title NullPosition
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputFileHandle default la=&lo=
+foobar ParseContent UnknownFormat
+foobar NumOfParsedLandmarks 0
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title BVLatLong1
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputFileHandle default la=90.000001&lo=100.1234
+foobar ParseContent UnknownFormat
+foobar NumOfParsedLandmarks 0
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title BVLatLong2
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputFileHandle default la=9&lo=180.000001
+foobar ParseContent UnknownFormat
+foobar NumOfParsedLandmarks 0
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title BVLatLong3
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputFileHandle default la=-90.000001&lo=100.1234
+foobar ParseContent UnknownFormat
+foobar NumOfParsedLandmarks 0
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title BVLatLong4
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputFileHandle default la=9&lo=-180.000001
+foobar ParseContent UnknownFormat
+foobar NumOfParsedLandmarks 0
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//------------------------------------------------End of Testing Lat and Long---------------------------------------------------------
+//--------------------------------------------------Testing PID-----------------------------------------------------------------------
+[Test]
+title ValidPID
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&pid=1a
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999 PID= " 1a "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title PID_EncodedChars
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&pid=%235%2C%201st%20Cross%2E
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999 PID= " #5, 1st Cross. "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title NullPID
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&pid=
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title PIDBV1
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&pid=123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title PIDBV2
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&pid=12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//256 chars
+[Test]
+title PIDBV3
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&pid=1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title PIDRecovery
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=-179.99999&la=-89.99999&pid=123$abc
+foobar ParseContent
+foobar Landmark LATITUDE= -89.99999 LONGITUDE= -179.99999 PID= " 123 "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+
+//----------------------------------------------------------------------End of Testing PID-------------------------------------------------------------------------------
+
+//-----------------------------------------------------------------------Testing Name------------------------------------------------------------------------------------
+
+[Test]
+title ValidName
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&pid=Aurthur3
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999 NAME= " Aurthur3 "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title Name_EncodedChars
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&n=Jim%2bCarrey
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999 NAME= " Jim+Carrey "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title NullName
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&n=
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title NameBV1
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&n=123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title NameBV2
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&n=12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title NameBV3
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&n=1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title NameRecovery
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=-179.99999&la=-89.99999&n=Jim+Carrey
+foobar ParseContent
+foobar Landmark LATITUDE= -89.99999 LONGITUDE= -179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+//---------------------------------------------------------End of Name---------------------------------------------------------------------------
+//----------------------------------------------------------Testing Street-----------------------------------------------------------------------
+[Test]
+title ValidStreet
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&pid=CemeteryRidge
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999 STREET= " CemeteryRidge "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title Street_EncodedChars
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&s=112%20½%20Beacon%20Street%2c%20Boston
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999 STREET= " 112 ½ Beacon Street, Boston "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title NullStreet
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&s=
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title StreetBV1
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&s=123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title StreetBV2
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&s=12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title StreetBV3
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&s=1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title StreetRecovery
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=-179.99999&la=-89.99999&s=112 ½ Beacon Street, Boston
+foobar ParseContent
+foobar Landmark LATITUDE= -89.99999 LONGITUDE= -179.99999 STREET= " 112 "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+//---------------------------------------------------------------End of Testing Street--------------------------------------------------------
+//----------------------------------------------------------Testing HouseNumber-----------------------------------------------------------------------
+[Test]
+title ValidHNo
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&sn=Apt56B
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999 HOUSENO.= " Apt56B "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title HNo_EncodedChars
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&sn=221B%2520Baker%20Street
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999 HOUSENO.= " 221B%20Baker Street "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title NullHNo
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&sn=
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title HNoBV1
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&sn=123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title HNoBV2
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&sn=12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title HNoBV3
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&sn=1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title HNoRecovery
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=-179.99999&la=-89.99999&s=Ottumwa, Iowa
+foobar ParseContent
+foobar Landmark LATITUDE= -89.99999 LONGITUDE= -179.99999 HOUSENO.= " Ottumwa "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+//---------------------------------------------------------------End of Testing House Number--------------------------------------------------------
+//----------------------------------------------------------Testing PostalCode-----------------------------------------------------------------------
+[Test]
+title ValidPostalCode
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&pz=DK-1448
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999 POSTALCODE= " DK%2D1448 "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title PostalCode_EncodedChars
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&pz=4455%2d111%25%252520
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999 POSTALCODE= " 4455-111%%2520 "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title NullPostalCode
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&pz=
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title PostalCodeBV1
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&pz=123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title PostalCodeBV2
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&pz=12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title PostalCodeBV3
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&pz=1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title PostalCodeRecovery
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=-179.99999&la=-89.99999&pz=560%20103
+foobar ParseContent
+foobar Landmark LATITUDE= -89.99999 LONGITUDE= -179.99999 POSTALCODE= " 560 "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+//---------------------------------------------------------------End of Testing Postal Code--------------------------------------------------------
+//----------------------------------------------------------Testing City----------------------------------------------------------------------
+[Test]
+title ValidCity
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&c=Idaho
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999 CITY= " Idaho "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title City_EncodedChars
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&c=Krung%2dthep%2dmaha%2dnakorn%2dboworn%2dratana
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999 CITY= " Krung-thep-maha-nakorn-boworn-ratana "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title NullCity
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&c=
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title CityBV1
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&c=123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999 
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title CityBV2
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&c=12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title CityBV3
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&c=1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title CityRecovery
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=-179.99999&la=-89.99999&c=New York
+foobar ParseContent
+foobar Landmark LATITUDE= -89.99999 LONGITUDE= -179.99999 CITY= " New "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+//---------------------------------------------------------------End of Testing City--------------------------------------------------------
+//----------------------------------------------------------Testing State----------------------------------------------------------------------
+[Test]
+title ValidState
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&sp=Helsinki 
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999 STATE= " Helsinki "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title State_EncodedChars
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&sp=Jammu%20%26%20Kashmir
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999 STATE= " Jammu & Kashmir "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title NullState
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&sp=
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title StateBV1
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&sp=123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999 
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title StateBV2
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&sp=12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title StateBV3
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&sp=1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title StateRecovery
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=-179.99999&la=-89.99999&sp=Jammu & Kashmir
+foobar ParseContent
+foobar Landmark LATITUDE= -89.99999 LONGITUDE= -179.99999 STATE= " Jammu "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+//---------------------------------------------------------------End of Testing State--------------------------------------------------------
+//----------------------------------------------------------Testing Country----------------------------------------------------------------------
+[Test]
+title ValidCountry
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&cr=India 
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999 COUNTRY= " India "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title Country_EncodedChars
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&cr=The%20Separate%20Customs%20Territory%20of%20Taiwan%2C%20Penghu%2C%20Kinmen%2C%20and%20Matsu%20%28Chinese%20Taipei%29
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999 COUNTRY= " The Separate Customs Territory of Taiwan, Penghu, Kinmen, and Matsu (Chinese Taipei) "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title NullCountry
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&sp=
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title CountryBV1
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&sp=123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title CountryBV2
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&sp=12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title CountryBV3
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&sp=1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title CountryRecovery
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=-179.99999&la=-89.99999&sp=Jammu & Kashmir
+foobar ParseContent
+foobar Landmark LATITUDE= -89.99999 LONGITUDE= -179.99999 COUNTRY= " Jammu "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+//---------------------------------------------------------------End of Testing Country--------------------------------------------------------
+//----------------------------------------------------------Testing Telephone----------------------------------------------------------------------
+[Test]
+title ValidTelephone
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&t=08040159999 
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999 TELEPHONE= " 08040159999 "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title Telephone_EncodedChars
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&t=%2b44%20%280%291248%20717171
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999 TELEPHONE= " +44 (0) 1248 717171 "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title NullTelephone
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&t=
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title TelephoneBV1
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&t=123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999 
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title TelephoneBV2
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&t=12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title TelephoneBV3
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&t=1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title TelephoneRecovery
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=-179.99999&la=-89.99999&t=%2b91%20080%204015 99999
+foobar ParseContent
+foobar Landmark LATITUDE= -89.99999 LONGITUDE= -179.99999 TELEPHONE= " +91 080 4015 "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+//---------------------------------------------------------------End of Testing Telephone--------------------------------------------------------
+//----------------------------------------------------------Testing Web----------------------------------------------------------------------
+[Test]
+title ValidWeb
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&w=www%2Enokia%2ecom 
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999 WEB= " www.nokia.com "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title Web_EncodedChars
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&w=www%2ellanfairpwllgwyngyllgogerychwyrndrobwyll%2Dllantysiliogogogoch%2ecom%2F
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999 WEB= " www.llanfairpwllgwyngyllgogerychwyrndrobwyll-llantysiliogogogoch.com/ "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title NullWeb
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&w=
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title WebBV1
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&w=123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title WebBV2
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&w=12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title WebBV3
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&w=1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title webRecovery
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=-179.99999&la=-89.99999&w=http://
+foobar ParseContent
+foobar Landmark LATITUDE= -89.99999 LONGITUDE= -179.99999 WEB= " http "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+//---------------------------------------------------------------End of Testing Web--------------------------------------------------------
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkURL/conf/CUTLmkURLParser1.cfg	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,565 @@
+// Definitions
+[Define]
+Parser 0
+default 0
+Encoder 1
+NoProtocol 1
+NullCat 1
+https 2
+InvalidProtocol 3
+NoHostName 4
+InvalidHostName 5
+InvalidHostName1 6
+InvalidHostName2 7
+BV_Description1 8
+BV_Description2 9
+BV_Description3 10
+UnknownFormat 2
+deletefile 1
+TestPanic 1
+[Enddefine]
+
+//----------------------------------------------------------Testing Category----------------------------------------------------------------------
+ 
+[Test]
+title MultipleCat_Unique
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputFileHandle default lo=179.99999&la=89.99999&cat=dummy1&cat=dummy2 
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar LandmarkCategory default CATEGORY= " dummy1 " CATEGORYTWO= " dummy2 "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title MultipleCat_Duplicate
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputFileHandle default lo=179.99999&la=89.99999&cat=dummy&cat=dummy 
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar LandmarkCategory default CATEGORY= " dummy "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title NullCat
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputFileHandle default lo=179.99999&la=89.99999&cat= 
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar LandmarkCategory NullCat
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title CategoryBV1
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&cat=12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar LandmarkCategory default
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title CategoryBV2
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&cat=1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar LandmarkCategory default
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title CategoryBV3
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&cat=123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar LandmarkCategory LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title CategoryRecovery
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=-179.99999&la=-89.99999&cat=cate_gory
+foobar ParseContent
+foobar Landmark  LATITUDE= -89.99999 LONGITUDE= -179.99999 
+foobar LandmarkCategory default CATEGORY= " cate "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+//---------------------------------------------------------------End of Testing Category--------------------------------------------------------
+//----------------------------------------------------------Testing Description----------------------------------------------------------------------
+[Test]
+title ValidDescription
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&d=Example
+foobar ParseContent
+foobar Landmark LMDESCRIPTION= " Example " LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title Description_EncodedChars
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&d=This%20is%20Example
+foobar ParseContent
+foobar Landmark LMDESCRIPTION= " This is Example " LATITUDE= 89.99999 LONGITUDE= 179.99999 
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title NullDescription
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=179.99999&la=89.99999&d=
+foobar ParseContent
+foobar Landmark LATITUDE= 89.99999 LONGITUDE= 179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title DescriptionBV1
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputFileHandle BV_Description1
+foobar ParseContent
+foobar Landmark LATITUDE= -89.99999 LONGITUDE= -179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title DescriptionBV2
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputFileHandle BV_Description2
+foobar ParseContent
+foobar Landmark LATITUDE= -89.99999 LONGITUDE= -179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title DescriptionBV3
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputFileHandle BV_Description3
+foobar ParseContent
+foobar Landmark LATITUDE= -89.99999 LONGITUDE= -179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title DescriptionRecovery
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=-179.99999&la=-89.99999&d=This is Invalid
+foobar ParseContent
+foobar Landmark LMDESCRIPTION= " This " LATITUDE= -89.99999 LONGITUDE= -179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+//---------------------------------------------------------------End of Testing Description--------------------------------------------------------
+//-----------------------------------------------------------------Testing Position accuracy-------------------------------------------------------
+[Test]
+title ValidPA
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=-179.99999&la=-89.99999&pa=4.05
+foobar ParseContent
+foobar Landmark  HACCURACY= 4.05 LATITUDE= -89.99999 LONGITUDE= -179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title NullPA
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=-179.99999&la=-89.99999&pa=
+foobar ParseContent
+foobar Landmark LATITUDE= -89.99999 LONGITUDE= -179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title NonDigitPA
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=-179.99999&la=-89.99999&pa=123#
+foobar ParseContent
+foobar Landmark LATITUDE= -89.99999 LONGITUDE= -179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//-----------------------------------------------------End of Position accuracy-----------------------------------------------
+
+//-----------------------------------------------------------------Testing Vertical accuracy-------------------------------------------------------
+[Test]
+title ValidVA
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=-179.99999&la=-89.99999&aa=12313.016
+foobar ParseContent
+foobar Landmark VERT_ACC= 12313.02 LATITUDE= -89.99999 LONGITUDE= -179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title NullVA
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=-179.99999&la=-89.99999&aa=
+foobar ParseContent
+foobar Landmark LATITUDE= -89.99999 LONGITUDE= -179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title NonDigitVA
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=-179.99999&la=-89.99999&aa=rsen
+foobar ParseContent
+foobar Landmark LATITUDE= -89.99999 LONGITUDE= -179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+//-----------------------------------------------------End of Vertical accuracy-----------------------------------------------
+
+
+//-----------------------------------------------------------------Testing Altitude-------------------------------------------------------
+[Test]
+title ValidAlt
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=-179.99999&la=-89.99999&a=50000
+foobar ParseContent
+foobar Landmark LATITUDE= -89.99999 LONGITUDE= -179.99999 ALTITUDE= 50000.00
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title NullAlt
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=-179.99999&la=-89.99999&a=
+foobar ParseContent
+foobar Landmark LATITUDE= -89.99999 LONGITUDE= -179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title NonDigitAlt
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=-179.99999&la=-89.99999&a=inf
+foobar ParseContent
+foobar Landmark LATITUDE= -89.99999 LONGITUDE= -179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title NegativeAltitude
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=-179.99999&la=-89.99999&a=-0.124
+foobar ParseContent
+foobar Landmark LATITUDE= -89.99999 LONGITUDE= -179.99999 ALTITUDE= -0.124
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+//-----------------------------------------------------End of Altitude-----------------------------------------------
+
+
+//-----------------------------------------------------------------Testing Speed-------------------------------------------------------
+[Test]
+title ValidSpeed
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=-179.99999&la=-89.99999&v=9.125
+foobar ParseContent
+foobar Landmark LATITUDE= -89.99999 LONGITUDE= -179.99999 SPEED= " 9.12 "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title NullSpeed
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=-179.99999&la=-89.99999&v=
+foobar ParseContent
+foobar Landmark LATITUDE= -89.99999 LONGITUDE= -179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title NonDigitSpeed
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=-179.99999&la=-89.99999&v=NaN
+foobar ParseContent
+foobar Landmark LATITUDE= -89.99999 LONGITUDE= -179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//-----------------------------------------------------End of speed-----------------------------------------------
+//-----------------------------------------------------------------Testing Heading-------------------------------------------------------
+[Test]
+title ValidHeading
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=-179.99999&la=-89.99999&h=90.126
+foobar ParseContent
+foobar Landmark LATITUDE= -89.99999 LONGITUDE= -179.99999 HEADING= " 90.13 "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title NullHeading
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=-179.99999&la=-89.99999&h=
+foobar ParseContent
+foobar Landmark LATITUDE= -89.99999 LONGITUDE= -179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title NonDigitHeading
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=-179.99999&la=-89.99999&h=-inf
+foobar ParseContent
+foobar Landmark LATITUDE= -89.99999 LONGITUDE= -179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//-----------------------------------------------------End of Heading-----------------------------------------------
+//-----------------------------------------------------------------Testing TimeStamp-------------------------------------------------------
+[Test]
+title ValidTimeStamp
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=-179.99999&la=-89.99999&ts=20090516:124800.000000
+foobar ParseContent
+foobar Landmark LATITUDE= -89.99999 LONGITUDE= -179.99999 TS= " 20090516:124800.000000 "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title TSWithoutTime
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=-179.99999&la=-89.99999&ts=20090516
+foobar ParseContent
+foobar Landmark LATITUDE= -89.99999 LONGITUDE= -179.99999 TS= " 20090516:000000.000000 "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title TSWithoutDate
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=-179.99999&la=-89.99999&ts=:124800.000000
+foobar ParseContent
+foobar Landmark LATITUDE= -89.99999 LONGITUDE= -179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title InvalidMonth
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=-179.99999&la=-89.99999&ts=20091216
+foobar ParseContent
+foobar Landmark LATITUDE= -89.99999 LONGITUDE= -179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title TestLeapYear
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=-179.99999&la=-89.99999&ts=20080229
+foobar ParseContent
+foobar Landmark LATITUDE= -89.99999 LONGITUDE= -179.99999 TS= " 20080229:000000.000000 "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title TestInvalidDay
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=-179.99999&la=-89.99999&ts=20090229
+foobar ParseContent
+foobar Landmark LATITUDE= -89.99999 LONGITUDE= -179.99999
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+//-----------------------------------------------------End of TestingTimeStamp-----------------------------------------------
+//--------------------------------------------------------Misc Error Handling Test Cases--------------------------------------
+[Test]
+title DiscardingofFileHandle
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputFileHandle default lo=1&la=4
+foobar SetInputBuffer default lo=-179.99999&la=-89.99999&ts=20090616:123605.000000
+foobar ParseContent
+foobar Landmark LATITUDE= -89.99999 LONGITUDE= -179.99999 TS= " 20090616:123605.000000 "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title DiscardingofBuffer
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=1&la=4
+foobar SetInputFile
+foobar ParseContent
+foobar Landmark NAME= " Nokia India " LMDESCRIPTION= " This is an Example " VERT_ACC= 3.12 HACCURACY= 12.00 LATITUDE= 85.100000 LONGITUDE= 101.102000 ALTITUDE= 100  SPEED= 5.12 HEADING= 90.00 COUNTRY= " India " STATE= " Karnataka " CITY= " Bangalore " STREET= " Outer Ring Road " POSTALCODE= " 560 103 " HOUSENO.= " 2A Jupiter Block " TELEPHONE= " +91-9902019801 " CATEGORY= Business WEB= " www.nokia.com " PID= " 1234 " TS= " 20090430:120000.100000 "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title DiscardingofFile
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputFile
+foobar SetInputBuffer default lo=-179.99999&la=-89.99999&ts=20090616
+foobar ParseContent
+foobar Landmark LATITUDE= -89.99999 LONGITUDE= -179.99999 TS= " 20090616:000000.000000 "
+foobar NumOfParsedLandmarks 1
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title DeleteInputFile
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputFile deletefile
+foobar CleanUp
+delete foobar
+[Endtest]
+
+//[Test]
+//title WriteModeFileHandle
+//create CUTLandmarkURL foobar
+//foobar CreateInstanceL Parser
+//foobar SetInputFileHandle default TESTMODE= 1
+//foobar CleanUp
+//delete foobar
+//[Endtest]
+
+[Test]
+title TestPanic_Parsing
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar ParseContent TestPanic
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title TestPanic_Landmark
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar SetInputBuffer default lo=-179.99999&la=-89.99999&ts=20090516:124800.000000
+foobar ParseContent
+foobar Landmark TestPanic
+foobar CleanUp
+delete foobar
+[Endtest]
+
+[Test]
+title Misc
+create CUTLandmarkURL foobar
+foobar CreateInstanceL Parser
+foobar CreateInstanceL Encoder
+foobar TestMisc
+foobar CleanUp
+delete foobar
+[Endtest]
+//-----------------------------------------------End of Testing------------------------------------------------------------------
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkURL/data/URLParser.txt	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,1 @@
+http://www.maps.ovi.com/?la=85.100000&lo=101.102000&a=100.00&pa=12.00&aa=3.12&pid=1234&n=Nokia%20India&d=This%20is%20an%20Example&sn=2A%20Jupiter%20Block&s=Outer%20Ring%20Road&c=Bangalore&sp=Karnataka&cr=India&pz=560%20103&t=%2b91%2d9902019801&v=5.12&h=90.00&cat=dummy&w=www%2enokia%2ecom&ts=20090430:120000.100000
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkURL/eabi/CUTLandmarkURLu.def	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,3 @@
+EXPORTS
+	_Z9LibEntryLR13CTestModuleIf @ 1 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkURL/group/CUTLandmarkURL.mmp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,102 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  mmp file for test component
+*
+*/
+
+/*TYPE TESTCLASS*//*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+* 
+* Description:  MMP file for STIF Test Framework's TestScripter 
+* testclass test module.
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+TARGET          CUTLandmarkURL.dll
+TARGETTYPE      dll
+UID             0x1000008D 0x101FB3E3
+
+CAPABILITY      ALL -TCB
+/* Remove comments and replace 0x00000000 with correct vendor id */
+// VENDORID     0x00000000
+/* Remove comments and replace 0x00000000 with correct secure id */
+// SECUREID     0x00000000
+
+//TARGETPATH      ?target_path
+DEFFILE         CUTLandmarkURL.def
+
+USERINCLUDE     ../inc 
+
+APP_LAYER_SYSTEMINCLUDE
+MW_LAYER_SYSTEMINCLUDE
+OS_LAYER_SYSTEMINCLUDE
+
+SOURCEPATH      ../src
+
+SOURCE          CUTLandmarkURL.cpp
+SOURCE          CUTLandmarkURLBlocks.cpp
+
+//RESOURCE        resource_file
+//RESOURCE        resource_file2
+
+LIBRARY         euser.lib
+LIBRARY         stiftestinterface.lib
+LIBRARY         stiftestengine.lib
+LIBRARY			eposlandmarks.lib
+LIBRARY 		bafl.lib
+LIBRARY			Lbs.lib
+LIBRARY			efsrv.lib 
+LIBRARY			egul.lib
+
+LANG            SC
+
+/*
+START WINS      
+?wins_specific_information
+END
+
+START MARM
+?marm_specific_information
+END
+*/
+// Other possible keywords:
+ 
+// DOCUMENT     ?file, that is not compiled, but added to MSVC project workspace (i.e. release notes)
+/*
+START BITMAP ?target
+TARGETPATH   ?emulated_path_on_target_machine
+HEADER
+SOURCE       ?color_depth ?source_bitmap
+END
+*/
+// DEFFILE ?filename
+// AIF ?filename
+EPOCALLOWDLLDATA
+
+SMPSAFE
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkURL/group/CUTLandmarkURL.pkg	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,69 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+; 
+; Description:   package file for device installation
+;
+
+; Languages
+&EN
+
+; Provide value for uid
+#{"STIF"},(0x00000000),1,1,0,TYPE=SA
+
+; Series60 product id for S60 3.0
+[0x101F7961], 0, 0, 0, {"Series60ProductID"}
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+; Logo
+; None
+
+; Package signature - Optional
+; None
+
+; Start of Package body
+
+; Condition blocks
+; None
+
+; Options list
+; None
+
+; Files to install
+"\epoc32\release\armv5\urel\CUTLandmarkURL.dll"-"!:\sys\bin\CUTLandmarkURL.dll"
+
+;data file
+"..\data\URLParser.txt"-"C:\testframework\URLParser.txt"
+
+"..\conf\CUTLandmarkURL.cfg"-"C:\testframework\CUTLandmarkURL.cfg"
+"..\conf\CUTLandmarkURL1.cfg"-"C:\testframework\CUTLandmarkURL1.cfg"
+"..\conf\CUTLandmarkURL2.cfg"-"C:\testframework\CUTLandmarkURL2.cfg"
+"..\conf\CUTLmkURLParser.cfg"-"C:\testframework\CUTLmkURLParser.cfg"
+"..\conf\CUTLmkURLParser1.cfg"-"C:\testframework\CUTLmkURLParser1.cfg"
+
+"..\init\testframework.ini"-"C:\testframework\testframework.ini"
+  
+; Embedded SIS 
+; None
+
+; End of Package body
+
+; PKG dependencies
+; None
+
+; PKG capabilities
+; None
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkURL/group/bld.inf	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,70 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+* 
+* Description:   This is build file for urlparser test component
+*
+*/
+
+
+
+
+PRJ_PLATFORMS
+// specify the platforms your component needs to be built for here
+// defaults to WINS MARM so you can ignore this if you just build these
+	
+	DEFAULT
+
+PRJ_TESTEXPORTS
+// NOTE: If using ARS requirements all export operations should be done under this.
+// 'abld test export'
+../data/URLParser.txt /epoc32/winscw/c/TestFramework/URLParser.txt
+../conf/CUTLandmarkURL1.cfg /epoc32/winscw/c/TestFramework/CUTLandmarkURL1.cfg
+../conf/CUTLandmarkURL2.cfg /epoc32/winscw/c/TestFramework/CUTLandmarkURL2.cfg
+../conf/CUTLandmarkURL.cfg /epoc32/winscw/c/TestFramework/CUTLandmarkURL.cfg
+../conf/CUTLmkURLParser.cfg /epoc32/winscw/c/TestFramework/CUTLmkURLParser.cfg
+../conf/CUTLmkURLParser1.cfg /epoc32/winscw/c/TestFramework/CUTLmkURLParser1.cfg
+
+PRJ_EXPORTS
+
+
+// Specify the source file followed by its destination here
+// copy will be used to copy the source file to its destination
+// If there's no destination then the source file will be copied
+// to the same name in /epoc32/include
+// Example: 
+/*
+/agnmodel/inc/AGMCOMON.H
+*/
+
+PRJ_TESTMMPFILES
+
+	CUTLandmarkURL.mmp
+
+PRJ_MMPFILES
+
+
+// Specify the .mmp files required for building the important component
+// releasables.
+//
+// Specify "tidy" if the component you need to build doesn't need to be
+// released. Specify "ignore" if the MMP file exists but should be
+// ignored.
+// Example:
+/*
+/agnmodel/group/agnmodel.mmp
+#if defined(MARM)
+/agnmodel/group/agsvexe.mmp
+#endif
+*/
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkURL/inc/CUTLandmarkURL.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,348 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+* 
+* Description: STIF testclass declaration
+*
+*/
+
+#ifndef CUTLANDMARKURL_H
+#define CUTLANDMARKURL_H
+
+//  INCLUDES
+#include <StifLogger.h>
+#include <TestScripterInternal.h>
+#include <StifTestModule.h>
+#include <TestclassAssert.h>
+
+#include <EPos_CPosLandmark.h>
+#include <EPos_CPosLandmarkEncoder.h>
+#include <EPos_CPosLandmarkParser.h>
+#include <EPos_CPosLandmarkDatabase.h>
+
+
+// CONSTANTS
+//const ?type ?constant_var = ?constant;
+const TInt KMaxTestBuf= 10240;
+const TInt KMaxTagName= 24;
+const TInt CREATE_PARSER = 0;
+const TInt CREATE_ENCODER =1;
+const TInt MULTIPLE_ENCODER =2;
+const TInt MULTIPLE_PARSER =3;
+const TInt BUFFER_OUTPUT =0;
+const TInt FILE_OUTPUT =1;
+const TInt NO_ENCODING_FILE =2;
+const TInt NO_ENCODING_BUFFER =3;
+const TInt ERROR_VERIFICATION_OPFILE =1;
+const TInt PANIC_CODE_VERIIFCATION =1;
+const TInt TEST_NULL_NAME = 1;
+const TInt TEST_NULL_STREET = 2;
+const TInt TEST_NULL_HNO = 3;
+const TInt TEST_NULL_POSTALCODE = 4;
+const TInt TEST_NULL_CITY = 5;
+const TInt TEST_NULL_STATE = 6;
+const TInt TEST_NULL_COUNTRY = 7;
+const TInt TEST_NULL_TELEPHONE = 8;
+const TInt TEST_NULL_WEB = 9;
+const TInt TEST_NULL_DESCRIPTION = 10;
+const TInt TEST_NULL_SPEED = 41;
+const TInt TEST_NULL_HEADING = 42;
+const TInt TEST_NULL_PID = 43;
+const TInt TEST_MAXLENGTH_NAME = 11;
+const TInt TEST_MAXLENGTH1_NAME = 12;
+const TInt TEST_MAXLENGTH2_NAME = 13;
+const TInt TEST_MAXLENGTH_STREET = 14;
+const TInt TEST_MAXLENGTH1_STREET = 15;
+const TInt TEST_MAXLENGTH2_STREET = 16;
+const TInt TEST_MAXLENGTH_HNO = 17;
+const TInt TEST_MAXLENGTH1_HNO = 18;
+const TInt TEST_MAXLENGTH2_HNO = 19;
+const TInt TEST_MAXLENGTH_POSTALCODE = 20;
+const TInt TEST_MAXLENGTH1_POSTALCODE = 21;
+const TInt TEST_MAXLENGTH2_POSTALCODE = 22;
+const TInt TEST_MAXLENGTH_CITY = 23;
+const TInt TEST_MAXLENGTH1_CITY = 24;
+const TInt TEST_MAXLENGTH2_CITY = 25;
+const TInt TEST_MAXLENGTH_STATE = 26;
+const TInt TEST_MAXLENGTH1_STATE = 27;
+const TInt TEST_MAXLENGTH2_STATE = 28;
+const TInt TEST_MAXLENGTH_COUNTRY = 29;
+const TInt TEST_MAXLENGTH1_COUNTRY = 30;
+const TInt TEST_MAXLENGTH2_COUNTRY = 31;
+const TInt TEST_MAXLENGTH_TELEPHONE = 32;
+const TInt TEST_MAXLENGTH1_TELEPHONE = 33;
+const TInt TEST_MAXLENGTH2_TELEPHONE = 34;
+const TInt TEST_MAXLENGTH_WEB = 35;
+const TInt TEST_MAXLENGTH1_WEB = 36;
+const TInt TEST_MAXLENGTH2_WEB = 37;
+const TInt TEST_MAXLENGTH_DESCRIPTION = 38;
+const TInt TEST_MAXLENGTH1_DESCRIPTION = 39;
+const TInt TEST_MAXLENGTH2_DESCRIPTION = 40;
+const TInt TEST_MAXLENGTH_PID = 44;
+const TInt TEST_MAXLENGTH1_PID = 45;
+const TInt TEST_MAXLENGTH2_PID = 46;
+const TInt TEST_MAX_HA = 47;
+const TInt TEST_MAX_VA = 48;
+
+//constants for testing the Parser
+const TInt NOPROTOCOL= 1;
+const TInt HTTPS= 2;
+const TInt INVALIDPROTOCOL= 3;
+const TInt NOHOSTNAME= 4;
+const TInt INVALIDHOSTNAME= 5;
+const TInt INVALIDHOSTNAME1= 6;
+const TInt INVALIDHOSTNAME2= 7;
+const TInt DESC_BV1= 8;
+const TInt DESC_BV2= 9;
+const TInt DESC_BV3= 10;
+const TInt UNKNOWNFORMAT= 2;
+const TInt NOLANDMARK= 2;
+const TInt NULLCAT= 1;
+const TInt DELETEFILE= 1;
+const TInt KRead= 0;
+const TInt KReadWrite= 1;
+const TUint KColumnSeperator='&';
+
+
+
+
+// MACROS
+//#define ?macro ?macro_def
+#define TEST_CLASS_VERSION_MAJOR 0
+#define TEST_CLASS_VERSION_MINOR 0
+#define TEST_CLASS_VERSION_BUILD 0
+
+// Logging path
+_LIT( KCUTLandmarkURLLogPath, "\\logs\\testframework\\CUTLandmarkURL\\" ); 
+// Log file
+_LIT( KCUTLandmarkURLLogFile, "CUTLandmarkURL.txt" ); 
+_LIT( KCUTLandmarkURLLogFileWithTitle, "CUTLandmarkURL_[%S].txt" );
+
+// FUNCTION PROTOTYPES
+//?type ?function_name(?arg_list);
+
+// FORWARD DECLARATIONS
+//class ?FORWARD_CLASSNAME;
+class CCUTLandmarkURL;
+
+// DATA TYPES
+//enum ?declaration
+//typedef ?declaration
+//extern ?data_type;
+
+// CLASS DECLARATION
+
+/**
+*  CCUTLandmarkURL test class for STIF Test Framework TestScripter.
+*  ?other_description_lines
+*
+*  @lib ?library
+*  @since ?Series60_version
+*/
+NONSHARABLE_CLASS(CCUTLandmarkURL) : public CScriptBase
+    {
+    public:  // Constructors and destructor
+
+        /**
+        * Two-phased constructor.
+        */
+        static CCUTLandmarkURL* NewL( CTestModuleIf& aTestModuleIf );
+
+        /**
+        * Destructor.
+        */
+        virtual ~CCUTLandmarkURL();
+
+    public: // New functions
+
+        /**
+        * ?member_description.
+        * @since ?Series60_version
+        * @param ?arg1 ?description
+        * @return ?description
+        */
+        //?type ?member_function( ?type ?arg1 );
+
+    public: // Functions from base classes
+
+        /**
+        * From CScriptBase Runs a script line.
+        * @since ?Series60_version
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code
+        */
+        virtual TInt RunMethodL( CStifItemParser& aItem );
+
+    protected:  // New functions
+
+        /**
+        * ?member_description.
+        * @since ?Series60_version
+        * @param ?arg1 ?description
+        * @return ?description
+        */
+        //?type ?member_function( ?type ?arg1 );
+
+    protected:  // Functions from base classes
+
+        /**
+        * From ?base_class ?member_description
+        */
+        //?type ?member_function();
+
+    private:
+
+        /**
+        * C++ default constructor.
+        */
+        CCUTLandmarkURL( CTestModuleIf& aTestModuleIf );
+
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+        void ConstructL();
+
+        // Prohibit copy constructor if not deriving from CBase.
+        // ?classname( const ?classname& );
+        // Prohibit assigment operator if not deriving from CBase.
+        // ?classname& operator=( const ?classname& );
+
+        /**
+        * Frees all resources allocated from test methods.
+        * @since ?Series60_version
+        */
+        void Delete();
+
+        /**
+        * Test methods are listed below. 
+        */
+
+        /**
+        * Example test method.
+        * @since ?Series60_version
+        * @param aItem Script line containing parameters.
+        * @return Symbian OS error code.
+        */
+       
+        TInt CreateInstanceL(CStifItemParser& aItem);
+        TInt CleanUp (CStifItemParser& aItem);
+        TInt CreateLandmarkL (CStifItemParser& aItem); 
+        
+        //Test methods for parser        
+        TInt SetInputBufferL(CStifItemParser& aItem);
+        TInt SetInputFile(CStifItemParser& aItem);
+        TInt SetInputFileHandleL(CStifItemParser& aItem);
+        TInt ParseContent(CStifItemParser& aItem);
+        TInt NumOfParsedLandmarksL(CStifItemParser& aItem);
+        TInt LandmarkL(CStifItemParser& aItem);
+        TInt LandmarkCategoryL(CStifItemParser& aItem);
+        void MiscL(CStifItemParser& aItem);
+
+        
+        //Test methods for encoder        
+        TInt SetOutputFileHandle (CStifItemParser& aItem);
+        TInt SetOutputBuffer (CStifItemParser& aItem);
+        TInt AddLandmark (CStifItemParser& aItem);
+        TInt AddCategoryForLatestLandmarkL (CStifItemParser& aItem);
+        TInt FinalizeEncoding (CStifItemParser& aItem);
+        TInt VerifyEncodingL (CStifItemParser& aItem);
+
+        //Helper methods
+        void VerifyParsingL(CStifItemParser& aItem, CPosLandmark* aPosLandmark);
+        TInt ParseURL(const TDesC8 & aDelimiter, TPtr8 aBufferedURL, CStifItemParser& aItem);
+        TInt ParseValueL(TPtr8 aBufferedURL, CStifItemParser& aItem);
+        TInt CompareParamValueL(TBuf8<KMaxTagName> aTagName , TPtrC8 aValue, CStifItemParser& aItem);
+        TInt GetStringTillQuote(CStifItemParser& aItem, TName& aName);
+        TInt GetStringAfterTag(CStifItemParser& aItem, const TDesC& aTag, TName& aString);
+
+
+        /**
+         * Method used to log version of test class
+         */
+        void SendTestClassVersion();
+
+        //ADD NEW METHOD DEC HERE
+        //[TestMethods] - Do not remove
+
+    public:     // Data
+        // ?one_line_short_description_of_data
+        //?data_declaration;
+
+    protected:  // Data
+        // ?one_line_short_description_of_data
+        //?data_declaration;
+
+    private:    // Data
+    	
+    	CPosLandmarkParser *iPosLandmarkParser;
+    	CPosLandmarkEncoder *iPosLandmarkEncoder;
+    	CPosLandmark *iPosLandmark;
+        CPosLmOperation*    iOperation;
+        CBufBase* iEncoderBuffer;
+        HBufC8 * iParsedURL ;
+        HBufC8 * iRemainingURL ;
+        CPosLandmarkDatabase*   iDatabase;
+        RFs iFileSession;
+        RFile iFile;
+
+        // These data types stores the values from the cfg files
+        TPtrC iVerticalAccuracy;
+        TPtrC iHorizontalAccuracy;
+        TName iName;
+        TName iDescription;
+        TPtrC iLatitude;
+        TPtrC iLongitude;
+        TPtrC iAltitude;
+        TPtrC iCategory;
+        TName iMatchCategory;
+        TName iMatchCategory2;
+        TName iTS;
+        TName  iPID;
+        TPtrC  iYear;
+        TPtrC  iMonth;
+        TPtrC  iDay;
+        TPtrC  iHour;
+        TPtrC  iMinutes;
+        TPtrC  iSeconds;
+        TPtrC  iMSeconds;
+        TPtrC iSpeed;
+        TName iTelephone;
+        TName iWeb;
+        TPtrC iHeading;
+        TName iCountry;
+        TName iState;
+        TName iCity;
+        TName iStreet;
+        TName iHouseNumber;
+        TName iPostalCode;
+        
+        TInt iCount;
+
+
+        // ?one_line_short_description_of_data
+        //?data_declaration;
+
+        // Reserved pointer for future extension
+        //TAny* iReserved;
+
+    public:     // Friend classes
+        //?friend_class_declaration;
+    protected:  // Friend classes
+        //?friend_class_declaration;
+    private:    // Friend classes
+        //?friend_class_declaration;
+
+    };
+
+#endif      // CUTLANDMARKURL_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkURL/inc/EPos_LandmarksErrors.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,83 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:    Defines landmarks panic codes
+*
+*/
+
+
+
+
+
+#ifndef LANDMARKSERRORS_H
+#define LANDMARKSERRORS_H
+
+// INCLUDES
+#include <e32base.h>
+#include <e32def.h>
+
+// CONSTANTS
+_LIT(KPosLandmarksClientPanic,"Landmarks Client");
+
+/**
+ * Landmarks panic codes
+ *
+ */
+enum TPositionLandmarksClientPanic
+    {
+    EPosInvalidPositionFieldId                  = 0
+    /** A client has specified a position field ID that is invalid for
+        the landmark. */,
+    EPosNoneOrMultipleLandmarkAttributeSet      = 1
+    /** A client has specified none or multiple landmark attributes. */,
+    EPosSpecifiedIntervalLiesOutsideIteratedSet = 2
+    /** A client has specified an interval that lies partially outside the
+        iterated set. */,
+    EPosNaNCoordinate                           = 3
+    /** A client has specified a coordinate with latitude and/or longitude set
+        to NaN. */,
+    EPosInvalidLandmarkAttribute                = 4
+    /** A client has specified a landmark attribute that is invalid. */,
+    EPosInvalidValueSpecifiedInResourceFile     = 5
+    /** An invalid value has been detected in a resource file. */,
+    EPosInvalidPartialReadParameters            = 6
+    /** Invalid partial read parameters have been detected. */,
+    EPosInvalidRequestedPositionFields          = 7
+    /** Invalid requested position fields have been detected. */,
+    EPosNegativeValue                           = 8
+    /** A negative value has been detected. */,
+    EPosInvalidOperationMode                    = 9
+    /** Invalid operation mode. Caused by mixed calls to NextStep and ExecuteL
+        for an CPosLmOperation object or subsequent calls to NextStep. */,
+    EPosInvalidEnumValue                        = 10
+    /** Invalid enum value. */,
+    EPosLmProtocolBreak                         = 11
+    /** The protocol of CPosLandmarkEncoder/CPosLandmarkParser is not
+        followed. */,
+    EPosLmInvalidArgument                       = 12
+    /** A client has passed an invalid argument. */,
+    EPosInvalidIndex                            = 14
+    /** A client has specified an invalid index. */,
+    EPosInvalidItemType                         = 15
+    /** A client has specified an invalid item type. */,
+    EPosSearchOperationInUse                    = 16
+    /** A client has tried to set/unset display data during an ongoing search.
+        */
+    };
+
+// FUNCTION PROTOTYPES
+IMPORT_C GLDEF_C void Panic(const TDesC& aCategory, TInt aReason);
+
+#endif      // LANDMARKSERRORS_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkURL/init/testframework.ini	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,176 @@
+#
+# This is STIFTestFramework initialization file
+# Comment lines start with '#'-character.
+# See STIF TestFramework users guide.doc for instructions
+
+# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+# Set following test engine settings:
+#        - Set Test Reporting mode. TestReportMode's possible values are:
+#                + 'Summary': Summary of the tested test cases.
+#                + 'Environment': Hardware and software info.
+#                + 'TestCases': Test case report.
+#                + 'FullReport': Set of all above ones.
+#                + Example 'TestReportMode= Summary TestCases'
+#
+#         - CreateTestReport setting controls report creation mode
+#                + YES, Test report will created.
+#                + NO, No Test report.
+#
+#         - File path indicates the base path of the test report.
+#         - File name indicates the name of the test report.
+#
+#         - File format indicates the type of the test report.
+#                + TXT, Test report file will be txt type, for example 'TestReport.txt'.
+#                + HTML, Test report will be html type, for example 'TestReport.html'.
+#
+#         - File output indicates output source of the test report.
+#                + FILE, Test report logging to file.
+#                + RDEBUG, Test report logging to using rdebug.
+#
+#         - File Creation Mode indicates test report overwriting if file exist.
+#                + OVERWRITE, Overwrites if the Test report file exist.
+#                + APPEND, Continue logging after the old Test report information if
+#                 report exist.
+
+[Engine_Defaults]
+
+TestReportMode= FullReport                # Possible values are:
+                                        # 'Summary', 'Environment', 'TestCases' or 'FullReport'
+
+CreateTestReport= YES                        # Possible values: YES or NO
+
+TestReportFilePath= C:\LOGS\TestFramework\
+TestReportFileName= TestReport
+
+TestReportFormat= TXT                        # Possible values: TXT or HTML
+TestReportOutput= FILE                        # Possible values: FILE or RDEBUG
+TestReportFileCreationMode= OVERWRITE        # Possible values: OVERWRITE or APPEND
+
+[End_Defaults]
+# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+
+
+
+# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+# Module configurations start
+# Modules are added between module tags
+# tags. Module name is specified after ModuleName= tag, like
+# ModuleName= XXXXXXXXX
+# Modules might have initialisation file, specified as
+# IniFile= YYYYYY
+# Modules might have several configuration files, like
+# TestCaseFile= NormalCases.txt
+# TestCaseFile= SmokeCases.txt
+# TestCaseFile= ManualCases.txt
+
+# (TestCaseFile is synonym for old term ConfigFile)
+
+# Following case specifies demo module settings. Demo module
+# does not read any settings from file, so tags
+# IniFile and TestCaseFile are not used.
+# In the simplest case it is enough to specify only the
+# name of the test module when adding new test module
+
+[New_Module]
+ModuleName= testscripter
+TestCaseFile= c:\testframework\CUTLandmarkURL.cfg
+TestCaseFile= c:\testframework\CUTLandmarkURL1.cfg
+TestCaseFile= c:\testframework\CUTLandmarkURL2.cfg
+TestCaseFile= c:\testframework\CUTLmkURLParser.cfg
+TestCaseFile= c:\testframework\CUTLmkURLParser1.cfg
+[End_Module]
+
+#Load testmoduleXXX, optionally with initialization file and/or test case files
+#[New_Module]
+#ModuleName= testmodulexxx
+
+#TestModuleXXX used initialization file
+#IniFile= init.txt
+
+#TestModuleXXX used configuration file(s)
+#TestCaseFile= testcases1.cfg
+#TestCaseFile= testcases2.cfg
+#TestCaseFile= manualtestcases.cfg
+
+#[End_Module]
+# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+
+
+
+# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+# Set STIFTestFramework logging overwrite parameters for Logger.
+#         Hardware and emulator environment logging path and styles can
+#         be configured from here to overwrite the Logger's implemented values.
+#
+#        Settings description:
+#        - Indicates option for creation log directory/directories. If log directory/directories
+#         is/are not created by user they will make by software.
+#                + YES, Create log directory/directories if not allready exist.
+#                + NO, Log directory/directories not created. Only created one is used.
+#
+#        - Overwrite emulator path setting.
+#                + Example: If 'EmulatorBasePath= C:\LOGS\TestFramework\' and in code is defined
+#                           Logger's path 'D:\\LOGS\\Module\\' with those definition the path
+#                           will be 'C:\LOGS\TestFramework\LOGS\Module\'
+#
+#        - Overwrite emulator's logging format.
+#                + TXT, Log file(s) will be txt type(s), for example 'Module.txt'.
+#                + HTML, Log file(s) will be html type(s), for example 'Module.html'.
+#
+#        - Overwrited emulator logging output source.
+#                + FILE, Logging to file(s).
+#                + RDEBUG, Logging to using rdebug(s).
+#
+#        - Overwrite hardware path setting (Same description as above in emulator path).
+#        - Overwrite hardware's logging format(Same description as above in emulator format).
+#        - Overwrite hardware's logging output source(Same description as above in emulator output).
+#
+#        - File Creation Mode indicates file overwriting if file exist.
+#                + OVERWRITE, Overwrites if file(s) exist.
+#                + APPEND, Continue logging after the old logging information if file(s) exist.
+#
+#        - Will thread id include to the log filename.
+#                + YES, Thread id to log file(s) name, Example filename 'Module_b9.txt'.
+#                + NO, No thread id to log file(s), Example filename 'Module.txt'.
+#
+#        - Will time stamps include the to log file.
+#                + YES, Time stamp added to each line in log file(s). Time stamp is
+#                 for example'12.Nov.2003 115958    LOGGING INFO'
+#                + NO, No time stamp(s).
+#
+#        - Will line breaks include to the log file.
+#                + YES, Each logging event includes line break and next log event is in own line.
+#                + NO, No line break(s).
+#
+#        - Will event ranking include to the log file.
+#                + YES, Event ranking number added to each line in log file(s). Ranking number
+#                 depends on environment's tics, for example(includes time stamp also)
+#                 '012   12.Nov.2003 115958    LOGGING INFO'
+#                + NO, No event ranking.
+#
+
+[Logger_Defaults]
+
+#NOTE: If you want to set Logger using next setting(s) remove comment(s)'#'
+
+CreateLogDirectories= YES                # Possible values: YES or NO
+
+EmulatorBasePath= C:\
+EmulatorFormat= TXT                        # Possible values: TXT or HTML
+EmulatorOutput= FILE                        # Possible values: FILE or RDEBUG
+
+HardwareBasePath= C:\
+HardwareFormat= TXT                        # Possible values: TXT or HTML
+HardwareOutput= FILE                        # Possible values: FILE or RDEBUG
+
+FileCreationMode= APPEND                # Possible values: OVERWRITE or APPEND
+
+ThreadIdToLogFile= YES                        # Possible values: YES or NO
+WithTimeStamp= YES                        # Possible values: YES or NO
+WithLineBreak= YES                        # Possible values: YES or NO
+#WithEventRanking= YES                        # Possible values: YES or NO
+
+[End_Logger_Defaults]
+# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+
+# End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkURL/src/CUTLandmarkURL.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,188 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+* 
+* Description:    This file contains testclass implementation.
+* This file defines the test class for testing the encoder functionality.
+*
+*/
+
+
+
+
+// INCLUDE FILES
+#include <Stiftestinterface.h>
+#include <SettingServerClient.h>
+#include "CUTLandmarkURL.h"
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CCUTLandmarkURL::CCUTLandmarkURL
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CCUTLandmarkURL::CCUTLandmarkURL( 
+    CTestModuleIf& aTestModuleIf ):
+        CScriptBase( aTestModuleIf ),
+        iCount(0),
+        iVerticalAccuracy(_L("")),
+        iHorizontalAccuracy(_L("")),
+        iName(_L("")),
+        iDescription(_L("")),
+        iLatitude(_L("")),
+        iLongitude(_L("")),
+        iAltitude(_L("")),
+        iCategory(_L("")),
+        iMatchCategory(_L("")),
+        iMatchCategory2(_L("")),
+        iTS(_L("")),
+        iPID(_L("")),
+        iYear(_L("")),
+        iMonth(_L("")),
+        iDay(_L("")),
+        iHour(_L("")),
+        iMinutes(_L("")),
+        iSeconds(_L("")),
+        iMSeconds(_L("")),
+        iSpeed(_L("")),
+        iTelephone(_L("")),
+        iWeb(_L("")),
+        iHeading(_L("")),
+        iCountry(_L("")),
+        iState(_L("")),
+        iCity(_L("")),
+        iStreet(_L("")),
+        iHouseNumber(_L("")),
+        iPostalCode(_L(""))
+    {
+    
+    }
+
+// -----------------------------------------------------------------------------
+// CCUTLandmarkURL::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CCUTLandmarkURL::ConstructL()
+    {
+    //Read logger settings to check whether test case name is to be
+    //appended to log file name.
+    RSettingServer settingServer;
+    TInt ret = settingServer.Connect();
+    if(ret != KErrNone)
+        {
+        User::Leave(ret);
+        }
+    // Struct to StifLogger settigs.
+    TLoggerSettings loggerSettings; 
+    // Parse StifLogger defaults from STIF initialization file.
+    ret = settingServer.GetLoggerSettings(loggerSettings);
+    if(ret != KErrNone)
+        {
+        User::Leave(ret);
+        } 
+    // Close Setting server session
+    settingServer.Close();
+
+    TFileName logFileName;
+    
+    if(loggerSettings.iAddTestCaseTitle)
+        {
+        TName title;
+        TestModuleIf().GetTestCaseTitleL(title);
+        logFileName.Format(KCUTLandmarkURLLogFileWithTitle, &title);
+        }
+    else
+        {
+        logFileName.Copy(KCUTLandmarkURLLogFile);
+        }
+
+    iLog = CStifLogger::NewL( KCUTLandmarkURLLogPath, 
+                          logFileName,
+                          CStifLogger::ETxt,
+                          CStifLogger::EFile,
+                          EFalse );
+    
+    SendTestClassVersion();
+    //Connects the file session
+    User::LeaveIfError(iFileSession.Connect());
+    }
+
+// -----------------------------------------------------------------------------
+// CCUTLandmarkURL::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CCUTLandmarkURL* CCUTLandmarkURL::NewL( 
+    CTestModuleIf& aTestModuleIf )
+    {
+    CCUTLandmarkURL* self = new (ELeave) CCUTLandmarkURL( aTestModuleIf );
+
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop();
+
+    return self;
+
+    }
+
+// Destructor
+CCUTLandmarkURL::~CCUTLandmarkURL()
+    { 
+
+    // Delete resources allocated from test methods
+    Delete();
+
+    // Delete logger
+    delete iLog; 
+
+    }
+
+//-----------------------------------------------------------------------------
+// CCUTLandmarkURL::SendTestClassVersion
+// Method used to send version of test class
+//-----------------------------------------------------------------------------
+//
+void CCUTLandmarkURL::SendTestClassVersion()
+	{
+	TVersion moduleVersion;
+	moduleVersion.iMajor = TEST_CLASS_VERSION_MAJOR;
+	moduleVersion.iMinor = TEST_CLASS_VERSION_MINOR;
+	moduleVersion.iBuild = TEST_CLASS_VERSION_BUILD;
+	
+	TFileName moduleName;
+	moduleName = _L("CUTLandmarkURL.dll");
+
+	TBool newVersionOfMethod = ETrue;
+	TestModuleIf().SendTestModuleVersion(moduleVersion, moduleName, newVersionOfMethod);
+	}
+
+// ========================== OTHER EXPORTED FUNCTIONS =========================
+
+// -----------------------------------------------------------------------------
+// LibEntryL is a polymorphic Dll entry point.
+// Returns: CScriptBase: New CScriptBase derived object
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CScriptBase* LibEntryL( 
+    CTestModuleIf& aTestModuleIf ) // Backpointer to STIF Test Framework
+    {
+
+    return ( CScriptBase* ) CCUTLandmarkURL::NewL( aTestModuleIf );
+
+    }
+
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkURL/src/CUTLandmarkURLBlocks.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,2051 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+* 
+* Description: This file contains testclass implementation.
+* This file containts the test blocks that tests the encoder functionality.
+*
+*/
+
+// [INCLUDE FILES] - do not remove
+#include <e32svr.h>
+#include <StifParser.h>
+#include <Stiftestinterface.h>
+#include <LbsPosition.h>
+#include <LbsFieldIds.h>
+#include <BAUTILS.h>
+#include <EPos_CPosLmCategoryManager.h>
+#include <e32math.h> 
+#include <gulutil.h>
+
+#include "CUTLandmarkURL.h"
+#include "EPos_LandmarksErrors.h"
+
+
+
+// EXTERNAL DATA STRUCTURES
+//extern  ?external_data;
+
+// EXTERNAL FUNCTION PROTOTYPES  
+//extern ?external_function( ?arg_type,?arg_type );
+
+// CONSTANTS
+//const ?type ?constant_var = ?constant;
+
+// MACROS
+//#define ?macro ?macro_def
+
+// LOCAL CONSTANTS AND MACROS
+//const ?type ?constant_var = ?constant;
+//#define ?macro_name ?macro_def
+
+// MODULE DATA STRUCTURES
+//enum ?declaration
+//typedef ?declaration
+
+// LOCAL FUNCTION PROTOTYPES
+//?type ?function_name( ?arg_type, ?arg_type );
+
+// FORWARD DECLARATIONS
+//class ?FORWARD_CLASSNAME;
+
+//Tags used in cfg file
+    _LIT(KName, "NAME= ");
+    _LIT(KLandmarkDescription, "LMDESCRIPTION= ");
+    _LIT(KVerticalAccuracy, "VERT_ACC= ");
+    _LIT(KHorizontalAccuracy, "HACCURACY= ");
+    _LIT(KLatitude, "LATITUDE= ");
+    _LIT(KLongitude, "LONGITUDE= ");
+    _LIT(KCountry, "COUNTRY= ");
+    _LIT(KState, "STATE= ");
+    _LIT(KStreet, "STREET= ");
+    _LIT(KHouseNumber, "HOUSENO.= ");
+    _LIT(KPostalCode, "POSTALCODE= ");
+    _LIT(KCity, "CITY= ");
+    _LIT(KTelephone, "TELEPHONE= ");
+    _LIT(KWeb, "WEB= ");
+    _LIT(KAltitude, "ALTITUDE= ");
+    _LIT(KSpeed, "SPEED= ");
+    _LIT(KHeading, "HEADING= ");
+    _LIT(KCategory, "CATEGORY= ");
+    _LIT(K2ndCategory, "CATEGORYTWO= ");
+    _LIT(KPID, "PID= ");
+    _LIT(KTS, "TS= ");
+
+    _LIT(KOutputFilePath, "c:\\testframework\\EncodedLandmarks.txt");
+    _LIT(KInputFile, "c:\\testframework\\URLParser.txt");
+    _LIT(KInputFileHandle, "c:\\testframework\\InputFilehandle.txt");
+    
+    //255 
+    _LIT(KMAXSTRING, "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890");
+    //254
+    _LIT(KMAXSTRING1, "12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789");
+    //256
+    _LIT(KMAXSTRING2, "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901");
+
+    //4095
+    _LIT(KMAXDESSTRING, "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890");
+    //4094
+    _LIT(KMAXDESSTRING1, "12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789");
+    //4096
+    _LIT(KMAXDESSTRING2, "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901");
+    
+    //124
+    _LIT(KMAXCAT, "12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234");
+    //123
+    _LIT(KMAXCAT1, "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123");
+    //125
+    _LIT(KMAXCAT2, "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345");
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CCUTLandmarkURL::Delete
+// Delete here all resources allocated and opened from test methods. 
+// Called from destructor. 
+// -----------------------------------------------------------------------------
+//
+void CCUTLandmarkURL::Delete() 
+    {
+
+    }
+
+// -----------------------------------------------------------------------------
+// CCUTLandmarkURL::RunMethodL
+// Run specified method. Contains also table of test mothods and their names.
+// -----------------------------------------------------------------------------
+//
+TInt CCUTLandmarkURL::RunMethodL( 
+    CStifItemParser& aItem ) 
+    {
+
+    static TStifFunctionInfo const KFunctions[] =
+        {  
+        // Copy this line for every implemented function.
+        // First string is the function name used in TestScripter script file.
+        // Second is the actual implementation member function. 
+        ENTRY( "CreateInstanceL", CCUTLandmarkURL::CreateInstanceL ),
+        ENTRY( "CleanUp", CCUTLandmarkURL::CleanUp ),
+        ENTRY( "CreateLandmarkL", CCUTLandmarkURL::CreateLandmarkL ),
+        
+        //Test Methods for parsing
+        ENTRY( "SetInputBuffer", CCUTLandmarkURL::SetInputBufferL ),
+        ENTRY( "SetInputFile", CCUTLandmarkURL::SetInputFile ),
+        ENTRY( "SetInputFileHandle", CCUTLandmarkURL::SetInputFileHandleL ),
+        ENTRY( "ParseContent", CCUTLandmarkURL::ParseContent ),
+        ENTRY( "NumOfParsedLandmarks", CCUTLandmarkURL::NumOfParsedLandmarksL ),
+        ENTRY( "Landmark", CCUTLandmarkURL::LandmarkL ),
+        ENTRY( "LandmarkCategory", CCUTLandmarkURL::LandmarkCategoryL ),
+        ENTRY( "TestMisc", CCUTLandmarkURL::MiscL ),
+
+
+        //Test methods for encoder
+        ENTRY( "SetOutputFileHandle", CCUTLandmarkURL::SetOutputFileHandle ),
+        ENTRY( "SetOutputBuffer", CCUTLandmarkURL::SetOutputBuffer ),        
+        ENTRY( "AddLandmark", CCUTLandmarkURL::AddLandmark ),
+        ENTRY( "AddCategoryForLatestLandmark", CCUTLandmarkURL::AddCategoryForLatestLandmarkL),
+        ENTRY( "FinalizeEncoding", CCUTLandmarkURL::FinalizeEncoding ),
+        ENTRY( "VerifyEncoding", CCUTLandmarkURL::VerifyEncodingL ), 
+
+        
+
+
+        //ADD NEW ENTRY HERE
+        // [test cases entries] - Do not remove
+
+        };
+
+    const TInt count = sizeof( KFunctions ) / 
+                        sizeof( TStifFunctionInfo );
+
+    return RunInternalL( KFunctions, count, aItem );
+
+    }
+
+// -----------------------------------------------------------------------------
+// CCUTLandmarkURL::CreateInstanceL
+// This function creates instances for URL parser and encoder
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CCUTLandmarkURL::CreateInstanceL( CStifItemParser& aItem )
+    {
+    TInt result = KErrNone;
+    TInt Case;
+	RArray<CPosLandmarkEncoder> ArrayOfEncoders;
+	RArray<CPosLandmarkParser> ArrayOfParsers;
+
+    aItem.GetNextInt(Case);
+    _LIT8( KUrlMIMEType, "maps.ovi.com" );
+    
+    switch(Case)
+    	{
+    	case CREATE_PARSER:
+     		iLog->Log(_L("Creating Instance of parser....."));
+    		 TRAP(result, iPosLandmarkParser = CPosLandmarkParser::NewL(KUrlMIMEType));
+    		 if(result != KErrNone || !(iPosLandmarkParser))
+    			 {
+    			 iLog->Log(_L("FAILED: Creating instance for Parser fails, error = %d"),result);
+    			 result = KErrGeneral;
+    			 }
+    		 else
+    			 iLog->Log(_L("PASSED: Creating instance for Parser passes"));
+
+    		break;
+    	
+    	case CREATE_ENCODER:
+    		iLog->Log(_L("Creating Instance of encoder....."));
+			 TRAP(result, iPosLandmarkEncoder = CPosLandmarkEncoder::NewL(KUrlMIMEType));
+			 if(result != KErrNone || !(iPosLandmarkEncoder))
+				 {
+				 iLog->Log(_L("FAILED: Creating instance for encoder fails, error = %d"),result);
+				 result = KErrGeneral;
+				 }
+			 else
+				 iLog->Log(_L("PASSED: Creating instance for Encoder passes "));
+    		break;
+    		
+    		
+    	case MULTIPLE_ENCODER:
+			 TRAPD(err, ArrayOfEncoders.AppendL(*CPosLandmarkEncoder::NewL(KUrlMIMEType)));
+			 TRAPD(err1, ArrayOfEncoders.AppendL(*CPosLandmarkEncoder::NewL(KUrlMIMEType)));
+			 TRAPD(err2, ArrayOfEncoders.AppendL(*CPosLandmarkEncoder::NewL(KUrlMIMEType)));
+			 TRAPD(err3, ArrayOfEncoders.AppendL(*CPosLandmarkEncoder::NewL(KUrlMIMEType)));
+			 TRAPD(err4, ArrayOfEncoders.AppendL(*CPosLandmarkEncoder::NewL(KUrlMIMEType)));
+			 TRAPD(err5, ArrayOfEncoders.AppendL(*CPosLandmarkEncoder::NewL(KUrlMIMEType)));
+			 TRAPD(err6, ArrayOfEncoders.AppendL(*CPosLandmarkEncoder::NewL(KUrlMIMEType)));
+			 TRAPD(err7, ArrayOfEncoders.AppendL(*CPosLandmarkEncoder::NewL(KUrlMIMEType)));
+			 TRAPD(err8, ArrayOfEncoders.AppendL(*CPosLandmarkEncoder::NewL(KUrlMIMEType)));
+			 TRAPD(err9, ArrayOfEncoders.AppendL(*CPosLandmarkEncoder::NewL(KUrlMIMEType)));
+			 if((ArrayOfEncoders.Count() != 10)||(err||err1||err2||err3||err4||err5||err6||err7||err8||err9 != KErrNone))
+				 result = KErrNone;
+			 break;
+			 
+    	case MULTIPLE_PARSER:
+			 TRAPD(parseerr, ArrayOfParsers.AppendL(*CPosLandmarkParser::NewL(KUrlMIMEType)));
+			 TRAPD(parseerr1, ArrayOfParsers.AppendL(*CPosLandmarkParser::NewL(KUrlMIMEType)));
+			 TRAPD(parseerr2, ArrayOfParsers.AppendL(*CPosLandmarkParser::NewL(KUrlMIMEType)));
+			 TRAPD(parseerr3, ArrayOfParsers.AppendL(*CPosLandmarkParser::NewL(KUrlMIMEType)));
+			 TRAPD(parseerr4, ArrayOfParsers.AppendL(*CPosLandmarkParser::NewL(KUrlMIMEType)));
+			 TRAPD(parseerr5, ArrayOfParsers.AppendL(*CPosLandmarkParser::NewL(KUrlMIMEType)));
+			 TRAPD(parseerr6, ArrayOfParsers.AppendL(*CPosLandmarkParser::NewL(KUrlMIMEType)));
+			 TRAPD(parseerr7, ArrayOfParsers.AppendL(*CPosLandmarkParser::NewL(KUrlMIMEType)));
+			 TRAPD(parseerr8, ArrayOfParsers.AppendL(*CPosLandmarkParser::NewL(KUrlMIMEType)));
+			 TRAPD(parseerr9, ArrayOfParsers.AppendL(*CPosLandmarkParser::NewL(KUrlMIMEType)));
+			 if((ArrayOfParsers.Count() != 10)||(parseerr||parseerr1||parseerr2||parseerr3||parseerr4||parseerr5||parseerr6||parseerr7||parseerr8||parseerr9 != KErrNone))
+				 result = KErrNone;
+			 break;
+
+
+    	default:
+    		break;
+    	}
+    return result;
+    }
+
+// -----------------------------------------------------------------------------
+// CCUTLandmarkURL::CleanUp
+// Releases memory and other resources
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CCUTLandmarkURL::CleanUp( CStifItemParser& /*aItem*/ )
+    {
+    ReleaseLandmarkResources(); 
+    if(iPosLandmark)
+    	{
+    	delete iPosLandmark;
+    	iPosLandmark = NULL;
+    	}
+    
+    if(iEncoderBuffer)
+    	{
+    	delete iEncoderBuffer;
+    	iEncoderBuffer = NULL;
+    	}
+    
+    if(iDatabase)
+     	{
+     	delete iDatabase;
+     	iDatabase = NULL;
+     	}
+    
+    if(iOperation)
+    	{
+    	delete iOperation;
+    	iOperation = NULL;
+    	}
+
+    if(iPosLandmarkParser)
+    	{
+    	delete iPosLandmarkParser;
+    	iPosLandmarkParser = NULL;
+    	}
+    
+    if(iPosLandmarkEncoder)
+    	{
+    	delete iPosLandmarkEncoder;
+    	iPosLandmarkEncoder = NULL;
+    	}
+    
+    iFile.Close();
+    iFileSession.Close();    
+    TestModuleIf().SetBehavior( CTestModuleIf::ETestLeaksHandles );   
+    User::After( 20000 );
+    iLog->Log(_L("PASSED: Cleanup Succesful"));
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CCUTLandmarkURL::CreateLandmark
+// This functions creates landmarks	
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CCUTLandmarkURL::CreateLandmarkL( CStifItemParser& aItem )
+    {
+    TInt result = KErrNone;
+    TInt Case = 0;
+    TRAP(result, iPosLandmark = CPosLandmark::NewL());
+    User::LeaveIfError(result);
+    aItem.GetNextInt(Case);
+   
+    //Reading location values from the cfg files 
+    GetStringAfterTag(aItem, KName, iName);    
+    GetStringAfterTag(aItem, KLandmarkDescription, iDescription);
+    aItem.GetNextString(KVerticalAccuracy,iVerticalAccuracy);
+    aItem.GetNextString(KHorizontalAccuracy,iHorizontalAccuracy);
+    aItem.GetNextString(KLatitude,iLatitude);
+    aItem.GetNextString(KLongitude,iLongitude);
+    aItem.GetNextString(KAltitude,iAltitude);
+
+    
+    //Reading postion fields from cfg fields
+    aItem.GetNextString(KSpeed,iSpeed);
+    aItem.GetNextString(KHeading,iHeading);
+    GetStringAfterTag(aItem, KCountry,iCountry);    
+    GetStringAfterTag(aItem, KState,iState);
+    GetStringAfterTag(aItem, KCity,iCity);
+    GetStringAfterTag(aItem, KStreet ,iStreet);
+    GetStringAfterTag(aItem, KPostalCode,iPostalCode);
+    GetStringAfterTag(aItem, KHouseNumber,iHouseNumber);
+    GetStringAfterTag(aItem, KTelephone,iTelephone);
+    aItem.GetNextString(KCategory,iCategory);
+    GetStringAfterTag(aItem, KWeb,iWeb);
+    GetStringAfterTag(aItem, KPID,iPID);
+    GetStringAfterTag(aItem, KTS,iTS);   
+    
+
+    //Converting string to TReal
+    TReal32 VA = 0;
+    TLex16 VerticalAcc(iVerticalAccuracy);
+    VerticalAcc.Val(VA);
+    
+    TReal32 HA= 0;
+    TLex16 HorizontalAcc(iHorizontalAccuracy);
+    HorizontalAcc.Val(HA);
+
+	TReal64 RLat = 0;
+	TLex16 Lat(iLatitude);
+	Lat.Val(RLat);
+    
+    TReal64 RLong = 0;
+    TLex16 Long(iLongitude);
+    Long.Val(RLong);   
+
+    TReal64 RAlt = 0;
+    TLex16 Alt(iAltitude);
+    Alt.Val(RAlt); 
+    
+    //This part of the code sets the position params to the landmark
+    TLocality Locality;
+    if (!iAltitude.Compare(_L("")))
+    	Locality.SetCoordinate(RLat, RLong);
+    else
+    	Locality.SetCoordinate(RLat,RLong, RAlt);
+    
+    if (iHorizontalAccuracy.Compare(_L("")))
+		Locality.SetHorizontalAccuracy(HA);
+    
+    if (iVerticalAccuracy.Compare(_L("")))
+    	Locality.SetVerticalAccuracy(VA);
+    
+    TUint Cat;
+    TLex16 Categ(iCategory);
+    Categ.Val(Cat, EDecimal);
+
+    //Sets the time stamp to the landmark
+   TTime TS;
+   TS.Set(iTS);
+  
+   if (iTS.Compare(_L("")))
+	   {
+	   TRAP(result ,iPosLandmark->SetTimeStampL(TS));
+	   User::LeaveIfError(result);
+	   }
+   
+    switch(Case)
+    	{
+    	//This case tests the normal condition for all the landmark param fields
+    	default:
+    		//fall through
+    	case 0:    	    
+
+    	   if (iDescription.Compare(_L("")))
+    		   {
+    		   TRAP(result, iPosLandmark->SetLandmarkDescriptionL(iDescription));
+    		   User::LeaveIfError(result);
+    		   }
+    	   if (iName.Compare(_L("")))
+    		   {
+    		   TRAP(result ,iPosLandmark->SetLandmarkNameL(iName));
+    		   User::LeaveIfError(result);
+    		   }
+    	       	    
+    	    //Setting positions fields
+    	   if (iSpeed.Compare(_L("")))
+    		   {
+    		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldHorizontalSpeed, iSpeed));
+    		   User::LeaveIfError(result);
+    		   }
+    	   if (iHeading.Compare(_L("")))
+    		   {
+    		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldHeading, iHeading));
+    		   User::LeaveIfError(result);
+    		   }
+    	   if (iCountry.Compare(_L("")))
+    		   {
+    		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldCountry, iCountry));
+    		   User::LeaveIfError(result);
+    		   }
+    	   if (iState.Compare(_L("")))
+    		   {
+    		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldState, iState));
+    		   User::LeaveIfError(result);
+    		   }
+    	   if (iCity.Compare(_L("")))
+    		   {
+    		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldCity, iCity));
+    		   User::LeaveIfError(result);
+    		   }
+    	   if (iStreet.Compare(_L("")))
+    		   {
+    		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldStreet, iStreet));
+    		   User::LeaveIfError(result);
+    		   }
+    	   if (iPostalCode.Compare(_L("")))
+    		   {
+    		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldPostalCode, iPostalCode));
+    		   User::LeaveIfError(result);
+    		   }
+    	   if (iHouseNumber.Compare(_L("")))
+    		   {
+    		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldStreetExtension, iHouseNumber));
+    		   User::LeaveIfError(result);
+    		   }
+    	   if (iTelephone.Compare(_L("")))
+    		   {
+    		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldBuildingTelephone, iTelephone));
+    		   User::LeaveIfError(result);
+    		   }
+    	   if (iWeb.Compare(_L("")))
+    		   {
+    		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldMediaLinksStart, iWeb));
+    		   User::LeaveIfError(result);
+    		   }
+    	   if (iPID.Compare(_L("")))
+    		   {
+    		   TRAP(result ,iPosLandmark->SetPlaceIdL(iPID));
+    		   User::LeaveIfError(result);
+    		   }
+    		break;
+    		
+    	//The following cases sets the location params to test the boundry and error cases	
+    	case TEST_NULL_NAME:
+    		TRAP(result ,iPosLandmark->SetLandmarkNameL(iName));
+    		User::LeaveIfError(result);
+    		break;
+    		
+    	case TEST_NULL_STREET:
+ 		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldStreet, iStreet));
+ 		   User::LeaveIfError(result);
+ 		   break;
+    		
+    	case TEST_NULL_HNO:
+ 		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldStreetExtension, iHouseNumber));
+ 		   User::LeaveIfError(result);
+    		break;
+    		
+    	case TEST_NULL_POSTALCODE:
+ 		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldPostalCode, iPostalCode));
+ 		   User::LeaveIfError(result);
+    		break;
+    		
+    	case TEST_NULL_CITY:
+ 		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldCity, iCity));
+ 		   User::LeaveIfError(result);
+    		break;
+    		
+    	case TEST_NULL_STATE:
+ 		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldState, iState));
+ 		   User::LeaveIfError(result);
+    		break;
+    		
+    	case TEST_NULL_COUNTRY:
+ 		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldCountry, iCountry));
+ 		   User::LeaveIfError(result);
+    		break;
+    		
+    	case TEST_NULL_TELEPHONE:
+ 		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldBuildingTelephone, iTelephone));
+ 		   User::LeaveIfError(result);
+    		break;
+    		
+    	case TEST_NULL_WEB:
+ 		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldMediaLinksStart, iWeb));
+ 		   User::LeaveIfError(result);
+    		break;
+    		
+    	case TEST_NULL_DESCRIPTION:
+ 		   TRAP(result, iPosLandmark->SetLandmarkDescriptionL(iDescription));
+ 		   User::LeaveIfError(result);
+    		break;
+    		
+    	case TEST_NULL_SPEED:
+ 		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldHorizontalSpeed, iSpeed));
+ 		   User::LeaveIfError(result);
+    		break;
+    		
+    	case TEST_NULL_HEADING:
+ 		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldHeading, iHeading));
+ 		   User::LeaveIfError(result);
+    		break;
+    		
+    	case TEST_NULL_PID:
+ 		   TRAP(result ,iPosLandmark->SetPlaceIdL(iPID));
+ 		   User::LeaveIfError(result);
+ 		   break;
+    		
+    	case TEST_MAXLENGTH_NAME:
+    		TRAP(result ,iPosLandmark->SetLandmarkNameL(KMAXSTRING));
+    		User::LeaveIfError(result);
+    		break;
+    		
+    	case TEST_MAXLENGTH1_NAME:
+    		TRAP(result ,iPosLandmark->SetLandmarkNameL(KMAXSTRING1));
+    		User::LeaveIfError(result);
+    		break;
+    	
+    	case TEST_MAXLENGTH2_NAME:
+    		TRAP(result ,iPosLandmark->SetLandmarkNameL(KMAXSTRING2));
+    		if(result != KErrArgument)
+    			User::Leave(result);
+    		else
+				result = KErrNone;
+    		break;
+    		
+    	case TEST_MAXLENGTH_STREET:
+  		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldStreet, KMAXSTRING));
+  		   User::LeaveIfError(result);    		
+    		break;
+    		
+    	case TEST_MAXLENGTH1_STREET:
+   		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldStreet, KMAXSTRING1));
+   		   User::LeaveIfError(result);  
+    		break;
+    	
+    	case TEST_MAXLENGTH2_STREET:
+   		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldStreet, KMAXSTRING2));
+			if(result != KErrArgument)
+				User::Leave(result);
+			else
+					result = KErrNone;
+			break;
+    		
+    	case TEST_MAXLENGTH_HNO:
+  		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldStreetExtension, KMAXSTRING));
+  		   User::LeaveIfError(result);
+    		break;
+    		
+    	case TEST_MAXLENGTH1_HNO:
+   		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldStreetExtension, KMAXSTRING1));
+   		   User::LeaveIfError(result);
+    		break;
+    	
+    	case TEST_MAXLENGTH2_HNO:
+   		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldStreetExtension, KMAXSTRING2));
+			if(result != KErrArgument)
+				User::Leave(result);
+			else
+					result = KErrNone;
+    		break;
+    		
+    	case TEST_MAXLENGTH_POSTALCODE:
+  		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldPostalCode, KMAXSTRING));
+  		   User::LeaveIfError(result);
+    		break;
+    		
+    	case TEST_MAXLENGTH1_POSTALCODE:
+  		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldPostalCode, KMAXSTRING1));
+   		   User::LeaveIfError(result);
+    		break;
+    	
+    	case TEST_MAXLENGTH2_POSTALCODE:
+  		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldPostalCode, KMAXSTRING2));
+			if(result != KErrArgument)
+				User::Leave(result);
+			else
+					result = KErrNone;
+    		break;
+    		
+    	case TEST_MAXLENGTH_CITY:
+  		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldCity, KMAXSTRING));
+  		   User::LeaveIfError(result);
+    		break;
+    		
+    	case TEST_MAXLENGTH1_CITY:
+  		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldCity, KMAXSTRING1));
+  		   User::LeaveIfError(result);
+    		break;
+    	
+    	case TEST_MAXLENGTH2_CITY:
+  		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldCity, KMAXSTRING2));
+			if(result != KErrArgument)
+				User::Leave(result);
+			else
+					result = KErrNone;
+    		break;
+    		
+    	case TEST_MAXLENGTH_STATE:
+  		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldState, KMAXSTRING));
+  		   User::LeaveIfError(result);
+    		break;
+    		
+    	case TEST_MAXLENGTH1_STATE:
+  		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldState, KMAXSTRING1));
+  		   User::LeaveIfError(result);
+    		break;
+    	
+    	case TEST_MAXLENGTH2_STATE:
+  		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldState, KMAXSTRING2));
+			if(result != KErrArgument)
+				User::Leave(result);
+			else
+					result = KErrNone;
+    		break;
+    		
+    	case TEST_MAXLENGTH_COUNTRY:
+  		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldCountry, KMAXSTRING));
+  		   User::LeaveIfError(result);
+    		break;
+    		
+    	case TEST_MAXLENGTH1_COUNTRY:
+   		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldCountry, KMAXSTRING1));
+   		   User::LeaveIfError(result);
+    		break;
+    	
+    	case TEST_MAXLENGTH2_COUNTRY:
+   		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldCountry, KMAXSTRING2));
+			if(result != KErrArgument)
+				User::Leave(result);
+			else
+					result = KErrNone;
+    		break;
+    		
+    	case TEST_MAXLENGTH_TELEPHONE:
+  		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldBuildingTelephone, KMAXSTRING));
+  		   User::LeaveIfError(result);
+    		break;
+    		
+    	case TEST_MAXLENGTH1_TELEPHONE:
+  		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldBuildingTelephone, KMAXSTRING1));
+  		   User::LeaveIfError(result);
+    		break;
+    	
+    	case TEST_MAXLENGTH2_TELEPHONE:
+  		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldBuildingTelephone, KMAXSTRING2));
+			if(result != KErrArgument)
+				User::Leave(result);
+			else
+					result = KErrNone;
+    		break;
+    		
+    	case TEST_MAXLENGTH_WEB:
+  		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldMediaLinksStart, KMAXSTRING));
+  		   User::LeaveIfError(result);
+    		break;
+    		
+    	case TEST_MAXLENGTH1_WEB:
+  		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldMediaLinksStart, KMAXSTRING1));
+  		   User::LeaveIfError(result);
+    		break;
+    	
+    	case TEST_MAXLENGTH2_WEB:
+  		   TRAP(result, iPosLandmark->SetPositionFieldL(EPositionFieldMediaLinksStart, KMAXSTRING2));
+			if(result != KErrArgument)
+				User::Leave(result);
+			else
+					result = KErrNone;
+    		break;
+    		
+    	case TEST_MAXLENGTH_DESCRIPTION:
+  		   TRAP(result, iPosLandmark->SetLandmarkDescriptionL(KMAXDESSTRING));
+  		   User::LeaveIfError(result);
+    		break;
+    		
+    	case TEST_MAXLENGTH1_DESCRIPTION:
+  		   TRAP(result, iPosLandmark->SetLandmarkDescriptionL(KMAXDESSTRING1));
+  		   User::LeaveIfError(result);
+    		break;
+    	
+    	case TEST_MAXLENGTH2_DESCRIPTION:
+  		   TRAP(result, iPosLandmark->SetLandmarkDescriptionL(KMAXDESSTRING2));
+			if(result != KErrArgument)
+				User::Leave(result);
+			else
+					result = KErrNone;
+    		break;
+    		
+    	case TEST_MAXLENGTH_PID:
+ 		   TRAP(result ,iPosLandmark->SetPlaceIdL(KMAXSTRING));
+  		   User::LeaveIfError(result);
+    		break;
+    		
+    	case TEST_MAXLENGTH1_PID:
+ 		   TRAP(result ,iPosLandmark->SetPlaceIdL(KMAXSTRING1));
+  		   User::LeaveIfError(result);
+    		break;
+    	
+    	case TEST_MAXLENGTH2_PID:
+ 		   TRAP(result ,iPosLandmark->SetPlaceIdL(KMAXSTRING2));
+			if(result != KErrArgument)
+				User::Leave(result);
+			else
+					result = KErrNone;
+    		break;
+    		
+    	case TEST_MAX_HA:
+    		Locality.SetHorizontalAccuracy(KMaxTReal32);
+    		break;
+    	
+    	case TEST_MAX_VA:
+    		Locality.SetVerticalAccuracy(KMaxTReal32-1);
+    		break;
+    	}
+    
+    //Adding Global Category
+    iDatabase = CPosLandmarkDatabase::OpenL();
+    if (iDatabase->IsInitializingNeeded())
+       {
+       ExecuteAndDeleteLD(iDatabase->InitializeL());
+       }
+
+    if (iCategory.Compare(_L("")))
+    	{
+		CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+		CleanupStack::PushL(categoryManager);
+		TUint16 id = categoryManager->GetGlobalCategoryL(Cat);
+		CPosLandmarkCategory* landmarkCategory = categoryManager->ReadCategoryLC(id);
+		TRAP(result, iPosLandmark->AddCategoryL(id));
+		CleanupStack::PopAndDestroy(landmarkCategory);
+	    CleanupStack::PopAndDestroy(categoryManager);
+	    User::LeaveIfError(result);
+    	}
+
+    TRAP(result, iPosLandmark->SetPositionL(Locality));
+    if(result!= KErrNone)
+    	{
+    	result = KErrGeneral;
+    	iLog->Log(_L("FAILED: Creating Landmark fails!!"));
+    	}
+    else
+    	iLog->Log(_L("PASSED: Creating Landmark Success!!"));
+        return result;
+    }
+
+// -----------------------------------------------------------------------------
+// CCUTLandmarkURL::SetOutputFileHandle
+// This function sets the output file to which the encoded URLs will be written
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CCUTLandmarkURL::SetOutputFileHandle( CStifItemParser& aItem )
+    {
+    TInt result = KErrNone;
+    TInt caseno = 0;  
+    aItem.GetNextInt(result);
+    
+    switch(caseno)
+    	{
+    	default:
+    		//fall through
+    	case 0:
+			if ( BaflUtils::FileExists(iFileSession, KOutputFilePath))
+				{
+				BaflUtils :: DeleteFile( iFileSession, KOutputFilePath );
+				}
+			TRAP(result,iPosLandmarkEncoder->SetOutputFileL(KOutputFilePath));
+			if(result != KErrNone)
+				{
+				iLog->Log(_L("FAILED: Setting output file fails with error %d"), result);
+				result = KErrGeneral;
+				}
+			else 
+				iLog->Log(_L("PASSED: Setting output file passes"));
+			break;
+			
+    	case ERROR_VERIFICATION_OPFILE:
+			if ( BaflUtils::FileExists(iFileSession, KOutputFilePath))
+				{
+				BaflUtils ::DeleteFile( iFileSession, KOutputFilePath );
+				}
+			TRAP(result,iPosLandmarkEncoder->SetOutputFileL(KOutputFilePath));
+			TRAPD(err,iPosLandmarkEncoder->SetOutputFileL(KOutputFilePath));
+
+			if(err != KErrAlreadyExists)
+				{
+				iLog->Log(_L("FAILED: Error verification for setting output file fails with %d"), err);
+				result = KErrGeneral;
+				}
+			else 
+				iLog->Log(_L("PASSED: Error Verification for setting output file passed!!"));
+
+    		break;
+    	}
+	
+    return result;
+    }
+
+// -----------------------------------------------------------------------------
+// CCUTLandmarkURL::SetOutputFileHandle
+// This function sets the output buffer to which the encoded URLs will be written
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CCUTLandmarkURL::SetOutputBuffer( CStifItemParser& /*aItem*/ )
+    {
+    TInt result = KErrNone;
+
+    TRAP(result, iEncoderBuffer = iPosLandmarkEncoder->SetUseOutputBufferL());
+    if(result != KErrNone)
+    	iLog->Log(_L("FAILED: Setting Output buffer fails with error %d"), result);
+    	
+    else
+    	iLog->Log(_L("PASSED: Setting Output buffer passed"));
+
+    return result;
+    }
+
+// -----------------------------------------------------------------------------
+// CCUTLandmarkURL::AddLandmark
+// This function adds the landmark to be encoded
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CCUTLandmarkURL::AddLandmark( CStifItemParser& aItem )
+    {
+    TInt result = KErrNone;
+    TInt caseno = 0;
+    aItem.GetNextInt(caseno);
+    
+    switch(caseno)
+    	{
+    	default:
+    		//fall through
+    	case 0:
+			TRAP(result, iPosLandmarkEncoder->AddLandmarkL(* iPosLandmark));
+			if(result != KErrNone)
+				iLog->Log(_L("FAILED: Adding Landmark for encoding fails with error %d"), result);
+				
+			else
+				iLog->Log(_L("PASSED: Adding Landmark for encoding passed"));
+			break;
+		
+    	case PANIC_CODE_VERIIFCATION:    
+    		TestModuleIf().SetExitReason( CTestModuleIf::EPanic, EPosLmProtocolBreak );   
+			TRAP(result, iPosLandmarkEncoder->AddLandmarkL(* iPosLandmark));
+			break;
+    	}
+			
+    return result;
+    }
+
+// -----------------------------------------------------------------------------
+// CCUTLandmarkURL::AddCategoryForLatestLandmark
+// This function adds category to the latest landmark
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CCUTLandmarkURL::AddCategoryForLatestLandmarkL( CStifItemParser& aItem )
+    {
+    TInt result = KErrNone;
+    TInt Category;
+    TInt caseno = 0;
+
+    aItem.GetNextInt(Category);
+    aItem.GetNextInt(caseno);
+    
+	iDatabase = CPosLandmarkDatabase::OpenL();
+	if (iDatabase->IsInitializingNeeded())
+	   {
+	   ExecuteAndDeleteLD(iDatabase->InitializeL());
+	   }
+
+	CPosLmCategoryManager* categoryManager = CPosLmCategoryManager::NewL(*iDatabase);
+	CleanupStack::PushL(categoryManager);
+	TUint16 id = categoryManager->GetGlobalCategoryL(Category);
+	CPosLandmarkCategory* landmarkCategory = categoryManager->ReadCategoryLC(id);
+    
+    switch(caseno)
+    	{
+    	default:
+    		//fall through
+    	case 0:				
+			TRAP(result, iPosLandmarkEncoder->AddCategoryForLatestLandmarkL(* landmarkCategory));
+			if(result != KErrNone)
+				iLog->Log(_L("FAILED: Adding Category for latest landmark fails with error %d"), result);
+
+			else
+				iLog->Log(_L("PASSED: Adding Category for latest landmark passed"));
+			break;
+			
+    	case PANIC_CODE_VERIIFCATION:
+    		TestModuleIf().SetExitReason( CTestModuleIf::EPanic, EPosLmProtocolBreak );   
+			TRAP(result, iPosLandmarkEncoder->AddCategoryForLatestLandmarkL(* landmarkCategory));
+    		break;
+    	}
+	CleanupStack::PopAndDestroy(landmarkCategory);
+	CleanupStack::PopAndDestroy(categoryManager);
+    return result;
+    }
+// -----------------------------------------------------------------------------
+// CCUTLandmarkURL::FinalizeEncoding
+// This function finalizes the encoding
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CCUTLandmarkURL::FinalizeEncoding( CStifItemParser& /*aItem*/ )
+    {
+    TInt result = KErrNone;
+    TRAP(result, iOperation = iPosLandmarkEncoder->FinalizeEncodingL());
+    TRAPD(result1, iOperation->ExecuteL());
+    if(result != KErrNone||result1 != KErrNone)
+    	iLog->Log(_L("FAILED: Finalize Encoding fails with error %d"), result);
+
+    else
+    	iLog->Log(_L("PASSED: Encoding Completed Successfully"));
+
+    return result;
+    }
+
+// -----------------------------------------------------------------------------
+// CCUTLandmarkURL::SetInputBuffer
+// This function sets the input buffer containing the URL to be parsed
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CCUTLandmarkURL::SetInputBufferL( CStifItemParser& aItem )
+    {
+    TInt result = KErrNone;
+    TInt caseno = 0;
+    TPtrC inputBuffer = _L("");
+    aItem.GetNextInt(caseno);
+    aItem.GetNextString(inputBuffer);
+    
+    HBufC *buffer = HBufC::NewLC(inputBuffer.Size());
+    *buffer = inputBuffer;
+
+    HBufC8 *urlBuffer = HBufC8::NewL((inputBuffer.Size() + 25));
+    
+    switch(caseno)
+    	{
+    	default:
+    		//fall through
+    	case 0:
+			urlBuffer->Des().Copy(_L8("http://www.maps.ovi.com/?"));
+			break;
+			
+    	case NOPROTOCOL:
+			urlBuffer->Des().Copy(_L8("maps.ovi.com/?"));
+			break;
+			
+    	case HTTPS:
+			urlBuffer->Des().Copy(_L8("https://maps.ovi.com/?"));
+			break;
+			
+    	case INVALIDPROTOCOL:
+			urlBuffer->Des().Copy(_L8("ftp://maps.ovi.com/?"));
+			break;
+			
+    	case NOHOSTNAME:
+			urlBuffer->Des().Copy(_L8("/?"));
+			break;
+			
+    	case INVALIDHOSTNAME:
+			urlBuffer->Des().Copy(_L8("http://www.maps.google.com/?"));
+			break;
+			
+    	case INVALIDHOSTNAME1:
+			urlBuffer->Des().Copy(_L8("http://www.maps.ovi.com?/"));
+			break;
+			
+    	case INVALIDHOSTNAME2:
+			urlBuffer->Des().Copy(_L8("http://www.maps.ovi.com/"));
+			break;
+    	}
+    
+	urlBuffer->Des().Append(*buffer);
+	iPosLandmarkParser->SetInputBuffer(* urlBuffer);
+	
+    CleanupStack::PopAndDestroy(buffer);
+    return result;    
+    }
+// -----------------------------------------------------------------------------
+// CCUTLandmarkURL::SetInputFile
+// This function sets the input file containing the URL to be parsed
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CCUTLandmarkURL::SetInputFile( CStifItemParser& aItem )
+    {
+    TInt result = KErrNone;
+    TInt caseno = 0;    
+    aItem.GetNextInt(caseno);
+    
+    if(BaflUtils::FileExists(iFileSession, KInputFile))
+    	{
+    	TRAP(result,iPosLandmarkParser->SetInputFileL(KInputFile));
+        if(result != KErrNone)
+        	iLog->Log(_L("FAILED: Setting Input File Fails with error, %d"), result);
+
+        else
+        	iLog->Log(_L("PASSED: Setting Input File passes"));
+    	}
+    else
+    	result = KErrNotFound;
+    
+    if(caseno == DELETEFILE)
+    	{
+    	result = BaflUtils::DeleteFile(iFileSession, KInputFile);
+    	if (result != KErrInUse)
+    		iLog->Log(_L("FAILED: Input File Deleted after Setting"));
+    	else
+    		{
+    		iLog->Log(_L("PASSED: Input File cannot be deleted after Setting"));
+    		result = KErrNone;
+    		}
+    	}  
+    return result;
+    }
+
+// -----------------------------------------------------------------------------
+// CCUTLandmarkURL::SetInputFileHandle
+// This function sets the handle of file containing the URL to be parsed
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CCUTLandmarkURL::SetInputFileHandleL( CStifItemParser& aItem )
+    {
+    TInt result = KErrNone;
+    _LIT(KTestMode, "TESTMODE= " );
+    if(BaflUtils::FileExists(iFileSession, KInputFileHandle))
+    	{
+    	BaflUtils::DeleteFile(iFileSession, KInputFileHandle);
+    	}
+    TInt caseno = 0;
+    aItem.GetNextInt(caseno);
+  
+    TPtrC inputURL;
+    aItem.GetNextString(inputURL);
+    
+    TInt testmode = 0;
+    aItem.GetInt(KTestMode, testmode);
+    
+    
+    HBufC *url = HBufC::NewLC(inputURL.Size());
+    *url = inputURL;
+
+    HBufC8 *urlfile = HBufC8::NewLC(inputURL.Size());
+    urlfile->Des().Copy(*url);
+    
+    User::LeaveIfError(iFile.Create(iFileSession,KInputFileHandle, EFileWrite));
+    switch(caseno)
+    	{
+    	default:
+    		//fall through
+    	case 0:
+    	    User::LeaveIfError(iFile.Write(0, _L8("http://www.maps.ovi.com/?")));
+			break;
+			
+    	case NOPROTOCOL:
+    	    User::LeaveIfError(iFile.Write(0, _L8("maps.ovi.com/?")));
+			break;
+			
+    	case HTTPS:
+    	    User::LeaveIfError(iFile.Write(0, _L8("https://maps.ovi.com/?")));
+			break;
+			
+    	case INVALIDPROTOCOL:
+    	    User::LeaveIfError(iFile.Write(0, _L8("ftp://maps.ovi.com/?")));
+			break;
+			
+    	case NOHOSTNAME:
+    	    User::LeaveIfError(iFile.Write(0, _L8("/?")));
+			break;
+			
+    	case INVALIDHOSTNAME:
+    	    User::LeaveIfError(iFile.Write(0, _L8("http://www.maps.google.com/?")));
+			break;
+			
+    	case INVALIDHOSTNAME1:
+    	    User::LeaveIfError(iFile.Write(0, _L8("http://www.maps.ovi.com?/")));
+			break;
+			
+    	case INVALIDHOSTNAME2:
+    	    User::LeaveIfError(iFile.Write(0, _L8("http://www.maps.ovi.com/")));
+			break;
+			
+    	case DESC_BV1:
+    		User::LeaveIfError(iFile.Write(0, _L8("http://www.maps.ovi.com/?lo=-179.99999&la=-89.99999&d=123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906789012345678901234567890123456789012345678901234567890")));
+    		break;
+    		
+    	case DESC_BV2:
+    		User::LeaveIfError(iFile.Write(0, _L8("http://www.maps.ovi.com/?lo=-179.99999&la=-89.99999&d=12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890678901234567890123456789012345678901234567890123456789")));
+    		break;
+    		
+    	case DESC_BV3:
+    		User::LeaveIfError(iFile.Write(0, _L8("http://www.maps.ovi.com/?lo=-179.99999&la=-89.99999&d=1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789067890123456789012345678901234567890123456789012345678901")));
+    		break;
+    		
+    	}
+    
+    User::LeaveIfError(iFile.Write(25, *urlfile));  
+    
+    CleanupStack::PopAndDestroy(urlfile);
+    CleanupStack::PopAndDestroy(url);
+    
+    //Closing the file and opening in ReadMode
+    TInt expectedResult = KErrNone; 
+    if(testmode == KRead)
+    	{
+		iFile.Close();
+		User::LeaveIfError(iFile.Open(iFileSession, KInputFileHandle, EFileRead));
+		expectedResult = KErrNone;
+    	}
+    if(testmode == KReadWrite)
+    	expectedResult = KErrAccessDenied;
+    	
+    
+	TRAP(result,iPosLandmarkParser->SetInputFileHandleL(iFile));
+		{
+		if(result != expectedResult)
+			{
+			iLog->Log(_L("FAILED: Setting Input File Handle Fails with error, %d"), result);
+			result = KErrGeneral;
+			}
+		else
+			iLog->Log(_L("PASSED: Setting Input File Handle passes"));
+		}
+    return result;
+    }
+
+// -----------------------------------------------------------------------------
+// CCUTLandmarkURL::ParseContent
+// This function calls the parser method to parse the URL set either in buffer or file
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CCUTLandmarkURL::ParseContent( CStifItemParser& aItem )
+    {
+    TInt result = KErrNone;
+    TInt caseno = 0;
+    aItem.GetNextInt(caseno);
+    TReal32 progress;
+    TRequestStatus status;
+    
+    switch(caseno)
+    	{
+    	default:
+    		//fall through
+    	case 0:
+    	    TRAP(result, iOperation = iPosLandmarkParser->ParseContentL(EFalse));
+    	    TRAPD(error, iOperation->NextStep(status, progress));
+    	    User::WaitForRequest(status);
+    	    if(result != KErrNone || error != KErrNone && status != KPosLmOperationNotComplete)
+    			{
+    			iLog->Log(_L("FAILED: ParseContent Fails with Error: %d and %d"), result, error);
+    			result = KErrGeneral;
+    			}
+    	    else
+    			iLog->Log(_L("PASSED: ParseContent passes"));
+    	    break;
+    	    
+		case UNKNOWNFORMAT:
+			TRAP(result, iOperation = iPosLandmarkParser->ParseContentL(EFalse));
+			TRAP(result, iOperation->ExecuteL());
+			if(result != KErrPosLmUnknownFormat && status == KErrNone)
+				{
+				iLog->Log(_L("FAILED:Parse Content fails for unknown format with error, %d"), result);
+				result = KErrGeneral;
+				}
+			else
+				{
+				iLog->Log(_L("PASSED: Parse Content passes for unknown format"));
+				result = KErrNone;
+				}
+		break;
+		
+    	case PANIC_CODE_VERIIFCATION:
+    		TestModuleIf().SetExitReason( CTestModuleIf::EPanic, EPosLmProtocolBreak );   
+			TRAP(result, iPosLandmarkParser->ParseContentL(EFalse));
+    		break;
+    	}
+    return result;
+    }
+
+// -----------------------------------------------------------------------------
+// CCUTLandmarkURL::NumOfParsedLandmarks
+// This function gives the number of parsed landmarks
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CCUTLandmarkURL::NumOfParsedLandmarksL( CStifItemParser& aItem )
+    {
+    TInt result = KErrNone;
+    TInt value = 0;
+    User::LeaveIfError(aItem.GetNextInt(value));
+    
+    if(iPosLandmarkParser->NumOfParsedLandmarks() != value)
+    	{
+    	iLog->Log(_L("FAILED: Number of parsed Landmark does not matches"));
+    	result = KErrGeneral;
+    	}
+    
+    else
+    	iLog->Log(_L("PASSED: NumOfParsedLandmarks returns the correct value"));
+
+    return result;
+    }
+
+// -----------------------------------------------------------------------------
+// CCUTLandmarkURL::Landmark 
+// This function returns the landmark that is parsed from the URL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CCUTLandmarkURL::LandmarkL( CStifItemParser& aItem )
+    {
+    TInt result = KErrNone;
+    TInt caseno = 0;
+    
+    aItem.GetNextInt(caseno);
+    
+    CPosLandmark* landmark = NULL;
+    
+    switch(caseno)
+    	{
+    	default:
+    		//fall through
+    	case 0:
+    		   landmark = iPosLandmarkParser->LandmarkLC();
+    			TRAP(result, VerifyParsingL(aItem, landmark));
+    			if(result != KErrNone)
+    				{
+    				iLog->Log(_L("FAILED: Verification of Parsing Failed with error %d"), result);
+    				result = KErrGeneral;
+    				}
+    			else
+    				iLog->Log(_L("PASSED: Verification of parsing passed"));
+    			
+    			
+    		    iDatabase = CPosLandmarkDatabase::OpenL();    
+    		    if (iDatabase->IsInitializingNeeded())
+    		       {
+    		       ExecuteAndDeleteLD(iDatabase->InitializeL());
+    		       }
+    		    iPosLandmark = CPosLandmark::NewL(*landmark);
+    		    CleanupStack::PopAndDestroy(landmark);
+    		    
+    		break;
+    		
+    	case NOLANDMARK:
+    		TRAP(result, landmark = iPosLandmarkParser->LandmarkLC(); CleanupStack::PopAndDestroy(landmark));
+    		if(result != KErrNotFound)
+    			{
+    			iLog->Log(_L("FAILED:LandmarkLC fails for no landmark parsed, %d"), result);
+    			result = KErrGeneral;
+    			}
+    		else
+    			{
+    			iLog->Log(_L("PASSED: LandmarkLC passes no landmark parsed"));
+    			result = KErrNone;
+    			}
+    		break;
+    		
+    	case PANIC_CODE_VERIIFCATION:
+    		TestModuleIf().SetExitReason( CTestModuleIf::EPanic, EPosInvalidIndex );   
+			TRAP(result, iPosLandmarkParser->LandmarkLC(4); CleanupStack::PopAndDestroy(landmark));
+    		break;	
+    	}
+ 
+    return result;
+    }
+
+// -----------------------------------------------------------------------------
+// CCUTLandmarkURL::LandmarkCategory
+// This function returns the category of the landmark that was most recently parsed
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CCUTLandmarkURL::LandmarkCategoryL( CStifItemParser& aItem )
+    {
+    TInt result = KErrGeneral;
+    TInt caseno = 0;
+    
+    aItem.GetNextInt(caseno);
+    
+    GetStringAfterTag(aItem, KCategory,iMatchCategory);
+    GetStringAfterTag(aItem, K2ndCategory,iMatchCategory2);
+    
+    RArray<TPosLmItemId> array;
+    CPosLandmark* landmark = NULL;
+    landmark = iPosLandmarkParser->LandmarkLC();
+	TRAP(result, landmark->GetCategoriesL(array));
+	switch(caseno)
+		{
+		default:
+			//fall through
+		case 0:
+		    for (TInt i=0;i<array.Count();i++)
+		        {
+		        TBuf<150> buf;
+		        CPosLandmarkCategory* category = iPosLandmarkParser->LandmarkCategoryLC(array[i]);
+
+		        if (category->GlobalCategory()) buf.Append(_L("Global category: "));
+		        else buf.Append(_L("Local category: "));
+		        TPtrC catName;
+		        User::LeaveIfError(category->GetCategoryName(catName));
+		        result = (catName.Compare(iMatchCategory));
+		        if (result == KErrNone)
+		        	goto CONTINUE;
+		        result = (catName.Compare(iMatchCategory2));
+		        if (result == KErrNone)
+		        	goto CONTINUE;
+				result = (catName.Compare(KMAXCAT));
+		        if (result == KErrNone)
+		        	goto CONTINUE;
+				result = (catName.Compare(KMAXCAT1));
+		        if (result == KErrNone)
+		        	goto CONTINUE;
+				result = (catName.Compare(KMAXCAT2));
+		        if (result == KErrNone)
+		        	goto CONTINUE;
+		        CONTINUE:
+					{
+					buf.Append(catName);
+					iLog->Log(buf);
+					CleanupStack::PopAndDestroy(category);
+					if (result != KErrNone)
+						break;
+					}
+		        }
+		    break;
+		    
+		case NULLCAT:
+			if(array.Count()== 0)
+				result = KErrNone;
+		
+		}
+	if(result == KErrNone)
+		iLog->Log(_L("PASSED: LandmarkLC Passed!!"));
+	else
+		iLog->Log(_L("FAILED: LandmarkLC fails!!"));		
+    CleanupStack::PopAndDestroy(landmark);
+    return result;
+    }
+// -----------------------------------------------------------------------------
+// CCUTLandmarkURL::Misc
+// This method verifies the encoded url as follows:
+// 1. Complies with the URL grammer
+// 2. Compares the parameters are same as they were set
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CCUTLandmarkURL::MiscL( CStifItemParser& /*aItem*/)
+    {
+    TInt result = KErrNone;
+    TPosLmCollectionDataId collectionDataId;
+    
+    //Testing CPosLandmarkParser::CollectionData()
+    if( iPosLandmarkParser->CollectionData(EPosLmCollDataNone)!= KNullDesC)
+    	{
+    	iLog->Log(_L("FAILED: CollectionData fails"));
+    	User::Leave(KErrGeneral);
+    	}
+    else
+    	iLog->Log(_L("PASSED: Collection Data passed"));
+    
+    //Testing CPosLandmarkParser::FirstCollectionDataId()
+    collectionDataId= iPosLandmarkParser->FirstCollectionDataId();
+    if(collectionDataId != EPosLmCollDataNone)
+    	{
+    	iLog->Log(_L("FAILED: FirstCollectionDataId fails"));
+    	User::Leave(KErrGeneral);
+    	}
+    else
+    	iLog->Log(_L("PASSED: FirstCollectionDataId Data passed"));
+    
+    //Testing CPosLandmarkParser::NextCollectionDataId()
+    collectionDataId = iPosLandmarkParser->NextCollectionDataId(EPosLmCollDataNone);
+    if(collectionDataId != EPosLmCollDataNone)
+    	{
+    	iLog->Log(_L("FAILED: NextCollectionDataId fails"));
+    	User::Leave(KErrGeneral);
+    	}
+    else
+    	iLog->Log(_L("PASSED: NextCollectionDataId Data passed"));
+    TBuf<16> collectionData;
+    TRAP(result,iPosLandmarkEncoder->AddCollectionDataL(EPosLmCollDataNone,collectionData));
+	User::Leave(result);
+    }
+// -----------------------------------------------------------------------------
+// CCUTLandmarkURL::VerifyEncoding
+// This method verifies the encoded url as follows:
+// 1. Complies with the URL grammer
+// 2. Compares the parameters are same as they were set
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CCUTLandmarkURL::VerifyEncodingL( CStifItemParser& aItem)
+    {
+    TInt result = KErrNone;
+    TInt caseno = 0;
+    TInt NumberofParams = 0;
+    aItem.GetNextInt(caseno);
+    aItem.GetNextInt(NumberofParams);
+
+    HBufC8* aDes = NULL;
+    HBufC8 *BufferedURL = HBufC8::NewLC(KMaxTestBuf); 
+	TInt size = 0;
+ 
+     switch(caseno)
+    	{
+    	default:
+    	case BUFFER_OUTPUT:
+    		TRAP(result, aDes = HBufC8::NewL(iEncoderBuffer->Size()));
+    		CleanupStack::PushL(aDes);
+     	    TPtr8 ptr = aDes->Des();
+    	    iEncoderBuffer->Read(0, ptr, iEncoderBuffer->Size());
+    	    result = ParseURL(_L8("?"),ptr ,aItem);
+    	    iEncoderBuffer->Reset();
+    	    CleanupStack::PopAndDestroy(aDes);
+    		break;
+    		
+    	case FILE_OUTPUT:
+    		User::LeaveIfError(iFile.Open(iFileSession, KOutputFilePath,EFileRead));
+    		TPtr8 fileptr = BufferedURL->Des();
+    		User::LeaveIfError(iFile.Read(fileptr)); 
+    	    result = ParseURL(_L8("?"),fileptr,aItem);
+    		break;
+    		
+    	case NO_ENCODING_FILE:
+    	  	User::LeaveIfError(iFile.Open(iFileSession, KOutputFilePath,EFileRead));
+    		User::LeaveIfError(iFile.Size(size));
+    		iLog->Log(_L("Size of the file is %d"), size);
+    		if (size != -1)
+    			User::Leave(KErrGeneral);
+    		else
+    			User::Leave(KErrNone);    			
+    		break;
+    		
+    	case NO_ENCODING_BUFFER:
+    		size = iEncoderBuffer->Size();
+    		if (size != -1)
+    			User::Leave(KErrGeneral);
+    		else
+    			User::Leave(KErrNone);    			
+    		break;    		
+    	}
+	iLog->Log(_L("PASSED: All the location params values matches!!"));
+    if(iCount != (NumberofParams))
+    	{
+    	result = KErrGeneral;
+    	iLog->Log(_L("FAILED: number of location params encoded does not match with the cfg file!!"));
+    	}
+    CleanupStack::PopAndDestroy(BufferedURL);
+    return result;
+    }
+// -----------------------------------------------------------------------------
+// CCUTLandmarkURL::ParseURL
+// This method parses the URL obtained after encoding the landmark
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CCUTLandmarkURL::ParseURL(const TDesC8 & aDelimiter, TPtr8 aBufferedURL, CStifItemParser& aItem)
+    {
+    TInt result = KErrNone;
+    TInt ParamStart = 0;
+    TInt column = 0;
+    TPtrC parsedURL;
+    HBufC * bufferedURL = HBufC::NewLC(KMaxTestBuf);
+    HBufC * remainingURL = HBufC::NewLC(KMaxTestBuf);
+    ParamStart = aBufferedURL.Find(aDelimiter);
+    if(ParamStart != -1)
+    	{
+    	remainingURL->Des().Copy(aBufferedURL.Mid((ParamStart+1),aBufferedURL.Length() -(ParamStart+1) ));
+    	bufferedURL->Des().Copy(remainingURL->Des());
+    	while(result != KErrNotFound)
+    		{
+    		result = TextUtils::ColumnText(parsedURL, column, bufferedURL, KColumnSeperator);
+    		HBufC8 *parsedURL8 = HBufC8::NewLC(parsedURL.Length());
+    		parsedURL8->Des().Copy(parsedURL);
+    		ParseValueL(parsedURL8->Des(), aItem);
+    		column++;
+    		CleanupStack::PopAndDestroy(parsedURL8);
+    		}
+    	}
+    CleanupStack::PopAndDestroy(2);
+	return KErrNone;   
+	}
+
+// -----------------------------------------------------------------------------
+// CCUTLandmarkURL::ParseValue
+// This method obtains the value of the location parameters in the URL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CCUTLandmarkURL::ParseValueL(TPtr8 aBufferedURL, CStifItemParser& aItem)
+    {
+	TInt result = KErrNone;
+	TInt paramStart = 0;
+	paramStart = aBufferedURL.Find(_L8("="));
+	TBuf8<KMaxTagName> tagName;
+	HBufC8* temp = HBufC8::NewLC(KMaxTestBuf);
+	TPtr8 temp8 = temp->Des();
+	if(paramStart != -1)
+		{
+		tagName .Copy(aBufferedURL.Mid(0,paramStart )) ;
+		temp8.Copy(aBufferedURL .Mid((paramStart+1),aBufferedURL .Length() -(paramStart+1) ));
+		temp8.TrimAll();
+		TPtrC8 Value(temp8);
+		result = CompareParamValueL(tagName, Value, aItem);
+		}
+	CleanupStack::PopAndDestroy(temp);
+	return result;
+    }
+
+// -----------------------------------------------------------------------------
+// CCUTLandmarkURL::CompareParamValue
+// This method compares the values of the parameters in the URL and in the cfg file
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CCUTLandmarkURL::CompareParamValueL(TBuf8<KMaxTagName> aTagName , TPtrC8 aValue, CStifItemParser& aItem)
+	{
+	TInt result = KErrGeneral;
+	TInt tagCompare = -1;
+
+	HBufC *value = HBufC::NewLC(aValue.Length());
+	value->Des().Copy(aValue);
+	aTagName.TrimAll();
+	
+   //Reading location values from the cfg files 
+    GetStringAfterTag(aItem, KName, iName);    
+    GetStringAfterTag(aItem, KLandmarkDescription, iDescription);
+    aItem.GetNextString(KVerticalAccuracy,iVerticalAccuracy);
+    aItem.GetNextString(KHorizontalAccuracy,iHorizontalAccuracy);
+    aItem.GetNextString(KLatitude,iLatitude);
+    aItem.GetNextString(KLongitude,iLongitude);
+    aItem.GetNextString(KAltitude,iAltitude);
+    
+    
+    //Reading postion fields from cfg fields
+    aItem.GetNextString(KSpeed,iSpeed);
+    aItem.GetNextString(KHeading,iHeading);
+    GetStringAfterTag(aItem, KCountry,iCountry);    
+    GetStringAfterTag(aItem, KState,iState);
+    GetStringAfterTag(aItem, KCity,iCity);
+    GetStringAfterTag(aItem, KStreet ,iStreet);
+    GetStringAfterTag(aItem, KPostalCode,iPostalCode);
+    GetStringAfterTag(aItem, KHouseNumber,iHouseNumber);
+    GetStringAfterTag(aItem, KTelephone,iTelephone);
+    GetStringAfterTag(aItem, KCategory,iMatchCategory);
+    GetStringAfterTag(aItem, KWeb,iWeb);
+    GetStringAfterTag(aItem, K2ndCategory,iMatchCategory2);
+    GetStringAfterTag(aItem, KPID,iPID);
+    GetStringAfterTag(aItem, KTS,iTS);
+
+
+	
+    tagCompare = aTagName.Compare(_L8("la"));
+	if(tagCompare == 0)
+		result = value->Compare(iLatitude);
+	
+	tagCompare = aTagName.Compare(_L8("lo"));
+	if(tagCompare == 0)
+		result = value->Compare(iLongitude);
+	
+	tagCompare = aTagName.Compare(_L8("n"));
+	if(tagCompare == 0)
+		result = value->Compare(iName);
+	
+	tagCompare = aTagName.Compare(_L8("s"));
+	if(tagCompare == 0)
+		result = value->Compare(iStreet);
+	
+	tagCompare = aTagName.Compare(_L8("sn"));
+	if(tagCompare == 0)
+		result = value->Compare(iHouseNumber);
+	
+	tagCompare = aTagName.Compare(_L8("pz"));
+	if(tagCompare == 0)
+		result = value->Compare(iPostalCode);
+	
+	tagCompare = aTagName.Compare(_L8("c"));
+	if(tagCompare == 0)
+		result = value->Compare(iCity);
+	
+	tagCompare = aTagName.Compare(_L8("sp"));
+	if(tagCompare == 0)
+		result = value->Compare(iState);
+	
+	tagCompare = aTagName.Compare(_L8("cr"));
+	if(tagCompare == 0)
+		result = value->Compare(iCountry);
+	
+	tagCompare = aTagName.Compare(_L8("t"));
+	if(tagCompare == 0)
+		result = value->Compare(iTelephone);
+	
+	tagCompare = aTagName.Compare(_L8("w"));
+	if(tagCompare == 0)
+		result = value->Compare(iWeb);
+	
+	tagCompare = aTagName.Compare(_L8("cat"));
+	if(tagCompare == 0)
+		result = value->Compare(iMatchCategory);
+	if (result != KErrNone)
+		result = value->Compare(iMatchCategory2);
+	
+	tagCompare = aTagName.Compare(_L8("d"));
+	if(tagCompare == 0)
+		result = value->Compare(iDescription);
+	
+	tagCompare = aTagName.Compare(_L8("pa"));
+	if(tagCompare == 0)
+		result = value->Compare(iHorizontalAccuracy);
+	
+	tagCompare = aTagName.Compare(_L8("a"));
+	if(tagCompare == 0)
+		result = value->Compare(iAltitude);
+	
+	tagCompare = aTagName.Compare(_L8("aa"));
+	if(tagCompare == 0)
+		result = value->Compare(iVerticalAccuracy);
+	
+	tagCompare = aTagName.Compare(_L8("v"));
+	if(tagCompare == 0)
+		result = value->Compare(iSpeed);
+	
+	tagCompare = aTagName.Compare(_L8("h"));
+	if(tagCompare == 0)
+		result = value->Compare(iHeading);
+	
+	tagCompare = aTagName.Compare(_L8("pid"));
+	if(tagCompare == 0)
+		result = value->Compare(iPID);
+	
+	tagCompare = aTagName.Compare(_L8("ts"));
+	if(tagCompare == 0)
+		result = value->Compare(iTS);
+	
+	if (result != 0)
+		{
+		result = value->Compare(KMAXSTRING);
+		}
+	if (result != 0)
+		{
+		result = value->Compare(KMAXSTRING1);
+		}
+	if (result != 0)
+		{
+		result = value->Compare(KMAXSTRING2);
+		}
+	if (result != 0)
+		{
+		result = value->Compare(KMAXDESSTRING);
+		}
+	if (result != 0)
+		{
+		result = value->Compare(KMAXDESSTRING1);
+		}
+	if (result != 0)
+		{
+		result = value->Compare(KMAXDESSTRING2);
+		}
+	
+	
+	iCount++;
+	if(result != KErrNone)
+		{
+		iLog->Log(_L("FAILED: Params Values in the URL and cfg file does not match, Param: %S"),&aTagName);
+		User::Leave(KErrGeneral);
+		}
+	CleanupStack::PopAndDestroy(value);
+	return KErrNone;
+	}
+
+// -----------------------------------------------------------------------------
+// CCUTLandmarkURL::CompareParamValue
+// This method compares the values of the parameters in the URL and in the cfg file
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CCUTLandmarkURL::GetStringTillQuote(CStifItemParser& aItem, TName& aName)
+    {
+     TPtrC temp;
+     
+
+     //Assuming that a " has already been seen.
+     if(aItem.GetNextString(temp) != KErrNone)
+        {
+         return KErrArgument;
+        }
+     
+     //The name should have atleast one word.
+     if(temp == _L("\""))
+        {
+         return KErrArgument;
+        }
+
+     
+     //Append the first word.
+     aName.Append(temp);
+    
+     if(aItem.GetNextString(temp) != KErrNone)
+        {
+         return KErrArgument;
+        }
+
+
+     while(temp!=_L("\""))
+        {
+         //Append a space at the beginning
+         aName.Append(_L(" "));
+         aName.Append(temp);
+
+         //Keep on appending the next words.
+         if(aItem.GetNextString(temp) != KErrNone)
+            {
+             return KErrArgument;
+            }
+        }
+
+     return KErrNone;
+     }
+
+
+// -----------------------------------------------------------------------------
+// CCUTLandmarkURL::CompareParamValue
+// This method compares the values of the parameters in the URL and in the cfg file
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CCUTLandmarkURL::GetStringAfterTag(CStifItemParser& aItem, const TDesC& aTag, TName& aString)
+    {
+     TPtrC temp;
+     aString.Delete(0,aString.Length());
+
+     if(aItem.GetString(aTag, temp) != KErrNone)
+        {
+         return KErrArgument;
+        }
+
+     //Now temp should contain a "
+     if(temp != _L("\""))
+        {
+         return KErrArgument;
+        }
+
+     //Get the Country name till a " is found.
+     if(GetStringTillQuote(aItem, aString) != KErrNone)
+        {
+         return KErrArgument;
+        }
+
+     return KErrNone;
+    }
+// -----------------------------------------------------------------------------
+// CCUTLandmarkURL::VerifyParsing
+// This method verifies the parsed url as follows:
+// 1. Compares with the URL grammer
+// 2. Compares the parameters are set properly in the landmark object
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CCUTLandmarkURL::VerifyParsingL( CStifItemParser& aItem,CPosLandmark* aPosLandmark )
+    {	
+    TInt result = KErrGeneral;
+        
+    //Reading location values from the cfg files 
+    GetStringAfterTag(aItem, KName, iName);    
+    GetStringAfterTag(aItem, KLandmarkDescription, iDescription);
+    aItem.GetNextString(KVerticalAccuracy,iVerticalAccuracy);
+    aItem.GetNextString(KHorizontalAccuracy,iHorizontalAccuracy);
+    aItem.GetNextString(KLatitude,iLatitude);
+    aItem.GetNextString(KLongitude,iLongitude);
+    aItem.GetNextString(KAltitude,iAltitude);
+    
+    
+    //Reading postion fields from cfg fields
+    aItem.GetNextString(KSpeed,iSpeed);
+    aItem.GetNextString(KHeading,iHeading);
+    
+    GetStringAfterTag(aItem, KCountry,iCountry); 
+    GetStringAfterTag(aItem, KState,iState);
+    GetStringAfterTag(aItem, KCity,iCity);
+    GetStringAfterTag(aItem, KStreet ,iStreet);
+    GetStringAfterTag(aItem, KPostalCode,iPostalCode);
+    GetStringAfterTag(aItem, KHouseNumber,iHouseNumber);
+    GetStringAfterTag(aItem, KTelephone,iTelephone);
+    GetStringAfterTag(aItem, KWeb,iWeb);
+    GetStringAfterTag(aItem, KPID,iPID);
+    GetStringAfterTag(aItem, KTS,iTS);
+    
+    
+   
+    //Converting string to TReal
+    TRealX floatX;
+    floatX.SetNaN();
+    
+    TReal32 VA = 0;
+    if(iVerticalAccuracy != _L(""))
+    	{
+		TLex16 VerticalAcc(iVerticalAccuracy);
+		VerticalAcc.Val(VA);
+    	}
+    else 
+    	VA = floatX;
+    	    
+    TReal32 HA= 0;
+    if(iHorizontalAccuracy != _L(""))
+    	{
+    	TLex16 HorizontalAcc(iHorizontalAccuracy);
+    	HorizontalAcc.Val(HA);
+    	}
+    else
+    	HA = floatX;
+
+	TReal64 RLat = 0;
+	TLex16 Lat(iLatitude);
+	Lat.Val(RLat);
+    
+    TReal64 RLong = 0;
+    TLex16 Long(iLongitude);
+    Long.Val(RLong);   
+
+    TReal64 RAlt = 0;
+    if(iAltitude != _L(""))
+    	{
+    	TLex16 Alt(iAltitude);
+    	Alt.Val(RAlt);
+    	}
+    else
+    	RAlt = floatX;
+
+   
+    TPtrC landmarkDescription;
+    aPosLandmark->GetLandmarkDescription(landmarkDescription);
+	result = landmarkDescription.Compare(iDescription);
+	if(result != KErrNone)
+		result = landmarkDescription.Compare(KMAXDESSTRING);
+	if(result != KErrNone)
+		result = landmarkDescription.Compare(KMAXDESSTRING1);
+	if(result != KErrNone)
+		result = landmarkDescription.Compare(KMAXDESSTRING2);
+	
+	TPtrC name;
+	aPosLandmark->GetLandmarkName(name);
+	result = name.Compare(iName);
+	if(result != KErrNone)
+		result = name.Compare(KMAXSTRING);
+	if(result != KErrNone)
+		result = name.Compare(KMAXSTRING1);
+	if(result != KErrNone)
+		result = name.Compare(KMAXSTRING2);
+	
+	TPtrC pid;
+	aPosLandmark->GetPlaceId(pid);
+	result = pid.Compare(iPID);
+	if(result != KErrNone)
+		result = pid.Compare(KMAXSTRING);
+	if(result != KErrNone)
+		result = pid.Compare(KMAXSTRING1);
+	if(result != KErrNone)
+		result = pid.Compare(KMAXSTRING2);
+		
+	TLocality position;
+	TReal64 latitude, longitude = 0;
+	TReal32 altitude, pa, aa = 0;
+	aPosLandmark->GetPosition(position);
+	latitude = position.Latitude();
+	if(latitude != RLat)
+		User::Leave(KErrGeneral);
+	longitude = position.Longitude();
+	if(longitude != RLong)
+		User::Leave(KErrGeneral);
+	altitude = position.Altitude();
+	if(Math::IsNaN(altitude)!= Math::IsNaN(RAlt) )
+		{
+		if(altitude != RAlt)
+			User::Leave(KErrGeneral);
+		}
+	
+	pa = position.HorizontalAccuracy();
+	if(Math::IsNaN(pa)!= Math::IsNaN(HA) )
+		{
+		if(pa != HA)
+			User::Leave(KErrGeneral);
+		}
+	
+	aa = position.VerticalAccuracy();
+	if(Math::IsNaN(aa)!= Math::IsNaN(VA) )
+		{
+		if(aa != VA)
+			User::Leave(KErrGeneral);
+		}
+	
+	TPtrC speed;
+	aPosLandmark->GetPositionField(EPositionFieldHorizontalSpeed, speed);
+	result = speed.Compare(iSpeed);
+	if(result != KErrNone)
+		result = speed.Compare(KMAXSTRING);
+	if(result != KErrNone)
+		result = speed.Compare(KMAXSTRING1);
+	if(result != KErrNone)
+		result = speed.Compare(KMAXSTRING2);
+		
+	
+	
+	TPtrC heading;
+	aPosLandmark->GetPositionField(EPositionFieldHeading, heading);
+	result = heading.Compare(iHeading);
+	if(result != KErrNone)
+		result = heading.Compare(KMAXSTRING);
+	if(result != KErrNone)
+		result = heading.Compare(KMAXSTRING1);
+	if(result != KErrNone)
+		result = heading.Compare(KMAXSTRING2);
+	
+	TPtrC country;
+	aPosLandmark->GetPositionField(EPositionFieldCountry, country);
+	result = country.Compare(iCountry);
+	if(result != KErrNone)
+		result = country.Compare(KMAXSTRING);
+	if(result != KErrNone)
+		result = country.Compare(KMAXSTRING1);
+	if(result != KErrNone)
+		result = country.Compare(KMAXSTRING2);
+	
+	TPtrC state;
+	aPosLandmark->GetPositionField(EPositionFieldState, state);
+	result = state.Compare(iState);
+	if(result != KErrNone)
+		result = state.Compare(KMAXSTRING);
+	if(result != KErrNone)
+		result = state.Compare(KMAXSTRING1);
+	if(result != KErrNone)
+		result = state.Compare(KMAXSTRING2);
+	
+	TPtrC city;
+	aPosLandmark->GetPositionField(EPositionFieldCity, city);
+	result = city.Compare(iCity);
+	if(result != KErrNone)
+		result = city.Compare(KMAXSTRING);
+	if(result != KErrNone)
+		result = city.Compare(KMAXSTRING1);
+	if(result != KErrNone)
+		result = city.Compare(KMAXSTRING2);
+	
+	
+	TPtrC street;
+	aPosLandmark->GetPositionField(EPositionFieldStreet, street);
+	result = street.Compare(iStreet);
+	if(result != KErrNone)
+		result = street.Compare(KMAXSTRING);
+	if(result != KErrNone)
+		result = street.Compare(KMAXSTRING1);
+	if(result != KErrNone)
+		result = street.Compare(KMAXSTRING2);
+	
+	TPtrC postalCode;
+	aPosLandmark->GetPositionField(EPositionFieldPostalCode, postalCode);
+	result = postalCode.Compare(iPostalCode);
+	if(result != KErrNone)
+		result = postalCode.Compare(KMAXSTRING);
+	if(result != KErrNone)
+		result = postalCode.Compare(KMAXSTRING1);
+	if(result != KErrNone)
+		result = postalCode.Compare(KMAXSTRING2);
+	
+	TPtrC houseNumber;
+	aPosLandmark->GetPositionField(EPositionFieldStreetExtension, houseNumber);
+	result = houseNumber.Compare(iHouseNumber);
+	if(result != KErrNone)
+		result = houseNumber.Compare(KMAXSTRING);
+	if(result != KErrNone)
+		result = houseNumber.Compare(KMAXSTRING1);
+	if(result != KErrNone)
+		result = houseNumber.Compare(KMAXSTRING2);
+	
+	TPtrC telephone;
+	aPosLandmark->GetPositionField(EPositionFieldBuildingTelephone, telephone);
+	result = telephone.Compare(iTelephone);
+	if(result != KErrNone)
+		result = telephone.Compare(KMAXSTRING);
+	if(result != KErrNone)
+		result = telephone.Compare(KMAXSTRING1);
+	if(result != KErrNone)
+		result = telephone.Compare(KMAXSTRING2);
+	
+	TPtrC web;
+	aPosLandmark->GetPositionField(EPositionFieldMediaLinksStart, web);
+	result = web.Compare(iWeb);
+	if(result != KErrNone)
+		result = web.Compare(KMAXSTRING);
+	if(result != KErrNone)
+		result = web.Compare(KMAXSTRING1);
+	if(result != KErrNone)
+		result = web.Compare(KMAXSTRING2);
+	
+	User::LeaveIfError(result);
+	
+	// This part of the code Tests the timestamp
+	TTime timeStamp;
+	result = aPosLandmark->GetTimeStamp(timeStamp);
+	TTime ts;
+	if(iTS != _L(""))
+		ts.Set(iTS);
+	if(result != KErrNotFound && iTS != _L(""))
+		{
+		if(timeStamp != ts)
+			User::Leave(KErrGeneral);
+		}
+	}
+
+    
+// ========================== OTHER EXPORTED FUNCTIONS =========================
+// None
+
+//  [End of File] - Do not remove
--- a/layers.sysdef.xml	Thu Aug 19 10:20:18 2010 +0300
+++ b/layers.sysdef.xml	Tue Aug 31 15:37:04 2010 +0300
@@ -1,9 +1,9 @@
 <?xml version="1.0"?>
-<!DOCTYPE SystemDefinition SYSTEM "sysdef_1_4_0.dtd" [
+<!DOCTYPE SystemDefinition SYSTEM "sysdef_1_5_1.dtd" [
   <!ENTITY layer_real_source_path "sf/mw/locationsrv" >
 ]>
 
-<SystemDefinition name="locationsrv" schema="1.4.0">
+<SystemDefinition name="locationsrv" schema="1.5.1">
   <systemModel>
     <layer name="mw_layer">
       <module name="locationsrv">
@@ -12,7 +12,7 @@
       <module name="asnpluginimplementation"> 
      	<unit unitID="lodo.locationsrv.supl.asnpluginimplementation"
        mrp="" bldFile="&layer_real_source_path;/supl/locationomasuplprotocolhandler/asnpluginimplementation/group"
-       filter="dfs_build"  name="lodo_locationsrv_supl_asnpluginimplementation>"  />
+       filter="dfs_build"  name="lodo_locationsrv_supl_asnpluginimplementation"  />
      </module>
      <module name="locationsupllocinfoconverter"> 
      	<unit unitID="lodo.locationsrv.supl.locationsupllocinfoconverter"
@@ -22,8 +22,11 @@
      <module name="asnpluginimplementationver2"> 
      	<unit unitID="lodo.locationsrv.supl.asnpluginimplementationver2"
        mrp="" bldFile="&layer_real_source_path;/supl/locationomasuplprotocolhandler/asnpluginimplementationver2/group"
-       filter="dfs_build"  name="lodo_locationsrv_supl_asnpluginimplementationver2>"  />
+       filter="dfs_build"  name="lodo_locationsrv_supl_asnpluginimplementationver2"  />
      </module>
+     <module name="locationsysui_pro">
+     	<unit unitID="locationsysui.pro" mrp="" bldFile="&layer_real_source_path;/locationsystemui/locationsysui" name="locationsysui_pro" proFile="locsysui.pro" />
+     	</module>
      </layer>
   </systemModel>
 </SystemDefinition>
--- a/locationmapnavfw/aiwprovider/data/1020690C.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,88 +0,0 @@
-/*
-* Copyright (c) 1020 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  ECom resource definitions for Map and Navigation AIW Provider
-*
-*/
-
-
-
-#include <eikon.rh>
-#include <ecom/registryinfov2.rh>
-#include <AiwCommon.hrh>
-
-#include "mnaiwprovideruids.hrh"
-
-// ---------------------------------------------------------------------------
-//  r_mn_aiwprovider_plugin
-//  This resource is needed by CAiwServiceHandler/ECom for
-//  finding out what plugins exist
-// ---------------------------------------------------------------------------
-//
-RESOURCE REGISTRY_INFO r_mn_aiwprovider_plugin
-	{
-	resource_format_version = RESOURCE_FORMAT_VERSION_2;
-	dll_uid = KMnAiwProviderDllUid;
-	interfaces =
-		{
-		INTERFACE_INFO
-			{
-			// aiw service class (menu/base)
-			interface_uid = KAiwClassBase;
-
-			implementations =
-				{
-				  IMPLEMENTATION_INFO
-					{
-					// unique aiw service id that identifies the exact service
-					implementation_uid = KMnAiwProviderBaseImplUid;
-
-					version_no = 1;
-					display_name = "Map and Navigation AIW Provider";
-					default_data = "application/x-landmark";
-					opaque_data = KAiwCmdMnShowMapStr "||"
-					              KAiwCmdMnNavigateToStr "||"
-					              KAiwCmdMnAddrByCoordStr "||"
-					              KAiwCmdMnCoordByAddrStr "||"
-					              KAiwCmdMnSelectFromMapStr;
-                    rom_only = 0;
-					}
-				};
-			},
-
-		INTERFACE_INFO
-			{
-			// aiw service class (menu/base)
-			interface_uid = KAiwClassMenu;
-
-			implementations =
-				{
-				  IMPLEMENTATION_INFO
-					{
-					// unique aiw service id that identifies the exact service
-					implementation_uid = KMnAiwProviderMenuImplUid;
-
-					version_no = 1;
-					display_name = "Map and Navigation AIW Provider";
-					default_data = "application/x-landmark";
-					opaque_data = KAiwCmdMnShowMapStr "||"
-					              KAiwCmdMnNavigateToStr "||"
-					              KAiwCmdMnAddrByCoordStr "||"
-					              KAiwCmdMnCoordByAddrStr "||"
-					              KAiwCmdMnSelectFromMapStr;
-                    rom_only = 0;
-					}
-				};
-			}
-		};
-	}
--- a/locationmapnavfw/aiwprovider/data/mnaiwproviderres.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,158 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Resource definitions for Map and Navigation AIW Provider
-*
-*/
-
-
-#include <eikon.rh>
-#include <avkon.rsg>
-#include <avkon.rh>
-
-NAME MNAP
-RESOURCE RSS_SIGNATURE { }
-RESOURCE TBUF { buf=""; }
-
-#include "mnaiwmenus.hrh"
-#include <mnaiwprovider.loc>
-
-// ---------------------------------------------------------------------------
-// r_mn_aiwmenu_showonmap
-// Show on map AIW menu item
-// ---------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_mn_aiwmenu_show_on_map
-	{
-	items =
-		{
-		MENU_ITEM 
-		    { 
-		    command = EMnAiwMenuCmdShowOnMap;
-		    txt = qtn_mnn_option_show_on_map; 
-		    }
-		};
-	}
-
-// ---------------------------------------------------------------------------
-// r_mn_aiwmenu_navigateto
-// Navigate To AIW menu item
-// ---------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_mn_aiwmenu_navigate_to
-	{
-	items =
-		{
-		MENU_ITEM 
-		    { 
-		    command = EMnAiwMenuCmdNavigateTo;
-		    txt = qtn_mnn_option_navigate_to; 
-		    }
-		};
-	}
-
-// ---------------------------------------------------------------------------
-// r_mn_aiwmenu_selectfrommap
-// Select From Map AIW menu item
-// ---------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_mn_aiwmenu_select_from_map
-	{
-	items =
-		{
-		MENU_ITEM 
-		    { 
-		    command = EMnAiwMenuCmdSelectFromMap;
-		    txt = qtn_mnn_option_select_from_map; 
-		    }
-		};
-	}
-
-// ---------------------------------------------------------------------------
-// r_mn_option_fetch_coordinates
-// Retrieve coordinates AIW menu item
-// ---------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_mn_aiwmenu_fetch_coordinates
-    {
-	items =
-		{
-		MENU_ITEM 
-		    { 
-		    command = EMnAiwMenuCmdFetchCoordinates;
-            txt = qtn_mnn_option_fetch_coordinates;
-		    }
-		};
-    }
-
-// ---------------------------------------------------------------------------
-// r_mn_option_fetch_address
-// Retrieve address AIW menu item
-// ---------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_mn_aiwmenu_fetch_address    
-    {
-	items =
-		{
-		MENU_ITEM 
-		    { 
-		    command = EMnAiwMenuCmdFetchAddress;
-            txt = qtn_mnn_option_fetch_address;
-		    }
-		};
-    }
-
-// ---------------------------------------------------------------------------
-// r_mn_error_no_provider
-// No provider was able to serve for selected service
-// ---------------------------------------------------------------------------
-//
-RESOURCE TBUF r_mn_error_no_provider
-    {
-    buf = qtn_mnn_error_no_provider;
-    }
-
-// ---------------------------------------------------------------------------
-// r_mn_error_service_unavailable
-// Service is not available or failed in selected provider
-// ---------------------------------------------------------------------------
-//
-RESOURCE TBUF r_mn_error_service_unavailable
-    {
-    buf = qtn_mnn_service_unavailable_error;
-    }
-
-// ---------------------------------------------------------------------------
-// r_mn_provider_list_query
-// Provider selection query dialog
-// ---------------------------------------------------------------------------
-//
-RESOURCE AVKON_LIST_QUERY r_mn_provider_list_query
-    {
-    flags = EGeneralQueryFlags;
-    softkeys = R_AVKON_SOFTKEYS_OK_CANCEL;
-    items =
-        {
-        AVKON_LIST_QUERY_DLG_LINE
-            {
-            control = AVKON_LIST_QUERY_CONTROL
-                {
-                listtype = EAknCtSinglePopupMenuListBox;
-                listbox = AVKON_LIST_QUERY_LIST
-                    {
-                    };
-                heading = qtn_mnn_select_provider_query;
-                };
-            }
-        };
-    }
--- a/locationmapnavfw/aiwprovider/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Build information file for Map and Navigation Framework project
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../../loc/mnaiwprovider.loc        MW_LAYER_LOC_EXPORT_PATH(mnaiwprovider.loc)
-
-PRJ_MMPFILES
-mnaiwprovider.mmp
--- a/locationmapnavfw/aiwprovider/group/mnaiwprovider.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Project definition file for Map and Navigation AIW Provider
-*
-*/
-
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-TARGET          mnaiwprovider.dll
-TARGETTYPE      PLUGIN
-UID             0x10009D8D 0x1020690C
-
-VENDORID        VID_DEFAULT
-CAPABILITY      CAP_ECOM_PLUGIN
-
-USERINCLUDE     .
-USERINCLUDE     ../inc
-USERINCLUDE     ../../loc
-
-MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE   ../../inc
-
-SOURCEPATH      ../src
-
-SOURCE          mnaiwprovider.cpp
-SOURCE          mnaiwcommandhandlerbase.cpp
-SOURCE          mnmapviewcmdhandlerbase.cpp
-SOURCE          mnshowonmaphandler.cpp
-SOURCE          mnselectfrommaphandler.cpp
-SOURCE          mnnavigatetohandler.cpp
-SOURCE          mngeocodingcmdhandlerbase.cpp
-SOURCE          mnfetchaddresshandler.cpp
-SOURCE          mnfetchcoordinateshandler.cpp
-
-START RESOURCE  ../data/1020690C.rss
-TARGET          mnaiwprovider.rsc
-TARGETPATH      ECOM_RESOURCE_DIR
-END
-
-START RESOURCE  ../data/mnaiwproviderres.rss
-HEADER
-TARGET          mnaiwproviderres.rsc
-TARGETPATH      RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END
-
-LIBRARY         euser.lib bafl.lib
-LIBRARY         servicehandler.lib apparc.lib
-LIBRARY         avkon.lib eikcore.lib cone.lib aknnotify.lib
-LIBRARY         lbs.lib eposlandmarks.lib mnclientlib.lib
-
-DEBUGLIBRARY    flogger.lib
-
-SMPSAFE
-
-// END OF FILE
-
--- a/locationmapnavfw/aiwprovider/inc/mnaiwcommandhandlerbase.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,265 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnAiwCommandHandlerBase class declaration
-*
-*/
-
-
-#ifndef MN_AIWCOMMANDHANDLERBASE_H
-#define MN_AIWCOMMANDHANDLERBASE_H
-
-#include <e32base.h>
-#include <AiwCommon.h>
-#include <AknServerApp.h>
-#include <EPos_Landmarks.h>
-#include "mnprovider.h"
-#include "mnaiwservices.h"
-
-class CMnAiwCommandHandlerBase;
-class CPosLandmark;
-
-/** \internal 
- *  Callback for clients of @ref CMnAiwCommandHandlerBase.
- *  Used by CMnAiwProvider to destroy asynchronous handlers.
- */
-class MMnAsyncAiwCmdHandlerCallback
-    {
-    public:
-        /** Called by CMnAiwCommandHandlerBase-derived class, 
-         *  to notify completion of AIW command async handling.
-         *  @param aHandler pointer to completed command's handler
-         *  @param aResult result of the command execution
-         */
-        virtual void HandleAsyncAiwCmdCompletedL( 
-            CMnAiwCommandHandlerBase* aHandler, 
-            TInt aResult ) = 0;
-    };
-
-/** \internal 
- *  Callback for clients of @ref CMnAiwCommandHandlerBase.
- *  Used by CMnAiwProvider to destroy handlers, when provider is shutdown.
- */
-class MMnProviderExitCallback
-    {
-    public:
-        /** Called by CMnAiwCommandHandlerBase-derived class, 
-         *  to notify provider's exit.
-         *  @param aHandler pointer to completed command's handler
-         */
-        virtual void HandleProviderExit( 
-            CMnAiwCommandHandlerBase* aHandler ) = 0;
-    };
-
-/** \internal 
- *  Base class for AIW command handlers 
- */
-class CMnAiwCommandHandlerBase : public CActive, public MAknServerAppExitObserver
-    {
-    public:
-        /** Holder for AIW parameters */
-        class TAiwParameters
-            {
-            public:
-                TAiwParameters();
-                TAiwParameters(
-                    const CAiwGenericParamList& aInParamList,
-                    CAiwGenericParamList& aOutParamList,
-                    const MAiwNotifyCallback* aCallback
-                    );
-                
-                const CAiwGenericParamList&     InList() const;
-                CAiwGenericParamList&           OutList();
-                const MAiwNotifyCallback*       Callback() const;
-                
-            protected:        
-                const CAiwGenericParamList*     iInParamList;
-                CAiwGenericParamList*           iOutParamList;
-                const MAiwNotifyCallback*       iCallback;
-            };
-    
-        enum TRunMode
-            {
-            ERunModeDefault,
-            ERunModeChained,
-            ERunModeStandalone
-            };
-    
-    public:
-        /** Returns information about what Provider Application's 
-         *  facilities are needed to execute a particular command
-         */
-        static void AppServiceAndFeatureNeeded(
-            TInt aAiwServiceCommand, 
-            CMnProvider::TService& aServiceNeeded,
-            TInt& aFeaturesNeeded );
-            
-        /** Returns default execution mode for a command.
-         *  @param aAiwServiceCommand Command ID */    
-        static TRunMode DefaultRunMode( TInt aAiwServiceCommand );
-
-        /** Creates new command handler.
-         *  @param aAiwServiceCommand Command ID
-         *  @param[in] aAiwParams Initial AIW parameters. Needed to detect requested
-         *                        execution mode.
-         *  @return New instance of command handler
-         *  @leave KErrNotSupported If given command is not supported
-         */
-        static CMnAiwCommandHandlerBase* CreateHandlerL( 
-            TInt aAiwServiceCommand, 
-            CMnProvider& aProvider,
-            TRunMode aRunMode );
-
-        /** Analyzes TMnAiwCommonOptionsParam ( if present ) to see 
-         *  whether chained execution is needed.
-         *  @param aDefaultMode default value to return if parameter is not found in the list.
-         *  @return Execution mode requested in AIW parameters as defined in
-         *          TMnAiwCommonOptionsParam::iRunChained is ETrue.
-         */
-        static TRunMode RequestedRunModeL( const TAiwParameters& aAiwParams );
-
-        /** Analyzes TMnAiwCommonOptionsParamExtended ( if present ) to see 
-         *  whether provider application is specified.
-         *  @param[out] aProviderId provider application UID, if specified.
-         *  @return ETrue if provider application UID is specified, otherwise EFalse.
-         */
-        static TBool IsProviderSpecifiedL( 
-            const CMnAiwCommandHandlerBase::TAiwParameters& aAiwParams,
-            TInt& aProviderId );
-
-        /** Analyzes TMnAiwCommonOptionsParamExtended ( if present ) to see 
-         *  whether error messages are disabled.
-         *  @return ETrue if error messages are disables, otherwise EFalse.
-         */
-        static TBool IsErrorMessageDisabledL( 
-            const CMnAiwCommandHandlerBase::TAiwParameters& aAiwParams );
-
-    public:
-
-        /** Destructor */
-        virtual ~CMnAiwCommandHandlerBase();
-
-        /** Executes this command synchronously.
-         *  If provider exits, it is reported via MMnProviderExitCallback */
-        void StartL();
-
-        /** Starts asynchronous processing of this command. 
-         *  Completion of a command is reported via MMnAsyncAiwCmdHandlerCallback 
-         *  @param[in] aCallback Object to notify, when request is completed */
-        void Start( MMnAsyncAiwCmdHandlerCallback& aCallback );
-        
-        /** AIW service command id implemented by the handler */
-        virtual TInt CommandId() = 0;
-
-        /** Returns whether this command is asynchronous
-         *  Async commands must be started by StartL, sync commands - by ExecuteL */
-        virtual TBool IsAsyncCommand() = 0;
-
-        /** Returns AIW command parameters */
-        TAiwParameters& AiwParameters();
-        
-        /** Returns execution mode of the command */
-        TRunMode RunMode();
-        
-        /** Sets parameters for this command. */
-        void SetParametersL( const TAiwParameters& aParams );
-        
-        /** Called by before setting new parameters. Not called for the first time
-         *  this command is executed. */
-        virtual void ResetParametersL() = 0;
-        
-        virtual void SetExitObserverL( MMnProviderExitCallback& aExitCallback );
-
-        /** Returns reference to provider used by this command handler */
-        CMnProvider& Provider();
-
-    protected:
-        /** C++ constructor 
-         *  @param aProvider Provider Application to use
-         *  @param aAiwParameters Parameters sent to AIW Provider class
-         *  @param aCallback Observer of this command's completion if command
-         *                   is asynchronously executed
-         */
-        CMnAiwCommandHandlerBase( CMnProvider& aProvider );
-    
-        /** Symbian constructor. Must be called by derived classes */
-        void ConstructL();
-        
-        /** Reports completion of the command, when executed asynchronously
-         *  It should be safe to delete this object after this method is called.
-         *  Used by derived classes */
-        void Done( TInt aResult );
-
-        /** Starts processing of input AIW parameters. Parameters found are reported
-         *  via HandleAiwParam... handlers.
-         */
-        void ProcessAiwParametersL();
-
-        /** Finds common options parameter in given parameter list */
-        static TBool FindCommonOptionsL( 
-            const TAiwParameters& aAiwParams, 
-            TMnAiwCommonOptionsParamExtended& aCommonOptions );
-
-        /** Finds i-th landmark data in input parameter list */
-        TBool FindLandmarkData( TInt aIndex, TAiwGenericParam& aParam );
-
-        /** Reads landmark data from given AIW parameter */
-        void ReadLandmarkDataL( const TAiwGenericParam& aParam, TPtrC8& aLandmarkPtr );
-
-        /** Reads landmark database URI from given AIW parameter */
-        void ReadDatabaseUriL( const TAiwGenericParam& aParam, TPtrC& aDbUri );
-
-        /** Reads landmark ID from given AIW parameter */
-        TPosLmItemId ReadLandmarkId( const TAiwGenericParam& aParam );
-
-        /** Reads landmark ID list from given AIW parameter */
-        void ReadLandmarkIdListL( 
-            const TAiwGenericParam& aParam,
-            const TPosLmItemId*& aListPtr,
-            TInt& aListSize );
-
-        /** Appends given landmark to AIW output parameters list */
-        void WriteLandmarkL( const CPosLandmark& aLandmark );
-        
-        /** Appends given landmark to AIW output parameters list */
-        void WriteLandmarkL( TPosLmItemId aLandmarkId, const TDesC& aDatabaseUri );
-        
-    protected: // Virtual callbacks for parameter list parsing
-    
-        /** Called when ProcessAiwParametersL finds unknown AIW parameter */
-        virtual void HandleAiwParamL( const TAiwGenericParam& aParam );        
-        /** Called by ProcessAiwParametersL to report found landmarks */
-        virtual void HandleAiwParamLandmarksL( RArray<TPtrC8>& aLandmarkDataList );
-        /** Called by ProcessAiwParametersL to report found linked landmarks */
-        virtual void HandleAiwParamLandmarksListL( const TDesC& aDbUri, RArray<TPosLmItemId>& aLmIds );
-        
-    public: // from CActive
-        virtual void RunL();
-        virtual TInt RunError( TInt aError );
-        virtual void DoCancel();
-
-	protected: // from MAknServerAppExitObserver
-        virtual void HandleServerAppExit( TInt aReason );
-        virtual void DoStartL() = 0;
-
-	protected:
-        TRunMode    						iRunMode;
-
-    private:
-        CMnProvider&                    	iProvider;
-        TAiwParameters                  	iAiwParameters;
-        MMnAsyncAiwCmdHandlerCallback*   	iCallback;
-        MMnProviderExitCallback* 	        iExitCallback;
-    };
-
-#endif // MN_AIWCOMMANDHANDLERBASE_H
--- a/locationmapnavfw/aiwprovider/inc/mnaiwdebug.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,88 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Debug macros
-*
-*/
-
-
-#ifndef MN_DEBUG_H
-#define MN_DEBUG_H
-
-#ifdef _DEBUG
-
-#include <e32base.h>
-
-inline void Panic( TInt aReason )
-    {
-    _LIT( KPanicCategory, "MnAiwProviderDebug" );
-    User::Panic( KPanicCategory, aReason );
-    }
-
-#include <e32svr.h>
-#include <e32std.h>
-#include <f32file.h>
-#include <flogger.h>
-
-_LIT(KLogFile, "mnlog.txt");
-_LIT(KLogDirFullName, "c:\\logs\\");
-_LIT(KLogDir, "mn");
-
-inline void Prefix( TDes& aMessage )
-    {
-    RProcess process;
-    _LIT( KPrefix, "[MnAiwProvider/%ld]: ");
-    aMessage.Format( KPrefix, process.Id().Id() );
-    }
-
-inline void Log( TRefByValue<const TDesC> aFmt, ... )
-    {
-    // coverity[var_decl : FALSE]	
-    VA_LIST list;
-    // coverity[ uninit_use_in_call : FALSE]
-    VA_START( list, aFmt );
-
-    HBufC* buf = HBufC::New(512);
-    if ( buf )
-    	{
-    	TPtr ptr( buf->Des() );
-	    Prefix( ptr );
-	    // coverity[ uninit_use_in_call : FALSE]
-	    ptr.AppendFormatList( aFmt, list );
-	
-	    RDebug::RawPrint( ptr );
-	    RFileLogger::Write( KLogDir, KLogFile, EFileLoggingModeAppend, ptr );
-
-	    delete buf;
-    	}
-    }
-
-#define LOG( a )             { Log( _L( a ) ); }
-#define LOG1( a, b )         { Log( _L( a ), b ); }
-#define LOG2( a, b, c )      { Log( _L( a ), b, c ); }
-#define LOG3( a, b, c, d )   { Log( _L( a ), b, c, d ); }
-#define LOG4( a, b, c, d, e )   { Log( _L( a ), b, c, d, e ); }
-
-#else // _DEBUG
-
-// Release version - no logging
-#define LOG( a)
-#define LOG1( a, b )
-#define LOG2( a, b, c)
-#define LOG3( a, b, c, d)
-#define LOG4( a, b, c, d, e )
-
-#endif // _DEBUG
-
-#endif // MN_DEBUG_H
-
--- a/locationmapnavfw/aiwprovider/inc/mnaiwinternal.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Internal constants for Map and Navigation FW
-*
-*/
-
-
-#ifndef MN_AIWINTERNAL_H
-#define MN_AIWINTERNAL_H
-
-// Map and Navigation AIW Provider resource file
-_LIT( KAiwResourceFile, "\\resource\\mnaiwproviderres.rsc" );
-_LIT( KAiwResourceFileOld, "\\resource\\mnaiwprovider.rsc" );
-
-const TBool KShowOnMapChainedByDefault = ETrue;
-const TBool KSelectFromMapChainedByDefault = ETrue;
-const TBool KNavigateToChainedByDefault = EFalse;
-const TBool KFetchCoordinatesChainedByDefault = ETrue;
-const TBool KFetchAddressChainedByDefault = ETrue;
-
-#endif // MN_AIWINTERNAL_H
--- a/locationmapnavfw/aiwprovider/inc/mnaiwmenus.hrh	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Aiw menu item IDs for Map and Navigation AIW Provider
-*
-*/
-
-
-enum
-	{
-	EMnAiwMenuCmdMap = 100,
-	EMnAiwMenuCmdShowOnMap,
-	EMnAiwMenuCmdSelectFromMap,
-
-	EMnAiwMenuCmdNavigation = 200,
-    EMnAiwMenuCmdNavigateTo,
-
-	EMnAiwMenuCmdGeocoding = 300,
-    EMnAiwMenuCmdFetchCoordinates,
-    EMnAiwMenuCmdFetchAddress
-	};
--- a/locationmapnavfw/aiwprovider/inc/mnaiwprovider.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,204 +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:  Map and Navigation AIW Provider menu class
-*
-*/
-
-
-#ifndef MN_AIW_PROVIDER_H
-#define MN_AIW_PROVIDER_H
-
-#include <e32base.h>
-#include <AiwServiceIfMenu.h>
-#include "mnaiwcommandhandlerbase.h"
-
-/**
- * CMnAiwProvider implements CAiwServiceIfMenu interface to
- * allow Map and Navigation functionality to be called via AIW.
- */
-class CMnAiwProvider : 
-	public CAiwServiceIfMenu, 
-	public MMnAsyncAiwCmdHandlerCallback,
-	public MMnProviderExitCallback
-    {
-    public:
-        static CMnAiwProvider* NewL();
-        ~CMnAiwProvider();
-        
-    protected:
-        
-        /** Retrieves command id from client's parameters list */
-        TInt GetAiwServiceCommandIdL( const CAiwGenericParamList& aInParamList );
-
-        /** Verifies if there is at least one provider application for
-         *  requested command
-         *  @param aAiwCommandId AIW service command ID
-         *  @return ETrue if any provider is found for the command
-         */
-        TBool IsServiceAvailableL( TInt aAiwCommandId );
-        
-        /** Searches for already open handler for specified command, 
-         *  provider and execution mode. This function returns
-         *  pointer to command handler, which matches all given criteria.
-         *  @param aAiwCommandId Command ID criterion.
-         *  @param aProvider Provider criterion.
-         *  @param aRunMode Execution mode criterion.
-         */ 
-        CMnAiwCommandHandlerBase* FindWorkingHandler( 
-            TInt aAiwCommandId,
-            const CMnProvider& aProvider, 
-            CMnAiwCommandHandlerBase::TRunMode aRunMode );
-        
-        /** Deletes command handler from internal list 
-         *  @param[in] aHandler The handler to remove */
-        void CloseHandler( CMnAiwCommandHandlerBase* aHandler );
-
-        /** Updates internal list of known provider applications */
-        void UpdateProvidersListL();
-
-		/** Closes and removes all handlers working with 
-		 *  specified provider.
-		 *  @param aProvider Handlers using this provider will be closed. */
-		void CloseHandlers( const CMnProvider* aProvider );
-
-		/** Closes and removes all handlers. This method is used by destructor. */
-		void CloseAllHandlers();
-
-        /** Find suitable providers for a given command */
-        void GetSuitableProvidersL( 
-            TInt aAiwCommandId, 
-            RPointerArray<CMnProvider>& aProviders );
-
-        /** Finds amount of providers available for given command */
-        TInt NumSuitableProviders( TInt aAiwCommandId );
-
-        /** Returns preferred provider application for a given command
-         *  This may involve asking user via list query popup if several 
-         *  suitable providers found.
-         *  @leave KErrCancel if user cancels selection
-         *  @leave KErrNotFound if no providers available
-         */
-        CMnProvider& SelectProviderL( 
-            TInt aAiwCommandId,
-            CMnAiwCommandHandlerBase::TAiwParameters& aAiwParams );
-        
-        /** Pops up list query dialog for user to select preferred Provider Application */
-        void ExecuteSelectionDialogL( 
-            TInt& aIndex, 
-            RPointerArray<CMnProvider>& aProviders );
-
-        /** Verifies result of a command. Checks whether command may be completed. 
-         *  Pops up error note if error happened and restarts command if more than one
-         *  provider is available for this command
-         */
-        void ProcessAiwCommandResultL( 
-            TInt aAiwCommandId, 
-            CMnAiwCommandHandlerBase::TAiwParameters& aAiwParams,
-            TInt aResult, TBool& aStop );
-        
-        /** Executes synchronous command */
-        void ProcessSyncAiwCommandL(
-            TInt aCommandId, 
-            CMnAiwCommandHandlerBase::TAiwParameters& aAiwParams );
-            
-        /** Attempts to start execution of asynchronous command until success
-         *  or user refuses to continue
-         */
-        void StartAsyncAiwCommandL(
-            TInt aCommandId,    
-            CMnAiwCommandHandlerBase::TAiwParameters& aAiwParams );
-
-        /** Starts execution of asynchronous command */
-        CMnAiwCommandHandlerBase* DoStartAsyncAiwCommandL(
-            TInt aCommandId,    
-            CMnAiwCommandHandlerBase::TAiwParameters& aAiwParams,
-            TBool& aProviderFound );
-
-        /** Finds running handler, or creates new */
-        CMnAiwCommandHandlerBase* HandlerL(
-            TInt aCommandId,
-            CMnAiwCommandHandlerBase::TAiwParameters& aAiwParams );
-
-        /** Informs AIW observer about completion of async command */
-        void NotifyAiwObserver( 
-            TInt aCommandId,
-            CMnAiwCommandHandlerBase::TAiwParameters& aAiwParams, 
-            TInt aResult );
-
-        /** Shows error note with text specified by parameter */            
-        void ErrorNote( TInt aResourceId );
-        void DoErrorNoteL( TInt aResourceId );
-        
-    private:
-        /**
-        * C++ default constructor.
-        */
-        CMnAiwProvider();
-
-        /**
-        * By default Symbian OS constructor is private.
-        */
-        void ConstructL();
-        
-    public: // from CAiwServiceIfBase
-
-        void InitialiseL( 
-            MAiwNotifyCallback& aFrameworkCallback, 
-            const RCriteriaArray& aInterest );
-
-        void HandleServiceCmdL(
-            const TInt& aCmdId,
-            const CAiwGenericParamList& aInParamList,
-            CAiwGenericParamList& aOutParamList,
-            TUint aCmdOptions = 0,
-            const MAiwNotifyCallback* aCallback = NULL);
-
-    public: // from CAiwServiceIfMenu
-
-        void InitializeMenuPaneL(
-            CAiwMenuPane& aMenuPane,
-            TInt aIndex,
-            TInt aCascadeId,
-            const CAiwGenericParamList& aInParamList);
-
-        void HandleMenuCmdL(
-            TInt aMenuCmdId,
-            const CAiwGenericParamList& aInParamList,
-            CAiwGenericParamList& aOutParamList,
-            TUint aCmdOptions = 0,
-            const MAiwNotifyCallback* aCallback = NULL);
-            
-    public: // from MMnAsyncAiwCmdHandlerCallback
-    
-        void HandleAsyncAiwCmdCompletedL( CMnAiwCommandHandlerBase* aHandler, TInt aResult );
-
-    public: // from MMnChainedAiwCmdHandlerCallback
-    
-        void HandleProviderExit( CMnAiwCommandHandlerBase* aHandler );
-
-    private:
-        RPointerArray<CMnAiwCommandHandlerBase> iHandlers;
-        RPointerArray<CMnProvider>  			iMnProviders;
-        
-        CAiwGenericParamList*       			iEventList;
-        
-        // not-owned shortcut
-        CEikonEnv*                  			iEikon;
-        TInt                        			iResourceOffset;
-        TFileName                   			iResourceFilename;
-    };
-    
-
-#endif  // MN_AIW_PROVIDER_H
-
--- a/locationmapnavfw/aiwprovider/inc/mnaiwprovideruids.hrh	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  UIDs of Map and Navigation AIW Provider
-*
-*/
-
-
-#ifndef MN_AIW_PROVIDER_UIDS_HRH
-#define MN_AIW_PROVIDER_UIDS_HRH
-
-#define KMnAiwProviderDllUid    	0x1020690C
-#define KMnAiwProviderBaseImplUid   0x1020690D
-#define KMnAiwProviderMenuImplUid   0x1020690E
-
-#endif // MN_AIW_PROVIDER_UIDS_HRH
--- a/locationmapnavfw/aiwprovider/inc/mnfetchaddresshandler.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnMapViewCmdHandlerBase class declaration
-*
-*/
-
-
-#ifndef MN_FETCHADDRESSHANDLER_H
-#define MN_FETCHADDRESSHANDLER_H
-
-#include "mngeocodingcmdhandlerbase.h"
-
-/** \internal
- *  Handler for KAiwCmdMnAddrByCoord command
- */
-class CMnFetchAddressHandler : public CMnGeocodingCmdHandlerBase
-    {
-    public:
-        static CMnFetchAddressHandler* NewL( 
-            CMnProvider& aProvider, 
-            TRunMode aRunMode );
-            
-    public: // from CMnAiwCommandHandlerBase
-        TInt CommandId() { return KAiwCmdMnAddrByCoord; };
-        TBool IsAsyncCommand() { return ETrue; };
-
-    protected:
-        CMnFetchAddressHandler( CMnProvider& aProvider );
-            
-        void ConstructL( TRunMode aRunMode );
-
-    protected: // from CMnAiwCommandHandlerBase
-        void DoStartL();
-
-    protected: // from CActive
-        void RunL();
-        void DoCancel();
-    };
-
-#endif // MN_FETCHADDRESSHANDLER_H
--- a/locationmapnavfw/aiwprovider/inc/mnfetchcoordinateshandler.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnFetchCoordinatesHandler class declaration
-*
-*/
-
-
-#ifndef MN_FETCHCOORDINATESHANDLER_H
-#define MN_FETCHCOORDINATESHANDLER_H
-
-#include "mngeocodingcmdhandlerbase.h"
-
-/** \internal
- *  Handler fo KAiwCmdMnCoordByAddr AIW command
- */
-class CMnFetchCoordinatesHandler : public CMnGeocodingCmdHandlerBase
-    {
-    public:
-        static CMnFetchCoordinatesHandler* NewL( 
-            CMnProvider& aProvider, TRunMode aRunMode );
-
-    public: // from CMnAiwCommandHandlerBase
-        void Start();
-        TInt CommandId() { return KAiwCmdMnCoordByAddr; };
-        TBool IsAsyncCommand() { return ETrue; };
-
-    protected:
-        CMnFetchCoordinatesHandler( CMnProvider& aProvider );
-            
-        void ConstructL( TRunMode aRunMode );
-
-    protected: // from CActive
-        void RunL();
-        void DoCancel();
-
-    protected: // from CMnAiwCommandHandlerBase
-        void HandleAiwParamL( const TAiwGenericParam& aParam );
-        void HandleAiwParamLandmarksL( RArray<TPtrC8>& aLandmarkDataList );
-        void ResetParametersL();
-        void DoStartL();
-
-    protected:
-        TPtrC   iPlainAddress;
-    };
-
-#endif // MN_FETCHCOORDINATESHANDLER_H
--- a/locationmapnavfw/aiwprovider/inc/mngeocodingcmdhandlerbase.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnGeocodingCmdHandlerBase class declaration
-*
-*/
-
-
-#ifndef MN_GEOCODINGCMDHANDLERBASE_H
-#define MN_GEOCODINGCMDHANDLERBASE_H
-
-#include "mnaiwcommandhandlerbase.h"
-
-class CMnGeocoder;
-
-/** \internal
- *  Base class for Geocoding-related AIW commands
- */
-class CMnGeocodingCmdHandlerBase : public CMnAiwCommandHandlerBase
-    {
-    public:
-        ~CMnGeocodingCmdHandlerBase();
-        
-    protected:
-        CMnGeocodingCmdHandlerBase( CMnProvider& aProvider );
-            
-        void ConstructL( TRunMode aRunMode );
-        
-        CMnGeocoder& Geocoder();
-
-        /** Reads contents of EGenericParamMnGeocodingOptions parameter */
-        void ReadGeocodingOptionsL( 
-            const TAiwGenericParam& aParam,
-            TMnAiwGeocodingOptionsParam& aGeoOptions );
-
-	public: // from CMnAiwCommandHandlerBase
-
-        void SetExitObserverL( MMnProviderExitCallback& aExitCallback );
-
-    protected: // from CMnAiwCommandHandlerBase
-    
-        void HandleAiwParamL( const TAiwGenericParam& aParam );
-        void HandleAiwParamLandmarksL( RArray<TPtrC8>& aLandmarkDataList );
-        void ResetParametersL();
-
-    protected:
-        TPtrC8          iLandmarkData;
-            
-    private:
-        CMnGeocoder*    iGeocoder;            
-    };
-
-#endif // MN_GEOCODINGCMDHANDLERBASE_H
--- a/locationmapnavfw/aiwprovider/inc/mnmapviewcmdhandlerbase.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnMapViewCmdHandlerBase class declaration
-*
-*/
-
-
-#ifndef MN_MAPVIEWCMDHANDLERBASE_H
-#define MN_MAPVIEWCMDHANDLERBASE_H
-
-#include "mnaiwcommandhandlerbase.h"
-
-class CMnMapView;
-
-/** \internal
- *  Base class for MapView-related AIW commands
- */
-class CMnMapViewCmdHandlerBase : public CMnAiwCommandHandlerBase
-    {
-    public:
-        ~CMnMapViewCmdHandlerBase();
-        
-    protected:
-        CMnMapViewCmdHandlerBase( CMnProvider& aProvider );
-            
-        void ConstructL( TRunMode aRunMode );
-        
-        CMnMapView& MapView();
-
-        /** Reads contents of EGenericParamMnMapOptions parameter */
-        void ReadMapOptionsL( 
-            const TAiwGenericParam& aParam,
-            TMnAiwMapViewOptionsParam& aMapOptions );
-
-	public: // from CMnAiwCommandHandlerBase
-
-        void SetExitObserverL( MMnProviderExitCallback& aExitCallback );
-
-    protected: // from CMnAiwCommandHandlerBase
-    
-        void HandleAiwParamL( const TAiwGenericParam& aParam );
-        void HandleAiwParamLandmarksL( RArray<TPtrC8>& aLandmarkDataList );
-        void HandleAiwParamLandmarksListL( const TDesC& aDbUri, RArray<TPosLmItemId>& aLmIds );
-        void ResetParametersL();
-        
-    protected:
-        CMnMapView* iMapView;            
-    };
-    
-#endif //  MN_MAPVIEWCMDHANDLERBASE_H
-    
\ No newline at end of file
--- a/locationmapnavfw/aiwprovider/inc/mnnavigatetohandler.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnNavigateToHandler class declaration
-*
-*/
-
-
-#ifndef MN_NAVIGATETOHANDLER_H
-#define MN_NAVIGATETOHANDLER_H
-
-#include "mnaiwcommandhandlerbase.h"
-
-class CMnNavigator;
-
-/** \internal
- *  Handler for KAiwCmdMnNavigateTo command 
- */
-class CMnNavigateToHandler : public CMnAiwCommandHandlerBase
-    {
-    public:
-        static CMnNavigateToHandler* NewL(
-            CMnProvider& aProvider,
-            TRunMode aRunMode );
-            
-        ~CMnNavigateToHandler();            
-        
-    public: // from CMnAiwCommandHandlerBase
-        TInt CommandId() { return KAiwCmdMnNavigateTo; };
-        TBool IsAsyncCommand() { return EFalse; };
-        
-        void SetExitObserverL( MMnProviderExitCallback& aExitCallback );
-
-    protected:
-        CMnNavigateToHandler( CMnProvider& aProvider );
-            
-        void ConstructL( TRunMode aRunMode );            
-
-    protected: // from CMnAiwCommandHandlerBase
-        void HandleAiwParamLandmarksL( RArray<TPtrC8>& aLandmarkDataList );
-        void ResetParametersL();
-        void DoStartL();
-
-    private:        
-        CMnNavigator*   iNavigator;
-        TPtrC8          iLandmarkData;
-    };
-
-#endif // MN_NAVIGATETOHANDLER_H
--- a/locationmapnavfw/aiwprovider/inc/mnselectfrommaphandler.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnSelectFromMapHandler class declaration
-*
-*/
-
-
-#ifndef MN_SELECTFROMMAPHANDLER_H
-#define MN_SELECTFROMMAPHANDLER_H
-
-#include "mnmapviewcmdhandlerbase.h"
-
-/** \internal 
- *  Handler for KAiwCmdMnSelectFromMap command 
- */
-class CMnSelectFromMapHandler : public CMnMapViewCmdHandlerBase
-    {
-    public:
-        static CMnSelectFromMapHandler* NewL( 
-            CMnProvider& aProvider, 
-            TRunMode aRunMode );
-            
-    public: // from CMnAiwCommandHandlerBase
-        TInt CommandId() { return KAiwCmdMnSelectFromMap; };
-        TBool IsAsyncCommand() { return ETrue; };
-
-    protected:
-        CMnSelectFromMapHandler( CMnProvider& aProvider );
-            
-        void ConstructL( TRunMode aRunMode );
-        
-    protected: // from CActive
-        void RunL();
-        void DoCancel();
-
-    protected: // from CMnAiwCommandHandlerBase
-
-        /** Processes EGenericParamRequestText parameter */
-        void HandleAiwParamL( const TAiwGenericParam& aParam );
-
-        void DoStartL();
-    };
-
-#endif // MN_SELECTFROMMAPHANDLER_H
--- a/locationmapnavfw/aiwprovider/inc/mnshowonmaphandler.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnShowOnMapHandler class declaration
-*
-*/
-
-
-#ifndef MN_SHOWMAPHANDLER_H
-#define MN_SHOWMAPHANDLER_H
-
-#include "mnmapviewcmdhandlerbase.h"
-
-/** \internal
- *  Handler for KAiwCmdMnShowMap command 
- */
-class CMnShowOnMapHandler : public CMnMapViewCmdHandlerBase
-    {
-    public:
-        static CMnShowOnMapHandler* NewL(
-            CMnProvider& aProvider,
-            TRunMode aRunMode );
-        
-    public: // from CMnAiwCommandHandlerBase
-        TInt CommandId() { return KAiwCmdMnShowMap; };
-        TBool IsAsyncCommand() { return EFalse; };
-
-    protected:
-        CMnShowOnMapHandler( CMnProvider& aProvider );
-            
-        void ConstructL( TRunMode aRunMode );            
-
-    protected: // from CMnAiwCommandHandlerBase
-        void DoStartL();
-    };
-    
-#endif // MN_SHOWMAPHANDLER_H    
\ No newline at end of file
--- a/locationmapnavfw/aiwprovider/src/mnaiwcommandhandlerbase.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,690 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnAiwCommandHandlerBase class implementation
-*
-*/
-
-
-#include <AiwCommon.h>
-#include <AiwCommon.hrh>
-#include <AiwGenericParam.h>
-#include <AiwGenericParam.hrh>
-
-#include <EPos_Landmarks.h>
-#include <EPos_CPosLandmark.h>
-#include <epos_poslandmarkserialization.h>
-
-#include <aknlistquerydialog.h>
-
-#include <mnprovider.h>
-#include <mnproviderfinder.h>
-#include <mnappservices.hrh>
-
-#include "mnaiwdebug.h"
-#include "mnaiwinternal.h"
-#include "mnaiwservices.h"
-
-#include "mnshowonmaphandler.h"
-#include "mnselectfrommaphandler.h"
-#include "mnnavigatetohandler.h"
-#include "mnfetchaddresshandler.h"
-#include "mnfetchcoordinateshandler.h"
-
-#include "mnaiwcommandhandlerbase.h"
-
-// ================= LOCAL FUNCTIONS =======================
-
-// ================= MEMBER FUNCTIONS =======================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnAiwCommandHandlerBase::CMnAiwCommandHandlerBase( CMnProvider& aProvider )
-:   CActive( CActive::EPriorityStandard ),
-    iProvider( aProvider )
-    {
-    CActiveScheduler::Add( this );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnAiwCommandHandlerBase::~CMnAiwCommandHandlerBase()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnAiwCommandHandlerBase::ConstructL()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnAiwCommandHandlerBase::AppServiceAndFeatureNeeded(
-    TInt aAiwServiceCommand, 
-    CMnProvider::TService& aServiceNeeded,
-    TInt& aFeaturesNeeded )
-    {
-    switch ( aAiwServiceCommand )
-        {
-        case KAiwCmdMnShowMap:
-            aServiceNeeded = CMnProvider::EServiceMapView;
-            aFeaturesNeeded = KMnSvcFeatureShowMap;
-            break;
-    
-        case KAiwCmdMnSelectFromMap:
-            aServiceNeeded = CMnProvider::EServiceMapView;
-            aFeaturesNeeded = KMnSvcFeatureSelectFromMap;
-            break;
-    
-        case KAiwCmdMnNavigateTo: 
-            aServiceNeeded = CMnProvider::EServiceNavigation;
-            aFeaturesNeeded = KMnSvcFeatureNavigateTo;
-            break;
-    
-        case KAiwCmdMnCoordByAddr: 
-            aServiceNeeded = CMnProvider::EServiceGeocoding;
-            aFeaturesNeeded = KMnSvcFeatureAddrToCoord;
-            break;
-    
-        case KAiwCmdMnAddrByCoord:         
-            aServiceNeeded = CMnProvider::EServiceGeocoding;
-            aFeaturesNeeded = KMnSvcFeatureCoordToAddr;
-            break;
-            
-        default:            
-            aServiceNeeded = CMnProvider::EServiceNone;
-            aFeaturesNeeded = 0;
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnAiwCommandHandlerBase::TRunMode CMnAiwCommandHandlerBase::DefaultRunMode( 
-    TInt aAiwServiceCommand )
-    {
-    switch ( aAiwServiceCommand )
-        {
-        case KAiwCmdMnShowMap:
-            return KShowOnMapChainedByDefault ? ERunModeChained : ERunModeStandalone;
-    
-        case KAiwCmdMnSelectFromMap:
-            return KSelectFromMapChainedByDefault ? ERunModeChained : ERunModeStandalone;
-    
-        case KAiwCmdMnNavigateTo: 
-            return KNavigateToChainedByDefault ? ERunModeChained : ERunModeStandalone;
-    
-        case KAiwCmdMnCoordByAddr: 
-            return KFetchCoordinatesChainedByDefault ? ERunModeChained : ERunModeStandalone;
-    
-        case KAiwCmdMnAddrByCoord:         
-            return KFetchAddressChainedByDefault ? ERunModeChained : ERunModeStandalone;
-            
-        default:            
-            return ERunModeDefault;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnAiwCommandHandlerBase* CMnAiwCommandHandlerBase::CreateHandlerL( 
-    TInt aAiwServiceCommand, 
-    CMnProvider& aProvider,
-    TRunMode aRunMode )
-    {
-    CMnAiwCommandHandlerBase* handler = NULL;
-    switch ( aAiwServiceCommand )
-        {
-        case KAiwCmdMnShowMap:
-            handler = CMnShowOnMapHandler::NewL( aProvider, aRunMode );
-            break;
-
-        case KAiwCmdMnNavigateTo:
-            handler = CMnNavigateToHandler::NewL( aProvider, aRunMode );
-            break;
-
-        case KAiwCmdMnSelectFromMap:
-            handler = CMnSelectFromMapHandler::NewL( aProvider, aRunMode );
-            break;
-
-        case KAiwCmdMnAddrByCoord:
-            handler = CMnFetchAddressHandler::NewL( aProvider, aRunMode );
-            break;
-
-        case KAiwCmdMnCoordByAddr:
-            handler = CMnFetchCoordinatesHandler::NewL( aProvider, aRunMode );
-            break;
-
-        default:
-            User::Leave( KErrNotSupported );
-            break;
-        }
-        
-    return handler;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnAiwCommandHandlerBase::SetParametersL( const TAiwParameters& aAiwParameters )
-    {
-    __ASSERT_DEBUG( !IsActive(), Panic( KErrGeneral ) );
-    iAiwParameters = aAiwParameters;
-    ProcessAiwParametersL();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnAiwCommandHandlerBase::ResetParametersL()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnAiwCommandHandlerBase::StartL()
-    {
-    DoStartL();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnAiwCommandHandlerBase::Start( MMnAsyncAiwCmdHandlerCallback& aCallback )
-    {
-    LOG("CMnAiwCommandHandlerBase::Start in");
-    
-    iCallback = &aCallback;
-    __ASSERT_DEBUG( iCallback, Panic( KErrGeneral ) );
-    
-    TInt err = KErrNone;
-    TRAP( err, DoStartL() );
-    if ( err )
-        {
-        Done( err );
-        }
-    else
-        {
-        SetActive();
-        }
-    
-    LOG("CMnAiwCommandHandlerBase::Start out");
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnAiwCommandHandlerBase::TAiwParameters& CMnAiwCommandHandlerBase::AiwParameters()
-    {
-    return iAiwParameters;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnAiwCommandHandlerBase::TRunMode CMnAiwCommandHandlerBase::RunMode()
-	{
-	return iRunMode;
-	}
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnAiwCommandHandlerBase::SetExitObserverL( 
-	MMnProviderExitCallback& aExitCallback )
-	{
-	iExitCallback = &aExitCallback;
-	}
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnProvider& CMnAiwCommandHandlerBase::Provider()
-    {
-    return iProvider;
-    }
-
-// ================= INTERNAL FUNCTIONS =======================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnAiwCommandHandlerBase::Done( TInt aResult )
-    {
-    TRAP_IGNORE( iCallback->HandleAsyncAiwCmdCompletedL( this, aResult ) );
-    } 
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnAiwCommandHandlerBase::ProcessAiwParametersL()
-    {
-    LOG("CMnAiwCommandHandlerBase::ProcessAiwParametersL in");
-
-    RArray<TPtrC8> lmBuffers;
-    CleanupClosePushL( lmBuffers );
-
-    TPtrC dbUri;
-    RArray<TPosLmItemId> lmIds;
-    CleanupClosePushL( lmIds );
-    
-    for ( TInt i = 0; i < AiwParameters().InList().Count(); i++ )
-        {
-        const TAiwGenericParam& param = AiwParameters().InList()[i];
-        switch ( param.SemanticId() )
-            {
-            case EGenericParamMnCommonOptions:
-                //LOG("CMnAiwCommandHandlerBase::ProcessAiwParametersL, CommonOptions");
-                // already handled
-                break;
-                
-            case EGenericParamLandmark:
-                //LOG("CMnAiwCommandHandlerBase::ProcessAiwParametersL, Landmark");
-                {
-                TPtrC8 lmData;
-                ReadLandmarkDataL( param, lmData );
-                lmBuffers.AppendL( lmData );
-                break;
-                }
-            case EGenericParamLandmarkDatabase:
-                //LOG("CMnAiwCommandHandlerBase::ProcessAiwParametersL, LandmarkDatabase");
-                {
-                if ( dbUri.Length() && lmIds.Count() )
-                    {
-                    HandleAiwParamLandmarksListL( dbUri, lmIds );
-                    dbUri.Set( NULL, 0 );
-                    lmIds.Reset();
-                    }
-                ReadDatabaseUriL( param, dbUri );
-                break;
-                }
-            case EGenericParamLandmarkId:
-                //LOG("CMnAiwCommandHandlerBase::ProcessAiwParametersL, LandmarkId");
-                {
-                if ( dbUri.Length() )
-                    {
-                    TPosLmItemId lmId = ReadLandmarkId( param );
-                    lmIds.AppendL( lmId );
-                    }
-                else
-                    {
-                    User::Leave( KErrArgument );
-                    }
-                break;
-                }
-            case EGenericParamLandmarkIdList:
-                //LOG("CMnAiwCommandHandlerBase::ProcessAiwParametersL, LandmarkIdList");
-                {
-                if ( dbUri.Length() )
-                    {
-                    TInt numLmIds = 0;
-                    const TPosLmItemId* lmIdList = NULL;
-                    ReadLandmarkIdListL( param, lmIdList, numLmIds );
-                    for ( TInt i = 0; i < numLmIds; i++ )
-                        {
-                        lmIds.AppendL( *(lmIdList + i) );
-                        }
-                    }
-                else
-                    {
-                    User::Leave( KErrArgument );
-                    }
-                break;
-                }
-            default:
-                HandleAiwParamL( param );                
-            }
-        }
-
-    if ( lmBuffers.Count() )
-        {
-        HandleAiwParamLandmarksL( lmBuffers );
-        }
-        
-    if ( dbUri.Length() && lmIds.Count() )
-        {
-        HandleAiwParamLandmarksListL( dbUri, lmIds );
-        }
-        
-    CleanupStack::PopAndDestroy( &lmIds );
-    CleanupStack::PopAndDestroy( &lmBuffers );
-    LOG("CMnAiwCommandHandlerBase::ProcessAiwParametersL out");
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnAiwCommandHandlerBase::TRunMode CMnAiwCommandHandlerBase::RequestedRunModeL( 
-    const CMnAiwCommandHandlerBase::TAiwParameters& aAiwParams )
-    {
-    TMnAiwCommonOptionsParamExtended commonOptionsExtended;
-
-    if ( FindCommonOptionsL( aAiwParams, commonOptionsExtended ) )
-        {
-        if ( commonOptionsExtended.iFieldsSet & EMnAiwCommonOptionsFieldRunChained )
-            {
-            return commonOptionsExtended.iRunChained ? ERunModeChained : ERunModeStandalone;
-            }
-        }
-    return ERunModeDefault;
-    }
-    
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TBool CMnAiwCommandHandlerBase::IsProviderSpecifiedL( 
-    const CMnAiwCommandHandlerBase::TAiwParameters& aAiwParams,
-    TInt& aProviderId )
-    {
-    TMnAiwCommonOptionsParamExtended commonOptionsExtended;
-    if ( FindCommonOptionsL( aAiwParams, commonOptionsExtended ) )
-        {
-        if ( commonOptionsExtended.iFieldsSet & EMnAiwCommonOptionsFieldProviderId )
-            {
-            aProviderId = commonOptionsExtended.iProviderId;
-            return ETrue;
-            }
-        }
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TBool CMnAiwCommandHandlerBase::IsErrorMessageDisabledL( 
-    const CMnAiwCommandHandlerBase::TAiwParameters& aAiwParams )
-    {
-    TMnAiwCommonOptionsParamExtended commonOptionsExtended;
-    if ( FindCommonOptionsL( aAiwParams, commonOptionsExtended ) )
-        {
-        if ( commonOptionsExtended.iFieldsSet & EMnAiwCommonOptionsFieldMessagesDisabled )
-            {
-            return commonOptionsExtended.iMessagesDisabled;
-            }
-        }
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TBool CMnAiwCommandHandlerBase::FindCommonOptionsL( 
-    const TAiwParameters& aAiwParams,
-    TMnAiwCommonOptionsParamExtended& aCommonOptions )
-    {
-    TInt indexOptions = 0;
-    aAiwParams.InList().FindFirst( indexOptions, EGenericParamMnCommonOptions, EVariantTypeDesC8 );
-    if ( indexOptions != KErrNotFound )
-        {
-        const TAiwVariant& value = aAiwParams.InList()[indexOptions].Value();
-        TPtrC8 data( value.AsData() ); 
-        if ( data.Size() == sizeof( TMnAiwCommonOptionsParamExtended ) )
-            {
-            TPckg<TMnAiwCommonOptionsParamExtended> optionsPack( aCommonOptions );
-            optionsPack.Copy( data );
-            return ETrue;
-            }
-        else if ( data.Size() == sizeof( TMnAiwCommonOptionsParam ) )
-            {
-            TMnAiwCommonOptionsParam commonOptions;
-            TPckg<TMnAiwCommonOptionsParam> optionsPack( commonOptions );
-            optionsPack.Copy( data );
-            aCommonOptions.iFieldsSet = EMnAiwCommonOptionsFieldRunChained;
-            aCommonOptions.iRunChained = commonOptions.iRunChained;
-            return ETrue;
-            }
-        }
-    return EFalse;        
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnAiwCommandHandlerBase::ReadLandmarkDataL( const TAiwGenericParam& aParam, TPtrC8& aLandmarkPtr )
-    {
-    aLandmarkPtr.Set( aParam.Value().AsData() );
-    // verify it
-    CPosLandmark* lm = PosLandmarkSerialization::UnpackL( aLandmarkPtr );
-    delete lm;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TBool CMnAiwCommandHandlerBase::FindLandmarkData( TInt aIndex, TAiwGenericParam& aParam )
-    {
-    TInt found = -1;
-    for ( TInt i = 0; i < AiwParameters().InList().Count(); i++ )
-        {
-        const TAiwGenericParam& param = AiwParameters().InList()[i];
-        if ( param.SemanticId() == EGenericParamLandmark )
-            {
-            found++;
-            }
-        if ( found == aIndex )
-            {
-            aParam = param;
-            return ETrue;
-            }
-        }
-        
-    return EFalse;        
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnAiwCommandHandlerBase::ReadDatabaseUriL( const TAiwGenericParam& aParam, TPtrC& aDbUri )
-    {
-    aDbUri.Set( aParam.Value().AsDes() );
-    if ( !aDbUri.Length() )
-        {
-        User::Leave( KErrArgument );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TPosLmItemId CMnAiwCommandHandlerBase::ReadLandmarkId( const TAiwGenericParam& aParam )
-    {
-    return aParam.Value().AsTInt32();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnAiwCommandHandlerBase::ReadLandmarkIdListL( 
-    const TAiwGenericParam& aParam,
-    const TPosLmItemId*& aListPtr,
-    TInt& aListSize )
-    {
-    TPtrC8 data( aParam.Value().AsData() );
-    
-    if ( data.Size() % sizeof( TPosLmItemId ) )
-        {
-        User::Leave( KErrArgument );
-        }
-    
-    aListPtr = reinterpret_cast<const TPosLmItemId*>( data.Ptr() );
-    aListSize = data.Size() / sizeof( TPosLmItemId );
-    }        
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnAiwCommandHandlerBase::WriteLandmarkL( const CPosLandmark& aLandmark )
-    {
-    HBufC8* lmBuf = PosLandmarkSerialization::PackL( aLandmark );
-    CleanupStack::PushL( lmBuf );
-
-    TAiwGenericParam param( EGenericParamLandmark, TAiwVariant( *lmBuf ) );
-    iAiwParameters.OutList().AppendL( param );
-
-    CleanupStack::PopAndDestroy( lmBuf );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnAiwCommandHandlerBase::WriteLandmarkL( TPosLmItemId aLandmarkId, const TDesC& aDatabaseUri )
-    {
-    TAiwGenericParam lmId( EGenericParamLandmarkId, TAiwVariant( aLandmarkId ) );
-    TAiwGenericParam dbUri( EGenericParamLandmarkDatabase, TAiwVariant( aDatabaseUri ) );
-
-    iAiwParameters.OutList().AppendL( dbUri );
-    iAiwParameters.OutList().AppendL( lmId );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnAiwCommandHandlerBase::HandleAiwParamL( const TAiwGenericParam& /*aParam*/ )
-    {
-    User::Leave( KErrArgument );
-    }
-    
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnAiwCommandHandlerBase::HandleAiwParamLandmarksL( RArray<TPtrC8>& /*aLandmarkDataList*/ )
-    {
-    User::Leave( KErrArgument );
-    }
-    
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnAiwCommandHandlerBase::HandleAiwParamLandmarksListL( 
-    const TDesC& /*aDbUri*/, 
-    RArray<TPosLmItemId>& /*aLmIds*/ )
-    {
-    User::Leave( KErrArgument );
-    }
-
-// -----------------------------------------------------------------------------
-//  From class CActive
-// -----------------------------------------------------------------------------
-//
-void CMnAiwCommandHandlerBase::RunL()
-    {
-#ifdef _DEBUG    
-    LOG("CMnAiwCommandHandlerBase::RunL in, panicking");
-    Panic( KErrGeneral );
-#endif    
-    }
-
-// -----------------------------------------------------------------------------
-//  From class CActive
-// -----------------------------------------------------------------------------
-//
-TInt CMnAiwCommandHandlerBase::RunError( TInt aError )
-    {
-    Done( aError );
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-//  From class CActive
-// -----------------------------------------------------------------------------
-//
-void CMnAiwCommandHandlerBase::DoCancel()
-    {
-    Done( KErrCancel );
-    }
-
-// -----------------------------------------------------------------------------
-// From MAknServerAppExitObserver
-// -----------------------------------------------------------------------------
-//
-void CMnAiwCommandHandlerBase::HandleServerAppExit( TInt aReason )
-	{
-    LOG1("CMnAiwCommandHandlerBase::HandleServerAppExit in, reason %d", aReason );
-	
-	if ( iRunMode == ERunModeChained )
-	    {
-	    // for standlone mode this event is ignored,
-	    // otherwise client will be shutdown whenever provider exits
-	    MAknServerAppExitObserver::HandleServerAppExit( aReason );
-	    }
-
-	if ( iExitCallback )
-		{
-		iExitCallback->HandleProviderExit( this );
-		}
-#ifdef _DEBUG
-	else
-		{
-		Panic( KErrGeneral );
-		}
-#endif		
-	    
-    LOG("CMnAiwCommandHandlerBase::HandleServerAppExit out");
-	}
-
-//===================== TAiwParameters ====================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnAiwCommandHandlerBase::TAiwParameters::TAiwParameters()
-:   iInParamList( NULL ),    
-    iOutParamList( NULL ),
-    iCallback( NULL )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnAiwCommandHandlerBase::TAiwParameters::TAiwParameters(
-    const CAiwGenericParamList& aInParamList,
-    CAiwGenericParamList& aOutParamList,
-    const MAiwNotifyCallback* aCallback )
-:   iInParamList( &aInParamList ),    
-    iOutParamList( &aOutParamList ),
-    iCallback( aCallback )
-    {
-    }
-    
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-const CAiwGenericParamList& CMnAiwCommandHandlerBase::TAiwParameters::InList() const
-    {
-    return *iInParamList;
-    }
-    
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CAiwGenericParamList& CMnAiwCommandHandlerBase::TAiwParameters::OutList()
-    {
-    return *iOutParamList;
-    }
-    
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-const MAiwNotifyCallback* CMnAiwCommandHandlerBase::TAiwParameters::Callback() const
-    {
-    return iCallback;
-    }
--- a/locationmapnavfw/aiwprovider/src/mnaiwprovider.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,883 +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:  CMnAiwProvider class implementation
-*
-*/
-
-
-#include <badesca.h>
-
-#include <aknlistquerydialog.h>
-#include <AknGlobalNote.h>
-
-#include <AiwMenu.h>
-#include <AiwGenericParam.hrh>
-#include <AiwCommon.hrh>
-#include <aknenv.h>
-
-#include <ecom/implementationproxy.h>
-
-#include <mnaiwproviderres.rsg>
-#include "mnaiwprovideruids.hrh"
-
-#include <lbsposition.h>
-
-#include <mnprovider.h>
-#include <mnproviderfinder.h>
-#include <mnmapview.h>
-#include <mnnavigator.h>
-#include <mngeocoder.h>
-#include <mnutils.h>
-#include <mnappservices.hrh>
-
-#include "mnaiwdebug.h"
-#include "mnaiwinternal.h"
-
-#include "mnaiwservices.h"
-#include "mnaiwmenus.hrh"
-
-#include "mnaiwprovider.h"
-
-// =========================== LOCAL FUNCTIONS =================================
-
-// ---------------------------------------------------------------------------
-//  Cleanup item for RPointerArray<CMnProvider>
-// ---------------------------------------------------------------------------
-//
-void CleanupProvidersArray( TAny* aArray )
-    {
-    ( static_cast<RPointerArray<CMnProvider>*>( aArray ) )->ResetAndDestroy();
-    }
-
-// ---------------------------------------------------------------------------
-//  Identity relation for providers. Based on UID
-// ---------------------------------------------------------------------------
-//
-TBool ProvidersMatchByUid( const CMnProvider& aOne, const CMnProvider& aAnother )
-	{
-	return ( aOne.Uid().iUid == aAnother.Uid().iUid );
-	}
-
-// ========================== MEMBER FUNCTIONS =================================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnAiwProvider* CMnAiwProvider::NewL()
-    {
-    LOG( "CMnAiwProvider::NewL in" );
-
-    CMnAiwProvider* self = new (ELeave) CMnAiwProvider();
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);
-
-    LOG( "CMnAiwProvider::NewL out" );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnAiwProvider::CMnAiwProvider()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnAiwProvider::~CMnAiwProvider()
-    {
-    LOG( "~CMnAiwProvider in" );
-
-    delete iEventList;
-
-    CloseAllHandlers();
-    iHandlers.Close();
-
-    if ( iEikon )
-        {
-        iEikon->DeleteResourceFile( iResourceOffset );
-        }
-    iMnProviders.ResetAndDestroy();
-
-    LOG( "~CMnAiwProvider out" );
-    }
-
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnAiwProvider::ConstructL()
-    {
-    LOG( "CMnAiwProvider::ConstructL in" );
-#ifdef _DEBUG
-    TTime start;
-    start.UniversalTime();
-#endif
-
-    iEikon = CEikonEnv::Static();
-
-    TRAPD( err, MnUtils::FindLocalizedResourceFileL( iEikon->FsSession(), KAiwResourceFile, iResourceFilename ) );
-    if ( err == KErrNotFound )
-        {
-        // try to find it with the name it had in 3.1
-        // this is needed for the case, when upgrade is installed on 3.1-based terminals
-        MnUtils::FindLocalizedResourceFileL( iEikon->FsSession(), KAiwResourceFileOld, iResourceFilename );
-        }
-    iResourceOffset = iEikon->AddResourceFileL( iResourceFilename );
-
-    iEventList = CAiwGenericParamList::NewL();
-
-#ifdef _DEBUG
-    TTime finish;
-    finish.UniversalTime();
-    TTimeIntervalMicroSeconds elapsed = finish.MicroSecondsFrom( start );
-    LOG1( "CMnAiwProvider::ConstructL out ( in %ld microseconds ) ", elapsed.Int64() );
-#endif
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TInt CMnAiwProvider::GetAiwServiceCommandIdL( const CAiwGenericParamList& aInParamList )
-    {
-    TInt index = 0;
-    const TAiwGenericParam* param = aInParamList.FindFirst( index, EGenericParamServiceCommand );
-    if ( index < 0 )
-        {
-        LOG( "CMnAiwProvider::GetServiceCommandL: param not found" );
-        User::Leave( KErrArgument );
-        }
-
-    TInt32 num = 0;
-    const TAiwVariant& val = param->Value();
-    if ( !val.Get( num ) )
-        {
-        LOG( "CMnAiwProvider::GetServiceCommandL: param value not found" );
-        User::Leave( KErrArgument );
-        }
-    return num;
-    }
-
-// -----------------------------------------------------------------------------
-// From CAiwServiceIfBase
-// -----------------------------------------------------------------------------
-//
-void CMnAiwProvider::InitialiseL(
-    MAiwNotifyCallback& /*aFrameworkCallback*/,
-    const RCriteriaArray& /*aInterest*/ )
-    {
-    LOG("CMnAiwProvider::InitialiseL");
-    }
-
-// -----------------------------------------------------------------------------
-// From CAiwServiceIfBase
-// -----------------------------------------------------------------------------
-//
-void CMnAiwProvider::HandleServiceCmdL(
-    const TInt& aCmdId,
-    const CAiwGenericParamList& aInParamList,
-    CAiwGenericParamList& aOutParamList,
-    TUint aCmdOptions,
-    const MAiwNotifyCallback* aCallback)
-    {
-    LOG1("CMnAiwProvider::HandleServiceCmdL cmdId: %x", aCmdId);
-
-    if ( aCmdOptions & KAiwOptCancel )
-        {
-        // this is call to cancel async request,
-        // not supported yet - ignoring, but not starting new one.
-        LOG("CMnAiwProvider::HandleServiceCmdL attempt to cancel, exit");
-        return;
-        }
-
-    CMnAiwCommandHandlerBase::TAiwParameters
-        aiwParams( aInParamList, aOutParamList, aCallback );
-
-    switch ( aCmdId )
-        {
-        case KAiwCmdMnShowMap:
-        case KAiwCmdMnNavigateTo:
-            {
-            TInt err = KErrNone;
-            TBool stop = EFalse;
-            while ( !stop )
-                {
-                TRAP( err, ProcessSyncAiwCommandL( aCmdId, aiwParams ) );
-                ProcessAiwCommandResultL( aCmdId, aiwParams, err, stop );
-                }
-            User::LeaveIfError( err );
-            }
-            break;
-
-        case KAiwCmdMnSelectFromMap:
-        case KAiwCmdMnCoordByAddr:
-        case KAiwCmdMnAddrByCoord:
-            if ( !aCallback )
-                {
-                User::Leave( KErrArgument );
-                }
-            StartAsyncAiwCommandL( aCmdId, aiwParams );
-            break;
-
-        default:
-            User::Leave( KErrNotSupported );
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnAiwProvider::ProcessSyncAiwCommandL(
-    TInt aCommandId,
-    CMnAiwCommandHandlerBase::TAiwParameters& aAiwParams )
-    {
-    LOG("CMnAiwProvider::ProcessSyncAiwCommandL in");
-
-	CMnAiwCommandHandlerBase* handler = HandlerL( aCommandId, aAiwParams );
-    handler->StartL();
-
-    LOG("CMnAiwProvider::ProcessSyncAiwCommandL out");
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnAiwProvider::StartAsyncAiwCommandL(
-    TInt aCommandId,
-    CMnAiwCommandHandlerBase::TAiwParameters& aAiwParams )
-    {
-    LOG("CMnAiwProvider::StartAsyncAiwCommandL in");
-
-    TBool stop = EFalse;
-    while ( !stop )
-        {
-        TInt err = KErrNone;
-        CMnAiwCommandHandlerBase* handler = NULL;
-        TRAP( err, handler = HandlerL( aCommandId, aAiwParams ) );
-
-        if ( !err )
-            {
-            handler->Start( *this );
-            break;
-            }
-        else
-            {
-            if ( handler )
-                {
-                CloseHandler( handler );
-                }
-
-            if ( err == KErrCancel )
-                {
-                // must stop if provider selection fails
-                stop = ETrue;
-                }
-            else
-                {
-                // this is error from command start
-                ProcessAiwCommandResultL( aCommandId, aAiwParams, err, stop );
-                }
-
-            if ( stop )
-                {
-                // couldn't start command
-                NotifyAiwObserver( aCommandId, aAiwParams, err );
-                }
-            }
-        }
-
-    LOG("CMnAiwProvider::StartAsyncAiwCommandL out");
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnAiwCommandHandlerBase* CMnAiwProvider::HandlerL(
-    TInt aCommandId,
-    CMnAiwCommandHandlerBase::TAiwParameters& aAiwParams )
-    {
-    LOG("CMnAiwProvider::HandlerL in");
-
-    CMnProvider& provider = SelectProviderL( aCommandId, aAiwParams );
-
-    CMnAiwCommandHandlerBase::TRunMode runMode =
-        CMnAiwCommandHandlerBase::RequestedRunModeL( aAiwParams );
-
-    if ( runMode == CMnAiwCommandHandlerBase::ERunModeDefault )
-        {
-        runMode = CMnAiwCommandHandlerBase::DefaultRunMode( aCommandId );
-        }
-
-    if ( runMode == CMnAiwCommandHandlerBase::ERunModeDefault )
-        {
-        User::Leave( KErrNotSupported );
-        }
-
-    CMnAiwCommandHandlerBase* handler = FindWorkingHandler( aCommandId, provider, runMode );
-
-    if ( !handler )
-        {
-        handler = CMnAiwCommandHandlerBase::CreateHandlerL( aCommandId, provider, runMode );
-        CleanupStack::PushL( handler );
-        handler->SetExitObserverL( *this );
-        iHandlers.AppendL( handler );
-        CleanupStack::Pop( handler );
-        }
-    else
-        {
-        LOG("CMnAiwProvider::HandlerL, working handler found, reusing");
-        handler->ResetParametersL();
-        }
-
-    handler->SetParametersL( aAiwParams );
-
-    LOG("CMnAiwProvider::HandlerL out");
-    return handler;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnAiwProvider::HandleAsyncAiwCmdCompletedL(
-    CMnAiwCommandHandlerBase* aHandler,
-    TInt aResult )
-    {
-    LOG1("CMnAiwProvider::HandleAsyncAiwCmdCompletedL in, result %d", aResult );
-
-    TInt command = aHandler->CommandId();
-    CMnAiwCommandHandlerBase::TAiwParameters aiwParams = aHandler->AiwParameters();
-
-    CloseHandler( aHandler );
-
-    TBool stop = EFalse;
-    ProcessAiwCommandResultL( command, aiwParams, aResult, stop );
-
-    if ( stop )
-        {
-        NotifyAiwObserver( command, aiwParams, aResult );
-        }
-    else
-        {
-        StartAsyncAiwCommandL( command, aiwParams );
-        }
-
-    LOG("CMnAiwProvider::HandleAsyncAiwCmdCompletedL out");
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnAiwProvider::HandleProviderExit(
-    CMnAiwCommandHandlerBase* aHandler )
-    {
-    LOG("CMnAiwProvider::HandleProviderExit in" );
-
-	CloseHandler( aHandler );
-
-    LOG("CMnAiwProvider::HandleProviderExit out");
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnAiwProvider::NotifyAiwObserver(
-    TInt aCommandId,
-    CMnAiwCommandHandlerBase::TAiwParameters& aAiwParams,
-    TInt aResult )
-    {
-    LOG2("CMnAiwProvider::NotifyAiwObserver in, command 0x%X, result %d", aCommandId, aResult);
-    __ASSERT_DEBUG( aAiwParams.Callback(), Panic( KErrGeneral) );
-
-    MAiwNotifyCallback* callback = const_cast<MAiwNotifyCallback*>( aAiwParams.Callback() );
-
-    TInt err = KErrNone;
-    iEventList->Reset();
-    if ( aResult )
-        {
-        TAiwGenericParam error( EGenericParamError, TAiwVariant( aResult ) );
-        TRAP_IGNORE( iEventList->AppendL( error ) );
-
-        TRAP( err, callback->HandleNotifyL(
-            aCommandId, KAiwEventError, *iEventList, aAiwParams.InList() ) );
-        }
-    else
-        {
-        TRAP( err, callback->HandleNotifyL(
-            aCommandId, KAiwEventCompleted, *iEventList, aAiwParams.InList() ) );
-        }
-
-    LOG("CMnAiwProvider::NotifyAiwObserver out");
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnAiwProvider::CloseHandler( CMnAiwCommandHandlerBase* aHandler )
-    {
-    LOG("CMnAiwProvider::CloseHandler in");
-
-    if ( aHandler->IsActive() )
-    	{
-    	// make sure we are not panicked if async handler is closed while active.
-    	// at first, command is only cancelled. Cancel will call this method again,
-    	// then this object will be deleted.
-    	aHandler->Cancel();
-    	}
-
-	TInt index = iHandlers.Find( aHandler );
-	if ( index != KErrNotFound )
-	    {
-    	delete aHandler;
-    	iHandlers.Remove( index );
-	    }
-    LOG1("CMnAiwProvider::CloseHandler out, deleted handler %d", index);
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnAiwProvider::ProcessAiwCommandResultL( 
-    TInt aAiwCommandId, 
-    CMnAiwCommandHandlerBase::TAiwParameters& aAiwParams,
-    TInt aResult, 
-    TBool& aStop )
-    {
-    LOG1("CMnAiwProvider::ProcessAiwCommandResultL in, result %d", aResult);
-
-    TBool banMessages = EFalse;
-    if ( CMnAiwCommandHandlerBase::IsErrorMessageDisabledL( aAiwParams ) )
-        {
-        banMessages = ETrue;
-        }
-    
-    TInt unusedProviderId( 0 );
-    TInt messageId( 0 );
-    
-    if ( aResult == KErrNone || aResult == KErrCancel )
-        {
-        aStop = ETrue;
-        }
-    else if ( CMnAiwCommandHandlerBase::IsProviderSpecifiedL( aAiwParams, unusedProviderId ) ) 
-        {
-        aStop = ETrue;
-        messageId = R_MN_ERROR_SERVICE_UNAVAILABLE;
-        }
-    else if ( NumSuitableProviders( aAiwCommandId ) < 2 )
-        {
-        aStop = ETrue;
-        messageId = R_MN_ERROR_NO_PROVIDER;
-        }
-    else
-        {
-        aStop = EFalse;
-        messageId = R_MN_ERROR_SERVICE_UNAVAILABLE;
-        }
-    
-    if ( !banMessages && messageId )
-        {
-        ErrorNote( messageId );
-        }
-
-    LOG("CMnAiwProvider::ProcessAiwCommandResultL out");
-    }
-
-// -----------------------------------------------------------------------------
-// From CAiwServiceIfMenu
-// -----------------------------------------------------------------------------
-//
-void CMnAiwProvider::InitializeMenuPaneL(
-    CAiwMenuPane& aMenuPane,
-    TInt aIndex,
-    TInt /*aCascadeId*/,
-    const CAiwGenericParamList& aInParamList)
-    {
-    LOG( "CMnAiwProvider::InitializeMenuPaneL in" );
-
-    TInt svcCmdId = GetAiwServiceCommandIdL( aInParamList );
-    if ( !IsServiceAvailableL( svcCmdId ) )
-        {
-        LOG1( "CMnAiwProvider::InitializeMenuPaneL svc 0x%X is not available, out", svcCmdId );
-        return;
-        }
-
-    switch ( svcCmdId )
-        {
-        case KAiwCmdMnShowMap:
-            aMenuPane.AddMenuItemsL(
-                iResourceFilename,
-                R_MN_AIWMENU_SHOW_ON_MAP,
-                KAiwCmdMnShowMap,
-                aIndex);
-            break;
-
-        case KAiwCmdMnSelectFromMap:
-            aMenuPane.AddMenuItemsL(
-                iResourceFilename,
-                R_MN_AIWMENU_SELECT_FROM_MAP,
-                KAiwCmdMnSelectFromMap,
-                aIndex);
-            break;
-
-        case KAiwCmdMnNavigateTo:
-            aMenuPane.AddMenuItemsL(
-                iResourceFilename,
-                R_MN_AIWMENU_NAVIGATE_TO,
-                KAiwCmdMnNavigateTo,
-                aIndex);
-            break;
-
-        case KAiwCmdMnCoordByAddr:
-            aMenuPane.AddMenuItemsL(
-                iResourceFilename,
-                R_MN_AIWMENU_FETCH_COORDINATES,
-                KAiwCmdMnCoordByAddr,
-                aIndex);
-            break;
-
-        case KAiwCmdMnAddrByCoord:
-            aMenuPane.AddMenuItemsL(
-                iResourceFilename,
-                R_MN_AIWMENU_FETCH_ADDRESS,
-                KAiwCmdMnAddrByCoord,
-                aIndex);
-            break;
-        }
-    LOG( "CMnAiwProvider::InitializeMenuPaneL out" );
-    }
-
-
-// -----------------------------------------------------------------------------
-// From CAiwServiceIfMenu
-// -----------------------------------------------------------------------------
-//
-void CMnAiwProvider::HandleMenuCmdL(
-    TInt aMenuCmdId,
-    const CAiwGenericParamList& aInParamList,
-    CAiwGenericParamList& aOutParamList,
-    TUint aCmdOptions,
-    const MAiwNotifyCallback* aCallback)
-    {
-    LOG( "CMnAiwProvider::HandleMenuCmdL in" );
-
-    TInt svcCmdId = KAiwCmdNone;
-
-    switch ( aMenuCmdId )
-        {
-        case EMnAiwMenuCmdShowOnMap:
-            svcCmdId = KAiwCmdMnShowMap;
-            break;
-
-        case EMnAiwMenuCmdSelectFromMap:
-            svcCmdId = KAiwCmdMnSelectFromMap;
-            break;
-
-        case EMnAiwMenuCmdNavigateTo:
-            svcCmdId = KAiwCmdMnNavigateTo;
-            break;
-
-        case EMnAiwMenuCmdFetchAddress:
-            svcCmdId = KAiwCmdMnAddrByCoord;
-            break;
-
-        case EMnAiwMenuCmdFetchCoordinates:
-            svcCmdId = KAiwCmdMnCoordByAddr;
-            break;
-        }
-
-    HandleServiceCmdL( svcCmdId, aInParamList, aOutParamList, aCmdOptions, aCallback );
-
-    LOG( "CMnAiwProvider::HandleMenuCmdL out" );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TBool CMnAiwProvider::IsServiceAvailableL( TInt aAiwCommandId )
-    {
-    UpdateProvidersListL();
-    return NumSuitableProviders( aAiwCommandId ) > 0;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnAiwProvider::UpdateProvidersListL()
-    {
-    // get new list of providers
-    RPointerArray<CMnProvider> providers;
-    CleanupStack::PushL( TCleanupItem( CleanupProvidersArray, &providers ) );
-    MnProviderFinder::FindProvidersL( providers );
-    
-    // merge new list with current list of providers
-    TIdentityRelation<CMnProvider> byUid( ProvidersMatchByUid );
-
-    // detect removed providers
-    for ( TInt i = iMnProviders.Count() - 1; i >= 0 ; i-- )
-        {
-        if ( providers.Find( iMnProviders[i], byUid ) == KErrNotFound )
-            {
-            LOG1("CMnAiwProvider::UpdateProvidersListL, provider 0x%X removed", 
-                iMnProviders[i]->Uid().iUid );
-            CloseHandlers( iMnProviders[i] );
-            delete iMnProviders[i];
-            iMnProviders.Remove( i );
-            }
-        }
-
-    // detect new providers
-    for ( TInt i = providers.Count() - 1; i >=0 ; i-- )
-		{
-		if ( iMnProviders.Find( providers[i], byUid ) == KErrNotFound )
-			{
-            LOG1("CMnAiwProvider::UpdateProvidersListL, new provider 0x%X added", 
-                providers[i]->Uid().iUid );
-			iMnProviders.AppendL( providers[i] );
-			providers.Remove( i ); // ownership is moved to iMnProviders
-			}
-		}
-
-	CleanupStack::PopAndDestroy( &providers );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnAiwCommandHandlerBase* CMnAiwProvider::FindWorkingHandler(
-    TInt aAiwCommandId,
-    const CMnProvider& aProvider,
-    CMnAiwCommandHandlerBase::TRunMode aRunMode )
-    {
-    for ( TInt i = 0; i < iHandlers.Count(); i++ )
-        {
-        CMnAiwCommandHandlerBase* handler = iHandlers[i];
-        if ( handler->Provider().Uid() == aProvider.Uid() &&
-             handler->CommandId() == aAiwCommandId &&
-             handler->RunMode() == aRunMode &&
-             !handler->IsActive() ) // active async handler cannot be reused
-            {
-            return iHandlers[i];
-            }
-        }
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnAiwProvider::CloseHandlers( const CMnProvider* aProvider )
-	{
-	for ( TInt i = iHandlers.Count() - 1; i >= 0 ; i-- )
-		{
-		if ( ProvidersMatchByUid( iHandlers[i]->Provider(), *aProvider ) )
-			{
-			CloseHandler( iHandlers[i] ); // this will modify the handlers list
-			}
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnAiwProvider::CloseAllHandlers()
-	{
-	for ( TInt i = iHandlers.Count() - 1; i >= 0 ; i-- )
-		{
-		CloseHandler( iHandlers[i] ); // this will modify the handlers list
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnAiwProvider::GetSuitableProvidersL(
-    TInt aAiwCommandId,
-    RPointerArray<CMnProvider>& aProviders )
-    {
-    LOG1("CMnAiwProvider::GetSuitableProvidersL in, Cmd %x", aAiwCommandId);
-
-    CMnProvider::TService serviceNeeded = CMnProvider::EServiceNone;
-    TInt featuresNeeded = 0;
-
-    CMnAiwCommandHandlerBase::AppServiceAndFeatureNeeded(
-        aAiwCommandId, serviceNeeded, featuresNeeded );
-
-    for ( TInt i = 0; i < iMnProviders.Count(); i++ )
-        {
-        CMnProvider* provider = iMnProviders[i];
-
-        if ( ( provider->SupportedServices() & serviceNeeded ) &&
-             ( provider->SupportedFeatures( serviceNeeded ) & featuresNeeded ) )
-            {
-            LOG1("CMnAiwProvider::GetSuitableProvidersL using 0x%X", provider->Uid().iUid);
-            aProviders.AppendL( provider );
-            }
-        }
-    LOG("CMnAiwProvider::GetSuitableProvidersL out");
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TInt CMnAiwProvider::NumSuitableProviders( TInt aAiwCommandId )
-    {
-    CMnProvider::TService serviceNeeded = CMnProvider::EServiceNone;
-    TInt featuresNeeded = 0;
-
-    CMnAiwCommandHandlerBase::AppServiceAndFeatureNeeded(
-        aAiwCommandId, serviceNeeded, featuresNeeded );
-
-    TInt count = 0;
-    for ( TInt i = 0; i < iMnProviders.Count(); i++ )
-        {
-        CMnProvider* provider = iMnProviders[i];
-
-        if ( ( provider->SupportedServices() & serviceNeeded ) &&
-             ( provider->SupportedFeatures( serviceNeeded ) & featuresNeeded ) )
-            {
-            count++;
-            }
-        }
-    return count;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnProvider& CMnAiwProvider::SelectProviderL( 
-    TInt aAiwCommandId,
-    CMnAiwCommandHandlerBase::TAiwParameters& aAiwParams )
-    {
-    CMnProvider* provider = NULL;
-
-    RPointerArray<CMnProvider> mnProviders; // array does _not_ own items
-    CleanupClosePushL( mnProviders );
-
-    UpdateProvidersListL();
-    GetSuitableProvidersL( aAiwCommandId, mnProviders );
-    
-    TInt requestedProviderId( 0 );
-    if ( CMnAiwCommandHandlerBase::IsProviderSpecifiedL( aAiwParams, requestedProviderId ) )
-        {
-        for ( int i = 0; i < mnProviders.Count(); i++ )
-            {
-            if ( mnProviders[i]->Uid().iUid == requestedProviderId )
-                {
-                provider = mnProviders[i];
-                break;
-                }
-            }
-        
-        if ( !provider )
-            {
-            User::Leave( KErrArgument );
-            }
-        }
-    else if ( mnProviders.Count() > 1 )
-        {
-        TInt index = KErrNotFound;
-        ExecuteSelectionDialogL( index, mnProviders );
-            provider = mnProviders[index];
-        }
-    else if ( mnProviders.Count() == 1 )
-        {
-        provider = mnProviders[0];
-        }
-    else
-        {
-        User::Leave( KErrNotSupported );
-        }
-
-    CleanupStack::PopAndDestroy( &mnProviders );
-    LOG1("CMnAiwProvider::SelectProviderL, selected 0x%X", provider->Uid().iUid);
-    return *provider;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnAiwProvider::ExecuteSelectionDialogL(
-    TInt& aIndex,
-    RPointerArray<CMnProvider>& aProviders )
-    {
-    CDesCArraySeg* textArray = new (ELeave) CDesCArraySeg( aProviders.Count() );
-    CleanupStack::PushL( textArray );
-
-    for ( TInt i = 0; i < aProviders.Count(); i++ )
-        {
-        TPtrC shortName;
-        aProviders[i]->GetShortName( shortName );
-        textArray->AppendL( shortName );
-        }
-
-    CAknListQueryDialog* dlg = new (ELeave) CAknListQueryDialog( &aIndex );
-    dlg->PrepareLC( R_MN_PROVIDER_LIST_QUERY );
-
-    dlg->SetItemTextArray( textArray );
-    dlg->SetOwnershipType( ELbmOwnsItemArray );
-
-    TInt result = dlg->RunLD();
-    CleanupStack::Pop( textArray );
-
-    if ( !result )
-        {
-        User::Leave( KErrCancel );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnAiwProvider::ErrorNote( TInt aResourceId )
-    {
-    TRAP_IGNORE( DoErrorNoteL( aResourceId ) );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnAiwProvider::DoErrorNoteL( TInt aResourceId )
-    {
-    HBufC* noteText = iEikon->AllocReadResourceLC( aResourceId );
-
-    CAknGlobalNote* note = CAknGlobalNote::NewLC();
-    note->ShowNoteL( EAknGlobalErrorNote, *noteText );
-    CleanupStack::PopAndDestroy( note );
-
-    CleanupStack::PopAndDestroy( noteText );
-    }
-
-// ======== GLOBAL FUNCTIONS ========
-
-// -----------------------------------------------------------------------------
-// Map the interface UIDs to implementation factory functions
-// -----------------------------------------------------------------------------
-//
-const TImplementationProxy ImplementationTable[] =
-    {
-    IMPLEMENTATION_PROXY_ENTRY( KMnAiwProviderBaseImplUid, CMnAiwProvider::NewL ),
-    IMPLEMENTATION_PROXY_ENTRY( KMnAiwProviderMenuImplUid, CMnAiwProvider::NewL )
-    };
-
-// -----------------------------------------------------------------------------
-// Exported proxy for instantiation method resolution
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy( TInt& aTableCount )
-    {
-    aTableCount = ( sizeof ImplementationTable ) / sizeof( TImplementationProxy );
-    return ImplementationTable;
-    }
--- a/locationmapnavfw/aiwprovider/src/mnfetchaddresshandler.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,126 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnFetchAddressHandler class implementation
-*
-*/
-
-
-#include <e32base.h>
-
-#include <AiwGenericParam.hrh>
-#include <AiwCommon.hrh>
-
-#include <EPos_CPosLandmark.h>
-#include <epos_poslandmarkserialization.h>
-
-#include <mngeocoder.h>
-
-#include "mnaiwdebug.h"
-#include "mnaiwinternal.h"
-#include "mnfetchaddresshandler.h"
-
-// ================= LOCAL FUNCTIONS =======================
-
-// ================= MEMBER FUNCTIONS =======================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnFetchAddressHandler::CMnFetchAddressHandler( CMnProvider& aProvider )
-:   CMnGeocodingCmdHandlerBase( aProvider )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnFetchAddressHandler* CMnFetchAddressHandler::NewL( 
-    CMnProvider& aProvider,
-    TRunMode aRunMode )
-    {
-    CMnFetchAddressHandler* self = 
-        new (ELeave) CMnFetchAddressHandler( aProvider );
-    CleanupStack::PushL( self );        
-    self->ConstructL( aRunMode );
-    CleanupStack::Pop( self );        
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnFetchAddressHandler::ConstructL( TRunMode aRunMode )
-    {
-    LOG("CMnFetchAddressHandler::ConstructL in");
-
-    CMnGeocodingCmdHandlerBase::ConstructL( aRunMode );
-
-    LOG("CMnFetchAddressHandler::ConstructL out");
-    }
-
-// ================= INTERNAL FUNCTIONS =======================
-
-// -----------------------------------------------------------------------------
-//  From class CMnAiwCommandHandlerBase
-// -----------------------------------------------------------------------------
-//
-void CMnFetchAddressHandler::DoStartL()
-    {
-    LOG("CMnFetchAddressHandler::DoStartL in");
-    
-    if ( iLandmarkData.Size() )
-        {
-        CPosLandmark* lm = PosLandmarkSerialization::UnpackL( iLandmarkData );
-        CleanupStack::PushL( lm );
-
-        Geocoder().FindAddressByCoordinateL( *lm, iStatus );
-        
-        CleanupStack::PopAndDestroy( lm );
-        }
-    else    
-        {
-        User::Leave( KErrArgument );
-        }
-
-    LOG("CMnFetchAddressHandler::DoStartL out");
-    }
-
-// -----------------------------------------------------------------------------
-//  From class CActive
-// -----------------------------------------------------------------------------
-//
-void CMnFetchAddressHandler::RunL()
-    {
-    LOG("CMnFetchAddressHandler::RunL in");
-    
-    TInt result = iStatus.Int();
-    if ( result == KErrNone )
-        {
-        CPosLandmark* lm = CPosLandmark::NewLC();
-        Geocoder().RetrieveGeocodingResultL( *lm );
-        WriteLandmarkL( *lm );
-        CleanupStack::PopAndDestroy( lm );
-        }
-    Done( result );
-    LOG("CMnFetchAddressHandler::RunL out");
-    }
-
-// -----------------------------------------------------------------------------
-//  From class CActive
-// -----------------------------------------------------------------------------
-//
-void CMnFetchAddressHandler::DoCancel()
-    {
-    Geocoder().Cancel();
-    }
--- a/locationmapnavfw/aiwprovider/src/mnfetchcoordinateshandler.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,170 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnFetchCoordinatesHandler class implementation
-*
-*/
-
-
-#include <e32base.h>
-
-#include <AiwGenericParam.hrh>
-#include <AiwCommon.hrh>
-
-#include <EPos_CPosLandmark.h>
-#include <epos_poslandmarkserialization.h>
-
-#include <mngeocoder.h>
-
-#include "mnaiwdebug.h"
-#include "mnaiwinternal.h"
-#include "mnfetchcoordinateshandler.h"
-
-// ================= LOCAL FUNCTIONS =======================
-
-// ================= MEMBER FUNCTIONS =======================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnFetchCoordinatesHandler::CMnFetchCoordinatesHandler( CMnProvider& aProvider )
-:   CMnGeocodingCmdHandlerBase( aProvider )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnFetchCoordinatesHandler* CMnFetchCoordinatesHandler::NewL( 
-    CMnProvider& aProvider,
-    TRunMode aRunMode )
-    {
-    CMnFetchCoordinatesHandler* self = 
-        new (ELeave) CMnFetchCoordinatesHandler( aProvider );
-    CleanupStack::PushL( self );        
-    self->ConstructL( aRunMode );
-    CleanupStack::Pop( self );        
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnFetchCoordinatesHandler::ConstructL( TRunMode aRunMode )
-    {
-    LOG("CMnFetchCoordinatesHandler::ConstructL in");
-
-    CMnGeocodingCmdHandlerBase::ConstructL( aRunMode );
-
-    LOG("CMnFetchCoordinatesHandler::ConstructL out");
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnFetchCoordinatesHandler::DoStartL()
-    {
-    LOG("CMnFetchCoordinatesHandler::DoStartL in");
-    
-    if ( iLandmarkData.Size() )
-        {
-        CPosLandmark* lm = PosLandmarkSerialization::UnpackL( iLandmarkData );
-        CleanupStack::PushL( lm );
-
-        Geocoder().FindCoordinateByAddressL( *lm, iStatus );
-        
-        CleanupStack::PopAndDestroy( lm );
-        }
-    else if ( iPlainAddress.Length() )
-        {
-        Geocoder().FindCoordinateByAddressL( iPlainAddress, iStatus );
-        }
-    else
-        {
-        User::Leave( KErrArgument );
-        }
-    
-    LOG("CMnFetchCoordinatesHandler::DoStartL out");
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnFetchCoordinatesHandler::RunL()
-    {
-    LOG("CMnFetchCoordinatesHandler::RunL in");
-    
-    TInt result = iStatus.Int();
-    if ( result == KErrNone )
-        {
-        CPosLandmark* lm = CPosLandmark::NewLC();
-        Geocoder().RetrieveGeocodingResultL( *lm );
-        WriteLandmarkL( *lm );
-        CleanupStack::PopAndDestroy( lm );
-        }
-    Done( result );
-    LOG("CMnFetchCoordinatesHandler::RunL out");
-    }
-
-// -----------------------------------------------------------------------------
-//  From class CActive
-// -----------------------------------------------------------------------------
-//
-void CMnFetchCoordinatesHandler::DoCancel()
-    {
-    Geocoder().Cancel();
-    }
-
-// -----------------------------------------------------------------------------
-//  From class CMnAiwCommandHandlerBase
-// -----------------------------------------------------------------------------
-//
-void CMnFetchCoordinatesHandler::HandleAiwParamL( const TAiwGenericParam& aParam )
-    {
-    if ( aParam.SemanticId() == EGenericParamUnspecified &&
-         aParam.Value().TypeId() == EVariantTypeDesC )
-        {
-        LOG("CMnFetchCoordinatesHandler::HandleAiwParam, PlainString");
-        if ( !iPlainAddress.Length() && !iLandmarkData.Size() )
-            {
-            iPlainAddress.Set( aParam.Value().AsDes() );
-            }
-        }
-    else
-        {
-        CMnGeocodingCmdHandlerBase::HandleAiwParamL( aParam );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//  From class CMnAiwCommandHandlerBase
-// -----------------------------------------------------------------------------
-//
-void CMnFetchCoordinatesHandler::HandleAiwParamLandmarksL( RArray<TPtrC8>& aLandmarkDataList )
-    {
-    // ignore landmarks if plain address is already found
-    if ( !iPlainAddress.Length() )
-        {
-        CMnGeocodingCmdHandlerBase::HandleAiwParamLandmarksL( aLandmarkDataList );
-        }
-    }    
-
-// -----------------------------------------------------------------------------
-//  From class CMnAiwCommandHandlerBase
-// -----------------------------------------------------------------------------
-//
-void CMnFetchCoordinatesHandler::ResetParametersL()
-    {
-    iPlainAddress.Set( NULL, 0 );
-    CMnGeocodingCmdHandlerBase::ResetParametersL();
-    }
--- a/locationmapnavfw/aiwprovider/src/mngeocodingcmdhandlerbase.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,149 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnGeocodingCmdHandlerBase class implementation
-*
-*/
-
-
-#include <AiwGenericParam.hrh>
-#include <AiwCommon.hrh>
-
-#include <mngeocoder.h>
-
-#include "mnaiwdebug.h"
-#include "mngeocodingcmdhandlerbase.h"
-
-// ================= LOCAL FUNCTIONS =======================
-
-// ================= MEMBER FUNCTIONS =======================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnGeocodingCmdHandlerBase::CMnGeocodingCmdHandlerBase( CMnProvider& aProvider )
-:   CMnAiwCommandHandlerBase( aProvider )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnGeocodingCmdHandlerBase::~CMnGeocodingCmdHandlerBase()
-    {
-    delete iGeocoder;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnGeocodingCmdHandlerBase::SetExitObserverL( 
-	MMnProviderExitCallback& aExitCallback )
-	{
-	iGeocoder->SetExitObserverL( *this );
-	CMnAiwCommandHandlerBase::SetExitObserverL( aExitCallback );
-	}
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnGeocodingCmdHandlerBase::ConstructL( TRunMode aRunMode )
-    {
-    CMnAiwCommandHandlerBase::ConstructL();
-    
-    if ( aRunMode == ERunModeChained )
-        {
-        iGeocoder = CMnGeocoder::NewChainedL( Provider() );
-        }
-    else
-        {
-        iGeocoder = CMnGeocoder::NewL( Provider() );
-        }
-
-    iRunMode = aRunMode;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnGeocodingCmdHandlerBase::ReadGeocodingOptionsL( 
-    const TAiwGenericParam& aParam,
-    TMnAiwGeocodingOptionsParam& aGeoOptions )
-    {
-    TPtrC8 data( aParam.Value().AsData() ); 
-    if ( data.Size() == sizeof( TMnAiwGeocodingOptionsParam ) )
-        {
-        TMnAiwGeocodingOptionsParam options;
-        TPckg<TMnAiwGeocodingOptionsParam> optionsPack( options );
-        optionsPack.Copy( data );
-        aGeoOptions = options;
-        }
-    else
-        {
-        User::Leave( KErrArgument );
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnGeocoder& CMnGeocodingCmdHandlerBase::Geocoder()
-    {
-    return *iGeocoder;
-    }
-    
-// -----------------------------------------------------------------------------
-//  From class CMnAiwCommandHandlerBase
-// -----------------------------------------------------------------------------
-//
-void CMnGeocodingCmdHandlerBase::HandleAiwParamL( const TAiwGenericParam& aParam )
-    {
-    switch ( aParam.SemanticId() )
-        {
-        case EGenericParamMnGeocodingOptions:
-            //LOG("CMnGeocodingCmdHandlerBase::HandleAiwParam, GeocodingOptions");
-            {
-            TMnAiwGeocodingOptionsParam geoOptions;
-            ReadGeocodingOptionsL( aParam, geoOptions );
-            iGeocoder->SetOptions( ( CMnGeocoder::TOptions ) geoOptions.iOptions );
-            break;
-            }
-        default:
-            CMnAiwCommandHandlerBase::HandleAiwParamL( aParam );
-            break;
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-//  From class CMnAiwCommandHandlerBase
-// -----------------------------------------------------------------------------
-//
-void CMnGeocodingCmdHandlerBase::HandleAiwParamLandmarksL( RArray<TPtrC8>& aLandmarkDataList )
-    {
-    // if already set or not single landmarks are given
-    if ( iLandmarkData.Size() || aLandmarkDataList.Count() != 1 )
-        {
-        User::Leave( KErrArgument );
-        }
-    iLandmarkData.Set( aLandmarkDataList[0] );
-    }    
-
-// -----------------------------------------------------------------------------
-//  From class CMnAiwCommandHandlerBase
-// -----------------------------------------------------------------------------
-//
-void CMnGeocodingCmdHandlerBase::ResetParametersL()
-    {
-    iGeocoder->SetOptions( CMnGeocoder::EOptionNone );
-    iLandmarkData.Set( NULL, 0 );
-    }
--- a/locationmapnavfw/aiwprovider/src/mnmapviewcmdhandlerbase.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnMapViewCmdHandlerBase class implementation
-*
-*/
-
-
-#include <AiwGenericParam.hrh>
-#include <AiwCommon.hrh>
-
-#include <mnmapview.h>
-
-#include "mnaiwdebug.h"
-#include "mnmapviewcmdhandlerbase.h"
-
-// ================= LOCAL FUNCTIONS =======================
-
-// ================= MEMBER FUNCTIONS =======================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnMapViewCmdHandlerBase::CMnMapViewCmdHandlerBase( CMnProvider& aProvider )
-:   CMnAiwCommandHandlerBase( aProvider )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnMapViewCmdHandlerBase::~CMnMapViewCmdHandlerBase()
-    {
-    delete iMapView;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnMapViewCmdHandlerBase::SetExitObserverL( MMnProviderExitCallback& aExitCallback )
-	{
-	iMapView->SetExitObserverL( *this );
-	CMnAiwCommandHandlerBase::SetExitObserverL( aExitCallback );
-	}
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnMapViewCmdHandlerBase::ConstructL( TRunMode aRunMode )
-    {
-    LOG("CMnMapViewCmdHandlerBase::ConstructL in");
-    CMnAiwCommandHandlerBase::ConstructL();
-    
-    if ( aRunMode == ERunModeChained )
-        {
-        iMapView = CMnMapView::NewChainedL( Provider() );
-        }
-    else
-        {
-        iMapView = CMnMapView::NewL( Provider() );
-        }
-
-    iRunMode = aRunMode;
-
-    LOG("CMnMapViewCmdHandlerBase::ConstructL out");
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnMapViewCmdHandlerBase::ReadMapOptionsL( 
-    const TAiwGenericParam& aParam,
-    TMnAiwMapViewOptionsParam& aMapOptions )
-    {
-    TPtrC8 data( aParam.Value().AsData() ); 
-    if ( data.Size() == sizeof( TMnAiwMapViewOptionsParam ) )
-        {
-        TMnAiwMapViewOptionsParam options;
-        TPckg<TMnAiwMapViewOptionsParam> optionsPack( options );
-        optionsPack.Copy( data );
-        aMapOptions = options;
-        }
-    else
-        {
-        User::Leave( KErrArgument );
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnMapView& CMnMapViewCmdHandlerBase::MapView()
-    {
-    return *iMapView;
-    }
-    
-// -----------------------------------------------------------------------------
-//  From class CMnAiwCommandHandlerBase
-// -----------------------------------------------------------------------------
-//
-void CMnMapViewCmdHandlerBase::HandleAiwParamL( const TAiwGenericParam& aParam )
-    {
-    switch ( aParam.SemanticId() )
-        {
-        case EGenericParamMnMapViewOptions:
-            {
-            TMnAiwMapViewOptionsParam mapOptions;
-            ReadMapOptionsL( aParam, mapOptions );
-
-            iMapView->SetOptions( mapOptions.iOptions );
-            iMapView->SetMapAreaL( mapOptions.iCenterPoint, mapOptions.iRadius );
-            iMapView->SetCurrentLocationOption( 
-                ( CMnMapView::TCurrentLocationOption) mapOptions.iCurrentLocationOption );
-
-            break;
-            }
-        default:
-            CMnAiwCommandHandlerBase::HandleAiwParamL( aParam );
-            break;
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-//  From class CMnAiwCommandHandlerBase
-// -----------------------------------------------------------------------------
-//
-void CMnMapViewCmdHandlerBase::HandleAiwParamLandmarksL( RArray<TPtrC8>& aLandmarkDataList )
-    {
-    iMapView->AddLandmarksToShowL( aLandmarkDataList );
-    }
-    
-// -----------------------------------------------------------------------------
-//  From class CMnAiwCommandHandlerBase
-// -----------------------------------------------------------------------------
-//
-void CMnMapViewCmdHandlerBase::HandleAiwParamLandmarksListL( 
-    const TDesC& aDbUri, 
-    RArray<TPosLmItemId>& aLmIds )
-    {
-    iMapView->AddLandmarksToShowL( aDbUri, aLmIds );
-    }
-
-// -----------------------------------------------------------------------------
-//  From class CMnAiwCommandHandlerBase
-// -----------------------------------------------------------------------------
-//
-void CMnMapViewCmdHandlerBase::ResetParametersL()
-    {
-    iMapView->ResetLandmarksToShow();
-    iMapView->ResetMapArea();
-    iMapView->SetUseDefaultRequestText();
-    iMapView->SetOptions( CMnMapView::EOptionNone );
-    iMapView->SetCurrentLocationOption( CMnMapView::ECurrentLocationDisabled );
-    }
--- a/locationmapnavfw/aiwprovider/src/mnnavigatetohandler.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,144 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnNavigateToHandler class implementation
-*
-*/
-
-
-#include <AiwGenericParam.hrh>
-#include <AiwCommon.hrh>
-
-#include <EPos_CPosLandmark.h>
-#include <epos_poslandmarkserialization.h>
-
-#include <mnnavigator.h>
-
-#include "mnaiwdebug.h"
-#include "mnaiwinternal.h"
-#include "mnnavigatetohandler.h"
-
-// ================= LOCAL FUNCTIONS =======================
-
-// ================= MEMBER FUNCTIONS =======================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnNavigateToHandler::CMnNavigateToHandler( CMnProvider& aProvider )
-:   CMnAiwCommandHandlerBase( aProvider )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnNavigateToHandler::~CMnNavigateToHandler()
-    {
-    delete iNavigator;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnNavigateToHandler* CMnNavigateToHandler::NewL(
-    CMnProvider& aProvider,
-    TRunMode aRunMode )
-    {
-    CMnNavigateToHandler* self = 
-        new (ELeave) CMnNavigateToHandler( aProvider );
-    CleanupStack::PushL( self );        
-    self->ConstructL( aRunMode );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnNavigateToHandler::SetExitObserverL( 
-	MMnProviderExitCallback& aExitCallback )
-	{
-	iNavigator->SetExitObserverL( *this );
-	CMnAiwCommandHandlerBase::SetExitObserverL( aExitCallback );
-	}
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnNavigateToHandler::ConstructL( TRunMode aRunMode )
-    {
-    LOG("CMnNavigateToHandler::ConstructL in");
-
-    CMnAiwCommandHandlerBase::ConstructL();
-    
-    if ( aRunMode == ERunModeChained )
-        {
-        iNavigator = CMnNavigator::NewChainedL( Provider() );
-        }
-    else
-        {
-        iNavigator = CMnNavigator::NewL( Provider() );
-        }
-        
-    iRunMode = aRunMode;
-    
-    LOG("CMnNavigateToHandler::ConstructL out");
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnNavigateToHandler::DoStartL()
-    {
-    LOG("CMnNavigateToHandler::DoStartL in");
-    if ( iLandmarkData.Size() )
-        {
-        CPosLandmark* lm = PosLandmarkSerialization::UnpackL( iLandmarkData );
-        CleanupStack::PushL( lm );
-        
-        iNavigator->NavigateToL( *lm );
-        
-        CleanupStack::PopAndDestroy( lm );
-        }
-    else    
-        {
-        User::Leave( KErrArgument );
-        }
-        
-    LOG("CMnNavigateToHandler::DoStartL out");
-    }
-
-// -----------------------------------------------------------------------------
-//  From class CMnAiwCommandHandlerBase
-// -----------------------------------------------------------------------------
-//
-void CMnNavigateToHandler::HandleAiwParamLandmarksL( RArray<TPtrC8>& aLandmarkDataList )
-    {
-    __ASSERT_DEBUG( aLandmarkDataList.Count() > 0, Panic( KErrGeneral ) );
-    
-    // if already set or not single landmarks are given
-    if ( !iLandmarkData.Length() )
-        {
-        iLandmarkData.Set( aLandmarkDataList[0] );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//  From class CMnAiwCommandHandlerBase
-// -----------------------------------------------------------------------------
-//
-void CMnNavigateToHandler::ResetParametersL()
-    {
-    iLandmarkData.Set( NULL, 0 );
-    }
--- a/locationmapnavfw/aiwprovider/src/mnselectfrommaphandler.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,184 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnSelectFromMapHandler class implementation
-*
-*/
-
-
-#include <e32base.h>
-
-#include <AiwGenericParam.hrh>
-#include <AiwCommon.hrh>
-
-#include <EPos_CPosLandmark.h>
-
-#include <mnmapview.h>
-
-#include "mnaiwdebug.h"
-#include "mnaiwinternal.h"
-#include "mnselectfrommaphandler.h"
-
-// ================= LOCAL FUNCTIONS =======================
-
-// ================= MEMBER FUNCTIONS =======================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnSelectFromMapHandler::CMnSelectFromMapHandler( CMnProvider& aProvider )
-:   CMnMapViewCmdHandlerBase( aProvider )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnSelectFromMapHandler* CMnSelectFromMapHandler::NewL( 
-    CMnProvider& aProvider,
-    TRunMode aRunMode )
-    {
-    CMnSelectFromMapHandler* self = 
-        new (ELeave) CMnSelectFromMapHandler( aProvider );
-    CleanupStack::PushL( self );        
-    self->ConstructL( aRunMode );
-    CleanupStack::Pop( self );        
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnSelectFromMapHandler::ConstructL( TRunMode aRunMode )
-    {
-    LOG("CMnSelectFromMapHandler::ConstructL in");
-
-    CMnMapViewCmdHandlerBase::ConstructL( aRunMode );
-
-    LOG("CMnSelectFromMapHandler::ConstructL out");
-    }
-
-// ================= INTERNAL FUNCTIONS =======================
-
-// -----------------------------------------------------------------------------
-//  From class CMnAiwCommandHandlerBase
-// -----------------------------------------------------------------------------
-//
-void CMnSelectFromMapHandler::DoStartL()
-    {
-    LOG("CMnSelectFromMapHandler::DoStartL in");
-    
-    MapView().SelectFromMapL( iStatus );
-    
-    LOG("CMnSelectFromMapHandler::DoStartL out");
-    }
-
-// -----------------------------------------------------------------------------
-//  From class CActive
-// -----------------------------------------------------------------------------
-//
-void CMnSelectFromMapHandler::RunL()
-    {
-    LOG("CMnSelectFromMapHandler::RunL in");
-    
-    TInt result = iStatus.Int();
-    if ( result == KErrNone )
-        {
-        // read selection result and put to AIW
-        switch ( MapView().SelectionResultType() )
-            {
-            case CMnMapView::ESelectionFreeLandmark:
-                LOG("CMnSelectFromMapHandler::RunL selected free");
-                {
-                CPosLandmark* lm = MapView().RetrieveSelectionResultL();
-                CleanupStack::PushL( lm );
-                WriteLandmarkL( *lm );
-                CleanupStack::PopAndDestroy( lm );
-                }
-                break;
-                
-            case CMnMapView::ESelectionLandmarkIndex:
-                LOG("CMnSelectFromMapHandler::RunL selected index");
-                {
-                TInt landmarkIndex( KErrNotFound );
-                MapView().RetrieveSelectionResultL( landmarkIndex );
-                LOG1("CMnSelectFromMapHandler::RunL selected index %d", landmarkIndex);
-
-                // find this landmark in input
-                TAiwGenericParam param;
-                if ( FindLandmarkData( landmarkIndex, param ) )
-                    {
-                    // give it back to client
-                    AiwParameters().OutList().AppendL( param );
-                    }
-                else    
-                    {
-                    result = KErrNotFound;
-                    }
-                }
-                break;
-                
-            case CMnMapView::ESelectionLinkedLandmark:
-                LOG("CMnSelectFromMapHandler::RunL selected linked");
-                {
-                TPosLmItemId lmId( KPosLmNullItemId );
-                HBufC* dbUri = NULL;
-                MapView().RetrieveSelectionResultL( lmId, dbUri );
-                CleanupStack::PushL( dbUri );
-                WriteLandmarkL( lmId, *dbUri );
-                CleanupStack::PopAndDestroy( dbUri );
-                }
-                break;
-                
-            default:
-                // Unknown result type
-                break;
-            }
-        }
-    Done( result );
-    LOG("CMnSelectFromMapHandler::RunL out");
-    }
-    
-// -----------------------------------------------------------------------------
-//  From class CActive
-// -----------------------------------------------------------------------------
-//
-void CMnSelectFromMapHandler::DoCancel()
-    {
-    MapView().Cancel();
-    }
-
-// -----------------------------------------------------------------------------
-//  From class CMnAiwCommandHandlerBase
-// -----------------------------------------------------------------------------
-//
-void CMnSelectFromMapHandler::HandleAiwParamL( const TAiwGenericParam& aParam )
-    {
-    switch ( aParam.SemanticId() )
-        {
-        case EGenericParamRequestText:
-            if ( aParam.Value().TypeId() == EVariantTypeDesC )
-                {
-                iMapView->SetCustomRequestTextL( aParam.Value().AsDes() );
-                }
-            else
-                {
-                User::Leave( KErrArgument );
-                }
-            break;
-
-        default:
-            CMnMapViewCmdHandlerBase::HandleAiwParamL( aParam );
-            break;
-        }
-    }
--- a/locationmapnavfw/aiwprovider/src/mnshowonmaphandler.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnShowOnMapHandler class implementation
-*
-*/
-
-
-#include <AiwGenericParam.hrh>
-#include <AiwCommon.hrh>
-
-#include <mnmapview.h>
-#include <mnprovider.h>
-
-#include "mnaiwdebug.h"
-#include "mnaiwinternal.h"
-#include "mnshowonmaphandler.h"
-
-// ================= LOCAL FUNCTIONS =======================
-
-// ================= MEMBER FUNCTIONS =======================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnShowOnMapHandler::CMnShowOnMapHandler( CMnProvider& aProvider )
-:   CMnMapViewCmdHandlerBase( aProvider  )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnShowOnMapHandler* CMnShowOnMapHandler::NewL( 
-    CMnProvider& aProvider, TRunMode aRunMode )
-    {
-    CMnShowOnMapHandler* self = new (ELeave) CMnShowOnMapHandler( aProvider );
-    CleanupStack::PushL( self );        
-    self->ConstructL( aRunMode );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ================= INTERNAL FUNCTIONS =======================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnShowOnMapHandler::ConstructL( TRunMode aRunMode )
-    {
-    LOG("CMnShowOnMapHandler::ConstructL in");
-
-    CMnMapViewCmdHandlerBase::ConstructL( aRunMode );
-    
-    LOG("CMnShowOnMapHandler::ConstructL out");
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnShowOnMapHandler::DoStartL()
-    {
-    LOG("CMnShowOnMapHandler::DoStartL in");
-    MapView().ShowMapL();
-    LOG("CMnShowOnMapHandler::DoStartL out");
-    }
Binary file locationmapnavfw/data/locationmnfwstub.sis has changed
--- a/locationmapnavfw/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Build information file for Map and Navigation Framework project
-*
-*/
-
-
-PRJ_PLATFORMS
-DEFAULT GCCE
-
-#include "../library/group/bld.inf"
-#include "../aiwprovider/group/bld.inf"
-
-PRJ_EXPORTS
-../data/locationmnfwstub.sis 				/epoc32/data/z/system/install/locationmnfwstub.sis
-
-../rom/locationmnfw.iby                     CORE_MW_LAYER_IBY_EXPORT_PATH(locationmnfw.iby)
-../rom/locationmnfw_resources.iby           LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(locationmnfw_resources.iby)
-../rom/locationmnfwstub.iby                 CORE_MW_LAYER_IBY_EXPORT_PATH(locationmnfwstub.iby)
--- a/locationmapnavfw/install/locationmnfwstub.pkg	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-;
-; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "Eclipse Public License v1.0"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description: Installation file for project locationmapnavfw
-;
-; Languages
-&EN
-
-; Header
-#{"LocationMapNavfw"}, (0x10206902), 1, 0, 0,TYPE=SA
-
-;Supports Series 60 v 3.0
-[0x101F7961], 0, 0, 0, {"Series60ProductID"}
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Files
-""     -"z:\sys\bin\mnclientlib.dll"
-""     -"z:\sys\bin\mnservicelib.dll "
-
-""     -"z:\sys\bin\mnaiwprovider.dll "
-""     -"z:\resource\plugins\mnaiwprovider.rsc"
\ No newline at end of file
--- a/locationmapnavfw/install/locationmnfwupgrade.pkg	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-;
-; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "Eclipse Public License v1.0"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description: Installation file for project locationmapnavfw used for upgrade
-;
-; Languages
-&EN
-
-; Header
-#{"LocationMapNavfw"}, (0x10206902), 1, 0, 0,TYPE=SA,RU
-
-;Supports Series 60 v 3.0
-[0x101F7961], 0, 0, 0, {"Series60ProductID"}
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Files
-"\Epoc32\release\armv5\urel\mnclientlib.dll"     -"!:\sys\bin\mnclientlib.dll"
-"\Epoc32\release\armv5\urel\mnservicelib.dll"     -"!:\sys\bin\mnservicelib.dll "
-
-"\Epoc32\release\armv5\urel\mnaiwprovider.dll"     -"!:\sys\bin\mnaiwprovider.dll "
-"\Epoc32\data\z\resource\plugins\mnaiwprovider.rsc"     -"!:\resource\plugins\mnaiwprovider.rsc"
-
-
-; End of File
\ No newline at end of file
--- a/locationmapnavfw/library/BWINS/mnclientlibu.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-EXPORTS              
-	??1CMnGeocoder@@UAE@XZ @ 1 NONAME ; CMnGeocoder::~CMnGeocoder(void)        
-	??1CMnMapView@@UAE@XZ @ 2 NONAME ; CMnMapView::~CMnMapView(void)        
-	??1CMnNavigator@@UAE@XZ @ 3 NONAME ; CMnNavigator::~CMnNavigator(void)        
-	??1CMnProvider@@UAE@XZ @ 4 NONAME ; CMnProvider::~CMnProvider(void)        
-	?AddLandmarksToShowL@CMnMapView@@QAEXAAV?$RArray@VTPtrC8@@@@@Z @ 5 NONAME ; void CMnMapView::AddLandmarksToShowL(class RArray<class TPtrC8> &)    
-	?AddLandmarksToShowL@CMnMapView@@QAEXAAV?$RPointerArray@VCPosLandmark@@@@@Z @ 6 NONAME ; void CMnMapView::AddLandmarksToShowL(class RPointerArray<class CPosLandmark> &)    
-	?AddLandmarksToShowL@CMnMapView@@QAEXABVTDesC16@@AAV?$RArray@K@@@Z @ 7 NONAME ; void CMnMapView::AddLandmarksToShowL(class TDesC16 const &, class RArray<unsigned long> &)
-	?Cancel@CMnGeocoder@@QAEXXZ @ 8 NONAME ; void CMnGeocoder::Cancel(void)       
-	?Cancel@CMnMapView@@QAEXXZ @ 9 NONAME ; void CMnMapView::Cancel(void)       
-	?CurrentLocationOption@CMnMapView@@QBE?AW4TCurrentLocationOption@1@XZ @ 10 NONAME ; enum CMnMapView::TCurrentLocationOption CMnMapView::CurrentLocationOption(void) const     
-	?FindAddressByCoordinateL@CMnGeocoder@@QAEXABVCPosLandmark@@AAVTRequestStatus@@@Z @ 11 NONAME ; void CMnGeocoder::FindAddressByCoordinateL(class CPosLandmark const &, class TRequestStatus &) 
-	?FindCoordinateByAddressL@CMnGeocoder@@QAEXABVCPosLandmark@@AAVTRequestStatus@@@Z @ 12 NONAME ; void CMnGeocoder::FindCoordinateByAddressL(class CPosLandmark const &, class TRequestStatus &) 
-	?FindCoordinateByAddressL@CMnGeocoder@@QAEXABVTDesC16@@AAVTRequestStatus@@@Z @ 13 NONAME ; void CMnGeocoder::FindCoordinateByAddressL(class TDesC16 const &, class TRequestStatus &) 
-	?FindProvidersL@MnProviderFinder@@SAXAAV?$RPointerArray@VCMnProvider@@@@@Z @ 14 NONAME ; void MnProviderFinder::FindProvidersL(class RPointerArray<class CMnProvider> &)    
-	?FindProvidersL@MnProviderFinder@@SAXAAV?$RPointerArray@VCMnProvider@@@@K@Z @ 15 NONAME ; void MnProviderFinder::FindProvidersL(class RPointerArray<class CMnProvider> &, unsigned long)  
-	?GetName@CMnProvider@@QBEXAAVTPtrC16@@@Z @ 16 NONAME ; void CMnProvider::GetName(class TPtrC16 &) const 
-	?GetShortName@CMnProvider@@QBEXAAVTPtrC16@@@Z @ 17 NONAME ; void CMnProvider::GetShortName(class TPtrC16 &) const 
-	?GetVendorName@CMnProvider@@QBEXAAVTPtrC16@@@Z @ 18 NONAME ; void CMnProvider::GetVendorName(class TPtrC16 &) const 
-	?NavigateToL@CMnNavigator@@QAEXABVCPosLandmark@@@Z @ 19 NONAME ; void CMnNavigator::NavigateToL(class CPosLandmark const &) 
-	?NewChainedL@CMnGeocoder@@SAPAV1@AAVCMnProvider@@@Z @ 20 NONAME ; class CMnGeocoder * CMnGeocoder::NewChainedL(class CMnProvider &)
-	?NewChainedL@CMnMapView@@SAPAV1@AAVCMnProvider@@@Z @ 21 NONAME ; class CMnMapView * CMnMapView::NewChainedL(class CMnProvider &)
-	?NewChainedL@CMnNavigator@@SAPAV1@AAVCMnProvider@@@Z @ 22 NONAME ; class CMnNavigator * CMnNavigator::NewChainedL(class CMnProvider &)
-	?NewL@CMnGeocoder@@SAPAV1@AAVCMnProvider@@@Z @ 23 NONAME ; class CMnGeocoder * CMnGeocoder::NewL(class CMnProvider &)
-	?NewL@CMnMapView@@SAPAV1@AAVCMnProvider@@@Z @ 24 NONAME ; class CMnMapView * CMnMapView::NewL(class CMnProvider &)
-	?NewL@CMnNavigator@@SAPAV1@AAVCMnProvider@@@Z @ 25 NONAME ; class CMnNavigator * CMnNavigator::NewL(class CMnProvider &)
-	?Options@CMnGeocoder@@QBEKXZ @ 26 NONAME ; unsigned long CMnGeocoder::Options(void) const  
-	?Options@CMnMapView@@QBEKXZ @ 27 NONAME ; unsigned long CMnMapView::Options(void) const  
-	?ResetLandmarksToShow@CMnMapView@@QAEXXZ @ 28 NONAME ; void CMnMapView::ResetLandmarksToShow(void)    
-	?ResetMapArea@CMnMapView@@QAEXXZ @ 29 NONAME ; void CMnMapView::ResetMapArea(void)    
-	?RetrieveGeocodingResultL@CMnGeocoder@@QAEXAAVCPosLandmark@@@Z @ 30 NONAME ; void CMnGeocoder::RetrieveGeocodingResultL(class CPosLandmark &)  
-	?RetrieveSelectionResultL@CMnMapView@@QAEPAVCPosLandmark@@XZ @ 31 NONAME ; class CPosLandmark * CMnMapView::RetrieveSelectionResultL(void)  
-	?RetrieveSelectionResultL@CMnMapView@@QAEXAAH@Z @ 32 NONAME ; void CMnMapView::RetrieveSelectionResultL(int &)     
-	?RetrieveSelectionResultL@CMnMapView@@QAEXAAKAAPAVHBufC16@@@Z @ 33 NONAME ; void CMnMapView::RetrieveSelectionResultL(unsigned long &, class HBufC16 * &)
-	?SelectFromMapL@CMnMapView@@QAEXAAVTRequestStatus@@@Z @ 34 NONAME ; void CMnMapView::SelectFromMapL(class TRequestStatus &)    
-	?SelectionResultType@CMnMapView@@QBE?AW4TSelectionResultType@1@XZ @ 35 NONAME ; enum CMnMapView::TSelectionResultType CMnMapView::SelectionResultType(void) const    
-	?ServiceUid@RMnGeocodingServiceClient@@EBE?AVTUid@@XZ @ 36 NONAME ; class TUid RMnGeocodingServiceClient::ServiceUid(void) const    
-	?SetCurrentLocationOption@CMnMapView@@QAEXW4TCurrentLocationOption@1@@Z @ 37 NONAME ; void CMnMapView::SetCurrentLocationOption(enum CMnMapView::TCurrentLocationOption)     
-	?SetCustomRequestTextL@CMnMapView@@QAEXABVTDesC16@@@Z @ 38 NONAME ; void CMnMapView::SetCustomRequestTextL(class TDesC16 const &)   
-	?SetMapAreaL@CMnMapView@@QAEXABVTCoordinate@@N@Z @ 39 NONAME ; void CMnMapView::SetMapAreaL(class TCoordinate const &, double)  
-	?SetOptions@CMnGeocoder@@QAEXK@Z @ 40 NONAME ; void CMnGeocoder::SetOptions(unsigned long)     
-	?SetOptions@CMnMapView@@QAEXK@Z @ 41 NONAME ; void CMnMapView::SetOptions(unsigned long)     
-	?SetUseDefaultRequestText@CMnMapView@@QAEXXZ @ 42 NONAME ; void CMnMapView::SetUseDefaultRequestText(void)      
-	?ShowCurrentLocationL@CMnMapView@@QAEXXZ @ 43 NONAME ; void CMnMapView::ShowCurrentLocationL(void)      
-	?ShowMapL@CMnMapView@@QAEXXZ @ 44 NONAME ; void CMnMapView::ShowMapL(void)      
-	?SupportedFeatures@CMnProvider@@UBEKW4TService@1@@Z @ 45 NONAME ; unsigned long CMnProvider::SupportedFeatures(enum CMnProvider::TService) const   
-	?SupportedServices@CMnProvider@@QBEKXZ @ 46 NONAME ; unsigned long CMnProvider::SupportedServices(void) const    
-	?Uid@CMnProvider@@QBE?AVTUid@@XZ @ 47 NONAME ; class TUid CMnProvider::Uid(void) const    
-	?Version@CMnProvider@@QBE?AVTVersion@@XZ @ 48 NONAME ; class TVersion CMnProvider::Version(void) const       
-	?FindLocalizedResourceFileL@MnUtils@@SAXAAVRFs@@ABVTDesC16@@AAV?$TBuf@$0BAA@@@@Z @ 49 NONAME ; void MnUtils::FindLocalizedResourceFileL(class RFs &, class TDesC16 const &, class TBuf<256> &)
-	?FindResourceFileL@MnUtils@@SAXAAVRFs@@ABVTDesC16@@AAV?$TBuf@$0BAA@@@@Z @ 50 NONAME ; void MnUtils::FindResourceFileL(class RFs &, class TDesC16 const &, class TBuf<256> &)
-	?SetExitObserverL@CMnGeocoder@@QAEXAAVMAknServerAppExitObserver@@@Z @ 51 NONAME ; void CMnGeocoder::SetExitObserverL(class MAknServerAppExitObserver &)       
-	?SetExitObserverL@CMnMapView@@QAEXAAVMAknServerAppExitObserver@@@Z @ 52 NONAME ; void CMnMapView::SetExitObserverL(class MAknServerAppExitObserver &)       
-	?SetExitObserverL@CMnNavigator@@QAEXAAVMAknServerAppExitObserver@@@Z @ 53 NONAME ; void CMnNavigator::SetExitObserverL(class MAknServerAppExitObserver &)       
-	?RemoveExitObserver@CMnGeocoder@@QAEXXZ @ 54 NONAME ; void CMnGeocoder::RemoveExitObserver(void)         
-	?RemoveExitObserver@CMnMapView@@QAEXXZ @ 55 NONAME ; void CMnMapView::RemoveExitObserver(void)         
-	?RemoveExitObserver@CMnNavigator@@QAEXXZ @ 56 NONAME ; void CMnNavigator::RemoveExitObserver(void)         
-	??0TMnMapImageParams@@QAE@XZ @ 57 NONAME ; TMnMapImageParams::TMnMapImageParams(void)
-	??1CMnMapImage@@UAE@XZ @ 58 NONAME ; CMnMapImage::~CMnMapImage(void)
-	?CancelRendering@CMnMapImage@@QAEXXZ @ 59 NONAME ; void CMnMapImage::CancelRendering(void)
-	?GetImageCoordinate@CMnMapImage@@QBEHABVTCoordinate@@AAVTPoint@@@Z @ 60 NONAME ; int CMnMapImage::GetImageCoordinate(class TCoordinate const &, class TPoint &) const
-	?GetWorldCoordinate@CMnMapImage@@QBEHABVTPoint@@AAVTCoordinate@@@Z @ 61 NONAME ; int CMnMapImage::GetWorldCoordinate(class TPoint const &, class TCoordinate &) const
-	?MapImageParams@CMnMapImage@@QAEAAVTMnMapImageParams@@XZ @ 62 NONAME ; class TMnMapImageParams & CMnMapImage::MapImageParams(void)
-	?MapImageParams@CMnMapImage@@QBEABVTMnMapImageParams@@XZ @ 63 NONAME ; class TMnMapImageParams const & CMnMapImage::MapImageParams(void) const
-	?NewL@CMnMapImage@@SAPAV1@AAVCMnProvider@@@Z @ 64 NONAME ; class CMnMapImage * CMnMapImage::NewL(class CMnProvider &)
-	?RenderL@CMnMapImage@@QAEXAAVCFbsBitmap@@AAVMMnMapImageRenderCallback@@@Z @ 65 NONAME ; void CMnMapImage::RenderL(class CFbsBitmap &, class MMnMapImageRenderCallback &)
-	?RenderL@CMnMapImage@@QAEXAAVCFbsBitmap@@AAVTRequestStatus@@@Z @ 66 NONAME ; void CMnMapImage::RenderL(class CFbsBitmap &, class TRequestStatus &)
-	?ServiceUid@RMnMapImageServiceClient@@EBE?AVTUid@@XZ @ 67 NONAME ; class TUid RMnMapImageServiceClient::ServiceUid(void) const
-	?SetMapImageParams@CMnMapImage@@QAEXAAVTMnMapImageParams@@@Z @ 68 NONAME ; void CMnMapImage::SetMapImageParams(class TMnMapImageParams &)
-	?SetShowOptions@CMnMapImage@@QAEXABK@Z @ 69 NONAME ; void CMnMapImage::SetShowOptions(unsigned long const &)
-	?SetTargetOrigin@CMnMapImage@@QAEXABVTPoint@@@Z @ 70 NONAME ; void CMnMapImage::SetTargetOrigin(class TPoint const &)
-	?ShowOptions@CMnMapImage@@QBEKXZ @ 71 NONAME ; unsigned long CMnMapImage::ShowOptions(void) const
-	?SupportedImageTypes@CMnMapImage@@QAEKXZ @ 72 NONAME ; unsigned long CMnMapImage::SupportedImageTypes(void)
-	?TargetOrigin@CMnMapImage@@QAE?AVTPoint@@XZ @ 73 NONAME ; class TPoint CMnMapImage::TargetOrigin(void)
-	?MapImageParams@CMnCoordinateConverterBase@@QBEABVTMnMapImageParams@@XZ @ 74 NONAME ; class TMnMapImageParams const & CMnCoordinateConverterBase::MapImageParams(void) const
-	??0CMnCoordinateConverterBase@@IAE@XZ @ 75 NONAME ; CMnCoordinateConverterBase::CMnCoordinateConverterBase(void)
-	??1CMnCoordinateConverterBase@@UAE@XZ @ 76 NONAME ; CMnCoordinateConverterBase::~CMnCoordinateConverterBase(void)
-	?RemoveExitObserver@CMnMapImage@@QAEXXZ @ 77 NONAME ; void CMnMapImage::RemoveExitObserver(void)
-	?SetExitObserverL@CMnMapImage@@QAEXAAVMAknServerAppExitObserver@@@Z @ 78 NONAME ; void CMnMapImage::SetExitObserverL(class MAknServerAppExitObserver &)
-
--- a/locationmapnavfw/library/BWINS/mnservicelibu.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-EXPORTS
-	??0CMnGeocodingServiceBase@@IAE@XZ @ 1 NONAME ; CMnGeocodingServiceBase::CMnGeocodingServiceBase(void)
-	??0CMnMapViewServiceBase@@IAE@XZ @ 2 NONAME ; CMnMapViewServiceBase::CMnMapViewServiceBase(void)
-	??0CMnNavigationServiceBase@@IAE@XZ @ 3 NONAME ; CMnNavigationServiceBase::CMnNavigationServiceBase(void)
-	??1CMnGeocodingServiceBase@@MAE@XZ @ 4 NONAME ; CMnGeocodingServiceBase::~CMnGeocodingServiceBase(void)
-	??1CMnMapViewServiceBase@@MAE@XZ @ 5 NONAME ; CMnMapViewServiceBase::~CMnMapViewServiceBase(void)
-	??1CMnNavigationServiceBase@@MAE@XZ @ 6 NONAME ; CMnNavigationServiceBase::~CMnNavigationServiceBase(void)
-	?AreaRadius@CMnMapViewServiceBase@@QAENXZ @ 7 NONAME ; double CMnMapViewServiceBase::AreaRadius(void)
-	?BaseConstructL@CMnGeocodingServiceBase@@IAEXXZ @ 8 NONAME ; void CMnGeocodingServiceBase::BaseConstructL(void)
-	?BaseConstructL@CMnMapViewServiceBase@@IAEXXZ @ 9 NONAME ; void CMnMapViewServiceBase::BaseConstructL(void)
-	?BaseConstructL@CMnNavigationServiceBase@@IAEXXZ @ 10 NONAME ; void CMnNavigationServiceBase::BaseConstructL(void)
-	?CompleteGeocodingRequestL@CMnGeocodingServiceBase@@QAEXABVCPosLandmark@@@Z @ 11 NONAME ; void CMnGeocodingServiceBase::CompleteGeocodingRequestL(class CPosLandmark const &)
-	?CompleteRequest@CMnServiceBase@@QAEXH@Z @ 12 NONAME ; void CMnServiceBase::CompleteRequest(int)
-	?CompleteSelectionRequest@CMnMapViewServiceBase@@QAEXH@Z @ 13 NONAME ; void CMnMapViewServiceBase::CompleteSelectionRequest(int)
-	?CompleteSelectionRequest@CMnMapViewServiceBase@@QAEXKH@Z @ 14 NONAME ; void CMnMapViewServiceBase::CompleteSelectionRequest(unsigned long, int)
-	?CompleteSelectionRequestL@CMnMapViewServiceBase@@QAEXABVCPosLandmark@@@Z @ 15 NONAME ; void CMnMapViewServiceBase::CompleteSelectionRequestL(class CPosLandmark const &)
-	?CurrentLocationOption@CMnMapViewServiceBase@@QAE?AW4TCurrentLocationOption@CMnMapView@@XZ @ 16 NONAME ; enum CMnMapView::TCurrentLocationOption CMnMapViewServiceBase::CurrentLocationOption(void)
-	?GetAreaCentralPoint@CMnMapViewServiceBase@@QAEXAAVTCoordinate@@@Z @ 17 NONAME ; void CMnMapViewServiceBase::GetAreaCentralPoint(class TCoordinate &)
-	?IsAreaCentralPointSet@CMnMapViewServiceBase@@QAEHXZ @ 18 NONAME ; int CMnMapViewServiceBase::IsAreaCentralPointSet(void)
-	?LandmarksToShow@CMnMapViewServiceBase@@QAE?AV?$TArray@PB$$CBVCPosLandmark@@@@XZ @ 19 NONAME ; class TArray<class CPosLandmark const *> CMnMapViewServiceBase::LandmarksToShow(void)
-	?LandmarksToShowDatabases@CMnMapViewServiceBase@@QAE?AV?$TArray@PB$$CBVHBufC16@@@@XZ @ 20 NONAME ; class TArray<class HBufC16 const *> CMnMapViewServiceBase::LandmarksToShowDatabases(void)
-	?LinkedLandmarksToShow@CMnMapViewServiceBase@@QAE?AV?$TArray@K@@H@Z @ 21 NONAME ; class TArray<unsigned long> CMnMapViewServiceBase::LinkedLandmarksToShow(int)
-	?Options@CMnGeocodingServiceBase@@QBEKXZ @ 22 NONAME ; unsigned long CMnGeocodingServiceBase::Options(void) const
-	?Options@CMnMapViewServiceBase@@QAEKXZ @ 23 NONAME ; unsigned long CMnMapViewServiceBase::Options(void)
-	?SelectionRequestText@CMnMapViewServiceBase@@QAE?AVTPtrC16@@XZ @ 24 NONAME ; class TPtrC16 CMnMapViewServiceBase::SelectionRequestText(void)
-	?ServiceError@CMnServiceBase@@MAEXABVRMessage2@@H@Z @ 25 NONAME ; void CMnServiceBase::ServiceError(class RMessage2 const &, int)
-	?ServiceL@CMnGeocodingServiceBase@@MAEXABVRMessage2@@@Z @ 26 NONAME ; void CMnGeocodingServiceBase::ServiceL(class RMessage2 const &)
-	?ServiceL@CMnMapViewServiceBase@@MAEXABVRMessage2@@@Z @ 27 NONAME ; void CMnMapViewServiceBase::ServiceL(class RMessage2 const &)
-	?ServiceL@CMnNavigationServiceBase@@MAEXABVRMessage2@@@Z @ 28 NONAME ; void CMnNavigationServiceBase::ServiceL(class RMessage2 const &)
-	??0CMnMapImageServiceBase@@IAE@XZ @ 29 NONAME ; CMnMapImageServiceBase::CMnMapImageServiceBase(void)
-	??1CMnMapImageServiceBase@@MAE@XZ @ 30 NONAME ; CMnMapImageServiceBase::~CMnMapImageServiceBase(void)
-	?BaseConstructL@CMnMapImageServiceBase@@IAEXXZ @ 31 NONAME ; void CMnMapImageServiceBase::BaseConstructL(void)
-	?CompleteRendering@CMnMapImageServiceBase@@QAEXXZ @ 32 NONAME ; void CMnMapImageServiceBase::CompleteRendering(void)
-	?MapImageParams@CMnMapImageServiceBase@@QAEAAVTMnMapImageParams@@XZ @ 33 NONAME ; class TMnMapImageParams & CMnMapImageServiceBase::MapImageParams(void)
-	?MapImageParams@CMnMapImageServiceBase@@QBEABVTMnMapImageParams@@XZ @ 34 NONAME ; class TMnMapImageParams const & CMnMapImageServiceBase::MapImageParams(void) const
-	?ServiceL@CMnMapImageServiceBase@@MAEXABVRMessage2@@@Z @ 35 NONAME ; void CMnMapImageServiceBase::ServiceL(class RMessage2 const &)
-	?SetMapImageParams@CMnMapImageServiceBase@@QAEXABVTMnMapImageParams@@@Z @ 36 NONAME ; void CMnMapImageServiceBase::SetMapImageParams(class TMnMapImageParams const &)
-	?ShowOptions@CMnMapImageServiceBase@@QBEKXZ @ 37 NONAME ; unsigned long CMnMapImageServiceBase::ShowOptions(void) const
-	?TargetBitmap@CMnMapImageServiceBase@@QBEAAVCFbsBitmap@@XZ @ 38 NONAME ; class CFbsBitmap & CMnMapImageServiceBase::TargetBitmap(void) const
-	?TargetRect@CMnMapImageServiceBase@@QBE?AVTRect@@XZ @ 39 NONAME ; class TRect CMnMapImageServiceBase::TargetRect(void) const
-
--- a/locationmapnavfw/library/data/mnclientlib.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Resource definitions for Map and Navigation Library
-*
-*/
-
-
-#include <eikon.rh>
-
-NAME MNLB
-RESOURCE RSS_SIGNATURE { }
-RESOURCE TBUF { buf=""; }
-
-#include <mnclientlib.loc>
-
-// ---------------------------------------------------------------------------
-// r_mn_library_request_text
-// Select From Map request localized string
-// ---------------------------------------------------------------------------
-//
-RESOURCE LBUF r_mn_library_request_text
-    {
-    txt = qtn_mnn_select_from_map;
-    }
--- a/locationmapnavfw/library/eabi/mnclientlibu.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-EXPORTS
-	_ZN10CMnMapView10SetOptionsEm @ 1 NONAME
-	_ZN10CMnMapView11NewChainedLER11CMnProvider @ 2 NONAME
-	_ZN10CMnMapView11SetMapAreaLERK11TCoordinated @ 3 NONAME
-	_ZN10CMnMapView12ResetMapAreaEv @ 4 NONAME
-	_ZN10CMnMapView14SelectFromMapLER14TRequestStatus @ 5 NONAME
-	_ZN10CMnMapView19AddLandmarksToShowLER13RPointerArrayI12CPosLandmarkE @ 6 NONAME
-	_ZN10CMnMapView19AddLandmarksToShowLER6RArrayI6TPtrC8E @ 7 NONAME
-	_ZN10CMnMapView19AddLandmarksToShowLERK7TDesC16R6RArrayImE @ 8 NONAME
-	_ZNK10CMnMapView19SelectionResultTypeEv @ 9 NONAME
-	_ZN10CMnMapView20ResetLandmarksToShowEv @ 10 NONAME
-	_ZN10CMnMapView20ShowCurrentLocationLEv @ 11 NONAME
-	_ZNK10CMnMapView21CurrentLocationOptionEv @ 12 NONAME
-	_ZN10CMnMapView21SetCustomRequestTextLERK7TDesC16 @ 13 NONAME
-	_ZN10CMnMapView24RetrieveSelectionResultLERi @ 14 NONAME
-	_ZN10CMnMapView24RetrieveSelectionResultLERmRP7HBufC16 @ 15 NONAME
-	_ZN10CMnMapView24RetrieveSelectionResultLEv @ 16 NONAME
-	_ZN10CMnMapView24SetCurrentLocationOptionENS_22TCurrentLocationOptionE @ 17 NONAME
-	_ZN10CMnMapView24SetUseDefaultRequestTextEv @ 18 NONAME
-	_ZN10CMnMapView4NewLER11CMnProvider @ 19 NONAME
-	_ZN10CMnMapView6CancelEv @ 20 NONAME
-	_ZNK10CMnMapView7OptionsEv @ 21 NONAME
-	_ZN10CMnMapView8ShowMapLEv @ 22 NONAME
-	_ZN10CMnMapViewD0Ev @ 23 NONAME
-	_ZN10CMnMapViewD1Ev @ 24 NONAME
-	_ZN10CMnMapViewD2Ev @ 25 NONAME
-	_ZN11CMnGeocoder10SetOptionsEm @ 26 NONAME
-	_ZN11CMnGeocoder11NewChainedLER11CMnProvider @ 27 NONAME
-	_ZN11CMnGeocoder24FindAddressByCoordinateLERK12CPosLandmarkR14TRequestStatus @ 28 NONAME
-	_ZN11CMnGeocoder24FindCoordinateByAddressLERK12CPosLandmarkR14TRequestStatus @ 29 NONAME
-	_ZN11CMnGeocoder24FindCoordinateByAddressLERK7TDesC16R14TRequestStatus @ 30 NONAME
-	_ZN11CMnGeocoder24RetrieveGeocodingResultLER12CPosLandmark @ 31 NONAME
-	_ZN11CMnGeocoder4NewLER11CMnProvider @ 32 NONAME
-	_ZN11CMnGeocoder6CancelEv @ 33 NONAME
-	_ZNK11CMnGeocoder7OptionsEv @ 34 NONAME
-	_ZN11CMnGeocoderD0Ev @ 35 NONAME
-	_ZN11CMnGeocoderD1Ev @ 36 NONAME
-	_ZN11CMnGeocoderD2Ev @ 37 NONAME
-	_ZN11CMnProviderD0Ev @ 38 NONAME
-	_ZN11CMnProviderD1Ev @ 39 NONAME
-	_ZN11CMnProviderD2Ev @ 40 NONAME
-	_ZN12CMnNavigator11NavigateToLERK12CPosLandmark @ 41 NONAME
-	_ZN12CMnNavigator11NewChainedLER11CMnProvider @ 42 NONAME
-	_ZN12CMnNavigator4NewLER11CMnProvider @ 43 NONAME
-	_ZN12CMnNavigatorD0Ev @ 44 NONAME
-	_ZN12CMnNavigatorD1Ev @ 45 NONAME
-	_ZN12CMnNavigatorD2Ev @ 46 NONAME
-	_ZN16MnProviderFinder14FindProvidersLER13RPointerArrayI11CMnProviderE @ 47 NONAME
-	_ZN16MnProviderFinder14FindProvidersLER13RPointerArrayI11CMnProviderEm @ 48 NONAME
-	_ZNK11CMnProvider12GetShortNameER7TPtrC16 @ 49 NONAME
-	_ZNK11CMnProvider13GetVendorNameER7TPtrC16 @ 50 NONAME
-	_ZNK11CMnProvider17SupportedFeaturesENS_8TServiceE @ 51 NONAME
-	_ZNK11CMnProvider17SupportedServicesEv @ 52 NONAME
-	_ZNK11CMnProvider3UidEv @ 53 NONAME
-	_ZNK11CMnProvider7GetNameER7TPtrC16 @ 54 NONAME
-	_ZNK11CMnProvider7VersionEv @ 55 NONAME
-	_ZNK25RMnGeocodingServiceClient10ServiceUidEv @ 56 NONAME
-	_ZTI10CMnMapView @ 57 NONAME ; #<TI>#
-	_ZTI11CMnGeocoder @ 58 NONAME ; #<TI>#
-	_ZTI11CMnProvider @ 59 NONAME ; #<TI>#
-	_ZTI12CMnNavigator @ 60 NONAME ; #<TI>#
-	_ZTV10CMnMapView @ 61 NONAME ; #<VT>#
-	_ZTV11CMnGeocoder @ 62 NONAME ; #<VT>#
-	_ZTV11CMnProvider @ 63 NONAME ; #<VT>#
-	_ZTV12CMnNavigator @ 64 NONAME ; #<VT>#
-	_ZN7MnUtils26FindLocalizedResourceFileLER3RFsRK7TDesC16R4TBufILi256EE @ 65 NONAME
-	_ZN7MnUtils17FindResourceFileLER3RFsRK7TDesC16R4TBufILi256EE @ 66 NONAME
-	_ZN10CMnMapView16SetExitObserverLER25MAknServerAppExitObserver @ 67 NONAME
-	_ZN10CMnMapView18RemoveExitObserverEv @ 68 NONAME
-	_ZN11CMnGeocoder16SetExitObserverLER25MAknServerAppExitObserver @ 69 NONAME
-	_ZN11CMnGeocoder18RemoveExitObserverEv @ 70 NONAME
-	_ZN12CMnNavigator16SetExitObserverLER25MAknServerAppExitObserver @ 71 NONAME
-	_ZN12CMnNavigator18RemoveExitObserverEv @ 72 NONAME
-	_ZN11CMnMapImage12TargetOriginEv @ 73 NONAME
-	_ZN11CMnMapImage14MapImageParamsEv @ 74 NONAME
-	_ZN11CMnMapImage14SetShowOptionsERKm @ 75 NONAME
-	_ZN11CMnMapImage15CancelRenderingEv @ 76 NONAME
-	_ZN11CMnMapImage15SetTargetOriginERK6TPoint @ 77 NONAME
-	_ZN11CMnMapImage17SetMapImageParamsER17TMnMapImageParams @ 78 NONAME
-	_ZN11CMnMapImage19SupportedImageTypesEv @ 79 NONAME
-	_ZN11CMnMapImage4NewLER11CMnProvider @ 80 NONAME
-	_ZN11CMnMapImage7RenderLER10CFbsBitmapR14TRequestStatus @ 81 NONAME
-	_ZN11CMnMapImage7RenderLER10CFbsBitmapR25MMnMapImageRenderCallback @ 82 NONAME
-	_ZN11CMnMapImageD0Ev @ 83 NONAME
-	_ZN11CMnMapImageD1Ev @ 84 NONAME
-	_ZN11CMnMapImageD2Ev @ 85 NONAME
-	_ZN17TMnMapImageParamsC1Ev @ 86 NONAME
-	_ZN17TMnMapImageParamsC2Ev @ 87 NONAME
-	_ZNK11CMnMapImage11ShowOptionsEv @ 88 NONAME
-	_ZNK11CMnMapImage14MapImageParamsEv @ 89 NONAME
-	_ZNK11CMnMapImage18GetImageCoordinateERK11TCoordinateR6TPoint @ 90 NONAME
-	_ZNK11CMnMapImage18GetWorldCoordinateERK6TPointR11TCoordinate @ 91 NONAME
-	_ZNK24RMnMapImageServiceClient10ServiceUidEv @ 92 NONAME
-	_ZTI11CMnMapImage @ 93 NONAME ; #<TI>#
-	_ZTV11CMnMapImage @ 94 NONAME ; #<VT>#
-	_ZN11CMnMapImage16SetExitObserverLER25MAknServerAppExitObserver @ 95 NONAME
-	_ZN11CMnMapImage18RemoveExitObserverEv @ 96 NONAME
-	_ZN26CMnCoordinateConverterBaseC2Ev @ 97 NONAME
-	_ZN26CMnCoordinateConverterBaseD0Ev @ 98 NONAME
-	_ZN26CMnCoordinateConverterBaseD1Ev @ 99 NONAME
-	_ZN26CMnCoordinateConverterBaseD2Ev @ 100 NONAME
-	_ZNK26CMnCoordinateConverterBase14MapImageParamsEv @ 101 NONAME
-	_ZTI26CMnCoordinateConverterBase @ 102 NONAME ; #<TI>#
-	_ZTV26CMnCoordinateConverterBase @ 103 NONAME ; #<VT>#
-
--- a/locationmapnavfw/library/eabi/mnservicelibu.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-EXPORTS
-	_ZN14CMnServiceBase12ServiceErrorERK9RMessage2i @ 1 NONAME
-	_ZN14CMnServiceBase15CompleteRequestEi @ 2 NONAME
-	_ZN21CMnMapViewServiceBase10AreaRadiusEv @ 3 NONAME
-	_ZN21CMnMapViewServiceBase14BaseConstructLEv @ 4 NONAME
-	_ZN21CMnMapViewServiceBase15LandmarksToShowEv @ 5 NONAME
-	_ZN21CMnMapViewServiceBase19GetAreaCentralPointER11TCoordinate @ 6 NONAME
-	_ZN21CMnMapViewServiceBase20SelectionRequestTextEv @ 7 NONAME
-	_ZN21CMnMapViewServiceBase21CurrentLocationOptionEv @ 8 NONAME
-	_ZN21CMnMapViewServiceBase21IsAreaCentralPointSetEv @ 9 NONAME
-	_ZN21CMnMapViewServiceBase21LinkedLandmarksToShowEi @ 10 NONAME
-	_ZN21CMnMapViewServiceBase24CompleteSelectionRequestEi @ 11 NONAME
-	_ZN21CMnMapViewServiceBase24CompleteSelectionRequestEmi @ 12 NONAME
-	_ZN21CMnMapViewServiceBase24LandmarksToShowDatabasesEv @ 13 NONAME
-	_ZN21CMnMapViewServiceBase25CompleteSelectionRequestLERK12CPosLandmark @ 14 NONAME
-	_ZN21CMnMapViewServiceBase7OptionsEv @ 15 NONAME
-	_ZN21CMnMapViewServiceBase8ServiceLERK9RMessage2 @ 16 NONAME
-	_ZN21CMnMapViewServiceBaseC2Ev @ 17 NONAME
-	_ZN21CMnMapViewServiceBaseD0Ev @ 18 NONAME
-	_ZN21CMnMapViewServiceBaseD1Ev @ 19 NONAME
-	_ZN21CMnMapViewServiceBaseD2Ev @ 20 NONAME
-	_ZN23CMnGeocodingServiceBase14BaseConstructLEv @ 21 NONAME
-	_ZN23CMnGeocodingServiceBase25CompleteGeocodingRequestLERK12CPosLandmark @ 22 NONAME
-	_ZN23CMnGeocodingServiceBase8ServiceLERK9RMessage2 @ 23 NONAME
-	_ZN23CMnGeocodingServiceBaseC2Ev @ 24 NONAME
-	_ZN23CMnGeocodingServiceBaseD0Ev @ 25 NONAME
-	_ZN23CMnGeocodingServiceBaseD1Ev @ 26 NONAME
-	_ZN23CMnGeocodingServiceBaseD2Ev @ 27 NONAME
-	_ZN24CMnNavigationServiceBase14BaseConstructLEv @ 28 NONAME
-	_ZN24CMnNavigationServiceBase8ServiceLERK9RMessage2 @ 29 NONAME
-	_ZN24CMnNavigationServiceBaseC2Ev @ 30 NONAME
-	_ZN24CMnNavigationServiceBaseD0Ev @ 31 NONAME
-	_ZN24CMnNavigationServiceBaseD1Ev @ 32 NONAME
-	_ZN24CMnNavigationServiceBaseD2Ev @ 33 NONAME
-	_ZNK23CMnGeocodingServiceBase7OptionsEv @ 34 NONAME
-	_ZTI14CMnServiceBase @ 35 NONAME ; #<TI>#
-	_ZTI21CMnMapViewServiceBase @ 36 NONAME ; #<TI>#
-	_ZTI23CMnGeocodingServiceBase @ 37 NONAME ; #<TI>#
-	_ZTI24CMnNavigationServiceBase @ 38 NONAME ; #<TI>#
-	_ZTIN21CMnMapViewServiceBase20CLinkedLandmarksListE @ 39 NONAME ; #<TI>#
-	_ZTV14CMnServiceBase @ 40 NONAME ; #<VT>#
-	_ZTV21CMnMapViewServiceBase @ 41 NONAME ; #<VT>#
-	_ZTV23CMnGeocodingServiceBase @ 42 NONAME ; #<VT>#
-	_ZTV24CMnNavigationServiceBase @ 43 NONAME ; #<VT>#
-	_ZTVN21CMnMapViewServiceBase20CLinkedLandmarksListE @ 44 NONAME ; #<VT>#
-	_ZN22CMnMapImageServiceBase14BaseConstructLEv @ 45 NONAME
-	_ZN22CMnMapImageServiceBase14MapImageParamsEv @ 46 NONAME
-	_ZN22CMnMapImageServiceBase17CompleteRenderingEv @ 47 NONAME
-	_ZN22CMnMapImageServiceBase17SetMapImageParamsERK17TMnMapImageParams @ 48 NONAME
-	_ZN22CMnMapImageServiceBase8ServiceLERK9RMessage2 @ 49 NONAME
-	_ZN22CMnMapImageServiceBaseC2Ev @ 50 NONAME
-	_ZN22CMnMapImageServiceBaseD0Ev @ 51 NONAME
-	_ZN22CMnMapImageServiceBaseD1Ev @ 52 NONAME
-	_ZN22CMnMapImageServiceBaseD2Ev @ 53 NONAME
-	_ZNK22CMnMapImageServiceBase10TargetRectEv @ 54 NONAME
-	_ZNK22CMnMapImageServiceBase11ShowOptionsEv @ 55 NONAME
-	_ZNK22CMnMapImageServiceBase12TargetBitmapEv @ 56 NONAME
-	_ZNK22CMnMapImageServiceBase14MapImageParamsEv @ 57 NONAME
-	_ZTI22CMnMapImageServiceBase @ 58 NONAME ; #<TI>#
-	_ZTV22CMnMapImageServiceBase @ 59 NONAME ; #<VT>#
-
--- a/locationmapnavfw/library/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Build information file for Map and Navigation Framework project
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../../loc/mnclientlib.loc                   MW_LAYER_LOC_EXPORT_PATH(mnclientlib.loc)
-
-// SDK APIs
-
-// Domain APIs
-
-// Private APIs
-../inc/mnutils.h                            |../../inc/mnutils.h
-
-PRJ_MMPFILES
-mnclientlib.mmp
-mnservicelib.mmp
--- a/locationmapnavfw/library/group/mnclientlib.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Project definition file for client side of Library
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-TARGET          mnclientlib.dll
-TARGETTYPE      dll
-UID             0x1000008D 0x10206902
-
-VENDORID        VID_DEFAULT
-CAPABILITY      CAP_GENERAL_DLL
-
-SOURCEPATH      ../src
-
-SOURCE          mnmapview.cpp
-SOURCE          mnnavigator.cpp
-SOURCE          mngeocoder.cpp
-SOURCE          mnprovider.cpp
-SOURCE          mnproviderfinder.cpp
-SOURCE          mnproviderimpl.cpp
-
-SOURCE          mnserviceclientbase.cpp
-SOURCE          mnmapviewserviceclient.cpp
-SOURCE          mnnavigationserviceclient.cpp
-SOURCE          mngeocodingserviceclient.cpp
-
-SOURCE          mnmapimage.cpp
-SOURCE          mnmapimageparams.cpp
-SOURCE          mncoordinateconverterbase.cpp
-SOURCE          mnmapimageserviceclient.cpp
-
-SOURCE          mnactivecallback.cpp
-SOURCE          mnutils.cpp
-
-START RESOURCE  ../data/mnclientlib.rss
-TARGETPATH      RESOURCE_FILES_DIR
-HEADER
-LANGUAGE_IDS
-END
-
-USERINCLUDE     .
-USERINCLUDE     ../inc
-USERINCLUDE     ../../loc
-
-MW_LAYER_SYSTEMINCLUDE
-
-LIBRARY         lbs.lib eposlandmarks.lib
-LIBRARY         euser.lib apgrfx.lib avkon.lib apparc.lib eikcore.lib cone.lib
-LIBRARY         efsrv.lib estor.lib bafl.lib fbscli.lib ecom.lib
-LIBRARY         sisregistryclient.lib siscontroller.lib
-
-DEBUGLIBRARY    flogger.lib
-
-SMPSAFE
-
-// END OF FILE
-
--- a/locationmapnavfw/library/group/mnservicelib.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Project definition file for server side of Library
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET          mnservicelib.dll
-TARGETTYPE      dll
-UID             0x1000008D 0x10206903
-
-VENDORID        VID_DEFAULT
-CAPABILITY      CAP_GENERAL_DLL
-
-SOURCEPATH      ../src
-
-SOURCE          mnservicebase.cpp
-SOURCE          mnmapviewservicebase.cpp
-SOURCE          mngeocodingservicebase.cpp
-SOURCE          mnnavigationservicebase.cpp
-SOURCE          mnmapimageservicebase.cpp
-
-USERINCLUDE     .
-USERINCLUDE     ../inc
-
-MW_LAYER_SYSTEMINCLUDE
-
-LIBRARY         lbs.lib eposlandmarks.lib mnclientlib.lib
-LIBRARY         euser.lib apparc.lib avkon.lib estor.lib fbscli.lib
-
-DEBUGLIBRARY    flogger.lib
-
-SMPSAFE
-
-// END OF FILE
-
--- a/locationmapnavfw/library/inc/mnactivecallback.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnActiveCallback class
-*
-*/
-
-
-#ifndef MN_ACTIVECALLBACK_H_
-#define MN_ACTIVECALLBACK_H_
-
-#include <e32base.h>
-
-class CMnMapImage;
-class MMnMapImageRenderCallback;
-class RMnMapImageServiceClient;
-
-/** This is an active object, which calls MMnMapImageRenderCallback,
-    when its asyncronous request is completed. Used to wrap 
-    asynchronous CMnMapImage::RenderL. */
-NONSHARABLE_CLASS( CMnActiveCallback ): public CActive
-    {
-    public:
-        static CMnActiveCallback* NewL( 
-            CMnMapImage& aOwner,
-            RMnMapImageServiceClient& aSession );
-        
-        void StartL( CFbsBitmap& aBitmap, MMnMapImageRenderCallback& aCallback );
-        
-    protected: // From CActive
-        void RunL();
-        void DoCancel();
-        TInt RunError( TInt aError );    
-    
-    private:
-        CMnActiveCallback( 
-            CMnMapImage& aOwner,
-            RMnMapImageServiceClient& aSession );
-
-    private:
-        CMnMapImage& iOwner;
-        RMnMapImageServiceClient& iSession;
-        MMnMapImageRenderCallback* iCallback;
-    };
-
-#endif //MN_ACTIVECALLBACK_H_
\ No newline at end of file
--- a/locationmapnavfw/library/inc/mndebug.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,88 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Debug macros
-*
-*/
-
-
-#ifndef MN_DEBUG_H
-#define MN_DEBUG_H
-
-#ifdef _DEBUG
-
-#include <e32base.h>
-
-inline void Panic( TInt aReason )
-    {
-    _LIT( KPanicCategory, "MnLibraryDebug" );
-    User::Panic( KPanicCategory, aReason );
-    }
-
-#include <e32svr.h>
-#include <e32std.h>
-#include <f32file.h>
-#include <flogger.h>
-
-_LIT(KLogFile, "mnlog.txt");
-_LIT(KLogDirFullName, "c:\\logs\\");
-_LIT(KLogDir, "mn");
-
-inline void Prefix( TDes& aMessage )
-    {
-    RProcess process;
-    _LIT( KPrefix, "[MnLibrary/%ld]: ");
-    aMessage.Format( KPrefix, process.Id().Id() );
-    }
-
-inline void Log( TRefByValue<const TDesC> aFmt, ... )
-    {
-    // coverity[var_decl : FALSE]
-    VA_LIST list;
-    // coverity[ uninit_use_in_call : FALSE]
-    VA_START( list, aFmt );
-
-    HBufC* buf = HBufC::New(512);
-    if ( buf )
-    	{
-    	TPtr ptr( buf->Des() );
-	    Prefix( ptr );
-	    // coverity[ uninit_use_in_call : FALSE]
-	    ptr.AppendFormatList( aFmt, list );
-	
-	    RDebug::RawPrint( ptr );
-	    RFileLogger::Write( KLogDir, KLogFile, EFileLoggingModeAppend, ptr );
-
-	    delete buf;
-    	}
-    }
-
-#define LOG( a )             { Log( _L( a ) ); }
-#define LOG1( a, b )         { Log( _L( a ), b ); }
-#define LOG2( a, b, c )      { Log( _L( a ), b, c ); }
-#define LOG3( a, b, c, d )   { Log( _L( a ), b, c, d ); }
-#define LOG4( a, b, c, d, e )   { Log( _L( a ), b, c, d, e ); }
-
-#else // _DEBUG
-
-// Release version - no logging
-#define LOG( a)
-#define LOG1( a, b )
-#define LOG2( a, b, c)
-#define LOG3( a, b, c, d)
-#define LOG4( a, b, c, d, e )
-
-#endif // _DEBUG
-
-#endif // MN_DEBUG_H
-
--- a/locationmapnavfw/library/inc/mngeocodingserviceclient.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  RMnGeocodingServiceClient class
-*
-*/
-
-
-#ifndef MN_GEOCODINGSERVICECLIENT_H
-#define MN_GEOCODINGSERVICECLIENT_H
-
-#include "mninternal.h"
-#include "mngeocoder.h"
-#include "mnserviceclientbase.h"
-
-/** \internal 
- *  Client side of IPC with CMnGeocodingServiceBase.
- */
-NONSHARABLE_CLASS( RMnGeocodingServiceClient ): public RMnServiceClientBase
-    {      
-    public:
-        /** C++ constructor */
-        RMnGeocodingServiceClient();
-        ~RMnGeocodingServiceClient();
-
-        /** Issues async request for geocoding */
-        void AddressByCoordinateL(
-            const CPosLandmark& aCoordinateLanmdark,
-            CMnGeocoder::TOptions aOptions,
-            TRequestStatus& aStatus);
-        
-        /** Issues async request for reverse geocoding */
-        void CoordinateByAddressL(
-            const CPosLandmark& aAddressLanmdark,
-            CMnGeocoder::TOptions aOptions,
-            TRequestStatus& aStatus);
-
-        /** Issues async request for reverse geocoding 
-         *  with plain string address 
-         */
-        void CoordinateByAddressL(
-            const TDesC& aAddress,
-            CMnGeocoder::TOptions aOptions,
-            TRequestStatus& aStatus);
-
-        /** Client takes ownership of the returned pointer, 
-         *  if this method succeeds.
-         *  \leaves KErrNotFound if result is not available.
-         */
-        void GetLastResultL( CPosLandmark*& aResult, TMnGeocodingResultType& aResultType );
-
-    private : // from RApaAppServiceBase
-        IMPORT_C TUid ServiceUid() const;
-        
-    private:
-        TInt            iResultSize;
-        TPckg<TInt>     iResultSizePtr;
-        
-        HBufC8*         iLandmarkBuffer;    
-        HBufC*          iPlainAddress;
-        
-        CMnGeocoder::TOptions   iOptions;
-        TPtrC8                  iOptionsPtr;
-    };
-    
-#endif // MN_GEOCODINGSERVICECLIENT_H
--- a/locationmapnavfw/library/inc/mninternal.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,131 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Internal constants for Map and Navigation FW
-*
-*/
-
-
-#ifndef MN_INTERNAL_H
-#define MN_INTERNAL_H
-
-#include <eikserverapp.h>
-#include <lbsposition.h>
-#include "mnmapview.h"
-#include "mnmapimage.h"
-
-// Map and Navigation Library resource file
-_LIT( KLibResourceFile, "\\resource\\mnclientlib.rsc" );
-
-// Internal panic category
-_LIT( KMnPanicInternal, "MnInternal" );
-
-// IPC constants
-enum TMnIpcCode
-    {
-    EMnIpcNone = -1,
-    EMnIpcStart = REikAppServiceBase::KServiceCmdBase,
-    EMnIpcCancel,
-
-    EMnIpcMapViewOffset = 1000,
-    EMnIpcShowMap,
-    EMnIpcShowCurrentLocation,
-    EMnIpcSelectFromMap,
-    EMnIpcGetSelectionResultLandmark,
-    EMnIpcGetSelectionResultDbUri,
-    EMnIpcAddLmIdsToShow,
-    EMnIpcAddLandmarksToShow,
-    EMnIpcResetLandmarksToShow,
-    EMnIpcInitRequestText,
-
-    EMnIpcNavigationOffset = 2000,
-    EMnIpcNavigateTo,
-
-    EMnIpcGeocodingOffset = 3000,
-    EMnIpcCoordToAddress,
-    EMnIpcAddressToCoord,
-    EMnIpcPlainAddressToCoord,
-    EMnIpcGetConversionResult,
-
-    EMnIpcRenderImage = 4000,
-    EMnIpcGetImageCoordinate,
-    EMnIpcGetWorldCoordinate
-    };
-
-enum TMnIpcParams
-    {
-    // common params
-    EMnIpcCancelRequestIdIndex = 0,
-
-    // mapview params
-    EMnIpcMapOptionsParamIndex = 0,
-    EMnIpcMapSelectionTextParamIndex = 1,
-    EMnIpcMapSelectionResultInfoParamIndex = 2,
-
-    EMnIpcMapDbUriParamIndex = 0,
-    EMnIpcMapLmIdsParamIndex = 1,
-
-    EMnIpcMapLandmarksParamIndex = 0,
-
-    EMnIpcMapSelResultBufferParamIndex = 0,
-
-    // navigation params
-    EMnIpcNaviLandmarkParamIndex = 0,
-
-    // geocoding params
-    EMnIpcGeoOptionsParamIndex = 0,
-    EMnIpcGeoResultSizeParamIndex = 1,
-    EMnIpcGeoLandmarkParamIndex = 2,
-    EMnIpcGeoPlainAddressParamIndex = 2,
-
-    EMnIpcGeoResultParamIndex = 0,
-    EMnIpcGeoResultTypeParamIndex = 1,
-
-    // mapimage params
-    EMnIpcImageParamsParamIndex = 0,
-    EMnIpcImageOptionsParamIndex = 1,
-    EMnIpcImageBitmapHandleParamIndex = 2,
-    };
-
-enum TMnMapSelectionResultType
-    {
-    EMnMapSelResultNone,
-    EMnMapSelResultLandmarkLink,
-    EMnMapSelResultLandmarkInstance
-    };
-
-enum TMnGeocodingResultType
-    {
-    EMnGeoResultNone,
-    EMnGeoResultCoordinates,
-    EMnGeoResultAddress
-    };
-
-class TMnMapOptions
-    {
-    public:
-        CMnMapView::TOptions                iOptions;
-        CMnMapView::TCurrentLocationOption  iCurrentLocationOption;
-
-        TCoordinate                         iCentralPoint;
-        TReal                               iRadius;
-    };
-
-class TMnMapImageOptions
-    {
-    public:
-        CMnMapImage::TShowOptions           iShowOptions;
-        TPoint                              iTargetOrigin;
-    };
-
-#endif // MN_INTERNAL_H
--- a/locationmapnavfw/library/inc/mninternal.inl	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Internal inline methods
-*
-*/
-
-
-// -----------------------------------------------------------------------------
-//  Used to panic server implementation
-// -----------------------------------------------------------------------------
-//
-inline void PanicServer( TInt aReason )
-    {
-    User::Panic( KMnPanicServerFault, aReason );
-    }
-
-// -----------------------------------------------------------------------------
-//  Used to panic client from server side
-// -----------------------------------------------------------------------------
-//
-inline void PanicClient( const RMessage2& aMessage, TInt aReason )
-    {
-    aMessage.Panic( KMnPanicClientFault, aReason );
-    }
-
-// -----------------------------------------------------------------------------
-//  Used for internal panic, debugging time only
-// -----------------------------------------------------------------------------
-//
-inline void PanicSelf( TInt aReason )
-    {
-    User::Panic( KMnPanicInternal, aReason );
-    }
--- a/locationmapnavfw/library/inc/mnmapimageserviceclient.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  RMnMapImageServiceClient class
-*
-*/
-
-
-#ifndef MN_MAPIMAGESERVICECLIENT_H
-#define MN_MAPIMAGESERVICECLIENT_H
-
-#include "mninternal.h"
-#include "mnmapimage.h"
-#include "mnserviceclientbase.h"
-
-/** @internal 
- *  Client side of IPC with CMnMapImageServiceBase.
- */
-NONSHARABLE_CLASS( RMnMapImageServiceClient ): public RMnServiceClientBase
-    {      
-    public:
-        /** C++ constructor */
-        RMnMapImageServiceClient();
-
-        /** Issues async request for rendering */
-        void Render(
-            CFbsBitmap& aBitmap,
-            TMnMapImageParams& aParams,
-            TMnMapImageOptions& aOptions,
-            TRequestStatus& aStatus);
-
-    private : // from RApaAppServiceBase
-        IMPORT_C TUid ServiceUid() const;
-        
-    private:
-        TPtr8                       iParamsDes;
-
-        TMnMapImageOptions          iOptions;
-        TPckgC<TMnMapImageOptions>  iOptionsPack;
-    };
-    
-#endif // MN_MAPIMAGESERVICECLIENT_H
--- a/locationmapnavfw/library/inc/mnmapselectionresultinfo.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  TMnMapSelectionResultInfo class
-*
-*/
-
-
-#ifndef MN_MAPSELECTIONRESULTINFO_H
-#define MN_MAPSELECTIONRESULTINFO_H
-
-#include <mnmapview.h>
-#include <EPos_Landmarks.h>
-
-class CPosLandmark;
-
-/** \internal 
- *  Contains information about result of CMnMapView::SelectFromMapL request 
- */
-class TMnMapSelectionResultInfo
-    {
-    public:
-        /** Default constructor */
-        inline TMnMapSelectionResultInfo();
-        /** Initializes for CMnMapView::ESelectionLandmarkIndex result */
-        inline TMnMapSelectionResultInfo( TInt aLandmarkIndex );
-        /** Initializes for CMnMapView::ESelectionFreeLandmark result */
-        inline TMnMapSelectionResultInfo( const TDesC8& aLandmarkBuffer );
-        /** Initializes for CMnMapView::ESelectionLinkedLandmark result */
-        inline TMnMapSelectionResultInfo( TPosLmItemId aLandmarkId, const TDesC& aDbUri );
-        
-        /** Type of result */
-        CMnMapView::TSelectionResultType    iType;
-        /** Index of landmark selected */
-        TInt                                iLandmarkIndex;
-        /** ID of landmark selected */
-        TPosLmItemId                        iLandmarkId;
-        /** Size of buffer required to receive landark from server */ 
-        TInt                                iLandmarkSize;
-        /** Size of buffer required to receive dafabase URI server */ 
-        TInt                                iDbUriSize;
-    };
-
-#endif // MN_MAPSELECTIONRESULTINFO_H
-
--- a/locationmapnavfw/library/inc/mnmapselectionresultinfo.inl	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  TMnMapSelectionResultInfo class implementation
-*
-*/
-
-
-#include "mnmapselectionresultinfo.h"
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-inline TMnMapSelectionResultInfo::TMnMapSelectionResultInfo()
-    {
-    iType = CMnMapView::ESelectionNone;
-    iLandmarkIndex = -1;
-    iLandmarkId = KPosLmNullItemId;
-    iLandmarkSize = 0;
-    iDbUriSize = 0;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-inline TMnMapSelectionResultInfo::TMnMapSelectionResultInfo( TInt aLandmarkIndex )
-    {
-    iType = CMnMapView::ESelectionLandmarkIndex;
-    iLandmarkIndex = aLandmarkIndex;
-    iLandmarkId = KPosLmNullItemId;
-    iLandmarkSize = 0;
-    iDbUriSize = 0;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-inline TMnMapSelectionResultInfo::TMnMapSelectionResultInfo( const TDesC8& aLandmarkBuffer )
-    {
-    iType = CMnMapView::ESelectionFreeLandmark;
-    iLandmarkIndex = -1;
-    iLandmarkId = KPosLmNullItemId;
-    iLandmarkSize = aLandmarkBuffer.Size();
-    iDbUriSize = 0;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-inline TMnMapSelectionResultInfo::TMnMapSelectionResultInfo( TPosLmItemId aLandmarkId, const TDesC& aDbUri )
-    {
-    iType = CMnMapView::ESelectionLinkedLandmark;
-    iLandmarkIndex = -1;
-    iLandmarkId = aLandmarkId;
-    iLandmarkSize = 0;
-    iDbUriSize = aDbUri.Size();
-    }
--- a/locationmapnavfw/library/inc/mnmapviewserviceclient.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  RMnMapViewServiceClient class
-*
-*/
-
-
-#ifndef MN_MAPVIEWSERVICECLIENT_H
-#define MN_MAPVIEWSERVICECLIENT_H
-
-#include <AknServerApp.h>
-#include <EPos_Landmarks.h>
-
-#include "mnmapselectionresultinfo.h"
-#include "mnserviceclientbase.h"
-
-class CPosLandmark;
-
-/** \internal */
-NONSHARABLE_CLASS( RMnMapViewServiceClient ) : public RMnServiceClientBase
-    {        
-    public:
-        /** C++ constructor */
-        RMnMapViewServiceClient();
-        /** C++ destructor */
-        ~RMnMapViewServiceClient();
-        
-        void AddLandmarksToShowL( 
-            const TDesC& aDatabaseUri, RArray<TPosLmItemId>& aLandmarkIds );
-            
-        void AddLandmarksToShowL( RPointerArray<CPosLandmark>& aLandmarks );
-        void AddLandmarksToShowL( RArray<TPtrC8>& aPackedLandmarks );
-        
-        void ResetLandmarksToShow();
-        
-        void InitSelectionRequestTextL( HBufC*& aSelectionRequestText );
-        void SetSelectionRequestTextL( const TDesC& aSelectionRequestText );
-        void SetSelectionRequestText( HBufC*& aSelectionRequestText );
-        void ClearSelectionRequestText();
-     
-        void ShowMapL( TMnMapOptions aOptions );
-        
-        void ShowCurrentLocationL( TMnMapOptions aOptions );
-        
-        void SelectFromMap( TMnMapOptions aOptions, TRequestStatus& aStatus );
-        
-        CMnMapView::TSelectionResultType SelectionResultType();
-
-        CPosLandmark* GetSelectedLandmarkL();
-        void GetSelectedLandmarkL( TInt& aLandmarkIndex );
-        void GetSelectedLandmarkL( TPosLmItemId& aLandmarkId, HBufC*& aDbUri );
-
-    private: // from RApaAppServiceBase
-        TUid ServiceUid() const ;
-        
-    private:
-        TMnMapOptions               iOptions;
-        TPtrC8                      iOptionsPtr;
-        
-        HBufC*                      iSelectionRequestText;
-        TBool                       iSelectionRequestTextOwned;
-        
-        TMnMapSelectionResultInfo           iResultInfo;
-        TPckg<TMnMapSelectionResultInfo>    iResultInfoPtr;
-    };
-    
-#endif // MN_MAPVIEWSERVICECLIENT_H
--- a/locationmapnavfw/library/inc/mnnavigationserviceclient.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  RMnNavigationServiceClient class
-*
-*/
-
-
-#ifndef MN_NAVIGATIONSERVICECLIENT_H
-#define MN_NAVIGATIONSERVICECLIENT_H
-
-#include <AknServerApp.h>
-
-#include "mnserviceclientbase.h"
-
-class CPosLandmark;
-
-/** \internal */
-NONSHARABLE_CLASS( RMnNavigationServiceClient ) : public RMnServiceClientBase
-    {        
-    public:
-        /** C++ constructor */
-        RMnNavigationServiceClient();
-        /** C++ destructor */
-        ~RMnNavigationServiceClient();
-        
-        void NavigateToL( const CPosLandmark& aDestinationLanmdark );
-
-    private: // from RApaAppServiceBase
-        TUid ServiceUid() const;
-    };
-    
-#endif // MN_NAVIGATIONSERVICECLIENT_H
--- a/locationmapnavfw/library/inc/mnproviderimpl.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnProviderImpl class
-*
-*/
-
-
-#ifndef MN_PROVIDER_IMPL_H
-#define MN_PROVIDER_IMPL_H
-
-#include <swi/sisregistrysession.h>
-#include "mnprovider.h"
-
-class RMnServiceClientBase;
-class RApaLsSession;
-   
-/*  @brief Implementation of CMnProvider.
- *  @internal
- */
-NONSHARABLE_CLASS( CMnProviderImpl ) : public CMnProvider
-    {
-    public :
-        ~CMnProviderImpl();
-        
-        static CMnProviderImpl* NewL( TUid aProvider );
-        static CMnProviderImpl* NewL( 
-            TUid aAppUid, 
-            RApaLsSession& aApaSession, 
-            Swi::RSisRegistrySession& aSisSession );
-        
-        /** This constructor reads all provider's info from 
-         *  AppArc and Swi */
-        void ConstructL( TUid aAppUid );
-        
-        /** Performance-aware constructor. Uses ready connections to 
-         *  AppArc and Swi */
-        void ConstructL(
-            TUid aAppUid, 
-            RApaLsSession& aApaSession, 
-            Swi::RSisRegistrySession& aSisSession );
-            
-        /** Returns trust info of provider's sis package */            
-        TBool IsTrusted();    
-
-    public : // From CMnProvider        
-
-        TUint32 SupportedFeatures( TService aService ) const;
-
-    protected :
-        CMnProviderImpl();
-        
-        /** Resembles MN_SERVICE_INFO resource structure */
-        struct TMnAppServiceInfo
-            {
-            /* Supported features of this service */
-            TInt32 iServiceFeatures;
-            };
-
-        /** Reads application info from AppArc */
-        void ReadAppArcInfoL( RApaLsSession& aApaSession );
-
-        /** Looks for MN_SERVICE_INFO struct in application's SERVICE_INFO opaque data. */
-        TBool ReadMnServiceInfoL(
-            RApaLsSession& aApaSession, 
-            TUid aServiceUid, 
-            TMnAppServiceInfo& aServiceInfo );
-
-        /** Checks service features */
-        void CheckServiceFeaturesL( 
-            RApaLsSession& aApaSession,
-            CMnProvider::TService aService, 
-            TUint32& aServiceFeatures );
-
-        /** Reads extended service info from SERVICE_INFO struct */
-        void ReadServiceFeaturesL( RApaLsSession& aApaSession );
-
-        /** Reads package info from Installation Registry 
-         *  and verifies trust level */
-        void ReadPackageInfoL( Swi::RSisRegistrySession& aSisSession );
-        
-        /** Verifies if converter plug-in exists for provider of MapImage service */
-        TBool IsConverterPluginFoundL();
-
-        /** \brief Sets Provider Application's name */
-        void SetNameL( const TDesC& aName );
-
-        /** \brief Sets Provider Application's short name */
-        void SetShortNameL( const TDesC& aShortName );
-
-        /** \brief Sets Provider Application's vendor name */
-        void SetVendorNameL( const TDesC& aVendorName );
-
-        /** \brief Sets Provider Application's version */
-        void SetVersion( TVersion aVersion );
-
-        /** \brief Sets Provider Application's supported services */
-        void SetSupportedServices( TServices aServices );
-        
-    protected :
-        TBool   iIsTrusted;
-        TUint32 iMapViewFeatures;
-        TUint32 iNavigationFeatures;
-        TUint32 iGeocodingFeatures;
-        TUint32 iMapImageFeatures;
-    };
-
-#endif // MN_PROVIDER_IMPL_H
-
--- a/locationmapnavfw/library/inc/mnserviceclientbase.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  RMnServiceClientBase class
-*
-*/
-
-
-#ifndef MN_SERVICECLIENTBASE_H
-#define MN_SERVICECLIENTBASE_H
-
-#include <AknServerApp.h>
-
-#include "mninternal.h"
-#include "mnappserviceuids.hrh"
-
-/** \internal
- *  Base class for service implementations
- */
-NONSHARABLE_CLASS( RMnServiceClientBase ) : public RAknAppServiceBase
-    {
-    public:
-
-        /** Connects to new application server */
-        void ConnectL( TUid aProviderUid );
-
-        /** Connects to new chained application server */
-        void ConnectChainedL( TUid aProviderUid );
-        
-        /** Cancels last async request */
-        void Cancel();
-
-        /** Closes parent session */
-        void Close();
-        
-    protected:
-        RMnServiceClientBase();
-                
-        TMnIpcCode      iLastRequest;
-    };
-  
-#endif // MN_SERVICECLIENTBASE_H
-
--- a/locationmapnavfw/library/inc/mnutils.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Internal helpers for Map and Navigation FW
-*
-*/
-
-
-#ifndef MN_UTILS_H
-#define MN_UTILS_H
-
-/** \inernal 
- *  This class contains internal utils for the subsystem
- */
-class MnUtils
-    {
-    public:
-        /** Looks for localized version of specified resource file 
-         *  on all available drives
-         *  \param[in] aFsSession opened session with File Server
-         *  \param[in] aRscFile z: -based name of SC file
-         *  \param[out] aFileName filename of localized version of SC file
-         *                        or SC filename if not found
-         *  \leave KErrNotFound if file is not found on any drives
-         */
-        IMPORT_C static void FindLocalizedResourceFileL( 
-            RFs& aFsSession, 
-            const TDesC& aRscFile,
-            TFileName& aFileName );
-
-        /** Looks for specified resource file on all available drives
-         *  on all available drives
-         *  \param[in] aFsSession opened session with File Server
-         *  \param[in] aFilePathAndName path and name of resource file
-         *  \param[out] aFileName filename with drive set
-         *  \leave KErrNotFound if file is not found on any drives
-         */
-        IMPORT_C static void FindResourceFileL( 
-            RFs& aFsSession,
-            const TDesC& aFilePathAndName,
-            TFileName& aRscFile );
-    };
-    
-#endif // MN_UTILS_H
--- a/locationmapnavfw/library/src/mnactivecallback.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnActiveCallback class implementation
-*
-*/
-
-
-#include <e32base.h>
-
-#include "mnmapimage.h"
-#include "mnmapimageserviceclient.h"
-#include "mnactivecallback.h"
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnActiveCallback::CMnActiveCallback( 
-    CMnMapImage& aOwner, 
-    RMnMapImageServiceClient& aSession )
-  : CActive( CActive::EPriorityStandard ), 
-    iOwner( aOwner ), 
-    iSession( aSession )
-    {
-    CActiveScheduler::Add( this );
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnActiveCallback* CMnActiveCallback::NewL( 
-    CMnMapImage& aOwner,
-    RMnMapImageServiceClient& aSession )
-    {
-    CMnActiveCallback* self = new (ELeave) CMnActiveCallback( aOwner, aSession );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnActiveCallback::StartL(
-    CFbsBitmap& aBitmap, 
-    MMnMapImageRenderCallback& aCallback )
-    {
-    ASSERT( !IsActive() );
-    iCallback = &aCallback;
-    iOwner.RenderL( aBitmap, iStatus );
-    SetActive();
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnActiveCallback::RunL()
-    {
-    ASSERT( iCallback );
-    iCallback->HandleRenderingCompletedL( iStatus.Int(), iOwner );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnActiveCallback::DoCancel()
-    {
-    iSession.Cancel();
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-TInt CMnActiveCallback::RunError( TInt /*aError*/ )
-    {
-    return KErrNone;
-    }
--- a/locationmapnavfw/library/src/mncoordinateconverterbase.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnCoordinateConverterBase class implementation
-*
-*/
-
-
-#include <e32base.h>
-#include <ecom/ecom.h>
-#include <mnpluginuids.hrh>
-#include "mncoordinateconverterbase.h"
-
-// ========================== LOCAL FUNCTIONS ================================
-
-// ========================== MEMBER FUNCTIONS ===============================
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CMnCoordinateConverterBase::CMnCoordinateConverterBase()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnCoordinateConverterBase* CMnCoordinateConverterBase::NewL( TUid aProviderUid )
-    {   
-	  TInt32 offset = static_cast<TInt32> (_FOFF( CMnCoordinateConverterBase, iDtorIdKey ));
-
-    const TInt KNumUidHexDigits = 8;
-    TBuf8<KNumUidHexDigits> uidText8;
-    
-    _LIT8( KUidHexText, "%08X" );
-    uidText8.Format( KUidHexText, aProviderUid.iUid );
-
-    TEComResolverParams resolverParams;
-    resolverParams.SetDataType( uidText8 );
-
-    TAny* ptr = REComSession::CreateImplementationL( 
-        TUid::Uid( KMnMapImageConverterIf ), offset, resolverParams );
-
-    return reinterpret_cast<CMnCoordinateConverterBase*>( ptr );
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CMnCoordinateConverterBase::~CMnCoordinateConverterBase()
-    {
-    REComSession::DestroyedImplementation( iDtorIdKey );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TMnMapImageParams& CMnCoordinateConverterBase::MapImageParams() const
-    {
-    return iImageParams;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnCoordinateConverterBase::SetMapImageParams( const TMnMapImageParams& aImageParams )
-    {
-    iImageParams = aImageParams;
-    }
--- a/locationmapnavfw/library/src/mngeocoder.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,275 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnGeocoder class implementation
-*
-*/
-
-
-#include <e32base.h>
-#include <e32math.h>
-#include <AknServerApp.h>
-#include <apaserverapp.h>
-
-#include <lbsfields.h>
-#include <lbsfieldids.h>
-#include <lbsposition.h>
-
-#include <EPos_CPosLandmark.h>
-
-#include "mnprovider.h"
-#include "mngeocodingserviceclient.h"
-#include "mngeocoder.h"
-
-// ======== LOCAL FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-//  Copies address information (address and building position fields) from 
-//  source landmark to target.
-// ---------------------------------------------------------------------------
-//
-void CopyAddressL( CPosLandmark& aSrc, CPosLandmark& aTrg )
-    {
-    // clean address fields (CMnGeocoder says that "all <data> will be updated")
-    for ( TPositionFieldId fieldId = EPositionFieldAddressCapabilitiesBegin + 1;
-          fieldId < EPositionFieldNMEACapabilitiesBegin;
-          fieldId++ )
-        {
-        aTrg.RemovePositionField( fieldId );
-        }
-    
-    // copy fields
-    TPositionFieldId fieldId = aSrc.FirstPositionFieldId();
-    while ( fieldId != EPositionFieldNone )
-        {
-        if ( fieldId > EPositionFieldAddressCapabilitiesBegin &&
-             fieldId < EPositionFieldNMEACapabilitiesBegin)
-            {
-            TPtrC field;
-            if ( KErrNone == aSrc.GetPositionField( fieldId, field ) )
-                {
-                aTrg.SetPositionFieldL( fieldId, field );
-                }
-            }
-        fieldId = aSrc.NextPositionFieldId( fieldId );            
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//  Copies coordinate information (locality and coverage) from 
-//  source landmark to target. If some fields are empty in source,
-//  they will also be emptied in result.
-// ---------------------------------------------------------------------------
-//
-void CopyCoordinatesL( CPosLandmark& aSrc, CPosLandmark& aTrg )
-    {
-    TLocality loc;
-    TInt posErr = aSrc.GetPosition( loc );
-    if( !posErr )
-    	{
-    	aTrg.SetPositionL( loc );	
-    	}
-    
-    TRealX nan;
-    nan.SetNaN();
-    TReal32 coverage( nan );
-    
-    TInt radiusErr = aSrc.GetCoverageRadius( coverage );
-    if( !radiusErr )
-    	{
-    	aTrg.SetCoverageRadius( coverage );
-    	}
-    
-    }
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnGeocoder::CMnGeocoder()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnGeocoder::ConstructCommonL( CMnProvider& aProvider )
-    {
-    if ( !( aProvider.SupportedServices() & CMnProvider::EServiceGeocoding ) )
-        {
-        User::Leave( KErrNotSupported );
-        }
-
-    iSession = new (ELeave) RMnGeocodingServiceClient;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnGeocoder::ConstructNewL( CMnProvider& aProvider )
-    {
-    ConstructCommonL( aProvider );
-    iSession->ConnectL( aProvider.Uid() );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnGeocoder::ConstructChainedL( CMnProvider& aProvider )
-    {
-    ConstructCommonL( aProvider );
-    iSession->ConnectChainedL( aProvider.Uid() );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CMnGeocoder* CMnGeocoder::NewL( CMnProvider& aProvider )
-    {
-    CMnGeocoder* self = new (ELeave) CMnGeocoder;
-    CleanupStack::PushL( self );
-    self->ConstructNewL( aProvider );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CMnGeocoder* CMnGeocoder::NewChainedL( CMnProvider& aProvider )
-    {
-    CMnGeocoder* self = new (ELeave) CMnGeocoder;
-    CleanupStack::PushL( self );
-    self->ConstructChainedL( aProvider );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CMnGeocoder::~CMnGeocoder()
-    {
-	delete iExitMonitor;
-
-    if ( iSession )
-        {
-        iSession->Close();
-        delete iSession;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CMnGeocoder::TOptions CMnGeocoder::Options() const
-    {
-    return iOptions;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnGeocoder::SetOptions( TOptions aOptions )
-    {
-    iOptions = aOptions;
-    }
-        
-// ---------------------------------------------------------------------------
-//  1. Get result from session in form of landmark
-//  2. If last request was for address, copy all position fields from 
-//     result to target landmark
-//  3. If last request was for coordinate, copy position data.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnGeocoder::RetrieveGeocodingResultL( CPosLandmark& aTargetLandmark )
-    {
-    CPosLandmark* lm = NULL;
-    TMnGeocodingResultType resultType; 
-    iSession->GetLastResultL( lm, resultType );
-    CleanupStack::PushL( lm );
-    
-    switch ( resultType )
-        {
-        case EMnGeoResultAddress:
-            CopyAddressL( *lm, aTargetLandmark );
-            break;
-        case EMnGeoResultCoordinates:
-            CopyCoordinatesL( *lm, aTargetLandmark );
-            break;
-        }
-    CleanupStack::PopAndDestroy( lm );
-    }
-        
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnGeocoder::FindCoordinateByAddressL(
-    const CPosLandmark& aLandmark, 
-    TRequestStatus& aRequest)
-    {
-    iSession->CoordinateByAddressL( aLandmark, iOptions, aRequest );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnGeocoder::FindCoordinateByAddressL(
-    const TDesC& aAddress, 
-    TRequestStatus& aRequest)
-    {
-    iSession->CoordinateByAddressL( aAddress, iOptions, aRequest );
-    }
-            
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnGeocoder::FindAddressByCoordinateL(
-    const CPosLandmark& aLandmark, 
-    TRequestStatus& aRequest)
-    {
-    iSession->AddressByCoordinateL( aLandmark, iOptions, aRequest );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnGeocoder::Cancel()
-    {
-    iSession->Cancel();
-    }
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnGeocoder::SetExitObserverL( MAknServerAppExitObserver& aObserver )
-	{
-	if ( iExitMonitor )
-		{
-		User::Leave( KErrAlreadyExists );
-		}
-	else
-		{
-		iExitMonitor = CApaServerAppExitMonitor::NewL( 
-			*iSession, aObserver, CActive::EPriorityStandard );
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnGeocoder::RemoveExitObserver()
-	{
-	delete iExitMonitor;
-	iExitMonitor = NULL;
-	}
--- a/locationmapnavfw/library/src/mngeocodingservicebase.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,207 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnGeocodingServiceBase class implementation
-*
-*/
-
-
-#include <e32base.h>
-
-#include <EPos_CPosLandmark.h>
-#include <epos_poslandmarkserialization.h>
-
-#include "mndebug.h"
-#include "mnerrors.h"
-#include "mninternal.h"
-#include "mninternal.inl"
-
-#include "mngeocodingservicebase.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CMnGeocodingServiceBase::CMnGeocodingServiceBase()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CMnGeocodingServiceBase::~CMnGeocodingServiceBase()
-    {
-    delete iResult;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnGeocodingServiceBase::BaseConstructL()
-    {
-    CMnServiceBase::BaseConstructL();
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CMnGeocoder::TOptions CMnGeocodingServiceBase::Options() const 
-    {
-    LOG("CMnGeocodingServiceBase::Options");
-    return iOptions;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnGeocodingServiceBase::CompleteGeocodingRequestL( 
-    const CPosLandmark& aLandmark )
-    {
-    LOG("CMnGeocodingServiceBase::CompleteGeocodingRequestL in");
-    switch ( CurrentAsyncRequest() )
-        {
-        case EMnIpcCoordToAddress:
-            iResultType = EMnGeoResultAddress;
-            break;
-            
-        case EMnIpcAddressToCoord:
-        case EMnIpcPlainAddressToCoord:
-            iResultType = EMnGeoResultCoordinates;
-            break;
-        
-        default:
-            PanicServer( KMnPanicAttemptToCompleteNoRequest );
-        }
-
-    delete iResult;
-    iResult = NULL;
-    iResult = PosLandmarkSerialization::PackL( aLandmark );
-    
-    TInt resultSize = iResult->Size();
-    TPckg<TInt> resultSizePack( resultSize );
-    TInt err = iMessage.Write( EMnIpcGeoResultSizeParamIndex, resultSizePack );
-    CompleteRequest( err );
-
-    LOG("CMnGeocodingServiceBase::CompleteGeocodingRequestL out");
-    }
-    
-// ---------------------------------------------------------------------------
-//  From class CAknAppServiceBase
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnGeocodingServiceBase::ServiceL( const RMessage2& aMessage )
-    {
-    LOG1("CMnGeocodingServiceBase::ServiceL in, function %d", aMessage.Function());
-    
-    switch ( aMessage.Function() )
-        {
-        case EMnIpcCoordToAddress:
-        case EMnIpcAddressToCoord:
-        case EMnIpcPlainAddressToCoord:
-            PrepareAsyncRequestL( aMessage );
-            StartAsyncRequestL( aMessage );
-            break;
-
-        case EMnIpcGetConversionResult:
-            HandleGetConversionResultL( aMessage );
-            break;
-            
-        case EMnIpcCancel:
-            HandleCancelRequestL( aMessage );
-            break;
-            
-        default:
-            CMnServiceBase::ServiceL( aMessage );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnGeocodingServiceBase::StartAsyncRequestL( const RMessage2& aMessage )
-    {
-    LOG("CMnGeocodingServiceBase::StartAsyncRequestL in");
-
-    HBufC* addr = NULL;
-    CPosLandmark* lm = NULL;
-
-    UnpackOptionsL( aMessage );
-
-    switch ( CurrentAsyncRequest() )
-        {
-        case EMnIpcCoordToAddress:
-            lm = UnpackLandmarkLC( aMessage, EMnIpcGeoLandmarkParamIndex );
-            HandleFindAddressByCoordinateL( *lm );
-            CleanupStack::PopAndDestroy( lm );
-            break;
-            
-        case EMnIpcAddressToCoord:
-            lm = UnpackLandmarkLC( aMessage, EMnIpcGeoLandmarkParamIndex );
-            HandleFindCoordinateByAddressL( *lm );
-            CleanupStack::PopAndDestroy( lm );
-            break;
-
-        case EMnIpcPlainAddressToCoord:
-            addr = UnpackPlainAddressLC( aMessage );
-            HandleFindCoordinateByAddressL( addr->Des() );
-            CleanupStack::PopAndDestroy( addr );
-            break;
-
-        default:
-            User::Leave( KErrNotSupported );
-        }
-
-    LOG("CMnGeocodingServiceBase::StartAsyncRequestL out");
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnGeocodingServiceBase::UnpackOptionsL( const RMessage2& aMessage )
-    {
-    LOG("CMnGeocodingServiceBase::UnpackOptionsL");
-    
-    TPckg<CMnGeocoder::TOptions> optsPack( iOptions );
-    aMessage.ReadL( EMnIpcGeoOptionsParamIndex, optsPack );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-HBufC* CMnGeocodingServiceBase::UnpackPlainAddressLC( const RMessage2& aMessage )
-    {
-    LOG("CMnGeocodingServiceBase::UnpackPlainAddressLC");
-    return CopyClientBufferLC( aMessage, EMnIpcGeoPlainAddressParamIndex );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnGeocodingServiceBase::HandleGetConversionResultL( const RMessage2& aMessage )
-    {
-    LOG("CMnGeocodingServiceBase::HandleGetConversionResultL in");
-    
-    if ( !iResult )
-        {
-        User::Leave( KErrNotFound );
-        }
-    
-    aMessage.WriteL( EMnIpcGeoResultParamIndex, *iResult );
-    TPckg<TInt> typePack( iResultType );
-    aMessage.WriteL( EMnIpcGeoResultTypeParamIndex, typePack );
-    
-    Complete( aMessage, KErrNone );
-
-    LOG("CMnGeocodingServiceBase::HandleGetConversionResultL out");
-    }
--- a/locationmapnavfw/library/src/mngeocodingserviceclient.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,184 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  RMnGeocodingServiceClient class implementation
-*
-*/
-
-
-#include <e32base.h>
-
-#include <EPos_CPosLandmark.h>
-#include <epos_poslandmarkserialization.h>
-
-#include "mndebug.h"
-#include "mninternal.h"
-#include "mnappserviceuids.hrh"
-
-#include "mnprovider.h"
-#include "mngeocoder.h"
-#include "mngeocodingserviceclient.h"
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-RMnGeocodingServiceClient::RMnGeocodingServiceClient()
-  : iResultSizePtr( iResultSize ) 
-    {
-    iResultSize = 0;
-    iLandmarkBuffer = NULL;
-    iPlainAddress = NULL;
-    iLastRequest = EMnIpcNone;
-    }
-
-RMnGeocodingServiceClient::~RMnGeocodingServiceClient()
-    {
-    delete iLandmarkBuffer;
-    delete iPlainAddress;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void RMnGeocodingServiceClient::AddressByCoordinateL(
-    const CPosLandmark& aCoordinateLanmdark,
-    CMnGeocoder::TOptions aOptions,
-    TRequestStatus& aStatus)
-    {
-    LOG("RMnGeocodingServiceClient::AddressByCoordinateL");
-    TIpcArgs args;
-    
-    // options
-    iOptions = aOptions;
-    TPckg<CMnGeocoder::TOptions> optsPack( iOptions );
-    iOptionsPtr.Set( optsPack );
-    args.Set( EMnIpcGeoOptionsParamIndex, &iOptionsPtr );
-
-    // landmark
-    delete iLandmarkBuffer;
-    iLandmarkBuffer = NULL;
-    iLandmarkBuffer = PosLandmarkSerialization::PackL( aCoordinateLanmdark );
-    args.Set( EMnIpcGeoLandmarkParamIndex, iLandmarkBuffer );
-    
-    // size of result
-    args.Set( EMnIpcGeoResultSizeParamIndex, &iResultSizePtr );
-    
-    SendReceive( EMnIpcCoordToAddress, args, aStatus );
-    iLastRequest = EMnIpcCoordToAddress;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void RMnGeocodingServiceClient::CoordinateByAddressL(
-    const CPosLandmark& aAddressLanmdark,
-    CMnGeocoder::TOptions aOptions,
-    TRequestStatus& aStatus )
-    {
-    LOG("RMnGeocodingServiceClient::CoordinateByAddressL");
-    TIpcArgs args;
-    
-    // options
-    iOptions = aOptions;
-    TPckg<CMnGeocoder::TOptions> optsPack( iOptions );
-    iOptionsPtr.Set( optsPack );
-    args.Set( EMnIpcGeoOptionsParamIndex, &iOptionsPtr );
-
-    // landmark
-    delete iLandmarkBuffer;
-    iLandmarkBuffer = NULL;
-    iLandmarkBuffer = PosLandmarkSerialization::PackL( aAddressLanmdark );
-    args.Set( EMnIpcGeoLandmarkParamIndex, iLandmarkBuffer );
-    
-    // size of result
-    args.Set( EMnIpcGeoResultSizeParamIndex, &iResultSizePtr );
-    
-    SendReceive( EMnIpcAddressToCoord, args, aStatus );
-    iLastRequest = EMnIpcAddressToCoord;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void RMnGeocodingServiceClient::CoordinateByAddressL(
-    const TDesC& aAddress,
-    CMnGeocoder::TOptions aOptions,
-    TRequestStatus& aStatus )
-    {
-    LOG("RMnGeocodingServiceClient::CoordinateByAddressL");
-    TIpcArgs args;
-    
-    // options
-    iOptions = aOptions;
-    TPckg<CMnGeocoder::TOptions> optsPack( iOptions );
-    iOptionsPtr.Set( optsPack );
-    args.Set( EMnIpcGeoOptionsParamIndex, &iOptionsPtr );
-
-    // landmark
-    delete iPlainAddress;
-    iPlainAddress = NULL;
-    iPlainAddress = aAddress.AllocL();
-    args.Set( EMnIpcGeoPlainAddressParamIndex, iPlainAddress );
-    
-    // size of result
-    args.Set( EMnIpcGeoResultSizeParamIndex, &iResultSizePtr );
-    
-    SendReceive( EMnIpcPlainAddressToCoord, args, aStatus );
-    iLastRequest = EMnIpcPlainAddressToCoord;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void RMnGeocodingServiceClient::GetLastResultL( 
-    CPosLandmark*& aResult,
-    TMnGeocodingResultType& aResultType )
-    {
-    LOG("RMnGeocodingServiceClient::GetLastResultL in");
-    TIpcArgs args;
-    
-    if ( iResultSize <= 0 )
-        {
-        User::Leave( KErrNotFound );
-        }
-    
-    // receiving buffer
-    HBufC8* lmBuf = HBufC8::NewLC( iResultSize );
-    TPtr8 lmBufPtr( lmBuf->Des() );
-    args.Set( EMnIpcGeoResultParamIndex, &lmBufPtr );
-    
-    TPckg<TMnGeocodingResultType> resultTypePack( aResultType );
-    args.Set( EMnIpcGeoResultTypeParamIndex, &resultTypePack);
-    
-    TInt err = SendReceive( EMnIpcGetConversionResult, args );
-    User::LeaveIfError( err );
-    
-    CPosLandmark* lm = PosLandmarkSerialization::UnpackL( *lmBuf );
-    aResult = lm;
-    CleanupStack::PopAndDestroy( lmBuf );
-    LOG("RMnGeocodingServiceClient::GetLastResultL out");
-    }
-
-// ---------------------------------------------------------------------------
-// From class RApaAppServiceBase.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TUid RMnGeocodingServiceClient::ServiceUid() const
-    { 
-    LOG("RMnGeocodingServiceClient::ServiceUid");
-    return TUid::Uid( KMnAppGeocodingService ); 
-    }
--- a/locationmapnavfw/library/src/mnmapimage.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,282 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnMapImage class implementation
-*
-*/
-
-
-#include <e32base.h>
-#include <e32math.h>
-#include <AknServerApp.h>
-#include <apaserverapp.h>
-#include <ecom/ecom.h>
-#include <fbs.h>
-
-#include "mnappservices.hrh"
-#include "mnerrors.h"
-#include "mninternal.h"
-#include "mnprovider.h"
-#include "mnmapimageserviceclient.h"
-#include "mncoordinateconverterbase.h"
-#include "mnmapimageparams.h"
-#include "mnactivecallback.h"
-#include "mnmapimage.h"
-
-// ============================== MEMBER FUNCTIONS ===========================
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnMapImage::CMnMapImage()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CMnMapImage* CMnMapImage::NewL( CMnProvider& aProvider )
-    {
-    CMnMapImage* self = new (ELeave) CMnMapImage;
-    CleanupStack::PushL( self );
-    self->ConstructL( aProvider );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnMapImage::ConstructL( CMnProvider& aProvider )
-    {
-    if ( !( aProvider.SupportedServices() & CMnProvider::EServiceMapImage ) )
-        {
-        User::Leave( KErrNotSupported );
-        }
-
-    iProviderFeatures = aProvider.SupportedFeatures( CMnProvider::EServiceMapImage );
-    
-    iCoordConverter = CMnCoordinateConverterBase::NewL( aProvider.Uid() );    
-
-    iSession = new (ELeave) RMnMapImageServiceClient();
-    iSession->ConnectL( aProvider.Uid() );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CMnMapImage::~CMnMapImage()
-    {
-    if ( iActiveCallback )
-        {
-        iActiveCallback->Cancel();
-        delete iActiveCallback;
-        }
-        
-    delete iExitMonitor;
-    
-    if ( iSession )
-        {
-        iSession->Close();
-        delete iSession;
-        }
-        
-    delete iCoordConverter;
-    REComSession::FinalClose();    
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TMnMapImageParams::TMapImageTypes CMnMapImage::SupportedImageTypes()
-    {
-    TMnMapImageParams::TMapImageTypes supportedTypes( TMnMapImageParams::ETypeUnspecified );
-
-    if ( iProviderFeatures & KMnSvcFeatureVectorMap )
-        {
-        supportedTypes |= TMnMapImageParams::ETypeVectorMap;
-        }
-    if ( iProviderFeatures & KMnSvcFeatureSatelliteImage )
-        {
-        supportedTypes |= TMnMapImageParams::ETypeSatelliteImage;
-        }
-    return supportedTypes;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TMnMapImageParams& CMnMapImage::MapImageParams()
-    {
-    return iMapImageParams;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TMnMapImageParams& CMnMapImage::MapImageParams() const    
-    {
-    return iMapImageParams;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnMapImage::SetMapImageParams( TMnMapImageParams& aImageParams )
-    {
-    iMapImageParams = aImageParams;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnMapImage::SetTargetOrigin( const TPoint& aOrigin )
-    {
-    iTargetOrigin = aOrigin;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TPoint CMnMapImage::TargetOrigin()
-    {
-    return iTargetOrigin;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnMapImage::SetShowOptions( const TShowOptions& aOptions )
-    {
-    iShowOptions = aOptions;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CMnMapImage::TShowOptions CMnMapImage::ShowOptions() const
-    {
-    return iShowOptions;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnMapImage::RenderL( CFbsBitmap& aBitmap, TRequestStatus& aStatus )
-    {
-    if ( iTargetOrigin.iX < 0 || iTargetOrigin.iY < 0 )    
-         {
-         User::Leave( KErrArgument );
-         }
-        
-    if ( aBitmap.SizeInPixels().iWidth < 
-         iMapImageParams.Size().iWidth + iTargetOrigin.iX || 
-         aBitmap.SizeInPixels().iHeight < 
-         iMapImageParams.Size().iHeight + iTargetOrigin.iY )
-         {
-         User::Leave( KErrArgument );
-         }
-         
-    if ( iMapImageParams.ImageType() != TMnMapImageParams::ETypeUnspecified &&
-         !( iMapImageParams.ImageType() & SupportedImageTypes() )  )
-        {
-        User::Leave( KErrArgument );
-        }
-
-    TMnMapImageOptions options;
-    options.iShowOptions = iShowOptions;
-    options.iTargetOrigin = iTargetOrigin;
-    iSession->Render( aBitmap, iMapImageParams, options, aStatus );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnMapImage::RenderL( CFbsBitmap& aBitmap, MMnMapImageRenderCallback& aCallback )
-    {
-    if ( !iActiveCallback ) 
-        {
-        iActiveCallback = CMnActiveCallback::NewL( *this, *iSession );
-        }
-
-    if ( iActiveCallback->IsActive() )
-        {
-        User::Panic( KMnPanicClientFault, KMnPanicDuplicateRequest );
-        }
-
-    // iActiveCallback member always points to CMnActiveCallback object
-    CMnActiveCallback* activeCallback = reinterpret_cast<CMnActiveCallback*>( iActiveCallback );
-    activeCallback->StartL( aBitmap, aCallback );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnMapImage::CancelRendering()
-    {
-    if ( iActiveCallback && iActiveCallback->IsActive() )
-        {
-        iActiveCallback->Cancel();
-        }
-    else
-        {
-        iSession->Cancel();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CMnMapImage::GetImageCoordinate(
-    const TCoordinate& aWorldCoordinate,
-    TPoint& aImagePoint ) const
-    {
-    iCoordConverter->SetMapImageParams( iMapImageParams );
-    return iCoordConverter->GetImageCoordinate( aWorldCoordinate, aImagePoint );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CMnMapImage::GetWorldCoordinate(
-    const TPoint& aImagePoint,
-    TCoordinate& aWorldCoordinate ) const
-    {
-    iCoordConverter->SetMapImageParams( iMapImageParams );
-    return iCoordConverter->GetWorldCoordinate( aImagePoint, aWorldCoordinate );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnMapImage::SetExitObserverL( MAknServerAppExitObserver& aObserver )
-    {
-    if ( iExitMonitor )
-        {
-        User::Leave( KErrAlreadyExists );
-        }
-    else
-        {
-        iExitMonitor = CApaServerAppExitMonitor::NewL( 
-            *iSession, aObserver, CActive::EPriorityStandard );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnMapImage::RemoveExitObserver()
-    {
-    delete iExitMonitor;
-    iExitMonitor = NULL;
-    }
--- a/locationmapnavfw/library/src/mnmapimageparams.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  TMnMapImageParams class implementation
-*
-*/
-
-
-#include <e32base.h>
-#include <fbs.h>
-
-#include "mnmapimageparams.h"
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TMnMapImageParams::TMnMapImageParams() :
-    iAreaWidth( 0 ), 
-    iAreaHeight( 0 ), 
-    iSize( 0,0 ), 
-    iDirection( 0 ),
-    iImageType( ETypeUnspecified ),
-    iProjectionId( 0 )
-    {
-    memclr( &reserved, sizeof(reserved) );
-    }
--- a/locationmapnavfw/library/src/mnmapimageservicebase.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,250 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnMapImageServiceBase class implementation
-*
-*/
-
-
-#include <e32base.h>
-#include <fbs.h>
-
-#include "mndebug.h"
-#include "mnerrors.h"
-#include "mninternal.h"
-#include "mninternal.inl"
-
-#include "mnmapimageservicebase.h"
-
-// ========================== MEMBER FUNCTIONS ===============================
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CMnMapImageServiceBase::CMnMapImageServiceBase()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CMnMapImageServiceBase::~CMnMapImageServiceBase()
-    {
-    if ( iBitmap )
-        {
-        delete iBitmap;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnMapImageServiceBase::BaseConstructL()
-    {
-    CMnServiceBase::BaseConstructL();
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TMnMapImageParams& CMnMapImageServiceBase::MapImageParams() const
-    {
-    return iMapImageParams;
-    }
-        
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TMnMapImageParams& CMnMapImageServiceBase::MapImageParams()
-    {
-    return iMapImageParams;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnMapImageServiceBase::SetMapImageParams( const TMnMapImageParams& aImageParams )
-    {
-    iMapImageParams = aImageParams;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TRect CMnMapImageServiceBase::TargetRect() const
-    {
-    if ( iBitmap )
-        {
-        return TRect( iTargetOrigin, iBitmap->SizeInPixels() );
-        }
-    else
-        {
-        return TRect( 0, 0, 0, 0 );
-        }
-    }
-        
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CMnMapImage::TShowOptions CMnMapImageServiceBase::ShowOptions() const
-    {
-    return iShowOptions;
-    }
-        
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CFbsBitmap& CMnMapImageServiceBase::TargetBitmap() const
-    {
-    if ( !iBitmap )
-        {
-        PanicServer( KErrGeneral );
-        }
-    return *iBitmap;
-    }
-        
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnMapImageServiceBase::CompleteRendering()
-    {
-    LOG("CMnMapImageServiceBase::CompleteRenderingL in");
-    if ( CurrentAsyncRequest() != EMnIpcRenderImage )
-        {
-        PanicServer( KMnPanicAttemptToCompleteNoRequest );
-        }
-        
-    if ( iMapImageParams.ImageType() == TMnMapImageParams::ETypeUnspecified ) 
-        {
-        PanicServer( KMnPanicInvalidResult );
-        }   
-
-    TPckg<TMnMapImageParams> paramsPack( iMapImageParams );
-    TInt err = iMessage.Write( EMnIpcImageParamsParamIndex, paramsPack );
-
-    CompleteRequest( err );
-    
-    delete iBitmap;
-    iBitmap = NULL;
-
-    LOG("CMnMapImageServiceBase::CompleteRenderingL out");
-    }
-    
-// ---------------------------------------------------------------------------
-//  From class CAknAppServiceBase
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnMapImageServiceBase::ServiceL( const RMessage2& aMessage )
-    {
-    //LOG1("CMnMapImageServiceBase::ServiceL in, function %d", aMessage.Function());
-    
-    switch ( aMessage.Function() )
-        {
-        case EMnIpcRenderImage:
-            PrepareAsyncRequestL( aMessage );
-            StartAsyncRequestL( aMessage );
-            break;
-
-        case EMnIpcCancel:
-            HandleCancelRequestL( aMessage );
-            break;
-            
-        default:
-            CMnServiceBase::ServiceL( aMessage );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnMapImageServiceBase::StartAsyncRequestL( const RMessage2& aMessage )
-    {
-    LOG("CMnMapImageServiceBase::StartAsyncRequestL in");
-
-    switch ( CurrentAsyncRequest() )
-        {
-        case EMnIpcRenderImage:
-            UnpackImageParamsL( aMessage );
-            UnpackOptionsL( aMessage );
-            UnpackBitmapHandleL( aMessage );
-            HandleRenderingL();
-            break;
-            
-        default:
-            User::Leave( KErrNotSupported );
-        }
-
-    LOG("CMnMapImageServiceBase::StartAsyncRequestL out");
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnMapImageServiceBase::UnpackOptionsL( const RMessage2& aMessage )
-    {
-    LOG("CMnMapImageServiceBase::UnpackOptionsL");
-    
-    TMnMapImageOptions options;
-    TPckg<TMnMapImageOptions> optsPack( options );
-    aMessage.ReadL( EMnIpcImageOptionsParamIndex, optsPack );
-    
-    if ( options.iShowOptions & CMnMapImage::EShowOptionCurrentLocation )
-        {
-        // leaves with KErrPermissionDenied if client does not have Location capability
-        aMessage.HasCapabilityL( ECapabilityLocation );
-        }
-    
-    iShowOptions = options.iShowOptions;
-    iTargetOrigin = options.iTargetOrigin;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnMapImageServiceBase::UnpackImageParamsL( const RMessage2& aMessage )
-    {
-    LOG("CMnMapImageServiceBase::UnpackImageParamsL");
-    
-    TPckg<TMnMapImageParams> paramsPack( iMapImageParams );
-    aMessage.ReadL( EMnIpcImageParamsParamIndex, paramsPack );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnMapImageServiceBase::UnpackBitmapHandleL( const RMessage2& aMessage )
-    {
-    TInt bitmapHandle = aMessage.Int2(); // EMnIpcImageBitmapHandleParamIndex == 2
-    LOG1("CMnMapImageServiceBase::UnpackBitmapHandleL, handle %d", bitmapHandle);
-
-    ASSERT( !iBitmap );
-        
-    iBitmap = new (ELeave) CFbsBitmap;
-    User::LeaveIfError( iBitmap->Duplicate( bitmapHandle ) );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnMapImageServiceBase::HandleCancelRequestL( const RMessage2& aMessage )
-    {
-    TInt request = CurrentAsyncRequest();
-    
-    CMnServiceBase::HandleCancelRequestL( aMessage );
-    
-    if ( request == EMnIpcRenderImage )
-        {
-        delete iBitmap;
-        iBitmap = NULL;
-        }
-    }
--- a/locationmapnavfw/library/src/mnmapimageserviceclient.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  RMnMapImageServiceClient class implementation
-*
-*/
-
-
-#include <e32base.h>
-#include <fbs.h>
-
-#include "mndebug.h"
-#include "mninternal.h"
-#include "mnappserviceuids.hrh"
-
-#include "mnprovider.h"
-#include "mnmapimage.h"
-#include "mnmapimageserviceclient.h"
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-RMnMapImageServiceClient::RMnMapImageServiceClient()
-  : iParamsDes( NULL, 0 ), iOptionsPack( iOptions )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void RMnMapImageServiceClient::Render( 
-    CFbsBitmap& aBitmap, 
-    TMnMapImageParams& aParams,
-    TMnMapImageOptions& aOptions,
-    TRequestStatus& aStatus)
-    {
-    LOG("RMnMapImageServiceClient::RenderL");
-    TIpcArgs args;
-
-    // bitmap handle
-    TInt handle = aBitmap.Handle();
-    args.Set( EMnIpcImageBitmapHandleParamIndex, handle );
-
-    // options
-    iOptions = aOptions;
-    args.Set( EMnIpcImageOptionsParamIndex, &iOptionsPack );
-
-    // params
-    TPckg<TMnMapImageParams> pack( aParams );
-    iParamsDes.Set( pack );
-    args.Set( EMnIpcImageParamsParamIndex, &iParamsDes );
-    
-    SendReceive( EMnIpcRenderImage, args, aStatus );
-    iLastRequest = EMnIpcRenderImage;
-    }
-    
-// ---------------------------------------------------------------------------
-// From class RApaAppServiceBase.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TUid RMnMapImageServiceClient::ServiceUid() const
-    { 
-    LOG("RMnMapImageServiceClient::ServiceUid");
-    return TUid::Uid( KMnAppMapImageService ); 
-    }
--- a/locationmapnavfw/library/src/mnmapview.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,391 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnMapView class implementation
-*
-*/
-
-
-#include <e32base.h>
-#include <f32file.h>
-#include <e32math.h>
-#include <barsc2.h>
-#include <barsread2.h>
-#include <bautils.h>
-#include <eikenv.h>
-#include <AknServerApp.h>
-#include <apaserverapp.h>
-
-#include <lbsposition.h>
-
-#include <mnclientlib.rsg>
-
-#include "mnerrors.h"
-#include "mninternal.h"
-#include "mndebug.h"
-#include "mnutils.h"
-
-#include "mnprovider.h"
-#include "mnmapviewserviceclient.h"
-#include "mnmapview.h"
-
-// ======== LOCAL FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnMapView::CMnMapView()
-    {
-    ResetMapArea();
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CMnMapView* CMnMapView::NewL( CMnProvider& aProvider )
-    {
-    CMnMapView* self = new (ELeave) CMnMapView();
-    CleanupStack::PushL( self );
-    self->ConstructNewL( aProvider );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CMnMapView* CMnMapView::NewChainedL( CMnProvider& aProvider )
-    {
-    CMnMapView* self = new (ELeave) CMnMapView();
-    CleanupStack::PushL( self );
-    self->ConstructChainedL( aProvider );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnMapView::ConstructCommonL( CMnProvider& aProvider )
-    {
-    if ( !( aProvider.SupportedServices() & CMnProvider::EServiceMapView ) )
-        {
-        User::Leave( KErrNotSupported );
-        }
-    
-    // default request text
-    RFs fs;
-    User::LeaveIfError( fs.Connect() );
-    CleanupClosePushL( fs );
-
-    iDefaultRequestText = LoadResourceTextL( fs, KLibResourceFile, R_MN_LIBRARY_REQUEST_TEXT );
-
-    CleanupStack::PopAndDestroy( &fs );
-    
-    // session with provider
-    iSession = new (ELeave) RMnMapViewServiceClient;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnMapView::ConstructNewL( CMnProvider& aProvider )
-    {
-    ConstructCommonL( aProvider );
-    iSession->ConnectL( aProvider.Uid() );
-    PostConstructL();            
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnMapView::ConstructChainedL( CMnProvider& aProvider )
-    {
-    ConstructCommonL( aProvider );
-    iSession->ConnectChainedL( aProvider.Uid() );
-LOG("CMnMapView::ConstructChainedL, after connect chained");
-    PostConstructL();            
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnMapView::PostConstructL()
-    {
-    iSession->InitSelectionRequestTextL( iDefaultRequestText );            
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CMnMapView::~CMnMapView()
-    {
-    delete iDefaultRequestText;
-    delete iExitMonitor;
-    
-    if ( iSession )
-        {
-        iSession->Close();
-        delete iSession;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnMapView::ShowMapL()
-    {
-    TMnMapOptions options;
-    options.iOptions = iOptions;
-    options.iCurrentLocationOption = iCurrentLocationOption;
-    options.iCentralPoint = iCentralPoint;
-    options.iRadius = iRadius;
-
-    iSession->ShowMapL( options );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnMapView::ShowCurrentLocationL()
-    {
-    TMnMapOptions options;
-    options.iOptions = iOptions;
-    options.iCurrentLocationOption = iCurrentLocationOption;
-    options.iCentralPoint = iCentralPoint;
-    options.iRadius = iRadius;
-
-    iSession->ShowCurrentLocationL( options );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnMapView::SelectFromMapL( TRequestStatus& aStatus )
-    {
-    TMnMapOptions options;
-    options.iOptions = iOptions;
-    options.iCurrentLocationOption = iCurrentLocationOption;
-    options.iCentralPoint = iCentralPoint;
-    options.iRadius = iRadius;
-
-    iSession->SelectFromMap( options, aStatus );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnMapView::AddLandmarksToShowL(
-    const TDesC& aDatabaseUri,
-    RArray<TPosLmItemId>& aLandmarkIds)
-    {
-    iSession->AddLandmarksToShowL( aDatabaseUri, aLandmarkIds );
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnMapView::AddLandmarksToShowL( RPointerArray<CPosLandmark>& aLandmarks )
-    {
-    iSession->AddLandmarksToShowL( aLandmarks );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnMapView::AddLandmarksToShowL( RArray<TPtrC8>& aPackedLandmarks )
-    {
-    iSession->AddLandmarksToShowL( aPackedLandmarks );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnMapView::ResetLandmarksToShow()
-    {
-    iSession->ResetLandmarksToShow();
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnMapView::SetMapAreaL(const TCoordinate& aCentralPoint, TReal aRadius)
-    {
-    iCentralPoint = aCentralPoint;
-    iRadius = aRadius;
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnMapView::ResetMapArea()
-    {
-    TCoordinate empty;
-    iCentralPoint = empty;
-    
-    TRealX nan;
-    nan.SetNaN();
-    iRadius = nan;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnMapView::SetCustomRequestTextL(const TDesC& aCustomText)
-    {
-    iSession->SetSelectionRequestTextL( aCustomText );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnMapView::SetUseDefaultRequestText()
-    {
-    iSession->SetSelectionRequestText( iDefaultRequestText );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnMapView::SetCurrentLocationOption(TCurrentLocationOption aCurrentLocationOption)
-    {
-    iCurrentLocationOption = aCurrentLocationOption;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CMnMapView::TCurrentLocationOption CMnMapView::CurrentLocationOption() const
-    {
-    return iCurrentLocationOption;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnMapView::SetOptions(TOptions aOptions)
-    {
-    iOptions = aOptions;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CMnMapView::TOptions CMnMapView::Options() const
-    {
-    return iOptions;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CMnMapView::TSelectionResultType CMnMapView::SelectionResultType() const
-    {
-    return iSession->SelectionResultType();
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPosLandmark* CMnMapView::RetrieveSelectionResultL()
-    {
-    return iSession->GetSelectedLandmarkL();
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnMapView::RetrieveSelectionResultL( TInt& aLandmarkIndex )
-    {
-    iSession->GetSelectedLandmarkL( aLandmarkIndex );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnMapView::RetrieveSelectionResultL( 
-    TPosLmItemId& aLandmarkId,
-    HBufC*& aDatabaseUri )
-    {
-    iSession->GetSelectedLandmarkL( aLandmarkId, aDatabaseUri );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnMapView::Cancel()
-    {
-    iSession->Cancel();
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnMapView::SetExitObserverL( MAknServerAppExitObserver& aObserver )
-	{
-	LOG("CMnMapView::SetExitObserverL in");	
-	if ( iExitMonitor )
-		{
-		User::Leave( KErrAlreadyExists );
-		}
-	else
-		{
-		iExitMonitor = CApaServerAppExitMonitor::NewL( 
-			*iSession, aObserver, CActive::EPriorityStandard );
-		}
-	LOG("CMnMapView::SetExitObserverL out");	
-	}
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnMapView::RemoveExitObserver()
-	{
-	delete iExitMonitor;
-	iExitMonitor = NULL;
-	}
-
-// ======== INTERNAL FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-HBufC* CMnMapView::LoadResourceTextL( 
-    RFs& aFsSession, 
-    const TDesC& aRscFile, 
-    TInt aResourceId )
-    {
-    TFileName fileName;
-    MnUtils::FindLocalizedResourceFileL( aFsSession, aRscFile, fileName );
-
-    CResourceFile* resFile = CResourceFile::NewL( aFsSession, fileName, 0, 0 );
-    CleanupStack::PushL( resFile );
-    resFile->ConfirmSignatureL( 0 );
-    
-    RResourceReader reader;
-    reader.OpenL( resFile, aResourceId );
-    CleanupClosePushL( reader );
-    
-    HBufC* text = reader.ReadHBufC16L();
-    
-    CleanupStack::PopAndDestroy( &reader );
-    CleanupStack::PopAndDestroy( resFile );
-        
-    return text;        
-    }
--- a/locationmapnavfw/library/src/mnmapviewservicebase.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,588 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnMapViewServiceBase class implementation
-*
-*/
-
-
-#include <e32base.h>
-#include <s32mem.h>
-#include <e32math.h>
-#include <lbsposition.h>
-
-#include <EPos_CPosLandmark.h>
-#include <epos_poslandmarkserialization.h>
-
-#include "mndebug.h"
-#include "mnerrors.h"
-#include "mninternal.h"
-#include "mninternal.inl"
-#include "mnmapselectionresultinfo.inl"
-
-#include "mnmapviewservicebase.h"
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CMnMapViewServiceBase::CMnMapViewServiceBase()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CMnMapViewServiceBase::~CMnMapViewServiceBase()
-    {
-    LOG("~CMnMapViewServiceBase in");
-    ResetLandmarks();
-    iLandmarks.Close();
-    iLinkedLandmarksLists.Close();
-    iTempDatabaseList.Close();
-
-    CleanSelectionResult();
-    delete iSelectionRequestText;
-    LOG("~CMnMapViewServiceBase out");
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnMapViewServiceBase::BaseConstructL()
-    {
-    LOG("CMnMapViewServiceBase::BaseConstructL");
-    CMnServiceBase::BaseConstructL();
-    iSelectionRequestText = HBufC::NewL( 0 );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CMnMapView::TOptions CMnMapViewServiceBase::Options()
-    {
-    LOG("CMnMapViewServiceBase::Options");
-    return iOptions;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CMnMapView::TCurrentLocationOption CMnMapViewServiceBase::CurrentLocationOption()
-    {
-    LOG("CMnMapViewServiceBase::CurrentLocationOption");
-    return iCurrentLocationOption;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TArray<const CPosLandmark*> CMnMapViewServiceBase::LandmarksToShow()
-    {
-    LOG("CMnMapViewServiceBase::LandmarksToShow");
-    return iLandmarks.Array();
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TArray<TPosLmItemId> CMnMapViewServiceBase::LinkedLandmarksToShow( TInt aDbIndex )
-    {
-    LOG1("CMnMapViewServiceBase::LinkedLandmarksToShow, db index %d", aDbIndex);
-    if ( aDbIndex < 0 || aDbIndex >= iLinkedLandmarksLists.Count() )
-        {
-        PanicServer( KMnPanicArrayIndexOutOfBounds );
-        }
-    return iLinkedLandmarksLists[aDbIndex]->iLandmarkIds.Array();
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TArray<const HBufC*> CMnMapViewServiceBase::LandmarksToShowDatabases()
-    {
-    LOG("CMnMapViewServiceBase::LandmarksToShowDatabases");
-    if ( iTempDatabaseList.Count() != iLinkedLandmarksLists.Count() )
-        {
-        // update database list
-        iTempDatabaseList.Reset();    
-        for ( TInt i = 0; i < iLinkedLandmarksLists.Count(); i++ )
-            {
-            iTempDatabaseList.Append( iLinkedLandmarksLists[i]->iDatabaseUri );
-            }
-        }
-    return iTempDatabaseList.Array();
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TPtrC CMnMapViewServiceBase::SelectionRequestText()
-    {
-    LOG("CMnMapViewServiceBase::SelectionRequestText");
-    return iSelectionRequestText->Des();
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CMnMapViewServiceBase::IsAreaCentralPointSet()
-    {
-    LOG("CMnMapViewServiceBase::IsAreaCentralPointSet");
-    return !( Math::IsNaN( iCentralPoint.Latitude() ) &&
-              Math::IsNaN( iCentralPoint.Longitude() ) );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnMapViewServiceBase::GetAreaCentralPoint( TCoordinate& aCentralPoint )
-    {
-    LOG("CMnMapViewServiceBase::GetAreaCentralPoint");
-    aCentralPoint = iCentralPoint;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TReal CMnMapViewServiceBase::AreaRadius()
-    {
-    LOG("CMnMapViewServiceBase::AreaRadius");
-    return iRadius;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnMapViewServiceBase::CompleteSelectionRequestL( const CPosLandmark& aLandmark )
-    {
-    LOG("CMnMapViewServiceBase::CompleteSelectionRequestL(free) in");
-
-    if ( !IsAsyncRequestActive() )
-        {
-        PanicServer( KMnPanicAttemptToCompleteNoRequest );
-        }
-        
-    if ( iOptions & CMnMapView::EOptionRestrictSelection )
-        {
-        User::Leave( KErrArgument );
-        }
-
-    CleanSelectionResult();
-    
-    iResultLandmark = PosLandmarkSerialization::PackL( aLandmark );
-    
-    TMnMapSelectionResultInfo info( *iResultLandmark );
-    TPckgC<TMnMapSelectionResultInfo> resultInfoPack( info );
-
-    TInt err = iMessage.Write( EMnIpcMapSelectionResultInfoParamIndex, resultInfoPack );
-    
-    CompleteRequest( err );
-
-    LOG("CMnMapViewServiceBase::CompleteSelectionRequestL(free) out");
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnMapViewServiceBase::CompleteSelectionRequest( TInt aLandmarkIndex )
-    {
-    LOG1("CMnMapViewServiceBase::CompleteSelectionRequest(index) in, index=%d", aLandmarkIndex);
-
-    if ( !IsAsyncRequestActive() )
-        {
-        PanicServer( KMnPanicAttemptToCompleteNoRequest );
-        }
-    
-    if ( aLandmarkIndex < 0 || aLandmarkIndex >= iLandmarks.Count() )
-        {
-        PanicServer( KMnPanicArrayIndexOutOfBounds );
-        }
-
-    CleanSelectionResult();
-    
-    TMnMapSelectionResultInfo info( aLandmarkIndex );
-    TPckgC<TMnMapSelectionResultInfo> resultInfoPack( info );
-
-    TInt err = iMessage.Write( EMnIpcMapSelectionResultInfoParamIndex, resultInfoPack );
-
-    CompleteRequest( err );
-
-    LOG("CMnMapViewServiceBase::CompleteSelectionRequest(index) out");
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnMapViewServiceBase::CompleteSelectionRequest(
-    TPosLmItemId aLandmarkId, 
-    TInt aDbIndex)
-    {
-    LOG2("CMnMapViewServiceBase::CompleteSelectionRequest(id,db) in, dbIndex %d, lmId %d",
-        aDbIndex, aLandmarkId);
-
-    if ( !IsAsyncRequestActive() )
-        {
-        PanicServer( KMnPanicAttemptToCompleteNoRequest );
-        }
-
-    if ( aDbIndex < 0 || aDbIndex >= iLinkedLandmarksLists.Count() )
-        {
-        LOG1("CMnMapViewServiceBase::CompleteSelectionRequest(id,db) dbIndex invalid, max %d",
-            iLinkedLandmarksLists.Count());
-        PanicServer( KMnPanicArrayIndexOutOfBounds );
-        }
-        
-    if ( KErrNotFound == iLinkedLandmarksLists[aDbIndex]->iLandmarkIds.Find( aLandmarkId ) )
-        {
-        LOG("CMnMapViewServiceBase::CompleteSelectionRequest(id,db) lmId not found");
-        PanicServer( KMnPanicArrayIndexOutOfBounds );
-        }
-
-    CleanSelectionResult();
-    
-    TMnMapSelectionResultInfo info( 
-        aLandmarkId, 
-        *(iLinkedLandmarksLists[aDbIndex]->iDatabaseUri) );
-
-    TPckgC<TMnMapSelectionResultInfo> resultInfoPack( info );
-    TInt err = iMessage.Write( EMnIpcMapSelectionResultInfoParamIndex, resultInfoPack );
-
-    CompleteRequest( err );
-
-    LOG("CMnMapViewServiceBase::CompleteSelectionRequest(id,db) out");
-    }
-       
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnMapViewServiceBase::ServiceL( const RMessage2& aMessage )
-    {
-    LOG1("CMnMapViewServiceBase::ServiceL in, function %d", aMessage.Function());
-    
-    switch ( aMessage.Function() )
-        {
-        case EMnIpcAddLmIdsToShow:
-            HandleAddLandmarkIdsToShowL( aMessage );
-            break;
-            
-        case EMnIpcAddLandmarksToShow:
-            HandleAddLandmarksToShowL( aMessage );
-            break;
-            
-        case EMnIpcResetLandmarksToShow: // blind request
-            ResetLandmarks();
-            break;
-            
-        case EMnIpcCancel:
-            HandleCancelRequestL( aMessage );
-            break;
-            
-        case EMnIpcShowMap:
-            UnpackOptionsL( aMessage );
-		    LOG("CMnMapViewServiceBase::ServiceL, calling HandleShowMapL");
-            HandleShowMapL();
-            Complete( aMessage, KErrNone );
-            break;
-            
-        case EMnIpcShowCurrentLocation:
-            UnpackOptionsL( aMessage );
-		    LOG("CMnMapViewServiceBase::ServiceL, calling HandleShowCurrentLocationL");
-            HandleShowCurrentLocationL();
-            Complete( aMessage, KErrNone );
-            break;
-
-        case EMnIpcInitRequestText:
-            UnpackSelectionRequestTextL( aMessage );
-            Complete( aMessage, KErrNone );
-            break;
-    
-        case EMnIpcSelectFromMap:
-            PrepareAsyncRequestL( aMessage );
-            UnpackOptionsL( aMessage );
-            UnpackSelectionRequestTextL( aMessage );
-            VerifySelectionRequestL();
-		    LOG("CMnMapViewServiceBase::ServiceL, calling HandleSelectFromMapL");
-            HandleSelectFromMapL();
-            break;
-            
-        case EMnIpcGetSelectionResultLandmark:
-            HandleGetSelectionResultLandmarkL( aMessage );
-            break;
-
-        case EMnIpcGetSelectionResultDbUri:
-            HandleGetSelectionResultDbUriL( aMessage );
-            break;
-
-        default:
-            CMnServiceBase::ServiceL( aMessage );
-        }
-}
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnMapViewServiceBase::CleanSelectionResult()
-    {
-    delete iResultLandmark;
-    iResultLandmark = NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnMapViewServiceBase::HandleAddLandmarkIdsToShowL( const RMessage2& aMessage )
-    {
-    LOG("CMnMapViewServiceBase::HandleAddLandmarkIdsToShowL in");
-
-    if ( IsAsyncRequestActive() )
-        {
-        User::Leave( KErrLocked );
-        }
-        
-    // Read client's data
-    HBufC* uri = CopyClientBufferLC( aMessage, EMnIpcMapDbUriParamIndex );
-    HBufC8* buf = CopyClientBuffer8LC( aMessage, EMnIpcMapLmIdsParamIndex );
-
-    if ( buf->Size() % ( sizeof( TPosLmItemId ) ) != 0 )
-        {
-        User::Leave( KErrArgument );
-        }
-
-    TInt lmCount = buf->Size() / ( sizeof( TPosLmItemId ) );
-    const TPosLmItemId* ids = reinterpret_cast<const TPosLmItemId*>( buf->Ptr() );
-
-    // Save data to internal structs
-    iTempDatabaseList.Reset();        
-    CLinkedLandmarksList* linked = NULL;
-
-    // check if this database is already listed
-    TInt dbIndex = FindDatabase( *uri );
-    if ( dbIndex == KErrNotFound )
-        {
-        linked = new (ELeave) CLinkedLandmarksList;
-        CleanupStack::PushL( linked );
-        linked->iDatabaseUri = uri;
-        iLinkedLandmarksLists.AppendL( linked );
-        CleanupStack::Pop( linked );
-        }
-    else
-        {
-        linked = iLinkedLandmarksLists[dbIndex];
-        }
-
-    for ( TInt i = 0; i < lmCount; i++ )
-        {
-        linked->iLandmarkIds.AppendL( ids[i] );
-        }
-
-    // Finalize
-    Complete( aMessage, KErrNone );
-
-    CleanupStack::PopAndDestroy( buf );
-    CleanupStack::Pop( uri );
-
-    LOG("CMnMapViewServiceBase::HandleAddLandmarkIdsToShowL out");
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnMapViewServiceBase::HandleAddLandmarksToShowL( const RMessage2& aMessage )
-    {
-    LOG("CMnMapViewServiceBase::HandleAddLandmarksToShowL in");
-
-    if ( IsAsyncRequestActive() )
-        {
-        User::Leave( KErrLocked );
-        }
-
-    HBufC8* buf = CopyClientBuffer8LC( aMessage, EMnIpcMapLandmarksParamIndex );
-    RDesReadStream readStream( *buf );
-
-    LOG1("CMnMapViewServiceBase::HandleAddLandmarksToShowL buffersize %d", buf->Size());
-    
-    TInt lmCount = readStream.ReadInt32L();
-    
-    LOG1("CMnMapViewServiceBase::HandleAddLandmarksToShowL lmCount %d", lmCount);
-
-    for ( TInt i = 0; i < lmCount; i++ )
-        {
-        TInt lmSize = readStream.ReadInt32L();
-        
-        HBufC8* lmBuf = HBufC8::NewLC( lmSize );
-        
-        TPtr8 lmData( lmBuf->Des() );
-        readStream.ReadL( lmData, lmSize );
-        
-        CPosLandmark* lm = PosLandmarkSerialization::UnpackL( *lmBuf );
-        CleanupStack::PushL( lm );
-
-        iLandmarks.AppendL( lm );
-
-        CleanupStack::Pop( lm );
-        CleanupStack::PopAndDestroy( lmBuf );
-        }
-    
-    readStream.Close();
-    CleanupStack::PopAndDestroy( buf );
-
-    Complete( aMessage, KErrNone );
-    LOG("CMnMapViewServiceBase::HandleAddLandmarksToShowL out");
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnMapViewServiceBase::HandleGetSelectionResultLandmarkL( const RMessage2& aMessage )
-    {
-    LOG("CMnMapViewServiceBase::HandleGetSelectionResultLandmarkL in");
-    
-    if ( iResultLandmark )
-        {
-        aMessage.WriteL( EMnIpcMapSelResultBufferParamIndex, *iResultLandmark );
-        Complete( aMessage, KErrNone );
-        }
-    else
-        {
-        User::Leave( KErrNotFound );
-        }
-
-    LOG("CMnMapViewServiceBase::HandleGetSelectionResultLandmarkL out");
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnMapViewServiceBase::HandleGetSelectionResultDbUriL( const RMessage2& aMessage )
-    {
-    LOG("CMnMapViewServiceBase::HandleGetSelectionResultDbUriL in");
-    
-    __ASSERT_DEBUG( 
-        iResultDbIndex >= 0 && iResultDbIndex < iLinkedLandmarksLists.Count() ,
-        Panic( KErrGeneral ) );
-    
-    if ( iResultDbIndex != KErrNotFound )
-        {
-        __ASSERT_DEBUG( 
-            iLinkedLandmarksLists[iResultDbIndex]->iDatabaseUri ,
-            Panic( KErrGeneral ) );
-
-        aMessage.WriteL( 
-            EMnIpcMapSelResultBufferParamIndex, 
-            *(iLinkedLandmarksLists[iResultDbIndex]->iDatabaseUri) );
-            
-        Complete( aMessage, KErrNone );
-        }
-    else
-        {
-        User::Leave( KErrNotFound );
-        }
-
-    LOG("CMnMapViewServiceBase::HandleGetSelectionResultDbUriL out");
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnMapViewServiceBase::ResetLandmarks()
-    {
-    if ( !IsAsyncRequestActive() )
-        {
-	    iLandmarks.ResetAndDestroy();
-	    iLinkedLandmarksLists.ResetAndDestroy();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-TInt CMnMapViewServiceBase::FindDatabase( const TDesC& aUri )
-    {
-    for ( TInt i = 0; i < iLinkedLandmarksLists.Count(); i++ )
-        {
-        CLinkedLandmarksList* list = iLinkedLandmarksLists[i];
-        if ( list->iDatabaseUri->Compare( aUri ) == 0 )
-            {
-            return i;
-            }
-        }
-    return KErrNotFound;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnMapViewServiceBase::UnpackOptionsL( const RMessage2& aMsg )
-    {
-    HBufC8* buf = CopyClientBuffer8LC( aMsg, EMnIpcMapOptionsParamIndex );
-    const TMnMapOptions& options = *( 
-        reinterpret_cast<const TMnMapOptions*>( buf->Ptr() ) );
-
-    iOptions = options.iOptions;
-    iCurrentLocationOption = options.iCurrentLocationOption;
-    iCentralPoint = options.iCentralPoint;
-    iRadius = options.iRadius;
-
-    CleanupStack::PopAndDestroy( buf );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnMapViewServiceBase::UnpackSelectionRequestTextL( const RMessage2& aMsg )
-    {
-    HBufC* buf = CopyClientBufferLC( aMsg, EMnIpcMapSelectionTextParamIndex );
-    
-    delete iSelectionRequestText;
-    iSelectionRequestText = NULL;
-    iSelectionRequestText = buf;
-
-    CleanupStack::Pop( buf );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnMapViewServiceBase::VerifySelectionRequestL()
-    {
-    if ( iOptions & CMnMapView::EOptionRestrictSelection )
-        {
-        // find out how many landmarks are given
-        TInt num = iLandmarks.Count();
-        for ( TInt i = 0; i < iLinkedLandmarksLists.Count(); i++ )
-            {
-            CLinkedLandmarksList* linked = iLinkedLandmarksLists[i];
-            num += linked->iLandmarkIds.Count();
-            }
-        LOG1("CMnMapViewServiceBase::VerifySelectionRequestL, restricted with %d landmarks", num);
-        if ( num < 1 )
-            {
-            User::Leave( KErrArgument );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnMapViewServiceBase::CLinkedLandmarksList::~CLinkedLandmarksList()
-    {
-    delete iDatabaseUri;
-    iLandmarkIds.Close();
-    }
-
-
--- a/locationmapnavfw/library/src/mnmapviewserviceclient.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,362 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  RMnMapViewServiceClient class implementation
-*
-*/
-
-
-#include <e32base.h>
-#include <s32mem.h>
-
-#include <lbsposition.h>
-
-#include <EPos_CPosLandmark.h>
-#include <epos_poslandmarkserialization.h>
-
-#include "mnerrors.h"
-#include "mndebug.h"
-#include "mninternal.h"
-#include "mninternal.inl"
-#include "mnmapselectionresultinfo.inl"
-
-#include "mnappserviceuids.hrh"
-#include "mnmapviewserviceclient.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-RMnMapViewServiceClient::RMnMapViewServiceClient()
-  : iSelectionRequestText( NULL ),
-    iSelectionRequestTextOwned( EFalse ),
-    iResultInfoPtr( iResultInfo )
-    {
-    Mem::FillZ( &iResultInfo, sizeof( TMnMapSelectionResultInfo ) );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-RMnMapViewServiceClient::~RMnMapViewServiceClient()
-    {
-    ClearSelectionRequestText();
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void RMnMapViewServiceClient::AddLandmarksToShowL(
-    const TDesC& aDatabaseUri,
-    RArray<TPosLmItemId>& aLandmarkIds)
-    {
-    TIpcArgs args;
-    
-    // db uri
-    args.Set( EMnIpcMapDbUriParamIndex, &aDatabaseUri );
-    
-    // landmark ids
-    TInt lmCount = aLandmarkIds.Count();
-    TPosLmItemId* ids = new (ELeave) TPosLmItemId[ lmCount ];
-    
-    for ( TUint32 i = 0; i < lmCount; i++ )
-        {
-        *(ids + i) = aLandmarkIds[i];
-        }
-        
-    TPtrC8 idsDes( reinterpret_cast<const TUint8*>( ids ), sizeof( TPosLmItemId ) * lmCount );
-    args.Set( EMnIpcMapLmIdsParamIndex, &idsDes );
-
-    TInt err = SendReceive( EMnIpcAddLmIdsToShow, args );
-    delete[] ids;
-    User::LeaveIfError( err );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void RMnMapViewServiceClient::AddLandmarksToShowL( RPointerArray<CPosLandmark>& aLandmarks )
-    {
-    LOG("RMnMapViewServiceClient::AddLandmarksToShowL in");
-
-    TIpcArgs args;
-
-    const TInt KGranularity = 1024;      // expand in chunks of 1K
-    CBufFlat* lmBuffer = CBufFlat::NewL( KGranularity );
-    CleanupStack::PushL( lmBuffer );
-
-    RBufWriteStream writeStream;
-    writeStream.Open( *lmBuffer );
-    CleanupClosePushL( writeStream );
-
-    writeStream.WriteInt32L( aLandmarks.Count() );
-
-    LOG1("RMnMapViewServiceClient::AddLandmarksToShowL count %d", aLandmarks.Count());
-
-    for ( TInt i = 0; i < aLandmarks.Count(); i++ )
-        {
-        HBufC8* lmBuf = PosLandmarkSerialization::PackL( *aLandmarks[i] );
-        CleanupStack::PushL( lmBuf );
-        
-        writeStream.WriteInt32L( lmBuf->Size() );
-        writeStream.WriteL( *lmBuf );
-
-        CleanupStack::PopAndDestroy( lmBuf );
-        }
-    writeStream.CommitL();
-    CleanupStack::PopAndDestroy( &writeStream );
-
-    LOG1("RMnMapViewServiceClient::AddLandmarksToShowL totalsize %d", lmBuffer->Size());
-
-    //lmBuffer->Compress();
-    TPtr8 lmBufferPtr( lmBuffer->Ptr( 0 ) );
-    User::LeaveIfError( 
-        SendReceive( EMnIpcAddLandmarksToShow, TIpcArgs( &lmBufferPtr ) ) );
-
-    CleanupStack::PopAndDestroy( lmBuffer );
-    LOG("RMnMapViewServiceClient::AddLandmarksToShowL out");
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void RMnMapViewServiceClient::AddLandmarksToShowL( RArray<TPtrC8>& aPackedLandmarks )
-    {
-    LOG("RMnMapViewServiceClient::AddLandmarksToShowL (packed) in");
-    TIpcArgs args;
-
-    const TInt KGranularity = 1024;      // expand in chunks of 1K
-    CBufFlat* lmBuffer = CBufFlat::NewL( KGranularity );
-    CleanupStack::PushL( lmBuffer );
-
-    RBufWriteStream writeStream;
-    writeStream.Open( *lmBuffer );
-    CleanupClosePushL( writeStream );
-
-    writeStream.WriteInt32L( aPackedLandmarks.Count() );
-
-    LOG1("RMnMapViewServiceClient::AddLandmarksToShowL (packed) count %d", aPackedLandmarks.Count());
-
-    for ( TInt i = 0; i < aPackedLandmarks.Count(); i++ )
-        {
-        TPtrC8 data( aPackedLandmarks[i] );
-        
-        writeStream.WriteInt32L( data.Size() );
-        writeStream.WriteL( data );
-        }
-
-    writeStream.CommitL();
-    CleanupStack::PopAndDestroy( &writeStream );
-
-    LOG1("RMnMapViewServiceClient::AddLandmarksToShowL (packed) totalsize %d", lmBuffer->Size());
-
-    lmBuffer->Compress();
-    TPtr8 lmBufferPtr( lmBuffer->Ptr( 0 ) );
-    User::LeaveIfError( 
-        SendReceive( EMnIpcAddLandmarksToShow, TIpcArgs( &lmBufferPtr ) ) );
-
-    CleanupStack::PopAndDestroy( lmBuffer );
-    LOG("RMnMapViewServiceClient::AddLandmarksToShowL (packed) out");
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void RMnMapViewServiceClient::ResetLandmarksToShow()
-    {
-    Send( EMnIpcResetLandmarksToShow );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void RMnMapViewServiceClient::SetSelectionRequestTextL(
-    const TDesC& aSelectionRequestText)
-    {
-    ClearSelectionRequestText();    
-    iSelectionRequestText = aSelectionRequestText.AllocL();
-    iSelectionRequestTextOwned = ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void RMnMapViewServiceClient::SetSelectionRequestText( HBufC*& aSelectionRequestText )
-    {
-    ClearSelectionRequestText();
-    iSelectionRequestText = aSelectionRequestText;
-    iSelectionRequestTextOwned = EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void RMnMapViewServiceClient::InitSelectionRequestTextL( HBufC*& aSelectionRequestText )
-    {
-    SetSelectionRequestText( aSelectionRequestText );
-
-    TIpcArgs args;
-    args.Set( EMnIpcMapSelectionTextParamIndex, iSelectionRequestText );
-    
-    TInt err = SendReceive( EMnIpcInitRequestText, args );
-    LOG1("RMnMapViewServiceClient::InitSelectionRequestTextL, sendreceive = %d", err);
-    User::LeaveIfError( err );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void RMnMapViewServiceClient::ClearSelectionRequestText()
-    {
-    if ( iSelectionRequestTextOwned )
-        {
-        delete iSelectionRequestText;
-        }
-    iSelectionRequestText = NULL;
-    iSelectionRequestTextOwned = ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void RMnMapViewServiceClient::ShowMapL( TMnMapOptions aOptions )
-    {
-    TIpcArgs args;
-    
-    TPckgC<TMnMapOptions> optsPack( aOptions );
-    args.Set( EMnIpcMapOptionsParamIndex, &optsPack );
-    
-    User::LeaveIfError( SendReceive( EMnIpcShowMap, args ) );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void RMnMapViewServiceClient::ShowCurrentLocationL( TMnMapOptions aOptions )
-    {
-    TIpcArgs args;
-    
-    TPckgC<TMnMapOptions> optsPack( aOptions );
-    args.Set( EMnIpcMapOptionsParamIndex, &optsPack );
-    
-    User::LeaveIfError( SendReceive( EMnIpcShowCurrentLocation, args ) );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void RMnMapViewServiceClient::SelectFromMap(
-    TMnMapOptions aOptions,
-    TRequestStatus& aStatus )
-    {
-    __ASSERT_DEBUG( iSelectionRequestText, PanicSelf( KErrGeneral ) );
-    
-    TIpcArgs args;
-    
-    // options
-    iOptions = aOptions;
-    TPckgC<TMnMapOptions> optsPack( iOptions );
-    iOptionsPtr.Set( optsPack );
-    args.Set( EMnIpcMapOptionsParamIndex, &iOptionsPtr );
-    
-    // selection text
-    args.Set( EMnIpcMapSelectionTextParamIndex, iSelectionRequestText );
-
-    // selection result info
-    args.Set( EMnIpcMapSelectionResultInfoParamIndex, &iResultInfoPtr );
-    
-    SendReceive( EMnIpcSelectFromMap, args, aStatus );
-    iLastRequest = EMnIpcSelectFromMap;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnMapView::TSelectionResultType RMnMapViewServiceClient::SelectionResultType()
-    {
-    return iResultInfo.iType;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CPosLandmark* RMnMapViewServiceClient::GetSelectedLandmarkL()
-    {
-    if ( iResultInfo.iType != CMnMapView::ESelectionFreeLandmark )
-        {
-        User::Leave( KErrNotFound );
-        }
-    
-    TIpcArgs args;
-
-    // landmark receiving buffer
-    HBufC8* lmBuf = HBufC8::NewLC( iResultInfo.iLandmarkSize );
-    TPtr8 lmBufPtr( lmBuf->Des() );
-
-    args.Set( EMnIpcMapSelResultBufferParamIndex, &lmBufPtr );
-    User::LeaveIfError( SendReceive( EMnIpcGetSelectionResultLandmark, args ) );
-
-    CPosLandmark* l = PosLandmarkSerialization::UnpackL( *lmBuf );
-    CleanupStack::PopAndDestroy( lmBuf );
-    return l;
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void RMnMapViewServiceClient::GetSelectedLandmarkL( TInt& aLandmarkIndex )
-    {
-    if ( iResultInfo.iType == CMnMapView::ESelectionLandmarkIndex )
-        {
-        aLandmarkIndex = iResultInfo.iLandmarkIndex;
-        }
-    else
-        {
-        User::Leave( KErrNotFound );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void RMnMapViewServiceClient::GetSelectedLandmarkL( TPosLmItemId& aLandmarkId, HBufC*& aDbUri )
-    {
-    if ( iResultInfo.iType != CMnMapView::ESelectionLinkedLandmark )
-        {
-        User::Leave( KErrNotFound );
-        }
-
-    aLandmarkId = iResultInfo.iLandmarkId;
-
-    TIpcArgs args;
-    
-    // database URI receiving buffer
-    HBufC* uriBuf = HBufC::NewLC( iResultInfo.iDbUriSize );
-    TPtr uriBufPtr( uriBuf->Des() );
-    args.Set( EMnIpcMapSelResultBufferParamIndex, &uriBufPtr );
-
-    User::LeaveIfError( SendReceive( EMnIpcGetSelectionResultDbUri, args ) );
-    
-    CleanupStack::Pop( uriBuf );
-    aDbUri = uriBuf;
-    }
-
-// ---------------------------------------------------------------------------
-// From class RApaAppServiceBase.
-// ---------------------------------------------------------------------------
-//
-TUid RMnMapViewServiceClient::ServiceUid() const
-    { 
-    return TUid::Uid(KMnAppMapViewService); 
-    }
--- a/locationmapnavfw/library/src/mnnavigationservicebase.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnNavigationServiceBase class implementation
-*
-*/
-
-
-#include <e32base.h>
-
-#include <EPos_CPosLandmark.h>
-
-#include "mndebug.h"
-#include "mnerrors.h"
-#include "mninternal.h"
-#include "mninternal.inl"
-#include "mnnavigationservicebase.h"
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CMnNavigationServiceBase::CMnNavigationServiceBase()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CMnNavigationServiceBase::~CMnNavigationServiceBase()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnNavigationServiceBase::BaseConstructL()
-    {
-    CMnServiceBase::BaseConstructL();
-    }
-
-// ---------------------------------------------------------------------------
-//  From class CAknAppServiceBase
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnNavigationServiceBase::ServiceL(const RMessage2& aMessage)
-    {
-    LOG1("CMnNavigationServiceBase::ServiceL in, function %d", aMessage.Function());
-    
-    switch ( aMessage.Function() )
-        {
-        case EMnIpcNavigateTo:
-            {
-            CPosLandmark* lm = UnpackLandmarkLC( aMessage, EMnIpcNaviLandmarkParamIndex );
-            HandleNavigateToL( *lm );
-            CleanupStack::PopAndDestroy( lm );
-            Complete( aMessage, KErrNone );
-            }
-            break;
-            
-        default:
-            CMnServiceBase::ServiceL( aMessage );
-        }
-    }
--- a/locationmapnavfw/library/src/mnnavigationserviceclient.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  RMnNavigationServiceClient class implementation
-*
-*/
-
-
-#include <e32base.h>
-
-#include <EPos_CPosLandmark.h>
-#include <epos_poslandmarkserialization.h>
-
-#include "mndebug.h"
-#include "mninternal.h"
-#include "mnerrors.h"
-
-#include "mnappserviceuids.hrh"
-#include "mnnavigationserviceclient.h"
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-RMnNavigationServiceClient::RMnNavigationServiceClient()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-RMnNavigationServiceClient::~RMnNavigationServiceClient()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void RMnNavigationServiceClient::NavigateToL( const CPosLandmark& aDestinationLanmdark )
-    {
-    LOG("RMnNavigationServiceClient::NavigateToL");
-    TIpcArgs args;
-    
-    // landmark
-    HBufC8* lmBuf = PosLandmarkSerialization::PackL( aDestinationLanmdark ); 
-    CleanupStack::PushL( lmBuf );
-
-    args.Set( EMnIpcNaviLandmarkParamIndex, lmBuf );
-    
-    User::LeaveIfError( SendReceive( EMnIpcNavigateTo, args ) );
-    CleanupStack::PopAndDestroy( lmBuf );
-    }
-
-// ---------------------------------------------------------------------------
-// From class RApaAppServiceBase.
-// ---------------------------------------------------------------------------
-//
-TUid RMnNavigationServiceClient::ServiceUid() const
-    { 
-    return TUid::Uid(KMnAppNavigationService); 
-    }
--- a/locationmapnavfw/library/src/mnnavigator.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,173 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnNavigator class implementation
-*
-*/
-
-
-#include <e32base.h>
-#include <e32math.h>
-#include <AknServerApp.h>
-#include <apaserverapp.h>
-
-#include <lbsfields.h>
-#include <lbsfieldids.h>
-#include <EPos_CPosLandmark.h>
-
-#include "mnprovider.h"
-#include "mnnavigationserviceclient.h"
-#include "mnnavigator.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnNavigator::CMnNavigator()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CMnNavigator* CMnNavigator::NewL( CMnProvider& aProvider )
-    {
-    CMnNavigator* self = new (ELeave) CMnNavigator;
-    CleanupStack::PushL( self );
-    self->ConstructNewL( aProvider );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CMnNavigator* CMnNavigator::NewChainedL( CMnProvider& aProvider )
-    {
-    CMnNavigator* self = new (ELeave) CMnNavigator;
-    CleanupStack::PushL( self );
-    self->ConstructChainedL( aProvider );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnNavigator::ConstructCommonL( CMnProvider& aProvider )
-    {
-    if ( !( aProvider.SupportedServices() & CMnProvider::EServiceNavigation ) )
-        {
-        User::Leave( KErrNotSupported );
-        }
-
-    iSession = new (ELeave) RMnNavigationServiceClient;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnNavigator::ConstructNewL( CMnProvider& aProvider )
-    {
-    ConstructCommonL( aProvider );
-    iSession->ConnectL( aProvider.Uid() );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnNavigator::ConstructChainedL( CMnProvider& aProvider )
-    {
-    ConstructCommonL( aProvider );
-    iSession->ConnectChainedL( aProvider.Uid() );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CMnNavigator::~CMnNavigator()
-    {
-    delete iExitMonitor;
-    if ( iSession )
-        {
-        iSession->Close();
-        delete iSession;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnNavigator::NavigateToL(const CPosLandmark& aDestination)
-    {
-    // verify that destination landmark has coordinates
-    TLocality loc;
-    TBool valid = (KErrNone == aDestination.GetPosition( loc ) );
-    valid &= !Math::IsNaN( loc.Latitude() ) && !Math::IsNaN( loc.Longitude() );
-    
-    if ( !valid )
-        {
-        // verify that destination landmark has address info
-        TPositionFieldId fieldId = aDestination.FirstPositionFieldId();
-        while ( fieldId != EPositionFieldNone )
-            {
-            if ( fieldId > EPositionFieldAddressCapabilitiesBegin &&
-                 fieldId < EPositionFieldNMEACapabilitiesBegin)
-                {
-                TPtrC field;
-                aDestination.GetPositionField( fieldId, field );
-                if ( field.Length() )
-                    {
-                    valid = ETrue;
-                    break;
-                    }
-                }
-            fieldId = aDestination.NextPositionFieldId( fieldId );            
-            }
-        }
-        
-    if ( valid )
-        {
-        iSession->NavigateToL( aDestination );
-        }
-    else
-        {
-        User::Leave( KErrArgument );
-        }
-    }
-        
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnNavigator::SetExitObserverL( MAknServerAppExitObserver& aObserver )
-	{
-	if ( iExitMonitor )
-		{
-		User::Leave( KErrAlreadyExists );
-		}
-	else
-		{
-		iExitMonitor = CApaServerAppExitMonitor::NewL( 
-			*iSession, aObserver, CActive::EPriorityStandard );
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnNavigator::RemoveExitObserver()
-	{
-	delete iExitMonitor;
-	iExitMonitor = NULL;
-	}
--- a/locationmapnavfw/library/src/mnprovider.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,113 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnProvider class implementation
-*
-*/
-
-
-#include <e32base.h>
-
-#include "mnprovider.h"
-#include "mnproviderimpl.h"
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnProvider::CMnProvider()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnProvider::CMnProvider( CMnProvider& )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CMnProvider::~CMnProvider()
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TUid CMnProvider::Uid() const
-    {
-    return iUid;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TVersion CMnProvider::Version() const
-    {
-    return iVersion;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnProvider::GetName( TPtrC& aName ) const
-    {
-    if ( iName )
-        {
-        aName.Set( iName->Des() );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnProvider::GetShortName( TPtrC& aShortName ) const
-    {
-    if ( iShortName )
-        {
-        aShortName.Set( iShortName->Des() );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnProvider::GetVendorName( TPtrC& aVendorName ) const
-    {
-    if ( iVendorName )
-        {
-        aVendorName.Set( iVendorName->Des() );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CMnProvider::TServices CMnProvider::SupportedServices() const
-    {
-    return iServices;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TUint32 CMnProvider::SupportedFeatures( TService /*aService*/ ) const
-    {
-    return 0;
-    }
--- a/locationmapnavfw/library/src/mnproviderfinder.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,198 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  MnProviderFinder class implementation
-*
-*/
-
-
-#include <e32base.h>
-#include <apgcli.h>
-
-#include "mnappserviceuids.hrh"
-
-#include "mnproviderimpl.h"
-#include "mnproviderfinder.h"
-
-#include "mndebug.h"
-
-// ======== LOCAL FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-//  Cleanup item for RPointerArray<CMnProviderImpl>
-// ---------------------------------------------------------------------------
-//
-void CleanupPointerArray(TAny* aArray)
-    {
-    ( static_cast<RPointerArray<CMnProviderImpl>*>( aArray ) )->ResetAndDestroy();
-    }
-
-// ---------------------------------------------------------------------------
-//  Finds service UID for given CMnProvider::TService
-// ---------------------------------------------------------------------------
-//
-TUid ServiceUid( CMnProvider::TService aService )
-    {
-    switch ( aService )
-        {
-        case CMnProvider::EServiceMapView:
-            return TUid::Uid( KMnAppMapViewService );
-
-        case CMnProvider::EServiceNavigation:
-            return TUid::Uid( KMnAppNavigationService );
-
-        case CMnProvider::EServiceGeocoding:
-            return TUid::Uid( KMnAppGeocodingService );
-
-        case CMnProvider::EServiceMapImage:
-            return TUid::Uid( KMnAppMapImageService );
-
-        default:
-            return TUid::Uid( 0 );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//  Finds provider in given list by UID
-// ---------------------------------------------------------------------------
-//
-TInt FindProviderByUid( TUid aAppUid, RPointerArray<CMnProvider>& aProviders )
-    {
-    for (TInt i = 0; i < aProviders.Count(); i++)
-        {
-        if ( aProviders[i]->Uid().iUid == aAppUid.iUid )
-            return i;
-        }
-    return KErrNotFound;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void FindAllServiceProvidersL(
-    RPointerArray<CMnProvider>& aProviders,
-    CMnProvider::TServices aServices )
-    {
-    LOG("FindAllServiceProvidersL in");
-
-    RApaLsSession apa;
-    User::LeaveIfError( apa.Connect() );
-    CleanupClosePushL( apa );
-
-    Swi::RSisRegistrySession sis;
-    User::LeaveIfError( sis.Connect() );
-    CleanupClosePushL( sis );
-
-    const CMnProvider::TService KKnownServices[] =
-        {
-        CMnProvider::EServiceMapView,
-        CMnProvider::EServiceNavigation,
-        CMnProvider::EServiceGeocoding,
-        CMnProvider::EServiceMapImage
-        };
-    const TInt KNumKnownServices = sizeof( KKnownServices ) / sizeof ( CMnProvider::TService );
-
-    // find all providers for known services
-    for ( TInt i = 0; i < KNumKnownServices; i++ )
-        {
-        // but consider only required services
-        if ( aServices & KKnownServices[i] )
-            {
-            TInt err = apa.GetServerApps( ServiceUid( KKnownServices[i] ) );
-            while ( !err )
-                {
-                TApaAppInfo app;
-                err = apa.GetNextApp(app);
-                if ( !err )
-                    {
-                    // add this app to the list, if not added yet
-                    TInt index = FindProviderByUid( app.iUid, aProviders );
-                    if ( index == KErrNotFound )
-                        {
-                        // add new provider to the list
-                        LOG2("found new provider candidate uid{%08X}, name{%S}", 
-                            app.iUid.iUid, &app.iFullName);
-
-                        // find all data about this provider
-                        CMnProviderImpl* provider = NULL;
-                        TRAP( err, provider = CMnProviderImpl::NewL( app.iUid, apa, sis ) );
-                        if ( !err )
-                            {
-                            if ( provider->IsTrusted() )
-                                {
-                                CleanupStack::PushL( provider );
-                                aProviders.AppendL( provider );
-                                CleanupStack::Pop( provider );
-                                }
-                            else
-                                {
-                                delete provider;
-                                LOG1("untrusted provider uid{%X}", app.iUid.iUid);
-                                }
-                            }
-                        else
-                            {
-                            // skip provider if cannot be constructed
-                            LOG2("construction failed for uid{%X}, error %d", app.iUid.iUid, err);
-                            }
-                        }
-                    }
-                }
-            }
-        }
-
-    CleanupStack::PopAndDestroy( &sis );
-    CleanupStack::PopAndDestroy( &apa );
-
-    LOG("FindAllServiceProvidersL out");
-    }
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void MnProviderFinder::FindProvidersL(
-    RPointerArray<CMnProvider>& aProviders)
-    {
-    CMnProvider::TServices allServices =
-        CMnProvider::EServiceMapView |
-        CMnProvider::EServiceNavigation |
-        CMnProvider::EServiceGeocoding |
-        CMnProvider::EServiceMapImage;
-
-    FindAllServiceProvidersL( aProviders, allServices );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void MnProviderFinder::FindProvidersL(
-    RPointerArray<CMnProvider>& aProviders,
-    CMnProvider::TServices aRequiredServices)
-    {
-    FindAllServiceProvidersL( aProviders, aRequiredServices );
-
-    // verify that providers meet service support requirements
-    for ( TInt i = aProviders.Count() - 1; i >= 0; i-- )
-        {
-        CMnProvider* provider = aProviders[i];
-        
-        if ( ( provider->SupportedServices() & aRequiredServices ) != aRequiredServices )
-            {
-            aProviders.Remove( i );
-            delete provider;
-            }
-        }
-    }
-
--- a/locationmapnavfw/library/src/mnproviderimpl.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,402 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnProviderImpl class implementation
-*
-*/
-
-
-#include <e32base.h>
-#include <ecom/ecom.h>
-#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
-#include <apaid.h>
-#else
-#include <apaid.h>
-#include <apaidpartner.h>
-#endif
-#include <apgcli.h>
-#include <swi/sisregistryentry.h>
-#include <swi/sistruststatus.h>
-#include <swi/sisregistrypackage.h>
-
-#include "mnserviceclientbase.h"
-#include "mnappserviceuids.hrh"
-
-#include "mnpluginuids.hrh"
-#include "mnproviderimpl.h"
-
-#include "mndebug.h"
-
-// ======== LOCAL FUNCTIONS ========
-
-extern TUid ServiceUid( CMnProvider::TService aService );
-
-// ---------------------------------------------------------------------------
-//  Cleanup item for RImplInfoPtrArray
-// ---------------------------------------------------------------------------
-//
-void CleanupImplementationsArray( TAny* aArray )
-    {
-    ( static_cast<RImplInfoPtrArray*>( aArray ) )->ResetAndDestroy();
-    }
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnProviderImpl::CMnProviderImpl()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnProviderImpl::~CMnProviderImpl()
-    {
-    delete iName;
-    delete iShortName;
-    delete iVendorName;
-    REComSession::FinalClose();    
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnProviderImpl* CMnProviderImpl::NewL( TUid aProvider )
-    {
-    CMnProviderImpl* self = new(ELeave) CMnProviderImpl;
-    CleanupStack::PushL( self );
-    self->ConstructL( aProvider );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnProviderImpl* CMnProviderImpl::NewL(
-    TUid aAppUid, 
-    RApaLsSession& aApaSession, 
-    Swi::RSisRegistrySession& aSisSession )
-    {
-    CMnProviderImpl* self = new(ELeave) CMnProviderImpl;
-    CleanupStack::PushL( self );
-    self->ConstructL( aAppUid, aApaSession, aSisSession );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnProviderImpl::ConstructL( TUid aProvider )
-    {
-    RApaLsSession apa;
-    User::LeaveIfError( apa.Connect() );
-    CleanupClosePushL( apa );
-
-    Swi::RSisRegistrySession sis;
-    User::LeaveIfError( sis.Connect() );
-    CleanupClosePushL( sis );
-
-    ConstructL( aProvider, apa, sis );
-    
-    CleanupStack::PopAndDestroy( &sis );
-    CleanupStack::PopAndDestroy( &apa );
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnProviderImpl::ConstructL(
-    TUid aAppUid, 
-    RApaLsSession& aApaSession, 
-    Swi::RSisRegistrySession& aSisSession )
-    {
-    iUid = aAppUid;
-    ReadAppArcInfoL( aApaSession );
-    ReadServiceFeaturesL( aApaSession );
-    ReadPackageInfoL( aSisSession );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnProviderImpl::ReadAppArcInfoL( RApaLsSession& aApa )
-    {
-    LOG("CMnProviderImpl::ReadAppArcInfoL");
-    
-    TApaAppInfo appInfo;
-    User::LeaveIfError( aApa.GetAppInfo( appInfo, iUid ) );
-    
-    SetNameL( appInfo.iCaption );
-    SetShortNameL( appInfo.iShortCaption );
-    
-    // get additional data from SERVICE_INFO structs
-    
-    const TInt KGranularity = 8;
-    CArrayFixFlat< TUid >* serviceUids = 
-        new (ELeave) CArrayFixFlat< TUid > ( KGranularity );
-    CleanupStack::PushL( serviceUids );
-        
-    aApa.GetAppServicesL( iUid, *serviceUids );
-    
-    for ( TInt s = 0; s < serviceUids->Count(); s++ )
-        {
-        switch ( (*serviceUids)[s].iUid )
-            {
-            case KMnAppMapViewService:
-                iServices |= EServiceMapView;
-                break;
-            case KMnAppNavigationService:
-                iServices |= EServiceNavigation;
-                break;
-            case KMnAppGeocodingService:
-                iServices |= EServiceGeocoding;
-                break;
-            case KMnAppMapImageService:
-                iServices |= EServiceMapImage;
-                break;
-            }
-        }
-
-    CleanupStack::PopAndDestroy( serviceUids );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-TBool CMnProviderImpl::ReadMnServiceInfoL(
-    RApaLsSession& aApaSession, 
-    TUid aServiceUid, 
-    TMnAppServiceInfo& aServiceInfo)
-    {
-    LOG1("CMnProviderImpl::ReadMnServiceInfoL appSvcUid 0x%X", aServiceUid.iUid);
-
-    TBool found = EFalse;
-
-    CApaAppServiceInfoArray* infoArray = aApaSession.GetAppServiceOpaqueDataLC( iUid, aServiceUid );
-    if ( infoArray )
-        {
-        TArray< TApaAppServiceInfo > array = infoArray->Array();
-        for ( TInt i = 0; i < array.Count(); i++ )
-            {
-            TPtrC8 ptr = array[i].OpaqueData();
-            
-            if ( ptr.Size() == sizeof ( TMnAppServiceInfo ) )
-                {
-                memcpy(&aServiceInfo, ptr.Ptr(), sizeof ( TMnAppServiceInfo ) );
-                found = ETrue;
-                break;
-                }
-            }
-        }
-
-    CleanupStack::PopAndDestroy( infoArray );            
-    return found;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnProviderImpl::CheckServiceFeaturesL( 
-    RApaLsSession& aApaSession,
-    CMnProvider::TService aService, 
-    TUint32& aServiceFeatures )
-    {
-    TMnAppServiceInfo info;
-    TBool found = ReadMnServiceInfoL( aApaSession, ServiceUid( aService ), info );
-    if ( found && info.iServiceFeatures )
-        {
-        aServiceFeatures = info.iServiceFeatures;
-        }
-    else
-        {
-        iServices &= ~aService;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnProviderImpl::ReadServiceFeaturesL( RApaLsSession& aApaSession )
-    {
-    if ( iServices & EServiceMapView )
-        {
-        CheckServiceFeaturesL( aApaSession, EServiceMapView, iMapViewFeatures );
-        }
-
-    if ( iServices & EServiceNavigation )
-        {
-        CheckServiceFeaturesL( aApaSession, EServiceNavigation, iNavigationFeatures );
-        }
-
-    if ( iServices & EServiceGeocoding )
-        {
-        CheckServiceFeaturesL( aApaSession, EServiceGeocoding, iGeocodingFeatures );
-        }
-
-    if ( iServices & EServiceMapImage )
-        {
-        CheckServiceFeaturesL( aApaSession, EServiceMapImage, iMapImageFeatures );
-        if ( !IsConverterPluginFoundL() )
-            {
-            iServices &= ~EServiceMapImage;
-            iMapImageFeatures = 0;
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-#ifndef __WINS__
-
-void CMnProviderImpl::ReadPackageInfoL( Swi::RSisRegistrySession& aSisSession )
-    {
-    LOG("CMnProviderImpl::ReadPackageInfoL");
-
-    Swi::CSisRegistryPackage* package = aSisSession.SidToPackageL(iUid);
-    CleanupStack::PushL( package );
-    
-    Swi::RSisRegistryEntry entry;
-    User::LeaveIfError( entry.OpenL( aSisSession, *package ) );
-    CleanupClosePushL( entry );
-    
-    // FW wants to know trust level of Provider Applications
-    Swi::TSisTrustStatus trust = entry.TrustStatusL();
-    iIsTrusted = ( trust.ValidationStatus() >= Swi::EValidatedToAnchor );
-        
-    // other needed info
-    SetVersion( entry.VersionL() );
-    
-    HBufC* vendorName = entry.LocalizedVendorNameL();
-    CleanupStack::PushL( vendorName );
-    SetVendorNameL( vendorName->Des() );
-    CleanupStack::PopAndDestroy( vendorName );
-
-    CleanupStack::PopAndDestroy( &entry );
-    CleanupStack::PopAndDestroy( package );
-    }
-
-#else
-
-void CMnProviderImpl::ReadPackageInfoL( Swi::RSisRegistrySession& /*aSisSession */ )
-    {
-    LOG("CMnProviderImpl::ReadPackageInfoL");
-    iIsTrusted = ETrue;
-    }
-
-#endif
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-TBool CMnProviderImpl::IsTrusted()
-    {
-    return iIsTrusted;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-TBool CMnProviderImpl::IsConverterPluginFoundL()
-    {
-    TUid converterIf = { KMnMapImageConverterIf };
-
-    const TInt KNumUidHexDigits = 8;
-    TBuf8<KNumUidHexDigits> uidText8;
-    
-    _LIT8( KUidHexText, "%08X" );
-    uidText8.Format( KUidHexText, iUid );
-
-    TEComResolverParams resolverParams;
-    resolverParams.SetDataType( uidText8 );
-
-    RImplInfoPtrArray implementations;
-    CleanupStack::PushL( TCleanupItem( CleanupImplementationsArray, &implementations ) );
-    
-    REComSession::ListImplementationsL( converterIf, resolverParams, implementations );
-    TBool found = ( implementations.Count() > 0 );
-    CleanupStack::PopAndDestroy(); // cleanup item    
-    return found;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnProviderImpl::SetNameL( const TDesC& aName )
-    {
-    __ASSERT_DEBUG( !iName, Panic( KErrGeneral ) );
-    iName = aName.AllocL();
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnProviderImpl::SetShortNameL( const TDesC& aShortName )
-    {
-    __ASSERT_DEBUG( !iShortName, Panic( KErrGeneral ) );
-    iShortName = aShortName.AllocL();
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnProviderImpl::SetVendorNameL( const TDesC& aVendorName )
-    {
-    __ASSERT_DEBUG( !iVendorName, Panic( KErrGeneral ) );
-    iVendorName = aVendorName.AllocL();
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnProviderImpl::SetVersion( TVersion aVersion )
-    {
-    iVersion = aVersion;
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnProviderImpl::SetSupportedServices( TServices aServices )
-    {
-    iServices = aServices;
-    }
-    
-// ---------------------------------------------------------------------------
-// From class CMnProvider.
-// ---------------------------------------------------------------------------
-//
-TUint32 CMnProviderImpl::SupportedFeatures( TService aService ) const
-    {
-    switch ( aService )
-        {
-        case EServiceMapView:
-            return iMapViewFeatures;
-            
-        case EServiceNavigation:
-            return iNavigationFeatures;
-            
-        case EServiceGeocoding:
-            return iGeocodingFeatures;
-
-        case EServiceMapImage:
-            return iMapImageFeatures;
-
-        default:
-            return 0;
-        }
-    }
--- a/locationmapnavfw/library/src/mnservicebase.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,218 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnServiceBase class implementation
-*
-*/
-
-
-#include <e32base.h>
-
-#include <EPos_CPosLandmark.h>
-#include <epos_poslandmarkserialization.h>
-
-#include "mndebug.h"
-#include "mnerrors.h"
-#include "mninternal.h"
-#include "mninternal.inl"
-
-#include "mnservicebase.h"
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnServiceBase::CMnServiceBase()
-    {
-    iCurrentRequest = EMnIpcNone;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnServiceBase::~CMnServiceBase()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnServiceBase::BaseConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnServiceBase::CompleteRequest( TInt aResult )
-    {
-    LOG1("CMnServiceBase::CompleteRequest, result %d", aResult);
-    if ( iCurrentRequest == EMnIpcNone )
-        {
-        PanicServer( KMnPanicAttemptToCompleteNoRequest );
-        }
-    else
-        {
-        Complete( iMessage, aResult );
-        iCurrentRequest = EMnIpcNone;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnServiceBase::Complete( const RMessage2& aMsg, TInt aResult )
-    {
-    //LOG1("CMnServiceBase::Complete, result %d", aResult);
-    if ( !aMsg.IsNull() )
-        {
-        aMsg.Complete( aResult );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnServiceBase::HandleCancelRequestL( const RMessage2& aMessage )
-    {
-    LOG("CMnServiceBase::HandleCancelRequestL in");
-    
-    if ( IsAsyncRequestActive() && aMessage.Int0() == CurrentAsyncRequest() )
-        {
-        DoCancel();
-        CompleteRequest( KErrCancel );
-        Complete( aMessage, KErrNone );
-        }
-    else
-        {
-        LOG("CMnServiceBase::HandleCancelRequestL leave, not found");
-        User::Leave( KErrNotFound );
-        }
-        
-    LOG("CMnServiceBase::HandleCancelRequestL out");
-    }
-
-// ---------------------------------------------------------
-// ---------------------------------------------------------
-//
-HBufC8* CMnServiceBase::CopyClientBuffer8LC(
-    const RMessage2& aMessage, 
-    const TInt aClientBufferParam )
-    {
-    // Create an empty server side buffer that will contain client data
-    TInt dataSize = aMessage.GetDesLengthL( aClientBufferParam );
-    HBufC8* buffer = HBufC8::NewLC( dataSize );
-
-    // Populate server side buffer with client data
-    TPtr8 ptrToBuf = buffer->Des();
-    aMessage.ReadL( aClientBufferParam, ptrToBuf );
-    return buffer;
-    }
-
-// ---------------------------------------------------------
-// ---------------------------------------------------------
-//
-HBufC* CMnServiceBase::CopyClientBufferLC(
-    const RMessage2& aMessage, 
-    const TInt aClientBufferParam)
-    {
-    // Create an empty server side buffer that will contain client data
-    TInt dataSize = aMessage.GetDesLengthL( aClientBufferParam );
-    HBufC* buffer = HBufC::NewLC( dataSize );
-
-    // Populate server side buffer with client data
-    TPtr ptrToBuf = buffer->Des();
-    aMessage.ReadL( aClientBufferParam, ptrToBuf );
-    return buffer;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CPosLandmark* CMnServiceBase::UnpackLandmarkLC( 
-    const RMessage2& aMessage,
-    TInt aParamIndex )
-    {
-    LOG("CMnServiceBase::UnpackLandmarkLC");
-    
-    HBufC8* lmBuf = CopyClientBuffer8LC( aMessage, aParamIndex );
-    
-    CPosLandmark* landmark = PosLandmarkSerialization::UnpackL( *lmBuf );
-    CleanupStack::PopAndDestroy( lmBuf );
-    CleanupStack::PushL( landmark );
-    return landmark;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-TInt CMnServiceBase::CurrentAsyncRequest()
-    {
-    return iCurrentRequest;
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-TBool CMnServiceBase::IsAsyncRequestActive()
-    {
-    return ( iCurrentRequest != EMnIpcNone );
-    }
-
-// ---------------------------------------------------------------------------
-//  Put new request ID to stack to guarantee that if starting of asynchronous
-//  request leaves, the iCurrentRequest will be reset.
-//  If starting goes well, the PostStartAsyncRequest will pop this cleanup
-//  from stack and "current request ID" will be kept until request is competed
-//  by service implmentation.
-// ---------------------------------------------------------------------------
-//
-void CMnServiceBase::PrepareAsyncRequestL( const RMessage2& aMessage )
-    {
-    LOG("CMnServiceBase::PrepareAsyncRequestL in");
-
-    if ( IsAsyncRequestActive() )
-        {
-        PanicClient( aMessage, KMnPanicDuplicateRequest );
-        User::Leave( KErrInUse );
-        }
-
-    iMessage = aMessage;
-    iCurrentRequest = aMessage.Function();
-
-    LOG("CMnServiceBase::PrepareAsyncRequestL out");
-    }
-
-// ---------------------------------------------------------------------------
-//  From class CApaAppServiceBase
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMnServiceBase::ServiceError( const RMessage2 &aMessage, TInt aError )
-    {
-    LOG2("CMnServiceBase::ServiceError function %d, error %d",
-        aMessage.Function(), aError );
-    
-    if ( IsAsyncRequestActive() && 
-         aMessage.Handle() == iMessage.Handle() )
-        {
-        // starting this async request failed, rollback
-        LOG1("CMnServiceBase::ServiceError forgetting async request %d", iCurrentRequest );
-        iCurrentRequest = EMnIpcNone;
-        }
-
-    CAknAppServiceBase::ServiceError( aMessage, aError );
-    LOG("CMnServiceBase::ServiceError out");
-    }
--- a/locationmapnavfw/library/src/mnserviceclientbase.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,88 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  RMnServiceClientBase class implementation
-*
-*/
-
-
-#include <e32base.h>
-
-#include <EPos_CPosLandmark.h>
-#include <epos_poslandmarkserialization.h>
-
-#include "mndebug.h"
-#include "mnserviceclientbase.h"
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-RMnServiceClientBase::RMnServiceClientBase() :
-    iLastRequest( EMnIpcNone )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void RMnServiceClientBase::ConnectL( TUid aProviderUid )
-    {
-    LOG1("RMnServiceClientBase::ConnectL (provider 0x%X)", aProviderUid.iUid);
-    ConnectNewAppL( aProviderUid );
-#ifdef _DEBUG    
-    TPtrC serverName( ServerName() );
-    LOG1("RMnServiceClientBase::ConnectL connected to server '%S'", &serverName);
-#endif    
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void RMnServiceClientBase::ConnectChainedL( TUid aProviderUid )
-    {
-    LOG1("RMnServiceClientBase::ConnectChainedL (provider 0x%X)", aProviderUid.iUid);
-    ConnectChainedAppL( aProviderUid );
-#ifdef _DEBUG    
-    TPtrC serverName( ServerName() );
-    LOG1("RMnServiceClientBase::ConnectChainedL connected to server '%S'", &serverName);
-#endif    
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void RMnServiceClientBase::Cancel()
-    {
-    LOG("RMnServiceClientBase::Cancel");
-    if ( Handle() && iLastRequest != EMnIpcNone )
-        {
-        TIpcArgs args;
-        args.Set( EMnIpcCancelRequestIdIndex, iLastRequest );
-        SendReceive( EMnIpcCancel, args );
-        }
-    iLastRequest = EMnIpcNone;
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void RMnServiceClientBase::Close()
-    {
-    LOG("RMnServiceClientBase::Close");
-    Cancel();
-    RAknAppServiceBase::Close();
-    }
--- a/locationmapnavfw/library/src/mnutils.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,114 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  MnUtils class implementation
-*
-*/
-
-
-#include <e32base.h>
-#include <f32file.h>
-#include <barsc2.h>
-#include <barsread2.h>
-#include <bautils.h>
-
-#include "mnutils.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void MnUtils::FindLocalizedResourceFileL(
-    RFs& aFsSession,
-    const TDesC& aRscFile,
-    TFileName& aFileName )
-    {
-    TFileName fileName( aRscFile );
-
-    TParse parse;
-    parse.Set( aRscFile, NULL, NULL );
-
-    // look on system and given drives first
-    BaflUtils::NearestLanguageFile( aFsSession, fileName );
-
-    const TInt KLangPartOfExtensionLen = 2;
-    TBool found = ( fileName.Right( KLangPartOfExtensionLen ) !=
-                    aRscFile.Right( KLangPartOfExtensionLen ) );
-
-    if ( !found )
-        {
-        // look on other drives
-        TDriveList drives;
-        aFsSession.DriveList( drives );
-
-        for ( TInt drive = EDriveA; drive <= EDriveZ; drive++ )
-            {
-            if ( drives[drive] && !( drives[drive] & KDriveAttRemote ) ) // avoid remote drives
-                {
-                TDriveInfo drvInfo;
-                TInt err = aFsSession.Drive( drvInfo, drive );
-
-                if ( !err && drvInfo.iType != EMediaNotPresent )
-                    {
-                    TChar drv;
-                    aFsSession.DriveToChar( drive, drv );
-    
-                    fileName.Zero();
-                    fileName.Append( drv );
-                    fileName.Append( KDriveDelimiter );
-                    fileName.Append( parse.Path() );
-                    fileName.Append( parse.NameAndExt() );
-    
-                    // look on c: and this drive
-                    BaflUtils::NearestLanguageFile( aFsSession, fileName );
-    
-                    const TInt KLangPartOfExtensionLen = 2;
-                    found = ( fileName.Right( KLangPartOfExtensionLen ) !=
-                              aRscFile.Right( KLangPartOfExtensionLen ) );
-                    if ( found ) break;
-                    }
-                }    
-            }
-        }
-
-    if ( !found )
-        {
-        // localized file not found, try using SC
-        FindResourceFileL( aFsSession, aRscFile, fileName );
-        }
-        
-    aFileName.Copy( fileName );        
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void MnUtils::FindResourceFileL(
-    RFs& aFsSession,
-    const TDesC& aFilePathAndName,
-    TFileName& aRscFile )
-    {
-    TParse parse;
-    parse.Set( aFilePathAndName, NULL, NULL );
-
-    TFindFile finder( aFsSession );
-    if ( finder.FindByDir( parse.NameAndExt(), parse.Path() ) == KErrNone )
-        {
-        aRscFile.Copy( finder.File() );
-        }
-    else
-        {
-        User::Leave( KErrNotFound );
-        }
-    }
--- a/locationmapnavfw/loc/mnaiwprovider.loc	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Localization strings for Map and Navigation AIW Provider
-*
-*/
-
-
-// d:Menu item text for fetching coordinates by address information
-// d:from selected object
-// l:list_single_pane_t1_cp2
-// r:3.1
-//
-#define qtn_mnn_option_fetch_coordinates "Retrieve coordinates"
-
-// d:Menu item text for fetching address information by coordinates 
-// d:from selected object
-// l:list_single_pane_t1_cp2
-// r:3.1
-//
-#define qtn_mnn_option_fetch_address "Retrieve address"
-
-// d:Menu item text to launch navigation application with
-// d:destination at selected object containing coordinates or address
-// l:list_single_pane_t1_cp2
-// r:3.1
-//
-#define qtn_mnn_option_navigate_to "Navigate to"
-
-// d:Menu item text for starting map application and selecting
-// d:a location or landmark directly from map
-// l:list_single_pane_t1_cp2
-// r:3.1
-//
-#define qtn_mnn_option_select_from_map  "Select from map"
-
-// d:Menu item text for starting map application and showing map
-// d:with selected objects drawn
-// l:list_single_pane_t1_cp2
-// r:3.1
-//
-#define qtn_mnn_option_show_on_map  "Show on map"
-
-// d:Error message to show when Provider Application cannot serve
-// d:requested Map and Navigation AIW feature.
-// l:popup_note_window_1
-// r:3.1
-//
-#define qtn_mnn_error_no_provider   "Operation not possible. No suitable application installed."
-
-// d:Error message to show when service fails with 
-// d:selected Map and Navigation Provider Application.
-// l:popup_note_window_1
-// r:3.1
-//
-#define qtn_mnn_service_unavailable_error   "Service not available in provider application."
-
-// d:List query prompt text to show when AIW is used and there are 
-// d:several Map and Navigation Provider Applications available 
-// d:for selected menu option
-// l:popup_list_heading_pane_1
-// r:3.1
-//
-#define qtn_mnn_select_provider_query   "Select provider:"
--- a/locationmapnavfw/loc/mnclientlib.loc	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Localization strings for project Map and Navigation Library
-*
-*/
-
-
-// d:Title of selection from map request
-// l:title_pane_1
-// r:3.1
-//
-#define qtn_mnn_select_from_map "Select from map"
--- a/locationmapnavfw/rom/locationmnfw.iby	Thu Aug 19 10:20:18 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: Image description file for project locationmapnavfw
-*
-*/
-#ifndef __MapNavFramework_IBY__
-#define __MapNavFramework_IBY__
-
-#include <bldvariant.hrh>
-
-///////////////////////////////////
-// *** Map and Navigation FW *** //
-///////////////////////////////////
-
-// Library
-file=ABI_DIR\BUILD_DIR\mnclientlib.dll                   SHARED_LIB_DIR\mnclientlib.dll
-file=ABI_DIR\BUILD_DIR\mnservicelib.dll                 SHARED_LIB_DIR\mnservicelib.dll
-
-#ifdef __MAP_AND_NAVIGATION_AIW_PROVIDER
-
-// AIW Provider
-ECOM_PLUGIN(mnaiwprovider.dll, mnaiwprovider.rsc)
-
-#endif // __MAP_AND_NAVIGATION_AIW_PROVIDER
-
-#endif // __MapNavFramework_IBY__
-
--- a/locationmapnavfw/rom/locationmnfw_resources.iby	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +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: Image description file for project locationmapnavfw
-*	             to include  resource files
-*
-*/
-#ifndef __MapNavFramework_Resources_IBY__
-#define __MapNavFramework_Resources_IBY__
-
-#include <bldvariant.hrh>
-
-///////////////////////////////////
-// *** Map and Navigation FW *** //
-///////////////////////////////////
-
-// Library
-data=DATAZ_\RESOURCE_FILES_DIR\mnclientlib.rsc  RESOURCE_FILES_DIR\mnclientlib.rsc
-
-#ifdef __MAP_AND_NAVIGATION_AIW_PROVIDER
-
-// AIW Provider
-data=DATAZ_\RESOURCE_FILES_DIR\mnaiwproviderres.rsc  RESOURCE_FILES_DIR\mnaiwproviderres.rsc
-
-#endif // __MAP_AND_NAVIGATION_AIW_PROVIDER
-
-#endif // __MapNavFramework_Resources_IBY__
-
-
--- a/locationmapnavfw/rom/locationmnfwstub.iby	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Image description file for project locationmapnavfw
-*              to include stub sis file
-*
-*/
-#ifndef __MapNavFrameworkStub_IBY__
-#define __MapNavFrameworkStub_IBY__
-
-#include <bldvariant.hrh>
-
-///////////////////////////////////
-// *** Map and Navigation FW *** //
-///////////////////////////////////
-
-// Stub
-data=ZSYSTEM\install\locationmnfwstub.sis               system\install\locationmnfwstub.sis
-
-#endif // __MapNavFrameworkStub_IBY__
-
Binary file locationsystemui/locationsysui/cenrep/keys_locbtnotifier.xls has changed
Binary file locationsystemui/locationsysui/cenrep/keys_loclocalvariation.xls has changed
Binary file locationsystemui/locationsysui/cenrep/keys_locnotprefplugin.xls has changed
Binary file locationsystemui/locationsysui/cenrep/keys_locsuplsettings.xls has changed
Binary file locationsystemui/locationsysui/conf/locbtnotifier.confml has changed
Binary file locationsystemui/locationsysui/conf/locbtnotifier_2001FCBB.crml has changed
Binary file locationsystemui/locationsysui/conf/locnotprefplugin.confml has changed
Binary file locationsystemui/locationsysui/conf/locnotprefplugin_10206910.crml has changed
Binary file locationsystemui/locationsysui/conf/locsuplsettings.confml has changed
Binary file locationsystemui/locationsysui/conf/locsuplsettings_1028190A.crml has changed
Binary file locationsystemui/locationsysui/data/locationsysuistub.sis has changed
--- a/locationsystemui/locationsysui/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationsystemui/locationsysui/group/bld.inf	Tue Aug 31 15:37:04 2010 +0300
@@ -21,97 +21,19 @@
 #include <platform_paths.hrh>
 
 PRJ_PLATFORMS
-DEFAULT GCCE
-//  Help exports
-#include "../help/group/bld.inf"
+DEFAULT
 
 PRJ_EXPORTS
-// Export Localization files
-../loc/location.loc             MW_LAYER_LOC_EXPORT_PATH(location.loc)
-../loc/locnotprefsettings.loc   MW_LAYER_LOC_EXPORT_PATH(locnotprefsettings.loc)
-../loc/locsuplsettings.loc      MW_LAYER_LOC_EXPORT_PATH(locsuplsettings.loc)
-../loc/locbtnotifier.loc        MW_LAYER_LOC_EXPORT_PATH(locbtnotifier.loc)
-// Export the satellite.loc file
-../loc/Satellite.loc                        MW_LAYER_LOC_EXPORT_PATH(Satellite.loc)
-
-// Export SIS File
-../data/locationsysuistub.sis  /epoc32/data/z/system/install/locationsysuistub.sis
-
-// Export IBY Files
-// Core IBY Files
-../rom/locationsysui.iby               CORE_MW_LAYER_IBY_EXPORT_PATH(locationsysui.iby)
-../rom/locgpsindicatorplugin.iby       CORE_MW_LAYER_IBY_EXPORT_PATH(locgpsindicatorplugin.iby)
-../rom/locnotprefplugin.iby            CORE_MW_LAYER_IBY_EXPORT_PATH(locnotprefplugin.iby)
-
-../rom/locpsysettings.iby              CORE_MW_LAYER_IBY_EXPORT_PATH(locpsysettings.iby)
-../rom/locsettingsuiservice.iby        CORE_MW_LAYER_IBY_EXPORT_PATH(locsettingsuiservice.iby)
-../rom/locsuplsettings.iby             CORE_MW_LAYER_IBY_EXPORT_PATH(locsuplsettings.iby)
-../rom/locverifierdlg.iby              CORE_MW_LAYER_IBY_EXPORT_PATH(locverifierdlg.iby)
-../rom/locbtnotifier.iby               CORE_MW_LAYER_IBY_EXPORT_PATH(locbtnotifier.iby)
-
-// Language IBY Files
-../rom/locationsysui_resources.iby             LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(locationsysui_resources.iby)
-../rom/locgpsindicatorplugin_resources.iby     LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(locgpsindicatorplugin_resources.iby)
-../rom/locnotprefplugin_resources.iby          LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(locnotprefplugin_resources.iby)
-
-../rom/locpsysettings_resources.iby            LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(locpsysettings_resources.iby)
-../rom/locsettingsuiservice_resources.iby      LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(locsettingsuiservice_resources.iby)
-../rom/locsuplsettings_resources.iby           LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(locsuplsettings_resources.iby)
-../rom/locverifierdlg_resources.iby            LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(locverifierdlg_resources.iby)
-../rom/locbtnotifier_resources.iby             LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(locbtnotifier_resources.iby)
-
-// Stub IBY Files
-../rom/locationsystemuistub.iby    CORE_MW_LAYER_IBY_EXPORT_PATH(locationsystemuistub.iby)
 
 // Export Configuration Markup language and Central Repository Mark up language files
 
-../conf/locnotprefplugin.confml        	MW_LAYER_CONFML(locnotprefplugin.confml)  
-../conf/locnotprefplugin_10206910.crml 	MW_LAYER_CRML(locnotprefplugin_10206910.crml)
-../conf/locsuplsettings.confml         	MW_LAYER_CONFML(locsuplsettings.confml)
-../conf/locsuplsettings_1028190A.crml  	MW_LAYER_CRML(locsuplsettings_1028190A.crml)
-../conf/locbtnotifier.confml           	MW_LAYER_CONFML(locbtnotifier.confml)
-../conf/locbtnotifier_2001FCBB.crml    	MW_LAYER_CRML(locbtnotifier_2001FCBB.crml)
 ../conf/loclocalvariation.confml       	MW_LAYER_CONFML(loclocalvariation.confml)
 ../conf/loclocalvariation_20022D83.crml MW_LAYER_CRML(loclocalvariation_20022D83.crml)
 
-PRJ_MMPFILES
-
-// Include Bld.infs
-
-// Location System UI View
-#include "../locsysuiview/group/bld.inf"
-
-// Location System UI Engine
-#include "../locsysuiengine/group/bld.inf"
-
-// Location Settings UI Service
-#include "../locsettingsuiservice/group/bld.inf"
-
-// Positioning Method Settings
-#include "../locpsysettings/group/bld.inf"
-
-// SUPL Settings 
-#include "../locsuplsettingsui/group/bld.inf"
-
-// Location Notation Preferences Settings UI
-#include "../locnotprefplugin/group/bld.inf"
-
-// Location Utils
-#include "../locutils/group/bld.inf"
-
-// Verifier
-#include "../locverifier/group/bld.inf"
-
-//GPS indicator
-#include "../locgpsindicatorplugin/group/bld.inf"
-
-// Location BT Notifiers
-#include "../locbtnotifier/group/bld.inf"
-
-//Satellite Info
-#include "../locblidsatelliteinfo/group/bld.inf"
 
 // Query and Notification
-#include "../queryandnotification/group/bld.inf"
+#include "../queryandnotification/group/bld.inf" 
+
+
 PRJ_TESTMMPFILES
 //  End of File  
--- a/locationsystemui/locationsysui/help/rom/locationsysuihelps_variant.iby	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationsystemui/locationsysui/help/rom/locationsysuihelps_variant.iby	Tue Aug 31 15:37:04 2010 +0300
@@ -24,25 +24,21 @@
     data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x10275062\contents.zip, RESOURCE_FILES_DIR\xhtml\%02d\0x10275062\contents.zip)
     data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x10275091\contents.zip, RESOURCE_FILES_DIR\xhtml\%02d\0x10275091\contents.zip)
     data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x10283139\contents.zip, RESOURCE_FILES_DIR\xhtml\%02d\0x10283139\contents.zip)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x2001E66E\contents.zip, RESOURCE_FILES_DIR\xhtml\%02d\0x2001E66E\contents.zip)
     data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x1020690F\index.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x1020690F\index.xml)
     data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x10207462\index.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x10207462\index.xml)
     data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x10275062\index.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x10275062\index.xml)
     data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x10275091\index.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x10275091\index.xml)
     data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x10283139\index.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x10283139\index.xml)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x2001E66E\index.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x2001E66E\index.xml)
     data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x1020690F\keywords.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x1020690F\keywords.xml)
     data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x10207462\keywords.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x10207462\keywords.xml)
     data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x10275062\keywords.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x10275062\keywords.xml)
     data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x10275091\keywords.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x10275091\keywords.xml)
     data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x10283139\keywords.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x10283139\keywords.xml)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x2001E66E\keywords.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x2001E66E\keywords.xml)
     data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x1020690F\meta.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x1020690F\meta.xml)
     data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x10207462\meta.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x10207462\meta.xml)
     data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x10275062\meta.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x10275062\meta.xml)
     data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x10275091\meta.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x10275091\meta.xml)
     data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x10283139\meta.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x10283139\meta.xml)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x2001E66E\meta.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x2001E66E\meta.xml)
 
 #endif
 
--- a/locationsystemui/locationsysui/install/locationsysui.pkg	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +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: Package file for Location System Ui
-;
-;
-; Installation file for Location Centre Application, Client, Server and Utils
-;
-;Languages
-&EN
-;
-; UID is the app's UID
-;
-#{"Location System UI"},(0x10281861),1,0,0,TYPE=SA, RU
-;Series 60 v3.0
-[0x101f7961], 0, 0, 0, {"Series60ProductID"}
-;
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-
-; Location System UI View
-"\epoc32\release\armv5\urel\locsysuiview.dll"               - "!:\sys\bin\locsysuiview.dll"
-"\epoc32\data\z\resource\plugins\locsysuiview.rsc"          - "!:\resource\plugins\locsysuiview.rsc"
-"\epoc32\data\z\resource\locsysuiviewrsc.rsc"               - "!:\resource\locsysuiviewrsc.rsc"
-"\epoc32\data\z\resource\apps\locsysuiview.mif"             - "!:\resource\apps\locsysuiview.mif"
-
-; Location System UI Engine
-"\epoc32\release\armv5\urel\locsysuiengine.dll"             - "!:\sys\bin\locsysuiengine.dll"
-
-; Positioning Settings UI
-"\epoc32\release\armv5\urel\locpsysettingsui.dll"           - "!:\sys\bin\locpsysettingsui.dll"
-"\epoc32\data\z\resource\plugins\locpsysettingsui.rsc"      - "!:\resource\plugins\locpsysettingsui.rsc"
-"\epoc32\data\z\resource\locpsysettingsuiview.rsc"          - "!:\resource\locpsysettingsuiview.rsc"
-"\epoc32\data\z\resource\apps\locpsysettings.mif"           - "!:\resource\apps\locpsysettings.mif"
-"\epoc32\release\armv5\urel\locpsysettingseng.dll"          - "!:\sys\bin\locpsysettingseng.dll"
-
-; SUPL settings UI
-"\epoc32\release\armv5\urel\locsuplsettings.dll"            - "!:\sys\bin\locsuplsettings.dll"
-"\epoc32\data\z\resource\plugins\locsuplsettings.rsc"       - "!:\resource\plugins\locsuplsettings.rsc"
-"\epoc32\data\z\resource\locsuplsettingsui.rsc"             - "!:\resource\locsuplsettingsui.rsc"
-
-; Notation preferences UI
-"\epoc32\release\armv5\urel\locnotprefplugin.dll"           - "!:\sys\bin\locnotprefplugin.dll"
-"\epoc32\data\z\resource\plugins\locnotprefplugin.rsc"      - "!:\resource\plugins\locnotprefplugin.rsc"
-"\epoc32\data\z\resource\locnotprefpluginview.rsc"          - "!:\resource\locnotprefpluginview.rsc"
-
-; Location Settings UI server
-"\epoc32\release\armv5\urel\locsettingsuiserver.exe"                - "!:\sys\bin\locsettingsuiserver.exe"
-"\epoc32\data\z\resource\apps\locsettingsuiserver_aif.mif"         	- "!:\resource\apps\locsettingsuiserver_aif.mif"
-"\epoc32\data\z\resource\apps\locsettingsuiserver.rsc"              - "!:\resource\apps\locsettingsuiserver.rsc"
-"\epoc32\data\Z\private\10003a3f\apps\locsettingsuiserver_reg.rsc"  - "!:\private\10003a3f\import\apps\locsettingsuiserver_reg.rsc"
-
-; Location Settings UI client
-"\epoc32\release\armv5\urel\locsettingsuiclient.dll"        - "!:\sys\bin\locsettingsuiclient.dll"
-
-; Verfier dialogs
-"\epoc32\release\armv5\urel\locnotifierwrapper.dll"         - "!:\sys\bin\locnotifierwrapper.dll"
-"\epoc32\data\z\resource\plugins\locnotifierwrapper.rsc"    - "!:\resource\plugins\locnotifierwrapper.rsc"
-
-"\epoc32\release\armv5\urel\locutils.dll"                   - "!:\sys\bin\locutils.dll"
-"\epoc32\data\z\resource\locutils.rsc"                      - "!:\resource\locutils.rsc"
-
-"\epoc32\release\armv5\urel\locverifierdlg.dll"             - "!:\sys\bin\locverifierdlg.dll"
-"\epoc32\data\z\resource\locverifierdlg.rsc"                - "!:\resource\locverifierdlg.rsc"
--- a/locationsystemui/locationsysui/install/locationsysuistub.pkg	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-;
-; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "Eclipse Public License v1.0"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description: Package file for Location System Ui Stub
-;
-;
-; Installation file for Location Centre Application, Client, Server and Utils
-;
-;Languages
-&EN
-;
-; UID is the app's UID
-;
-#{"Location System UI"},(0x10281861),1,0,0,TYPE=SA
-;
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Supports Series 60 v 3.0
-;This line indicates that this installation is for the Series 60 platform v0.9
-;This line must appear _exactly_ as shown below in the sis file
-;If this line is missing or incorrect, the sis file will not be able
-;to be installed on Series 60 v3.0 platforms
-;(0x101F7961), 0, 0, 0, {"Series60ProductID"}
-;
-
-; Location System UI View
-""-"Z:\sys\bin\locsysuiview.dll"
-""-"Z:\resource\locsysuiviewrsc.rsc"
-""-"Z:\resource\plugins\locsysuiview.rsc"
-""-"Z:\resource\apps\locsysuiview.mif"
-
-; Location System UI Engine
-""-"Z:\sys\bin\locsysuiengine.dll"
-
-; Positioning Settings UI
-""-"Z:\sys\bin\locpsysettingsui.dll"
-""-"Z:\resource\locpsysettingsuiview.rsc"
-""-"Z:\resource\plugins\locpsysettingsui.rsc"
-""-"Z:\resource\apps\locpsysettings.mif"
-""-"Z:\sys\bin\locpsysettingseng.dll"
-
-; SUPL settings UI
-""-"Z:\sys\bin\locsuplsettings.dll"
-""-"Z:\resource\locsuplsettingsui.rsc"
-""-"Z:\resource\plugins\locsuplsettings.rsc"
-
-; Notation preferences UI
-""-"Z:\sys\bin\locnotprefplugin.dll"
-""-"Z:\resource\locnotprefpluginview.rsc"
-""-"Z:\resource\plugins\locnotprefplugin.rsc"
-
-; Location Settings UI server
-""-"Z:\sys\bin\locsettingsuiserver.exe"
-""-"Z:\resource\apps\locsettingsuiserver_aif.mif"
-""-"Z:\resource\apps\locsettingsuiserver.rsc"
-""-"Z:\private\10003a3f\import\apps\locsettingsuiserver_reg.rsc"
-
-; Location Settings UI client
-""-"Z:\sys\bin\locsettingsuiclient.dll"
-
-; Verfier dialogs
-""-"Z:\sys\bin\locnotifierwrapper.dll"
-""-"Z:\resource\plugins\locnotifierwrapper.rsc"
-
-""-"Z:\sys\bin\locutils.dll"
-""-"Z:\resource\locutils.rsc"
-
-""-"Z:\sys\bin\locverifierdlg.dll"
-""-"Z:\resource\locverifierdlg.rsc"
--- a/locationsystemui/locationsysui/loc/Satellite.loc	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,209 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Logical Strings definition for BLID Satellite Info
-*
-*/
-
-
-#include <bldvariant.hrh>
-
-/**
- *  Default (implementation English) Resource localisation file.
- */
-
-// LOCALISATION STRINGS
-
-//d:Heading pane for satellite 
-//d:data pop-up window
-//l:heading_pane_t1
-//
-#define qtn_blid_note_sat_heading		"Satellite signals:"
-
-//d:Text to be displayed in satellite info list box
-//d:when satellite data is unavailable
-//l:main_list_empty_pane/opt1
-//w:
-//r:3.0
-//
-#define qtn_blid_note_no_satellite_data		"No satellite data available"
-
-//d:Text when GPS is not connected
-//l:popup_note_window
-//w:
-//r:3.0
-//
-#define qtn_blid_note_no_gps		"Connect GPS"
-
-//d:Text for satellite id for both
-//d:signal strength and graphical views
-//l:compass_pane_t4/opt2
-//w:
-//r:3.2
-//
-#define qtn_blid_satellite_id		"%N"
-
-//d:Command text to change view in the satellite dialog
-//l:control_pane_t1/opt7
-//w:
-//r:3.2
-//
-#define qtn_blid_sat_change_view	"Change"
-
-//d:Point of the Navigation
-//d:character(North)
-//l:compass_pane_t4/opt2
-//r: 3.2
-//
-#define qtn_blid_sat_symbol_north				"N"
-
-//d:Point of the Navigation
-//d:character(South)
-//l:compass_pane_t4/opt2
-//r: 3.2
-//
-#define qtn_blid_sat_symbol_south				"S"
-
-//d:Point of the Navigation
-//d:character(West)
-//l:compass_pane_t4/opt2
-//r: 3.2
-//
-#define qtn_blid_sat_symbol_west				"W"
-
-//d:Point of the Navigation
-//d:character(East)
-//l:compass_pane_t4/opt2
-//r: 3.2
-//
-#define qtn_blid_sat_symbol_east				"E"
-
-
-//d:Heading pane for satellite signal strength view
-//d:data pop-up window
-//l:heading_pane_t1
-//r: 3.2
-//
-#define qtn_blid_sat_heading_signals		"Signal strengths:"
-
-//d:Heading pane for satellite graphical view
-//d:data pop-up window
-//l:heading_pane_t1
-//r: 3.2
-//
-#define qtn_blid_sat_heading_graphic		"Satellite display:"
-
-//d:Heading pane for compass view
-//d:data pop-up window
-//l:heading_pane_t1
-//r: 3.2
-//
-#define qtn_blid_sat_heading_compass		"Compass view:"
-
-//d:Point of the Compass
-//d:character(West)
-//l:blid_firmament_pane_t1/opt1
-//r: 3.2
-//
-#define qtn_blid_sat_compass_west				"W"
-
-//d:Point of the Compass
-//d:character(East)
-//l:blid_firmament_pane_t2/opt1
-//r: 3.2
-//
-#define qtn_blid_sat_compass_east				"E"
-
-//d:Point of the Compass
-//d:character(North)
-//l:blid_firmament_pane_t3/opt1
-//r: 3.2
-//
-#define qtn_blid_sat_compass_north			"N"
-
-//d:Point of the Compass
-//d:character(South)
-//l:blid_firmament_pane_t4/opt1
-//r: 3.2
-//
-#define qtn_blid_sat_compass_south			"S"
-
-//d:Altitude String in Compass View
-//d:data pop-up window
-//l:popup_blid_sat_info2_window_t5
-//r: 3.2
-//
-#define qtn_blid_sat_compass_altitude		"Altitude:"
-
-//d:Speed String in Compass View
-//d:data pop-up window
-//l:popup_blid_sat_info2_window_t7
-//r: 3.2
-//
-#define qtn_blid_sat_compass_speed			"Speed:"
-
-//d:Direction String in Compass View
-//d:data pop-up window
-//l:popup_blid_sat_info2_window_t9
-//r: 3.2
-//
-#define qtn_blid_sat_compass_direction	"Direction:"
-
-//d:Metric Format for Speed in Compass View
-//d:Format(Metric)
-//l:popup_blid_sat_info2_window_t8
-//r: 3.2
-//
-#define qtn_blid_sat_compass_speed_kmph				"%0U km/h"
-
-//d:Imperial Format for Speed in Compass View
-//d:Format(Imperial)
-//l:popup_blid_sat_info2_window_t8
-//r: 3.2
-//
-#define qtn_blid_sat_compass_speed_mph			"%0U mph"
-
-//d:Metric Format for length in Compass View
-//d:Format(Metric)
-//popup_blid_sat_info2_window_t6
-//r: 3.2
-//
-#define qtn_blid_sat_compass_altitude_meter				"%0N m"
-
-//d:Imperial Format for length in Compass View
-//d:Format(Imperial)
-//l:popup_blid_sat_info2_window_t6
-//r: 3.2
-//
-#define qtn_blid_sat_compass_altitude_feet			"%0N ft"
-
-//d:Degree Format in Compass View
-//d:Format(Degree)
-//l:popup_blid_sat_info2_window_t10
-//r: 3.2
-//
-#define qtn_blid_sat_degree							"%0N°"
-
-//d:Type of Fix in Compass View
-//d:2D String
-//l:popup_blid_sat_info2_window_t11
-//r: 3.2
-//
-#define qtn_blid_sat_compass_2d							"2D"
-
-//d:Type of Fix in Compass View
-//d:3D String
-//l:popup_blid_sat_info2_window_t11
-//r: 3.2
-//
-#define qtn_blid_sat_compass_3d							"3D"
--- a/locationsystemui/locationsysui/loc/location.loc	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,276 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*     This is a localisation file for Location subsystem.
-*     A .loc file is the one and only place where the logical strings
-*     to be localised are defined. 
-*  -------------------------------------------------------------------
-*
-*/
-
-
-/**
- *  Default (implementation English) Resource localisation file.
- */
-
-//  LOCALISATION STRINGS  
-
-//d:Location application name
-//d:in the App Shell grid
-//l: cell_app_pane_t1
-//r:3.0
-//
-#define qtn_location_grid          		"Location"
-
-//d:Location application name
-//d:in the App Shell list
-//l: list_single_large_graphic_pane_t1
-//r:3.0
-//
-#define qtn_location_list          		"Location"
-
-//d:Title pane text for application's
-//d:positioning methods view
-//l:title_pane_t2/opt9
-//r:3.0
-//
-#define qtn_loc_psy_title 			"Positioning Methods"
-
-//d:Indicates empty positioning methods list
-//l:main_list_empty_pane
-//r:3.0
-//
-#define qtn_loc_no_psys 			"(No methods available for positioning)"
-
-//d:Options menu item for enabling a Positioning method
-//l:list_single_pane_t1_cp2
-//r:3.0
-//
-#define qtn_loc_opt_enable_psy 		"Enable"
-
-
-//d:Options menu item for for disabling a Positioning method
-//l:list_single_pane_t1_cp2
-//r:3.0
-//
-#define qtn_loc_opt_disable_psy 		"Disable"
-
-
-//d:Options menu item to configure a Positioning method
-//l:list_single_pane_t1_cp2
-//r:3.0
-//
-#define qtn_loc_opt_method_settings 		"Method settings"
-
-//d:Heading text of a location request
-//d:in a list query
-//l:heading_pane_t1
-//r:3.0
-//
-#define qtn_loc_request             		"Location request:"
-
-//d:Left softkey for accepting a
-//d:location request
-//l:control_pane_t1/opt7
-//r:3.0
-//
-#define qtn_loc_request_accept      		"Accept"
-
-//d:Right softkey for rejecting a
-//d:location request
-//l:control_pane_t1/opt7
-//r:3.0
-//
-#define qtn_loc_request_reject      		"Reject"
-
-//d:Unknown requester in list query dialog
-//l:list_single_pane_t1_cp2
-//r:3.0
-//
-#define qtn_loc_requester_unknown       	"Unknown requester"
-
-//d:Error text shown when request was rejected due to
-//d:a conflict despite of user's "accept" decision.
-//l:popup_note_window
-//r:3.0
-//
-#define qtn_loc_notification_failure_rejected      	 "Unable to accept the request"
-
-//d:Error text shown when request was accepted due to
-//d:a conflict despite of user's "reject" decision.
-//l:popup_note_window
-//r:3.0
-//
-#define qtn_loc_notification_failure_accepted       "Unable to reject the request"
-
-//d:Heading text for location notification
-//l:heading_pane_t1
-//r:3.0
-//
-#define qtn_loc_notification            		"Location notification:"
-
-//d:Location notification explanation text
-//l: loc_type_pane
-//r:3.0
-//
-#define qtn_loc_notification_accepted       	"The network sent your location to:"
-
-//d:Location request explanation text if
-//d:the default network policy is accept
-//l:loc_type_pane
-//r:3.0
-//
-#define qtn_loc_request_default_accept  	"By default the network will accept this request on your behalf. Requesters:"
-
-//d:Location request explanation text if
-//d:the default network policy is reject
-//l:loc_type_pane
-//r:3.0
-//
-#define qtn_loc_request_default_reject      	"By default the network will reject this request on your behalf. Requesters:"
-
-//d:Location request explanation text if
-//d:the default network policy is not specified
-//l:loc_type_pane
-//r:3.0
-//
-#define qtn_loc_request_default_none        	"Your location was requested by:"
-
-//d:Notification explanation text when network
-//d:made "accept" decision due to timeout
-//l:loc_type_pane
-//r:3.0
-//
-#define qtn_loc_notification_accepted_timeout       "The network accepted this request on your behalf. Your location was sent to:"
-
-//d:Notification explanation text when network
-//d:made "reject" decision due to timeout
-//l:loc_type_pane
-//r:3.0
-//
-#define qtn_loc_notification_rejected_timeout       "The network rejected this request. Your location was not sent to:"
-
-//d:Title for the Location System UI Plugin
-//d:Long string
-//l:title_pane_t2/opt9
-//r:3.1
-//
-#define qtn_loc_pos_settings_title		"Positioning settings"
-
-//d:Caption for the Location System UI Plugin
-//d:Long string
-//l:list_single_large_graphic_pane_t1 
-//r:3.1
-//
-#define qtn_set_folder_positioning		"Positioning"
-
-//d:Caption for Positioning Method Settings
-//d:List box text in Location System UI plugin view.
-//l:list_setting_pane_t1
-//r:3.1
-//
-#define qtn_loc_settings_psys 		"Positioning Methods"
-
-//d:Prompt text for warning the User when he tries to disable
-//d:a PSY that is currently being used
-//l:popup_note_window
-//r:3.2
-//
-#define qtn_loc_query_psy_used "Positioning method is being used. Disable anyway?"
-
-// d:Postioning Settings Application Name
-// d:List box text for Positioning Settings Application used in Location Centre
-// l:list_single_large_graphic_pane_t1_cp2
-// r:5.0
-//
-#define qtn_loc_app_settings      "Positioning settings"
-
-// d: Heading pane text for stylus activated popup.
-// l: heading_sub_pane_t1
-// w:
-// r:5.0
-//
-#define qtn_loc_stylus_title_gps    "GPS"
-
-// d: Single line GPS status text shown on the stylus popup.
-// l: list_single_touch_info_pane_t1
-// w:
-// r:5.0
-//
-#define qtn_loc_stylus_gps_info           "GPS is active"
-
-// d: Link text shown on the stylus popup
-// l: list_single_touch_info_pane_t2/opt1
-// w:
-// r:5.0
-//
-#define qtn_loc_stylus_gps_link          "More Info"
-
-// d: Multiline text, when the link is clicked, shown as info note.
-// l: list_single_touch_info_pane_t1
-// w:
-// r:5.0
-//
-#define qtn_loc_stylus_gps_details       "GPS is a satellite based positioning system, which works best outdoors and away closed areas."
-
-// d: Verification text in popup quesry for the periodic request
-// l: loc_type_pane
-// w:
-// r:9.2b
-//
-#define qtn_loc_request_default          	"Your location will be requested periodically. Do you want to allow?"
-
-// d: Verification text in message quesry for the periodic request - time interval in minutes
-// l: popup_info_list_pane_t1
-// w:
-// r:9.2b
-//
-#define qtn_loc_notification_minutes         	"Your location was sent to %0U. This activity will continue for next %1U minutes"
-
-// d: Verification text in message quesry for the periodic request - time interval in hours
-// l: popup_info_list_pane_t1
-// w:
-// r:9.2b
-//
-#define qtn_loc_notification_hours         	"Your location was sent to %0U. This activity will continue for next %1U hours"
-
-// d: Verification text in message quesry for the periodic request - time interval in hour
-// l: popup_info_list_pane_t1
-// w:
-// r:9.2b
-//
-#define qtn_loc_notification_onehour        	"Your location was sent to %U. This activity will continue for next 1 hour"
-
-// d: Verification text in message quesry for the periodic request - time interval in days
-// l: popup_info_list_pane_t1
-// w:
-// r:9.2b
-//
-#define qtn_loc_notification_days          	"Your location was sent to %0U. This activity will continue for next %1U days"
-
-// d: Verification text in message quesry for the periodic request - time interval in day
-// l: popup_info_list_pane_t1
-// w:
-// r:9.2b
-//
-#define qtn_loc_notification_oneday        	"Your location was sent to %U. This activity will continue for next 1 day"
-
-// d: Link text shown on the message query for viewing the request/Session details
-// l: popup_info_list_pane_t1
-// w:
-// r:9.2b
-//
-#define qtn_loc_notification_service_link     	"Service details"
-
-// End of file
--- a/locationsystemui/locationsysui/loc/locbtnotifier.loc	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Localization strings for project locbtnotifier
-*
-*/
-
-
-// Localization Strings for Bluetooth Notifiers
-
-//d: GPS antenna connected dialog text
-//l: popup_note_window
-//w: 
-//r: 5.1
-//
-#define qtn_loc_psy_ext_antenna_connected "GPS antenna connected"
-
-//d: GPS antenna disconnected dialog text
-//l: popup_note_window
-//w: 
-//r: 5.1
-//
-#define qtn_loc_psy_ext_antenna_disconnected "GPS antenna disconnected"
-
-//d: GPS charger connected dialog text
-//l: popup_note_window
-//w: 
-//r: 5.1
-//
-#define qtn_loc_psy_ext_power_connected "GPS charger connected"
-
-//d: GPS charger disconnected dialog text
-//l: popup_note_window
-//w: 
-//r: 5.1
-//
-#define qtn_loc_psy_ext_power_disconnected "GPS charger disconnected"
-
-//d: GPS battery low dialog text
-//l: popup_note_window
-//w: 
-//r: 5.1
-//
-#define qtn_loc_psy_battery_low "GPS battery low"
-
-//d: GPS battery full dialog text
-//l: popup_note_window
-//w: 
-//r: 5.1
-//
-#define qtn_loc_psy_battery_full "GPS battery full"
-
-// End of File
--- a/locationsystemui/locationsysui/loc/locnotprefsettings.loc	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Localization file Location Notation Preferences Plugin
-*
-*/
-
-
-/**
- *  Default (implementation English) Resource localisation file.
- */
-
-//  LOCALISATION STRINGS  
-
-//d: Caption text for Location Notation preferences settings
-//d: List box text in Location System UI plugin view.
-//l: list_setting_pane_t1
-//r: 3.2
-//
-#define qtn_loc_settings_notations "Notation preferences"
-
-//d: Title pane text for Location Notation preferences settings
-//l: title_pane_t2/opt9
-//r: 3.2
-//
-#define qtn_loc_title_notations "Notation preferences"
-
-//d: List box text for System of Measurements
-//d: Title text for Radio button settings page
-//l: list_setting_pane_t1
-//r: 3.2
-//
-#define qtn_loc_notation_measures "System of measures"
-
-//d: List box text for Co-ordinate display format
-//d: Title text for Radio button settings page
-//l: list_setting_pane_t1
-//r: 3.2
-//
-#define qtn_loc_notation_coordinate_format "Coordinate format"
-
-//d: Settings value for System of measures
-//d: Indicates usage of Metric system of measurement for all location applications
-//l: list_set_graphic_pane_t1
-//r: 3.2
-//
-#define qtn_loc_metric_system "Metric"
-
-//d: Settings value for System of measures
-//d: Indicates usage of Imperial system of measurement for all location applications
-//l: list_set_graphic_pane_t1
-//r: 3.2
-//
-#define qtn_loc_imperial_system "Imperial"
-
-//d: Settings value for Co-ordinate display format
-//d: Indicates usage of Degrees, minutes, seconds and decimal seconds
-//d: Please note that the degree symbol °, minutes symbol' and 
-//d: seconds symbol " must NOT be localised. The dot can be localised.
-//d: Please note that the order of the characters must NOT be changed.
-//l: list_set_graphic_pane_t1
-//r: 3.2
-//
-#define qtn_loc_format_decimal_seconds "DDD° MM' SS.SS\""
-
-//d: Settings value for Co-ordinate display format
-//d: Indicates usage of Degrees, minutes and decimal minutes
-//d: Please note that the degree symbol ° and minutes symbol'must NOT be localised. 
-//d: The dot can be localised.
-//d: Please note that the order of the characters must NOT be changed.
-//l: list_set_graphic_pane_t1
-//r: 3.2
-//
-#define qtn_loc_format_decimal_minutes "DDD° MM.MMMM'"
-
-//d: Settings value for Co-ordinate display format
-//d: Indicates usage of Degrees and decimal degrees
-//d: Please note that the degree symbol ° must NOT be localised. 
-//d: The dot can be localised.
-//d: Please note that the order of the characters must NOT be changed.
-//l: list_set_graphic_pane_t1
-//r: 3.2
-//
-#define qtn_loc_format_decimal_degrees "DDD.DDDDD°"
-
-// End of file
--- a/locationsystemui/locationsysui/loc/locsuplsettings.loc	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,383 +0,0 @@
-/*
-* Copyright (c) 2005-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Localization strings for Location SUPL Settings
-*
-*/
-
-
-/**
- *  Default (implementation English) Resource localisation file.
- */
-
-//  LOCALISATION STRINGS  
-
-//d: Caption text for SUPL settings
-//d: List box text in Location System UI plugin view.
-//l: list_setting_pane_t1
-//r: 3.1
-//
-#define qtn_loc_settings_supl 				"Positioning server"
-
-//d: Title pane text for application's
-//d: supl settings view
-//l: title_pane_t2/opt9
-//r: 3.1
-//
-#define qtn_loc_supl_title  				"Positioning server"
-
-//d: Prompt text for configuring SUPL settings
-//d: in a confirmation query
-//l: popup_note_window
-//r: 3.2
-//
-#define qtn_loc_supl_iap_query "Network positioning server requires an access point. Define now?"
-
-//d: Settings Item for SUPL usage
-//d: This value denotes that SUPL would be used automatically and the User would not be prompted
-//d: with any confirmation queries.
-//l: list_set_graphic_pane_t1
-//r: 3.2
-//
-#define qtn_loc_supl_automatic 				"Automatic"
-
-//d: Settings Item for SUPL usage
-//d: This value denotes that SUPL would be used automatically when the user is in his
-//d: home network. When the user is roaming he would be prompted with a query for using SUPL.
-//l: list_set_graphic_pane_t1
-//r: 3.2
-//
-#define qtn_loc_supl_home_automatic 			"Automatic in home network"
-
-//d: Settings Item for SUPL usage
-//d: This value denotes that the user would always be prompted before using SUPL.
-//l: list_set_graphic_pane_t1
-//r: 3.2
-//
-#define qtn_loc_supl_ask 				"Always ask"
-
-//d: Settings Item for SUPL usage
-//d: This value denotes that SUPL would not be used at all.
-//l: list_set_graphic_pane_t1
-//r: 3.2
-//
-#define qtn_loc_supl_disabled 				"Disabled"
-
-//d: User enters access points list view and no connections exists.
-//d: User is informed about it and a 'solution' is offered with this info note.
-//d: This string is defined as a part of Networking UI Specification.
-//l: popup_note_window
-//r: 5.0
-//
-#define qtn_netw_info_no_iap_defined 			"No access points defined. Define one via Connection settings."
-
-// ----------------------
-// Since S60 9.1TB
-// ----------------------
-
-//d: List item in the server view 
-//l: list_setting_pane_t1
-//r: 9.1tb
-//
-#define qtn_loc_supl_server_use	             "Positioning server use"
-
-//d: Title text in the main setting pane
-//d: Used in the radio button selection dialog
-//l: main_pane_set_t1
-//r: 9.1tb
-//
-#define qtn_loc_supl_lbl_server_use         "Positioning server use"
-
-//d: List item in the server view
-//l: list_setting_pane_t1
-//r: 9.1tb
-//
-#define qtn_loc_supl_server_detail			"Server detail"
-
-//d: Item in the options menu to open the server detail view
-//l: list_single_pane_t1_cp2
-//r: 9.1tb
-//
-#define qtn_loc_supl_options_open			"Open"
-
-//d: Title text for server detail
-//l: title_pane_t2/opt9
-//r: 9.1tb
-//
-#define qtn_loc_server_detail_title			"Server detail"
-
-//d: Item in the options menu to enable a server
-//l: list_single_pane_t1_cp2
-//r: 9.1tb
-//
-#define qtn_loc_detail_options_enable			"Enable"
-
-//d: Item in the options menu to disable a server
-//l: list_single_pane_t1_cp2
-//r: 9.1tb
-//
-#define qtn_loc_detail_options_disable			"Disable"
-
-//d: Item in the options menu to delete a server
-//l: list_single_pane_t1_cp2
-//r: 9.1tb
-//
-#define qtn_loc_detail_options_delete			"Delete"
-
-//d: Item in the options menu to create a new server
-//l: list_single_pane_t1_cp2
-//r: 9.1tb
-//
-#define qtn_loc_detail_options_newserver 		"New server"
-
-//d: Item in the options menu to prioritize the server addresses
-//l: list_single_pane_t1_cp2
-//r: 9.1tb
-//
-#define qtn_loc_detail_options_prioritize 		"Prioritize"
-
-//d: Confirmation query  is displayed to the user before deleting the selected servers from the list
-//l: popup_note_window/opt1
-//r: 9.1tb
-//
-#define qtn_loc_detail_conf_delete_servers		"Delete %N servers"
-
-//d: Server editor form field heading for server address
-//l: list_double_pane_t1
-//r: 9.1tb
-//
-#define qtn_loc_server_address_name			"Server address*"
-
-//d: Server editor form field heading for access point
-//l: list_double_pane_t1
-//r: 9.1tb
-//
-#define qtn_loc_server_iap				"Access point"
-
-//d: Server editor form field heading for usage in home network
-//l: list_double_pane_t1
-//r: 9.1tb
-//
-#define qtn_loc_server_usage				"Usage in home network only"
-
-//d: Value in the "usage in home network" form field
-//l: list_double_pane_t2
-//r: 9.1tb
-//
-#define qtn_loc_server_usage_yes			"Yes"
-
-//d: Value in the "usage in home network" form field
-//l: list_double_pane_t2
-//r: 9.1tb
-//
-#define qtn_loc_server_usage_no				"No"
-
-//d: Item in the options menu to edit  the server
-//l: list_single_pane_t1_cp2
-//r: 9.1tb
-//
-#define qtn_loc_server_options_edit			"Edit"
-
-//d: Confirmation query  is displayed to the user before deleting the server
-//l: popup_note_window/opt1
-//r: 9.1tb
-//
-#define qtn_loc_detail_conf_delete_server		"Delete server"
-
-//d: Title text for server editor
-//l: title_pane_t2/opt9
-//r: 9.1tb
-//
-#define qtn_loc_server_editor_title			"New server"
-
-//d: Item in the options menu to change the setting of the focussed item
-//l: list_single_pane_t1_cp2
-//r: 9.1tb
-//
-#define qtn_loc_server_options_change			"Change"
-
-//d: Item in the options menu to define the Access Point . Only visible whene the focus is on the Access point
-//l: list_single_pane_t1_cp2
-//r: 9.1tb
-//
-#define qtn_loc_server_options_define			"Define"
-
-//d: MSK in the server editor to define the Access Point
-//l: control_pane_t3/opt7
-//r: 9.1tb
-//
-#define qtn_msk_define					"Define"
-
-//d: Value in the "Access point" form field
-//l: list_double_pane_t2
-//r: 9.1tb
-//
-#define qtn_loc_server_none				"None"
-
-//d: If the user presses the SK2 “Done” without the value in the mandatory field, this information note is displayed
-//l: popup_note_window/opt2
-//r: 9.1tb
-//
-#define qtn_loc_server_info_note			"Enter the server address"
-
-//d: If the user presses the SK2 “Done” with server address which is already exists, this information note is displayed to rename the server address
-//l: popup_note_window/opt2
-//r: 9.1tb
-//
-#define qtn_loc_server_rename_info_note		"Server address already exists. Please enter new server address"
-
-//d: List item in the server view for displaying number of services
-//l: list_setting_pane_t1
-//r: 9.2tb
-//
-#define qtn_loc_supl_multiple_services			"%N Active services"
-
-//d: List item in the server view for displaying 1 active services
-//l: list_setting_pane_t1
-//r: 9.2tb
-//
-#define qtn_loc_supl_single_service			"1 Active service"
-
-//d: List item in the server view for displaying no services
-//l: list_setting_pane_t1
-//r: 9.2tb
-//
-#define qtn_loc_supl_no_service				"No active services"
-
-//d: Title text for Active Services View
-//l: title_pane_t2/opt9
-//r: 9.2tb
-//
-#define qtn_loc_supl_services_title			"Active services"
-
-//d: Text to diplay for the unknown requester in Services view.
-//l: list_single_graphic_pane_t1
-//r: 9.2tb
-//
-#define qtn_loc_supl_unknown_service			"Unknown requester"
-
-//d: Item in the options menu to clear active session
-//l: list_single_pane_t1_cp2
-//r: 9.2tb
-//
-#define qtn_loc_supl_options_terminate           	"Terminate service"
-
-//d: Item in the options menu to clear active sessions
-//l: list_single_pane_t1_cp2
-//r: 9.2tb
-//
-#define qtn_loc_supl_options_terminate_multiple   	"Terminate services"
-
-//d: Confirmation query is displayed to the user before deleting the sessions
-//l: popup_note_window/opt1
-//r: 9.2tb
-//
-#define qtn_loc_supl_query_terminate_all		"Terminate all active services ?"
-
-//d: Confirmation query is displayed to the user before deleting the session
-//l: popup_note_window/opt1
-//r: 9.2tb
-//
-#define qtn_loc_supl_query_terminate			"Terminate \n %U?"
-
-//d: Confirmation query is displayed to the user before deleting the sessions
-//l: popup_note_window/opt1
-//r: 9.2tb
-//
-#define qtn_loc_supl_query_terminate_multiple		"Terminate %N services?"
-
-//d: Title text for Unnamed Session
-//l: title_pane_t2/opt9
-//r: 9.2tb
-//
-#define qtn_loc_services_title_unknown			"Unknown requester"
-
-// d: Label for Notification Status in Session editor
-// l: list_double_pane_t1
-// r: 9.2tb 
-//
-#define qtn_loc_supl_trigger_dialog 			"Trigger notification dialog"
-
-//d: Trigger notification status item in the session view
-//l: list_double_pane_t2
-//r: 9.2tb
-//
-#define qtn_loc_supl_trigger_dialog_on			"On"
-
-//d: Trigger notification status item in the session view
-//l: list_double_pane_t2
-//r: 9.2tb
-//
-#define qtn_loc_supl_trigger_dialog_off			"Off"
-
-// d: Label for Session type in Session editor
-// l: list_double_pane_t1
-// r: 9.2tb 
-//
-#define qtn_loc_supl_trigger_type 			"Type"
-
-//d: Trigger type item in the session view
-//l: list_double_pane_t2
-//r: 9.2tb
-//
-#define qtn_loc_supl_peridic_trigger			"Periodic"
-
-// d: Label for Session's Outstanding triggers in Session editor
-// l: list_double_pane_t1
-// r: 9.2tb 
-//
-#define qtn_loc_supl_trigger_outstanding 		"Number of outstanding triggers"
-
-// d: Label for Session period in Session editor
-// l: list_double_pane_t1
-// r: 9.2tb 
-//
-#define qtn_loc_supl_trigger_time_period 		"Time period"
-
-//d: Item in the session view to display the time in minutes unit(singular)
-//l: list_double_pane_t2
-//r: 9.2tb
-//
-#define qtn_loc_supl_trigger_time_minutes		"%U minutes"
-
-//d: Item in the session view to display the time in hours unit(singular)
-//l: list_double_pane_t2
-//r: 9.2tb
-//
-#define qtn_loc_supl_trigger_time_onehour		"1 hour"
-
-//d: Item in the session view to display the time in hours unit(plural)
-//l: list_double_pane_t2
-//r: 9.2tb
-//
-#define qtn_loc_supl_trigger_time_hours			"%U hours"
-
-//d: Item in the session view to display the time in days unit(singular)
-//l: list_double_pane_t2
-//r: 9.2tb
-//
-#define qtn_loc_supl_trigger_time_oneday		"1 day"
-
-//d: Item in the session view to display the time in days unit(plural)
-//l: list_double_pane_t2
-//r: 9.2tb
-//
-#define qtn_loc_supl_trigger_time_days			"%U days"
-
-// d: Label for Session interval in Session editor
-// l: list_double_pane_t1
-// r: 9.2tb 
-//
-#define qtn_loc_supl_trigger_interval 			"Time interval"
-
-// End of file
--- a/locationsystemui/locationsysui/locblidsatelliteinfo/bwins/SatInfoStubu.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-EXPORTS
-	??1CSatelliteInfoUI@@UAE@XZ @ 1 NONAME ; CSatelliteInfoUI::~CSatelliteInfoUI(void)
-	?ExecuteLD@CSatelliteInfoUI@@QAEHABVTDesC16@@@Z @ 2 NONAME ; int CSatelliteInfoUI::ExecuteLD(class TDesC16 const &)
-	?HandleForegroundEventL@CSatelliteInfoUI@@QAEXH@Z @ 3 NONAME ; void CSatelliteInfoUI::HandleForegroundEventL(int)
-	?NewL@CSatelliteInfoUI@@SAPAV1@XZ @ 4 NONAME ; class CSatelliteInfoUI * CSatelliteInfoUI::NewL(void)
-	?SetLaunchView@CSatelliteInfoUI@@QAEXW4TSatelliteView@1@@Z @ 5 NONAME ; void CSatelliteInfoUI::SetLaunchView(enum CSatelliteInfoUI::TSatelliteView)
-
--- a/locationsystemui/locationsysui/locblidsatelliteinfo/bwins/SatInfou.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-EXPORTS
-	??1CSatelliteInfoUI@@UAE@XZ @ 1 NONAME ; CSatelliteInfoUI::~CSatelliteInfoUI(void)
-	?ExecuteLD@CSatelliteInfoUI@@QAEHABVTDesC16@@@Z @ 2 NONAME ; int CSatelliteInfoUI::ExecuteLD(class TDesC16 const &)
-	?HandleForegroundEventL@CSatelliteInfoUI@@QAEXH@Z @ 3 NONAME ; void CSatelliteInfoUI::HandleForegroundEventL(int)
-	?NewL@CSatelliteInfoUI@@SAPAV1@XZ @ 4 NONAME ; class CSatelliteInfoUI * CSatelliteInfoUI::NewL(void)
-	?SetLaunchView@CSatelliteInfoUI@@QAEXW4TSatelliteView@1@@Z @ 5 NONAME ; void CSatelliteInfoUI::SetLaunchView(enum CSatelliteInfoUI::TSatelliteView)
-
--- a/locationsystemui/locationsysui/locblidsatelliteinfo/data/SatInfo.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,410 +0,0 @@
-/*
-* Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Contains all the resources for the SatelliteData.
-*
-*/
-
-
-//  RESOURCE IDENTIFIER
-NAME    SDSS // 4 letter ID
-
-//  INCLUDES
-#include <avkon.rh>
-#include <avkon.mbg>
-#include <avkon.rsg>
-#include <eikon.rh>
-#include <bldvariant.hrh>
-#include <avkon.loc>
-#include <sc/Satellite.loc>
-#include "satellite.hrh"
-
-//  RESOURCE DEFINITIONS 
-
-// ---------------------------------------------------------
-// Standard resource signature
-// ---------------------------------------------------------
-//
-RESOURCE RSS_SIGNATURE { }
-
-//----------------------------------------------------
-//   
-//    r_blid_note_sat_heading
-//    Satellite heading
-//
-//----------------------------------------------------
-//
-RESOURCE TBUF r_blid_note_sat_heading
-    {
-    buf = qtn_blid_note_sat_heading;
-    }
-
-//----------------------------------------------------
-//   
-//    r_satellite_wait_note
-//    Fetching satellite information note
-//
-//----------------------------------------------------
-//
-RESOURCE DIALOG r_satellite_wait_note
-	{	
-	flags = EAknWaitNoteFlags | EEikDialogFlagWait;
-    buttons = R_AVKON_SOFTKEYS_CANCEL;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = EGeneralNote;
-            control= AVKON_NOTE 
-                { 
-                layout = EWaitLayout;
-                singular_label = qtn_gen_note_fetching;
-                animation = R_QGN_GRAF_WAIT_BAR_ANIM;
-                };
-            }
-        };
-	}
-
-//-------------------------------------------------------
-//   
-//    SATELLITEEMPTYSTRUCT
-//    Empty structure for r_satellite_dialog
-//
-//-------------------------------------------------------
-//
-STRUCT SATELLITEEMPTYSTRUCT
-	{
-	}
-	
-
-RESOURCE CBA r_satellite_dialog_cba
-	{ 
-	buttons = 
-		{ 
-		CBA_BUTTON 
-			{
-			id = ESatelliteChangeView; 
-			txt = qtn_blid_sat_change_view;
-			}, 
-		CBA_BUTTON 
-			{ 
-			id = EEikCommandTypeExitOrBack;
-			txt = text_softkey_close;
-			},
-		CBA_BUTTON 
-			{ 
-			id = ESatelliteChangeView; 
-			txt = qtn_blid_sat_change_view;
-			}
-		}; 
-	} 
-
-//----------------------------------------------------
-//   
-//    r_satellite_dialog
-//    Custom dialog to display satellite view
-//
-//----------------------------------------------------
-//
-RESOURCE DIALOG r_satellite_dialog
-  {
-  flags = EEikDialogFlagNoDrag | EEikDialogFlagButtonsRight | EEikDialogFlagNoTitleBar |
-		   EEikDialogFlagCbaButtons | EEikDialogFlagWait | 
-		   EEikDialogFlagFillScreen;
-  buttons = r_satellite_dialog_cba;
-  items =
-      {
-	  DLG_LINE
-	      {
-		  type = ESatelliteControl;
-		  id = ESatelliteControl;
-		  control = SATELLITEEMPTYSTRUCT;
-		  }
-      };
-  }
-
-
-//----------------------------------------------------
-//   
-//    r_connect_bluetooth_gps
-//    Satellite heading
-//
-//----------------------------------------------------
-//
-RESOURCE TBUF r_connect_bluetooth_gps
-    {
-    buf = qtn_connect_bluetooth_gps;
-    }
-
-//----------------------------------------------------
-//   
-//    r_blid_note_no_satellite_data
-//    Satellite heading
-//
-//----------------------------------------------------
-//
-RESOURCE TBUF r_blid_note_no_satellite_data
-    {
-    buf = qtn_blid_note_no_satellite_data;
-    }
-
-//----------------------------------------------------
-//   
-//    r_blid_note_no_gps
-//    Satellite heading
-//
-//----------------------------------------------------
-//
-RESOURCE TBUF r_blid_note_no_gps
-    {
-    buf = qtn_blid_note_no_gps;
-    }
-
-//----------------------------------------------------
-//   
-//    r_blid_satellite_id
-//    Satellite numbers in signal strength view
-//
-//----------------------------------------------------
-//
-RESOURCE TBUF r_blid_satellite_id
-    {
-    buf = qtn_blid_satellite_id;
-    }
-
-//----------------------------------------------------
-//   
-//    r_blid_sat_symbol_north
-//    Cardinal point N
-//
-//----------------------------------------------------
-//
-RESOURCE TBUF r_blid_sat_symbol_north
-    {
-    buf = qtn_blid_sat_symbol_north;
-    }
-
-//----------------------------------------------------
-//   
-//    r_blid_sat_symbol_south
-//    Cardinal point S
-//
-//----------------------------------------------------
-//
-RESOURCE TBUF r_blid_sat_symbol_south
-    {
-    buf = qtn_blid_sat_symbol_south;
-    }
-
-//----------------------------------------------------
-//   
-//    r_blid_sat_symbol_west
-//    Cardinal point W
-//
-//----------------------------------------------------
-//
-RESOURCE TBUF r_blid_sat_symbol_west
-    {
-    buf = qtn_blid_sat_symbol_west;
-    }
-
-//----------------------------------------------------
-//   
-//    r_blid_sat_symbol_east
-//    Cardinal point E
-//
-//----------------------------------------------------
-//
-RESOURCE TBUF r_blid_sat_symbol_east
-    {
-    buf = qtn_blid_sat_symbol_east;
-    }
-
-//----------------------------------------------------
-//   
-//    r_blid_sat_heading_signals
-//    Heading pane for satellite signal strength view
-//
-//----------------------------------------------------
-//
-RESOURCE TBUF r_blid_sat_heading_signals
-    {
-    buf = qtn_blid_sat_heading_signals;
-    }
-    
-//----------------------------------------------------
-//   
-//    r_blid_sat_heading_graphic
-//    Heading pane text for satellite graphical view
-//
-//----------------------------------------------------
-//
-RESOURCE TBUF r_blid_sat_heading_graphic
-    {
-    buf = qtn_blid_sat_heading_graphic;
-    }
-
-//----------------------------------------------------  
-// r_blid_sat_heading_compass
-// Heading pane text for satellite graphical view
-//----------------------------------------------------
-//
-RESOURCE TBUF r_blid_sat_heading_compass
-    {
-    buf = qtn_blid_sat_heading_compass;
-    }
-
-//----------------------------------------------------
-//    r_blid_sat_compass_north
-//    Cardinal point N
-//----------------------------------------------------
-//
-RESOURCE TBUF r_blid_sat_compass_north
-    {
-    buf = qtn_blid_sat_compass_north;
-    }
-
-//----------------------------------------------------
-//    r_blid_sat_compass_south
-//    Cardinal point S
-//----------------------------------------------------
-//
-RESOURCE TBUF r_blid_sat_compass_south
-    {
-    buf = qtn_blid_sat_compass_south;
-    }
-
-//----------------------------------------------------
-//    r_blid_sat_compass_west
-//    Cardinal point W
-//----------------------------------------------------
-//
-RESOURCE TBUF r_blid_sat_compass_west
-    {
-    buf = qtn_blid_sat_compass_west;
-    }
-
-//----------------------------------------------------
-//    r_blid_sat_compass_east
-//    Cardinal point E
-//----------------------------------------------------
-//
-RESOURCE TBUF r_blid_sat_compass_east
-    {
-    buf = qtn_blid_sat_compass_east;
-    }
-
-//----------------------------------------------------  
-// r_blid_sat_compass_altitude
-// Altitude String
-//----------------------------------------------------
-//
-RESOURCE TBUF r_blid_sat_compass_altitude
-    {
-    buf = qtn_blid_sat_compass_altitude;
-    }
-
-//----------------------------------------------------  
-// r_blid_sat_compass_speed
-// Speed String
-//----------------------------------------------------
-//
-RESOURCE TBUF r_blid_sat_compass_speed
-    {
-    buf = qtn_blid_sat_compass_speed;
-    }
-
-//----------------------------------------------------  
-// r_blid_sat_compass_direction
-// Direction String
-//----------------------------------------------------
-//
-RESOURCE TBUF r_blid_sat_compass_direction
-    {
-    buf = qtn_blid_sat_compass_direction;
-    }    
-
-//----------------------------------------------------  
-// r_blid_sat_metric_speed
-// Metric Speed Format String
-//----------------------------------------------------
-//
-RESOURCE TBUF r_blid_sat_metric_speed
-    {
-    buf = qtn_blid_sat_compass_speed_kmph;
-    } 
-
-//----------------------------------------------------  
-// r_blid_sat_imperial_speed
-// Imperial Speed Format String
-//----------------------------------------------------
-//
-RESOURCE TBUF r_blid_sat_imperial_speed
-    {
-    buf = qtn_blid_sat_compass_speed_mph;
-    } 
-
-//----------------------------------------------------  
-// r_blid_sat_metric_meter
-// Metric Meter Format String
-//----------------------------------------------------
-//
-RESOURCE TBUF r_blid_sat_metric_meter
-    {
-    buf = qtn_blid_sat_compass_altitude_meter;
-    } 
-
-//----------------------------------------------------  
-// r_blid_sat_imperial_foot
-// Imperial Foot Format String
-//----------------------------------------------------
-//
-RESOURCE TBUF r_blid_sat_imperial_foot
-    {
-    buf = qtn_blid_sat_compass_altitude_feet;
-    } 
-
-//----------------------------------------------------  
-// r_blid_sat_degree
-// Degree Format String
-//----------------------------------------------------
-//
-RESOURCE TBUF r_blid_sat_degree
-    {
-    buf = qtn_blid_sat_degree;
-    } 
-
-//----------------------------------------------------  
-// r_blid_sat_compass_2d
-// 2D Type of Fix
-//----------------------------------------------------
-//
-RESOURCE TBUF r_blid_sat_compass_2d
-    {
-    buf = qtn_blid_sat_compass_2d;
-    } 
-
-//----------------------------------------------------  
-// r_blid_sat_compass_3d
-// 3D Type of Fix
-//----------------------------------------------------
-//
-RESOURCE TBUF r_blid_sat_compass_3d
-    {
-    buf = qtn_blid_sat_compass_3d;
-    } 
-
-// End of File
-
-
--- a/locationsystemui/locationsysui/locblidsatelliteinfo/eabi/SatInfoStubu.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-EXPORTS
-	_ZN16CSatelliteInfoUI22HandleForegroundEventLEi @ 1 NONAME
-	_ZN16CSatelliteInfoUI4NewLEv @ 2 NONAME
-	_ZN16CSatelliteInfoUI9ExecuteLDERK7TDesC16 @ 3 NONAME
-	_ZN16CSatelliteInfoUID0Ev @ 4 NONAME
-	_ZN16CSatelliteInfoUID1Ev @ 5 NONAME
-	_ZN16CSatelliteInfoUID2Ev @ 6 NONAME
-	_ZTI16CSatelliteInfoUI @ 7 NONAME ; #<TI>#
-	_ZTV16CSatelliteInfoUI @ 8 NONAME ; #<VT>#
-	_ZN16CSatelliteInfoUI13SetLaunchViewENS_14TSatelliteViewE @ 9 NONAME
-
--- a/locationsystemui/locationsysui/locblidsatelliteinfo/eabi/SatInfou.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-EXPORTS
-	_ZN16CSatelliteInfoUI22HandleForegroundEventLEi @ 1 NONAME
-	_ZN16CSatelliteInfoUI4NewLEv @ 2 NONAME
-	_ZN16CSatelliteInfoUI9ExecuteLDERK7TDesC16 @ 3 NONAME
-	_ZN16CSatelliteInfoUID0Ev @ 4 NONAME
-	_ZN16CSatelliteInfoUID1Ev @ 5 NONAME
-	_ZN16CSatelliteInfoUID2Ev @ 6 NONAME
-	_ZTI10CSatellite @ 7 NONAME ABSENT ; #<TI>#
-	_ZTI13CSatelliteEng @ 8 NONAME ABSENT ; #<TI>#
-	_ZTI16CSatelliteDialog @ 9 NONAME ABSENT ; #<TI>#
-	_ZTI16CSatelliteInfoUI @ 10 NONAME ; #<TI>#
-	_ZTI17CSatelliteLBModel @ 11 NONAME ABSENT ; #<TI>#
-	_ZTI17CSatelliteListBox @ 12 NONAME ABSENT ; #<TI>#
-	_ZTI20CSatelliteItemDrawer @ 13 NONAME ABSENT ; #<TI>#
-	_ZTV10CSatellite @ 14 NONAME ABSENT ; #<VT>#
-	_ZTV13CSatelliteEng @ 15 NONAME ABSENT ; #<VT>#
-	_ZTV16CSatelliteDialog @ 16 NONAME ABSENT ; #<VT>#
-	_ZTV16CSatelliteInfoUI @ 17 NONAME ; #<VT>#
-	_ZTV17CSatelliteLBModel @ 18 NONAME ABSENT ; #<VT>#
-	_ZTV17CSatelliteListBox @ 19 NONAME ABSENT ; #<VT>#
-	_ZTV20CSatelliteItemDrawer @ 20 NONAME ABSENT ; #<VT>#
-	_ZN16CSatelliteInfoUI13SetLaunchViewENS_14TSatelliteViewE @ 21 NONAME
-
--- a/locationsystemui/locationsysui/locblidsatelliteinfo/group/Satellite.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Project definition file for BLID Satellite Info
-*
-*/
-
-
-
-// INCLUDES
-#include <platform_paths.hrh>
-#include "../inc/SatInfoUID.h"
-#include "data_caging_paths.hrh"
-
-VENDORID	VID_DEFAULT
-
-// Target information
-TARGET  SatInfo.dll
-TARGETTYPE  dll
-UID  KEPOCStaticDllUid2 KSatInfoUID3
-
-CAPABILITY CAP_GENERAL_DLL
-
-// Project source directory
-SOURCEPATH ../src
-
-// Source files
-SOURCE DllMain.cpp
-SOURCE Debug.cpp
-SOURCE CSatelliteInfoUI.cpp
-SOURCE CSatellite.cpp
-SOURCE satellitecontrol.cpp
-SOURCE CSatelliteDialog.cpp
-SOURCE CSatelliteEng.cpp
-SOURCE csatellitemeasurementsetting.cpp
-
-
-START RESOURCE ../data/SatInfo.rss
-HEADER
-TARGETPATH  RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END
-
-// Userincludes
-USERINCLUDE . ../inc ../src 
-
-// Dependencies to system components
-MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE   /epoc32/include/libc
-
-// Other build related files
-//DOCUMENT ../group/Satellite.loc
-
-LIBRARY EUSER.LIB
-LIBRARY LBS.LIB
-LIBRARY commonengine.lib
-LIBRARY eikcoctl.lib
-LIBRARY eikctl.lib
-LIBRARY cone.lib
-LIBRARY bafl.lib
-LIBRARY efsrv.lib 
-LIBRARY flogger.lib
-LIBRARY gdi.lib
-LIBRARY AknLayout2Scalable.lib
-LIBRARY CdlEngine.lib
-LIBRARY avkon.lib
-LIBRARY AknSkins.lib
-LIBRARY eikdlg.lib
-LIBRARY eikcore.lib
-LIBRARY AknIcon.lib
-LIBRARY fbscli.lib
-LIBRARY estlib.lib
-LIBRARY aknlayout2.lib
-LIBRARY platformenv.lib
-LIBRARY centralrepository.lib
-
-#ifdef RD_TACTILE_FEEDBACK
-LIBRARY touchfeedback.lib
-#endif //RD_TACTILE_FEEDBACK
-
--- a/locationsystemui/locationsysui/locblidsatelliteinfo/group/SatelliteStub.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Project definition file for BLID Satellite Info
-*
-*/
-
-
-
-// INCLUDES
-#include <platform_paths.hrh>
-#include "../inc/SatInfoUID.h"
-#include "data_caging_paths.hrh"
-
-
-VENDORID	VID_DEFAULT
-
-// Target information
-TARGET  SatInfoStub.dll
-TARGETTYPE  dll
-UID  KEPOCStaticDllUid2 KSatInfoUID3
-
-CAPABILITY CAP_GENERAL_DLL
-
-// Project source directory
-SOURCEPATH ../stub
-
-// Source files
-SOURCE CSatelliteInfoUI.cpp
-
-SOURCEPATH ../group
-
-//HEADER
-TARGETPATH  RESOURCE_FILES_DIR
-//END
-
-// Language
-LANG            SC
-
-// Dependencies to system components
-MW_LAYER_SYSTEMINCLUDE
-
-LIBRARY EUSER.LIB
-LIBRARY commonengine.lib
-LIBRARY eikcoctl.lib avkon.lib
-LIBRARY cone.lib
-LIBRARY bafl.lib
-LIBRARY efsrv.lib 
-LIBRARY flogger.lib
-LIBRARY gdi.lib
-LIBRARY CdlEngine.lib
--- a/locationsystemui/locationsysui/locblidsatelliteinfo/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Build information file for BLID Satellite Info
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-WINSCW ARMV5
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-Satellite.mmp
-SatelliteStub.mmp
-
-PRJ_TESTMMPFILES
-
-PRJ_EXTENSIONS
-START EXTENSION s60/mifconv
-OPTION TARGETFILE satellite.mif
-OPTION HEADERFILE satellite.mbg
-OPTION SOURCES -c8,8 qgn_prop_blid_active -c8,8 qgn_prop_blid_bg -c8,8 qgn_prop_blid_inactive -c8,8 qgn_prop_blid_sat_firma -c8,8 qgn_prop_blid_sat_firma_active -c8,8 qgn_prop_blid_sat_firma_inact -c8,8 qgn_prop_blid_sat_firma_moon -c8,8 qgn_prop_blid_sat_firma_sun -c8,8 qgn_graf_blid -c8,8 qgn_graf_blid_ringfix
-END
--- a/locationsystemui/locationsysui/locblidsatelliteinfo/group/satellite_icons_dc.mk	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-#
-# Copyright (c) 2003 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: Icon make file for BLID Satellite Info
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\Z
-else
-ZDIR=\epoc32\data\z
-endif
-
-TARGETDIR=$(ZDIR)\resource\apps
-HEADERDIR=\epoc32\include
-ICONTARGETFILENAME=$(TARGETDIR)\satellite.mif
-HEADERFILENAME=$(HEADERDIR)\satellite.mbg
-
-do_nothing :
-	@rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-RESOURCE :
-	mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) \
-		/c8,8 qgn_prop_blid_active \
-		/c8,8 qgn_prop_blid_bg \
-		/c8,8 qgn_prop_blid_inactive \
-		/c8,8 qgn_prop_blid_sat_firma \
-		/c8,8 qgn_prop_blid_sat_firma_active \
-		/c8,8 qgn_prop_blid_sat_firma_inact \
-		/c8,8 qgn_prop_blid_sat_firma_moon \
-		/c8,8 qgn_prop_blid_sat_firma_sun \
-		/c8,8 qgn_graf_blid \
-		/c8,8 qgn_graf_blid_ringfix
-				
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
-	@echo $(HEADERFILENAME)&& \
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
-
--- a/locationsystemui/locationsysui/locblidsatelliteinfo/inc/CSatellite.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,131 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*     Implements interface for Satellite.
-*
-*/
-
-
-#ifndef __SATELLITE_H__
-#define __SATELLITE_H__
-
-//  INCLUDES
-#include <e32base.h>
-#include <eikenv.h>
-#include "MEngObserver.h"
-#include "SatInfoConsts.h"
-
-// FORWARD DECLARATION
-class MSatelliteEng;
-class CSatelliteDialog;
-class CAknWaitDialog;
-
-// CLASS DECLARATION
-/**
- *  Implements 
- */
-NONSHARABLE_CLASS( CSatellite ) : public CBase, public MEngObserver
-    {
-    public:
-        /**
-         * Two-phased constructor.
-         *
-         * @return CSatellite object.
-         */
-        static CSatellite* NewL();
-
-        /**
-         * Destructor.
-         */
-        ~CSatellite();
-
-    private:
-        /**
-         * By default Symbian 2nd phase constructor is private.
-         */
-        void ConstructL();
-
-        /**
-         * C++ default constructor.
-         */
-        CSatellite();
-
-    public: // from MEngObserver
-        void NotifyL(TInt aError);
-        void NotifyError( TInt aErrorCode );        
-
-    public: // new functions
-        /**
-         * Display satellite's information
-         * @param aNameOfRule
-         * @return TInt variable
-         */
-        TInt ExecuteL( const TDesC& aNameOfRule );
-
-        /**
-         * Dialog switched to foreground
-         * @param aForeground ETrue to switch to the foreground. 
-         * EFalse to switch from the foreground.
-         */
-        void HandleForegroundEventL(TBool aForeground);
-        
-        /**
-        * Function used to set the default launch view
-        * @param aView EGraphicalView if graphical view and ESignalStrengthView
-        * for signal strength view
-        */
-        void SetLaunchView(TSatDialogView aView);
-
-    private: // new functions
-        /**
-         * Open resource file
-         */
-        void OpenResourceFileL();
-
-        /**
-         * Close resource file
-         */
-        void CloseResourceFile();
-
-        /** 
-         * Find resource file
-         */
-        void FindResourceFileL();
-        
-    private:    // data
-        /// Own:
-        CEikonEnv* iEnv;
-
-        /// Own: Resource file name and path
-        TFileName iResourceFileName;
-
-        /// Own:
-        TInt iResourceOffset;
-
-        /// Own: 
-        MSatelliteEng* iEngine;
-
-        /// Own:
-        CSatelliteDialog* iDialog;
-
-        ///Own: A pointer to CAknWaitDialog
-		CAknWaitDialog* iWaitDialog;	
-		
-		///Own: Launch view of the dialog
-		TSatDialogView iLaunchView;	
-    };
-
-#endif // __SATELLITE_H__
-
-// End of File
--- a/locationsystemui/locationsysui/locblidsatelliteinfo/inc/CSatelliteDialog.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*     Implements interface for SatelliteData.
-*
-*/
-
-
-#ifndef __SATELLITE_DIALOG_H__
-#define __SATELLITE_DIALOG_H__
-
-//  INCLUDES
-#include <AknDialog.h>
-#include <AknQueryDialog.h>
-#include <coecntrl.h>
-#include <e32base.h>
-#include <s32std.h>
-#include <aknlistquerydialog.h>
-#include <aknlists.h>
-#include "SatInfoConsts.h"
-
-// FORWARD DECLARATION
-class CEikonEnv;
-class CEikFormattedCellListBox;
-class MSatelliteEng;
-class CAknPopupList;
-class CEikListBox;
-class CAknListQueryDialog;
-class CSatelliteListBox;
-class CAknsFrameBackgroundControlContext;
-class CSatelliteControl;
-
-// CLASS DECLARATION
-/**
- *  Implements satellite's dialog
- */
-NONSHARABLE_CLASS( CSatelliteDialog ) : public CAknDialog
-    {
-    public:
-        /**
-         * Two-phased constructor.
-         *
-         * @return CSatelliteDialog object.
-         */
-        static CSatelliteDialog* NewL( MSatelliteEng& aEngine );
-
-        /**
-         * Destructor.
-         */
-        ~CSatelliteDialog();
-
-    private:
-        /**
-         * By default Symbian 2nd phase constructor is private.
-         */
-        void ConstructL( );
-
-        /**
-         * C++ default constructor.
-         */
-        CSatelliteDialog(MSatelliteEng& aEngine);
-        
-        void SetSizeAndPosition(const TSize& aSize);
-        
-    protected:
-    	SEikControlInfo CreateCustomControlL(TInt aControlType);	    
-	    TTypeUid::Ptr MopSupplyObject(TTypeUid aId);
-	    void SizeChanged();
-	    TBool OkToExitL(TInt aButtonId);
-
-    public: // from CAknDialog
-        TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
-                                     TEventCode aType);
-
-    public: // new functions
-        /**
-         * Update dialog
-         */
-        void UpdateL();
-        
-        /**
-        * Set the launch view of the dialog
-        */        
-        void SetLaunchView(TSatDialogView aView);
-        
-    private: // data
-    
-        //Reference to the engine
-        MSatelliteEng& iEngine;
-        
-        //Own: Object to draw the fame and its background
-        CAknsFrameBackgroundControlContext* iBgContext;
-        
-        //Own: Satellite control responsible for all the drawing in the dialog
-        CSatelliteControl* iSatelliteControl;        
-    };
-
-#endif // __SATELLITE_DIALOG_H__
-
-// End of File
--- a/locationsystemui/locationsysui/locblidsatelliteinfo/inc/CSatelliteEng.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,161 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This is a header file for engine class of Location satellite info
-*
-*/
-
-
-#ifndef __SATELLITEENG_H__
-#define __SATELLITEENG_H__
-
-//  INCLUDES
-#include <e32base.h>
-#include <s32std.h>
-#include <lbs.h>
-#include <lbssatellite.h>
-#include "MSatelliteEng.h"
-#include "msatellitemeasurementsettingobserver.h"
-
-
-// FORWARD DECLARATION
-class CEikonEnv;
-class CSatelliteMeasurementSetting;
-// CLASS DECLARATION
-/**
- *
- */
-NONSHARABLE_CLASS( CSatelliteEng ) : public CActive, public MSatelliteEng,
-									public MSatelliteMeasurementSettingObserver
-    {
-    public:
-        /**
-         * Two-phased constructor.
-         *
-         * @return CSatelliteEng object.
-         */
-        static CSatelliteEng* NewL();
-
-        /**
-         * Destructor.
-         */
-        ~CSatelliteEng();
-
-    private:
-        /**
-         * By default Symbian 2nd phase constructor is private.
-         */
-        void ConstructL();
-
-        /**
-         * C++ default constructor.
-         */
-        CSatelliteEng();
-
-    public: // from CActive
-        void RunL();
-        void DoCancel();
-        TInt RunError(TInt aError);        
-
-    private: //from MSatelliteEng
-        void SetObserver(MEngObserver& aObserver);
-        void RequestSatelliteDataL( const TDesC& aNameOfRule );
-        TInt GetSatelliteData(TUint aIndex, 
-                              TSatelliteData& aSatelliteData) const;
-		
-		void GetPosition(TPosition& aPosition);
-        void GetCourse(TCourse& aCourse);
-        TLocSystemofMeasurementValues SysOfMeasurementL();
-        TInt NumberOfSatellitesUsed();
-        TInt NumberOfSatellites();
-        void StopRequesting();
-        void StartRequestingL();
-        void SortVisibleSatellitesDataL();
-        void UpdateIntervalL();
-        void ClearSatelliteData();
-        TBool IsSatelliteDataAvailable();
-        void ObjectElevationAzimuth(TInt aIndex, TReal& aAzimuth, TReal& aElevation );
-        void SortSatelliteDataL();
-        void GetSunAzimuthElevation(TReal& aAzimuth, TReal& aElevation );
-        void GetMoonAzimuthElevation(TReal& aAzimuth, TReal& aElevation );
-        void Julian(TReal& aJulianDay,
-        			TReal& aJulianCentury, 
-        			TInt aDay,
-        			TInt aMonth,
-        			TInt aYear,
-        			TReal universalTime);
-        void TrueLongToRaDeltadec(TReal& aRa,TReal& aDd,TReal aTrueLongitude);
-        TReal Kepler(TReal aE, TReal aM);
-        void LocationCoordinates(TReal& aAzimuth, 
-								 TReal& aElevation, 
-								 TReal aTau,
-								 TReal aDd, 
-								 TReal aLatitude);
-		TReal SideRealTime(TReal aJulianDay, 
-						   TReal aJulianCentury,
-						   TReal aLongitude,
-						   TReal aRa);		
-        
-    private: //from MSatelliteMeasurementSettingObserver
-		void HandleSysMeasureValueL();
-
-    private:    // data
-        /// Own: iServer
-        RPositionServer iServer;
-
-        /// Own: RPositioner
-        RPositioner iPositioner;
-
-        /// Own: TPositionSatelliteInfo
-        TPositionSatelliteInfo iSatelliteInfo;
-        
-        /// Own: CSatelliteMeasurementSetting
-        CSatelliteMeasurementSetting* iMeasurementSetting;
-        
-        /// Ref: Refrence to the observer for position notification
-        MEngObserver* iObserver;
-
-        /// Own: Start and stop requesting
-        TBool iRequesting;
-
-        /// Number of modules
-        TUint iNumberOfModules;
-
-        /// used modules index
-        TInt iModuleIndex;
-
-        /// used as an sorted index array to the satellite info data
-        TFixedArray<TUint8, KPositionMaxSatellitesInView> iSortIndices;
-        
-        // Own: Array to sort the satellite data in increasing order of 
-        // the signal strengths
-        RArray<TSatelliteData> iSortedSatData;
-        
-        // Keplers constant for sun and moon position calculations
-        struct TKeplers
-        	{
-        	struct params
-        		{
-        		TReal iA0;
-        		TReal iA1;
-        		};
-        	params iM;
-        	params iW;
-        	params iE;
-        	};
-        TKeplers iKeplers[2];
-    };
-
-#endif // __SATELLITEENG_H__
-
-// End of File
--- a/locationsystemui/locationsysui/locblidsatelliteinfo/inc/Debug.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Debug contains debug macros.
-*
-*/
-
-
-#ifndef DEBUG_H
-#define DEBUG_H
-// INCLUDES
-#include <e32std.h>
-
-#ifdef _DEBUG
-// MACROS
-#define DEBUG(TEXT) Debug( _L(#TEXT) );
-#define DEBUG1(TEXT, ARG1) Debug( _L(#TEXT), (ARG1) );
-#define DEBUG2(TEXT, ARG1, ARG2) Debug( _L(#TEXT), (ARG1), (ARG2) );
-#define DEBUG3(TEXT, ARG1, ARG2, ARG3) Debug( _L(#TEXT), (ARG1), (ARG2), (ARG3) );
-
-void Debug( TRefByValue<const TDesC> aText, ...);
-#endif
-
-#endif /* DEBUG_H */
--- a/locationsystemui/locationsysui/locblidsatelliteinfo/inc/DllMain.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Dll entry point
-*
-*/
-
-
-#ifndef __SATELLITE_DLLMAIN_H__
-#define __SATELLITE_DLLMAIN_H__
-
-//  INCLUDES
-#include <e32std.h>
-
-// DATA TYPES
-/// Satellite panic codes.
-enum TSatellitePanicCode
-    {
-    EModelTypeNotSupported= 0
-    };
-
-// FUNCTION PROTOTYPES
-/**
- * Stop the program execution with module specific text and error code.
- * Call if an unrecoverable error occurs in this module's code.
- *
- * @param aCode     error code
- *
- * @see TSatellitePanicCode
- */
-void SatellitePanic(TInt aCode);
-
-#endif // __SATELLITE_DLLMAIN_H__
-
-// End of File
--- a/locationsystemui/locationsysui/locblidsatelliteinfo/inc/MEngObserver.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Provides an observer interface to satellite engine.
-*
-*/
-
-
-
-#ifndef __MENGOBSERVER_H__
-#define __MENGOBSERVER_H__
-
-// CLASS DECLARATIONS
-/**
-* Provides API only for SatInfo dll.
-*/
-class MEngObserver
-    {
-    public: // New functions
-        /**
-         * Notifies the engine observer about occured event.
-         * Engine observer has to update its data when this function is called.
-         */
-        virtual void NotifyL(TInt aError) = 0;
-
-        /**
-         * Called if occured event causes a leave in previous NotifyL method.
-         * @param aErrorCode Occured general errorcode.
-         */
-        virtual void NotifyError( TInt aErrorCode ) = 0;
-    };
-
-#endif      // __MENGOBSERVER_H__
-
-// End of File
--- a/locationsystemui/locationsysui/locblidsatelliteinfo/inc/MSatelliteEng.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,133 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Interface class for defining the engine.
-*
-*/
-
-
-
-#ifndef __MSATELLITEENG_H__
-#define __MSATELLITEENG_H__
-
-// INCLUDES
-#include <lbspositioninfo.h>
-#include <lbs.h>
-#include <locnotprefplugindomaincrkeys.h>
-
-// FORWARD DECLARATIONS
-class MEngObserver;
-class TSatelliteData;
-// CLASS DECLARATION
-
-/**
-* Interface class to implement all the functionality required 
-* by the satellite engine
-*/
-class MSatelliteEng
-    {
-    public:  // Constructors and destructor
-        /**
-         * Destructor.
-         */
-        virtual ~MSatelliteEng(){};
-
-    public: // New functions
-        /**
-         * Sets satellite observer
-		 *
-         * @param aObserver A reference to observer
-         */
-        virtual void SetObserver(MEngObserver& aObserver) = 0;
-
-        /**
-         * Request satelite data
-         * @param aSrvName
-         */
-        virtual void RequestSatelliteDataL( const TDesC& aSrvName ) = 0;
-
-        /**
-         * Get satellite data 
-         * @param aIndex
-         * @param aSatelliteData
-         * @return error code
-         */
-        virtual TInt GetSatelliteData( TUint aIndex, 
-                      TSatelliteData& aSatelliteData ) const = 0;
-
-        /**
-         * Get Position Info
-         * @param aPosition
-         */
-        virtual void GetPosition(TPosition& aPosition) = 0;
-        
-        /**
-         * Get Course Info
-         * @param aCourse
-         */
-        virtual void GetCourse(TCourse& aCourse) = 0;
-        
-        /**
-         * Get Course Info
-         * @param aCourse
-         */
-        virtual TLocSystemofMeasurementValues SysOfMeasurementL() = 0;
-
-        /**
-         * Get number of satellites
-         * @return number of satellites
-         */
-        virtual TInt NumberOfSatellites() = 0;
-
-        /**
-         * Get number of satellites used
-         * @return number of satellites used
-         */
-        virtual TInt NumberOfSatellitesUsed() = 0;
-
-        /**
-         * Stop requesting
-         */
-        virtual void StopRequesting() = 0;
-
-        /**
-         * Start requesting
-         */
-        virtual void StartRequestingL() = 0;
-        
-        /**
-         * Clears the satellite data
-         *
-         */
-        virtual void ClearSatelliteData() = 0;
-        
-        /**
-         * Check if any satelllite data is available
-         *
-         */
-        virtual TBool IsSatelliteDataAvailable() = 0;        
-        
-        /**
-         * Function to obtain the Azimuth and elevation of sun
-         */
-        virtual void GetSunAzimuthElevation(TReal& aAzimuth, TReal& aElevation ) = 0;
-        
-        /**
-         * Function to obtain the Azimuth and elevation of moon
-         */
-        virtual void GetMoonAzimuthElevation(TReal& aAzimuth, TReal& aElevation ) = 0;
-    };
-
-#endif      // __MSATELLITEENG_H__
-
-// End of File
--- a/locationsystemui/locationsysui/locblidsatelliteinfo/inc/SatInfoConsts.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Contains common constants
-*
-*/
-
-
-#ifndef __SATELLITECONSTS_H__
-#define __SATELLITECONSTS_H__
-
-
-const TInt KSatInfoBufferSize( 50 );
-
-_LIT( KSatInfoRscFileName, "SatInfo.rsc" );
-//needed to get full screen dialog
-const TInt KInitialSatellites(5);
-
-const TInt KBlidMaxSatelliteSignalStrength( 40 );
-
-const TInt KBlidMinSatelliteSignalStrength( 5 );
-
-// Interval timeout to recive satellite data 
-const TInt KSatelliteIntervalTime( 3000000 ); //3 seconds
-
-const TInt KSatelliteTimeOut(4000000); // 4 seconds
-
-const TInt KRightAngle(90); // 90 degree right angle
-
-// trailing backslash has been added to it:
-_LIT( KSatTmp_RESOURCE_FILES_DIR, "\\resource\\" );
-
-const TInt KMaxSatellites(32);
-
-enum TSatDialogView
-	{
-	EGraphicalView,
-	ESignalStrengthView,
-	ECompassView
-	};
-
-// Path to find the mbm file
-_LIT( KBlidSatSystemIconPath, ":\\resource\\apps\\satellite.mif" );
-
-//distance converters
-const TReal KMetreToFoot( 3.280839895013123 );
-const TReal KKilometreToMiles( 0.6213711922373338 );
-
-//Speed Format
-_LIT( KSpeedFormat,"%.1f" );
-const TReal KSpeedConvertion( 3.6 ); // m/s => km/h
-const TInt KDecimals3( 3 );
-
-// Fix Type
-const TInt K2dFix( 3 );
-
-#endif // __SATELLITECONSTS_H__
-
-// End of File
--- a/locationsystemui/locationsysui/locblidsatelliteinfo/inc/SatInfoUID.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Common header for Satellite info UIDs.
-*
-*/
-
-
-#ifndef __SATINFOUID_H__
-#define __SATINFOUID_H__
-
-//  MACROS
-
-/// Satellite info UI UID3
-#define KSatInfoUID3 0x101F85A1
-
-//
-// Common system UIDs
-//
-#define KEPOCStaticDllUid2 0x1000008D
-
-#endif // __SATINFOUID_H__
-
-// End of File
-
--- a/locationsystemui/locationsysui/locblidsatelliteinfo/inc/csatellitemeasurementsetting.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,115 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Adapter for System of Measurement.
-*
-*/
-
-
-#ifndef CSATELLITEMEASUREMENTSETTING_H
-#define CSATELLITEMEASUREMENTSETTING_H
-
-//  System Includes
-#include <e32base.h>
-#include <locnotprefplugindomaincrkeys.h>
-
-// Forward Declarations
-class MSatelliteMeasurementSettingObserver;
-class CRepository;
-
-// Constant Declarations
-
-// Class Definition
-/**
- * Adapter for System of Measurement.
- */
-NONSHARABLE_CLASS( CSatelliteMeasurementSetting ) : public CActive
-	{
-	public:
-		/**
-     * Creates new System of Measurement Adapter
-     *
-     * @param  aAdapterObsrv             			Observer to the System of Measurement Adapter
- 		 * @return CSatelliteMeasurementSetting*	Pointer to the CSatelliteMeasurementSetting
-     */                                                 
-    static CSatelliteMeasurementSetting* NewL( 
-                        MSatelliteMeasurementSettingObserver&	aAdapterObsrv );
-
-
-		/**
-     * Creates new System of Measurement Adapter
-     * Leaves the object on the Clean up stack         
-     *
-     * @param  aAdapterObsrv			            Observer to the System of Measurement Adapter
- 		 * @return CSatelliteMeasurementSetting*	Pointer to the CSatelliteMeasurementSetting
-     */                                                 
-    static CSatelliteMeasurementSetting* NewLC( 
-                        MSatelliteMeasurementSettingObserver&	aAdapterObsrv );	
-
- 
-		/**
-		 * Destructor
-		 */
-		~CSatelliteMeasurementSetting ();
-
-		/**
-		 * Returns the current value of the System of measurements settings
-		 *
-		 * @return TLocSystemofMeasurementValues  Current value of the System of measurements settings
-		 */
-		TLocSystemofMeasurementValues SysofMeasurementL();
-        
-  protected:
-    /**
-     * Inherited from CActive
-     */
-    void RunL();
-    
-    /**
-     * Inherited from CActive
-     */
-    void DoCancel();
-                		
-	private:
-		/**
- 		 * Constructor
-		 */
-		CSatelliteMeasurementSetting( MSatelliteMeasurementSettingObserver&	aAdapterObsrv );
-
-		/**
-		 * Second Phase Constructor
-		 */
-		void ConstructL();
-	
-		/**
-		 * Start notification from the Central repository server for any changes in the
-		 * System of measurements key value
-		 */
-		void StartNotification();
-				
-	private:
-	    /**
-	     * Reference to the Settings observer
-	     */
-		MSatelliteMeasurementSettingObserver&     iObserver;
-	
-		/**
-		 * Reference to the Central repository object
-		 *
-		 * Owns
-		 */
-		CRepository*                    iRepository; 		
-	};			
-
-
-#endif //CSATELLITEMEASUREMENTSETTING_H
\ No newline at end of file
--- a/locationsystemui/locationsysui/locblidsatelliteinfo/inc/msatellitemeasurementsettingobserver.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Observer for the change in System of Measurement
-*
-*/
-
-
-
-#ifndef __MSATELLITEMEASUREMENTSETTINGSOBSERVER_H__
-#define __MSATELLITEMEASUREMENTSETTINGSOBSERVER_H__
-
-// CLASS DECLARATION
-
-/**
-*  Observer for the change in System of Measurement.
-*
-*/
-class MSatelliteMeasurementSettingObserver
-    {
-    public: // New functions
-
-        /**
-         * Notification function for change in System of Measurement
-         *
-         * @return None 
-         */
-        virtual void HandleSysMeasureValueL( ) = 0;
-    };
-
-#endif      // __MSATELLITEMEASUREMENTSETTINGSOBSERVER_H__
-
-// End of File
--- a/locationsystemui/locationsysui/locblidsatelliteinfo/inc/satellite.hrh	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Contains declarations for constants of location.
-*                This file can be included in C++ or resource file.
-*
-*/
-
-
-#ifndef SATELLITE_HRH
-#define SATELLITE_HRH
-
-#include <avkon.hrh>
-
-enum SatelliteDialogIds
-	{
-	ESatelliteControl = (KAknCtLastControlId + 100),
-	ESatelliteChangeView
-	};
-
-#endif //SATELLITE_HRH
--- a/locationsystemui/locationsysui/locblidsatelliteinfo/inc/satellitecontrol.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,211 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*     Implements the control for responsible for all drawings
-*     in the satellite dialog
-*
-*/
-
-
-#ifndef __SATELLITE_CONTROL_H__
-#define __SATELLITE_CONTROL_H__
-
-// INCLUDE FILES
-#include <AknLayoutDef.h>
-#include <AknUtils.h>
-#include "SatInfoConsts.h"
-#include "MSatelliteEng.h"
-
-// FORWARD DECLARATION
-class CAknsFrameBackgroundControlContext;
-
-// CLASS DECLARATION
-NONSHARABLE_CLASS( CSatelliteControl ) : public CCoeControl
-	{
-	public:
-		/**
-        * Constructor.
-        */
-        static CSatelliteControl* NewL( MSatelliteEng& aEngine );
-        
-    public: 
-        // Destructor
-        ~CSatelliteControl();
-                
-    private:
-        void ConstructL(  );
-        // Default Constructor
-        CSatelliteControl(MSatelliteEng& aEngine);
-    
-    
-    public: 
-    	void ConstructFromResourceL(TResourceReader& aReader);
-		TSize MinimumSize();
-		TCoeInputCapabilities InputCapabilities() const;
-		TAknWindowLineLayout WindowLayout() const;
-		TRect CalculateDialogRect() const;
-		void Layout();
-		void ChangeViewL();
-		void SetLaunchView(TSatDialogView aView);	
-		
-
-        #ifdef RD_SCALABLE_UI_V2
-        //Implementated for stylus pop-up menu implementation
-        void HandlePointerEventL(const TPointerEvent& aPointerEvent);
-        #endif // RD_SCALABLE_UI_V2
-        
-    protected: // from CCoeControl
-        /**
-        * Count component controls.
-        * @return Number of component controls.
-        */
-        TInt CountComponentControls() const;
-
-        /**
-        * Get a component control by index.
-        * @param aIndex Index of component control to be returned.
-        * @return Component control or NULL.
-        */
-        CCoeControl* ComponentControl( TInt aIndex ) const;
-
-        /**
-        * Handle focus change.
-        * @param aDrawNow EDrawNow if draw the control now else ENoDrawNow
-        */
-        void FocusChanged( TDrawNow aDrawNow );
-
-        /*
-        * @see CCoeControl
-        */
-        
-        TTypeUid::Ptr MopSupplyObject( TTypeUid aId );
-
-	protected:  // from CCoeControl
-
-        /**
-        * Handle size change, lay out components.
-        */
-        void SizeChanged();
-		void Draw(const TRect& aRect) const;
-		
-	private: //new function
-		TSize DialogSize() const;
-		TRect DialogRect() const;
-		void DrawHeadingL() const;
-		void DrawSignalStrengthViewL() const;
-		void DrawGraphicalViewL() const;
-		void DrawEmptyDialogL() const;
-		void PrepareGraphicalViewIcons();		
-		void PrepareSignalStrengthViewIcons();
-		void PrepareSignalStrengthViewRectsAndIcons();
-		void PrepareGraphicalViewRectsAndIcons();
-		TRect CalculateCelestialBodyRectL(const TReal aAzimuth, const TReal aElevation, const TSize aIconSize) const;
-		TInt TRealToTInt( const TReal aSrc, TInt& aResult ) const;
-		
-		// New functions added for Compass View
-		void DrawCompassViewL() const;
-		void PrepareCompassViewIcons();
-		void PrepareCompassViewRectsAndIcons();
-	
-	private: //data
-    	CAknsFrameBackgroundControlContext* iEditorContext;
-    	TInt iCurrentSatelliteView;
-    	MSatelliteEng& iEngine;
-    	
-    	
-    	//Heading text;
-    	HBufC* iSatelliteSignalHeading;
-    	HBufC* iSatelliteGrapgicHeading;
-    	HBufC* iNoSatelliteData;
-    	HBufC* iCompassViewHeading;
-
-    	TInt iNumberOfRows;
-    	TInt iNumberOfColumns;
-    	    	
-    	// Private data for Signal Strength view    	
-    	RArray<TRect> iSignalBarRects;
-    	RArray<TAknLayoutText> iSatelliteNumberLayouts;
-    	CFbsBitmap* iSatActiveBmp;
-    	CFbsBitmap* iSatActiveBmpMask;
-    	CFbsBitmap* iSatInActiveBmp;
-    	CFbsBitmap* iSatInActiveBmpMask;
-    	CFbsBitmap* iSatFrame;
-    	CFbsBitmap* iSatFrameMask;
-    	
-    	// Private Data for Graphical view
-    	TRect iSatelliteRect;
-    	TRect iSunMoonRect;    	
-    	TRect iFirmamentRect;    	
-    	TAknLayoutText iCardinalNLayout;
-		TAknLayoutText iCardinalSLayout;
-		TAknLayoutText iCardinalWLayout;
-		TAknLayoutText iCardinalELayout;
-		TRect iSatelliteNoRect;
-    	CFbsBitmap* iFirmamentBmp;
-    	CFbsBitmap* iFirmamentBmpMask;
-    	CFbsBitmap* iFirmaActiveBmp;
-    	CFbsBitmap* iFirmaActiveBmpMask;
-    	CFbsBitmap* iFirmaInActiveBmp;
-    	CFbsBitmap* iFirmaInActiveBmpMask;
-		CFbsBitmap* iMoonBmp;
-    	CFbsBitmap* iMoonBmpMask;
-    	CFbsBitmap* iSunBmp;
-    	CFbsBitmap* iSunBmpMask;
-    	HBufC* iNorth;
-    	HBufC* iSouth;
-    	HBufC* iWest;
-    	HBufC* iEast;    	
-    	
-    	// Private Data for Compass view
-    	TRect iFirmamentCompassRect;
-    	TRect iTypeRect;  
-    	TAknLayoutText iCardinalCompassNLayout;
-		TAknLayoutText iCardinalCompassSLayout;
-		TAknLayoutText iCardinalCompassWLayout;
-		TAknLayoutText iCardinalCompassELayout;
-		TAknLayoutText iLatitudeWindowLayout;
-		TAknLayoutText iLongitudeWindowLayout;
-		TAknLayoutText iAltitudeWindowHeadingLayout;
-		TAknLayoutText iSpeedWindowHeadingLayout;
-		TAknLayoutText iDirectionWindowHeadingLayout;
-		TAknLayoutText iAltitudeWindowValueLayout;
-		TAknLayoutText iSpeedWindowValueLayout;
-		TAknLayoutText iDirectionWindowValueLayout;
-		TAknLayoutText iFixTypeLayout;
-    	CFbsBitmap* iFirmamentCompassBmp;
-    	CFbsBitmap* iFirmamentCompassBmpMask;		
-		CFbsBitmap* iFixBmp;
-    	CFbsBitmap* iFixBmpMask;
-    	HBufC* iAltitudeWindowHeading;
-    	HBufC* iSpeedWindowHeading;
-    	HBufC* iDirectionWindowHeading;
-    	HBufC* iSpeedFormatKmph;
-    	HBufC* iSpeedFormatMph;
-    	HBufC* iAltitudeFormatM;
-    	HBufC* iAltitudeFormatFt;
-    	HBufC* iDirectionFormat;
-    	HBufC* iCompassNorth;
-    	HBufC* iCompassSouth;
-    	HBufC* iCompassWest;
-    	HBufC* iCompassEast; 
-    	HBufC* i2DString;
-    	HBufC* i3DString; 
-    	
-	};
-
-#endif // __SATELLITE_CONTROL_H__
-
-
-
-
--- a/locationsystemui/locationsysui/locblidsatelliteinfo/src/CSatellite.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,205 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implements interface for CSatellite
-*
-*/
-
-
-// INCLUDE FILES
-#include <bautils.h>
-#include <AknWaitDialog.h>
-#include <data_caging_path_literals.hrh>
-#include <SatInfo.rsg>
-#include "SatInfoConsts.h"
-#include "CSatelliteEng.h"
-#include "CSatelliteDialog.h"
-#include "Debug.h"
-#include "CSatellite.h"
-
-// ============================ MEMBER FUNCTIONS ==============================
-// ----------------------------------------------------------------------------
-// CSatellite::NewL
-// Two-phased constructor.
-// ----------------------------------------------------------------------------
-//
-CSatellite* CSatellite::NewL()
-    {
-    CSatellite* self = new( ELeave ) CSatellite;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop(); // self
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CSatellite::ConstructL
-// ---------------------------------------------------------
-//
-void CSatellite::ConstructL()
-    {
-    iEnv = CEikonEnv::Static();
-    OpenResourceFileL();    
-    iEngine = CSatelliteEng::NewL();  
-    }
-
-// ----------------------------------------------------------------------------
-// CSatellite::CSatellite
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// ----------------------------------------------------------------------------
-//
-CSatellite::CSatellite()
-    {
-    iLaunchView = ESignalStrengthView;
-    }
-
-// ---------------------------------------------------------
-// CSatellite::~CSatellite
-// ---------------------------------------------------------
-//
-CSatellite::~CSatellite()
-    {
-    CloseResourceFile();    
-    delete iEngine;
-    delete iWaitDialog;    
-    }
-
-// ---------------------------------------------------------
-// CSatellite::NotifyL
-// ---------------------------------------------------------
-//
-void CSatellite::NotifyL(TInt /*aError*/)
-    {
-    if ( iWaitDialog ) 
-		{
-	    iWaitDialog->ProcessFinishedL();        
-	    iWaitDialog = NULL;
-	    }
-	else if(iDialog)
-		{
-		iDialog->UpdateL();
-		}	
-    }
-
-
-// ---------------------------------------------------------
-// CSatellite::NotifyError
-// ---------------------------------------------------------
-//               
-void CSatellite::NotifyError( TInt /*aErrorCode*/ )
-    {
-    if ( iWaitDialog )
-        {
-        delete iWaitDialog;
-        iWaitDialog = NULL;
-        }
-    }
-
-// ---------------------------------------------------------
-// CSatellite::ExecuteL
-// ---------------------------------------------------------
-//               
-TInt CSatellite::ExecuteL( const TDesC& aNameOfRule )
-    {
-    TInt ret(0);
-    
-    iEngine->SetObserver( *this );
-    iEngine->RequestSatelliteDataL( aNameOfRule );    
-
-    iWaitDialog = new (ELeave) CAknWaitDialog( NULL, ETrue );
-    if ( iWaitDialog->ExecuteLD( R_SATELLITE_WAIT_NOTE ) )
-        {
-        iWaitDialog = NULL;
-        iDialog = CSatelliteDialog::NewL( *iEngine );
-        iDialog->SetLaunchView(iLaunchView);
-        ret = iDialog->ExecuteLD(R_SATELLITE_DIALOG);        
-        }
-    else
-        {        
-        delete iDialog;     
-        iDialog = NULL;
-        }
-    iWaitDialog = NULL;
-    return ret;
-    }
-
-// ----------------------------------------------------------------------------
-// CSatellite::HandleForegroundEventL
-// ----------------------------------------------------------------------------
-//
-void CSatellite::HandleForegroundEventL(TBool aForeground)
-    {
-    if ( aForeground )
-        {
-        iEngine->StartRequestingL();
-        }
-    else
-        {
-        iEngine->StopRequesting();
-        }
-    }
-
-
-// ----------------------------------------------------------------------------
-// CSatellite::OpenResourceFile
-// ----------------------------------------------------------------------------
-//
-void CSatellite::OpenResourceFileL()
-    {
-    FindResourceFileL();
-
-    BaflUtils::NearestLanguageFile( iEnv->FsSession(), iResourceFileName );
-    iResourceOffset = iEnv->AddResourceFileL( iResourceFileName );
-    }
-
-// ----------------------------------------------------------------------------
-// CSatellite::CloseResourceFile
-// ----------------------------------------------------------------------------
-//
-void CSatellite::CloseResourceFile()
-    {
-    iEnv->DeleteResourceFile( iResourceOffset );
-    }
-
-// ----------------------------------------------------------------------------
-// CSatellite::FindResourceFileL
-// ----------------------------------------------------------------------------
-//
-void CSatellite::FindResourceFileL()
-    {
-    // Path and file name:
-    TFileName file;
-    file.Append( KSatTmp_RESOURCE_FILES_DIR ); // always safe
-    file.Append( KSatInfoRscFileName ); // always safe   
-    
-    // Drive:
-    TFileName drive;
-    Dll::FileName( drive );
-
-    // Add drive to path & file name:
-    TParse parse;
-    User::LeaveIfError( parse.Set( file, &drive, NULL ) );
-    iResourceFileName = parse.FullName();
-    }
-
-// ----------------------------------------------------------------------------
-// CSatellite::SetLaunchView
-// ----------------------------------------------------------------------------
-//
-void CSatellite::SetLaunchView(TSatDialogView aView)
-	{
-	iLaunchView = aView;	
-	}
-
-// End of File
--- a/locationsystemui/locationsysui/locblidsatelliteinfo/src/CSatelliteDialog.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,246 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: BLID Satellite Info dialog definition
-*
-*/
-
-
-// INCLUDE FILES
-#include <aknlists.h>
-#include <aknPopup.h>
-#include <AknQueryDialog.h>
-#include <SatInfo.rsg>
-#include <avkon.rsg>
-#include <aknlayoutscalable_apps.cdl.h> // For LAF
-#include <lbssatellite.h>
-#include <aknborders.h>
-#include <AknsFrameBackgroundControlContext.h>
-#include <aknappui.h>
-#include <skinlayout.cdl.h>
-using namespace SkinLayout;
-
-#include "Debug.h"
-#include "MSatelliteEng.h"
-#include "CSatelliteDialog.h"
-#include "satellite.hrh"
-#include "satellitecontrol.h"
-
-// ============================ MEMBER FUNCTIONS ==============================
-// ----------------------------------------------------------------------------
-// CSatelliteDialog::NewL
-// Two-phased constructor.
-// ----------------------------------------------------------------------------
-//
-CSatelliteDialog* CSatelliteDialog::NewL( MSatelliteEng& aEngine )
-    {
-    CSatelliteDialog* self = new( ELeave ) CSatelliteDialog(aEngine);
-    CleanupStack::PushL( self );
-    self->ConstructL( );
-    CleanupStack::Pop(); // self
-    return self;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CSatelliteDialog::CSatelliteDialog
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// ----------------------------------------------------------------------------
-//
-CSatelliteDialog::CSatelliteDialog(MSatelliteEng& aEngine): iEngine(aEngine) 
-    {
-    }
-
-// ---------------------------------------------------------
-// CSatelliteDialog::~CSatelliteDialog
-// ---------------------------------------------------------
-//
-CSatelliteDialog::~CSatelliteDialog()
-    {
-    delete iBgContext;    
-    }
-
-// ---------------------------------------------------------
-// CSatelliteDialog::ConstructL
-// ---------------------------------------------------------
-//
-void CSatelliteDialog::ConstructL( )
-    {
-    TRect windowRect = Rect();
-
-	TAknLayoutRect topLeft;
-    topLeft.LayoutRect(windowRect, Popup_windows_skin_placing__frame_general__Line_2());
-	
-	//Determine the outer and inner rects of the dialog for drawing the frames.
-	TAknLayoutRect bottomRight;
-	bottomRight.LayoutRect(windowRect, ELayoutEmpty, 169, ELayoutEmpty, ELayoutEmpty, 2, 7,7);
-    bottomRight.LayoutRect(windowRect, Popup_windows_skin_placing__frame_general__Line_5());
-        
-    TRect outerRect = TRect(topLeft.Rect().iTl, bottomRight.Rect().iBr);
-	TRect innerRect = TRect(topLeft.Rect().iBr, bottomRight.Rect().iTl);
-	
-	//Background context responsible for drawing the frame and the
-	//background of the frame
-    iBgContext = CAknsFrameBackgroundControlContext::NewL(
-			            KAknsIIDQsnFrPopup, outerRect, innerRect, ETrue );
-	
-	//Create satellite control responsible for all the drawing on the dialog.
-	iSatelliteControl = CSatelliteControl::NewL(iEngine);
-    }
-
-// ---------------------------------------------------------
-// CSatelliteDialog::SetLaunchView
-// ---------------------------------------------------------
-//
-void CSatelliteDialog::SetLaunchView(TSatDialogView aView)
-	{
-	//Satellite controls is responsible for the initial launch 
-	//view of the dialog. Pass the initial launch view of the dialog
-	//to the control
-	iSatelliteControl->SetLaunchView(aView);
-	}
-
-// ---------------------------------------------------------
-// CSatelliteDialog::OkToExitL
-// ---------------------------------------------------------
-//
-TBool CSatelliteDialog::OkToExitL(TInt aButtonId)
-	{
-	if(aButtonId == ESatelliteChangeView)
-		{
-		// Change view soft key pressed.Notify the control to change 
-		// the view and draw.
-		iSatelliteControl->ChangeViewL();		
-		DrawNow();
-		return EFalse;
-		}
-	else
-		{
-		return CAknDialog::OkToExitL(aButtonId);
-		}
-	}
-
-// ----------------------------------------------------------------------------
-// CSatelliteDialog::CreateCustomControlL()
-// ----------------------------------------------------------------------------
-//
-SEikControlInfo CSatelliteDialog::CreateCustomControlL(TInt aControlType)
-    {
-    // This function is invoked by the dialog frame work when if 
-    // finds an unknow id in the dialog resouce.This function is
-    // expected to return the control which is reponsible for all
-    // the drawings that will happen in the dialog.
-    SEikControlInfo controlInfo;
-    controlInfo.iControl = NULL;
-    controlInfo.iTrailerTextId = 0;
-    controlInfo.iFlags = 0;
-    
-    switch(aControlType)
-        {
-        case ESatelliteControl:
-        	// This dialog takes ownerwhip of the control and
-        	// wil also delete the control once the dialog is
-        	// destroyed.
-            controlInfo.iControl = iSatelliteControl;
-            break;
-            
-        default:
-            break;
-        }
-    return controlInfo;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CSatelliteDialog::SetSizeAndPosition
-// ----------------------------------------------------------------------------
-//
-void CSatelliteDialog::SetSizeAndPosition(const TSize& /*aSize*/)
-    {
-    TRect rect = iSatelliteControl->CalculateDialogRect();
-    SetRect( rect );
-    }
-
-// ----------------------------------------------------------------------------
-// CSatelliteDialog::SizeChanged()
-// ----------------------------------------------------------------------------
-//
-void CSatelliteDialog::SizeChanged()
-	{
-	CAknDialog::SizeChanged();
-	TRect windowRect = Rect();
-
-	TAknLayoutRect topLeft;
-    topLeft.LayoutRect(windowRect, Popup_windows_skin_placing__frame_general__Line_2());
-
-	TAknLayoutRect bottomRight;
-    bottomRight.LayoutRect(windowRect, Popup_windows_skin_placing__frame_general__Line_5());
-
-	TRect outerRect = TRect(topLeft.Rect().iTl, bottomRight.Rect().iBr);
-	TRect innerRect = TRect(topLeft.Rect().iBr, bottomRight.Rect().iTl);
-
-	iBgContext->SetFrameRects( outerRect, innerRect );
-	iBgContext->SetParentPos( PositionRelativeToScreen() );
-	TRAP_IGNORE(UpdateL());
-	}
-
-// ----------------------------------------------------------------------------
-// CSatelliteDialog::SupplyMopObject()
-// ----------------------------------------------------------------------------
-//
-TTypeUid::Ptr CSatelliteDialog::MopSupplyObject(TTypeUid aId)
-	{	
-    return MAknsControlContext::SupplyMopObject(aId, iBgContext );
-	}
-
-// ----------------------------------------------------------------------------
-// CSatelliteDialog::UpdateL
-// ----------------------------------------------------------------------------
-//
-void CSatelliteDialog::UpdateL()
-    {    
-    CEikButtonGroupContainer& buttonContainer = ButtonGroupContainer();
-    
-    // Dim the "ChangeView" command when satellite data is not 
-    // available
-    if(!iEngine.IsSatelliteDataAvailable())
-    	{
-		buttonContainer.SetCommandSetL(R_AVKON_SOFTKEYS_CLOSE);
-		buttonContainer.DrawNow();
-    	}
-    else
-    	{
-    	buttonContainer.SetCommandSetL(R_SATELLITE_DIALOG_CBA);
-    	buttonContainer.DrawNow();
-    	}
-    DrawNow();
-    }
-
-// ----------------------------------------------------------------------------
-// CSatelliteDialog::OfferKeyEventL
-// ----------------------------------------------------------------------------
-//
-TKeyResponse CSatelliteDialog::OfferKeyEventL( const TKeyEvent& aKeyEvent,
-                                     TEventCode aType)
-    {
-    if ( aType == EEventKey && aKeyEvent.iCode == EKeyEnter ||
-         aType == EEventKey && aKeyEvent.iScanCode == EStdKeyEnter  )
-		{
-        iSatelliteControl->ChangeViewL();
-        DrawNow();
-		return EKeyWasConsumed;
-		}
-    return CAknDialog::OfferKeyEventL( aKeyEvent, aType );
-    }
-// End of File
--- a/locationsystemui/locationsysui/locblidsatelliteinfo/src/CSatelliteEng.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,579 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This defines the engine class for Location satellite info
-*
-*/
-
-
-// INCLUDE FILES
-#include <eikenv.h>
-#include <e32math.h>
-#include <e32cmn.h>
-#include <libc/math.h>
-#include "SatInfoConsts.h"
-#include "CSatelliteEng.h"
-#include "MEngObserver.h"
-#include "csatellitemeasurementsetting.h"
-#include "Debug.h"
-
-// ============================ FUNCTIONS DECLARATION =========================
-TInt SortCriteria(const TSatelliteData& aCurrent, const TSatelliteData& aNext);
-
-
-// ============================ MEMBER FUNCTIONS ==============================
-// ----------------------------------------------------------------------------
-// CSatelliteEng::NewL
-// Two-phased constructor.
-// ----------------------------------------------------------------------------
-//
-CSatelliteEng* CSatelliteEng::NewL()
-    {
-    CSatelliteEng* self = new( ELeave ) CSatelliteEng;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop(); // self
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CSatelliteEng::ConstructL
-// ---------------------------------------------------------
-//
-void CSatelliteEng::ConstructL()
-    {
-    User::LeaveIfError( iServer.Connect() );
-    User::LeaveIfError(iPositioner.Open( iServer ));
-
-	// System of Measurements
-	iMeasurementSetting = CSatelliteMeasurementSetting::NewL(*this);
-	
-    // Keplers parameters    
-    // Define parameters for the Sun
-    iKeplers[0].iM.iA0=356.0470;
-    iKeplers[0].iM.iA1=0.9856002585;
-    iKeplers[0].iW.iA0=282.9404;
-    iKeplers[0].iW.iA1=4.70935e-005;
-    iKeplers[0].iE.iA0=0.016709;
-    iKeplers[0].iE.iA1=-1.151e-009;
-
-    //Define parameters for the Moon
-    iKeplers[1].iM.iA0=115.3654;
-    iKeplers[1].iM.iA1=13.0649929509;
-    iKeplers[1].iW.iA0=318.0634;
-    iKeplers[1].iW.iA1=0.1643573223;
-    iKeplers[1].iE.iA0=0.0549;
-    iKeplers[1].iE.iA1=0.0;    
-    }
-
-// ----------------------------------------------------------------------------
-// CSatelliteEng::CSatelliteEng
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// ----------------------------------------------------------------------------
-//
-CSatelliteEng::CSatelliteEng() : CActive(EPriorityStandard), iRequesting( EFalse )
-    {
-    CActiveScheduler::Add( this );
-    }
-
-// ---------------------------------------------------------
-// CSatelliteEng::~CSatelliteEng
-// ---------------------------------------------------------
-//
-CSatelliteEng::~CSatelliteEng()
-    {
-    Cancel();
-    iPositioner.Close();
-    iServer.Close();
-    iSortedSatData.Reset();
-    delete iMeasurementSetting;
-    }
-
-// ---------------------------------------------------------
-// CSatelliteEng::RunL  
-// ---------------------------------------------------------
-//
-void CSatelliteEng::RunL()
-    {
-    TInt status = iStatus.Int();
-    
-    /// Check if we have satellite data
-    if(!(status == KErrNone ||
-         status == KPositionPartialUpdate) )
-	    {	    
-	    ClearSatelliteData();
-		}	
-    SortSatelliteDataL();
-    
-    if ( iObserver )
-        {
-        iObserver->NotifyL( iStatus.Int() );
-        } 
-    #ifdef _DEBUG
-    DEBUG1( "CSatelliteEng::RunL(): Error = %d", iStatus.Int() );
-    #endif
-    
-    if ( iRequesting && !IsActive())
-        {
-        iPositioner.NotifyPositionUpdate( iSatelliteInfo, iStatus);
-        SetActive();        
-        }
-	}
-
-// ---------------------------------------------------------
-// CSatelliteEng::DoCancel
-// ---------------------------------------------------------
-//
-void CSatelliteEng::DoCancel()
-    {
-    iPositioner.CancelRequest( EPositionerNotifyPositionUpdate );    
-    }
-
-// ---------------------------------------------------------
-// CSatelliteEng::RunError
-// ---------------------------------------------------------
-//
-TInt CSatelliteEng::RunError(TInt aError)
-    {    
-    if ( iObserver && (aError == KErrCancel) )
-        {
-        iObserver->NotifyError( aError );
-        return KErrNone;
-        }
-    return aError;
-    }
-// ---------------------------------------------------------
-// CSatelliteEng::SetObserver
-// ---------------------------------------------------------
-//
-void CSatelliteEng::SetObserver(MEngObserver& aObserver)
-    {
-    iObserver = &aObserver;
-    }
-
-// ----------------------------------------------------------------------------
-// CSatelliteEng::RequestSatelliteDataL
-// ----------------------------------------------------------------------------
-//
-void CSatelliteEng::RequestSatelliteDataL( const TDesC& aNameOfRule )
-    {    
-    UpdateIntervalL();
-    
-    User::LeaveIfError(iPositioner.SetRequestor(CRequestor::ERequestorService,
-                                                CRequestor::EFormatApplication,
-                                                aNameOfRule ));
-
-    iPositioner.NotifyPositionUpdate( iSatelliteInfo, iStatus);        
-    SetActive();    
-    iRequesting = ETrue;    
-    }
-
-// ----------------------------------------------------------------------------
-// CSatelliteEng::GetSatelliteData
-// ----------------------------------------------------------------------------
-//
-TInt CSatelliteEng::GetSatelliteData( TUint aIndex, 
-                                      TSatelliteData& aSatelliteData) const
-    {
-    if( aIndex >= iSortedSatData.Count() )
-    	{
-    	return KErrNotFound;
-    	}    
-    aSatelliteData = iSortedSatData[aIndex];
-    return KErrNone;
-    }
-
-// ----------------------------------------------------------------------------
-// CSatelliteEng::GetPosition
-// ----------------------------------------------------------------------------
-//
-void CSatelliteEng::GetPosition(TPosition& aPosition)
-	{
-	iSatelliteInfo.GetPosition(aPosition);
-	}
-
-// ----------------------------------------------------------------------------
-// CSatelliteEng::GetCourse
-// ----------------------------------------------------------------------------
-//
-void CSatelliteEng::GetCourse(TCourse& aCourse)
-	{
-	iSatelliteInfo.GetCourse(aCourse);
-	}
-
-// ----------------------------------------------------------------------------
-// CSatelliteEng::SortSatelliteDataL
-// ----------------------------------------------------------------------------
-//
-void CSatelliteEng::SortSatelliteDataL()
-	{
-	TSatelliteData tempSatelliteData;
-	TLinearOrder<TSatelliteData> order(SortCriteria);
-	iSortedSatData.Reset();
-	TInt satellitesInView = iSatelliteInfo.NumSatellitesInView();
-	for(TInt i = 0;i < satellitesInView ;i++ )
-		{
-		User::LeaveIfError(iSatelliteInfo.GetSatelliteData(i,tempSatelliteData));
-		if(tempSatelliteData.SignalStrength() <= KBlidMinSatelliteSignalStrength)
-        	{
-        	continue;
-        	}        
-    	iSortedSatData.InsertInOrderAllowRepeats(tempSatelliteData, order);                
-		}
-	}
-
-// ----------------------------------------------------------------------------
-// CSatelliteEng::ObjectElevationAzimuth
-// ----------------------------------------------------------------------------
-//
-void CSatelliteEng::ObjectElevationAzimuth(TInt aIndex, TReal& aAzimuth, TReal& aElevation )
-	{	
-	TTime time = iSatelliteInfo.SatelliteTime();	
-	TDateTime dateTime = time.DateTime();
-	TReal hours = dateTime.Hour();
-	TReal minutes = dateTime.Minute();
-	TReal seconds = dateTime.Second();
-	TInt day = dateTime.Day() + 1;
-	TInt month = dateTime.Month() + 1;
-	TInt year = dateTime.Year();
-	TReal julianDay, julianCentury;
-	
-	//Universal time is the number of hours from the begining of the day	
-	TReal universalTime = hours + minutes/60.0 + seconds/(60.0*60.0);
-	Julian(julianDay, julianCentury, day, month, year, universalTime);
-	
-	//This algorithm uses a starting point for the Julian day count that is 1.5 days earlier.
-	TReal JD_Mod = julianDay - 2451545.0 + 1.5;
-	
-	//Mean anomaly, in degrees
-	TReal m=iKeplers[aIndex].iM.iA0 + iKeplers[aIndex].iM.iA1 * (JD_Mod);
-	//Argument of perihelion, in degrees
-    TReal w=iKeplers[aIndex].iW.iA0 + iKeplers[aIndex].iW.iA1 * (JD_Mod);
-    //eccentricity
-    TReal e=iKeplers[aIndex].iE.iA0 + iKeplers[aIndex].iE.iA1 * (JD_Mod);
-    
-    // Calculate true anomaly    
-    TReal E = Kepler(e, m*KPi/180);
-    
-    TReal tmp, sinE, cosE;
-    Math::Sqrt(tmp, 1 - e * e);
-    Math::Sin(sinE, E);
-    Math::Cos(cosE, E);
-    
-    TReal v;
-    v = atan2(tmp * sinE, cosE - e); //In radians
-        
-    TReal truelongitude = v + (KPi/180) * w; // in radians
-    TReal ra, dd;    
-    TrueLongToRaDeltadec(ra, dd, truelongitude);
-    ra = ra * 360/24; //In degrees
-    dd = dd * 180/KPi; // In degrees
-    
-    TPosition position;
-    TLocality locality;    
-    
-    iSatelliteInfo.GetPosition(position);        
-    
-    TReal tau = SideRealTime(julianDay, julianCentury, position.Longitude(), ra);
-    
-    LocationCoordinates(aAzimuth, aElevation, tau, dd, position.Latitude());
-	}
-
-// ----------------------------------------------------------------------------
-// CSatelliteEng::SideRealTime
-// ----------------------------------------------------------------------------
-//
-TReal CSatelliteEng::SideRealTime(TReal aJulianDay, 
-								  TReal aJulianCentury,
-								  TReal aLongitude,
-								  TReal aRa)
-	{
-	TReal theta0 = 280.46061837 + 
-				   360.98564736629 * (aJulianDay-2451545.0) + 
-				   0.000387933*aJulianCentury*aJulianCentury - 
-				   aJulianCentury*aJulianCentury*aJulianCentury/38710000;
-    TReal rem;
-	Math::Mod(rem, theta0, 360);
-	theta0 = rem;
-	TReal theta = theta0 + aLongitude;
-	return (theta - aRa);
-	}
-
-// ----------------------------------------------------------------------------
-// CSatelliteEng::LocationCoordinates
-// ----------------------------------------------------------------------------
-//
-void CSatelliteEng::LocationCoordinates(TReal& aAzimuth, 
-										TReal& aElevation, 
-										TReal aTau,
-										TReal aDd, 
-										TReal aLatitude)
-	{
-	//Convert latitude from degrees to radians	
-	TReal sinValue;
-	Math::Sin(sinValue, aLatitude * KPi/180);
-	TReal sinValue2;
-	Math::Sin(sinValue2, aDd * KPi/180);
-	
-	TReal cosValue;
-	Math::Cos(cosValue, aLatitude * KPi/180);
-	TReal cosValue2;
-	Math::Cos(cosValue2, aDd * KPi/180);
-	TReal cosValue3;
-	Math::Cos(cosValue3, aTau * KPi/180);
-	
-	TReal sinh = sinValue * sinValue2 + cosValue * cosValue2 * cosValue3;
-	
-	TReal asinValue;
-	Math::ASin(asinValue, sinh);
-	aElevation = (180/KPi) * asinValue;
-	
-	Math::Sin(sinValue, aTau * KPi / 180);
-	TReal a1 = -sinValue;
-	
-	TReal tanValue;
-	Math::Tan(tanValue, aDd * KPi / 180);
-	TReal a2 = cosValue * tanValue - sinValue * cosValue3;
-	
-	TReal atanvalue;	
-	atanvalue = atan2(a1, a2);
-	aAzimuth = (180/KPi) * atanvalue;
-	
-	if(aAzimuth < 0)
-		{
-		aAzimuth += 360;
-		}
-	}
-
-// ----------------------------------------------------------------------------
-// CSatelliteEng::Julian
-// ----------------------------------------------------------------------------
-//
-void CSatelliteEng::Julian(TReal& aJulianDay,
-						   TReal& aJulianCentury,
-						   TInt aDay,
-						   TInt aMonth,
-						   TInt aYear,						   
-						   TReal aUniversalTime)
-	{
-	if(aMonth <= 2)
-		{
-		aMonth += 12;
-		--aYear;
-		}
-	TInt tmp;
-	tmp = 365.25 * aYear;
-	TReal temp = tmp;
-	
-	tmp = 30.6001 * (aMonth+1);
-	TReal temp2 = tmp;
-	
-	aJulianDay = temp + temp2 - 15.0 + 1720996.5 + aDay + aUniversalTime/24;
-	aJulianCentury = (aJulianDay - 	2451545.0)/36525.0;
-	}
-
-// ----------------------------------------------------------------------------
-// CSatelliteEng::Kepler
-// ----------------------------------------------------------------------------
-//
-TReal CSatelliteEng::Kepler(TReal aE, TReal aM)
-	{
-	//Solving Kepler's equation by the Newton-Raphson iteration
-    //Note aE, aM in radians
-    TReal sinm, cosm;
-    TReal E = aE;
-    Math::Sin(sinm, aM);
-    Math::Cos(cosm, aM);
-    TReal EO = aM + aE * sinm * (1 - aE * cosm);
-    
-    while(1)
-    	{
-    	TReal sineo, coseo;
-    	Math::Sin(sineo, EO);
-    	Math::Cos(coseo, EO);
-    	E = EO - (EO - aE * sineo - aM) / (1-aE * coseo);
-    	
-    	if( Abs(E - EO) < (1e-6) )
-    		{
-    		break;
-    		}
-    	EO = E;
-    	}
-    return E;
-	}
-
-// ----------------------------------------------------------------------------
-// CSatelliteEng::TrueLongToRaDeltadec
-// ----------------------------------------------------------------------------
-//
-void CSatelliteEng::TrueLongToRaDeltadec(TReal& aRa,TReal& aDd,TReal aTrueLongitude)
-	{
-	//This function converts True Longitude (in radians) to Right Ascension (in hours) and
-    //Delta declination (in radians)
-    TReal X;
-    Math::Cos(X, aTrueLongitude);
-    
-    TReal sintl;
-    Math::Sin(sintl, aTrueLongitude);
-    
-    TReal cosvalue;
-    Math::Cos(cosvalue, 23.43999 * KPi/180);
-    TReal Y = cosvalue * sintl;
-    
-    TReal sinvalue;
-    Math::Sin(sinvalue, 23.43999 * KPi/180);
-    TReal Z = sinvalue * sintl;
-    
-    TReal R;
-    Math::Sqrt(R, 1-Z*Z);
-    
-    Math::ATan(aDd, Z/R);
-    
-    TReal tanValue;
-    Math::ATan(tanValue, Y/(X+R) );
-    aRa = (24/KPi)*tanValue;
-	}
-
-// ----------------------------------------------------------------------------
-// CSatelliteEng::GetSunAzimuthElevation
-// ----------------------------------------------------------------------------
-//
-void CSatelliteEng::GetSunAzimuthElevation(TReal& aAzimuth, TReal& aElevation )
-	{	
-	ObjectElevationAzimuth(0, aAzimuth, aElevation );	
-	}
-
-// ----------------------------------------------------------------------------
-// CSatelliteEng::GetMoonAzimuthElevation
-// ----------------------------------------------------------------------------
-//	
-void CSatelliteEng::GetMoonAzimuthElevation(TReal& aAzimuth, TReal& aElevation )
-	{
-	ObjectElevationAzimuth(1, aAzimuth, aElevation );
-	}
-	
-// ----------------------------------------------------------------------------
-// CSatelliteEng::NumberOfSatellites
-// ----------------------------------------------------------------------------
-//
-TInt CSatelliteEng::NumberOfSatellites()
-    {
-	return iSortedSatData.Count();	
-    }
-
-// ----------------------------------------------------------------------------
-// CSatelliteEng::NumberOfSatellites
-// ----------------------------------------------------------------------------
-//
-TInt CSatelliteEng::NumberOfSatellitesUsed()
-    {
-	return iSatelliteInfo.NumSatellitesUsed();	
-    }
-
-// ----------------------------------------------------------------------------
-// CSatelliteEng::StopRequesting
-// ----------------------------------------------------------------------------
-//
-void CSatelliteEng::StopRequesting()
-    {
-    iRequesting = EFalse;
-    }
-
-// ----------------------------------------------------------------------------
-// CSatelliteEng::StartRequestingL
-// ----------------------------------------------------------------------------
-//
-void CSatelliteEng::StartRequestingL()
-    {
-    if ( !IsActive() )
-        {
-        iPositioner.NotifyPositionUpdate( iSatelliteInfo, iStatus );        
-        SetActive();
-        }
-    iRequesting = ETrue;    
-    }
-
-// ----------------------------------------------------------------------------
-// CSatelliteEng::UpdateIntervalL
-// ----------------------------------------------------------------------------
-//
-void CSatelliteEng::UpdateIntervalL( )
-    {
-    TPositionUpdateOptions updateOptions;
-    updateOptions.SetUpdateInterval(TTimeIntervalMicroSeconds(KSatelliteIntervalTime));
-    updateOptions.SetAcceptPartialUpdates( ETrue );
-    updateOptions.SetUpdateTimeOut(TTimeIntervalMicroSeconds(KSatelliteTimeOut));
-    User::LeaveIfError( iPositioner.SetUpdateOptions(updateOptions) );
-    }
-
-// ----------------------------------------------------------------------------
-// CSatelliteEng::ClearSatelliteData
-// ----------------------------------------------------------------------------
-//
-void CSatelliteEng::ClearSatelliteData()
-	{
-	iSatelliteInfo.ClearSatellitesInView();	
-	}
-
-// ----------------------------------------------------------------------------
-// CSatelliteEng::IsSatelliteDataAvailable
-// ----------------------------------------------------------------------------
-//	
-TBool CSatelliteEng::IsSatelliteDataAvailable()
-	{	
-	TInt count = iSortedSatData.Count();
-	if(count == 0)
-		{
-		return EFalse;
-		}
-    return ETrue;
-	}
-
-// ----------------------------------------------------------------------------
-// CSatelliteEng::SysOfMeasurementL
-// ----------------------------------------------------------------------------
-//	
-TLocSystemofMeasurementValues CSatelliteEng::SysOfMeasurementL()
-	{
-	return iMeasurementSetting->SysofMeasurementL( );
-	}
-
-// ----------------------------------------------------------------------------
-// CSatelliteEng::HandleSysMeasureValueL
-// ----------------------------------------------------------------------------
-//	
-void CSatelliteEng::HandleSysMeasureValueL()
-	{
-	iObserver->NotifyL( KErrNone );
-	}
-
-// ----------------------------------------------------------------------------
-// SortCriteria
-// ----------------------------------------------------------------------------
-//	
-TInt SortCriteria(const TSatelliteData& aFirst, const TSatelliteData& aNext)
-	{
-	if(aFirst.SignalStrength() > aNext.SignalStrength())
-		{
-		return 1;
-		}
-	else if(aFirst.SignalStrength() < aNext.SignalStrength())
-		{
-		return -1;
-		}
-	return 0;
-	}
-	
-
-// End of File
--- a/locationsystemui/locationsysui/locblidsatelliteinfo/src/CSatelliteInfoUI.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,168 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implements interface for CSatelliteInfoUI
-*
-*/
-
-
-// INCLUDE FILES
-#include <AknPanic.h>
-#include "CSatelliteInfoUI.h"
-#include "CSatellite.h"
-#include "SatInfoConsts.h"
-#include "Debug.h"
-
-#include <locationvariationdomaincrkeys.h>
-#include <centralrepository.h>
-// Panic for set launch view panic
-_LIT(KSatellitePanic, "BLID Satellite");
-
-// ============================ MEMBER FUNCTIONS ==============================
-// ----------------------------------------------------------------------------
-// CSatelliteInfoUI::NewL
-// Two-phased constructor.
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CSatelliteInfoUI* CSatelliteInfoUI::NewL()
-    {
-    CSatelliteInfoUI* self = new( ELeave ) CSatelliteInfoUI;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop(); // self
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CSatelliteInfoUI::ConstructL
-// ---------------------------------------------------------
-//
-void CSatelliteInfoUI::ConstructL()
-    {    
-    iSatellite = CSatellite::NewL();
-    }
-
-// ----------------------------------------------------------------------------
-// CSatelliteInfoUI::CSatelliteInfoUI
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// ----------------------------------------------------------------------------
-//
-CSatelliteInfoUI::CSatelliteInfoUI()
-    {
-    }
-
-// ---------------------------------------------------------
-// CSatelliteInfoUI::~CSatelliteInfoUI
-// ---------------------------------------------------------
-//
-EXPORT_C CSatelliteInfoUI::~CSatelliteInfoUI()
-    {
-    if ( iDestroyedPtr ) 
-        {
-        *iDestroyedPtr = ETrue;
-        }
-    delete iSatellite;
-    }
-
-// ---------------------------------------------------------
-// CSatelliteInfoUI::ExecuteLD
-// ---------------------------------------------------------
-//                       
-EXPORT_C TInt CSatelliteInfoUI::ExecuteLD( const TDesC& aNameOfRule )
-    {
-    if(aNameOfRule.Compare(KNullDesC) == 0 || aNameOfRule.Length() > 255 || aNameOfRule.Length() == 0)
-    	{
-    	delete this;
-    	User::Leave(KErrArgument);
-    	}
-    
-    TBool thisDestroyed = EFalse;
-    iDestroyedPtr = &thisDestroyed;
-    
-    CleanupStack::PushL( this );
-
-    TInt ret ( iSatellite->ExecuteL( aNameOfRule ) );
-
-    if ( thisDestroyed )
-        {
-        // this object has been deleted already
-        CleanupStack::Pop( this );
-        }
-    else
-        {
-        CleanupStack::PopAndDestroy(this); //this
-        }
-    return ret;
-    }
-
-// ----------------------------------------------------------------------------
-// CSatelliteInfoUI::HandleForegroundEventL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CSatelliteInfoUI::HandleForegroundEventL(TBool aForeground)
-    {
-    if ( iSatellite )
-        {
-        iSatellite->HandleForegroundEventL( aForeground );
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CSatelliteInfoUI::SetLaunchView
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CSatelliteInfoUI::SetLaunchView(TSatelliteView aLaunchView)
-	{
-	switch(aLaunchView)
-	    {
-	    case ESatelliteFirmamentView:
-	        {
-		    iSatellite->SetLaunchView(EGraphicalView);
-	        break;
-	        }	    
-	    case ESatelliteSignalStrengthView:
-	        {
-		    iSatellite->SetLaunchView(ESignalStrengthView);
-	        break;
-	        }
-	    case ESatelliteCompassView:
-	        {
-                TInt error = KErrNone;
-                TInt returnCode = KErrNone;
-                TInt settingsValue = 0;
-		        CRepository* repository = NULL;
-	            TRAP(error, repository = CRepository::NewL( TUid::Uid( KCRUidLocLocalVariation) ));
-	            TRAP(error, CleanupStack::PushL( repository ); returnCode = repository->Get( KLocHideCoordinates,settingsValue );CleanupStack::PopAndDestroy( repository ) );
-	            if(returnCode != KErrNone)
-	                {
-	                return;
-	                }
-         
-	            if ( ELocCoordinatesHidden == settingsValue)
-	            {
-		             iSatellite->SetLaunchView(EGraphicalView);
-		             break;	
-	            }
-		    iSatellite->SetLaunchView(ECompassView);
-	        break;
-	        }
-	    default:
-	        {
-		    User::Panic(KSatellitePanic, EAknPanicOutOfRange);
-	        break;
-	        }
-	    }
-	}
-
-// End of File
--- a/locationsystemui/locationsysui/locblidsatelliteinfo/src/Debug.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Contains debugging functions
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "Debug.h"
-#include <flogger.h>
-#include <e32svr.h>
-
-// CONSTANTS
-#ifdef _DEBUG
-/// Folder where the log resides
-_LIT( KLogFolder, "BLID" );
-
-/// The name of the log file
-_LIT( KLogFileName, "BLID" );
-
-/// The format in which the time is formatted in log
-_LIT( KLogTimeFormat, "%02d.%02d:%02d:%06d ");
-
-/// The length of the string produced by KLocLogTimeFormat
-const TInt KLogTimeFormatLength = 16;
-
-/// How many characters a log line can contain
-const TInt KLogLineLength = 256;
-#endif
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-#ifdef _DEBUG
-// -----------------------------------------------------------------------------
-// Debug
-// Generates a log file if c:\logs\BLID\ folder exists
-// -----------------------------------------------------------------------------
-//
-void Debug( TRefByValue<const TDesC> aText, ... )
-    {    
-    RDebug::Print(aText);
-    // coverity[var_decl : FALSE]
-    VA_LIST args;
-    VA_START( args, aText );
-
-    TBuf<KLogLineLength> buf;
-    // coverity[uninit_use_in_call : FALSE]
-    buf.FormatList( aText, args );
-
-    RFileLogger logger;
-    TInt ret=logger.Connect();
-    if (ret==KErrNone)
-        {
-        logger.SetDateAndTime( EFalse,EFalse );
-        logger.CreateLog( KLogFolder, KLogFileName, EFileLoggingModeAppend );
-        TBuf<KLogTimeFormatLength> timeStamp;
-        TTime now;
-        now.HomeTime();
-        TDateTime dateTime;
-        dateTime = now.DateTime();
-        timeStamp.Format( KLogTimeFormat,
-            dateTime.Hour(), dateTime.Minute(),
-            dateTime.Second(), dateTime.MicroSecond() );
-        buf.Insert( 0, timeStamp );
-
-        logger.Write(buf);
-        }
-
-    logger.Close();
-
-    VA_END( args );    
-    }
-#endif
-
-//  End of File
--- a/locationsystemui/locationsysui/locblidsatelliteinfo/src/DllMain.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Dll entry point
-*
-*/
-
-
-// INCLUDE FILES
-#include "DllMain.h"
-
-// ================= MEMBER FUNCTIONS =======================
-// ----------------------------------------------------------------------------
-// SatelliteDataPanic
-// ----------------------------------------------------------------------------
-//
-void SatellitePanic( TInt aCode ) // panic code
-    {
-    _LIT( KPanicText, "SatelliteData" );
-    User::Panic( KPanicText, aCode );
-    }
-
-// End of File
--- a/locationsystemui/locationsysui/locblidsatelliteinfo/src/csatellitemeasurementsetting.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,167 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Adapter for System of Measurement.
-*
-*/
-
-
-// System Include
-#include <centralrepository.h>
-
-// INCLUDE FILES
-#include "csatellitemeasurementsetting.h"
-#include "msatellitemeasurementsettingobserver.h"
-
-// CONSTANTS
-
-
-// ============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// CSatelliteMeasurementSetting::CSatelliteMeasurementSetting
-// Overloaded Constructor
-//
-// ---------------------------------------------------------------------------
-//	
-CSatelliteMeasurementSetting::CSatelliteMeasurementSetting(  
-                                MSatelliteMeasurementSettingObserver&	aAdapterObsrv )
-	:CActive(EPriorityStandard),
-	iObserver(aAdapterObsrv)
-	{
-	}
-
-// ---------------------------------------------------------------------------
-// CSatelliteMeasurementSetting::~CSatelliteMeasurementSetting
-// Destructor
-//
-// ---------------------------------------------------------------------------
-//
-CSatelliteMeasurementSetting::~CSatelliteMeasurementSetting()
-	{
-	Cancel();
-	delete iRepository;
-	}
-	
-// ---------------------------------------------------------------------------
-// CSatelliteMeasurementSetting* CSatelliteMeasurementSetting::NewL
-// Creates new System of Measurement Adapter
-// ---------------------------------------------------------------------------
-//    
-CSatelliteMeasurementSetting* CSatelliteMeasurementSetting::NewL( 
-                            MSatelliteMeasurementSettingObserver&	aAdapterObsrv )
-	{	
-    CSatelliteMeasurementSetting* self = 
-                        CSatelliteMeasurementSetting::NewLC( aAdapterObsrv );
-	CleanupStack::Pop(self);
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// CSatelliteMeasurementSetting* CSatelliteMeasurementSetting::NewLC
-// Creates new System of Measurement Adapter. Leaves the object on the clean-up
-// stack
-// ---------------------------------------------------------------------------
-// 
-CSatelliteMeasurementSetting* CSatelliteMeasurementSetting::NewLC( 
-                            MSatelliteMeasurementSettingObserver&	aAdapterObsrv )
-	{	
-    CSatelliteMeasurementSetting* self = 
-                        new(ELeave) CSatelliteMeasurementSetting( aAdapterObsrv );
-	CleanupStack::PushL(self);
-	self->ConstructL();
-	return self;
-	}
-	
-// ---------------------------------------------------------------------------
-// void CSatelliteMeasurementSetting::ConstructL
-// Second Phase Constructor
-//
-// ---------------------------------------------------------------------------
-//
-void CSatelliteMeasurementSetting::ConstructL()
-	{
-	CActiveScheduler::Add( this );
-	
-	// Create the Central repository object for manipulating Avkon Central
-	// repository for System of measurements settings
-	iRepository = CRepository::NewL(TUid::Uid( KCRUidLocNotationPref ));
-	
-	StartNotification();	
-	}
-
-// ---------------------------------------------------------------------------
-// TReal32 CSatelliteMeasurementSetting::SysofMeasurementL
-// Returns the current value of the System of measurements settings
-//
-// @return TLocSystemofMeasurementValues  Current value of the 
-// 																				System of measurements settings
-// ---------------------------------------------------------------------------
-//
-TLocSystemofMeasurementValues CSatelliteMeasurementSetting::SysofMeasurementL()
-    {
-    
-    TInt settingsValue = 0;
-    User::LeaveIfError( iRepository->Get( KLocSystemofMeasurements,
-                                          settingsValue ));  
-    return ( static_cast<TLocSystemofMeasurementValues>( settingsValue ));
-    }
-
-	    
-// --------------------------------------------------------------------------
-// void CSatelliteMeasurementSetting::RunL
-// Inherited from CActive
-//
-// ---------------------------------------------------------------------------
-//
-void CSatelliteMeasurementSetting::RunL()
-    {
-    // Issue Notification
-    iObserver.HandleSysMeasureValueL();
-    
-    // Schedule for listening to change events again
-    StartNotification();
-    }
-
-// --------------------------------------------------------------------------
-// void CSatelliteMeasurementSetting::DoCancel
-// Inherited from CActive
-//
-// ---------------------------------------------------------------------------
-//
-void CSatelliteMeasurementSetting::DoCancel()
-    {
-    // Cancel the outstanding CR notification request
-    iRepository->NotifyCancel( KLocSystemofMeasurements );
-    }
-    
-// --------------------------------------------------------------------------
-// void CSatelliteMeasurementSetting::StartNotification
-// Start notification from the Central repository server for any changes in the
-// System of measurements key value
-//
-// ---------------------------------------------------------------------------
-//
-void CSatelliteMeasurementSetting::StartNotification()
-    {
-    if( !IsActive())
-        {
-        iStatus = KRequestPending;
-        // Request for notification
-        iRepository->NotifyRequest( KLocSystemofMeasurements, iStatus);
-        SetActive();          
-        }  
-    }
-	
-// End of File
-
--- a/locationsystemui/locationsysui/locblidsatelliteinfo/src/satellitecontrol.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1444 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*     Implements the control for responsible for all drawings
-*     in the satellite dialog
-*
-*/
-
-
-// INCLUDE FILES
-#include <skinlayout.cdl.h>
-#include <AknsSkinInstance.h>
-#include <AknsUtils.h>
-#include <AknsDrawUtils.h>
-#include <StringLoader.h>
-#include <AknsFrameBackgroundControlContext.h>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <aknViewAppUi.h>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <SatInfo.rsg>
-#include <AknBidiTextUtils.h>
-#include <lbssatellite.h>
-#include <satellite.mbg>
-#include <eikapp.h>
-#include <AknLayout2Def.h>
-#include <layoutmetadata.cdl.h>
-//===HEADER FILE INCLUDED FOR HACK=======
-#include <AknLayoutFont.h>
-#include <aknlocationed.h>
-// header file added for multiple drive support.
-#include <pathinfo.h>
-
-#ifdef RD_TACTILE_FEEDBACK
-#include <touchfeedback.h>
-#endif //RD_TACTILE_FEEDBACK
-
-#include "satellitecontrol.h"
-
-#include  <centralrepository.h>
-#include <locationvariationdomaincrkeys.h>
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CSatelliteControl::CSatelliteControl
-// ---------------------------------------------------------
-//
-CSatelliteControl::CSatelliteControl(MSatelliteEng& aEngine): iEngine(aEngine)               
-    {
-    //By defaul start with signal strength view
-    iCurrentSatelliteView = ESignalStrengthView;
-    iSatelliteSignalHeading = NULL;
-    iSatelliteGrapgicHeading = NULL;
-    }
-
-// ---------------------------------------------------------
-// CSatelliteControl::~CSatelliteControl
-// ---------------------------------------------------------
-//
-CSatelliteControl::~CSatelliteControl()
-    {    
-    AknsUtils::DeregisterControlPosition(this);
-    delete iEditorContext;
-    delete iSatelliteSignalHeading;
-    delete iSatelliteGrapgicHeading;
-    delete iCompassViewHeading;
-    delete iNoSatelliteData;
-    delete iSatActiveBmp;
-    delete iSatActiveBmpMask;
-    delete iSatInActiveBmp;
-    delete iSatInActiveBmpMask;
-    delete iSatFrame;
-    delete iSatFrameMask;
-    delete iFirmamentBmp;
-    delete iFirmamentBmpMask;
-    delete iFirmaActiveBmp;
-    delete iFirmaActiveBmpMask;
-    delete iFirmaInActiveBmp;
-    delete iFirmaInActiveBmpMask;
-    delete iSunBmp;
-    delete iSunBmpMask;
-    delete iMoonBmp;
-    delete iMoonBmpMask;
-    delete iFirmamentCompassBmp;
-    delete iFirmamentCompassBmpMask;
-    delete iFixBmp;
-    delete iFixBmpMask;
-	delete iAltitudeWindowHeading;
-	delete iSpeedWindowHeading;
-	delete iDirectionWindowHeading;
-	delete iSpeedFormatKmph;
-	delete iSpeedFormatMph;
-	delete iAltitudeFormatM;
-	delete iAltitudeFormatFt;
-	delete iDirectionFormat;
-    delete iCompassNorth;
-    delete iCompassSouth;
-    delete iCompassWest;
-	delete iCompassEast;
-    delete iNorth;
-    delete iSouth;
-    delete iWest;
-	delete iEast;
-	delete i2DString;
-	delete i3DString;
-    iSignalBarRects.Reset();
-    iSatelliteNumberLayouts.Reset();
-    }
-
-// ---------------------------------------------------------
-// CSatelliteControl::NewL
-// ---------------------------------------------------------
-//
-CSatelliteControl* CSatelliteControl::NewL(MSatelliteEng& aEngine)
-    {
-    CSatelliteControl* self =
-        new(ELeave) CSatelliteControl(aEngine);
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();    // self    
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CSatelliteControl::CountComponentControls
-// ---------------------------------------------------------
-//
-TInt CSatelliteControl::CountComponentControls() const
-    {
-    //No additional controls. All the drawing is done
-    //by one control. Helps reduce flickering
-    return 0;
-    }
-
-// ---------------------------------------------------------
-// CSatelliteControl::ComponentControl
-// ---------------------------------------------------------
-//
-CCoeControl* CSatelliteControl::ComponentControl( TInt /*aIndex*/ ) const
-    {
-    return NULL;
-    }
-
-// ---------------------------------------------------------
-// CSatelliteControl::FocusChanged
-// ---------------------------------------------------------
-//
-void CSatelliteControl::FocusChanged( TDrawNow /*aDrawNow*/ )
-    {
-    //No implemenation here for focus change
-    }
-
-// ---------------------------------------------------------
-// CSatelliteControl::MinimumSize
-// ---------------------------------------------------------
-//
-TSize CSatelliteControl::MinimumSize()
-    {    
-	TRect rect = CalculateDialogRect();
-    TSize size = rect.Size();
-    return size;
-    }
-
-// ---------------------------------------------------------
-// CSatelliteControl::DialogRect
-// ---------------------------------------------------------
-//
-TRect CSatelliteControl::DialogRect() const
-    {    
-    return CalculateDialogRect();
-    }
-
-// ---------------------------------------------------------
-// CSatelliteControl::DialogSize
-// ---------------------------------------------------------
-//
-TSize CSatelliteControl::DialogSize() const
-    {
-	TRect rect = CalculateDialogRect();
-	return (TSize(rect.Size()));
-    }
-
-// ---------------------------------------------------------
-// CSatelliteControl::WindowLayout
-// ---------------------------------------------------------
-//
-TAknWindowLineLayout CSatelliteControl::WindowLayout() const
-    {
-    //Get the dialogs layout and return it.
-    AknLayoutUtils::TAknCbaLocation cbaLocation( AknLayoutUtils::CbaLocation() );
-    TInt variety(0);
-    
-    //Varient for LAF changes based on the location of the softkeys
-    if(Layout_Meta_Data::IsLandscapeOrientation())		
-        {
-        if ( cbaLocation == AknLayoutUtils::EAknCbaLocationRight )
-    		{
-    		variety = 1;
-    		}
-    	else if ( cbaLocation == AknLayoutUtils::EAknCbaLocationLeft )
-    		{
-    		variety = 2;
-    		}
-        }
-    else
-        {
-        variety = 0;
-        }        
-	
-	//Return the layout line of the dialog from LAF
-    return AknLayoutScalable_Apps::popup_blid_sat_info2_window(variety).LayoutLine();
-    }
-
-// ----------------------------------------------------------------------------
-// CSatelliteControl::CalculateDialogRect
-// Calculates rectangle according to current LAF information.
-// ----------------------------------------------------------------------------
-//
-TRect CSatelliteControl::CalculateDialogRect() const
-    {
-    TRect mainPaneRect;
-    TRect screenRect;
-    TInt variety(0);
-    TAknLayoutRect mainPane;
-    
-    AknLayoutUtils::TAknCbaLocation cbaLocation( AknLayoutUtils::CbaLocation() );
-    if( Layout_Meta_Data::IsLandscapeOrientation() )	 	
-        {
-        if ( cbaLocation == AknLayoutUtils::EAknCbaLocationRight )
-    		{
-    		screenRect = iAvkonAppUi->ApplicationRect();
-    		variety = 1;
-    		mainPane.LayoutRect( screenRect, AknLayoutScalable_Apps::main_pane( 13 ) );           
-		mainPaneRect = mainPane.Rect();
-    		}
-    	else if ( cbaLocation == AknLayoutUtils::EAknCbaLocationLeft )
-    		{
-    		variety = 2;
-    		mainPaneRect = iAvkonAppUi->ClientRect();
-    		}
-    	else if ( cbaLocation == AknLayoutUtils::EAknCbaLocationBottom )
-    		{
-	        variety = 0;
-	    	AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, mainPaneRect );
-    		}    		
-        }
-    else
-        {
-        variety = 0;
-        AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, mainPaneRect );
-        }    
-    
-    TAknLayoutRect mainSatPane;
-    mainSatPane.LayoutRect( mainPaneRect, AknLayoutScalable_Apps::popup_blid_sat_info2_window( variety ) );
-      
-    return mainSatPane.Rect();
-    
-    }
-// ---------------------------------------------------------
-// CBlidManualWayPointCtrl::Layout
-// ---------------------------------------------------------
-//
-void CSatelliteControl::Layout()
-    {
-    SizeChanged();
-    }
-
-// ---------------------------------------------------------
-// CBlidManualWayPointCtrl::ChangeView
-// ---------------------------------------------------------
-//
-void CSatelliteControl::ChangeViewL()
-	{
-    // Change the view variable and update the rects
-	switch ( iCurrentSatelliteView )
-	    {
-	    case ESignalStrengthView:
-	        {
-	        iCurrentSatelliteView = EGraphicalView;
-	        break;
-	        }	    
-	    case EGraphicalView:
-	        {
-	        TInt settingsValue = 0;
-            CRepository* repository = CRepository::NewL( TUid::Uid( KCRUidLocLocalVariation) );
-            CleanupStack::PushL( repository );
-            User::LeaveIfError( repository->Get( KLocHideCoordinates,
-                                                      settingsValue ));  
-            CleanupStack::PopAndDestroy( repository );
-            
-            if ( ELocCoordinatesHidden == settingsValue)
-            {
-            	 iCurrentSatelliteView = ESignalStrengthView;
-            }
-            else
-           {
-           		iCurrentSatelliteView = ECompassView;
-           }
-	        break;
-	        }
-	    case ECompassView:
-	        {
-	        iCurrentSatelliteView = ESignalStrengthView;
-	        break;
-	        }
-	    default:
-	        {
-	        break;
-	        }
-	    }	
-	}
-
-// ---------------------------------------------------------
-// CSatelliteControl::SetLaunchView
-// ---------------------------------------------------------
-//
-void CSatelliteControl::SetLaunchView(TSatDialogView aView)
-	{
-	iCurrentSatelliteView = aView;
-	}
-
-// ---------------------------------------------------------
-// CSatelliteControl::PrepareGraphicalViewIcons
-// ---------------------------------------------------------
-//
-void CSatelliteControl::PrepareGraphicalViewIcons()
-	{
-	AknIconUtils::SetSize(iFirmamentBmp, iFirmamentRect.Size());
-	AknIconUtils::SetSize(iFirmamentBmpMask, iFirmamentRect.Size());
-	
-	AknIconUtils::SetSize(iFirmaActiveBmp, iSatelliteRect.Size());
-	AknIconUtils::SetSize(iFirmaActiveBmpMask, iSatelliteRect.Size());
-	AknIconUtils::SetSize(iFirmaInActiveBmp, iSatelliteRect.Size());
-	AknIconUtils::SetSize(iFirmaInActiveBmpMask, iSatelliteRect.Size());	
-	
-	AknIconUtils::SetSize(iMoonBmp, iSunMoonRect.Size());
-	AknIconUtils::SetSize(iMoonBmpMask, iSunMoonRect.Size());
-	AknIconUtils::SetSize(iSunBmp, iSunMoonRect.Size());
-	AknIconUtils::SetSize(iSunBmpMask, iSunMoonRect.Size());
-	}
-
-// ---------------------------------------------------------
-// CSatelliteControl::PrepareSignalStrengthViewIcons
-// ---------------------------------------------------------
-//
-void CSatelliteControl::PrepareSignalStrengthViewIcons()
-	{	
-    if(!iSignalBarRects.Count())
-    	{
-    	return;
-    	}
-    	    
-	TRect rect = iSignalBarRects[1];
-	AknIconUtils::SetSize(iSatFrame, rect.Size());
-	AknIconUtils::SetSize(iSatFrameMask, rect.Size());
-	}
-
-// ---------------------------------------------------------
-// CSatelliteDialog::PrepareCompassViewIcons
-// ---------------------------------------------------------
-//    
-void CSatelliteControl::PrepareCompassViewIcons()
-    {  	
-	AknIconUtils::SetSize(iFirmamentCompassBmp, iFirmamentCompassRect.Size());
-	AknIconUtils::SetSize(iFirmamentCompassBmpMask, iFirmamentCompassRect.Size());
-	
-	AknIconUtils::SetSize(iFixBmp, iTypeRect.Size());
-	AknIconUtils::SetSize(iFixBmpMask, iTypeRect.Size());
-    }
-
-// ---------------------------------------------------------
-// CSatelliteControl::PrepareSignalStrengthViewRectsAndIcons
-// ---------------------------------------------------------
-//
-void CSatelliteControl::PrepareSignalStrengthViewRectsAndIcons()
-	{
-	iSignalBarRects.Reset();
-    iSatelliteNumberLayouts.Reset();
-	TAknLayoutScalableParameterLimits paramLimits;
-	paramLimits = AknLayoutScalable_Apps::cell_popup_blid_pane_ParamLimits();
-	
-	TInt numberOfRows = paramLimits.LastRow() - paramLimits.FirstRow();	
-	TInt numberOfColumns = paramLimits.LastColumn() - paramLimits.FirstColumn();
-	
-	TAknLayoutRect layoutWindow;
-    layoutWindow.LayoutRect(Rect(), AknLayoutScalable_Apps::grid_popup_blid_pane().LayoutLine());	
-    TRect gridRect = layoutWindow.Rect();
-	
-	iNumberOfRows = paramLimits.LastRow() - paramLimits.FirstRow() + 1;
-	iNumberOfColumns = paramLimits.LastColumn() - paramLimits.FirstColumn() + 1;
-	
-	for(TInt row = paramLimits.FirstRow() ; row <= paramLimits.LastRow(); ++row)
-		{
-		for(TInt column = paramLimits.FirstColumn() ; column <= paramLimits.LastColumn(); ++column)
-			{
-			// First get and save the rects of the signal bars
-			layoutWindow.LayoutRect(gridRect, AknLayoutScalable_Apps::cell_popup_blid_pane(column, row).LayoutLine());
-			TRect cellRect = layoutWindow.Rect();
-			
-			layoutWindow.LayoutRect(cellRect, AknLayoutScalable_Apps::cell_popup_blid_pane_g1().LayoutLine());
-			TRect barRect = layoutWindow.Rect();
-			iSignalBarRects.Append(barRect);
-			
-			// Save the layouts of the satellite numbers
-			TAknLayoutText satNumberLayout;
-			satNumberLayout.LayoutText(cellRect, AknLayoutScalable_Apps::cell_popup_blid_pane_t1().LayoutLine());			
-			iSatelliteNumberLayouts.Append(satNumberLayout);
-			}
-		}
-	PrepareSignalStrengthViewIcons();
-	}
-
-// ---------------------------------------------------------
-// CSatelliteControl::PrepareGraphicalViewRectsAndIcons
-// ---------------------------------------------------------
-//
-void CSatelliteControl::PrepareGraphicalViewRectsAndIcons()
-	{
-	TAknLayoutRect layoutWindow;
-    layoutWindow.LayoutRect(Rect(), 
-    						AknLayoutScalable_Apps::blid_firmament_pane().LayoutLine());
-	    						
-	// Rect to draw the firmament
-    iFirmamentRect = layoutWindow.Rect();
-    
-    layoutWindow.LayoutRect(iFirmamentRect,
-    						AknLayoutScalable_Apps::aid_firma_cardinal().LayoutLine());
-        
-    //Layout to draw the cardinal point W
-    iCardinalWLayout.LayoutText(iFirmamentRect, 
-    					  		AknLayoutScalable_Apps::blid_firmament_pane_t1().LayoutLine());    
-    
-    //Layout to draw the cardinal point E
-    iCardinalELayout.LayoutText(iFirmamentRect, 
-    					  		AknLayoutScalable_Apps::blid_firmament_pane_t2().LayoutLine());
-
-	//Layout to draw the cardinal point N
-	iCardinalNLayout.LayoutText(iFirmamentRect, 
-    					  		AknLayoutScalable_Apps::blid_firmament_pane_t3().LayoutLine());
-
-	//Layout to draw the cardinal point S		
-	iCardinalSLayout.LayoutText(iFirmamentRect, 
-    					  		AknLayoutScalable_Apps::blid_firmament_pane_t4().LayoutLine());
-
-	layoutWindow.LayoutRect(iFirmamentRect, 
-    						AknLayoutScalable_Apps::blid_sat_info_pane().LayoutLine());
-    
-    // Parent rect to get the rects of satellites, sun and moon
-    TRect parentRect = layoutWindow.Rect();
-    
-    layoutWindow.LayoutRect(parentRect,
-    						AknLayoutScalable_Apps::blid_sat_info_pane_g1().LayoutLine());
-    
-    iSatelliteRect = layoutWindow.Rect();
-    
-    layoutWindow.LayoutRect(parentRect, 
-    						AknLayoutScalable_Apps::blid_sat_info_pane_g2().LayoutLine());
-	
-	iSunMoonRect = layoutWindow.Rect();	
-	PrepareGraphicalViewIcons();
-	}
-
-// ---------------------------------------------------------
-// CSatelliteDialog::PrepareCompassViewRectsAndIcons
-// ---------------------------------------------------------
-//    
-void CSatelliteControl::PrepareCompassViewRectsAndIcons()
-    {
-
-	TAknLayoutRect layoutWindow;
-	TRect parenRect = Rect();
-	
-    layoutWindow.LayoutRect(parenRect, 
-    						AknLayoutScalable_Apps::blid_firmament_pane(1).LayoutLine());
-	    						
-	// Rect to draw the firmament
-    iFirmamentCompassRect = layoutWindow.Rect();
-    
-    layoutWindow.LayoutRect(iFirmamentCompassRect,
-    						AknLayoutScalable_Apps::aid_firma_cardinal(1).LayoutLine());
-        
-    //Layout to draw the cardinal point W
-    iCardinalCompassWLayout.LayoutText(iFirmamentCompassRect, 
-    					  		AknLayoutScalable_Apps::blid_firmament_pane_t1(1).LayoutLine());    
-    
-    //Layout to draw the cardinal point E
-    iCardinalCompassELayout.LayoutText(iFirmamentCompassRect, 
-    					  		AknLayoutScalable_Apps::blid_firmament_pane_t2(1).LayoutLine());
-
-	//Layout to draw the cardinal point N
-	iCardinalCompassNLayout.LayoutText(iFirmamentCompassRect, 
-    					  		AknLayoutScalable_Apps::blid_firmament_pane_t3(1).LayoutLine());
-
-	//Layout to draw the cardinal point S		
-	iCardinalCompassSLayout.LayoutText(iFirmamentCompassRect, 
-    					  		AknLayoutScalable_Apps::blid_firmament_pane_t4(1).LayoutLine());
-
-	// Rect to draw the Type
-    layoutWindow.LayoutRect(parenRect, 
-    						AknLayoutScalable_Apps::popup_blid_sat_info2_window_g1(0).LayoutLine());
-	    			
-	// Rect to draw the Fix Type graphic			
-    iTypeRect = layoutWindow.Rect();
-    
-	// Rect to draw the Fix Type Text - 2D/3D
-    iFixTypeLayout.LayoutText(parenRect, 
-    					  		AknLayoutScalable_Apps::popup_blid_sat_info2_window_t11(0).LayoutLine());
-    
-	// Rect to draw the Latitude
-    iLatitudeWindowLayout.LayoutText(parenRect, 
-    						AknLayoutScalable_Apps::popup_blid_sat_info2_window_t3(0).LayoutLine());
-
-	// Rect to draw the Longitude
-    iLongitudeWindowLayout.LayoutText(parenRect, 
-    						AknLayoutScalable_Apps::popup_blid_sat_info2_window_t4(0).LayoutLine());
-
-	// Rect to draw the Heading. Altitude.
-    iAltitudeWindowHeadingLayout.LayoutText(parenRect, 
-    						AknLayoutScalable_Apps::popup_blid_sat_info2_window_t5(0).LayoutLine());
-
-	// Rect to draw the Value. Altitude.
-    iAltitudeWindowValueLayout.LayoutText(parenRect, 
-    						AknLayoutScalable_Apps::popup_blid_sat_info2_window_t6(0).LayoutLine());
-
-	// Rect to draw the Heading. Speed.
-    iSpeedWindowHeadingLayout.LayoutText(parenRect, 
-    						AknLayoutScalable_Apps::popup_blid_sat_info2_window_t7(0).LayoutLine());
-
-	// Rect to draw the Value. Speed.
-    iSpeedWindowValueLayout.LayoutText(parenRect, 
-    						AknLayoutScalable_Apps::popup_blid_sat_info2_window_t8(0).LayoutLine());
-
-	// Rect to draw the Heading. Direction.
-    iDirectionWindowHeadingLayout.LayoutText(parenRect, 
-    						AknLayoutScalable_Apps::popup_blid_sat_info2_window_t9(0).LayoutLine());
-
-	// Rect to draw the Value. Direction.
-    iDirectionWindowValueLayout.LayoutText(parenRect, 
-    						AknLayoutScalable_Apps::popup_blid_sat_info2_window_t10(0).LayoutLine());
- 
-    PrepareCompassViewIcons();    
-    }
-    
-// ---------------------------------------------------------
-// CSatelliteControl::ConstructL
-// ---------------------------------------------------------
-//
-void CSatelliteControl::ConstructL( )
-	{    
-    iSatelliteSignalHeading = iEikonEnv->AllocReadResourceL( R_BLID_SAT_HEADING_SIGNALS );
-    iSatelliteGrapgicHeading = iEikonEnv->AllocReadResourceL( R_BLID_SAT_HEADING_GRAPHIC );
-	iCompassViewHeading = iEikonEnv->AllocReadResourceL( R_BLID_SAT_HEADING_COMPASS );
-	
-	iNoSatelliteData = iEikonEnv->AllocReadResourceL( R_BLID_NOTE_NO_SATELLITE_DATA );
-
-	// Altitude,Speed and Direction Strings for Compass View
-    iAltitudeWindowHeading = iEikonEnv->AllocReadResourceL( R_BLID_SAT_COMPASS_ALTITUDE );
-    iSpeedWindowHeading = iEikonEnv->AllocReadResourceL( R_BLID_SAT_COMPASS_SPEED );
-	iDirectionWindowHeading = iEikonEnv->AllocReadResourceL( R_BLID_SAT_COMPASS_DIRECTION );
-
-    iSpeedFormatKmph = iEikonEnv->AllocReadResourceL( R_BLID_SAT_METRIC_SPEED );
-    iSpeedFormatMph = iEikonEnv->AllocReadResourceL( R_BLID_SAT_IMPERIAL_SPEED );
-    iAltitudeFormatM = iEikonEnv->AllocReadResourceL( R_BLID_SAT_METRIC_METER );
-    iAltitudeFormatFt = iEikonEnv->AllocReadResourceL( R_BLID_SAT_IMPERIAL_FOOT );
-    iDirectionFormat = iEikonEnv->AllocReadResourceL( R_BLID_SAT_DEGREE );
-
-
-	MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-		
-	/* Icons for signal strength view */
-	// Code added foe multiple drive support.
-	TBuf<KMaxFileName> iconFileName;
-	iconFileName.Zero();
-	iconFileName.Append( PathInfo::RomRootPath()[0]);
-	iconFileName.Append(KBlidSatSystemIconPath);
-	
-	// Satellite Active signal bar
-	AknsUtils::CreateIconL( skin,
-                            KAknsIIDQgnPropBlidActive,		                    
-		                    iSatActiveBmp,
-		                    iSatActiveBmpMask,
-		                    iconFileName,
-		                    EMbmSatelliteQgn_prop_blid_active,
-		                    EMbmSatelliteQgn_prop_blid_active_mask );
-	
-	// Satellite In-Active signal bar
-	AknsUtils::CreateIconL( skin,
-                            KAknsIIDQgnPropBlidInactive,		                    
-		                    iSatInActiveBmp,
-		                    iSatInActiveBmpMask,
-		                    iconFileName,
-		                    EMbmSatelliteQgn_prop_blid_inactive,
-		                    EMbmSatelliteQgn_prop_blid_inactive_mask );
-	
-	// Satellite Frame bar
-	AknsUtils::CreateIconL( skin,
-                            KAknsIIDQgnPropBlidBg,		                    
-		                    iSatFrame,
-		                    iSatFrameMask,
-		                    iconFileName,
-		                    EMbmSatelliteQgn_prop_blid_bg,
-		                    EMbmSatelliteQgn_prop_blid_bg_mask );
-
-	/* Icons for firmament view */
-	
-	// Icon for the firmament
-	AknsUtils::CreateIconL( skin,
-                            KAknsIIDQgnIndiBlidSatFirmaCenter,		                    
-		                    iFirmamentBmp,
-		                    iFirmamentBmpMask,
-		                    iconFileName,
-		                    EMbmSatelliteQgn_prop_blid_sat_firma,
-		                    EMbmSatelliteQgn_prop_blid_sat_firma_mask );
-	
-	// Icon for active satellite
-	AknsUtils::CreateIconL( skin,
-                            KAknsIIDQgnIndiBlidSatFirmaActive,		                    
-		                    iFirmaActiveBmp,
-		                    iFirmaActiveBmpMask,
-		                    iconFileName,
-		                    EMbmSatelliteQgn_prop_blid_sat_firma_active,
-		                    EMbmSatelliteQgn_prop_blid_sat_firma_active_mask );
-	
-	// Icon for In-Active satellite
-	AknsUtils::CreateIconL( skin,
-                            KAknsIIDQgnIndiBlidSatFirmaInact,		                    
-		                    iFirmaInActiveBmp,
-		                    iFirmaInActiveBmpMask,
-		                    iconFileName,
-		                    EMbmSatelliteQgn_prop_blid_sat_firma_inact,
-		                    EMbmSatelliteQgn_prop_blid_sat_firma_inact_mask );
-	
-	// Icon for the sun
-	AknsUtils::CreateIconL( skin,
-                            KAknsIIDQgnIndiBlidSatFirmaSun,		                    
-		                    iSunBmp,
-		                    iSunBmpMask,
-		                    iconFileName,
-		                    EMbmSatelliteQgn_prop_blid_sat_firma_sun,
-		                    EMbmSatelliteQgn_prop_blid_sat_firma_sun_mask );
-	
-	// Icon for the moon
-	AknsUtils::CreateIconL( skin,
-                            KAknsIIDQgnIndiBlidSatFirmaMoon,		                    
-		                    iMoonBmp,
-		                    iMoonBmpMask,
-		                    iconFileName,
-		                    EMbmSatelliteQgn_prop_blid_sat_firma_moon,
-		                    EMbmSatelliteQgn_prop_blid_sat_firma_moon_mask );
-	
-	/* Icons for Compass view */
-	
-	// Icon for the firmament
-	AknsUtils::CreateIconL( skin,
-                            KAknsIIDQgnGrafBlid,		                    
-		                    iFirmamentCompassBmp,
-		                    iFirmamentCompassBmpMask,
-		                    iconFileName,
-		                    EMbmSatelliteQgn_graf_blid,
-		                    EMbmSatelliteQgn_graf_blid_mask );
-		                    
-	// Icon for the Type of Fix
-	AknsUtils::CreateIconL( skin,
-                            KAknsIIDQgnGrafBlidRingfix,		                    
-		                    iFixBmp,
-		                    iFixBmpMask,
-		                    iconFileName,
-		                    EMbmSatelliteQgn_graf_blid_ringfix,
-		                    EMbmSatelliteQgn_graf_blid_ringfix_mask );
-
-	//Type of Fix to be display on the Fix Ring
-	i2DString = StringLoader::LoadL( R_BLID_SAT_COMPASS_2D, iEikonEnv );
-    i3DString = StringLoader::LoadL( R_BLID_SAT_COMPASS_3D, iEikonEnv );
-
-	//Cardinal points text to be display on the Compass firmament
-	iCompassNorth = StringLoader::LoadL( R_BLID_SAT_COMPASS_NORTH, iEikonEnv );
-    iCompassSouth = StringLoader::LoadL( R_BLID_SAT_COMPASS_SOUTH, iEikonEnv );
-    iCompassWest = StringLoader::LoadL( R_BLID_SAT_COMPASS_WEST, iEikonEnv );
-    iCompassEast = StringLoader::LoadL( R_BLID_SAT_COMPASS_EAST, iEikonEnv );
-
-	//Cardinal points text to be display on the Graphic firmament
-	iNorth = StringLoader::LoadL( R_BLID_SAT_SYMBOL_NORTH, iEikonEnv );
-    iSouth = StringLoader::LoadL( R_BLID_SAT_SYMBOL_SOUTH, iEikonEnv );
-    iWest = StringLoader::LoadL( R_BLID_SAT_SYMBOL_WEST, iEikonEnv );
-    iEast = StringLoader::LoadL( R_BLID_SAT_SYMBOL_EAST, iEikonEnv );
-    }
-
-// ---------------------------------------------------------
-// CSatelliteControl::ConstructFromResourceL
-// ---------------------------------------------------------
-//
-void CSatelliteControl::ConstructFromResourceL(TResourceReader& /*aReader*/)
-    {
-	iEditorContext = CAknsFrameBackgroundControlContext::NewL(
-        KAknsIIDQsnFrInput, TRect(0,0,1,1), TRect(0,0,1,1), EFalse );
-    ActivateL();
-    }
-
-// ---------------------------------------------------------
-// CSatelliteControl::SizeChanged
-// ---------------------------------------------------------
-//
-void CSatelliteControl::SizeChanged()
-    {    
-    AknsUtils::RegisterControlPosition(this);
-    TAknLayoutRect topLeft;
-    TAknLayoutRect bottomRight;
-    
-    topLeft.LayoutRect(Rect(), SkinLayout::Input_field_skin_placing__general__Line_2());                
-    bottomRight.LayoutRect(TRect(Rect().iBr, Rect().iBr), SkinLayout::Input_field_skin_placing__general__Line_5());
-
-    TRect outerRect = TRect(topLeft.Rect().iTl, bottomRight.Rect().iBr);
-    TRect innerRect = TRect(topLeft.Rect().iBr, bottomRight.Rect().iTl);
-
-    iEditorContext->SetFrameRects( outerRect, innerRect );
-    // Chain with the background (since the frame doesn't occupy the entire
-    // layout and it may even be transparent)
-    iEditorContext->SetParentContext( AknsDrawUtils::ControlContextOfParent( this ) );        
-    PrepareSignalStrengthViewRectsAndIcons();
-    PrepareGraphicalViewRectsAndIcons();
-    PrepareCompassViewRectsAndIcons();
-    DrawNow();
-    }
-
-// ---------------------------------------------------------
-// CSatelliteControl::MopSupplyObject
-// ---------------------------------------------------------
-//
-TTypeUid::Ptr CSatelliteControl::MopSupplyObject( TTypeUid aId )
-    {
-    CCoeControl::MopSupplyObject( aId );
-    return MAknsControlContext::SupplyMopObject( aId,  iEditorContext );
-    }
-
-// ---------------------------------------------------------
-// CSatelliteControl::Draw
-// ---------------------------------------------------------
-//
-void CSatelliteControl::Draw(const TRect& /*aRect*/) const
-    {
-    CWindowGc& gc=SystemGc();
-    TRect rect(Rect());
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    MAknsControlContext* cc = AknsDrawUtils::ControlContext( this );
-    AknsDrawUtils::Background( skin, cc, this, gc, rect, KAknsDrawParamNoClearUnderImage);
-    
-    //First draw the heading
-    TRAP_IGNORE(DrawHeadingL());
-    
-    if(!iEngine.IsSatelliteDataAvailable())
-    	{
-    	//Draw the empty string "No satellite data" string in the dialog
-    	TRAP_IGNORE(DrawEmptyDialogL());
-    	return;
-    	}
-    
-	switch ( iCurrentSatelliteView )
-	    {
-	    case ESignalStrengthView:
-	        {
-    		//Draw the signal strength view
-    		TRAP_IGNORE(DrawSignalStrengthViewL());
-	        break;
-	        }	    
-	    case EGraphicalView:
-	        {
-    	    //Draw the graphical view
-    	    TRAP_IGNORE(DrawGraphicalViewL());
-	        break;
-	        }
-	    case ECompassView:
-	        {
-    		//Draw the compass view
-    		TRAP_IGNORE(DrawCompassViewL());
-	        break;
-	        }
-	    default:
-	        {
-	        break;
-	        }
-	    }
-    }
-    
-// ---------------------------------------------------------
-// CSatelliteControl::DrawHeadingL
-// ---------------------------------------------------------
-//
-void CSatelliteControl::DrawHeadingL() const
-	{
-	//Get the rect for the heading frame from LAF
-	TAknLayoutRect layoutWindow;
-	layoutWindow.LayoutRect(Rect(), AknLayoutScalable_Apps::heading_pane_cp05(2).LayoutLine());	
-	TRect headingFrameRect = layoutWindow.Rect();
-	
-	//Get the rect for the heading text. Parent of the heading text rect
-	//is the rect of the heading frame
-	TAknLayoutText headingTextLayout;
-	headingTextLayout.LayoutText(headingFrameRect, AknLayoutScalable_Avkon::heading_pane_t1(0).LayoutLine());
-		
-	CWindowGc& gc=SystemGc();
-		
-	MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-
-    TRgb rgb;
-    AknsUtils::GetCachedColor( skin,
-                               rgb,
-                               KAknsIIDQsnTextColors,
-                               EAknsCIQsnTextColorsCG1 );
-    gc.SetPenStyle( CGraphicsContext::ESolidPen );                               
-    gc.SetPenColor( rgb ); 
-        
-    //Skin the heading frame
-	AknsDrawUtils::DrawFrame(skin, 
-							 gc, 
-							 headingFrameRect, 
-							 headingTextLayout.TextRect(), 
-                             KAknsIIDQsnFrPopupHeading,
-                             KAknsIIDQsnFrPopupHeadingCenter);
-    
-	switch ( iCurrentSatelliteView )
-	    {
-	    case ESignalStrengthView:
-	        {
-    	    headingTextLayout.DrawText( gc, 
-    	                                iSatelliteSignalHeading->Des(),
-    	                                ETrue,
-    	                                rgb );
-	        break;
-	        }	    
-	    case EGraphicalView:
-	        {
-    	    headingTextLayout.DrawText( gc, 
-    	                                iSatelliteGrapgicHeading->Des(),
-    	                                ETrue,
-    	                                rgb );
-	        break;
-	        }
-	    case ECompassView:
-	        {
-    	    headingTextLayout.DrawText( gc, 
-    	                                iCompassViewHeading->Des(),
-    	                                ETrue,
-    	                                rgb );
-	        break;
-	        }
-	    default:
-	        {
-	        break;
-	        }
-	    }
-	}
-
-// ---------------------------------------------------------
-// CSatelliteControl::DrawEmptyDialogL
-// ---------------------------------------------------------
-//
-void CSatelliteControl::DrawEmptyDialogL() const
-	{
-	TAknLayoutText textRect1;
-
-	textRect1.LayoutText(Rect(), 
-    					 AknLayoutScalable_Apps::popup_blid_sat_info2_window_t1());
-	
-	
-	TAknLayoutText textRect2;
-
-	textRect2.LayoutText(Rect(), 
-    					 AknLayoutScalable_Apps::popup_blid_sat_info2_window_t2());   					 
-
-    
-	CArrayFix<TInt>* wrapWidthArray =
-        new( ELeave ) CArrayFixFlat<TInt>(10);
-
-    CleanupStack::PushL( wrapWidthArray );
-    
-    TInt lineLength1 = textRect1.TextRect().Width();
-    TInt lineLength2 = textRect2.TextRect().Width();
-
-    wrapWidthArray->AppendL(lineLength1);
-    wrapWidthArray->AppendL(lineLength2);
-    
-    TPtrC text = *iNoSatelliteData;
-    TBuf<200> buffer;
-    
-    const CFont *font = textRect1.Font();
-    AknBidiTextUtils::ConvertToVisualAndWrapToStringL(text,
-												      *wrapWidthArray,
-												      *font,
-												      buffer,
-												      ETrue );
-
-    CleanupStack::PopAndDestroy(); // wrapWidthArray
-    
-    TPtrC line1= buffer;
-    TPtrC line2= buffer;
-    TInt off = line1.Locate('\n');
-    if (off>=0)
-	    {
-	    line1.Set(line2.Left(off));
-	    line2.Set(line2.Mid(off+1));
-	    }
-    else
-	    {
-	    line2.Set(_L(""));
-	    }
-
-    TInt off2 = line2.Locate('\n');
-    if (off2>=0)
-	    {
-	    line2.Set(line2.Left(off2));
-	    }
-    
-    CWindowGc& gc=SystemGc();
-    gc.UseFont(font);
-        
-    const CAknLayoutFont* layoutFont = CAknLayoutFont::AsCAknLayoutFontOrNull( font );
-    TInt textPaneHeight;
-    TInt textPaneAscent;
-    if ( layoutFont ) 
-    	{
-    	textPaneHeight = layoutFont->TextPaneHeight();     
-    	textPaneAscent = layoutFont->TextPaneTopToBaseline();
-    	}
-    else 
-    	{
-    	textPaneHeight = font->HeightInPixels();         
-    	textPaneAscent = font->AscentInPixels(); 
-    	}
-    //draw text    
-    TInt extraVerticalSpace=(textRect1.TextRect().Height()-textPaneHeight);
-    TInt baseLineOffset=extraVerticalSpace/2+textPaneAscent;
-    gc.DrawText( line1, 
-                 textRect1.TextRect(), 
-                 baseLineOffset,
-                 CGraphicsContext::ECenter  );
-                  
-    if(line2.Length())
-    	{
-    	gc.DrawText( line2, 
-	                 textRect2.TextRect(), 
-	                 baseLineOffset,
-	                 CGraphicsContext::ECenter );
-    	}    
-    }
-
-// ---------------------------------------------------------
-// CSatelliteControl::DrawGraphicalViewL
-// ---------------------------------------------------------
-//
-void CSatelliteControl::DrawGraphicalViewL() const
-	{
-	CWindowGc& gc=SystemGc();
-	TSatelliteData satelliteData;
-	for(TInt i = 0 ; i < iEngine.NumberOfSatellites(); ++i)
-		{
-		iEngine.GetSatelliteData(i, satelliteData);
-		TInt signalstrength = satelliteData.SignalStrength();
-		}	
-		
-	// Drawing the firmament
-	gc.BitBltMasked(iFirmamentRect.iTl,
-					iFirmamentBmp,
-					iFirmamentBmp->SizeInPixels(),
-					iFirmamentBmpMask,
-					ETrue);	
-	
-	MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-	TRgb rgb;
-    AknsUtils::GetCachedColor( skin,
-                               rgb,
-                               KAknsIIDQsnTextColors,
-                               EAknsCIQsnTextColorsCG1 );
-    gc.SetPenStyle( CGraphicsContext::ESolidPen );                               
-    gc.SetPenColor( rgb );
-	// Draw the cardinal points
-	iCardinalNLayout.DrawText(gc, iNorth->Des(), ETrue, rgb );
-	iCardinalSLayout.DrawText(gc, iSouth->Des(), ETrue, rgb );
-	iCardinalWLayout.DrawText(gc, iWest->Des(), ETrue, rgb );
-	iCardinalELayout.DrawText(gc, iEast->Des(), ETrue, rgb );
-					
-	//Draw the moon
-    TReal moonAzmiuth, moonElevation;			
-	iEngine.GetMoonAzimuthElevation(moonAzmiuth, moonElevation);
-	TRect moonRect = CalculateCelestialBodyRectL(moonAzmiuth, moonElevation, iSunMoonRect.Size());
-	gc.BitBltMasked(moonRect.iTl,
-					iMoonBmp,
-					iMoonBmp->SizeInPixels(),
-					iMoonBmpMask,
-					ETrue);
-
-	// Draw the sun
-	TReal sunAzmiuth, sunElevation;
-	iEngine.GetSunAzimuthElevation(sunAzmiuth, sunElevation);
-	TRect sunRect = CalculateCelestialBodyRectL(sunAzmiuth, sunElevation, iSunMoonRect.Size());
-	
-	gc.BitBltMasked(sunRect.iTl,
-					iSunBmp,
-					iSunBmp->SizeInPixels(),
-					iSunBmpMask,
-					ETrue);
-	
-	//Draw all the available satellites
-	for(TInt i = 0;i<iEngine.NumberOfSatellites();++i)
-		{
-		TSatelliteData satData;
-
-		if(iEngine.GetSatelliteData(i, satData) != KErrNotFound)
-			{
-			TRect rect;
-			TInt satId = satData.SatelliteId();	
-			rect = CalculateCelestialBodyRectL(satData.Azimuth(), satData.Elevation(), iSatelliteRect.Size());			
-			if(satData.IsUsed())
-				{
-				gc.BitBltMasked(rect.iTl,
-								iFirmaActiveBmp,
-								iFirmaActiveBmp->SizeInPixels(),
-								iFirmaActiveBmpMask,
-								ETrue);
-				}
-			else
-				{
-				gc.BitBltMasked(rect.iTl,
-								iFirmaInActiveBmp,
-								iFirmaInActiveBmp->SizeInPixels(),
-								iFirmaInActiveBmpMask,
-								ETrue);
-				}
-			TAknLayoutText textLayout;
-			textLayout.LayoutText(rect, 
-    							  AknLayoutScalable_Apps::blid_sat_info_pane_t1().LayoutLine());
-			    							  
-			HBufC* satNumber = StringLoader::LoadL( R_BLID_SATELLITE_ID, satData.SatelliteId() );
-			HBufC* visualBuffer = HBufC::NewL( satNumber->Size() + KAknBidiExtraSpacePerLine );
-		    TPtr visualPtr( visualBuffer->Des() );
-		    visualPtr.Zero();
-		    TPtr ptr(satNumber->Des());
-		    AknTextUtils::LanguageSpecificNumberConversion( ptr );
-		    //This portion of code is commented now.We have to check it for language
-		    //Like Farsi,Urdu and then it will be removed or uncomented.
-		    /*AknBidiTextUtils::ConvertToVisualAndClip( satNumber->Des(),
-		                                              visualPtr,
-		                                              *textLayout.Font(),
-		                                              textLayout.TextRect().Size().iWidth,
-		                                              textLayout.TextRect().Size().iWidth );
-			textLayout.DrawText(gc, visualPtr);*/
-						
-			const CFont* fontUsed = iCardinalNLayout.Font();
-			const CAknLayoutFont* layoutFont = CAknLayoutFont::AsCAknLayoutFontOrNull( fontUsed );
-		    TInt textPaneHeight;
-		    TInt textPaneAscent;
-		    if ( layoutFont )
-		    	{
-		    	textPaneHeight = layoutFont->TextPaneHeight();     
-		    	textPaneAscent = layoutFont->TextPaneTopToBaseline();
-		    	}
-		    else 
-		    	{
-		    	textPaneHeight = fontUsed->HeightInPixels();         
-		    	textPaneAscent = fontUsed->AscentInPixels(); 
-		    	}
-		    //draw text    
-		    TInt extraVerticalSpace=(rect.Height()-textPaneHeight);
-		    TInt baseLineOffset=extraVerticalSpace/2+textPaneAscent;
-		    CGraphicsContext::TTextAlign context;    
-    		context = textLayout.Align();   
-    		gc.UseFont(fontUsed);
-    		//gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
-    
-		    // Set the rgb color to black
-		    rgb.SetBlue(0);
-		    rgb.SetGreen(0);
-		    rgb.SetRed(0);
-		    gc.SetPenColor(rgb);
-		        		
-		    gc.DrawText( satNumber->Des(), 
-		                 rect, 
-		                 baseLineOffset,
-		                 context );
-
-			delete satNumber;
-			delete visualBuffer;
-			}
-		}	
-	}
-
-// ---------------------------------------------------------
-// CSatelliteControl::CalculateCelestialBodyRectL
-// ---------------------------------------------------------
-//
-TRect CSatelliteControl::CalculateCelestialBodyRectL(const TReal aAzimuth, 
-													 const TReal aElevation,
-													 const TSize aIconSize) const
-	{
-	TPoint point;	
-    TReal cosElevation;
-    TReal sinAzimuth;
-    TReal cosAzimuth;
-    TInt pointX(0);
-    TInt pointY(0);
-    TPoint center = iFirmamentRect.Center();
-    
-    User::LeaveIfError(
-	        Math::Cos( cosElevation, KDegToRad * (aElevation) ));
-	        
-	User::LeaveIfError(
-	        Math::Sin( sinAzimuth, KDegToRad * (aAzimuth)));
-
-	User::LeaveIfError(
-	        Math::Cos( cosAzimuth, KDegToRad * (aAzimuth)));	        
-
-	User::LeaveIfError( 
-        		TRealToTInt((iFirmamentRect.Height()/2) * cosElevation * sinAzimuth, pointX));
-        
-    User::LeaveIfError( 
-      			TRealToTInt((iFirmamentRect.Height()/2) * cosElevation * cosAzimuth, pointY) );
-    
-    point = TPoint( (center.iX + pointX ) , (center.iY -  pointY ));        
-        
-    TPoint boxCenterPoint;    
-    TInt half;
-    
-    TRealToTInt(aIconSize.iWidth/2, half);
-    boxCenterPoint.iX = point.iX - half;
-    TRealToTInt(aIconSize.iHeight/2, half);
-    boxCenterPoint.iY = point.iY - half;
-    TRect returnRect(boxCenterPoint, aIconSize);
-    
-    return returnRect;
-	}
-
-// ---------------------------------------------------------
-// CSatelliteControl::TRealToTInt
-// Rounds the supplied real number into the nearest integer
-// ---------------------------------------------------------
-//
-TInt CSatelliteControl::TRealToTInt( const TReal aSrc, TInt& aResult ) const
-    {
-    TReal resultTReal(0);    
-    TInt error(0);
-
-    error = Math::Round( resultTReal, aSrc, 0 );
-    if ( error != KErrNone )
-    	{
-        aResult = 0;
-        return error;
-        }
-
-    TInt32 resultTInt(0);
-    error = Math::Int( resultTInt, resultTReal );  
-    if ( error != KErrNone )
-        {        
-        aResult = 0;
-        return error;
-        }    
-    aResult = resultTInt;
-    return error;
-    }
-
-// ---------------------------------------------------------
-// CSatelliteControl::DrawSignalStrengthViewL
-// ---------------------------------------------------------
-//
-void CSatelliteControl::DrawSignalStrengthViewL() const
-	{
-	CWindowGc& gc=SystemGc();
-	TInt numberofsatellites = iEngine.NumberOfSatellites();
-    
-	for(TInt i = 0 ; i < numberofsatellites; ++i)
-		{
-		TSatelliteData satData;
-
-		if(iEngine.GetSatelliteData(i, satData) != KErrNotFound)			
-			{
-			TInt satelliteId = satData.SatelliteId();
-			TInt signalStrength = satData.SignalStrength();
-			if( (satelliteId > KMaxSatellites) || (signalStrength == 0) )
-				{
-				continue;
-				}
-			TRect rect = iSignalBarRects[satelliteId-1];			
-			CFbsBitmap* bitmap;
-			CFbsBitmap* bitmapMask;			
-			TInt barHeight = rect.Height() * signalStrength / KBlidMaxSatelliteSignalStrength;
-			if(barHeight < rect.Height())
-				{
-				TInt tmp = rect.Height() - barHeight;
-				rect.iTl.iY += tmp;
-				}
-						
-			if(satData.IsUsed())
-				{
-				bitmap = iSatActiveBmp;
-				bitmapMask = iSatActiveBmpMask;
-				}
-			else
-				{
-				bitmap = iSatInActiveBmp;
-				bitmapMask = iSatInActiveBmpMask;
-				}
-			
-			AknIconUtils::SetSize(bitmap,
-								  rect.Size());
-            
-            AknIconUtils::SetSize(bitmap,
-								  rect.Size());
-			
-			
-			gc.BitBltMasked(rect.iTl,
-							bitmap,
-							bitmap->SizeInPixels(),
-							bitmapMask,
-							ETrue);
-							
-			rect = iSignalBarRects[satelliteId-1];
-			gc.BitBltMasked(rect.iTl,
-							iSatFrame,
-							iSatFrame->SizeInPixels(),
-							iSatFrameMask,
-							ETrue);
-			}	
-		}
-	MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-	TRgb rgb;
-    AknsUtils::GetCachedColor( skin,
-                               rgb,
-                               KAknsIIDQsnTextColors,
-                               EAknsCIQsnTextColorsCG1 );
-    gc.SetPenStyle( CGraphicsContext::ESolidPen );                               
-    gc.SetPenColor( rgb );
-			
-    for(TInt i = 1; i <= KMaxSatellites; ++i)
-    	{
-    	TSatelliteData satelliteData;
-    	iEngine.GetSatelliteData(i, satelliteData);
-    	    	
-    	HBufC* satNumber = StringLoader::LoadL( R_BLID_SATELLITE_ID, 
-    											i );
-												
-    	
-    	HBufC* visualBuffer = HBufC::NewL( satNumber->Size() + 
-                                 	   	   KAknBidiExtraSpacePerLine );
-	    TPtr visualPtr( visualBuffer->Des() );
-	    visualPtr.Zero();
-	    AknBidiTextUtils::ConvertToVisualAndClip( satNumber->Des(),
-	                                              visualPtr,
-	                                              *iSatelliteNumberLayouts[i-1].Font(),
-	                                              iSatelliteNumberLayouts[i-1].TextRect().Size().iWidth,
-	                                              iSatelliteNumberLayouts[i-1].TextRect().Size().iWidth );
-		gc.SetPenStyle(CGraphicsContext::ESolidPen);		
-	    iSatelliteNumberLayouts[i-1].DrawText(gc, visualPtr, ETrue, rgb );
-	    delete visualBuffer;
-    	delete satNumber;
-    	}
-	}
-
-// ---------------------------------------------------------
-// CSatelliteDialog::DrawCompassViewL
-// ---------------------------------------------------------
-//
-void CSatelliteControl::DrawCompassViewL() const
-    {    
-    CWindowGc& gc=SystemGc();
-    
-	// Drawing the firmament
-	gc.BitBltMasked( iFirmamentCompassRect.iTl,
-					 iFirmamentCompassBmp,
-					 iFirmamentCompassBmp->SizeInPixels(),
-					 iFirmamentCompassBmpMask,
-					 ETrue );	
-
-	// Drawing the Fix Ring
-	gc.BitBltMasked( iTypeRect.iTl,
-					 iFixBmp,
-					 iFixBmp->SizeInPixels(),
-					 iFixBmpMask,
-					 ETrue );
-	
-	MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-	TRgb rgb;
-    AknsUtils::GetCachedColor( skin,
-                               rgb,
-                               KAknsIIDQsnTextColors,
-                               EAknsCIQsnTextColorsCG1 );
-    gc.SetPenStyle( CGraphicsContext::ESolidPen );                               
-    gc.SetPenColor( rgb );
-	// Draw the cardinal points
-	iCardinalCompassNLayout.DrawText( gc, iCompassNorth->Des(), ETrue, rgb );
-	iCardinalCompassSLayout.DrawText( gc, iCompassSouth->Des(), ETrue, rgb );
-	iCardinalCompassWLayout.DrawText( gc, iCompassWest->Des(), ETrue, rgb );
-	iCardinalCompassELayout.DrawText( gc, iCompassEast->Des(), ETrue, rgb );
-    
-	// Drawing the Fix Type
-	if( iEngine.NumberOfSatellitesUsed() <= K2dFix )
-		{
-		iFixTypeLayout.DrawText( gc, i2DString->Des(), ETrue, rgb );
-		}
-	else
-		{
-		iFixTypeLayout.DrawText( gc, i3DString->Des(), ETrue, rgb );
-		}
-					
-    TPosition pos;
-    TCourse course;
-    iEngine.GetPosition( pos );
-    iEngine.GetCourse( course );   
-    TBuf<KSatInfoBufferSize> tempString;
-    TBuf<KSatInfoBufferSize> speedString;
-  	HBufC* formatter = NULL;     
-  	
-  	// Display Latitude
-  	if ( !Math::IsNaN( pos.Latitude() ) )
-  		{
-	    TRAP_IGNORE( formatter = 
-	                       CAknLocationEditor::DisplayableLocationL( pos,CAknLocationEditor::ELatitudeOnly ) );
-	    if( formatter )  
-	        {
-	        tempString.Copy( formatter->Des() );             
-	        delete formatter;
-	        }
-		iLatitudeWindowLayout.DrawText( gc, tempString, ETrue, rgb );
-  		}
-
-  	// Display Longitude
-  	if ( !Math::IsNaN( pos.Longitude() ) )
-  		{
-	    TRAP_IGNORE( formatter = 
-	                       CAknLocationEditor::DisplayableLocationL( pos,CAknLocationEditor::ELongitudeOnly ) );
-	    if( formatter )  
-	        {
-	        tempString.Copy( formatter->Des() );             
-	        delete formatter;
-	        }
-		iLongitudeWindowLayout.DrawText( gc, tempString, ETrue, rgb );
-  		}
-
-  	// Display Altitude
-    TReal altitude = pos.Altitude();
-		iAltitudeWindowHeadingLayout.DrawText( gc, iAltitudeWindowHeading->Des(), ETrue, rgb );
-    TInt result(0);
-  	if ( !Math::IsNaN( altitude ) && TRealToTInt( altitude , result ) == KErrNone )
-  		{
-        if ( iEngine.SysOfMeasurementL() == ELocMetric )
-            {
-            StringLoader::Format( tempString, *iAltitudeFormatM, 
-                                  0, result );
-            }
-        else
-        	{
-        	TInt imperialAlt( 0 );
-        	if ( TRealToTInt( ( altitude*KMetreToFoot ) , imperialAlt ) == KErrNone )
-	        	{
-	            StringLoader::Format( tempString, *iAltitudeFormatFt, 
-	                                  0, imperialAlt );
-	        	}
-        	}
-		iAltitudeWindowValueLayout.DrawText( gc, tempString, ETrue, rgb );
-  		}
-    
-  	// Display Speed
-    TReal speed = course.Speed();
-    iSpeedWindowHeadingLayout.DrawText( gc, iSpeedWindowHeading->Des(), ETrue, rgb );
-  	if ( !Math::IsNaN( speed ) )
-  		{
-        Math::Round( speed, speed, KDecimals3 );
-        TReal speedInKmph = speed * KSpeedConvertion;
-        
-        if ( iEngine.SysOfMeasurementL() == ELocMetric )
-            {
-            speedString.Format( KSpeedFormat, speedInKmph );
-            formatter = iSpeedFormatKmph;
-            }
-        else
-        	{
-            speedInKmph *= KKilometreToMiles;
-            speedString.Format( KSpeedFormat, speedInKmph );
-            formatter = iSpeedFormatMph;   
-        	}
-		StringLoader::Format( tempString, *formatter, 0, speedString );
-		iSpeedWindowValueLayout.DrawText( gc, tempString, ETrue, rgb );
-  		}
-    
- 	// Display Direction
-    TReal heading = course.Heading();
-    iDirectionWindowHeadingLayout.DrawText( gc, iDirectionWindowHeading->Des(), ETrue, rgb );
-    if ( !Math::IsNaN( heading ) )
-        {
-				StringLoader::Format( tempString, *iDirectionFormat, 0, heading );  
-				iDirectionWindowValueLayout.DrawText( gc, tempString, ETrue, rgb );
-        }   
-    
-    }
-    
-// ---------------------------------------------------------
-// CSatelliteControl::InputCapabilities
-// ---------------------------------------------------------
-//
-TCoeInputCapabilities CSatelliteControl::InputCapabilities() const
-	{
-	TCoeInputCapabilities inputCapabilities(TCoeInputCapabilities::ENone);	
-	return inputCapabilities;
-	}
-
-#ifdef RD_SCALABLE_UI_V2
-// ---------------------------------------------------------
-// CSatelliteDialog::HandlePointerEventL
-// ---------------------------------------------------------
-//    
-void CSatelliteControl::HandlePointerEventL(const TPointerEvent& aPointerEvent)
-    {
-    CCoeControl::HandlePointerEventL(aPointerEvent);
-    if ( AknLayoutUtils::PenEnabled() )
-        {
-    	// Display the context specific menu on double tapping on the fields.
-    	if(aPointerEvent.iType == TPointerEvent::EButton1Down && 
-    	   iEngine.IsSatelliteDataAvailable() )
-    		{
-#ifdef RD_TACTILE_FEEDBACK
-            MTouchFeedback* feedback = MTouchFeedback::Instance();
-            if (feedback)
-                {
-                feedback->InstantFeedback(ETouchFeedbackBasic);
-                }
-#endif //RD_TACTILE_FEEDBACK
-    		// Change view soft key pressed.Notify the control to change 
-    		// the view and draw.
-    		ChangeViewL();		
-    		DrawNow();
-    		}	
-        }
-    }
-#endif // RD_SCALABLE_UI_V2
-// End of file
-
-    
--- a/locationsystemui/locationsysui/locblidsatelliteinfo/stub/CSatelliteInfoUI.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implements interface for CSatelliteInfoUI Stub
-*
-*/
-
-
-// INCLUDE FILES
-#include <CSatelliteInfoUI.h>
-
-
-// ============================ MEMBER FUNCTIONS ==============================
-// ----------------------------------------------------------------------------
-// CSatelliteInfoUI::NewL
-// Two-phased constructor.
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CSatelliteInfoUI* CSatelliteInfoUI::NewL()
-    {
-    CSatelliteInfoUI* self = new( ELeave ) CSatelliteInfoUI;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop(); // self
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CSatelliteInfoUI::ConstructL
-// ---------------------------------------------------------
-//
-void CSatelliteInfoUI::ConstructL()
-    {    
-    
-    }
-
-// ----------------------------------------------------------------------------
-// CSatelliteInfoUI::CSatelliteInfoUI
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// ----------------------------------------------------------------------------
-//
-CSatelliteInfoUI::CSatelliteInfoUI()
-    {
-    }
-
-// ---------------------------------------------------------
-// CSatelliteInfoUI::~CSatelliteInfoUI
-// ---------------------------------------------------------
-//
-EXPORT_C CSatelliteInfoUI::~CSatelliteInfoUI()
-    {
-    
-    }
-
-// ---------------------------------------------------------
-// CSatelliteInfoUI::ExecuteLD
-// ---------------------------------------------------------
-//                       
-EXPORT_C TInt CSatelliteInfoUI::ExecuteLD( const TDesC& /*aNameOfRule*/ )
-    {
-    User::Leave(KErrNotSupported);
-    return 0;
-    }
-
-// ----------------------------------------------------------------------------
-// CSatelliteInfoUI::HandleForegroundEventL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CSatelliteInfoUI::HandleForegroundEventL(TBool /*aForeground*/)
-    {
-    User::Leave(KErrNotSupported);
-    }
-
-// ----------------------------------------------------------------------------
-// CSatelliteInfoUI::SetLaunchView
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CSatelliteInfoUI::SetLaunchView(TSatelliteView /*aLaunchView*/)
-	{
-	
-	}
-// End of File
--- a/locationsystemui/locationsysui/locbtnotifier/data/locbtgpspsypscontextstate.rul	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +0,0 @@
-<!-- Defines a rule which causes appropriate note to be displayed on change of BtGpsPsy PS keys -->
-<script xmlns="http://www.nokia.com/ns/cep/script/1.0/"
-        xmlns:cep="http://www.nokia.com/ns/cep/1.0/">
-    <if>
-        <equals>
-            <contextRef source='Location' type='BtGpsPsy.Status'/>
-            <string>EBatteryStateNA</string>
-        </equals>
-        <actions>
-            <!-- No information Note shown when : 'Battery State NA' -->
-            <showNote BatteryState='EBatteryStateNA' />
-        </actions>
-    </if>
-    <elseIf>
-        <equals>
-            <contextRef source='Location' type='BtGpsPsy.Status'/>
-            <string>EBatteryStateNormal</string>
-        </equals>
-        <actions>
-            <!-- No information Note shown when : 'Battery State Normal' -->
-            <showNote BatteryState='EBatteryStateNormal' />
-        </actions>
-    </elseIf>
-    <elseIf>
-        <equals>
-            <contextRef source='Location' type='BtGpsPsy.Status'/>
-            <string>EBatteryStateLow</string>
-        </equals>
-        <actions>
-            <!-- show information note : 'Battery Low' -->
-            <showNote BatteryState='EBatteryStateLow' />
-        </actions>
-    </elseIf>
-    <elseIf>
-        <equals>
-            <contextRef source='Location' type='BtGpsPsy.Status'/>
-            <string>EBatteryStateFull</string>
-        </equals>
-        <actions>
-            <!-- show information note : 'Battery Full' -->
-            <showNote BatteryState='EBatteryStateFull' />
-        </actions>
-    </elseIf>
-    <elseIf>
-        <equals>
-            <contextRef source='Location' type='BtGpsPsy.Status'/>
-            <string>EExtAntennaNA</string>
-        </equals>
-        <actions>
-            <!-- No information Note shown when : 'Antenna State NA' -->
-            <showNote AntennaState='EExtAntennaNA' />
-        </actions>
-    </elseIf>
-    <elseIf>
-        <equals>
-            <contextRef source='Location' type='BtGpsPsy.Status'/>
-            <string>EExtAntennaOff</string>
-        </equals>
-        <actions>
-            <!-- show information note : 'Antenna Disconnected' -->
-            <showNote AntennaState='EExtAntennaOff' />
-        </actions>
-    </elseIf>
-    <elseIf>
-        <equals>
-            <contextRef source='Location' type='BtGpsPsy.Status'/>
-            <string>EExtAntennaOn</string>
-        </equals>
-        <actions>
-            <!-- show information note : 'Antenna Connected' -->
-            <showNote AntennaState='EExtAntennaOn' />
-        </actions>
-    </elseIf>
-    <elseIf>
-        <equals>
-            <contextRef source='Location' type='BtGpsPsy.Status'/>
-            <string>EExtPowerNA</string>
-        </equals>
-        <actions>
-            <!-- No information Note shown when : 'Power State NA' -->
-            <showNote PowerState='EExtPowerNA' />
-        </actions>
-    </elseIf>
-    <elseIf>
-        <equals>
-            <contextRef source='Location' type='BtGpsPsy.Status'/>
-            <string>EExtPowerOff</string>
-        </equals>
-        <actions>
-            <!-- show information note : 'Charger Disconnected' -->
-            <showNote PowerState='EExtPowerOff' />
-        </actions>
-    </elseIf>
-    <elseIf>
-        <equals>
-            <contextRef source='Location' type='BtGpsPsy.Status'/>
-            <string>EExtPowerOn</string>
-        </equals>
-        <actions>
-            <!-- show information note : 'Charger Connected' -->
-            <showNote PowerState='EExtPowerOn' />
-        </actions>
-    </elseIf>
-</script>
--- a/locationsystemui/locationsysui/locbtnotifier/data/locbtgpspsypscontextstate.xml	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-<ContextSourceSettings>
-
-		<!--BTGpsPsy PS Keys   -->
-		<!--PubSub Uid of BT GPS PSY Events - KPsUidBluetoothGpsPsy = { 0x101FE999 }  -->
-		<!--BTGpsPsy PS Key - KBluetoothGpsPsyBatteryState = 0x03  -->
-    <PSContextSourcePlugIn mapper="int" category="0x101FE999" key="0x03" 
-    	capability="ReadDeviceData" 
-    	source="Location" type="BtGpsPsy.Status" passthrough="false">
-        <IntMapping psvalue="-1" contextvalue="EBatteryStateNA"/>
-		    <IntMapping psvalue="0" contextvalue="EBatteryStateNormal"/>
-		    <IntMapping psvalue="1" contextvalue="EBatteryStateLow"/>
-		    <IntMapping psvalue="2" contextvalue="EBatteryStateFull"/>
-    </PSContextSourcePlugIn>  
-    
-    <!--BTGpsPsy PS Key - KBluetoothGpsPsyExtAntennaState = 0x04  -->
-    <PSContextSourcePlugIn mapper="int" category="0x101FE999" key="0x04" 
-    	capability="ReadDeviceData" 
-    	source="Location" type="BtGpsPsy.Status" passthrough="false">
-        <IntMapping psvalue="-1" contextvalue="EExtAntennaNA"/>
-		    <IntMapping psvalue="0" contextvalue="EExtAntennaOff"/>
-		    <IntMapping psvalue="1" contextvalue="EExtAntennaOn"/>
-    </PSContextSourcePlugIn>  
-    
-    <!--BTGpsPsy PS Key - KBluetoothGpsPsyExtPowerState = 0x05  -->
-    <PSContextSourcePlugIn mapper="int" category="0x101FE999" key="0x05" 
-    	capability="ReadDeviceData" 
-    	source="Location" type="BtGpsPsy.Status" passthrough="false">   	
-        <IntMapping psvalue="-1" contextvalue="EExtPowerNA"/>
-		    <IntMapping psvalue="0" contextvalue="EExtPowerOff"/>
-		    <IntMapping psvalue="1" contextvalue="EExtPowerOn"/>
-    </PSContextSourcePlugIn>    
-        
-</ContextSourceSettings>
-
--- a/locationsystemui/locationsysui/locbtnotifier/data/locbtnotifier.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Resource definitions for project locbtnotifier
-*
-*/
-
-
-
-
-#include <ecom/registryinfo.rh>
-#include <cfactionpluginconst.hrh>
-
-#include "locbtnotifierpluginconstants.hrh"
-
-RESOURCE REGISTRY_INFO theInfo
-	{
-	// UID for the DLL
-	dll_uid = KLocBtNotifierPlugInDllUid;
-	// Declare array of interface info
-	interfaces = 
-		{
-		INTERFACE_INFO
-			{
-			// UID of interface that is implemented
-			interface_uid = KActionPluginInterfaceUid;
-			implementations = 
-				{
-				IMPLEMENTATION_INFO
-					{
-					implementation_uid = KLocBtNotifierPlugInImplementationUid;
-					version_no         = 1;
-					display_name       = "LocBtNotifier";
-					default_data       = "";
-					opaque_data        = "";
-					}
-				};
-			}
-		};
-	}
--- a/locationsystemui/locationsysui/locbtnotifier/data/locbtnotifierresources.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Resource definitions for project locbtnotifier
-*
-*/
-
-
-//  RESOURCE IDENTIFIER
-NAME BTPS
-
-//  INCLUDES
-#include <uikon.rh>
-#include <badef.rh>
-#include <locbtnotifier.loc>
-
-//  RESOURCE SIGNATURE
-
-RESOURCE RSS_SIGNATURE { }
-
-//  RESOURCE DEFINITIONS 
-
-// Text to be displayed when the Ext Antenna is connected to BT GPS device
-RESOURCE LBUF R_EXT_ANTENNA_CONNECTED    
-    { 
-	  txt = qtn_loc_psy_ext_antenna_connected; 
-	  }
-
-// Text to be displayed when the Ext Antenna is disconnected from BT GPS device	
-RESOURCE LBUF R_EXT_ANTENNA_DISCONNECTED 
-    { 
-    txt = qtn_loc_psy_ext_antenna_disconnected; 
-    }
-
-// Text to be displayed when charger is connected to BT GPS device    
-RESOURCE LBUF R_EXT_POWER_CONNECTED      
-    { 
-    txt = qtn_loc_psy_ext_power_connected; 
-    }
-
-// Text to be displayed when charger is disconnected from BT GPS device    
-RESOURCE LBUF R_EXT_POWER_DISCONNECTED   
-    { 
-    txt = qtn_loc_psy_ext_power_disconnected; 
-    }
-    
-// Text to be displayed when BT GPS Device battery is low
-RESOURCE LBUF R_BATTERY_LOW              
-    { 
-    txt = qtn_loc_psy_battery_low; 
-    }
-    
-// Text to be displayed when BT GPS Device battery is full    
-RESOURCE LBUF R_BATTERY_FULL             
-    { 
-    txt = qtn_loc_psy_battery_full; 
-    }
-
-// End of File
--- a/locationsystemui/locationsysui/locbtnotifier/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Build information file for project locbtnotifier
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-
-DEFAULT
-
-PRJ_EXPORTS
-
-../data/locbtgpspsypscontextstate.xml  Z:/private/10282BC4/Settings/10282C74/locbtgpspsypscontextstate.xml
-../data/locbtgpspsypscontextstate.rul  Z:/private/10282BC4/Rules/locbtgpspsypscontextstate.rul
-
-
-PRJ_MMPFILES
-
-locbtnotifier.mmp
--- a/locationsystemui/locationsysui/locbtnotifier/group/locbtnotifier.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Project definition file for project locbtnotifier
-*
-*/
-
-
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-#include "../inc/locbtnotifierpluginconstants.hrh"
-#include "../inc/locbtnotifierdebugconfig.hrh"
-
-TARGET                  locbtnotifier.dll
-TARGETTYPE              PLUGIN
-UID                     0x10009D8D KLocBtNotifierPlugInDllUid
-
-CAPABILITY              CAP_ECOM_PLUGIN
-VENDORID                VID_DEFAULT
-
-SOURCEPATH              ../src
-SOURCE                  locbtnotifier.cpp
-SOURCE                  locbtnotifierplugin.cpp
-SOURCE                  locbtnotifierconstantsmanager.cpp
-
-#ifdef LOG_ENABLED_LOCBTNOTIFIER
-SOURCE                  locbtnotifierdebug.cpp
-#endif
-
-
-
-USERINCLUDE             .
-USERINCLUDE             ../inc
-
-
-MW_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH      ../data
-START RESOURCE	locbtnotifier.rss
-TARGET 			locbtnotifier.rsc
-TARGETPATH 		ECOM_RESOURCE_DIR
-END
-
-SOURCEPATH      ../data
-START RESOURCE	locbtnotifierresources.rss
-HEADER
-TARGETPATH      APP_RESOURCE_DIR
-LANGUAGE_IDS
-END
-
-LIBRARY         euser.lib
-LIBRARY         bafl.lib
-LIBRARY		    cfservices.lib
-LIBRARY         cfactivatorengine.lib
-LIBRARY		    centralrepository.lib
-LIBRARY         eiksrv.lib
-LIBRARY         aknnotify.lib
-LIBRARY         efsrv.lib
-
-#ifdef LOG_ENABLED_LOCBTNOTIFIER
-LIBRARY         flogger.lib
-#endif
-
-
--- a/locationsystemui/locationsysui/locbtnotifier/inc/locbtnotifierconstantsmanager.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Declaration of Manager class for the BtGpsPsy string constants
-*
-*/
-
-
-
-#ifndef C_LOCBTNOTIFIERCONSTANTSMANAGER_H
-#define C_LOCBTNOTIFIERCONSTANTSMANAGER_H
-
-
-#include <e32base.h>
-#include <f32file.h>
-
-
-/**
-*  Forward Declarations
-*/
-class RResourceFile;
-
-
-/**
- * Manager class for the BtGpsPsy string constants
- * This class reads all the pre-defined constants
- * from resource file on construction
- * 
- *  
- *  @since S60 5.1
- */
-NONSHARABLE_CLASS ( CLocBtNotifierConstantsManager ): public CBase
-    {
-
-    public:
-        
-        /** 
-        * Constructor
-        */
-        static CLocBtNotifierConstantsManager* NewL();
-        
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CLocBtNotifierConstantsManager();
-
-    private:
-    
-        /**
-        * Second Phase of construction
-        */
-        void ConstructL();
-        
-        /**
-        * Private Constructor
-        */
-        CLocBtNotifierConstantsManager();
-        
-        /**
-        * Get localisable resource name
-        * This function leaves if no localisable resource is found
-        * @param   aFs File Session handle
-        * @return  Resource filename
-        */
-        TFileName* GetLocalisableResourceNameL( RFs& aFs );
-        
-        /**
-        * Get text from resource file
-        * @param aResourceFile  A handle to the localisation resource file
-        * @param aId            Resource id as mentioned in rss file
-        * @return               Text associated with the resource id mentioned
-        */
-        HBufC* GetTextL( RResourceFile& aResourceFile, TInt aId );
-        
-    public:
-    
-        /**
-        * Returns the Battery Low Dialog text
-        * @return BatteryLowDialogText
-        */
-        TPtr GetBatteryLowDialogText();
-        
-        /**
-        * Returns the Battery Full Dialog text
-        * @return BatteryFullDialogText
-        */
-        TPtr GetBatteryFullDialogText();
-        
-        /**
-        * Returns the Ext. Antenna Connected Dialog text
-        * @return ExtAntennaConnectedDialogText
-        */
-        TPtr GetExtAntennaConnectedDialogText();
-        
-        /**
-        * Returns the Ext. Antenna Disconnected Dialog text
-        * @return ExtAntennaDisconnectedDialogText
-        */
-        TPtr GetExtAntennaDisconnectedDialogText();
-        
-        /**
-        * Returns the Ext. Power Connected Dialog text
-        * @return ExtPowerConnectedDialogText
-        */
-        TPtr GetExtPowerConnectedDialogText();
-        
-        /**
-        * Returns the Ext. Power Disconnected Dialog text
-        * @return ExtPowerDisconnectedDialogText
-        */
-        TPtr GetExtPowerDisconnectedDialogText();
-        
-        
-        
-    private:
-    
-        /**
-        * Text for battery low dialog
-        */
-        HBufC*   iBatteryLowDialogText;
-		
-		/**
-		* Text for battery full dialog
-		*/
-		HBufC*   iBatteryFullDialogText;
-		
-		/**
-		* Text for ext. antenna connected dialog
-		*/
-		HBufC*   iExtAntennaConnectedDialogText;
-		
-		/**
-		* Text for ext. antenna disconnected dialog 
-		*/    
-		HBufC*   iExtAntennaDisconnectedDialogText;
-		
-		/**
-		* Text for ext. power connected dialog
-		*/
-		HBufC*   iExtPowerConnectedDialogText;
-		
-		/**
-		* Text for ext. power disconnected dialog
-		*/
-		HBufC*   iExtPowerDisconnectedDialogText;
-
-
-
-    };
-
-
-
-#endif // C_LOCBTNOTIFIERCONSTANTSMANAGER_H
--- a/locationsystemui/locationsysui/locbtnotifier/inc/locbtnotifierdebug.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Defines debug macros for locbtnotifier
-*
-*/
-
-
-#ifndef LOCBTNOTIFIERDEBUG_H
-#define LOCBTNOTIFIERDEBUG_H
-
-// INCLUDES
-#include <e32std.h>
-#include "locbtnotifierdebugconfig.hrh"
-
-
-
-// Macros
-
-#define DEBUGLOCBTNOTIFIER(TEXT) 			 { \
-									  		 _LIT( KText, #TEXT ); \
-									   		 DebugLocBtNotifier(KText); \
-									 		 }
-									 
-#define LOGLOCBTNOTIFIER(TEXT, ARG1) 		 { \
-									         _LIT( KText, #TEXT ); \
-									         DebugLocBtNotifier( KText, (ARG1) ); \
-									         }
-
-
-/**
-* Logs messages into the c:\logs\locbtnotifier\locbtnotifier.txt file
-* provided the folder c:\logs\locbtnotifier\ exists.
-*/
-void DebugLocBtNotifier( TRefByValue<const TDesC> aText, ... );
-
-
-/**
-* Logging is enabled only when LOG_ENABLED_LOCBTNOTIFIER is defined
-*/
-#ifdef LOG_ENABLED_LOCBTNOTIFIER
-
-#define LOCBTNOTIFIERDEBUG(TEXT)                     DEBUGLOCBTNOTIFIER(TEXT)
-#define LOCBTNOTIFIERDEBUG1(TEXT, ARG1)              LOGLOCBTNOTIFIER(TEXT, ARG1)
-
-#else
-
-#define LOCBTNOTIFIERDEBUG(TEXT) 
-#define LOCBTNOTIFIERDEBUG1(TEXT, ARG1) 
-
-#endif
-
-
-#endif      // LOCBTNOTIFIERDEBUG_H
-
-
-
-// End of file
\ No newline at end of file
--- a/locationsystemui/locationsysui/locbtnotifier/inc/locbtnotifierdebugconfig.hrh	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Build time Debug configuration file for project locbtnotifier
-*
-*/
-
-
-
-
-#ifndef LOCBTNOTIFIERDEBUGCONFIG_HRH
-#define LOCBTNOTIFIERDEBUGCONFIG_HRH
-
-// Flag if defined enables logging of locbtnotifier
-#define LOG_ENABLED_LOCBTNOTIFIER
-
-#endif // LOCBTNOTIFIERDEBUGCONFIG_HRH
--- a/locationsystemui/locationsysui/locbtnotifier/inc/locbtnotifierplugin.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,298 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CLocBtNotifierPlugIn class declaration
-*
-*/
-
-
-
-#ifndef C_LOCBTNOTIFIERPLUGIN_H
-#define C_LOCBTNOTIFIERPLUGIN_H
-
-
-#include <e32base.h> 
-#include <cfactionplugin.h>
-
-
-#include "locbtnotifierconstantsmanager.h"
-
-/**
-* Forward Declarations
-*/
-class CAknGlobalNote;
-class CLocBtNotifierPlugIn;
-
-
-
-/**
- *  LocBtNotifier action plugin.
- *  Implementation of the Context Framework Action Plugin.
- *  Specifies the action for a change in the BtGpsPsy PS keys.
- *  ShowMsg Action shows appropriate note on change of BtGpsPsy PS Keys
- *
- *  @lib 
- *  @since S60 5.1
- */
-NONSHARABLE_CLASS ( CLocBtNotifierPlugIn ) : public CCFActionPlugIn			
-    {
-
-    public:
-        
-        /**
-        * Enumeration used to determine Battery Key State
-        */
-        enum TBtGpsPsyBatteryKeyState
-	        {
-	        /**
-	        * Indicates the battery state when the plugin is loaded
-	        */
-	        EBatteryStateUnInitialized 		= -3,
-	        /**
-	        * Indicates the battery state when plugin is initialized after 
-	        * the first call from the Context Framework Source plugin
-	        */
-	        EBatteryStateInitialized,
-	        /**
-	        * Indicates that the BT GPS device battery state is not applicable
-	        */
-	        EBatteryStateNotApplicable,
-	        /**
-	        * Indicates that BT GPS Device battery state is normal
-	        */
-	        EBatteryStateNormal,
-	        /**
-	        * Indicates that BT GPS Device battery state is low
-	        */ 
-	        EBatteryStateLow,
-	        /**
-	        * Indicates that BT GPS Device battery state is full
-	        */
-	        EBatteryStateFull 
-	        };
-        
-        /**
-        * Enumeration used to determine Antenna Key State
-        */
-        enum TBtGpsPsyAntennaKeyState
-            {
-            /**
-	        * Indicates the ext Antenna state when the plugin is loaded
-	        */
-        	EAntennaStateUnInitialized		= -3,
-        	/**
-	        * Indicates Antenna state when the plugin is initialized 
-	        * after the first call from the Context Framework Source plugin
-	        */
-        	EAntennaStateInitialized,
-        	/**
-        	* Indicates that the Ext Antenna State is not applicable
-        	*/
-        	EAntennaStateNotApplicable,
-        	/**
-        	* Indicates that the Ext Antenna is disconnected from the
-        	* BT GPS Device
-        	*/
-        	EExtAntennaOff,
-        	/**
-        	* Indicates that the Ext Antenna is connected to the
-        	* BT GPS Device
-        	*/
-        	EExtAntennaOn 
-        	};
-        
-        /**
-        * Enumeration used to determine Power Key State
-        */
-        enum TBtGpsPsyPowerKeyState
-        	{
-        	/**
-	        * Indicates the ext Power state when the plugin is loaded
-	        */
-        	EPowerStateUnInitialized		= -3,
-        	/**
-	        * Indicates Power state when the plugin is initialized 
-	        * after the first call from the Context Framework Source plugin
-	        */
-        	EPowerStateInitialized,
-        	/**
-        	* Indicates that the Ext Power State is not applicable
-        	*/
-        	EPowerStateNotApplicable,
-        	/**
-        	* Indicates that the Charger is disconnected from the
-        	* BT GPS Device
-        	*/
-        	EExtPowerOff,
-        	/**
-        	* Indicates that the Charger is connected to the
-        	* BT GPS Device
-        	*/
-        	EExtPowerOn
-        	};
-        
-        /** 
-        * Constructor
-        */
-        static CLocBtNotifierPlugIn* NewL();
-        
-        /**
-        * Destructor.
-        */
-        ~CLocBtNotifierPlugIn();
-
-    private:
-    
-        /** 
-        * from base class CCFActionPlugIn
-        */
-        void InitializeL();
-        
-        /** 
-        * from base class CCFActionPlugIn
-        */
-        TExecutionTime ExecuteL( CCFActionIndication* aActionIndication );
-        
-        /** 
-        * from base class CCFActionPlugIn
-        */
-        void GetActionsL( CDesCArray& aActionList ) const;
-        
-        /** 
-        * from base class CCFActionPlugIn
-        */
-        const TSecurityPolicy& SecurityPolicy() const;
-        
-   
-    private:
-        
-        /**
-        * Private Constructor
-        */
-        CLocBtNotifierPlugIn();
-        
-          		
-    	/**
-    	* Checks if there is change in Battery key state with respect to the  
-    	* previous notification and proceeds to show appropriate note
-    	* @param aValue - value of the action parameter
-    	*/
-    	void HandleBatteryKeyStateL( TDesC& aValue );
-    		
-    	/**
-    	* Checks the Cen Rep key settings before displaying the note for
-    	* any Battery key change
-    	* @param aState - enum value based on the PS key that has changed
-    	*/
-    	void ShowBatteryNoteL( TBtGpsPsyBatteryKeyState aState );
-    		
-    	/**
-    	* Verifies if the battery note can be shown 
-    	* @param aState - enum value based on the PS key that has changed
-    	* @return ETrue if note can be displayed  or
-    	*         EFalse if note should not be displayed
-    	*/
-    	TBool IsBatteryNoteShownL( TBtGpsPsyBatteryKeyState aState );
-    		
-    	/**
-    	* Checks if there is change in Antenna key state with respect to the  
-    	* previous notification and proceeds to show appropriate note
-    	* @param aValue - value of the action parameter
-    	*/
-    	void HandleAntennaKeyStateL( TDesC& aValue );
-    		
-    	/**
-    	* Checks the Cen Rep key settings before displaying the note for
-    	* any Antenna key change
-    	* @param aState - enum value based on the PS key that has changed
-    	*/
-    	void ShowAntennaNoteL( TBtGpsPsyAntennaKeyState aState );
-    		
-    	/**
-    	* Verifies if the Antenna note can be shown 
-    	* @param aState - enum value based on the PS key that has changed
-    	* @return ETrue if note can be displayed  or
-    	*         EFalse if note should not be displayed
-    	*/
-    	TBool IsAntennaNoteShownL( TBtGpsPsyAntennaKeyState aState );
-    		
-    	/**
-    	* Checks if there is change in Power key state with respect to the  
-    	* previous notification and proceeds to show appropriate note
-    	* @param aValue - value of the action parameter
-    	*/
-    	void HandlePowerKeyStateL( TDesC& aValue );
-    		
-    	/**
-    	* Checks the Cen Rep key settings before displaying the note for
-    	* any Power key change
-    	* @param aState - enum value based on the PS key that has changed
-    	*/
-    	void ShowPowerNoteL( TBtGpsPsyPowerKeyState aState );
-    		
-    	/**
-    	* Verifies if the Power note can be shown 
-    	* @param aState - enum value based on the PS key that has changed
-    	* @return ETrue if note can be displayed  or
-    	*         EFalse if note should not be displayed
-    	*/
-    	TBool IsPowerNoteShownL( TBtGpsPsyPowerKeyState aState );
-    		
-    	/**
-    	* Verifies if the dialog can be shown depending on the CenRep key value
-    	* @param in - aKey - CenRep Key whose value needs to be checked
-    	* @param out - aShown - Contains value of the key either 0 or 1
-    	*/
-    	void IsDialogShownL( TUint32 aKey, TBool& aShown );
-    		
-    	    		
-    		
-    private: 
-    
-        /**
-        * Own : Avkon Global Note
-        */
-        CAknGlobalNote* iGlobalNote;
-        
-        /**
-        * Own : CLocBtNotifierConstantsManager handler
-        */
-        CLocBtNotifierConstantsManager* iConstantsManager;
-        
-        /**
-        * Stores the previous BluetoothGpsPsyBatteryState 
-        */
-        TBtGpsPsyBatteryKeyState iBatteryStatus;
-        
-        /**
-        * Stores the previous BluetoothGpsPsyExtAntennaState 
-        */
-        TBtGpsPsyAntennaKeyState iAntennaStatus;
-        
-        /**
-        * Stores the previous BluetoothGpsPsyExtPowerState 
-        */
-        TBtGpsPsyPowerKeyState iPowerStatus;
-        
-        /**
-        * Pointer to the text to be displayed in the information note
-        */
-        TPtr16 iInfoText;
-        
-            
-    };
-
-
-
-
-#endif // C_LOCBTNOTIFIERPLUGIN_H
--- a/locationsystemui/locationsysui/locbtnotifier/inc/locbtnotifierpluginconstants.hrh	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  UID constants header for project locbtnotifier
-*
-*/
-
-
-
-
-#ifndef LOCBTNOTIFIERPLUGINCONSTANTS_HRH
-#define LOCBTNOTIFIERPLUGINCONSTANTS_HRH
-
-
-#define KLocBtNotifierPlugInDllUid 0x2001FCBB
-#define KLocBtNotifierPlugInImplementationUid 0x2001FCBB
-
-#endif // LOCBTNOTIFIERPLUGINCONSTANTS_HRH
--- a/locationsystemui/locationsysui/locbtnotifier/inc/locbtnotifierprivatecrkeys.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  BtGpsPsy Central Repository keys for locbtnotifier dialog settings
-*
-*/
-
-
-#ifndef LOCBTNOTIFIERCRKEYS_H
-#define LOCBTNOTIFIERCRKEYS_H
-
-/**
-* BT GPS PSY Setting Storage CenRep UID
-*/
-const TUid KCRUidLocBtGpsPsy = { 0x2001FCBB };
-
-
-/**
-* "External antenna connected" dialog setting key
-*
-* 0 = Off
-* 1 = On
-*/
-const TUint32 KBluetoothGpsPsyExtAntennaConnectedDialog = 0x10000001;
-	
-/**
-* "External antenna disconnected" dialog setting key
-*
-* 0 = Off
-* 1 = On
-*/
-const TUint32 KBluetoothGpsPsyExtAntennaDisconnectedDialog = 0x10000002;
-
-/**
-* "Charger connected" dialog setting key
-*
-* 0 = Off
-* 1 = On
-*/
-const TUint32 KBluetoothGpsPsyExtPowerConnectedDialog = 0x10000003;
-	
-/**
-* "Charger disconnected" dialog setting key
-*
-* 0 = Off
-* 1 = On
-*/
-const TUint32 KBluetoothGpsPsyExtPowerDisconnectedDialog = 0x10000004;
-	
-/**
-* "Battery low" dialog setting key
-*
-* 0 = Off
-* 1 = On
-*/
-const TUint32 KBluetoothGpsPsyBatteryLowDialog = 0x10000005;
-
-/**
-* "Battery full" dialog setting key
-*
-* 0 = Off
-* 1 = On
-*/
-const TUint32 KBluetoothGpsPsyBatteryFullDialog = 0x10000006;
-	
-
-#endif      // LOCBTNOTIFIERCRKEYS_H
-
-// End of file
\ No newline at end of file
--- a/locationsystemui/locationsysui/locbtnotifier/src/locbtnotifier.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  BtGpsPsy notifier action plugin entry point
-*
-*/
-
-
-// System includes
-#include <e32std.h>
-#include <ecom/implementationproxy.h>
-
-
-// User includes
-#include "locbtnotifierplugin.h"
-#include "locbtnotifierpluginconstants.hrh"
-
-
-
-// ---------------------------------------------------------------------------
-// Provides a key value pair table, this is used to identify
-// the correct construction function for the requested interface.
-// ---------------------------------------------------------------------------
-//
-const TImplementationProxy ImplementationTable[] =
-	{
-	IMPLEMENTATION_PROXY_ENTRY(
-	    KLocBtNotifierPlugInImplementationUid,
-	    CLocBtNotifierPlugIn::NewL )
-	};
-
-// ---------------------------------------------------------------------------
-// Function used to return an instance of the proxy table.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
-	{
-	aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
-	return ImplementationTable;
-	}
\ No newline at end of file
--- a/locationsystemui/locationsysui/locbtnotifier/src/locbtnotifierconstantsmanager.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,230 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of Manager class for the BtGpsPsy string constants
-*
-*/
-
-
-
-// System Includes
-#include <e32std.h>
-#include <bautils.h>
-#include <barsc.h>
-#include <centralrepository.h>
-
-
-// User Includes
-#include "locbtnotifierconstantsmanager.h"
-#include "locbtnotifierprivatecrkeys.h"
-
-// Resource Definitions
-#include <locbtnotifierresources.rsg>
-
-// CONSTANTS
-
-// Resource File Name
-_LIT(KResourceFileName, "\\resource\\apps\\locbtnotifierresources.*");
-			
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CLocBtNotifierConstantsManager::NewL
-// Two Phased constructor 
-// ---------------------------------------------------------------------------
-//
-CLocBtNotifierConstantsManager* CLocBtNotifierConstantsManager::NewL()
-    {
-    CLocBtNotifierConstantsManager* self = new( ELeave ) CLocBtNotifierConstantsManager;
-    CleanupStack::PushL( self );
-    self->ConstructL();    
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CLocBtNotifierConstantsManager::~CLocBtNotifierConstantsManager
-// Destructor
-// -----------------------------------------------------------------------------
-CLocBtNotifierConstantsManager::~CLocBtNotifierConstantsManager()
-    {
-    delete iBatteryLowDialogText;
-	delete iBatteryFullDialogText;
-    delete iExtAntennaConnectedDialogText;
-    delete iExtAntennaDisconnectedDialogText;
-    delete iExtPowerConnectedDialogText;
-    delete iExtPowerDisconnectedDialogText;
-    }
-    
-// -----------------------------------------------------------------------------
-// CLocBtNotifierConstantsManager::ConstructL
-// -----------------------------------------------------------------------------
-void CLocBtNotifierConstantsManager::ConstructL()
-    {
-    //File session for resource file
-    RFs fileSession;
-
-    //Open file session
-    User::LeaveIfError( fileSession.Connect() );
-    CleanupClosePushL( fileSession );
-
-    TFileName* localisedRscName = GetLocalisableResourceNameL( fileSession );
-    CleanupStack::PushL( localisedRscName );
-
-	//Construct RResourceFile
-	RResourceFile localisationResourceFile;
-    localisationResourceFile.OpenL( fileSession, *localisedRscName );
-    CleanupClosePushL( localisationResourceFile );
-
-    //Check the signature
-    localisationResourceFile.ConfirmSignatureL( 0 );
-    
-    //Read constants from resource file
-    iBatteryLowDialogText = GetTextL( localisationResourceFile, R_BATTERY_LOW );
-		
-    iBatteryFullDialogText = GetTextL( localisationResourceFile, R_BATTERY_FULL );
-		
-    iExtAntennaConnectedDialogText = GetTextL( localisationResourceFile, 
-                                              R_EXT_ANTENNA_CONNECTED );
-		
-    iExtAntennaDisconnectedDialogText = GetTextL( localisationResourceFile, 
-                                                 R_EXT_ANTENNA_DISCONNECTED );
-		
-    iExtPowerConnectedDialogText = GetTextL( localisationResourceFile, 
-                                            R_EXT_POWER_CONNECTED );
-		
-    iExtPowerDisconnectedDialogText = GetTextL( localisationResourceFile,
-                                               R_EXT_POWER_DISCONNECTED );
-        
-        
-    CleanupStack::PopAndDestroy( 3,&fileSession );
-    }
-    
-// ---------------------------------------------------------------------------
-// CLocBtNotifierConstantsManager::CLocBtNotifierConstantsManager
-// Private Constructor
-// ---------------------------------------------------------------------------
-//
- CLocBtNotifierConstantsManager::CLocBtNotifierConstantsManager()
-    {
-    
-    }
-    
-// -----------------------------------------------------------------------------
-// CLocBtNotifierConstantsManager::GetLocalisableResourceNameL
-// -----------------------------------------------------------------------------
-TFileName* CLocBtNotifierConstantsManager::GetLocalisableResourceNameL( RFs& aFs )
-    {
-	TFileName* fileName = new ( ELeave ) TFileName;
-	CleanupStack::PushL( fileName );
-	
-	TFindFile findFile( aFs );
-	CDir* dir;
-	User::LeaveIfError( findFile.FindWildByDir( KResourceFileName, KNullDesC(),dir ) );
-	CleanupStack::PushL( dir );
-	  
-	TParse fileNameParser;
-	fileNameParser.Set( findFile.File(), NULL, NULL );
-	
-	fileName->Copy( fileNameParser.DriveAndPath() );
-	fileName->Append( ( *dir )[0].iName );
-	CleanupStack::PopAndDestroy( dir );
-	
-	BaflUtils::NearestLanguageFile( aFs, *fileName );
-	
-	CleanupStack::Pop( fileName );
-	return fileName;
-    }
-    
-// -----------------------------------------------------------------------------
-// CLocBtNotifierConstantsManager::GetTextL
-// -----------------------------------------------------------------------------
-HBufC* CLocBtNotifierConstantsManager::GetTextL( RResourceFile& aResourceFile, 
-                                                TInt aId )
-    {
-    // Read from resource file
-    HBufC8* buffer = aResourceFile.AllocReadLC( aId );
-    HBufC* retBuf;
-    
-    //Resource parser
-    TResourceReader resourceReader;
-    resourceReader.SetBuffer( buffer );
-    
-    retBuf = resourceReader.ReadHBufCL();
-    User::LeaveIfNull( retBuf );
-    
-    CleanupStack::PopAndDestroy( buffer );
-    
-    return retBuf;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CLocBtNotifierConstantsManager::GetBatteryLowDialogText
-// -----------------------------------------------------------------------------
-TPtr CLocBtNotifierConstantsManager::GetBatteryLowDialogText()
-    {
-	return iBatteryLowDialogText->Des();
-    }
-    
-
-// -----------------------------------------------------------------------------
-// CLocBtNotifierConstantsManager::GetBatteryFullDialogText
-// -----------------------------------------------------------------------------
-TPtr CLocBtNotifierConstantsManager::GetBatteryFullDialogText()
-    {
-	return iBatteryFullDialogText->Des();
-    }
-
-    
-// -----------------------------------------------------------------------------
-// CLocBtNotifierConstantsManager::GetExtAntennaConnectedDialogText
-// -----------------------------------------------------------------------------
-TPtr CLocBtNotifierConstantsManager::GetExtAntennaConnectedDialogText()
-    {
-	return iExtAntennaConnectedDialogText->Des();
-    }
-    
-
-// -----------------------------------------------------------------------------
-// CLocBtNotifierConstantsManager::GetExtAntennaDisconnectedDialogText
-// -----------------------------------------------------------------------------
-TPtr CLocBtNotifierConstantsManager::GetExtAntennaDisconnectedDialogText()
-    {
-	return iExtAntennaDisconnectedDialogText->Des();
-    }
-    
-
-// -----------------------------------------------------------------------------
-// CLocBtNotifierConstantsManager::GetExtPowerConnectedDialogText
-// -----------------------------------------------------------------------------
-TPtr CLocBtNotifierConstantsManager::GetExtPowerConnectedDialogText()
-    {
-	return iExtPowerConnectedDialogText->Des();
-    }
-    
-
-// -----------------------------------------------------------------------------
-// CLocBtNotifierConstantsManager::GetExtPowerDisconnectedDialogText
-// -----------------------------------------------------------------------------
-TPtr CLocBtNotifierConstantsManager::GetExtPowerDisconnectedDialogText()
-    {
-	return iExtPowerDisconnectedDialogText->Des();
-    }
-    
-
- 
-
--- a/locationsystemui/locationsysui/locbtnotifier/src/locbtnotifierdebug.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,88 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Contains debugging functions for locbtnotifer
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "locbtnotifierdebug.h"
-#include <flogger.h>
-#include <e32svr.h>
-// CONSTANTS
-
-/// Folder where the log resides
-_LIT( KLogFolder, "LocBtNotifier" );
-
-/// The name of the log file
-_LIT( KLogFileName, "LocBtNotifier" );
-
-/// The format in which the time is formatted in log
-_LIT( KLogTimeFormat, "%02d.%02d:%02d:%06d ");
-
-/// The length of the string produced by KLocLogTimeFormat
-const TInt KLogTimeFormatLength = 16;
-
-/// How many characters a log line can contain
-const TInt KLogLineLength = 256;
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-
-// -----------------------------------------------------------------------------
-// DebugLocBtNotifier
-// Generates a log file if c:\logs\locbtnotifier\ folder exists
-// -----------------------------------------------------------------------------
-//
- void DebugLocBtNotifier( TRefByValue<const TDesC> aText, ... )
-    {    
-    // coverity[var_decl : FALSE]
-    VA_LIST args;
-    VA_START( args, aText );
-    
-    TBuf<KLogLineLength> buf;
-    // coverity[uninit_use_in_call : FALSE]
-    buf.FormatList( aText, args );
-
-    #ifdef _DEBUG
-    RDebug::Print(buf);
-    #endif
-
-    RFileLogger logger;
-    
-    TInt ret=logger.Connect();
-    if (ret==KErrNone)
-        {
-        logger.SetDateAndTime( EFalse,EFalse );
-        logger.CreateLog( KLogFolder, KLogFileName, EFileLoggingModeAppend );       
-        TBuf<KLogTimeFormatLength> timeStamp;
-        TTime now;
-        now.HomeTime();
-        TDateTime dateTime;
-        dateTime = now.DateTime();
-        timeStamp.Format( KLogTimeFormat, 
-            dateTime.Hour(), dateTime.Minute(),
-            dateTime.Second(), dateTime.MicroSecond() );
-        buf.Insert( 0, timeStamp );
-
-        logger.Write(buf);
-        }
-
-    logger.Close();
-
-    VA_END( args );
-    }
-
-//  End of File  
--- a/locationsystemui/locationsysui/locbtnotifier/src/locbtnotifierplugin.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,792 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CLocBtNotifierPlugIn class implementation
-*
-*/
-
-
-// System Includes
-#include <cfactionindication.h>
-#include <centralrepository.h>
-#include <AknGlobalNote.h>
-
-
-// User Includes
-#include "locbtnotifierplugin.h"
-#include "locbtnotifierconstantsmanager.h"
-#include "locbtnotifierprivatecrkeys.h"
-#include "locbtnotifierdebug.h"
-
-// CONSTANTS
-
-// Security Policy
-_LIT_SECURITY_POLICY_PASS( KSecurityPolicy );
-
-// LocBtNotifier action
-_LIT( KLocBtNotifierAction, "showNote" );
-
-// LocBtNotifier action parameters
-_LIT( KPsBatteryKeyState, "BatteryState" );
-_LIT( KPsAntennaKeyState, "AntennaState" );
-_LIT( KPsPowerKeyState,   "PowerState" );
-
-// BtGpsPsy Battery key state values
-_LIT( KBatteryStateNormal, "EBatteryStateNormal" );
-_LIT( KBatteryStateNA,     "EBatteryStateNA" );
-_LIT( KBatteryStateLow,    "EBatteryStateLow" );
-_LIT( KBatteryStateFull,   "EBatteryStateFull" );
-
-// BtGpsPsy Antenna key state values
-_LIT( KExtAntennaNA,  "EExtAntennaNA" );
-_LIT( KExtAntennaOff, "EExtAntennaOff" );
-_LIT( KExtAntennaOn,  "EExtAntennaOn" );
-
-// BtGpsPsy Power key state values
-_LIT( KExtPowerNA,  "EExtPowerNA" );
-_LIT( KExtPowerOff, "EExtPowerOff" );
-_LIT( KExtPowerOn,  "EExtPowerOn" );
-
-// Max length of the text to be displayed in the Information Note
-const TInt KMaxInfoTextLength = 256;
-
-// Logging constants
-_LIT(KLogFile, "locbtnotifier.txt");
-
-_LIT(KLogDir, "locbtnotifier");
-
-
-
-
-// ======== MEMBER FUNCTIONS ========
-
-
-
-// ---------------------------------------------------------------------------
-// CLocBtNotifierPlugIn::CLocBtNotifierPlugIn
-// ---------------------------------------------------------------------------
-//
- CLocBtNotifierPlugIn::CLocBtNotifierPlugIn(): 
- iBatteryStatus( CLocBtNotifierPlugIn::EBatteryStateUnInitialized ),
- iAntennaStatus( CLocBtNotifierPlugIn::EAntennaStateUnInitialized ),
- iPowerStatus( CLocBtNotifierPlugIn::EPowerStateUnInitialized ),
- iInfoText ( NULL , 0 )
-    {
-    
-    }
-
-// ---------------------------------------------------------------------------
-// CLocBtNotifierPlugIn::NewL
-// Two Phased constructor 
-// ---------------------------------------------------------------------------
-//
-CLocBtNotifierPlugIn* CLocBtNotifierPlugIn::NewL()
-    {
-    LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::NewL : IN" );
-   
-    CLocBtNotifierPlugIn* self = new( ELeave ) CLocBtNotifierPlugIn;
-    
-    
-    LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::NewL : OUT" );
-    
-    return self;
-    }
-
-
-
-// ---------------------------------------------------------------------------
-// CLocBtNotifierPlugIn::~CLocBtNotifierPlugIn
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CLocBtNotifierPlugIn::~CLocBtNotifierPlugIn()
-    {
-    LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::~CLocBtNotifierPlugIn : IN" );
-    
-    delete iGlobalNote;
-    delete iConstantsManager;
-   
-    LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::~CLocBtNotifierPlugIn : OUT" );
-    }
-
-
-// ---------------------------------------------------------------------------
-// From class CCFActionPlugIn
-// CLocBtNotifierPlugIn::InitializeL
-// ---------------------------------------------------------------------------
-//
-void CLocBtNotifierPlugIn::InitializeL()
-    {
-    LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::InitializeL : IN" );
-    
-    iGlobalNote = CAknGlobalNote::NewL();
-    iConstantsManager = CLocBtNotifierConstantsManager::NewL();
- 
-    LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::InitializeL : OUT" );
-    }
-
-// ---------------------------------------------------------------------------
-// From class CCFActionPlugIn
-// CLocBtNotifierPlugIn::ExecuteL
-// ---------------------------------------------------------------------------
-//
-CCFActionPlugIn::TExecutionTime CLocBtNotifierPlugIn::ExecuteL(
-                                CCFActionIndication* aActionIndication )
-    {
-    LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::ExecuteL : IN" );
-    
-    CCFActionPlugIn::TExecutionTime time = CCFActionPlugIn::ENone;
-    
-    // Parse PS key settings
-    const RKeyValueArray& parameters = aActionIndication->Parameters();
-    
-    // Get the key and value of the action parameters
-    TPtrC key( KNullDesC );
-    TPtrC value( KNullDesC );
-    
-    key.Set( parameters[0]->Key() );
-    value.Set( parameters[0]->Value() );
-    
-    // Check key value of the action parameter
-    if( !( key.CompareF( KPsBatteryKeyState ) ) )
-        {
-        // Handle the Battery Key State change events
-        HandleBatteryKeyStateL( value );
-        }	
-    
-    else if( !( key.CompareF ( KPsAntennaKeyState ) ) )
-        {
-        // Handle the Antenna key State change events
-        HandleAntennaKeyStateL( value );
-        }
-        
-    else if( !( key.CompareF ( KPsPowerKeyState ) ) )
-        {
-        // Handle the Power key State change events
-        HandlePowerKeyStateL( value );
-        }
-       
-    LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::ExecuteL : OUT" );   
-    
-    return time;
-    }
-    
-// ---------------------------------------------------------------------------
-// From class CCFActionPlugIn
-// CLocBtNotifierPlugIn::GetActionsL
-// ---------------------------------------------------------------------------
-//
-void CLocBtNotifierPlugIn::GetActionsL( CDesCArray& aActionList ) const
-    {
-    LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::GetActionsL : IN" );
-    
-    aActionList.AppendL( KLocBtNotifierAction );
-    
-    LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::GetActionsL : OUT" );
-    }
-    
-// ---------------------------------------------------------------------------
-// From class CCFActionPlugIn
-// CLocBtNotifierPlugIn::SecurityPolicy
-// ---------------------------------------------------------------------------
-//
-const TSecurityPolicy& CLocBtNotifierPlugIn::SecurityPolicy() const
-    {
-    return KSecurityPolicy;
-    }
-    
-// ---------------------------------------------------------------------------
-// CLocBtNotifierPlugIn::HandleBatteryKeyState
-// ---------------------------------------------------------------------------
-//
-void CLocBtNotifierPlugIn::HandleBatteryKeyStateL( TDesC& aValue )
-    {
-    LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::HandleBatteryKeyState : IN" );
-    
-    // Current Battery State
-    CLocBtNotifierPlugIn::TBtGpsPsyBatteryKeyState batteryState = 
-                          CLocBtNotifierPlugIn::EBatteryStateUnInitialized ;
-    
-        
-    // Get the current PS key state value
-    if( !( aValue.CompareF( KBatteryStateNA ) ) )
-        {    
-        batteryState = CLocBtNotifierPlugIn::EBatteryStateNotApplicable;
-        }
-    else if( !( aValue.CompareF( KBatteryStateNormal ) ) )
-        {
-        batteryState = CLocBtNotifierPlugIn::EBatteryStateNormal;
-        }
-    else if( !( aValue.CompareF( KBatteryStateLow ) ) )
-        {
-    	batteryState = CLocBtNotifierPlugIn::EBatteryStateLow;
-        }
-    else if( !( aValue.CompareF( KBatteryStateFull ) ) )
-        {
-        batteryState = CLocBtNotifierPlugIn::EBatteryStateFull;
-        }
-    else
-    	{
-    	// Invalid
-    	return;
-    	}
-    
-    LOCBTNOTIFIERDEBUG1( "Battery State (%d)",  batteryState );
-       
-    
-    if( iBatteryStatus == CLocBtNotifierPlugIn::EBatteryStateUnInitialized )
-        {
-        // Initializing the previous battery Status for the first callback   
-        // from context framework
-        iBatteryStatus = CLocBtNotifierPlugIn::EBatteryStateInitialized;
-        
-        LOCBTNOTIFIERDEBUG1( "Previous Battery State (%d)",  iBatteryStatus );
-       
-        return;
-        }
-    else if ( iBatteryStatus == CLocBtNotifierPlugIn::EBatteryStateInitialized 
-              && batteryState != CLocBtNotifierPlugIn::EBatteryStateNotApplicable )
-    	{
-    	// Initializing the previous battery status to current value of PS key
-        // after pairing of BT GPS device happens
-    	iBatteryStatus = batteryState;
-    	
-      LOCBTNOTIFIERDEBUG1( "Previous Battery State (%d)",  iBatteryStatus );
-       
-    	return;
-    	}   
-     
-     
-    LOCBTNOTIFIERDEBUG1( "Previous Battery State (%d)",  iBatteryStatus );
-                
-    //Check that there is a change in the Battery State before displaying the note
-    if( iBatteryStatus != batteryState )
-        {
-       
-        LOCBTNOTIFIERDEBUG1( "Previous Battery State (%d)",  iBatteryStatus );
-            
-       
-        LOCBTNOTIFIERDEBUG1( "Battery State (%d)",  batteryState );
-               
-    	switch( batteryState )
-    	    {
-    	    case CLocBtNotifierPlugIn::EBatteryStateNotApplicable :
-    	         {
-    	         // No note shown
-    	         break;
-    	         }
-    	         
-    	    case CLocBtNotifierPlugIn::EBatteryStateNormal :
-    	         {
-    	         // No note shown
-    	         iBatteryStatus = batteryState;
-    	         break;
-    	         }
-    	         
-    	    case CLocBtNotifierPlugIn::EBatteryStateLow :
-    	         {
-    	         iBatteryStatus = batteryState;
-    	         ShowBatteryNoteL( batteryState );
-    	         break;
-    	         }
-    	         
-    	    case CLocBtNotifierPlugIn::EBatteryStateFull :
-    	         {
-    	         iBatteryStatus = batteryState;
-    	         ShowBatteryNoteL( batteryState );
-    	         break;
-    	         }
-    	         
-    	    default :
-    	         {
-    	         break;
-    	         }
-    	    }
-    	    
-    	
-    	
-        }
-      
-    LOCBTNOTIFIERDEBUG1( "Previous Battery State (%d)",  iBatteryStatus );
-             
-    LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::HandleBatteryKeyState : OUT" );
-    }
-    
-    
-// ---------------------------------------------------------------------------
-// CLocBtNotifierPlugIn::ShowBatteryNoteL
-// ---------------------------------------------------------------------------
-//
-void CLocBtNotifierPlugIn::ShowBatteryNoteL( TBtGpsPsyBatteryKeyState aState )
-    {
-    LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::ShowBatteryNoteL : IN" );
-	
-	// Check if the note can be shown
-	if( !( IsBatteryNoteShownL( aState ) ) )
-	    {
-	    return;
-	    }
-	    
-	switch( aState )
-        {
-        case CLocBtNotifierPlugIn::EBatteryStateLow : 
-        	 {
-        	 iInfoText.Set( iConstantsManager->GetBatteryLowDialogText() );
-        	 break;            
-        	 }
-             
-        case CLocBtNotifierPlugIn::EBatteryStateFull : 
-             {
-             iInfoText.Set( iConstantsManager->GetBatteryFullDialogText() );
-             break;	
-             }
-             
-        default :
-             {
-             break;
-             } 
-        }
-    
-    iGlobalNote->ShowNoteL( EAknGlobalInformationNote, iInfoText );    
-    
-    LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::ShowBatteryNoteL : OUT" );
-    }
-    
-    
-// ---------------------------------------------------------------------------
-// CLocBtNotifierPlugIn::IsBatteryNoteShown
-// ---------------------------------------------------------------------------
-//
-TBool CLocBtNotifierPlugIn::IsBatteryNoteShownL( TBtGpsPsyBatteryKeyState aState )
-    {
-    
-    LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::IsBatteryNoteShown : IN" );
-	
-	TBool shown = EFalse;
-	
-	switch( aState )
-	    {
-	    case CLocBtNotifierPlugIn::EBatteryStateLow :
-	         {
-	         IsDialogShownL( KBluetoothGpsPsyBatteryLowDialog, shown );
-             break;	
-             }
-             
-        case CLocBtNotifierPlugIn::EBatteryStateFull :
-             {
-             IsDialogShownL( KBluetoothGpsPsyBatteryFullDialog, shown );
-             break;	
-             }
-             
-        default :
-             {
-             break;
-             }
-	         
-	    }
-    LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::IsBatteryNoteShown : OUT" );
-	
-	return shown;
-    }
-  
-    
-// ---------------------------------------------------------------------------
-// CLocBtNotifierPlugIn::HandleAntennaKeyState
-// ---------------------------------------------------------------------------
-//
-void CLocBtNotifierPlugIn::HandleAntennaKeyStateL( TDesC& aValue )
-    {
-   LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::HandleAntennaKeyState : IN" );
-    
-    // Current Antenna State
-    CLocBtNotifierPlugIn::TBtGpsPsyAntennaKeyState antennaState = 
-                          CLocBtNotifierPlugIn::EAntennaStateUnInitialized ;
-                          
-        
-    // Get the current PS key state value
-    if( !( aValue.CompareF( KExtAntennaNA ) ) )
-        {
-    	antennaState = CLocBtNotifierPlugIn::EAntennaStateNotApplicable;
-        }
-    else if( !( aValue.CompareF( KExtAntennaOff ) ) )
-        {
-    	antennaState = CLocBtNotifierPlugIn::EExtAntennaOff;
-        }
-    else if( !( aValue.CompareF( KExtAntennaOn ) ) )
-        {
-        antennaState = CLocBtNotifierPlugIn::EExtAntennaOn ;
-        }
-     else
-    	{
-    	// Invalid
-    	return;
-    	}
-    
-   LOCBTNOTIFIERDEBUG1( " Antenna State (%d)",  antennaState );
-    
-    if( iAntennaStatus == CLocBtNotifierPlugIn::EAntennaStateUnInitialized )
-        {
-        // Initializing the previous Antenna Status for the first callback   
-        // from context framework
-        iAntennaStatus = CLocBtNotifierPlugIn::EAntennaStateInitialized;
-        
-        LOCBTNOTIFIERDEBUG1( "Previous Antenna State (%d)",  iAntennaStatus );
-
-        return;
-        }
-    else if ( iAntennaStatus == CLocBtNotifierPlugIn::EAntennaStateInitialized
-              && antennaState != CLocBtNotifierPlugIn::EAntennaStateNotApplicable )
-    	{
-    	// Initializing the previous Antenna status to current value of PS key
-        // after pairing of BT GPS device happens
-    	iAntennaStatus = antennaState;
-    	
-    	LOCBTNOTIFIERDEBUG1( "Previous Antenna State (%d)",  iAntennaStatus );
-        
-    	return;
-    	}   
-            
-    	LOCBTNOTIFIERDEBUG1( "Previous Antenna State (%d)",  iAntennaStatus );
-         
-    //Check that there is a change in the Antenna State before displaying the note
-    if( iAntennaStatus != antennaState )
-        {
-        
-        LOCBTNOTIFIERDEBUG1( "Previous Antenna State (%d)",  iAntennaStatus );
- 
-        
-        LOCBTNOTIFIERDEBUG1( " Antenna State (%d)",  antennaState );
-         
-    	switch( antennaState )
-    	    {
-    	    case CLocBtNotifierPlugIn::EAntennaStateNotApplicable :
-    	         {
-    	         // No note shown
-    	         break;
-    	         }
-    	         
-    	    case CLocBtNotifierPlugIn::EExtAntennaOff :
-    	         {
-    	         iAntennaStatus = antennaState;
-    	         ShowAntennaNoteL( antennaState );
-    	         break;
-    	         }
-    	         
-    	    case CLocBtNotifierPlugIn::EExtAntennaOn :
-    	         {
-    	         iAntennaStatus = antennaState;
-    	         ShowAntennaNoteL( antennaState );
-    	         break;
-    	         }
-    	         
-    	    default :
-    	         {
-    	         break;
-    	         }
-    	    }
-    	    
-    	
-        }
-        
-    	LOCBTNOTIFIERDEBUG1( "Previous Antenna State (%d)",  iAntennaStatus );
-        
-    LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::HandleAntennaKeyState : OUT" );
-    }
-
-  
-// ---------------------------------------------------------------------------
-// CLocBtNotifierPlugIn::ShowAntennaNoteL
-// ---------------------------------------------------------------------------
-//
-void CLocBtNotifierPlugIn::ShowAntennaNoteL( TBtGpsPsyAntennaKeyState aState )
-    {
-    LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::ShowAntennaNoteL : IN" );
-	
-	// Check if the note can be shown
-	if( !( IsAntennaNoteShownL( aState ) ) )
-	    {
-		return;
-	    }
-	    
-	switch( aState )
-        {
-        case CLocBtNotifierPlugIn::EExtAntennaOff : 
-        	 {
-        	 iInfoText.Set( iConstantsManager->GetExtAntennaDisconnectedDialogText() );
-        	 break;            
-        	 }
-             
-        case CLocBtNotifierPlugIn::EExtAntennaOn : 
-             {
-             iInfoText.Set( iConstantsManager->GetExtAntennaConnectedDialogText() );
-             break;	
-             }
-             
-        default :
-             {
-             break;
-             } 
-        }
-    
-    iGlobalNote->ShowNoteL( EAknGlobalInformationNote, iInfoText );    
-    
-    LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::ShowAntennaNoteL : OUT" );
-    } 
-
-    
-    
-// ---------------------------------------------------------------------------
-// CLocBtNotifierPlugIn::IsAntennaNoteShown
-// ---------------------------------------------------------------------------
-//
-TBool CLocBtNotifierPlugIn::IsAntennaNoteShownL( TBtGpsPsyAntennaKeyState aState )
-    {
-    LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::IsAntennaNoteShown : IN" );
-	
-	TBool shown = EFalse;
-	
-	switch( aState )
-	    {
-	    case CLocBtNotifierPlugIn::EExtAntennaOff :
-	         {
-             IsDialogShownL( KBluetoothGpsPsyExtAntennaDisconnectedDialog, shown );
-             break;	
-             }
-             
-        case CLocBtNotifierPlugIn::EExtAntennaOn :
-             {
-             IsDialogShownL( KBluetoothGpsPsyExtAntennaConnectedDialog, shown );
-             break;	
-             }
-             
-        default :
-             {
-             break;
-             }
-	         
-	    }
-    
- LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::IsAntennaNoteShown : OUT" );
-	
-	return shown;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocBtNotifierPlugIn::HandlePowerKeyState
-// ---------------------------------------------------------------------------
-//
-void CLocBtNotifierPlugIn::HandlePowerKeyStateL( TDesC& aValue )
-    {
-  LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::HandlePowerKeyState : IN" );
-    
-    // Current Power State
-    CLocBtNotifierPlugIn::TBtGpsPsyPowerKeyState powerState = 
-                          CLocBtNotifierPlugIn::EPowerStateUnInitialized ;
-                          
-        
-    // Get the current PS key state value
-    if( !( aValue.CompareF( KExtPowerNA ) ) )
-        {
-    	powerState = CLocBtNotifierPlugIn::EPowerStateNotApplicable;
-        }
-    else if( !( aValue.CompareF( KExtPowerOff ) ) )
-        {
-    	powerState = CLocBtNotifierPlugIn::EExtPowerOff;
-        }
-    else if( !( aValue.CompareF( KExtPowerOn ) ) )
-        {
-        powerState = CLocBtNotifierPlugIn::EExtPowerOn;
-        }
-    else
-    	{
-    	// Invalid
-    	return;
-    	}
-    
-   LOCBTNOTIFIERDEBUG1( "Power State (%d)",  powerState );
- 
-    if( iPowerStatus == CLocBtNotifierPlugIn::EPowerStateUnInitialized )
-        {
-        // Initializing the previous Power Status for the first callback   
-        // from context framework
-        iPowerStatus = CLocBtNotifierPlugIn::EPowerStateInitialized;
-        
-        	LOCBTNOTIFIERDEBUG1( "Previous Power State (%d)",  iPowerStatus );
-
-        return;
-        }
-    else if ( iPowerStatus == CLocBtNotifierPlugIn::EPowerStateInitialized
-              && powerState != CLocBtNotifierPlugIn::EPowerStateNotApplicable )
-    	{
-    	// Initializing the previous Power status to current value of PS key
-        // after pairing of BT GPS device happens
-    	iPowerStatus = powerState;
-    	
-      LOCBTNOTIFIERDEBUG1( "Previous Power State (%d)",  iPowerStatus );
-
-    	return;
-    	}   
-    	
-    	LOCBTNOTIFIERDEBUG1( "Previous Power State (%d)",  iPowerStatus );
-             
-    //Check that there is a change in the Power State before displaying the note
-    if( iPowerStatus != powerState )
-        {
-        
-        LOCBTNOTIFIERDEBUG1( "Previous Power State (%d)",  iPowerStatus );
- 
-        LOCBTNOTIFIERDEBUG1( " Power State (%d)",  powerState );
-       
-    	switch( powerState )
-    	    {
-    	    case CLocBtNotifierPlugIn::EPowerStateNotApplicable :
-    	         {
-    	         // No note shown
-    	         break;
-    	         }
-    	         
-    	    case CLocBtNotifierPlugIn::EExtPowerOff :
-    	         {
-    	         iPowerStatus = powerState;
-    	         ShowPowerNoteL( powerState );
-    	         break;
-    	         }
-    	         
-    	    case EExtPowerOn :
-    	         {
-    	         iPowerStatus = powerState;
-    	         ShowPowerNoteL( powerState );
-    	         break;
-    	         }
-    	         
-    	    default :
-    	         {
-    	         break;
-    	         }
-    	    }
-    	    
-    	
-        }
-      	
-      	LOCBTNOTIFIERDEBUG1( "Previous Power State (%d)",  iPowerStatus );
-         
-    LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::HandlePowerKeyState : OUT" );
-    }
-
-  
-// ---------------------------------------------------------------------------
-// CLocBtNotifierPlugIn::ShowPowerNoteL
-// ---------------------------------------------------------------------------
-//
-void CLocBtNotifierPlugIn::ShowPowerNoteL( TBtGpsPsyPowerKeyState aState )
-    {
-    LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::ShowPowerNoteL : IN" );
-	
-	// Check if the note can be shown
-	if( !( IsPowerNoteShownL( aState ) ) )
-	    {
-		return;
-	    }
-	    
-	switch( aState )
-        {
-        case CLocBtNotifierPlugIn::EExtPowerOff : 
-        	 {
-        	 iInfoText.Set( iConstantsManager->GetExtPowerDisconnectedDialogText() );
-        	 break;            
-        	 }
-             
-        case CLocBtNotifierPlugIn::EExtPowerOn : 
-             {
-             iInfoText.Set( iConstantsManager->GetExtPowerConnectedDialogText() );
-             break;	
-             }
-             
-        default :
-             {
-             break;
-             } 
-        }
-    
-    iGlobalNote->ShowNoteL( EAknGlobalInformationNote, iInfoText );    
-        
-    LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::ShowPowerNoteL : OUT" );
-    } 
-
-    
-    
-// ---------------------------------------------------------------------------
-// CLocBtNotifierPlugIn::IsPowerNoteShown
-// ---------------------------------------------------------------------------
-//
-TBool CLocBtNotifierPlugIn::IsPowerNoteShownL( TBtGpsPsyPowerKeyState aState )
-    {
-    LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::IsPowerNoteShown : IN" );
-	
-	TBool shown = EFalse;
-	
-	switch( aState )
-	    {
-	    case CLocBtNotifierPlugIn::EExtPowerOff :
-	         {
-	         IsDialogShownL( KBluetoothGpsPsyExtPowerDisconnectedDialog, shown );
-           break;	
-             }
-             
-        case CLocBtNotifierPlugIn::EExtPowerOn :
-             {
-             IsDialogShownL( KBluetoothGpsPsyExtPowerConnectedDialog, shown  );
-             break;	
-             }
-             
-        default :
-             {
-             break;
-             }
-	         
-	    }
-	    
-    LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::IsPowerNoteShown : OUT" );
-	
-	return shown;
-    }
-    
-        
-// ---------------------------------------------------------------------------
-// CLocBtNotifierPlugIn::IsDialogShown
-// ---------------------------------------------------------------------------
-// 
-void CLocBtNotifierPlugIn::IsDialogShownL( TUint32 aKey , TBool& aShown )
-    {
-    LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::IsDialogShown : IN" );
-    
-    // CRepository instance for accessing the BtGpsPsy settings
-    CRepository* cenRep = CRepository::NewL( KCRUidLocBtGpsPsy );
-    
-        
-    // Get the value of the specified Cen Rep key
-    TInt err = cenRep->Get( aKey, aShown );
-    
-    if( err != KErrNone )
-    // Failed to Get value of cenrep key,return error
-        {
-        User::Leave( err );
-        }
-    
-    delete cenRep;
-    
-    LOCBTNOTIFIERDEBUG( "CLocBtNotifierPlugIn::IsDialogShown : OUT" );
-    }
-
-
--- a/locationsystemui/locationsysui/locgpsindicatorplugin/data/10275097.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
-* Copyright (c) 1027 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  This file contains all the resources to launch GPS indicator plugin
-*
-*/
-
-
-#include <ecom/registryinfo.rh>
-#include "locgpsindicatorpluginuids.h"
-/**
-* How to use the resource definition:
-*
-* IMPLEMENTATION_INFO
-*   {
-*   implementation_uid  = <Your implementation UID here>;
-*   version_no          = 1;
-*   display_name        = "<Your plugin name here>";
-*   default_data        = "";
-*   opaque_data         = "";
-*   }
-*/
-RESOURCE REGISTRY_INFO theInfo
-    {
-    dll_uid =  KLocGpsIndicatorDllUID;
-    interfaces =
-        {
-        INTERFACE_INFO
-            {
-            interface_uid = KLocIndicatorIterfaceUID;
-            implementations =
-                {
-                IMPLEMENTATION_INFO
-                    {
-                    implementation_uid =  KLocGpsIndicatorDllUID;
-                    version_no = 1;
-                    display_name = "";
-                    default_data = "Default";
-                    opaque_data = "";
-                    }
-                };
-            }
-        };
-    }
-
-// End of file
--- a/locationsystemui/locationsysui/locgpsindicatorplugin/data/locgpsindicatorplugin.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Resource definitions for GPS indicator plugin
-*
-*/
-
-//  RESOURCE IDENTIFIER
-NAME LGPS
-
-#include <eikon.rh>
-#include <avkon.rsg> 
-#include <avkon.rh>
-#include <avkon.hrh>
-#include <location.loc>
-
-
-RESOURCE RSS_SIGNATURE { }
-
-
-// Stylus popup title
-RESOURCE TBUF r_loc_stylus_title_gps
-{
-buf = qtn_loc_stylus_title_gps;
-}
-
-// Stylus information text
-RESOURCE TBUF r_loc_stylus_gps_info
-{
-buf = qtn_loc_stylus_gps_info;
-}
-
-// Stylus link text
-RESOURCE TBUF r_loc_stylus_more_info
-{
-buf = qtn_loc_stylus_gps_link;
-}
-
-// Stylus link detail text
-RESOURCE TBUF r_loc_stylus_gps_details
-{
-buf = qtn_loc_stylus_gps_details;
-}
-
-//-----------------------------------------------------
-//    Dialog to display Delivery Status data.
-//-----------------------------------------------------
-RESOURCE DIALOG r_locgpsindicator_message_query
-{
-flags = EGeneralQueryFlags | EEikDialogFlagNoBorder | EEikDialogFlagNoShadow;
-buttons = R_AVKON_SOFTKEYS_OK_EMPTY__OK;
-items=
-    {
-    DLG_LINE 
-        {
-        type = EAknCtPopupHeadingPane;
-        id = EAknMessageQueryHeaderId;
-        control = AVKON_HEADING
-            {
-            };
-        },
-    DLG_LINE
-        {
-        type = EAknCtMessageQuery;
-        id = EAknMessageQueryContentId;
-        control = AVKON_MESSAGE_QUERY
-            {
-            };
-        }
-    };
-}
-
-
-
-
-
-
-
-
-
--- a/locationsystemui/locationsysui/locgpsindicatorplugin/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*        This file provides the information required for building a 
-*        GPS Indicator Plugin.
-*
-*
-*/
-
-
-//
-// Platforms
-//
-PRJ_PLATFORMS
-DEFAULT
-
-//
-// GPS Indicator Plugin
-//
-PRJ_MMPFILES
-locgpsindicatorplugin.mmp
-// End of file
\ No newline at end of file
--- a/locationsystemui/locationsysui/locgpsindicatorplugin/group/locgpsindicatorplugin.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Project definition file for Location GPS indicator
-*
-*/
-
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-#include "../inc/locgpsindicatorpluginuids.h"
-
-// Build target
-TARGET          locgpsindicatorplugin.dll
-TARGETTYPE      PLUGIN
-UID             KLocPluginUID  KLocGpsIndicatorDllUID
-
-CAPABILITY CAP_ECOM_PLUGIN
-VENDORID        VID_DEFAULT
-
-
-// Source files location
-SOURCEPATH      ../src
-SOURCE          locgpsindicatorplugin.cpp
-SOURCE          locgpsindicatorpluginimptable.cpp
-
-
-// Resources
-START RESOURCE  ../data/10275097.rss
-TARGET			locgpsindicatorplugin.rsc
-TARGETPATH      ECOM_RESOURCE_DIR
-END
-
-START RESOURCE  ../data/locgpsindicatorplugin.rss
-TARGETPATH RESOURCE_FILES_DIR
-HEADER
-LANGUAGE_IDS
-END
-
-
-// Include paths
-USERINCLUDE     ../data
-USERINCLUDE     ../inc
-USERINCLUDE     ../group
-USERINCLUDE     ../../inc
-USERINCLUDE     ../../group
-
-APP_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE   /epoc32/include/ecom // ecom
-                
-// Dependencies to system components
-LIBRARY     eikcore.lib
-LIBRARY     cone.lib
-LIBRARY     euser.lib
-LIBRARY     ecom.lib
-LIBRARY     avkon.lib
-LIBRARY     commonengine.lib        // stringloader
-LIBRARY     bafl.lib                // baflutils
-LIBRARY     efsrv.lib               // TParsePtrC
-LIBRARY		PlatformEnv.lib			// PathInfo
-
-// End of File
-
--- a/locationsystemui/locationsysui/locgpsindicatorplugin/inc/locgpsindicatorplugin.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  This file contains class declaration for GPS indicator plugin.
-*
-*/
-
-
-
-#ifndef C_CLOCGPSINDICATORPLUGIN_H
-#define C_CLOCGPSINDICATORPLUGIN_H
-
-//  INCLUDES
-#include <AknIndicatorPlugin.h> // CAknIndicatorPlugin
-#include <AknPreviewPopUpController.h> // Controlling the preview pop-up component
-#include <eikcmobs.h>
-#include <ConeResLoader.h>
-
-/**
-*  GPS indicator plugin implementation
-*  This class handles the tap event generated by tapping on the GPS icon.
-*
-*  @lib locgpsindicatorplugin
-*  @since 5.0
-*/
-class CLocGpsIndicatorPlugin : public CAknIndicatorPlugin,
-							   public MAknPreviewPopUpObserver,
-                               public MEikCommandObserver
-                                         
-    {
-    public:
-        /**
-        * Two-phased constructor.
-        */
-        static CLocGpsIndicatorPlugin* NewL();
-
-        /**
-        * Destructor.
-        */
-        ~CLocGpsIndicatorPlugin();
-
-    private: // From CAknIndicatorPlugin
-        
-        /**
-         * @see CAknIndicatorPlugin
-         */
-        void HandleIndicatorTapL( const TInt aUid );
-
-    public: // From MEikCommandObserver
-    
-        /**
-         * @see MEikCommandObserver
-         */
-    	void ProcessCommandL( TInt aCommandId );
-    	
-	public: // From MAknPreviewPopUpObserver
-   
-        /**
-         * @see MAknPreviewPopUpObserver
-         */
-        void HandlePreviewPopUpEventL(
-            CAknPreviewPopUpController* aController,
-            TPreviewPopUpEvent aEvent );    	
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CLocGpsIndicatorPlugin();
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-    };
-
-#endif      // C_LOCGPSINDICATORPLUGIN_H
-
-// End of File
--- a/locationsystemui/locationsysui/locgpsindicatorplugin/inc/locgpsindicatorpluginuids.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  GPS indicator plugin uids
-*
-*/
-
-
-#ifndef LOCGPSINDICATORPLUGINUIDS_H
-#define LOCGPSINDICATORPLUGINUIDS_H
-
-/// Plugin UID
-#define KLocPluginUID        0x10009D8D
-
-/// GPS indicator plugin dll uid
-#define KLocGpsIndicatorDllUID           0x10275097
-
-//Indicator interface UID
-#define KLocIndicatorIterfaceUID     0x10275092
-
-#endif // LOCGPSINDICATORPLUGINUIDS_H
-
-// End of File
--- a/locationsystemui/locationsysui/locgpsindicatorplugin/src/locgpsindicatorplugin.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  GPS indicator plugin implementation
-*
-*/
-
-
-// USER INCLUDES
-#include "locgpsindicatorplugin.h"
-#include "locgpsindicatorpluginuids.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CLocGpsIndicatorPlugin::CLocGpsIndicatorPlugin
-// ---------------------------------------------------------------------------
-//
-CLocGpsIndicatorPlugin::CLocGpsIndicatorPlugin()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CLocGpsIndicatorPlugin::ConstructL
-// Symbian 2nd phase constructor can leave.
-// ---------------------------------------------------------------------------
-//
-void CLocGpsIndicatorPlugin::ConstructL()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CLocGpsIndicatorPlugin::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CLocGpsIndicatorPlugin* CLocGpsIndicatorPlugin::NewL()
-    {
-    CLocGpsIndicatorPlugin* self = 
-        new( ELeave ) CLocGpsIndicatorPlugin;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// -----------------------------------------------------------------------------
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CLocGpsIndicatorPlugin::~CLocGpsIndicatorPlugin()
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocGpsIndicatorPlugin::HandleIndicatorTapL
-// ---------------------------------------------------------------------------
-//
-void CLocGpsIndicatorPlugin::HandleIndicatorTapL( const TInt /*aUid*/ )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CLocGpsIndicatorPlugin::ProcessCommandL
-// ---------------------------------------------------------------------------
-//
-void CLocGpsIndicatorPlugin::ProcessCommandL( TInt /* aCommandId */)
-    {
-    }
-// ---------------------------------------------------------------------------
-// CLocGpsIndicatorPlugin::HandlePreviewPopUpEventL
-// ---------------------------------------------------------------------------
-//
-void CLocGpsIndicatorPlugin::HandlePreviewPopUpEventL( CAknPreviewPopUpController* /*aController*/,
-            										   TPreviewPopUpEvent /*aEvent*/ )
-    {
-    }
-    
-//  End of File
--- a/locationsystemui/locationsysui/locgpsindicatorplugin/src/locgpsindicatorpluginimptable.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  ECom proxy implementation
-*
-*/
-
-#include <implementationproxy.h>
-#include "locgpsindicatorplugin.h"
-#include "locgpsindicatorpluginuids.h"
-
-// Define the interface UIDs
-// Map the interface implementation UIDs to implementation factory functions
-const TImplementationProxy ImplementationTable[] =
-    {
-    IMPLEMENTATION_PROXY_ENTRY(  KLocGpsIndicatorDllUID, 
-                                CLocGpsIndicatorPlugin::NewL )
-	};
-	
-// Exported proxy for instantiation method resolution.
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy
-        (TInt& aTableCount)
-    {
-    aTableCount = sizeof(ImplementationTable) / sizeof(ImplementationTable[0]);
-    return ImplementationTable;
-    }
-    
-// End of file
--- a/locationsystemui/locationsysui/locnotprefplugin/data/1020690F.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
-* Copyright (c) 1020 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  ECOM plugin resource file for Notational Preferences Plugin.
-*
-*/
-
-#include <ecom/registryinfo.rh>
-#include "locnotprefpluginuid.hrh"
-
-#define PLUGINDISPLAYNAME "Notation Preferences"
-/**
-* How to use the resource definition:
-*
-* IMPLEMENTATION_INFO
-*   {
-*   implementation_uid  = <Your implementation UID here>;
-*   version_no          = 1;
-*   display_name        = "<Your plugin name here>";
-*   default_data        = "";
-*   opaque_data         = "";
-*   }
-*/
-RESOURCE REGISTRY_INFO theInfo
-    {
-    dll_uid     = 0x1020690F;
-    interfaces  = 
-        {
-        INTERFACE_INFO
-            {
-            interface_uid   = 0x10275061;
-            implementations = 
-                {
-                IMPLEMENTATION_INFO
-                    {
-                    implementation_uid  = 0x1020690F;
-                    version_no          = 1;
-                    display_name        = PLUGINDISPLAYNAME;
-                    default_data        = "";
-                    opaque_data         = "";                   
-                    }
-                };
-            }
-        };
-    }
-
--- a/locationsystemui/locationsysui/locnotprefplugin/data/backup_registration.xml	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-<?xml version="1.0" standalone="yes"?>
-<backup_registration version="1.0">
-    <proxy_data_manager sid = "0x10202BE9" />
-    <restore requires_reboot = "no"/>
-</backup_registration>
--- a/locationsystemui/locationsysui/locnotprefplugin/data/locnotprefpluginview.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,288 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Contains all the resource definitions for the Location Notation
-*                Preferences plug-in
-*
-*/
-
-
-//  RESOURCE IDENTIFIER
-
-NAME    LNPR // 4 Letter Identifier
-
-//  SYSTEM INCLUDES
-#include <data_caging_paths_strings.hrh>
-#include <bldvariant.hrh>
-#include <avkon.rh>
-#include <avkon.rsg>
-#include <avkon.mbg>
-#include <EIKCORE.rsg>
-#include <eikon.rh>
-#include <eikon.rsg>
-#include <avkon.loc>
-
-// USER INCLUDES
-#include <location.loc>
-#include <locnotprefsettings.loc>
-#include "locnotprefplugin.hrh"
-
-//  RESOURCE DEFINITIONS 
-    
-RESOURCE RSS_SIGNATURE 
-    {
-    }
-
-//------------------------------------------------------------------------------
-//   
-// r_locnotprefplugin_view
-// Location Notation Preferences plug-in view
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE AVKON_VIEW r_locnotprefplugin_view
-    {
-    menubar = r_locnotprefplugin_menubar_view;
-    cba = r_locnotprefplugin_cba;    
-    }
-
-//------------------------------------------------------------------------------
-//   
-// r_locnotprefplugin_cba
-// CBA for Location Notation preferences plug-in
-//
-//-------------------------------------------------------------------------------
-//   
-RESOURCE CBA r_locnotprefplugin_cba
-    {
-    flags = 0;
-    buttons = 
-        {
-        CBA_BUTTON 
-            {
-            id = EAknSoftkeyOptions; 
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON 
-            {
-            id = EAknSoftkeyBack; 
-            txt = text_softkey_back;
-            },
-        CBA_BUTTON
-            {
-            id = ELocNotPrefMSKChange; 
-            txt = qtn_msk_change;
-            }
-        };
-    }
-
-//------------------------------------------------------------------------------
-//   
-// r_locnotprefplugin_menubar_view
-//
-// Menu bar for Location Notation preferences plug-in view.
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_locnotprefplugin_menubar_view
-    {
-    titles=
-        {
-        MENU_TITLE 
-            { 
-            menu_pane = r_locnotprefplugin_menu; txt=""; 
-            }
-        };
-    }
-
-//------------------------------------------------------------------------------
-//   
-// r_locnotprefplugin_menu
-//
-// Menu Items for Location Notation preferences plug-in view.
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_locnotprefplugin_menu
-    {
-    items=
-        {
-        MENU_ITEM 
-            { 
-            command = ELocNotPrefChange; 
-            txt = qtn_options_change; 
-            flags = EEikMenuItemAction;
-            },
-        MENU_ITEM 
-            { 
-            command = EAknCmdHelp; 
-            txt = qtn_options_help; 
-            },
-        MENU_ITEM 
-            {
-            // Exit option should use 'EEikCmdExit' instead of 'EEAknCmdExit'
-            // This is to ensure that the Exit command is not handled by the 
-            // ProcessCommandL of CAknView and is transferred to 
-            // CAknViewAppUi::HandleCommandL. This behaviour is necessary 
-            // for proper handling of the Exit command from an App Server's 
-            // perspective.
-            command = EEikCmdExit;  
-            txt = qtn_options_exit; 
-            }
-        };
-    }
-    
-//------------------------------------------------------------------------------
-// r_loc_settings_notations
-// 
-// Caption text for Location Notation preferences settings
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loc_settings_notations
-    {
-    buf = qtn_loc_settings_notations;
-    }
-       
-//------------------------------------------------------------------------------
-// r_loc_title_notations
-// 
-// Title text for Location Notation preferences settings
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loc_title_notations
-    {
-    buf = qtn_loc_title_notations;
-    }
-    
-//------------------------------------------------------------------------------
-// r_loc_notation_measures
-// 
-// List box text for System of Measurements
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loc_notation_measures
-    {
-    buf = qtn_loc_notation_measures;
-    }
-
-//------------------------------------------------------------------------------
-// r_loc_notation_coordinate_format
-// 
-// List box text for Co-ordinate display format
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loc_notation_coordinate_format
-    {
-    buf = qtn_loc_notation_coordinate_format;
-    }
-
-//------------------------------------------------------------------------------
-// r_loc_metric_system
-// 
-// Settings value for System of measures. Indicates usage of Metric system of 
-// measurement for all location applications
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loc_metric_system
-    {
-    buf = qtn_loc_metric_system;
-    }
-
-//------------------------------------------------------------------------------
-// r_loc_imperial_system
-// 
-// Settings value for System of measures. Indicates usage of Imperial system of 
-// measurement for all location applications
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loc_imperial_system
-    {
-    buf = qtn_loc_imperial_system;
-    }
-
-//------------------------------------------------------------------------------
-// r_loc_format_decimal_seconds
-// 
-// Settings value for Co-ordinate display format. Indicates usage of Degrees, 
-// minutes, seconds and decimal seconds
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loc_format_decimal_seconds
-    {
-    buf = qtn_loc_format_decimal_seconds;
-    }
-
-//------------------------------------------------------------------------------
-// r_loc_format_decimal_minutes
-// 
-// Settings value for Co-ordinate display format. Indicates usage of Degrees, 
-// minutes and decimal minutes
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loc_format_decimal_minutes
-    {
-    buf = qtn_loc_format_decimal_minutes;
-    }
-
-//------------------------------------------------------------------------------
-// r_loc_format_decimal_degrees
-// 
-// Settings value for Co-ordinate display format. Indicates usage of Degrees  
-// and decimal degrees
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loc_format_decimal_degrees
-    {
-    buf = qtn_loc_format_decimal_degrees;
-    }
-    
-//------------------------------------------------------------------------------
-// r_loc_sysofmeas_settings
-//
-// Settings page for manipulating System of measurement settings
-//------------------------------------------------------------------------------
-//
-RESOURCE AVKON_SETTING_PAGE r_loc_sysofmeas_settings
-    { 
-    label = qtn_loc_notation_measures;
-    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
-    type = EAknSetListBox;
-    editor_resource_id = r_loc_not_settings_listbox;
-    }      
-
-//------------------------------------------------------------------------------
-// r_loc_coorddisplay_settings
-//
-// Settings page for manipulating Co-ordinate display format settings
-//------------------------------------------------------------------------------
-//
-RESOURCE AVKON_SETTING_PAGE r_loc_coorddisplay_settings
-    { 
-    label = qtn_loc_notation_coordinate_format;
-    softkey_resource = R_AVKON_SOFTKEYS_CANCEL;
-    type = EAknSetListBox;
-    editor_resource_id = r_loc_not_settings_listbox;
-    } 
-     
-//------------------------------------------------------------------------------
-//   
-//    r_blid_settings_listbox 
-//    Set Settings text
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE LISTBOX r_loc_not_settings_listbox 
-    {
-    flags = EEikListBoxMultipleSelection;
-    }   
-// End of File
--- a/locationsystemui/locationsysui/locnotprefplugin/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  This file provides the information required for building 
-*                Location Notation Preferences plug-in.
-*
-*/
-
-
-// To get the MW_LAYER_PLATFORM_EXPORT_PATH macro definitions
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../data/backup_registration.xml     z:/private/10281861/backup_registration.xml
-
-PRJ_MMPFILES
-locnotprefplugin.mmp    
-
-
-PRJ_TESTMMPFILES
-
-//  End of File  
--- a/locationsystemui/locationsysui/locnotprefplugin/group/locnotprefplugin.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Project definition file for Location Notation Preferences plug-in.
-*
-*/
-
-
-#include <platform_paths.hrh> // For the MW_LAYER_SYSTEMINCLUDE
-#include <data_caging_paths.hrh>
-#include "../inc/locnotprefpluginuid.hrh"    // For UID3
-
-CAPABILITY          CAP_ECOM_PLUGIN
-TARGET              locnotprefplugin.dll
-TARGETTYPE          PLUGIN
-UID                 0x10009D8D KLocNotPrefPluginUID3
-VENDORID            VID_DEFAULT
-
-SOURCEPATH          ../src
-SOURCE              locnotprefplugin.cpp
-SOURCE              locnotprefpluginimptable.cpp
-SOURCE              locnotprefplugincontainer.cpp
-SOURCE              locnotprefpluginview.cpp
-SOURCE              locnotprefpluginengine.cpp
-SOURCE              locnotprefsomadapter.cpp
-SOURCE              locnotprefcorddisadapter.cpp
-
-
-USERINCLUDE         ../inc
-USERINCLUDE         ../data
-USERINCLUDE         ../../inc
-USERINCLUDE         ../../../inc
-USERINCLUDE         ../../../../inc
-
-// System Include
-APP_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH          ../data
-
-//ECOM resource definition
-START RESOURCE      1020690F.rss
-TARGET              locnotprefplugin.rsc
-END // ECOM resource definition
-
-//View resources
-START RESOURCE      locnotprefpluginview.rss
-HEADER
-TARGETPATH          RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END // View Resources
-
-LIBRARY             euser.lib
-LIBRARY             ecom.lib
-LIBRARY             efsrv.lib
-LIBRARY             avkon.lib
-LIBRARY             bafl.lib 
-LIBRARY             cone.lib 
-LIBRARY             eikcoctl.lib 
-LIBRARY             eikcore.lib 
-LIBRARY             commonengine.lib        // RConeResourceLoader
-LIBRARY             egul.lib                // CGulIcon
-LIBRARY             aknskins.lib            // AknsUtils.h
-LIBRARY             centralrepository.lib   // CRepository
-LIBRARY             featmgr.lib             // Feature manager API
-LIBRARY             hlplch.lib              // Help File
-
-// End of File
--- a/locationsystemui/locationsysui/locnotprefplugin/inc/locnotprefadapterobserver.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Observer to the Location Notation Preferences settings' adapters
-*
-*/
-
-#ifndef M_LOCNOTPREFADAPTEROBSERVER_H_
-#define M_LOCNOTPREFADAPTEROBSERVER_H_
-
-//  System Includes
-#include <e32base.h>
-
-// User Includes
-
-// Forward Declarations
-
-// Constant Declarations
-// Class Definition
-
-/**
- * Observer to the Location notation preferences settings' adapter. This class
- * provides notification about the changes to the Central-repository values of
- * Location notation preferences settings.
- */
-class MLocNotPrefAdapterObserver
-    {
-    public:
-        /**
-         * Creates new Location Notation Preferences plug-in view.
-         */                                                 
-        virtual void HandleSettingsChangeL() = 0;
-
-    };          
-
-#endif // M_LOCNOTPREFADAPTEROBSERVER_H_
-
--- a/locationsystemui/locationsysui/locnotprefplugin/inc/locnotprefcorddisadapter.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,171 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Location Notation Preferences Plugin Co-ordinate display adapter
-*
-*/
-
-#ifndef C_LOCNOTPREFCOORDINATEDISPLAYADAPTER_H_
-#define C_LOCNOTPREFCOORDINATEDISPLAYADAPTER_H_
-
-//  System Includes
-#include <e32base.h>
-
-// User Includes
-
-// Forward Declarations
-class MLocNotPrefAdapterObserver;
-class CRepository;
-
-// Constant Declarations
-
-// Class Definition
-
-/**
- * Adapter to the Co-ordinate Display settings storage
- */
-class CLocNotPrefCoordinateDisplayAdapter : public CActive
-    {
-    public:
-        /**
-         * Enumeration for the positon of the Co-ordinate display values in display order
-         */         
-        enum TCordDisSetListPosition
-            {
-            /**
-             * Enumeration to denote Location information is to be displayed 
-             * at postion 0
-             */
-            EPosDMSS = 0x00000000,
-            
-            /**
-             * Enumeration to denote Location information is to be displayed
-             * at postion 1
-             */             
-            EPosDMM,
-            
-            /**
-             * Enumeration to denote Location information is to be displayed
-             * at postion 2
-             */ 
-            EPosDD             
-            };            
-    public:
-        /**
-         * Creates new Co-ordinate display adapter
-         *
-         * @param  aAdapterObsrv                        Observer to the Settings adapter
-         * @return CLocNotPrefCoordinateDisplayAdapter& Reference to the application view
-         */                                                 
-        static CLocNotPrefCoordinateDisplayAdapter* NewL( 
-                            MLocNotPrefAdapterObserver& aAdapterObsrv );
-
-
-        /**
-         * Creates new Co-ordinate display adapter
-         * Leaves the object on the Clean up stack         
-         *
-         * @param  aAdapterObsrv                        Observer to the Settings adapter
-         * @return CLocNotPrefCoordinateDisplayAdapter& Reference to the application view
-         */                                                 
-        static CLocNotPrefCoordinateDisplayAdapter* NewLC( 
-                            MLocNotPrefAdapterObserver& aAdapterObsrv );    
-
-        
-        /**
-         * Destructor
-         */
-        ~CLocNotPrefCoordinateDisplayAdapter ();
-        
-        /**
-         * Returns the position of the Co-ordinate display format settings value.
-         *
-         * @return TCordDisSetListPosition Current postion of the Co-ordinate display
-         *                                 settings value.
-         */
-        TCordDisSetListPosition GetCurrentDisplayFormatL();
-        
-        /**
-         * Sets the value of the Co-ordinate display format settings based on the 
-         * display position.
-         *
-         * @param aSettingsPos  Position of the new Co-ordinate display settings value.
-         */
-        void SetCurrentDisplayFormatL( TCordDisSetListPosition aSettingsPos );
-
-    protected:
-        /**
-         * Inherited from CActive
-         */
-        void RunL();
-        
-        /**
-         * Inherited from CActive
-         */
-        void DoCancel();
-                    
-    private:
-        /**
-         * Constructor
-         */
-        CLocNotPrefCoordinateDisplayAdapter( MLocNotPrefAdapterObserver&    aAdapterObsrv );
-
-        /**
-         * Second Phase Constructor
-         */
-        void ConstructL();
-        
-        /**
-         * Start notification from the Central repository server for any changes in the
-         * Co-ordinate display format key value
-         */
-        void StartNotification();
-        
-    private:
-        /**
-         * Enumeration for Co-ordinate display values
-         */
-        enum TCoordinateDisplayValue
-            {
-            /**
-             * Enumeration to denote Location information is to be displayed in
-             * Degrees and Decimal Degrees
-             */ 
-            EDD = 0x00000000,
-            /**
-             * Enumeration to denote Location information is to be displayed in
-             * Degrees, Minutes and Decimal Minutes
-             */             
-            EDMM,
-            /**
-             * Enumeration to denote Location information is to be displayed in
-             * Degrees, Minutes, Seconds and Decimal Seconds
-             */             
-            EDMSS
-            };
-                
-        /**
-         * Reference to the Adapter observer
-         */
-        MLocNotPrefAdapterObserver&     iObserver;
-        
-        /**
-         * Reference to the Central repository object
-         *
-         * Owns
-         */
-        CRepository*                    iRepository; 
-    };          
-
-#endif // C_LOCNOTPREFCOORDINATEDISPLAYADAPTER_H_
-
--- a/locationsystemui/locationsysui/locnotprefplugin/inc/locnotprefengobserver.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Location Notation Preferences Plugin Engine Observer
-*
-*/
-
-
-#ifndef M_LOCNOTPREFENGOBSERVER_H_
-#define M_LOCNOTPREFENGOBSERVER_H_
-
-// Class Declaration
-/**
- * Observer to the Location Notation Preferences plug-in.
- */
- 
-class MLocNotPrefEngObserver
-    {
-    public:
-        /**
-         * Notifies a change in the Location notation preferences settings values
-         */
-        virtual void HandleSettingsChangeEventL() = 0;
-           
-    };
-    
-#endif // M_LOCNOTPREFENGOBSERVER_H_
-
--- a/locationsystemui/locationsysui/locnotprefplugin/inc/locnotprefplugin.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,150 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Location Notation Preferences Plugin View's container
-*
-*/
-
-#ifndef C_LOCNOTPREFPLUGIN_H_
-#define C_LOCNOTPREFPLUGIN_H_
-
-// System Includes
-#include <ConeResLoader.h>
-
-// User Includes
-#include "locsettingsui.h"
-
-// Classes referenced
-class MLocSettingsUiObserver;
-class CAknViewAppUi;
-class CLocNotPrefPluginView;
-
-// Constant Definition
-/**
- * 
- *  Location Notation Preferences plug-in RSC file name
- */
-_LIT( KLocNotPrefUiResFileName, "locnotprefpluginview.rsc" );
-
-// Class Definition
-
-/**
- *  CLocNotPrefPlugin
- *
- * Location Notation Preferences plug-in.
- */
-class CLocNotPrefPlugin : public CLocSettingsUi
-    {
-    
-    public: // Constructors and destructor
-        
-        /**
-         * Symbian OS two-phased constructor
-         *
-         * @param aParam Generic parameter structure to the Settings UI plug-in
-         * @return 
-         */
-        static CLocNotPrefPlugin* NewL( TAny* aParam );
-    
-        /**
-         * Destructor.
-         */
-        ~CLocNotPrefPlugin();
- 
-        /**
-         * Inherited from CSettingsUi
-         * Launches the Settings UI
-         *
-         * @param aUiLaunchParams   Flags that define specific configuration of
-         *                          if the Settings UI, that the user of the API
-         *                          wants to launch. If more than one functionality
-         *                          is requested then the various combinations
-         *                          are to be ORed. The interpretation of these
-         *                          flag values is a part of the understanding
-         *                          between the API user and the Settings UI
-         */
-        void LaunchL( TInt      aUiLaunchParams );
-
-        /**
-         * Inherited from CSettingsUi
-         * Closes the running Settings UI prematurely.
-         */
-        void Close();
-
-        /**
-         * Inherited from CSettingsUi
-         * Method for getting caption of this plugin. This should be the 
-         * localized name of the settings view to be shown in parent view.
-         *
-         * @param aCaption pointer to Caption variable
-         */
-        void GetCaptionL( TDes& aCaption ) const;
-
-        /**
-         * Inherited from CSettingsUi
-         * Returns the priority of the UI module.
-         * 
-         * @return Priority of the Settings UI
-         */
-        TInt GetPriority();
-         
-    private:
-        /**
-         * C++ default constructor.
-         */
-        CLocNotPrefPlugin( MLocSettingsUiObserver&      aSettingsUiObserver,
-                           CAknViewAppUi&               aAppUi );
-
-        /**
-         * Second phase constructor.
-         */
-        void ConstructL();
-
-        /**
-         * Opens the nearest localized resourcefile using aResourceLoader. 
-         * aResourceLoader should be opened only once before closing it. 
-         * Otherwise it will raise a panic. Therefore it is better to have 
-         * multiple resource loaders.
-         * 
-         * @param aResourceFileName Drive and name of resource file in format 
-         *                          <path>:<rsc_file_name>
-         * @param aResourceLoader Resource loader for the resource. The loader 
-         *                        must not be opened allready or it will raise 
-         *                        a panic. It is caller's responsibility to 
-         *                        close the resource loader after using the 
-         *                        resource.
-         */
-        void OpenLocalizedResourceFileL( const TDesC&               aResourceFileName, 
-                                               RConeResourceLoader& aResourceLoader );
-                                                       
-  
-    private:
-        /**
-         * Resource Loader handle for handling Location Notation preferences settings' 
-         * specific resources
-         */
-        RConeResourceLoader             iResourceLoader;
-            
-        /**
-         * Location Notation preferences view
-         * Owns
-         */
-        CLocNotPrefPluginView*      iView;
-        
-        /**
-         * Location Notation preferences view Id
-         */
-        TUid                        iViewId;
-    };
-
-#endif // C_LOCNOTPREFPLUGIN_H_
--- a/locationsystemui/locationsysui/locnotprefplugin/inc/locnotprefplugin.hrh	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Contains declarations for constants of SUPL Settings UI.
-*                This file can be included in C++ or resource file.
-*
-*/
-
-
-#ifndef _LOCNOTPREFPLUGIN_HRH_
-#define _LOCNOTPREFPLUGIN_HRH_
-
-/**
- * Enumeration of Command Ids for Location Notation Preferences plug-in
- */
-enum TLocNotPrefCommandIds
-    {
-    ELocNotPrefChange = 0x6000,
-    ELocNotPrefMSKChange,
-    ELocCmdNone
-    };
-
-#endif      // _LOCNOTPREFPLUGIN_HRH_
-
-// End of File
--- a/locationsystemui/locationsysui/locnotprefplugin/inc/locnotprefplugincmdhdlr.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Interface class that provides the command handling functionality.
-*                The class implementing it should be prepared to handle all commands
-*                except those internal to the calling UI
-*
-*/
-
-
-#ifndef M_LOCNOTPREFPLUGINCMDHDLR_H_
-#define M_LOCNOTPREFPLUGINCMDHDLR_H_
-
-// System Include 
-#include <e32base.h>
-
-// Class Definition
-
-/**
- *  Interface class that provides the command handling functionality.
- */
-class MLocNotPrefPluginCmdHdlr
-    {
-    public:
-        /**
-         * Enumeration for Command Handler commands
-         */
-         enum TLocNotPrefPluginCmd
-            {
-            /**
-             * List box item selection
-             */
-            EListBoxItemSelected,
-            
-            /**
-             * Screen size changed
-             */
-            EScreenSizeChanged
-            };
-    public:
-        /**
-         * Command handling function
-         *
-         * @param aCommand Command that needs to be handled
-         */
-         virtual void HandleCmdL( TLocNotPrefPluginCmd aCommand )   = 0;
-         
-    };
-
-#endif // M_LOCNOTPREFPLUGINCMDHDLR_H_
-
--- a/locationsystemui/locationsysui/locnotprefplugin/inc/locnotprefplugincontainer.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,184 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Location Notation Preferences Plugin View's container
-*
-*/
-
-#ifndef C_LOCNOTPREFPLUGINCONTAINER_H_
-#define C_LOCNOTPREFPLUGINCONTAINER_H_
-
-// System Includes 
-#include <e32base.h>
-#include <coecntrl.h>
-#include <eiklbo.h>
-
-// Forward Declarations
-class MDesCArray;
-class MLocNotPrefPluginCmdHdlr;
-class CAknSettingStyleListBox;
-
-// Class Definition
-
-/**
- * Container for the CLocNotPrefPluginView.
- */
-class CLocNotPrefPluginContainer : public CCoeControl,
-                                   public MEikListBoxObserver
-    {
-    public:
-        /**
-         * Static Two phase contructor that instantiates the CLocNotPrefPluginContainer
-         * 
-         * @param aRect                         Client rectangle
-         * @param aListBoxModel                 Model for the container's list box
-         * @param aCmdHandler                   List box command handler
-         * @return CLocNotPrefPluginContainer*  Reference to the object created
-         */
-        static CLocNotPrefPluginContainer* NewL( 
-                                const TRect&                    aRect,
-                                      MDesCArray&               aListBoxModel,
-                                      MLocNotPrefPluginCmdHdlr& aCmdHandler );
-
-        /**
-         * Static Two phase contructor that instantiates the CLocNotPrefPluginContainer
-         * Leaves the object on the Cleanup stack
-         * 
-         * @param aRect                         Client rectangle
-         * @param aListBoxModel                 Model for the container's list box
-         * @param aCmdHandler                   List box command handler     
-         * @return CLocNotPrefPluginContainer*  Reference to the object created
-         */
-        static CLocNotPrefPluginContainer* NewLC(
-                                const TRect&                    aRect,
-                                      MDesCArray&               aListBoxModel,
-                                      MLocNotPrefPluginCmdHdlr& aCmdHandler );
-        /**
-         * Destructor
-         */
-        ~CLocNotPrefPluginContainer();
-         
-        /**
-         * Returns the currentlt focussed element.
-         *
-         * @return TInt Index of the item selected
-         */
-        TInt GetFocussedItem();
-        
-        /**
-         * Inherited from CCoeControl
-         */
-        void HandleResourceChange(TInt aType);
-
-        /**
-         * From CoeControl
-         */
-        TInt CountComponentControls() const;
-
-        /**
-         * From CCoeControl
-         */
-        CCoeControl* ComponentControl(TInt aIndex) const;
-
-        /**
-         * Inherited from CCoeControl
-         */
-        TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
-                                           TEventCode aType );
-         
-        /**
-         * Inherited from MEikListBoxObserver
-         */
-        void HandleListBoxEventL( CEikListBox*      aListBox, 
-                                  TListBoxEvent     aEventType );        
-     
-        /**
-         * Returns the help context
-         *
-         * @param aContext  The help context that has to be determined
-         */
-        void GetHelpContext( TCoeHelpContext& aContext ) const;
-        
-        /**
-         * Handles the pointer events
-         */
-        void HandlePointerEventL( const TPointerEvent &aPointerEvent );
-             
-    protected:
-        /**
-         * Handles Focus Change to list 
-         */
-        void FocusChanged(TDrawNow aDrawNow);
-         
-        /**
-         * From CoeControl,SizeChanged.
-         */
-        void SizeChanged();
-
-    private:
-        /**
-         * Overloaded Constructor
-         */
-        CLocNotPrefPluginContainer( MDesCArray&               aListBoxModel,
-                                    MLocNotPrefPluginCmdHdlr& aCmdHandler );
-
-        /**
-         * Second phase of the two phase Construction process
-         */
-        void ConstructL( const TRect& aRect );
-           
-        /** 
-         * Creates the List box and the Listbox model. Associates the 
-         * list box model wit the list box
-         *         
-         */
-        void CreateListboxL();
-                      
-        /**
-         * Sets the Title text
-         * @param aResourceText Resource to create title
-         */
-        void MakeTitleL( TInt aResourceText );
-              
-         /**
-          * Returns the Appui's status pane
-          * @return CEikStatusPane* Statuspane pointer
-          */
-         CEikStatusPane* StatusPane();
-     
-    private:
-        /**
-         * Reference to the List box model
-         */
-        MDesCArray&                 iListBoxModel;
-          
-        /**
-         * Reference to the List box command handler
-         */
-        MLocNotPrefPluginCmdHdlr&   iCmdHandler;
-        
-        /**
-         * Settings list box for SUPL settings
-         * Owns
-         */
-        CAknSettingStyleListBox*        iListBox;
-        
-        /**
-         * Help context
-         */
-        TCoeContextName                 iContextName;
-        
-  };
-
-#endif // C_LOCNOTPREFPLUGINCONTAINER_H_
-
--- a/locationsystemui/locationsysui/locnotprefplugin/inc/locnotprefpluginengine.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,216 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Location Notation Preferences Plugin Engine
-*
-*/
-
-#ifndef C_LOCNOTPREFPLUGINENGINE_H_
-#define C_LOCNOTPREFPLUGINENGINE_H_
-
-//  System Includes
-#include <e32base.h>
-#include <bamdesca.h>  // MDesCArray
-
-// User Includes
-#include "locnotprefadapterobserver.h"
-
-// Forward Declarations
-class MLocNotPrefEngObserver;
-class CLocNotPrefCoordinateDisplayAdapter;
-class CLocNotPrefSystemofMeasAdapter;
-
-// Constant Declarations
-
-// Class Definition
-
-/**
- * Engine for Location Notation Preferences Plugin.
- *
- * The class for interacting accessing and modifying Notation preferences settings. The 
- * class interfaces with the corresponding Central repositories for Measurement and 
- * co-ordinate settings and also listens for changes to the Cen-rep keys.
- * Further, its also doubles up as a model for the Location notation preferences 
- * list-box
- */
-class CLocNotPrefPluginEngine : public CBase,
-                                public MDesCArray,
-                                public MLocNotPrefAdapterObserver
-    {
-    public:
-        /**
-         * Enumeration for the Settings list
-         */
-        enum TSettingsList
-            {
-            /**
-             * System of Measurement
-             */
-            ESystemofMeasurement,
-            
-            /**
-             * Co-ordinate display format
-             */
-            ECoordinateDisplayFormat      
-            };
-            
-    public:
-        /**
-         * Creates new Location Notation Preferences plug-in engine instance.
-         *
-         * @param  aEngineObserver           Observer to the Notation preferences engine
-         * @return CLocNotPrefPluginEngine* Reference to the application view
-         */                                                 
-        static CLocNotPrefPluginEngine* NewL( MLocNotPrefEngObserver& aEngineObserver );
-
-        /**
-         * Creates new Location Notation Preferences plug-in engine instance.
-         * Leaves the object on the Clean-up stack.
-         *
-         * @param  aEngineObserver           Observer to the Notation preferences engine
-         * @return CLocNotPrefPluginEngine* Reference to the application view
-         */                                                 
-        static CLocNotPrefPluginEngine* NewLC( MLocNotPrefEngObserver& aEngineObserver );
-        
-        /**
-         * Destructor
-         */
-        ~CLocNotPrefPluginEngine();
-        
-    public:
-        /**
-         * Inherited from MDesCArray
-         */
-        TInt MdcaCount() const;
-
-        /**
-         * Inherited from MDesCArray
-         */
-        TPtrC16 MdcaPoint( TInt aIndex ) const;
-
-        /**
-         * Inherited from MLocNotPrefAdapterObserver
-         */     
-        void HandleSettingsChangeL();
-        
-    public:
-        /**
-         * Closes the running Settings UI prematurely. This would result in dismissing
-         * any active dialogs currently running
-         */
-        void Close();
-            
-        /**
-         * Change System of Measurement settings
-         */
-        void ChangeSysofMeasSettingsL();
-        
-        /**
-         * Toggle System of Measurement settings
-         */
-        void ToggleSysofMeasSettingsL();
-        
-        /**
-         * Change Co-ordinate display format settings
-         */
-        void ChangeCoordinateDisplaySettingsL();
-                
-    private:
-        /**
-         * Constructor
-         */
-        CLocNotPrefPluginEngine(  MLocNotPrefEngObserver& aEngineObserver );
-
-        /**
-         * Second Phase Constructor
-         */
-        void ConstructL();
-        
-    private:
-        
-        /**
-         * Reference to the Engine observer
-         */
-        MLocNotPrefEngObserver&                 iObserver;
-        
-        /**
-         * Co-ordinate display format settings handle
-         * Owns
-         */ 
-        CLocNotPrefCoordinateDisplayAdapter*    iCordDisplaySettings;
-        
-        /**
-         * System of measurements settings handle
-         * Owns
-         */ 
-        CLocNotPrefSystemofMeasAdapter*         iSysofMeasSettings;
-        
-        /**
-         * System of measurement heading
-         * Owns
-         */
-        HBufC16*                                iSysofMeasTitle;
-        
-        /**
-         * Co-ordinate display format heading
-         * Owns
-         */
-        HBufC16*                                iCoordDispTitle;
-        
-        /**
-         * Imperial settings text
-         * Owns
-         */
-        HBufC16*                                iImperialSettings;
-        
-        /**
-         * Metric settings text
-         * Owns
-         */
-        HBufC16*                                iMetricSettings; 
-        
-         /**
-         * Degrees resolution settings text
-         * Owns
-         */
-        HBufC16*                                iDegreesSettings;
-        
-        /**
-         * Minutes resolution settings text
-         * Owns
-         */
-        HBufC16*                                iMinutesSettings;
-        
-        /**
-         * Seconds resolution settings text
-         * Owns
-         */
-        HBufC16*                                iSecondsSettings;
-        
-        /**
-         * Temporary Buffer for returning values to the Accessor 
-         * functions.
-         * Owns
-         */
-        HBufC16*                                iConversionBuffer;
-        
-        /**
-         * Boolean value to denote whether any settings dialog is currently
-         * outstanding
-         */
-        TBool                                   iSettingsDialogOutstanding;                
-                    
-    };          
-
-#endif // C_LOCNOTPREFPLUGINENGINE_H_
-
--- a/locationsystemui/locationsysui/locnotprefplugin/inc/locnotprefpluginuid.hrh	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Contains the UID3 value to be used for the Location Notation 
-*                Preferences plug-in. This value is expected to have two specific
-*                functions
-*                1. UID3 for the locnotprefplugindll.dll ECOM DLL
-                 2. Implementation UID for the ECOM plugin to LocSysUiEngine
-*
-*/
-
-
-#ifndef _LOCNOTPREFPLUGINUID_HRH_
-#define _LOCNOTPREFPLUGINUID_HRH_
-
-// Location System UI View UID3
-#define KLocNotPrefPluginUID3          0x1020690F
-
-#endif      // _LOCNOTPREFPLUGINUID_HRH_
-
-// End of File
-
-
--- a/locationsystemui/locationsysui/locnotprefplugin/inc/locnotprefpluginview.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,200 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Location Notation Preferences Plugin view
-*
-*/
-
-#ifndef C_LOCNOTPREFPLUGINVIEW_H_
-#define C_LOCNOTPREFPLUGINVIEW_H_
-
-//  System Includes
-#include <data_caging_path_literals.hrh>
-#include <e32base.h>
-#include <aknview.h>
-#include <aknViewAppUi.h>
-#include <ConeResLoader.h>
-
-// User Includes
-#include "locnotprefpluginuid.hrh"
-#include "locnotprefplugincmdhdlr.h"
-#include "locnotprefengobserver.h"
-
-// Forward Declarations
-class CLocNotPrefPluginContainer;
-class MLocNotPrefPluginCmdHdlr;
-class MLocSettingsUiObserver;
-class CLocNotPrefPluginEngine;
-class CTextResolver;
-    
-// Constant Declarations
-const TUid KLocNotPrefViewPluginUid = { KLocNotPrefPluginUID3 };
-_LIT( KLocNotPrefViewResFileName, "locnotprefpluginview.rsc" );
-
-// Class Definition
-
-/**
- * Location Notation Preferences Plugin view class. 
- */
-class CLocNotPrefPluginView : public CAknView,
-                              public MLocNotPrefPluginCmdHdlr,
-                              public MLocNotPrefEngObserver
-    {
-    public:
-        /**
-         * Creates new Location Notation Preferences plug-in view.
-         *
-         * @param  aSettingsObsrv           Observer to the Settings UI
-         * @return CLocNotPrefPluginView&   Reference to the application view
-         */                                                 
-        static CLocNotPrefPluginView* NewL( MLocSettingsUiObserver& aSettingsObsrv );
-
-        /**
-         * Creates new Location Notation Preferences plug-in view. 
-         * Leaves the object on the Clean up stack
-         *
-         * @param  aSettingsObsrv           Observer to the Settings UI         
-         * @return CLocNotPrefPluginView&   Reference to the application view
-         */                                                 
-        static CLocNotPrefPluginView* NewLC( MLocSettingsUiObserver& aSettingsObsrv );
-        
-        /**
-         * Destructor
-         */
-        ~CLocNotPrefPluginView ();
-
-        /**
-         * Close the Notation preferences Settings
-         */
-        void CloseSettings();
-        
-        /**
-         * From CAknView. 
-         */
-        void DoActivateL( const TVwsViewId& aPrevViewId,
-                                TUid        aCustomMessageId,
-                          const TDesC8&     aCustomMessage );
-        
-        /**
-         * From CAknView. 
-         */
-        void DoDeactivate();
- 
-        /**
-         * From CAknView. Returns the View Id. Should be chosen to reflect 
-         * the Implementation UID of the Plugin
-         */
-        TUid Id() const;
-
-        /**
-         * From CAknView. 
-         */
-        void HandleCommandL(TInt aCommand);
-        
-       /**
-        * From MEikMenuObserver
-        */
-        void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );        
-        
-    public:
-        /**
-         * Inherited from MLocNotPrefPluginCmdHdlr
-         * Handles commands from the container
-         *
-         * @param  aCommand Command ID
-         */
-        void HandleCmdL( TLocNotPrefPluginCmd aCommand );
-
-    public:
-        /**
-         * Inherited from MLocNotPrefEngObserver
-         */
-        void HandleSettingsChangeEventL();
-                
-    private:
-        /**
-         * Constructor
-         */
-        CLocNotPrefPluginView( MLocSettingsUiObserver& aSettingsObsrv );
-
-        /**
-         * Second Phase Constructor
-         */
-        void ConstructL();
-    
-        /**
-         * Shows or dims help option, depending wheather help feature
-         * is supported or not.
-         * @param aMenuPane
-         */
-        void HandleHelpFeature( CEikMenuPane& aMenuPane ) const;
-            
-        /**
-         * Handle Settings Change Event
-         * 
-         * @param aCmd Settings change command
-         */
-        void SettingsChangeL( TInt aCmd );
-        
-        /**
-         * Opens the nearest localized resourcefile using aResourceLoader. 
-         * aResourceLoader should be opened only once before closing it. 
-         * Otherwise it will raise a panic. Therefore it is better to have 
-         * multiple resource loaders.
-         * 
-         * @param aResourceFileName Drive and name of resource file in format 
-         *                          <path>:<rsc_file_name>
-         * @param aResourceLoader Resource loader for the resource. The loader 
-         *                        must not be opened allready or it will raise 
-         *                        a panic. It is caller's responsibility to 
-         *                        close the resource loader after using the 
-         *                        resource.
-         */
-        void OpenLocalizedResourceFileL( const TDesC&                aResourceFileName, 
-                                               RConeResourceLoader&  aResourceLoader );
-        
-    private:        
-        /**
-         * Reference to the Settings UI Observer. Used to notify the dismissal of the 
-         * plug-in
-         */
-        MLocSettingsUiObserver&         iSettingsObserver;
-        
-        /**
-         * Resource loader handle
-         * Owns
-         */
-        RConeResourceLoader             iResourceLoader;
-        
-        /**
-         * Location notation preferences Container
-         * Owns
-         */
-        CLocNotPrefPluginContainer*     iContainer;
-        
-        /**
-         * Location noation preferences engine
-         * Owns
-         */
-        CLocNotPrefPluginEngine*        iEngine;
-        
-        /**
-         * Standard Text resolver for converting Error codes to 
-         * standard texts
-         * Owns
-         */
-        CTextResolver*                  iTextResolver;        
-    };          
-
-#endif // C_LOCNOTPREFPLUGINVIEW_H_
-
--- a/locationsystemui/locationsysui/locnotprefplugin/inc/locnotprefsomadapter.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,130 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Location Notation Preferences Plugin System of measurement
-*                display adapter
-*
-*/
-
-#ifndef C_LOCNOTPREFSYSTEMOFMEASADAPTER_H_
-#define C_LOCNOTPREFSYSTEMOFMEASADAPTER_H_
-
-//  System Includes
-#include <e32base.h>
-
-// User Includes
-#include "locnotprefplugindomaincrkeys.h"
-
-// Forward Declarations
-class MLocNotPrefAdapterObserver;
-class CRepository;
-
-// Constant Declarations
-
-// Class Definition
-
-/**
- * Adapter to the System of Measurement settings storage
- */
-class CLocNotPrefSystemofMeasAdapter : public CActive
-    {
-    public:
-        /**
-         * Creates new System of Measurement adapter
-         *
-         * @param  aAdapterObsrv                        Observer to the Settings adapter
-         * @return CLocNotPrefSystemofMeasAdapter&  Reference to the application view
-         */                                                 
-        static CLocNotPrefSystemofMeasAdapter* NewL( 
-                            MLocNotPrefAdapterObserver& aAdapterObsrv );
-
-
-        /**
-         * Creates new System of Measurement adapter
-         * Leaves the object on the Clean up stack         
-         *
-         * @param  aAdapterObsrv                        Observer to the Settings adapter
-         * @return CLocNotPrefSystemofMeasAdapter&  Reference to the application view
-         */                                                 
-        static CLocNotPrefSystemofMeasAdapter* NewLC( 
-                            MLocNotPrefAdapterObserver& aAdapterObsrv );    
-
-        
-        /**
-         * Destructor
-         */
-        ~CLocNotPrefSystemofMeasAdapter ();
-
-        /**
-         * Returns the current value of the System of measurements settings
-         *
-         * @return TLocSystemofMeasurementValues  Current value of the System of measurements settings
-         */
-        TLocSystemofMeasurementValues GetCurrentSysofMeasL();
-        
-        /**
-         * Sets the value of the System of measurements settings
-         *
-         * @param aSettingsValue  New value of the System of measurements settings
-         */
-        void SetCurrentSysofMeasL( TLocSystemofMeasurementValues aSettingsValue );
-        
-        /**
-         * Toggles the settings value
-         */
-        void ToggleSysofMeasSettingsL();
-        
-    protected:
-        /**
-         * Inherited from CActive
-         */
-        void RunL();
-        
-        /**
-         * Inherited from CActive
-         */
-        void DoCancel();
-                        
-    private:
-        /**
-         * Constructor
-         */
-        CLocNotPrefSystemofMeasAdapter( MLocNotPrefAdapterObserver& aAdapterObsrv );
-
-        /**
-         * Second Phase Constructor
-         */
-        void ConstructL();
-    
-        /**
-         * Start notification from the Central repository server for any changes in the
-         * System of measurements key value
-         */
-        void StartNotification();
-                
-    private:
-        /**
-         * Reference to the Adapter observer
-         */
-        MLocNotPrefAdapterObserver&     iObserver;
-
-        /**
-         * Reference to the Central repository object
-         *
-         * Owns
-         */
-        CRepository*                    iRepository;        
-        
-    };          
-
-#endif // C_LOCNOTPREFSYSTEMOFMEASADAPTER_H_
\ No newline at end of file
--- a/locationsystemui/locationsysui/locnotprefplugin/src/locnotprefcorddisadapter.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,235 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Location Notation Preferences Plugin Co-ordinate display adapter
-*
-*/
-
-
-// System Include
-#include <centralrepository.h>
-
-// User Include
-#include "locnotprefcorddisadapter.h"
-#include "locnotprefadapterobserver.h"
-
-// Constant Definition
-const TUint KAvkonCRUID = 0x101F876E;
-const TUint KLocCoordinateDisplayUID = 0x00000009;
-
-// ========================= MEMBER FUNCTIONS ================================
-
-
-// ---------------------------------------------------------------------------
-// CLocNotPrefCoordinateDisplayAdapter::CLocNotPrefCoordinateDisplayAdapter
-// Overloaded Constructor
-//
-// ---------------------------------------------------------------------------
-//  
-CLocNotPrefCoordinateDisplayAdapter::CLocNotPrefCoordinateDisplayAdapter(  
-                                MLocNotPrefAdapterObserver& aAdapterObsrv )
-    :CActive(EPriorityStandard),
-    iObserver(aAdapterObsrv)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CLocNotPrefCoordinateDisplayAdapter::~CLocNotPrefCoordinateDisplayAdapter
-// Destructor
-//
-// ---------------------------------------------------------------------------
-//
-CLocNotPrefCoordinateDisplayAdapter::~CLocNotPrefCoordinateDisplayAdapter()
-    {
-    Cancel();
-    
-    delete iRepository;
-    }
-    
-// ---------------------------------------------------------------------------
-// CLocNotPrefCoordinateDisplayAdapter* CLocNotPrefCoordinateDisplayAdapter::NewL
-// Creates new Co-ordinate display adapter
-//
-// @param  aAdapterObsrv                        Observer to the Settings adapter
-// @return CLocNotPrefCoordinateDisplayAdapter& Reference to the application view
-// ---------------------------------------------------------------------------
-//    
-CLocNotPrefCoordinateDisplayAdapter* CLocNotPrefCoordinateDisplayAdapter::NewL( 
-                            MLocNotPrefAdapterObserver& aAdapterObsrv )
-    {   
-    CLocNotPrefCoordinateDisplayAdapter* self = 
-                        CLocNotPrefCoordinateDisplayAdapter::NewLC( aAdapterObsrv );
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CLocNotPrefCoordinateDisplayAdapter* CLocNotPrefCoordinateDisplayAdapter::NewLC
-// Creates new Co-ordinate display adapter. Leaves the object on the clean-up
-// stack
-//
-// @param  aAdapterObsrv                        Observer to the Settings adapter
-// @return CLocNotPrefCoordinateDisplayAdapter& Reference to the application view
-// ---------------------------------------------------------------------------
-// 
-CLocNotPrefCoordinateDisplayAdapter* CLocNotPrefCoordinateDisplayAdapter::NewLC( 
-                            MLocNotPrefAdapterObserver& aAdapterObsrv )
-    {   
-    CLocNotPrefCoordinateDisplayAdapter* self = 
-                        new(ELeave) CLocNotPrefCoordinateDisplayAdapter( aAdapterObsrv );
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;
-    }
-    
-// ---------------------------------------------------------------------------
-// void CLocNotPrefCoordinateDisplayAdapter::ConstructL
-// Second Phase Constructor
-//
-// ---------------------------------------------------------------------------
-//
-void CLocNotPrefCoordinateDisplayAdapter::ConstructL()
-    {
-    CActiveScheduler::Add( this );
-    
-    // Create the Central repository object for manipulating Avkon Central
-    // repository for Co-ordinate display settings
-    iRepository = CRepository::NewL(TUid::Uid( KAvkonCRUID));
-    
-    StartNotification();
-    }
-    
-// ---------------------------------------------------------------------------
-// CLocNotPrefCoordinateDisplayAdapter::TCordDisSetListPosition 
-//                CLocNotPrefCoordinateDisplayAdapter::GetCurrentDisplayFormatL
-// Returns the position of the Co-ordinate display format settings value.
-//
-// @return TCordDisSetListPosition Current postion of the Co-ordinate display
-//                                 settings value.
-// ---------------------------------------------------------------------------
-//
-CLocNotPrefCoordinateDisplayAdapter::TCordDisSetListPosition 
-                CLocNotPrefCoordinateDisplayAdapter::GetCurrentDisplayFormatL()
-    {
-    
-    TInt settingsValue = EDMSS;
-    User::LeaveIfError( iRepository->Get( KLocCoordinateDisplayUID,
-                                          settingsValue ));
-    
-    TCordDisSetListPosition setPos = EPosDMSS;
-    switch( settingsValue )
-        {
-        case EDD:
-            {
-            setPos = EPosDD;
-            break;
-            }
-        case EDMM:
-            {
-            setPos = EPosDMM;
-            break;
-            }
-        case EDMSS:           
-        default:
-            {
-             // Incase there was no valid settings value present then we 
-             // set the default value. Hence, nothing to do
-            break;
-            }                        
-        }
-    return setPos;
-    }
-
-// --------------------------------------------------------------------------
-// void CLocNotPrefCoordinateDisplayAdapter::SetCurrentDisplayFormatL
-// Sets the value of the Co-ordinate display format settings based on the
-// display position.
-//
-// @param aSettingsPos  Position of the new Co-ordinate display settings value
-// ---------------------------------------------------------------------------
-//
-void CLocNotPrefCoordinateDisplayAdapter::SetCurrentDisplayFormatL( 
-     CLocNotPrefCoordinateDisplayAdapter::TCordDisSetListPosition aSettingsValue )
-    {
-    
-    TCoordinateDisplayValue setValue = EDMSS;
-    switch( aSettingsValue )
-        {
-        case EPosDD:
-            {
-            setValue = EDD;
-            break;
-            }
-        case EPosDMM:
-            {
-            setValue = EDMM;
-            break;
-            }
-        case EPosDMSS:           
-        default:
-            {
-             // Incase there was no valid settings value present then we 
-             // set the default value. Hence, nothing to do
-            break;
-            }                        
-        }
-    User::LeaveIfError( iRepository->Set( KLocCoordinateDisplayUID,
-                                          setValue ));
-    }
-    
-// --------------------------------------------------------------------------
-// void CLocNotPrefCoordinateDisplayAdapter::RunL
-// Inherited from CActive
-//
-// ---------------------------------------------------------------------------
-//
-void CLocNotPrefCoordinateDisplayAdapter::RunL()
-    {
-    // Issue Notification
-    iObserver.HandleSettingsChangeL();
-    
-    // Schedule for listening to change events again
-    StartNotification();
-    }
-
-// --------------------------------------------------------------------------
-// void CLocNotPrefCoordinateDisplayAdapter::DoCancel
-// Inherited from CActive
-//
-// ---------------------------------------------------------------------------
-//
-void CLocNotPrefCoordinateDisplayAdapter::DoCancel()
-    {
-    // Cancel the outstanding CR notification request
-    if( iRepository )
-        {
-        iRepository->NotifyCancel( KLocCoordinateDisplayUID );        
-        }
-    }
-    
-// --------------------------------------------------------------------------
-// void CLocNotPrefCoordinateDisplayAdapter::StartNotification
-// Start notification from the Central repository server for any changes in the
-// Co-ordinate display format key value
-//
-// ---------------------------------------------------------------------------
-//
-void CLocNotPrefCoordinateDisplayAdapter::StartNotification()
-    {
-    if( !IsActive())
-        {
-        // Request for notification
-        iRepository->NotifyRequest( KLocCoordinateDisplayUID, iStatus);
-        SetActive();          
-        }  
-    }
--- a/locationsystemui/locationsysui/locnotprefplugin/src/locnotprefplugin.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,227 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Location Notation Preferences Plugin View's container
-*
-*/
-
-
-// System Include
-#include <aknViewAppUi.h>
-#include <StringLoader.h>           // For String Loader
-#include <locnotprefpluginview.rsg>
-#include <barsread.h>               // For TResourceReader
-#include <bautils.h>
-
-// User Includes
-#include "locnotprefplugin.h"
-#include "locsettingsuiobserver.h"
-#include "locsettingsuiparams.h"
-#include "locnotprefpluginview.h"
-
-// Constant Definition
-/**
- * Position of Notation Preferences plug-in the Postioning View.
- * As defined by the Location System UI UI specification, the Location
- *  notation preferences plug-in should be inserted at the fourth level
- */
-const TInt KNotPrefPluginPriority = 0x00000004;
-
-// ---------------------------------------------------------------------------
-// CLocNotPrefPlugin::CLocNotPrefPlugin
-// C++ default constructor.
-// ---------------------------------------------------------------------------
-CLocNotPrefPlugin::CLocNotPrefPlugin( MLocSettingsUiObserver&   aSettingsUiObserver,
-                                      CAknViewAppUi&            aAppUi )
-    :CLocSettingsUi( aSettingsUiObserver, aAppUi ),
-    iResourceLoader( *CCoeEnv::Static())
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CLocNotPrefPlugin::~CLocNotPrefPlugin
-// Destructor.
-// ---------------------------------------------------------------------------  
-CLocNotPrefPlugin::~CLocNotPrefPlugin() 
-    {
-    iResourceLoader.Close();
-    }
-
-// ---------------------------------------------------------------------------
-// CLocNotPrefPlugin* CLocNotPrefPlugin::NewL
-// Symbian OS two-phased constructor
-// 
-// @return CLocNotPrefPlugin* Reference to the Settings UI object
-// ---------------------------------------------------------------------------  
-CLocNotPrefPlugin* CLocNotPrefPlugin::NewL( TAny* aParam )
-    {
-    CLocSettingsUiParams*   param = reinterpret_cast<CLocSettingsUiParams *>( aParam );
-    MLocSettingsUiObserver& observer = param->SettingsUiObserver();
-    CAknViewAppUi&          appUi = param->AppUi();
-    CLocNotPrefPlugin* self = new (ELeave )CLocNotPrefPlugin( observer,
-                                                              appUi );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self; 
-    }
-
-// ---------------------------------------------------------------------------
-// void CLocNotPrefPlugin::ConstructL
-// Second phase constructor.
-// ---------------------------------------------------------------------------  
-void CLocNotPrefPlugin::ConstructL()
-    {
-    // Open the Resource file for the plugin. The resource file is not 
-    // explicity opened by system. Hence, the opening and closind if tied
-    // down to the time when the DLL is active
-    OpenLocalizedResourceFileL( KLocNotPrefUiResFileName, 
-                                iResourceLoader );
-                                    
-    // Creating an Application view
-    iView = CLocNotPrefPluginView::NewL( iSettingsUiObserver );
-    
-    // Transferring the view's control to AppUi
-    iAppUi.AddViewL( iView );
-    
-    // Obtaining the View Id for reference
-    iViewId = iView->Id();
-    }
-
-// ---------------------------------------------------------------------------
-// void CLocNotPrefPlugin::LaunchL
-// Inherited from CSettingsUi
-// Launches the Settings UI
-//
-// @param aUiLaunchParams   Flags for Launch options
-// ---------------------------------------------------------------------------  
-void CLocNotPrefPlugin::LaunchL( TInt       /* aUiLaunchParams */)
-    {
-    // Activate self
-    iAppUi.ActivateLocalViewL( iViewId );
-    }
-
-// ---------------------------------------------------------------------------
-// void CLocNotPrefPlugin::Close
-// Inherited from CSettingsUi
-// Closes the running Settings UI
-// ---------------------------------------------------------------------------  
-void CLocNotPrefPlugin::Close()
-    {
-    iView->CloseSettings();
-    }
-
-// ---------------------------------------------------------------------------
-// void CLocNotPrefPlugin::GetCaptionL
-// Inherited from CSettingsUi
-// Method for getting caption of this plugin. This should be the 
-// localized name of the settings view to be shown in parent view.
-//
-// @param aCaption pointer to Caption variable
-// ---------------------------------------------------------------------------
-void CLocNotPrefPlugin::GetCaptionL( TDes& aCaption ) const
-    {
-    // Load the Notation preferences setting caption from the resource file 
-    // and hand it back to the callee. It is assuemed here that the calling function has 
-    // allocated enough memory for the aCaption string. If not the fucntion
-    // would leave
-    HBufC* caption = StringLoader::LoadL( R_LOC_SETTINGS_NOTATIONS );
-    
-    if( aCaption.MaxLength() < caption->Length())
-        {
-        User::Leave( KErrNoMemory );
-        }
-    aCaption.Copy( *caption );
-    delete caption; 
-    }
-
-// ---------------------------------------------------------------------------
-// TInt CLocNotPrefPlugin::GetPriority
-// Inherited from CSettingsUi
-// Returns the priority of the UI module. 
-// 
-// @return Priority of the Settings UI
-// ---------------------------------------------------------------------------
-TInt CLocNotPrefPlugin::GetPriority()
-    {
-    return KNotPrefPluginPriority;
-    }
-
-// ---------------------------------------------------------------------------
-// void CLocNotPrefPlugin::OpenLocalizedResourceFileL
-// Opens the nearest localized resourcefile using aResourceLoader. 
-// aResourceLoader should be opened only once before closing it. 
-// Otherwise it will raise a panic. Therefore it is better to have 
-// multiple resource loaders.
-// 
-// @param aResourceFileName Drive and name of resource file in format 
-//                          <path>:<rsc_file_name>
-// @param aResourceLoader Resource loader for the resource. The loader 
-//                        must not be opened allready or it will raise 
-//                        a panic. It is caller's responsibility to 
-//                        close the resource loader after using the 
-//                        resource.
-// ---------------------------------------------------------------------------  
-//
-void CLocNotPrefPlugin::OpenLocalizedResourceFileL( 
-                                const TDesC&               aResourceFileName, 
-                                      RConeResourceLoader& aResourceLoader )
-    {
-    RFs fsSession;
-    User::LeaveIfError( fsSession.Connect());
-    
-    // Add the RFs session to the CleanupStack
-    CleanupClosePushL( fsSession );
-    
-    TFileName* tmpName = new( ELeave ) TFileName;
-    CleanupStack::PushL( tmpName );
-    
-    // Append the Resource Files Directory
-    tmpName->Append( KDC_RESOURCE_FILES_DIR );
-    
-    // Append the Ressource File Name
-    tmpName->Append( aResourceFileName );
-    
-    
-    // Obtain the drive where the DLL is installed
-    TFileName* dllDrive = new ( ELeave ) TFileName;
-    CleanupStack::PushL( dllDrive );
-    Dll::FileName( *dllDrive );
-    
-    // Obtain the Complete path for the Resource File
-    TParse parse;
-    User::LeaveIfError( parse.Set( *dllDrive, NULL, NULL ));
-    User::LeaveIfError( parse.Set( parse.Drive(), tmpName, NULL ));
-    TFileName* fileName = new ( ELeave ) TFileName;
-    CleanupStack::PushL( fileName );
-    fileName->Append( parse.FullName());
-    
-    // Get language of resource file
-    BaflUtils::NearestLanguageFile( fsSession, *fileName );
-        
-    // Open resource file    
-    aResourceLoader.OpenL( *fileName );
-    
-    // Pop all the fields
-    CleanupStack::PopAndDestroy( fileName );
-    CleanupStack::PopAndDestroy( dllDrive );
-    CleanupStack::PopAndDestroy( tmpName );
-   
-    CleanupStack::Pop(); // fsSession
-               
-    //If leave occurs before this, close is called automatically when the thread exits.
-    fsSession.Close();
-   
-    }
-
-
--- a/locationsystemui/locationsysui/locnotprefplugin/src/locnotprefplugincontainer.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,346 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Location Notation Preferences Plugin View's container
-*
-*/
-
-
-// System Includes
-#include <eikspane.h>       // Status pane
-#include <akntitle.h>       // CAknTitlePane
-#include <StringLoader.h>   // String Loader
-#include <locnotprefpluginview.rsg>
-#include <aknlists.h>       // Settings Style list box
-#include <csxhelp/locnota.hlp.hrh>
-#include <eiklbv.h>
-
-// User Includes
-#include "locnotprefplugincontainer.h"
-#include "locnotprefpluginview.h"
-#include "locnotprefplugin.hrh"
-#include "locnotprefpluginuid.hrh"
-
-// Constant defintions
-const TInt KNoofComponentControls = 1;
-
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CLocNotPrefPluginContainer::CLocNotPrefPluginContainer
-// Overloaded Constructor
-//
-// ---------------------------------------------------------------------------
-//  
-CLocNotPrefPluginContainer::CLocNotPrefPluginContainer( 
-                                    MDesCArray&               aListBoxModel,
-                                    MLocNotPrefPluginCmdHdlr& aCmdHandler)
-    :iListBoxModel( aListBoxModel ),
-    iCmdHandler( aCmdHandler )
-    {
-    }
-    
-// ---------------------------------------------------------------------------
-// CLocNotPrefPluginContainer::~CLocNotPrefPluginContainer
-// Destructor
-//
-// ---------------------------------------------------------------------------
-//
-CLocNotPrefPluginContainer::~CLocNotPrefPluginContainer()
-    {
-    // Delete the List box model only after deleting the list box
-    delete iListBox;    
-    }
-    
-// ---------------------------------------------------------------------------
-// CLocNotPrefPluginContainer* CLocNotPrefPluginContainer::NewL
-// Static Two phase contructor that instantiates the CLocNotPrefPluginContainer
-//
-// @param aRect                         Client rectangle
-// @param aListBoxModel                 Model for the container's list box
-// @param aCmdHandler                   List box command handler 
-// @return CLocNotPrefPluginContainer*  Reference to the object created
-// --------------------------------------------------------------------------- 
-//   
-CLocNotPrefPluginContainer* CLocNotPrefPluginContainer::NewL( 
-                    const TRect&                    aRect,
-                          MDesCArray&               aListBoxModel,
-                          MLocNotPrefPluginCmdHdlr& aCmdHandler )
-    {   
-    CLocNotPrefPluginContainer* self = 
-                    NewLC( aRect, aListBoxModel, aCmdHandler );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CLocNotPrefPluginContainer* CLocNotPrefPluginContainer::NewLC
-// Static Two phase contructor that instantiates the CLocNotPrefPluginContainer
-//
-// @param aRect                         Client rectangle
-// @param aListBoxModel                 Model for the container's list box
-// @param aCmdHandler                   List box command handler 
-// @return CLocNotPrefPluginContainer*  Reference to the object created
-// --------------------------------------------------------------------------- 
-//  
-CLocNotPrefPluginContainer* CLocNotPrefPluginContainer::NewLC(
-                    const TRect&                    aRect,
-                          MDesCArray&               aListBoxModel,
-                          MLocNotPrefPluginCmdHdlr& aCmdHandler  )
-    {   
-    CLocNotPrefPluginContainer* self = 
-            new(ELeave) CLocNotPrefPluginContainer( aListBoxModel, aCmdHandler );
-    CleanupStack::PushL( self );
-    self->ConstructL( aRect );
-    return self;
-    }
-
-// --------------------------------------------------------------------------- 
-// void CLocNotPrefPluginContainer::ConstructL
-// Second phase of the two phase Construction process
-//
-// @param aRect              Client rectangle
-// ---------------------------------------------------------------------------
-//
-void CLocNotPrefPluginContainer::ConstructL( const TRect&   aRect )
-    {
-    //Make this control a window-owning control
-    CreateWindowL(); 
-    
-    // Create a New Title for the View
-    MakeTitleL( R_LOC_TITLE_NOTATIONS );
-    
-    CreateListboxL();
-    
-    // Get the Help context
-    iContextName = KLOC_HLP_NOTATIONS();
-        
-    SetRect( aRect );
-    ActivateL();
-    }
- 
-// ---------------------------------------------------------------------------
-// CLocNotPrefPluginContainer::GetFocussedItem
-// Returns the currentlt focussed element.
-//
- // @return TInt Index of the item selected
-// ---------------------------------------------------------------------------
-//
-TInt CLocNotPrefPluginContainer::GetFocussedItem()
-    {
-    return iListBox->CurrentItemIndex();
-    }
-        
-// ---------------------------------------------------------------------------
-// void CLocNotPrefPluginContainer::HandleResourceChange
-//
-// ---------------------------------------------------------------------------
-//  
-void CLocNotPrefPluginContainer::HandleResourceChange(TInt aType)
-    {
-    // Pass the event to the base class
-    CCoeControl::HandleResourceChange(aType);
-    switch( aType )
-        {
-        // Dynamic Layout switch
-        case KEikDynamicLayoutVariantSwitch:
-            {
-            // Handle the screen change event
-            // Trap and Ignore the error
-            TRAP_IGNORE(
-                iCmdHandler.HandleCmdL( MLocNotPrefPluginCmdHdlr::EScreenSizeChanged ));
-            break;
-            }
-        default:
-            {
-            break;
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TInt CLocNotPrefPluginContainer::CountComponentControls
-//
-// ---------------------------------------------------------------------------
-//
-TInt CLocNotPrefPluginContainer::CountComponentControls() const
-    {
-    return KNoofComponentControls;
-    }
-
-// ---------------------------------------------------------------------------
-// CCoeControl* CLocNotPrefPluginContainer::ComponentControl
-//
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CLocNotPrefPluginContainer::ComponentControl(TInt /*aIndex*/) const
-    {
-    return iListBox;    
-    }
-
-// ---------------------------------------------------------------------------
-// void CLocNotPrefPluginContainer::OfferKeyEventL
-//
-// ---------------------------------------------------------------------------  
-//
-TKeyResponse CLocNotPrefPluginContainer::OfferKeyEventL( const TKeyEvent& aKeyEvent,
-                                                               TEventCode aType )
-    {
-    switch ( aKeyEvent.iCode )
-        {
-        case EKeyLeftArrow:
-        case EKeyRightArrow:
-            {
-            // Listbox takes all event even if it doesn't use them
-            return EKeyWasNotConsumed;  
-            }
-        default:
-            {
-            break;  
-            }
-        }
-    // now it's iListBox's job to process the key event
-    return iListBox->OfferKeyEventL( aKeyEvent, aType ); 
-    }
-        
-// ---------------------------------------------------------------------------
-// void CLocNotPrefPluginContainer::HandleListBoxEventL
-//
-// ---------------------------------------------------------------------------
-//
-void CLocNotPrefPluginContainer::HandleListBoxEventL( 
-                                        CEikListBox*                      /* aListBox */, 
-                                        MEikListBoxObserver::TListBoxEvent aEventType )
-    {
-    switch (aEventType)
-        {
-        // List box Item Selection
-        case EEventEnterKeyPressed:
-        case EEventItemSingleClicked:
-            {
-            // Settings element has been selected. Command has to be issued to
-            // change the settings configuration
-            iCmdHandler.HandleCmdL( MLocNotPrefPluginCmdHdlr::EListBoxItemSelected );
-            break;  
-            }
-        default:
-           break;
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// CLocNotPrefPluginContainer::GetHelpContext
-//
-// -----------------------------------------------------------------------------
-//
-void CLocNotPrefPluginContainer::GetHelpContext( TCoeHelpContext& aContext ) const
-    {
-    aContext.iContext = iContextName;
-    aContext.iMajor = TUid::Uid( KLocNotPrefPluginUID3 );
-    }
-
-// -----------------------------------------------------------------------------
-// void CLocNotPrefPluginContainer::HandlePointerEventL
-//
-// -----------------------------------------------------------------------------
-//
-void CLocNotPrefPluginContainer::HandlePointerEventL(const TPointerEvent &aPointerEvent)
-    {
-    // Check if touch is enabled or not
-    if( !AknLayoutUtils::PenEnabled() || !iListBox )
-        {
-        return;
-        }
-    iListBox->HandlePointerEventL( aPointerEvent ); 
-   }
-   	
-// ---------------------------------------------------------------------------
-// void CLocNotPrefPluginContainer::FocusChanged
-//
-// ---------------------------------------------------------------------------
-//
-void CLocNotPrefPluginContainer::FocusChanged(TDrawNow aDrawNow)
-    {
-    CCoeControl::FocusChanged( aDrawNow );
-    // The focus event has to be explicitly handed over to all the compound
-    // controls since CCoeControl does not do that implicitly
-    iListBox->SetFocus( IsFocused(), aDrawNow );
-    }
-        
-// ---------------------------------------------------------------------------
-// CLocNotPrefPluginContainer::SizeChanged
-// 
-// ---------------------------------------------------------------------------
-//
-void CLocNotPrefPluginContainer::SizeChanged()
-    {
-    iListBox->SetRect( Rect()); 
-    }
-    
-// ---------------------------------------------------------------------------
-// void CLocNotPrefPluginContainer::CreateListboxL
-// Creates the List box and the Listbox model. Associates the list box model 
-// with the list box
-//
-// ---------------------------------------------------------------------------  
-//
-void CLocNotPrefPluginContainer::CreateListboxL()
-    {
-    
-    // Create the List box
-    iListBox = new ( ELeave ) CAknSettingStyleListBox;
-    iListBox->ConstructL( this, EAknListBoxSelectionList );
-    iListBox->SetContainerWindowL( *this ); 
-    iListBox->SetListBoxObserver( this );
-    iListBox->CreateScrollBarFrameL(ETrue);
-    iListBox->ScrollBarFrame()->SetScrollBarVisibilityL( CEikScrollBarFrame::EOff,
-                                                         CEikScrollBarFrame::EAuto ); 
-                                                         
-    // The ownership of the list box model is retained with the Container.
-    // This is because the model contains the additional functionality of
-    // changing the settings values in addition to retreiving it.                                                        
-    iListBox->Model()->SetItemTextArray( &iListBoxModel );  
-    iListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );                                 
-    iListBox->ActivateL();
-    }
-    
-// ---------------------------------------------------------------------------
-// void CLocNotPrefPluginContainer::MakeTitleL
-// Sets the Title text
-//
-// @param aResourceText Resource to create title
-// ---------------------------------------------------------------------------
-//
-void CLocNotPrefPluginContainer::MakeTitleL( TInt aResourceText )
-    {
-    // Obtain the title from the Status Pane
-    CAknTitlePane* title = static_cast<CAknTitlePane*>( StatusPane()->
-        ControlL( TUid::Uid( EEikStatusPaneUidTitle )));
-       
-    // Set the Title's buffer    
-    HBufC* buf = StringLoader::LoadL( aResourceText );
-    title->SetText( buf ); // Takes ownership of buf
-    }
-
-// ---------------------------------------------------------------------------
-// void CLocNotPrefPluginContainer::StatusPane
-// Returns the Appui's status pane
-//
-// @return CEikStatusPane* Statuspane pointer
-// ---------------------------------------------------------------------------
-//
-CEikStatusPane* CLocNotPrefPluginContainer::StatusPane()
-    {
-    return iEikonEnv->AppUiFactory()->StatusPane(); 
-    }
--- a/locationsystemui/locationsysui/locnotprefplugin/src/locnotprefpluginengine.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,426 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Location Notation Preferences Plugin Engine
-*
-*/
-
-
-// System Include
-#include <e32keys.h>        // Tab Keys
-#include <StringLoader.h>   // String Loader
-#include <locnotprefpluginview.rsg>
-#include <aknradiobuttonsettingpage.h>
-
-// User Include
-#include "locnotprefpluginengine.h"
-#include "locnotprefengobserver.h"
-#include "locnotprefcorddisadapter.h"
-#include "locnotprefsomadapter.h"
-
-// Constant Defintions
-const TInt KNumberofSettingsItems = 2;
-const TInt KMaxConversionBufferLength = 0x200;
-const TInt KNoofSysofMeas = 2;
-const TInt KNoofCordDisplayFormats = 3;
-
-// ========================= MEMBER FUNCTIONS ================================
-
-
-// ---------------------------------------------------------------------------
-// CLocNotPrefPluginEngine::CLocNotPrefPluginEngine
-// Overloaded Constructor
-//
-// ---------------------------------------------------------------------------
-//  
-CLocNotPrefPluginEngine::CLocNotPrefPluginEngine(  
-                                MLocNotPrefEngObserver& aEngineObserver )
-    :iObserver(aEngineObserver),
-    iSettingsDialogOutstanding( EFalse )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CLocNotPrefPluginEngine::~CLocNotPrefPluginEngine
-// Destructor
-//
-// ---------------------------------------------------------------------------
-//
-CLocNotPrefPluginEngine::~CLocNotPrefPluginEngine()
-    {
-    // Delete the list box strings
-    delete iSysofMeasTitle;
-    
-    delete iCoordDispTitle;
-    
-    delete iImperialSettings;
-    
-    delete iMetricSettings;
-    
-    delete iDegreesSettings;
-    
-    delete iMinutesSettings;
-    
-    delete iSecondsSettings;
-    
-    delete iConversionBuffer;
-        
-    // Delete the Co-ordinate display settings handle
-    delete iCordDisplaySettings;
-
-    // Delete the System of Measurements settings handle    
-    delete iSysofMeasSettings;
-    }
-    
-// ---------------------------------------------------------------------------
-// CLocNotPrefPluginEngine* CLocNotPrefPluginEngine::NewL
-// Creates new Location Notation Preferences plug-in engine instance.
-//
-// @param  aEngineObserver           Observer to the Notation preferences engine
-// @return CLocNotPrefPluginEngine* Reference to the application view
-// ---------------------------------------------------------------------------
-//    
-CLocNotPrefPluginEngine* CLocNotPrefPluginEngine::NewL( 
-                            MLocNotPrefEngObserver& aEngineObserver )
-    {   
-    CLocNotPrefPluginEngine* self = 
-                        CLocNotPrefPluginEngine::NewLC( aEngineObserver );
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CLocNotPrefPluginEngine* CLocNotPrefPluginEngine::NewLC
-// Creates new Location Notation Preferences plug-in engine instance. Leaves
-// the object on the Cleanup stack
-//
-// @param  aEngineObserver           Observer to the Notation preferences engine
-// @return CLocNotPrefPluginEngine* Reference to the application view
-// ---------------------------------------------------------------------------
-// 
-CLocNotPrefPluginEngine* CLocNotPrefPluginEngine::NewLC( 
-                            MLocNotPrefEngObserver& aEngineObserver )
-    {   
-    CLocNotPrefPluginEngine* self = 
-                        new(ELeave) CLocNotPrefPluginEngine( aEngineObserver );
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;
-    }
-    
-// ---------------------------------------------------------------------------
-// void CLocNotPrefPluginEngine::ConstructL
-// Second Phase Constructor
-//
-// ---------------------------------------------------------------------------
-//
-void CLocNotPrefPluginEngine::ConstructL()
-    {
-    // Create Co-ordinate display settings handle
-    iCordDisplaySettings = CLocNotPrefCoordinateDisplayAdapter::NewL( *this );
-    
-    iSysofMeasSettings = CLocNotPrefSystemofMeasAdapter::NewL( *this );
-    
-    // Load the list box strings
-    // Allocate and set the System of measurement heading
-    iSysofMeasTitle = StringLoader::LoadL( R_LOC_NOTATION_MEASURES );
-    
-    // Allocate and set the server ip address title field
-    iCoordDispTitle = StringLoader::LoadL( R_LOC_NOTATION_COORDINATE_FORMAT );
-
-    // Allocate and set the Imperial settings text
-    iImperialSettings = StringLoader::LoadL( R_LOC_IMPERIAL_SYSTEM );
-    
-    // Allocate and set the Metric settings text
-    iMetricSettings = StringLoader::LoadL( R_LOC_METRIC_SYSTEM );
-    
-    // Allocate and set the Degrees resolution settings text
-    iDegreesSettings = StringLoader::LoadL( R_LOC_FORMAT_DECIMAL_DEGREES );
-    
-    // Allocate and set the Minutes resolution settings text
-    iMinutesSettings = StringLoader::LoadL( R_LOC_FORMAT_DECIMAL_MINUTES );
-    
-    // Allocate and set the Seconds resolution settings text
-    iSecondsSettings = StringLoader::LoadL( R_LOC_FORMAT_DECIMAL_SECONDS );
-    
-    // Allocate the Conversion Buffer
-    iConversionBuffer = HBufC16::NewL( KMaxConversionBufferLength );        
-    }
-    
-// ---------------------------------------------------------------------------
-// TInt CLocNotPrefPluginEngine::MdcaCount
-// Inherited from MDesCArray
-//
-// ---------------------------------------------------------------------------
-//
-TInt CLocNotPrefPluginEngine::MdcaCount() const
-    {
-    return KNumberofSettingsItems;
-    }
-
-// ---------------------------------------------------------------------------
-// TInt CLocNotPrefPluginEngine::MdcaPoint
-// Inherited from MDesCArray
-//
-// ---------------------------------------------------------------------------
-//
-TPtrC16 CLocNotPrefPluginEngine::MdcaPoint( TInt aIndex ) const
-    {
-    // Zero the internal buffer
-    TPtr16 ptr( iConversionBuffer->Des());
-    ptr.Zero();
-    
-    // Format "\t%S\t\t%S"
-    
-    // Append the first tab
-    ptr.Append( EKeyTab );
-            
-    switch( aIndex )
-        {
-        case ESystemofMeasurement:
-            {
-            // Append the Title text
-            ptr.Append( iSysofMeasTitle->Des());
-            
-            // Append the second tab
-            ptr.Append( EKeyTab ); 
-                            
-            // Append the third tab
-            ptr.Append( EKeyTab );
-            
-            // Obtain the current value of system of measurement and append
-            // to the buffer
-            TLocSystemofMeasurementValues currentSettings = ELocMetric;
-            TRAPD( error, currentSettings = iSysofMeasSettings->GetCurrentSysofMeasL());
-            if( KErrNone == error )
-                {
-                if( ELocMetric == currentSettings )
-                    {
-                    ptr.Append( iMetricSettings->Des());
-                    }
-                else if ( ELocImperial == currentSettings )
-                    {
-                    ptr.Append( iImperialSettings->Des());
-                    }
-                }
-            
-            break;    
-            }
-        case ECoordinateDisplayFormat:
-            {
-            // Append the Title text
-            ptr.Append( iCoordDispTitle->Des());
-            
-            // Append the second tab
-            ptr.Append( EKeyTab ); 
-            
-            // Append the third tab
-            ptr.Append( EKeyTab );
-            
-            // Obtain the current value of co-ordinate display format and append
-            // to the buffer
-            CLocNotPrefCoordinateDisplayAdapter::TCordDisSetListPosition currentSettings = 
-                    CLocNotPrefCoordinateDisplayAdapter::EPosDMSS;
-            TRAPD( error, currentSettings = iCordDisplaySettings->GetCurrentDisplayFormatL());
-            if( KErrNone == error )
-                {
-                if( CLocNotPrefCoordinateDisplayAdapter::EPosDD == currentSettings )
-                    {
-                    ptr.Append( iDegreesSettings->Des());
-                    }
-                else if ( CLocNotPrefCoordinateDisplayAdapter::EPosDMM == currentSettings )
-                    {
-                    ptr.Append( iMinutesSettings->Des());
-                    }
-                else if ( CLocNotPrefCoordinateDisplayAdapter::EPosDMSS == currentSettings )
-                    {
-                    ptr.Append( iSecondsSettings->Des());
-                    }
-                }           
-            break;    
-            }
-        default:
-            {
-            // Append the second tab
-            ptr.Append( EKeyTab );          
-            // Append the third tab
-            ptr.Append( EKeyTab );
-            break;    
-            }
-        }  
-    return iConversionBuffer->Des();
-    }
- 
-// ---------------------------------------------------------------------------
-// void CLocNotPrefPluginEngine::HandleSettingsChangeL
-// Inherited from MLocNotPrefAdapterObserver
-//
-// ---------------------------------------------------------------------------
-//   
-void CLocNotPrefPluginEngine::HandleSettingsChangeL()
-    {
-    iObserver.HandleSettingsChangeEventL();
-    }
- 
-// ---------------------------------------------------------------------------
-// void CLocNotPrefPluginEngine::Close
-// Closes the running Settings UI prematurely. This would result in dismissing
-// any active dialogs currently running
-//
-// ---------------------------------------------------------------------------
-//
-void CLocNotPrefPluginEngine::Close()
-    {
-    // If any of the dialogs are active then issue a cancel event on the 
-    // dialogs
-    if( iSettingsDialogOutstanding )
-        {
-        TKeyEvent   keyEvent;
-        keyEvent.iCode          = EKeyCBA2;
-        keyEvent.iScanCode      = EStdKeyDevice1;         
-        keyEvent.iModifiers     = EAllModifiers;
-        keyEvent.iRepeats       = 0;
-        CCoeEnv* cCoeEnv = CCoeEnv::Static();
-        
-        // Simulate a Cancel event on the running dialogs. The Simulated event
-        // is for the Left Soft Key.
-        // Ignore the error incase of a leave
-        
-        TRAP_IGNORE( cCoeEnv->SimulateKeyEventL( keyEvent, EEventKey ));
-        }
-    iSettingsDialogOutstanding = EFalse;                
-    }
-            
-// ---------------------------------------------------------------------------
-// void CLocNotPrefPluginEngine::ChangeSysofMeasSettingsL
-// Change System of Measurement settings
-// 
-// ---------------------------------------------------------------------------
-// 
-void CLocNotPrefPluginEngine::ChangeSysofMeasSettingsL()
-    {
-    if( iSettingsDialogOutstanding )
-        {
-        User::Leave( KErrInUse );
-        }
-    // Allocate the descriptor array for Text settings for System
-    // of measurement
-    CDesCArrayFlat* items = new( ELeave ) CDesCArrayFlat( KNoofSysofMeas );
-    CleanupStack::PushL( items );
-
-    // Append the radio-button list items
-    items->AppendL( iMetricSettings->Des());
-    items->AppendL( iImperialSettings->Des());
-     
-    // Obtain the current value for current system of measurement
-    // This would be used for setting the default value for 
-    // the text settings page               
-
-    // The settings value start from 1 whereas the list box items
-    // start from 0. Hence, subtract 1 from the current settings
-    // value
-    TInt currentSettings = iSysofMeasSettings->GetCurrentSysofMeasL() - 1;
-        
-    CAknRadioButtonSettingPage* dlg = 
-                        new ( ELeave )CAknRadioButtonSettingPage( R_LOC_SYSOFMEAS_SETTINGS,
-                                                                  currentSettings, 
-                                                                  items );
-    // Settings Outstanding flag is marked True to enable dismissal incase
-    // of a Cancel event                                                                  
-    iSettingsDialogOutstanding = ETrue;                                                                  
-    if ( dlg->ExecuteLD( CAknSettingPage::EUpdateWhenChanged ))
-        {
-        // The settings value start from 1 whereas the list box items
-        // start from 0. Hence, add 1 from the current settings
-        // value
-        TLocSystemofMeasurementValues newValue = 
-                    static_cast<TLocSystemofMeasurementValues>( currentSettings + 1 );
-        iSysofMeasSettings->SetCurrentSysofMeasL( newValue );
-        } 
-    iSettingsDialogOutstanding = EFalse;           
-    // Free the items resource
-    CleanupStack::PopAndDestroy( items );
-     
-    }
-
-// ---------------------------------------------------------------------------
-// void CLocNotPrefPluginEngine::ToggleSysofMeasSettingsL
-// Toggle System of Measurement settings
-// 
-// ---------------------------------------------------------------------------
-//
-void CLocNotPrefPluginEngine::ToggleSysofMeasSettingsL()
-    {      
-    if( iSettingsDialogOutstanding )
-        {
-        User::Leave( KErrInUse );
-        }    
-    iSysofMeasSettings->ToggleSysofMeasSettingsL();
-    }
-
-// ---------------------------------------------------------------------------
-// void CLocNotPrefPluginEngine::ToggleSysofMeasSettingsL
-// Change Co-ordinate display format settings
-// 
-// ---------------------------------------------------------------------------
-//
-void CLocNotPrefPluginEngine::ChangeCoordinateDisplaySettingsL()
-    {
-    if( iSettingsDialogOutstanding )
-        {
-        User::Leave( KErrInUse );
-        }
-            
-    // Allocate the descriptor array for Text settings for Co-ordinate display
-    // formats
-    CDesCArrayFlat* items = new( ELeave ) CDesCArrayFlat( KNoofCordDisplayFormats );
-    CleanupStack::PushL( items );
-
-    // Append the radio-button list items
-    items->AppendL( iSecondsSettings->Des());    
-    items->AppendL( iMinutesSettings->Des());
-    items->AppendL( iDegreesSettings->Des());
-     
-    // Obtain the current value for current system of measurement
-    // This would be used for setting the default value for 
-    // the text settings page               
-
-    TInt currentSettings = iCordDisplaySettings->GetCurrentDisplayFormatL();
-        
-    CAknRadioButtonSettingPage* dlg = 
-                        new ( ELeave )CAknRadioButtonSettingPage( R_LOC_COORDDISPLAY_SETTINGS,
-                                                                  currentSettings, 
-                                                                  items );
-                                                                           
-    // Settings Outstanding flag is marked True to enable dismissal incase
-    // of a Cancel event                                                                  
-    iSettingsDialogOutstanding = ETrue;
-
-    if ( dlg->ExecuteLD( CAknSettingPage::EUpdateWhenAccepted ))
-        {
-        // The settings value start from 1 whereas the list box items
-        // start from 0. Hence, add 1 from the current settings
-        // value
-        CLocNotPrefCoordinateDisplayAdapter::
-            TCordDisSetListPosition newValue = static_cast<
-                CLocNotPrefCoordinateDisplayAdapter::TCordDisSetListPosition>( 
-                                                                    currentSettings );
-                                                                    
-        iCordDisplaySettings->SetCurrentDisplayFormatL( newValue );
-        }
-
-    iSettingsDialogOutstanding = EFalse;
-              
-    // Free the items resource
-    CleanupStack::PopAndDestroy( items );    
-    }
--- a/locationsystemui/locationsysui/locnotprefplugin/src/locnotprefpluginimptable.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  ECOM proxy table for this plugin
-*
-*/
-
-
-// System includes
-#include <e32std.h>
-#include <ecom/implementationproxy.h>
-
-// User includes
-#include "locnotprefplugin.h"
-#include "locnotprefpluginuid.hrh"
-
-// Constants
-const TImplementationProxy KLocNotPrefPluginImplementationTable[] = 
-    {
-    IMPLEMENTATION_PROXY_ENTRY( KLocNotPrefPluginUID3,  CLocNotPrefPlugin::NewL )
-    };
-
-
-// ---------------------------------------------------------------------------
-// ImplementationGroupProxy
-// Gate/factory function
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
-    {
-    aTableCount = sizeof(KLocNotPrefPluginImplementationTable) 
-        / sizeof(TImplementationProxy);
-    return KLocNotPrefPluginImplementationTable;
-    }
--- a/locationsystemui/locationsysui/locnotprefplugin/src/locnotprefpluginview.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,449 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Location Notation Preferences Plugin view
-*
-*/
-
-
-// System Include
-#include <barsread.h>               // For TResourceReader
-#include <bautils.h>    
-#include <StringLoader.h>
-#include <aknViewAppUi.h>
-#include <locnotprefpluginview.rsg>
-#include <avkon.rsg>
-#include <aknnotewrappers.h>        // Error Notes
-#include <textresolver.h>           // Text Resolver
-#include <hlplch.h>                 // Help
-#include <featmgr.h>                // FeatureManager
-
-// User Include
-#include "locsettingsuiobserver.h"
-#include "locnotprefpluginview.h"
-#include "locnotprefplugincontainer.h"
-#include "locsettingsui.h"
-#include "locnotprefplugincmdhdlr.h"
-#include "locnotprefpluginengine.h"
-#include "locnotprefplugin.hrh"
-
-
-// ========================= MEMBER FUNCTIONS ================================
-
-
-// ---------------------------------------------------------------------------
-// CLocNotPrefPluginView::CLocNotPrefPluginView
-// Overloaded Constructor
-//
-// ---------------------------------------------------------------------------
-//  
-CLocNotPrefPluginView::CLocNotPrefPluginView( 
-                            MLocSettingsUiObserver& aSettingsObsrv )
-    :iSettingsObserver(aSettingsObsrv),
-    iResourceLoader( *CCoeEnv::Static())
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CLocNotPrefPluginView::~CLocNotPrefPluginView
-// Destructor
-//
-// ---------------------------------------------------------------------------
-//
-CLocNotPrefPluginView::~CLocNotPrefPluginView()
-    {
-    // Delete the engine
-    delete iEngine;
-    
-    // Delete the Error handling utilities
-    delete iTextResolver;
-        
-    // Close the resource loader
-    iResourceLoader.Close();
-    
-    FeatureManager::UnInitializeLib();  
-    }
-    
-// ---------------------------------------------------------------------------
-// CLocNotPrefPluginView* CLocNotPrefPluginView::NewL
-// Creates new Location notation preferences view.
-//
-// @param aSettingsObsrv            Pointer to the Command Handler
-// @return CLocNotPrefPluginView*   Reference to the application view
-// ---------------------------------------------------------------------------
-//   
-CLocNotPrefPluginView* CLocNotPrefPluginView::NewL( 
-                            MLocSettingsUiObserver& aSettingsObsrv )
-    {   
-    CLocNotPrefPluginView* self = 
-                        CLocNotPrefPluginView::NewLC( aSettingsObsrv );
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CLocNotPrefPluginView* CLocNotPrefPluginView::NewLC
-// Creates new Location notation preferences view.
-//
-// @param aSettingsObsrv            Pointer to the Command Handler
-// @return CLocNotPrefPluginView*   Reference to the application view
-// ---------------------------------------------------------------------------
-//  
-CLocNotPrefPluginView* CLocNotPrefPluginView::NewLC( 
-                            MLocSettingsUiObserver& aSettingsObsrv )
-    {   
-    CLocNotPrefPluginView* self = 
-                        new(ELeave) CLocNotPrefPluginView( aSettingsObsrv );
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;
-    }
-    
-// ---------------------------------------------------------------------------
-// void CLocNotPrefPluginView::ConstructL
-// Second Phase Constructor
-//
-// ---------------------------------------------------------------------------
-//
-void CLocNotPrefPluginView::ConstructL()
-    {
-    // Feature manager required for Help feature check
-    FeatureManager::InitializeLibL();
-        
-    // Open the Resource File
-    OpenLocalizedResourceFileL( KLocNotPrefViewResFileName, iResourceLoader );
-    
-    // Call AknView's BaseConstrutL
-    BaseConstructL( R_LOCNOTPREFPLUGIN_VIEW );
-    
-    // Create the Location notation preferences engine instance
-    iEngine = CLocNotPrefPluginEngine::NewL( *this );
-     
-    iTextResolver = CTextResolver::NewL(*( CCoeEnv::Static()));  
-    }
-
-// ---------------------------------------------------------------------------
-// void CLocNotPrefPluginView::CloseSettings
-// Close the Notation preferences Settings
-//
-// ---------------------------------------------------------------------------
-//
-void CLocNotPrefPluginView::CloseSettings()
-    {
-    // Stop displaying the menu bar, if its currently being displayed
-    StopDisplayingMenuBar();
-    
-    // Close all the active dialogs
-    iEngine->Close();
-    }
-        
-// ---------------------------------------------------------------------------
-// void CLocNotPrefPluginView::DoActivateL
-// 
-// ---------------------------------------------------------------------------
-//
-void CLocNotPrefPluginView::DoActivateL( const TVwsViewId&  /* PrevViewId*/,
-                                               TUid         /* aCustomMessageId*/,
-                                         const TDesC8&      /* aCustomMessage */)
-    {
-    // Destroy the existing container if it exists
-    if( iContainer )
-        {
-        AppUi()->RemoveFromViewStack( *this, iContainer );
-        delete iContainer;
-        iContainer=NULL;
-        }                       
-    
-    // Create new Container 
-    iContainer = CLocNotPrefPluginContainer::NewL( ClientRect(),
-                                                   *iEngine,
-                                                   *this );
-    iContainer->SetMopParent( this );
-    AppUi()->AddToViewStackL( *this, iContainer );
-    
-    }
-
-// ---------------------------------------------------------------------------
-// void CLocationSystemUiView::DoDeactivate
-//
-// ---------------------------------------------------------------------------
-//      
-void CLocNotPrefPluginView::DoDeactivate()
-    {
-    // Destroy Container
-    if ( iContainer )
-        {
-        AppUi()->RemoveFromViewStack( *this, iContainer );
-        delete iContainer;
-        iContainer = NULL;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TUid CLocNotPrefPluginView::Id
-// Returns the View Id. Should be chosen to reflect the Implementation UID 
-// of the Plugin
-//
-// @return TUid The View Id
-// ---------------------------------------------------------------------------
-//  
-TUid CLocNotPrefPluginView::Id() const
-    {
-    return TUid::Uid( KLocNotPrefPluginUID3);
-    }
-
-// ---------------------------------------------------------------------------
-// void CLocNotPrefPluginView::HandleCommandL
-//
-// ---------------------------------------------------------------------------
-//  
-void CLocNotPrefPluginView::HandleCommandL(TInt aCommand)   
-    {
-    switch( aCommand )
-        {
-        case ELocNotPrefChange:
-        case ELocNotPrefMSKChange:
-            {
-            // Settings Change command
-            TRAPD( error, SettingsChangeL( aCommand ));
-            if( error )
-                {
-                // Show Error Note
-                TPtrC buffer = iTextResolver->ResolveErrorString( error );
-                CAknErrorNote* errorNote = new ( ELeave )CAknErrorNote;
-                TRAP_IGNORE( errorNote->ExecuteLD( buffer ));
-                }
-            break;
-            }
-        case EAknCmdHelp:
-            {
-            HlpLauncher::LaunchHelpApplicationL( iCoeEnv->WsSession(),
-                                                 AppUi()->AppHelpContextL());
-            break;  
-            }           
-        // Handle any plug-in specific internal commands here
-        case EAknSoftkeyBack:
-            {
-            // The UI is intended to be closed. Pass the event 
-            // to the observer
-            iSettingsObserver.SettingClosed( KErrNone );
-            break;
-            }
-        default:
-            {
-            // Un-handled commands are to be passed to the 
-            // App UI
-            AppUi()->HandleCommandL( aCommand );
-            break;  
-            }
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// CLocNotPrefPluginView::DynInitMenuPaneL
-// -----------------------------------------------------------------------------
-//
-void CLocNotPrefPluginView::DynInitMenuPaneL( TInt          aResourceId, 
-                                              CEikMenuPane* aMenuPane )
-    {
-    if ( aResourceId == R_LOCNOTPREFPLUGIN_MENU )
-        {
-        User::LeaveIfNull( aMenuPane );
-        //Handle Help Fature
-        HandleHelpFeature( *aMenuPane );
-        //Context sensitive menu items
-        }
-    }   
-
-// ---------------------------------------------------------------------------
-// void CLocNotPrefPlugin::HandleCommandL
-// Inherited from MLocNotPrefPluginCmdHdlr
-// Handles Selection events from the container
-// 
-// @param  aCommand Command ID
-// ---------------------------------------------------------------------------
-//
-void CLocNotPrefPluginView::HandleCmdL( TLocNotPrefPluginCmd aCommand )
-    {
-    switch( aCommand )
-        {
-        // Handle any plug-in specific internal commands here
-        case EListBoxItemSelected:
-            {
-            TRAPD( error, SettingsChangeL( ELocNotPrefMSKChange ));
-            if( error )
-                {
-                // Show Error Note
-                TPtrC buffer = iTextResolver->ResolveErrorString( error );
-                CAknErrorNote* errorNote = new ( ELeave )CAknErrorNote;
-                TRAP_IGNORE( errorNote->ExecuteLD( buffer ));
-                }           
-            break;
-            }
-        case EScreenSizeChanged:
-            {
-            if( iContainer )
-                {
-                iContainer->SetRect( ClientRect());     
-                }
-            break;
-            }
-        default:
-            {
-            break;  
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Inherited from MLocNotPrefEngObserver
-// ---------------------------------------------------------------------------
-//
-void CLocNotPrefPluginView::HandleSettingsChangeEventL()
-    {
-    // Observer callback notifies that one/more of the settings values have
-    // changed. Hence, need to refresh the container to show the latest
-    // values
-    if( iContainer )
-        {
-        iContainer->DrawDeferred();
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// CLocNotPrefPluginView::HandleHelpFeature
-// -----------------------------------------------------------------------------
-//
-void CLocNotPrefPluginView::HandleHelpFeature( CEikMenuPane& aMenuPane ) const
-    {
-    if ( FeatureManager::FeatureSupported( KFeatureIdHelp ))
-        {
-        aMenuPane.SetItemDimmed( EAknCmdHelp, EFalse );
-        }
-    else
-        {
-        aMenuPane.SetItemDimmed( EAknCmdHelp, ETrue );
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// Handle Settings Change Event
-// 
-// @param aCmd Settings change command
-// ---------------------------------------------------------------------------
-//
-void CLocNotPrefPluginView::SettingsChangeL( TInt aCmd )
-    {
-    if( !iContainer )
-        {
-        // No container available. Nothing to do in this case. Hence, returning
-        return;
-        }
-    CLocNotPrefPluginEngine::TSettingsList currentElement;
-    currentElement = static_cast<CLocNotPrefPluginEngine::TSettingsList>
-                        ( iContainer->GetFocussedItem());
-    
-    // Switch based on the currently focussed element
-    switch( currentElement )
-        {
-        case CLocNotPrefPluginEngine::ESystemofMeasurement:
-            {
-            // Different handling needed for Touch handling and Item selection
-            // using the OK key.
-            // Incase the User has selected the item using the OK key then 
-            // normal handling required
-            // Incase the User has selected the item using touch selection
-            // then the system of measurement needs to be toggled
-            if( ELocNotPrefChange == aCmd )
-                {
-                iEngine->ChangeSysofMeasSettingsL();
-                }
-            else
-                {
-                iEngine->ToggleSysofMeasSettingsL();
-                }              
-            break;
-            }
-        case CLocNotPrefPluginEngine::ECoordinateDisplayFormat:
-            {
-            // Change Co-ordinate display format settings
-            iEngine->ChangeCoordinateDisplaySettingsL();
-            break;
-            }
-        default:
-            {
-            // Element not found
-            User::Leave( KErrNotFound );
-            }
-        }
-    }
-                    
-// ---------------------------------------------------------------------------
-// void CLocNotPrefPluginView::OpenLocalizedResourceFileL
-// Opens the nearest localized resourcefile using aResourceLoader. 
-// aResourceLoader should be opened only once before closing it. 
-// Otherwise it will raise a panic. Therefore it is better to have 
-// multiple resource loaders.
-// 
-// @param aResourceFileName Drive and name of resource file in format 
-//                          <path>:<rsc_file_name>
-// @param aResourceLoader Resource loader for the resource. The loader 
-//                        must not be opened allready or it will raise 
-//                        a panic. It is caller's responsibility to 
-//                        close the resource loader after using the 
-//                        resource.
-// ---------------------------------------------------------------------------
-//  
-void CLocNotPrefPluginView::OpenLocalizedResourceFileL( 
-                            const TDesC&               aResourceFileName, 
-                                  RConeResourceLoader& aResourceLoader )
-    {
-    RFs fsSession;
-    User::LeaveIfError( fsSession.Connect());
-    
-    TFileName* tmpName = new(ELeave) TFileName;
-    CleanupStack::PushL( tmpName );
-    
-    // Append the Resource Files Directory
-    tmpName->Append( KDC_RESOURCE_FILES_DIR );
-    
-    // Append the Ressource File Name
-    tmpName->Append( aResourceFileName );
-    
-    // Obtain the drive where the DLL is installed
-    TFileName* dllDrive = new (ELeave) TFileName;
-    CleanupStack::PushL( dllDrive );
-    Dll::FileName( *dllDrive );
-    
-    // Obtain the Complete path for the Resource File
-    TParse parse;
-    User::LeaveIfError( parse.Set( *dllDrive, NULL, NULL ) );
-    User::LeaveIfError( parse.Set( parse.Drive(), tmpName, NULL ) );
-    TFileName* fileName = new(ELeave) TFileName;
-    CleanupStack::PushL( fileName );
-    fileName->Append( parse.FullName());
-    
-    // Get language of resource file
-    BaflUtils::NearestLanguageFile( fsSession, *fileName );
-    
-    // Open resource file    
-    aResourceLoader.OpenL( *fileName );
-    
-    // Pop all the fields
-    CleanupStack::PopAndDestroy( fileName );
-    CleanupStack::PopAndDestroy( dllDrive );
-    CleanupStack::PopAndDestroy( tmpName );
-    
-    //If leave occurs before this, close is called automatically when the thread exits.
-    fsSession.Close();
-    }
--- a/locationsystemui/locationsysui/locnotprefplugin/src/locnotprefsomadapter.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,210 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Location Notation Preferences Plugin Systen of Measurement adapter
-*
-*/
-
-
-// System Include
-#include <centralrepository.h>
-
-// User Include
-#include "locnotprefsomadapter.h"
-#include "locnotprefadapterobserver.h"
-
-
-// ========================= MEMBER FUNCTIONS ================================
-
-
-// ---------------------------------------------------------------------------
-// CLocNotPrefSystemofMeasAdapter::CLocNotPrefSystemofMeasAdapter
-// Overloaded Constructor
-//
-// ---------------------------------------------------------------------------
-//  
-CLocNotPrefSystemofMeasAdapter::CLocNotPrefSystemofMeasAdapter(  
-                                MLocNotPrefAdapterObserver& aAdapterObsrv )
-    :CActive(EPriorityStandard),
-    iObserver(aAdapterObsrv)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CLocNotPrefSystemofMeasAdapter::~CLocNotPrefSystemofMeasAdapter
-// Destructor
-//
-// ---------------------------------------------------------------------------
-//
-CLocNotPrefSystemofMeasAdapter::~CLocNotPrefSystemofMeasAdapter()
-    {
-    Cancel();
-    
-    delete iRepository; 
-    }
-    
-// ---------------------------------------------------------------------------
-// CLocNotPrefSystemofMeasAdapter* CLocNotPrefSystemofMeasAdapter::NewL
-// Creates new Systen of Measurement adapter
-//
-// @param  aAdapterObsrv                        Observer to the Settings adapter
-// @return CLocNotPrefSystemofMeasAdapter&  Reference to the application view
-// ---------------------------------------------------------------------------
-//    
-CLocNotPrefSystemofMeasAdapter* CLocNotPrefSystemofMeasAdapter::NewL( 
-                            MLocNotPrefAdapterObserver& aAdapterObsrv )
-    {   
-    CLocNotPrefSystemofMeasAdapter* self = 
-                        CLocNotPrefSystemofMeasAdapter::NewLC( aAdapterObsrv );
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CLocNotPrefSystemofMeasAdapter* CLocNotPrefSystemofMeasAdapter::NewLC
-// Creates new Systen of Measurement adapter. Leaves the object on the clean-up
-// stack
-//
-// @param  aAdapterObsrv                        Observer to the Settings adapter
-// @return CLocNotPrefSystemofMeasAdapter&  Reference to the application view
-// ---------------------------------------------------------------------------
-// 
-CLocNotPrefSystemofMeasAdapter* CLocNotPrefSystemofMeasAdapter::NewLC( 
-                            MLocNotPrefAdapterObserver& aAdapterObsrv )
-    {   
-    CLocNotPrefSystemofMeasAdapter* self = 
-                        new(ELeave) CLocNotPrefSystemofMeasAdapter( aAdapterObsrv );
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;
-    }
-    
-// ---------------------------------------------------------------------------
-// void CLocNotPrefSystemofMeasAdapter::ConstructL
-// Second Phase Constructor
-//
-// ---------------------------------------------------------------------------
-//
-void CLocNotPrefSystemofMeasAdapter::ConstructL()
-    {
-    CActiveScheduler::Add( this );
-    
-    // Create the Central repository object for manipulating Avkon Central
-    // repository for System of measurements settings
-    iRepository = CRepository::NewL(TUid::Uid( KCRUidLocNotationPref ));
-    
-    StartNotification();    
-    }
-
-// ---------------------------------------------------------------------------
-// TLocSystemofMeasurementValues CLocNotPrefSystemofMeasAdapter::GetCurrentSysofMeasL
-// Returns the current value of the System of measurements settings
-//
-// @return TLocSystemofMeasurementValues  Current value of the System of 
-//                                        measurements settings
-// ---------------------------------------------------------------------------
-//
-TLocSystemofMeasurementValues CLocNotPrefSystemofMeasAdapter::GetCurrentSysofMeasL()
-    {
-    
-    TInt settingsValue = 0;
-    User::LeaveIfError( iRepository->Get( KLocSystemofMeasurements,
-                                          settingsValue ));  
-    return ( static_cast<TLocSystemofMeasurementValues>( settingsValue ));
-    }
-
-// --------------------------------------------------------------------------
-// void CLocNotPrefSystemofMeasAdapter::SetCurrentSysofMeasL
-// Sets the value of the System of measurements settings
-//
-// @param aSettingsValue  New value of the System of measurements settings
-// ---------------------------------------------------------------------------
-//
-void CLocNotPrefSystemofMeasAdapter::SetCurrentSysofMeasL( 
-                            TLocSystemofMeasurementValues aSettingsValue )
-    {
-    User::LeaveIfError( iRepository->Set( KLocSystemofMeasurements,
-                                          aSettingsValue ));
-    }
- 
-// --------------------------------------------------------------------------
-// void CLocNotPrefSystemofMeasAdapter::ToggleSysofMeasSettingsL
-// Toggles the settings value
-// 
-// ---------------------------------------------------------------------------
-//
-void CLocNotPrefSystemofMeasAdapter::ToggleSysofMeasSettingsL()
-    {
-    TInt currentSettings = 0;
-    TLocSystemofMeasurementValues newSettings = ELocMetric;
-    
-    // Obtain the current settings value and if its ELocMetric
-    // then set ELocImperial else set ELocMetric
-    User::LeaveIfError( iRepository->Get( KLocSystemofMeasurements,
-                                          currentSettings ));
-    
-    if( ELocMetric == currentSettings )
-        {
-        newSettings = ELocImperial;
-        }
-    User::LeaveIfError( iRepository->Set( KLocSystemofMeasurements,
-                                          newSettings ));
-    }
-            
-// --------------------------------------------------------------------------
-// void CLocNotPrefSystemofMeasAdapter::RunL
-// Inherited from CActive
-//
-// ---------------------------------------------------------------------------
-//
-void CLocNotPrefSystemofMeasAdapter::RunL()
-    {
-    // Issue Notification
-    iObserver.HandleSettingsChangeL();
-    
-    // Schedule for listening to change events again
-    StartNotification();
-    }
-
-// --------------------------------------------------------------------------
-// void CLocNotPrefSystemofMeasAdapter::DoCancel
-// Inherited from CActive
-//
-// ---------------------------------------------------------------------------
-//
-void CLocNotPrefSystemofMeasAdapter::DoCancel()
-    {
-    // Cancel the outstanding CR notification request
-    if( iRepository )
-        {
-        iRepository->NotifyCancel( KLocSystemofMeasurements );        
-        }
-    }
-    
-// --------------------------------------------------------------------------
-// void CLocNotPrefSystemofMeasAdapter::StartNotification
-// Start notification from the Central repository server for any changes in the
-// System of measurements key value
-//
-// ---------------------------------------------------------------------------
-//
-void CLocNotPrefSystemofMeasAdapter::StartNotification()
-    {
-    if( !IsActive())
-        {
-        iStatus = KRequestPending;
-        // Request for notification
-        iRepository->NotifyRequest( KLocSystemofMeasurements, iStatus);
-        SetActive();          
-        }  
-    }
--- a/locationsystemui/locationsysui/locpsysettings/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  This file provides the information required for building
-*				 Location System UI
-*                  
-*
-*/
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-// Include Bld.infs
-
-// Positioning Method Settings Engine
-#include "../locpsysettingseng/group/bld.inf"
-
-// Positioning Method Settings UI
-#include "../locpsysettingsui/group/bld.inf"
-
-PRJ_TESTMMPFILES
-
-//  End of File  
--- a/locationsystemui/locationsysui/locpsysettings/locpsysettingseng/BWINS/locpsysettingsengu.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-EXPORTS
-	??1CLocPsyEng@@UAE@XZ @ 1 NONAME ; CLocPsyEng::~CLocPsyEng(void)
-	?CreateModelL@CLocPsyEng@@QAEXW4TLocModelType@@@Z @ 2 NONAME ; void CLocPsyEng::CreateModelL(enum TLocModelType)
-	?Debug@@YAXV?$TRefByValue@$$CBVTDesC16@@@@ZZ @ 3 NONAME ; void Debug(class TRefByValue<class TDesC16 const >, ...)
-	?NewL@CLocPsyEng@@SAPAV1@XZ @ 4 NONAME ; class CLocPsyEng * CLocPsyEng::NewL(void)
-	?PsyId@CLocPsyInfo@@QBE?AVTUid@@XZ @ 5 NONAME ; class TUid CLocPsyInfo::PsyId(void) const
-	?PsyName@CLocPsyInfo@@QBEABVTDesC16@@XZ @ 6 NONAME ; class TDesC16 const & CLocPsyInfo::PsyName(void) const
-	?RemoveModel@CLocPsyEng@@QAEXW4TLocModelType@@@Z @ 7 NONAME ; void CLocPsyEng::RemoveModel(enum TLocModelType)
-	?SettingsModel@CLocPsyEng@@QAEPAVMLocPsySettings@@XZ @ 8 NONAME ; class MLocPsySettings * CLocPsyEng::SettingsModel(void)
-
--- a/locationsystemui/locationsysui/locpsysettings/locpsysettingseng/eabi/locpsysettingsengu.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-EXPORTS
-	_Z5Debug11TRefByValueIK7TDesC16Ez @ 1 NONAME
-	_ZN10CLocPsyEng11RemoveModelE13TLocModelType @ 2 NONAME
-	_ZN10CLocPsyEng12CreateModelLE13TLocModelType @ 3 NONAME
-	_ZN10CLocPsyEng13SettingsModelEv @ 4 NONAME
-	_ZN10CLocPsyEng4NewLEv @ 5 NONAME
-	_ZN10CLocPsyEngD0Ev @ 6 NONAME
-	_ZN10CLocPsyEngD1Ev @ 7 NONAME
-	_ZN10CLocPsyEngD2Ev @ 8 NONAME
-	_ZNK11CLocPsyInfo5PsyIdEv @ 9 NONAME
-	_ZNK11CLocPsyInfo7PsyNameEv @ 10 NONAME
-	_ZTI10CLocPsyEng @ 11 NONAME ; #<TI>#
-	_ZTI11CLocPsyInfo @ 12 NONAME ; #<TI>#
-	_ZTI15CLocPsySettings @ 13 NONAME ; #<TI>#
-	_ZTI32CLocPsyConfigUiServiceClientImpl @ 14 NONAME ; #<TI>#
-	_ZTV10CLocPsyEng @ 15 NONAME ; #<VT>#
-	_ZTV11CLocPsyInfo @ 16 NONAME ; #<VT>#
-	_ZTV15CLocPsySettings @ 17 NONAME ; #<VT>#
-	_ZTV32CLocPsyConfigUiServiceClientImpl @ 18 NONAME ; #<VT>#
-
--- a/locationsystemui/locationsysui/locpsysettings/locpsysettingseng/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Build information file for Location Positioning Settings Engine
-*
-*
-*/
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../inc/locpsyeng.h					 |../../../../inc/locpsyeng.h
-../inc/locpsyengobserver.h    		 |../../../../inc/locpsyengobserver.h
-../inc/locpsyengdebug.h		    	 |../../../../inc/locpsyengdebug.h
-../inc/locpsyengdebugconfig.hrh      |../../../../inc/locpsyengdebugconfig.hrh
-../inc/locpsyinfo.h                  |../../../../inc/locpsyinfo.h
-../inc/locpsysettings.h				 |../../../../inc/locpsysettings.h
-../inc/locpsysettingsengconsts.h     |../../../../inc/locpsysettingsengconsts.h
-../inc/locpsysettingsinterface.h     |../../../../inc/locpsysettingsinterface.h
-../inc/locpsyconfigclientimpl.h      |../../../../inc/locpsyconfigclientimpl.h
-../inc/locpsyconfigclientwrapper.h   |../../../../inc/locpsyconfigclientwrapper.h
-
-PRJ_MMPFILES
-locpsysettingseng.mmp
-
-//  End of File
--- a/locationsystemui/locationsysui/locpsysettings/locpsysettingseng/group/locpsysettingseng.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Project definition file for Location Positioning Settings Engine
-*
-*/
-
-
-
-// INCLUDES
-#include "../inc/locpsyengdebugconfig.hrh"
-#include "../inc/locpsysenguid.hrh"
-#include <platform_paths.hrh> // For the MW_LAYER_SYSTEMINCLUDE
-
-// Target information
-TARGET  				locpsysettingseng.dll
-TARGETTYPE  			dll
-UID  					0x0 LOCPSYSETTINGSENG_UID3
-
-VENDORID 				VID_DEFAULT
-CAPABILITY 				CAP_GENERAL_DLL
-
-SOURCEPATH 				../src
-SOURCE 				    locpsyeng.cpp
-SOURCE	 				locpsyinfo.cpp
-SOURCE 					locpsysettings.cpp
-SOURCE  				locpsyconfigclientwrapper.cpp
-SOURCE  				locpsyconfigclientimpl.cpp
-
-#ifdef LOC_ENABLE_DEBUG_PRINT
-SOURCE                  locpsysettingsengdebug.cpp
-#else
-SOURCE                  locpsysettingsengdebugdummy.cpp
-#endif
-
-// System Include
-MW_LAYER_SYSTEMINCLUDE
-
-USERINCLUDE 			.
-USERINCLUDE 			../inc
-
-LIBRARY 				euser.lib
-LIBRARY 				eposmodset.lib
-LIBRARY 				lbs.lib
-LIBRARY 				apgrfx.lib
-LIBRARY 				bafl.lib
-LIBRARY 				apparc.lib
-LIBRARY 				eikcore.lib
-LIBRARY 				avkon.lib
-
-#ifdef LOC_ENABLE_DEBUG_PRINT
-LIBRARY 				flogger.lib
-#endif
--- a/locationsystemui/locationsysui/locpsysettings/locpsysettingseng/inc/locpsyconfigclientimpl.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-/*
-* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Provides Location PSY configuration UI class.
-*
-*/
-
-
-#ifndef CLOCPSYCONFIGCLIENTIMPL_H_
-#define CLOCPSYCONFIGCLIENTIMPL_H_
-
-#include <AknLaunchAppService.h>
-#include <AknServerApp.h>
-
-#include "locpsyconfigclientwrapper.h"
-
-/**
-* This class provides the implementation to launch the PSY COnfiguration UI as
-* an embedded application. It uses the Symbian & Series60 AppArc Framework to
-* launch the application.
-*/
-class CLocPsyConfigUiServiceClientImpl : public CLocPsyConfigUiServiceClient
-	{
-	public:
-	    /**
-	     * C++ Overloaded Constuctor
-	     *
-	     * @param aReg      Configuration UI registration information
-	     * @param aObserver Observer to notify the termination of the
-	     *                  config UI service
-	     */
-	    CLocPsyConfigUiServiceClientImpl( CLocPsyConfigUiReg&        aReg, 
-	                                      MAknServerAppExitObserver& aObserver );
-	    
-	    /**
-	     * Destructor
-	     */
-		~CLocPsyConfigUiServiceClientImpl();
-		
-		/**
-		 * Create the Application launcher
-		 */
-		void StartServerL();
-		
-		/**
-		 * Close the application launcher
-		 *
-		 * @param reason Reason for closing the application
-		 */
-		void CloseServer( TInt reason );
-		
-		/**
-		 * Accessor function for the PSY ID
-		 * 
-		 * @return TInt     PSY ID
-		 */
-		TInt PsyId();
-		
-		/**
-		 * Accessor function for the Application UID
-		 *
-		 * @return TUid     Application UID
-		 */
-		TUid AppUid();
-		
-	private:
-	    /**
-	     * Application launher
-	     * Owns
-	     */
-		CAknLaunchAppService*           iLaunchAppService;
-		
-		/**
-		 * Observer to notify the exit of the application
-		 * Reference
-		 */
-		MAknServerAppExitObserver*      iObserver;
-		
-		/**
-		 * Configuration UI registration information
-		 * Reference
-		 */
-		CLocPsyConfigUiReg&             iAppRegInfo;
-	};
-
-#endif // CLOCPSYCONFIGCLIENTIMPL_H_
--- a/locationsystemui/locationsysui/locpsysettings/locpsysettingseng/inc/locpsyconfigclientwrapper.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
- *         psy configuration ui server app wrapper implementation.
- *
-*/
-
-#ifndef LOCPSYCONFIGCLIENTWRAPPER_H_
-#define LOCPSYCONFIGCLIENTWRAPPER_H_
-
-#include <AknServerApp.h>
-
-/**
- * This class provides the place holder for the structural information of the
- * of the Configuration UI application.
- */
-class CLocPsyConfigUiReg : public CBase
-	{
-	public:
-	    /**
-	     * Two phase constructor
-	     *
-	     * @param  aApp                  Application UID
-	     * @param  aResource             Resource ID
-	     * @return CLocPsyConfigUiReg*   Reference to the object created
-	     */
-		static CLocPsyConfigUiReg* NewL(       TUid     aApp,
-		                                 const TDesC8&  aResource );
-		                                 
-        /**
-         * Accessor function for the PSY UID
-         * 
-         * @return TInt     PSY UID
-         */ 		                                 
-		TInt RegId();
-		
-		/**
-		 * Accessor function for the Application UID
-		 *
-		 * @return TUid     Application UID
-		 */
-		TUid AppUid();
-
-	private:
-	    /**
-	     * C++ Default Constructor
-	     */
-		CLocPsyConfigUiReg();
-		
-		/**
-		 * Second phase constructor
-	     * @param  aApp                  Application UID
-	     * @param  aResource             Resource ID		 
-		 */
-		void ConstructL(       TUid    aApp,
-		                 const TDesC8& aResource );
-
-	private:
-	    /**
-	     * Application UID
-	     */
-		TUid iAppUid;
-		
-		/**
-		 * PSY UID
-		 */
-		TInt iRegId;
-	};
-
-/**
- * This class provides the discovery mechanism to discover the PSY
- * Configuration UI corresponding to the registration information
- */
-class CLocPsyConfigUiServiceClient : public CBase
-	{
-	public:
-	    /**
-	     * Two phase constructor
-	     *
-	     * @param  aReg                             Application registration info
-	     * @param  aObserver                        Observer to notify the termination
-	     *                                          of the application
-	     * @return CLocPsyConfigUiServiceClient*    Reference to the object created
-	     */
-		static CLocPsyConfigUiServiceClient* NewLC(
-			                              CLocPsyConfigUiReg&        aReg, 
-			                              MAknServerAppExitObserver& aObserver );
-	public:
-	    /**
-	     * Static Discovery mechanism
-	     * 
-	     * @param  TInt                 PSY UID
-	     * @return CLocPsyConfigUiReg*  Registration Info
-	     */
-		static CLocPsyConfigUiReg* DiscoverLC( const TInt PsyUid );
-	};
-
-#endif // LOCPSYCONFIGCLIENTWRAPPER_H_
--- a/locationsystemui/locationsysui/locpsysettings/locpsysettingseng/inc/locpsyeng.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This  is a header file for engine class of Location position settings
-*
-*/
-
-
-#ifndef CLOCPSYENG_H_
-#define CLOCPSYENG_H_
-
-//  INCLUDES
-#include <e32base.h>
-
-// FORWARD DECLARATION
-
-class CLocPsySettings;
-class MLocPsySettings;
-
-/**
-* Enumerations for model creation
-*/
-enum TLocModelType
-    {
-    ELocPsySettings, 
-    };
-
-// CLASS DECLARATION
-/**
- *  Implements entry point class to LocEng.dll
- *
- *  @lib locpsysettingseng.dll
- *  @since 3.1
- */
-class CLocPsyEng : public CBase
-    {
-    private:
-       /**
-        * C++ default constructor.
-        */
-        CLocPsyEng();
-        
-    public:
-       /**
-        * Two-phased constructor.
-        *
-        * @return CLocPsyEng object.
-        */
-        IMPORT_C static CLocPsyEng* NewL();
-        
-       /**
-        * Destructor.
-        */
-        IMPORT_C virtual ~CLocPsyEng();
-    
-    public: 
-       /**
-        * Settings model getter.
-        * Model is NOT created if it does not exist.
-        * Ownership not transferred.
-        * @return pointer to the settings model
-        */
-        IMPORT_C MLocPsySettings* SettingsModel();
-        /**
-        * Model creator.
-        * This method creates and initializes models.
-        * Model creation method is used if no separate 
-        * handle to model needed. 
-        * @param aModel model identificator.
-        */
-        IMPORT_C void CreateModelL( TLocModelType aModel );
-
-        /**
-        * Engine can contain multiple models.
-        * With help of this function certain model can be deleted.
-        * @param aModelType Model type to be deleted
-        */
-        IMPORT_C void RemoveModel(TLocModelType aModelType );
-                       
-    private:    // data
-        // OWn: Settings model
-        CLocPsySettings* iSettings; 
-    };
-
-#endif // CLOCPSYENG_H_
-
-// End of File
--- a/locationsystemui/locationsysui/locpsysettings/locpsysettingseng/inc/locpsyengdebug.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Contains debug macros.
-*
-*/
-
-
-#ifndef LOCPSYENGDEBUG_H 
-#define LOCPSYENGDEBUG_H
-
-// INCLUDES
-#include <e32std.h>
-#include "locpsyengdebugconfig.hrh"
-
-// MACROS
-
-/**
-* Contains debug macros. By using component specific debug macros unnecessary 
-* calls to LocUtils.dll can be avoided.
-*/
-
-#ifdef LOC_ENABLE_DEBUG_PRINT
-#define LOCENGDEBUG(TEXT) DEBUG(TEXT);
-#define LOCENGDEBUG1(TEXT, ARG1) LOC(TEXT, ARG1);
-#define LOCENGDEBUG2(TEXT, ARG1, ARG2) LOC2(TEXT, ARG1, ARG2);
-#define LOCENGDEBUG3(TEXT, ARG1, ARG2, ARG3) LOC3(TEXT, ARG1, ARG2, ARG3);
-
-// MACROS
-#define DEBUG(TEXT) 				 { \
-									  _LIT( KText, #TEXT ); \
-									  Debug(KText); \
-									 }
-									 
-#define LOC(TEXT, ARG1) 			 { \
-									  _LIT( KText, #TEXT ); \
-									  Debug( KText, (ARG1) ); \
-									 }
-									 
-#define LOC2(TEXT, ARG1, ARG2) 		 { \
-									  _LIT( KText, #TEXT );\
-									  Debug( KText, (ARG1), (ARG2) );\
-									 }
-									 
-#define LOC3(TEXT, ARG1, ARG2, ARG3) { \
-									  _LIT( KText, #TEXT );  \
-									  Debug( KText, (ARG1), (ARG2), (ARG3) ); \
-									 }
-
-
-#else
-#define LOCENGDEBUG(TEXT);
-#define LOCENGDEBUG1(TEXT, ARG1);
-#define LOCENGDEBUG2(TEXT, ARG1, ARG2);
-#define LOCENGDEBUG3(TEXT, ARG1, ARG2, ARG3);
-#endif
-
-IMPORT_C void Debug( TRefByValue<const TDesC> aText, ...);
-
-#endif // LOCPSYENGDEBUG_H
--- a/locationsystemui/locationsysui/locpsysettings/locpsysettingseng/inc/locpsyengdebugconfig.hrh	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Build time debug configuration 
-*
-*/
-
-
-#ifndef LOCPSYENGDEBUGCONFIG_HRH_
-#define LOCPSYENGDEBUGCONFIG_HRH_
-
-//  INCLUDES
-
-// Flags for development:
-
-
-// Defined LOC_ENABLE_DEBUG_PRINT flag enables debug prints to a file.
-//#define LOC_ENABLE_DEBUG_PRINT
-
-#endif // LOCPSYENGDEBUGCONFIG_HRH_
-
-// End of File
--- a/locationsystemui/locationsysui/locpsysettings/locpsysettingseng/inc/locpsyengobserver.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Provides an observer interface to location application engine.
-*
-*/
-
-
-
-#ifndef MLOCPSYENGOBSERVER_H_
-#define MLOCPSYENGOBSERVER_H_
-
-// CLASS DECLARATIONS
-/**
-*  Engine provides this API only for location application.
-*  Via this interface engine observers are notified about a new event. 
-*
-*  @lib locpsysettingseng.lib
-*  @since 3.1
-*/
-class MLocPsyEngObserver
-    {
-    public: // New functions
-        /**
-        * Notifies the engine observer about occured event.
-        * Engine observer has to update its data when this function is called.
-        */
-        virtual void NotifyL() = 0;
-
-        /**
-        * Called if occured event causes a leave in previous NotifyL method.
-        * @param aErrorCode Occured general errorcode.
-        */
-        virtual void NotifyError( TInt aErrorCode ) = 0;
-    };
-
-#endif      // MLOCPSYENGOBSERVER_H_
-            
-// End of File
--- a/locationsystemui/locationsysui/locpsysettings/locpsysettingseng/inc/locpsyinfo.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-/*
-* Copyright (c) 2002,2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Location Psy info class.
-*
-*/
-
-
-
-#ifndef CLOCPSYINFO_H__
-#define CLOCPSYINFO_H__
-
-//  INCLUDES
-#include <e32std.h>
-#include <lbscommon.h>
-
-// CLASS DECLARATION
-
-/**
-* Location Psy info class.
-* A data container class which holds information about psy name and id.
-*/
-class CLocPsyInfo: public CBase
-    {
-    public: // interface
-        /**
-        * Returns the Location Psy id of this PSY module.
-        */
-        IMPORT_C TPositionModuleId PsyId() const;
-
-        /**
-         * Returns the name of psy module.
-         */
-        IMPORT_C const TDesC& PsyName() const;
-        
-        /**
-        * C++ default constructor.
-        */
-        CLocPsyInfo();
-
-        /**
-        * Destructor.
-        */        
-        virtual ~CLocPsyInfo();
-	
-	public: // Non-exported functions
-		/**
-		 * Set the PsyId
-		 */
-		void SetPsyId(const TPositionModuleId& aPsyId);
-
-		/**
-		 * Set the Psy Name
-		 */
-		void SetPsyNameL(const TDesC& aBuf);
-        
-    private:  // Unimplemented functions
-        /// Private, unimplemented copy constructor
-        CLocPsyInfo(const CLocPsyInfo&);
-        /// Private, unimplemented assignment operator
-        CLocPsyInfo& operator=(const CLocPsyInfo&);
-
-    public: // data members
-        // Own: unique psy id
-        TPositionModuleId iPsyId;
-        // Own: PSY name
-        HBufC* iPsyName;        
-    };
-
-#endif      // CLOCPSYINFO_H__
-            
-// End of File
--- a/locationsystemui/locationsysui/locpsysettings/locpsysettingseng/inc/locpsysenguid.hrh	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Contains the UID3 value to be used for the Positioning Method Settings UI
-*				 Engine
-*
-*/
-
-#ifndef LOCPSYUIENGUID_HRH_
-#define LOCPSYUIENGUID_HRH_
-
-// Positioning Method Settings Engine UID 3
-#define LOCPSYSETTINGSENG_UID3          0x101F84EF
-
-#endif      // LOCPSYUIENGUID_HRH_
-
-// End of File
-
-
--- a/locationsystemui/locationsysui/locpsysettings/locpsysettingseng/inc/locpsysettings.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,176 +0,0 @@
-/*
-* Copyright (c) 2002,2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementes settings extension API
-*
-*/
-
-
-
-#ifndef CLOCPSYSETTINGS_H__
-#define CLOCPSYSETTINGS_H__
-
-//  INCLUDES
-#include <e32base.h>
-#include <lbs/epos_mposmodulesobserver.h> 
-#include <lbs/epos_cposmoduleidlist.h>
-
-#include "locpsyinfo.h"
-#include "locpsysettingsinterface.h"
-
-/// FORWARD DECLARATION
-class CPosModules;
-class CPosModuleIdList;
-class MLocPsyEngObserver;
-class CLocPsyConfigUiServiceClientImpl;
-
-// CLASS DECLARATION
-
-/**
-*  An location engine API for location application.
-*  Provides access to location settings.
-*  @lib loceng.lib
-*  @since 2.1
-*/
-class CLocPsySettings : public CBase, 
-                        public MLocPsySettings, 
-						public MPosModulesObserver
-    {
-    private:
-        /**
-        * C++ default constructor.
-        */
-        CLocPsySettings();
-        
-    public:
-        /**
-        * Two-phased constructor.
-        */
-        static CLocPsySettings* NewL();
-
-        /**
-        * Destructor.
-        */
-        virtual ~CLocPsySettings();
-
-    private:
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-
-    public:
-        /**
-         * Accessor function for obtaining the number of PSYs
-         * 
-         * @return TInt Number of PSYs
-         */    
-        inline TInt PSYCount();
-        
-        /**
-         * Accessor function for obtaining the PSY information
-         * 
-         * @return CLocPsyInfo* PSY information
-         */         
-        CLocPsyInfo* GetPsyL( TInt aIndex );
-        
-        /**
-         * Enable a particular PSY
-         * 
-         * @param TInt Index of the PSY
-         */          
-		void EnablePsyL( TInt aIndex );
-		
-        /**
-         * Disable a particular PSY
-         * 
-         * @param TInt Index of the PSY
-         */ 		
-		void DisablePsyL( TInt aIndex );
-		
-        /**
-         * Launch the configuration UI for a particular PSY
-         * 
-         * @param TInt Index of the PSY
-         */ 		
-		void ConfigurePsyL( TInt                        aIndex,
-		                    MAknServerAppExitObserver&  aObserver );
-		    
-        /**
-         * Accessor function to determine whether the PSY is enabled
-         * 
-         * @param  TInt     Index of the PSY
-         * @return TBool    Boolean value to indicate whether the PSY 
-         *                  has been enabled / disabled
-         */ 		                    
-		TBool IsPsyEnabled( TInt aIndex );
-	
-        /**
-         * Accessor function to determine whether the PSY is configurable
-         * 
-         * @param  TInt     Index of the PSY
-         * @return TBool    Boolean value to indicate whether the PSY 
-         *                  can be configured
-         */		
-		TBool IsPsyConfigurable( TInt aIndex );
-		
-        /**
-         * Close the launched configuration
-         *
-         */ 		
-		void ClosePsyConfigurationApp();
-	
-        /**
-         * Accessor function for setting the PSY Settings UI Engine 
-         * Observer
-         * 
-         * @param aObserver Observer to the PSY Settings UI Engine
-         */ 		
-        void SetObserver(MLocPsyEngObserver& aObserver);
-        
-        /**
-         * Accessor function for removing the PSY Settings UI Engine 
-         * Observer
-         *
-         */        
-        void RemoveModelObserver();
-
-    public:
-        /**
-         * MPosModulesObserver
-         */
-        virtual void HandleSettingsChangeL(TPosModulesEvent aEvent);
-		
-    private:
-        /// Own: Pointer to modules db
-        CPosModules* iModuleDb;
-        /// Own: Pointer to modules id list
-        CPosModuleIdList* iPsyList;
-        /// Own: psy info
-        CLocPsyInfo* iPsy;
-        /// Ref: Observer interface to location application engine
-        MLocPsyEngObserver* iObserver;
-        /// Own: Handle to the PSY configuration UI application. 
-        ///      Used to close the configuration application if the PSY in uninstalled.
-        CLocPsyConfigUiServiceClientImpl* iServClient;
-    };
-
-TInt CLocPsySettings::PSYCount()
-    {
-    return iPsyList->Count();
-    }
-
-
-#endif      // __CLOCPSYSETTINGS_H__   
-            
-// End of File
--- a/locationsystemui/locationsysui/locpsysettings/locpsysettingseng/inc/locpsysettingsengconsts.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*     Contains common constants
-*
-*/
-
-
-#ifndef LOCPSYSETTINGSENGCONSTS_H_
-#define LOCPSYSETTINGSENGCONSTS_H_
-
-// CONSTANTS
-
-// maximum PSY name length
-// however, use safe descriptor manamegent methods
-const TInt KLocPsyMaxLen = 100;
-
-#endif // LOCPSYSETTINGSENGCONSTS_H_
-
-// End of File
--- a/locationsystemui/locationsysui/locpsysettings/locpsysettingseng/inc/locpsysettingsinterface.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,132 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Location settings can be modified 
-*                and read with help of this API.
-*
-*/
-
-
-
-#ifndef MLOCPSYSETTINGS_H_
-#define MLOCPSYSETTINGS_H_
-
-// INCLUDES
-#include <lbscommon.h> // TPositionModuleId
-
-// FORWARD DECLARATIONS
-class MLocPsyEngObserver;
-class CLocPsyInfo;
-class MAknServerAppExitObserver;
-
-// CLASS DECLARATION
-
-/**
-*  This location application engine API is only used by location application.
-*  Location settings can be modified and read with help of this API.
-*
-*  @lib locpsysettingseng.lib
-*  @since 3.1
-*/
-class MLocPsySettings
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Destructor.
-        */
-        virtual ~MLocPsySettings(){};
-
-    public: // New functions
-        /**
-        * Lists all PSYs
-        * @since 3.1
-        * @return number of PSYs
-        */
-        virtual TInt PSYCount() = 0;  
-
-        /**
-        * Get psy information
-        * @since 3.1
-        * @param aIndex 
-        * @return psy information
-        */
-        virtual CLocPsyInfo* GetPsyL(TInt aIndex ) = 0;  
-        
-        /**
-        * Enable psy
-        * @since 3.1
-        * @param psy
-        * @return nothing. Leaves on Error.
-        */
-        virtual void EnablePsyL( TInt aIndex ) = 0;
-
-        /**
-        * Disable psy
-        * @since 3.1
-        * @param psy
-        * @return nothing. Leaves on Error.
-        */
-        virtual void DisablePsyL( TInt aIndex ) = 0;
-
-
-        /**
-        * Start psy configuration UI
-        * @since 3.1
-        * @param aIndex 
-        * @return none
-        */
-		virtual void ConfigurePsyL(TInt aIndex, 
-								   MAknServerAppExitObserver& aObserver ) = 0;
-		
-        /**
-        * Close psy configuration UI
-        * @since 3.1
-        * @param none 
-        * @return none
-        */
-		virtual void ClosePsyConfigurationApp() = 0;
-
-        /**
-        * Get psy information
-        * @since 3.1
-        * @param aIndex 
-        * @return psy information
-        */
-        virtual TBool IsPsyConfigurable( TInt aIndex ) = 0;
-        
-        /**
-        * Get psy information
-        * @since 3.1
-        * @param aIndex 
-        * @return psy information
-        */
-        virtual TBool IsPsyEnabled( TInt aIndex ) = 0;
-
-        /**
-        * Sets settings observer
-        * @since 3.1
-        * @param aObserver A reference to observer
-        */
-        virtual void SetObserver(MLocPsyEngObserver& aObserver) = 0;
-
-        /**
-        * Removes settings observer        
-        * @since 3.1
-        */        
-        virtual void RemoveModelObserver() = 0;
-    };
-
-#endif      // MLOCPSYSETTINGS_H_ 
-            
-// End of File
--- a/locationsystemui/locationsysui/locpsysettings/locpsysettingseng/src/locpsyconfigclientimpl.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  PSY configuration UI application launching implementation.
-*
-*/
-
-
-// System Include
-#include <eikserverapp.h>
-
-// User Include
-#include "locpsyconfigclientwrapper.h"
-#include "locpsyconfigclientimpl.h"
-
-// -----------------------------------------------------------------------------
-// CLocPsyConfigUiServiceClientImpl::CLocPsyConfigUiServiceClientImpl
-// -----------------------------------------------------------------------------
-//
-CLocPsyConfigUiServiceClientImpl::CLocPsyConfigUiServiceClientImpl(
-                                                          CLocPsyConfigUiReg&        aRegInfo, 
-														  MAknServerAppExitObserver& aObserver )
-	:iObserver(&aObserver),iAppRegInfo(aRegInfo)
-	{
-	}
-
-// -----------------------------------------------------------------------------
-// CLocPsyConfigUiServiceClientImpl::~CLocPsyConfigUiServiceClientImpl
-// -----------------------------------------------------------------------------
-//
-CLocPsyConfigUiServiceClientImpl::~CLocPsyConfigUiServiceClientImpl()
-	{
-	if(iLaunchAppService)
-		{
-		delete iLaunchAppService;
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// CLocPsyConfigUiServiceClient* CLocPsyConfigUiServiceClient::NewLC
-// -----------------------------------------------------------------------------
-//
-CLocPsyConfigUiServiceClient* CLocPsyConfigUiServiceClient::NewLC(
-	                                                      CLocPsyConfigUiReg&        aReg, 
-	                                                      MAknServerAppExitObserver& aObserver )
-	{
-	CLocPsyConfigUiServiceClientImpl* self = 
-						new(ELeave) CLocPsyConfigUiServiceClientImpl( aReg, aObserver );
-	CleanupStack::PushL(self);
-	// No second phase construction
-	return self;
-	}
-
-// -----------------------------------------------------------------------------
-// CLocPsyConfigUiServiceClientImpl::StartServerL
-// -----------------------------------------------------------------------------
-//
-void CLocPsyConfigUiServiceClientImpl::StartServerL()
-	{
-	iLaunchAppService = CAknLaunchAppService::NewL( iAppRegInfo.AppUid(), iObserver, NULL );
-	}
-
-// -----------------------------------------------------------------------------
-// CLocPsyConfigUiServiceClientImpl::AppUid
-// -----------------------------------------------------------------------------
-//
-TInt CLocPsyConfigUiServiceClientImpl::PsyId()
-	{
-	return iAppRegInfo.RegId();
-	}
-
-// -----------------------------------------------------------------------------
-// CLocPsyConfigUiServiceClient::AppUid
-// -----------------------------------------------------------------------------
-//	
-TUid CLocPsyConfigUiServiceClientImpl::AppUid()
-	{
-	return iAppRegInfo.AppUid();
-	}
-
-// -----------------------------------------------------------------------------
-// CLocPsyConfigUiServiceClientImpl::CloseServe
-// -----------------------------------------------------------------------------
-//	
-void CLocPsyConfigUiServiceClientImpl::CloseServer( TInt reason )
-	{
-	iObserver->HandleServerAppExit(reason);
-	}
--- a/locationsystemui/locationsysui/locpsysettings/locpsysettingseng/src/locpsyconfigclientwrapper.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,138 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  PSY Configuration UI launching helper class implementations.
- *
-*/
-
- 
-// System Include
-#include <apgcli.h>
-#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
-#include <apaid.h>
-#else
-#include <apaid.h>
-#include <apaidpartner.h>
-#endif
-#include <barsread2.h>
-#include <LocPsyConfigUiUID.hrh>
-
-// User Include
-#include "locpsyconfigclientwrapper.h"
-
-// -----------------------------------------------------------------------------
-// CLocPsyConfigUiReg::CLocPsyConfigUiReg
-// -----------------------------------------------------------------------------
-//
-CLocPsyConfigUiReg::CLocPsyConfigUiReg()
-{
-}
-
-// -----------------------------------------------------------------------------
-// CLocPsyConfigUiReg::NewL
-// -----------------------------------------------------------------------------
-//
-CLocPsyConfigUiReg* CLocPsyConfigUiReg::NewL( TUid aApp, const TDesC8& aResource )
-	{
-	CLocPsyConfigUiReg* reg = new(ELeave) CLocPsyConfigUiReg;
-	CleanupStack::PushL(reg);
-	reg->ConstructL( aApp, aResource );
-	CleanupStack::Pop(reg);
-	return reg;
-	}
-
-// -----------------------------------------------------------------------------
-// CLocPsyConfigUiReg::ConstructL
-// -----------------------------------------------------------------------------
-//	
-void CLocPsyConfigUiReg::ConstructL( TUid aApp, const TDesC8& aResource )
-	{
-	iAppUid = aApp;
-	RResourceReader r;
-	r.OpenLC(aResource);
-	iRegId = r.ReadInt32L();					// read psy_uid
-	CleanupStack::PopAndDestroy(&r);
-	}
-
-// -----------------------------------------------------------------------------
-// CLocPsyConfigUiReg::AppUid
-// -----------------------------------------------------------------------------
-//
-TUid CLocPsyConfigUiReg::AppUid()
-	{
-	return iAppUid;
-	}
-
-// -----------------------------------------------------------------------------
-// CLocPsyConfigUiReg::RegId
-// -----------------------------------------------------------------------------
-//	
-TInt CLocPsyConfigUiReg::RegId()
-	{
-	return iRegId;
-	}
-
-// -----------------------------------------------------------------------------
-// CLocPsyConfigUiServiceClient::DiscoverLC
-// -----------------------------------------------------------------------------
-//	
-CLocPsyConfigUiReg* CLocPsyConfigUiServiceClient::DiscoverLC( const TInt PsyUid )
-	{
-	// Get all of the implementations of the transform service
-	CLocPsyConfigUiReg* regInfo = NULL;
-	TInt error;
-	RApaLsSession ls;
-	User::LeaveIfError(ls.Connect());
-	CleanupClosePushL(ls);
-	CApaAppServiceInfoArray* services = NULL;
-	do
-		{
-		// If Error is EAppListInvalid then try again till you get the list.
-		// The services structure
-		TRAP(error, 
-				services = ls.GetServiceImplementationsLC(
-									TUid::Uid(KLocPsyConfigServiceUid));
-				CleanupStack::Pop(services););
-		} while (error == RApaLsSession::EAppListInvalid);
-	CleanupStack::PushL(services);
-	
-	// If there was an error then leave
-	User::LeaveIfError(error);
-
-	TArray< TApaAppServiceInfo > ServInfoArray = services->Array();
-	for (TInt i=0; i<ServInfoArray.Count() ; i++)
-		{
-		// This is under TRAP so that corrupt resources don't crash the 
-		// discovery procedure.
-		// The TRAP's return code is ignored intentionally
-		const TApaAppServiceInfo& appInfo = ServInfoArray[i];
-		TRAP(error, regInfo = 
-			CLocPsyConfigUiReg::NewL(appInfo.Uid(), appInfo.OpaqueData()););
-		if(	error == KErrNone && regInfo->RegId() == PsyUid )
-			{
-			// Found the correct PSY module so just break out of the loop
-			// and return the regInfo from outside the loop.
-			break;
-			}
-		else
-			{
-			delete regInfo;
-			regInfo = NULL;
-			}
-		}
-	
-	CleanupStack::PopAndDestroy(services);
-	CleanupStack::PopAndDestroy() ;// ls
-	CleanupStack::PushL(regInfo);
-	return regInfo;
-	}
--- a/locationsystemui/locationsysui/locpsysettings/locpsysettingseng/src/locpsyeng.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,134 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*     Implements interface for Loc event
-*
-*/
-
-
-// INCLUDE FILES
-#include "locpsyeng.h"
-#include "locpsysettings.h"
-#include "locpsyengdebug.h"
-
-// CONSTANTS
-/// Unnamed namespace for local definitions
-#ifdef _DEBUG
-
-_LIT( KLocPanicText, "CLocPsyEng" );
-// LOCAL CONSTANTS AND MACROS
-enum TPanicCode
-    {
-    KLocErrModelTypeNotSupported = -70
-    };
-// ==================== LOCAL FUNCTIONS ====================
-
-void Panic(TPanicCode aReason)
-    {
-    User::Panic( KLocPanicText, aReason );
-    }
-#endif
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CLocPsyEng::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CLocPsyEng* CLocPsyEng::NewL()
-    {
-    CLocPsyEng* self = new (ELeave) CLocPsyEng();
-    // Nothing to do for the second stage construction.
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CLocPsyEng::CLocPsyEng
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CLocPsyEng::CLocPsyEng() 
-    {
-    }
-
-// Destructor
-
-EXPORT_C CLocPsyEng::~CLocPsyEng()
-    {    
-    delete iSettings;
-    }
-
-// -----------------------------------------------------------------------------
-// CLocPsyEng::SettingsModel
-// Settings model getter.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C MLocPsySettings* CLocPsyEng::SettingsModel()
-    {
-    return iSettings;
-    }
-
-// -----------------------------------------------------------------------------
-// CLocPsyEng::CreateModelL() 
-// Creates a given model type.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CLocPsyEng::CreateModelL( TLocModelType aModel )
-    {
-    switch( aModel )
-        {
-        case ELocPsySettings:
-            {
-            if ( !iSettings )
-                {
-                iSettings = CLocPsySettings::NewL();
-                }
-            break;
-            }            
-        default:
-            {
-            // Not supported model type
-            __ASSERT_DEBUG(EFalse, Panic(KLocErrModelTypeNotSupported));
-            break;
-            }            
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CLocPsyEng::RemoveModel
-// Removes a given model type.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CLocPsyEng::RemoveModel( TLocModelType aModelType )
-    {
-    switch ( aModelType )
-        {
-        case ELocPsySettings:
-            {
-            delete iSettings;
-            iSettings = NULL;
-            break;
-            }           
-        default:
-            {
-            // Not supported model type
-            __ASSERT_DEBUG(EFalse, Panic(KLocErrModelTypeNotSupported));
-            }
-            break;
-        }
-    }
-
-// End of File
--- a/locationsystemui/locationsysui/locpsysettings/locpsysettingseng/src/locpsyinfo.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Location Psy info class.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include    "locpsyinfo.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CLocPsyInfo::PsyId
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TPositionModuleId CLocPsyInfo::PsyId() const 
-    { 
-    return iPsyId; 
-    }
-
-// -----------------------------------------------------------------------------
-// CLocPsyInfo::PsyName
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const TDesC& CLocPsyInfo::PsyName() const 
-    { 
-    return *iPsyName; 
-    }
-
-// -----------------------------------------------------------------------------
-// CLocPsyInfo::SetPsyId
-// -----------------------------------------------------------------------------
-//
-void CLocPsyInfo::SetPsyId(const TPositionModuleId& aPsyId)
-	{
-	iPsyId = aPsyId;
-	}
-
-// -----------------------------------------------------------------------------
-// CLocPsyInfo::SetPsyNameL
-// -----------------------------------------------------------------------------
-//	
-void CLocPsyInfo::SetPsyNameL(const TDesC& aBuf)
-	{
-	delete iPsyName;
-    iPsyName = NULL;
-    iPsyName = aBuf.AllocL();
-	}
-
-// -----------------------------------------------------------------------------
-// CLocPsyInfo::CLocPsyInfo
-// -----------------------------------------------------------------------------
-//	
-CLocPsyInfo::CLocPsyInfo()
-    {    
-    }
-
-// -----------------------------------------------------------------------------
-// CLocPsyInfo::~CLocPsyInfo
-// -----------------------------------------------------------------------------
-//
-CLocPsyInfo::~CLocPsyInfo()
-    {
-    delete iPsyName;
-    }
-//  End of File  
--- a/locationsystemui/locationsysui/locpsysettings/locpsysettingseng/src/locpsysettings.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,271 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementes settings extension API
-*
-*/
-
-
-// System Include
-#include <lbs/epos_cposmodules.h>
-#include <lbs/epos_cposmoduleidlist.h>
-#include <lbs/epos_cposmoduleupdate.h> // CPosModuleUpdate
-#include <lbs/epos_mposmodulesobserver.h> 
-
-// User Include
-#include "locpsysettings.h"
-#include "locpsyengdebug.h"
-#include "locpsyengobserver.h"
-#include "locpsyinfo.h" 
-#include "locpsysettingsengconsts.h"
-#include "locpsyconfigclientimpl.h"
-#include "locpsyconfigclientwrapper.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// Factory function
-CLocPsySettings* CLocPsySettings::NewL()
-    {
-    CLocPsySettings* self = new( ELeave ) CLocPsySettings();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CLocPsySettings::CLocPsySettings
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CLocPsySettings::CLocPsySettings()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CLocPsySettings::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CLocPsySettings::ConstructL()
-    {
-    iModuleDb = CPosModules::OpenL();
-    iPsyList = iModuleDb->ModuleIdListL();
-    iPsy = new (ELeave) CLocPsyInfo();
-
-    iModuleDb->SetObserverL( *this );
-    }
-
-// Destructor
-
-CLocPsySettings::~CLocPsySettings()
-    {
-    if ( iModuleDb )
-    	{
-    	iModuleDb->RemoveObserver();
-    	delete iModuleDb;
-    	}
-
-    delete iPsyList;
-    delete iPsy;
-    delete iServClient;
-    }
-
-// -----------------------------------------------------------------------------
-// CLocPsySettings::GetPsyL
-// -----------------------------------------------------------------------------
-//
-CLocPsyInfo* CLocPsySettings::GetPsyL( TInt aIndex )
-    {
-    TPositionModuleInfo moduleInfo;
-    // Sanity check of input parameter
-    if ( aIndex < 0 || aIndex >= iPsyList->Count())
-    	{
-    	// Invalid index values so Leave indicating bad argument
-    	User::Leave(KErrArgument);
-    	}
-    TPositionModuleId moduleId = iPsyList->At( aIndex );
-    iModuleDb->GetModuleInfoL( moduleId, moduleInfo);
-    iPsy->SetPsyId( moduleId );
-    TBuf<KLocPsyMaxLen>* buf=new (ELeave) TBuf<KLocPsyMaxLen>;
-    moduleInfo.GetModuleName( *buf );
-    CleanupStack::PushL( buf );
-    iPsy->SetPsyNameL( *buf );
-    CleanupStack::PopAndDestroy(buf);
-    return iPsy;
-    }
-
-// -----------------------------------------------------------------------------
-// CLocPsySettings::HandleSettingsChangeL
-// -----------------------------------------------------------------------------
-//
-void CLocPsySettings::HandleSettingsChangeL(TPosModulesEvent aEvent)
-    {
-	LOCENGDEBUG("CLocPsySettings::HandleSettingsChangeL called");
-    CPosModuleIdList* temp = iModuleDb->ModuleIdListL();
-    delete iPsyList;
-
-    iPsyList = temp;
-	LOCENGDEBUG3("CLocPsySettings::HandleSettingsChangeL event=%d psy=%d no of PSYs=%d",
-				aEvent.iType, aEvent.iModuleId, iPsyList->Count());
-				
-    if( aEvent.iType == EPosModulesEventModuleRemoved && iServClient &&
-    	aEvent.iModuleId == TUid::Uid(iServClient->PsyId()) )
-    	{
-		LOCENGDEBUG("Observer: PSY that is being configured is uninstalled");
-    	iServClient->CloseServer(KErrAbort);
-    	}
-    if(iObserver)
-    	{
-    	iObserver->NotifyL();
-    	}
-    }
-
-// -----------------------------------------------------------------------------
-// CLocPsySettings::EnablePsyL
-// -----------------------------------------------------------------------------
-//
-void CLocPsySettings::EnablePsyL( TInt aIndex )
-    {
-    CLocPsyInfo* psyInfo = GetPsyL(aIndex);
-    CPosModuleUpdate* posModuleUpdate = CPosModuleUpdate::NewLC();   
-    posModuleUpdate->SetUpdateAvailability( ETrue );
-    iModuleDb->UpdateModuleL( psyInfo->PsyId(), *posModuleUpdate );
-	LOCENGDEBUG2("CLocPsySettings::EnablePsyL: PSY %d index %d",
-				psyInfo->PsyId(), aIndex);
-    CleanupStack::PopAndDestroy(posModuleUpdate);
-    }
-
-// -----------------------------------------------------------------------------
-// CLocPsySettings::DisablePsyL
-// -----------------------------------------------------------------------------
-//
-void CLocPsySettings::DisablePsyL( TInt aIndex )
-    {
-    CLocPsyInfo* psyInfo = GetPsyL(aIndex);
-    CPosModuleUpdate* posModuleUpdate = CPosModuleUpdate::NewLC();   
-    posModuleUpdate->SetUpdateAvailability( EFalse );
-    iModuleDb->UpdateModuleL( psyInfo->PsyId(), *posModuleUpdate );
-	LOCENGDEBUG2("CLocPsySettings::DisablePsyL: PSY %d index %d",
-				psyInfo->PsyId(), aIndex);
-    CleanupStack::PopAndDestroy(posModuleUpdate);
-    }
-
-// -----------------------------------------------------------------------------
-// CLocPsySettings::ConfigurePsyL
-// -----------------------------------------------------------------------------
-//
-void CLocPsySettings::ConfigurePsyL(TInt aIndex, 
-									MAknServerAppExitObserver& aObserver)
-	{
-	CLocPsyConfigUiReg* reg = NULL;
-	TRAPD(error, GetPsyL( aIndex );
-    		reg = CLocPsyConfigUiServiceClientImpl::DiscoverLC(
-    							iPsy->PsyId().iUid);
-    		CleanupStack::Pop(reg););
-	// If GetModuleInfoL is not supported it returns KErrNotSupported
-	// If DiscoverLC fails it returns KErrNotFound or KErrNoMemory
-	if ( error == KErrNone && reg )
-		{
-		CleanupStack::PushL( reg );
-		LOCENGDEBUG2("CLocPsySettings::ConfigurePsyL: PSY %d index %d",
-					iPsy->PsyId(), aIndex);
-		iServClient = static_cast<CLocPsyConfigUiServiceClientImpl*>
-		 		(CLocPsyConfigUiServiceClientImpl::NewLC(*reg, aObserver));
-		CleanupStack::Pop(iServClient);		 		
-		iServClient->StartServerL();
-		CleanupStack::PopAndDestroy( reg );
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// CLocPsySettings::ClosePsyConfigurationApp
-// -----------------------------------------------------------------------------
-//
-void CLocPsySettings::ClosePsyConfigurationApp()
-	{
-	delete iServClient;
-	iServClient = NULL;
-	}
-	
-// -----------------------------------------------------------------------------
-// CLocSettings::IsPsyEnabled
-// -----------------------------------------------------------------------------
-//
-TBool CLocPsySettings::IsPsyEnabled( TInt aIndex )
-	{
-    TPositionModuleInfo moduleInfo;
-    // Sanity check of input parameter
-    if (aIndex < 0 || aIndex >= iPsyList->Count() )
-    	{
-    	// Invalid index values so just return False
-    	return EFalse;
-    	}
-    TPositionModuleId moduleId = iPsyList->At( aIndex );
-    TRAPD(error, iModuleDb->GetModuleInfoL( moduleId, moduleInfo););
-    // If GetModuleInfoL returns KErrNotSupported we return EFalse
-    if(error == KErrNone ) 
-    	{
-    	return moduleInfo.IsAvailable();
-    	}
-    else
-    	{
-    	return EFalse;	
-    	}
-	}
-
-
-// -----------------------------------------------------------------------------
-// CLocSettings::IsPsyConfigurable
-// -----------------------------------------------------------------------------
-//
-TBool CLocPsySettings::IsPsyConfigurable( TInt aIndex )
-	{
-	CLocPsyConfigUiReg* reg = NULL;
-    TRAPD(error, GetPsyL( aIndex );
-    		reg = CLocPsyConfigUiServiceClientImpl::DiscoverLC(
-    							iPsy->PsyId().iUid);
-    		CleanupStack::Pop(reg););	
-	// If GetModuleInfoL is not supported it returns KErrNotSupported
-	// If DiscoverLC fails it returns KErrNotFound or KErrNoMemory
-	if (error == KErrNone && reg )
-		{
-		delete reg;
-		return ETrue;
-		}
-	else
-		{
-		return EFalse;
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// CLocSettings::SetObserver
-// -----------------------------------------------------------------------------
-//
-void CLocPsySettings::SetObserver( MLocPsyEngObserver& aObserver )
-    {
-    iObserver = &aObserver;
-    }
-
-// -----------------------------------------------------------------------------
-// CLocSettings::RemoveModelObserver
-// -----------------------------------------------------------------------------
-//
-void CLocPsySettings::RemoveModelObserver()
-    {
-    iObserver = NULL;
-    }
-
-//  End of File  
--- a/locationsystemui/locationsysui/locpsysettings/locpsysettingseng/src/locpsysettingsengdebug.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Contains debugging functions
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "locpsyengdebug.h"
-#include <flogger.h>
-#include <e32svr.h>
-// CONSTANTS
-
-/// Folder where the log resides
-_LIT( KLocLogFolder, "LocationSysUI" );
-
-/// The name of the log file
-_LIT( KLocLogFileName, "LocationsysUI" );
-
-/// The format in which the time is formatted in log
-_LIT( KLocLogTimeFormat, "%02d.%02d:%02d:%06d ");
-
-/// The length of the string produced by KLocLogTimeFormat
-const TInt KLocLogTimeFormatLength = 16;
-
-/// How many characters a log line can contain
-const TInt KLocLogLineLength = 256;
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-
-// -----------------------------------------------------------------------------
-// Debug
-// Generates a log file if c:\logs\locationsysui\ folder exists
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void Debug( TRefByValue<const TDesC> aText, ... )
-    {    
-    VA_LIST args;
-    VA_START( args, aText );
-    
-    TBuf<KLocLogLineLength> buf;
-    buf.FormatList( aText, args );
-
-    #ifdef _DEBUG
-    RDebug::Print(buf);
-    #endif
-
-    RFileLogger logger;
-    
-    TInt ret=logger.Connect();
-    if (ret==KErrNone)
-        {
-        logger.SetDateAndTime( EFalse,EFalse );
-        logger.CreateLog( KLocLogFolder, KLocLogFileName, EFileLoggingModeAppend );       
-        TBuf<KLocLogTimeFormatLength> timeStamp;
-        TTime now;
-        now.HomeTime();
-        TDateTime dateTime;
-        dateTime = now.DateTime();
-        timeStamp.Format( KLocLogTimeFormat, 
-            dateTime.Hour(), dateTime.Minute(),
-            dateTime.Second(), dateTime.MicroSecond() );
-        buf.Insert( 0, timeStamp );
-
-        logger.Write(buf);
-        }
-
-    logger.Close();
-
-    VA_END( args );
-    }
-
-//  End of File  
--- a/locationsystemui/locationsysui/locpsysettings/locpsysettingseng/src/locpsysettingsengdebugdummy.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Contains dummy implementation for debugging function
-*
-*/
-
-
-#include "locpsyengdebug.h"
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// -----------------------------------------------------------------------------
-// Debug
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void Debug( TRefByValue<const TDesC> /*aText*/, ... )
-  {
-  }
-
-//  End of File  
--- a/locationsystemui/locationsysui/locpsysettings/locpsysettingsui/data/10275062.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-/*
-* Copyright (c) 1027 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  ECOM plugin resource file for Positioning Method Settings UI
-*				  plugin.
-*
-*
-*/
-
-#include <ecom/registryinfo.rh>
-#include "locpsysettingsuiuid.hrh"
-
-#define PLUGINDISPLAYNAME "POSTIONINGMETHODS"
-/**
-* How to use the resource definition:
-*
-* IMPLEMENTATION_INFO
-*	{
-*	implementation_uid  = <Your implementation UID here>;
-*	version_no          = 1;
-*	display_name        = "<Your plugin name here>";
-*	default_data        = "";
-*	opaque_data         = "";
-*	}
-*/
-RESOURCE REGISTRY_INFO theInfo
-	{
-	dll_uid     = LOCPSYSETTINGSUI_UID3;
-	interfaces  = 
-		{
-		INTERFACE_INFO
-			{
-			interface_uid   = 0x10275061; // Don't Change
-			implementations = 
-				{
-				IMPLEMENTATION_INFO
-					{
-					implementation_uid  = LOCPSYSETTINGSUI_UID3;
-					version_no          = 1;
-					display_name        = PLUGINDISPLAYNAME;
-					default_data        = "";
-					opaque_data         = "";					
-					}
-				};
-			}
-		};
-	}
-
--- a/locationsystemui/locationsysui/locpsysettings/locpsysettingsui/data/locpsysettingsuiview.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,329 +0,0 @@
-/*
-* Copyright (c) 2002,2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Contains all the resource definitions for the Positioning
-*		     Method Settings UI
-*
-*/
-
-
-//  RESOURCE IDENTIFIER
-
-NAME    LPSY // 4 Letter Identifier
-
-//  INCLUDES
-
-#include    <data_caging_paths_strings.hrh>
-#include    <bldvariant.hrh>
-#include    <avkon.rh>
-#include    <avkon.rsg>
-#include    <avkon.mbg>
-#include    <EIKCORE.rsg>
-#include    <eikon.rh>
-#include    <eikon.rsg>
-#include    <avkon.loc>
-#include 		<location.loc>
-#include 	"locpsysettingsui.hrh"
-
-//  RESOURCE DEFINITIONS 
-
-RESOURCE RSS_SIGNATURE 
-	{
-	}
-	
-//----------------------------------------------------
-// r_possettingsui_caption
-// 
-// Caption for Positioning Method Settings
-//----------------------------------------------------
-//
-RESOURCE TBUF r_possettingsui_caption
-    {
-    buf = qtn_loc_settings_psys;
-    }
-    
-
-//------------------------------------------------------------------------------
-//   
-//    LOCATION_INTARRAY
-//    Items array
-//
-//------------------------------------------------------------------------------
-//
-STRUCT LOCATION_INTARRAY
-    {
-    LONG items[];
-    }
-
-
-//------------------------------------------------------------------------------
-//   
-//    r_location_hotkeys
-//    Hot keys.
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE HOTKEYS r_location_hotkeys
-    {
-    control=
-        {
-        // None
-        };
-    }
-
-
-//------------------------------------------------------------------------------
-//   
-//    r_location_home_view
-//    Home view
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE AVKON_VIEW r_location_home_view
-    {    
-    menubar=r_location_menubar_home_view;
-    cba=r_location_options_selection_back;
-    }
-    
-//----------------------------------------------------
-//   
-//    r_location_options_selection_back
-//    CBA for PSY Settings UI view.
-//
-//----------------------------------------------------
-//   
-RESOURCE CBA r_location_options_selection_back
-    {
-    flags = 0;
-    buttons = 
-        {
-        CBA_BUTTON 
-            {
-            id = EAknSoftkeyOptions; 
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON 
-            {
-            id = EAknSoftkeyBack; 
-            txt = text_softkey_back;
-            },
-        CBA_BUTTON
-            {
-            id = EAknSoftkeyContextOptions; 
-            txt = text_softkey_option;
-            }
-        };
-    }
-    
-//----------------------------------------------------
-//   
-//    r_location_options_empty_back
-//    CBA for PSY Settings UI view.
-//
-//----------------------------------------------------
-//
-RESOURCE CBA r_location_options_empty_back
-    {
-    flags = 0;
-    buttons = 
-        {
-        CBA_BUTTON 
-            {
-            id = EAknSoftkeyOptions; 
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON 
-            {
-            id = EAknSoftkeyBack; 
-            txt = text_softkey_back;
-            },
-        CBA_BUTTON
-            {
-            id = ELocCmdNone;
-            }
-        };
-    }
-
-//------------------------------------------------------------------------------
-//   
-//    r_location_menubar_home_view
-//    Menu bar of home view
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_location_menubar_home_view
-    {
-    titles=
-        {
-        MENU_TITLE { menu_pane=r_location_app_menu; txt=""; },
-        MENU_TITLE { menu_pane=r_location_home_view_menu; txt=""; }
-        };
-    }
-
-//------------------------------------------------------------------------------
-//   
-//    r_location_context_menubar
-//    Context specific menu bar inhome view
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_location_context_menubar_home_view
-    {
-    titles =
-        {
-        MENU_TITLE { menu_pane=r_location_home_view_menu; txt=""; }
-        };
-    }
-
-//------------------------------------------------------------------------------
-//   
-//    r_location_home_view_menu
-//    Home view menu
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_location_home_view_menu
-    {
-    items=
-        {
-        MENU_ITEM { command=ELocCmdEnablePsy; txt = qtn_loc_opt_enable_psy;flags = EEikMenuItemAction; },
-        MENU_ITEM { command=ELocCmdDisablePsy; txt = qtn_loc_opt_disable_psy;flags = EEikMenuItemAction; },
-        MENU_ITEM { command=ELocCmdConfigurePsy; txt = qtn_loc_opt_method_settings;flags = EEikMenuItemAction; }
-        };
-    }
-
-//------------------------------------------------------------------------------
-//   
-//    r_loc_psy_methods_list_empty
-//    Empty positioning methods listbox text
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loc_psy_methods_list_empty
-    {
-    buf=qtn_loc_no_psys;
-    }
-
-//------------------------------------------------------------------------------
-//   
-//    r_location_app_menu
-//    Location application menu
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_location_app_menu
-    {
-    items=
-        {
-        MENU_ITEM 
-            {            
-            command = EAknCmdHelp;
-            txt = qtn_options_help; 
-            },
-        MENU_ITEM 
-           { 
-           // Exit option should use 'EEikCmdExit' instead of 'EEAknCmdExit'
-           // This is to ensure that the Exit command is not handled by the 
-           // ProcessCommandL of CAknView and is transferred to 
-           // CAknViewAppUi::HandleCommandL. This behaviour is necessary 
-           // for proper handling of the Exit command from an App Server's 
-           // perspective.
-           command = EEikCmdExit; 
-           txt = qtn_options_exit;
-           }
-        };
-    }
-    
-//------------------------------------------------------------------------------
-//   
-//    r_loc_main_title
-//    Title for application's main view (Positioning methods view)
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loc_main_title
-    {
-    buf = qtn_loc_psy_title;
-    }
-
-//------------------------------------------------------------------------------
-//   
-//    r_location_psy_listbox
-//    Listbox resource for application's main view (Positioning methods view)
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE LISTBOX r_location_psy_listbox
-	{
-    flags = EAknListBoxSelectionList;
-	}
-
-//----------------------------------------------------
-//   
-//    r_psyquery_softkeys_yes_yes_no
-//    CBA for PSY Settings confirmation query.
-//
-//----------------------------------------------------
-//   
-RESOURCE CBA r_psyquery_softkeys_yes_yes_no
-    {
-    flags = 0;
-    buttons = 
-        {
-        CBA_BUTTON 
-            {
-            id = EAknSoftkeyYes; 
-            txt = text_softkey_yes;
-            },
-        CBA_BUTTON
-            {
-            id = EAknSoftkeyNo; 
-            txt = text_softkey_no;
-            },
-       CBA_BUTTON 
-            {
-            id = EAknSoftkeyYes; 
-            txt = text_softkey_yes;
-            }
-        };
-    }
-
-//----------------------------------------------------
-//   
-//    r_psydisable_config_query
-//    Confirmation Query prompt for PSY disabling
-//
-//----------------------------------------------------
-//
-RESOURCE DIALOG r_psydisable_config_query
-	{
-	flags = EAknGeneralQueryFlags;
-	buttons = r_psyquery_softkeys_yes_yes_no;
-	items =
-		{
-		DLG_LINE
-			{
-			type = EAknCtQuery;
-			id = EGeneralQuery;
-			control = AVKON_CONFIRMATION_QUERY
-				{
-				layout = EConfirmationQueryLayout;
-				label = qtn_loc_query_psy_used;
-				};
-			}
-		};
-	}
-	
-// End of File
-
-
--- a/locationsystemui/locationsysui/locpsysettings/locpsysettingsui/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  This file provides the information required for building 
-*                Example Plugin.
-*                
-*
-*/
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-locpsysettingsui.mmp   
-
-PRJ_TESTMMPFILES
-
-PRJ_EXTENSIONS
-START EXTENSION s60/mifconv
-OPTION TARGETFILE locpsysettings.mif
-OPTION HEADERFILE locpsysettings.mbg
-OPTION SOURCES -c8,8 qgn_prop_psln_active.svg
-END
-//  End of File  
--- a/locationsystemui/locationsysui/locpsysettings/locpsysettingsui/group/locpsysettingsui.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  This is project specification file for Positioning Method
-*				  Settings UI pluging to the Loc Sys UI Engine
-*
-*/
-
-#include <data_caging_paths.hrh>
-#include <bldvariant.hrh>
-#include "../inc/locpsysettingsuiuid.hrh"
-#include <platform_paths.hrh> // For the MW_LAYER_SYSTEMINCLUDE
-
-CAPABILITY    		CAP_ECOM_PLUGIN
-TARGET        		locpsysettingsui.dll
-TARGETTYPE    		PLUGIN
-UID           		0x10009D8D LOCPSYSETTINGSUI_UID3
-VENDORID      		VID_DEFAULT
-
-SOURCEPATH          ../src
-SOURCE        		locpsysettingsui.cpp 
-SOURCE        		locpsysettingsuiimptable.cpp 
-SOURCE				locpsylbmodel.cpp
-SOURCE				locpsysettingsview.cpp
-SOURCE				locpsysettingscontainer.cpp
-
-// System Include
-APP_LAYER_SYSTEMINCLUDE
-
-USERINCLUDE         ../inc
-USERINCLUDE         ../data
-USERINCLUDE         ../../../inc
-USERINCLUDE	    ../../../../inc
-USERINCLUDE         ../../../../../inc
-
-SOURCEPATH          ../data
-
-//ECOM resource definition
-START RESOURCE      10275062.rss // UPDATE THIS
-TARGET              locpsysettingsui.rsc // UPDATE THIS
-END // ECOM resource definition
-
-//View resources
-START RESOURCE      locpsysettingsuiview.rss
-HEADER
-TARGETPATH          RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END // AppsPlugin resources
-
-LIBRARY             euser.lib
-LIBRARY             ecom.lib
-LIBRARY             efsrv.lib
-LIBRARY             avkon.lib
-LIBRARY             bafl.lib 
-LIBRARY             cone.lib 
-LIBRARY             eikcoctl.lib 
-LIBRARY             eikcore.lib 
-LIBRARY				apparc.lib
-LIBRARY				aknicon.lib
-LIBRARY				eikctl.lib
-LIBRARY 			apgrfx.lib
-LIBRARY             commonengine.lib 	// For RConeResourceLoader
-LIBRARY             egul.lib 		 	// CGulIcon
-LIBRARY             aknskins.lib 	 	// AknsUtils.h
-LIBRARY 			featmgr.lib 		// Feature manager API
-LIBRARY 			locpsysettingseng.lib
-LIBRARY 			hlplch.lib
-LIBRARY             lbs.lib             // Location Acquistion API
-
-// End of File
--- a/locationsystemui/locationsysui/locpsysettings/locpsysettingsui/inc/locpsyappdebug.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2002,2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  LocAppDebug contains debug macros.
-*
-*/
-
-
-#ifndef LOCPSYAPPDEBUG_H 
-#define LOCPSYAPPDEBUG_H
-
-// SYSTEM INCLUDES
-#include <e32std.h>
-
-// USER INCLUDES
-#include "locpsyengdebug.h"
-
-// MACROS
-
-/**
-* By using component specific debug macros unnecessary 
-* calls to LocUtils.dll can be avoided.
-*/
-
-#ifdef LOC_ENABLE_DEBUG_PRINT
-#define LOCAPPDEBUG(TEXT) DEBUG(TEXT)
-#define LOCAPPDEBUG1(TEXT, ARG1) LOC(TEXT, ARG1)
-#define LOCAPPDEBUG2(TEXT, ARG1, ARG2) LOC2(TEXT, ARG1, ARG2)
-#define LOCAPPDEBUG3(TEXT, ARG1, ARG2, ARG3) LOC3(TEXT, ARG1, ARG2, ARG3)
-#else
-#define LOCAPPDEBUG(TEXT)
-#define LOCAPPDEBUG1(TEXT, ARG1)
-#define LOCAPPDEBUG2(TEXT, ARG1, ARG2)
-#define LOCAPPDEBUG3(TEXT, ARG1, ARG2, ARG3)
-#endif
-
-#endif // LOCPSYAPPDEBUG_H
--- a/locationsystemui/locationsysui/locpsysettings/locpsysettingsui/inc/locpsycommandhandler.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Interface class that provides the command handling functionality.
-*				 The class implementing it should be prepared to handle all commands
-*				 except those internal to the calling UI
-*
-*/
-
-
-#ifndef MLOCPSYCOMMANDHANDLER_H_
-#define MLOCPSYCOMMANDHANDLER_H_
-
-// System Include 
-#include <e32base.h>
-
-// Class Definition
-/**
- *	Interface class that provides the command handling functionality.
- */
-class MLocPsyCommandHandler
-	{
-	public:
-		/**
-		 * Command handlikng function
-		 *
-		 * @param aCommand Command that needs to be handled
-		 */
-		 virtual void HandleCommandL( TInt aCommand )	= 0;
-	};
-
-#endif //MLOCPSYCOMMANDHANDLER_H_
-
--- a/locationsystemui/locationsysui/locpsysettings/locpsysettingsui/inc/locpsykeyprocessor.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Interface which allows subscribers to consume key event or 
-*               pass the event to other view class.
-*       
-*
-*/
-
-
-#ifndef MLOCPSYKEYPROCESSOR_H
-#define MLOCPSYKEYPROCESSOR_H
-
-// INCLUDES
-#include <w32std.h>
-
-// CLASS DECLARATION
-
-/**
-*	An interface a CCoeControl class can implement to forward the keyevents
-*   before the actual control gets the key events. This is useful in
-*   situations where the control consumes keys which you need.
-*/
-class MLocPsyKeyProcessor
-    {
-    public:
-     /**
-     * process the keyevent befor it reaches the control
-     * @param aKeyEvent the event fired
-     * @param aType the type of event
-     * @return ETrue if key event was consumed, otherwise EFalse
-     */
-    virtual TBool ProcessKeyEventL( const TKeyEvent& aKeyEvent,
-                                    TEventCode aType ) = 0;
-    };
-
-#endif // MLOCPSYKEYPROCESSOR_H
-
-// End of File
--- a/locationsystemui/locationsysui/locpsysettings/locpsysettingsui/inc/locpsylbmodel.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-/*
-* Copyright (c) 2002,2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Provides Location request detail view listbox model.
-*
-*/
-
-#ifndef CLOCPSYLBMODEL_H
-#define CLOCPSYLBMODEL_H
-
-// INCLUDES
-#include <e32base.h>        // CBase
-#include <bamdesca.h>       // MDesCArray
-
-// FORWARD DECLARATIONS
-class MLocPsySettings;
-
-// CLASS DECLARATION
-
-/**
-*  CLocPsyLBModel  
-*  
-*/
-class CLocPsyLBModel : public CBase, public MDesCArray
-    {
-    private:
-        /**
-        * C++ constructor.
-        * @param aListBox where the model is used, not own
-        * @param aEntry pointer to log entry instance, not own
-        * @param aCLocRequestorUtilsBase requestor utility
-        */
-        CLocPsyLBModel( MLocPsySettings* aPsySettingModel );
-        
-    public: 
-        /**
-        * Destructor
-        */
-        virtual ~CLocPsyLBModel();
-          
-        /**
-        * Two-phased constructor
-        * @param aPsySettingsModel, provides data about the Psy modules
-        */
-        static CLocPsyLBModel* NewLC( MLocPsySettings* aPsySettingModel );
-
-        /**
-        * Two-phased constructor
-        * @param aPsySettingsModel, provides data about the Psy modules
-        */
-        static CLocPsyLBModel* NewL( MLocPsySettings* aPsySettingModel );
-
-    private: 
-        /**
-        * Symbian default constructor.
-        */
-        void ConstructL();
-
-    private: // From MDesCArray
-        TInt    MdcaCount() const;
-        TPtrC16 MdcaPoint( TInt aIndex ) const;
-
-    private: //data
-        // Ref: instance pointer
-        MLocPsySettings*            iPsySettingsModel;
-        /// Own: conversion buffer
-        HBufC*                      iBuffer;
-    };
-
-#endif // CLOCPSYLBMODEL_H
-
-// End of File
--- a/locationsystemui/locationsysui/locpsysettings/locpsysettingsui/inc/locpsysettingscontainer.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,235 +0,0 @@
-/*
-* Copyright (c) 2002,2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Positioning Method Settings UI main view's container class 
-*                definition.
-*
-*/
-
-
-
-#ifndef CLOCPSYSETTINGSCONTAINER_H_
-#define CLOCPSYSETTINGSCONTAINER_H_
-
-// INCLUDES
-#include <coecntrl.h>
-#include <eiklbo.h>
-
-// FORWARD DECLARATIONS
-class CAknSingleGraphicStyleListBox;
-class CAknIconArray;
-class CEikColumnListBox;
-class CEikListBox;
-class CEikStatusPane;
-
-class CLocPsySettingsView;
-class MLocPsyKeyProcessor;
-class MLocPsySettings;
-
-// CLASS DECLARATION
-
-/**
-*  CLocPsySettingsContainer  container control class.
-*  
-*/
-class CLocPsySettingsContainer : public CCoeControl,
-                                 public MEikListBoxObserver
-    {
-    private:
-        /**
-        * C++ default constructor.
-        */        
-        CLocPsySettingsContainer( MLocPsyKeyProcessor* aKeyProcessor, 
-                                  CLocPsySettingsView* aView );
-
-    public:
-        /**
-        * Destructor.
-        */
-        virtual ~CLocPsySettingsContainer();
-
-        /**
-        * Two-phased constructor
-        *
-        * @param 	aMainView 				A pointer to MainView
-        * @param 	aAppUi 					A pointer to Location AppUi.
-        * @param 	aRect 					A rectangle for drawing.
-        * @return 	CLocPsySettingsContainer*		The newly created object.
-        */
-        static CLocPsySettingsContainer* NewL( 
-                				  MLocPsyKeyProcessor* 	aKeyProcessor,
-                				  MObjectProvider* 		aParent,
-                				  CLocPsySettingsView* 	aView,
-                				  MLocPsySettings* 		aSettingsModel,
-        					const TRect& 			    aRect );
-        /**
-        * Inherited From CCoeControl
-        */
-        TKeyResponse OfferKeyEventL( const TKeyEvent& 	aKeyEvent,
-                                     	   TEventCode 	aType );
-                                     	   
-        /**
-        * Inherited from CCoeControl. Handles resource changes
-        *
-        * @param Row index
-        */  	
-        void HandleResourceChange( TInt aType );
-
-        /**
-        * Inherited from CCoeControl. Handles list box events
-        *
-        * @param aListBox    Listbox on which the event was generated
-        * @param aEventType  Type of event that was generated
-        */ 
-        void HandleListBoxEventL( CEikListBox*      aListBox, 
-        					      TListBoxEvent     aEventType );
-        /**
-        * Returns the help context
-        *
-        * @param aContext	The help context that has to be determined
-        */
-        void GetHelpContext( TCoeHelpContext& aContext ) const;    
-
-        /**
-        * Returns selected row in main view
-        *
-        * @return Row index
-        */
-        TInt SelectedRow() const;
-
-        /**
-        * Sets selected row in main view
-        *
-        * @param Row index
-        */       
-        void SetSelectedRow( TInt aIndex ) const;
-
-        /**
-        * Handle the mark commands for the Markable ListBox
-        *
-        * @param Markable Commands EAknCmdMark and EAknCmdUnmark
-        */       
-        void HandleMarkCommandL( TInt aCommand );
-
-        /**
-        * Updates the List box
-        */
-        void UpdateL();
-
-	protected:
-		/**
-		* Inherited from CCoeControl
-		* Handles Focus Change to list 
-		*/
-		void FocusChanged( TDrawNow aDrawNow );
-
-	private:
-        /**
-        * By default Symbian 2nd phase constructor is private.        
-        * @param aRect Frame rectangle for container.
-        */
-        void ConstructL( MLocPsySettings* aSettingsModel, const TRect& aRect );
-
-        /**
-        * From CoeControl,SizeChanged.
-        */
-        void SizeChanged();
-
-        /**
-        * From CoeControl,CountComponentControls.
-        */
-        TInt CountComponentControls() const;
-
-        /**
-        * From CCoeControl,ComponentControl.
-        */
-        CCoeControl* ComponentControl( TInt aIndex ) const;
-
-        /**
-        *  Append icon to icon array. CAknIconArray owns icons so it is 
-        *  easier to it leave safely.
-        *  @param aIcons icon array
-        *  @param aIconFileWithPath icon file name with path
-        *  @param aSkinID skin id of the icon
-        *  @param aIconGraphicsIndex picture index
-        *  @param aIconGraphicsMaskIndex mask index
-        */
-        void AddIconL(       CAknIconArray* aIcons,
-                       const TDesC&         aIconFileWithPath,
-                             TAknsItemID    aSkinID,
-                             TInt           aIconGraphicsIndex,
-                             TInt           aIconGraphicsMaskIndex );
-                       
-        /**
-        * Gets location icon file path and name. Ownership is transferred,
-        * item is left in the cleanup stack.
-        * @return full path and name, ownership is transferred
-        */        
-        TFileName* LocIconFileNameLC() const;
-
-        /**
-        * Gets avkon icon file path and name. Ownership is transferred,
-        * item is left in the cleanup stack.
-        * @return full path and name, ownership is transferred
-        */        
-        TFileName* AvkonIconFileNameLC() const;        
-                   
-        /**
-        * Make title
-        * @param aResourceText resource to create title
-        */
-        void MakeTitleL( TInt aResourceText );
-
-        /**
-        * Make title
-        * @param aListbox listbox reference
-        * @param aResourceText resourse id
-        */
-        void MakeEmptyTextListBoxL( CEikListBox& aListBox, TInt aResourceText );
-
-        /**
-        * Appui's status pane getter
-        * @return Statuspane pointer
-        */
-        CEikStatusPane* StatusPane();
-
-        /**
-        * Creates List box.
-        */
-        void CreateListboxL( MLocPsySettings* aSettingsModel );
-
-        /**
-        * Update icons
-        */
-        void UpdateIconsL();
-
-    private: //data
-        
-        // help context
-        TCoeContextName 					iContextName;
-        
-        // Key Processor to route the keys before it is processed by the control
-        // not own
-        MLocPsyKeyProcessor* 				iKeyProcessor;
-        
-        /// Own: List box.
-        CAknSingleGraphicStyleListBox* 		iListBox;
-        
-        // The parent View
-        // Not Owned
-        CLocPsySettingsView* 				iParentView;
-    };
-
-#endif
-
-// End of File CLOCPSYSETTINGSCONTAINER_H_
--- a/locationsystemui/locationsysui/locpsysettings/locpsysettingsui/inc/locpsysettingsui.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,161 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Postioning Method Settings UI plugin to the Location System
-*				  UI engine
-*
-*/
-
-
-#ifndef C_LOCPSYSETTINGSUI_H_
-#define C_LOCPSYSETTINGSUI_H_
-
-// User Includes
-#include "locsettingsui.h"
-#include "locpsycommandhandler.h"
-
-// System Includes
-#include <ConeResLoader.h>
-#include <data_caging_path_literals.hrh>
-
-// Forward Declarations
-class MLocSettingsUiObserver;
-class CAknViewAppUi;
-class CLocPsySettingsView;
-
-// Global constants
-
-/**
- * Position Method Settings RSC file name
- */
-_LIT( KPosSettingsUiResFileName, "locpsysettingsuiview.rsc" );
-
-/**
- * Position Method Settings UI plugin
- *
- * The Positioning Method Settings UI is implemented as an ECom plug-in
- * that plugs into the Location System UI Engine ECom interface. It 
- * implements the settings view and functionalities for configuring PSYs.
- * It also provides a plug-in interface for sub-settings UIs (like PSY 
- * specific Configuration UIs) to get included into the settings hierarchy. 
- * It uses the Location framework for retrieving the location settings. 
- */
-class CLocPsySettingsUi : public CLocSettingsUi,
-						  public MLocPsyCommandHandler
-    { 
-    public:
-        /**
-         * Symbian OS two-phased constructor
-         * @return 
-         */
-        static CLocPsySettingsUi* NewL( TAny* aParams );
- 
-        /**
-         * Destructor.
-         */
-        virtual ~CLocPsySettingsUi();
-        
-    public:
-        /**
-         * Inherited from CLocSettingsUi
-         * Launches the Settings UI
-         *
-         * @param aUiLaunchParams	Flags that define specific configuration of
-         *                          if the Settings UI, that the user of the API
-         *                          wants to launch.
-         */
-        void LaunchL( TInt		aUiLaunchParams );
-
-        /**
-         * Inherited from CLocSettingsUi
-         * Closes the running Settings UI prematurely.
-         *
-         */
-        void Close();
-
-        /**
-         * Inherited from CLocSettingsUi
-         * Method for getting caption of this plugin. This should be the 
-         * localized name of the settings view to be shown in parent view.
-         *
-         * @param aCaption pointer to Caption variable
-         */
-        void GetCaptionL( TDes& aCaption ) const;
-
-        /**
-         * Inherited from CLocSettingsUi
-         * Returns the priority of the UI module. 
-         * 
-         * 
-         * @return Priority of the Settings UI
-         */
-        TInt GetPriority();
-
-        /**
-         * Inherited from MLocPsyCommandHandler
-         * Handles commands from the views
-         *
-         * @param  aCommand Command ID
-         */
-        void HandleCommandL( TInt aCommand );
-
-    private:
-        /**
-         * C++ default constructor.
-         */
-        CLocPsySettingsUi( MLocSettingsUiObserver&	aSettingsUiObserver,
-        	 		 	   CAknViewAppUi&			aAppUi );  
-        	 		 	    
-        /**
-         * Second phase constructor.
-         */
-        void ConstructL();
-
-        	
-        /**
-         * Opens the nearest localized resourcefile using aResourceLoader. 
-         * aResourceLoader should be opened only once before closing it. 
-         * Otherwise it will raise a panic. Therefore it is better to have 
-         * multiple resource loaders.
-         * 
-         * @param aResourceFileName Drive and name of resource file in format 
-         *                          <path>:<rsc_file_name>
-         * @param aResourceLoader Resource loader for the resource. The loader 
-         *                        must not be opened allready or it will raise 
-         *                        a panic. It is caller's responsibility to 
-         *                        close the resource loader after using the 
-         *                        resource.
-        */
-        void OpenLocalizedResourceFileL( const TDesC& 				aResourceFileName, 
-        								       RConeResourceLoader& aResourceLoader );
-  
-    private:
-    	/**
-	     * View of the View that was active before this view was launched
-	     */
-    	RConeResourceLoader 			iResourceLoader;
-    	
-    	/** 
-    	 * Reference to the Position Method Settings View
-    	 * Owns
-    	 */
-    	CLocPsySettingsView*			iView;
-    	
-    	/**
-    	 * View Id for Position Method Settings View
-    	 */
-    	TUid							iViewId;
-    	
-    };
-
-#endif // C_LOCPSYSETTINGSUI_H_
--- a/locationsystemui/locationsysui/locpsysettings/locpsysettingsui/inc/locpsysettingsui.hrh	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 2002,2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Contains declarations for constants of location.
-*                This file can be included in C++ or resource file.
-*
-*/
-
-#ifndef LOCPSYSETTINGSUI_HRH
-#define LOCPSYSETTINGSUI_HRH
-
-#include <AvkonIcons.hrh>
-
-// avkon bitmap file location and name
-#define loc_avkon_mbm_file_location          AVKON_ICON_FILE
-
-// Enumeration for command Ids
-
-enum TLocationCommandIds
-    {
-	ELocCmdEnablePsy = 0x06000,
-	ELocCmdDisablePsy,
-	ELocCmdConfigurePsy,
-    ELocCmdNone
-    };
-
-// Enumeration for tab view Ids.
-enum TLocationViewIds
-    {
-    ELocationMainView = 6  // last item
-    };
-
-#endif      // LOCPSYSETTINGSUI_HRH
-
-// End of File
--- a/locationsystemui/locationsysui/locpsysettings/locpsysettingsui/inc/locpsysettingsuiconsts.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*     Contains common constants
-*
-*/
-
-
-#ifndef LOCPSYSETTINGSUICONSTS_H_
-#define LOCPSYSETTINGSUICONSTS_H_
-
-// User Include
-#include "locpsysettingsengconsts.h"
-
-/**
- * Length of the tab character
- */
-const TInt KTabLength = 1;
-
-/**
- * Icon file name
- */
-_LIT( KPosMethodSettingsIconFileName, "locpsysettings.mif" );
-
-#endif // LOCPSYSETTINGSUICONSTS_H_
-
-// End of File
--- a/locationsystemui/locationsysui/locpsysettings/locpsysettingsui/inc/locpsysettingsuiuid.hrh	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Contains the UID3 value to be used for the Positioning Method Settings UI
-*				 The value is expected to have three specific functions
-*				 1. UID3 for the PosMethodSettingsUi.dll ECOM DLL
-*				 2. Implementation UID for the ECOM plugin to LocSysUiEngine
-*				 3. View ID for LocSysMainView
-*
-*/
-
-#ifndef LOCPSYSETTINGSUIEXAMPLEPLUGIN_HRH_
-#define LOCPSYSETTINGSUIEXAMPLEPLUGIN_HRH_
-
-// Location System UI View UID3
-#define LOCPSYSETTINGSUI_UID3          0x10275062
-
-#endif      // LOCPSYSETTINGSUIEXAMPLEPLUGIN_HRH_
-
-// End of File
-
-
--- a/locationsystemui/locationsysui/locpsysettings/locpsysettingsui/inc/locpsysettingsview.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,201 +0,0 @@
-/*
-* Copyright (c) 2002,2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  View declaration for Position method settings UI
-*
-*/
-
-#ifndef CLOCPSYSETTINGSVIEW_H
-#define CLOCPSYSETTINGSVIEW_H
-
-// System Include
-#include <aknview.h>
-#include <AknServerApp.h>
-#include  <bldvariant.hrh>
-
-// User Include
-#include "locpsyengobserver.h"
-#include "locpsykeyprocessor.h"
-#include <lbs.h>                        // Location Acquisition API
-// CONSTANTS
-
-// FORWARD DECLARATIONS
-class CLocPsySettingsContainer;
-class CLocPsyEng;
-class CEikMenuPane;
-class MLocPsyCommandHandler;
-class CAknQueryDialog;
-	
-// CLASS DECLARATION
-
-/**
-*  CLocPsySettingsView view class.
-* 
-*/
-class CLocPsySettingsView : public CAknView, 
-				 		    public MLocPsyEngObserver, 
-				 		    public MLocPsyKeyProcessor,
-				 		    public MAknServerAppExitObserver
-    {
-    private:
-        /**
-        * C++ constructor
-        * @param aKeyProcessor processes key events, ownership not transferred
-        */
-        CLocPsySettingsView( MLocPsyCommandHandler& 	aCommandHandler );
-    public:
-        /**
-        * Destructor.
-        */
-        virtual ~CLocPsySettingsView();
-
-        /**
-        * C++ default constructor.
-        * @param aKeyProcessor processes key events, ownership not transferred
-        * @return created object
-        */
-        static CLocPsySettingsView* NewLC( MLocPsyCommandHandler& 	aCommandHandler );
-
-        /**
-        * C++ default constructor.
-        * @param aKeyProcessor processes key events, ownership not transferred
-        * @return created object
-        */
-        static CLocPsySettingsView* NewL( MLocPsyCommandHandler& 	aCommandHandler );
-
-        /**
-        * Handles the Screen Size update
-        */
-        void HandleScreenSizeChange();
-
-    public:
-        /**
-        * From CAknView
-        */
-        TUid Id() const;
-
-        /**
-        * From CAknView
-        */
-        void HandleCommandL(TInt aCommand);
-
-        /**
-        * From CAknView
-        */
-        void ProcessCommandL( TInt aCommand );
-
-    public:
-        /**
-        * From MEikMenuObserver
-        */
-        void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
-        
-    public:
-        /**
-        * From MLocPsyEngObserver
-        */
-        void NotifyL();
-        
-		/**
-        * From MLocPsyEngObserver
-        */
-        void NotifyError( TInt aErrorCode );
-
-    public:
-		/**
-        * From MLocPsyKeyProcessor
-        */
-		TBool ProcessKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
-			
-    public:
-		/**
-        * From MAknServerAppExitObserver
-        */
-		virtual void HandleServerAppExit(TInt aReason);
-        
-    private:
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-
-    private: 
-    	/**
-        * From CAknView
-        */
-        void DoActivateL( const TVwsViewId& aPrevViewId,
-                                TUid        aCustomMessageId,
-                          const TDesC8&     aCustomMessage );
-            
-        /**
-        * From CAknView
-        */
-        void DoDeactivate();
-        
-        /**
-        * Launch the popup.
-        *
-        * @param aResourceId Resource ID.
-        */
-        void DoLaunchPopupL( TInt aResourceId );
-        
-        /**
-        * Uses LocAppUI::ActivateLocalViewL.
-        * @param aViewId
-        * @param aCustomMessageId
-        * @param aCustomMessage
-        */
-        void ActivateLocalViewL(       TUid     aViewId, 
-                                       TUid     aCustomMessageId,
-                                 const TDesC8&  aCustomMessage );
-
-        /**
-        * Uses LocAppUI::ActivateLocalViewL.
-        * @param aViewId
-        * @param aCustomMessageId
-        * @param aCustomMessage
-        */
-        void ActivateLocalViewL( TUid aViewId );
-
-        /**
-        * Shows or dims help option, depending wheather help feature
-        * is supported or not.
-        * @param aMenuPane
-        */
-        void HandleHelpFeature( CEikMenuPane& aMenuPane ) const;
-
-    private:
-        /**
-         * Owns
-         */
-    	CLocPsyEng*		   				iLocationEngine;
-    	
-    	MLocPsyCommandHandler& 		    iCommandHandler; 
-        CLocPsySettingsContainer* 	    iContainer;  
-        CEikMenuBar* 					iPopup;   
-      
-		/**
-		 * Handle to the RPostionServer
-		 */
-		RPositionServer 				iPositionServer;    		
-		
-		/**
-		 * Reference to the confirmation query for disabling the
-		 * PSYs
-		 */
-		 CAknQueryDialog*				iConfirmationQuery;      
-    };
-
-#endif // CLOCPSYSETTINGSVIEW_H
-
-// End of File
--- a/locationsystemui/locationsysui/locpsysettings/locpsysettingsui/src/locpsylbmodel.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,141 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Provides Location request view listbox model.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include <locpsysettingsuiview.rsg>
-#include <avkon.rsg>
-#include <eikenv.h>
-
-#include "locpsylbmodel.h"
-#include "locpsyappdebug.h"
-#include "locpsysettingsuiconsts.h"
-#include "locpsysettings.h"
-#include "locpsyinfo.h"
-
-enum
-	{
-	EPsyDisabledIconIndex = '1',
-	EPsyEnabledIconIndex = '0'
-	};
-
-		
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CLocPsyLBModel::CLocPsyLBModel
-// Constructor
-// ---------------------------------------------------------
-CLocPsyLBModel::CLocPsyLBModel( MLocPsySettings*    aPsySettingsModel )
-    :iPsySettingsModel( aPsySettingsModel )
-    {
-    }
-
-// ---------------------------------------------------------
-// CLocPsyLBModel::~CLocPsyLBModel
-// Destructor
-// ---------------------------------------------------------
-CLocPsyLBModel::~CLocPsyLBModel()
-    {
-    delete iBuffer;
-    }
-    
-// ---------------------------------------------------------
-// CLocPsyLBModel* CLocPsyLBModel::NewL
-// Static two phase Constructor
-// ---------------------------------------------------------
-CLocPsyLBModel* CLocPsyLBModel::NewL( MLocPsySettings*      aPsySettingsModel )
-    {
-    CLocPsyLBModel* lbmodel = CLocPsyLBModel::NewLC( aPsySettingsModel );
-    CleanupStack::Pop( lbmodel );
-    return lbmodel;
-    }
-
-// ---------------------------------------------------------
-// CLocPsyLBModel* CLocPsyLBModel::NewLC
-// Static two phase Constructor
-// ---------------------------------------------------------
-CLocPsyLBModel* CLocPsyLBModel::NewLC( MLocPsySettings*     aPsySettingsModel )
-    {
-    CLocPsyLBModel* lbmodel = new (ELeave) CLocPsyLBModel( aPsySettingsModel );
-    CleanupStack::PushL( lbmodel );
-    lbmodel->ConstructL();
-    return lbmodel;
-    }
-
-// ---------------------------------------------------------
-// CLocPsyLBModel::ConstructL
-// Symbian two phased constructor
-// ---------------------------------------------------------
-void CLocPsyLBModel::ConstructL()
-    {
-    iBuffer = HBufC::NewL( KLocPsyMaxLen + KTabLength + KTabLength ); // Icon Id + Tab Key
-    }
-
-// ---------------------------------------------------------
-// TInt CLocPsyLBModel::MdcaCount
-// ---------------------------------------------------------
-TInt CLocPsyLBModel::MdcaCount() const
-    {
-    LOCAPPDEBUG1("CLocSettingsLBModel::MdcaCount number of PSYs=%d",
-                 iPsySettingsModel->PSYCount());
-    return iPsySettingsModel->PSYCount();
-    }
-
-// ---------------------------------------------------------
-// TPtrC16 CLocPsyLBModel::MdcaPoint
-// ---------------------------------------------------------
-TPtrC16 CLocPsyLBModel::MdcaPoint( TInt aIndex ) const
-    {
-    TPtr ptr( iBuffer->Des() );
-    ptr.Zero();
-    if( iPsySettingsModel->IsPsyEnabled( aIndex ) )
-    	{
-    	ptr.Append( EPsyEnabledIconIndex );
-    	}
-    else
-    	{
-    	ptr.Append( EPsyDisabledIconIndex );
-    	}
-    	
-    ptr.Append( EKeyTab );
-    // Add the icon index here
-    if ( iPsySettingsModel->PSYCount() > 0 )
-        {
-        // volatile --> stack instead of register to be leave-safe
-        CLocPsyInfo* psyInfo = NULL; 
-        TRAPD(err, psyInfo = iPsySettingsModel->GetPsyL( aIndex ));
-        if ( err != KErrNone)
-            {
-            LOCAPPDEBUG2("CLocSettingsLBModel::MdcaPoint index=%d err=%d",
-                aIndex, err );
-            ptr.Zero();
-
-            CEikonEnv::Static()->NotifyIdleErrorWhileRedrawing(err);
-
-            return NULL;
-            }
-        else
-            {
-            ptr.Append( psyInfo->PsyName() );
-            }
-        }
-    return *iBuffer;
-    }
-
-// End of File  
--- a/locationsystemui/locationsysui/locpsysettings/locpsysettingsui/src/locpsysettingscontainer.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,494 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Provides Postioning Method Settings view's container class methods.
-*
-*/
-
-
-// System Includes
-
-#include <eikapp.h>				// CEikApplication		
-#include <aknlists.h>   		// CAknSingleLargeStyleListBox
-#include <AknIconArray.h>		// Icon Array
-#include <eikclbd.h>			// Column Listbox
-#include <StringLoader.h> 		// StringLoader
-#include <barsread.h>   		// TResourceReader
-#include <akntitle.h>   		// CAknTitlePane
-#include <featmgr.h> 			// FeatureManager
-#include <AknsConstants.h> 		// Skin Ids
-#include <gulicon.h>			// Gul Icon
-#include <avkon.hrh> 
-#include <data_caging_path_literals.hrh>
-#include <locpsysettingsuiview.rsg>
-#include <avkon.mbg>
-#include <locpsysettings.mbg>
-#include <eikenv.h>
-#include <csxhelp/locpsys.hlp.hrh>
-// User Includes
-#include "locpsysettingscontainer.h"
-#include "locpsysettingsview.h"
-#include "locpsysettingsui.hrh"
-#include "locpsysettingsuiuid.hrh"
-#include "locpsyappdebug.h"
-#include "locpsyeng.h"
-#include "locpsysettingsinterface.h"
-#include "locpsylbmodel.h"
-#include "locpsykeyprocessor.h"
-#include "locpsysettingsuiconsts.h"
-#include <bldvariant.hrh> 
-#include <AknDef.h>
-
-// CONSTANTS
-const TInt KViewListboxGranularity = 2;
-const TInt KMinSelectedItemNumber = 0;
-
-#ifdef _DEBUG
-
-_LIT( KPosMethodSettingsContainerPanicMsg, "CLocPsySettingsContainer");
-enum TPanicCode
-    {
-    KLocErrHelpContext
-    };
-
-// ==================== LOCAL FUNCTIONS ====================
-
-void Panic(TPanicCode aReason)
-    {
-    User::Panic( KPosMethodSettingsContainerPanicMsg, aReason );
-    }
-    
-#endif
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// -----------------------------------------------------------------------------
-// CLocPsySettingsContainer* CLocPsySettingsContainer::NewL
-// Two-phased constructor
-// -----------------------------------------------------------------------------
-CLocPsySettingsContainer* CLocPsySettingsContainer::NewL( 
-										MLocPsyKeyProcessor* 	aKeyProcessor, 
-										MObjectProvider* 	    aParent,
-										CLocPsySettingsView* 	aView,
-										MLocPsySettings* 	    aSettingsModel,
-										const TRect& 		    aRect )
-    {
-    CLocPsySettingsContainer* view = 
-        new (ELeave) CLocPsySettingsContainer( aKeyProcessor, aView );
-    CleanupStack::PushL( view );
-    view->SetMopParent( aParent );
-    view->ConstructL( aSettingsModel, aRect );
-    CleanupStack::Pop( view );
-    return view;
-    }
-
-// -----------------------------------------------------------------------------
-// CLocPsySettingsContainer::CLocPsySettingsContainer
-// C++ Constrcutor
-// -----------------------------------------------------------------------------
-CLocPsySettingsContainer::CLocPsySettingsContainer( MLocPsyKeyProcessor* 	aKeyProcessor,
-													CLocPsySettingsView* 	aView ) 
-	: iKeyProcessor(aKeyProcessor),
-	  iParentView(aView)
-    {
- 
- 	
-     __ASSERT_DEBUG( KLOC_HLP_PSYS().Length() <= iContextName.MaxLength(),
-                    Panic( KLocErrHelpContext ) );
-    iContextName = KLOC_HLP_PSYS();
-    }
-
-// -----------------------------------------------------------------------------
-// CLocPsySettingsContainer::ConstructL(const TRect& aRect)
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-void CLocPsySettingsContainer::ConstructL( MLocPsySettings* aSettingsModel, 
-									       const TRect&     aRect )
-    {
-    CreateWindowL();
-    CreateListboxL( aSettingsModel );
-    MakeTitleL( R_LOC_MAIN_TITLE );
-    SetRect( aRect );
-    ActivateL();
-    }
-
-// -----------------------------------------------------------------------------
-// CLocPsySettingsContainer::~CLocPsySettingsContainer
-// Destructor
-// -----------------------------------------------------------------------------
-CLocPsySettingsContainer::~CLocPsySettingsContainer()
-    {    
-    delete iListBox;
-    }
-    
-// -----------------------------------------------------------------------------
-// CLocPsySettingsContainer::OfferKeyEventL
-// -----------------------------------------------------------------------------
-TKeyResponse CLocPsySettingsContainer::OfferKeyEventL(
-    const TKeyEvent& aKeyEvent,
-    TEventCode aType )
-    {
-    if ( iKeyProcessor->ProcessKeyEventL( aKeyEvent, aType ) == EKeyWasConsumed )
-    	{
-    	return EKeyWasConsumed;
-    	}
-    	
-    TInt count = CountComponentControls();
-    for ( TInt i( 0 ) ; i < count; i++ )
-        {
-        if( ComponentControl(i)->OfferKeyEventL( aKeyEvent, aType ) ==
-            EKeyWasConsumed )
-            {
-            return EKeyWasConsumed;
-            }
-        }
-    return EKeyWasNotConsumed;
-    }
-
-// -----------------------------------------------------------------------------
-// CLocPsySettingsContainer::HandleResourceChange
-// -----------------------------------------------------------------------------
-void CLocPsySettingsContainer::HandleResourceChange(TInt aType)
-    {
-    CCoeControl::HandleResourceChange(aType);
-    switch( aType )
-    	{
-    	case KAknsMessageSkinChange:
-        	{
-        	TRAPD( error, UpdateIconsL() );
-        	if ( error != KErrNone )
-            	{
-            	iEikonEnv->HandleError( error );
-            	}                 
-        	DrawDeferred();
-        	   	
-        	break;
-        	}
-    	case KEikDynamicLayoutVariantSwitch:
-    		{
-			iParentView->HandleScreenSizeChange();
-			DrawDeferred();
-			break;
-    		}
-    	default:
-    		{
-    		break;
-    		}
-    	}
-    }
-
-// ---------------------------------------------------------------------------
-// void CLocPsySettingsContainer::HandleListBoxEventL
-//
-// ---------------------------------------------------------------------------
-//
-void CLocPsySettingsContainer::HandleListBoxEventL( CEikListBox*  /* aListBox */, 
-		 						   					TListBoxEvent aEventType )
-	{
-	switch (aEventType)
-        {
-        // List box Item Selection
-        case EEventEnterKeyPressed:
-        case EEventItemSingleClicked:
-            {
-            // PSY has been selected. The event has to be propagated to the 
-            // command handler to pop-up the Context Specific menu
-            
-            // Set the Key event to represent EKeyOK            
-            TKeyEvent   keyevent;
-            keyevent.iCode = EKeyOK;
-            
-            // Set the Key event to Event Key
-            TEventCode  keyCode( EEventKey );
-            
-            iKeyProcessor->ProcessKeyEventL( keyevent, keyCode );
-            break;	
-            }
-        default:
-           break;
-        }
-	}
-// -----------------------------------------------------------------------------
-// CLocPsySettingsContainer::GetHelpContext
-// -----------------------------------------------------------------------------
-void CLocPsySettingsContainer::GetHelpContext( TCoeHelpContext& aContext ) const
-    {
-    aContext.iContext = iContextName;
-    aContext.iMajor = TUid::Uid( LOCPSYSETTINGSUI_UID3 );
-    }
-   
-// -----------------------------------------------------------------------------
-// CLocPsySettingsContainer::SelectedRow
-// -----------------------------------------------------------------------------
-TInt CLocPsySettingsContainer::SelectedRow() const
-    {
-    return iListBox->CurrentItemIndex();
-    }
-
-// -----------------------------------------------------------------------------
-// CLocPsySettingsContainer::SetSelectedRow
-// -----------------------------------------------------------------------------
-void CLocPsySettingsContainer::SetSelectedRow( TInt aIndex ) const
-    {
-    iListBox->SetCurrentItemIndex( aIndex );
-    }
-
-// -----------------------------------------------------------------------------
-// CLocPsySettingsContainer::HandleMarkCommandL
-// -----------------------------------------------------------------------------
-void CLocPsySettingsContainer::HandleMarkCommandL( TInt aCommand )
-	{
-	AknSelectionService::HandleMarkableListProcessCommandL( aCommand, iListBox ); 
-	} 
-
-// -----------------------------------------------------------------------------
-// CLocPsySettingsContainer::UpdateL
-// -----------------------------------------------------------------------------
-void CLocPsySettingsContainer::UpdateL()
-    {   
-    iListBox->HandleItemAdditionL();
-    iListBox->HandleItemRemovalL();
-   
-    TInt currentItem = iListBox->CurrentItemIndex();   
-    MDesCArray* array = iListBox->Model()->ItemTextArray();
-    if( KErrNotFound == currentItem || currentItem >= array->MdcaCount() )
-        {
-        TInt newSelected = array->MdcaCount() - 1;
-        if( newSelected >= KMinSelectedItemNumber )
-            {
-            iListBox->SetCurrentItemIndex( newSelected );
-            }
-        }
-
-    DrawDeferred();
-    }
-  
-// -----------------------------------------------------------------------------
-// CLocPsySettingsContainer::FocusChanged
-// -----------------------------------------------------------------------------   
-void CLocPsySettingsContainer::FocusChanged( TDrawNow aDrawNow )
-	{
-	if( iListBox )
-		{
-		iListBox->SetFocus( IsFocused(), aDrawNow );				
-		}
-	}
-
-
-// -----------------------------------------------------------------------------
-// CLocPsySettingsContainer::SizeChanged
-// Called by framework when the view size is changed
-// -----------------------------------------------------------------------------
-void CLocPsySettingsContainer::SizeChanged()
-    {
-    iListBox->SetRect( Rect());
-    }
-
-// -----------------------------------------------------------------------------
-// CLocPsySettingsContainer::CountComponentControls
-// -----------------------------------------------------------------------------
-TInt CLocPsySettingsContainer::CountComponentControls() const
-    {
-    return 1; // return nbr of controls inside this container
-    }
-
-// -----------------------------------------------------------------------------
-// CLocPsySettingsContainer::ComponentControl
-// -----------------------------------------------------------------------------
-CCoeControl* CLocPsySettingsContainer::ComponentControl( TInt /*aIndex*/ ) const
-    {    
-    return iListBox;
-    }
- 	
-// -----------------------------------------------------------------------------
-// CLocPsySettingsContainer::AddIconL
-// -----------------------------------------------------------------------------
-void CLocPsySettingsContainer::AddIconL( CAknIconArray*  aIcons,
-                                         const TDesC&    aIconFileWithPath,
-                                         TAknsItemID     aSkinID,
-                                         TInt            aIconGraphicsIndex,
-                                         TInt            aIconGraphicsMaskIndex )
-    {
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-
-    CFbsBitmap* bitmap = NULL;
-    CFbsBitmap* bitmapMask = NULL;
-    AknsUtils::CreateIconL( skin, aSkinID, bitmap, bitmapMask,
-                            aIconFileWithPath, aIconGraphicsIndex,
-                            aIconGraphicsMaskIndex );
-    CleanupStack::PushL( bitmap );
-    CleanupStack::PushL( bitmapMask );
-    
-    CGulIcon* icon = CGulIcon::NewL( bitmap, bitmapMask );
-    
-    // Remove the Bitmap and the Bitmap Icon from the Clean up stack since 
-    // the ownership is taken over by the icon
-    CleanupStack::Pop( bitmapMask );
-    CleanupStack::Pop( bitmap ); 
-    
-    CleanupStack::PushL( icon );
-    aIcons->AppendL( icon );
-    CleanupStack::Pop( icon ); // icon
-    }
-  
-
-// -----------------------------------------------------------------------------
-// CLocPsySettingsContainer::LocIconFileNameLC
-// -----------------------------------------------------------------------------
-TFileName* CLocPsySettingsContainer::LocIconFileNameLC() const
-    {
-    TFileName* fileName = new(ELeave) TFileName;
-    CleanupStack::PushL( fileName );
-    
-	TFileName* tmpName = new(ELeave) TFileName;
-    CleanupStack::PushL( tmpName );
-	
-    tmpName->Append( KDC_BITMAP_DIR );
-    tmpName->Append( KPosMethodSettingsIconFileName );
-
-    // Obtain the drive where the DLL is installed
-    TFileName* dllDrive = new (ELeave) TFileName;
-    CleanupStack::PushL( dllDrive );
-    Dll::FileName( *dllDrive );
-    
-    TParse parse;
-    User::LeaveIfError( parse.Set( *dllDrive, NULL, NULL ) );
-    User::LeaveIfError( parse.Set( parse.Drive(), tmpName, NULL ) );
-    
-	fileName->Copy(parse.FullName());
-
-    CleanupStack::PopAndDestroy( dllDrive );
-    CleanupStack::PopAndDestroy( tmpName );
-
-    return fileName;
-    }
-
-// -----------------------------------------------------------------------------
-// CLocPsySettingsContainer::AvkonIconFileNameLC
-// -----------------------------------------------------------------------------
-TFileName* CLocPsySettingsContainer::AvkonIconFileNameLC() const
-    {
-    TFileName* fileName = new(ELeave) TFileName;
-	CleanupStack::PushL( fileName );
-    *fileName = AknIconUtils::AvkonIconFileName();
-    return fileName;
-    }
-
-//  Makes the title of the view
-// -----------------------------------------------------------------------------
-// CLocPsySettingsContainer::MakeTitleL
-// -----------------------------------------------------------------------------
-void CLocPsySettingsContainer::MakeTitleL( TInt aResourceText )
-    {
-    // title pane is owned by the framework
-    CAknTitlePane* title = static_cast<CAknTitlePane*>( StatusPane()->
-        ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) );
-    HBufC* buf = StringLoader::LoadL( aResourceText );
-    title->SetText( buf ); // Takes ownership of buf
-    }
-
-// -----------------------------------------------------------------------------
-// CLocBaseContainer::MakeEmptyTextListBoxL
-// -----------------------------------------------------------------------------
-void CLocPsySettingsContainer::MakeEmptyTextListBoxL( CEikListBox&  aListBox,
-                                                      TInt          aResourceText )
-    {
-    HBufC* textFromResourceFile;
-    textFromResourceFile = iCoeEnv->AllocReadResourceLC( aResourceText );
-    // Set text for empty list
-    aListBox.View()->SetListEmptyTextL( *textFromResourceFile );
-    CleanupStack::PopAndDestroy( textFromResourceFile );
-    }
-
-// -----------------------------------------------------------------------------
-// CLocBaseContainer::StatusPane
-// -----------------------------------------------------------------------------
-CEikStatusPane* CLocPsySettingsContainer::StatusPane()
-    {
-    return iEikonEnv->AppUiFactory()->StatusPane();
-    }
-  
-// -----------------------------------------------------------------------------
-// CLocPsySettingsContainer::CreateListboxL
-// 
-// -----------------------------------------------------------------------------
-void CLocPsySettingsContainer::CreateListboxL(MLocPsySettings* aSettingsModel)
-    {
-    delete iListBox;
-    iListBox = NULL;    
-
-    iListBox = new(ELeave) CAknSingleGraphicStyleListBox();
-    iListBox->SetContainerWindowL( *this );
-    iListBox->SetListBoxObserver( this );
-    
-	TResourceReader reader;
-    iEikonEnv->CreateResourceReaderLC( reader, R_LOCATION_PSY_LISTBOX );
-    iListBox->ConstructFromResourceL( reader );
-    CleanupStack::PopAndDestroy(); //reader
-    
-    UpdateIconsL();
-
-    CLocPsyLBModel* lbmodel = CLocPsyLBModel::NewL( aSettingsModel );
-	iListBox->Model()->SetItemTextArray( lbmodel );
-	iListBox->Model()->SetOwnershipType( ELbmOwnsItemArray );
-	
-	MakeEmptyTextListBoxL( *iListBox, R_LOC_PSY_METHODS_LIST_EMPTY );
-	
-    // Make scroll arrows
-    iListBox->CreateScrollBarFrameL( ETrue );
-    iListBox->ScrollBarFrame()->SetScrollBarVisibilityL( CEikScrollBarFrame::EOff,
-                                                         CEikScrollBarFrame::EAuto );
-    iListBox->ActivateL();
-    }
-
-
-// -----------------------------------------------------------------------------
-// CLocPsySettingsContainer::UpdateIconsL
-// -----------------------------------------------------------------------------
-void CLocPsySettingsContainer::UpdateIconsL()
-    {
-    CAknIconArray* icons = new( ELeave ) CAknIconArray( KViewListboxGranularity );
-    CleanupStack::PushL( icons );
-
-	TFileName *locIconFile = LocIconFileNameLC();
-
-    AddIconL( icons, 
-    		  *locIconFile,
-    		  KAknsIIDQgnPropPslnActive, 
-    		  EMbmLocpsysettingsQgn_prop_psln_active , 
-    		  EMbmLocpsysettingsQgn_prop_psln_active_mask );
-
-    CleanupStack::PopAndDestroy(locIconFile);
-
-    TFileName* aknIconFile = AvkonIconFileNameLC();
-
-    AddIconL( icons,
-    		  *aknIconFile,
-    		  KAknsIIDQgnPropEmpty, 
-    		  EMbmAvkonQgn_prop_empty , 
-    		  EMbmAvkonQgn_prop_empty_mask );
-
-    CleanupStack::PopAndDestroy(aknIconFile);
-
-    //get old icons and delete those
-    CAknIconArray* Oldicons = static_cast<CAknIconArray*>(
-        iListBox->ItemDrawer()->ColumnData()->IconArray() );    
-    delete Oldicons;
-
-    //set new icons to array
-    iListBox->ItemDrawer()->ColumnData()->SetIconArray( icons );  
-    CleanupStack::Pop(icons);
-    }
-
-// End of File
--- a/locationsystemui/locationsysui/locpsysettings/locpsysettingsui/src/locpsysettingsui.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,244 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Postioning Method Settings UI plugin to the Location System
-*				  UI engine
-*
-*/
-
-
-// System Include
-#include <aknViewAppUi.h>
-#include <barsread.h> 		// For TResourceReader
-#include <bautils.h>
-#include <StringLoader.h>
-#include <locpsysettingsuiview.rsg>
-#include  <eikmenub.h>						// Menu Bar
-
-
-// User Includes
-#include "locpsysettingsui.h"
-#include "locsettingsuiobserver.h"
-#include "locsettingsuiparams.h"
-#include "locpsysettingsview.h"
-
-
-// ---------------------------------------------------------------------------
-// CLocPsySettingsUi::CLocPsySettingsUi
-// C++ default constructor.
-// ---------------------------------------------------------------------------
-CLocPsySettingsUi::CLocPsySettingsUi( MLocSettingsUiObserver&	aSettingsUiObserver,
-					 		 	 	  CAknViewAppUi&			aAppUi )
-	:CLocSettingsUi( aSettingsUiObserver, aAppUi ),
-	iResourceLoader( *CCoeEnv::Static())
-	{
-	}
-
-// ---------------------------------------------------------------------------
-// CLocPsySettingsUi::~CLocPsySettingsUi
-// Destructor.
-// ---------------------------------------------------------------------------	
-CLocPsySettingsUi::~CLocPsySettingsUi()	
-	{
-	// Close the Resource loader
-	iResourceLoader.Close();   
-	}
-
-// ---------------------------------------------------------------------------
-// CLocPsySettingsUi* CLocPsySettingsUi::NewL
-// Symbian OS two-phased constructor
-// 
-// @return CLocPsySettingsUi* Reference to the Settings UI object
-// ---------------------------------------------------------------------------	
-CLocPsySettingsUi* CLocPsySettingsUi::NewL( TAny* aParams )
-	{
-	CLocSettingsUiParams* 	param = reinterpret_cast<CLocSettingsUiParams *>(aParams);
-	MLocSettingsUiObserver& observer = param->SettingsUiObserver();
-	CAknViewAppUi& 		 appUi = param->AppUi();
-	CLocPsySettingsUi* self = new ( ELeave )CLocPsySettingsUi( observer,
-										  		   			   appUi );
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	CleanupStack::Pop( self );
-	return self; 
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocPsySettingsUi::ConstructL
-// Second phase constructor.
-// ---------------------------------------------------------------------------	
-void CLocPsySettingsUi::ConstructL()
-	{
-    
-	// Open the Resource file for the plugin
-	OpenLocalizedResourceFileL( KPosSettingsUiResFileName, 
-							    iResourceLoader );
-							    
-	// Create the Position Method Settings UI View
-	iView = CLocPsySettingsView::NewL( *this );
-	
-	// Transferring the view's control to AppUi
-	iAppUi.AddViewL( iView );
-	
-	// Obtaining the View Id for reference
-	iViewId = iView->Id();
-
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocPsySettingsUi::LaunchL
-// Inherited from CLocSettingsUi
-// Launches the Settings UI
-//
-// @param aUiLaunchParams	Flags that define specific configuration of
-//							if the Settings UI, that the user of the API
-//							wants to launch.
-// ---------------------------------------------------------------------------	
-void CLocPsySettingsUi::LaunchL( TInt		/* aUiLaunchParams */)
-	{        
-	// Activate self
-	iAppUi.ActivateLocalViewL( iViewId );
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocPsySettingsUi::Close
-// Inherited from CLocSettingsUi
-// Closes the running Settings UI prematurely.
-// ---------------------------------------------------------------------------	
-void CLocPsySettingsUi::Close()
-	{
-	// Close the Menubar if it's being displayed
-	iView->StopDisplayingMenuBar();
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocPsySettingsUi::GetCaptionL
-// Inherited from CLocSettingsUi
-// Method for getting caption of this plugin. This should be the 
-// localized name of the settings view to be shown in parent view.
-//
-// @param aCaption pointer to Caption variable
-// ---------------------------------------------------------------------------
-void CLocPsySettingsUi::GetCaptionL( TDes& aCaption ) const
-	{
-	HBufC* caption = StringLoader::LoadL( R_POSSETTINGSUI_CAPTION );
-    aCaption.Copy( *caption );
-    delete caption;
-	}
-
-// ---------------------------------------------------------------------------
-// TInt CLocPsySettingsUi::GetPriority
-// Inherited from CLocSettingsUi
-// Returns the priority of the UI module. 
-// 
-// @return Priority of the Settings UI
-// ---------------------------------------------------------------------------
-TInt CLocPsySettingsUi::GetPriority()
-	{
-	// As defined by the Location System UI UI specification, the PSY settings
-	// plug-in should be inserted at the first level
-	const TInt KPsyPluginPriority = 0x00000001;
-	return KPsyPluginPriority;
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocPsySettingsUi::HandleCommandL
-// Inherited from MCommandHandler
-// Handles commands from the views
-// 
-// @param  aCommand Command ID
-// ---------------------------------------------------------------------------
-void CLocPsySettingsUi::HandleCommandL( TInt aCommand )
-	{
-	switch ( aCommand )
-		{
-		// Handle any plug-in specific internal commands here
-		case EAknSoftkeyBack:
-			{
-			// The UI is intended to be closed. Pass the event 
-			// to the observer
-			iSettingsUiObserver.SettingClosed( KErrNone );
-			break;
-			}
-		default:
-			{
-			// Un-handled commands are to be passed to the 
-			// App UI
-			iAppUi.HandleCommandL( aCommand );
-			break;	
-			}
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocPsySettingsUi::OpenLocalizedResourceFileL
-// Opens the nearest localized resourcefile using aResourceLoader. 
-// aResourceLoader should be opened only once before closing it. 
-// Otherwise it will raise a panic. Therefore it is better to have 
-// multiple resource loaders.
-// 
-// @param aResourceFileName Drive and name of resource file in format 
-//                          <path>:<rsc_file_name>
-// @param aResourceLoader Resource loader for the resource. The loader 
-//                        must not be opened allready or it will raise 
-//                        a panic. It is caller's responsibility to 
-//                        close the resource loader after using the 
-//                        resource.
-// ---------------------------------------------------------------------------	
-void CLocPsySettingsUi::OpenLocalizedResourceFileL( const TDesC& 			   aResourceFileName, 
-   													      RConeResourceLoader& aResourceLoader )
-    {
-    RFs fsSession;
-    User::LeaveIfError( fsSession.Connect());
-    
-    // Add the RFs session to the CleanupStack
-    CleanupClosePushL( fsSession );
-    
-	TFileName* tmpName = new(ELeave) TFileName;
-    CleanupStack::PushL( tmpName );
-    
-    // Append the Resource Files Directory
-    tmpName->Append( KDC_RESOURCE_FILES_DIR );
-    
-    // Append the Ressource File Name
-    tmpName->Append( aResourceFileName );
-    
-    
-    // Obtain the drive where the DLL is installed
-    TFileName* dllDrive = new (ELeave) TFileName;
-    CleanupStack::PushL( dllDrive );
-    Dll::FileName( *dllDrive );
-    
-    // Obtain the Complete path for the Resource File
-    TParse parse;
-	User::LeaveIfError( parse.Set( *dllDrive, NULL, NULL ) );
-    User::LeaveIfError( parse.Set( parse.Drive(), tmpName, NULL ) );
-	TFileName* fileName = new(ELeave) TFileName;
-	CleanupStack::PushL( fileName );
-	fileName->Append( parse.FullName());
-    
-    // Get language of resource file
-    BaflUtils::NearestLanguageFile( fsSession, *fileName );
-        
-    // Open resource file    
-    aResourceLoader.OpenL( *fileName );
-    
-    // Pop all the fields
-    CleanupStack::PopAndDestroy( fileName );
-    CleanupStack::PopAndDestroy( dllDrive );
-    CleanupStack::PopAndDestroy( tmpName );
-    
-    //If leave occurs before this, close is called automatically
-    // from by the CleanupStack  
-    CleanupStack::PopAndDestroy(); // fsSession
-    }
--- a/locationsystemui/locationsysui/locpsysettings/locpsysettingsui/src/locpsysettingsuiimptable.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  ECOM proxy table for this plugin
-*
-*/
-
-
-// System includes
-#include <e32std.h>
-#include <ecom/implementationproxy.h>
-
-// User includes
-#include "locpsysettingsui.h"
-#include "locpsysettingsuiuid.hrh"
-
-// Constants
-const TImplementationProxy KPosMethodSettingsUiImpTable[] = 
-	{
-	IMPLEMENTATION_PROXY_ENTRY( LOCPSYSETTINGSUI_UID3,	CLocPsySettingsUi::NewL )
-	};
-
-
-// ---------------------------------------------------------------------------
-// ImplementationGroupProxy
-// Gate/factory function
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
-	{
-	aTableCount = sizeof( KPosMethodSettingsUiImpTable ) 
-        / sizeof( TImplementationProxy );
-	return KPosMethodSettingsUiImpTable;
-	}
--- a/locationsystemui/locationsysui/locpsysettings/locpsysettingsui/src/locpsysettingsview.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,526 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Postioning Method Settings view class methods.
-*
-*/
-
-
-// System Include
-#include  <aknViewAppUi.h>					// AknViewAppUi
-#include  <featmgr.h> 						// FeatureManager
-#include  <eikmenup.h>						// Menu pane
-#include  <eikmenub.h>						// Menu Bar
-#include  <locpsysettingsuiview.rsg>		// Resource File
-#include  <avkon.rsg>
-#include  <avkon.hrh>
-#include  <hlplch.h>						// Help
-#include <AknQueryDialog.h>             // For Confirmation query
-
-// User Includes
-#include  "locpsysettingsview.h"
-#include  "locpsysettingscontainer.h" 
-#include  "locpsysettingsui.hrh"
-#include  "locpsyappdebug.h"
-#include  "locpsyeng.h"
-#include  "locpsyinfo.h"
-#include  "locpsysettings.h"
-#include  "locpsyconfigclientimpl.h"
-#include  "locpsycommandhandler.h"
-#include  "locpsysettingsuiuid.hrh"
-
-// ================= MEMBER FUNCTIONS =======================
-
-// -----------------------------------------------------------------------------
-// CLocPsySettingsView::CLocPsySettingsView
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-CLocPsySettingsView::CLocPsySettingsView( MLocPsyCommandHandler& 	aCommandHandler ):
-    iCommandHandler( aCommandHandler )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CLocPsySettingsView::~CLocPsySettingsView
-// -----------------------------------------------------------------------------
-CLocPsySettingsView::~CLocPsySettingsView()
-    {
-    if ( iContainer )
-        {
-        AppUi()->RemoveFromViewStack( *this, iContainer );
-        }
-
-    delete iContainer;
-    
-    FeatureManager::UnInitializeLib();
-    
-    // Delete the Postioning Method Settings Engine
-	delete iLocationEngine;
-	
-    // Close the Handle to the RPostionServer
-    iPositionServer.Close();
-    }
-    
-// -----------------------------------------------------------------------------
-// CLocPsySettingsView::NewLC
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-CLocPsySettingsView* CLocPsySettingsView::NewL( MLocPsyCommandHandler& 	aCommandHandler )
-    {
-    CLocPsySettingsView* self = CLocPsySettingsView::NewLC( aCommandHandler );
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CLocPsySettingsView::NewLC
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-CLocPsySettingsView* CLocPsySettingsView::NewLC( MLocPsyCommandHandler& aCommandHandler )
-    {
-    CLocPsySettingsView* self = new (ELeave) CLocPsySettingsView( aCommandHandler );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CLocPsySettingsView::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-void CLocPsySettingsView::ConstructL()
-    {
-    FeatureManager::InitializeLibL();
-    BaseConstructL( R_LOCATION_HOME_VIEW );
-    
-    // Create the Postioning Method Settings Engine
-	iLocationEngine = CLocPsyEng::NewL();
-	
-    // Open a handle to the RPostionServer. This is required to determine
-    // whether a PSY is currently enabled or disabled
-    User::LeaveIfError( iPositionServer.Connect());
-	
-    }
-
-// -----------------------------------------------------------------------------
-// TUid CLocPsySettingsView::Id
-// -----------------------------------------------------------------------------
-TUid CLocPsySettingsView::Id() const
-    {
-    return TUid::Uid( LOCPSYSETTINGSUI_UID3 );
-    }
-
-// -----------------------------------------------------------------------------
-// CLocPsySettingsView::HandleCommandL
-// -----------------------------------------------------------------------------
-void CLocPsySettingsView::HandleCommandL(TInt aCommand)
-    {
-    MLocPsySettings* psySettings = iLocationEngine->SettingsModel();
-        
-    TInt listIndex = iContainer->SelectedRow();
-    
-    switch ( aCommand )
-        {
-        case ELocCmdEnablePsy:
-			{
-			TRAPD( err, psySettings->EnablePsyL( listIndex ));
-        	if ( err == KErrNone )
-        		{
-				iContainer->HandleMarkCommandL( EAknCmdMark );
-        		}
-			break;
-			}
-        case ELocCmdDisablePsy:
-			{
-			
-            TBool popUpConfirmation = EFalse;
-            
-            // Obtain the PSY specific information
-            CLocPsyInfo* info = NULL;
-            TRAPD( error, info = psySettings->GetPsyL( listIndex ));
-            if( error )
-                {
-                // Unable to obtain PSY info. Don't continue with the operation
-                break;
-                }
-            
-            // Obtain the module status
-            TPositionModuleStatus moduleStatus;
-            error = iPositionServer.GetModuleStatus( moduleStatus,
-                                                     info->PsyId());
-             if( error )
-                {
-                // Unable to obtain module status. Don't continue with the operation
-                break;
-                }                                               
-
-            // Set the  popUpConfirmation flag if the PSY is being used
-            if( TPositionModuleStatus::EDeviceActive == moduleStatus.DeviceStatus() ||
-                TPositionModuleStatus::EDeviceReady == moduleStatus.DeviceStatus() ||
-                TPositionModuleStatus::EDeviceInitialising == moduleStatus.DeviceStatus() || 
-                TPositionModuleStatus::EDeviceStandBy == moduleStatus.DeviceStatus())
-                {
-                popUpConfirmation = ETrue;
-                }
-                
-            
-            if( popUpConfirmation )
-                {
-                // The user should not be allowed to disable a PSY that is currently
-                //being used. Hence, a confirmation dialog is popped up
-                iConfirmationQuery = CAknQueryDialog::NewL();
-            	TBool result = 
-            	    iConfirmationQuery->ExecuteLD( R_PSYDISABLE_CONFIG_QUERY );
-                iConfirmationQuery = NULL;            	    
-                if( !result )
-                    {
-                    break;
-                    } 
-                }      
-            
-			TRAPD( err, psySettings->DisablePsyL( listIndex ));
-        	if ( err == KErrNone )
-        		{
-				iContainer->HandleMarkCommandL( EAknCmdUnmark );
-        		}
-			break;
-			}
-        case ELocCmdConfigurePsy:
-        	{
-			psySettings->ConfigurePsyL( listIndex, *this );
-        	break;
-        	}
-        case EAknCmdHelp:
-        	{
-           	HlpLauncher::LaunchHelpApplicationL( CEikonEnv::Static()->WsSession(),
-           										   AppUi()->AppHelpContextL());
-        	break;	
-        	}
-        case EAknSoftkeyBack:
-        	{
-        	iCommandHandler.HandleCommandL( EAknSoftkeyBack );
-        	break;
-        	}
-        case EAknSoftkeyExit:
-            {
-            AppUi()->HandleCommandL( EEikCmdExit );
-            break;
-            } 
-        case ELocCmdNone:
-        	{
-        	break;
-        	}
-        default: // EAknCmdHelp or other cmd
-            {
-            AppUi()->HandleCommandL( aCommand );
-            break;
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CLocPsySettingsView::ProcessCommandL
-// -----------------------------------------------------------------------------
-void CLocPsySettingsView::ProcessCommandL( TInt aCommand )
-    {
-    MenuBar()->SetContextMenuTitleResourceId(R_LOCATION_CONTEXT_MENUBAR_HOME_VIEW);
-    // Close popup menu if open
-    MenuBar()->StopDisplayingMenuBar();
-    // Call base class
-    CAknView::ProcessCommandL( aCommand );
-    }
-
-// -----------------------------------------------------------------------------
-// CLocPsySettingsView::DynInitMenuPaneL
-// -----------------------------------------------------------------------------
-void CLocPsySettingsView::DynInitMenuPaneL( TInt          aResourceId, 
-                                            CEikMenuPane* aMenuPane )
-    {
-    if ( aResourceId == R_LOCATION_APP_MENU )
-        {
-        User::LeaveIfNull( aMenuPane );
-        //Handle Help Fature
-        HandleHelpFeature( *aMenuPane );
-        //Context sensitive menu items
-        }
-    else if ( aResourceId == R_LOCATION_HOME_VIEW_MENU )
-    	{
-        MLocPsySettings* psySettings = iLocationEngine->SettingsModel();
-        
-        TInt listIndex = iContainer->SelectedRow();
-        if( listIndex >= 0 )
-        	{
-        	TBool isPsyEnabled = psySettings->IsPsyEnabled( listIndex ); 
-
-        	//Enable is present only if the current selected PSY is disabled.
-        	aMenuPane->SetItemDimmed( ELocCmdEnablePsy,isPsyEnabled );
-
-        	//Disable is present only if the current selected PSY is enabled
-        	aMenuPane->SetItemDimmed( ELocCmdDisablePsy,!isPsyEnabled );
-        
-        	// Method setting is present only if the current selected PSY 
-        	//is configurable.
-			aMenuPane->SetItemDimmed( ELocCmdConfigurePsy, 
-								      !psySettings->IsPsyConfigurable( listIndex ));
-        	}
-        else   
-        	{
-
-        	//Disable the menu items when there are no PSYS installed
-        	aMenuPane->SetItemDimmed( ELocCmdEnablePsy, ETrue );
-        	aMenuPane->SetItemDimmed( ELocCmdDisablePsy, ETrue );
-			aMenuPane->SetItemDimmed( ELocCmdConfigurePsy, ETrue );
-        	}
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CLocPsySettingsView::NotifyL
-// -----------------------------------------------------------------------------
-void CLocPsySettingsView::NotifyL()
-    {
-    MLocPsySettings* psySettings = iLocationEngine->SettingsModel();
-    
-    if(!psySettings)
-    	return;
-    	
-    // Disable the Middle soft Key if there are no PSYs
-    if( psySettings && !psySettings->PSYCount())
-        {
-        Cba()->SetCommandSetL( R_LOCATION_OPTIONS_EMPTY_BACK );
-        }
-    else
-        {
-        MenuBar()->SetContextMenuTitleResourceId(R_LOCATION_CONTEXT_MENUBAR_HOME_VIEW);	
-        Cba()->SetCommandSetL( R_LOCATION_OPTIONS_SELECTION_BACK );   
-        } 
-     
-    // If the confirmation query is currently being displayed then check whether 
-    // its valid to continue to display the query. If not then dismiss the 
-    // query    
-    if( iConfirmationQuery )
-        {
-        if( !iContainer )
-            {
-            // The is no container. There is nothing to update. Just return
-            return;
-            }
-        TInt listIndex = iContainer->SelectedRow();
-                  
-        // Obtain the PSY specific information
-        CLocPsyInfo* info = NULL;
-        TRAPD( error, info = psySettings->GetPsyL( listIndex ));
-        if( !error )
-            {
-            // Obtain the module status
-            TPositionModuleStatus moduleStatus;
-            error = iPositionServer.GetModuleStatus( moduleStatus,
-                                                     info->PsyId());
-             if( !error )
-                {
-                if( TPositionModuleStatus::EDeviceDisabled == moduleStatus.DeviceStatus() ||
-                    TPositionModuleStatus::EDeviceInactive == moduleStatus.DeviceStatus())
-                    {
-                    // If the PSY for which the confirmation query is being displayed 
-                    // is currently disabled then the query needs to be dismissed
-                    delete iConfirmationQuery;
-                    iConfirmationQuery = NULL;
-                    }
-                }                                               
-
-            
-            }    
-        }
-    	
-    // Settings view implements the MLocEngObserver observer interface
-    // which contains this leavable method.
-    if ( iContainer )
-        {
-    	LOCAPPDEBUG("CLocPsySettingsView::NotifyL() container update called");
-        iContainer->UpdateL();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//  CLocPsySettingsView::NotifyError
-// -----------------------------------------------------------------------------
-void CLocPsySettingsView::NotifyError( TInt aErrorCode )
-    {
-    LOCAPPDEBUG("CLocPsySettingsView::NotifyError() called");
-    if ( aErrorCode != KErrNone )
-        {
-        CCoeEnv::Static()->HandleError( aErrorCode );
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-//  CLocPsySettingsView::ProcessKeyEventL
-// -----------------------------------------------------------------------------
-TBool CLocPsySettingsView::ProcessKeyEventL( const TKeyEvent& aKeyEvent, 
-									  TEventCode aType )
-	{
-    MLocPsySettings* psySettings = iLocationEngine->SettingsModel();
-    
-    if(!psySettings)
-    	return EKeyWasNotConsumed;
-    	
-	if( psySettings && !psySettings->PSYCount())
-		{
-		return EKeyWasNotConsumed;
-	  }
-	TInt listIndex = iContainer->SelectedRow();   
-
-	// Popup the Menu when OK Selection key is pressed
-    if ( aType == EEventKey && aKeyEvent.iCode == EKeyOK )
-    	{
-        //Check if the current positioning method is configurable or not
-        //If yes then launch the context specific value 
-        //else toggle status of the current positioning method (changes for single click)
-        if(!psySettings->IsPsyConfigurable( listIndex ))
-            {
-            if(!psySettings->IsPsyEnabled( listIndex ))
-                {
-                //Enable
-               HandleCommandL(ELocCmdEnablePsy);
-                }
-            else
-                {
-                //disable
-                HandleCommandL(ELocCmdDisablePsy);
-                }
-            }
-        else
-            {
-            MenuBar()->TryDisplayContextMenuBarL();
-            }
-    	return EKeyWasConsumed;
-    	}
-    return EKeyWasNotConsumed;
-	}
-
-// -----------------------------------------------------------------------------
-//  CLocPsySettingsView::HandleServerAppExit
-// -----------------------------------------------------------------------------
-void CLocPsySettingsView::HandleServerAppExit(TInt /*aReason*/)
-	{
-    MLocPsySettings* psySettings = iLocationEngine->SettingsModel();
-
-	/* Once the application exits the application handle in the Engine has to 
-	 * be closed. Also this callback is triggered when the PSY configuration UI 
-	 * is running but it has to be closed for some reason. For example, if 
-	 * the PSY for which the configuration UI is running, is uninstalled then
-	 * the configuration application has to be closed.
-	 */
-    psySettings->ClosePsyConfigurationApp();
-	}
-
-// -----------------------------------------------------------------------------
-// CLocPsySettingsView::HandleScreenSizeChange
-// -----------------------------------------------------------------------------
-//
-void CLocPsySettingsView::HandleScreenSizeChange() 
-	{
-	if( iContainer )
-		{
-		iContainer->SetRect( ClientRect());		
-		}
-	}
-            	
-// -----------------------------------------------------------------------------
-// CLocPsySettingsView::DoActivateL
-// -----------------------------------------------------------------------------
-void CLocPsySettingsView::DoActivateL(
-   const TVwsViewId& /*aPrevViewId*/,TUid /*aCustomMessageId*/,
-   const TDesC8& /*aCustomMessage*/ )
-    {
-    LOCAPPDEBUG("CLocPsySettingsView::DoActivateL() called");
-    if ( !iContainer )
-        {
-    	iLocationEngine->CreateModelL( ELocPsySettings );
-    	MLocPsySettings* psySettings = iLocationEngine->SettingsModel();
-    	psySettings->SetObserver(*this);
-        iContainer = CLocPsySettingsContainer::NewL( this,
-        						 					 this, 
-        						 					 this, 
-        						 					 psySettings, 
-        						 					 ClientRect());
-        AppUi()->AddToStackL( *this, iContainer );
-        } 
-        
-	MLocPsySettings* psySettings = iLocationEngine->SettingsModel();
-    // Disable the Middle soft Key if there are no PSYs
-    if( psySettings && !psySettings->PSYCount())
-        {
-        Cba()->SetCommandSetL( R_LOCATION_OPTIONS_EMPTY_BACK );
-        }
-    else
-        {
-        MenuBar()->SetContextMenuTitleResourceId(R_LOCATION_CONTEXT_MENUBAR_HOME_VIEW );
-        Cba()->SetCommandSetL( R_LOCATION_OPTIONS_SELECTION_BACK );   
-        } 
-   }
-
-// -----------------------------------------------------------------------------
-// CLocPsySettingsView::DoDeactivate
-// -----------------------------------------------------------------------------
-void CLocPsySettingsView::DoDeactivate()
-	{
-    iLocationEngine->SettingsModel()->RemoveModelObserver();
-    iLocationEngine->RemoveModel( ELocPsySettings );
-    if ( iContainer )
-    	{
-        AppUi()->RemoveFromViewStack( *this, iContainer );
-        }
-    delete iContainer;
-    iContainer = NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// CLocPsySettingsView::ActivateLocalViewL
-// -----------------------------------------------------------------------------
-void CLocPsySettingsView::ActivateLocalViewL( TUid aViewId,
-    TUid aCustomMessageId, const TDesC8& aCustomMessage )
-    {
-    CAknViewAppUi* appui = AppUi();
-    appui->ActivateLocalViewL(aViewId, aCustomMessageId, aCustomMessage);
-    }
-
-// -----------------------------------------------------------------------------
-// CLocPsySettingsView::ActivateLocalViewL
-// -----------------------------------------------------------------------------
-void CLocPsySettingsView::ActivateLocalViewL( TUid aViewId )
-    {
-    TBuf8<1> customMessage;
-    customMessage.Zero();
-    // Custom message Id value contains view id of caller
-    ActivateLocalViewL( aViewId, Id(), customMessage );
-    }
-
-
-
-// -----------------------------------------------------------------------------
-// CLocPsySettingsView::HandleHelpFeature
-// -----------------------------------------------------------------------------
-void CLocPsySettingsView::HandleHelpFeature( CEikMenuPane& aMenuPane ) const
-    {
-    if ( FeatureManager::FeatureSupported( KFeatureIdHelp ))
-        {
-        aMenuPane.SetItemDimmed( EAknCmdHelp, EFalse );
-        }
-    else
-        {
-        aMenuPane.SetItemDimmed( EAknCmdHelp, ETrue );
-        }
-    }
--- a/locationsystemui/locationsysui/locsettingsuiservice/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  This file provides the information required for building
-*				 Location System UI Service Client library and Server
-*                  
-*
-*/
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-// Include bld.inf files
-
-// Location Settings UI Service Client Library
-#include "../locsettingsuiclient/group/bld.inf"
-
-// Location Settings UI Service Server
-#include "../locsettingsuiserver/group/bld.inf"
-
-PRJ_TESTMMPFILES
-
-//  End of File  
--- a/locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiclient/BWINS/locsettingsuiclientu.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-EXPORTS
-	?CancelLaunchedSettingsUi@CLocSettingsUiClient@@QAEHXZ @ 1 NONAME ; int CLocSettingsUiClient::CancelLaunchedSettingsUi(void)
-	?LaunchSettingsUiAsEmbeddedAppL@CLocSettingsUiClient@@QAEXVTUid@@HAAVTRequestStatus@@@Z @ 2 NONAME ; void CLocSettingsUiClient::LaunchSettingsUiAsEmbeddedAppL(class TUid, int, class TRequestStatus &)
-	?LaunchSettingsUiL@CLocSettingsUiClient@@QAEXVTUid@@HAAVTRequestStatus@@@Z @ 3 NONAME ; void CLocSettingsUiClient::LaunchSettingsUiL(class TUid, int, class TRequestStatus &)
-	?NewL@CLocSettingsUiClient@@SAPAV1@XZ @ 4 NONAME ; class CLocSettingsUiClient * CLocSettingsUiClient::NewL(void)
-	?NewLC@CLocSettingsUiClient@@SAPAV1@XZ @ 5 NONAME ; class CLocSettingsUiClient * CLocSettingsUiClient::NewLC(void)
-	?ClosePosSettings@CLocSettingsUiClient@@QAEHXZ @ 6 NONAME ; int CLocSettingsUiClient::ClosePosSettings(void)
-	?LaunchPosSettingsAsEmbeddedAppL@CLocSettingsUiClient@@QAEXAAVTRequestStatus@@@Z @ 7 NONAME ; void CLocSettingsUiClient::LaunchPosSettingsAsEmbeddedAppL(class TRequestStatus &)
-	?LaunchPosSettingsL@CLocSettingsUiClient@@QAEXAAVTRequestStatus@@@Z @ 8 NONAME ; void CLocSettingsUiClient::LaunchPosSettingsL(class TRequestStatus &)
-	?LaunchSettingsUiAsEmbeddedAppL@CLocSettingsUiClient@@QAEXVTUid@@ABVTDesC16@@AAVTRequestStatus@@@Z @ 9 NONAME ; void CLocSettingsUiClient::LaunchSettingsUiAsEmbeddedAppL(class TUid, class TDesC16 const &, class TRequestStatus &)
-	?LaunchSettingsUiL@CLocSettingsUiClient@@QAEXVTUid@@ABVTDesC16@@AAVTRequestStatus@@@Z @ 10 NONAME ; void CLocSettingsUiClient::LaunchSettingsUiL(class TUid, class TDesC16 const &, class TRequestStatus &)
-
--- a/locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiclient/eabi/locsettingsuiclientu.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-EXPORTS
-	_ZN20CLocSettingsUiClient17LaunchSettingsUiLE4TUidiR14TRequestStatus @ 1 NONAME
-	_ZN20CLocSettingsUiClient24CancelLaunchedSettingsUiEv @ 2 NONAME
-	_ZN20CLocSettingsUiClient30LaunchSettingsUiAsEmbeddedAppLE4TUidiR14TRequestStatus @ 3 NONAME
-	_ZN20CLocSettingsUiClient4NewLEv @ 4 NONAME
-	_ZN20CLocSettingsUiClient5NewLCEv @ 5 NONAME
-	_ZTI20CLocSettingsUiClient @ 6 NONAME ; #<TI>#
-	_ZTV20CLocSettingsUiClient @ 7 NONAME ; #<VT>#
-	_ZN20CLocSettingsUiClient16ClosePosSettingsEv @ 8 NONAME
-	_ZN20CLocSettingsUiClient18LaunchPosSettingsLER14TRequestStatus @ 9 NONAME
-	_ZN20CLocSettingsUiClient31LaunchPosSettingsAsEmbeddedAppLER14TRequestStatus @ 10 NONAME
-	_ZN20CLocSettingsUiClient17LaunchSettingsUiLE4TUidRK7TDesC16R14TRequestStatus @ 11 NONAME
-	_ZN20CLocSettingsUiClient30LaunchSettingsUiAsEmbeddedAppLE4TUidRK7TDesC16R14TRequestStatus @ 12 NONAME
-
--- a/locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiclient/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Build information file for project Location Settings UI Service
-*                Client
-*
-*/
-
-
-// To get the MW_LAYER_PLATFORM_EXPORT_PATH macro definitions
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-locsettingsuiclient.mmp
-
-PRJ_TESTMMPFILES
-
-PRJ_TESTEXPORTS
--- a/locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiclient/group/locsettingsuiclient.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Project definition file for project Location Settings UI 
-*                Service Client
-*
-*/
-
-
-#include <data_caging_paths.hrh>
-#include "../inc/locsettingsuiclientuid.hrh"
-#include <platform_paths.hrh> // For the MW_LAYER_SYSTEMINCLUDE
-
-TARGET                  locsettingsuiclient.dll
-TARGETTYPE              dll
-UID                     0x0 LOCSETTINGSUICLIENT_UID
-
-CAPABILITY              CAP_GENERAL_DLL
-VENDORID                VID_DEFAULT
-
-SOURCEPATH              ../src
-SOURCE                  locsettingsuiclient.cpp
-SOURCE                  loclaunchuiao.cpp
-SOURCE                  locsettingsuiservice.cpp
-
-// System Include
-MW_LAYER_SYSTEMINCLUDE
-
-USERINCLUDE             ../inc
-USERINCLUDE				../../../../inc
-USERINCLUDE             ../../../../../inc
-
-LIBRARY                 euser.lib
-LIBRARY                 apparc.lib
-LIBRARY                 cone.lib
-LIBRARY                 eikcore.lib
-LIBRARY                 avkon.lib 
\ No newline at end of file
--- a/locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiclient/inc/loclaunchuiao.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Active Object to monitor the UI Server launch requests
-*
-*/
-
-
-#ifndef C_LOCLAUNCHUIAO_H
-#define C_LOCLAUNCHUIAO_H
-
-// System Includes
-#include <e32base.h>
-
-// Forward Declarations
-class MLocLaunchUiObserver;
-
-/**
- *  Active Object to monitor the UI Server launch requests
- *
- *  This class is a helper class. The status variable of this active obect is 
- *  used to provide the asynchronous Send Receive server calls. The IPC message
- *  completes on this active object. 
- *
- *  @lib locsettingsuiclient.lib
- *  @since S60 v3.1
- */
-NONSHARABLE_CLASS( CLocLaunchUiAO ): public CActive
-    {
-public:
-    /**
-     * Two Phase constructor 
-     * 
-     * @since S60 v3.1
-     * @param aObserver Observer to the Launch UI Active Object
-     * @return The reference of the newly allocated CLocLaunchUiAO 
-     *         object
-     */
-    static CLocLaunchUiAO* NewL( MLocLaunchUiObserver&    aObserver );
-
-    /**
-     * Two Phase constructor. Leaves the allocated object on the Clean-up
-     * stack 
-     * 
-     * @since S60 v3.1
-     * @param aObserver Observer to the Launch UI Active Object
-     * @return The reference of the newly allocated CLocLaunchUiAO 
-     *         object
-     */
-    static CLocLaunchUiAO* NewLC( MLocLaunchUiObserver&    aObserver );
-
-    /**
-     * C++ Destructor
-     * 
-     * @since S60 v3.1
-     */
-    virtual ~CLocLaunchUiAO();
-
-    /**
-     * Informs the active object that there is an outstanding request.
-     * The function leaves with error KErrInUse
-     *
-     * @since S60 v3.1
-     */
-    void    SetRequestOutStandingL();
-    
-    /**
-     * Returns a reference to the active objects Status variable
-     *
-     * @since S60 v3.1
-     * @return TRequestStatus&  Reference to the Status variable
-     */
-    TRequestStatus&     GetStatusVariable();
-    
-protected:
-    
-    /**
-     * Inherited from CActive
-     */
-    void RunL();
-    
-    /**
-     * Inherited from CActive
-     */
-    void DoCancel();
-
-private:
-    /**
-     * C++ Default Constructor
-     */
-    CLocLaunchUiAO( MLocLaunchUiObserver&    aObserver );
-
-private:
-    /**
-     * Reference to the Observer
-     */ 
-     MLocLaunchUiObserver&    iObserver ;
-     
-    };
-
-#endif //  C_LOCLAUNCHUIAO_H
--- a/locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiclient/inc/loclaunchuiobserver.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Observer to notify the completion of launching a UI.
-*
-*/
-
-
-#ifndef M_LOCLAUNCHUIOBSERVER_H
-#define M_LOCLAUNCHUIOBSERVER_H
-
-// System Includes
-#include <e32base.h>
-
-/**
- *  Observer to the Launch UI Active Object
- *
- *  The observer is used to notify the completion of a Lauch call. The 
- *  call back from the observer in addition to notifying the completion of
- *  the launch call also returns back an error code which denotes the success
- *  of the launch operation
- *
- *  @lib locsettingsuiclient.lib
- *  @since S60 v3.1
- */
-class MLocLaunchUiObserver
-    {
-
-public:
-    /**
-     * Call back function to notify the success state of the Launch function
-     * function call
-     *
-     * @since S60 v3.1
-     * @param aError Error code to denote the success/failure of the Launch 
-     *               operation
-     */
-    virtual void LaunchUiComplete( TInt    aError ) = 0;
-
-    };
-
-
-#endif // M_LOCLAUNCHUIOBSERVER_H
--- a/locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiclient/inc/locsettingsuiclientuid.hrh	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  UID for Location Settings UI Service Client
-*
-*/
-
-
-#ifndef LOCSETTINGSUICLIENTUID_HRH
-#define LOCSETTINGSUICLIENTUID_HRH
-
-/**
- * UID for Location Settings UI Client
- */
-#define LOCSETTINGSUICLIENT_UID             0x10281860
-
-#endif // LOCSETTINGSUICLIENTUID_HRH
--- a/locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiclient/inc/locsettingsuiservice.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,263 +0,0 @@
-/*
-* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Client side resource handle to the UI Server
-*
-*/
-
-
-#ifndef R_LOCSETTINGSUISERVICE_H
-#define R_LOCSETTINGSUISERVICE_H
-
-// System Includes
-#include <e32base.h>
-#include <AknServerApp.h>
-
-// User Includes
-#include "loclaunchuiobserver.h"
-
-// Forward Declaration
-class CLocLaunchUiAO;
-
-/**
- *  Client Side handle to the Settings UI server
- *
- *  @lib locsettingsuiclient.lib
- *  @since S60 v3.1
- */
-NONSHARABLE_CLASS( RLocSettingsUiService ): public RAknAppServiceBase,
-                                            public MLocLaunchUiObserver,
-                                            public MAknServerAppExitObserver
-    {
-public:
-    /**
-     * C++ Default Constructor
-     */
-    RLocSettingsUiService();
-    
-    /**
-     * C++ Destructor
-     * 
-     * @since S60 v3.1
-     */
-    virtual ~RLocSettingsUiService();
-
-    /**
-     * Launch a Settings UI in an ui app server. 
-     * The API is used to launch a settings UI. There can be only one 
-     * outstanding Launch request at any instant of time. This is an 
-     * asynchronous function. If a session is already running then the
-     * function leaves with KErrInUse.
-     *
-     * @since S60 v3.1
-     * @param aImplementationUid The ECOM Implementation UID of the 
-     *                           settings UI ECOM plug-in that has to be 
-     *                           launched.
-     * @param aParams            Opaque parameters that is handed over to
-     *                           the Settings UI.
-     * @param aStatus            Request status. On completion contains: 
-     *                           KErrNone, if successful, otherwise one of
-     *                           the other system-wide error codes.
-     *
-     */
-    void LaunchSettingsUiL( TUid            aImplementationUid, 
-                            TInt            aParams,
-                            TRequestStatus& aStatus );
-
-    /**
-     * Launch a Settings UI as an embedded application.
-     * The API is used to launch a settings UI as an embedded application.
-     *
-     * @since S60 v3.1
-     * @param aImplementationUid The ECOM Implementation UID of the 
-     *                           settings UI ECOM plug-in that has to be 
-     *                           launched.
-     * @param aParams            Opaque parameters that is handed over to
-     *                           the Settings UI. 
-     * @param aStatus            Request status. On completion contains: 
-     *                           KErrNone, if successful, otherwise one of
-     *                           the other system-wide error codes.
-     *
-     */
-    void LaunchSettingsUiAsEmbeddedAppL( 
-                                TUid            aImplementationUid, 
-                                TInt            aParams,
-                                TRequestStatus& aStatus );    
-
-    /**
-     * Launch a Settings UI in an ui app server. 
-     * The API is used to launch a settings UI. There can be only one 
-     * outstanding Launch request at any instant of time. This is an 
-     * asynchronous function. If a session is already running then the
-     * function leaves with KErrInUse.
-     *
-     * @since S60 v9.2
-     * @param aImplementationUid The ECOM Implementation UID of the 
-     *                           settings UI ECOM plug-in that has to be 
-     *                           launched.
-     * @param aStringParams      Opaque parameters that is handed over to
-     *                           the Settings UI.
-     * @param aStatus            Request status. On completion contains: 
-     *                           KErrNone, if successful, otherwise one of
-     *                           the other system-wide error codes.
-     *
-     */
-    void LaunchSettingsUiL( TUid            aImplementationUid, 
-                            const TDesC&            aStringParams,
-                            TRequestStatus& aStatus );
-
-    /**
-     * Launch a Settings UI as an embedded application.
-     * The API is used to launch a settings UI as an embedded application.
-     *
-     * @since S60 v9.2
-     * @param aImplementationUid The ECOM Implementation UID of the 
-     *                           settings UI ECOM plug-in that has to be 
-     *                           launched.
-     * @param aStringParams      Opaque parameters that is handed over to
-     *                           the Settings UI.
-     * @param aStatus            Request status. On completion contains: 
-     *                           KErrNone, if successful, otherwise one of
-     *                           the other system-wide error codes.
-     *
-     */
-    void LaunchSettingsUiAsEmbeddedAppL( 
-                                TUid            aImplementationUid, 
-                                const TDesC&            aStringParams,
-                                TRequestStatus& aStatus );    
-    
-    /**
-     * Cancels an already launched settings UI.
-     *
-     * @since S60 v3.1
-     * @return a Symbian OS Error Code in case a settings UI was not launched.
-     * Returns KErrNone if successful. 
-     */
-    TInt CancelLaunchedSettingsUi();
-    
-    /**
-     * Launch Positioning Settings UI in an ui app server.
-     * The API is used to launch Positioning Settings UI. There can be only 
-     * one outstanding Launch request at any instant of time. This is an 
-     * asynchronous function. If a session is already running then the 
-     * function leaves with KErrInUse.
-     *
-     * @since S60 v3.2
-     * @param aStatus            Request status. On completion contains: 
-     *                           KErrNone, if successful, otherwise one of
-     *                           the other system-wide error codes.     
-     *
-     */
-    void LaunchPosSettingsL( TRequestStatus& aStatus );
-    
-    /**
-     * Launch Positioning Settings UI as an embedded application.
-     * There can be only one outstanding Launch request at any instant of
-     * time. This is an asynchronous function. If a session is already 
-     * running then the function leaves with KErrInUse.
-     *
-     * @since S60 v3.2
-     * @param aStatus            Request status. On completion contains: 
-     *                           KErrNone, if successful, otherwise one of
-     *                           the other system-wide error codes.     
-     *
-     */    
-    void LaunchPosSettingsAsEmbeddedAppL(  TRequestStatus& aStatus );
- 
-    /**
-     * Closes an already launched Positioning Settings UI.
-     *
-     * @since S60 v3.2
-     * @return Symbian OS Error Code in case Positioning settings UI
-     *         was not launched.
-     * Returns KErrNone if successful. 
-     */   
-    TInt ClosePosSettings();
-        
-    /**
-     * Sets the Launch Active object which is used to initiate Asynchronous 
-     * calls to the UI server
-     */
-    void SetLaunchAO( CLocLaunchUiAO*&      aLaunchAO );
-    
-public: // From MLocLaunchUiObserver
-
-    void LaunchUiComplete( TInt    aError );
-    
-public: // From RAknAppServiceBase
-    TUid ServiceUid() const;
- 
-public:
-
-    /**
-     * From base class MAknServerAppExitObserver
-     * Handles the Server Exit Event.
-     * @param aReason the command Id or error code which caused the server 
-     * to close.
-     */
-    virtual void HandleServerAppExit(TInt aReason);
-    
-private:
-    /**
-     * Connects to a non embedded server instance. The function tries to 
-     * create a new server instance if the server is not already running
-     */ 
-    void    ConnectServerL();
-    
-    /**
-     * Starts a new server instance
-     *
-     * @return  KErrNone, If the server is successfully launched
-     *          System wide error codes incase the Start fails
-     */
-    TInt    StartServer();
-       
-private:
-    /**
-     * Enumeration type defining the type of launch request outstanding
-     */
-     enum   TLaunchRequestType
-        {
-        ELaunchNone,
-        ELaunchNormal,
-        ELaunchEmbedded
-        };
-        
-private:
-
-    /**
-     * Active object used to provide asynshronous Send Receive Api calls
-     * Owns
-     */
-    CLocLaunchUiAO*         iLaunchAO;
-    
-    /**
-     * Reference to the Status variable of the object on which the Launch
-     * request was issued
-     */
-     TRequestStatus*        iRequestStatus;
-    
-    /**
-     * Current Launch status of the Serive provider
-     */
-     TLaunchRequestType     iLaunchType;
-     
-    /**
-     * Monitor the life of the server application.
-     * Wait for Server Exit Event.
-     * Owns
-     */
-     CApaServerAppExitMonitor* iSrvMonitor;
-    };
-
-#endif // R_LOCSETTINGSUISERVICE_H
--- a/locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiclient/src/loclaunchuiao.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,115 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Active Object to monitor the UI Server launch requests
-*
-*/
-
-
-// User Include
-#include "loclaunchuiao.h"
-#include "loclaunchuiobserver.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// C++ Default Constructor
-// ---------------------------------------------------------------------------
-//
-CLocLaunchUiAO::CLocLaunchUiAO( MLocLaunchUiObserver&    aObserver )
-    : CActive( EPriorityStandard ),
-    iObserver( aObserver )
-    {
-    // Add the Active object to the Active scheduler queue
-    CActiveScheduler::Add( this );    
-    }
-
-// ---------------------------------------------------------------------------
-// Two Phase constructor 
-// ---------------------------------------------------------------------------
-//
-CLocLaunchUiAO* CLocLaunchUiAO::NewL( MLocLaunchUiObserver&    aObserver )
-    {
-    CLocLaunchUiAO* self = CLocLaunchUiAO::NewLC( aObserver );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Two Phase constructor. Leaves the allocated object on the Clean-up stack 
-// ---------------------------------------------------------------------------
-//
-CLocLaunchUiAO* CLocLaunchUiAO::NewLC( MLocLaunchUiObserver&    aObserver )
-    {
-    CLocLaunchUiAO* self = new( ELeave ) CLocLaunchUiAO( aObserver );
-    CleanupStack::PushL( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// C++ Destructor
-// ---------------------------------------------------------------------------
-//
-CLocLaunchUiAO::~CLocLaunchUiAO()
-    {
-    // Cancel any outstanding request
-    Cancel();
-    }
-    
-// ---------------------------------------------------------------------------
-// Informs the active object that there is an outstanding request.
-// ---------------------------------------------------------------------------
-//    
-void    CLocLaunchUiAO::SetRequestOutStandingL()
-    {
-    // Check if there is any request outstanding for there can be only one 
-    // request outstanding on the active object at any instant of time
-    if( IsActive())
-        {
-        User::Leave( KErrInUse );
-        }
-    iStatus = KRequestPending;
-    SetActive();
-    }
-
-// ---------------------------------------------------------------------------
-// Returns a reference to the active objects Status variable
-// ---------------------------------------------------------------------------
-// 
-TRequestStatus&     CLocLaunchUiAO::GetStatusVariable()
-    {
-    return iStatus;
-    }
-
-// ---------------------------------------------------------------------------
-// CActive RunL
-// ---------------------------------------------------------------------------
-//
-void CLocLaunchUiAO::RunL()
-    {
-    // Issue a callback only when the active object has not been cancelled
-    if( KErrCancel != iStatus.Int())
-        {
-        iObserver.LaunchUiComplete( iStatus.Int());
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// CActive DoCancel
-// ---------------------------------------------------------------------------
-//
-void CLocLaunchUiAO::DoCancel()
-    {
-    }
--- a/locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiclient/src/locsettingsuiclient.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,220 +0,0 @@
-/*
-* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Client Side handle for using the Location System UI services
-*
-*/
-
-
-// System Includes
-#include <aknenv.h>
-
-// User Includes
-#include "locsettingsuiclient.h"
-#include "loclaunchuiao.h"
-#include "locsettingsuiservice.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// C++ Default Constructor
-// ---------------------------------------------------------------------------
-//
-CLocSettingsUiClient::CLocSettingsUiClient()
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// Second phase of the two phase constructor
-// ---------------------------------------------------------------------------
-//
-void CLocSettingsUiClient::ConstructL()
-    {
-    // Obtain the UI Environment. If the Client Library is constructed from
-    // a non-UI application then the value of the UI Env should be NULL
-    iCEikonEnv = CEikonEnv::Static();
-    
-    // Create the Client side handle.
-    iLocService = new ( ELeave ) RLocSettingsUiService;
-        
-    // Create the Active object that would be used by the client handle
-    // sending asynchronous requests
-    iLaunchUiAO = CLocLaunchUiAO::NewL( *iLocService );
-    
-    // Set the Client Handles AO. The ownership is mainted with this class
-    // since the Client side handle is an RClass and should preferably not
-    // have any objects allocated on the heap
-    iLocService->SetLaunchAO( iLaunchUiAO );
-    
-    }
-
-
-// ---------------------------------------------------------------------------
-// Two Phase constructor 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLocSettingsUiClient* CLocSettingsUiClient::NewL()
-    {
-    CLocSettingsUiClient* self = CLocSettingsUiClient::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Two Phase constructor. Leaves the allocated object on the Clean-up stack 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLocSettingsUiClient* CLocSettingsUiClient::NewLC()
-    {
-    CLocSettingsUiClient* self = new( ELeave ) CLocSettingsUiClient;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// C++ Destructor
-// ---------------------------------------------------------------------------
-//
-CLocSettingsUiClient::~CLocSettingsUiClient()
-    {
-    
-    // Delete the Client side handle
-    delete iLocService;
-    
-    // Delete the Active Object
-    delete iLaunchUiAO;    
-    }
-
-// ---------------------------------------------------------------------------
-// Launch a Settings UI in an ui app server
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLocSettingsUiClient::LaunchSettingsUiL(
-                                            TUid            aImplementationUid,
-                                            TInt            aParams,
-                                            TRequestStatus& aStatus )
-    {
-    // Call the Client Handle's Launch function
-    iLocService->LaunchSettingsUiL( aImplementationUid,
-                                    aParams,
-                                    aStatus );
-    }
-    
-// ---------------------------------------------------------------------------
-// Launch a Settings UI as an embedded application
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLocSettingsUiClient::LaunchSettingsUiAsEmbeddedAppL(
-                                            TUid            aImplementationUid,
-                                            TInt            aParams,
-                                            TRequestStatus& aStatus )
-    {
-    // Only an UI application can make a Launch as embedded call
-    if( NULL == iCEikonEnv )
-        {
-        User::Leave( KErrNotSupported );
-        }
-    // Call the Client Handle's Launch function     
-    iLocService->LaunchSettingsUiAsEmbeddedAppL( aImplementationUid,
-                                                 aParams,
-                                                 aStatus );    
-    }
-
-// ---------------------------------------------------------------------------
-// Launch a Settings UI in an ui app server
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLocSettingsUiClient::LaunchSettingsUiL(
-                                            TUid            aImplementationUid,
-                                            const TDesC&            aStringParams,
-                                            TRequestStatus& aStatus )
-    {
-    // Call the Client Handle's Launch function
-    iLocService->LaunchSettingsUiL( aImplementationUid,
-                                    aStringParams,
-                                    aStatus );
-    }
-    
-// ---------------------------------------------------------------------------
-// Launch a Settings UI as an embedded application
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLocSettingsUiClient::LaunchSettingsUiAsEmbeddedAppL(
-                                            TUid            aImplementationUid,
-                                            const TDesC&            aStringParams,
-                                            TRequestStatus& aStatus )
-    {
-    // Only an UI application can make a Launch as embedded call
-    if( NULL == iCEikonEnv )
-        {
-        User::Leave( KErrNotSupported );
-        }
-    // Call the Client Handle's Launch function     
-    iLocService->LaunchSettingsUiAsEmbeddedAppL( aImplementationUid,
-                                                 aStringParams,
-                                                 aStatus );    
-    }
-    
-// ---------------------------------------------------------------------------
-// Cancels an already launched settings UI.
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C TInt CLocSettingsUiClient::CancelLaunchedSettingsUi()
-    {
-    return iLocService->CancelLaunchedSettingsUi();
-    }
-    
-// ---------------------------------------------------------------------------
-// Launch Positioning Settings UI in an ui app server
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLocSettingsUiClient::LaunchPosSettingsL(
-                                            TRequestStatus& aStatus )
-    {
-    // Only FrameWorks  can make a Launch as non-embedded call
-    if( iCEikonEnv )
-        {
-        User::Leave( KErrNotSupported );
-        }
-    // Call the Client Handle's Launch function        
-    iLocService->LaunchPosSettingsL( aStatus );
-    }
-    
-// ---------------------------------------------------------------------------
-// Launch Positioning Settings UI as an embedded application
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLocSettingsUiClient::LaunchPosSettingsAsEmbeddedAppL(
-                                                TRequestStatus& aStatus )
-    {
-    // Only an UI application can make a Launch as embedded call
-    if( NULL == iCEikonEnv )
-        {
-        User::Leave( KErrNotSupported );
-        }
-    // Call the Client Handle's Launch function        
-    iLocService->LaunchPosSettingsAsEmbeddedAppL( aStatus );
-    }
-    
-// ---------------------------------------------------------------------------
-// Closes an already launched Positioning Settings UI.
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C TInt CLocSettingsUiClient::ClosePosSettings()
-    {
-    return iLocService->ClosePosSettings();
-    }    
--- a/locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiclient/src/locsettingsuiservice.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,572 +0,0 @@
-/*
-* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Client side resource handle to the UI Server
-*
-*/
-
-
-// System Includes
-#include <avkon.hrh>
-
-// User Includes
-#include "locsettingsuiservice.h"
-#include "loclaunchuiao.h"
-#include "locsettingsuiserverinterface.h"
-
-// Constant Declarations
-const TInt KNumofConnectAttempts = 200;
-    
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// C++ Default Constructor
-// ---------------------------------------------------------------------------
-//
-RLocSettingsUiService::RLocSettingsUiService()
-    :iLaunchAO( NULL ),
-    iRequestStatus( NULL ),
-    iLaunchType( ELaunchNone ),
-    iSrvMonitor( NULL )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// C++ Destructor
-// ---------------------------------------------------------------------------
-//
-RLocSettingsUiService::~RLocSettingsUiService()
-    {
-    if( ELaunchNone != iLaunchType )
-        {
-        CancelLaunchedSettingsUi();
-        }   
-    }
-
-// ---------------------------------------------------------------------------
-// Launch a Settings UI in an ui app server
-// ---------------------------------------------------------------------------
-//
-void RLocSettingsUiService::LaunchSettingsUiL(
-                                    TUid            aImplementationUid,
-                                    TInt            aParams,
-                                    TRequestStatus& aStatus )
-    {
-    
-    // Check the presence of the Active Object
-    if( NULL == iLaunchAO )
-        {
-        User::Leave( KErrNotFound );
-        }
-        
-    // Check if there is any outstanding requests
-    if( ELaunchNone != iLaunchType )
-        {
-        User::Leave( KErrInUse );
-        }
-    
-    // Create the Server Session
-    ConnectServerL();
-    
-    // Store the aStatus variable. This would be used to notify the caller
-    // on completeion of the launch message
-    iRequestStatus = &aStatus;  
-    *iRequestStatus = KRequestPending;
-    
-    // Set request outstanding on the Active object
-    iLaunchAO->SetRequestOutStandingL();
-        
-    // Compose the Message and Issue a Launch call to the server
-    TRequestStatus&     status = iLaunchAO->GetStatusVariable();
-    
-    // Set the Launch Type and the Service state
-    iLaunchType = ELaunchNormal;
-                      
-    TIpcArgs args( aImplementationUid.iUid, aParams );
-    
-	SendReceive( ELaunchSettings, args, status );
-    
-    iSrvMonitor = NULL;
-    }
-    
-// ---------------------------------------------------------------------------
-// Launch a Settings UI as an embedded application
-// ---------------------------------------------------------------------------
-//
-void RLocSettingsUiService::LaunchSettingsUiAsEmbeddedAppL(
-                                            TUid            aImplementationUid,
-                                            TInt            aParams,
-                                            TRequestStatus& aStatus )
-    {
-    
-    // Check the presence of the Active Object
-    if( NULL == iLaunchAO )
-        {
-        User::Leave( KErrNotFound );
-        }
-        
-    // Check if there is any outstanding requests
-    if( ELaunchNone != iLaunchType )
-        {
-        User::Leave( KErrInUse );
-        }
-    
-    // Create the Server Session
-    ConnectChainedAppL( TUid::Uid( KLocSettingsUiServerUid ));
-    
-    // Store the aStatus variable. This would be used to notfy the caller
-    // on completeion of the launch message
-    iRequestStatus = &aStatus;  
-    *iRequestStatus = KRequestPending;
-    
-    // Set request outstanding on the Active object
-    iLaunchAO->SetRequestOutStandingL();
-        
-    // Compose the Message and Issue a Launch call to the server
-    TRequestStatus&     status = iLaunchAO->GetStatusVariable();
-    
-    // Set the Launch Request Type and the Service state
-    iLaunchType = ELaunchEmbedded;  
-                      
-    TIpcArgs args( aImplementationUid.iUid, aParams );
-	SendReceive( ELaunchSettings, args, status );
-
-    iSrvMonitor = CApaServerAppExitMonitor::NewL(*this, 
-                                                 *this,
-                                                 CActive::EPriorityStandard);
-    }
-
-// ---------------------------------------------------------------------------
-// Launch a Settings UI in an ui app server
-// ---------------------------------------------------------------------------
-//
-void RLocSettingsUiService::LaunchSettingsUiL(
-                                    TUid            aImplementationUid,
-                                    const TDesC&            aParamsString,
-                                    TRequestStatus& aStatus )
-    {
-    
-    // Check the presence of the Active Object
-    if( NULL == iLaunchAO )
-        {
-        User::Leave( KErrNotFound );
-        }
-        
-    // Check if there is any outstanding requests
-    if( ELaunchNone != iLaunchType )
-        {
-        User::Leave( KErrInUse );
-        }
-    
-    // Create the Server Session
-    ConnectServerL();
-    
-    // Store the aStatus variable. This would be used to notify the caller
-    // on completeion of the launch message
-    iRequestStatus = &aStatus;  
-    *iRequestStatus = KRequestPending;
-    
-    // Set request outstanding on the Active object
-    iLaunchAO->SetRequestOutStandingL();
-        
-    // Compose the Message and Issue a Launch call to the server
-    TRequestStatus&     status = iLaunchAO->GetStatusVariable();
-    
-    // Set the Launch Type and the Service state
-    iLaunchType = ELaunchNormal;
-                      
-    TIpcArgs args( aImplementationUid.iUid, aParamsString.Length(), &aParamsString );
-    
-	SendReceive( ELaunchSettingsWithString, args, status );
-    
-    iSrvMonitor = NULL;
-    }
-    
-// ---------------------------------------------------------------------------
-// Launch a Settings UI as an embedded application
-// ---------------------------------------------------------------------------
-//
-void RLocSettingsUiService::LaunchSettingsUiAsEmbeddedAppL(
-                                            TUid            aImplementationUid,
-                                            const TDesC&            aParamsString,
-                                            TRequestStatus& aStatus )
-    {
-    
-    // Check the presence of the Active Object
-    if( NULL == iLaunchAO )
-        {
-        User::Leave( KErrNotFound );
-        }
-        
-    // Check if there is any outstanding requests
-    if( ELaunchNone != iLaunchType )
-        {
-        User::Leave( KErrInUse );
-        }
-    
-    // Create the Server Session
-    ConnectChainedAppL( TUid::Uid( KLocSettingsUiServerUid ));
-    
-    // Store the aStatus variable. This would be used to notfy the caller
-    // on completeion of the launch message
-    iRequestStatus = &aStatus;  
-    *iRequestStatus = KRequestPending;
-    
-    // Set request outstanding on the Active object
-    iLaunchAO->SetRequestOutStandingL();
-        
-    // Compose the Message and Issue a Launch call to the server
-    TRequestStatus&     status = iLaunchAO->GetStatusVariable();
-    
-    // Set the Launch Request Type and the Service state
-    iLaunchType = ELaunchEmbedded;  
-                      
-    TIpcArgs args( aImplementationUid.iUid, aParamsString.Length(), &aParamsString );
-    
-	SendReceive( ELaunchSettingsWithString, args, status );
-
-    iSrvMonitor = CApaServerAppExitMonitor::NewL(*this, 
-                                                 *this,
-                                                 CActive::EPriorityStandard);
-    }
-    
-// ---------------------------------------------------------------------------
-// Cancels a Launched request
-// ---------------------------------------------------------------------------
-//    
-TInt RLocSettingsUiService::CancelLaunchedSettingsUi()
-    {
-    // If no request is outstanding then this operation is not supported 
-    // in this context
-    if( ELaunchNone == iLaunchType )
-        {
-        return KErrNotSupported;
-        }
-    
-    // Issue a Cancel message
-    TInt error = SendReceive( ECancelSettings );
-    
-    if ( error )
-        {
-        return error;
-        }
-        
-    // Cancel the Active objects Request
-    iLaunchAO->Cancel();
-
-    // Delete the Server Exit monitor object before closing the 
-    // server session.
-    delete iSrvMonitor;
-    iSrvMonitor = NULL;        
-
-    // Delete the Server session
-    RAknAppServiceBase::Close();
-    
-    // Set the Launch type so that next launchs will succeed
-    iLaunchType = ELaunchNone;
-    
-    // Sets the Launch 
-    // Complete the request with KErrCancel
-    TRequestStatus*     status = iRequestStatus;
-    User::RequestComplete( status, KErrCancel );
-    
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-// Launch Positioning Settings UI in an ui app server
-// ---------------------------------------------------------------------------
-//
-void RLocSettingsUiService::LaunchPosSettingsL(
-                                            TRequestStatus& aStatus )
-    {
-    // Check the presence of the Active Object
-    if( NULL == iLaunchAO )
-        {
-        User::Leave( KErrNotFound );
-        }
-        
-    // Check if there is any outstanding requests
-    if( ELaunchNone != iLaunchType )
-        {
-        User::Leave( KErrInUse );
-        }
-    
-    // Create the Server Session
-    ConnectServerL();
-    
-    // Store the aStatus variable. This would be used to notify the caller
-    // on completeion of the launch message
-    iRequestStatus = &aStatus;  
-    *iRequestStatus = KRequestPending;
-    
-    // Set request outstanding on the Active object
-    iLaunchAO->SetRequestOutStandingL();
-        
-    // Compose the Message and Issue a Launch call to the server
-    TRequestStatus&     status = iLaunchAO->GetStatusVariable();
-    
-    // Set the Launch Type and the Service state
-    iLaunchType = ELaunchNormal;
-    
-	SendReceive( ELaunchPosSettings, status );
-    
-    iSrvMonitor = NULL;
-    }
-    
-// ---------------------------------------------------------------------------
-// Launch Positioning Settings UI as an embesdded application
-// ---------------------------------------------------------------------------
-//
-void RLocSettingsUiService::LaunchPosSettingsAsEmbeddedAppL(
-                                                TRequestStatus& aStatus )
-    {
-    // Check the presence of the Active Object
-    if( NULL == iLaunchAO )
-        {
-        User::Leave( KErrNotFound );
-        }
-        
-    // Check if there is any outstanding requests
-    if( ELaunchNone != iLaunchType )
-        {
-        User::Leave( KErrInUse );
-        }
-    
-    // Create the Server Session
-    ConnectChainedAppL( TUid::Uid( KLocSettingsUiServerUid ));
-    
-    // Store the aStatus variable. This would be used to notfy the caller
-    // on completeion of the launch message
-    iRequestStatus = &aStatus;  
-    *iRequestStatus = KRequestPending;
-    
-    // Set request outstanding on the Active object
-    iLaunchAO->SetRequestOutStandingL();
-        
-    // Compose the Message and Issue a Launch call to the server
-    TRequestStatus&     status = iLaunchAO->GetStatusVariable();
-    
-    // Set the Launch Request Type and the Service state
-    iLaunchType = ELaunchEmbedded;  
-
-	SendReceive( ELaunchPosSettings, status );
-
-    iSrvMonitor = CApaServerAppExitMonitor::NewL(*this, 
-                                                 *this,
-                                                 CActive::EPriorityStandard);
-    }
-    
-// ---------------------------------------------------------------------------
-// Closes an already launched Positioning Settings UI.
-// ---------------------------------------------------------------------------
-//    
-TInt RLocSettingsUiService::ClosePosSettings()
-    {
-    // If no request is outstanding then this operation is not supported 
-    // in this context
-    if( ELaunchNone == iLaunchType )
-        {
-        return KErrNotSupported;
-        }
-    
-    // Issue a Cancel message
-    TInt error = SendReceive( ECancelPosSettings );
-    
-    if ( error )
-        {
-        return error;
-        }
-        
-    // Cancel the Active objects Request
-    iLaunchAO->Cancel();
-
-    // Delete the Server Exit monitor object before closing the 
-    // server session.
-    delete iSrvMonitor;
-    iSrvMonitor = NULL;        
-
-    // Delete the Server session
-    RAknAppServiceBase::Close();
-    
-    // Set the Launch type so that next launchs will succeed
-    iLaunchType = ELaunchNone;
-    
-    // Sets the Launch 
-    // Complete the request with KErrCancel
-    TRequestStatus*     status = iRequestStatus;
-    User::RequestComplete( status, KErrCancel );
-    
-    return KErrNone;
-
-    }    
-    
-// ---------------------------------------------------------------------------
-// Sets the Active Object used for issuing asynshronous requests
-// ---------------------------------------------------------------------------
-//
-void RLocSettingsUiService::SetLaunchAO( CLocLaunchUiAO*&      aLaunchAO )
-    {
-    iLaunchAO = aLaunchAO; 
-    }
-
-// ---------------------------------------------------------------------------
-// Inherited from MLocLaunchUiObserver
-// ---------------------------------------------------------------------------
-//
-void RLocSettingsUiService::LaunchUiComplete( TInt    aError )
-    {
-    // When the server exits due to Exit Command it responds with
-    // EEikCmdExit. In this case the actual Error Code is KErrNone.
-    // This is needed when we have the  following scenario,
-    // 1. If the user does a back from the plugin UI instead of exit,
-    //    then the client library will have to delete the Server Monitor
-    //    object.
-    // 2. If the user does a Exit then the scenario will be handled in
-    //    HandleServerAppExit.
-    if ( EEikCmdExit != aError )
-        {
-        delete iSrvMonitor;
-        iSrvMonitor = NULL;
-
-        // Delete the Server session
-        Close();
-        }
-    else
-        {
-        // In case the Error value is EEikCmdExit, change it to KErrNone.
-        // The session and the Server Monitor object will be taken care of
-        // by the HandleServerAppExit() which gets triggered by the Server
-        // Exit.
-        aError = KErrNone;
-        }
-
-    iLaunchType = ELaunchNone;
-    TRequestStatus* status = iRequestStatus;
-    User::RequestComplete( status, aError );
-    }
-
-// ---------------------------------------------------------------------------
-// Returns the Service UID of requested service
-// ---------------------------------------------------------------------------
-//
-TUid RLocSettingsUiService::ServiceUid() const
-    {
-    return TUid::Uid( KLocSettingsUiServiceId );    
-    }
-
-// ---------------------------------------------------------------------------
-// Receive event about server Exit. Triggered only for Embedded Launch case.
-// ---------------------------------------------------------------------------
-//
-void RLocSettingsUiService::HandleServerAppExit(TInt aReason)
-    {
-    // Delete the Server monitor object.
-    delete iSrvMonitor;
-    iSrvMonitor = NULL;
-    // Delete the Server session
-    Close();
-    if ( EEikCmdExit == aReason )
-        {
-        // The base class implementation is a Series60 behaviour. Hence
-        // it works only if the Command ID is EAknCmdExit. Whereas from the
-        // Server side we exit only for EEikCmdExit. Hence this fix is
-        // needed for the correct Exit behaviour for Embedded Launch scenario.
-        aReason = EAknCmdExit;
-        }
-    // Base call the AvKon Implementation.
-    MAknServerAppExitObserver::HandleServerAppExit(aReason);
-    }
-
-
-// ---------------------------------------------------------------------------
-// Connects to a non embedded server instance.
-// ---------------------------------------------------------------------------
-//
-void RLocSettingsUiService::ConnectServerL()
-    {
-    TInt retry = KNumofConnectAttempts;
-    TInt err = KErrNone;
-
-    for (;;) // Forever
-    	{
-    	TUid    serviceuid = TUid::Uid( KLocSettingsUiServiceId );
-    	TVersion*    version = reinterpret_cast< TVersion* >( &serviceuid );
-    	err = CreateSession( KLocSettingsUiServerName, 
-    	                     *version,
-    	                     KDefaultMessageSlots );
-    	if ( err != KErrNotFound && err != KErrServerTerminated )
-    		{
-    		break;
-    		}
-
-    	if ( --retry == 0 )
-    		{
-    		break;
-    		}
-
-    	err = StartServer();
-
-    	if ( err != KErrAlreadyExists && err != KErrNone)
-    		{
-    		break;
-    		}
-    	}
-    if( KErrNone != err )
-        {
-        User::Leave( err );
-        }
-    }
- 
-// ---------------------------------------------------------------------------
-// Starts a new server instance
-// ---------------------------------------------------------------------------
-//   
-TInt RLocSettingsUiService::StartServer()
-    {
-    const TUidType serverUid(KNullUid, KNullUid, TUid::Uid( KLocSettingsUiServerUid ));
-
-    // Simultaneous launching of two such processes should be detected 
-    // when the second one attempts to create the server object, 
-    // failing with KErrAlreadyExists.
-    //
-    RProcess server;
-    TInt ret = server.Create( KLocSettingsUiServerExe, KNullDesC, serverUid );
-
-    if (ret != KErrNone)
-        {
-        return ret;
-        }
-
-    TRequestStatus died;
-    server.Rendezvous( died );
-
-    if ( died != KRequestPending )
-        {
-        // logon failed - server is not yet running, so cannot have terminated
-        User::WaitForRequest( died );           // eat signal
-        server.Kill( 0 );                       // abort startup
-        }
-    else
-        {
-        server.Resume();
-        User::WaitForRequest( died );           // wait for start or death
-        }
-
-    // we can't use the 'exit reason' if the server panicked as this
-    // is the panic 'reason' and may be '0' which cannot be distinguished
-    // from KErrNone
-    ret = ( server.ExitType() == EExitPanic ) ? KErrGeneral : died.Int();
-    server.Close();
-    return ret;
-    }
--- a/locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/data/locsettingsuiserver.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Resource definition for Location Settings UI Server
-*
-*/
-
-
-NAME LSRV
-
-#include <eikon.rh>
-#include <avkon.hrh>
-#include <avkon.rh>
-#include <appinfo.rh>
-#include <data_caging_paths_strings.hrh>
-
-#include <location.loc>
-
-RESOURCE RSS_SIGNATURE {}
-RESOURCE TBUF { buf=""; }
-
-// ---------------------------------------------------------------------------
-// R_LOCSETTINGSUISRV_APP_INFO
-// the Application Info resource structure
-// ---------------------------------------------------------------------------
-//
-RESOURCE EIK_APP_INFO
-    {
-    status_pane = r_locsettingsuisrv_status_pane;
-    }
-
-RESOURCE STATUS_PANE_APP_MODEL r_locsettingsuisrv_status_pane
-    {
-    panes =
-        {
-        SPANE_PANE
-            {
-            id = EEikStatusPaneUidTitle;
-            type = EAknCtTitlePane;
-            resource = r_locsettingsuisrv_title_pane;
-            }
-        };
-    
-}
-
-RESOURCE TITLE_PANE r_locsettingsuisrv_title_pane
-    {
-    txt = qtn_location_list;
-    }
-
-RESOURCE LOCALISABLE_APP_INFO r_locsettingsuisrv_app_info
-    {
-    short_caption = qtn_location_grid;
-    caption_and_icon =
-        {
-        CAPTION_AND_ICON_INFO
-            {
-            caption = qtn_location_list;
-#ifdef __SCALABLE_ICONS
-            number_of_icons = 1;
-            icon_file = APP_BITMAP_DIR"\\locsettingsuiserver_aif.mif";
-#else
-            number_of_icons = 2;
-            icon_file = APP_BITMAP_DIR"\\locsettingsuiserver_aif.mbm";
-#endif
-            }
-        };			
-    }
-
-
-//End of file
--- a/locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/data/locsettingsuiserver_reg.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Resource definition for Location Settings UI Server 
-*                application registration.
-*
-*/
-
-
-#include <appinfo.rh>
-#include <locsettingsuiserver.rsg>
-#include <data_caging_paths_strings.hrh>
-#include "locsettingsuisrvuid.hrh"
-
-UID2 KUidAppRegistrationResourceFile
-UID3 LOCSETTINGSUISERVER_UID3  // Application's UID
-
-RESOURCE APP_REGISTRATION_INFO
-    {
-    app_file = "locsettingsuiserver";
-    hidden = KAppIsHidden;
-    localisable_resource_file=APP_RESOURCE_DIR"\\locsettingsuiserver";
-    localisable_resource_id=R_LOCSETTINGSUISRV_APP_INFO;
-    }
-
-
-// End of file
--- a/locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Build information file for project Location Settings 
-*                UI Service Server
-*
-*/
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../inc/locsettingsuiserverinterface.h |../../../../inc/locsettingsuiserverinterface.h
-
-PRJ_MMPFILES
-locsettingsuiserver.mmp
-
-PRJ_TESTMMPFILES
-
-PRJ_TESTEXPORTS
-
-PRJ_EXTENSIONS
-START EXTENSION s60/mifconv
-OPTION TARGETFILE locsettingsuiserver_aif.mif
-OPTION SOURCES -c8,8 qgn_menu_loc.svg
-END
--- a/locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/group/locsettingsuiserver.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Project definition file for project Location Settings
-*                UI Service Server
-*
-*/
-
-
-#include <data_caging_paths.hrh>
-#include "../inc/locsettingsuisrvuid.hrh"
-#include <platform_paths.hrh> // For the MW_LAYER_SYSTEMINCLUDE
-TARGET                  locsettingsuiserver.exe
-TARGETTYPE              exe
-UID                     0x0 LOCSETTINGSUISERVER_UID3
-
-CAPABILITY              CAP_APPLICATION NetworkControl ProtServ
-VENDORID                VID_DEFAULT
-
-SOURCEPATH              ../src
-SOURCE                  locsettingsuisrvapplication.cpp
-SOURCE                  locsettingsuisrvdocument.cpp
-SOURCE                  locsettingsuisrvappui.cpp
-SOURCE                  locsettingsuiappserver.cpp
-SOURCE                  locsettingsuiservice.cpp
-SOURCE                  locsettingsuilaunchmgr.cpp
-SOURCE                  locsettingsuisrvshutdowntimer.cpp
-SOURCE                  locsettingsuilaunchao.cpp
-SOURCE                  locsettingsuiinfo.cpp
-
-USERINCLUDE             ../inc
-USERINCLUDE             ../../../inc
-USERINCLUDE				../../../../inc
-USERINCLUDE             ../../../../../inc
-
-// System Include
-MW_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH              ../data
-START RESOURCE          locsettingsuiserver.rss
-HEADER
-TARGETPATH              APP_RESOURCE_DIR
-LANGUAGE_IDS
-END
-
-LIBRARY                 euser.lib
-LIBRARY                 locsysuiengine.lib
-LIBRARY                 eikcore.lib
-LIBRARY                 apparc.lib
-LIBRARY                 avkon.lib
-LIBRARY                 cone.lib
-LIBRARY                 apgrfx.lib
-LIBRARY                 ws32.lib
-LIBRARY                 eikcoctl.lib
-
-START RESOURCE          locsettingsuiserver_reg.rss
-DEPENDS locsettingsuiserver.rsg
-TARGETPATH              /private/10003a3f/apps
-END
-
-//End of file
--- a/locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/inc/locsettingsuiappserver.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  The declaration for AppServer class of Location Settings UI 
-*                Server
-*
-*/
-
-
-#ifndef C_LOCSETTINGSUIAPPSERVER_H
-#define C_LOCSETTINGSUIAPPSERVER_H
-
-#include <AknServerApp.h>
-
-//Forward declarations
-class CApaAppServiceBase;
-class CLocSettingsUISrvShutdown;
-class CLocSettingsUILaunchMgr;
-class CEikonEnv;
-
-/**
- *  The server class is responsible for creating session objects.
- *  
- *  This server class overrides the CreateServiceL method to create
- *  instances of the CLocSettingsUIService object. The base class invokes 
- *  the CreateServiceL method on receiving a request for session creation.
- *
- *  @lib 
- *  @since S60 v3.1
- */
-NONSHARABLE_CLASS(CLocSettingsUIAppServer) : public CAknAppServer
-    {
-public:
-    /**
-     * Constructor
-     */
-    CLocSettingsUIAppServer();
-
-    /**
-     * Destructor
-     */
-    virtual ~CLocSettingsUIAppServer();
-
-    /**
-     * Symbian 2nd Phase Constructor.
-     * Overriding the base class call to pass the Server Name.
-     */
-    virtual void ConstructL(const TDesC& aFixedServerName);
-
-public:
-    /**
-     * Cancels the Shutdown Timer.
-     */
-    void CancelShutdownTimer();
-    
-protected: 
-    /**
-     * From Base class CApaAppServer
-     * Creates CLocSettingsUIService session object.The base class invokes
-     * the CreateServiceL method on receiving a request for session creation.
-     *
-     * @param aServiceType The Service UID for this service
-     * @return A pointer to the CLocSettingsUIService session object.
-     */
-	virtual CApaAppServiceBase* CreateServiceL(TUid aServiceType) const;
-
-    /**
-     * From Base class CApaAppServer
-     * Allows the server to handle the case when all client sessions
-     * have closed.The default behaviour is to close the server immediately.
-     * The Location Settings UI Server behaviour is to wait for new
-     * connections for 10 seconds and then shutdown in case no new
-     * client connection is established. Hence this method is overriden
-     * to provide for this behaviour of the server.
-     *
-     * @return A pointer to the CLocSettingsUIService session object.
-     */
-	virtual void HandleAllClientsClosed();
-
-private:
-    /**
-     * The Shutdown Timer Object.
-     */
-    CLocSettingsUISrvShutdown* iShutdownTimer;
-    };
-
-#endif // C_LOCSETTINGSUISERVER_H
--- a/locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/inc/locsettingsuiinfo.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,161 +0,0 @@
-/*
-* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  The declaration for Settings UI Info class of Location
-*                Settings UI Server
-*
-*/
-
-
-#ifndef C_LOCSETTINGSUIINFO_H
-#define C_LOCSETTINGSUIINFO_H
-
-#include <e32cmn.h>
-#include <e32std.h>
-
-//Forward declarations
-class CSession2;
-
-/**
- *  The Info class which contains all information pertaining to
- *  the settings UI launch request.
- *
- *  @lib
- *  @since S60 v3.1
- */
-NONSHARABLE_CLASS(CLocSettingsUIInfo) : public CBase
-    {
-public:
-    /**
-     * Symbian 2 Phase Constructor
-     *
-     * @since S60 v3.1
-     * @param The request IPC Message sent by the client.
-     * @param The Launch parameters with which the UI should be launched
-     * @return A pointer to the created CLocSettingsUIInfo object
-     */
-    static CLocSettingsUIInfo* NewL( const RMessage2&   aMessage );
-
-    /**
-     * Symbian 2 Phase Constructor
-     *
-     * @since S60 v3.1
-     * @param The request IPC Message sent by the client.
-     * @param The Launch parameters with which the UI should be launched
-     * @return A pointer to the created CLocSettingsUIInfo object
-     */
-    static CLocSettingsUIInfo* NewLC( const RMessage2&  aMessage );
-
-    /**
-     * Destructor
-     */
-    virtual ~CLocSettingsUIInfo();
-
-public:
-    /**
-     * Complete the Launch request with the Error Code
-     *
-     * @since S60 v3.1
-     * @param aErrorCode The error code returned from the completion of the
-     * launch request.
-     * @return Pointer to the session object.
-     */
-    void Complete(TInt aErrorCode);
-     
-public: //Accessor methods
-
-    /**
-     * Retrieve the IPC message
-     * @return RMessage2&    The IPC message contained in the Info structure
-     *
-     */
-    RMessage2&   IPCMessage();
-    
-    /**
-     * Retrieve the offset of the TSglQueLink member.
-     * This offset value is needed by the TSglQue to maintain and
-     * manipulate the Linked List.
-     *
-     * @since S60 v3.1
-     * @return Offset value of iNext member in this class.
-     */
-    static TInt QueLinkOffset();
-    
-    /**
-     * Retrieve the session object through which this Request was sent.
-     *
-     * @since S60 v3.1
-     * @return Pointer to the session object.
-     */
-    CSession2* Session() const;
-
-    /**
-     * Retrieve the Settings UI UID for which launch 
-     * is requested.
-     *
-     * @since S60 v3.1
-     * @return The UID value for the requested Settings UI.
-     */
-    TUid SettingsUID() const;
-
-    /**
-     * Retrieve the Settings UI Launch Parameters.
-     *
-     * @since S60 v9.2
-     * @return The Int Launch parameters for the Settings UI
-     */
-    TInt SettingsUIIntParams();
-
-    /**
-     * Retrieve the Settings UI Launch String Parameters.
-     *
-     * @since S60 v9.2
-     * @return The String Launch parameters for the Settings UI
-     */
-    TPtrC SettingsUIStringParamsL();
-
-private:
-    /**
-     * Constructor
-     */
-    CLocSettingsUIInfo(const RMessage2 &aMessage );
-
-    /**
-     * Symbian 2nd Phase Constructor
-     * Leaves in case of Error.
-     *
-     * @since S60 v3.1
-     * @return None
-     */
-    void ConstructL();
-
-private: // data
-
-    /**
-     * The data member contains the RMessage2 IPC message that was received
-     * from the Client
-     */
-    RMessage2   iReqMsg;  
-
-    /**
-     * The Settings UI launch string parameters.
-     */
-    HBufC* iParamsString;
-
-    /**
-     * The Single Queue Link Object.
-     */
-    TSglQueLink iNext;
-    };
-
-#endif // C_LOCSETTINGSUIINFO_H
--- a/locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/inc/locsettingsuilaunchao.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,228 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  The declaration for Settings Launch AO class of Location
-*                Settings UI Server
-*
-*/
-
-
-#ifndef C_LOCSETTINGSUILAUNCHAO_H
-#define C_LOCSETTINGSUILAUNCHAO_H
-
-#include <e32base.h>
-#include <e32std.h> //For TSglQue
-
-#include "locsettingsuiinfo.h"
-#include "locationui.h"
-
-//Forward Declaration
-class CLocSysUiEngine;
-class CEikonEnv;
-class CActiveSchedulerWait;
-/**
- *  The Settings UI Launch class.
- *
- *  This class interacts with the LocationSysUi engine interface
- *  to execute the requested settings UI.
- *  It maintains a queue of all the requests and schedules them
- *  to execute in a serialized manner.
- *
- *  @lib
- *  @since S60 v3.1
- */
-class CLocSettingsUISrvLaunchAO : public CActive,
-                                  public MLocationUIObserver
-    {
-public:
-    /**
-     * Symbian 2 Phase Constructor
-     *
-     * @since S60 v3.1
-     * @return A pointer to the created CLocSettingsUISrvLaunchAO object
-     */
-    static CLocSettingsUISrvLaunchAO* NewL();
-
-    /**
-     * Symbian 2 Phase Constructor
-     *
-     * @since S60 v3.1
-     * @return A pointer to the created CLocSettingsUISrvLaunchAO object
-     */
-    static CLocSettingsUISrvLaunchAO* NewLC();
-
-    /**
-     * Destructor
-     */
-    virtual ~CLocSettingsUISrvLaunchAO();
-
-public:
-    /**
-     * Enqueue the Settings UI launch request.
-     *
-     * @since S60 v3.1
-     * @param aReqInfo Pointer to the Settings UI Request Info class which
-     * contains all the information needed to launch the settings UI.
-     * @return None
-     */
-    void EnqueueRequest( CLocSettingsUIInfo* aReqInfo );
-
-    /**
-     * Cancel the launched Settings UI.
-     * Checks if the UI to be cancelled is in the queue. If so the item
-     * is removed from the queue. Otherwise if the setitngs UI is currently
-     * running then it is cancelled and then removed.
-     *
-     * @since S60 v3.1
-     * @param aSession The pointer to the session from which the settings UI
-     * launch was requested.
-     * @return None
-     */
-    void CancelRequest( const CSession2* aSession );
-
-    /**
-     * Returns whether the server is running in embedded application server
-     * mode or not.
-     *
-     * @since S60 v3.1
-     * @return ETrue if running in embedded application server mode. EFalse
-     * otherwise.
-     */
-    TBool IsSrvRunningAsEmbeddedApp() const;
-
-    /**
-     * From Base class MLocationUIObserver
-     * Notifies the termination of the Settings UI
-     *
-     * @param aErrorCode The termination reason. KErrNone for normal 
-     *					 terminations. In case of error or pre-mature
-     *					 aborting System wide Error codes.
-     */
-    virtual void LocationUIDismissed( TInt aErrorCode );
-
-protected: // Functions from base classes
-    /**
-     * From Base class CActive 
-     * Handles asynchronous request completion.
-     */
-    virtual void RunL();
-
-    /**
-     * From Base class CActive 
-     * Cancels any outstanding request.
-     */
-    virtual void DoCancel();
-
-    /**
-     * From Base class CActive 
-     * Handles a leave in RunL.
-     *
-     * @param aError The RunL leave code.
-     * @return Always KErrNone, because all errors are handled
-     */
-    virtual TInt RunError(TInt aError);
-
-private:
-    /**
-     * Constructor
-     */
-    CLocSettingsUISrvLaunchAO();
-
-    /**
-     * Symbian 2nd Phase Constructor
-     * Leaves in case of Error.
-     *
-     * @since S60 v3.1
-     * @return None
-     */
-    void ConstructL();
-
-private: // Helper methods
-    /**
-     * Complete the specified request.
-     * Deques the request from the queue and also updates the request count.
-     *
-     * @since S60 v3.1
-     * @param aReq pointer to the request to be completed and dequeued.
-     * @param aErrorCode the error code to be returned to the client that
-     * originated the request.
-     * @return None
-     */
-    void CompleteRequest( CLocSettingsUIInfo* aReq, TInt aErrorCode );
-    
-    /**
-     * Sends the Applicaiton Server UI to Background and hides it from
-     * the FSW as well.
-     *
-     * @since S60 v3.1
-     * @return None
-     */
-    void SendAppToBackground();
-
-    /**
-     * Brings the Application Server UI to Foreground and enables it in
-     * the FSW as well.
-     *
-     * @since S60 v3.1
-     * @return None
-     */
-    void BringAppToForeground();
-    
-    /**
-     * Since this Active Object is a dummy object we have to reschedule
-     * it to run when ever needed. This method does that functionality.
-     * mode or not.
-     *
-     * @since S60 v3.1
-     * @return None
-     */
-    void ScheduleAORun();
-
-private: // data
-
-    /**
-     * This data member maintains a list of all the Launch Requests.
-     */
-    TSglQue<CLocSettingsUIInfo> iRequestQue;
-
-    /**
-     * The Engine Interface for launching Settings UI.
-     * Does not own. Just for reference.
-     * Will be created in this class and then ownership will be transferred
-     * to the Document class.
-     */
-    CLocSysUiEngine* iEngine;
-
-    /**
-     * Reference to the Eikon Environment.
-     * It is accessed multiple times. Hence Stored here to prevent
-     * unnecessary access each time to the TLS.
-     */
-    CEikonEnv* iEikEnv;
-    
-    /**
-     * Determines whether this server is running as an embedded application
-     * server.
-     */
-    TBool iIsSrvRunningAsEmbeddedApp;
-    
-    /**
-     * Reference to the Location UI that is currently outstanding.
-     * At any instant of time there can be only one request outstanding.
-     * Incase, there are no requests outstanding then the value is set to
-     * NULL.
-     */
-    MLocationUI*        iLocationUI;
-    };
-
-#endif // C_LOCSETTINGSUILAUNCHAO_H
--- a/locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/inc/locsettingsuilaunchmgr.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@
-/*
-* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  The declaration for Settings Launch Manager class of Location
-*                Settings UI Server
-*
-*/
-
-
-#ifndef C_LOCSETTINGSUILAUNCHMGR_H
-#define C_LOCSETTINGSUILAUNCHMGR_H
-
-#include<coemain.h>
-
-//Forward declarations
-class CLocSettingsUISrvLaunchAO;
-
-/**
- *  The Settings UI Launch Management class.
- *  This class is a Singleton. Session objects enqueue the requests
- *  to CLocSettingsUILaunchAO object through this Singleton.
- *
- *  @lib
- *  @since S60 v3.1
- */
-class CLocSettingsUILaunchMgr : public CCoeStatic
-    {
-public:
-    /**
-     * Factory Method to create the Singleton.
-     *
-     * @since S60 v3.1
-     * @return A pointer to the created CLocSettingsUILaunchMgr object
-     */
-    static CLocSettingsUILaunchMgr* InstanceL();
-
-public:
-    /**
-     * Enqueue the Settings UI launch request.
-     *
-     * @since S60 v3.1
-     * @param aMessage The Request IPC message from the Client.
-     */
-    void EnqueueRequestL( const RMessage2& aMessage );
-
-    /**
-     * Cancel the launched Settings UI request.
-     *
-     * @since S60 v3.1
-     * @param aSession Pointer to the session that launched the settings UI
-     * to be cancelled.
-     */
-    void CancelRequest( const CSession2* aSession );
-
-    /**
-     * Close the currently running Settings UI.
-     * Needed when the Settings UI issues a EEikCmdExit which needs to be
-     * handled in the Server App UI
-     *
-     * @since S60 v3.1
-     * @param aErrorCode The error code to send to the Client
-     */
-    void CloseRunningSettingsUi(TInt aErrorCode);
-
-private:
-    /**
-     * Constructor
-     */
-    CLocSettingsUILaunchMgr();
-
-    /**
-     * Destructor
-     */
-    virtual ~CLocSettingsUILaunchMgr();
-
-    /**
-     * Symbian 2nd Phase Constructor
-     * Leaves in case of Error.
-     *
-     * @since S60 v3.1
-     * @return None
-     */
-    void ConstructL();
-
-private: // data
-    /**
-     * The Active Object which launches the Setitngs UI and monitors the
-     * actions.
-     */
-    CLocSettingsUISrvLaunchAO* iLauncher;
-    };
-
-#endif // C_LOCSETTINGSUILAUNCHMGR_H
--- a/locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/inc/locsettingsuiserverinterface.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
-* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Interface header for the Location Settings Ui server
-*
-*/
-
-
-#ifndef R_LOCSETTINGSUISERVERINTERFACE_H
-#define R_LOCSETTINGSUISERVERINTERFACE_H
-
-/**
- * Server Name
- */
- _LIT( KLocSettingsUiServerName, "!LocSettingsUiServer" );
-
-/**
- * Server exe
- */
- _LIT( KLocSettingsUiServerExe, "locsettingsuiserver" );
- 
-/** 
- * Server UID
- */
- const TInt  KLocSettingsUiServerUid    = 0x10281861;
- 
-/**
- * Service UID
- */
- const TInt  KLocSettingsUiServiceId    = 0x10281862;
- 
-/**
- * Message Types
- */
- enum TLocSettingsUiMsgType
-    {
-    // Using a random value. Just to avoid clashing with the Server message
-    // types
-    ELaunchSettings = 0x1000,
-    ELaunchSettingsWithString,
-    ECancelSettings,
-    ELaunchPosSettings,
-    ECancelPosSettings    
-    };
-  
-/**
- * parameter Slots in a IPC message
- */
- enum TLocSettingsUiSrvParams
-    {
-    KSettingsUID = 0,
-    KSettingsUIParam
-    };
-
-/**
- * Number of Message slots
- */ 
- const TInt KDefaultMessageSlots = 4;
-
-/**
- * Location UI Server Panic Text
- */
- _LIT( KLocSettingsUIPanicTxt, "Location Settings UI Server" );
-
-/** 
- * Server Panic Codes
- */
- enum TLocSetitngsUiPanicCodes
-    {
-    ELocSettingsUiSrvInvalidArguments = 1,
-    ELocSettingsUiSrvUnknownMessage,
-    ELocSettingsUiSrvBadDescriptor
-    };
- 
-#endif // R_LOCSETTINGSUISERVERINTERFACE_H
--- a/locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/inc/locsettingsuiservice.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,121 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  The declaration for Service class of Location Settings UI 
-*                Server
-*
-*/
-
-
-#ifndef C_LOCSETTINGSUISERVICE_H
-#define C_LOCSETTINGSUISERVICE_H
-
-#include <AknServerApp.h>
-
-/**
- *  The service class for Location Settings UI Application Server.
- *
- *  The Service class receives requests from the clients. It
- *  processes these requests to provide the Settings UI Launch
- *  service.
- *
- *  @lib 
- *  @since S60 v3.1
- */
-NONSHARABLE_CLASS(CLocSettingsUIService) : public CAknAppServiceBase
-    {
-public:
-    /**
-     * Constructor
-     */
-    CLocSettingsUIService();
-
-    /**
-     * Destructor
-     */
-    virtual ~CLocSettingsUIService();
-
-public:
-    /**
-     * Override of CAknAppServiceBase
-     * This function must base-call CAknAppServiceBase::CreateL()
-     *
-     * @param None.
-     * @return None.
-     */
-    void CreateL();
-    
-    /**
-     * Override of CAknAppServiceBase
-     * This function must base-call CAknAppServiceBase::ServiceL()
-     *
-     * @param aMessage The client message
-     * @return None.
-     */
-    void ServiceL(const RMessage2& aMessage);
-
-    /**
-     * Override of CAknAppServiceBase
-     * This function must base-call CAknAppServiceBase::ServiceError()
-     *
-     * @param aMessage The client message.
-     * @param aError The error code to which occured during message servicing
-     * @return None.
-     */
-    void ServiceError(const RMessage2& aMessage,TInt aError);
-
-    /**
-     * Override of CApaAppServiceBase
-     * This method is called for every request.
-     * This method checks whether the client has the neccessary
-     * permission to execute this request.
-     *
-     * @param aMessage The client message.
-     * @param aAction The Action to be taken if the security check fails.
-     * This is typically a value from TFailureAction.
-     * @param aMissing A reference to the list of security attributes missing
-     * from the checked process.  The policy server initialises this
-     * object to zero (that is a sid of 0, a vid of 0, and no capabilities).
-     * If derived implementations wish to take advantage of a list of
-     * missing attributes in their implementation of CustomFailureActionL(),
-     * then they should set those missing attributes here in
-     * CustomSecurityCheckL().
-     * @return A value from CPolicyServer::TCustomResult.
-     */
-	
-	CPolicyServer::TCustomResult SecurityCheckL(const RMessage2& aMessage,
-	                                            TInt& aAction,
-	                                            TSecurityInfo& aMissing);
-    
-private: // Helper methods
-    /**
-     * This is a helper method to determine whether the passed parameters are
-     * valid or not.
-     *
-     * @param aSettingsUid The UID value for the settings UI.
-     * @param aParams The opaque paramters that are passed from the client
-     * to the Settings UI.
-     * @return Etrue if the parameters valid. EFalse otherwise.
-     */
-    TBool IsLaunchParamsValid(      TInt aSettingsUid,
-                              const TInt aParams);
-
-private: // data
-    /**
-     * Boolean to indicate whether a Settings UI has been launched from this
-     * session object or not.
-     */
-    TBool iSettingsUILaunched;
-    };
-
-#endif // C_LOCSETTINGSUISERVICE_H
--- a/locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/inc/locsettingsuisrvapplication.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  The declaration for application class of Location Settings UI
-*                Server
-*
-*/
-
-
-#ifndef C_LOCSETTINGSUISRVAPP_H
-#define C_LOCSETTINGSUISRVAPP_H
-
-#include <aknapp.h>
-
-//Forward declarations
-class CApaAppServer;
-class CApaDocument;
-
-/**
- *  The Application class for the Location Settings UI Application Server.
- *  It is responsible for creating an instance of the Server class.
- *
- *  @lib
- *  @since S60 v3.1
- */
-NONSHARABLE_CLASS(CLocSettingsUISrvApp) : public CAknApplication
-    {
-public:
-    /**
-     * From Base class CApaApplication
-     * Creates an instance of the server class CLocSettingsUIAppServer
-     * @param aAppServer The server pointer to be set to the allocated
-     * server object.
-     * @return None
-     */
-    virtual void NewAppServerL(CApaAppServer*& aAppServer);
-    
-    /**
-     * Destructor
-     */
-    virtual ~CLocSettingsUISrvApp();
-
-protected:
-    /**
-     * From Base class CApaApplication
-     * Creates CLocSettingsUISrvDocument document object.
-     * @return A pointer to the created document object.
-     */
-    virtual CApaDocument* CreateDocumentL();
-    
-    /**
-     * From Base class CApaApplication
-     * returns application's UID (KUidlocation).
-     * @return The value of KUidlocation.
-     */
-    virtual TUid AppDllUid() const;
-    
-private: // member data
-    /** Own:
-     * When the Server is not running in embedded mode,
-     * the framework doesn't instantiate the server class.
-     */
-    CApaAppServer* iAppServer;
-    };
-
-#endif // C_LOCSETTINGSUISRVAPPLICATION_H
--- a/locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/inc/locsettingsuisrvappui.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  The declaration for AppUi class of Settings UI Server
-*
-*/
-
-
-#ifndef C_LOCSETTINGSUISRVAPPUI_H
-#define C_LOCSETTINGSUISRVAPPUI_H
-
-#include <aknViewAppUi.h>
-
-/**
- *  The AppUi class for the Location Settings UI Application Server.
- *
- *  @lib 
- *  @since S60 v3.1
- */
-NONSHARABLE_CLASS(CLocSettingsUISrvAppUi) : public CAknViewAppUi
-    {
-public:
-    /**
-     * Destructor
-     */
-    virtual ~CLocSettingsUISrvAppUi();
-
-    /**
-     * Constructor
-     */
-    CLocSettingsUISrvAppUi();
-
-    /**
-     * Symbian 2nd Phase Constructor
-     * Leaves in case of Error. Will be called by Framework.
-     * Hence there is no 2 Phase Constructor. Also the ConstructL
-     * has to be kept public.
-     *
-     * @since S60 v3.1
-     * @return None
-     */
-    void ConstructL();
-    
-    /**
-     * Exposes the Full Screen application setting
-     */
-    void SetFullScreenState( TBool aFullScreenState );
-    
-protected:
-
-    /**
-     * from base class CEikAppUi
-     * Overriding the base class implementation to implement Exit
-     * functionality.
-     *
-     * @since S60 v3.1
-     * @param aCommand the Command Id of the command to be executed.
-     * @returns None
-     */
-    virtual void HandleCommandL(TInt aCommand);
-    };
-
-#endif // C_LOCSETTINGSUISRVAPPUI_H
--- a/locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/inc/locsettingsuisrvdocument.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  The declaration for document class of Settings UI Server
-*
-*/
-
-
-#ifndef C_LOCSETTINGSUIDOC_H
-#define C_LOCSETTINGSUIDOC_H
-
-#include <AknDoc.h>
-#include <eikapp.h>
-
-//Forward declarations
-class CEikAppUi;
-class CLocSysUiEngine;
-
-
-/**
- *  The Document class for Location Settings UI Application Server
- *
- *  @lib 
- *  @since S60 v3.1
- */
-NONSHARABLE_CLASS(CLocSettingsUISrvDoc) : public CAknDocument
-    {
-public:
-    /**
-     * Constructor
-     *
-     * @since S60 v3.1
-     * @param aApp Reference to the CEikApplication object that is creating
-     * this document class instance.
-     * @return None
-     */
-    CLocSettingsUISrvDoc(CEikApplication &aApp);
-
-    /**
-     * Destructor
-     */
-    virtual ~CLocSettingsUISrvDoc();
-    
-    /**
-     * Set the Engine Instance
-     * Once set the ownership is transferred to the AppUi.
-     *
-     * @since S60 v3.1
-     * @param Pointer to the instance of the Engine.
-     * @return None
-     */
-    void SetEngineInstance(CLocSysUiEngine* aEngine);
-    
-    /**
-     * Accessor method to get the Engine Instance
-     * 
-     *
-     * @since S60 v3.1
-     * @return Pointer to the Engine Instance.
-     */
-    CLocSysUiEngine* Engine();
-    
-protected:
-    /**
-     * method to create AppUi object.
-     * The AppUi object returned is partially constructed. The Framework
-     * will call the ConstructL on AppUi object.
-     *
-     * @since S60 v3.1
-     * @param None
-     * @return An Instance of the AppUi class.
-     */
-    CEikAppUi* CreateAppUiL();
-
-private: // data
-    /**
-     * The Engine instance created by the CLocSettingsUISrvLaunchAO.
-     * It is stored in the Document class since the destruction of the 
-     * Engine needs to be delayed.
-     * Owns
-     */
-    CLocSysUiEngine* iEngine;
-    };
-
-#endif // C_LOCSETTINGSUIDOC_H
--- a/locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/inc/locsettingsuisrvshutdowntimer.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  The declaration for Shutdown Timer class of Location Settings
-*                UI Server
-*
-*/
-
-
-#ifndef C_LOCSETTINGSUISRVSHUTDOWN_H
-#define C_LOCSETTINGSUISRVSHUTDOWN_H
-
-
-#include <e32std.h>
-#include <e32base.h>
-
-/**
- *  The Server Shutdown Timer class.
- *
- *  This class provides the timer functionality to shutdown the 
- *  Location Settings UI Server.
- *
- *  @lib 
- *  @since S60 v3.1
- */
-NONSHARABLE_CLASS(CLocSettingsUISrvShutdown) : public CActive
-    {
-public:
-    /**
-     * Symbian 2 Phase Constructor
-     *
-     * @since S60 v3.1
-     * @return A pointer to the created CLocSettingsUISrvShutdown
-     * object
-     */
-    static CLocSettingsUISrvShutdown* NewL();
-
-    /**
-     * Destructor
-     */
-    virtual ~CLocSettingsUISrvShutdown();
-
-public:
-    /**
-     * Starts the Shutdown Timer.
-     * Since it uses an Asynchronous Timer the callback will be
-     * received in the RunL.
-     *
-     * @since S60 v3.1
-     */
-    void Start();
-    
-protected: // Functions from base class CActive
-
-   /**
-    * From CActive Handles asynchronous request completion.
-    */
-    void RunL();
-
-   /**
-    * From CActive Cancels any outstanding request.
-    */
-    void DoCancel();
-
-   /**
-    * From CActive Handles a leave in RunL.
-	*
-    * @param aError The RunL leave code.
-    * @return Always KErrNone, because all errors are handled
-    */
-    TInt RunError(TInt aError);
-
-private:
-    /**
-     * Constructor
-     */
-    CLocSettingsUISrvShutdown();
-
-    /**
-     * Symbian 2nd Phase Constructor
-     * Leaves in case of Error.
-     *
-     * @since S60 v3.1
-     * @return None
-     */
-    void ConstructL();
-
-
-private: // data
-    /**
-     * The Timer object
-     */
-    RTimer iTimer;
-    };
-
-#endif // C_LOCSETTINGSUISRVSHUTDOWN_H
--- a/locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/inc/locsettingsuisrvuid.hrh	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Contains the UID3 value to be used for the Location Settings UI
-*                Server
-*
-*/
-
-#ifndef LOCSETTINGSUISRVUID_HRH
-#define LOCSETTINGSUISRVUID_HRH
-
-// Location Settings UI Server UID3
-#define LOCSETTINGSUISERVER_UID3          0x10281861
-
-// Location Settings UI Server Service UID
-#define LOCSETTINGSUISERVICEUID          	0x10281862
-
-#endif      // LOCSETTINGSUISRVUID_HRH
-
-// End of File
-
-
--- a/locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/src/locsettingsuiappserver.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,118 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  The implementation for AppServer class of Location Settings 
-*                UI Server
-*
-*/
-
-
-#include <apaserverapp.h>
-#include <eikappui.h>
-#include <aknViewAppUi.h>
-#include <eikenv.h>
-#include <aknappui.h>
-#include <apgwgnam.h>
-
-#include "locsettingsuiappserver.h"
-#include "locsettingsuiserverinterface.h"
-#include "locsettingsuilaunchmgr.h"
-#include "locsettingsuiservice.h"
-#include "locsettingsuisrvshutdowntimer.h"
-#include "locsettingsuisrvappui.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUIAppServer::CLocSettingsUIAppServer()
-// ---------------------------------------------------------------------------
-//
-CLocSettingsUIAppServer::CLocSettingsUIAppServer()
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUIAppServer::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CLocSettingsUIAppServer::ConstructL(const TDesC& aFixedServerName)
-    {
-    iShutdownTimer = CLocSettingsUISrvShutdown::NewL();
-    // Base Call and pass the Server Name to be used.
-    // Will be called by Framework. Not needed here.
-    CAknAppServer::ConstructL(aFixedServerName);
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUIAppServer::CLocSettingsUIAppServer()
-// ---------------------------------------------------------------------------
-//
-CLocSettingsUIAppServer::~CLocSettingsUIAppServer()
-    {
-    delete iShutdownTimer;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUIAppServer::CancelShutdownTimer()
-// ---------------------------------------------------------------------------
-//
-void CLocSettingsUIAppServer::CancelShutdownTimer()
-    {
-    iShutdownTimer->Cancel();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUIAppServer::CreateServiceL
-// ---------------------------------------------------------------------------
-//
-CApaAppServiceBase* CLocSettingsUIAppServer::CreateServiceL(
-    TUid aServiceType) const
-    {
-    if (KLocSettingsUiServiceId == aServiceType.iUid)
-        {
-        return new(ELeave) CLocSettingsUIService;
-        }
-        
-    return CAknAppServer::CreateServiceL(aServiceType);
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUIAppServer::HandleAllClientsClosed()
-// ---------------------------------------------------------------------------
-//
-void CLocSettingsUIAppServer::HandleAllClientsClosed()
-    {
-    // The default behaviour is to close server immediately.
-    // This is what we want when the server is running as Embedded Application.
-    // But when the server is processing Framework request, we need to run
-    // a shutdown timer. When the Timer expires, the server is closed.
-    // In case a new request comes in before the timer expires, the timer is
-    // cancelled.
-    if ( CEikonEnv::Static()->StartedAsServerApp() )
-        {
-        // If running as embedded application server then stop immediately.
-        CActiveScheduler::Stop();
-        }
-    else
-        {
-        iShutdownTimer->Start();
-        }
-    }
-
-
-// End of file
--- a/locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/src/locsettingsuiinfo.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,179 +0,0 @@
-/*
-* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  The implementation of Info class of Location Settings UI 
-*                Server
-*
-*/
-
-
-#include <e32base.h>
-
-#include "locsettingsuiinfo.h"
-#include "locsettingsuiserverinterface.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUIInfo::NewL()
-// ---------------------------------------------------------------------------
-//
-CLocSettingsUIInfo* CLocSettingsUIInfo::NewL(
-    const RMessage2&    aMessage )
-    {
-    CLocSettingsUIInfo* self = NewLC( aMessage );
-    CleanupStack::Pop( self );
-    return self;    
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUIInfo::NewLC()
-// ---------------------------------------------------------------------------
-//
-CLocSettingsUIInfo* CLocSettingsUIInfo::NewLC(
-    const RMessage2&    aMessage )
-    {
-    CLocSettingsUIInfo* self = new( ELeave ) CLocSettingsUIInfo( aMessage );
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;    
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUIInfo::~CLocSettingsUIInfo()
-// ---------------------------------------------------------------------------
-//
-CLocSettingsUIInfo::~CLocSettingsUIInfo()
-    {
-    delete iParamsString;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUIInfo::Complete(TInt aErrorCode)
-// ---------------------------------------------------------------------------
-//
-void CLocSettingsUIInfo::Complete( TInt aErrorCode )
-    {
-    if (!iReqMsg.IsNull())
-        {
-        iReqMsg.Complete(aErrorCode);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// RMessage2&   CLocSettingsUIInfo::IPCMessage()
-// ---------------------------------------------------------------------------
-//
-RMessage2&   CLocSettingsUIInfo::IPCMessage()
-    {
-    return iReqMsg;
-    }
-    
-// ---------------------------------------------------------------------------
-// CLocSettingsUIInfo::QueLinkOffset()
-// ---------------------------------------------------------------------------
-//
-TInt CLocSettingsUIInfo::QueLinkOffset()
-    {
-    return _FOFF(CLocSettingsUIInfo, iNext);
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUIInfo::Session()
-// Accessor Method
-// ---------------------------------------------------------------------------
-//
-CSession2* CLocSettingsUIInfo::Session() const
-    {
-    return iReqMsg.Session();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUIInfo::SettingsUID()
-// Accessor Method
-// ---------------------------------------------------------------------------
-//
-TUid CLocSettingsUIInfo::SettingsUID() const
-    {
-    return TUid::Uid(iReqMsg.Int0());
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUIInfo::SettingsUIIntParams()
-// Accessor Method
-// ---------------------------------------------------------------------------
-//
-TInt CLocSettingsUIInfo::SettingsUIIntParams()
-    {
-    if( IPCMessage().Function() == ELaunchSettings )
-        return iReqMsg.Int1();
-    else
-        return 0;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUIInfo::SettingsUIStringParamsL()
-// Accessor Method
-// ---------------------------------------------------------------------------
-//
-TPtrC CLocSettingsUIInfo::SettingsUIStringParamsL()
-    {
-    if( IPCMessage().Function() == ELaunchSettingsWithString &&
-            0 != iReqMsg.Ptr1(), NULL != iReqMsg.Ptr2() )
-        {
-        delete iParamsString;
-        iParamsString = NULL;
-        
-        TInt length = iReqMsg.Int1();
-        iParamsString = HBufC::NewL(length);
-        TPtr ptr = iParamsString->Des();
-        iReqMsg.ReadL(2, ptr);
-        return *iParamsString;
-        }
-    else
-        return KNullDesC();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUIInfo::CLocSettingsUIInfo(const RMessage2 &aMessage)
-// ---------------------------------------------------------------------------
-//
-CLocSettingsUIInfo::CLocSettingsUIInfo(
-    const RMessage2&    aMessage )
-    {
-    // From now on both of these are owned by this class.
-    iReqMsg = aMessage;
-    }
-    
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUIInfo::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CLocSettingsUIInfo::ConstructL()
-    {
-    // Left empty intentionally.
-    }
-
-
-// End of file
-    
-
--- a/locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/src/locsettingsuilaunchao.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,506 +0,0 @@
-/*
-* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  The implementation of Launch Active Object class of Location 
-*                Settings UI Server
-*
-*/
-
-
-#include <aknViewAppUi.h>
-
-#include "locsettingsuilaunchao.h"
-#include "locsysuiengine.h"
-#include "locsettingsuisrvappui.h"
-#include "locsettingsuisrvdocument.h"
-#include "locationui.h"
-#include "locsettingsuiserverinterface.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUISrvLaunchAO::NewL()
-// ---------------------------------------------------------------------------
-//
-CLocSettingsUISrvLaunchAO* CLocSettingsUISrvLaunchAO::NewL()
-    {
-    CLocSettingsUISrvLaunchAO* self = NewLC();
-    CleanupStack::Pop(self);
-    return self;    
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUISrvLaunchAO::NewLC()
-// ---------------------------------------------------------------------------
-//
-CLocSettingsUISrvLaunchAO* CLocSettingsUISrvLaunchAO::NewLC()
-    {
-    CLocSettingsUISrvLaunchAO* self = new(ELeave) CLocSettingsUISrvLaunchAO;
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;    
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUISrvLaunchAO::~CLocSettingsUISrvLaunchAO()
-// ---------------------------------------------------------------------------
-//
-CLocSettingsUISrvLaunchAO::~CLocSettingsUISrvLaunchAO()
-    {
-    // Deque request queue and send KErrServerTerminated Message for every
-    // request.
-    TSglQueIter<CLocSettingsUIInfo> iter(iRequestQue);
-    CLocSettingsUIInfo* tmp = iter++;
-    while( tmp )
-        {
-        // Complete each message with KErrServerTerminated
-        // deque and delete them.
-        CompleteRequest(tmp, KErrServerTerminated);
-        tmp = iter++;
-        }
-    // The Engine reference will be deleted in the document class destructor
-    // and should not be deleted here.
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUISrvLaunchAO::EnqueueRequest( CLocSettingsUIInfo& aReqInfo )
-// ---------------------------------------------------------------------------
-//
-void CLocSettingsUISrvLaunchAO::EnqueueRequest( CLocSettingsUIInfo* aReqInfo )
-    {
-    // Enque the request and set the active object to active state if
-    // it is already not active.
-    TBool listWasEmpty = iRequestQue.IsEmpty();
-    iRequestQue.AddLast(*aReqInfo);
-    // If this is the first request in the queue then trigger the Active Object
-    // to Run. This is the only scenario where we want to trigger the 
-    // Active Object from this method. In all other cases we will trigger the
-    // Run from the Cancel method or the SettingsClosed method.
-    if ( listWasEmpty && !IsActive() )
-        {
-        ScheduleAORun();
-        // Bring the Application UI to foreground.
-        BringAppToForeground();
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUISrvLaunchAO::CancelRequest( const CSession2* aSession )
-// ---------------------------------------------------------------------------
-//
-void CLocSettingsUISrvLaunchAO::CancelRequest( const CSession2* aSession )
-    {
-    // Sanity Check the Request Queue
-    if (iRequestQue.IsEmpty())
-        {
-        // Nothing to do if the request queue is empty.
-        return;
-        }
-    // There are 2 cases here
-    // 1. The Settings UI is currently running. In this case this Active 
-    //    Object's cancel needs to be called and then the request needs
-    //    to be dequeued in RunL when KErrCancel is obtained.
-    // 2. The Settings UI is enqueued in the Request Queue. Here the 
-    //    request needs to be dequeued and just responded with KErrCancel.
-    CLocSettingsUIInfo* req = iRequestQue.First();
-    if (req->Session() == aSession)
-        {
-        // Found the Settings UI and it is currently running.
-        // Call Cancel. The request will be dequeued once the Cancel
-        // Synchronous call is completed.
-        // The RunL is usaually completed by the time the cancel comes. So the
-        // Active Object is not necessarily Active. hence the call to Cancel
-        // will fail. Instead we can directly call the DoCancel here.
-        DoCancel();
-        // In case there are more requests in the queue set this Active Object
-        // to active state so that the next request will be processed.
-        if (!iRequestQue.IsEmpty())
-            {
-            ScheduleAORun();
-            }
-        else
-            {
-            // Since there are no more requests to process let us go into
-            // background. We won't wait till the client sessions are closed
-            // because sometimes the client might have a UI response mechanism
-            // or might even keep the session object till the end.
-            SendAppToBackground();
-            }
-        }
-    else
-        {
-        // Search the whole Queue.
-        TSglQueIter<CLocSettingsUIInfo> iter(iRequestQue);
-        CLocSettingsUIInfo* tmp = iter++;
-        while( tmp )
-            {
-            if (tmp->Session() == aSession)
-                {
-                // Found the Settings UI. Complete the message with
-                // KErrCancel and deque this from the Queue.
-                CompleteRequest(tmp, KErrCancel);
-                break;
-                }
-            tmp = iter++;
-            }
-        }
-    return;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUISrvLaunchAO::IsSrvRunningAsEmbeddedApp()
-// ---------------------------------------------------------------------------
-//
-TBool CLocSettingsUISrvLaunchAO::IsSrvRunningAsEmbeddedApp() const
-    {
-    return iIsSrvRunningAsEmbeddedApp;
-    }
-
-
-// ---------------------------------------------------------------------------
-// From Base class MLocationUIObserver
-// CLocSettingsUISrvLaunchAO::LocationUIDismissed(TInt aErrorCode)
-// ---------------------------------------------------------------------------
-//
-void CLocSettingsUISrvLaunchAO::LocationUIDismissed( TInt aErrorCode )
-    {
-    CLocSettingsUIInfo* req = iRequestQue.First();
-    CompleteRequest(req, aErrorCode);
-    
-    // The request has been completed. Hence, assign it to NULL
-    iLocationUI = NULL;
-    
-    //Check if more requests are queued.
-    if ( !iRequestQue.IsEmpty() )
-        {
-        // Set this Active Object to Active State, so that the next request
-        // will be processed in the RunL.
-        ScheduleAORun();
-        }
-    else
-        {
-        // Since there are no more requests to process let us go into
-        // background. We won't wait till the client sessions are closed
-        // because sometimes the client might have a UI response mechanism
-        // or might even keep the session object till the end.
-        SendAppToBackground();
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// From Base class CActive
-// CLocSettingsUISrvLaunchAO::RunL()
-// 
-// Once the first request gets queued we get to this RunL execution.
-// ---------------------------------------------------------------------------
-//
-void CLocSettingsUISrvLaunchAO::RunL()
-    {
-    if ( !iEngine )
-        {
-        // The Engine is created here and then ownership is passed to the
-        // Document class. There are 2 reasons for this,
-        // 1. The Engine needs to be created late because it takes a AppUi
-        //    parameter. Hence it has to be delayed till the AppUi is
-        //    created. Also this class needs to add itself as the Observer
-        //    for the Engine. hence this place is logically correct to
-        //    create the Engine class.
-        //
-        // 2. The Engine class destruction needs to be delayed till the AppUi
-        //    is destructed since the CAknViewAppUi calls view deactivate at
-        //    that stage. When the CLocSysUiEngine is deleted then it frees all
-        //    the ECOM implementation as well. So for view based plugins the
-        //    AppUi deactivate after Engine destruction will cause a 
-        //    KERN-EXEC 3. Hence we delay the destruction to the Document class
-        //    destructor.
-        // But still we maintain a local reference in this Launch class so that
-        // we don't need to access the document class everytime which result
-        // in a call to CEikonEnv::Static().
-        CLocSettingsUISrvAppUi* appUi = 
-                        static_cast<CLocSettingsUISrvAppUi*>
-                        (iEikEnv->EikAppUi());
-        
-        CLocSettingsUISrvDoc* doc =                         
-                    static_cast<CLocSettingsUISrvDoc*>
-                    (const_cast<CEikDocument*>(appUi->Document()));
-        
-        iEngine = CLocSysUiEngine::NewL(*appUi);
-        // HandOver the Engine Ownership to the Document class.
-        doc->SetEngineInstance(iEngine);
-        }
-
-    // Sanity check that there is atleast one request.
-    if ( !iRequestQue.IsEmpty() )
-        {
-        CLocSettingsUIInfo* req = iRequestQue.First();
-        
-        // Create the Location UI corresponding to the Location Request
-        switch( req->IPCMessage().Function())
-            {
-            case ELaunchSettingsWithString:
-                {
-                TRAPD(error, iLocationUI = iEngine->CreateLocationSubSettingsUIL(req->SettingsUID()););
-                // TRAP and check whether the error is KErrAlreadyExists.
-                // In this case we don't need to leave. For all other
-                // error cases we leave here which will reuslt in the RunError
-                // getting executed with the error code.
-                if ( error != KErrNone && error != KErrAlreadyExists )
-                    {
-                    User::Leave(error);
-                    }
-                    
-                // Set Full Screen App
-                CLocSettingsUISrvAppUi* appUi = static_cast<CLocSettingsUISrvAppUi *>( iEikEnv->AppUi());
-                appUi->SetFullScreenState( ETrue );
-                
-                // Launch the Location UI
-                iLocationUI->LaunchLocationUIL( req->SettingsUIStringParamsL(),
-                                                this );             
-                break;
-                }
-            case ELaunchSettings:
-                {
-                TRAPD(error, iLocationUI = iEngine->CreateLocationSubSettingsUIL(req->SettingsUID()););
-                // TRAP and check whether the error is KErrAlreadyExists.
-                // In this case we don't need to leave. For all other
-                // error cases we leave here which will reuslt in the RunError
-                // getting executed with the error code.
-                if ( error != KErrNone && error != KErrAlreadyExists )
-                    {
-                    User::Leave(error);
-                    }
-                    
-                // Set Full Screen App
-                CLocSettingsUISrvAppUi* appUi = static_cast<CLocSettingsUISrvAppUi *>( iEikEnv->AppUi());
-                appUi->SetFullScreenState( ETrue );
-                
-                // Launch the Location UI
-                iLocationUI->LaunchLocationUIL( req->SettingsUIIntParams(),
-                                                this );                
-                break;
-                }
-            case ELaunchPosSettings:
-                {
-                  TRAPD(error, iLocationUI = iEngine->CreatePositioningSettingsUIL(););
-                // TRAP and check whether the error is KErrAlreadyExists.
-                // In this case we don't need to leave. For all other
-                // error cases we leave here which will reuslt in the RunError
-                // getting executed with the error code.
-                if ( error != KErrNone )
-                    {
-                    User::Leave(error);
-                    }
-                    
-                // Set Full Screen App
-                CLocSettingsUISrvAppUi* appUi = static_cast<CLocSettingsUISrvAppUi *>( iEikEnv->AppUi());
-                appUi->SetFullScreenState( ETrue );
-                                    
-                // Launch the Location UI
-                iLocationUI->LaunchLocationUIL( 0, this );
-                break;               
-                }
-            default:
-                {
-                User::Leave( KErrNotSupported );
-                break;
-                }
-            }
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// From Base class CActive
-// CLocSettingsUISrvLaunchAO::DoCancel()
-// 
-// Once the first request gets queued we get to this RunL execution.
-// ---------------------------------------------------------------------------
-//
-void CLocSettingsUISrvLaunchAO::DoCancel()
-    {
-    // Set Full Screen App
-    CLocSettingsUISrvAppUi* appUi = static_cast<CLocSettingsUISrvAppUi *>( iEikEnv->AppUi());
-    appUi->SetFullScreenState( EFalse );
-                    
-        
-    // Call the LocSysUiEngine Interface to Cancel the launched Settings UI
-    CLocSettingsUIInfo* req = iRequestQue.First();
-    // The Location UI Close is a synchronous call.
-    iLocationUI->Close();
-    
-    // The UI request has been cancelled. Hence, setting the value to NULL
-    iLocationUI = NULL;
-        
-    // Deque the request and respond with the Error Code KErrCancel.
-    CompleteRequest(req, KErrCancel);
-    }
-
-
-// ---------------------------------------------------------------------------
-// From Base class CActive
-// CLocSettingsUISrvLaunchAO::RunError(TInt aError)
-// ---------------------------------------------------------------------------
-//
-TInt CLocSettingsUISrvLaunchAO::RunError(TInt aError)
-    {
-    // Set Full Screen App
-    CLocSettingsUISrvAppUi* appUi = static_cast<CLocSettingsUISrvAppUi *>( iEikEnv->AppUi());
-    appUi->SetFullScreenState( EFalse );                   
-                        
-    // No specific error scenario seen as of now. So doing the logical thing.
-    // Just complete the current reuqest with the returned error code.
-    CLocSettingsUIInfo* req = iRequestQue.First();
-    CompleteRequest(req, aError);
-    //Check if more requests are queued.
-    if (!iRequestQue.IsEmpty())
-        {
-        // Set this Active Object to Active State, so that the next request
-        // will be processed in the RunL.
-        ScheduleAORun();
-        }
-    else
-        {
-        // Since there are no more requests to process let us go into
-        // background. We won't wait till the client sessions are closed
-        // because sometimes the client might have a UI response mechanism
-        // or might even keep the session object till the end.
-        SendAppToBackground();
-        }
-    return KErrNone;
-    }    
-    
-// ---------------------------------------------------------------------------
-// CLocSettingsUISrvLaunchAO::CLocSettingsUISrvLaunchAO()
-// ---------------------------------------------------------------------------
-//
-CLocSettingsUISrvLaunchAO::CLocSettingsUISrvLaunchAO()
-    :CActive(EPriorityUserInput),
-     iRequestQue(CLocSettingsUIInfo::QueLinkOffset())
-    {
-    iEikEnv = CEikonEnv::Static();
-    iIsSrvRunningAsEmbeddedApp = iEikEnv->StartedAsServerApp();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUISrvLaunchAO::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CLocSettingsUISrvLaunchAO::ConstructL()
-    {
-    CActiveScheduler::Add(this);
-    }
-
-
-// ======== HELPER MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUISrvLaunchAO::CompleteRequest( CLocSettingsUIInfo* aReq,
-//                                             TInt aErrorCode )
-// ---------------------------------------------------------------------------
-//
-void CLocSettingsUISrvLaunchAO::CompleteRequest( 
-    CLocSettingsUIInfo* aReq,
-    TInt aErrorCode )
-    {
-    // Set Full Screen App
-    CLocSettingsUISrvAppUi* appUi = static_cast<CLocSettingsUISrvAppUi *>( iEikEnv->AppUi());
-    appUi->SetFullScreenState( EFalse );
-        
-    // The UI request is completed. Hence, setting the value to NULL
-    iLocationUI = NULL;
-    
-    // Sanity check the request queue.
-    if ( !iRequestQue.IsEmpty() )
-        {
-        // If queue is not empty then the aReq is valid 
-        // otherwise it is invalid
-        aReq->Complete(aErrorCode);
-        iRequestQue.Remove(*aReq);
-        delete aReq;
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUISrvLaunchAO::SendAppToBackground()
-// This is specifically needed when Location Server is running as standalone
-// and not embedded
-// ---------------------------------------------------------------------------
-//
-void CLocSettingsUISrvLaunchAO::SendAppToBackground()
-    {
-    if ( !IsSrvRunningAsEmbeddedApp() )
-        {
-        // Do this only if the server is running as standalone server.
-        // In case of embedded server application, it will be closed 
-        // immediately. Hence there is no need to take it to background.
-        CAknAppUi* appUi = static_cast<CAknAppUi*>(iEikEnv->EikAppUi());
-        // The last view cannot be destroyed till the server shutsdown.
-        // Hence do a Hide from FSW here and move into background.
-        // Once the shutdown timer is completed, the view will be destroyed.
-        appUi->HideApplicationFromFSW(ETrue);
-        if ( appUi->IsForeground() )
-            {
-            TApaTask task(iEikEnv->WsSession());
-            task.SetWgId(iEikEnv->RootWin().Identifier());
-            task.SendToBackground();
-            }
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUISrvLaunchAO::BringAppToForeground()
-// This is specifically needed when Location Server is running as standalone
-// and not embedded
-// ---------------------------------------------------------------------------
-//
-void CLocSettingsUISrvLaunchAO::BringAppToForeground()
-    {
-    if ( !IsSrvRunningAsEmbeddedApp() )
-        {
-        // Do this only if the server is running as standalone server.
-        // In case of embedded server application, it will be closed 
-        // immediately. Hence there is no need to bring it to foreground.
-        CAknAppUi* appUi = static_cast<CAknAppUi*>(iEikEnv->EikAppUi());
-        appUi->HideApplicationFromFSW(EFalse);
-        TApaTask task(iEikEnv->WsSession());
-        task.SetWgId(iEikEnv->RootWin().Identifier());
-        task.BringToForeground();
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUISrvLaunchAO::ScheduleAORun()
-// ---------------------------------------------------------------------------
-//
-void CLocSettingsUISrvLaunchAO::ScheduleAORun()
-    {
-    SetActive();
-    TRequestStatus* status = &iStatus;
-    // This is a dummy AO to drive the UI launch requests. hence it is okay to
-    // complete the request with KErrNone since all we want is to get the RunL
-    // called by the Active Scheduler.
-    User::RequestComplete(status, KErrNone);
-    }
-    
-    
-// End of file
--- a/locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/src/locsettingsuilaunchmgr.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +0,0 @@
-/*
-* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  The implementation of Launch Manager class of Location 
-*                Settings UI Server
-*
-*/
-
-
-#include "locsettingsuilaunchmgr.h"
-#include "locsettingsuilaunchao.h"
-
-const TUid KSettingsUiMgrUid = TUid::Uid(0x101F84EF);
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUILaunchMgr::Instance()
-// ---------------------------------------------------------------------------
-//
-CLocSettingsUILaunchMgr* CLocSettingsUILaunchMgr::InstanceL()
-    {
-    CLocSettingsUILaunchMgr* self = static_cast<CLocSettingsUILaunchMgr*>
-                                        (CCoeEnv::Static(KSettingsUiMgrUid));
-    if (!self)
-        {
-        self = new (ELeave) CLocSettingsUILaunchMgr;
-        
-        CleanupStack::PushL( self );
-        self->ConstructL();
-        CleanupStack::Pop( self );
-        }
-    return self;
-    }
-    
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUILaunchMgr::EnqueueRequestL( const RMessage2& aMessage )
-// ---------------------------------------------------------------------------
-//
-void CLocSettingsUILaunchMgr::EnqueueRequestL( 
-    const RMessage2& aMessage )
-    {
-    // Ownership of aMessage and aParam transferred to CLocSettingsUIInfo 
-    // class.
-    CLocSettingsUIInfo* reqInfo = CLocSettingsUIInfo::NewL(aMessage);
-    // Passing the Ownership of the reqInfo to the CLocSettingsUISrvLaunchAO
-    iLauncher->EnqueueRequest(reqInfo);
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUILaunchMgr::CancelRequest( const CSession2* aSession )
-// ---------------------------------------------------------------------------
-//
-void CLocSettingsUILaunchMgr::CancelRequest( const CSession2* aSession )
-    {
-    iLauncher->CancelRequest(aSession);    
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUILaunchMgr::CloseRunningSettingsUi(TInt aErrorCode)
-// ---------------------------------------------------------------------------
-//
-void CLocSettingsUILaunchMgr::CloseRunningSettingsUi(TInt aErrorCode)
-    {
-    iLauncher->LocationUIDismissed(aErrorCode);
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUILaunchMgr::CLocSettingsUILaunchMgr()
-// ---------------------------------------------------------------------------
-//
-CLocSettingsUILaunchMgr::CLocSettingsUILaunchMgr()
-    :CCoeStatic(KSettingsUiMgrUid)
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUILaunchMgr::~CLocSettingsUILaunchMgr()
-// ---------------------------------------------------------------------------
-//
-CLocSettingsUILaunchMgr::~CLocSettingsUILaunchMgr()
-    {
-    delete iLauncher;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUILaunchMgr::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CLocSettingsUILaunchMgr::ConstructL()
-    {
-    iLauncher = CLocSettingsUISrvLaunchAO::NewL();
-    }
-
-
-// End of file
--- a/locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/src/locsettingsuiservice.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,206 +0,0 @@
-/*
-* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  The implementation of Service class of Location Settings UI 
-*                Server
-*
-*/
-
-
-#include <e32capability.h>
-
-#include "locsettingsuiservice.h"
-#include "locsettingsuiappserver.h"
-#include "locsettingsuiserverinterface.h"
-#include "locsettingsuilaunchmgr.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUIService::CLocSettingsUIService()
-// ---------------------------------------------------------------------------
-//
-CLocSettingsUIService::CLocSettingsUIService()
-    {
-    iSettingsUILaunched = EFalse;
-    }
-    
-    
-// ---------------------------------------------------------------------------
-// CLocSettingsUIService::~CLocSettingsUIService()
-// ---------------------------------------------------------------------------
-//
-CLocSettingsUIService::~CLocSettingsUIService()
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUIService::CreateL()
-// ---------------------------------------------------------------------------
-//
-void CLocSettingsUIService::CreateL()
-    {
-    // This method is called when a new session object is created.
-    // Base-call first.
-    CAknAppServiceBase::CreateL();
-    // There are 3 scenarios to consider here
-    //
-    // 1. If the server is running as embedded application:
-    //      In this case there is no shutdown timer running. So the call
-    //      to the parent class to cancel shutdown timer will be just 
-    //      ignored.
-    // 2. If the server is running as a UI Server and numsession=0:
-    //      In this case a shutdown timer is running. Hence cancel needs to 
-    //      be called. 
-    // 3. If the server is running as a UI Server and numsession > 0:
-    //      In this case there is no shutdown timer running but calling
-    //      timer cancel doesn't do any harm.
-    // Ideally in case 1 and 3 we should not call shutdown timer cancel but
-    // the num session is maintained by the base class (private member) and
-    // we see that calling cancel in all situation works. Hence the 
-    // solution is to just call shutdown timer cancel here.
-    static_cast<CLocSettingsUIAppServer*>
-        (const_cast<CServer2*>(Server()))->CancelShutdownTimer();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUIService::ServiceL()
-// ---------------------------------------------------------------------------
-//
-void CLocSettingsUIService::ServiceL(const RMessage2& aMessage)
-    {
-    CLocSettingsUILaunchMgr* settingsMgr = CLocSettingsUILaunchMgr::InstanceL();
-    switch(aMessage.Function())
-        {
-        case ELaunchSettingsWithString:
-            {
-            TInt implUid = aMessage.Int0();
-            
-            // The ownership of the aMessage is transferred to the
-            // Launch Manager.    
-            settingsMgr->EnqueueRequestL(aMessage);
-            iSettingsUILaunched = ETrue;
-            break;
-            }
-        case ELaunchSettings:
-            {
-            TInt implUid = aMessage.Int0();
-            TInt settingsUIParam = aMessage.Int1();
-            if (!IsLaunchParamsValid(implUid, settingsUIParam))
-                {
-                aMessage.Panic(KLocSettingsUIPanicTxt,
-                    ELocSettingsUiSrvInvalidArguments);
-                break;
-                }
-            
-            // The ownership of the aMessage is transferred to the
-            // Launch Manager.    
-            settingsMgr->EnqueueRequestL(aMessage);
-            iSettingsUILaunched = ETrue;
-            break;
-            }
-        case ELaunchPosSettings:          
-            {
-            // The request needs to the queued to the Settings Manager.
-            // The corresponding UI would be launched immediately incase there
-            // is no outstanding UI. If not, the request would get queued.
-            settingsMgr->EnqueueRequestL(aMessage);
-            iSettingsUILaunched = ETrue;
-            break;
-            }            
-        case ECancelSettings:
-        case ECancelPosSettings:        
-            {
-            if(!iSettingsUILaunched)
-                {
-                // Here in case of cancel without any UI Launch is
-                // taken as a error case.
-                aMessage.Complete(KErrNotSupported);
-                return;
-                }
-            settingsMgr->CancelRequest(this);
-            // This cancel message is responded with KErrNone. The 
-            // request message is completed in the LaunchAO with KErrCancel.
-            aMessage.Complete(KErrNone);
-            iSettingsUILaunched = EFalse;
-            break;
-            }
-        default:
-            {
-            CAknAppServiceBase::ServiceL(aMessage);
-            break;         
-            }
-        }
-    return;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUIService::ServiceError
-// ---------------------------------------------------------------------------
-//
-void CLocSettingsUIService::ServiceError(const RMessage2& aMessage,TInt aError)
-    {
-    // Will be called if the ServiceL leaves with any Error.
-    // Based on the Error type the Message needs to be completed with error
-    // or the server has to panic the client.
-    // Call the base class method
-    return CAknAppServiceBase::ServiceError(aMessage, aError);
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUIService::SecurityCheckL
-// aMissing parameter is needed only when implementing custom security check 
-// failure action. Since we use the default action, we don't need this param.
-// ---------------------------------------------------------------------------
-//
-CPolicyServer::TCustomResult CLocSettingsUIService::SecurityCheckL(
-    const RMessage2& aMessage,
-	TInt& aAction,
-	TSecurityInfo& /*aMissing*/)
-    {
-    // In case the secuirty check fails we choose to fail the client
-    // request with KErrPermissionDenied rather than panic the client.
-    aAction = CPolicyServer::EFailClient;
-    
-    if ( aMessage.HasCapability(ECapabilityLocation) )
-        {
-        // Accept this request since the client has Location capability.
-        return CPolicyServer::EPass;
-        }
-    // The client does not have Location capability. So fail this request.
-    return CPolicyServer::EFail;
-    }
-    
-    
-// ---------------------------------------------------------------------------
-// CLocSettingsUIService::ServiceError
-// ---------------------------------------------------------------------------
-//
-TBool CLocSettingsUIService::IsLaunchParamsValid(
-          TInt aSettingsUid,
-    const TInt /*aParams*/ )
-    {
-    // Check if the SettingsUid is Zero
-    if( 0 == aSettingsUid )
-        {
-        return EFalse;
-        }
-    return ETrue;
-    }
-
-
-// End of file
--- a/locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/src/locsettingsuisrvapplication.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation for application class of Location Settings UI
-*                Server
-*
-*/
-
-
-#include <eikstart.h>
-#include <eikenv.h>
-
-#include "locsettingsuisrvapplication.h"
-#include "locsettingsuisrvuid.hrh"
-#include "locsettingsuisrvdocument.h"
-#include "locsettingsuiappserver.h"
-#include "locsettingsuiserverinterface.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUISrvApp::NewAppServerL
-// ---------------------------------------------------------------------------
-//
-void CLocSettingsUISrvApp::NewAppServerL( CApaAppServer*& aAppServer )
-	{
-    aAppServer = new (ELeave) CLocSettingsUIAppServer();
-    if ( !CEikonEnv::Static()->StartedAsServerApp() )
-        {
-        // In case we are running as server process for
-        // framework UI requests, we need to destroy the Server object.
-        // Hence store the created server object in this Application class
-        // and delete in destructor.
-        iAppServer = aAppServer;
-        }
-	}
-	
-
-// ---------------------------------------------------------------------------
-// virtual Destructor
-// ---------------------------------------------------------------------------
-//
-CLocSettingsUISrvApp::~CLocSettingsUISrvApp()
-    {
-    // if the server is running in embedded mode iAppServer is NULL, but
-    // won't create any problem.
-    delete iAppServer;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUISrvApp::CreateDocumentL
-// ---------------------------------------------------------------------------
-//
-CApaDocument* CLocSettingsUISrvApp::CreateDocumentL()
-    {
-	return new (ELeave) CLocSettingsUISrvDoc(*this);
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUISrvApp::AppDllUid
-// ---------------------------------------------------------------------------
-//
-TUid CLocSettingsUISrvApp::AppDllUid() const
-    {
-    return TUid::Uid(LOCSETTINGSUISERVER_UID3);
-    }
-
-
-// ======== GLOBAL FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructs and returns an application object.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CApaApplication* NewApplication()
-    {
-    CLocSettingsUISrvApp *app = new CLocSettingsUISrvApp;
-    
-    if ( (!CEikonEnv::Static()->StartedAsServerApp()) && 
-         (app != NULL) )
-        {
-        // If the appliciation is not invoked with the Server differentiator
-        // parameter then the NewAppserverL and the ConstructL need to be
-        // called from here.
-        // Ignore error cases. The server object is owned by the Application
-        // class. Hence it will be destructoed in the Application class
-        // destructor.
-        CApaAppServer* appServer = NULL;
-        TRAP_IGNORE(app->NewAppServerL(appServer);
-                    appServer->ConstructL(KLocSettingsUiServerName()););
-        }
-
-    return app;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Main function of the application executable.
-// ---------------------------------------------------------------------------
-//
-GLDEF_C TInt E32Main()
-    {
-    return EikStart::RunApplication( NewApplication );
-    }
-
-
-//End of file
--- a/locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/src/locsettingsuisrvappui.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,151 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  The implementation for AppUi class of Settings UI Server
-*
-*/
-
-
-#include <w32std.h>
-#include <apgwgnam.h>
-#include <akntitle.h>
-#include <eikdoc.h>
-#include <eikapp.h>
-#include <bldvariant.hrh>
-
-#include "locsettingsuisrvappui.h"
-#include "locsettingsuilaunchmgr.h"
-
-const TInt KWsArrayGranularity = 4;
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUISrvAppUi::CLocSettingsUISrvAppUi()
-// ---------------------------------------------------------------------------
-//
-CLocSettingsUISrvAppUi::CLocSettingsUISrvAppUi()
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUISrvAppUi::CLocSettingsUISrvAppUi()
-// ---------------------------------------------------------------------------
-//
-CLocSettingsUISrvAppUi::~CLocSettingsUISrvAppUi()
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUISrvAppUi::CLocSettingsUISrvAppUi()
-// ---------------------------------------------------------------------------
-//
-void CLocSettingsUISrvAppUi::ConstructL()
-    {
-    BaseConstructL( EAknEnableSkin | EAknEnableMSK | EAknSingleClickCompatible);
-
-    // The Caption text for Location Settings UI Server should be that of the
-    // application which is currently in the background. Hence, loop through
-    // all the background applications and obtain the Caption from the 
-    // application at the top of the stack
-    RWsSession& wsSession=iEikonEnv->WsSession();
-    TInt count=wsSession.NumWindowGroups( 0 );
-
-    RArray<RWsSession::TWindowGroupChainInfo>* allWgIds = new (ELeave)
-                        RArray<RWsSession::TWindowGroupChainInfo>( KWsArrayGranularity );
-    
-    CleanupDeletePushL( allWgIds );
-    CleanupClosePushL( *allWgIds );
-    
-    User::LeaveIfError( wsSession.WindowGroupList( 0, allWgIds) );
-    
-    count = allWgIds->Count();
-    for (TInt index=0; index<count; index++)
-        {
-        RWsSession::TWindowGroupChainInfo& info = (*allWgIds)[index];
-        if ( info.iParentId <= 0 )
-            {
-            CApaWindowGroupName* windowName = 
-                    CApaWindowGroupName::NewLC(wsSession, info.iId);
-                    
-            if ( !windowName->Hidden() && 
-                 Document()->Application()->AppDllUid() != windowName->AppUid())
-                    {
-                    // Got the first non-hidden app. 
-                    // This should be the background application.
-                    
-                    CAknTitlePane* title = static_cast<CAknTitlePane*>( 
-                    StatusPane()->ControlL( TUid::Uid( EEikStatusPaneUidTitle )));
-    
-                    HBufC* buf = HBufC::NewL(windowName->Caption().Length());
-                    buf->Des().Copy(windowName->Caption());
-                    title->SetText( buf ); // Takes ownership of buf
-                    CleanupStack::PopAndDestroy( windowName );
-                    break;
-                    }
-            CleanupStack::PopAndDestroy( windowName );
-            }
-        }
-    CleanupStack::PopAndDestroy( 2, allWgIds ); // destroy allwgIds
-    }
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUISrvAppUi::SetFullScreenState( TBool aFullScreenState )
-// ---------------------------------------------------------------------------
-//
-void CLocSettingsUISrvAppUi::SetFullScreenState( TBool aFullScreenState )
-    {
-    SetFullScreenApp( aFullScreenState );
-    }
-    
-// ---------------------------------------------------------------------------
-// CLocSettingsUISrvAppUi::HandleCommandL(TInt aCommand)
-// ---------------------------------------------------------------------------
-//
-void CLocSettingsUISrvAppUi::HandleCommandL(TInt aCommand)
-    {
-    switch(aCommand)
-        {
-        case EEikCmdExit:
-        case EAknSoftkeyExit:
-            {
-            CLocSettingsUILaunchMgr* launchMgr = 
-                                        CLocSettingsUILaunchMgr::InstanceL();
-            if ( iEikonEnv->StartedAsServerApp() )
-                {
-                // In case of Embedded Application indicate that
-                // server application is going to close after the
-                // request is completed.
-                launchMgr->CloseRunningSettingsUi(EEikCmdExit);
-                // If it is an Embedded App then close the Server 
-                // Application.
-                Exit();
-                }
-            else
-                {
-                // In case of Normal launch behave as if the User
-                // pressed back soft key and not exit.
-                // So we will continue with the next request.
-                launchMgr->CloseRunningSettingsUi(KErrNone);
-                }
-            break;
-            }
-        default:
-            CEikAppUi::HandleCommandL(aCommand);
-        }
-    }
-
-
-//End of file
--- a/locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/src/locsettingsuisrvdocument.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation for document class of Settings UI Server
-*
-*/
-
-
-#include <eikappui.h>
-
-#include "locsettingsuisrvdocument.h"
-#include "locsettingsuisrvappui.h"
-#include "locsysuiengine.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUISrvDoc::CLocSettingsUISrvDoc
-// ---------------------------------------------------------------------------
-//
-CLocSettingsUISrvDoc::CLocSettingsUISrvDoc(CEikApplication &aApp)
-    :CAknDocument(aApp)
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUISrvDoc::CLocSettingsUISrvDoc
-// ---------------------------------------------------------------------------
-//
-CLocSettingsUISrvDoc::~CLocSettingsUISrvDoc()
-    {
-    delete iEngine;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUISrvDoc::SetEngineInstance(CLocSysUiEngine* aEngine)
-// ---------------------------------------------------------------------------
-//
-void CLocSettingsUISrvDoc::SetEngineInstance(CLocSysUiEngine* aEngine)
-    {
-    iEngine = aEngine;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUISrvDoc::Engine()
-// ---------------------------------------------------------------------------
-//
-CLocSysUiEngine* CLocSettingsUISrvDoc::Engine()
-    {
-    return iEngine;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUISrvDoc::CreateAppUiL
-// ---------------------------------------------------------------------------
-//
-CEikAppUi* CLocSettingsUISrvDoc::CreateAppUiL()
-    {
-    return new(ELeave) CLocSettingsUISrvAppUi;
-    }
-
-//End of file
--- a/locationsystemui/locationsysui/locsettingsuiservice/locsettingsuiserver/src/locsettingsuisrvshutdowntimer.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,130 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  The implementation of Shutdown Timer class of Location 
-*                Settings UI Server
-*
-*/
-
-
-#include <eikenv.h>
-
-#include "locsettingsuisrvshutdowntimer.h"
-
-//Local constants
-// Shutdown Time 10 seconds expressed in micro seconds
-const TInt KShutdownTime = 10000000;
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUISrvShutdown::NewL()
-// ---------------------------------------------------------------------------
-//
-CLocSettingsUISrvShutdown* CLocSettingsUISrvShutdown::NewL()
-    {
-    CLocSettingsUISrvShutdown* self = 
-            new(ELeave) CLocSettingsUISrvShutdown();
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-   
-// ---------------------------------------------------------------------------
-// CLocSettingsUISrvShutdown::~CLocSettingsUISrvShutdown()
-// ---------------------------------------------------------------------------
-//
-CLocSettingsUISrvShutdown::~CLocSettingsUISrvShutdown()
-    {
-    iTimer.Cancel();
-    iTimer.Close();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUISrvShutdown::Start()
-// ---------------------------------------------------------------------------
-//
-void CLocSettingsUISrvShutdown::Start()
-    {
-    // Just to be safe, Cancel the Timer if it is running currently.
-    iTimer.Cancel();
-    iStatus = KRequestPending;
-    iTimer.After(iStatus, KShutdownTime);
-    SetActive();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUISrvShutdown::RunL()
-// ---------------------------------------------------------------------------
-//
-void CLocSettingsUISrvShutdown::RunL()
-    {
-    // The server object will be deleted by the Application class which 
-    // creates and owns the object
-    // Shutting down the server by stopping the Active Scheduler loop.
-    // Since currently there are no sessions, we don't need to explicitly
-    // close sesisons.
-    // Also since no requests are currently being executed, we don't need to
-    // worry about another Active Scheduler loop running.
-    CActiveScheduler::Stop();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUISrvShutdown::DoCancel()
-// ---------------------------------------------------------------------------
-//
-void CLocSettingsUISrvShutdown::DoCancel()
-    {
-    iTimer.Cancel();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUISrvShutdown::RunError(TInt aError)
-// ---------------------------------------------------------------------------
-//
-TInt CLocSettingsUISrvShutdown::RunError(TInt /*aError*/)
-    {
-    // See if any error handling needed here.
-    return KErrNone;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUISrvShutdown::CLocSettingsUISrvShutdown()
-// ---------------------------------------------------------------------------
-//
-CLocSettingsUISrvShutdown::CLocSettingsUISrvShutdown()
-    :CActive(EPriorityStandard)
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUISrvShutdown::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CLocSettingsUISrvShutdown::ConstructL()
-    {
-    CActiveScheduler::Add(this);
-    TInt errorCode = iTimer.CreateLocal();
-    User::LeaveIfError(errorCode);
-    }
-
-
-// End of file
--- a/locationsystemui/locationsysui/locsuplsettingsui/data/10275091.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* Copyright (c) 1027 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  ECOM plugin resource file for SUPL Settings UI.
-*
-*
-*/
-
-#include <ecom/registryinfo.rh>
-#include "locsuplsettingsuid.hrh"
-
-#define PLUGINDISPLAYNAME "SUPL Settings"
-/**
-* How to use the resource definition:
-*
-* IMPLEMENTATION_INFO
-*	{
-*	implementation_uid  = <Your implementation UID here>;
-*	version_no          = 1;
-*	display_name        = "<Your plugin name here>";
-*	default_data        = "";
-*	opaque_data         = "";
-*	}
-*/
-RESOURCE REGISTRY_INFO theInfo
-	{
-	dll_uid     = KLOCSUPLSETTINGSUIUID3;
-	interfaces  = 
-		{
-		INTERFACE_INFO
-			{
-			interface_uid   = 0x10275061; // Don't Change
-			implementations = 
-				{
-				IMPLEMENTATION_INFO
-					{
-					implementation_uid  = KLOCSUPLSETTINGSUIUID3;
-					version_no          = 1;
-					display_name        = PLUGINDISPLAYNAME;
-					default_data        = "";
-					opaque_data         = "";					
-					}
-				};
-			}
-		};
-	}
-
--- a/locationsystemui/locationsysui/locsuplsettingsui/data/locsuplservereditor.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,392 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Contains all the resource definitions for SUPL Settings UI.
-*
-*/
-
-
-/*
-#include <data_caging_paths_strings.hrh>
-#include <bldvariant.hrh>
-#include <eikcore.rsg>
-#include <eikon.rh>
-#include <eikon.rsg>
-#include <avkon.rh>
-#include <avkon.rsg>
-#include <avkon.mbg>
-#include <avkon.loc>
-#include <avkon.hrh>
-
-#include <locsuplsettings.loc>
-*/
-// -----------------------------------------------------------------------------
-//   r_suplserver_editor_menu_bar
-//   Define the menu bar of the edit dialog
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_suplserver_editor_menu_bar
-    {
-    titles 	=
-        {
-        MENU_TITLE	{	menu_pane = r_suplserver_editor_menu_pane; txt=""; }
-        };
-    }
-         
-//------------------------------------------------------------------------------   
-// r_suplserver_editor_menu_pane
-// Menu Items for SUPL Server Editor view
-//------------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_suplserver_editor_menu_pane
-    {
-    items	=
-        {
-        MENU_ITEM	
-        	{	
-        	command = ELocServerEditorDelete; 	txt = qtn_loc_detail_options_delete; 	flags = EEikMenuItemSpecific;
-        	},
-        MENU_ITEM	
-        	{	
-        	command = ELocServerEditorDisable; 	txt = qtn_loc_detail_options_disable; flags = EEikMenuItemSpecific;
-        	},
-        MENU_ITEM	
-        	{	
-        	command = ELocServerEditorEnable; 	txt = qtn_loc_detail_options_enable; 	flags = EEikMenuItemSpecific;
-        	},
-        MENU_ITEM	
-        	{	
-        	command = ELocServerEditorDefine; 	txt = qtn_loc_server_options_define;
-        	},
-        MENU_ITEM	
-        	{	
-        	command = ELocServerEditorChange; 	txt = qtn_loc_server_options_change; 	flags = EEikMenuItemAction;
-        	},
-        MENU_ITEM	
-        	{	
-        	command = ELocServerEditorRemove; 	txt = qtn_loc_detail_options_delete; 	flags = EEikMenuItemSpecific;
-        	},
-        MENU_ITEM	
-        	{ 	
-        	command = EAknCmdHelp; 				txt = qtn_options_help;
-        	},
-        // Exit option should use 'EEikCmdExit' instead of 'EEAknCmdExit'
-        // This is to ensure that the Exit command is not handled by the 
-        // ProcessCommandL of CAknView and is transferred to 
-        // CAknViewAppUi::HandleCommandL. This behaviour is necessary 
-        // for proper handling of the Exit command from an App Server's 
-        // perspective.        
-        MENU_ITEM 	
-        	{	
-        	command = EEikCmdExit;  			txt = qtn_options_exit;
-        	}
-        };
-    }
-
-//----------------------------------------------------
-// RESOURCE DIALOG r_suplserver_editor_form_dialog
-// Form dialog to create an event
-//----------------------------------------------------
-//
-RESOURCE DIALOG r_suplserver_editor_form_dialog
-	{
-    flags 	= 	EEikDialogFlagNoDrag | EEikDialogFlagFillAppClientRect |
-            	EEikDialogFlagNoTitleBar | EEikDialogFlagButtonsRight |
-            	EEikDialogFlagCbaButtons | EEikDialogFlagNoBorder |
-            	EEikDialogFlagWait;
-    buttons = 	r_suplserver_editor_options_edit_back;
-    form 	= 	r_suplserver_editor_form;
-	}
-
-//----------------------------------------------------  
-// RESOURCE CBA r_suplserver_editor_options_nomsk_back
-// CBA for SUPL Settings UI view.
-//----------------------------------------------------
-//   
-RESOURCE CBA r_suplserver_editor_options_nomsk_back
-    {
-    flags 	= 0;
-    buttons = 
-        {
-        CBA_BUTTON 
-            {
-            id 	= EAknSoftkeyOptions; 
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON 
-            {
-            id 	= EAknSoftkeyBack; 
-            txt = text_softkey_back;
-            },
-        CBA_BUTTON
-            {
-            id 	= ELocServerEditorNoCmd; 
-            txt = "";
-            }
-        };
-    }
-
-//----------------------------------------------------  
-// RESOURCE CBA r_suplserver_editor_options_edit_back
-// CBA for SUPL Settings UI view.
-//----------------------------------------------------
-//   
-RESOURCE CBA r_suplserver_editor_options_edit_back
-    {
-    flags 	= 0;
-    buttons = 
-        {
-        CBA_BUTTON 
-            {
-            id 	= EAknSoftkeyOptions; 
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON 
-            {
-            id 	= EAknSoftkeyBack; 
-            txt = text_softkey_back;
-            },
-        CBA_BUTTON
-            {
-            id 	= EAknFormCmdEdit; 
-            txt = qtn_msk_edit;
-            }
-        };
-    }
-
-//----------------------------------------------------
-// RESOURCE DIALOG r_suplserver_editor_form
-// Form to create/view a slp entry
-//----------------------------------------------------
-//
-RESOURCE FORM r_suplserver_editor_form
-    {
-    flags 	=  EEikFormUseDoubleSpacedFormat;
-    items 	=
-        {
-        DLG_LINE
-            {
-            type		=	EEikCtEdwin;
-            prompt		=	qtn_loc_server_address_name;
-            id			=	ELocSuplServerIdServerAddr;
-            itemflags 	= 	EEikDlgItemTakesEnterKey | EEikDlgItemOfferAllHotKeys;
-            control		=	EDWIN 
-                {
-                flags 		= 	EEikEdwinJustAutoCurEnd | EEikEdwinResizable | EEikEdwinNoLineOrParaBreaks  ;
-                width		=	16; 
-                maxlength	=	255;
-                lines		=	10;
-                };
-            },
-     	DLG_LINE
-            {
-            type		=	EEikCtEdwin;
-            prompt		=	qtn_loc_server_iap;
-            id			=	ELocSuplServerIdAccessPoint;
-            itemflags 	= 	EEikDlgItemTakesEnterKey | EEikDlgItemOfferAllHotKeys | EEikDlgItemAsLabel;
-            control		=	EDWIN 
-                {       
-                flags 		= 	EEikEdwinResizable | EEikEdwinReadOnly | EEikEdwinAvkonDisableCursor | EEikEdwinNoAutoSelection ;
-                maxlength	=	0;
-                lines		=	1;
-                max_view_height_in_lines	=	8;                
-                };
-            },                
-        DLG_LINE
-            {
-            type = EEikCtEdwin;
-            prompt = qtn_loc_server_usage;
-            id = ELocSuplServerIdUsageInHomeNw;
-            itemflags = EEikDlgItemTakesEnterKey;
-            control = EDWIN
-                {
-                flags = EEikEdwinNoHorizScrolling | EEikEdwinResizable |
-                EEikEdwinNoAutoSelection | EEikEdwinReadOnly|
-                EEikEdwinAvkonDisableCursor|EEikEdwinAvkonNotEditable |EEikEdwinDisplayOnly;
-                //         maxlength = ECalenAbsoluteMaxTextEditorLength;
-                default_case = EAknEditorTextCase;
-                allowed_case_modes = EAknEditorAllCaseModes;
-                numeric_keymap = EAknEditorStandardNumberModeKeymap;
-                special_character_table = R_AVKON_SPECIAL_CHARACTER_TABLE_DIALOG;
-                avkon_flags = EAknEditorFlagUseSCTNumericCharmap |
-                EAknEditorFlagDefault |
-                EAknEditorFlagEnablePictographInput;
-                // let Avkon decide which is maximum number of lines
-                // It's based on layout.
-                max_view_height_in_lines = 0;
-                };
-            }
-   		};
-	}
-    
-//----------------------------------------------------
-// RESOURCE ARRAY r_suplserver_editor_usageinhomenw_array
-// array for usage in homw nw pop-up dialog
-//----------------------------------------------------
-//
-RESOURCE ARRAY r_suplserver_editor_usageinhomenw_array
-    {
-    items 	=
-        {
-        LBUF{ txt = qtn_loc_server_usage_yes; },
-        LBUF{ txt = qtn_loc_server_usage_no; 	}                  
-        };
-    }
-         	          
-//----------------------------------------------------  
-// RESOURCE CBA r_suplserver_editor_options_nomsk_done
-// CBA for SUPL Editor UI view.
-//----------------------------------------------------
-//   
-RESOURCE CBA r_suplserver_editor_options_nomsk_done
-    {
-    flags 	= 0;
-    buttons = 
-        {
-        CBA_BUTTON 
-            {
-            id 	= EAknSoftkeyOptions; 
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON 
-            {
-            id = EAknSoftkeyDone; 
-            txt = text_softkey_done;
-            },
-        CBA_BUTTON
-            {
-            id 	= ELocServerEditorNoCmd; 
-            txt = "";
-            }
-        };
-    }
-
-//----------------------------------------------------  
-// RESOURCE CBA r_suplserver_editor_options_define_back
-// CBA for SUPL Editor UI view.
-//----------------------------------------------------
-//   
-RESOURCE CBA r_suplserver_editor_options_define_done
-    {
-    flags 	= 0;
-    buttons = 
-        {
-        CBA_BUTTON 
-            {
-            id 	= EAknSoftkeyOptions; 
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON 
-            {
-            id 	= EAknSoftkeyDone; 
-            txt = text_softkey_done;
-            },
-        CBA_BUTTON
-            {
-            id 	= ELocServerEditorMSKDefine; 
-            txt = qtn_msk_define;
-            }
-        };
-    }
-
-//----------------------------------------------------  
-// RESOURCE CBA r_suplserver_editor_options_change_done
-// CBA for SUPL Editor UI view.
-//----------------------------------------------------
-//   
-RESOURCE CBA r_suplserver_editor_options_change_done
-    {
-    flags 	= 0;
-    buttons = 
-        {
-        CBA_BUTTON 
-            {
-            id 	= EAknSoftkeyOptions; 
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON 
-            {
-            id 	= EAknSoftkeyDone; 
-            txt = text_softkey_done;
-            },
-        CBA_BUTTON
-            {
-            id 	= ELocServerEditorMSKChange; 
-            txt = qtn_msk_change;
-            }
-        };
-    }
-
-//------------------------------------------------------------------------------  
-// r_loc_server_info_note
-// info note to add server name
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loc_server_info_note
-    {
-    buf		= qtn_loc_server_info_note;
-    }  
-
-//------------------------------------------------------------------------------  
-// r_loc_server_editor_title
-// title text for editor
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loc_server_editor_title
-    {
-    buf		= qtn_loc_server_editor_title;
-    }  
-
-//------------------------------------------------------------------------------  
-// r_loc_server_none
-// Value in the "Access point" form field
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loc_server_none
-    {
-    buf		= qtn_loc_server_none;
-    }  
-
-//------------------------------------------------------------------------------  
-// r_loc_server_none
-// info note to add new server address after duplicate server address entered
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loc_server_already_exist_info_note
-    {
-    buf		= qtn_loc_server_rename_info_note;
-    }  
-
-// ---------------------------------------------------------
-//
-//    r_loc_server_usageinhomenetwork_yes
-//    Define "Yes" to "Usage in home network:" line of Editor Form
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_loc_server_usageinhomenetwork_yes
-    {
-    buf = qtn_loc_server_usage_yes;
-    }
-// ---------------------------------------------------------
-//
-//    r_loc_server_usageinhomenetwork_no
-//    Define "No" to "Usage in home network:" line of Editor Form
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_loc_server_usageinhomenetwork_no
-    {
-    buf = qtn_loc_server_usage_no;
-    }
-// End of File
--- a/locationsystemui/locationsysui/locsuplsettingsui/data/locsuplsessioneditor.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,310 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Contains all the resource definitions for Active 
-* SUPL sessions editor.
-*
-*/
-
-
-// -----------------------------------------------------------------------------
-//   r_suplsession_editor_menu_bar
-//   Define the menu bar of the edit dialog
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_suplsession_editor_menu_bar
-    {
-    titles 	=
-        {
-        MENU_TITLE	{	menu_pane = r_suplsession_editor_menu_pane; txt=""; }
-        };
-    }
-         
-//------------------------------------------------------------------------------   
-// r_suplsession_editor_menu_pane
-// Menu Items for SUPL Session Editor view
-//------------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_suplsession_editor_menu_pane
-    {
-    items	=
-        {
-        MENU_ITEM	
-        	{	
-        	command = ELocSessionEditorChange; 	txt = qtn_options_change; 	flags = EEikMenuItemAction;
-        	},
-        MENU_ITEM	
-        	{	
-        	command = ELocSessionEditorTerminate; 	txt = qtn_loc_supl_options_terminate; flags = EEikMenuItemSpecific;	
-        	},
-        MENU_ITEM	
-        	{ 	
-        	command = EAknCmdHelp; 				txt = qtn_options_help; 
-        	},
-        // Exit option should use 'EEikCmdExit' instead of 'EEAknCmdExit'
-        // This is to ensure that the Exit command is not handled by the 
-        // ProcessCommandL of CAknView and is transferred to 
-        // CAknViewAppUi::HandleCommandL. This behaviour is necessary 
-        // for proper handling of the Exit command from an App Server's 
-        // perspective.        
-        MENU_ITEM 	
-        	{	
-        	command = EEikCmdExit;  			txt = qtn_options_exit;
-        	}
-        };
-    }
-
-//----------------------------------------------------
-// RESOURCE DIALOG r_suplsession_editor_form_dialog
-// Form dialog to display the details of Active session
-//----------------------------------------------------
-//
-RESOURCE DIALOG r_suplsession_editor_form_dialog
-	{
-    flags 	= 	EEikDialogFlagNoDrag | EEikDialogFlagFillAppClientRect |
-            	EEikDialogFlagNoTitleBar | EEikDialogFlagButtonsRight |
-            	EEikDialogFlagCbaButtons | EEikDialogFlagNoBorder |
-            	EEikDialogFlagWait;
-    buttons = 	r_suplsession_editor_options_nomsk_back;
-    form 	= 	r_suplsession_editor_form;
-	}
-
-//----------------------------------------------------  
-// RESOURCE CBA r_suplsession_editor_options_nomsk_back
-// CBA for SUPL Active sessions editor.
-//----------------------------------------------------
-//   
-RESOURCE CBA r_suplsession_editor_options_nomsk_back
-    {
-    flags 	= 0;
-    buttons = 
-        {
-        CBA_BUTTON 
-            {
-            id 	= EAknSoftkeyOptions; 
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON 
-            {
-            id 	= EAknSoftkeyBack; 
-            txt = text_softkey_back;
-            },
-        CBA_BUTTON
-            {
-            id 	= ELocSessionEditorNoCmd; 
-            txt = "";
-            }
-        };
-    }
-
-//----------------------------------------------------  
-// RESOURCE CBA r_suplsession_editor_options_change_back
-// CBA for SUPL Active sessions editor.
-//----------------------------------------------------
-//   
-RESOURCE CBA r_suplsession_editor_options_change_back
-    {
-    flags 	= 0;
-    buttons = 
-        {
-        CBA_BUTTON 
-            {
-            id 	= EAknSoftkeyOptions; 
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON 
-            {
-            id 	= EAknSoftkeyBack; 
-            txt = text_softkey_back;
-            },
-        CBA_BUTTON
-            {
-            id 	= EAknSoftkeyChange; 
-            txt = qtn_msk_change;
-            }
-        };
-    }
-
-//----------------------------------------------------
-// RESOURCE DIALOG r_suplsession_editor_form
-// Form to view an Active session details
-//----------------------------------------------------
-//
-RESOURCE FORM r_suplsession_editor_form
-    {
-    flags 	=  EEikFormUseDoubleSpacedFormat;
-    items 	=
-        {                
-     	DLG_LINE
-            {
-            type		=	EAknCtPopupFieldText;
-            prompt		=	qtn_loc_supl_trigger_dialog;
-            id			=	ELocSuplSessionNotificationStatus;
-            itemflags 	= 	EEikDlgItemTakesEnterKey | EEikDlgItemOfferAllHotKeys | EEikDlgItemAsLabel;
-           	control 	= 	POPUP_FIELD_TEXT
-               	{
-               	popupfield 	= POPUP_FIELD
-                   	{
-                   	width 	= 50;
-                   	};
-               	textarray 	= r_suplsession_editor_notification_status;
-               	active 		= 0;
-               	};
-            },      
-     	DLG_LINE
-            {
-            type		=	EAknCtPopupFieldText;
-            prompt		=	qtn_loc_supl_trigger_type;
-            id			=	ELocSuplSessionType;
-            itemflags 	= 	EEikDlgItemTakesEnterKey | EEikDlgItemOfferAllHotKeys | EEikDlgItemAsLabel;
-           	control 	= 	POPUP_FIELD_TEXT
-               	{
-               	popupfield 	= POPUP_FIELD
-                   	{
-                   	width 	= 50;
-                   	};
-               	textarray 	= r_suplsession_editor_session_type;
-               	active 		= 0;
-               	};
-            },
-     	DLG_LINE
-            {
-            type		=	EAknCtIntegerEdwin;
-            prompt		=	qtn_loc_supl_trigger_outstanding;
-            id			=	ELocSuplSessionOutstandingTrigger;
-            itemflags 	= 	EEikDlgItemTakesEnterKey | EEikDlgItemOfferAllHotKeys | EEikDlgItemAsLabel;
-            control		=	AVKON_INTEGER_EDWIN 
-                {       
-                min		=	0;
-                max		=	144000;         
-                };
-            },
-        DLG_LINE
-            {
-            type		=	EEikCtEdwin;
-            prompt		=	qtn_loc_supl_trigger_time_period;
-            id			=	ELocSuplSessionTimePeriod;
-            itemflags 	= 	EEikDlgItemTakesEnterKey | EEikDlgItemOfferAllHotKeys;
-            control		=	EDWIN 
-                {
-                flags 		= 	EEikEdwinJustAutoCurEnd | EEikEdwinReadOnly | EEikEdwinResizable | EEikEdwinNoLineOrParaBreaks  ;
-                width		=	16; 
-                maxlength	=	255;
-                lines		=	1;
-                };
-            },
-     	DLG_LINE
-            {
-            type		=	EEikCtEdwin;
-            prompt		=	qtn_loc_supl_trigger_interval;
-            id			=	ELocSuplSessionTriggerInterval;
-            itemflags 	= 	EEikDlgItemTakesEnterKey | EEikDlgItemOfferAllHotKeys | EEikDlgItemAsLabel;
-            control		=	EDWIN 
-                {       
-                flags 		= 	EEikEdwinResizable | EEikEdwinReadOnly | EEikEdwinAvkonDisableCursor | EEikEdwinNoAutoSelection ;
-                maxlength	=	0;
-                lines		=	1;
-                max_view_height_in_lines	=	8;                
-                };
-            }
-   		};
-	}
-    
-//----------------------------------------------------
-// RESOURCE ARRAY r_suplsession_editor_notification_status
-// array for notification status
-//----------------------------------------------------
-//
-RESOURCE ARRAY r_suplsession_editor_notification_status
-    {
-    items 	=
-        {
-        LBUF{ txt = qtn_loc_supl_trigger_dialog_on; },
-        LBUF{ txt = qtn_loc_supl_trigger_dialog_off; }                  
-        };
-    }
-    
-//----------------------------------------------------
-// RESOURCE ARRAY r_suplsession_editor_session_type
-// array for session type
-//----------------------------------------------------
-//
-RESOURCE ARRAY r_suplsession_editor_session_type
-    {
-    items 	=
-        {
-        LBUF{ txt = qtn_loc_supl_peridic_trigger; }                 
-        };
-    }
-
-//------------------------------------------------------------------------------  
-// r_loc_supl_trigger_time_minutes
-// Session viewer unit string - minutes
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loc_supl_trigger_time_minutes
-    {
-    buf		= qtn_loc_supl_trigger_time_minutes;
-    }  
-
-//------------------------------------------------------------------------------  
-// r_loc_supl_trigger_time_onehour
-// Session viewer unit string - one hour
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loc_supl_trigger_time_onehour
-    {
-    buf		= qtn_loc_supl_trigger_time_onehour;
-    }  
-
-//------------------------------------------------------------------------------  
-// r_loc_supl_trigger_time_hours
-// Session viewer unit string - hours
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loc_supl_trigger_time_hours
-    {
-    buf		= qtn_loc_supl_trigger_time_hours;
-    }  
-
-//------------------------------------------------------------------------------  
-// r_loc_supl_trigger_time_oneday
-// Session viewer unit string - one day
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loc_supl_trigger_time_oneday
-    {
-    buf		= qtn_loc_supl_trigger_time_oneday;
-    }  
-
-//------------------------------------------------------------------------------  
-// r_loc_supl_trigger_time_days
-// Session viewer unit string - days
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loc_supl_trigger_time_days
-    {
-    buf		= qtn_loc_supl_trigger_time_days;
-    }  
-
-//------------------------------------------------------------------------------  
-// r_loc_services_title_unknown
-// Title text for unnamed session in Viewer
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loc_services_title_unknown
-    {
-    buf		= qtn_loc_services_title_unknown;
-    }   
-
-// End of File
--- a/locationsystemui/locationsysui/locsuplsettingsui/data/locsuplsettingsui.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,924 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Contains all the resource definitions for SUPL Settings UI.
-*
-*/
-
-
-//  RESOURCE IDENTIFIER
-
-NAME    SEST // 4 Letter Identifier
-
-//  INCLUDES
-
-#include <data_caging_paths_strings.hrh>
-#include <bldvariant.hrh>
-#include <EIKCORE.rsg>
-#include <eikon.rh>
-#include <eikon.rsg>
-#include <avkon.rh>
-#include <avkon.rsg>
-#include <avkon.mbg>
-#include <avkon.loc>
-#include <avkon.hrh>
-
-#include "locsuplsettings.hrh"
-#include <locsuplsettings.loc>
-
-
-//  RESOURCE DEFINITIONS 
-	
-RESOURCE RSS_SIGNATURE 
-	{
-	}
-
-//----------------------------------------------------
-// r_loc_supl_iap_query
-// Confirmation Query prompt text for SUPL Settings
-//----------------------------------------------------
-//
-RESOURCE TBUF r_loc_supl_iap_query
-    {
-    buf = qtn_loc_supl_iap_query;
-    }
-    
-//----------------------------------------------------
-// r_suplsettings_caption
-// Caption for SUPL Settings UI
-//----------------------------------------------------
-//
-RESOURCE TBUF r_suplsettings_caption
-    {
-    buf = qtn_loc_settings_supl;
-    }
-    
-//------------------------------------------------------------------------------
-// r_suplsettings_view
-// SUPL Settings Configuration view
-//------------------------------------------------------------------------------
-//
-RESOURCE AVKON_VIEW r_suplsettings_view
-    {    
-    menubar = r_suplsettings_menubar_view;  
-    cba 	= r_suplsettings_options_change_back;  
-    }
-    
-//----------------------------------------------------  
-// r_suplsettings_options_change_back
-// CBA for SUPL Settings UI view.
-//----------------------------------------------------
-//   
-RESOURCE CBA r_suplsettings_options_change_back
-    {
-    flags 	= 0;
-    buttons = 
-        {
-        CBA_BUTTON 
-            {
-            id 	= EAknSoftkeyOptions; 
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON 
-            {
-            id 	= EAknSoftkeyBack; 
-            txt = text_softkey_back;
-            },
-        CBA_BUTTON
-            {
-            id 	= ELocSuplMSKChange; 
-            txt = qtn_msk_change;
-            }
-        };
-    }
-
-//----------------------------------------------------  
-// r_suplsettings_options_open_back
-// CBA for SUPL Settings UI view.
-//----------------------------------------------------
-//   
-RESOURCE CBA r_suplsettings_options_open_back
-    {
-    flags 	= 0;
-    buttons = 
-        {
-        CBA_BUTTON 
-            {
-            id 	= EAknSoftkeyOptions; 
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON 
-            {
-            id 	= EAknSoftkeyBack; 
-            txt = text_softkey_back;
-            },
-        CBA_BUTTON
-            {
-            id 	= ELocSuplMSKOpen; 
-            txt = qtn_msk_open;
-            }
-        };
-    }
-
-//----------------------------------------------------  
-// r_suplsettings_options_nomsk_back
-// CBA for SUPL Settings UI view.
-//----------------------------------------------------
-//   
-RESOURCE CBA r_suplsettings_options_nomsk_back
-    {
-    flags 	= 0;
-    buttons = 
-        {
-        CBA_BUTTON 
-            {
-            id 	= EAknSoftkeyOptions; 
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON 
-            {
-            id 	= EAknSoftkeyBack; 
-            txt = text_softkey_back;
-            },
-        CBA_BUTTON
-            {
-            id 	= ELocSuplMSKNo; 
-            txt = "";
-            }
-        };
-    }
-
-//------------------------------------------------------------------------------  
-// r_suplsettings_menubar_view
-// Menu bar for SUPL Settings Configuration view
-//------------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_suplsettings_menubar_view
-    {
-    titles	=
-        {
-        MENU_TITLE 
-            { 
-            menu_pane = r_suplsettings_menu; txt=""; 
-            }
-        };
-    }
-
-//------------------------------------------------------------------------------   
-// r_suplsettings_menu
-// Menu Items for SUPL Settings Configuration view
-//------------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_suplsettings_menu
-    {
-    items		=
-        {
-        MENU_ITEM 
-            { 
-            command = ELocSuplChange; 
-            txt 	= qtn_loc_server_options_change; 
-            flags = EEikMenuItemAction;
-            },
-        MENU_ITEM
-            {
-            command = ELocSuplClearSession;
-            txt     = qtn_loc_supl_options_terminate; 
-            flags = EEikMenuItemSpecific;
-            },
-        MENU_ITEM
-            {
-            command = ELocSuplClearSessions;
-            txt     = qtn_loc_supl_options_terminate_multiple; 
-            flags = EEikMenuItemSpecific;
-            },
-        MENU_ITEM 
-            { 
-            command = EAknCmdHelp; 
-            txt 	= qtn_options_help; 
-            },
-        MENU_ITEM 
-            {
-            // Exit option should use 'EEikCmdExit' instead of 'EEAknCmdExit'
-            // This is to ensure that the Exit command is not handled by the 
-            // ProcessCommandL of CAknView and is transferred to 
-            // CAknViewAppUi::HandleCommandL. This behaviour is necessary 
-            // for proper handling of the Exit command from an App Server's 
-            // perspective.
-            command = EEikCmdExit;  
-            txt 	= qtn_options_exit; 
-            }
-        };
-    }
-
-//------------------------------------------------------------------------------
-// r_suplview_title
-// Title for SUPL Settings Configuration view
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_suplview_title
-    {
-    buf = qtn_loc_supl_title;
-    }
-    
-//------------------------------------------------------------------------------  
-// r_loc_supl_use
-// List settings item description for SUPL settings usage.
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loc_supl_use
-    {
-    buf = qtn_loc_supl_server_use;
-    }
-    
-//------------------------------------------------------------------------------   
-// r_loc_supl_server_detail
-// List settings item caption for multiple SUPL servers
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loc_supl_server_detail
-    {
-    buf = qtn_loc_supl_server_detail;
-    }   
-    
-//------------------------------------------------------------------------------   
-// r_loc_supl_no_service
-// List settings item caption for SUPL active sessions count, if count is 0
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loc_supl_no_service
-    {
-    buf = qtn_loc_supl_no_service;
-    } 
-    
-//------------------------------------------------------------------------------   
-// r_loc_supl_single_service
-// List settings item caption for SUPL active sessions count, if count is 1
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loc_supl_single_service
-    {
-    buf = qtn_loc_supl_single_service;
-    } 
-    
-//------------------------------------------------------------------------------   
-// r_loc_supl_multiple_services
-// List settings item caption for SUPL active sessions count
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loc_supl_multiple_services
-    {
-    buf = qtn_loc_supl_multiple_services;
-    } 
-
-//------------------------------------------------------------------------------
-// r_loc_supl_usage_settings
-// Settings page for manipulating SUPL settings usage.
-//------------------------------------------------------------------------------
-//
-RESOURCE AVKON_SETTING_PAGE r_loc_suplusage_settings
-    { 
-    label 				= 	qtn_loc_supl_lbl_server_use;
-    softkey_resource 	= 	R_AVKON_SOFTKEYS_CANCEL;
-    type 				= 	EAknSetListBox;
-    editor_resource_id 	= 	r_loc_suplusage_settings_listbox;
-    }
-
-//------------------------------------------------------------------------------
-// r_loc_suplusage_settings_listbox 
-// Set Settings text
-//------------------------------------------------------------------------------
-//
-RESOURCE LISTBOX r_loc_suplusage_settings_listbox 
-    {
-    flags	= EEikListBoxMultipleSelection;
-    }
-    
-//------------------------------------------------------------------------------ 
-// r_loc_supl_automatic
-// Settings Item for SUPL usage
-// This value denotes that SUPL would be used automatically when the user is in his
-// home network. When the user is roaming he would be prompted with a query for
-// using SUPL.
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loc_supl_automatic
-    {
-    buf = qtn_loc_supl_automatic;
-    }
-
-//------------------------------------------------------------------------------ 
-// r_loc_supl_automatic
-// Settings Item for SUPL usage
-// This value denotes that SUPL would be used automatically when the user is in his
-// home network. When the user is roaming he would be prompted with a query for
-// using SUPL.
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loc_supl_home_automatic
-    {
-    buf = qtn_loc_supl_home_automatic;
-    }
-    
-//------------------------------------------------------------------------------
-// r_loc_supl_ask
-// Settings Item for SUPL usage
-// This value denotes that the user would always be prompted before using SUPL.
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loc_supl_ask
-    {
-    buf = qtn_loc_supl_ask;
-    }  
-
-//------------------------------------------------------------------------------  
-// r_loc_supl_disabled
-// Settings Item for SUPL usage
-// This value denotes that SUPL would not be used at all.
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loc_supl_disabled
-    {
-    buf = qtn_loc_supl_disabled;
-    }
-
-//------------------------------------------------------------------------------   
-// r_loc_supl_server_detail_title
-// Title text for multiple SUPL servers view
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loc_supl_server_detail_title
-    {
-    buf = qtn_loc_server_detail_title;
-    }   
-
-//------------------------------------------------------------------------------   
-// r_loc_supl_services_title
-// Title text for SUPL active sessions view
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loc_supl_services_title
-    {
-    buf = qtn_loc_supl_services_title;
-    }   
-
-//------------------------------------------------------------------------------   
-// r_loc_supl_unknown_service
-// Text to display for the service with no name
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loc_supl_unknown_service
-    {
-    buf = qtn_loc_supl_unknown_service;
-    }  
-    
-//------------------------------------------------------------------------------  
-// r_loc_server_address_name
-// Heading for server address Supl server editor form field
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loc_server_address_name
-    {
-    buf = qtn_loc_server_address_name;
-    } 
-      
-//------------------------------------------------------------------------------   
-// r_loc_server_iap
-// Heading for access point Supl server editor form field 
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loc_server_iap
-    {
-    buf = qtn_loc_server_iap;
-    }   
-
-//------------------------------------------------------------------------------  
-// r_loc_no_ap_defined
-// No IAP defined text
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loc_no_ap_defined
-    {
-    buf		= qtn_netw_info_no_iap_defined;
-    }  
-
-//------------------------------------------------------------------------------  
-// r_general_note
-// Note to be displayed when no IAPs are defined
-//------------------------------------------------------------------------------
-//    
-RESOURCE DIALOG r_general_note
-    {
-    flags	=	EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar |
-          		EEikDialogFlagCbaButtons | EEikDialogFlagWait;
-    buttons	=	R_AVKON_SOFTKEYS_EMPTY;
-    items	=
-        {
-        DLG_LINE
-            {
-            type	=	EAknCtNote;
-            id 		= EGeneralNote;
-            control	= AVKON_NOTE
-                {
-                layout 			= EGeneralLayout;
-                singular_label 	= "";
-                plural_label 	= "";
-                animation 		= R_QGN_NOTE_INFO_ANIM;
-                };
-            }
-        };
-    }
-                     
-//------------------------------------------------------------------------------
-// r_suplsettings_server_view
-// SUPL Settings Server view
-//------------------------------------------------------------------------------
-//
-RESOURCE AVKON_VIEW r_suplsettings_server_view
-    {    
-    menubar = r_suplsettings_server_menubar_view;  
-    cba 	= r_suplsettings_options_contextoptions_back;  
-    }
-
-//------------------------------------------------------------------------------
-// r_suplsettings_session_view
-// SUPL Settings Session view
-//------------------------------------------------------------------------------
-//
-RESOURCE AVKON_VIEW r_suplsettings_session_view
-    {    
-    menubar = r_suplsettings_session_menubar_view;  
-    cba 	= r_suplsettings_options_contextoptions_back;  
-    }
-    
-//----------------------------------------------------  
-// r_suplsettings_options_contextoptions_back
-// CBA for SUPL Settings Server List view.
-//----------------------------------------------------
-//   
-RESOURCE CBA r_suplsettings_options_contextoptions_back
-    {
-    flags 	= 0;
-    buttons = 
-        {
-        CBA_BUTTON 
-            {
-            id 	= 	EAknSoftkeyOptions; 
-            txt = 	text_softkey_option;
-            },
-        CBA_BUTTON 
-            {
-            id 	= 	EAknSoftkeyBack; 
-            txt = 	text_softkey_back;
-            },
-        CBA_BUTTON 
-            {
-            id	=	EAknSoftkeyContextOptions; 
-            txt = 	text_softkey_option;
-            }
-        };
-    }
-
-//----------------------------------------------------  
-// r_suplsettings_session_options_back_open
-// CBA for SUPL Session List view.
-//----------------------------------------------------
-//   
-RESOURCE CBA r_suplsettings_session_options_back_open
-    {
-    flags 	= 0;
-    buttons = 
-        {
-        CBA_BUTTON 
-            {
-            id 	= 	EAknSoftkeyOptions; 
-            txt = 	text_softkey_option;
-            },
-        CBA_BUTTON 
-            {
-            id 	= 	EAknSoftkeyBack; 
-            txt = 	text_softkey_back;
-            },
-        CBA_BUTTON 
-            {
-            id	=	EAknSoftkeyOpen; 
-            txt = 	text_softkey_open;
-            }
-        };
-    }
-
-//----------------------------------------------------  
-// r_suplsettings_server_options_back
-// CBA for SUPL Settings Server List view.
-//----------------------------------------------------
-//   
-RESOURCE CBA r_suplsettings_server_options_back
-    {
-    flags 	= 0;
-    buttons = 
-        {
-        CBA_BUTTON 
-            {
-            id 	= 	EAknSoftkeyOptions; 
-            txt = 	text_softkey_option;
-            },
-        CBA_BUTTON 
-            {
-            id 	= 	EAknSoftkeyBack; 
-            txt = 	text_softkey_back;
-            },
-        CBA_BUTTON
-            {
-            id 	= 	ELocSuplServerMSKNoCmd; 
-            txt = 	"";
-            }
-        };
-    }
-    
-//----------------------------------------------------  
-// r_suplsettings_session_options_back
-// CBA for SUPL Session view.
-//----------------------------------------------------
-//   
-RESOURCE CBA r_suplsettings_session_options_back
-    {
-    flags 	= 0;
-    buttons = 
-        {
-        CBA_BUTTON 
-            {
-            id 	= 	EAknSoftkeyOptions; 
-            txt = 	text_softkey_option;
-            },
-        CBA_BUTTON 
-            {
-            id 	= 	EAknSoftkeyBack; 
-            txt = 	text_softkey_back;
-            },
-        CBA_BUTTON
-            {
-            id 	= 	ELocSuplSessionMSKNoCmd; 
-            txt = 	"";
-            }
-        };
-    }
-    
-//----------------------------------------------------  
-// r_suplsettings_server_ok_cancel
-// CBA for SUPL Settings Server List view.
-//----------------------------------------------------
-//   
-RESOURCE CBA r_suplsettings_server_ok_cancel
-    {
-    flags 	= 0;
-    buttons = 
-        {
-        CBA_BUTTON 
-            {
-            id 	= 	EAknSoftkeyOk; 
-            txt = 	text_softkey_ok;
-            },
-        CBA_BUTTON 
-            {
-            id 	= 	EAknSoftkeyCancel; 
-            txt = 	text_softkey_cancel;
-            },
-        CBA_BUTTON
-            {
-            id 	= 	ELocSuplServerMSKNoCmd; 
-            txt = 	"";
-            }
-        };
-    }
-    
-//------------------------------------------------------------------------------  
-// r_suplsettings_server_menubar_view
-// Menu bar for SUPL Settings Server List view
-//------------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_suplsettings_server_menubar_view
-    {
-    titles	=
-        {
-        MENU_TITLE 
-            { 
-            menu_pane = r_suplsettings_server_main_menu; txt=""; 
-            },
-        MENU_TITLE 
-            { 
-            menu_pane = R_AVKON_MENUPANE_MARKABLE_LIST; 
-            },
-        MENU_TITLE 
-            { 
-            menu_pane = r_suplsettings_server_menu; txt=""; 
-            }
-        };
-    }
- 
- //------------------------------------------------------------------------------  
-// r_suplsettings_session_menubar_view
-// Menu bar for SUPL Settings Server List view
-//------------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_suplsettings_session_menubar_view
-    {
-    titles	=
-        {
-        MENU_TITLE 
-            { 
-            menu_pane = r_suplsettings_server_main_menu; txt=""; 
-            },
-        MENU_TITLE 
-            { 
-            menu_pane = R_AVKON_MENUPANE_MARKABLE_LIST; 
-            },
-        MENU_TITLE 
-            { 
-            menu_pane = r_suplsettings_session_menu; txt=""; 
-            }
-        };
-    }   
-
-//------------------------------------------------------------------------------   
-// r_suplsettings_server_menu1
-// Menu Items for SUPL Settings Server List View
-//------------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_suplsettings_server_menu
-    {
-    items	=
-        {
-        MENU_ITEM 
-            { 
-            command = ELocSuplServerEnable; 
-            txt 	= qtn_loc_detail_options_enable;
-            flags = EEikMenuItemSpecific;
-            },
-        MENU_ITEM 
-            { 
-            command = ELocSuplServerDisable; 
-            txt 	= qtn_loc_detail_options_disable;
-            flags = EEikMenuItemSpecific;
-            },
-        MENU_ITEM 
-            { 
-            command = ELocSuplServerOpen; 
-            txt 	= qtn_loc_supl_options_open;
-            flags = EEikMenuItemAction;
-            },
-        MENU_ITEM 
-            { 
-            command = ELocSuplServerNew; 
-            txt 	= qtn_loc_detail_options_newserver; 
-            },
-        MENU_ITEM 
-            { 
-            command = ELocSuplServerDelete; 
-            txt 	= qtn_loc_detail_options_delete; 
-            flags = EEikMenuItemSpecific;
-            },
-        MENU_ITEM 
-            { 
-            command = ELocSuplServerPrioritize; 
-            txt 	= qtn_loc_detail_options_prioritize;
-            flags = EEikMenuItemSpecific;
-            }
-        };
-    }
-    
- //------------------------------------------------------------------------------   
-// r_suplsettings_session_menu1
-// Menu Items for SUPL Session List View
-//------------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_suplsettings_session_menu
-    {
-    items	=
-        {
-
-        MENU_ITEM 
-            { 
-            command = ELocSuplSessionTerminate; 
-            txt 	= qtn_loc_supl_options_terminate; 
-            flags = EEikMenuItemSpecific;
-            },
-        MENU_ITEM 
-            { 
-            command = ELocSuplSessionsTerminate; 
-            txt 	= qtn_loc_supl_options_terminate_multiple; 
-            flags = EEikMenuItemSpecific;
-            }
-        };
-    }
-            
-//------------------------------------------------------------------------------   
-// r_suplsettings_server_menu2
-// Menu Items for SUPL Settings Server List View
-//------------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_suplsettings_server_main_menu
-    {
-    items	=
-        {
-        MENU_ITEM 
-            { 
-            command = EAknCmdHelp; 
-            txt 	= qtn_options_help; 
-            },
-        MENU_ITEM 
-            {
-            // Exit option should use 'EEikCmdExit' instead of 'EEAknCmdExit'
-            // This is to ensure that the Exit command is not handled by the 
-            // ProcessCommandL of CAknView and is transferred to 
-            // CAknViewAppUi::HandleCommandL. This behaviour is necessary 
-            // for proper handling of the Exit command from an App Server's 
-            // perspective.
-            command = EEikCmdExit;  
-            txt 	= qtn_options_exit; 
-            }
-        };
-    }
-
-//----------------------------------------------------
-//   
-// r_suplsettings_server_contextmenubar
-// Context Menu Bar for SUPL Settings Server List View
-//
-//----------------------------------------------------
-//
-RESOURCE MENU_BAR r_suplsettings_server_contextmenubar
-    {
-    titles	=
-        {
-        MENU_TITLE { menu_pane=R_AVKON_MENUPANE_MARKABLE_LIST; txt=""; },
-		MENU_TITLE { menu_pane = r_suplsettings_server_contextmenu; txt=" "; }
-        };
-    }
-    
-//----------------------------------------------------
-//   
-// r_suplsettings_server_contextmenu
-// Context Menu Items for SUPL Settings Server List View
-//
-//----------------------------------------------------
-//
-RESOURCE MENU_PANE r_suplsettings_server_contextmenu
-    {
-    items	=
-        {
-		MENU_ITEM 	
-			{ 	
-			command = 	ELocSuplServerMSKEnable; 
-			txt		=	qtn_loc_detail_options_enable;
-			},
-		MENU_ITEM 	
-			{ 	
-			command = 	ELocSuplServerMSKDisable; 
-			txt		=	qtn_loc_detail_options_disable;
-			},
-			
-		MENU_ITEM
-		    {
-			command = ELocSuplServerDelete;
-			txt = qtn_loc_detail_options_delete;
-		    },
-			
-     MENU_ITEM
-            {
-            command = ELocSuplServerNew;
-            txt = qtn_loc_detail_options_newserver;
-            }
-        };
-    }
-
-//----------------------------------------------------
-//   
-// r_suplsettings_session_contextmenubar
-// Context Menu Bar for SUPL Settings Session List View
-//
-//----------------------------------------------------
-//
-RESOURCE MENU_BAR r_suplsettings_session_contextmenubar
-    {
-    titles	=
-        {
-		MENU_TITLE { menu_pane = r_suplsettings_session_contextmenu; txt=" "; },
-        MENU_TITLE { menu_pane = R_AVKON_MENUPANE_MARKABLE_LIST; txt=" "; }
-        };
-    }
-    
-//----------------------------------------------------
-//   
-// r_suplsettings_session_contextmenu
-// Context Menu Items for SUPL Settings Session List View
-//
-//----------------------------------------------------
-//
-RESOURCE MENU_PANE r_suplsettings_session_contextmenu
-    {
-    items	=
-        {
-        MENU_ITEM 
-            { 
-            command = ELocSuplSessionMSKTerminate; 
-            txt 	= qtn_loc_supl_options_terminate; 
-            flags = EEikMenuItemSpecific;
-            },
-        MENU_ITEM 
-            { 
-            command = ELocSuplSessionsMSKTerminate; 
-            txt 	= qtn_loc_supl_options_terminate_multiple; 
-            flags = EEikMenuItemSpecific;
-            }
-        };
-    }
-
-//------------------------------------------------------------------------------  
-// r_loc_detail_conf_delete_servers
-// Confirmation for delete text
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loc_detail_conf_delete_server
-    {
-    buf		= qtn_loc_detail_conf_delete_server;
-    }  
-
-//------------------------------------------------------------------------------  
-// r_loc_detail_conf_delete_servers
-// Confirmation for delete text
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loc_detail_conf_delete_servers
-    {
-    buf		= qtn_loc_detail_conf_delete_servers;
-    }  
-
-
-//----------------------------------------------------
-//  r_loc_supl_delete_query
-//  Confirmation Query for delete
-//----------------------------------------------------
-//
-RESOURCE DIALOG r_loc_supl_delete_query
-	{
-	flags 	= EGeneralQueryFlags;
-	buttons = R_AVKON_SOFTKEYS_YES_NO;
-	items 	= 
-		{
-		DLG_LINE
-			{
-			type 	= EAknCtQuery;
-			id 		= EGeneralQuery;
-			control = AVKON_CONFIRMATION_QUERY
-				{
-				layout = EConfirmationQueryLayout;
-				};
-			}
-		};
-	}
-
-//------------------------------------------------------------------------------  
-// r_loc_supl_query_terminate_all
-// Confirmation for deleting all the sessions(Clear sessions)
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loc_supl_query_terminate_all
-    {
-    buf		= qtn_loc_supl_query_terminate_all;
-    }  
-
-//------------------------------------------------------------------------------  
-// r_loc_supl_query_terminate
-// Confirmation for deletint a session
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loc_supl_query_terminate
-    {
-    buf		= qtn_loc_supl_query_terminate;
-    }   
-
-//------------------------------------------------------------------------------  
-// r_loc_supl_query_terminate_multiple
-// Confirmation for deleting multiple sessions in view
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loc_supl_query_terminate_multiple
-    {
-    buf		= qtn_loc_supl_query_terminate_multiple;
-    }   
-
-// ---------------------------------------------------------
-//  Additional resource files
-// ---------------------------------------------------------
-//
-#include "locsuplservereditor.rss"  
-#include "locsuplsessioneditor.rss"  
--- a/locationsystemui/locationsysui/locsuplsettingsui/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  This file provides the information required for building the
-*				 SUPL settings UI
-*                
-*
-*/
-
-
-// To get the MW_LAYER_PLATFORM_EXPORT_PATH macro definitions
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT GCCE
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-locsuplsettings.mmp    
-
-
-PRJ_TESTMMPFILES
-
-PRJ_EXTENSIONS
-START EXTENSION s60/mifconv
-OPTION TARGETFILE locsuplsettings.mif
-OPTION HEADERFILE locsuplsettings.mbg
-OPTION SOURCES -c8,8 qgn_loc_server_disabled.svg
-END
-
-//  End of File  
--- a/locationsystemui/locationsysui/locsuplsettingsui/group/locsuplsettings.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  This is project specification file for SUPL Settings UI
-*
-*/
-
-#include <data_caging_paths.hrh>
-#include "../inc/locsuplsettingsuid.hrh"    // For UID3
-#include <platform_paths.hrh> // For the MW_LAYER_SYSTEMINCLUDE
-
-CAPABILITY          CAP_ECOM_PLUGIN ReadUserData WriteUserData
-TARGET              locsuplsettings.dll
-TARGETTYPE          PLUGIN
-UID                 0x10009D8D KLOCSUPLSETTINGSUIUID3
-VENDORID            VID_DEFAULT
-
-USERINCLUDE         ../inc
-USERINCLUDE         ../data
-USERINCLUDE	    ../../../inc
-USERINCLUDE         ../../../../inc
-USERINCLUDE	    ../../loc
-
-
-// System Include
-APP_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH          ../src
-SOURCE              locsuplsettings.cpp
-SOURCE              locsuplsettingsimptable.cpp
-SOURCE              locsuplsettingsview.cpp
-SOURCE              locsuplsettingscontainer.cpp
-SOURCE              locsuplsettingslbmodel.cpp
-SOURCE              locsuplsettingsuiengine.cpp
-SOURCE	            locsuplsettingsadapter.cpp
-SOURCE	            locsuplserverview.cpp
-SOURCE	            locsuplservercontainer.cpp
-SOURCE	            locsuplserverlbmodel.cpp
-SOURCE	            locsuplservereditor.cpp
-SOURCE	            locsuplsessioneditor.cpp
-SOURCE	            locsupldebug.cpp
-SOURCE	            locsuplsessionview.cpp
-SOURCE              locsuplsessioncontainer.cpp
-SOURCE              locsuplsessionlbmodel.cpp
-
-
-SOURCEPATH          ../data
-//ECOM resource definition
-START RESOURCE      10275091.rss
-TARGET              locsuplsettings.rsc
-END // ECOM resource definition
-
-//View resources
-START RESOURCE      locsuplsettingsui.rss
-HEADER
-TARGETPATH          RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END // AppsPlugin resources
-
-LIBRARY             euser.lib
-LIBRARY             ecom.lib
-LIBRARY             efsrv.lib
-LIBRARY             avkon.lib
-LIBRARY             bafl.lib 
-LIBRARY             cone.lib 
-LIBRARY             eikcoctl.lib 
-LIBRARY             eikctl.lib 
-LIBRARY             eikcore.lib 
-LIBRARY             commonengine.lib        // For RConeResourceLoader
-LIBRARY             egul.lib     		    // CGulIcon
-LIBRARY		    	aknicon.lib 
-LIBRARY             aknskins.lib   		    // AknsUtils.h
-LIBRARY             aknskinsrv.lib   		// AknsUtils.h
-LIBRARY             aknswallpaperutils.lib  // AknsUtils.h
-LIBRARY 	    	hlplch.lib
-LIBRARY             insock.lib
-LIBRARY             commdb.lib  
-LIBRARY             centralrepository.lib   // For Central repository key
-LIBRARY             CommonUI.lib            // For the Standard Error notes
-LIBRARY		    	AGENTDIALOG.lib
-LIBRARY 	    	featmgr.lib 		    // Feature manager API
-LIBRARY		    	epos_suplsettings.lib	// SUPL Settings API
-LIBRARY             eikdlg.lib
-LIBRARY             aknnotify.lib           // AknGlobalConfirmation Query
-LIBRARY 	    	cmmanager.lib			// For Connection Settings API
-LIBRARY		    	flogger.lib
-
-// End of File
--- a/locationsystemui/locationsysui/locsuplsettingsui/inc/locsupldebug.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Utility class for Debug traces
-*
-*/
-
-
-#ifndef LOCSUPL_DEBUG_H
-#define LOCSUPL_DEBUG_H
-
-// INCLUDES
-#include <e32std.h>
-#include "locsupldebugconfig.h"
-
-// MACROS
-#ifdef _LOCSUPLDEBUG
-
-#define DEBUG( TEXT) Debug( _L( #TEXT ));
-#define DEBUG1( TEXT, ARG1 ) Debug( _L( #TEXT ), ( ARG1 ));
-#define DEBUG2( TEXT, ARG1, ARG2 ) Debug( _L( #TEXT ), ( ARG1 ), ( ARG2 ));
-#define DEBUG3( TEXT, ARG1, ARG2, ARG3 ) Debug( _L( #TEXT ), ( ARG1 ), ( ARG2 ), ( ARG3 ));
-
-void Debug( TRefByValue<const TDesC> aText, ...);
-
-#else
-
-#define DEBUG( TEXT ) ;
-#define DEBUG1( TEXT, ARG1 ) ;
-#define DEBUG2( TEXT, ARG1, ARG2 ) ;
-#define DEBUG3( TEXT, ARG1, ARG2, ARG3 ) ;
-
-#endif // _LOCSUPLDEBUG
-
-#endif // LOCSUPL_DEBUG_H
--- a/locationsystemui/locationsysui/locsuplsettingsui/inc/locsupldebugconfig.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  config flag for Debug traces
-*
-*/
-
-
-#ifndef LOCSUPL_DEBUGCONFIG_H
-#define LOCSUPL_DEBUGCONFIG_H
-
-// Turn this flag on/off as needed
-//#define _LOCSUPLDEBUG
-
-#endif // LOCSUPL_DEBUGCONFIG_H
--- a/locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplservercontainer.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,272 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  SUPL server UI View's container
-*
-*/
-
-
-#ifndef C_LOCSUPLSERVERCONTAINER_H_
-#define C_LOCSUPLSERVERCONTAINER_H_
-
-// System Includes 
-#include <e32base.h>
-#include <coecntrl.h>
-#include <eiklbo.h>
-
-    
-// Forward Declarations
-class CLocSUPLServerLBModel;
-class CLocSUPLSettingsUiEngine;
-class CAknSingleNumberStyleListBox;
-class CAknIconArray;
-class CLocSUPLServerView;
-
-// Class Declarations
-/**
- * Container for the SUPL server UI View.
- * 
- * Contains the Listbox control that is used to configure various SUPL settings 
- * options
- *
- * @lib locsuplsettings.lib
- * @since S60 v3.1 
- */
-class CLocSUPLServerContainer : public CCoeControl,
-                                public MEikListBoxObserver
-	{
-	public:
-		/**
- 		 * Static Two phase contructor that instantiates the CLocSUPLServerContainer
-		 * 
-		 * @param aRect				            Client rectangle
-         * @param aEngine                       Reference to the SUPL Settings
-         *                                      engine 		 
-         * @param CLocSUPLServerView            Pointer to the current view
-		 * @return CLocSUPLServerContainer*	Reference to the object created
-		 */
-		static CLocSUPLServerContainer* NewL( 
-                    		const TRect&               	aRect,
-                          	CLocSUPLSettingsUiEngine&	aEngine,
-                          	CLocSUPLServerView* 		aView );
-
-		/**
-		 * Static Two phase contructor that instantiates the CLocSUPLServerContainer
-		 * Leaves the object on the Cleanup stack
-		 * 
-		 * @param aRect				            Client rectangle
-         * @param aEngine                       Reference to the SUPL Settings
-         *                                      engine 		 
-         * @param CLocSUPLServerView            Pointer to the current view
-		 * @return CLocSUPLServerContainer*	Reference to the object created
-		 */
-		static CLocSUPLServerContainer* NewLC( 
-                    		const TRect&               	aRect,
-                          	CLocSUPLSettingsUiEngine&	aEngine,
-                          	CLocSUPLServerView* 		aView );
-
-		/**
-		 * Destructor
-		 */
-		~CLocSUPLServerContainer();
-    
-		/**
-		 * Inherited from CCoeControl
-		 */
-		void HandleResourceChange( TInt aType );
-
-        /**
-         * Returns the help context
-         *
-         * @param aContext	The help context that has to be determined
-         */
-        void GetHelpContext( TCoeHelpContext& aContext ) const; 
-        
-        /**
-         * From CoeControl
-         */
-        TInt CountComponentControls() const;
-
-        /**
-         * From CCoeControl
-         */
-        CCoeControl* ComponentControl( TInt aIndex ) const;
-        
-        /**
-         * Inherited from CCoeControl
-         */
-        TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
-        						           TEventCode aType );
-		 		 		 
-		/**
-         * Inherited from MEikListBoxObserver
-         */
-        void HandleListBoxEventL( CEikListBox*      aListBox, 
-        					      TListBoxEvent     aEventType );
-	 
-        /**
-         * Inherited from CCoeControl
-         */
-        void HandlePointerEventL(const TPointerEvent& aPointerEvent);
-	public: // New functions
-		
-        /**
-         * Refreshes the screen so that the list box reflects the latest contents
-         */
-         void UpdateScreenL();
-         
-        /**
-         * Return reference to listbox
-         * @return CEikListBox reference
-         */
-        CEikListBox& ListBoxL();
-        
-        /**
-		 * Returns the Selected element. The list box model defines the
-		 * enumeration that would determine the current element that has been
-		 * selected
-		 *
-		 * @return TInt Index of the item selected
-		 */
-		TInt SelectedItemIndex();
-		 
-        /**
-         * Return current selected server id
-         */
-		TInt64 CurrentSlpId();
-        					      
-        /**
-         * Return current selected/marked server count
-         */
-		TInt SelectedCount();
-
-        /**
-         * Return total no of servers in the view
-         */		
-		TInt ServerCount();
-        					      
-        /**
-         * Returns the slp ids array
-         */		
-		RArray<TInt64>& SlpIds();
-		
-		/**
-         * Sets the current selected item
-         */	
-		void SetSelectedIndex();
-		
-		/**
-         * Shows context specific options menu
-         */	
-		void ShowContextMenuL();
-
-	protected:
-		/**
-		 * Handles Focus Change to list 
-		 */
-		void FocusChanged( TDrawNow aDrawNow );
-		 
-		/**
-         * From CoeControl,SizeChanged.
-         */
-        void SizeChanged();
-
-	private:
-		/**
-		 * Overloaded Constructor
-		 */
-		CLocSUPLServerContainer( CLocSUPLServerView* aView );
-		
-		/**
-		 * Second phase of the two phase Construction process
-		 */
-		void ConstructL( const TRect&                        aRect ,
-		                       CLocSUPLSettingsUiEngine&     aEngine );
-          
-        /**
-         * Sets the Title text
-         * @param aResourceText Resource to create title
-         */
-        void MakeTitleL( TInt aResourceText );
-          
-		/**
-         * Returns the Appui's status pane
-         * @return CEikStatusPane* Statuspane pointer
-         */
-		CEikStatusPane* StatusPane();
-
-        /** 
-         * Creates the List box and the Listbox model. Associates the 
-         * list box model wit the list box
-         *
-         * @param aEngine    Reference to the SUPL Settings engine          
-         */
-        void CreateListboxL( CLocSUPLSettingsUiEngine&     aEngine );
-        
-        /**
-         * Append icon to icon array. CAknIconArray owns icons so it is 
-         * easier to it leave safely.
-         * @param aIcons icon array
-         * @param aIconFileWithPath icon file name with path
-         * @param aSkinID skin id of the icon
-         * @param aIconGraphicsIndex picture index
-         * @param aIconGraphicsMaskIndex mask index
-         */
-        void AddIconL( CAknIconArray&       aIcons,
-                       const TDesC&         aIconFileWithPath,
-                       TAknsItemID          aSkinID,
-                       TInt                 aIconGraphicsIndex,
-                       TInt                 aIconGraphicsMaskIndex );
-	
-		/**
-         * Returns the Applications Icon File name with path
-         */
-		TFileName* IconFileNameLC() const;
-		
-   private:
-    
-        /**
-         * Reference to the Current View
-         */
-        CLocSUPLServerView*					iView;
-        
-        /**
-         * Help context
-         */
-        TCoeContextName 					iContextName;
-        
-        /**
-         * Settings list box for SUPL settings
-         * Owns
-         */
-        CAknSingleNumberStyleListBox*   	iListBox;
-        
-        /**
-         * List Box model
-         */
-        CLocSUPLServerLBModel*        		iListBoxModel;
-        
-        /**
-         * Boolean flag to denote whether the pen down occured
-         */
-        TBool								iTouchFlag;  
-        
-         /**
-         * Selected item index value used to set new focus
-         * after delete operation.
-         */
-       	TInt 								iSelectedIndex;
-	};
-
-#endif // C_LOCSUPLSERVERCONTAINER_H_
-
--- a/locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplservereditor.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,288 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  supl server editor
-*
-*/
-
-
-#ifndef __LOCSUPLSERVER_EDITOR_H__
-#define __LOCSUPLSERVER_EDITOR_H__
-
-
-#include <AknForm.h>
-#include <ConeResLoader.h>
-
-const TInt KMaxUsageTextSize = 5;
-_LIT(KNoUsageInHomeNetork, "No");
-
-class CAknTitlePane;
-class CLocSUPLSettingsUiEngine;
-
-class MSuplServerEditorObserver
-	{
-public:
-	
-	virtual void UpdateIapL( const TDesC& aIapName ) = 0;
-	};
-
-
-
-/**
-*  A dialog that makes it possible to edit certain fields of a supl server.
-*/
-class CLocSUPLServerEditor : 
-    public CAknForm, public MSuplServerEditorObserver
-    {
-    public: // Constructors and destructor
-
-        /**
- 		* Static Two phase contructor that instantiates the CLocSUPLServerEditor
-		* 
-        */
-        static CLocSUPLServerEditor* NewL( 
-        					TBool aIsEditable,
-                            CLocSUPLSettingsUiEngine&       aEngine,
-        					TInt64 aSlpId
-		);
-
-        /**
- 		* Static Two phase contructor that instantiates the CLocSUPLServerEditor
-		* 
-        */
-        static CLocSUPLServerEditor* NewLC( 
-        					TBool aIsEditable,
-                            CLocSUPLSettingsUiEngine&       aEngine,
-        					TInt64 aSlpId
-		);
-
-        /**
-        * Destructor.
-        */
-        ~CLocSUPLServerEditor();
-
-    public: // From CAknDialog
-
-        /**
-        * DynInitMenuPaneL initializes the menu pane before it is displayed.
-        *
-        * @param aResourceId a resource ID indetifying the menu bar containing
-        * the menu pane to be initialized.
-        * @param aMenuPane the menu pane to initialize.
-        */
-        void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane);
-
-        /**
-        * Processes user commands.
-        *
-        * @param aCommandId id of the command to respond to
-        */
-        void ProcessCommandL(TInt aCommandId);
-        
-        /**
-         * 
-         * 
-         */
-        void HandleDialogPageEventL( TInt aEventID );
-        /*
-         * Executes the Dialog
-         */
-        TInt ExecuteLD();
-	
-	public: // from MSuplServerEditorObserver
-	
-	    /*
-         * Changes IAP value in AP field
-         */
-		void UpdateIapL( const TDesC& aIapName );
-
-	
-    protected: // From CAknForm
-
-     /**
-       * Inherited from CCoeControl
-       */				    
-        
-		TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
-		                                             TEventCode aType );
-		                                             
-        /**
-        * Handles a dialog button press for the specified dialog button.
-        *
-        * @param aButtonId
-        * @return ETrue if OK to exit, EFalse to keep the dialog active
-        */
-        TBool OkToExitL(TInt aButtonId);
-
-        /**
-        * SaveFormDataL deals with the occasion of a change from
-        * edit->view mode and the user wishes to save the changes.
-        *
-        * @return ETrue if the editable state can be left, EFalse otherwise
-        */
-        TBool SaveFormDataL();
-        
-    private: // From CEikDialog
-
-        /**
-        * PreLayoutDynInitL initialises the dialog's controls before the dialog
-        * is sized and layed out.
-        */
-        void PreLayoutDynInitL();
-
-        /**
-        * PostLayoutDynInitL initialises the dialog's controls after the dialog
-        * has been sized but before it has been activated.
-        */
-        void PostLayoutDynInitL();
-
-        /**
-        * Selects desired line on startup
-        */
-        void SetInitialCurrentLine();
-
-       
-        /** Handles layout switch */
-        void HandleResourceChange( TInt aType );
-
-		void HandleControlStateChangeL( TInt aControlId );
- 
-		void LineChangedL(TInt aControlId );
-		
- 	private:
-
-        enum TErrorInForm
-            {
-            ENoErrors
-            };
-
-        /** Constructor
-         *
-         */
-        CLocSUPLServerEditor( 
-        					TBool aIsEditable,
-                            CLocSUPLSettingsUiEngine&       aEngine,
-        					TInt64 aSlpId
-		);
-
-        void ConstructL();
-
-	private: // new functions
-        /**
-         * Change title pane text
-         */
-		void ChangeTitlePaneTextL( TDesC& aText );
-		
-        /**
-         * Load intial data values
-         */
-        void LoadFormValuesFromDataL();
-
-		/*
-		 * It checks if server details are empty in editor.
-		 * 
-		 * @ret true if event is empty else false.
-		 */
-		TBool IsEmptyServerL();
-
-		/*
-		 * it toggles value of popup field
-		 */        
-		void TogglePopupFieldControlL( TInt aControlId );
-		
-		/*
-		 * toggles the txt
-		 */
-		void SetUsageinHomeNetwork( TBool aOnOff );
-
-		/*
-		 * it changes the MSK caption 
-		 */        
-		void HandleMSKCaptionL();
-
-		/*
-		 * Confirmation query note for delete operation
-		 */        
-		TInt DeleteConfirmationQueryL();
-
-		/*
-		 * Shows Validation Info note for server address entry 
-		 */        
-		void ShowServerValidationInfoNoteL( TInt aResourceId );
-		
-		/*
-		 * Sets the cursor position to end at server address field in editor
-		 */        
-		void SetCursorToEndL();
-		
-
-    private: // Data
-
-        //! The title pane that is dynamically updated
-        CAknTitlePane* 				iTitlePane;
-
-        //! The original title that the title pane displayed before modified
-        HBufC* 						iOriginalTitle;
-
-       	/*
-         * Mode in which editor is opened. It can be either view or edit mode.
-         */   
-       	TBool                    	iIsEditMode;
-      
-       	/*
-         * Mode in which editor is opened. It can be either view or edit mode.
-         */      
-      	TBool 						iIsNewServer;
-      	
-	   	/*
-	     *  help context object
-   	     */
-       	TCoeHelpContext         	iHelpContext;  
-
-		/*
-		 * Reference to the SUPL Settings engine
-		 */
-	    CLocSUPLSettingsUiEngine&	iEngine;	
-	    
-	    /**
-         * SUPL Servers SLP ID to get and set the server attributes.
-         * Owns.
-         */
-        TInt64						iSlpId;
-        
-	    /**
-         * SUPL Server Address 
-         * Owns.
-         */
-	    HBufC* 						iServerAddress;
-	    
-	    /**
-         * SUPL Server Access point
-         * Owns.
-         */
-	    HBufC* 						iIap;
-	    
-	    /**
-         * SUPL Server usage in home network
-         * Owns.
-         */
-	    TBool 						iUsageInHomeNw;
-	    
-	    /**
-	    	* It determines if form is modified by user
-	    	*/	    
-	    TBool							iIsModified;
-    };
-
-#endif // __LOCSUPLSERVER_EDITOR_H__
-
--- a/locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplserverlbmodel.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,162 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  List box model for the SUPL server UI
-*
-*/
-
-#ifndef C_LOCSUPLSERVERLBMODEL_H_
-#define C_LOCSUPLSERVERLBMODEL_H_
-
-// System Include
-#include <e32base.h>
-#include <bamdesca.h>  // MDesCArray
-
-// Forward Declaration
-class CLocSUPLSettingsUiEngine;
-class CServerParams;
-
-// Class Declaration
-/**
- * Model for the SUPL Settings UI container. 
- *
- * The model interacts with the SUPL Settings Engine inorder to obtain the latest
- * SUPL UI Settings values
- *
- * @lib locsuplsettings.lib
- * @since S60 v3.1
- */
-class CLocSUPLServerLBModel : public CBase,
-						      public MDesCArray
-	{
-	public:
-        /**
-        * Enumerations for List box Entries
-        */
-        enum	TSUPLSettingsItemId        
-            {
-            ESUPLSettingsServerAddress = 0
-            };
-            	
-	public:
-        /**
-         * Two-phased constructor
-         *
-         * @param  aEngine                      Reference the SUPL Settings Engine
-         * @return CLocSUPLServerLBModel*     Reference to the object created
-         */
-        static CLocSUPLServerLBModel* NewL( 
-                        CLocSUPLSettingsUiEngine&     aEngine );
-
-        /**
-         * Two-phased constructor
-         *
-         * @param  aEngine                      Reference the SUPL Settings Engine         
-         * @return CLocSUPLServerLBModel*     Reference to the object created
-         */
-        static CLocSUPLServerLBModel* NewLC( 
-                        CLocSUPLSettingsUiEngine&     aEngine );
-        
-        /**
-         * Destructor.
-         */
-        virtual ~CLocSUPLServerLBModel();
-    
-    public: // New functions
-    
-        /**
-         * Returns the slp id array to get server attributes
-         */
-   		RArray<TInt64>& SlpIds();		        
-		
-        /**
-         * Refresh the slp id array list from the supl settings
-         */
-		void UpdateSlpIdsL();
-		
-    protected:
-        /**
-         * Inherited from MDesCArray
-         */
-        TInt MdcaCount() const;
-
-        /**
-         * Inherited from MDesCArray
-         */
-        TPtrC16 MdcaPoint( TInt aIndex ) const;
-        				
-    private:
-        /**
-         * C++ constructor.
-         */
-        CLocSUPLServerLBModel( CLocSUPLSettingsUiEngine&     aEngine );
-        
-        /**
-         * Second Phase constructor
-         */
-        void ConstructL();
-        
-        /**
-         * Appends the server address to the end of the buffer passed.
-         * 
-         * @param aPtr Buffer to which server attributes will be
-         *             appended.
-         * @param aIndex index to get server entry 
-         */
-		void AppendSuplServerDetail( TDes& aPtr, TInt aIndex ) const;
-		
-    private:
-        /**
-         * Format conversion buffer
-         * Owns
-         */
-        HBufC16*                    	iBuffer;
-        
-        /**
-         * Reference the SUPL Settings Engine
-         */   
-        CLocSUPLSettingsUiEngine&   	iEngine;
-        
-        /** 
-         * Boolean value to indicate whethere SUPL settings usage
-         * is present.
-         */
-        TBool                       	iSuplUsagePresent;
-                
-        /**
-         * Boolean value to indicate whether SUPL address field
-         * is present.
-         */
-        TBool                       	iServerAddressPresent;     
-
-        /**
-         * SUPL Servers SlpId
-         * Owns.
-         */
-        RArray< TInt64 > 				iSlpIdList;
-        
-        /**
-         * SUPL Server Addresses 
-         * Owns.
-         */
-        RPointerArray< HBufC >			iSlpAddressList;
-        
-        /**
-         * SUPL Servers with its attributes.
-         * Owns.
-         */
-        RArray< TBool>					iEnableFlagList;
-	};
-
-#endif // C_LOCSUPLSERVERLBMODEL_H_
-
--- a/locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplserverview.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,229 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  SUPL server UI view
-*
-*/
-
-#ifndef C_LOCSUPLSERVERVIEW_H_
-#define C_LOCSUPLSERVERVIEW_H_
-
-//  System Includes
-#include <data_caging_path_literals.hrh>
-#include <e32base.h>
-#include <aknview.h>
-#include <ConeResLoader.h>
-
-// User Includes
-#include "locsuplsettingsuid.hrh"
-#include "locsuplsettingseventhandler.h"
-
-// Forward Declarations
-class CLocSUPLServerContainer;
-class MLocSUPLSettingsEventHandler;
-class CLocSUPLSettingsUiEngine;
-class CLocSUPLServerEditor;
-
-// Constant Declarations
-const TUid KLocSUPLServerUiViewId = { KLOCSUPLSERVERUIUID3 };
-
-// Class Declaration
-
-/**
- * SUPL server UI View. 
- */
-class CLocSUPLServerView : public CAknView
-	{
-    public:
-        /**
-         * Creates new SUPL server UI View.
-         *
-         * @param aEngine                   Reference to the SUPL Settings
-         *                                  engine
-         * @param aEventHandler			    Reference to the Event Handler
-         * @return CLocSUPLServerView*	Reference to the application view
-         */                                                 
-        static CLocSUPLServerView* NewL( 
-                            CLocSUPLSettingsUiEngine&       aEngine,
-        					MLocSUPLSettingsEventHandler&	aEventHandler );
-
-		/**
-         * Creates new SUPL Settings UI View. Leaves the object on the 
-         * Clean up stack
-         *
-         * @param aEngine                   Reference to the SUPL Settings
-         *                                  engine          
-         * @param aEventHandler			    Pointer to the Event Handler
-		 * @return CLocSUPLServerView*	Reference to the application view
-         */                                                 
-        static CLocSUPLServerView* NewLC( 
-                            CLocSUPLSettingsUiEngine&       aEngine,
-         					MLocSUPLSettingsEventHandler&	aEventHandler );
-        
-		/**
-		 * Destructor
-		 */
-		~CLocSUPLServerView ();
-		
-        /**
-         * Handles the Screen Size update
-         */
-        void HandleScreenSizeChange();
-        
-        /**
-         * Updates the View
-         */
-        void UpdateView();
-		
-        /**
-		 * Returns the Selected element. The list box model defines the
-		 * enumeration that would determine the current element that has been
-		 * selected
-		 *
-		 * @return TInt Index of the item selected
-		 */
-		TInt SelectedItemIndex();
-		         
-		/**
-         * From CAknView. 
-         */
-		void DoActivateL( const TVwsViewId& aPrevViewId,
-		 						 TUid		 aCustomMessageId,
-						   const TDesC8&	 aCustomMessage);
-		
-		/**
-         * From CAknView. 
-         */
-        void DoDeactivate();
- 
- 		/**
-         * From CAknView. Returns the View Id. Should be chosen to reflect 
-		 * the Implementation UID of the Plugin
-         */
-        TUid Id() const;
-
-        /**
-         * From CAknView. 
-         */
-        void HandleCommandL( TInt aCommand );
-        
-       /**
-        * From MEikMenuObserver
-        */
-        void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
-                
-	private:
-		/**
- 		 * C++ Overloaded Constructor
-		 */
-		CLocSUPLServerView( CLocSUPLSettingsUiEngine&     aEngine,
-		 					MLocSUPLSettingsEventHandler& aEventHandler );
-
-		/**
-		 * Second Phase Constructor
-		 */
-		void ConstructL();
-
-        /**
-        * Shows or dims help option, depending wheather help feature
-        * is supported or not.
-        * @param aMenuPane
-        */
-        void HandleHelpFeature( CEikMenuPane& aMenuPane ) const;		
-		
-		/**
-		 * Second Phase Constructor
-		 */
-		TInt DeletionConfirmationQueryL( const TInt aAmount );
-		
-		/**
-		 * Deletes the selected server/s
-		 */
-		void DeleteServerL();
-		
-		/**
-		 * Sets the selected server/s as disable
-		 */
-		void DisableServerL();
-		
-		/**
-		 * Sets the selected server/s as enable
-		 */
-		void EnableServerL();
-
-		/**
-		 * Sets MSK Button Group
-		 */		
-		void ChangeMSKL();
-		
-		/**
-		 * Gets the ids for selected items
-		 */		
-		void GetSelectedItemIdsL(
-		    RArray<TInt64>& aSelectedItems,
-		    const CArrayFix<TInt>& aSelectedIndexes ) const;
-		
-		/**
-		 * Gets the count for disabled servers
-		 */		
-		TInt SelectedDisabledServerCountL();
-		
-	private:		
-		/**
-		 * Reference to the event Handler for handling UI events
-		 */
-		MLocSUPLSettingsEventHandler&	iEventHandler;
-	
-	    /**
-	     * Reference to the SUPL Settings engine
-	     */
-	    CLocSUPLSettingsUiEngine&     	iEngine;	
-
-		/**
-		 * Container Object
-		 * Owns
-		 */
-		CLocSUPLServerContainer*		iContainer;
-		
-		/**
-         * Container Object used while prioritizing the servers
-         * TC Id: ou1cimx1#219289
-         * Owns
-         */		
-	      CLocSUPLServerContainer*        iNewContainer;
-		/**
-		 * Boolean value to indicate that the SUPL settings UI is
-		 * started from the settings UI server.
-		 */
-		TBool                         	iStartedFromServer;
-		
-		/**
-		 * Boolean value to start the prioritize operation
-		 */		
-		TBool							iStartedPrioritize;
-		
-		/**
-		 * Value to store the selected server index 
-		 * for prioritize operation
-		 */				
-		TInt 							iSelectedIndex;
-		
-		/**
-		 * Value to store the selected server's slpId 
-		 * for prioritize operation
-		 */				
-		TInt64							iSelectedSlpId;
-	};			
-
-#endif // C_LOCSUPLSERVERVIEW_H_
-
--- a/locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplsessioncontainer.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,278 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  SUPL session UI View's container
-*
-*/
-
-
-#ifndef C_LOCSUPLSESSIONCONTAINER_H
-#define C_LOCSUPLSESSIONCONTAINER_H
-
-// System Includes 
-#include <e32base.h>
-#include <coecntrl.h>
-#include <eiklbo.h>
-
-    
-// Forward Declarations
-class CLocSUPLSessionLBModel;
-class CLocSUPLSettingsUiEngine;
-class CAknSingleGraphicStyleListBox;
-class CAknIconArray;
-class CLocSUPLSessionView;
-
-// Class Declarations
-/**
- * Container for the SUPL session UI View.
- * 
- * Contains the Listbox control that is used to display the Active SUPL sessions
- *
- * @lib locsuplsettings.lib
- * @since S60 v3.1 
- */
-class CLocSUPLSessionContainer : public CCoeControl,
-                                public MEikListBoxObserver
-	{
-	public:
-		/**
- 		 * Static Two phase constructor that instantiates the CLocSUPLSessionContainer
-		 * 
-		 * @param aRect				            Client rectangle
-         * @param aEngine                       Reference to the SUPL Settings
-         *                                      engine 		 
-         * @param CLocSUPLSessionView            Pointer to the current view
-		 * @return CLocSUPLSessionContainer*	Reference to the object created
-		 */
-		static CLocSUPLSessionContainer* NewL( 
-                    		const TRect&               	aRect,
-                          	CLocSUPLSettingsUiEngine&	aEngine,
-                          	CLocSUPLSessionView* 		aView );
-
-		/**
-		 * Static Two phase constructor that instantiates the CLocSUPLSessionContainer
-		 * Leaves the object on the Cleanup stack
-		 * 
-		 * @param aRect				            Client rectangle
-         * @param aEngine                       Reference to the SUPL Settings
-         *                                      engine 		 
-         * @param CLocSUPLSessionView            Pointer to the current view
-		 * @return CLocSUPLSessionContainer*	Reference to the object created
-		 */
-		static CLocSUPLSessionContainer* NewLC( 
-                    		const TRect&               	aRect,
-                          	CLocSUPLSettingsUiEngine&	aEngine,
-                          	CLocSUPLSessionView* 		aView );
-
-		/**
-		 * Destructor
-		 */
-		~CLocSUPLSessionContainer();
-    
-		/**
-		 * Inherited from CCoeControl
-		 */
-		void HandleResourceChange( TInt aType );
-
-        /**
-         * Returns the help context
-         *
-         * @param aContext	The help context that has to be determined
-         */
-        void GetHelpContext( TCoeHelpContext& aContext ) const; 
-        
-        /**
-         * From CoeControl
-         */
-        TInt CountComponentControls() const;
-
-        /**
-         * From CCoeControl
-         */
-        CCoeControl* ComponentControl( TInt aIndex ) const;
-        
-        /**
-         * Inherited from CCoeControl
-         */
-        TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
-        						           TEventCode aType );
-		 		 		 
-		/**
-         * Inherited from MEikListBoxObserver
-         */
-        void HandleListBoxEventL( CEikListBox*      aListBox, 
-        					      TListBoxEvent     aEventType );
-	
-	public: // New functions
-		
-        /**
-         * Refreshes the screen so that the list box reflects the latest contents
-         */
-         void UpdateScreenL();
-         
-        /**
-         * Return reference to listbox
-         * @return CEikListBox reference
-         */
-        CEikListBox& ListBoxL();
-        
-        /**
-		 * Returns the Selected element. The list box model defines the
-		 * enumeration that would determine the current element that has been
-		 * selected
-		 *
-		 * @return TInt Index of the item selected
-		 */
-		TInt SelectedItemIndex();
-		 
-        /**
-         * Return current selected server id
-         */
-		TInt64 CurrentSessionId();
-        					      
-        /**
-         * Return current selected/marked server count
-         */
-		TInt SelectedCount();
-
-        /**
-         * Return total no of sessions in the view
-         */		
-		TInt SessionCount();
-        					      
-        /**
-         * Returns the session ids array
-         */		
-		RArray<TInt64>& SessionIds();
-		
-		 /**
-      * Sets the current selected item
-      */	
-		void SetSelectedIndex();
-		
-		 /**
-      * Shows context specific options menu
-      */	
-		void ShowContextMenuL();
-
-     /**
-      * Return the session name identified by session id
-      */		
-		TPtrC CurrentSessionName();
-		
-		/**
-		 * Sets focus to the specific item in Active services view
-		 * @param aIndex	index of item to be focussed
-		 */
-    void FocusToSessionDetailL( TInt aIndex );
-
-	protected:
-		/**
-		 * Handles Focus Change to list 
-		 */
-		void FocusChanged( TDrawNow aDrawNow );
-		 
-		/**
-         * From CoeControl,SizeChanged.
-         */
-        void SizeChanged();
-
-	private:
-		/**
-		 * Overloaded Constructor
-		 */
-		CLocSUPLSessionContainer( CLocSUPLSessionView* aView );
-		
-		/**
-		 * Second phase of the two phase Construction process
-		 */
-		void ConstructL( const TRect&                        aRect ,
-		                       CLocSUPLSettingsUiEngine&     aEngine );
-          
-        /**
-         * Sets the Title text
-         * @param aResourceText Resource to create title
-         */
-        void MakeTitleL( TInt aResourceText );
-          
-		/**
-         * Returns the Appui's status pane
-         * @return CEikStatusPane* Statuspane pointer
-         */
-		CEikStatusPane* StatusPane();
-
-        /** 
-         * Creates the List box and the Listbox model. Associates the 
-         * list box model wit the list box
-         *
-         * @param aEngine    Reference to the SUPL Settings engine          
-         */
-        void CreateListboxL( CLocSUPLSettingsUiEngine&     aEngine );
-        
-        /**
-         * Append icon to icon array. CAknIconArray owns icons so it is 
-         * easier to it leave safely.
-         * @param aIcons icon array
-         * @param aIconFileWithPath icon file name with path
-         * @param aSkinID skin id of the icon
-         * @param aIconGraphicsIndex picture index
-         * @param aIconGraphicsMaskIndex mask index
-         */
-        void AddIconL( CAknIconArray&       aIcons,
-                       const TDesC&         aIconFileWithPath,
-                       TAknsItemID          aSkinID,
-                       TInt                 aIconGraphicsIndex,
-                       TInt                 aIconGraphicsMaskIndex );
-	
-		/**
-         * Returns the Applications Icon File name with path
-         */
-		TFileName* IconFileNameLC() const;
-		
-   private:
-    
-        /**
-         * Reference to the Current View
-         */
-        CLocSUPLSessionView*					iView;
-        
-        /**
-         * Help context
-         */
-        TCoeContextName 					iContextName;
-        
-        /**
-         * Single Graphic Listbox to display the active sessions
-         * Owns
-         */
-        CAknSingleGraphicStyleListBox*   	iListBox;
-      //  CAknSingleNumberStyleListBox*       iListBox;
-        /**
-         * List Box model
-         */
-        CLocSUPLSessionLBModel*        		iListBoxModel;
-        
-        /**
-         * Boolean flag to denote whether the pen down occured
-         */
-        TBool								iTouchFlag;  
-        
-         /**
-         * Selected item index value used to set new focus
-         * after delete operation.
-         */
-       	TInt 								iSelectedIndex;
-	};
-
-#endif // C_LOCSUPLSESSIONCONTAINER_H
-
--- a/locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplsessioneditor.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,209 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  supl session editor
-*
-*/
-
-
-#ifndef __LOCSUPLSESSION_EDITOR_H__
-#define __LOCSUPLSESSION_EDITOR_H__
-
-
-#include <AknForm.h>
-#include <ConeResLoader.h>
-
-#include "locsuplsettingssessionobserver.h"
-
-class CAknTitlePane;
-class CLocSUPLSettingsUiEngine;
-
-/**
-*  A dialog that makes it possible to edit certain fields of a supl session.
-*/
-class CLocSUPLSessionEditor : 
-    public CAknForm, public MLocSUPLSettingsSessionObserver
-    {
-    public: // Constructors and destructor
-
-        /**
- 		* Static Two phase constructor that instantiates the CLocSUPLSessionEditor
-		* 
-        */
-        static CLocSUPLSessionEditor* NewL( 
-                            CLocSUPLSettingsUiEngine&       aEngine,
-        					TInt64 aSessionId
-		);
-
-        /**
- 		* Static Two phase constructor that instantiates the CLocSUPLSessionEditor
-		* 
-        */
-        static CLocSUPLSessionEditor* NewLC( 
-                            CLocSUPLSettingsUiEngine&       aEngine,
-        					TInt64 aSessionId
-		);
-
-        /**
-        * Destructor.
-        */
-        ~CLocSUPLSessionEditor();
-
-    public: // From CAknDialog
-
-        /**
-        * DynInitMenuPaneL initializes the menu pane before it is displayed.
-        *
-        * @param aResourceId a resource ID indetifying the menu bar containing
-        * the menu pane to be initialized.
-        * @param aMenuPane the menu pane to initialize.
-        */
-        void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane);
-
-        /**
-        * Processes user commands.
-        *
-        * @param aCommandId id of the command to respond to
-        */
-        void ProcessCommandL(TInt aCommandId);
-
-        /*
-         * Executes the Dialog
-         */
-        TInt ExecuteLD();
-	
-	public: // from MLocSUPLSettingsSessionObserver
-	
-        /*
-         * Calls function to load the values into the editor fields
-         */
-		void UpdateSessionL( TUpdateType aType );
-		
-        /*
-         * Returns the session id
-         */
-		TInt64 SessionId( );
-
-	
-    protected: // From CAknForm
-
-		TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
-		                                             TEventCode aType );
-		                                             
-        /**
-        * Handles a dialog button press for the specified dialog button.
-        *
-        * @param aButtonId
-        * @return ETrue if OK to exit, EFalse to keep the dialog active
-        */
-        TBool OkToExitL(TInt aButtonId);
-
-        /**
-        * SaveFormDataL deals with the occasion of a change from
-        * edit->view mode and the user wishes to save the changes.
-        *
-        * @return ETrue if the editable state can be left, EFalse otherwise
-        */
-        //TBool SaveFormDataL();
-        
-    private: // From CEikDialog
-
-        /**
-        * PreLayoutDynInitL initialises the dialog's controls before the dialog
-        * is sized and layed out.
-        */
-        void PreLayoutDynInitL();
-
-        /**
-        * PostLayoutDynInitL initialises the dialog's controls after the dialog
-        * has been sized but before it has been activated.
-        */
-        void PostLayoutDynInitL();
-
-        /**
-        * Gets the Time String from Time(in seconds)
-        */
-		void GetTimeStringL(HBufC*& aTimeString, TUint aSeconds);
- 
-		void LineChangedL(TInt aControlId );
-		
- 	private:
-
-        /** Constructor
-         *
-         */
-        CLocSUPLSessionEditor( 
-                            CLocSUPLSettingsUiEngine&       aEngine,
-        					TInt64 aSessionId
-		);
-
-        void ConstructL();
-
-	private: // new functions
-        /**
-         * Change title pane text
-         */
-		void ChangeTitlePaneTextL( TDesC& aText );
-		
-        /**
-         * Load intial data values
-         */
-        void LoadFormValuesFromDataL();
-
-		/*
-		 * it toggles value of popup field
-		 */        
-		void TogglePopupFieldControlL( TInt aControlId );
-
-		/*
-		 * it changes the MSK caption 
-		 */        
-		void HandleMSKCaptionL();
-
-		/*
-		 * Confirmation query note for delete operation
-		 */        
-		TInt DeleteConfirmationQueryL();
-
-    private: // Data
-
-        //! The title pane that is dynamically updated
-        CAknTitlePane* 				iTitlePane;
-
-        //! The original title that the title pane displayed before modified
-        HBufC* 						iOriginalTitle;
-      	
-	   	/*
-	     *  help context object
-   	     */
-       	TCoeHelpContext         	iHelpContext;  
-
-		/*
-		 * Reference to the SUPL Settings engine
-		 */
-	    CLocSUPLSettingsUiEngine&	iEngine;	
-	    
-	    /**
-         * SUPL Session unique Id.
-         */
-        TInt64						iSessionId;
-
-		/*
-		 * Reference to the SUPL Settings engine
-		 * Own:
-		 */
-	    HBufC*	iSessionName;
-    };
-
-#endif // __LOCSUPLSESSION_EDITOR_H__
-
--- a/locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplsessionlbmodel.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,168 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  List box model for the SUPL session UI
-*
-*/
-
-#ifndef C_LOCSUPLSESSIONLBMODEL_H_
-#define C_LOCSUPLSESSIONLBMODEL_H_
-
-// System Include
-#include <e32base.h>
-#include <bamdesca.h>  // MDesCArray
-
-// Forward Declaration
-class CLocSUPLSettingsUiEngine;
-class CTriggerParams;
-
-// Class Declaration
-/**
- * Model for the SUPL Sessions UI container. 
- *
- * The model interacts with the SUPL Settings Engine inorder to obtain the latest
- * SUPL UI session array
- *
- * @lib locsuplsettings.lib
- * @since S60 v3.1
- */
-class CLocSUPLSessionLBModel : public CBase,
-						      public MDesCArray
-	{
-	public:
-        /**
-         * Two-phased constructor
-         *
-         * @param  aEngine                      Reference the SUPL Settings Engine
-         * @return CLocSUPLSessionLBModel*     Reference to the object created
-         */
-        static CLocSUPLSessionLBModel* NewL( 
-                        CLocSUPLSettingsUiEngine&     aEngine );
-
-        /**
-         * Two-phased constructor
-         *
-         * @param  aEngine                      Reference the SUPL Settings Engine         
-         * @return CLocSUPLSessionLBModel*     Reference to the object created
-         */
-        static CLocSUPLSessionLBModel* NewLC( 
-                        CLocSUPLSettingsUiEngine&     aEngine );
-        
-        /**
-         * Destructor.
-         */
-        virtual ~CLocSUPLSessionLBModel();
-    
-    public: // New functions
-    
-        /**
-         * Returns the session id array to get session attributes
-         */
-   		RArray<TInt64>& SessionIds();		        
-		
-        /**
-         * Refresh the session id array list from the supl settings
-         */
-		void UpdateSessionIdsL();
-
-        /**
-         * Return the session name identified by session id
-         */		
-		TPtrC SessionName( TInt aIndex );
-		
-    protected:
-        /**
-         * Inherited from MDesCArray
-         */
-        TInt MdcaCount() const;
-
-        /**
-         * Inherited from MDesCArray
-         */
-        TPtrC16 MdcaPoint( TInt aIndex ) const;
-        				
-    private:
-        /**
-         * C++ constructor.
-         */
-        CLocSUPLSessionLBModel( CLocSUPLSettingsUiEngine&     aEngine );
-        
-        /**
-         * Second Phase constructor
-         */
-        void ConstructL();
-        
-        /**
-         * Appends the session name and type to the buffer passed.
-         * 
-         * @param aPtr Buffer to which session name and type will be
-         *             appended.
-         * @param aIndex index to get session entry 
-         */
-		void AppendSuplSessionDetail( TDes& aPtr, TInt aIndex ) const;
-		
-    private:
-        /**
-        * Enumerations for Supl sessions type
-        */
-        enum	TSUPLSessionType       
-            {
-        /**
-         * Supl session is of Terminal Initiaon Type
-         */
-            ESUPLSessionTIType = 0,
-        /**
-         * Supl session is of Network Initiaon Type
-         */
-            ESUPLSessionNIType
-            };
-
-    private:
-        /**
-         * Format conversion buffer
-         * Owns
-         */
-        HBufC16*                    	iBuffer;
-        
-        /**
-         * Reference the SUPL Settings Engine
-         */   
-        CLocSUPLSettingsUiEngine&   	iEngine;
-
-        /**
-         * SUPL Sessions Id
-         * Owns.
-         */
-        RArray< TInt64 > 				iSessionIdList;
-        
-        /**
-         * SUPL Sessions Name
-         * Owns.
-         */
-        RPointerArray< HBufC >			iSessionNameList;
-        
-        /**
-         * SUPL Sessions Type.
-         * Owns.
-         */
-        RArray< TSUPLSessionType >					iSessionTypeList;
-        
-        /**
-         * Unnamed session SUPL Sessions Name
-         * Owns.
-         */
-        HBufC*			iUnnamedSuplActiveSessions;
-	};
-
-#endif // C_LOCSUPLSESSIONLBMODEL_H_
-
--- a/locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplsessionview.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,185 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  SUPL session UI view
-*
-*/
-
-#ifndef C_LOCSUPLSESSIONVIEW_H
-#define C_LOCSUPLSESSIONVIEW_H
-
-//  System Includes
-#include <data_caging_path_literals.hrh>
-#include <e32base.h>
-#include <aknview.h>
-#include <ConeResLoader.h>
-
-// User Includes
-#include "locsuplsettingsuid.hrh"
-#include "locsuplsettingseventhandler.h"
-
-// Forward Declarations
-class CLocSUPLSessionContainer;
-class MLocSUPLSettingsEventHandler;
-class CLocSUPLSettingsUiEngine;
-
-// Constant Declarations
-const TUid KLocSUPLSessionUiViewId = { KLOCSUPLSESSIONUIUID3 };
-
-// Class Declaration
-
-/**
- * SUPL server UI View. 
- */
-class CLocSUPLSessionView : public CAknView
-	{
-    public:
-        /**
-         * Creates new SUPL server UI View.
-         *
-         * @param aEngine                   Reference to the SUPL Settings
-         *                                  engine
-         * @param aEventHandler			    Reference to the Event Handler
-         * @return CLocSUPLSessionView*	Reference to the application view
-         */                                                 
-        static CLocSUPLSessionView* NewL( 
-                            CLocSUPLSettingsUiEngine&       aEngine,
-        					MLocSUPLSettingsEventHandler&	aEventHandler );
-
-		/**
-         * Creates new SUPL Settings UI View. Leaves the object on the 
-         * Clean up stack
-         *
-         * @param aEngine                   Reference to the SUPL Settings
-         *                                  engine          
-         * @param aEventHandler			    Pointer to the Event Handler
-		 * @return CLocSUPLSessionView*	Reference to the application view
-         */                                                 
-        static CLocSUPLSessionView* NewLC( 
-                            CLocSUPLSettingsUiEngine&       aEngine,
-         					MLocSUPLSettingsEventHandler&	aEventHandler );
-        
-		/**
-		 * Destructor
-		 */
-		~CLocSUPLSessionView ();
-		
-        /**
-         * Handles the Screen Size update
-         */
-        void HandleScreenSizeChange();
-        
-        /**
-         * Updates the View
-         */
-        void UpdateView();
-		
-        /**
-		 * Returns the Selected element. The list box model defines the
-		 * enumeration that would determine the current element that has been
-		 * selected
-		 *
-		 * @return TInt Index of the item selected
-		 */
-		TInt SelectedItemIndex();
-		         
-		/**
-         * From CAknView. 
-         */
-		void DoActivateL( const TVwsViewId& aPrevViewId,
-		 						 TUid		 aCustomMessageId,
-						   const TDesC8&	 aCustomMessage);
-		
-		/**
-         * From CAknView. 
-         */
-        void DoDeactivate();
- 
- 		/**
-         * From CAknView. Returns the View Id. Should be chosen to reflect 
-		 * the Implementation UID of the Plugin
-         */
-        TUid Id() const;
-
-        /**
-         * From CAknView. 
-         */
-        void HandleCommandL( TInt aCommand );
-        
-       /**
-        * From MEikMenuObserver
-        */
-        void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
-       
-       /**
-         * Sets MSK Button Group
-         */	
-         void ChangeMSKL();
-                
-	private:
-		/**
- 		 * C++ Overloaded Constructor
-		 */
-		CLocSUPLSessionView( CLocSUPLSettingsUiEngine&     aEngine,
-		 					MLocSUPLSettingsEventHandler& aEventHandler );
-
-		/**
-		 * Second Phase Constructor
-		 */
-		void ConstructL();
-
-        /**
-        * Shows or dims help option, depending wheather help feature
-        * is supported or not.
-        * @param aMenuPane
-        */
-        void HandleHelpFeature( CEikMenuPane& aMenuPane ) const;		
-		
-		/**
-		 * Confirmation query to delete
-		 */
-		TInt DeletionConfirmationQueryL( const TInt aAmount );
-		
-		/**
-		 * Deletes the selected server/s
-		 */
-		void DeleteSessionL();
-
-		
-		/**
-		 * Gets the ids for selected items
-		 */		
-		void GetSelectedItemIdsL(
-		    RArray<TInt64>& aSelectedItems,
-		    const CArrayFix<TInt>& aSelectedIndexes ) const;
-		
-	private:		
-		/**
-		 * Reference to the event Handler for handling UI events
-		 */
-		MLocSUPLSettingsEventHandler&	iEventHandler;
-	
-	    /**
-	     * Reference to the SUPL Settings engine
-	     */
-	    CLocSUPLSettingsUiEngine&     	iEngine;	
-
-		/**
-		 * Container Object
-		 * Owns
-		 */
-		CLocSUPLSessionContainer*		iContainer;
-	};			
-
-#endif // C_LOCSUPLSESSIONVIEW_H
-
--- a/locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplsettings.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,296 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  SUPL Settings UI implementation.
-*
-*/
-
-
-#ifndef CLOCSUPLSETTINGS_H_
-#define CLOCSUPLSETTINGS_H_
-
-// User Includes
-#include "locsettingsui.h"
-#include "locsuplsettingsuiengobserver.h"
-#include "locsuplsettingseventhandler.h"
-
-// System Includes
-#include <ConeResLoader.h>
-#include <data_caging_path_literals.hrh>
-
-
-// Forward Declarations
-class CAknQueryDialog;
-class MLocSettingsUiObserver;
-class CLocSUPLSettingsView;
-class CLocSUPLServerView;
-class CLocSUPLSessionView;
-class CLocSUPLSettingsUiEngine;
-
-// Global constants
-
-/**
- * SUPL Settings RSC file name
- */
-_LIT( KSUPLUiResFileName, "locsuplsettingsui.rsc" );
-
-class CLocSUPLAO : public CActive
-    {               
-    public:
-        static CLocSUPLAO* NewL(
-                MLocSettingsUiObserver&     aSettingsUiObserver,
-                CLocSUPLSettingsUiEngine&   aSettingsEngine,
-                TInt                        aLaunchParams  );
-        
-        virtual ~CLocSUPLAO();
-        
-        void CompleteRequest();
-
-    private:
-        CLocSUPLAO( MLocSettingsUiObserver&     aSettingsUiObserver,
-                    CLocSUPLSettingsUiEngine&   aSettingsEngine,
-                    TInt                        aLaunchParams );
-        
-        void RunL();
-        
-        void DoCancel();
-        
-        
-        
-    private:
-        MLocSettingsUiObserver&         iSettingsUiObserver;
-        CLocSUPLSettingsUiEngine&       iSettingsEngine;
-        TInt                            iLaunchParams;  
-    };
-
-/**
- * CLocSUPLSettings
- *
- * ECom Plugin implementation for SUPL Settings UI. The Settings UI provides 
- * two major functionalities i.e., Launching a Settings UI plug-in and 
- * cancelling the existing launched UI.
- * The Launch request depending on the parameters is expected to pop up a 
- * query dialog to request the user whether he intends to configure SUPL
- * settings currently. The default behaviour should be to pop up the configuration
- * dialog for SUPL settings.
- */
-class CLocSUPLSettings : public CLocSettingsUi,
-                         public MLocSUPLSettingsUiEngObserver,
-                         public MLocSUPLSettingsEventHandler
-    {
-    
-    public:
-        
-        /**
-         * Symbian OS two-phased constructor
-         * @return 
-         */
-        static CLocSUPLSettings* NewL( TAny* aParam );
-    
-        /**
-         * Destructor.
-         */
-        ~CLocSUPLSettings();
-
-    public: // Inherited from CLocSettingsUi
-         
-    	/**
-    	 * Inherited from CLocSettingsUi
-		 * Launches the Settings UI
-		 *
-		 * @param aUiLaunchParams	Flags that define specific configuration of
-         *                          if the Settings UI, that the user of the API
-         *                          wants to launch. If more than one functionality
-         *                          is requested then the various combinations
-         *                          are to be ORed.
-		 */
-		 void LaunchL( TInt		aUiLaunchParams );
-         
-        /**
-         * Inherited from CLocSettingsUi
-         * Launches the Settings UI
-         *
-         * @param aUiLaunchParams   Flags that define specific configuration of
-         *                          if the Settings UI, that the user of the API
-         *                          wants to launch. If more than one functionality
-         *                          is requested then the various combinations
-         *                          are to be ORed.
-         */
-         void LaunchL( const TDesC&       aUiLaunchParams );
-
-		/**
-		 * Inherited from CLocSettingsUi
-		 * Closes the running Settings UI prematurely.
-		 */
-		 void Close();
-
-		/**
-		 * Inherited from CLocSettingsUi
-         * Method for getting caption of this plugin. This should be the 
-         * localized name of the settings view to be shown in parent view.
-         *
-         * @param aCaption pointer to Caption variable
-         */
-         void GetCaptionL( TDes& aCaption ) const;
-
-		/**
-		 * Inherited from CLocSettingsUi
-         * Returns the priority of the UI module. 
-         * 
-         * @return Priority of the Settings UI
-         */
-         TInt GetPriority();
-
-		/**
-		 * Inherited from CLocSettingsUi
-		 * Accessor Function for determine whether the UI presence 
-		 * should be shown to the user or should be hidden
-		 *
-		 * @return ETrue  If the presence of the UI be shown to the usr
-				   EFalse If the UI should funtion as a non visible UI
-		 */
-		 TBool	IsVisible();
-	
-	public: // Inherited from MLocSUPLSettingsUiEngObserver
-		
-		/**
-		 * Inherited from MLocSUPLSettingsUiEngObserver
-		 */
-		void HandleSettingsEventL( TSettingsEventType    aEvent );
-	
-	public: // Inherited from MLocSUPLSettingsEventHandler
-		
-		/**
-		 * Inherited from MLocSUPLSettingsEventHandler
-		 */
-		void HandleScreenSizeChange();
-		 
-		/**
-         * Inherited from MLocSUPLSettingsEventHandler
-         * Handles commands from the views
-         *
-         * @param  aCommand Command ID
-         */
-        void HandleCommandL( TInt aCommand );
-    
-	private:
-	    enum TLaunchParamType
-	        {
-	        ELaunchParamInt = 0,
-	        ELaunchParamString
-	        };
-        
-    private:
-        /**
-         * C++ default constructor.
-         */
-        CLocSUPLSettings( MLocSettingsUiObserver&		aSettingsUiObserver,
-					 	   CAknViewAppUi&				aAppUi );
-
-        /**
-         * Second phase constructor.
-         */
-        void ConstructL();
-  
-        /**
-         * Launches the SUPL UI
-         */
-        void LaunchSUPLUiL();
-        
-        /**
-         * Opens the nearest localized resourcefile using aResourceLoader. 
-         * aResourceLoader should be opened only once before closing it. 
-         * Otherwise it will raise a panic. Therefore it is better to have 
-         * multiple resource loaders.
-         * 
-         * @param aResourceFileName Drive and name of resource file in format 
-         *                          <path>:<rsc_file_name>
-         * @param aResourceLoader Resource loader for the resource. The loader 
-         *                        must not be opened allready or it will raise 
-         *                        a panic. It is caller's responsibility to 
-         *                        close the resource loader after using the 
-         *                        resource.
-         */
-        void OpenLocalizedResourceFileL( const TDesC& 				aResourceFileName, 
-        								       RConeResourceLoader& aResourceLoader );
-          								       
-    private:
-	    /**
-	     * Resource Loader handle for handling SUPL Settings UI specific resources
-	     */
-    	RConeResourceLoader 			iResourceLoader;
-              								       
-    	/** 
-    	 * Reference to the SUPL Settings View
-    	 * Owns
-    	 */
-    	CLocSUPLSettingsView*			iSettingsView;
-    	
-    	/**
-    	 * View Id for SUPL Settings UI View
-    	 */
-    	TUid							iSettingsViewId;              								       
-
-    	/** 
-    	 * Reference to the SUPL Server View
-    	 * Owns
-    	 */
-    	CLocSUPLServerView*				iServerView;
-    	
-    	/**
-    	 * View Id for SUPL Server UI View
-    	 */
-    	TUid							iServerViewId;              								       
-
-        /**
-         * Settings UI Engine
-         * Owns
-         */
-         CLocSUPLSettingsUiEngine*      iSettingsEngine;
-         
-         /** 
-    	 * Reference to the SUPL Session View
-    	 * Owns
-    	 */
-         CLocSUPLSessionView*           iSessionView;
-         
-    	/**
-    	 * View Id for SUPL Session UI View
-    	 */
-    	TUid							iSessionViewId;   
-         								       
-        /**
-         * Denotes whether a Launch request is outstanding. 
-         * Necessary to handle the closing of the configuration dialog ( if it
-         * exists ) gracefully. If the dialog is currenlty being shown to
-         * the user and we get a Cancel request, then we shouldnot complete
-         * the request with KErrAbort. This is done to ensure that we complete
-         * the request only if a Launch call is outstanding
-         */
-         TBool                          iLaunchOutStanding;
-        
-        /**
-         * Launch Paramters
-         */
-         TInt                           iLaunchParams;    
-         
-        /**
-         * Launch Param Type
-         */
-         TLaunchParamType               iLaunchParamType;
-         
-         CLocSUPLAO*                    iLaunchAO;
-    };
-
-#endif // CLOCSUPLSETTINGS_H_
-
--- a/locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplsettings.hrh	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Contains declarations for constants of SUPL Settings UI.
-*                This file can be included in C++ or resource file.
-*
-*/
-
-#ifndef LOCSUPLSETTINGSUI_HRH
-#define LOCSUPLSETTINGSUI_HRH
-
-// Enumeration for command Ids
-
-enum TLocSuplCommandIds
-    {
-	ELocSuplChange = 0x05000,
-	ELocSuplClearSession, 
-	ELocSuplClearSessions, 
-	ELocSuplOpen,
-	ELocSuplMSKChange,
-	ELocSuplMSKOpen,
-	ELocSuplMSKNo,
-    ELocSuplOpenChange,
-
-	//SuplServer Command Ids
-	ELocSuplServerOpen,
-	ELocSuplServerEnable,
-	ELocSuplServerDisable,
-	ELocSuplServerNew,
-	ELocSuplServerDelete,
-	ELocSuplServerPrioritize,
-	ELocSuplServerMSKOpen, 
-	ELocSuplServerMSKEnable,
-	ELocSuplServerMSKDisable,
-	ELocSuplServerMSKNoCmd,
-
-	//Supl Server Editor CommandIds
-	ELocServerEditorEdit,	
-	ELocServerEditorDelete,	
-	ELocServerEditorDisable,	
-	ELocServerEditorEnable,			
-	ELocServerEditorDefine,
-	ELocServerEditorChange,
-	ELocServerEditorRemove,	
-	ELocServerEditorMSKDefine,
-	ELocServerEditorMSKChange,
-	ELocServerEditorNoCmd,
-	
-	//Supl Session Command Ids
-	ELocSuplSessionOpen,
-	ELocSuplSessionTerminate,
-	ELocSuplSessionsTerminate,
-	ELocSuplSessionMSKTerminate,
-	ELocSuplSessionsMSKTerminate,
-	ELocSuplSessionMSKNoCmd,
-
-	//Supl Session Editor CommandIds
-	ELocSessionEditorChange,
-	ELocSessionEditorTerminate,
-	ELocSessionEditorNoCmd
-    };
-    
-/**
- * Enumeration for Editor controls
- */
-enum TLocSuplServerEditorFormControls
-    {
-    ELocSuplServerIdServerAddr = 0x6000,
-    ELocSuplServerIdAccessPoint,
-    ELocSuplServerIdUsageInHomeNw    
-    };
-    
-/**
- * Enumeration for Session Editor controls
- */
-enum TLocSuplSessionEditorFormControls
-    {
-    ELocSuplSessionNotificationStatus = 0x7000,
-    ELocSuplSessionType,
-    ELocSuplSessionOutstandingTrigger,
-    ELocSuplSessionTimePeriod,
-    ELocSuplSessionTriggerInterval
-    };
-
-#endif      // LOCSUPLSETTINGSUI_HRH
-
-// End of File
--- a/locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplsettingsadapter.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,522 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Adapter to the SUPL Settings API
-*
-*/
-
-
-#ifndef CLOCSUPLSETTINGSADAPTER_H_
-#define CLOCSUPLSETTINGSADAPTER_H_
-
-// System Includes
-#include <e32base.h>
-#include <epos_csuplsettingparams.h>		// class CServerParams
-#include <epos_csuplsettings.h>				// class CSuplSettings
-#include <epos_msuplsettingsobserver.h>
-
-// User Includes
-#include "epos_msuplsettingsobserver.h"
-#include "epos_msuplsessionobserver.h"
-
-// Forward Declarations
-class MLocSUPLSettingsAdapterObserver;
-class MLocSUPLSettingsSessionObserver;
-
-// Class Declaration
-
-/**
- * Adapter class for the SUPL settings API. Handles all the interfacing
- * functionality to the SUPL Settings API. It also observes for the Settings
- * changes communicated through the MSuplSettingsObserver
- */
-class CLocSUPLSettingsAdapter : public CActive,
-                         		public MSuplSettingsObserver,
-                         		public MSuplSessionObserver
-    {
-    public:
-        /**
-         * SUPL Usage enumerations which display the order of display
-         * in the User interface
-         */
-         enum TLocSuplUsage
-            {
-            ELocSuplAutomatic = 0,
-            ELocSuplAutomaticatHome,
-            ELocSuplAlwaysAsk,
-            ELocSuplDisable
-            };               
-    public:
-        /**
- 		 * Static Two phase contructor that instantiates the CLocSUPLSettingsAdapter
-		 * 
-		 * @param aObserver				    Observer to the SUPL settings adapter
-		 * @return CLocSUPLSettingsAdapter*	Reference to the object created
-		 */
-        static CLocSUPLSettingsAdapter* NewL(
-                            MLocSUPLSettingsAdapterObserver&    aObserver );
-
-        /**
-         * Destructor
-         */
-        virtual ~CLocSUPLSettingsAdapter();
-
-    private:
-        /**
-         * Private Constructor
-         */
-        CLocSUPLSettingsAdapter( MLocSUPLSettingsAdapterObserver&    aObserver );
-
-        /**
-         * Second phase of the two phase constructor
-         */
-        void ConstructL();
-				
-    public:
-        /**
-         * Initializes the SUPL Settings API. This is an asynchronus call, the call
-         * back for which is given through the observer
-         */
-        void Initialize();
-        
-        /**
-         * Cancels the Initialization
-         */
-        void CancelInitialize();
-        
-        /**
-         * Sets the SUPL Settings usage.
-         *
-         * @param   aIndex   Index of the SUPL settings usage item.
-         */        
-        void SetSuplUsageL( const TLocSuplUsage    aIndex );
-
-        /**
-         * Obtains the SUPL Settings usage.
-         *
-         *  @param   aSuplUsage     SUPL settings usage string.
-         */  
-        void GetSuplUsageL( TDes&    aSuplUsage );
-        
-        /**
-         * Obtains the SUPL usage
-         * 
-         * @return The SUPL usage
-         */
-        TInt GetSuplUsage();
-        
-        /**
-         * Obtains the Supl Settings usage index
-         * 
-         * @return TLocSuplUsage SUPL settings usage index 
-         */
-        TLocSuplUsage GetSuplUsageIndex();
-        
-
-        /***************************************************************************
-	     * 
-	     * @since S60 9.1TB 
-	     * 
-         ***************************************************************************/
-
-        /**
-	     * Adds the new server into settings. 
-	     * After adding server entry, the server identity generated will be retuned with aSlpId..  
-	     * 
-	     * @since S60 9.1TB 
-	     *
-	     * @param [IN] aServerAddress Server address in string format 
-	     * @param [IN] aIapName The Internet Access Point Name refers to the access point which is 
-	     * used to access the HSLP over the internet.  This can have maximum size of 100 characters.
-	     * @param [IN] aUsageInHomeNw Inidcates whether server can be used in the home network or not 
-     	 */
-		void AddNewServerL( 
-                const TDesC& aServerAddress,
-                const TDesC& aIapName,
-                const TBool aUsageInHomeNw
-        );
-
-	    /**
-	     * Deletes server entry from SUPL settings storage.  
-	     *
-	     * @since S60 9.1TB 
-	     *
-	     * @param [IN] aSlpId Server identity for which the entery needs to be deleted from the SUPL settings storage 
-	     *
-	     */
-	    void RemoveServerL(
-	    		const TInt64 aSlpId
-	    );
-
-	    /**
-	     * This synchronous method is used to retrieve properties of all servers from SUPL settings storage.  
-	     * This method retrieves all properties for each server.
-	     *
-	     * @since S60 9.1TB 
-	     *
-	     * @param [OUT] aParamValues Array of retrieved server entries 
-	     * @ref CServerParams class
-	     *
-	     */
-	    void GetAllSlpL(
-	            RPointerArray<CServerParams>& aParamValues
-	    ) const;
-
-	    /**
-	     * This method is used to retrieve all properties of server from SUPL settings storage
-	     * based on SLP identification.  
-	     *
-	     * @since S60 9.1TB 
-	     *
-	     * @param [IN] aSlpId SLP ID for which the parameters needs to be changed 
-	     * @param [OUT] aParamValues Parameter for which the value needs to be changed  
-	     * @ref CServerParams class
-	     */
-	    void GetSlpInfoFromIdL(
-	            const TInt64 aSlpId, 
-	            CServerParams *aParamValues
-	    ) const;
-
-	    /**
-	     * Sets the priority of the server to the specified priority.  
-	     *
-	     * @since S60 9.1TB 
-	     *
-	     * @param [IN] aSlpId Server identity for which the priority needs to be changed 
-         * @param [IN] aPriority Number of positions to move 
-         * @param [IN] aDirection Whether to increase or decrease priority. 
-	     *
-	     */
-	    void ChangePriorityL(
-	            TInt64 aSlpId, 
-		        TInt aPriority,
-		        TBool aDirection
-	    );
-
-	    /**
-	     * Sets the server address parameter in server settings 
-	     *
-	     * @since S60 9.1TB 
-	     *
-	     * @param [IN] aSlpId SLP ID for which the parameter needs to be changed 
-	     * @param [IN] aServerAddres SUPL Server address 
-	     *
-	     */
-	    void SetServerAddressL( 
-	            const TInt64 aSlpId, 
-	            const TDesC& aServerAddress
-	    );
-
-	    /**
-	     * Obtains the server address parameter from server settings.  Client
-	     * has to allocate memory for server address parameter.
-	     *
-	     * @since S60 9.1TB 
-	     *
-	     * @param [IN] aSlpId SLP ID of server for which the server address needs to be retrieved 
-	     * @param [OUT] aServerAddres SUPL Server address 
-	     * 
-	     */
-	    void GetServerAddressL( 
-	            TInt64 aSlpId, 
-	            TDes& aServerAddress
-	    ) const;
-
-	    /**
-	     * Sets the IAP Name in server parameters. IAP name refers to 
-	     * the access point which is used to access the HSLP over the internet. 
-	     *
-	     * @since S60 9.1TB 
-	     *
-	     * @param [IN] aSlpId SLP ID for which the parameter needs to be changed 
-	     * @param [IN] aIapName The Internet Access Point Name refers to the access point which is 
-	     * used to access the HSLP over the internet.  This can have maximum size of 100 characters. 
-	     * 
-	     */
-	    void SetIapNameL( 
-	            const TInt64 aSlpId, 
-	            const TDesC& aIapName
-	    );
-
-	    /**
-	     * Obtains the IAP Name in server parameters. IAP name refers to 
-	     * the access point which is used to access the HSLP over the internet. It is client's
-	     * responsibility to allocate memory for IAP name before invoking this method.
-	     *
-	     * @since S60 9.1TB 
-	     *
-	     * @param [IN] aSlpId SLP ID for which the parameter needs to be retrieved 
-	     * @param [OUT] aIapName The Internet Access Point Name refers to the access point which is 
-	     * used to access the HSLP over the internet.  This can have maximum size of 100 characters. 
-	     * 
-	     */
-	    void GetIapNameL( 
-	            const TInt64 aSlpId, 
-	            TDes& aIapName
-	    ) const;
-
-
-	    /**
-	     * Sets the parameter which indicates whether server
-	     * can be used for SUPL session or not. 
-	     *
-	     * @since S60 9.1TB 
-	     *
-	     * @param [IN] aSlpId SLP ID for which the parameter needs to be changed 
-	     * @param [IN] aEnable Flag to indicate whether server can be enabled or not 
-	     * 
-	     */
-	    void SetServerEnabledFlagL(
-	            const TInt64 aSlpId, 
-	            const TBool aEnable 
-	    );
-
-	    /**
-	     * Obtains the parameter which indicates whether server
-	     * can be used for SUPL session or not. 
-	     *
-	     * @since S60 9.1TB 
-	     *
-	     * @param [IN] aSlpId SLP ID for which the parameter needs to be retrieved 
-	     * @param [OUT] aEnable Flag to indicate whether server can be enabled or not 
-	     * 
-	     */
-	    void GetServerEnabledFlagL(
-	            const TInt64 aSlpId, 
-	            TBool& aEnable 
-	    ) const;
-
-	    /**
-	     * Sets the parameter which indicates whether server
-	     * can be used out side home network or not. 
-	     *
-	     * @since S60 9.1TB 
-	     *
-	     * @param [IN] aSlpId SLP ID for which the parameter needs to be changed 
-	     * @param [IN] aHomeNwFlag Flag to indicate whether server can be used outside home network or not 
-	     * 
-	     */
-	    void SetUsageInHomwNwFlagL(
-	            const TInt64 aSlpId, 
-	            const TBool aHomeNwFlag 
-	    );
-
-	    /**
-	     * Obtains the parameter which indicates whether server
-	     * can be used out side home network or not. 
-	     *
-	     * @since S60 9.1TB 
-	     *
-	     * @param [IN] aSlpId SLP ID for which the parameter needs to be retrieved 
-	     * @param [OUT] aHomeNwFlag Flag to indicate whether server can be used outside home network or not 
-	     * 
-	     */
-	    void GetUsageInHomwNwFlagL(
-	            const TInt64 aSlpId, 
-	            TBool& aHomeNwFlag 
-	    ) const;
-
-	    /**
-	     * This method is used to change parameter which indicates whether server
-	     * details are editable or not. 
-	     *
-	     * @since S60 9.1TB 
-	     *
-	     * @param [IN] aSlpId SLP ID for which the parameter needs to be retrieved 
-	     * @param [IN] aEditFlag Flag to indicate whether server details are editable or not 
-	     */ 
-	    void SetEditableFlagL( 
-	            const TInt64 aSlpId, 
-	            const TBool aEditFlag 
-	    ) const;
-
-	    /**
-	     * This method is used to retrieve parameter which indicates whether server
-	     * details are editable or not. 
-	     *
-	     * @since S60 9.1TB 
-	     *
-	     * @param [IN] aSlpId SLP ID for which the parameter needs to be retrieved 
-	     * @param [OUT] aEditFlag Flag to indicate whether server details are editable or not 
-	     */ 
-	    void GetEditableFlagL( 
-	            const TInt64 aSlpId, 
-	            TBool& aEditFlag 
-	    ) const;
-
-	    /**
-	     * Obtains the number of server entries present in SUPL settings. 
-	     *
-	     * @since S60 9.1TB 
-	     *
-	     * @param [OUT] aCount Number of SLP entries 
-	     *
-	     */
-	    void SlpCountL(
-	            TInt& aCount 
-	    );
-	    
-	     /**
-	     * Obtains the count of active SUPL sessions 
-	     *
-	     * @since S60 9.1TB 
-	     *
-	     * @param [OUT] aActiveSessionsCount Count of active SUPL sessions 
-	     *
-	     */
-	    void GetActiveSessionsCountL( TInt& aActiveSessionsCount );
-	    
-	     /**
-	     * This method is used to retrieve properties of all triggers from SUPL settings storage.  
-	     * This method retrieves all properties for each trigger.
-	     *
-	     * @since S60 9.1TB 
-	     *
-	     * @param [OUT] aParamValues Array of retrieved trigger entries 
-	     * @ref CTriggerParams class
-	     *
-	     */
-	    void GetTriggerParamsL( RPointerArray<CTriggerParams>& aParamValues ) const;
-	    
-	     /**
-	     * This method is used to retrieve properties of all triggers from SUPL settings storage.  
-	     * This method retrieves all properties for required trigger.
-	     *
-	     * @since S60 9.2TB 
-	     *
-	     * @param [IN] aSessionId Sessiond Id 
-	     * @param [OUT] aTrigger Array of retrieved trigger entries 
-	     * @ref CTriggerParams class
-	     *
-	     */
-	    void GetTriggerParamsL( TInt64 aSessionId, CTriggerParams*& aTrigger ) const;
-	    
-	     /**
-	     * Changes the notification status for a trigger session based on session id
-	     *
-	     * @since S60 9.1TB 
-	     *
-	     * @param [IN] aSessionId Id of session for which the notification status has to be changed
-	     *
-	     */
-	    void ChangeNotificationStatusL( TInt64 aSessionId, TBool aTriggerNotificationStatus ) const;
-	    
-	     /**
-	     * Deletes a trigger session based on session id
-	     *
-	     * @since S60 9.1TB 
-	     *
-	     * @param [IN] aSessionId Id of session that needs to be deleted 
-	     *
-	     */
-	    void RemoveTriggerSessionL( TInt64 aSessionId ) const;
-	   
-	   /**
-	     * Set the Observer for the specific Session
-	     * 
-	     */  
-	    void SetSessionObserver( MLocSUPLSettingsSessionObserver* aObserver );
-	   
-	   /**
-	     * Remove the Session observer
-	     * 
-	     */  
-	    void RemoveSessionObserver( );
-
-
-    public: // Accessor functions for SUPL settings usage strings
-        const TDesC& Automatic();
-        
-        const TDesC& AutomaticAtHome();
-        
-        const TDesC& AlwaysAsk();
-        
-        const TDesC& Disable();
-              	
-	public:
-	
-	    /** 
-	     * Inherited from MSuplSettingsObserver
-	     */	
-        void HandleSuplSettingsChangeL(
-                TSuplSettingsEventType aEvent,
-                TInt aSlpId                        
-        );
-        
-        
-	    /** 
-	     * Inherited from MSuplSessionObserver
-	     */	
-		void HandleSuplSessionChangeL( 
-                TSuplSessionEventType aEvent,
-                TInt64 aSessionId                         
-        		);		
-	protected:
-	    /** 
-	     * Inherited from CActive
-	     */
-		void RunL();
-		
-		/**
-		 * Inherited from CActive
-		 */
-		void DoCancel();
-		
-    private:
-        /**
-         * Observer for the SUPL Settings UI Adapter
-         * Reference
-         */
-        MLocSUPLSettingsAdapterObserver&    iObserver;
-        
-        /**
-         * SUPL Settings UI
-         * Owns
-         */
-        CSuplSettings*                      iSUPLSettings;
-        
-        /**
-         * SUPL settings usage is automatic
-         * Owns
-         */
-        HBufC*                              iAutomatic;
-        
-        /**
-         * SUPL settings usage is automatic in home network
-         * Owns
-         */
-        HBufC*                              iAutomaticatHome;
-        
-        /**
-         * SUPL settings usage needs a user confirmation
-         * Owns
-         */
-        HBufC*                              iAsk;
-        
-        /**
-         * SUPL is disabled.
-         * Owns.
-         */
-        HBufC*                              iDisable;
-        
-        /**
-         * Observer for the specific SUPL session.
-         * Does not own.
-         */
-		MLocSUPLSettingsSessionObserver* iSessionObserver;
-        
-    };
-
-#endif      // CLOCSUPLSETTINGSADAPTER_H_
-
-// End of File
--- a/locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplsettingsadapterobserver.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Observer for the SUPL Settings adapter
-*
-*/
-
-
-#ifndef MLOCSUPLSETTINGSADAPTEROBSERVER_H_
-#define MLOCSUPLSETTINGSADAPTEROBSERVER_H_
-
-// Class Declaration
-
-/**
- * Observer for the SUPL Settings Adapter. The observer provides callbacks for
- * any changes in the SUPL Settings UI
- *
- * @lib locsuplsettings.lib
- * @since S60 v3.1 
- */
-class MLocSUPLSettingsAdapterObserver
-    {
-    public:
-        /** 
-         * Enumeration for events from the SUPL Settings UI
-         */
-        enum TLocSUPLSettingsEvent
-        	{
-        	ESUPLSettingsIntialized,
-        	ESUPLSettingsInitalizeError,
-        	ESUPLSettingsChanged
-        	};
-        	
-        /**
-         * Called when a change has been detected in the SUPL Settings.
-         *
-         * @param aEvent Information about the SUPL Settings event.
-         */
-        virtual void HandleSuplSettingsChangeL( TLocSUPLSettingsEvent aEvent ) = 0;
-
-    };
-
-#endif      // MLOCSUPLSETTINGSADAPTEROBSERVER_H_  
-            
-// End of File
--- a/locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplsettingscontainer.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,218 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  SUPL Settings UI View's container
-*
-*/
-
-
-#ifndef C_LOCSUPLSETTINGSCONTAINER_H_
-#define C_LOCSUPLSETTINGSCONTAINER_H_
-
-// System Includes 
-#include <e32base.h>
-#include <coecntrl.h>
-#include <eiklbo.h>
-
-    
-// Forward Declarations
-class CLocSUPLSettingsView;
-class CAknSettingStyleListBox;
-class CLocSUPLSettingsLBModel;
-class CLocSUPLSettingsUiEngine;
-
-// Class Declarations
-/**
- * Container for the SUPL Settings UI View.
- * 
- * Contains the Listbox control that is used to configure various SUPL settings 
- * options
- *
- * @lib locsuplsettings.lib
- * @since S60 v3.1 
- */
-class CLocSUPLSettingsContainer : public CCoeControl,
-                                  public MEikListBoxObserver
-	{
-	public:
-		/**
- 		 * Static Two phase contructor that instantiates the CLocSUPLSettingsContainer
-		 * 
-		 * @param aRect				            Client rectangle
-         * @param aEngine                       Reference to the SUPL Settings
-         *                                      engine 		 
-         * @param aSettingsView                 Reference to the container's view
-		 * @return CLocSUPLSettingsContainer*	Reference to the object created
-		 */
-		static CLocSUPLSettingsContainer* NewL( 
-		                        const TRect& 	                    aRect,
-		                              CLocSUPLSettingsUiEngine&     aEngine,
-		                              CLocSUPLSettingsView&         aSettingsView );
-
-		/**
-		 * Static Two phase contructor that instantiates the CLocSUPLSettingsContainer
-		 * Leaves the object on the Cleanup stack
-		 * 
-		 * @param aRect				            Client rectangle
-         * @param aEngine                       Reference to the SUPL Settings
-         *                                      engine 		 
-         * @param aSettingsView                 Reference to the container's view		 
-		 * @return CLocSUPLSettingsContainer*	Reference to the object created
-		 */
-		static CLocSUPLSettingsContainer* NewLC( 
-		                        const TRect&                        aRect,
-		                              CLocSUPLSettingsUiEngine&     aEngine,
-		                              CLocSUPLSettingsView&         aSettingsView );
-
-		/**
-		 * Destructor
-		 */
-		~CLocSUPLSettingsContainer();
-    
-        /**
-         * Refreshes the screen so that the list box reflects the latest contents
-         */
-         void UpdateScreen();
-         
-        /**
-		 * Returns the Selected element. The list box model defines the
-		 * enumeration that would determine the current element that has been
-		 * selected
-		 *
-		 * @return TInt Index of the item selected
-		 */
-		TInt SelectedItemIndex();
-		 
- 		/**
-		 * Sets focus to server detail or Active services item
-		 * @param aIndex	Helps to know if server or session item has to be focussed
-		 */
-      	void FocusToItemL( TInt aIndex );
-        
-        /**
-         * Returns the Active session count.
-         *
-         * @return TInt  SUPL Active sessions count.
-         */
-        TInt ActiveSessionCount( ) const;
-
-	protected:
-	
-		/**
-		 * Inherited from CCoeControl
-		 */
-		void HandleResourceChange(TInt aType);
-
-        /**
-         * Returns the help context
-         *
-         * @param aContext	The help context that has to be determined
-         */
-        void GetHelpContext( TCoeHelpContext& aContext ) const; 
-        
-        /**
-         * From CoeControl
-         */
-        TInt CountComponentControls() const;
-
-        /**
-         * From CCoeControl
-         */
-        CCoeControl* ComponentControl(TInt aIndex) const;
-        
-        /**
-         * Inherited from CCoeControl
-         */
-        TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
-        						           TEventCode aType );
-        		 
-		/**
-         * Inherited from MEikListBoxObserver
-         */
-        void HandleListBoxEventL( CEikListBox*      aListBox, 
-        					      TListBoxEvent     aEventType );
-        					      
-	protected:
-		/**
-		 * Handles Focus Change to list 
-		 */
-		void FocusChanged(TDrawNow aDrawNow);
-		 
-		/**
-         * From CoeControl,SizeChanged.
-         */
-        void SizeChanged();
-
-	private:
-		/**
-		 * Overloaded Constructor
-		 */
-		CLocSUPLSettingsContainer( CLocSUPLSettingsView&         aSettingsView );
-		
-		/**
-		 * Second phase of the two phase Construction process
-		 */
-		void ConstructL( const TRect&                        aRect ,
-		                       CLocSUPLSettingsUiEngine&     aEngine );
-          
-        /**
-         * Sets the Title text
-         * @param aResourceText Resource to create title
-         */
-        void MakeTitleL( TInt aResourceText );
-          
-		/**
-         * Returns the Appui's status pane
-         * @return CEikStatusPane* Statuspane pointer
-         */
-		CEikStatusPane* StatusPane();
-
-        /** 
-         * Creates the List box and the Listbox model. Associates the 
-         * list box model wit the list box
-         *
-         * @param aEngine    Reference to the SUPL Settings engine          
-         */
-        void CreateListboxL( CLocSUPLSettingsUiEngine&     aEngine );
-        
-    private:
-    
-        /**
-         * Reference to the Container's view
-         */
-        CLocSUPLSettingsView&           iSettingsView;
-        
-        /**
-         * Help context
-         */
-        TCoeContextName 				iContextName;
-        
-        /**
-         * Settings list box for SUPL settings
-         * Owns
-         */
-        CAknSettingStyleListBox*        iListBox;
-        
-        /**
-         * List Box model
-         */
-        CLocSUPLSettingsLBModel*        iListBoxModel;
-        
-        /**
-         * Boolean flag to denote whether the pen down occured
-         */
-        TBool							iTouchFlag;            
-	};
-
-#endif // C_LOCSUPLSETTINGSCONTAINER_H_
-
--- a/locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplsettingseventhandler.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Handles Events from the container 
-*
-*/
-
-
-#ifndef M_LOCSUPLSETTINGSEVENTHANDLER_H_
-#define M_LOCSUPLSETTINGSEVENTHANDLER_H_
-
-// System Include
-#include <e32base.h>
-
-/**
- * Handles events from the Location System UI Container
- *
- * @lib locsuplsettings.lib
- * @since S60 v3.1
- */
-class MLocSUPLSettingsEventHandler
-	{
-    public:
-        enum TSuplDialogEvent
-            {
-            ELaunchViewComplete
-            };
-    public:	 	 
-     	/**
-    	 * Handles the Screen Size update
-    	 * @since S60 v3.1
-    	 */
-    	virtual void HandleScreenSizeChange() 	= 0;
-    	 
-    	/**
-		 * Command handlikng function
-		 *
-		 * @param aCommand Command that needs to be handled
-		 */
-		virtual void HandleCommandL( TInt aCommand )	= 0;
-	};
-
-#endif // M_LOCSUPLSETTINGSEVENTHANDLER_H_
-
--- a/locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplsettingslbmodel.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,194 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  List box model for the SUPL Settings UI
-*
-*/
-
-#ifndef C_LOCSUPLSETTINGSLBMODEL_H_
-#define C_LOCSUPLSETTINGSLBMODEL_H_
-
-// System Include
-#include <e32base.h>
-#include <bamdesca.h>  // MDesCArray
-
-// Forward Declaration
-class CLocSUPLSettingsUiEngine;
-
-
-// Class Declaration
-/**
- * Model for the SUPL Settings UI container. 
- *
- * The model interacts with the SUPL Settings Engine inorder to obtain the latest
- * SUPL UI Settings values
- *
- * @lib locsuplsettings.lib
- * @since S60 v3.1
- */
-class CLocSUPLSettingsLBModel : public CBase,
-						        public MDesCArray
-	{
-	public:
-        /**
-        * Enumerations for List box Entries
-        */
-        enum	TSUPLSettingsItemId        
-            {
-            ESUPLSettingsUsage = 0,
-            ESUPLSettingsServersDetail,
-            ESUPLSettingsActiveSessions
-            };
-            	
-	public:
-        /**
-         * Two-phased constructor
-         *
-         * @param  aEngine                      Reference the SUPL Settings Engine
-         * @return CLocSUPLSettingsLBModel*     Reference to the object created
-         */
-        static CLocSUPLSettingsLBModel* NewL( 
-                        CLocSUPLSettingsUiEngine&     aEngine );
-
-        /**
-         * Two-phased constructor
-         *
-         * @param  aEngine                      Reference the SUPL Settings Engine         
-         * @return CLocSUPLSettingsLBModel*     Reference to the object created
-         */
-        static CLocSUPLSettingsLBModel* NewLC( 
-                        CLocSUPLSettingsUiEngine&     aEngine );
-        
-        /**
-         * Destructor.
-         */
-        virtual ~CLocSUPLSettingsLBModel();
-        
-        
-        /**
-         * Resolves the list box index to the SUPL settings item.
-         *
-         * @param  aListboxIndex        List box item index.
-         * @return TSUPLSettingsItemId  SUPL settings item id.
-         */
-        TSUPLSettingsItemId ResolveSettingsItem( TInt aListboxIndex ) const;
-        
-        /**
-         * Returns the Active session count.
-         *
-         * @return TInt  SUPL Active sessions count.
-         */
-        TInt ActiveSessionCount( ) const;
-                
-    protected:
-        /**
-         * Inherited from MDesCArray
-         */
-        TInt MdcaCount() const;
-
-        /**
-         * Inherited from MDesCArray
-         */
-        TPtrC16 MdcaPoint( TInt aIndex ) const;
-        				
-    private:
-        /**
-         * C++ constructor.
-         */
-        CLocSUPLSettingsLBModel( CLocSUPLSettingsUiEngine&     aEngine );
-        
-        /**
-         * Second Phase constructor
-         */
-        void ConstructL();
-        
-        /**
-         * Packs the SUPL settings usage to the end of the buffer passed.
-         *
-         * @param aPtr Buffer to which the Supl settings usage point needs to be 
-         *            appended.         
-         */
-        void AppendSuplUsage( TDes16& aPtr ) const;
-
-        /**
-         * Packs the Server Address to the end of the buffer passed.
-         * 
-         * @param aPtr Buffer to which the Access point needs to be 
-         *             appended.
-         */
-        void AppendSuplServerDetail( TDes16& aPtr ) const;  
-     
-        /**
-         * Packs the SUPL access points count to the end of the buffer passed.
-         * 
-         * @param aPtr Buffer to which the SUPL access points count needs to be 
-         *             appended.
-         */    
-        void AppendSuplActiveSessionsDetailL( TDes16& aPtr ) const;
-                 
-    private:
-        /**
-         * Format conversion buffer
-         * Owns
-         */
-        HBufC16*                    iBuffer;
-        
-        /**
-         * Title Text Buffer for Server Detail Heading
-         * Owns
-         */
-        HBufC16*                    iServerDetailTitle;
-        
-        /**
-         * Title text for SUPL usage.
-         * Owns.
-         */
-        HBufC16*                    iSuplUsageTitle;
-        
-        /**
-         * SUPL Active Sessions count.
-         */
-        mutable TInt iSessionCount;
-         
-        /**
-         * Default Server Address 
-         * Owns
-         */
-        HBufC16*                    iSuplServerDetail;
-        
-        /**
-         * Default SUPL usage.
-         * Owns.
-         */
-        HBufC16*                    iDefaultSuplUsage;
-
-        /**
-         * Reference the SUPL Settings Engine
-         */   
-        CLocSUPLSettingsUiEngine&   iEngine;
-        
-        /** 
-         * Boolean value to indicate whethere SUPL settings usage
-         * is present.
-         */
-        TBool                       iSuplUsagePresent;
-                
-        /**
-         * Boolean value to indicate whether SUPL address field
-         * is present.
-         */
-        TBool                       iServerAddressPresent;               
-	};
-
-#endif // C_LOCSUPLSETTINGSLBMODEL_H_
-
--- a/locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplsettingsprivatecrkeys.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Defining local variation for SUPL Settings UI
-*
-*
-*/
-
-
-#ifndef LOCSUPLSETTINGSPRIVATECRKEYS_H
-#define LOCSUPLSETTINGSPRIVATECRKEYS_H
-
-// UID value for the Central Repository Key used for local variationing in 
-// SUPL Settings UI
-const TInt KCRUidLocSuplSettingsUi = 0x1028190A;
-
-// Central repository Key identifer value
-const TInt KLocSuplSettingsLVFlags = 0x00000001;
-
-// Enumeration values that the Central repository key KLocSuplSettingsLVFlags 
-// can take
-enum TSuplSettingsLVValue
-	{
-	ESuplHslpAddressAbsent 	= 0x00000000,
-	ESuplHslpAddressPresent = 0x00000001
-	};
-
-#endif      // LOCSUPLSETTINGSPRIVATECRKEYS_H
\ No newline at end of file
--- a/locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplsettingssessionobserver.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Observer for the SUPL Session
-*
-*/
-
-
-#ifndef MLOCSUPLSETTINGSSESSIONOBSERVER_H_
-#define MLOCSUPLSETTINGSSESSIONOBSERVER_H_
-
-// Class Declaration
-
-/**
- * Observer for the SUPL Session. The observer provides callbacks for
- * any changes in the SUPL session
- *
- * @lib locsuplsettings.lib
- * @since S60 v3.1 
- */
-class MLocSUPLSettingsSessionObserver
-    {
-    public:
-        /**
-         * Update type for the Session
-         */
-        enum TUpdateType
-        {
-        // Enum for Session modification.
-        ESessionModified = 0,
-        // Enum for Session deletion.
-        ESessionDeleted
-        };
-    
-    public:
-        	
-        /**
-         * Called when a change has been detected in the SUPL Session 
-         * identified by the session id provided by SessionIdL.
-         * @param aType Type of Updation
-         *
-         */
-        virtual void UpdateSessionL( TUpdateType aType ) = 0;
-        
-        /**
-         * Called when a change has been detected in the SUPL Session.
-         *
-         */
-        virtual TInt64 SessionId( ) = 0;
-
-    };
-
-#endif      // MLOCSUPLSETTINGSSESSIONOBSERVER_H_  
-            
-// End of File
--- a/locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplsettingsuid.hrh	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Contains the UID3 value to be used for the SUPL Settings UI. 
-*                The value is expected to have two specific functions
-*				 1. UID3 for the locsuplsettings.dll ECOM DLL
-*				 2. Implementation UID for the ECOM plugin to LocSysUiEngine
-*
-*/
-
-#ifndef _LOCSUPLSETTINGSUID_HRH_
-#define _LOCSUPLSETTINGSUID_HRH_
-
-// SUPL Settinhs UI UID3
-#define KLOCSUPLSETTINGSUIUID3          0x10275091
-#define KLOCSUPLSERVERUIUID3		0x10275092
-#define KLOCSUPLSESSIONUIUID3		0x10275093
-
-#endif      // _LOCSUPLSETTINGSUID_HRH_
-
-// End of File
-
-
--- a/locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplsettingsuiengine.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,474 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  SUPL Settings UI Engine. The engine is resposible for handling
-*                all the UI components required for SUPL Settings UI. In addition
-*                to this it also is responsible for interacting with the SUPL
-*                Settings API
-*
-*/
-
-
-#ifndef C_LOCSUPLSETTINGSUIENGINE_H_
-#define C_LOCSUPLSETTINGSUIENGINE_H_
-
-// System Includes
-#include <e32base.h>
-#include <agentdialog.h>    // for RGenConAgentDialogServer
-
-// User Includes
-#include "locsuplsettingsadapterobserver.h"
-
-// Forward Declaration
-class CLocSUPLSettingsAdapter;
-class MLocSUPLSettingsUiEngObserver;
-class CTextResolver;
-class CAknGlobalConfirmationQuery;
-class CServerParams;
-class CTriggerParams;
-class CLocSUPLServerEditor;
-class MSuplServerEditorObserver;
-class MLocSUPLSettingsSessionObserver;
-
-// Class Declaration
-/**
- * Engine for SUPL Settings UI
- *
- * Engine class for SUPL Settings UI. It is responsible for interacting with the 
- * SUPL Settings API. Further, it handles all commands for SUPL settings UI. The
- * Engine launches all the dialogs associated with configuring the SUPL Settings.
- * It further observers the SUPL Settings UI for any changes to the Settings
- * values.
- */
-class CLocSUPLSettingsUiEngine : public CActive, 
-                                 public MLocSUPLSettingsAdapterObserver
-    {
-    public:
-        /**
-         * Two-phased constructor
-         *
-         * @param  aObserver                 Referenece to the Engine observer
-         * @return CLocSUPLSettingsUiEngine* Reference to the object created
-         */
-        static CLocSUPLSettingsUiEngine* NewL( 
-                            MLocSUPLSettingsUiEngObserver&      aObserver );
-                            
-        /**
-         * Two-phased constructor. Leaves the object on the Cleanup stack
-         *
-         * @param  aObserver                 Reference to the Engine observer
-         * @return CLocSUPLSettingsUiEngine* Reference to the object created
-         */
-        static CLocSUPLSettingsUiEngine* NewLC( 
-                            MLocSUPLSettingsUiEngObserver&      aObserver );
-         
-        /**
-         * Initializes the Settings Engine. This is an asynchronous call the 
-         * completion of which is communicated through the observer
-         * 
-         */
-        void Initalize();
-                         
-        /**
-         * Destructor.
-         */
-        virtual ~CLocSUPLSettingsUiEngine();
-       
-        /** 
-         * Launches the confirmation query to select IAP
-		 *
-		 */
-		void SelectConnectionL();
-        
-		/**
-		 * Launches the Access Point Configurator dialog
-		 *
-		 */
-		void LaunchApConfiguratorL( TInt64 aSlpId, 
-				MSuplServerEditorObserver* aEditorObserver );
-		
-        /** 
-         * Opens the exisitng server with its attributes
-		 *
-		 */
-		void EditServerL( TBool iIsEditable, TInt64 aSlpId );
-
-        /** 
-         * returns exisitng server entries count
-		 *
-		 */
-		TInt SlpCount();
-
-		/**
-		 * Launches the SUPL Usage configurator
-		 */
-		void LaunchSuplUsageConfiguratorL();
-		
-        /**
-		 * Closes the running Settings UI prematurely.
-		 */
-		void Close();
-		
-        /**
-         * Obtains the SUPL Settings usage.
-         *
-         * @return TPtr16     SUPL settings usage.
-         */  
-        TPtr16 GetSuplUsageL();
-        
-        /**
-         * Obtains the SUPL usage
-         *
-         * @return The SUPL Usage value
-         */
-        TInt   GetSuplUsage();			
-		 
-        /**
-		 * Creates a new server entry in Supl Settings.
-		 */
-		void AddNewServerL( 
-		        const TDesC& aServerAddress,
-		        const TDesC& aIapName,
-		        const TBool aUsageInHomeNw
-		);
-
-	    /**
-	     * Deletes server entry from SUPL settings storage.  
-	     */
-	    void RemoveServerL(
-	    		const TInt64 aSlpId
-	    );
-
-	    /**
-	     * Sets the priority of the server to the specified priority.  
-	     */
-		void ChangePriorityL(
-		        TInt64 aSlpId, 
-		        TInt aPriority,
-		        TBool aDirection
-		);
-
-	    /**
-	     * Gets properties of all servers from SUPL settings storage.  
-	     * This method retrieves all properties for each server.
-	     */
-		void GetAllSlpL(
-		        RPointerArray<CServerParams>& aParamValues
-		) const;
-	
-	    /**
-	     * Gets all properties of server from SUPL settings storage
-	     * based on SLP identification.  
-	     */
-		void GetSlpInfoFromIdL(
-	            const TInt64 aSlpId, 
-	            CServerParams *aParamValues
-		) const;
-
-	    /**
-	     * Sets the server address parameter in server settings 
-	     */
-	    void SetServerAddressL( 
-	            const TInt64 aSlpId, 
-	            const TDesC& aServerAddress
-	    );
-	    
-	    /**
-	     * Obtains the server address parameter from server settings.  Client
-	     * has to allocate memory for server address parameter.
-	     */
-	    void GetServerAddressL( 
-	            TInt64 aSlpId, 
-	            TDes& aServerAddress
-	    ) const;
-
-	    /**
-	     * Sets the IAP Name in server parameters. IAP name refers to 
-	     * the access point which is used to access the HSLP over the internet. 
-	     */
-	    void SetIapNameL( 
-	            const TInt64 aSlpId, 
-	            const TDesC& aIapName
-	    );
-
-	    /**
-	     * Sets the parameter which indicates whether server
-	     * can be used for SUPL session or not. 
-	     */
-	    void SetServerEnabledFlagL(
-	            const TInt64 aSlpId, 
-	            const TBool aEnable 
-	    ) const;
-
-	    /**
-	     * Obtains the parameter which indicates whether server
-	     * can be used for SUPL session or not. 
-	     */
-	    void GetServerEnabledFlagL(
-	            const TInt64 aSlpId, 
-	            TBool& aEnable 
-	    ) const;
-
-	    /**
-	     * Sets the parameter which indicates whether server
-	     * can be used out side home network or not. 
-	     */
-	    void SetUsageInHomwNwFlagL(
-	            const TInt64 aSlpId, 
-	            const TBool aHomeNwFlag 
-	    );
-
-		
-	    /**
-	     * Sets the parameter which indicates whether server
-	     * details are editable or not. 
-	     */ 
-		void SetEditableFlagL( 
-	            const TInt64 aSlpId, 
-	            const TBool aEditFlag 
-	    ) const;
-
-	    /**
-	     * Gets the parameter which indicates whether server
-	     * details are editable or not. 
-	     */ 
-	    void GetEditableFlagL( 
-	            const TInt64 aSlpId, 
-	            TBool& aEditFlag 
-	    ) const;
-	    
-	    /**
-	     * Obtains the count of active Supl sessions
-	     * 
-	     */  
-	    void GetActiveSessionsCountL( TInt& aAccessPointCount );
-	    
-	    /**
-	     * Gets properties of all triggers from SUPL settings storage.  
-	     * This method retrieves all properties for each trigger.
-	     */
-		void GetTriggerParamsL(
-		        RPointerArray<CTriggerParams>& aParamValues
-		) const;
-	    
-	    /**
-	     * Gets properties of all triggers from SUPL settings storage.  
-	     * This method retrieves all properties for each trigger based on session id.
-	     */
-		void GetTriggerParamsL(  TInt64 aSessionId, 
-		        CTriggerParams*& aTrigger
-		) const;
-	   
-	   /**
-	     * Open the Active Session for the specified session id.
-	     * 
-	     */  
-	    void OpenSessionL( TInt64 aSessionId );
-		
-	   /**
-	     * Deletes a trigger session based on session id
-	     * 
-	     */  
-	    void RemoveTriggerSessionL( TInt64 aSessionId ) const;
-	   
-	   /**
-	     * Deletes a trigger sessions based on session ids
-	     * 
-	     */  
-	    void RemoveTriggerSessionsL( RArray< TInt64 >& aSessionIdList ) const;
-	   
-	   /**
-	     * Deletes all the trigger sessions
-	     * 
-	     */  
-	    void RemoveAllTriggerSessionsL( ) const;
-	   
-	   /**
-	     * Changes the notification status of an active session based on session id
-	     * 
-	     */  
-	    void ChangeNotificationStatusL( TInt64 aSessionId, TBool aTriggerNotificationStatus ) const;
-	   
-	   /**
-	     * Set the Observer for the specific Session
-	     * 
-	     */  
-	    void SetSessionObserver( MLocSUPLSettingsSessionObserver* aObserver ) const;
-	   
-	   /**
-	     * Remove the Session observer
-	     * 
-	     */  
-	    void RemoveSessionObserver( ) const;
-	    
-        /**
-         * Sets value of highlighted AP
-         */
-        void SetTempAPValue( TUint32 aAccessPoint);
-        
-	public:     		
-		/**
-		 * Inherited from MLocSUPLSettingsAdapterObserver
-		 */
-		void HandleSuplSettingsChangeL( TLocSUPLSettingsEvent aEvent );
-				 
-    protected:
-        /**
-         * Inherited from CActive
-         */
-        void RunL();
-        
-        /**
-         * Inherited from CActive
-         */
-        void DoCancel();
-             
-    private:
-        /**
-         * C++ constructor.
-         */
-        CLocSUPLSettingsUiEngine( MLocSUPLSettingsUiEngObserver&  aObserver );
-        
-        /**
-         * Second Phase constructor
-         */
-        void ConstructL();
-         
-        /**
-         * Obtains the index UID corresponding to the Access point name
-         *
-         * @param   aIAPName     Access point name
-         * @return  TUint       UID corresponding to the AP Name. Zero if 
-         *                      the name does not exist
-         */
-        TUint ConvertIAPNameToIdL( const TDesC&      aIAPName );
-       
-        /**
-         * Displays an Error note
-         *
-         * @param aError Error ID
-         */
-        void DisplayErrorL( TInt aError );
-        
-        /**
-         * Displays an Info note
-         *
-         * @param None
-         */
-        TInt ShowNoteL();                               
-        
-        /**
-         * Returns value of last highlighted AP
-         */
-        TUint32 GetTempAPValue();
-        
-    private:
-        /**
-         * Reference to the Engine Observer
-         */
-        MLocSUPLSettingsUiEngObserver&	iObserver;
-        
-        /**
-         * SUPL Settings API Adapter
-         * Owns
-         */
-        CLocSUPLSettingsAdapter*       	iSUPLSettingsAdapter;
-        
-        /**
-         * Flag to denote whether any dialog is currently active
-         * Used in the Cancel method. If there are any requests 
-         * outstanding then they have to be cancelled
-         */
-        TBool                   		iDialogActive;
-                        
-        /**
-         * Temporary Buffer for returning values to the Accessor 
-         * functions. The accessor expects a 16 bit variant of the descriptor
-         * Owns
-         */
-        HBufC16*                		iConversionBuffer;
-        
-        /**
-         * Pointer to the Conversion Buffer
-         */
-        TPtr16                  		iConversionBufferPtr;
-        
-        /**
-         * Temporary Buffer to hand over to the UI components and
-         * access data from the Settinga API
-         * Owns
-         */
-        HBufC*                  		iSettingsBuffer;
-        
-        /**
-         * Pointer to the Settings Buffer
-         */
-        TPtr                    		iSettingsBufferPtr;
-        
-        /**
-         * Standard Text resolver for converting Error codes to 
-         * standard texts
-         */
-        CTextResolver*          		iTextResolver;
-
-        
-        /**
-         * Selected IAP ID
-         */
-        TUint32                     	iSelectedIap;
-        
-        /**
-         * Launch Paramters
-         */
-        TInt                        	iLaunchParams;
-        
-        /**
-         * Akn Global confirmation query
-         * Owns
-         */
-        CAknGlobalConfirmationQuery*    iConfirmQuery;
-
-        /**
-         * Flag to denote whether access point selection requested or not
-         */
-        TBool                   		iRequestIapSelect;
-
-        /**
-         * SUPL Servers SLP ID to get and set the server attributes.
-         * Owns.
-         */
-        TInt64							iCurrentSlpId;
-                        
-        /**
-         * Supl Server Editor 
-         * Owns
-         */
-        CLocSUPLServerEditor*			iEditorDlg;
-
-        /**
-         * Editor Observer
-         * Owns
-         */
-        MSuplServerEditorObserver*		iEditorObserver;
-        
-        /*
-         * Current highlighted AP
-         * Set to -1 if no changes made in edit dialog box, Set to Uid of access 
-         * point if changes made 
-         */
-        TUint32 iTempAP;
-        
-    };
-    
-#endif // C_LOCSUPLSETTINGSUIENGINE_H_
-
--- a/locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplsettingsuiengobserver.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Observer to the SUPL Settings UI Engine observer
-*
-*/
-
-
-#ifndef M_LOCSUPLSETTINGSUIENGOBSERVER_H_
-#define M_LOCSUPLSETTINGSUIENGOBSERVER_H_
-
-// User Includes
-#include "locsuplsettingsadapterobserver.h"
-
-// Class Declaration
-/**
- * Observer to the SUPL Settings UI Engine
- */
- 
-class MLocSUPLSettingsUiEngObserver
-    {
-    public:
-        /**
-         * Enumeration defining all the event types from the SUPL Settings
-         * Engine
-         */
-        enum TSettingsEventType
-            {
-            EEngineInitialized = MLocSUPLSettingsAdapterObserver::ESUPLSettingsIntialized,
-            EEngineInitializeFailed,            
-            ESUPLSettingsChange,
-            EIAPSelectionComplete,
-            EIAPSelectionCancelled,
-            EExitEvent
-            };
-    public:
-        /**
-         * Handles any event from the SUPL Settings Engine
-         *
-         * @param aEvent Event from the SUPL Settings Engine
-         */
-        virtual void HandleSettingsEventL( TSettingsEventType    aEvent ) = 0;
-           
-    };
-    
-#endif
-
--- a/locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplsettingsview.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,198 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  SUPL Settings UI view
-*
-*/
-
-#ifndef C_LOCSUPLSETTINGSVIEW_H_
-#define C_LOCSUPLSETTINGSVIEW_H_
-
-//  System Includes
-#include <data_caging_path_literals.hrh>
-#include <e32base.h>
-#include <aknview.h>
-#include <ConeResLoader.h>
-
-// User Includes
-#include "locsuplsettingsuid.hrh"
-#include "locsuplsettingseventhandler.h"
-
-// Forward Declarations
-class CLocSUPLSettingsContainer;
-class MLocSUPLSettingsEventHandler;
-class CLocSUPLSettingsUiEngine;
-
-
-// Constant Declarations
-const TUid KLocSUPLSettingsUiViewId = { KLOCSUPLSETTINGSUIUID3 };
-_LIT( KLocSUPLSettingsUiResFileName, "locsuplsettingsui.rsc" );
-
-// Class Declaration
-
-/**
- * SUPL Settings UI View. 
- * This class also handles all View specific events for SUPL settings
- */
-class CLocSUPLSettingsView : public CAknView
-	{
-    public:
-        /**
-         * Creates new SUPL Settings UI View.
-         *
-         * @param aEngine                   Reference to the SUPL Settings
-         *                                  engine
-         * @param aEventHandler			    Reference to the Event Handler
-         * @return CLocSUPLSettingsView*	Reference to the application view
-         */                                                 
-        static CLocSUPLSettingsView* NewL( 
-                            CLocSUPLSettingsUiEngine&       aEngine,
-        					MLocSUPLSettingsEventHandler&	aEventHandler );
-
-		/**
-         * Creates new SUPL Settings UI View. Leaves the object on the 
-         * Clean up stack
-         *
-         * @param aEngine                   Reference to the SUPL Settings
-         *                                  engine          
-         * @param aEventHandler			    Pointer to the Event Handler
-		 * @return CLocSUPLSettingsView*	Reference to the application view
-         */                                                 
-        static CLocSUPLSettingsView* NewLC( 
-                            CLocSUPLSettingsUiEngine&       aEngine,
-         					MLocSUPLSettingsEventHandler&	aEventHandler );
-        
-		/**
-		 * Destructor
-		 */
-		~CLocSUPLSettingsView ();
-		
-        /**
-         * Handles the Screen Size update
-         */
-        void HandleScreenSizeChange();
-        
-        /**
-         * Updates the View
-         */
-        void UpdateView();
-        
-        /**
-         * Indicates that the SUPL settings view is started from the Location
-         * settings UI server
-         */
-        void StartedFromAppServer();
-            
-        /**
-		 * Returns the Selected element. The list box model defines the
-		 * enumeration that would determine the current element that has been
-		 * selected
-		 *
-		 * @return TInt Index of the item selected
-		 */
-		TInt SelectedItemIndex();
-		         
-		/**
-         * From CAknView. 
-         */
-		void DoActivateL( const TVwsViewId& aPrevViewId,
-		 						 TUid		 aCustomMessageId,
-						   const TDesC8&	 aCustomMessage);
-		
-		/**
-         * From CAknView. 
-         */
-        void DoDeactivate();
- 
- 		/**
-         * From CAknView. Returns the View Id. Should be chosen to reflect 
-		 * the Implementation UID of the Plugin
-         */
-        TUid Id() const;
-
-        /**
-         * From CAknView. 
-         */
-        void HandleCommandL(TInt aCommand);
-        
-       /**
-        * From MEikMenuObserver
-        */
-        void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
-                	
-        /**
-         * Resets the Setting View Configuration
-         */
-        void Reset();	
-		
-		/**
-		 * Confirmation query to delete
-		 */
-		TInt DeletionConfirmationQueryL( );
-    
-	private:
-		/**
- 		 * C++ Overloaded Constructor
-		 */
-		CLocSUPLSettingsView( CLocSUPLSettingsUiEngine&     aEngine,
-		 					  MLocSUPLSettingsEventHandler&	aEventHandler );
-
-		/**
-		 * Second Phase Constructor
-		 */
-		void ConstructL();
-
-       /**
-        * Shows or dims help option, depending wheather help feature
-        * is supported or not.
-        * @param aMenuPane
-        */
-        void HandleHelpFeature( CEikMenuPane& aMenuPane ) const;		
-		
-       /**
-        * Changes the command button groups for the view
-        */
-		void ChangeMSKL();
-			
-	private:		
-		/**
-		 * Reference to the event Handler for handling UI events
-		 */
-		MLocSUPLSettingsEventHandler&		iEventHandler;
-	
-	    /**
-	     * Reference to the SUPL Settings engine
-	     */
-	    CLocSUPLSettingsUiEngine&           iEngine;	
-		/**
-		 * Container Object
-		 * Owns
-		 */
-		CLocSUPLSettingsContainer*			iContainer;
-		
-		/**
-		 * Boolean value to indicate that the SUPL settings UI is
-		 * started from the settings UI server.
-		 */
-		TBool                               iStartedFromServer;
-
-		/**
-		 * Integer value to indicate whether the SUPL server view
-                 * or session view was launched
-		 */
-		TInt                               iViewLaunched;
-		
-	};			
-
-#endif // C_LOCSUPLSETTINGSVIEW_H_
-
--- a/locationsystemui/locationsysui/locsuplsettingsui/src/locsupldebug.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Utility class for Debug traces
-*
-*/
-
-
-// INCLUDE FILES
-#include "locsupldebug.h"
-#include <flogger.h>
-#include <e32svr.h>
-
-// ========================== EXPORTED FUNCTIONS =========================
-
-#ifdef _LOCSUPLDEBUG
-
-/// Folder where the log resides
-_LIT( KLogFolder, "epos" );
-
-/// The name of the log file
-_LIT( KLogFileName, "mslp.txt" );
-
-/// How many characters a log line can contain
-const TInt KLogLineLength = 256;
-
-// -----------------------------------------------------------------------------
-//  void Debug( TRefByValue<const TDesC> aText, ... )
-// -----------------------------------------------------------------------------
-//
-void Debug( TRefByValue<const TDesC> aText, ... )
-    {
-    RDebug::Print(aText);
-
-    VA_LIST args;
-    VA_START( args, aText );
-
-    TBuf<KLogLineLength> buf;
-    buf.FormatList( aText, args );
-    RFileLogger logger;
-    TInt ret=logger.Connect();
-    if (ret==KErrNone)
-        {
-        logger.SetDateAndTime( EFalse,EFalse );
-        logger.CreateLog( KLogFolder, KLogFileName, EFileLoggingModeAppend );
-        logger.Write(buf);
-        }
-    logger.Close();
-
-    VA_END( args );
-    }
-
-#endif
-
-//  End of file
--- a/locationsystemui/locationsysui/locsuplsettingsui/src/locsuplservercontainer.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,656 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  SUPL server UI View's container
-*
-*/
-
-
-// System Includes
-#include <eikspane.h> 						// Status pane
-#include <akntitle.h>   					// CAknTitlePane
-#include <aknlists.h>
-#include <StringLoader.h>
-#include <locsuplsettingsui.rsg>
-#include <csxhelp/locsupl.hlp.hrh>          // Help File
-#include <aknview.h>
-#include <eikmenub.h>
-#include <gulicon.h>
-#include <AknIconUtils.h>
-#include <AknIconArray.h>
-#include <eikclbd.h>
-#include <avkon.mbg>						// for select server (mark) icon
-#include <avkon.rsg>
-#include <eiklbx.h>
-#include <ErrorUI.h>
-#include <AknsUtils.h> 
-#include <aknapp.h>
-#include <locsuplsettings.mbg>				// for server disable icon
-
-// User Includes
-#include "locsuplsettings.hrh"
-#include "locsuplsettingsuid.hrh"
-#include "locsuplservercontainer.h"
-#include "locsuplserverview.h"
-#include "locsuplserverlbmodel.h"
-#include "locsuplsettingsuiengine.h"
-#include "locsuplsettingseventhandler.h"
-#include "locsupldebug.h"
-
-// CONSTANT DEFINITIONS
-const TInt KIconArrayGranularity = 2; // The number of default icons
-_LIT( KLocSuplSettingsIconFileName, "locsuplsettings.mif" );
-
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CLocSUPLServerContainer::CLocSUPLServerContainer
-// Overloaded Constructor
-//
-// ---------------------------------------------------------------------------
-//	
-CLocSUPLServerContainer::CLocSUPLServerContainer( CLocSUPLServerView* aView )
-    : iView( aView )
-	{
-	}
-	
-// ---------------------------------------------------------------------------
-// CLocSUPLServerContainer::~CLocSUPLServerContainer
-// Destructor
-//
-// ---------------------------------------------------------------------------	
-//
-CLocSUPLServerContainer::~CLocSUPLServerContainer()
-	{
-	DEBUG( + CLocSUPLServerContainer::~CLocSUPLServerContainer );	
-	// Delete the List box model only after deleting the list box
-	delete iListBox;
-	iListBox = NULL;
-	
-	delete iListBoxModel;
-	iListBoxModel = NULL;
-	DEBUG( - CLocSUPLServerContainer::~CLocSUPLServerContainer );	
-	}
-	
-// ---------------------------------------------------------------------------
-// CLocSUPLServerContainer* CLocSUPLServerContainer::NewL
-// Static Two phase contructor that instantiates the CLocSUPLServerContainer
-//
-// @param aRect							Client rectangle
-// @param aEngine                       Reference to the SUPL Settings
-//                                      engine 
-// @param aEventHandler                 Reference to the parent view
-// @return CLocSUPLServerContainer*	Reference to the object created
-// ---------------------------------------------------------------------------    
-//
-CLocSUPLServerContainer* CLocSUPLServerContainer::NewL( 
-                    		const TRect&               	aRect,
-                          	CLocSUPLSettingsUiEngine&	aEngine,
-                          	CLocSUPLServerView* 		aView )
-	{	
-	DEBUG( + CLocSUPLServerContainer::NewL );	
-    CLocSUPLServerContainer* self = NewLC( aRect, 
-                                           aEngine,
-                                           aView );
-	CleanupStack::Pop( self );
-	DEBUG( - CLocSUPLServerContainer::NewL );	
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// CLocSUPLServerContainer* CLocSUPLServerContainer::NewLC
-// Static Two phase contructor that instantiates the CLocSUPLServerContainer
-//
-// @param aRect							Client rectangle
-// @param aEngine                       Reference to the SUPL Settings
-//                                      engine 
-// @param aEventHandler                 Reference to the parent view
-// @return CLocSUPLServerContainer*	Reference to the object created
-// ---------------------------------------------------------------------------  
-//  
-CLocSUPLServerContainer* CLocSUPLServerContainer::NewLC( 
-                    		const TRect&               	aRect,
-                          	CLocSUPLSettingsUiEngine&	aEngine,
-                          	CLocSUPLServerView* 		aView )
-	{	
-    CLocSUPLServerContainer* self = new ( ELeave ) CLocSUPLServerContainer(
-                                                        aView );
-	CleanupStack::PushL( self );
-	self->ConstructL( aRect, aEngine );
-	return self;
-	}
-
-// --------------------------------------------------------------------------- 
-// void CLocSUPLServerContainer::ConstructL
-// Second phase of the two phase Construction process
-//
-// @param aRect				 Client rectangle
-// @param aEngine            Reference to the SUPL Settings engine
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLServerContainer::ConstructL( 
-                                    const TRect& 	aRect ,
-                                    CLocSUPLSettingsUiEngine&     aEngine )
-	{
-	DEBUG( + CLocSUPLServerContainer::ConstructL );	
-	//Make this control a window-owning control
-	CreateWindowL(); 
-	
-	// Create a New Title for the View
-	MakeTitleL( R_LOC_SUPL_SERVER_DETAIL_TITLE );
-	
-	CreateListboxL( aEngine );
-	
-	// Get the Help context
-	iContextName = KLOC_HLP_SUPL();
-	
-    SetRect( aRect );
-    ActivateL();
-	DEBUG( - CLocSUPLServerContainer::ConstructL );	
-	}	
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLServerContainer::UpdateScreenL
-// Refreshes the screen so that the list box reflects the latest contents
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLServerContainer::UpdateScreenL()
-    {
-	DEBUG( + CLocSUPLServerContainer::UpdateScreenL );	
-	
-	TInt oldCount 	= SlpIds().Count();	
-	TInt64 slpId;
-	if( iSelectedIndex != KErrNotFound && SlpIds().Count() > iSelectedIndex )
-		{
-		slpId = SlpIds()[ iSelectedIndex ];		
-		}
-	
-	if ( iListBoxModel )
-		{
-		iListBoxModel->UpdateSlpIdsL();
-		}    
-		
-    TInt newCount 	= SlpIds().Count();
-    
-    if ( iListBox )
-        {
-    	// Update Listbox items
-        if( newCount <= 0 || newCount == oldCount )
-        	{
-         	TRAP_IGNORE( iListBox->HandleItemAdditionL() );
-	    	TRAP_IGNORE( iListBox->HandleItemRemovalL() );       	
-        	}
-        else if( newCount > oldCount )
-        	{
-        	// notify the listbox for item addition 
-        	TRAP_IGNORE( iListBox->HandleItemAdditionL() );
-
-        	// set focus to newly added item
-			TInt index = iListBox->CurrentItemIndex();	
-			if( index == 0 && newCount == 1 )
-				{
-				iListBox->SetCurrentItemIndex( 0 );	
-				}
-			else
-				{
-				iListBox->SetCurrentItemIndex( newCount - 1 );	
-				}
-        	}
-        else if( newCount < oldCount )
-        	{
-        	// notify the listbox for item deletion 
-	    	TRAP_IGNORE( iListBox->HandleItemRemovalL() );
-			
-        	// set focus at last selected item or index			
-			if( iSelectedIndex > newCount-1 )
-				{
-				iListBox->SetCurrentItemIndex( newCount - 1 );
-				}
-			else
-				{
-				TInt newIndex = SlpIds().Find( slpId );
-				if( newIndex != KErrNotFound )
-					{
-					iListBox->SetCurrentItemIndex( newIndex );
-					}
-				else
-					{
-					iListBox->SetCurrentItemIndex( iSelectedIndex );				
-					}				
-				}
-        	}
-        }
-    DrawDeferred();
-	DEBUG( - CLocSUPLServerContainer::UpdateScreenL );	
-    }
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLServerContainer::HandleResourceChange
-//
-// ---------------------------------------------------------------------------	
-void CLocSUPLServerContainer::HandleResourceChange(TInt aType)
-	{
-	DEBUG( + CLocSUPLServerContainer::HandleResourceChange );	
-	// Pass the event to the base class
-	CCoeControl::HandleResourceChange(aType);
-    switch( aType )
-    	{
-    	// Dynamic Layout switch
-    	case KEikDynamicLayoutVariantSwitch:
-    		{
-    		SetRect( iView->ClientRect() );
-			break;
-    		}
-    	default:
-    		{
-    		break;
-    		}
-    	}
-	DEBUG( - CLocSUPLServerContainer::HandleResourceChange );	
-	}
-
-// -----------------------------------------------------------------------------
-// CLocSUPLServerContainer::GetHelpContext
-//
-// -----------------------------------------------------------------------------
-//
-void CLocSUPLServerContainer::GetHelpContext( TCoeHelpContext& aContext ) const
-    {
-	DEBUG( + CLocSUPLServerContainer::GetHelpContext );	
-    aContext.iContext = iContextName;
-    aContext.iMajor = TUid::Uid( KLOCSUPLSETTINGSUIUID3 );
-	DEBUG( - CLocSUPLServerContainer::GetHelpContext );	
-    }
-    
-// ---------------------------------------------------------------------------
-// TInt CLocSUPLServerContainer::CountComponentControls
-//
-// ---------------------------------------------------------------------------
-TInt CLocSUPLServerContainer::CountComponentControls() const
-	{
-	return 1;
-	}
-
-// ---------------------------------------------------------------------------
-// CCoeControl* CLocSUPLServerContainer::ComponentControl
-//
-// ---------------------------------------------------------------------------
-CCoeControl* CLocSUPLServerContainer::ComponentControl( TInt /*aIndex*/ ) const
-	{
-	return iListBox;	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLServerContainer::OfferKeyEventL
-//
-// ---------------------------------------------------------------------------	
-//
-TKeyResponse CLocSUPLServerContainer::OfferKeyEventL( const TKeyEvent& aKeyEvent,
-										   					  TEventCode aType )
-	{
-    if ( ( aType == EEventKey || aType == EEventKeyUp) )
-        {
-        if( aKeyEvent.iCode == EKeyBackspace )
-            {
-            iView->HandleCommandL( ELocSuplServerDelete );            
-            return EKeyWasConsumed;
-            }    
-        }
-    // now it's iListBox's job to process the key event
-    return iListBox->OfferKeyEventL( aKeyEvent, aType ); 
-	}
-	    
-// ---------------------------------------------------------------------------
-// void CLocSUPLServerContainer::HandleListBoxEventL
-//
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLServerContainer::HandleListBoxEventL( CEikListBox*  /* aListBox */, 
-		 						   					 TListBoxEvent aEventType )
-	{
-	DEBUG( + CLocSUPLServerContainer::HandleListBoxEventL );	
-	switch ( aEventType )
-        {
-        // List box Item Selection
-        case EEventEnterKeyPressed:
-        case EEventItemSingleClicked:
-            {
-            if(iListBox->SelectionIndexes()->Count() > 0)
-                {
-                ShowContextMenuL();
-                }
-            else
-                {
-                iView->HandleCommandL(ELocSuplServerOpen);
-                }
-			break;	
-			}
-        default:
-           break;
-        }
-	DEBUG( - CLocSUPLServerContainer::HandleListBoxEventL );	
-	}
-	         		 	
-// ---------------------------------------------------------------------------
-// void CLocSUPLServerContainer::FocusChanged
-//
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLServerContainer::FocusChanged( TDrawNow aDrawNow )
-	{
-	CCoeControl::FocusChanged( aDrawNow );
-	// The focus event has to be explicitly handed over to all the compound
-	// controls since CCoeControl does not do that implicitly
-	if ( iListBox )
-		{
-		iListBox->SetFocus( IsFocused(), aDrawNow );				
-		}
-	}
-		
-// ---------------------------------------------------------------------------
-// CLocSUPLServerContainer::SizeChanged
-// 
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLServerContainer::SizeChanged()
-	{
-	if ( iListBox )
-		{
-		iListBox->SetRect( Rect() );
-		}
-	}
-	
-// ---------------------------------------------------------------------------
-// void CLocSUPLServerContainer::MakeTitleL
-// Sets the Title text
-//
-// @param aResourceText Resource to create title
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLServerContainer::MakeTitleL( TInt aResourceText )
-	{
-	DEBUG( + CLocSUPLServerContainer::MakeTitleL );	
-	// Obtain the title from the Status Pane
-	CAknTitlePane* title = static_cast < CAknTitlePane* >( StatusPane()->
-        ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) );
-       
-    // Set the Title's buffer    
-    HBufC* buf = StringLoader::LoadL( aResourceText );
-    title->SetText( buf ); // Takes ownership of buf
-	DEBUG( - CLocSUPLServerContainer::MakeTitleL );	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLServerContainer::StatusPane
-// Returns the Appui's status pane
-//
-// @return CEikStatusPane* Statuspane pointer
-// ---------------------------------------------------------------------------
-//
-CEikStatusPane* CLocSUPLServerContainer::StatusPane()
-	{
-	return iEikonEnv->AppUiFactory()->StatusPane();	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLServerContainer::CreateListboxL
-// Creates the List box and the Listbox model. Associates the list box model 
-// with the list box
-//
-// @param aEngine                       Reference to the SUPL Settings
-//                                      engine 
-// ---------------------------------------------------------------------------	
-//
-void CLocSUPLServerContainer::CreateListboxL( 
-                                    CLocSUPLSettingsUiEngine&     aEngine )
-	{
-	DEBUG( + CLocSUPLServerContainer::CreateListboxL );	
-	// Create the Listbox model
-    iListBoxModel = CLocSUPLServerLBModel::NewL( aEngine );
-	
-	// CAknSingleNumberStyleListBox "2\tTextLabel\t0\t1"
-	
-    iListBox = new ( ELeave ) CAknSingleNumberStyleListBox;
-	iListBox->ConstructL( 
-						this, 
-						#ifdef RD_SCALABLE_UI_V2
-						EAknListBoxStylusMarkableList
-						#else
-						EAknListBoxMarkableList
-						#endif //RD_SCALABLE_UI_V2
-						);
-    // Set the container control.
-	iListBox->SetContainerWindowL( *this );
-    // Add scrollbars to listbox
-	iListBox->CreateScrollBarFrameL( ETrue );
-	iListBox->ScrollBarFrame()->SetScrollBarVisibilityL( CEikScrollBarFrame::EOff,
-														 CEikScrollBarFrame::EAuto );
-    // Icon array, needed only if listbox style is single number with graphic.
-    CAknIconArray* icons = new( ELeave ) CAknIconArray( KIconArrayGranularity );
-    CleanupStack::PushL( icons );
-
-    TFileName avkonIconFile = AknIconUtils::AvkonIconFileName();
-	
-    TRAP_IGNORE( AddIconL(   *icons, 
-                avkonIconFile,
-                KAknsIIDQgnIndiMarkedAdd, 
-                EMbmAvkonQgn_indi_marked_add, 
-                EMbmAvkonQgn_indi_marked_add_mask ) );
- 	
-	TFileName *iconFile = IconFileNameLC();
-    
-    TRAP_IGNORE( AddIconL(   *icons, 
-                *iconFile,
-                KAknsIIDQgnPropRadiobuttOff, 
-                EMbmLocsuplsettingsQgn_loc_server_disabled, 
-                EMbmLocsuplsettingsQgn_loc_server_disabled_mask ) );
- 	
- 	CleanupStack::PopAndDestroy( iconFile );
-	
-    iListBox->ItemDrawer()->ColumnData()->SetIconArray( icons );
-    CleanupStack::Pop( icons );        
-    
-    // Set the model & observer
-    iListBox->SetListBoxObserver( this  );
-
-    iListBox->Model()->SetItemTextArray( iListBoxModel );
-    iListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );									
-    iListBox->ActivateL();   
-	DEBUG( - CLocSUPLServerContainer::CreateListboxL );	
-	}
-
-// -----------------------------------------------------------------------------
-// CLocSUPLServerContainer::AddIconL
-// -----------------------------------------------------------------------------
-void CLocSUPLServerContainer::AddIconL( CAknIconArray&  aIcons,
-                                           const TDesC&    aIconFileWithPath,
-                                           TAknsItemID     aSkinID,
-                                           TInt            aIconGraphicsIndex,
-                                           TInt            aIconGraphicsMaskIndex )
-    {
-	DEBUG( + CLocSUPLServerContainer::AddIconL );	
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-  
-    CFbsBitmap* bitmap = NULL;
-    CFbsBitmap* bitmapMask = NULL;
-    
-    TRAPD( err, AknsUtils::CreateIconL( skin,
-                            aSkinID,
-                            bitmap,
-                            bitmapMask,
-                            aIconFileWithPath,
-                            aIconGraphicsIndex,
-                            aIconGraphicsMaskIndex ) );
-
-    if(err != KErrNone)
-        {
-        TRAP( err, AknIconUtils::CreateIconL( bitmap,
-                                bitmapMask,
-                                aIconFileWithPath,
-                                aIconGraphicsIndex,
-                                aIconGraphicsMaskIndex ) );
-        }
-    User::LeaveIfError( err );
-    
-    CleanupStack::PushL( bitmap );
-    CleanupStack::PushL( bitmapMask );
-    
-    CGulIcon* icon = CGulIcon::NewL( bitmap, bitmapMask );
-    
-    // Remove the Bitmap and the Bitmap Icon from the Clean up stack since 
-    // the ownership is taken over by the icon
-    CleanupStack::Pop( bitmapMask );
-    CleanupStack::Pop( bitmap ); 
-    
-    CleanupStack::PushL( icon );
-    aIcons.AppendL( icon );
-    CleanupStack::Pop( icon ); // icon
-	DEBUG( - CLocSUPLServerContainer::AddIconL );	
-    }
-
-// -----------------------------------------------------------------------------
-// CLocSUPLServerContainer::IconFileNameLC
-// -----------------------------------------------------------------------------
-TFileName* CLocSUPLServerContainer::IconFileNameLC() const
-    {
-    TFileName* fileName = new(ELeave) TFileName;
-    CleanupStack::PushL( fileName );
-    
-	TFileName* tmpName = new(ELeave) TFileName;
-    CleanupStack::PushL( tmpName );
-	
-    tmpName->Append( KDC_BITMAP_DIR );
-    tmpName->Append( KLocSuplSettingsIconFileName );
-
-    CEikAppUi *appUi = ( CEikAppUi *)( CEikonEnv::Static()->AppUi());
-    TFileName appDrive = appUi->Application()->AppFullName();
-    
-    TParse parse;
-    User::LeaveIfError( parse.Set( appDrive, NULL, NULL ) );
-    User::LeaveIfError( parse.Set( parse.Drive(), tmpName, NULL ) );
-    
-	fileName->Copy(parse.FullName());
-
-    CleanupStack::PopAndDestroy( tmpName );
-
-    return fileName;
-    }    
-  
-// ----------------------------------------------------------------------------
-// CLocSUPLServerContainer::ListBoxL()
-// ----------------------------------------------------------------------------
-//
-CEikListBox& CLocSUPLServerContainer::ListBoxL()
-    {
-    User::LeaveIfNull( iListBox );
-    return *iListBox;
-    }
-
-// -----------------------------------------------------------------------------
-// TInt CLocSUPLServerContainer::SelectedItemIndex
-// Returns the Selected element. The list box model defines the enumeration that
-// would determine the current element that has been selected
-//
-// @return TInt Index of the item selected
-// -----------------------------------------------------------------------------
-//
-TInt CLocSUPLServerContainer::SelectedItemIndex()
-    {
-    return iListBox->CurrentItemIndex();
-    }
-			       
-// ----------------------------------------------------------------------------
-// CLocSUPLServerContainer::CurrentSlpId()
-// ----------------------------------------------------------------------------
-//
-TInt64 CLocSUPLServerContainer::CurrentSlpId()
-	{
-	if( SelectedItemIndex() != KErrNotFound && SelectedItemIndex() < ServerCount() )
-		return iListBoxModel->SlpIds()[ SelectedItemIndex() ];
-	else
-		return KErrNotFound;
-	}
-
-// ----------------------------------------------------------------------------
-// CLocSUPLServerContainer::SelectedCount()
-// ----------------------------------------------------------------------------
-//
-TInt CLocSUPLServerContainer::SelectedCount()
-	{
-	return iListBox->SelectionIndexes()->Count();
-	}
-
-// ----------------------------------------------------------------------------
-// CLocSUPLServerContainer::SelectedCount()
-// ----------------------------------------------------------------------------
-//
-TInt CLocSUPLServerContainer::ServerCount()
-	{
-	return iListBox->Model()->NumberOfItems();
-	}
-
-// ---------------------------------------------------------------------------
-// CLocSUPLServerContainer::SlpIds()
-// returns server id array
-//
-// ---------------------------------------------------------------------------
-//  
-RArray<TInt64>& CLocSUPLServerContainer::SlpIds()
-	{
-	return iListBoxModel->SlpIds();
-	}
-
-// ---------------------------------------------------------------------------
-// CLocSUPLServerContainer::SetIndex()
-// sets the current selected item
-//
-// ---------------------------------------------------------------------------
-//  
-void CLocSUPLServerContainer::SetSelectedIndex()
-	{
-	iSelectedIndex = SelectedItemIndex();
-	}
-
-// -----------------------------------------------------------------------------
-// CLocSUPLServerContainer::ShowContextMenuL
-// -----------------------------------------------------------------------------
-//
-void CLocSUPLServerContainer::ShowContextMenuL()
-    {
-	DEBUG( + CLocSUPLServerContainer::ShowContextMenuL );	
-	
-	// Switch to Context specific options menu,
-	// Show it and switch back to main options menu.
-	CEikMenuBar* menuBar = iView->MenuBar();
-	// TRAP displaying of menu bar.
-	// If it fails, the correct resource is set back before leave.
-	TRAPD( err, menuBar->TryDisplayContextMenuBarL() );
-	User::LeaveIfError( err );
-	
-	DEBUG( - CLocSUPLServerContainer::ShowContextMenuL );	
-    }
-// -----------------------------------------------------------------------------
-// CLocSUPLServerContainer::HandlePointerEventL
-// -----------------------------------------------------------------------------
-//
-void CLocSUPLServerContainer::HandlePointerEventL(const TPointerEvent& aPointerEvent)
-    {
-    CCoeControl::HandlePointerEventL( aPointerEvent ); 
-    if(aPointerEvent.iType == TPointerEvent::EButton1Down && iListBox->Model()->NumberOfItems() == 0)
-        {
-        ShowContextMenuL();
-        }
-    }
-
-// End of file
--- a/locationsystemui/locationsysui/locsuplsettingsui/src/locsuplservereditor.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1208 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implements the CLocSUPLServerEditor class
-*
-*/
-
-
-
-#include <aknappui.h>
-#include <AknIconArray.h>       // Icon Array
-#include <aknlocationed.h>
-#include <aknlistquerydialog.h>
-#include <AknPopupFieldText.h> 
-#include <aknnotewrappers.h>
-#include <AknsUtils.h>
-#include <AknsSkinInstance.h>
-#include <aknselectionlist.h>
-#include <akntitle.h>       	// CAknTitlePane
-#include <AknWaitDialog.h> 
-#include <aknuniteditor.h> 
-#include <avkon.rsg>
-#include <avkon.hrh>
-#include <e32math.h>
-#include <eikapp.h>
-#include <eikaufty.h>
-#include <eikcapc.h>
-#include <eikedwin.h>
-#include <eikenv.h>
-#include <eikmenup.h>
-#include <eikmenub.h>
-#include <eikserverapp.h>
-#include <eikspane.h>       	// Status pane
-#include <barsread.h>           // For TResourceReader
-#include <bautils.h> 
-#include <data_caging_path_literals.hrh>
-#include <gulicon.h>            // Gul Icon
-#include <StringLoader.h>
-#include <hlplch.h> 
-
-#include <epos_csuplsettingsconstants.h>
-#include <epos_csuplsettingparams.h>
-
-#include <locsuplsettingsui.rsg>
-#include "locsuplsettings.hrh"
-#include "locsuplservereditor.h"
-#include "locsuplsettingsuiengine.h"
-#include "locsupldebug.h"
-
-// ============================ LOCAL FUNCTIONS ===============================
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CLocSUPLServerEditor::CLocSUPLServerEditor()
-// -----------------------------------------------------------------------------
-//
-CLocSUPLServerEditor::CLocSUPLServerEditor( 
-        					TBool aIsEditable,
-                            CLocSUPLSettingsUiEngine&       aEngine,
-        					TInt64 aSlpId
-		):iIsEditMode( aIsEditable ), iEngine( aEngine ), iSlpId( aSlpId )
-    {
-    if( aIsEditable )
-    	{
-    	iIsNewServer = ETrue;
-    	iSlpId = NULL;
-    	}    	
-    }
-
-// -----------------------------------------------------------------------------
-// CLocSUPLServerEditor::ConstructL()
-// -----------------------------------------------------------------------------
-//
-void CLocSUPLServerEditor::ConstructL()
-    {
-	DEBUG( + CLocSUPLServerEditor::ConstructL );
-    CAknForm::ConstructL( R_SUPLSERVER_EDITOR_MENU_BAR );
-
-    // Save original title
-    CEikStatusPane* statusPane = iAvkonAppUi->StatusPane();
-    iTitlePane = ( CAknTitlePane* ) statusPane->ControlL(
-        TUid::Uid( EEikStatusPaneUidTitle ) );
-    iOriginalTitle = iTitlePane->Text()->AllocL();
-    
-    // Allocate memory for Server address buffer & Access point buffer
-	iServerAddress = HBufC16::NewL( KMaxHSLPAddrLen ); 
-	iIap = HBufC16::NewL( KMaxIAPLen );   
-	
-	DEBUG( - CLocSUPLServerEditor::ConstructL );
-    }
-
-// -----------------------------------------------------------------------------
-// CLocSUPLServerEditor::NewL()
-// -----------------------------------------------------------------------------
-//
-CLocSUPLServerEditor* CLocSUPLServerEditor::NewL( 
-        					TBool aIsEditable,
-                            CLocSUPLSettingsUiEngine&       aEngine,
-        					TInt64 aSlpId
-		)
-	{	
-    CLocSUPLServerEditor* self = NewLC( aIsEditable, aEngine, aSlpId );
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-// -----------------------------------------------------------------------------
-// CLocSUPLServerEditor::NewLC()
-// -----------------------------------------------------------------------------
-//
-CLocSUPLServerEditor* CLocSUPLServerEditor::NewLC( 
-        					TBool aIsEditable,
-                            CLocSUPLSettingsUiEngine&       aEngine,
-        					TInt64 aSlpId
-		)
-    {
-    CLocSUPLServerEditor* self = new ( ELeave ) 
-    			CLocSUPLServerEditor( aIsEditable, aEngine, aSlpId );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CLocSUPLServerEditor::~CLocSUPLServerEditor()
-// -----------------------------------------------------------------------------
-//
-CLocSUPLServerEditor::~CLocSUPLServerEditor()
-    {
-	DEBUG( + CLocSUPLServerEditor::~CLocSUPLServerEditor );
-    // Restore title pane. Ownership of iTitlePane transferred.
-    if ( iTitlePane && iOriginalTitle )
-        {
-        iTitlePane->SetText( iOriginalTitle );
-        }
-	delete iServerAddress;	
-	iServerAddress = NULL;
-	
-	delete iIap;
-	iIap = NULL;
-	DEBUG( - CLocSUPLServerEditor::~CLocSUPLServerEditor );	
-    }
-
-// -----------------------------------------------------------------------------
-// CLocSUPLServerEditor::DynInitMenuPaneL()
-// -----------------------------------------------------------------------------
-//
-void CLocSUPLServerEditor::DynInitMenuPaneL(
-    TInt aResourceId,
-    CEikMenuPane* aMenuPane )
-    {
-	DEBUG( + CLocSUPLServerEditor::DynInitMenuPaneL );
-    CAknForm::DynInitMenuPaneL( aResourceId, aMenuPane );
-
-    if ( aResourceId == R_AVKON_FORM_MENUPANE )
-        {
-        // We do not want to allow the user to modify our Form therefore
-        // Disable the Label, Add, Delete, and Save Field
-        aMenuPane->SetItemDimmed( EAknFormCmdLabel, ETrue );
-        aMenuPane->SetItemDimmed( EAknFormCmdAdd, 	ETrue );
-		aMenuPane->SetItemDimmed( EAknFormCmdDelete,ETrue );
-        aMenuPane->SetItemDimmed( EAknFormCmdSave, 	ETrue );
-		
-        if( IsEditable() )
-	        {
-        	aMenuPane->SetItemDimmed( EAknFormCmdEdit, 			ETrue );
-        	aMenuPane->SetItemDimmed( ELocServerEditorDisable, 	ETrue );
-        	aMenuPane->SetItemDimmed( ELocServerEditorEnable, 	ETrue );	        
-       		aMenuPane->SetItemDimmed( ELocServerEditorDelete, 	ETrue );		       			    	
-        				
-			switch( IdOfFocusControl() )
-				{
-				case ELocSuplServerIdServerAddr:
-					{
-					aMenuPane->SetItemDimmed( ELocServerEditorDefine, 	ETrue );
-		       		aMenuPane->SetItemDimmed( ELocServerEditorChange, 	ETrue );   
-					break;
-					}
-				case ELocSuplServerIdAccessPoint:
-					{
-			       	TInt isIapChanged = EFalse;
-			        CEikEdwin* apSelector = 
-			        			static_cast < CEikEdwin* > ( ControlOrNull( IdOfFocusControl() ) );           
-			        if( apSelector )
-			            {  
-			            if( iIap->Length() > 0 ) 
-			            	isIapChanged = ETrue;
-			            } 
-			            
-			       	if( isIapChanged )
-			       		{
-			       		aMenuPane->SetItemDimmed( ELocServerEditorDefine, 	ETrue );
-			       		}
-			       	else
-			       		{
-			       		aMenuPane->SetItemDimmed( ELocServerEditorChange, 	ETrue );		       		
-			       		}				
-					break;
-					}
-				case ELocSuplServerIdUsageInHomeNw:
-					{
-					aMenuPane->SetItemDimmed( ELocServerEditorDefine, 		ETrue );
-					
-		        	TBool editableFlag = ETrue;
-		        	if( iSlpId )
-		        		TRAP_IGNORE( iEngine.GetEditableFlagL( iSlpId, editableFlag ) );        				        	
-		        	if( editableFlag == EFalse )					
-						aMenuPane->SetItemDimmed( ELocServerEditorChange, 	ETrue );
-		        	
-					break;
-					}
-				default:
-					break;
-				}			
-	        }
-	    else
-	    	{
-			TBool enabledFlag;    
-			TRAP_IGNORE( iEngine.GetServerEnabledFlagL( iSlpId, enabledFlag ) );
-			
-			if( enabledFlag )
-				aMenuPane->SetItemDimmed( ELocServerEditorEnable, ETrue );
-			else
-				aMenuPane->SetItemDimmed( ELocServerEditorDisable, ETrue );
-			
-			
-        	TBool editableFlag = ETrue;
-        	if( iSlpId )
-        		TRAP_IGNORE( iEngine.GetEditableFlagL( iSlpId, editableFlag ) );        				        	
-        	if( editableFlag == EFalse )					
-        		{
-				switch( IdOfFocusControl() )
-					{
-					case ELocSuplServerIdServerAddr:
-					case ELocSuplServerIdUsageInHomeNw:
-						{
-						aMenuPane->SetItemDimmed( EAknFormCmdEdit, 	ETrue );
-						break;					
-						}
-					default:
-						break;
-					}        		
-        		}
-
-			aMenuPane->SetItemDimmed( ELocServerEditorDefine, 	ETrue );
-       		aMenuPane->SetItemDimmed( ELocServerEditorChange, 	ETrue );		       			    	
-       		aMenuPane->SetItemDimmed( ELocServerEditorRemove, 	ETrue );		       			    	
-	    	}	        
-        }
-	DEBUG( - CLocSUPLServerEditor::DynInitMenuPaneL );
-    }
-
-// -----------------------------------------------------------------------------
-// CLocSUPLServerEditor::ProcessCommandL()
-// -----------------------------------------------------------------------------
-//
-void CLocSUPLServerEditor::ProcessCommandL( TInt aCommandId )
-	{
-	DEBUG1( + CLocSUPLServerEditor::ProcessCommandL aCommandId=%d, aCommandId );
-	CAknForm::ProcessCommandL( aCommandId );
-
-    switch (aCommandId)
-        {
-        case EAknFormCmdEdit:
-            {
-            iIsEditMode = ETrue;
-            SetCursorToEndL();
-            HandleMSKCaptionL();
-            break;
-            }
-        case ELocServerEditorDelete:
-        case ELocServerEditorRemove:
-            {
-            if (DeleteConfirmationQueryL())
-                {
-                TRAP_IGNORE( iEngine.RemoveServerL( iSlpId ) );
-                // Return back to server view
-                TryExitL(EAknSoftkeyBack);
-                }
-            break;
-            }
-        case ELocServerEditorDisable:
-            {
-            TRAP_IGNORE( iEngine.SetServerEnabledFlagL( iSlpId, EFalse ) );
-            break;
-            }
-        case ELocServerEditorEnable:
-            {
-            TRAP_IGNORE( iEngine.SetServerEnabledFlagL( iSlpId, ETrue ) );
-            break;
-            }
-        case ELocServerEditorDefine:
-            {
-            TRAP_IGNORE( iEngine.LaunchApConfiguratorL( iSlpId, this ) );
-            break;
-            }
-        case ELocServerEditorChange:
-        case ELocServerEditorMSKChange:
-            {
-            CEikEdwin* usageInHomeNWPopupFieldText = (CEikEdwin*) Control(
-                    ELocSuplServerIdUsageInHomeNw);
-            if (IdOfFocusControl() == ELocSuplServerIdAccessPoint)
-                {
-                TRAP_IGNORE( iEngine.LaunchApConfiguratorL( iSlpId, this ) );
-                }
-            else
-                {
-                if (iIsNewServer)
-                    {
-                    TBuf<KMaxUsageTextSize> des;
-                    usageInHomeNWPopupFieldText->GetText(des);
-                    if (!des.Compare(KNoUsageInHomeNetork))
-                        {
-                        SetUsageinHomeNetwork(ETrue);
-                        }
-                    else
-                        {
-                        SetUsageinHomeNetwork(EFalse);
-                        }
-                    }
-                else
-                    {
-                    TBool editableFlag;
-                    TRAP_IGNORE( iEngine.GetEditableFlagL( iSlpId, editableFlag ) );
-                    if (editableFlag)
-                        {
-                        TBuf<KMaxUsageTextSize> des;
-                        usageInHomeNWPopupFieldText->GetText(des);
-                        if (!des.Compare(KNoUsageInHomeNetork))
-                            {
-                            SetUsageinHomeNetwork(ETrue);
-                            }
-                        else
-                            {
-                            SetUsageinHomeNetwork(EFalse);
-                            }
-                        }
-                    }
-                }
-            break;
-            }
-        case EAknCmdHelp:
-            {
-            HlpLauncher::LaunchHelpApplicationL(iCoeEnv->WsSession(),
-                    iAvkonAppUi->AppHelpContextL());
-            break;
-            }
-        case EEikCmdExit:
-            {
-            // The Exit is handled by the Application UI
-            TryExitL(EEikCmdExit);
-            break;
-            }
-        default:
-            break;
-        }DEBUG( - CLocSUPLServerEditor::ProcessCommandL );
-    }
-
-// ---------------------------------------------------------------------------
-// Derived from CEikDialog
-// ---------------------------------------------------------------------------
-
-// -----------------------------------------------------------------------------
-// CLocSUPLServerEditor::OfferKeyEventL
-// Receives and handles key events
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CLocSUPLServerEditor::OfferKeyEventL( const TKeyEvent& aKeyEvent,
-                                             TEventCode aType )
-    {
-	DEBUG( CLocSUPLServerEditor::OfferKeyEventL );
-	if ( aType == EEventKey )
-		{
-		if( aKeyEvent.iCode == EKeyBackspace && IsEditable() == EFalse )		
-            {
-        	ProcessCommandL( ELocServerEditorDelete );            	
-        	return EKeyWasConsumed;
-            }      
-             
-        if( !iIsNewServer && IsEditable() )
-        	{
-        	// check if current opened server is editable
-        	// if its not editable then return with no action on it.			
-        	TBool editableFlag = ETrue;
-        	if( iSlpId )
-        		TRAP_IGNORE( iEngine.GetEditableFlagL( iSlpId, editableFlag ) );        		
-        	
-        	if( editableFlag == EFalse )
-        		{
-				if( ( aKeyEvent.iScanCode != EStdKeyUpArrow || aKeyEvent.iScanCode != EStdKeyDownArrow ) 
-					== EFalse )       		
-					{
-					switch( IdOfFocusControl() )
-						{
-						case ELocSuplServerIdServerAddr:						
-						case ELocSuplServerIdUsageInHomeNw:
-							{
-							return EKeyWasConsumed;
-							}						
-						default:
-							break;
-						}
-					}
-        		}
-        	}
-
-		if ( aKeyEvent.iCode == EKeyEnter || aKeyEvent.iScanCode == EStdKeyEnter ) 
-			{
-		    if ( !( IsEditable() && IdOfFocusControl() == ELocSuplServerIdServerAddr ) )
-		    	{
-				TKeyEvent enterKeyEvent( aKeyEvent );
-				enterKeyEvent.iCode = EKeyOK;
-				CEikButtonGroupContainer* cba = CEikButtonGroupContainer::Current();
-				return cba->OfferKeyEventL( enterKeyEvent, aType );	    	
-		    	}
-			}         
-		}
-    TKeyResponse response= CAknForm::OfferKeyEventL( aKeyEvent, aType );    
-    return response;   
-    }
-    
-// ---------------------------------------------------------------------------
-// CLocSUPLServerEditor ::OkToExitL()
-// ---------------------------------------------------------------------------
-//
-TBool CLocSUPLServerEditor::OkToExitL( TInt aButtonId )
-    {
-	DEBUG1( + CLocSUPLServerEditor::OkToExitL aButtonId=%d, aButtonId );
-    TBool retVal = ETrue;
-    	
-    switch( aButtonId )
-        {
-        case EAknFormCmdEdit: // when MSK is pressed
-            {
-            //Handle MSK operation based on focused line.            
-		    if( IsEditable() == EFalse )
-			    {
-            	ProcessCommandL( EAknFormCmdEdit ); 
-            	HandleMSKCaptionL();				
-				}				
-            //dont close editor            
-            retVal = EFalse;
-            break;
-            }
-        case ELocServerEditorNoCmd:
-        	{
-            //dont close editor            
-            retVal = EFalse;
-        	break;
-        	}
-        case ELocServerEditorMSKDefine:
-        	{
-        	TRAP_IGNORE( iEngine.LaunchApConfiguratorL( iSlpId, this ) );
-            //dont close editor            
-            retVal = EFalse;
-        	break;
-        	}
-        case ELocServerEditorMSKChange:
-        	{
-        	ProcessCommandL( ELocServerEditorMSKChange );
-            //dont close editor            
-            retVal = EFalse;
-        	break;
-        	}
-        case EAknSoftkeyOptions: //when LSK is pressed
-            {
-            //display menu specific to editor
-            DisplayMenuL();
-            //don't close editor
-            retVal = EFalse;
-            break;
-            }            
-        case EAknSoftkeyBack: 
-        	{
-        	break;
-        	}
-        case EAknSoftkeyDone: // when RSK is pressed in edit mode
-            {
-			if( SaveFormDataL() )
-				{
-            	if( iIsNewServer ) 
-            		{
-            		TRAPD( err, iEngine.AddNewServerL(
-            								iServerAddress->Des(),
-            								iIap->Des(),
-            								iUsageInHomeNw ) );
-            		if( err == KErrNone )
-            			{
-            			iIsNewServer = EFalse;	
-            			}
-            		else if( err == KErrAlreadyExists ) 
-            			{
-            			ShowServerValidationInfoNoteL( R_LOC_SERVER_ALREADY_EXIST_INFO_NOTE );
-						iIsEditMode = ETrue;
-					    SetEditableL( iIsEditMode );
-					    SetInitialCurrentLine();	            			
-						SetCursorToEndL();
-			            //dont close editor            
-			            retVal = EFalse;	            		
-            			}
-            		else if( err == KErrArgument )
-	            		{
-	            		ShowServerValidationInfoNoteL( R_LOC_SERVER_INFO_NOTE );
-						iIsEditMode = ETrue;
-			    		SetEditableL( iIsEditMode );					
-						SetInitialCurrentLine();								
-						SetCursorToEndL();
-	            		//dont close editor            
-	            		retVal = EFalse;	
-	            		}
-            		}
-            	else
-            		{ // save the existing slp entry info
-            		if( iSlpId )
-            			{
-            			TRAPD( err, iEngine.SetServerAddressL( 
-            							iSlpId, iServerAddress->Des() ) );
-            			if( err == KErrNone )
-            				{
-            				if( iIap->Length() > 0 )
-		           				iEngine.SetIapNameL( iSlpId, iIap->Des() );	            			
-	            			iEngine.SetUsageInHomwNwFlagL( iSlpId, iUsageInHomeNw );  
-	            			          				
-		 					iIsEditMode = EFalse;
-						    SetEditableL( iIsEditMode );						    
-           					}
-            			else if( err == KErrAlreadyExists )
-            				{
-	            			ShowServerValidationInfoNoteL( R_LOC_SERVER_ALREADY_EXIST_INFO_NOTE );
-							iIsEditMode = ETrue;
-						    SetEditableL( iIsEditMode );
-						    SetInitialCurrentLine();	            			
-							SetCursorToEndL();
-            				}
-            			else if( err == KErrArgument )
-            			    {
-            			    ShowServerValidationInfoNoteL( R_LOC_SERVER_INFO_NOTE );
-            			    iIsEditMode = ETrue;
-            			    SetEditableL( iIsEditMode );                    
-            			    SetInitialCurrentLine();                                
-            			    SetCursorToEndL();
-            			    //dont close editor            
-            			    retVal = EFalse;    
-            			    }
-            			}
-	            	HandleMSKCaptionL();
-		            //dont close editor            
-		            retVal = EFalse;	            		
-            		}
-				}
-			else
-				{
-				//if control's state is changed and manadatory contain is not added then show the popup message
-				if( iIsModified )
-				    {
-				    ShowServerValidationInfoNoteL( R_LOC_SERVER_INFO_NOTE );
-				    iIsEditMode = ETrue;
-                    SetEditableL( iIsEditMode );                    
-                    SetInitialCurrentLine();                                
-                    SetCursorToEndL();
-                    //dont close editor            
-                    retVal = EFalse;       
-				    }
-				else
-				    {
-				    retVal = ETrue;
-				    }			         						
-				}				
-			break;
-            }
-        default: // close editor in all other cases
-            {
-            break;
-            }
-        }
-	DEBUG1( - CLocSUPLServerEditor::OkToExitL retVal=%d, retVal );
-    return retVal;
-    }
-    
-// -----------------------------------------------------------------------------
-// CLocSUPLServerEditor::SaveFormDataL()
-// Deals with the occasion of a change from edit->view mode and the user wishes 
-// to save the changes.
-// -----------------------------------------------------------------------------
-//
-TBool CLocSUPLServerEditor::SaveFormDataL()
-    {
-	DEBUG( + CLocSUPLServerEditor::SaveFormDataL );
-    TBool retVal = EFalse;
-    
-    //Retrieve server address text 
-    CEikEdwin* serverAddress = 
-    		static_cast < CEikEdwin* > ( ControlOrNull( ELocSuplServerIdServerAddr ) );            
-    if( serverAddress )
-        {                       
-        HBufC* address = serverAddress->GetTextInHBufL();
-        if( address )
-            {            
-            iServerAddress->Des().Copy( address->Des() );
-            }
-        else
-        	iServerAddress->Des().Copy( KNullDesC );
-        delete address;
-        }
-
-    //Retrieve Access Point 
-    CEikEdwin* accessPoint = 
-    		static_cast < CEikEdwin* > ( ControlOrNull( ELocSuplServerIdAccessPoint ) );            
-    if( accessPoint )
-        {                       
-        HBufC* apText = accessPoint->GetTextInHBufL();
-        if( apText )
-            {
-            iIap->Des().Copy( apText->Des() );
-            }
-        delete apText;
-
-        HBufC* apString = StringLoader::LoadL( R_LOC_SERVER_NONE ); 
-        if( apString->Compare( iIap->Des() ) == 0 ) 
-        	{
-        	iIap->Des().Copy( KNullDesC );
-        	}
-        delete apString;
-        }
-
-    //Retrieve Usage In Home Nw Field value
-    CEikEdwin* usageInHomeNWPopupFieldText = (CEikEdwin*) Control(
-            ELocSuplServerIdUsageInHomeNw);
-    if (usageInHomeNWPopupFieldText)
-        {
-        TBuf<KMaxUsageTextSize> des;
-        usageInHomeNWPopupFieldText->GetText(des);
-        if (!des.Compare(KNoUsageInHomeNetork))
-            {
-            iUsageInHomeNw = ETrue;
-            }
-        else
-            {
-            iUsageInHomeNw = EFalse;
-            }
-        }
-
-    if( iServerAddress->Length() > 0 )
-    	{
-    	retVal = ETrue;
-    	}       	       	    
-    	
-	DEBUG( - CLocSUPLServerEditor::SaveFormDataL );
-    return retVal;
-    }
-
-// -----------------------------------------------------------------------------
-// LocSUPLServerEditor::PreLayoutDynInitL()
-// Initialises the dialog's controls before the dialog is sized and layed out.
-// -----------------------------------------------------------------------------
-//
-void CLocSUPLServerEditor::PreLayoutDynInitL()
-    {    
-	DEBUG( + CLocSUPLServerEditor::PreLayoutDynInitL );
-    CAknForm::PreLayoutDynInitL();
-    
-	DEBUG( - CLocSUPLServerEditor::PreLayoutDynInitL );
-    }
-
-// -----------------------------------------------------------------------------
-// CLocSUPLServerEditor::PostLayoutDynInitL
-// Initialises the dialog's controls after the dialog
-// has been sized but before it has been activated.
-// -----------------------------------------------------------------------------
-//
-void CLocSUPLServerEditor::PostLayoutDynInitL()
-    {
-	DEBUG( + CLocSUPLServerEditor::PostLayoutDynInitL );
-    CAknForm::PostLayoutDynInitL();
-    SetEditableL( iIsEditMode );
-    LoadFormValuesFromDataL();    
-
-    CEikButtonGroupContainer* cba = CEikButtonGroupContainer::Current();
-    CleanupStack::PushL( cba );
-    if( IsEditable() )
-    	{
-		cba->SetCommandSetL( R_SUPLSERVER_EDITOR_OPTIONS_NOMSK_DONE );
-    	}
-    else
-    	{
-    	TBool editableFlag = ETrue;   	
-    	if( iSlpId )
-    		TRAP_IGNORE( iEngine.GetEditableFlagL( iSlpId, editableFlag ) );        		    		
-    	    	
-       	if( editableFlag )
-       	    cba->SetCommandSetL( R_SUPLSERVER_EDITOR_OPTIONS_EDIT_BACK );
-       	else
-       		cba->SetCommandSetL( R_SUPLSERVER_EDITOR_OPTIONS_NOMSK_BACK );	
-    	}
-	CleanupStack::Pop( cba );			    	
-	
-	DEBUG( - CLocSUPLServerEditor::PostLayoutDynInitL );
-    }
-    
-// -----------------------------------------------------------------------------
-// CLocSUPLServerEditor::LineChangedL()
-// -----------------------------------------------------------------------------
-//
-void CLocSUPLServerEditor::LineChangedL(TInt /*aControlId*/)
-    {
-    HandleMSKCaptionL(); 
-    }
-
-// -----------------------------------------------------------------------------
-// CLocSUPLServerEditor::SetInitialCurrentLine()
-// Selects desired line on startup
-// -----------------------------------------------------------------------------
-//
-void CLocSUPLServerEditor::SetInitialCurrentLine()
-    {
-    CAknForm::SetInitialCurrentLine();
-
-	// set focus to server address field
-	if ( ControlOrNull( ELocSuplServerIdServerAddr ) )
-		{
-		TRAP_IGNORE( TryChangeFocusToL( ELocSuplServerIdServerAddr ) );
-		}
-    }
-
-// -----------------------------------------------------------------------------
-// CLocSUPLServerEditor::HandleResourceChange()
-// Handles layout switch
-// -----------------------------------------------------------------------------
-//
-void CLocSUPLServerEditor::HandleResourceChange( TInt aType )
-	{
-	if ( aType == KEikDynamicLayoutVariantSwitch )
-		{
-		CAknForm::HandleResourceChange( aType );
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// CLocSUPLServerEditor::ExecuteLD
-// Executes the Dialog
-// -----------------------------------------------------------------------------
-//
-TInt CLocSUPLServerEditor::ExecuteLD()
-    {    
-	return CAknForm::ExecuteLD( R_SUPLSERVER_EDITOR_FORM_DIALOG );    	
-    }
-
-// -----------------------------------------------------------------------------
-// CLocSUPLServerEditor::HandleControlStateChangeL
-// -----------------------------------------------------------------------------
-//
-void CLocSUPLServerEditor::HandleControlStateChangeL( TInt aControlId )
-    {
-	DEBUG( + CLocSUPLServerEditor::HandleControlStateChangeL );
-	iIsModified = ETrue;
-	switch( aControlId )
-	    {
-	    case ELocSuplServerIdServerAddr:
-	        {            
-	        //Retrieve server address text 
-	        CEikEdwin* serverAddress = 
-	        		static_cast < CEikEdwin* > ( ControlOrNull( ELocSuplServerIdServerAddr ) );            
-	        if( serverAddress )
-	            {                       
-	            HBufC* address = serverAddress->GetTextInHBufL();
-	            if( address )
-	                {
-	                CleanupStack::PushL( address );	      
-			        // update the title pane caption
-	            	ChangeTitlePaneTextL( *address ); 
-	                CleanupStack::PopAndDestroy( address );
-	                }
-	            else
-	            	{
-			        // update the title pane caption
-			        TBuf<1> nullDes;
-			        nullDes.Copy( KNullDesC );
-		        	ChangeTitlePaneTextL( nullDes ); 
-	            	}
-	            }              
-	        break;
-	        } 
-	    default:
-	    	break;	        
-	    }        
-	DEBUG( - CLocSUPLServerEditor::HandleControlStateChangeL );
-    }
-
-// ---------------------------------------------------------------------------
-// CLocSUPLServerEditor ::LoadFormValuesFromDataL()
-// Called when the form is  executed and when the user chooses to discard changes
-// in QuerySaveChangesL (via  DoNotSaveFormDataL).
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLServerEditor::LoadFormValuesFromDataL()
-    {
-	DEBUG( + CLocSUPLServerEditor::LoadFormValuesFromDataL );
-   	if( IsEditable() && iIsNewServer ) //if create new server
-       	{
-       	CEikEdwin* apSelector = 
-        			static_cast < CEikEdwin* > ( ControlOrNull( ELocSuplServerIdAccessPoint ) );           
-       	if( apSelector )
-            {   
-            HBufC* apString = StringLoader::LoadL( R_LOC_SERVER_NONE );   
-            apSelector->SetTextL( apString );
-            delete apString;
-            }
-        apSelector->DrawNow();
-
-        CEikEdwin* usageInHNWPopupFieldText = (CEikEdwin*) Control(
-                ELocSuplServerIdUsageInHomeNw);
-        if (usageInHNWPopupFieldText)
-            {
-            HBufC* usageString = StringLoader::LoadL(
-                    R_LOC_SERVER_USAGEINHOMENETWORK_YES);
-            usageInHNWPopupFieldText->SetTextL(usageString);
-            delete usageString;
-            }
-        usageInHNWPopupFieldText->DrawNow();
-
-        // update the title pane caption
-       	HBufC* serverTitle = StringLoader::LoadL( R_LOC_SERVER_EDITOR_TITLE ); 
-       	if( serverTitle )
-            {
-        	ChangeTitlePaneTextL( *serverTitle ); 
-            }        
-       	delete serverTitle;
-       	serverTitle=NULL;
-       	}
-     else
-     	{     	
-	   	CServerParams *params = CServerParams::NewL();
-	   	CleanupStack::PushL( params );
-	    TRAP_IGNORE( iEngine.GetSlpInfoFromIdL( iSlpId, params ) );
-	    
-	    HBufC* hslpAddr = HBufC::NewL( KMaxHSLPAddrLen );    
-	    HBufC* iapName 	= HBufC::NewL( KMaxIAPLen );
-	    TInt64 slpId;
-	    TBool enabledFlag, simChangeFlag, usageInHomeNwFlag, editFlag;    
-	    
-	    TInt errParams = params->Get(
-	    							slpId, 
-	    							hslpAddr->Des(), 
-	    							iapName->Des(), 
-	    							enabledFlag, 
-	    							simChangeFlag, 
-	    							usageInHomeNwFlag, 
-	    							editFlag
-	    						);
-	    if ( errParams != KErrNone )
-	        {
-	        // Error has occured 
-	        }  
-     	
-        CEikEdwin* serverAddress = 
-        			static_cast < CEikEdwin* > ( ControlOrNull( ELocSuplServerIdServerAddr ) );           
-        if( serverAddress )
-            {   
-            serverAddress->SetTextL( hslpAddr );
-            if( editFlag == EFalse )
-            	serverAddress->SetReadOnly( ETrue );
-        	serverAddress->DrawDeferred();
-        	iServerAddress->Des().Copy( hslpAddr->Des() );
-            } 
-
-        CEikEdwin* apSelector = 
-        			static_cast < CEikEdwin* > ( ControlOrNull( ELocSuplServerIdAccessPoint ) );           
-        if( apSelector )
-            {   
-            if( iapName->Length() > 0 )
-            	{
-            	apSelector->SetTextL( iapName );
-            	}
-            else
-            	{
-	            HBufC* apString = StringLoader::LoadL( R_LOC_SERVER_NONE ); 
-	            apSelector->SetTextL( apString );
-            	delete apString;
-            	}
-            	            
-        	apSelector->DrawNow();
-        	iIap->Des().Copy( iapName->Des() );
-            } 
-
-        CEikEdwin* usageInHNWPopupFieldText = (CEikEdwin*) Control(
-                ELocSuplServerIdUsageInHomeNw);
-        if (usageInHNWPopupFieldText)
-            {
-            if (usageInHomeNwFlag)
-                SetUsageinHomeNetwork(EFalse);
-            else
-                SetUsageinHomeNetwork(ETrue);
-
-            UpdatePageL(ETrue);
-            iUsageInHomeNw = usageInHomeNwFlag;
-            }            
-            
-	    delete iapName;
-	    delete hslpAddr;	    
-	    CleanupStack::PopAndDestroy( params );
-
-        // update the title pane caption
-        ChangeTitlePaneTextL( *iServerAddress ); 
-            
-     	}
-	DEBUG( - CLocSUPLServerEditor::LoadFormValuesFromDataL );
-    }
-    
-// ---------------------------------------------------------------------------
-// CLocSUPLServerEditor::ChangeTitlePaneTextL()
-// Set the Title Text
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLServerEditor::ChangeTitlePaneTextL( TDesC& aText )
-    {
-	DEBUG( + CLocSUPLServerEditor::ChangeTitlePaneTextL );
-    // Obtain the title from the Status Pane
-    CAknTitlePane* title = static_cast < CAknTitlePane* >( iEikonEnv->AppUiFactory()->
-    	StatusPane()->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) );
-       
-    // Set the Title's buffer    
-    HBufC* buf = aText.AllocL();
-    title->SetText( buf ); // Takes ownership of buf
-    title->DrawNow();
-	DEBUG( - CLocSUPLServerEditor::ChangeTitlePaneTextL );
-    }     
-
-// ---------------------------------------------------------------------------
-// CLocSUPLServerEditor::TogglePopupFieldControlL()
-// it toggles  value of popupfield control
-// This method is no longer in use since TB 9.2
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLServerEditor::TogglePopupFieldControlL( TInt aControlId )
-    {
-	DEBUG( + CLocSUPLServerEditor::TogglePopupFieldControlL );
-    CAknPopupFieldText* popupFieldText =
-                    		( CAknPopupFieldText* ) Control( aControlId );
-                    		
-	if( popupFieldText )
-		{          
-		if( popupFieldText->CurrentValueIndex() == 0 )
-		  	popupFieldText->SetCurrentValueIndex( 1 );
-		else
-		  	popupFieldText->SetCurrentValueIndex( 0 );    
-
-		UpdatePageL( ETrue );
-		}
-	DEBUG( - CLocSUPLServerEditor::TogglePopupFieldControlL );
-    }
- 
-// -----------------------------------------------------------------------------
-// CLocSUPLServerEditor::HandleMSKCaptionL()
-// It changes caption of MSK key
-// -----------------------------------------------------------------------------
-//
-void CLocSUPLServerEditor::HandleMSKCaptionL()
-    {
-	DEBUG( + CLocSUPLServerEditor::HandleMSKCaptionL );
-    CEikButtonGroupContainer* cba = CEikButtonGroupContainer::Current();
-    CleanupStack::PushL( cba );
-    //attribute specific cba
-    if( IsEditable() )
-	    {
-		switch ( IdOfFocusControl() )
-	       	{
-	       	case ELocSuplServerIdServerAddr:
-	       		{
-	       		cba->SetCommandSetL( R_SUPLSERVER_EDITOR_OPTIONS_NOMSK_DONE );
-	       		break;
-	       		}
-	       	case ELocSuplServerIdAccessPoint:
-		       	{
-		       	TInt isIapChanged = EFalse;
-		        CEikEdwin* apSelector = 
-		        			static_cast < CEikEdwin* > ( ControlOrNull( IdOfFocusControl() ) );           
-		        if( apSelector && iIap )
-		            {   
-		            if( iIap->Length() > 0 )
-	            		isIapChanged = ETrue;
-		            } 
-		       	if( isIapChanged )
-		       		{
-		       		cba->SetCommandSetL( R_SUPLSERVER_EDITOR_OPTIONS_CHANGE_DONE );
-		       		}
-		       	else
-		       		{
-		       		cba->SetCommandSetL( R_SUPLSERVER_EDITOR_OPTIONS_DEFINE_DONE );		       		
-		       		}
-		       	break;	
-		       	}
-	       	case ELocSuplServerIdUsageInHomeNw:
-		       	{
-   	        	TBool editableFlag = ETrue;
-	        	if( iSlpId )
-	        		{
-	        		TRAP_IGNORE( iEngine.GetEditableFlagL( iSlpId, editableFlag ) );        		
-	        		}
-		       	if( editableFlag )
-	       			cba->SetCommandSetL( R_SUPLSERVER_EDITOR_OPTIONS_CHANGE_DONE );
-		       	else
-	       			cba->SetCommandSetL( R_SUPLSERVER_EDITOR_OPTIONS_NOMSK_DONE );		       	
-	       		break;
-		       	}
-		 	default:
-			 	break;	
-	       	}	    	
-	    }
-	else
-		{		
-    	TBool editableFlag = ETrue;
-    	TBool changeMSK = ETrue;    	
-    	
-    	if( iSlpId )
-    		TRAP_IGNORE( iEngine.GetEditableFlagL( iSlpId, editableFlag ) );        		    		
-    	    	
-       	if( editableFlag == EFalse && ( IdOfFocusControl() == ELocSuplServerIdServerAddr || 
-       									IdOfFocusControl() == ELocSuplServerIdUsageInHomeNw ) )
-			changeMSK = EFalse;       			
-
-       	if( changeMSK )
-       	    cba->SetCommandSetL( R_SUPLSERVER_EDITOR_OPTIONS_EDIT_BACK );
-       	else
-       		cba->SetCommandSetL( R_SUPLSERVER_EDITOR_OPTIONS_NOMSK_BACK );
-		}
-    cba->DrawDeferred();    
-    CleanupStack::Pop( cba );    
-	DEBUG( - CLocSUPLServerEditor::HandleMSKCaptionL );
-    }
-
-// -----------------------------------------------------------------------------
-// CLocSUPLServerEditor::UpdateIapL()
-// It changes IAP value in AP field
-// -----------------------------------------------------------------------------
-//
-void CLocSUPLServerEditor::UpdateIapL( const TDesC& aIapName )
-	{
-	DEBUG( + CLocSUPLServerEditor::UpdateIapL );
-	if( aIapName.Length() > 0 )
-		{
-		iIap->Des().Copy( aIapName );	
-	    CEikEdwin* apSelector = 
-	    			static_cast < CEikEdwin* > ( ControlOrNull( ELocSuplServerIdAccessPoint ) );           
-	    if( apSelector )
-	        {   
-	        apSelector->SetTextL( iIap );
-	        } 	
-	    apSelector->DrawNow();
-	    HandleMSKCaptionL();
-        if (iIsNewServer)
-          {
-          iIsModified = ETrue;
-          }
-		}
-	DEBUG( - CLocSUPLServerEditor::UpdateIapL  );
-	}
-
-// -----------------------------------------------------------------------------
-// CLocSUPLServerEditor::DeleteConfirmationQueryL
-// Pops the delete confirmation query note
-// ----------------------------------------------------------------------------
-//
-TInt CLocSUPLServerEditor::DeleteConfirmationQueryL()
-    {    
-    HBufC* noteText = NULL;    
-    noteText = StringLoader::LoadL( R_LOC_DETAIL_CONF_DELETE_SERVER );
-    CAknQueryDialog* query = new( ELeave ) CAknQueryDialog( *noteText );    
-    TInt ret = query->ExecuteLD( R_LOC_SUPL_DELETE_QUERY );
-    delete noteText; //noteText    
-    noteText = NULL;
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// CLocSUPLServerEditor::ShowServerValidationInfoNoteL
-// Shows Validation Info note for server address entry
-// ----------------------------------------------------------------------------
-//
-void CLocSUPLServerEditor::ShowServerValidationInfoNoteL( TInt aResourceId )
-	{
-	// Show the information note to add server address before closing
-    HBufC* noteText = StringLoader::LoadL( aResourceId );
-    CAknInformationNote* dialog = 
-        new( ELeave ) CAknInformationNote( R_AKN_INFORMATION_NOTE_WAIT );
-    dialog->ExecuteLD( *noteText );
-    delete noteText; //noteText    
-    noteText = NULL;
-	}
-
-// ----------------------------------------------------------------------------------
-// CLocSUPLServerEditor::SetCursorToEndL
-// Moves the cursor position at end if focus is on server address field in edit mode
-// ----------------------------------------------------------------------------------
-//
-void CLocSUPLServerEditor::SetCursorToEndL()
-	{	
-	if ( IdOfFocusControl() == ELocSuplServerIdServerAddr )
-		{
-        CEikEdwin* serverAddress = 
-        			static_cast < CEikEdwin* > ( ControlOrNull( ELocSuplServerIdServerAddr ) );           
-        if( serverAddress )
-            {   
-            HBufC* address = serverAddress->GetTextInHBufL();
-            if( address )
-            	{
-	            serverAddress->SetCursorPosL( address->Length(), EFalse );         
-	        	serverAddress->DrawDeferred();              	
-            	}
-        	delete address;     			
-   			}
-		}
-	}
-// ----------------------------------------------------------------------------------
-// CLocSUPLServerEditor::HandleDialogPageEventL
-// ----------------------------------------------------------------------------------
-//
-void CLocSUPLServerEditor::HandleDialogPageEventL(TInt aEventID)
-    {
-    DEBUG( +CLocSUPLServerEditor::HandleDialogPageEventL );
-
-    CAknForm::HandleDialogPageEventL(aEventID);
-    CEikEdwin* iapEditor = static_cast<CEikEdwin*> (ControlOrNull(
-            ELocSuplServerIdAccessPoint));
-    CEikEdwin* usageInHomeNWPopupFieldText = (CEikEdwin*) Control(
-            ELocSuplServerIdUsageInHomeNw);
-    TInt focusControl(IdOfFocusControl());
-
-    if (!IsEditable())
-        {
-        if (focusControl == ELocSuplServerIdUsageInHomeNw
-                || ELocSuplServerIdServerAddr || ELocSuplServerIdAccessPoint)
-            {
-            ProcessCommandL(EAknFormCmdEdit);
-            }
-        }
-    else if (aEventID == MEikDialogPageObserver::EDialogPageTapped)
-        {
-        if (focusControl == ELocSuplServerIdUsageInHomeNw)
-            {
-            if (usageInHomeNWPopupFieldText)
-                {
-                TBuf<KMaxUsageTextSize> des;
-                usageInHomeNWPopupFieldText->GetText(des);
-                if (!des.Compare(KNoUsageInHomeNetork))
-                    {
-                    SetUsageinHomeNetwork(ETrue);
-                    }
-                else
-                    {
-                    SetUsageinHomeNetwork(EFalse);
-                    }
-                if (iIsNewServer)
-                    {
-                    iIsModified = ETrue;
-                    }
-                }
-            return;
-            }
-        if (focusControl == ELocSuplServerIdAccessPoint)
-            {
-            if (iapEditor)
-                {
-                //Launch IAP Dialog
-                TRAP_IGNORE( iEngine.LaunchApConfiguratorL( iSlpId, this ) );
-                }
-            }
-        }DEBUG( -CLocSUPLServerEditor::HandleDialogPageEventL );
-    }
-
-// -----------------------------------------------------------------------------
-// CLocSUPLServerEditor::SetUsageinHomeNetwork
-// Set usage in network field on or off
-// -----------------------------------------------------------------------------
-//
-void CLocSUPLServerEditor::SetUsageinHomeNetwork(TBool aOnOff)
-    {
-    HBufC* string;
-    CEikEdwin* usageInHomeNWPopupFieldText = (CEikEdwin*) Control(
-            ELocSuplServerIdUsageInHomeNw);
-    if (aOnOff)
-        {
-        // load string 'ON'
-        string = StringLoader::LoadLC(R_LOC_SERVER_USAGEINHOMENETWORK_YES,
-                iCoeEnv);
-        }
-    else
-        {
-        // load string 'OFF'
-        string = StringLoader::LoadLC(R_LOC_SERVER_USAGEINHOMENETWORK_NO,
-                iCoeEnv);
-        }
-    // set Usage in Network field string as 'ON'/'OFF'
-    usageInHomeNWPopupFieldText->SetTextL(string);
-    CleanupStack::PopAndDestroy(string);
-    }
-
-// End of file
--- a/locationsystemui/locationsysui/locsuplsettingsui/src/locsuplserverlbmodel.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,266 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  List box for the SUPL server UI
-*
-*/
-
-
-// System Includes
-#include <e32keys.h>
-#include <locsuplsettingsui.rsg>
-#include <StringLoader.h>
-#include <epos_csuplsettings.h>
-#include <epos_csuplsettingparams.h>
-#include <epos_csuplsettingsconstants.h>
-
-// User Include
-#include "locsuplserverlbmodel.h"
-#include "locsuplsettingsuiengine.h"
-#include "locsupldebug.h"
-		  					   	  
-// Constants
-
-const TInt KMaxConversionBufferLength 	= 0x200;
-const TInt KServerEntryGranularity		= 10;
-
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CLocSUPLServerLBModel::CLocSUPLServerLBModel
-// Default Constructor
-//
-// ---------------------------------------------------------------------------
-//
-CLocSUPLServerLBModel::CLocSUPLServerLBModel( 
-                            CLocSUPLSettingsUiEngine&     aEngine )
-    	:	iEngine( aEngine ), 
-    		iSlpIdList( KServerEntryGranularity )
-	{		
-	}
-
-// ---------------------------------------------------------------------------
-// CLocSUPLServerLBModel::~CLocSUPLServerLBModel
-// Destructor
-//
-// ---------------------------------------------------------------------------
-//
-CLocSUPLServerLBModel::~CLocSUPLServerLBModel()
-	{
-	DEBUG( + CLocSUPLServerLBModel::~CLocSUPLServerLBModel );
-	
-	iEnableFlagList.Close();
-	iSlpAddressList.ResetAndDestroy();
-	iSlpAddressList.Close();
-	iSlpIdList.Close();
-			
-	// Delete the Buffers
-	delete iBuffer;
-	iBuffer = NULL;		
-	DEBUG( - CLocSUPLServerLBModel::~CLocSUPLServerLBModel );
-	}
-	
-// ---------------------------------------------------------------------------
-// CLocSUPLServerLBModel* CLocSUPLServerLBModel::NewL
-// Two-phased constructor
-// 
-// @param  aEngine                  Reference the SUPL Settings Engine 
-// @return CLocSUPLServerLBModel*	Reference to the object created
-//
-// ---------------------------------------------------------------------------
-//
-CLocSUPLServerLBModel* CLocSUPLServerLBModel::NewL( 
-                                    CLocSUPLSettingsUiEngine&     aEngine )
-	{
-	DEBUG( + CLocSUPLServerLBModel::NewL );
-	CLocSUPLServerLBModel* self = CLocSUPLServerLBModel::NewLC( aEngine );
-	CleanupStack::Pop( self );
-	DEBUG( - CLocSUPLServerLBModel::NewL );
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// CLocSUPLServerLBModel* CLocSUPLServerLBModel::NewLC
-// Two-phased constructor
-// 
-// @param  aEngine                  Reference the SUPL Settings Engine 
-// @return CLocSUPLServerLBModel*	Reference to the object created
-//
-// ---------------------------------------------------------------------------
-//
-CLocSUPLServerLBModel* CLocSUPLServerLBModel::NewLC( 
-                                    CLocSUPLSettingsUiEngine&     aEngine )
-	{
-	CLocSUPLServerLBModel* self = 
-	                new ( ELeave ) CLocSUPLServerLBModel( aEngine );
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	return self;
-	}
-		
-// ---------------------------------------------------------------------------
-// void CLocSUPLServerLBModel::ConstructL
-// Second Phase of the two phase constructor.
-// 
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLServerLBModel::ConstructL()
-	{
-	DEBUG( + CLocSUPLServerLBModel::ConstructL );
-    // Allocate the Conversion Buffer
-	iBuffer = HBufC16::NewL( KMaxConversionBufferLength ); 	   
-	
-	UpdateSlpIdsL();
-	DEBUG( - CLocSUPLServerLBModel::ConstructL );
-	}
-
-// ---------------------------------------------------------------------------
-// TInt CLocSUPLServerLBModel::MdcaCount() const
-// Inherited from MDesCArray. Returns the total number of items in the 
-// Settings description array
-//
-// @return TInt The total number of elements in the Settings Description array
-// ---------------------------------------------------------------------------
-//
-TInt CLocSUPLServerLBModel::MdcaCount() const
-	{
-	DEBUG1( CLocSUPLServerLBModel::MdcaCount= %d, iSlpIdList.Count() );
-	return iSlpIdList.Count();
-	}
-
-// ---------------------------------------------------------------------------
-// TPtrC16 CLocSUPLServerLBModel::MdcaPoint() const
-// Inherited from MDesCArray. Returns the list box entry corresponding to the 
-// index value
-//
-// @param  aIndex The index whose list box entry needs to be retrieved
-// @return TPtr16 The list box description 
-// ---------------------------------------------------------------------------
-//
-TPtrC16 CLocSUPLServerLBModel::MdcaPoint( TInt aIndex ) const
-	{	
-	DEBUG1( + CLocSUPLServerLBModel::MdcaPoint =%d, aIndex );
-	
-	// Zero the internal buffer
-	TPtr16 ptr( iBuffer->Des() );
-	ptr.Zero();
-	
-	AppendSuplServerDetail( ptr, aIndex );
-
-	DEBUG( - CLocSUPLServerLBModel::MdcaPoint );
-	return iBuffer->Des();
-	}
-	
-// ---------------------------------------------------------------------------
-// CLocSUPLServerLBModel::AppendSuplServerDetail()
-// Packs the server address to the end of the buffer passed.
-//
-// @param  aPtr Buffer to which the server address needs to be appended.
-// ---------------------------------------------------------------------------
-//	
-void CLocSUPLServerLBModel::AppendSuplServerDetail( TDes& aPtr, TInt aIndex ) const
-    {
-	DEBUG( + CLocSUPLServerLBModel::AppendSuplServerDetail );    
-
-	// CAknSingleNumberStyleListBox 	"2\tTextLabel\t0\t1"
-	
-	_LIT(KItemString, "%d\t%S\t\t" );
-	_LIT(KItemString2, "%d\t%S\t%d\t" );
-
-   	RBuf hslpAddr;
-   	TRAP_IGNORE( hslpAddr.CreateL( *iSlpAddressList[ aIndex ] ) );
-
-	if( iEnableFlagList[ aIndex ] )
-		{
-		// Format the string
-		aPtr.Format( KItemString, aIndex+1, &hslpAddr );			
-		} 
-	else
-		{
-		// Format the string
-		aPtr.Format( KItemString2, aIndex+1, &hslpAddr, ETrue );					
-		}	
-	hslpAddr.Close();   		
-	
-	DEBUG( - CLocSUPLServerLBModel::AppendSuplServerDetail );    
-    }
-
-// ---------------------------------------------------------------------------
-// CLocSUPLServerLBModel::UpdateSlpIdsL()
-// Packs the server ids to id array
-//
-// ---------------------------------------------------------------------------
-//	    
-void CLocSUPLServerLBModel::UpdateSlpIdsL()
-	{
-	DEBUG( + CLocSUPLServerLBModel::CollectSlpIdsL );
-
-	iSlpIdList.Reset();
-	iSlpAddressList.ResetAndDestroy();
-	iEnableFlagList.Reset();
-
-	if( iEngine.SlpCount() > 0 )
-		{
-		RPointerArray< CServerParams > 	serverList;
-		
-		// Get all server entries
-		iEngine.GetAllSlpL( serverList );		
-		
-		for( TInt i = 0; i < serverList.Count() ; i++ )
-			{
-		    TInt64 slpId;
-		    HBufC* hslpAddr = HBufC::NewL( KMaxHSLPAddrLen );    
-		    HBufC* iapName 	= HBufC::NewL( KMaxIAPLen );
-		    TBool enabledFlag, simChangeFlag, usageInHomeNwFlag, editFlag;    
-		    		    
-		    TInt errParams = serverList[i]->Get(
-		    							slpId, 
-		    							hslpAddr->Des(), 
-		    							iapName->Des(), 
-		    							enabledFlag, 
-		    							simChangeFlag, 
-		    							usageInHomeNwFlag, 
-		    							editFlag
-		    						);
-		    if ( errParams != KErrNone )
-		        {
-		        // Error has occured 
-		        }  
-			
-			iSlpIdList.Append( slpId );
-			iSlpAddressList.Append( hslpAddr->AllocL() );
-			iEnableFlagList.Append( enabledFlag );
-			
-			delete hslpAddr;
-			delete iapName;
-			}
-		serverList.ResetAndDestroy();
-		serverList.Close();		
-		}	
-	DEBUG( - CLocSUPLServerLBModel::CollectSlpIdsL );
-	}        
-    
-// ---------------------------------------------------------------------------
-// CLocSUPLServerLBModel::SlpIds()
-// returns server id array
-//
-// ---------------------------------------------------------------------------
-//  
-RArray<TInt64>& CLocSUPLServerLBModel::SlpIds()
-	{
-	DEBUG( CLocSUPLServerLBModel::SlpIds );
-	return iSlpIdList;	
-	}
-
-// End of file
--- a/locationsystemui/locationsysui/locsuplsettingsui/src/locsuplserverview.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,768 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Source file for SUPL server UI view
-*
-*/
-
-
-// System Include
-#include <barsread.h> 		                // For TResourceReader
-#include <bautils.h>
-#include <StringLoader.h>
-#include <aknViewAppUi.h>
-#include <avkon.rsg>
-#include <hlplch.h>			                // Help
-#include <featmgr.h> 						// FeatureManager
-#include <eikmenup.h>						// Menu pane
-#include <eikmenub.h>						// Menu Bar
-#include <AknUtils.h>
-#include <AknQueryDialog.h> 
-
-#include <locsuplsettingsui.rsg>
-
-// User Include
-#include "locsuplsettings.hrh"
-#include "locsuplserverview.h"
-#include "locsuplservercontainer.h"
-#include "locsettingsui.h"
-#include "locsuplsettingsuiengine.h"
-#include "locsupldebug.h"
-#include "locsuplsettingsview.h"
-
-
-// ========================= MEMBER FUNCTIONS ================================
-
-
-// ---------------------------------------------------------------------------
-// CLocSUPLServerView::CLocSUPLServerView
-// Overloaded Constructor
-//
-// ---------------------------------------------------------------------------
-//	
-CLocSUPLServerView::CLocSUPLServerView( 
-                              CLocSUPLSettingsUiEngine&     aEngine,
-		 					  MLocSUPLSettingsEventHandler&	aEventHandler )
-	:iEventHandler( aEventHandler ),
-	iEngine( aEngine )
-	{
-	}
-
-// ---------------------------------------------------------------------------
-// CLocSUPLServerView::~CLocSUPLServerView
-// Destructor
-//
-// ---------------------------------------------------------------------------
-//
-CLocSUPLServerView::~CLocSUPLServerView()
-	{
-	DEBUG( + CLocSUPLServerView::~CLocSUPLServerView );	
-	
-	// deleting the new contaier used to while prioritizing the servers
-    if ( iNewContainer )
-         {
-         AppUi()->RemoveFromViewStack( *this, iNewContainer );
-         delete iNewContainer;
-         iNewContainer = NULL;
-         }
-    
-    if ( iContainer )
-        {
-        AppUi()->RemoveFromViewStack( *this, iContainer );
-        }
-    delete iContainer;
-    iContainer = NULL;
-	DEBUG( - CLocSUPLServerView::~CLocSUPLServerView );	
-	}
-	
-// ---------------------------------------------------------------------------
-// CLocSUPLServerView* CLocSUPLServerView::NewL
-// Creates new Location Sys Ui plugin.
-//
-// @param aEngine               Reference to the SUPL Settings
-//                              engine          
-// @param aEventHandler		    Pointer to the Event Handler
-// @return CAknViewAppUi&		Reference to the application view
-// ---------------------------------------------------------------------------
-//    
-CLocSUPLServerView* CLocSUPLServerView::NewL( 
-                              CLocSUPLSettingsUiEngine&     aEngine,
-		 					  MLocSUPLSettingsEventHandler&	aEventHandler )
-	{	
-	DEBUG( + CLocSUPLServerView::NewL );	
-    CLocSUPLServerView* self = NewLC( aEngine, aEventHandler );
-	CleanupStack::Pop( self );
-	DEBUG( - CLocSUPLServerView::NewL );	
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// CLocSUPLServerView* CLocSUPLServerView::NewLC
-// Creates new Location Sys Ui plugin.
-//
-// @param aEngine               Reference to the SUPL Settings
-//                              engine          
-// @param aEventHandler		    Pointer to the Event Handler
-// @return CAknViewAppUi&		Reference to the application view
-// ---------------------------------------------------------------------------
-//    
-CLocSUPLServerView* CLocSUPLServerView::NewLC( 
-                              CLocSUPLSettingsUiEngine&     aEngine,
-		 					  MLocSUPLSettingsEventHandler&	aEventHandler )
-	{	
-    CLocSUPLServerView* self = 
-                new( ELeave ) CLocSUPLServerView( aEngine,                          
-    										        aEventHandler );
-	CleanupStack::PushL(self);
-	self->ConstructL();
-	return self;
-	}
-	
-// ---------------------------------------------------------------------------
-// void CLocSUPLServerView::ConstructL
-// Second Phase Constructor
-//
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLServerView::ConstructL()
-	{   	
-	// Call AknView's BaseConstrutL
-	BaseConstructL( R_SUPLSETTINGS_SERVER_VIEW );	 
-	}
-
-// -----------------------------------------------------------------------------
-// CLocSUPLServerView::HandleScreenSizeChange
-// -----------------------------------------------------------------------------
-//
-void CLocSUPLServerView::HandleScreenSizeChange() 
-	{
-	if( iContainer )
-		{
-		iContainer->SetRect( ClientRect());		
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// CLocSUPLServerView::UpdateView
-// -----------------------------------------------------------------------------
-//	
-void CLocSUPLServerView::UpdateView()
-    {
-	DEBUG( + CLocSUPLServerView::UpdateView );	
-    if( iContainer )
-		{
-		TRAP_IGNORE( iContainer->UpdateScreenL() );	
-		}	
-	TRAP_IGNORE( ChangeMSKL() );		
-	DEBUG( - CLocSUPLServerView::UpdateView );	
-    }
-
-// -----------------------------------------------------------------------------
-// TInt CLocSUPLServerView::SelectedItemIndex
-// Returns the Selected element. The list box model defines the enumeration that
-// would determine the current element that has been selected
-//
-// @return TInt Index of the item selected
-// -----------------------------------------------------------------------------
-//
-TInt CLocSUPLServerView::SelectedItemIndex()
-    {
-    if (iNewContainer)
-        {
-        return iNewContainer->SelectedItemIndex();
-        }
-    else if( iContainer )
-        {
-        return iContainer->SelectedItemIndex();
-        }
-    else
-        {
-        return KErrNotFound;
-        }
-    }    
-    
-// ---------------------------------------------------------------------------
-// void CLocSUPLServerView::DoActivateL
-// 
-// ---------------------------------------------------------------------------	
-//
-void CLocSUPLServerView::DoActivateL( const TVwsViewId& 	/* PrevViewId*/,
-											   TUid		   	/* aCustomMessageId*/,
-						  				 const TDesC8&		/* aCustomMessage */)
-	{
-	DEBUG( + CLocSUPLServerView::DoActivateL );	
-	// Destroy the existing container
-	if( iContainer )
-        {
-        AppUi()->RemoveFromViewStack( *this, iContainer );
-        delete iContainer;
-        iContainer=NULL;
-        }						
-    
-    // Create new Container	
-	iContainer = CLocSUPLServerContainer::NewL( ClientRect(), 
-	                                              iEngine,
-	                                              this );
-	iContainer->SetMopParent( this );
-	AppUi()->AddToViewStackL( *this, iContainer );
-	MenuBar()->SetContextMenuTitleResourceId( R_SUPLSETTINGS_SERVER_CONTEXTMENUBAR );
-	ChangeMSKL();
-	DEBUG( - CLocSUPLServerView::DoActivateL );	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocationSystemUiView::DoDeactivate
-//
-// ---------------------------------------------------------------------------
-//		
-void CLocSUPLServerView::DoDeactivate()
-	{
-	DEBUG( + CLocSUPLServerView::DoDeactivate );	
-	// Destroy Container
-	if ( iContainer )
-        {
-        AppUi()->RemoveFromViewStack( *this, iContainer );
-        delete iContainer;
-        iContainer = NULL;
-        }
-	DEBUG( - CLocSUPLServerView::DoDeactivate );	
-	}
-
-// ---------------------------------------------------------------------------
-// TUid CLocSUPLServerView::Id
-// Returns the View Id. Should be chosen to reflect the Implementation UID 
-// of the Plugin
-//
-// @return TUid The View Id
-// ---------------------------------------------------------------------------
-//	
-TUid CLocSUPLServerView::Id() const
-	{
-	return KLocSUPLServerUiViewId;
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLServerView::HandleCommandL
-//
-// ---------------------------------------------------------------------------
-//	
-void CLocSUPLServerView::HandleCommandL( TInt aCommand )	
-	{
-	DEBUG( + CLocSUPLServerView::HandleCommandL );	
-	switch ( aCommand )
-        {
-        // Handle all the internal view specific commands here
-        case ELocSuplServerOpen:
-        case ELocSuplServerMSKOpen:
-            {
-            iEngine.EditServerL( EFalse, iContainer->CurrentSlpId() );
-            break;    
-            } 
-        case ELocSuplServerEnable:
-        case ELocSuplServerMSKEnable:
-        	{
-        	EnableServerL();
-        	break;
-        	}
-        case ELocSuplServerDisable:
-        case ELocSuplServerMSKDisable:
-        	{
-        	DisableServerL();
-        	break;
-        	}
-        case ELocSuplServerNew:
-        	{
-            iEngine.EditServerL( ETrue, NULL );
-            break;    
-        	}
-        case ELocSuplServerDelete:
-        	{
-        	iContainer->SetSelectedIndex();
-        	DeleteServerL();
-        	break;
-        	}
-        case ELocSuplServerPrioritize:
-        	{
-        	/** iNewContainer is constructed while prioritizing the servers.
-        	 * Since the focus cannot be disabled once it is enabled dynamically, thus 
-        	 * prioritizing happens in the new container and the original container is updated.
-        	 * The iNewContainer is deleted once prioritizing is over. (TC Id: ou1cimx1#219289)
-        	**/
-        	if(iNewContainer)
-        	    {
-                delete iNewContainer;
-                iNewContainer = NULL;
-        	    }
-        	iStartedPrioritize = ETrue;
-        	iSelectedIndex = SelectedItemIndex();
-        	
-        	iNewContainer = CLocSUPLServerContainer::NewL(ClientRect(), iEngine, this);
-            iNewContainer->SetMopParent( this );
-            AppUi()->AddToViewStackL( *this, iNewContainer );
-            MenuBar()->SetContextMenuTitleResourceId( R_SUPLSETTINGS_SERVER_CONTEXTMENUBAR );         
-            iSelectedSlpId = iContainer->CurrentSlpId();
-
-        	ChangeMSKL();
-        	HandleCommandL( EAknCmdMark );
-        	break;
-        	}
-        case EAknSoftkeyOk:
-        	{
-        	TInt currentIndex = SelectedItemIndex();        	
-        	if ( currentIndex == iSelectedIndex )
-        		{
-	        	HandleCommandL( EAknUnmarkAll );
-	        	UpdateView(); 
-        	  // deleting the new contaier used to while prioritizing the servers
-	            if ( iNewContainer )
-	                {
-	                AppUi()->RemoveFromViewStack( *this, iNewContainer );
-	                delete iNewContainer;
-	                iNewContainer = NULL;
-	                }
-        		}
-        	else
-        		{
-        		TBool isIncrease;
-        		TInt  val;
-        		if( currentIndex > iSelectedIndex )
-        			{
-        			isIncrease = EFalse;
-        			val = currentIndex - iSelectedIndex;
-        			}
-        		else
-        			{
-        			isIncrease = ETrue;
-        			val = iSelectedIndex - currentIndex;        		
-        			}
-	        	iEngine.ChangePriorityL( 
-	        				iSelectedSlpId, 
-	        				val,
-	        				isIncrease );  
-        	  // deleting the new contaier used to while prioritizing the servers
-	            if ( iNewContainer )
-	                {
-	                AppUi()->RemoveFromViewStack( *this, iNewContainer );
-	                delete iNewContainer;
-	                iNewContainer = NULL;
-	                }
-        		}
-        	break;
-        	}
-        case EAknSoftkeyCancel:
-        	{
-        	ChangeMSKL();
-        	HandleCommandL( EAknUnmarkAll );
-       	   // deleting the new contaier used to while prioritizing the servers
-            if ( iNewContainer )
-                {
-                AppUi()->RemoveFromViewStack( *this, iNewContainer );
-                delete iNewContainer;
-                iNewContainer = NULL;
-                }
-        	break;
-        	}
-        case EAknCmdMark:
-        case EAknCmdUnmark:
-        case EAknMarkAll:
-        case EAknUnmarkAll:
-	       	{
-	       	// if new container is contructed to prioritize the servers, then mark the item in the new container
-	       	if(iNewContainer)
-	       	    {
-                //Setting the current item in the new container as same as in the original container.
-                iNewContainer->ListBoxL().SetCurrentItemIndexAndDraw(iContainer->SelectedItemIndex());	       	
-                AknSelectionService::HandleMarkableListProcessCommandL(
-	                        aCommand, &( iNewContainer->ListBoxL() ) );   
-	       	    }
-	       	else
-	       	    {
-                AknSelectionService::HandleMarkableListProcessCommandL(
-						aCommand, &( iContainer->ListBoxL() ) );    
-	       	    }
-	       	break;
-	       	}
-       case EAknCmdHelp:
-        	{
-           	HlpLauncher::LaunchHelpApplicationL( iCoeEnv->WsSession(),
-           										 AppUi()->AppHelpContextL() );
-        	break;	
-        	}
-        case EAknCmdExit:
-        case EEikCmdExit:
-            {
-            // The Exit command has to be transferred back to the application
-            iEventHandler.HandleCommandL( EEikCmdExit );
-            break;    
-            }
-        case EAknSoftkeyBack:
-            {
-            // Launch the Settings View
-            TRAP_IGNORE( AppUi()->ActivateLocalViewL ( KLocSUPLSettingsUiViewId ) );
-            break;    
-            }
-        case ELocSuplServerMSKNoCmd:
-        	{
-        	// No operation will happen
-        	break;
-        	}
-        default:
-    	    {
-    	    // View Switiching, View closure and other external
-    	    // view related and AppUi related commands
-    	    iEventHandler.HandleCommandL( aCommand );
-            break;	
-    	    }
-        }
-	DEBUG( - CLocSUPLServerView::HandleCommandL );	
-	}
-
-// -----------------------------------------------------------------------------
-// CLocSUPLServerView::DynInitMenuPaneL
-// -----------------------------------------------------------------------------
-void CLocSUPLServerView::DynInitMenuPaneL( TInt          aResourceId, 
-                                             CEikMenuPane* aMenuPane )
-    {
-	DEBUG( + CLocSUPLServerView::DynInitMenuPaneL );	
-    AknSelectionService::HandleMarkableListDynInitMenuPane( 
-    								aResourceId, 
-                                    aMenuPane, 
-                                    &( iContainer->ListBoxL() ) );
-    switch( aResourceId )
-        {                               
-        case R_SUPLSETTINGS_SERVER_MAIN_MENU: 
-            { 
-	        User::LeaveIfNull( aMenuPane );
-	        //Handle Help Fature
-	        HandleHelpFeature( *aMenuPane );
-	        break;
-        	}
-        case R_SUPLSETTINGS_SERVER_MENU: 
-            {             
-	        User::LeaveIfNull( aMenuPane );	     
-        	if( iContainer->ServerCount() <= 0 )
-        		{	           
-			    aMenuPane->SetItemDimmed( 
-			    					ELocSuplServerOpen, 		ETrue );
-			    aMenuPane->SetItemDimmed( 
-			    					ELocSuplServerEnable, 		ETrue );
-			    aMenuPane->SetItemDimmed( 
-			    					ELocSuplServerDisable, 		ETrue );
-			    aMenuPane->SetItemDimmed( 
-			    					ELocSuplServerDelete, 		ETrue );
-			    aMenuPane->SetItemDimmed( 
-			    					ELocSuplServerPrioritize, 	ETrue );
-        		}
-        	else
-        		{
-        		if ( iContainer->SelectedCount() > 1 )
-        			{
-			    	aMenuPane->SetItemDimmed( 
-			    					ELocSuplServerOpen, 		ETrue );
-			    	aMenuPane->SetItemDimmed( 
-			    					ELocSuplServerPrioritize, 	ETrue );  
-			    	
-			    	TInt disableCount = SelectedDisabledServerCountL();
-			    	if( disableCount == iContainer->SelectedCount() )
-			    		{
-			    		aMenuPane->SetItemDimmed( 
-			    					ELocSuplServerDisable, 		ETrue );
-			    		}
-			    	else if (disableCount == 0 )
-			    		{
-			    		aMenuPane->SetItemDimmed( 
-			    					ELocSuplServerEnable, 		ETrue );
-			    		}		    	      			
-        			}      		
-        		else
-        			{
-    				TBool enabledFlag;    
-        			iEngine.GetServerEnabledFlagL( 
-        							iContainer->CurrentSlpId(), enabledFlag );
-        							
-        			if( enabledFlag )
-        				aMenuPane->SetItemDimmed( 
-        							ELocSuplServerEnable, 		ETrue );
-        			else
-        				aMenuPane->SetItemDimmed( 
-        							ELocSuplServerDisable,		ETrue );        			
-        			}
-
-    			if( iContainer->ServerCount() == 1 )				
-			    	aMenuPane->SetItemDimmed( 
-			    					ELocSuplServerPrioritize, 	ETrue );        			
-        		}        		      		
-	        break;
-        	}
-    	case R_SUPLSETTINGS_SERVER_CONTEXTMENU:
-        	{
-        	if( iContainer->ServerCount() <= 0 )
-        		{
-		        aMenuPane->SetItemDimmed( 
-		        					ELocSuplServerMSKEnable, 	ETrue );
-		        aMenuPane->SetItemDimmed( 
-		        					ELocSuplServerMSKDisable,	ETrue );        		
-		        aMenuPane->SetItemDimmed( 
-		        					ELocSuplServerDelete,		ETrue );        		
-        		}
-        	else 
-        		{
-                aMenuPane->SetItemDimmed(ELocSuplServerNew, ETrue);
-        		if ( iContainer->SelectedCount() > 0 )
-        			{
-			    	TInt disableCount = SelectedDisabledServerCountL();
-			    	if( disableCount == iContainer->SelectedCount() )
-			    		{
-			    		aMenuPane->SetItemDimmed( 
-			    					ELocSuplServerMSKDisable,	ETrue );
-			    		}
-			    	else if (disableCount == 0 )
-			    		{
-			    		aMenuPane->SetItemDimmed( 
-			    					ELocSuplServerMSKEnable,	ETrue );
-			    		}		    	      			
-        			}      	
-        		else
-        			{
-        			TBool enabledFlag;
-        			iEngine.GetServerEnabledFlagL( iContainer->CurrentSlpId(), enabledFlag );
-        			if( enabledFlag )
-        				aMenuPane->SetItemDimmed( 
-        							ELocSuplServerMSKEnable, 	ETrue );
-        			else
-        				aMenuPane->SetItemDimmed( 
-        							ELocSuplServerMSKDisable, 	ETrue );
-        			}
-        		}
-        	break;
-        	}
-        default:
-    		{
-    		break;
-    		}
-        }
-	DEBUG( - CLocSUPLServerView::DynInitMenuPaneL );	
-    }
-    
-// -----------------------------------------------------------------------------
-// CLocSUPLServerView::HandleHelpFeature
-// -----------------------------------------------------------------------------
-void CLocSUPLServerView::HandleHelpFeature( CEikMenuPane& aMenuPane ) const
-    {
-	DEBUG( + CLocSUPLServerView::HandleHelpFeature );	
-    if ( FeatureManager::FeatureSupported( KFeatureIdHelp ) )
-        {
-        aMenuPane.SetItemDimmed( EAknCmdHelp, EFalse );
-        }
-    else
-        {
-        aMenuPane.SetItemDimmed( EAknCmdHelp, ETrue );
-        }
-	DEBUG( - CLocSUPLServerView::HandleHelpFeature );	
-    }
-
-// -----------------------------------------------------------------------------
-// CLocSUPLServerView::DeletionConfirmationQueryL
-// ----------------------------------------------------------------------------
-//
-TInt CLocSUPLServerView::DeletionConfirmationQueryL( const TInt aAmount )
-    {    
-    HBufC* noteText = NULL;    
-    if ( aAmount > 1 )
-        {
-        noteText = StringLoader::LoadL( R_LOC_DETAIL_CONF_DELETE_SERVERS, aAmount, iEikonEnv );
-        }
-    else
-        {
-        noteText = StringLoader::LoadL( R_LOC_DETAIL_CONF_DELETE_SERVER, iEikonEnv );
-        }
-    CAknQueryDialog* query = new( ELeave ) CAknQueryDialog( *noteText );    
-    TInt ret = query->ExecuteLD( R_LOC_SUPL_DELETE_QUERY );
-    delete noteText; //noteText    
-    noteText = NULL;
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// CLocSUPLServerView::DeleteServerL
-// ----------------------------------------------------------------------------
-//
-void CLocSUPLServerView::DeleteServerL()
-	{
-	DEBUG( + CLocSUPLServerView::DeleteServerL );	
-	TInt selCount 	= iContainer->SelectedCount();
-	TInt severCount = iContainer->ServerCount();
-	if( DeletionConfirmationQueryL( selCount ) )
-		{
-		if ( selCount < 1 && severCount > 0 )
-			{
-			TRAP_IGNORE( iEngine.RemoveServerL( iContainer->CurrentSlpId() ) );
-			}
-		else
-			{
-		    const CArrayFix<TInt>* markedIndexes = NULL;
-		    markedIndexes = iContainer->ListBoxL().SelectionIndexes();
-				
-			RArray<TInt64> markedItemIds;					
-			GetSelectedItemIdsL( markedItemIds, *markedIndexes );
-			
-			for( TInt ctr = 0; ctr < selCount; ctr++ )
-				{
-				TRAP_IGNORE( iEngine.RemoveServerL( markedItemIds[ ctr ] ) );
-				}			
-			markedItemIds.Close();			
-			}
-		}
-	DEBUG( - CLocSUPLServerView::DeleteServerL );	
-	}
-
-// -----------------------------------------------------------------------------
-// CLocSUPLServerView::DisableServerL
-// ----------------------------------------------------------------------------
-//
-void CLocSUPLServerView::DisableServerL()
-	{
-	DEBUG( + CLocSUPLServerView::DisableServerL );	
-	TInt selCount 	= iContainer->SelectedCount();
-	TInt severCount = iContainer->ServerCount();
-	
-	if ( selCount < 1 && severCount > 0 )
-		{
-		iEngine.SetServerEnabledFlagL( iContainer->CurrentSlpId(), EFalse );
-		}
-	else
-		{
-	    const CArrayFix<TInt>* markedIndexes = NULL;
-	    markedIndexes = iContainer->ListBoxL().SelectionIndexes();
-			
-		RArray<TInt64> markedItemIds;					
-		GetSelectedItemIdsL( markedItemIds, *markedIndexes );
-		
-		for( TInt ctr = 0; ctr < selCount; ctr++ )
-			{
-			iEngine.SetServerEnabledFlagL( markedItemIds[ ctr ], EFalse );
-			}			
-		markedItemIds.Close();
-		}
-	DEBUG( - CLocSUPLServerView::DisableServerL );	
-	}
-
-// -----------------------------------------------------------------------------
-// CLocSUPLServerView::EnableServerL
-// ----------------------------------------------------------------------------
-//
-void CLocSUPLServerView::EnableServerL()
-	{
-	DEBUG( + CLocSUPLServerView::EnableServerL );	
-	TInt selCount 	= iContainer->SelectedCount();
-	TInt severCount = iContainer->ServerCount();
-	
-	if ( selCount < 1 && severCount > 0 )
-		{
-		iEngine.SetServerEnabledFlagL( iContainer->CurrentSlpId(), ETrue );
-		}
-	else
-		{
-	    const CArrayFix<TInt>* markedIndexes = NULL;
-	    markedIndexes = iContainer->ListBoxL().SelectionIndexes();
-			
-		RArray<TInt64> markedItemIds;					
-		GetSelectedItemIdsL( markedItemIds, *markedIndexes );
-		
-		for( TInt ctr = 0; ctr < selCount; ctr++ )
-			{
-			iEngine.SetServerEnabledFlagL( markedItemIds[ ctr ], ETrue );
-			}			
-		markedItemIds.Close();
-		}
-	DEBUG( - CLocSUPLServerView::EnableServerL );	
-	}
-
-// -----------------------------------------------------------------------------
-// CLocSUPLServerView::ChangeMSKL
-// -----------------------------------------------------------------------------
-//
-void CLocSUPLServerView::ChangeMSKL() 
-	{
-	DEBUG( + CLocSUPLServerView::ChangeMSKL );	
-	// Listbox takes all event even if it doesn't use them
-	if( !Cba() )
-	    {
-	   	return;
-	    }
-	if( iEngine.SlpCount() <= 0 )
-		{
-		TRAP_IGNORE( 
-			Cba()->SetCommandSetL ( R_SUPLSETTINGS_SERVER_OPTIONS_BACK ) ); 
-		}
-	else if( iStartedPrioritize )
-		{
-		//ou1cimx1#352684. to disable first item flicker
-	   iNewContainer->ListBoxL().SetCurrentItemIndex(iSelectedIndex);
-	   iNewContainer->ListBoxL().DisableSingleClick(ETrue); 
-		iStartedPrioritize = EFalse;
-		TRAP_IGNORE( 
-			Cba()->SetCommandSetL ( R_SUPLSETTINGS_SERVER_OK_CANCEL ) ); 		
-		}
-	else
-		{
-		TRAP_IGNORE( 
-			Cba()->SetCommandSetL ( R_SUPLSETTINGS_OPTIONS_CONTEXTOPTIONS_BACK ) ); 		
-		}
-
-	Cba()->DrawDeferred();  	
-	DEBUG( - CLocSUPLServerView::ChangeMSKL );	
-	}
-
-// -----------------------------------------------------------------------------
-// CLocSUPLServerView::GetSelectedItemIdsL
-// -----------------------------------------------------------------------------
-//
-void CLocSUPLServerView::GetSelectedItemIdsL(
-    RArray<TInt64>& aSelectedItems,
-    const CArrayFix<TInt>& aSelectedIndexes ) const
-    {
-    aSelectedItems.Reset();
-    TInt itemCount = iContainer->ServerCount();
-    TInt selectionCount = aSelectedIndexes.Count();
-    for ( TInt i( 0 ); i < selectionCount; ++i )
-        {
-        TInt index = aSelectedIndexes[i];
-        User::LeaveIfError( aSelectedItems.Append( iContainer->SlpIds()[index] ) );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CLocSUPLServerView::SelectedDisabledServerCountL
-// -----------------------------------------------------------------------------
-//
-TInt CLocSUPLServerView::SelectedDisabledServerCountL()
-	{
-    const CArrayFix<TInt>* markedIndexes = NULL;
-    markedIndexes = iContainer->ListBoxL().SelectionIndexes();
-		
-	RArray<TInt64> markedItemIds;					
-	GetSelectedItemIdsL( markedItemIds, *markedIndexes );
-	
-	TInt disabledServerCount( 0 );
-	for( TInt i( 0 ); i < markedItemIds.Count(); ++i )	
-		{
-		TBool enabledFlag;    
-		iEngine.GetServerEnabledFlagL( markedItemIds[i], enabledFlag );
-		if( !enabledFlag )
-			disabledServerCount++;		
-		}
-	return disabledServerCount;
-	}
-	
-// End of file
--- a/locationsystemui/locationsysui/locsuplsettingsui/src/locsuplsessioncontainer.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,712 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  SUPL session UI View's container
-*
-*/
-
-
-// System Includes
-#include <eikspane.h> 						// Status pane
-#include <akntitle.h>   					// CAknTitlePane
-#include <aknlists.h>
-#include <StringLoader.h>
-#include <locsuplsettingsui.rsg>
-#include <csxhelp/locsupl.hlp.hrh>          // Help File
-#include <aknview.h>
-#include <eikmenub.h>
-#include <gulicon.h>
-#include <AknIconUtils.h>
-#include <AknIconArray.h>
-#include <eikclbd.h>
-#include <avkon.mbg>						// for select session (mark) icon
-#include <avkon.rsg>
-#include <eiklbx.h>
-#include <ErrorUI.h>
-#include <AknsUtils.h> 
-#include <aknapp.h>
-#include <locsuplsettings.mbg>				// for session NI/TI icon
-
-// User Includes
-#include "locsuplsettings.hrh"
-#include "locsuplsettingsuid.hrh"
-#include "locsuplsessioncontainer.h"
-#include "locsuplsessionview.h"
-#include "locsuplsessionlbmodel.h"
-#include "locsuplsettingsuiengine.h"
-#include "locsuplsettingseventhandler.h"
-#include "locsupldebug.h"
-
-// CONSTANT DEFINITIONS
-const TInt KIconArrayGranularity = 2; // The number of default icons
-_LIT( KLocSuplSettingsIconFileName, "locsuplsettings.mif" );
-
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CLocSUPLSessionContainer::CLocSUPLSessionContainer
-// Overloaded Constructor
-//
-// ---------------------------------------------------------------------------
-//	
-CLocSUPLSessionContainer::CLocSUPLSessionContainer( CLocSUPLSessionView* aView )
-    : iView( aView )
-	{
-	}
-	
-// ---------------------------------------------------------------------------
-// CLocSUPLSessionContainer::~CLocSUPLSessionContainer
-// Destructor
-//
-// ---------------------------------------------------------------------------	
-//
-CLocSUPLSessionContainer::~CLocSUPLSessionContainer()
-	{
-	DEBUG( + CLocSUPLSessionContainer::~CLocSUPLSessionContainer );	
-	// Delete the List box model only after deleting the list box
-	delete iListBox;
-	iListBox = NULL;
-	
-	delete iListBoxModel;
-	iListBoxModel = NULL;
-	DEBUG( - CLocSUPLSessionContainer::~CLocSUPLSessionContainer );	
-	}
-	
-// ---------------------------------------------------------------------------
-// CLocSUPLSessionContainer* CLocSUPLSessionContainer::NewL
-// Static Two phase constructor that instantiates the CLocSUPLSessionContainer
-//
-// @param aRect							Client rectangle
-// @param aEngine                       Reference to the SUPL Settings
-//                                      engine 
-// @param aEventHandler                 Reference to the parent view
-// @return CLocSUPLSessionContainer*	Reference to the object created
-// ---------------------------------------------------------------------------    
-//
-CLocSUPLSessionContainer* CLocSUPLSessionContainer::NewL( 
-                    		const TRect&               	aRect,
-                          	CLocSUPLSettingsUiEngine&	aEngine,
-                          	CLocSUPLSessionView* 		aView )
-	{	
-	DEBUG( + CLocSUPLSessionContainer::NewL );	
-    CLocSUPLSessionContainer* self = NewLC( aRect, 
-                                           aEngine,
-                                           aView );
-	CleanupStack::Pop( self );
-	DEBUG( - CLocSUPLSessionContainer::NewL );	
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// CLocSUPLSessionContainer* CLocSUPLSessionContainer::NewLC
-// Static Two phase contructor that instantiates the CLocSUPLSessionContainer
-//
-// @param aRect							Client rectangle
-// @param aEngine                       Reference to the SUPL Settings
-//                                      engine 
-// @param aEventHandler                 Reference to the parent view
-// @return CLocSUPLSessionContainer*	Reference to the object created
-// ---------------------------------------------------------------------------  
-//  
-CLocSUPLSessionContainer* CLocSUPLSessionContainer::NewLC( 
-                    		const TRect&               	aRect,
-                          	CLocSUPLSettingsUiEngine&	aEngine,
-                          	CLocSUPLSessionView* 		aView )
-	{	
-    CLocSUPLSessionContainer* self = new ( ELeave ) CLocSUPLSessionContainer(
-                                                        aView );
-	CleanupStack::PushL( self );
-	self->ConstructL( aRect, aEngine );
-	return self;
-	}
-
-// --------------------------------------------------------------------------- 
-// void CLocSUPLSessionContainer::ConstructL
-// Second phase of the two phase Construction process
-//
-// @param aRect				 Client rectangle
-// @param aEngine            Reference to the SUPL Settings engine
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSessionContainer::ConstructL( 
-                                    const TRect& 	aRect ,
-                                    CLocSUPLSettingsUiEngine&     aEngine )
-	{
-	DEBUG( + CLocSUPLSessionContainer::ConstructL );	
-	//Make this control a window-owning control
-	CreateWindowL(); 
-	
-	// Create a New Title for the View
-	MakeTitleL( R_LOC_SUPL_SERVICES_TITLE );
-	
-	CreateListboxL( aEngine );
-	
-	// Get the Help context
-	iContextName = KLOC_HLP_SUPL();
-	
-    SetRect( aRect );
-    ActivateL();
-	DEBUG( - CLocSUPLSessionContainer::ConstructL );	
-	}	
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSessionContainer::UpdateScreenL
-// Refreshes the screen so that the list box reflects the latest contents
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSessionContainer::UpdateScreenL()
-    {
-	DEBUG( + CLocSUPLSessionContainer::UpdateScreenL );	
-	
-	TInt oldCount 	= SessionIds().Count();	
-	TInt64 sessionId;
-	if( iSelectedIndex != KErrNotFound && SessionIds().Count() > iSelectedIndex )
-		{
-		sessionId = SessionIds()[ iSelectedIndex ];		
-		}
-	
-	if ( iListBoxModel )
-		{
-		iListBoxModel->UpdateSessionIdsL();
-		}    
-		
-    TInt newCount 	= SessionIds().Count();
-    
-    if ( iListBox )
-        {
-    	// Update Listbox items
-        if( newCount <= 0 || newCount == oldCount )
-        	{
-         	TRAP_IGNORE( iListBox->HandleItemAdditionL() );
-	    	TRAP_IGNORE( iListBox->HandleItemRemovalL() );       	
-        	}
-        else if( newCount > oldCount )
-        	{
-        	// notify the listbox for item addition 
-        	TRAP_IGNORE( iListBox->HandleItemAdditionL() );
-
-        	// set focus to newly added item
-			TInt index = iListBox->CurrentItemIndex();	
-			if( index == 0 && newCount == 1 )
-				{
-				iListBox->SetCurrentItemIndex( 0 );	
-				}
-			else
-				{
-				iListBox->SetCurrentItemIndex( newCount - 1 );	
-				}
-        	}
-        else if( newCount < oldCount )
-        	{
-        	// notify the listbox for item deletion 
-	    	TRAP_IGNORE( iListBox->HandleItemRemovalL() );
-			
-        	// set focus at last selected item or index			
-			if( iSelectedIndex > newCount-1 )
-				{
-				iListBox->SetCurrentItemIndex( newCount - 1 );
-				}
-			else
-				{
-				TInt newIndex = SessionIds().Find( sessionId );
-				if( newIndex != KErrNotFound )
-					{
-					iListBox->SetCurrentItemIndex( newIndex );
-					}
-				else
-					{
-					iListBox->SetCurrentItemIndex( iSelectedIndex );				
-					}				
-				}
-        	}
-        }        
-    DrawDeferred();
-	DEBUG( - CLocSUPLSessionContainer::UpdateScreenL );	
-    }
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSessionContainer::HandleResourceChange
-//
-// ---------------------------------------------------------------------------	
-void CLocSUPLSessionContainer::HandleResourceChange(TInt aType)
-	{
-	DEBUG( + CLocSUPLSessionContainer::HandleResourceChange );	
-	// Pass the event to the base class
-	CCoeControl::HandleResourceChange(aType);
-    switch( aType )
-    	{
-    	// Dynamic Layout switch
-    	case KEikDynamicLayoutVariantSwitch:
-    		{
-    		SetRect( iView->ClientRect() );
-			break;
-    		}
-    	default:
-    		{
-    		break;
-    		}
-    	}
-	DEBUG( - CLocSUPLSessionContainer::HandleResourceChange );	
-	}
-
-// -----------------------------------------------------------------------------
-// CLocSUPLSessionContainer::GetHelpContext
-//
-// -----------------------------------------------------------------------------
-//
-void CLocSUPLSessionContainer::GetHelpContext( TCoeHelpContext& aContext ) const
-    {
-	DEBUG( + CLocSUPLSessionContainer::GetHelpContext );	
-    aContext.iContext = iContextName;
-    aContext.iMajor = TUid::Uid( KLOCSUPLSETTINGSUIUID3 );
-	DEBUG( - CLocSUPLSessionContainer::GetHelpContext );	
-    }
-    
-// ---------------------------------------------------------------------------
-// TInt CLocSUPLSessionContainer::CountComponentControls
-//
-// ---------------------------------------------------------------------------
-TInt CLocSUPLSessionContainer::CountComponentControls() const
-	{
-	return 1;
-	}
-
-// ---------------------------------------------------------------------------
-// CCoeControl* CLocSUPLSessionContainer::ComponentControl
-//
-// ---------------------------------------------------------------------------
-CCoeControl* CLocSUPLSessionContainer::ComponentControl( TInt /*aIndex*/ ) const
-	{
-	return iListBox;	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSessionContainer::OfferKeyEventL
-//
-// ---------------------------------------------------------------------------	
-//
-TKeyResponse CLocSUPLSessionContainer::OfferKeyEventL( const TKeyEvent& aKeyEvent,
-										   					  TEventCode aType )
-	{
-	TKeyResponse keyresponse = EKeyWasNotConsumed;
-	
-    // Now handle the Key Event based on the Key type
-    switch ( aKeyEvent.iScanCode )
-        {            
-        case EStdKeyUpArrow:
-        case EStdKeyDownArrow:
-            {
-            keyresponse = iListBox->OfferKeyEventL( aKeyEvent, aType );
-            iView->ChangeMSKL();
-            return keyresponse;         
-            }
-        case EStdKeyBackspace:
-        case EStdKeyDelete:
-            {
-            if(aType == EEventKey )
-                {
-                keyresponse = iListBox->OfferKeyEventL( aKeyEvent, aType );
-                iView->HandleCommandL( ELocSuplSessionTerminate ); 
-                }
-            return keyresponse;               
-            }
-        case EStdKeyHash:
-            {
-            TBool shiftKeyPressed = ( aKeyEvent.iModifiers & EModifierShift );
-            keyresponse = iListBox->OfferKeyEventL( aKeyEvent, aType );
-            if( aType == EEventKeyUp && ( EKeyWasConsumed == keyresponse || !shiftKeyPressed ) )
-                iView->ChangeMSKL();
-            return keyresponse;    
-            }
-        default:
-            {
-            break;  
-            }
-        }
-
-    // now it's iListBox's job to process the key event
-    return iListBox->OfferKeyEventL( aKeyEvent, aType ); 
-	}
-	    
-// ---------------------------------------------------------------------------
-// void CLocSUPLSessionContainer::HandleListBoxEventL
-//
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSessionContainer::HandleListBoxEventL( CEikListBox*  /* aListBox */, 
-		 						   					 TListBoxEvent aEventType )
-	{
-	DEBUG( + CLocSUPLSessionContainer::HandleListBoxEventL );	
-	switch ( aEventType )
-        {
-        case EEventItemClicked:
-            {
-            // The item is just selected here. Change the MSK to reflect
-            // the Correct MSK value
-            iView->ChangeMSKL();
-            break;    
-            }
-        // List box Item Selection
-        case EEventEnterKeyPressed:
-        case EEventItemSingleClicked:
-            {
-            if( SelectedCount() )
-                {
-                //display menu specific to editor
-                ShowContextMenuL();
-                }
-            else
-                {
-                iView->HandleCommandL( ELocSuplSessionOpen );   
-                }
-            break;	
-            }
-        default:
-           break;
-        }
-	DEBUG( - CLocSUPLSessionContainer::HandleListBoxEventL );	
-	}
-	         		 	
-// ---------------------------------------------------------------------------
-// void CLocSUPLSessionContainer::FocusChanged
-//
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSessionContainer::FocusChanged( TDrawNow aDrawNow )
-	{
-	CCoeControl::FocusChanged( aDrawNow );
-	// The focus event has to be explicitly handed over to all the compound
-	// controls since CCoeControl does not do that implicitly
-	if ( iListBox )
-		{
-		iListBox->SetFocus( IsFocused(), aDrawNow );				
-		}
-	}
-		
-// ---------------------------------------------------------------------------
-// CLocSUPLSessionContainer::SizeChanged
-// 
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSessionContainer::SizeChanged()
-	{
-	if ( iListBox )
-		{
-		iListBox->SetRect( Rect() );
-		}
-	}
-	
-// ---------------------------------------------------------------------------
-// void CLocSUPLSessionContainer::MakeTitleL
-// Sets the Title text
-//
-// @param aResourceText Resource to create title
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSessionContainer::MakeTitleL( TInt aResourceText )
-	{
-	DEBUG( + CLocSUPLSessionContainer::MakeTitleL );	
-	// Obtain the title from the Status Pane
-	CAknTitlePane* title = static_cast < CAknTitlePane* >( StatusPane()->
-        ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) );
-       
-    // Set the Title's buffer    
-    HBufC* buf = StringLoader::LoadL( aResourceText );
-    title->SetText( buf ); // Takes ownership of buf
-	DEBUG( - CLocSUPLSessionContainer::MakeTitleL );	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSessionContainer::StatusPane
-// Returns the Appui's status pane
-//
-// @return CEikStatusPane* Statuspane pointer
-// ---------------------------------------------------------------------------
-//
-CEikStatusPane* CLocSUPLSessionContainer::StatusPane()
-	{
-	return iEikonEnv->AppUiFactory()->StatusPane();	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSessionContainer::CreateListboxL
-// Creates the List box and the Listbox model. Associates the list box model 
-// with the list box
-//
-// @param aEngine                       Reference to the SUPL Settings
-//                                      engine 
-// ---------------------------------------------------------------------------	
-//
-void CLocSUPLSessionContainer::CreateListboxL( 
-                                    CLocSUPLSettingsUiEngine&     aEngine )
-	{
-	DEBUG( + CLocSUPLSessionContainer::CreateListboxL );	
-	// Create the Listbox model
-    iListBoxModel = CLocSUPLSessionLBModel::NewL( aEngine );
-	
-	// CAknSingleGraphicStyleListBox	"0\tTextLabel\t1\t2"
-	
-    iListBox = new ( ELeave ) CAknSingleGraphicStyleListBox;
-	iListBox->ConstructL( 
-						this, 
-						#ifdef RD_SCALABLE_UI_V2
-						EAknListBoxStylusMarkableList
-						#else
-						EAknListBoxMarkableList
-						#endif //RD_SCALABLE_UI_V2
-						);
-    // Set the container control.
-	iListBox->SetContainerWindowL( *this );
-    // Add scrollbars to listbox
-	iListBox->CreateScrollBarFrameL( ETrue );
-	iListBox->ScrollBarFrame()->SetScrollBarVisibilityL( CEikScrollBarFrame::EOff,
-														 CEikScrollBarFrame::EAuto );
-    // Icon array, needed only if listbox style is single number with graphic.
-    CAknIconArray* icons = new( ELeave ) CAknIconArray( KIconArrayGranularity );
-    CleanupStack::PushL( icons );
-
-    TFileName avkonIconFile = AknIconUtils::AvkonIconFileName();
-	
-    TRAP_IGNORE( AddIconL(   *icons, 
-                avkonIconFile,
-                KAknsIIDQgnIndiMarkedAdd, 
-                EMbmAvkonQgn_indi_marked_add, 
-                EMbmAvkonQgn_indi_marked_add_mask ) );
- 	
-	TFileName *iconFile = IconFileNameLC();
-    
-    TRAP_IGNORE( AddIconL(   *icons, 
-                *iconFile,
-                KAknsIIDQgnPropRadiobuttOff, 
-                EMbmLocsuplsettingsQgn_loc_server_disabled, 
-                EMbmLocsuplsettingsQgn_loc_server_disabled_mask ) );
-    
-    TRAP_IGNORE( AddIconL(   *icons, 
-                *iconFile,
-                KAknsIIDQgnPropRadiobuttOff, 
-                EMbmLocsuplsettingsQgn_loc_server_disabled, 
-                EMbmLocsuplsettingsQgn_loc_server_disabled_mask ) );
- 	
- 	CleanupStack::PopAndDestroy( iconFile );
-	
-    iListBox->ItemDrawer()->ColumnData()->SetIconArray( icons );
-    CleanupStack::Pop( icons );        
-    
-    // Set the model & observer
-    iListBox->SetListBoxObserver( this  );
-
-    iListBox->Model()->SetItemTextArray( iListBoxModel );
-    iListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );									
-    iListBox->ActivateL();   
-	DEBUG( - CLocSUPLSessionContainer::CreateListboxL );	
-	}
-
-// -----------------------------------------------------------------------------
-// CLocSUPLSessionContainer::AddIconL
-// -----------------------------------------------------------------------------
-void CLocSUPLSessionContainer::AddIconL( CAknIconArray&  aIcons,
-                                           const TDesC&    aIconFileWithPath,
-                                           TAknsItemID     aSkinID,
-                                           TInt            aIconGraphicsIndex,
-                                           TInt            aIconGraphicsMaskIndex )
-    {
-	DEBUG( + CLocSUPLSessionContainer::AddIconL );	
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-  
-    CFbsBitmap* bitmap = NULL;
-    CFbsBitmap* bitmapMask = NULL;
-    
-    TRAPD( err, AknsUtils::CreateIconL( skin,
-                            aSkinID,
-                            bitmap,
-                            bitmapMask,
-                            aIconFileWithPath,
-                            aIconGraphicsIndex,
-                            aIconGraphicsMaskIndex ) );
-
-    if(err != KErrNone)
-        {
-        TRAP( err, AknIconUtils::CreateIconL( bitmap,
-                                bitmapMask,
-                                aIconFileWithPath,
-                                aIconGraphicsIndex,
-                                aIconGraphicsMaskIndex ) );
-        }
-    User::LeaveIfError( err );
-    
-    CleanupStack::PushL( bitmap );
-    CleanupStack::PushL( bitmapMask );
-    
-    CGulIcon* icon = CGulIcon::NewL( bitmap, bitmapMask );
-    
-    // Remove the Bitmap and the Bitmap Icon from the Clean up stack since 
-    // the ownership is taken over by the icon
-    CleanupStack::Pop( bitmapMask );
-    CleanupStack::Pop( bitmap ); 
-    
-    CleanupStack::PushL( icon );
-    aIcons.AppendL( icon );
-    CleanupStack::Pop( icon ); // icon
-	DEBUG( - CLocSUPLSessionContainer::AddIconL );	
-    }
-
-// -----------------------------------------------------------------------------
-// CLocSUPLSessionContainer::IconFileNameLC
-// -----------------------------------------------------------------------------
-TFileName* CLocSUPLSessionContainer::IconFileNameLC() const
-    {
-    TFileName* fileName = new(ELeave) TFileName;
-    CleanupStack::PushL( fileName );
-    
-	TFileName* tmpName = new(ELeave) TFileName;
-    CleanupStack::PushL( tmpName );
-	
-    tmpName->Append( KDC_BITMAP_DIR );
-    tmpName->Append( KLocSuplSettingsIconFileName );
-
-    CEikAppUi *appUi = ( CEikAppUi *)( CEikonEnv::Static()->AppUi());
-    TFileName appDrive = appUi->Application()->AppFullName();
-    
-    TParse parse;
-    User::LeaveIfError( parse.Set( appDrive, NULL, NULL ) );
-    User::LeaveIfError( parse.Set( parse.Drive(), tmpName, NULL ) );
-    
-	fileName->Copy(parse.FullName());
-
-    CleanupStack::PopAndDestroy( tmpName );
-
-    return fileName;
-    }    
-  
-// ----------------------------------------------------------------------------
-// CLocSUPLSessionContainer::ListBoxL()
-// ----------------------------------------------------------------------------
-//
-CEikListBox& CLocSUPLSessionContainer::ListBoxL()
-    {
-    User::LeaveIfNull( iListBox );
-    return *iListBox;
-    }
-
-// -----------------------------------------------------------------------------
-// TInt CLocSUPLSessionContainer::SelectedItemIndex
-// Returns the Selected element. The list box model defines the enumeration that
-// would determine the current element that has been selected
-//
-// @return TInt Index of the item selected
-// -----------------------------------------------------------------------------
-//
-TInt CLocSUPLSessionContainer::SelectedItemIndex()
-    {
-    return iListBox->CurrentItemIndex();
-    }
-    
-// ---------------------------------------------------------------------------
-// void CLocSUPLSessionContainer::FocusToSessionDetailL
-// Focus move to server detail setting item
-//
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSessionContainer::FocusToSessionDetailL( TInt aIndex )
-	{
-		iListBox->SetCurrentItemIndex( aIndex );
-	}
-				       
-// ----------------------------------------------------------------------------
-// CLocSUPLSessionContainer::CurrentSessionId()
-// ----------------------------------------------------------------------------
-//
-TInt64 CLocSUPLSessionContainer::CurrentSessionId()
-	{
-	if( SelectedItemIndex() != KErrNotFound && SelectedItemIndex() < SessionCount() )
-		return iListBoxModel->SessionIds()[ SelectedItemIndex() ];
-	else
-		return KErrNotFound;
-	}
-
-// ----------------------------------------------------------------------------
-// CLocSUPLSessionContainer::SelectedCount()
-// ----------------------------------------------------------------------------
-//
-TInt CLocSUPLSessionContainer::SelectedCount()
-	{
-	return iListBox->SelectionIndexes()->Count();
-	}
-
-// ----------------------------------------------------------------------------
-// CLocSUPLSessionContainer::SessionCount()
-// ----------------------------------------------------------------------------
-//
-TInt CLocSUPLSessionContainer::SessionCount()
-	{
-	return iListBox->Model()->NumberOfItems();
-	}
-
-// ---------------------------------------------------------------------------
-// CLocSUPLSessionContainer::SessionIds()
-// returns server id array
-//
-// ---------------------------------------------------------------------------
-//  
-RArray<TInt64>& CLocSUPLSessionContainer::SessionIds()
-	{
-	return iListBoxModel->SessionIds();
-	}
-
-// ---------------------------------------------------------------------------
-// CLocSUPLSessionContainer::SetIndex()
-// sets the current selected item
-//
-// ---------------------------------------------------------------------------
-//  
-void CLocSUPLSessionContainer::SetSelectedIndex()
-	{
-	iSelectedIndex = SelectedItemIndex();
-	}
-
-// ---------------------------------------------------------------------------
-// CLocSUPLSessionContainer::CurrentSessionName()
-// Get the currently focused session name
-//
-// ---------------------------------------------------------------------------
-//  
-TPtrC CLocSUPLSessionContainer::CurrentSessionName()
-	{
-	if( SelectedCount() == 1 )
-		return iListBoxModel->SessionName( iListBox->SelectionIndexes()->At(0) );
-	else
-		return iListBoxModel->SessionName( SelectedItemIndex() );
-	}
-
-// -----------------------------------------------------------------------------
-// CLocSUPLSessionContainer::ShowContextMenuL
-// Shows context specific options menu
-// -----------------------------------------------------------------------------
-//
-void CLocSUPLSessionContainer::ShowContextMenuL()
-    {
-	DEBUG( + CLocSUPLSessionContainer::ShowContextMenuL );	
-	
-	// Switch to Context specific options menu,
-	// Show it and switch back to main options menu.
-	CEikMenuBar* menuBar = iView->MenuBar();
-	// TRAP displaying of menu bar.
-	// If it fails, the correct resource is set back before leave.
-	TRAPD( err, menuBar->TryDisplayContextMenuBarL() );
-	User::LeaveIfError( err );
-	
-	DEBUG( - CLocSUPLSessionContainer::ShowContextMenuL );	
-    }
-
-// End of file
--- a/locationsystemui/locationsysui/locsuplsettingsui/src/locsuplsessioneditor.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,660 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implements the CLocSUPLSessionEditor class
-*
-*/
-
-
-
-#include <aknappui.h>
-#include <AknIconArray.h>       // Icon Array
-#include <AknsUtils.h>
-#include <AknsSkinInstance.h>
-#include <akntitle.h>       	// CAknTitlePane
-#include <avkon.rsg>
-#include <avkon.hrh>
-#include <e32math.h>
-#include <eikapp.h>
-#include <eikaufty.h>
-#include <eikcapc.h>
-#include <eikedwin.h>
-#include <eikenv.h>
-#include <eikmenup.h>
-#include <eikmenub.h>
-#include <eikspane.h>       	// Status pane
-#include <barsread.h>           // For TResourceReader
-#include <bautils.h> 
-#include <AknQueryDialog.h>
-#include <data_caging_path_literals.hrh>
-#include <gulicon.h>            // Gul Icon
-#include <StringLoader.h>
-#include <hlplch.h>
-
-#include <epos_csuplsettingsconstants.h>
-#include <epos_csuplsettingparams.h>
-
-#include <locsuplsettingsui.rsg>
-#include "locsuplsettings.hrh"
-#include "locsuplsessioneditor.h"
-#include "locsuplsettingsuiengine.h"
-#include "locsupldebug.h"
-
-// Constants
-const TInt KMinToSecs = 60;
-const TInt KHrToSecs  = 3600;
-const TInt KdayToSecs = 86400;
-const TInt KRealWidth = 50;
-
-// ============================ LOCAL FUNCTIONS ===============================
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CLocSUPLSessionEditor::CLocSUPLSessionEditor
-// -----------------------------------------------------------------------------
-//
-CLocSUPLSessionEditor::CLocSUPLSessionEditor( 
-                            CLocSUPLSettingsUiEngine&       aEngine,
-        					TInt64 aSessionId
-		):iEngine( aEngine ), iSessionId( aSessionId )
-    {  	
-    }
-
-// -----------------------------------------------------------------------------
-// CLocSUPLSessionEditor::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CLocSUPLSessionEditor::ConstructL()
-    {
-	DEBUG( + CLocSUPLSessionEditor::ConstructL );
-    CAknForm::ConstructL( R_SUPLSESSION_EDITOR_MENU_BAR );
-
-    // Save original title
-    CEikStatusPane* statusPane = iAvkonAppUi->StatusPane();
-    iTitlePane = ( CAknTitlePane* ) statusPane->ControlL(
-        TUid::Uid( EEikStatusPaneUidTitle ) );
-    iOriginalTitle = iTitlePane->Text()->AllocL();
-
-    iSessionName = HBufC::NewL( KMaxTriggerSessionNameLen ); 
-    
-    // Set Session Observer
-    iEngine.SetSessionObserver( this );
-	
-	DEBUG( - CLocSUPLSessionEditor::ConstructL );
-    }
-
-// -----------------------------------------------------------------------------
-// CLocSUPLSessionEditor::NewL
-// -----------------------------------------------------------------------------
-//
-CLocSUPLSessionEditor* CLocSUPLSessionEditor::NewL( 
-                            CLocSUPLSettingsUiEngine&       aEngine,
-        					TInt64 aSessionId
-		)
-	{	
-    CLocSUPLSessionEditor* self = NewLC( aEngine, aSessionId );
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-// -----------------------------------------------------------------------------
-// CLocSUPLSessionEditor::NewLC
-// -----------------------------------------------------------------------------
-//
-CLocSUPLSessionEditor* CLocSUPLSessionEditor::NewLC( 
-                            CLocSUPLSettingsUiEngine&       aEngine,
-        					TInt64 aSessionId
-		)
-    {
-    CLocSUPLSessionEditor* self = new ( ELeave ) 
-    			CLocSUPLSessionEditor( aEngine, aSessionId );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CLocSUPLSessionEditor::~CLocSUPLSessionEditor
-// -----------------------------------------------------------------------------
-//
-CLocSUPLSessionEditor::~CLocSUPLSessionEditor()
-    {
-	DEBUG( + CLocSUPLSessionEditor::~CLocSUPLSessionEditor );
-	
-	// Delete Buffer
-	delete iSessionName;
-
-	// Remove the Observer set
-	iEngine.RemoveSessionObserver();
-	
-    // Restore title pane. Ownership of iTitlePane transferred.
-    if ( iTitlePane && iOriginalTitle )
-        {
-        iTitlePane->SetText( iOriginalTitle );
-        }
-	
-	DEBUG( - CLocSUPLSessionEditor::~CLocSUPLSessionEditor );	
-    }
-
-// -----------------------------------------------------------------------------
-// CLocSUPLSessionEditor::DynInitMenuPaneL
-// -----------------------------------------------------------------------------
-//
-void CLocSUPLSessionEditor::DynInitMenuPaneL(
-    TInt aResourceId,
-    CEikMenuPane* aMenuPane )
-    {
-	DEBUG( + CLocSUPLSessionEditor::DynInitMenuPaneL );
-    CAknForm::DynInitMenuPaneL( aResourceId, aMenuPane );
-
-    if ( aResourceId == R_AVKON_FORM_MENUPANE )
-        {
-        // We do not want to allow the user to modify our Form therefore
-        // Disable the Label, Add, Delete, and Save Field
-        aMenuPane->SetItemDimmed( EAknFormCmdLabel, ETrue );
-        aMenuPane->SetItemDimmed( EAknFormCmdAdd, 	ETrue );
-		aMenuPane->SetItemDimmed( EAknFormCmdDelete,ETrue );
-        aMenuPane->SetItemDimmed( EAknFormCmdSave, 	ETrue );
-        aMenuPane->SetItemDimmed( EAknFormCmdEdit, 	ETrue );
-		
-    	aMenuPane->SetItemDimmed( ELocSessionEditorTerminate, 	EFalse );	 	       			    	
-        				
-		switch( IdOfFocusControl() )
-			{
-			case ELocSuplSessionNotificationStatus:
-				{
-				aMenuPane->SetItemDimmed( ELocSessionEditorChange, 	EFalse );
-				break;
-				}
-			case ELocSuplSessionType:
-			case ELocSuplSessionTimePeriod:
-			case ELocSuplSessionTriggerInterval:
-			case ELocSuplSessionOutstandingTrigger:
-			default:
-				{
-				aMenuPane->SetItemDimmed( ELocSessionEditorChange, 	ETrue );
-				break;
-				}
-			}			     
-        }
-	DEBUG( - CLocSUPLSessionEditor::DynInitMenuPaneL );
-    }
-
-// -----------------------------------------------------------------------------
-// CLocSUPLSessionEditor::ProcessCommandL
-// -----------------------------------------------------------------------------
-//
-void CLocSUPLSessionEditor::ProcessCommandL( TInt aCommandId )
-	{
-	DEBUG1( + CLocSUPLSessionEditor::ProcessCommandL aCommandId=%d, aCommandId );
-	CAknForm::ProcessCommandL( aCommandId );
-
-	switch ( aCommandId )
-       	{
-       	case ELocSessionEditorChange:
-       		{
-       		TBool status = ETrue;
-            CAknPopupFieldText* notificationStatus =
-                            (CAknPopupFieldText*)Control( ELocSuplSessionNotificationStatus );
-            if(notificationStatus)
-                {          
-                if( notificationStatus->CurrentValueIndex() == 0 )
-                    {
-                    status = EFalse;
-                    }
-                }
-                  
-       	    iEngine.ChangeNotificationStatusL( iSessionId, status );					
-       		break;
-       		}
-       	case ELocSessionEditorTerminate:
-       		{
-       		if( DeleteConfirmationQueryL() )
-       			{
-       			iEngine.RemoveTriggerSessionL( iSessionId );
-        		   // Return back to Session view
-	       		   TryExitL( EAknSoftkeyBack );
-      			}       			
-       		break;
-       		}
-       	case EAknCmdHelp:
-       		{
-          HlpLauncher::LaunchHelpApplicationL( iCoeEnv->WsSession(),
-                                              iAvkonAppUi->AppHelpContextL() );			
-       		break;
-       		}
-       	case EEikCmdExit:
-       		{
-       		// The Exit is handled by the Application UI
-       		TryExitL( EEikCmdExit );
-       		break;
-       		}
-		default:
-			break;
-       	}
-	DEBUG( - CLocSUPLSessionEditor::ProcessCommandL );
-	}
-	
-// -----------------------------------------------------------------------------
-// CLocSUPLSessionEditor::OfferKeyEventL
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CLocSUPLSessionEditor::OfferKeyEventL( const TKeyEvent& aKeyEvent,
-                                             TEventCode aType )
-    {
-	DEBUG( CLocSUPLSessionEditor::OfferKeyEventL );
-	if ( aType == EEventKey )
-		{
-		if( aKeyEvent.iCode == EKeyBackspace )		
-            {
-        	ProcessCommandL( ELocSessionEditorTerminate );            	
-        	return EKeyWasConsumed;
-            }      
-
-		if ( aKeyEvent.iCode == EKeyEnter || aKeyEvent.iScanCode == EStdKeyEnter ) 
-			{
-		    if ( IdOfFocusControl() == ELocSuplSessionNotificationStatus )
-		    	{
-				ProcessCommandL( ELocSessionEditorChange );  	
-        	    return EKeyWasConsumed;  	
-		    	}
-			}         
-		}
-		
-    return CAknForm::OfferKeyEventL( aKeyEvent, aType );    
-    }
-    
-// ---------------------------------------------------------------------------
-// CLocSUPLSessionEditor ::OkToExitL()
-// ---------------------------------------------------------------------------
-//
-TBool CLocSUPLSessionEditor::OkToExitL( TInt aButtonId )
-    {
-	DEBUG1( + CLocSUPLSessionEditor::OkToExitL aButtonId=%d, aButtonId );
-    TBool retVal = EFalse;
-    	
-    switch( aButtonId )
-        {
-        case EAknSoftkeyChange:
-        	{
-        	ProcessCommandL( ELocSessionEditorChange );
-        	break;
-        	}
-        case EAknSoftkeyOptions: //when LSK is pressed
-            {
-            //display menu specific to editor
-            DisplayMenuL();
-            break;
-            }            
-        case EAknSoftkeyBack: 
-        case EEikCmdExit: 
-            {
-            //close editor            
-            retVal = ETrue;
-            break;
-            }
-        case ELocServerEditorNoCmd:
-        default: // close editor in all other cases
-            {
-            break;
-            }
-        }
-	DEBUG1( - CLocSUPLSessionEditor::OkToExitL retVal=%d, retVal );
-    return retVal;
-    }
-    
-// ---------------------------------------------------------------------------
-// CLocSUPLSessionEditor ::PreLayoutDynInitL()
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSessionEditor::PreLayoutDynInitL()
-    {    
-	DEBUG( + CLocSUPLSessionEditor::PreLayoutDynInitL );
-    CAknForm::PreLayoutDynInitL();
-    
-    //Load the values into the editor fields  
-    LoadFormValuesFromDataL();
-    
-	DEBUG( - CLocSUPLSessionEditor::PreLayoutDynInitL );
-    }
-
-// ---------------------------------------------------------------------------
-// CLocSUPLSessionEditor ::PostLayoutDynInitL()
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSessionEditor::PostLayoutDynInitL()
-    {
-	DEBUG( + CLocSUPLSessionEditor::PostLayoutDynInitL );
-    CAknForm::PostLayoutDynInitL();   
-
-    HandleMSKCaptionL();			    	
-	
-	DEBUG( - CLocSUPLSessionEditor::PostLayoutDynInitL );
-    }
-    
-// ---------------------------------------------------------------------------
-// CLocSUPLSessionEditor ::LineChangedL()
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSessionEditor::LineChangedL(TInt /*aControlId*/)
-    {
-    HandleMSKCaptionL(); 
-    }
-
-// -----------------------------------------------------------------------------
-// CLocSUPLSessionEditor::ExecuteLD
-// -----------------------------------------------------------------------------
-//
-TInt CLocSUPLSessionEditor::ExecuteLD()
-    {    
-	return CAknForm::ExecuteLD( R_SUPLSESSION_EDITOR_FORM_DIALOG );    	
-    }
-
-// ---------------------------------------------------------------------------
-// CLocSUPLSessionEditor ::LoadFormValuesFromDataL()
-// Called when the form is executed and when the user chooses to discard changes
-// in QuerySaveChangesL (via  DoNotSaveFormDataL).
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSessionEditor::LoadFormValuesFromDataL()
-    {
-	DEBUG( + CLocSUPLSessionEditor::LoadFormValuesFromDataL );  
-   	
-    TUint64 outstandingTriggers = 0;
-    TUint64 timeInterval = 0;
-    TUint64 timePeriod = 0;
-    TBool notificationPresent = EFalse;
-    TBool triggerNotificationStatus = EFalse; 
-    CTriggerParams::TTriggerType triggerType; 
-    CTriggerParams::TRequestType requestType;
-   	
-    iSessionName->Des().Zero();
-    
-   	CTriggerParams *triggerParams = CTriggerParams::NewL();
-   	CleanupStack::PushL( triggerParams );
-   	
-   	TInt err = KErrNone;
-   	TRAP( err, iEngine.GetTriggerParamsL( iSessionId, triggerParams ) );
-	    		    
-    if( !err )
-        {
-        triggerParams->Get(
-		    							iSessionId, 
-		    							iSessionName->Des(), 
-		    							notificationPresent, 
-		    							triggerNotificationStatus, 
-		    							triggerType,
-		    							requestType, 
-		    							outstandingTriggers, 
-		    							timeInterval);
-    
-        timePeriod = timeInterval * outstandingTriggers;
-        }
-    							
-   	CleanupStack::PopAndDestroy( triggerParams );
-   	
-    // update the title pane caption
-    if( !iSessionName->Length() )
-        {
-        HBufC* unknownString = StringLoader::LoadLC( R_LOC_SERVICES_TITLE_UNKNOWN ); 
-        iSessionName->Des().Copy( *unknownString );
-        CleanupStack::PopAndDestroy( unknownString );
-        }
-
-    ChangeTitlePaneTextL( *iSessionName ); 
-
-    // Update the Editor Fields
-    CAknPopupFieldText* notificationStatusPopupFieldText = 
-    			( CAknPopupFieldText* ) Control( ELocSuplSessionNotificationStatus );
-    if( notificationStatusPopupFieldText )
-        {  
-        if( triggerNotificationStatus  )
-        	notificationStatusPopupFieldText->SetCurrentValueIndex( 0 );                  	
-        else
-        	notificationStatusPopupFieldText->SetCurrentValueIndex( 1 );    
-        } 
-
-    CAknPopupFieldText* typePopupFieldText = 
-    			( CAknPopupFieldText* ) Control( ELocSuplSessionType );
-    if( typePopupFieldText )
-        {  
-        typePopupFieldText->SetCurrentValueIndex( 0 );          
-        }   
-
-    CAknIntegerEdwin* outstandingTriggersEdwin = 
-    			static_cast < CAknIntegerEdwin* > ( ControlOrNull( ELocSuplSessionOutstandingTrigger ) );           
-    if( outstandingTriggersEdwin )
-        { 
-        outstandingTriggersEdwin->SetValueL( outstandingTriggers );
-    	
-    	outstandingTriggersEdwin->DrawNow();
-        } 
-   	
-   	// Calculate the Time period
-	HBufC* periodString = NULL;
-	HBufC* intervalString = NULL;
-	GetTimeStringL( intervalString, timeInterval );
-	GetTimeStringL( periodString, timePeriod );
-	CleanupStack::PushL( periodString );
-	CleanupStack::PushL( intervalString );
-
-    CEikEdwin* timePeriodEdwin = 
-    			static_cast < CEikEdwin* > ( ControlOrNull( ELocSuplSessionTimePeriod ) );           
-    if( timePeriodEdwin )
-        { 
-        timePeriodEdwin->SetTextL( periodString );
-    	
-    	timePeriodEdwin->DrawNow();
-        }     
-
-    CEikEdwin* timeIntervalEdwin = 
-    			static_cast < CEikEdwin* > ( ControlOrNull( ELocSuplSessionTriggerInterval ) );           
-    if( timeIntervalEdwin )
-        { 
-        timeIntervalEdwin->SetTextL( intervalString );
-    	
-    	timeIntervalEdwin->DrawNow();
-        }                                 	
-        
-	CleanupStack::PopAndDestroy( );	//	intervalString
-	CleanupStack::PopAndDestroy( );	//	periodString
-		
-	TBool menuShowing = MenuShowing();
-	if( menuShowing )
-	    HideMenu();
-	
-    UpdatePageL( ETrue );
-    
-    if( menuShowing )
-        DisplayMenuL();
-	DEBUG( - CLocSUPLSessionEditor::LoadFormValuesFromDataL );
-    }
-    
-// ---------------------------------------------------------------------------
-// CLocSUPLSessionEditor::ChangeTitlePaneTextL()
-// Set the Title Text
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSessionEditor::ChangeTitlePaneTextL( TDesC& aText )
-    {
-	DEBUG( + CLocSUPLSessionEditor::ChangeTitlePaneTextL );
-    // Obtain the title from the Status Pane
-    CAknTitlePane* title = static_cast < CAknTitlePane* >( iEikonEnv->AppUiFactory()->
-    	StatusPane()->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) );
-       
-    // Set the Title's buffer    
-    HBufC* buf = aText.AllocL();
-    title->SetText( buf ); // Takes ownership of buf
-    title->DrawNow();
-	DEBUG( - CLocSUPLSessionEditor::ChangeTitlePaneTextL );
-    }     
-
-// ---------------------------------------------------------------------------
-// CLocSUPLSessionEditor::TogglePopupFieldControlL()
-// it toggles  value of popupfield control
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSessionEditor::TogglePopupFieldControlL( TInt aControlId )
-    {
-	DEBUG( + CLocSUPLSessionEditor::TogglePopupFieldControlL );
-    CAknPopupFieldText* popupFieldText =
-                    		( CAknPopupFieldText* ) Control( aControlId );
-                    		
-	if( popupFieldText )
-		{          
-		if( popupFieldText->CurrentValueIndex() == 0 )
-		  	popupFieldText->SetCurrentValueIndex( 1 );
-		else
-		  	popupFieldText->SetCurrentValueIndex( 0 );    
-
-		UpdatePageL( ETrue );
-		}
-	DEBUG( - CLocSUPLSessionEditor::TogglePopupFieldControlL );
-    }
- 
-// -----------------------------------------------------------------------------
-// CLocSUPLSessionEditor::HandleMSKCaptionL()
-// It changes caption of MSK key
-// -----------------------------------------------------------------------------
-//
-void CLocSUPLSessionEditor::HandleMSKCaptionL()
-    {
-	DEBUG( + CLocSUPLSessionEditor::HandleMSKCaptionL );
-    CEikButtonGroupContainer* cba = CEikButtonGroupContainer::Current();
-    CleanupStack::PushL( cba );
-    
-    //attribute specific cba
-	switch ( IdOfFocusControl() )
-       	{
-		case ELocSuplSessionNotificationStatus:
-			{
-       		cba->SetCommandSetL( R_SUPLSESSION_EDITOR_OPTIONS_CHANGE_BACK );
-			break;
-			}
-		case ELocSuplSessionType:
-		case ELocSuplSessionTimePeriod:
-		case ELocSuplSessionTriggerInterval:
-		case ELocSuplSessionOutstandingTrigger:
-			{
-       		cba->SetCommandSetL( R_SUPLSESSION_EDITOR_OPTIONS_NOMSK_BACK );
-			break;
-			}
-		default:
-			{
-       		cba->SetCommandSetL( R_SUPLSESSION_EDITOR_OPTIONS_CHANGE_BACK );
-			break;
-			}
-       	}	    	
-    cba->DrawDeferred();    
-    CleanupStack::Pop( cba );    
-	DEBUG( - CLocSUPLSessionEditor::HandleMSKCaptionL );
-    }
-
-// -----------------------------------------------------------------------------
-// CLocSUPLSessionEditor::DeleteConfirmationQueryL
-// ----------------------------------------------------------------------------
-//
-TInt CLocSUPLSessionEditor::DeleteConfirmationQueryL()
-    {    
-    HBufC* noteText = NULL;    
-    noteText = StringLoader::LoadLC( R_LOC_SUPL_QUERY_TERMINATE, *iSessionName, iEikonEnv );
-    CAknQueryDialog* query = new( ELeave ) CAknQueryDialog( *noteText );    
-    TInt ret = query->ExecuteLD( R_LOC_SUPL_DELETE_QUERY );
-    CleanupStack::PopAndDestroy( noteText );   
-    return ret;
-    }
-	
-// -----------------------------------------------------------------------------
-// CLocSUPLSessionEditor::UpdateSessionL
-// Calls function to load the values into the editor fields  
-// ----------------------------------------------------------------------------
-//
-void CLocSUPLSessionEditor::UpdateSessionL( TUpdateType aType )
-    {   	
-    if( ESessionDeleted == aType )
-        {
-        TryExitL( EAknSoftkeyBack );
-        }
-    else
-        {
-        LoadFormValuesFromDataL();
-        }
-	}
-	
-// -----------------------------------------------------------------------------
-// CLocSUPLSessionEditor::SessionId
-// Returns the session id
-// ----------------------------------------------------------------------------
-//
-TInt64 CLocSUPLSessionEditor::SessionId()
-    {  
-	return iSessionId;
-	}
-	
-// -----------------------------------------------------------------------------
-// CLocSUPLSessionEditor::GetTimeStringL
-// -----------------------------------------------------------------------------
-//
-void CLocSUPLSessionEditor::GetTimeStringL(HBufC*& aTimeString, TUint aSeconds)
-    {  
-    TBuf<KRealWidth> tempString;
-
-	if( !aSeconds )
-		{
-        tempString.Num(aSeconds);
-		AknTextUtils::LanguageSpecificNumberConversion(tempString);
-        aTimeString = StringLoader::LoadL( R_LOC_SUPL_TRIGGER_TIME_MINUTES, tempString ); 
-        return;
-		}
-		
-	TReal hrs = TReal(aSeconds)/KHrToSecs;
-    TReal approxValue;
-    TRealFormat fmt(KDefaultRealWidth, 2);
-	if( hrs < 1 )
-		{
-	    TReal mins = TReal(aSeconds)/KMinToSecs;
-		Math::Round( approxValue, mins, 2 );
-        tempString.Num(approxValue, fmt);
-		AknTextUtils::LanguageSpecificNumberConversion(tempString);
-        aTimeString = StringLoader::LoadL( R_LOC_SUPL_TRIGGER_TIME_MINUTES, tempString ); 
-		}
-	else if( hrs == 1 )
-		{
-        aTimeString = StringLoader::LoadL( R_LOC_SUPL_TRIGGER_TIME_ONEHOUR ); 
-		}
-	else
-		{
-	    TReal days = TReal(aSeconds)/KdayToSecs;
-    	if( days < 1 )
-    		{
-    		Math::Round( approxValue, hrs, 2 );
-        	tempString.Num(approxValue, fmt);
-			AknTextUtils::LanguageSpecificNumberConversion(tempString);
-            aTimeString = StringLoader::LoadL( R_LOC_SUPL_TRIGGER_TIME_HOURS, tempString ); 
-    		}
-    	else if( days == 1 )
-    		{
-            aTimeString = StringLoader::LoadL( R_LOC_SUPL_TRIGGER_TIME_ONEDAY ); 
-    		}
-    	else
-    		{
-    		Math::Round( approxValue, days, 2 );
-        	tempString.Num(approxValue, fmt);
-            AknTextUtils::LanguageSpecificNumberConversion(tempString);
-			aTimeString = StringLoader::LoadL( R_LOC_SUPL_TRIGGER_TIME_DAYS, tempString ); 
-    		}
-		}
-	}
-
-// End of file
--- a/locationsystemui/locationsysui/locsuplsettingsui/src/locsuplsessionlbmodel.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,310 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  List box for the SUPL session UI
-*
-*/
-
-
-// System Includes
-#include <e32keys.h>
-#include <locsuplsettingsui.rsg>
-#include <StringLoader.h>
-#include <epos_csuplsettings.h>
-#include <epos_csuplsettingparams.h>
-#include <epos_csuplsettingsconstants.h>
-
-// User Include
-#include "locsuplsessionlbmodel.h"
-#include "locsuplsettingsuiengine.h"
-#include "locsupldebug.h"
-		  					   	  
-// Constants
-
-const TInt KMaxConversionBufferLength 	= 0x200;
-const TInt KSessionEntryGranularity		= 10;
-
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CLocSUPLSessionLBModel::CLocSUPLSessionLBModel
-// Default Constructor
-//
-// ---------------------------------------------------------------------------
-//
-CLocSUPLSessionLBModel::CLocSUPLSessionLBModel( 
-                            CLocSUPLSettingsUiEngine&     aEngine )
-    	:	iEngine( aEngine ), 
-    		iSessionIdList( KSessionEntryGranularity ), 
-    		iSessionTypeList( KSessionEntryGranularity )
-	{		
-	}
-
-// ---------------------------------------------------------------------------
-// CLocSUPLSessionLBModel::~CLocSUPLSessionLBModel
-// Destructor
-//
-// ---------------------------------------------------------------------------
-//
-CLocSUPLSessionLBModel::~CLocSUPLSessionLBModel()
-	{
-	DEBUG( + CLocSUPLSessionLBModel::~CLocSUPLSessionLBModel );
-	
-	iSessionNameList.ResetAndDestroy();
-	iSessionNameList.Close();
-	iSessionIdList.Close();
-	iSessionTypeList.Close();
-	
-	delete iUnnamedSuplActiveSessions;
-        iUnnamedSuplActiveSessions = NULL;
-			
-	// Delete the Buffers
-	delete iBuffer;
-	iBuffer = NULL;		
-	DEBUG( - CLocSUPLSessionLBModel::~CLocSUPLSessionLBModel );
-	}
-	
-// ---------------------------------------------------------------------------
-// CLocSUPLSessionLBModel* CLocSUPLSessionLBModel::NewL
-// Two-phased constructor
-// 
-// @param  aEngine                  Reference the SUPL Settings Engine 
-// @return CLocSUPLSessionLBModel*	Reference to the object created
-//
-// ---------------------------------------------------------------------------
-//
-CLocSUPLSessionLBModel* CLocSUPLSessionLBModel::NewL( 
-                                    CLocSUPLSettingsUiEngine&     aEngine )
-	{
-	DEBUG( + CLocSUPLSessionLBModel::NewL );
-	CLocSUPLSessionLBModel* self = CLocSUPLSessionLBModel::NewLC( aEngine );
-	CleanupStack::Pop( self );
-	DEBUG( - CLocSUPLSessionLBModel::NewL );
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// CLocSUPLSessionLBModel* CLocSUPLSessionLBModel::NewLC
-// Two-phased constructor
-// 
-// @param  aEngine                  Reference the SUPL Settings Engine 
-// @return CLocSUPLSessionLBModel*	Reference to the object created
-//
-// ---------------------------------------------------------------------------
-//
-CLocSUPLSessionLBModel* CLocSUPLSessionLBModel::NewLC( 
-                                    CLocSUPLSettingsUiEngine&     aEngine )
-	{
-	CLocSUPLSessionLBModel* self = 
-	                new ( ELeave ) CLocSUPLSessionLBModel( aEngine );
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	return self;
-	}
-		
-// ---------------------------------------------------------------------------
-// void CLocSUPLSessionLBModel::ConstructL
-// Second Phase of the two phase constructor.
-// 
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSessionLBModel::ConstructL()
-	{
-	DEBUG( + CLocSUPLSessionLBModel::ConstructL );
-    // Allocate the Conversion Buffer
-	iBuffer = HBufC16::NewL( KMaxConversionBufferLength ); 	   
-	
-	iUnnamedSuplActiveSessions = StringLoader::LoadL( R_LOC_SUPL_UNKNOWN_SERVICE );
-	
-	UpdateSessionIdsL();
-	DEBUG( - CLocSUPLSessionLBModel::ConstructL );
-	}
-
-// ---------------------------------------------------------------------------
-// TInt CLocSUPLSessionLBModel::MdcaCount() const
-// Inherited from MDesCArray. Returns the total number of items in the 
-// Settings description array
-//
-// @return TInt The total number of elements in the Settings Description array
-// ---------------------------------------------------------------------------
-//
-TInt CLocSUPLSessionLBModel::MdcaCount() const
-	{
-	DEBUG1( CLocSUPLSessionLBModel::MdcaCount= %d, iSessionIdList.Count() );
-	return iSessionIdList.Count();
-	}
-
-// ---------------------------------------------------------------------------
-// TPtrC16 CLocSUPLSessionLBModel::MdcaPoint() const
-// Inherited from MDesCArray. Returns the list box entry corresponding to the 
-// index value
-//
-// @param  aIndex The index whose list box entry needs to be retrieved
-// @return TPtr16 The list box description 
-// ---------------------------------------------------------------------------
-//
-TPtrC16 CLocSUPLSessionLBModel::MdcaPoint( TInt aIndex ) const
-	{	
-	DEBUG1( + CLocSUPLSessionLBModel::MdcaPoint =%d, aIndex );
-	
-	// Zero the internal buffer
-	TPtr16 ptr( iBuffer->Des() );
-	ptr.Zero();
-	
-	AppendSuplSessionDetail( ptr, aIndex );
-
-	DEBUG( - CLocSUPLSessionLBModel::MdcaPoint );
-	return iBuffer->Des();
-	}
-	
-// ---------------------------------------------------------------------------
-// CLocSUPLSessionLBModel::AppendSuplSessionDetail()
-// Packs the session name and type to the buffer passed.
-//
-// @param  aPtr Buffer to which session name and type will be appended.
-// ---------------------------------------------------------------------------
-//	
-void CLocSUPLSessionLBModel::AppendSuplSessionDetail( TDes& aPtr, TInt aIndex ) const
-    {
-	DEBUG( + CLocSUPLSessionLBModel::AppendSuplSessionDetail );    
-	
-	_LIT(KItemString, "%d\t%S\t\t" );
-
-  RBuf sessionName;
-	if( iSessionNameList[aIndex]->Length() )
-		{
-   		TRAP_IGNORE( sessionName.CreateL( *iSessionNameList[ aIndex ] ) );
-		}
-	else
-		{
-   		TRAP_IGNORE( sessionName.CreateL( *iUnnamedSuplActiveSessions ) );
-		}
-
-	if( iSessionTypeList[ aIndex ] )
-		{
-		// Format the string
-		aPtr.Format( KItemString, 1, &sessionName );			
-		} 
-	else
-		{
-		// Format the string
-		aPtr.Format( KItemString, 2, &sessionName );					
-		}	
-	sessionName.Close();   		
-
-	DEBUG( - CLocSUPLSessionLBModel::AppendSuplSessionDetail );    
-    }
-
-// ---------------------------------------------------------------------------
-// CLocSUPLSessionLBModel::UpdateSessionIdsL()
-// Packs the server ids to id array
-//
-// ---------------------------------------------------------------------------
-//	    
-void CLocSUPLSessionLBModel::UpdateSessionIdsL()
-	{
-	DEBUG( + CLocSUPLSessionLBModel::UpdateSessionIdsL );
-
-	iSessionIdList.Reset();
-	iSessionNameList.ResetAndDestroy();
-	iSessionTypeList.Reset();
-
-	RPointerArray< CTriggerParams > sessionList;
-		
-	// Get all session entries
-	iEngine.GetTriggerParamsL( sessionList );		
-		
-	for( TInt i = 0; i < sessionList.Count() ; i++ )
-		{
-	    TInt64 sessionId;
-	    TUint64 outstandingTrigger;
-	    TUint64 interval;
-	    HBufC* sessionName = HBufC::NewL( KMaxTriggerSessionNameLen ); 
-	    CleanupStack::PushL( sessionName );
-	    TBool notificationPresent;
-	    TBool triggerNotificationStatus;  
-	    CTriggerParams::TTriggerType triggerType; 
-	    CTriggerParams::TRequestType requestType;
- 
-		    		    
-	    TInt errParams = sessionList[i]->Get(
-	    							sessionId, 
-	    							sessionName->Des(), 
-	    							notificationPresent, 
-	    							triggerNotificationStatus, 
-	    							triggerType,
-	    							requestType, 
-	    							outstandingTrigger, 
-	    							interval);
-		    		
-	    if ( errParams != KErrNone )
-	        {
-	        // Error has occured 
-	        }  
-			
-		iSessionIdList.Append( sessionId );
-		iSessionNameList.Append( sessionName->AllocL() );
-		switch( triggerType )
-			{
-			case CTriggerParams::EPeriodic:
-				iSessionTypeList.Append( ESUPLSessionTIType );
-				break;
-			case CTriggerParams::EAreaEvent:
-				iSessionTypeList.Append( ESUPLSessionNIType );
-				break;
-			case CTriggerParams::EUnknown:
-			default:
-				iSessionTypeList.Append( ESUPLSessionTIType );
-				break;
-			}
-			
-		  CleanupStack::PopAndDestroy( sessionName );
-		}
-	sessionList.ResetAndDestroy();
-	sessionList.Close();		
-	
-	DEBUG( - CLocSUPLSessionLBModel::UpdateSessionIdsL );
-	}        
-    
-// ---------------------------------------------------------------------------
-// CLocSUPLSessionLBModel::SlpIds()
-// returns server id array
-//
-// ---------------------------------------------------------------------------
-//  
-RArray<TInt64>& CLocSUPLSessionLBModel::SessionIds()
-	{
-	DEBUG( CLocSUPLSessionLBModel::SessionIds );
-	return iSessionIdList;	
-	}
-
-// ---------------------------------------------------------------------------
-// CLocSUPLSessionLBModel::CurrentSessionName()
-// Get the currently focused session name
-//
-// ---------------------------------------------------------------------------
-//  
-TPtrC CLocSUPLSessionLBModel::SessionName(TInt aIndex)
-	{
-	if( iSessionNameList[aIndex]->Length() )
-		{
-		return iSessionNameList[aIndex]->Des();
-		}
-	else
-		{
-		return *iUnnamedSuplActiveSessions;
-		}
-	}
-
-// End of file
--- a/locationsystemui/locationsysui/locsuplsettingsui/src/locsuplsessionview.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,554 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Source file for SUPL session UI view
-*
-*/
-
-
-// System Include
-#include <barsread.h> 		                // For TResourceReader
-#include <bautils.h>
-#include <StringLoader.h>
-#include <aknViewAppUi.h>
-#include <avkon.rsg>
-#include <hlplch.h>			                // Help
-#include <featmgr.h> 						// FeatureManager
-#include <eikmenup.h>						// Menu pane
-#include <eikmenub.h>						// Menu Bar
-#include <AknUtils.h>
-#include <AknQueryDialog.h> 
-
-#include <locsuplsettingsui.rsg>
-
-// User Include
-#include "locsuplsettings.hrh"
-#include "locsuplsessionview.h"
-#include "locsuplsessioncontainer.h"
-#include "locsettingsui.h"
-#include "locsuplsettingsuiengine.h"
-#include "locsupldebug.h"
-#include "locsuplsettingsview.h"
-
-
-// ========================= MEMBER FUNCTIONS ================================
-
-
-// ---------------------------------------------------------------------------
-// CLocSUPLSessionView::CLocSUPLSessionView
-// Overloaded Constructor
-//
-// ---------------------------------------------------------------------------
-//	
-CLocSUPLSessionView::CLocSUPLSessionView( 
-                              CLocSUPLSettingsUiEngine&     aEngine,
-		 					  MLocSUPLSettingsEventHandler&	aEventHandler )
-	:iEventHandler( aEventHandler ),
-	iEngine( aEngine )
-	{
-	}
-
-// ---------------------------------------------------------------------------
-// CLocSUPLSessionView::~CLocSUPLSessionView
-// Destructor
-//
-// ---------------------------------------------------------------------------
-//
-CLocSUPLSessionView::~CLocSUPLSessionView()
-	{
-	DEBUG( + CLocSUPLSessionView::~CLocSUPLSessionView );	
-    if ( iContainer )
-        {
-        AppUi()->RemoveFromViewStack( *this, iContainer );
-        }
-    delete iContainer;
-    iContainer = NULL;
-	DEBUG( - CLocSUPLSessionView::~CLocSUPLSessionView );	
-	}
-	
-// ---------------------------------------------------------------------------
-// CLocSUPLSessionView* CLocSUPLSessionView::NewL
-// Creates new Location Sys Ui plugin.
-//
-// @param aEngine               Reference to the SUPL Settings
-//                              engine          
-// @param aEventHandler		    Pointer to the Event Handler
-// @return CAknViewAppUi&		Reference to the application view
-// ---------------------------------------------------------------------------
-//    
-CLocSUPLSessionView* CLocSUPLSessionView::NewL( 
-                              CLocSUPLSettingsUiEngine&     aEngine,
-		 					  MLocSUPLSettingsEventHandler&	aEventHandler )
-	{	
-	DEBUG( + CLocSUPLSessionView::NewL );	
-    CLocSUPLSessionView* self = NewLC( aEngine, aEventHandler );
-	CleanupStack::Pop( self );
-	DEBUG( - CLocSUPLSessionView::NewL );	
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// CLocSUPLSessionView* CLocSUPLSessionView::NewLC
-// Creates new Location Sys Ui plugin.
-//
-// @param aEngine               Reference to the SUPL Settings
-//                              engine          
-// @param aEventHandler		    Pointer to the Event Handler
-// @return CAknViewAppUi&		Reference to the application view
-// ---------------------------------------------------------------------------
-//    
-CLocSUPLSessionView* CLocSUPLSessionView::NewLC( 
-                              CLocSUPLSettingsUiEngine&     aEngine,
-		 					  MLocSUPLSettingsEventHandler&	aEventHandler )
-	{	
-    CLocSUPLSessionView* self = 
-                new( ELeave ) CLocSUPLSessionView( aEngine,                          
-    										        aEventHandler );
-	CleanupStack::PushL(self);
-	self->ConstructL();
-	return self;
-	}
-	
-// ---------------------------------------------------------------------------
-// void CLocSUPLSessionView::ConstructL
-// Second Phase Constructor
-//
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSessionView::ConstructL()
-	{   	
-	// Call AknView's BaseConstrutL
-	BaseConstructL( R_SUPLSETTINGS_SESSION_VIEW );	 
-	
-	// Needed for the Session editor Launch
-	ConstructMenuAndCbaEarlyL();
-	}
-
-// -----------------------------------------------------------------------------
-// CLocSUPLSessionView::HandleScreenSizeChange
-// -----------------------------------------------------------------------------
-//
-void CLocSUPLSessionView::HandleScreenSizeChange() 
-	{
-	if( iContainer )
-		{
-		iContainer->SetRect( ClientRect());		
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// CLocSUPLSessionView::UpdateView
-// -----------------------------------------------------------------------------
-//	
-void CLocSUPLSessionView::UpdateView()
-    {
-	DEBUG( + CLocSUPLSessionView::UpdateView );	
-    if( iContainer )
-		{
-		TRAP_IGNORE( iContainer->UpdateScreenL() );	
-		}	
-	TRAP_IGNORE( ChangeMSKL() );		
-	DEBUG( - CLocSUPLSessionView::UpdateView );	
-    }
-
-// -----------------------------------------------------------------------------
-// TInt CLocSUPLSessionView::SelectedItemIndex
-// Returns the Selected element. The list box model defines the enumeration that
-// would determine the current element that has been selected
-//
-// @return TInt Index of the item selected
-// -----------------------------------------------------------------------------
-//
-TInt CLocSUPLSessionView::SelectedItemIndex()
-    {
-    if( iContainer )
-        {
-        return iContainer->SelectedItemIndex();
-        }
-    else
-        {
-        return KErrNotFound;
-        }
-    }    
-    
-// ---------------------------------------------------------------------------
-// void CLocSUPLSessionView::DoActivateL
-// 
-// ---------------------------------------------------------------------------	
-//
-void CLocSUPLSessionView::DoActivateL( const TVwsViewId& 	/* PrevViewId*/,
-											   TUid		   	/* aCustomMessageId*/,
-						  				 const TDesC8&		 aCustomMessage )
-	{
-	DEBUG( + CLocSUPLSessionView::DoActivateL );	
-
-    // Destroy the existing container
-    if( iContainer )
-        {
-        AppUi()->RemoveFromViewStack( *this, iContainer );
-        delete iContainer;
-        iContainer=NULL;
-        }						
-
-    // Create new Container	
-    iContainer = CLocSUPLSessionContainer::NewL( ClientRect(), 
-                                                  iEngine,
-                                                  this );
-    iContainer->SetMopParent( this );
-    AppUi()->AddToViewStackL( *this, iContainer );
-    MenuBar()->SetContextMenuTitleResourceId( R_SUPLSETTINGS_SESSION_CONTEXTMENUBAR );
-    ChangeMSKL();
-	iEventHandler.HandleCommandL( MLocSUPLSettingsEventHandler::ELaunchViewComplete );	
-	DEBUG( - CLocSUPLSessionView::DoActivateL );	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocationSystemUiView::DoDeactivate
-//
-// ---------------------------------------------------------------------------
-//		
-void CLocSUPLSessionView::DoDeactivate()
-	{
-	DEBUG( + CLocSUPLSessionView::DoDeactivate );	
-	// Destroy Container
-	if ( iContainer )
-        {
-        AppUi()->RemoveFromViewStack( *this, iContainer );
-        delete iContainer;
-        iContainer = NULL;
-        }
-	DEBUG( - CLocSUPLSessionView::DoDeactivate );	
-	}
-
-// ---------------------------------------------------------------------------
-// TUid CLocSUPLSessionView::Id
-// Returns the View Id. Should be chosen to reflect the Implementation UID 
-// of the Plugin
-//
-// @return TUid The View Id
-// ---------------------------------------------------------------------------
-//	
-TUid CLocSUPLSessionView::Id() const
-	{
-	return KLocSUPLSessionUiViewId;
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSessionView::HandleCommandL
-//
-// ---------------------------------------------------------------------------
-//	
-void CLocSUPLSessionView::HandleCommandL( TInt aCommand )	
-	{
-	DEBUG( + CLocSUPLSessionView::HandleCommandL );	
-	switch ( aCommand )
-        {
-        // Handle all the internal view specific commands here
-        case ELocSuplSessionOpen:
-        case EAknSoftkeyOpen:
-            {
-            TInt itemIndex = iContainer->SelectedItemIndex();	
-            iEngine.OpenSessionL( iContainer->CurrentSessionId() );
-            TInt accessPointCount;
-            TRAP_IGNORE( iEngine.GetActiveSessionsCountL( accessPointCount ) );
-            if( accessPointCount == 0 )
-            {
-             // Launch the Settings View
-              TRAP_IGNORE( AppUi()->ActivateLocalViewL ( KLocSUPLSettingsUiViewId ) );
-            }
-            else
-            TRAP_IGNORE( iContainer->FocusToSessionDetailL( itemIndex ) );
-            break;    
-            } 
-        case ELocSuplSessionTerminate:
-        case ELocSuplSessionsTerminate:
-        case ELocSuplSessionMSKTerminate:
-        case ELocSuplSessionsMSKTerminate:
-        	{
-        	iContainer->SetSelectedIndex();
-        	DeleteSessionL();
-        	TInt accessPointCount;
-          TRAP_IGNORE( iEngine.GetActiveSessionsCountL( accessPointCount ) );
-          if( accessPointCount == 0 )
-          {
-             // Launch the Settings View
-             TRAP_IGNORE( AppUi()->ActivateLocalViewL ( KLocSUPLSettingsUiViewId ) );
-          }
-        	break;
-        	}
-        case EAknCmdMark:
-        case EAknCmdUnmark:
-        case EAknMarkAll:
-        case EAknUnmarkAll:
-	       	{
-			AknSelectionService::HandleMarkableListProcessCommandL(
-						aCommand, &( iContainer->ListBoxL() ) );    
-	        ChangeMSKL();
-	       	break;
-	       	}
-       case EAknCmdHelp:
-        	{
-           	HlpLauncher::LaunchHelpApplicationL( iCoeEnv->WsSession(),
-           										 AppUi()->AppHelpContextL() );
-        	break;	
-        	}
-        case EAknCmdExit:
-        case EEikCmdExit:
-            {
-            // The Exit command has to be transferred back to the application
-            iEventHandler.HandleCommandL( EEikCmdExit );
-            break;    
-            }
-        case EAknSoftkeyBack:
-            {
-            // Launch the Settings View
-            TRAP_IGNORE( AppUi()->ActivateLocalViewL ( KLocSUPLSettingsUiViewId ) );
-            break;    
-            }
-        case ELocSuplSessionMSKNoCmd:
-        	{
-        	// No operation will happen
-        	break;
-        	}
-        default:
-    	    {
-    	    // View Switiching, View closure and other external
-    	    // view related and AppUi related commands
-    	    iEventHandler.HandleCommandL( aCommand );
-            break;	
-    	    }
-        }
-	DEBUG( - CLocSUPLSessionView::HandleCommandL );	
-	}
-
-// -----------------------------------------------------------------------------
-// CLocSUPLSessionView::DynInitMenuPaneL
-// -----------------------------------------------------------------------------
-void CLocSUPLSessionView::DynInitMenuPaneL( TInt          aResourceId, 
-                                             CEikMenuPane* aMenuPane )
-    {
-	DEBUG( + CLocSUPLSessionView::DynInitMenuPaneL );	
-    AknSelectionService::HandleMarkableListDynInitMenuPane( 
-    								aResourceId, 
-                                    aMenuPane, 
-                                    &( iContainer->ListBoxL() ) );
-    switch( aResourceId )
-        {                               
-        case R_SUPLSETTINGS_SERVER_MAIN_MENU: 
-            { 
-	        User::LeaveIfNull( aMenuPane );
-	        //Handle Help Fature
-	        HandleHelpFeature( *aMenuPane );
-	        break;
-        	}
-        case R_SUPLSETTINGS_SESSION_MENU: 
-            {             
-	        User::LeaveIfNull( aMenuPane );	     
-        	if( iContainer->SessionCount() <= 0 )
-        		{	           
-			   // aMenuPane->SetItemDimmed( 
-			   // 					ELocSuplSessionOpen, 		ETrue );
-			    aMenuPane->SetItemDimmed( 
-			    					ELocSuplSessionTerminate, 	ETrue );
-        		}
-        	else
-        		{
-        		if ( iContainer->SelectedCount() )
-        			{
-			  //  	aMenuPane->SetItemDimmed( 
-			   // 					ELocSuplSessionOpen, 		ETrue );
-					if( iContainer->SelectedCount() > 1 )
-						{
-						aMenuPane->SetItemDimmed( 
-				    					ELocSuplSessionTerminate, 	ETrue );  	  
-						aMenuPane->SetItemDimmed( 
-				    					ELocSuplSessionsTerminate, 	EFalse ); 	    	      			
-        				}
-					else
-						{
-						aMenuPane->SetItemDimmed( 
-				    					ELocSuplSessionTerminate, 	EFalse );  	  
-						aMenuPane->SetItemDimmed( 
-				    					ELocSuplSessionsTerminate, 	ETrue );  
-						}
-					}      		
-        		else
-        			{
-			    //	aMenuPane->SetItemDimmed( 
-			    	//				ELocSuplSessionOpen, 		EFalse );  
-					aMenuPane->SetItemDimmed( 
-			    					ELocSuplSessionTerminate, 	EFalse );  	  
-					aMenuPane->SetItemDimmed( 
-			    					ELocSuplSessionsTerminate, 	ETrue );  	      			
-        			}   		
-        		}        		      		
-	        break;
-        	}
-    	case R_SUPLSETTINGS_SESSION_CONTEXTMENU:
-        	{
-        	if( iContainer->SelectedCount() == 1 )
-        		{
-				aMenuPane->SetItemDimmed( 
-		    					ELocSuplSessionMSKTerminate, 	EFalse );  	  
-				aMenuPane->SetItemDimmed( 
-		    					ELocSuplSessionsMSKTerminate, 	ETrue );  
-        		}
-        	else
-        	    {
-				aMenuPane->SetItemDimmed( 
-		    					ELocSuplSessionMSKTerminate, 	EFalse );  	  
-				aMenuPane->SetItemDimmed( 
-		    					ELocSuplSessionsMSKTerminate, 	ETrue );  
-        	    }
-        	break;
-        	}
-        default:
-    		{
-    		break;
-    		}
-        }
-	DEBUG( - CLocSUPLSessionView::DynInitMenuPaneL );	
-    }
-    
-// -----------------------------------------------------------------------------
-// CLocSUPLSessionView::HandleHelpFeature
-// -----------------------------------------------------------------------------
-void CLocSUPLSessionView::HandleHelpFeature( CEikMenuPane& aMenuPane ) const
-    {
-	DEBUG( + CLocSUPLSessionView::HandleHelpFeature );	
-    if ( FeatureManager::FeatureSupported( KFeatureIdHelp ) )
-        {
-        aMenuPane.SetItemDimmed( EAknCmdHelp, EFalse );
-        }
-    else
-        {
-        aMenuPane.SetItemDimmed( EAknCmdHelp, ETrue );
-        }
-	DEBUG( - CLocSUPLSessionView::HandleHelpFeature );	
-    }
-
-// -----------------------------------------------------------------------------
-// CLocSUPLSessionView::DeletionConfirmationQueryL
-// ----------------------------------------------------------------------------
-//
-TInt CLocSUPLSessionView::DeletionConfirmationQueryL( const TInt aAmount )
-    {    
-    HBufC* noteText = NULL;    
-    if ( aAmount > 1 )
-        {
-        noteText = StringLoader::LoadL( R_LOC_SUPL_QUERY_TERMINATE_MULTIPLE, aAmount, iEikonEnv );
-        }
-    else
-        {
-        noteText = StringLoader::LoadL( R_LOC_SUPL_QUERY_TERMINATE, iContainer->CurrentSessionName(), iEikonEnv );
-        }
-    CAknQueryDialog* query = new( ELeave ) CAknQueryDialog( *noteText );    
-    TInt ret = query->ExecuteLD( R_LOC_SUPL_DELETE_QUERY );
-    delete noteText; //noteText    
-    noteText = NULL;
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// CLocSUPLSessionView::DeleteSessionL
-// ----------------------------------------------------------------------------
-//
-void CLocSUPLSessionView::DeleteSessionL()
-	{
-	DEBUG( + CLocSUPLSessionView::DeleteSessionL );	
-	TInt selCount 	= iContainer->SelectedCount();
-	TInt sessionCount = iContainer->SessionCount();
-	if( !sessionCount )
-		return;
-		
-	if( selCount )
-		{
-		if( DeletionConfirmationQueryL( selCount ) )
-			{
-		    const CArrayFix<TInt>* markedIndexes = NULL;
-		    markedIndexes = iContainer->ListBoxL().SelectionIndexes();
-				
-			RArray<TInt64> markedItemIds;					
-			GetSelectedItemIdsL( markedItemIds, *markedIndexes );
-		
-			TRAP_IGNORE( iEngine.RemoveTriggerSessionsL( markedItemIds ) );		
-					
-			markedItemIds.Close();	
-			}
-		}
-	else
-		{
-		if( DeletionConfirmationQueryL( 1 ) )
-			{
-			TRAP_IGNORE( iEngine.RemoveTriggerSessionL( iContainer->CurrentSessionId() ) );
-			}		
-
-		}
-	DEBUG( - CLocSUPLSessionView::DeleteSessionL );	
-	}
-
-// -----------------------------------------------------------------------------
-// CLocSUPLSessionView::GetSelectedItemIdsL
-// -----------------------------------------------------------------------------
-//
-void CLocSUPLSessionView::GetSelectedItemIdsL(
-    RArray<TInt64>& aSelectedItems,
-    const CArrayFix<TInt>& aSelectedIndexes ) const
-    {
-    aSelectedItems.Reset();
-    TInt itemCount = iContainer->SessionCount();
-    TInt selectionCount = aSelectedIndexes.Count();
-    for ( TInt i( 0 ); i < selectionCount; ++i )
-        {
-        TInt index = aSelectedIndexes[i];
-        User::LeaveIfError( aSelectedItems.Append( iContainer->SessionIds()[index] ) );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CLocSUPLSessionView::ChangeMSKL
-// -----------------------------------------------------------------------------
-//
-void CLocSUPLSessionView::ChangeMSKL() 
-	{
-	DEBUG( + CLocSUPLSessionView::ChangeMSKL );	
-	// Listbox takes all event even if it doesn't use them	
-	if( !Cba() || !iContainer )
-	    {
-	   	return;
-	    }
-	if( iContainer->SelectedCount() )
-		{
-		TRAP_IGNORE( 
-			Cba()->SetCommandSetL ( R_SUPLSETTINGS_OPTIONS_CONTEXTOPTIONS_BACK ) ); 	
-		}
-	else
-		{
-		if( iContainer->SessionCount() )
-		    {
-    		TRAP_IGNORE( 
-    			Cba()->SetCommandSetL ( R_SUPLSETTINGS_SESSION_OPTIONS_BACK_OPEN ) ); 	
-		    }	
-		else
-		    {
-    		TRAP_IGNORE( 
-    			Cba()->SetCommandSetL ( R_SUPLSETTINGS_SESSION_OPTIONS_BACK ) ); 
-		    }
-		}
-
-	Cba()->DrawDeferred();  	
-	DEBUG( - CLocSUPLSessionView::ChangeMSKL );	
-	}
-	
-
-// End of file
--- a/locationsystemui/locationsysui/locsuplsettingsui/src/locsuplsettings.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,641 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  SUPL Settings UI implementation.
-*
-*/
-
-
-// System Include
-#include <aknViewAppUi.h>
-#include <barsread.h> 		        // For TResourceReader
-#include <bautils.h>    
-#include <AknQueryDialog.h>         // For list query dialog
-#include <StringLoader.h>
-#include <locsuplsettingsui.rsg>
-#include <featmgr.h> 						// FeatureManager
-
-// User Includes
-#include "locsuplsettings.hrh"
-#include "locsuplsettings.h"
-#include "locsettingsuiobserver.h"
-#include "locsuplsettingsview.h"
-#include "locsuplsettingsuiengine.h"
-#include "locsuplsettingslbmodel.h"
-#include "locsettingsuiclient.h"   // For the Launch parameter values
-
-#include "locsuplserverview.h"
-#include "locsuplserverlbmodel.h"
-#include "locsuplsessionview.h"
-#include "locsuplsessionlbmodel.h"
-#include "locsupldebug.h"
-
-
-CLocSUPLAO* CLocSUPLAO::NewL( 
-        MLocSettingsUiObserver&     aSettingsUiObserver,
-        CLocSUPLSettingsUiEngine&   aSettingsEngine,
-        TInt                        aLaunchParams  )
-    {
-    CLocSUPLAO* self = new (ELeave) CLocSUPLAO( aSettingsUiObserver,
-                                                aSettingsEngine,
-                                                aLaunchParams );
-    return self;
-    }
-
-CLocSUPLAO::~CLocSUPLAO()
-    {
-    DoCancel();
-    }
-
-CLocSUPLAO::CLocSUPLAO( MLocSettingsUiObserver&     aSettingsUiObserver,
-                        CLocSUPLSettingsUiEngine&   aSettingsEngine,
-                        TInt                        aLaunchParams  )
-: CActive( EPriorityStandard ),
- iSettingsUiObserver( aSettingsUiObserver ),
- iSettingsEngine( aSettingsEngine ),
- iLaunchParams( aLaunchParams )
-    {
-    CActiveScheduler::Add(this);
-    }
-        
-void CLocSUPLAO::RunL()
-    {
-    iSettingsEngine.OpenSessionL( iLaunchParams );
-    iSettingsUiObserver.SettingClosed( KErrNone );
-    }
-        
-void CLocSUPLAO::DoCancel()
-    {
-    }
-
-void CLocSUPLAO::CompleteRequest()
-    {
-    if( !IsActive())
-        {
-        TRequestStatus* status = &iStatus;
-        User::RequestComplete( status, KErrNone );
-        SetActive();
-        }
-    }
-// ---------------------------------------------------------------------------
-// CLocSUPLSettings::CLocSUPLSettings
-// C++ default constructor.
-// ---------------------------------------------------------------------------
-//
-CLocSUPLSettings::CLocSUPLSettings( MLocSettingsUiObserver&	aSettingsUiObserver,
-					   		    	CAknViewAppUi&			aAppUi )
-	: CLocSettingsUi( aSettingsUiObserver, aAppUi ),
-	iResourceLoader( *CCoeEnv::Static() ),
-	iLaunchOutStanding( EFalse )
-	{
-	}
-
-// ---------------------------------------------------------------------------
-// CLocSUPLSettings::~CLocSUPLSettings
-// Destructor.
-// ---------------------------------------------------------------------------	
-//
-CLocSUPLSettings::~CLocSUPLSettings()	
-	{
-	DEBUG( + CLocSUPLSettings::~CLocSUPLSettings );
-	
-	delete iLaunchAO;
-	iLaunchAO = NULL;
-	
-	delete iSettingsEngine;
-	iSettingsEngine = NULL;
-	
-	// Close the Resource loader
-	iResourceLoader.Close();
-
-    FeatureManager::UnInitializeLib();  		
-	DEBUG( - CLocSUPLSettings::~CLocSUPLSettings );
-	}
-
-// ---------------------------------------------------------------------------
-// CLocSUPLSettings* CLocSUPLSettings::NewL
-// Symbian OS two-phased constructor
-// 
-// @return CLocSUPLSettings* Reference to the Settings UI object
-// ---------------------------------------------------------------------------	
-//
-CLocSUPLSettings* CLocSUPLSettings::NewL( TAny* aParam )
-	{
-	DEBUG( + CLocSUPLSettings::NewL );
-	CLocSettingsUiParams* 	param = 
-	                reinterpret_cast<CLocSettingsUiParams *>( aParam );
-	MLocSettingsUiObserver& observer = param->SettingsUiObserver();
-	CAknViewAppUi& 		 appUi = param->AppUi();
-	CLocSUPLSettings* self = new ( ELeave )CLocSUPLSettings( observer,
-													         appUi );
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	CleanupStack::Pop( self );
-	DEBUG( - CLocSUPLSettings::NewL );
-	return self; 
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettings::ConstructL
-// Second phase constructor.
-// ---------------------------------------------------------------------------	
-//
-void CLocSUPLSettings::ConstructL()
-	{
-	DEBUG( + CLocSUPLSettings::ConstructL );
-	// Feature manager required for SUPL Feature flag checking and 
-	// Help feature check
-    FeatureManager::InitializeLibL();
-
- 	// Feature flag check provided for Product profile bits specific variation
- 	// If the SUPL feature flag is not defined then the SUPL Settings UI
- 	// would not be supported
- 	if ( !FeatureManager::FeatureSupported( KFeatureIdSuplFramework ) )
-        {
-        User::Leave( KErrNotSupported );
-        }
-       
-	// Open the Resource file for the plugin. The resource file is not 
-	// explicity opened by system. Hence, the opening and closind if tied
-	// down to the time when the DLL is active
-	OpenLocalizedResourceFileL( KSUPLUiResFileName, 
-							    iResourceLoader );
-	
-	// Create the SUPL Settings UI Engine
-	iSettingsEngine = CLocSUPLSettingsUiEngine::NewL( *this );
-	
-    // Create the SUPL Settings UI View
-	iSettingsView = CLocSUPLSettingsView::NewL( *iSettingsEngine,
-	                                    *this );
-	// Transferring the view's control to AppUi. The settings Ui no longer
-	// has any control to the view handle
-	iAppUi.AddViewL( iSettingsView );
-	
-	// Obtaining the View Id for reference
-	iSettingsViewId = iSettingsView->Id();
-							    
-    // Create the SUPL Settings UI View
-	iServerView = CLocSUPLServerView::NewL( *iSettingsEngine,
-	                                    *this );
-	
-	
-	// Transferring the view's control to AppUi. The settings Ui no longer
-	// has any control to the view handle
-	iAppUi.AddViewL( iServerView );
-	
-	// Obtaining the View Id for reference
-	iServerViewId = iServerView->Id();
-	
-	// Create the SUPL Session UI View
-	iSessionView = CLocSUPLSessionView::NewL( *iSettingsEngine,
-	                                    *this );
-	
-	
-	// Transferring the view's control to AppUi. The sessions Ui no longer
-	// has any control to the view handle
-	iAppUi.AddViewL( iSessionView );
-	
-	// Obtaining the View Id for reference
-	iSessionViewId = iSessionView->Id();
-	
-	DEBUG( - CLocSUPLSettings::ConstructL );
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettings::LaunchL
-// Inherited from CSettingsUi
-// Launches the Settings UI
-//
-// @param aUiLaunchParams	Flags that define specific configuration of
-//							if the Settings UI, that the user of the API
-//							wants to launch. If more than one functionality
-//                          is requested then the various combinations
-//                          are to be ORed.
-// ---------------------------------------------------------------------------	
-//
-void CLocSUPLSettings::LaunchL( TInt		aUiLaunchParams )
-	{
-	DEBUG( + CLocSUPLSettings::LaunchL );
-	// If there is any outstanding request on this UI then leave immediately
-	if( iLaunchOutStanding )
-	    {
-	    User::Leave( KErrInUse );
-	    }
-    
-    iLaunchOutStanding = ETrue;
-    
-    // Set the Param type
-    iLaunchParamType = ELaunchParamInt;
-    
-    iLaunchParams = aUiLaunchParams;
-    
-    // Initalize the Engine. Only after the initialization is complete can we 
-    // modify the Setting contents. Hence, the actual launching would be 
-    // deferred to the initialization period.
-    iSettingsEngine->Initalize();
-	DEBUG( - CLocSUPLSettings::LaunchL );
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettings::LaunchL
-// Inherited from CSettingsUi
-// Launches the Settings UI
-//
-// @param aUiLaunchParams   Flags that define specific configuration of
-//                          if the Settings UI, that the user of the API
-//                          wants to launch. If more than one functionality
-//                          is requested then the various combinations
-//                          are to be ORed.
-// ---------------------------------------------------------------------------  
-//
-void CLocSUPLSettings::LaunchL( const TDesC&      aUiLaunchParams )
-    {
-    DEBUG( + CLocSUPLSettings::LaunchL );
-    // If there is any outstanding request on this UI then leave immediately
-    if( iLaunchOutStanding )
-        {
-        User::Leave( KErrInUse );
-        }
-    
-    iLaunchOutStanding = ETrue;
-    
-    // Set the Param type
-    iLaunchParamType = ELaunchParamString;
-    
-    // Read the Param from the Descriptor
-    // Currently this reads the SUPL triggering Session id.
-    TLex16 input( aUiLaunchParams );
-    User::LeaveIfError( input.Val(iLaunchParams) );
-    
-    // Initalize the Engine. Only after the initialization is complete can we 
-    // modify the Setting contents. Hence, the actual launching would be 
-    // deferred to the initialization period.
-    iSettingsEngine->Initalize();
-    DEBUG( - CLocSUPLSettings::LaunchL );
-    }
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettings::Close
-// Inherited from CSettingsUi
-// Closes the running Settings UI prematurely. The UI can be closed 
-// permanently or could be temporarily suspended and relaunched. Incase of 
-// tenporary suspension it is left to the implementation to decide to
-// either store its current state or discard the same
-//
-// @param aResume  Boolean variable to indicate whether the UI is being 
-//				   temporarily suspended or completely shut down. In case
-// 				   it is temporarily suspended then its the UIs responsibility
-//				   to store its internal state
-// ---------------------------------------------------------------------------	
-//
-void CLocSUPLSettings::Close()
-	{
-	DEBUG( + CLocSUPLSettings::Close );
-    // Reset the flag for an outstanding launch request 
-	iLaunchOutStanding = EFalse;
-	
-	// Reset the settings View
-	iSettingsView->Reset();
-	
-	// Hand over the close event to the Engine
-	iSettingsEngine->Close();
-	DEBUG( - CLocSUPLSettings::Close );
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettings::GetCaptionL
-// Inherited from CSettingsUi
-// Method for getting caption of this plugin. This should be the 
-// localized name of the settings view to be shown in parent view.
-//
-// @param aCaption pointer to Caption variable
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSettings::GetCaptionL( TDes& aCaption ) const
-	{
-	// Load the SUPL setting caption from the resource file and hand it back
-	// to the callee. It is assuemed here that the calling function has 
-	// allocated enough memory for the aCaption string. If not the fucntion
-	// would leave
-	HBufC* caption = StringLoader::LoadL( R_SUPLSETTINGS_CAPTION );
-    aCaption.Copy( *caption );
-    delete caption;
-	}
-
-// ---------------------------------------------------------------------------
-// TInt CLocSUPLSettings::GetPriority
-// Inherited from CSettingsUi
-// Returns the priority of the UI module. 
-// 
-// @return Priority of the Settings UI
-// ---------------------------------------------------------------------------
-//
-TInt CLocSUPLSettings::GetPriority()
-	{
-	// As defined by the Location System UI UI specification, the SUPL settings
-	// plug-in should be inserted at the second level
-	const TInt KSUPLPluginPriority = 0x00000002;
-	return KSUPLPluginPriority;
-	}
-
-// ---------------------------------------------------------------------------
-// TBool CLocSUPLSettings::IsVisible
-// Inherited from CSettingsUi
-// Accessor Function for determine whether the UI presence 
-// should be shown to the user or should be hidden
-//
-// @return ETrue  If the presence of the UI be shown to the usr
-//	   EFalse If the UI should funtion as a non visible UI
-// ---------------------------------------------------------------------------
-//
-TBool CLocSUPLSettings::IsVisible()
-	{
-	return ETrue;	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettings::HandleSettingsEventL
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSettings::HandleSettingsEventL( TSettingsEventType    aEvent )
-    {
-	DEBUG1( + CLocSUPLSettings::HandleSettingsEventL aEvent=%d, aEvent );
-    switch( aEvent )
-        {
-        case EExitEvent:            
-            {
-            // Reset the flag for an outstanding launch request 
-	        iLaunchOutStanding = EFalse;
-	        
-	        iAppUi.HandleCommandL( EEikCmdExit );
-            break;    
-            }
-        case EEngineInitialized:
-        case EEngineInitializeFailed:
-            {
-            // Launch the SUPL UI
-            TRAPD( error, LaunchSUPLUiL() );
-            if( error && iLaunchOutStanding )
-                {
-                iLaunchOutStanding = EFalse;
-                // The UI is intended to be closed. Pass the event 
-		    	// to the observer
-			    iSettingsUiObserver.SettingClosed( error );               
-                }
-            break;    
-            }
-        case ESUPLSettingsChange:
-            {
-            // There is a change in Settings. Update the views
-            iSettingsView->UpdateView();
-            iServerView->UpdateView();
-            iSessionView->UpdateView();
-            break;    
-            }
-        case EIAPSelectionComplete:
-            {
-            if( iLaunchOutStanding )
-                {
-                iLaunchOutStanding = EFalse;
-                // The UI is intended to be closed. Pass the event 
-		    	// to the observer
-			    iSettingsUiObserver.SettingClosed( KErrNone );
-                }
-            break;
-            }
-        case EIAPSelectionCancelled:
-            {
-            if( iLaunchOutStanding )
-                {
-                iLaunchOutStanding = EFalse;
-                // The UI is intended to be closed. Pass the event 
-		    	// to the observer
-			    iSettingsUiObserver.SettingClosed( KErrAbort );
-                }    
-            break;
-            }
-        default:
-            {
-            break;    
-            }
-        }       
-	DEBUG( - CLocSUPLSettings::HandleSettingsEventL );
-    }
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettings::HandleScreenSizeChange
-// Inherited from MLocSUPLSettingsEventHandler
-// 
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSettings::HandleScreenSizeChange()
-    {
-    iSettingsView->HandleScreenSizeChange();
-    }
-    
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettings::HandleCommandL
-// Inherited from MLocSUPLSettingsEventHandler
-// Handles commands from the views
-// 
-// @param  aCommand Command ID
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSettings::HandleCommandL( TInt aCommand )
-	{
-	DEBUG1( + CLocSUPLSettings::HandleCommandL aCommand=%d, aCommand );
-	switch ( aCommand )
-		{		
-
-		case MLocSUPLSettingsEventHandler::ELaunchViewComplete:
-		    {
-		    if ( iLaunchParamType == ELaunchParamString )
-		        {
-	            delete iLaunchAO;
-	            iLaunchAO = NULL;
-	            
-	            iLaunchAO = CLocSUPLAO::NewL( iSettingsUiObserver,
-	                                          *iSettingsEngine,                                          
-	                                          iLaunchParams );
-	                        
-	            iLaunchAO->CompleteRequest();		        
-		        }
-		    break;
-		    }
-		// Handle any plug-in specific internal commands here
-		case EAknSoftkeyBack:
-			{			
-			// Reset the flag for an outstanding launch request 
-	        iLaunchOutStanding = EFalse;
-	    
-			// The UI is intended to be closed. Pass the event 
-			// to the observer
-			iSettingsUiObserver.SettingClosed( KErrNone );		
-			break;
-			}
-		case EAknCmdExit:
-		case EEikCmdExit:
-		    {		    
-		    // Reset the flag for an outstanding launch request 
-	        iLaunchOutStanding = EFalse;
-	        
-	        iAppUi.HandleCommandL( aCommand );
-	        break;  
-		    }
-		default:
-			{
-			// Un-handled commands are to be passed to the 
-			// App UI
-			iAppUi.HandleCommandL( aCommand );
-			break;	
-			}
-		}		
-	DEBUG( - CLocSUPLSettings::HandleSettingsEventL );
-	}
-	
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettings::LaunchSUPLUiL
-// Launches the SUPL UI
-//
-// ---------------------------------------------------------------------------	
-//
-void CLocSUPLSettings::LaunchSUPLUiL()
-    {
-	DEBUG( + CLocSUPLSettings::LaunchSUPLUiL );
-    // Launch the UI
-    // The Launch paramters should be of type TLocSUPLSettingsParams
-	// This is an internal agreement between the Settings Ui plug-in and the 
-	// user of the plug-in. If the paramter is of any other type, then the 
-	// behaviour is undefined for the pluging will still take it as 
-	// TLocSUPLSettingsParams type
-	
-	// Additionaly the Launch param can be a String type, which currently
-	// holds the session id.
-	// If String paramater contains any other info, then it Leaves with
-	// KErrNotSupported. This is basically used for Launching the SUPL
-	// Triggering Session details. 
-	
-	switch( iLaunchParamType )
-	    {
-	    case ELaunchParamInt:
-	        {
-	        // If the User has requested for the default behaviour, the SUPL Settings
-	        // default view is popped up.       
-	        if( ELocSUPLDefault == iLaunchParams )
-	            {
-	            // Activate the actual SUPL configuration view
-	            iAppUi.ActivateLocalViewL( iSettingsViewId );
-	            }
-	        else if ( ELocSuplSettingsPage == iLaunchParams )
-	            {
-	            iSettingsView->StartedFromAppServer();
-	            // Activate the actual SUPL configuration view
-	            iAppUi.ActivateLocalViewL( iSettingsViewId );               
-	            }
-	        else if( ELocSUPLIAPSelection == iLaunchParams )
-	            {    
-	            // Check if the User intended to Launch IAP Selection 
-	            iSettingsEngine->SelectConnectionL();
-	            }
-	        else
-	            {
-	            // The falg was not supported
-	            User::Leave( KErrNotSupported );   
-	            }  
-	        break;
-	        }
-        case ELaunchParamString:
-            {
-			// For the Title pane to be visible in View Architecture, we need
-			// to activate atleast one view which sets iIsReadyToDraw flag.
-			// So we activate the Session view.
-			iAppUi.ActivateLocalViewL( iSessionViewId );    
-            break;
-            }
-	    }        
- 	DEBUG( - CLocSUPLSettings::LaunchSUPLUiL );
-   }
-        	
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettings::OpenLocalizedResourceFileL
-// Opens the nearest localized resourcefile using aResourceLoader. 
-// aResourceLoader should be opened only once before closing it. 
-// Otherwise it will raise a panic. Therefore it is better to have 
-// multiple resource loaders.
-// 
-// @param aResourceFileName Drive and name of resource file in format 
-//                          <path>:<rsc_file_name>
-// @param aResourceLoader Resource loader for the resource. The loader 
-//                        must not be opened allready or it will raise 
-//                        a panic. It is caller's responsibility to 
-//                        close the resource loader after using the 
-//                        resource.
-// ---------------------------------------------------------------------------	
-//
-void CLocSUPLSettings::OpenLocalizedResourceFileL( 
-                                		const TDesC&    		aResourceFileName, 
-   									  	RConeResourceLoader& 	aResourceLoader )
-    {
-	DEBUG( + CLocSUPLSettings::OpenLocalizedResourceFileL );
-    RFs fsSession;
-    User::LeaveIfError( fsSession.Connect());
-    
-    // Add the RFs session to the CleanupStack
-    CleanupClosePushL( fsSession );
-    
-	TFileName* tmpName = new( ELeave ) TFileName;
-    CleanupStack::PushL( tmpName );
-    
-    // Append the Resource Files Directory
-    tmpName->Append( KDC_RESOURCE_FILES_DIR );
-    
-    // Append the Ressource File Name
-    tmpName->Append( aResourceFileName );
-    
-    
-    // Obtain the drive where the DLL is installed
-    TFileName* dllDrive = new ( ELeave ) TFileName;
-    CleanupStack::PushL( dllDrive );
-    Dll::FileName( *dllDrive );
-    
-    // Obtain the Complete path for the Resource File
-    TParse parse;
-	User::LeaveIfError( parse.Set( *dllDrive, NULL, NULL ) );
-    User::LeaveIfError( parse.Set( parse.Drive(), tmpName, NULL ) );
-	TFileName* fileName = new ( ELeave ) TFileName;
-	CleanupStack::PushL( fileName );
-	fileName->Append( parse.FullName() );
-    
-    // Get language of resource file
-    BaflUtils::NearestLanguageFile( fsSession, *fileName );
-        
-    // Open resource file    
-    TRAPD( error , aResourceLoader.OpenL( *fileName ) );
-    if( KErrNone != error ) 
-        {
-        User::Leave( error );
-        }
-    
-    // Pop all the fields
-    CleanupStack::PopAndDestroy( fileName );
-    CleanupStack::PopAndDestroy( dllDrive );
-    CleanupStack::PopAndDestroy( tmpName );
-   
-    CleanupStack::Pop(); // fsSession
-               
-    //If leave occurs before this, close is called automatically when the thread exits.
-    fsSession.Close();
-	DEBUG( - CLocSUPLSettings::OpenLocalizedResourceFileL );   
-    }
-
-// End of File
--- a/locationsystemui/locationsysui/locsuplsettingsui/src/locsuplsettingsadapter.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,781 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Adapter to the SUPL Settings API
-*
-*/
-
-
-// System Includes
-#include <epos_csuplsettings.h>
-#include <locsuplsettingsui.rsg>
-#include <StringLoader.h>
-
-// User Includes
-#include "locsuplsettingsadapter.h"
-#include "locsuplsettingsadapterobserver.h"
-#include "locsuplsettingssessionobserver.h"
-#include "locsupldebug.h"
-
-
-
-// ---------------------------------------------------------------------------
-// Private Constructor
-// ---------------------------------------------------------------------------
-//
-CLocSUPLSettingsAdapter::CLocSUPLSettingsAdapter( 
-                            MLocSUPLSettingsAdapterObserver&    aObserver )
-		:CActive( EPriorityStandard ),
-		iObserver( aObserver )
-    {
-    }
- 
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//    
-CLocSUPLSettingsAdapter::~CLocSUPLSettingsAdapter()
-    {
-	DEBUG( + CLocSUPLSettingsAdapter::~CLocSUPLSettingsAdapter );	
-    Cancel();
-    
-    if( iSUPLSettings )
-        {
-        iSUPLSettings->RemoveObserver();
-        iSUPLSettings->RemoveSessionObserver();
-        }
-        
-    delete iSUPLSettings;
-    iSUPLSettings = NULL;
-    
-    delete iAutomatic;
-    iAutomatic = NULL;
-    
-    delete iAutomaticatHome;
-    iAutomaticatHome = NULL;
-    
-    delete iAsk;
-    iAsk = NULL;
-    
-    delete iDisable;
-    iDisable = NULL;
-	DEBUG( - CLocSUPLSettingsAdapter::~CLocSUPLSettingsAdapter );	
-    } 
-
-// ---------------------------------------------------------------------------
-// CLocSUPLSettingsAdapter* CLocSUPLSettingsAdapter::NewL
-// Static Two phase contructor that instantiates the CLocSUPLSettingsAdapter
-// 
-// @param aObserver				    Observer to the SUPL settings adapter
-// @return CLocSUPLSettingsAdapter*	Reference to the object created
-// ---------------------------------------------------------------------------
-//    
-CLocSUPLSettingsAdapter* CLocSUPLSettingsAdapter::NewL(
-                            MLocSUPLSettingsAdapterObserver&    aObserver )
-    {
-	DEBUG( + CLocSUPLSettingsAdapter::NewL );	
-    CLocSUPLSettingsAdapter* self = 
-                new ( ELeave ) CLocSUPLSettingsAdapter( aObserver );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-	DEBUG( - CLocSUPLSettingsAdapter::NewL );	
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsAdapter::ConstructL
-// Second phase of the two phase constructor
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsAdapter::ConstructL()
-    {
-	DEBUG( + CLocSUPLSettingsAdapter::ConstructL );	
-    // Create the SUPL Settings
-    iSUPLSettings = CSuplSettings::NewL();
-    
-    // Set the Observer for SUPL Settings
-    iSUPLSettings->SetObserverL( *this );
-    
-    // Set the Observer for SUPL Sessions
-    iSUPLSettings->SetSessionObserverL( *this );
-    
-    // Load the SUPL settings usage strings
-    iAutomatic 			= StringLoader::LoadL( R_LOC_SUPL_AUTOMATIC );
-    iAutomaticatHome 	= StringLoader::LoadL( R_LOC_SUPL_HOME_AUTOMATIC );
-    iAsk 				= StringLoader::LoadL( R_LOC_SUPL_ASK );
-    iDisable 			= StringLoader::LoadL( R_LOC_SUPL_DISABLED );
-    
-    CActiveScheduler::Add( this );
-	DEBUG( - CLocSUPLSettingsAdapter::ConstructL );	
-    }           
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsAdapter::Initialize
-// Initializes the SUPL Settings API. This is an asynchronus call, the call
-// back for which is given through the observer
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSettingsAdapter::Initialize()
-    {
-	DEBUG( + CLocSUPLSettingsAdapter::Initialize );	
-    if( !IsActive())
-        {
-        iSUPLSettings->Initialize( iStatus );
-        SetActive();
-        }
-	DEBUG( - CLocSUPLSettingsAdapter::Initialize );	
-    }
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsAdapter::CancelInitialize
-// Cancels the Initialization
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSettingsAdapter::CancelInitialize()
-    {
-    Cancel();
-    }
-    
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsAdapter::SetSuplUsageL
-// ---------------------------------------------------------------------------
-//       
-void CLocSUPLSettingsAdapter::SetSuplUsageL( 
-            const CLocSUPLSettingsAdapter::TLocSuplUsage    aIndex )
-    {
-	DEBUG( + CLocSUPLSettingsAdapter::SetSuplUsageL );	
-    CSuplSettings::TSuplSettingsUsage value = CSuplSettings::ESuplUsageAlwaysAsk;
-    switch ( aIndex )
-        {
-        case ELocSuplAutomatic:
-            {
-            value = CSuplSettings::ESuplUsageAutomatic;
-            break;
-            }
-        case ELocSuplAutomaticatHome:
-            {
-            value = CSuplSettings::ESuplUsageHomeAutomatic;
-            break;
-            }
-        case ELocSuplAlwaysAsk:
-            {
-            value = CSuplSettings::ESuplUsageAlwaysAsk;
-            break;
-            }
-        case ELocSuplDisable:
-            {
-            value = CSuplSettings::ESuplUsageDisabled;
-            break;
-            }
-        default:
-            {
-            User::Leave( KErrNotFound );
-            break;    
-            }
-        }
-
-    // Write back to the SUPL settings API
-    TInt ret = iSUPLSettings->SetSuplUsage( value );            
-            
-    // If the Set failed, then Leave with the corresponding Error code
-    if( ret )
-        {
-        User::Leave ( ret );
-        }
-	DEBUG( - CLocSUPLSettingsAdapter::SetSuplUsageL );	
-    }
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsAdapter::GetSuplUsageL
-// ---------------------------------------------------------------------------
-//  
-void CLocSUPLSettingsAdapter::GetSuplUsageL( TDes&    aSuplUsage )
-    {
-	DEBUG( + CLocSUPLSettingsAdapter::GetSuplUsageL );	
-    CSuplSettings::TSuplSettingsUsage value = CSuplSettings::ESuplUsageAlwaysAsk;
-    User::LeaveIfError( iSUPLSettings->GetSuplUsage( value ));
-
-    switch ( value )
-        {
-        case CSuplSettings::ESuplUsageAutomatic:
-            {
-            if ( aSuplUsage.MaxLength() < iAutomatic->Des().Length())
-                {
-                User::Leave( KErrNoMemory );
-                }
-            aSuplUsage.Copy( *iAutomatic );
-            break;
-            }
-        case CSuplSettings::ESuplUsageHomeAutomatic:
-            {
-            if ( aSuplUsage.MaxLength() < iAutomaticatHome->Des().Length())
-                {
-                User::Leave( KErrNoMemory );
-                }
-            aSuplUsage.Copy( *iAutomaticatHome );          
-            break;
-            }
-        case CSuplSettings::ESuplUsageAlwaysAsk:
-            {
-            if ( aSuplUsage.MaxLength() < iAsk->Des().Length())
-                {
-                User::Leave( KErrNoMemory );
-                }            
-            aSuplUsage.Copy( *iAsk );
-            break;
-            }
-        case CSuplSettings::ESuplUsageDisabled:
-            {
-            if ( aSuplUsage.MaxLength() < iDisable->Des().Length())
-                {
-                User::Leave( KErrNoMemory );
-                }
-            aSuplUsage.Copy( *iDisable );
-            break;
-            }
-        default:
-            {
-            User::Leave( KErrNotSupported );
-            break;
-            }
-        }
-	DEBUG( - CLocSUPLSettingsAdapter::GetSuplUsageL );	
-    }
-
-// ---------------------------------------------------------------------------
-// TLocSuplUsage CLocSUPLSettingsAdapter::GetSuplUsage
-// ---------------------------------------------------------------------------
-// 
-TInt CLocSUPLSettingsAdapter::GetSuplUsage()
-    {
-	DEBUG( + CLocSUPLSettingsAdapter::GetSuplUsage TInt );	
-    CSuplSettings::TSuplSettingsUsage value = CSuplSettings::ESuplUsageAlwaysAsk;
-    TInt error = iSUPLSettings->GetSuplUsage( value );
-    if ( error )
-        {
-        // If there is an error then return the default value
-        return CSuplSettings::ESuplUsageAlwaysAsk;
-        }
-	DEBUG( - CLocSUPLSettingsAdapter::GetSuplUsage TInt );	
-    return value;
-    }
-
-// ---------------------------------------------------------------------------
-// TLocSuplUsage CLocSUPLSettingsAdapter::GetSuplUsageIndex
-// ---------------------------------------------------------------------------
-// 
-CLocSUPLSettingsAdapter::TLocSuplUsage CLocSUPLSettingsAdapter::GetSuplUsageIndex()
-    {    
-	DEBUG( + CLocSUPLSettingsAdapter::GetSuplUsageIndex );	
-    TLocSuplUsage index = ELocSuplAutomatic;
-    CSuplSettings::TSuplSettingsUsage value = CSuplSettings::ESuplUsageAlwaysAsk;
-    if ( iSUPLSettings->GetSuplUsage( value ))
-        {
-        // If there is an error then return the default value.
-        return index;
-        }
-        
-    switch ( value )
-        {
-        case CSuplSettings::ESuplUsageAutomatic:
-            {
-            index = ELocSuplAutomatic;
-            break;
-            }
-        case CSuplSettings::ESuplUsageHomeAutomatic:
-            {
-            index = ELocSuplAutomaticatHome;         
-            break;
-            }
-        case CSuplSettings::ESuplUsageAlwaysAsk:
-            {
-            index = ELocSuplAlwaysAsk;
-            break;
-            }
-        case CSuplSettings::ESuplUsageDisabled:
-            {
-            index = ELocSuplDisable;
-            break;
-            }
-        default:
-            {
-            break;
-            }
-        }
-    return index;   
-    }
-    
-// ---------------------------------------------------------------------------
-// const TDesC& CLocSUPLSettingsAdapter::Automatic
-// ---------------------------------------------------------------------------
-// 
-const TDesC& CLocSUPLSettingsAdapter::Automatic()
-    {
-    return *iAutomatic;
-    }
-
-// ---------------------------------------------------------------------------
-// const TDesC& CLocSUPLSettingsAdapter::AutomaticAtHome
-// ---------------------------------------------------------------------------
-//
-const TDesC& CLocSUPLSettingsAdapter::AutomaticAtHome()
-    {
-    return *iAutomaticatHome;  
-    }
-
-// ---------------------------------------------------------------------------
-// const TDesC& CLocSUPLSettingsAdapter::AlwaysAsk
-// ---------------------------------------------------------------------------
-//
-const TDesC& CLocSUPLSettingsAdapter::AlwaysAsk()
-    {
-    return *iAsk;   
-    }
-
-// ---------------------------------------------------------------------------
-// const TDesC& CLocSUPLSettingsAdapter::Disable
-// ---------------------------------------------------------------------------
-//
-const TDesC& CLocSUPLSettingsAdapter::Disable()
-    {
-    return *iDisable; 
-    }
-                   
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsAdapter::HandleSuplSettingsChangeL
-// Handle the Settings UI changes
-// ---------------------------------------------------------------------------
-//     
-void CLocSUPLSettingsAdapter::HandleSuplSettingsChangeL( 
-                TSuplSettingsEventType /*aEvent*/,
-                TInt /*aSlpId*/                         
-        		)
-    {
-	DEBUG( + CLocSUPLSettingsAdapter::HandleSuplSettingsChangeL );	
-    iObserver.HandleSuplSettingsChangeL( 
-                    MLocSUPLSettingsAdapterObserver::ESUPLSettingsChanged );
-	DEBUG( - CLocSUPLSettingsAdapter::HandleSuplSettingsChangeL );	
-    }
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsAdapter::HandleSuplSessionChangeL
-// Handle the Supl Session changes
-// ---------------------------------------------------------------------------
-//     
-void CLocSUPLSettingsAdapter::HandleSuplSessionChangeL( 
-                TSuplSessionEventType aEvent,
-                TInt64 aSessionId                        
-        		)
-    {
-	DEBUG( + CLocSUPLSettingsAdapter::HandleSuplSessionChangeL );	
-	if( iSessionObserver && iSessionObserver->SessionId() == aSessionId )
-		{
-		MLocSUPLSettingsSessionObserver::TUpdateType updateType = 
-                            MLocSUPLSettingsSessionObserver::ESessionModified;
-							
-		if( MSuplSessionObserver::ESuplSessionDBDeleteEvent == aEvent )
-		    updateType = MLocSUPLSettingsSessionObserver::ESessionDeleted;
-
-		iSessionObserver->UpdateSessionL( updateType );
-		}
-		
-    iObserver.HandleSuplSettingsChangeL( 
-                    MLocSUPLSettingsAdapterObserver::ESUPLSettingsChanged );
-	DEBUG( - CLocSUPLSettingsAdapter::HandleSuplSessionChangeL );	
-    }
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsAdapter::RunL
-// Inherited from CActive
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsAdapter::RunL()
-    {
-	DEBUG( + CLocSUPLSettingsAdapter::RunL );	
-    // If the SUPL settings API has been successfull initalized then a success
-    // call back needs to be issued. In all other cases, other than a KErrCancel
-    // it is assumed that the initailization has failed.
-    if( iStatus.Int() == KErrNone )
-        {        
-        iObserver.HandleSuplSettingsChangeL( 
-                    MLocSUPLSettingsAdapterObserver::ESUPLSettingsIntialized );
-        }
-    else if( iStatus.Int() != KErrCancel )
-        {
-        iObserver.HandleSuplSettingsChangeL( 
-                    MLocSUPLSettingsAdapterObserver::ESUPLSettingsInitalizeError );    
-        }
-	DEBUG( - CLocSUPLSettingsAdapter::RunL );	
-    }
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsAdapter::DoCancel
-// Inherited from CActive
-// ---------------------------------------------------------------------------
-//     
-void CLocSUPLSettingsAdapter::DoCancel()
-    {
-    iSUPLSettings->CancelInitialize();
-    }
-
-
-//***************************************************************************
-//  
-//  @since S60 9.1TB 
-// 
-// ***************************************************************************
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsAdapter::AddNewServerL
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsAdapter::AddNewServerL( 
-        const TDesC& aServerAddress,
-        const TDesC& aIapName,
-        const TBool aUsageInHomeNw
-		)
-	{
-	DEBUG( + CLocSUPLSettingsAdapter::AddNewServerL );	
-	CServerParams* serverParam = CServerParams::NewL();
-	CleanupStack::PushL( serverParam );
-	User::LeaveIfError(serverParam->Set( 
-						aServerAddress, 
-						aIapName, 
-						ETrue, 
-						EFalse, // default value
-						aUsageInHomeNw, 
-						ETrue ));
-	
-	TInt64 slpId;	
-	User::LeaveIfError( iSUPLSettings->AddNewServer( serverParam, slpId ) );							
-	CleanupStack::PopAndDestroy();
-	DEBUG( - CLocSUPLSettingsAdapter::AddNewServerL );	
-	}
-	
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsAdapter::RemoveServerL
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsAdapter::RemoveServerL(
-		const TInt64 aSlpId
-		)
-	{
-	DEBUG( + CLocSUPLSettingsAdapter::RemoveServerL );	
-	User::LeaveIfError( iSUPLSettings->RemoveServer( aSlpId ) );
-	DEBUG( - CLocSUPLSettingsAdapter::RemoveServerL );	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsAdapter::GetAllSlpL
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsAdapter::GetAllSlpL(
-        RPointerArray<CServerParams>& aParamValues
-		) const
-	{
-	DEBUG( + CLocSUPLSettingsAdapter::GetAllSlpL );	
-	User::LeaveIfError( iSUPLSettings->GetAllSlp( aParamValues ) );
-	DEBUG( - CLocSUPLSettingsAdapter::GetAllSlpL );	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsAdapter::GetSlpInfoFromIdL
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsAdapter::GetSlpInfoFromIdL(
-	            const TInt64 aSlpId, 
-	            CServerParams *aParamValues
-	    ) const
-	{
-	DEBUG( + CLocSUPLSettingsAdapter::GetSlpInfoFromIdL );	
-	User::LeaveIfError( iSUPLSettings->GetSlpInfoFromId( aSlpId, aParamValues ) );	
-	DEBUG( - CLocSUPLSettingsAdapter::GetSlpInfoFromIdL );	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsAdapter::ChangePriorityL
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsAdapter::ChangePriorityL(
-        TInt64 aSlpId, 
-        TInt aPriority,
-        TBool aDirection
-		)
-	{
-	DEBUG( + CLocSUPLSettingsAdapter::ChangePriorityL );	
-	User::LeaveIfError( 
-		iSUPLSettings->ChangePriority( aSlpId, aPriority, aDirection ) );		
-	DEBUG( - CLocSUPLSettingsAdapter::ChangePriorityL );	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsAdapter::SetServerAddressL
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsAdapter::SetServerAddressL( 
-        const TInt64 aSlpId, 
-        const TDesC& aServerAddress
-		)
-	{
-	DEBUG( + CLocSUPLSettingsAdapter::SetServerAddressL );	
-	User::LeaveIfError( iSUPLSettings->SetServerAddress( aSlpId, aServerAddress ) );	
-	DEBUG( - CLocSUPLSettingsAdapter::SetServerAddressL );	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsAdapter::GetServerAddressL
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsAdapter::GetServerAddressL( 
-        TInt64 aSlpId, 
-        TDes& aServerAddress
-		) const
-	{
-	DEBUG( + CLocSUPLSettingsAdapter::GetServerAddressL );	
-	User::LeaveIfError( iSUPLSettings->GetServerAddress( aSlpId, aServerAddress ) );	
-	DEBUG( - CLocSUPLSettingsAdapter::GetServerAddressL );	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsAdapter::SetIapNameL
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsAdapter::SetIapNameL( 
-        const TInt64 aSlpId, 
-        const TDesC& aIapName
-		)
-	{
-	DEBUG( + CLocSUPLSettingsAdapter::SetIapNameL );	
-	User::LeaveIfError( iSUPLSettings->SetIapName( aSlpId, aIapName ) );	
-	DEBUG( - CLocSUPLSettingsAdapter::SetIapNameL );	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsAdapter::GetIapNameL
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsAdapter::GetIapNameL( 
-        const TInt64 aSlpId, 
-        TDes& aIapName
-		) const
-	{
-	DEBUG( + CLocSUPLSettingsAdapter::GetIapNameL );	
-	User::LeaveIfError( iSUPLSettings->GetIapName( aSlpId, aIapName ) );	
-	DEBUG( - CLocSUPLSettingsAdapter::GetIapNameL );	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsAdapter::SetServerEnabledFlagL
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsAdapter::SetServerEnabledFlagL(
-        const TInt64 aSlpId, 
-        const TBool aEnable 
-		)
-	{
-	DEBUG( + CLocSUPLSettingsAdapter::SetServerEnabledFlagL );	
-	User::LeaveIfError( iSUPLSettings->SetServerEnabledFlag( aSlpId, aEnable ) );	
-	DEBUG( - CLocSUPLSettingsAdapter::SetServerEnabledFlagL );	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsAdapter::GetServerEnabledFlagL
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsAdapter::GetServerEnabledFlagL(
-        const TInt64 aSlpId, 
-        TBool& aEnable 
-		) const
-	{
-	DEBUG( + CLocSUPLSettingsAdapter::GetServerEnabledFlagL );	
-	User::LeaveIfError( iSUPLSettings->GetServerEnabledFlag( aSlpId, aEnable ) );	
-	DEBUG( - CLocSUPLSettingsAdapter::GetServerEnabledFlagL );	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsAdapter::SetUsageInHomwNwFlagL
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsAdapter::SetUsageInHomwNwFlagL(
-        const TInt64 aSlpId, 
-        const TBool aHomeNwFlag 
-		)
-	{
-	DEBUG( + CLocSUPLSettingsAdapter::SetUsageInHomwNwFlagL );	
-	User::LeaveIfError( iSUPLSettings->SetUsageInHomwNwFlag( aSlpId, aHomeNwFlag ) );	
-	DEBUG( - CLocSUPLSettingsAdapter::SetUsageInHomwNwFlagL );	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsAdapter::GetUsageInHomwNwFlagL
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsAdapter::GetUsageInHomwNwFlagL(
-        const TInt64 aSlpId, 
-        TBool& aHomeNwFlag 
-		) const
-	{
-	DEBUG( + CLocSUPLSettingsAdapter::SetUsageInHomwNwFlagL );	
-	User::LeaveIfError( iSUPLSettings->GetUsageInHomwNwFlag( aSlpId, aHomeNwFlag ) );	
-	DEBUG( - CLocSUPLSettingsAdapter::GetServerEnabledFlagL );	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsAdapter::SetEditableFlagL
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsAdapter::SetEditableFlagL( 
-	            const TInt64 aSlpId, 
-	            const TBool aEditFlag 
-	    ) const
-	{
-	DEBUG( + CLocSUPLSettingsAdapter::SetEditableFlagL );	
-	User::LeaveIfError( iSUPLSettings->SetEditableFlag( aSlpId, aEditFlag ) );
-	DEBUG( - CLocSUPLSettingsAdapter::SetEditableFlagL );	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsAdapter::GetEditableFlagL
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsAdapter::GetEditableFlagL(
-	            const TInt64 aSlpId, 
-	            TBool& aEditFlag 
-	    ) const
-	{
-	DEBUG( + CLocSUPLSettingsAdapter::GetEditableFlagL );	
-	User::LeaveIfError( iSUPLSettings->GetEditableFlag( aSlpId, aEditFlag ) );	
-	DEBUG( - CLocSUPLSettingsAdapter::GetEditableFlagL );	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsAdapter::SlpCountL
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsAdapter::SlpCountL(
-        TInt& aCount 
-		)
-	{
-	DEBUG( + CLocSUPLSettingsAdapter::SlpCountL );	
-	User::LeaveIfError( iSUPLSettings->SlpCount( aCount ) );	
-	DEBUG( - CLocSUPLSettingsAdapter::SlpCountL );	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsAdapter::GetActiveSessionsCountL
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSettingsAdapter::GetActiveSessionsCountL( TInt& aActiveSessionsCount )
-    {
-    DEBUG( + CLocSUPLSettingsAdapter::GetActiveSessionsCountL );
-    RPointerArray< CTriggerParams > aParamValues;
-    TInt ret = iSUPLSettings->GetTriggerParams( aParamValues );
-    if( ret == KErrNotFound )
-        {
-        aParamValues.ResetAndDestroy();
-        aParamValues.Close(); 
-        aActiveSessionsCount = 0;
-        }
-    else if ( ret == KErrNone )
-        {
-        TInt activeSessionsCount = aParamValues.Count(); 
-        aParamValues.ResetAndDestroy();
-        aParamValues.Close();   
-        aActiveSessionsCount = activeSessionsCount;
-        }
-    else
-        {
-        aParamValues.ResetAndDestroy();
-        aParamValues.Close();
-        //Leave with error
-        User::Leave( ret );
-        }
-        DEBUG( - CLocSUPLSettingsAdapter::GetActiveSessionsCountL );   
-    }
- 
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsAdapter::GetTriggerParamsL
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSettingsAdapter::GetTriggerParamsL( RPointerArray<CTriggerParams>& aParamValues ) const
-    {
-    DEBUG( + CLocSUPLSettingsAdapter::GetTriggerParamsL );
-    TInt ret = iSUPLSettings->GetTriggerParams( aParamValues );
-    if(( ret != KErrNotFound ) && ( ret != KErrNone ))
-        {
-         User::Leave( ret );   
-        }
-    DEBUG( - CLocSUPLSettingsAdapter::GetTriggerParamsL );  
-    }
- 
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsAdapter::GetTriggerParamsL
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSettingsAdapter::GetTriggerParamsL( TInt64 aSessionId, CTriggerParams*& aTrigger ) const
-    {
-    DEBUG( + CLocSUPLSettingsAdapter::GetTriggerParamsL );
-    TInt ret = iSUPLSettings->GetTriggerParams( aSessionId, aTrigger );
-    if( !ret )
-        {
-         User::Leave( ret );   
-        }
-    DEBUG( - CLocSUPLSettingsAdapter::GetTriggerParamsL );  
-    }
- 
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsAdapter::ChangeNotificationStatusL
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSettingsAdapter::ChangeNotificationStatusL( TInt64 aSessionId, TBool aTriggerNotificationStatus ) const
-    {
-    DEBUG( + CLocSUPLSettingsAdapter::ChangeNotificationStatusL );
-    TInt ret = iSUPLSettings->SetNotificationStatus( aSessionId, aTriggerNotificationStatus );
-    if(( ret != KErrNotFound ) && ( ret != KErrNone ))
-        {
-         User::Leave( ret );   
-        }
-    DEBUG( - CLocSUPLSettingsAdapter::ChangeNotificationStatusL );  
-    }
-    
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsAdapter::RemoveTriggerSessionL
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSettingsAdapter::RemoveTriggerSessionL( TInt64 aSessionId ) const
-    {
-    DEBUG( + CLocSUPLSettingsAdapter::RemoveTriggerSessionL );
-    iSUPLSettings->CancelTriggerSession( aSessionId );
-    DEBUG( - CLocSUPLSettingsAdapter::RemoveTriggerSessionL );  
-    }
-	
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsAdapter::SetSessionObserver
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsAdapter::SetSessionObserver( MLocSUPLSettingsSessionObserver* aObserver )
-	{
-	iSessionObserver = aObserver;
-	}
-	
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsAdapter::RemoveSessionObserver
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsAdapter::RemoveSessionObserver( )
-	{
-	iSessionObserver = NULL;
-	}
-    
-// End of file
--- a/locationsystemui/locationsysui/locsuplsettingsui/src/locsuplsettingscontainer.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,433 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  SUPL Settings UI View's container
-*
-*/
-
-
-// System Includes
-#include <eikspane.h> 		// Status pane
-#include <akntitle.h>   	// CAknTitlePane
-#include <aknlists.h>
-#include <StringLoader.h>
-#include <locsuplsettingsui.rsg>
-#include <csxhelp/locsupl.hlp.hrh>          // Help File
-
-// User Includes
-#include "locsuplsettings.hrh"
-#include "locsuplsettingsuid.hrh"
-#include "locsuplsettingscontainer.h"
-#include "locsuplsettingslbmodel.h"
-#include "locsuplsettingsuiengine.h"
-#include "locsuplsettingsview.h"
-#include "locsupldebug.h"
-
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CLocSUPLSettingsContainer::CLocSUPLSettingsContainer
-// Overloaded Constructor
-//
-// ---------------------------------------------------------------------------
-//	
-CLocSUPLSettingsContainer::CLocSUPLSettingsContainer( 
-                                        CLocSUPLSettingsView&         aSettingsView )
-    : iSettingsView( aSettingsView )
-	{
-	}
-	
-// ---------------------------------------------------------------------------
-// CLocSUPLSettingsContainer::~CLocSUPLSettingsContainer
-// Destructor
-//
-// ---------------------------------------------------------------------------	
-//
-CLocSUPLSettingsContainer::~CLocSUPLSettingsContainer()
-	{
-	DEBUG( + CLocSUPLSettingsContainer::~CLocSUPLSettingsContainer );	
-	// Delete the List box model only after deleting the list box
-	delete iListBox;
-	iListBox = NULL;
-	
-	delete iListBoxModel;
-	iListBoxModel = NULL;
-	DEBUG( - CLocSUPLSettingsContainer::~CLocSUPLSettingsContainer );	
-	}
-	
-// ---------------------------------------------------------------------------
-// CLocSUPLSettingsContainer* CLocSUPLSettingsContainer::NewL
-// Static Two phase constructor that instantiates the CLocSUPLSettingsContainer
-//
-// @param aRect							Client rectangle
-// @param aEngine                       Reference to the SUPL Settings
-//                                      engine 
-// @param aSettingsView                 Reference to the container's view
-// @return CLocSUPLSettingsContainer*	Reference to the object created
-// ---------------------------------------------------------------------------    
-//
-CLocSUPLSettingsContainer* CLocSUPLSettingsContainer::NewL( 
-                    const TRect& 	                    aRect,
-                          CLocSUPLSettingsUiEngine&     aEngine,
-                          CLocSUPLSettingsView&         aSettingsView )
-	{	
- 	DEBUG( + CLocSUPLSettingsContainer::NewL );	
-   	CLocSUPLSettingsContainer* self = NewLC( aRect, 
-                                             aEngine,
-                                             aSettingsView );
-	CleanupStack::Pop( self );
-	DEBUG( - CLocSUPLSettingsContainer::NewL );	
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// CLocSUPLSettingsContainer* CLocSUPLSettingsContainer::NewLC
-// Static Two phase contructor that instantiates the CLocSUPLSettingsContainer
-//
-// @param aRect							Client rectangle
-// @param aEngine                       Reference to the SUPL Settings
-//                                      engine 
-// @param @param aSettingsView                 Reference to the container's view
-// @return CLocSUPLSettingsContainer*	Reference to the object created
-// ---------------------------------------------------------------------------  
-//  
-CLocSUPLSettingsContainer* CLocSUPLSettingsContainer::NewLC( 
-                    const TRect& 	                    aRect,
-                          CLocSUPLSettingsUiEngine&     aEngine,
-                          CLocSUPLSettingsView&         aSettingsView  )
-	{	
-    CLocSUPLSettingsContainer* self = new ( ELeave ) CLocSUPLSettingsContainer(
-                                                        aSettingsView );
-	CleanupStack::PushL( self );
-	self->ConstructL( aRect, aEngine );
-	return self;
-	}
-
-// --------------------------------------------------------------------------- 
-// void CLocSUPLSettingsContainer::ConstructL
-// Second phase of the two phase Construction process
-//
-// @param aRect				 Client rectangle
-// @param aEngine            Reference to the SUPL Settings engine
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSettingsContainer::ConstructL( 
-                                    const TRect& 	aRect ,
-                                          CLocSUPLSettingsUiEngine&     aEngine )
-	{
-	DEBUG( + CLocSUPLSettingsContainer::ConstructL );	
-	//Make this control a window-owning control
-	CreateWindowL(); 
-	
-	// Create a New Title for the View
-	MakeTitleL( R_SUPLVIEW_TITLE );
-	
-	CreateListboxL( aEngine );
-	
-	// Get the Help context
-	iContextName = KLOC_HLP_SUPL();
-	
-    SetRect( aRect );
-    ActivateL();
-	DEBUG( - CLocSUPLSettingsContainer::ConstructL );	
-	}	
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsContainer::UpdateScreen
-// Refreshes the screen so that the list box reflects the latest contents
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSettingsContainer::UpdateScreen()
-    {
-	DEBUG( + CLocSUPLSettingsContainer::UpdateScreen );	
-    if ( iListBox )
-        {
-    	// Update Listbox items
-    	TRAP_IGNORE( iListBox->HandleItemAdditionL() );
-    	TRAP_IGNORE( iListBox->HandleItemRemovalL() );
-        }
-    DrawNow();
-	DEBUG( - CLocSUPLSettingsContainer::UpdateScreen );	
-    }
-
-// -----------------------------------------------------------------------------
-// TInt CLocSUPLSettingsContainer::SelectedItemIndex
-// Returns the Selected element. The list box model defines the enumeration that
-// would determine the current element that has been selected
-//
-// @return TInt Index of the item selected
-// -----------------------------------------------------------------------------
-//
-TInt CLocSUPLSettingsContainer::SelectedItemIndex()
-    {
-    return iListBoxModel->ResolveSettingsItem( iListBox->CurrentItemIndex() );
-    }
-			       
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsContainer::HandleResourceChange
-//
-// ---------------------------------------------------------------------------	
-void CLocSUPLSettingsContainer::HandleResourceChange(TInt aType)
-	{
-	DEBUG( + CLocSUPLSettingsContainer::HandleResourceChange );	
-	// Pass the event to the base class
-	CCoeControl::HandleResourceChange(aType);
-    switch( aType )
-    	{
-    	// Dynamic Layout switch
-    	case KEikDynamicLayoutVariantSwitch:
-    		{
-    		iSettingsView.HandleScreenSizeChange();
-			break;
-    		}
-    	default:
-    		{
-    		break;
-    		}
-    	}
-	DEBUG( - CLocSUPLSettingsContainer::HandleResourceChange );	
-	}
-   
-// -----------------------------------------------------------------------------
-// CLocSUPLSettingsContainer::GetHelpContext
-//
-// -----------------------------------------------------------------------------
-//
-void CLocSUPLSettingsContainer::GetHelpContext( TCoeHelpContext& aContext ) const
-    {
-	DEBUG( + CLocSUPLSettingsContainer::GetHelpContext );	
-    aContext.iContext = iContextName;
-    aContext.iMajor = TUid::Uid( KLOCSUPLSETTINGSUIUID3 );
-	DEBUG( - CLocSUPLSettingsContainer::GetHelpContext );	
-    }
-    
-// ---------------------------------------------------------------------------
-// TInt CLocSUPLSettingsContainer::CountComponentControls
-//
-// ---------------------------------------------------------------------------
-TInt CLocSUPLSettingsContainer::CountComponentControls() const
-	{
-	return 1;
-	}
-
-// ---------------------------------------------------------------------------
-// CCoeControl* CLocSUPLSettingsContainer::ComponentControl
-//
-// ---------------------------------------------------------------------------
-CCoeControl* CLocSUPLSettingsContainer::ComponentControl( TInt /*aIndex*/ ) const
-	{
-	return iListBox;	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsContainer::OfferKeyEventL
-//
-// ---------------------------------------------------------------------------	
-//
-TKeyResponse CLocSUPLSettingsContainer::OfferKeyEventL( const TKeyEvent& aKeyEvent,
-										   					  TEventCode aType )
-	{
-	DEBUG( + CLocSUPLSettingsContainer::OfferKeyEventL );	
-	if( aType == EEventKey )
-		{
-		switch ( aKeyEvent.iScanCode )
-	        {
-	        case EStdKeyUpArrow:
-	        case EStdKeyDownArrow:
-	        	{        	
-	        	TKeyResponse keyresponse = iListBox->OfferKeyEventL( aKeyEvent, aType );        	
-	            iSettingsView.HandleCommandL( ELocSuplOpenChange );
-	            return keyresponse;	
-	        	}
-	        default:
-	        	{
-	        	break;	
-	        	}
-	        }		
-		}
-	DEBUG( - CLocSUPLSettingsContainer::OfferKeyEventL );	
-    // now it's iListBox's job to process the key event
-    return iListBox->OfferKeyEventL( aKeyEvent, aType ); 
-	}
-	    
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsContainer::HandleListBoxEventL
-//
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSettingsContainer::HandleListBoxEventL( CEikListBox*  /* aListBox */, 
-		 						   					 TListBoxEvent aEventType )
-	{
-	DEBUG( + CLocSUPLSettingsContainer::HandleListBoxEventL );	
-	switch (aEventType)
-        {
-        case EEventItemClicked:
-            {
-            // The item is just selected here. Change the MSK to reflect
-            // the Correct MSK value
-            iSettingsView.HandleCommandL( ELocSuplOpenChange );
-            break;    
-            }
-        // List box Item Selection
-        case EEventEnterKeyPressed:
-        case EEventItemSingleClicked: //case EEventItemDoubleClicked:
-            {
-            // Settings element has been selected. Command has to be issued to
-            // change the settings configuration
-            if ( SelectedItemIndex() == 0 )
-                {
-                iSettingsView.HandleCommandL( ELocSuplMSKChange );
-                }
-            else if ( SelectedItemIndex() == 1 || SelectedItemIndex() == 2 )
-                {
-                iSettingsView.HandleCommandL( ELocSuplMSKOpen );
-                }
-            break;	
-            }
-        default:
-           break;
-        }
-	DEBUG( - CLocSUPLSettingsContainer::HandleListBoxEventL );	
-	}
-	         		 	
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsContainer::FocusChanged
-//
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSettingsContainer::FocusChanged( TDrawNow aDrawNow )
-	{
-	DEBUG( + CLocSUPLSettingsContainer::FocusChanged );	
-	CCoeControl::FocusChanged( aDrawNow );
-	// The focus event has to be explicitly handed over to all the compound
-	// controls since CCoeControl does not do that implicitly
-	if ( iListBox )
-		{
-		iListBox->SetFocus( IsFocused(), aDrawNow );				
-		}
-	DEBUG( - CLocSUPLSettingsContainer::FocusChanged );	
-	}
-		
-// ---------------------------------------------------------------------------
-// CLocSUPLSettingsContainer::SizeChanged
-// 
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSettingsContainer::SizeChanged()
-	{
-	DEBUG( + CLocSUPLSettingsContainer::SizeChanged );	
-	if ( iListBox )
-		{
-		iListBox->SetRect( Rect());
-		}
-	DEBUG( - CLocSUPLSettingsContainer::SizeChanged );	
-	}
-	
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsContainer::MakeTitleL
-// Sets the Title text
-//
-// @param aResourceText Resource to create title
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSettingsContainer::MakeTitleL( TInt aResourceText )
-	{
-	DEBUG( + CLocSUPLSettingsContainer::MakeTitleL );	
-	// Obtain the title from the Status Pane
-	CAknTitlePane* title = static_cast<CAknTitlePane*>( StatusPane()->
-        ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) );
-       
-    // Set the Title's buffer    
-    HBufC* buf = StringLoader::LoadL( aResourceText );
-    title->SetText( buf ); // Takes ownership of buf
-	DEBUG( - CLocSUPLSettingsContainer::MakeTitleL );	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsContainer::StatusPane
-// Returns the Appui's status pane
-//
-// @return CEikStatusPane* Statuspane pointer
-// ---------------------------------------------------------------------------
-//
-CEikStatusPane* CLocSUPLSettingsContainer::StatusPane()
-	{
-	return iEikonEnv->AppUiFactory()->StatusPane();	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsContainer::CreateListboxL
-// Creates the List box and the Listbox model. Associates the list box model 
-// with the list box
-//
-// @param aEngine                       Reference to the SUPL Settings
-//                                      engine 
-// ---------------------------------------------------------------------------	
-//
-void CLocSUPLSettingsContainer::CreateListboxL( 
-                                    CLocSUPLSettingsUiEngine&     aEngine )
-	{
-	DEBUG( + CLocSUPLSettingsContainer::CreateListboxL );	
-	// Create the Listbox model
-    iListBoxModel = CLocSUPLSettingsLBModel::NewL( aEngine );
-	
-	// Create the List box
-	iListBox = new ( ELeave ) CAknSettingStyleListBox;
-    iListBox->ConstructL( this, EAknListBoxSelectionList );
-    iListBox->SetContainerWindowL( *this ); 
-    iListBox->SetListBoxObserver( this );
-    iListBox->CreateScrollBarFrameL( ETrue );
-    iListBox->ScrollBarFrame()->SetScrollBarVisibilityL( CEikScrollBarFrame::EOff,
-    													 CEikScrollBarFrame::EAuto ); 
-    													 
-    // The ownership of the list box model is retained with the Container.
-    // This is because the model contains the additional functionality of
-    // changing the settings values in addition to retreiving it.    													 
-    iListBox->Model()->SetItemTextArray( iListBoxModel );	
-    iListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );									
-    iListBox->ActivateL();
-	DEBUG( - CLocSUPLSettingsContainer::CreateListboxL );	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsContainer::FocusToItemL
-// Focus move to server detail setting item
-//
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSettingsContainer::FocusToItemL( TInt aIndex )
-	{
-		iListBox->SetCurrentItemIndex( aIndex );
-	}
-    
-// ---------------------------------------------------------------------------
-// TInt CLocSUPLSettingsLBModel::ActiveSessionCount()
-// Returns the number of Active sessions.
-//
-// @return  TInt Returns the number of Active sessions count.
-// ---------------------------------------------------------------------------
-//	
-TInt CLocSUPLSettingsContainer::ActiveSessionCount( ) const
-    {
-	if( iListBoxModel )
-		{
-		return iListBoxModel->ActiveSessionCount();
-		}
-	else
-		{
-		return 0;
-		}
-	}
-
-// End of file
--- a/locationsystemui/locationsysui/locsuplsettingsui/src/locsuplsettingsimptable.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  ECOM proxy table for this plugin
-*
-*/
-
-
-// System includes
-#include <e32std.h>
-#include <ecom/implementationproxy.h>
-
-// User includes
-#include "locsuplsettings.h"
-#include "locsuplsettingsuid.hrh"
-
-// Constants
-const TImplementationProxy KExamplePluginImplementationTable[] = 
-	{
-	// UPDATE THIS - Uid for plugin implementation:
-	IMPLEMENTATION_PROXY_ENTRY( KLOCSUPLSETTINGSUIUID3,	CLocSUPLSettings::NewL )
-	};
-
-
-// ---------------------------------------------------------------------------
-// ImplementationGroupProxy
-// Gate/factory function
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
-	{
-	aTableCount = sizeof(KExamplePluginImplementationTable) 
-        / sizeof(TImplementationProxy);
-	return KExamplePluginImplementationTable;
-	}
-
-// End of file
--- a/locationsystemui/locationsysui/locsuplsettingsui/src/locsuplsettingslbmodel.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,430 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  List box for the SUPL Settings UI
-*
-*/
-
-
-// System Includes
-#include <e32keys.h>
-#include <locsuplsettingsui.rsg>
-#include <avkon.rsg>
-#include <StringLoader.h>
-#include <centralrepository.h>
-#include <epos_csuplsettings.h>
-
-
-// User Include
-#include "locsuplsettingslbmodel.h"
-#include "locsuplsettingsuiengine.h"
-#include "locsuplsettingsprivatecrkeys.h"
-#include "epos_omasuplconfigurationkeys.h"
-#include "locsupldebug.h"
-		  					   	  
-// Constants
-
-const TInt KMaxConversionBufferLength = 0x200;
-
-_LIT( KDefaultServerIPAddress, " " );
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CLocSUPLSettingsLBModel::CLocSUPLSettingsLBModel
-// Default Constructor
-//
-// ---------------------------------------------------------------------------
-//
-CLocSUPLSettingsLBModel::CLocSUPLSettingsLBModel( 
-                            CLocSUPLSettingsUiEngine& aEngine )
-    :iEngine( aEngine )
-	{		
-	}
-
-// ---------------------------------------------------------------------------
-// CLocSUPLSettingsLBModel::~CLocSUPLSettingsLBModel
-// Destructor
-//
-// ---------------------------------------------------------------------------
-//
-CLocSUPLSettingsLBModel::~CLocSUPLSettingsLBModel()
-	{	
-	DEBUG( + CLocSUPLSettingsLBModel::~CLocSUPLSettingsLBModel );	
-	// Delete the Buffers
-	delete iBuffer;
-	iBuffer = NULL;
-	
-	delete iServerDetailTitle;
-	iServerDetailTitle = NULL;
-	
-	delete iSuplUsageTitle;
-	iSuplUsageTitle = NULL;
-	
-	delete iSuplServerDetail;
-	iSuplServerDetail = NULL;
-
-	delete iDefaultSuplUsage;
-	iDefaultSuplUsage = NULL;
-	DEBUG( - CLocSUPLSettingsLBModel::~CLocSUPLSettingsLBModel );	
-	}
-	
-// ---------------------------------------------------------------------------
-// CLocSUPLSettingsLBModel* CLocSUPLSettingsLBModel::NewL
-// Two-phased constructor
-// 
-// @param  aEngine                  Reference the SUPL Settings Engine 
-// @return CLocSUPLSettingsLBModel*	Reference to the object created
-//
-// ---------------------------------------------------------------------------
-//
-CLocSUPLSettingsLBModel* CLocSUPLSettingsLBModel::NewL( 
-                                    CLocSUPLSettingsUiEngine& aEngine )
-	{
-	DEBUG( + CLocSUPLSettingsLBModel::NewL );	
-	CLocSUPLSettingsLBModel* self = CLocSUPLSettingsLBModel::NewLC( aEngine );
-	CleanupStack::Pop( self );
-	DEBUG( - CLocSUPLSettingsLBModel::NewL );	
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// CLocSUPLSettingsLBModel* CLocSUPLSettingsLBModel::NewLC
-// Two-phased constructor
-// 
-// @param  aEngine                  Reference the SUPL Settings Engine 
-// @return CLocSUPLSettingsLBModel*	Reference to the object created
-//
-// ---------------------------------------------------------------------------
-//
-CLocSUPLSettingsLBModel* CLocSUPLSettingsLBModel::NewLC( 
-                                    CLocSUPLSettingsUiEngine& aEngine )
-	{
-	CLocSUPLSettingsLBModel* self = 
-	                new( ELeave )CLocSUPLSettingsLBModel( aEngine );
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	return self;
-	}
-		
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsLBModel::ConstructL
-// Second Phase of the two phase constructor.
-// 
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSettingsLBModel::ConstructL()
-	{
-	DEBUG( + CLocSUPLSettingsLBModel::ConstructL );	
-    // Allocate the Conversion Buffer
-	iBuffer = HBufC16::NewL( KMaxConversionBufferLength ); 
-	 
-	// Read the Local Variation Key and set the Item count
-	TInt flagValue = 0;
-	CRepository* repository = CRepository::NewLC( TUid::Uid( KCRUidLocSuplSettingsUi ) );
-	repository->Get( KLocSuplSettingsLVFlags, flagValue );
-	CleanupStack::PopAndDestroy( repository );
-	repository = NULL;	
-	if( flagValue )
-	    {
-	    iServerAddressPresent = ETrue;
-	       
-     	// Allocate and set the server ip address title field
-    	iServerDetailTitle = StringLoader::LoadL( R_LOC_SUPL_SERVER_DETAIL );
-    	 
-    	// Allocate the Default IP address
-    	iSuplServerDetail = HBufC16::NewL( KDefaultServerIPAddress().Length() );
-    	TPtr16 ptr( iSuplServerDetail->Des() );
-    	ptr.Copy( KDefaultServerIPAddress );		       
-	    }
-    
-    // Reinitializing the flag value
-    flagValue = 0;
-    TRAPD( error, repository = CRepository::NewL( KCRUidOMASuplConfiguration ) );
-    if ( !error )
-        {
-        error = repository->Get( KOMASuplConfigurationSuplPermissionQueryUsage, flagValue );
-        if ( error || flagValue < 0 )
-            {
-            flagValue = 0;
-            }
-    	delete repository;
-    	repository = NULL;
-        }	
-	    	    
-	// Check for SUPL Setting usage variationing.
-	if( flagValue )
-	    {
-	    iSuplUsagePresent = ETrue;
-	       
-     	// Allocate and set the server ip address title field
-    	iSuplUsageTitle = StringLoader::LoadL( R_LOC_SUPL_USE );
-    	
-    	iDefaultSuplUsage =  StringLoader::LoadL( R_AVKON_SELEC_SETT_VAL_FIELD_NONE );
-    	// Default value can be used for this field as well
-    	// So no need to have another variable.		       
-	    }
-	    	
-	DEBUG( - CLocSUPLSettingsLBModel::ConstructL );	
-	}
-
-// ---------------------------------------------------------------------------
-// TSUPLSettingsItemId CLocSUPLSettingsLBModel::ResolveSettingsItem
-// Packs the server address to the end of the buffer passed.
-//
-// @param  aPtr Buffer to which the server address needs to be appended.
-// ---------------------------------------------------------------------------
-//
-CLocSUPLSettingsLBModel::TSUPLSettingsItemId 
-    CLocSUPLSettingsLBModel::ResolveSettingsItem( TInt aListboxIndex ) const
-    {
- 	DEBUG( + CLocSUPLSettingsLBModel::ResolveSettingsItem );	
-   	TSUPLSettingsItemId selectedItem = ESUPLSettingsUsage;
-    
-    switch ( aListboxIndex )
-        {
-        case 0:
-            {
-            selectedItem = ESUPLSettingsUsage;
-            break;
-            }        
-        case 1:
-            {
-            selectedItem = ESUPLSettingsServersDetail;
-            break;
-            }
-        case 2:
-            {
-            selectedItem = ESUPLSettingsActiveSessions;
-            break;   
-            }
-        default:
-            {
-            break;            
-            }
-        }
-	DEBUG( - CLocSUPLSettingsLBModel::ResolveSettingsItem );	
-    return selectedItem;
-    }
-        
-// ---------------------------------------------------------------------------
-// TInt CLocSUPLSettingsLBModel::MdcaCount() const
-// Inherited from MDesCArray. Returns the total number of items in the 
-// Settings description array
-//
-// @return TInt The total number of elements in the Settings Description array
-// ---------------------------------------------------------------------------
-//
-TInt CLocSUPLSettingsLBModel::MdcaCount() const
-	{
-	DEBUG( + CLocSUPLSettingsLBModel::MdcaCount );	
-	// Initialize the count to 0 
-	TInt itemCount = 0;
-	
-	// Check for SUPL usage.
-	if ( iSuplUsagePresent )
-	    {
-	    itemCount++;
-	    // Check if the usage value is disabled
-	    if ( iEngine.GetSuplUsage() == CSuplSettings::ESuplUsageDisabled )
-	        {
-	        return itemCount;
-	        }
-		// Check for Server address
-		iServerAddressPresent ? itemCount++ : itemCount;	
-	    }
-	itemCount++; // For the third entry "Active sessions"
-	// Check if the SUPL Usage value is Disabled
-	// If that is the case then only SUPL usage will be displayed
-	DEBUG( - CLocSUPLSettingsLBModel::MdcaCount );	
-	return itemCount;
-	}
-
-// ---------------------------------------------------------------------------
-// TPtrC16 CLocSUPLSettingsLBModel::MdcaPoint() const
-// Inherited from MDesCArray. Returns the list box entry corresponding to the 
-// index value
-//
-// @param  aIndex The index whose list box entry needs to be retrieved
-// @return TPtr16 The list box description 
-// ---------------------------------------------------------------------------
-//
-TPtrC16 CLocSUPLSettingsLBModel::MdcaPoint( TInt aIndex ) const
-	{
-	DEBUG( + CLocSUPLSettingsLBModel::MdcaPoint );	
-	// Zero the internal buffer
-	TPtr16 ptr( iBuffer->Des() );
-	ptr.Zero();
-	
-	// CAknSettingStyleListBox
-	// Format "\t%S\t\t%S"
-	
-	// Append the first tab
-	ptr.Append( EKeyTab );
-	
-	TSUPLSettingsItemId index = ResolveSettingsItem( aIndex );		
-	switch( index )
-	    {
-	    case ESUPLSettingsUsage:
-	        {
-	        AppendSuplUsage( ptr );
-	        break;
-	        }
-	    case ESUPLSettingsServersDetail:
-	        {
-	        AppendSuplServerDetail( ptr );
-	        break;    
-	        }
-	    case ESUPLSettingsActiveSessions:
-	        {
-	        TRAP_IGNORE( AppendSuplActiveSessionsDetailL( ptr ) );
-	        break;
-            }
-	    default:
-	        {
-        	// Append the second tab
-        	ptr.Append( EKeyTab );        	
-        	// Append the third tab
-        	ptr.Append( EKeyTab );
-	        break;    
-	        }
-	    }  
-	DEBUG( - CLocSUPLSettingsLBModel::MdcaPoint );	
-	return iBuffer->Des();
-	}
-
-// ---------------------------------------------------------------------------
-// TPtrC16 CLocSUPLSettingsLBModel::AppendSuplServerDetail()
-// Packs the server address to the end of the buffer passed.
-//
-// @param  aPtr Buffer to which the server address needs to be appended.
-// ---------------------------------------------------------------------------
-//	
-void CLocSUPLSettingsLBModel::AppendSuplUsage( TDes& aPtr ) const
-    {
-	DEBUG( + CLocSUPLSettingsLBModel::AppendSuplUsage );	
-    // Append the Title text
-    aPtr.Append( iSuplUsageTitle->Des() );
-    
-    // Append the second tab
-	aPtr.Append( EKeyTab ); 
-	
-	// Append the third tab
-	aPtr.Append( EKeyTab );
-	
-	// Obtain the SUPL usage from the SUPL Settings Engine. If
-	// the settings is not set then a Not defined value would be 
-	// displayed to the user
-    TPtr16 suplUsagePtr( NULL, 0 );
-    TRAPD( error, suplUsagePtr.Set( iEngine.GetSuplUsageL() ) );         
-    if( error || !suplUsagePtr.Length() )
-        {
-        // Using the same string as SUPL settings AP
-        aPtr.Append( iDefaultSuplUsage->Des() );
-        }
-    else
-        {
-        aPtr.Append( suplUsagePtr );              
-        }    
-	DEBUG( - CLocSUPLSettingsLBModel::AppendSuplUsage );	
-    }    
-
-// ---------------------------------------------------------------------------
-// TPtrC16 CLocSUPLSettingsLBModel::AppendSuplServerDetail()
-// Packs the server address to the end of the buffer passed.
-//
-// @param  aPtr Buffer to which the server address needs to be appended.
-// ---------------------------------------------------------------------------
-//	
-void CLocSUPLSettingsLBModel::AppendSuplServerDetail( TDes& aPtr ) const
-    {
-	DEBUG( + CLocSUPLSettingsLBModel::AppendSuplServerDetail );	
-    // Append the Title text
-    aPtr.Append( iServerDetailTitle->Des() );
-    
-    // Append the second tab
-	aPtr.Append( EKeyTab ); 
-	
-	// Append the third tab
-	aPtr.Append( EKeyTab );
-
-	// Append the forth tab
-	aPtr.Append( EKeyTab );	
-	DEBUG( - CLocSUPLSettingsLBModel::AppendSuplServerDetail );	
-    }
-    
-// ---------------------------------------------------------------------------
-// TPtrC16 CLocSUPLSettingsLBModel::AppendSuplActiveSessionsDetailL()
-// Packs the server address to the end of the buffer passed.
-//
-// @param  aPtr Buffer to which the server address needs to be appended.
-// ---------------------------------------------------------------------------
-//	
-void CLocSUPLSettingsLBModel::AppendSuplActiveSessionsDetailL( TDes& aPtr ) const
-    {
-	DEBUG( + CLocSUPLSettingsLBModel::AppendSuplActiveSessionsDetailL );	
-	
-    HBufC16* suplActiveSessionsTitle;
-    
-    TRAPD( error, iEngine.GetActiveSessionsCountL( iSessionCount ) );
-    
-	if( !error )
-		{
-		switch( iSessionCount )
-			{
-			case 0:
-				suplActiveSessionsTitle = StringLoader::LoadL( R_LOC_SUPL_NO_SERVICE );
-				break;
-			case 1:
-				suplActiveSessionsTitle = StringLoader::LoadL( R_LOC_SUPL_SINGLE_SERVICE );
-				break;
-			default:
-				suplActiveSessionsTitle = StringLoader::LoadL( R_LOC_SUPL_MULTIPLE_SERVICES, iSessionCount );
-				break;
-			}
-
-		if( suplActiveSessionsTitle )
-			{
-    	    // Append the Title text
-	        aPtr.Append( suplActiveSessionsTitle->Des() );
-            delete suplActiveSessionsTitle;
-	        suplActiveSessionsTitle = NULL;
-			}
-		}
-    
-    // Append the second tab
-	aPtr.Append( EKeyTab ); 
-	
-	// Append the third tab
-	aPtr.Append( EKeyTab );
-
-	// Append the forth tab
-	aPtr.Append( EKeyTab );	
-	
-	DEBUG( - CLocSUPLSettingsLBModel::AppendSuplActiveSessionsDetailL );	
-}
-    
-// ---------------------------------------------------------------------------
-// TInt CLocSUPLSettingsLBModel::ActiveSessionCount()
-// Returns the number of Active sessions.
-//
-// @return  TInt Returns the number of Active sessions count.
-// ---------------------------------------------------------------------------
-//	
-TInt CLocSUPLSettingsLBModel::ActiveSessionCount( ) const
-    {
-	return iSessionCount;
-	}
-
-
-// End of file
--- a/locationsystemui/locationsysui/locsuplsettingsui/src/locsuplsettingsuiengine.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1019 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  SUPL Settings UI Engine. The engine is resposible for handling
-*                all the UI components required for SUPL Settings UI. In addition
-*                to this it also is responsible for interacting with the SUPL
-*                Settings API
-*
-*/
-
-
-// System Includes
-#include <e32keys.h>
-#include <locsuplsettingsui.rsg>
-#include <StringLoader.h>
-#include <akntextsettingpage.h>     // Text editor
-#include <commdb.h>                 // CommsDatabase                                    
-#include <cmapplicationsettingsui.h>// Access Point Configurator
-#include <cmplugincsddef.h>			// For UID of CSD BearerType
-#include <cmpluginpacketdatadef.h>	// For UID of Packet data BearerType
-#include <cmmanager.h>				// For Conversion from UID to Name and Name to UID 
-#include <cmconnectionmethod.h> 	// For Conversion from UID to Name and Name to UID
-#include <aknnotewrappers.h>        // Error Notes
-#include <textresolver.h>
-#include <cdbcols.h>
-#include <bldvariant.hrh>           // For 3.2 SDK flag
-#include <AknGlobalConfirmationQuery.h> // For Global confirmation query
-#include <avkon.hrh>                // For the Softkey definition
-#include <aknSDData.h>              // Secondary display data for confirmation
-                                    // query
-#include <badesca.h>                // For Radio button array
-#include <aknradiobuttonsettingpage.h>    // Akn Radio button page                                    
-#include "locsuplsettingscoverui.h" // Secondary display API
-#include <aknViewAppUi.h>
-#include <epos_csuplsettingsconstants.h>
-
-// User Includes
-#include "locsuplsettingsuiengine.h"
-#include "locsuplsettingsuiengobserver.h"
-#include "locsuplsettingsadapter.h"
-#include "locsuplservereditor.h"
-#include "locsuplsessioneditor.h"
-#include "locsupldebug.h"
-
-// Constants
-const TInt KMaxBufferLength 		= 0x100;
-const TInt KNoofUsageSettings 		= 4;
-
-// ---------------------------------------------------------------------------
-// CLocSUPLSettingsUiEngine::CLocSUPLSettingsUiEngine
-// C++ default constructor.
-// ---------------------------------------------------------------------------
-//
-CLocSUPLSettingsUiEngine::CLocSUPLSettingsUiEngine( 
-                            MLocSUPLSettingsUiEngObserver&      aObserver )
-	: CActive( EPriorityStandard ), 
-	iObserver( aObserver ),
-	iConversionBufferPtr( NULL, 0 ),
-	iSettingsBufferPtr( NULL, 0),
-	iCurrentSlpId( -1 ),
-	iEditorObserver( NULL ),
-	iTempAP(-1)
-	{
-	// No implementation
-	}
-
-// ---------------------------------------------------------------------------
-// CLocSUPLSettingsUiEngine::~CLocSUPLSettingsUiEngine
-// Destructor.
-// ---------------------------------------------------------------------------	
-//
-CLocSUPLSettingsUiEngine::~CLocSUPLSettingsUiEngine()	
-    {
-	DEBUG( + CLocSUPLSettingsUiEngine::~CLocSUPLSettingsUiEngine );	
-    Cancel(); 
-    
-    // Delete the Confirmation query
-    delete iConfirmQuery;
-    iConfirmQuery = NULL;
-    
-	delete iSUPLSettingsAdapter;
-	iSUPLSettingsAdapter = NULL;	
-	
-	// Delete the Conversion buffers
-	delete iConversionBuffer;
-	iConversionBuffer = NULL;
-	
-	delete iSettingsBuffer;
-	iSettingsBuffer = NULL;
-	
-	// Delete the Error handling utilities
-	delete iTextResolver;
-	iTextResolver = NULL;
-	DEBUG( - CLocSUPLSettingsUiEngine::~CLocSUPLSettingsUiEngine );	
-	}
-
-// ---------------------------------------------------------------------------
-// CLocSUPLSettingsUiEngine* CLocSUPLSettingsUiEngine::NewL
-// Symbian OS two-phased constructor
-// 
-// @return CLocSUPLSettingsUiEngine* Reference to the Settings UI Engine
-// ---------------------------------------------------------------------------	
-//
-CLocSUPLSettingsUiEngine* CLocSUPLSettingsUiEngine::NewL( 
-                                 MLocSUPLSettingsUiEngObserver&      aObserver )
-	{
-	DEBUG( + CLocSUPLSettingsUiEngine::NewL );	
-	CLocSUPLSettingsUiEngine* self = CLocSUPLSettingsUiEngine::NewLC(
-                                                                aObserver );
-	CleanupStack::Pop( self );
-	DEBUG( - CLocSUPLSettingsUiEngine::NewL );	
-	return self; 
-	}
-	
-// ---------------------------------------------------------------------------
-// CLocSUPLSettingsUiEngine* CLocSUPLSettingsUiEngine::NewLC
-// Symbian OS two-phased constructor
-// 
-// @return CLocSUPLSettingsUiEngine* Reference to the Settings UI Engine
-// ---------------------------------------------------------------------------	
-//
-CLocSUPLSettingsUiEngine* CLocSUPLSettingsUiEngine::NewLC( 
-                                 MLocSUPLSettingsUiEngObserver&      aObserver )
-	{
-	CLocSUPLSettingsUiEngine* self = 
-	                new ( ELeave ) CLocSUPLSettingsUiEngine( aObserver );
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	return self; 
-	}	
-	
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsUiEngine::ConstructL
-// Second phase constructor.
-// ---------------------------------------------------------------------------	
-//
-void CLocSUPLSettingsUiEngine::ConstructL()
-	{ 
-	DEBUG( + CLocSUPLSettingsUiEngine::ConstructL );	
-    // Allocate the conversion buffers
-    iConversionBuffer = HBufC16::NewL( KMaxBufferLength );
-    iConversionBufferPtr.Set( iConversionBuffer->Des() );
-    
-    iSettingsBuffer = HBufC::NewL( KMaxBufferLength );
-    iSettingsBufferPtr.Set( iSettingsBuffer->Des());
-    
-    iTextResolver = CTextResolver::NewL( *( CCoeEnv::Static() ) );
-    
-    // Create the SUPL Settings API adapter. 
-    iSUPLSettingsAdapter = CLocSUPLSettingsAdapter::NewL( *this ); 
-    
-    CActiveScheduler::Add( this );
-	DEBUG( - CLocSUPLSettingsUiEngine::ConstructL );	
-     
-	}
-
-// ---------------------------------------------------------------------------	
-// void CLocSUPLSettingsUiEngine::Initalize
-// Initializes the Settings Engine. This is an asynchronous call the
-// completion of which is communicated through the observer
-// ---------------------------------------------------------------------------	
-//
-void CLocSUPLSettingsUiEngine::Initalize()
-    {
-	DEBUG( + CLocSUPLSettingsUiEngine::Initalize );	
-    iSUPLSettingsAdapter->Initialize();
-	DEBUG( - CLocSUPLSettingsUiEngine::Initalize );	
-    }
-            
-void CLocSUPLSettingsUiEngine::SelectConnectionL()
-    {
-	DEBUG( + CLocSUPLSettingsUiEngine::SelectConnectionL );	
-    if( iDialogActive || IsActive() || iConfirmQuery )
-        {
-        User::Leave( KErrInUse );
-        }
-        
-    // In the case of a framework launching SUPL UI, the user is ignorant 
-    // of the action. Hence, a confirmation dialog is popped up to intimate
-    // the user that he needs to configure SUPL settings.
-    
-    iConfirmQuery = CAknGlobalConfirmationQuery::NewL();
-
-    CAknSDData* secondaryData = CAknSDData::NewL( KCatUidLocationSuplSettingsUi,
-                                                  ECmdSuplSettingsMissing,
-                                                  KNullDesC8 );
- 
-    // Send the Confirmation query information to the Secondary display
-    // The ownership of 'secondaryData' is taken up by the Global confirmation query
-    iConfirmQuery->SetSecondaryDisplayData( secondaryData );
-     
-    // Load the SUPL IAP confirmation query prompt text from the resource file
-	HBufC* promptText = StringLoader::LoadL( R_LOC_SUPL_IAP_QUERY );
-		
-	// Display the Confirmation query.  
-    iConfirmQuery->ShowConfirmationQueryL( iStatus,
-                                           *promptText,
-                                           R_AVKON_SOFTKEYS_YES_NO__YES,
-                                           R_QGN_NOTE_QUERY_ANIM );
-                                               
-    SetActive();  
-    delete promptText; //    
-    promptText = NULL;
-	DEBUG( - CLocSUPLSettingsUiEngine::SelectConnectionL );	
-    }
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsUiEngine::LaunchApConfiguratorL
-// Launches the Access Point Configurator dialog
-//
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSettingsUiEngine::LaunchApConfiguratorL( TInt64 aSlpId, 
-		MSuplServerEditorObserver* aEditorObserver )
-    {     
-	DEBUG( + CLocSUPLSettingsUiEngine::LaunchApConfiguratorL );	
-	iCurrentSlpId =  aSlpId;
-	iEditorObserver = aEditorObserver;
-
-    if( iDialogActive )
-        {
-        User::Leave( KErrInUse );
-        }
-        
-    // Zeroing the Temporary buffers so that it doesn't contain any
-    // left over value from the previous access
-    iSettingsBufferPtr.Zero();
-    
-    // Obtain the UID for the selected Access point so that the configurator
-    // can be highlighted
-    TUint32 highlightUid( 0 );
-    
-    // if AP value is NULL, or zero, no temp AP, all previous changes have been frozen.
-    TInt32 tempAP = GetTempAPValue();
-    if ( tempAP == -1)
-        {
-        // Obtain the Server address value from the SUPL settings
-        // API. If the value is set then it has to be shown to the user
-        // as the existing value when he tries to configure the UI
-        TRAP_IGNORE( iSUPLSettingsAdapter->GetIapNameL( iCurrentSlpId, iSettingsBufferPtr ) );
-     
-        TRAPD( error, highlightUid = ConvertIAPNameToIdL( iSettingsBufferPtr ) ); 
-        
-        if( error == KErrNotFound )
-            {
-            highlightUid = 0;
-            }
-        }
-    else
-        {
-        highlightUid = tempAP;
-        }
-
- 	CCmApplicationSettingsUi* apHandler =  CCmApplicationSettingsUi::NewLC();
- 	
- 	iDialogActive = ETrue;
-    TBool ret = EFalse;
-    TCmSettingSelection selectionUid;
-    selectionUid.iId = highlightUid;
-    selectionUid.iResult = CMManager::EConnectionMethod ;
-    TBearerFilterArray filter;
-	CleanupClosePushL( filter );
-	
-	// Need access points for bearer type CSD and Packet data only
-	filter.AppendL( KUidCSDBearerType );
-	filter.AppendL( KUidPacketDataBearerType );
-
-	// Run CCmApplicationSettingsUi dialog only for Access points (Connection methods)
-	// selectionUid contains UID to be highlighted, on return it will contain UID of selected CM
-    TRAPD( error, ret = 
-    	apHandler->RunApplicationSettingsL( 
-    			selectionUid , CMManager::EShowConnectionMethods, filter 
-    ) ); // | CMManager::EShowAlwaysAsk
-    
-    iDialogActive = EFalse;  
-    if( error == CMManager::KErrConnectionNotFound )
-        {
-        // No AP defined, Show Note                
-        ShowNoteL();        
-        //User::Leave( error );    
-        }   
-    CleanupStack::PopAndDestroy( &filter );    
-    CleanupStack::PopAndDestroy( apHandler );   
-    
-    if( ret )
-        {
-        SetTempAPValue(selectionUid.iId);
-        RCmManager cmManager;
-		cmManager.OpenLC();
-	
-		RArray< TUint32 > cmArray;
-		HBufC* cmName = NULL;
-		RCmConnectionMethod method;
-		// Get all the CMs into cmArray
-		cmManager.ConnectionMethodL( cmArray, ETrue, EFalse );
-		CleanupClosePushL( cmArray );
-		
-		// Get name of selected CM
-		TInt count = cmArray.Count();
-		for ( TInt i = 0; i < count; i++ )
-		    {
-		    if (selectionUid.iId == cmArray[i] )
-		    	{
-		    	method = cmManager.ConnectionMethodL( cmArray[i] );
-		    	CleanupClosePushL( method );
-		    	cmName = method.GetStringAttributeL( CMManager::ECmName );
-		    	CleanupStack::PushL( cmName );
-		    	iSettingsBufferPtr.Copy( cmName->Des() );
-		    	CleanupStack::PopAndDestroy( cmName );
-		    	CleanupStack::PopAndDestroy( &method );
-		    	break;
-		    	}		    
-		    }
-		CleanupStack::PopAndDestroy( &cmArray );    
-    	CleanupStack::PopAndDestroy( &cmManager );          	
-
-		if( iEditorObserver )
-	       	{
-	       	iEditorObserver->UpdateIapL( iSettingsBufferPtr );		       	
-	       	}
-        }
-           
-	DEBUG( - CLocSUPLSettingsUiEngine::LaunchApConfiguratorL );	
-    }  
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsUiEngine::LaunchSuplUsageConfiguratorL
-// Launches the SUPL Usage Configurator
-//
-// ---------------------------------------------------------------------------    
-//
-void CLocSUPLSettingsUiEngine::LaunchSuplUsageConfiguratorL()
-    {
-	DEBUG( + CLocSUPLSettingsUiEngine::LaunchSuplUsageConfiguratorL );	
-    if( iDialogActive )
-        {
-        User::Leave( KErrInUse );
-        }
-        
-    // Allocate the descriptor array for Text settings for System
-    // of measurement
-    CDesCArrayFlat* items = new( ELeave ) CDesCArrayFlat( KNoofUsageSettings );
-    CleanupStack::PushL( items );
-
-    // Allocate all the Settings usage string
-    
-    // Append the radio-button list items
-    items->AppendL( iSUPLSettingsAdapter->Automatic() );
-    items->AppendL( iSUPLSettingsAdapter->AutomaticAtHome() );
-    items->AppendL( iSUPLSettingsAdapter->AlwaysAsk() );
-    items->AppendL( iSUPLSettingsAdapter->Disable() );
-      
-    // Obtain the current value for SUPL settings usage
-    // This would be used for setting the default value for 
-    // the text settings page               
-    TInt currentSettings = iSUPLSettingsAdapter->GetSuplUsageIndex();
-        
-    CAknRadioButtonSettingPage* dlg = 
-                        new ( ELeave )CAknRadioButtonSettingPage( R_LOC_SUPLUSAGE_SETTINGS,
-                                                                  currentSettings, 
-                                                                  items );
-    // Settings Outstanding flag is marked True to enable dismissal incase
-    // of a Cancel event                                                                  
-    iDialogActive = ETrue;                                                                  
-    if ( dlg->ExecuteLD( CAknSettingPage::EUpdateWhenChanged ) )
-        {
-        CLocSUPLSettingsAdapter::TLocSuplUsage newValue = 
-                    static_cast<CLocSUPLSettingsAdapter::TLocSuplUsage>( currentSettings );
-                    
-        iSUPLSettingsAdapter->SetSuplUsageL( newValue );
-        }
-    
-    iDialogActive = EFalse;           
-    
-    // Free the items resource
-    CleanupStack::PopAndDestroy( items );   
-	DEBUG( - CLocSUPLSettingsUiEngine::LaunchSuplUsageConfiguratorL );	
-    }
-    
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsUiEngine::Close
-// Closes the running Settings UI prematurely.
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSettingsUiEngine::Close()
-    {
-	DEBUG( + CLocSUPLSettingsUiEngine::Close );	
-    Cancel();   
-    
-    // Cancel the Initalization request. This call Cancels if there is an 
-    // outstanding request. If not, does nothing
-    iSUPLSettingsAdapter->CancelInitialize();
-     
-    // If any of the dialogs are active then issue a cancel event on the 
-    // dialogs
-    if( iDialogActive )
-        {
-        TKeyEvent   keyEvent;
-        keyEvent.iCode          = EKeyCBA2;
-        keyEvent.iScanCode      = EStdKeyDevice1;         
-        keyEvent.iModifiers     = EAllModifiers;
-        keyEvent.iRepeats       = 0;
-        CCoeEnv* cCoeEnv = CCoeEnv::Static();
-        
-        // Simulate a Cancel event on the running dialogs. The Simulated event
-        // is for the Left Soft Key.
-        // Ignore the error incase of a leave
-        
-        TRAP_IGNORE( cCoeEnv->SimulateKeyEventL( keyEvent, EEventKey ) );
-        }      
-	DEBUG( - CLocSUPLSettingsUiEngine::Close );	
-    }
-
-// ---------------------------------------------------------------------------
-// TPtr16 CLocSUPLSettingsAdapter::GetSuplUsage
-// ---------------------------------------------------------------------------
-//  
-TPtr16 CLocSUPLSettingsUiEngine::GetSuplUsageL()
-    {
-	DEBUG( + CLocSUPLSettingsUiEngine::GetSuplUsageL );	
-    // Zeroing the Temporary buffers so that it doesn't contain any
-    // left over value from the previous access
-    iSettingsBufferPtr.Zero();
-    iConversionBufferPtr.Zero();
-    
-    // Obtain the Settings values from the SUPL settings API
-    iSUPLSettingsAdapter->GetSuplUsageL( iSettingsBufferPtr );
-    iConversionBufferPtr.Copy( iSettingsBufferPtr );
-	DEBUG( - CLocSUPLSettingsUiEngine::GetSuplUsageL );	
-    return iConversionBufferPtr;
-    }
-    
-// ---------------------------------------------------------------------------
-// TInt CLocSUPLSettingsAdapter::GetSuplUsage
-// ---------------------------------------------------------------------------
-//
-TInt CLocSUPLSettingsUiEngine::GetSuplUsage()
-    {
-    return iSUPLSettingsAdapter->GetSuplUsage();
-    }
-            				
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsUiEngine::HandleSuplSettingsChangeL
-// Inherited from MLocSUPLSettingsAdapterObserver
-// 
-// ---------------------------------------------------------------------------		 		                                                    
-//
-void CLocSUPLSettingsUiEngine::HandleSuplSettingsChangeL( 
-                                    TLocSUPLSettingsEvent aEvent )
-    {
-	DEBUG( + CLocSUPLSettingsUiEngine::HandleSuplSettingsChangeL );	
-    iObserver.HandleSettingsEventL( 
-        static_cast< MLocSUPLSettingsUiEngObserver::TSettingsEventType >( aEvent ) );		
-	DEBUG( - CLocSUPLSettingsUiEngine::HandleSuplSettingsChangeL );	
-    }
-                                       
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsUiEngine::RunL()
-//
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSettingsUiEngine::RunL()
-    {    
-	DEBUG( + CLocSUPLSettingsUiEngine::RunL );	
-    // If the Confirmation query is present then we have to Pop up the 
-    // IAP Selection dialog based on User Action
-    if( iConfirmQuery )
-        {        
-        // Incase there has been a response from the User then the Key pressed
-        // is present in the iStatus variable 
-        if( EAknSoftkeyYes == iStatus.Int() )
-            {
-	        iObserver.HandleSettingsEventL( 
-	                MLocSUPLSettingsUiEngObserver::EIAPSelectionComplete );                       
-            }
-        else
-            {
-            iObserver.HandleSettingsEventL( 
-                    MLocSUPLSettingsUiEngObserver::EIAPSelectionCancelled );
-            }
-        
-        // Destroy the IAP confirmation query handle    
-        delete iConfirmQuery;
-        iConfirmQuery = NULL;
-        }
-	DEBUG( - CLocSUPLSettingsUiEngine::RunL );	
-    }
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsUiEngine::DoCancel()
-//
-// ---------------------------------------------------------------------------
-//    
-void CLocSUPLSettingsUiEngine::DoCancel()    
-    {
-	DEBUG( + CLocSUPLSettingsUiEngine::DoCancel );	
-    if( iConfirmQuery )
-        {
-        // If the confirmation query is running Cancel the query
-        iConfirmQuery->CancelConfirmationQuery();
-        
-        delete iConfirmQuery;
-        iConfirmQuery = NULL;
-        
-        }
-	DEBUG( - CLocSUPLSettingsUiEngine::DoCancel );	
-    }
-
-// ---------------------------------------------------------------------------
-// TUint CLocSUPLSettingsUiEngine::ConvertIAPNameToIdL()
-// Obtains the index UID corresponding to the Access point name
-// 
-// @param   aIAPName     Access point name
-// @return  TUint       UID corresponding to the AP Name. Zero if 
-//                      the name does not exist
-// ---------------------------------------------------------------------------
-//
-TUint CLocSUPLSettingsUiEngine::ConvertIAPNameToIdL( const TDesC& aIAPName )
-    {
-	DEBUG( + CLocSUPLSettingsUiEngine::ConvertIAPNameToIdL );	
-    TUint32 idVal = 0;
-    
-    RCmManager cmManager;
-
-	cmManager.OpenLC();
-	
-	RArray< TUint32 > cmArray;	
-	HBufC* name = NULL;
-	RCmConnectionMethod method;
-	// Get all the CMs into cmArray
-	cmManager.ConnectionMethodL( cmArray, ETrue, EFalse );
-	CleanupClosePushL( cmArray );
-	
-	TInt count = cmArray.Count();
-	if( !count )
-        {
-        // No CM found
-        User::Leave( KErrNotFound );
-        }
-    // Get uid for CM name       
-	for ( TInt i = 0; i < count; i++ )
-        {
-        method = cmManager.ConnectionMethodL( cmArray[i] );
-        CleanupClosePushL( method );
-        name = method.GetStringAttributeL( CMManager::ECmName );
-        CleanupStack::PushL( name );
-        if (! aIAPName.Compare( name->Des() ))
-            {
-            idVal = cmArray[i];                               
-            CleanupStack::PopAndDestroy( name );
-            CleanupStack::PopAndDestroy( &method );
-            break; 
-            }
-        CleanupStack::PopAndDestroy( name );     
-        CleanupStack::PopAndDestroy( &method );   
-        }
-    CleanupStack::PopAndDestroy( &cmArray );    
-	CleanupStack::PopAndDestroy( &cmManager ); 
-    
-    if( !idVal )
-        {
-        User::Leave( KErrBadName );
-        }    
-	DEBUG( - CLocSUPLSettingsUiEngine::ConvertIAPNameToIdL );	
-    return idVal;
-    }
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsUiEngine::DisplayErrorL()
-// Displays an Error note
-//
-// @param aError Error ID
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSettingsUiEngine::DisplayErrorL( TInt aError )
-    {
-	DEBUG( + CLocSUPLSettingsUiEngine::DisplayErrorL );	
-    // Show Error Note
-    TPtrC buffer = iTextResolver->ResolveErrorString( aError );
-    CAknErrorNote* errorNote = new ( ELeave ) CAknErrorNote;
-    TRAP_IGNORE( errorNote->ExecuteLD( buffer ) );
-	DEBUG( - CLocSUPLSettingsUiEngine::DisplayErrorL );	
-    }
-    
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsUiEngine::ShowNoteL()
-// Displays No access point defined note
-//
-// @param None
-// ---------------------------------------------------------------------------
-//
-TInt CLocSUPLSettingsUiEngine::ShowNoteL()
-    {
-	DEBUG( + CLocSUPLSettingsUiEngine::ShowNoteL );	
-    // Show Info Note "No Access Points Defined"       
-    HBufC* tmp = StringLoader::LoadL( R_LOC_NO_AP_DEFINED );
-    CleanupStack::PushL( tmp );    
-    CAknNoteDialog* dlg =
-        new ( ELeave ) CAknNoteDialog
-                (
-                 REINTERPRET_CAST( CEikDialog**, &dlg ),
-                 CAknNoteDialog::ENoTone,
-                 CAknNoteDialog::EShortTimeout
-                );
-    dlg->PrepareLC( R_GENERAL_NOTE );  
-    dlg->SetTextL( *tmp );
-    TInt retval = dlg->RunLD();
-    CleanupStack::PopAndDestroy( tmp );  // temp    
-	DEBUG( - CLocSUPLSettingsUiEngine::ShowNoteL );	
-    return retval;
-    }
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsUiEngine::EditServerL()
-// Displays No access point defined note
-//
-// @param iIsEditable
-// @param aSlpId
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSettingsUiEngine::EditServerL( TBool iIsEditable, TInt64 aSlpId )
-    {
-	DEBUG( + CLocSUPLSettingsUiEngine::EditServerL );		
-	if( iEditorDlg )
-		{		
-		delete iEditorDlg;
-		iEditorDlg = NULL;
-		}
-    iEditorDlg = CLocSUPLServerEditor::NewL( iIsEditable, *this, aSlpId );
-    TInt error = iEditorDlg->ExecuteLD();
-    if ( EEikCmdExit == error )
-        {
-        ( ( CAknViewAppUi* ) CEikonEnv::Static()->EikAppUi())->HandleCommandL( EEikCmdExit );
-        }        
-    iEditorDlg = NULL;                     	
-    
-	DEBUG( - CLocSUPLSettingsUiEngine::EditServerL );	
-    }
-    
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsUiEngine::SlpCount()
-// returns total no of slp entries
-//
-// ---------------------------------------------------------------------------
-//    
-TInt CLocSUPLSettingsUiEngine::SlpCount()
-	{
-	TInt slpCount = 0;
-	TRAP_IGNORE( iSUPLSettingsAdapter->SlpCountL( slpCount ) );
-	return slpCount;
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsUiEngine::AddNewServerL()
-// Method to add new server entry to SUPL settings with server attributes 
-//
-// ---------------------------------------------------------------------------
-//    
-void CLocSUPLSettingsUiEngine::AddNewServerL( 
-        const TDesC& aServerAddress,
-        const TDesC& aIapName,
-        const TBool aUsageInHomeNw
-        )
-    {
-	DEBUG( + CLocSUPLSettingsUiEngine::AddNewServerL );	
-    iSUPLSettingsAdapter->AddNewServerL( 
-    				aServerAddress, 
-    				aIapName, 
-    				aUsageInHomeNw );
- 	DEBUG( - CLocSUPLSettingsUiEngine::AddNewServerL );	
- 	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsUiEngine::RemoveServerL
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsUiEngine::RemoveServerL(
-		const TInt64 aSlpId
-		)
-	{
-	DEBUG( + CLocSUPLSettingsUiEngine::RemoveServerL );	
-	iSUPLSettingsAdapter->RemoveServerL( aSlpId );
-	DEBUG( - CLocSUPLSettingsUiEngine::RemoveServerL );	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsUiEngine::ChangePriorityL
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsUiEngine::ChangePriorityL(
-        TInt64 aSlpId, 
-        TInt aPriority,
-        TBool aDirection
-		)
-	{
-	DEBUG( + CLocSUPLSettingsUiEngine::ChangePriorityL );	
-	iSUPLSettingsAdapter->ChangePriorityL( aSlpId, aPriority, aDirection );		
-	DEBUG( - CLocSUPLSettingsUiEngine::ChangePriorityL );	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsUiEngine::GetAllSlpL
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsUiEngine::GetAllSlpL(
-        RPointerArray<CServerParams>& aParamValues
-		) const
-	{
-	DEBUG( + CLocSUPLSettingsUiEngine::GetAllSlpL );	
-	iSUPLSettingsAdapter->GetAllSlpL( aParamValues ) ;
-	DEBUG( - CLocSUPLSettingsUiEngine::GetAllSlpL );	
-	}
-	
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsUiEngine::GetSlpInfoFromIdL
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsUiEngine::GetSlpInfoFromIdL(
-	            const TInt64 aSlpId, 
-	            CServerParams *aParamValues
-	    ) const
-	{
-	DEBUG( + CLocSUPLSettingsUiEngine::GetSlpInfoFromIdL );	
-	iSUPLSettingsAdapter->GetSlpInfoFromIdL( aSlpId, aParamValues ) ;	
-	DEBUG( - CLocSUPLSettingsUiEngine::GetSlpInfoFromIdL );	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsUiEngine::SetServerAddressL
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsUiEngine::SetServerAddressL(
-	            const TInt64 aSlpId, 
-	            const TDesC& aServerAddress
-	    ) 
-	{
-	DEBUG( + CLocSUPLSettingsUiEngine::SetServerAddressL );	
-	iSUPLSettingsAdapter->SetServerAddressL( aSlpId, aServerAddress ) ;	
-	DEBUG( - CLocSUPLSettingsUiEngine::SetServerAddressL );	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsUiEngine::GetServerAddressL
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsUiEngine::GetServerAddressL( 
-        TInt64 aSlpId, 
-        TDes& aServerAddress
-		) const
-	{
-	DEBUG( + CLocSUPLSettingsUiEngine::GetServerAddressL );	
-	iSUPLSettingsAdapter->GetServerAddressL( aSlpId, aServerAddress );	
-	DEBUG( - CLocSUPLSettingsUiEngine::GetServerAddressL );	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsUiEngine::SetIapNameL
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsUiEngine::SetIapNameL(
-	            const TInt64 aSlpId, 
-	            const TDesC& aIapName
-	    ) 
-	{
-	DEBUG( + CLocSUPLSettingsUiEngine::SetIapNameL );	
-	iSUPLSettingsAdapter->SetIapNameL( aSlpId, aIapName ) ;	
-	DEBUG( - CLocSUPLSettingsUiEngine::SetIapNameL );	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsUiEngine::SetServerEnabledFlagL
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsUiEngine::SetServerEnabledFlagL(
-	            const TInt64 aSlpId, 
-	            const TBool aEnable 
-	    ) const
-	{
-	DEBUG( + CLocSUPLSettingsUiEngine::SetServerEnabledFlagL );	
-	iSUPLSettingsAdapter->SetServerEnabledFlagL( aSlpId, aEnable ) ;	
-	DEBUG( - CLocSUPLSettingsUiEngine::SetServerEnabledFlagL );	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsUiEngine::GetServerEnabledFlagL
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsUiEngine::GetServerEnabledFlagL(
-        const TInt64 aSlpId, 
-        TBool& aEnable 
-		) const
-	{
-	DEBUG( + CLocSUPLSettingsUiEngine::GetServerEnabledFlagL );	
-	iSUPLSettingsAdapter->GetServerEnabledFlagL( aSlpId, aEnable );	
-	DEBUG( - CLocSUPLSettingsUiEngine::GetServerEnabledFlagL );	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsUiEngine::SetUsageInHomwNwFlagL
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsUiEngine::SetUsageInHomwNwFlagL(
-	            const TInt64 aSlpId, 
-	            const TBool aHomeNwFlag 
-	    ) 
-	{
-	DEBUG( + CLocSUPLSettingsUiEngine::SetUsageInHomwNwFlagL );	
-	iSUPLSettingsAdapter->SetUsageInHomwNwFlagL( aSlpId, aHomeNwFlag ) ;	
-	DEBUG( - CLocSUPLSettingsUiEngine::SetUsageInHomwNwFlagL );	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsUiEngine::SetEditableFlagL
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsUiEngine::SetEditableFlagL( 
-	            const TInt64 aSlpId, 
-	            const TBool aEditFlag 
-	    ) const
-	{
-	DEBUG( + CLocSUPLSettingsUiEngine::SetEditableFlagL );	
-	iSUPLSettingsAdapter->SetEditableFlagL( aSlpId, aEditFlag );
-	DEBUG( - CLocSUPLSettingsUiEngine::SetEditableFlagL );	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsUiEngine::GetEditableFlagL
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsUiEngine::GetEditableFlagL(
-	            const TInt64 aSlpId, 
-	            TBool& aEditFlag 
-	    ) const
-	{
-	DEBUG( + CLocSUPLSettingsUiEngine::GetEditableFlagL );	
-	iSUPLSettingsAdapter->GetEditableFlagL( aSlpId, aEditFlag ) ;	
-	DEBUG( - CLocSUPLSettingsUiEngine::GetEditableFlagL );	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsUiEngine::GetActiveSessionsCountL
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSettingsUiEngine::GetActiveSessionsCountL( TInt& aAccessPointCount )
-    {
-    DEBUG( + CLocSUPLSettingsUiEngine::GetActiveSessionsCountL );
-    iSUPLSettingsAdapter->GetActiveSessionsCountL( aAccessPointCount );
-    DEBUG( - CLocSUPLSettingsUiEngine::GetActiveSessionsCountL );	
-    }
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsUiEngine::GetTriggerParamsL
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsUiEngine::GetTriggerParamsL(
-        RPointerArray<CTriggerParams>& aParamValues
-		) const
-	{
-	DEBUG( + CLocSUPLSettingsUiEngine::GetTriggerParamsL );	
-	iSUPLSettingsAdapter->GetTriggerParamsL( aParamValues ) ;
-	DEBUG( - CLocSUPLSettingsUiEngine::GetTriggerParamsL );	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsUiEngine::GetTriggerParamsL
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsUiEngine::GetTriggerParamsL(  TInt64 aSessionId, 
-        CTriggerParams*& aTrigger
-		) const
-	{
-	DEBUG( + CLocSUPLSettingsUiEngine::GetTriggerParamsL );	
-	iSUPLSettingsAdapter->GetTriggerParamsL( aSessionId, aTrigger ) ;
-	DEBUG( - CLocSUPLSettingsUiEngine::GetTriggerParamsL );	
-	}
-	
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsUiEngine::OpenSessionL
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsUiEngine::OpenSessionL( TInt64 aSessionId )
-	{
-	DEBUG( + CLocSUPLSettingsUiEngine::OpenSessionL );
-	
-	CLocSUPLSessionEditor* form = CLocSUPLSessionEditor::NewL( *this, aSessionId );  
-	TInt error = form->ExecuteLD( ); 
-    if ( EEikCmdExit == error )
-        {
-        ( ( CAknViewAppUi* ) CEikonEnv::Static()->EikAppUi())->HandleCommandL( EEikCmdExit );
-        }                       	
-    
-	DEBUG( - CLocSUPLSettingsUiEngine::OpenSessionL );	
-	}
-	
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsUiEngine::ChangeNotificationStatusL
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsUiEngine::ChangeNotificationStatusL( TInt64 aSessionId, TBool aTriggerNotificationStatus ) const
-	{
-	DEBUG( + CLocSUPLSettingsUiEngine::ChangeNotificationStatusL );	
-	iSUPLSettingsAdapter->ChangeNotificationStatusL( aSessionId, aTriggerNotificationStatus ) ;
-	DEBUG( - CLocSUPLSettingsUiEngine::ChangeNotificationStatusL );	
-	}
-	
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsUiEngine::RemoveTriggerSessionL
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsUiEngine::RemoveTriggerSessionL( TInt64 aSessionId ) const
-	{
-	DEBUG( + CLocSUPLSettingsUiEngine::RemoveTriggerSessionL );	
-	iSUPLSettingsAdapter->RemoveTriggerSessionL( aSessionId ) ;
-	DEBUG( - CLocSUPLSettingsUiEngine::RemoveTriggerSessionL );	
-	}
-	
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsUiEngine::RemoveTriggerSessionsL
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsUiEngine::RemoveTriggerSessionsL( RArray< TInt64 >& aSessionIdList ) const
-	{
-	DEBUG( + CLocSUPLSettingsUiEngine::RemoveTriggerSessionsL );	
-	for( TInt i=0; i<aSessionIdList.Count(); i++ )
-		{
-		iSUPLSettingsAdapter->RemoveTriggerSessionL( aSessionIdList[i] ) ;
-		}
-	DEBUG( - CLocSUPLSettingsUiEngine::RemoveTriggerSessionsL );	
-	}
-	
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsUiEngine::RemoveAllTriggerSessionsL
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsUiEngine::RemoveAllTriggerSessionsL( ) const
-	{
-	DEBUG( + CLocSUPLSettingsUiEngine::RemoveAllTriggerSessionsL );	
-	RPointerArray<CTriggerParams> paramValues;
-	CleanupClosePushL( paramValues );
-	
-	iSUPLSettingsAdapter->GetTriggerParamsL( paramValues ) ;
-	
-	for( TInt i=0; i<paramValues.Count(); i++ )
-		{
-        TInt64 sessionId;
-        TUint64 outstandingTrigger;
-        TUint64 interval;
-        TBool notificationPresent;
-        TBool triggerNotificationStatus;  
-        CTriggerParams::TTriggerType triggerType; 
-        CTriggerParams::TRequestType requestType;
-        HBufC* sessionName = HBufC::NewLC( KMaxTriggerSessionNameLen ); 
-                
-        TInt errParams = paramValues[i]->Get(
-    							sessionId, 
-    							sessionName->Des(), 
-    							notificationPresent, 
-    							triggerNotificationStatus, 
-    							triggerType,
-    							requestType, 
-    							outstandingTrigger, 
-    							interval);
-		iSUPLSettingsAdapter->RemoveTriggerSessionL( sessionId ) ;
-		
-		CleanupStack::PopAndDestroy( sessionName );
-		}
-		
-    paramValues.ResetAndDestroy();
-	CleanupStack::PopAndDestroy( &paramValues ); // paramValues
-	DEBUG( - CLocSUPLSettingsUiEngine::RemoveAllTriggerSessionsL );	
-	}
-	
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsUiEngine::SetSessionObserver
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsUiEngine::SetSessionObserver( MLocSUPLSettingsSessionObserver* aObserver ) const
-	{
-	iSUPLSettingsAdapter->SetSessionObserver( aObserver );
-	}
-	
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsUiEngine::RemoveSessionObserver
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsUiEngine::RemoveSessionObserver( ) const
-	{
-	iSUPLSettingsAdapter->RemoveSessionObserver( );
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsUiEngine::GetTempAPValue
-// ---------------------------------------------------------------------------
-// 
-TUint32 CLocSUPLSettingsUiEngine::GetTempAPValue()
-    {
-    return iTempAP;
-    }
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsUiEngine::SetTempAPValue
-// ---------------------------------------------------------------------------
-// 
-void CLocSUPLSettingsUiEngine::SetTempAPValue( TUint32 aAccessPoint)
-    {
-    iTempAP = aAccessPoint;
-    }
-
-// End of File
--- a/locationsystemui/locationsysui/locsuplsettingsui/src/locsuplsettingsview.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,551 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Source file for SUPL Settings UI view
-*
-*/
-
-
-// System Include
-#include <barsread.h> 		                // For TResourceReader
-#include <bautils.h>
-#include <StringLoader.h>
-#include <aknViewAppUi.h>
-#include <locsuplsettingsui.rsg>
-#include <avkon.rsg>
-#include <hlplch.h>			                // Help
-#include <featmgr.h> 						// FeatureManager
-#include <eikmenup.h>						// Menu pane
-#include <eikmenub.h>						// Menu Bar
-#include <AknQueryDialog.h> 
-
-// User Include
-#include "locsuplsettings.hrh"
-#include "locsuplsettingsview.h"
-#include "locsuplsettingscontainer.h"
-#include "locsettingsui.h"
-#include "locsupldebug.h"
-#include "locsuplserverview.h"
-#include "locsuplsessionview.h"
-#include "locsuplsettingsuiengine.h"
-
-// ========================= MEMBER FUNCTIONS ================================
-
-
-// ---------------------------------------------------------------------------
-// CLocSUPLSettingsView::CLocSUPLSettingsView
-// Overloaded Constructor
-//
-// ---------------------------------------------------------------------------
-//	
-CLocSUPLSettingsView::CLocSUPLSettingsView( 
-                              CLocSUPLSettingsUiEngine&     aEngine,
-		 					  MLocSUPLSettingsEventHandler&	aEventHandler )
-	:iEventHandler( aEventHandler ),
-	iEngine( aEngine ) 
-	{
-	}
-
-// ---------------------------------------------------------------------------
-// CLocSUPLSettingsView::~CLocSUPLSettingsView
-// Destructor
-//
-// ---------------------------------------------------------------------------
-//
-CLocSUPLSettingsView::~CLocSUPLSettingsView()
-	{
-	DEBUG( + CLocSUPLSettingsView::~CLocSUPLSettingsView );	
-    if ( iContainer )
-        {
-        AppUi()->RemoveFromViewStack( *this, iContainer );
-        }
-
-    delete iContainer;
-    iContainer = NULL;
-	DEBUG( - CLocSUPLSettingsView::~CLocSUPLSettingsView );	
-	}
-	
-// ---------------------------------------------------------------------------
-// CLocSUPLSettingsView* CLocSUPLSettingsView::NewL
-// Creates new Location Sys Ui plugin.
-//
-// @param aEngine               Reference to the SUPL Settings
-//                              engine          
-// @param aEventHandler		    Pointer to the Event Handler
-// @return CAknViewAppUi&		Reference to the application view
-// ---------------------------------------------------------------------------
-//    
-CLocSUPLSettingsView* CLocSUPLSettingsView::NewL( 
-                              CLocSUPLSettingsUiEngine&     aEngine,
-		 					  MLocSUPLSettingsEventHandler&	aEventHandler )
-	{	
-	DEBUG( + CLocSUPLSettingsView::NewL );	
-    CLocSUPLSettingsView* self = NewLC( aEngine, aEventHandler );
-	CleanupStack::Pop( self );
-	DEBUG( - CLocSUPLSettingsView::NewL );	
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// CLocSUPLSettingsView* CLocSUPLSettingsView::NewLC
-// Creates new Location Sys Ui plugin.
-//
-// @param aEngine               Reference to the SUPL Settings
-//                              engine          
-// @param aEventHandler		    Pointer to the Event Handler
-// @return CAknViewAppUi&		Reference to the application view
-// ---------------------------------------------------------------------------
-//    
-CLocSUPLSettingsView* CLocSUPLSettingsView::NewLC( 
-                              CLocSUPLSettingsUiEngine&     aEngine,
-		 					  MLocSUPLSettingsEventHandler&	aEventHandler )
-	{	
-    CLocSUPLSettingsView* self = 
-                new( ELeave ) CLocSUPLSettingsView( aEngine,                          
-    										        aEventHandler );
-	CleanupStack::PushL(self);
-	self->ConstructL();
-	return self;
-	}
-	
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsView::ConstructL
-// Second Phase Constructor
-//
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSettingsView::ConstructL()
-	{   	
-	DEBUG( + CLocSUPLSettingsView::ConstructL );	
-	// Call AknView's BaseConstrutL
-	BaseConstructL( R_SUPLSETTINGS_VIEW );	 
-	DEBUG( - CLocSUPLSettingsView::ConstructL );	
-	}
-
-// -----------------------------------------------------------------------------
-// CLocSUPLSettingsView::HandleScreenSizeChange
-// -----------------------------------------------------------------------------
-//
-void CLocSUPLSettingsView::HandleScreenSizeChange() 
-	{
-	DEBUG( + CLocSUPLSettingsView::HandleScreenSizeChange );	
-	if( iContainer )
-		{
-		iContainer->SetRect( ClientRect());		
-		}
-	DEBUG( - CLocSUPLSettingsView::HandleScreenSizeChange );	
-	}
-
-// -----------------------------------------------------------------------------
-// CLocSUPLSettingsView::UpdateView
-// -----------------------------------------------------------------------------
-//	
-void CLocSUPLSettingsView::UpdateView()
-    {
-	DEBUG( + CLocSUPLSettingsView::UpdateView );	
-    if( iContainer )
-		{
-		iContainer->UpdateScreen();		
-		}
-	  TRAP_IGNORE( ChangeMSKL() );		
-	DEBUG( - CLocSUPLSettingsView::UpdateView );	
-    }
-
-// -----------------------------------------------------------------------------
-// CLocSUPLSettingsView::StartedFromAppServer
-// -----------------------------------------------------------------------------
-//
-void CLocSUPLSettingsView::StartedFromAppServer()
-    {
-	DEBUG( + CLocSUPLSettingsView::StartedFromAppServer );	
-    iStartedFromServer = ETrue;
-	DEBUG( - CLocSUPLSettingsView::StartedFromAppServer );	
-    }
-
-// -----------------------------------------------------------------------------
-// CLocSUPLSettingsView::SwitchedFromServerView
-// -----------------------------------------------------------------------------
-//
-void CLocSUPLSettingsView::Reset()
-    {
-	DEBUG( + CLocSUPLSettingsView::Reset );	
-    iViewLaunched = 0;
-    StopDisplayingMenuBar();
-	DEBUG( - CLocSUPLSettingsView::Reset );	
-    }
-    
-// -----------------------------------------------------------------------------
-// TInt CLocSUPLSettingsView::SelectedItemIndex
-// Returns the Selected element. The list box model defines the enumeration that
-// would determine the current element that has been selected
-//
-// @return TInt Index of the item selected
-// -----------------------------------------------------------------------------
-//
-TInt CLocSUPLSettingsView::SelectedItemIndex()
-    {
-	DEBUG( CLocSUPLSettingsView::SelectedItemIndex );	
-    if( iContainer )
-        {
-        DEBUG1( CLocSUPLSettingsView::SelectedItemIndex =%d, iContainer->SelectedItemIndex() );	
-        return iContainer->SelectedItemIndex();
-        }
-    else
-        {
-        return KErrNotFound;
-        }	
-    }    
-    
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsView::DoActivateL
-// 
-// ---------------------------------------------------------------------------	
-//
-void CLocSUPLSettingsView::DoActivateL( const TVwsViewId& 	/* PrevViewId*/,
-											   TUid		   	/* aCustomMessageId*/,
-						  				 const TDesC8&		/* aCustomMessage */)
-	{
-	DEBUG( + CLocSUPLSettingsView::DoActivateL );	
-	// Destroy the existing container
-	if( iContainer )
-        {
-        AppUi()->RemoveFromViewStack( *this, iContainer );
-        delete iContainer;
-        iContainer=NULL;
-        }						
-    
-    // Create new Container	
-	iContainer = CLocSUPLSettingsContainer::NewL( ClientRect(), 
-	                                              iEngine,
-	                                              *this );
-	iContainer->SetMopParent( this );
-	AppUi()->AddToViewStackL( *this, iContainer );
-	
-	if ( iStartedFromServer )
-	    {
-	    MenuBar()->SetMenuType( CEikMenuBar::EMenuOptionsNoTaskSwapper );
-	    }
-	
-	if( iViewLaunched )
-        {
-        iContainer->FocusToItemL(	iViewLaunched );
-        iViewLaunched = 0;
-        }
-	iContainer->DrawNow();
-	ChangeMSKL();
-	DEBUG( - CLocSUPLSettingsView::DoActivateL );	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocationSystemUiView::DoDeactivate
-//
-// ---------------------------------------------------------------------------
-//		
-void CLocSUPLSettingsView::DoDeactivate()
-	{
-	DEBUG( + CLocSUPLSettingsView::DoDeactivate );	
-	// Destroy Container
-	if ( iContainer )
-        {
-        AppUi()->RemoveFromViewStack( *this, iContainer );
-        delete iContainer;
-        iContainer = NULL;
-        }
-	DEBUG( - CLocSUPLSettingsView::DoDeactivate );	
-	}
-
-// ---------------------------------------------------------------------------
-// TUid CLocSUPLSettingsView::Id
-// Returns the View Id. Should be chosen to reflect the Implementation UID 
-// of the Plugin
-//
-// @return TUid The View Id
-// ---------------------------------------------------------------------------
-//	
-TUid CLocSUPLSettingsView::Id() const
-	{
-	return KLocSUPLSettingsUiViewId;
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsView::HandleCommandL
-//
-// ---------------------------------------------------------------------------
-//	
-void CLocSUPLSettingsView::HandleCommandL(TInt aCommand)	
-	{
-	DEBUG( + CLocSUPLSettingsView::HandleCommandL );	
-	switch ( aCommand )
-        {
-		case ELocSuplOpenChange:
-			{
-			ChangeMSKL();
-			break;
-			}        
-        // Handle all the internal view specific commands here
-        case ELocSuplChange:
-        case ELocSuplMSKChange:
-            {
-            // Launch the SUPL Settings usage configurator.
-            // The error code is ignored since the necessary UI 
-            // notification would be convveyed by the Engine
-            TRAP_IGNORE( iEngine.LaunchSuplUsageConfiguratorL() );
-            break;
-            }
-    	case ELocSuplOpen:
-    	case ELocSuplMSKOpen:
-            {
-            TInt index = SelectedItemIndex();
-            switch( index )
-    	    {
-		      case 1:
-			    {      
-                // Launch the Supl Server List.
-                // The error code is ignored since the necessary UI 
-                // notification would be convveyed by the Engine
-                iViewLaunched = 1;
-                TRAP_IGNORE( AppUi()->ActivateLocalViewL ( KLocSUPLServerUiViewId ) );
-                break; 
-                }
-             case 2:
-                {
-                TInt sessionCount = iContainer->ActiveSessionCount();
-                if( sessionCount )
-                  {
-                  iViewLaunched = 2;
-                  // Launch the Supl sessions view.
-                  TRAP_IGNORE( AppUi()->ActivateLocalViewL ( KLocSUPLSessionUiViewId ) );
-                  }
-                  break;
-                }
-             default:
-			    break; 
-            }
-            break;   
-            } 
-        case ELocSuplClearSession:
-        case ELocSuplClearSessions:
-            {
-			if( iContainer->ActiveSessionCount() && DeletionConfirmationQueryL() )
-				{
-	            TRAP_IGNORE( iEngine.RemoveAllTriggerSessionsL( ) ); 
-	            ChangeMSKL();  
-				}
-            break;    
-            }
-		case ELocSuplMSKNo:
-			{
-			break;
-			}
-        case EAknCmdHelp:
-        	{
-           	HlpLauncher::LaunchHelpApplicationL( iCoeEnv->WsSession(),
-           										 AppUi()->AppHelpContextL());
-        	break;	
-        	}
-        case EAknCmdExit:
-        case EEikCmdExit:
-            {
-            // The Exit command has to be transferred back to the application
-            iEventHandler.HandleCommandL( EEikCmdExit );
-            break;    
-            }
-        case EAknSoftkeyBack:
-            {
-            // Back command is left to the Settings UI which is the command handler 
-            // in this case to handle
-            iEventHandler.HandleCommandL( EAknSoftkeyBack );
-            break;    
-            }
-        default:
-    	    {
-    	    // View Switiching, View closure and other external
-    	    // view related and AppUi related commands
-    	    iEventHandler.HandleCommandL( aCommand );
-            break;	
-    	    }
-        }
-	DEBUG( - CLocSUPLSettingsView::HandleCommandL );	
-	}
-
-// -----------------------------------------------------------------------------
-// CLocSUPLSettingsView::ChangeMSKL
-// -----------------------------------------------------------------------------
-//
-void CLocSUPLSettingsView::ChangeMSKL() 
-	{
-	DEBUG( + CLocSUPLSettingsView::ChangeMSKL );	
-	// Listbox takes all event even if it doesn't use them	
-    if( !Cba() || !iContainer )
-	    {
-	   	return;
-	    }
-	
-    TInt index = SelectedItemIndex();
-	TInt sessionCount = iContainer->ActiveSessionCount();
-    switch( index )
-    	{
-		case 0:
-			{
-			TRAP_IGNORE( 
-				Cba()->SetCommandSetL ( R_SUPLSETTINGS_OPTIONS_CHANGE_BACK ) ); 
-			break;
-			}
-		case 1:
-			{
-			TRAP_IGNORE( 
-				Cba()->SetCommandSetL ( R_SUPLSETTINGS_OPTIONS_OPEN_BACK ) ); 
-			break;
-			}
-		default:
-			{
-			if( sessionCount )
-				{
-				TRAP_IGNORE( 
-					Cba()->SetCommandSetL ( R_SUPLSETTINGS_OPTIONS_OPEN_BACK ) ); 
-				}
-			else
-				{
-				TRAP_IGNORE( 
-					Cba()->SetCommandSetL ( R_SUPLSETTINGS_OPTIONS_NOMSK_BACK ) ); 
-				}
-			break;
-			}   		
-    	}    	
-	Cba()->DrawDeferred();  	
-	DEBUG( - CLocSUPLSettingsView::ChangeMSKL );	
-	}
-
-// -----------------------------------------------------------------------------
-// CLocSUPLSettingsView::DynInitMenuPaneL
-// -----------------------------------------------------------------------------
-void CLocSUPLSettingsView::DynInitMenuPaneL( TInt          aResourceId, 
-                                             CEikMenuPane* aMenuPane )
-    {
-	DEBUG( + CLocSUPLSettingsView::DynInitMenuPaneL );	
-    if ( aResourceId == R_SUPLSETTINGS_MENU )
-        {
-        User::LeaveIfNull( aMenuPane );
-        //Handle Help Fature
-        HandleHelpFeature( *aMenuPane );
-        
-        //Disable Open/Change/Clear sessions options
-		switch( SelectedItemIndex() )
-			{
-			case 0:
-				{
-        		//aMenuPane->SetItemDimmed( ELocSuplChange, EFalse );
-	        	//aMenuPane->SetItemDimmed( ELocSuplOpen, ETrue );
-	        	aMenuPane->SetItemDimmed( ELocSuplClearSession, ETrue );
-	        	aMenuPane->SetItemDimmed( ELocSuplClearSessions, ETrue );
-				break;
-				}
-			case 1:
-				{
-        		//aMenuPane->SetItemDimmed( ELocSuplChange, ETrue );
-	        	//aMenuPane->SetItemDimmed( ELocSuplOpen, EFalse );
-	        	aMenuPane->SetItemDimmed( ELocSuplClearSession, ETrue );
-	        	aMenuPane->SetItemDimmed( ELocSuplClearSessions, ETrue );
-				break;
-				}
-			case 2:
-				{
-        		aMenuPane->SetItemDimmed( ELocSuplChange, ETrue );
-				TInt sessionCount = iContainer->ActiveSessionCount();
-				
-				switch( sessionCount )
-					{
-					case 0:
-						{
-	        			//aMenuPane->SetItemDimmed( ELocSuplOpen, ETrue );
-	        			aMenuPane->SetItemDimmed( ELocSuplClearSession, ETrue );
-	        			aMenuPane->SetItemDimmed( ELocSuplClearSessions, ETrue );
-					break;
-						}
-					case 1:
-						{
-	        			//aMenuPane->SetItemDimmed( ELocSuplOpen, EFalse );
-	        			aMenuPane->SetItemDimmed( ELocSuplClearSession, EFalse );
-					aMenuPane->SetItemSpecific(ELocSuplClearSession, ETrue);
-	        			aMenuPane->SetItemDimmed( ELocSuplClearSessions, ETrue );
-						break;
-						}
-					default:
-						{
-	        			//aMenuPane->SetItemDimmed( ELocSuplOpen, EFalse );
-		        		aMenuPane->SetItemDimmed( ELocSuplClearSession, ETrue );
-		        		aMenuPane->SetItemDimmed( ELocSuplClearSessions, EFalse );
-					aMenuPane->SetItemSpecific(ELocSuplClearSessions, ETrue);
-						break;
-						}
-					}
-				break;
-				}
-			 default:
-			    break;
-			}
-        //Context sensitive menu items
-        }
-	DEBUG( - CLocSUPLSettingsView::DynInitMenuPaneL );	
-    }
-    
-// -----------------------------------------------------------------------------
-// CLocSUPLSettingsView::HandleHelpFeature
-// -----------------------------------------------------------------------------
-void CLocSUPLSettingsView::HandleHelpFeature( CEikMenuPane& aMenuPane ) const
-    {
-	DEBUG( + CLocSUPLSettingsView::HandleHelpFeature );	
-    if ( FeatureManager::FeatureSupported( KFeatureIdHelp ))
-        {
-        aMenuPane.SetItemDimmed( EAknCmdHelp, EFalse );
-        }
-    else
-        {
-        aMenuPane.SetItemDimmed( EAknCmdHelp, ETrue );
-        }
-	DEBUG( - CLocSUPLSettingsView::HandleHelpFeature );	
-    }
-
-// -----------------------------------------------------------------------------
-// CLocSUPLSettingsView::DeletionConfirmationQueryL
-// ----------------------------------------------------------------------------
-//
-TInt CLocSUPLSettingsView::DeletionConfirmationQueryL( )
-    {    
-    HBufC* noteText = NULL;    
-    noteText = StringLoader::LoadLC( R_LOC_SUPL_QUERY_TERMINATE_ALL, iEikonEnv );
-    CAknQueryDialog* query = new( ELeave ) CAknQueryDialog( *noteText );    
-    TInt ret = query->ExecuteLD( R_LOC_SUPL_DELETE_QUERY );
-    CleanupStack::PopAndDestroy( noteText );   
-    return ret;
-    }
-
-#if 0
-// -----------------------------------------------------------------------------
-// CLocSUPLSettingsView::IsActive
-// -----------------------------------------------------------------------------
-TBool CLocSUPLSettingsView::IsActive()
-	{
-	if( iContainer )
-	    {
-	    return ETrue;		
-	    }		
-	else
-	    {
-	    return EFalse;
-	    }		
-	}
-	
-#endif
-
-// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/locsysui.pro	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,27 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:                                                        
+# Description:  project file for Locsysui                                                    
+#                                                                    
+
+
+TEMPLATE = subdirs
+
+SYMBIAN_PLATFORMS = WINSCW ARMV5
+
+SUBDIRS += possettings/possettings.pro
+SUBDIRS += privacyverifiernotifierui/privacyverifiernotifierui.pro
+SUBDIRS += posindicator/posindicator.pro
+
+BLD_INF_RULES.prj_exports += "conf/loclocalvariation.confml  MW_LAYER_CONFML(loclocalvariation.confml)" \
+							 "conf/loclocalvariation_20022D83.crml  MW_LAYER_CRML(loclocalvariation_20022D83.crml)" 
+   
\ No newline at end of file
--- a/locationsystemui/locationsysui/locsysuiengine/BWINS/locsysuiengineu.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-EXPORTS
-	?CreateLocationSubSettingsUIL@CLocSysUiEngine@@QAEPAVMLocationUI@@VTUid@@@Z @ 1 NONAME ; class MLocationUI * CLocSysUiEngine::CreateLocationSubSettingsUIL(class TUid)
-	?CreatePositioningSettingsUIL@CLocSysUiEngine@@QAEPAVMLocationUI@@XZ @ 2 NONAME ; class MLocationUI * CLocSysUiEngine::CreatePositioningSettingsUIL(void)
-	?NewL@CLocSysUiEngine@@SAPAV1@AAVCAknViewAppUi@@@Z @ 3 NONAME ; class CLocSysUiEngine * CLocSysUiEngine::NewL(class CAknViewAppUi &)
-	?NewLC@CLocSysUiEngine@@SAPAV1@AAVCAknViewAppUi@@@Z @ 4 NONAME ; class CLocSysUiEngine * CLocSysUiEngine::NewLC(class CAknViewAppUi &)
-
--- a/locationsystemui/locationsysui/locsysuiengine/eabi/locsysuiengineu.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-EXPORTS
-	_ZN15CLocSysUiEngine28CreateLocationSubSettingsUILE4TUid @ 1 NONAME
-	_ZN15CLocSysUiEngine28CreatePositioningSettingsUILEv @ 2 NONAME
-	_ZN15CLocSysUiEngine4NewLER13CAknViewAppUi @ 3 NONAME
-	_ZN15CLocSysUiEngine5NewLCER13CAknViewAppUi @ 4 NONAME
-	_ZTI15CLocSysUiEngine @ 5 NONAME ; #<TI>#
-	_ZTV15CLocSysUiEngine @ 6 NONAME ; #<VT>#
-
--- a/locationsystemui/locationsysui/locsysuiengine/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  This file provides the information required for building
-*				 Location System UI Engine
-*                  
-*
-*/
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-// Exported as a part of the Location Settings UI Resources API
-../inc/locsysuiengine.h             	    |../../../inc/locsysuiengine.h
-../inc/locsysuiengineobserver.h      		|../../../inc/locsysuiengineobserver.h
-../inc/locationui.h             	        |../../../inc/locationui.h
-
-PRJ_MMPFILES
-locsysuiengine.mmp   
-
-PRJ_TESTMMPFILES
-
-//  End of File  
--- a/locationsystemui/locationsysui/locsysuiengine/group/locsysuiengine.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Project definition file for Location System Ui Engine
-*
-*/
-
-
-// Includes 
-#include <data_caging_paths.hrh>    		//this is needed for RESOURCE_FILES_DIR
-#include "../inc/locsysuiengineuid.hrh"		// For UID3
-#include <platform_paths.hrh> // For the MW_LAYER_SYSTEMINCLUDE
-
-// Target information
-CAPABILITY 		CAP_GENERAL_DLL
-TARGET  		locsysuiengine.dll
-TARGETTYPE  	dll
-UID  			0x0 LOCSYSUIENGINE_UID3
-VENDORID 		VID_DEFAULT
-
-// Source Files
-SOURCEPATH 		../src
-SOURCE			locsysuiengine.cpp
-
-// System Includes
-MW_LAYER_SYSTEMINCLUDE
-
-// Uer Includes
-USERINCLUDE    	../inc
-USERINCLUDE		../../../inc
-USERINCLUDE		../../../../inc
-
-LIBRARY      	euser.lib
-LIBRARY    		ecom.lib
-LIBRARY         eikcore.lib      // EikonEnv
-LIBRARY         cone.lib         // CCoeEnv
-LIBRARY         avkon.lib
-LIBRARY         locsysuiview.lib // Location Setting UI Engine and 
-                                 // Positioning Settings
-
-#if defined(WINS)
- deffile   ../BWINS/locsysuiengine.def
-#elif defined(EABI)
- deffile   ../eabi/locsysuiengine.def
-#endif 
--- a/locationsystemui/locationsysui/locsysuiengine/inc/locationui.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@
-/*
-* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Location UI interface class. All the components intending to 
-*                provide UI services through the Location UI Server must implement
-*                this class
-*
-*/
-
-
-#ifndef M_LOCATIONUI_H_
-#define M_LOCATIONUI_H_
-
-// System Includes
-#include <e32base.h>
-
-// User Include
-
-// Forward Declarations
-
-// Class Definition
-/**
- * Observer for notification regarding the termination of the Launch call.
- *
- * @lib locsysuiengine.lib
- * @since S60 v3.2 
- */
-class MLocationUIObserver
-    {
-    public:
-    	/**
-    	 * Notifies the termination of the Location UI
-    	 *
-    	 * @since S60 v3.2
-    	 * @param aErrorCode The termination reason. KErrNone for normal 
-    	 *					 terminations. In case of error or pre-mature
-    	 *					 aborting System wide Error codes.
-    	 */      
-        virtual void LocationUIDismissed( TInt aErrorCode ) = 0;
-    };
-    
-/**
- * Location UI interface class. All the components intending to provide Location
- * UI related services must implement this class. This class provides the interface
- * to Launch and Close a Location UI component
- *
- * @lib locsysuiengine.lib
- * @since S60 v3.2
- */
-class MLocationUI
-	{		   		  
-	public:
-        /**
-         * Launches a Location UI component.
-         *
-         * @param aUiInputParams Flags that define specific configuration of the
-         *                       Location UI, that the user of the API wants to
-         *                       launch. If more than one functionality is
-         *                       requested then the various combinations are to be
-         *                       ORed. The interpretation of these flag values is
-         *                       a part of the understanding between the API user
-         *                       and the corresponding Location UI.
-         * @param aObserver      Observer where the termination of the Launch call
-         *                       needs to be notified.
-         *                          
-         */
-        virtual void LaunchLocationUIL( TInt		            aUiInputParams,
-                                        MLocationUIObserver*    aObserver ) = 0;
-
-        /**
-         * Launches a Location UI component.
-         *
-         * @param aUiInputParams String passed as a parameter to the
-         *                       Location UI, that the user of the API wants to
-         *                       launch. The interpretation of this string is
-         *                       a part of the understanding between the API user
-         *                       and the corresponding Location UI.
-         * @param aObserver      Observer where the termination of the Launch call
-         *                       needs to be notified.
-         *                          
-         */
-        virtual void LaunchLocationUIL( const TDesC&		            aUiInputParams,
-                                        MLocationUIObserver*    aObserver ) = 0;
-
-        /**
-         * Closes the running Location UI prematurely.
-         */
-        virtual void Close() = 0;
-        
-	};
-
-#endif // M_LOCATIONUI_H_
-
--- a/locationsystemui/locationsysui/locsysuiengine/inc/locsysuiengine.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,126 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Location System UI Server's engine component. This class is 
-*                responsible for handling all the Location related UI components.
-*
-*/
-
-
-#ifndef C_LOCSYSUIENGINE_H_
-#define C_LOCSYSUIENGINE_H_
-
-// System Includes
-#include <e32base.h>
-
-// User Include
-
-// Forward Declarations
-class MLocationUI;
-class CLocSettingsUiEngine;
-class CAknViewAppUi;
-class CLocPosSettings;
-
-// Class Definition
-
-/**
- * Encapulates the logic necessary to launch various Location UIs. 
- * The Location UI AppServer will use this object for manipulating the Settings
- * components. The class contains funtionalities for discovering 
- * various available Location UIs, launching a UI, cancelling a UI request, 
- * terminating a UI after completion of the request..
- *
- * @lib locsysuiengine.lib
- * @since S60 v3.2
- */
-class CLocSysUiEngine : public CBase
-	{		   		  
-	public:
-        /**
-         * Two Phase Constructor for creating the Location Settings UI engine. 
-         *
-         * @param   aAppUi			    Reference to the Application UI class. 
-         * @return	CLocSysUiEngine*    Reference to the created object.
-         */
-        IMPORT_C static CLocSysUiEngine* NewL( 
-                                CAknViewAppUi&				aAppUi );
-
-        /**
-         * Two Phase Constructor for creating the Location Settings UI engine.
-         * Leaves the object on the cleanupstack.
-         *
-         * @param   aAppUi				Reference to the Application UI class.
-         * @return	CLocSysUiEngine*    Reference to the created object.
-         */
-        IMPORT_C static CLocSysUiEngine* NewLC( 
-                                CAknViewAppUi&				aAppUi );
-        						    	   
-        /**
-         * Destructor
-         */
-        virtual ~CLocSysUiEngine();
-
-        /**
-         * Creates the sub-Settings UI and  appends it to the existing list. The ownership
-         * of the created object is not returned to the callee function. The object would
-         * be destroyed only on the destruction of the plug-in.
-         * Incase the object alreacdy exists then the function would return a reference to
-         * to the existing object.
-         *
-         * @param  aImplementationUid The Implementation UID of the sub-settings plug-in that
-         *                            has to be created.
-         * @return MLocationUI*       Reference to the sub-settings UI that has been created.
-         */
-        IMPORT_C MLocationUI* CreateLocationSubSettingsUIL( TUid    aImplementationUid );
-        
-        /**
-         * Creates an instance of Postioning Settings UI. The ownership
-         * of the created object is not returned to the callee function. The object would
-         * be destroyed only on the destruction of the plug-in.
-         * Incase the object alreacdy exists then the function would return a reference to
-         * to the existing object.
-         *
-         * @return MLocationUI*       Reference to the Positioning UI that has been created.         
-         */
-        IMPORT_C MLocationUI* CreatePositioningSettingsUIL(); 
-            
-	private:
-	    /**
-         * Constructor
-         */
-        CLocSysUiEngine( CAknViewAppUi&				aAppUi );
-		 
-	private:
-	    /**
-	     * Reference to the applications UI
-	     */
-	    CAknViewAppUi&				                iAppUi;
-	    
-	    /**
-	     * Reference to the Location Settings UI Engine. This object is used
-	     * when there is a request to launch a Location sub-settings UI. The object
-	     * is created at the time of the first Launch request.
-	     * Owns
-	     */
-	    CLocSettingsUiEngine*                       iSettingsEngine;
-	    
-	    /**
-	     * Reference to the Positioning Settings UI. This object is used
-	     * when there is a request to launch Positioning Settings UI. The object
-	     * is created at the time of the first Launch request.
-	     */
-	    CLocPosSettings*                            iPosSettings;
-	};
-
-#endif // C_LOCSYSUIENGINE_H_
-
--- a/locationsystemui/locationsysui/locsysuiengine/inc/locsysuiengineobserver.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Observer to the Location System UI Engine. 
-*                Notfies changes in the Location System UI related UI components
-*
-*/
-
-
-#ifndef M_LOCSYSUIENGINEOBSERVER_H_
-#define M_LOCSYSUIENGINEOBSERVER_H_
-
-// System Include
-#include <e32base.h>
-
-// Class Declaration
-
-/**
- * Observer class to Location System UI Engine.
- * It provides notfication about the user termination of the Location UIs.
- *
- * @lib locsysuiengine.lib
- * @since S60 v3.2
- */
-class MLocSysUiEngineObserver
-	{
-	public:
-		/**
-		 * Notifies the termination of the Location UI.
-		 *
-		 * @since S60 v3.2
-		 * @param aErrorCode The termination reason. KErrNone for normal 
-		 *					 terminations. In case of error or pre-mature
-		 *					 aborting System wide Error codes.
-		 */
-		 virtual void LocationUIDismissed( TInt aErrorCode )			= 0;
-	};
-
-#endif // M_LOCSYSUIENGINEOBSERVER_H_
-
-
--- a/locationsystemui/locationsysui/locsysuiengine/inc/locsysuiengineuid.hrh	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Contains the UID3 value to be used for the Location System UI
-*				 Engine. The value is expected to one specific functions
-*				 1. UID3 for the LocationSystemUiEngine.dll Static Interface DLL
-*
-*
-*/
-
-#ifndef LOCSYSUIENGINEUID_HRH_
-#define LOCSYSUIENGINEUID_HRH_
-
-// Location System UI Engine UID3
-#define LOCSYSUIENGINE_UID3          0x10207463
-
-#endif      // LOCSYSUIENGINEUID_HRH_
-
-// End of File
-
-
--- a/locationsystemui/locationsysui/locsysuiengine/src/locsysuiengine.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,140 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Location System UI Server's engine component. This class serves
-*                as a factory implementation for Location UI components
-*
-*/
-
-
-// System Include
-#include <aknViewAppUi.h>
-
-// User Include
-#include "locsysuiengine.h"
-#include "locsettingsuiengine.h"
-#include "locationsettings.h"
-#include "locpossettings.h"
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CLocSysUiEngine::CLocSysUiEngine
-// Overloaded Constructor
-//
-// ---------------------------------------------------------------------------
-//
-CLocSysUiEngine::CLocSysUiEngine( CAknViewAppUi&    aAppUi )
-	:iAppUi( aAppUi )
-	{	
-	}
-
-// ---------------------------------------------------------------------------
-// CLocationSystemUiView::~CLocSysUiEngine
-// Destructor
-//
-// ---------------------------------------------------------------------------
-//
-CLocSysUiEngine::~CLocSysUiEngine()
-	{
-	// Incase a Location sub-settings request was made then the Settings
-	// UI engine has been created, In that case, the object and the 
-	// associated resources would be freed.
-	delete iSettingsEngine;
-	
-	// Incase Positioning settings request was made then the Settings UI
-	// and the associated resources would be freed.
-	delete iPosSettings;
-	}	
-					 
-// ---------------------------------------------------------------------------
-// CLocSysUiEngine* CLocSysUiEngine::NewL
-// Two Phase Constructor for creating the Location Settings UI engine.  
-//
-// @param    aAppUi			    Reference to the Application UI class.
-// @return	CLocSysUiEngine*    Reference to the created object.
-// ---------------------------------------------------------------------------  
-//
-EXPORT_C CLocSysUiEngine* CLocSysUiEngine::NewL( CAknViewAppUi&	 aAppUi )
-	{
-    CLocSysUiEngine* self = CLocSysUiEngine::NewLC( aAppUi );
-	CleanupStack::Pop( self );
-	return self;
-	}
-	
-// ---------------------------------------------------------------------------
-// CLocSysUiEngine* CLocSysUiEngine::NewL
-// Two Phase Constructor for creating the Location Settings UI engine.
-// Leaves the object on the cleanupstack.
-//
-// @param    aAppUi			    Reference to the Application UI class.
-// @return	CLocSysUiEngine*    Reference to the created object.
-// ---------------------------------------------------------------------------  
-//
-EXPORT_C CLocSysUiEngine* CLocSysUiEngine::NewLC( CAknViewAppUi&	aAppUi )
-	{
-    CLocSysUiEngine* self = new(ELeave) CLocSysUiEngine( aAppUi );
-	CleanupStack::PushL( self );
-    // No second phase construction required
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// MLocationUI* CLocSysUiEngine::CreateSettingsUi
-// Creates the sub-Settings UI and  appends it to the existing list. The ownership
-// of the created object is not returned to the callee function. The object would
-// be destroyed only on the destruction of the plug-in.
-// Incase the object alreacdy exists then the function would return a reference to
-// to the existing object.
-//
-// @param  aImplementationUid The Implementation UID of the sub-settings plug-in that
-//                            has to be created.
-// @return MLocationUI*       Reference to the sub-settings UI that has been created.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C MLocationUI* CLocSysUiEngine::CreateLocationSubSettingsUIL( 
-                                                TUid    aImplementationUid )
-    {
-    // If the Settings engine has already been created then use the same
-    // instance. If not, create a new instance
-    if( !iSettingsEngine )
-        {
-        iSettingsEngine = CLocSettingsUiEngine::NewL( iAppUi );
-        }   
-    return iSettingsEngine->CreateSettingsUiL( aImplementationUid );        
-    }
-    
-// ---------------------------------------------------------------------------
-// MLocationUI* CLocSysUiEngine::CreatePositioningSettingsUIL
-// Creates an instance of Postioning Settings UI. The ownership
-// of the created object is not returned to the callee function. The object would
-// be destroyed only on the destruction of the plug-in.
-// Incase the object alreacdy exists then the function would return a reference to
-// to the existing object.
-//
-// @return MLocationUI*       Reference to the Positioning UI that has been created.         
-// ---------------------------------------------------------------------------
-//
-EXPORT_C MLocationUI* CLocSysUiEngine::CreatePositioningSettingsUIL()
-    {
-    // If the Postioning Settings UI instance already exists then use the same
-    // If not, create a new instance
-    if( !iPosSettings )
-        {
-        iPosSettings = CLocPosSettings::NewL();
-        }
-    return iPosSettings;
-    }
-
-
-  
--- a/locationsystemui/locationsysui/locsysuiview/BWINS/locsysuiviewu.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-EXPORTS
-	?ImplementationGroupProxy@@YAPBUTImplementationProxy@@AAH@Z @ 1 NONAME ; struct TImplementationProxy const * ImplementationGroupProxy(int &)
-	?CreateSettingsUiL@CLocSettingsUiEngine@@QAEPAVCLocationSettings@@VTUid@@@Z @ 2 NONAME ; class CLocationSettings * CLocSettingsUiEngine::CreateSettingsUiL(class TUid)
-	?NewL@CLocPosSettings@@SAPAV1@XZ @ 3 NONAME ; class CLocPosSettings * CLocPosSettings::NewL(void)
-	?NewL@CLocSettingsUiEngine@@SAPAV1@AAVCAknViewAppUi@@@Z @ 4 NONAME ; class CLocSettingsUiEngine * CLocSettingsUiEngine::NewL(class CAknViewAppUi &)
-	?NewLC@CLocPosSettings@@SAPAV1@XZ @ 5 NONAME ; class CLocPosSettings * CLocPosSettings::NewLC(void)
-	?NewLC@CLocSettingsUiEngine@@SAPAV1@AAVCAknViewAppUi@@@Z @ 6 NONAME ; class CLocSettingsUiEngine * CLocSettingsUiEngine::NewLC(class CAknViewAppUi &)
-	?NewL@CLocSysUiView@@SAPAV1@XZ @ 7 NONAME ; class CLocSysUiView * CLocSysUiView::NewL(void)
-	?LaunchedfromPosSettingsApp@CLocSysUiView@@QAEXXZ @ 8 NONAME ; void CLocSysUiView::LaunchedfromPosSettingsApp(void)
-
--- a/locationsystemui/locationsysui/locsysuiview/data/10207462.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* Copyright (c) 1020 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  ECOM plugin resource file for Location System UI View
-
-*
-*/
-
-#include <ecom/registryinfo.rh>
-#include "locsysuiviewuid.hrh"
-
-#define LOCSYSUIVIEW_DISPLAYNAME "Location System UI View Plugin"
-#define LOCSYSUIVIEW_DEFAULTDATA "0x10207239"
-#define LOCSYSUIVIEW_OPAQUEDATA	 "80"  
-
-RESOURCE REGISTRY_INFO theInfo
-    {
-    dll_uid     = LOCSYSUIVIEW_UID3;
-    interfaces  =
-        {
-    	INTERFACE_INFO
-    		{
-    		interface_uid   = 0x10207236;
-    		implementations = 
-    			{
-    			IMPLEMENTATION_INFO
-    				{
-    				implementation_uid  = LOCSYSUIVIEW_UID3;
-    				version_no          = 1;
-    				display_name        = LOCSYSUIVIEW_DISPLAYNAME;
-    				default_data        = LOCSYSUIVIEW_DEFAULTDATA;	 // Parent UID
-    	            opaque_data         = LOCSYSUIVIEW_OPAQUEDATA; 	 // Order number
-    				}
-    			};
-    		}
-        };
-    }
-
--- a/locationsystemui/locationsysui/locsysuiview/data/locsysuiviewrsc.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,238 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Resource File for the Location System UI 
-*			  	  view that acts as a plug-in to GS
-*       
-*
-*/
-
-
-//  RESOURCE IDENTIFIER
-NAME    LSVW // 4 letter ID
-
-//  INCLUDES
-#include    <data_caging_paths_strings.hrh>
-#include    <bldvariant.hrh>
-#include    <avkon.rh>
-#include    <avkon.rsg>
-#include    <avkon.mbg>
-#include    <EIKCORE.rsg>
-#include    <eikon.rh>
-#include    <eikon.rsg>
-#include    <avkon.loc>
-
-#include 	"locsysuiview.hrh"
-#include  <location.loc>
-
-
-// CONSTANTS
-
-//  RESOURCE DEFINITIONS 
-
-//----------------------------------------------------
-//   
-//    
-//    Needed or loading the resource fails!
-//
-//----------------------------------------------------	
-//
-RESOURCE RSS_SIGNATURE
-    {
-    }
-
-
-//----------------------------------------------------
-//   
-//    r_locsysuiview_app_view
-//    Applications view.
-//
-//----------------------------------------------------
-//
-RESOURCE AVKON_VIEW r_locsysuiview_app_view
-    {
-    menubar = r_locsysuiview_menubar;
-	  cba = r_locsysuiview_softkeys_option_open_back;
-    }
-
-//----------------------------------------------------
-//   
-//    r_locsysuiview_softkeys_option_open_back
-//    CBA for Application view.
-//
-//----------------------------------------------------
-//   
-RESOURCE CBA r_locsysuiview_softkeys_option_open_back
-    {
-    flags = 0;
-    buttons = 
-        {
-        CBA_BUTTON 
-            {
-            id = EAknSoftkeyOptions; 
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON 
-            {
-            id = EAknSoftkeyBack; 
-            txt = text_softkey_back;
-            },
-        CBA_BUTTON
-            {
-            id = ELocSysUiCmdOpen; 
-            txt = qtn_msk_open;
-            }
-        };
-    }
-
-//----------------------------------------------------
-//   
-//    r_gs_apps_view_title
-//    Application view's title.
-//
-//----------------------------------------------------
-//
-RESOURCE TITLE_PANE r_locsysuiview_title
-    {
-    txt = qtn_loc_pos_settings_title;
-    }
-
-
-//----------------------------------------------------
-//  r_gs_apps_view_caption
-// 
-// Applications view caption for plugin
-//----------------------------------------------------
-//
-RESOURCE TBUF r_locsysuiview_caption
-    {
-    buf = qtn_set_folder_positioning;
-    }
-
-
-//----------------------------------------------------
-//   
-//    r_locsysuiview_menubar
-//    Options menu with 'Open', 'Help' and 'Exit' items.
-//
-//----------------------------------------------------
-//
-RESOURCE MENU_BAR r_locsysuiview_menubar
-    {
-    titles =
-        {
-        MENU_TITLE 
-            { 
-            menu_pane = r_locsysuiview_menu_item_exit;
-            },
-        MENU_TITLE
-        	{
-        	menu_pane = r_locsysuiview_menu_item_help;
-        	},
-        MENU_TITLE 
-            {
-            menu_pane = r_locsysuiview_menu_item_open;
-            }
-        };
-    }
-
-    
-//----------------------------------------------------
-//   
-//    r_locsysuiview_menu_item_open
-//    Options menu item 'Open'.
-//
-//----------------------------------------------------
-//
-RESOURCE MENU_PANE r_locsysuiview_menu_item_open
-    {
-    items =
-        {
-        MENU_ITEM 
-            {
-            command = ELocSysUiCmdOpen;
-            txt = qtn_options_open;
-	    			flags = EEikMenuItemAction;
-            }
-        };
-    }
-
-//----------------------------------------------------
-//   
-//    r_locsysuiview_menu_item_help
-//    Options menu item 'Help'.
-//
-//----------------------------------------------------
-//
-RESOURCE MENU_PANE r_locsysuiview_menu_item_help
-    {
-    items =
-        {
-        MENU_ITEM 
-            {
-            command = EAknCmdHelp;
-            txt = qtn_options_help;
-            }
-        };
-    }
-
-//----------------------------------------------------
-//   
-//    r_locsysuiview_menu_item_exit
-//    Options menu item 'Exit'.
-//
-//----------------------------------------------------
-//
-RESOURCE MENU_PANE r_locsysuiview_menu_item_exit
-    {
-    items =
-        {
-        MENU_ITEM 
-            {
-            command = EAknCmdExit;
-            txt = qtn_options_exit;
-            }
-        };
-    }
-
-//----------------------------------------------------
-//   
-//    r_locsysuiview_softkeys_option_open_exit
-//    CBA for Application view.
-//
-//----------------------------------------------------
-//   
-RESOURCE CBA r_locsysuiview_softkeys_option_open_exit
-    {
-    flags = 0;
-    buttons = 
-        {
-        CBA_BUTTON 
-            {
-            id = EAknSoftkeyOptions; 
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON 
-            {
-            id = EAknCmdExit; 
-            txt = text_softkey_exit;
-            },
-        CBA_BUTTON
-            {
-            id = ELocSysUiCmdOpen; 
-            txt = qtn_msk_open;
-            }
-        };
-    }
-//End of File
-
--- a/locationsystemui/locationsysui/locsysuiview/eabi/locsysuiviewu.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-EXPORTS
-	_Z24ImplementationGroupProxyRi @ 1 NONAME
-	_ZN15CLocPosSettings4NewLEv @ 2 NONAME
-	_ZN15CLocPosSettings5NewLCEv @ 3 NONAME
-	_ZN20CLocSettingsUiEngine17CreateSettingsUiLE4TUid @ 4 NONAME
-	_ZN20CLocSettingsUiEngine4NewLER13CAknViewAppUi @ 5 NONAME
-	_ZN20CLocSettingsUiEngine5NewLCER13CAknViewAppUi @ 6 NONAME
-	_ZTI13CLocSysUiView @ 7 NONAME ; #<TI>#
-	_ZTI15CLocPosSettings @ 8 NONAME ; #<TI>#
-	_ZTI17CLocationSettings @ 9 NONAME ; #<TI>#
-	_ZTI20CLocSettingsUiEngine @ 10 NONAME ; #<TI>#
-	_ZTV13CLocSysUiView @ 11 NONAME ; #<VT>#
-	_ZTV15CLocPosSettings @ 12 NONAME ; #<VT>#
-	_ZTV17CLocationSettings @ 13 NONAME ; #<VT>#
-	_ZTV20CLocSettingsUiEngine @ 14 NONAME ; #<VT>#
-	_ZN13CLocSysUiView4NewLEv @ 15 NONAME
-	_ZN13CLocSysUiView26LaunchedfromPosSettingsAppEv @ 16 NONAME
-
--- a/locationsystemui/locationsysui/locsysuiview/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  This file provides the information required for building 
-*								 Location System UI plugin to GS
-*                  
-*
-*/
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../inc/locsettingsui.h 					    |../../../../inc/locsettingsui.h
-../inc/locsettingsui.inl      				|../../../../inc/locsettingsui.inl
-../inc/locsettingsuiobserver.h      		|../../../../inc/locsettingsuiobserver.h
-../inc/locsettingsuiparams.h				|../../../../inc/locsettingsuiparams.h
-../inc/locsettingsuiparams.inl				|../../../../inc/locsettingsuiparams.inl
-
-../inc/locsettingsuiengine.h                |../../../inc/locsettingsuiengine.h
-../inc/locationsettings.h                   |../../../inc/locationsettings.h
-../inc/locpossettings.h                     |../../../inc/locpossettings.h
-
-../inc/locsysuiview.h                       |../../../inc/locsysuiview.h
-../inc/locsysuiviewuid.hrh                  |../../../inc/locsysuiviewuid.hrh
-../inc/locsysuicontainereventhandler.h      |../../../inc/locsysuicontainereventhandler.h
-../inc/locsettingsuiecomnotifier.h          |../../../inc/locsettingsuiecomnotifier.h
-
-PRJ_MMPFILES
-locsysuiview.mmp    
-
-PRJ_TESTMMPFILES
-
-PRJ_EXTENSIONS
-START EXTENSION s60/mifconv
-OPTION TARGETFILE locsysuiview.mif
-OPTION HEADERFILE locsysuiview.mbg
-OPTION SOURCES -c8,8 qgn_prop_set_gene_loc.svg
-END
-//  End of File  
--- a/locationsystemui/locationsysui/locsysuiview/group/locsysuiview.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  This is project specification file for Location System UI 
-*                 view that acts as a plug-in to GS
-*        
-*
-*/
-
-
-// Includes
-#include <platform_paths.hrh> // For the MW_LAYER_SYSTEMINCLUDE
-#include <data_caging_paths.hrh>          //this is needed for RESOURCE_FILES_DIR
-#include "../inc/locsysuiviewuid.hrh"    // For UID3
-
-CAPABILITY          CAP_ECOM_PLUGIN
-TARGET              locsysuiview.dll
-TARGETTYPE          PLUGIN
-UID                 0x10009D8D LOCSYSUIVIEW_UID3
-VENDORID            VID_DEFAULT
-
-SOURCEPATH          ../src
-SOURCE              locsysuiviewimptable.cpp
-SOURCE              locsysuiview.cpp
-SOURCE              locsysuicontainer.cpp
-SOURCE    		    locsysuilbmodel.cpp
-SOURCE 			    locationsettings.cpp
-SOURCE			    locsettingsuiengine.cpp
-SOURCE			    locsettingsuipluginloader.cpp
-SOURCE              locpossettings.cpp
-
-USERINCLUDE         ../inc
-USERINCLUDE         ../data
-USERINCLUDE         ../../inc
-USERINCLUDE			../../../inc
-USERINCLUDE		    ../../../../inc
-
-// System Include Path Definition
-APP_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH          ../data
-
-//ECOM resource definition
-START RESOURCE      10207462.rss
-TARGET              locsysuiview.rsc
-END //  ECOM resource definition
-
-//View resources
-START RESOURCE      locsysuiviewrsc.rss
-HEADER
-TARGETPATH          RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END // AppsPlugin resources
-
-LIBRARY             euser.lib
-LIBRARY             ecom.lib
-LIBRARY             efsrv.lib
-LIBRARY             avkon.lib
-LIBRARY             bafl.lib 
-LIBRARY             cone.lib 
-LIBRARY             eikcoctl.lib 
-LIBRARY             eikctl.lib
-LIBRARY             eikcore.lib 
-LIBRARY             egul.lib                    // CGulIcon
-LIBRARY             aknskins.lib                // AknsUtils.h
-LIBRARY             commonengine.lib            // For RConeResourceLoader
-LIBRARY             fbscli.lib                  // For CFbsBitmap
-LIBRARY             hlplch.lib
-LIBRARY 			featmgr.lib 		        // Feature manager API
-LIBRARY             GSEcomPlugin.lib            // CGSPluginInterface
-
-#if defined(WINS)
- deffile   ../BWINS/locsysuiview.def
-#elif defined(EABI)
- deffile   ../eabi/locsysuiview.def
-#endif 
-
-// End of File
-
--- a/locationsystemui/locationsysui/locsysuiview/inc/locationsettings.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,191 +0,0 @@
-/*
-* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Location Settings implementation of Location UIs. 
-*
-*/
-
-
-#ifndef C_LOCATIONSETTINGS_H_
-#define C_LOCATIONSETTINGS_H_
-
-// System Include
-#include <e32base.h>
-
-// User Includes
-#include "locationui.h"
-#include "locsettingsuiobserver.h"
-
-// Forward Declarations
-class CLocSettingsUi;
-class CAknViewAppUi;
-
-// Class Definition
-/**
- * Location Settings implementation of Location UIs. This class extends the 
- * Location UI interface for Location sub-settings plug-ins. This class acts as
- * the container class for the Location sub-settings plug-ins and takes up
- * complete ownership of these classes.
- *
- * @lib locsysuiview.lib
- * @since S60 v3.2
- */
-class CLocationSettings : public CBase,
-                          public MLocationUI,
-                          public MLocSettingsUiObserver
-	{
-	public:	
-        /**
-         * Two Phase Constructor.
-         *
-         * @param   aImplementationId   Implementation UID of the settings plug-in.
-         * @param   aAppUi              Application's AppUi reference.
-         * @return	CLocationSettings*	Pointer to the created object
-         */
-        static CLocationSettings* NewL( const TUid	    aImplementationId,
-                                        CAknViewAppUi&	aAppUi );
-        	
-        /**
-         * Two Phase Constructor. The funcion leaves the CLocationSettings object
-         * on the CleanupStack
-         *
-         * @param   aImplementationId   Implementation UID of the settings plug-in.
-         * @param   aAppUi              Application's AppUi reference.
-         * @return	CLocationSettings*	Pointer to the created object
-         */
-        static CLocationSettings* NewLC( const TUid	    aImplementationId,
-                                         CAknViewAppUi&	aAppUi );
-        
-        /**
-         * C++ Destructor
-         */
-        virtual ~CLocationSettings();
-
-        /**
-         * Accessor Function for the Setings Ui Caption. The function does not
-         * allocate any buffer but returns its internal buffer. This buffer 
-         * should not be deleted/modified by the callee.
-         *
-         * @return const TPtrC Caption String
-         */
-        TPtrC Caption();
-
-        /**
-         * Returns the priority of the UI module. 
-         *
-         * @return TInt Priority of the Settings UI
-         */
-        TInt Priority();
-
-        /**
-         * Accessor Function for the Settings Ui Implementation UID
-         *
-         * @return TUid Settings UI Plug In's implementation UID
-         */
-        const TUid	ImplementationUid();         
-        
-    public: // Inherited from MLocationUI
-    
-        /**
-         * Launches a Location UI component.
-         *
-         * @param aUiInputParams Flags that define specific configuration of the
-         *                       Location UI, that the user of the API wants to
-         *                       launch. If more than one functionality is
-         *                       requested then the various combinations are to be
-         *                       ORed. The interpretation of these flag values is
-         *                       a part of the understanding between the API user
-         *                       and the corresponding Location UI.
-         * @param aObserver      Observer where the termination of the Launch call
-         *                       needs to be notified.
-         *                          
-         */
-        virtual void LaunchLocationUIL( TInt		            aUiInputParams,
-                                        MLocationUIObserver*    aObserver );
-    
-        /**
-         * Launches a Location UI component.
-         *
-         * @param aUiInputParams String passed as a parameter to the
-         *                       Location UI, that the user of the API wants to
-         *                       launch. The interpretation of this string is
-         *                       a part of the understanding between the API user
-         *                       and the corresponding Location UI.
-         * @param aObserver      Observer where the termination of the Launch call
-         *                       needs to be notified.
-         *                          
-         */
-        virtual void LaunchLocationUIL( const TDesC&		            aUiInputParams,
-                                        MLocationUIObserver*    aObserver );
-
-        /**
-         * Closes the running Location UI prematurely.
-         */
-        virtual void Close();       
-        
-    public:// Inherited from MLocSettingsUiObserver     
-        /**
-         * Inherited from MLocSettingsUiObserver. Notification from the Settings UI
-         * to indicate the termination of the Settings UI application
-         *
-         * @param aErrorCode The termination reason. KErrNone for normal 
-         *					 terminations. In case of error or pre-mature aborting
-         *					 System wide Error codes.
-         */
-        void SettingClosed( TInt aErrorCode );
-                        
-	private:
-	    /**
-         * C++ Constructor
-         *
-         * @param	aLocationSettings	Pointer to the Location sub-settings UI
-         *                              plug-in. The ownership of the plug-in is 
-         *                              transferred to the constructed class.
-         */
-        CLocationSettings( const TUid	     aImplementationId );
-        			        
-        /**
-         * Second Phase of the two phase constructor
-         *
-         */
-        void ConstructL( CAknViewAppUi&	aAppUi );
-
-	private:
-	    /**
-         * Buffer holding the localized caption string that is used to descibe
-         * the Settings UI
-         * Owns
-         */	 
-		HBufC*			    iCaption;
-			
-	    /**
-         * Pointer to the Location Sub-settings UI object
-         * Owns
-         */
-		CLocSettingsUi*     iLocationSettings;
-		
-		/**
-		 * Implementation UID of the Location sub-settings UI object
-		 */
-		const TUid          iImplementationId;
-		
-        /**
-         * Location UI Observer
-         * Reference
-         */
-        MLocationUIObserver*    iObserver;		
-	    	
-	};
-
-#endif // C_LOCATIONSETTINGS_H_
-
--- a/locationsystemui/locationsysui/locsysuiview/inc/locpossettings.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +0,0 @@
-/*
-* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Positioning Settings implementation of Location UIs. 
-*
-*/
-
-
-#ifndef C_LOCPOSSETTINGS_H_
-#define C_LOCPOSSETTINGS_H_
-
-// System Include
-#include <e32base.h>
-
-// User Includes
-#include "locationui.h"
-
-// Forward Declarations
-class CLocSysUiView;
- 
-// Class Definition
-/**
- * Positioning Settings implementation of Location UIs. This class extends the 
- * Location UI interface for Positioning Settings UI.
- *
- * @lib locsysuiview.lib
- * @since S60 v3.2
- */
-class CLocPosSettings : public CBase,
-                        public MLocationUI
-	{
-	public:	
-        /**
-         * Two Phase Constructor.
-         *
-         * @return	CLocPosSettings*	Pointer to the created object.
-         */
-        EXPORT_C static CLocPosSettings* NewL();
-       
-        /**
-         * Two Phase Constructor. The funcion leaves the CLocationSettings object
-         * on the CleanupStack
-         *
-         * @return	CLocPosSettings*	Pointer to the created object.
-         */         
-        EXPORT_C static CLocPosSettings* NewLC();
-        
-        /**
-         * C++ Destructor
-         */
-        virtual ~CLocPosSettings();
-       
-    public:
-    
-        /**
-         * Inherited from MLocationUI
-         *
-         */
-        void LaunchLocationUIL( TInt		            aUiInputParams,
-                                MLocationUIObserver*    aObserver );
-    
-        /**
-         * Inherited from MLocationUI
-         *
-         */
-        void LaunchLocationUIL( const TDesC&                    aUiInputParams,
-                                MLocationUIObserver*    aObserver );
-
-        /**
-         * Inherited from MLocationUI
-         *
-         */
-        void Close();
-            
-    private:
-        /**
-         * Overloaded constructor
-         */         
-        CLocPosSettings();
-        
-        /**
-         * Second phase of two phase construction
-         */
-        void ConstructL();        
-                
-    private:	
-	    /**
-	     * Postioning Settings View. The ownership lies with the App UI
-	     */
-	    CLocSysUiView*          iView;
-	};
-
-#endif // C_LOCPOSSETTINGS_H_
-
--- a/locationsystemui/locationsysui/locsysuiview/inc/locpossettingsobserver.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Observer to Postioning Settings UI.
-*
-*/
-
-
-#ifndef M_LOCPOSSETTINGS_H_
-#define M_LOCPOSSETTINGS_H_
-
-// System Include
-#include <e32base.h>
-
-// User Includes
-
-// Forward Declarations
-
-// Class Definition
-/**
- * Observer to Postioning Settings UI.
- * This class provides notification regarding the termination of Positioning 
- * settibgs UI.
- * @lib locsysuiview.lib
- * @since S60 v3.2
- */
-class MLocPosSettingsObserver
-	{
-		/**
-		 * Notifies the termination of the Psotioning Settings UI
-		 *
-		 * @since S60 v3.2
-		 * @param aErrorCode The termination reason. KErrNone for normal 
-		 *					 terminations. In case of error or pre-mature
-		 *					 aborting System wide Error codes.
-		 */
-		 virtual void PositioningSettingClosed( TInt aErrorCode )			= 0;	    
-	};
-
-#endif // M_LOCPOSSETTINGS_H_
-
--- a/locationsystemui/locationsysui/locsysuiview/inc/locsettingsui.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,172 +0,0 @@
-/*
-* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  E-Comm Plugin interface. Defines a settings UI component. The 
-*				 Settings UI component should contain one or more Window owning 
-*				 control that provides the Setting funtionality.
-*
-*/
-
-
-#ifndef C_LOCSETTINGSUI_H_
-#define C_LOCSETTINGSUI_H_
-
-// System Include
-#include <e32base.h>
-
-// Forward Declarations
-class CLocSettingsUiParams;
-class MLocSettingsUiObserver;
-class CAknViewAppUi;
-
-// Global Constants
-/**
- * The Interface UID for the ECom interface. The implementations of this ECom
- * plug-in have to the use this value as their Interface UID if they intend 
- * to link to the Location System UI Engine
- */
-const TUid	KSettingsUiInterfaceUID			=  { 0x10275061 };
-
-// Class Definition
-/**
- * Settings UI ECom plug-in interface
- *
- * Interface class that provides the Settings UI funtionality. Any Settings UI
- * component should derive from this class and implement the abstract funtions
- * Includes support for launching a UI, premature closing of a running UI and 
- * re-launching a suspended UI application. The plug-in does not mandate the 
- * nature of the Settings Ui. Unless the Settings UI transfers the ownership
- * of its component objects ( For eg. It might decide to implement a view and 
- * transfer its ownership to the AppUi class ), it is responsible for completely
- * handling them
- *
- * @lib locsysuiview.lib
- * @since S60 v3.1
- */
-class CLocSettingsUi : public CBase
-	{		
-	public:
-        /**
-         * Creates and initializes the Settings UI component. The component 
-         * creation is handled through the E-Comm server
-         *
-         * @param aImplementationUid  Implementation UID of the Settings Ui that
-         *							  has to be launched
-         * @param aInitParams		  Initialization Parameters
-         */
-		inline static CLocSettingsUi* NewL( const TUid				aImplementationUid,
-										    CLocSettingsUiParams&	aInitParams );
-        /**
-         * Destructor. Handles the destruction of the object through the 
-         * EComm Session
-         */
-		inline virtual ~CLocSettingsUi();
-
-        /**
-         * Returns the Settings UI Id. A unique identifer that identifies the 
-         * Settings UI. Could be the E-Comm destructor Id
-         *
-         * @since S60 v3.1
-         * @return Settings UI Identifier
-         */
-        inline TUid GetSettingsUiID();
-
-        /**
-         * Launches the Settings UI
-         *
-         * @since S60 v3.1
-         * @param aUiLaunchParams	Flags that define specific configuration of
-         *                          if the Settings UI, that the user of the API
-         *                          wants to launch. If more than one functionality
-         *                          is requested then the various combinations
-         *                          are to be ORed. The interpretation of these
-         *                          flag values is a part of the understanding
-         *                          between the API user and the Settings UI
-         */
-        virtual void LaunchL( TInt		aUiLaunchParams )			   		= 0;
-
-        /**
-         * Launches the Settings UI
-         *
-         * @since S60 v9.2
-         * @param aUiInputParams String passed as a parameter to the
-         *                       Location UI, that the user of the API wants to
-         *                       launch. The interpretation of this string is
-         *                       a part of the understanding between the API user
-         *                       and the corresponding Location UI.
-         */
-        virtual void LaunchL( const TDesC&		aUiLaunchParams );
-
-        /**
-         * Closes the running Settings UI prematurely. The UI can be closed 
-         * permanently or could be temporarily suspended and relaunched. Incase of 
-         * temporary suspension it is left to the implementation to decide to
-         * either store its current state or discard the same. The Settings UI
-         * is expected to release all the resources that it owns on the Close
-         * call.
-         *
-         * @since S60 v3.1
-         */
-        virtual void Close()							   = 0;
-
-        /**
-         * Method for getting caption of this plugin. This should be the 
-         * localized name of the settings view to be shown in parent view.
-         *
-         * @since S60 v3.1
-         * @param aCaption Pointer to Caption variable. The memory for the 
-         *                 variable has to be allocated by the calling 
-         *                 function. If it is found that there is insufficient
-         *                 memory then the function can leave accordingly
-         */
-        virtual void GetCaptionL( TDes& aCaption ) const					   = 0;
-
-        /**
-         * Returns the priority of the UI module. The priority value is defined 
-         * by the position in which the UI would be present when displayed to 
-         * the user. 
-         * 
-         * @since S60 v3.1
-         * @return Priority of the Settings UI
-         */
-        virtual TInt GetPriority()											   = 0;
-        
-	protected:
-        /**
-         * Default Constructor
-         */
-        inline CLocSettingsUi( MLocSettingsUiObserver&		aSettingsUiObserver,
-        		 		       CAknViewAppUi&				aAppUi );
-        		 		       
-	protected:
-        /**
-         * Observer for the Settings UI Class
-         */	    
-		MLocSettingsUiObserver&		iSettingsUiObserver;
-		
-		/**
-         * Reference to the Application Ui to which the Settings UI would belong to
-         */
-		CAknViewAppUi&				iAppUi;
-			
-	private:
-        /**
-         * ECOM plugin instance UID.
-         */
-		TUid						iDtor_ID_Key;
-	};
-
-#include "locsettingsui.inl"
-
-#endif // C_LOCSETTINGSUI_H_
-
--- a/locationsystemui/locationsysui/locsysuiview/inc/locsettingsui.inl	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-/*
-* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Inline functions for CLocSettingsUi
-*
-*/
-
-
-// System Include 
-#include <aknViewAppUi.h>
-
-// User Includes
-#include "locsettingsuiobserver.h"
-#include "locsettingsuiparams.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CLocSettingsUi::CLocSettingsUi
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-inline CLocSettingsUi::CLocSettingsUi( MLocSettingsUiObserver&		aSettingsUiObserver,
-					 			       CAknViewAppUi&				aAppUi )
-    :iSettingsUiObserver( aSettingsUiObserver ),
-     iAppUi( aAppUi )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CLocSettingsUi::~CLocSettingsUi
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-inline CLocSettingsUi::~CLocSettingsUi()
-    {
-    // Call ECom Session Destroy function to delete the object
-    REComSession::DestroyedImplementation( iDtor_ID_Key );
-    }
-
-// -----------------------------------------------------------------------------
-// CLocSettingsUi* CLocSettingsUi::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-inline CLocSettingsUi* CLocSettingsUi::NewL( const TUid					aImplementationUid,
-										 	 CLocSettingsUiParams&		aInitParams )
-    {
-    TAny* ptr;
-    TInt32 keyOffset = _FOFF( CLocSettingsUi, iDtor_ID_Key );
-    ptr = REComSession::CreateImplementationL( aImplementationUid, keyOffset, &aInitParams);
-    return reinterpret_cast<CLocSettingsUi*>( ptr );
-    }
-    
-// -----------------------------------------------------------------------------
-// TInt CLocSettingsUi::CLocSettingsUi
-//
-// -----------------------------------------------------------------------------
-//
-inline TUid CLocSettingsUi::GetSettingsUiID()
-    {
-    return iDtor_ID_Key;
-    }
-    
-// -----------------------------------------------------------------------------
-// TInt CLocSettingsUi::LaunchL
-//
-// -----------------------------------------------------------------------------
-//
-inline void CLocSettingsUi::LaunchL( const TDesC&		/*aUiLaunchParams*/ )
-    {
-    User::Leave( KErrNotSupported );
-    }
-    
-// End of File
-
--- a/locationsystemui/locationsysui/locsysuiview/inc/locsettingsuiecomnotifier.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Observer to the Views Engine. Notfies changes in the Settings UI
-*				 and E-Com events
-*
-*/
-
-
-#ifndef M_LOCSETTINGSUIECOMNOTIFIER_H_
-#define M_LOCSETTINGSUIECOMNOTIFIER_H_
-
-// System Include
-#include <e32base.h>
-
-// Class Declaration
-
-/**
- * Observer class to CLocSettingsUiEngine.
- * Inaddtion to it it also provides notfication regarding the changes the 
- * plug-in loading and unloading states
- *
- * @lib locsysuiview.lib
- * @since S60 v3.2
- */
-class MLocSettingsUiEcomNotifer
-	{
-	public:
-		/** 
-		 * Notifies any change in the state of the underlying Settings UI
-		 * session
-		 *
-		 * @since S60 v3.1
-		 * @param aErrorCode Error Code denoting the state change
-		 */
-		 virtual void EComSessionStateChanged( TInt aErrorCode )	= 0;
-	};
-
-#endif // M_LOCSETTINGSUIENGINEOBSERVER_H_
--- a/locationsystemui/locationsysui/locsysuiview/inc/locsettingsuiengine.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,171 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This is a header file for engine class of Location settings Ui
-*
-*/
-
-
-#ifndef C_LOCSETTINGSUIENGINE_H_
-#define C_LOCSETTINGSUIENGINE_H_
-
-// System Includes
-#include <e32base.h>
-
-// User Include
-
-// Forward Declarations
-class CLocSettingsUi;
-class CAknViewAppUi;
-class MLocSettingsUiEcomNotifer;
-class CLocSettingsUiPluginLoader;
-class CLocationSettings;
-
-
-// Class Definition
-
-/**
- * Encapulates the logic necessary to launch various sub-settings UIs. 
- * The Location UI AppServer and the Location Systems Plugin to the 
- * General Settings will use this object for manipulating the Settings
- * components. The class contains funtionalities for discovering 
- * various available Settings UIs, launching a UI,cancelling a UI request ,
- * terminating a UI after completion of the request and to hold back
- * the suspended UIs.
- *
- * @lib locsysuiview.lib
- * @since S60 v3.2
- */
-class CLocSettingsUiEngine : public CBase
-	{		   		  
-	public: // Exported Functions
-        /**
-         * Two Phase Constructor. 
-         * 
-         * @param    aAppUi				     Reference to the Application UI class that 
-         *								     launched the Settings Application.
-         * @return	CLocSettingsUiEngine*    Reference to the created object.
-         */
-        IMPORT_C static CLocSettingsUiEngine* NewL( CAknViewAppUi&	aAppUi );
-
-        /**
-         * Two Phase Constructor. 
-         * 
-         * @param    aAppUi				    Reference to the Application UI class that 
-         *								    launched the Settings Application.
-         * @return	CLocSettingsUiEngine*	Reference to the created object.
-         */
-        IMPORT_C static CLocSettingsUiEngine* NewLC( CAknViewAppUi&	aAppUi );
-        						    	   
-        /**
-         * Destructor
-         */
-        virtual ~CLocSettingsUiEngine();
-
-    public: // Other Exported functions
-        /**
-         * Creates a single Settings UI Object.
-         * In case the object already exists, then a reference to the existing object is
-         * returned and no new object is created. In either case, the class retains the
-         * ownership of the created object.
-         *
-         * @param aImplementationUid The Implementation UID of the plug-in that
-         *                           has to be created.
-         * @return CLocationSettings* Reference to the created object.
-         */
-        IMPORT_C CLocationSettings* CreateSettingsUiL( TUid aImplementationUid );
-    
-    public: // Non exported functions
-        /**
-         * Creates all the available settings UI. This function call performs
-         * an ECom discovery of all the possible ECom plugins that are 
-         * available and creates the Settings UI components as well as the 
-         * plug-in UI. The ownership of the created objects is not transferred
-         * to the callee but retained with the Engine class. This function needs 
-         * that No settings UIs have been already created. Incase, there exists
-         * any Settings UIs then the function leaves with KErrAlreadyExists.
-         *
-         * @return RPointerArray<CLocationSettings>& Reference to the array of Settings
-         *                                           objects.
-         */
-        RPointerArray<CLocationSettings>& CreateAvailableSettingsUiL();
-        
-        /**
-         * Updates the list of available UIs. The new list would contain all the
-         * latest additions to the list of UIs in addition to the existing
-         * UIs. The interface does not delete any instances if they are not in
-         * the current implementation list.
-         *
-         * @return RPointerArray<CLocationSettings>& Reference to the array of Settings
-         *                                           objects.         
-         */
-        RPointerArray<CLocationSettings>& UpdateAvailableSettingsUisL();
-        
-        /**
-         * Accessor function to obtain the Settings UI structures. The ownership of the 
-         * internal objects is not transferred.
-         *
-         * @return RPointerArray<CLocationSettings>& Reference to the array of Settings
-         *                                           objects. 
-         */
-        RPointerArray<CLocationSettings>& SettingsUiArray();
-        
-        /**
-         * Starts the Ecom notification for observing loading and unloading of the 
-         * underlying sub-settings plug-ins
-         *
-         * @param aSettingsNotifer  Notifier for communication of changes in the 
-         *                          Ecom loading and unloading for sub-settings
-         *                          plug-ins
-         */
-        void    StartSettingsEComNotificationL( 
-                            MLocSettingsUiEcomNotifer*   aNotifier );
-                            
-        /**
-         * Stops ECom notification. Does nothing in case there was no outstanding
-         * request
-         */
-        void    StopSettingsEComNotification();                            
-
-	private:
-	    /**
-         * Constructor
-         */
-        CLocSettingsUiEngine( CAknViewAppUi&    aAppUi );
-        			   	 			   		  
-        /**
-         * Second Phase of construction
-         */
-        void ConstructL();
-		 
-	private:
-		/**
-         * Reference to the Application Ui to which the Settings UI would belong to
-         */
-		CAknViewAppUi&						iAppUi;
-		
-		/**
-		 * Array of Settings UI classes
-		 * Owns
-		 */
-		RPointerArray<CLocationSettings>	iSettingsArray;
-		
-		/**
-		 * Reference to the Plug-in Loader
-		 * Owns
-		 */
-		CLocSettingsUiPluginLoader*			iPluginLoader;
-	};
-
-#endif // C_LOCSETTINGSUIENGINE_H_
-
--- a/locationsystemui/locationsysui/locsysuiview/inc/locsettingsuiobserver.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Observer SettingsUI interface class. Provides callback to notify
-*				 the termination of the Settings UI application
-*
-*/
-
-
-#ifndef M_LOCSETTINGSUIOBSERVER_H_
-#define M_LOCSETTINGSUIOBSERVER_H_
-
-// System Include 
-#include <e32base.h>
-
-// Class Definition
-/**
- * Observer class that provides notification from the Settings UI.
- *
- * @lib locsysuiengine.lib
- * @since S60 v3.1
- */
-class MLocSettingsUiObserver
-	{
-	public:
-        /**
-         * Notifies the termination of the Settings UI
-         *
-         * @since S60 3.1
-         * @param aErrorCode The termination reason. KErrNone for normal 
-         *					 terminations. In case of error or pre-mature
-         *					 aborting System wide Error codes.
-         */
-        virtual void SettingClosed( TInt aErrorCode )	= 0;
-	};
-
-#endif //M_LOCSETTINGSUIOBSERVER_H_
-
--- a/locationsystemui/locationsysui/locsysuiview/inc/locsettingsuiparams.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,115 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Input Parameters to the Settings UI.
-*
-*/
-
-
-#ifndef C_LOCSETTINGSUIPARAMS_H_
-#define C_LOCSETTINGSUIPARAMS_H_
-
-// System Include
-#include <e32base.h>
-
-// Forward Declarations
-class MLocSettingsUiObserver;
-class CAknViewAppUi;
-
-// Class Defintions
-
-/**
-* Input Parameters to the Settings UI. 
-* 
-* The parameters are passed through the E-Comm frameworks Create function. 
-* The E-Comm framework is not expected to understand the parameters, it 
-* passes on the same to the creation funtion of the actual implementation.
-* The ownership of the object is vested with the class that calls the 
-* creation function
-*
-* @lib locsysuiview.lib
-* @since S60 v3.1
-*/
-class CLocSettingsUiParams : public CBase
-	{				   
-	public:
-        /**
-         * Creates the Settings Parameters. 
-         *
-         * @param aObserver			  Settings UI Observer 	
-         * @param aAppUi			  Pointer to the Application UI class that 
-         *							  launched the Settings Application
-         */
-        inline static CLocSettingsUiParams* NewL( MLocSettingsUiObserver&	aObserver,
-        							 		      CAknViewAppUi&			aAppUi );
-        /**
-         * Creates the Settings Parameters. 
-         *
-         * @param aObserver			  Settings UI Observer 	
-         * @param aAppUi			  Pointer to the Application UI class that 
-         *							  launched the Settings Application
-         */
-        inline static CLocSettingsUiParams* NewLC( MLocSettingsUiObserver&	aObserver,
-        							  		       CAknViewAppUi&			aAppUi );
-
-        /**
-         * Destructor
-         */
-        inline virtual ~CLocSettingsUiParams();
-        
-        /**
-         * SettingsUIObserver Accessor function
-         *
-         * @return MLocSettingsUiObserver&	Reference to the Settings UI Observer
-         */
-        inline MLocSettingsUiObserver&	SettingsUiObserver();
-
-        /**
-         * CAknViewAppUi Accessor function
-         *
-         * @return CAknViewAppUi&	Reference to the AppUi Object
-         */
-        inline CAknViewAppUi&	AppUi();
-
-	private:
-	    /** 
-         * Overloaded Constructor
-         *
-         * @param aObserver		  Settings UI Observer 	
-         * @param aAppUi			  Pointer to the Application UI class that 
-         *					      launched the Settings Application
-         */
-        inline CLocSettingsUiParams( MLocSettingsUiObserver&	aObserver,
-        			    	         CAknViewAppUi&		        aAppUi );
-        			    	         
-        /**
-         * Second Phase construction
-         */
-        inline void ConstructL();
-
-	private:
-	    /**
-         * Observer for the Settings UI Class
-         */	 
-		MLocSettingsUiObserver&		iSettingsUiObserver;
-		
-		/**
-         * Reference to the Application Ui to which the Settings UI would belong to
-         */
-		CAknViewAppUi&				iAppUi;
-	};
-
-#include "locsettingsuiparams.inl"
-
-#endif // C_LOCSETTINGSUIPARAMS_H_
- 
--- a/locationsystemui/locationsysui/locsysuiview/inc/locsettingsuiparams.inl	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Inline functions for CLocSettingsUiParams
-*
-*/
-
-
-// System Include 
-#include <aknViewAppUi.h>
-
-// User Includes
-#include "locsettingsuiobserver.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CLocSettingsUiParams::CLocSettingsUiParams
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-inline CLocSettingsUiParams::CLocSettingsUiParams( MLocSettingsUiObserver&	aSettingsUiObserver,
-					 			 			       CAknViewAppUi&			aAppUi )
-    :iSettingsUiObserver( aSettingsUiObserver ),
-     iAppUi( aAppUi )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CLocSettingsUiParams::~CLocSettingsUiParams
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-inline CLocSettingsUiParams::~CLocSettingsUiParams()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CLocSettingsUiParams* CLocSettingsUiParams::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-inline CLocSettingsUiParams* CLocSettingsUiParams::NewL( MLocSettingsUiObserver& aObserver,
-									 	 		         CAknViewAppUi&		     aAppUi )
-    {
-   	CLocSettingsUiParams* self = new(ELeave) CLocSettingsUiParams( aObserver,
-    													 	       aAppUi );
-	CleanupStack::PushL(self);
-	self->ConstructL();
-	CleanupStack::Pop(self);
-	return self;
-    }
-  
-// -----------------------------------------------------------------------------
-// CLocSettingsUiParams* CLocSettingsUiParams::NewLC
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-inline CLocSettingsUiParams* CLocSettingsUiParams::NewLC( MLocSettingsUiObserver&	aObserver,
-									 	 			      CAknViewAppUi&			aAppUi )
-    {
-   	CLocSettingsUiParams* self = new(ELeave) CLocSettingsUiParams( aObserver,
-    													 	       aAppUi );
-	CleanupStack::PushL(self);
-	self->ConstructL();
-	return self;
-    }
-
-// -----------------------------------------------------------------------------
-// void CLocSettingsUiParams::ConstructL
-// Second phase of Construction
-// -----------------------------------------------------------------------------
-//
-inline void CLocSettingsUiParams::ConstructL()
-	{
-	}
-		       
-// -----------------------------------------------------------------------------
-// SettingsUIObserver Accessor function
-//
-// @return MSettingsUIObserver&	Reference to the Settings UI Observer
-// -----------------------------------------------------------------------------
-//
- inline MLocSettingsUiObserver& CLocSettingsUiParams::SettingsUiObserver()
- 	{
- 	return iSettingsUiObserver;
- 	}
-
-// -----------------------------------------------------------------------------
-// CAknViewAppUi Accessor function
-//
-// @return CAknViewAppUi&	Reference to the AppUi Object
-// -----------------------------------------------------------------------------
-//
- inline CAknViewAppUi&	CLocSettingsUiParams::AppUi()
- 	{
- 	return iAppUi;
- 	}
-		 
-// End of File
-
--- a/locationsystemui/locationsysui/locsysuiview/inc/locsettingsuipluginloader.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,165 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Manages the E-Comm Plugin handling for the Settings UI.
-*
-*/
-
-#ifndef C_LOCSETTINGSUIPLUGINLOADER_H_
-#define C_LOCSETTINGSUIPLUGINLOADER_H_
-
-// System Include
-#include <e32base.h>
-#include <ecom/ecom.h>
-
-// Forward Declarations
-class CLocationSettings;
-class CAknViewAppUi;
-class MLocSettingsUiEcomNotifer;
-
-// Class Declarations 
-
-/**
- * Plugin loader class. 
- * Loads all the Settings related ECom plugins and also registers itself for 
- * notfication from the ECOM server. It takes up complete onus of the creation
- * of the CSettingsUi objects.
- *
- * @lib locsysuiview.lib
- * @since S60 v3.2
- */
- NONSHARABLE_CLASS( CLocSettingsUiPluginLoader ) : public CActive
-	{
-	private:
-		/** 
-		 * Overloaded Constructor 
-		 *
-		 * @param aAppUi    App UI Reference
-		 */
-	 	CLocSettingsUiPluginLoader( CAknViewAppUi&	aAppUi );
-	public:
-		/**
-		 * Creates an instance of the Settings UI Plug-in Loader.
-		 *
-		 * @param  aObserver				    Observer to the CLocSettingsUiPluginLoader
-		 *									    class
-		 * @param  aAppUi					    App Ui Reference
-		 * @return CLocSettingsUiPluginLoader*	Reference to the instantiated class 
-		 */
-		static CLocSettingsUiPluginLoader* NewL( CAknViewAppUi&	    aAppUi );
-
-        /**
-         * Creates an instance of the Settings UI Plug-in Loader.
-         *
-         * @param  aObserver				Observer to the CLocSettingsUiPluginLoader
-         *									class
-         * @param  aAppUi					App Ui Reference
-         * @return CLocSettingsUiPluginLoader*	Reference to the instantiated class 
-         */
-        static CLocSettingsUiPluginLoader* NewLC( CAknViewAppUi&    aAppUi );
-        						
-        /**
-         * Destructor 
-         */
-        virtual ~CLocSettingsUiPluginLoader();
-
-        /** 
-         * Creates all the settings UI currently available in the system. The 
-         * user if this interface should ensure that he passes an empty
-         * Settings Array structure.
-         *
-         * @param aDescArray 		 Array of Settings UI.
-         */
-        void CreateAvailableSettingsUisL( 
-                        RPointerArray<CLocationSettings>&    aSettingsArray );
-        							   
-        /**
-         * Creates the Settings UI and the corresponding description entry. This
-         * function creates a new Setting UI ECOM plug-in and a Location Settings
-         * object. the created object is appended to the existing list and a reference to
-         * it returned. The ownership of the created Settings object is retained with
-         * the Settings array. This function assumes that the object doesnt already exists
-         *
-         * @param aImplementationUid The Implementation UID of the plug-in that
-         *                           has to be created
-         * @param aSettingsArray	 Array of Settings UIs
-         * @return CLocationSettings& Reference to the created object. The ownership is not
-         *                            by the return value.
-         */
-        CLocationSettings& CreateSettingsUiL( 
-                                TUid                                 aImplementationUid,
-                                RPointerArray<CLocationSettings>&    aSettingsArray );
-        /** 
-         * Updates the Settings UI list and the description structures. The new
-         * additions are appened in-order. The interface does not
-         * delete any instances if they are not in the current implementation 
-         * list
-         *
-         * @param aSettingsArray     Array of Settings UIs.
-         */
-        void UpdateAvailableSettingsUisL( 
-                        RPointerArray<CLocationSettings>&    aSettingsArray );
-
-        /**
-         * Initiates a notify request on the ECom Session
-         *
-         * @param aSettingsNotifer  Notifier for communication of changes in the 
-         *                          Ecom loading and unloading for sub-settings
-         *                          plug-ins. The default value is used if the
-         *                          caller of this API intends to obtain a 
-         *                          notification on the previously set observer.        
-         */ 
-        void StartEComNotifyL( MLocSettingsUiEcomNotifer*   aNotifier = NULL );
-        
-        /**
-         * Stop the outstanding EComNotification
-         */
-        void StopEComNotify();
-        
-	protected:
-        /** 
-         * Inherited from CActive 
-         */
-        void RunL();
-
-        /** 
-         * Inherited from CActive 
-         */
-        void DoCancel();
-
-        /** 
-         * Inherited from CActive 
-         */
-        TInt RunError( TInt aError );
-
-	private:		
-		/**
-         * Reference to the Application Ui to which all the Settings UI would
-         * belong to
-         */
-		CAknViewAppUi&					    iAppUi;
-		
-		/**
-		 * Handle to the ECom Session
-		 */
-		REComSession*					    iSession;
-		
-		/**
-		 * ECom notifier
-		 */
-		MLocSettingsUiEcomNotifer*          iNotifier;
-		
-	};
-
-#endif // C_LOCSETTINGSUIPLUGINLOADER_H_
-
--- a/locationsystemui/locationsysui/locsysuiview/inc/locsysuicontainer.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,221 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Location System Ui Plugin View's container
-*
-*/
-
-
-#ifndef C_LOCSYSUICONTAINER_H_
-#define C_LOCSYSUICONTAINER_H_
-
-// System Includes 
-#include <e32base.h>
-#include <coecntrl.h>
-#include <eiklbo.h>
-
-
-// Forward Declarations
-class CAknSettingStyleListBox;
-class CLocSysUiView;
-class CLocSysUiLBModel;
-class CEikStatusPane;
-class MLocSysUiContainerEventHandler;
-class CLocationSettings;
-
-// Class Declarations
-/**
- * Container for the LocationSystemUiView. Contains the Listbox control that is used to 
- * display the various sub-views that are available. The List box takes a model
- * from the view which it inturn uses as a list box model
- *
- * @lib locsysuiview.lib
- * @since S60 v3.1
- */
- NONSHARABLE_CLASS( CLocSysUiContainer ): public CCoeControl, 
-						                  public MEikListBoxObserver
-	{
-    private:
-        
-        	
-	public:
-        /**
-         * Destructor
-         */
-        virtual ~CLocSysUiContainer();
-
-		/**
-         * Static Two phase contructor that instantiates the 
-         * CLocationSystemUiUIContainer
-         * 
-         * @param aEventHandler		 Reference to the Container's event handler
-         * @param aSettingsArray	 Reference to the Settings UI array.
-         * @param aRect				 Client rectangle.
-         * @return CLocSysUiContainer*	Reference to the object created.
-         */
-        static CLocSysUiContainer* NewL( 
-        		MLocSysUiContainerEventHandler&	    aEventHandler,
-        		RPointerArray<CLocationSettings>&   aSettingsArray,
-        		const TRect& 					    aRect );
-
-        /**
-         * Static Two phase contructor that instantiates the 
-         * CLocationSystemUiUIContainer. Leaves the object on the Cleanup stack
-         * 
-         * @param aEventHandler		 Reference to the Container's event handler
-         * @param aSettingsArray	 Reference to the Settings UI array.
-         * @param aRect				 Client rectangle.
-         * @return CLocSysUiContainer*	Reference to the object created.
-         */
-        static CLocSysUiContainer* NewLC( 
-        		MLocSysUiContainerEventHandler&	    aEventHandler,
-        		RPointerArray<CLocationSettings>&   aSettingsArray,
-        		const TRect& 					    aRect );
-
-        /**
-         * Returns the Settings Ui item that is currently focussed.
-         *
-         * @return	CLocationSettings& Referrence to the Settings UI corresponding
-         *							   to the index.
-         */
-        CLocationSettings&	GetFocussedSettingsUiL();
-
-        /**
-         * Calls upon the container to update the list bix contents.
-         *
-         * @param aSettingsArray Reference to the Settings UI array.
-         */
-        void UpdateListBoxL(RPointerArray<CLocationSettings>&	aSettingsArray);
-        
-        /**
-         * Returns the currently focussed element index
-         *
-         * @return TUint    Currently focussed element index    
-         */
-        TUint CurrentFocussedElement();
-        
-        /**
-         * Sets the current highlighted element
-         *
-         * @param aCurrentElement    Currently focussed element index    
-         */
-        void SetFocussedElement( TUint      aCurrentElement );
-        
-    public:
-        /**
-         * Inherited from CCoeControl
-         */
-        TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
-        						           TEventCode aType );
-        							    
-        /**
-         * Inherited from CCoeControl
-         */
-        void HandleResourceChange(TInt aType);
-
-        /**
-         * From CoeControl
-         */
-        TInt CountComponentControls() const;
-
-        /**
-         * From CCoeControl
-         */
-        CCoeControl* ComponentControl(TInt aIndex) const;
-
-        /**
-         * From CCoeControl
-         */
-        void GetHelpContext( TCoeHelpContext& aContext ) const;
-    
-    public:
-        /**
-         * Inherited from MEikListBoxObserver
-         */
-        void HandleListBoxEventL( CEikListBox*      aListBox, 
-        					      TListBoxEvent     aEventType );
-        					      
-	protected:
-        /**
-         * Handles Focus Change to list 
-         */
-        void FocusChanged(TDrawNow aDrawNow);
-
-        /**
-         * From CoeControl,SizeChanged.
-         */
-        void SizeChanged();
-
-	private:
-	    /**
-         * Overloaded Constructor
-         *
-         * @param aEventHandler		Reference to the Container's event handler
-         */
-        CLocSysUiContainer( MLocSysUiContainerEventHandler&	aEventHandler );
-        
-        /**
-         * Second phase of the two phase Construction process
-         *
-         * @param aSettingsArray    Reference to the Settings UI array.
-         * @param aRect				Client rectangle
-         */
-        void ConstructL( RPointerArray<CLocationSettings>&  aSettingsArray,
-        			     const TRect& 						aRect );
-
-        /** 
-         * Creates the List box and the Listbox model. Associates the 
-         * list box model wit the list box
-         *
-         * @param aSettingsArray	 Reference to the Settings UI array.
-         */
-        void CreateListboxL( RPointerArray<CLocationSettings>&  aSettingsArray );
-
-        /**
-         * Returns the Appui's status pane
-         * @return CEikStatusPane* Statuspane pointer
-         */
-        CEikStatusPane* StatusPane();
-
-        /**
-         * Sets the Title text
-         * @param aResourceText Resource to create title
-         */
-        void MakeTitleL( TInt aResourceText );
-
-	private:
-	    /**
-	     * Reference to the Container's event handler
-	     */
-		MLocSysUiContainerEventHandler&		iEventHandler;
-       
-        /**
-         * Help Context Name
-         */ 
-        TCoeContextName 					iContextName;
-        
-		/**
-		 * List box Model
-		 * Owns
-		 */
-		CLocSysUiLBModel*			iListBoxModel;
-		
-		/**
-		 * List box component control
-		 * Owns
-		 */
-		CAknSettingStyleListBox*			iListBox;
-	};
-
-#endif // C_LOCSYSUICONTAINER_H_
-
--- a/locationsystemui/locationsysui/locsysuiview/inc/locsysuicontainereventhandler.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Handles Events from the container 
-*
-*/
-
-
-#ifndef M_LOCSYSUICONTAINEREVENTHANDLER_H_
-#define M_LOCSYSUICONTAINEREVENTHANDLER_H_
-
-// System Include
-#include <e32base.h>
-
-/**
- * Handles events from the Location System UI Container
- *
- * @lib locsysuiview.lib
- * @since S60 v3.1
- */
-class MLocSysUiContainerEventHandler
-	{
-	public:
-		/**
-		 * Handles the Item selection event from the container
-		 * @since S60 v3.1
-		 */
-	 	 virtual void ListBoxItemSelectedL() 	= 0;
-	 	 
-	 	/**
-		 * Handles the Screen Size update
-		 * @since S60 v3.1
-		 */
-		 virtual void HandleScreenSizeChange() 	= 0; 
-	};
-
-#endif // M_LOCSYSUICONTAINEREVENTHANDLER_H_
-
--- a/locationsystemui/locationsysui/locsysuiview/inc/locsysuilbmodel.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  List box for the Location Setting View
-*
-*/
-
-#ifndef C_LOCSYSUILBMODEL_H_
-#define C_LOCSYSUILBMODEL_H_
-
-// System Include
-#include <e32base.h>
-#include <bamdesca.h>  // MDesCArray
-
-// Forward Declarations 
-class CLocationSettings;
-
-// Class Declaration
-/**
- * Model for the Settings UI view container. Takes a Settings Description array
- * and creates a sorted array from it. 
- *
- * @lib locsysuiview.lib
- * @since S60 v3.1
- */
- NONSHARABLE_CLASS( CLocSysUiLBModel ): public CBase,
-						                public MDesCArray
-	{
-	public:
-        /**
-         * Two-phased constructor
-         * @param aSettingsArray	    Reference to the Settings UI array.
-         * @return CLocSysUiLBModel*    Reference to the object created.
-         */
-        static CLocSysUiLBModel* NewL(
-        				RPointerArray<CLocationSettings>& aSettingsArray );
-
-        /**
-        * Destructor.
-        */
-        virtual ~CLocSysUiLBModel();
-
-        /**
-         * Returns the Settings UI pertaining to a particular index value.
-         *
-         * @param	aIndex			   Index of the Settings Ui.
-         * @return	CLocationSettings& Referrence to the Settings UI corresponding
-         *							   to the index.
-         */
-        CLocationSettings&	SettingsUiL( TInt	aIndex );
-
-        /**
-         * Updates the List box contents
-         *
-         * @param aSettingsArray	Reference to the Settings UI array.
-         */
-        void UpdateListBoxContentsL( RPointerArray<CLocationSettings>& aSettingsArray );
-
-    protected:
-        /**
-         * Inherited from MDesCArray
-         */
-        TInt MdcaCount() const;
-
-        /**
-         * Inherited from MDesCArray
-         */
-        TPtrC16 MdcaPoint( TInt aIndex ) const;
-        
-    private:
-        /**
-         * C++ constructor.
-         */
-        CLocSysUiLBModel( RPointerArray<CLocationSettings>& aSettingsArray );
-        
-        /**
-         * Second Phase constructor
-         */
-        void ConstructL();
-
-    private:
-        /**
-         * Reference to the array of Settings UI.
-         */
-		RPointerArray<CLocationSettings>& iSettingsArray;
-
-        /**
-         * Format conversion buffer
-         * Owns
-         */
-        HBufC* iBuffer;
-	};
-
-#endif // C_LOCSYSUILBMODEL_H_
-
--- a/locationsystemui/locationsysui/locsysuiview/inc/locsysuiview.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,297 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This  is a header file for view class of Location settings Ui
-*
-*/
-
-#ifndef C_LOCSYSUIVIEW_H_
-#define C_LOCSYSUIVIEW_H_
-
-//  System Includes
-#include <e32base.h>
-#include <aknview.h>
-#include <eikclb.h>
-#include <ConeResLoader.h>
-#include <gsplugininterface.h>
-
-// User Includes
-#include "locsysuiviewuid.hrh"
-#include "locsysuicontainereventhandler.h"
-#include "locationui.h"
-#include "locsettingsuiecomnotifier.h"
-
-// Forward Declarations
-class CGulIcon;
-class CLocSysUiContainer;
-class CLocSettingsUiEngine;
-
-// Global Constant Declarations
-
-/** 
- * Plug-In Impletation and View ID 
- */
-const TUid KLocSysUiViewPluginUid = { LOCSYSUIVIEW_UID3 };
-
-/**
- * Name of the Plug-in resource file
- */
-_LIT( KLocSysUiViewResFileName, "locsysuiviewrsc.rsc" );
-
-// Class Declaration
-
-/**
-* Location System UI plugin. Extends the CGSPluginInterface to implement the 
-* Location Specific Settings. 
-*
-* @lib locsysuiview.lib
-* @since S60 v3.1  
-*/
-class CLocSysUiView : public CGSPluginInterface,
-					  public MLocationUIObserver,
-					  public MLocSettingsUiEcomNotifer,
-					  public MLocSysUiContainerEventHandler 
-	{        	
-	public:
-        /**
-         * Destructor
-         */
-        virtual ~CLocSysUiView();
-        
-        /**
-         * Creates new Location Sys Ui plugin.
-         *
-         * @return CLocSysUiView*	Reference to the application view
-         */                                                 
-        IMPORT_C static CLocSysUiView* NewL();
-
-        /**
-         * Creates new Location Sys Ui plugin. Leaves the object on the 
-         * Clean up stack
-         *
-         * @return CLocSysUiView*	Reference to the application view
-         */                                                 
-        static CLocSysUiView* NewLC();
-
-        /**
-         * Sets the flag that the view has been launched from Positioning
-         * Settings Application. This is necessary to variate the CBA for
-         * stand-alone launches.
-         */
-        IMPORT_C void LaunchedfromPosSettingsApp();
-        
-        /**
-         * Handles any change in the client rectangle
-         */
-        void HandleClientRectChange();
-
-        /**
-         * Open Postioning View. 
-         * Opens the Postioning View in the default mode.
-         */
-        void ActivateViewL();
-        
-        /**
-         * Closes the Positioning View and all the associated sub-settings
-         * views
-         */
-        void DeActivateView();
-       
-        /**
-         * Sets an External Observer for notification about the termination
-         * of Postioning Setting UI.
-         *
-         * @param aObserver Observer to Postioning Settings UI.
-         */
-        void SetObserver( MLocationUIObserver*       aObserver );
-         
-    public:
-        /**
-         * From CAknView. 
-         */
-        void DoActivateL( const TVwsViewId&  aPrevViewId,
-        					    TUid		 aCustomMessageId,
-        			      const TDesC8&	     aCustomMessage );
-
-        /**
-         * From CAknView. 
-         */
-        void DoDeactivate();
-
-        /**
-         * From CAknView. Returns the View Id. Should be chosen to reflect 
-         * the Implementation UID of the Plugin
-         */
-        TUid Id() const;
-
-        /**
-         * From CAknView. 
-         */
-        void HandleCommandL(TInt aCommand);
-    
-    public:
-        /**
-         * From MEikMenuObserver
-         */
-        void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
-           
-    public: 
-        /**
-         * Inherited from CGSPluginInterface. 
-         * Method for getting caption of this plugin. This should be the 
-         * localized name of the settings view to be shown in parent view.
-         *
-         * @param aCaption pointer to Caption variable
-         */
-        void GetCaptionL( TDes& aCaption ) const;
-
-        /**
-         * Inherited from CGSPluginInterface.
-         * Creates a new icon of desired type. Ownership of the created icon 
-         * is transferred to the caller.
-         *
-         * Icon type UIDs (use these defined constants):
-         * KGSIconTypeLbxItem  -   ListBox item icon.
-         * KGSIconTypeTab      -   Tab icon.
-         * 
-         * @param aIconType UID Icon type UID of the icon to be created.
-         * @return CGulIcon* Pointer of the icon. NOTE: Ownership of this
-         *					icon is transferred to the caller.
-         */
-        CGulIcon* CreateIconL( const TUid aIconType );
-
-        /**
-         * Inherited from CGSPluginInterface
-         * Method for reading the ID of the plugin provider category. 
-         *
-         * @return Plugin provider category ID defined by 
-         *         TGSPluginProviderCategory
-         */
-        TInt PluginProviderCategory() const;
-
-    public: // Inherited from MLocationUIObserver
-        /**
-         * Inherited from MLocationUIObserver
-         * Notifies the termination of the Settings UI
-         *
-         * @param aErrorCode The termination reason. KErrNone for normal 
-         *					terminations. In case of error or pre-mature
-         *					aborting System wide Error codes.
-         */
-        void LocationUIDismissed( TInt aErrorCode );
-
-    public: // Inherited from MLocSettingsUiEcomNotifer
-        /** 
-         * Inherited from MLocSettingsUiEcomNotifer
-         * Notifies any change in the state of the underlying Settings UI
-         * session
-         *
-         * @param aErrorCode Error Code denoting the state change
-         */
-        void EComSessionStateChanged( TInt aErrorCode );
-    
-    public:
-        /**
-         * Handles the Item selection event from the container.
-         * Inherited from MLocSysUiContainerEventHandler
-         */
-        void ListBoxItemSelectedL();
-
-        /**
-         * Handles the Screen Size update
-         * Inherited from MLocSysUiContainerEventHandler
-         */
-        void HandleScreenSizeChange();
-               
-	private:
-        /**
-         * Constructor
-         */
-        CLocSysUiView();
-        
-        /**
-         * Second Phase Constructor
-         */
-        void ConstructL();
-
-        /**
-         * Opens the nearest localized resourcefile using aResourceLoader. 
-         * aResourceLoader should be opened only once before closing it. 
-         * Otherwise it will raise a panic. Therefore it is better to have 
-         * multiple resource loaders.
-         * 
-         * @param aResourceFileName Drive and name of resource file in format 
-         *                          <path>:<rsc_file_name>
-         * @param aResourceLoader Resource loader for the resource. The loader 
-         *                        must not be opened allready or it will raise 
-         *                        a panic. It is caller's responsibility to 
-         *                        close the resource loader after using the 
-         *                        resource.
-         */
-        void OpenLocalizedResourceFileL( const TDesC& 				aResourceFileName, 
-        								       RConeResourceLoader& aResourceLoader );
-	    /**
-         * Shows or dims help option, depending wheather help feature
-         * is supported or not.
-         * @param aMenuPane
-         */
-        void HandleHelpFeature( CEikMenuPane& aMenuPane ) const;
-        	 
-	private:
-	    /**
-	     * View of the View that was active before this view was launched
-	     */
-		TVwsViewId 						iPrevViewId;
-		
-	    /**
-	     * Resource Loader
-	     */
-		RConeResourceLoader 			iResourceLoader;
-		
-	    /**
-	     * Reference to the Location System UI Engine
-	     * Owns
-	     */
-		CLocSettingsUiEngine*		    iEngine;
-		
-	    /**
-	     * Reference to the Location System UI Container
-	     * Owns
-	     */
-		CLocSysUiContainer*		        iContainer;
-		
-	    /**
-	     * Boolean flag to denote that a UI is waiting for its dismissal
-	     */
-		TBool							iSettingsUiDismissalPending;
-		
-		/**
-		 * Current Highlighted item index. Used to refresh the list box when 
-		 * we return from the Settings UIs
-		 */
-		TUint                           iHighlightedIndex;
-		 
-        /**
-         * Postioning Settings Observer.
-         */
-        MLocationUIObserver*            iObserver;		 
-        
-        /**
-         * Boolean flag to denote whether the view is launched from
-         * Positioning Settings Application
-         */
-        TBool                           isLaunchedFromPosSettingsApp;
-	};
-
-#endif // C_LOCSYSUIVIEW_H_
-
--- a/locationsystemui/locationsysui/locsysuiview/inc/locsysuiview.hrh	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Contains declarations for constants of location.
-*                This file can be included in C++ or resource file.
-*
-*/
-
-#ifndef LOCATIONSYSTEMUIVIEW_HRH_
-#define LOCATIONSYSTEMUIVIEW_HRH_
-
-/**
- * Enumeration for command Ids. Used in the Menu pane
- */ 
-enum TLocationCommandIds
-    {
-	ELocSysUiCmdOpen = 0x06000,
-    ELocCmdNone
-    };
-
-#endif      // LOCATIONSYSTEMUIVIEW_HRH_
-
-// End of File
--- a/locationsystemui/locationsysui/locsysuiview/inc/locsysuiviewuid.hrh	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Contains the UID3 value to be used for the Location System UI
-*				 view. The value is expected to have three specific functions
-*				 1. UID3 for the LocationSystemUiView.dll ECOM DLL
-*				 2. Implementation UID for the ECOM plugin to GS
-*				 3. CLocationSystemUiView View ID. Returned by the ID function
-*
-*/
-
-#ifndef LOCATIONSYSUIVIEWUID_HRH_
-#define LOCATIONSYSUIVIEWUID_HRH_
-
-/**
- * Location System UI View UID3
- * The value is expected to have three specific functions				 
- *          1. UID3 for the LocationSystemUiView.dll ECOM DLL
- *			2. Implementation UID for the ECOM plugin to GS
- *			3. CLocationSystemUiView View ID. Returned by the ID function
- */  
-#define LOCSYSUIVIEW_UID3          0x10207462
-
-#endif      // LOCATIONSYSUIVIEWUID_HRH_
-
-// End of File
-
-
--- a/locationsystemui/locationsysui/locsysuiview/src/locationsettings.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,231 +0,0 @@
-/*
-* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Location Settings implementation of Location UIs. This class
-*                extends the Location UI interface for Location sub-settings
-*                plug-ins.
-*
-*/
-
-
-// System Include
-#include <aknViewAppUi.h>
-
-// User Include
-#include "locationsettings.h"
-#include "locsettingsui.h"
-#include "locsettingsuiparams.h"
-
-// Constant
-const TInt KMaxSettingsUiCaptionSize = 0x100;
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CLocationSettings::CLocationSettings
-// Overloaded Constructor
-//
-// ---------------------------------------------------------------------------
-//
-CLocationSettings::CLocationSettings( const TUid	     aImplementationId )
-	:iImplementationId( aImplementationId )
-	{		
-	}
-
-// ---------------------------------------------------------------------------
-// CLocationSettings::~CLocationSettings
-// Destructor
-//
-// ---------------------------------------------------------------------------
-//
-CLocationSettings::~CLocationSettings()
-	{
-	// Delete the caption string	
-	delete iCaption;
-	
-	// Delete the contained Settings UI pointer
-	delete iLocationSettings;
-	}	
-					 
-// ---------------------------------------------------------------------------
-// CLocationSettings* CLocationSettings::NewL
-// Two Phase Constructor.
-//
-// @param   aImplementationId   Implementation UID of the settings plug-in.
-// @param   aAppUi              Application's AppUi reference.
-// @return	CLocationSettings*	Pointer to the created object
-// ---------------------------------------------------------------------------  
-//
-CLocationSettings* CLocationSettings::NewL( const TUid	     aImplementationId,
-                                            CAknViewAppUi&	aAppUi )
-	{
-    CLocationSettings* self = CLocationSettings::NewLC( aImplementationId,
-                                                        aAppUi );
-	CleanupStack::Pop( self );
-	return self;
-	}
-	
-// ---------------------------------------------------------------------------
-// CLocationSettings* CLocationSettings::NewLC
-// Two Phase Constructor.
-//
-// @param   aImplementationId   Implementation UID of the settings plug-in.
-// @param   aAppUi              Application's AppUi reference.
-// @return	CLocationSettings*	Pointer to the created object
-// ---------------------------------------------------------------------------  
-//
-CLocationSettings* CLocationSettings::NewLC( const TUid	     aImplementationId,
-                                             CAknViewAppUi&	 aAppUi )
-	{
-    CLocationSettings* self = new(ELeave) CLocationSettings( aImplementationId );
-	CleanupStack::PushL( self );
-	self->ConstructL( aAppUi );
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocationSettings::ConstructL
-// Second Phase of the two phase constructor.
-// ---------------------------------------------------------------------------
-//									 
-void CLocationSettings::ConstructL( CAknViewAppUi&	 aAppUi )
-	{
-	// Create the Location Settings ECom plug-in
-    CLocSettingsUiParams* param = CLocSettingsUiParams::NewLC( *this,
-                                                               aAppUi );
-                                                               
-    iLocationSettings = CLocSettingsUi::NewL( iImplementationId, *param );
-    
-    // Pop and destroy the Settings parameter
-    CleanupStack::PopAndDestroy( param );
-                                                                   
-	// Allocate the buffer for the Caption string and copy the caption from
-	// the plug-in
-	iCaption = HBufC::NewMaxL( KMaxSettingsUiCaptionSize );
-	TPtr  captionPtr = iCaption->Des();
-	iLocationSettings->GetCaptionL( captionPtr );
-		
-	}
-	
-// ---------------------------------------------------------------------------
-// const TPtrC CLocationSettings::Caption
-// Accessor Function for the Setings UI Caption
-//
-// @return const TPtrC Caption String
-// ---------------------------------------------------------------------------
-//
-TPtrC CLocationSettings::Caption()
-	{
-	return iCaption->Des();
-	}
-
-// ---------------------------------------------------------------------------
-// const TInt CLocationSettings::Priority()
-// Returns the priority of the UI module. 
-//
-// @return const TInt Priority of the Settings UI
-// ---------------------------------------------------------------------------
-//
-TInt CLocationSettings::Priority()	
-	{
-	return iLocationSettings->GetPriority();	
-	}
-
-// ---------------------------------------------------------------------------
-// const TUid CLocationSettings::ImplementationUid()
-// Accessor Function for the Setings UI Implementation UID
-//
-// @return const TUid Settings UI Plug In's implementation UID
-// ---------------------------------------------------------------------------
-//
-const TUid CLocationSettings::ImplementationUid()
-	{
-	return iImplementationId;	
-	}
-		
-// ---------------------------------------------------------------------------
-// void CLocationSettings::LaunchLocationUIL
-// Launches a Location UI component.
-//
-// @param aUiInputParams Flags that define specific configuration of the
-//                       Location UI, that the user of the API wants to
-//                       launch. If more than one functionality is
-//                       requested then the various combinations are to be
-//                       ORed. The interpretation of these flag values is
-//                       a part of the understanding between the API user
-//                       and the corresponding Location UI.
-// @param aObserver      Observer where the termination of the Launch call
-//                       needs to be notified.
-// ---------------------------------------------------------------------------
-//                                       
-void CLocationSettings::LaunchLocationUIL( TInt		            aUiInputParams,
-                                           MLocationUIObserver* aObserver )
-    {
-    // Set the Observer for the launch call
-    iObserver = aObserver;
-    
-    // Launch the sub-settings UI
-    iLocationSettings->LaunchL( aUiInputParams );
-    }
-		
-// ---------------------------------------------------------------------------
-// void CLocationSettings::LaunchLocationUIL
-// Launches a Location UI component.
-//
-// @param aUiInputParams String passed as a parameter to the
-//                       Location UI, that the user of the API wants to
-//                       launch. The interpretation of this string is
-//                       a part of the understanding between the API user
-//                       and the corresponding Location UI.
-// @param aObserver      Observer where the termination of the Launch call
-//                       needs to be notified.
-// ---------------------------------------------------------------------------
-//                                       
-void CLocationSettings::LaunchLocationUIL( const TDesC&		            aUiInputParams,
-                                           MLocationUIObserver* aObserver )
-    {
-    // Set the Observer for the launch call
-    iObserver = aObserver;
-    
-    // Launch the sub-settings UI
-    iLocationSettings->LaunchL( aUiInputParams );
-    }
-    
-// ---------------------------------------------------------------------------
-// void CLocationSettings::Close
-// Closes the running Location UI prematurely.
-// ---------------------------------------------------------------------------
-//
-void CLocationSettings::Close()
-    {
-    // Closes the Location sub-settings
-    iLocationSettings->Close();
-    }
-
-// ---------------------------------------------------------------------------	
-// void CLocationSettings::SettingClosed
-// Inherited from MLocSettingsUiObserver. Notification from the Settings UI
-// to indicate the termination of the Settings UI application
-//
-// @param aErrorCode The termination reason. KErrNone for normal 
-//					 terminations. In case of error or pre-mature aborting
-//					 System wide Error codes.
-// ---------------------------------------------------------------------------
-//
-void CLocationSettings::SettingClosed( TInt  aErrorCode )
-	{
-	if( iObserver )
-	    {
-	    iObserver->LocationUIDismissed( aErrorCode );
-	    }
-	}
--- a/locationsystemui/locationsysui/locsysuiview/src/locpossettings.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,129 +0,0 @@
-/*
-* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Positioning Settings implementation of Location UIs.
-*
-*/
-
-
-// System Include
-#include <eikenv.h>
-#include <aknViewAppUi.h>
-
-// User Include
-#include "locpossettings.h"
-#include "locsysuiview.h"
-
-// ---------------------------------------------------------------------------
-// CLocPosSettings::CLocPosSettings
-// Overloaded Constructor
-//
-// ---------------------------------------------------------------------------
-//
-CLocPosSettings::CLocPosSettings()
-    {
-    }
-   
-// ---------------------------------------------------------------------------
-// CLocPosSettings::~CLocPosSettings
-// Destructor
-//
-// ---------------------------------------------------------------------------
-//    
-CLocPosSettings::~CLocPosSettings()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CLocPosSettings* CLocPosSettings::NewL
-// Two phase constructor
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLocPosSettings* CLocPosSettings::NewL()
-    {
-    CLocPosSettings* self = CLocPosSettings::NewLC();
-	CleanupStack::Pop( self );
-	return self;
-    }
-           
-// ---------------------------------------------------------------------------
-// CLocPosSettings* CLocPosSettings::NewL
-// Two phase constructor
-//
-// ---------------------------------------------------------------------------
-//         
-EXPORT_C CLocPosSettings* CLocPosSettings::NewLC()
-    {
-    CLocPosSettings* self = new(ELeave) CLocPosSettings();
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	return self;
-    }
-
-// ---------------------------------------------------------------------------
-// void CLocPosSettings::ConstructL
-//
-// ---------------------------------------------------------------------------
-// 
-void CLocPosSettings::ConstructL()
-    {
-    // Create the Positioning Specfic view and set its observer
-    iView = CLocSysUiView::NewL();
-    
-    CEikonEnv* env = CEikonEnv::Static();
-    
-    // Transferring the view's control to AppUi
-    (static_cast<CAknViewAppUi*>( env->EikAppUi()))->AddViewL( iView );    
-    }
-    
-// ---------------------------------------------------------------------------
-// void CLocPosSettings::LaunchLocationUIL
-//
-// ---------------------------------------------------------------------------
-//
-void CLocPosSettings::LaunchLocationUIL( TInt		    /* aUiInputParams */,
-                                         MLocationUIObserver*    aObserver )
-    {
-    // Set the call back observer for this Launch call
-    iView->SetObserver( aObserver );
-    
-    // Activate the Positoning Settings View
-    iView->ActivateViewL();
-    }
-    
-// ---------------------------------------------------------------------------
-// void CLocPosSettings::LaunchLocationUIL
-//
-// ---------------------------------------------------------------------------
-//
-void CLocPosSettings::LaunchLocationUIL( const TDesC&           /* aUiInputParams */,
-                                         MLocationUIObserver*    aObserver )
-    {
-    // Set the call back observer for this Launch call
-    iView->SetObserver( aObserver );
-    
-    // Activate the Positoning Settings View
-    iView->ActivateViewL();
-    }
-    
-// ---------------------------------------------------------------------------
-// void CLocPosSettings::Close
-//
-// ---------------------------------------------------------------------------
-//
-void CLocPosSettings::Close()
-    {
-    // Deactivate the Postioning Settings view.
-    iView->DeActivateView();
-    }
--- a/locationsystemui/locationsysui/locsysuiview/src/locsettingsuiengine.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,262 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This defines the engine class for Location settings Ui
-*
-*/
-
-
-// System Include 
-#include <aknViewAppUi.h>
-
-// User Include
-#include "locsettingsuiengine.h"
-#include "locsettingsuiecomnotifier.h"
-#include "locationsettings.h"
-#include "locsettingsuipluginloader.h"
-#include "locsettingsui.h"
-#include "locsettingsuiparams.h"
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUiEngine::CLocSettingsUiEngine
-// Overloaded Constructor
-//
-// ---------------------------------------------------------------------------
-//
-CLocSettingsUiEngine::CLocSettingsUiEngine( CAknViewAppUi&	aAppUi )
-	:iAppUi( aAppUi )
-	{		
-	}
-
-// ---------------------------------------------------------------------------
-// CLocationSystemUiView::~CLocSettingsUiEngine
-// Destructor
-//
-// ---------------------------------------------------------------------------
-//
-CLocSettingsUiEngine::~CLocSettingsUiEngine()
-	{
-
-	// Delete the Settings UI Descriptions
-	while ( iSettingsArray.Count() > 0 )
-		{
-		// Remove the first item
-		CLocationSettings* item = iSettingsArray[0];
-		iSettingsArray.Remove( 0 );
-		
-		// Delete the element
-		delete item;
-		item = NULL;
-		}
-	iSettingsArray.Reset();
-	iSettingsArray.Close();
-	
-	// Delete the Plug-in Loader
-	delete iPluginLoader;	
-	}	
-					 
-// ---------------------------------------------------------------------------
-// CLocSettingsUiEngine* CLocSettingsUiEngine::NewL
-// Two Phase Constructor. 
-//
-// @param 	aAppUi				    Reference to the Application UI class that
-//									launched the Settings Application
-// @return	CLocSettingsUiEngine*	Reference to the created object
-// ---------------------------------------------------------------------------  
-//
-EXPORT_C CLocSettingsUiEngine* CLocSettingsUiEngine::NewL( CAknViewAppUi& aAppUi )
-	{
-    CLocSettingsUiEngine* self = CLocSettingsUiEngine::NewLC( aAppUi );
-	CleanupStack::Pop( self );
-	return self;
-	}
-	
-// ---------------------------------------------------------------------------
-// CLocSettingsUiEngine* CLocSettingsUiEngine::NewLC
-// Two Phase Constructor. 
-//
-// @param 	aAppUi					Reference to the Application UI class that
-//									launched the Settings Application
-// @return	CLocSettingsUiEngine*	Reference to the created object
-// ---------------------------------------------------------------------------  
-//
-EXPORT_C CLocSettingsUiEngine* CLocSettingsUiEngine::NewLC( CAknViewAppUi&	aAppUi )
-	{
-    CLocSettingsUiEngine* self = new(ELeave) CLocSettingsUiEngine( aAppUi );
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSettingsUiDesc::ConstructL
-// Second Phase of the two phase constructor. The caption string is copied into
-// 
-// ---------------------------------------------------------------------------
-//									 
-void CLocSettingsUiEngine::ConstructL()
-	{
-	
-	// Construct the Plug-In Loader
-	iPluginLoader = CLocSettingsUiPluginLoader::NewL( iAppUi );
-
-	}
-
-// ---------------------------------------------------------------------------
-// CLocationSettings* CLocSettingsUiEngine::CreateSettingsUiL
-// 
-// Creates a single Settings UI Object.
-// In case the object already exists, then a reference to the existing object is
-// returned and no new object is created. In either case, the class retains the
-// ownership of the created object.
-//
-// @param aImplementationUid The Implementation UID of the plug-in that
-//                           has to be created.
-// @return CLocationSettings* Reference to the created object.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLocationSettings* CLocSettingsUiEngine::CreateSettingsUiL( 
-                                                        TUid aImplementationUid )
-    {
-    // Scan through the existing list of Settings UIs. Incase, a UI with the
-    // same UID exists then return the same. If not create a new implmentation
-    // and return a reference to it
-    
-    TInt index = KErrNotFound;
-    
-    // Iterate through the Settings UI array
-	for ( TInt count = 0; count < iSettingsArray.Count(); count++ )
-	{
-	CLocationSettings* currentItem = iSettingsArray[count];
-	// If the Settings object for the Implementation UID already
-	// exisits then dont do anything
-	if ( aImplementationUid == currentItem->ImplementationUid())
-		{
-		index = count;
-		break;
-		}
-	}
-    
-    if( KErrNotFound != index )
-        {
-        // A Settings UI corresponding to the UID already exists. Return a 
-        // reference to the same.
-        return iSettingsArray[index];
-        }
-    else
-        {
-        // Settings UI does not exist. Create a new implementation and 
-        // return the same
-        return  &( iPluginLoader->CreateSettingsUiL( aImplementationUid,
-                                                     iSettingsArray ));                                                   
-        
-        }
-    }
-        
-// ---------------------------------------------------------------------------
-// RPointerArray<CLocationSettings>& CLocSettingsUiEngine::CreateAvailableSettingsUiL
-//
-// Creates all the available settings UI. This function call performs
-// an ECom discovery of all the possible ECom plugins that are 
-// available and creates the Settings UI components as well as the 
-// plug-in UI. The ownership of the created objects is not transferred
-// to the callee but retained with the Engine class. This function needs 
-// that No settings UIs have been already created. Incase, there exists
-// any Settings UIs then the function leaves with KErrAlreadyExists.
-//
-// @return RPointerArray<CLocationSettings>& Reference to the array of Settings
-//                                           objects.
-// ---------------------------------------------------------------------------
-//
-RPointerArray<CLocationSettings>& CLocSettingsUiEngine::CreateAvailableSettingsUiL()
-    {
-	
-	// The function expects that there are no existing Settings UI elements 
-	// present. Hence, the need to check
-	if( iSettingsArray.Count())
-	    {
-	    User::Leave( KErrAlreadyExists );
-	    }
-	    
-	// Create the Settings UIs 
-	iPluginLoader->CreateAvailableSettingsUisL( iSettingsArray );
-	
-	// Return a reference to the created Settings UI structures
-	return iSettingsArray;	
-    }
-        
-// ---------------------------------------------------------------------------
-// PointerArray<CLocationSettings>& CLocSettingsUiEngine::UpdateAvailableSettingsUisL()
-//
-// Updates the list of available UIs. The new list would contain all the
-// latest additions to the list of UIs in addition to the existing
-// UIs. The interface does not delete any instances if they are not in
-// the current implementation list.
-//
-// @return RPointerArray<CLocationSettings>& Reference to the array of Settings
-//                                           objects.   
-// ---------------------------------------------------------------------------
-//
-RPointerArray<CLocationSettings>& CLocSettingsUiEngine::UpdateAvailableSettingsUisL()
-	{
-	
-	// Create the Settings UIs 
-	iPluginLoader->CreateAvailableSettingsUisL( iSettingsArray );
-	
-	// Return a reference to the created Settings UI structures
-	return iSettingsArray;
-	}
-	
-// ---------------------------------------------------------------------------
-// RPointerArray<CLocationSettings>& CLocSettingsUiEngine::SettingsUiArray
-// 
-// Accessor function to obtain the Settings UI structures. The ownership of the 
-// internal objects is not transferred.
-// 
-//  @return RPointerArray<CLocationSettings>& Reference to the array of Settings
-//                                            objects. 
-// ---------------------------------------------------------------------------
-//
-RPointerArray<CLocationSettings>& CLocSettingsUiEngine::SettingsUiArray()
-    {
-    return iSettingsArray;
-    }
-
-// ---------------------------------------------------------------------------
-// void CLocSettingsUiEngine::StartSettingsEComNotification
-// Starts the Ecom notification for observing loading and unloading of the 
-// underlying sub-settings plug-ins
-//
-// @param aSettingsNotifer  Notifier for communication of changes in the 
-//                          Ecom loading and unloading for sub-settings
-//                          plug-ins
-// ---------------------------------------------------------------------------
-//
-void CLocSettingsUiEngine::StartSettingsEComNotificationL( 
-                            MLocSettingsUiEcomNotifer*   aNotifier )
-    {
-    iPluginLoader->StartEComNotifyL( aNotifier );
-    }
-                    
-// ---------------------------------------------------------------------------
-// void CLocSettingsUiEngine::StopSettingsEComNotification
-// Stops ECom notification. Does nothing in case there was no outstanding
-// request
-// ---------------------------------------------------------------------------
-//
-void CLocSettingsUiEngine::StopSettingsEComNotification()
-    {
-    iPluginLoader->StopEComNotify();
-    }
--- a/locationsystemui/locationsysui/locsysuiview/src/locsettingsuipluginloader.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,362 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Manages the E-Comm Plugin handling for the Settings UI.
-*
-*/
-
-
-// System Include
-#include <ecom/implementationinformation.h>
-#include <aknViewAppUi.h>
-	
-// User Include
-#include "locsettingsuipluginloader.h"
-#include "locationsettings.h"
-#include "locsettingsui.h"
-#include "locsettingsuiparams.h"
-#include "locsettingsuiecomnotifier.h"
-
-
-// Global Constants
-
-//Forward declaration. Function for sorted ordering of settings ui plug-ins
-static TInt SettingsDescOrdering( const CLocationSettings& aSettings1, 
-		  					   	  const CLocationSettings& aSettings2 );
-		  					   	  
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUiPluginLoader::CLocSettingsUiPluginLoader
-// Overloaded Constructor
-//
-// ---------------------------------------------------------------------------
-//
-CLocSettingsUiPluginLoader::CLocSettingsUiPluginLoader( CAknViewAppUi&	aAppUi )
-	:CActive( EPriorityStandard ),
-	iAppUi( aAppUi )
-	{
-	// Add self to the Active scheduler
-	CActiveScheduler::Add( this );			
-	}
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUiPluginLoader::~CLocSettingsUiPluginLoader
-// Destructor
-//
-// ---------------------------------------------------------------------------
-//
-CLocSettingsUiPluginLoader::~CLocSettingsUiPluginLoader()
-	{
-	Cancel();
-	}	
-					 
-// ---------------------------------------------------------------------------
-// CLocSettingsUiPluginLoader* CLocSettingsUiPluginLoader::NewL
-// Creates an instance of the Settings UI Plug-in Loader
-//
-// @param  aAppUi				    	App Ui Reference
-// @return CLocSettingsUiPluginLoader*	Reference to the instantiated class 
-// ---------------------------------------------------------------------------  
-//
-CLocSettingsUiPluginLoader* CLocSettingsUiPluginLoader::NewL( 
-                                                CAknViewAppUi&	aAppUi )
-	{
-    CLocSettingsUiPluginLoader* self = 
-                CLocSettingsUiPluginLoader::NewLC( aAppUi );
-	CleanupStack::Pop(self);
-	return self;
-	}
-	
-// ---------------------------------------------------------------------------
-// CLocSettingsUiPluginLoader* CLocSettingsUiPluginLoader::NewLC
-// Creates an instance of the Settings UI Plug-in Loader
-//
-// @param  aObserver				Observer to the CLocSettingsUiPluginLoader class
-// @param  aAppUi					App Ui Reference
-// @return CLocSettingsUiPluginLoader*	Reference to the instantiated class 
-// ---------------------------------------------------------------------------  
-//
-CLocSettingsUiPluginLoader* CLocSettingsUiPluginLoader::NewLC( 
-								                CAknViewAppUi&	aAppUi )
-	{
-    CLocSettingsUiPluginLoader* self = new(ELeave) CLocSettingsUiPluginLoader( aAppUi );
-	CleanupStack::PushL(self);
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSettingsUiPluginLoader::CreateAvailableSettingsUisL  
-// Creates all the settings UI currently available in the system. The 
-// user if this interface should ensure that he passes an empty
-// Settings Array structure.
-// 
-// @param aDescArray 		 Array of Settings UI.
-// --------------------------------------------------------------------------- 
-//
-void CLocSettingsUiPluginLoader::CreateAvailableSettingsUisL( 
-                                RPointerArray<CLocationSettings>&   aSettingsArray )
-	{
-	// List all the available implementations for KSettingsUiInterfaceUID
-	RImplInfoPtrArray	impInfoArray;
-	
-	REComSession::ListImplementationsL( KSettingsUiInterfaceUID,
-										impInfoArray );
-	for ( TInt impInfoArrayIterator = 0; 
-		 	   impInfoArrayIterator < impInfoArray.Count();
-		 	   impInfoArrayIterator ++ )
-		{
-		// Obtain the Implementation UID
-		CImplementationInformation* info = impInfoArray[impInfoArrayIterator];
-        TUid implUid = info->ImplementationUid();
-        
-        // Create the Location Settings UI class which inturn creates the
-        // sub-settings plug-in
-             			
-        CLocationSettings* settings = NULL;
-        TRAPD( error, settings = CLocationSettings::NewL( implUid, iAppUi ););
-        if( !error )
-            {
-            // Insert them in order. The order is specified by the SettingsDescOrdering
-    		// function			
-    		error = aSettingsArray.InsertInOrder( settings,
-    											  SettingsDescOrdering );
-    		if ( error )
-    			{
-    			// Issue with creating the Settings UI component. Delete it
-    			delete settings;   			
-    			}
-            }
-		}
-    // Destroy the implementation info array obtained from ECom Session
-	impInfoArray.ResetAndDestroy();	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSettingsUiPluginLoader::CreateSettingsUiL
-// Creates the Settings UI and the corresponding description entry. This
-// Location Settings object. The created object is appended to the existing
-// list and a reference to it returned.
-// 
-// @param aImplementationUid The Implementation UID of the plug-in that
-//                           has to be created
-// @param aSettingsArray	 Array of Settings UIs
-// @return CLocationSettings& Reference to the created object. The ownership is not
-//                            by the return value.
-// ---------------------------------------------------------------------------
-//
-CLocationSettings& CLocSettingsUiPluginLoader::CreateSettingsUiL( 
-                    TUid                                 aImplementationUid,
-                    RPointerArray<CLocationSettings>&    aSettingsArray )
-    {
-    // Create the plug in
-    
-	// The Function does not check for the existence of the plug-in
-	// in the implementation array.
-	
-    // The function is not trapped. If there is a leave then the function would
-    // leave with the error code generated. The calling function has to take 
-    // care of the non-existence of the plug-in
-	
-	CLocationSettings* settings = CLocationSettings::NewLC( aImplementationUid,
-	                                                        iAppUi );
-    			                                                    
-	// Insert them in order. The order is specified by the SettingsDescOrdering
-	// function			
-	User::LeaveIfError(  aSettingsArray.InsertInOrder( settings,
-											           SettingsDescOrdering ));
-	CleanupStack::Pop( settings );
-		
-    // Return the reference to the Settings UI
-    return *settings;			
-    }
-						        
-// ---------------------------------------------------------------------------
-// void CLocSettingsUiPluginLoader::UpdateAvailableSettingsUisL
-// Updates the Settings UI list and the description structures. The new
-// additions are appened in-order. The interface does not
-// delete any instances if they are not in the current implementation 
-// list
-// 
-// @param aSettingsArray     Array of Settings UIs.
-// @param aInitParams		 Opaque Initialization parameters that are 
-// 							 passed onto the Settings UI. The PluginLoader 
-// 							 does not understand these parameters
-// ---------------------------------------------------------------------------
-//
-void CLocSettingsUiPluginLoader::UpdateAvailableSettingsUisL( 
-						RPointerArray<CLocationSettings>&    aSettingsArray )
-	{
-		// List all the available implementations for KSettingsUiInterfaceUID
-	RImplInfoPtrArray	impInfoArray;
-	
-	REComSession::ListImplementationsL( KSettingsUiInterfaceUID,
-										impInfoArray );
-
-	for ( TInt impInfoArrayIterator = 0; 
-		 	   impInfoArrayIterator < impInfoArray.Count();
-		 	   impInfoArrayIterator ++ )
-		{
-		// Obtain the Implementation UID
-		CImplementationInformation* info = impInfoArray[impInfoArrayIterator];
-        TUid implUid = info->ImplementationUid();
-        
-        // Search if the plug-in already exists.
-        TInt index = KErrNotFound;
-        // Iterate through the Settings UI array
-		for ( TInt count = 0; count < aSettingsArray.Count(); count++ )
-		{
-		CLocationSettings* currentItem = aSettingsArray[count];
-		// If the Settings object for the Implementation UID already
-		// exisits then dont do anything
-		if ( implUid == currentItem->ImplementationUid())
-			{
-			index = count;
-			break;
-			}
-		}
-        
-        // If the index value is not set Create the plug in
-        if ( KErrNotFound == index )
-        	{
-            // Create the Location Settings UI class which inturn creates the
-            // sub-settings plug-in
-             			
-            CLocationSettings* settings = NULL;
-            TRAPD( error, settings = CLocationSettings::NewL( implUid, iAppUi ););
-            if( !error )
-                {
-                // Insert them in order. The order is specified by the SettingsDescOrdering
-    		    // function			
-    	        error = aSettingsArray.InsertInOrder( settings,
-    												  SettingsDescOrdering );
-    		    if ( error )
-    			    {
-    			    // Issue with creating the Settings UI component. Delete it
-    			    delete settings;   			
-    			    }
-                }	
-        	}
-		}
-	
-	impInfoArray.ResetAndDestroy();	
-	}
-
-// --------------------------------------------------------------------------- 
-// Inherited from CActive 
-// ---------------------------------------------------------------------------
-//
-void CLocSettingsUiPluginLoader::RunL()
-	{
-	if ( iStatus.Int() != KErrCancel )
-		{
-		// Restart the Notification request inorder to listen for future 
-		// notifications
-		StartEComNotifyL();
-		// Notify the state change to the observer
-		if( iNotifier )
-		    {
-		    iNotifier->EComSessionStateChanged( iStatus.Int());
-		    }		
-		}
-	}
-
-// --------------------------------------------------------------------------- 
-// Inherited from CActive 
-// ---------------------------------------------------------------------------
-//
-void CLocSettingsUiPluginLoader::DoCancel()
-	{
-	if ( iSession )
-		{
-		iSession->CancelNotifyOnChange( iStatus );
-		iSession->Close();
-		iSession = NULL;
-		}		
-	}
-
-// --------------------------------------------------------------------------- 
-// Inherited from CActive 
-// ---------------------------------------------------------------------------
-//
-TInt CLocSettingsUiPluginLoader::RunError( TInt /* aError */)
-	{
-	return KErrNone;
-	}
-
-// --------------------------------------------------------------------------- 
-// Initiates a notify request on the ECom Session
-//
-// @param aSettingsNotifer  Notifier for communication of changes in the 
-//                          Ecom loading and unloading for sub-settings
-//                          plug-ins 
-// ---------------------------------------------------------------------------
-//
-void CLocSettingsUiPluginLoader::StartEComNotifyL( 
-                    MLocSettingsUiEcomNotifer*   aNotifier )
-	{
-	// Set the notifier if its valid
-	if( aNotifier )
-	    {
-	    iNotifier = aNotifier;
-	    }
-	
-	// If the notifier is present then initaite a request    
-    // Open the ECom Session handle if its not been opened
-    if( !iSession )
-        {
-        iSession = &( REComSession::OpenL());
-        }
-	
-	// Issue a new request	
-	if ( !IsActive())
-		{
-		// Set the notifier 
-		iSession->NotifyOnChange( iStatus );	
-		
-		SetActive();
-		}
-	}
-        
-// ---------------------------------------------------------------------------
-//
-// Stop the outstanding EComNotification
-// ---------------------------------------------------------------------------
-//
-void CLocSettingsUiPluginLoader::StopEComNotify()
-    {
-    // Cancel any outstanding request
-    Cancel();
-    }
-        	
-// ---------------------------------------------------------------------------
-// static TInt SettingsDescOrdering
-// Ordering function for inserting the elements into the List box array.
-// The ordering is done first based on the priority. 
-//
-// @param CLocationSettings& First Settings Element
-// @param CLocationSettings& Second Settings Element
-// @return 1. zero, if the two objects are equal.
-//
-//		   2. a negative value, if the first object is less than the second.
-//
-// 		   3. a positive value, if the first object is greater than the second.
-// 
-// ---------------------------------------------------------------------------	
-TInt SettingsDescOrdering( const CLocationSettings& aSettings1, 
-		  				   const CLocationSettings& aSettings2 )
-    {
-    CLocationSettings* settings1 = const_cast< CLocationSettings*>(&aSettings1);
-    CLocationSettings* settings2 = const_cast< CLocationSettings*>(&aSettings2);
-    return ( settings1->Priority() - settings2->Priority());
-	}
--- a/locationsystemui/locationsysui/locsysuiview/src/locsysuicontainer.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,381 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Source file for Location System UI container.
-*
-*
-*/
-
-
-// System Includes
-#include <eikspane.h> 						// Status pane
-#include <akntitle.h>   					// CAknTitlePane
-#include <barsread.h>    					// For TResourceReader
-#include <aknlists.h>						// List box
-#include <locsysuiviewrsc.rsg>		
-#include <csxhelp/locset.hlp.hrh>
-
-// User Includes
-#include "locsysuicontainer.h"
-#include "locsysuiview.h"
-#include "locationsettings.h"
-#include "locsysuilbmodel.h"
-#include "locsysuiviewuid.hrh"
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CLocSysUiContainer::CLocSysUiContainer
-// Overloaded Constructor
-//
-// ---------------------------------------------------------------------------
-//	
-CLocSysUiContainer::CLocSysUiContainer( 
-								MLocSysUiContainerEventHandler&	aEventHandler )
-	:iEventHandler( aEventHandler )
-	{
-	}
-	
-// ---------------------------------------------------------------------------
-// CLocSysUiContainer::~CLocSysUiContainer
-// Destructor
-//
-// ---------------------------------------------------------------------------
-//	
-CLocSysUiContainer::~CLocSysUiContainer()
-	{
-	// Delete the list box
-	delete iListBox;
-	
-	// Delete the List box model
-	delete iListBoxModel;
-	}
-	
-// ---------------------------------------------------------------------------
-// CLocSysUiContainer* CLocSysUiContainer::NewL
-// Static Two phase contructor that instantiates the CLocationSystemUiUIContainer
-//
-// @param aEventHandler		 Reference to the Container's event handler
-// @param aSettingsArray	 Reference to the Settings UI array.
-// @param aRect				 Client rectangle.
-// @return CLocSysUiContainer*	Reference to the object created.
-// --------------------------------------------------------------------------- 
-//   
-CLocSysUiContainer* CLocSysUiContainer::NewL( 
-        		MLocSysUiContainerEventHandler&	    aEventHandler,
-        		RPointerArray<CLocationSettings>&   aSettingsArray,
-        		const TRect& 					    aRect )
-	{	
-    CLocSysUiContainer* self = CLocSysUiContainer::NewLC( aEventHandler,
-                                                          aSettingsArray,
-                                                          aRect );
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// CLocSysUiContainer* CLocSysUiContainer::NewL
-// Static Two phase contructor that instantiates the CLocationSystemUiUIContainer
-//
-// @param aEventHandler		 Reference to the Container's event handler
-// @param aSettingsArray	 Reference to the Settings UI array.
-// @param aRect				 Client rectangle.
-// @return CLocSysUiContainer*	Reference to the object created.
-// --------------------------------------------------------------------------- 
-//
-CLocSysUiContainer* CLocSysUiContainer::NewLC( 
-        		MLocSysUiContainerEventHandler&	    aEventHandler,
-        		RPointerArray<CLocationSettings>&   aSettingsArray,
-        		const TRect& 					    aRect )
-	{	
-    CLocSysUiContainer* self = new(ELeave) CLocSysUiContainer( aEventHandler );
-	CleanupStack::PushL( self );
-	self->ConstructL( aSettingsArray, aRect );
-	return self;
-	}
-
-// --------------------------------------------------------------------------- 
-// void CLocSysUiContainer::ConstructL
-// Second phase of the two phase Construction process
-//
-// @param aSettingsArray    Reference to the Settings UI array.
-// @param aRect				Client rectangle
-// ---------------------------------------------------------------------------
-//
-void CLocSysUiContainer::ConstructL( 
-                         RPointerArray<CLocationSettings>&  aSettingsArray,
-        			     const TRect& 						aRect )
-	{
-	//Make this control a window-owning control
-	CreateWindowL(); 
-	
-	// Create a New Title for the View
-	MakeTitleL(R_LOCSYSUIVIEW_TITLE);
-	 
-	CreateListboxL( aSettingsArray );
-	
-	iContextName = KLOC_HLP_SETTINGS();
-    SetRect( aRect );
-    ActivateL();
-	}	
-
-// ---------------------------------------------------------------------------
-// CLocationSettings&	CLocSysUiContainer::GetFocussedSettingsUiDescL
-// Returns the Description for the Settings Ui item that is currently focussed
-//
-// @return CLocSettingsUiDesc*	Reference to the description object of
-//							the item that is currently focussed
-// 		   NULL				If there is no list box
-// ---------------------------------------------------------------------------
-//
-CLocationSettings&	CLocSysUiContainer::GetFocussedSettingsUiL()
-	{		
-	TInt selectedItem = iListBox->CurrentItemIndex();
-	return iListBoxModel->SettingsUiL( selectedItem );
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSysUiContainer::UpdateListBoxL
-// Calls upon the container to update the list bix contents.
-//
-// @param aSettingsArray	Reference to the Settings UI array.
-// ---------------------------------------------------------------------------
-//
-void CLocSysUiContainer::UpdateListBoxL(
-						RPointerArray<CLocationSettings>& aSettingsArray )
-	{
-	iListBoxModel->UpdateListBoxContentsL( aSettingsArray );
-    iListBox->HandleItemAdditionL();
-    iListBox->HandleItemRemovalL();
-	DrawDeferred();
-	}
-
-// ---------------------------------------------------------------------------
-// TUint CLocSysUiContainer::CurrentFocussedElement
-// Returns the currently focussed element index
-//
-// @return TUint    Currently focussed element index    
-// ---------------------------------------------------------------------------
-//
-TUint CLocSysUiContainer::CurrentFocussedElement()
-    {
-    TInt ret = iListBox->CurrentItemIndex();
-    if( ret < 0 )
-        {
-        ret = 0;
-        }
-    return ret;
-    }
-   
-// ---------------------------------------------------------------------------
-// Sets the current highlighted element
-//
-// @param aCurrentElement    Currently focussed element index    
-// ---------------------------------------------------------------------------
-//
-void CLocSysUiContainer::SetFocussedElement( TUint      aCurrentElement )
-    {
-    iListBox->SetCurrentItemIndex( aCurrentElement );
-    }
-                	
-// ---------------------------------------------------------------------------
-// void CLocSysUiContainer::OfferKeyEventL
-//
-// ---------------------------------------------------------------------------	
-//
-TKeyResponse CLocSysUiContainer::OfferKeyEventL( const TKeyEvent& aKeyEvent,
-										   					   TEventCode aType )
-	{
-	switch ( aKeyEvent.iCode )
-        {
-        case EKeyLeftArrow:
-        case EKeyRightArrow:
-        	{
-        	// Listbox takes all event even if it doesn't use them
-            return EKeyWasNotConsumed;	
-        	}
-        default:
-        	{
-        	break;	
-        	}
-        }
-    // now it's iListBox's job to process the key event
-    return iListBox->OfferKeyEventL(aKeyEvent, aType); 
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSysUiContainer::HandleResourceChange
-//
-// ---------------------------------------------------------------------------	
-//
-void CLocSysUiContainer::HandleResourceChange(TInt aType)
-	{
-	// Pass the event to the base class
-	CCoeControl::HandleResourceChange(aType);
-    switch ( aType )
-    	{
-    	// Dynamic Layout switch
-    	case KEikDynamicLayoutVariantSwitch:
-    		{
-			iEventHandler.HandleScreenSizeChange();
-			break;
-    		}
-    	default:
-    		{
-    		break;
-    		}
-    	}
-	}
-
-// ---------------------------------------------------------------------------
-// TInt CLocSysUiContainer::CountComponentControls
-//
-// ---------------------------------------------------------------------------
-//
-TInt CLocSysUiContainer::CountComponentControls() const
-	{
-	return 1;
-	}
-
-// ---------------------------------------------------------------------------
-// CCoeControl* CLocSysUiContainer::ComponentControl
-//
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CLocSysUiContainer::ComponentControl(TInt /*aIndex*/) const
-	{
-	return iListBox;	
-	}
-	
-// -----------------------------------------------------------------------------
-// CLocSysUiContainer::GetHelpContext
-// Overridden from CCoeControl. Retruns the help context
-//
-// @param aContext The requested Help context
-// -----------------------------------------------------------------------------
-//
-void CLocSysUiContainer::GetHelpContext( TCoeHelpContext& aContext ) const
-    {
-    aContext.iContext = iContextName;
-    aContext.iMajor = TUid::Uid( LOCSYSUIVIEW_UID3 );
-    }
-    
-// ---------------------------------------------------------------------------
-// void CLocSysUiContainer::HandleListBoxEventL
-//
-// ---------------------------------------------------------------------------
-//
-void CLocSysUiContainer::HandleListBoxEventL( CEikListBox*  /* aListBox */, 
-		 						   					  TListBoxEvent aEventType )
-	{
-	switch (aEventType)
-        {
-        // List box Item Selection
-        case EEventEnterKeyPressed:
-        case EEventItemSingleClicked:
-            {
-            iEventHandler.ListBoxItemSelectedL();
-            break;	
-            }
-        default:
-           break;
-        }
-	}
-    		 	
-// ---------------------------------------------------------------------------
-// void CLocSysUiContainer::FocusChanged
-//
-// ---------------------------------------------------------------------------
-//
-void CLocSysUiContainer::FocusChanged(TDrawNow aDrawNow)
-	{
-	CCoeControl::FocusChanged( aDrawNow );
-	if ( iListBox )
-		{
-		iListBox->SetFocus( IsFocused(), aDrawNow );				
-		}
-	}
-		
-// ---------------------------------------------------------------------------
-// CLocSysUiContainer::SizeChanged
-// 
-// ---------------------------------------------------------------------------
-//
-void CLocSysUiContainer::SizeChanged()
-	{
-	if ( iListBox )
-		{
-		iListBox->SetRect( Rect());
-		}
-	}
-	
-// ---------------------------------------------------------------------------
-// void CLocSysUiContainer::CreateListboxL
-// Creates the List box and the Listbox model. Associates the list box model 
-// with the list box
-// 
-// @param aSettingsArray	 Reference to the Settings UI array.
-// ---------------------------------------------------------------------------	
-//
-void CLocSysUiContainer::CreateListboxL( 
-						 RPointerArray<CLocationSettings>&  aSettingsArray )
-	{
-	// Create the Listbox model
-	iListBoxModel = CLocSysUiLBModel::NewL( aSettingsArray );
-	
-	// Create the List box
-	iListBox = new( ELeave )CAknSettingStyleListBox;
-    iListBox->ConstructL( this, EAknListBoxSelectionList );
-    iListBox->SetContainerWindowL( *this ); 
-    iListBox->SetListBoxObserver( this );
-    iListBox->CreateScrollBarFrameL(ETrue);
-    iListBox->ScrollBarFrame()->SetScrollBarVisibilityL( CEikScrollBarFrame::EOff,
-    													 CEikScrollBarFrame::EAuto );
-    													 
-    iListBox->Model()->SetItemTextArray( iListBoxModel );	
-    iListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );									
-    iListBox->ActivateL();
-	}
-	
-// ---------------------------------------------------------------------------
-// void CLocSysUiContainer::StatusPane
-// Returns the Appui's status pane
-//
-// @return CEikStatusPane* Statuspane pointer
-// ---------------------------------------------------------------------------
-//
-CEikStatusPane* CLocSysUiContainer::StatusPane()
-	{
-	return iEikonEnv->AppUiFactory()->StatusPane();	
-	}
-        
-// ---------------------------------------------------------------------------
-// void CLocSysUiContainer::MakeTitleL
-// Sets the Title text
-//
-// @param aResourceText Resource to create title
-// ---------------------------------------------------------------------------
-//
-void CLocSysUiContainer::MakeTitleL( TInt aResourceText )
-	{
-	// Obtain the title from the Status Pane
-	CAknTitlePane* title = static_cast<CAknTitlePane*>( StatusPane()->
-        ControlL( TUid::Uid( EEikStatusPaneUidTitle )));
-       
-    // Set the Title's buffer    
-    TResourceReader rReader;
-    iCoeEnv->CreateResourceReaderLC( rReader, aResourceText );
-    title->SetFromResourceL( rReader );
-    CleanupStack::PopAndDestroy(); //rReader
-	}
-
--- a/locationsystemui/locationsysui/locsysuiview/src/locsysuilbmodel.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,174 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  List box model
-*
-*/
-
-
-// System Includes
-#include <e32keys.h>
-
-// User Include
-#include "locsysuilbmodel.h"
-#include "locationsettings.h"
-		  					   	  
-// Constants
-const TInt KMaxDescriptionText = 0x100;		  					   	  
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CLocSysUiLBModel::CLocSysUiLBModel
-// Default Constructor
-//
-// ---------------------------------------------------------------------------
-//
-CLocSysUiLBModel::CLocSysUiLBModel( RPointerArray<CLocationSettings>& 
-														aSettingsArray )
-    :iSettingsArray( aSettingsArray )														
-	{		
-	}
-
-// ---------------------------------------------------------------------------
-// CLocSysUiLBModel::~CLocSysUiLBModel
-// Destructor
-//
-// ---------------------------------------------------------------------------
-//
-CLocSysUiLBModel::~CLocSysUiLBModel()
-	{
-	delete iBuffer;
-	}
-	
-// ---------------------------------------------------------------------------
-// CLocSysUiLBModel* CLocSysUiLBModel::NewL
-// Two-phased constructor
-// 
-// @param aSettingsArray	Reference to the Settings UI array
-//@return CLocSysUiLBModel*	Reference to the object created
-//
-// ---------------------------------------------------------------------------
-//
-CLocSysUiLBModel* CLocSysUiLBModel::NewL(
-		 					RPointerArray<CLocationSettings>& aSettingsArray )
-	{
-	CLocSysUiLBModel* self = new(ELeave)CLocSysUiLBModel( aSettingsArray );
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	CleanupStack::Pop( self );
-	return self;
-	}
-	
-// ---------------------------------------------------------------------------
-// void CLocSysUiLBModel::ConstructL
-// Second Phase of the two phase constructor.
-// 
-// ---------------------------------------------------------------------------
-//
-void CLocSysUiLBModel::ConstructL()
-	{
-	// Allocate the conversion buffer. The maximum length of the conversion buffer
-	// is limited to 256 characters												  
-	iBuffer = HBufC::NewL( KMaxDescriptionText ); 
-	
-	}
-
-// ---------------------------------------------------------------------------
-// CLocationSettings* CLocSysUiLBModel::SettingsUi
-// Returns the Settings UI corresponding to a particular Index value.
-// The index value starts from 0
-//
-// @param	aIndex			   Index of the Settings Ui which is requested
-// @return	CLocationSettings& Referrence to the Settings UI corresponding
-//							   to the index.
-// ---------------------------------------------------------------------------
-//	
-CLocationSettings& CLocSysUiLBModel::SettingsUiL( TInt	aIndex )
-	{
-	if( aIndex < 0 || aIndex >= iSettingsArray.Count())
-		{
-		User::Leave( KErrNotFound );
-		}
-	return *iSettingsArray[ aIndex ];
-	}
-	
-// ---------------------------------------------------------------------------
-// void CLocationSettings::UpdateListBoxContentsL
-// Updates the List box contents
-//
-// @param aSettingsArray	Reference to the Settings UI array
-// ---------------------------------------------------------------------------
-//
-void CLocSysUiLBModel::UpdateListBoxContentsL( 
-                RPointerArray<CLocationSettings>& aSettingsArray )
-	{
-    iSettingsArray= aSettingsArray;
-	}
-
-// ---------------------------------------------------------------------------
-// TInt CLocSysUiLBModel::MdcaCount() const
-// Inherited from MDesCArray. Returns the total number of items in the 
-// Settings description array
-//
-// @return TInt The total number of elements in the Settings Description array
-// ---------------------------------------------------------------------------
-//
-TInt CLocSysUiLBModel::MdcaCount() const
-	{
-	return iSettingsArray.Count();
-	}
-
-// ---------------------------------------------------------------------------
-// TPtrC16 CLocSysUiLBModel::MdcaPoint() const
-// Inherited from MDesCArray. Returns the list box entry corresponding to the 
-// index value
-//
-// @param  aIndex The index whose list box entry needs to be retrieved
-// @return TPtr16 The list box description 
-// ---------------------------------------------------------------------------
-//
-TPtrC16 CLocSysUiLBModel::MdcaPoint( TInt aIndex ) const
-	{
-	// Zero the internal buffer
-	TPtr ptr( iBuffer->Des());
-    ptr.Zero();
-    
-    // Format "\t%S\t%d\t\t\t%S"
-    
-    // Append the first tab
-    ptr.Append( EKeyTab );
-    
-    // If the index is within the range append the caption string
-    if ( aIndex >= 0 && aIndex < iSettingsArray.Count())
-    	{
-    	CLocationSettings* settingsItem = iSettingsArray[ aIndex ];
-   		TPtrC caption = settingsItem->Caption();
-   		ptr.Append( caption );
-    	}
-    
-    // Append the second tab
-    ptr.Append( EKeyTab );
-    
-    // Append the third tab
-    ptr.Append( EKeyTab );
-    
-    // Append the fourth tab
-    ptr.Append( EKeyTab );
-    
-    // Append the fifth tab
-    ptr.Append( EKeyTab );
-    
-    return ptr;	
-	}
-
--- a/locationsystemui/locationsysui/locsysuiview/src/locsysuiview.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,582 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Source file for Location System UI view.
-*
-*
-*/
-
-
-// System Include
-#include <barsread.h> 					// For TResourceReader
-#include <featmgr.h> 				    // FeatureManager
-#include <bautils.h>
-#include <StringLoader.h>				// String Loader
-#include <aknViewAppUi.h>				// App Ui
-#include <hlplch.h>						// Help
-#include <gulicon.h>					// Gul Icon
-#include <eikmenup.h>					// Menu pane
-#include <eikmenub.h>					// Menu Bar
-#include <bldvariant.hrh>               // KFeatureHelpId
-#include <data_caging_path_literals.hrh>
-#include <locsysuiviewrsc.rsg>
-#include <locsysuiview.mbg>	
-
-// User Include
-#include "locsysuiview.hrh"
-#include "locsysuiview.h"
-#include "locsysuicontainer.h"
-#include "locationsettings.h"
-#include "locsettingsuiengine.h"
-#include "locsettingsuiclient.h"
-#include "locpossettings.h"
-
-// Literal Definitions
-_LIT( KLocationSystemUiViewIconFileName, "\\resource\\apps\\locsysuiview.mif" );
-
-// ========================= MEMBER FUNCTIONS ================================
-
-
-// ---------------------------------------------------------------------------
-// CLocSysUiView::CLocSysUiView
-// Overloaded Constructor
-//
-// ---------------------------------------------------------------------------
-//	
-CLocSysUiView::CLocSysUiView()
-	:iResourceLoader( *CCoeEnv::Static())
-	{
-		
-	}
-
-// ---------------------------------------------------------------------------
-// CLocSysUiView::~CLocSysUiView
-// Destructor
-//
-// ---------------------------------------------------------------------------
-//
-CLocSysUiView::~CLocSysUiView()
-	{
-	// Delete the View engine	
-	delete iEngine;
-
-	// Close the Resource loader
-	iResourceLoader.Close();
-	
-	// Release all the resources associated with Feature Manager
-	FeatureManager::UnInitializeLib();
-	}
-	
-// ---------------------------------------------------------------------------
-// CLocSysUiView* CLocSysUiView::NewL
-// Creates new Location Sys Ui plugin. Internally calls NewLC
-//
-// @return CLocSysUiView*	Reference to the application view
-// ---------------------------------------------------------------------------    
-//
-EXPORT_C CLocSysUiView* CLocSysUiView::NewL()
-	{	
-    CLocSysUiView* self = CLocSysUiView::NewLC();
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// CLocSysUiView* CLocSysUiView::NewLC
-// Creates new Location Sys Ui plugin. Leaves the object on the Cleanup stack
-// 
-// @return CLocSysUiView*	Reference to the application view
-// ---------------------------------------------------------------------------
-//
-CLocSysUiView* CLocSysUiView::NewLC()
-	{	
-    CLocSysUiView* self = new (ELeave) CLocSysUiView();
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	return self;
-	}
-	
-// ---------------------------------------------------------------------------
-// void CLocSysUiView::ConstructL
-// Second Phase Constructor
-//
-// ---------------------------------------------------------------------------
-//
-void CLocSysUiView::ConstructL()
-    {
-    // Initialize the Feature Manager library
-    FeatureManager::InitializeLibL();
-    
-    if ( FeatureManager::FeatureSupported( KFeatureIdFfLocationsysuiHidePositioningMenu ) )
-        {
-        User::Leave( KErrNotSupported );
-        }
-
-    // Open the Resource File
-    OpenLocalizedResourceFileL( KLocSysUiViewResFileName, iResourceLoader );
-    
-    // Call AknView's BaseConstrutL
-    BaseConstructL( R_LOCSYSUIVIEW_APP_VIEW );
-    
-    // Create the View Engine
-    iEngine = CLocSettingsUiEngine::NewL( *AppUi());
-    
-    // Load all the plug-ins. The creation of the engine does not load the
-    // plugins and they have to be explicitly loaded. The return value need
-    // not be stored here. Hence, the value is ignored
-    iEngine->CreateAvailableSettingsUiL();
-    
-    }
-
-EXPORT_C void CLocSysUiView::LaunchedfromPosSettingsApp()
-    {
-    isLaunchedFromPosSettingsApp = ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// void CLocSysUiView::HandleClientRectChange
-//
-// ---------------------------------------------------------------------------	
-//
-void CLocSysUiView::HandleClientRectChange()
-	{
-	if ( iContainer )
-		{
-		iContainer->SetRect( ClientRect());		
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSysUiView::ActivateView
-//
-// ---------------------------------------------------------------------------	
-//
-void CLocSysUiView::ActivateViewL()
-    {
-    // Activate the Current view in the default mode.
-    AppUi()->ActivateLocalViewL(Id());
-    }
-
-// ---------------------------------------------------------------------------
-// void CLocSysUiView::DeActivateView
-//
-// ---------------------------------------------------------------------------	
-//
-void CLocSysUiView::DeActivateView()
-    {
-        
-    // Close all the sub-settings views if they are Open
-    // Retrieve the Settings Description Array
-	RPointerArray<CLocationSettings>& settingsArray = iEngine->SettingsUiArray();
-    
-    for( TInt i = 0; i < settingsArray.Count(); i ++ )
-        {
-        // Retrieve each settings UI
-        CLocationSettings* settings = settingsArray[i];
-        
-        // Close the Settings UI
-        settings->Close();
-        }
-    // Stop displaying the Menubar if its being displayed.
-    StopDisplayingMenuBar();    
-    }
- 
-// ---------------------------------------------------------------------------
-// void CLocSysUiView::SetObserver
-//
-// ---------------------------------------------------------------------------	
-//    
-void CLocSysUiView::SetObserver( MLocationUIObserver*       aObserver )
-    {
-    iObserver = aObserver;
-    }
-        	
-// ---------------------------------------------------------------------------
-// void CLocSysUiView::DoActivateL
-// 
-// ---------------------------------------------------------------------------	
-//
-void CLocSysUiView::DoActivateL( const TVwsViewId& 	    aPrevViewId,
-											   TUid		/* aCustomMessageId*/,
-						  				 const TDesC8&	/* aCustomMessage */ )
-	{
-	if ( !iSettingsUiDismissalPending )
-		{
-		// Assign the previous view Id
-		iPrevViewId = aPrevViewId;
-		
-		// Set the Highlighted item to 0
-		iHighlightedIndex = 0;	
-		}
-	else
-		{
-		iSettingsUiDismissalPending = EFalse;
-		}	
-	
-	// Destroy the existing container if it exists
-	if ( iContainer )
-        {
-        AppUi()->RemoveFromViewStack( *this, iContainer );
-        delete iContainer;
-        iContainer=NULL;
-        }						
-    
-    // Retrieve the Settings Description Array
-	RPointerArray<CLocationSettings>& settingsArray = iEngine->SettingsUiArray();
-	 
-    // Create new Container	
-	iContainer = CLocSysUiContainer::NewL( *this, settingsArray, ClientRect());
-	iContainer->SetMopParent( this );
-	AppUi()->AddToViewStackL( *this, iContainer );
-	iContainer->SetFocussedElement( iHighlightedIndex );
-	
-	if ( isLaunchedFromPosSettingsApp && !iEikonEnv->StartedAsServerApp())
-		{
-		Cba()->SetCommandSetL( R_LOCSYSUIVIEW_SOFTKEYS_OPTION_OPEN_EXIT );	
-		}
-	// Start the ECom notification for observing changes in the plug-in loading
-	// and unloading for ECom plug-ins
-	iEngine->StartSettingsEComNotificationL( this );
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSysUiView::DoDeactivate
-//
-// ---------------------------------------------------------------------------	
-//	
-void CLocSysUiView::DoDeactivate()
-	{
-	// Stop the ECom notifcation
-	iEngine->StopSettingsEComNotification();
-	
-	// Destroy Container
-	if ( iContainer )
-        {
-        iHighlightedIndex = iContainer->CurrentFocussedElement();
-        AppUi()->RemoveFromViewStack( *this, iContainer );
-        delete iContainer;
-        iContainer = NULL;
-        }
-	}
-
-// ---------------------------------------------------------------------------
-// TUid CLocSysUiView::Id
-// Returns the View Id. Should be chosen to reflect the Implementation UID 
-// of the Plugin
-//
-// @return TUid The View Id
-// ---------------------------------------------------------------------------
-//	
-TUid CLocSysUiView::Id() const
-	{
-	return KLocSysUiViewPluginUid;
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSysUiView::HandleCommandL
-//
-// ---------------------------------------------------------------------------	
-void CLocSysUiView::HandleCommandL( TInt aCommand )	
-	{
-	switch ( aCommand )
-        {
-        case ELocSysUiCmdOpen:
-        	{
-			// Launch the corresponding Settings UI
-			TRAPD( error, 
-			       iContainer->GetFocussedSettingsUiL().
-			                        LaunchLocationUIL( KDefaultParamValue,
-			                                           this ));
-			if ( KErrNone == error )
-				{
-				iSettingsUiDismissalPending = ETrue;	
-				}
-			else if( KErrNoMemory == error )
-				{
-				User::Leave( error );
-				}
-        	break;
-        	}
-        case EAknCmdHelp:
-        	{
-        	// Launch Help file
-    		HlpLauncher::LaunchHelpApplicationL( 
-    		                CEikonEnv::Static()->WsSession(),
-       			            AppUi()->AppHelpContextL());
-        	break;
-        	}
-        case EAknSoftkeyBack:
-       		{
-       		if( iPrevViewId.iViewUid.iUid )
-       			{
-	       		// Activate the Parent view
-	       		AppUi()->ActivateLocalViewL( iPrevViewId.iViewUid );	       		    				
-	       		
-	       		// If someone is listening for the notification of the termination
-	       		// event hand it over to the observer
-	       		if( iObserver )
-	       		    {
-	       		    iObserver->LocationUIDismissed( KErrNone );
-	       		    }       			
-       			}
-			else
-				{
-				AppUi()->HandleCommandL( EAknSoftkeyExit );
-       		    }
-            break;	
-       		}
-        default:
-        	{
-        	AppUi()->HandleCommandL( aCommand );
-            break;	
-        	}
-        }
-	}
-
-// -----------------------------------------------------------------------------
-// CLocSysUiView::DynInitMenuPaneL
-// -----------------------------------------------------------------------------
-void CLocSysUiView::DynInitMenuPaneL( TInt          aResourceId, 
-                                      CEikMenuPane* aMenuPane )
-    {   
-    if( R_LOCSYSUIVIEW_MENU_ITEM_HELP == aResourceId )
-        {
-        User::LeaveIfNull( aMenuPane );
-        
-        //Handle Help Fature
-        HandleHelpFeature( *aMenuPane );
-        }
-    }
-// ---------------------------------------------------------------------------
-// void CLocSysUiView::GetCaptionL
-// Method for getting caption of this plugin. This should be the 
-// localized name of the settings view to be shown in parent view.
-
-// @param aCaption pointer to Caption variable
-//
-// ---------------------------------------------------------------------------	
-//
-void CLocSysUiView::GetCaptionL( TDes& aCaption ) const	
-	{
-	HBufC* caption = StringLoader::LoadL( R_LOCSYSUIVIEW_CAPTION );
-    aCaption.Copy( *caption );
-    delete caption;
-	}
-
-// ---------------------------------------------------------------------------
-// Inherited from CGSPluginInterface.
-// Creates a new icon of desired type. Ownership of the created icon 
-// is transferred to the caller.
-// 
-// Icon type UIDs (use these defined constants):
-// KGSIconTypeLbxItem  -   ListBox item icon.
-// KGSIconTypeTab      -   Tab icon.
-//  
-// @param aIconType UID Icon type UID of the icon to be created.
-// @return CGulIcon* Pointer of the icon. NOTE: Ownership of this
-// 					icon is transferred to the caller.
-// ---------------------------------------------------------------------------
-//
-CGulIcon* CLocSysUiView::CreateIconL( const TUid aIconType )
-	{
-	CGulIcon* icon;
-
-    if ( aIconType == KGSIconTypeLbxItem )
-        {
-		icon = AknsUtils::CreateGulIconL(
-                                    AknsUtils::SkinInstance(),
-                                    KAknsIIDQgnPropSetGeneLoc,
-                                    KLocationSystemUiViewIconFileName,
-                                    EMbmLocsysuiviewQgn_prop_set_gene_loc,
-                                    EMbmLocsysuiviewQgn_prop_set_gene_loc_mask );
-        }
-     else
-        {
-        icon = CGSPluginInterface::CreateIconL( aIconType );
-        }
-
-    return icon;
-	}
-         
-// ---------------------------------------------------------------------------
-// TInt CLocSysUiView::PluginProviderCategory()
-// Inherited from CGSPluginInterface
-// Method for reading the ID of the plugin provider category.
-//
-// @return Plugin provider category ID defined by 
-//		   TGSPluginProviderCategory
-// ---------------------------------------------------------------------------
-//
-TInt CLocSysUiView::PluginProviderCategory() const
-	{
-	return EGSPluginProviderOEM;
-	}
-        
-// ---------------------------------------------------------------------------
-// void CLocSysUiView::LocationUIDismissed
-// Inherited from MLocationUIObserver
-// Notifies the termination of the Settings UI
-//
-// @param aErrorCode The termination reason. KErrNone for normal 
-//					terminations. In case of error or pre-mature
-//					aborting System wide Error codes.
-// ---------------------------------------------------------------------------
-//
-void CLocSysUiView::LocationUIDismissed( TInt /*aErrorCode*/ )
-	{
-	// Check if the Location System UI View is the active view
-	// If not Activate it
-	TVwsViewId activeViewId;
-	if ( KErrNone != AppUi()->GetActiveViewId( activeViewId ) ||
-	    activeViewId.iViewUid != Id())
-		{
-		TRAP_IGNORE( AppUi()->ActivateLocalViewL( Id()));
-		}
-	}
-
-// --------------------------------------------------------------------------- 
-// void CLocSysUiView::SessionStateChanged
-// Inherited from MLocSettingsUiEcomNotifer
-// Notifies any change in the state of the underlying Settings UI
-// session
-//
-// @param aErrorCode Error Code denoting the state change
-// ---------------------------------------------------------------------------
-//
-void CLocSysUiView::EComSessionStateChanged( TInt /*aErrorCode*/ )
-	{
-	if ( iContainer )
-		{
-		// Update the Settings UI contents
-		TRAP_IGNORE( iEngine->UpdateAvailableSettingsUisL());
-		
-		// Obtain the latest Settings descriptions and update
-		// Update the list box contents
-		TRAP_IGNORE( iContainer->UpdateListBoxL( iEngine->SettingsUiArray()));
-		}
-	}
-		 	
-// ---------------------------------------------------------------------------
-// void CLocSysUiView::ListBoxItemSelected
-//
-// ---------------------------------------------------------------------------	
-//
-void CLocSysUiView::ListBoxItemSelectedL()
-	{
-	if ( iContainer )
-		{
-		// Launch the corresponding Settings UI
-		TRAPD( error, 
-		    iContainer->GetFocussedSettingsUiL().LaunchLocationUIL( 
-		                                            KDefaultParamValue,
-		                                            this ));
-		if ( KErrNone == error )
-			{
-			iSettingsUiDismissalPending = ETrue;	
-			}
-		else if( KErrNoMemory == error )
-			{
-			User::Leave( error );
-			}
-		}
-	}
-	
-// ---------------------------------------------------------------------------
-// void CLocSysUiView::HandleScreenSizeChange
-//
-// ---------------------------------------------------------------------------
-//	
-void CLocSysUiView::HandleScreenSizeChange()
-	{
-	if (iContainer)
-		{
-		iContainer->SetRect( ClientRect() );		
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSysUiView::OpenLocalizedResourceFileL
-// Opens the nearest localized resourcefile using aResourceLoader. 
-// aResourceLoader should be opened only once before closing it. 
-// Otherwise it will raise a panic. Therefore it is better to have 
-// multiple resource loaders.
-// 
-// @param aResourceFileName Drive and name of resource file in format 
-//                          <path>:<rsc_file_name>
-// @param aResourceLoader Resource loader for the resource. The loader 
-//                        must not be opened allready or it will raise 
-//                        a panic. It is caller's responsibility to 
-//                        close the resource loader after using the 
-//                        resource.
-// ---------------------------------------------------------------------------
-//	
-void CLocSysUiView::OpenLocalizedResourceFileL( 
-                        const TDesC& 			   aResourceFileName, 
-   							  RConeResourceLoader& aResourceLoader )
-    {
-    RFs fsSession;
-    User::LeaveIfError( fsSession.Connect());
-    
-    // Add the RFs session to the CleanupStack
-    CleanupClosePushL( fsSession );
-    
-	TFileName* tmpName = new(ELeave) TFileName;
-    CleanupStack::PushL( tmpName );
-    
-    // Append the Resource Files Directory
-    tmpName->Append( KDC_RESOURCE_FILES_DIR );
-    
-    // Append the Ressource File Name
-    tmpName->Append( aResourceFileName );
-   
-    // Obtain the drive where the DLL is installed
-    TFileName* dllDrive = new (ELeave) TFileName;
-    CleanupStack::PushL( dllDrive );
-    Dll::FileName( *dllDrive );
-    
-    // Obtain the Complete path for the Resource File
-    TParse parse;
-	User::LeaveIfError( parse.Set( *dllDrive, NULL, NULL ) );
-    User::LeaveIfError( parse.Set( parse.Drive(), tmpName, NULL ) );
-	TFileName* fileName = new(ELeave) TFileName;
-	CleanupStack::PushL( fileName );
-	fileName->Append( parse.FullName());
-    
-    // Get language of resource file
-    BaflUtils::NearestLanguageFile( fsSession, *fileName );
-    
-    // Open resource file    
-    aResourceLoader.OpenL( *fileName );
-    
-    // Pop all the fields
-    CleanupStack::PopAndDestroy( fileName );
-    CleanupStack::PopAndDestroy( dllDrive );
-    CleanupStack::PopAndDestroy( tmpName );
-   
-    CleanupStack::PopAndDestroy(); // fsSession
-    }
-
-// -----------------------------------------------------------------------------
-// CLocSysUiView::HandleHelpFeature
-// -----------------------------------------------------------------------------
-void CLocSysUiView::HandleHelpFeature( CEikMenuPane& aMenuPane ) const
-    {
-    if ( FeatureManager::FeatureSupported( KFeatureIdHelp ))
-        {
-        aMenuPane.SetItemDimmed( EAknCmdHelp, EFalse );
-        }
-    else
-        {
-        aMenuPane.SetItemDimmed( EAknCmdHelp, ETrue );
-        }
-    }
--- a/locationsystemui/locationsysui/locsysuiview/src/locsysuiviewimptable.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  ECOM proxy table for the Location System UI View plug-in to 
-*				  General Settings
-*
-*/
-
-
-// System includes
-#include <e32std.h>
-#include <ecom/implementationproxy.h>
-
-// User includes
-#include "locsysuiview.h"
-#include "locsysuiviewuid.hrh"
-
-// Constants
-const TImplementationProxy KLocSysUiViewPluginImpTable[] = 
-	{
-	IMPLEMENTATION_PROXY_ENTRY( LOCSYSUIVIEW_UID3, CLocSysUiView::NewL )
-	};
-
-
-// ---------------------------------------------------------------------------
-// ImplementationGroupProxy
-// Gate/factory function
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy( TInt& aTableCount )
-	{
-	aTableCount = sizeof( KLocSysUiViewPluginImpTable ) 
-        / sizeof( TImplementationProxy );
-        
-    return KLocSysUiViewPluginImpTable;
-	}
-
-
-
-
-
--- a/locationsystemui/locationsysui/locutils/BWINS/LocUtils_32u.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-EXPORTS
-	?ClipToFit@LocTextUtils@@SAHAAVTDes16@@W4TClipDirection@AknTextUtils@@PAVCEikFormattedCellListBox@@HHH@Z @ 1 NONAME ; int LocTextUtils::ClipToFit(class TDes16 &, enum AknTextUtils::TClipDirection, class CEikFormattedCellListBox *, int, int, int)
-	?Debug@@YAXV?$TRefByValue@$$CBVTDesC16@@@@ZZ @ 2 NONAME ; void Debug(class TRefByValue<class TDesC16 const >, ...)
-	?GetFileWithCorrectDriveL@LocFileUtils@@SAXABV?$TBuf@$0BAA@@@AAV2@@Z @ 3 NONAME ; void LocFileUtils::GetFileWithCorrectDriveL(class TBuf<256> const &, class TBuf<256> &)
-	?GetNearestLanguageFileL@LocFileUtils@@SAXAAVRFs@@ABV?$TBuf@$0BAA@@@AAV3@@Z @ 4 NONAME ; void LocFileUtils::GetNearestLanguageFileL(class RFs &, class TBuf<256> const &, class TBuf<256> &)
-	?NewL@CLocPhoneNumberFormat@@SAPAV1@XZ @ 5 NONAME ; class CLocPhoneNumberFormat * CLocPhoneNumberFormat::NewL(void)
-	?NewL@CLocRequestorUtilsResolver@@SAPAV1@XZ @ 6 NONAME ; class CLocRequestorUtilsResolver * CLocRequestorUtilsResolver::NewL(void)
-	?PhoneNumberAsName@CLocRequestorUtilsResolver@@SAHABVCPosRequestor@@@Z @ 7 NONAME ; int CLocRequestorUtilsResolver::PhoneNumberAsName(class CPosRequestor const &)
-	?PhoneNumberFormatL@CLocPhoneNumberFormat@@QAE?AW4TFormatResult@@ABVTDesC16@@AAVTDes16@@W4TClipDirection@AknTextUtils@@PAVCEikFormattedCellListBox@@HHH@Z @ 8 NONAME ; enum TFormatResult CLocPhoneNumberFormat::PhoneNumberFormatL(class TDesC16 const &, class TDes16 &, enum AknTextUtils::TClipDirection, class CEikFormattedCellListBox *, int, int, int)
-	?PhoneNumberGroupL@CLocPhoneNumberFormat@@QAEPAVHBufC16@@ABVTDesC16@@@Z @ 9 NONAME ; class HBufC16 * CLocPhoneNumberFormat::PhoneNumberGroupL(class TDesC16 const &)
-	?ProcessRequestorsL@CLocRequestorUtilsResolver@@QAEXAAV?$RPointerArray@VCPosRequestor@@@@@Z @ 10 NONAME ; void CLocRequestorUtilsResolver::ProcessRequestorsL(class RPointerArray<class CPosRequestor> &)
-	?RequestorIdValid@CLocRequestorUtilsResolver@@SAHABVCPosRequestor@@@Z @ 11 NONAME ; int CLocRequestorUtilsResolver::RequestorIdValid(class CPosRequestor const &)
-	?RequestorNameL@CLocRequestorUtilsResolver@@QAEPAVHBufC16@@ABVCPosRequestor@@@Z @ 12 NONAME ; class HBufC16 * CLocRequestorUtilsResolver::RequestorNameL(class CPosRequestor const &)
-
--- a/locationsystemui/locationsysui/locutils/data/locutils.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,101 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Resource File for the Location System UI 
-*			  	  Utilities
-*       
-*
-*/
-
-
-//  RESOURCE IDENTIFIER
-NAME    LUPS // 4 letter ID
-
-//  INCLUDES
-#include <eikon.rh>
-#include <VPbkFieldType.rh>
-#include <VPbkFieldType.hrh>
-
-// CONSTANTS
-
-//  RESOURCE DEFINITIONS 
-
-//----------------------------------------------------
-//   
-//    
-//    Needed or loading the resource fails!
-//
-//----------------------------------------------------	
-//
-RESOURCE RSS_SIGNATURE
-    {
-    }
-
-
-//----------------------------------------------------
-//   
-//    r_vpbk_email_selector
-//    Resource used while selecting WEB URL field for
-//    Phonebook Search.
-//
-//----------------------------------------------------
-//
-RESOURCE VPBK_FIELD_TYPE_SELECTOR r_vpbk_url_selector
-    {
-    versitProperties = 
-        {
-        VBK_FIELD_VERSIT_PROPERTY
-            {
-            name = EVPbkVersitNameURL;
-            }
-        };
-    }
-
-//----------------------------------------------------
-//   
-//    r_vpbk_email_selector
-//    Resource used while selecting EMAIL field for
-//    Phonebook Search.
-//
-//----------------------------------------------------
-//
-RESOURCE VPBK_FIELD_TYPE_SELECTOR r_vpbk_email_selector
-    {
-    versitProperties = 
-        {
-        VBK_FIELD_VERSIT_PROPERTY
-            {
-            name = EVPbkVersitNameEMAIL;
-            }
-        };
-    }
-
-//----------------------------------------------------
-//   
-//    r_vpbk_sipurl_selector
-//    Resource used while selecting SIP URL field for
-//    Phonebook Search.
-//
-//----------------------------------------------------
-//
-RESOURCE VPBK_FIELD_TYPE_SELECTOR r_vpbk_sipurl_selector
-    {
-    versitProperties = 
-        {
-        VBK_FIELD_VERSIT_PROPERTY
-            {
-            name = EVPbkVersitNameX;
-            extensionName = "X-SIP";
-            }
-        };
-    }
--- a/locationsystemui/locationsysui/locutils/eabi/LocUtils_32u.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-EXPORTS
-	_Z5Debug11TRefByValueIK7TDesC16Ez @ 1 NONAME
-	_ZN12LocFileUtils23GetNearestLanguageFileLER3RFsRK4TBufILi256EERS3_ @ 2 NONAME
-	_ZN12LocFileUtils24GetFileWithCorrectDriveLERK4TBufILi256EERS1_ @ 3 NONAME
-	_ZN12LocTextUtils9ClipToFitER6TDes16N12AknTextUtils14TClipDirectionEP24CEikFormattedCellListBoxiii @ 4 NONAME
-	_ZN21CLocPhoneNumberFormat17PhoneNumberGroupLERK7TDesC16 @ 5 NONAME
-	_ZN21CLocPhoneNumberFormat18PhoneNumberFormatLERK7TDesC16R6TDes16N12AknTextUtils14TClipDirectionEP24CEikFormattedCellListBoxiii @ 6 NONAME
-	_ZN21CLocPhoneNumberFormat4NewLEv @ 7 NONAME
-	_ZN26CLocRequestorUtilsResolver14RequestorNameLERK13CPosRequestor @ 8 NONAME
-	_ZN26CLocRequestorUtilsResolver16RequestorIdValidERK13CPosRequestor @ 9 NONAME
-	_ZN26CLocRequestorUtilsResolver17PhoneNumberAsNameERK13CPosRequestor @ 10 NONAME
-	_ZN26CLocRequestorUtilsResolver18ProcessRequestorsLER13RPointerArrayI13CPosRequestorE @ 11 NONAME
-	_ZN26CLocRequestorUtilsResolver4NewLEv @ 12 NONAME
-	_ZTI21CLocPhoneNumberFormat @ 13 NONAME DATA 12 ; #<TI>#
-	_ZTI26CLocRequestorUtilsResolver @ 14 NONAME DATA 48 ; #<TI>#
-	_ZTV21CLocPhoneNumberFormat @ 15 NONAME DATA 20 ; #<VT>#
-	_ZTV26CLocRequestorUtilsResolver @ 16 NONAME DATA 160 ; #<VT>#
-
--- a/locationsystemui/locationsysui/locutils/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  This file provides the information required for building
-*								 Location Utils
-*                  
-*
-*/
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../inc/locfileutils.h					|../../../inc/locfileutils.h
-../inc/locphonenumberformat.h			|../../../inc/locphonenumberformat.h
-../inc/locrequestorutilsresolver.h		|../../../inc/locrequestorutilsresolver.h
-../inc/loctextutils.h					|../../../inc/loctextutils.h
-../inc/locutilsdebug.h					|../../../inc/locutilsdebug.h
-../inc/locutilsdebugconfig.hrh			|../../../inc/locutilsdebugconfig.hrh
-
-PRJ_MMPFILES
-locutils.mmp
-
-PRJ_TESTMMPFILES
-
-//  End of File  
--- a/locationsystemui/locationsysui/locutils/group/locutils.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-/*
-* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Project definition file for Location Utils
-*
-*/
-
-
-// INCLUDES
-#include <data_caging_paths.hrh>
-#include <bldvariant.hrh>
-#include "../inc/locutilsuid.hrh"
-#include <platform_paths.hrh> // For the APP_LAYER_SYSTEMINCLUDE
-
-TARGET  			locutils.dll
-TARGETTYPE  		dll
-UID  				0x0 LOCUTILS_UID3
-
-VENDORID	 		VID_DEFAULT
-CAPABILITY 			CAP_GENERAL_DLL
-
-SOURCEPATH 			../src
-
-SOURCE 				loctextutils.cpp
-SOURCE 				locfileutils.cpp
-SOURCE 				locrequestorutilsresolverimpl2.cpp
-SOURCE 				locphonenumberformat.cpp
-
-#ifdef LOC_ENABLE_DEBUG_PRINT
-SOURCE              locutilsdebug.cpp
-#else
-SOURCE              locutilsdebugdummy.cpp
-#endif
-
-// System Include
-APP_LAYER_SYSTEMINCLUDE
-
-USERINCLUDE 		.
-USERINCLUDE			../inc
-
-SOURCEPATH ../data
-START RESOURCE locutils.rss
-HEADER
-TARGETPATH          RESOURCE_FILES_DIR
-END
-
-LIBRARY 			euser.lib 
-LIBRARY 			bafl.lib
-LIBRARY 			avkon.lib
-LIBRARY			 	aknlayout.lib
-LIBRARY 			cone.lib
-LIBRARY 			efsrv.lib
-LIBRARY 			sysutil.lib
-LIBRARY 			eposprvtyp.lib
-
-LIBRARY             vpbkeng.lib
-LIBRARY             pbk2presentation.lib
-
-#ifdef LOC_ENABLE_DEBUG_PRINT
-LIBRARY 			flogger.lib
-#endif
-
-LIBRARY             CenRepNotifHandler.lib
-LIBRARY             CentralRepository.lib
-
-#if defined(WINS)
- deffile   ../BWINS/LocUtils_32.def
-#elif defined(EABI)
- deffile   ../eabi/LocUtils_32.def
-#endif 
-
-// End of file
\ No newline at end of file
--- a/locationsystemui/locationsysui/locutils/inc/locfileutils.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Static utility class for file operations.
-*
-*/
-
-
-#ifndef LOCFILEUTILS_H_
-#define LOCFILEUTILS_H_
-
-//  INCLUDES
-#include <e32base.h>
-
-// FORWARD DECLARATIONS
-class RFs;
-
-// CLASS DECLARATION
-
-/**
-*  Static utility class for file operations.
-*  @lib locutils.lib
-*  @since 2.6
-*/
-class LocFileUtils
-    {
-    public: // New functions
-
-        /**
-        * Sets correct drive to aFileName. In normal use aDrive is the drive where
-        * calling dll resides, and it has been set by calling Dll::FileName().
-        *
-        * @param aDrive file name where drive is extracted from
-        * @param aFileName name which will be updated
-        */
-        IMPORT_C static void GetFileWithCorrectDriveL( const TFileName& aDrive,
-                                                       TFileName& aFileName );
-
-        /**
-        * Uses GetFileWithCorrectDriveL and then
-        * BaflUtils::NearestLanguageFile() to locate correct file and language
-        * version. To be used with resource files.
-        * Leaves if file is not found.
-        *
-        * @param aSession opened file server session
-        * @param aDrive file name where drive is extracted from        
-        * @param aFileName name which will be updated
-        */
-        IMPORT_C static void GetNearestLanguageFileL( RFs& aSession,
-                                                      const TFileName& aDrive,
-                                                      TFileName& aFileName );
-    };
-
-#endif // LOCFILEUTILS_H_
-            
-// End of File
--- a/locationsystemui/locationsysui/locutils/inc/locphonenumberformat.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*     Abstract utility class for phone number formatting.
-*
-*/
-
-
-#ifndef CLOCPHONENUMBERFORMAT_H_
-#define CLOCPHONENUMBERFORMAT_H_
-
-//  INCLUDES
-#include <e32base.h>
-#include <AknUtils.h>
-#include <bldvariant.hrh>
-
-// DATA TYPES
-/**
-* Enumeration for numberformatting results.
-*/
-enum TFormatResult
-    {
-    EResultOK,          // No loss of precision on formatting.
-    EResultTruncated,   // result descriptor truncated from the start.
-    EResultClipped,     // result descriptor truncated and extra dots added to start
-    };
-
-
-// FORWARD DECLARATIONS
-class CFont;
-class CEikFormattedCellListBox;
-class CEikColumnListBox;
-class CAknPhoneNumberGrouping;
-
-// CLASS DECLARATION
-
-/**
-*   Class for phone number formatting. It uses the AknPhoneNumberGrouping feature.
-*	AknPhoneNumberGrouping takes care of grouping based on the feature flag
-*	__SERIES60_PHONE_NUMBER_GROUPING.
-*	Formatting & clipping is done using AknTextUtils helper methods.
-*/
-class CLocPhoneNumberFormat :public CBase
-    {
-    public:  // Constructors and destructor
-
-        /**
-        * Symbian OS constructor
-        * @return new object
-        */
-        IMPORT_C static CLocPhoneNumberFormat* NewL();
-
-        /**
-        * Destructor.
-        */
-        virtual ~CLocPhoneNumberFormat();
-
-    protected:
-
-        /**
-        * C++ default constructor.
-        */
-        CLocPhoneNumberFormat();
-        
-        /**
-        * Symbian 2nd Phase Contructor.
-        * This is always protected
-        */
-        void ConstructL();
-
-    public: // New functions
-
-        /**
-        * Phone number formatting for listbox texts.
-        * Uses AknTextUtils for clipping long descriptors.
-        * @param aNumberToFormat phone number in string to format
-        * @param aFormattedString formatted number
-        * @param aClipDirection tells how to clip
-        * @param aListBox reference to the listbox which shows the number
-        * @param aItemIndex item index
-        * @param aSubCellNumber subcell number
-        * @param aIcons 0->no icons, 1->ind. arrow, 2->1 icon, etc.
-        * @return TFormatResult
-        */
-        IMPORT_C TFormatResult PhoneNumberFormatL( const TDesC& aNumberToFormat,
-            TDes& aFormattedString, AknTextUtils::TClipDirection aClipDirection,
-            CEikFormattedCellListBox* aListBox, TInt aItemIndex,
-            TInt aSubCellNumber, TInt aIcons );
-     
-        /**
-         * Groups the Phone number according to the current settings
-         * The ownership of the grouped string is tranferred back to the 
-         * callee
-         * @param aNumberToGroup Phone number to group
-         * @return HBufC*        Phone number after grouping. If the number
-         *                       cannot be formatted then NULL is returned
-         */
-        IMPORT_C HBufC* PhoneNumberGroupL( const TDesC& aNumberToGroup );
-        
-	private:
-       /**
-        * Phone number formatting.
-        * @param aNumberToFormat phone number in string to format
-        * @param aFormattedString formatted number
-        * @return TFormatResult
-        */
-        TFormatResult PhoneNumberFormatL( const TDesC& aNumberToFormat,
-            TDes& aFormattedString );
-
-    private:
-    	CAknPhoneNumberGrouping* iPNGEngine;
-    };
-
-#endif // CLOCPHONENUMBERFORMAT_H_
-            
-// End of File
--- a/locationsystemui/locationsysui/locutils/inc/locrequestorutilsresolver.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,199 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Requestor utilities, supports Resolving of Requestors.
-*
-*/
-
-
-#ifndef CLOCREQUESTORUTILSRESOLVER_H_
-#define CLOCREQUESTORUTILSRESOLVER_H_
-
-//  INCLUDES
-#include <cntdb.h>                  // MIdleFindObserver
-#include <PbkFields.hrh>            // TPbkFieldId
-#include <centralrepository.h>
-#include <cenrepnotifyhandler.h>
-
-//FORWARD DECLARATION
-class CPbkFieldIdArray;
-class CPbkIdleFinder;
-class CPbkContactEngine;
-class CActiveSchedulerWait;
-class CPosRequestor;
-class MVPbkContactOperationBase;
-class MVPbkContactLinkArray;
-class MVPbkStoreContact;
-class MVPbkFieldTypeList;
-class CPbk2SortOrderManager;
-class MPbk2ContactNameFormatter;
-
-// CLASS DECLARATION
-
-/**
-*   This class is a version requestor utilities with resolving.
-*  @lib locutils.lib
-*  @since 3.0
-*/
-class CLocRequestorUtilsResolver  :	public CBase,
-                                    public MCenRepNotifyHandlerCallback 
-    {
-    public: // Constructors and destructor
-
-        /**
-        * Symbian OS constructor
-        * @param None
-        * @return new object
-        */
-        IMPORT_C static CLocRequestorUtilsResolver* NewL();
-
-        /**
-        * Destructor.
-        */
-        virtual ~CLocRequestorUtilsResolver();
-
-	public: // Implement base class virtual methods
-       /**
-        * Processes the requestors. In this case there is no processing done.
-        * @param aRequestors Array of Requestors
-        * @return name descriptor, ownership is transferred to caller
-        */
-        IMPORT_C void ProcessRequestorsL( 
-        				RPointerArray<CPosRequestor>& aRequestors );
-
-        /**
-        * This static method tells if requestor's name should be formatted
-        * according to phone number formatting rules.
-        * @param aRequestor who's name and id are investigated
-        * @return ETrue if requestor has no name and id is of type 
-        *               phone number.
-        */
-        IMPORT_C static TBool PhoneNumberAsName(
-                        const CPosRequestor& aRequestor );
-
-        /**
-        * Static method for checking whether requestor id is valid or not.
-        * Valid id means that a contact or service item can be created.
-        * @param aRequestor requestor to be checked
-        * @return ETrue if requestor id is valid, EFalse otherwise
-        */
-        IMPORT_C static TBool RequestorIdValid(
-                        const CPosRequestor& aRequestor );
-
-        /**
-        * Returns requestor name. In this case the requestor Id String.
-        * @param aRequestor Reference to the requestor for which
-        *					the name is required.
-        * @return name descriptor, ownership is transferred to caller
-        */
-        IMPORT_C HBufC* RequestorNameL( const CPosRequestor& aRequestor );
-		    
-    private: // Constructors
-        /**
-        * C++ default constructor.
-        */
-        CLocRequestorUtilsResolver();
-
-		/**
-		* The Symbian 2nd Phase Constructor is always Private
-		*/
-		void ConstructL();
-
-    private:
-        /** 
-        * From base class MCenRepNotifyHandlerCallback
-        * This callback method is used to notify the client about
-        * changes for integer value keys, i.e. key type is EIntKey.
-        *
-        * @param aId Id of the key that has changed.
-        * @param aNewValue The new value of the key.
-        */
-        virtual void HandleNotifyInt( TUint32 aId, TInt aNewValue );
-
-        /** 
-        * This callback method is used to notify the client about errors
-        * in the handler. Any error in handling causes the handler to stop
-        * handling any more notifications.
-        *
-        * @param aId Id of the key this instance listens for or if 
-        *            notifications for whole repository are listened, could 
-        *            also be KInvalidNotificationId.
-        * @param aError Error code.
-        * @param aHandler Pointer to the handler instance. 
-        */
-        virtual void HandleNotifyError( TUint32 aId, TInt aError, 
-                                        CCenRepNotifyHandler* aHandler );
-
-    private: // New Methods
-		/**
-        * This resolves the requestor by searching the contacts database
-        * based on the requestor Id Information.
-        * This searches only the default contact database now.
-        */
-        void ResolveRequestorNameL( CPosRequestor& aRequestor );
-
-		/**
-        * This resolves the requestor by searching the contacts database
-        * based on Phone Number. This searches only the default contact
-        * database now.
-        */
-		void SearchByPhoneNumberL( CPosRequestor& aRequestor );
-
-		/**
-        * This resolves the requestor by searching the contacts database
-        * based on Other Fields. Used to search E-mail , SIP URL and Web URL 
-        * type fields. This searches only the default contact database now.
-        */
-		void SearchByOtherFieldsL( CPosRequestor& aRequestor, 
-		                           TPbkFieldId aFieldType );
-
-		/**
-        * This resolves the requestor by searching for the requestor 
-        * string in al the fields in the contacts database.
-        * This searches only the default contact database now.
-        */
-		void SearchByAllFieldsL( CPosRequestor& aRequestor );
-
-		/**
-		* The Contact Searchs based on other fields can return contact cards
-		* that do not match in the specified field but in some other field.
-		* This method checks if the match occurs in the exact specified field.
-		*/
-		TBool IsContactExactRequestorMatchL( CPosRequestor& aRequestor,
-								             TContactItemId& aCntItemId,
-								             TPbkFieldId aFieldType );
-
-		/**
-		* This sets the contact card name in the requestor.
-		* Also the Requestor Format is changes to GenericName
-		*/
-		void SetContactNameToRequestorL( CPosRequestor& aRequestor,
-									     TContactItemId& aCntItemId );
-			
-    private: // member data
-    	// Own : Handle to the Contact Engine used to resolve the requestors
-		CPbkContactEngine* iPbkContactEngine;
-
-        // Central repository instance.
-        CRepository* iCenRepSession;
-
-        // Central repository notify handler instance.
-        CCenRepNotifyHandler* iCenRepNotifyHandler;
-        
-        // Matched numbers
-        TInt iNumDigitsToMatch;
-    };
-
-#endif // CLOCREQUESTORUTILSRESOLVER_H_
-            
-// End of File
--- a/locationsystemui/locationsysui/locutils/inc/locrequestorutilsresolverimpl2.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,307 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Requestor utilities, supports Resolving of Requestors.
-*
-*/
-
-
-#ifndef CLOCREQUESTORUTILSRESOLVER_H_
-#define CLOCREQUESTORUTILSRESOLVER_H_
-
-//  INCLUDES
-#include <MVPbkContactFindObserver.h>
-#include <MVPbkSingleContactOperationObserver.h>
-#include <MVPbkContactLink.h>
-#include <MVPbkContactStoreListObserver.h>
-#include <MVPbkContactStoreObserver.h>
-#include <eikenv.h>
-
-//FORWARD DECLARATION
-class CVPbkContactManager;
-class CActiveSchedulerWait;
-class CPosRequestor;
-class MVPbkContactOperationBase;
-class MVPbkContactLinkArray;
-class MVPbkStoreContact;
-class MVPbkFieldTypeList;
-class CPbk2SortOrderManager;
-class MPbk2ContactNameFormatter;
-
-// CLASS DECLARATION
-
-/**
-*   This class is a version requestor utilities with resolving.
-*  @lib locutils.lib
-*  @since 3.0
-*/
-class CLocRequestorUtilsResolver  :	public CActive,
-                                    public MVPbkContactFindObserver,
-                                    public MVPbkSingleContactOperationObserver,
-                                    public MVPbkContactStoreListObserver
-    {
-    public: // Constructors and destructor
-
-        /**
-        * Symbian OS constructor
-        * @param None
-        * @return new object
-        */
-        IMPORT_C static CLocRequestorUtilsResolver* NewL();
-
-        /**
-        * Destructor.
-        */
-        virtual ~CLocRequestorUtilsResolver();
-
-	public: // Implement base class virtual methods
-       /**
-        * Processes the requestors. In this case there is no processing done.
-        * @param aRequestors Array of Requestors
-        * @return name descriptor, ownership is transferred to caller
-        */
-        IMPORT_C void ProcessRequestorsL( 
-        				RPointerArray<CPosRequestor>& aRequestors );
-
-        /**
-        * This static method tells if requestor's name should be formatted
-        * according to phone number formatting rules.
-        * @param aRequestor who's name and id are investigated
-        * @return ETrue if requestor has no name and id is of type 
-        *               phone number.
-        */
-        IMPORT_C static TBool PhoneNumberAsName(
-                        const CPosRequestor& aRequestor );
-
-        /**
-        * Static method for checking whether requestor id is valid or not.
-        * Valid id means that a contact or service item can be created.
-        * @param aRequestor requestor to be checked
-        * @return ETrue if requestor id is valid, EFalse otherwise
-        */
-        IMPORT_C static TBool RequestorIdValid(
-                        const CPosRequestor& aRequestor );
-
-        /**
-        * Returns requestor name. In this case the requestor Id String.
-        * @param aRequestor Reference to the requestor for which
-        *					the name is required.
-        * @return name descriptor, ownership is transferred to caller
-        */
-        IMPORT_C HBufC* RequestorNameL( const CPosRequestor& aRequestor );
-
-    protected: // From Base class MVPbkContactFindObserver.
-       /**
-        * Called when find is complete. The ownership of results in transferred
-        * to this class.
-        * In case of an error during find, the aResults may contain only 
-        * partial results of the find.
-        *
-        * @param aResults Array of contact links that matched the find.
-        *                 Callee must take ownership of this object in
-        *                 the end of the function, ie. in case the function
-        *                 does not leave.
-        */
-        virtual void FindCompleteL(MVPbkContactLinkArray* aResults);
-
-       /**
-        * Called in case the find fails for some reason.
-        * 
-        * @param aError One of the system wide error codes.
-        */
-        virtual void FindFailed(TInt aError);
-    
-    protected: // From Base class MVPbkSingleContactOperationObserver
-       /**
-        * Called when operation is completed.
-        *
-        * @param aOperation the completed operation.
-        * @param aContact  the contact returned by the operation.
-        *                  Client must take the ownership immediately.
-        *
-        */
-        virtual void VPbkSingleContactOperationComplete(
-                MVPbkContactOperationBase& aOperation,
-                MVPbkStoreContact* aContact);
-
-       /**
-        * Called if the operation fails.
-        *
-        * @param aOperation    the failed operation.
-        * @param aError        error code of the failure.
-        */
-        virtual void VPbkSingleContactOperationFailed(
-                MVPbkContactOperationBase& aOperation, 
-                TInt aError);
-
-    protected: //From base class MVPbkContactStoreListObserver
-        /**
-         * Called when the opening process is complete, 
-         * ie. all stores have been reported
-         * either failed or successful open.
-         */
-        virtual void OpenComplete();
-    
-    protected: //From base class MVPbkContactStoreObserver
-        /**
-         * Called when a contact store is ready to use.
-         */
-        virtual void StoreReady(MVPbkContactStore& aContactStore);
-
-        /**
-         * Called when a contact store becomes unavailable.
-         * Client may inspect the reason of the unavailability and decide whether or not
-         * it will keep the store opened (ie. listen to the store events).
-         * @param aContactStore The store that became unavailable.
-         * @param aReason The reason why the store is unavailable.
-         *                This is one of the system wide error codes.
-         */
-        virtual void StoreUnavailable(MVPbkContactStore& aContactStore, TInt aReason);
-
-        /**
-         * Called when changes occur in the contact store.
-         * @see TVPbkContactStoreEvent
-         *
-         * @param aStoreEvent Event that has occured.
-         */
-        virtual void HandleStoreEventL(
-                MVPbkContactStore& aContactStore, 
-                TVPbkContactStoreEvent aStoreEvent);
-    
-    protected:
-        /**
-        * From Base class CActive
-        * This method is called by the ActiveScheduler when the asynchronous
-        * operation gets completed.
-        */
-        virtual void RunL();
-
-        /**
-        * From Base class CActive
-        * If RunL leaves then it is handled in RunError.
-        * @param aError the ErrorCode on which RunL did a Leave.
-        */
-        virtual TInt RunError(TInt aError);
-
-        /**
-        * From Base class CActive
-        * DoCancel is called when the operation performed by the Active Object
-        * needs to be cancelled.
-        */
-    	virtual void DoCancel();
-    
-    private: // Constructors
-        /**
-        * C++ default constructor.
-        */
-        CLocRequestorUtilsResolver();
-
-		/**
-		* The Symbian 2nd Phase Constructor is always Private
-		*/
-		void ConstructL();
-
-    private: // New Methods
-		/**
-        * This resolves the requestor by searching the contacts database
-        * based on the requestor Id Information.
-        * This searches only the default contact database now.
-        */
-        void ResolveRequestorNameL(CPosRequestor& aRequestor);
-
-		/**
-        * This resolves the requestor by searching the contacts database
-        * based on Phone Number.
-        * This searches only the default contact database now.
-        */
-		void ResolveRequestorByPhoneNumberL(
-								CPosRequestor& aRequestor);
-
-		/**
-        * This resolves the requestor by searching the contacts database
-        * based on Other Fields. Used to search based on E-mail and URL 
-        * type. This searches only the default contact database now.
-        */
-		void ResolveRequestorByOtherFieldsL(
-								CPosRequestor& aRequestor,
-								MVPbkFieldTypeList* aFieldType);
-
-		/**
-		* This sets the contact card name in the requestor.
-		* Also the Requestor Format is changes to GenericName
-		*/
-		void SetContactNameToRequestorL(TInt aCntLinkArrayIndex);
-
-    private: // Helper methods
-		/**
-		* Schedule this dumy Active object to run again.
-		*/
-        void ScheduleAORun();
-        
-		/**
-		* Complete the Contact resolving operation.
-		*/
-        void CompleteRequest();
-    
-    private: // State of Contacts Resolving
-        enum TContactResolverState
-            {
-            KNoProcessing = 0,
-            KResolveRequestor,
-            KMatchedContacts,
-            KRetrievedContactInfo,
-            KResolvingCompleted
-            };
-    
-    private: // member data
-        // Ref : The current requestor stack that is being resolved.
-    	RPointerArray<CPosRequestor>* iRequestors;
-    	
-    	// Own : Handle to the Contact Engine used to resolve the requestors
-		CVPbkContactManager* iPbkContactEngine;
-		
-		// Own: Parameter for the MPbk2ContactNameFormatter
-        CPbk2SortOrderManager* iPbkSortManager;
-        
-		// Own: Parameter for the Find API
-        MPbk2ContactNameFormatter* iPbkCntFormatter;
-        
-		// Own : ActiveSchedulerWait Loop.
-		CActiveSchedulerWait iWait;
-		
-		// Own : Handle to the Current operation being performed
-		MVPbkContactOperationBase* iCntsOperation;
-		
-		// Own : the Link to the matched contacts
-		MVPbkContactLinkArray* iCntLinkArray;
-		
-		// Own: The Contact retrieved
-		MVPbkStoreContact* iContact;
-
-        // The current state of contacts resolving
-        TContactResolverState iState;
-        
-		// The index of the current requestor that is being processed.
-		TInt iCount;
-    
-        // The offset returned by the AddResourceFile
-        // Used to delete the resource file.
-        TInt iResourceOffset;
-        
-        // Eikon Env
-        CEikonEnv* iEnv;
-    };
-
-#endif // CLOCREQUESTORUTILSRESOLVER_H_
-            
-// End of File
--- a/locationsystemui/locationsysui/locutils/inc/loctextutils.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Descriptor manipulation utilities.
-*
-*/
-
-
-#ifndef LOCTEXTUTILS_H_
-#define LOCTEXTUTILS_H_
-
-//  INCLUDES
-#include <e32base.h>
-#include <AknUtils.h>
-
-// FORWARD DECLARATIONS
-
-
-// CLASS DECLARATION
-
-/**
-*  Static class containing descriptor manipulation utilities.
-*  @lib locutils.lib
-*  @since 2.1
-*/
-class LocTextUtils
-    {
-    public: // New functions
-        /**
-        * Clips listbox data.
-        * Use this only if you have icons, otherwise AknTextUtils.
-        * @param aOriginal original text that is not modified
-        * @param aClipped modified text
-        * @param aClipDirection tells how to clip
-        * @param aListBox reference to the listbox which shows the data
-        * @param aItemIndex item index
-        * @param aSubCellNumber subcell number
-        * @param aIcons 0->no icons, 1->ind. arrow, 2->1 icon, etc.
-        * @return ETrue if clipping occurred
-        */
-        IMPORT_C static TBool ClipToFit( TDes& aText,
-            AknTextUtils::TClipDirection aClipDirection,
-            CEikFormattedCellListBox* aListBox,
-            TInt aItemIndex,
-            TInt aSubCellNumber,
-            TInt aIcons );
-    };
-
-#endif // LOCTEXTUTILS_H_
-            
-// End of File
--- a/locationsystemui/locationsysui/locutils/inc/locutilsdebug.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  LocUtilsDebug contains debug macros.
-*
-*/
-
-
-#ifndef _LOCUTILSDEBUG_H_
-#define _LOCUTILSDEBUG_H_
-
-// INCLUDES
-#include <e32std.h>
-#include "locutilsdebugconfig.hrh"
-
-// MACROS
-#define DEBUG(TEXT) 				 { \
-									  _LIT( KText, #TEXT ); \
-									   Debug(KText) \
-									 }
-									 
-#define LOC(TEXT, ARG1) 			 { \
-									   _LIT( KText, #TEXT ); \
-									   Debug( KText, (ARG1) ); \
-									 }
-									 
-#define LOC2(TEXT, ARG1, ARG2) 		 { \
-									   _LIT( KText, #TEXT ); \
-									   Debug( KText,(ARG1), (ARG2) ); \
-									 }
-									 
-#define LOC3(TEXT, ARG1, ARG2, ARG3) { \
-									   _LIT( KText, #TEXT ); \
-									   Debug( KText, (ARG1), (ARG2), (ARG3) ); \
-									 }
-
-IMPORT_C void Debug( TRefByValue<const TDesC> aText, ...);
-
-/**
-* By using component specific debug macros unnecessary 
-* debug prints can be avoided. 
-* Also component specific debugging is possible by compiling 
-* only certain components when LOC_ENABLE_DEBUG_PRINT is defined.
-*/
-
-#ifdef LOC_ENABLE_DEBUG_PRINT
-
-#define LOCUTILSDEBUG(TEXT)                     DEBUG(TEXT);
-#define LOCUTILSDEBUG1(TEXT, ARG1)              LOC(TEXT, ARG1);
-#define LOCUTILSDEBUG2(TEXT, ARG1, ARG2)        LOC2(TEXT, ARG1, ARG2);
-#define LOCUTILSDEBUG3(TEXT, ARG1, ARG2, ARG3)  LOC3(TEXT, ARG1, ARG2, ARG3);
-
-#else
-
-#define LOCUTILSDEBUG(TEXT)                     ;
-#define LOCUTILSDEBUG1(TEXT, ARG1)              ;
-#define LOCUTILSDEBUG2(TEXT, ARG1, ARG2)        ;
-#define LOCUTILSDEBUG3(TEXT, ARG1, ARG2, ARG3)  ;
-
-#endif
-
-#endif // _LOCUTILSDEBUG_H_
--- a/locationsystemui/locationsysui/locutils/inc/locutilsdebugconfig.hrh	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  This is the main build-time configuration file of Loc Utils
-*
-*/
-
-
-#ifndef LOCUTILSDEBUGCONFIG_HRH_
-#define LOCUTILSDEBUGCONFIG_HRH_
-
-//  INCLUDES
-
-// Flags for development:
-
-
-// Defined LOC_ENABLE_DEBUG_PRINT flag enables debug prints to a file.
-
-//#define LOC_ENABLE_DEBUG_PRINT
-
-#endif // LOCUTILSDEBUGCONFIG_HRH_
-
-// End of File
--- a/locationsystemui/locationsysui/locutils/inc/locutilsuid.hrh	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Common header for Location Utils UIDs.
-*
-*/
-
-
-#ifndef LOCUTILSUID_H_
-#define LOCUTILSUID_H_
-
-//  MACROS  
-
-/// Location utility component UID3
-#define LOCUTILS_UID3 0x101F84FB
-
-#endif // LOCUTILSUID_H_
-
-// End of File
--- a/locationsystemui/locationsysui/locutils/src/locfileutils.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Static utility class for file operations.
-*
-*/
-
-
-// INCLUDE FILES
-#include "locfileutils.h"
-#include <bautils.h>
-#include <f32file.h>
-
-// ================= MEMBER FUNCTIONS =======================
-
-// -----------------------------------------------------------------------------
-// LocFileUtils::GetFileWithCorrectDriveL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void LocFileUtils::GetFileWithCorrectDriveL(
-    const TFileName& aDrive,
-	TFileName& aFileName )
-    { 
-    TParse parse;
-	User::LeaveIfError( parse.Set( aDrive, NULL, NULL ) );
-    User::LeaveIfError( parse.Set( parse.Drive(), &aFileName, NULL ) );
-	aFileName = parse.FullName();
-    }
-
-// -----------------------------------------------------------------------------
-// LocFileUtils::GetNearestLanguageFileL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void LocFileUtils::GetNearestLanguageFileL(
-    RFs& aSession,
-    const TFileName& aDrive,
-    TFileName& aFileName )
-    {
-    GetFileWithCorrectDriveL( aDrive, aFileName );
-    BaflUtils::NearestLanguageFile( aSession, aFileName );
-    }
-
-//  End of File
--- a/locationsystemui/locationsysui/locutils/src/locphonenumberformat.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,194 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*     Default implementation for number formatting.
-*
-*/
-
-
-// INCLUDE FILES
-#include <AknUtils.h>
-#include <AknLayoutDef.h>
-#include <AknLayout.lag>
-#include <eikfrlbd.h>
-#include <AknPhoneNumberGrouping.h>
-#include "locphonenumberformat.h"
-
-// CONSTANT DEFINITIONS
-
-// maximum phone number length
-const TInt KLocPhoneNumberMaxLen = 48;
-
-// ============= CLOCPHONENUMBERFORMAT MEMBER FUNCTIONS ===================
-
-// ---------------------------------------------------------------------------
-// CLocPhoneNumberFormat::NewL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLocPhoneNumberFormat* CLocPhoneNumberFormat::NewL()
-	{
-	CLocPhoneNumberFormat *self = new ( ELeave ) CLocPhoneNumberFormat;
-	CleanupStack::PushL(self);
-	self->ConstructL();
-	CleanupStack::Pop(self);
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// CLocPhoneNumberFormat::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CLocPhoneNumberFormat::ConstructL()
-	{
-	iPNGEngine = CAknPhoneNumberGrouping::NewL(KLocPhoneNumberMaxLen);
-    }
-
-// ---------------------------------------------------------------------------
-// CLocPhoneNumberFormat::CLocPhoneNumberFormat
-// ---------------------------------------------------------------------------
-//
-CLocPhoneNumberFormat::CLocPhoneNumberFormat()
-	{
-    // Intentionally empty
-	}
-
-// ---------------------------------------------------------------------------
-// CLocPhoneNumberFormat::~CLocPhoneNumberFormat
-// ---------------------------------------------------------------------------
-//
-CLocPhoneNumberFormat::~CLocPhoneNumberFormat()
-	{
-	delete iPNGEngine;
-	}
-
-// ---------------------------------------------------------------------------
-// CLocPhoneNumberFormat::PhoneNumberFormatL
-// ---------------------------------------------------------------------------
-//
-TFormatResult CLocPhoneNumberFormat::PhoneNumberFormatL(
-    const TDesC& aNumberToFormat,
-    TDes& aFormattedString )
-	{
-	TFormatResult rc( EResultOK );
-	if ( iPNGEngine->Set(aNumberToFormat) != KErrNone )
-		{
-		// If we cannot group the number then just return 
-		// the ungrouped number
-		return rc;
-		}
-
-	HBufC* groupedPhoneNumber = 
-		HBufC::NewL(iPNGEngine->FormattedNumber().Length());
-	// CAknPhoneNumberGrouping takes care of grouping based on the 
-	// current settings. If the __SERIES60_PHONE_NUMBER_GROUPING 
-	// feature flag is disabled then grouping is not done.
-	
-	TPtr grpPhoneNumberDesc = groupedPhoneNumber->Des();
-	iPNGEngine->CopyFormattedNumber(grpPhoneNumberDesc);
-	if (aFormattedString.MaxLength() < groupedPhoneNumber->Length())
-		{
-		// Store only as much as can be fitted into the resultant 
-		// Descriptor
-		rc = EResultTruncated;
-		aFormattedString = 
-			groupedPhoneNumber->Right( groupedPhoneNumber->Length() -
-										(groupedPhoneNumber->Length() - 
-										aFormattedString.MaxLength()) );
-		}
-	else
-		{
-		aFormattedString.Copy(*groupedPhoneNumber);
-		}
-
-	delete groupedPhoneNumber;
-	return rc;
-	}
-
-// ---------------------------------------------------------------------------
-// CLocPhoneNumberFormat::PhoneNumberGroupL
-// ---------------------------------------------------------------------------
-//	
-EXPORT_C HBufC* CLocPhoneNumberFormat::PhoneNumberGroupL( const TDesC& aNumberToGroup )
-    {
-	if ( iPNGEngine->Set(aNumberToGroup) != KErrNone )
-		{
-		// If we cannot group the number then just return NULL
-		return NULL;
-		}
-
-	HBufC* groupedPhoneNumber = HBufC::NewL(iPNGEngine->FormattedNumber().Length());
-		
-	// CAknPhoneNumberGrouping takes care of grouping based on the 
-	// current settings. If the __SERIES60_PHONE_NUMBER_GROUPING 
-	// feature flag is disabled then grouping is not done.
-	
-	TPtr grpPhoneNumberDesc = groupedPhoneNumber->Des();
-	iPNGEngine->CopyFormattedNumber( grpPhoneNumberDesc );
-	
-	return groupedPhoneNumber;	
-    }
-
-// ---------------------------------------------------------------------------
-// CLocPhoneNumberFormat::PhoneNumberFormatL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TFormatResult CLocPhoneNumberFormat::PhoneNumberFormatL(
-    const TDesC& aNumberToFormat,
-    TDes& aFormattedString,
-    AknTextUtils::TClipDirection aClipDirection,
-    CEikFormattedCellListBox *aListBox,
-    TInt aItemIndex,
-    TInt aSubCellNumber,
-    TInt aIcons )
-	{
-	TFormatResult rc = PhoneNumberFormatL( aNumberToFormat, aFormattedString );
-    if (aIcons == 0)
-    	{
-  		// There is no Icon so just use the AknTextUtils API
-   		if( AknTextUtils::ClipToFit( aFormattedString, aClipDirection, 
-   										aListBox, aItemIndex,
-   										aSubCellNumber ))
-   			{
-   			rc = EResultClipped;
-   			}
-    	}
-	else
-		{
-		// Adjust for the Icon Space.
-	    CFormattedCellListBoxData *data = 
-	        aListBox->ItemDrawer()->FormattedCellData();
-	    const CFont *font = data->Font( aListBox->ItemDrawer()->Properties( 
-	                                            aItemIndex ), aSubCellNumber );
-		
-		//Obtain the layout parameters for this element from the Avkon Layout
-
-	    TAknLayoutText textLayout;
-	    textLayout.LayoutText(aListBox->Rect() , 
-			AKN_LAYOUT_TEXT_List_pane_texts__menu_single__Line_1(aIcons));
-	     
-		TRect rect = textLayout.TextRect();
-	    TInt width = rect.Width();
-
-		TInt clipgap = data->SubCellTextClipGap( aSubCellNumber );
-
-		if ( AknTextUtils::ClipToFit( aFormattedString, *font, width,
-	                                  aClipDirection, width + clipgap ) )
-			{
-			rc = EResultClipped;
-			}
-		}
-    return rc;
-    }
-
-//  End of File
--- a/locationsystemui/locationsysui/locutils/src/locrequestorutilsresolverimpl2.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,782 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Requestor utilities, supports privacy rules.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <e32base.h>
-#include <barsread.h>
-
-#include <lbs/epos_cposrequestor.h>
-#include <lbs/epos_cposservicerequestor.h>
-#include <lbs/epos_cposcontactrequestor.h>
-
-// Virtual Phonebook Engine API
-#include <CVPbkContactManager.h>
-#include <VPbkContactStoreUris.h>
-#include <CVPbkContactStoreUriArray.h>
-#include <TVPbkContactStoreUriPtr.h>
-#include <MVPbkContactLinkArray.h>
-#include <MVPbkContactOperationBase.h>
-#include <MVPbkContactLink.h>
-#include <MVPbkStoreContact.h>
-#include <TVPbkFieldVersitProperty.h>
-#include <VPbkFieldType.hrh>
-#include <MVPbkContactStoreList.h>
-#include <MVPbkContactStore.h>
-#include <TVPbkFieldTypeMapping.h>
-#include <CVPbkFieldTypeSelector.h>
-
-// Virtual Phonebook Presentation API
-#include <CPbk2StoreConfiguration.h>
-#include <Pbk2ContactNameFormatterFactory.h>
-#include <CPbk2SortOrderManager.h>
-#include <MPbk2ContactNameFormatter.h>
-#include <CVPbkFieldTypeRefsList.h>
-#include <MVPbkContactFieldData.h>
-
-#include <cntdef.h>
-
-#include "locrequestorutilsresolverimpl2.h"
-#include "locutilsdebug.h"
-#include "locfileutils.h"
-#include <locutils.rsg>
-
-// This is a non localisable resource file hence we can directly refer to the
-// file as .rsc and we don't need to use the BaflUtils to load this resource
-// file.
-_LIT(KLocUtilsRscFile, "\\resource\\locutils.rsc");
-// ============= CLocRequestorUtilsResolver MEMBER FUNCTIONS =================
-
-// ---------------------------------------------------------------------------
-// CLocRequestorUtilsResolver::NewL
-// 2 Phase Constructor
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLocRequestorUtilsResolver* CLocRequestorUtilsResolver::NewL()
-	{
-	CLocRequestorUtilsResolver* self = 
-							new(ELeave) CLocRequestorUtilsResolver();
-	CleanupStack::PushL(self);
-	self->ConstructL();
-	CleanupStack::Pop(self);
-    return self;
-	}
-
-// ---------------------------------------------------------------------------
-// destructor
-// ---------------------------------------------------------------------------
-//
-CLocRequestorUtilsResolver::~CLocRequestorUtilsResolver()
-	{
-    delete iCntsOperation;
-    delete iCntLinkArray;
-    delete iContact;
-    delete iPbkContactEngine;
-    delete iPbkSortManager;
-    delete iPbkCntFormatter;
-
-    iEnv->DeleteResourceFile( iResourceOffset );
-	}
-
-// ---------------------------------------------------------------------------
-// The method resolves requestors with the contact database
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLocRequestorUtilsResolver::ProcessRequestorsL( 
-	RPointerArray<CPosRequestor>& aRequestors )
-	{
-    // The Contact Stores are all opened and setup for Search Operation
-    // Let us start with the first requestor now.
-	// The iCount member denotes the current requestor being processed.
-	// Initialise the value to zero.
-    iCount = 0;
-
-	iRequestors = &aRequestors;
-	// Initialize the state machine.
-	iState = KNoProcessing;
-	// Start the Active Object.
-	ScheduleAORun();
-	
-	iWait.Start();
-	}
-	
-// -----------------------------------------------------------------------------
-// CLocRequestorUtilsResolver::PhoneNumberAsName
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CLocRequestorUtilsResolver::PhoneNumberAsName(
-    const CPosRequestor& aRequestor )
-    {
-    if ( aRequestor.RequestorIdFormat() != CPosRequestor::EIdFormatPhoneNumber )
-        { // id is of some other format
-        return EFalse;
-        }
-    else
-    	{
-    	return ETrue;
-    	}
-    }
-
-// -----------------------------------------------------------------------------
-// CLocRequestorUtilsResolver::RequestorIdValid
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CLocRequestorUtilsResolver::RequestorIdValid(
-    const CPosRequestor& aRequestor )
-    {
-    TBool rc(ETrue);
-    if ( aRequestor.RequestorIdFormat() == CPosRequestor::EIdFormatUnknown )
-        {
-        rc = EFalse;
-        }
-    return rc;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CLocRequestorUtilsResolver::RequestorNameL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C HBufC* CLocRequestorUtilsResolver::RequestorNameL(
-    const CPosRequestor& aRequestor )
-    {
-	return aRequestor.RequestorIdString().AllocL();
-    }
-
-
-// ---------------------------------------------------------------------------
-// This is the callback method triggered when contacts matching succeeds.
-// ---------------------------------------------------------------------------
-//
-void CLocRequestorUtilsResolver::FindCompleteL(MVPbkContactLinkArray* aResults)
-    {
-    iCntLinkArray = aResults;
-    // Set State to process the matched contacts
-   	iState = KMatchedContacts;
-    // Schedule to run the Active Object again.
-    ScheduleAORun();
-    }
-
-
-// ---------------------------------------------------------------------------
-// This is the callback method triggered when contacts matching fails
-// ---------------------------------------------------------------------------
-//
-void CLocRequestorUtilsResolver::FindFailed(TInt /*aError*/)
-    {
-    // Search in one of the contact stores failed.
-    // No operation to be done in this phase.
-    // All actions are done after the find is completed fully in 
-    // FindCompleteL
-    }
-
-// ---------------------------------------------------------------------------
-// This is the callback method triggered when retrieving contact details
-// from a Contact Link
-// ---------------------------------------------------------------------------
-//
-void CLocRequestorUtilsResolver::VPbkSingleContactOperationComplete(
-    MVPbkContactOperationBase& /*aOperation*/,
-    MVPbkStoreContact* aContact)
-    {
-    iContact = aContact;
-    // Set State to process the retrieved contacts Information.
-    iState = KRetrievedContactInfo;
-    // Schedule to run the Active Object again.
-    ScheduleAORun();
-    }
-
-
-// ---------------------------------------------------------------------------
-// This is the callback method triggered when there is an error in 
-// retrieving contact details from a Contact Link
-// ---------------------------------------------------------------------------
-//
-void CLocRequestorUtilsResolver::VPbkSingleContactOperationFailed(
-    MVPbkContactOperationBase& /*aOperation*/, 
-    TInt /*aError*/)
-    {
-    // In this case we cannot get the Contact card name.
-    // Hence the requestor detail cannot be updated.
-    // So let us move to the next state.
-    // The state machine takes care of *not* updating the requestor
-    // information.
-    // Set State to process the retrieved contacts Information.
-    iState = KRetrievedContactInfo;
-    // Schedule to run the Active Object again.
-    ScheduleAORun();
-    }
-
-
-// ---------------------------------------------------------------------------
-// This is the callback method triggered when closing / opening the
-// contacts stores.
-// ---------------------------------------------------------------------------
-//
-void CLocRequestorUtilsResolver::OpenComplete()
-    {
-    // Set State to Start Requestor resolving.
-    iState = KResolveRequestor;
-    // Schedule to run the Active Object again.
-    ScheduleAORun();
-    }
-
-
-// ---------------------------------------------------------------------------
-// This is the callback method triggered when closing / opening one
-// contact store.
-// ---------------------------------------------------------------------------
-//
-void CLocRequestorUtilsResolver::StoreReady(
-    MVPbkContactStore& /*aContactStore*/)
-    {
-    //Nothing to do here
-    }
-
-
-// ---------------------------------------------------------------------------
-// This is the callback method triggered when an opened contact store becomes
-// unavailable.
-// ---------------------------------------------------------------------------
-//
-void CLocRequestorUtilsResolver::StoreUnavailable(
-    MVPbkContactStore& /*aContactStore*/,
-    TInt /*aReason*/)
-    {
-    //Nothing to do here
-    }
-
-
-// ---------------------------------------------------------------------------
-// This is the callback method triggered when any event happens with the
-// opened contact stores.
-// ---------------------------------------------------------------------------
-//
-void CLocRequestorUtilsResolver::HandleStoreEventL(
-    MVPbkContactStore& /*aContactStore*/, 
-    TVPbkContactStoreEvent /*aStoreEvent*/)
-    {
-    // We don't worry about contact , group events with any contact store.
-    // Also backup / restore is taken care of in the verifier dialogs and
-    // so we don't need to worry about backup / restore events with this store
-    // as well.
-    // Hence no processing is needed here.
-    // Just overriden since the base class method is pure virtual.
-    }
-
-
-// -----------------------------------------------------------------------------
-// CLocRequestorUtilsResolver::RunL
-// RunL runs the full state machine operations
-// -----------------------------------------------------------------------------
-//
-void CLocRequestorUtilsResolver::RunL()
-    {
-    // No need to check iStatus since this is a dummy Active Object and the
-    // asynchronous operation was completed locally.
-    switch( iState )
-        {
-        case KNoProcessing:
-            {
-            MVPbkContactStoreList& cntStoreList = 
-                            iPbkContactEngine->ContactStoresL();
-            cntStoreList.OpenAllL(*this);
-            }
-            break;
-
-        case KResolveRequestor:
-            {
-            TInt count = iRequestors->Count();
-            if ( iCount < count )
-                {
-                // Till there are more requestors to resolve continue this
-                // operation.
-               	ResolveRequestorNameL( *(*iRequestors)[iCount] );
-                }
-            else
-                {
-                // Set State to complete requestors resolving process.
-                iState = KResolvingCompleted;
-                ScheduleAORun();
-                }
-            }
-            break;
-
-        case KMatchedContacts:
-            {
-            // Once the Find operation is completed the control reaches here
-            // and the result is stored in iCntLinkArray
-            if ( iCntLinkArray && iCntLinkArray->Count() == 1 )
-                {
-                delete iCntsOperation;
-                iCntsOperation = NULL;
-
-                SetContactNameToRequestorL(0);
-                }
-            else
-                {
-                delete iCntsOperation;
-                delete iCntLinkArray;
-
-                iCntLinkArray = NULL;
-                iCntsOperation = NULL;
-
-                // There is no match or more than 1 match in contact stores.
-                // So no more operation to be done on this requestor.
-                // Move onto the next requestor and start resolving process again.
-                iCount++;
-                // Set State to Start Requestor resolving.
-            	iState = KResolveRequestor;
-                // Schedule to run the Active Object again.
-            	ScheduleAORun();
-                }
-            }
-            break;
-            
-        case KRetrievedContactInfo:
-            {
-            if ( iContact )
-                {
-                HBufC* name = 
-                    iPbkCntFormatter->GetContactTitleOrNullL(
-                        iContact->Fields(),
-                        MPbk2ContactNameFormatter::EUseSeparator);
-                if ( name )
-                    {
-                	CleanupStack::PushL(name);
-                	// Set the requestor Type as Generic Name otherwise clipping
-                	// would be done as if this is a number.
-                	// Number clipping is done from beginning while text clipping
-                	// is done from the end. Hence this is not trivial.
-                	(*iRequestors)[iCount]->SetRequestorIdL( 
-                	    CPosRequestor::EIdFormatGenericName,
-                		*name );
-                	CleanupStack::PopAndDestroy( name );
-                    }
-                }
-
-            // Delete all information related to the current requestor resolving 
-            // operation
-
-            delete iContact;
-            delete iCntLinkArray;
-            delete iCntsOperation;
-
-            iContact = NULL;
-            iCntLinkArray = NULL;
-            iCntsOperation = NULL;
-
-            // Start next requestor resolving operation.
-            iCount++;
-            iState = KResolveRequestor;
-            ScheduleAORun();
-            }
-            break;
-            
-        case KResolvingCompleted:
-            {
-            // All the handles regarding the requestor resolving namely iContact,
-            // iCntLinkArray and iCntsOperation have already been cleaned up.
-            // The only remaining item is the Contact Sotre handle.
-            MVPbkContactStoreList& cntStoreList = 
-                            iPbkContactEngine->ContactStoresL();
-            // Although CloseAll takes a handle to the observer of type 
-            // MVPbkContactStoreListObserver does not provide any callback mechanism.
-            // It merely uses it to match in the observer array and remove it from the
-            // array.
-            cntStoreList.CloseAll(*this);
-            CompleteRequest();
-            }
-            break;
-        }
-
-    }
-
-
-// -----------------------------------------------------------------------------
-// CLocRequestorUtilsResolver::RunError
-// Handle RunL error cases.
-// -----------------------------------------------------------------------------
-//
-TInt CLocRequestorUtilsResolver::RunError(TInt /*aError*/)
-    {
-    switch ( iState )
-        {
-        case KNoProcessing:
-            // Leave occured while opening Contact Stores. Just complete the
-            // resolving request.
-            CompleteRequest();
-            break;
-        case KResolveRequestor:
-            // ResolvRequestorNameL caused the leave. So current requestor 
-            // cannot be resolved. 
-        case KMatchedContacts:
-            // RetrieveContactL caused a leave. Contact Name cannot be retrieved
-        case KRetrievedContactInfo:
-            // Settings the Requestor Id name failed.
-            delete iContact;
-            delete iCntLinkArray;
-            delete iCntsOperation;
-
-            iContact = NULL;
-            iCntLinkArray = NULL;
-            iCntsOperation = NULL;
-            //So just set requestor count to next and trigger
-            // the AO in the same state.
-            iCount++;
-            iState = KResolveRequestor;
-            ScheduleAORun();
-            break;
-        case KResolvingCompleted:
-            // Leave occured while opening Contact Stores. Just complete the
-            // resolving request.
-            CompleteRequest();
-            break;        
-        }
-    return KErrNone;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CLocRequestorUtilsResolver::DoCancel
-// Handle Cancel operation.
-// -----------------------------------------------------------------------------
-//
-void CLocRequestorUtilsResolver::DoCancel()
-    {
-    //Nothing to be done here.
-    }
-
-// ---------------------------------------------------------------------------
-// CLocRequestorUtilsResolver::CLocRequestorUtilsResolver
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// ---------------------------------------------------------------------------
-//
-CLocRequestorUtilsResolver::CLocRequestorUtilsResolver()
-    :CActive(EPriorityStandard)
-	{
-	CActiveScheduler::Add(this);
-	}
-
-// ---------------------------------------------------------------------------
-// CLocRequestorUtilsResolver::ConstructL
-// Symbian Second Phase COnstructor
-// ---------------------------------------------------------------------------
-//
-void CLocRequestorUtilsResolver::ConstructL()
-	{
-    iEnv = CEikonEnv::Static();
-    
-    // Retrieve the URI list of contact stores to be used for searching
-    CPbk2StoreConfiguration* cntStoreCfg = CPbk2StoreConfiguration::NewL();
-    CleanupStack::PushL(cntStoreCfg);
-
-    CVPbkContactStoreUriArray* uriArray = 
-        cntStoreCfg->SearchStoreConfigurationL();
-
-    CleanupStack::PushL(uriArray);
-
-    // Create the Virtual Phonebook Contact Manager class.
-    // This class provides Search functionality.
-	iPbkContactEngine = CVPbkContactManager::NewL(*uriArray);
-
-    // Contact Store Configuration and URI Array classes are not
-    // needed anymore.
-	CleanupStack::PopAndDestroy(2, cntStoreCfg);
-
-    // The Sort Manager is a parameter to the Contact Formatter Constructor
-    iPbkSortManager = 
-        CPbk2SortOrderManager::NewL(iPbkContactEngine->FieldTypes());
-    
-    // The Phonebook Formatter is a paramter to the Search method in the
-    // contact manager.
-    iPbkCntFormatter = 
-        Pbk2ContactNameFormatterFactory::CreateL(
-            iPbkContactEngine->FieldTypes(),
-            *iPbkSortManager);
-
-    TFileName* resourceFile = new( ELeave ) TFileName;
-    CleanupStack::PushL( resourceFile );
-
-    resourceFile->Append( KLocUtilsRscFile );
-
-    TFileName* dllDrive = new( ELeave ) TFileName;
-    CleanupStack::PushL( dllDrive );
-    Dll::FileName( *dllDrive );    
-
-    LocFileUtils::GetFileWithCorrectDriveL( *dllDrive, *resourceFile );
-    iResourceOffset = iEnv->AddResourceFileL( *resourceFile );
-    
-    CleanupStack::PopAndDestroy( 2, resourceFile );
-	}
-
-
-// ---------------------------------------------------------------------------
-// CLocRequestorUtilsResolver::ResolveRequestorNameL
-// ---------------------------------------------------------------------------
-//
-void CLocRequestorUtilsResolver::ResolveRequestorNameL(
-	CPosRequestor& aRequestor )
-	{
-    // There are 2 types of Requestors
-    // 1. Contact
-    // 2. Service and
-    // There are 9 types of Requestor id Formats
-    // 1. Generic Name
-    // 2. Phone Number
-    // 3. URL
-    // 4. E-mail
-    // 5. SIP URL
-    // 6. IMS Public Identity
-    // 7. MIN
-    // 8. MDN
-    // 9. Unknown
-    // The following are the different cases for resolving.
-
-    switch(aRequestor.RequestorIdFormat())
-    	{
-    	case CPosRequestor::EIdFormatGenericName:
-			// The requestor is identified by name.
-			// Hence there is no need to change the requestor String.
-			// So complete the resolving operation for this requestor.
-			iState = KResolveRequestor;
-			// Increment the count of resolved requestors.
-			iCount++;
-			ScheduleAORun();
-    		break;
-
-    	case CPosRequestor::EIdFormatPhoneNumber:
-    		ResolveRequestorByPhoneNumberL(aRequestor);
-    		break;
-
-    	case CPosRequestor::EIdFormatUrl:
-    	    {
-			// The requestor is identified by URL.
-			CVPbkFieldTypeRefsList* fieldTypeList = 
-			                        CVPbkFieldTypeRefsList::NewL();
-			CleanupStack::PushL(fieldTypeList);
-
-            const MVPbkFieldTypeList& fieldTypes =
-                iPbkContactEngine->FieldTypes();
-
-            // create last name field to the contact
-            TResourceReader reader;
-            iEnv->CreateResourceReaderLC(reader,
-                R_VPBK_URL_SELECTOR);
-            CVPbkFieldTypeSelector* urlSelector = 
-                CVPbkFieldTypeSelector::NewL(reader, fieldTypes);
-            CleanupStack::PushL(urlSelector);
-
-            for (TInt i = 0; i < fieldTypes.FieldTypeCount(); ++i)
-                {
-                const MVPbkFieldType& fieldType = fieldTypes.FieldTypeAt(i);
-                if (urlSelector->IsFieldTypeIncluded(fieldType))
-                    {
-        			fieldTypeList->AppendL(fieldType);
-                    break;
-                    }
-                }
-
-            // urlSelector, R_VPBK_URL_SELECTOR buffer 
-            CleanupStack::PopAndDestroy(2); 
-
-			ResolveRequestorByOtherFieldsL( aRequestor, fieldTypeList );
-			CleanupStack::PopAndDestroy(fieldTypeList);
-    	    }
-    		break;
-
-    	case CPosRequestor::EIdFormatEmail:
-            {
-			CVPbkFieldTypeRefsList* fieldTypeList = 
-			                        CVPbkFieldTypeRefsList::NewL();
-			CleanupStack::PushL(fieldTypeList);
-
-            const MVPbkFieldTypeList& fieldTypes =
-                iPbkContactEngine->FieldTypes();
-
-            // create last name field to the contact
-            TResourceReader reader;
-            iEnv->CreateResourceReaderLC(reader,
-                R_VPBK_EMAIL_SELECTOR);
-            CVPbkFieldTypeSelector* emailSelector = 
-                CVPbkFieldTypeSelector::NewL(reader, fieldTypes);
-            CleanupStack::PushL(emailSelector);
-
-            for (TInt i = 0; i < fieldTypes.FieldTypeCount(); ++i)
-                {
-                const MVPbkFieldType& fieldType = fieldTypes.FieldTypeAt(i);
-                if (emailSelector->IsFieldTypeIncluded(fieldType))
-                    {
-        			fieldTypeList->AppendL(fieldType);
-                    break;
-                    }
-                }
-
-            // emailSelector, R_VPBK_EMAIL_SELECTOR buffer 
-            CleanupStack::PopAndDestroy(2); 
-
-			ResolveRequestorByOtherFieldsL( aRequestor, fieldTypeList );
-			CleanupStack::PopAndDestroy(fieldTypeList);
-    	    }
-    		break;
-
-    	case CPosRequestor::EIdFormatSIPUrl:
-    	    {
-			CVPbkFieldTypeRefsList* fieldTypeList = 
-			                        CVPbkFieldTypeRefsList::NewL();
-			CleanupStack::PushL(fieldTypeList);
-
-            const MVPbkFieldTypeList& fieldTypes =
-                iPbkContactEngine->FieldTypes();
-
-            // create last name field to the contact
-            TResourceReader reader;
-            iEnv->CreateResourceReaderLC(reader,
-                R_VPBK_SIPURL_SELECTOR);
-            CVPbkFieldTypeSelector* sipUrlSelector = 
-                CVPbkFieldTypeSelector::NewL(reader, fieldTypes);
-            CleanupStack::PushL(sipUrlSelector);
-
-            for (TInt i = 0; i < fieldTypes.FieldTypeCount(); ++i)
-                {
-                const MVPbkFieldType& fieldType = fieldTypes.FieldTypeAt(i);
-                if (sipUrlSelector->IsFieldTypeIncluded(fieldType))
-                    {
-        			fieldTypeList->AppendL(fieldType);
-                    break;
-                    }
-                }
-
-            // sipUrlSelector, R_VPBK_SIPURL_SELECTOR buffer 
-            CleanupStack::PopAndDestroy(2); 
-
-			ResolveRequestorByOtherFieldsL( aRequestor, fieldTypeList );
-			CleanupStack::PopAndDestroy(fieldTypeList);
-    	    }
-    		break;
-
-    	case CPosRequestor::EIdFormatIMSPublicIdentity:
-    	case CPosRequestor::EIdFormatMIN:
-    	case CPosRequestor::EIdFormatMDN:
-    	// In this case we match by any field in the Contacts
-    	    {
-			const MVPbkFieldTypeList& gblFieldTypeList = 
-			                        iPbkContactEngine->FieldTypes();
-			
-			ResolveRequestorByOtherFieldsL( aRequestor, 
-			    const_cast<MVPbkFieldTypeList *>(&gblFieldTypeList) );
-    	    }
-    		break;
-    	
-    	default:
-			// If the requestor format is unknown then it won't be resolved.
-			// This case is for any future additions to the format types.
-    		// Nothing to do here as of now.
-			// So complete the resolving operation for this requestor.
-			iState = KResolveRequestor;
-			// Increment the count of resolved requestors.
-			iCount++;
-			ScheduleAORun();
-    		break;
-    	}
-	}
-
-
-// ---------------------------------------------------------------------------
-// CLocRequestorUtilsResolver::ResolveRequestorByPhoneNumberL
-// ---------------------------------------------------------------------------
-//
-void CLocRequestorUtilsResolver::ResolveRequestorByPhoneNumberL(
-	CPosRequestor& aRequestor )
-	{
-	
-	// The requestor is identified by Phone Number.
-    // Use the MatchPhoneNumberL of CPbkPhoneEngine
-	iCntsOperation = iPbkContactEngine->MatchPhoneNumberL(
-                            				aRequestor.RequestorIdString(),
-                            				KMaxPhoneMatchLength,
-                            				*this);
-	}
-
-	
-// ---------------------------------------------------------------------------
-// CLocRequestorUtilsResolver::ResolveRequestorByOtherFieldsL
-// Searches the Contacts Database Synchronously using the field and
-// information specified in the requestor.
-// ---------------------------------------------------------------------------
-//
-void CLocRequestorUtilsResolver::ResolveRequestorByOtherFieldsL(
-	CPosRequestor& aRequestor,
-	MVPbkFieldTypeList* aFieldTypeList)
-	{
-    // If the format is URL or E-mail etc then use FindL of CVPbkContactManager
-	iCntsOperation = iPbkContactEngine->FindL(aRequestor.RequestorIdString(),
-				                              *aFieldTypeList,
-				                              *this);
-	}
-
-
-// ---------------------------------------------------------------------------
-// CLocRequestorUtilsResolver::SetContactNameToRequestor
-// ---------------------------------------------------------------------------
-//
-
-void CLocRequestorUtilsResolver::SetContactNameToRequestorL(
-	TInt aCntLinkArrayIndex)
-	{
-    iCntsOperation = iPbkContactEngine->RetrieveContactL(
-                        iCntLinkArray->At(aCntLinkArrayIndex),
-                        *this);
-	}
-
-
-// ---------------------------------------------------------------------------
-// CLocRequestorUtilsResolver::ScheduleAORun
-// Schedule to Run this dummy Active Object once again.
-// ---------------------------------------------------------------------------
-//
-void CLocRequestorUtilsResolver::ScheduleAORun()
-    {
-    // This results in the RunL getting called.
-    if ( !IsActive() )
-        {
-        SetActive();
-        TRequestStatus* status = &iStatus;
-        User::RequestComplete(status, KErrNone);
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocRequestorUtilsResolver::ScheduleAORun
-// Schedule to Run this dummy Active Object once again.
-// ---------------------------------------------------------------------------
-//
-void CLocRequestorUtilsResolver::CompleteRequest()
-    {
-    // Stop the ActiveScheduler Wait Loop to complete the requestor resolving
-    // operation.
-	iWait.AsyncStop();
-    }
-
-
-//  End of File
--- a/locationsystemui/locationsysui/locutils/src/loctextutils.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Abstract base class for requestor utilities.
-*
-*/
-
-
-// INCLUDE FILES
-#include "loctextutils.h"
-#include <AknLayoutDef.h>
-#include <AknLayout.lag>
-#include <eikfrlbd.h>
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------------------------
-// LocTextUtils::ClipToFit
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//      
-EXPORT_C TBool LocTextUtils::ClipToFit(
-    TDes& aText,
-    AknTextUtils::TClipDirection aClipDirection,
-    CEikFormattedCellListBox* aListBox,
-    TInt aItemIndex,
-    TInt aSubCellNumber,
-    TInt aIcons )
-    {
-    if (aIcons == 0)
-    	{
-    	// There is no Icon so just use the AknTextUtils API
-   		return AknTextUtils::ClipToFit( aText, aClipDirection, 
-   										aListBox, aItemIndex, 
-   										aSubCellNumber );
-    	}
-    CFormattedCellListBoxData *data = 
-        aListBox->ItemDrawer()->FormattedCellData();
-    const CFont *font = data->Font( aListBox->ItemDrawer()->Properties( 
-                                            aItemIndex ), aSubCellNumber );
-	
-	// Obtain the layout parameters for this element from the Avkon Layout
-
-    TAknLayoutText textLayout;
-    textLayout.LayoutText(aListBox->Rect() , 
-		AKN_LAYOUT_TEXT_List_pane_texts__menu_single__Line_1(aIcons));
-     
-	TRect rect = textLayout.TextRect();
-    TInt width = rect.Width();
-
-    TInt clipgap = data->SubCellTextClipGap( aSubCellNumber );
-
-	return AknTextUtils::ClipToFit( aText, *font, width,
-                                  aClipDirection, width + clipgap );
-    }
-
-//  End of File
--- a/locationsystemui/locationsysui/locutils/src/locutilsdebug.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Contains debugging functions
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "locutilsdebug.h"
-#include <flogger.h>
-#include <e32svr.h>
-// CONSTANTS
-
-/// Folder where the log resides
-_LIT( KLocLogFolder, "LocationSysUI" );
-
-/// The name of the log file
-_LIT( KLocLogFileName, "LocationsysUI" );
-
-/// The format in which the time is formatted in log
-_LIT( KLocLogTimeFormat, "%02d.%02d:%02d:%06d ");
-
-/// The length of the string produced by KLocLogTimeFormat
-const TInt KLocLogTimeFormatLength = 16;
-
-/// How many characters a log line can contain
-const TInt KLocLogLineLength = 256;
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-
-// -----------------------------------------------------------------------------
-// Debug
-// Generates a log file if c:\logs\locationsysui\ folder exists
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void Debug( TRefByValue<const TDesC> aText, ... )
-    {    
-    VA_LIST args;
-    VA_START( args, aText );
-    
-    TBuf<KLocLogLineLength> buf;
-    buf.FormatList( aText, args );
-
-    #ifdef _DEBUG
-    RDebug::Print(buf);
-    #endif
-
-    RFileLogger logger;
-    
-    TInt ret=logger.Connect();
-    if (ret==KErrNone)
-        {
-        logger.SetDateAndTime( EFalse,EFalse );
-        logger.CreateLog( KLocLogFolder, KLocLogFileName, EFileLoggingModeAppend );       
-        TBuf<KLocLogTimeFormatLength> timeStamp;
-        TTime now;
-        now.HomeTime();
-        TDateTime dateTime;
-        dateTime = now.DateTime();
-        timeStamp.Format( KLocLogTimeFormat, 
-            dateTime.Hour(), dateTime.Minute(),
-            dateTime.Second(), dateTime.MicroSecond() );
-        buf.Insert( 0, timeStamp );
-
-        logger.Write(buf);
-        }
-
-    logger.Close();
-
-    VA_END( args );
-    }
-
-//  End of File  
--- a/locationsystemui/locationsysui/locutils/src/locutilsdebugdummy.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Contains dummy implementation for debugging function
-*
-*/
-
-
-#include "locutilsdebug.h"
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// -----------------------------------------------------------------------------
-// Debug
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void Debug( TRefByValue<const TDesC> /*aText*/, ... )
-  {
-  }
-
-//  End of File  
--- a/locationsystemui/locationsysui/locverifier/BWINS/LocVerifierDlgu.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	?NotifierArray@@YAPAV?$CArrayPtr@VMEikSrvNotifierBase2@@@@XZ @ 1 NONAME ; class CArrayPtr<class MEikSrvNotifierBase2> * NotifierArray(void)
-
--- a/locationsystemui/locationsysui/locverifier/eabi/LocVerifierDlgu.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-EXPORTS
-	_Z13NotifierArrayv @ 1 NONAME
-	_ZTI13CLpdBaseModel @ 2 NONAME ; #<TI>#
-	_ZTI13CLpdRequestAO @ 3 NONAME ; #<TI>#
-	_ZTI18CLpdVerifierPlugin @ 4 NONAME ; #<TI>#
-	_ZTI21CLpdQueryLauncherBase @ 5 NONAME ; #<TI>#
-	_ZTI21CLpdVerifNotifLBModel @ 6 NONAME ; #<TI>#
-	_ZTI22CLpdGlobalPluginDialog @ 7 NONAME ; #<TI>#
-	_ZTI22CLpdRequestorProcessor @ 8 NONAME ; #<TI>#
-	_ZTI25CLpdNotifierQueryLauncher @ 9 NONAME ; #<TI>#
-	_ZTI25CLpdVerifierQueryLauncher @ 10 NONAME ; #<TI>#
-	_ZTV13CLpdBaseModel @ 11 NONAME ; #<VT>#
-	_ZTV13CLpdRequestAO @ 12 NONAME ; #<VT>#
-	_ZTV18CLpdVerifierPlugin @ 13 NONAME ; #<VT>#
-	_ZTV21CLpdQueryLauncherBase @ 14 NONAME ; #<VT>#
-	_ZTV21CLpdVerifNotifLBModel @ 15 NONAME ; #<VT>#
-	_ZTV22CLpdGlobalPluginDialog @ 16 NONAME ; #<VT>#
-	_ZTV22CLpdRequestorProcessor @ 17 NONAME ; #<VT>#
-	_ZTV25CLpdNotifierQueryLauncher @ 18 NONAME ; #<VT>#
-	_ZTV25CLpdVerifierQueryLauncher @ 19 NONAME ; #<VT>#
-	_ZTI23CLpdMessagePluginDialog @ 20 NONAME
-	_ZTV23CLpdMessagePluginDialog @ 21 NONAME
-	_ZTI21CLpdPeriodicProcessor @ 22 NONAME ; #<TI>#
-	_ZTI23CLpdSUPLSettingsAdapter @ 23 NONAME ; #<TI>#
-	_ZTI28CLpdVerifierSettingsLauncher @ 24 NONAME ; #<TI>#
-	_ZTV21CLpdPeriodicProcessor @ 25 NONAME ; #<VT>#
-	_ZTV23CLpdSUPLSettingsAdapter @ 26 NONAME ; #<VT>#
-	_ZTV28CLpdVerifierSettingsLauncher @ 27 NONAME ; #<VT>#
-
--- a/locationsystemui/locationsysui/locverifier/ecom/locnotifierwrapper.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,153 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Methods for Location notifier Ecom Plugins entry point
-*
-*/
-
-
-#include <ecom/implementationproxy.h>
-#include <AknNotifierWrapper.h> // link against aknnotifierwrapper.lib
-#include <lbs/epos_privacynotifier.hrh>
-
-#include "locnotifierwrapper.h"
-
-
-const MEikSrvNotifierBase2::TNotifierPriority KNotifierPriority =
-        MEikSrvNotifierBase2::ENotifierPriorityHigh;
-const TUid KNotifierChannel = { 0x100065ac };
-const TInt KMaxSynchReplyBufLength = 256;
-const TInt KPrivSrvSecureId = 0x10281D45;
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CLocNotifierSecurityCheck::Release
-// This method will release all resources that have been allocated for
-// performing the custom security check.
-// ---------------------------------------------------------------------------
-//
-void CLocNotifierSecurityCheck::Release()
-    {
-    delete this;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLocNotifierSecurityCheck::CustomSecurityCheckL
-// This method performs the security check
-// ---------------------------------------------------------------------------
-//
-void CLocNotifierSecurityCheck::CustomSecurityCheckL(const RMessagePtr2& aMessage)
-    {
-    if (!aMessage.IsNull())
-        {
-		static _LIT_SECURITY_POLICY_S0(SidPolicy, KPrivSrvSecureId);
-		if (!SidPolicy().CheckPolicy(aMessage))
-			{
-			User::Leave(KErrPermissionDenied);
-			}
-        }
-    }
-    
-		
-// ======== LOCAL FUNCTIONS ========
-
-// ECom registration related methods
-
-// ---------------------------------------------------------------------------
-// Helper method to perform cleanup of the CArrayPtrFlat array object.
-// ---------------------------------------------------------------------------
-//
-void CleanupArray(TAny* aArray)
-    {
-    CArrayPtrFlat<MEikSrvNotifierBase2>*     
-        subjects=static_cast<CArrayPtrFlat<MEikSrvNotifierBase2>*>(aArray);
-    TInt lastInd = subjects->Count()-1;
-    for (TInt i=lastInd; i >= 0; i--)
-        subjects->At(i)->Release();	    	    
-    delete subjects;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Creates an array of CAknCommonNotifierWrapper objects
-// ---------------------------------------------------------------------------
-//
-CArrayPtr<MEikSrvNotifierBase2>* DoCreateNotifierArrayL()
-    {
-    CArrayPtrFlat<MEikSrvNotifierBase2>* subjects=
-        new (ELeave)CArrayPtrFlat<MEikSrvNotifierBase2>(1);
-    
-    CleanupStack::PushL(TCleanupItem(CleanupArray, subjects));
-
-    CLocNotifierSecurityCheck* customSecurityImpl = 
-        new(ELeave) CLocNotifierSecurityCheck;
-    CleanupStack::PushL(customSecurityImpl);
-    
-    // Session owning notifier(if default implementation is enough)
-    CAknCommonNotifierWrapper* master = 
-        CAknCommonNotifierWrapper::NewL( TUid::Uid(KPosPrivacyNotifierImplUid),
-                                   KNotifierChannel,
-                                   KNotifierPriority,
-                                   _L("LocVerifierDlg.dll"),
-                                   KMaxSynchReplyBufLength);
-    // set the custom security handler.
-	
-    CleanupStack::Pop(customSecurityImpl);
-    // Control of customSecurityImpl transferred to CAknCommonNotifierWrapper
-    // object
-	master->SetCustomSecurityHandler(customSecurityImpl); 		   
-    subjects->AppendL( master );
-    CleanupStack::Pop(subjects);
-    return(subjects);
-    }
-
-
-// ---------------------------------------------------------------------------
-// Called to instantiate this ECOM Plugin implementation.
-// ---------------------------------------------------------------------------
-//
-CArrayPtr<MEikSrvNotifierBase2>* NotifierArray()
-    // old Lib main entry point
-    {
-    CArrayPtr<MEikSrvNotifierBase2>* array = NULL;
-    TRAPD(error, array = DoCreateNotifierArrayL());
-    if (error == KErrNone)
-    	{
-    	return array;
-    	}
-    else
-    	{
-    	return NULL;
-    	}
-    }
-
-const TImplementationProxy ImplementationTable[] =
-	{
-#ifdef __EABI__
-	{{0x10207243},(TFuncPtr)NotifierArray}
-#else
-	{{0x10207243},NotifierArray}
-#endif
-	};
-
-// ======== GLOBAL FUNCTIONS ========
-
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
-	{
-	aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy) ;
-	return ImplementationTable;
-	}
-
--- a/locationsystemui/locationsysui/locverifier/group/ABLD.BAT	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-@ECHO OFF
-
-REM Bldmake-generated batch file - ABLD.BAT
-REM ** DO NOT EDIT **
-
-perl -S ABLD.PL "\sf\mw\locationsrv\locationsystemui\locationsysui\locverifier\group\\" %1 %2 %3 %4 %5 %6 %7 %8 %9
-if errorlevel==1 goto CheckPerl
-goto End
-
-:CheckPerl
-perl -v >NUL
-if errorlevel==1 echo Is Perl, version 5.003_07 or later, installed?
-goto End
-
-:End
--- a/locationsystemui/locationsysui/locverifier/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*	 This file provides the information required for building the
-*    whole of a location application.
-*
-*/
-
-
-// To get the MW_LAYER_PLATFORM_EXPORT_PATH macro definitions
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT GCCE
-
-PRJ_EXPORTS
-
-
-PRJ_MMPFILES
-locverifierdlg.mmp
-locnotifierwrapper.mmp
-
-//  End of File
--- a/locationsystemui/locationsysui/locverifier/group/locnotifierwrapper.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2004-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  This is project specification file for the Location Notifier
-*									Ecom Plugins.
-*
-*/
-
-
-#include <platform_paths.hrh> // For the MW_LAYER_SYSTEMINCLUDE
-
-TARGET        	locnotifierwrapper.dll
-CAPABILITY 		All -TCB
-TARGETTYPE 		PLUGIN 
-
-VENDORID		VID_DEFAULT
-
-UID				0x10009D8D 0x10207242
-
-// System Include
-MW_LAYER_SYSTEMINCLUDE
-
-USERINCLUDE		. 
-USERINCLUDE		../inc
-USERINCLUDE             ../../loc
-
-SOURCEPATH		../ecom
-SOURCE  		locnotifierwrapper.cpp 
-
-SOURCEPATH      ../rss
-START RESOURCE  10207242.rss 
-TARGET          locnotifierwrapper.rsc
-END
-
-LIBRARY 		ecom.lib
-LIBRARY			aknnotifierwrapper.lib
-LIBRARY 		euser.lib
--- a/locationsystemui/locationsysui/locverifier/group/locverifierdlg.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Project definition file for Location Verification Dialog
-*
-*/
-
-
-// INCLUDES
-#include "../inc/locverifieruid.h"
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh> // For the APP_LAYER_SYSTEMINCLUDE
-
-TARGET          locverifierdlg.dll
-TARGETTYPE      DLL
-UID             KNotifierUID2  KLocVerifierDlgUID3
-
-CAPABILITY 		CAP_ECOM_PLUGIN
-
-VENDORID		VID_DEFAULT
-
-SOURCEPATH      ../src
-SOURCE          lpdsuplsettingsadapter.cpp
-SOURCE			lpdverifierplugin.cpp
-SOURCE			lpdrequestao.cpp
-SOURCE			lpdrequestorprocessor.cpp
-SOURCE          lpdperiodicprocessor.cpp
-SOURCE			lpdverifiersettinglauncher.cpp
-SOURCE			lpdverifierquerylauncher.cpp
-SOURCE			lpdnotifierquerylauncher.cpp
-SOURCE			lpdbasemodel.cpp
-SOURCE			lpdverifnotiflbmodel.cpp
-SOURCE			lpdglobalplugindialog.cpp
-SOURCE			lpdmessageplugindialog.cpp
-SOURCE			lpdbkupevtlistenerao.cpp
-SOURCE			lpdquerylauncherbase.cpp
-SOURCE			lpddllmain.cpp
-SOURCE			lpdnotifreqinfo.cpp
-
-SOURCEPATH      ../rss
-START RESOURCE  locverifierdlg.rss
-HEADER
-TARGETPATH      RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END
-
-// System Include
-APP_LAYER_SYSTEMINCLUDE
-
-USERINCLUDE     .
-USERINCLUDE		../inc
-USERINCLUDE		../../inc
-USERINCLUDE		../../../inc
-USERINCLUDE   ../../loc
-
-// EPos:
-LIBRARY			eposprvqnif.lib
-// Location:
-LIBRARY			locutils.lib
-// Symbian & Avkon:
-LIBRARY         euser.lib
-LIBRARY 		avkon.lib
-LIBRARY			eiksrvui.lib 
-LIBRARY			eikdlg.lib
-LIBRARY 		eikcoctl.lib
-LIBRARY			cone.lib 
-LIBRARY			eikcore.lib 
-LIBRARY			aknskins.lib
-LIBRARY 		egul.lib
-LIBRARY         commonengine.lib 		// StringLoader
-LIBRARY         apgrfx.lib 				// RApaLsSession
-LIBRARY         apparc.lib 				// TApaAppInfo
-LIBRARY         aknicon.lib 			// AvkonIconFileName
-LIBRARY         eposprvtyp.lib
-LIBRARY 		aknnotifierwrapper.lib
-LIBRARY         estor.lib bafl.lib
-LIBRARY		    epos_suplsettings.lib	// SUPL Settings API
-LIBRARY		    locsettingsuiclient.lib // Location Settings Launch API
-LIBRARY         flogger.lib
--- a/locationsystemui/locationsysui/locverifier/inc/locconsts.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*     Contains common constants
-*
-*/
-
-
-#ifndef __LOCCONSTS_H__
-#define __LOCCONSTS_H__
-
-// CONSTANTS
-
-// maximum listbox line length
-// however, use safe descriptor manamegent methods
-const TInt KLocLBLineMaxLen = 100;
-
-// maximum length of formatting characters in listbox line
-const TUint KLocLBItemFormatMaxLen = 18;   // formatting characters
-
-_LIT( KLocVerifierRscFileName, "LocVerifierDlg.rsc" );
-
-_LIT(KLocNotifierRscPath, "\\resource\\");
-#endif // __LOCCONSTS_H__
-
-// End of File
--- a/locationsystemui/locationsysui/locverifier/inc/locnotifierwrapper.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  This file contains the declarations for the Notifier Proxy.
-*
-*/
-
-
-#include <AknNotifierWrapper.h> // link against aknnotifierwrapper.lib
-
-#ifndef LOCNOTIFIERWRAPPER_H 
-#define LOCNOTIFIERWRAPPER_H
-
-
-/**
- *  The class to provide custom security check.
- *
- *  This class provides a custom security check that will be called whenever
- *  a Location notifier message is received by the UIKON Server.
- *
- *  @lib locnotifierwrapper.lib
- *  @since S60 v3.1
- */
- class CLocNotifierSecurityCheck : public CBase, 
-                                   public MAknNotifierCustomSecurityCheck
-    {
-    public: // from base class MAknNotifierCustomSecurityCheck
-    /**
-     * From MAknNotifierCustomSecurityCheck.
-     * This method will be called by the framework classes to free up all 
-     * resources that have been allocated while doing the security check.
-     *
-     * @since S60 v3.1
-     */
-    void Release();
-    
-    /**
-     * From MAknNotifierCustomSecurityCheck.
-     * This is the method that performs the Security check.
-     * It is called from the framework classes.
-     * This method Leaves with KErrPermissionDenied to indicate a check fail
-     *
-     * @since S60 v3.1
-     * @param aMessage Pointer the Notification request message.
-     */
-    void CustomSecurityCheckL(const RMessagePtr2& aMessage);
-    };
-
- 
-#endif //LOCNOTIFIERWRAPPER
-
--- a/locationsystemui/locationsysui/locverifier/inc/locverifierdlg.hrh	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Contains declarations for constants of LocVerifierDlg.
-*                This file can be included in C++ or resource file.
-*
-*/
-
-#ifndef LOCVERIFIERDLG_HRH
-#define LOCVERIFIERDLG_HRH
-
-enum TLpdCommandIds
-    {
-    ELpdCmdEmergency = 0x06000,
-	ELpdCmdQuietExit
-    };
-
-
-#endif      // LOCVERIFIERDLG_HRH
-
-// End of File
\ No newline at end of file
--- a/locationsystemui/locationsysui/locverifier/inc/locverifierdlgdebug.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  LocVerifierDlgDebug contains debug macros.
-*
-*/
-
-
-#ifndef LOCVERIFIERDLGDEBUG_H 
-#define LOCVERIFIERDLGDEBUG_H
-
-// INCLUDES
-#include <e32std.h>
-#include "locutilsdebug.h"
-
-// MACROS
-
-/**
-* By using component specific debug macros unnecessary 
-* debug prints can be avoided. 
-* Also component specific debugging is possible by compiling 
-* only certain components when LOC_ENABLE_DEBUG_PRINT is defined.
-*/
-
-#ifdef LOC_ENABLE_DEBUG_PRINT
-#define LOCVERIFIERDLGDEBUG(TEXT) DEBUG(TEXT);
-#define LOCVERIFIERDLGDEBUG1(TEXT, ARG1) LOC(TEXT, ARG1);
-#define LOCVERIFIERDLGDEBUG2(TEXT, ARG1, ARG2) LOC2(TEXT, ARG1, ARG2);
-#define LOCVERIFIERDLGDEBUG3(TEXT, ARG1, ARG2, ARG3) LOC3(TEXT, ARG1, ARG2, ARG3);
-#else
-#define LOCVERIFIERDLGDEBUG(TEXT);
-#define LOCVERIFIERDLGDEBUG1(TEXT, ARG1);
-#define LOCVERIFIERDLGDEBUG2(TEXT, ARG1, ARG2);
-#define LOCVERIFIERDLGDEBUG3(TEXT, ARG1, ARG2, ARG3);
-#endif
-
-#endif /* LOCVERIFIERDLGDEBUG_H */
--- a/locationsystemui/locationsysui/locverifier/inc/locverifieruid.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Common header for Location application UIDs.
-*
-*/
-
-
-#ifndef __LOCVERIFIERUID_H__
-#define __LOCVERIFIERUID_H__
-
-/// Location verifier dialog UID3
-#define KLocVerifierDlgUID3	0x101f84fc
-
-#define KNotifierUID2 0x101fdfae
-
-#endif // __LOCVERIFIERUID_H__
-
-// End of File
--- a/locationsystemui/locationsysui/locverifier/inc/lpdbasemodel.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Model base class.
-*
-*/
-
-
-#ifndef CLPDBASEMODEL_H
-#define CLPDBASEMODEL_H
-
-//  INCLUDES
-#include <e32base.h>
-#include <bamdesca.h>
-
-// FORWARD DECLARATIONS
-class CLpdRequestorProcessor;
-class CLocRequestorUtilsResolver;
-
-// CLASS DECLARATION
-
-/**
-*  @lib locverifierdlg.dll
-*  @since 2.1
-*/
-class CLpdBaseModel : public CBase, public MDesCArray
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CLpdBaseModel();
-        
-    public: // Functions from base classes
-        
-        // Inherited from MDesCArray.
-        TPtrC16 MdcaPoint( TInt aIndex ) const;
-
-    protected: // New functions
-
-        // Leaving method, wrapped by MdcaPoint
-        virtual void MdcaPointL( TInt aIndex ) const = 0;
-
-    protected: // Constructors and destructors
-
-        /**
-        * C++ constructor.
-        */
-        CLpdBaseModel( const CLpdRequestorProcessor& aRtorProcessor );
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void BaseConstructL();
-
-    protected:    // Data
-        
-        const CLpdRequestorProcessor& iRtorProcessor;
-
-        HBufC* iBuffer; // owns
-
-        CLocRequestorUtilsResolver* iUtils; // owns
-    };
-
-#endif      // CLPDBASEMODEL_H   
-            
-// End of File
\ No newline at end of file
--- a/locationsystemui/locationsysui/locverifier/inc/lpdbkupevtlistenerao.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Active object which listens to Backup / Restore Events
-*
-*/
-
-
-//  INCLUDES
-#include <e32base.h>
-#include <e32property.h>
-
-#ifndef CLPD_BKUPEVT_LISTENER_H
-#define CLPD_BKUPEVT_LISTENER_H
-
-//FORWARD DECLARATIONS
-class MLpdBkupEvtObserver;
-// CLASS DECLARATION
-
-/**
-*  Active object used by the verifier dialog. 
-*  Ensures that during backup / Restore start the dialog is closed
-*
-*  @lib locverifierdlg.lib
-*  @since 3.0
-*/
-NONSHARABLE_CLASS(CLpdBkupEvtListenerAO) : public CActive
-    {    
-	public: // Constructors and destructors        
-
-        /**
-        * Two-phased constructor.
-        * @param aDlg reference to the owner of this object
-        * @return created object
-        */
-	    static CLpdBkupEvtListenerAO* NewL( MLpdBkupEvtObserver& aDlg );        
-
-        /**
-        * Destructor.
-        */
-	    virtual ~CLpdBkupEvtListenerAO();
-
-    public: // New functions
-    
-    	/**
-    	* Start subscribing to Backup/Restore Events
-    	* Leaves in case the backup is already running
-    	*/
-    	void StartL();
-
-    private:
-
-	    /**
-        * Private C++ default constructor.
-        * @param aDlg reference to the owner of this object
-        */
-		CLpdBkupEvtListenerAO( MLpdBkupEvtObserver& aDlg ); 	    
-
-	    /**
-        * Private Symbian 2nd Phase constructor.
-        */
-		void ConstructL();
-		
-    private: // Functions from base classes
-        
-        /**
-        * From CActive.
-        */
-        void RunL();
-        
-        /**
-        * From CActive.
-        */
-        void DoCancel();
-    	
-    private: // Data
-
-        // Reference to backup event observer
-        MLpdBkupEvtObserver& iBkupObserver; // doesn't own   
-        // Reference to the Backup/Restore Property to Subscribe.
-        RProperty iProperty;  
-};
-
-#endif      // CLPD_BKUPEVT_LISTENER_H
-
-// End of File
--- a/locationsystemui/locationsysui/locverifier/inc/lpdbkupevtobserver.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Callback interface class.
-*
-*/
-
-
-#ifndef MLPDBKUPEVTOBSERVER_H
-#define MLPDBKUPEVTOBSERVER_H
-
-// INCLUDES
-#include <e32def.h>
-#include <eiklbv.h>
-
-
-// CLASS DECLARATION
-
-/**
-*  Callback interface class.
-*  Implementor of this class gives a reference to itself when
-*  creating a global query dialog. A callback method is then
-*  called when the query is dismissed.
-*
-*  @lib locverifierdlg.lib
-*  @since 2.1
-*/
-class MLpdBkupEvtObserver
-    {
-    public:
-
-        /**
-        * Pure virtual callback method.
-        */
-        virtual void ExitDialogL() = 0;
-    };
-
-#endif  // MLPDBKUPEVTOBSERVER_H
-
-// End of File
--- a/locationsystemui/locationsysui/locverifier/inc/lpddlgobserver.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Callback interface class.
-*
-*/
-
-
-#ifndef MLPDDLGOBSERVER_H
-#define MLPDDLGOBSERVER_H
-
-// INCLUDES
-#include <e32def.h>
-#include <eiklbv.h>
-
-
-// CLASS DECLARATION
-
-/**
-*  Callback interface class.
-*  Implementor of this class gives a reference to itself when
-*  creating a global query dialog. A callback method is then
-*  called when the query is dismissed.
-*
-*  @lib locverifierdlg.lib
-*  @since 2.1
-*/
-class MLpdDlgObserver
-    {
-    public:
-
-        /**
-        * Pure virtual callback method.
-        * @param aResult code of the query
-        * @param aCurrentIndex current item index
-        */
-        virtual void HandleDlgDismissedL( TInt aResult,
-                                          TInt aCurrentIndex) = 0;
-    };
-
-#endif  // MLPDDLGOBSERVER_H
-
-// End of File
\ No newline at end of file
--- a/locationsystemui/locationsysui/locverifier/inc/lpddllmain.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Dll entry point and plugin creation functions.
-*
-*/
-
-
-#ifndef CLPDDLLMAIN_H
-#define CLPDDLLMAIN_H
-
-// INCLUDES
-#include <e32base.h>
-#include <eiknotapi.h>
-
-
-// FUNCTION PROTOTYPES
-IMPORT_C CArrayPtr<MEikSrvNotifierBase2>* NotifierArray();
-
-#endif // CLPDDLLMAIN_H
-
-// End of File
--- a/locationsystemui/locationsysui/locverifier/inc/lpdglobalplugindialog.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,168 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  List query dialog suitable for verifier plug-in use.
-*
-*/
-
-
-#ifndef CLPDGLOBALPLUGINDIALOG_H
-#define CLPDGLOBALPLUGINDIALOG_H
-
-// INCLUDES
-#include <aknlistquerydialog.h>
-#include "lpdbkupevtobserver.h"
-
-// FORWARD DECLARATIONS
-class MLpdDlgObserver;
-class CLpdBkupEvtListenerAO;
-class MLpdBkupEvtObserver;
-
-// CLASS DECLARATION
-
-/**
-*  A list query dialog suitable for verifier plug-in use.
-*  Inherits from CAknListQueryDialog, utilizes MLpdDlgObserver
-*  for notifying when dialog is dismissed.
-*
-*  @lib locverifierdlg.lib
-*  @since 2.1
-*/
-class CLpdGlobalPluginDialog : public CAknListQueryDialog, public MLpdBkupEvtObserver
-	{
-    public:  // Constructors and destructor
-
-        /**
-        * Two-phased constructor.
-        * @param aCallBack is notified when dialog is dismissed
-        * @param aSelfPtr caller's ptr is set to null when dialog is deleted
-        * @param aSelected will contain selected items when available, i.e.
-        *                  since observer callback (in multiselectionlist)
-        * @return created object
-        */
-        static CLpdGlobalPluginDialog* NewL(
-                    MLpdDlgObserver& aCallBack,
-                    CLpdGlobalPluginDialog ** aSelfPtr,
-                    CListBoxView::CSelectionIndexArray* aSelected = NULL );
-
-		
-        /**
-        * C++ destructor.
-        */
-        virtual ~CLpdGlobalPluginDialog();
-
-    public: // Functions from base classes
-
-        /**
-        * From CAknDialog. Wrapper method for enabling better unit testing
-        * when using a stub implementation.
-        * @param aResourceId
-        */
-        void PrepareLC( TInt aResourceId );
-
-        /**
-        * Wrapper that suppresses application switching
-        * and call's base class RunLD().
-        */
-        TInt RunLD();
-
-        /**
-        * From CAknListQueryDialog.
-        * @param aKeyEvent
-        * @param aType
-        * @return EKeyWasConsumed if key was consumed by dialog
-        */
-        TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
-                                     TEventCode aType );
-
-		void HandleResourceChange(TInt aType);
-
-    public: // New functions
-
-        /**
-        * Sets header text of the dialog.
-        * It is intended to be called before executing the dialog.
-        * @param aText
-        */
-        void SetHeaderTextL( const TDesC& aText );
-
-        /**
-        * Allows exiting the dialog without user action.
-        * Can be called e.g. in case of timeout. Main reason for
-        * this method is that deleting a dialog is not a proper
-        * way to exit it. Calling this method causes
-        * MLpdDlgObserver::HandleDlgDismissedL() callback with
-        * EEikCmdExit result.
-        */
-        void ExitDialogL();
-
-        /**
-        * Similar as ExitDialogL(), but no callback method
-        * is called.
-        */
-        void ExitDialogQuietlyL();
-
-    protected: // Functions from base classes
-
-        /**
-        * From CAknListQueryDialog.
-        * @param aButtonId
-        * @return ETrue if dialog can be dismissed
-        */
-        TBool OkToExitL(TInt aButtonId);
-
-    private:  // Constructors and destructor
-
-        /**
-        * Symbian 2nd Phase Constructor.
-        */
-		void ConstructL();
-
-        /**
-        * C++ constructor.
-        * @param aCallBack is notified when dialog is dismissed
-        * @param aSelfPtr caller's ptr is set to null when dialog is deleted
-        * @param aSelected will contain selected items when available, i.e.
-        *                  since observer callback (in multiselectionlist)
-        */
-        CLpdGlobalPluginDialog(
-                    MLpdDlgObserver& aCallBack,
-                    CLpdGlobalPluginDialog ** aSelfPtr,
-                    CListBoxView::CSelectionIndexArray* aSelected );
-
-    private:    // Data
-
-        // Object which is notified when query is dismissed
-        MLpdDlgObserver& iCallBack;
-
-        // Holds the status of application switching
-        TBool iAppSwitchSuppressed;
-
-        // Contains indexes of selected item
-        CListBoxView::CSelectionIndexArray* iSelected; // does not own
-
-        // Caller's pointer to this query object is set to NULL
-        // when ExecuteLD destroys the object
-        CLpdGlobalPluginDialog** iSelfPtr;
-
-        // Index given to base class, not used
-        TInt iDummyIndex;
-        
-        // Reference to the Backup Event Listener
-        CLpdBkupEvtListenerAO* iBkupListener;
-        
-	};
-
-#endif      // CLPDGLOBALPLUGINDIALOG_H   
-            
-// End of File
--- a/locationsystemui/locationsysui/locverifier/inc/lpdmessageplugindialog.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,148 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Message query dialog suitable for verifier plug-in use.
-*
-*/
-
-
-#ifndef CLPDMESSAGEPLUGINDIALOG_H
-#define CLPDMESSAGEPLUGINDIALOG_H
-
-// INCLUDES
-#include <aknmessagequerydialog.h>
-#include "lpdbkupevtobserver.h"
-
-// FORWARD DECLARATIONS
-class MLpdDlgObserver;
-class CLpdBkupEvtListenerAO;
-class MLpdBkupEvtObserver;
-
-// CLASS DECLARATION
-
-/**
-*  A message query dialog suitable for verifier plug-in use.
-*  Inherits from CAknMessageQueryDialog, utilizes MLpdDlgObserver
-*  for notifying when dialog is dismissed.
-*
-*  @lib locverifierdlg.lib
-*  @since 2.1
-*/
-class CLpdMessagePluginDialog : public CAknMessageQueryDialog, public MLpdBkupEvtObserver
-	{
-    public:  // Constructors and destructor
-
-        /**
-        * Two-phased constructor.
-        * @param aCallBack is notified when dialog is dismissed
-        * @param aSelfPtr caller's ptr is set to null when dialog is deleted
-        * @param aSelected will contain selected items when available, i.e.
-        *                  since observer callback (in multiselectionlist)
-        * @return created object
-        */
-        static CLpdMessagePluginDialog* NewL(
-                    MLpdDlgObserver& aCallBack,
-                    CLpdMessagePluginDialog ** aSelfPtr
-                    );
-
-		
-        /**
-        * C++ destructor.
-        */
-        virtual ~CLpdMessagePluginDialog();
-
-    public: // Functions from base classes
-
-        /**
-        * From CAknDialog. Wrapper method for enabling better unit testing
-        * when using a stub implementation.
-        * @param aResourceId
-        */
-        void PrepareLC( TInt aResourceId );
-
-        /**
-        * Wrapper that suppresses application switching
-        * and call's base class RunLD().
-        */
-        TInt RunLD();
-        
-
-		void HandleResourceChange(TInt aType);
-
-
-    public: // New functions
-
-        /**
-        * Allows exiting the dialog without user action.
-        * Can be called e.g. in case of timeout. Main reason for
-        * this method is that deleting a dialog is not a proper
-        * way to exit it. Calling this method causes
-        * MLpdDlgObserver::HandleDlgDismissedL() callback with
-        * EEikCmdExit result.
-        */
-        void ExitDialogL();
-
-        /**
-        * Similar as ExitDialogL(), but no callback method
-        * is called.
-        */
-        void ExitDialogQuietlyL();
-
-    protected: // Functions from base classes
-
-        /**
-        * From CAknListQueryDialog.
-        * @param aButtonId
-        * @return ETrue if dialog can be dismissed
-        */
-        TBool OkToExitL(TInt aButtonId);
-
-    private:  // Constructors and destructor
-
-        /**
-        * Symbian 2nd Phase Constructor.
-        */
-		void ConstructL();
-
-        /**
-        * C++ constructor.
-        * @param aCallBack is notified when dialog is dismissed
-        * @param aSelfPtr caller's ptr is set to null when dialog is deleted
-        * @param aSelected will contain selected items when available, i.e.
-        *                  since observer callback (in multiselectionlist)
-        */
-        CLpdMessagePluginDialog(
-                    MLpdDlgObserver& aCallBack,
-                    CLpdMessagePluginDialog ** aSelfPtr
-                   );
-
-    private:    // Data
-
-        // Object which is notified when query is dismissed
-        MLpdDlgObserver& iCallBack;
-
-        // Holds the status of application switching
-        TBool iAppSwitchSuppressed;
-
-        // Caller's pointer to this query object is set to NULL
-        // when ExecuteLD destroys the object
-        CLpdMessagePluginDialog** iSelfPtr;
-        
-        // Reference to the Backup Event Listener
-        CLpdBkupEvtListenerAO* iBkupListener;
-        
-	};
-
-#endif      // CLPDMESSAGEPLUGINDIALOG_H   
-            
-// End of File
--- a/locationsystemui/locationsysui/locverifier/inc/lpdnotifierquerylauncher.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,118 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class which handles the dialog and expiration timer.
-*
-*/
-
-
-#ifndef CLPDNOTIFIERQUERYLAUNCHER_H
-#define CLPDNOTIFIERQUERYLAUNCHER_H
-
-//  INCLUDES
-#include "lpdquerylauncherbase.h"
-#include <e32base.h>
-#include <lbs/epos_privacy.h>
-
-// FORWARD DECLARATIONS
-
-
-// CLASS DECLARATION
-
-/**
-*  Implements functionality for executing notifications.
-*
-*  @lib locverifierdlg.lib
-*  @since 2.1
-*/
-class CLpdNotifierQueryLauncher :
-public CLpdQueryLauncherBase
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        * @param aHandler of ther query result
-        * @return created object
-        */
-        static CLpdNotifierQueryLauncher* NewL( MLpdResultHandler& aHandler );
-        
-        /**
-        * Destructor. Call Cancel() first if you have launched a query.
-        */
-        virtual ~CLpdNotifierQueryLauncher();
-
-    public: // New functions
-
-        /**
-        * Prepares notification resources.
-        * @param aReason for notification
-        * @param aDecision that was applied to the request
-        * @param aCurrentRequest request id of current request
-        */
-        void PrepareNotificationResourcesL( TPosNotificationReason aReason,
-                                             TPosRequestDecision aDecision );
-        
-       /**
-        * Prepares notification resources for supl periodic request.
-        * @param aReason for notification
-        * @param aCurrentRequest request id of current request
-        */       
-        void PrepareSuplNotificationResourcesL( TPosNotificationReason aReason );
-
-        /**
-        * Prepares resources for error notification caused by
-        * privacy query cancellation. Otherwise similar to 
-        * PrepareNotificationResourcesL().
-        * @param aDecision that was applied to the request
-        * @param aCurrentRequest request id of current request
-        */
-        void PrepareCancelNotifResourcesL( TPosRequestDecision aDecision );
-
-      /**
-        * Prepares resources for error notification caused by
-        * privacy query cancellation in supl periodic request.
-        * Otherwise similar to PrepareNotificationResourcesL().
-        * @param aDecision that was applied to the request
-        * @param aCurrentRequest request id of current request
-        */
-        void PrepareSuplCancelNotifResourcesL( TPosRequestDecision aDecision );
-
-
-    protected: // Functions from base classes
-
-        /**
-        * From CLpdQueryLauncherBase, called when dialog is dismissed.
-        */
-        void ExtendedHandleDlgDismissedL();
-
-    private: // Constructors and destructors
-
-        /**
-        * C++ constructor.
-        * @param aHandler of the query result
-        */
-        CLpdNotifierQueryLauncher( MLpdResultHandler& aHandler );
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-
-    protected: // data
-
-    };
-
-#endif      // CLPDNOTIFIERQUERYLAUNCHER_H   
-            
-// End of File
--- a/locationsystemui/locationsysui/locverifier/inc/lpdnotifreqinfo.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,148 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  This class stores information regarding notification 
-*                requests.
-*
-*/
-
-
-#ifndef CLPDNOTIFREQINFO_H
-#define CLPDNOTIFREQINFO_H
-
-#include <lbs/epos_privacy.h>
-
-// Forward class declarations
-
-class RPosRequestorStack;
-
-/**
- *  Class to store information about Notification dialogs
- *
- *  If a notification query is already running, further requests for
- *  notification query will be ignored and the information will be lost.
- *  Instead the logic is to query these requests and show them to the
- *  user when the notification query is dismissed. This class is used to store
- *  information about each notification request.
- *
- *  @since S60 v3.0
- */
-NONSHARABLE_CLASS(CLpdNotifReqInfo) : public CBase
-    {
-
-public:
-
-    /**
-     * Symbian 2 Phase Constructor
-     * Ownership of the RequestorStack array is transferred to this class.
-     *
-     * @since S60 v3.0
-     * @param aSource     The Source of the Notification Request.
-     * @param aReason     The reason for cancellation request.
-     * @param aDecision   The decision by the network.
-     * @param aRequestors The array of requestors for this notification request.
-     * @return new instance of class CLpdNotifReqInfo
-     */
-    static CLpdNotifReqInfo* NewL(
-    	TPosRequestSource aSource,
-    	TPosVerifyCancelReason aReason,
-    	TPosRequestDecision aDecision,
-    	RPosRequestorStack* aRequestors);
-
-    /**
-     * Symbian 2 Phase Constructor
-     * Ownership of the RequestorStack array is transferred to this class.
-     *
-     * @since S60 v3.0
-     * @param aSource     The Source of the Notification Request.
-     * @param aReason     The reason for cancellation request.
-     * @param aDecision   The decision by the network.
-     * @param aRequestors The array of requestors for this notification request.
-     * @return new instance of class CLpdNotifReqInfo
-     */
-    static CLpdNotifReqInfo* NewLC(
-    	TPosRequestSource aSource,
-    	TPosVerifyCancelReason aReason,
-    	TPosRequestDecision aDecision,
-    	RPosRequestorStack* aRequestors);
-
-public:
-    /**
-     * Symbian virtual destructor
-     */
-    virtual ~CLpdNotifReqInfo();
-
-    /**
-     * Accessor Method
-     *
-     * @since S60 v3.0
-     * @return The Source of the Notification Request.
-     */
-    const TPosRequestSource& Source();
-
-    /**
-     * Accessor Method
-     *
-     * @since S60 v3.0
-     * @return The reason for cancellation request.
-     */
-    const TPosVerifyCancelReason& Reason();
-
-    /**
-     * Accessor Method
-     *
-     * @since S60 v3.0
-     * @return The decision by the network.
-     */
-    const TPosRequestDecision& Decision();
-
-    /**
-     * Accessor Method
-     *
-     * @since S60 v3.0
-     * @return The Array of Requestors.
-     */
-    const RPosRequestorStack& Requestors();
-
-private:
-
-    CLpdNotifReqInfo(
-    	TPosRequestSource aSource,
-    	TPosVerifyCancelReason aReason,
-    	TPosRequestDecision aDecision,
-    	RPosRequestorStack* aRequestors);
-
-    void ConstructL();
-
-private: // data
-
-    /**
-     * The Source of the Notification Request.
-     */
-    TPosRequestSource iSource;
-    /**
-     * The reason for cancellation request.
-     */
-    TPosVerifyCancelReason iReason;
-    /**
-     * The decision by the network.
-     */
-    TPosRequestDecision iDecision;
-    /**
-     * The array of requestors for this notification request.
-     * Own.
-     */
-	RPosRequestorStack* iRequestors;
-    };
-
-#endif // CLPDNOTIFREQINFO_H
--- a/locationsystemui/locationsysui/locverifier/inc/lpdperiodicprocessor.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,223 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Helps retrieving request related information
-*
-*/
-
-
-#ifndef CLPDPERIODICPROCESSOR_H
-#define CLPDPERIODICPROCESSOR_H
-
-//  INCLUDES
-#include <EPos_CPosPrivacyNotifier.h>
-#include <lbs/epos_cposrequestor.h>
-#include "lpdsuplsettingsadapterobserver.h"
-
-
-// FORWARD DECLARATIONS
-class CEikonEnv;
-class CPosPrivacyNotifier;
-class CLpdVerifierSettingsLauncher;
-class CLpdSUPLSettingsAdapter;
-
-
-static TInt LinkClickedL(TAny* aPtr);
-
-// CLASS DECLARATION
-
-/**
- * Observer for the Periodic request. This will notify incase there
- * is change in periodic request contents
- * @lib locverifierdlg.lib
- * @since S60 v9.2tb
- */
-class MLpdPeriodicRequestObserver
-    {
-    public:
-            
-        /**
-         * Called when a change has been detected in the period
-         * request contents.
-         *
-         */
-        virtual void UpdateCurrentNotifierL( ) = 0;
-
-    };
-    
-/**
-*  This class processes and retreives information related to the request based on id
-*  @lib locverifierdlg.dll
-*  @since 2.1
-*/
-class CLpdPeriodicProcessor : public CBase, 
-                        public MLpdSUPLSettingsAdapterObserver
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        * @return created object
-        */
-        static CLpdPeriodicProcessor* NewL( MLpdPeriodicRequestObserver& aObserver );
-        
-        /**
-        * Two-phased constructor.
-        * @return created object
-        */
-        static CLpdPeriodicProcessor* NewLC( MLpdPeriodicRequestObserver& aObserver );
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CLpdPeriodicProcessor();
-
-    public: // New functions
-    
-        /**
-        * Sets the Request Id to process
-        * @param aRequestorId periodic Request Id / Session Id
-        * @return ETrue if all requestor id's were valid, EFalse otherwise.
-        */
-        void SetSessionIdL( TInt64 aSessionId );
-        
-        /**
-         * Sets the requestor name parameter
-         * @param aRequestorName Requestor's name
-         */
-        void SetRequestorNameL( HBufC* aRequestorName);
-        
-        /**
-        * Gets the current Session Id
-        */
-        
-        TInt64 GetSessionId( );
-        
-        /**
-        * Sets the Request Type of process
-        * @param aRequestType Notification / Query Type
-        */
-        
-        void SetRequestTypeL( CPosPrivacyNotifier::TRequestType aRequestType );
-        
-         /**
-        * Sets the request id of the current request
-        * @param aRequestId Id of request
-        */
-      
-      
-       void SetRequestorIdL( TInt32 aRequestorId );
-
-      
-        /**
-        * Sets the Requestor to process
-        * @param aRequestor periodic Requestor
-        */
-       void SetRequestorL( CPosRequestor* aRequestor );
-       
-       /**
-        * Resets member variables
-        */
-       void ResetParameters();
-        
-	    /**
-        * Prepares to set the message text in notification dialog
-        */       
-        void NotificationMessageTextL( HBufC*& aMessageText);
-
-	    /**
-        * Resets requestor arrays and destroys requestor objects.
-        */
-        TCallBack LinkCallBack();
-        
-        /**
-        * Launches the Settings Ui for showing Supl periodic/Session details
-        */
-	    void LaunchSettingsL();
-	    
-	    
- 
-     public: // 
-
-        /**
-        * Inherited from MLpdSUPLSettingsAdapterObserver.
-        */
-        void UpdateSessionL( TInt64 aSessionId );
-               
-    protected: // Constructors and destructors
-
-        /**
-        * C++ constructor.
-        */
-        CLpdPeriodicProcessor( MLpdPeriodicRequestObserver& aObserver );
-       
-    
-    protected: // New methods
-        
-        /**
-          * Handles assert errors. Panics in debug build and leaves in
-          * release build, as this component runs in EikSrv 
-          * and must never panic  
-          */
-        void HandleAssertErrorL() const;
-
-    private:
-    		void ConstructL();
-    		
-    		void GetResourceAndPeriodL( TUint aSeconds, 
-    		                                    TInt& aResourceId, TDes& aPeriodString );
-    		void GetMessageStringL( HBufC*& aMessageString, 
-    		                    TInt& aResourceId, TDesC& aNameString, TDesC& aPeriodString );
-    		
-
-        
-    protected: //Data
-    
-        
-    private: //Data
-    
-    // Observer for the current request
-    MLpdPeriodicRequestObserver& iObserver;
-        
-    // Message Text to be displayed in Message Query control
-    HBufC* iMessageText; //Owns
-        
-    HBufC* iRequestorName;
-   
-	  // Current session id
-    TInt64 iSessionId; //Owns
-    
-    // Current Request Id
-    TInt iRequestorId;
-    
-    // Current Request Type
-    CPosPrivacyNotifier::TRequestType iRequestType;
-    
-    CPosRequestor::TRequestType iRequestorType;
-   
-    CLpdSUPLSettingsAdapter* iSUPLSettingsAdapter;
- 
-    // Settings Launcher
-    CLpdVerifierSettingsLauncher* iVerifierSettingsLauncher; //Owns
-   
-    // Current Request's Requestor
-    // :Owns
-    CPosRequestor* iRequestor;
-        
-    CEikonEnv* iEikEnv;
-        
-    };
-
-#endif      // CLPDPERIODICPROCESSOR_H   
-            
-// End of File
--- a/locationsystemui/locationsysui/locverifier/inc/lpdperiodicreqinfo.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +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: Periodic info structure
-*
-*/
-
-
-#ifndef CLPDPERIODICREQINFO_H
-#define CLPDPERIODICREQINFO_H
-
-#include <e32base.h>
-#include <EPos_CPosPrivacyNotifier.h>
-
-/**
-*  Periodic info structure to Que.
-*
-*  @since S60 9.2tb
-*/
-class TLpdPeriodicReqInfo
-    { 
-    public :        
-		/**
-        * Copy constructor
-        */
-        TLpdPeriodicReqInfo(TPosQNRequestId aPrivacyId, TInt64 aSUPLSessionId)
-	        {
-	        iPrivacyId = aPrivacyId;
-	        iSUPLSessionId = aSUPLSessionId;
-	        };
-			
-		/**
-        * inline function used for comparision
-        */
-        static inline TInt MatchSession(const TLpdPeriodicReqInfo& aFirst, const TLpdPeriodicReqInfo& aSecond)
-            {
-            if ( aFirst.iSUPLSessionId == aSecond.iSUPLSessionId )
-                return 1;
-            return 0;
-            };
-            
-        /**
-        * inline function used for comparision
-        */
-        static inline TInt MatchPrivacy(const TLpdPeriodicReqInfo& aFirst, const TLpdPeriodicReqInfo& aSecond)
-            {
-            if ( aFirst.iPrivacyId == aSecond.iPrivacyId )
-                return 1;
-            return 0;
-            };
-			
-    public :
-		// Periodic Notification Request Information like TPosQNRequestId and SUPLSessionId
-    	TPosQNRequestId iPrivacyId;
-    	TInt64 iSUPLSessionId;
- };
-
-#endif //CLPDPERIODICREQINFO_H
-
-// End of File
--- a/locationsystemui/locationsysui/locverifier/inc/lpdquerylauncherbase.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,246 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Abstract base class for queries.
-*
-*/
-
-
-#ifndef CLPDQUERYLAUNCHERBASE_H
-#define CLPDQUERYLAUNCHERBASE_H
-
-//  INCLUDES
-#include <e32base.h>
-#include <badesca.h>
-#include <coemain.h>
-#include <AknsItemID.h>
-#include <AknQueryDialog.h>
-#include <EPos_CPosPrivacyNotifier.h>
-
-
-// SYSTEM INCLUDE
-
-#include "lpddlgobserver.h"
-// FORWARD DECLARATIONS
-class CLpdGlobalPluginDialog;
-class CLpdMessagePluginDialog;
-class MLpdResultHandler;
-class CEikFormattedCellListBox;
-class CEikonEnv;
-
-    
-// CLASS DECLARATION
-
-/**
-*  Base class which handles the dialog and expiration timer.
-*  Expiration timer can be used to ensure that if the user doesn't handle
-*  a dialog in certain time the dialog is closed. NOTE: In current
-*  implementation the timer is not started, i.e. dialogs never expire.
-*  Implementations of this class should notify a result handler
-*  when dialog result is available. This base class takes care of
-*  notifying possible timeout with KErrTimedOut.
-*
-*  @lib locverifierdlg.lib
-*  @since 2.1
-*/
-class CLpdQueryLauncherBase : public CBase, public MLpdDlgObserver
-    {
-    public:  // Constructors and destructor
-                
-        /**
-        * Destructor. Exits possibly running dialog without callback.
-        */
-        virtual ~CLpdQueryLauncherBase();
-
-    public: // New functions, query setup and launching
-
-        /**
-        * Method for creating a query dialog object and reading its
-        * resources. Can and must be called once before launching.
-        * @param aResourceId
-        * @param aSuplNotifRequest Specifies if periodic notification request or not
-        */
-        virtual void PrepareQueryResourcesL( TInt aResourceId, TInt aSuplNotifRequest );
-
-        /**
-        * Method for setting text array.
-        * @param aArray listbox array, ownership is transferred
-        */
-        virtual void SetQueryTextArray( MDesCArray* aArray );
-
-        /**
-        * Method for setting message text for Message Query dialog.
-        */
-		virtual void SetMessageQueryTextL( const TDesC& aString, TCallBack aCallBack );
-		
-        /**
-        * Method for launching query, note that it must have been
-        * correctly prepared first.
-        */
-        virtual void StartQueryL();
-
-       /**
-        * Method for launching query for supl periodic request
-        * note that it must have been correctly prepared first.
-        */
-        virtual void StartSuplPeriodicQueryL();
-
-    public: // Other new functions
-
-        /**
-        * This method returns indexes of selected listbox items.
-        * Return value is valid after dialog has been finished
-        * (not cancelled) and new one has not yet been started.
-        * @return selected item indexes, ownership is not transferred
-        */
-        const CListBoxView::CSelectionIndexArray* SelectionIndexes() const;
-
-        /**
-        * Static timeout callback needed by the expiration timer.
-        * @param aThis, see TCallBack documentation
-        * @return always KErrNone
-        */
-        static TInt HandleTimeoutCallback( TAny* aThis );
-        
-
-        /**
-        * Method for cancelling query. Client classes can call this
-        * method if query canceling is needed.
-        */
-        void Cancel();
-        
-  
-        void CancelQuietly();
-
-        /**
-        * Returns a reference to the listbox (for formatting purposes).
-        * Leaves if listbox is NULL.
-        * @return listbox reference
-        */
-        CEikFormattedCellListBox& ListBoxL();
- 
-        /**
-         * Sets the requestor buffer array that needs to be published to
-         * Cover UI
-         * @param aRequestorBuffer Flat buffer containing the list of requestors
-         */
-        void SetRequestorBuffer( TDes8&     aRequestorBuffer );
-     
-        /**
-         * Sets the Cover UI Command ID
-         * @param aCommandId Cover UI Command
-         */
-        void SetCoverUICommand( TInt        aCommand );
-        
-
-    public: // Functions from base classes
-
-        /**
-        * From MLpdDlgObserver, called when dialog is dismissed.
-        * This method calls also pure virtual method
-        * ExtendedHandleDlgDismissedL().
-        * @param aResult code of the query
-        * @param aCurrentIndex current item index
-        */
-        void HandleDlgDismissedL( TInt aResult, TInt aCurrentIndex);
-
-    protected: // Constructors and destructors
-
-        /**
-        * C++ constructor.
-        * @param aHandler of the query result
-        */
-        CLpdQueryLauncherBase( MLpdResultHandler& aHandler );
-
-        /**
-        * Symbian 2nd phase constructor.
-        */
-        void BaseConstructL();
-
-    protected: // New functions
-
-        /**
-        * This pure virtual method must be implemented
-        * by the derived class to handle the result code
-        * appropriately and to notify the observer of this
-        * class.
-        */
-        virtual void ExtendedHandleDlgDismissedL() = 0;
-
-    private: // New functions
-
-        /**
-        * Internal method for handling timeout, called from static
-        * TCallBack method.
-        */
-        void HandleTimeout();
-        
-        /**
-        * General internal method for exiting query, called by Cancel() or
-        * HandleTimeout(), or from the destructor.
-        * @param aCallback ETrue if callback from the dialog is wanted.
-        */
-        void ExitQuery( TBool aCallback );
-   
-     
-        /**
-         * Prepare the requestor buffers and Publish the dialog to the 
-         * Cover UI
-         *
-         */
-        void PublishDialogtoCoverL();
-
-
-    protected: // Data
-
-        // Reference to the result handler
-        MLpdResultHandler& iHandler;
-
-        // Result code from the dialog
-        TInt iResult;
-
-        // Current listbox item when dialog dismiss occurred
-        TInt iCurrentIndex;
-
-        // Selected listbox items when dialog dismiss occurred
-        CListBoxView::CSelectionIndexArray* iSelectionIndex; // owns
-        
-        // Exit reason in case of result code EAknSoftkeyExit
-        TInt iExitReason;
-
-        // Indicates whether this object owns the QueryDlg or
-        // whether it is given away
-        TBool iOwnsQueryDlg;
-       
-        // Indicates whether this object owns the msgQueryDlg or
-        // whether it is given away 
-        TBool iOwnsMsgQueryDlg;
-
-        // Pointer to the list query dialog
-        CLpdGlobalPluginDialog* iQueryDlg; // owns untils RunLD() called
-        
-        // Pointer to the message query dialog
-        CLpdMessagePluginDialog* iMsgQueryDlg;
-
-        // Expiration timer, not started in current implementation
-        CPeriodic* iTimer; // owns
-        
-        TPtrC8     iRequestorBuffer;
-        
-        TInt       iCoverUiCommand;                        
-        
-    };
-
-#endif      // CLPDQUERYLAUNCHERBASE_H   
-            
-// End of File
--- a/locationsystemui/locationsysui/locverifier/inc/lpdrequestao.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Active object which ensures that current call stack is run to
-*                completion before a new request is handled
-*
-*/
-
-
-#ifndef CLPDREQUESTAO_H
-#define CLPDREQUESTAO_H
-
-//  INCLUDES
-#include <e32base.h>
-#include <lbs/epos_privacy.h>
-
-#include "lpdnotifreqinfo.h"
-
-// FORWARD DECLARATIONS
-class CLpdVerifierPlugin;
-class RPosRequestorStack;
-
-// CLASS DECLARATION
-
-/**
-*  Active object used by the verifier plugin. 
-*  Ensures that current call stack is run to completion before a 
-*  new request is handled. Otherwise access violations might occur.
-*
-*  @lib locverifierdlg.lib
-*  @since 2.1
-*/
-class CLpdRequestAO : public CActive
-    {    
-	public: // Constructors and destructors        
-
-        /**
-        * Two-phased constructor.
-        * @param aPlugin reference to the owner of this object
-        * @return created object
-        */
-	    static CLpdRequestAO* NewL( CLpdVerifierPlugin& aPlugin );        
-
-        /**
-        * Destructor.
-        */
-	    virtual ~CLpdRequestAO();
-
-    public: // New functions
-
-        /**
-        * Issues a request and completes it immediatelly, so that it
-        * will be handled as soon as previous request is run to completion.
-        */
-        void ScheduleRequest();
-
-        /**
-        * To Queue up further verification cancel requests when a notification
-        * request is currently running.
-        */
-		void EnqueueRequestL( TPosRequestSource aSource,
-						     TPosVerifyCancelReason aReason,
-			 			     TPosRequestDecision aDecision,
-			 			     RPosRequestorStack* aRequestors );
-		
-    private:
-
-	    /**
-        * Private C++ default constructor.
-        * @param aPlugin reference to the owner of this object
-        */
-		CLpdRequestAO( CLpdVerifierPlugin& aPlugin ); 	    
-
-    private: // Functions from base classes
-        
-        /**
-        * From CActive.
-        */
-        void RunL();
-        
-        /**
-        * From CActive.
-        */
-        void DoCancel();
-    	
-    private: // Data
-
-        // Verifier plugin
-        CLpdVerifierPlugin& iPlugin; // doesn't own     
-
-		// Queue of Notification Request with all the necesary information.        
-        RPointerArray<CLpdNotifReqInfo> iNotificationQue;
-};
-
-#endif      // CLPDREQUESTAO_H
-
-// End of File
\ No newline at end of file
--- a/locationsystemui/locationsysui/locverifier/inc/lpdrequestorprocessor.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,161 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Processes requestor related data.
-*
-*/
-
-
-#ifndef CLPDREQUESTORPROCESSOR_H
-#define CLPDREQUESTORPROCESSOR_H
-
-//  INCLUDES
-#include "locrequestorutilsresolver.h"
-#include <e32base.h>
-#include <eiklbv.h>
-#include <lbs/epos_rposrequestorstack.h>
-
-// FORWARD DECLARATIONS
-class CPosPrivacyNotifier;
-class CEikFormattedCellListBox;
-class CSelectionIndexArray;
-class CListBoxView;
-class CLpdBaseModel;
-
-// CLASS DECLARATION
-
-/**
-*  This class reads, processes and owns requestor data.
-*  @lib locverifierdlg.dll
-*  @since 2.1
-*/
-class CLpdRequestorProcessor : public CBase
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        * @return created object
-        */
-        static CLpdRequestorProcessor* NewL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CLpdRequestorProcessor();
-
-    public: // New functions
-
-        /**
-        * Reads requestor information from the privacy notifier.
-        * Uses RequestorIdValid() for id validity check.
-        * Calls UpdateRuleRequestorsL().
-        * @param aPosNotifier reference
-        * @return ETrue if all requestor id's were valid, EFalse otherwise.
-        */
-        TBool ReadRequestorsL( const CPosPrivacyNotifier& aPosNotifier );
-
-        /**
-        * Returns requestor array for reading.
-        * @return array of requestors
-        */
-        const RPointerArray<CPosRequestor>& Requestors() const;
-       
-       /**
-        * Sets Type of Request
-        */
-        void SetRequestType( TInt aReqType );
-
-        /**
-        * Resets requestor arrays and destroys requestor objects.
-        */
-        void ResetAndDestroyRequestors();
-
-        /**
-        * Method for creating a formatted array with
-        * icons and requestor names.
-        * Used for verifier queries and notifications.
-        * @param aListBox needed for formatting data
-        * @return created array, ownership is transferred to caller
-        */
-        CLpdBaseModel* RtorNamesForVerifNotifL(
-                        CEikFormattedCellListBox& aListBox );
-
-		/**
-		* In case where the verifcation cancellation event is queued, it
-		* is necessary to retrieve all the information needed for the
-		* notification dialog. The information is present in the base class
-		* of Query and Notification Interface.
-		*/
-		RPosRequestorStack* RetrieveRequestorsL( 
-						const CPosPrivacyNotifier& aPosNotifier );
-
-
-		/**
-		* Read the requestors into the iRequestors memeber variable.
-		* Process the requestors by resolving them with contacts information.
-		* CLocRequestorUtilsResolver is used to resolve the requestors.
-		*/
-		void ReadRequestorsL( 
-						const RPosRequestorStack& aRequestors );
-						
-       /**
-		* Retrieves Requestor name from string passed
-		*/
-        TPtrC RetrieveRequestorNameL(  
-                                    const TDesC& aString );
-       /**
-		* Retrieves session id from string passed
-		*/
-        TInt64 RetrieveSessionId(  
-                              const TDesC& aString );
-        /**
-		* Sets session id of request
-		*/
-        void SetSessionId( TInt64 aSessionId );
-        
-        /**
-		* Gets session id of request
-		*/
-        TInt64 GetSessionId();
-
-
-		
-    protected: // Constructors and destructors
-
-        /**
-        * C++ constructor.
-        */
-        CLpdRequestorProcessor();
-
-    protected: // New methods
-
-        /**
-        * Handles assert errors. Panics in debug build but leaves in release
-        * build, as this component runs in EikSrv and must never panic.
-        */
-        void HandleAssertErrorL() const;
-
-    private:    // Data
-
-		// Array of currently handled requestors...
-        RPointerArray<CPosRequestor> iRequestors;
-        
-        TInt iSuplRequest;
-
-        TInt64 iSessionId;
-    };
-
-#endif      // CLPDREQUESTORPROCESSOR_H   
-            
-// End of File
\ No newline at end of file
--- a/locationsystemui/locationsysui/locverifier/inc/lpdresulthandler.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Callback interface class.
-*
-*/
-
-
-#ifndef MLPDRESULTHANDLER_H
-#define MLPDRESULTHANDLER_H
-
-// INCLUDES
-#include <e32def.h>
-
-// FORWARD DECLARATIONS
-class CLpdQueryLauncherBase;
-
-
-// CLASS DECLARATION
-
-/**
-*  Observer pattern for handling dialog result. Used by several
-*  classes deriving from CLpdQueryLauncherBase.
-*
-*  @lib locverifierdlg.lib
-*  @since 2.1
-*/
-class MLpdResultHandler
-    {
-    public: // New functions
-
-        /**
-        * Pure virtual observer method.
-        * @param aResultCode
-        */        
-        virtual void HandleVerificationResultL( TInt aResultCode ) = 0;
-
-        /**
-        * Pure virtual observer method.
-        * @param aResultCode
-        */        
-        virtual void HandleNotificationResultL( TInt aResultCode ) = 0;
-
-        /**
-        * Pure virtual observer method. Called if leave occurred in other
-        * callback methods. Used because it is not acceptable to propagate
-        * leave to AVKON dialog, plugin must clean up and continue with
-        * handling of request queue.
-        * @param aError code
-        */        
-        virtual void HandleLeave( TInt aError ) = 0;
-    };
-
-#endif      // MLPDRESULTHANDLER_H   
-            
-// End of File
--- a/locationsystemui/locationsysui/locverifier/inc/lpdsuplsettingsadapter.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +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:  Adapter to the SUPL Settings API
-*
-*/
-
-
-#ifndef CLPDSUPLSETTINGSADAPTER_H_
-#define CLPDSUPLSETTINGSADAPTER_H_
-
-// System Includes
-#include <e32base.h>
-#include <epos_csuplsettingparams.h>		// class CServerParams
-#include <epos_csuplsettings.h>				// class CSuplSettings
-#include <epos_msuplsessionobserver.h>
-
-// User Includes
-
-// Forward Declarations
-class MLpdSUPLSettingsAdapterObserver;
-
-// Class Declaration
-
-/**
- * Adapter class for the SUPL settings API. Handles all the interfacing
- * functionality to the SUPL Settings API. It also observes for the Session
- * changes communicated through the MSuplSessionObserver
- */
-class CLpdSUPLSettingsAdapter : public CBase, public MSuplSessionObserver
-    {             
-    public:
-        /**
- 		 * Static Two phase contructor that instantiates the CLpdSUPLSettingsAdapter
-		 * 
-		 * @param aObserver				    Observer to the SUPL session change
-		 * @return CLpdSUPLSettingsAdapter*	Reference to the object created
-		 */
-        static CLpdSUPLSettingsAdapter* NewL(
-                            MLpdSUPLSettingsAdapterObserver&    aObserver );
-
-        /**
-         * Destructor
-         */
-        virtual ~CLpdSUPLSettingsAdapter();
-
-    private:
-        /**
-         * Private Constructor
-         */
-        CLpdSUPLSettingsAdapter( MLpdSUPLSettingsAdapterObserver&    aObserver );
-
-        /**
-         * Second phase of the two phase constructor
-         */
-        void ConstructL();
-        
-        
-
-
-              	
-	public:
-	    /** 
-	     * Inherited from MSuplSessionObserver
-	     */	
-		void HandleSuplSessionChangeL( 
-                TSuplSessionEventType aEvent,
-                TInt64 aSessionId                         
-        		);	
-        
-         /** 
-	     * Gets time period of a trigger based on session id
-	     */		
-        void GetTriggerPeriodL( TInt64 aSessionId, TUint& aTimePeriod );
-    				
-        
-
-    private:
-        
-        /**
-         * Observer for the specific SUPL session.
-         * Does not own.
-         */
-		MLpdSUPLSettingsAdapterObserver& iObserver;
-		
-        /**
-         * SUPL Settings UI
-         * Owns
-         */
-        CSuplSettings*                      iSUPLSettings;
-                
-    };
-
-#endif      // CLPDSUPLSETTINGSADAPTER_H_
-
-// End of File
--- a/locationsystemui/locationsysui/locverifier/inc/lpdsuplsettingsadapterobserver.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Observer for the SUPL Settings adapter
-*
-*/
-
-
-#ifndef MLPDSUPLSETTINGSADAPTEROBSERVER_H_
-#define MLPDSUPLSETTINGSADAPTEROBSERVER_H_
-
-// Class Declaration
-
-/**
- * Observer for the SUPL Session. The observer provides callbacks for
- * any changes in the SUPL session
- *
- * @lib locverifierdlg.lib
- * @since S60 v9.2tb 
- */
-class MLpdSUPLSettingsAdapterObserver
-    {
-    public:
-        	
-        /**
-         * Called when a change has been detected in the SUPL Session 
-         * identified by the session id parameter.
-         * @param aSessionId Updated Session Id.
-         *
-         */
-        virtual void UpdateSessionL( TInt64 aSessionId ) = 0;
-
-    };
-
-#endif      // MLPDSUPLSETTINGSADAPTEROBSERVER_H_  
-            
-// End of File
--- a/locationsystemui/locationsysui/locverifier/inc/lpdverifierplugin.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,325 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Verifier plug-in which derives from CPosPrivacyNotifier.
-*
-*/
-
-
-// INCLUDES
-
-#include <EPos_CPosPrivacyNotifier.h>
-#include <lbs/epos_privacy.h>
-#include <lbs/epos_cposrequestor.h>
-
-
-#include "lpdrequestao.h"
-#include "lpdresulthandler.h"
-#include "lpdperiodicreqinfo.h"
-#include "lpdperiodicprocessor.h"
-
-
-#ifndef CLPDVERIFIERDLG_H
-#define CLPDVERIFIERDLG_H
-
-// SYSTEM INCLUDE
-#include <bldvariant.hrh>               // For the 3.2 Flag
-
-
-// FORWARD DECLARATIONS
-class CLpdVerifierQueryLauncher;
-class CLpdNotifierQueryLauncher;
-class CEikonEnv;
-class CLpdRequestorProcessor;
-class RPosRequestorStack;
-class CLocRequestorUtilsResolver;
-class CLpdPeriodicProcessor;
-
-
-// CLASS DECLARATION
-
-/**
-*  Verifier plug-in which derives from CPosPrivacyNotifier.
-*  Notifiers are based on RNotifier framework, and this particular
-*  notifier is used to launch a privacy query for accepting/rejecting
-*  privacy requests. It also shows informational notes and error
-*  messages, which are received as notification.
-*
-*  @lib locverifierdlg.lib
-*  @since 2.1
-*/
-class CLpdVerifierPlugin : public CPosPrivacyNotifier, public MLpdResultHandler,
-                                             public MLpdPeriodicRequestObserver
-    {
-    // To allow calls to HandleNextRequest() from active object
-    friend class CLpdRequestAO;
-    
-    private:
-
-        /**
-         * Enumeration for defining the type of Verification or notification
-         * request
-         */
-        enum TDialogType
-            {
-            EVerificationRequest,
-            ENotification,
-            ENotificationTimeout,
-            ECancelNotification,
-            ESuplPeriodicNotification,
-            };
-
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        * @return created object
-        */
-        static CLpdVerifierPlugin* NewL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CLpdVerifierPlugin();
-
-		/**
-		* To popup a notification note for verification cancellation event.
-		*/
-		void NotifyCancellationL(
-			TPosRequestSource aSource,
-			TPosVerifyCancelReason aReason,
-			TPosRequestDecision aDecision,
-			const RPosRequestorStack& aRequestors );
-
-        /**
-        * Method for cancelling query or freeing
-        * resources after finishing query.
-        */
-        void FreeQueryResources();
-
-    public: // Functions from base classes
-
-        /**
-        * From CPosPrivacyNotifier, called when a new request arrives.
-        * @param aRequestId identifier of received request
-        */
-        void HandleNewRequestL( TPosQNRequestId aRequestId );
-
-        /**
-        * From CPosPrivacyNotifier, called when request has been cancelled
-        * @param aRequestId identifier of cancelled request
-        */
-        void HandleRequestCancelled( TPosQNRequestId aRequestId );
-
-        /**
-        * From CPosPrivacyNotifier, called when all requests are cancelled.
-        */
-        void HandleAllRequestCancelled();
-
-        /**
-        * From MLpdResultHandler, called when verification result is available.
-        * @param aResultCode
-        */        
-        void HandleVerificationResultL( TInt aResultCode );
-
-        /**
-        * From MLpdResultHandler, called when notification has been done.
-        * @param aResultCode
-        */        
-        void HandleNotificationResultL( TInt aResultCode );
-
-        /**
-        * From MLpdResultHandler, called if leave occurred in callback method
-        * @param aError code
-        */        
-        void HandleLeave( TInt aError );
-        
-      
-
-
-    protected:  // New functions
-
-        /**
-        * Non-leaving internal method for handling next pending request.
-        */
-        void HandleNextRequest();
-        
-        /**
-        * Internal method for handling next pending request.
-        */
-        void HandleNextRequestL();
-
-        /**
-        * Internal helper method used by HandleNextRequestL().
-        */
-        void HandleNextVerificationL();
-
-        /**
-        * Internal helper method used by HandleNextRequestL().
-        */
-        void HandleNextNotificationL();
-
-        /**
-          * Internal helper method used by HandleNextNotificationL().
-          */
-        void HandleNextNonPeriodicNotificationL();
-
-        /**
-        * Internal helper method used by HandleNextNotificationL().
-        */
-        void HandleNextPeriodicNotificationL();        
-
-        /**
-        * Internal helper method.
-        */
-        void NotifyCancellationL( TPosRequestSource aSource, 
-                                  TPosVerifyCancelReason aReason,
-                                  TPosRequestDecision aDecision );
-
-        /**
-        * Internal helper method.
-        * Completes current request and continues queue handling.
-        */
-        void CompleteCurrentAndContinue( TInt aResultCode );
-
-        /**
-        * Handles assert errors. Panics in debug build but leaves in release
-        * build, as this component runs in EikSrv and must never panic.
-        */
-        void HandleAssertErrorL() const;
-
-        /**
-        * Panics in debug build but does nothing in release build.
-        */
-        void HandleDebugAssertError() const;
-        
-        /**
-        * Handle the request if it is periodic.
-        */
-        void EnqueIfPeriodicL(TPosQNRequestId aRequestId);
-        
-         /**
-        * From MLperiodicRequestObserver, called if the currently
-        * displayed notifier has to be updated
-        * @param aError code
-        */        
-        void UpdateCurrentNotifierL();
-        
-        /**
-        * Gets session id of request
-        * @param aSessionId The session id
-        */  
-        void GetSessionIdL( TInt64& aSessionId );
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CLpdVerifierPlugin();
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-    
-        /**
-         * Starts the Query dialog
-         * @param aQueryDialog Query dialog that has to be started
-         * @param aDialogType  Dialog type
-         * @param aDecision    Decision Type
-         */
-        void StartQueryDialogL( CLpdQueryLauncherBase*  aQueryDialog,
-                                TDialogType             aDialogType,
-                                TPosRequestDecision     aDecision );
-         
-        /**
-         * Packs the Requestor buffer to send across to Cover UI. The 
-         * ownership of the buffer is transferred back to the callee
-         * @return CBufFlat*    Flat buffer containing the list of requestors    
-         */
-        CBufFlat*  PackRequestorBufferL();
-                 
-        /**
-         * Determines the Cover UI command corresponding to a paricular
-         * request
-         * @param  TDialogType          Request Type
-         * @param  TPosRequestDecision  Decision Type
-         * @return TInt                 Cover UI Command ID.
-         */
-        TInt   CoverUICommandL( TDialogType         aRequestType, 
-                                TPosRequestDecision aDecision );
-        
-         /**
-          * Checks the type of request and helps to know
-          * if a given request is of SUPL periodic type
-          * @param aCurrentRequest request id
-          * @return CPosRequestor::TRequestType type of request enum
-         */
-        CPosRequestor::TRequestType CheckRequestTypeL();
-
-
-    private:    // Data
-
-        // Cancellation info needed if cancel handling is postponed
-        class TCancelInfo
-            {
-            public:
-                TBool iCancelled;
-                TPosVerifyCancelReason iReason;
-                TPosRequestDecision iDecision;
-                TPosRequestSource iSource;
-            };
-
-        // Cancellation info needed if verification query is cancelled
-        // during rule query and handling is therefore postponed
-        TCancelInfo iCancelInfo;
-
-        // Identifier of currently handled request
-        TPosQNRequestId iCurrentRequest;
-
-        // Type of the current request, valid if iCurrentRequest valid
-        TRequestType iCurrentRequestType;
-
-        // Result code of verifier query, needed if user cancels rule query
-        TInt iVerifyResult;
-
-        // Resource file needs to be explicitely added
-        // to the environment. Adding returns an offset value.
-        TInt iResourceOffset;
-
-        // Location request accept/reject query object
-        CLpdVerifierQueryLauncher* iVerifierQuery;  // owns
-
-        // Location request accept/reject query object
-        CLpdNotifierQueryLauncher* iNotifier;       // owns
-        
-        // Active object, used to let requests run to
-        // completion instead of recursive calls.
-        CLpdRequestAO* iRequestActiveObject;        // owns
-
-        CLpdRequestorProcessor* iRtorProcessor;     // owns
-        
-        CLocRequestorUtilsResolver* iUtils; // owns
-
-        CLpdPeriodicProcessor* iPeriodicProcessor;     // owns
-        
-        RArray<TLpdPeriodicReqInfo> iPeriodicNotQue; // owns
-
-        CEikonEnv* iEnv;                            // uses
-                        
-    };
-
-#endif      // CLPDVERIFIERDLG_H   
-            
-// End of File
--- a/locationsystemui/locationsysui/locverifier/inc/lpdverifierquerylauncher.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class which handles the dialog and expiration timer.
-*
-*/
-
-
-#ifndef CLPDVERIFIERQUERYLAUNCHER_H
-#define CLPDVERIFIERQUERYLAUNCHER_H
-
-//  INCLUDES
-#include "lpdquerylauncherbase.h"
-#include <e32base.h>
-#include <lbs/epos_privacy.h>
-
-// FORWARD DECLARATIONS
-class CLpdGlobalPluginDialog;
-
-
-// CLASS DECLARATION
-
-/**
-*  Implements functionality for executing verification queries.
-*
-*  @lib locverifierdlg.lib
-*  @since 2.1
-*/
-class CLpdVerifierQueryLauncher :
-public CLpdQueryLauncherBase
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        * @param aHandler of ther query result
-        * @return created object
-        */
-        static CLpdVerifierQueryLauncher* NewL( 
-            MLpdResultHandler& aHandler );
-        
-        /**
-        * Destructor. Call Cancel() first if you have launched a query.
-        */
-        virtual ~CLpdVerifierQueryLauncher();
-
-    public: // New functions
-        
-        /**
-        * Prepares verification resources, must be called before setting
-        * icons, text etc.
-        * @param aSource verification source
-        * @param aDefault default verification decision
-        */
-        void PrepareVerificationResourcesL( TPosRequestSource aSource,
-                                            TPosRequestDecision aDefault);
-        
-        /**
-        * Prepares verification resources for SUPL periodic request
-        * must be called before setting icons, text etc.
-        * @param aRequestId request id
-        */
-        void PrepareSuplVerificationResourcesL();
-
-    protected: // Functions from base classes
-
-        /**
-        * From CLpdQueryLauncherBase, called when dialog is dismissed.
-        */
-        void ExtendedHandleDlgDismissedL();
-
-    private: // Constructors and destructors
-
-        /**
-        * C++ constructor.
-        * @param aHandler of the query result
-        */
-        CLpdVerifierQueryLauncher( MLpdResultHandler& aHandler );
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-    };
-
-#endif      // CLPDVERIFIERQUERYLAUNCHER_H   
-            
-// End of File
--- a/locationsystemui/locationsysui/locverifier/inc/lpdverifiersettinglauncher.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Responsible for launching SUPL session details
-*
-*/
-
-#ifndef LPDVERIFIERSETTINGSLAUNCHER_H
-#define LPDVERIFIERSETTINGSLAUNCHER_H
-
-// INCLUDES
-#include <e32base.h>
-#include <locsettingsuiclient.h>
-
-// CLASS DECLARATION
-/**
-*  CLpdVerifierSettingsLauncher class
-*  This class is a wrapper for launching Position settings - SUPL session details
-*/
-class CLpdVerifierSettingsLauncher : public CActive
-	{
-	private : // Constructors and destructor
-	      /**
-	       * C++ default constructor.
-	       */
-	    CLpdVerifierSettingsLauncher();
-	      
-	public:
-	      /**
-	       * Destructor.
-	       */
-	      ~CLpdVerifierSettingsLauncher();		
-	
-	public:	
-		/**
-         * Two-phased constructor.
-         *
-         */
-	     static CLpdVerifierSettingsLauncher* NewL();
-			      
-	private: 
-		 /**
-          * Second phase of construction.
-          */
-	      void ConstructL();
-	      
-	public: // new functions
-	      void LaunchL( TInt aSessionId );	      
-	      	      
-	protected: // from CActive
-	      void RunL();
-	      
-	      void DoCancel();
-	      
-	      void CancelRequest();
-	      
-	private:
-	    // Pointer to Location setings client library
-        CLocSettingsUiClient*       iClientLibrary;
-        
-        // Launch parameters
-        HBufC*       iLaunchParams;
-	};
-	
-#endif // LPDVERIFIERSETTINGSLAUNCHER_H
-
-// End of file
\ No newline at end of file
--- a/locationsystemui/locationsysui/locverifier/inc/lpdverifnotiflbmodel.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This  is a header file for verification notifier list box model
-*
-*/
-
-
-#ifndef CLPDVERIFNOTIFLBMODEL_H
-#define CLPDVERIFNOTIFLBMODEL_H
-
-//  INCLUDES
-#include "lpdbasemodel.h"
-
-// FORWARD DECLARATIONS
-class CLocPhoneNumberFormat;
-class CEikFormattedCellListBox;
-
-// CLASS DECLARATION
-
-/**
-*  @lib locverifierdlg.dll
-*  @since 2.1
-*/
-class CLpdVerifNotifLBModel : public CLpdBaseModel
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        * @param aRtorProcessor reference owning the requestor data
-        * @param aListBox reference to the listbox showing the items
-        * @return created object
-        */
-        static CLpdVerifNotifLBModel* NewL(
-                        const CLpdRequestorProcessor& aRtorProcessor,
-                        CEikFormattedCellListBox& aListBox );
-
-        /**
-        * Destructor.
-        */
-        virtual ~CLpdVerifNotifLBModel();
-        
-    public: // From MDesCArray
-
-        TInt MdcaCount() const;
-
-    protected: // From CLpdBaseModel
-
-        void MdcaPointL( TInt aIndex ) const;
-
-    protected: // Constructors and destructors
-
-        /**
-        * C++ constructor.
-        */
-        CLpdVerifNotifLBModel( const CLpdRequestorProcessor& aRtorProcessor,
-                               CEikFormattedCellListBox& aListBox );
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-
-    private:    // Data
-
-        CEikFormattedCellListBox& iListBox;
-
-        CLocPhoneNumberFormat* iFormatter; // owns
-
-    };
-
-#endif      // CLPDVERIFNOTIFLBMODEL_H   
-            
-// End of File
--- a/locationsystemui/locationsysui/locverifier/location.loc	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,276 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*     This is a localisation file for Location subsystem.
-*     A .loc file is the one and only place where the logical strings
-*     to be localised are defined. 
-*  -------------------------------------------------------------------
-*
-*/
-
-
-/**
- *  Default (implementation English) Resource localisation file.
- */
-
-//  LOCALISATION STRINGS  
-
-//d:Location application name
-//d:in the App Shell grid
-//l: cell_app_pane_t1
-//r:3.0
-//
-#define qtn_location_grid          		"Location"
-
-//d:Location application name
-//d:in the App Shell list
-//l: list_single_large_graphic_pane_t1
-//r:3.0
-//
-#define qtn_location_list          		"Location"
-
-//d:Title pane text for application's
-//d:positioning methods view
-//l:title_pane_t2/opt9
-//r:3.0
-//
-#define qtn_loc_psy_title 			"Positioning Methods"
-
-//d:Indicates empty positioning methods list
-//l:main_list_empty_pane
-//r:3.0
-//
-#define qtn_loc_no_psys 			"(No methods available for positioning)"
-
-//d:Options menu item for enabling a Positioning method
-//l:list_single_pane_t1_cp2
-//r:3.0
-//
-#define qtn_loc_opt_enable_psy 		"Enable"
-
-
-//d:Options menu item for for disabling a Positioning method
-//l:list_single_pane_t1_cp2
-//r:3.0
-//
-#define qtn_loc_opt_disable_psy 		"Disable"
-
-
-//d:Options menu item to configure a Positioning method
-//l:list_single_pane_t1_cp2
-//r:3.0
-//
-#define qtn_loc_opt_method_settings 		"Method settings"
-
-//d:Heading text of a location request
-//d:in a list query
-//l:heading_pane_t1
-//r:3.0
-//
-#define qtn_loc_request             		"Location request:"
-
-//d:Left softkey for accepting a
-//d:location request
-//l:control_pane_t1/opt7
-//r:3.0
-//
-#define qtn_loc_request_accept      		"Accept"
-
-//d:Right softkey for rejecting a
-//d:location request
-//l:control_pane_t1/opt7
-//r:3.0
-//
-#define qtn_loc_request_reject      		"Reject"
-
-//d:Unknown requester in list query dialog
-//l:list_single_pane_t1_cp2
-//r:3.0
-//
-#define qtn_loc_requester_unknown       	"Unknown requester"
-
-//d:Error text shown when request was rejected due to
-//d:a conflict despite of user's "accept" decision.
-//l:popup_note_window
-//r:3.0
-//
-#define qtn_loc_notification_failure_rejected      	 "Unable to accept the request"
-
-//d:Error text shown when request was accepted due to
-//d:a conflict despite of user's "reject" decision.
-//l:popup_note_window
-//r:3.0
-//
-#define qtn_loc_notification_failure_accepted       "Unable to reject the request"
-
-//d:Heading text for location notification
-//l:heading_pane_t1
-//r:3.0
-//
-#define qtn_loc_notification            		"Location notification:"
-
-//d:Location notification explanation text
-//l: loc_type_pane
-//r:3.0
-//
-#define qtn_loc_notification_accepted       	"The network sent your location to:"
-
-//d:Location request explanation text if
-//d:the default network policy is accept
-//l:loc_type_pane
-//r:3.0
-//
-#define qtn_loc_request_default_accept  	"By default the network will accept this request on your behalf. Requesters:"
-
-//d:Location request explanation text if
-//d:the default network policy is reject
-//l:loc_type_pane
-//r:3.0
-//
-#define qtn_loc_request_default_reject      	"By default the network will reject this request on your behalf. Requesters:"
-
-//d:Location request explanation text if
-//d:the default network policy is not specified
-//l:loc_type_pane
-//r:3.0
-//
-#define qtn_loc_request_default_none        	"Your location was requested by:"
-
-//d:Notification explanation text when network
-//d:made "accept" decision due to timeout
-//l:loc_type_pane
-//r:3.0
-//
-#define qtn_loc_notification_accepted_timeout       "The network accepted this request on your behalf. Your location was sent to:"
-
-//d:Notification explanation text when network
-//d:made "reject" decision due to timeout
-//l:loc_type_pane
-//r:3.0
-//
-#define qtn_loc_notification_rejected_timeout       "The network rejected this request. Your location was not sent to:"
-
-//d:Title for the Location System UI Plugin
-//d:Long string
-//l:title_pane_t2/opt9
-//r:3.1
-//
-#define qtn_loc_pos_settings_title		"Positioning settings"
-
-//d:Caption for the Location System UI Plugin
-//d:Long string
-//l:list_single_large_graphic_pane_t1 
-//r:3.1
-//
-#define qtn_set_folder_positioning		"Positioning"
-
-//d:Caption for Positioning Method Settings
-//d:List box text in Location System UI plugin view.
-//l:list_setting_pane_t1
-//r:3.1
-//
-#define qtn_loc_settings_psys 		"Positioning Methods"
-
-//d:Prompt text for warning the User when he tries to disable
-//d:a PSY that is currently being used
-//l:popup_note_window
-//r:3.2
-//
-#define qtn_loc_query_psy_used "Positioning method is being used. Disable anyway?"
-
-// d:Postioning Settings Application Name
-// d:List box text for Positioning Settings Application used in Location Centre
-// l:list_single_large_graphic_pane_t1_cp2
-// r:5.0
-//
-#define qtn_loc_app_settings      "Positioning settings"
-
-// d: Heading pane text for stylus activated popup.
-// l: heading_sub_pane_t1
-// w:
-// r:5.0
-//
-#define qtn_loc_stylus_title_gps    "GPS"
-
-// d: Single line GPS status text shown on the stylus popup.
-// l: list_single_touch_info_pane_t1
-// w:
-// r:5.0
-//
-#define qtn_loc_stylus_gps_info           "GPS is active"
-
-// d: Link text shown on the stylus popup
-// l: list_single_touch_info_pane_t2/opt1
-// w:
-// r:5.0
-//
-#define qtn_loc_stylus_gps_link          "More Info"
-
-// d: Multiline text, when the link is clicked, shown as info note.
-// l: list_single_touch_info_pane_t1
-// w:
-// r:5.0
-//
-#define qtn_loc_stylus_gps_details       "GPS is a satellite based positioning system, which works best outdoors and away closed areas."
-
-// d: Verification text in popup quesry for the periodic request
-// l: loc_type_pane
-// w:
-// r:9.2b
-//
-#define qtn_loc_request_default          	"Your location will be requested periodically. Do you want to allow"
-
-// d: Verification text in message quesry for the periodic request - time interval in minutes
-// l: popup_info_list_pane_t1
-// w:
-// r:9.2b
-//
-#define qtn_loc_notification_minutes         	"Your location was sent to %0U. This activity will continue for next %1U minutes"
-
-// d: Verification text in message quesry for the periodic request - time interval in hours
-// l: popup_info_list_pane_t1
-// w:
-// r:9.2b
-//
-#define qtn_loc_notification_hours         	"Your location was sent to %0U. This activity will continue for next %1U hours"
-
-// d: Verification text in message quesry for the periodic request - time interval in hour
-// l: popup_info_list_pane_t1
-// w:
-// r:9.2b
-//
-#define qtn_loc_notification_onehour        	"Your location was sent to %U. This activity will continue for next 1 hour"
-
-// d: Verification text in message quesry for the periodic request - time interval in days
-// l: popup_info_list_pane_t1
-// w:
-// r:9.2b
-//
-#define qtn_loc_notification_days          	"Your location was sent to %0U. This activity will continue for next %1U days"
-
-// d: Verification text in message quesry for the periodic request - time interval in day
-// l: popup_info_list_pane_t1
-// w:
-// r:9.2b
-//
-#define qtn_loc_notification_oneday        	"Your location was sent to %U. This activity will continue for next 1 day"
-
-// d: Link text shown on the message query for viewing the request/Session details
-// l: popup_info_list_pane_t1
-// w:
-// r:9.2b
-//
-#define qtn_loc_notification_service_link     	"Service details"
-
-// End of file
--- a/locationsystemui/locationsysui/locverifier/rss/10207242.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 8873 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  This file specifies the interface and implementation information
-*                 for BTnotif Ecom Plugins.
-*
-*/
-
-
-#include "ecom/registryinfo.rh"
-#include "uikon.hrh"
-#include <lbs/epos_privacynotifier.hrh>
-
-#define PRINOTDISPLAYNAME "TTNOTIFY2V2 Plugin 1"
-#define PRINOTDEFAULTDATA "TTNOTIFY2V2"
-#define PRINOTOPAQUEDATA  "0"
-
-RESOURCE REGISTRY_INFO theInfo
-{
-	dll_uid = 0x10207242;
-	interfaces =
-	{
-	INTERFACE_INFO
-		{
-		interface_uid = KUikonUidPluginInterfaceNotifiers; // ECOM Notifier Plugin 
-		implementations =
-				{
-				IMPLEMENTATION_INFO
-					{
-					implementation_uid = 0x10207243;
-					version_no = 1;
-					display_name = PRINOTDISPLAYNAME;
-					default_data = PRINOTDEFAULTDATA;
-					opaque_data	 = PRINOTOPAQUEDATA;
-					}
-				};
-		}
-	};
-}
--- a/locationsystemui/locationsysui/locverifier/rss/locverifierdlg.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,362 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Contains all resources for LocVerfierDlg DLL.
-*
-*/
-
-
-//  RESOURCE IDENTIFIER
-
-NAME    LVDI
-
-//  INCLUDES
-#include <eikon.rh>
-#include <avkon.rsg>
-#include <avkon.rh>
-#include <avkon.mbg>
-#include <bldvariant.hrh>
-#include <location.loc>
-
-//  RESOURCE DEFINITIONS 
-
-RESOURCE RSS_SIGNATURE { }
-
-RESOURCE CBA r_lpd_softkeys_accept_reject
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EAknSoftkeyOk;
-            txt = qtn_loc_request_accept;
-            },
-        CBA_BUTTON
-            {
-            id = EAknSoftkeyCancel;
-            txt = qtn_loc_request_reject;
-            },
-        CBA_BUTTON
-            {
-            id = EAknSoftkeyOk;
-            txt = qtn_loc_request_accept;                
-            }         
-        };
-    }
-
-RESOURCE DIALOG r_lpd_supl_periodic_verification_default
-    {
-    flags = EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar |
-            EEikDialogFlagCbaButtons | EEikDialogFlagNotifyEsc;      
-    buttons = r_lpd_softkeys_accept_reject;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtListQueryControl;
-            id = EListQueryControl;
-            control = AVKON_LIST_QUERY_CONTROL_WITH_MSGBOX
-                {
-                listtype = EAknListQueryWithMsgBox;
-                actuallisttype = EAknCtSinglePopupMenuListBox;
-                listbox = LISTBOX
-                    {
-                    flags = EAknListBoxViewerFlags;
-                    array_id = r_lpd_dummy_listbox_array;
-                    };
-                message = qtn_loc_request_default;
-                heading = qtn_loc_request;
-                };
-            }
-        };
-    }
-
-RESOURCE DIALOG r_lpd_global_verification_default_a
-    {
-    flags = EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar |
-    		EEikDialogFlagCbaButtons | EEikDialogFlagNotifyEsc;
-    		
-    buttons = r_lpd_softkeys_accept_reject;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtListQueryControl;
-            id = EListQueryControl;
-            control = AVKON_LIST_QUERY_CONTROL_WITH_MSGBOX
-                {
-                listtype = EAknListQueryWithMsgBox;
-                actuallisttype = EAknCtSinglePopupMenuListBox;
-                listbox = LISTBOX
-                    {
-                    flags = EAknListBoxViewerFlags;
-                    array_id = r_lpd_dummy_listbox_array;
-                    };
-                message = qtn_loc_request_default_accept;
-                heading = qtn_loc_request;
-                };
-            }
-        };
-    }
- 
-RESOURCE DIALOG r_lpd_global_verification_default_r
-    {
-    flags = EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar | 
-    		EEikDialogFlagCbaButtons | EEikDialogFlagNotifyEsc;
-    		
-    buttons = r_lpd_softkeys_accept_reject;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtListQueryControl;
-            id = EListQueryControl;
-            control = AVKON_LIST_QUERY_CONTROL_WITH_MSGBOX
-                {
-                listtype = EAknListQueryWithMsgBox;
-                actuallisttype = EAknCtSinglePopupMenuListBox;
-                listbox = LISTBOX
-                    {
-                    flags = EAknListBoxViewerFlags;
-                    array_id = r_lpd_dummy_listbox_array;
-                    };
-				message = qtn_loc_request_default_reject;
-                heading = qtn_loc_request;
-                };
-            }
-        };
-    }
-
-RESOURCE DIALOG r_lpd_global_verification_default_n
-    {
-    flags = EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar |
-    		EEikDialogFlagCbaButtons | EEikDialogFlagNotifyEsc;
-    		
-    buttons = r_lpd_softkeys_accept_reject;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtListQueryControl;
-            id = EListQueryControl;
-            control = AVKON_LIST_QUERY_CONTROL_WITH_MSGBOX
-                {
-                listtype = EAknListQueryWithMsgBox;
-                actuallisttype = EAknCtSinglePopupMenuListBox;
-                listbox = LISTBOX
-                    {
-                    flags = EAknListBoxViewerFlags;
-                    array_id = r_lpd_dummy_listbox_array;
-                    };
-				message = qtn_loc_request_default_none;
-                heading = qtn_loc_request;
-                };
-            }
-        };
-    }
-
-RESOURCE TBUF r_lpd_unknown_requester
-    {
-    buf = qtn_loc_requester_unknown;
-    }
-
-RESOURCE DIALOG r_lpd_global_notification_a
-    {
-    flags = EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar |
-    		EEikDialogFlagCbaButtons | EEikDialogFlagNotifyEsc;
-		buttons = R_AVKON_SOFTKEYS_OK_EMPTY__OK;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtListQueryControl;
-            id = EListQueryControl;
-            control = AVKON_LIST_QUERY_CONTROL_WITH_MSGBOX
-                {
-                listtype = EAknListQueryWithMsgBox;
-                actuallisttype = EAknCtSinglePopupMenuListBox;
-                listbox = LISTBOX
-                    {
-                    flags = EAknListBoxViewerFlags;
-                    array_id = r_lpd_dummy_listbox_array;
-                    };
-				message = qtn_loc_notification_accepted;
-                heading = qtn_loc_notification;
-                };
-            }
-        };
-    }
-
-RESOURCE DIALOG r_lpd_global_notification_fail_a
-    {
-    flags = EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar |
-    		EEikDialogFlagCbaButtons | EEikDialogFlagNotifyEsc;   		
-		buttons = R_AVKON_SOFTKEYS_OK_EMPTY__OK;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtListQueryControl;
-            id = EListQueryControl;
-            control = AVKON_LIST_QUERY_CONTROL_WITH_MSGBOX
-                {
-                listtype = EAknListQueryWithMsgBox;
-                actuallisttype = EAknCtSinglePopupMenuListBox;
-                listbox = LISTBOX
-                    {
-                    flags = EAknListBoxViewerFlags;
-                    array_id = r_lpd_dummy_listbox_array;
-                    };
-				message = qtn_loc_notification_failure_accepted;
-                heading = qtn_loc_notification;
-                };
-            }
-        };
-    }
-
-RESOURCE DIALOG r_lpd_global_notification_fail_r
-    {
-    flags = EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar |
-     		EEikDialogFlagCbaButtons | EEikDialogFlagNotifyEsc;
-		buttons = R_AVKON_SOFTKEYS_OK_EMPTY__OK;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtListQueryControl;
-            id = EListQueryControl;
-            control = AVKON_LIST_QUERY_CONTROL_WITH_MSGBOX
-                {
-                listtype = EAknListQueryWithMsgBox;
-                actuallisttype = EAknCtSinglePopupMenuListBox;
-                listbox = LISTBOX
-                    {
-                    flags = EAknListBoxViewerFlags;
-                    array_id = r_lpd_dummy_listbox_array;
-                    };
-				message = qtn_loc_notification_failure_rejected;
-                heading = qtn_loc_notification;
-                };
-            }
-        };
-    }
-
-RESOURCE DIALOG r_lpd_supl_periodic_notification
-    {
-    flags = EEikDialogFlagNoDrag | EEikDialogFlagCbaButtons
-     | EEikDialogFlagNotifyEsc;
-    buttons = R_AVKON_SOFTKEYS_OK_EMPTY__OK;
-    items =
-        {
-           DLG_LINE 
-           {
-           type = EAknCtPopupHeadingPane;
-           id = EAknMessageQueryHeaderId;
-           itemflags = EEikDlgItemNonFocusing;
-           control = AVKON_HEADING
-           {
-
-           };
-           },
-           DLG_LINE
-           {
-            type = EAknCtMessageQuery;
-            id = EAknMessageQueryContentId;
-            control = AVKON_MESSAGE_QUERY
-            {
-          
-            };
-            }    
-        };
-    }
-
-RESOURCE ARRAY r_lpd_dummy_listbox_array
-    {
-    items =
-        {
-        LBUF
-            {
-            txt = "";
-            }
-        };
-    }
-
-RESOURCE DIALOG r_lpd_global_notification_timeout_a
-    {
-    flags = EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar |
-    		EEikDialogFlagCbaButtons | EEikDialogFlagNotifyEsc;
-		buttons = R_AVKON_SOFTKEYS_OK_EMPTY__OK;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtListQueryControl;
-            id = EListQueryControl;
-            control = AVKON_LIST_QUERY_CONTROL_WITH_MSGBOX
-                {
-                listtype = EAknListQueryWithMsgBox;
-                actuallisttype = EAknCtSinglePopupMenuListBox;
-                listbox = LISTBOX
-                    {
-                    flags = EAknListBoxViewerFlags;
-                    array_id = r_lpd_dummy_listbox_array;
-                    };
-				message = qtn_loc_notification_accepted_timeout;
-                heading = qtn_loc_notification;
-                };
-            }
-        };
-    }
-
-RESOURCE DIALOG r_lpd_global_notification_timeout_r
-    {
-    flags = EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar |
-    	 	EEikDialogFlagCbaButtons | EEikDialogFlagNotifyEsc;
-		buttons = R_AVKON_SOFTKEYS_OK_EMPTY__OK;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtListQueryControl;
-            id = EListQueryControl;
-            control = AVKON_LIST_QUERY_CONTROL_WITH_MSGBOX
-                {
-                listtype = EAknListQueryWithMsgBox;
-                actuallisttype = EAknCtSinglePopupMenuListBox;
-                listbox = LISTBOX
-                    {
-                    flags = EAknListBoxViewerFlags;
-                    array_id = r_lpd_dummy_listbox_array;
-                    };
-				message = qtn_loc_notification_rejected_timeout;
-                heading = qtn_loc_notification;
-                };
-            }
-        };
-    }
-
-RESOURCE TBUF r_loc_notification_minutes { buf=qtn_loc_notification_minutes; }
-
-RESOURCE TBUF r_loc_notification_hours { buf=qtn_loc_notification_hours; }
-
-RESOURCE TBUF r_loc_notification_onehour { buf=qtn_loc_notification_onehour; }
-
-RESOURCE TBUF r_loc_notification_days { buf=qtn_loc_notification_days; }
-
-RESOURCE TBUF r_loc_notification_oneday { buf=qtn_loc_notification_oneday; }
-
-RESOURCE TBUF r_loc_notification_service_link { buf=qtn_loc_notification_service_link; }
-
-RESOURCE TBUF32 r_loc_supl_periodic_dialog_title { buf=qtn_loc_notification; }
-
-// End of File
--- a/locationsystemui/locationsysui/locverifier/src/lpdbasemodel.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Model base class.
-*
-*/
-
-
-// INCLUDE FILES
-#include "lpdbasemodel.h"
-#include <eikenv.h>
-#include "locrequestorutilsresolver.h"
-#include "lpdrequestorprocessor.h"
-#include "locconsts.h"
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CLpdBaseModel::CLpdBaseModel
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CLpdBaseModel::CLpdBaseModel(
-    const CLpdRequestorProcessor& aRtorProcessor )
-    : iRtorProcessor( aRtorProcessor )
-    {
-    // Intentionally empty
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdBaseModel::BaseConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CLpdBaseModel::BaseConstructL()
-    {
-    iBuffer = HBufC::NewL( KLocLBLineMaxLen + KLocLBItemFormatMaxLen );
-    iUtils = CLocRequestorUtilsResolver::NewL();
-    }
-
-// Destructor
-CLpdBaseModel::~CLpdBaseModel()
-    {
-    delete iBuffer;
-    delete iUtils;
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdBaseModel::MdcaPoint
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TPtrC16 CLpdBaseModel::MdcaPoint( TInt aIndex ) const
-    {
-    TRAPD( err, MdcaPointL( aIndex ) );
-    if ( err )
-        {
-        iBuffer->Des().Zero();
-        CEikonEnv::Static()->HandleError(err);
-        }
-    return *iBuffer;
-    }
-
-// End of File
--- a/locationsystemui/locationsysui/locverifier/src/lpdbkupevtlistenerao.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,129 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Active object which listens to Backup / Restore Events
-*
-*/
-
-
-// INCLUDE FILES
-#include "lpdbkupevtlistenerao.h"
-#include "lpdbkupevtobserver.h"
-#include <connect/sbdefs.h>
-#include <e32property.h>
-
-// ================= MEMBER FUNCTIONS =======================
-
-// -----------------------------------------------------------------------------
-// CLpdRequestAO::CLpdRequestAO
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CLpdBkupEvtListenerAO::CLpdBkupEvtListenerAO( MLpdBkupEvtObserver& aBkupObserver )
-    : CActive( CActive::EPriorityHigh ), iBkupObserver( aBkupObserver )
-    {
-	CActiveScheduler::Add(this);
-	}
-
-void CLpdBkupEvtListenerAO::ConstructL()
-	{
-	User::LeaveIfError(iProperty.Attach(KUidSystemCategory,conn::KUidBackupRestoreKey));
-	}
-
-// -----------------------------------------------------------------------------
-// CLpdRequestAO::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CLpdBkupEvtListenerAO* CLpdBkupEvtListenerAO::NewL( MLpdBkupEvtObserver& aBkupObserver )
-	{
-    CLpdBkupEvtListenerAO* self = new( ELeave ) CLpdBkupEvtListenerAO( aBkupObserver );
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);
-    return self;
-	}
-
-// Destructor
-CLpdBkupEvtListenerAO::~CLpdBkupEvtListenerAO()
-	{
-    Cancel();
-    iProperty.Close();
-	}
-
-// -----------------------------------------------------------------------------
-// CLpdBkupEvtListenerAO::StartL
-// This method subscribes to Backup/Restore Event 
-// -----------------------------------------------------------------------------
-//
-void CLpdBkupEvtListenerAO::StartL()
-	{
-	TInt backupFlag = 0;
-	TInt error = iProperty.Get(backupFlag);
-	switch(error)
-		{
-		case KErrNone:
-			// Backup/Restore is already running so Leave with KErrCancel.
-			// This will stop the verifier dialogs from being popped up.
-			if ((backupFlag & conn::KBackupIncTypeMask) != conn::ENoBackup )
-				{
-				User::Leave(KErrCancel);
-				}
-			// fall-through necessary
-
-		case KErrNotFound:
-			iProperty.Subscribe(iStatus);
-			SetActive();
-			break;
-		
-		default:
-			// In case of any other error Leave with the returned error code
-			User::LeaveIfError(error);
-			break;
-		}
-	}
-	
-// -----------------------------------------------------------------------------
-// CLpdBkupEvtListenerAO::RunL
-// Control is in this function when Backup / Restore event happens. 
-// -----------------------------------------------------------------------------
-//
-void CLpdBkupEvtListenerAO::RunL()
-    {
-    // Check the value of the property.
-    // If backup is started or restore is started then close the dialogs.
-	  TInt backupFlag;
-	  User::LeaveIfError(iProperty.Get(backupFlag));
-	  if ( (backupFlag & conn::KBackupIncTypeMask) != conn::ENoBackup )
-		  {
-		  iBkupObserver.ExitDialogL();	
-		  }
-  	else
-		  {
-	    // Re-subscribe to the event
-	    iProperty.Subscribe(iStatus);
-	    SetActive();
-		  }
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdBkupEvtListenerAO::DoCancel
-// -----------------------------------------------------------------------------
-//
-void CLpdBkupEvtListenerAO::DoCancel()
-    {
-    iProperty.Cancel();
-	  }
-
-//  End of File
--- a/locationsystemui/locationsysui/locverifier/src/lpddllmain.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Dll entry point and plugin creation functions.
-*
-*/
-
-
-// INCLUDE FILES
-#include "lpddllmain.h"
-#include "lpdverifierplugin.h"
-#include <e32base.h>
-#include <eiknotapi.h>
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-LOCAL_C void CreateNotifiersL( 
-    CArrayPtrFlat<MEikSrvNotifierBase2>* aNotifiers )
-    {
-    CLpdVerifierPlugin* notifier = CLpdVerifierPlugin::NewL();
-    CleanupStack::PushL( notifier );
-    aNotifiers->AppendL( notifier->NotifierBase() );
-    CleanupStack::Pop( notifier ); // Do not destroy. This is handled by the FW.
-    }
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-EXPORT_C CArrayPtr<MEikSrvNotifierBase2>* NotifierArray()
-    {
-    CArrayPtrFlat<MEikSrvNotifierBase2>* notifiers =
-        new CArrayPtrFlat<MEikSrvNotifierBase2>( 1 );
-    if ( notifiers )
-        {
-        TRAPD( err, CreateNotifiersL( notifiers ) );
-        if ( err )
-            { // release any notifiers we have created
-            TInt count = notifiers->Count();
-            while ( --count >= 0 )
-                {
-                ( *notifiers )[count]->Release();
-                }
-            delete notifiers;
-            notifiers = NULL;
-            }
-        }
-    return notifiers;
-    }
-
-
-// End of File
--- a/locationsystemui/locationsysui/locverifier/src/lpdglobalplugindialog.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,233 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  List query dialog suitable for verifier plug-in use.
-*
-*/
-
-
-// INCLUDE FILES
-#include "lpdglobalplugindialog.h"
-#include "lpddlgobserver.h"
-#include "locverifierdlg.hrh"
-#include <uikon/eiksrvui.h>
-#include <AknNotiferAppServerApplication.h>
-#include <e32des16.h>
-#include "lpdbkupevtlistenerao.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CLpdGlobalPluginDialog::CLpdGlobalPluginDialog
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CLpdGlobalPluginDialog::CLpdGlobalPluginDialog(                    
-    MLpdDlgObserver& aCallBack,
-    CLpdGlobalPluginDialog ** aSelfPtr,
-    CListBoxView::CSelectionIndexArray* aSelected)
-    : CAknListQueryDialog( &iDummyIndex ),
-      iCallBack( aCallBack ),
-      iAppSwitchSuppressed( EFalse ),
-      iSelected( aSelected ),
-      iSelfPtr( aSelfPtr )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdGlobalPluginDialog::ConstructL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-void CLpdGlobalPluginDialog::ConstructL()
-	{
-	iBkupListener = CLpdBkupEvtListenerAO::NewL( *this );
-	iBkupListener->StartL();
-	}
-
-
-// -----------------------------------------------------------------------------
-// CLpdGlobalPluginDialog::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CLpdGlobalPluginDialog* CLpdGlobalPluginDialog::NewL(                    
-    MLpdDlgObserver& aCallBack,
-    CLpdGlobalPluginDialog ** aSelfPtr,
-    CListBoxView::CSelectionIndexArray* aSelected)
-    {
-    CLpdGlobalPluginDialog* self =
-        new( ELeave ) CLpdGlobalPluginDialog( aCallBack, aSelfPtr, aSelected);
-	CleanupStack::PushL(self);
-	self->ConstructL();
-	CleanupStack::Pop(self);  
-    return self;
-    }
-
-// Destructor
-CLpdGlobalPluginDialog::~CLpdGlobalPluginDialog()
-	{
-    if ( iSelfPtr )
-        {
-        *iSelfPtr = NULL;
-        }
-    if ( iBkupListener )
-    	{
-    	delete iBkupListener;	
-    	}
-	}
-
-// -----------------------------------------------------------------------------
-// CLpdGlobalPluginDialog::PrepareLC
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdGlobalPluginDialog::PrepareLC( TInt aResourceId )
-	{
-	CAknDialog::PrepareLC( aResourceId );
-	}
-
-// -----------------------------------------------------------------------------
-// CLpdGlobalPluginDialog::RunLD
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CLpdGlobalPluginDialog::RunLD()
-    {
- 		if ( !iAppSwitchSuppressed )
-      {
-			TInt err = 
-				((CAknNotifierAppServerAppUi *)
-					iEikonEnv->EikAppUi())->SuppressAppSwitching(ETrue);
-	 		if (!err)        
-	 			{
-	 			iAppSwitchSuppressed = ETrue;	
-	 			}
-      }
-    return CAknQueryDialog::RunLD();
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdGlobalPluginDialog::OfferKeyEventL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CLpdGlobalPluginDialog::OfferKeyEventL(
-    const TKeyEvent& aKeyEvent,
-    TEventCode aType )
-    {
-    if ( aType != EEventKey )
-        {
-        return EKeyWasNotConsumed;
-        }
-    
-    TInt code = aKeyEvent.iCode;
-
-    switch ( code )
-        {
-        case EKeyEscape:
-            { // emergency call support
-            TryExitL( ELpdCmdEmergency );
-			return EKeyWasConsumed;
-            }
-        default:
-        	break;
-        }
-    return ListBox()->OfferKeyEventL( aKeyEvent, aType );
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdGlobalPluginDialog::SetHeaderTextL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdGlobalPluginDialog::SetHeaderTextL( const TDesC& aText )
-    {
-    CAknPopupHeadingPane* heading = NULL;
-    User::LeaveIfNull( heading = QueryHeading() );
-    heading->SetTextL( aText );
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdGlobalPluginDialog::ExitDialogL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdGlobalPluginDialog::ExitDialogL()
-    {
-    TryExitL( EEikCmdExit );
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdGlobalPluginDialog::ExitDialogL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdGlobalPluginDialog::ExitDialogQuietlyL()
-    {
-    TryExitL( ELpdCmdQuietExit );
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdGlobalPluginDialog::OkToExitL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CLpdGlobalPluginDialog::OkToExitL( TInt aButtonId )
-    {
-    if ( aButtonId == EAknSoftkeyCancel || aButtonId == EAknSoftkeyOk )
-        {
-        TInt currentIndex = ListBox()->CurrentItemIndex();
-        const CListBoxView::CSelectionIndexArray* aSelectionIndex = 
-            ListBox()->View()->SelectionIndexes();
-        if ( iSelected && aSelectionIndex->Count() > 0 )
-            { // CSelectionIndexArray was given in constructor and
-              // listbox view also has selection indexes.
-            ListBox()->View()->GetSelectionIndexesL( iSelected );
-            }
-        iCallBack.HandleDlgDismissedL( aButtonId, currentIndex );
-        }
-    else if ( ( aButtonId == EEikCmdExit ) || 
-              ( aButtonId == ELpdCmdEmergency ) )
-        { // Dialog needs to be exited or emergency key has been pressed.
-        iCallBack.HandleDlgDismissedL( aButtonId, -1 );
-        }
-    else if ( aButtonId == ELpdCmdQuietExit )
-        {
-        // No callback.
-        }
-    else
-        {
-        return EFalse; //dialog is not exited
-        }
-
-    if ( iAppSwitchSuppressed )
-        {
-				TInt er = 
-					((CAknNotifierAppServerAppUi *)
-						iEikonEnv->EikAppUi())->SuppressAppSwitching(EFalse);
-		 		if (!er)
-		 			{
-		 			iAppSwitchSuppressed = EFalse;
-		 			}
-        }
-    return ETrue; // dialog is exited
-    }
-
-void CLpdGlobalPluginDialog::HandleResourceChange(TInt aType)
-	{
-	CAknListQueryDialog::HandleResourceChange(aType);
-	}
-// End of file
-
--- a/locationsystemui/locationsysui/locverifier/src/lpdmessageplugindialog.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,188 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  List query dialog suitable for verifier plug-in use.
-*
-*/
-
-
-// INCLUDE FILES
-#include "lpdmessageplugindialog.h"
-#include "lpddlgobserver.h"
-#include "locverifierdlg.hrh"
-#include <uikon/eiksrvui.h>
-#include <AknNotiferAppServerApplication.h>
-#include <e32des16.h>
-#include "lpdbkupevtlistenerao.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CLpdMessagePluginDialog::CLpdMessagePluginDialog
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CLpdMessagePluginDialog::CLpdMessagePluginDialog(  
-    MLpdDlgObserver& aCallBack,
-    CLpdMessagePluginDialog ** aSelfPtr)
-    : CAknMessageQueryDialog( static_cast<TTone>(EAvkonSIDLocationRequest) ),
-      iCallBack( aCallBack ),
-      iAppSwitchSuppressed( EFalse ),
-      iSelfPtr( aSelfPtr )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdMessagePluginDialog::ConstructL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-void CLpdMessagePluginDialog::ConstructL()
-	{
-	iBkupListener = CLpdBkupEvtListenerAO::NewL( *this );
-	iBkupListener->StartL();
-	}
-
-
-// -----------------------------------------------------------------------------
-// CLpdMessagePluginDialog::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CLpdMessagePluginDialog* CLpdMessagePluginDialog::NewL(                    
-    MLpdDlgObserver& aCallBack,
-    CLpdMessagePluginDialog ** aSelfPtr
-    )
-    {
-    CLpdMessagePluginDialog* self =
-        new( ELeave ) CLpdMessagePluginDialog( aCallBack, aSelfPtr);
-	  CleanupStack::PushL(self);
-	  self->ConstructL();
-	  CleanupStack::Pop(self);  
-    return self;
-    }
-
-// Destructor
-CLpdMessagePluginDialog::~CLpdMessagePluginDialog()
-	{
-    if ( iSelfPtr )
-        {
-        *iSelfPtr = NULL;
-        }
-    if ( iBkupListener )
-    	{
-    	delete iBkupListener;	
-    	}
-	}
-
-// -----------------------------------------------------------------------------
-// CLpdMessagePluginDialog::PrepareLC
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdMessagePluginDialog::PrepareLC( TInt aResourceId )
-	{
-	CAknDialog::PrepareLC( aResourceId );
-	}
-
-// -----------------------------------------------------------------------------
-// CLpdMessagePluginDialog::RunLD
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CLpdMessagePluginDialog::RunLD()
-    {
- 		if ( !iAppSwitchSuppressed )
-      {
-			TInt err = 
-				((CAknNotifierAppServerAppUi *)
-					iEikonEnv->EikAppUi())->SuppressAppSwitching(ETrue);
-	 		if (!err)        
-	 			{
-	 			iAppSwitchSuppressed = ETrue;	
-	 			}
-      }
-    return CAknQueryDialog::RunLD();
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdMessagePluginDialog::ExitDialogL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdMessagePluginDialog::ExitDialogL()
-    {
-    TryExitL( EEikCmdExit );
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdMessagePluginDialog::ExitDialogL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdMessagePluginDialog::ExitDialogQuietlyL()
-    {
-    TryExitL( ELpdCmdQuietExit );
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdMessagePluginDialog::OkToExitL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CLpdMessagePluginDialog::OkToExitL( TInt aButtonId )
-    {
-    if ( aButtonId == EAknSoftkeyCancel || aButtonId == EAknSoftkeyOk )
-        {
-        iCallBack.HandleDlgDismissedL( aButtonId, 
-                    -1 );
-        }
-    else if ( ( aButtonId == EEikCmdExit ) || 
-              ( aButtonId == ELpdCmdEmergency ) )
-        { // Dialog needs to be exited or emergency key has been pressed.
-        iCallBack.HandleDlgDismissedL( aButtonId, -1 );
-        }
-    else if ( aButtonId == ELpdCmdQuietExit )
-        {
-        // No callback.
-        }
-    else
-        {
-        return EFalse; //dialog is not exited
-        }
-
-    if ( iAppSwitchSuppressed )
-        {
-				TInt er = 
-					((CAknNotifierAppServerAppUi *)
-						iEikonEnv->EikAppUi())->SuppressAppSwitching(EFalse);
-		 		if (!er)
-		 			{
-		 			iAppSwitchSuppressed = EFalse;
-		 			}
-        }
-    return ETrue; // dialog is exited
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdMessagePluginDialog::HandleResourceChange
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdMessagePluginDialog::HandleResourceChange(TInt aType)
-	{
-	CAknMessageQueryDialog::HandleResourceChange(aType);
-	}
-// End of file
-
--- a/locationsystemui/locationsysui/locverifier/src/lpdnotifierquerylauncher.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,250 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class which handles the dialog and expiration timer.
-*
-*/
-
-
-// INCLUDE FILES
-#include "lpdnotifierquerylauncher.h"
-#include "lpdglobalplugindialog.h"
-#include "lpdmessageplugindialog.h"
-#include "lpdresulthandler.h"
-#include "locverifierdlg.hrh"
-#include <locverifierdlg.rsg>
-#include <avkon.hrh>
-#include <lbs/epos_privacy.h>
-
-// CONSTANTS
-const TInt KNonPeriodicRequest = 0;
-const TInt KPeriodicRequest = 1;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CLpdNotifierQueryLauncher::CLpdNotifierQueryLauncher
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CLpdNotifierQueryLauncher::CLpdNotifierQueryLauncher( 
-    MLpdResultHandler& aHandler ) 
-    : CLpdQueryLauncherBase( aHandler )
-    {
-    // Intentionally empty
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdNotifierQueryLauncher::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CLpdNotifierQueryLauncher::ConstructL()
-    {
-    BaseConstructL();
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdNotifierQueryLauncher::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CLpdNotifierQueryLauncher* CLpdNotifierQueryLauncher::NewL( 
-    MLpdResultHandler& aHandler )
-    {
-    CLpdNotifierQueryLauncher* self = new( ELeave )
-             CLpdNotifierQueryLauncher( aHandler );
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop(self);
-
-    return self;
-    }
-
-// Destructor
-CLpdNotifierQueryLauncher::~CLpdNotifierQueryLauncher()
-    {
-    // Intentionally empty
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdNotifierQueryLauncher::PrepareNotificationResourcesL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdNotifierQueryLauncher::PrepareNotificationResourcesL(
-    TPosNotificationReason aReason,
-    TPosRequestDecision aDecision)
-    {
-    switch ( aReason )
-        {
-        case EPosDecisionByRequestSource:
-            {
-            PrepareQueryResourcesL( R_LPD_GLOBAL_NOTIFICATION_A, KNonPeriodicRequest );
-            break;
-            }
-        case EPosVerificationTimeout:
-            {
-            switch ( aDecision )
-                {
-                case EPosDecisionAccepted:
-                    {
-                    PrepareQueryResourcesL( R_LPD_GLOBAL_NOTIFICATION_FAIL_A, KNonPeriodicRequest );
-                    break;
-                    }
-                case EPosDecisionRejected:
-                    {
-                    PrepareQueryResourcesL( R_LPD_GLOBAL_NOTIFICATION_FAIL_R, KNonPeriodicRequest );
-                    break;
-                    }
-                default:
-                    { // EPosDecisionNotAvailable or future extensions
-                    User::Leave( KErrArgument );
-                    break;
-                    }
-                }
-            break;
-            }
-        default:
-            { // other values do not make sense
-            User::Leave( KErrArgument );
-            break;
-            }
-        }
-
-    iQueryDlg->SetTone( EAvkonSIDLocationRequest );
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdNotifierQueryLauncher::PrepareSuplNotificationResourcesL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdNotifierQueryLauncher::PrepareSuplNotificationResourcesL(
-        TPosNotificationReason aReason)
-    {
-    switch ( aReason )
-        {
-        case EPosDecisionByRequestSource:
-            {
-            PrepareQueryResourcesL( R_LPD_SUPL_PERIODIC_NOTIFICATION, KPeriodicRequest); 
-            break;
-            }
-        case EPosVerificationTimeout:
-            {
-            break;
-            }
-        default:
-            { // other values do not make sense
-            User::Leave( KErrArgument );
-            break;
-            }
-        }
-    }
-        
-// -----------------------------------------------------------------------------
-// CLpdNotifierQueryLauncher::PrepareCancelNotifResourcesL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdNotifierQueryLauncher::PrepareCancelNotifResourcesL(
-    TPosRequestDecision aDecision)
-    {
-    switch ( aDecision )
-        {
-        case EPosDecisionAccepted:
-            {
-            PrepareQueryResourcesL( R_LPD_GLOBAL_NOTIFICATION_TIMEOUT_A, KNonPeriodicRequest );
-            break;
-            }
-        case EPosDecisionRejected:
-            {
-            PrepareQueryResourcesL( R_LPD_GLOBAL_NOTIFICATION_TIMEOUT_R, KNonPeriodicRequest );
-            break;
-            }
-        default:
-            { // EPosDecisionNotAvailable or future extensions
-            User::Leave( KErrArgument );
-            break;
-            }
-        }
-
-    iQueryDlg->SetTone( EAvkonSIDLocationRequest );
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdNotifierQueryLauncher::PrepareCancelNotifResourcesL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdNotifierQueryLauncher::PrepareSuplCancelNotifResourcesL(
-    TPosRequestDecision aDecision )
-    {
-    switch ( aDecision )
-        {
-        case EPosDecisionAccepted:
-            {
-            PrepareQueryResourcesL( R_LPD_SUPL_PERIODIC_NOTIFICATION, KPeriodicRequest );
-            break;
-            }
-        case EPosDecisionRejected:
-            {
-            break;
-            }
-        default:
-            { // EPosDecisionNotAvailable or future extensions
-            User::Leave( KErrArgument );
-            break;
-            }
-        }
-
-    }
-
-
-// -----------------------------------------------------------------------------
-// CLpdNotifierQueryLauncher::ExtendedHandleDlgDismissedL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdNotifierQueryLauncher::ExtendedHandleDlgDismissedL()
-    {
-    TInt retValue = KErrNone;
-    switch ( iResult )
-        {
-        case EAknSoftkeyOk:
-            {
-            retValue = KErrNone;
-            break;
-            }
-        case EEikCmdExit:
-            {
-            retValue = iExitReason;
-            break;
-            }
-        case ELpdCmdEmergency:
-            { // emergency call support
-            retValue = KErrAbort;
-            break;
-            }
-        default:
-            {
-            retValue = KErrGeneral;
-            break;
-            }
-        }
-    iHandler.HandleNotificationResultL( retValue );
-    }
-
-//  End of File
--- a/locationsystemui/locationsysui/locverifier/src/lpdnotifreqinfo.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,144 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  This class stores information regarding notification 
-*                requests.
-*
-*/
-
-#include <lbs/epos_cposrequestor.h>
-#include <lbs/epos_rposrequestorstack.h>
-#include "lpdnotifreqinfo.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CLpdNotifReqInfo::CLpdNotifReqInfo(
-	TPosRequestSource aSource,
-	TPosVerifyCancelReason aReason,
-	TPosRequestDecision aDecision,
-	RPosRequestorStack* aRequestors)
-	: iSource(aSource),
-	  iReason(aReason),
-	  iDecision(aDecision),
-	  iRequestors(aRequestors)
-  	{
-  	}
-
-
-// ---------------------------------------------------------------------------
-// 2nd Phase of Construction
-// ---------------------------------------------------------------------------
-//
-void CLpdNotifReqInfo::ConstructL()
-    {
-    // Intentionally left empty
-    }
-
-
-// ---------------------------------------------------------------------------
-// Symbian 2 Phase Constructor
-// ---------------------------------------------------------------------------
-//
-CLpdNotifReqInfo* CLpdNotifReqInfo::NewL(
-	TPosRequestSource aSource,
-	TPosVerifyCancelReason aReason,
-	TPosRequestDecision aDecision,
-	RPosRequestorStack* aRequestors)
-    {
-    CLpdNotifReqInfo* self = CLpdNotifReqInfo::NewLC(aSource,
-													 aReason,
-													 aDecision,
-													 aRequestors);
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Symbian 2 Phase Constructor
-// ---------------------------------------------------------------------------
-//
-CLpdNotifReqInfo* CLpdNotifReqInfo::NewLC(
-	TPosRequestSource aSource,
-	TPosVerifyCancelReason aReason,
-	TPosRequestDecision aDecision,
-	RPosRequestorStack* aRequestors)
-    {
-    CLpdNotifReqInfo* self = new( ELeave ) CLpdNotifReqInfo(aSource,
-    														aReason,
-    														aDecision,
-    														aRequestors);
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CLpdNotifReqInfo::~CLpdNotifReqInfo()
-	{
-	if(iRequestors)
-		{
-		iRequestors->ResetAndDestroy();
-		delete iRequestors;
-		}
-	}
-
-
-// ---------------------------------------------------------------------------
-// CLpdNotifReqInfo::Source()
-// ---------------------------------------------------------------------------
-//
-const TPosRequestSource& CLpdNotifReqInfo::Source()
-    {
-    return iSource;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLpdNotifReqInfo::Reason()
-// ---------------------------------------------------------------------------
-//
-const TPosVerifyCancelReason& CLpdNotifReqInfo::Reason()
-    {
-    return iReason;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLpdNotifReqInfo::Decision()
-// ---------------------------------------------------------------------------
-//
-const TPosRequestDecision& CLpdNotifReqInfo::Decision()
-    {
-    return iDecision;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLpdNotifReqInfo::Requestors()
-// ---------------------------------------------------------------------------
-//
-const RPosRequestorStack& CLpdNotifReqInfo::Requestors()
-    {
-    return *iRequestors;
-    }
-
-//end of file
--- a/locationsystemui/locationsysui/locverifier/src/lpdperiodicprocessor.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,426 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   Helps retrieving request related information
-*
-*/
-
-
-// INCLUDE FILES
-//#include <eikenv.h>
-#include <StringLoader.h>
-#include <locverifierdlg.rsg>
-#include <aknmessagequerydialog.h>
-#include <epos_csuplsettingsconstants.h>
-#include <e32math.h>
-#include <badesca.h>
-#include <aknconsts.h>
-#include "lpdperiodicprocessor.h"
-#include "locverifierdlgdebug.h"
-#include "lpdverifiersettinglauncher.h"
-#include "lpdsuplsettingsadapter.h"
-
-
-// CONSTANTS
-const TInt KRequestorNameSize   = 256;
-const TInt KMinToSecs = 60;
-const TInt KHrToSecs  = 3600;
-const TInt KdayToSecs = 86400;
-const TInt KRealWidth = 50;
-_LIT( KNewLineEntry, "\n" );
-
-
-// Unnamed namespace for local definitions
-
-#ifdef _DEBUG
-_LIT( KPanicText, "CLpdPeriodicProcessor" );
-enum TPanicCode
-    {
-    KLpdErrGeneral = 1
-    };
-#endif
-
-// LinkClickedL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-static TInt LinkClickedL(TAny* aPtr)
-    {
-    CLpdPeriodicProcessor* self = static_cast<CLpdPeriodicProcessor*>(aPtr);
-    self->LaunchSettingsL();
-    return ETrue;
-    }
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CLpdPeriodicProcessor::CLpdPeriodicProcessor
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CLpdPeriodicProcessor::CLpdPeriodicProcessor( MLpdPeriodicRequestObserver& aObserver )
-: iObserver(aObserver), iMessageText( NULL ), iRequestorName( NULL ), iSessionId(-1), iRequestorId(-1) 
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdPeriodicProcessor::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CLpdPeriodicProcessor* CLpdPeriodicProcessor::NewL( MLpdPeriodicRequestObserver& aObserver )
-    {
-    CLpdPeriodicProcessor* self = CLpdPeriodicProcessor::NewLC( aObserver );
-    CleanupStack::Pop();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdPeriodicProcessor::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CLpdPeriodicProcessor* CLpdPeriodicProcessor::NewLC( MLpdPeriodicRequestObserver& aObserver)
-    {
-    CLpdPeriodicProcessor* self = new( ELeave ) CLpdPeriodicProcessor ( aObserver );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// Destructor
-CLpdPeriodicProcessor::~CLpdPeriodicProcessor()
-    {
-    delete iRequestor;    
-    delete iSUPLSettingsAdapter;
-    delete iVerifierSettingsLauncher;
-    delete iMessageText;
-    delete iRequestorName;
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdPeriodicProcessor::ConstructL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdPeriodicProcessor::ConstructL()
-    {
-    iSUPLSettingsAdapter = CLpdSUPLSettingsAdapter::NewL(*this);
-    iVerifierSettingsLauncher = CLpdVerifierSettingsLauncher::NewL();
-    iRequestorName = HBufC::NewL( KRequestorNameSize );
-    iEikEnv = CEikonEnv::Static();
-
-    }
-    
-// -----------------------------------------------------------------------------
-// CLpdPeriodicProcessor::LaunchSettingsL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdPeriodicProcessor::LaunchSettingsL( )
-    {
-    if( iVerifierSettingsLauncher )
-		{
-		iVerifierSettingsLauncher->LaunchL( iSessionId );
-		}
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdPeriodicProcessor::GetSessionId
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt64 CLpdPeriodicProcessor::GetSessionId( )
-    {
-    return iSessionId;
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdPeriodicRequestProcessor::SetRequestorId
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdPeriodicProcessor::SetRequestorIdL( TInt32 aRequestorId )
-    {
-    __ASSERT_DEBUG( aRequestorId != KPosNullQNRequestId,
-                    HandleAssertErrorL() );
-    
-    iRequestorId = aRequestorId;
-    }
-        
-// -----------------------------------------------------------------------------
-// CLpdPeriodicProcessor::SetSessionId
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdPeriodicProcessor::SetSessionIdL( TInt64 aSessionId )
-    {
-    __ASSERT_DEBUG( iRequestorId != KPosNullQNRequestId,
-                    HandleAssertErrorL() );
-	
-	  iSessionId = aSessionId;
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdPeriodicProcessor::SetRequestorIdL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdPeriodicProcessor::SetRequestorNameL( HBufC* aRequestorName)
-   {
-   __ASSERT_DEBUG( iRequestorId != KPosNullQNRequestId,
-                   HandleAssertErrorL() );
-   iRequestorName->Des().Copy( aRequestorName->Des() );
-   }
-
-// -----------------------------------------------------------------------------
-// CLpdPeriodicProcessor::SetRequestTypeL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdPeriodicProcessor::SetRequestTypeL( 
-        CPosPrivacyNotifier::TRequestType aRequestType )
-    {
-    	 __ASSERT_DEBUG( iRequestorId != KPosNullQNRequestId,
-                    HandleAssertErrorL() );
-	  iRequestType = aRequestType;
-    }	
-
-// -----------------------------------------------------------------------------
-// CLpdPeriodicProcessor::SetRequestorL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdPeriodicProcessor::SetRequestorL( CPosRequestor* aRequestor )
-    {
-     __ASSERT_DEBUG( iRequestorId != KPosNullQNRequestId,
-                    HandleAssertErrorL() );
-    if( iRequestor )
-        {
-        delete iRequestor;
-        iRequestor = NULL;
-        }
-    
-    iRequestor = aRequestor;
-    }    
-
-// -----------------------------------------------------------------------------
-// CLpdPeriodicProcessor::ResetParameters
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdPeriodicProcessor::ResetParameters()
-    {
-    iRequestorId = -1;
-    iSessionId = -1;
-    if( iRequestor )
-        {
-        delete iRequestor;
-        iRequestor = NULL;
-        }
-    
-    }   
-
-// -----------------------------------------------------------------------------
-// CLpdPeriodicProcessor::NotificationMessageText
-// Used to prepare notification message text
-// -----------------------------------------------------------------------------
-//
-
-void CLpdPeriodicProcessor::NotificationMessageTextL( HBufC*& aMessageText)
-    {
-    __ASSERT_DEBUG( iRequestorId != KPosNullQNRequestId,
-               HandleAssertErrorL() );    
-    TUint aTimePeriod;
-    
-    TRAPD( ret, iSUPLSettingsAdapter->GetTriggerPeriodL( iSessionId, aTimePeriod)); 
-    
-    if(ret != KErrNone)
-    {
-     User::Leave(ret);    	
-    }
-
-    if( iMessageText )
-		 {
-	     delete iMessageText;
-	     iMessageText = NULL;
-		 }   
-
-    TInt resourceId;
-    TBuf<KRealWidth> periodString;
-    HBufC* msgText = NULL;
-
-    GetResourceAndPeriodL( aTimePeriod, resourceId, periodString );
-    
-    GetMessageStringL(msgText, resourceId, *iRequestorName, periodString );
-   
-    if( msgText )
-    {
-    CleanupStack::PushL( msgText );
-    HBufC* linkText = NULL;
-    linkText = StringLoader::LoadL( R_LOC_NOTIFICATION_SERVICE_LINK, iEikEnv );
-    CleanupStack::PushL( linkText );
-    iMessageText = HBufC::NewL( msgText->Length() + KNewLineEntry().Length() + KOpeningLinkTag().Length() + 
-                                                linkText->Length() + KClosingLinkTag().Length() );
-    iMessageText->Des().Copy( *msgText );
-    iMessageText->Des().Append( KNewLineEntry );
-    iMessageText->Des().Append( KOpeningLinkTag );
-    iMessageText->Des().Append( *linkText );
-    iMessageText->Des().Append( KClosingLinkTag );
-    
-    CleanupStack::PopAndDestroy( ); //msgText
-    CleanupStack::PopAndDestroy( ); //linkText
-    //delete msgText; 
-    //delete linkText; 
-    }
-    else
-    {
-      iMessageText = HBufC::NewL( KMaxTriggerSessionNameLen );
-    }         
-    
-    aMessageText->Des().Copy(iMessageText->Des());
-  }
-
-// -----------------------------------------------------------------------------
-// CLpdPeriodicProcessor::LinkCallBack
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TCallBack CLpdPeriodicProcessor::LinkCallBack()
-    {
-    return TCallBack(LinkClickedL, this);
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdPeriodicRequestProcessor::UpdateSessionL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdPeriodicProcessor::UpdateSessionL( TInt64 aSessionId )
-    {
-	if( iSessionId == aSessionId &&
-	iRequestType == CPosPrivacyNotifier::ENotification && iRequestor
-	 && CPosRequestor::ERequestPeriodic == iRequestor->RequestType())
-      {
-	    iObserver.UpdateCurrentNotifierL();
-	    }
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdPeriodicProcessor::GetMessageStringL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdPeriodicProcessor::GetMessageStringL( HBufC*& aMessageString, 
-                    TInt& aResourceId, TDesC& aNameString, TDesC& aPeriodString )
-    {
-
-    switch( aResourceId )
-        {
-        case R_LOC_NOTIFICATION_ONEHOUR:
-            {
-            aMessageString = StringLoader::LoadL( R_LOC_NOTIFICATION_ONEDAY, aNameString, iEikEnv ); 
-            break;
-            }
-        case R_LOC_NOTIFICATION_ONEDAY:
-            {
-            aMessageString = StringLoader::LoadL( R_LOC_NOTIFICATION_ONEDAY, aNameString, iEikEnv ); 
-            break;
-            }
-        case R_LOC_NOTIFICATION_MINUTES:
-        case R_LOC_NOTIFICATION_HOURS:
-        case R_LOC_NOTIFICATION_DAYS:
-        default:
-            {
-            CDesCArrayFlat* strings = new CDesCArrayFlat( 2 );
-            CleanupStack::PushL( strings );
-                    
-            strings->AppendL( aNameString ); // aNameString string
-            strings->AppendL( aPeriodString ); // aPeriodString string
-            
-            aMessageString = StringLoader::LoadL(aResourceId, *strings, iEikEnv );
-            
-            CleanupStack::PopAndDestroy( ); // strings
-            break;
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdPeriodicProcessor::GetResourceAndPeriodL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdPeriodicProcessor::GetResourceAndPeriodL( TUint aSeconds, 
-									TInt& aResourceId, TDes& aPeriodString )
-    {
-    TRealFormat fmt(KDefaultRealWidth, 2);
-
-    if( !aSeconds )
-        {
-        aResourceId = R_LOC_NOTIFICATION_MINUTES;
-        aPeriodString.Num(aSeconds);
-        return;
-        }
-
-    TReal hrs = TReal(aSeconds)/KHrToSecs;
-    TReal value;
-    if( hrs < 1 )
-        {
-        TReal mins = TReal(aSeconds)/KMinToSecs; 
-        aResourceId = R_LOC_NOTIFICATION_MINUTES;
-        Math::Round( value, mins, 2 );
-        aPeriodString.Num(value, fmt);
-        }
-    else if( hrs == 1 )
-        {
-        aResourceId = R_LOC_NOTIFICATION_ONEHOUR;
-        }
-    else
-        {
-        TReal days = TReal(aSeconds)/KdayToSecs;
-        if( days < 1 )
-            {
-            aResourceId = R_LOC_NOTIFICATION_HOURS;
-            Math::Round( value, hrs, 2 );
-            aPeriodString.Num(value, fmt);
-            }
-        else if( days == 1 )
-            {
-            aResourceId = R_LOC_NOTIFICATION_ONEDAY;
-            }
-        else
-            {
-            aResourceId = R_LOC_NOTIFICATION_DAYS;
-            Math::Round( value, days, 2 );
-            aPeriodString.Num(value, fmt);
-            }
-        }
-    }
-        
-// -----------------------------------------------------------------------------
-// CLpdPeriodicProcessor::HandleAssertErrorL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdPeriodicProcessor::HandleAssertErrorL() const
-    {
-    #ifdef _DEBUG
-        User::Panic( KPanicText, KLpdErrGeneral );
-    #else
-        User::Leave( KErrCorrupt );
-    #endif
-    }	
-// end of file
--- a/locationsystemui/locationsysui/locverifier/src/lpdquerylauncherbase.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,474 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Abstract base class for queries.
-*
-*/
-
-
-// INCLUDE FILES
-#include <locverifierdlg.rsg>
-#include <StringLoader.h>
-
-#include "locverifierdlg.hrh"
-#include "lpdquerylauncherbase.h"
-#include "lpdresulthandler.h"
-#include "locconsts.h"
-#include "lpdglobalplugindialog.h"
-#include "lpdmessageplugindialog.h"
-#include "lpdperiodicprocessor.h"
-
-
-// CONSTANTS
-
-// Unnamed namespace for local definitions
-
-const TUint KSelectionArrayGranularity = 5;
-const TInt KVerDlgTimeout = 900000000; // == 15 minutes
-
-#ifdef _DEBUG
-_LIT( KPanicText, "CLpdQueryLauncherBase" );
-enum TPanicCode
-    {
-    KLpdErrGeneral = 1
-    };
-#endif
-
-// INCLUDE FILES
-#include <s32mem.h>
-#include <AknMediatorFacade.h>
-#include "locverifiercoverui.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CLpdQueryLauncherBase::CLpdQueryLauncherBase
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CLpdQueryLauncherBase::CLpdQueryLauncherBase( MLpdResultHandler& aHandler )
-    : iHandler( aHandler ),
-      iResult( KErrArgument ),
-      iCurrentIndex( -1 ),
-      iExitReason( KErrNone ),
-      iOwnsQueryDlg( EFalse ),
-      iOwnsMsgQueryDlg( EFalse )   
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdQueryLauncherBase::BaseConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CLpdQueryLauncherBase::BaseConstructL()
-    {
-    // In current implementation timer is not used. If needed, take timer 
-    // into use by uncommenting the following line:
-    // iTimer = CPeriodic::NewL( CActive::EPriorityStandard )
-    }
-
-// Destructor
-CLpdQueryLauncherBase::~CLpdQueryLauncherBase()
-    {
-    // This does cleanup nicely even if dialog was not running:
-    ExitQuery( EFalse ); // no callback from dialog anymore
-    delete iTimer; // ok even if timer is NULL 
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdQueryLauncherBase::PrepareQueryResourcesL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdQueryLauncherBase::PrepareQueryResourcesL( TInt aResourceId, TInt aSuplNotifRequest)
-    {
-    
-    if( aSuplNotifRequest )
-        {
-        // Cancel deletes dialog resources:
-        Cancel();    
-       __ASSERT_DEBUG( !iMsgQueryDlg,
-                    User::Panic( KPanicText, KLpdErrGeneral ) );
-  
-        iMsgQueryDlg = CLpdMessagePluginDialog::NewL( *this, &iMsgQueryDlg );
-        iMsgQueryDlg->PrepareLC(aResourceId);    
-        CleanupStack::Pop(iMsgQueryDlg); //iMsgQueryDlg, must be pushed back when launching
-        iOwnsMsgQueryDlg = ETrue; 
- 
-        }
-    else
-        {
-       // Cancel deletes dialog resources:
-       Cancel();    
-     __ASSERT_DEBUG( !iSelectionIndex && !iQueryDlg,
-                    User::Panic( KPanicText, KLpdErrGeneral ) );
-        iSelectionIndex =
-            new( ELeave ) CArrayFixFlat<TInt>( KSelectionArrayGranularity );
-        iQueryDlg = CLpdGlobalPluginDialog::NewL( *this, &iQueryDlg, iSelectionIndex );
-        iQueryDlg->PrepareLC( aResourceId );
-        CleanupStack::Pop(iQueryDlg); //iQueryDlg, must be pushed back when launching
-        iOwnsQueryDlg = ETrue; 
-            
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdQueryLauncherBase::SetQueryTextArray
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdQueryLauncherBase::SetQueryTextArray( MDesCArray* aArray )
-    {
-    __ASSERT_DEBUG( iQueryDlg, User::Panic( KPanicText, KLpdErrGeneral ) );
-    iQueryDlg->SetItemTextArray( aArray );
-    // ownership of array is transferred:
-    iQueryDlg->SetOwnershipType( ELbmOwnsItemArray );
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdQueryLauncherBase::SetMessageQueryTextL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdQueryLauncherBase::SetMessageQueryTextL( const TDesC& aString, TCallBack aCallBack )
-    {
-    __ASSERT_DEBUG( iMsgQueryDlg, User::Panic( KPanicText, KLpdErrGeneral ) );
-    
-    HBufC* dialogTitle = NULL;
-    // set title text
-    dialogTitle = StringLoader::LoadLC( R_LOC_SUPL_PERIODIC_DIALOG_TITLE );  
-    iMsgQueryDlg->QueryHeading()->SetTextL( *dialogTitle ); 
-    // set message text                  
-	  iMsgQueryDlg->SetMessageTextL( aString );
-	  iMsgQueryDlg->SetLink( aCallBack );
-	
-	  CleanupStack::PopAndDestroy( dialogTitle );
-    }
-    
-// -----------------------------------------------------------------------------
-// CLpdQueryLauncherBase::StartQueryL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdQueryLauncherBase::StartQueryL()
-    {
-    User::LeaveIfNull( iQueryDlg );
-
-    iExitReason = KErrNone;
-    
-    CLpdGlobalPluginDialog* queryDialog = iQueryDlg;
-    
-    // Publish the dialog to Cover UI  
-    PublishDialogtoCoverL();
-       
-    CleanupStack::PushL( queryDialog ); // RunLD() requires this
-    iOwnsQueryDlg = EFalse; // ownership transferred to RunLD
-    queryDialog->RunLD();
-
-    if ( iTimer )
-        {
-        TCallBack callback( HandleTimeoutCallback, this );
-        TTimeIntervalMicroSeconds32 timeout( KVerDlgTimeout );
-        // This timer will not expire periodically, so the second
-        // parameter is not so important in this case.
-        
-		    iTimer->Cancel();
-        iTimer->Start( timeout, timeout, callback );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdQueryLauncherBase::StartSuplPeriodicQueryL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdQueryLauncherBase::StartSuplPeriodicQueryL()
-    {
-    User::LeaveIfNull( iMsgQueryDlg );
-    
-    iExitReason = KErrNone;
-    CLpdMessagePluginDialog* queryDialog = iMsgQueryDlg;
-    
-    // Publish the dialog to Cover UI  
-    PublishDialogtoCoverL();
-       
-    CleanupStack::PushL( queryDialog ); // RunLD() requires this
-    iOwnsMsgQueryDlg = EFalse; // ownership transferred to RunLD
-    queryDialog->RunLD();
-    
-    if ( iTimer )
-        {
-        TCallBack callback( HandleTimeoutCallback, this );
-        TTimeIntervalMicroSeconds32 timeout( KVerDlgTimeout );
-        // This timer will not expire periodically, so the second
-        // parameter is not so important in this case.
-        
-        iTimer->Cancel();
-        iTimer->Start( timeout, timeout, callback );
-        }
-         
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdQueryLauncherBase::SelectionIndexes
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const CListBoxView::CSelectionIndexArray* CLpdQueryLauncherBase::SelectionIndexes() const
-    {
-    return iSelectionIndex;
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdQueryLauncherBase::HandleTimeoutCallback
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CLpdQueryLauncherBase::HandleTimeoutCallback( TAny* aThis )
-    {
-	  static_cast<CLpdQueryLauncherBase*>( aThis )->HandleTimeout();
-    return KErrNone; // Return value is unimportant in this case
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdQueryLauncherBase::Cancel
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdQueryLauncherBase::Cancel()
-    {
-    iExitReason = KErrCancel;
-    ExitQuery( ETrue );
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdQueryLauncherBase::CancelQuietly
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdQueryLauncherBase::CancelQuietly()
-    {
-    iExitReason = KErrCancel;
-    ExitQuery( EFalse );
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdQueryLauncherBase::ListBoxL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CEikFormattedCellListBox& CLpdQueryLauncherBase::ListBoxL()
-    {
-	__ASSERT_DEBUG( iQueryDlg, User::Panic( KPanicText, KLpdErrGeneral ) );
-    CEikFormattedCellListBox* listbox = iQueryDlg->ListControl()->Listbox();
-    User::LeaveIfNull( listbox );
-	  return *listbox;    
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdQueryLauncherBase::SetRequestorBuffer
-// Sets the requestor buffer array that needs to be published to
-// Cover UI
-// @param aRequestorBuffer Flat buffer containing the list of requestors
-// -----------------------------------------------------------------------------
-//
-void CLpdQueryLauncherBase::SetRequestorBuffer( TDes8&     aRequestorBuffer )
-    {
-    iRequestorBuffer.Set( aRequestorBuffer);
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdQueryLauncherBase::SetCoverUICommand
-// Sets the Cover UI Command ID
-// @param aCommandId Cover UI Command
-// -----------------------------------------------------------------------------
-//
-void CLpdQueryLauncherBase::SetCoverUICommand( TInt        aCommand )
-    {
-    iCoverUiCommand = aCommand;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CLpdQueryLauncherBase::HandleDlgDismissedL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdQueryLauncherBase::HandleDlgDismissedL(    
-    TInt aResult,
-    TInt aCurrentIndex )
-    {
-    // ExtendedHandleDlgDismissedL() implementation probably
-    // makes a callback to the observer of this class, which
-    // might delete this object. Therefore it is important
-    // that members are carefully used.
-
-    if ( iTimer )
-        {
-        iTimer->Cancel();
-        }
-
-    iResult = aResult;
-    iCurrentIndex = aCurrentIndex;
-    
-    if(iQueryDlg)
-    {
-    // Cancel the dialog from secondary
-    CAknMediatorFacade* covercl = AknMediatorFacade(iQueryDlg);
-    if( covercl )
-      {
-      covercl->CancelCommand();
-      }
-    }
-    if(iMsgQueryDlg)
-    {
-      // Cancel the dialog from secondary
-    CAknMediatorFacade* coverclmsg = AknMediatorFacade(iMsgQueryDlg);
-    if( coverclmsg )
-        {
-        coverclmsg->CancelCommand();
-        }
-    }
-    // iQueryDlg, which will delete itself, is becoming invalid now
-    iQueryDlg = NULL;
-    iMsgQueryDlg = NULL;
-    TRAPD( err, ExtendedHandleDlgDismissedL() );
-         if ( err )
-             { // Leave occurred in dialog result processing, we must let
-               // plugin handle the situation instead of propagating error to
-               // AVKON, which would mean that dialog would not be exited and
-               // user could alter his decision --> risk of conflicts.
-             iHandler.HandleLeave( err );
-             }
-      
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdQueryLauncherBase::HandleTimeout
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdQueryLauncherBase::HandleTimeout()
-    {
-    iExitReason = KErrTimedOut;
-    ExitQuery( ETrue );
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdQueryLauncherBase::ExitQuery
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdQueryLauncherBase::ExitQuery( TBool aCallback )
-    {
-    if ( iTimer )
-        {
-        iTimer->Cancel();
-        }
-    if ( iQueryDlg )
-        {
-        if ( iOwnsQueryDlg )
-            { // Dialog not running yet --> must be explicitely deleted
-            delete iQueryDlg;
-            }
-        else
-            { // Dialog running --> exit
-            TInt err = KErrNone;
-            if ( aCallback )
-                {
-                TRAP( err, iQueryDlg->ExitDialogL() );
-                }
-            else
-                {
-                TRAP( err, iQueryDlg->ExitDialogQuietlyL() );
-                }
-            if ( err )
-                {
-                CEikonEnv::Static()->HandleError( err );
-                }
-            }
-        iQueryDlg = NULL;
-        }
-    if ( iMsgQueryDlg )
-        {
-        if ( iOwnsQueryDlg )
-            { // Dialog not running yet --> must be explicitely deleted
-            delete iMsgQueryDlg;
-            }
-        else
-            { // Dialog running --> exit
-            TInt err = KErrNone;
-            if ( aCallback )
-                {
-                TRAP( err, iMsgQueryDlg->ExitDialogL() );
-                }
-            else
-                {
-                TRAP( err, iMsgQueryDlg->ExitDialogQuietlyL() );
-                }
-            if ( err )
-                {
-                CEikonEnv::Static()->HandleError( err );
-                }
-            }
-        iMsgQueryDlg = NULL;
-        }
-        iResult = KErrArgument;
-        iCurrentIndex = -1;
-        if( iSelectionIndex )
-           {
-           delete iSelectionIndex;
-           iSelectionIndex = NULL;
-           }
- }
-
-// -----------------------------------------------------------------------------
-// CLpdQueryLauncherBase::PublishDialogtoCoverL
-// Prepare the requestor buffers and Publish the dialog to the 
-// Cover UI
-// -----------------------------------------------------------------------------
-//
-void CLpdQueryLauncherBase::PublishDialogtoCoverL()
-    {
-    
-    CAknMediatorFacade* covercl = NULL;
-	if( iQueryDlg )
-		{
-	    // Publish the Dialog to Cover UI
-	    iQueryDlg->PublishDialogL( iCoverUiCommand, KCatUidLocationVerifierDlgs );
-		
-   		// Send the requestor buffer to the Cover UI
-		covercl = AknMediatorFacade( iQueryDlg );
-		}
-	else if( iMsgQueryDlg )
-		{
-	    // Publish the Dialog to Cover UI
-	    iMsgQueryDlg->PublishDialogL( iCoverUiCommand, KCatUidLocationVerifierDlgs );
-		
-   		// Send the requestor buffer to the Cover UI
-		covercl = AknMediatorFacade( iMsgQueryDlg );
-		}
-		
-    if (covercl)
-        {
-        RBufWriteStream& writeStream = covercl->BufStream();
-        
-        TUint8* ptr = const_cast<TUint8 *>(iRequestorBuffer.Ptr());
-        writeStream.WriteL( ptr, iRequestorBuffer.Length());
-        writeStream.CommitL();
-        }
-    }
-
-//  End of File
--- a/locationsystemui/locationsysui/locverifier/src/lpdrequestao.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,150 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Active object which ensures that current call stack is run to
-*                completion before a new request is handled
-*
-*/
-
-
-// INCLUDE FILES
-#include "lpdrequestao.h"
-#include "lpdverifierplugin.h"
-#include <lbs/epos_cposrequestor.h>
-#include <lbs/epos_rposrequestorstack.h>
-#include <AknNotifierAppServer.h>
-#include <eikenv.h>
-#include <eiknotapi.h>
-
-// ================= MEMBER FUNCTIONS =======================
-
-// -----------------------------------------------------------------------------
-// CLpdRequestAO::CLpdRequestAO
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CLpdRequestAO::CLpdRequestAO( CLpdVerifierPlugin& aPlugin )
-    : CActive( CActive::EPriorityHigh ), iPlugin( aPlugin )
-    {
-	}
-
-// -----------------------------------------------------------------------------
-// CLpdRequestAO::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CLpdRequestAO* CLpdRequestAO::NewL( CLpdVerifierPlugin& aPlugin )
-	{
-    CLpdRequestAO* self = new( ELeave ) CLpdRequestAO( aPlugin );
-    CActiveScheduler::Add(self);
-
-    CAknNotifierAppServer* AknNServer = 
-        static_cast<CAknNotifierAppServer*>(CEikonEnv::Static()->AppServer());
-    AknNServer->UnbalanceReferenceCountForNotif(aPlugin.NotifierBase()->Info().iUid,ETrue);
-    // Nothing to do in the Second Phase Constructor
-    return self;
-	}
-
-// Destructor
-CLpdRequestAO::~CLpdRequestAO()
-	{
-    Cancel();
-    iNotificationQue.ResetAndDestroy();
-    iNotificationQue.Close();
-	}
-
-// -----------------------------------------------------------------------------
-// CLpdRequestAO::ScheduleRequest
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdRequestAO::ScheduleRequest()
-    {	     
-    Cancel();
-    SetActive();
-    TRequestStatus* status = &iStatus;
-    User::RequestComplete( status, KErrNone );            
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdRequestAO::RunL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdRequestAO::RunL()
-    {	    
-    // Let's call the non-leaving method so that plugin
-    // takes care of error handling.
-    RArray<TPosQNRequestId> requests;
-    CleanupClosePushL( requests );
-    iPlugin.GetRequestsL( requests );
-    if ( requests.Count() == 0 )
-    	{
-    	if( iNotificationQue.Count() )
-    	    {
-        	iPlugin.FreeQueryResources();
-        	CLpdNotifReqInfo* notifInfo = iNotificationQue[0];
-        	iPlugin.NotifyCancellationL(notifInfo->Source(),
-        								notifInfo->Reason(),
-        								notifInfo->Decision(),
-        								notifInfo->Requestors());
-    	    iNotificationQue.Remove(0);
-    	    delete notifInfo;
-    	    iNotificationQue.Compress();
-    	    }
-        else
-            {
-    	    CAknNotifierAppServer* AknNServer = 
-                static_cast<CAknNotifierAppServer*>(CEikonEnv::Static()->AppServer());
-            AknNServer->UnbalanceReferenceCountForNotif(iPlugin.NotifierBase()->Info().iUid,EFalse);
-    	    iPlugin.HandleNextRequest();
-            }
-    	}
-    else
-    	{
-	    iPlugin.HandleNextRequest();
-    	}
-    CleanupStack::PopAndDestroy();
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdRequestAO::DoCancel
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdRequestAO::DoCancel()
-    {
-    // Not important with this AO
-	}
-
-
-// -----------------------------------------------------------------------------
-// CLpdRequestAO::EnqueueRequestL
-// -----------------------------------------------------------------------------
-//
-void CLpdRequestAO::EnqueueRequestL( TPosRequestSource aSource,
-								    TPosVerifyCancelReason aReason,
-								    TPosRequestDecision aDecision,
-								    RPosRequestorStack* aRequestors )
-	{
-	CLpdNotifReqInfo* notifReqInfo = CLpdNotifReqInfo::NewL(aSource, 
-													  aReason,
-													  aDecision,
-													  aRequestors);
-	
-	// The ownership is transferred to iNotificationQue
-	iNotificationQue.Append(notifReqInfo);
-	}
-	
-//  End of File
--- a/locationsystemui/locationsysui/locverifier/src/lpdrequestorprocessor.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,293 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Processes requestor related data.
-*
-*/
-
-
-// INCLUDE FILES
-#include "lpdrequestorprocessor.h"
-#include "lpdverifnotiflbmodel.h"
-#include "lpdbasemodel.h"
-#include "locconsts.h"
-#include "locverifierdlgdebug.h"
-#include <lbs/epos_cposrequestor.h>
-#include <lbs/epos_cposcontactrequestor.h>
-#include <lbs/epos_cposservicerequestor.h>
-#include <EPos_CPosPrivacyNotifier.h>
-
-// CONSTANTS
-_LIT( KUnknownRequestor, "Unknown" );
-
-// Unnamed namespace for local definitions
-
-const TInt KRequestorsGranularity = 5;
-#ifdef _DEBUG
-_LIT( KPanicText, "CLpdRequestorProcessor" );
-enum TPanicCode
-    {
-    KLpdErrGeneral = 1
-    };
-#endif
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CLpdRequestorProcessor::CLpdRequestorProcessor
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CLpdRequestorProcessor::CLpdRequestorProcessor() 
-: iRequestors( KRequestorsGranularity),
-  iSuplRequest ( 0 ),
-  iSessionId ( 0 )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdRequestorProcessor::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CLpdRequestorProcessor* CLpdRequestorProcessor::NewL()
-    {
-    CLpdRequestorProcessor* self = new( ELeave ) CLpdRequestorProcessor;
-    // Nothing to do in the Second Phase Constructor
-    return self;
-    }
-    
-// Destructor
-CLpdRequestorProcessor::~CLpdRequestorProcessor()
-    {
-    iRequestors.ResetAndDestroy();
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdRequestorProcessor::ReadRequestorsL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CLpdRequestorProcessor::ReadRequestorsL(
-    const CPosPrivacyNotifier& aPosNotifier )
-    {
-    __ASSERT_DEBUG( aPosNotifier.CurrentRequest() != KPosNullQNRequestId,
-                    HandleAssertErrorL() );
-
-    this->ResetAndDestroyRequestors();
-    
-    TBool allRequestorIdsValid = ETrue;
-	  CLocRequestorUtilsResolver* reqUtils = CLocRequestorUtilsResolver::NewL();
-	  CleanupStack::PushL(reqUtils);
-    // Let's read the requestors associated with the current request:
-    TInt nofRequestors = aPosNotifier.RequestorCountL();
-
-    for ( TInt i = 0; i < nofRequestors; i++ )
-        {
-        CPosRequestor* requestor = aPosNotifier.RequestorLC( i );
-        if ( !reqUtils->RequestorIdValid( *requestor ) )
-            { // mark that some requestor id is invalid
-            allRequestorIdsValid = EFalse;
-            }
-   
-        if( iSuplRequest )
-           {
-           TInt64 sessionId = RetrieveSessionId( requestor->RequestorIdString() );
-           SetSessionId( sessionId );
-           TPtrC RequestorName = RetrieveRequestorNameL(requestor->RequestorIdString());           
-           requestor->SetRequestorIdL(requestor->RequestorIdFormat(), RequestorName);
-           }
-        User::LeaveIfError( iRequestors.Append( requestor ) );
-        CleanupStack::Pop( requestor ); // iRequestors owns now the requestor
-        }
-
-    if ( nofRequestors == 0 )
-        {
-        allRequestorIdsValid = EFalse; // zero requestors == invalid
-        }
-
-    // Use Requestor Utils and resolve the requestor here itself
-    reqUtils->ProcessRequestorsL(iRequestors);
-    CleanupStack::PopAndDestroy(reqUtils);
-    return allRequestorIdsValid;
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdRequestorProcessor::RtorNamesForVerifNotifL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CLpdBaseModel* CLpdRequestorProcessor::RtorNamesForVerifNotifL(
-    CEikFormattedCellListBox& aListBox )
-    {
-    return CLpdVerifNotifLBModel::NewL( *this, aListBox );
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdRequestorProcessor::ResetAndDestroyRequestors
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdRequestorProcessor::ResetAndDestroyRequestors()
-    {
-    iRequestors.ResetAndDestroy();
-    }
-
-void CLpdRequestorProcessor::SetRequestType( TInt aReqType )
-    {
-       iSuplRequest = aReqType ;
-    } 
-// -----------------------------------------------------------------------------
-// CLpdRequestorProcessor::Requestors
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const RPointerArray<CPosRequestor>& CLpdRequestorProcessor::Requestors() const
-    {
-    return iRequestors;
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdRequestorProcessor::HandleAssertErrorL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdRequestorProcessor::HandleAssertErrorL() const
-    {
-    #ifdef _DEBUG
-        User::Panic( KPanicText, KLpdErrGeneral );
-    #else
-        User::Leave( KErrCorrupt );
-    #endif
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdRequestorProcessor::RetrieveRequestorsL
-// The Requestors information for the current request is read and returned.
-// -----------------------------------------------------------------------------
-//
-RPosRequestorStack* CLpdRequestorProcessor::RetrieveRequestorsL( 
-	const CPosPrivacyNotifier& aPosNotifier )
-	{
-    __ASSERT_DEBUG( aPosNotifier.CurrentRequest() != KPosNullQNRequestId,
-                    HandleAssertErrorL() );
-
-    RPosRequestorStack* requestors = new(ELeave) RPosRequestorStack;
-
-    // Let's read the requestors associated with the current request:
-    TInt nofRequestors = aPosNotifier.RequestorCountL();
-
-    for ( TInt i = 0; i < nofRequestors; i++ )
-        {
-        CPosRequestor* requestor = aPosNotifier.RequestorLC( i );
-        requestors->AppendL( requestor );
-        CleanupStack::Pop( requestor ); // requestors owns now the requestor
-        }
-
-    // Return the Index of the Array where the requestor Arary is appended.
-    return requestors;
-	}
-
-// -----------------------------------------------------------------------------
-// CLpdRequestorProcessor::ReadRequestorsL
-// Read the requestors passed as parameter. Resolve them and store in
-// iRequestors member variable.
-// -----------------------------------------------------------------------------
-//
-void CLpdRequestorProcessor::ReadRequestorsL( 
-	const RPosRequestorStack& aRequestors )
-	{
-    TInt nofRequestors = aRequestors.Count();
-	  CLocRequestorUtilsResolver* reqUtils = CLocRequestorUtilsResolver::NewL();
-	  CleanupStack::PushL(reqUtils);
-
-    for ( TInt i = 0; i < nofRequestors; i++ )
-        {
-        CPosRequestor* requestor;
-        if( iSuplRequest )
-            {
-                TInt64 sessionId = RetrieveSessionId( aRequestors[i]->RequestorIdString() );
-                SetSessionId( sessionId );
-                TPtrC RequestorName = RetrieveRequestorNameL(aRequestors[i]->RequestorIdString());
-                aRequestors[i]->SetRequestorIdL(aRequestors[i]->RequestorIdFormat(), RequestorName);
-            }
-        if (aRequestors[i]->RequestorType() == 
-        	CPosRequestor::ERequestorService)
-        	{
-        	    requestor = CPosServiceRequestor::NewLC(
-        					    	aRequestors[i]->RequestorIdFormat(),
-        					    	aRequestors[i]->RequestorIdString());
-        	}
-        else
-        	{
-        	requestor = CPosContactRequestor::NewLC(
-        						aRequestors[i]->RequestorIdFormat(),
-        						aRequestors[i]->RequestorIdString());
-        	}
-        
-        iRequestors.AppendL( requestor );
-        CleanupStack::Pop( requestor ); // requestors owns now the requestor
-        }
-
-    // Return the Index of the Array where the requestor Arary is appended.
-    // Use Requestor Utils and resolve the requestor here itself
-    reqUtils->ProcessRequestorsL(iRequestors);
-    CleanupStack::PopAndDestroy(reqUtils);
-	}
-
-TPtrC CLpdRequestorProcessor::RetrieveRequestorNameL(  const TDesC& aString )
-{
-    //Parse string and extract characters leaving last
-    // 3 characters and return as requestor name. 
-    //If requestor name not there, say unknown requestor
-    if( aString.Length() > 3 )
-    {
-       TPtrC requestorName = aString.Left( aString.Length() - 3 );
-       return requestorName;
-    }
-    else   
-    {
-    HBufC* buf = HBufC::NewL( KUnknownRequestor().Length() );
-    buf->Des().Append( KUnknownRequestor );
-    return buf->Des();
-    }
-}
-
-
-TInt64 CLpdRequestorProcessor::RetrieveSessionId(  const TDesC& aString )
-{
-    //Parse string and return session id(last 3 characters)
-    //after converting to TInt
-    TInt sessId;
-    TInt64 sessionId;
-    TPtrC sessionIdPart = aString.Right( 3 );
-
-    TLex lex( sessionIdPart );
-    lex.Val( sessId );
-    sessionId = sessId;
-    return sessionId;
-}
-
-void CLpdRequestorProcessor::SetSessionId(  TInt64 aSessionId )
-{
-    iSessionId = aSessionId;
-}
-	
-TInt64 CLpdRequestorProcessor::GetSessionId()
-{
-    return iSessionId;
-}
-
-// end of file
--- a/locationsystemui/locationsysui/locverifier/src/lpdsuplsettingsadapter.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Adapter to the SUPL Settings API
-*
-*/
-
-
-// System Includes
-#include <epos_csuplsettings.h>
-#include <locsuplsettingsui.rsg>
-#include <StringLoader.h>
-
-// User Includes
-#include "lpdsuplsettingsadapter.h"
-#include "lpdsuplsettingsadapterobserver.h"
-
-
-// ---------------------------------------------------------------------------
-// Private Constructor
-// ---------------------------------------------------------------------------
-//
-CLpdSUPLSettingsAdapter::CLpdSUPLSettingsAdapter( 
-                            MLpdSUPLSettingsAdapterObserver&    aObserver )
-		:iObserver( aObserver )
-    {
-    }
- 
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//    
-CLpdSUPLSettingsAdapter::~CLpdSUPLSettingsAdapter()
-    {
-   // delete iTimer;
-    if( iSUPLSettings )
-        {
-        iSUPLSettings->RemoveSessionObserver();
-        }
-        
-    delete iSUPLSettings;
-    iSUPLSettings = NULL;	
-
-    } 
-
-// ---------------------------------------------------------------------------
-// CLpdSUPLSettingsAdapter* CLpdSUPLSettingsAdapter::NewL
-// Static Two phase contructor that instantiates the CLpdSUPLSettingsAdapter
-// 
-// @param aObserver				    Observer to the SUPL settings adapter
-// @return CLpdSUPLSettingsAdapter*	Reference to the object created
-// ---------------------------------------------------------------------------
-//    
-CLpdSUPLSettingsAdapter* CLpdSUPLSettingsAdapter::NewL(
-                            MLpdSUPLSettingsAdapterObserver&    aObserver )
-    {
-    CLpdSUPLSettingsAdapter* self = 
-                new ( ELeave ) CLpdSUPLSettingsAdapter( aObserver );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );	
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// void CLpdSUPLSettingsAdapter::ConstructL
-// Second phase of the two phase constructor
-// ---------------------------------------------------------------------------
-// 
-void CLpdSUPLSettingsAdapter::ConstructL()
-    {
-    // Create the SUPL Settings
-    iSUPLSettings = CSuplSettings::NewL();
-    
-    // Set the Observer for SUPL Sessions
-    iSUPLSettings->SetSessionObserverL( *this );
-   
-    }  
-
-// ---------------------------------------------------------------------------
-// void CLpdSUPLSettingsAdapter::HandleSuplSessionChangeL
-// Handle the Supl Session changes
-// ---------------------------------------------------------------------------
-//     
-void CLpdSUPLSettingsAdapter::HandleSuplSessionChangeL( 
-                TSuplSessionEventType aEvent,
-                TInt64 aSessionId                        
-        		)
-    {
-	if( aEvent == MSuplSessionObserver::ESuplSessionDBUpdateEvent ||
-		aEvent == MSuplSessionObserver::ESuplSessionDBDeleteEvent )
-		  {
-      iObserver.UpdateSessionL( aSessionId );
-	    }	
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdSUPLSettingsAdapter::GetSessionNameAndPeriodL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdSUPLSettingsAdapter::GetTriggerPeriodL( TInt64 aSessionId, TUint& aTimePeriod )
-    {
-    CTriggerParams* trigParams = CTriggerParams::NewL();
-    CleanupStack::PushL( trigParams );
-     
-    User::LeaveIfError( iSUPLSettings->GetTriggerParams( aSessionId, trigParams ) );
-     
-    TUint64 outstandingTrigger;
-    TUint64 interval;
-    TBool notificationPresent;
-    TBool triggerNotificationStatus;  
-    CTriggerParams::TTriggerType triggerType; 
-    CTriggerParams::TRequestType requestType;
-    
-    HBufC* sessionName;
-    sessionName = HBufC::NewLC( 256 ); 
-                  
-    sessionName->Des().Zero();
-       
-    User::LeaveIfError( trigParams->Get(
-                             aSessionId, 
-                             sessionName->Des(), 
-                             notificationPresent, 
-                             triggerNotificationStatus, 
-                             triggerType,
-                             requestType, 
-                             outstandingTrigger, 
-                             interval) );
-    
-    aTimePeriod = interval*outstandingTrigger;
-    
-    CleanupStack::PopAndDestroy( ); // sessionName
-    CleanupStack::PopAndDestroy( ); // trigParams
-    }
-
-// End of file
--- a/locationsystemui/locationsysui/locverifier/src/lpdverifierplugin.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1232 +0,0 @@
-/*
- * Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:  Verifier plug-in which derives from CPosPrivacyNotifier.
- *
- */
-
-// INCLUDE FILES
-#include <eikenv.h>
-#include <eiknotapi.h>
-#include <AknIconArray.h>
-#include <apgcli.h>
-#include <lbs/epos_rposrequestorstack.h>
-#include <epos_csuplsettingsconstants.h>
-#include <StringLoader.h>
-#include <locverifierdlg.rsg>
-#include "lpdverifierplugin.h"
-#include "lpdrequestao.h"
-#include "lpdrequestorprocessor.h"
-#include "lpdverifierquerylauncher.h"
-#include "lpdnotifierquerylauncher.h"
-#include "lpdbasemodel.h"
-#include "locconsts.h"
-#include "locverifierdlgdebug.h"
-#include "locfileutils.h"
-#include "locrequestorutilsresolver.h"
-#include "lpdperiodicprocessor.h"
-
-// INCLUDE FILES
-#include <s32mem.h>
-#include "locphonenumberformat.h"
-#include "locverifiercoverui.h"
-// CONSTANTS
-
-// The Increment size for the package buffer used for packing the descriptors
-const TInt KReqBufferIncrSize = 256;
-const TInt KLpdItemArrayGranularity = 50;
-
-const TInt KNonPeriodicRequest = 0;
-const TInt KPeriodicRequest = 1;
-
-const TInt KNotifyMessageLength = 300;
-
-// CONSTANTS
-
-// Unnamed namespace for local definitions
-
-const MEikSrvNotifierBase2::TNotifierPriority KNotifierPriority =
-        MEikSrvNotifierBase2::ENotifierPriorityHigh;
-const TUid KNotifierChannel =
-    {
-    0x100065ac
-    };
-_LIT_SECURE_ID(KUikonSrvSecureId,0x10003a4a);
-#ifdef _DEBUG
-_LIT( KPanicText, "CLpdVerifierPlugin" );
-enum TPanicCode
-    {
-    KLpdErrGeneral = 1
-    };
-#endif
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CLpdVerifierPlugin::CLpdVerifierPlugin
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CLpdVerifierPlugin::CLpdVerifierPlugin() :
-    iCurrentRequest(KPosNullQNRequestId), iPeriodicNotQue(
-            KLpdItemArrayGranularity)
-
-    {
-    iEnv = CEikonEnv::Static();
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdVerifierPlugin::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CLpdVerifierPlugin::ConstructL()
-    {
-    BaseConstructL(KNotifierChannel, KNotifierPriority);
-
-    TFileName* resourceFile = new (ELeave) TFileName;
-    CleanupStack::PushL(resourceFile);
-    // these appends are always safe:
-    resourceFile->Append(KLocNotifierRscPath);
-    resourceFile->Append(KLocVerifierRscFileName);
-    TFileName* dllDrive = new (ELeave) TFileName;
-    CleanupStack::PushL(dllDrive);
-    Dll::FileName(*dllDrive);
-    LocFileUtils::GetNearestLanguageFileL(iEnv->FsSession(), *dllDrive,
-            *resourceFile);
-    CleanupStack::PopAndDestroy(dllDrive);
-    iResourceOffset = iEnv->AddResourceFileL(*resourceFile);
-    CleanupStack::PopAndDestroy(resourceFile);
-
-    iRtorProcessor = CLpdRequestorProcessor::NewL();
-    iPeriodicProcessor = CLpdPeriodicProcessor::NewL( *this );
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdVerifierPlugin::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CLpdVerifierPlugin* CLpdVerifierPlugin::NewL()
-    {
-    CLpdVerifierPlugin* self = new (ELeave) CLpdVerifierPlugin;
-
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);
-
-    return self;
-    }
-
-// Destructor
-CLpdVerifierPlugin::~CLpdVerifierPlugin()
-    {
-    // Destruction of this plugin should only occur only in shutdown
-    // or in severe problem situation.
-
-    // A very special scenario is that base class construction leaves and
-    // this destructor is called. In that case CompleteAllRequests() causes
-    // access violation (noticed this by checking source code of base class).
-    if (NotifierBase())
-        { // base class has been fully constructed, method call is safe
-        CompleteAllRequests(KErrGeneral);
-        }
-
-    // It is enough to delete queries so when don't get callbacks.
-    FreeQueryResources();
-    iPeriodicNotQue.Close();
-    delete iPeriodicProcessor;
-    delete iRequestActiveObject;
-    delete iRtorProcessor;
-    iEnv->DeleteResourceFile(iResourceOffset);
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdVerifierPlugin::HandleNewRequestL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdVerifierPlugin::HandleNewRequestL(TPosQNRequestId aRequestId)
-    {
-    EnqueIfPeriodicL(aRequestId);
-    // Check whether the notifier is already handling a request
-    // If yes, do nothing for now.
-    if (iRequestActiveObject)
-        {
-        return;
-        }
-    else
-        {
-        iRequestActiveObject = CLpdRequestAO::NewL(*this);
-        iRequestActiveObject->ScheduleRequest();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdVerifierPlugin::EnqueIfPeriodicL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdVerifierPlugin::EnqueIfPeriodicL(TPosQNRequestId aRequestId)
-    {
-    SetCurrentRequestL(aRequestId);
-    TRequestType requestType = RequestTypeL(aRequestId);
-    CPosRequestor::TRequestType requestorType = CheckRequestTypeL();
-
-    if (requestType == ENotification && requestorType
-            == CPosRequestor::ERequestPeriodic)
-        {
-        TInt64 sessionId = -1;
-        GetSessionIdL( sessionId );
-
-        TLpdPeriodicReqInfo newReq(aRequestId, sessionId);
-
-        if (iPeriodicProcessor)
-            {
-            if (iPeriodicProcessor->GetSessionId() == sessionId)
-                {
-                CompleteRequest(aRequestId, KErrNone);
-                }
-            return;
-            }
-        else
-            {
-            TIdentityRelation<TLpdPeriodicReqInfo> matcher(
-                    TLpdPeriodicReqInfo::MatchSession);
-            TInt index = iPeriodicNotQue.Find(newReq, matcher);
-
-            // Remove if it was present in Que
-            if (index == KErrNotFound)
-                {
-                iPeriodicNotQue.Append(newReq);
-                }
-            else
-                {
-                CompleteRequest(aRequestId, KErrNone);
-                }
-            }
-        }
-
-    if (KPosNullQNRequestId != iCurrentRequest)
-        SetCurrentRequestL(iCurrentRequest);
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdVerifierPlugin::HandleRequestCancelled
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdVerifierPlugin::HandleRequestCancelled(TPosQNRequestId aRequestId)
-    {
-    // Check whether the request is coming from Uikon Server. 
-    // If not reject this request.
-    if (!CheckClientSecureId(KUikonSrvSecureId))
-        {
-        return;
-        }
-
-    // This method is called for Verification Query Cancellation.
-    // There are 2 scenarios when the cancellation can come.
-    // 1. The verification query for which the cancellation is done is 
-    //         currently is running
-    // 2. The verification query is not running currently but is in the 
-    //         requests Queue maintained by the base class.
-    //
-    // Case 1 :
-    //		
-    // If there is a Verification query currently running and the requestId
-    //         matches then the cancel notificaiton has to be popped up.
-    //
-    // Case 2 :
-    //		
-    //     1. A Verification query was popped up.
-    //     2. The network timed out and sent a cancel request which popped 
-    //           up a notification request.
-    //     3. The network sends another verification query in the mean time
-    //           and also cancels it. The resulting notification dialog will
-    //           not be run since there is still a notification that has not
-    //           been dismissed by the user.
-    //
-    // Hence in case 2 the notification information is maintained in a Que 
-    // in the iRequestActiveObject. Once the current notification dialog 
-    // closes and there are no more verification dialogs pending, the 
-    // notification dialogs are run one after the other.
-
-    if (aRequestId != iCurrentRequest)
-        {
-        if (aRequestId == KPosNullQNRequestId)
-            {
-            return;
-            }
-        //Put this new Notification Request on the queue and then process
-        //it later from iRequestActiveObject(CLpdRequestAO class) RunL.		
-        RPosRequestorStack* requestors = NULL;
-            TRAP_IGNORE(
-                    SetCurrentRequestL(aRequestId);
-                    // requestors is allocated in iRtorProcessor and ownership is finally
-                    // transferred to iRequestActiveObject.
-                    requestors = iRtorProcessor->RetrieveRequestorsL( *this );
-                    // Enqueue the request to iRequestActiveObject
-                    iRequestActiveObject->EnqueueRequestL(RequestSource(),
-                            CancelReason(),
-                            QueryTimeoutStrategy(),
-                            requestors););
-        return;
-        }
-
-    iCancelInfo.iCancelled = ETrue;
-    iCancelInfo.iReason = CancelReason();
-    iCancelInfo.iDecision = QueryTimeoutStrategy();
-    iCancelInfo.iSource = RequestSource();
-
-    if (iCurrentRequestType == EQuery)
-        { // Verification was cancelled
-        __ASSERT_DEBUG( iVerifierQuery, HandleDebugAssertError() );
-        __ASSERT_DEBUG( !iNotifier, HandleDebugAssertError() );
-        iVerifierQuery->Cancel();
-        }
-    else
-        {
-        // It must be a notification then, this case is not probable but
-        // we can cancel the dialog if this would happen.
-        __ASSERT_DEBUG( iCurrentRequestType == ENotification,
-                HandleDebugAssertError() );
-        __ASSERT_DEBUG( !iVerifierQuery, HandleDebugAssertError() );
-        __ASSERT_DEBUG( iNotifier, HandleDebugAssertError() );
-        iNotifier->Cancel();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdVerifierPlugin::HandleAllRequestCancelled
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdVerifierPlugin::HandleAllRequestCancelled()
-    {
-    if (iCurrentRequest != KPosNullQNRequestId)
-        { // current request requires some specific behavior
-        HandleRequestCancelled(iCurrentRequest);
-        }
-    // Note that ScheduleRequest in the end of HandleRequestCancelled() allows
-    // current call chain run to completion and resources are released after
-    // that. Pending requests have been completed so they won't be processed.
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdVerifierPlugin::HandleVerificationResultL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdVerifierPlugin::HandleVerificationResultL(TInt aResultCode)
-    {
-    iVerifyResult = aResultCode;
-
-        LOCVERIFIERDLGDEBUG1( "CLpdVerifierPlugin::HandleVerificationResultL(%d)",
-                iVerifyResult );
-
-    switch (iVerifyResult)
-        {
-        case KErrNone: // fall through
-        case KErrAccessDenied:
-            {
-            // No need for rules now in 3.0
-            break;
-            }
-        case KErrTimedOut:
-            { // UI's internal timer expired
-            break;
-            }
-        case KErrCancel:
-            {
-            __ASSERT_DEBUG( iCancelInfo.iCancelled, HandleAssertErrorL() );
-            NotifyCancellationL(iCancelInfo.iSource, iCancelInfo.iReason,
-                    iCancelInfo.iDecision);
-
-            return; // don't handle next req. yet
-            }
-        case KErrAbort: // This is used for emergency call support
-            {
-            CompleteAllRequests(iVerifyResult);
-            // ScheduleRequest() allows the current call chain
-            // run to completion and resources are released after that.
-            iRequestActiveObject->ScheduleRequest();
-            return;
-            }
-        default:
-            {
-            iEnv->HandleError(iVerifyResult);
-            break;
-            }
-        }
-
-    CompleteCurrentAndContinue(iVerifyResult); // this request was handled
-    }
-// -----------------------------------------------------------------------------
-// CLpdVerifierPlugin::HandleNotificationResultL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdVerifierPlugin::HandleNotificationResultL(TInt aResultCode)
-    {
-
-    TLpdPeriodicReqInfo newReq(iCurrentRequest, -1);
-    TIdentityRelation<TLpdPeriodicReqInfo> matcher(
-            TLpdPeriodicReqInfo::MatchPrivacy);
-    TInt index = iPeriodicNotQue.Find(newReq, matcher);
-
-    // Remove if it was present in Que
-    if (index != KErrNotFound)
-        {
-        iPeriodicNotQue.Remove(index);
-        }
-    CompleteRequest(iCurrentRequest, aResultCode);
-    iCurrentRequest = KPosNullQNRequestId;
-
-    switch (aResultCode)
-        {
-        case KErrNone: // fall through
-        case KErrTimedOut: // fall through
-            {
-            break;
-            }
-        case KErrCancel:
-            {
-            break;
-            }
-        case KErrAbort: // This is used for emergency call support
-            {
-            CompleteAllRequests(aResultCode);
-            // ScheduleRequest() -> allows the current call chain
-            // run to completion and resources are released after that.
-            break;
-            }
-        default:
-            {
-            iEnv->HandleError(aResultCode);
-            break;
-            }
-        }
-
-    iRequestActiveObject->ScheduleRequest(); // handle next req.
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdVerifierPlugin::HandleLeave
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdVerifierPlugin::HandleLeave(TInt aError)
-    {
-        LOCVERIFIERDLGDEBUG1( "CLpdVerifierPlugin::HandleLeave(%d)", aError);
-    // In this case user needs feedback about the error situation:
-    iEnv->HandleError(aError);
-
-    // In case of leave current request is completed with
-    // iVerifyResult, but queue handling is still continued.
-    // iVerifyResult is better completion code for request than aError.
-    CompleteCurrentAndContinue(iVerifyResult);
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdVerifierPlugin::HandleNextRequest
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdVerifierPlugin::HandleNextRequest()
-    {
-    TRAPD( err, HandleNextRequestL() );
-    if (err)
-        {
-        // In case of leave current request is completed with
-        // error code, but queue handling is still continued.
-
-        // If we couldn't start handling the request it is
-        // better not to confuse user with an error note.
-
-        CompleteCurrentAndContinue(iVerifyResult);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdVerifierPlugin::HandleNextRequestL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdVerifierPlugin::HandleNextRequestL()
-    {
-
-    // It is better to free previous query resources here, because
-    // now all callback methods have finished (active object allowed
-    // run to completion)
-    this->FreeQueryResources();
-
-    // Read the next request:
-    RArray<TPosQNRequestId> requests;
-    CleanupClosePushL(requests);
-    GetRequestsL(requests);
-
-    if (requests.Count() == 0)
-        { // No more requests to handle
-        CleanupStack::PopAndDestroy(); // requests
-        // This is a very important step, it allows new requests
-        // to flow in ( see HandleNewRequestL() ):
-        delete iRequestActiveObject;
-        iRequestActiveObject = NULL;
-        return;
-        }
-    iCurrentRequest = requests[0];
-    CleanupStack::PopAndDestroy(); // requests
-    SetCurrentRequestL(iCurrentRequest);
-
-    // Check whether the request is coming from Uikon Server. If not reject this request.
-    if (!CheckClientSecureId(KUikonSrvSecureId))
-        {
-        CompleteCurrentAndContinue(KErrPermissionDenied);
-        return;
-        }
-   
-    // Check the request type
-    iCurrentRequestType = RequestTypeL(iCurrentRequest);
-
-    if ((CheckRequestTypeL() == CPosRequestor::ERequestPeriodic)
-            && (iCurrentRequestType == ENotification))
-        iRtorProcessor->SetRequestType(KPeriodicRequest);
-    else
-        iRtorProcessor->SetRequestType(KNonPeriodicRequest);
-
-    iRtorProcessor->ReadRequestorsL(*this);
-
-    if (iCurrentRequestType == EQuery)
-        {
-        HandleNextVerificationL();
-        }
-    else if (iCurrentRequestType == ENotification)
-        {
-        HandleNextNotificationL();
-        }
-    else
-        {
-        User::Leave(KErrNotSupported);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdVerifierPlugin::HandleNextVerificationL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdVerifierPlugin::HandleNextVerificationL()
-    {
-    __ASSERT_DEBUG( iCurrentRequest != KPosNullQNRequestId,
-            HandleAssertErrorL() );
-    __ASSERT_DEBUG( !iVerifierQuery, HandleAssertErrorL() );
-    TInt suplRequest;
-    if (CheckRequestTypeL() == CPosRequestor::ERequestPeriodic)
-        suplRequest = 1;
-    else
-        suplRequest = 0;
-
-    TPosRequestSource source(RequestSource());
-    if (source == EPosRequestSourceNotAvailable)
-        {
-        CompleteCurrentAndContinue(KErrNone);
-        }
-    else
-        {
-        if(suplRequest)
-        {	
-        iPeriodicProcessor->SetRequestorIdL( CurrentRequest() );     
-        iPeriodicProcessor->SetRequestTypeL(iCurrentRequestType);
-        
-        CPosRequestor* req = NULL;
-        if( RequestorCountL() )
-        {
-          req = RequestorLC( 0 );
-          CleanupStack::Pop();
-          }
-        iPeriodicProcessor->SetRequestorL( req );
-
-      }
-      
-      iVerifierQuery = CLpdVerifierQueryLauncher::NewL(*this);
-      TPosRequestDecision decision(QueryTimeoutStrategy());
-      // Note that item is left in cleanupstack until StartQuery():
-      if (suplRequest)
-          iVerifierQuery->PrepareSuplVerificationResourcesL();
-      else
-          iVerifierQuery->PrepareVerificationResourcesL(source, decision);
-
-       // Ownership of text is immediatelly transferred:
-       CLpdBaseModel* requestors = iRtorProcessor->RtorNamesForVerifNotifL(
-                iVerifierQuery->ListBoxL());
-       iVerifierQuery->SetQueryTextArray(requestors);
-
-        // Start the Verification query
-        StartQueryDialogL(iVerifierQuery, EVerificationRequest, decision);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdVerifierPlugin::HandleNextNotificationL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdVerifierPlugin::HandleNextNotificationL()
-    {
-    __ASSERT_DEBUG( iCurrentRequest != KPosNullQNRequestId,
-            HandleAssertErrorL() );
-    
-    if (CheckRequestTypeL() == CPosRequestor::ERequestPeriodic)
-        HandleNextPeriodicNotificationL();
-    else
-        HandleNextNonPeriodicNotificationL();
-
-    }
-// -----------------------------------------------------------------------------
-// CLpdVerifierPlugin::HandleNextNonPeriodicNotificationL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdVerifierPlugin::HandleNextNonPeriodicNotificationL()
-    {
-    __ASSERT_DEBUG( iCurrentRequest != KPosNullQNRequestId,
-            HandleAssertErrorL() );
-    __ASSERT_DEBUG( !iNotifier, HandleAssertErrorL() );
-
-    if (RequestSource() != EPosRequestSourceNetwork)
-        { // Notifications are supported only for network requests
-        User::Leave(KErrNotSupported);
-        }
-
-    TPosNotificationReason reason = NotificationReason();
-    switch (reason)
-        {
-        // Decision without user's consent:
-        case EPosDecisionByRequestSource:
-            // Policy conflict, network timeout occurred before user's
-            // response was received
-            {
-          
-            TPosRequestDecision decision = LocationRequestDecision();
-            if(!iNotifier)
-            iNotifier = CLpdNotifierQueryLauncher::NewL(*this);
-            iNotifier->PrepareNotificationResourcesL(reason, decision);
-            CLpdBaseModel* requestors =
-                    iRtorProcessor->RtorNamesForVerifNotifL(
-                            iNotifier->ListBoxL());
-
-            iNotifier->SetQueryTextArray(requestors);
-
-            // Start the notification query
-            StartQueryDialogL(iNotifier, ENotification, decision);
-            break;
-            }
-        case EPosVerificationTimeout:
-            {
-            TPosRequestDecision decision = LocationRequestDecision();
-            if(!iNotifier)
-            iNotifier = CLpdNotifierQueryLauncher::NewL(*this);
-            iNotifier->PrepareNotificationResourcesL(reason, decision);
-            CLpdBaseModel* requestors =
-                    iRtorProcessor->RtorNamesForVerifNotifL(
-                            iNotifier->ListBoxL());
-            iNotifier->SetQueryTextArray(requestors);
-
-            // Start the notification query
-            StartQueryDialogL(iNotifier, ENotificationTimeout, decision);
-
-            break;
-            }
-        case EPosNotificationReasonNotAvailable: // fall through
-        default: // Future extensions -> EPosNotificationReasonNotAvailable
-            {
-            User::Leave(KErrNotSupported);
-            break;
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdVerifierPlugin::HandleNextPeriodicNotificationL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdVerifierPlugin::HandleNextPeriodicNotificationL()
-    {
-    __ASSERT_DEBUG( iCurrentRequest != KPosNullQNRequestId,
-            HandleAssertErrorL() );
-
-    if (RequestSource() != EPosRequestSourceNetwork)
-        { // Notifications are supported only for network requests
-        User::Leave(KErrNotSupported);
-        }
-
-    TPosNotificationReason reason = NotificationReason();
-
-    switch (reason)
-        {
-        // Decision without user's consent:
-        case EPosDecisionByRequestSource:
-            // Policy conflict, network timeout occurred before user's
-            // response was received
-            {
-            iPeriodicProcessor->SetRequestorIdL( CurrentRequest() );     
-            iPeriodicProcessor->SetRequestTypeL(iCurrentRequestType);
-            CPosRequestor* req = NULL;
-            if( RequestorCountL() )
-            {
-            req = RequestorLC( 0 );
-            CleanupStack::Pop();
-            }
-            iPeriodicProcessor->SetRequestorL( req );
-        
-            TPosRequestDecision decision = LocationRequestDecision();
-            
-            if(!iNotifier)
-            iNotifier = CLpdNotifierQueryLauncher::NewL(*this);
-
-            TInt64 sessionId = -1;
-            sessionId = iRtorProcessor->GetSessionId();
-            iPeriodicProcessor->SetSessionIdL(sessionId);
-
-            HBufC* requestorName = NULL;
-            if (iRtorProcessor->Requestors().Count() == 0)
-                {
-                requestorName = StringLoader::LoadL(R_LPD_UNKNOWN_REQUESTER);
-                }
-            else
-                {
-                const CPosRequestor& requestor =
-                        *(iRtorProcessor->Requestors())[1];
-                iUtils = CLocRequestorUtilsResolver::NewL();
-                requestorName = iUtils->RequestorNameL(requestor);
-                if ((requestorName->Des()).CompareC(_L("Unknown")) == 0)
-                    {
-                    requestorName = NULL;
-                    requestorName = StringLoader::LoadL(
-                            R_LPD_UNKNOWN_REQUESTER);
-                    }
-                delete iUtils;
-                iUtils = NULL;
-                }
-            iPeriodicProcessor->SetRequestorNameL(requestorName);
-
-            delete requestorName;
-            iNotifier->PrepareSuplNotificationResourcesL(reason);
-
-            HBufC* notifyMessage = HBufC::NewLC(KNotifyMessageLength);
-            TRAPD( err, iPeriodicProcessor->NotificationMessageTextL(notifyMessage));
-  
-            if (err == KErrNotFound)
-                {
-                    CleanupStack::PopAndDestroy(); // notifyMessage
-                    CompleteCurrentAndContinue(err);
-                }
-            else
-                {
-                iNotifier->SetMessageQueryTextL(notifyMessage->Des(),
-                        iPeriodicProcessor->LinkCallBack());
-
-                CleanupStack::PopAndDestroy(); // notifyMessage
-                // Start the notification query
-                StartQueryDialogL(iNotifier, ESuplPeriodicNotification,
-                        decision);
-                }
-            break;
-            }
-        case EPosVerificationTimeout:
-            {
-            break;
-            }
-        case EPosNotificationReasonNotAvailable: // fall through
-        default: // Future extensions -> EPosNotificationReasonNotAvailable
-            {
-            User::Leave(KErrNotSupported);
-            break;
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdVerifierPlugin::NotifyCancellationL
-// Helper method
-// -----------------------------------------------------------------------------
-//
-void CLpdVerifierPlugin::NotifyCancellationL(TPosRequestSource aSource,
-        TPosVerifyCancelReason aReason, TPosRequestDecision aDecision)
-    {
-    __ASSERT_DEBUG( iCurrentRequestType == EQuery, HandleAssertErrorL() );
-
-    if (aSource == EPosRequestSourceNetwork)
-        { // Notifications supported only for network-originated requests
-
-        switch (aReason)
-            {
-            case EPosCancelReasonTimeout:
-                {
-                __ASSERT_DEBUG( !iNotifier, HandleAssertErrorL() );
-				if(aDecision != EPosDecisionNotAvailable)
-					{
-	                iNotifier = CLpdNotifierQueryLauncher::NewL( *this );
-	                iNotifier->PrepareCancelNotifResourcesL( aDecision );
-	                CLpdBaseModel* requestors =
-	                                iRtorProcessor->RtorNamesForVerifNotifL(
-	                                                    iNotifier->ListBoxL() );
-	                iNotifier->SetQueryTextArray( requestors );
-
-                    // Start the notification query
-                    StartQueryDialogL( iNotifier,
-                                       ECancelNotification,
-                                       aDecision );
-                
-	                return;
-					}
-				break;
-                }
-            case EPosCancelReasonNotAvailable: // fall through
-            default: // future extensions -> EPosCancelReasonNotAvailable
-                {
-                break;
-                }
-            }
-        }
-
-    // If notification dialog was not launched, handle next request:
-    iRequestActiveObject->ScheduleRequest();
-
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdVerifierPlugin::CompleteCurrentAndContinue
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdVerifierPlugin::CompleteCurrentAndContinue(TInt aResultCode)
-    {
-    if (iCurrentRequest != KPosNullQNRequestId)
-        {
-        CompleteRequest(iCurrentRequest, aResultCode);
-        }
-    iCurrentRequest = KPosNullQNRequestId;
-
-    __ASSERT_DEBUG( iRequestActiveObject, HandleDebugAssertError() );
-    iRequestActiveObject->ScheduleRequest(); // handle next req.
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdVerifierPlugin::FreeQueryResources
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdVerifierPlugin::FreeQueryResources()
-    {
-    if(iPeriodicProcessor)
-    iPeriodicProcessor->ResetParameters();
-    iCurrentRequest = KPosNullQNRequestId;
-    delete iVerifierQuery;
-    iVerifierQuery = NULL;
-    iVerifyResult = KErrGeneral;
-    iCancelInfo.iCancelled = EFalse;
-    delete iNotifier;
-    iNotifier = NULL;
-    if (iRtorProcessor)
-        { // if already construction fails iRtorProcessor may
-        // be NULL, otherwise it points to an instance.
-        iRtorProcessor->ResetAndDestroyRequestors();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdVerifierPlugin::HandleAssertErrorL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdVerifierPlugin::HandleAssertErrorL() const
-    {
-#ifdef _DEBUG        
-    User::Panic(KPanicText, KLpdErrGeneral);
-#else
-    User::Leave( KErrCorrupt );
-#endif
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdVerifierPlugin::HandleDebugAssertError
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdVerifierPlugin::HandleDebugAssertError() const
-    {
-#ifdef _DEBUG
-    User::Panic(KPanicText, KLpdErrGeneral);
-#endif
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdVerifierPlugin::NotifyTimeoutL
-// Helper method
-// -----------------------------------------------------------------------------
-//
-void CLpdVerifierPlugin::NotifyCancellationL(
-    TPosRequestSource aSource,
-    TPosVerifyCancelReason aReason,
-    TPosRequestDecision aDecision,
-    const RPosRequestorStack& aRequestors )
-    {
-    if ( aSource == EPosRequestSourceNetwork )
-        { // Notifications supported only for network-originated requests
-
-        switch ( aReason )
-            {
-            case EPosCancelReasonTimeout:
-                {
-                __ASSERT_DEBUG( !iNotifier, HandleAssertErrorL() );
-				if(aDecision != EPosDecisionNotAvailable)
-					{
-	                iNotifier = CLpdNotifierQueryLauncher::NewL( *this );
-	                iNotifier->PrepareCancelNotifResourcesL( aDecision );
-	                iRtorProcessor->ReadRequestorsL(aRequestors);
-	                CLpdBaseModel* requestors =
-	                                iRtorProcessor->RtorNamesForVerifNotifL(
-	                                                    iNotifier->ListBoxL() );
-	                iNotifier->SetQueryTextArray( requestors );
-                    
-                    // Start the notification query
-                    StartQueryDialogL( iNotifier,
-                                       ECancelNotification,
-                                       aDecision );
-                
-	                return;
-					}
-				break;
-                }
-            case EPosCancelReasonNotAvailable: // fall through
-            default: // future extensions -> EPosCancelReasonNotAvailable
-                {
-                break;
-                }
-            }
-        }
-
-    // If notification dialog was not launched, handle next request:
-    iRequestActiveObject->ScheduleRequest();
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdVerifierPlugin::StartQueryDialogL
-// Starts the Query dialog
-// @param aQueryDialog Query dialog that has to be started
-// @param aDialogType  Dialog type
-// @param aDecision    Decision Type
-// -----------------------------------------------------------------------------
-void CLpdVerifierPlugin::StartQueryDialogL(
-        CLpdQueryLauncherBase* aQueryDialog, TDialogType aDialogType,
-        TPosRequestDecision aDecision)
-    {
-    // Set the Command ID
-    TInt coverUiCmd = CoverUICommandL(aDialogType, aDecision);
-
-    aQueryDialog->SetCoverUICommand(coverUiCmd);
-    // Set the Requestor buffer                               
-    CBufFlat* reqBuffer = PackRequestorBufferL();
-    CleanupStack::PushL(reqBuffer);
-
-    TPtr8 reqBufferPtr(reqBuffer->Ptr(0));
-    aQueryDialog->SetRequestorBuffer(reqBufferPtr);
-
-    if (aDialogType == ESuplPeriodicNotification)
-        aQueryDialog->StartSuplPeriodicQueryL();
-    else
-        aQueryDialog->StartQueryL();
-    
-    CleanupStack::PopAndDestroy(reqBuffer);
-
-
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdVerifierPlugin::PackRequestorBufferL
-// Packs the Requestor buffer to send across to Cover UI. The 
-// ownership of the buffer is transferred back to the callee
-// @return CBufFlat*    Flat buffer containing the list of requestors    
-// -----------------------------------------------------------------------------
-//
-CBufFlat* CLpdVerifierPlugin::PackRequestorBufferL()
-    {
-    // Construct the conversion buffers and the package buffer
-    CBufFlat* requestorBuffer = CBufFlat::NewL(KReqBufferIncrSize);
-    CleanupStack::PushL(requestorBuffer);
-
-    // Opening a Write stream to assist in packing data onto CBufFlat
-    RBufWriteStream writeStream;
-    writeStream.Open(*requestorBuffer);
-    CleanupClosePushL(writeStream);
-
-    // Obtain the list of requestors from which the individual requestor
-    // Ids can be obtained
-    const RPointerArray<CPosRequestor>& requestors =
-            iRtorProcessor->Requestors();
-
-    // The buffer is packed according to the below mentioned
-    // format.
-    // 
-    // | Count | Length(1) | String(1) | ..... | Length( Count ) | String( Count ) |
-    // 
-    // where,
-    // Count   - ( 4 bytes ) - The number of requestor strings. 
-    // Length(n) - ( 4 bytes ) - Length of the nth requestor string.
-    // String(n) - ( Length(n) * 2 bytes ) - String for the nth requestor.
-    // 
-    // Each entry is packed one after another without any delimters between them
-    //
-
-    // Packing the count
-    writeStream.WriteInt32L(requestors.Count());
-
-    for (TInt i = 0; i < requestors.Count(); i++)
-        {
-        const CPosRequestor& req = *(requestors[i]);
-
-        // Obtain the Requestor Id string
-        TPtrC reqStr = req.RequestorIdString();
-
-        // We need a 16 bit buffer for converting. Since the requestor strings that
-        // need to be packed have to always be of the UCS-2 ( UNICODE ) format.
-        // The buffer would be allocated just before copying the requestor content
-        HBufC16* conversionBuf = NULL;
-        TPtr16 conBufPtr(0, 0);
-
-        // If the string is a phone number then it needs to be grouped and the
-        // converted to a UNICODE string. If not, then simpy convert it to
-        // a UNICODE string
-        if (CPosRequestor::EIdFormatPhoneNumber == req.RequestorIdFormat())
-            {
-            // Creating the Phone number formatter for grouping
-            CLocPhoneNumberFormat* formatter = CLocPhoneNumberFormat::NewL();
-            CleanupStack::PushL(formatter);
-
-            HBufC* groupedName = NULL;
-            TRAPD( error, groupedName = formatter->PhoneNumberGroupL( reqStr ));
-            if (error || !groupedName)
-                {
-                // If there was a Leave in the grouping function or the 
-                // grouping failed then pack the original name
-
-                // Allocate the conversion buffer and copy the Requestor string
-                conversionBuf = HBufC16::NewL(reqStr.Length());
-                conBufPtr.Set(conversionBuf->Des());
-
-                // Copy the original string to the conversion buffer
-                conBufPtr.Copy(reqStr);
-                }
-            else
-                {
-                // Take ownership of the grouped phone number buffer and 
-                // copy it to the conversion buffer
-                CleanupStack::PushL(groupedName);
-
-                TPtr groupedNamePtr = groupedName->Des();
-
-                // Allocate the conversion buffer and copy the Requestor string
-                conversionBuf = HBufC16::NewL(groupedNamePtr.Length());
-                conBufPtr.Set(conversionBuf->Des());
-
-                // Copy the grouped string to the conversion buffer
-                conBufPtr.Copy(groupedNamePtr);
-
-                CleanupStack::PopAndDestroy(groupedName);
-                }
-
-            CleanupStack::PopAndDestroy(formatter);
-            }
-        else
-            {
-            // Copy the Requestor ID string
-
-            // Allocate the conversion buffer and copy the Requestor string
-            conversionBuf = HBufC16::NewL(reqStr.Length());
-            conBufPtr.Set(conversionBuf->Des());
-
-            // Copy the original string to the conversion buffer
-            conBufPtr.Copy(reqStr);
-            }
-
-        // Push the Conversion buffer to the CleanupStack
-        CleanupStack::PushL(conversionBuf);
-
-        // The conversion buffer now contains the string in the UNICODE 
-        // format. First pack the length of the string and then the 
-        // actual string itself
-        writeStream.WriteInt32L(conBufPtr.Length());
-
-        TUint8* buffer = (TUint8*) (conBufPtr.Ptr());
-        writeStream.WriteL(buffer, conBufPtr.Size());
-
-        // Destroying the Conversion buffer before it goes out of scope
-        CleanupStack::PopAndDestroy(conversionBuf);
-        }
-
-    // flush stream data to our buffer
-    writeStream.CommitL();
-    CleanupStack::PopAndDestroy(&writeStream);
-
-    // The ownership of the requestor buffer should be transferred to the callee
-    CleanupStack::Pop(requestorBuffer);
-
-    return requestorBuffer;
-    }
-
-// -----------------------------------------------------------------------------
-// Determines the Cover UI command corresponding to a paricular
-// request
-// @param  TRequestType         Request Type
-// @param  TPosRequestDecision  Decision Type
-// @return TInt                 Cover UI Command ID.
-// -----------------------------------------------------------------------------
-//
-TInt CLpdVerifierPlugin::CoverUICommandL(TDialogType aRequestType,
-        TPosRequestDecision aDecision)
-    {
-    TInt result = 0;
-
-    if (EVerificationRequest == aRequestType)
-        {
-        switch (aDecision)
-            {
-            case EPosDecisionAccepted:
-                {
-                result = ECmdDefaultAccept;
-                break;
-                }
-            case EPosDecisionRejected:
-                {
-                result = ECmdDefaultReject;
-                break;
-                }
-            default:
-                {
-                result = ECmdDefaultNone;
-                break;
-                }
-            }
-        }
-    else if ((ENotification == aRequestType) || (ESuplPeriodicNotification
-            == aRequestType))
-        {
-        result = ECmdNotifyAccept;
-        }
-    else if (ENotificationTimeout == aRequestType)
-        {
-        switch (aDecision)
-            {
-            case EPosDecisionAccepted:
-                {
-                result = ECmdNotifyRejectFailure;
-                break;
-                }
-            case EPosDecisionRejected:
-                {
-                result = ECmdNotifyAcceptFailure;
-                break;
-                }
-            default:
-                {
-                User::Leave(KErrNotFound);
-                break;
-                }
-            }
-        }
-    else if (ECancelNotification == aRequestType)
-        {
-        switch (aDecision)
-            {
-            case EPosDecisionAccepted:
-                {
-                result = ECmdNotifyAcceptTimeout;
-                break;
-                }
-            case EPosDecisionRejected:
-                {
-                result = ECmdNotifyRejectTimeout;
-                break;
-                }
-            default:
-                {
-                User::Leave(KErrNotFound);
-                break;
-                }
-            }
-        }
-    else
-        {
-        User::Leave(KErrNotFound);
-        }
-    return result;
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdVerifierPlugin::CheckRequestTypeL
-// Checks the type of request and helps to know
-// if a given request is of SUPL periodic type
-// @param aCurrentRequest request id
-// @return TRequestType type of request enum
-// -----------------------------------------------------------------------------
-CPosRequestor::TRequestType CLpdVerifierPlugin::CheckRequestTypeL()
-    {
-    CPosRequestor::TRequestType reqType = CPosRequestor::ENetworkTypeUnknown;
-    if (RequestorCountL() > 0)
-        {
-        CPosRequestor* requestor = RequestorLC(0);
-        reqType = requestor->RequestType();
-        CleanupStack::PopAndDestroy(requestor);
-        }
-    return reqType;
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdVerifierPlugin::GetSessionIdL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdVerifierPlugin::GetSessionIdL( TInt64& aSessionId )
-    {
-    CPosRequestor* curRequestor = RequestorLC( 0 );
-    TInt length = curRequestor->RequestorIdString().Length();
-    TPtrC reqString(curRequestor->RequestorIdString().Mid( length - 3 ));
-    TLex temp(reqString);
-    temp.Val(aSessionId);
-    CleanupStack::PopAndDestroy( curRequestor );
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdVerifierPlugin::UpdateCurrentNotifierL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdVerifierPlugin::UpdateCurrentNotifierL()
-    {
-    // Confirm if the current request type is Notification before
-    // processing/updating.
-
-    __ASSERT_DEBUG( iCurrentRequestType == ENotification,
-            HandleDebugAssertError() );
-    __ASSERT_DEBUG( iPeriodicProcessor, HandleDebugAssertError() );
-    if(iNotifier)
-    iNotifier->CancelQuietly();
-    HandleNextPeriodicNotificationL();
-    
-    }
-
-//  End of File
--- a/locationsystemui/locationsysui/locverifier/src/lpdverifierquerylauncher.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,158 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class which handles the dialog and expiration timer.
-*
-*/
-
-
-// INCLUDE FILES
-#include "lpdverifierquerylauncher.h"
-#include "lpdglobalplugindialog.h"
-#include "lpdresulthandler.h"
-#include "locverifierdlg.hrh"
-#include <locverifierdlg.rsg>
-#include <avkon.hrh>
-
-// CONSTANTS
-
-const TInt KNonPeriodicRequest = 0;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CLpdVerifierQueryLauncher::CLpdVerifierQueryLauncher
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CLpdVerifierQueryLauncher::CLpdVerifierQueryLauncher( 
-    MLpdResultHandler& aHandler ) 
-    : CLpdQueryLauncherBase( aHandler )
-    {
-    // Intentionally empty
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdVerifierQueryLauncher::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CLpdVerifierQueryLauncher::ConstructL()
-    {
-    BaseConstructL();
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdVerifierQueryLauncher::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CLpdVerifierQueryLauncher* CLpdVerifierQueryLauncher::NewL( 
-    MLpdResultHandler& aHandler )
-    {
-    CLpdVerifierQueryLauncher* self =
-        new( ELeave ) CLpdVerifierQueryLauncher( aHandler );
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop(self);
-
-    return self;
-    }
-
-// Destructor
-CLpdVerifierQueryLauncher::~CLpdVerifierQueryLauncher()
-    {
-    // Intentionally empty
-    }
-
-
-// -----------------------------------------------------------------------------
-// CLpdVerifierQueryLauncher::PrepareVerificationResourcesL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdVerifierQueryLauncher::PrepareVerificationResourcesL(
-    TPosRequestSource aSource,
-    TPosRequestDecision aDefault)
-    {
-    if ( aSource == EPosRequestSourceNetwork && 
-         aDefault == EPosDecisionAccepted )
-        {
-        PrepareQueryResourcesL( R_LPD_GLOBAL_VERIFICATION_DEFAULT_A, KNonPeriodicRequest );
-        }
-    else if ( aSource == EPosRequestSourceNetwork && 
-              aDefault == EPosDecisionRejected )
-        {
-        PrepareQueryResourcesL( R_LPD_GLOBAL_VERIFICATION_DEFAULT_R, KNonPeriodicRequest );
-        }
-    else
-        { // Terminal request, EPosDecisionNotAvailable or future extensions
-        PrepareQueryResourcesL( R_LPD_GLOBAL_VERIFICATION_DEFAULT_N, KNonPeriodicRequest );
-        }
-
-    iQueryDlg->SetTone( EAvkonSIDLocationRequest );
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdVerifierQueryLauncher::PrepareSuplVerificationResourcesL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdVerifierQueryLauncher::PrepareSuplVerificationResourcesL()
-{
-  PrepareQueryResourcesL( R_LPD_SUPL_PERIODIC_VERIFICATION_DEFAULT, KNonPeriodicRequest );
-  iQueryDlg->SetTone( EAvkonSIDLocationRequest );
-}
-
-// -----------------------------------------------------------------------------
-// CLpdVerifierQueryLauncher::ExtendedHandleDlgDismissedL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdVerifierQueryLauncher::ExtendedHandleDlgDismissedL()
-    {
-    TInt retValue = KErrNone;
-    switch ( iResult )
-        {
-        case EAknSoftkeyOk:
-            {
-            retValue = KErrNone;
-            break;
-            }
-        case EAknSoftkeyCancel:
-            {
-            retValue = KErrAccessDenied;
-            break;
-            }
-        case EEikCmdExit:
-            {
-            retValue = iExitReason;
-            break;
-            }
-        case ELpdCmdEmergency:
-            { // emergency call support
-            retValue = KErrAbort;
-            break;
-            }
-        default:
-            {
-            retValue = KErrGeneral;
-            break;
-            }
-        }
-    iHandler.HandleVerificationResultL( retValue );
-    }
-
-//  End of File
--- a/locationsystemui/locationsysui/locverifier/src/lpdverifiersettinglauncher.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +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:  Responsible for launching SUPL session details
-*
-*/
-
-
-// INCLUDE FILES
-#include "lpdverifiersettinglauncher.h"
-
-// CONSTANTS
-const TInt KSettingsParamBufferLength = 64;
-
-// ================= MEMBER FUNCTIONS =======================
-// ----------------------------------------------------------------------------
-// CLmkLocSettingsLauncher::NewL
-// Two-phased constructor.
-// ----------------------------------------------------------------------------
-//
-CLpdVerifierSettingsLauncher* CLpdVerifierSettingsLauncher:: NewL()
-	{
-	CLpdVerifierSettingsLauncher* self = new (ELeave) CLpdVerifierSettingsLauncher();
-	CleanupStack::PushL(self);
-	self->ConstructL();
-	CleanupStack::Pop(); // self
-	return self;
-	}
-
-// ----------------------------------------------------------------------------
-// CLmkLocSettingsLauncher::CLmkLocSettingsLauncher
-// ----------------------------------------------------------------------------
-//
-CLpdVerifierSettingsLauncher::CLpdVerifierSettingsLauncher()
-	: CActive( EPriorityStandard )
-	{
-	}
-
-// ----------------------------------------------------------------------------
-// CLpdVerifierSettingsLauncher::~CLpdVerifierSettingsLauncher
-// ----------------------------------------------------------------------------
-//
-CLpdVerifierSettingsLauncher::~CLpdVerifierSettingsLauncher()
-	{
-	Cancel();
-    delete iClientLibrary;
-    delete iLaunchParams;
-	}
-
-// ----------------------------------------------------------------------------
-// CLpdVerifierSettingsLauncher::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CLpdVerifierSettingsLauncher::ConstructL()
-	{
-	iClientLibrary  = CLocSettingsUiClient::NewL();    
-	iLaunchParams = HBufC::NewL( KSettingsParamBufferLength );
-  CActiveScheduler::Add( this );
-	}
-
-// ----------------------------------------------------------------------------
-// CLpdVerifierSettingsLauncher::LaunchL
-// ----------------------------------------------------------------------------
-//
-void CLpdVerifierSettingsLauncher::LaunchL( TInt aSessionId )
-	{
-	Cancel();
-	iLaunchParams->Des().Zero();
-	iLaunchParams->Des().AppendNum( aSessionId );
-	iClientLibrary->LaunchSettingsUiAsEmbeddedAppL( TUid::Uid( KLocSUPLSettingsUID ), *iLaunchParams, iStatus );
-	SetActive();
-	}
-
-// ----------------------------------------------------------------------------
-// CLpdVerifierSettingsLauncher::RunL
-// ----------------------------------------------------------------------------
-//
-void CLpdVerifierSettingsLauncher::RunL()
-    {
-    switch( iStatus.Int())
-        {
-        case KErrNone:
-            {
-            break;
-            }
-        case KErrCancel:
-            {
-            break;
-            }
-        default:
-            {
-            break;    
-            }
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CLpdVerifierSettingsLauncher::DoCancel
-// ----------------------------------------------------------------------------
-//
-void CLpdVerifierSettingsLauncher::DoCancel()
-    {
-    iClientLibrary->CancelLaunchedSettingsUi();
-    }
-
-// End of File
-
--- a/locationsystemui/locationsysui/locverifier/src/lpdverifnotiflbmodel.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,159 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Listbox model representing all requestors.
-*
-*/
-
-
-// INCLUDE FILES
-#include "lpdverifnotiflbmodel.h"
-#include "locrequestorutilsresolver.h"
-#include "lpdrequestorprocessor.h"
-#include "locphonenumberformat.h"
-#include "loctextutils.h"
-#include "locconsts.h"
-#include <locverifierdlg.rsg>
-#include <eikenv.h>
-
-// Unnamed namespace for local definitions
-
-const TInt KPostfixLBNameCellNbr = 0; // postfix icon
-// This fixed the space for icons in case icons are needed in verifier notifiers
-// Change this value to 2 if an icon is to be displayed.
-const TInt KLBIconMargin = 0; // space for zero icon
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CLpdVerifNotifLBModel::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CLpdVerifNotifLBModel* CLpdVerifNotifLBModel::NewL(
-    const CLpdRequestorProcessor& aRtorProcessor,
-    CEikFormattedCellListBox& aListBox )
-    {
-    CLpdVerifNotifLBModel* self =
-        new( ELeave ) CLpdVerifNotifLBModel( aRtorProcessor, aListBox );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop(self);
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdVerifNotifLBModel::CLpdVerifNotifLBModel
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CLpdVerifNotifLBModel::CLpdVerifNotifLBModel(
-    const CLpdRequestorProcessor& aRtorProcessor,
-    CEikFormattedCellListBox& aListBox )
-    : CLpdBaseModel( aRtorProcessor ),
-      iListBox( aListBox )
-    {
-    // Intentionally empty
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdVerifNotifLBModel::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CLpdVerifNotifLBModel::ConstructL()
-    {
-    BaseConstructL();
-    iFormatter = CLocPhoneNumberFormat::NewL();
-    }
-
-// Destructor
-CLpdVerifNotifLBModel::~CLpdVerifNotifLBModel()
-    {
-    delete iFormatter;
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdVerifNotifLBModel::MdcaCount
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CLpdVerifNotifLBModel::MdcaCount() const
-    {
-    TInt count = 0;
-    count = iRtorProcessor.Requestors().Count();
-
-    if ( count == 0 )
-        { // if there are no requestors we must add unknown requestor
-        count = 1;
-        }
-    return count;
-    }
-
-// -----------------------------------------------------------------------------
-// CLpdVerifNotifLBModel::MdcaPointL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLpdVerifNotifLBModel::MdcaPointL( TInt aIndex ) const
-    {
-        
-        
-    if( aIndex >= MdcaCount() )
-        {
-        User::Leave( KErrArgument );
-        }
-
-    TPtr bufferDes = iBuffer->Des();
-    HBufC* name = NULL;
-
-    if ( iRtorProcessor.Requestors().Count() == 0 ) // unknown requestor
-        {
-        name = CEikonEnv::Static()->AllocReadResourceLC(
-                                    R_LPD_UNKNOWN_REQUESTER );
-        // No icons, no clipping, everything surely ok:
-        bufferDes.Zero();
-        bufferDes.Append( *name );
-        }
-
-    else
-        {
-        const CPosRequestor& requestor =
-            *( iRtorProcessor.Requestors() )[aIndex];
-        name = iUtils->RequestorNameL( requestor );
-        CleanupStack::PushL( name );
-        TPtr nameDes = name->Des();
-        if ( iUtils->PhoneNumberAsName( requestor ) )
-            {
-            iFormatter->PhoneNumberFormatL( nameDes, bufferDes,
-                                           AknTextUtils::EClipFromBeginning,
-                                           &iListBox, aIndex, 
-                                           KPostfixLBNameCellNbr,
-                                           KLBIconMargin );
-            }
-        else
-            {
-            LocTextUtils::ClipToFit( nameDes, AknTextUtils::EClipFromEnd,
-                    &iListBox, aIndex, KPostfixLBNameCellNbr, KLBIconMargin );
-            bufferDes.Zero();
-            bufferDes.Append( *name ); // this is safe after clipping
-            }
-        }
-
-    CleanupStack::PopAndDestroy(name);
-    }
-
-// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/inc/posgeoaddress.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,86 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Data structure containing positioning and address info
+*
+*/
+
+#ifndef POSGEOADDRESS_H
+#define POSGEOADDRESS_H
+
+#include <QObject.h>
+
+#include "posindicatorglobal.h"
+
+class PosGeoAddressPrivate;
+
+/**
+* PosGeoAddress represents a Location information.
+*/
+class POSINDICATOR_EXPORT PosGeoAddress : public QObject
+    {
+      Q_OBJECT
+      
+      Q_PROPERTY(double latitude READ latitude WRITE setLatitude)
+      Q_PROPERTY(double longitude READ longitude WRITE setLongitude)
+      Q_PROPERTY(float hAccuracy READ hAccuracy WRITE sethAccuracy)
+      Q_PROPERTY(float vAccuracy READ vAccuracy WRITE setvAccuracy)
+      Q_PROPERTY(float altitude READ altitude WRITE setAltitude)
+      
+      Q_PROPERTY(QString country READ country WRITE setCountry)
+      Q_PROPERTY(QString state READ state WRITE setState)
+      Q_PROPERTY(QString city READ district WRITE setDistrict)
+      Q_PROPERTY(QString city READ city WRITE setCity)
+      Q_PROPERTY(QString zip READ zip WRITE setZip)
+      Q_PROPERTY(QString street READ street WRITE setStreet)
+      Q_PROPERTY(QString number READ number WRITE setNumber)
+    
+public:
+	   PosGeoAddress();
+    ~PosGeoAddress();
+    void setLatitude( double value );
+    double latitude() const;
+    void setLongitude(double value);
+    double longitude() const;
+    void sethAccuracy(float value);
+    float hAccuracy() const;
+    void setvAccuracy(float value);
+    float vAccuracy() const;
+    void setAltitude(float value);
+    float altitude() const ;
+    void setCountry(QString value);
+    QString country() const;
+    void setState(QString value);
+    QString state() const;
+    void setDistrict(QString value);
+    QString district() const ;
+    void setCity(QString value);
+    QString city() const;
+    void setZip(QString value);
+    QString zip() const;
+    void setStreet(QString value);
+    QString street() const;
+    void setNumber(QString value);
+    QString number() const;
+
+private:    
+    Q_DECLARE_PRIVATE_D(d_ptr, PosGeoAddress)   
+    
+private:
+    /**
+     * Pointer to private implementation.
+     * Owns
+     */
+    PosGeoAddressPrivate* d_ptr;	
+    };
+#endif /* POSGEOADDRESS_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/inc/posindicatorglobal.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,34 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Positioning Indicators export/import declarations
+*
+*/
+
+
+#ifndef POSINDICATOR_GLOBAL_H
+#define POSINDICATOR_GLOBAL_H
+
+#ifdef BUILD_POSINDICATOR
+    #define POSINDICATOR_EXPORT Q_DECL_EXPORT
+#else
+    #define POSINDICATOR_EXPORT Q_DECL_IMPORT
+#endif
+
+
+#endif  // POSINDICATOR_GLOBAL_H
+
+// End of file
+    
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/inc/posindicatorinfo.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,82 @@
+/*
+* 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: Positioning Indicators Info - QT Wrapper
+*
+*/
+
+#ifndef POSITIONINDICATORINFO_H
+#define POSITIONINDICATORINFO_H
+
+#include <QObject.h>
+
+#include "posgeoaddress.h"
+#include "posindicatorglobal.h"
+
+class PosIndicatorInfoPrivate;
+
+class POSINDICATOR_EXPORT PosIndicatorInfo :  public QObject
+    {    
+    Q_OBJECT
+    
+public :
+    /*
+     * Constructor
+     */
+     PosIndicatorInfo();
+    
+    /*
+     * Destructor
+     */
+     ~PosIndicatorInfo();
+    
+    /**
+     * Requests for positioning information from Positioning Indicator 
+     * Helper Server.PosInfoUpdated() will be emitted when
+     * position information is available.
+     *                   
+     */
+     void requestPosInfo(); 
+     
+     /**
+      * Cancels position info request.
+      */
+     void cancelPosInfo();
+	 
+private:
+    signals:
+    /*
+     * Signal emitted when new position updates available
+     * When coordinates are available, this object is 
+     * populated with only Position attribute. 
+     * When reverse geo-code address has been resolved, 
+     * the only address fields will be populated.
+     * 
+     * @param[in] posGeoAddress - Object containing position information
+     * @param[in] error - Any error code while retrieving position information
+     *                  - KTimeOut - if time out during retrieval of position information
+     */
+    void posInfoUpdated(PosGeoAddress& posGeoAddress, int error);    
+
+private:    
+    Q_DECLARE_PRIVATE_D(d_ptr, PosIndicatorInfo)   
+    
+private:
+    /**
+     * Pointer to private implementation.
+     * Owns
+     */
+    PosIndicatorInfoPrivate* d_ptr;
+    };
+
+#endif /* POSITIONINDICATORINFO_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/inc/posindicatorlogger.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,38 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implementation of logger.
+*
+*/
+
+
+#ifndef POSINDICATORLOGGER_H
+#define POSINDICATORLOGGER_H
+
+#include <flogger.h>
+#include <f32file.h>
+
+#define FUNC( x ) {  TBuf8<150> buffer; \
+                     const unsigned char* string = (unsigned char*)(x); \
+                     buffer.Zero(); \
+                     buffer.Copy(string); \
+                     RFileLogger::Write( _L("lbs"),_L("PosIndicatorLog.log"),EFileLoggingModeAppend,buffer); }
+
+#define LOG( x, y ) {  TBuf8<150> buffer; \
+                     const unsigned char* string = (unsigned char*)(x); \
+                     buffer.Zero(); \
+                     buffer.Copy(string); \
+                     buffer.AppendNum(y); \
+                     RFileLogger::Write( _L("lbs"),_L("PosIndicatorLog.log"),EFileLoggingModeAppend,buffer); }
+                
+#endif /* POSINDICATORLOGGER_H*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/inc/posindicatorserverconst.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,74 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Declaration of server core class.
+*
+*/
+
+#ifndef POSINDICATORSERVERCONSTS_H
+#define POSINDICATORSERVERCONSTS_H
+
+/**
+ * Server core name.
+ */
+_LIT( KPosIndHelperSrvName,"posindicatorhelperserver" );
+
+
+/**
+ * Current server version number
+ *
+ */
+const TInt8 KMajorVersionNumber = 1;
+const TInt8 KMinorVersionNumber = 0;
+const TInt16 KBuildVersionNumber = 0;
+
+
+/**
+ * Service Ids for client service requests. These
+ * service numbers should be used by the client library 
+ * in all IPC messages to indicate the type of service
+ * required
+ */
+enum TServiceIds
+    {
+    /* Subsession Open */
+    ESubSessionOpen,
+    /* Subsession Close */
+    ESubSessionClose,
+    /* Get current position */
+    EGetCurrentPosition,
+    /* Get current address info size */
+    EGetCurrentAddressInfoSize,
+    /* Get current address info */
+    EGetCurrentAddressInfo,
+    /* Cancel outstanding request*/
+    ECancelCurrentOperation
+   };
+
+
+// This position in the IPC message should hold the sub-session handle
+const TInt KParamSubsessionHandle = 3;  
+
+// This position in the IPC message should hold last known position.
+const TInt KParamLastKnownPosition = 0;  
+
+// This position in the IPC message should hold current position.
+const TInt KParamCurrentPosition = 0;  
+
+// This position in the IPC message should hold current address size.
+const TInt KParamCurrentAddressSize = 0;  
+
+// This position in the IPC message should hold current address size.
+const TInt KParamCurrentAddress = 0;  
+
+#endif // POSINDICATORSERVERCONSTS_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/inc/posreversegeocodeinterface.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,91 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Declaration of Geo coding interface class.
+*
+*/
+
+#ifndef POSREVERSEGEOCODEINTERFACE_H
+#define POSREVERSEGEOCODEINTERFACE_H
+
+#include <e32base.h> 
+#include <EPos_CPosLandmark.h>
+
+/*
+ * Observer class which exposes callbacks to notify the completion of reversegeocoding event.
+ *
+ **/
+class MPosReverseGeocodeObserver
+    {
+public:
+    /*
+     * Callback function which notifys the completion of reverse geocode event. This signals the completion
+     * of the asynchronous function CReverseGeoCode::GetAddressByCoordinate.
+     * 
+     *  @param aErrorcode Error status KErrNone in case of success or other system specific errorcodes
+     *                    in case of failures.
+     */
+
+    virtual void ReverseGeocodeComplete( TInt aErrorcode ) =0;
+    };
+
+/*
+ * CReverseGeocode
+ * Concrete class which exposes interfaces to convert the geo-coordinates information
+ * in to the address information.
+ *
+ **/
+class CPosReverseGeocodeInterface : public CBase
+    {
+public:
+    /*
+     * Factory function to create the instance of CReverseGeocode Class. This also registers
+     * observer for getting the reverse geocode completion notifications.
+     * 
+     * @param[in] aObserver refrence to the instance MReverseGeocodeObserver's 
+     *                  implementation class.
+     * @return pointer to the instance of CReverseGeocode.                 
+     */
+    IMPORT_C static CPosReverseGeocodeInterface* NewL( MPosReverseGeocodeObserver& aObserver );
+    
+    /**
+     * Unloads the plugin.
+     */
+    IMPORT_C virtual ~CPosReverseGeocodeInterface();
+    
+    /*
+	* 
+	* Gets the address information for the given geo coordinates. The geo-coordinates should be 
+	* encapsulated inside a landmark object which is passed as argument to this method. This is an
+	* asyncronous function whose completion will be notified  by
+	* MReverseGeocodeObserver::ReverseGeocodeComplete call back.Address information corresponding to
+	* coordinates can be retrieved from the same landmarks object.  
+	* 
+    * @param aLandmark[in/out] Landmarks object in which address information is expected.
+    * 
+    */
+    IMPORT_C virtual void GetAddressByCoordinateL( CPosLandmark& aLandmark ) = 0;
+    
+    
+    /**
+     * Cancels the current operation.
+     */
+    IMPORT_C virtual void Cancel() = 0;
+private:
+    /**
+     * Instance identifier key
+     */
+    TUid iDtor_ID_Key;
+    };
+
+#endif //POSREVERSEGEOCODEINTERFACE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/inc/posreversegeocodeinterface.hrh	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Resource headers for project
+*
+*/
+
+#ifndef POSREVERSEGEOCODEINTERFACE_HRH
+#define POSREVERSEGEOCODEINTERFACE_HRH
+
+// ECom interface ID for reverse geo-code interface
+#define KPosReverseGeoCodeInterfaceId 0x2002E692
+
+
+#endif // POSREVERSEGEOCODEINTERFACE_HRH
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posindhelperclientlib/bwins/posindicatorhelperu.def	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,57 @@
+EXPORTS
+	??0PosIndicatorInfo@@QAE@XZ @ 1 NONAME ; PosIndicatorInfo::PosIndicatorInfo(void)
+	?requestPosInfo@PosIndicatorInfo@@QAEXXZ @ 2 NONAME ; void PosIndicatorInfo::requestPosInfo(void)
+	?zip@PosGeoAddress@@QBE?AVQString@@XZ @ 3 NONAME ; class QString PosGeoAddress::zip(void) const
+	?city@PosGeoAddress@@QBE?AVQString@@XZ @ 4 NONAME ; class QString PosGeoAddress::city(void) const
+	??_EPosGeoAddress@@UAE@I@Z @ 5 NONAME ; PosGeoAddress::~PosGeoAddress(unsigned int)
+	?trUtf8@PosIndicatorInfo@@SA?AVQString@@PBD0@Z @ 6 NONAME ; class QString PosIndicatorInfo::trUtf8(char const *, char const *)
+	?district@PosGeoAddress@@QBE?AVQString@@XZ @ 7 NONAME ; class QString PosGeoAddress::district(void) const
+	?country@PosGeoAddress@@QBE?AVQString@@XZ @ 8 NONAME ; class QString PosGeoAddress::country(void) const
+	?setState@PosGeoAddress@@QAEXVQString@@@Z @ 9 NONAME ; void PosGeoAddress::setState(class QString)
+	?d_func@PosGeoAddress@@ABEPBVPosGeoAddressPrivate@@XZ @ 10 NONAME ; class PosGeoAddressPrivate const * PosGeoAddress::d_func(void) const
+	?staticMetaObject@PosIndicatorInfo@@2UQMetaObject@@B @ 11 NONAME ; struct QMetaObject const PosIndicatorInfo::staticMetaObject
+	?staticMetaObject@PosGeoAddress@@2UQMetaObject@@B @ 12 NONAME ; struct QMetaObject const PosGeoAddress::staticMetaObject
+	?trUtf8@PosGeoAddress@@SA?AVQString@@PBD0@Z @ 13 NONAME ; class QString PosGeoAddress::trUtf8(char const *, char const *)
+	?metaObject@PosGeoAddress@@UBEPBUQMetaObject@@XZ @ 14 NONAME ; struct QMetaObject const * PosGeoAddress::metaObject(void) const
+	?altitude@PosGeoAddress@@QBEMXZ @ 15 NONAME ; float PosGeoAddress::altitude(void) const
+	?tr@PosIndicatorInfo@@SA?AVQString@@PBD0H@Z @ 16 NONAME ; class QString PosIndicatorInfo::tr(char const *, char const *, int)
+	?setCountry@PosGeoAddress@@QAEXVQString@@@Z @ 17 NONAME ; void PosGeoAddress::setCountry(class QString)
+	?qt_metacast@PosGeoAddress@@UAEPAXPBD@Z @ 18 NONAME ; void * PosGeoAddress::qt_metacast(char const *)
+	??_EPosIndicatorInfo@@UAE@I@Z @ 19 NONAME ; PosIndicatorInfo::~PosIndicatorInfo(unsigned int)
+	??0PosGeoAddress@@QAE@XZ @ 20 NONAME ; PosGeoAddress::PosGeoAddress(void)
+	?qt_metacall@PosGeoAddress@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 21 NONAME ; int PosGeoAddress::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?longitude@PosGeoAddress@@QBENXZ @ 22 NONAME ; double PosGeoAddress::longitude(void) const
+	?d_func@PosIndicatorInfo@@ABEPBVPosIndicatorInfoPrivate@@XZ @ 23 NONAME ; class PosIndicatorInfoPrivate const * PosIndicatorInfo::d_func(void) const
+	?qt_metacall@PosIndicatorInfo@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 24 NONAME ; int PosIndicatorInfo::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?latitude@PosGeoAddress@@QBENXZ @ 25 NONAME ; double PosGeoAddress::latitude(void) const
+	?d_func@PosIndicatorInfo@@AAEPAVPosIndicatorInfoPrivate@@XZ @ 26 NONAME ; class PosIndicatorInfoPrivate * PosIndicatorInfo::d_func(void)
+	?trUtf8@PosGeoAddress@@SA?AVQString@@PBD0H@Z @ 27 NONAME ; class QString PosGeoAddress::trUtf8(char const *, char const *, int)
+	?tr@PosIndicatorInfo@@SA?AVQString@@PBD0@Z @ 28 NONAME ; class QString PosIndicatorInfo::tr(char const *, char const *)
+	?getStaticMetaObject@PosGeoAddress@@SAABUQMetaObject@@XZ @ 29 NONAME ; struct QMetaObject const & PosGeoAddress::getStaticMetaObject(void)
+	?getStaticMetaObject@PosIndicatorInfo@@SAABUQMetaObject@@XZ @ 30 NONAME ; struct QMetaObject const & PosIndicatorInfo::getStaticMetaObject(void)
+	?metaObject@PosIndicatorInfo@@UBEPBUQMetaObject@@XZ @ 31 NONAME ; struct QMetaObject const * PosIndicatorInfo::metaObject(void) const
+	?setLatitude@PosGeoAddress@@QAEXN@Z @ 32 NONAME ; void PosGeoAddress::setLatitude(double)
+	?number@PosGeoAddress@@QBE?AVQString@@XZ @ 33 NONAME ; class QString PosGeoAddress::number(void) const
+	?state@PosGeoAddress@@QBE?AVQString@@XZ @ 34 NONAME ; class QString PosGeoAddress::state(void) const
+	??1PosGeoAddress@@UAE@XZ @ 35 NONAME ; PosGeoAddress::~PosGeoAddress(void)
+	?setStreet@PosGeoAddress@@QAEXVQString@@@Z @ 36 NONAME ; void PosGeoAddress::setStreet(class QString)
+	?setCity@PosGeoAddress@@QAEXVQString@@@Z @ 37 NONAME ; void PosGeoAddress::setCity(class QString)
+	?street@PosGeoAddress@@QBE?AVQString@@XZ @ 38 NONAME ; class QString PosGeoAddress::street(void) const
+	?setDistrict@PosGeoAddress@@QAEXVQString@@@Z @ 39 NONAME ; void PosGeoAddress::setDistrict(class QString)
+	?tr@PosGeoAddress@@SA?AVQString@@PBD0H@Z @ 40 NONAME ; class QString PosGeoAddress::tr(char const *, char const *, int)
+	?vAccuracy@PosGeoAddress@@QBEMXZ @ 41 NONAME ; float PosGeoAddress::vAccuracy(void) const
+	?setNumber@PosGeoAddress@@QAEXVQString@@@Z @ 42 NONAME ; void PosGeoAddress::setNumber(class QString)
+	??1PosIndicatorInfo@@UAE@XZ @ 43 NONAME ; PosIndicatorInfo::~PosIndicatorInfo(void)
+	?posInfoUpdated@PosIndicatorInfo@@IAEXAAVPosGeoAddress@@H@Z @ 44 NONAME ; void PosIndicatorInfo::posInfoUpdated(class PosGeoAddress &, int)
+	?setAltitude@PosGeoAddress@@QAEXM@Z @ 45 NONAME ; void PosGeoAddress::setAltitude(float)
+	?d_func@PosGeoAddress@@AAEPAVPosGeoAddressPrivate@@XZ @ 46 NONAME ; class PosGeoAddressPrivate * PosGeoAddress::d_func(void)
+	?hAccuracy@PosGeoAddress@@QBEMXZ @ 47 NONAME ; float PosGeoAddress::hAccuracy(void) const
+	?setLongitude@PosGeoAddress@@QAEXN@Z @ 48 NONAME ; void PosGeoAddress::setLongitude(double)
+	?qt_metacast@PosIndicatorInfo@@UAEPAXPBD@Z @ 49 NONAME ; void * PosIndicatorInfo::qt_metacast(char const *)
+	?cancelPosInfo@PosIndicatorInfo@@QAEXXZ @ 50 NONAME ; void PosIndicatorInfo::cancelPosInfo(void)
+	?trUtf8@PosIndicatorInfo@@SA?AVQString@@PBD0H@Z @ 51 NONAME ; class QString PosIndicatorInfo::trUtf8(char const *, char const *, int)
+	?setZip@PosGeoAddress@@QAEXVQString@@@Z @ 52 NONAME ; void PosGeoAddress::setZip(class QString)
+	?tr@PosGeoAddress@@SA?AVQString@@PBD0@Z @ 53 NONAME ; class QString PosGeoAddress::tr(char const *, char const *)
+	?setvAccuracy@PosGeoAddress@@QAEXM@Z @ 54 NONAME ; void PosGeoAddress::setvAccuracy(float)
+	?sethAccuracy@PosGeoAddress@@QAEXM@Z @ 55 NONAME ; void PosGeoAddress::sethAccuracy(float)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posindhelperclientlib/eabi/posindicatorhelperu.def	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,53 @@
+EXPORTS
+	_ZN13PosGeoAddress10setCountryE7QString @ 1 NONAME
+	_ZN13PosGeoAddress11qt_metacallEN11QMetaObject4CallEiPPv @ 2 NONAME
+	_ZN13PosGeoAddress11qt_metacastEPKc @ 3 NONAME
+	_ZN13PosGeoAddress11setAltitudeEf @ 4 NONAME
+	_ZN13PosGeoAddress11setDistrictE7QString @ 5 NONAME
+	_ZN13PosGeoAddress11setLatitudeEd @ 6 NONAME
+	_ZN13PosGeoAddress12setLongitudeEd @ 7 NONAME
+	_ZN13PosGeoAddress12sethAccuracyEf @ 8 NONAME
+	_ZN13PosGeoAddress12setvAccuracyEf @ 9 NONAME
+	_ZN13PosGeoAddress16staticMetaObjectE @ 10 NONAME DATA 16
+	_ZN13PosGeoAddress19getStaticMetaObjectEv @ 11 NONAME
+	_ZN13PosGeoAddress6setZipE7QString @ 12 NONAME
+	_ZN13PosGeoAddress7setCityE7QString @ 13 NONAME
+	_ZN13PosGeoAddress8setStateE7QString @ 14 NONAME
+	_ZN13PosGeoAddress9setNumberE7QString @ 15 NONAME
+	_ZN13PosGeoAddress9setStreetE7QString @ 16 NONAME
+	_ZN13PosGeoAddressC1Ev @ 17 NONAME
+	_ZN13PosGeoAddressC2Ev @ 18 NONAME
+	_ZN13PosGeoAddressD0Ev @ 19 NONAME
+	_ZN13PosGeoAddressD1Ev @ 20 NONAME
+	_ZN13PosGeoAddressD2Ev @ 21 NONAME
+	_ZN16PosIndicatorInfo11qt_metacallEN11QMetaObject4CallEiPPv @ 22 NONAME
+	_ZN16PosIndicatorInfo11qt_metacastEPKc @ 23 NONAME
+	_ZN16PosIndicatorInfo14posInfoUpdatedER13PosGeoAddressi @ 24 NONAME
+	_ZN16PosIndicatorInfo14requestPosInfoEv @ 25 NONAME
+	_ZN16PosIndicatorInfo16staticMetaObjectE @ 26 NONAME DATA 16
+	_ZN16PosIndicatorInfo19getStaticMetaObjectEv @ 27 NONAME
+	_ZN16PosIndicatorInfoC1Ev @ 28 NONAME
+	_ZN16PosIndicatorInfoC2Ev @ 29 NONAME
+	_ZN16PosIndicatorInfoD0Ev @ 30 NONAME
+	_ZN16PosIndicatorInfoD1Ev @ 31 NONAME
+	_ZN16PosIndicatorInfoD2Ev @ 32 NONAME
+	_ZNK13PosGeoAddress10metaObjectEv @ 33 NONAME
+	_ZNK13PosGeoAddress3zipEv @ 34 NONAME
+	_ZNK13PosGeoAddress4cityEv @ 35 NONAME
+	_ZNK13PosGeoAddress5stateEv @ 36 NONAME
+	_ZNK13PosGeoAddress6numberEv @ 37 NONAME
+	_ZNK13PosGeoAddress6streetEv @ 38 NONAME
+	_ZNK13PosGeoAddress7countryEv @ 39 NONAME
+	_ZNK13PosGeoAddress8altitudeEv @ 40 NONAME
+	_ZNK13PosGeoAddress8districtEv @ 41 NONAME
+	_ZNK13PosGeoAddress8latitudeEv @ 42 NONAME
+	_ZNK13PosGeoAddress9hAccuracyEv @ 43 NONAME
+	_ZNK13PosGeoAddress9longitudeEv @ 44 NONAME
+	_ZNK13PosGeoAddress9vAccuracyEv @ 45 NONAME
+	_ZNK16PosIndicatorInfo10metaObjectEv @ 46 NONAME
+	_ZTI13PosGeoAddress @ 47 NONAME
+	_ZTI16PosIndicatorInfo @ 48 NONAME
+	_ZTV13PosGeoAddress @ 49 NONAME
+	_ZTV16PosIndicatorInfo @ 50 NONAME
+	_ZN16PosIndicatorInfo13cancelPosInfoEv @ 51 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posindhelperclientlib/inc/posgeoaddress.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,86 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Data structure containing positioning and address info
+*
+*/
+
+#ifndef POSGEOADDRESS_H
+#define POSGEOADDRESS_H
+
+#include <QObject.h>
+
+#include "posindicatorglobal.h"
+
+class PosGeoAddressPrivate;
+
+/**
+* PosGeoAddress represents a Location information.
+*/
+class POSINDICATOR_EXPORT PosGeoAddress : public QObject
+    {
+      Q_OBJECT
+      
+      Q_PROPERTY(double latitude READ latitude WRITE setLatitude)
+      Q_PROPERTY(double longitude READ longitude WRITE setLongitude)
+      Q_PROPERTY(float hAccuracy READ hAccuracy WRITE sethAccuracy)
+      Q_PROPERTY(float vAccuracy READ vAccuracy WRITE setvAccuracy)
+      Q_PROPERTY(float altitude READ altitude WRITE setAltitude)
+      
+      Q_PROPERTY(QString country READ country WRITE setCountry)
+      Q_PROPERTY(QString state READ state WRITE setState)
+      Q_PROPERTY(QString city READ district WRITE setDistrict)
+      Q_PROPERTY(QString city READ city WRITE setCity)
+      Q_PROPERTY(QString zip READ zip WRITE setZip)
+      Q_PROPERTY(QString street READ street WRITE setStreet)
+      Q_PROPERTY(QString number READ number WRITE setNumber)
+    
+public:
+    PosGeoAddress();
+    ~PosGeoAddress();
+    void setLatitude( double value );
+    double latitude() const;
+    void setLongitude(double value);
+    double longitude() const;
+    void sethAccuracy(float value);
+    float hAccuracy() const;
+    void setvAccuracy(float value);
+    float vAccuracy() const;
+    void setAltitude(float value);
+    float altitude() const ;
+    void setCountry(QString value);
+    QString country() const;
+    void setState(QString value);
+    QString state() const;
+    void setDistrict(QString value);
+    QString district() const ;
+    void setCity(QString value);
+    QString city() const;
+    void setZip(QString value);
+    QString zip() const;
+    void setStreet(QString value);
+    QString street() const;
+    void setNumber(QString value);
+    QString number() const;
+
+private:    
+    Q_DECLARE_PRIVATE_D(d_ptr, PosGeoAddress)   
+    
+private:
+    /**
+     * Pointer to private implementation.
+     * Owns
+     */
+    PosGeoAddressPrivate* d_ptr;	
+    };
+#endif /* POSGEOADDRESS_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posindhelperclientlib/inc/posgeoaddress_p.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,52 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Private implementation of PosGeoAddress class
+*
+*/
+
+#ifndef POSGEOADDRESSPRIVATE_H
+#define POSGEOADDRESSPRIVATE_H
+
+#include "posgeoaddress.h"
+
+#include <QObject.h>
+
+/**
+* Private implementation of PosGeoAddress
+*/
+class PosGeoAddressPrivate
+    {
+
+public :
+
+    double  mLatitude;
+    double  mLongitude;
+    float   mHAccuracy;
+    float   mVAccuracy;
+    float   mAltitude;
+    
+    QString  mCountry;
+    QString  mState;
+    QString  mDistrict;
+    QString  mCity;
+    QString  mZip;
+    QString  mStreet;
+    QString  mNumber;    
+
+    PosGeoAddress* q_ptr;
+
+    Q_DECLARE_PUBLIC(PosGeoAddress);
+
+    };
+#endif /* POSGEOADDRESSPRIVATE_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posindhelperclientlib/inc/posindhelperclientrequester.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,84 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Positioning Indicator Helper Client Requestor
+*
+*/
+
+
+
+#ifndef POS_IND_HELPER_CLIENTREQUESTER_H
+#define POS_IND_HELPER_CLIENTREQUESTER_H
+
+#include "posindicatorserverconst.h"
+
+// Forward declaration
+class MServerRequestCompletetionObserver;
+/**
+ * Client requestor class.
+ *
+ * This is a helper class used by RPosIndicatorHelper class to serve the asynchronous operations
+ * requested to the server.
+ */
+class CPosIndHelperClientRequester : public CActive
+    {
+public: 
+
+    /**
+     * Construct a CPosIndHelperClientRequester object. 
+     */
+   	static CPosIndHelperClientRequester* NewL( MServerRequestCompletetionObserver& aServerRequestCompletetionObserver );
+   
+    /**
+     * Destructor. 
+     */
+    ~CPosIndHelperClientRequester();
+
+    /**
+     * Starts the asynchronous operation by setting the iStatus to active
+     * 
+     * @param[in] aServiceId - Service id of the operation requested
+     */
+    void Start(TServiceIds aServiceId);
+ 
+private://Derived from CActive
+    void RunL();
+    TInt RunError( TInt aError );
+    void DoCancel();
+
+private:
+    /**
+     * C++ default constructor
+     */
+    CPosIndHelperClientRequester( MServerRequestCompletetionObserver& aServerRequestCompletetionObserver );
+    
+    /**
+     *Second phase constructor
+     */   
+    void ConstructL();
+
+private:// data
+    
+    /*
+     * Handler to the observer which notifies operation completion to the client 
+     */    
+    MServerRequestCompletetionObserver& iServerRequestCompletetionObserver;  
+    
+    /*
+     * Service id of the operation requested. 
+     */
+    TServiceIds iServiceId;
+    };
+
+#endif // POS_IND_HELPER_CLIENTREQUESTER_H
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posindhelperclientlib/inc/posindicatorglobal.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,34 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Positioning Indicators export/import declarations
+*
+*/
+
+
+#ifndef POSINDICATOR_GLOBAL_H
+#define POSINDICATOR_GLOBAL_H
+
+#ifdef BUILD_POSINDICATOR
+    #define POSINDICATOR_EXPORT Q_DECL_EXPORT
+#else
+    #define POSINDICATOR_EXPORT Q_DECL_IMPORT
+#endif
+
+
+#endif  // POSINDICATOR_GLOBAL_H
+
+// End of file
+    
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posindhelperclientlib/inc/posindicatorhelper.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,225 @@
+/*
+* 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:  Positioning Indicator Helper Client Interface
+*
+*/
+
+
+
+#ifndef POS_INDICATOR_HELPER_H
+#define POS_INDICATOR_HELPER_H
+
+#include <e32std.h>
+#include <lbssatellite.h>
+#include <locationvariationdomaincrkeys.h>
+#include <centralrepository.h>
+
+#include "posindicatorserverconst.h"
+#include "posindicatorlogger.h"
+
+class CPosIndHelperClientRequester;
+class RPosIndicatorHelperServer;
+class MPosIndInfoChangeObserver;
+class CPosLandmark;
+
+/**
+ * A handle to Positioning Indicator Helper Server subsession. This class provides 
+ * methods to use Positioning Indicator Helper service from Positioning Indicator Helper
+ * Server.
+ * 
+ * RPosIndicatorHelper is used to create subsession with Positioning Indicator Helper Server. 
+ * This class provides mechanisms for retrieving location 
+ * [coordinate or reverse geo-code info], actively requesting location.
+ * Before using any of these services, a connection to Positioning Indicator Helper
+ * Server must first be made.
+ *
+ * A client can have multiple sessions connected to the Positioning Indicator Helper 
+ * Server. There can be multiple subsessions opened from one session. 
+ *
+ *
+ * @see RPosIndicatorHelperServer
+ * 
+ * @lib posindicatorhelper.lib 	
+ *
+ */
+
+class MServerRequestCompletetionObserver
+    {
+public:
+    /*
+     * It will be used to notify RPosIndicatorHelper client that server has completed
+     * the requested operation.
+     * 
+     * @param[out] aServiceId - Id of the operation which is requested
+     * @param[out] aErrCode - Error code if operation is failed
+     *                        KErrNone if operation is successful.
+     */
+    virtual void NotifyServerRequestCompletion(TServiceIds aServiceId, TInt aErrCode) = 0;    
+    };
+
+class RPosIndicatorHelper : public RSubSessionBase,
+                            public MServerRequestCompletetionObserver
+    {
+public:
+    
+    public:    	
+        /**
+        * default constructior.
+        */
+         RPosIndicatorHelper();
+        
+        /**
+        * destructior.
+        */
+         ~RPosIndicatorHelper();
+        
+       /**
+        * Opens a subsession with Positioning Indicator Helper Server.
+        *
+        * A subsession must be opened before any other service can be used.
+        * 
+        * @panic PosIndicatorHelper EPosIndicatorHelperServerBadHandle If a session to 
+        * Positioning Indicator Helper Server has not been connected.
+        *
+        * @param[in] aServer Reference to the Positioning Indicator Helper Server 
+        * session.
+        * @param[in] aPosIndInfoChangeObserver Reference to the Positioning
+        * Indicator Info Change observer. Any change in position information
+        * is notified by this observer.
+        *
+        * @return KErrNone if successful. Otherwise, Symbian standard 
+        * error code is returned, such as KErrNoMemory, KErrServerBusy, etc.
+        */
+         TInt Open( RPosIndicatorHelperServer& aServer, 
+                MPosIndInfoChangeObserver* aPosIndInfoChangeObserver );
+    
+       /**
+        * Closes the subsession with Positioning Indicator Helper Server.
+        *
+        * Close() must be called when RPosIndicatorHelper subsession is no longer required. 
+        * 
+        * Before a subsession is closed, the client application must ensure
+        * that all outstanding notification requests have been cancelled. In
+        * particular, the application must issue all the appropriate Cancel 
+        * requests and then wait for a confirmation that the notification has 
+        * been terminated. A failure to do so results in a panic.
+        * 
+        * @panic PosIndicatorHelper EPosIndicatorHelperRequestsNotCancelled If client application 
+        * has requests outstanding with Positioning Indicator Helper Server.
+        */
+         void Close();    
+  
+        /*
+         *  Requests current position information.
+         *  
+         *  It will first request for current location. if it is already available
+         *  it will request for reverse geo-code address.
+         *  
+         *  The result of the request is notified to the client through observer.
+         */
+         void RequestPosInfo();
+         
+         /**
+          * Cancels the current request
+          */
+         void CancelCurrentRequest();
+
+       /**
+        * Symbian 2nd phase construction.
+        */
+        void ConstructL();
+
+        /*
+         * from MServerRequestCompletetionObserver
+         */
+        void NotifyServerRequestCompletion(TServiceIds aServiceId, TInt aErrCode);   
+        
+ private:      
+         /*
+          * Requests size of landmark object containing current position with
+          * reverse geo-coded address.
+          * 
+          * It will request for the reverse geo-coded location giving the 
+          * position coordinates as input. 
+          * 
+          * The size of the landmark object returned from reverse geo-coded
+          * plugin is notified to the client through observer.
+          * 
+          */
+         void GetAddressInfoSize();
+
+         /*
+          * Requests landmark object containing current position with
+          * reverse geo-coded address.
+          * 
+          * It will request for the reverse geo-coded location
+          * 
+          * The landmark object returned from reverse geo-coded
+          * plugin is notified to the client through observer.
+          * 
+          */
+         void GetAddressL();     
+
+        /*
+         * Check Hide Coordinates feature flag.
+         * Uses KLocHideCoordinates CenRep key
+         */
+        void CheckHideCoordinateL();
+        
+    private:// data     
+        
+       /**
+        * Pointer to client requestor.  
+        * Own.
+        */
+        CPosIndHelperClientRequester* iClientRequester;     
+        
+        /**
+         * It is used to request position details from server
+         */
+        TPositionSatelliteInfo iPositionInfo;
+        
+        /**
+         * It is used to request size of the landmark object from server
+         */
+        TInt iSize;
+        
+        /**
+         * It is used to request the landmark object from the server
+         * Owns
+         */
+        HBufC8* iLmkBuf;
+        
+        /**
+         * It is used to sent the landmark object to the observer
+         * Owns
+         */
+        CPosLandmark * iLandmark;
+        
+        /**
+         * It is used to notify PosIndicatorInfoPrivate that new position information
+         * new position information is available.
+         * 
+         * Array of observers are not stored here as multiple client requests are actually
+         * handled by signal-slot mechanism in PosIndicatorInfoPrivate
+         * Does not own
+         */
+        MPosIndInfoChangeObserver* iPosIndInfoChangeObserver;
+        
+        /*
+         * Holds value of Hide Coordinates CenRep key
+         */
+        TInt iCoordinateSettingValue;
+    };
+#endif // POS_INDICATOR_HELPER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posindhelperclientlib/inc/posindicatorhelpererrors.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,56 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Position Indicator Helper Client panic category and panic code
+*
+*/
+
+
+#ifndef POS_IND_HELPER_ERRORS_H
+#define POS_IND_HELPER_ERRORS_H
+
+#include <e32def.h>
+#include <e32cmn.h>
+
+/**
+ *Position Indicator Helper Client  API panic categories
+ */
+_LIT( KPosIndHelperClientPanicCategory, "PosIndicator" );
+
+/**
+ * Position Indicator Helper Client API panic codes
+ */
+enum TPosIndicatorHelperClientPanic
+    {
+    /** 
+     * An attempt has been made to connect using an already opened handle. 
+     */
+    EPosIndicatorHelperServerHandleNotClosed = 1,
+    /** 
+     * An attempt to communicate using an unconnected handle.
+     */
+    EPosIndicatorHelperServerBadHandle = 2,
+    /** 
+     * A subsession was closed with requests still outstanding. 
+     */
+    EPosIndicatorHelperRequestsNotCancelled = 3,
+    /** 
+     * A client has called an asynchronous request while it is still outstanding.
+     */
+    EPosIndicatorHelperDuplicateRequest = 5,
+    /** 
+     * Wrong value is given as parameter.
+     */
+    EPosIndicatorHelperErrArgument = 6
+    };
+#endif //POS_IND_HELPER_ERRORS_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posindhelperclientlib/inc/posindicatorhelperserver.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,87 @@
+/*
+* 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:  Positioning Indicator Helper Client Library
+*
+*/
+
+
+
+#ifndef POS_IND_HELPER_SERVER_H
+#define POS_IND_HELPER_SERVER_H
+
+
+#include <e32base.h>
+
+#include "posindicatorlogger.h"
+
+/**
+ * A handle to Positioning Indicator Helper Server session. 
+ *
+ * This is generally the first interface class used by all client applications.
+ * It is used to make the primary connection to the Positioning Indicator Helper Server. 
+ * After the primary connection has been established, its handle is passed as a 
+ * parameter of the Open methods of @p RPosIndicatorHelper to create a subsession.
+ *
+ *  @lib posindicatorhelper.lib
+ *
+ */
+class RPosIndicatorHelperServer : public RSessionBase
+    {
+public:
+    /**
+     * Constructor for RPosIndicatorHelperServer
+     */
+     RPosIndicatorHelperServer();
+
+    /**
+     * Creates a session with the Positioning Indicator Helper Server. 
+     * This method must be called before any subsession can be opened. 
+     * @see RPosIndicatorHelper.
+     *
+     * @panic EPosIndicatorHelperServerHandleNotClosed Try to connect using an already opened handle. 
+     *
+     * @return KErrNone, if successful. KErrNotSupported if Positioning Indicator Helper
+     * Server is not present in the system. Otherwise one of the other standard
+     * Symbian error code (for example KErrNoMemory, KErrServerBusy, etc. ) 
+     * is returned.
+     */
+     TInt Connect();
+
+    /**
+     * Closes a session with the Positioning Indicator Helper Server.
+     * Before the connection to Positioning Indicator Helper Server is closed, the 
+     * client application must ensure that all subsessions is closed. 
+     */
+     void Close();
+
+    /**
+     * Obtains the client side version number of Positioning Indicator Helper Server.
+     *
+     * @return The client side version number.
+     */
+     TVersion Version() const;   
+
+#if defined(__WINSCW__)
+    TInt StartLbsRootProcess();
+#endif
+    
+private: // data
+    /**
+     * Unused variable for future expansion. 
+     */
+    TAny* iReserved;
+    };
+
+
+#endif //POS_IND_HELPER_SERVER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posindhelperclientlib/inc/posindicatorinfo.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,82 @@
+/*
+* 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: Positioning Indicators Info - QT Wrapper
+*
+*/
+
+#ifndef POSITIONINDICATORINFO_H
+#define POSITIONINDICATORINFO_H
+
+#include <QObject.h>
+
+#include "posgeoaddress.h"
+#include "posindicatorglobal.h"
+
+class PosIndicatorInfoPrivate;
+
+class POSINDICATOR_EXPORT PosIndicatorInfo :  public QObject
+    {    
+    Q_OBJECT
+    
+public :
+    /*
+     * Constructor
+     */
+     PosIndicatorInfo();
+    
+    /*
+     * Destructor
+     */
+     ~PosIndicatorInfo();
+    
+    /**
+     * Requests for positioning information from Positioning Indicator 
+     * Helper Server.PosInfoUpdated() will be emitted when
+     * position information is available.
+     *                   
+     */
+     void requestPosInfo(); 
+     
+     /**
+      * Cancels position info request.
+      */
+     void cancelPosInfo();
+	 
+private:
+    signals:
+    /*
+     * Signal emitted when new position updates available
+     * When coordinates are available, this object is 
+     * populated with only Position attribute. 
+     * When reverse geo-code address has been resolved, 
+     * the only address fields will be populated.
+     * 
+     * @param[in] posGeoAddress - Object containing position information
+     * @param[in] error - Any error code while retrieving position information
+     *                  - KTimeOut - if time out during retrieval of position information
+     */
+    void posInfoUpdated(PosGeoAddress& posGeoAddress, int error);    
+
+private:    
+    Q_DECLARE_PRIVATE_D(d_ptr, PosIndicatorInfo)   
+    
+private:
+    /**
+     * Pointer to private implementation.
+     * Owns
+     */
+    PosIndicatorInfoPrivate* d_ptr;
+    };
+
+#endif /* POSITIONINDICATORINFO_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posindhelperclientlib/inc/posindicatorinfo_p.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,88 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Positioning Indicators Info private implementation
+*
+*/
+
+#ifndef POSITIONINDICATORINFOPRIVATE_H
+#define POSITIONINDICATORINFOPRIVATE_H
+
+#include "posindicatorinfo.h"
+#include "posindinfochangeobserver.h"
+#include "posindicatorhelperserver.h"
+#include "posindicatorhelper.h"
+
+class PosGeoAddress;
+
+class PosIndicatorInfoPrivate : public MPosIndInfoChangeObserver
+    {
+public :
+    /**
+     *  Constructor
+     */
+    PosIndicatorInfoPrivate(PosIndicatorInfo *aPositionIndicator);
+    
+    /**
+     * Destructor 
+     */
+    ~PosIndicatorInfoPrivate();
+
+    /**
+     * Requests for positioning information from Positioning Indicator 
+     * Helper Server.NotifyPosInfoChange() will be called when
+     * position information is available.
+     *                   
+     */
+   void RequestPosInfo(); 
+   
+   /**
+    * Cancels positon info request.
+    */
+   void CancelPosInfo();
+
+   /**
+    *  Derived from MPosIndInfoChangeObserver
+    */
+    void NotifyPosInfoChange(CPosLandmark* aLandmark, TInt aErrCode);
+    
+private:
+    void AddToAddress(TPositionFieldId aFieldId, TPtrC aValue);
+    
+private:
+        
+    // Handle to current server session
+    RPosIndicatorHelperServer    mPosIndicatorHelperServer;
+
+    // Handle to current subsession
+    RPosIndicatorHelper         mPosIndicatorHelper;    
+
+    /**
+     * It contains the latest position information     
+     * Owns  
+     */
+    PosGeoAddress*             mPosGeoAddress;
+    
+    /*
+     * Handler to PosIndicatorInfo.
+     * It is required to emit PosInfoUpdated() signal
+     *     
+     * 
+     */
+    PosIndicatorInfo*          q_ptr;
+    
+    Q_DECLARE_PUBLIC(PosIndicatorInfo);
+    };
+
+
+#endif /* POSITIONINDICATORINFOPRIVATE_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posindhelperclientlib/inc/posindinfochangeobserver.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,41 @@
+/*
+* 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: Positioning Indicator Info Change Observer
+*
+*/
+
+#ifndef POSIND_INFOCHANGEOBSERVER_H
+#define POSIND_INFOCHANGEOBSERVER_H
+
+#include <EPos_CPosLandmark.h>
+
+class MPosIndInfoChangeObserver
+    {
+public:
+    /*
+     * It will be used to notify client that position information is changed
+     * and new information is available.
+     * 
+     * Landmark object contains coordinate information when location fix is available
+     * When reverse geo-code information is available, it contains address info.
+     * 
+     * @param[out] aLandmark - landmark object containing new position information
+     * Ownership is NOT transferred to the observer.
+     * @param[out] aErrCode - Error code if operation is failed
+     *                        KErrNone if operation is successful.
+     */
+    virtual void NotifyPosInfoChange(CPosLandmark* aLandmark, TInt aErrCode) = 0;    
+    };
+
+#endif /* POSIND_INFOCHANGEOBSERVER_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posindhelperclientlib/posindicatorhelperclientlib.pro	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,59 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: posindicator plugin project file
+#
+
+TEMPLATE = lib
+TARGET = posindicatorhelper
+DEPENDPATH += .
+INCLUDEPATH += ../inc
+INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+QT += core
+QT -= gui
+MOC_DIR =     moc
+OBJECTS_DIR = obj
+
+
+# Platforms
+SYMBIAN_PLATFORMS = WINSCW \
+    ARMV5
+      
+LIBS +=  -llbs \
+   		 -leposlandmarks \
+   		 -lflogger \
+   		 -lCentralRepository
+   		 
+HEADERS +=  inc/posindhelperclientrequester.h \    	   
+    	    inc/posindicatorhelper.h \ 
+    	    inc/posindicatorhelperserver.h \ 
+    	    inc/posindicatorhelpererrors.h \    	  
+    	    inc/posindicatorinfo_p.h \
+    	    inc/posindicatorglobal.h \
+    	    inc/posindicatorinfo.h \    	    
+    	    inc/posgeoaddress.h 
+    	    
+SOURCES +=  src/posindicatorhelper.cpp \
+    		src/posindicatorhelperserver.cpp \
+    		src/posindhelperclientrequester.cpp \
+    		src/posindicatorinfo_p.cpp \
+    		src/posindicatorinfo.cpp \
+    		src/posgeoaddress.cpp 
+    		
+symbian:
+ { 
+    TARGET.EPOCALLOWDLLDATA = 1  
+    DEFINES += BUILD_POSINDICATOR    
+    TARGET.UID3 = 0x2002E688
+    TARGET.CAPABILITY = CAP_GENERAL_DLL     
+ }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posindhelperclientlib/src/posgeoaddress.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,264 @@
+/*
+* 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:  Data structure containing positioning and address info
+*
+*/
+
+#include "posgeoaddress.h"
+#include "posgeoaddress_p.h"
+#include "posindicatorlogger.h"
+
+
+// ---------------------------------------------------------------------------
+// PosGeoAddress::PosGeoAddress()
+// ---------------------------------------------------------------------------
+PosGeoAddress::PosGeoAddress()
+    {
+    d_ptr = new PosGeoAddressPrivate;	
+    }	
+
+// ---------------------------------------------------------------------------
+// PosGeoAddress::~PosGeoAddress()
+// ---------------------------------------------------------------------------
+PosGeoAddress::~PosGeoAddress()
+    {
+    delete d_ptr;	
+    }
+// ---------------------------------------------------------------------------
+// PosGeoAddress::setLatitude()
+// ---------------------------------------------------------------------------
+void PosGeoAddress::setLatitude( double value )
+    {
+    FUNC("+ PosGeoAddress::setLatitude");
+    d_ptr->mLatitude = value;
+    FUNC("- PosGeoAddress::setLatitude");
+    }
+
+// ---------------------------------------------------------------------------
+// PosGeoAddress::setLatitude()
+// ---------------------------------------------------------------------------
+double PosGeoAddress::latitude() const 
+    {
+    FUNC("+ PosGeoAddress::latitude");
+    return d_ptr->mLatitude; 
+    }
+
+// ---------------------------------------------------------------------------
+// PosGeoAddress::setLatitude()
+// ---------------------------------------------------------------------------
+void PosGeoAddress::setLongitude(double value)
+    { 
+    FUNC("+ PosGeoAddress::setLongitude");
+    d_ptr->mLongitude = value; 
+    FUNC("- PosGeoAddress::setLongitude");
+    }
+
+// ---------------------------------------------------------------------------
+// PosGeoAddress::setLatitude()
+// ---------------------------------------------------------------------------
+double PosGeoAddress::longitude() const 
+    {
+    FUNC("+ PosGeoAddress::longitude");
+    return d_ptr->mLongitude; 
+    }
+
+// ---------------------------------------------------------------------------
+// PosGeoAddress::setLatitude()
+// ---------------------------------------------------------------------------
+void PosGeoAddress::sethAccuracy(float value)
+    {
+    FUNC("+ PosGeoAddress::sethAccuracy");
+    d_ptr->mHAccuracy = value; 
+    FUNC("- PosGeoAddress::sethAccuracy");
+    }
+
+// ---------------------------------------------------------------------------
+// PosGeoAddress::setLatitude()
+// ---------------------------------------------------------------------------
+float PosGeoAddress::hAccuracy() const 
+    {
+    FUNC("+ PosGeoAddress::hAccuracy");
+    return d_ptr->mHAccuracy; 
+    }
+
+// ---------------------------------------------------------------------------
+// PosGeoAddress::setLatitude()
+// ---------------------------------------------------------------------------
+void PosGeoAddress::setvAccuracy(float value)
+    {
+    FUNC("+ PosGeoAddress::setvAccuracy");
+    d_ptr->mVAccuracy = value;
+    FUNC("- PosGeoAddress::setvAccuracy");
+    }
+
+// ---------------------------------------------------------------------------
+// PosGeoAddress::setLatitude()
+// ---------------------------------------------------------------------------
+float PosGeoAddress::vAccuracy() const 
+    {
+    FUNC("+ PosGeoAddress::vAccuracy");
+    return d_ptr->mVAccuracy; 
+    }
+
+// ---------------------------------------------------------------------------
+// PosGeoAddress::setLatitude()
+// ---------------------------------------------------------------------------
+void PosGeoAddress::setAltitude(float value)
+    {
+    FUNC("+ PosGeoAddress::setAltitude");
+    d_ptr->mAltitude = value; 
+    FUNC("- PosGeoAddress::setAltitude");
+    }
+
+// ---------------------------------------------------------------------------
+// PosGeoAddress::setLatitude()
+// ---------------------------------------------------------------------------
+float PosGeoAddress::altitude() const 
+    {
+    FUNC("+ PosGeoAddress::altitude");
+    return d_ptr->mAltitude; 
+    }
+
+// ---------------------------------------------------------------------------
+// PosGeoAddress::setLatitude()
+// ---------------------------------------------------------------------------
+void PosGeoAddress::setCountry(QString value)
+    {
+    FUNC("+ PosGeoAddress::setCountry");
+    d_ptr->mCountry = value; 
+    FUNC("- PosGeoAddress::setCountry");
+    }
+
+// ---------------------------------------------------------------------------
+// PosGeoAddress::setLatitude()
+// ---------------------------------------------------------------------------
+QString PosGeoAddress::country() const 
+    {
+    FUNC("+ PosGeoAddress::country");
+    return d_ptr->mCountry; 
+    }
+
+// ---------------------------------------------------------------------------
+// PosGeoAddress::setLatitude()
+// ---------------------------------------------------------------------------
+void PosGeoAddress::setState(QString value)
+    {
+    FUNC("+ PosGeoAddress::setState");
+    d_ptr->mState = value; 
+    FUNC("- PosGeoAddress::setState");
+    }
+
+// ---------------------------------------------------------------------------
+// PosGeoAddress::setLatitude()
+// ---------------------------------------------------------------------------
+QString PosGeoAddress::state() const 
+    {
+    FUNC("+ PosGeoAddress::state");
+    return d_ptr->mState; 
+    }
+
+// ---------------------------------------------------------------------------
+// PosGeoAddress::setLatitude()
+// ---------------------------------------------------------------------------
+void PosGeoAddress::setDistrict(QString value)
+    {
+    FUNC("+ PosGeoAddress::setDistrict");
+    d_ptr->mDistrict = value; 
+    FUNC("- PosGeoAddress::setDistrict");
+    }
+
+// ---------------------------------------------------------------------------
+// PosGeoAddress::setLatitude()
+// ---------------------------------------------------------------------------
+QString PosGeoAddress::district() const 
+    {
+    FUNC("+ PosGeoAddress::district");
+    return d_ptr->mDistrict; 
+    }
+
+// ---------------------------------------------------------------------------
+// PosGeoAddress::setLatitude()
+// ---------------------------------------------------------------------------
+void PosGeoAddress::setCity(QString value)
+    {
+    FUNC("+ PosGeoAddress::setCity");
+    d_ptr->mCity = value; 
+    FUNC("- PosGeoAddress::setCity");
+    }
+
+// ---------------------------------------------------------------------------
+// PosGeoAddress::setLatitude()
+// ---------------------------------------------------------------------------
+QString PosGeoAddress::city() const 
+    {
+    FUNC("+ PosGeoAddress::city");
+    return d_ptr->mCity; 
+    }
+
+// ---------------------------------------------------------------------------
+// PosGeoAddress::setLatitude()
+// ---------------------------------------------------------------------------
+void PosGeoAddress::setZip(QString value)
+    {
+    FUNC("+ PosGeoAddress::setZip");
+    d_ptr->mZip = value; 
+    FUNC("- PosGeoAddress::setZip");
+    }
+
+// ---------------------------------------------------------------------------
+// PosGeoAddress::setLatitude()
+// ---------------------------------------------------------------------------
+QString PosGeoAddress::zip() const 
+    {
+    FUNC("+ PosGeoAddress::zip");
+    return d_ptr->mZip; 
+    }
+
+// ---------------------------------------------------------------------------
+// PosGeoAddress::setLatitude()
+// ---------------------------------------------------------------------------
+void PosGeoAddress::setStreet(QString value)
+    {
+    FUNC("+ PosGeoAddress::setStreet");
+    d_ptr->mStreet = value; 
+    FUNC("- PosGeoAddress::setStreet");
+    }
+
+// ---------------------------------------------------------------------------
+// PosGeoAddress::setLatitude()
+// ---------------------------------------------------------------------------
+QString PosGeoAddress::street() const 
+    {
+    FUNC("+ PosGeoAddress::street");
+    return d_ptr->mStreet; 
+    }
+
+// ---------------------------------------------------------------------------
+// PosGeoAddress::setLatitude()
+// ---------------------------------------------------------------------------
+void PosGeoAddress::setNumber(QString value)
+    {
+    FUNC("+ PosGeoAddress::setNumber");
+    d_ptr->mNumber = value; 
+    FUNC("- PosGeoAddress::setNumber");
+    }
+
+// ---------------------------------------------------------------------------
+// PosGeoAddress::setLatitude()
+// ---------------------------------------------------------------------------
+QString PosGeoAddress::number() const 
+    {
+    FUNC("+ PosGeoAddress::number");
+    return d_ptr->mNumber; 
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posindhelperclientlib/src/posindhelperclientrequester.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,143 @@
+/*
+* 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:  Positioning Indicator Helper Client Requestor
+*
+*/
+
+
+// INCLUDE FILES
+
+#include <e32base.h>
+#include <s32strm.h>
+#include <s32mem.h>
+
+#include "posindhelperclientrequester.h"
+#include "posindicatorhelper.h"
+ 
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPosIndHelperClientRequester::CPosIndHelperClientRequester
+//
+// Default constructor
+// ---------------------------------------------------------
+//
+CPosIndHelperClientRequester::CPosIndHelperClientRequester(
+            MServerRequestCompletetionObserver& aServerRequestCompletetionObserver ):
+                    CActive(EPriorityStandard),iServerRequestCompletetionObserver(aServerRequestCompletetionObserver)
+    {
+    FUNC("+ CPosIndHelperClientRequester::CPosIndHelperClientRequester");
+    CActiveScheduler::Add(this);
+    FUNC("- CPosIndHelperClientRequester::CPosIndHelperClientRequester");
+    }
+
+// ---------------------------------------------------------------------------
+// CPosIndHelperClientRequester::ConstructL()
+// Symbian 2nd phase constructor can leave.
+// ---------------------------------------------------------------------------
+//
+void CPosIndHelperClientRequester::ConstructL()
+    {
+    FUNC("+ CPosIndHelperClientRequester::ConstructL");
+    FUNC("- CPosIndHelperClientRequester::ConstructL");
+    }
+
+// ---------------------------------------------------------------------------
+// CPosIndHelperClientRequester::NewL()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------------------------
+//
+CPosIndHelperClientRequester* CPosIndHelperClientRequester::NewL(
+        MServerRequestCompletetionObserver& aServerRequestCompletetionObserver )
+    {
+    FUNC("+ CPosIndHelperClientRequester::NewL");
+    CPosIndHelperClientRequester* self = new (ELeave) CPosIndHelperClientRequester(
+                                aServerRequestCompletetionObserver );
+    CleanupStack::PushL(self);
+    self->ConstructL();
+    CleanupStack::Pop(self);
+    return self;
+    }
+   
+
+// ---------------------------------------------------------------------------
+// CPosIndHelperClientRequester::~CPosIndHelperClientRequester()
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CPosIndHelperClientRequester::~CPosIndHelperClientRequester()
+    {
+    FUNC("+ CPosIndHelperClientRequester::~CPosIndHelperClientRequester");
+    Cancel();
+    FUNC("- CPosIndHelperClientRequester::~CPosIndHelperClientRequester");
+    }
+
+
+// ---------------------------------------------------------
+// CPosIndHelperClientRequester::Start
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosIndHelperClientRequester::Start(TServiceIds aServiceId )
+    { 
+    FUNC("+ CPosIndHelperClientRequester::Start");
+    iServiceId = aServiceId;
+ 	SetActive();
+    FUNC("- CPosIndHelperClientRequester::Start");
+    }
+
+// ---------------------------------------------------------
+// CPosIndHelperClientRequester::RunL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosIndHelperClientRequester::RunL()
+   {
+    FUNC("+ CPosIndHelperClientRequester::RunL");
+    LOG("Error code : %d", iStatus.Int());
+    iServerRequestCompletetionObserver.NotifyServerRequestCompletion( iServiceId, iStatus.Int() );
+    FUNC("- CPosIndHelperClientRequester::RunL");
+   }
+
+
+// ---------------------------------------------------------
+// CPosIndHelperClientRequester::RunError
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt CPosIndHelperClientRequester::RunError(TInt /*aError*/)
+    {
+    FUNC("+ CPosIndHelperClientRequester::RunError");
+    return KErrNone;
+    }
+
+// ---------------------------------------------------------
+// CPosIndHelperClientRequester::DoCancel
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosIndHelperClientRequester::DoCancel()
+    {    
+    FUNC("+ CPosIndHelperClientRequester::DoCancel");
+   // iServerRequestCompletetionObserver.NotifyServerRequestCompletion( iServiceId, iStatus.Int() );
+    FUNC("- CPosIndHelperClientRequester::DoCancel");
+    }
+//  End of File
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posindhelperclientlib/src/posindicatorhelper.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,338 @@
+/*
+* 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:  Client-Server communication
+*
+*/
+
+#include "posindicatorhelper.h"
+#include "posindicatorhelperserver.h"
+#include "posindhelperclientrequester.h"    
+#include "posindicatorhelpererrors.h"
+#include "posindinfochangeobserver.h"
+
+#include <e32std.h>
+#include <s32strm.h>
+#include <s32mem.h>
+
+#include <epos_poslandmarkserialization.h>
+
+// ---------------------------------------------------------------------------
+// RPosIndicatorHelper::RPosIndicatorHelper()
+//
+// Default constructor.
+// ---------------------------------------------------------------------------
+// 
+ RPosIndicatorHelper::RPosIndicatorHelper()
+     : iClientRequester(NULL),
+       iLmkBuf(NULL),
+       iLandmark(NULL),
+       iCoordinateSettingValue( ELocCoordinatesNotHidden )
+  {     
+     FUNC("+ RPosIndicatorHelper::RPosIndicatorHelper");
+     FUNC("- RPosIndicatorHelper::RPosIndicatorHelper");
+  }
+
+// ---------------------------------------------------------------------------
+// RPosIndicatorHelper::~RPosIndicatorHelper
+//
+// Destructor.
+// ---------------------------------------------------------------------------
+// 	
+ RPosIndicatorHelper::~RPosIndicatorHelper()
+  {  
+     FUNC("+ RPosIndicatorHelper::~RPosIndicatorHelper");
+
+  if(iClientRequester)
+      {
+      delete iClientRequester;
+      iClientRequester = NULL;
+      }   
+  if(iLmkBuf)
+      {
+      delete iLmkBuf;
+      iLmkBuf = NULL;
+      }
+  if(iLandmark)
+      {
+      delete iLandmark;
+      iLandmark = NULL;
+      }
+  FUNC("- RPosIndicatorHelper::~RPosIndicatorHelper");
+  }
+
+
+// ---------------------------------------------------------------------------
+// RPosIndicatorHelper::ConstructL
+//Symbian 2nd phase constructor can leave.
+// ---------------------------------------------------------------------------
+//     
+void RPosIndicatorHelper::ConstructL()
+    {  
+    FUNC("+ RPosIndicatorHelper::ConstructL");
+    iClientRequester = CPosIndHelperClientRequester::NewL(*this);
+    iLandmark = NULL;
+    CheckHideCoordinateL();
+    FUNC("- RPosIndicatorHelper::ConstructL");
+    }
+
+
+// ---------------------------------------------------------
+// RPosIndicatorHelper::Open
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+ TInt RPosIndicatorHelper::Open( RPosIndicatorHelperServer& aServer,
+                MPosIndInfoChangeObserver* aPosIndInfoChangeObserver )
+    {
+     FUNC("+ RPosIndicatorHelper::Open");
+
+    __ASSERT_ALWAYS( aPosIndInfoChangeObserver , User::Panic  (KPosIndHelperClientPanicCategory, EPosIndicatorHelperServerBadHandle));
+     iPosIndInfoChangeObserver = aPosIndInfoChangeObserver;
+
+    __ASSERT_ALWAYS(aServer.Handle() != 0,
+		User::Panic(KPosIndHelperClientPanicCategory, EPosIndicatorHelperServerBadHandle));
+		
+	__ASSERT_ALWAYS(! SubSessionHandle() , User::Panic  (KPosIndHelperClientPanicCategory, EPosIndicatorHelperServerBadHandle));
+	TRAPD(ret, ConstructL());
+	if (ret == KErrNone)
+		{
+		ret = CreateSubSession(aServer, ESubSessionOpen, TIpcArgs());
+		}
+	return ret;     
+    }
+
+// ---------------------------------------------------------
+// RPosIndicatorHelper::Close
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+ void RPosIndicatorHelper:: Close()
+    {
+    FUNC("+ RPosIndicatorHelper::Close");
+
+	TBool isActive = iClientRequester->IsActive();
+    TInt status = iClientRequester->iStatus.Int();
+    
+	if( isActive && status == KRequestPending )
+	    {
+	    User::Panic(KPosIndHelperClientPanicCategory, EPosIndicatorHelperRequestsNotCancelled );
+	    }
+	
+   if(SubSessionHandle())
+        {
+        CloseSubSession(ESubSessionClose);
+        }
+   
+    FUNC("- RPosIndicatorHelper::Close");
+    }
+
+
+// ---------------------------------------------------------------------------
+// RPosIndicatorHelper::RequestPosInfo()
+// ---------------------------------------------------------------------------
+void RPosIndicatorHelper::RequestPosInfo()
+    {
+    FUNC("+ RPosIndicatorHelper::RequestPosInfo");
+
+    __ASSERT_ALWAYS(SubSessionHandle() , User::Panic  (KPosIndHelperClientPanicCategory, EPosIndicatorHelperServerBadHandle));
+    
+    if(iClientRequester->IsActive())
+            return;				// If a previous request for position is alive, ignore this call
+    
+    TPckg<TPositionSatelliteInfo> posSatPckg( iPositionInfo );
+    TIpcArgs args;
+    args.Set(KParamCurrentPosition, &posSatPckg);
+    
+    iClientRequester->iStatus = KRequestPending;    
+    SendReceive(EGetCurrentPosition, args , iClientRequester->iStatus);
+    iClientRequester->Start(EGetCurrentPosition);
+    FUNC("- RPosIndicatorHelper::RequestPosInfo");
+    }
+
+// ---------------------------------------------------------------------------
+// RPosIndicatorHelper::GetAddressInfoSizePrivate()
+// ---------------------------------------------------------------------------
+void RPosIndicatorHelper::GetAddressInfoSize()
+    {
+    FUNC("+ RPosIndicatorHelper::RPosIndicatorHelper");
+    
+    // Create buffer and send message to resolve address
+    TPckg<TInt> posSatPckg( iSize );
+    TIpcArgs args;
+    args.Set(KParamCurrentAddressSize ,&posSatPckg);
+    
+    iClientRequester->iStatus = KRequestPending;
+    SendReceive(EGetCurrentAddressInfoSize, args, iClientRequester->iStatus);
+    iClientRequester->Start(EGetCurrentAddressInfoSize);
+    
+    FUNC("- RPosIndicatorHelper::GetAddressInfoSize");
+    }
+
+// ---------------------------------------------------------------------------
+// RPosIndicatorHelper::GetAddressL()
+// ---------------------------------------------------------------------------
+void RPosIndicatorHelper::GetAddressL()
+    {  
+    FUNC("+ RPosIndicatorHelper::RPosIndicatorHelper");
+    TIpcArgs args;
+    FUNC("    TIpcArgs args");
+    iLmkBuf = HBufC8::NewL(iSize);      // Need to check iStatus
+    FUNC("    HBufC8::NewLC");
+
+    TPtr8 bufferPtr = iLmkBuf->Des();
+    FUNC("    iLmkBuf->Des()");
+
+    args.Set( KParamCurrentAddress , &bufferPtr);
+    FUNC("    args.Set");
+
+    iClientRequester->iStatus = KRequestPending;
+    SendReceive(EGetCurrentAddressInfo, args, iClientRequester->iStatus);
+    iClientRequester->Start(EGetCurrentAddressInfo);  
+    
+    FUNC("- RPosIndicatorHelper::GetAddressL");
+    
+    }
+
+// ---------------------------------------------------------------------------
+// RPosIndicatorHelper::CancelCurrentRequest()
+// ---------------------------------------------------------------------------
+void RPosIndicatorHelper::CancelCurrentRequest()
+    {
+    FUNC("+ RPosIndicatorHelper::CancelCurrentRequest");
+    if (iClientRequester->IsActive())
+        {
+        SendReceive(ECancelCurrentOperation);
+        iClientRequester->Cancel();
+        }
+    FUNC("- RPosIndicatorHelper::CancelCurrentRequest");
+    }
+
+// ---------------------------------------------------------------------------
+// RPosIndicatorHelper::NotifyServerRequestCompletion()
+// ---------------------------------------------------------------------------
+void RPosIndicatorHelper::NotifyServerRequestCompletion(TServiceIds aServiceId, TInt aErrCode )
+    {    
+    FUNC("+ RPosIndicatorHelper::NotifyServerRequestCompletion");
+    TInt err = aErrCode;
+    switch( aServiceId )
+        {
+        case EGetCurrentPosition:
+            {
+            FUNC("case EGetCurrentPosition");
+
+            //delete old landmark
+            if(iLandmark)
+                {
+                delete iLandmark;
+                iLandmark = NULL;
+                }
+            //if error in retrieval of coordinate info, notify client 
+            if( err!=KErrNone )
+                {
+                LOG("Error in NotifyServerRequestCompletion : %d",err);
+                //notify client about change in position information
+                iPosIndInfoChangeObserver->NotifyPosInfoChange( iLandmark, err );
+                return;
+                }
+            if( iCoordinateSettingValue == ELocCoordinatesNotHidden )
+                {
+                //add coordinate info to landmark object
+                TRAP(err,            
+                iLandmark = CPosLandmark::NewL();          
+                TPosition position;
+                iPositionInfo.GetPosition( position );
+                iLandmark->SetPositionL( position );
+                );           
+                
+                if(err == KErrNone)
+                    {
+                    LOG("No error in NotifyServerRequestCompletion : %d",err);
+                    //notify client about change in position information
+                    iPosIndInfoChangeObserver->NotifyPosInfoChange( iLandmark, err );    
+                    }
+                }
+			GetAddressInfoSize();
+            break;
+            }
+        case EGetCurrentAddressInfoSize:
+            {
+            FUNC("case EGetCurrentAddressInfoSize");
+
+            //delete old landmark
+            if(iLandmark)
+                {
+                delete iLandmark;
+                iLandmark = NULL;
+                }
+            //if error in retrieval of coordinate info, notify client 
+            if( err!=KErrNone )
+                {
+                //notify client about change in position information
+                iPosIndInfoChangeObserver->NotifyPosInfoChange( iLandmark, err );
+                break;
+                }
+            GetAddressL();
+            break;
+            }
+        case EGetCurrentAddressInfo:
+            {
+            FUNC("case EGetCurrentAddressInfo");
+
+            //delete old landmark
+            if(iLandmark)
+                {
+                delete iLandmark;
+                iLandmark = NULL;
+                }
+            //if error in retrieval of coordinate info, notify client 
+            if( err!=KErrNone )
+                {
+                //notify client about change in position information
+                iPosIndInfoChangeObserver->NotifyPosInfoChange( iLandmark, err );
+                }
+            
+            //add coordinate info to landmark object
+            TRAPD(err,            
+            iLandmark = CPosLandmark::NewL();
+            iLandmark = PosLandmarkSerialization::UnpackL(*iLmkBuf)
+            );           
+            
+            if(err == KErrNone)
+                {
+                //notify client about change in position information
+                iPosIndInfoChangeObserver->NotifyPosInfoChange( iLandmark, err );
+                }
+            break;
+            }
+        default:
+            {            
+            break;
+            }            
+        }
+    FUNC("- RPosIndicatorHelper::NotifyServerRequestCompletion");
+    }
+
+void RPosIndicatorHelper::CheckHideCoordinateL()
+    {
+    FUNC("+ RPosIndicatorHelper::CheckHideCoordinateL");
+    CRepository* repository = CRepository::NewL( TUid::Uid( KCRUidLocLocalVariation) );
+    CleanupStack::PushL( repository );
+    User::LeaveIfError( repository->Get( KLocHideCoordinates,
+                                        iCoordinateSettingValue ));  
+    CleanupStack::PopAndDestroy( repository );
+    FUNC("+ RPosIndicatorHelper::CheckHideCoordinateL");
+    }
+	
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posindhelperclientlib/src/posindicatorhelperserver.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,164 @@
+/*
+* 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:  Positioning Indicator Helper Client-Server communication
+*
+*/
+
+#include "posindicatorhelperserver.h"
+#include "posindicatorhelpererrors.h"
+#include "posindicatorserverconst.h"
+
+#include <s32mem.h>
+#include <e32std.h>
+
+const TInt KDefaultMessageSlots = 255; //max
+
+// ---------------------------------------------------------------------------
+// RPosIndicatorHelperServer::RPosIndicatorHelperServer()
+// Default constructor
+// ---------------------------------------------------------------------------
+// 
+ RPosIndicatorHelperServer :: RPosIndicatorHelperServer():RSessionBase(),iReserved(NULL)
+    {
+     FUNC("+ RPosIndicatorHelperServer::RPosIndicatorHelperServer");
+     FUNC("- RPosIndicatorHelperServer::RPosIndicatorHelperServer");
+    }
+
+// ---------------------------------------------------------
+// RPosIndicatorHelperServer::Connect
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+ TInt RPosIndicatorHelperServer::Connect()
+	{
+     FUNC("+ RPosIndicatorHelperServer::Connect");
+ 	__ASSERT_ALWAYS(Handle() == 0, User::Panic(KPosIndHelperClientPanicCategory, EPosIndicatorHelperServerHandleNotClosed));
+
+	TInt ret = CreateSession(KPosIndHelperSrvName, Version(), KDefaultMessageSlots);
+	
+	if( ret == KErrNotFound )
+	    {
+#if defined(__WINSCW__)
+	    StartLbsRootProcess();
+#endif
+	    RProcess posIndHelperServerProcess;
+	    ret = posIndHelperServerProcess.Create(KPosIndHelperSrvName, KNullDesC);
+	    
+	    if( ret != KErrNone )
+	        {
+	        posIndHelperServerProcess.Close();
+	        return KErrNotFound;
+	        }
+	    
+	    TRequestStatus status;
+	    posIndHelperServerProcess.Rendezvous(status);
+	    
+	    if( status != KRequestPending )
+	        {
+	        User::WaitForRequest(status);
+	        posIndHelperServerProcess.Kill(KErrNone);
+	        posIndHelperServerProcess.Close();
+	        return status.Int();
+	        }
+	    else
+	        {
+	        posIndHelperServerProcess.Resume();		        
+	        }
+
+	    User::WaitForRequest(status);
+	    posIndHelperServerProcess.Close();
+
+	    if( status != KErrNone )
+	        {
+	        return (status.Int());
+	        }
+	    ret = CreateSession(KPosIndHelperSrvName, Version(), KDefaultMessageSlots);		    
+	    }
+   
+	return ret;
+  }
+	
+// ---------------------------------------------------------
+// RPosIndicatorHelperServer::Close
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+ void RPosIndicatorHelperServer::Close()
+	{
+    FUNC("+ RPosIndicatorHelperServer::Close");
+	RSessionBase::Close();
+    FUNC("- RPosIndicatorHelperServer::Close");
+	}
+	
+// ---------------------------------------------------------
+// RPosIndicatorHelperServer::Version
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+ TVersion RPosIndicatorHelperServer::Version() const
+	{	
+    FUNC("+ RPosIndicatorHelperServer::Version");
+	return TVersion(KMajorVersionNumber,
+					KMinorVersionNumber,
+					KBuildVersionNumber);
+	}
+
+#if defined(__WINSCW__)
+// ---------------------------------------------------------
+// RPosIndicatorHelperServer::Version
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt RPosIndicatorHelperServer::StartLbsRootProcess()
+    {
+    FUNC("+ RPosIndicatorHelperServer::StartLbsRootProcess");
+
+    RProcess lbsrootProcess;
+    TInt ret = lbsrootProcess.Create(_L("lbsroot"), KNullDesC);
+    
+    if( ret != KErrNone )
+        {
+        lbsrootProcess.Close();
+        return KErrNotFound;
+        }
+    
+    TRequestStatus status;
+    lbsrootProcess.Rendezvous(status);
+    
+    if( status != KRequestPending )
+        {
+        User::WaitForRequest(status);
+        lbsrootProcess.Kill(KErrNone);
+        lbsrootProcess.Close();
+        return KErrNotFound;
+        }
+    else
+        {
+        lbsrootProcess.Resume();             
+        }
+
+    User::WaitForRequest(status);
+    lbsrootProcess.Close();
+
+    if( status != KErrNone )
+        {
+        return (status.Int());
+        }
+    return ret;
+    }
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posindhelperclientlib/src/posindicatorinfo.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,62 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Positioning Indicators Info - QT Wrapper
+*
+*/
+
+#include "posindicatorinfo.h"
+#include "posindicatorinfo_p.h"
+
+// ---------------------------------------------------------------------------
+// PositionIndicatorInfo::PositionIndicatorInfo()
+// ---------------------------------------------------------------------------
+ PosIndicatorInfo::PosIndicatorInfo()
+    {
+    FUNC("+ PosIndicatorInfo::PosIndicatorInfo");
+    d_ptr = new PosIndicatorInfoPrivate(this);
+    FUNC("- PosIndicatorInfo::PosIndicatorInfo");
+    }
+
+// ---------------------------------------------------------------------------
+// PosIndicatorInfo::~PosIndicatorInfo()
+// ---------------------------------------------------------------------------
+ PosIndicatorInfo::~PosIndicatorInfo()
+    {
+    FUNC("+ PosIndicatorInfo::~PosIndicatorInfo");
+    delete d_ptr;
+    d_ptr = NULL;
+    FUNC("- PosIndicatorInfo::~PosIndicatorInfo");
+    }
+
+// ---------------------------------------------------------------------------
+// PosIndicatorInfo::requestPosInfo()
+// ---------------------------------------------------------------------------
+ void PosIndicatorInfo::requestPosInfo()
+    {
+    FUNC("+ PosIndicatorInfo::requestPosInfo");
+    d_ptr->RequestPosInfo();
+    FUNC("- PosIndicatorInfo::requestPosInfo");
+    }
+ 
+ // ---------------------------------------------------------------------------
+ // PosIndicatorInfo::cancelPosInfo()
+ // ---------------------------------------------------------------------------
+  void PosIndicatorInfo::cancelPosInfo()
+     {
+     FUNC("+ PosIndicatorInfo::cancelPosInfo");
+     d_ptr->CancelPosInfo();
+     FUNC("- PosIndicatorInfo::cancelPosInfo");
+     }
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posindhelperclientlib/src/posindicatorinfo_p.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,197 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implementation of position indicator private class.
+*
+*/
+
+#include "posindicatorinfo_p.h"
+#include "posgeoaddress.h"
+#include "posindicatorlogger.h"
+
+// ---------------------------------------------------------------------------
+// PosIndicatorInfoPrivate::PosIndicatorInfoPrivate()
+// ---------------------------------------------------------------------------
+PosIndicatorInfoPrivate::PosIndicatorInfoPrivate( PosIndicatorInfo *aPositionIndicator )
+            :             q_ptr(aPositionIndicator)                        
+    {
+    FUNC("+ PosIndicatorInfoPrivate::PosIndicatorInfoPrivate");
+    QT_TRAP_THROWING (
+    qt_symbian_throwIfError(mPosIndicatorHelperServer.Connect());    
+    qt_symbian_throwIfError(mPosIndicatorHelper.Open(mPosIndicatorHelperServer, this));    
+    mPosGeoAddress = NULL;    
+    )
+    FUNC("- PosIndicatorInfoPrivate::PosIndicatorInfoPrivate");
+    }
+
+// ---------------------------------------------------------------------------
+// PosIndicatorInfoPrivate::~PosIndicatorInfoPrivate()
+// ---------------------------------------------------------------------------
+PosIndicatorInfoPrivate::~PosIndicatorInfoPrivate()
+    {       
+    FUNC("+ PosIndicatorInfoPrivate::~PosIndicatorInfoPrivate");
+    if(mPosGeoAddress)
+      {
+      delete mPosGeoAddress;
+      mPosGeoAddress = NULL;
+      } 
+    mPosIndicatorHelper.CancelCurrentRequest();
+    mPosIndicatorHelper.Close();
+    mPosIndicatorHelperServer.Close();    
+    FUNC("- PosIndicatorInfoPrivate::~PosIndicatorInfoPrivate");
+    }
+
+// ---------------------------------------------------------------------------
+// PosIndicatorInfoPrivate::RequestPosInfo()
+// ---------------------------------------------------------------------------
+void PosIndicatorInfoPrivate::RequestPosInfo()
+    {    
+    FUNC("+ PosIndicatorInfoPrivate::RequestPosInfo");
+    mPosIndicatorHelper.RequestPosInfo();
+    FUNC("- PosIndicatorInfoPrivate::RequestPosInfo");
+    }
+
+// ---------------------------------------------------------------------------
+// PosIndicatorInfoPrivate::CancelPosInfo()
+// ---------------------------------------------------------------------------
+void PosIndicatorInfoPrivate::CancelPosInfo()
+    {    
+    FUNC("+ PosIndicatorInfoPrivate::CancelPosInfo");
+    mPosIndicatorHelper.CancelCurrentRequest();
+    FUNC("- PosIndicatorInfoPrivate::CancelPosInfo");
+    }
+
+// ---------------------------------------------------------------------------
+// PosIndicatorInfoPrivate::NotifyPosInfoChange()
+// ---------------------------------------------------------------------------
+void PosIndicatorInfoPrivate::NotifyPosInfoChange(CPosLandmark* aLandmark, TInt aErrCode)
+    {
+   FUNC("+ PosIndicatorInfoPrivate::NotifyPosInfoChange");
+   
+    if(mPosGeoAddress)
+      {
+      delete mPosGeoAddress;
+      mPosGeoAddress = NULL;
+      }
+    mPosGeoAddress = new PosGeoAddress();
+    
+   if ( aErrCode != KErrNone )
+       {
+       LOG("Error in NotifyPosInfoChange = ",aErrCode);
+       emit q_ptr->posInfoUpdated(*mPosGeoAddress , aErrCode );
+       return;
+       }
+    
+    // Coordinate info
+    TLocality locality;
+    TInt err = aLandmark->GetPosition(locality);
+    
+    if (err != KErrNone)
+        {
+        emit q_ptr->posInfoUpdated( *mPosGeoAddress, err );
+        FUNC("Unable to get position, exitting with error");
+        return;
+        }
+    else
+        {
+        mPosGeoAddress->setLatitude(locality.Latitude());
+        mPosGeoAddress->setLongitude(locality.Longitude());
+        mPosGeoAddress->sethAccuracy(locality.HorizontalAccuracy());
+        mPosGeoAddress->setvAccuracy(locality.VerticalAccuracy());    
+        }
+    
+    //reverse geo-code info
+    TUint numOfPositionFields = aLandmark->NumOfAvailablePositionFields();
+    if (numOfPositionFields>0)
+        {
+        FUNC("Retrieving Address");
+
+        TPositionFieldId fieldId;
+        TPtrC value;
+        
+        // Read fields input by reverse geocoding and add to address
+        FUNC("Reading First Field");
+
+        fieldId = aLandmark->FirstPositionFieldId();
+        aLandmark->GetPositionField( fieldId, value );
+        AddToAddress(fieldId, value);
+        FUNC("Reading Fields");
+
+        for( int i = 0; i<numOfPositionFields ; ++i )
+            {
+            FUNC("Reading Fields");
+            fieldId = aLandmark->NextPositionFieldId(fieldId);
+            aLandmark->GetPositionField( fieldId, value );
+            AddToAddress(fieldId, value);
+            }
+        }
+    
+    emit q_ptr->posInfoUpdated(*mPosGeoAddress , aErrCode );
+    FUNC("- PosIndicatorInfoPrivate::NotifyPosInfoChange");
+    }
+
+void PosIndicatorInfoPrivate::AddToAddress(TPositionFieldId aFieldId, TPtrC aValue)
+    {
+    FUNC("+ PosIndicatorInfoPrivate::AddToAddress");
+    switch(aFieldId)
+        {
+        case EPositionFieldCountry:
+            {
+            mPosGeoAddress->setCountry(QString::fromUtf16(aValue.Ptr(),
+                    aValue.Length()));
+                    break;
+            }
+        case EPositionFieldState:
+            {
+            mPosGeoAddress->setState(QString::fromUtf16(aValue.Ptr(),
+                    aValue.Length()));
+                    break;
+            }
+        case EPositionFieldDistrict:
+            {
+            mPosGeoAddress->setDistrict(QString::fromUtf16(aValue.Ptr(),
+                    aValue.Length()));
+                    break;
+            }
+
+        case EPositionFieldCity:
+            {
+            mPosGeoAddress->setCity(QString::fromUtf16(aValue.Ptr(),
+                    aValue.Length()));
+                    break;
+            }
+            
+        case EPositionFieldPostalCode:
+            {
+            mPosGeoAddress->setZip(QString::fromUtf16(aValue.Ptr(),
+                    aValue.Length()));
+                    break;
+            }
+            
+        case EPositionFieldStreet:
+            {
+           mPosGeoAddress->setStreet(QString::fromUtf16(aValue.Ptr(),
+                   aValue.Length()));
+                   break;
+            }
+                  
+        case EPositionFieldStreetExtension:
+            {
+           mPosGeoAddress->setNumber(QString::fromUtf16(aValue.Ptr(),
+                   aValue.Length()));
+                   break;
+            }    
+            
+        }
+    FUNC("- PosIndicatorInfoPrivate::AddToAddress");
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posindicator.pro	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,36 @@
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+# Contributors:
+# Description:  project file for positioning settings in control panel
+
+
+TEMPLATE = subdirs
+SYMBIAN_PLATFORMS = WINSCW \
+    ARMV5
+
+# Build.inf rules
+BLD_INF_RULES.prj_mmpfiles += "posindicatorhelperserver/group/posindicatorhelperserver.mmp"
+BLD_INF_RULES.prj_mmpfiles += "posreversegeocodeinterface/group/posreversegeocodeinterface.mmp"
+BLD_INF_RULES.prj_mmpfiles += "posreversegeocodeplugin/group/posreversegeocodeplugin.mmp"
+
+SUBDIRS += posindhelperclientlib/posindicatorhelperclientlib.pro
+SUBDIRS += posindicatorplugin/posindicator.pro
+
+DEFINES += BUILD_POSINDICATOR
+
+BLD_INF_RULES.prj_exports += "rom/posindicator.iby CORE_MW_LAYER_IBY_EXPORT_PATH(posindicator.iby)" \
+                             "posindhelperclientlib/inc/posgeoaddress.h  ./inc/posgeoaddress.h" \
+                             "posindhelperclientlib/inc/posindicatorglobal.h ./inc/posindicatorglobal.h" \
+                             "posindhelperclientlib/inc/posindicatorinfo.h ./inc/posindicatorinfo.h" \
+                             "posindicatorhelperserver/inc/posindicatorserverconst.h ./inc/posindicatorserverconst.h" \
+                             "posreversegeocodeinterface/inc/posreversegeocodeinterface.h ./inc/posreversegeocodeinterface.h" \
+                             "posreversegeocodeinterface/inc/posreversegeocodeinterface.hrh  ./inc/posreversegeocodeinterface.hrh" \
+                              
+# TODO:This is temporary solution. Once there is support to include bld.inf directly, this needs to be 
+# removed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posindicatorhelperserver/group/bld.inf	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,27 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: This file provides the information required for building the
+*                whole of a posindicatorhelperserver.
+*
+*/
+
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_MMPFILES
+posindicatorhelperserver.mmp
+
+PRJ_EXPORTS
+../inc/posindicatorserverconst.h        |../../inc/posindicatorserverconst.h
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posindicatorhelperserver/group/posindicatorhelperserver.mmp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,47 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: This is the project specification file for posindicatorhelperserver.
+*
+*/
+
+TARGET		    posindicatorhelperserver.exe
+TARGETTYPE	    exe
+UID			    0 0x2002E689
+
+CAPABILITY      CAP_SERVER -ProtServ
+
+USERINCLUDE	    ../inc
+USERINCLUDE	    ../../inc
+
+MW_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE /epoc32/include/ecom
+
+SOURCEPATH	  ../src
+SOURCE		  posindicatorhelperserverstartup.cpp
+SOURCE        posindicatorserversession.cpp 
+SOURCE        posindicatorserversubsession.cpp 
+SOURCE        posindicatorservercore.cpp 
+SOURCE        posindicatorsubsessionregistry.cpp 
+SOURCE        posindicatorlocationrequestor.cpp
+
+LIBRARY		  euser.lib
+LIBRARY       lbs.lib
+LIBRARY       posreversegeocodeinterface.lib
+LIBRARY       eposlandmarks.lib
+LIBRARY       flogger.lib
+LIBRARY       ecom.lib
+
+#ifdef ENABLE_ABIV2_MODE
+DEBUGGABLE_UDEBONLY
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posindicatorhelperserver/inc/posindicatorlocationrequestor.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,161 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Declaration of location requestor class.
+*
+*/
+
+#ifndef POSINDICATORLOCATIONREQUESTOR_H
+#define POSINDICATORLOCATIONREQUESTOR_H
+
+#include <lbs.h>
+#include <lbssatellite.h>
+#include <EPos_CPosLandmark.h>
+#include "posreversegeocodeinterface.h"
+
+class CPosIndicatorLocationRequestor : public CActive,
+                                       public MPosReverseGeocodeObserver
+    {
+    /**
+     * This defines the different states of location requestor
+     */
+    enum TOperation
+        {
+        /**
+         * Idle state
+         */
+        ENone,
+        
+        /**
+         * Acquiring last known position
+         */
+        ELastKnownPosition,
+        
+        /**
+         * During acquiring location
+         */
+        ECurrentPosition,
+        
+        /**
+         * During acquiring address.
+         */
+        ECurrentAddress
+        };
+public: 
+    /**
+     * Factory function that instantiates an object 
+     * of CPosIndicatorLocationRequestor
+     */
+    static CPosIndicatorLocationRequestor* NewL();
+
+    /**
+     * Destructor
+     */
+    ~CPosIndicatorLocationRequestor();
+    
+    /**
+     * Gets current position
+     */
+    void GetCurrentPosition( const RMessage2& aMessage );
+    
+    /**
+     * Gets current address info size.
+     */
+    void GetCurrentAddressInfoSizeL( const RMessage2& aMessage );
+    
+    /**
+     * Gets current address info.
+     */
+    void GetCurrentAddressInfoL( const RMessage2& aMessage );
+    
+    /**
+     * Cancels outstanding request 
+     */
+    void CancelRequest( const RMessage2& aMessage );
+    
+
+public: // From MPosReverseGeocodeObserver
+    virtual void ReverseGeocodeComplete( TInt aErrorcode );
+    
+protected: // From CActive
+    void RunL();
+    
+    void DoCancel();
+
+private:
+    /**
+     * Default constructor.
+     */
+    CPosIndicatorLocationRequestor();
+    
+    /**
+     * 2nd phase constructor for instantiating member variables     
+     */
+    void ConstructL();
+    
+    
+private: // Data members
+    /**
+     * Queue of position request
+     */
+    RArray<RMessage2>   iPositionRequestQueue;
+    
+    /**
+     * Queue of address request
+     */
+    RArray<RMessage2>   iAddressRequestQueue;
+    /**
+     * Handle to the location server interface
+     */
+    RPositionServer     iPosServer;
+    
+    /**
+     * Handle to create a subsession with the location sever
+     */
+    RPositioner         iPositioner;
+    
+    /**
+     * Pointer to reverse geo-coding plugin object
+     * Own
+     */
+    CPosReverseGeocodeInterface* iReverseGeoCodeInterface;
+    
+    /**
+     * Pointer to landmark object
+     * Own
+     */
+    CPosLandmark* iLandmark;
+    
+    /**
+     * Pointer to landmarks package.
+     * Own 
+     */
+    HBufC8* iLandmarkPackage;
+    
+    /**
+     * Last known position 
+     */
+    TPositionInfo iLastKnownInfo;
+    
+    /**
+     * Requested satellite info.
+     */
+    TPositionSatelliteInfo     iPositionInfo;
+   
+    /**
+     * Current operation that is progress.
+     */
+    TOperation          iOperation;
+    };
+
+#endif /* POSINDICATORLOCATIONREQUESTOR_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posindicatorhelperserver/inc/posindicatorlogger.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,38 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implementation of logger.
+*
+*/
+
+
+#ifndef POSINDICATORLOGGER_H
+#define POSINDICATORLOGGER_H
+
+#include <flogger.h>
+#include <f32file.h>
+
+#define FUNC( x ) {  TBuf8<150> buffer; \
+                     const unsigned char* string = (unsigned char*)(x); \
+                     buffer.Zero(); \
+                     buffer.Copy(string); \
+                     RFileLogger::Write( _L("lbs"),_L("PosIndicatorLog.log"),EFileLoggingModeAppend,buffer); }
+
+#define LOG( x, y ) {  TBuf8<150> buffer; \
+                     const unsigned char* string = (unsigned char*)(x); \
+                     buffer.Zero(); \
+                     buffer.Copy(string); \
+                     buffer.AppendNum(y); \
+                     RFileLogger::Write( _L("lbs"),_L("PosIndicatorLog.log"),EFileLoggingModeAppend,buffer); }
+                
+#endif /* POSINDICATORLOGGER_H*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posindicatorhelperserver/inc/posindicatorserverconst.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,74 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Declaration of server core class.
+*
+*/
+
+#ifndef POSINDICATORSERVERCONSTS_H
+#define POSINDICATORSERVERCONSTS_H
+
+/**
+ * Server core name.
+ */
+_LIT( KPosIndHelperSrvName,"posindicatorhelperserver" );
+
+
+/**
+ * Current server version number
+ *
+ */
+const TInt8 KMajorVersionNumber = 1;
+const TInt8 KMinorVersionNumber = 0;
+const TInt16 KBuildVersionNumber = 0;
+
+
+/**
+ * Service Ids for client service requests. These
+ * service numbers should be used by the client library 
+ * in all IPC messages to indicate the type of service
+ * required
+ */
+enum TServiceIds
+    {
+    /* Subsession Open */
+    ESubSessionOpen,
+    /* Subsession Close */
+    ESubSessionClose,
+    /* Get current position */
+    EGetCurrentPosition,
+    /* Get current address info size */
+    EGetCurrentAddressInfoSize,
+    /* Get current address info */
+    EGetCurrentAddressInfo,
+    /* Cancel outstanding request*/
+    ECancelCurrentOperation
+   };
+
+
+// This position in the IPC message should hold the sub-session handle
+const TInt KParamSubsessionHandle = 3;  
+
+// This position in the IPC message should hold last known position.
+const TInt KParamLastKnownPosition = 0;  
+
+// This position in the IPC message should hold current position.
+const TInt KParamCurrentPosition = 0;  
+
+// This position in the IPC message should hold current address size.
+const TInt KParamCurrentAddressSize = 0;  
+
+// This position in the IPC message should hold current address size.
+const TInt KParamCurrentAddress = 0;  
+
+#endif // POSINDICATORSERVERCONSTS_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posindicatorhelperserver/inc/posindicatorservercore.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,101 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Declaration of server core class.
+*
+*/
+
+#ifndef POSINDICATORSERVERCORE_H
+#define POSINDICATORSERVERCORE_H
+
+#include <e32base.h>
+#include "posindicatorlocationrequestor.h"
+
+class CPosIndicatorServerCore : public CServer2
+    {
+public:     
+    /**
+     * Destructor
+     *
+     */
+    ~CPosIndicatorServerCore();
+    
+    /**
+     * Instantiates a new object of 
+     * CPosIndicatorServerCore
+     *
+     */
+    static CPosIndicatorServerCore* NewLC();
+
+    /**      
+     * Starts the position indicator server to listen
+     * to incoming requests
+     *
+     * @param[in] aName the name of the server which the 
+     * client will use to connect
+     */     
+    void StartL(const TDesC &aName);
+    
+    /**
+     * Returns the handle of location requestor
+     */
+    CPosIndicatorLocationRequestor* GetLocationRequestorHandle() const;
+    
+    /**
+     * Handle session closure.
+     */
+    void HandleSessionClosure() const;
+
+private:
+    /**
+     * C++ constructor.
+     *         
+     * @param aServerType Sharable or non-sharable sessions.
+     *
+     */
+    CPosIndicatorServerCore( TServerType aServerType = ESharableSessions );
+     
+    /**
+     * 2nd phase constructor for instantiating member variables
+     *
+     */
+    void ConstructL();
+            
+    /**
+     * From CServer2. Creates a server-side session object.
+     *
+     * @param aVersion The version information supplied by the client. 
+     * @param aMessage Represents the details of the client request that 
+     * is requesting the creation of the session.
+     *
+     * @return A pointer to the newly created server-side session object
+     */
+    CSession2* NewSessionL(const TVersion& aVersion, 
+                           const RMessage2& aMessage) const;
+    
+    
+private: // Private Data
+    /**
+     * Pointer to location requestor object.
+     * Own
+     */
+    CPosIndicatorLocationRequestor* iLocationRequestor;
+
+    /**
+     * Session counter
+     */
+    mutable TInt iSessionCount;	
+    };
+
+
+#endif /* POSINDICATORSERVERCORE_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posindicatorhelperserver/inc/posindicatorserversession.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,123 @@
+/*
+* 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: Declaration of server session class.
+*
+*/
+
+#ifndef POSINDICATORSERVERSESSION_H
+#define POSINDICATORSERVERSESSION_H
+
+#include <e32base.h>
+
+// Forward declaration
+class CPosIndicatorServerCore;
+class CPosIndicatorSubSessionRegistry;
+
+class CPosIndicatorServerSession : public CSession2 
+    {
+public:
+    /**
+     * Instantiates a new object of CPosIndicatorServerSession
+     * 
+     */
+    static CPosIndicatorServerSession* NewL( const 
+                             CPosIndicatorServerCore& aServerCore );
+    
+public: // From CSession2
+    /**
+     * Handles the servicing of a client request that 
+     * has been passed to the server via this session.
+     *
+     * @param[in] aMessage The message containing the details of 
+     * the client request
+     *
+     */      
+    virtual void ServiceL(const RMessage2 &aMessage);
+
+    /**
+     * Handles error cases when the ServiceL method leaves.
+     *
+     * @param[in] aMessage The message containing the details of 
+     * the client request
+     * @param[in] aError The error code that the serviceL method 
+     * leaves with
+     */ 
+    virtual void ServiceError(const RMessage2& aMessage,TInt aError);
+
+    /**
+     * Handles session closure when the client panics.
+     *
+     * @param[in] aMessage The message containing the details of 
+     * the client request
+     * @param[in] aError The error code that the serviceL method 
+     * leaves with
+     */ 
+    virtual void Disconnect(const RMessage2& aMessage);
+
+private:
+    /**
+     * Default C++ Constructor
+     *
+     * @param[in] aSecureId the secure Id of the client application
+     * which has created this session object. 
+     *
+     */
+    CPosIndicatorServerSession( const CPosIndicatorServerCore& aServerCore );
+    
+    /**
+     * Destructor
+     *
+     */
+    ~CPosIndicatorServerSession();
+    
+    /**
+     * 2nd phase constructor for instantiating 
+     * member variables
+     *
+     * @param[in] aSecureId the secure Id of the client application
+     * which has created this session object.
+     */
+    void ConstructL();
+    
+    /**
+     * Create a sub-session object
+     *
+     */
+    void CreateSubSessionL(const RMessage2 &aMessage);
+    
+    /**
+     * Forwards client request to sub-session
+     *
+     * @aMessage[in] The message containing the details of 
+     * the client request
+     *
+     */
+    void ForwardToSubSessionL(const RMessage2& aMessage);
+    
+            
+private: //Data
+    
+    /**
+     * Reference to the server object
+     */
+    const CPosIndicatorServerCore& iServerCore;
+    
+    /**
+     * Pointer to the sub-session registry
+     * Own
+     */ 
+    CPosIndicatorSubSessionRegistry* iSubSessionRegistry;
+    };
+
+#endif /* POSINDICATORSERVERSESSION_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posindicatorhelperserver/inc/posindicatorserversubsession.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,75 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Declaration of server session class.
+*
+*/
+
+#ifndef POSINDICATORSERVERSUBSESSION_H
+#define POSINDICATORSERVERSUBSESSION_H
+
+#include <e32base.h>
+
+class CPosIndicatorLocationRequestor;
+
+class CPosIndicatorServerSubsession : public CObject
+    {
+public:    
+    /**
+     * Instantiates a new object of 
+     * CPosIndicatorServerSubsession
+     *
+     * @return a pointer to instance of CLbtSubSession
+     */
+    static CPosIndicatorServerSubsession* NewL( CPosIndicatorLocationRequestor&
+                                                aLocationRequestor );
+    
+    /**
+     * C++ destructor
+     *
+     */
+    ~CPosIndicatorServerSubsession();
+    
+    /**
+     * Handles the servicing of a client request that 
+     * has been passed from the session
+     *
+     * @aMessage The message containing the details of 
+     * the client request
+     *
+     */      
+    void ServiceL(const RMessage2 &aMessage);
+    
+private:
+    /**
+     * C++ Default constructor
+     *
+     */
+    CPosIndicatorServerSubsession( CPosIndicatorLocationRequestor&
+                                   aLocationRequestor );
+    
+    /**
+     * 2nd phase constructor for instantiating 
+     * member variables
+     *
+     */
+    void ConstructL();
+
+private: // Data member
+    /**
+     * Pointer to location requestor object.
+     * Not own
+     */
+    CPosIndicatorLocationRequestor& iLocationRequestor;
+    };
+#endif /* POSINDICATORSERVERSUBSESSION_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posindicatorhelperserver/inc/posindicatorsubsessionregistry.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,110 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Declaration of subsession registry class.
+*
+*/
+#ifndef POSINDICATORSUBSESSIONREGISTRY_H
+#define POSINDICATORSUBSESSIONREGISTRY_H
+
+#include <e32base.h>
+
+// FORWARD DECLARATIONS
+class CObjectCon;
+class CObjectConIx;
+class CPosIndicatorServerSubsession;
+
+class CPosIndicatorSubSessionRegistry : public CBase
+    {
+public:
+    /**
+     * Instantiates a new object of 
+     * CPosIndicatorSubSessionRegistry
+     *
+     * @return pointer to an instance of 
+     * CPosIndicatorSubSessionRegistry
+     */
+    static CPosIndicatorSubSessionRegistry* NewL();
+    
+    /**
+     * C++ destructor
+     *
+     */
+    ~CPosIndicatorSubSessionRegistry();
+    
+    /**
+     * Adds an object instance to the registry and
+     * takes ownership of the object
+     *
+     * @param aSubSession an sub-session object instance
+     * @return a registry handle to the object instance.
+     */
+    TInt AddSubSessionL( CPosIndicatorServerSubsession* aSubSession );
+    
+    /**
+     * Removes the subsession from the registry and 
+     * also closes the sub-session handle
+     *
+     * @param aHandle a handle to the subsession
+     * @return KErrNone if handle close successfully, 
+     * ELbtServerBadHandle if handle not found
+     *
+     */
+    TInt CloseSubSession( TUint aHandle );
+    
+    /**
+     * Retrieves the appropriate subsession handle
+     * with the specified index
+     *
+     * @param aHandle index to the subsession handle
+     * @return pointer the subsession 
+     *
+     */
+    CPosIndicatorServerSubsession* SubSessionFromHandle(
+                                        TUint aHandle );
+    
+private:
+    /**
+     * Default C++ Constructor
+     *
+     */
+    CPosIndicatorSubSessionRegistry();
+    
+    /**
+     * 2nd phase constructor for instantiating 
+     * member variables
+     *
+     */
+    void ConstructL();
+
+private:// Data
+    /**
+     * CObject to create the object container
+     * Own
+     */ 
+    CObjectIx*      iRegistryIndex;
+    
+    /**
+     *  Object index container
+     *  Own
+     */
+    CObjectCon*     iRegistryContainer;
+    
+    /**
+     * Object index
+     * Own
+     */ 
+    CObjectConIx*   iRegistryContainerIndex;        
+    };
+
+#endif /* POSINDICATORSUBSESSIONREGISTRY_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posindicatorhelperserver/src/posindicatorhelperserverstartup.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,70 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Position indicator server start up
+*
+*/
+
+#include <e32base.h>
+#include <e32std.h>
+#include "posindicatorservercore.h"
+#include "posindicatorserverconst.h"
+#include "posindicatorlogger.h"
+
+// ---------------------------------------------------------------------------
+// Starts the server core
+// ---------------------------------------------------------------------------
+//
+void StartServerCoreL()
+    {
+    FUNC("StartServerCoreL");
+    User::LeaveIfError(RThread().RenameMe(KPosIndHelperSrvName));
+    
+    // Install the scheduler and start the LBT server
+    CActiveScheduler* scheduler = new ( ELeave ) CActiveScheduler;
+    CleanupStack::PushL( scheduler );
+    CActiveScheduler::Install( scheduler );
+    
+    CPosIndicatorServerCore* server = CPosIndicatorServerCore::NewLC();
+    
+    // This starts the position indicator server
+    server->StartL(KPosIndHelperSrvName);
+    
+    // Finish rendezvous with launching process
+    RProcess::Rendezvous( KErrNone );
+    
+    CActiveScheduler::Start();
+    CleanupStack::PopAndDestroy( 2, scheduler );
+    }
+
+
+GLDEF_C TInt E32Main()
+    {
+    FUNC("E32Main");
+    __UHEAP_MARK;
+
+    CTrapCleanup* cleanupStack = CTrapCleanup::New();
+
+    // The ret is initialized to KErrNoMemory so that the function returns 
+    // KErrNoMemory if the cleanupstack allocation fails.
+    TInt ret = KErrNoMemory;
+    if (cleanupStack)
+        {
+        TRAP(ret, StartServerCoreL());
+        delete cleanupStack;
+        }
+        
+    __UHEAP_MARKEND;
+    return ret;
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posindicatorhelperserver/src/posindicatorlocationrequestor.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,366 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implementation of location requestor class.
+*
+*/
+
+#include "posindicatorlocationrequestor.h"
+#include "posindicatorserverconst.h"
+#include "posindicatorlogger.h"
+
+#include <epos_poslandmarkserialization.h>
+#include <ecom.h>
+
+_LIT( KServer,"PositionIndicatorServer" );
+static const TInt KMaxUpdateAge = 10;
+static const TInt KUpdateTimeOut = 5000000;
+
+// -----------------------------------------------------------------------------
+// CPosIndicatorLocationRequestor::NewL
+// -----------------------------------------------------------------------------
+CPosIndicatorLocationRequestor* CPosIndicatorLocationRequestor::NewL()
+    {
+    FUNC("CPosIndicatorLocationRequestor::NewL");
+    CPosIndicatorLocationRequestor* self = new ( ELeave ) 
+                                        CPosIndicatorLocationRequestor;
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop();
+    return self;
+    }
+    
+
+// -----------------------------------------------------------------------------
+// CPosIndicatorLocationRequestor::~CPosIndicatorLocationRequestor
+// -----------------------------------------------------------------------------
+CPosIndicatorLocationRequestor::~CPosIndicatorLocationRequestor()
+    {
+    FUNC("CPosIndicatorLocationRequestor::~CPosIndicatorLocationRequestor");
+    
+    // Cancel the current operation.
+    Cancel();
+    
+    iPositionRequestQueue.Close();
+    iAddressRequestQueue.Close();
+    iPositioner.Close();
+    iPosServer.Close();    
+    delete iReverseGeoCodeInterface;
+    iReverseGeoCodeInterface = NULL;
+    delete iLandmark;
+    iLandmark = NULL;
+    delete iLandmarkPackage;
+    iLandmarkPackage = NULL;
+    // Release all landmark resources
+    ReleaseLandmarkResources();
+    
+    // Release all ECOM resources
+    REComSession::FinalClose();	
+    }
+
+// -----------------------------------------------------------------------------
+// CPosIndicatorLocationRequestor::CPosIndicatorLocationRequestor
+// -----------------------------------------------------------------------------
+CPosIndicatorLocationRequestor::CPosIndicatorLocationRequestor():CActive( 
+                                                              EPriorityStandard )
+    {
+    FUNC("CPosIndicatorLocationRequestor::CPosIndicatorLocationRequestor");
+    CActiveScheduler::Add( this );
+    }
+ 
+// -----------------------------------------------------------------------------
+// CPosIndicatorLocationRequestor::ConstructL
+// -----------------------------------------------------------------------------
+void CPosIndicatorLocationRequestor::ConstructL()
+    {
+    FUNC("CPosIndicatorLocationRequestor::ConstructL");
+    iOperation = ENone;
+    
+    User::LeaveIfError( iPosServer.Connect() );
+    
+    TInt error = iPositioner.Open( iPosServer );
+    
+    User::LeaveIfError( iPositioner.SetRequestor( 
+                        CRequestor::ERequestorService,
+                        CRequestor::EFormatApplication,
+                        KServer ) );
+
+    TPositionUpdateOptions updateops;
+    updateops.SetUpdateTimeOut(TTimeIntervalMicroSeconds(KUpdateTimeOut));
+    User::LeaveIfError( iPositioner.SetUpdateOptions( updateops ));
+ 
+    iReverseGeoCodeInterface = CPosReverseGeocodeInterface::NewL( *this );
+    
+    iLandmark = CPosLandmark::NewL();
+    
+    iLandmarkPackage = NULL;
+    }
+
+// -----------------------------------------------------------------------------
+// CPosIndicatorLocationRequestor::GetCurrentPosition
+// -----------------------------------------------------------------------------
+void CPosIndicatorLocationRequestor::GetCurrentPosition( const RMessage2&
+                                                         aMessage )
+    { 
+    FUNC("CPosIndicatorLocationRequestor::GetCurrentPosition");
+    // If location fix is already available and this is waiting for address info,
+    // reply the message with the fix available
+    if( iOperation == ECurrentAddress )
+        {
+        FUNC("iOperation == ECurrentAddress");
+        TPckg<TPositionSatelliteInfo> posSatPckg( iPositionInfo );
+        TInt error = aMessage.Write( KParamCurrentPosition,posSatPckg );
+        aMessage.Complete( error );
+        }
+    else 
+        {
+        FUNC("iOperation != ECurrentAddress");
+        // Store client's message
+        iPositionRequestQueue.Append( aMessage );   
+        // If the requestor is idle without doing any operation, request
+        // current location.
+        if( iOperation == ENone )
+            {
+            FUNC("iOperation == ENone");
+            iOperation = ELastKnownPosition;
+            
+            // Last known position.
+            iPositioner.GetLastKnownPosition( iLastKnownInfo,iStatus );
+            SetActive();
+            }
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CPosIndicatorLocationRequestor::GetCurrentAddressInfoSizeL
+// -----------------------------------------------------------------------------
+void CPosIndicatorLocationRequestor::GetCurrentAddressInfoSizeL( const RMessage2& 
+                                                                 aMessage )
+    {
+    FUNC("CPosIndicatorLocationRequestor::GetCurrentAddressInfoSizeL");
+    // Store client's message
+    iAddressRequestQueue.Append( aMessage );
+    
+    // If the requestor is idle without doing any operation, request
+    // address information.
+    if( iOperation == ENone )
+        {
+        iOperation = ECurrentAddress;
+        // Clear previous landmark information.
+        iLandmark->RemoveLandmarkAttributes( CPosLandmark::EAllAttributes );
+        TPosition position;
+        iPositionInfo.GetPosition( position );
+        iLandmark->SetPositionL( position );
+        iReverseGeoCodeInterface->GetAddressByCoordinateL( *iLandmark );
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CPosIndicatorLocationRequestor::GetCurrentAddressInfoL
+// -----------------------------------------------------------------------------
+void CPosIndicatorLocationRequestor::GetCurrentAddressInfoL( const RMessage2& 
+                                                             aMessage )
+    {
+    FUNC("CPosIndicatorLocationRequestor::GetCurrentAddressInfoL");
+    TInt error = aMessage.Write( KParamCurrentAddress,*iLandmarkPackage );
+    aMessage.Complete( error );
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPosIndicatorLocationRequestor::RunL
+// -----------------------------------------------------------------------------
+void CPosIndicatorLocationRequestor::RunL()
+    {
+    FUNC("CPosIndicatorLocationRequestor::RunL");
+    LOG("Error Status : ", iStatus.Int());
+    switch( iOperation )
+        {
+        case ELastKnownPosition:
+            {
+                // Check the time stamp of the last fix, if the fix is 10 sec
+                // old, request for the new fix.
+                TPosition position;
+                iLastKnownInfo.GetPosition( position );
+                TTime timeOfFix = position.Time();
+                TTime currentTime;
+                currentTime.HomeTime();
+                timeOfFix += TTimeIntervalSeconds( KMaxUpdateAge );
+                if( iStatus.Int() == KErrNone && timeOfFix < currentTime && 
+                	!(Math::IsNaN( position.Latitude() ) || Math::IsNaN( position.Longitude() ) ) )
+                    {
+                    // Set the last knowm position to position info to send it to
+                    // client.
+                    iPositionInfo.SetPosition( position );
+                    }
+                else
+                    {
+                    iOperation = ECurrentPosition;
+                 
+                    // Request current position.
+                    iPositioner.NotifyPositionUpdate( iPositionInfo,iStatus );
+                    SetActive();
+                    return;
+                    }
+            	}
+        case ECurrentPosition:
+            {
+            // Reset operation id
+            iOperation = ENone;
+            // Pack the satellite position information 
+            TPckg<TPositionSatelliteInfo> posSatPckg( iPositionInfo );
+            TInt count = iPositionRequestQueue.Count();
+            for( TInt i=0;i<count;++i )
+                {
+                TInt error = iStatus.Int();
+                if( error == KErrNone )
+                    {
+                    error = iPositionRequestQueue[i].Write( KParamCurrentPosition,posSatPckg );
+                    }
+                iPositionRequestQueue[i].Complete( error );
+                }
+            // All the messages in the position request queue are completed. Hence reset the list.
+            iPositionRequestQueue.Reset();
+            break;
+            }
+        case ECurrentAddress:
+            {
+            FUNC("ECurrentAddress");
+            // Reset operation id
+            iOperation = ENone;
+            // Pack landmarks information
+            delete iLandmarkPackage;
+			iLandmarkPackage = NULL;
+            iLandmarkPackage = PosLandmarkSerialization::PackL( *iLandmark );
+            TInt count = iAddressRequestQueue.Count();
+            for( TInt i=0;i<count;i++ )
+                {
+                TInt error = iStatus.Int();
+                if( error == KErrNone )
+                    {
+                    TPckg<TInt> size( iLandmarkPackage->Size() );
+                    error = iAddressRequestQueue[i].Write( KParamCurrentAddressSize,size );
+                    }
+                iAddressRequestQueue[i].Complete( error );
+                }
+            // All the messages in the address request queue are completed. Hence reset the list.
+            iAddressRequestQueue.Reset();
+            break;
+            }
+
+        default:
+            {
+            FUNC("- CPosIndicatorLocationRequestor::RunL default case");
+            break;
+            }
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CPosIndicatorLocationRequestor::CancelRequest
+// -----------------------------------------------------------------------------
+void CPosIndicatorLocationRequestor::CancelRequest( const RMessage2& aMessage )
+    {
+    // Iterate through the outstanding request and check whether there are 
+    // outstanding request from the subsession from which cancel call is 
+    // received.
+    RMessage2 outStandingMessage;
+    TBool outStandingFlag = EFalse;
+    TInt count = iPositionRequestQueue.Count();
+    for( TInt i=0;i<count;++i )
+        {
+        if( iPositionRequestQueue[i].SecureId() == aMessage.SecureId() &&
+            iPositionRequestQueue[i].Int3() == aMessage.Int3() )
+            {
+            outStandingMessage = iPositionRequestQueue[i];
+            iPositionRequestQueue.Remove(i);
+            outStandingFlag = ETrue;
+            break;
+            }
+        }
+    
+    // If the outstanding request is not found in the position request queue,
+    // search address request queue.
+    if( !outStandingFlag )
+        {   
+        count = iAddressRequestQueue.Count();
+        for( TInt i=0;i<count;++i )
+            {
+            if( iAddressRequestQueue[i].SecureId() == aMessage.SecureId() &&
+                iAddressRequestQueue[i].Int3() == aMessage.Int3() )
+                {
+                outStandingMessage = iAddressRequestQueue[i];
+                iAddressRequestQueue.Remove(i);
+                outStandingFlag = ETrue;
+                break;
+                }
+            }
+        }
+    
+    // If the both position and address request queue are zero, cancel outstanding request
+    if( !iAddressRequestQueue.Count() &&
+        !iPositionRequestQueue.Count() )
+        {
+        Cancel();
+        }
+    if( outStandingFlag )
+        {
+        outStandingMessage.Complete( KErrCancel );
+        }
+    // Complete cancel request.
+    aMessage.Complete( KErrNone );
+    }
+
+// -----------------------------------------------------------------------------
+// CPosIndicatorLocationRequestor::DoCancel
+// -----------------------------------------------------------------------------
+void CPosIndicatorLocationRequestor::DoCancel()
+    {
+    FUNC("CPosIndicatorLocationRequestor::DoCancel");
+    switch( iOperation )
+        {
+        case ELastKnownPosition:
+            {
+            iPositioner.CancelRequest( RPositionerSubSessionBase::EReqGetLastKnownPosition );
+            break;
+            }
+        case ECurrentPosition:
+            {
+            iPositioner.CancelRequest( RPositionerSubSessionBase::EReqNotifyPositionUpdate );
+            break;
+            }    
+        case ECurrentAddress:    
+            {
+            iReverseGeoCodeInterface->Cancel();
+            break;
+            }
+        default:
+            break;
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CPosIndicatorLocationRequestor::ReverseGeocodeComplete
+// -----------------------------------------------------------------------------
+void CPosIndicatorLocationRequestor::ReverseGeocodeComplete( TInt aErrorcode )
+    {
+    FUNC("CPosIndicatorLocationRequestor::ReverseGeocodeComplete");
+    // Here we self complete our active to release the control from this 
+    // call back method.
+    iStatus = KRequestPending;
+    SetActive();
+    TRequestStatus* statusPtr = &iStatus;
+    User::RequestComplete( statusPtr,aErrorcode );
+    }
+
+// End of file.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posindicatorhelperserver/src/posindicatorservercore.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,132 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implementation of server core class.
+*
+*/
+
+#include "posindicatorservercore.h"
+#include "posindicatorserversession.h"
+#include "posindicatorserverconst.h"
+#include "posindicatorlogger.h"
+
+// Priorty of server
+// This number has its origin in Symbian development.
+// The priority of a server active object should be 950.
+enum
+    {
+    EPriority=950
+    };
+
+//---------------------------------------------------------------
+// CPosIndicatorServerCore::NewLC
+//---------------------------------------------------------------
+CPosIndicatorServerCore* CPosIndicatorServerCore::NewLC()
+    {
+    FUNC("CPosIndicatorServerCore::NewLC");
+    CPosIndicatorServerCore* self = new( ELeave )
+                                    CPosIndicatorServerCore;
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+
+//---------------------------------------------------------------
+// CPosIndicatorServerCore::CPosIndicatorServerCore
+//---------------------------------------------------------------
+CPosIndicatorServerCore::CPosIndicatorServerCore( 
+                        TServerType aServerType ):
+                        CServer2( EPriority,aServerType ),
+                        iSessionCount( 0 )
+    {
+    FUNC("CPosIndicatorServerCore::CPosIndicatorServerCore");
+    }
+
+//---------------------------------------------------------------
+// CPosIndicatorServerCore::~CPosIndicatorServerCore
+//---------------------------------------------------------------
+CPosIndicatorServerCore::~CPosIndicatorServerCore()
+    {
+    FUNC("CPosIndicatorServerCore::~CPosIndicatorServerCore");
+    delete iLocationRequestor;
+    iLocationRequestor = NULL;
+    }
+
+//---------------------------------------------------------------
+// CPosIndicatorServerCore::StartL
+//---------------------------------------------------------------     
+void CPosIndicatorServerCore::StartL(const TDesC &aName)
+    {
+    FUNC("CPosIndicatorServerCore::StartL");
+    CServer2::StartL(aName);
+    }
+
+//---------------------------------------------------------------
+// CPosIndicatorServerCore::ConstructL
+//---------------------------------------------------------------
+void CPosIndicatorServerCore::ConstructL()
+    {
+    FUNC("CPosIndicatorServerCore::ConstructL");
+    iLocationRequestor = CPosIndicatorLocationRequestor::NewL();
+    }
+        
+//---------------------------------------------------------------
+// CPosIndicatorServerCore::NewSessionL
+//---------------------------------------------------------------
+CSession2* CPosIndicatorServerCore::NewSessionL( const TVersion& aVersion, 
+                                                 const RMessage2& /*aMessage*/ ) const
+   {
+   FUNC("CPosIndicatorServerCore::NewSessionL"); 
+   // Check if we're the right version
+   TVersion version( KMajorVersionNumber,
+                     KMinorVersionNumber,
+                     KBuildVersionNumber );
+   if (!User::QueryVersionSupported(version, aVersion))
+       {
+       User::Leave(KErrNotSupported);
+       }
+   CPosIndicatorServerSession* session = CPosIndicatorServerSession::NewL( *this );
+   iSessionCount++;
+   return session; 
+   }
+
+//---------------------------------------------------------------
+// CPosIndicatorServerCore::GetLocationRequestorHandle
+//---------------------------------------------------------------
+CPosIndicatorLocationRequestor* CPosIndicatorServerCore::
+                                        GetLocationRequestorHandle() const
+    {
+    FUNC("CPosIndicatorServerCore::GetLocationRequestorHandle");
+    return iLocationRequestor;
+    }
+
+//---------------------------------------------------------------
+// CPosIndicatorServerCore::HandleSessionClosure
+//---------------------------------------------------------------
+void CPosIndicatorServerCore::HandleSessionClosure() const
+    {
+    FUNC("CPosIndicatorServerCore::HandleSessionClosure");
+    // If all the sessions are closed, server should exit. 
+    // This can be achieved by stop the active scheduler.
+    iSessionCount--;
+    
+    // Check the count of session iterator
+    if( !iSessionCount )
+        {
+        CActiveScheduler::Stop();
+        }
+    }
+
+
+// End of file.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posindicatorhelperserver/src/posindicatorserversession.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,178 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implementation of server session class.
+*
+*/
+
+#include "posindicatorserversession.h"
+#include "posindicatorservercore.h"
+#include "posindicatorserversubsession.h"
+#include "posindicatorserverconst.h"
+#include "posindicatorsubsessionregistry.h"
+#include "posindicatorlogger.h"
+
+//---------------------------------------------------------------
+// CPosIndicatorServerSession::NewL
+//---------------------------------------------------------------
+CPosIndicatorServerSession* CPosIndicatorServerSession::NewL(
+                            const CPosIndicatorServerCore& aServerCore )
+    {
+    FUNC("CPosIndicatorServerSession::NewL");
+    CPosIndicatorServerSession* self = new( ELeave )
+                                  CPosIndicatorServerSession( aServerCore );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+//---------------------------------------------------------------
+// CPosIndicatorServerSession::CPosIndicatorServerSession
+//---------------------------------------------------------------
+CPosIndicatorServerSession::CPosIndicatorServerSession(
+                            const CPosIndicatorServerCore& aServerCore ):
+                            iServerCore( aServerCore )
+    {
+    FUNC("CPosIndicatorServerSession::CPosIndicatorServerSession");
+    }
+
+// ---------------------------------------------------------------------------
+// CPosIndicatorServerSession::~CPosIndicatorServerSession
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CPosIndicatorServerSession::~CPosIndicatorServerSession()
+    {
+    FUNC("CPosIndicatorServerSession::~CPosIndicatorServerSession");
+    delete iSubSessionRegistry;
+    iServerCore.HandleSessionClosure();
+    }
+
+// ---------------------------------------------------------------------------
+// CPosIndicatorServerSession::ConstructL()
+// 2nd phase constructor for instantiating member variables
+// ---------------------------------------------------------------------------
+void CPosIndicatorServerSession::ConstructL()
+    {
+    FUNC("CPosIndicatorServerSession::ConstructL");
+    iSubSessionRegistry = CPosIndicatorSubSessionRegistry::NewL();
+    }
+
+//---------------------------------------------------------------
+// CPosIndicatorServerSession::SecureId
+//---------------------------------------------------------------
+void CPosIndicatorServerSession::ServiceL( const RMessage2 &aMessage )
+    {
+    FUNC("CPosIndicatorServerSession::ServiceL");
+    switch( aMessage.Function() )
+        {
+        case ESubSessionOpen:
+            {
+            FUNC("ESubSessionOpen");
+            CreateSubSessionL( aMessage );                
+            break;
+            }
+        case ESubSessionClose:
+            {
+            FUNC("ESubSessionClose");
+            // Close the sub-session and free the sub-session object
+            TInt retVal = iSubSessionRegistry->CloseSubSession( aMessage.Int3() );
+            aMessage.Complete( retVal );
+            break;
+            }
+        default: // Forward other messages to the sub-session
+            {
+            ForwardToSubSessionL( aMessage );
+            break;
+            }
+        }
+    }
+
+//---------------------------------------------------------------
+// CPosIndicatorServerSession::SecureId
+//---------------------------------------------------------------
+void CPosIndicatorServerSession::ServiceError( const RMessage2& aMessage,
+                                               TInt aError )
+    {
+    FUNC("CPosIndicatorServerSession::ServiceError");
+    aMessage.Complete( aError );
+    }
+
+//---------------------------------------------------------------
+// CPosIndicatorServerSession::Disconnect
+//---------------------------------------------------------------
+void CPosIndicatorServerSession::Disconnect( const RMessage2& aMessage )
+    {
+    FUNC("CPosIndicatorServerSession::Disconnect");
+    CSession2::Disconnect( aMessage );
+    }
+
+// ---------------------------------------------------------------------------
+// CPosIndicatorServerSession::CreateSubSessionL
+// ---------------------------------------------------------------------------
+//
+void CPosIndicatorServerSession::CreateSubSessionL( const RMessage2& aMessage )
+    {
+    FUNC("CPosIndicatorServerSession::CreateSubSessionL");
+    CPosIndicatorServerSubsession* subSession = 
+                        CPosIndicatorServerSubsession::NewL(
+                                    *iServerCore.GetLocationRequestorHandle());
+    CleanupStack::PushL( subSession );
+    // If the NewL cannot allocate then it leaves with KErrMemory. In such a
+    // scenario the ServiceError is invoked which responds to the IPC message
+    // with the error code. Hence no special handling is required for
+    // KErrNoMemory here.
+
+    TInt subSessionHandle = iSubSessionRegistry->AddSubSessionL( subSession );
+    CleanupStack::Pop(subSession); // subSession ownership taken by registry
+   
+    // Set the client subsession identifier.    
+    TPckg<TInt> handlePackage( subSessionHandle );    
+    TInt retVal = aMessage.Write( KParamSubsessionHandle,handlePackage );
+
+    // The error code from Write has to be handled as below,
+    // If the retVal is an error code then 
+    //      close the open subsession first.
+    //      If error is KErrBadDescriptor then panic the client
+    //      else complete the message with the error code.
+    // else complete the message with KErrNone.
+    if ( retVal != KErrNone )
+        {
+        // close the open subsession first.
+        iSubSessionRegistry->CloseSubSession( subSessionHandle );     
+        }
+    aMessage.Complete( retVal );
+    }
+
+// ---------------------------------------------------------------------------
+// CPosIndicatorServerSession::ForwardToSubSessionL
+// ---------------------------------------------------------------------------
+void CPosIndicatorServerSession::ForwardToSubSessionL(const RMessage2& aMessage)
+    {
+    FUNC("CPosIndicatorServerSession::ForwardToSubSessionL");
+    CPosIndicatorServerSubsession* subSession = 
+            iSubSessionRegistry->SubSessionFromHandle(aMessage.Int3());
+            
+    if (!subSession)
+        {
+        // Complete client's request if the sub-session handle is not 
+        // present in the registry
+        aMessage.Complete( KErrNotFound );              
+        }
+    else
+        {
+        subSession->ServiceL(aMessage);
+        }
+    }
+// End of file.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posindicatorhelperserver/src/posindicatorserversubsession.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,102 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implementation of subsession class.
+*
+*/
+
+// INCLUDES
+#include "posindicatorserversubsession.h"
+#include "posindicatorserversession.h"
+#include "posindicatorservercore.h"
+#include "posindicatorlocationrequestor.h"
+#include "posindicatorserverconst.h"
+#include "posindicatorlogger.h"
+
+// ---------------------------------------------------------------------------
+// CPosIndicatorServerSubsession::NewL
+// ---------------------------------------------------------------------------
+CPosIndicatorServerSubsession* CPosIndicatorServerSubsession::NewL( 
+                                                CPosIndicatorLocationRequestor&
+                                                aLocationRequestor )
+    { 
+    FUNC("CPosIndicatorServerSubsession::NewL");
+    CPosIndicatorServerSubsession* self = new ( ELeave ) 
+                                    CPosIndicatorServerSubsession( aLocationRequestor );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// CPosIndicatorServerSubsession::CPosIndicatorServerSubsession
+// ---------------------------------------------------------------------------
+CPosIndicatorServerSubsession::CPosIndicatorServerSubsession(
+                                                CPosIndicatorLocationRequestor&
+                                                aLocationRequestor ):
+                                                iLocationRequestor( aLocationRequestor )
+    {
+    FUNC("CPosIndicatorServerSubsession::CPosIndicatorServerSubsession");
+    }
+
+// ---------------------------------------------------------------------------
+// CPosIndicatorServerSubsession::~CPosIndicatorServerSubsession
+// ---------------------------------------------------------------------------
+CPosIndicatorServerSubsession::~CPosIndicatorServerSubsession()
+    {
+    FUNC("CPosIndicatorServerSubsession::~CPosIndicatorServerSubsession");
+    }
+
+// ---------------------------------------------------------------------------
+// CPosIndicatorServerSubsession::ConstructL
+// ---------------------------------------------------------------------------
+void CPosIndicatorServerSubsession::ConstructL()
+    {
+    FUNC("CPosIndicatorServerSubsession::ConstructL");
+    }
+
+// ---------------------------------------------------------------------------
+// CPosIndicatorServerSubsession::ServiceL
+// ---------------------------------------------------------------------------
+void CPosIndicatorServerSubsession::ServiceL( const RMessage2 &aMessage )
+    {
+    FUNC("+ CPosIndicatorServerSubsession::ServiceL");
+    switch( aMessage.Function() )
+        {
+        case EGetCurrentPosition:
+            {
+            iLocationRequestor.GetCurrentPosition( aMessage );
+            break;
+            }
+        case EGetCurrentAddressInfoSize:
+            {
+            iLocationRequestor.GetCurrentAddressInfoSizeL( aMessage );
+            break;
+            }
+        case EGetCurrentAddressInfo:
+            {
+            iLocationRequestor.GetCurrentAddressInfoL( aMessage );
+            break;
+            }
+        case ECancelCurrentOperation:
+            {
+            iLocationRequestor.CancelRequest( aMessage );            
+            break;
+            }
+        default:
+            aMessage.Complete( KErrNotFound );
+        }
+    }
+
+// end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posindicatorhelperserver/src/posindicatorsubsessionregistry.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,106 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implementation of subsession registry class.
+*
+*/
+
+
+// INCLUDE FILES
+
+#include "posindicatorsubsessionregistry.h"
+#include "posindicatorserversubsession.h"
+#include "posindicatorlogger.h"
+#include <e32base.h>
+
+// ---------------------------------------------------------------------------
+// CPosIndicatorSubSessionRegistry::NewL
+// ---------------------------------------------------------------------------
+CPosIndicatorSubSessionRegistry* CPosIndicatorSubSessionRegistry::NewL()
+    {
+    FUNC("CPosIndicatorSubSessionRegistry::NewL");
+    CPosIndicatorSubSessionRegistry* self = new ( ELeave ) CPosIndicatorSubSessionRegistry;
+    CleanupStack::PushL( self );
+    self->ConstructL();    
+    CleanupStack::Pop();
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// CPosIndicatorSubSessionRegistry::CPosIndicatorSubSessionRegistry
+// ---------------------------------------------------------------------------
+CPosIndicatorSubSessionRegistry::CPosIndicatorSubSessionRegistry()
+    {   
+    FUNC("CPosIndicatorSubSessionRegistry::CPosIndicatorSubSessionRegistry");
+    }
+
+// ---------------------------------------------------------------------------
+// CPosIndicatorSubSessionRegistry::~CPosIndicatorSubSessionRegistry
+// ---------------------------------------------------------------------------
+CPosIndicatorSubSessionRegistry::~CPosIndicatorSubSessionRegistry()
+    {
+    FUNC("CPosIndicatorSubSessionRegistry::~CPosIndicatorSubSessionRegistry");
+    delete iRegistryIndex;
+    delete iRegistryContainerIndex;
+    }
+
+
+// ---------------------------------------------------------------------------
+// CPosIndicatorSubSessionRegistry::ConstructL
+// ---------------------------------------------------------------------------
+void CPosIndicatorSubSessionRegistry::ConstructL()
+    {
+    FUNC("CPosIndicatorSubSessionRegistry::ConstructL");
+    iRegistryIndex = CObjectIx::NewL();
+    iRegistryContainerIndex = CObjectConIx::NewL();
+    iRegistryContainer = iRegistryContainerIndex->CreateL();
+    }
+
+// ---------------------------------------------------------------------------
+// CPosIndicatorSubSessionRegistry::AddSubSessionL
+// ---------------------------------------------------------------------------
+TInt CPosIndicatorSubSessionRegistry::AddSubSessionL(
+                                    CPosIndicatorServerSubsession* aSubSession)
+    {
+    FUNC("CPosIndicatorSubSessionRegistry::AddSubSessionL");
+    iRegistryContainer->AddL( aSubSession );
+    return iRegistryIndex->AddL( aSubSession );
+    }
+
+// ---------------------------------------------------------------------------
+// CPosIndicatorSubSessionRegistry::CloseSubSession
+// ---------------------------------------------------------------------------
+TInt CPosIndicatorSubSessionRegistry::CloseSubSession( TUint aHandle )
+    { 
+    FUNC("CPosIndicatorSubSessionRegistry::CloseSubSession");
+    if ( iRegistryIndex->At( aHandle ) )
+        {
+        // Removes the sub-session object and closes
+        // the handle i,e. destroys the object
+        iRegistryIndex->Remove( aHandle );
+        return KErrNone;
+        }
+    return KErrBadHandle;
+    }
+
+// ---------------------------------------------------------------------------
+// CPosIndicatorSubSessionRegistry::SubSessionFromHandle
+// ---------------------------------------------------------------------------
+CPosIndicatorServerSubsession* CPosIndicatorSubSessionRegistry::
+                                            SubSessionFromHandle( TUint aHandle )
+    {
+    FUNC("CPosIndicatorSubSessionRegistry::SubSessionFromHandle");
+    return static_cast<CPosIndicatorServerSubsession*> (iRegistryIndex->At(aHandle));
+    }
+
+// end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posindicatorplugin/inc/apilogger.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,37 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  This class provides function that help in logging entry and exit of APIs of classes
+*
+*/
+
+#include <iostream>
+#include <fstream> 
+#include <QDebug>
+#include <qfile.h>
+#include <qtextstream.h>
+
+using namespace std;
+
+// Flag to enable NFT logging
+//#define POSINDICATOR_NFT
+
+class ApiLogger
+    {
+    public:
+    static void OpenLogFile();
+    static void CloseLogFile();
+    static void MyOutputHandler(QtMsgType type, const char *msg);
+    static void NftLogger( const QString msg  );
+    };
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posindicatorplugin/inc/posindicator.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,145 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation for positioning indicator plugin class
+*
+*/
+
+#ifndef POS_INDICATOR_PLUGIN_H
+#define POS_INDICATOR_PLUGIN_H
+
+#include <QObject>
+#include <QStringList>
+#include <QVariant>
+
+#include <hbindicatorplugininterface.h>
+#include <hbindicatorinterface.h>
+
+
+class PosIndicatorInfo;
+class PosGeoAddress;
+class QTranslator;
+
+// Indicator Plugin class
+class PosIndicatorPlugin : public QObject, public HbIndicatorPluginInterface
+{
+    Q_OBJECT
+    Q_INTERFACES(HbIndicatorPluginInterface)
+
+public:
+	 /**
+    * Constructor 
+    */
+    PosIndicatorPlugin();
+	 /**
+    * Destructor 
+    */    
+    ~PosIndicatorPlugin();
+
+   /**
+    * Returns indicator types implemented by this plugin
+    * @return List of strings that denote indicator types implemented
+    */
+    QStringList indicatorTypes() const;
+    
+   /**
+    * creates an indicator of type indicatorType
+    * @param[in] String representing indicator type
+    * @return Pointer to HbIndicatorInterface
+    */
+    HbIndicatorInterface* createIndicator(const QString &indicatorType);
+ 
+    /**
+    * Virtual function to check for capabilities for calling client
+    * @return true if client has Location capability
+			  false if client does not have Location capability
+    */
+	bool accessAllowed(const QString &indicatorType, const QVariantMap &securityInfo) const;
+
+   /**
+    * Returns the last error code
+    * @return error code integer
+    */
+    int error() const;
+    
+private:
+    Q_DISABLE_COPY(PosIndicatorPlugin)
+    int mError;
+    QStringList mIndicatorTypes;
+    /**
+       * Holds localization translator handle
+       * OWns
+       */
+    QTranslator* mTranslator;  
+};
+
+// Indicator class that the indicator plugin implements
+class PosIndicator : public HbIndicatorInterface
+{
+    Q_OBJECT
+public:
+	 /**
+    * Constructor 
+    */
+    PosIndicator(const QString &indicatorType);
+	 
+	 /**
+    * Destructor 
+    */
+    ~PosIndicator();
+	 
+   /**
+    * Returns the data element store based on role 
+    * @param[in] role
+    * @return Data stored for the role.
+    */
+    QVariant indicatorData(int role) const;
+
+    /*
+     * Called when Indicator menu is about to be shown
+     */
+    bool refreshData();
+    
+private slots:
+    /*
+     * Refreshes indicator pane when new position information is available
+     */
+    void refreshPosIndicatorPane(PosGeoAddress& posGeoAddress, int error);
+
+private : 
+    /*
+     * Converts decimal coordinate information to Degrees, Minutes, 
+     * Seconds value
+     */
+    void ConvertToDMSFormat(QString &dDisplayString, double decimal);
+    
+private :
+    
+    /**
+     * String containing information to be displayed
+     */    
+    QString mDisplayString;
+    
+    /**
+     * Owns
+    **/
+    PosIndicatorInfo* mPosIndicatorInfo;    
+ 
+    /*
+     * Toggle flag to check whether current signal is returns address or co-ordinates
+     */
+    bool processedAddess;
+};
+
+#endif // POS_INDICATOR_PLUGIN_H
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posindicatorplugin/posindicator.pro	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,54 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: posindicator plugin project file
+#
+
+
+TEMPLATE = lib
+TARGET = posindicator
+CONFIG += hb \
+          plugin
+MOC_DIR =     moc
+OBJECTS_DIR = obj
+
+DEPENDPATH += .
+INCLUDEPATH += ../inc
+INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+
+#Uncomment following line to disable logging
+#DEFINES += QT_NO_DEBUG_OUTPUT
+SYMBIAN_PLATFORMS = WINSCW \
+    ARMV5
+
+HEADERS += inc/posindicator.h \
+           inc/apilogger.h
+SOURCES += src/posindicator.cpp \
+           src/apilogger.cpp
+
+LIBS += -lposindicatorhelper
+symbian { 
+    TARGET.EPOCALLOWDLLDATA = 1
+    TARGET.CAPABILITY = CAP_GENERAL_DLL
+    TARGET.UID3 = 0x2002E686
+
+    hblib.sources = Hb.dll
+    hblib.path = \sys\bin
+    hblib.depends = "(0xEEF9EA38), 1, 0, 0, {\"Hb\"}"
+
+    pluginstub.sources = posindicator.dll
+    pluginstub.path = /resource/plugins/indicators
+    DEPLOYMENT += pluginstub
+    
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posindicatorplugin/src/apilogger.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,84 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  This class provides function that help in logging entry and exit of APIs of classes
+*
+*/
+
+
+#include "apilogger.h"
+#include <qdatetime.h>
+
+#ifdef POSINDICATOR_NFT
+const char* debugFileName("c://logs//lbs//posindicatornftlog.txt");
+#else
+const char* debugFileName("c://logs//lbs//posindicatorlog.txt");
+#endif
+
+ofstream logfile;
+QFile file( debugFileName );
+
+void ApiLogger::OpenLogFile() 
+{   
+#ifdef POSINDICATOR_NFT
+    file.open( QIODevice::ReadWrite | QIODevice::Text ) ;
+#else
+    logfile.open(debugFileName, ios::app);
+#endif
+}
+
+void ApiLogger::CloseLogFile() 
+{
+#ifdef POSINDICATOR_NFT
+    file.close();
+#else
+    logfile.flush();
+    logfile.close();
+#endif    
+    
+}
+
+void ApiLogger::MyOutputHandler(QtMsgType type, const char *msg) 
+{    
+    switch (type) {
+        case QtDebugMsg:
+            logfile << QTime::currentTime().toString().toAscii().data() << " Debug: " << msg << "\n";            
+            break;
+        case QtCriticalMsg:
+            logfile << QTime::currentTime().toString().toAscii().data() << " Critical: " << msg << "\n";
+            break;
+        case QtWarningMsg:
+           // logfile << QTime::currentTime().toString().toAscii().data() << " Warning: " << msg << "\n";
+            break;
+        case QtFatalMsg:
+            logfile << QTime::currentTime().toString().toAscii().data() << " Fatal: " << msg << "\n";
+        default:
+            break;
+    }
+    logfile.flush();
+}
+
+
+
+void ApiLogger::NftLogger( const QString msg )
+    {
+    QString displayString( msg );	
+    #ifdef POSINDICATOR_NFT
+    QTextStream stream( &file );
+    QString display( QTime::currentTime().toString("h:m:s:z") );
+    display.append( displayString );
+    stream << display;
+    stream.flush();
+    #endif
+    }
+    
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posindicatorplugin/src/posindicator.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,375 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation for positioning indicator plugin class
+*
+*/
+
+#include "posindicator.h"
+#include "posindicatorinfo.h"
+#include "posgeoaddress.h"
+#include "apilogger.h"
+
+#include <QtPlugin>
+#include <QVariant>
+#include <QDebug>
+#include <QTranslator>
+#include <QTCore>
+
+
+Q_EXPORT_PLUGIN(PosIndicatorPlugin)
+
+// This plugin implements just one indicator type
+const QString typeOfIndicator ="com.nokia.positioning.indicatorplugin/1.0";
+
+// ---------------------------------------------------------------------------
+// PosIndicatorPlugin::PosIndicatorPlugin
+// ---------------------------------------------------------------------------
+//
+PosIndicatorPlugin::PosIndicatorPlugin() : mError(0), mTranslator(0)
+{
+    #ifndef QT_NO_DEBUG_OUTPUT
+    ApiLogger::OpenLogFile();
+        #ifndef POSINDICATOR_NFT
+        qInstallMsgHandler(ApiLogger::MyOutputHandler);
+        #endif
+    #endif
+        
+    qDebug() << "+ PosIndicatorPlugin::PosIndicatorPlugin()";
+    
+    mTranslator = new QTranslator();
+    
+    QString locale = QLocale::system().name();
+    QString path = "z:/resource/qt/translations/";
+    mTranslator->load(path + QString("lilocationmw_") + locale);
+    qApp->installTranslator(mTranslator);
+        
+    mIndicatorTypes.append(typeOfIndicator);
+    qDebug() << "- PosIndicatorPlugin::PosIndicatorPlugin()";
+
+}
+
+// ---------------------------------------------------------------------------
+// PosIndicatorPlugin::~PosIndicatorPlugin
+// ---------------------------------------------------------------------------
+//
+PosIndicatorPlugin::~PosIndicatorPlugin()
+{   
+    qDebug() << "+ PosIndicatorPlugin::~PosIndicatorPlugin()";
+    if (mTranslator)
+    {
+    if (mTranslator->isEmpty() == false)
+        qApp->removeTranslator(mTranslator);
+    delete mTranslator;
+    }
+	qInstallMsgHandler(0);
+    ApiLogger::CloseLogFile();
+}
+
+// ---------------------------------------------------------------------------
+// PosIndicatorPlugin::indicatorTypes
+// ---------------------------------------------------------------------------
+//
+QStringList PosIndicatorPlugin::indicatorTypes() const
+{
+	qDebug() << "+ PosIndicatorPlugin::indicatorTypes()";
+	// Return indicator types this plugin implements
+    return mIndicatorTypes;
+}
+
+// ---------------------------------------------------------------------------
+// PosIndicatorPlugin::createIndicator
+// ---------------------------------------------------------------------------
+//
+HbIndicatorInterface* PosIndicatorPlugin::createIndicator(
+        const QString &indicatorType)
+{
+	qDebug() << "+ PosIndicatorPlugin::createIndicator()";
+	ApiLogger::NftLogger("Before launching indicator");
+    PosIndicator* ind = new PosIndicator( indicatorType );
+    ApiLogger::NftLogger("After launching indicator");
+    return ind;
+}
+
+// ---------------------------------------------------------------------------
+// PosIndicatorPlugin::accessAllowed
+// ---------------------------------------------------------------------------
+//
+bool PosIndicatorPlugin::accessAllowed(const QString &/*indicatorType*/, const QVariantMap &securityInfo) const
+{
+	qDebug() << "+ PosIndicatorPlugin::accessAllowed()";
+	QVariant value = securityInfo.value("sym-caps");
+	if ((value.toInt() && ECapabilityLocation) == true )
+	    {
+        qDebug() << "Location capability present, pass";
+        return true;
+	    }
+	else
+	    {
+        qDebug() << "Location capability absent, fail";
+        return false;
+	    }
+}
+
+// ---------------------------------------------------------------------------
+// PosIndicatorPlugin::error
+// ---------------------------------------------------------------------------
+//
+int PosIndicatorPlugin::error() const
+{
+	qDebug() << "+ PosIndicatorPlugin::error()";
+    return mError;
+}
+
+// ---------------------------------------------------------------------------
+// PosIndicator::PosIndicator
+// ---------------------------------------------------------------------------
+//
+PosIndicator::PosIndicator(const QString &indicatorType) :
+    HbIndicatorInterface(indicatorType, SettingCategory, NoInteraction),
+    mDisplayString(QString(hbTrId("txt_loe_dblist_positioning_val_acquiring_position"))),
+    mPosIndicatorInfo(0),
+    processedAddess(false)
+{
+	qDebug() << "+ PosIndicator::PosIndicator()";
+	qDebug() << "- PosIndicator::PosIndicator()";
+}
+
+// ---------------------------------------------------------------------------
+// PosIndicator::RefreshPosIndicatorPane
+// ---------------------------------------------------------------------------
+//
+void PosIndicator::refreshPosIndicatorPane(PosGeoAddress& posGeoAddress, int error)
+    {
+	qDebug() << "+ PosIndicator::refreshPosIndicatorPane()";
+    if(error!=KErrNone)
+        {
+        qDebug() << "- PosIndicator::refreshPosIndicatorPane(),error code : "<<error;
+        return;
+        }
+    qDebug() << "latitude : "<< posGeoAddress.latitude() << ", longitude : "<<posGeoAddress.longitude();
+    TBool addressResolved = false;
+    qDebug() << " No Errors.";
+    mDisplayString.clear();
+    if(!posGeoAddress.number().isEmpty())
+        {
+        qDebug() << "Number - %s"<<posGeoAddress.number();
+
+        addressResolved = true;
+        mDisplayString = mDisplayString + QString(posGeoAddress.number()) + QString(' '); 
+        }
+    if(!posGeoAddress.street().isEmpty())
+        {
+        qDebug() << "street - %d"<<posGeoAddress.street();
+
+        addressResolved = true;
+        mDisplayString = mDisplayString + QString(posGeoAddress.street()) + QString(' ');
+        }
+    if(!posGeoAddress.district().isEmpty())
+        {
+        qDebug() << "district - %s"<<posGeoAddress.district();
+
+        addressResolved = true;
+        mDisplayString = mDisplayString + QString(posGeoAddress.district()) + QString(' ');
+        }
+    if(!posGeoAddress.city().isEmpty())
+        {
+        qDebug() << "city - %s"<<posGeoAddress.city();
+
+        addressResolved = true;
+        mDisplayString = mDisplayString + QString(posGeoAddress.city()) + QString(' ');
+        }
+    if(!posGeoAddress.state().isEmpty())
+        {
+        qDebug() << "state - %s"<<posGeoAddress.state();
+
+        addressResolved = true;
+        mDisplayString = mDisplayString + QString(posGeoAddress.state()) + QString(' ');
+        }
+    if(!posGeoAddress.country().isEmpty())
+        {
+        qDebug() << "country - %s"<<posGeoAddress.country();
+
+        addressResolved = true;
+        mDisplayString = mDisplayString + QString(posGeoAddress.country());
+        ApiLogger::NftLogger("address information available");
+        }
+    
+    if(addressResolved == false)
+            {
+                qDebug() << "Address Not available, displaying lat,long";
+                QString latitude, longitude;
+                latitude = QString("latitude");
+                ConvertToDMSFormat(latitude, posGeoAddress.latitude());
+                longitude = QString("longitude");
+                ConvertToDMSFormat(longitude, posGeoAddress.longitude());
+
+                QString comma(", ");
+                mDisplayString.clear();
+                mDisplayString.append(latitude);
+                mDisplayString.append(comma);
+                mDisplayString.append(longitude);
+                ApiLogger::NftLogger("Position information available");
+            }
+    
+    if( processedAddess == true)
+        {
+        processedAddess = false;
+        }
+    else
+        {
+        processedAddess = true;
+        }
+    
+    emit dataChanged();
+	qDebug() << "- PosIndicator::refreshPosIndicatorPane()";
+    }
+
+// ---------------------------------------------------------------------------
+// PosIndicator::~PosIndicator
+// ---------------------------------------------------------------------------
+//
+PosIndicator::~PosIndicator()
+{
+    qDebug() << "+ PosIndicator::~PosIndicator()";
+    if(mPosIndicatorInfo)
+    		{
+			mPosIndicatorInfo->cancelPosInfo();
+		    delete mPosIndicatorInfo;
+		    mPosIndicatorInfo = 0;
+				}    			
+    qDebug() << "- PosIndicator::~PosIndicator()";
+}
+
+// ---------------------------------------------------------------------------
+// PosIndicator::indicatorData
+// ---------------------------------------------------------------------------
+//
+QVariant PosIndicator::indicatorData(int role) const
+{
+   qDebug() << "+ PosIndicator::indicatorData(), role = "<< role;
+//    Q_UNUSED(role)
+        
+    if (role == PrimaryTextRole) {
+        return QString(hbTrId("txt_loe_dblist_positioning"));
+    } else if (role == SecondaryTextRole) {
+        return mDisplayString;   
+    } else if (role == DecorationNameRole) {
+        return QString("qtg_mono_gps");
+    } else if (role == MonoDecorationNameRole  ) {
+        return QString("qtg_mono_gps");
+    }
+     else
+        return QVariant();
+}
+
+// ---------------------------------------------------------------------------
+// PosIndicator::refreshData
+// ---------------------------------------------------------------------------
+//
+bool PosIndicator::refreshData()
+    {
+    qDebug() << "+ PosIndicator::refreshData()";
+    if(!mPosIndicatorInfo)
+    {
+    qDebug() << "First Call";
+    	mPosIndicatorInfo = new PosIndicatorInfo();
+			if(!mPosIndicatorInfo)
+	    		{
+                qDebug() << "Error in constructing PosIndicatorInfo class";
+                throw;
+	    		}
+	    		
+     	QObject::connect(mPosIndicatorInfo, SIGNAL(posInfoUpdated(PosGeoAddress&, int)), this, SLOT(refreshPosIndicatorPane(PosGeoAddress&, int))); 
+	  }
+		ApiLogger::NftLogger("Before requesting position information");
+	  qDebug() << "Call requestPosInfo()";
+    mPosIndicatorInfo->requestPosInfo();
+    return true;
+    }
+
+// ---------------------------------------------------------------------------
+// PosIndicator::ConvertToDMSFormat
+// ---------------------------------------------------------------------------
+//
+void PosIndicator::ConvertToDMSFormat(QString &displayString, double decimal)
+{
+    qDebug() << "+ PosIndicator::ConvertToDMSFormat()";
+
+    int tempNum;
+    QString temp;
+    float tempDec;
+    
+    int degrees = (int)decimal;
+    
+    tempDec = decimal - degrees;
+    tempDec = tempDec * 60;
+    int minutes = (int)tempDec;
+
+    tempDec = tempDec - minutes;
+    tempDec = tempDec * 60;
+    int seconds = (int)tempDec;
+    
+    tempDec = tempDec - seconds;
+    tempNum = tempDec * 100;
+ 
+    QVariant varDegrees(degrees);
+    QVariant varMinutes(minutes);
+    QVariant varSeconds(seconds);
+    QVariant varTemp(tempNum);
+       
+    if (QString::compare(displayString, "latitude") == KErrNone)
+    {
+    displayString.clear();
+
+    if (decimal>=0)
+        {
+        displayString = QString(hbTrId("txt_loe_list_l1l2l3l4n"))
+                                .arg(varDegrees.toString())
+                                .arg(varMinutes.toString())
+                                .arg(varSeconds.toString())
+                                .arg(varTemp.toString());
+        }
+    else
+        {
+        displayString = QString(hbTrId("txt_loe_list_l1l2l3l4s"))
+                                .arg(varDegrees.toString())
+                                .arg(varMinutes.toString())
+                                .arg(varSeconds.toString())
+                                .arg(varTemp.toString());
+        }
+    }
+    else
+        {
+        displayString.clear();
+        {
+        if (decimal>=0)
+            {
+            displayString = QString(hbTrId("txt_loe_list_l1l2l3l4e"))
+                                .arg(varDegrees.toString())
+                                .arg(varMinutes.toString())
+                                .arg(varSeconds.toString())
+                                .arg(varTemp.toString());
+            }
+        else
+            {
+            displayString = QString(hbTrId("txt_loe_list_l1l2l3l4w"))
+                                .arg(varDegrees.toString())
+                                .arg(varMinutes.toString())
+                                .arg(varSeconds.toString())
+                                .arg(varTemp.toString());
+            }
+        }
+        }
+    qDebug() << "- PosIndicator::ConvertToDMSFormat()";
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posreversegeocodeinterface/bwins/posreversegeocodeinterfaceu.def	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,4 @@
+EXPORTS
+	?NewL@CPosReverseGeocodeInterface@@SAPAV1@AAVMPosReverseGeocodeObserver@@@Z @ 1 NONAME ; class CPosReverseGeocodeInterface * CPosReverseGeocodeInterface::NewL(class MPosReverseGeocodeObserver &)
+	??1CPosReverseGeocodeInterface@@UAE@XZ @ 2 NONAME ; CPosReverseGeocodeInterface::~CPosReverseGeocodeInterface(void)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posreversegeocodeinterface/eabi/posreversegeocodeinterfaceu.def	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,8 @@
+EXPORTS
+	_ZN27CPosReverseGeocodeInterface4NewLER26MPosReverseGeocodeObserver @ 1 NONAME
+	_ZN27CPosReverseGeocodeInterfaceD0Ev @ 2 NONAME
+	_ZN27CPosReverseGeocodeInterfaceD1Ev @ 3 NONAME
+	_ZN27CPosReverseGeocodeInterfaceD2Ev @ 4 NONAME
+	_ZTI27CPosReverseGeocodeInterface @ 5 NONAME
+	_ZTV27CPosReverseGeocodeInterface @ 6 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posreversegeocodeinterface/group/bld.inf	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,26 @@
+// Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+
+
+PRJ_MMPFILES
+posreversegeocodeinterface.mmp
+
+
+PRJ_EXPORTS
+../inc/posreversegeocodeinterface.h	   |../../inc/posreversegeocodeinterface.h
+../inc/posreversegeocodeinterface.hrh	 |../../inc/posreversegeocodeinterface.hrh
+
+// End of file.
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posreversegeocodeinterface/group/posreversegeocodeinterface.mmp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,40 @@
+// Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+#include <platform_paths.hrh>
+
+TARGET          posreversegeocodeinterface.dll
+TARGETTYPE      dll
+UID             0x1000008d 0x2002E691
+
+VENDORID        VID_DEFAULT
+CAPABILITY      CAP_GENERAL_DLL
+
+
+SOURCEPATH      ../src
+SOURCE          posreversegeocodeinterface.cpp
+
+
+USERINCLUDE     ../inc
+
+MW_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE	/epoc32/include/ecom
+
+
+LIBRARY         euser.lib
+LIBRARY			ecom.lib
+
+
+// End of file
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posreversegeocodeinterface/inc/posreversegeocodeinterface.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,87 @@
+/*
+* 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: Declaration of Geo coding interface class.
+*
+*/
+
+#ifndef POSREVERSEGEOCODEINTERFACE_H
+#define POSREVERSEGEOCODEINTERFACE_H
+
+#include <e32base.h> 
+#include <EPos_CPosLandmark.h>
+
+/*
+ * Observer class which exposes callbacks to notify the completion of reversegeocoding event.
+ *
+ **/
+class MPosReverseGeocodeObserver
+    {
+public:
+    /*
+     * Callback function which notifys the completion of reverse geocode event. This signals the completion
+     * of the asynchronous function CReverseGeoCode::GetAddressByCoordinate.
+     * 
+     *  @param aErrorcode Error status KErrNone in case of success or other system specific errorcodes
+     *                    in case of failures.
+     */
+
+    virtual void ReverseGeocodeComplete( TInt aErrorcode ) =0;
+    };
+
+/*
+ * CReverseGeocode
+ * Concrete class which exposes interfaces to convert the geo-coordinates information
+ * in to the address information.
+ *
+ **/
+class CPosReverseGeocodeInterface : public CBase
+    {
+public:
+    /*
+     * Factory function to create the instance of CReverseGeocode Class. This also registers
+     * observer for getting the reverse geocode completion notifications.
+     * 
+     * @param[in] aObserver refrence to the instance MReverseGeocodeObserver's 
+     *                  implementation class.
+     * @return pointer to the instance of CReverseGeocode.                 
+     */
+    IMPORT_C static CPosReverseGeocodeInterface* NewL( MPosReverseGeocodeObserver& aObserver );
+    
+    /**
+     * Unloads the plugin.
+     */
+    IMPORT_C virtual ~CPosReverseGeocodeInterface();
+    
+    /*
+     * Gets the address information for the given geo coordinates. This is an asynchronous function
+     * Whose completion will be notified by the MReverseGeocodeObserver::ReverseGeocodeComplete callback.
+     * 
+     * @param aLandmark[in] Landmarks object in which address information is expected.
+     * 
+     */
+    IMPORT_C virtual void GetAddressByCoordinateL( CPosLandmark& aLandmark ) = 0;
+    
+    
+    /**
+     * Cancels the current operation.
+     */
+    IMPORT_C virtual void Cancel() = 0;
+private:
+    /**
+     * Instance identifier key
+     */
+    TUid iDtor_ID_Key;
+    };
+
+#endif //POSREVERSEGEOCODEINTERFACE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posreversegeocodeinterface/inc/posreversegeocodeinterface.hrh	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Resource headers for project
+*
+*/
+
+#ifndef POSREVERSEGEOCODEINTERFACE_HRH
+#define POSREVERSEGEOCODEINTERFACE_HRH
+
+// ECom interface ID for reverse geo-code interface
+#define KPosReverseGeoCodeInterfaceId 0x2002E692
+
+
+#endif // POSREVERSEGEOCODEINTERFACE_HRH
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posreversegeocodeinterface/src/posreversegeocodeinterface.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,68 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implementation of Geo coding interface class.
+*
+*/
+
+#include "posreversegeocodeinterface.h"
+#include "posreversegeocodeinterface.hrh"
+
+#include <ecom.h>
+
+// static cleanup function
+static void RImpleInfoPtrArrayCleanup( TAny* aArray )
+    {
+    static_cast<RImplInfoPtrArray*>( aArray )->ResetAndDestroy();
+    }
+
+
+//------------------------------------------------------------------------------
+// CPosReverseGeocodeInterface::NewL
+//------------------------------------------------------------------------------
+EXPORT_C CPosReverseGeocodeInterface* CPosReverseGeocodeInterface::NewL( 
+                                            MPosReverseGeocodeObserver& aObserver )
+    {
+    RImplInfoPtrArray implInfoPtrArray;
+    TCleanupItem arrayCleanup( RImpleInfoPtrArrayCleanup, &implInfoPtrArray );
+    CleanupStack::PushL(arrayCleanup);
+    
+    TUid implementationUID;
+    
+    REComSession::ListImplementationsL( TUid::Uid(KPosReverseGeoCodeInterfaceId),
+                                        implInfoPtrArray );
+    
+    if( implInfoPtrArray.Count() == 0 )
+        {
+        implInfoPtrArray.ResetAndDestroy();
+        User::Leave( KErrNotFound );
+        }
+
+    const CImplementationInformation* pluginInformation = implInfoPtrArray[0];
+    implementationUID = pluginInformation->ImplementationUid();
+                                            
+    TAny* ptr = REComSession::CreateImplementationL( implementationUID,
+                                                     _FOFF(CPosReverseGeocodeInterface,iDtor_ID_Key),
+                                                     reinterpret_cast<TAny*>( &aObserver ));
+    REComSession::FinalClose();
+    CleanupStack::PopAndDestroy(); // arrayCleanup
+    return reinterpret_cast<CPosReverseGeocodeInterface*>(ptr);
+    }
+
+//----------------------------------------------------------------------------------
+// CPosReverseGeocodeInterface::~CPosReverseGeocodeInterface
+//----------------------------------------------------------------------------------
+EXPORT_C CPosReverseGeocodeInterface::~CPosReverseGeocodeInterface()
+    {
+    REComSession::DestroyedImplementation(iDtor_ID_Key);
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posreversegeocodeplugin/data/2002E68A.rss	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,42 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Resource file for reverse geo code plugin
+*
+*/
+#include <registryinfo.rh>
+#include "posreversegeocodeinterface.hrh"
+#include "posreversegeocodeplugin.hrh"
+
+RESOURCE REGISTRY_INFO theInfo
+{
+dll_uid = KPosReverseGeoCodePluginUid;
+interfaces = 
+    {
+    INTERFACE_INFO
+        {
+        interface_uid = KPosReverseGeoCodeInterfaceId;
+        implementations = 
+            {
+            IMPLEMENTATION_INFO
+                {
+                implementation_uid  = KPosReverseGeoCodeImplementationUid;
+                version_no          = 1;
+                display_name        = "Geocode plugin";
+                default_data        = "text/ascii";
+                opaque_data         = ""; 
+                }
+            };
+        }
+    };
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posreversegeocodeplugin/data/posreversegeocodeplugin.hrh	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Resource headers for project
+*
+*/
+
+
+#ifndef POSREVERSEGEOCODEPLUGIN_HRH
+#define POSREVERSEGEOCODEPLUGIN_HRH
+
+#define KPosReverseGeoCodePluginUid          0x2002E68A
+#define KPosReverseGeoCodeImplementationUid  0x2002E693
+
+
+#endif // POSREVERSEGEOCODEPLUGIN_HRH
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posreversegeocodeplugin/group/bld.inf	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*
+*/
+
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_MMPFILES
+posreversegeocodeplugin.mmp
+
+// END OF FILE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posreversegeocodeplugin/group/posreversegeocodeplugin.mmp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,71 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Project definition file for project reverse geo-code plugin
+*
+*/
+
+
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+
+TARGET                  posrevgeocodeplugin.dll
+TARGETTYPE              PLUGIN
+UID                     0x10009D8D 0x2002E68A
+
+CAPABILITY              CAP_GENERAL_DLL
+VENDORID                VID_DEFAULT
+
+MW_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE           /epoc32/include/ecom
+
+
+USERINCLUDE             ../inc
+USERINCLUDE             ../../inc
+USERINCLUDE             ../data
+
+SOURCEPATH              ../src
+
+SOURCE                  posrevgeocodeplugin.cpp
+SOURCE                  posrevgeocodeconnectiontimer.cpp 
+SOURCE                  posrevgeocodexmlparser.cpp
+SOURCE                  posrevgeocodehttpclientengine.cpp
+
+
+START RESOURCE          ../data/2002E68A.rss
+TARGET                  posrevgeocodeplugin.rsc
+END
+
+LIBRARY                 euser.lib
+LIBRARY                 ecom.lib
+LIBRARY                 posreversegeocodeinterface.lib
+LIBRARY                 insock.lib  
+LIBRARY                 inetprotutil.lib
+LIBRARY                 http.lib
+LIBRARY                 bafl.lib
+LIBRARY                 commdb.lib
+LIBRARY                 cmmanager.lib 
+LIBRARY                 xmlframework.lib
+LIBRARY                 esock.lib
+LIBRARY                 lbs.lib
+LIBRARY                 libc.lib
+LIBRARY                 charconv.lib
+LIBRARY                 extendedconnpref.lib
+LIBRARY                 eposlandmarks.lib
+LIBRARY                 extendedconnpref.lib
+LIBRARY                 netmeta.lib
+LIBRARY                 flogger.lib
+PAGED
+// END OF FILE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posreversegeocodeplugin/inc/posrevgeocodeconnectiontimer.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,79 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Declaration of connection timer class.
+*
+*/
+
+#ifndef POSREVGEOCODECONNECTIONTIMER_H
+#define POSREVGEOCODECONNECTIONTIMER_H
+
+// INCLUDES
+#include <e32std.h>
+#include <e32base.h>
+
+class MPosRevGeoCodeTimeoutObserver
+    {
+public:
+    virtual void HandleTimedoutEvent( TInt aErrorCode ) = 0;
+    };
+
+
+/**
+ * This is the timer class responsible for notifying client's on 
+ * time out specified by the client.
+ */
+class CPosRevGeoCodeConnectionTimer : public CTimer
+    {
+public:
+    /**
+     *  Factory function to create the instance of CPosRevGeoCodeConnectionTimer object.
+     */
+    static CPosRevGeoCodeConnectionTimer* NewL( MPosRevGeoCodeTimeoutObserver&
+                                                aConnectionTimeoutHandlerInterface);
+    
+    /**
+     * Destructor
+     */
+    ~CPosRevGeoCodeConnectionTimer();
+    
+    /**
+     * Starts the timer with specified time out.
+     * @return KErrInUse If timer is already running.
+     */
+    TInt StartTimer( const TInt aTimeoutVal );
+
+     
+protected: // From CTimer
+    void RunL();
+      
+private:
+    /**
+     * Symbian 2nd phase constructor
+     */  
+    void ConstructL();
+    
+    /**
+     * Constructor
+     */
+    CPosRevGeoCodeConnectionTimer( MPosRevGeoCodeTimeoutObserver& aConnectionTimeoutHandler );
+
+private: // Data member
+    /**
+     * Reference to connection time out observer
+     */
+    MPosRevGeoCodeTimeoutObserver& iConnectionTimeoutObserver;
+    };
+
+
+#endif /* POSREVGEOCODECONNECTIONTIMER_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posreversegeocodeplugin/inc/posrevgeocodehttpclientengine.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,203 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Declaration of HTTP client engine class.
+*
+*/
+
+#ifndef POSREVGEOCODEHTTPCLIENTENGINE_H
+#define POSREVGEOCODEHTTPCLIENTENGINE_H
+
+#include <http/mhttptransactioncallback.h>
+#include <http/mhttpauthenticationcallback.h>
+#include <es_sock.h>
+#include <cmmanager.h>
+#include <comms-infras/cs_mobility_apiext.h>
+
+
+
+class RHTTPSession;
+class RHTTPTransaction;
+
+const TInt KDefaultBufferSize = 256;
+
+/*
+ *  Enumration for the different states of HTTP GET request.
+ */
+enum THttpStatus
+    {
+    EHttpSessionError =0,
+    EHttpExitingApp,
+    EHttpConnecting,
+    EHttpTxCancelled,
+    EHttpHdrReceived,
+    EHttpBytesReceieved,
+    EHttpBodyReceieved,
+    EHttpTxCompleted,
+    EHttpTxSuccess,
+    EHttpTxFailed,
+    EHttpConnectionFailure,
+    EHttpUnknownEvent,
+    EHttpMhfRunError,
+    EHttpAuthNote,
+    EHttpAuthFailed,
+    EHttpAuthRequired,
+    };
+
+enum TMobileRoamingStatus
+    {
+    EMobileNotRegistered = 0x00,
+    EMobileRegHomeNetwork, // home network
+    EMobileNationalRoaming,
+    EMobileInternationalRoaming
+    };
+
+/**
+ * MClientObserver
+ * CPosRevGeoCodeHTTPClientEngine passes events and responses body data with this interface.
+ * An instance of this class must be provided for construction of CPosRevGeoCodeHTTPClientEngine.
+ */
+class MPosRevGeoCodeHTTPClientObserver
+    {
+    public:
+    /*
+    * ClientEvent()
+    *
+    * Called when event occurs in CClientEngine.
+    *
+    * @params aEvent Status of the event.
+    */
+    virtual void ClientEvent( const THttpStatus& aEvent ) = 0;
+    
+    /*
+    * ClientBodyReceived()
+    *
+    * Called when a part of the HTTP body is received.
+    *
+    * @param aBodyData Part of the body data received. (e.g. part of
+    *         the received HTML page)
+    */
+    virtual void ClientBodyReceived( const TDesC8& aBodyData ) = 0;
+    };
+
+
+/*
+ * This class provides interface to HTTP client APIs
+ */
+class CPosRevGeoCodeHTTPClientEngine: public CActive,
+                                      public MHTTPTransactionCallback,
+                                      public MMobilityProtocolResp
+    {
+    /**
+     * Internal Engine state 
+     */
+    enum TEngineState
+        {
+        EIdle = 0,
+        EGet
+        };
+public:
+    /**
+     * Factory method which creates instance of CPosRevGeoCodeHTTPClientEngine object.
+     */
+    static CPosRevGeoCodeHTTPClientEngine* NewL( MPosRevGeoCodeHTTPClientObserver& iObserver );
+
+    /**
+     * Destructor
+     */
+    ~CPosRevGeoCodeHTTPClientEngine();
+
+    /**
+     * Starts a new HTTP GET transaction.
+     *
+     * @param aUri URI to get request. (e.g. http://host.org")
+     */
+    void IssueHTTPGetL( const TDesC8& aUri );
+
+    /**
+     * Closes currently running transaction and frees resources related to it.
+     */
+    void CancelTransaction();
+    
+    /**
+     * Closes the connection
+     */
+    void CloseConnection();
+    
+private:
+    /*
+     * Symbian 2nd phase constructor
+     */
+    void ConstructL();
+
+    /*
+     * Constructor
+     */
+    CPosRevGeoCodeHTTPClientEngine( MPosRevGeoCodeHTTPClientObserver& iObserver );
+
+    /**
+     * Sets header value of an HTTP request.
+     */
+    void SetHeaderL( RHTTPHeaders aHeaders, TInt aHdrField,
+                     const TDesC8& aHdrValue );
+
+    /**
+     * Sets up the connection
+     */
+    void SetupConnectionL();
+
+private: //From MHTTPSessionEventCallback
+
+    void MHFRunL( RHTTPTransaction aTransaction, const THTTPEvent& aEvent );
+
+    TInt MHFRunError( TInt aError, RHTTPTransaction aTransaction, const THTTPEvent& aEvent );
+
+private:// From MMobilityProtocolResp
+    void PreferredCarrierAvailable( TAccessPointInfo aOldAPInfo,
+                                    TAccessPointInfo aNewAPInfo,
+                                    TBool aIsUpgrade,
+                                    TBool aIsSeamless );
+    
+    void NewCarrierActive( TAccessPointInfo aNewAPInfo, TBool aIsSeamless );
+    
+    void Error( TInt aError );
+
+private: // from CActive
+    void RunL();
+    void DoCancel();
+    TInt RunError(TInt aError);
+
+private:
+    void DoHTTPGetL();
+    
+private: // Data members
+    RSocketServ                 iSocketServ;
+    RConnection                 iConnection;
+    TUint32                     iSelectedIap;
+
+    RHTTPSession                iSession;
+    RHTTPTransaction            iTransaction;
+
+    MPosRevGeoCodeHTTPClientObserver&            iObserver;  // Used for passing body data and events to UI
+    TBool                       iRunning;   // ETrue, if transaction running
+    TBool                       iConnectionSetupDone;
+    
+    TInt                        iPrevProfileId;
+    
+    CActiveCommsMobilityApiExt* iMobility;
+    TBool                       iTransactionOpen;
+    TEngineState                 iEngineState;
+    HBufC8*                     iUri;
+    RCmManager                  iCmManager;
+    };
+#endif /* POSREVGEOCODEHTTPCLIENTENGINE_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posreversegeocodeplugin/inc/posrevgeocodelogger.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,43 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implementation of logger.
+*
+*/
+
+#ifndef POSREVGEOCODELOGGER_H
+#define POSREVGEOCODELOGGER_H
+
+#include <flogger.h>
+#include <f32file.h>
+
+//#ifdef _DEBUG
+#define FUNC( x ) {  TBuf8<150> buffer; \
+                     const unsigned char* string = (unsigned char*)(x); \
+                     buffer.Zero(); \
+                     buffer.Copy(string); \
+                     RFileLogger::Write( _L("lbs"),_L("PosRevGeocode.log"),EFileLoggingModeAppend,buffer); }
+
+#define LOG ( x,y ) { TBuf8<150> buffer; \
+                      const unsigned char* string = (unsigned char*)(x); \
+                      buffer.Zero(); \
+                      buffer.Copy(string); \
+                      buffer.format(y); \
+                      RFileLogger::Write( _L("lbs"),_L("PosRevGeocode.log"),EFileLoggingModeAppend,buffer); }
+
+/*#else
+#define FUNC( x )
+#define LOG ( x,y )
+#endif*/
+
+#endif /* POSREVGEOCODELOGGER_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posreversegeocodeplugin/inc/posrevgeocodeplugin.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,133 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Declaration of CPosRevGeoCodePlugin class.
+*
+*/
+
+#ifndef POSREVGEOCODEPLUGIN_H
+#define POSREVGEOCODEPLUGIN_H
+
+#include "posreversegeocodeinterface.h"
+#include "posrevgeocodehttpclientengine.h"
+#include "posrevgeocodeconnectiontimer.h"
+#include "posrevgeocodexmlparser.h"
+
+
+class CPosRevGeoCodePlugin : public CPosReverseGeocodeInterface,
+                             public MPosRevGeoCodeXmlObserver,
+                             public MPosRevGeoCodeHTTPClientObserver,
+                             public MPosRevGeoCodeTimeoutObserver
+    {
+public:
+    /**
+     * Factory function to create the instance of CPosRevGeoCodePlugin object.
+     */
+    static CPosRevGeoCodePlugin* NewL( MPosReverseGeocodeObserver& aObserver );
+    
+    /**
+     * Destructor
+     */
+    ~CPosRevGeoCodePlugin();
+    
+    /**
+     * Gets the address information for the given geo coordinates
+     */
+    virtual void GetAddressByCoordinateL( CPosLandmark& aLandmark );
+    
+    /**
+     * Cancels the current operation.
+     */
+    virtual void Cancel();
+    
+    /**
+     * Function to get the appropriate language for the request. 
+     */
+    void GetLanguageForTheRequest( TDes8& aLanguage );
+
+public: // From MPosRevGeoCodeXmlObserver
+    virtual void OnParseCompletedL( TInt aError );
+    
+public: // From MPosRevGeoCodeHTTPClientObserver
+    virtual void ClientEvent( const THttpStatus& aEvent );
+    
+    virtual void ClientBodyReceived( const TDesC8& aBodyData );
+
+public: // From MPosRevGeoCodeTimeoutObserver
+    virtual void HandleTimedoutEvent( TInt aErrorCode );
+    
+private:
+    /**
+     * Symbian 2nd phase constructor.
+     */
+    void ConstructL();
+    
+    /**
+     * Constructor
+     */
+    CPosRevGeoCodePlugin( MPosReverseGeocodeObserver& aObserver );
+     
+    /**
+     * Starts the timer 
+     */
+    void StartTimer();
+    
+    /**
+     * Closes connection
+     */
+    void CloseConnection();
+
+private: // Data members
+    
+    /**
+     * Reference to reverse geocode observer.
+     */
+    MPosReverseGeocodeObserver&  iObserver;
+    
+    /**
+     * Pointer to HTTP client engine
+     * Own
+     */
+    CPosRevGeoCodeHTTPClientEngine* iHTTPClientEngine;
+    
+    /**
+     * Pointer to XML parser
+     * Own
+     */
+    CPosRevGeoCodeXmlParser* iXmlParser;
+    
+    /**
+     * Pointer to connection timer
+     * Own
+     */
+    CPosRevGeoCodeConnectionTimer* iConnectionTimer;
+    
+    /**
+     * Pointer to client's landmarks object.
+     * Not own.
+     */
+    CPosLandmark* iClientLandmark;
+    
+    HBufC8* iXMLBuf;
+    
+    TBuf8<KMaxFileName> iQueryString;
+    
+    TBuf8<KMaxFileName> iAuthCode;
+    
+    TBuf8<KMaxFileName> iRefURL;
+    
+    TBuf8<KMaxFileName> iLang;
+    
+    };
+
+#endif /* POSREVGEOCODEPLUGIN_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posreversegeocodeplugin/inc/posrevgeocodexmlparser.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,140 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Declaration of XML parser class.
+*
+*/
+
+#ifndef POSREVGEOCODEXMLPARSER_H
+#define POSREVGEOCODEXMLPARSER_H
+
+#include <e32base.h>
+#include <xml/contenthandler.h> 
+#include <xml/parser.h>
+using namespace Xml;
+
+// Forward declarations
+class CPosLandmark;
+
+/**
+ * MPosRevGeoCodeXmlObserver, an observer to CXmlHandler class.
+ */
+class MPosRevGeoCodeXmlObserver
+    {
+public:
+    /*
+     * Signyfys the completion of parsing of the output data.
+     * 
+     * @param aError error status of parsing part.
+     */    
+    virtual void OnParseCompletedL( TInt aError ) = 0;
+    };
+
+/**
+ * This class parses XML script and fills the information into landmarks structure. 
+ */
+class CPosRevGeoCodeXmlParser : public CBase,
+                                public MContentHandler
+    {
+    /*
+     * Category of the address information. This is used for
+     * internal parsing procedure.
+     */
+    enum TLocationInfoType
+        {
+        ENone = 0,
+        ECountryName,
+        EState,
+        ECity,
+        EDistrict,
+        EPostalCode,
+        EThoroughfareName,
+        EThoroughfareNumber
+        };
+public:
+    /**
+     * Factory function to create the instance of CPosRevGeoCodeXmlParser object.
+     */
+    static CPosRevGeoCodeXmlParser* NewL( MPosRevGeoCodeXmlObserver& aObserver );
+    
+    /**
+     * Destructor
+     */
+    virtual ~CPosRevGeoCodeXmlParser();
+    
+public: 
+    /**
+     * Starts parsing XML provided through buffer. 
+     */
+    void StartParsingL( HBufC8* aXmlInfo,CPosLandmark* aLandmarkInfo );
+    
+private:
+    /**
+     * Constructor
+     */
+    CPosRevGeoCodeXmlParser( MPosRevGeoCodeXmlObserver& aObserver );
+    
+    /**
+     * Symbian 2nd phase constructor.
+     */
+    void ConstructL();
+    
+private: // from MContentHandler 
+    void OnStartDocumentL( const RDocumentParameters &aDocParam, TInt aErrorCode );
+    void OnEndDocumentL( TInt aErrorCode );
+    void OnStartElementL( const RTagInfo &aElement, const RAttributeArray &aAttributes, TInt aErrorCode );
+    void OnEndElementL( const RTagInfo &aElement, TInt aErrorCode );
+    void OnContentL( const TDesC8 &aBytes, TInt aErrorCode );
+    void OnStartPrefixMappingL( const RString &aPrefix, const RString &aUri, TInt aErrorCode );
+    void OnEndPrefixMappingL( const RString &aPrefix, TInt aErrorCode );
+    void OnIgnorableWhiteSpaceL( const TDesC8 &aBytes, TInt aErrorCode );
+    void OnSkippedEntityL( const RString &aName, TInt aErrorCode );
+    void OnProcessingInstructionL( const TDesC8 &aTarget, const TDesC8 &aData, TInt aErrorCode);
+    void OnError( TInt aErrorCode );
+    
+    TAny *GetExtendedInterface( const TInt32 aUid );
+    
+private://Data members
+    /**
+     * Reference to XML observer
+     */
+    MPosRevGeoCodeXmlObserver& iObserver;
+    
+    /**
+     * Pointer to parser
+     * Own
+     */
+    CParser*             iParser;
+    
+    /**
+     * Buffer the contain XML to parsed
+     */
+    HBufC8*              iBuffer;
+    
+    /**
+     * Pointer to client's landmarks object.
+     */
+    CPosLandmark*        iClientLandmark;
+    
+    /**
+     * Current parsing element
+     */
+    TLocationInfoType     iCurrentElement;
+    
+    /**
+     * Boolean to represent thoroughfare.
+     */
+    TBool iThoroughfare;
+    };
+
+#endif /* POSREVGEOCODEXMLPARSER_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posreversegeocodeplugin/src/posrevgeocodeconnectiontimer.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,93 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implementation of connection timer class.
+*
+*/
+
+#include "posrevgeocodeconnectiontimer.h"
+#include "posrevgeocodelogger.h"
+
+//------------------------------------------------------------------------------
+// CPosRevGeoCodeConnectionTimer::NewL
+//------------------------------------------------------------------------------
+CPosRevGeoCodeConnectionTimer* CPosRevGeoCodeConnectionTimer::NewL(
+            MPosRevGeoCodeTimeoutObserver& aConnectionTimeoutObserver )
+    {
+    FUNC("CPosRevGeoCodeConnectionTimer::NewL");
+    CPosRevGeoCodeConnectionTimer* self = new ( ELeave ) 
+                    CPosRevGeoCodeConnectionTimer( aConnectionTimeoutObserver );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop();
+    return self;
+    }
+
+//------------------------------------------------------------------------------
+// CPosRevGeoCodeConnectionTimer::CPosRevGeoCodeConnectionTimer
+//------------------------------------------------------------------------------
+CPosRevGeoCodeConnectionTimer::CPosRevGeoCodeConnectionTimer(
+        MPosRevGeoCodeTimeoutObserver& aConnectionTimeoutObserver ):
+                        CTimer( EPriorityStandard ),
+                        iConnectionTimeoutObserver ( aConnectionTimeoutObserver )
+    {
+    FUNC("CPosRevGeoCodeConnectionTimer::CPosRevGeoCodeConnectionTimer");
+    CActiveScheduler::Add(this);
+    }
+
+//------------------------------------------------------------------------------
+// CPosRevGeoCodeConnectionTimer::~CPosRevGeoCodeConnectionTimer
+//------------------------------------------------------------------------------
+CPosRevGeoCodeConnectionTimer::~CPosRevGeoCodeConnectionTimer()
+   {
+   FUNC("CPosRevGeoCodeConnectionTimer::~CPosRevGeoCodeConnectionTimer");
+   Cancel();
+   }
+
+
+//------------------------------------------------------------------------------
+// CPosRevGeoCodeConnectionTimer::ConstructL
+//------------------------------------------------------------------------------
+
+void CPosRevGeoCodeConnectionTimer::ConstructL()
+    {
+    FUNC("CPosRevGeoCodeConnectionTimer::ConstructL");
+    CTimer::ConstructL();
+    }
+
+//------------------------------------------------------------------------------
+// CPosRevGeoCodeConnectionTimer::StartTimer
+//------------------------------------------------------------------------------
+TInt CPosRevGeoCodeConnectionTimer::StartTimer(const TInt aTimeoutVal)
+    {
+    FUNC("CPosRevGeoCodeConnectionTimer::StartTimer");
+    if( IsActive() )
+        {
+        // If the timer is already running, return error code.
+        return KErrInUse;
+        }
+    After(aTimeoutVal);
+    return KErrNone;
+    }
+
+//------------------------------------------------------------------------------
+// CPosRevGeoCodeConnectionTimer::NewL
+//------------------------------------------------------------------------------
+
+void CPosRevGeoCodeConnectionTimer::RunL( )
+    {
+    FUNC("CPosRevGeoCodeConnectionTimer::RunL");
+    iConnectionTimeoutObserver.HandleTimedoutEvent( iStatus.Int() );
+    }
+    
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posreversegeocodeplugin/src/posrevgeocodehttpclientengine.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,491 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implementation of HTTP client engine class.
+*
+*/
+
+//Symbian headers
+#include "posrevgeocodehttpclientengine.h"
+#include "posrevgeocodelogger.h"
+
+#include <http.h>
+#include <CommDbConnPref.h>
+#include <connpref.h>
+#include <extendedconnpref.h>
+#include <cmgenconnsettings.h>
+
+// Used user agent for requests
+_LIT8(KUserAgent, "ReverseGeoCode 1.0");
+
+// This client accepts all content types.
+_LIT8(KAccept, "*/*");
+
+// ----------------------------------------------------------------------------
+// CPosRevGeoCodeHTTPClientEngine::NewL()
+// ----------------------------------------------------------------------------
+CPosRevGeoCodeHTTPClientEngine* CPosRevGeoCodeHTTPClientEngine::NewL( 
+                                    MPosRevGeoCodeHTTPClientObserver& aObserver )
+    {
+    FUNC("CPosRevGeoCodeHTTPClientEngine::NewL");
+    CPosRevGeoCodeHTTPClientEngine* self = new ( ELeave ) 
+                                    CPosRevGeoCodeHTTPClientEngine( aObserver );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+
+// ----------------------------------------------------------------------------
+// CPosRevGeoCodeHTTPClientEngine::CPosRevGeoCodeHTTPClientEngine()
+// ----------------------------------------------------------------------------
+CPosRevGeoCodeHTTPClientEngine::CPosRevGeoCodeHTTPClientEngine(
+                                              MPosRevGeoCodeHTTPClientObserver& aObserver ): 
+                                              CActive( CActive::EPriorityStandard ),
+                                              iObserver( aObserver ),
+                                              iConnectionSetupDone( EFalse ),
+                                              iPrevProfileId( -1 ),
+                                              iMobility(NULL),
+                                              iTransactionOpen( EFalse ),
+                                              iUri(NULL)
+    {
+    FUNC("CPosRevGeoCodeHTTPClientEngine::CPosRevGeoCodeHTTPClientEngine");
+    CActiveScheduler::Add(this);
+    }
+
+// ----------------------------------------------------------------------------
+// CPosRevGeoCodeHTTPClientEngine::~CPosRevGeoCodeHTTPClientEngine()
+// ----------------------------------------------------------------------------
+CPosRevGeoCodeHTTPClientEngine::~CPosRevGeoCodeHTTPClientEngine()
+    {
+    FUNC("CPosRevGeoCodeHTTPClientEngine::~CPosRevGeoCodeHTTPClientEngine");
+    Cancel();
+    
+    if( iMobility )
+        {
+		iMobility->Cancel();
+        delete iMobility;
+        }
+
+    if ( iTransactionOpen )
+        {
+        iTransaction.Close();
+        }
+
+    
+    iSession.Close();
+    iConnection.Close();
+    iSocketServ.Close();
+
+    delete iUri;
+
+    iCmManager.Close();
+    }
+
+// ----------------------------------------------------------------------------
+// CPosRevGeoCodeHTTPClientEngine::ConstructL()
+// ----------------------------------------------------------------------------
+void CPosRevGeoCodeHTTPClientEngine::ConstructL()
+    {
+    FUNC("CPosRevGeoCodeHTTPClientEngine::ConstructL");
+    iCmManager.OpenL();
+    }
+
+// ----------------------------------------------------------------------------
+// CPosRevGeoCodeHTTPClientEngine::CloseConnection()
+// ----------------------------------------------------------------------------
+void CPosRevGeoCodeHTTPClientEngine::CloseConnection()
+    {
+    FUNC("CPosRevGeoCodeHTTPClientEngine::CloseConnection");
+    if ( iTransactionOpen )
+        {
+        iTransaction.Close();
+        iTransactionOpen = EFalse;
+        }
+    
+    if ( iMobility )
+        {
+        iMobility->Cancel();
+        delete iMobility;
+        iMobility = NULL;
+        }
+
+    iSession.Close();
+    iConnection.Close();
+    iSocketServ.Close();  
+    iConnectionSetupDone = EFalse;
+    }
+
+
+// ----------------------------------------------------------------------------
+// CPosRevGeoCodeHTTPClientEngine::SetupConnectionL()
+// ----------------------------------------------------------------------------
+void CPosRevGeoCodeHTTPClientEngine::SetupConnectionL()
+    {
+    FUNC("CPosRevGeoCodeHTTPClientEngine::SetupConnectionL");
+    if ( iConnectionSetupDone )
+        {
+        // Connection setup is done
+        User::Leave(KErrAlreadyExists);
+        }
+ 
+    
+    // Open HTTP Session
+    iSession.OpenL();
+    
+    User::LeaveIfError(iSocketServ.Connect());
+    User::LeaveIfError(iConnection.Open(iSocketServ));
+    
+    TConnPrefList prefList;
+    TExtendedConnPref prefs;
+    prefs.SetSnapPurpose( CMManager::ESnapPurposeInternet );
+    prefs.SetForcedRoaming( EFalse );
+    prefs.SetBearerSet( TExtendedConnPref::EExtendedConnBearerCellular | 
+                        TExtendedConnPref::EExtendedConnBearerWLAN );
+    prefList.AppendL( &prefs );
+    
+    iConnection.Start( prefList,iStatus );
+    SetActive();
+    }
+
+// ----------------------------------------------------------------------------
+// CPosRevGeoCodeHTTPClientEngine::SetHeaderL()
+// ----------------------------------------------------------------------------
+void CPosRevGeoCodeHTTPClientEngine::SetHeaderL( RHTTPHeaders aHeaders, TInt aHdrField, const TDesC8& aHdrValue )
+    {
+    FUNC("CPosRevGeoCodeHTTPClientEngine::SetHeaderL");
+    RStringF valStr = iSession.StringPool().OpenFStringL( aHdrValue );
+    CleanupClosePushL( valStr );
+    THTTPHdrVal val(valStr);
+    aHeaders.SetFieldL( iSession.StringPool().StringF( aHdrField, RHTTPSession::GetTable()), val);
+    CleanupStack::PopAndDestroy();  // valStr
+    }
+
+// ----------------------------------------------------------------------------
+// CPosRevGeoCodeHTTPClientEngine::IssueHTTPGetL()
+// ----------------------------------------------------------------------------
+void CPosRevGeoCodeHTTPClientEngine::IssueHTTPGetL( const TDesC8& aUri )
+    {
+    FUNC("CPosRevGeoCodeHTTPClientEngine::IssueHTTPGetL");
+    if ( IsActive() )
+        {
+        return;
+        }
+    
+    iEngineState = EGet;
+    
+    delete iUri;
+    iUri = NULL;
+    iUri = aUri.AllocL();
+    // Create HTTP connection
+    TRAPD( err, SetupConnectionL() );
+    //If the Err is KErrNone, It will lead to RunL and
+    //hence jump to the DoHTTPGetL() from there.
+    
+    if( err == KErrAlreadyExists )
+        {
+        DoHTTPGetL();
+        }
+    else if( err != KErrNone )
+        {
+        //If Setup Connection fails
+        iObserver.ClientEvent( EHttpConnectionFailure );
+        User::Leave(err);
+        }
+    }
+
+// ----------------------------------------------------------------------------
+// CPosRevGeoCodeHTTPClientEngine::DoHTTPGetL()
+// ----------------------------------------------------------------------------
+void CPosRevGeoCodeHTTPClientEngine::DoHTTPGetL()
+    {
+    FUNC("CPosRevGeoCodeHTTPClientEngine::DoHTTPGetL");
+    // Parse string to URI (as defined in RFC2396)
+    TUriParser8 uri;
+    uri.Parse( *iUri );
+    
+    // Get request method string for HTTP GET
+    RStringF method = iSession.StringPool().StringF( HTTP::EGET,RHTTPSession::GetTable() );
+    CleanupClosePushL( method );
+    // Open transaction with previous method and parsed uri. This class will
+    // receive transaction events in MHFRunL and MHFRunError.
+    iTransaction = iSession.OpenTransactionL( uri, *this, method );
+    iTransactionOpen = ETrue;
+    
+    // Set headers for request; user agent and accepted content type
+    RHTTPHeaders hdr = iTransaction.Request().GetHeaderCollection();
+    SetHeaderL( hdr, HTTP::EUserAgent, KUserAgent );
+    SetHeaderL( hdr, HTTP::EAccept, KAccept );
+    
+    // Submit the transaction. After this the framework will give transaction
+    // events via MHFRunL and MHFRunError.
+    iTransaction.SubmitL();
+    CleanupStack::PopAndDestroy( 1 ); // method
+    iObserver.ClientEvent( EHttpConnecting );
+    }
+
+// ----------------------------------------------------------------------------
+// CPosRevGeoCodeHTTPClientEngine::CancelTransaction()
+// ----------------------------------------------------------------------------
+void CPosRevGeoCodeHTTPClientEngine::CancelTransaction()
+    {
+    FUNC("CPosRevGeoCodeHTTPClientEngine::CancelTransaction");
+    iEngineState = EIdle;
+    delete iUri; 
+    iUri = NULL;
+    
+    // Close() also cancels transaction (Cancel() can also be used but
+    // resources allocated by transaction must be still freed with Close())
+    if( iTransactionOpen )
+        {
+        iTransaction.Close();
+        iTransactionOpen = EFalse;
+
+        iObserver.ClientEvent( EHttpTxCancelled );
+        }
+    }
+
+// ----------------------------------------------------------------------------
+// CPosRevGeoCodeHTTPClientEngine::MHFRunL()
+// ----------------------------------------------------------------------------
+void CPosRevGeoCodeHTTPClientEngine::MHFRunL( RHTTPTransaction aTransaction, const THTTPEvent& aEvent )
+    {
+    FUNC("CPosRevGeoCodeHTTPClientEngine::MHFRunL");
+    switch ( aEvent.iStatus )
+        {
+        case THTTPEvent::EGotResponseHeaders:
+            {
+            // HTTP response headers have been received. Use
+            // aTransaction.Response() to get the response. However, it's not
+            // necessary to do anything with the response when this event occurs.
+            iObserver.ClientEvent( EHttpHdrReceived );
+            break;
+            }
+        case THTTPEvent::EGotResponseBodyData:
+            {
+            // Part (or all) of response's body data received. Use
+            // aTransaction.Response().Body()->GetNextDataPart() to get the actual
+            // body data.
+        
+            // Get the body data supplier
+            MHTTPDataSupplier* body = aTransaction.Response().Body();
+            TPtrC8 dataChunk;
+        
+            // GetNextDataPart() returns ETrue, if the received part is the last
+            // one.
+            TBool isLast = body->GetNextDataPart(dataChunk);
+            iObserver.ClientBodyReceived(dataChunk);
+        
+            iObserver.ClientEvent( EHttpBytesReceieved );
+
+            // NOTE: isLast may not be ETrue even if last data part received.
+            // (e.g. multipart response without content length field)
+            // Use EResponseComplete to reliably determine when body is completely
+            // received.
+            if( isLast )
+                {
+                iObserver.ClientEvent( EHttpBodyReceieved );
+                }
+            // Always remember to release the body data.
+            body->ReleaseData();
+            break;
+            }
+        case THTTPEvent::EResponseComplete:
+            {
+            // Indicates that header & body of response is completely received.
+            // No further action here needed.
+
+            iObserver.ClientEvent( EHttpTxCompleted );
+            break;
+            }
+        case THTTPEvent::ESucceeded:
+            {
+            // Indicates that transaction succeeded.
+            iObserver.ClientEvent( EHttpTxSuccess );
+            // Transaction can be closed now. It's not needed anymore.
+            aTransaction.Close();
+            iTransactionOpen = EFalse;
+            break;
+            }
+        case THTTPEvent::EFailed:
+            {
+            // Transaction completed with failure.
+            iObserver.ClientEvent( EHttpTxFailed );
+            aTransaction.Close();
+            iTransactionOpen = EFalse;
+            break;
+            }
+        default:
+            // There are more events in THTTPEvent, but they are not usually
+            // needed. However, event status smaller than zero should be handled
+            // correctly since it's error.
+            {
+            if ( aEvent.iStatus < 0 )
+                {
+                iObserver.ClientEvent( EHttpConnectionFailure );
+                // Close the transaction on errors
+                aTransaction.Close();
+                iTransactionOpen = EFalse;
+                }
+                break;
+            }
+        }
+    }
+
+// ----------------------------------------------------------------------------
+// CPosRevGeoCodeHTTPClientEngine::MHFRunError()
+// ----------------------------------------------------------------------------
+TInt CPosRevGeoCodeHTTPClientEngine::MHFRunError( TInt /*aError*/, 
+                                                  RHTTPTransaction /*aTransaction*/,
+                                                  const THTTPEvent& /*aEvent*/ )
+    {
+    FUNC("CPosRevGeoCodeHTTPClientEngine::MHFRunError");
+    // Just notify about the error and return KErrNone.
+    CloseConnection();
+    iObserver.ClientEvent(EHttpMhfRunError);
+    return KErrNone;
+    }
+
+// ----------------------------------------------------------------------------
+// CPosRevGeoCodeHTTPClientEngine::PreferredCarrierAvailable()
+// ----------------------------------------------------------------------------
+void CPosRevGeoCodeHTTPClientEngine::PreferredCarrierAvailable( 
+                                               TAccessPointInfo /*aOldAPInfo*/,
+                                               TAccessPointInfo /*aNewAPInfo*/,
+                                               TBool /*aIsUpgrade*/,
+                                               TBool aIsSeamless )
+    {
+    FUNC("CPosRevGeoCodeHTTPClientEngine::PreferredCarrierAvailable");
+    if( !aIsSeamless && iMobility)
+        {
+        iMobility->MigrateToPreferredCarrier();
+        }
+    }
+
+// ----------------------------------------------------------------------------
+// CPosRevGeoCodeHTTPClientEngine::NewCarrierActive()
+// ----------------------------------------------------------------------------
+void CPosRevGeoCodeHTTPClientEngine::NewCarrierActive( TAccessPointInfo /*aNewAPInfo*/,
+                                                      TBool aIsSeamless )
+    {
+    FUNC("CPosRevGeoCodeHTTPClientEngine::NewCarrierActive");
+    if( !aIsSeamless && iMobility)
+        {
+        iMobility->NewCarrierAccepted();
+        }
+    }
+
+// ----------------------------------------------------------------------------
+// CPosRevGeoCodeHTTPClientEngine::Error()
+// ----------------------------------------------------------------------------
+void CPosRevGeoCodeHTTPClientEngine::Error(TInt /*aError*/)
+    {
+    FUNC("CPosRevGeoCodeHTTPClientEngine::Error");
+    }
+
+// ----------------------------------------------------------------------------
+// CPosRevGeoCodeHTTPClientEngine::DoCancel()
+// ----------------------------------------------------------------------------
+void CPosRevGeoCodeHTTPClientEngine::DoCancel()
+    {
+    FUNC("CPosRevGeoCodeHTTPClientEngine::DoCancel");
+    iConnection.Stop();
+    }
+
+// ----------------------------------------------------------------------------
+// CPosRevGeoCodeHTTPClientEngine::DoCancel()
+// ----------------------------------------------------------------------------
+TInt CPosRevGeoCodeHTTPClientEngine::RunError(TInt /*aError*/)
+    {
+    FUNC("CPosRevGeoCodeHTTPClientEngine::RunError");
+    // Just notify about the error and return KErrNone.
+    CloseConnection();
+    iObserver.ClientEvent( EHttpTxFailed );
+    return KErrNone;
+    }
+
+// ----------------------------------------------------------------------------
+// CPosRevGeoCodeHTTPClientEngine::RunL()
+// ----------------------------------------------------------------------------
+void CPosRevGeoCodeHTTPClientEngine::RunL()
+    {
+    FUNC("CPosRevGeoCodeHTTPClientEngine::RunL");
+    TInt statusCode = iStatus.Int();
+    
+    if ( statusCode == KErrNone )
+        {
+        // Connection done ok
+        iConnectionSetupDone = ETrue;
+        
+        RStringPool strPool = iSession.StringPool();
+        CleanupClosePushL( strPool );
+        // Remove first session properties just in case.
+        RHTTPConnectionInfo connInfo = iSession.ConnectionInfo();
+        
+        // Clear RConnection and Socket Server instances
+        connInfo.RemoveProperty(strPool.StringF(HTTP::EHttpSocketServ,RHTTPSession::GetTable()));
+        connInfo.RemoveProperty(strPool.StringF(HTTP::EHttpSocketConnection,RHTTPSession::GetTable()));
+        
+        // Clear the proxy settings
+        connInfo.RemoveProperty(strPool.StringF(HTTP::EProxyUsage,RHTTPSession::GetTable()));
+        connInfo.RemoveProperty(strPool.StringF(HTTP::EProxyAddress,RHTTPSession::GetTable()));
+        
+        // RConnection and Socket Server
+        connInfo.SetPropertyL ( strPool.StringF(HTTP::EHttpSocketServ, 
+                                        RHTTPSession::GetTable()), 
+                                THTTPHdrVal (iSocketServ.Handle()) );
+        
+        TInt connPtr1 = REINTERPRET_CAST(TInt, &iConnection);
+        connInfo.SetPropertyL ( strPool.StringF(HTTP::EHttpSocketConnection, 
+                                RHTTPSession::GetTable() ), THTTPHdrVal (connPtr1) );    
+
+        // Register for mobility API
+        delete iMobility;
+        iMobility = NULL;
+        iMobility = CActiveCommsMobilityApiExt::NewL( iConnection, *this );
+        CleanupStack::Pop( &strPool ); // strPool
+        
+        // Start selected HTTP action
+        switch( iEngineState )
+            {
+            case EIdle:
+                {
+                //
+                CancelTransaction();
+                break;
+                }
+            case EGet:
+               {
+               DoHTTPGetL();
+               break;
+               }
+            };
+        }
+    else
+        {
+        //handle error
+        if ( statusCode == KErrPermissionDenied )
+            {
+            iObserver.ClientEvent( EHttpAuthFailed );
+            }
+        else
+            {
+            //Throw some general Transaction falure error!
+            iObserver.ClientEvent( EHttpTxFailed );
+            }
+        CloseConnection();
+        }
+    }
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posreversegeocodeplugin/src/posrevgeocodeplugin.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,389 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implementation of CPosRevGeoCodePlugin class.
+*
+*/
+
+#include "posrevgeocodeplugin.h"
+#include "posrevgeocodelogger.h"
+
+#include <lbsposition.h>
+
+//Maximum length for the response buffer size
+const int KMaxResponseLength = 2048;
+//Authentication token for the Maps server
+//This authentication in specific to our photo-tagging feature
+_LIT8( KAuthenticationToken, "88dedc61fb43c924aa39a873dadd41f4" );
+//Static RefererURL which shows that request has been made from this app
+_LIT8( KRefererURL, "nokia_positioningIndicator" );
+
+//Language option for the REST request
+_LIT8( KDefaultLanguage, "eng" );
+
+
+//Format of the HTTP request for the reverse geocode
+_LIT8( KRequestFormat, "http://loc.mobile.maps.svc.ovi.com/geocoder/rgc/1.0?token=%S&referer=%S&n=10&lat=%f&long=%f&lg=%S&output=xml" );
+
+
+// http://www.loc.gov/marc/languages/
+// These are the nokia language id converted to MARC language strings.
+ static const char Marc_Table[ 104 ][ 4 ] = {
+        "   ", // dummy
+        "ENG", // 1 English
+        "FRE", // 2 French
+        "GER", // 3 German
+        "SPA", // 4 Spanish
+        "ITA", // 5 Italian
+        "SWE", // 6 Swedish
+        "DAN", // 7 Danish
+        "NOR", // 8 Norwegian
+        "FIN", // 9 Finnish
+        "010", // 10 American
+        "011", // 11 Swiss French
+        "GSW", // 12 Swiss German
+        "POR", // 13 Portuguese
+        "TUR", // 14 Turkish
+        "ICE", // 15 Icelandic
+        "RUS", // 16 Russian
+        "HUN", // 17 Hungarian
+        "DUT", // 18 Dutch
+        "019", // 19 Flemish
+        "020", // 20 Australian English
+        "021", // 21 Belgian French
+        "022", // 22 Austrian German
+        "023", // 23 New Zealand English
+        "FRE", // 24 International French
+        "CZE", // 25 Czech
+        "SLO", // 26 Slovak
+        "POL", // 27 Polish
+        "SLV", // 28 Slovenian
+        "029", // 29 TaiwanChinese
+        "CHT", // 30 HongKongChinese
+        "CHI", // 31 PeoplesRepublicOfChina Chinese
+        "JPN", // 32 Japanese
+        "THA", // 33 Thai
+        "AFR", // 34 Afrikaans
+        "ALB", // 35 Albanian
+        "AMH", // 36 Amharic
+        "ARA", // 37 Arabic
+        "ARM", // 38 Armenian
+        "TGL", // 39 Tagalog
+        "BEL", // 40 Belarusian
+        "BEN", // 41 Bengali
+        "BUL", // 42 Bulgarian
+        "BUR", // 43 Burmese
+        "CAT", // 44 Catalan
+        "SCR", // 45 Croatian
+        "046", // 46 Canadian English
+        "ENG", // 47 International English
+        "048", // 48 SouthAfrican English
+        "EST", // 49 Estonian
+        "PER", // 50 Persian (Farsi)
+        "051", // 51 Canadian French
+        "GAE", // 52 Scots Gaelic
+        "GEO", // 53 Georgian
+        "GRE", // 54 Greek
+        "055", // 55 Cyprus Greek
+        "GUJ", // 56 Gujarati
+        "HEB", // 57 Hebrew
+        "HIN", // 58 Hindi
+        "IND", // 59 Bahasa indonesia
+        "GLE", // 60 Irish
+        "061", // 61 Swiss Italian
+        "KAN", // 62 Kannada
+        "KAZ", // 63 Kazakh
+        "KHM", // 64 Khmer
+        "KOR", // 65 Korean
+        "LAO", // 66 Lao
+        "LAV", // 67 Latvian
+        "LIT", // 68 Lithuanian
+        "MAC", // 69 Macedonian
+        "070", // 70 Bahasa Malaysia
+        "MAL", // 71 Malayalam
+        "MAR", // 72 Marathi
+        "MOL", // 73 Moldavian
+        "MON", // 74 Mongolian
+        "NNO", // 75 Norwegian Nynorsk
+        "076", // 76 Brazilian Portuguese
+        "PAN", // 77 Punjabi
+        "RUM", // 78 Romanian
+        "SCC", // 79 Serbian
+        "SNH", // 80 Sinhalese
+        "SOM", // 81 Somali
+        "082", // 82 International Spanish
+        "083", // 83 LatinAmerican Spanish
+        "SWA", // 84 Swahili
+        "085", // 85 Finland Swedish
+        "TAJ", // 86 Tajik
+        "TAM", // 87 Tamil
+        "TEL", // 88 Telugu
+        "TIB", // 89 Tibetan
+        "TIR", // 90 Tigrinya
+        "091", // 91 Cyprus Turkish
+        "TUK", // 92 Turkmen
+        "UKR", // 93 Ukrainian
+        "URD", // 94 Urdu
+        "UZB", // 95 Uzbek
+        "VIE", // 96 Vietnamese
+        "WEL", // 97 Welsh
+        "ZUL", // 98 Zulu
+        "UND", // 99 Other
+        "UND", // 100 Undef
+        "UND", // 101 Undef
+        "BAQ", // 102 Basque
+        "103", // 103 Galician
+    };
+
+// Timer interval
+const TInt KTimeOutInterval = 60000000;  // 60 seconds
+
+
+// ECOM implementation specifics
+static const TImplementationProxy implTable[] =
+    {
+    IMPLEMENTATION_PROXY_ENTRY( 0x2002E693, CPosRevGeoCodePlugin::NewL )
+    }; 
+
+
+EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
+    {
+    aTableCount = sizeof(implTable) / sizeof(TImplementationProxy);
+
+    return implTable;
+    }
+
+//------------------------------------------------------------------------------
+// CPosRevGeoCodePlugin::NewL
+//------------------------------------------------------------------------------
+CPosRevGeoCodePlugin* CPosRevGeoCodePlugin::NewL( MPosReverseGeocodeObserver& aObserver )
+    {
+    FUNC("CPosRevGeoCodePlugin::NewL");
+    CPosRevGeoCodePlugin *self = new (ELeave) CPosRevGeoCodePlugin( aObserver );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+//------------------------------------------------------------------------------
+// CPosRevGeoCodePlugin::CPosRevGeoCodePlugin
+//------------------------------------------------------------------------------
+CPosRevGeoCodePlugin::CPosRevGeoCodePlugin( MPosReverseGeocodeObserver& aObserver ):
+	 																					iObserver( aObserver ),
+	 																					iHTTPClientEngine ( NULL ),
+                                            iXmlParser ( NULL ),                                           
+                                            iConnectionTimer( NULL ),
+                                            iXMLBuf ( NULL )        
+    {
+    FUNC("CPosRevGeoCodePlugin::CPosRevGeoCodePlugin");
+    }
+
+//------------------------------------------------------------------------------
+// CPosRevGeoCodePlugin::~CPosRevGeoCodePlugin
+//------------------------------------------------------------------------------
+CPosRevGeoCodePlugin::~CPosRevGeoCodePlugin()
+    {
+    FUNC("CPosRevGeoCodePlugin::~CPosRevGeoCodePlugin");
+     
+    delete iConnectionTimer;
+    iConnectionTimer = NULL;
+    
+    delete iXMLBuf;
+    iXMLBuf = NULL;
+    
+    delete iXmlParser;
+    iXmlParser = NULL;
+    
+    delete iHTTPClientEngine;
+    iHTTPClientEngine = NULL;
+    FUNC("out>>CPosRevGeoCodePlugin");
+    }
+
+//------------------------------------------------------------------------------
+// CPosRevGeoCodePlugin::GetAddressByCoordinateL
+//------------------------------------------------------------------------------
+void CPosRevGeoCodePlugin::GetAddressByCoordinateL( CPosLandmark& aLandmark )
+    {
+    FUNC("CPosRevGeoCodePlugin::GetAddressByCoordinateL");
+    // Store the landmark object.
+    iClientLandmark = &aLandmark;
+    
+    TLocality locality;
+    User::LeaveIfError( aLandmark.GetPosition( locality ) );
+    TReal64 latitude = locality.Latitude();
+    TReal64 longitude = locality.Longitude();
+    
+    iAuthCode.Copy( KAuthenticationToken );
+    iRefURL.Copy( KRefererURL );
+    
+    GetLanguageForTheRequest( iLang );
+    
+    //Form the request URI
+    iQueryString.Format( KRequestFormat, &iAuthCode, &iRefURL, latitude, longitude, &iLang );
+    
+    iHTTPClientEngine->IssueHTTPGetL( iQueryString );
+    
+    if ( iConnectionTimer && iConnectionTimer->IsActive() )
+        {
+        iConnectionTimer->Cancel();
+        }
+    }
+
+//------------------------------------------------------------------------------
+// CPosRevGeoCodePlugin::Cancel()
+//------------------------------------------------------------------------------
+void CPosRevGeoCodePlugin::Cancel()
+    {
+    if( iHTTPClientEngine->IsActive() )
+        {
+        iHTTPClientEngine->CancelTransaction();
+        }
+    }
+
+//------------------------------------------------------------------------------
+// CPosRevGeoCodePlugin::ConstructL
+//------------------------------------------------------------------------------
+void CPosRevGeoCodePlugin::ConstructL()
+    {
+    FUNC("CPosRevGeoCodePlugin::ConstructL");
+    iXMLBuf = HBufC8::NewL( KMaxResponseLength );
+
+    iXmlParser = CPosRevGeoCodeXmlParser::NewL( *this );
+    
+    iHTTPClientEngine = CPosRevGeoCodeHTTPClientEngine::NewL( *this );
+    
+    iConnectionTimer = CPosRevGeoCodeConnectionTimer::NewL(*this);
+    }
+
+//------------------------------------------------------------------------------
+// CPosRevGeoCodePlugin::OnParseCompletedL
+//------------------------------------------------------------------------------
+void CPosRevGeoCodePlugin::OnParseCompletedL( TInt aError )
+    {
+    FUNC("CPosRevGeoCodePlugin::OnParseCompletedL");
+    StartTimer();
+    iObserver.ReverseGeocodeComplete( aError );
+    }
+
+//------------------------------------------------------------------------------
+// CPosRevGeoCodePlugin::ClientEvent
+//------------------------------------------------------------------------------
+void CPosRevGeoCodePlugin::ClientEvent( const THttpStatus& aEvent )
+    {
+    FUNC("CPosRevGeoCodePlugin::ClientEvent");
+    TInt error;
+    switch( aEvent )
+        {
+        case EHttpTxCompleted:
+            //Reading is done
+            //Parse the String and get the restults
+            if( iXmlParser )
+            {
+             TRAP_IGNORE( iXmlParser->StartParsingL( iXMLBuf,iClientLandmark ) );
+            }
+            break;
+        //All these cases will in turn lead to
+        //generic failure due to connection/Tx related problems    
+        case EHttpConnectionFailure:
+            // May happen if Socket connection fails
+            error = KErrCouldNotConnect;
+            iObserver.ReverseGeocodeComplete( error );
+            break;
+        case EHttpTxFailed:
+        case EHttpMhfRunError:
+            // May happen if Socket connection fails
+            // Complete the RGC with generic error.
+            error = KErrGeneral;
+            iObserver.ReverseGeocodeComplete( error );
+            break;
+        case EHttpTxCancelled:
+            //On Cancellation of request.
+            error = KErrCancel;
+            iObserver.ReverseGeocodeComplete( error );
+            break;
+        case EHttpAuthFailed:
+            //On authentication failed.
+            error = KErrPermissionDenied;
+            iObserver.ReverseGeocodeComplete( error );
+            break;
+        }
+    }
+
+//------------------------------------------------------------------------------
+// CPosRevGeoCodePlugin::ClientBodyReceived
+//------------------------------------------------------------------------------
+void CPosRevGeoCodePlugin::ClientBodyReceived( const TDesC8& aBodyData )
+    {
+    FUNC("CPosRevGeoCodePlugin::ClientBodyReceived");
+    //Dump the contents here
+    TPtr8 ptr = iXMLBuf->Des();
+    ptr.Zero();
+    ptr.Append( aBodyData );
+    }
+
+//------------------------------------------------------------------------------
+// CPosRevGeoCodePlugin::GetLanguageForTheRequest
+//------------------------------------------------------------------------------
+void CPosRevGeoCodePlugin::GetLanguageForTheRequest( TDes8& aLanguage )
+    {
+    FUNC("CPosRevGeoCodePlugin::GetLanguageForTheRequest");
+    // Get the current phone langauge  
+    TInt phoneLangIndex = User::Language();
+
+    // Get the converted language 
+    if (  phoneLangIndex < sizeof( Marc_Table ) / sizeof( Marc_Table[ 0 ]  ) )
+        {
+        aLanguage = (const TUint8*) Marc_Table[ phoneLangIndex ];
+        }
+    else
+        {
+         //By default language will be Eng
+        aLanguage.Copy( KDefaultLanguage );
+        }
+    }
+
+//------------------------------------------------------------------------------
+// CPosRevGeoCodePlugin::CloseConnection
+//------------------------------------------------------------------------------
+void CPosRevGeoCodePlugin::CloseConnection()
+    {
+    FUNC("CPosRevGeoCodePlugin::CloseConnection");
+    if( iHTTPClientEngine )
+        {
+        iHTTPClientEngine->CloseConnection();
+        }
+    }
+
+//------------------------------------------------------------------------------
+// CPosRevGeoCodePlugin::StartTimer
+//------------------------------------------------------------------------------
+void CPosRevGeoCodePlugin::StartTimer()
+    {
+    FUNC("CPosRevGeoCodePlugin::StartTimer");
+    if( iConnectionTimer )
+        {
+        iConnectionTimer->StartTimer( KTimeOutInterval );
+        }
+    }
+
+//------------------------------------------------------------------------------
+// CPosRevGeoCodePlugin::HandleTimedoutEvent
+//------------------------------------------------------------------------------
+void CPosRevGeoCodePlugin::HandleTimedoutEvent(TInt /*aErrorCode*/)
+    {
+    FUNC("CPosRevGeoCodePlugin::HandleTimedoutEvent");
+    CloseConnection();
+    }
+
+//end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/posreversegeocodeplugin/src/posrevgeocodexmlparser.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,355 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implementation of XML parser class.
+*
+*/
+
+#include "posrevgeocodexmlparser.h"
+#include "posrevgeocodelogger.h"
+
+
+#include <utf.h>
+#include <EPos_CPosLandmark.h>
+
+// CONSTANTS
+_LIT8( KXmlMimeType, "text/xml" );
+_LIT8( KCountry, "country" );
+_LIT8( KState, "state" );
+_LIT8( KDistrict, "district" );
+_LIT8( KCity, "city" );
+_LIT8( KPostalCode, "postCode" );
+_LIT8( KThoroughfare, "thoroughfare" );
+_LIT8( KNameTag, "name" );
+_LIT8( KNumberTag, "number" );
+
+
+//------------------------------------------------------------------------------
+// CPosRevGeoCodeXmlParser::NewL
+//------------------------------------------------------------------------------
+CPosRevGeoCodeXmlParser* CPosRevGeoCodeXmlParser::NewL( MPosRevGeoCodeXmlObserver& aObserver )
+    {
+    FUNC("CPosRevGeoCodeXmlParser::NewL");
+    CPosRevGeoCodeXmlParser* self = new ( ELeave ) CPosRevGeoCodeXmlParser( aObserver );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+//------------------------------------------------------------------------------
+// CPosRevGeoCodeXmlParser::~CPosRevGeoCodeXmlParser
+//------------------------------------------------------------------------------
+CPosRevGeoCodeXmlParser::~CPosRevGeoCodeXmlParser()
+    {
+    FUNC("CPosRevGeoCodeXmlParser::~CPosRevGeoCodeXmlParser");
+    delete iParser;
+    delete iBuffer;
+    }
+
+//------------------------------------------------------------------------------
+// CPosRevGeoCodeXmlParser::CPosRevGeoCodeXmlParser
+//------------------------------------------------------------------------------
+CPosRevGeoCodeXmlParser::CPosRevGeoCodeXmlParser( MPosRevGeoCodeXmlObserver& aObserver ):
+    iObserver( aObserver ),
+    iParser( NULL ),
+    iBuffer( NULL ),
+    iThoroughfare( EFalse )
+    {
+    FUNC("CPosRevGeoCodeXmlParser::CPosRevGeoCodeXmlParser");
+    }
+
+//------------------------------------------------------------------------------
+// CPosRevGeoCodeXmlParser::ConstructL
+//------------------------------------------------------------------------------
+void CPosRevGeoCodeXmlParser::ConstructL()
+    {
+    FUNC("CPosRevGeoCodeXmlParser::ConstructL");
+    iParser = CParser::NewL( KXmlMimeType,*this );
+    }
+
+//------------------------------------------------------------------------------
+// CPosRevGeoCodeXmlParser::StartParsingL
+//------------------------------------------------------------------------------
+void CPosRevGeoCodeXmlParser::StartParsingL( HBufC8 *aXmlInfo,
+                                             CPosLandmark* aLandmarkInfo )
+    {
+    FUNC("CPosRevGeoCodeXmlParser::StartParsingL");
+    // Store client's landmark
+    iClientLandmark = aLandmarkInfo;
+    
+    if( iBuffer )
+        {
+        delete iBuffer;
+        iBuffer = NULL;
+        }
+
+    iBuffer = HBufC8::NewL( aXmlInfo->Size() );
+    TPtr8 ptr = iBuffer->Des();
+    ptr.Copy( aXmlInfo->Ptr(),aXmlInfo->Size() );
+    
+    // Now, we have the whole file content in iBuffer.
+    // We are ready to parse the XML content.
+    iParser->ParseBeginL();
+    iParser->ParseL( *iBuffer );
+    
+    // Since we read the whole file contents within one-shot,
+    // we can call ParseEndL() right after calling ParseL().
+    iParser->ParseEndL();
+    }
+
+//------------------------------------------------------------------------------
+// CPosRevGeoCodeXmlParser::OnStartDocumentL
+//------------------------------------------------------------------------------
+void CPosRevGeoCodeXmlParser::OnStartDocumentL( const RDocumentParameters& /*aDocParam*/,
+                                                TInt aErrorCode )
+    {
+    FUNC("CPosRevGeoCodeXmlParser::OnStartDocumentL");
+    if( aErrorCode != KErrNone )
+        {
+        iObserver.OnParseCompletedL( aErrorCode );
+        }
+    }
+
+//------------------------------------------------------------------------------
+// CPosRevGeoCodeXmlParser::OnEndDocumentL
+//------------------------------------------------------------------------------
+void CPosRevGeoCodeXmlParser::OnEndDocumentL( TInt aErrorCode )
+    {
+    FUNC("CPosRevGeoCodeXmlParser::OnEndDocumentL");
+    iObserver.OnParseCompletedL( aErrorCode );
+    }
+
+//------------------------------------------------------------------------------
+// CPosRevGeoCodeXmlParser::OnStartElementL
+//------------------------------------------------------------------------------
+void CPosRevGeoCodeXmlParser::OnStartElementL( const RTagInfo& aElement,
+                                               const RAttributeArray& /*aAttributes*/,
+                                               TInt aErrorCode )
+    {
+    FUNC("CPosRevGeoCodeXmlParser::OnStartElementL");
+    if ( aErrorCode == KErrNone )
+        {
+        // If we find the start of an element, we write to the screen,
+        // for example: "<tag>"
+        
+        if( !aElement.LocalName().DesC().Compare( KCountry ) )
+            {
+            iCurrentElement = ECountryName;
+            }
+        else if( !aElement.LocalName().DesC().Compare( KState ) )
+            {
+            iCurrentElement = EState;
+            }
+        else if( !aElement.LocalName().DesC().Compare( KCity ) )
+            {
+            iCurrentElement = ECity;
+            }
+        else if( !aElement.LocalName().DesC().Compare( KDistrict ) )
+            {
+            iCurrentElement = EDistrict;
+            }
+        else if( !aElement.LocalName().DesC().Compare( KPostalCode )  )
+            {
+            iCurrentElement = EPostalCode;
+            }
+        else if( !aElement.LocalName().DesC().Compare( KThoroughfare )  )
+            {
+            iThoroughfare = ETrue;
+            }
+        else if( !aElement.LocalName().DesC().Compare( KNameTag ) && iThoroughfare )
+            {
+            iCurrentElement = EThoroughfareName;
+            }
+        else if( !aElement.LocalName().DesC().Compare( KNumberTag ) && iThoroughfare )
+            {
+            iCurrentElement = EThoroughfareNumber;
+            }
+        else
+            {
+            // Nothing to be done here.
+            }
+        }
+    else
+        {
+        iObserver.OnParseCompletedL( aErrorCode );
+        }
+    }
+        
+//------------------------------------------------------------------------------
+// CPosRevGeoCodeXmlParser::OnEndElementL
+//------------------------------------------------------------------------------
+void CPosRevGeoCodeXmlParser::OnEndElementL( const RTagInfo& /*aElement*/, TInt aErrorCode )
+    {
+    FUNC("CPosRevGeoCodeXmlParser::OnEndElementL");
+    if( aErrorCode == KErrNone )
+        {
+        // at the end of the tag </tag>
+        //Set it to ENone
+        iCurrentElement = ENone;
+        iThoroughfare = EFalse;
+        }
+    else
+        {
+        iObserver.OnParseCompletedL( aErrorCode );
+        }
+    }
+    
+//------------------------------------------------------------------------------
+// CPosRevGeoCodeXmlParser::OnContentL
+//------------------------------------------------------------------------------
+void CPosRevGeoCodeXmlParser::OnContentL( const TDesC8 &aBytes, TInt aErrorCode )
+    {
+    FUNC("CPosRevGeoCodeXmlParser::OnContentL");
+    if( aErrorCode == KErrNone )
+        {
+
+        if( iCurrentElement == ENone )
+            {
+            //ignore if the current element is not there
+            return;
+            }
+
+        // convert the content to UCS-2
+        // from UTF-8        
+        RBuf buffer;
+        CleanupClosePushL(buffer);
+        buffer.CreateL( aBytes.Length() );
+        CnvUtfConverter::ConvertToUnicodeFromUtf8( buffer,aBytes );
+        
+        if( iCurrentElement == ECountryName )
+            {
+            iClientLandmark->SetPositionFieldL( EPositionFieldCountry,buffer );
+            }
+        else if( iCurrentElement == EState )
+            {
+            iClientLandmark->SetPositionFieldL( EPositionFieldState,buffer );
+            }
+        else if( iCurrentElement == EDistrict )
+            {
+            iClientLandmark->SetPositionFieldL( EPositionFieldDistrict,buffer );
+            }
+        else if( iCurrentElement == ECity )
+            {
+            iClientLandmark->SetPositionFieldL( EPositionFieldCity,buffer );
+            }
+        else if( iCurrentElement == EPostalCode )
+            {
+            iClientLandmark->SetPositionFieldL( EPositionFieldPostalCode,buffer );
+            }
+        else if( iCurrentElement == EThoroughfareName )
+            {
+            iClientLandmark->SetPositionFieldL( EPositionFieldStreet,buffer );
+            }
+        else if( iCurrentElement == EThoroughfareNumber )
+            {
+            iClientLandmark->SetPositionFieldL( EPositionFieldStreetExtension,buffer );
+            }
+        else    
+            {
+            // Nothing to be done here.
+            }
+        CleanupStack::PopAndDestroy( &buffer ); 
+        }
+    else
+        {
+        iObserver.OnParseCompletedL( aErrorCode );
+        }
+    }
+    
+//------------------------------------------------------------------------------
+// CPosRevGeoCodeXmlParser::OnStartPrefixMappingL
+//------------------------------------------------------------------------------
+void CPosRevGeoCodeXmlParser::OnStartPrefixMappingL( const RString& /*aPrefix*/,
+                                                     const RString& /*aUri*/,
+                                                     TInt aErrorCode )
+    {
+    FUNC("CPosRevGeoCodeXmlParser::OnStartPrefixMappingL");
+    if( aErrorCode != KErrNone )
+        {
+        iObserver.OnParseCompletedL( aErrorCode );
+        }
+    }
+        
+//------------------------------------------------------------------------------
+// CPosRevGeoCodeXmlParser::OnEndPrefixMappingL
+//------------------------------------------------------------------------------
+void CPosRevGeoCodeXmlParser::OnEndPrefixMappingL( const RString& /*aPrefix*/,
+                                                   TInt aErrorCode )
+    {
+    FUNC("CPosRevGeoCodeXmlParser::OnEndPrefixMappingL");
+    if( aErrorCode != KErrNone )
+        {
+        iObserver.OnParseCompletedL( aErrorCode );
+        }
+    }
+    
+//------------------------------------------------------------------------------
+// CPosRevGeoCodeXmlParser::OnIgnorableWhiteSpaceL
+//------------------------------------------------------------------------------
+void CPosRevGeoCodeXmlParser::OnIgnorableWhiteSpaceL( const TDesC8& /*aBytes*/,
+                                                      TInt aErrorCode )
+    {
+    FUNC("CPosRevGeoCodeXmlParser::OnIgnorableWhiteSpaceL");
+    if( aErrorCode != KErrNone )
+        {
+        iObserver.OnParseCompletedL( aErrorCode );
+        }
+    }
+    
+//------------------------------------------------------------------------------
+// CPosRevGeoCodeXmlParser::OnSkippedEntityL
+//------------------------------------------------------------------------------
+void CPosRevGeoCodeXmlParser::OnSkippedEntityL( const RString& /*aName*/,
+                                                TInt aErrorCode )
+    {
+    FUNC("CPosRevGeoCodeXmlParser::OnSkippedEntityL");
+    if( aErrorCode != KErrNone )
+        {
+        iObserver.OnParseCompletedL( aErrorCode );
+        }
+    }
+
+//------------------------------------------------------------------------------
+// CPosRevGeoCodeXmlParser::OnProcessingInstructionL
+//------------------------------------------------------------------------------
+void CPosRevGeoCodeXmlParser::OnProcessingInstructionL( const TDesC8& /*aTarget*/,
+                                                        const TDesC8& /*aData*/, 
+                                                        TInt aErrorCode )
+    {
+    FUNC("CPosRevGeoCodeXmlParser::OnProcessingInstructionL");
+    if( aErrorCode != KErrNone )
+        {
+        iObserver.OnParseCompletedL( aErrorCode );
+        }
+    }
+
+//------------------------------------------------------------------------------
+// CPosRevGeoCodeXmlParser::OnError
+//------------------------------------------------------------------------------
+void CPosRevGeoCodeXmlParser::OnError( TInt aErrorCode )
+    {
+    FUNC("CPosRevGeoCodeXmlParser::OnError");
+    TRAP_IGNORE( iObserver.OnParseCompletedL( aErrorCode ) );
+    }
+
+//------------------------------------------------------------------------------
+// CPosRevGeoCodeXmlParser::GetExtendedInterface
+//------------------------------------------------------------------------------
+TAny* CPosRevGeoCodeXmlParser::GetExtendedInterface( const TInt32 /*aUid*/ )
+    {
+    FUNC("CPosRevGeoCodeXmlParser::GetExtendedInterface");
+    return NULL;
+    }
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/posindicator/rom/posindicator.iby	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,46 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Image description file for project position indicator
+*
+*/
+
+
+#ifndef POSITIONINDICATOR_IBY
+#define POSITIONINDICATOR_IBY
+
+#include <data_caging_paths_for_iby.hrh>
+#include <bldvariant.hrh>
+
+// Position indicator 
+file=ABI_DIR\BUILD_DIR\posindicator.dll                   SHARED_LIB_DIR\posindicator.dll
+
+// Position indicator helper client library
+file=ABI_DIR\BUILD_DIR\posindicatorhelper.dll    					SHARED_LIB_DIR\posindicatorhelper.dll
+
+// Position indicator helper server
+file=ABI_DIR\BUILD_DIR\posindicatorhelperserver.exe   	  SHARED_LIB_DIR\posindicatorhelperserver.exe
+
+// Position reverse geo-code interface
+file=ABI_DIR\BUILD_DIR\posreversegeocodeinterface.dll     SHARED_LIB_DIR\posreversegeocodeinterface.dll
+
+// Position reverse geo-code plugin
+ECOM_PLUGIN( posrevgeocodeplugin.dll,posrevgeocodeplugin.rsc )
+
+// Position indicator plugin
+data=\epoc32\data\z\resource\plugins\indicators\posindicator.qtplugin                  \resource\plugins\indicators\posindicator.qtplugin
+
+// stub sis
+data=DATAZ_\system\install\posindicator_stub.sis					system\install\posindicator_stub.sis
+
+#endif // POSITIONINDICATOR_IBY
Binary file locationsystemui/locationsysui/possettings/conf/positioningsettings.confml has changed
Binary file locationsystemui/locationsysui/possettings/conf/positioningsettings_2002E685.crml has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/inc/possettingsadvinterface.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,66 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors: 
+*
+* Description: Positioning settings advanced interface class.
+*
+*/
+
+#ifndef POSSETTINGSENGADVANCEDINTERFACE_H
+#define POSSETTINGSENGADVANCEDINTERFACE_H
+
+#include "possettingsadvop.h"
+#include <QtPlugin>
+
+
+
+//Provider id and version
+static const char* KAdvancedInterfaceId = 
+           "com.nokia.PosSettingsAdvInterface/1.0";
+
+ 
+/**
+ * Settings UI ECom plug-in interface
+ *
+ * PosSettingsAdvInterface class tdefines interface for Advanced 
+ * positioning settings UI. Any Settings UI component should derive from this 
+ * class and implement the abstract functions.
+ *
+ */
+class PosSettingsAdvInterface 
+    {
+    
+public:
+    /**
+     * Destructor
+     */
+    virtual ~PosSettingsAdvInterface(){}
+	
+  
+    /**
+     *	This method performs operations required to display advanced settings UI 
+     *	The operations would involve the following :
+     *	- add data model items
+     *	- add connections for the data model items
+     *	- add actions for menu items ( if any )
+     *	- add connection to the view using the slot updateAdvancedView
+     *	  to update the view when the form is updated.
+     */
+    virtual int initialise( PosSettingsAdvOp* operation ) = 0;
+    
+    };
+
+
+// MACROS
+Q_DECLARE_INTERFACE( PosSettingsAdvInterface,KAdvancedInterfaceId );
+
+#endif /* POSSETTINGSENGADVANCEDINTERFACE_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/inc/possettingsadvop.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,114 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors: 
+*
+* Description: Positioning settings advanced operation class.
+*
+*/
+
+#ifndef POSSETTINGSENGADVANCEDOPERATION_H
+#define POSSETTINGSENGADVANCEDOPERATION_H
+
+
+#include "possettingsglobal.h"
+#include <qobject.h>
+#include <hbview.h>
+#include <hbdataform.h>
+#include <hbdataformmodel.h>
+#include <hbdataformmodelitem.h>
+
+class POSSETTINGS_EXPORT PosSettingsAdvOp : public QObject
+    {
+    Q_OBJECT
+    
+public:
+    /**
+     * Constructor
+     */
+    PosSettingsAdvOp(HbView* view);
+    
+    /**
+     * Destructor
+     */
+    ~PosSettingsAdvOp();
+    
+    /**
+     * Appends dataform model item to the dataform model.
+     */
+    void appendDataFormItem( HbDataFormModelItem *data,
+                             HbDataFormModelItem *parent = 0 );
+    
+    /***
+     * Makes connections for the data form model items
+     */
+    void addConnection( HbDataFormModelItem *item, const char* signal, 
+                        QObject *receiver, const char* slot );
+    
+    /**
+     * Used to add menue items & actions
+     */
+    void addAction( HbAction *action, HbView::ActionContainer 
+                    preferedActionContainer );
+    /**
+     * Gets the index of a particular data form model item
+     * @param[in] item - data form model item whose index is required
+     * @return - index of the data form model item within the data form model
+     */
+    QModelIndex indexFromItem(const HbDataFormModelItem *  item  );
+    /**
+     * Removes connection that were already made
+     */
+    void removeConnection(HbDataFormModelItem *item, const char *signal, QObject *receiver, const char *slot);
+    /**
+     * Sets the model item to be expanded/collapsed
+     */
+    void setExpanded(const QModelIndex &index, bool expanded);
+    /**
+     * Checks if a particualr data model item is expanded
+     */
+    bool isExpanded (const QModelIndex &index) const;
+    /**
+     * Removes a particualr data form model item from the model
+     */
+    bool removeItem(HbDataFormModelItem* item);
+    /**
+     * set prototype for data form
+     */
+    void setItemPrototypes(QList<HbAbstractViewItem *> &protoTypeList);
+
+    /**
+     * gets prototype list for the data form
+     */
+    void itemPrototypes(QList<HbAbstractViewItem *> &protoTypeList);
+private:
+
+    /**
+     * Pointer to view.
+     * Not own.
+     */
+    HbView* mView;
+    
+    /**
+     * Pointer to data form
+     * Not own.
+     */
+    HbDataForm* mDataForm;
+    
+    /**
+     * Pointer to data form model.
+     * Not own.
+     */
+    HbDataFormModel* mDataFormModel;
+    };
+
+
+#endif /* POSSETTINGSENGADVANCEDOPERATION_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/inc/possettingscrkey.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,59 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Central Repository Key definition for ordering of the
+*								positioning settings plugins displayed in the advaced
+*								settings view
+*
+*/
+
+#ifndef POSSETTINGSCRKEY_H
+#define POSSETTINGSCRKEY_H
+
+#include <e32base.h>
+
+/*
+ * UID of the Positioning Settings Central Repository Key. 
+ * This key defines the position of the positioning settings plugins that are shown 
+ * in the advanced settings view of Positioning.
+ */
+const TUid KCRUidPositioningSettings = {0x2002E685};
+
+/*
+ * Key for listing the positioning settings plugins in the advacned view of Positioning. 
+ * This key is a Read only key and the default values for the Keys is configured by the device 
+ * manufacturer while flashing the device. They cannot be dynamically configured. 
+ * The keys contains a string which contains a list of Unique Identifers for the Positioning settings 
+ * plugins in the order in which the device manufacturer wants these plugins to be displayed.
+ * The maximum length of this string is 1024 characters
+ * The format of this Key is defined as
+ * | Count | Length(1) | Dllname(1) | Length(2) | Dllname(2) | ... | Length( Count ) | Dllname( Count ) |
+ * where,
+ * Count ( 4 digits ) - The number of positioning Settings plugins which are predefined to be displayed in 
+ * the Advanced Settings view, in the Decimal format.
+ * Length(n) ( 4 digits ) - Length of the plugin's dll name in the string format. This field contains the length
+ * in the in the Decimal format. 
+ * String(n) - Dll name of the positioning settings plugins encoded as a string.
+ */
+const TUint32 KPositioningSettingsPlugins = 0x00000001;
+
+/*
+ * Key for storing old state of background positioning in main view.
+ * This key is a Read/Write key and the default value for the key is one [i.e. enabled]
+ * The key contains integer which can be either 0 [disabled] or 1 [enabled]
+ * The key value is modified only when user marks/unmarks background positioning checkbox in the main view
+ * The key value is NOT modified when background positioning checkbox is removed/inserted 
+ */
+const TUint32 KPositioningSettingsBackgroundServicesStatus = 0x00000002;
+
+#endif //POSSETTINGSCRKEY_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/inc/possettingsglobal.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,27 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*
+*/
+
+#ifndef POSSETTINGS_GLOBAL_H
+#define POSSETTINGS_GLOBAL_H
+
+#ifdef BUILD_POSSETTINGS
+    #define POSSETTINGS_EXPORT Q_DECL_EXPORT
+#else
+    #define POSSETTINGS_EXPORT Q_DECL_IMPORT
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/inc/possettingsview.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,58 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: This is the first view for Positioning Settings plugin  
+*
+*/
+
+#ifndef POSSETTINGSVIEW_H
+#define POSSETTINGSVIEW_H
+
+#include "possettingsglobal.h"
+
+#include<QObject>
+#include <cpbasesettingview.h>
+
+// Forward declaration
+class PosSettingsEngine;
+class PosSettingsForm;
+class HbGroupBox;
+class QGraphicsLinearLayout;
+
+class POSSETTINGS_EXPORT PosSettingsView: public CpBaseSettingView
+    {    
+public:
+    /**
+     * Constructor 
+     */
+     explicit PosSettingsView( QGraphicsItem *parent = 0 );
+    
+    /**
+     * Destructor
+     */ 
+    ~PosSettingsView();
+     
+private: // Data members
+    /**
+     * Pointer to settings engine object
+     * Own
+     */ 
+    PosSettingsEngine* mSettingsEngine;
+    
+    /**
+     * Pointer to settings form object.
+     */
+    PosSettingsForm* mSettingsForm;    
+    };
+
+#endif // POSSETTINGSVIEW_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/poslocationservices/inc/locationservicescustomviewitem.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,69 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0""
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  This class to be used to create group items for location services
+ *
+ */
+#ifndef LOCATIONSERVICES_CUSTOMVIEWITEM_H
+#define LOCATIONSERVICES_CUSTOMVIEWITEM_H
+
+#include <hbdataformviewitem.h>
+#include <hbdataformmodelitem.h>
+#include <HbWidget>
+
+
+//dataItemType for Location services custom widget 
+const int LocationServicesCustomItem = HbDataFormModelItem::CustomItemBase
+        + 15;
+
+class LocationServicesCustomViewItem : public HbDataFormViewItem
+    {
+Q_OBJECT
+public:
+    /**
+     * Constructor
+     */
+    explicit LocationServicesCustomViewItem(QGraphicsItem *parent = 0);
+    
+    /**
+     * Destructor
+     */
+    ~LocationServicesCustomViewItem();
+
+protected:
+    
+    /**
+     * This method is used to create the Custom widget for location services
+     * @returns - HbAbstractButton, instance of the custom widget
+     */
+    virtual HbWidget* createCustomWidget();
+    
+    /**
+     * 
+     */
+    virtual HbAbstractViewItem* createItem();
+    
+    /**
+     * 
+     */
+    virtual bool canSetModelIndex(const QModelIndex &index) const;
+public slots:
+    virtual void restore();
+    //virtual void save();
+private:
+    /**
+     * instance of HbAbstractButton
+     */
+    HbWidget *mPushWidget;
+    };
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/poslocationservices/inc/locationserviceswidget.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,106 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0""
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: This header file is for creating the custom widget for location services 
+ *              for Advanced view of Positioning settings 
+ *
+ */
+
+#ifndef LOCATIONSERVICESWIDGET_H
+#define LOCATIONSERVICESWIDGET_H
+
+#include <QObject>
+#include <hbabstractbutton.h>
+
+class HbTextItem;
+
+class LocationServicesWidget : public HbAbstractButton
+    {
+Q_OBJECT
+
+// It is possible to set initial value to properties from the application designer.
+Q_PROPERTY(QString primarytext READ primaryText WRITE setPrimaryText)
+Q_PROPERTY(QString sectext READ secText WRITE setSecText)
+Q_PROPERTY(QString sec2text READ sec2Text WRITE setSec2Text)
+
+public:
+    /**
+     * Constructor
+     */
+    LocationServicesWidget(QGraphicsItem *parent = 0);
+    
+    /**
+     * Destructor
+     */
+    ~LocationServicesWidget();
+
+public:
+    
+    /**
+     * Sets the primary text for the widget
+     * @param [in] - primaryText, primary text for the widget
+     */
+    void setPrimaryText(const QString &primaryText);
+    
+    /**
+     * Gets the primary text for the widget
+     * @returns - QString containing the primary text
+     */
+    QString primaryText() const;
+    
+    /**
+     * Sets the primary text for the widget
+     * @param [in] - secText, secondry(second line) text for the widget
+     */
+    void setSecText(const QString &secText);
+    
+    /**
+     * Gets the primary text for the widget
+     * @returns - QString containing the secondry text
+     */
+    QString secText() const;
+    
+    /**
+     * Sets the primary text for the widget
+     * @param [in] - secText, secondry(third line) text for the widget
+     */
+    void setSec2Text(const QString &secText);
+    
+    /**
+     * Gets the primary text for the widget
+     * @returns - QString containing the secondry2 text
+     */
+    QString sec2Text() const;
+
+private:
+    
+    /**
+     * Primary Text item
+     * Does not own
+     */
+    HbTextItem* mPrimaryTextItem;
+    
+    /**
+     * Secondry Text item
+     * Does not own
+     */
+    HbTextItem* mSecondryTextItem;
+    
+    /**
+     * Secondry (third item) Text item
+     * Does not own
+     */
+    HbTextItem* mSecondry2TextItem;
+    };
+
+#endif // LOCATIONSERVICESWIDGET_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/poslocationservices/inc/poslocationservices.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,136 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: This is for Location Based Servies Settings plugin 
+ *							for Advanced View
+ *
+ */
+
+#ifndef POSLOCATIONSERVICES_PLUGIN_H
+#define POSLOCATIONSERVICES_PLUGIN_H
+
+#include "poslocationservicesengine.h"
+
+#include <QObject>
+#include <hbdataformmodelitem.h>
+#include <possettingsadvinterface.h>
+#include <hbdataformviewitem.h>
+#include <qsignalmapper.h>
+
+
+//Forward Declaration
+class PosSettingsAdvOp;
+class PosSettingsSignalMapper;
+class HbMessageBox;
+class HbAction;
+
+class PosLocationServices : public QObject, public PosSettingsAdvInterface
+    {
+Q_OBJECT
+    Q_INTERFACES( PosSettingsAdvInterface)
+public:
+    /**
+     * Constructor
+     */
+    PosLocationServices();
+
+    /**
+     * Destructor
+     */
+    ~PosLocationServices();
+public:
+    /*
+     * Derived from PosSettingsAdvInterface   
+     */
+    virtual int initialise(PosSettingsAdvOp* operation);
+
+private:
+    /**
+     * This method is used to list all the location services that are running
+     */
+    void listServices();
+    
+    /**
+     * This method constructs the string for update interval to be displayed in
+     * the second line of the widget.
+     * @param [in]- updateInterval, update interval is seconds, gets from the engine
+     * @param [out]- updateIntervalString, string to be displayed, depending on the update
+     * interval is in day, hour, minute or second
+     */
+    void getUpdateIntervalString(int updateInterval, QString& updateIntervalString);
+
+private slots:
+    /**
+     * This is slot, which is called when the user selects the   
+     * service to be deleted
+     */
+    void stopService(int serviceId);
+
+    /**
+     * This is slot, which is called whenever there is a new location service added or 
+     * a server in the list is stopped. This refreshes the view.
+     */
+    void updateList();
+    
+ 	/**
+     * This slot is used to stop sessions.
+     * @param[in] action - Button which is pressed on messagebox dialog
+     */
+    void stopSession(HbAction* action);
+
+private:
+
+    /**
+     * an object if the location services setting engine class
+     */
+    PosLocationServicesEngine* mLocationServiceEngine;
+
+    /**
+     * an object of data form model item class
+     */
+    HbDataFormModelItem * mGroup;
+
+    /**
+     * Holds the params of the list of location services
+     */
+    QList<PosLocationServiceInfo> mServiceList;
+
+    /**
+     * Handle to PosSettingsAdvOp object
+     */
+    PosSettingsAdvOp * mOperation;
+    
+    /**
+     * an object of QSignalMapper 
+     */
+    QSignalMapper * mSignalMapper;
+    
+    /**
+     * hold the signal mapper objects of PosPsySettingsSignalMapper
+     */
+    QList<PosSettingsSignalMapper*> mSignalMapperList;
+    
+
+    
+    /**
+     * holds the stop service query dialog
+	 * Owns
+     */
+    HbMessageBox * mStopQuery;
+    
+    /**
+     * holds service id to be stop
+     */
+    int mServiceId;
+    };
+#endif // POSLOCATIONSERVICES_PLUGIN_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/poslocationservices/inc/poslocationservicescommon.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,47 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: This header defines set of data structures used in
+*              locaion services plugin.  
+*
+*/
+
+#ifndef POSLOCATIONSERVICESCOMMON_H
+#define POSLOCATIONSERVICESCOMMON_H
+
+#include <QString>
+#include <QDateTime>
+
+struct PosLocationServiceInfo
+    {
+    /**
+     * Location service Id.
+     */
+    int mServiceId;
+    /**
+     * Location service name.
+     */
+    QString mServiceName;
+    
+    /**
+     * Update interval.
+     */
+    int mUpdateInterval;
+    
+    /**
+     * Date and time on which service ends.
+     */
+    QDateTime mEndDateTime;
+    };
+
+#endif //POSLOCATIONSERVICESCOMMON_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/poslocationservices/inc/poslocationservicesengine.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,87 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Class declaration of PosLocationServicesEngine.
+*
+*/
+#ifndef POSLOCATIONSERVICESENGINE_H
+#define POSLOCATIONSERVICESENGINE_H
+
+#include "poslocationservicesengineprivate.h"
+#include <QObject>
+
+
+
+/**
+ * PosLocationServicesEngine class provides interface to location services.
+ * Using this interface. This interface provides services like list, delete
+ * etc..
+ */
+class PosLocationServicesEngine : public QObject,
+                                  public PosLocationServiceUpdateObserver
+    {
+    Q_OBJECT
+public:
+    /**
+     * Constructor
+     */
+    PosLocationServicesEngine();
+
+    /**
+     * Destructor
+     */
+    virtual ~PosLocationServicesEngine();
+
+    /**
+     * Retrieves all location services info.
+     *
+     * @param[out] locationServiceList List of location
+     *            services info.
+     * @return  - KErrNone if location services information retrieved successfully.
+     *          - KErrNotFound if there are no location services.
+     *            otherwise system wide error codes.
+     */
+    int getLocationServices( QList<PosLocationServiceInfo>&
+                             locationServiceList );
+
+    /**
+     * Removes location service based on the service Id.
+     *
+     * @param [in] serviceId Location service Id.
+     *
+     * @return following error codes
+     *      - KErrNone if successful
+     *      - KErrNotFound if service is not found
+     *      otherwise system wide error codes.
+     */
+    int removeLocationService( int serviceId );
+
+public:// From PosLocationServiceUpdateObserver
+    void handleLocationServiceUpdate();
+
+signals:
+    /**
+     * This signal is emitted when there is update in the
+     * location services.
+     */
+    void locationServiceUpdate();
+
+private:// Data members
+    /**
+     * Pointer to PosLocationServicesEnginePrivate object.
+     * Own
+     */
+    PosLocationServicesEnginePrivate* d_ptr;
+    };
+
+#endif /* POSLOCATIONSERVICESENGINE_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/poslocationservices/inc/poslocationservicesengineprivate.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,109 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Class declaration of PosLocationServicesEnginePrivate.  
+*
+*/
+#ifndef POSLOCATIONSERVICESENGINEPRIVATE_H
+#define POSLOCATIONSERVICESENGINEPRIVATE_H
+
+#include "poslocationservicescommon.h"
+#include <epos_msuplsessionobserver.h>
+
+// Forward declaration
+class CSuplSettings;
+
+/**
+ * The class defines the interface to get notification on location 
+ * service update.The class interested in location service update
+ * should inherit from this class.
+ */
+class PosLocationServiceUpdateObserver
+    {
+public:
+    virtual void handleLocationServiceUpdate() = 0;
+    };
+
+
+/**
+ * PosLocationServicesEnginePrivate class implements the engine logic.This 
+ * provides wrapper over SUPL settings API
+ */
+class PosLocationServicesEnginePrivate : public MSuplSessionObserver
+    {
+public:
+    /**
+     * Constructor
+     */
+    PosLocationServicesEnginePrivate( PosLocationServiceUpdateObserver&
+                                      aObserver );
+    
+    /**
+     * Destructor
+     */
+    virtual ~PosLocationServicesEnginePrivate();
+    
+    /**
+     * Retrieves all location services info.
+     * 
+     * @param[out] locationServiceList List of location 
+     *            services info.
+     * @return  - KErrNone if location services information retrieved successfully.  
+     *          - KErrNotFound if there are no location services. 
+     *            otherwise system wide error codes.             
+     */
+    int GetLocationServices( QList<PosLocationServiceInfo>& 
+                             aLocationServiceList );
+    
+    /**
+     * Retrieves all location services info.
+     * 
+     * @param[out] locationServiceList List of location 
+     *            services info.
+     * @leaves  - KErrNone if location services information retrieved successfully.  
+     *          - KErrNotFound if there are no location services. 
+     *            otherwise system wide error codes. 
+     */
+    void GetLocationServicesL( QList<PosLocationServiceInfo>& 
+                             aLocationServiceList );
+    /**
+     * Removes location service based on the service Id.
+     * 
+     * @param [in] serviceId Location service Id. 
+     *
+     * @return following error codes
+     *      - KErrNone if successful
+     *      - KErrNotFound if service is not found
+     *      otherwise system wide error codes. 
+     */
+    int RemoveLocationService( int aServiceId );
+    
+public: // From MSuplSessionObserver
+    virtual void HandleSuplSessionChangeL(
+            TSuplSessionEventType aEvent,TInt64 aSessionId );
+    
+private:// Data members
+    
+    /**
+     * Reference to location service update observer.
+     */
+    PosLocationServiceUpdateObserver& mObserver;
+    
+    /**
+     * Pointer to SUPL settings object.
+     * Own
+     */
+    CSuplSettings* mSuplSettings;
+    };
+
+#endif /* POSLOCATIONSERVICESENGINEPRIVATE_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/poslocationservices/inc/possettingssignalmapper.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: Declaration of the Positioning Settings signal mapper 
+ *              used to map the signals of each check box item to the index
+ *
+ */
+
+#ifndef POSSETTINGSSIGNALMAPPER_H
+#define POSSETTINGSSIGNALMAPPER_H
+
+#include <QObject>
+
+class PosSettingsSignalMapper : public QObject
+    {
+    Q_OBJECT
+public:
+    /*
+     * constructor
+     */
+    PosSettingsSignalMapper();
+    /**
+     * destructor
+     */
+    ~PosSettingsSignalMapper();
+public:
+signals:
+    /**
+     * signal emitted by the slot of this class
+     */
+    void signalmapped();
+public slots:
+    /**
+     * slot to be called on a change in state of checkbox.
+     * this in turn calls the signal signalmapped()
+     */
+    void signalmap();
+    };
+
+#endif //POSSETTINGSSIGNALMAPPER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/poslocationservices/poslocationservices.pro	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,71 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description:  Location Based Services Plugin pro file
+#
+
+TEMPLATE = lib
+TARGET = poslocationservices
+DEPENDPATH += .
+INCLUDEPATH += ../inc
+INCLUDEPATH += ../possettingsengine/inc
+INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+CONFIG += hb \
+    plugin
+MOC_DIR = moc
+OBJECTS_DIR = obj
+RCC_DIR = rcc
+RESOURCES = poslocationservices.qrc 
+
+# Platforms
+SYMBIAN_PLATFORMS = WINSCW \
+    ARMV5
+LIBS += -lcpframework \
+    -lpossettingsengine \
+    -lepos_suplsettings \
+    -lflogger
+
+# Input
+SOURCES += src/poslocationservices.cpp
+SOURCES += src/poslocationservicesengine.cpp
+SOURCES += src/poslocationservicesengineprivate.cpp
+SOURCES += src/locationservicescustomviewitem.cpp
+SOURCES += src/locationserviceswidget.cpp
+SOURCES += src/possettingssignalmapper.cpp
+
+HEADERS += inc/poslocationservices.h
+HEADERS += inc/poslocationservicescommon.h 
+HEADERS += inc/poslocationservicesengine.h
+HEADERS += inc/poslocationservicesengineprivate.h
+HEADERS += inc/locationservicescustomviewitem.h
+HEADERS += inc/locationserviceswidget.h
+HEADERS += inc/possettingssignalmapper.h
+
+symbian: { 
+    TARGET.EPOCALLOWDLLDATA = 1
+    DEFINES += PLUGINUID3=0x2002DCEB
+    TARGET.UID3 = 0x2002DCEB
+}
+symbian { 
+    deploy.path = C:
+    qtplugins.path = /resource/qt/plugins/positioningsettings
+    qtplugins.sources += qmakepluginstubs/poslocationservices.qtplugin
+    
+    # This is for new exporting system coming in garden
+    for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin $$deploy.path$$qtplugins.path/$$basename(qtplugin)"
+}
+TARGET.CAPABILITY = All \
+    -TCB
+plugin.sources = poslocationservices.dll
+plugin.path = \resource\qt\plugins\positioningsettings
+DEPLOYMENT += plugin
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/poslocationservices/poslocationservices.qrc	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,10 @@
+<RCC>    
+    <qresource prefix="/data" >
+        <file alias="locationserviceswidget.widgetml">resources/locationserviceswidget.widgetml</file>
+        <file alias="locationserviceswidget.css">resources/locationserviceswidget.css</file>
+        <file alias="locationservicesviewitemwidget.css">resources/locationservicesviewitemwidget.css</file>
+    </qresource>  
+    <qresource prefix="/" >
+       <file>resources/qgn_note_warning.svg</file>
+    </qresource>    
+</RCC>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/poslocationservices/resources/locationservicesviewitemwidget.css	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,5 @@
+LocationServicesCustomViewItem::dataItem_ContentWidget
+{
+    left: -var(hb-param-margin-gene-left);
+    right: var(hb-param-margin-gene-right);
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/poslocationservices/resources/locationserviceswidget.css	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,36 @@
+LocationServicesWidget {
+	layout: default
+}
+
+LocationServicesWidget::text_box1 {
+	left:  -var(hb-param-margin-gene-left);
+  right: var(hb-param-margin-gene-right);
+	top: -var(hb-param-margin-gene-top);
+	bottom: var(hb-param-margin-gene-bottom);
+	pref-width: 36un;
+	pref-height: var(hb-param-text-height-secondary);
+	font-variant: primary;
+	text-height: var(hb-param-text-height-secondary);	
+}
+
+LocationServicesWidget::text_box2 {
+	left:  -var(hb-param-margin-gene-left);
+  right: var(hb-param-margin-gene-right);
+	top: -var(hb-param-margin-gene-top);
+	bottom: var(hb-param-margin-gene-bottom);
+	pref-width: 36un;
+	pref-height: var(hb-param-text-height-secondary);
+	font-variant: secondary;
+	text-height: var(hb-param-text-height-secondary);	
+}
+
+LocationServicesWidget::text_box3 {
+	left:  -var(hb-param-margin-gene-left);
+  right: var(hb-param-margin-gene-right);
+	top: -var(hb-param-margin-gene-top);
+	bottom: var(hb-param-margin-gene-bottom);
+	pref-width: 36un;
+	pref-height: var(hb-param-text-height-secondary);
+	font-variant: secondary;
+	text-height: var(hb-param-text-height-secondary);	
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/poslocationservices/resources/locationserviceswidget.widgetml	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbwidget type="LocationServicesWidget" version="0.1">
+    <layout name="default" type="mesh">
+        <meshitem dst="" dstEdge="LEFT" src="text_box1" srcEdge="LEFT"  />
+        <meshitem dst="" dstEdge="TOP" src="text_box1" srcEdge="TOP"  />
+        <meshitem dst="" dstEdge="RIGHT" src="text_box1" srcEdge="RIGHT" />
+        
+        <meshitem dst="" dstEdge="LEFT" src="text_box2" srcEdge="LEFT"  />
+        <meshitem dst="" dstEdge="RIGHT" src="text_box2" srcEdge="RIGHT" />
+	<meshitem dst="text_box1" dstEdge="BOTTOM" src="text_box2" srcEdge="TOP" />
+        
+        <meshitem dst="" dstEdge="LEFT" src="text_box3" srcEdge="LEFT"  />
+        <meshitem dst="" dstEdge="RIGHT" src="text_box3" srcEdge="RIGHT" />
+	<meshitem dst="text_box2" dstEdge="BOTTOM" src="text_box3" srcEdge="TOP" />
+        <meshitem dst="" dstEdge="BOTTOM" src="text_box3" srcEdge="BOTTOM" />
+	
+    </layout>
+</hbwidget>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/poslocationservices/resources/qgn_note_warning.svg	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
+<svg baseProfile="tiny" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="60" height="80" viewBox="0 0 60 80">
+<linearGradient id="XMLID_68_" gradientUnits="userSpaceOnUse" x1="26.0703" y1="-2273.4072" x2="31.9835" y2="-2285.0527" gradientTransform="matrix(1 0 0 -1 0.2632 -2209.7959)">
+<stop offset="0" style="stop-color:#A2C2DD"/>
+<stop offset="0.1" style="stop-color:#A2C2DD"/>
+<stop offset="0.7135" style="stop-color:#6C83BB"/>
+<stop offset="0.9888" style="stop-color:#003D6D"/>
+</linearGradient>
+<circle fill="url(#XMLID_68_)" cx="29.29" cy="69.434" r="6.529"/>
+<g>
+<rect fill="none" width="60" height="80"/>
+</g>
+<linearGradient id="XMLID_69_" gradientUnits="userSpaceOnUse" x1="30.415" y1="1559.0273" x2="40.6636" y2="1579.2108" gradientTransform="matrix(1 0 0 1 0.1504 -1525.8203)">
+<stop offset="0" style="stop-color:#A2C2DD"/>
+<stop offset="0.1" style="stop-color:#A2C2DD"/>
+<stop offset="0.7135" style="stop-color:#6C83BB"/>
+<stop offset="0.9888" style="stop-color:#003D6D"/>
+</linearGradient>
+<path fill="url(#XMLID_69_)" d="M19.666,13.492c-0.396,0.462-0.428,0.882-0.385,1.153l4.14,39.044 c0.198,1.199,0.643,2.05,1.402,2.69c1.008,1.083,2.547,1.694,4.421,1.739c1.117,0,2.189-0.212,3.107-0.613 c1.604-0.646,2.549-1.824,2.775-3.511l3.584-39.309c0.061-0.329,0.016-0.752-0.396-1.216c-1.232-1.409-5.063-2.393-9.311-2.393 C24.722,11.083,20.878,12.073,19.666,13.492z"/>
+<g>
+<g>
+<linearGradient id="XMLID_70_" gradientUnits="userSpaceOnUse" x1="14.7363" y1="776.8535" x2="33.5391" y2="801.0286" gradientTransform="matrix(1 0 0 1 0.0752 -762.9102)">
+<stop offset="0" style="stop-color:#FFFFFF"/>
+<stop offset="0.05" style="stop-color:#FFFFFF"/>
+<stop offset="1" style="stop-color:#A2C2DD"/>
+</linearGradient>
+<path fill="url(#XMLID_70_)" d="M37.949,14.62l-3.178,39.271c-0.277,2.805-3.086,3.885-5.521,3.885 c-2.58-0.063-4.746-1.237-5.355-3.849l-4.029-38.819C23.36,17.514,33.879,18.064,37.949,14.62z"/>
+<linearGradient id="XMLID_71_" gradientUnits="userSpaceOnUse" x1="37.4512" y1="796.1699" x2="-11.1774" y2="805.2171" gradientTransform="matrix(1 0 0 1 0.0752 -762.9102)">
+<stop offset="0" style="stop-color:#FFFFFF"/>
+<stop offset="0.35" style="stop-color:#A2C2DD"/>
+<stop offset="0.7" style="stop-color:#6C83BB"/>
+<stop offset="1" style="stop-color:#003D6D"/>
+</linearGradient>
+<path fill="url(#XMLID_71_)" d="M25.46,17.253l1.585,40.042c-1.518-0.785-2.883-1.27-3.276-3.645L19.64,14.501 C20.06,14.847,24.262,16.785,25.46,17.253z"/>
+<linearGradient id="XMLID_72_" gradientUnits="userSpaceOnUse" x1="25.5776" y1="799.0352" x2="53.4279" y2="798.3287" gradientTransform="matrix(1 0 0 1 0.0752 -762.9102)">
+<stop offset="0" style="stop-color:#FFFFFF"/>
+<stop offset="0.35" style="stop-color:#A2C2DD"/>
+<stop offset="0.7" style="stop-color:#6C83BB"/>
+<stop offset="1" style="stop-color:#003D6D"/>
+</linearGradient>
+<path fill="url(#XMLID_72_)" d="M32.047,57.261c1.309-0.479,2.479-1.429,2.738-3.308l3.597-39.45c0,0-3.825,1.754-4.456,2.15 L32.047,57.261z"/>
+<linearGradient id="XMLID_73_" gradientUnits="userSpaceOnUse" x1="19.8716" y1="772.9834" x2="42.9158" y2="784.152" gradientTransform="matrix(1 0 0 1 0.0752 -762.9102)">
+<stop offset="0" style="stop-color:#FFFFFF"/>
+<stop offset="0.05" style="stop-color:#FFFFFF"/>
+<stop offset="1" style="stop-color:#A2C2DD"/>
+</linearGradient>
+<path fill="url(#XMLID_73_)" d="M38.389,14.591c-0.209,1.578-4.394,2.859-9.345,2.859c-4.952,0-9.167-1.281-9.417-2.859 c-0.248-1.579,3.976-3.158,9.385-3.158C34.42,11.433,38.596,13.012,38.389,14.591z"/>
+</g>
+</g>
+<g>
+<g>
+<radialGradient id="XMLID_74_" cx="26.4556" cy="-2274.9688" r="6.3101" gradientTransform="matrix(1 0 0 -1 0.2632 -2209.7959)" gradientUnits="userSpaceOnUse">
+<stop offset="0" style="stop-color:#E3DFE4"/>
+<stop offset="1" style="stop-color:#C03A3A"/>
+</radialGradient>
+<circle fill="url(#XMLID_74_)" cx="29.271" cy="69.457" r="6.171"/>
+</g>
+</g>
+<rect fill="none" width="60" height="80"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/poslocationservices/src/locationservicescustomviewitem.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,150 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0""
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: This is extended as HbDataFormViewItem to be used to create 
+ *              group items for location services
+ *
+ */
+
+
+#include "locationservicescustomviewitem.h"
+#include "locationserviceswidget.h"
+#include <hbdataformmodel.h>
+#include <hbabstractitemview.h>
+#include <qmetaobject.h>
+
+
+// ---------------------------------------------------------------------------
+// LocationServicesCustomViewItem::LocationServicesCustomViewItem
+// ---------------------------------------------------------------------------
+//
+LocationServicesCustomViewItem::LocationServicesCustomViewItem(
+        QGraphicsItem *parent) :
+    HbDataFormViewItem(parent)
+    {    	
+    }
+
+// ---------------------------------------------------------------------------
+// LocationServicesCustomViewItem::~LocationServicesCustomViewItem
+// ---------------------------------------------------------------------------
+//
+LocationServicesCustomViewItem::~LocationServicesCustomViewItem()
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// LocationServicesCustomViewItem::createItem
+// ---------------------------------------------------------------------------
+//
+HbAbstractViewItem* LocationServicesCustomViewItem::createItem()
+{
+    return new LocationServicesCustomViewItem(*this);
+}
+
+// ---------------------------------------------------------------------------
+// LocationServicesCustomViewItem::canSetModelIndex
+// ---------------------------------------------------------------------------
+//
+bool LocationServicesCustomViewItem::canSetModelIndex(const QModelIndex &index) const
+{
+    int type = index.data(HbDataFormModelItem::ItemTypeRole).toInt();
+    if (type == LocationServicesCustomItem) {
+        return true;
+    }
+    else {
+        return false;
+    }
+}
+
+
+// ---------------------------------------------------------------------------
+// LocationServicesCustomViewItem::createCustomWidget
+// ---------------------------------------------------------------------------
+//
+HbWidget * LocationServicesCustomViewItem::createCustomWidget()
+    {
+    //get the type of the model
+    int type = modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt();
+    if (type == LocationServicesCustomItem)
+        {
+        //create the instance of location widget
+        LocationServicesWidget* locationservicesWidget =
+                new LocationServicesWidget();
+        mPushWidget = locationservicesWidget;
+        return mPushWidget;
+        }
+    else
+        {
+        //else return 0
+        return 0;
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// LocationServicesCustomViewItem::restore
+// ---------------------------------------------------------------------------
+//
+void LocationServicesCustomViewItem::restore()
+{
+    HbDataFormViewItem::restore();
+    if (mPushWidget) {
+        HbDataFormModelItem::DataItemType itemType = static_cast<HbDataFormModelItem::DataItemType>(
+            modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt());
+
+        if(itemType == LocationServicesCustomItem) {
+
+            QModelIndex itemIndex = modelIndex();
+            HbDataFormModel *model = static_cast<HbDataFormModel*>(itemView()->model());;
+            HbDataFormModelItem *modelItem = static_cast<HbDataFormModelItem*>(
+                model->itemFromIndex(itemIndex));
+
+            const QMetaObject *metaObj = mPushWidget->metaObject();
+            int count = metaObj->propertyCount();
+            for (int i = 0; i < count; ++i) {
+                QMetaProperty metaProperty = metaObj->property(i);
+                if (metaProperty.isValid() && metaProperty.isWritable()) {
+                    metaProperty.write(mPushWidget,modelItem->contentWidgetData(metaProperty.name()));
+                }
+
+            }
+        }
+    }
+}
+
+// ---------------------------------------------------------------------------
+// LocationServicesCustomViewItem::save
+// ---------------------------------------------------------------------------
+//
+/*void LocationServicesCustomViewItem::save()
+{
+    HbDataFormViewItem::save();
+    if (mPushWidget) {
+        HbDataFormModelItem::DataItemType itemType = static_cast<HbDataFormModelItem::DataItemType>(
+            modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt());
+
+        if(itemType == LocationServicesCustomItem) {
+
+            QModelIndex itemIndex = modelIndex();
+            HbDataFormModel *model = static_cast<HbDataFormModel*>(itemView()->model());;
+            HbDataFormModelItem *modelItem = static_cast<HbDataFormModelItem*>(
+            model->itemFromIndex(itemIndex));
+            if (LocationServicesWidget *locationservicesWidget = qobject_cast<LocationServicesWidget *>(mPushWidget)) {
+                modelItem->setContentWidgetData("primarytext",locationservicesWidget->primaryText());     
+                modelItem->setContentWidgetData("sectext",locationservicesWidget->secText());
+                modelItem->setContentWidgetData("sec2text",locationservicesWidget->sec2Text());
+            }
+        }
+    }
+}*/
+
+//-------------End of File--------------------------
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/poslocationservices/src/locationserviceswidget.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,114 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0""
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: This file is for creating the custom widget for location services 
+ *              for Advanced view of Positioning settings 
+ *
+ */
+
+#include "locationserviceswidget.h"
+
+#include <QtGui>
+#include <hbfontspec.h>
+#include <hbstyleloader.h>
+#include <hbstyle.h>
+#include <hbtextitem.h>
+
+
+static const QString FILE_PATH_WIDGETML =
+        ":/data/locationserviceswidget.widgetml";
+static const QString FILE_PATH_CSS = ":/data/locationserviceswidget.css";
+
+// ---------------------------------------------------------------------------
+// LocationServicesWidget::LocationServicesWidget
+// ---------------------------------------------------------------------------
+//
+LocationServicesWidget::LocationServicesWidget(QGraphicsItem *parent) :
+    HbAbstractButton(parent)
+    {
+    // Path for widgetml and css files.
+    HbStyleLoader::registerFilePath(FILE_PATH_WIDGETML);
+    HbStyleLoader::registerFilePath(FILE_PATH_CSS);
+
+    //Create the primary and secondry text items
+    mPrimaryTextItem = new HbTextItem(QString("New"), this);
+    HbStyle::setItemName(mPrimaryTextItem, "text_box1");
+    mPrimaryTextItem->setFontSpec(HbFontSpec(HbFontSpec::Primary));
+
+    mSecondryTextItem = new HbTextItem(QString("New"), this);
+    HbStyle::setItemName(mSecondryTextItem, "text_box2");
+    mSecondryTextItem->setFontSpec(HbFontSpec(HbFontSpec::Secondary));
+
+    mSecondry2TextItem = new HbTextItem(QString("New"), this);
+    HbStyle::setItemName(mSecondry2TextItem, "text_box3");
+    mSecondry2TextItem->setFontSpec(HbFontSpec(HbFontSpec::Secondary));
+    }
+// ---------------------------------------------------------------------------
+// LocationServicesWidget::LocationServicesWidget
+// ---------------------------------------------------------------------------
+//
+LocationServicesWidget::~LocationServicesWidget()
+    {
+    HbStyleLoader::unregisterFilePath(FILE_PATH_WIDGETML);
+    HbStyleLoader::unregisterFilePath(FILE_PATH_CSS);
+    }
+// ---------------------------------------------------------------------------
+// LocationServicesWidget::setPrimaryText
+// ---------------------------------------------------------------------------
+//
+void LocationServicesWidget::setPrimaryText(const QString &primaryText)
+    {
+    mPrimaryTextItem->setText(primaryText);
+    }
+// ---------------------------------------------------------------------------
+// LocationServicesWidget::primaryText
+// ---------------------------------------------------------------------------
+//
+QString LocationServicesWidget::primaryText() const
+    {
+    return mPrimaryTextItem->text();
+    }
+// ---------------------------------------------------------------------------
+// LocationServicesWidget::setSecText
+// ---------------------------------------------------------------------------
+//
+void LocationServicesWidget::setSecText(const QString& secText)
+    {
+    mSecondryTextItem->setText(secText);
+    }
+// ---------------------------------------------------------------------------
+// LocationServicesWidget::secText
+// ---------------------------------------------------------------------------
+//
+QString LocationServicesWidget::secText() const
+    {
+    return mSecondryTextItem->text();
+    }
+// ---------------------------------------------------------------------------
+// LocationServicesWidget::setSec2Text
+// ---------------------------------------------------------------------------
+//
+void LocationServicesWidget::setSec2Text(const QString& secText)
+    {
+    mSecondry2TextItem->setText(secText);
+    }
+// ---------------------------------------------------------------------------
+// LocationServicesWidget::sec2Text
+// ---------------------------------------------------------------------------
+//
+QString LocationServicesWidget::sec2Text() const
+    {
+    return mSecondry2TextItem->text();
+    }
+
+// end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/poslocationservices/src/poslocationservices.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,478 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: This is for Location Services Settings plugin 
+ *							for Positioning Settings's Advanced view
+ *
+ */
+
+#include "poslocationservices.h"
+#include "possettingsadvop.h"
+#include "locationservicescustomviewitem.h"
+#include "possettingssignalmapper.h"
+
+#include <QtCore>
+#include <QTranslator>
+#include <QDebug>
+
+#include <hbaction.h>
+#include <hbpushbutton.h>
+#include <hbmessagebox.h>
+#include <hbicon.h>
+#include <hbextendedlocale.h>
+
+// constants
+const int KMinToSecs = 60;
+const int KHourToSecs = 3600;
+const int KOneDay = 24;
+
+// ---------------------------------------------------------------------------
+// PosLocationServices::PosLocationServices
+// ---------------------------------------------------------------------------
+//
+PosLocationServices::PosLocationServices() :
+    mLocationServiceEngine(0), mGroup(0), mOperation(0), mSignalMapper(0),
+            mStopQuery(0), mServiceId(0)
+    {
+    mLocationServiceEngine = new PosLocationServicesEngine();
+    }
+
+// ---------------------------------------------------------------------------
+// PosLocationServices::~PosLocationServices
+// ---------------------------------------------------------------------------
+//
+PosLocationServices::~PosLocationServices()
+    {
+    qDebug() << "+PosLocationServices::~PosLocationServices()";
+
+    if (mLocationServiceEngine)
+        {
+        delete mLocationServiceEngine;
+        mLocationServiceEngine = 0;
+        }
+
+    if (mGroup)
+        {
+        if (mOperation)
+            {
+            mOperation->removeItem(mGroup);
+            }
+        }
+
+    if (mSignalMapper)
+        {
+        delete mSignalMapper;
+        mSignalMapper = 0;
+        }
+
+    if (mStopQuery)
+        {
+        delete mStopQuery;
+        mStopQuery = 0;
+        }
+
+    //Clear the list
+    mServiceList.clear();
+
+    //clear the signal mapper list
+    int count = mSignalMapperList.count();
+    qDebug() << "mSignalMapperList.count() = " << count;
+
+    for (int i = 0; i < count; ++i)
+        {
+        delete mSignalMapperList[i];
+        mSignalMapperList[i] = 0;
+        }
+    mSignalMapperList.clear();
+
+    qDebug() << "-PosLocationServices::~PosLocationServices()";
+    }
+
+// ---------------------------------------------------------------------------
+// PosLocationServices::initialise
+// ---------------------------------------------------------------------------
+//
+int PosLocationServices::initialise(PosSettingsAdvOp* operation)
+    {
+    qDebug() << "+PosLocationServices::initialise()";
+
+    int result = 0;
+
+    // Assign to the member variable
+    mOperation = operation;
+
+    //get the prototype list from the data form and append the custom control to the list
+    QList<HbAbstractViewItem *> protoTypeList;
+    mOperation->itemPrototypes(protoTypeList);
+
+    LocationServicesCustomViewItem* item =
+            new LocationServicesCustomViewItem();
+
+    protoTypeList.append(item);
+
+    mOperation->setItemPrototypes(protoTypeList);
+
+    // create the signal mapper
+    mSignalMapper = new QSignalMapper();
+
+    //get the list of location services
+    mServiceList.clear();
+    if (mLocationServiceEngine)
+        {
+        result = mLocationServiceEngine->getLocationServices(mServiceList);
+        }
+
+    qDebug() << "PosLocationServices::initialise(): result" << result;
+
+    // if no error while getting the services list then add the group
+    // for Location based services
+    if (result == 0)
+        {
+        mGroup = new HbDataFormModelItem(HbDataFormModelItem::GroupItem,
+                hbTrId("txt_loe_subtitle_background_positioning"), 0);
+
+        //Add the group to the data form
+        mOperation->appendDataFormItem(mGroup);
+
+        //list all the location services inside the group
+        listServices();
+        }
+    QObject::connect(mLocationServiceEngine, SIGNAL(locationServiceUpdate()),
+            this, SLOT(updateList()));
+
+    qDebug() << "-PosLocationServices::initialise()";
+    return result;
+    }
+
+// ---------------------------------------------------------------------------
+// PosLocationServices::listServices
+// ---------------------------------------------------------------------------
+//
+void PosLocationServices::listServices()
+    {
+    qDebug() << "+PosLocationServices::listServices()";
+    qDebug() << "No of Location Services = " << mServiceList.count();
+
+    QList<PosLocationServiceInfo>::const_iterator serviceIterator;
+
+    qDebug() << "Appending the services in group ";
+
+    // Get the location services names and display
+    for (serviceIterator = mServiceList.begin(); serviceIterator
+            != mServiceList.end(); ++serviceIterator)
+        {
+        qDebug() << "serviceIterator->mServiceId = "
+                << serviceIterator->mServiceId;
+
+        qDebug() << "serviceIterator->mServiceName = "
+                << serviceIterator->mServiceName;
+
+        qDebug() << "serviceIterator->mEndDateTime = "
+                << serviceIterator->mEndDateTime.date().toString();
+
+        qDebug() << "serviceIterator->mEndDateTime.isValid() = "
+                << serviceIterator->mEndDateTime.date().isValid();
+
+        qDebug() << "serviceIterator->mUpdateInterval = "
+                << serviceIterator->mUpdateInterval;
+
+        // if any of the fields are invalid then skip listing
+          if (serviceIterator->mUpdateInterval > 0)
+            {
+            qDebug() << "creating services";
+
+            //for each services create new custom item 
+            HbDataFormModelItem
+                    * service =
+                            new HbDataFormModelItem(
+                                    static_cast<HbDataFormModelItem::DataItemType> (LocationServicesCustomItem));
+                                    	
+            if(!serviceIterator->mServiceName.isEmpty())
+            //set the widget data to the server name
+            service->setContentWidgetData("primarytext",
+                    serviceIterator->mServiceName);
+            else
+            service->setContentWidgetData("primarytext",
+                    QString(hbTrId("txt_loe_info_unknown_requestor")));	        
+
+            QString updateIntervalString;
+            //get the update interval String
+            getUpdateIntervalString(serviceIterator->mUpdateInterval,
+                    updateIntervalString);
+            service->setContentWidgetData("sectext", updateIntervalString);
+
+            //get the validity end date from the engine and convert to string
+            QString validity(serviceIterator->mEndDateTime.date().toString(
+                    Qt::ISODate));
+
+            service->setContentWidgetData("sec2text", QString(hbTrId(
+                    "txt_loe_list_valid_until_1")).arg(validity));
+
+            qDebug() << "Adding service into the group";
+            mOperation->appendDataFormItem(service, mGroup);
+
+            //create an object of dummy signal mapper class
+            //this is done to send the index info to the slots
+            //since checkbox is not of QObject type and dummy class is 
+            // created.
+            PosSettingsSignalMapper* signalMapper =
+                    new PosSettingsSignalMapper();
+
+            qDebug() << "Adding the signalMapper into mSignalMapperList";
+            mSignalMapperList.append(signalMapper);
+
+            //add connection for clicked for the custom item, depending on which the
+            //add connections to launch the dialog for the stopping the service  
+            mOperation->addConnection(
+                    service,
+                    SIGNAL(clicked(bool)),
+                    mSignalMapperList[serviceIterator - mServiceList.begin()],
+                    SLOT(signalmap()));
+
+            QObject::connect(mSignalMapperList[serviceIterator
+                    - mServiceList.begin()], SIGNAL(signalmapped()),
+                    mSignalMapper, SLOT(map()));
+
+            // set mapping of each check box item to its index
+            if (mSignalMapper)
+                {
+                qDebug() << "mSignalMapper->setMapping ";
+                mSignalMapper->setMapping(mSignalMapperList[serviceIterator
+                        - mServiceList.begin()], (serviceIterator
+                        - mServiceList.begin()));
+                }
+            }
+        }
+
+    qDebug() << "mGroup->childCount() = " << mGroup->childCount();
+
+    if (mGroup->childCount() == 0)
+        {
+        qDebug() << "mOperation->removeItem mGroup";
+        mOperation->removeItem(mGroup);
+        mGroup = NULL;
+        }
+    else
+        {
+        //use signal mapper to connect
+        qDebug() << "use signal mapper to use stop service";
+        QObject::connect(mSignalMapper, SIGNAL(mapped(int)), this,
+                SLOT(stopService(int)));
+        }
+    qDebug() << "-PosLocationServices::listServices()";
+    }
+
+// ---------------------------------------------------------------------------
+// PosLocationServices::updateList
+// ---------------------------------------------------------------------------
+//
+void PosLocationServices::updateList()
+    {
+    qDebug() << "+PosLocationServices::updateList()";
+    int result = 0;
+    int oldChildCount = 0;
+
+    //store the current state (expanded) of the group
+    if (mGroup)
+        {
+        qDebug() << "Store the group info";
+
+        oldChildCount = mGroup->childCount();
+
+        // remove all connections
+        int count = mSignalMapperList.count();
+        qDebug() << "mSignalMapperList.count() = " << count;
+
+        if (count > 0)
+            {
+            for (TInt i = 0; i < count; ++i)
+                {
+                QObject::disconnect(mSignalMapperList[i],
+                        SIGNAL(signalmapped()), mSignalMapper, SLOT(map()));
+                }
+            QObject::disconnect(mSignalMapper, SIGNAL(mapped(int)), this,
+                    SLOT(stopService(int)));
+            }
+        mSignalMapperList.clear();
+
+        qDebug() << " oldChildCount" << oldChildCount;
+        if (oldChildCount > 0)
+            {
+            qDebug() << "Removing the old children";
+            //mGroup->removeChildren(0, oldChildCount);
+            //ToDo: Hack from HbDataForm team         
+            for (int i = 0; i < oldChildCount; ++i)
+                {
+                qDebug() << "remove chile index " << i;
+                mGroup->removeChild(0);
+                }
+            }
+
+        }
+    else
+        {
+        // this part of code is called when the services are added and 
+        // Advanced view is in the background. Since there is no group
+        // a new group has to be created to add the services.
+        qDebug() << "Creating new group";
+        mGroup = new HbDataFormModelItem(HbDataFormModelItem::GroupItem,
+                hbTrId("txt_loe_subtitle_background_positioning"), 0);
+        mOperation->appendDataFormItem(mGroup);
+        }
+
+    qDebug() << "oldChildCount = " << oldChildCount;
+    qDebug() << "mServiceList.count() before update = "
+            << mServiceList.count();
+
+    //clear the list and get the list of server present for positioning
+    mServiceList.clear();
+    if (mLocationServiceEngine)
+        {
+        result = mLocationServiceEngine->getLocationServices(mServiceList);
+        }
+
+    qDebug() << "PosLocationServices::listServices(): result" << result;
+
+    //update the new list to the group
+    if (result == 0)
+        {
+        listServices();
+        }
+    if (result == -1)
+        {
+        //remove the group
+        mOperation->removeItem(mGroup);
+        mGroup = NULL;
+        }
+
+    qDebug() << "-PosLocationServices::updateList()";
+    }
+
+// ---------------------------------------------------------------------------
+// PosLocationServices::stopService
+// ---------------------------------------------------------------------------
+//
+void PosLocationServices::stopService(int serviceId)
+    {
+    qDebug() << "+PosLocationServices::stopService() service Id" << serviceId;
+
+    mServiceId = serviceId;
+
+    //Construct the display string
+    QString displayString;
+    displayString.append(QString(hbTrId("txt_loe_info_stop_service_1")).arg(
+            mServiceList[serviceId].mServiceName));
+
+    //create the message mStopQuery dialog
+    //HbMessageBox * mStopQuery = new HbMessageBox();
+
+    if (mStopQuery == 0)
+        {
+        mStopQuery = new HbMessageBox();
+        mStopQuery->setTimeout(HbDialog::NoTimeout);
+   
+        //the secondry action that will come in the SK2 of the Dialog box
+        mStopQuery->addAction(new HbAction(QString(hbTrId(
+                "txt_common_button_cancel"))));
+
+        //To-Do: set the actual stop service icon after released in sdk 
+        QIcon stopServiceIcon(":/resources/qgn_note_warning.svg");
+        mStopQuery->setIcon(HbIcon(stopServiceIcon));
+        }
+
+    //set the mStopQuery text
+    mStopQuery->setText(displayString);
+    mStopQuery->open(this,SLOT(stopSession(HbAction*)));
+
+    qDebug() << "-PosLocationServices::stopService()";
+    }
+
+// ---------------------------------------------------------------------------
+// PosLocationServices::stopSession
+// ---------------------------------------------------------------------------
+//
+void PosLocationServices::stopSession(HbAction* action)
+    {
+    qDebug() << " + PosLocationServices::stopSession()";
+    
+    //if LSK is pressed
+    if ((action == mStopQuery->actions().at(0)) && mLocationServiceEngine)
+        {
+        //stop the session
+        mLocationServiceEngine->removeLocationService(
+                mServiceList[mServiceId].mServiceId);
+        }
+    qDebug() << " - PosLocationServices::stopSession()";
+    }
+
+// ---------------------------------------------------------------------------
+// PosLocationServices::getUpdateIntervalString
+// ---------------------------------------------------------------------------
+//
+void PosLocationServices::getUpdateIntervalString(int updateInterval,
+        QString& updateIntervalString)
+    {
+    qDebug()
+            << "+PosLocationServices::getUpdateIntervalString(): updateInterval"
+            << updateInterval;
+
+    //To-Do: clarification needed from chelli
+    if (updateInterval / KMinToSecs < 1)
+        {
+        //seconds
+        QVariant var(updateInterval);
+        updateIntervalString = QString(hbTrId(
+                "txt_loe_list_updates_every_l1_seconds")).arg(var.toString());
+        }
+    else if (updateInterval / KHourToSecs < 1)
+        {
+        //minutes
+        int minutes = (updateInterval / KMinToSecs);
+        int seconds = (updateInterval % KMinToSecs);
+        QVariant varMinutes(minutes);
+        QVariant varSeconds(seconds);
+        updateIntervalString = QString(hbTrId(
+                "txt_loe_list_updates_every_l1_minutes_and_l2_sec")).arg(
+                varMinutes.toString()).arg(varSeconds.toString());
+        }
+    else if (updateInterval / (KHourToSecs * KOneDay) < 1)
+        {
+        //hour
+        int hours = (updateInterval / KHourToSecs);
+        int minutes = (updateInterval % KHourToSecs) / KMinToSecs;
+        QVariant varhour(hours);
+        QVariant varMinutes(minutes);
+
+        updateIntervalString = QString(hbTrId(
+                "txt_loe_list_updates_every_l1_hours_and_l2_minut")).arg(
+                varhour.toString()).arg(varMinutes.toString());
+        }
+    else
+        {
+        //days
+        int days = (updateInterval / (KHourToSecs * KOneDay));
+        int hours = (updateInterval % (KHourToSecs * KOneDay)) / KMinToSecs;
+        QVariant varDays(days);
+        QVariant varHours(hours);
+        updateIntervalString = QString(hbTrId(
+                "txt_loe_list_updates_every_l1_days_and_l2_hours")).arg(
+                varDays.toString()).arg(varHours.toString());
+        }
+
+    qDebug() << "-PosLocationServices::updateInterval()";
+
+    }
+
+Q_EXPORT_PLUGIN2(poslocationservices, PosLocationServices)
+;
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/poslocationservices/src/poslocationservicesengine.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,63 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implementation of PosLocationServicesEngine class.  
+*
+*/
+#include "poslocationservicesengine.h"
+
+
+//----------------------------------------------------------------------
+// PosLocationServicesEngine::PosLocationServicesEngine
+//----------------------------------------------------------------------
+PosLocationServicesEngine::PosLocationServicesEngine()
+    {
+    d_ptr = new PosLocationServicesEnginePrivate( *this );
+    }
+
+//----------------------------------------------------------------------
+// PosLocationServicesEngine::~PosLocationServicesEngine
+//----------------------------------------------------------------------
+PosLocationServicesEngine::~PosLocationServicesEngine()
+    {
+    delete d_ptr;
+    d_ptr = NULL;
+    }
+
+//----------------------------------------------------------------------
+// PosLocationServicesEngine::getLocationServices
+//----------------------------------------------------------------------
+int PosLocationServicesEngine::getLocationServices( 
+                                            QList<PosLocationServiceInfo>& 
+                                            locationServiceList )
+    {
+    return d_ptr->GetLocationServices( locationServiceList );
+    }
+
+//----------------------------------------------------------------------
+// PosLocationServicesEngine::removeLocationService
+//----------------------------------------------------------------------
+int PosLocationServicesEngine::removeLocationService( int serviceId )
+    {
+    return d_ptr->RemoveLocationService( serviceId );
+    }
+
+//----------------------------------------------------------------------
+// PosLocationServicesEngine::handleLocationServiceUpdate
+//----------------------------------------------------------------------
+void PosLocationServicesEngine::handleLocationServiceUpdate()
+    {
+    emit locationServiceUpdate();
+    }
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/poslocationservices/src/poslocationservicesengineprivate.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,136 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: Implementation of PosLocationServicesEnginePrivate class.  
+ *
+ */
+#include "poslocationservicesengineprivate.h"
+
+#include <epos_csuplsettings.h>
+#include <epos_csuplsettingparams.h>
+#include <epos_csuplsettingsconstants.h>
+
+//----------------------------------------------------------------------
+// PosLocationServicesEnginePrivate::PosLocationServicesEnginePrivate
+//----------------------------------------------------------------------
+PosLocationServicesEnginePrivate::PosLocationServicesEnginePrivate(
+        PosLocationServiceUpdateObserver& aObserver) :
+    mObserver(aObserver)
+    {
+    QT_TRAP_THROWING( mSuplSettings = CSuplSettings::NewL();
+            mSuplSettings->SetSessionObserverL( *this ) );
+    }
+
+//----------------------------------------------------------------------
+// PosLocationServicesEnginePrivate::~PosLocationServicesEnginePrivate
+//----------------------------------------------------------------------
+PosLocationServicesEnginePrivate::~PosLocationServicesEnginePrivate()
+    {
+    mSuplSettings->RemoveSessionObserver();
+    delete mSuplSettings;
+    mSuplSettings = NULL;
+    }
+
+//----------------------------------------------------------------------
+// PosLocationServicesEnginePrivate::GetLocationServices
+//----------------------------------------------------------------------
+int PosLocationServicesEnginePrivate::GetLocationServices(QList<
+        PosLocationServiceInfo>& aLocationServiceList)
+    {
+    int err = 0;
+    TRAP(err, GetLocationServicesL(aLocationServiceList));
+    return err;
+    }
+//----------------------------------------------------------------------
+// PosLocationServicesEnginePrivate::GetLocationServicesL
+//----------------------------------------------------------------------
+void PosLocationServicesEnginePrivate::GetLocationServicesL(QList<
+        PosLocationServiceInfo>& aLocationServiceList)
+    {
+    RPointerArray<CTriggerParams> triggerParams;
+    CleanupClosePushL(triggerParams);
+    int error = mSuplSettings->GetTriggerParams(triggerParams);
+
+    int count = triggerParams.Count();
+
+    //if there are no trigger params then leave with KErrNotFound
+    if (count <= 0)
+        {
+        User::Leave(KErrNotFound);
+        }
+    
+    //for each entry in the paramlist populate the locationservice list
+    for (int i = 0; i < count; ++i)
+        {
+
+        TInt64 sessionId;
+        TUint64 outstandingTrigger;
+        TUint64 interval;
+        TTime endTime;
+        TBool notificationPresent;
+        TBool triggerNotificationStatus;
+        CTriggerParams::TTriggerType triggerType;
+        CTriggerParams::TRequestType requestType;
+        HBufC* sessionName = HBufC::NewLC(
+                KMaxTriggerSessionNameLen);
+
+        error = triggerParams[i]->Get(sessionId, sessionName->Des(),
+                notificationPresent, triggerNotificationStatus, triggerType,
+                requestType, outstandingTrigger, interval);
+        triggerParams[i]->GetTriggerEndTime(endTime);
+
+        if (error == KErrNone)
+            {
+            PosLocationServiceInfo serviceInfo;
+            serviceInfo.mServiceId = sessionId;
+            QString sName((QChar*) (sessionName->Ptr()),
+                    sessionName->Length());
+
+            serviceInfo.mServiceName.append(sName);
+            serviceInfo.mUpdateInterval = interval;
+            serviceInfo.mEndDateTime.setDate(QDate(endTime.DateTime().Year(),
+                    endTime.DateTime().Month() + 1, endTime.DateTime().Day()
+                            + 1));
+            serviceInfo.mEndDateTime.setTime(QTime(endTime.DateTime().Hour(),
+                    endTime.DateTime().Minute(), endTime.DateTime().Second(),
+                    endTime.DateTime().MicroSecond()));
+
+            aLocationServiceList.append(serviceInfo);
+            }
+        CleanupStack::PopAndDestroy(sessionName);
+        }
+    CleanupStack::Pop(&triggerParams);
+    triggerParams.ResetAndDestroy();
+    
+    //leave if there is an error
+    User::LeaveIfError(error);
+    }
+
+//----------------------------------------------------------------------
+// PosLocationServicesEnginePrivate::RemoveLocationService
+//----------------------------------------------------------------------
+int PosLocationServicesEnginePrivate::RemoveLocationService(int aServiceId)
+    {
+    return mSuplSettings->CancelTriggerSession(aServiceId);
+    }
+
+//----------------------------------------------------------------------
+// PosLocationServicesEnginePrivate::HandleSuplSessionChangeL
+//----------------------------------------------------------------------
+void PosLocationServicesEnginePrivate::HandleSuplSessionChangeL(
+        TSuplSessionEventType /*aEvent*/, TInt64 /*aSessionId*/)
+    {
+    mObserver.handleLocationServiceUpdate();
+    }
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/poslocationservices/src/possettingssignalmapper.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  Implementation of Positioning settings signal mapper class
+ *
+ */
+
+
+#include "possettingssignalmapper.h"
+
+
+//---------------------------------------------------------------------
+// PosSettingsSignalMapper::PosSettingsSignalMapper()
+// Constructor
+//---------------------------------------------------------------------
+PosSettingsSignalMapper::PosSettingsSignalMapper()
+    {
+    
+    }
+
+//---------------------------------------------------------------------
+// PosSettingsSignalMapper::PosSettingsSignalMapper()
+// destructor
+//---------------------------------------------------------------------
+PosSettingsSignalMapper::~PosSettingsSignalMapper()
+    {
+    
+    }
+
+//---------------------------------------------------------------------
+// PosSettingsSignalMapper::PosSettingsSignalMapper()
+// 
+//---------------------------------------------------------------------
+void PosSettingsSignalMapper::signalmap()
+    {
+    emit signalmapped();
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/posmethodsplugin/inc/pospsysettingscommon.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: Contains the common data structures & Enum
+ *
+ */
+
+#ifndef POSPSYSETTINGSCOMMON_H
+#define POSPSYSETTINGSCOMMON_H
+
+#include <e32cmn.h>
+#include <qstring.h>
+
+/**
+ * Enumeration to indicate the state of the Psy
+ */
+enum PosPsyState
+    {
+    PsyEnable,
+
+    PsyDisable
+    };
+/**
+ * Struct that contains all the info related to each Psy
+ * - uid of Psy
+ * - name
+ * - state of the Psy whether enabled/disabled
+ */
+struct PosPsyInfo
+    {
+    TUid mPsyModuelId;
+
+    QString mPsyName;
+
+    PosPsyState mPsyState;
+    };
+
+#endif /* POSPSYSETTINGSCOMMON_H */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/posmethodsplugin/inc/pospsysettingsengine.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,83 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: Declaration of the Positioning Methods engine class
+ *							used to get the list of available Psy & to manipulate 
+ *							the state of the Psy.
+ *							
+ *
+ */
+
+#ifndef POSPSYSETTINGSENGINE_H
+#define POSPSYSETTINGSENGINE_H
+
+#include "pospsysettingsengineprivate.h"
+
+#include <QObject>
+#include <qglobal.h>
+
+class PosPsySettingsEngine : public QObject,
+        public PositionTechnologyChangeObserver
+    {
+Q_OBJECT
+
+public:
+    /**
+     * Constructor
+     */
+    PosPsySettingsEngine();
+
+    /**
+     * Destructor
+     */
+
+    ~PosPsySettingsEngine();
+
+    /**
+     * This method lists all the PSY that are available
+     * @param[out] psyList - Contains the list of psys that are available
+     * @return - KErrNone - if successfully finds any Psy
+     *           KErrNotFound - if no Psy available.
+     */
+    int listPsys(QList<PosPsyInfo>& psyList);
+
+    /**
+     * This method is used to change the state of the Psy based on the user's
+     * action of either enabling/disabling the Psy.
+     * @param[in] psyModuleId - the uid of the Psy whose state is to be changed.
+     * @param[in] psyState - The value of state to which the Psy has to be changed.
+     */
+
+    int changePsyState(TUid psyModuleId, PosPsyState psyState);
+    
+public: // from PositionTechnologyChangeObserver
+    void handlePositionTechnologyChange();
+
+private:
+signals:
+    /**
+     * This signal is emitted when there is change in PSY wrt to 
+     * its availabilty, state etc.. 
+     */
+    void PSYChange();
+private:
+    Q_DECLARE_PRIVATE_D(d_ptr, PosPsySettingsEngine)
+private:
+    /**
+     * POinter to the PosPsySettingsEnginePrivate
+     * Owns
+     */
+    PosPsySettingsEnginePrivate* d_ptr;
+    };
+
+#endif /* POSPSYSETTINGSENGINE_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/posmethodsplugin/inc/pospsysettingsengineprivate.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,115 @@
+/*
+ * 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: Declaration of the Positioning Methods private engine class
+ *							used to get the list of available Psy & to manipulate 
+ *							the state of the Psy by using the location framework apis.
+ *							
+ *
+ */
+
+#ifndef POSPSYSETTINGSENGINEPRIVATE_H
+#define POSPSYSETTINGSENGINEPRIVATE_H
+
+#include "pospsysettingscommon.h"
+
+#include <qlist.h>
+#include <qstring.h>
+#include <EPos_MPosModulesObserver.h>
+
+/**
+ * The class defines the interface for receiving position
+ * technology change event.The class interested in position
+ * technology change should inherit from this class.
+ */
+class PositionTechnologyChangeObserver
+    {
+public:
+    virtual void handlePositionTechnologyChange() = 0;
+    };
+
+
+// Forward declarations
+class CPosModules;
+class PosPsySettingsEngine;
+
+class PosPsySettingsEnginePrivate : public MPosModulesObserver
+    {
+public:
+    /**
+     * Constructor
+     */
+    PosPsySettingsEnginePrivate( PositionTechnologyChangeObserver& 
+            posTechChangeObserver);
+
+    /**
+     * Destructor
+     */
+
+    ~PosPsySettingsEnginePrivate();
+
+    /**
+     * This method lists all the PSY that are available
+     * @param[out] psyList - Contains the list of psys that are available
+     * @return - KErrNone - if successfully finds any Psy
+     *           KErrNotFound - if no Psy available.
+     */
+    int listPsys( QList<PosPsyInfo>& psyList );
+
+    /**
+     * This method is used to change the state of the Psy based on the user's
+     * action of either enabling/disabling the Psy.
+     * @param[in] psyModuleId - the uid of the Psy whose state is to be changed.
+     * @param[in] psyState - The value of state to which the Psy has to be changed.
+     */
+
+    int changePsyState( TUid psyModuleId, PosPsyState psyState );
+    
+public: // from MPosModulesObserver
+    virtual void HandleSettingsChangeL( TPosModulesEvent aEvent );
+
+private:
+    /**
+     * This method uses the location framework apis to get the list of available psy
+     */
+    void listPsysL();
+    /**
+     * This method uses the location framework apis to manipulate the state of the Psy
+     */
+    void changePsyStateL( TUid psyModuleId, PosPsyState psyState );
+private :
+    /**
+     * Pointer to CPosModules
+     * Owns
+     */
+    CPosModules* mPosModules;
+    
+    /**
+     * Contains list of PSY info
+     * Own
+     */
+    RArray<PosPsyInfo> mPsyInfoList;
+    /**
+     * Reference to position technology change observer.
+     */
+    PositionTechnologyChangeObserver& mPosTechChangeObserver;
+    /*
+     * POinter to the name of the psy
+     * ToDo: Should be removed
+     */
+    QList<QString*> mNameList;
+    
+    friend class PosPsySettingsEngine;
+    };
+
+#endif /* POSPSYSETTINGSENGINEPRIVATE_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/posmethodsplugin/inc/pospsysettingsplugin.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,107 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: Declaration of the Positioning Methods plugin to the 
+ *							Avanced settings view
+ *
+ */
+
+#ifndef POSPSYSETTINGSPLUGIN_H
+#define POSPSYSETTINGSPLUGIN_H
+
+
+#include "possettingsadvinterface.h"
+#include "pospsysettingscommon.h"
+#include "possettingssignalmapper.h"
+
+#include <QObject>
+#include <QSignalMapper>
+#include <hbdataformmodelitem.h>
+
+// Forward Declaration
+class PosPsySettingsEngine;
+class PosSettingsAdvOp;
+class PosSettingsSignalMapper;
+
+class PosPsySettingsPlugin : public QObject, public PosSettingsAdvInterface
+{
+Q_OBJECT
+    Q_INTERFACES( PosSettingsAdvInterface )
+public: 
+   /**
+   * Constructor
+   */
+    PosPsySettingsPlugin();
+  /**
+   * Destructor
+   */
+   ~PosPsySettingsPlugin();
+public:
+    /**
+     * Derived from PosSettingsAdvInterface   
+     */ 
+    int initialise( PosSettingsAdvOp* operation );
+    
+private slots:
+		/**
+		* This will be called when any of the positioning methods checkbox is clicked.
+		* @param[in] state - indicates the state of the checkbox,whether enabled/disabled
+		* @param[in] psyUid - indicates the Uid of the Psy that has been clciked.
+		*/
+		void onPsyPressed(int index);
+		/**
+		 * This method will be called on a change in any of the psy info.
+		 * It willbe used to update the positioning methods group to reflect
+		 * the latest available info of psys.
+		 */
+		void updateGroup();
+		
+private:
+		/**
+		 * adds items to the group & make connections
+		 */
+		void addItems();
+		
+		
+private:
+		/**
+		* Pointer to the PosPsySettingsEngine
+		* Owns
+		*/
+		PosPsySettingsEngine* mEngine;
+		/**
+		* List of available Positioning methods
+		*/
+		QList<PosPsyInfo> mPsyList;
+		/**
+		 * pointer to the HbDataFormModelItem
+		 * Does not own
+		 */
+		HbDataFormModelItem* mGroup;
+		/**
+		 * Signal mapper used to map the signal emitted from
+		 * each of the psy check box to the slot
+		 * Owns
+		 */
+		QSignalMapper *mSignalMapper;
+		/**
+		 * List of psy signal mapper class
+		 */
+		QList<PosSettingsSignalMapper*> mPsySignalMapperList;
+		/**
+		 * reference to PosSettingsAdvOp
+		 */
+		PosSettingsAdvOp* mOperation;
+   
+};
+#endif // POSPSYSETTINGSPLUGIN_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/posmethodsplugin/inc/possettingssignalmapper.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: Declaration of the Positioning Methods plugin signal mapper 
+ *              used to map the signals of each check box item to the index
+ *
+ */
+
+#ifndef PosSettingsSignalMapper_H
+#define PosSettingsSignalMapper_H
+
+#include <QObject>
+
+class PosSettingsSignalMapper : public QObject
+    {
+    Q_OBJECT
+public:
+    /*
+     * constructor
+     */
+    PosSettingsSignalMapper();
+    /**
+     * destructor
+     */
+    ~PosSettingsSignalMapper();
+private:
+signals:
+    /**
+     * signal emitted by the slot of this class
+     */
+    void signalmapped();
+public slots:
+    /**
+     * slot to be called on a change in state of checkbox.
+     * this in turn calls the signal signalmapped()
+     */
+    void signalmap();
+    };
+
+#endif //PosSettingsSignalMapper_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/posmethodsplugin/pospsysettings.pro	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,65 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description:  PosPsySetting pro file
+#
+
+TEMPLATE = lib
+TARGET = pospsysettings
+DEPENDPATH += .
+INCLUDEPATH += ../inc
+INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+CONFIG += hb \
+					plugin
+
+#Uncomment following line to disable logging
+#DEFINES += QT_NO_DEBUG_OUTPUT
+MOC_DIR = moc
+OBJECTS_DIR = obj
+RCC_DIR = rcc
+
+# Platforms
+SYMBIAN_PLATFORMS = WINSCW \
+    ARMV5
+LIBS += -lcpframework \
+    -llbs \
+    -leposmodset \
+    -lpossettingsengine
+
+# Input
+SOURCES += src/possettingssignalmapper.cpp \
+    src/pospsysettingsplugin.cpp \
+    src/pospsysettingsengine.cpp \
+    src/pospsysettingsengineprivate.cpp
+HEADERS += inc/possettingssignalmapper.h \
+    inc/pospsysettingsplugin.h \
+    inc/pospsysettingsengine.h \
+    inc/pospsysettingsengineprivate.h \
+    inc/pospsysettingscommon.h
+symbian: { 
+    TARGET.EPOCALLOWDLLDATA = 1
+    DEFINES += PLUGINUID3=0x2002C31A
+    TARGET.UID3 = 0x2002C31A
+}
+symbian { 
+    deploy.path = C:
+    qtplugins.path = /resource/qt/plugins/positioningsettings
+    qtplugins.sources += qmakepluginstubs/pospsysettings.qtplugin
+    
+    # This is for new exporting system coming in garden
+    for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin $$deploy.path$$qtplugins.path/$$basename(qtplugin)"
+}
+TARGET.CAPABILITY = All -TCB
+plugin.sources = pospsysettings.dll
+plugin.path = \resource\qt\plugins\positioningsettings
+DEPLOYMENT += plugin
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/posmethodsplugin/src/pospsysettingsengine.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,81 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  Implementation of psy settings engine class. 
+ *
+ */
+
+#include "pospsysettingsengine.h"
+#include <QDebug>
+
+//---------------------------------------------------------------------
+// PosPsySettingsEngine::PosPsySettingsEngine()
+// Constructor
+//---------------------------------------------------------------------
+PosPsySettingsEngine::PosPsySettingsEngine()
+    {
+    qDebug() << "+ PosSettingsEngine::PosPsySettingsEngine()";		
+    d_ptr = new PosPsySettingsEnginePrivate(*this);
+    qDebug() << "- PosSettingsEngine::PosPsySettingsEngine()";	
+    }
+
+//---------------------------------------------------------------------
+// PosPsySettingsEngine::~PosPsySettingsEngine()
+// Destructor
+//---------------------------------------------------------------------
+PosPsySettingsEngine::~PosPsySettingsEngine()
+    {
+    qDebug() << "+ PosSettingsEngine::~PosPsySettingsEngine()";	
+    delete d_ptr;
+    d_ptr = NULL;      
+    qDebug() << "- PosSettingsEngine::~PosPsySettingsEngine()";	  
+    }
+
+//---------------------------------------------------------------------
+// PosPsySettingsEngine::listPsys( QList<PosPsyInfo>& psyList )
+// 
+//---------------------------------------------------------------------
+int PosPsySettingsEngine::listPsys(QList<PosPsyInfo>& psyList)
+    {
+    qDebug() << "+ PosSettingsEngine::listPsys()";	
+    int ret = d_ptr->listPsys(psyList);
+    qDebug() << "- PosSettingsEngine::listPsys()" << ret;	
+    return ret;
+    }
+
+//---------------------------------------------------------------------
+// PosPsySettingsEngine::changePsyState( TUid psyModuleId, PosPsyState psyState )
+// 
+//---------------------------------------------------------------------
+int PosPsySettingsEngine::changePsyState(TUid psyModuleId,
+        PosPsyState psyState)
+    {
+    qDebug() << "+ PosSettingsEngine::changePsyState()";	
+    qDebug() << "psystate = " << psyState;
+    int ret = d_ptr->changePsyState(psyModuleId, psyState);
+    qDebug() << "- PosSettingsEngine::changePsyState()" << ret;	
+    return ret;
+    }
+
+//---------------------------------------------------------------------
+// PosPsySettingsEngine::handlePositionTechnologyChange
+// 
+//---------------------------------------------------------------------
+void PosPsySettingsEngine::handlePositionTechnologyChange()
+    {
+    qDebug() << "+ PosSettingsEngine::handlePositionTechnologyChange()";   
+    // emit the signal when there is a change in the list of available psys
+    emit PSYChange();
+    qDebug() << "- PosSettingsEngine::handlePositionTechnologyChange()";   
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/posmethodsplugin/src/pospsysettingsengineprivate.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,213 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  Implementation of psy settings engine private class. 
+ *
+ */
+
+
+#include "pospsysettingsengineprivate.h"
+#include "pospsysettingsengine.h"
+
+#include <qglobal.h>
+#include <EPos_CPosModules.h>
+#include <EPos_CPosModuleIdList.h>
+#include <EPos_CPosModuleUpdate.h>
+
+// constants
+const TInt KNameLength = 50;
+
+//---------------------------------------------------------------------
+// PosPsySettingsEnginePrivate::PosPsySettingsEnginePrivate()
+// Constructor
+//---------------------------------------------------------------------
+PosPsySettingsEnginePrivate::PosPsySettingsEnginePrivate(
+        PositionTechnologyChangeObserver& posTechChangeObserver) :
+    mPosTechChangeObserver(posTechChangeObserver)
+    {
+    
+    // initialize the CPosModules pointer
+    QT_TRAP_THROWING ( mPosModules = CPosModules::OpenL();
+            // Register for settings change.
+            mPosModules->SetObserverL( *this ));
+    }
+
+//---------------------------------------------------------------------
+// PosPsySettingsEnginePrivate::~PosPsySettingsEnginePrivate()
+// Destructor
+//---------------------------------------------------------------------
+PosPsySettingsEnginePrivate::~PosPsySettingsEnginePrivate()
+    {
+    // delete mPosModules
+    if (mPosModules)
+        {
+        // remove the observer
+    		mPosModules->RemoveObserver();
+        delete mPosModules;
+        mPosModules = NULL;
+        }
+    // delete the psyname 
+    TInt cnt = mNameList.count();
+    for(TInt i=0;i<cnt;++i)
+        {
+        delete mNameList[i];
+        mNameList[i] = NULL;
+        }
+    mNameList.clear();
+    
+    // delete the list of psy info
+    mPsyInfoList.Reset();
+    }
+
+//---------------------------------------------------------------------
+// PosPsySettingsEnginePrivate::listPsys( QList<PosPsyInfo>& psyList )
+// 
+//---------------------------------------------------------------------
+int PosPsySettingsEnginePrivate::listPsys(QList<PosPsyInfo>& psyList)
+    {
+    // Get the list of available psy
+    TRAPD( error, listPsysL() );
+
+    if (error == KErrNone)
+        {        
+        // copy the psy from RArray to the Qlist
+        TInt cnt = mPsyInfoList.Count();
+        for (TInt i = 0; i < cnt; ++i)
+            {
+            psyList.append(mPsyInfoList[i]);
+            }
+        return KErrNone;        
+        }
+    else
+        {
+        return error;
+        }
+
+    }
+
+//---------------------------------------------------------------------
+// PosPsySettingsEnginePrivate::changePsyState( TUid psyModuleId, PosPsyState psyState )
+// 
+//---------------------------------------------------------------------
+int PosPsySettingsEnginePrivate::changePsyState(TUid psyModuleId,
+        PosPsyState psyState)
+    {
+    // update the psy state
+    TRAPD( error, changePsyStateL( psyModuleId, psyState ) );
+    return error;
+    }
+
+//---------------------------------------------------------------------
+// PosPsySettingsEnginePrivate::listPsysL( )
+// 
+//---------------------------------------------------------------------
+void PosPsySettingsEnginePrivate::listPsysL()
+    {
+    // reset the list of psyinfo
+    mPsyInfoList.Reset();
+
+    // get the list of psy module ids
+    CPosModuleIdList* idList = mPosModules->ModuleIdListLC();
+    // for each psy in the list,do the following :
+    // - get module info
+    // - check visibility of psy,if true then do the following :
+    //     -> store the uid,name, state of psy in the PosPsyInfo structure
+    //     -> append to the list of psys.
+    TInt cnt = idList->Count();
+    for (TInt i = 0; i < cnt; ++i)
+        {
+        TPositionModuleInfo moduleInfo;
+        mPosModules->GetModuleInfoL((*idList)[i], moduleInfo);
+
+        // check visibility
+        if (mPosModules->IsModuleVisibleL((*idList)[i]))
+            {
+
+            PosPsyInfo psyInfo;
+            // Set the module Id.
+            psyInfo.mPsyModuelId = moduleInfo.ModuleId();
+
+            // Set module name
+            TBuf<KNameLength> moduleName;
+            moduleInfo.GetModuleName(moduleName);
+            // converting Tbuf to qstring
+            QString* name = new QString((QChar*) moduleName.Ptr(),
+                    moduleName.Length());
+            mNameList.append( name );
+            psyInfo.mPsyName = *name;
+
+            // Set the state of the psy
+            if (moduleInfo.IsAvailable())
+                {
+                psyInfo.mPsyState = PsyEnable;
+                }
+            else
+                {
+                psyInfo.mPsyState = PsyDisable;
+                }
+
+            // append the psyinfo to the list
+            mPsyInfoList.AppendL(psyInfo);
+            }
+        }
+
+    CleanupStack::PopAndDestroy(idList);
+    }
+
+//---------------------------------------------------------------------
+// PosPsySettingsEnginePrivate::changePsyStateL( TUid psyModuleId, PosPsyState psyState )
+// 
+//---------------------------------------------------------------------
+void PosPsySettingsEnginePrivate::changePsyStateL(TUid psyModuleId,
+        PosPsyState psyState)
+    {
+    // create an instance of CPosModuleUpdate to help in updating the attributes
+    //  of Psy
+    CPosModuleUpdate* updateParams = CPosModuleUpdate::NewLC();
+    // Depending on the changed state update the availability of the psy
+    // i.e enable/disable
+    if (psyState == PsyEnable)
+        {
+        updateParams->SetUpdateAvailability(ETrue);
+        }
+    else
+        {
+        updateParams->SetUpdateAvailability(EFalse);
+        }
+    // update the state of the psy whose id is mentioned
+    mPosModules->UpdateModuleL(psyModuleId, *updateParams);
+
+    CleanupStack::PopAndDestroy(updateParams);
+
+    }
+
+//---------------------------------------------------------------------
+// PosPsySettingsEnginePrivate::changePsyStateL( TUid psyModuleId, PosPsyState psyState )
+// 
+//---------------------------------------------------------------------
+void PosPsySettingsEnginePrivate::HandleSettingsChangeL(
+        TPosModulesEvent aEvent)
+    {
+    // Check the event type,only for installation,removal,
+    // change in  visibility,
+    // get the newly available list of psy
+    if (aEvent.iType == EPosModulesEventModuleInstalled || 
+        aEvent.iType == EPosModulesEventModuleRemoved || 
+        aEvent.iType == EPosModulesEventVisibilityChanged)
+        {
+        listPsysL();
+        // call the engine's handlePositionTechnologyChange
+        mPosTechChangeObserver.handlePositionTechnologyChange();
+        }
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/posmethodsplugin/src/pospsysettingsplugin.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,276 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  Implementation of psy settings plugin class. 
+ *
+ */
+#include "pospsysettingsplugin.h"
+#include "pospsysettingsengine.h"
+
+#include <QDebug>
+
+//---------------------------------------------------------------------
+// PosPsySettingsPlugin::PosPsySettingsPlugin()
+// Constructor
+//---------------------------------------------------------------------
+PosPsySettingsPlugin::PosPsySettingsPlugin():
+mGroup(NULL),
+mSignalMapper(NULL),
+mOperation(NULL)
+    {  
+   qDebug() << "================ PSY Plug-in loaded ==============================";	
+   qDebug() << "+ PosPsySettingsPlugin::PosPsySettingsPlugin()";	
+    mEngine = new PosPsySettingsEngine();
+   qDebug() << "- PosPsySettingsPlugin::PosPsySettingsPlugin()";	
+    }
+
+//---------------------------------------------------------------------
+// PosPsySettingsPlugin::~PosPsySettingsPlugin()
+// Destructor
+//---------------------------------------------------------------------
+PosPsySettingsPlugin::~PosPsySettingsPlugin()
+    {
+    qDebug() << "- PosPsySettingsPlugin::~PosPsySettingsPlugin()";	
+    //Note: no need to call mOperation->removeConnection() as it is already handled in advview's destructor
+    if (mEngine)
+        {
+        delete mEngine;
+        mEngine = NULL;
+        }
+    
+    // delete the group
+    if(mGroup)
+        {
+        mOperation->removeItem( mGroup );
+        }
+
+    // clear the list of available psys
+    mPsyList.clear();
+    
+    QObject::disconnect(mSignalMapper, SIGNAL(mapped(int)), this,
+            SLOT(onPsyPressed(int))); 
+    // delete the QSignalMapper instance
+    if (mSignalMapper)
+        {
+        delete mSignalMapper;
+        mSignalMapper = NULL;
+        }
+
+    // delete the signal mapper instances 
+    int cnt = mPsySignalMapperList.count();
+    for (int i = 0; i < cnt ; ++i)
+        {
+        QObject::disconnect(mPsySignalMapperList[i], SIGNAL(signalmapped()),
+                mSignalMapper, SLOT(map()));
+        delete mPsySignalMapperList[i];
+        mPsySignalMapperList[i] = NULL;
+        }
+    // clear the list of signal mapper
+    mPsySignalMapperList.clear();
+    
+    qDebug() << "- PosPsySettingsPlugin::~PosPsySettingsPlugin()";	
+    qDebug() << "================ PSY Plug-in unloaded ==============================";	   
+    }
+
+//---------------------------------------------------------------------
+// PosPsySettingsPlugin::initialise( PosSettingsAdvOp* operation )
+// 
+//---------------------------------------------------------------------
+int PosPsySettingsPlugin::initialise(PosSettingsAdvOp* operation)
+    {
+    qDebug() << "+ PosPsySettingsPlugin::initialise()";	
+    mOperation = operation;
+    mPsyList.clear();
+    // get the list of psys 
+    int error = mEngine->listPsys(mPsyList);
+    // if the list is not available return error
+    if (error == KErrNone)
+        {
+        // create group
+        mGroup = new HbDataFormModelItem(HbDataFormModelItem::GroupItem, tr(
+                "Positioning methods"), 0);
+        // append the group to data form using operation
+        operation->appendDataFormItem(mGroup);
+
+        // add group items
+        addItems();
+
+        // make connection to update the group inase of change in availbale list of psy
+        QObject::connect(mEngine, SIGNAL(PSYChange()), this,
+                SLOT(updateGroup()));
+        qDebug() << "- PosPsySettingsPlugin::initialise()";	
+        return KErrNone;
+        }
+    qDebug() << "- PosPsySettingsPlugin::initialise()";	    
+    return error;
+    }
+
+//---------------------------------------------------------------------
+// PosPsySettingsPlugin::onPsyPressed( int state, int psyUid )
+// 
+//---------------------------------------------------------------------
+void PosPsySettingsPlugin::onPsyPressed(int index)
+    {
+    qDebug() << "+ PosPsySettingsPlugin::onPsyPressed()";	
+    // get the check box item using the index
+    HbDataFormModelItem *checkBox = mGroup->childAt(index);
+    // get the psy name for the check box
+    QVariant name(checkBox->contentWidgetData("text"));
+    QString psyName = name.toString();
+    qDebug() << "Psy to be changed:" << psyName;
+   
+    // get the psyuid for the psy 
+    TUid psyUid = mPsyList.at(index).mPsyModuelId;
+
+    // get the state of the check box
+    QVariant state(checkBox->contentWidgetData(("checkState")));
+    int psyState = state.toInt();
+
+    // change the psy state based on check box state
+    if (psyState == Qt::Checked)
+        {
+        qDebug() << "Psy value:true";	
+        int error = mEngine->changePsyState(psyUid, PsyEnable);
+        }
+    else
+        {
+        qDebug() << "Psy value:false";		
+        int error = mEngine->changePsyState(psyUid, PsyDisable);
+        }
+	qDebug() << "- PosPsySettingsPlugin::onPsyPressed()";		
+    }
+
+//---------------------------------------------------------------------
+// PosPsySettingsPlugin::updateGroup
+// 
+//---------------------------------------------------------------------
+void PosPsySettingsPlugin::updateGroup()
+    {
+	qDebug() << "+ PosPsySettingsPlugin::updateGroup()";		
+    // remove all connections
+    int cnt= mGroup->childCount();
+    for (int i = 0; i < cnt; ++i)
+        {
+        mOperation->removeConnection(mGroup->childAt(i),
+                SIGNAL(stateChanged(int)), mPsySignalMapperList[i],
+                SLOT(signalmap()));
+        }
+		cnt = mPsySignalMapperList.count();
+    for (int i = 0; i < cnt; ++i)
+        {
+        QObject::disconnect(mPsySignalMapperList[i], SIGNAL(signalmapped()),
+                mSignalMapper, SLOT(map()));
+        delete mPsySignalMapperList[i];
+        mPsySignalMapperList[i] = NULL;        
+        }
+ 		mPsySignalMapperList.clear();
+ 		
+    QObject::disconnect(mSignalMapper, SIGNAL(mapped(int)), this,
+            SLOT(onPsyPressed(int)));
+
+    // delete the QSignalMapper instance
+    if (mSignalMapper)
+        {
+        delete mSignalMapper;
+        mSignalMapper = NULL;
+        }    
+
+    // clear list of psys
+    mPsyList.clear();
+    // get the list of psys 
+    int error = mEngine->listPsys(mPsyList);
+    // if the list is not available return error
+    if (error == KErrNone )
+        {
+      	// remove all group's children
+       //mGroup->removeChildren(0, oldChildCount);
+       //ToDo: Hack from HbDataForm team
+        int cnt = mGroup->childCount();
+        for(int i=0;i<cnt; ++i)	{
+        	mGroup->removeChild(0);	
+        	}
+        // add the group items
+        addItems();
+        if (mOperation->isExpanded(mOperation->indexFromItem(mGroup)))
+            {
+            // set as expanded since group was already expanded
+            mOperation->setExpanded(mOperation->indexFromItem(mGroup), true);
+            }
+        }
+	qDebug() << "- PosPsySettingsPlugin::updateGroup()";		
+    }
+
+//---------------------------------------------------------------------
+// PosPsySettingsPlugin::addItems
+// 
+//---------------------------------------------------------------------
+void PosPsySettingsPlugin::addItems()
+    {
+    qDebug() << "+ PosPsySettingsPlugin::addItems()";		
+    // create the signal mapper 
+    if(mSignalMapper)
+        {
+        delete mSignalMapper;
+        mSignalMapper = NULL;
+        }
+    mSignalMapper = new QSignalMapper();
+
+    // for each of the psys in the list
+    // - add a check box item with name
+    // - set the checkbox state according to the psy's current state
+    // - make connections
+    // foreach( PosPsyInfo psy, mPsyList )
+    int cnt = mPsyList.count();
+    qDebug() << "No of Psys: " << cnt;
+    for (int i = 0; i < cnt; ++i)
+        {
+        // create the check box item
+        HbDataFormModelItem* checkBox = new HbDataFormModelItem(
+                    HbDataFormModelItem::CheckBoxItem, QString());
+        QString psyName = mPsyList.at(i).mPsyName;
+        qDebug() << "Psy Name: " << psyName;
+        checkBox->setContentWidgetData("text", psyName);
+
+        // set the state of checkbox
+        if (mPsyList.at(i).mPsyState == PsyEnable)
+            {
+            checkBox->setContentWidgetData("checkState", Qt::Checked);
+            }
+        else
+            {
+            checkBox->setContentWidgetData("checkState", Qt::Unchecked);
+            }
+        // append the check box item to the group
+        mGroup->appendChild(checkBox);
+
+        // create a new psySignalMapper for each checkbox created
+        PosSettingsSignalMapper* psySignalMapper =
+                new PosSettingsSignalMapper();
+        mPsySignalMapperList.append(psySignalMapper);
+
+        // add connections on change of check box state
+        mOperation->addConnection(checkBox, SIGNAL(stateChanged(int)),
+                mPsySignalMapperList[i], SLOT(signalmap()));
+        QObject::connect(mPsySignalMapperList[i], SIGNAL(signalmapped()),
+                mSignalMapper, SLOT(map()));
+        // set mapping of each check box item to its index
+        mSignalMapper->setMapping(mPsySignalMapperList[i], i);
+
+        }
+    QObject::connect(mSignalMapper, SIGNAL(mapped(int)), this,
+            SLOT(onPsyPressed(int)));
+	qDebug() << "- PosPsySettingsPlugin::addItems()";		
+    }
+
+Q_EXPORT_PLUGIN2(pospsysettings, PosPsySettingsPlugin)
+;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/posmethodsplugin/src/possettingssignalmapper.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  Implementation of psy settings signal mapper class
+ *
+ */
+
+
+#include "possettingssignalmapper.h"
+
+
+//---------------------------------------------------------------------
+// PosSettingsSignalMapper::PosSettingsSignalMapper()
+// Constructor
+//---------------------------------------------------------------------
+PosSettingsSignalMapper::PosSettingsSignalMapper()
+    {
+    
+    }
+
+//---------------------------------------------------------------------
+// PosSettingsSignalMapper::PosSettingsSignalMapper()
+// destructor
+//---------------------------------------------------------------------
+PosSettingsSignalMapper::~PosSettingsSignalMapper()
+    {
+    
+    }
+
+//---------------------------------------------------------------------
+// PosSettingsSignalMapper::PosSettingsSignalMapper()
+// 
+//---------------------------------------------------------------------
+void PosSettingsSignalMapper::signalmap()
+    {
+    emit signalmapped();
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possettings.pro	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,38 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:                                                        
+# Description:  project file for positioing settings in control panel                                                      
+#                                                                    
+
+
+TEMPLATE = subdirs
+
+SYMBIAN_PLATFORMS = WINSCW ARMV5
+
+SUBDIRS += possettingsengine/possettingsengine.pro
+SUBDIRS += possettingsplugin/possettingsplugin.pro
+SUBDIRS += posmethodsplugin/pospsysettings.pro
+SUBDIRS += possuplsettingsplugin/possuplsettings.pro
+SUBDIRS += poslocationservices/poslocationservices.pro                                                                                                                                                                                                                                                       
+
+DEFINES += BUILD_POSSETTINGS
+
+INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+
+# Build.inf rules
+BLD_INF_RULES.prj_exports += "$${LITERAL_HASH}include <platform_paths.hrh>" \
+    "possettings_stub.sis /epoc32/data/z/system/install/possettings_stub.sis" \
+    "rom/possettings.iby CORE_MW_LAYER_IBY_EXPORT_PATH(possettings.iby)" \
+    "conf/positioningsettings.confml MW_LAYER_CONFML(positioningsettings.confml)" \
+    "conf/positioningsettings_2002E685.crml MW_LAYER_CRML(positioningsettings_2002E685.crml)" \
+    "rom/possettings_resources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(possettings_resources.iby)"
+   
\ No newline at end of file
Binary file locationsystemui/locationsysui/possettings/possettings_stub.sis has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possettingsengine/bwins/possettingsengineu.def	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,26 @@
+EXPORTS	?trUtf8@PosSettingsAdvOp@@SA?AVQString@@PBD0@Z @ 1 NONAME ; class QString PosSettingsAdvOp::trUtf8(char const *, char const *)
+	?staticMetaObject@PosSettingsAdvOp@@2UQMetaObject@@B @ 2 NONAME ; struct QMetaObject const PosSettingsAdvOp::staticMetaObject
+	?setExpanded@PosSettingsAdvOp@@QAEXABVQModelIndex@@_N@Z @ 3 NONAME ; void PosSettingsAdvOp::setExpanded(class QModelIndex const &, bool)
+	?addAction@PosSettingsAdvOp@@QAEXPAVHbAction@@W4ActionContainer@HbView@@@Z @ 4 NONAME ; void PosSettingsAdvOp::addAction(class HbAction *, enum HbView::ActionContainer)
+	?qt_metacast@PosSettingsAdvOp@@UAEPAXPBD@Z @ 5 NONAME ; void * PosSettingsAdvOp::qt_metacast(char const *)
+	??_EPosSettingsView@@UAE@I@Z @ 6 NONAME ; PosSettingsView::~PosSettingsView(unsigned int)
+	?isExpanded@PosSettingsAdvOp@@QBE_NABVQModelIndex@@@Z @ 7 NONAME ; bool PosSettingsAdvOp::isExpanded(class QModelIndex const &) const
+	?addConnection@PosSettingsAdvOp@@QAEXPAVHbDataFormModelItem@@PBDPAVQObject@@1@Z @ 8 NONAME ; void PosSettingsAdvOp::addConnection(class HbDataFormModelItem *, char const *, class QObject *, char const *)
+	?tr@PosSettingsAdvOp@@SA?AVQString@@PBD0H@Z @ 9 NONAME ; class QString PosSettingsAdvOp::tr(char const *, char const *, int)
+	?appendDataFormItem@PosSettingsAdvOp@@QAEXPAVHbDataFormModelItem@@0@Z @ 10 NONAME ; void PosSettingsAdvOp::appendDataFormItem(class HbDataFormModelItem *, class HbDataFormModelItem *)
+	??1PosSettingsAdvOp@@UAE@XZ @ 11 NONAME ; PosSettingsAdvOp::~PosSettingsAdvOp(void)
+	?qt_metacall@PosSettingsAdvOp@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 12 NONAME ; int PosSettingsAdvOp::qt_metacall(enum QMetaObject::Call, int, void * *)
+	??0PosSettingsAdvOp@@QAE@PAVHbView@@@Z @ 13 NONAME ; PosSettingsAdvOp::PosSettingsAdvOp(class HbView *)
+	??_EPosSettingsAdvOp@@UAE@I@Z @ 14 NONAME ; PosSettingsAdvOp::~PosSettingsAdvOp(unsigned int)
+	??1PosSettingsView@@UAE@XZ @ 15 NONAME ; PosSettingsView::~PosSettingsView(void)
+	?itemPrototypes@PosSettingsAdvOp@@QAEXAAV?$QList@PAVHbAbstractViewItem@@@@@Z @ 16 NONAME ; void PosSettingsAdvOp::itemPrototypes(class QList<class HbAbstractViewItem *> &)
+	?removeConnection@PosSettingsAdvOp@@QAEXPAVHbDataFormModelItem@@PBDPAVQObject@@1@Z @ 17 NONAME ; void PosSettingsAdvOp::removeConnection(class HbDataFormModelItem *, char const *, class QObject *, char const *)
+	?indexFromItem@PosSettingsAdvOp@@QAE?AVQModelIndex@@PBVHbDataFormModelItem@@@Z @ 18 NONAME ; class QModelIndex PosSettingsAdvOp::indexFromItem(class HbDataFormModelItem const *)
+	?setItemPrototypes@PosSettingsAdvOp@@QAEXAAV?$QList@PAVHbAbstractViewItem@@@@@Z @ 19 NONAME ; void PosSettingsAdvOp::setItemPrototypes(class QList<class HbAbstractViewItem *> &)
+	??0PosSettingsView@@QAE@PAVQGraphicsItem@@@Z @ 20 NONAME ; PosSettingsView::PosSettingsView(class QGraphicsItem *)
+	?removeItem@PosSettingsAdvOp@@QAE_NPAVHbDataFormModelItem@@@Z @ 21 NONAME ; bool PosSettingsAdvOp::removeItem(class HbDataFormModelItem *)
+	?trUtf8@PosSettingsAdvOp@@SA?AVQString@@PBD0H@Z @ 22 NONAME ; class QString PosSettingsAdvOp::trUtf8(char const *, char const *, int)
+	?tr@PosSettingsAdvOp@@SA?AVQString@@PBD0@Z @ 23 NONAME ; class QString PosSettingsAdvOp::tr(char const *, char const *)
+	?getStaticMetaObject@PosSettingsAdvOp@@SAABUQMetaObject@@XZ @ 24 NONAME ; struct QMetaObject const & PosSettingsAdvOp::getStaticMetaObject(void)
+	?metaObject@PosSettingsAdvOp@@UBEPBUQMetaObject@@XZ @ 25 NONAME ; struct QMetaObject const * PosSettingsAdvOp::metaObject(void) const
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possettingsengine/eabi/possettingsengineu.def	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,35 @@
+EXPORTS
+	_ZN15PosSettingsViewC1EP13QGraphicsItem @ 1 NONAME
+	_ZN15PosSettingsViewC2EP13QGraphicsItem @ 2 NONAME
+	_ZN15PosSettingsViewD0Ev @ 3 NONAME
+	_ZN15PosSettingsViewD1Ev @ 4 NONAME
+	_ZN15PosSettingsViewD2Ev @ 5 NONAME
+	_ZN16PosSettingsAdvOp10removeItemEP19HbDataFormModelItem @ 6 NONAME
+	_ZN16PosSettingsAdvOp11qt_metacallEN11QMetaObject4CallEiPPv @ 7 NONAME
+	_ZN16PosSettingsAdvOp11qt_metacastEPKc @ 8 NONAME
+	_ZN16PosSettingsAdvOp11setExpandedERK11QModelIndexb @ 9 NONAME
+	_ZN16PosSettingsAdvOp13addConnectionEP19HbDataFormModelItemPKcP7QObjectS3_ @ 10 NONAME
+	_ZN16PosSettingsAdvOp13indexFromItemEPK19HbDataFormModelItem @ 11 NONAME
+	_ZN16PosSettingsAdvOp14itemPrototypesER5QListIP18HbAbstractViewItemE @ 12 NONAME
+	_ZN16PosSettingsAdvOp16removeConnectionEP19HbDataFormModelItemPKcP7QObjectS3_ @ 13 NONAME
+	_ZN16PosSettingsAdvOp16staticMetaObjectE @ 14 NONAME DATA 16
+	_ZN16PosSettingsAdvOp17setItemPrototypesER5QListIP18HbAbstractViewItemE @ 15 NONAME
+	_ZN16PosSettingsAdvOp18appendDataFormItemEP19HbDataFormModelItemS1_ @ 16 NONAME
+	_ZN16PosSettingsAdvOp19getStaticMetaObjectEv @ 17 NONAME
+	_ZN16PosSettingsAdvOp9addActionEP8HbActionN6HbView15ActionContainerE @ 18 NONAME
+	_ZN16PosSettingsAdvOpC1EP6HbView @ 19 NONAME
+	_ZN16PosSettingsAdvOpC2EP6HbView @ 20 NONAME
+	_ZN16PosSettingsAdvOpD0Ev @ 21 NONAME
+	_ZN16PosSettingsAdvOpD1Ev @ 22 NONAME
+	_ZN16PosSettingsAdvOpD2Ev @ 23 NONAME
+	_ZNK16PosSettingsAdvOp10isExpandedERK11QModelIndex @ 24 NONAME
+	_ZNK16PosSettingsAdvOp10metaObjectEv @ 25 NONAME
+	_ZTI15PosSettingsView @ 26 NONAME
+	_ZTI16PosSettingsAdvOp @ 27 NONAME
+	_ZTV15PosSettingsView @ 28 NONAME
+	_ZTV16PosSettingsAdvOp @ 29 NONAME
+	_ZThn16_N15PosSettingsViewD0Ev @ 30 NONAME
+	_ZThn16_N15PosSettingsViewD1Ev @ 31 NONAME
+	_ZThn8_N15PosSettingsViewD0Ev @ 32 NONAME
+	_ZThn8_N15PosSettingsViewD1Ev @ 33 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possettingsengine/inc/checkcustomviewitem.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0""
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  
+ *
+ */
+#ifndef CHECK_CUSTOMVIEWITEM_H
+#define CHECK_CUSTOMVIEWITEM_H
+
+#include <hbdataformviewitem.h>
+#include <hbdataformmodelitem.h>
+
+class HbWidget;
+
+class CheckCustomViewItem: public HbDataFormViewItem
+{
+	Q_OBJECT
+	
+public:
+    explicit CheckCustomViewItem(QGraphicsItem *parent = 0);
+    ~CheckCustomViewItem();
+    virtual HbAbstractViewItem* createItem();
+        virtual bool canSetModelIndex(const QModelIndex &index) const;
+};
+#endif // CHECK_CUSTOMVIEWITEM_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possettingsengine/inc/possettingsadvview.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,91 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:Declaration of the Positioning Settings Advanced View class 
+ *
+ */
+
+#ifndef POSSETTINGSENG_ADVANCEDVIEW_H
+#define POSSETTINGSENG_ADVANCEDVIEW_H
+
+#include "possettingsadvop.h"
+
+#include <QObject>
+#include <cpbasesettingview.h>
+
+//class PosSettingsAdvancedDataForm;
+class HbDataForm;
+class HbDataFormModel;
+class HbDataFormModelItem;
+class PosSettingsAdvOp;
+class PosSettingsAdvInterface;
+class PosSettingsPluginsLoader;
+class QFileSystemWatcher;
+
+class PosSettingsAdvView : public CpBaseSettingView
+    {
+Q_OBJECT
+
+public:
+    /*
+     * Constructor
+     */
+    PosSettingsAdvView(QGraphicsItem *parent = 0);
+    /*
+     * Destructor
+     */
+    ~PosSettingsAdvView();
+
+private slots:
+    /**
+     * Updates the advanced view in case of change in any of the plugins,
+     * this slot needs to be called
+     */
+    void updateAdvView();
+
+private:
+
+    /**
+      * Handle to Heading groupbox
+      * Not Own
+      */
+     HbDataFormModelItem *mHeading;
+     
+     
+    /*
+     * Pointer to the HbDataForm
+     * Owns
+     */
+    HbDataForm* mAdvancedDataForm;
+    /*
+     * Pointer to the PosSettingsAdvOp
+     * owns
+     */
+    PosSettingsAdvOp* mAdvancedOperation;
+    /**
+     * List containing the plugins
+     */
+    QList<PosSettingsAdvInterface*> mPluginsList;
+    /**
+     * Pointer to the PosSettingsPluginsLoader
+     */
+    PosSettingsPluginsLoader* mPluginsLoader;
+    /**
+     * Pointer to the QFileSystemWatcher
+     * Owns
+     */
+    QFileSystemWatcher* mWatcher;
+
+    };
+
+#endif //POSSETTINGSENG_ADVANCEDVIEW_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possettingsengine/inc/possettingscommon.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,72 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  This header exposes common data structues and enums.
+*
+*/
+
+#ifndef POSSETTINGSCOMMON_H
+#define POSSETTINGSCOMMON_H
+
+#include <e32cmn.h>
+
+/**
+ * This enum defines type of position technology.
+ */
+enum PositionTechnology
+    {
+    /**
+     * Bit mask used to specify GPS technology. 
+     */
+    PositionTechnologyGps = 0x01,
+    
+    /**
+     * Bit mask used to specify network technology.
+     */
+    PositionTechnologyNetwork = 0x02,
+    
+    };
+
+/**
+ * This enum defines different state.
+ */
+enum State
+    {
+    StateEnable,
+    
+    StateDisable
+    };
+
+/**
+ * PSY module information
+ */
+struct PsyModuleInfo
+    {
+    /** 
+     * Module id of Psy
+     */
+    TUid mPsyModuleId;
+    
+    /**
+     * Position technology.
+     */
+    PositionTechnology mPosTech;
+    
+    /**
+     * State of Psy
+     */
+    State mState;
+    };
+
+
+#endif /* PosSettingsCOMMON_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possettingsengine/inc/possettingsengine.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,137 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation of positioning settings engine class. 
+*
+*/
+
+#ifndef POSITIONINGSETTINGS_ENGINE_H
+#define POSITIONINGSETTINGS_ENGINE_H
+
+
+#include "possettingscommon.h"
+#include "possettingsengineprivate.h"
+#include <QObject>
+#include <qglobal.h>
+
+/**
+ * PositioningSettingsEngine class provides an interface that abstracts client
+ * from different GPS and wireless positioning techniques. This exposes methods 
+ * to perform operations on the positioning techniques.
+ */
+
+class PosSettingsEngine : public QObject,
+                               public PositionTechnologyChangeObserver
+    {
+    Q_OBJECT
+public:
+    /**
+     * Default constructor
+     * This throws an error if construction fails.
+     */
+    PosSettingsEngine();
+    
+    /**
+     * Destructor 
+     */
+    ~PosSettingsEngine();
+    
+    /**
+     * Returns whether specified position technology is available.
+     * @param[in] posTechnology Position technology of interest.
+     * @return true if specified position technology is available,
+     *         false if it is not available.
+     */
+    bool isPositionTechnologyAvailable( PositionTechnology posTechnology );
+    
+    /**
+     * Sets the state of position technology.
+     * @param[in] posTechnologyState Resultant state of the position technology 
+     * after this operation.
+     * @param[in] posTechnology State of position technology to be changed.
+     * @return KErrNone if successful,
+     *         KErrNotFound if specified position technology is not available
+     *         Otherwise, standard error code is returned,
+     *         KErrServerBusy, etc.. 
+     */
+    int setPositionTechnologyState( State posTechnologyState,
+                                    PositionTechnology posTechnology );
+    
+    /**
+     * Returns whether specified position technology is enabled. It is recemonded 
+     * to use this method after checking the availability of the position technology
+     * using isPositionTechnologyAvailable method.
+     * @param[in] posTechnology Position technology of interest.
+     * @return true if specified position technology is enabled,
+     *         false if it is disabled.
+     */
+    bool isPositionTechnologyEnabled( PositionTechnology posTechnology );
+
+    /**
+     * Sets the state of back ground positioning.
+     * @param[in] backGroundPosState Resultant state of back ground positioning.
+     * @return KErrNone if successful,
+     *         KErrNotSupported if none of the position type are available,
+     *         KErrArgument if none of the position type are enabled
+     *         otherwise, standard error code is returned,
+     *         KErrServerBusy, etc.. 
+     */
+    int setBackGroundPositioningState( State backGroundPosState );
+     
+    /**
+     * Returns whether back ground positioning is enabled. It is recemonded 
+     * to use this method after checking the availability of the position type
+     * using isPositionTypeAvailable method.
+     * @return true if back ground positioning is enabled,
+     *         false if it is disabled.
+     */
+    bool isBackGroundPositioningEnabled();
+    
+    /**
+     * It will set status of background positioning in CR key
+     * It is required to retain old status when checkbox is inserted/removed
+     * 
+     * status [in] - The status of the background positioning in CR key
+     */
+    void setCRBackgroundPositioningStatus(State backGroundPosState);
+  
+   /**
+    * It will return status of background positioning in CR key
+    * It is required to retain old status when checkbox is inserted/removed.
+    * 
+    * returns true if enabled or false if disabled
+    */
+    bool cRBackgroundPositioningStatus();
+
+public: // from PositionTechnologyChangeObserver
+    void handlePositionTechnologyChange();
+
+private:
+	  signals:
+    /**
+     * This signal is emitted when there is change in any of position
+     * technology wrt to its availabilty, state etc.. 
+     */
+    void positionTechnologyChange();
+    
+private:      
+    Q_DECLARE_PRIVATE_D(d_ptr, PosSettingsEngine)
+private: // data member
+    /**
+     * Pointer to private implementation.
+     * Own
+     */
+    PosSettingsEnginePrivate* d_ptr; 
+    };
+
+#endif /* POSITIONINGSETTINGS_ENGINE_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possettingsengine/inc/possettingsengineprivate.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,190 @@
+/*
+* 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:  Positioning settings engine private class. 
+*
+*/
+
+#ifndef POSITIONINGSETTINGSENGINE_PRIVATE_H
+#define POSITIONINGSETTINGSENGINE_PRIVATE_H
+
+#include "possettingscommon.h"
+
+#include <EPos_MPosModulesObserver.h>
+#include <lbtserver.h>
+#include <lbtmanager.h>
+
+// Forward declarations
+
+class PosSettingsEngine;
+class CPosModules;
+class CSuplSettings;
+struct TPosModulesEvent;
+
+/**
+ * The class defines the interface for receiving position
+ * technology change event.The class interested in position
+ * technology change should inherit from this class.
+ */
+class PositionTechnologyChangeObserver
+    {
+public:
+    virtual void handlePositionTechnologyChange() = 0;
+    };
+
+/**
+ * PositioningSettingsEnginePrivate is a class that provides implementation
+ * for PositionSettingsEngine class.
+ */
+class PosSettingsEnginePrivate : public MPosModulesObserver
+    {
+public:
+    /**
+     * Default constructor
+     */
+    PosSettingsEnginePrivate( PositionTechnologyChangeObserver& 
+                                      posTechChangeObserver );
+    
+    /**
+     * Destructor 
+     */
+    ~PosSettingsEnginePrivate();
+    
+    /**
+     * Returns whether specified position technology is available.
+     * @param[in] posTechnology Position technology of interest.
+     * @return true if specified position technology is available,
+     *         false if it is not available.
+     */
+    bool isPositionTechnologyAvailable( PositionTechnology posTechnology );
+    
+    /**
+     * Sets the state of position technology.
+     * @param[in] posTechnologyState Resultant state of the position technology 
+     * after this operation.
+     * @param[in] posTechnology State of position technology to be changed.
+     * @return KErrNone if successful,
+     *         KErrNotFound if specified position technology is not available
+     *         Otherwise, standard error code is returned,
+     *         KErrServerBusy, etc.. 
+     */
+    int setPositionTechnologyState( State posTechnologyState,
+                                    PositionTechnology posTechnology );
+    
+    /**
+     * Returns whether specified position technology is enabled. It is recemonded 
+     * to use this method after checking the availability of the position technology
+     * using isPositionTechnologyAvailable method.
+     * @param[in] posTechnology Position technology of interest.
+     * @return true if specified position technology is enabled,
+     *         false if it is disabled.
+     */
+    bool isPositionTechnologyEnabled( PositionTechnology posTechnology );
+
+    
+    /**
+     * Sets the state of back ground positioning.
+     * @param[in] backGroundPosState Resultant state of back ground positioning.
+     * @return KErrNone if successful,
+     *         KErrNotSupported if none of the position type are available,
+     *         KErrArgument if none of the position type are enabled
+     *         otherwise, standard error code is returned,
+     *         KErrServerBusy, etc.. 
+     */
+    int setBackGroundPositioningState( State backGroundPosState );    
+    
+    /**
+     * Returns whether back ground positioning is enabled. It is recemonded 
+     * to use this method after checking the availability of the position type
+     * using isPositionTypeAvailable method.
+     * @return true if back ground positioning is enabled,
+     *         false if it is disabled.
+     */
+    bool isBackGroundPositioningEnabled();
+    
+public: // from MPosModulesObserver
+    virtual void HandleSettingsChangeL( TPosModulesEvent aEvent );
+    
+private:
+	  /**
+     * Sets the state of given positioning technology.
+     * @param[in] posTechnologyState Resultant State of Positioning Technology 
+     * StateEnable/StateDisable.
+     * @param[in] posTechnology Positioning Technology Name 
+     * PositionTechnologyGps/PositionTechnologyNetwork.
+     */
+    void setPositionTechnologyStateL( State posTechnologyState,
+                                PositionTechnology posTechnology );
+    /**
+     * Sets the state of back ground positioning.
+     * @param[in] backGroundPosState Resultant state of back ground positioning.
+     */
+    void setBackGroundPositioningStateL( State backGroundPosState );
+    
+    /**
+     * Populates the PSY module information list.
+     */
+    void populatePsyModuleInfoListL();
+    
+    /**
+     * Gets the state of back ground positioning.
+     */
+    void GetBackGroundPositioingStateL();
+
+private: //Data members
+    
+    /**
+     * Reference to position technology change observer.
+     */
+    PositionTechnologyChangeObserver& mPosTechChangeObserver;
+
+    /**
+     * Pointer to Supl settings object
+     * Own
+     */
+    CSuplSettings* mSuplSettings;
+    
+    /**
+     * Pointer to lbt server
+     * Own
+     */
+    RLbtServer mLbtServer;
+    
+    /**
+     * Pointer to lbt manager
+     * Own
+     */
+    RLbtManager mLbtManager;
+    
+    /**
+     * Pointer to Pos module;
+     * Own
+     */
+    CPosModules* mPosModules;
+    
+    /**
+     * List of PSY module info
+     * Own
+     */
+    RArray<PsyModuleInfo> mPsyModuleInfoList;
+    
+    /**
+     * State of back ground positioning
+     */
+    State mBackGroundPositioningState;
+    
+    friend class PosSettingsEngine;
+    };
+
+
+#endif /* POSITIONINGSETTINGSENGINE_PRIVATE_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possettingsengine/inc/possettingsform.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,192 @@
+/*
+* 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:  Positioning settings view class. 
+*
+*/
+
+#ifndef POSSETTINGSFORM_H
+#define POSSETTINGSFORM_H
+
+#include <hbdataform.h>
+
+class HbDataFormModelItem;
+class PosSettingsEngine;
+class PosSettingsAdvView;
+class HbAction; 
+
+class PosSettingsForm : public HbDataForm
+    {
+    Q_OBJECT
+private:
+    /*
+     *  Enumarator for the positioning category type
+     */
+    enum PosTypeIndex
+        {
+        /*
+         *  The position of GPS in HbDataForm
+         */
+        PosTypeIndexGps         = 1, 
+        
+        /*
+         *  The position of Wireless in HbDataForm
+         */
+        PosTypeIndexWireless    = 2 ,
+        
+        /*
+         *  The position of Background in HbDataForm
+         */
+        PosTypeIndexBackground  = 3
+        };
+public: 
+    /**
+     * Constructor.
+     */
+    explicit PosSettingsForm( PosSettingsEngine& settingsEngine,
+                                      QGraphicsItem *parent = 0 );
+    
+    /**
+     *  Destructor
+     */
+    ~PosSettingsForm();
+
+private:
+    /**
+     * It will initiate the basic setting view 
+     */
+    void initSettingModel();
+    
+    /**
+     * It will validate visibility of Positioning type 
+     * 
+     * posTypeModelItemIndex[in] - The position at which control should be placed   
+     */
+    void validatePosTypeVisibility(PosTypeIndex posTypeModelItemIndex);
+    
+    /**
+     * It will insert/remove Positioning type control in HbDataForm
+     * 
+     * insert[in] - if true insert control else remove it
+     * posTypeModelItem[in] - HbDataFormModelItem handle for  position type
+     * posTypeModelItemIndex[in] - The position at which control should be placed 
+     * posIndex[in] - The absolute poisition index at which control should be placed. 
+     *								It will different from posTypeModelItemIndex for Wireless and Background 
+     *								depending on GPS, Wireless are visible.
+     */
+    void insertOrRemovePosTypeModelItem(bool insert, HbDataFormModelItem*  posTypeModelItem, 
+                    PosTypeIndex posTypeModelItemIndex, int posIndex);
+    /*
+     * It will create HbDataFormModelItem based on the position specified
+     * 
+     * posTypeModelItemIndex [in] - The position at which control should be placed     
+     */
+    void createPosTypeModelItem(PosTypeIndex posTypeModelItemIndex);
+    
+  	/**
+     * It will mark/unmark positioning category checkbox
+     * 
+     * posTypeModelItemIndex [in] - The position at which control should be placed  
+     */
+    void setPosTypeState(PosTypeIndex posTypeModelItemIndex);
+    
+    /**
+     * It will add connection for the given model item
+     * 
+     * posTypeModelItem [in] - HbDataFormModelItem handle for  position type
+     */
+    void addPosTypeConnection(HbDataFormModelItem*  posTypeModelItem);
+    
+private slots:
+   /**
+    * It will be called when 'Advanced' push button is pressed   
+    */
+    void onPressedAdvanced();
+    
+    /**
+     * It will be called when 'GPS' checkbox is clicked   
+     */
+    void onPressedGps();
+    
+    /**
+     * It will be called when 'Wirelss' checkbox is clicked      
+     */
+    void onPressedWireless();
+    
+    /*
+     * It will be called when 'Background' checkbox is clicked   
+     */
+    void onPressedBackground();
+    /*
+     * It will be called when the Back Button is pressed to dismiss the 
+     * advanced view
+     */
+    void closeAdvancedView();
+
+ 		/**
+     * It will validate visibility of all positioning type controls
+     * It will also be called when new positioning technology is 
+     * added at runtime
+     */
+    void validateVisibility();
+    
+private: // Data memebers
+    /**
+     * Handle to engine
+     * Not Own
+     */
+    PosSettingsEngine& mSettingsEngine; 
+    
+    /**
+     * Handle to 'GPS' checkbox
+     * Not Own
+     */
+    HbDataFormModelItem *mGpsPosType;      
+
+    /**
+     * Handle to 'Wireless' checkbox
+     * Not Own
+     */
+    HbDataFormModelItem *mWirelessPosType; 
+   
+    /**
+     * Handle to 'Background' checkbox
+     * Not Own
+     */
+    HbDataFormModelItem *mBgPosType;
+  
+    /**
+     * Handle to 'Advanced' push button
+     * Not Own
+     */
+    HbDataFormModelItem *mAdvancedSettings;
+   
+    /**
+     * Handle to Heading groupbox
+     * Not Own
+     */
+    HbDataFormModelItem *mHeading;
+    
+    /**
+     * Pointer to Advanced view class
+     * Owns this pointer.
+     */
+    PosSettingsAdvView* mAdvancedView;  
+    
+    /**
+     * handle to the Back Action
+     */
+    HbAction* mBackAction;
+
+    };
+#endif // POSSETTINGSFORM_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possettingsengine/inc/possettingsgroupboxitem.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,55 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  This class provides custom list item 
+* for the groupbox on the DataForm
+*/
+
+#ifndef POSSETTINGS_GROUPBOXITEM_H
+#define POSSETTINGS_GROUPBOXITEM_H
+
+#include <QObject>
+
+#include <hbdataformviewitem.h>
+#include <hbdataformmodelitem.h>
+
+const int GroupboxItem = HbDataFormModelItem::CustomItemBase+12; 
+ 
+class PosSettingsGroupboxItem : public HbDataFormViewItem
+{
+Q_OBJECT
+
+public: //constructor and destructor
+    PosSettingsGroupboxItem(QGraphicsItem *parent);
+    ~PosSettingsGroupboxItem();
+public: //from HbDataFormViewItem
+    /*
+     * It will return custom control item
+     */
+    virtual HbAbstractViewItem* createItem();
+    virtual bool canSetModelIndex(const QModelIndex &index) const;
+    virtual void restore();
+protected:
+    /*
+     * It will define the custom control item
+     */
+    virtual HbWidget* createCustomWidget();
+    
+private:
+    /*
+     * Does not own
+     */
+    HbWidget* mWidget;
+};
+
+#endif // POSSETTINGS_GROUPBOXITEM_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possettingsengine/inc/possettingspluginsloader.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:Declaration of the Positioning Settings PLugins loader 
+ *
+ */
+
+#ifndef PosSettingsPluginsLoader_H
+#define PosSettingsPluginsLoader_H
+
+#include "possettingsadvinterface.h"
+
+#include <QObject>
+#include <e32cmn.h>
+
+class PosSettingsPluginsLoader 
+    {
+    
+public:
+    /**
+     * Constructor
+     */
+    PosSettingsPluginsLoader();
+    /**
+     * Destructor
+     */
+    ~PosSettingsPluginsLoader();
+    /*
+     * Detects & loads the plugins that implement the 
+     * PosSettingsAdvInterface class
+     */
+     QList<PosSettingsAdvInterface*> loadPlugins();
+private:
+     /**
+      * Reads the cenrep key value to obtain the default order in which 
+      * the positioning settings plugins need to be loaded.
+      */
+     void ParseCenRepKey();
+
+private:
+     /**
+      * Contains list of plugin's dll name in the order in which it
+      * is supposed to be displayed in the advanced view
+      */
+     QList<QString> mDllNameList;
+    
+
+    };
+
+#endif //PosSettingsPluginsLoader_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possettingsengine/inc/possettingspushbuttonitem.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,55 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  This class provides custom list item 
+* for the push button on the DataForm
+*/
+
+#ifndef POSSETTINGS_PUSHBUTTONITEM_H
+#define POSSETTINGS_PUSHBUTTONITEM_H
+
+#include <QObject>
+
+#include <hbdataformviewitem.h>
+#include <hbdataformmodelitem.h>
+
+const int PushButtonItem = HbDataFormModelItem::CustomItemBase+11; 
+ 
+class PosSettingsPushButtonItem : public HbDataFormViewItem
+{
+Q_OBJECT
+
+public: //constructor and destructor
+    PosSettingsPushButtonItem(QGraphicsItem *parent);
+    ~PosSettingsPushButtonItem();
+public: //from HbDataFormViewItem
+    /*
+     * It will return custom control item
+     */
+    virtual HbAbstractViewItem* createItem();
+    virtual bool canSetModelIndex(const QModelIndex &index) const;
+    virtual void restore();
+protected:
+    /*
+     * It will define the custom control item
+     */
+    virtual HbWidget* createCustomWidget();
+    
+private:
+    /*
+     * Does not own
+     */
+    HbWidget* mWidget;
+};
+
+#endif // POSSETTINGS_PUSHBUTTONITEM_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possettingsengine/possettings.qrc	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,7 @@
+<RCC>    
+    <qresource prefix="/data" >
+        <file alias="pushbuttoncustomviewitem.css">resources/pushbuttoncustomviewitem.css</file>
+        <file alias="groupboxcustomviewitem.css">resources/groupboxcustomviewitem.css</file>        
+        <file alias="checkcustomviewitem.css">resources/checkcustomviewitem.css</file>
+    </qresource>  
+</RCC>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possettingsengine/possettingsengine.pro	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,74 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description:  PosSettingsEngine pro file
+#
+
+TEMPLATE = lib
+TARGET = possettingsengine
+DEPENDPATH += .
+INCLUDEPATH += ../inc
+INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+CONFIG += hb
+
+
+       
+MOC_DIR =     moc
+OBJECTS_DIR = obj
+RCC_DIR = rcc
+RESOURCES = possettings.qrc 
+
+# Platforms
+SYMBIAN_PLATFORMS = WINSCW \
+    ARMV5
+LIBS += -lcpframework \
+    -llbt \
+    -llbs \
+    -llbtmanager \
+    -leposmodset \
+    -lepos_suplsettings \
+    -lxqsettingsmanager
+
+# Input
+SOURCES += src/possettingspluginsloader.cpp \
+    src/possettingspushbuttonitem.cpp \
+    src/possettingsgroupboxitem.cpp \
+    src/possettingsform.cpp \
+    src/possettingsview.cpp \
+    src/possettingsengineprivate.cpp \
+    src/possettingsengine.cpp \
+    src/possettingsadvview.cpp \
+    src/possettingsadvop.cpp \
+    src/checkcustomviewitem.cpp
+HEADERS += inc/possettingspluginsloader.h \
+    inc/possettingspushbuttonitem.h \
+    inc/possettingsgroupboxitem.h \
+    inc/possettingsform.h \
+    inc/possettingsengineprivate.h \
+    inc/possettingsengine.h \
+    inc/possettingscommon.h \
+    inc/possettingsadvview.h \    
+    ../inc/possettingsadvop.h \
+    inc/checkcustomviewitem.h 
+symbian: { 
+    TARGET.EPOCALLOWDLLDATA = 1
+    DEFINES += BUILD_POSSETTINGS
+    DEFINES += PLUGINUID3=0x2002C319
+    TARGET.UID3 = 0x2002C319
+}
+
+# Build.inf rules
+BLD_INF_RULES.prj_exports += "$${LITERAL_HASH}include <platform_paths.hrh>" 
+     
+TARGET.CAPABILITY = All -TCB
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possettingsengine/resources/checkcustomviewitem.css	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,5 @@
+CheckCustomViewItem::dataItem_ContentWidget
+{
+    left: 0.0un;
+    right: var(hb-param-margin-gene-right);
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possettingsengine/resources/groupboxcustomviewitem.css	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,6 @@
+PosSettingsGroupboxItem::dataItem_ContentWidget
+{
+    left: 0.0un;
+    right: var(hb-param-margin-gene-right);
+    top: 0.0un;
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possettingsengine/resources/pushbuttoncustomviewitem.css	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,5 @@
+PosSettingsPushButtonItem::dataItem_ContentWidget
+{
+    left: -var(hb-param-margin-gene-left);
+    right: var(hb-param-margin-gene-right);
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possettingsengine/src/checkcustomviewitem.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0""
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  
+ *
+ */
+
+#include "checkcustomviewitem.h"
+#include <hbdataformmodelitem.h>
+#include <hbdataformmodel.h>
+#include <hbabstractitemview.h>
+#include <QMetaProperty>
+
+
+CheckCustomViewItem::CheckCustomViewItem(QGraphicsItem *parent )
+																: HbDataFormViewItem(parent)
+
+{
+}
+CheckCustomViewItem::~CheckCustomViewItem()
+{
+}
+HbAbstractViewItem* CheckCustomViewItem::createItem()
+{
+	return new CheckCustomViewItem(*this);
+}
+bool CheckCustomViewItem::canSetModelIndex(const QModelIndex &index) const
+{
+    int type = index.data(HbDataFormModelItem::ItemTypeRole).toInt();
+    if ( type == HbDataFormModelItem::CheckBoxItem ) {
+            return true;
+    }
+    else {
+            return false;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possettingsengine/src/possettingsadvop.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,164 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors: 
+ *
+ * Description: Implementation of Positioning settings advanced 
+ *              operation class.
+ *
+ */
+
+#include "possettingsadvop.h"
+#include "possettingsadvview.h"
+#include <QDebug>
+#include <hbdataformviewitem.h>
+
+//---------------------------------------------------------------------
+// PosSettingsAdvOp::PosSettingsAdvOp()
+// Constructor
+//---------------------------------------------------------------------
+PosSettingsAdvOp::PosSettingsAdvOp(HbView* view) : mView(view)
+    {
+    qDebug() << "+ PosSettingsAdvOp::PosSettingsAdvOp()";
+    mDataForm = qobject_cast<HbDataForm*>(mView->widget());
+    mDataFormModel = static_cast<HbDataFormModel*>(mDataForm->model());
+    qDebug() << "- PosSettingsAdvOp::PosSettingsAdvOp()";
+    }
+
+//---------------------------------------------------------------------
+// PosSettingsAdvOp::~PosSettingsAdvOp()
+// Destructor
+//---------------------------------------------------------------------
+PosSettingsAdvOp::~PosSettingsAdvOp()
+    {
+    qDebug() << "+ PosSettingsAdvOp::~PosSettingsAdvOp()";
+    qDebug() << "- PosSettingsAdvOp::~PosSettingsAdvOp()";
+    }
+
+//---------------------------------------------------------------------
+// PosSettingsAdvOp::appendDataFormItem
+// 
+//---------------------------------------------------------------------
+void PosSettingsAdvOp::appendDataFormItem(HbDataFormModelItem *data,
+        HbDataFormModelItem *parent)
+    {
+    qDebug() << "+ PosSettingsAdvOp::appendDataFormItem()";
+    mDataFormModel->appendDataFormItem(data, parent);
+    qDebug() << "- PosSettingsAdvOp::appendDataFormItem()";
+    }
+
+//---------------------------------------------------------------------
+// PosSettingsAdvOp::addConnection
+// 
+//---------------------------------------------------------------------
+void PosSettingsAdvOp::addConnection(HbDataFormModelItem *item,
+        const char* signal, QObject *receiver, const char* slot)
+    {
+    qDebug() << "+ PosSettingsAdvOp::addConnection()";
+    mDataForm->addConnection(item, signal, receiver, slot);
+    qDebug() << "- PosSettingsAdvOp::addConnection()";
+    }
+
+//---------------------------------------------------------------------
+// PosSettingsAdvOp::addAction
+// 
+//---------------------------------------------------------------------
+void PosSettingsAdvOp::addAction(HbAction *action,
+        HbView::ActionContainer preferedActionContainer)
+    {
+    qDebug() << "+ PosSettingsAdvOp::addAction()";
+    mView->addAction(action, preferedActionContainer);
+    qDebug() << "- PosSettingsAdvOp::addAction()";
+    }
+
+
+//---------------------------------------------------------------------
+// PosSettingsAdvOp::indexFromItem
+// 
+//---------------------------------------------------------------------
+QModelIndex PosSettingsAdvOp::indexFromItem(const HbDataFormModelItem * item)
+    {
+    qDebug() << "+ PosSettingsAdvOp::indexFromItem()";
+    qDebug() << "- PosSettingsAdvOp::indexFromItem()";
+    return mDataFormModel->indexFromItem(item);
+    }
+
+//---------------------------------------------------------------------
+// PosSettingsAdvOp::removeConnection
+// 
+//---------------------------------------------------------------------
+void PosSettingsAdvOp::removeConnection(HbDataFormModelItem *item,
+        const char* signal, QObject *receiver, const char* slot)
+    {
+    qDebug() << "+ PosSettingsAdvOp::removeConnection()";
+    mDataForm->removeConnection(item, signal, receiver, slot);
+    qDebug() << "- PosSettingsAdvOp::removeConnection()";    
+    }
+
+//---------------------------------------------------------------------
+// PosSettingsAdvOp::setExpanded
+// 
+//---------------------------------------------------------------------
+void PosSettingsAdvOp::setExpanded(const QModelIndex &index, bool expanded)
+    {
+    qDebug() << "+ PosSettingsAdvOp::setExpanded()";
+    mDataForm->setExpanded( index,expanded);
+    qDebug() << "- PosSettingsAdvOp::setExpanded()";
+    }
+
+//---------------------------------------------------------------------
+// PosSettingsAdvOp::isExpanded
+// 
+//---------------------------------------------------------------------
+bool PosSettingsAdvOp::isExpanded(const QModelIndex &index)const
+    {
+    qDebug() << "+ PosSettingsAdvOp::isExpanded()";
+    qDebug() << "- PosSettingsAdvOp::isExpanded()";
+    return mDataForm->isExpanded(index);
+    }
+
+//---------------------------------------------------------------------
+// PosSettingsAdvOp::removeItem
+// 
+//---------------------------------------------------------------------
+bool PosSettingsAdvOp::removeItem(HbDataFormModelItem* item)
+    {
+    qDebug() << "+ PosSettingsAdvOp::removeItem()";
+    qDebug() << "- PosSettingsAdvOp::removeItem()";
+    return mDataFormModel->removeItem(item);
+    }
+
+//---------------------------------------------------------------------
+// PosSettingsAdvOp::removeItem
+// 
+//---------------------------------------------------------------------
+void PosSettingsAdvOp::setItemPrototypes(
+        QList<HbAbstractViewItem *> &protoTypeList)
+    {
+    qDebug() << "+ PosSettingsAdvOp::setItemPrototypes()";
+    QList<HbAbstractViewItem *> oldProtoTypeList = mDataForm->itemPrototypes();
+    oldProtoTypeList.append(protoTypeList);
+    mDataForm->setItemPrototypes(oldProtoTypeList);
+    qDebug() << "- PosSettingsAdvOp::setItemPrototypes()";
+    }
+
+//---------------------------------------------------------------------
+// PosSettingsAdvOp::itemPrototypes
+// 
+//---------------------------------------------------------------------
+void PosSettingsAdvOp::itemPrototypes(
+        QList<HbAbstractViewItem *> &protoTypeList)
+    {
+    qDebug() << "+ PosSettingsAdvOp::itemPrototypes()";
+    protoTypeList = mDataForm->itemPrototypes();
+    qDebug() << "- PosSettingsAdvOp::itemPrototypes()";
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possettingsengine/src/possettingsadvview.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,163 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:Implementation of the Positioning Settings Advanced View class 
+ *
+ */
+
+#include "possettingsadvview.h"
+#include "possettingspluginsloader.h"
+#include "possettingsgroupboxitem.h"
+#include <QDebug>
+#include <QFileSystemWatcher>
+
+#ifdef Q_OS_SYMBIAN
+#define PLUGIN_PATH QString("\\resource\\qt\\plugins\\positioningsettings")
+
+#else
+#define PLUGIN_PATH QString("C:\\qt\\plugins\\positioningsettings")
+#endif 
+
+//---------------------------------------------------------------------
+// PosSettingsAdvView::PosSettingsAdvView()
+// Constructor
+//---------------------------------------------------------------------
+PosSettingsAdvView::PosSettingsAdvView( QGraphicsItem *parent ):
+CpBaseSettingView(0,parent)
+    {
+    qDebug() << "+ PosSettingsAdvView::PosSettingsAdvView()";
+    // create instance of HbDataForm
+    mAdvancedDataForm = new HbDataForm();
+    
+    // Create an instance of HbDataFormModel
+    HbDataFormModel* advancedDataFormModel = new HbDataFormModel();
+
+    // set the model
+    mAdvancedDataForm->setModel( advancedDataFormModel );
+
+    // set the Advanced settings form for this view
+    this->setWidget( mAdvancedDataForm );
+    
+    //set prototype for custom controls
+    QList<HbAbstractViewItem *> protoTypeList = mAdvancedDataForm->itemPrototypes();
+    protoTypeList.append(new PosSettingsGroupboxItem(this));  
+    mAdvancedDataForm->setItemPrototypes(protoTypeList);
+    
+    //Heading                   
+     mHeading = advancedDataFormModel->appendDataFormItem(static_cast<HbDataFormModelItem::DataItemType>(GroupboxItem),
+                                                   QString(),
+                                                   advancedDataFormModel->invisibleRootItem());
+     mHeading->setContentWidgetData("heading",
+                                hbTrId("txt_loe_subtitle_advanced_positioning_settings"));
+
+    
+    
+    // Create an instance of PosSettingsAdvancedOperation
+    mAdvancedOperation = new PosSettingsAdvOp(this);
+    
+
+    mPluginsLoader = new PosSettingsPluginsLoader();
+    // load the plugins
+    mPluginsList = mPluginsLoader->loadPlugins();
+    
+    // for each plugin detected call the plugin's initialize method
+   
+    int cnt = mPluginsList.count();
+    int error = 0;
+    for(int i=0;i<cnt;i++)
+        {
+				error = mPluginsList[i]->initialise(mAdvancedOperation );
+        //pluging is unloaded if the there is an error, with exception for not found.
+        if (error != 0 && error != -1)
+            {
+            delete mPluginsList[i];
+            mPluginsList[i] = 0;
+            mPluginsList.removeAt(i);
+            --cnt;
+            --i;
+            }
+        }
+    // create a QFileSystemWatcher instance
+    mWatcher = new QFileSystemWatcher();
+    mWatcher->addPath(PLUGIN_PATH);
+    
+    // make connection to update the advanced view on change in the plugins
+    QObject::connect(mWatcher,SIGNAL(fileChanged ( const QString & path )),
+                    this,SLOT(updateAdvView()));
+    qDebug() << "- PosSettingsAdvView::PosSettingsAdvView()";
+    }
+
+//---------------------------------------------------------------------
+// PosSettingsAdvView::~PosSettingsAdvView()
+// Destructor
+//---------------------------------------------------------------------
+PosSettingsAdvView::~PosSettingsAdvView()
+    {   
+    qDebug() << "+ PosSettingsAdvView::~PosSettingsAdvView()";
+  //  mAdvancedDataForm->removeAllConnection();	 
+    delete mAdvancedDataForm;
+    mAdvancedDataForm = NULL;
+    
+    
+    delete mAdvancedOperation;
+    mAdvancedOperation = NULL;
+    
+    delete mPluginsLoader;
+    mPluginsLoader = NULL;
+    
+    // delete the list of plugins
+    foreach( PosSettingsAdvInterface *plugin, mPluginsList )
+            {
+            delete plugin;
+            plugin = 0;
+            }
+    mPluginsList.clear();
+    
+    //ToDo: disconnect mWatcher'signal
+    delete mWatcher;
+    mWatcher = NULL;
+    qDebug() << "- PosSettingsAdvView::~PosSettingsAdvView()";    
+    }
+
+//---------------------------------------------------------------------
+// PosSettingsAdvView::updateAdvView()
+// 
+//---------------------------------------------------------------------
+void PosSettingsAdvView::updateAdvView()
+    {
+    qDebug() << "+ PosSettingsAdvView::updateAdvView()";
+    // clear the plugins list
+    foreach( PosSettingsAdvInterface *plugin, mPluginsList )
+        {
+        delete plugin;
+        plugin= NULL;
+        }
+    mPluginsList.clear();
+    
+    // reload the plugins again
+    mPluginsList = mPluginsLoader->loadPlugins();
+    
+    int count = mPluginsList.count();
+    
+    // for each plugin detected call the plugin's initialize method
+    for( int i=0;i<count;++i )
+        {
+        int error = mPluginsList[i]->initialise( mAdvancedOperation );
+        if( error != KErrNone )
+            {
+            delete mPluginsList[i];
+            mPluginsList[i] =NULL;
+            }
+        }
+    qDebug() << "- PosSettingsAdvView::updateAdvView()";
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possettingsengine/src/possettingsengine.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,174 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation of positioning settings engine class. 
+*
+*/
+
+
+#include "possettingsengine.h"
+#include "possettingscrkey.h"
+#include <QDebug>
+#include <xqsettingsmanager.h>
+#include <xqsettingskey.h>
+
+
+//---------------------------------------------------------------------
+// PosSettingsEngine::PosSettingsEngine()
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+PosSettingsEngine::PosSettingsEngine()
+    {
+    qDebug() << "+ PosSettingsEngine::PosSettingsEngine()";
+    d_ptr = new PosSettingsEnginePrivate( *this );
+    qDebug() << "- PosSettingsEngine::PosSettingsEngine()";
+    }
+
+//---------------------------------------------------------------------
+// PosSettingsEngine::~PosSettingsEngine()
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+PosSettingsEngine::~PosSettingsEngine()
+    {
+    qDebug() << "+ PosSettingsEngine::~PosSettingsEngine()";
+    delete d_ptr;
+    d_ptr = NULL;
+    qDebug() << "- PosSettingsEngine::~PosSettingsEngine()";
+    }
+
+//---------------------------------------------------------------------
+// PosSettingsEngine::isPositionTechnologyAvailable()
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+bool PosSettingsEngine::isPositionTechnologyAvailable( 
+                                      PositionTechnology posTechnology )
+    {
+    qDebug() << "+ PosSettingsEngine::isPositionTechnologyAvailable()";	
+    bool err = d_ptr->isPositionTechnologyAvailable( posTechnology );   
+    qDebug() << "- PosSettingsEngine::isPositionTechnologyAvailable() retvat: " << err;
+    return err; 
+    }
+
+//---------------------------------------------------------------------
+// PosSettingsEngine::setPositionTechnologyState()
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+int PosSettingsEngine::setPositionTechnologyState( 
+                                       State posTechnologyState,
+                                       PositionTechnology posTechnology )
+    {
+    qDebug() << "+ PosSettingsEngine::setPositionTechnologyState()";
+    qDebug() << "posTechnologyState: " << posTechnologyState;
+    int ret = d_ptr->setPositionTechnologyState( posTechnologyState, 
+                                              posTechnology ); 
+		qDebug() << "- PosSettingsEngine::setPositionTechnologyState()" << ret;       
+		return ret;                                       
+    }
+
+
+//---------------------------------------------------------------------
+// PosSettingsEngine::isPositionTechnologyEnabled()
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+bool PosSettingsEngine::isPositionTechnologyEnabled(
+                                         PositionTechnology posTechnology )
+    {
+    qDebug() << "+ PosSettingsEngine::isPositionTechnologyEnabled()";
+    bool ret = d_ptr->isPositionTechnologyEnabled( posTechnology );  
+    qDebug() << "- PosSettingsEngine::isPositionTechnologyEnabled() retval= " << ret;  
+    return ret;
+    }
+
+//---------------------------------------------------------------------
+// PosSettingsEngine::setBackGroundPositioningState()
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+int PosSettingsEngine::setBackGroundPositioningState( 
+                                             State backGroundPosState )
+    {
+    qDebug() << "+ PosSettingsEngine::setBackGroundPositioningState()";
+    qDebug() << "backGroundPosState: " <<	backGroundPosState;
+    int ret = d_ptr->setBackGroundPositioningState( backGroundPosState );    
+    qDebug() << "- PosSettingsEngine::setBackGroundPositioningState() retval= " << ret;
+    return ret;
+    }
+
+//---------------------------------------------------------------------
+// PosSettingsEngine::isPositionTechnologyEnabled()
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+bool PosSettingsEngine::isBackGroundPositioningEnabled()
+    {
+    qDebug() << "+ PosSettingsEngine::isBackGroundPositioningEnabled()";
+    bool ret = d_ptr->isBackGroundPositioningEnabled();    
+    qDebug() << "- PosSettingsEngine::isBackGroundPositioningEnabled() retval= " << ret;
+    return ret;
+    }
+
+// ---------------------------------------------------------------------------
+// PosSettingsEngine::backgroundPositioningStatus
+// ---------------------------------------------------------------------------
+bool PosSettingsEngine::cRBackgroundPositioningStatus()
+    {
+    qDebug() << "+ PosSettingsEngine::isBackGroundPositioningEnabled()";
+    // create a XQSettingsManager instance
+    XQSettingsManager* manager = new XQSettingsManager();
+    // create a XQSettingsKey object to read the cenrep key value
+    XQSettingsKey cenrepKey(XQSettingsKey::TargetCentralRepository,
+            KCRUidPositioningSettings.iUid, KPositioningSettingsBackgroundServicesStatus);
+    // read the cenrep key value
+    QVariant key(manager->readItemValue(cenrepKey,XQSettingsManager::TypeInt));
+    // convert the key value to string
+    int keyIntValue = key.toInt();
+    
+    delete manager;
+    manager = 0;
+    
+    qDebug() << "- PosSettingsEngine::cRBackgroundPositioningStatus()";
+    return keyIntValue;
+    }
+
+// ---------------------------------------------------------------------------
+// PosSettingsEngine::setCRBackgroundPositioningStatus
+// ---------------------------------------------------------------------------
+void PosSettingsEngine::setCRBackgroundPositioningStatus(State backGroundPosState)
+    {
+    qDebug() << "+ PosSettingsEngine::isBackGroundPositioningEnabled()";
+    // create a XQSettingsManager instance
+    XQSettingsManager* manager = new XQSettingsManager();
+    // create a XQSettingsKey object to read the cenrep key value
+    XQSettingsKey cenrepKey(XQSettingsKey::TargetCentralRepository,
+            KCRUidPositioningSettings.iUid, KPositioningSettingsBackgroundServicesStatus);
+    
+    // write the cenrep key value
+    if(backGroundPosState == StateEnable)
+        QVariant key(manager->writeItemValue(cenrepKey,QVariant(1)));
+    else
+        QVariant key(manager->writeItemValue(cenrepKey,QVariant(0)));
+    
+    delete manager;
+    manager = 0;
+    qDebug() << "- PosSettingsEngine::setCRBackgroundPositioningStatus()";
+    }
+
+//---------------------------------------------------------------------
+// PosSettingsEngine::handlePositionTechnologyChange()
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+void PosSettingsEngine::handlePositionTechnologyChange()
+    {
+    qDebug() << "+ PosSettingsEngine::handlePositionTechnologyChange()";
+    emit positionTechnologyChange();
+    qDebug() << "- PosSettingsEngine::handlePositionTechnologyChange()";
+    }
+// End of file.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possettingsengine/src/possettingsengineprivate.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,376 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation of positioning settings engine private class. 
+*
+*/
+
+#include "possettingsengineprivate.h"
+#include "possettingsengine.h"
+#include <qglobal.h>
+#include <EPos_CSuplSettings.h>
+#include <lbtcommon.h>
+#include <EPos_CPosModules.h>
+#include <EPos_CPosModuleIdList.h>
+#include <EPos_CPosModuleUpdate.h>
+
+// AGPS psy module UID
+const TUid KAGPSPsyModuleID =
+    {
+    0x101fe98c
+    };
+// NPP Psy module UID
+const TUid KNPPPsyModuleID =
+    {
+    0x10206915
+    };
+
+//---------------------------------------------------------------------
+// PosSettingsEnginePrivate::PosSettingsEnginePrivate()
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+PosSettingsEnginePrivate::PosSettingsEnginePrivate( 
+                                      PositionTechnologyChangeObserver& 
+                                      posTechChangeObserver):
+                                      mPosTechChangeObserver(
+                                      posTechChangeObserver )
+    {
+    // Open session to LBT server.
+    int error = mLbtServer.Connect();
+    if( error != KErrNone )
+        {
+        throw( error );
+        }
+    //Open subsession to LBT server.
+    error = mLbtManager.Open( mLbtServer );
+    if( error != KErrNone )
+        {
+        throw( error );
+        }
+    QT_TRAP_THROWING( mSuplSettings = CSuplSettings::NewL();
+                      mPosModules = CPosModules::OpenL();
+                
+                      populatePsyModuleInfoListL();
+                      // Get back ground position status
+                      GetBackGroundPositioingStateL();
+                      // Register for settings change.
+                      mPosModules->SetObserverL( *this )
+                    );
+    }
+
+
+//---------------------------------------------------------------------
+// PosSettingsEnginePrivate::~PosSettingsEnginePrivate()
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+PosSettingsEnginePrivate::~PosSettingsEnginePrivate()
+    {
+    mLbtManager.Close();
+    mLbtServer.Close();
+    delete mSuplSettings;
+    mSuplSettings = NULL;
+    // remove observer
+    mPosModules->RemoveObserver();
+    delete mPosModules;
+    mPosModules = NULL;
+    
+    mPsyModuleInfoList.Close();
+    }
+
+
+//---------------------------------------------------------------------
+// PosSettingsEnginePrivate::isPositionTechnologyAvailable()
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+bool PosSettingsEnginePrivate::isPositionTechnologyAvailable( 
+                                       PositionTechnology posTechnology )
+    {
+    // Iterate through the PSY list to find the specified position 
+    // technology.
+    TInt cnt = mPsyModuleInfoList.Count();
+    for( TInt i=0;i<cnt;++i )
+        {
+        if( mPsyModuleInfoList[i].mPosTech == posTechnology )
+            {
+            return true;
+            }
+        }
+    return false;
+    }
+
+//---------------------------------------------------------------------
+// PosSettingsEnginePrivate::setPositionTypeState()
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+int PosSettingsEnginePrivate::setPositionTechnologyState( 
+                                      State posTechnologyState,
+                                      PositionTechnology posTechnology )
+    {
+    // If the specified position technology is unavailable, return error.
+    if( !isPositionTechnologyAvailable( posTechnology ) )
+        {
+        return KErrNotFound;
+        }
+    
+    int error = KErrNone;
+    TRAP( error,setPositionTechnologyStateL( posTechnologyState,posTechnology ) );
+    return error;
+    }
+
+//---------------------------------------------------------------------
+// PosSettingsEnginePrivate::isPositionTechnologyEnabled()
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+bool PosSettingsEnginePrivate::isPositionTechnologyEnabled( 
+                                       PositionTechnology posTechnology )
+    {
+    // Iterate through the PSY info list to find specified position 
+    // technology and its corresponding state.
+    TInt cnt = mPsyModuleInfoList.Count();
+    for( TInt i=0;i<cnt;++i )
+        {
+        if( mPsyModuleInfoList[i].mPosTech == posTechnology && 
+            mPsyModuleInfoList[i].mState == StateEnable )
+            {
+            return true;
+            }
+        }
+    return false;
+    }
+                                         
+//---------------------------------------------------------------------
+// PosSettingsEnginePrivate::setBackGroundPositioningState()
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+int PosSettingsEnginePrivate::setBackGroundPositioningState( 
+                                             State backGroundPosState )
+    {    
+    // Check if any of the position technology are available.
+    if( !mPsyModuleInfoList.Count() )
+        {
+        return KErrNotSupported;
+        }
+    int error = KErrNone;
+    // Change the state of back ground positioning only if its current
+    // state is different from the requested state.
+    if( backGroundPosState != mBackGroundPositioningState )
+        {
+        TRAP( error,setBackGroundPositioningStateL( backGroundPosState ) );
+        }
+    return error;
+    }
+
+//---------------------------------------------------------------------
+// PosSettingsEnginePrivate::isBackGroundPositioningEnabled()
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+bool PosSettingsEnginePrivate::isBackGroundPositioningEnabled()
+    {
+    if( mBackGroundPositioningState == StateEnable )
+        {
+        return true;
+        }
+    return false;
+    }
+
+//---------------------------------------------------------------------
+// PosSettingsEnginePrivate::HandleSettingsChangeL()
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+void PosSettingsEnginePrivate::HandleSettingsChangeL( 
+                                       TPosModulesEvent aEvent )
+    {    
+    // Reset the module info list and repopulate again.
+    mPsyModuleInfoList.Reset();
+    populatePsyModuleInfoListL();
+    
+    if( aEvent.iType == EPosModulesEventModuleInstalled || aEvent.iType == EPosModulesEventModuleRemoved
+    	|| aEvent.iType == EPosModulesEventVisibilityChanged ) 
+        {       
+    	mPosTechChangeObserver.handlePositionTechnologyChange();
+    	}
+    }
+
+//---------------------------------------------------------------------
+// PosSettingsEnginePrivate::setPositionTechnologyStateL()
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+void PosSettingsEnginePrivate::setPositionTechnologyStateL( 
+                                        State posTechnologyState,
+                                        PositionTechnology posTechnology )
+    {
+    CPosModuleUpdate* updateParams = CPosModuleUpdate::NewLC();
+    
+    if( posTechnologyState == StateEnable )
+        {
+        updateParams->SetUpdateAvailability( ETrue );
+        }
+    else
+        {
+        updateParams->SetUpdateAvailability( EFalse );
+        }
+    TInt cnt = mPsyModuleInfoList.Count();    
+    for( TInt i=0;i<cnt;++i )
+        {
+        // Change the state only if position technology of PSY matches
+        // with the position technology specified and if the state of 
+        // the PSY is different from the requested state.
+        if( mPsyModuleInfoList[i].mPosTech == posTechnology &&
+            mPsyModuleInfoList[i].mState != posTechnologyState )
+            {
+            mPosModules->UpdateModuleL( mPsyModuleInfoList[i].mPsyModuleId, 
+                                        *updateParams );
+            mPsyModuleInfoList[i].mState = posTechnologyState;
+            }
+        }
+    CleanupStack::PopAndDestroy( updateParams );
+    }
+
+//---------------------------------------------------------------------
+// PosSettingsEnginePrivate::setBackGroundPositioningStateL()
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+void PosSettingsEnginePrivate::setBackGroundPositioningStateL( 
+                                           State backGroundPosState )
+    {
+    if( backGroundPosState == StateEnable )
+        {
+        mLbtManager.SetTriggeringMechanismStateL( 
+                     ETriggeringMechanismOn );
+        User::LeaveIfError( mSuplSettings->SetSuplTriggeredServiceStatus( 
+                                CSuplSettings::ESuplTriggerOn  ) );
+        mBackGroundPositioningState = StateEnable;
+        }
+    else
+        {
+        mLbtManager.SetTriggeringMechanismStateL( 
+                     ETriggeringMechanismOff );
+        User::LeaveIfError( mSuplSettings->SetSuplTriggeredServiceStatus( 
+                                CSuplSettings::ESuplTriggerOff ) );
+        mBackGroundPositioningState = StateDisable;
+        }
+    }
+
+//---------------------------------------------------------------------
+// PosSettingsEnginePrivate::populatePsyModuleInfoListL()
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+void PosSettingsEnginePrivate::populatePsyModuleInfoListL()
+    {
+    TBool agpsState = EFalse;
+    TBool nppState = EFalse;
+    CPosModuleIdList* idList = mPosModules->ModuleIdListLC();
+    TInt cnt = idList->Count();
+    for ( TInt i = 0; i < cnt; ++i )
+        {
+        TPositionModuleInfo moduleInfo;
+        mPosModules->GetModuleInfoL( (*idList)[i], moduleInfo );
+        
+        // Psy module info hold the information regarding PSY that are
+        // essential for our operation.
+        PsyModuleInfo psyModuleInfo;
+        
+        // Set the module Id.
+        psyModuleInfo.mPsyModuleId = moduleInfo.ModuleId();
+        
+        // Set position technology type.
+        if( moduleInfo.TechnologyType() == TPositionModuleInfo::ETechnologyTerminal ||
+            moduleInfo.TechnologyType() == TPositionModuleInfo::ETechnologyAssisted )
+            {
+            psyModuleInfo.mPosTech = PositionTechnologyGps;
+            }
+        else if ( moduleInfo.TechnologyType() == TPositionModuleInfo::ETechnologyNetwork )
+            {
+            psyModuleInfo.mPosTech = PositionTechnologyNetwork;
+            }
+        
+        // Set state of Psy.
+        if( moduleInfo.IsAvailable() )
+            {
+            psyModuleInfo.mState = StateEnable;
+            // capture the state of the agps psy module
+            if (moduleInfo.ModuleId() == KAGPSPsyModuleID)
+                {
+                agpsState = ETrue;
+                }
+            // capture the state of npp psy module
+            if (moduleInfo.ModuleId() == KNPPPsyModuleID)
+                {
+                nppState = ETrue;
+                }
+
+            }
+        else 
+            {
+            psyModuleInfo.mState = StateDisable;
+            // capture the state of the agps psy module
+            if (moduleInfo.ModuleId() == KAGPSPsyModuleID)
+                {
+                agpsState = EFalse;
+                }
+            // capture the state of npp psy module
+            if (moduleInfo.ModuleId() == KNPPPsyModuleID)
+                {
+                nppState = EFalse;
+                }
+            }
+        
+        mPsyModuleInfoList.AppendL( psyModuleInfo );
+        }
+    // Check if the state of both agps & npp psy are disabled then turn off the supl trigger status
+    // else turn it back on again even if either is enabled
+    if (!agpsState && !nppState)
+        {
+        User::LeaveIfError(mSuplSettings->SetSuplTriggeredServiceStatus(
+                CSuplSettings::ESuplTriggerOff));
+        }
+    else
+        {
+        User::LeaveIfError(mSuplSettings->SetSuplTriggeredServiceStatus(
+                CSuplSettings::ESuplTriggerOn));
+        }
+
+    CleanupStack::PopAndDestroy(idList);
+    }
+
+
+//---------------------------------------------------------------------
+// PosSettingsEnginePrivate::GetBackGroundPositioingStateL()
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+void PosSettingsEnginePrivate::GetBackGroundPositioingStateL()
+    {
+    // Get the SUPL service status.
+    CSuplSettings::TSuplTriggerStatus suplTriggerStatus;
+    User::LeaveIfError( mSuplSettings->GetSuplTriggeredServiceStatus( 
+                        suplTriggerStatus ) );
+    
+    // Get LBT service status.
+    TLbtTriggeringSystemManagementSettings triggeringSystemSettings;
+    mLbtManager.GetTriggeringSystemSettingsL( triggeringSystemSettings );
+    
+    // Back ground positioning state is considered to be enabled only 
+    // if both LBT and SUPL services are enabled.
+    if( suplTriggerStatus == CSuplSettings::ESuplTriggerOn && 
+        triggeringSystemSettings.TriggeringMechanismState() ==
+        ETriggeringMechanismOn )
+        {
+        mBackGroundPositioningState = StateEnable;
+        }
+    else
+        {
+        mBackGroundPositioningState = StateDisable;
+        } 
+    }
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possettingsengine/src/possettingsform.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,464 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  This class is for first basic view for positioning settings
+*
+*/
+
+
+#include "possettingsform.h"
+#include "possettingspushbuttonitem.h"
+#include "possettingsgroupboxitem.h"
+#include "checkcustomviewitem.h"
+#include "possettingsengine.h"
+#include "possettingsadvview.h"
+#include <QDebug>
+#include <hbdataformmodelitem.h>
+#include <hbdataformmodel.h>
+#include <hbinstance.h>
+#include <hbaction.h>
+#include <hbstyleloader.h>
+
+static const QString FILE_PATH_CSS = ":/data";
+
+// ---------------------------------------------------------------------------
+// PosSettingsForm::PosSettingsForm
+// Constructor
+// ---------------------------------------------------------------------------
+PosSettingsForm::PosSettingsForm( 
+                                       PosSettingsEngine& settingsEngine,
+                                       QGraphicsItem *parent ):
+                                       HbDataForm( parent ),mSettingsEngine( settingsEngine )
+    {
+    qDebug() << "+ PosSettingsForm::PosSettingsForm()";
+    //initialize the form model
+    initSettingModel(); 
+    
+    // slots for required signals on required controls
+    addConnection( mGpsPosType, SIGNAL(released()),
+                    this, SLOT(onPressedGps()) );
+    addConnection( mWirelessPosType, SIGNAL(released()),
+                        this, SLOT(onPressedWireless()) );
+    addConnection( mBgPosType, SIGNAL(released()),
+                        this, SLOT(onPressedBackground()) );
+    addConnection( mAdvancedSettings, SIGNAL(clicked()),
+                        this, SLOT(onPressedAdvanced()) );   
+    
+    //to check runtime if any positioning technology installed/removed or if its visibility is changed.
+    connect(&mSettingsEngine, SIGNAL(positionTechnologyChange()),this, SLOT(validateVisibility()) );
+    
+    //validate visibility of controls based on visibility of positioning technology
+    validateVisibility();
+    qDebug() << "- PosSettingsForm::PosSettingsForm()";
+    }
+
+// ---------------------------------------------------------------------------
+// PosSettingsForm::~PosSettingsForm
+// Destructor
+// ---------------------------------------------------------------------------
+PosSettingsForm::~PosSettingsForm()
+    {
+    qDebug() << "+ PosSettingsForm::PosSettingsForm()";
+    // Remove custom layouts
+    HbStyleLoader::unregisterFilePath(FILE_PATH_CSS);
+    
+    //TODO Disconnect of mSettingsEngine positionTechnologyChange
+    
+    removeConnection( mAdvancedSettings, SIGNAL(clicked()),
+                            this, SLOT(onPressedAdvanced()) );
+    removeConnection( mGpsPosType, SIGNAL(released),
+                        this, SLOT(onPressedGps()) );
+    removeConnection( mWirelessPosType, SIGNAL(released),
+                        this, SLOT(onPressedWireless()) );
+    removeConnection( mBgPosType, SIGNAL(released),
+                        this, SLOT(onPressedBackground()) );
+    
+    //ToDo: removeAllConnection crashes with Kern-Exec3 error 
+    //removeAllConnection();
+    qDebug() << "- PosSettingsForm::PosSettingsForm()";     
+    }
+
+// ---------------------------------------------------------------------------
+// PosSettingsForm::initSettingModel
+// ---------------------------------------------------------------------------
+void PosSettingsForm::initSettingModel()
+    {
+    qDebug() << "+ PosSettingsForm::initSettingModel()";
+    HbDataFormModel *model = new HbDataFormModel(0);
+    this->setModel(model);
+    
+    //set prototype for custom controls
+    QList<HbAbstractViewItem *> protoTypeList = this->itemPrototypes();
+    protoTypeList.append(new PosSettingsPushButtonItem(this) );
+    protoTypeList.append(new CheckCustomViewItem());  
+    protoTypeList.append(new PosSettingsGroupboxItem(this));  
+    this->setItemPrototypes(protoTypeList);
+    
+    // Set custom layouts
+    HbStyleLoader::registerFilePath(FILE_PATH_CSS);    
+    
+    //Heading                   
+    mHeading = model->appendDataFormItem(static_cast<HbDataFormModelItem::DataItemType>(GroupboxItem),
+                                                  QString(),
+                                                  model->invisibleRootItem());
+    mHeading->setContentWidgetData("heading",
+                               hbTrId("txt_loe_subtitle_positioning_settings"));
+
+         
+         
+    //GPS
+    createPosTypeModelItem(PosTypeIndexGps);
+    model->appendDataFormItem(mGpsPosType, model->invisibleRootItem());    
+    //Wireless
+    createPosTypeModelItem(PosTypeIndexWireless);
+    model->appendDataFormItem(mWirelessPosType, model->invisibleRootItem());           
+    //Background
+    createPosTypeModelItem(PosTypeIndexBackground);
+    model->appendDataFormItem(mBgPosType, model->invisibleRootItem());       
+ 
+    //Advance                   
+    mAdvancedSettings = model->appendDataFormItem(static_cast<HbDataFormModelItem::DataItemType>(PushButtonItem),
+                                                  QString(),
+                                                  model->invisibleRootItem());
+    mAdvancedSettings->setContentWidgetData("text",
+                               hbTrId("txt_loe_button_advanced"));
+
+         
+    setPosTypeState(PosTypeIndexGps);
+    setPosTypeState(PosTypeIndexWireless);
+    setPosTypeState(PosTypeIndexBackground);
+    qDebug() << "- PosSettingsForm::initSettingModel()";  
+	}
+
+// ---------------------------------------------------------------------------
+// PosSettingsForm::onPressedAdvanced
+// ---------------------------------------------------------------------------
+void PosSettingsForm::onPressedAdvanced()
+{
+    qDebug() << "+ PosSettingsForm::onPressedAdvanced()";
+    mAdvancedView = new PosSettingsAdvView();
+    HbMainWindow* mainWindow = hbInstance->allMainWindows().at(0);
+
+    mainWindow->addView(mAdvancedView);
+    mainWindow->setCurrentView(mAdvancedView);
+     
+    //take back action from controlpanel main window.
+    mBackAction = new HbAction(Hb::BackNaviAction ,mAdvancedView);
+    mAdvancedView->setNavigationAction(mBackAction);
+
+    connect(mBackAction, SIGNAL(triggered()), this, SLOT(closeAdvancedView()));
+    mAdvancedView->show();
+    qDebug() << "- PosSettingsForm::onPressedAdvanced()"; 
+}
+// ---------------------------------------------------------------------------
+// PosSettingsForm::closeAdvancedView
+// ---------------------------------------------------------------------------
+//
+void PosSettingsForm::closeAdvancedView()
+    {
+    qDebug() << "+ PosSettingsForm::closeAdvancedView()";
+    disconnect(mBackAction, SIGNAL(triggered()), this, SLOT(closeAdvancedView()));
+
+    HbMainWindow* mainWindow = hbInstance->allMainWindows().at(0);
+    mainWindow->removeView(mAdvancedView);
+
+    mAdvancedView->setParent(NULL);
+    
+    delete mAdvancedView;
+    mAdvancedView = NULL;
+    
+    // refresh first view 
+    setPosTypeState( PosTypeIndexGps);
+    setPosTypeState( PosTypeIndexWireless);
+    setPosTypeState( PosTypeIndexBackground);
+    validatePosTypeVisibility(PosTypeIndexBackground);  
+    qDebug() << "- PosSettingsForm::closeAdvancedView()"; 
+    }
+
+// ---------------------------------------------------------------------------
+// PosSettingsForm::onPressedGps
+// ---------------------------------------------------------------------------
+void PosSettingsForm::onPressedGps()
+    { 
+    qDebug() << "+ PosSettingsForm::onPressedGps()";	
+    validatePosTypeVisibility(PosTypeIndexBackground);  	
+    
+     int state = mGpsPosType->contentWidgetData("checkState").toInt();
+     if(state == Qt::Checked)
+        {    //if Gps enable
+        mSettingsEngine.setPositionTechnologyState(StateEnable, PositionTechnologyGps);
+        }
+    else 
+        {    //if Gps disable
+        mSettingsEngine.setPositionTechnologyState(StateDisable, PositionTechnologyGps);
+        }
+    qDebug() << "- PosSettingsForm::onPressedGps()";    
+    }
+	
+// ---------------------------------------------------------------------------
+// PosSettingsForm::onPressedWireless
+// ---------------------------------------------------------------------------
+void PosSettingsForm::onPressedWireless()
+    {  
+    qDebug() << "+ PosSettingsForm::onPressedWireless()";
+    validatePosTypeVisibility(PosTypeIndexBackground); 
+    int state = mWirelessPosType->contentWidgetData("checkState").toInt();
+     if(state == Qt::Checked)
+        {
+        //if Wireless enable
+        mSettingsEngine.setPositionTechnologyState(StateEnable, PositionTechnologyNetwork);
+        }
+    else 
+        {    //if Wireless disable
+        mSettingsEngine.setPositionTechnologyState(StateDisable, PositionTechnologyNetwork);
+        }
+    qDebug() << "- PosSettingsForm::onPressedWireless()"; 
+    }
+	
+// ---------------------------------------------------------------------------
+// PosSettingsForm::onPressedBackground
+// ---------------------------------------------------------------------------
+void PosSettingsForm::onPressedBackground()
+    {
+    qDebug() << "+ PosSettingsForm::onPressedBackground()";
+    int state = mBgPosType->contentWidgetData("checkState").toInt();	
+    if(state == Qt::Checked)
+        {
+        //if Bg enable
+        mSettingsEngine.setBackGroundPositioningState(StateEnable);
+        mSettingsEngine.setCRBackgroundPositioningStatus(StateEnable);
+        }
+     else 
+        {    //if Bg disable;
+        mSettingsEngine.setBackGroundPositioningState(StateDisable);
+        mSettingsEngine.setCRBackgroundPositioningStatus(StateDisable);
+        }
+    qDebug() << "- PosSettingsForm::onPressedBackground()";
+    }
+
+// ---------------------------------------------------------------------------
+// PosSettingsForm::validatePosTypeVisibility
+// ---------------------------------------------------------------------------
+//
+void PosSettingsForm::validatePosTypeVisibility(PosTypeIndex posTypeModelItemIndex)
+    {   
+    qDebug() << "+ PosSettingsForm::validatePosTypeVisibility()";
+    bool valid = false;
+    HbDataFormModelItem* posTypeModelItem = NULL; //does not own
+    int posIndex = posTypeModelItemIndex;
+    switch(posTypeModelItemIndex) {
+        case PosTypeIndexGps: {
+            valid = mSettingsEngine.isPositionTechnologyAvailable(PositionTechnologyGps);
+            posTypeModelItem = mGpsPosType;
+            break;
+            }
+        case PosTypeIndexWireless: {
+            valid = mSettingsEngine.isPositionTechnologyAvailable(PositionTechnologyNetwork);
+            posTypeModelItem = mWirelessPosType;
+            HbDataFormModel* model =  static_cast<HbDataFormModel*>(this->model());
+            //if GPS is not there, it will be at position 1
+             if(!model->indexFromItem(mGpsPosType).isValid()) {
+             	 --posIndex ;
+            	}
+            break;
+            }
+        case  PosTypeIndexBackground: {
+            //if Gps and Wireless are not marked, then make Background invisible            
+            valid = (mGpsPosType->contentWidgetData("checkState").toInt() == Qt::Checked ||
+                        mWirelessPosType->contentWidgetData("checkState").toInt() == Qt::Checked);
+            posTypeModelItem = mBgPosType;
+            HbDataFormModel* model =  static_cast<HbDataFormModel*>(this->model());
+            
+             //if GPS is not there, decremenet position
+            if(!model->indexFromItem(mGpsPosType).isValid()) {
+             		--posIndex;
+            	}
+            //if Wireless is not there, decremenet position 	
+            if(!model->indexFromItem(mWirelessPosType).isValid()) {
+             		--posIndex;
+				}
+			 //if no gps no wireless, quit control-panel application	
+			if(posIndex == PosTypeIndexGps-1) { 
+             		qApp->quit();
+             		}
+            break;
+            }
+        default:{
+            break;
+            }
+        
+        }
+   qDebug() << "valid =" << valid;	    
+   insertOrRemovePosTypeModelItem(valid, posTypeModelItem, posTypeModelItemIndex, posIndex);
+   qDebug() << "- PosSettingsForm::validatePosTypeVisibility()";
+    }
+
+// ---------------------------------------------------------------------------
+// PosSettingsForm::InsertOrRemovePosTypeModelItem
+// ---------------------------------------------------------------------------
+//
+void PosSettingsForm::insertOrRemovePosTypeModelItem(bool insert, HbDataFormModelItem*  posTypeModelItem, 
+														PosTypeIndex posTypeModelItemIndex, int posIndex)
+    {
+    qDebug() << "+ PosSettingsForm::insertOrRemovePosTypeModelItem()";
+    HbDataFormModel* model =  static_cast<HbDataFormModel*>(this->model());
+    if(!insert) {
+        if(model->indexFromItem(posTypeModelItem).isValid()) {
+            if(model->removeItem(posTypeModelItem)) {
+                //Note: In removeItem, modelitem is removed and then deleted too.
+                // So next time when we want to check if it is present, we have to create dummy modelitem
+                // else with existing handle, we will get kern exec 3 error
+                createPosTypeModelItem(posTypeModelItemIndex);  
+                if(posTypeModelItemIndex == PosTypeIndexBackground) {
+                        mSettingsEngine.setBackGroundPositioningState(StateDisable);
+                    }
+                }
+            }
+        }
+    else {
+        if(!model->indexFromItem(posTypeModelItem).isValid()) { 
+                model->insertDataFormItem(posIndex,posTypeModelItem,model->invisibleRootItem());  
+                addPosTypeConnection(posTypeModelItem);
+                
+                if(posTypeModelItemIndex == PosTypeIndexBackground){
+                    //Restore to old state in case of background positioning.
+                    if(mSettingsEngine.cRBackgroundPositioningStatus()) {
+                        mSettingsEngine.setBackGroundPositioningState(StateEnable);
+                        }
+                    else {
+                        mSettingsEngine.setBackGroundPositioningState(StateDisable);                    
+                        }
+                    setPosTypeState(PosTypeIndexBackground);
+                    }
+                else //Restore old state of GPS/Wireless
+                    setPosTypeState(posTypeModelItemIndex); 
+           }
+        }
+    qDebug() << "- PosSettingsForm::insertOrRemovePosTypeModelItem()";
+    }
+
+// ---------------------------------------------------------------------------
+// PosSettingsForm::createPosTypeModelItem
+// ---------------------------------------------------------------------------
+//
+void PosSettingsForm::createPosTypeModelItem(PosTypeIndex posTypeModelItemIndex)
+    {
+    qDebug() << "+ PosSettingsForm::createPosTypeModelItem()";
+    HbDataFormModel* model =  static_cast<HbDataFormModel*>(this->model());
+    switch(posTypeModelItemIndex) {
+        case PosTypeIndexGps: {         
+           
+        mGpsPosType = new HbDataFormModelItem(HbDataFormModelItem::CheckBoxItem,
+                        QString());     
+           mGpsPosType->setData(HbDataFormModelItem::DescriptionRole, hbTrId("txt_loe_info_enable_for_most_accurate_positioning"));
+           mGpsPosType->setContentWidgetData("text", hbTrId("txt_loe_list_gps"));
+            break;
+            }
+        case PosTypeIndexWireless: {          
+           
+            mWirelessPosType = new HbDataFormModelItem(HbDataFormModelItem::CheckBoxItem,
+                                QString());    
+            mWirelessPosType->setData(HbDataFormModelItem::DescriptionRole, hbTrId("txt_loe_info_use_wifi_and_mobile_networks_to_get"));
+            mWirelessPosType->setContentWidgetData("text", hbTrId("txt_loe_list_wireless_networks"));   
+           break;
+           }
+        case PosTypeIndexBackground:{  
+            mBgPosType = new HbDataFormModelItem(HbDataFormModelItem::CheckBoxItem,
+                                QString());
+		    mBgPosType->setData(HbDataFormModelItem::DescriptionRole, hbTrId("txt_loe_info_enable_applications_and_services_upda"));
+		    mBgPosType->setContentWidgetData("text", hbTrId("txt_loe_list_background_positioning")); 		  	
+           break;
+           }
+        default: {
+            break;
+           }
+        }
+    qDebug() << "- PosSettingsForm::createPosTypeModelItem()";
+    }
+
+// ---------------------------------------------------------------------------
+// PosSettingsForm::validateVisibility
+// ---------------------------------------------------------------------------
+//
+void PosSettingsForm::validateVisibility()
+    {  
+    qDebug() << "+ PosSettingsForm::validateVisibility()";
+    validatePosTypeVisibility(PosTypeIndexGps);
+    validatePosTypeVisibility(PosTypeIndexWireless);
+    validatePosTypeVisibility(PosTypeIndexBackground);
+    qDebug() << "- PosSettingsForm::validateVisibility()";
+    }
+
+// ---------------------------------------------------------------------------
+// PosSettingsForm::setPosTypeState
+// ---------------------------------------------------------------------------
+void PosSettingsForm::setPosTypeState(PosTypeIndex posTypeModelItemIndex)
+    {
+    qDebug() << "+ PosSettingsForm::setPosTypeState()";
+    int state = Qt::Unchecked;
+    switch(posTypeModelItemIndex){
+        case PosTypeIndexGps: {        
+            if(mSettingsEngine.isPositionTechnologyEnabled(PositionTechnologyGps))
+                state = Qt::Checked;
+            mGpsPosType->setContentWidgetData("checkState", state);      
+            break;
+            }
+        case PosTypeIndexWireless: {
+            if(mSettingsEngine.isPositionTechnologyEnabled(PositionTechnologyNetwork))
+                   state = Qt::Checked;
+            mWirelessPosType->setContentWidgetData("checkState",state);                    
+            break;
+            }
+        case PosTypeIndexBackground: {
+            if(mSettingsEngine.isBackGroundPositioningEnabled())
+                  state = Qt::Checked;
+            mBgPosType->setContentWidgetData("checkState",state);      
+            break;
+            }
+        default : {
+            break;
+            }
+        }
+    qDebug() << "- PosSettingsForm::setPosTypeState()";
+    }
+
+// ---------------------------------------------------------------------------
+// PosSettingsForm::addPosTypeConnection
+// ---------------------------------------------------------------------------
+void PosSettingsForm::addPosTypeConnection(HbDataFormModelItem*  posTypeModelItem)
+    {
+    qDebug() << "+ PosSettingsForm::addPosTypeConnection()";
+    if(posTypeModelItem == mGpsPosType)
+        {       
+        addConnection( mGpsPosType, SIGNAL(released()),
+                                                  this, SLOT(onPressedGps()) );
+        qDebug() << "- PosSettingsForm::addPosTypeConnection()";
+        return;
+        }
+    
+    if(posTypeModelItem == mWirelessPosType)        
+       {
+       addConnection( mWirelessPosType, SIGNAL(released()),
+                                                 this, SLOT(onPressedWireless()) );
+       qDebug() << "- PosSettingsForm::addPosTypeConnection()";
+       return;
+       }
+    if(posTypeModelItem == mBgPosType) 
+       {
+       addConnection( mBgPosType, SIGNAL(released()),
+                                                 this, SLOT(onPressedBackground()) );
+       qDebug() << "- PosSettingsForm::addPosTypeConnection()";
+       return;
+       }        
+    }
+//EOF
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possettingsengine/src/possettingsgroupboxitem.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,124 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  This class provides custom list item for the
+* DataForm
+*
+*/
+
+#include <possettingsgroupboxitem.h>
+#include <hbdataformmodelitem.h>
+#include <hbgroupbox.h>
+#include <hbabstractitemview.h>
+#include <QMetaProperty>
+#include <hbdataformmodel.h>
+
+// ---------------------------------------------------------------------------
+// PosSettingsGroupboxItem:::PosSettingsGroupboxItem
+// ---------------------------------------------------------------------------
+//
+PosSettingsGroupboxItem::PosSettingsGroupboxItem(QGraphicsItem *parent) :
+HbDataFormViewItem(parent)
+{
+}
+
+// ---------------------------------------------------------------------------
+// PosSettingsGroupboxItem:::~PosSettingsGroupboxItem
+// ---------------------------------------------------------------------------
+//
+PosSettingsGroupboxItem::~PosSettingsGroupboxItem()
+{
+}
+
+// ---------------------------------------------------------------------------
+// PosSettingsGroupboxItem:::createItem
+// ---------------------------------------------------------------------------
+//
+HbAbstractViewItem* PosSettingsGroupboxItem::createItem()
+{
+    return new PosSettingsGroupboxItem(*this);
+}
+
+// ---------------------------------------------------------------------------
+// PosSettingsGroupboxItem:::canSetModelIndex
+// ---------------------------------------------------------------------------
+
+bool PosSettingsGroupboxItem::canSetModelIndex(const QModelIndex &index) const
+{
+        int type = index.data(HbDataFormModelItem::ItemTypeRole).toInt();
+        if (type == GroupboxItem ) {
+                return true;
+        }
+        else {
+                return false;
+        }
+}
+
+// ---------------------------------------------------------------------------
+// PosSettingsGroupboxItem:::createCustomWidget
+// ---------------------------------------------------------------------------
+//
+HbWidget* PosSettingsGroupboxItem::createCustomWidget()
+{
+    HbDataFormModelItem::DataItemType itemType =
+    static_cast<HbDataFormModelItem::DataItemType> 
+    ( modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt() );
+    
+    switch (itemType) {
+      case GroupboxItem:
+            { 
+            //custom button
+            QString str =
+                    modelIndex().data(HbDataFormModelItem::PropertyRole).toString();
+           HbGroupBox* groupbox = new HbGroupBox(this);
+					  // Use the Groupbox widget for heading
+					  groupbox->setHeading(str);
+            mWidget = groupbox;
+            return mWidget;
+            }
+        default:
+            return 0;
+    }
+}
+
+// ---------------------------------------------------------------------------
+// PosSettingsGroupboxItem:::restore
+// ---------------------------------------------------------------------------
+//
+void PosSettingsGroupboxItem::restore()
+{
+    HbDataFormViewItem::restore();
+    if (mWidget) {
+        HbDataFormModelItem::DataItemType itemType = static_cast<HbDataFormModelItem::DataItemType>(
+            modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt());
+
+        if(itemType == GroupboxItem) {
+
+            QModelIndex itemIndex = modelIndex();
+            HbDataFormModel *model = static_cast<HbDataFormModel*>(itemView()->model());;
+            HbDataFormModelItem *modelItem = static_cast<HbDataFormModelItem*>(
+                model->itemFromIndex(itemIndex));
+
+            const QMetaObject *metaObj = mWidget->metaObject();
+            int count = metaObj->propertyCount();
+            for (int i = 0; i < count; ++i) {
+                QMetaProperty metaProperty = metaObj->property(i);
+                if (metaProperty.isValid() && metaProperty.isWritable()) {
+                    metaProperty.write(mWidget,modelItem->contentWidgetData(metaProperty.name()));
+                }
+          }
+      }
+  }
+}
+   
+//EOF
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possettingsengine/src/possettingspluginsloader.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,161 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: Implementation of the Positioning Settings Plugins Loader class 
+ *
+ */
+
+
+#include "possettingspluginsloader.h"
+#include "possettingscrkey.h"
+#include <QDir>
+#include <QFileInfoList>
+#include <QFileInfo>
+#include <QPluginLoader>
+#include <QDebug>
+#include <xqsettingsmanager.h>
+#include <xqsettingskey.h>
+
+
+#ifdef Q_OS_SYMBIAN
+#define PLUGIN_PATH QString("\\resource\\qt\\plugins\\positioningsettings")
+
+#else
+#define PLUGIN_PATH QString("C:\\qt\\plugins\\positioningsettings")
+#endif 
+
+// constants
+const int KNoOfDigits = 4;
+
+//---------------------------------------------------------------------
+// PosSettingsPluginsLoader::PosSettingsPluginsLoader
+// 
+//---------------------------------------------------------------------
+PosSettingsPluginsLoader::PosSettingsPluginsLoader()
+    {
+    qDebug() << "+ PosSettingsPluginsLoader::PosSettingsPluginsLoader()";
+    qDebug() << "- PosSettingsPluginsLoader::PosSettingsPluginsLoader()";
+    }
+
+//---------------------------------------------------------------------
+// PosSettingsPluginsLoader::~PosSettingsPluginsLoader
+// 
+//---------------------------------------------------------------------
+PosSettingsPluginsLoader::~PosSettingsPluginsLoader()
+    {
+    qDebug() << "+ PosSettingsPluginsLoader::~PosSettingsPluginsLoader()";
+    mDllNameList.clear();
+    qDebug() << "- PosSettingsPluginsLoader::~PosSettingsPluginsLoader()";
+    }
+//---------------------------------------------------------------------
+// PosSettingsPluginsLoader::loadPlugins
+// 
+//---------------------------------------------------------------------
+QList<PosSettingsAdvInterface*> PosSettingsPluginsLoader::loadPlugins()
+    {
+    qDebug() << "+ PosSettingsPluginsLoader::loadPlugins()";
+    // parse the default cen rep key value which is used to determine
+    // the order of loading the default positioning settings plugins
+    ParseCenRepKey();
+    // List containing the plugins implementing the PositioningSettingsAdvancedInterface
+    QList<PosSettingsAdvInterface*> pluginsList;
+    // Check for the files under the positioningsettings directory
+    QDir pluginsDir(PLUGIN_PATH + QDir::separator());
+    QFileInfoList fileInfoList = pluginsDir.entryInfoList();
+    // check each file in this directory,only if its a dll give it to the
+    // plugin loader
+    foreach ( const QFileInfo &fileInfo, fileInfoList )
+            {
+            QString fileName = fileInfo.absoluteFilePath();
+						qDebug() << "Filename: " <<  fileName;
+						
+            if (!QLibrary::isLibrary(fileName))
+                {
+                continue;
+                }
+            // load the dlls using QPluginLoader
+            QPluginLoader pluginLoader(pluginsDir.absoluteFilePath(fileName));
+            qDebug() << "Plugin Filename: " <<  pluginsDir.absoluteFilePath(fileName);
+            QObject *plugin = pluginLoader.instance();
+            // Check if the plugin found is an implementation of the
+            // PosSettingsAdvInterface,if yes add it to the plugins list
+
+            if (plugin)
+                {
+                PosSettingsAdvInterface* advancedInterface = qobject_cast<
+                        PosSettingsAdvInterface *> (plugin);
+
+                if (advancedInterface)
+                    {
+                    
+                    QString dllName = fileInfo.baseName();
+                    // check the position into which the plugin needs to be
+                    // inserted if it is one of the default plugins
+                    for (int i = 0; i < mDllNameList.count(); i++)
+                        {
+                        if (dllName.compare(mDllNameList[i],Qt::CaseInsensitive) == KErrNone)
+                            {
+                            pluginsList.insert(i, advancedInterface);
+                            break;
+                            }
+                        }
+                    }
+                }
+            }
+    qDebug() << "- PosSettingsPluginsLoader::loadPlugins()";
+    return pluginsList;
+    }
+
+//---------------------------------------------------------------------
+// PosSettingsPluginsLoader::ParseCenRepKey
+// 
+//---------------------------------------------------------------------
+void PosSettingsPluginsLoader::ParseCenRepKey()
+    {
+    qDebug() << "+ PosSettingsPluginsLoader::ParseCenRepKey()";
+    // create a XQSettingsManager instance
+    XQSettingsManager* manager = new XQSettingsManager();
+    // create a XQSettingsKey object to read the cenrep key value
+    XQSettingsKey cenrepKey(XQSettingsKey::TargetCentralRepository,
+            KCRUidPositioningSettings.iUid, KPositioningSettingsPlugins);
+    // read the cenrep key value
+    QVariant key(manager->readItemValue(cenrepKey,XQSettingsManager::TypeString));
+    // convert the key value to string
+    QString keyStringValue = key.toString();
+    // if the length of default value is less than 4 digits then return
+    if (keyStringValue.size() < KNoOfDigits)
+        {
+        qDebug() << "- PosSettingsPluginsLoader::ParseCenRepKey()";
+        return;
+        }
+    // get the count of the number of plugin dlls
+    int dllCount = keyStringValue.left(KNoOfDigits).toInt();
+    // initialise current index to 4
+    int currentIndex = KNoOfDigits;
+    // extract the name of each of the dll from the cenrep key value
+    for (int i = 0; i < dllCount; i++)
+        {
+        // extract length of dll name
+        int length = keyStringValue.mid(currentIndex, KNoOfDigits).toInt();
+        // increment the current index value
+        currentIndex += KNoOfDigits;
+        // get the dll name
+        QString dllName = keyStringValue.mid(currentIndex, length);
+        // append to list of dll names
+        mDllNameList.append(dllName);
+        // increment the value of currentIndex by length of name
+        currentIndex += length;
+        }
+    qDebug() << "- PosSettingsPluginsLoader::ParseCenRepKey()";
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possettingsengine/src/possettingspushbuttonitem.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,122 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  This class provides custom list item for the
+* DataForm
+*
+*/
+
+#include <possettingspushbuttonitem.h>
+#include <hbdataformmodelitem.h>
+#include <hbpushbutton.h>
+#include <hbabstractitemview.h>
+#include <QMetaProperty>
+#include <hbdataformmodel.h>
+
+// ---------------------------------------------------------------------------
+// PosSettingsPushButtonItem:::PosSettingsPushButtonItem
+// ---------------------------------------------------------------------------
+//
+PosSettingsPushButtonItem::PosSettingsPushButtonItem(QGraphicsItem *parent) :
+HbDataFormViewItem(parent)
+{
+}
+
+// ---------------------------------------------------------------------------
+// PosSettingsPushButtonItem:::~PosSettingsPushButtonItem
+// ---------------------------------------------------------------------------
+//
+PosSettingsPushButtonItem::~PosSettingsPushButtonItem()
+{
+}
+
+// ---------------------------------------------------------------------------
+// PosSettingsPushButtonItem:::createItem
+// ---------------------------------------------------------------------------
+//
+HbAbstractViewItem* PosSettingsPushButtonItem::createItem()
+{
+    return new PosSettingsPushButtonItem(*this);
+}
+
+// ---------------------------------------------------------------------------
+// PosSettingsPushButtonItem:::canSetModelIndex
+// ---------------------------------------------------------------------------
+
+bool PosSettingsPushButtonItem::canSetModelIndex(const QModelIndex &index) const
+{
+        int type = index.data(HbDataFormModelItem::ItemTypeRole).toInt();
+        if (type == PushButtonItem ) {
+                return true;
+        }
+        else {
+                return false;
+        }
+}
+
+// ---------------------------------------------------------------------------
+// PosSettingsPushButtonItem:::createCustomWidget
+// ---------------------------------------------------------------------------
+//
+HbWidget* PosSettingsPushButtonItem::createCustomWidget()
+{
+    HbDataFormModelItem::DataItemType itemType =
+    static_cast<HbDataFormModelItem::DataItemType> 
+    ( modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt() );
+    
+    switch (itemType) {
+      case PushButtonItem:
+            { 
+            //custom button
+            QString str =
+                    modelIndex().data(HbDataFormModelItem::PropertyRole).toString();
+            HbPushButton *button = new HbPushButton(str);
+            mWidget = button;
+            return mWidget;
+            }
+        default:
+            return 0;
+    }
+}
+
+// ---------------------------------------------------------------------------
+// PosSettingsPushButtonItem:::restore
+// ---------------------------------------------------------------------------
+//
+void PosSettingsPushButtonItem::restore()
+{
+    HbDataFormViewItem::restore();
+    if (mWidget) {
+        HbDataFormModelItem::DataItemType itemType = static_cast<HbDataFormModelItem::DataItemType>(
+            modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt());
+
+        if(itemType == PushButtonItem) {
+
+            QModelIndex itemIndex = modelIndex();
+            HbDataFormModel *model = static_cast<HbDataFormModel*>(itemView()->model());;
+            HbDataFormModelItem *modelItem = static_cast<HbDataFormModelItem*>(
+                model->itemFromIndex(itemIndex));
+
+            const QMetaObject *metaObj = mWidget->metaObject();
+            int count = metaObj->propertyCount();
+            for (int i = 0; i < count; i++) {
+                QMetaProperty metaProperty = metaObj->property(i);
+                if (metaProperty.isValid() && metaProperty.isWritable()) {
+                    metaProperty.write(mWidget,modelItem->contentWidgetData(metaProperty.name()));
+                }
+          }
+      }
+  }
+}
+   
+//EOF
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possettingsengine/src/possettingsview.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,63 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: This is the first view for Positioning Settings plugin 
+*
+*/
+
+#include "possettingsview.h"
+#include "possettingsengine.h"
+#include "possettingsform.h"
+#include "possettingspushbuttonitem.h"
+#include <QDebug>
+
+// ---------------------------------------------------------------------------
+// PosSettingsView::PosSettingsView
+// ---------------------------------------------------------------------------
+//
+PosSettingsView::PosSettingsView(QGraphicsItem 
+                                       *parent):CpBaseSettingView(0,parent)
+    {   
+    qDebug() << "================ Positiong settings is launched ==============================";
+    qDebug() << "+ PosSettingsView::PosSettingsView()";
+    mSettingsEngine = new PosSettingsEngine;
+    if(!mSettingsEngine){
+        qDebug() << "- PosSettingsView::PosSettingsView()";
+        return;
+        }
+        
+    mSettingsForm = new PosSettingsForm( *mSettingsEngine, this );  
+    if(mSettingsForm)
+    		this->setWidget( mSettingsForm );   
+    qDebug() << "- PosSettingsView::PosSettingsView()";
+    }
+
+// ---------------------------------------------------------------------------
+// PosSettingsView::~PosSettingsViewl
+// ---------------------------------------------------------------------------
+//
+PosSettingsView::~PosSettingsView()
+    {
+    qDebug() << "+ PosSettingsView::~PosSettingsView()";
+    delete mSettingsEngine;
+    mSettingsEngine = NULL;
+    
+    delete mSettingsForm;
+    mSettingsForm = NULL;
+    
+    qDebug() << "- PosSettingsView::~PosSettingsView()";            
+    qDebug() << "================ Positiong settings is closed ==============================";	   
+    }
+
+//EOF
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possettingsplugin/inc/apilogger.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,38 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  This class provides function that help in logging entry and exit of APIs of classes
+*
+*/
+
+#ifndef APILOGGER_H
+#define APILOGGER_H
+
+#include <iostream>
+#include <fstream> 
+#include <QDebug>
+#include <qfile.h>
+#include <qtextstream.h>
+
+using namespace std;
+
+
+class ApiLogger
+    {
+    public:
+    static void OpenLogFile();
+    static void CloseLogFile();
+    static void MyOutputHandler(QtMsgType type, const char *msg);
+    };
+    
+#endif // APILOGGER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possettingsplugin/inc/possettingsplugin.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,42 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: This is for Positioning Settings plugin in ControlPanel
+*
+*/
+
+#ifndef POSSETTINGS_PLUGIN_H
+#define POSSETTINGS_PLUGIN_H
+
+class QTranslator;
+#include <cpplugininterface.h>
+
+class PosSettingsPlugin : public QObject, public CpPluginInterface
+{
+Q_OBJECT
+    Q_INTERFACES(CpPluginInterface)
+public: //constructor and destructor
+    PosSettingsPlugin();
+    virtual ~PosSettingsPlugin();
+public:
+    /*
+     * Derived from CpPluginPlatInterface
+     */
+    virtual QList<CpSettingFormItemData*> createSettingFormItemData(CpItemDataHelper &itemDataHelper) const;    
+private:
+	/**
+	* Holds localization translator handle
+	*/
+    QTranslator* mTranslator;
+};
+#endif // POSSETTINGS_PLUGIN_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possettingsplugin/inc/possettingspluginhelper.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,65 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Positioning settings plugin helper class. 
+*
+*/
+
+#ifndef POSITIONINGSETTINGSPLUGIN_HELPER_H
+#define POSITIONINGSETTINGSPLUGIN_HELPER_H
+
+#include <qglobal.h>
+
+class PosSettingsPluginHelperPrivate;
+/**
+ * PosSettingsPluginHelper is a class that provides helper functions:
+ * To check if feature flag is On/Of
+ * To check if any positioning PSY is visible
+ */
+class PosSettingsPluginHelper
+    {
+public:
+
+
+    /**
+     * Constructor 
+     */
+    PosSettingsPluginHelper();
+
+    /**
+     * Destructor
+     */
+    ~PosSettingsPluginHelper();
+        
+    /**
+     * Returns whether any position psy is available.
+     * @return true if any position psy is available,
+     *         false if it is not available.
+     */
+    bool isPositionPsyAvailable();
+    
+     /**
+     * Returns whether feature flag is enabled.
+     * @return true if feature flag is enabled,
+     *         false if it is not enabled.
+     */
+    bool isFeatureFlagEnabled();
+    
+private:      
+    Q_DECLARE_PRIVATE(PosSettingsPluginHelper)
+protected:
+		PosSettingsPluginHelperPrivate* const d_ptr;   
+    };
+
+
+#endif /* POSITIONINGSETTINGSPLUGIN_HELPER_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possettingsplugin/inc/possettingspluginhelper_p.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,49 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Positioning settings plugin helper private class. 
+*
+*/
+
+#ifndef POSITIONINGSETTINGSPLUGIN_HELPERPRIVATE_H
+#define POSITIONINGSETTINGSPLUGIN_HELPERPRIVATE_H
+
+class PosSettingsPluginHelper;
+/**
+ * PosSettingsPluginHelperPrivate is a class that provides helper functions:
+ * To check if feature flag is On/Of
+ * To check if any positioning PSY is visible
+ */
+class PosSettingsPluginHelperPrivate
+    {
+private:
+    
+    /**
+     * Returns whether any position psy is available.
+     * @return true if any position psy is available,
+     *         false if it is not available.
+     */
+    bool isPositionPsyAvailable();
+    
+     /**
+     * Returns whether feature flag is enabled.
+     * @return true if feature flag is enabled,
+     *         false if it is not enabled.
+     */
+    bool isFeatureFlagEnabled();
+    
+    friend class PosSettingsPluginHelper;
+    };
+
+
+#endif /* POSITIONINGSETTINGSPLUGIN_HELPERPRIVATE_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possettingsplugin/possettingsplugin.pro	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,73 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:                                                        
+# Description:  project file for positioing settings plugin                                                     
+#  
+
+TEMPLATE = lib
+TARGET = possettingsplugin
+DEPENDPATH += .
+INCLUDEPATH += ../inc
+INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+
+CONFIG += hb\
+           plugin
+  
+#Uncomment following line to disable logging
+#DEFINES += QT_NO_DEBUG_OUTPUT
+         
+MOC_DIR =     moc
+OBJECTS_DIR = obj
+RCC_DIR =     rcc
+
+# Platforms
+SYMBIAN_PLATFORMS = WINSCW \
+                    ARMV5
+    
+LIBS += -lcpframework \
+        -lpossettingsengine \
+        -leposmodset \
+        -lfeatmgr
+
+# Input
+SOURCES += 	src/possettingsplugin.cpp \
+						src/possettingspluginhelper.cpp	\
+						src/possettingspluginhelper_p.cpp	 \
+    				src/apilogger.cpp					
+			
+HEADERS += 	inc/possettingsplugin.h \
+						inc/possettingspluginhelper.h \
+						inc/possettingspluginhelper_p.h \
+    				inc/apilogger.h
+
+
+TRANSLATIONS=lilocationmw.ts
+
+symbian { 
+    TARGET.EPOCALLOWDLLDATA = 1
+    DEFINES += PLUGINUID3=0x2002C318
+    TARGET.UID3 = 0x2002C318 
+
+    deploy.path = C:
+    qtplugins.path = /resource/qt/plugins/controlpanel
+    qtplugins.sources += qmakepluginstubs/possettingsplugin.qtplugin    
+    # This is for new exporting system coming in garden
+    for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin $$deploy.path$$qtplugins.path/$$basename(qtplugin)"
+}
+     
+TARGET.CAPABILITY = All -TCB
+plugin.sources = possettingsplugin.dll
+plugin.path = \resource\qt\plugins\controlpanel
+DEPLOYMENT += plugin	
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possettingsplugin/src/apilogger.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  This class provides function that help in logging entry and exit of APIs of classes
+*
+*/
+
+
+#include "apilogger.h"
+#include <qdatetime.h>
+
+const char* debugFileName("c://logs//lbs//posSettingsEngineLog.txt");
+ofstream logfile;
+
+void ApiLogger::OpenLogFile() 
+{   
+    logfile.open(debugFileName, ios::app);   
+}
+
+void ApiLogger::CloseLogFile() 
+{
+    logfile.flush();
+    logfile.close();
+}
+
+void ApiLogger::MyOutputHandler(QtMsgType type, const char *msg) 
+{    
+    switch (type) {
+        case QtDebugMsg:
+            logfile << QTime::currentTime().toString().toAscii().data() << " Debug: " << msg << "\n";            
+            break;
+        case QtCriticalMsg:
+            logfile << QTime::currentTime().toString().toAscii().data() << " Critical: " << msg << "\n";
+            break;
+        case QtWarningMsg:
+           // logfile << QTime::currentTime().toString().toAscii().data() << " Warning: " << msg << "\n";
+            break;
+        case QtFatalMsg:
+            logfile << QTime::currentTime().toString().toAscii().data() << " Fatal: " << msg << "\n";
+        default:
+            break;
+    }
+    logfile.flush();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possettingsplugin/src/possettingsplugin.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,95 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: This is for Positioning Settings plugin in ControlPanel
+ *
+ */
+
+#include "possettingsplugin.h"
+#include "possettingsview.h"
+#include "possettingspluginhelper.h"
+#include "apilogger.h"
+
+#include <QtCore>
+#include <QDebug>
+#include <QTranslator>
+#include <cpsettingformentryitemdataimpl.h>
+
+
+
+// ---------------------------------------------------------------------------
+// PosSettingsPlugin::PosSettingsPlugin
+// ---------------------------------------------------------------------------
+//
+PosSettingsPlugin::PosSettingsPlugin():mTranslator(0)
+    {
+#ifndef QT_NO_DEBUG_OUTPUT
+    ApiLogger::OpenLogFile();
+    qInstallMsgHandler(ApiLogger::MyOutputHandler);
+#endif
+    
+    qDebug() << "+ PosSettingsPluginHelper::PosSettingsPlugin()";
+   mTranslator = new QTranslator();
+    
+    QString lang = QLocale::system().name();
+    QString path = "z:/resource/qt/translations/";
+    mTranslator->load(path + QString("lilocationmw_") + lang);
+    qApp->installTranslator(mTranslator);
+    
+    qDebug() << "- PosSettingsPluginHelper::PosSettingsPlugin()";
+    }
+
+// ---------------------------------------------------------------------------
+// PosSettingsPlugin::~PosSettingsPlugin
+// ---------------------------------------------------------------------------
+//
+PosSettingsPlugin::~PosSettingsPlugin()
+    {
+    qDebug() << "+ PosSettingsPluginHelper::~PosSettingsPlugin()";
+    if (mTranslator)
+        {
+        if (mTranslator->isEmpty() == false)
+            qApp->removeTranslator(mTranslator);
+        delete mTranslator;
+        }
+    qDebug() << "- PosSettingsPluginHelper::~PosSettingsPlugin()";
+    #ifndef QT_NO_DEBUG_OUTPUT
+    qInstallMsgHandler(0);
+    ApiLogger::CloseLogFile();
+    #endif
+    }
+
+// ---------------------------------------------------------------------------
+// PosSettingsPlugin::createSettingFormItemData
+// ---------------------------------------------------------------------------
+//
+QList<CpSettingFormItemData*> PosSettingsPlugin::createSettingFormItemData(
+        CpItemDataHelper &itemDataHelper) const
+    {    
+    qDebug() << "+ PosSettingsPluginHelper::createSettingFormItemData()";
+    PosSettingsPluginHelper helper;
+    QList<CpSettingFormItemData*> formItemDataList;
+    if (!helper.isFeatureFlagEnabled() && helper.isPositionPsyAvailable())
+        {
+        CpSettingFormItemData *itemData = new CpSettingFormEntryItemDataImpl<
+                PosSettingsView> (itemDataHelper, hbTrId(
+                "txt_cp_dblist_positioning"), hbTrId(
+                "txt_cp_dblist_positioning_val_change_positioning_s"));
+        formItemDataList.append(itemData);
+        }
+        qDebug() << "- PosSettingsPluginHelper::createSettingFormItemData()";
+        return formItemDataList;
+    }
+
+Q_EXPORT_PLUGIN2(possettingsplugin, PosSettingsPlugin)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possettingsplugin/src/possettingspluginhelper.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,69 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation of positioning settings plugin helper class. 
+*
+*/
+
+#include "possettingspluginhelper.h"
+#include "possettingspluginhelper_p.h"
+#include <QDebug>
+
+//-----------------------------------------------------------------
+//PosSettingsPluginHelper::PosSettingsPluginHelper()
+//-----------------------------------------------------------------
+PosSettingsPluginHelper::PosSettingsPluginHelper() :
+    d_ptr(new PosSettingsPluginHelperPrivate())
+    {
+    qDebug() << "+ PosSettingsPluginHelper::PosSettingsPluginHelper()";
+    qDebug() << "- PosSettingsPluginHelper::PosSettingsPluginHelper()";    
+    }
+
+//-----------------------------------------------------------------
+//PosSettingsPluginHelper::~PosSettingsPluginHelper()
+//-----------------------------------------------------------------
+PosSettingsPluginHelper::~PosSettingsPluginHelper()
+    {
+    qDebug() << "+ PosSettingsPluginHelper::~PosSettingsPluginHelper()";    	
+    if (d_ptr)
+        {
+        delete d_ptr;
+        }
+    qDebug() << "- PosSettingsPluginHelper::~PosSettingsPluginHelper()";            
+    }
+    
+//---------------------------------------------------------------------
+// PosSettingsPluginHelper::populatePsyModuleInfoListL()
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+bool PosSettingsPluginHelper::isPositionPsyAvailable()
+    {
+    qDebug() << "+ PosSettingsPluginHelper::isPositionPsyAvailable()";
+    bool ret = d_ptr->isPositionPsyAvailable();
+    qDebug() << "- PosSettingsPluginHelper::isPositionPsyAvailable() ret =" << ret;
+    return ret;
+    }
+
+//---------------------------------------------------------------------
+// PosSettingsPluginHelperPrivate::isFeatureFlagEnabledL()
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+bool PosSettingsPluginHelper::isFeatureFlagEnabled()    
+    {   
+    qDebug() << "+ PosSettingsPluginHelper::isFeatureFlagEnabled()";	
+    bool ret = d_ptr->isFeatureFlagEnabled();
+    qDebug() << "- PosSettingsPluginHelper::isFeatureFlagEnabled() ret =" << ret;
+    return ret;
+		}
+		
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possettingsplugin/src/possettingspluginhelper_p.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,73 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation of positioning settings plugin helper private class. 
+*
+*/
+
+
+#include "possettingspluginhelper_p.h"
+#include "possettingspluginhelper.h"
+#include <EPos_CPosModules.h>
+#include <lbs/epos_cposmoduleidlist.h>
+#include <featmgr.h> 
+
+//---------------------------------------------------------------------
+// PosSettingsPluginHelperPrivate::isPositionPsyAvailable()
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+bool PosSettingsPluginHelperPrivate::isPositionPsyAvailable()
+    {
+    TInt cnt = 0;	
+    TInt err2 = KErrGeneral;
+    CPosModules*  posModules;
+    TRAPD(err1, posModules = CPosModules::OpenL(););
+    if(!posModules)
+      {
+    	User::Leave( KErrGeneral );
+      }
+    else
+    	{
+    	TRAP(err2,
+      CPosModuleIdList* idList = posModules->ModuleIdListLC();    
+      cnt = idList->Count();
+      CleanupStack::PopAndDestroy( idList ););
+      }
+    if(err1==KErrNone && err2 ==KErrNone && cnt) //if no error and there 
+    	return true;
+    else
+    	return false;	
+    }
+
+//---------------------------------------------------------------------
+// PosSettingsPluginHelperPrivate::isFeatureFlagEnabled()
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+bool PosSettingsPluginHelperPrivate::isFeatureFlagEnabled()    
+    {   
+    TBool flag = EFalse;
+    TRAPD(err, 
+		FeatureManager::InitializeLibL();	    
+    if ( FeatureManager::FeatureSupported( KFeatureIdFfLocationsysuiHidePositioningMenu ) )
+        {
+        flag = ETrue;
+        }    
+		FeatureManager::UnInitializeLib();		
+		);
+		if(err==KErrNone && flag)
+			return true;
+		else
+			return false;
+		}
+		
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possuplsettingsplugin/inc/possettingssignalmapper.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: Declaration of the Positioning Settings signal mapper 
+ *              used to map the signals of each check box item to the index
+ *
+ */
+
+#ifndef POSSETTINGSSIGNALMAPPER_H
+#define POSSETTINGSSIGNALMAPPER_H
+
+#include <QObject>
+
+class PosSettingsSignalMapper : public QObject
+    {
+    Q_OBJECT
+public:
+    /*
+     * constructor
+     */
+    PosSettingsSignalMapper();
+    /**
+     * destructor
+     */
+    ~PosSettingsSignalMapper();
+public:
+signals:
+    /**
+     * signal emitted by the slot of this class
+     */
+    void signalmapped();
+public slots:
+    /**
+     * slot to be called on a change in state of checkbox.
+     * this in turn calls the signal signalmapped()
+     */
+    void signalmap();
+    };
+
+#endif //POSSETTINGSSIGNALMAPPER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possuplsettingsplugin/inc/possuplsettings.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,177 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: This is for SUPL Positioning Settings plugin 
+ *							for Advanced View
+ *
+ */
+
+#ifndef POSSUPLSETTINGS_PLUGIN_H
+#define POSSUPLSETTINGS_PLUGIN_H
+
+//User Includes
+#include "possuplsettingscommon.h"
+#include "possettingssignalmapper.h"
+
+#include <QObject>
+#include <hbdataformmodelitem.h>
+#include <possettingsadvinterface.h>
+#include <qsignalmapper.h>
+#include <hbdataformviewitem.h>
+
+//Forward Declaration
+class PosSettingsAdvOp;
+class PosSuplSettingsEngine;
+class QModelIndex;
+class HbRadioButtonList;
+class HbDialog;
+
+class PosSuplSettingsPlugin : public QObject, public PosSettingsAdvInterface
+
+    {
+Q_OBJECT
+    Q_INTERFACES( PosSettingsAdvInterface )
+public:
+    /**
+     * Constructor
+     */
+    PosSuplSettingsPlugin();
+
+    /**
+     * Destructor
+     */
+    ~PosSuplSettingsPlugin();
+public:
+    /*
+     * Derived from PosSettingsAdvInterface   
+     */
+    virtual int initialise(PosSettingsAdvOp* operation);
+
+private:
+    /**
+     * This method is used to list all the server that are present for 
+     * positioing. Depending on whether the server is enabled/disabled for positioning
+     * the corresponding checkboxes are marked.
+     */
+    void listServers();
+    
+    /**
+     * This method creates menu to delete the servers
+     */
+    void createMenu();
+
+private slots:
+    /**
+     * This is used as a slot whenever the checkbox is marked/unmarked.
+     * On changing the state of the checkbox the corresponding positioning
+     * server is enabled/disabled
+     * @param [in] - slpid for the server to be enababled/disabled
+     */
+    void changeServerUsage(int slpid);
+
+    /**
+     * This is slot, which is called whenever there is a new server added or 
+     * a server in the list is deleted. This refreshes the view.
+     */
+    void updateList();
+
+    /**
+     * This is slot, which is called when the user selects the   
+     * server to be deleted
+     */
+    void onDeleteServer();
+    
+    /**
+     * This slot is used to enable the primary Action wheneven 
+     * a server is selected from the list of servers to be deleted
+     * @param [in] - index of the server to be deleted
+     */
+    void setPrimaryAction(int itemSelected);
+
+    /**
+     * This slot is used to delete the server whenever
+     * a server is selected from the list of servers to be deleted
+     */
+    void deleteServer();
+    
+private:
+
+    /**
+     * an object if the supl setting engine class
+     * Owns
+     */
+    PosSuplSettingsEngine* mSuplSettingsEngine;
+
+    /**
+     * an object of data form model item class
+     * Owns
+     */
+    HbDataFormModelItem * mGroup;
+
+    /**
+     * Holds the params of the list of servers
+     * Owns
+     */
+    QList<PosServerParams> mServerList;
+
+    /**
+     * hold the signal mapper objects of PosPsySettingsSignalMapper
+     * Owns
+     */
+    QList<PosSettingsSignalMapper*> mSignalMapperList;
+
+    /**
+     * Handle to PosSettingsAdvOp object
+     * Does not own
+     */
+    PosSettingsAdvOp * mOperation;
+
+    /**
+     * an object of QSignalMapper
+     * Owns 
+     */
+    QSignalMapper * mSignalMapper;
+    
+    /**
+     * an object on HbMenu
+     * Owns
+     */
+    HbMenu* mMainMenu;
+    
+    /**
+     * list of servers that can be deleted
+     * Owns
+     */    
+    QList<PosServerParams> mDeleteableServerList;
+    
+    /**
+     * an instance of HBAction, used for SK1 in 
+     * the delete server Dialog box
+     * Owns
+     */
+    HbAction* mPrimaryAction;
+    
+    /**
+     * an instance of HbRadioButtonList, used to add server 
+     * in the delete server selection Dialog box
+     * Owns
+     */
+    HbRadioButtonList *mRadioButtonList;
+    
+    /**
+     * holds the server delete query dialog
+	 * Owns
+     */
+	HbDialog *mDeleteQuery;
+    };
+#endif // POSSUPLSETTINGS_PLUGIN_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possuplsettingsplugin/inc/possuplsettingscommon.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: This is a common header for SUPL Positioning Settings plugin 
+ *							for Advanced View
+ *
+ */
+
+#ifndef POSSUPLSETTINGS_COMMON_H
+#define POSSUPLSETTINGS_COMMON_H
+
+#include <qstring.h>
+
+/**
+ * Contains info related to each SUPL Servers
+ * - SLP id
+ * - Server Address
+ * - Access Point
+ * - Server Usage State(enabled/disabled)
+ * - Sim Change Remove (Yes/No)
+ * - Usage is Home Network(Yes/No)
+ * - editable (Yes/No)
+ */
+class PosServerParams
+    {
+public:
+    long slpId;
+    QString serverAdd;
+    QString iap;
+    bool serverEnabled;
+    };
+
+#endif //POSSUPLSETTINGS_COMMON_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possuplsettingsplugin/inc/possuplsettingsengine.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,111 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: This is the engine header for SUPL Positioning Settings plugin 
+ *
+ */
+
+#ifndef POSSUPLSETTINGS_ENGINE_H
+#define POSSUPLSETTINGS_ENGINE_H
+
+
+//User Includes
+#include "possuplsettingsengineprivate.h"
+#include "possuplsettingscommon.h"
+
+#include <e32base.h>
+#include <QObject>
+#include <qstringlist.h>
+#include <epos_csuplsettingparams.h>
+
+//Forward Declarations
+class PosSuplSettingsEnginePrivate;
+class MSuplSettingsObserver;
+
+class PosSuplSettingsEngine : public QObject, public PosSuplSettingsChangeObserver
+    {
+Q_OBJECT
+
+public:
+
+    /**
+     * Constructor 
+     */
+    PosSuplSettingsEngine();
+
+    /**
+     * Destructor
+     */
+    ~PosSuplSettingsEngine();
+
+    /**
+     * This method Lists all the Server that are present for Positioning.
+     * @param [out] - aServerList. Contains the servers that are present.
+     * @returns - KErrNone if successful
+     *          - KErrNotfound is no servers are present
+     */
+
+    int suplServerList(QList<PosServerParams>& serverList);
+    
+    /**
+     * This method Lists all the Server that are present for Positioning.
+     * @param [out] - aServerList. Contains the servers that are present.
+     * @returns - KErrNone if successful
+     *          - KErrNotfound is no servers are present
+     */
+
+    int deletableServerList(QList<PosServerParams>& serverList);
+    
+
+    /**
+     * This method enables/disables the server in use for postioning.
+     * If the server is disabled, it will not be used for positioning unless enabled.
+     * @param [in] - aServerIndex. The server index which has to be enabled/disabled.
+     * @param [in] - aValue. true/false.
+     * @returns - KErrNone if enabling/disabling is successful
+     *          - KErrArgument if the SLP ID passed is not valid/out of bounds
+     *          - KErrGeneral if changing SUPL settings has failed
+     */
+    int enableServer(int aServerIndex, bool aValue);
+
+    /**
+     * This method is used to delete the server.
+     * @param [in] - aServerIndex. The server index which has to be deleted.
+     * @returns - KErrNone if the deletion is successful
+     *          - KErrNotFound if the server at the index in missing/out of bounds.
+     *          - KErrPermissionDenied if the sever cannot be deleted
+     *          - KErrGeneral is other cases
+     */
+    int deleteServer(int aServerIndex);
+
+
+public:
+
+    /** 
+     * Inherited from PosSuplSettingsChangeObserver
+     */
+    void handleSuplSettingsChange( MSuplSettingsObserver::TSuplSettingsEventType event,int slpId);
+signals:
+    /**
+     * This signal is emitted when the server is deleted/added.
+     */
+    void serverListUpdated();
+
+private:
+    /**
+     * pointer to private implementation class
+     */
+     Q_DECLARE_PRIVATE_D(d_ptr, PosSuplSettingsEngine)
+    PosSuplSettingsEnginePrivate * d_ptr;
+    };
+#endif // POSSUPLSETTINGS_ENGINE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possuplsettingsplugin/inc/possuplsettingsengineprivate.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,142 @@
+/*
+* 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:  Positioning settings engine private class header.
+*
+*/
+
+#ifndef POSSUPLSETTINGSENGINEPRIVATE_H
+#define POSSUPLSETTINGSENGINEPRIVATE_H
+
+#include "possuplsettingscommon.h"
+#include <QList>
+#include <epos_msuplsettingsobserver.h>
+
+class CServerParams;
+class CSuplSettings;
+
+//Constants
+const int KMaxHSLPAddrLen = 256;
+const int KMaxIAPLen = 256;
+/**
+ * The class defines the interface for receiving SUPL settings
+ *  change event.
+ */
+class PosSuplSettingsChangeObserver
+    {
+public:
+     virtual void handleSuplSettingsChange( MSuplSettingsObserver::TSuplSettingsEventType aEvent,int aSlpId) = 0;
+    };
+
+
+/**
+ * The class defines the interface for listing,enabling\disabling and deleting
+ * SLP servers.
+ */
+class PosSuplSettingsEnginePrivate : public MSuplSettingsObserver
+    {
+public:
+    /**
+     * Default constructor
+     */
+	PosSuplSettingsEnginePrivate();
+
+    /**
+     * Destructor
+     */
+    ~PosSuplSettingsEnginePrivate();
+
+    /**
+     * Returns properties of all servers from SUPL settings storage..
+     * @[OUT] paramValues Array of retrieved server entries
+     *         - KErrNone if SUPL settings are retrieved successfully.
+     *         - KErrNotFound if the settings does not have any server entry
+     */
+    int GetServerList( QList<PosServerParams>& aParamValues );
+
+     /**
+     * This method is used to change parameter which indicates whether server
+     * can be used for SUPL session or not.
+     *
+     * @param [IN] slpId SLP ID for which the parameter needs to be changed
+     * @param [IN] enableFlag Flag to indicate whether server can be enabled or not
+     * @return one of the following error codes:
+     *         - KErrNone if SUPL settings are changed successfully.
+     *         - KErrArgument if the SLP ID passed is not valid
+     *         - KErrGeneral if changing SUPL settings has failed
+     */
+    int  SetServerStatus( int aSlpId,
+                          bool aEnableFlg
+    					);
+
+
+    /**
+     * This method is deletes server entry from SUPL settings storage.
+     *
+     * @param [IN] slpId Server identity for which the entery needs to be deleted from the SUPL settings storage
+     *
+     * @return one of the following error codes:
+     *         - KErrNone if entry is deleted successfully
+     *         - KErrNotFound if the specified server identity does not exists in settings storage
+     *         - KErrGeneral if changing SUPL settings has failed
+     *
+     */
+    int RemoveServer( int aSlpId);
+
+    /**
+     * Returns list all servers from SUPL settings storage that can be deleted.Operator configured servers will be omitted from
+     * this list.
+     * @[OUT] paramValues Array of retrieved server entries
+     *         - KErrNone if SUPL settings are retrieved successfully.
+     *         - KErrNotFound if the list does not have any server entry
+     */
+    int GetRemovableServerList( QList<PosServerParams>& aParamValues );
+
+       /* @param [IN] observer The observing object.
+	    * @return one of the following values
+	    * 	- KErrNone if setting observer is successful
+	    * 	- KErrAlreadyExists if observer is already set
+	    *
+        */
+    int SetObserver( PosSuplSettingsChangeObserver* aObserver );
+
+
+public:
+    void HandleSuplSettingsChangeL( TSuplSettingsEventType aEvent,TInt aSlpId );
+    void HandleSuplTriggerStatusChangeL( CSuplSettings::TSuplTriggerStatus aSuplTriggerStatus );
+
+
+private: //Data members
+
+    /**
+     * Reference to position technology change observer.
+     * Does not own
+     */
+    PosSuplSettingsChangeObserver* mPosSuplSettingsObserver;
+
+    /**
+     * Pointer to Supl settings object
+     * Owns
+     */
+    CSuplSettings* mSuplSettings;
+
+    /**
+     * Pointer to Supl Server List
+     * Owns
+     */
+    RPointerArray<CServerParams> mServerList;
+    };
+
+
+
+#endif /* POSSUPLSETTINGSENGINEPRIVATE_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possuplsettingsplugin/possuplsettings.pro	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,63 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description:  Positioning Servers Plugin pro file
+#
+TEMPLATE = lib
+TARGET = possuplsettings
+DEPENDPATH += .
+INCLUDEPATH += ../inc
+INCLUDEPATH += ../possettingsengine/inc
+INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+CONFIG += hb \
+    plugin
+MOC_DIR = moc
+OBJECTS_DIR = obj
+RCC_DIR = rcc
+
+# Platforms
+SYMBIAN_PLATFORMS = WINSCW \
+    ARMV5
+LIBS += -lcpframework \
+    -lpossettingsengine \
+    -lepos_suplsettings
+
+# Input
+SOURCES += src/possuplsettings.cpp
+SOURCES += src/possuplsettingsengine.cpp
+SOURCES += src/possuplsettingsengineprivate.cpp
+SOURCES += src/possettingssignalmapper.cpp
+
+HEADERS += inc/possuplsettingscommon.h \
+    inc/possuplsettings.h
+HEADERS += inc/possuplsettingsengine.h
+HEADERS += inc/possuplsettingsengineprivate.h
+HEADERS += inc/possettingssignalmapper.h
+symbian: { 
+    TARGET.EPOCALLOWDLLDATA = 1
+    DEFINES += PLUGINUID3=0x2002C31B
+    TARGET.UID3 = 0x2002C31B
+}
+symbian { 
+    deploy.path = C:
+    qtplugins.path = /resource/qt/plugins/positioningsettings
+    qtplugins.sources += qmakepluginstubs/possuplsettings.qtplugin
+    
+    # This is for new exporting system coming in garden
+    for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin $$deploy.path$$qtplugins.path/$$basename(qtplugin)"
+}
+TARGET.CAPABILITY = All \
+    -TCB
+plugin.sources = possuplsettings.dll
+plugin.path = \resource\qt\plugins\positioningsettings
+DEPLOYMENT += plugin
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possuplsettingsplugin/src/possettingssignalmapper.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  Implementation of positioning settings signal mapper class
+ *
+ */
+
+
+#include "possettingssignalmapper.h"
+
+
+//---------------------------------------------------------------------
+// PosSettingsSignalMapper::PosSettingsSignalMapper()
+// Constructor
+//---------------------------------------------------------------------
+PosSettingsSignalMapper::PosSettingsSignalMapper()
+    {
+    
+    }
+
+//---------------------------------------------------------------------
+// PosSettingsSignalMapper::PosSettingsSignalMapper()
+// destructor
+//---------------------------------------------------------------------
+PosSettingsSignalMapper::~PosSettingsSignalMapper()
+    {
+    
+    }
+
+//---------------------------------------------------------------------
+// PosSettingsSignalMapper::PosSettingsSignalMapper()
+// 
+//---------------------------------------------------------------------
+void PosSettingsSignalMapper::signalmap()
+    {
+    emit signalmapped();
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possuplsettingsplugin/src/possuplsettings.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,516 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: This is for Positioning Supl Settings plugin 
+ *							for Positioning Settings's Advanced view
+ *
+ */
+#include "possuplsettings.h"
+#include "possuplsettingsengine.h"
+#include "possettingsadvop.h"
+
+#include <QtCore>
+#include <QDebug>
+#include <hbcheckbox.h>
+#include <hbmenu.h>
+#include <hbaction.h>
+#include <hbradiobuttonlist.h>
+#include <hblabel.h>
+#include <hbdialog.h>
+
+
+// ---------------------------------------------------------------------------
+// PosSuplSettingsPlugin::PosSuplSettingsPlugin
+// ---------------------------------------------------------------------------
+//
+PosSuplSettingsPlugin::PosSuplSettingsPlugin() :
+    mSuplSettingsEngine(0), mGroup(0), mOperation(0), mSignalMapper(0),
+            mMainMenu(0), mPrimaryAction(0), mRadioButtonList(0),
+            mDeleteQuery(0)
+    {
+    qDebug() << "+ PosSuplSettingsPlugin::PosSuplSettingsPlugin()";
+    mSuplSettingsEngine = new PosSuplSettingsEngine();
+    qDebug() << "- PosSuplSettingsPlugin::PosSuplSettingsPlugin()";
+    }
+
+// ---------------------------------------------------------------------------
+// PosSuplSettingsPlugin::~PosSuplSettingsPlugin
+// ---------------------------------------------------------------------------
+//
+PosSuplSettingsPlugin::~PosSuplSettingsPlugin()
+    {
+    qDebug() << "+ PosSuplSettingsPlugin::~PosSuplSettingsPlugin()";
+
+    if (mSuplSettingsEngine)
+        {
+        delete mSuplSettingsEngine;
+        mSuplSettingsEngine = 0;
+        }
+
+    if (mGroup && mOperation)
+        {
+        mOperation->removeItem(mGroup);
+        mGroup = 0;
+        }
+
+    if (mMainMenu)
+        {
+        delete mMainMenu;
+        mMainMenu = 0;
+        }
+  ///// 
+        QObject::disconnect(mSignalMapper, SIGNAL(mapped(int)), this,
+                SLOT(changeServerUsage(int))); 
+
+    if (mSignalMapper)
+        {
+        delete mSignalMapper;
+        mSignalMapper = NULL;
+        }
+
+    if (mPrimaryAction)
+        {
+        delete mPrimaryAction;
+        mPrimaryAction = 0;
+        }
+
+    if (mRadioButtonList)
+        {
+        mRadioButtonList->reset();
+        delete mRadioButtonList;
+        }
+
+    if (mDeleteQuery)
+        {
+        delete mDeleteQuery;
+        }
+        ///
+
+    // delete the signal mapper instances 
+    int cnt = mSignalMapperList.count();
+    for (int i = 0; i < cnt ; ++i)
+        {
+        QObject::disconnect(mSignalMapperList[i], SIGNAL(signalmapped()),
+                mSignalMapper, SLOT(map()));
+        delete mSignalMapperList[i];
+        mSignalMapperList[i] = NULL;
+        }
+        
+        ///
+
+    mServerList.clear();
+    mSignalMapperList.clear();
+    mDeleteableServerList.clear();
+    qDebug() << "- PosSuplSettingsPlugin::~PosSuplSettingsPlugin()";
+    }
+
+// ---------------------------------------------------------------------------
+// PosSuplSettingsPlugin::initialise
+// ---------------------------------------------------------------------------
+//
+int PosSuplSettingsPlugin::initialise(PosSettingsAdvOp* operation)
+    {
+    qDebug() << "+ PosSuplSettingsPlugin::initialise()";
+
+    int result = 0;
+    // Assign to the member variable
+    mOperation = operation;
+
+    // create the signal mapper
+    mSignalMapper = new QSignalMapper();
+
+    //get the list of server present for positioning
+    if (mSuplSettingsEngine)
+        {
+        result = mSuplSettingsEngine->suplServerList(mServerList);
+        }
+
+    // if no error while getting the server list then add the group
+    // for Positioning servers
+    if (result == 0)
+        {
+        mGroup = new HbDataFormModelItem(HbDataFormModelItem::GroupItem,
+                hbTrId("txt_loe_subtitle_positioning_servers"), 0);
+        //Add the group to the data form
+        operation->appendDataFormItem(mGroup);
+        //list all the server inside the group
+        listServers();
+        }
+    QObject::connect(mSuplSettingsEngine, SIGNAL(serverListUpdated()), this,
+            SLOT(updateList()));
+
+    qDebug() << "- PosSuplSettingsPlugin::initialise()" << "result = "
+            << result;
+
+    return result;
+    }
+
+// ---------------------------------------------------------------------------
+// PosSuplSettingsPlugin::ChangeServerUsage
+// ---------------------------------------------------------------------------
+//
+void PosSuplSettingsPlugin::changeServerUsage(int value)
+    {
+    qDebug() << "+ PosSuplSettingsPlugin::changeServerUsage()";
+    //toggle the value based on the slpid
+    if (!mServerList[value].serverEnabled)
+        {
+        mSuplSettingsEngine->enableServer(mServerList[value].slpId, true);
+        }
+    else
+        {
+        mSuplSettingsEngine->enableServer(mServerList[value].slpId, false);
+        }
+    qDebug() << "- PosSuplSettingsPlugin::changeServerUsage()";
+    }
+
+// ---------------------------------------------------------------------------
+// PosSuplSettingsPlugin::listServers
+// ---------------------------------------------------------------------------
+//
+void PosSuplSettingsPlugin::listServers()
+    {
+    qDebug() << "+ PosSuplSettingsPlugin::listServers()";
+
+    qDebug() << "mServerList.count = " << mServerList.count();
+
+    //create a serverlist iterator
+    QList<PosServerParams>::const_iterator serveriterator;
+
+    // Get the server names and display
+    for (serveriterator = mServerList.begin(); serveriterator
+            != mServerList.end(); ++serveriterator)
+        {
+        qDebug() << "server name = " << serveriterator->serverAdd;
+        if (serveriterator->serverAdd.length() > 0)
+            {
+            //for each server create new checkbox item 
+            HbDataFormModelItem* checkBox = new HbDataFormModelItem(
+                    HbDataFormModelItem::CheckBoxItem, QString(), 0);
+
+            //set the widget data to the server name
+            checkBox->setContentWidgetData("text", QString(hbTrId(
+                    "txt_loe_list_use_1")).arg(serveriterator->serverAdd));
+
+            //if the server is enabled set the initial state of the checkbox
+            if (serveriterator->serverEnabled)
+                {
+                checkBox->setContentWidgetData("checkState", Qt::Checked);
+                }
+            else
+                {
+                checkBox->setContentWidgetData("checkState", Qt::Unchecked);
+                }
+
+            qDebug() << "Adding checkbox in the group";
+            
+            //this part of code is called when the servers are added and 
+            //Advanced view is in the background. Since there is no group
+            // a new group has to be created to add the servers
+            mOperation->appendDataFormItem(checkBox, mGroup);
+
+            //create an object of dummy signal mapper class
+            //this is done to send the index info to the slots
+            //since checkbox is not of QObject type and dummy class is 
+            // created.
+            PosSettingsSignalMapper* signalMapper =
+                    new PosSettingsSignalMapper();
+            mSignalMapperList.append(signalMapper);
+
+            //add connection for statechanged of the checkbox, depending on which the
+            // add connections on change of check box state
+            mOperation->addConnection(checkBox, SIGNAL(stateChanged(int)),
+                    mSignalMapperList[serveriterator - mServerList.begin()],
+                    SLOT(signalmap()));
+
+            QObject::connect(mSignalMapperList[serveriterator
+                    - mServerList.begin()], SIGNAL(signalmapped()),
+                    mSignalMapper, SLOT(map()));
+
+            // set mapping of each check box item to its index
+            if (mSignalMapper)
+                {
+                mSignalMapper->setMapping(mSignalMapperList[serveriterator
+                        - mServerList.begin()], (serveriterator
+                        - mServerList.begin()));
+                }
+            }
+        }
+
+    //use signal mapper to connect
+    QObject::connect(mSignalMapper, SIGNAL(mapped(int)), this,
+            SLOT(changeServerUsage(int)));
+
+    qDebug() << "mDeleteableServerList.count before reset = "
+            << mDeleteableServerList.count();
+
+    //refresh the list of deleteable servers in case any deleteable server is added
+    mDeleteableServerList.clear();
+
+    if (mSuplSettingsEngine)
+        {
+        mSuplSettingsEngine->deletableServerList(mDeleteableServerList);
+        }
+
+    qDebug() << "mDeleteableServerList.count after fetch = "
+            << mDeleteableServerList.count();
+
+    //if the server list is <=1 while updating the list the menu is destroyed
+    if (mDeleteableServerList.count() == 0)
+        {
+        if (mMainMenu)
+            {
+            delete mMainMenu;
+            mMainMenu = 0;
+            }
+        }
+    else 
+        {
+        delete mMainMenu;
+        mMainMenu = 0;
+        createMenu();
+        }
+    qDebug() << "-  PosSuplSettingsPlugin::listServers()";
+    }
+
+// ---------------------------------------------------------------------------
+// PosSuplSettingsPlugin::updateList
+// ---------------------------------------------------------------------------
+//
+void PosSuplSettingsPlugin::updateList()
+    {
+    qDebug() << "+ PosSuplSettingsPlugin::updateList()";
+    int result = 0;
+    int oldChildCount = 0;
+
+    if (mGroup)
+        {
+        qDebug() << "Store the group info";
+
+        oldChildCount = mGroup->childCount();
+
+        // remove all connections
+        int count = mSignalMapperList.count();
+        qDebug() << "mSignalMapperList.count() = " << count;
+
+        for (int i = 0; i < count; ++i)
+            {
+            QObject::disconnect(mSignalMapperList[i], SIGNAL(signalmapped()),
+                    mSignalMapper, SLOT(map()));
+            }
+        QObject::disconnect(mSignalMapper, SIGNAL(mapped(int)), this,
+                SLOT(changeServerUsage(int)));
+        
+        qDebug() << "oldChildCount = " << oldChildCount;
+
+        //remove the children in the group
+        if (oldChildCount > 0)
+            {
+            qDebug() << "removing the children";
+            //mGroup->removeChildren(0, oldChildCount);
+            //ToDo: Hack from HbDataForm team        
+            for (int i = 0; i < oldChildCount; ++i)
+                {
+                mGroup->removeChild(0);
+                }
+            }        
+        }
+    else
+        {
+        qDebug() << "Creating new group ";
+
+        mGroup = new HbDataFormModelItem(HbDataFormModelItem::GroupItem,
+                hbTrId("txt_loe_subtitle_positioning_servers"), 0);
+        mOperation->appendDataFormItem(mGroup);
+        }
+
+    qDebug() << "mServerList.count() before clean = " << mServerList.count();
+
+    //clear the list and get the list of server present for positioning
+    mServerList.clear();
+    if (mSuplSettingsEngine)
+        {
+        result = mSuplSettingsEngine->suplServerList(mServerList);
+        }
+    qDebug() << "result = " << result;
+
+    //update the new list to the group
+    if (result == 0)
+        {
+        listServers();
+        }
+    if (result == -1)
+        {
+        qDebug() << "Removing the group from form";
+        //remove the group
+        mOperation->removeItem(mGroup);
+        mGroup = 0;
+        // delete the menu
+        if (mMainMenu)
+            {
+            delete mMainMenu;
+            mMainMenu = 0;
+            }
+        }
+    qDebug() << "- PosSuplSettingsPlugin::updateList()";
+    }
+
+// ---------------------------------------------------------------------------
+// PosSuplSettingsPlugin::onDeleteServer
+// ---------------------------------------------------------------------------
+//
+void PosSuplSettingsPlugin::onDeleteServer()
+    {
+    qDebug() << "+ PosSuplSettingsPlugin::onDeleteServer()";
+    //list that will contain the deleteable servers names
+    QStringList contentList;
+
+    //get the deleteable server list from the engine
+    QList<PosServerParams>::const_iterator iterator;
+
+    qDebug() << "mDeleteableServerList.count = "
+            << mDeleteableServerList.count();
+
+    //add the server names to the string list
+    for (iterator = mDeleteableServerList.constBegin(); iterator
+            != mDeleteableServerList.constEnd(); ++iterator)
+        {
+        //Copy the address to Qstring object
+        qDebug() << "deletable server = " << iterator->serverAdd;
+        contentList << iterator->serverAdd;
+        }
+
+    // delete the mRadioButtonList before creating it,each time the delete
+    // query needs to be popped up
+    if (mRadioButtonList != 0)
+        {
+        delete mRadioButtonList;
+        mRadioButtonList = 0;
+        }
+    //create a radion button list of the deletable servers
+    mRadioButtonList = new HbRadioButtonList();
+    mRadioButtonList->setItems(contentList);
+    QObject::connect(mRadioButtonList, SIGNAL(itemSelected(int)), this,
+            SLOT(setPrimaryAction(int)));
+
+    // delete the mDeleteQuery before creating it,each time the delete
+    // query needs to be popped up
+    
+    if (mDeleteQuery != 0)
+        {
+        delete mDeleteQuery;
+        mDeleteQuery = 0;
+        }
+    //create the query dialog and attach the radio button to the dialog
+    mDeleteQuery = new HbDialog();
+
+    mDeleteQuery->setTimeout(HbDialog::NoTimeout);
+
+        //set the proper layout for the mDeleteQuery dialog
+        qreal lMargin = 0;
+        qreal rMargin = 0;
+        qreal tMargin = 0;
+        
+        if (mDeleteQuery->style()->parameter("hb-param-margin-gene-left",
+                lMargin) && mDeleteQuery->style()->parameter(
+                "hb-param-margin-gene-right", rMargin)
+                && mDeleteQuery->style()->parameter(
+                        "hb-param-margin-gene-top", tMargin))
+            {
+            HbLabel * heading = new HbLabel(QString(hbTrId(
+                    "txt_loe_info_select_server_to_delete")));
+            heading->setContentsMargins(lMargin, tMargin, rMargin, 0);
+            mDeleteQuery->setHeadingWidget(heading);
+            }
+
+    // delete the mPrimaryAction before creating it,each time the delete
+    // query needs to be popped up
+    if (mPrimaryAction != 0)
+        {
+        delete mPrimaryAction;
+        mPrimaryAction = 0;
+        }
+    //the primary action that will come in the SK1 of the Dialog box
+    mPrimaryAction
+            = new HbAction(QString(hbTrId("txt_common_button_delete")));
+
+    mDeleteQuery->addAction(mPrimaryAction);
+    mDeleteQuery->addAction(new HbAction(QString(hbTrId(
+            "txt_common_button_cancel"))));
+    QObject::connect(mPrimaryAction, SIGNAL(triggered()), this,
+            SLOT(deleteServer()));
+
+    //set the content Widget
+    mDeleteQuery->setContentWidget(mRadioButtonList);
+
+    //the Primary action is disabled since no server from the list is selected
+    mPrimaryAction->setDisabled(true);
+    
+    mDeleteQuery->show();
+
+    qDebug() << "- PosSuplSettingsPlugin::onDeleteServer()";
+    }
+
+// ---------------------------------------------------------------------------
+// PosSuplSettingsPlugin::createMenu
+// ---------------------------------------------------------------------------
+//
+void PosSuplSettingsPlugin::createMenu()
+    {
+    qDebug() << "+ PosSuplSettingsPlugin::createMenu()";
+    mMainMenu = new HbMenu();
+    HbAction* action = mMainMenu->addAction(hbTrId(
+            "txt_loe_opt_delete_server"));
+
+    QObject::connect(action, SIGNAL(triggered()), this,
+            SLOT(onDeleteServer()));
+
+    mOperation->addAction(action, HbView::OptionsMenu);
+    qDebug() << "- PosSuplSettingsPlugin::createMenu()";
+    }
+
+// ---------------------------------------------------------------------------
+// PosSuplSettingsPlugin::setPrimaryAction
+// ---------------------------------------------------------------------------
+//
+void PosSuplSettingsPlugin::setPrimaryAction(int /*itemSelected*/)
+    {
+    //enable the primary Action
+    if (mPrimaryAction)
+        {
+        mPrimaryAction->setEnabled(true);
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// PosSuplSettingsPlugin::deleteServer
+// ---------------------------------------------------------------------------
+//
+void PosSuplSettingsPlugin::deleteServer()
+    {
+    //get the index of the selected servers
+    int serverIndex = mRadioButtonList->selected();
+
+    if( serverIndex != -1 )
+    	{
+    		if (mSuplSettingsEngine)
+        {
+        //delete the server
+        mSuplSettingsEngine->deleteServer(
+                mDeleteableServerList[serverIndex].slpId);
+        }
+    	}
+    }
+Q_EXPORT_PLUGIN2(possuplsettings, PosSuplSettingsPlugin)
+;
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possuplsettingsplugin/src/possuplsettingsengine.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,125 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: This is the engine for Positioning Supl Settings plugin 
+ *							for Positioning Settings's Advanced view
+ *
+ */
+#include "possuplsettingsengine.h"
+#include "possuplsettingsengineprivate.h"
+
+#include <QDebug>
+
+//-----------------------------------------------------------------
+//PosSuplSettingsEngine::PosSuplSettingsEngine()
+//-----------------------------------------------------------------
+PosSuplSettingsEngine::PosSuplSettingsEngine() :
+    d_ptr(0)
+    {
+    qDebug() << "+ PosSuplSettingsEngine::PosSuplSettingsEngine()";
+    d_ptr = new PosSuplSettingsEnginePrivate();
+    //Set the PosSuplSettingsChangeObserver
+    if (d_ptr)
+        {
+        d_ptr->SetObserver(this);
+        }
+    qDebug() << "- PosSuplSettingsEngine::PosSuplSettingsEngine()";    
+    }
+
+//-----------------------------------------------------------------
+//PosSuplSettingsEngine::~PosSuplSettingsEngine()
+//-----------------------------------------------------------------
+PosSuplSettingsEngine::~PosSuplSettingsEngine()
+    {
+    qDebug() << "+ PosSuplSettingsEngine::~PosSuplSettingsEngine()";    	
+    if (d_ptr)
+        {
+        delete d_ptr;
+        d_ptr = 0;
+        }
+    qDebug() << "- PosSuplSettingsEngine::~PosSuplSettingsEngine()";            
+    }
+//-----------------------------------------------------------------
+//PosSuplSettingsEngine::suplServerList
+//-----------------------------------------------------------------
+int PosSuplSettingsEngine::suplServerList(QList<PosServerParams>& serverList)
+    {
+    qDebug() << "+ PosSuplSettingsEngine::suplServerList()";    	
+    int result = 0;
+    //Clear the server list to remove any junk
+    //serverList.clear();
+    if (d_ptr)
+        {
+        result = d_ptr->GetServerList(serverList);
+        }
+    qDebug() << "- PosSuplSettingsEngine::suplServerList() result = %d" << result;        
+    return result;
+    }
+
+//-----------------------------------------------------------------
+//PosSuplSettingsEngine::deletableServerList
+//-----------------------------------------------------------------
+int PosSuplSettingsEngine::deletableServerList(
+        QList<PosServerParams>& serverList)
+    {
+    qDebug() << "+ PosSuplSettingsEngine::deletableServerList()";    	
+    int result = 0;
+    //Clear the server list to remove any junk
+    serverList.clear();
+    if (d_ptr)
+        {
+        result = d_ptr->GetRemovableServerList(serverList);
+        }
+    qDebug() << "- PosSuplSettingsEngine::deletableServerList() result =%d" << result;        
+    return result;
+    }
+//-----------------------------------------------------------------
+//PosSuplSettingsEngine::enableServer
+//-----------------------------------------------------------------
+int PosSuplSettingsEngine::enableServer(int serverIndex, bool value)
+    {
+    qDebug() << "+ PosSuplSettingsEngine::enableServer()";    	
+    int result = 0;
+    if (d_ptr)
+        {
+        result = d_ptr->SetServerStatus(serverIndex, value);
+        }
+    qDebug() << "- PosSuplSettingsEngine::enableServer() result =%d" << result;      
+    return result;
+    }
+//-----------------------------------------------------------------
+//PosSuplSettingsEngine::deleteServer
+//-----------------------------------------------------------------
+int PosSuplSettingsEngine::deleteServer(int serverIndex)
+    {
+    qDebug() << "+ PosSuplSettingsEngine::deleteServer()"; 	
+    int result = 0;
+    if (d_ptr)
+        {
+        result = d_ptr->RemoveServer(serverIndex);
+        }
+    qDebug() << "- PosSuplSettingsEngine::deleteServer() result =%d" << result;           
+    //Check where to return KErrPermissionDenied
+    return result;
+    }
+//-----------------------------------------------------------------
+//PosSuplSettingsEngine::handleSuplSettingsChange
+//-----------------------------------------------------------------
+void PosSuplSettingsEngine::handleSuplSettingsChange(
+        MSuplSettingsObserver::TSuplSettingsEventType /*event*/, int /**slpId*/)
+    {
+    qDebug() << "+ PosSuplSettingsEngine::handleSuplSettingsChange()"; 		
+    emit serverListUpdated();
+    qDebug() << "- PosSuplSettingsEngine::handleSuplSettingsChange()"; 	
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possuplsettingsplugin/src/possuplsettingsengineprivate.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,259 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  Implementation of positioning settings engine private class.
+ *
+ */
+#include "possuplsettingsengineprivate.h"
+
+#include <epos_csuplsettings.h>
+#include <epos_csuplsettingparams.h>
+#include <QDebug>
+
+//---------------------------------------------------------------------
+// PosSuplSettingsEnginePrivate::PosSuplSettingsEnginePrivate()
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+PosSuplSettingsEnginePrivate::PosSuplSettingsEnginePrivate() :
+    mPosSuplSettingsObserver(NULL), mSuplSettings(NULL)
+    {
+    QT_TRAP_THROWING( mSuplSettings = CSuplSettings::NewL();
+            mSuplSettings->SetObserverL(*this);
+    );
+    }
+
+//---------------------------------------------------------------------
+// PosSuplSettingsEnginePrivate::~PosSuplSettingsEnginePrivate()
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+PosSuplSettingsEnginePrivate::~PosSuplSettingsEnginePrivate()
+    {
+    
+    
+    mServerList.ResetAndDestroy();    
+    
+    if (mSuplSettings)
+        {
+        mSuplSettings->RemoveObserver();
+        delete mSuplSettings;
+        mSuplSettings = NULL;
+        }
+    }
+
+//---------------------------------------------------------------------
+// PosSuplSettingsEnginePrivate::GetServerList()
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+int PosSuplSettingsEnginePrivate::GetServerList(
+        QList<PosServerParams> & aParamValues)
+    {
+    TInt64 slpId;
+    HBufC* serverAddress = HBufC::New(KMaxHSLPAddrLen);
+    HBufC* iapName = HBufC::New(KMaxIAPLen);
+    TBool serverEnabled;
+    TBool simChangeRemove;
+    TBool usageInHomeNw;
+    TBool editable;
+
+    if (!serverAddress || !iapName)
+        {
+        delete serverAddress;
+        delete iapName;
+        return KErrNoMemory;
+        }
+    
+    mServerList.ResetAndDestroy();
+
+    TInt error = mSuplSettings->GetAllSlp(mServerList); //handle return value...
+    if (error!=KErrNone)
+        {
+        delete serverAddress;
+        delete iapName;
+        mServerList.Close();
+        mServerList.ResetAndDestroy();
+        return error;
+        }
+    
+    TInt count = mServerList.Count();
+    for(TInt i = 0; i < count; ++i )
+        {        
+        PosServerParams params;
+        error = mServerList[i]->Get(
+                            slpId,
+                            serverAddress->Des(),
+                            iapName->Des(),
+                            serverEnabled,
+                            simChangeRemove,
+                            usageInHomeNw,
+                            editable);
+                            
+        if (error == 0)
+            {
+//            QString sName((QChar*) (serverAddress->Ptr()),
+//                    serverAddress->Length());            
+            
+            QString sName = QString::fromUtf16(serverAddress->Ptr(), serverAddress->Length()); 
+            
+            params.slpId = slpId;
+            params.serverAdd = sName;
+            params.serverEnabled =  serverEnabled;
+            
+            aParamValues.append(params);
+            }
+        }
+    
+    delete serverAddress;
+    delete iapName; 
+
+    return KErrNone;
+    }
+
+//---------------------------------------------------------------------
+// PosSuplSettingsEnginePrivate::SetServerStatus()
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+int PosSuplSettingsEnginePrivate::SetServerStatus(int aSlpId, bool aEnableFlg)
+    {
+    return (mSuplSettings->SetServerEnabledFlag(aSlpId, aEnableFlg));
+    }
+
+
+//---------------------------------------------------------------------
+// PosSuplSettingsEnginePrivate::RemoveServer()
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+int PosSuplSettingsEnginePrivate::RemoveServer(int aSlpId)
+    {
+    return (mSuplSettings->RemoveServer(aSlpId));
+    }
+
+//---------------------------------------------------------------------
+// PosSuplSettingsEnginePrivate::GetRemovableServerList()
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+int PosSuplSettingsEnginePrivate::GetRemovableServerList(QList<
+        PosServerParams>& aParamValues)
+    {
+    qDebug() << "+  PosSuplSettingsEnginePrivate::getRemovableServerList()";
+    TInt64 slpId;
+    HBufC* serverAddress = HBufC::New(KMaxHSLPAddrLen);
+    HBufC* iapName = HBufC::New(KMaxIAPLen);
+    TBool serverEnabled;
+    TBool simChangeRemove;
+    TBool usageInHomeNw;
+    TBool editable;
+    TBool productConfigured;
+
+    if (!serverAddress || !iapName)
+        {
+        delete serverAddress;
+        delete iapName;
+        return KErrNoMemory;
+        }
+    
+    mServerList.ResetAndDestroy();
+
+    TInt error = mSuplSettings->GetAllSlp(mServerList); //handle return value...
+    if (error!=KErrNone)
+        {
+        delete serverAddress;
+        delete iapName;
+        mServerList.Close();
+        mServerList.ResetAndDestroy();
+        return error;
+        }
+    
+    TInt count = mServerList.Count();
+    qDebug() << "Deleteable server list count = " << count;
+    for(TInt i = 0; i < count; ++i )
+        {        
+
+        PosServerParams params;
+        error = mServerList[i]->Get(slpId,
+                                    serverAddress->Des(),
+                                    iapName->Des(),
+                                    serverEnabled,
+                                    simChangeRemove,
+                                    usageInHomeNw,
+                                    editable);
+         TInt err = mServerList[i]->GetServerConfigurationType(productConfigured);
+         qDebug()<< "GetServerConfigurationType returns error = "<< err;                   
+        if (error == 0)
+            {
+           QString sName = QString::fromUtf16(serverAddress->Ptr(), serverAddress->Length()); 
+            
+            params.slpId = slpId;
+            params.serverAdd = sName;
+            params.serverEnabled =  serverEnabled;
+            
+            if (!productConfigured)
+                {
+                aParamValues.append(params);
+                }            
+            }
+        }
+    
+    delete serverAddress;
+    delete iapName; 
+    qDebug() << "-  PosSuplSettingsEnginePrivate::getRemovableServerList()";
+    return KErrNone;
+
+    }
+
+//---------------------------------------------------------------------
+// PosSuplSettingsEnginePrivate::SetObserver()
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+int PosSuplSettingsEnginePrivate::SetObserver(
+        PosSuplSettingsChangeObserver* aObserver)
+    {
+    TInt ret;
+    if (!mPosSuplSettingsObserver)
+        {
+        mPosSuplSettingsObserver = aObserver;
+        ret = KErrNone;
+        }
+    else
+        {
+        ret = KErrAlreadyExists;
+        }
+    return ret;
+    }
+
+//---------------------------------------------------------------------
+// PosSuplSettingsEnginePrivate::HandleSuplSettingsChangeL()
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+void PosSuplSettingsEnginePrivate::HandleSuplSettingsChangeL(
+        MSuplSettingsObserver::TSuplSettingsEventType aEvent, TInt aSlpId)
+    {
+    if (aEvent == MSuplSettingsObserver::ESuplSettingsDBAddEvent || aEvent
+            == MSuplSettingsObserver::ESuplSettingsDBDeleteEvent)
+        {
+        if (mPosSuplSettingsObserver)
+            {
+            mPosSuplSettingsObserver->handleSuplSettingsChange(aEvent, aSlpId);
+            }
+        }
+    }
+
+//---------------------------------------------------------------------
+// PosSuplSettingsEnginePrivate::HandleSuplTriggerStatusChangeL()
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+void PosSuplSettingsEnginePrivate::HandleSuplTriggerStatusChangeL(
+        CSuplSettings::TSuplTriggerStatus /*aSuplTriggerStatus*/)
+    {
+    }
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/rom/possettings.iby	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,38 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#ifndef __POSSETTINGS_IBY__
+#define __POSSETTINGS_IBY__
+
+#ifdef __LOCATIONSYSUI
+
+#include <bldvariant.hrh>
+#include <data_caging_paths_for_iby.hrh>
+file=ABI_DIR\BUILD_DIR\possettingsengine.dll                   SHARED_LIB_DIR\possettingsengine.dll
+file=ABI_DIR\BUILD_DIR\possettingsplugin.dll                   SHARED_LIB_DIR\possettingsplugin.dll
+file=ABI_DIR\BUILD_DIR\pospsysettings.dll											SHARED_LIB_DIR\pospsysettings.dll	
+file=ABI_DIR\BUILD_DIR\possuplsettings.dll											SHARED_LIB_DIR\possuplsettings.dll
+file=ABI_DIR\BUILD_DIR\poslocationservices.dll											SHARED_LIB_DIR\poslocationservices.dll
+data=DATAZ_\system\install\possettings_stub.sis					       system\install\possettings_stub.sis
+data=\epoc32\data\c\resource\qt\plugins\controlpanel\possettingsplugin.qtplugin                  resource\qt\plugins\controlpanel\possettingsplugin.qtplugin
+data=\epoc32\data\c\resource\qt\plugins\positioningsettings\pospsysettings.qtplugin              resource\qt\plugins\positioningsettings\pospsysettings.qtplugin
+data=\epoc32\data\c\resource\qt\plugins\positioningsettings\possuplsettings.qtplugin              resource\qt\plugins\positioningsettings\possuplsettings.qtplugin
+data=\epoc32\data\c\resource\qt\plugins\positioningsettings\poslocationservices.qtplugin              resource\qt\plugins\positioningsettings\poslocationservices.qtplugin
+
+#endif // (__LOCATIONSYSUI)
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/rom/possettings_resources.iby	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Positioning Settings Resources iby file
+*
+*/
+
+
+#ifndef __POSSETTINGSPLUGIN_RESOURCES_IBY__
+#define __POSSETTINGSPLUGIN_RESOURCES_IBY__
+
+#ifdef __LOCATIONSYSUI
+
+#include <data_caging_paths_for_iby.hrh>
+
+// <-- QT POSSETTINGS START -->
+data=DATAZ_\QT_TRANSLATIONS_DIR\lilocationmw.qm QT_TRANSLATIONS_DIR\lilocationmw.qm
+// <-- QT POSSETTINGS END -->
+
+#endif // (__LOCATIONSYSUI)
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/bwins/locnotificationengineu.def	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,4 @@
+EXPORTS
+	?ResolveRequestorsL@CLocRequestorUtilsResolver@@QAEXAAV?$RPointerArray@VCPosRequestor@@@@@Z @ 1 NONAME ; void CLocRequestorUtilsResolver::ResolveRequestorsL(class RPointerArray<class CPosRequestor> &)
+	?NewL@CLocRequestorUtilsResolver@@SAPAV1@XZ @ 2 NONAME ; class CLocRequestorUtilsResolver * CLocRequestorUtilsResolver::NewL(void)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/contactresolversession/bwins/locnotificationclientu.def	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,6 @@
+EXPORTS
+	?Close@RContactResolverSession@@QAEXXZ @ 1 NONAME ; void RContactResolverSession::Close(void)
+	?Connect@RContactResolverSession@@QAEHXZ @ 2 NONAME ; int RContactResolverSession::Connect(void)
+	??0RContactResolverSession@@QAE@XZ @ 3 NONAME ; RContactResolverSession::RContactResolverSession(void)
+	?ResolveRequestorsL@RContactResolverSession@@QAEXAAV?$RPointerArray@VCPosRequestor@@@@@Z @ 4 NONAME ; void RContactResolverSession::ResolveRequestorsL(class RPointerArray<class CPosRequestor> &)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/contactresolversession/eabi/locnotificationclientu.def	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,7 @@
+EXPORTS
+	_ZN23RContactResolverSession18ResolveRequestorsLER13RPointerArrayI13CPosRequestorE @ 1 NONAME
+	_ZN23RContactResolverSession5CloseEv @ 2 NONAME
+	_ZN23RContactResolverSession7ConnectEv @ 3 NONAME
+	_ZN23RContactResolverSessionC1Ev @ 4 NONAME
+	_ZN23RContactResolverSessionC2Ev @ 5 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/contactresolversession/group/contactresolversession.mmp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,50 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Project definition file for Contact Resolver clientlib
+*
+*/
+
+
+// INCLUDES
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh> // For the MW_LAYER_SYSTEMINCLUDE
+
+TARGET          locnotificationclient.dll
+TARGETTYPE      DLL
+UID             0x1000008d 0xEF2227BD
+
+CAPABILITY 		All -Tcb
+
+VENDORID		VID_DEFAULT
+
+SOURCEPATH      ../src
+SOURCE			contactresolversession.cpp
+
+
+
+// System Include
+MW_LAYER_SYSTEMINCLUDE
+
+USERINCLUDE     	.
+USERINCLUDE		../inc
+USERINCLUDE		../../inc
+
+LIBRARY         euser.lib
+LIBRARY		eiksrv.lib 
+LIBRARY         eposprvtyp.lib
+LIBRARY         estor.lib bafl.lib
+LIBRARY			locutils.lib
+
+EPOCALLOWDLLDATA
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/contactresolversession/inc/contactresolversession.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,77 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  RContactResolverSession
+ *  This class provides the client-side interface to the server session
+ */
+#ifndef CONTACTRESOLVERSESSION_H
+#define CONTACTRESOLVERSESSION_H
+
+#include <e32std.h>
+
+class CPosRequestor;
+
+class RContactResolverSession : public RSessionBase
+    {
+public:
+    // Constructors and destructors
+
+    /**
+     * Default constructor.
+     * Constructs the object.
+     */
+    IMPORT_C RContactResolverSession();
+
+public:
+    // New functions
+
+    /**
+     * Connect.
+     * Connects to the server and create a session.
+     * @return Error code.
+     */
+    IMPORT_C TInt Connect();
+
+    /**
+     * Resolve the requestors. 
+     * @param[IN,OUT] aRequestors Array of Requestors
+     */
+    IMPORT_C void ResolveRequestorsL(
+            RPointerArray<CPosRequestor>& aRequestors);
+
+    /**
+     * closes the session.
+     */
+    IMPORT_C void Close();
+
+    /**
+     * Starts the server process if not already started.
+     */
+    static TInt StartServer();
+    
+    /**
+     * creates the server process.
+     */
+    static TInt CreateServerProcess();
+
+private:
+    /**
+     * Version.
+     * Gets the version number.
+     * @return The version.
+     */
+    TVersion Version() const;
+
+    };
+
+#endif //CONTACTRESOLVERSESSION_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/contactresolversession/src/contactresolversession.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,249 @@
+/*
+ * 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: client-side interface implementation for server session.
+ *  
+ */
+
+#include "contactresolversession.h"
+#include "locprivacyinternal.h"
+#include "locprivacycommon.h"
+#include "locutilsdebug.h"
+
+#include <lbs/epos_cposrequestor.h>
+#include <lbs/EPos_RPosRequestorStack.h>
+#include <e32cmn.h>
+#include <s32strm.h>
+#include <s32mem.h>
+
+//This determines the number of outstanding requests the client may have with the server at any one time. 
+//The maximum number of slots is 255.
+TInt KDefaultMessageSlots = 255;
+const TUid KServerUid3 =
+    {
+    0x101f7a86
+    };
+_LIT(KServerFilename, "locnotificationserver.exe");
+
+// -----------------------------------------------------------------------------
+// RContactResolverSession::RContactResolverSession()
+// C++ default constructor can NOT contain any code, that might leave.
+// -----------------------------------------------------------------------------
+//
+EXPORT_C RContactResolverSession::RContactResolverSession() :
+    RSessionBase()
+    {
+    // No implementation required
+    }
+
+// -----------------------------------------------------------------------------
+// RContactResolverSession::ResolveRequestorsL()
+// Issues a request for the time to the server.
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void RContactResolverSession::ResolveRequestorsL(RPointerArray<
+        CPosRequestor>& aRequestors)
+    {
+
+     LOCUTILSDEBUG( "+RContactResolverSession::ResolveRequestorsL" )
+     
+    RPosRequestorStack* requestors = new (ELeave) RPosRequestorStack;
+    CleanupStack::PushL(requestors);
+
+    //-------------------------------------------------------------
+    // getting size from the server in first IPC
+    CBufFlat* buffer = CBufFlat::NewL(512);
+    CleanupStack::PushL(buffer);
+    RBufWriteStream writeStream;
+    writeStream.Open(*buffer);
+    CleanupClosePushL(writeStream);
+
+    TInt count = aRequestors.Count();
+    for (TInt i = 0; i < count; ++i)
+        {
+        requestors->Append(aRequestors[i]);
+        }
+    requestors->ExternalizeL(writeStream);
+    writeStream.CommitL();
+
+    TPtr8 ptr = buffer->Ptr(0);
+
+    TIpcArgs args;
+    TInt size = 0;
+    TPckg<TInt> sizePkg(size);
+    args.Set(0, &sizePkg);
+    args.Set(1, &ptr);
+
+    TInt in = SendReceive(ELocPrivacyGetSize, args);
+
+    CleanupStack::PopAndDestroy(&writeStream);
+    CleanupStack::PopAndDestroy(buffer);
+    CleanupStack::PopAndDestroy(requestors);
+    //-------------------------------------------------------------
+    //-------------------------------------------------------------
+    // allocating the buffer of the size obtained in the first IPC
+    // and getting the data from the server in the 2nd IPC
+
+    // This call waits for the server to complete the request before
+    // proceeding. When it returns, the new time will be in aTime.
+
+
+    CBufFlat* buffer1 = CBufFlat::NewL(512);
+    CleanupStack::PushL(buffer1);
+    buffer1->ResizeL(size);
+    
+    TPtr8 bufPtr = buffer1->Ptr(0);
+    TIpcArgs ipcArgs;
+    ipcArgs.Set(0, &bufPtr);
+    in = SendReceive(ELocPrivacyResolve, ipcArgs);
+    
+    //-------------------------------------------------------------
+
+    RBufReadStream readStream;
+    readStream.Open(*buffer1);
+    CleanupClosePushL(readStream);
+    RPosRequestorStack* requestors2 = new (ELeave) RPosRequestorStack;
+    CleanupStack::PushL(requestors2);
+    requestors2->InternalizeL(readStream);
+    TInt cnt = requestors2->Count();
+    aRequestors.Reset();
+    for (TInt i = 0; i < cnt; ++i)
+        {
+        CPosRequestor * entry = requestors2->operator [](i);
+        aRequestors.Append(entry);
+        }
+    CleanupStack::PopAndDestroy(requestors2);
+    CleanupStack::PopAndDestroy(&readStream);
+    CleanupStack::PopAndDestroy(buffer1);
+ 
+    LOCUTILSDEBUG( "-RContactResolverSession::ResolveRequestorsL" )
+    }
+
+// -----------------------------------------------------------------------------
+// RContactResolverSession::Connect()
+// Connects to the server and create a session.
+// -----------------------------------------------------------------------------
+
+EXPORT_C TInt RContactResolverSession::Connect()
+    {
+    LOCUTILSDEBUG( "+RContactResolverSession::Connect" )
+    
+    TInt error = StartServer();
+
+    if (KErrNone == error)
+        {
+        error = CreateSession(KLocPrivacyServerName, Version(),
+                KDefaultMessageSlots);
+        }
+    LOCUTILSDEBUG( "-RContactResolverSession::Connect" )
+    return error;
+    }
+
+// -----------------------------------------------------------------------------
+// StartServer()
+// Starts the server if it is not already running
+// -----------------------------------------------------------------------------
+//
+TInt RContactResolverSession::StartServer()
+    {
+    LOCUTILSDEBUG( "+RContactResolverSession::StartServer" )
+    
+    TInt result;
+
+    TFindServer findServer(KLocPrivacyServerName);
+    TFullName name;
+
+    result = findServer.Next(name);
+    if (result == KErrNone)
+        {
+        // Server already running
+        return KErrNone;
+        }
+
+    result = CreateServerProcess();
+    if (result != KErrNone)
+        {
+        return result;
+        }
+    LOCUTILSDEBUG( "-RContactResolverSession::StartServer" )
+    
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CreateServerProcess()
+// Creates a server process
+// -----------------------------------------------------------------------------
+//
+TInt RContactResolverSession::CreateServerProcess()
+    {
+    LOCUTILSDEBUG( "+RContactResolverSession::CreateServerProcess" )
+    
+    TInt result;
+
+    const TUidType serverUid(KNullUid, KNullUid, KServerUid3);
+
+    RProcess server;
+    TRequestStatus status;
+    result = server.Create(KServerFilename, KNullDesC, serverUid);
+
+    if (result != KErrNone)
+        {
+        server.Close();
+        return KErrNotFound;
+        }
+
+    server.Rendezvous(status);
+
+    if (status != KRequestPending)
+        {
+        User::WaitForRequest(status);
+        server.Kill(KErrNone);
+        server.Close();
+        return (status.Int());
+        }
+    else
+        {
+        server.Resume();
+        }
+
+    User::WaitForRequest(status);
+    server.Close();
+
+    if (status != KErrNone)
+        {
+        return (status.Int());
+        }
+
+    LOCUTILSDEBUG( "-RContactResolverSession::CreateServerProcess" )
+    
+    return KErrNone;
+    }
+
+TVersion RContactResolverSession::Version() const
+    {
+    LOCUTILSDEBUG( "RContactResolverSession::Version" )
+    
+    return TVersion(KLocPrivacyServerMajorVersionNumber,
+            KLocPrivacyServerMinorVersionNumber,
+            KLocPrivacyServerBuildVersionNumber);
+    }
+
+EXPORT_C void RContactResolverSession::Close()
+    {
+    LOCUTILSDEBUG( "+RContactResolverSession::Close" )
+    
+    RSessionBase::Close();
+    	
+    LOCUTILSDEBUG( "-RContactResolverSession::Close" )
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/eabi/locnotificationengineu.def	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,4 @@
+EXPORTS
+	_ZN26CLocRequestorUtilsResolver18ResolveRequestorsLER13RPointerArrayI13CPosRequestorE @ 1 NONAME
+	_ZN26CLocRequestorUtilsResolver4NewLEv @ 2 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/inc/contactresolversession.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,77 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  RContactResolverSession
+ *  This class provides the client-side interface to the server session
+ */
+#ifndef CONTACTRESOLVERSESSION_H
+#define CONTACTRESOLVERSESSION_H
+
+#include <e32std.h>
+
+class CPosRequestor;
+
+class RContactResolverSession : public RSessionBase
+    {
+public:
+    // Constructors and destructors
+
+    /**
+     * Default constructor.
+     * Constructs the object.
+     */
+    IMPORT_C RContactResolverSession();
+
+public:
+    // New functions
+
+    /**
+     * Connect.
+     * Connects to the server and create a session.
+     * @return Error code.
+     */
+    IMPORT_C TInt Connect();
+
+    /**
+     * Resolve the requestors. 
+     * @param[IN,OUT] aRequestors Array of Requestors
+     */
+    IMPORT_C void ResolveRequestorsL(
+            RPointerArray<CPosRequestor>& aRequestors);
+
+    /**
+     * closes the session.
+     */
+    IMPORT_C void Close();
+
+    /**
+     * Starts the server process if not already started.
+     */
+    static TInt StartServer();
+    
+    /**
+     * creates the server process.
+     */
+    static TInt CreateServerProcess();
+
+private:
+    /**
+     * Version.
+     * Gets the version number.
+     * @return The version.
+     */
+    TVersion Version() const;
+
+    };
+
+#endif //CONTACTRESOLVERSESSION_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/inc/locprivacycommon.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Server name and version definition.
+*
+*/
+
+#ifndef PRIVACYCOMMON_H
+#define PRIVACYCOMMON_H
+
+#include <e32cmn.h>
+
+// CONSTANTS
+_LIT(KLocPrivacyServerName, "!locnotificationserver");
+
+const TUint KLocPrivacyServerMajorVersionNumber = 0;
+const TUint KLocPrivacyServerMinorVersionNumber = 0;
+const TUint KLocPrivacyServerBuildVersionNumber = 0;
+
+#endif      // PRIVACYCOMMON_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/inc/locprivacyinternal.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,39 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  IPC enumerations and constant definition for server.
+*
+*/
+
+#ifndef PRIVACYINTERNAL_H
+#define PRIVACYINTERNAL_H
+
+
+
+//CONSTANTS
+
+// IPC enumerations
+enum TPosPrivacyClientServer
+    {
+    // To get the size of modified buffer containing resolved requestors.
+    ELocPrivacyGetSize = 0,
+    // To get the resolved requestors.
+    ELocPrivacyResolve
+    };
+
+// Buffer granularity
+const TInt KPosBufFlatExpandSize = 100;
+
+#endif      // PRIVACYINTERNAL_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/inc/locutilsdebug.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,74 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  LocUtilsDebug contains debug macros.
+*
+*/
+
+
+#ifndef LOCUTILSDEBUG_H
+#define LOCUTILSDEBUG_H
+
+// INCLUDES
+#include "locutilsdebugconfig.hrh"
+
+#include <e32std.h>
+
+
+// MACROS
+#define DEBUG(TEXT) 				 { \
+									  _LIT( KText, #TEXT ); \
+									   Debug(KText) \
+									 }
+									 
+#define LOC(TEXT, ARG1) 			 { \
+									   _LIT( KText, #TEXT ); \
+									   Debug( KText, (ARG1) ); \
+									 }
+									 
+#define LOC2(TEXT, ARG1, ARG2) 		 { \
+									   _LIT( KText, #TEXT ); \
+									   Debug( KText,(ARG1), (ARG2) ); \
+									 }
+									 
+#define LOC3(TEXT, ARG1, ARG2, ARG3) { \
+									   _LIT( KText, #TEXT ); \
+									   Debug( KText, (ARG1), (ARG2), (ARG3) ); \
+									 }
+
+IMPORT_C void Debug( TRefByValue<const TDesC> aText, ...);
+
+/**
+* By using component specific debug macros unnecessary 
+* debug prints can be avoided. 
+* Also component specific debugging is possible by compiling 
+* only certain components when LOC_ENABLE_DEBUG_PRINT is defined.
+*/
+
+#ifdef LOC_ENABLE_DEBUG_PRINT
+
+#define LOCUTILSDEBUG(TEXT)                     DEBUG(TEXT);
+#define LOCUTILSDEBUG1(TEXT, ARG1)              LOC(TEXT, ARG1);
+#define LOCUTILSDEBUG2(TEXT, ARG1, ARG2)        LOC2(TEXT, ARG1, ARG2);
+#define LOCUTILSDEBUG3(TEXT, ARG1, ARG2, ARG3)  LOC3(TEXT, ARG1, ARG2, ARG3);
+
+#else
+
+#define LOCUTILSDEBUG(TEXT)                     ;
+#define LOCUTILSDEBUG1(TEXT, ARG1)              ;
+#define LOCUTILSDEBUG2(TEXT, ARG1, ARG2)        ;
+#define LOCUTILSDEBUG3(TEXT, ARG1, ARG2, ARG3)  ;
+
+#endif
+
+#endif // LOCUTILSDEBUG_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/inc/locutilsdebugconfig.hrh	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,33 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  This is the main build-time configuration file of Loc Utils
+*
+*/
+
+
+#ifndef LOCUTILSDEBUGCONFIG_HRH_
+#define LOCUTILSDEBUGCONFIG_HRH_
+
+//  INCLUDES
+
+// Flags for development:
+
+
+// Defined LOC_ENABLE_DEBUG_PRINT flag enables debug prints to a file.
+
+//#define LOC_ENABLE_DEBUG_PRINT
+
+#endif // LOCUTILSDEBUGCONFIG_HRH_
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/install/privacydialogs_stub.pkg	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,40 @@
+;
+; Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: Stub Package file for Privacy dialogs
+;
+;
+; Languages
+&EN
+
+; Header
+#{"privacydialog"}, (0x101f7a86), 1, 0, 0, TYPE = SA
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+; Hb custom device dialog plugin
+""    - "z:\sys\bin\posverificationdialogplugin.dll"
+""    - "z:\resource\plugins\devicedialogs\posverificationdialogplugin.qtplugin"
+
+; Qt engine dll
+""    - "z:\sys\bin\locnotificationengine.dll"
+
+;Symbian components
+""    - "z:\sys\bin\contactresolversession.dll"
+""    - "z:\sys\bin\locprivacysrv.exe"
+""    - "z:\sys\bin\locutils.dll"
+""    - "z:\sys\bin\locverifierdlg.dll"
Binary file locationsystemui/locationsysui/privacyverifiernotifierui/install/privacydialogs_stub.sis has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locnotificationengine/bwins/locnotificationengineu.def	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,4 @@
+EXPORTS
+	?ResolveRequestorsL@CLocRequestorUtilsResolver@@QAEXAAV?$RPointerArray@VCPosRequestor@@@@@Z @ 1 NONAME ; void CLocRequestorUtilsResolver::ResolveRequestorsL(class RPointerArray<class CPosRequestor> &)
+	?NewL@CLocRequestorUtilsResolver@@SAPAV1@XZ @ 2 NONAME ; class CLocRequestorUtilsResolver * CLocRequestorUtilsResolver::NewL(void)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locnotificationengine/eabi/locnotificationengineu.def	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,4 @@
+EXPORTS
+	_ZN26CLocRequestorUtilsResolver18ResolveRequestorsLER13RPointerArrayI13CPosRequestorE @ 1 NONAME
+	_ZN26CLocRequestorUtilsResolver4NewLEv @ 2 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locnotificationengine/inc/apilogger.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,38 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  This class provides function that help in logging entry and exit of APIs of classes
+*
+*/
+
+#ifndef APILOGGER_H
+#define APILOGGER_H
+
+#include <iostream>
+#include <fstream> 
+#include <QDebug>
+#include <qfile.h>
+#include <qtextstream.h>
+
+using namespace std;
+
+
+class ApiLogger
+    {
+    public:
+    static void OpenLogFile();
+    static void CloseLogFile();
+    static void MyOutputHandler(QtMsgType type, const char *msg);
+    };
+    
+#endif // APILOGGER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locnotificationengine/inc/locrequestorutilsresolver.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,83 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Requestor utilities, supports Resolving of Requestors.
+*
+*/
+
+
+#ifndef CLOCREQUESTORUTILSRESOLVER_H
+#define CLOCREQUESTORUTILSRESOLVER_H
+
+//  INCLUDES
+#include <e32base.h>
+
+//FORWARD DECLARATION
+class CPosRequestor;
+class QLocNotificationEngine;
+
+// CLASS DECLARATION
+
+/**
+*   
+*  
+*  
+*/
+class CLocRequestorUtilsResolver  :	public CBase
+    {
+    public: // Constructors and destructor
+
+        /**
+        * Symbian OS constructor
+        * @param None
+        * @return new object
+        */
+        IMPORT_C static CLocRequestorUtilsResolver* NewL();
+
+        /**
+        * Destructor.
+        */
+        ~CLocRequestorUtilsResolver();
+
+	public: // Implement base class virtual methods
+       /**
+        * Resolve the requestors. 
+        * @param[IN,OUT] aRequestors Array of Requestors,ownership is transferred to caller
+         
+        */
+        IMPORT_C void ResolveRequestorsL( 
+        				RPointerArray<CPosRequestor>& aRequestors );
+
+      
+    private: // Constructors
+        /**
+        * C++ default constructor.
+        */
+        CLocRequestorUtilsResolver();
+
+		/**
+		* The Symbian 2nd Phase Constructor is always Private
+		*/
+		void ConstructL();
+
+		
+  
+    private: // member data
+    
+		// Qt implementation class for notification engine.Ownership remains with object
+        QLocNotificationEngine* iEngine;
+    };
+
+#endif // CLOCREQUESTORUTILSRESOLVER_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locnotificationengine/inc/qlocnotificationengine.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,124 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation of positioning settings engine class. 
+*
+*/
+
+#ifndef QLOCNOTIFICATIONENGINE_H
+#define QLOCNOTIFICATIONENGINE_H
+
+#include <qcontactrequests.h>
+
+class QContactManager;
+
+/**
+ * This class is used as a container for Pos requestor data which needs to be resolved.
+ * After resolution the result is returned in the same class. QPosRequestorData is used
+ * so as to avoid exposing CPosRequestorData to 
+ */
+
+class QPosRequestorData
+    {
+    
+public :
+    enum IdFormat
+        {
+        /** The requestor ID format is unknown. */
+        EIdFormatUnknown,
+        /** The requestor is identified by name. */
+        EIdFormatGenericName,
+        /** The requestor is identified by phone number. */
+        EIdFormatPhoneNumber,
+        /** The requestor is identified by URL. */
+        EIdFormatUrl,
+        /** The requestor is identified by email address. */
+        EIdFormatEmail,
+        /** The requestor is identified by the URL of the SIP session. */
+        EIdFormatSIPUrl,
+        /** The requestor is identified by the IMS public identity. */
+        EIdFormatIMSPublicIdentity,
+        /** The requestor is identified by Mobile identification Number. */
+        EIdFormatMIN,
+        /** The requestor is identified by Mobile Directory Number. */
+        EIdFormatMDN
+        };
+public:
+    /*
+     * Default construtor
+     */
+    QPosRequestorData();
+    
+    /*
+     * Destructor for QPosRequestorData
+     */
+    ~QPosRequestorData();
+    
+public:
+    /*
+     * Setter method for QPosRequestorData
+     * @param idFormat -  Field in which string needs to be searched for resolution
+     * @param idString -  String which needs to be resolved
+     */
+    void setPosRequestorData(const QPosRequestorData::IdFormat& idFormat, const QString& idString);
+    
+    /*
+     * Getter method for QPosRequestorData
+     * @param idFormat -  Field in which string needs to be searched for resolution
+     * @param idString -  String which needs to be resolved \ after resolution the result is stored in this
+     */
+    void getPosRequestorData(QPosRequestorData::IdFormat& idFormat, QString& idString) const;
+    
+private:
+    
+    // contains string to be resolve -  string after resolution is stored in this
+    QString mIdString;
+    //idformat of the string to be searched - indicates in what field the string needs to be searched in
+    IdFormat mIdFormat; 
+    };
+
+/**
+ * QLocNotificationEngine class provides a Qt interface to perform operations such as
+ * requestor resolution, activating indicators for missed location notfications etc.
+ * 
+ */
+
+class QLocNotificationEngine
+    {
+    
+public:
+    /**
+     * Default constructor
+     * This throws an error if construction fails.
+     */
+    QLocNotificationEngine();
+    
+    /**
+     * Destructor 
+     */
+    ~QLocNotificationEngine();
+    
+public:
+    /*
+     * Resolves requestor from phoebook
+     * @param[IN,OUT] posRequestorData resolved requestors
+     */
+    void processRequestors(QPosRequestorData& posRequestorData);
+
+private: // data member
+    // Contact manager instance
+    QtMobility::QContactManager* mContactManager;
+
+    };
+
+#endif // QLOCNOTIFICATIONENGINE_H 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locnotificationengine/locnotificationengine.pro	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,45 @@
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+# Contributors:
+# Description: LocNotificationEngine pro file
+TEMPLATE = lib
+TARGET = locnotificationengine
+DEPENDPATH += .
+INCLUDEPATH += ../inc
+INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+CONFIG += hb
+CONFIG += mobility
+MOBILITY = contacts
+
+# Uncomment following line to disable logging
+# DEFINES += QT_NO_DEBUG_OUTPUT
+MOC_DIR = moc
+OBJECTS_DIR = obj
+
+# Platforms
+SYMBIAN_PLATFORMS = WINSCW \
+    ARMV5
+LIBS += -leposprvtyp
+
+# Input
+SOURCES += src/locrequestorutilsresolver.cpp \
+    src/qlocnotificationengine.cpp \
+    src/apilogger.cpp
+HEADERS += inc/locrequestorutilsresolver.h \
+    inc/qlocnotificationengine.h \
+    inc/apilogger.h
+symbian: { 
+    TARGET.EPOCALLOWDLLDATA = 1
+    DEFINES += BUILD_POSSETTINGS
+    DEFINES += PLUGINUID3=0x2002E705
+    TARGET.UID3 = 0x2002E705
+}
+
+TARGET.CAPABILITY = All \
+    -TCB
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locnotificationengine/src/apilogger.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  This class provides function that help in logging entry and exit of APIs of classes
+*
+*/
+
+
+#include "apilogger.h"
+#include <qdatetime.h>
+
+const char* debugFileName("c://logs//lbs//notifengine.txt");
+ofstream logfile;
+
+void ApiLogger::OpenLogFile() 
+{   
+    logfile.open(debugFileName, ios::app);   
+}
+
+void ApiLogger::CloseLogFile() 
+{
+    logfile.flush();
+    logfile.close();
+}
+
+void ApiLogger::MyOutputHandler(QtMsgType type, const char *msg) 
+{    
+    switch (type) {
+        case QtDebugMsg:
+            logfile << QTime::currentTime().toString().toAscii().data() << " Debug: " << msg << "\n";            
+            break;
+        case QtCriticalMsg:
+            logfile << QTime::currentTime().toString().toAscii().data() << " Critical: " << msg << "\n";
+            break;
+        case QtWarningMsg:
+           logfile << QTime::currentTime().toString().toAscii().data() << " Warning: " << msg << "\n";
+            break;
+        case QtFatalMsg:
+            logfile << QTime::currentTime().toString().toAscii().data() << " Fatal: " << msg << "\n";
+        default:
+            break;
+    }
+    logfile.flush();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locnotificationengine/src/locrequestorutilsresolver.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,166 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation of location notification engine class. 
+*
+*/
+
+
+// INCLUDE FILES
+
+
+#include "locrequestorutilsresolver.h"
+#include "qlocnotificationengine.h"
+
+#include <e32base.h>
+#include <barsread.h>
+
+
+#include <lbs/epos_cposrequestor.h>
+#include <lbs/epos_cposservicerequestor.h>
+#include <lbs/epos_cposcontactrequestor.h>
+
+
+
+
+// ============= CLocRequestorUtilsResolver MEMBER FUNCTIONS =================
+
+// ---------------------------------------------------------------------------
+// CLocRequestorUtilsResolver::NewL
+// 2 Phase Constructor
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CLocRequestorUtilsResolver* CLocRequestorUtilsResolver::NewL()
+	{
+	CLocRequestorUtilsResolver* self = 
+							new(ELeave) CLocRequestorUtilsResolver();
+	CleanupStack::PushL(self);
+	self->ConstructL();
+	CleanupStack::Pop(self);
+    return self;
+	}
+
+// ---------------------------------------------------------------------------
+// destructor
+// ---------------------------------------------------------------------------
+//
+CLocRequestorUtilsResolver::~CLocRequestorUtilsResolver()
+	{
+	delete iEngine;
+	iEngine = NULL;
+	}
+
+// ---------------------------------------------------------------------------
+// The method resolves requestors by delegating requests to QPosRequestorData
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CLocRequestorUtilsResolver::ResolveRequestorsL( 
+	RPointerArray<CPosRequestor>& aRequestors )
+	{
+    //resolve requestors one by one by extracting the idFormat and idString 
+    //from the requestor array
+    TInt count = aRequestors.Count();
+    for(TInt iter = 0; iter < count; ++iter)
+        {        
+        CPosRequestor::TRequestorIdFormat idFormat = aRequestors[iter]->RequestorIdFormat();        
+        QPosRequestorData::IdFormat qposidformat;
+         switch(idFormat)
+        {
+
+        case CPosRequestor::EIdFormatGenericName:
+             qposidformat=QPosRequestorData::EIdFormatGenericName;
+             break;	
+             
+        case CPosRequestor::EIdFormatPhoneNumber:
+            qposidformat=QPosRequestorData::EIdFormatPhoneNumber;
+             break;
+        case CPosRequestor::EIdFormatUrl:
+            qposidformat=QPosRequestorData::EIdFormatUrl;
+              break;
+        case CPosRequestor::EIdFormatEmail:
+            qposidformat=QPosRequestorData::EIdFormatEmail;
+             break;
+        case CPosRequestor::EIdFormatSIPUrl:
+            qposidformat=QPosRequestorData::EIdFormatSIPUrl;
+             break;
+        case CPosRequestor::EIdFormatIMSPublicIdentity:
+            qposidformat=QPosRequestorData::EIdFormatIMSPublicIdentity;
+             break;
+        case CPosRequestor::EIdFormatMIN:
+            qposidformat=QPosRequestorData::EIdFormatMIN;
+             break;
+        case CPosRequestor::EIdFormatMDN:
+            qposidformat=QPosRequestorData::EIdFormatMDN;
+             break;
+        case  CPosRequestor::EIdFormatUnknown:
+        default:
+            qposidformat=QPosRequestorData::EIdFormatUnknown; 
+             break;
+            }    
+        //right now the phonebook has fields corresponding to  email,phone number, URL only
+        //other cases are not supported by the phonebook
+        if(qposidformat == QPosRequestorData::EIdFormatEmail ||
+                qposidformat == QPosRequestorData::EIdFormatPhoneNumber ||
+                qposidformat == QPosRequestorData::EIdFormatUrl ) 
+            {
+            //convert TDes to QString
+            QString qReqString((QChar*)aRequestors[iter]->RequestorIdString().Ptr(),aRequestors[iter]->RequestorIdString().Length());
+            
+            QPosRequestorData posRequestor;
+            posRequestor.setPosRequestorData(qposidformat,qReqString);
+            
+            iEngine->processRequestors(posRequestor); 
+
+            QString retString;        
+            posRequestor.getPosRequestorData(qposidformat,retString);
+            
+            //convert QString to TDes
+            TPtrC16 textPtr(reinterpret_cast<const TUint16*>(retString.utf16()));
+
+            aRequestors[iter]->SetRequestorIdL(idFormat,textPtr);
+            }
+        }
+	}
+	
+
+// ---------------------------------------------------------------------------
+// CLocRequestorUtilsResolver::CLocRequestorUtilsResolver
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// ---------------------------------------------------------------------------
+//
+CLocRequestorUtilsResolver::CLocRequestorUtilsResolver()
+	{
+	// Nothing to do.
+	}
+
+// ---------------------------------------------------------------------------
+// CLocRequestorUtilsResolver::ConstructL
+// Symbian Second Phase COnstructor
+// ---------------------------------------------------------------------------
+//
+void CLocRequestorUtilsResolver::ConstructL()
+	{
+    try
+	    {
+	    iEngine = new QLocNotificationEngine();
+		}
+	catch( int error )
+		{
+		// Memory alloc failure
+		User::Leave(KErrNoMemory);
+		}	
+	}
+
+//  End of File
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locnotificationengine/src/qlocnotificationengine.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,173 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation of positioning settings engine class. 
+*
+*/
+
+#include "qlocnotificationengine.h"
+
+#include <QDebug>
+#include <QLocale>
+
+#include <qcontactrequests.h>
+#include <qcontactfilters.h>
+#include <qcontact.h>
+#include <qcontactname.h>
+#include <qcontactemailaddress.h>
+#include <qcontactphonenumber.h>
+#include <qcontacturl.h>
+#include <qcontactmanager.h>
+#include <qcontactdisplaylabel.h>
+
+#include <hbnumbergrouping.h>
+
+
+
+//---------------------------------------------------------------------
+// QLocNotificationEngine::QLocNotificationEngine()
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+QLocNotificationEngine::QLocNotificationEngine()
+    {
+    qDebug()
+            << "+QLocNotificationEngine::QLocNotificationEngine()";
+    //"symbian" is the string used to load the contact manager corresponding to the phonebook database
+    mContactManager = new QtMobility::QContactManager("symbian");
+   qDebug()
+            << "-QLocNotificationEngine::QLocNotificationEngine()";	
+    }
+
+//------QLocNotificationEngine-----------------------------------------
+// QLocNotificationEngine::~QLocNotificationEngine()
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+QLocNotificationEngine::~QLocNotificationEngine()
+    {
+    delete mContactManager;
+    }
+
+//------QLocNotificationEngine-----------------------------------------
+// QLocNotificationEngine::processRequestors
+// Used to resolve requestors
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+void QLocNotificationEngine::processRequestors(QPosRequestorData& posRequestorData)
+    {        
+    qDebug()
+            << "+QLocNotificationEngine::processRequestors()"; 
+    QtMobility::QContactDetailFilter filter;
+
+    QString idString;
+    QPosRequestorData::IdFormat idFormat =  QPosRequestorData::EIdFormatUnknown;
+    posRequestorData.getPosRequestorData(idFormat,idString);
+    
+    switch(idFormat) // set definition name based on the idformat to be searched for
+        {
+        case QPosRequestorData::EIdFormatPhoneNumber:      
+            {
+            filter.setDetailDefinitionName(QtMobility::QContactPhoneNumber::DefinitionName, QtMobility::QContactPhoneNumber::FieldNumber);            
+            }
+            break;
+        
+        case QPosRequestorData::EIdFormatEmail:
+            {
+            filter.setDetailDefinitionName(QtMobility::QContactEmailAddress::DefinitionName, QtMobility::QContactEmailAddress::FieldEmailAddress);
+            }
+            break;
+        case QPosRequestorData::EIdFormatUrl:
+            {
+            filter.setDetailDefinitionName(QtMobility::QContactUrl::DefinitionName,QtMobility::QContactUrl::ContextHome);
+            }
+            break;
+        
+        //other cases are not supported by the phonebook
+        default: //this case wont arise as other values will already have been filtered out 
+            
+            break;
+        }
+    filter.setMatchFlags(QtMobility::QContactFilter::MatchExactly);
+    filter.setValue(idString);
+    
+    QList<QtMobility::QContactLocalId> matchingContacts = mContactManager->contactIds(filter);
+    
+    if (matchingContacts.size() > 0) //if any contacts were found
+        {
+               
+        QtMobility::QContact match = mContactManager->contact(matchingContacts.at(0)); //return the first contact among the ones found
+          
+        QString labelDetail = match.displayLabel();
+        posRequestorData.setPosRequestorData(idFormat,labelDetail); //set back result
+        }
+    else
+    	{
+    	// if no contacts were found
+    	
+    	if( QPosRequestorData::EIdFormatPhoneNumber == idFormat )
+    		{
+    		// Group the phone number according to current system locale
+    		/*
+    	    QString isStringPh = HbNumberGrouping::formatPhoneNumber(idString,QLocale::system().country());
+            posRequestorData.setPosRequestorData(idFormat,isStringPh); //set back result
+    		*/
+            posRequestorData.setPosRequestorData(idFormat,idString); //set back result
+    		}
+    	} 
+    
+    qDebug()
+            << "-QLocNotificationEngine::processRequestors()"; 
+    }
+
+//---------------------------------------------------------------------
+// QPosRequestorData::QPosRequestorData()
+// Constructor for QPosRequestorData
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+QPosRequestorData::QPosRequestorData()
+    {
+    
+    }
+   
+//---------------------------------------------------------------------
+// QPosRequestorData::~QPosRequestorData()
+// Destructor for QPosRequestorData
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+QPosRequestorData::~QPosRequestorData()
+    {
+    
+    }
+
+//---------------------------------------------------------------------
+// QPosRequestorData::setPosRequestorData()
+// Settermethod for QPosRequestorData
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+void QPosRequestorData::setPosRequestorData(const QPosRequestorData::IdFormat& idFormat, const QString& idString)
+    {
+    mIdFormat = idFormat;
+    mIdString = idString;
+    }
+    
+//---------------------------------------------------------------------
+// QPosRequestorData::getPosRequestorData()
+// Gettermethod for QPosRequestorData
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+void QPosRequestorData::getPosRequestorData(QPosRequestorData::IdFormat& idFormat, QString& idString) const
+    {
+    idFormat = mIdFormat;
+    idString = mIdString;
+    }
+    
+// End of file.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/group/locprivacyserver.mmp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,49 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Project definition file for server
+*
+*/
+
+#include <platform_paths.hrh>
+
+TARGET          locnotificationserver.exe
+EPOCSTACKSIZE   0x5000
+TARGETTYPE      exe
+UID             0x00000000 0x101f7a86
+
+VENDORID        VID_DEFAULT
+CAPABILITY      CAP_SERVER
+
+SOURCEPATH      ../src
+SOURCE          locprivacyserverstartup.cpp
+SOURCE          locprivacyserver.cpp
+SOURCE          locprivacyserversession.cpp
+
+
+USERINCLUDE     ../inc
+USERINCLUDE     ../../inc
+USERINCLUDE     ../../locnotificationengine/inc
+
+MW_LAYER_SYSTEMINCLUDE 
+
+LIBRARY         bafl.lib
+LIBRARY         euser.lib
+LIBRARY         eposprvtyp.lib
+LIBRARY         eposutils.lib
+LIBRARY         efsrv.lib
+LIBRARY         estor.lib
+LIBRARY         locnotificationengine.lib
+LIBRARY			locutils.lib
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/inc/locprivacycommon.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Server name and version definition.
+*
+*/
+
+#ifndef PRIVACYCOMMON_H
+#define PRIVACYCOMMON_H
+
+#include <e32cmn.h>
+
+// CONSTANTS
+_LIT(KLocPrivacyServerName, "!locnotificationserver");
+
+const TUint KLocPrivacyServerMajorVersionNumber = 0;
+const TUint KLocPrivacyServerMinorVersionNumber = 0;
+const TUint KLocPrivacyServerBuildVersionNumber = 0;
+
+#endif      // PRIVACYCOMMON_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/inc/locprivacyinternal.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,39 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  IPC enumerations and constant definition for server.
+*
+*/
+
+#ifndef PRIVACYINTERNAL_H
+#define PRIVACYINTERNAL_H
+
+
+
+//CONSTANTS
+
+// IPC enumerations
+enum TPosPrivacyClientServer
+    {
+    // To get the size of modified buffer containing resolved requestors.
+    ELocPrivacyGetSize = 0,
+    // To get the resolved requestors.
+    ELocPrivacyResolve
+    };
+
+// Buffer granularity
+const TInt KPosBufFlatExpandSize = 100;
+
+#endif      // PRIVACYINTERNAL_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/inc/locprivacyserver.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,124 @@
+/*
+* 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:  server class definition.
+*
+*/
+
+#ifndef CLOCPRIVACYSERVER_H
+#define CLOCPRIVACYSERVER_H
+
+//  INCLUDES
+#include <e32base.h>
+#include <locprivacyinternal.h>
+
+// FORWARD DECLARATIONS
+
+class CLocPrivacyServerSession;
+
+// CLASS DECLARATION
+
+/**
+ *  The main server side class.
+ */
+class CLocPrivacyServer : public CServer2
+    {
+public:
+    // Constructors and destructor
+
+    /**
+     * Two-phased constructor.
+     */
+    static CLocPrivacyServer* NewL();
+
+    /**
+     * Destructor.
+     */
+    ~CLocPrivacyServer();
+
+private:
+
+    /**
+     * C++ constructor.
+     *
+     * @param aPriority Priority at which to run the server active object.
+     */
+    CLocPrivacyServer(
+    /* IN  */TInt aPriority);
+
+    /**
+     * EPOC default constructor.
+     */
+    void ConstructL();
+
+public:
+    // New functions
+
+    // Server priority. 950 is standard value.
+    enum
+        {
+        EPriority = 950
+        };
+
+    /**
+     * Increment number of sessions.
+     */
+    void IncrementSessions();
+
+    /**
+     * Decrement number of sessions.
+     *
+     * @param aSession Pointer to session that is calling
+     *                 DecrementSessions().It will be used in future.
+     */
+    void DecrementSessions(
+    /* IN  */CLocPrivacyServerSession* /*aSession */);
+
+public:
+    // Functions from base classes
+
+    /**
+     * From CServer.
+     *
+     * @param aVersion the server version.
+     * @param aMessage The connect message from the client.
+     * @return a new session
+     */
+    CSession2* NewSessionL(
+    /* IN  */const TVersion& aVersion,
+    /* IN  */const RMessage2& aMessage) const;
+
+    /**
+     * From CActive.
+     *
+     * @param aError the error code of the server leave.
+     * @return always KErrNone.
+     */
+    TInt RunError(
+    /* IN  */TInt aError);
+
+private:
+
+    // By default, prohibit copy constructor
+    CLocPrivacyServer(const CLocPrivacyServer&);
+    // Prohibit assigment operator
+    CLocPrivacyServer& operator=(const CLocPrivacyServer&);
+
+private:
+    // Data
+    TInt iNumSessions;
+    };
+
+#endif      // CLOCPRIVACYSERVER_H
+// End of File
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/inc/locprivacyserverdebugpanic.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,33 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Panic code definitions for server.
+*
+*/
+
+#ifndef LOCPRIVACYSERVERDEBUGPANIC_H
+#define LOCPRIVACYSERVERDEBUGPANIC_H
+
+#include <e32def.h>
+
+_LIT(KLocPrivSrvDebugPanicCategory, "Loc Priv debug");
+
+enum TLocPrivSrvDebugPanic
+    {
+    // Unknown request recieved from client.
+    ELocPrivSrvPanicUnknownActivity = 0
+    };
+
+#endif      // LOCPRIVACYSERVERDEBUGPANIC_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/inc/locprivacyserversession.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,108 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Server session class definition.
+*
+*/
+
+
+#ifndef CLOCPRIVACYSERVERSESSION_H
+#define CLOCPRIVACYSERVERSESSION_H
+
+//  INCLUDES
+#include <e32base.h>
+#include <lbs/epos_cposrequestor.h>
+
+// FORWARD DECLARATIONS
+class CPosPrivacyServer;
+class RPosRequestorStack;
+
+// CLASS DECLARATION
+
+/**
+ *  The EPos privacy server session class.
+ *
+ */
+class CLocPrivacyServerSession : public CSession2
+    {
+    public:  // Constructors and destructor
+
+        /**
+         * Two-phased constructor.
+         * @param aServer Reference to the server Active Object
+         * @return Pointer to a new instance of CPosPrivacyServerSession
+         */
+        static CLocPrivacyServerSession* NewL(
+        /* IN  */   CLocPrivacyServer&  aServer
+        );
+
+        /**
+         * C++ destructor
+         */
+        ~CLocPrivacyServerSession();
+
+    private: // Private Constructing
+
+        /**
+         * C++ private constructor
+         */
+        CLocPrivacyServerSession();
+
+        /**
+         * EPOC default constructor.
+         * @param aServer Reference to the server Active Object
+         */
+        void ConstructL(
+        /* IN   */  CLocPrivacyServer& aServer
+        );
+
+    public:    // Functions from base classes
+
+        /**
+        * From CSession2.
+        * This function services all requests from clients.
+        *
+        * @param aMessage the message that should be serviced
+        */
+        void ServiceL(
+        /* IN  */   const RMessage2& aMessage
+        );
+
+    private: // New functions
+
+        /**
+        * Closes the session.
+        */
+        void CloseSession();
+
+        // Contains the actual ServiceL code.
+        //
+        void DispatchL(const RMessage2& aMessage);
+
+      
+            
+    private:
+
+        // By default, prohibit copy constructor
+        CLocPrivacyServerSession( const CLocPrivacyServerSession& );
+        // Prohibit assigment operator
+        CLocPrivacyServerSession& operator= ( const CLocPrivacyServerSession& );
+
+    private:    // Data
+        // Buffer for hoding resolved requestors
+        CBufFlat* iBufFlat;
+      };
+
+#endif      // CLOCPRIVACYSERVERSESSION_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/inc/locprivacyserverstartup.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,50 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Class definition for server startup .
+*
+*/
+
+#ifndef LOCPRIVACYSERVERSTARTUP_H
+#define LOCPRIVACYSERVERSTARTUP_H
+
+//  INCLUDES
+#include <e32base.h>
+
+// CLASS DECLARATION
+
+/**
+*  This class contains static functions which handles server startup.
+*/
+class LocPrivacyServerStartup
+    {
+
+    public: // New functions
+
+        /**
+        * Server thread entry point
+        *
+        * @return error code
+        */
+        static TInt StartServer();
+
+    private: // New functions
+
+        static void StartServerL();
+
+    };
+
+#endif      // LOCPRIVACYSERVERSTARTUP_H
+
+// End of File
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/src/locprivacyserver.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,133 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  server class implementation.
+*
+*/
+
+// INCLUDE FILES
+
+#include "locprivacyserver.h"
+#include "locprivacycommon.h"
+#include "locprivacyserversession.h"
+#include "locprivacyserverdebugpanic.h"
+#include "locutilsdebug.h"
+
+
+// CONSTANTS
+
+// ================= MEMBER FUNCTIONS =======================
+
+// C++ default constructor can NOT contain any code, that
+// might leave.
+//
+CLocPrivacyServer::CLocPrivacyServer(TInt aPriority)
+    : CServer2(aPriority),
+    iNumSessions(0)
+    {
+    // This does not do anything.
+    __DECLARE_NAME(_S("CLocPrivacyServer"));
+    }
+
+// EPOC default constructor can leave.
+void CLocPrivacyServer::ConstructL()
+    {
+    LOCUTILSDEBUG( "+CLocPrivacyServer::ConstructL" )
+    User::LeaveIfError(Start(KLocPrivacyServerName));
+    LOCUTILSDEBUG( "-CLocPrivacyServer::ConstructL" )
+    }
+
+// Two-phased constructor
+CLocPrivacyServer* CLocPrivacyServer::NewL()
+    {
+    CLocPrivacyServer* self = new (ELeave) CLocPrivacyServer(EPriority);
+    CleanupStack::PushL(self);
+    self->ConstructL();
+    CleanupStack::Pop(self);
+    return self;
+    }
+
+// Destructor
+CLocPrivacyServer::~CLocPrivacyServer()
+    {
+    }
+
+// ---------------------------------------------------------
+// CLocPrivacyServer::IncrementSessions
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CLocPrivacyServer::IncrementSessions()
+    {
+    LOCUTILSDEBUG( "+CLocPrivacyServer::IncrementSessions" )
+    iNumSessions++;
+    LOCUTILSDEBUG( "-CLocPrivacyServer::IncrementSessions" )
+    }
+
+// ---------------------------------------------------------
+// CLocPrivacyServer::DecrementSessions
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CLocPrivacyServer::DecrementSessions(
+    CLocPrivacyServerSession* /*aSession*/)
+    {
+    LOCUTILSDEBUG( "+CLocPrivacyServer::DecrementSessions" )
+    iNumSessions--;
+    if (iNumSessions == 0)
+        {
+         // Shutdown the server by shutting down the active scheduler.
+        CActiveScheduler::Stop();
+        }
+    LOCUTILSDEBUG( "-CLocPrivacyServer::DecrementSessions" )
+    }
+
+// ---------------------------------------------------------
+// CLocPrivacyServer::NewSessionL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+CSession2* CLocPrivacyServer::NewSessionL(
+    const TVersion& /*aVersion*/,
+    const RMessage2& /*aMessage*/) const
+    {
+    LOCUTILSDEBUG( "+CLocPrivacyServer::NewSessionL" )
+    // Make new session
+    CLocPrivacyServerSession* newSession = CLocPrivacyServerSession::NewL(
+            const_cast<CLocPrivacyServer&>(*this));
+
+    LOCUTILSDEBUG( "-CLocPrivacyServer::NewSessionL" )
+    return newSession;
+    }
+
+// ---------------------------------------------------------
+// CLocPrivacyServer::RunError
+// This method is called by the active scheduler whenever an
+// untrapped leave occurs in the server active object.
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt CLocPrivacyServer::RunError(TInt aError)
+    {
+    LOCUTILSDEBUG( "-CLocPrivacyServer::RunError" )
+    Message().Complete(aError);
+    ReStart();
+    LOCUTILSDEBUG( "-CLocPrivacyServer::RunError" )
+    return KErrNone;
+    }
+
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/src/locprivacyserversession.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,191 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Server session class implementation.
+*
+*/
+
+// INCLUDE FILES
+
+#include <s32mem.h>
+#include <lbs/EPos_RPosRequestorStack.h>
+
+#include "locprivacyinternal.h" 
+#include "locprivacyserver.h"
+#include "locprivacyserversession.h"
+#include "locprivacyserverdebugpanic.h"
+#include "locrequestorutilsresolver.h"
+#include "locutilsdebug.h"
+
+
+
+
+// CONSTANTS
+
+// ================= MEMBER FUNCTIONS =======================
+
+// Two-phased constructor
+CLocPrivacyServerSession* CLocPrivacyServerSession::NewL(
+        CLocPrivacyServer& aServer)
+    {
+    CLocPrivacyServerSession* self = new (ELeave) CLocPrivacyServerSession();
+    CleanupStack::PushL(self);
+    self->ConstructL(aServer);
+    CleanupStack::Pop();
+    return self;
+    }
+
+// Destructor
+CLocPrivacyServerSession::~CLocPrivacyServerSession()
+    {
+    CloseSession();
+    delete iBufFlat;
+    iBufFlat = NULL;
+    }
+
+// C++ default constructor can NOT contain any code, that
+// might leave.
+//
+CLocPrivacyServerSession::CLocPrivacyServerSession() :
+    CSession2(), iBufFlat(NULL)
+    {
+    // Doesn't really do anything according to the header file (e32def.h,
+    // lines 139 and 184) and the documentation doesn't mention it.
+    __DECLARE_NAME(_S("CLocPrivacyServerSession"));
+    }
+
+// EPOC default constructor
+void CLocPrivacyServerSession::ConstructL(CLocPrivacyServer& aServer)
+    {
+    LOCUTILSDEBUG( "+CLocPrivacyServerSession::ConstructL" )
+    aServer.IncrementSessions();
+    iBufFlat = CBufFlat::NewL(KPosBufFlatExpandSize);
+    LOCUTILSDEBUG( "-CLocPrivacyServerSession::ConstructL" )
+    }
+
+// ---------------------------------------------------------
+// CLocPrivacyServerSession::ServiceL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CLocPrivacyServerSession::ServiceL(const RMessage2& aMessage)
+    {
+    LOCUTILSDEBUG( "+CLocPrivacyServerSession::ServiceL" ) 
+    TRAPD(err, DispatchL(aMessage));
+
+    aMessage.Complete(err);
+    LOCUTILSDEBUG( "-CLocPrivacyServerSession::ServiceL" )
+
+    }
+
+// ---------------------------------------------------------
+// CLocPrivacyServerSession::CloseSession
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CLocPrivacyServerSession::CloseSession()
+    {
+    LOCUTILSDEBUG( "+CLocPrivacyServerSession::CloseSession" ) 
+    CLocPrivacyServer
+            * server =
+                    static_cast<CLocPrivacyServer*> (const_cast<CServer2*> (Server()));
+    server->DecrementSessions(this);
+    LOCUTILSDEBUG( "-CLocPrivacyServerSession::CloseSession" ) 
+    }
+
+// ---------------------------------------------------------
+// CLocPrivacyServerSession::DispatchL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CLocPrivacyServerSession::DispatchL(const RMessage2& aMessage)
+    {
+    LOCUTILSDEBUG( "+CLocPrivacyServerSession::DispatchL" ) 
+    switch ( aMessage.Function() )
+        {
+        case ELocPrivacyGetSize:
+            
+           {
+           TInt desLength=0;
+           desLength = aMessage.GetDesLength( 1 );          
+
+           CBufFlat* bufFlat1 = CBufFlat::NewL(desLength);
+           CleanupStack::PushL(bufFlat1);
+           bufFlat1->ResizeL(desLength);
+           
+           TPtr8 ptr(bufFlat1->Ptr(0));
+           // Copy content to local buffer
+           aMessage.ReadL(1, ptr);
+
+           RBufReadStream readStream(*bufFlat1);
+           CleanupClosePushL(readStream);
+           
+           RPosRequestorStack* requestors1 = new (ELeave) RPosRequestorStack;
+           CleanupStack::PushL(requestors1);
+            requestors1->InternalizeL(readStream);
+
+            CLocRequestorUtilsResolver* res =
+                    CLocRequestorUtilsResolver::NewL();
+            CleanupStack::PushL(res);
+
+            res->ResolveRequestorsL(*requestors1);
+
+               
+           // use data member buffer and externalize 
+
+            RBufWriteStream writeStream;
+            // Reset the buffer
+            iBufFlat->Reset();
+            writeStream.Open(*iBufFlat);
+            CleanupClosePushL(writeStream);
+
+            requestors1->ExternalizeL(writeStream);
+            writeStream.CommitL();
+
+            // Find the new size
+
+            TInt newsize  = iBufFlat->Size();
+
+            CleanupStack::PopAndDestroy(&writeStream);
+            CleanupStack::PopAndDestroy(res);
+            CleanupStack::PopAndDestroy(requestors1);
+            CleanupStack::PopAndDestroy(&readStream);
+            CleanupStack::PopAndDestroy(bufFlat1);
+
+            // write back new size
+            TPtr8 ptr1(reinterpret_cast<TUint8*> (&newsize),
+                    sizeof(newsize), sizeof(newsize));
+                  
+            aMessage.WriteL(0, ptr1);
+         	}     
+            break;
+
+        case ELocPrivacyResolve:
+            {
+            TPtr8 ptr2 = iBufFlat->Ptr(0);
+            aMessage.WriteL(0, ptr2);
+        	}
+            break;
+            
+        default:
+            aMessage.Panic(KLocPrivSrvDebugPanicCategory,
+                    ELocPrivSrvPanicUnknownActivity);
+            break;
+        }
+    LOCUTILSDEBUG( "-CLocPrivacyServerSession::DispatchL" )
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/src/locprivacyserverstartup.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,95 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation for server startup .
+*
+*/
+
+// INCLUDE FILES
+#include "locprivacyserverstartup.h"
+#include "locprivacyserver.h"
+#include "locprivacycommon.h"
+#include "locutilsdebug.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// LocPrivacyServerStartup::StartServer
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt LocPrivacyServerStartup::StartServer()
+    {
+    LOCUTILSDEBUG( "+LocPrivacyServerStartup::StartServer" )
+    __UHEAP_MARK;
+
+    CTrapCleanup* cleanupStack = CTrapCleanup::New();
+
+    TInt ret = KErrNoMemory;
+
+    if (cleanupStack)
+        {
+        TRAP(ret, StartServerL());
+        delete cleanupStack;
+        }
+
+    __UHEAP_MARKEND;
+
+    LOCUTILSDEBUG( "-LocPrivacyServerStartup::StartServer" )
+    return ret;
+    }
+
+// -----------------------------------------------------------------------------
+// LocPrivacyServerStartup::StartServerL
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void LocPrivacyServerStartup::StartServerL()
+    {
+    LOCUTILSDEBUG( "+LocPrivacyServerStartup::StartServerL" )
+    // Rename thread to aid debugging
+    User::LeaveIfError(User::RenameThread(KLocPrivacyServerName));
+
+    // start scheduler and server
+    CActiveScheduler* scheduler = new(ELeave) CActiveScheduler;
+    CleanupStack::PushL(scheduler);
+    CActiveScheduler::Install(scheduler);
+
+    CLocPrivacyServer* server = CLocPrivacyServer::NewL();
+    CleanupStack::PushL(server);
+
+    CleanupStack::Pop(2, scheduler); // server
+
+    RProcess::Rendezvous(KErrNone);
+
+    CActiveScheduler::Start();
+
+    delete server;
+    delete scheduler;
+   LOCUTILSDEBUG( "-LocPrivacyServerStartup::StartServerL" )
+    }
+
+// -----------------------------------------------------------------------------
+// E32Main
+// Server process entry-point
+// Recover the startup parameters and run the server
+// -----------------------------------------------------------------------------
+//
+TInt E32Main()
+    {
+    return LocPrivacyServerStartup::StartServer();
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locutils/bwins/locutils_32u.def	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,3 @@
+EXPORTS
+	?Debug@@YAXV?$TRefByValue@$$CBVTDesC16@@@@ZZ @ 1 NONAME ; void Debug(class TRefByValue<class TDesC16 const >, ...)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locutils/eabi/locutils_32u.def	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,3 @@
+EXPORTS
+	_Z5Debug11TRefByValueIK7TDesC16Ez @ 1 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locutils/group/locutils.mmp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,68 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Project definition file for Location Utils
+*
+*/
+
+
+// INCLUDES
+#include "../inc/locutilsuid.hrh"
+
+#include <data_caging_paths.hrh>
+#include <bldvariant.hrh>
+#include <platform_paths.hrh> // For the MW_LAYER_SYSTEMINCLUDE
+
+TARGET  			locutils.dll
+TARGETTYPE  		dll
+UID  				0x0 0x101F84FB
+
+VENDORID	 		VID_DEFAULT
+CAPABILITY 			CAP_GENERAL_DLL
+
+SOURCEPATH 			../src
+
+#ifdef LOC_ENABLE_DEBUG_PRINT
+SOURCE              locutilsdebug.cpp
+#else
+SOURCE              locutilsdebugdummy.cpp
+#endif
+
+// System Include
+MW_LAYER_SYSTEMINCLUDE
+
+USERINCLUDE 		.
+USERINCLUDE			../inc
+
+LIBRARY 			euser.lib 
+LIBRARY 			bafl.lib
+LIBRARY 			efsrv.lib
+LIBRARY 			sysutil.lib
+LIBRARY 			eposprvtyp.lib
+
+#ifdef LOC_ENABLE_DEBUG_PRINT
+LIBRARY 			flogger.lib
+#endif
+
+LIBRARY             CenRepNotifHandler.lib
+LIBRARY             CentralRepository.lib
+
+#if defined(WINS)
+deffile   ../bwins/locutils_32.def
+#elif defined(EABI)
+deffile   ../eabi/locutils_32.def
+#endif 
+
+// End of file
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locutils/inc/locutilsdebug.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,74 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  LocUtilsDebug contains debug macros.
+*
+*/
+
+
+#ifndef LOCUTILSDEBUG_H
+#define LOCUTILSDEBUG_H
+
+// INCLUDES
+#include "locutilsdebugconfig.hrh"
+
+#include <e32std.h>
+
+
+// MACROS
+#define DEBUG(TEXT) 				 { \
+									  _LIT( KText, #TEXT ); \
+									   Debug(KText) \
+									 }
+									 
+#define LOC(TEXT, ARG1) 			 { \
+									   _LIT( KText, #TEXT ); \
+									   Debug( KText, (ARG1) ); \
+									 }
+									 
+#define LOC2(TEXT, ARG1, ARG2) 		 { \
+									   _LIT( KText, #TEXT ); \
+									   Debug( KText,(ARG1), (ARG2) ); \
+									 }
+									 
+#define LOC3(TEXT, ARG1, ARG2, ARG3) { \
+									   _LIT( KText, #TEXT ); \
+									   Debug( KText, (ARG1), (ARG2), (ARG3) ); \
+									 }
+
+IMPORT_C void Debug( TRefByValue<const TDesC> aText, ...);
+
+/**
+* By using component specific debug macros unnecessary 
+* debug prints can be avoided. 
+* Also component specific debugging is possible by compiling 
+* only certain components when LOC_ENABLE_DEBUG_PRINT is defined.
+*/
+
+#ifdef LOC_ENABLE_DEBUG_PRINT
+
+#define LOCUTILSDEBUG(TEXT)                     DEBUG(TEXT);
+#define LOCUTILSDEBUG1(TEXT, ARG1)              LOC(TEXT, ARG1);
+#define LOCUTILSDEBUG2(TEXT, ARG1, ARG2)        LOC2(TEXT, ARG1, ARG2);
+#define LOCUTILSDEBUG3(TEXT, ARG1, ARG2, ARG3)  LOC3(TEXT, ARG1, ARG2, ARG3);
+
+#else
+
+#define LOCUTILSDEBUG(TEXT)                     ;
+#define LOCUTILSDEBUG1(TEXT, ARG1)              ;
+#define LOCUTILSDEBUG2(TEXT, ARG1, ARG2)        ;
+#define LOCUTILSDEBUG3(TEXT, ARG1, ARG2, ARG3)  ;
+
+#endif
+
+#endif // LOCUTILSDEBUG_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locutils/inc/locutilsdebugconfig.hrh	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,33 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  This is the main build-time configuration file of Loc Utils
+*
+*/
+
+
+#ifndef LOCUTILSDEBUGCONFIG_HRH_
+#define LOCUTILSDEBUGCONFIG_HRH_
+
+//  INCLUDES
+
+// Flags for development:
+
+
+// Defined LOC_ENABLE_DEBUG_PRINT flag enables debug prints to a file.
+
+//#define LOC_ENABLE_DEBUG_PRINT
+
+#endif // LOCUTILSDEBUGCONFIG_HRH_
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locutils/inc/locutilsuid.hrh	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Common header for Location Utils UIDs.
+*
+*/
+
+
+#ifndef LOCUTILSUID_H_
+#define LOCUTILSUID_H_
+
+//  MACROS  
+
+/// Location utility component UID3
+#define LOCUTILS_UID3 0x101F84FB
+
+#endif // LOCUTILSUID_H_
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locutils/src/locutilsdebug.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,86 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Contains debugging functions
+*
+*/
+
+
+
+// INCLUDE FILES
+#include "locutilsdebug.h"
+#include <flogger.h>
+#include <e32svr.h>
+// CONSTANTS
+
+/// Folder where the log resides
+_LIT( KLocLogFolder, "Verifier" );
+
+/// The name of the log file
+_LIT( KLocLogFileName, "LocVerifier" );
+
+/// The format in which the time is formatted in log
+_LIT( KLocLogTimeFormat, "%02d.%02d:%02d:%06d ");
+
+/// The length of the string produced by KLocLogTimeFormat
+const TInt KLocLogTimeFormatLength = 16;
+
+/// How many characters a log line can contain
+const TInt KLocLogLineLength = 256;
+
+// ========================== OTHER EXPORTED FUNCTIONS =========================
+
+
+// -----------------------------------------------------------------------------
+// Debug
+// Generates a log file if c:\logs\locationsysui\ folder exists
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void Debug( TRefByValue<const TDesC> aText, ... )
+    {    
+    VA_LIST args;
+    VA_START( args, aText );
+    
+    TBuf<KLocLogLineLength> buf;
+    buf.FormatList( aText, args );
+
+    #ifdef _DEBUG
+    RDebug::Print(buf);
+    #endif
+
+    RFileLogger logger;
+    
+    TInt ret=logger.Connect();
+    if (ret==KErrNone)
+        {
+        logger.SetDateAndTime( EFalse,EFalse );
+        logger.CreateLog( KLocLogFolder, KLocLogFileName, EFileLoggingModeAppend );       
+        TBuf<KLocLogTimeFormatLength> timeStamp;
+        TTime now;
+        now.HomeTime();
+        TDateTime dateTime;
+        dateTime = now.DateTime();
+        timeStamp.Format( KLocLogTimeFormat, 
+            dateTime.Hour(), dateTime.Minute(),
+            dateTime.Second(), dateTime.MicroSecond() );
+        buf.Insert( 0, timeStamp );
+
+        logger.Write(buf);
+        }
+
+    logger.Close();
+
+    VA_END( args );
+    }
+
+//  End of File  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locutils/src/locutilsdebugdummy.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Contains dummy implementation for debugging function
+*
+*/
+
+
+#include "locutilsdebug.h"
+
+// ========================== OTHER EXPORTED FUNCTIONS =========================
+
+// -----------------------------------------------------------------------------
+// Debug
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void Debug( TRefByValue<const TDesC> /*aText*/, ... )
+  {
+  }
+
+//  End of File  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/group/locverifierdlg.mmp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,73 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Project definition file for Location Verification Dialog
+*
+*/
+
+
+// INCLUDES
+#include "../inc/locverifieruid.h"
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh> 
+
+TARGET          locverifierdlg.dll
+TARGETTYPE      PLUGIN
+UID             0x10009D8D  KLocVerifierDlgUID3
+
+CAPABILITY 		CAP_ECOM_PLUGIN
+
+VENDORID		VID_DEFAULT
+
+SOURCEPATH      ../src
+SOURCE			lpdverifierplugin.cpp
+SOURCE			lpdrequestao.cpp
+SOURCE			lpdrequestorprocessor.cpp
+SOURCE			lpdverifierquerylauncher.cpp
+SOURCE			lpdnotifierquerylauncher.cpp
+SOURCE			lpdglobalplugindialog.cpp
+SOURCE			lpdquerylauncherbase.cpp
+SOURCE			lpddllmain.cpp
+
+
+// System Include
+APP_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE       \epoc32\include\mw\hb\hbcore
+SYSTEMINCLUDE       \epoc32\include\mw\hb\hbwidgets
+
+USERINCLUDE     .
+USERINCLUDE		../inc
+USERINCLUDE		../../inc
+USERINCLUDE		../../locnotificationengine/inc
+
+SOURCEPATH      ../rss
+START RESOURCE  101f84fc.rss
+TARGET          locverifierdlg.rsc
+END
+
+// EPos:
+LIBRARY			eposprvqnif.lib
+// Location:
+LIBRARY			locnotificationengine.lib
+// Symbian & Hb:
+LIBRARY         euser.lib
+LIBRARY			eiksrv.lib 
+LIBRARY         eposprvtyp.lib
+LIBRARY         estor.lib bafl.lib
+LIBRARY         flogger.lib
+LIBRARY			HbCore.lib
+LIBRARY         HbWidgets.lib
+LIBRARY			QtCore.lib
+LIBRARY         locnotificationclient.lib
+LIBRARY			systemtoneservice.lib
+LIBRARY			locutils.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/inc/locverifierdlgdebug.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,48 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  LocVerifierDlgDebug contains debug macros.
+*
+*/
+
+
+#ifndef LOCVERIFIERDLGDEBUG_H 
+#define LOCVERIFIERDLGDEBUG_H
+
+// INCLUDES
+#include "locutilsdebug.h"
+#include <e32std.h>
+
+
+// MACROS
+
+/**
+* By using component specific debug macros unnecessary 
+* debug prints can be avoided. 
+* Also component specific debugging is possible by compiling 
+* only certain components when LOC_ENABLE_DEBUG_PRINT is defined.
+*/
+
+#ifdef LOC_ENABLE_DEBUG_PRINT
+#define LOCVERIFIERDLGDEBUG(TEXT) DEBUG(TEXT);
+#define LOCVERIFIERDLGDEBUG1(TEXT, ARG1) LOC(TEXT, ARG1);
+#define LOCVERIFIERDLGDEBUG2(TEXT, ARG1, ARG2) LOC2(TEXT, ARG1, ARG2);
+#define LOCVERIFIERDLGDEBUG3(TEXT, ARG1, ARG2, ARG3) LOC3(TEXT, ARG1, ARG2, ARG3);
+#else
+#define LOCVERIFIERDLGDEBUG(TEXT);
+#define LOCVERIFIERDLGDEBUG1(TEXT, ARG1);
+#define LOCVERIFIERDLGDEBUG2(TEXT, ARG1, ARG2);
+#define LOCVERIFIERDLGDEBUG3(TEXT, ARG1, ARG2, ARG3);
+#endif
+
+#endif /* LOCVERIFIERDLGDEBUG_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/inc/locverifieruid.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Common header for Location application UIDs.
+*
+*/
+
+
+#ifndef LOCVERIFIERUID_H
+#define LOCVERIFIERUID_H
+
+/// Location verifier dialog UID3
+#define KLocVerifierDlgUID3	0x101f84fc
+
+#define KNotifierUID2 0x101fdfae
+
+#endif // LOCVERIFIERUID_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/inc/lpddlgobserver.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,50 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Callback interface class.
+*
+*/
+
+
+#ifndef MLPDDLGOBSERVER_H
+#define MLPDDLGOBSERVER_H
+
+// INCLUDES
+#include <e32base.h>
+
+
+// CLASS DECLARATION
+
+/**
+*  Callback interface class.
+*  Implementor of this class gives a reference to itself when
+*  creating a global query dialog. A callback method is then
+*  called when the query is dismissed.
+*
+*  @lib locverifierdlg.lib
+*  @since 2.1
+*/
+class MLpdDlgObserver
+    {
+    public:
+
+        /**
+        * Pure virtual callback method.
+        * @param aResult code of the query
+        */
+        virtual void HandleDlgDismissedL( TInt aResult) = 0;
+    };
+
+#endif  // MLPDDLGOBSERVER_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/inc/lpdglobalplugindialog.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,126 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  List query dialog suitable for verifier plug-in use.
+*
+*/
+
+
+#ifndef CLPDGLOBALPLUGINDIALOG_H
+#define CLPDGLOBALPLUGINDIALOG_H
+
+// INCLUDES
+#include <hbdevicemessageboxsymbian.h>
+#include <hbdevicenotificationdialogsymbian.h>
+#include <hbdevicedialogsymbian.h>
+
+
+const TInt KReqBufferSize = 256;
+// FORWARD DECLARATIONS
+class MLpdDlgObserver;
+class CLpdRequestorProcessor;
+class CHbDeviceDialog;
+// CLASS DECLARATION
+
+/**
+*  A list query dialog suitable for verifier plug-in use.
+*  utilizes MLpdDlgObserver
+*  for notifying when dialog is dismissed.
+*
+*  @lib locverifierdlg.lib
+*  @since 2.1
+*/
+class CLpdGlobalPluginDialog : public CBase,
+                               public  MHbDeviceDialogObserver ,
+                               public  MHbDeviceNotificationDialogObserver 
+
+	{
+    public:  // Constructors and destructor
+
+        /**
+        * Two-phased constructor.
+        * @param aCallBack is notified when dialog is dismissed
+        * @return created object
+        */
+        static CLpdGlobalPluginDialog* NewL(
+                    MLpdDlgObserver& aCallBack);
+
+		
+        /**
+        * C++ destructor.
+        */
+        virtual ~CLpdGlobalPluginDialog();
+
+    public: // Functions from base classes
+
+      
+        void RunVerificationQueryL();
+        
+        void RunNotificationL();
+        
+                        
+        void SetRequestInfoL( CLpdRequestorProcessor* aRequestInfo );
+              
+        
+        void Cancel();
+        
+        void DataReceived(CHbSymbianVariantMap& aData);
+
+        void DeviceDialogClosed(TInt aCompletionCode);
+        
+        void AddVerDlgHeadingParamL();
+        
+        void AddQueryTextParamL();
+        
+        void AddRequestorsParamL();
+        
+           
+        
+    public:
+        void  NotificationDialogActivated (const CHbDeviceNotificationDialogSymbian *aDialog);
+        
+        void  NotificationDialogClosed (const CHbDeviceNotificationDialogSymbian *aDialog, TInt aCompletionCode);
+
+
+          
+    private:  // Constructors and destructor
+
+        /**
+        * Symbian 2nd Phase Constructor.
+        */
+		void ConstructL();
+
+        /**
+        * C++ constructor.
+        * @param aCallBack is notified when dialog is dismissed
+        */
+        CLpdGlobalPluginDialog(
+                    MLpdDlgObserver& aCallBack);
+
+    private:    // Data
+
+        // Object which is notified when query is dismissed
+        MLpdDlgObserver& iCallBack;
+        CHbDeviceDialogSymbian* iMsgBox;
+        CHbDeviceNotificationDialogSymbian* iNotification;
+        CLpdRequestorProcessor* iRequestInfo;
+        CHbSymbianVariantMap* mSymbianVariantMap;
+        TBool mDissmissed;
+        TBool isCancelled;
+
+        
+	};
+
+#endif      // CLPDGLOBALPLUGINDIALOG_H   
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/inc/lpdnotifierquerylauncher.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,82 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Class which handles the dialog and expiration timer.
+*
+*/
+
+
+#ifndef CLPDNOTIFIERQUERYLAUNCHER_H
+#define CLPDNOTIFIERQUERYLAUNCHER_H
+
+//  INCLUDES
+#include "lpdquerylauncherbase.h"
+#include <e32base.h>
+#include <lbs/epos_privacy.h>
+
+// FORWARD DECLARATIONS
+
+
+// CLASS DECLARATION
+
+/**
+*  Implements functionality for executing notifications.
+*
+*  @lib locverifierdlg.lib
+*  @since 2.1
+*/
+class CLpdNotifierQueryLauncher :
+public CLpdQueryLauncherBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * Two-phased constructor.
+        * @param aHandler of ther query result
+        * @return created object
+        */
+        static CLpdNotifierQueryLauncher* NewL( MLpdResultHandler& aHandler );
+        
+        /**
+        * Destructor. Call Cancel() first if you have launched a query.
+        */
+        virtual ~CLpdNotifierQueryLauncher();
+
+           
+    protected: // Functions from base classes
+
+        /**
+        * From CLpdQueryLauncherBase, called when dialog is dismissed.
+        */
+        void ExtendedHandleDlgDismissedL();
+        
+        void RequestType(TRequestType& aRequestType);
+
+    private: // Constructors and destructors
+
+        /**
+        * C++ constructor.
+        * @param aHandler of the query result
+        */
+        CLpdNotifierQueryLauncher( MLpdResultHandler& aHandler );
+
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+        void ConstructL();
+    
+    };
+
+#endif      // CLPDNOTIFIERQUERYLAUNCHER_H   
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/inc/lpdquerylauncherbase.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,144 @@
+/*
+* 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:  Abstract base class for queries.
+*
+*/
+
+
+#ifndef CLPDQUERYLAUNCHERBASE_H
+#define CLPDQUERYLAUNCHERBASE_H
+
+//  INCLUDES
+#include "lpddlgobserver.h"
+
+#include <e32base.h>
+#include <badesca.h>
+#include <coemain.h>
+
+#include <epos_cposprivacynotifier.h>
+
+
+// SYSTEM INCLUDE
+
+
+// FORWARD DECLARATIONS
+class CLpdGlobalPluginDialog;
+class CLpdMessagePluginDialog;
+class MLpdResultHandler;
+class CLpdRequestorProcessor;
+
+    
+// CLASS DECLARATION
+
+/**
+*  Base class which handles the dialog and expiration timer.
+*  Expiration timer can be used to ensure that if the user doesn't handle
+*  a dialog in certain time the dialog is closed. NOTE: In current
+*  implementation the timer is not started, i.e. dialogs never expire.
+*  Implementations of this class should notify a result handler
+*  when dialog result is available. This base class takes care of
+*  notifying possible timeout with KErrTimedOut.
+*
+*  @lib locverifierdlg.lib
+*  @since 2.1
+*/
+class CLpdQueryLauncherBase : public CBase, public MLpdDlgObserver
+    {
+    
+protected:
+        enum TRequestType
+               {
+               EVerification = 0,
+               ENotification,
+               EUnknown
+               };
+ 
+   
+    public:  // Constructors and destructor
+                
+        /**
+        * Destructor. Exits possibly running dialog without callback.
+        */
+        virtual ~CLpdQueryLauncherBase();
+        
+        
+    public: // New functions, query setup and launching
+
+       /**
+        * Method for setting text array.
+        * 
+        */
+        void SetRequestInfoL( CLpdRequestorProcessor* aRequestInfo );
+
+       
+        /**
+        * Method for launching query, note that it must have been
+        * correctly prepared first.
+        */
+        void StartQueryL();
+
+              
+        virtual void RequestType(TRequestType& aRequestType);
+
+   
+    public: // Functions from base classes
+
+        /**
+        * From MLpdDlgObserver, called when dialog is dismissed.
+        * This method calls also pure virtual method
+        * ExtendedHandleDlgDismissedL().
+        * @param aResult code of the query
+        */
+        void HandleDlgDismissedL( TInt aResult);
+
+    public: 
+         void Cancel();
+    protected: // Constructors and destructors
+
+        /**
+        * C++ constructor.
+        * @param aHandler of the query result
+        */
+        CLpdQueryLauncherBase( MLpdResultHandler& aHandler );
+        
+        void ConstructL();
+      
+    protected: // New functions
+
+        /**
+        * This pure virtual method must be implemented
+        * by the derived class to handle the result code
+        * appropriately and to notify the observer of this
+        * class.
+        */
+        virtual void ExtendedHandleDlgDismissedL() = 0;
+
+   
+    protected: // Data
+
+        // Reference to the result handler
+        MLpdResultHandler& iHandler;
+
+        // Result code from the dialog
+        TInt iResult;
+
+        // Pointer to the list query dialog
+        CLpdGlobalPluginDialog* iQueryDlg; // owns untils RunLD() called
+            
+        
+    };
+
+#endif      // CLPDQUERYLAUNCHERBASE_H   
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/inc/lpdrequestao.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,96 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Active object which ensures that current call stack is run to
+*                completion before a new request is handled
+*
+*/
+
+
+#ifndef CLPDREQUESTAO_H
+#define CLPDREQUESTAO_H
+
+//  INCLUDES
+#include <e32base.h>
+#include <lbs/epos_privacy.h>
+
+
+// FORWARD DECLARATIONS
+class CLpdVerifierPlugin;
+
+// CLASS DECLARATION
+
+/**
+*  Active object used by the verifier plugin. 
+*  Ensures that current call stack is run to completion before a 
+*  new request is handled. Otherwise access violations might occur.
+*
+*  @lib locverifierdlg.lib
+*  @since 2.1
+*/
+class CLpdRequestAO : public CActive
+    {    
+	public: // Constructors and destructors        
+
+        /**
+        * Two-phased constructor.
+        * @param aPlugin reference to the owner of this object
+        * @return created object
+        */
+	    static CLpdRequestAO* NewL( CLpdVerifierPlugin& aPlugin );        
+
+        /**
+        * Destructor.
+        */
+	    virtual ~CLpdRequestAO();
+
+    public: // New functions
+
+        /**
+        * Issues a request and completes it immediatelly, so that it
+        * will be handled as soon as previous request is run to completion.
+        */
+        void ScheduleRequest();
+
+       		
+    private:
+
+	    /**
+        * Private C++ default constructor.
+        * @param aPlugin reference to the owner of this object
+        */
+		CLpdRequestAO( CLpdVerifierPlugin& aPlugin ); 	    
+
+    private: // Functions from base classes
+        
+        /**
+        * From CActive.
+        */
+        void RunL();
+        
+        /**
+        * From CActive.
+        */
+        void DoCancel();
+    	
+    private: // Data
+
+        // Verifier plugin
+        CLpdVerifierPlugin& iPlugin; // doesn't own     
+
+		
+};
+
+#endif      // CLPDREQUESTAO_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/inc/lpdrequestorprocessor.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,117 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Processes requestor related data.
+*
+*/
+
+
+#ifndef CLPDREQUESTORPROCESSOR_H
+#define CLPDREQUESTORPROCESSOR_H
+
+//  INCLUDES
+#include "locrequestorutilsresolver.h"
+#include <e32base.h>
+#include <lbs/epos_rposrequestorstack.h>
+#include <lbs/epos_cposrequestor.h>
+#include <lbs/epos_privacy.h>
+// FORWARD DECLARATIONS
+class CPosPrivacyNotifier;
+
+
+// CLASS DECLARATION
+
+/**
+*  This class reads, processes and owns requestor data.
+*  @lib locverifierdlg.dll
+*  @since 2.1
+*/
+class CLpdRequestorProcessor : public CBase
+    {
+    public:  // Constructors and destructor
+        
+        enum TDialogType
+            {
+            /** Query dialog requested. */
+            EQuery = 0,
+            /** Notification dialog requested. */
+            ENotification
+            };
+ 
+    
+    
+       /**
+        * Two-phased constructor.
+        * @return created object
+        */
+        static CLpdRequestorProcessor* NewL();
+        
+        /**
+        * Destructor.
+        */
+        virtual ~CLpdRequestorProcessor();
+
+    public: // New functions
+
+        /**
+        * Reads requestor information from the privacy notifier.
+        * Uses RequestorIdValid() for id validity check.
+        * Calls UpdateRuleRequestorsL().
+        * @param aPosNotifier reference
+        * @return ETrue if all requestor id's were valid, EFalse otherwise.
+        */
+        TBool ReadRequestorsL( const CPosPrivacyNotifier& aPosNotifier );
+
+        /**
+        * Returns requestor array for reading.
+        * @return array of requestors
+        */
+        const RPointerArray<CPosRequestor>& Requestors() const;
+        
+        /**
+         * Resets requestor arrays and destroys requestor objects.
+         */
+         void ResetAndDestroyRequestors();
+       
+             		
+    protected: // Constructors and destructors
+
+        /**
+        * C++ constructor.
+        */
+        CLpdRequestorProcessor();
+
+    protected: // New methods
+
+        /**
+        * Handles assert errors. Panics in debug build but leaves in release
+        * build, as this component runs in EikSrv and must never panic.
+        */
+        void HandleAssertErrorL() const;
+
+    private:
+        TBool RequestorIdValid(
+            const CPosRequestor& aRequestor );
+   
+    public:
+        RPointerArray<CPosRequestor> iRequestors;
+        CPosRequestor::TRequestType  iRequestType;
+        TPosRequestDecision          iRequestDecision;
+        TDialogType                  iDialogType; 
+        TPosNotificationReason       iNotifReason; 
+        
+    };
+
+#endif      // CLPDREQUESTORPROCESSOR_H   
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/inc/lpdresulthandler.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,66 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Callback interface class.
+*
+*/
+
+
+#ifndef MLPDRESULTHANDLER_H
+#define MLPDRESULTHANDLER_H
+
+// INCLUDES
+#include <e32def.h>
+
+// FORWARD DECLARATIONS
+class CLpdQueryLauncherBase;
+
+
+// CLASS DECLARATION
+
+/**
+*  Observer pattern for handling dialog result. Used by several
+*  classes deriving from CLpdQueryLauncherBase.
+*
+*  @lib locverifierdlg.lib
+*  @since 2.1
+*/
+class MLpdResultHandler
+    {
+    public: // New functions
+
+        /**
+        * Pure virtual observer method.
+        * @param aResultCode
+        */        
+        virtual void HandleVerificationResultL( TInt aResultCode ) = 0;
+
+        /**
+        * Pure virtual observer method.
+        * @param aResultCode
+        */        
+        virtual void HandleNotificationResultL( TInt aResultCode ) = 0;
+
+        /**
+        * Pure virtual observer method. Called if leave occurred in other
+        * callback methods. Used because it is not acceptable to propagate
+        * leave to AVKON dialog, plugin must clean up and continue with
+        * handling of request queue.
+        * @param aError code
+        */        
+        virtual void HandleLeave( TInt aError ) = 0;
+    };
+
+#endif      // MLPDRESULTHANDLER_H   
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/inc/lpdverifierplugin.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,224 @@
+/*
+* 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:  Verifier plug-in which derives from CPosPrivacyNotifier.
+*
+*/
+
+
+// INCLUDES
+
+#ifndef CLPDVERIFIERDLG_H
+#define CLPDVERIFIERDLG_H
+
+#include "lpdrequestao.h"
+#include "lpdresulthandler.h"
+
+#include <epos_cposprivacynotifier.h>
+#include <lbs/epos_privacy.h>
+#include <lbs/epos_cposrequestor.h>
+// SYSTEM INCLUDE
+#include <bldvariant.hrh>               // For the 3.2 Flag
+
+
+// FORWARD DECLARATIONS
+class CLpdVerifierQueryLauncher;
+class CLpdNotifierQueryLauncher;
+class CLpdRequestorProcessor;
+class CLocRequestorUtilsResolver;
+
+
+// CLASS DECLARATION
+
+/**
+*  Verifier plug-in which derives from CPosPrivacyNotifier.
+*  Notifiers are based on RNotifier framework, and this particular
+*  notifier is used to launch a privacy query for accepting/rejecting
+*  privacy requests. It also shows informational notes and error
+*  messages, which are received as notification.
+*
+*  @lib locverifierdlg.lib
+*  @since 2.1
+*/
+class CLpdVerifierPlugin : public CPosPrivacyNotifier, public MLpdResultHandler
+    {
+    // To allow calls to HandleNextRequest() from active object
+    friend class CLpdRequestAO;
+    
+    private:
+
+        
+    public:  // Constructors and destructor
+        
+        /**
+        * Two-phased constructor.
+        * @return created object
+        */
+        static CLpdVerifierPlugin* NewL();
+        
+        /**
+        * Destructor.
+        */
+        virtual ~CLpdVerifierPlugin();
+
+	   /**
+        * Method for cancelling query or freeing
+        * resources after finishing query.
+        */
+        void FreeQueryResources();
+
+    public: // Functions from base classes
+
+        /**
+        * From CPosPrivacyNotifier, called when a new request arrives.
+        * @param aRequestId identifier of received request
+        */
+        void HandleNewRequestL( TPosQNRequestId aRequestId );
+
+        /**
+        * From CPosPrivacyNotifier, called when request has been cancelled
+        * @param aRequestId identifier of cancelled request
+        */
+        void HandleRequestCancelled( TPosQNRequestId aRequestId );
+
+        /**
+        * From CPosPrivacyNotifier, called when all requests are cancelled.
+        */
+        void HandleAllRequestCancelled();
+
+        /**
+        * From MLpdResultHandler, called when verification result is available.
+        * @param aResultCode
+        */        
+        void HandleVerificationResultL( TInt aResultCode );
+
+        /**
+        * From MLpdResultHandler, called when notification has been done.
+        * @param aResultCode
+        */        
+        void HandleNotificationResultL( TInt aResultCode );
+
+        /**
+        * From MLpdResultHandler, called if leave occurred in callback method
+        * @param aError code
+        */        
+        void HandleLeave( TInt aError );
+        
+      
+
+
+    protected:  // New functions
+
+        /**
+        * Non-leaving internal method for handling next pending request.
+        */
+        void HandleNextRequest();
+        
+        /**
+        * Internal method for handling next pending request.
+        */
+        void HandleNextRequestL();
+
+        /**
+        * Internal helper method used by HandleNextRequestL().
+        */
+        void HandleNextVerificationL();
+
+        /**
+        * Internal helper method used by HandleNextRequestL().
+        */
+        void HandleNextNotificationL();
+
+        /**
+          * Internal helper method used by HandleNextNotificationL().
+          */
+        void HandleNextNonPeriodicNotificationL();
+
+        
+        /**
+        * Internal helper method.
+        * Completes current request and continues queue handling.
+        */
+        void CompleteCurrentAndContinue( TInt aResultCode );
+
+        /**
+        * Handles assert errors. Panics in debug build but leaves in release
+        * build, as this component runs in EikSrv and must never panic.
+        */
+        void HandleAssertErrorL() const;
+
+        /**
+        * Panics in debug build but does nothing in release build.
+        */
+        void HandleDebugAssertError() const;
+     
+       
+      
+
+    private:
+
+        /**
+        * C++ default constructor.
+        */
+        CLpdVerifierPlugin();
+
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+        void ConstructL();
+    
+        
+      
+         /**
+          * Checks the type of request and helps to know
+          * if a given request is of SUPL periodic type
+          * @param aCurrentRequest request id
+          * @return CPosRequestor::TRequestType type of request enum
+         */
+        CPosRequestor::TRequestType CheckRequestTypeL();
+
+
+    private:    // Data
+
+     
+
+        // Identifier of currently handled request
+        TPosQNRequestId iCurrentRequest;
+
+        // Type of the current request, valid if iCurrentRequest valid
+        TRequestType iCurrentRequestType;
+
+        // Result code of verifier query, needed if user cancels rule query
+        TInt iVerifyResult;
+
+       
+        // Location request accept/reject query object
+        CLpdVerifierQueryLauncher* iVerifierQuery;  // owns
+
+        // Location request accept/reject query object
+        CLpdNotifierQueryLauncher* iNotifier;       // owns
+        
+        // Active object, used to let requests run to
+        // completion instead of recursive calls.
+        CLpdRequestAO* iRequestActiveObject;        // owns
+
+        CLpdRequestorProcessor* iRtorProcessor;     // owns
+        
+        CLocRequestorUtilsResolver* iUtils; // owns
+
+        
+        };
+
+#endif      // CLPDVERIFIERDLG_H   
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/inc/lpdverifierquerylauncher.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,88 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Class which handles the dialog and expiration timer.
+*
+*/
+
+
+#ifndef CLPDVERIFIERQUERYLAUNCHER_H
+#define CLPDVERIFIERQUERYLAUNCHER_H
+
+//  INCLUDES
+#include "lpdquerylauncherbase.h"
+#include <e32base.h>
+#include <lbs/epos_privacy.h>
+
+
+// FORWARD DECLARATIONS
+class CLpdGlobalPluginDialog;
+
+
+// CLASS DECLARATION
+
+/**
+*  Implements functionality for executing verification queries.
+*
+*  @lib locverifierdlg.lib
+*  @since 2.1
+*/
+class CLpdVerifierQueryLauncher :
+public CLpdQueryLauncherBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * Two-phased constructor.
+        * @param aHandler of ther query result
+        * @return created object
+        */
+        static CLpdVerifierQueryLauncher* NewL( 
+            MLpdResultHandler& aHandler );
+        
+        /**
+        * Destructor. Call Cancel() first if you have launched a query.
+        */
+        virtual ~CLpdVerifierQueryLauncher();
+
+    public: // New functions
+        
+       
+    protected: // Functions from base classes
+
+        /**
+        * From CLpdQueryLauncherBase, called when dialog is dismissed.
+        */
+        void ExtendedHandleDlgDismissedL();
+        
+        void RequestType(TRequestType& aRequestType);
+
+    private: // Constructors and destructors
+
+        /**
+        * C++ constructor.
+        * @param aHandler of the query result
+        */
+        CLpdVerifierQueryLauncher( MLpdResultHandler& aHandler );
+
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+        void ConstructL();
+            
+        
+    };
+
+#endif      // CLPDVERIFIERQUERYLAUNCHER_H   
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/rss/101f84fc.rss	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,49 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  This file specifies the interface and implementation information
+*                 for BTnotif Ecom Plugins.
+*
+*/
+
+
+#include "ecom/registryinfo.rh"
+#include "uikon.hrh"
+#include <lbs/epos_privacynotifier.hrh>
+
+#define PRINOTDISPLAYNAME "TTNOTIFY2V2 Plugin 1"
+#define PRINOTDEFAULTDATA "TTNOTIFY2V2"
+#define PRINOTOPAQUEDATA  "0"
+
+RESOURCE REGISTRY_INFO theInfo
+{
+	dll_uid = 0x101f84fc;
+	interfaces =
+	{
+	INTERFACE_INFO
+		{
+		interface_uid = KUikonUidPluginInterfaceNotifiers; // ECOM Notifier Plugin 
+		implementations =
+				{
+				IMPLEMENTATION_INFO
+					{
+					implementation_uid = 0x10207243;
+					version_no = 1;
+					display_name = PRINOTDISPLAYNAME;
+					default_data = PRINOTDEFAULTDATA;
+					opaque_data	 = PRINOTOPAQUEDATA;
+					}
+				};
+		}
+	};
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/src/lpddllmain.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,76 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Dll entry point and plugin creation functions.
+*
+*/
+
+
+// INCLUDE FILES
+#include "lpdverifierplugin.h"
+#include <e32base.h>
+#include <eiknotapi.h>
+#include <ecom/implementationproxy.h>
+
+// ============================= LOCAL FUNCTIONS ===============================
+
+LOCAL_C void CreateNotifiersL( 
+    CArrayPtrFlat<MEikSrvNotifierBase2>* aNotifiers )
+    {
+    CLpdVerifierPlugin* notifier = CLpdVerifierPlugin::NewL();
+    CleanupStack::PushL( notifier );
+    aNotifiers->AppendL( notifier->NotifierBase() );
+    CleanupStack::Pop( notifier ); // Do not destroy. This is handled by the FW.
+    }
+
+// ========================== OTHER EXPORTED FUNCTIONS =========================
+
+LOCAL_C CArrayPtr<MEikSrvNotifierBase2>* NotifierArray()
+    {
+    CArrayPtrFlat<MEikSrvNotifierBase2>* notifiers =
+        new CArrayPtrFlat<MEikSrvNotifierBase2>( 1 );
+    if ( notifiers )
+        {
+        TRAPD( err, CreateNotifiersL( notifiers ) );
+        if ( err )
+            { // release any notifiers we have created
+            TInt count = notifiers->Count();
+            while ( --count >= 0 )
+                {
+                ( *notifiers )[count]->Release();
+                }
+            delete notifiers;
+            notifiers = NULL;
+            }
+        }
+    return notifiers;
+    }
+
+const TImplementationProxy ImplementationTable[] =
+	{
+#ifdef __EABI__
+	{{0x10207243},(TFuncPtr)NotifierArray}
+#else
+	{{0x10207243},NotifierArray}
+#endif
+	};
+
+// ======== GLOBAL FUNCTIONS ========
+
+EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
+	{
+	aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy) ;
+	return ImplementationTable;
+	}
+	
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/src/lpdglobalplugindialog.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,445 @@
+/*
+* 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:  List query dialog suitable for verifier plug-in use.
+*
+*/
+
+
+// INCLUDE FILES
+#include "lpdglobalplugindialog.h"
+#include "lpddlgobserver.h"
+#include "lpdrequestorprocessor.h"
+#include "locverifierdlgdebug.h"
+
+#include <lbs/EPos_CPosContactRequestor.h>
+#include <lbs/EPos_CPosServiceRequestor.h>
+#include <lbs/EPos_CPosRequestor.h>
+#include <hbsymbianvariant.h>
+#include <hbtextresolversymbian.h>
+#include <systemtoneservice.h>
+#include <e32des16.h>
+
+_LIT(KNotifReqSeperator,",");
+_LIT(KHeadingKey, "heading");
+_LIT(KQueryTextKey, "queryText");
+_LIT(KQueryText2Key, "queryText2");
+_LIT(KRequestorKey, "requestor");
+_LIT(KVerificationDlgType, "hb.posverifiction.dialog/1.0");
+_LIT(KLocTsFileName, "lilocationmw_");
+_LIT(KLocTsFilePath, "z://resource/qt/translations/");
+_LIT(KLocTsAFileAltPath, "c://resource/");
+//Translation String Ids
+//Verification Dialog
+_LIT(KRequestHeading, "txt_loe_title_location_request");
+_LIT(KSingleshotDecisionRejected, "txt_loe_info_your_location_will_not_be_shared_by_d");
+_LIT(KSingleshotDecisionAccepted, "txt_loe_info_your_location_will_be_shared_by_defau");
+_LIT(KSingleshotDecisionNotAvailable, "txt_loe_info_your_location_will_be_shared_with");
+_LIT(KPeriodicDecisionRejected, "txt_loe_info_your_location_will_not_be_shared_peri");
+_LIT(KPeriodicDecisionAccepted, "txt_loe_info_your_location_will_be_shared_periodic");
+_LIT(KPeriodicDecisionNotAvailable, "txt_loe_info_you_location_will_be_shared_periodica");
+_LIT(KRequestorText, "txt_loe_info_location_was_requested_by");
+_LIT(KUnknownRequestor, "txt_loe_info_unknown_requestor");
+//Notification
+_LIT(KNotificationNotSent, "txt_loe_dpophead_your_location_not_sent_to");
+_LIT(KNotificationSent, "txt_loe_dpophead_your_location_sent_to");
+
+const TInt KNotificationTimeout = 15000;
+const TInt KMaxSize = 1024;
+const TInt KVariantMaxSize = 256;
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CLpdGlobalPluginDialog::CLpdGlobalPluginDialog
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CLpdGlobalPluginDialog::CLpdGlobalPluginDialog(                    
+    MLpdDlgObserver& aCallBack
+    )
+    : iCallBack( aCallBack ),
+      iMsgBox(NULL),
+      iNotification(NULL),
+      iRequestInfo(NULL)
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// CLpdGlobalPluginDialog::ConstructL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+void CLpdGlobalPluginDialog::ConstructL()
+    {
+    LOCVERIFIERDLGDEBUG( "+CLpdGlobalPluginDialog::ConstructL" );
+    iMsgBox = CHbDeviceDialogSymbian::NewL();
+    iNotification = CHbDeviceNotificationDialogSymbian::NewL(this);
+    TBool result =
+            HbTextResolverSymbian::Init(KLocTsFileName, KLocTsFilePath);
+    if (!result)
+        {
+        HbTextResolverSymbian::Init(KLocTsFileName, KLocTsAFileAltPath);
+        }
+    LOCVERIFIERDLGDEBUG( "-CLpdGlobalPluginDialog::ConstructL" );
+    }
+
+// -----------------------------------------------------------------------------
+// CLpdGlobalPluginDialog::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CLpdGlobalPluginDialog* CLpdGlobalPluginDialog::NewL(                    
+    MLpdDlgObserver& aCallBack)
+    {
+    CLpdGlobalPluginDialog* self =
+        new( ELeave ) CLpdGlobalPluginDialog( aCallBack);
+	CleanupStack::PushL(self);
+	self->ConstructL();
+	CleanupStack::Pop(self);  
+    return self;
+    }
+
+// Destructor
+CLpdGlobalPluginDialog::~CLpdGlobalPluginDialog()
+	{
+   	 LOCVERIFIERDLGDEBUG( "+CLpdGlobalPluginDialog::~CLpdGlobalPluginDialog" );
+   	delete iMsgBox;
+	iMsgBox = NULL;
+	
+	delete iNotification;
+	iNotification = NULL;
+	
+	 delete iRequestInfo;
+	 iRequestInfo=NULL;
+	 LOCVERIFIERDLGDEBUG( "-CLpdGlobalPluginDialog::~CLpdGlobalPluginDialog" );
+	}
+
+
+// -----------------------------------------------------------------------------
+// CLpdGlobalPluginDialog::RunLD
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdGlobalPluginDialog::RunVerificationQueryL()
+    {
+    LOCVERIFIERDLGDEBUG( "+CLpdGlobalPluginDialog::RunVerificationQueryL" );
+    mSymbianVariantMap = CHbSymbianVariantMap::NewL();
+    CleanupStack::PushL(mSymbianVariantMap);
+    
+    AddVerDlgHeadingParamL();
+    AddQueryTextParamL();
+    AddRequestorsParamL();
+    CSystemToneService* sts = CSystemToneService::Create();
+    iMsgBox->Show(KVerificationDlgType, *mSymbianVariantMap, this);
+    if( sts )
+        {
+        sts->PlayTone(CSystemToneService::ELocationRequest);
+        }
+    CSystemToneService::Delete(sts);
+    CleanupStack::Pop(mSymbianVariantMap);
+    LOCVERIFIERDLGDEBUG( "-CLpdGlobalPluginDialog::RunVerificationQueryL" );
+    }
+
+void CLpdGlobalPluginDialog::RunNotificationL()
+    {
+    LOCVERIFIERDLGDEBUG( "+CLpdGlobalPluginDialog::RunNotificationL" );
+    if( EPosDecisionByRequestSource == iRequestInfo->iNotifReason ||
+        EPosVerificationTimeout == iRequestInfo->iNotifReason    )
+        {
+        if ( EPosDecisionAccepted == iRequestInfo->iRequestDecision )
+            {
+            HBufC* title = HbTextResolverSymbian::LoadL(KNotificationSent);
+            CleanupStack::PushL(title);
+            iNotification->SetTitleL(title->Des());
+            CleanupStack::PopAndDestroy(title);
+            }
+        if( EPosDecisionRejected == iRequestInfo->iRequestDecision )
+            {
+            HBufC* title = HbTextResolverSymbian::LoadL(KNotificationNotSent);
+            CleanupStack::PushL(title);
+            iNotification->SetTitleL(title->Des());
+            CleanupStack::PopAndDestroy(title);
+            }
+        }
+    else
+        {
+        // Not supported   
+        User::Leave(KErrNotSupported);
+        }
+    TBuf<KMaxSize> buf;
+    
+    TInt count= iRequestInfo->iRequestors.Count();
+    if( count == 0 )
+        {
+        HBufC* requestor = HbTextResolverSymbian::LoadL(KUnknownRequestor);
+        CleanupStack::PushL(requestor);
+        buf.Append(requestor->Des());
+        CleanupStack::PopAndDestroy(requestor);
+        }
+    else
+        {
+        for(TInt i=0;i< count;i++ )
+            {
+            if(i!=0)
+                {
+                buf.Append(KNotifReqSeperator);
+                }
+            buf.Append(iRequestInfo->iRequestors[i]->RequestorIdString());
+            }
+        }
+    iNotification->SetTextL(buf);
+    iNotification->SetTimeout(KNotificationTimeout);
+    iNotification->EnableTouchActivation(ETrue);
+    iNotification->ShowL();
+    LOCVERIFIERDLGDEBUG( "-CLpdGlobalPluginDialog::RunNotificationL" );
+    }
+
+// -----------------------------------------------------------------------------
+// CLpdGlobalPluginDialog::SetMessageTextL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdGlobalPluginDialog::SetRequestInfoL( CLpdRequestorProcessor* aRequestInfo )
+    {
+    LOCVERIFIERDLGDEBUG( "+CLpdGlobalPluginDialog::SetRequestInfoL" );
+    if(iRequestInfo)
+        {
+        // clear and create again if already has been set before
+        delete iRequestInfo;
+        iRequestInfo=NULL;
+        }
+    iRequestInfo=CLpdRequestorProcessor::NewL();
+    
+    iRequestInfo->iDialogType=aRequestInfo->iDialogType;
+    iRequestInfo->iNotifReason=aRequestInfo->iNotifReason;
+    iRequestInfo->iRequestDecision=aRequestInfo->iRequestDecision;
+    iRequestInfo->iRequestType=aRequestInfo->iRequestType;
+    
+    const RPointerArray<CPosRequestor>& requestors = aRequestInfo->iRequestors;
+    
+    TInt count = requestors.Count();
+    for(TInt i=0; i< count; i++ )
+        {
+        CPosRequestor::TRequestorIdFormat idFormat;
+        TPtrC idString;
+        idFormat=requestors[i]->RequestorIdFormat();
+        idString.Set(requestors[i]->RequestorIdString());
+        
+        if( CPosRequestor::ERequestorService==requestors[i]->RequestType())
+            {
+            CPosServiceRequestor* service = CPosServiceRequestor::NewL(idFormat,idString);
+            CleanupStack::PushL(service);
+            // Ownership transferred
+            iRequestInfo->iRequestors.Append(service);
+            CleanupStack::Pop(service);
+            }
+        else
+            {
+            CPosContactRequestor* contact = CPosContactRequestor::NewL(idFormat,idString);
+            CleanupStack::PushL(contact);
+            // Ownership transferred
+            iRequestInfo->iRequestors.Append(contact);
+            CleanupStack::Pop(contact);
+            }
+        
+        }
+    LOCVERIFIERDLGDEBUG( "-CLpdGlobalPluginDialog::SetRequestInfoL" );
+    }
+
+
+
+void CLpdGlobalPluginDialog::Cancel()
+    {
+    // Close any running dialogs if any.Close() doesnt have any effect if dialog is not running
+    LOCVERIFIERDLGDEBUG( "+CLpdGlobalPluginDialog::Cancel" );
+    isCancelled = ETrue;
+    iMsgBox->Cancel();
+    iNotification->Close();
+    LOCVERIFIERDLGDEBUG( "-CLpdGlobalPluginDialog::Cancel" );
+    }
+
+void CLpdGlobalPluginDialog::NotificationDialogActivated(
+        const CHbDeviceNotificationDialogSymbian */*aDialog*/)        
+    {
+    LOCVERIFIERDLGDEBUG( "+CLpdGlobalPluginDialog::NotificationDialogActivated" );
+    // Complete with KErrNone now 
+    TRAP_IGNORE(iCallBack.HandleDlgDismissedL( KErrNone ));
+    LOCVERIFIERDLGDEBUG( "-CLpdGlobalPluginDialog::NotificationDialogActivated" );
+    }
+
+void CLpdGlobalPluginDialog::NotificationDialogClosed(
+        const CHbDeviceNotificationDialogSymbian */*aDialog*/,
+        TInt aCompletionCode)
+    {
+    LOCVERIFIERDLGDEBUG( "+CLpdGlobalPluginDialog::NotificationDialogClosed" );
+    TRAP_IGNORE(iCallBack.HandleDlgDismissedL( aCompletionCode ));
+    LOCVERIFIERDLGDEBUG( "-CLpdGlobalPluginDialog::NotificationDialogClosed" );
+    }
+
+void CLpdGlobalPluginDialog::DataReceived(CHbSymbianVariantMap& /*aData*/)
+    {
+    LOCVERIFIERDLGDEBUG( "+CLpdGlobalPluginDialog::DataReceived" );
+    mDissmissed = ETrue;
+    TRAP_IGNORE(iCallBack.HandleDlgDismissedL( KErrAccessDenied ));
+    LOCVERIFIERDLGDEBUG( "-CLpdGlobalPluginDialog::DataReceived" );
+    }
+
+void CLpdGlobalPluginDialog::DeviceDialogClosed(TInt /*aCompletionCode*/)
+    {
+     LOCVERIFIERDLGDEBUG( "+CLpdGlobalPluginDialog::DeviceDialogClosed" );
+    if (!mDissmissed && !isCancelled)
+        {
+        TRAP_IGNORE(iCallBack.HandleDlgDismissedL( KErrNone ));
+        }
+     LOCVERIFIERDLGDEBUG( "-CLpdGlobalPluginDialog::DeviceDialogClosed" );
+    }
+
+void CLpdGlobalPluginDialog::AddVerDlgHeadingParamL()
+    {
+    LOCVERIFIERDLGDEBUG( "+CLpdGlobalPluginDialog::AddVerDlgHeadingParamL" );
+    HBufC* headingText = HbTextResolverSymbian::LoadL(KRequestHeading);
+    CleanupStack::PushL(headingText);
+    CHbSymbianVariant* heading = CHbSymbianVariant::NewL(headingText,
+            CHbSymbianVariant::EDes);
+    CleanupStack::PushL(heading);
+    mSymbianVariantMap->Add(KHeadingKey, heading );
+    CleanupStack::Pop(heading);
+    CleanupStack::PopAndDestroy(headingText);
+    LOCVERIFIERDLGDEBUG( "-CLpdGlobalPluginDialog::AddVerDlgHeadingParamL" );
+    }
+
+void CLpdGlobalPluginDialog::AddQueryTextParamL()
+    {
+     LOCVERIFIERDLGDEBUG( "+CLpdGlobalPluginDialog::AddQueryTextParamL" );
+    HBufC * value = HBufC::NewL(KVariantMaxSize);
+    CleanupStack::PushL(value);
+    HBufC * value2 = HBufC::NewL(KVariantMaxSize);
+    CleanupStack::PushL(value2);
+    HBufC* requestorText = HbTextResolverSymbian::LoadL(KRequestorText);
+    CleanupStack::PushL(requestorText);
+
+    if (CPosRequestor::ERequestSingleShot == iRequestInfo->iRequestType)
+        {
+        if (EPosDecisionNotAvailable == iRequestInfo->iRequestDecision)
+            {
+            HBufC* queryText = HbTextResolverSymbian::LoadL(
+                    KSingleshotDecisionNotAvailable);
+            CleanupStack::PushL(queryText);
+            value->Des().Copy(queryText->Des());
+            CleanupStack::PopAndDestroy(queryText);
+            }
+        else if (EPosDecisionAccepted == iRequestInfo->iRequestDecision)
+            {
+            HBufC* queryText = HbTextResolverSymbian::LoadL(
+                    KSingleshotDecisionAccepted);
+            CleanupStack::PushL(queryText);
+            value->Des().Copy(queryText->Des());
+            value2->Des().Copy(requestorText->Des());
+            CleanupStack::PopAndDestroy(queryText);
+            }
+        else if (EPosDecisionRejected == iRequestInfo->iRequestDecision)
+            {
+            HBufC* queryText = HbTextResolverSymbian::LoadL(
+                    KSingleshotDecisionRejected);
+            CleanupStack::PushL(queryText);
+            value->Des().Copy(queryText->Des());
+            value2->Des().Copy(requestorText->Des());
+            CleanupStack::PopAndDestroy(queryText);
+            }
+        }
+
+    else if (CPosRequestor::ERequestPeriodic == iRequestInfo->iRequestType)
+        {
+        if (EPosDecisionNotAvailable == iRequestInfo->iRequestDecision)
+            {
+            HBufC* queryText = HbTextResolverSymbian::LoadL(
+                    KPeriodicDecisionNotAvailable);
+            CleanupStack::PushL(queryText);
+            value->Des().Copy(queryText->Des());
+            CleanupStack::PopAndDestroy(queryText);
+            }
+        else if (EPosDecisionAccepted == iRequestInfo->iRequestDecision)
+            {
+            HBufC* queryText = HbTextResolverSymbian::LoadL(
+                    KPeriodicDecisionAccepted);
+            CleanupStack::PushL(queryText);
+            value->Des().Copy(queryText->Des());
+            value2->Des().Copy(requestorText->Des());
+            CleanupStack::PopAndDestroy(queryText);
+            }
+        else if (EPosDecisionRejected == iRequestInfo->iRequestDecision)
+            {
+            HBufC* queryText = HbTextResolverSymbian::LoadL(
+                    KPeriodicDecisionRejected);
+            CleanupStack::PushL(queryText);
+            value->Des().Copy(queryText->Des());
+            value2->Des().Copy(requestorText->Des());
+            CleanupStack::PopAndDestroy(queryText);
+            }
+        }
+    else
+        {
+        // Not supported   
+        User::Leave(KErrNotSupported);
+        }
+
+    CHbSymbianVariant* queryText = CHbSymbianVariant::NewL(value,
+            CHbSymbianVariant::EDes);
+    CleanupStack::PushL(queryText);
+
+    CHbSymbianVariant* queryText2 = CHbSymbianVariant::NewL(value2,
+            CHbSymbianVariant::EDes);
+    CleanupStack::PushL(queryText2);
+
+    if (value2->Length()!= 0)
+        {
+        mSymbianVariantMap->Add(KQueryText2Key, queryText2);
+        }
+    mSymbianVariantMap->Add(KQueryTextKey, queryText);
+    CleanupStack::Pop(queryText2);
+    CleanupStack::Pop(queryText);
+    CleanupStack::PopAndDestroy(3);
+    LOCVERIFIERDLGDEBUG( "-CLpdGlobalPluginDialog::AddQueryTextParamL" );
+    }
+
+void CLpdGlobalPluginDialog::AddRequestorsParamL()
+    {
+    LOCVERIFIERDLGDEBUG( "+CLpdGlobalPluginDialog::AddRequestorsParamL" );
+    CDesC16ArrayFlat* array = new CDesC16ArrayFlat(8);
+    TInt reqCount = iRequestInfo->iRequestors.Count();
+    if (!reqCount)
+        {
+        HBufC* requestor = HbTextResolverSymbian::LoadL(KUnknownRequestor);
+        CleanupStack::PushL(requestor);
+        array->AppendL(requestor->Des());
+        CleanupStack::PopAndDestroy(requestor);
+        }
+    else
+    	{
+    	for (TInt i = 0; i < reqCount; ++i)
+	        {
+	        array->AppendL(iRequestInfo->iRequestors[i]->RequestorIdString());
+	        }
+	    }
+
+    TInt count = array->MdcaCount();
+    MDesCArray* marray = static_cast<MDesCArray*> (array);
+    CHbSymbianVariant* requestors = CHbSymbianVariant::NewL(marray,
+            CHbSymbianVariant::EDesArray);
+    mSymbianVariantMap->Add(KRequestorKey, requestors);
+    LOCVERIFIERDLGDEBUG( "-CLpdGlobalPluginDialog::AddRequestorsParamL" );
+    }
+
+// End of file
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/src/lpdnotifierquerylauncher.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,98 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Class which handles the dialog and expiration timer.
+*
+*/
+
+
+// INCLUDE FILES
+#include "lpdnotifierquerylauncher.h"
+#include "lpdglobalplugindialog.h"
+
+#include "lpdresulthandler.h"
+#include <lbs/epos_privacy.h>
+
+// CONSTANTS
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CLpdNotifierQueryLauncher::CLpdNotifierQueryLauncher
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CLpdNotifierQueryLauncher::CLpdNotifierQueryLauncher( 
+    MLpdResultHandler& aHandler ) 
+    : CLpdQueryLauncherBase( aHandler )
+    {
+    // Intentionally empty
+    }
+
+// -----------------------------------------------------------------------------
+// CLpdNotifierQueryLauncher::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CLpdNotifierQueryLauncher::ConstructL()
+    {
+    CLpdQueryLauncherBase::ConstructL();
+    }
+
+// -----------------------------------------------------------------------------
+// CLpdNotifierQueryLauncher::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CLpdNotifierQueryLauncher* CLpdNotifierQueryLauncher::NewL( 
+    MLpdResultHandler& aHandler )
+    {
+    CLpdNotifierQueryLauncher* self = new( ELeave )
+             CLpdNotifierQueryLauncher( aHandler );
+    
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop(self);
+
+    return self;
+    }
+
+// Destructor
+CLpdNotifierQueryLauncher::~CLpdNotifierQueryLauncher()
+    {
+    // Intentionally empty
+    }
+
+
+// -----------------------------------------------------------------------------
+// CLpdNotifierQueryLauncher::ExtendedHandleDlgDismissedL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdNotifierQueryLauncher::ExtendedHandleDlgDismissedL()
+    {
+    iHandler.HandleNotificationResultL( iResult );
+    }
+
+
+// -----------------------------------------------------------------------------
+// CLpdNotifierQueryLauncher::RequestType
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdNotifierQueryLauncher::RequestType(TRequestType& aRequestType)
+    {
+    aRequestType = CLpdQueryLauncherBase::ENotification;
+    }
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/src/lpdquerylauncherbase.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,142 @@
+/*
+* 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:  Abstract base class for queries.
+*
+*/
+
+
+// INCLUDE FILES
+
+#include "lpdquerylauncherbase.h"
+#include "lpdresulthandler.h"
+#include "lpdrequestorprocessor.h"
+
+#include "lpdglobalplugindialog.h"
+
+
+// CONSTANTS
+
+// Unnamed namespace for local definitions
+
+#ifdef _DEBUG
+//_LIT( KPanicText, "CLpdQueryLauncherBase" );
+enum TPanicCode
+    {
+    KLpdErrGeneral = 1
+    };
+#endif
+
+// INCLUDE FILES
+#include <s32mem.h>
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CLpdQueryLauncherBase::CLpdQueryLauncherBase
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CLpdQueryLauncherBase::CLpdQueryLauncherBase( MLpdResultHandler& aHandler )
+    : iHandler( aHandler ),
+      iResult( KErrArgument ),
+      iQueryDlg( NULL )
+    {
+    }
+
+
+
+// -----------------------------------------------------------------------------
+// CLpdQueryLauncherBase::~CLpdQueryLauncherBase
+// Destructor
+// -----------------------------------------------------------------------------
+//
+CLpdQueryLauncherBase::~CLpdQueryLauncherBase()
+    {
+    delete iQueryDlg;
+    iQueryDlg = NULL;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CLpdQueryLauncherBase::ConstructL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdQueryLauncherBase::ConstructL()
+    {
+    iQueryDlg = CLpdGlobalPluginDialog::NewL(*this);
+    }
+// -----------------------------------------------------------------------------
+// CLpdQueryLauncherBase::SetQueryTextArray
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdQueryLauncherBase::SetRequestInfoL( CLpdRequestorProcessor* aRequestInfo )
+    {
+    iQueryDlg->SetRequestInfoL(aRequestInfo);
+    }
+
+void CLpdQueryLauncherBase::RequestType(TRequestType& aRequestType)
+    {
+    aRequestType = EUnknown;
+    }
+// -----------------------------------------------------------------------------
+// CLpdQueryLauncherBase::StartQueryL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdQueryLauncherBase::StartQueryL()
+    {
+    TRequestType type;
+    RequestType( type );
+    if( EVerification == type )
+        {
+        iQueryDlg->RunVerificationQueryL();
+        }
+    else if( ENotification == type )
+        {
+        iQueryDlg->RunNotificationL();
+        }
+    else
+        {
+        // do nothing now
+        }
+
+    }
+
+void CLpdQueryLauncherBase::Cancel()
+    {
+    iQueryDlg->Cancel();
+    }
+// -----------------------------------------------------------------------------
+// CLpdQueryLauncherBase::HandleDlgDismissedL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdQueryLauncherBase::HandleDlgDismissedL(    
+    TInt aResult )
+    {
+    
+    iResult = aResult;
+      
+    TRAPD( err, ExtendedHandleDlgDismissedL() );
+         if ( err )
+             { 
+             iHandler.HandleLeave( err );
+             }
+      
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/src/lpdrequestao.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,95 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Active object which ensures that current call stack is run to
+*                completion before a new request is handled
+*
+*/
+
+
+// INCLUDE FILES
+#include "lpdrequestao.h"
+#include "lpdverifierplugin.h"
+#include <lbs/epos_cposrequestor.h>
+#include <lbs/epos_rposrequestorstack.h>
+
+// ================= MEMBER FUNCTIONS =======================
+
+// -----------------------------------------------------------------------------
+// CLpdRequestAO::CLpdRequestAO
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CLpdRequestAO::CLpdRequestAO( CLpdVerifierPlugin& aPlugin )
+    : CActive( CActive::EPriorityHigh ), iPlugin( aPlugin )
+    {
+	}
+
+// -----------------------------------------------------------------------------
+// CLpdRequestAO::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CLpdRequestAO* CLpdRequestAO::NewL( CLpdVerifierPlugin& aPlugin )
+	{
+    CLpdRequestAO* self = new( ELeave ) CLpdRequestAO( aPlugin );
+    CActiveScheduler::Add(self);
+    // Nothing to do in the Second Phase Constructor
+    return self;
+	}
+
+// Destructor
+CLpdRequestAO::~CLpdRequestAO()
+	{
+    Cancel();
+    
+	}
+
+// -----------------------------------------------------------------------------
+// CLpdRequestAO::ScheduleRequest
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdRequestAO::ScheduleRequest()
+    {	     
+    Cancel();
+    SetActive();
+    TRequestStatus* status = &iStatus;
+    User::RequestComplete( status, KErrNone );            
+    }
+
+// -----------------------------------------------------------------------------
+// CLpdRequestAO::RunL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdRequestAO::RunL()
+    {	    
+   	iPlugin.HandleNextRequest();
+    }
+
+// -----------------------------------------------------------------------------
+// CLpdRequestAO::DoCancel
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdRequestAO::DoCancel()
+    {
+    // Not important with this AO
+	}
+
+
+
+	
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/src/lpdrequestorprocessor.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,159 @@
+/*
+* 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:  Processes requestor related data.
+*
+*/
+
+
+// INCLUDE FILES
+#include "lpdrequestorprocessor.h"
+#include "contactresolversession.h"
+
+#include "locverifierdlgdebug.h"
+#include <lbs/epos_cposrequestor.h>
+#include <lbs/epos_cposcontactrequestor.h>
+#include <lbs/epos_cposservicerequestor.h>
+#include <epos_cposprivacynotifier.h>
+
+
+// Unnamed namespace for local definitions
+
+const TInt KRequestorsGranularity = 5;
+#ifdef _DEBUG
+_LIT( KPanicText, "CLpdRequestorProcessor" );
+enum TPanicCode
+    {
+    KLpdErrGeneral = 1
+    };
+#endif
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CLpdRequestorProcessor::CLpdRequestorProcessor
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CLpdRequestorProcessor::CLpdRequestorProcessor() 
+: iRequestors( KRequestorsGranularity)
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// CLpdRequestorProcessor::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CLpdRequestorProcessor* CLpdRequestorProcessor::NewL()
+    {
+    CLpdRequestorProcessor* self = new( ELeave ) CLpdRequestorProcessor;
+    // Nothing to do in the Second Phase Constructor
+    return self;
+    }
+    
+// Destructor
+CLpdRequestorProcessor::~CLpdRequestorProcessor()
+    {
+    iRequestors.ResetAndDestroy();
+    iRequestors.Close();
+    }
+
+// -----------------------------------------------------------------------------
+// CLpdRequestorProcessor::ReadRequestorsL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TBool CLpdRequestorProcessor::ReadRequestorsL(
+    const CPosPrivacyNotifier& aPosNotifier )
+    {
+    LOCVERIFIERDLGDEBUG( "+CLpdGlobalPluginDialog::ReadRequestorsL" );
+    __ASSERT_DEBUG( aPosNotifier.CurrentRequest() != KPosNullQNRequestId,
+                    HandleAssertErrorL() );
+
+    this->ResetAndDestroyRequestors();
+    
+    TBool allRequestorIdsValid = ETrue;
+   
+    // Let's read the requestors associated with the current request:
+    TInt nofRequestors = aPosNotifier.RequestorCountL();
+
+    for ( TInt i = 0; i < nofRequestors; i++ )
+        {
+        CPosRequestor* requestor = aPosNotifier.RequestorLC( i );
+        
+        if ( RequestorIdValid( *requestor ) )
+            { // mark that some requestor id is invalid
+            allRequestorIdsValid = EFalse;
+            }
+               
+        User::LeaveIfError( iRequestors.Append( requestor ) );
+        CleanupStack::Pop( requestor ); // iRequestors owns now the requestor
+        }
+
+    if ( nofRequestors == 0 )
+        {
+        allRequestorIdsValid = EFalse; // zero requestors == invalid
+        }
+
+     RContactResolverSession resSession;
+     TInt err = resSession.Connect();
+    
+     // If any error in connection,dont leave.Use un-resolved requestors
+     if( KErrNone == err )
+     	{
+     	resSession.ResolveRequestorsL(iRequestors);
+     	}
+     resSession.Close();
+       
+    LOCVERIFIERDLGDEBUG( "-CLpdGlobalPluginDialog::ReadRequestorsL" );
+    return allRequestorIdsValid;
+    }
+
+// -----------------------------------------------------------------------------
+// CLpdRequestorProcessor::ResetAndDestroyRequestors
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdRequestorProcessor::ResetAndDestroyRequestors()
+    {
+    iRequestors.ResetAndDestroy();
+    }
+
+// -----------------------------------------------------------------------------
+// CLpdRequestorProcessor::RequestorIdValid
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TBool CLpdRequestorProcessor::RequestorIdValid(
+    const CPosRequestor& aRequestor )
+    {
+    return( aRequestor.RequestorIdFormat() != CPosRequestor::EIdFormatUnknown );
+    }
+
+// -----------------------------------------------------------------------------
+// CLpdRequestorProcessor::HandleAssertErrorL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdRequestorProcessor::HandleAssertErrorL() const
+    {
+    #ifdef _DEBUG
+        User::Panic( KPanicText, KLpdErrGeneral );
+    #else
+        User::Leave( KErrCorrupt );
+    #endif
+    }
+// end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/src/lpdverifierplugin.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,579 @@
+/*
+ * 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:  Verifier plug-in which derives from CPosPrivacyNotifier.
+ *
+ */
+
+// INCLUDE FILES
+
+#include "lpdverifierplugin.h"
+
+#include "lpdrequestao.h"
+#include "lpdrequestorprocessor.h"
+#include "lpdverifierquerylauncher.h"
+#include "lpdnotifierquerylauncher.h"
+#include "locverifierdlgdebug.h"
+#include "locutilsdebug.h"
+
+#include <eiknotapi.h>
+#include <lbs/epos_rposrequestorstack.h>
+#include <epos_csuplsettingsconstants.h>
+
+// INCLUDE FILES
+#include <s32mem.h>
+
+
+
+const TInt KPrivSrvSecureId = 0x10281D45;
+// CONSTANTS
+
+// Unnamed namespace for local definitions
+
+const MEikSrvNotifierBase2::TNotifierPriority KNotifierPriority =
+        MEikSrvNotifierBase2::ENotifierPriorityHigh;
+const TUid KNotifierChannel =
+    {
+    0x100065ac
+    };
+#ifdef _DEBUG
+_LIT( KPanicText, "CLpdVerifierPlugin" );
+enum TPanicCode
+    {
+    KLpdErrGeneral = 1
+    };
+#endif
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierPlugin::CLpdVerifierPlugin
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CLpdVerifierPlugin::CLpdVerifierPlugin() :
+    iCurrentRequest(KPosNullQNRequestId)
+
+    {
+    
+    }
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierPlugin::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CLpdVerifierPlugin::ConstructL()
+    {
+    LOCVERIFIERDLGDEBUG( "+CLpdVerifierPlugin::ConstructL" );
+    BaseConstructL(KNotifierChannel, KNotifierPriority);
+  
+    iRtorProcessor = CLpdRequestorProcessor::NewL();
+    LOCVERIFIERDLGDEBUG( "-CLpdVerifierPlugin::ConstructL" );    	
+    }
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierPlugin::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CLpdVerifierPlugin* CLpdVerifierPlugin::NewL()
+    {
+     LOCVERIFIERDLGDEBUG( "+CLpdVerifierPlugin::NewL" );
+    CLpdVerifierPlugin* self = new (ELeave) CLpdVerifierPlugin;
+
+    CleanupStack::PushL(self);
+    self->ConstructL();
+    CleanupStack::Pop(self);
+     LOCVERIFIERDLGDEBUG( "-CLpdVerifierPlugin::NewL" );
+    return self;
+    }
+
+// Destructor
+CLpdVerifierPlugin::~CLpdVerifierPlugin()
+    {
+    LOCVERIFIERDLGDEBUG( "+CLpdVerifierPlugin::~CLpdVerifierPlugin" );
+    // Destruction of this plugin should only occur only in shutdown
+    // or in severe problem situation.
+
+    // A very special scenario is that base class construction leaves and
+    // this destructor is called. In that case CompleteAllRequests() causes
+    // access violation (noticed this by checking source code of base class).
+    if (NotifierBase())
+        { // base class has been fully constructed, method call is safe
+        CompleteAllRequests(KErrGeneral);
+        }
+
+    // It is enough to delete queries so when don't get callbacks.
+    FreeQueryResources();
+    
+    delete iRequestActiveObject;
+    iRequestActiveObject = NULL; 
+    delete iRtorProcessor;
+    iRtorProcessor = NULL; 
+    LOCVERIFIERDLGDEBUG( "-CLpdVerifierPlugin::~CLpdVerifierPlugin" );
+    
+    }
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierPlugin::HandleNewRequestL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdVerifierPlugin::HandleNewRequestL(TPosQNRequestId /*aRequestId */ )
+    {
+    LOCVERIFIERDLGDEBUG( "+CLpdVerifierPlugin::HandleNewRequestL" );
+    
+    // Check whether the notifier is already handling a request
+    // If yes, do nothing for now.
+    if (iRequestActiveObject)
+        {
+        return;
+        }
+    else
+        {
+        iRequestActiveObject = CLpdRequestAO::NewL(*this);
+        iRequestActiveObject->ScheduleRequest();
+        }
+    LOCVERIFIERDLGDEBUG( "-CLpdVerifierPlugin::HandleNewRequestL" );
+    }
+
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierPlugin::HandleRequestCancelled
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdVerifierPlugin::HandleRequestCancelled(TPosQNRequestId aRequestId)
+    {
+    LOCVERIFIERDLGDEBUG( "+CLpdVerifierPlugin::HandleRequestCancelled" );
+    // Check whether the request is coming from Uikon Server. 
+    // If not reject this request.
+    if (!CheckClientSecureId(KPrivSrvSecureId))
+        {
+        return;
+        }
+
+    
+    if (aRequestId != iCurrentRequest)
+        {
+        return;
+        }
+
+   
+    if (iCurrentRequestType == EQuery)
+        { // Verification was cancelled
+        __ASSERT_DEBUG( iVerifierQuery, HandleDebugAssertError() );
+        LOCVERIFIERDLGDEBUG( "Verification cancelled" );
+        iVerifierQuery->Cancel();
+        }
+    else
+        {
+        // It must be a notification then, this case is not probable but
+        // we can cancel the dialog if this would happen.
+        __ASSERT_DEBUG( iCurrentRequestType == ENotification,
+                HandleDebugAssertError() );
+         __ASSERT_DEBUG( iNotifier, HandleDebugAssertError() );
+        LOCVERIFIERDLGDEBUG( "Notification cancelled" );
+        iNotifier->Cancel();
+        }
+    LOCVERIFIERDLGDEBUG( "-CLpdVerifierPlugin::HandleRequestCancelled" );
+    }
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierPlugin::HandleAllRequestCancelled
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdVerifierPlugin::HandleAllRequestCancelled()
+    {
+    LOCVERIFIERDLGDEBUG( "+CLpdVerifierPlugin::HandleAllRequestCancelled" );
+    if (iCurrentRequest != KPosNullQNRequestId)
+        { // current request requires some specific behavior
+        HandleRequestCancelled(iCurrentRequest);
+        }
+   LOCVERIFIERDLGDEBUG( "-CLpdVerifierPlugin::HandleAllRequestCancelled" );
+    }
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierPlugin::HandleVerificationResultL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdVerifierPlugin::HandleVerificationResultL(TInt aResultCode)
+    {
+    iVerifyResult = aResultCode;
+
+        LOCVERIFIERDLGDEBUG1( "+CLpdVerifierPlugin::HandleVerificationResultL(%d)",
+                iVerifyResult );
+
+    switch (iVerifyResult)
+        {
+        case KErrNone: // fall through
+        case KErrAccessDenied:
+            {
+            // No need for rules now in 3.0
+            break;
+            }
+        case KErrTimedOut:
+            { // UI's internal timer expired
+            break;
+            }
+        case KErrCancel:
+            {
+            return; // don't handle next req. yet
+            }
+        case KErrAbort: // This is used for emergency call support
+            {
+            CompleteAllRequests(iVerifyResult);
+            // ScheduleRequest() allows the current call chain
+            // run to completion and resources are released after that.
+            iRequestActiveObject->ScheduleRequest();
+            return;
+            }
+        default:
+            {
+            
+            break;
+            }
+        }
+
+    CompleteCurrentAndContinue(iVerifyResult); // this request was handled
+    LOCVERIFIERDLGDEBUG( "-CLpdVerifierPlugin::HandleVerificationResultL" );
+    }
+// -----------------------------------------------------------------------------
+// CLpdVerifierPlugin::HandleNotificationResultL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdVerifierPlugin::HandleNotificationResultL(TInt aResultCode)
+    {
+
+   LOCVERIFIERDLGDEBUG1( "+CLpdVerifierPlugin::HandleVerificationResultL(%d)",
+                aResultCode );
+    CompleteRequest(iCurrentRequest, aResultCode);
+    iCurrentRequest = KPosNullQNRequestId;
+
+    switch (aResultCode)
+        {
+        case KErrNone: // fall through
+        case KErrTimedOut: // fall through
+            {
+            break;
+            }
+        case KErrCancel:
+            {
+            break;
+            }
+        case KErrAbort: // This is used for emergency call support
+            {
+            CompleteAllRequests(aResultCode);
+            // ScheduleRequest() -> allows the current call chain
+            // run to completion and resources are released after that.
+            break;
+            }
+        default:
+            {
+            
+            break;
+            }
+        }
+
+    iRequestActiveObject->ScheduleRequest(); // handle next req.
+    LOCVERIFIERDLGDEBUG( "-CLpdVerifierPlugin::HandleNotificationResultL" );
+    }
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierPlugin::HandleLeave
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdVerifierPlugin::HandleLeave(TInt /*aError*/)
+    {
+        LOCVERIFIERDLGDEBUG1( "+CLpdVerifierPlugin::HandleLeave(%d)", aError);
+    // In this case user needs feedback about the error situation:
+    
+
+    // In case of leave current request is completed with
+    // iVerifyResult, but queue handling is still continued.
+    // iVerifyResult is better completion code for request than aError.
+    CompleteCurrentAndContinue(iVerifyResult);
+    LOCVERIFIERDLGDEBUG( "-CLpdVerifierPlugin::HandleLeave" );
+    }
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierPlugin::HandleNextRequest
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdVerifierPlugin::HandleNextRequest()
+    {
+    LOCVERIFIERDLGDEBUG( "+CLpdVerifierPlugin::HandleNextRequest" );
+    TRAPD( err, HandleNextRequestL() );
+    if (err)
+        {
+        // In case of leave current request is completed with
+        // error code, but queue handling is still continued.
+
+        // If we couldn't start handling the request it is
+        // better not to confuse user with an error note.
+
+        CompleteCurrentAndContinue(iVerifyResult);
+        }
+    LOCVERIFIERDLGDEBUG( "-CLpdVerifierPlugin::HandleNextRequest" );
+    }
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierPlugin::HandleNextRequestL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdVerifierPlugin::HandleNextRequestL()
+    {
+    LOCVERIFIERDLGDEBUG( "+CLpdVerifierPlugin::HandleNextRequestL" );
+    // It is better to free previous query resources here, because
+    // now all callback methods have finished (active object allowed
+    // run to completion)
+    this->FreeQueryResources();
+
+    // Read the next request:
+    RArray<TPosQNRequestId> requests;
+    CleanupClosePushL(requests);
+    GetRequestsL(requests);
+
+    if (requests.Count() == 0)
+        { // No more requests to handle
+        CleanupStack::PopAndDestroy(); // requests
+        // This is a very important step, it allows new requests
+        // to flow in ( see HandleNewRequestL() ):
+        delete iRequestActiveObject;
+        iRequestActiveObject = NULL;
+        return;
+        }
+    iCurrentRequest = requests[0];
+    CleanupStack::PopAndDestroy(); // requests
+    SetCurrentRequestL(iCurrentRequest);
+
+    // Check whether the request is coming from Uikon Server. If not reject this request.
+    if (!CheckClientSecureId(KPrivSrvSecureId))
+        {
+        CompleteCurrentAndContinue(KErrPermissionDenied);
+        return;
+        }
+   
+    // Check the request type
+    iCurrentRequestType = RequestTypeL(iCurrentRequest);
+
+    iRtorProcessor->ReadRequestorsL(*this);
+
+      
+    
+    if (iCurrentRequestType == EQuery)
+        {
+        LOCVERIFIERDLGDEBUG( "New verification request received" );
+        HandleNextVerificationL();
+        }
+    else if (iCurrentRequestType == ENotification)
+        {
+        LOCVERIFIERDLGDEBUG( "New notification request received" );
+        HandleNextNotificationL();
+        }
+    else
+        {
+        User::Leave(KErrNotSupported);
+        }
+    LOCVERIFIERDLGDEBUG( "-CLpdVerifierPlugin::HandleNextRequestL" );
+    }
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierPlugin::HandleNextVerificationL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdVerifierPlugin::HandleNextVerificationL()
+    {
+    LOCVERIFIERDLGDEBUG( "+CLpdVerifierPlugin::HandleNextVerificationL" );
+    __ASSERT_DEBUG( iCurrentRequest != KPosNullQNRequestId,
+            HandleAssertErrorL() );
+    __ASSERT_DEBUG( !iVerifierQuery, HandleAssertErrorL() );
+    
+    CPosRequestor::TRequestType reqType;
+       if (CheckRequestTypeL() == CPosRequestor::ERequestPeriodic)
+            reqType = CPosRequestor::ERequestPeriodic;
+        else
+            reqType = CPosRequestor::ERequestSingleShot;
+    
+    TPosRequestSource source(RequestSource());
+    if (source == EPosRequestSourceNotAvailable)
+        {
+        CompleteCurrentAndContinue(KErrNone);
+        }
+    else
+        {
+        
+         TPosRequestDecision decision(QueryTimeoutStrategy());
+        
+        iRtorProcessor->iRequestType=reqType;
+        iRtorProcessor->iRequestDecision=decision;
+        iRtorProcessor->iDialogType=CLpdRequestorProcessor::EQuery;
+               
+        iVerifierQuery = CLpdVerifierQueryLauncher::NewL(*this);
+        // Ownership NOT transferred
+        iVerifierQuery->SetRequestInfoL(iRtorProcessor);
+        
+        iVerifierQuery->StartQueryL();    
+        }
+    LOCVERIFIERDLGDEBUG( "-CLpdVerifierPlugin::HandleNextVerificationL" );
+    }
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierPlugin::HandleNextNotificationL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdVerifierPlugin::HandleNextNotificationL()
+    {
+    LOCVERIFIERDLGDEBUG( "+CLpdVerifierPlugin::HandleNextNotificationL" );
+    __ASSERT_DEBUG( iCurrentRequest != KPosNullQNRequestId,
+            HandleAssertErrorL() );
+    
+    // There is no differentiation now for periodic and single shot notifications
+    HandleNextNonPeriodicNotificationL();
+    LOCVERIFIERDLGDEBUG( "-CLpdVerifierPlugin::HandleNextNotificationL" );
+    }
+// -----------------------------------------------------------------------------
+// CLpdVerifierPlugin::HandleNextNonPeriodicNotificationL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdVerifierPlugin::HandleNextNonPeriodicNotificationL()
+    {
+    LOCVERIFIERDLGDEBUG( "+CLpdVerifierPlugin::HandleNextNonPeriodicNotificationL" );
+    __ASSERT_DEBUG( iCurrentRequest != KPosNullQNRequestId,
+            HandleAssertErrorL() );
+    __ASSERT_DEBUG( !iNotifier, HandleAssertErrorL() );
+
+    if (RequestSource() != EPosRequestSourceNetwork)
+        { // Notifications are supported only for network requests
+        User::Leave(KErrNotSupported);
+        }
+
+    TPosNotificationReason reason = NotificationReason();
+    TPosRequestDecision decision = LocationRequestDecision();
+    iRtorProcessor->iNotifReason=reason;
+    iRtorProcessor->iDialogType=CLpdRequestorProcessor::ENotification;
+    iRtorProcessor->iRequestDecision=decision;
+    
+    iNotifier = CLpdNotifierQueryLauncher::NewL(*this);
+    iNotifier->SetRequestInfoL(iRtorProcessor);
+    iNotifier->StartQueryL();
+    LOCVERIFIERDLGDEBUG( "-CLpdVerifierPlugin::HandleNextNonPeriodicNotificationL" );
+    }
+
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierPlugin::CompleteCurrentAndContinue
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdVerifierPlugin::CompleteCurrentAndContinue(TInt aResultCode)
+    {
+    LOCVERIFIERDLGDEBUG( "+CLpdVerifierPlugin::CompleteCurrentAndContinue" );
+    if (iCurrentRequest != KPosNullQNRequestId)
+        {
+        CompleteRequest(iCurrentRequest, aResultCode);
+        }
+    iCurrentRequest = KPosNullQNRequestId;
+
+    __ASSERT_DEBUG( iRequestActiveObject, HandleDebugAssertError() );
+    iRequestActiveObject->ScheduleRequest(); // handle next req.
+    LOCVERIFIERDLGDEBUG( "-CLpdVerifierPlugin::CompleteCurrentAndContinue" );
+    }
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierPlugin::FreeQueryResources
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdVerifierPlugin::FreeQueryResources()
+    {
+    LOCVERIFIERDLGDEBUG( "+CLpdVerifierPlugin::FreeQueryResources" );
+    iCurrentRequest = KPosNullQNRequestId;
+    delete iVerifierQuery;
+    iVerifierQuery = NULL;
+    iVerifyResult = KErrGeneral;
+    delete iNotifier;
+    iNotifier = NULL;
+    if (iRtorProcessor)
+        { // if already construction fails iRtorProcessor may
+        // be NULL, otherwise it points to an instance.
+        iRtorProcessor->ResetAndDestroyRequestors();
+        }
+    LOCVERIFIERDLGDEBUG( "-CLpdVerifierPlugin::FreeQueryResources" );
+    }
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierPlugin::HandleAssertErrorL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdVerifierPlugin::HandleAssertErrorL() const
+    {
+    LOCVERIFIERDLGDEBUG( "+CLpdVerifierPlugin::HandleAssertErrorL" ); 
+#ifdef _DEBUG        
+    User::Panic(KPanicText, KLpdErrGeneral);
+#else
+    User::Leave( KErrCorrupt );
+#endif
+    LOCVERIFIERDLGDEBUG( "-CLpdVerifierPlugin::HandleAssertErrorL" ); 
+    }
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierPlugin::HandleDebugAssertError
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdVerifierPlugin::HandleDebugAssertError() const
+    {
+    LOCVERIFIERDLGDEBUG( "+CLpdVerifierPlugin::HandleDebugAssertError" ); 
+#ifdef _DEBUG
+    User::Panic(KPanicText, KLpdErrGeneral);
+#endif
+    LOCVERIFIERDLGDEBUG( "-CLpdVerifierPlugin::HandleDebugAssertError" ); 
+    }
+
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierPlugin::CheckRequestTypeL
+// Checks the type of request and helps to know
+// if a given request is of SUPL periodic type
+// @param aCurrentRequest request id
+// @return TRequestType type of request enum
+// -----------------------------------------------------------------------------
+CPosRequestor::TRequestType CLpdVerifierPlugin::CheckRequestTypeL()
+    {
+    LOCVERIFIERDLGDEBUG( "+CLpdVerifierPlugin::CheckRequestTypeL" );
+    CPosRequestor::TRequestType reqType = CPosRequestor::ENetworkTypeUnknown;
+    if (RequestorCountL() > 0)
+        {
+        CPosRequestor* requestor = RequestorLC(0);
+        reqType = requestor->RequestType();
+        CleanupStack::PopAndDestroy(requestor);
+        }
+    LOCVERIFIERDLGDEBUG( "-CLpdVerifierPlugin::CheckRequestTypeL" );
+    return reqType;
+    }
+
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/src/lpdverifierquerylauncher.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,92 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Class which handles the dialog and expiration timer.
+*
+*/
+
+
+// INCLUDE FILES
+#include "lpdverifierquerylauncher.h"
+#include "lpdglobalplugindialog.h"
+#include "lpdresulthandler.h"
+
+// CONSTANTS
+
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierQueryLauncher::CLpdVerifierQueryLauncher
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CLpdVerifierQueryLauncher::CLpdVerifierQueryLauncher( 
+    MLpdResultHandler& aHandler ) 
+    : CLpdQueryLauncherBase( aHandler )
+    {
+    // Intentionally empty
+    }
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierQueryLauncher::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CLpdVerifierQueryLauncher::ConstructL()
+    {
+    CLpdQueryLauncherBase::ConstructL();
+    }
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierQueryLauncher::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CLpdVerifierQueryLauncher* CLpdVerifierQueryLauncher::NewL( 
+    MLpdResultHandler& aHandler )
+    {
+    CLpdVerifierQueryLauncher* self =
+        new( ELeave ) CLpdVerifierQueryLauncher( aHandler );
+    
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop(self);
+
+    return self;
+    }
+
+// Destructor
+CLpdVerifierQueryLauncher::~CLpdVerifierQueryLauncher()
+    {
+    // Intentionally empty
+    }
+
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierQueryLauncher::ExtendedHandleDlgDismissedL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdVerifierQueryLauncher::ExtendedHandleDlgDismissedL()
+    {
+    iHandler.HandleVerificationResultL( iResult );
+    }
+
+void CLpdVerifierQueryLauncher::RequestType(TRequestType& aRequestType)
+    {
+    aRequestType = CLpdQueryLauncherBase::EVerification;
+    }
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/posverificationdialogplugin/inc/apilogger.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,38 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  This class provides function that help in logging entry and exit of APIs of classes
+*
+*/
+
+#ifndef APILOGGER_H
+#define APILOGGER_H
+
+#include <iostream>
+#include <fstream> 
+#include <QDebug>
+#include <qfile.h>
+#include <qtextstream.h>
+
+using namespace std;
+
+
+class ApiLogger
+    {
+    public:
+    static void OpenLogFile();
+    static void CloseLogFile();
+    static void MyOutputHandler(QtMsgType type, const char *msg);
+    };
+    
+#endif // APILOGGER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/posverificationdialogplugin/inc/customdocumentloader.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: Header file for Custom docml loader
+ *
+ */
+
+
+#ifndef CUSTOMDOCUMENTLOADER_H
+#define CUSTOMDOCUMENTLOADER_H
+#include <hbdocumentloader.h>
+
+//Forward Declarations
+
+class CustomDocumentLoader : public HbDocumentLoader
+{
+
+public:
+
+    /**
+     * Constructor.
+     */
+    CustomDocumentLoader();
+
+    /**
+     * Destructor.   
+     */
+    ~CustomDocumentLoader();
+
+public:
+
+    /**
+     * from base class
+     */
+    QObject *createObject(const QString& type, const QString &name);
+
+};
+
+#endif /* CUSTOMDOCUMENTLOADER_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/posverificationdialogplugin/inc/posverificationcustomdialog.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,218 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: Header file for Custom PosVerification dialog
+ *
+ */
+
+#ifndef POSVERIFICATIONCUSTOMDIALOG_H
+#define POSVERIFICATIONCUSTOMDIALOG_H
+
+#include <hbdialog.h>
+#include <hbdevicedialoginterface.h>
+#include <hblabel.h>
+#include <hbaction.h>
+
+
+class CustomDocumentLoader;
+
+class PosVerificationCustomDialog : public HbDialog,
+        public HbDeviceDialogInterface
+
+    {
+Q_OBJECT
+Q_PROPERTY( QString heading READ getHeading WRITE setHeading )
+Q_PROPERTY( QString queryText READ getQueryText WRITE setQueryText )
+Q_PROPERTY( QString queryText2 READ getQueryText2 WRITE setQueryText2 )
+Q_PROPERTY( QStringList requestor READ getRequestor WRITE setRequestor )
+
+public:
+
+    /*
+     * Constructor
+     */
+    PosVerificationCustomDialog();
+
+    /**
+     * Destructor
+     */
+    ~PosVerificationCustomDialog();
+
+public:
+    /**
+     * This method gets the widget from the application desginer docml file.
+     * param[in]- loader, instance of CustomDocumentLoader
+     */
+    void getWidgets(const CustomDocumentLoader &loader);
+
+    //from HbDeviceDialogInterface
+public:
+    /**
+     * Set device dialog widget parameters. This function may be called after the widget is created 
+     * to update widget parameters. parameters contains widget parameters.The structure and meaning
+     * of parameters is a contract between the plugin and a client. 
+     * @param[in] - parameters, QVariantMap, containing the key value pair for the properties
+     * @returns- bool, Returns true on success or false on failure.
+     */
+    bool setDeviceDialogParameters(const QVariantMap &parameters);
+
+    /**
+     * Returns an error last occurred. Error code ranges are defined in HbDeviceDialog.
+     * The code is passed to a client by device dialog framework
+     * @returns- int, error code 
+     */
+    int deviceDialogError() const;
+
+    /**
+     * Closes a device dialog widget gracefully. This function may called due to device dialog client
+     * calling HbDeviceDialog::cancel() or by device dialog service if it decides that a dialog needs 
+     * to be closed. Device dialog widget may also close itself without this function being called. 
+     * byClient is true if client initiated the closing. Otherwise the closing was initiated by the device
+     * dialog framework. The widget may also be deleted at any time ungracefully without closeDeviceDialog()
+     * being called.
+     */
+    void closeDeviceDialog(bool byClient);
+
+    /**
+     * Returns a pointer to a widget that implements the user interface of the device dialog.
+     * @returns-  HbPopup, pointer to the widget
+     */
+    HbPopup * deviceDialogWidget() const;
+    
+signals:
+    void deviceDialogClosed();
+    void deviceDialogData(QVariantMap data);
+
+private:
+
+    /**
+     * This method is used to set the name of requestors 
+     * requesting for position, in the verification dialog
+     * @param [in] - requestorList, list of names of the requestors
+     */
+    void setRequestor(QStringList& requestorList);
+
+    /**
+     * This method is used to gets the name of requestors 
+     * requesting for position, in the verification dialog
+     * @returns - QStringList, list of names of the requestors
+     */
+    QStringList getRequestor();
+
+    /**
+     * This method is used to set the heading for the dialog
+     * @param [in] - heading, string to be set as the heading for the dialog
+     */
+    void setHeading(QString& heading);
+
+    /**
+     * This method is used to get the heading for the dialog
+     * @returns - QString, heading for the dialog
+     */
+    QString getHeading();
+
+    /**
+     * This method is used to set the query text to be displayed, depending on the 
+     * policy.
+     * @param [in] - textQuery, string to be set as the query for the dialog
+     */
+    void setQueryText(QString& textQuery);
+
+    /**
+     * This method is used to get the query text displayed, depending on the 
+     * policy.
+     * @returns - QString, query for the dialog
+     */
+    QString getQueryText();
+
+    /**
+     * This method is used to set the query text to be displayed, depending on the 
+     * policy.
+     * @param [in] - textQuery, string to be set as the query line 2 for the dialog
+     */
+    void setQueryText2(QString& textQuery);
+
+    /**
+     * This method is used to get the query text line 2 displayed, depending on the 
+     * policy.
+     * @returns - QString, query line 2 for the dialog
+     */
+    QString getQueryText2();
+
+    /**
+     * This method sets the properties for the widget.
+     * The property value is validated before the property is set.
+     * @param[in] - parameters, QVariantMap, containing the key value pair for the properties
+     * @returns- bool, Returns true on success or false on failure.
+     */
+    bool setProperties(const QVariantMap& parameters);
+
+private slots:
+    /**
+     * This slot is called on acceting the query dialog
+     */
+    void posVerificationdlgAccepted();
+
+    /**
+     * This slot is called on rejecting the query dialog 
+     */
+    void posVerificationdlgRejected();
+
+    //member data
+private:
+    /**
+     * heading label for the device dialog
+     * Owns
+     */
+    HbLabel * mHeadingLabel;
+    
+    /**
+     * primary action (SK1) for the device dialog
+     * owns
+     */
+    HbAction * mPrimaryAction;
+
+    /**
+     * query text label
+     * owns
+     */
+    HbLabel * mQueryText;
+
+    /**
+     * query text label (line 2)
+     * Changes as per the first query text
+     * owns
+     */
+    HbLabel * mQueryText2;
+
+    /**
+     * Widget containing the list of the requestors
+     * owns
+     */
+    HbWidget * mRequestorList;
+    
+    /**
+     * list of names of the reqestors
+     * owns
+     */
+    QStringList mRequestorListItems;
+
+    /**
+     * secondry action (SK2) for the device dialog
+     * owns
+     */
+    HbAction * mSecondryAction;
+
+    };
+
+#endif // POSVERIFICATIONCUSTOMDIALOG_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/posverificationdialogplugin/inc/posverificationdialogplugin.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,116 @@
+/*
+ * 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: Header file for Custom PosVerification dialog
+ *
+ */
+
+#ifndef POSVERIFICATION_DIALOG_PLUGIN_H
+#define POSVERIFICATION_DIALOG_PLUGIN_H
+
+#include <hbdevicedialogplugin.h>
+#include <qtranslator.h>
+
+class PosVerificationDialogPlugin : public HbDeviceDialogPlugin
+    {
+Q_OBJECT
+
+public:
+    /**
+     * Constructor
+     */
+    PosVerificationDialogPlugin();
+
+    /**
+     * Destrcutor
+     */
+    ~PosVerificationDialogPlugin();
+
+    /**
+     * Checks if client is allowed use the device dialog that the plugin creates. 
+     * Device dialog service calls this function before creating a device dialog or 
+     * attaching into an existing one if flag HbDeviceDialogPlugin::SecurityCheck is set. 
+     * The implementation is operating system dependent. 
+     * @returns- bool, Returns true if client is allowed to use the device dialog.
+     * @param[in] - deviceDialogType  Device dialog type.  
+     * @param[in] - parameters  Device dialog parameters.  
+     * @param[in] - securityInfo  Information for security check. Content is operating system dependent.
+     * The format is <key, value> pairs. Currently only Symbian is defined.
+     */
+
+    bool
+            accessAllowed(const QString &notificationType,
+                    const QVariantMap &parameters,
+                    const QVariantMap &securityInfo) const;
+
+    /**
+     * Create a device dialog instance compatible with the version requested. 
+     * This could always be the latest version if it is backwards compatible with older versions. 
+     * Device dialog framework is unaware of version numbers in type strings. It performs string 
+     * comparison of the whole string when searching for a plugin
+     * @param[in] - deviceDialogType  Device dialog type.
+     * @param[in] - parameters  Device dialog parameters.  
+     * @returns - HbDeviceDialogInterface, device dialog instance
+     */
+
+    HbDeviceDialogInterface *createDeviceDialog(
+            const QString &deviceDialogType, const QVariantMap &parameters);
+
+    /**
+     * Gets information of the device dialog created by the plugin. Device dialog manager calls 
+     * this function before creating the device dialog widget to check HbDeviceDialogPlugin::DeviceDialogGroup, 
+     * HbDeviceDialogPlugin::DeviceDialogFlag and priority. 
+     * @returns - true if device dialog information returned is valid.
+     */
+
+    bool deviceDialogInfo(const QString &deviceDialogType,
+            const QVariantMap &parameters, DeviceDialogInfo *info) const;
+
+    /**
+     * Returns a list of device dialog types the plugin implements. A plugin may implement 
+     * several device dialog types. By convention device dialog type strings should follow 
+     * inverted domain name format
+     * @returns - list of device dialog types
+     */
+    QStringList deviceDialogTypes() const;
+
+    /**
+     * @returns - plugin flags
+     */
+    HbDeviceDialogPlugin::PluginFlags pluginFlags() const;
+
+    /**
+     * Returns an error last occurred. Error code ranges are defined in HbDeviceDialog. The code 
+     * is passed to a client by device dialog framework
+     * @returns- errorcode
+     */
+    int error() const;
+
+private:
+
+    /**
+     * Fix for ou1cimx1#462081
+     * Loads the qt message file for localization and installs the translator.
+     */
+    void installTranslator();
+
+private:
+
+    /**
+     * instance of translator
+     * owns
+     */
+    QTranslator * mTranslator;
+    };
+
+#endif // POSVERIFICATION_DIALOG_PLUGIN_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/posverificationdialogplugin/posverificationdialogplugin.pro	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,48 @@
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+# Contributors:
+# Description: project file for positioing settings in control panel
+TEMPLATE = lib
+TARGET = posverificationdialogplugin
+DEPENDPATH += .
+INCLUDEPATH += ../inc
+INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+CONFIG += hb \
+    plugin
+MOC_DIR = moc
+OBJECTS_DIR = obj
+RCC_DIR = rcc
+RESOURCES = resources/posverificationdialog.qrc
+
+#Uncomment following line to disable logging
+#DEFINES += QT_NO_DEBUG_OUTPUT
+
+# Platforms
+SYMBIAN_PLATFORMS = WINSCW \
+    ARMV5
+symbian::TARGET.UID3 = 0x2002E718
+SOURCES += src/apilogger.cpp \
+		src/posverificationdialogplugin.cpp \
+    src/customdocumentloader.cpp \
+    src/posverificationcustomdialog.cpp
+HEADERS += inc/apilogger.h \
+    inc/posverificationdialogplugin.h \
+    inc/customdocumentloader.h \
+    inc/posverificationcustomdialog.h
+symbian: { 
+    TARGET.CAPABILITY = CAP_GENERAL_DLL
+    TARGET.EPOCALLOWDLLDATA = 1
+    pluginstub.sources = posverificationdialogplugin.dll
+    
+    # This is for new exporting system coming in garden
+    for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin $$deploy.path$$qtplugins.path/$$basename(qtplugin)"
+    pluginstub.path = /resource/plugins/devicedialogs
+    DEPLOYMENT += pluginstub
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/posverificationdialogplugin/resources/posverificationcustomdialog.docml	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="1.2">
+    <object name="qtl_dialog_softkey_2_left" type="HbAction">
+        <string locid="txt_loe_button_accept" name="text" value="Accept"/>
+    </object>
+    <object name="qtl_dialog_softkey_2_right" type="HbAction">
+        <string locid="txt_common_button_reject" name="text" value="Reject"/>
+    </object>
+    <widget name="PosVerificationCustomDialog" type="PosVerificationCustomDialog">
+        <sizehint height="42.38806un" type="PREFERRED" width="50.5un"/>
+        <widget name="heading" role="HbDialog:headingWidget" type="HbLabel">
+            <enums name="textWrapping" value="TextWordWrap"/>
+            <enums name="alignment" value="AlignLeft|AlignLeading"/>
+            <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+            <string name="plainText" value="Location request"/>
+            <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+        </widget>
+        <widget name="scrollArea" role="HbDialog:contentWidget" type="HbScrollArea">
+            <widget name="containerWidget" role="HbScrollArea:contents" type="HbWidget">
+                <widget name="container_2" type="HbWidget">
+                    <widget name="queryText_1" type="HbLabel">
+                        <enums name="textWrapping" value="TextWordWrap"/>
+                        <enums name="alignment" value="AlignLeft|AlignLeading"/>
+                        <sizepolicy horizontalPolicy="Preferred" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
+                        <sizehint height="14un" type="PREFERRED" width="5.67164un"/>
+                        <sizehint height="14un" type="MINIMUM"/>
+                        <sizehint type="MAXIMUM" width="50un"/>
+                        <string name="plainText" value="Your location will be shared by default if you don't respond"/>
+                        <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+                    </widget>
+                    <widget name="requestors" type="HbWidget">
+                        <real name="z" value="0"/>
+                        <sizepolicy horizontalPolicy="Preferred" horizontalStretch="0" verticalPolicy="MinimumExpanding" verticalStretch="0"/>
+                        <sizehint height="23.8806un" type="PREFERRED" width="23.8806un"/>
+                        <layout type="stacked"/>
+                    </widget>
+                    <real name="z" value="0"/>
+                    <sizehint height="21.49254un" type="PREFERRED" width="45.8209un"/>
+                    <sizehint height="2504062.01158un" type="MAXIMUM"/>
+                    <layout orientation="Vertical" type="linear">
+                        <linearitem itemname="queryText_1"/>
+                        <linearitem itemname="requestors"/>
+                    </layout>
+                </widget>
+                <real name="z" value="0"/>
+                <sizepolicy horizontalPolicy="Preferred" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
+                <sizehint height="21.9403un" type="PREFERRED" width="45.73134un"/>
+                <sizehint height="2504062.01158un" type="MAXIMUM"/>
+                <layout type="anchor">
+                    <anchoritem dst="container_2" dstEdge="LEFT" src="" srcEdge="LEFT"/>
+                    <anchoritem dst="container_2" dstEdge="TOP" src="" srcEdge="TOP"/>
+                </layout>
+            </widget>
+            <real name="z" value="1"/>
+            <enums name="clampingStyle" value="StrictClamping"/>
+        </widget>
+        <ref object="qtl_dialog_softkey_2_left" role="HbWidget:addAction"/>
+        <ref object="qtl_dialog_softkey_2_right" role="HbWidget:addAction"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD-3.2-inch_portrait" unit="un">
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/posverificationdialogplugin/resources/posverificationdialog.qrc	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,5 @@
+<RCC>
+    <qresource prefix="/xml" >
+        <file alias="posverificationcustomdialog.docml" >posverificationcustomdialog.docml</file>
+    </qresource>
+</RCC>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/posverificationdialogplugin/src/apilogger.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  This class provides function that help in logging entry and exit of APIs of classes
+*
+*/
+
+
+#include "apilogger.h"
+#include <qdatetime.h>
+
+const char* debugFileName("c://logs//lbs//posverificationdlg.txt");
+ofstream logfile;
+
+void ApiLogger::OpenLogFile() 
+{   
+    logfile.open(debugFileName, ios::app);   
+}
+
+void ApiLogger::CloseLogFile() 
+{
+    logfile.flush();
+    logfile.close();
+}
+
+void ApiLogger::MyOutputHandler(QtMsgType type, const char *msg) 
+{    
+    switch (type) {
+        case QtDebugMsg:
+            logfile << QTime::currentTime().toString().toAscii().data() << " Debug: " << msg << "\n";            
+            break;
+        case QtCriticalMsg:
+            logfile << QTime::currentTime().toString().toAscii().data() << " Critical: " << msg << "\n";
+            break;
+        case QtWarningMsg:
+           logfile << QTime::currentTime().toString().toAscii().data() << " Warning: " << msg << "\n";
+            break;
+        case QtFatalMsg:
+            logfile << QTime::currentTime().toString().toAscii().data() << " Fatal: " << msg << "\n";
+        default:
+            break;
+    }
+    logfile.flush();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/posverificationdialogplugin/src/customdocumentloader.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: This implements the custom dialog loader for posverification dialogs
+ *
+ */
+
+#include "customdocumentloader.h"
+#include "posverificationcustomdialog.h"
+
+// ---------------------------------------------------------------------------
+// CustomDocumentLoader::CustomDocumentLoader()
+// ---------------------------------------------------------------------------
+//
+CustomDocumentLoader::CustomDocumentLoader()
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// CustomDocumentLoader::~CustomDocumentLoader()
+// ---------------------------------------------------------------------------
+//
+CustomDocumentLoader::~CustomDocumentLoader()
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// CustomDocumentLoader::createObject
+// ---------------------------------------------------------------------------
+//
+QObject *CustomDocumentLoader::createObject(const QString& type,
+        const QString &name)
+    {
+    //for CustomDialog
+    if (type == PosVerificationCustomDialog::staticMetaObject.className())
+        {
+        QObject *object = new PosVerificationCustomDialog;
+        object->setObjectName(name);
+        return object;
+        }
+    //default case
+    return HbDocumentLoader::createObject(type, name);
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/posverificationdialogplugin/src/posverificationcustomdialog.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,324 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: This implements the custom dialog for positioning verification dialogs
+ *
+ */
+
+#include "posverificationcustomdialog.h"
+#include "customdocumentloader.h"
+
+#include <QtDebug>
+#include <qgraphicsgridlayout.h>
+#include <qsizepolicy.h>
+
+//---------------------------------------------------------------
+//PosVerificationCustomDialog::PosVerificationCustomDialog
+//---------------------------------------------------------------
+PosVerificationCustomDialog::PosVerificationCustomDialog() :
+    mHeadingLabel(NULL), mPrimaryAction(NULL), mQueryText(NULL), mQueryText2(
+            NULL), mRequestorList(NULL), mRequestorListItems(NULL),
+            mSecondryAction(NULL)
+    {
+    qDebug() << "PosVerificationCustomDialog::PosVerificationCustomDialog()";
+    }
+
+//---------------------------------------------------------------
+//PosVerificationCustomDialog::~PosVerificationCustomDialog
+//---------------------------------------------------------------
+PosVerificationCustomDialog::~PosVerificationCustomDialog()
+    {
+    qDebug()
+            << "+PosVerificationCustomDialog::~PosVerificationCustomDialog()";
+    delete mQueryText2;
+    mQueryText2 = NULL;
+
+    qDebug()
+            << "-PosVerificationCustomDialog::~PosVerificationCustomDialog()";
+    }
+
+//---------------------------------------------------------------
+//PosVerificationCustomDialog::setProperties
+// Set properties
+//---------------------------------------------------------------
+
+bool PosVerificationCustomDialog::setProperties(const QVariantMap& parameters)
+    {
+    qDebug() << "+PosVerificationCustomDialog::setProperties()";
+    QVariantMap::const_iterator i = parameters.constBegin();
+    while (i != parameters.constEnd())
+        {
+        QByteArray key = i.key().toAscii();
+        qDebug() << "-PosVerificationCustomDialog::setProperties(): Key is "
+                << key;
+        qDebug() << "-PosVerificationCustomDialog::setProperties(): data is "
+                << key.constData();
+        //check for the validity of the data
+        if (property(key.constData()).isValid())
+            {
+            //sets the property values
+            setProperty(key.constData(), i.value());
+            }
+        else
+            {
+            qDebug()
+                    << "-PosVerificationCustomDialog::setProperties(): value - false";
+            return false;
+            }
+        ++i;
+        }
+    qDebug() << "-PosVerificationCustomDialog::setProperties()";
+    return true;
+    }
+
+//---------------------------------------------------------------
+//PosVerificationCustomDialog::setDeviceDialogParameters
+//---------------------------------------------------------------
+bool PosVerificationCustomDialog::setDeviceDialogParameters(
+        const QVariantMap &parameters)
+    {
+    qDebug() << "+PosVerificationCustomDialog::setDeviceDialogParameters()";
+    setModal(true);
+    setTimeout(HbPopup::NoTimeout);
+    qDebug() << "-PosVerificationCustomDialog::setDeviceDialogParameters()";
+    return setProperties(parameters);
+    }
+
+//---------------------------------------------------------------
+//PosVerificationCustomDialog::deviceDialogError
+//---------------------------------------------------------------
+int PosVerificationCustomDialog::deviceDialogError() const
+    {
+    qDebug() << "PosVerificationCustomDialog::deviceDialogError()";
+    return 0;
+    }
+
+//---------------------------------------------------------------
+//PosVerificationCustomDialog::closeDeviceDialog
+//---------------------------------------------------------------
+void PosVerificationCustomDialog::closeDeviceDialog(bool byClient)
+    {
+    qDebug() << "+PosVerificationCustomDialog::closeDeviceDialog()";
+    Q_UNUSED(byClient);
+    close();
+    emit
+    deviceDialogClosed();
+    qDebug() << "-PosVerificationCustomDialog::closeDeviceDialog()";
+    }
+
+//---------------------------------------------------------------
+//PosVerificationCustomDialog::deviceDialogWidget
+//---------------------------------------------------------------
+HbPopup* PosVerificationCustomDialog::deviceDialogWidget() const
+    {
+    qDebug() << "PosVerificationCustomDialog::deviceDialogWidget()";
+    return const_cast<PosVerificationCustomDialog*> (this);
+    }
+
+//---------------------------------------------------------------
+//PosVerificationCustomDialog::setHeading
+//---------------------------------------------------------------
+void PosVerificationCustomDialog::setHeading(QString& heading)
+    {
+    qDebug() << "+PosVerificationCustomDialog::setHeading()" << heading;
+    mHeadingLabel->setPlainText(heading);
+    qDebug() << "-PosVerificationCustomDialog::setHeading()";
+    }
+
+//---------------------------------------------------------------
+//PosVerificationCustomDialog::getHeading
+//---------------------------------------------------------------
+QString PosVerificationCustomDialog::getHeading()
+    {
+    qDebug() << "PosVerificationCustomDialog::getHeading()";
+    return mHeadingLabel->plainText();
+    }
+
+//---------------------------------------------------------------
+//PosVerificationCustomDialog::setQueryText
+//---------------------------------------------------------------
+void PosVerificationCustomDialog::setQueryText(QString& textQuery)
+    {
+    qDebug() << "+PosVerificationCustomDialog::setQueryText()" << textQuery;
+    mQueryText->setPlainText(textQuery);
+    qDebug() << "-PosVerificationCustomDialog::setQueryText()";
+    }
+//---------------------------------------------------------------
+//PosVerificationCustomDialog::getQueryText
+//---------------------------------------------------------------
+QString PosVerificationCustomDialog::getQueryText()
+    {
+    qDebug() << "PosVerificationCustomDialog::getQueryText()";
+    return mQueryText->plainText();
+    }
+//---------------------------------------------------------------
+//PosVerificationCustomDialog::setQueryText2
+//---------------------------------------------------------------
+void PosVerificationCustomDialog::setQueryText2(QString& textQuery)
+    {
+    qDebug() << "+PosVerificationCustomDialog::setQueryText2()" << textQuery;
+    mQueryText2 = new HbLabel();
+    if (mQueryText2)
+        {
+        mQueryText2->clear();
+        mQueryText2->setPlainText(textQuery);
+        mQueryText2->setFontSpec(HbFontSpec(HbFontSpec::Primary));
+        }
+    qDebug() << "-PosVerificationCustomDialog::setQueryText2()";
+    }
+//---------------------------------------------------------------
+//PosVerificationCustomDialog::getQueryText2
+//---------------------------------------------------------------
+QString PosVerificationCustomDialog::getQueryText2()
+    {
+    qDebug() << "PosVerificationCustomDialog::getQueryText2()";
+    if (mQueryText2)
+        {
+        return mQueryText2->plainText();
+        }
+    return "";
+    }
+//---------------------------------------------------------------
+//PosVerificationCustomDialog::getWidgets
+//---------------------------------------------------------------
+void PosVerificationCustomDialog::getWidgets(
+        const CustomDocumentLoader &loader)
+    {
+    qDebug() << "+PosVerificationCustomDialog::getWidgets()";
+
+    mHeadingLabel = qobject_cast<HbLabel*> (loader.findWidget("heading"));
+    Q_ASSERT_X((mHeadingLabel != 0), "PosVerificationCustomDialog", "invalid DocML file");
+
+    mQueryText = qobject_cast<HbLabel*> (loader.findWidget("queryText_1"));
+    Q_ASSERT_X((mQueryText != 0), "PosVerificationCustomDialog", "invalid DocML file");
+
+    mRequestorList
+            = qobject_cast<HbWidget*> (loader.findWidget("requestors"));
+    Q_ASSERT_X((mRequestorList != 0), "PosVerificationCustomDialog", "invalid DocML file");
+
+    mPrimaryAction = qobject_cast<HbAction*> (loader.findObject(
+            "qtl_dialog_softkey_2_left"));
+    Q_ASSERT_X((mPrimaryAction != 0), "PosVerificationCustomDialog", "invalid DocML file");
+    QObject::connect(mPrimaryAction, SIGNAL(triggered()), this,
+            SLOT(posVerificationdlgAccepted()));
+
+    mSecondryAction = qobject_cast<HbAction*> (loader.findObject(
+            "qtl_dialog_softkey_2_right"));
+    Q_ASSERT_X((mSecondryAction != 0), "PosVerificationCustomDialog", "invalid DocML file");
+
+    QObject::connect(mSecondryAction, SIGNAL(triggered()), this,
+            SLOT(posVerificationdlgRejected()));
+    qDebug() << "-PosVerificationCustomDialog::getWidgets()";
+    }
+//---------------------------------------------------------------
+//PosVerificationCustomDialog::setRequestor
+//---------------------------------------------------------------
+void PosVerificationCustomDialog::setRequestor(QStringList& requestorList)
+    {
+    qDebug() << "+PosVerificationCustomDialog::setRequestor()";
+    int rowadd = 1;
+    mRequestorListItems = requestorList;
+    QGraphicsGridLayout *layout = new QGraphicsGridLayout;
+    if (!layout)
+        {
+        qDebug() << "setRequestor(): Creating layout failed";
+        return;
+        }
+
+    qreal margin = 0;
+    qreal leftmargin = 0;
+    style()->parameter("hb-param-margin-gene-middle-vertical", margin);
+    style()->parameter("hb-param-margin-gene-popup", leftmargin);
+    QSizePolicy policy;
+    policy.setHorizontalPolicy(QSizePolicy::Preferred);
+    policy.setVerticalPolicy(QSizePolicy::Ignored);
+    QSizePolicy text2Policy;
+    text2Policy.setHorizontalPolicy(QSizePolicy::Preferred);
+    text2Policy.setVerticalPolicy(QSizePolicy::Preferred);
+    text2Policy.setHorizontalStretch(0);
+    
+    if (mQueryText2)
+        {
+        mQueryText2->setSizePolicy(text2Policy);
+        mQueryText2->setAlignment(Qt::AlignTop);
+        mQueryText2->setTextWrapping(Hb::TextWordWrap);
+        layout->addItem(mQueryText2, 1, 0);
+        layout->setRowSpacing(1, margin);
+        layout->setContentsMargins(leftmargin, 0, 0, 0);
+        rowadd = 2;
+        }
+
+    QStringList::const_iterator iterator;
+    for (iterator = requestorList.begin(); iterator != requestorList.end(); ++iterator)
+        {
+        int i = iterator - requestorList.begin();
+        HbLabel * requestorName = new HbLabel();
+        if (requestorName)
+            {
+            qDebug() << "setRequestor()" << *iterator;
+            requestorName->setFontSpec(HbFontSpec(HbFontSpec::Secondary));
+            requestorName->setPlainText(*iterator);
+            requestorName->setSizePolicy(policy);
+            requestorName->setAlignment(Qt::AlignTop);
+
+            layout->addItem(requestorName, i + rowadd, 0);
+            layout->setRowSpacing(i + rowadd, margin);
+            layout->setContentsMargins(leftmargin, 0, 0, 0);
+            }
+        }
+    mRequestorList->setSizePolicy(policy);
+    mRequestorList->setLayout(layout);
+    qDebug() << "-PosVerificationCustomDialog::setRequestor()";
+    }
+
+//---------------------------------------------------------------
+//PosVerificationCustomDialog::getRequestor
+//---------------------------------------------------------------
+QStringList PosVerificationCustomDialog::getRequestor()
+    {
+    qDebug() << "PosVerificationCustomDialog::getRequestor()";
+    return mRequestorListItems;
+    }
+//---------------------------------------------------------------
+//PosVerificationCustomDialog::posVerificationdlgAccepted
+//---------------------------------------------------------------
+void PosVerificationCustomDialog::posVerificationdlgAccepted()
+    {
+    qDebug() << "+PosVerificationCustomDialog::posVerificationdlgAccepted()";
+    emit
+    deviceDialogClosed();
+    qDebug() << "-PosVerificationCustomDialog::posVerificationdlgAccepted()";
+    }
+//---------------------------------------------------------------
+//PosVerificationCustomDialog::posVerificationdlgRejected
+//---------------------------------------------------------------
+void PosVerificationCustomDialog::posVerificationdlgRejected()
+    {
+    qDebug() << "+PosVerificationCustomDialog::posVerificationdlgRejected()";
+    QVariantMap *data = new QVariantMap();
+    QVariant value(-21);
+    if (data)
+        {
+        data->insert("errorCode", value);
+        emit
+        deviceDialogData(*data);
+        }
+    //data is currently not being used in the client side
+    emit
+    deviceDialogClosed();
+    delete data;
+    qDebug() << "-PosVerificationCustomDialog::posVerificationdlgRejected()";
+    }
+
+// End of File
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/posverificationdialogplugin/src/posverificationdialogplugin.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,260 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: This file implements the plugin interface for positioning verification dialogs
+ *
+ */
+#include "posverificationdialogplugin.h"
+//User Includes
+#include "customdocumentloader.h"
+#include "posverificationcustomdialog.h"
+#include "apilogger.h"
+
+#include <QDebug>
+#include <QTCore>
+
+//Carbide Application docml file
+const char *POSVERFICATIONDIALOG_DOCML =
+        ":/xml/posverificationcustomdialog.docml";
+
+// This plugin implements one custom dialog type
+enum DeviceDlgType
+    {
+    PosVerificationDialogType
+    };
+static const struct
+    {
+    const char *mTypeString;
+    DeviceDlgType mType;
+    } verdlgtypes[] =
+    {
+        {
+        "hb.posverifiction.dialog/1.0", PosVerificationDialogType
+        }
+    };
+
+//-----------------------------------------------------------------------
+// PosVerificationDialogPlugin::PosVerificationDialogPlugin()    
+// Constructor
+//-----------------------------------------------------------------------    
+PosVerificationDialogPlugin::PosVerificationDialogPlugin() :
+    mTranslator(NULL)
+    {
+    qDebug() << "+PosVerificationDialogPlugin::PosVerificationDialogPlugin()";
+    //#ifndef QT_NO_DEBUG_OUTPUT
+    //    ApiLogger::OpenLogFile();
+    //    qInstallMsgHandler(ApiLogger::MyOutputHandler);
+    //#endif
+    qDebug() << "-PosVerificationDialogPlugin::PosVerificationDialogPlugin()";
+    }
+
+//-----------------------------------------------------------------------
+// PosVerificationDialogPlugin::~PosVerificationDialogPlugin()    
+// Destructor
+//----------------------------------------------------------------------- 
+PosVerificationDialogPlugin::~PosVerificationDialogPlugin()
+    {
+    qDebug()
+            << "+PosVerificationDialogPlugin::~PosVerificationDialogPlugin()";
+    if (mTranslator)
+        {
+        if (mTranslator->isEmpty() == false)
+            qApp->removeTranslator(mTranslator);
+        delete mTranslator;
+        }
+    qDebug()
+            << "-PosVerificationDialogPlugin::~PosVerificationDialogPlugin()";
+    //#ifndef QT_NO_DEBUG_OUTPUT
+    //    ApiLogger::CloseLogFile();
+    //#endif
+    }
+
+//-----------------------------------------------------------------------
+// PosVerificationDialogPlugin::accessAllowed 
+// Check if client is allowed to use device dialog widget
+//----------------------------------------------------------------------- 
+bool PosVerificationDialogPlugin::accessAllowed(
+        const QString &deviceDialogType, const QVariantMap &parameters,
+        const QVariantMap &securityInfo) const
+    {
+    qDebug() << "+PosVerificationDialogPlugin::accessAllowed()";
+    Q_UNUSED(deviceDialogType)
+    Q_UNUSED(parameters)
+    Q_UNUSED(securityInfo)
+
+    // This plugin doesn't perform operations that may compromise security. All clients
+    // are allowed to use.
+    qDebug() << "-PosVerificationDialogPlugin::accessAllowed()";
+    return true;
+    }
+
+//-----------------------------------------------------------------------
+// PosVerificationDialogPlugin::createDeviceDialog 
+// Create device dialog widget
+//-----------------------------------------------------------------------
+HbDeviceDialogInterface * PosVerificationDialogPlugin::createDeviceDialog(
+        const QString &deviceDialogType, const QVariantMap &parameters)
+    {
+    qDebug() << "+PosVerificationDialogPlugin::createDeviceDialog(): Type"
+            << deviceDialogType;
+    //install the translator. Fix for Bug id: ou1cimx1#462081
+    installTranslator();
+
+    int i;
+    PosVerificationCustomDialog * dialog = 0;
+    const int numTypes = sizeof(verdlgtypes) / sizeof(verdlgtypes[0]);
+    for (i = 0; i < numTypes; ++i)
+        {
+        if (verdlgtypes[i].mTypeString == deviceDialogType)
+            {
+            break;
+            }
+        }
+    if (i < numTypes)
+        {
+        switch (verdlgtypes[i].mType)
+            {
+            case PosVerificationDialogType:
+                {
+                CustomDocumentLoader loader;
+                bool ok = false;
+                loader.load(POSVERFICATIONDIALOG_DOCML, &ok);
+                Q_ASSERT_X(ok, "PosVerificationCustomDialog",
+                        "invalid DocML file");
+
+                if (ok)
+                    {
+                    dialog = qobject_cast<PosVerificationCustomDialog *> (
+                            loader.findWidget("PosVerificationCustomDialog"));
+                    if (dialog)
+                        {
+                        dialog->getWidgets(loader);
+                        dialog->setDeviceDialogParameters(parameters);
+                        qDebug() << "createDeviceDialog(): success";
+                        }
+                    else
+                        {
+                        qDebug()
+                                << "createDeviceDialog(): creation of device dialog failed";
+                        }
+                    }
+                else
+                    {
+                    qDebug() << "createDeviceDialog(): loading docml failed";
+                    }
+                break;
+                }
+            default:
+                {
+                qDebug() << "createDeviceDialog(): default case";
+                Q_ASSERT(false);
+                break;
+                }
+            }
+        }
+    else
+        {
+        qDebug()
+                << "createDeviceDialog(): Dialog type not supported by this plugin";
+        }
+    qDebug() << "-PosVerificationDialogPlugin::createDeviceDialog()";
+    return dialog;
+    }
+
+//-----------------------------------------------------------------------
+// PosVerificationDialogPlugin::deviceDialogInfo 
+// Return information of device dialog the plugin creates
+//-----------------------------------------------------------------------
+bool PosVerificationDialogPlugin::deviceDialogInfo(
+        const QString &deviceDialogType, const QVariantMap &parameters,
+        DeviceDialogInfo *info) const
+    {
+    qDebug() << "+PosVerificationDialogPlugin::deviceDialogInfo()";
+    Q_UNUSED(parameters)
+    Q_UNUSED(deviceDialogType)
+
+    info->group = GenericDeviceDialogGroup;
+    info->flags = NoDeviceDialogFlags;
+    info->priority = DefaultPriority;
+    qDebug() << "-PosVerificationDialogPlugin::deviceDialogInfo()";
+    return true;
+    }
+
+//-----------------------------------------------------------------------
+// PosVerificationDialogPlugin::deviceDialogTypes 
+// Return device dialog types this plugin implements
+//-----------------------------------------------------------------------
+QStringList PosVerificationDialogPlugin::deviceDialogTypes() const
+    {
+    qDebug() << "+PosVerificationDialogPlugin::deviceDialogTypes()";
+    QStringList types;
+    const int numTypes = sizeof(verdlgtypes) / sizeof(verdlgtypes[0]);
+    for (int i = 0; i < numTypes; i++)
+        {
+        types.append(verdlgtypes[i].mTypeString);
+        }
+    qDebug() << "-PosVerificationDialogPlugin::deviceDialogTypes()";
+    return types;
+    }
+
+//-----------------------------------------------------------------------
+// PosVerificationDialogPlugin::pluginFlags 
+// Return plugin flags
+//-----------------------------------------------------------------------
+HbDeviceDialogPlugin::PluginFlags PosVerificationDialogPlugin::pluginFlags() const
+    {
+    qDebug() << "PosVerificationDialogPlugin::pluginFlags()";
+    return NoPluginFlags;
+    }
+
+//-----------------------------------------------------------------------
+// PosVerificationDialogPlugin::error 
+// Return last error
+//-----------------------------------------------------------------------
+int PosVerificationDialogPlugin::error() const
+    {
+    qDebug() << "PosVerificationDialogPlugin::error()";
+    return 0;
+    }
+
+//-----------------------------------------------------------------------
+// PosVerificationDialogPlugin::installTranslator 
+// loads the qt message file and installs the translator
+//-----------------------------------------------------------------------
+void PosVerificationDialogPlugin::installTranslator()
+    {
+    if (!mTranslator)
+        {
+        mTranslator = new QTranslator();
+        }
+    else
+        {
+        return;
+        }
+    QString lang = QLocale::system().name();
+    QString path = "z:/resource/qt/translations/";
+    QString altpath = "c://resource/";
+    bool loaded = false;
+    loaded = mTranslator->load(path + QString("lilocationmw_") + lang);
+    if (loaded == false)
+        {
+        loaded = mTranslator->load(altpath + QString("lilocationmw_") + lang);
+        }
+    if (loaded)
+        {
+        qApp->installTranslator(mTranslator);
+        }
+    }
+
+Q_EXPORT_PLUGIN2(posverificationdialogplugin, PosVerificationDialogPlugin)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/privacyverifiernotifierui.pro	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,34 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:                                                        
+# Description:  project file for positioing settings in control panel                                                      
+#                                                                    
+
+
+TEMPLATE = subdirs
+
+SYMBIAN_PLATFORMS = WINSCW ARMV5
+
+SUBDIRS += locnotificationengine/locnotificationengine.pro
+SUBDIRS += posverificationdialogplugin/posverificationdialogplugin.pro
+
+# Build.inf rules
+BLD_INF_RULES.prj_exports += "$${LITERAL_HASH}include <platform_paths.hrh>" \
+    "install/privacydialogs_stub.sis /epoc32/data/z/system/install/privacydialogs_stub.sis" \
+    "rom/privacydialogs.iby CORE_MW_LAYER_IBY_EXPORT_PATH(privacydialogs.iby)"
+
+symbian {
+BLD_INF_RULES.prj_mmpfiles = "./locutils/group/locutils.mmp" \
+                             "./locprivacyserver/group/locprivacyserver.mmp" \
+                             "./contactresolversession/group/contactresolversession.mmp" \
+                             "./locverifier/group/locverifierdlg.mmp"
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/rom/privacydialogs.iby	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,39 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: IBY file for server component
+*
+*/
+#ifndef __PRIVACYDIALOGS_IBY__
+#define __PRIVACYDIALOGS_IBY__
+
+#include <bldvariant.hrh>
+#if defined(__PRIVACYFRAMEWORK)
+// Client library
+file=ABI_DIR\BUILD_DIR\locnotificationclient.dll             SHARED_LIB_DIR\locnotificationclient.dll
+// Server
+file=ABI_DIR\BUILD_DIR\locnotificationserver.exe             PROGRAMS_DIR\locnotificationserver.exe
+// Engine
+file=ABI_DIR\BUILD_DIR\locnotificationengine.dll                   SHARED_LIB_DIR\locnotificationengine.dll
+// Location Utils
+file=ABI_DIR\BUILD_DIR\locutils.dll             SHARED_LIB_DIR\locutils.dll
+// Location Verifier Plug-in 
+ECOM_PLUGIN(locverifierdlg.dll,locverifierdlg.rsc)
+// Custom device dialog plugin
+file=ABI_DIR\BUILD_DIR\posverificationdialogplugin.dll		SHARED_LIB_DIR\posverificationdialogplugin.dll
+data=\epoc32\data\z\resource\plugins\devicedialogs\posverificationdialogplugin.qtplugin		\resource\plugins\devicedialogs\posverificationdialogplugin.qtplugin    
+// stub sis
+data=DATAZ_\system\install\privacydialogs_stub.sis					       system\install\privacydialogs_stub.sis  
+#endif // (__PRIVACYFRAMEWORK)
+
+#endif
--- a/locationsystemui/locationsysui/queryandnotification/inc/EPos_CPosPrivacyNotifierExtension.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationsystemui/locationsysui/queryandnotification/inc/EPos_CPosPrivacyNotifierExtension.h	Tue Aug 31 15:37:04 2010 +0300
@@ -30,7 +30,7 @@
 //  INCLUDES
 #include <eiknotapi.h>
 #include <lbs/epos_rposrequestorstack.h>
-#include <lbs/EPos_TPosQNInputData.h>
+#include <lbs/epos_tposqninputdata.h>
 #include <EPos_CPosPrivacyNotifier.h>
 // FORWARD DECLARATIONS
 class CPosRequestHandler;
--- a/locationsystemui/locationsysui/queryandnotification/inc/EPos_CPosRequestHandler.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationsystemui/locationsysui/queryandnotification/inc/EPos_CPosRequestHandler.h	Tue Aug 31 15:37:04 2010 +0300
@@ -29,7 +29,7 @@
 
 //  INCLUDES
 #include <e32base.h>
-#include <lbs/EPos_TPosQNInputData.h>
+#include <lbs/epos_tposqninputdata.h>
 #include <EPos_CPosPrivacyNotifier.h>
 
 // FORWARD DECLARATIONS
--- a/locationsystemui/locationsysui/rom/locationsystemuistub.iby	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: IBY file for Location System Ui Stub
-*
-*/
-#ifndef __LOCATIONSYSTEMUISTUB_IBY__
-#define __LOCATIONSYSTEMUISTUB_IBY__
-
-#ifdef __LOCATIONSYSUI
-
-// Location System UI stub
-data=ZSYSTEM\install\locationsysuistub.sis    system\install\locationsysuistub.sis
-
-#endif // (__LOCATIONSYSUI)
-
-#endif // (__LOCATIONSYSTEMUISTUB_IBY__)
--- a/locationsystemui/locationsysui/rom/locationsysui.iby	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: IBY file for Location System Ui
-*
-*/
-#ifndef __LOCATIONSYSTEMUI_IBY__
-#define __LOCATIONSYSTEMUI_IBY__
-
-#ifdef __LOCATIONSYSUI
-
-	// LocationSystemUIView GS ECOM Plugin
-  ECOM_PLUGIN(locsysuiview.dll,10207462.rsc)
-
-	SCALABLE_IMAGE(APP_BITMAP_DIR,APP_BITMAP_DIR,locsysuiview)
-
-	//LocationSystemUI GS Plugin Engine
-	file=ABI_DIR\BUILD_DIR\locsysuiengine.dll   SHARED_LIB_DIR\locsysuiengine.dll
-
-#endif // (__LOCATIONSYSUI)
-
-#endif
--- a/locationsystemui/locationsysui/rom/locationsysui_resources.iby	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: IBY file for Location System Ui Resource
-*
-*/
-#ifndef __LOCATIONSYSTEMUI_RSC_IBY__
-#define __LOCATIONSYSTEMUI_RSC_IBY__
-
-#ifdef __LOCATIONSYSUI
-
-	//LocationSystemUI localisable resource file
-	data=DATAZ_\RESOURCE_FILES_DIR\locsysuiviewrsc.rsc		RESOURCE_FILES_DIR\locsysuiviewrsc.rsc
-
-#endif // (__LOCATIONSYSUI)
-
-#endif //__LOCATIONSYSTEMUI_RSC_IBY__
\ No newline at end of file
--- a/locationsystemui/locationsysui/rom/locbtnotifier.iby	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Image description file for project locbtnotifier
-*
-*/
-
-
-
-#ifndef LOCBTNOTIFIER_IBY
-#define LOCBTNOTIFIER_IBY
-
-#include <data_caging_paths_for_iby.hrh>
-
-
-ECOM_PLUGIN( locbtnotifier.dll, locbtnotifier.rsc )
-data=\epoc32\data\Z\private\10282BC4\Rules\locbtgpspsypscontextstate.rul    private\10282BC4\Rules\locbtgpspsypscontextstate.rul
-data=\epoc32\data\Z\private\10282BC4\Settings\10282C74\locbtgpspsypscontextstate.xml private\10282BC4\Settings\10282C74\locbtgpspsypscontextstate.xml
-
-
-#endif // LOCBTNOTIFIER_IBY
--- a/locationsystemui/locationsysui/rom/locbtnotifier_resources.iby	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Image description file for project locbtnotifier
-*
-*/
-
-
-
-#ifndef LOCBTNOTIFIER_RESOURCES_IBY
-#define LOCBTNOTIFIER_RESOURCES_IBY
-
-#include <data_caging_paths_for_iby.hrh>
-
-data=DATAZ_\RESOURCE_FILES_DIR\apps\locbtnotifierresources.rsc		RESOURCE_FILES_DIR\apps\locbtnotifierresources.rsc
-
-
-#endif // LOCBTNOTIFIER_RESOURCES_IBY
--- a/locationsystemui/locationsysui/rom/locgpsindicatorplugin.iby	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: IBY file for Location GPS Indicator Plugin
-*
-*/
-#ifndef __LOCGPSINDICATORPLUGIN_IBY__
-#define __LOCGPSINDICATORPLUGIN_IBY__
-
-#if  defined(__LOCATIONSYSUI) && defined(__PEN_SUPPORT)
-// GPS indicator ECOM Plugin
-ECOM_PLUGIN(locgpsindicatorplugin.dll,10275097.rsc)
-#endif // (__LOCATIONSYSUI), __PEN_SUPPORT
-
-#endif//__LOCGPSINDICATORPLUGIN_IBY__
--- a/locationsystemui/locationsysui/rom/locgpsindicatorplugin_resources.iby	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: IBY file for Location GPS Indicator Plugin Resource
-*
-*/
-#ifndef __LOCGPSINDICATORPLUGIN_RSC_IBY__
-#define __LOCGPSINDICATORPLUGIN_RSC_IBY__
-
-#if  defined(__LOCATIONSYSUI) && defined(__PEN_SUPPORT)
-//GPS indicator plug-in resource file
-	data=DATAZ_\RESOURCE_FILES_DIR\locgpsindicatorplugin.rsc		RESOURCE_FILES_DIR\locgpsindicatorplugin.rsc
-#endif // (__LOCATIONSYSUI), __PEN_SUPPORT
-
-#endif //__LOCGPSINDICATORPLUGIN_RSC_IBY__
\ No newline at end of file
--- a/locationsystemui/locationsysui/rom/locnotprefplugin.iby	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: IBY file for Location Notation Preference
-*
-*/
-#ifndef __LOCNOTPREFPLUGIN_IBY__
-#define __LOCNOTPREFPLUGIN_IBY__
-
-#ifdef __LOCATIONSYSUI
-	
-// Location Notation Preferences ECOM Plugin
-ECOM_PLUGIN(locnotprefplugin.dll,1020690F.rsc)
-
-#endif // __LOCATIONSYSUI
-
-#endif // __LOCNOTPREFPLUGIN_IBY__
--- a/locationsystemui/locationsysui/rom/locnotprefplugin_resources.iby	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: IBY file for Location Notation Preference Resource
-*
-*/
-#ifndef __LOCNOTPREFPLUGIN_RSC_IBY__
-#define __LOCNOTPREFPLUGIN_RSC_IBY__
-
-#ifdef __LOCATIONSYSUI
-
-//Location Notation Preferences Settings UI localisable resource file
-data=DATAZ_\RESOURCE_FILES_DIR\locnotprefpluginview.rsc		RESOURCE_FILES_DIR\locnotprefpluginview.rsc
-
-#endif // __LOCATIONSYSUI
-
-#endif //__LOCNOTPREFPLUGIN_RSC_IBY__
\ No newline at end of file
--- a/locationsystemui/locationsysui/rom/locpsysettings.iby	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: IBY file for Location Positioning Settings
-*
-*/
-#ifndef __LOCPSYSETTINGS_IBY__
-#define __LOCPSYSETTINGS_IBY__
-
-#if  defined(__LOCATIONSYSUI) && defined(__LOCATIONFRAMEWORKCORE)
-
-	// Position Method Settings LocSysUi ECOM Plugin
-  ECOM_PLUGIN(locpsysettingsui.dll,10275062.rsc)
-
-	SCALABLE_IMAGE(APP_BITMAP_DIR,APP_BITMAP_DIR,locpsysettings)
-
-	//LocationSystemUI GS Plugin Engine
-	file=ABI_DIR\BUILD_DIR\locpsysettingseng.dll   SHARED_LIB_DIR\locpsysettingseng.dll
-
-#endif // (__LOCATIONSYSUI) && (__LOCATIONFRAMEWORKCORE)
-
-#endif
--- a/locationsystemui/locationsysui/rom/locpsysettings_resources.iby	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: IBY file for Location Positioning Settings Resource
-*
-*/
-#ifndef __LOCPSYSETTINGS_RSC_IBY__
-#define __LOCPSYSETTINGS_RSC_IBY__
-
-#if  defined(__LOCATIONSYSUI) && defined(__LOCATIONFRAMEWORKCORE)
-
-	//LocationSystemUI localisable resource file
-	data=DATAZ_\RESOURCE_FILES_DIR\locpsysettingsuiview.rsc		RESOURCE_FILES_DIR\locpsysettingsuiview.rsc
-
-#endif // (__LOCATIONSYSUI) && (__LOCATIONFRAMEWORKCORE)
-
-#endif //__LOCPSYSETTINGS_RSC_IBY__
\ No newline at end of file
--- a/locationsystemui/locationsysui/rom/locsettingsuiservice.iby	Thu Aug 19 10:20:18 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: IBY file for Location Settings Ui Service
-*
-*/
-#ifndef __LOCSETTINGSUISERVICE_IBY__
-#define __LOCSETTINGSUISERVICE_IBY__
-
-	// Location Settings UI client
-	file=ABI_DIR\BUILD_DIR\locsettingsuiclient.dll          SHARED_LIB_DIR\locsettingsuiclient.dll
-	
-#ifdef __LOCATIONSYSUI
-    
-  // Location Settings UI server
-  file=ABI_DIR\BUILD_DIR\locsettingsuiserver.exe         PROGRAMS_DIR\locsettingsuiserver.exe
-
-	// Location Settings UI server icon file
-    S60_APP_AIF_ICONS(locsettingsuiserver)
-	// Location Settings UI server registration file
-    S60_UPGRADABLE_APP_REG_RSC(locsettingsuiserver)
-    
-    // Backup and Restore XML
-    data=DATAZ_\private\10281861\backup_registration.xml    private\10281861\backup_registration.xml
-    
-#endif // (__LOCSETTINGSUISERVICE_IBY__)
-
-#endif
--- a/locationsystemui/locationsysui/rom/locsettingsuiservice_resources.iby	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: IBY file for Location Settings Ui Service Resource
-*
-*/
-#ifndef __LOCSETTINGSUISERVICE_RSC_IBY__
-#define __LOCSETTINGSUISERVICE_RSC_IBY__
-
-#if defined(__LOCATIONSYSUI)
-	
-	data=DATAZ_\RESOURCE\APPS\locsettingsuiserver.rsc 	resource\apps\locsettingsuiserver.rsc       
-	
-#endif // (__LOCATIONSYSUI)
-
-#endif //__LOCSETTINGSUISERVICE_RSC_IBY__
\ No newline at end of file
--- a/locationsystemui/locationsysui/rom/locsuplsettings.iby	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: IBY file for Location SUPL Settings
-*
-*/
-#ifndef __LOCSUPLSETTINGS_IBY__
-#define __LOCSUPLSETTINGS_IBY__
-
-#if  defined(__LOCATIONSYSUI) && defined(__SUPL_FRAMEWORK) && defined(__OMA_SUPL_PLUGINS)
-	
-// Position Method Settings LocSysUi ECOM Plugin
-ECOM_PLUGIN(locsuplsettings.dll,10275091.rsc)
-
-SCALABLE_IMAGE(APP_BITMAP_DIR,APP_BITMAP_DIR,locsuplsettings)
-
-#endif // (__LOCATIONSYSUI) && (__SUPL_FRAMEWORK) && (__OMA_SUPL_PLUGINS)
-
-#endif
--- a/locationsystemui/locationsysui/rom/locsuplsettings_resources.iby	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: IBY file for Location SUPL Settings Resource
-*
-*/
-#ifndef __LOCSUPLSETTINGS_RSC_IBY__
-#define __LOCSUPLSETTINGS_RSC_IBY__
-
-#if  defined(__LOCATIONSYSUI) && defined(__SUPL_FRAMEWORK) && defined(__OMA_SUPL_PLUGINS)
-
-	//LocationSystemUI localisable resource file
-	data=DATAZ_\RESOURCE_FILES_DIR\locsuplsettingsui.rsc		RESOURCE_FILES_DIR\locsuplsettingsui.rsc
-
-#endif // (__LOCATIONSYSUI) && (__SUPL_FRAMEWORK) && (__OMA_SUPL_PLUGINS)
-
-#endif //__LOCSUPLSETTINGS_RSC_IBY__
\ No newline at end of file
--- a/locationsystemui/locationsysui/rom/locverifierdlg.iby	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: IBY file for Location Verification Dialog
-*
-*/
-#ifndef __LOCVERIFIERDLG_IBY__
-#define __LOCVERIFIERDLG_IBY__
-
-#if defined(__PRIVACYFRAMEWORK)
-
-	// Location Verifier ECom Plug-in Wrapper
-  ECOM_PLUGIN(locnotifierwrapper.dll,10207242.rsc)
-    
-	// Location Verifier dialog
-	file=ABI_DIR\BUILD_DIR\locverifierdlg.dll       SHARED_LIB_DIR\locverifierdlg.dll
-
-	// Location Utils
-	file=ABI_DIR\BUILD_DIR\locutils.dll             SHARED_LIB_DIR\locutils.dll
-	
-	// LocNotifier App Server Resource File
-	data=DATAZ_\RESOURCE\locutils.rsc               resource\locutils.rsc       
-    
-#endif // (__PRIVACYFRAMEWORK)
-
-#endif
--- a/locationsystemui/locationsysui/rom/locverifierdlg_resources.iby	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: IBY file for Location Verification Dialog Resource
-*
-*/
-#ifndef __LOCVERIFIERDLG_RSC_IBY__
-#define __LOCVERIFIERDLG_RSC_IBY__
-
-#if defined(__PRIVACYFRAMEWORK)
-	
-	data=DATAZ_\RESOURCE\locverifierdlg.RSC 	resource\locverifierdlg.rsc       
-	
-#endif // (__PRIVACYFRAMEWORK)
-
-#endif //__LOCVERIFIERDLG_RSC_IBY__
\ No newline at end of file
--- a/locationtriggering/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/group/bld.inf	Tue Aug 31 15:37:04 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -16,27 +16,10 @@
 *
 */
 
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS  
-DEFAULT GCCE
-
-PRJ_EXPORTS
-#ifdef CORE_MW_LAYER_IBY_EXPORT_PATH
-../rom/locationtriggering.iby                         CORE_MW_LAYER_IBY_EXPORT_PATH(locationtriggering.iby)
-../rom/locationtriggeringstub.iby                     CORE_MW_LAYER_IBY_EXPORT_PATH(locationtriggeringstub.iby)
+PRJ_PLATFORMS
+WINSCW ARMV5 GCCE
 
-// Export SIS File
-../data/lbtstub.sis  					/epoc32/data/z/system/install/lbtstub.sis
-#endif
-
-#ifdef MW_LAYER_CONFML
-../conf/lbtsettings.confml							  MW_LAYER_CONFML(lbtsettings.confml)
-#endif
-
-#ifdef MW_LAYER_CRML
-../conf/lbtsettings_1028312F.crml					  MW_LAYER_CRML(lbtsettings_1028312F.crml)
-#endif
+#include "../rom/bld.inf"
 
 #include "../ltlogger/group/bld.inf"
 #include "../ltclientlib/group/bld.inf"
@@ -47,7 +30,6 @@
 #include "../ltstrategyengine/group/bld.inf"
 #include "../ltmovementdetectionpluginapi/group/bld.inf"
 #include "../ltcellidmovementdetector/group/bld.inf"
-#include "../lbtmgmtui/group/bld.inf"
 #include "../ltcontextsourceplugin/group/bld.inf"
 
 PRJ_MMPFILES
--- a/locationtriggering/install/lbtstub.pkg	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/install/lbtstub.pkg	Tue Aug 31 15:37:04 2010 +0300
@@ -51,4 +51,5 @@
 ""-"Z:\private\1028312B\backup_registration.xml"
 
 
+
 ; End of File
--- a/locationtriggering/lbtmgmtui/data/2001E66E.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  ECOM plugin resource file for Location Triggering Plugin.
-*
-*/
-
-#include <ecom/registryinfo.rh>
-#include "lbtmgmtpluginuid.hrh"
-
-#define PLUGINDISPLAYNAME "Location Triggering"
-
-RESOURCE REGISTRY_INFO theInfo
-    {
-    dll_uid     = KLbtMgmtPluginUID3;
-    interfaces  = 
-        {
-        INTERFACE_INFO
-            {
-            interface_uid   = 0x10275061;
-            implementations = 
-                {
-                IMPLEMENTATION_INFO
-                    {
-                    implementation_uid  = KLbtMgmtPluginUID3;
-                    version_no          = 1;
-                    display_name        = PLUGINDISPLAYNAME;
-                    default_data        = "";
-                    opaque_data         = "";                   
-                    }
-                };
-            }
-        };
-    }
-
--- a/locationtriggering/lbtmgmtui/data/lbtmgmtpluginview.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,439 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Contains all the resource definitions for the Location Triggering
-*                Management UI.
-*
-*/
-
-
-//  RESOURCE IDENTIFIER
-
-NAME    LBTU // 4 Letter Identifier
-
-//  SYSTEM INCLUDES
-#include <data_caging_paths_strings.hrh>
-#include <bldvariant.hrh>
-#include <avkon.rh>
-#include <avkon.rsg>
-#include <avkon.mbg>
-#include <EIKCORE.rsg>
-#include <eikon.rh>
-#include <eikon.rsg>
-#include <avkon.loc>
-#include <lbtmgmtsettings.loc>
-
-// USER INCLUDES
-#include "lbtmgmtplugin.hrh"
-
-//  RESOURCE DEFINITIONS 
-    
-RESOURCE RSS_SIGNATURE 
-    {
-    }
-
-//------------------------------------------------------------------------------
-//   
-// r_lbtmgmtplugin_view
-// Location Trigger Management plug-in view
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE AVKON_VIEW r_lbtmgmtplugin_view
-    {
-    menubar = r_lbtmgmtplugin_menubar_view;
-    cba = r_lbtmgmtplugin_cba_change;    
-    }
-
-//------------------------------------------------------------------------------
-//   
-// r_lbtmgmtplugin_cba_change
-// CBA for Location Trigger Management plug-in
-//
-//-------------------------------------------------------------------------------
-//   
-RESOURCE CBA r_lbtmgmtplugin_cba_change
-    {
-    flags = 0;
-    buttons = 
-        {
-        CBA_BUTTON 
-            {
-            id = EAknSoftkeyOptions; 
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON 
-            {
-            id = EAknSoftkeyBack; 
-            txt = text_softkey_back;
-            },
-        CBA_BUTTON
-            {
-            id = ELbtMgmtMSKChange; 
-            txt = qtn_msk_change;
-            }
-        };
-    }
-
-//------------------------------------------------------------------------------
-//   
-// r_lbtmgmtplugin_cba_info
-// CBA for Location Trigger Management plug-in
-//
-//-------------------------------------------------------------------------------
-//
-   
-RESOURCE CBA r_lbtmgmtplugin_cba_info
-    {
-    flags = 0;
-    buttons = 
-        {
-        CBA_BUTTON 
-            {
-            id = EAknSoftkeyOptions; 
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON 
-            {
-            id = EAknSoftkeyBack; 
-            txt = text_softkey_back;
-            },
-        CBA_BUTTON
-            {
-            id = ELbtMgmtMSKInfo; 
-            txt = qtn_msk_loctr_info;
-            }
-        };
-    }
-
-//------------------------------------------------------------------------------
-//   
-// r_lbtmgmtplugin_cba_noactivetriggers
-// CBA for Location Trigger Management plug-in when there are no active triggers
-//
-//-------------------------------------------------------------------------------
-//
-   
-RESOURCE CBA r_lbtmgmtplugin_cba_noactivetriggers
-    {
-    flags = 0;
-    buttons = 
-        {
-        CBA_BUTTON 
-            {
-            id = EAknSoftkeyOptions; 
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON 
-            {
-            id = EAknSoftkeyBack; 
-            txt = text_softkey_back;
-            }
-        };
-    }
-    
-//----------------------------------------------------
-//   
-// r_lbtmgmtplugin_contextmenubar
-// Context Menu Bar Location Trigger Management plug-in view.
-//
-//----------------------------------------------------
-//
-RESOURCE MENU_BAR r_lbtmgmtplugin_contextmenubar
-    {
-    titles	=
-        {
-				MENU_TITLE { menu_pane = r_lbtmgmtplugin_contextmenu; txt=""; }
-        };
-    } 
-    
-//------------------------------------------------------------------------------
-//   
-// r_lbtmgmtplugin_contextmenu
-//
-// Context Menu Items for Location Trigger Management plug-in view.
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_lbtmgmtplugin_contextmenu
-    {
-    items=
-        {
-        MENU_ITEM 
-            { 
-            command = ELbtMgmtInfo; 
-            txt = qtn_options_loctr_info; 
-            },
-        MENU_ITEM 
-            { 
-            command = ELbtMgmtClearAll; 
-            txt = qtn_options_loctr_clear_triggers; 
-            }
-        };
-    }
-	
-
-
-//------------------------------------------------------------------------------
-//   
-// r_lbtmgmtplugin_menubar_view
-//
-// Menu bar for Location Trigger Management plug-in view.
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_lbtmgmtplugin_menubar_view
-    {
-    titles=
-        {
-        MENU_TITLE 
-            { 
-            menu_pane = r_lbtmgmtplugin_menu; txt=""; 
-            }
-        };
-    }
-
-//------------------------------------------------------------------------------
-//   
-// r_lbtmgmtplugin_menu
-//
-// Menu Items for Location Trigger Management plug-in view.
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_lbtmgmtplugin_menu
-    {
-    items=
-        {
-        MENU_ITEM 
-            { 
-            command = EAknCmdHelp; 
-            txt = qtn_options_help; 
-            },
-        MENU_ITEM 
-            {
-            // Exit option should use 'EEikCmdExit' instead of 'EEAknCmdExit'
-            // This is to ensure that the Exit command is not handled by the 
-            // ProcessCommandL of CAknView and is transferred to 
-            // CAknViewAppUi::HandleCommandL. This behaviour is necessary 
-            // for proper handling of the Exit command from an App Server's 
-            // perspective.
-            command = EEikCmdExit;  
-            txt = qtn_options_exit; 
-            }
-        };
-    }
-       
-//------------------------------------------------------------------------------
-// r_loctr_title_text_lt
-// 
-// Title text for Location Trigger Management settings
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loctr_title_text_lt
-    {
-    buf = qtn_loctr_title_text_lt;
-    }
-    
-//------------------------------------------------------------------------------
-// r_loctr_list_lbt_triggering
-// 
-// List box text for Triggering Status
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loctr_list_lbt_triggering
-    {
-    buf = qtn_loctr_list_lbl_triggering;
-    }
-
-//------------------------------------------------------------------------------
-// qtn_loctr_one_active_trigger
-// 
-// List box text for 1 Active Trigger
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loctr_one_active_trigger
-    {
-    buf = qtn_loctr_one_active_trigger;
-    }
-
-//------------------------------------------------------------------------------
-// r_loctr_list_active_trigger
-// 
-// List box text for Active Triggers
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loctr_list_active_trigger
-    {
-    buf = qtn_loctr_list_active_trigger;
-    }
-
-//------------------------------------------------------------------------------
-// r_loctr_list_no_active_trigger
-// 
-// List box text for No Active Triggers
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loctr_list_no_active_trigger
-    {
-    buf = qtn_loctr_list_no_active_trigger;
-    }
-
-//------------------------------------------------------------------------------
-// r_loctr_list_value_trigger_on
-// 
-// Settings value for Triggering Status. Indicates Location Triggering Status
-// is On
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loctr_list_value_trigger_on
-    {
-    buf = qtn_loctr_list_value_trigger_on;
-    }
-
-//------------------------------------------------------------------------------
-// r_loctr_list_value_trigger_off
-// 
-// Settings value for Triggering Status. Indicates Location Triggering Status
-// is Off
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loctr_list_value_trigger_off
-    {
-    buf = qtn_loctr_list_value_trigger_off;
-    }
-
-//------------------------------------------------------------------------------
-// r_loctr_note_turnoff
-// 
-// Confirmatiom message when triggering mechanism is set to OFF when 
-// there are active triggers
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loctr_note_turnoff
-    {
-    buf = qtn_loctr_note_turnoff;
-    }
-
-//------------------------------------------------------------------------------
-// r_loctr_note_cleartriggers
-// 
-// Confirmatiom message when triggering mechanism is set to OFF when 
-// there are active triggers
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loctr_note_cleartriggers
-    {
-    buf = qtn_loctr_note_cleartriggers;
-    }
-    
-//------------------------------------------------------------------------------
-// r_loctr_list_lbt_triggering_setting
-//
-// Settings page for manipulating Trigger Status settings
-//------------------------------------------------------------------------------
-//
-RESOURCE AVKON_SETTING_PAGE r_loctr_list_lbt_triggering_setting
-    { 
-    label = qtn_loctr_list_lbl_triggering;
-    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
-    type = EAknSetListBox;
-    editor_resource_id = r_loc_trigger_settings_listbox;
-    }
-    
-//------------------------------------------------------------------------------
-//   
-// r_loc_trigger_settings_listbox 
-// Listbox Control for Trigger Status Settings Page
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE LISTBOX r_loc_trigger_settings_listbox 
-    {
-    flags = EEikListBoxMultipleSelection;
-    }    
-    
-//------------------------------------------------------------------------------
-//   
-// r_loctr_confirmation_query
-//
-// Confirmation Query Dialog
-//------------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_loctr_confirmation_query
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_YES_NO;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_CONFIRMATION_QUERY
-                {
-                layout = EConfirmationQueryLayout;
-                label = "";
-                };
-            }
-        };
-    }
-
-//------------------------------------------------------------------------------
-//   
-// r_loctr_message_query_dialog
-//
-// Message Query Dialog for Displaying Trigger Info
-//------------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_loctr_message_query_dialog
-		{
-    flags = EGeneralQueryFlags | EEikDialogFlagNoBorder | EEikDialogFlagNoShadow;
-    buttons = R_AVKON_SOFTKEYS_OK_EMPTY;
-    items=
-        {
-        DLG_LINE
-            {
-            type = EAknCtPopupHeadingPane;
-            id = EAknMessageQueryHeaderId;
-            control = AVKON_HEADING
-                {
-                label = qtn_msk_loctr_info;
-                headinglayout = R_AVKON_WML_SIGN_QUERY_HEADING_PANE;
-                };
-            },
-        DLG_LINE
-            {
-            type = EAknCtMessageQuery;
-            id = EAknMessageQueryContentId;
-            control = AVKON_MESSAGE_QUERY
-                {
-                message = "";
-                };
-            }
-        };
-    }
-
-//------------------------------------------------------------------------------
-// r_loctr_info_popup_text
-// 
-// Info Message to be displayed when there are active and enabled Triggers  
-// minutes and decimal minutes
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_loctr_info_popup_text
-    {
-    buf = qtn_loctr_info_popup_text;
-    }
-    
-// End of File
Binary file locationtriggering/lbtmgmtui/data/lbtmgmtuistub.sis has changed
--- a/locationtriggering/lbtmgmtui/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  This file provides the information required for building 
-*                Location Triggering Management UI.
-*
-*/
-
-
-// To get the MW_LAYER_PLATFORM_EXPORT_PATH macro definitions
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-// Export Localization Files
-../loc/lbtmgmtsettings.loc                MW_LAYER_LOC_EXPORT_PATH(lbtmgmtsettings.loc)
-
-// Export IBY Files
-../rom/lbtmgmtui.iby            					CORE_MW_LAYER_IBY_EXPORT_PATH(lbtmgmtui.iby)
-../rom/lbtmgmtui_resources.iby           	LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(lbtmgmtui_resources.iby)
-
-// Export SIS File
-../data/lbtmgmtuistub.sis  								/epoc32/data/z/system/install/lbtmgmtuistub.sis
-
-// Stub IBY Files
-../rom/lbtmgmtuistub.iby    								CORE_MW_LAYER_IBY_EXPORT_PATH(lbtmgmtuistub.iby)
-PRJ_MMPFILES
-lbtmgmtui.mmp    
-
-PRJ_TESTMMPFILES
-
-//  End of File  
--- a/locationtriggering/lbtmgmtui/group/lbtmgmtui.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Project definition file for Location Triggering Management UI.
-*
-*/
-
-
-#include <platform_paths.hrh> // For the MW_LAYER_SYSTEMINCLUDE
-#include <data_caging_paths.hrh>
-#include "../inc/lbtmgmtpluginuid.hrh"    // For UID3
-
-CAPABILITY          CAP_ECOM_PLUGIN
-TARGET              lbtmgmtplugin.dll
-TARGETTYPE          PLUGIN
-UID                 0x10009D8D KLbtMgmtPluginUID3
-VENDORID            VID_DEFAULT
-
-SOURCEPATH          ../src
-SOURCE              lbtmgmtplugin.cpp
-SOURCE              lbtmgmtpluginimptable.cpp
-SOURCE              lbtmgmtplugincontainer.cpp
-SOURCE              lbtmgmtpluginview.cpp
-SOURCE              lbtmgmtpluginengine.cpp
-SOURCE 							lbtmgmtlbtadapter.cpp
-SOURCE 							lbtmgmtdebug.cpp
-
-USERINCLUDE         ../inc
-USERINCLUDE         ../data
-USERINCLUDE         ../../inc
-USERINCLUDE         ../../../inc
-
-// System Include
-APP_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH          ../data
-
-//ECOM resource definition
-START RESOURCE      2001E66E.rss
-TARGET              lbtmgmtplugin.rsc
-END // ECOM resource definition
-
-//View resources
-START RESOURCE      lbtmgmtpluginview.rss
-HEADER
-TARGETPATH          RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END // View Resources
-
-LIBRARY             euser.lib
-LIBRARY             ecom.lib
-LIBRARY             efsrv.lib
-LIBRARY             avkon.lib
-LIBRARY             bafl.lib 
-LIBRARY             cone.lib 
-LIBRARY             eikcoctl.lib 
-LIBRARY             eikcore.lib 
-LIBRARY             commonengine.lib        // RConeResourceLoader
-LIBRARY             egul.lib                // CGulIcon
-LIBRARY             aknskins.lib            // AknsUtils.h
-LIBRARY             flogger.lib				// Logging 
-LIBRARY             featmgr.lib             // Feature manager API
-LIBRARY             hlplch.lib              // Help File
-LIBRARY				lbtmanager.lib			//LBT Manager
-LIBRARY				lbt.lib					//LBT Server
-
-PAGED
-
-SMPSAFE
-
-// End of File
--- a/locationtriggering/lbtmgmtui/inc/lbtmgmtadapterobserver.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Observer to Location Location Triggering Management settings' adapters
-*
-*/
-
-#ifndef MLBTMGMTADAPTEROBSERVER_H_
-#define MLBTMGMTADAPTEROBSERVER_H_
-
-//  System Includes
-#include <e32base.h>
-
-// User Includes
-
-// Forward Declarations
-
-// Constant Declarations
-// Class Definition
-
-/**
- * Observer to the Location Triggering Management settings' adapter. This class
- * provides notification about the changes to the Settings values of
- * Location Triggering Management settings.
- */
-class MLbtMgmtAdapterObserver
-    {
-    public:
-        /**
-         * Creates new Location Triggering Management plug-in view.
-         */                                                 
-        virtual void HandleSettingsChangeL() = 0;
-
-    };          
-
-#endif // MLBTMGMTADAPTEROBSERVER_H_
-
--- a/locationtriggering/lbtmgmtui/inc/lbtmgmtdebug.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Debug File.
-*
-*/
-
-
-#ifndef _LBTMGMTDEBUG_H_
-#define _LBTMGMTDEBUG_H_
-
-// INCLUDES
-#include <e32std.h>
-#include "lbtmgmtdebugconfig.hrh"
-
-// MACROS
-#define DEBUG(TEXT) 				 { \
-									  _LIT( KText, #TEXT ); \
-									   Debug(KText); \
-									 }
-									 
-#define LBTMGMTUI(TEXT, ARG1) 			 { \
-									   _LIT( KText, #TEXT ); \
-									   Debug( KText, (ARG1) ); \
-									 }
-									 
-#define LBTMGMTUI2(TEXT, ARG1, ARG2) 		 { \
-									   _LIT( KText, #TEXT ); \
-									   Debug( KText,(ARG1), (ARG2) ); \
-									 }
-									 
-#define LBTMGMTUI3(TEXT, ARG1, ARG2, ARG3) { \
-									   _LIT( KText, #TEXT ); \
-									   Debug( KText, (ARG1), (ARG2), (ARG3) ); \
-									 }
-
-void Debug( TRefByValue<const TDesC> aText, ...);
-
-/**
-* By using component specific debug macros unnecessary 
-* debug prints can be avoided. 
-* Also component specific debugging is possible by compiling 
-* only certain components when LBTMGMTUI_ENABLE_DEBUG_PRINT is defined.
-*/
-
-#ifdef LBTMGMTUI_ENABLE_DEBUG_PRINT
-							 
-#define LBTMGMTUIDEBUG(TEXT)                     DEBUG(TEXT);
-#define LBTMGMTUIDEBUG1(TEXT, ARG1)              LBTMGMTUI(TEXT, ARG1);
-#define LBTMGMTUIDEBUG2(TEXT, ARG1, ARG2)        LBTMGMTUI2(TEXT, ARG1, ARG2);
-#define LBTMGMTUIDEBUG3(TEXT, ARG1, ARG2, ARG3)  LBTMGMTUI3(TEXT, ARG1, ARG2, ARG3);
-
-#else
-
-#define LBTMGMTUIDEBUG(TEXT)                     ;
-#define LBTMGMTUIDEBUG1(TEXT, ARG1)              ;
-#define LBTMGMTUIDEBUG2(TEXT, ARG1, ARG2)        ;
-#define LBTMGMTUIDEBUG3(TEXT, ARG1, ARG2, ARG3)  ;
-
-#endif
-
-#endif // _LBTMGMTDEBUG_H_
--- a/locationtriggering/lbtmgmtui/inc/lbtmgmtdebugconfig.hrh	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  This is the main build-time configuration file of Events Ui
-*
-*/
-
-
-#ifndef LBTMGMTUICONFIG_HRH_
-#define LBTMGMTUICONFIG_HRH_
-
-//  INCLUDES
-
-// Flags for development:
-
-
-// Defined LBTMGMTUI_ENABLE_DEBUG_PRINT flag enables debug prints to a file.
-
-#define LBTMGMTUI_ENABLE_DEBUG_PRINT
-
-#endif // LBTMGMTUICONFIG_HRH_
-
-// End of File
--- a/locationtriggering/lbtmgmtui/inc/lbtmgmtengobserver.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Location Triggering Management Plugin Engine Observer
-*
-*/
-
-
-#ifndef MLBTMGMTENGOBSERVER_H_
-#define MLBTMGMTENGOBSERVER_H_
-
-// Class Declaration
-/**
- * Observer to the Location Triggering Management plug-in.
- */
- 
-class MLbtMgmtEngObserver
-    {
-    public:
-        /**
-         * Notifies a change in the Location Triggering Management settings values
-         */
-        virtual void HandleSettingsChangeEventL() = 0;
-           
-    };
-    
-#endif // MLBTMGMTENGOBSERVER_H_
-
--- a/locationtriggering/lbtmgmtui/inc/lbtmgmtlbtadapter.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,203 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Location Triggering Management's Lbt adapter
-*
-*/
-
-#ifndef CLBTMGMTLBTADAPTER_H_
-#define CLBTMGMTLBTADAPTER_H_
-
-//  System Includes
-#include <e32base.h>
-#include <lbtserver.h>
-#include <lbtmanager.h>
-#include <lbt.h>
-#include <lbttriggerchangeeventobserver.h> 
-
-// User Includes
-
-// Forward Declarations
-class MLbtMgmtAdapterObserver;
-class CLbtTriggerChangeEventNotifier;
-
-// Constant Declarations
-
-// Class Definition
-
-/**
- * Adapter to the Lbt operations
- */
-class CLbtMgmtLbtAdapter : public CActive,
-								public MLbtTriggerChangeEventObserver
-    {
-    public:
-        /**
-         * Enumeration for Trigger Status Values
-         */         
-        enum TTriggeringStatus
-            {
-            /**
-             * Enumeration to display Trigger Status Value as On
-             */
-            EOn = 0x00000000,
-            
-            /**
-             * Enumeration to display Trigger Status Value as Off
-             */             
-            EOff            
-            };            
-    public:
-        /**
-         * Creates new Lbt adapter
-         *
-         * @param  aAdapterObsrv                        Observer to the Lbt adapter
-         * @return CLbtMgmtLbtAdapter& Reference to the adapter
-         */                                                 
-        static CLbtMgmtLbtAdapter* NewL( 
-                            MLbtMgmtAdapterObserver& aAdapterObsrv );
-
-
-        /**
-         * Creates new Lbt adapter
-         * Leaves the object on the Clean up stack         
-         *
-         * @param  aAdapterObsrv                        Observer to the Lbt adapter
-         * @return CLbtMgmtLbtAdapter& Reference to the adapter
-         */                                                 
-        static CLbtMgmtLbtAdapter* NewLC( 
-                            MLbtMgmtAdapterObserver& aAdapterObsrv );    
-
-        
-        /**
-         * Destructor
-         */
-        ~CLbtMgmtLbtAdapter ();
-        
-        /**
-         * Returns the Location Trigger Status settings value.
-         *
-         * @return TTriggeringStatus - Current Trigger Status.
-         */
-        CLbtMgmtLbtAdapter::TTriggeringStatus GetCurrentTriggeringStatusL();
-        
-        /**
-         * Sets the value of Location Trigger Status settings value.
-         *
-         * @param aTiggerStatus - Trigger Status Value.
-         */
-        void SetCurrentTriggeringStatusL( CLbtMgmtLbtAdapter::TTriggeringStatus aTiggerStatus );
-        
-        /**
-         * Toggle the value of Location Trigger Status settings value.
-         *
-         */
-        void ToggleTiggerStatusL();
-        
-        /**
-         * Deletes all active triggers
-         */           
-        void DeleteActiveTriggersL();
-        
-        /**
-        * Return the total active triggers from Location Triggering Server.
-        *
-        * @return TInt - Total active triggers.
-        */
-        TInt ActiveTriggers();
-        
-        /*
-         * Derived from MLbtTriggerChangeEventObserver
-         */
-    	void TriggerChangedL(const TLbtTriggerChangeEvent &aEvent);
-        
-
-    protected:
-        /**
-         * Inherited from CActive
-         */
-        void RunL();
-        
-        /**
-         * Inherited from CActive
-         */
-        void DoCancel();
-                    
-    private:
-        
-        /**
-        * Gets the total active triggers from Location Triggering Server.
-        */
-        void GetTotalActiveTriggersL();
-        
-        /**
-         * Constructor
-         */
-        CLbtMgmtLbtAdapter( MLbtMgmtAdapterObserver&    aAdapterObsrv );
-
-        /**
-         * Second Phase Constructor
-         */
-        void ConstructL();
-       
-        /**
-         * Start Notification
-         */
-        void StartNotification();
-        
-    private:
-                
-        /**
-         * Reference to the Adapter observer
-         */
-        MLbtMgmtAdapterObserver&     iObserver;
-        
-        /**
-         * Reference to the Lbt Server
-         *
-         */
-       	 RLbtServer iLbtServ;
-       	 
-        /**
-         * Reference to the Lbt Manager Session
-         *
-         */
-       	 RLbtManager iLbtMgr;
-       	 
-        /**
-         * Reference to the Lbt Manager Session
-         *
-         */
-       	 RLbtManager iLbtMgrObserver;
-       	 
-        /**
-         * Reference to the Lbt Manager Session
-         *
-         */
-       	 CLbtTriggerChangeEventNotifier * iEventChangeObserver;
-       	 
-        /**
-         * Triggering System structure
-         *
-         */
-       	 TLbtTriggeringSystemManagementSettings iTriggerSettings;
-       	 
-        /**
-         * Total Active Triggers
-         *
-         */
-    	 TInt iTotalActiveTriggers;
-    };          
-
-#endif // CLBTMGMTLBTADAPTER_H_
-
--- a/locationtriggering/lbtmgmtui/inc/lbtmgmtplugin.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,144 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Location Triggering Management Plugin View's container
-*
-*/
-
-#ifndef CLBTMGMTPLUGIN_H_
-#define CLBTMGMTPLUGIN_H_
-
-// System Includes
-#include <ConeResLoader.h>
-
-// User Includes
-#include "locsettingsui.h"
-
-// Classes referenced
-class MLocSettingsUiObserver;
-class CAknViewAppUi;
-class CLbtMgmtPluginView;
-
-// Constant Definition
-//Location Triggering Management plug-in RSC file name
-_LIT( KLbtMgmtUiResFileName, "lbtmgmtpluginview.rsc" );
-
-// Class Definition
-/**
- * Location Triggering Management plug-in.
- */
-class CLbtMgmtPlugin : public CLocSettingsUi
-    {
-    
-    public: // Constructors and destructor
-        
-        /**
-         * Symbian OS two-phased constructor
-         *
-         * @param aParam Generic parameter structure to the Settings UI plug-in
-         * @return 
-         */
-        static CLbtMgmtPlugin* NewL( TAny* aParam );
-    
-        /**
-         * Destructor.
-         */
-        ~CLbtMgmtPlugin();
- 
-        /**
-         * Inherited from CSettingsUi
-         * Launches the Settings UI
-         *
-         * @param aUiLaunchParams   Flags that define specific configuration of
-         *                          if the Settings UI, that the user of the API
-         *                          wants to launch. If more than one functionality
-         *                          is requested then the various combinations
-         *                          are to be ORed. The interpretation of these
-         *                          flag values is a part of the understanding
-         *                          between the API user and the Settings UI
-         */
-        void LaunchL( TInt      aUiLaunchParams );
-
-        /**
-         * Inherited from CSettingsUi
-         * Closes the running Settings UI prematurely.
-         */
-        void Close();
-
-        /**
-         * Inherited from CSettingsUi
-         * Method for getting caption of this plugin. This should be the 
-         * localized name of the settings view to be shown in parent view.
-         *
-         * @param aCaption pointer to Caption variable
-         */
-        void GetCaptionL( TDes& aCaption ) const;
-
-        /**
-         * Inherited from CSettingsUi
-         * Returns the priority of the UI module.
-         * 
-         * @return Priority of the Settings UI
-         */
-        TInt GetPriority();
-         
-    private:
-        /**
-         * C++ default constructor.
-         */
-        CLbtMgmtPlugin( MLocSettingsUiObserver&      aSettingsUiObserver,
-                           CAknViewAppUi&               aAppUi );
-
-        /**
-         * Second phase constructor.
-         */
-        void ConstructL();
-
-        /**
-         * Opens the nearest localized resourcefile using aResourceLoader. 
-         * aResourceLoader should be opened only once before closing it. 
-         * Otherwise it will raise a panic. Therefore it is better to have 
-         * multiple resource loaders.
-         * 
-         * @param aResourceFileName Drive and name of resource file in format 
-         *                          <path>:<rsc_file_name>
-         * @param aResourceLoader Resource loader for the resource. The loader 
-         *                        must not be opened allready or it will raise 
-         *                        a panic. It is caller's responsibility to 
-         *                        close the resource loader after using the 
-         *                        resource.
-         */
-        void OpenLocalizedResourceFileL( const TDesC&               aResourceFileName, 
-                                               RConeResourceLoader& aResourceLoader );
-                                                       
-  
-    private:
-        /**
-         * Resource Loader handle for handling Location Triggering Management settings' 
-         * specific resources
-         */
-        RConeResourceLoader             iResourceLoader;
-            
-        /**
-         * Location Triggering Management view
-         * Owns
-         */
-        CLbtMgmtPluginView*      iView;
-        
-        /**
-         * Location Triggering Management view Id
-         */
-        TUid                        iViewId;
-    };
-
-#endif // CLBTMGMTPLUGIN_H_
--- a/locationtriggering/lbtmgmtui/inc/lbtmgmtplugin.hrh	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Contains declarations for constants of Location Triggering 
-*                Management UI. This file can be included in C++ or resource file.
-*
-*/
-
-
-#ifndef _LBTMGMTPLUGIN_HRH_
-#define _LBTMGMTPLUGIN_HRH_
-
-/**
- * Enumeration of Command Ids for Location Triggering Management plug-in
- */
-enum TLbtMgmtCommandIds
-    {
-    ELbtMgmtChange = 0x6000,
-    ELbtMgmtMSKChange,
-    ELbtMgmtInfo,
-    ELbtMgmtMSKInfo,
-    ELbtMgmtClearAll,
-    ELbtMgmtShowCSMenu,
-    ECmdNone
-    };
-
-#endif      // _LBTMGMTPLUGIN_HRH_
-
-// End of File
--- a/locationtriggering/lbtmgmtui/inc/lbtmgmtplugincmdhdlr.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Interface class that provides the command handling functionality.
-*                The class implementing it should be prepared to handle all commands
-*                except those internal to the calling UI
-*
-*/
-
-
-#ifndef MLBTMGMTPLUGINCMDHDLR_H_
-#define MLBTMGMTPLUGINCMDHDLR_H_
-
-// System Include 
-#include <e32base.h>
-
-// Class Definition
-/**
- *  Interface class that provides the command handling functionality.
- */
-class MLbtMgmtPluginCmdHdlr
-    {
-    public:
-	     /**
-         * Enumeration for Command Handler commands
-         */
-	 enum TLbtMgmtPluginCmd
-	    {
-	    /**
-	     * List box item selection
-	     */
-	    EListBoxItemSelected,
-	    
-	    /**
-	     * List box item focused
-	     */
-	    EListBoxItemFocused,
-	    
-	    /**
-	     * Screen size changed
-	     */
-	    EScreenSizeChanged
-	    };
-	    
-    public:
-        /**
-         * Command handling function
-         *
-         * @param aCommand Command that needs to be handled
-         */
-         virtual void HandleCmdL( TLbtMgmtPluginCmd aCommand )   = 0;
-         
-    };
-
-#endif // MLBTMGMTPLUGINCMDHDLR_H_
-
--- a/locationtriggering/lbtmgmtui/inc/lbtmgmtplugincontainer.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,201 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Location Triggering Managemen Plugin View's container
-*
-*/
-
-#ifndef CLBTMGMTPLUGINCONTAINER_H_
-#define CLBTMGMTPLUGINCONTAINER_H_
-
-// System Includes 
-#include <e32base.h>
-#include <coecntrl.h>
-#include <eiklbo.h>
-
-// Forward Declarations
-class MDesCArray;
-class MLbtMgmtPluginCmdHdlr;
-class CAknSettingStyleListBox;
-class CLbtMgmtPluginView;
-
-// Class Definition
-
-/**
- * Container for the CLbtMgmtPluginView.
- */
-class CLbtMgmtPluginContainer : public CCoeControl,
-                                    public MEikListBoxObserver
-    {
-    public:
-        /**
-         * Static Two phase contructor that instantiates the CLbtMgmtPluginContainer
-         * 
-         * @param aRect                         Client rectangle
-         * @param aListBoxModel                 Model for the container's list box
-         * @param aCmdHandler                   List box command handler
-         * @return CLbtMgmtPluginContainer*  Reference to the object created
-         */
-        static CLbtMgmtPluginContainer* NewL( 
-                                const TRect&                    aRect,
-                                      MDesCArray&               aListBoxModel,
-                                      MLbtMgmtPluginCmdHdlr& aCmdHandler,
-                                      CLbtMgmtPluginView* aView );
-
-        /**
-         * Static Two phase contructor that instantiates the CLbtMgmtPluginContainer
-         * Leaves the object on the Cleanup stack
-         * 
-         * @param aRect                         Client rectangle
-         * @param aListBoxModel                 Model for the container's list box
-         * @param aCmdHandler                   List box command handler     
-         * @return CLbtMgmtPluginContainer*  Reference to the object created
-         */
-        static CLbtMgmtPluginContainer* NewLC(
-                                const TRect&                    aRect,
-                                      MDesCArray&               aListBoxModel,
-                                      MLbtMgmtPluginCmdHdlr& aCmdHandler,
-                                      CLbtMgmtPluginView* aView );
-        /**
-         * Destructor
-         */
-        ~CLbtMgmtPluginContainer();
-         
-        /**
-         * Returns the currentlt focussed element.
-         *
-         * @return TInt Index of the item selected
-         */
-        TInt GetFocussedItem();
-        
-        /**
-         * Inherited from CCoeControl
-         */
-        void HandleResourceChange(TInt aType);
-
-        /**
-         * From CoeControl
-         */
-        TInt CountComponentControls() const;
-
-        /**
-         * From CCoeControl
-         */
-        CCoeControl* ComponentControl(TInt aIndex) const;
-
-        /**
-         * Inherited from CCoeControl
-         */
-        TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
-                                           TEventCode aType );
-        
-        /**
-         * Inherited from CCoeControl
-         */                         
-        void HandlePointerEventL(const TPointerEvent &aPointerEvent);
- 
-        /**
-         * Inherited from MEikListBoxObserver
-         */
-        void HandleListBoxEventL( CEikListBox*      aListBox, 
-                                  TListBoxEvent     aEventType );        
-                
-        /**
-         * Returns the help context
-         *
-         * @param aContext  The help context that has to be determined
-         */
-        void GetHelpContext( TCoeHelpContext& aContext ) const;
-                
-        /**
-         * Updates listbox model          
-         */
-       void Update();
-       /*
-        * Shows context specific menu items
-        */
-       void ShowContextMenuL();
-             
-    protected:
-        /**
-         * Handles Focus Change to list 
-         */
-        void FocusChanged(TDrawNow aDrawNow);
-         
-        /**
-         * From CoeControl,SizeChanged.
-         */
-        void SizeChanged();
-
-    private:
-        /**
-         * Overloaded Constructor
-         */
-        CLbtMgmtPluginContainer( MDesCArray&               aListBoxModel,
-                                    MLbtMgmtPluginCmdHdlr& aCmdHandler,
-                                    CLbtMgmtPluginView* aView );
-
-        /**
-         * Second phase of the two phase Construction process
-         */
-        void ConstructL( const TRect& aRect );
-           
-        /** 
-         * Creates the List box and the Listbox model. Associates the 
-         * list box model wit the list box
-         *         
-         */
-        void CreateListboxL();
-                      
-        /**
-         * Sets the Title text
-         * @param aResourceText Resource to create title
-         */
-        void MakeTitleL( TInt aResourceText );
-              
-         /**
-          * Returns the Appui's status pane
-          * @return CEikStatusPane* Statuspane pointer
-          */
-         CEikStatusPane* StatusPane();
-     
-    private:
-        /**
-         * Reference to the List box model
-         */
-        MDesCArray&                 iListBoxModel;
-          
-        /**
-         * Reference to the List box command handler
-         */
-        MLbtMgmtPluginCmdHdlr&   iCmdHandler;
-        
-        /**
-         * Settings list box for Trigger Management settings
-         * Owns
-         */
-        CAknSettingStyleListBox*        iListBox;    
-        
-        /**
-         * Help context
-         */
-        TCoeContextName                 iContextName;
-        /*
-         * reference to the lbtmgmtplugin view
-         */
-        CLbtMgmtPluginView* iView;
-        
-  };
-
-#endif // CLBTMGMTPLUGINCONTAINER_H_
-
--- a/locationtriggering/lbtmgmtui/inc/lbtmgmtpluginengine.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,217 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Location Triggering Management Plugin Engine
-*
-*/
-
-#ifndef CLBTMGMTPLUGINENGINE_H_
-#define CLBTMGMTPLUGINENGINE_H_
-
-//  System Includes
-#include <e32base.h>
-#include <bamdesca.h>  // MDesCArray
-
-// User Includes
-#include "lbtmgmtadapterobserver.h"
-
-// Forward Declarations
-class MLbtMgmtEngObserver;
-class CLbtMgmtLbtAdapter;
-
-// Constant Declarations
-
-// Class Definition
-
-/**
- * Engine for Location Triggering Management Plugin.
- *
- * The class for interacting accessing and modifying Triggering Management settings. The 
- * class interfaces with the corresponding Adapter Class for Trigger Status 
- * and Default Tone.
- * Further, its also doubles up as a model for the Location Triggering Management 
- * list-box
- */
-class CLbtMgmtPluginEngine : public CBase,
-                                public MDesCArray,
-                                public MLbtMgmtAdapterObserver
-    {
-    public:
-        /**
-         * Enumeration for the Settings list
-         */
-        enum TSettingsList
-            {
-            /**
-             * Trigger status
-             */
-            ETriggeringStatus = 0,
-            
-            /**
-             * Active Triggers
-             */
-            EActiveTriggers    
-            };    
-    public:
-        /**
-         * Creates new Location Triggering Management plug-in engine instance.
-         *
-         * @param  aEngineObserver           Observer to the Triggering Management engine
-         * @return CLbtMgmtPluginEngine* Reference to the application view
-         */                                                 
-        static CLbtMgmtPluginEngine* NewL( MLbtMgmtEngObserver& aEngineObserver );
-
-        /**
-         * Creates new Location Triggering Management plug-in engine instance.
-         * Leaves the object on the Clean-up stack.
-         *
-         * @param  aEngineObserver           Observer to the Triggering Management engine
-         * @return CLbtMgmtPluginEngine* Reference to the application view
-         */                                                 
-        static CLbtMgmtPluginEngine* NewLC( MLbtMgmtEngObserver& aEngineObserver );
-        
-        /**
-         * Destructor
-         */
-        ~CLbtMgmtPluginEngine();
-        
-    public:
-        /**
-         * Inherited from MDesCArray
-         */
-        TInt MdcaCount() const;
-
-        /**
-         * Inherited from MDesCArray
-         */
-        TPtrC16 MdcaPoint( TInt aIndex ) const;
-
-        /**
-         * Inherited from MLbtMgmtAdapterObserver
-         */     
-        void HandleSettingsChangeL();
-        
-    public:
-        /**
-         * Closes the running Settings UI prematurely. This would result in dismissing
-         * any active dialogs currently running
-         */
-        void Close();
-            
-        /**
-         * Change Trigger settings
-         */
-        void ChangeTiggerStatusL();
-        
-        /**
-         * Toggle Trigger settings
-         */
-        void ToggleTiggerStatusL();
-        
-        /**
-         * Show Info dialog for active triggers
-         */
-        void ShowInfoDialogL();
-        
-        /**
-         * Clears all triggers
-         */
-        void ClearAllTriggersL();
-        
-        /**
-         * Returns total active triggers
-         */
-        TInt ActiveTriggers();
-                
-    private:
-        /**
-         * Constructor
-         */
-        CLbtMgmtPluginEngine(  MLbtMgmtEngObserver& aEngineObserver );
-
-        /**
-         * Second Phase Constructor
-         */
-        void ConstructL();
-        
-    private:
-        
-        /**
-         * Reference to the Engine observer
-         */
-        MLbtMgmtEngObserver&                 iObserver;
-        
-        /**
-         * Lbt Adapter handle
-         * Owns
-         */ 
-        CLbtMgmtLbtAdapter*    iLbtAdapter;
-        
-        /**
-         * Triggering Settings heading
-         * Owns
-         */
-        HBufC16*                                iTriggeringTitle;
-        
-        /**
-         * Active Triggers Settings heading
-         * Owns
-         */
-        HBufC16*                                iActiveTitle;
-        
-        /**
-         * No Active Triggers Settings heading
-         * Owns
-         */
-        HBufC16*                                iNoActiveTitle;
-        
-        /* Info message about active triggers
-          * Owns
-          */
-        HBufC16*                                iInfoMessage;    
-        
-        /**
-         * Triggering Settings Value - On
-         * Owns
-         */
-        HBufC16*                                iOnSettings;
-        
-        /**
-         * Triggering Settings Value - Off
-         * Owns
-         */
-        HBufC16*                                iOffSettings; 
-
-        /**
-         * Temporary Buffer for returning values to the Accessor 
-         * functions.
-         * Owns
-         */
-       HBufC16*                                iConversionBuffer;
-        
-        /**
-         * Boolean value to denote whether any settings dialog is currently
-         * outstanding
-         */
-        TBool                                   iSettingsDialogOutstanding;     
-       	 
-        /**
-         * Total Active Triggers
-         *
-         */
-    	 TInt iTotalActiveTriggers;
-                    
-    };          
-
-#endif // CLBTMGMTPLUGINENGINE_H_
-
--- a/locationtriggering/lbtmgmtui/inc/lbtmgmtpluginuid.hrh	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Contains the UID3 value to be used for the Location Trigger 
-*                Management plug-in. This value is expected to have two specific
-*                functions
-*                1. UID3 for the lbtmgmtplugin.dll ECOM DLL
-                 2. Implementation UID for the ECOM plugin to LocSysUiEngine
-*
-*/
-
-
-#ifndef _LBTMGMTPLUGINUID_HRH_
-#define _LBTMGMTPLUGINUID_HRH_
-
-// Location System UI View UID3
-#define KLbtMgmtPluginUID3          0x2001E66E
-
-#endif      // _LBTMGMTPLUGINUID_HRH_
-
-// End of File
-
-
--- a/locationtriggering/lbtmgmtui/inc/lbtmgmtpluginview.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,198 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Location Triggering Management Plugin view
-*
-*/
-
-#ifndef CLBTMGMTPLUGINVIEW_H_
-#define CLBTMGMTPLUGINVIEW_H_
-
-//  System Includes
-#include <data_caging_path_literals.hrh>
-#include <e32base.h>
-#include <aknview.h>
-#include <aknViewAppUi.h>
-#include <ConeResLoader.h>
-
-// User Includes
-#include "lbtmgmtpluginuid.hrh"
-#include "lbtmgmtplugincmdhdlr.h"
-#include "lbtmgmtengobserver.h"
-
-// Forward Declarations
-class CLbtMgmtPluginContainer;
-class MLbtMgmtEngObserver;
-class MLocSettingsUiObserver;
-class CLbtMgmtPluginEngine;
-    
-// Constant Declarations
-const TUid KLbtMgmtViewPluginUid = { KLbtMgmtPluginUID3 };
-_LIT( KLbtMgmtViewResFileName, "lbtmgmtpluginview.rsc" );
-
-// Class Definition
-
-/**
- * Location Triggering Management Plugin view class. 
- */
-class CLbtMgmtPluginView : public CAknView,
-                              public MLbtMgmtPluginCmdHdlr,
-                              public MLbtMgmtEngObserver
-    {
-    public:
-        /**
-         * Creates new Location Triggering Management plug-in view.
-         *
-         * @param  aSettingsObsrv           Observer to the Settings UI
-         * @return CLbtMgmtPluginView&   Reference to the application view
-         */                                                 
-        static CLbtMgmtPluginView* NewL( MLocSettingsUiObserver& aSettingsObsrv );
-
-        /**
-         * Creates new Location Triggering Management plug-in view. 
-         * Leaves the object on the Clean up stack
-         *
-         * @param  aSettingsObsrv           Observer to the Settings UI         
-         * @return CLbtMgmtPluginView&   Reference to the application view
-         */                                                 
-        static CLbtMgmtPluginView* NewLC( MLocSettingsUiObserver& aSettingsObsrv );
-        
-        /**
-         * Destructor
-         */
-        ~CLbtMgmtPluginView ();
-
-        /**
-         * Close the Triggering Management Settings
-         */
-        void CloseSettings();
-        
-        /**
-         * From CAknView. 
-         */
-        void DoActivateL( const TVwsViewId& aPrevViewId,
-                                TUid        aCustomMessageId,
-                          const TDesC8&     aCustomMessage );
-        
-        /**
-         * From CAknView. 
-         */
-        void DoDeactivate();
- 
-        /**
-         * From CAknView. Returns the View Id. Should be chosen to reflect 
-         * the Implementation UID of the Plugin
-         */
-        TUid Id() const;
-
-        /**
-         * From CAknView. 
-         */
-        void HandleCommandL(TInt aCommand);
-        
-
-       /**
-        * For CBA Change
-        */
-				void SetCba( TInt aResourceId );
-    /*
-     * returns CLbtMgmtPluginEngine
-     */
-    CLbtMgmtPluginEngine* GetLbtMgmtPluginEngine();
-
-    public:
-        /**
-         * Inherited from MLbtMgmtPluginCmdHdlr
-         * Handles commands from the container
-         *
-         * @param  aCommand Command ID
-         */
-        void HandleCmdL( TLbtMgmtPluginCmd aCommand );
-
-    public:
-        /**
-         * Inherited from MLbtMgmtEngObserver
-         */
-        void HandleSettingsChangeEventL();
-                
-    private:
-        /**
-         * Constructor
-         */
-        CLbtMgmtPluginView( MLocSettingsUiObserver& aSettingsObsrv );
-
-        /**
-         * Second Phase Constructor
-         */
-        void ConstructL();
-            
-        /**
-         * Shows or dims help option, depending wheather help feature
-         * is supported or not.
-         * @param aMenuPane
-         */
-        void HandleHelpFeature( CEikMenuPane& aMenuPane ) const;
-              
-        /**
-         * Handle Settings Change Event
-         * 
-         * @param aCmd Settings change command
-         */
-        void SettingsChangeL( TInt aCmd );
-        
-        /**
-         * Opens the nearest localized resourcefile using aResourceLoader. 
-         * aResourceLoader should be opened only once before closing it. 
-         * Otherwise it will raise a panic. Therefore it is better to have 
-         * multiple resource loaders.
-         * 
-         * @param aResourceFileName Drive and name of resource file in format 
-         *                          <path>:<rsc_file_name>
-         * @param aResourceLoader Resource loader for the resource. The loader 
-         *                        must not be opened allready or it will raise 
-         *                        a panic. It is caller's responsibility to 
-         *                        close the resource loader after using the 
-         *                        resource.
-         */
-        void OpenLocalizedResourceFileL( const TDesC&                aResourceFileName, 
-                                               RConeResourceLoader&  aResourceLoader );
-        
-    private:        
-        /**
-         * Reference to the Settings UI Observer. Used to notify the dismissal of the 
-         * plug-in
-         */
-        MLocSettingsUiObserver&         iSettingsObserver;
-        
-        /**
-         * Resource loader handle
-         * Owns
-         */
-        RConeResourceLoader             iResourceLoader;
-        
-        /**
-         * Location Trigger Management Container
-         * Owns
-         */
-        CLbtMgmtPluginContainer*     iContainer;
-        
-        /**
-         * Location Trigger Management engine
-         * Owns
-         */
-        CLbtMgmtPluginEngine*        iEngine;
-       
-    };          
-
-#endif // CLBTMGMTPLUGINVIEW_H_
-
--- a/locationtriggering/lbtmgmtui/install/lbtmgmtui.pkg	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +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: Package file for lbtmgmtui Plugin
-;
-;
-; Installation file for lbtmgmtui Plugin
-;
-;Languages
-&EN
-;
-; UID is the app's UID
-;
-#{"lbtmgmtui"},( 0x2001E66E ),1,0,0,TYPE=SA, RU
-;
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Supports Series 60 v 3.0
-;This line indicates that this installation is for the Series 60 platform v3.0
-;This line must appear _exactly_ as shown below in the sis file
-;If this line is missing or incorrect, the sis file will not be able
-;to be installed on Series 60 v3.0 platforms
-[0x102752AE], 0, 0, 0, {"Series60ProductID"} ; S60 3.2 and variants
-[0x1028315F], 0, 0, 0, {"Series60ProductID"} ; S60 5.0
-;
-;
-
-; Install lbtmgmtui Settings
-"\epoc32\data\z\resource\plugins\lbtmgmtplugin.rsc"			-"!:\resource\plugins\lbtmgmtplugin.rsc"
-"\epoc32\release\armv5\urel\lbtmgmtplugin.dll"					-"!:\sys\bin\lbtmgmtplugin.dll"
-"\epoc32\data\z\resource\lbtmgmtpluginview.rsc"				  -"!:\resource\lbtmgmtpluginview.rsc"
Binary file locationtriggering/lbtmgmtui/install/lbtmgmtui.sis has changed
Binary file locationtriggering/lbtmgmtui/install/lbtmgmtui.sisx has changed
--- a/locationtriggering/lbtmgmtui/install/lbtmgmtuistub.pkg	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-;
-; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "Eclipse Public License v1.0"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description: Stub package file for lbtmgmtui Plugin
-;
-;
-; Installation file for lbtmgmtui Plugin
-;
-;Languages
-&EN
-;
-; UID is the app's UID
-;
-#{"lbtmgmtui"},( 0x2001E66E ),1,0,0,TYPE=SA
-;
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Supports Series 60 v 3.0
-;This line indicates that this installation is for the Series 60 platform v3.0
-;This line must appear _exactly_ as shown below in the sis file
-;If this line is missing or incorrect, the sis file will not be able
-;to be installed on Series 60 v3.0 platforms
-[0x102752AE], 0, 0, 0, {"Series60ProductID"} ; S60 3.2 and variants
-[0x1028315F], 0, 0, 0, {"Series60ProductID"} ; S60 5.0
-;
-;
-
-; Install lbtmgmtui Settings
-""-"z:\resource\plugins\lbtmgmtplugin.rsc"
-""-"z:\sys\bin\lbtmgmtplugin.dll"
-""-"z:\resource\lbtmgmtpluginview.rsc"
--- a/locationtriggering/lbtmgmtui/loc/lbtmgmtsettings.loc	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Localization file Location Triggering Management Plugin
-*
-*/
-
-
-/**
- *  Default (implementation English) Resource localisation file.
- */
-
-//  LOCALISATION STRINGS  
-
-//d: Title pane text for Location Triggering Management settings
-//l: title_pane_t2/opt9
-//r: 9.1tb
-//
-#define qtn_loctr_title_text_lt "Location triggering"
-
-//d: List box Settings item for Triggering
-//l: list_setting_pane_t1
-//r: 9.1tb
-//
-#define qtn_loctr_list_lbl_triggering "Triggering"
-
-//d: Settings value for Triggering, Indicates the Location Triggering is On
-//l: list_set_graphic_pane_t1
-//r: 9.1tb
-//
-#define qtn_loctr_list_value_trigger_on "On"
-
-//d: Settings value for Triggering, Indicates the Location Triggering is Off
-//l: list_set_graphic_pane_t1
-//r: 9.1tb
-//
-#define qtn_loctr_list_value_trigger_off "Off"
-
-//d: Confirmatiom message when triggering mechanism is set to OFF
-//d: there are active triggers
-//l: popup_note_window
-//r: 9.1tb
-//
-#define qtn_loctr_note_turnoff "There are active triggers. Turn off anyway"
-
-//d: List box Settings item when no Active triggers exist 
-//l: list_setting_pane_t1
-//r: 9.1tb
-//
-#define qtn_loctr_list_no_active_trigger "No Active triggers exist"
-
-//d: List box Settings item when Active triggers exist 
-//l: list_setting_pane_t1
-//r: 9.1tb
-//
-#define qtn_loctr_list_active_trigger "%N Active triggers exist"
-
-//d: List box Settings item when 1 Active trigger exist 
-//l: list_setting_pane_t1
-//r: 9.1tb
-//
-#define qtn_loctr_one_active_trigger "1 Active trigger exist"
-
-//d: Middle soft Key string when the focus is on Active triggers.
-//l: control_pane_t3/opt7
-//r: 9.1tb
-//
-#define qtn_msk_loctr_info "Info"
-
-//d: Menu Item to show info about the Active triggers
-//l: list_single_pane_t1_cp2
-//r: 9.1tb
-//
-#define qtn_options_loctr_info "Info"
-
-//d: Menu Item for Clear all the Triggers
-//l: list_single_pane_t1_cp2
-//r: 9.1tb
-//
-#define qtn_options_loctr_clear_triggers "Clear triggers"
-
-//d: Text to display in Message Query, if there are active triggers
-//l: popup_info_list_pane_t1
-//r: 9.1tb
-//
-#define qtn_loctr_info_popup_text "There are active location triggers. Individual triggers can be managed in applications where created. All active triggers can be cleared using the menu item \" Clear triggers \" "
-
-//d: Confirmation String to Clear all Triggers
-//l: popup_note_window/opt1
-//r: 9.1tb
-//
-#define qtn_loctr_note_cleartriggers "Clear all active triggers"
-
-// End of file
--- a/locationtriggering/lbtmgmtui/rom/lbtmgmtui.iby	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Lbt Management Ui IBY definition
-*
-*/
-#ifndef __LBTMGMTUI_IBY__
-#define __LBTMGMTUI_IBY__
-
-#include <bldvariant.hrh>
-
-#ifdef FF_LBT_ENGINE
-#ifdef FF_LBT_MGTUI
-
-// Location Trigger Management Settings ECOM Plugin
-ECOM_PLUGIN(lbtmgmtplugin.dll,2001E66E.rsc)
-
-#endif // ( FF_LBT_MGTUI )
-#endif // ( FF_LBT_ENGINE )
-
-#endif // ( __LBTMGMTUI_IBY__ )
--- a/locationtriggering/lbtmgmtui/rom/lbtmgmtui_resources.iby	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Lbt Management Ui resource IBY definition
-*
-*/
-#ifndef __LBTMGMTUI_RSC_IBY__
-#define __LBTMGMTUI_RSC_IBY__
-
-#include <bldvariant.hrh>
-
-#ifdef FF_LBT_ENGINE
-#ifdef FF_LBT_MGTUI
-
-//Location Trigger Management Settings UI localisable resource file
-data=DATAZ_\RESOURCE_FILES_DIR\lbtmgmtpluginview.rsc		RESOURCE_FILES_DIR\lbtmgmtpluginview.rsc
-
-#endif // ( FF_LBT_MGTUI )
-#endif // ( FF_LBT_ENGINE )
-
-#endif //__LBTMGMTUI_RSC_IBY__
\ No newline at end of file
--- a/locationtriggering/lbtmgmtui/rom/lbtmgmtuistub.iby	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Stub IBY definition
-*
-*/
-#ifndef __LBTMGMTUISTUB_IBY__
-#define __LBTMGMTUISTUB_IBY__
-
-#include <bldvariant.hrh>
-
-#ifdef FF_LBT_ENGINE
-#ifdef FF_LBT_MGTUI
-
-// Location System UI stub
-data=ZSYSTEM\install\lbtmgmtuistub.sis    system\install\lbtmgmtuistub.sis
-
-#endif // ( FF_LBT_MGTUI )
-#endif // ( FF_LBT_ENGINE )
-
-#endif // (__LBTMGMTUISTUB_IBY__)
--- a/locationtriggering/lbtmgmtui/src/lbtmgmtdebug.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Debug File.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "lbtmgmtdebug.h"
-#include <flogger.h>
-#include <e32svr.h>
-#include <bautils.h>
-// CONSTANTS
-
-/// Folder where the log resides
-_LIT( KLbtMgmtLogFolder, "epos" );
-
-/// The name of the log file
-_LIT( KLbtMgmtLogFileName, "lbtmgmtui.txt" );
-
-/// The format in which the time is formatted in log
-_LIT( KLbtMgmtLogTimeFormat, "%02d.%02d:%02d:%06d ");
-
-/// The length of the string produced by KLbtMgmtLogTimeFormat
-const TInt KLbtMgmtLogTimeFormatLength = 16;
-
-/// How many characters a log line can contain
-const TInt KLbtMgmtLogLineLength = 256;
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-
-
-// -----------------------------------------------------------------------------
-// Debug
-// Generates a log file if c:\logs\epos\ folder exists
-// -----------------------------------------------------------------------------
-//
-void Debug( TRefByValue<const TDesC> aText, ... )
-    {    
-    // coverity[var_decl : FALSE] 
-    VA_LIST args;
-    VA_START( args, aText );
-    
-    TBuf<KLbtMgmtLogLineLength> buf;
-    buf.FormatList( aText, args );
-
-    #ifdef _DEBUG
-    RDebug::Print(buf);
-    #endif
-	
-    RFileLogger logger;
-    
-    TInt ret=logger.Connect();
-    if (ret==KErrNone)
-        {
-        logger.SetDateAndTime( EFalse,EFalse );
-        logger.CreateLog( KLbtMgmtLogFolder, KLbtMgmtLogFileName, EFileLoggingModeAppend );       
-        TBuf<KLbtMgmtLogTimeFormatLength> timeStamp;
-        TTime now;
-        now.HomeTime();
-        TDateTime dateTime;
-        dateTime = now.DateTime();
-        timeStamp.Format( KLbtMgmtLogTimeFormat, 
-            dateTime.Hour(), dateTime.Minute(),
-            dateTime.Second(), dateTime.MicroSecond() );
-        buf.Insert( 0, timeStamp );
-
-        logger.Write(buf);
-        }
-
-    logger.Close();
-
-    VA_END( args );
-    }
-	
-//  End of File  
--- a/locationtriggering/lbtmgmtui/src/lbtmgmtlbtadapter.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,340 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Location Triggering Management's Lbt adapter
-*
-*/
-
-
-// User Include
-#include "lbtmgmtlbtadapter.h"
-#include "lbtmgmtadapterobserver.h"
-#include "lbtmgmtdebug.h"
-#include <lbtstatuspskeys.h>
-#include <lbttriggerfilterbyattribute.h> 
-#include <lbttriggerchangeeventnotifier.h>
-
-// System Include
-#include <lbttriggeringsystemmanagementsettings.h> 
-#include <lbtcommon.h>
-#include <e32property.h>
-
-// Constant Definition
-
-// ========================= MEMBER FUNCTIONS ================================
-
-
-// ---------------------------------------------------------------------------
-// CLbtMgmtLbtAdapter::CLbtMgmtLbtAdapter
-// Overloaded Constructor
-//
-// ---------------------------------------------------------------------------
-//  
-CLbtMgmtLbtAdapter::CLbtMgmtLbtAdapter(  
-                                MLbtMgmtAdapterObserver& aAdapterObsrv )
-    :CActive(EPriorityStandard),
-    iObserver(aAdapterObsrv)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CLbtMgmtLbtAdapter::~CLbtMgmtLbtAdapter
-// Destructor
-//
-// ---------------------------------------------------------------------------
-//
-CLbtMgmtLbtAdapter::~CLbtMgmtLbtAdapter()
-    {
-    Cancel();
-    delete iEventChangeObserver;
-    iLbtMgrObserver.Close();
-    iLbtMgr.Close();
-    iLbtServ.Close();
-    }
-    
-// ---------------------------------------------------------------------------
-// CLbtMgmtLbtAdapter* CLbtMgmtLbtAdapter::NewL
-// Creates new Trigger Status adapter
-//
-// @param  aAdapterObsrv                        Observer to the Settings adapter
-// @return CLbtMgmtLbtAdapter& Reference to the Trigger Status adapter
-// ---------------------------------------------------------------------------
-//    
-CLbtMgmtLbtAdapter* CLbtMgmtLbtAdapter::NewL( 
-                            MLbtMgmtAdapterObserver& aAdapterObsrv )
-    {   
-    CLbtMgmtLbtAdapter* self = 
-                        CLbtMgmtLbtAdapter::NewLC( aAdapterObsrv );
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CLbtMgmtLbtAdapter* CLbtMgmtLbtAdapter::NewLC
-// Creates new Trigger Status adapter. Leaves the object on the clean-up
-// stack
-//
-// @param  aAdapterObsrv                        Observer to the Settings adapter
-// @return CLbtMgmtLbtAdapter& Reference to the Trigger Status adapter
-// ---------------------------------------------------------------------------
-// 
-CLbtMgmtLbtAdapter* CLbtMgmtLbtAdapter::NewLC( 
-                            MLbtMgmtAdapterObserver& aAdapterObsrv )
-    {   
-    CLbtMgmtLbtAdapter* self = 
-                        new(ELeave) CLbtMgmtLbtAdapter( aAdapterObsrv );
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;
-    }
-    
-// ---------------------------------------------------------------------------
-// void CLbtMgmtLbtAdapter::ConstructL
-// Second Phase Constructor
-//
-// ---------------------------------------------------------------------------
-//
-void CLbtMgmtLbtAdapter::ConstructL()
-    {  
-    
-    // Create the Central repository object for manipulating Avkon Central
-    // repository for Co-ordinate display settings
-    User::LeaveIfError( iLbtServ.Connect() );
-	User::LeaveIfError( iLbtMgr.Open(iLbtServ) );
-	User::LeaveIfError( iLbtMgrObserver.Open(iLbtServ) );
-    
-	CActiveScheduler::Add( this );
-    StartNotification();
-    
-    iEventChangeObserver = CLbtTriggerChangeEventNotifier::NewL( iLbtMgrObserver, *this );
-    iEventChangeObserver->Start();
-    
-    iLbtMgr.GetTriggeringSystemSettingsL( iTriggerSettings );
-    GetTotalActiveTriggersL();
-    }
-    
-// ---------------------------------------------------------------------------
-// CLbtMgmtLbtAdapter::TCordDisSetListPosition 
-//                CLbtMgmtLbtAdapter::GetCurrentDisplayFormatL
-// Returns the position of the Co-ordinate display format settings value.
-//
-// @return TCordDisSetListPosition Current postion of the Co-ordinate display
-//                                 settings value.
-// ---------------------------------------------------------------------------
-//
-CLbtMgmtLbtAdapter::TTriggeringStatus 
-                CLbtMgmtLbtAdapter::GetCurrentTriggeringStatusL()
-    {	
-    LBTMGMTUIDEBUG("+ CLbtMgmtLbtAdapter::GetCurrentTriggeringStatusL()");
-    CLbtMgmtLbtAdapter::TTriggeringStatus status = CLbtMgmtLbtAdapter::EOff;
-    
-    switch( iTriggerSettings.TriggeringMechanismState() )
-    	{
-    	case ETriggeringMechanismOn:
-    		status = CLbtMgmtLbtAdapter::EOn;
-    		break;
-    	case ETriggeringMechanismOff:
-    		status = CLbtMgmtLbtAdapter::EOff;
-    		break;
-    	default :
-    		break;
-    	}
-    LBTMGMTUIDEBUG1("- CLbtMgmtLbtAdapter::GetCurrentTriggeringStatusL() - %d", status);
-    
-    return status;    
-    }
-
-// --------------------------------------------------------------------------
-// void CLbtMgmtLbtAdapter::SetCurrentDisplayFormatL
-// Sets the value of the Co-ordinate display format settings based on the
-// display position.
-//
-// @param aSettingsPos  Position of the new Co-ordinate display settings value
-// ---------------------------------------------------------------------------
-//
-void CLbtMgmtLbtAdapter::SetCurrentTriggeringStatusL( 
-        CLbtMgmtLbtAdapter::TTriggeringStatus aSettingsValue )
-   {	
-   LBTMGMTUIDEBUG1("+ CLbtMgmtLbtAdapter::SetCurrentTriggeringStatusL() - %d", aSettingsValue);
-    switch( aSettingsValue )
-    	{
-    	case CLbtMgmtLbtAdapter::EOn:
-    		iTriggerSettings.SetTriggeringMechanismState(ETriggeringMechanismOn);
-		    LBTMGMTUIDEBUG("Before SetTriggeringSystemSettingsL"); 
-			iLbtMgr.SetTriggeringSystemSettingsL(iTriggerSettings,ETriggeringMechanismState); 
-    	    LBTMGMTUIDEBUG("After SetTriggeringSystemSettingsL"); 
-    		break;
-    	case CLbtMgmtLbtAdapter::EOff:
-    		iTriggerSettings.SetTriggeringMechanismState(ETriggeringMechanismOff);
-		    LBTMGMTUIDEBUG("Before SetTriggeringSystemSettingsL"); 
-			iLbtMgr.SetTriggeringSystemSettingsL(iTriggerSettings,ETriggeringMechanismState); 
-    	    LBTMGMTUIDEBUG("After SetTriggeringSystemSettingsL"); 
-    		break;
-    	default :
-    		break;
-    	}	
-    LBTMGMTUIDEBUG("- CLbtMgmtLbtAdapter::SetCurrentTriggeringStatusL()");	
-   }
-    
-// --------------------------------------------------------------------------
-// void CLbtMgmtLbtAdapter::RunL
-// Inherited from CActive
-//
-// ---------------------------------------------------------------------------
-//
-void CLbtMgmtLbtAdapter::RunL()
-    {
-    LBTMGMTUIDEBUG("+ CLbtMgmtLbtAdapter::RunL() - Settings Changed");  
-    // Issue Notification
-    iObserver.HandleSettingsChangeL();
-    
-    // Schedule for listening to change events again
-    StartNotification();
-
-    LBTMGMTUIDEBUG("- CLbtMgmtLbtAdapter::RunL()");  
-    }
-
-// --------------------------------------------------------------------------
-// void CLbtMgmtLbtAdapter::DoCancel
-// Inherited from CActive
-//
-// ---------------------------------------------------------------------------
-//
-void CLbtMgmtLbtAdapter::DoCancel()
-    {
-    // Cancel the outstanding CR notification request
-    iLbtMgr.CancelNotifyTriggeringSystemSettingChange();
-    }
-    
-// --------------------------------------------------------------------------
-// void CLbtMgmtLbtAdapter::StartNotification
-// Start notification from the Central repository server for any changes in the
-// Co-ordinate display format key value
-//
-// ---------------------------------------------------------------------------
-//
-void CLbtMgmtLbtAdapter::StartNotification()
-    {
-    if( !IsActive())
-        {
-        iStatus = KRequestPending;
-        // Request for notification        
-        iLbtMgr.NotifyTriggeringSystemSettingChange(iTriggerSettings, iStatus);
-        SetActive(); 
-        }  
-    }
-
-// ---------------------------------------------------------------------------
-// void CLbtMgmtPluginEngine::ShowInfoDialog
-// It will return total active triggers
-// ---------------------------------------------------------------------------
-//
-TInt CLbtMgmtLbtAdapter::ActiveTriggers()
-    {
-    return iTotalActiveTriggers;
-    }
-
-// --------------------------------------------------------------------------
-// TInt CLbtMgmtLbtAdapter::GetTotalActiveTriggersL()
-// Gets all active triggers from Location Triggering Server. 
-// ---------------------------------------------------------------------------
-//
-void CLbtMgmtLbtAdapter::GetTotalActiveTriggersL()
-    {
-    LBTMGMTUIDEBUG("+ CLbtMgmtLbtAdapter::GetTotalActiveTriggersL()");  
-    RArray<TLbtTriggerId> triggerList;
-    
-    //Construct list options
-    //XXX: should use NewLC() when it is available
-    CLbtListTriggerOptions* listOptions = CLbtListTriggerOptions::NewL();
-    CleanupStack::PushL(listOptions);
-        
-    //Construct an attribute filter
-    CLbtTriggerFilterByAttribute* attribFilter = CLbtTriggerFilterByAttribute::NewLC();
-
-    //Add trigger state to the filter. List only enabled triggers.
-    attribFilter->AddTriggerStateL( CLbtTriggerEntry::EStateEnabled );
-    
-    //Add trigger validity to the filter. List only valid triggers.
-    attribFilter->AddTriggerValidityL( TLbtTriggerDynamicInfo::EValid );
-    
-    listOptions->SetFilter(attribFilter);
-    
-    //List triggers
-
-   LBTMGMTUIDEBUG("Before ListTriggerIdsL");  
-   TRAPD( err, iLbtMgr.ListTriggerIdsL(triggerList, listOptions ) );
-   LBTMGMTUIDEBUG("After ListTriggerIdsL"); 
-   
-   if( err == KErrNone )
-       {
-       iTotalActiveTriggers = triggerList.Count();
-       }
-    
-    //Cleanup   
-    triggerList.Close();
-    CleanupStack::PopAndDestroy(2);//attribFilter, listOptions
-
-    LBTMGMTUIDEBUG("- CLbtMgmtLbtAdapter::GetTotalActiveTriggersL()");  
-    }
-
-// --------------------------------------------------------------------------
-// TInt CLbtMgmtLbtAdapter::DeleteActiveTriggersL()
-// Deletes all active triggers from Location Triggering Server. 
-// ---------------------------------------------------------------------------
-//
-void CLbtMgmtLbtAdapter::DeleteActiveTriggersL()
-    {
-    LBTMGMTUIDEBUG("+ CLbtMgmtLbtAdapter::DeleteActiveTriggersL()");  
-    //Construct an attribute filter
-    CLbtTriggerFilterByAttribute* attribFilter = CLbtTriggerFilterByAttribute::NewLC();
-
-    //Add trigger state to the filter. List only enabled triggers.
-    attribFilter->AddTriggerStateL( CLbtTriggerEntry::EStateEnabled );
-    
-    //Add trigger validity to the filter. List only valid triggers.
-    attribFilter->AddTriggerValidityL( TLbtTriggerDynamicInfo::EValid );   
-
-    LBTMGMTUIDEBUG("Before DeleteTriggersL"); 
-    iLbtMgr.DeleteTriggersL( attribFilter );
-    LBTMGMTUIDEBUG("After DeleteTriggersL"); 
-    
-    CleanupStack::PopAndDestroy( attribFilter );
-    LBTMGMTUIDEBUG("- CLbtMgmtLbtAdapter::DeleteActiveTriggersL()");  
-    }
-
-// ---------------------------------------------------------------------------
-// CLbtMgmtLbtAdapter::TriggerChangedL()
-// Gets the notification on Change in Trigger.
-// ---------------------------------------------------------------------------
-//
-void CLbtMgmtLbtAdapter::TriggerChangedL(
-							const TLbtTriggerChangeEvent &aEvent)
-	{
-    LBTMGMTUIDEBUG("+ CLbtMgmtLbtAdapter::TriggerChangedL()"); 
-	switch( aEvent.iEventType )
-		{
-		case ELbtTriggerChangeEventMultiple:
-		case ELbtTriggerChangeEventDeleted:
-		case ELbtTriggerChangeEventCreated:
-		case ELbtTriggerChangeEventUpdated:
-			GetTotalActiveTriggersL();
-		    // Issue Notification
-		    iObserver.HandleSettingsChangeL();
-			break;
-		default:
-			break;
-		}
-    LBTMGMTUIDEBUG("- CLbtMgmtLbtAdapter::TriggerChangedL()"); 
-	}
-
--- a/locationtriggering/lbtmgmtui/src/lbtmgmtplugin.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,227 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Location Triggering Management Plugin View's container
-*
-*/
-
-
-// System Include
-#include <aknViewAppUi.h>
-#include <StringLoader.h>           // For String Loader
-#include <lbtmgmtpluginview.rsg>
-#include <barsread.h>               // For TResourceReader
-#include <bautils.h>
-
-// User Includes
-#include "locsettingsuiobserver.h"
-#include "locsettingsuiparams.h"
-#include "lbtmgmtplugin.h"
-#include "lbtmgmtpluginview.h"
-
-// Constant Definition
-/**
- * Position of Triggering Management plug-in the Postioning View.
- * As defined by the Location System UI UI specification, the Location
- * Triggering Management plug-in should be inserted at the Third level
- */
-const TInt KLbtMgmtPluginPriority = 0x00000003;
-
-// ---------------------------------------------------------------------------
-// CLbtMgmtPlugin::CLbtMgmtPlugin
-// C++ default constructor.
-// ---------------------------------------------------------------------------
-CLbtMgmtPlugin::CLbtMgmtPlugin( MLocSettingsUiObserver&   aSettingsUiObserver,
-                                      CAknViewAppUi&            aAppUi )
-    :CLocSettingsUi( aSettingsUiObserver, aAppUi ),
-    iResourceLoader( *CCoeEnv::Static() )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CLbtMgmtPlugin::~CLbtMgmtPlugin
-// Destructor.
-// ---------------------------------------------------------------------------  
-CLbtMgmtPlugin::~CLbtMgmtPlugin() 
-    {
-    iResourceLoader.Close();
-    }
-
-// ---------------------------------------------------------------------------
-// CLbtMgmtPlugin* CLbtMgmtPlugin::NewL
-// Symbian OS two-phased constructor
-// 
-// @return CLbtMgmtPlugin* Reference to the Settings UI object
-// ---------------------------------------------------------------------------  
-CLbtMgmtPlugin* CLbtMgmtPlugin::NewL( TAny* aParam )
-    {
-    CLocSettingsUiParams*   param = reinterpret_cast<CLocSettingsUiParams *>( aParam );
-    MLocSettingsUiObserver& observer = param->SettingsUiObserver();
-    CAknViewAppUi&          appUi = param->AppUi();
-    CLbtMgmtPlugin* self = new (ELeave )CLbtMgmtPlugin( observer,
-                                                              appUi );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self; 
-    }
-
-// ---------------------------------------------------------------------------
-// void CLbtMgmtPlugin::ConstructL
-// Second phase constructor.
-// ---------------------------------------------------------------------------  
-void CLbtMgmtPlugin::ConstructL()
-    {
-    // Open the Resource file for the plugin. The resource file is not 
-    // explicity opened by system. Hence, the opening and closind if tied
-    // down to the time when the DLL is active
-    OpenLocalizedResourceFileL( KLbtMgmtUiResFileName, 
-                                iResourceLoader );
-                                    
-    // Creating an Application view
-    iView = CLbtMgmtPluginView::NewL( iSettingsUiObserver );
-    
-    // Transferring the view's control to AppUi
-    iAppUi.AddViewL( iView );
-    
-    // Obtaining the View Id for reference
-    iViewId = iView->Id();
-    }
-
-// ---------------------------------------------------------------------------
-// void CLbtMgmtPlugin::LaunchL
-// Inherited from CSettingsUi
-// Launches the Settings UI
-//
-// @param aUiLaunchParams   Flags for Launch options
-// ---------------------------------------------------------------------------  
-void CLbtMgmtPlugin::LaunchL( TInt       /* aUiLaunchParams */)
-    {
-    // Activate self
-    iAppUi.ActivateLocalViewL( iViewId );
-    }
-
-// ---------------------------------------------------------------------------
-// void CLbtMgmtPlugin::Close
-// Inherited from CSettingsUi
-// Closes the running Settings UI
-// ---------------------------------------------------------------------------  
-void CLbtMgmtPlugin::Close()
-    {
-    iView->CloseSettings();
-    }
-
-// ---------------------------------------------------------------------------
-// void CLbtMgmtPlugin::GetCaptionL
-// Inherited from CSettingsUi
-// Method for getting caption of this plugin. This should be the 
-// localized name of the settings view to be shown in parent view.
-//
-// @param aCaption pointer to Caption variable
-// ---------------------------------------------------------------------------
-void CLbtMgmtPlugin::GetCaptionL( TDes& aCaption ) const
-    {
-    // Load the Location Triggering setting caption from the resource file 
-    // and hand it back to the callee. It is assuemed here that the calling function has 
-    // allocated enough memory for the aCaption string. If not the fucntion
-    // would leave
-    HBufC* caption = StringLoader::LoadL( R_LOCTR_TITLE_TEXT_LT );
-    
-    if( aCaption.MaxLength() < caption->Length())
-        {
-        User::Leave( KErrNoMemory );
-        }
-    aCaption.Copy( *caption );
-    delete caption; 
-    }
-
-// ---------------------------------------------------------------------------
-// TInt CLbtMgmtPlugin::GetPriority
-// Inherited from CSettingsUi
-// Returns the priority of the UI module. 
-// 
-// @return Priority of the Settings UI
-// ---------------------------------------------------------------------------
-TInt CLbtMgmtPlugin::GetPriority()
-    {
-    return KLbtMgmtPluginPriority;
-    }
-
-// ---------------------------------------------------------------------------
-// void CLbtMgmtPlugin::OpenLocalizedResourceFileL
-// Opens the nearest localized resourcefile using aResourceLoader. 
-// aResourceLoader should be opened only once before closing it. 
-// Otherwise it will raise a panic. Therefore it is better to have 
-// multiple resource loaders.
-// 
-// @param aResourceFileName Drive and name of resource file in format 
-//                          <path>:<rsc_file_name>
-// @param aResourceLoader Resource loader for the resource. The loader 
-//                        must not be opened allready or it will raise 
-//                        a panic. It is caller's responsibility to 
-//                        close the resource loader after using the 
-//                        resource.
-// ---------------------------------------------------------------------------  
-//
-void CLbtMgmtPlugin::OpenLocalizedResourceFileL( 
-                                const TDesC&               aResourceFileName, 
-                                      RConeResourceLoader& aResourceLoader )
-    {
-    RFs fsSession;
-    User::LeaveIfError( fsSession.Connect());
-    
-    // Add the RFs session to the CleanupStack
-    CleanupClosePushL( fsSession );
-    
-    TFileName* tmpName = new( ELeave ) TFileName;
-    CleanupStack::PushL( tmpName );
-    
-    // Append the Resource Files Directory
-    tmpName->Append( KDC_RESOURCE_FILES_DIR );
-    
-    // Append the Ressource File Name
-    tmpName->Append( aResourceFileName );
-    
-    
-    // Obtain the drive where the DLL is installed
-    TFileName* dllDrive = new ( ELeave ) TFileName;
-    CleanupStack::PushL( dllDrive );
-    Dll::FileName( *dllDrive );
-    
-    // Obtain the Complete path for the Resource File
-    TParse parse;
-    User::LeaveIfError( parse.Set( *dllDrive, NULL, NULL ));
-    User::LeaveIfError( parse.Set( parse.Drive(), tmpName, NULL ));
-    TFileName* fileName = new ( ELeave ) TFileName;
-    CleanupStack::PushL( fileName );
-    fileName->Append( parse.FullName() );
-    
-    // Get language of resource file
-    BaflUtils::NearestLanguageFile( fsSession, *fileName );
-        
-    // Open resource file    
-    aResourceLoader.OpenL( *fileName );
-    
-    // Pop all the fields
-    CleanupStack::PopAndDestroy( fileName );
-    CleanupStack::PopAndDestroy( dllDrive );
-    CleanupStack::PopAndDestroy( tmpName );
-   
-    CleanupStack::Pop(); // fsSession
-               
-    //If leave occurs before this, close is called automatically when the thread exits.
-    fsSession.Close();
-   
-    }
-
-
--- a/locationtriggering/lbtmgmtui/src/lbtmgmtplugincontainer.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,387 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Location Triggering Management Plugin View's container
-*
-*/
-
-
-// System Includes
-#include <eikspane.h>       // Status pane
-#include <akntitle.h>       // CAknTitlePane
-#include <StringLoader.h>   // String Loader
-#include <lbtmgmtpluginview.rsg>
-#include <aknlists.h>       // Settings Style list box
-#include <csxhelp/lbt.hlp.hrh> // LBT Help
-
-// User Includes
-#include "lbtmgmtplugincontainer.h"
-#include "lbtmgmtplugincmdhdlr.h"
-#include "lbtmgmtplugin.hrh"
-#include "lbtmgmtpluginuid.hrh"
-#include "lbtmgmtpluginview.h"
-#include "lbtmgmtpluginengine.h"
-
-// Constant defintions
-const TInt KNoofComponentControls = 1;
-
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CLbtMgmtPluginContainer::CLbtMgmtPluginContainer
-// Overloaded Constructor
-//
-// ---------------------------------------------------------------------------
-//  
-CLbtMgmtPluginContainer::CLbtMgmtPluginContainer(MDesCArray& aListBoxModel,
-        MLbtMgmtPluginCmdHdlr& aCmdHandler, CLbtMgmtPluginView* aView) :
-    iListBoxModel(aListBoxModel), iCmdHandler(aCmdHandler), iView(aView)
-    {
-    }
-    
-// ---------------------------------------------------------------------------
-// CLbtMgmtPluginContainer::~CLbtMgmtPluginContainer
-// Destructor
-//
-// ---------------------------------------------------------------------------
-//
-CLbtMgmtPluginContainer::~CLbtMgmtPluginContainer()
-    {
-    // Delete the List box model only after deleting the list box
-    delete iListBox;    
-    }
-    
-// ---------------------------------------------------------------------------
-// CLbtMgmtPluginContainer* CLbtMgmtPluginContainer::NewL
-// Static Two phase contructor that instantiates the CLbtMgmtPluginContainer
-//
-// @param aRect                         Client rectangle
-// @param aListBoxModel                 Model for the container's list box
-// @param aCmdHandler                   List box command handler 
-// @return CLbtMgmtPluginContainer*  Reference to the object created
-// --------------------------------------------------------------------------- 
-//   
-CLbtMgmtPluginContainer* CLbtMgmtPluginContainer::NewL(const TRect& aRect,
-        MDesCArray& aListBoxModel, MLbtMgmtPluginCmdHdlr& aCmdHandler,
-        CLbtMgmtPluginView* aView)
-    {
-    CLbtMgmtPluginContainer* self = NewLC(aRect, aListBoxModel, aCmdHandler,
-            aView);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CLbtMgmtPluginContainer* CLbtMgmtPluginContainer::NewLC
-// Static Two phase contructor that instantiates the CLbtMgmtPluginContainer
-//
-// @param aRect                         Client rectangle
-// @param aListBoxModel                 Model for the container's list box
-// @param aCmdHandler                   List box command handler 
-// @return CLbtMgmtPluginContainer*  Reference to the object created
-// --------------------------------------------------------------------------- 
-//  
-CLbtMgmtPluginContainer* CLbtMgmtPluginContainer::NewLC(const TRect& aRect,
-        MDesCArray& aListBoxModel, MLbtMgmtPluginCmdHdlr& aCmdHandler,
-        CLbtMgmtPluginView* aView)
-    {
-    CLbtMgmtPluginContainer* self = new (ELeave) CLbtMgmtPluginContainer(
-            aListBoxModel, aCmdHandler, aView);
-    CleanupStack::PushL(self);
-    self->ConstructL(aRect);
-    return self;
-    }
-
-// --------------------------------------------------------------------------- 
-// void CLbtMgmtPluginContainer::ConstructL
-// Second phase of the two phase Construction process
-//
-// @param aRect              Client rectangle
-// ---------------------------------------------------------------------------
-//
-void CLbtMgmtPluginContainer::ConstructL( const TRect&   aRect )
-    {
-    //Make this control a window-owning control
-    CreateWindowL(); 
-    
-    // Create a New Title for the View
-    MakeTitleL( R_LOCTR_TITLE_TEXT_LT );
-    
-    CreateListboxL();
-    
-    // Get the Help context
-    iContextName = KLOC_HLP_LBT_SETTINGS();
-        
-    SetRect( aRect );
-    ActivateL();
-    }
- 
-// ---------------------------------------------------------------------------
-// CLbtMgmtPluginContainer::GetFocussedItem
-// Returns the currentlt focussed element.
-//
- // @return TInt Index of the item selected
-// ---------------------------------------------------------------------------
-//
-TInt CLbtMgmtPluginContainer::GetFocussedItem()
-    {
-    return iListBox->CurrentItemIndex();
-    }
-        
-// ---------------------------------------------------------------------------
-// void CLbtMgmtPluginContainer::HandleResourceChange
-//
-// ---------------------------------------------------------------------------
-//  
-void CLbtMgmtPluginContainer::HandleResourceChange(TInt aType)
-    {
-    // Pass the event to the base class
-    CCoeControl::HandleResourceChange( aType );
-    switch( aType )
-        {
-        // Dynamic Layout switch
-        case KEikDynamicLayoutVariantSwitch:
-            {
-            // Handle the screen change event
-            // Trap and Ignore the error
-            TRAP_IGNORE(
-                iCmdHandler.HandleCmdL( MLbtMgmtPluginCmdHdlr::EScreenSizeChanged ));
-            break;
-            }
-        default:
-            {
-            break;
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TInt CLbtMgmtPluginContainer::CountComponentControls
-//
-// ---------------------------------------------------------------------------
-//
-TInt CLbtMgmtPluginContainer::CountComponentControls() const
-    {
-    return KNoofComponentControls;
-    }
-
-// ---------------------------------------------------------------------------
-// CCoeControl* CLbtMgmtPluginContainer::ComponentControl
-//
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CLbtMgmtPluginContainer::ComponentControl(TInt /*aIndex*/) const
-    {
-    return iListBox;    
-    }
-
-// ---------------------------------------------------------------------------
-// void CLbtMgmtPluginContainer::OfferKeyEventL
-//
-// ---------------------------------------------------------------------------  
-//
-TKeyResponse CLbtMgmtPluginContainer::OfferKeyEventL( const TKeyEvent& aKeyEvent,
-                                                               TEventCode aType )
-    {
-    TKeyResponse keyresponse;
-    switch ( aKeyEvent.iCode )
-        {
-        case EKeyLeftArrow:
-        case EKeyRightArrow:
-            {
-            // Listbox takes all event even if it doesn't use them
-            return EKeyWasNotConsumed;  
-            }
-        case EKeyUpArrow:
-        case EKeyDownArrow:
-	        {
-	        keyresponse = iListBox->OfferKeyEventL( aKeyEvent, aType );
-        	iCmdHandler.HandleCmdL( MLbtMgmtPluginCmdHdlr::EListBoxItemFocused );    
-        	return keyresponse;        	
-	        }
-        default:
-            {
-            break;  
-            }
-        }
-    // now it's iListBox's job to process the key event
-    return iListBox->OfferKeyEventL( aKeyEvent, aType ); 
-    }
-        
-// ---------------------------------------------------------------------------
-// void CLbtMgmtPluginContainer::HandleListBoxEventL
-//
-// ---------------------------------------------------------------------------
-//
-void CLbtMgmtPluginContainer::HandleListBoxEventL(
-        CEikListBox* /* aListBox */,
-        MEikListBoxObserver::TListBoxEvent aEventType)
-    {
-    switch (aEventType)
-        {
-        // List box Item Selection
-        case EEventEnterKeyPressed:
-        case EEventItemSingleClicked:
-            {
-            if (iView->GetLbtMgmtPluginEngine()->ActiveTriggers())
-                {
-                iView->HandleCommandL(ELbtMgmtShowCSMenu);
-                }
-            // Settings element has been selected. Command has to be issued to
-            // change the settings configuration
-            iCmdHandler.HandleCmdL(
-                    MLbtMgmtPluginCmdHdlr::EListBoxItemSelected);
-            break;
-            }  
-        default:
-           break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CLocNotPrefPluginContainer::GetHelpContext
-//
-// -----------------------------------------------------------------------------
-//
-void CLbtMgmtPluginContainer::GetHelpContext( TCoeHelpContext& aContext ) const
-    {
-    aContext.iContext = iContextName;
-    aContext.iMajor = TUid::Uid( KLbtMgmtPluginUID3 );
-    }
-    
-// ---------------------------------------------------------------------------
-// void CLbtMgmtPluginContainer::HandlePointerEventL
-//
-// ---------------------------------------------------------------------------
-//       
-   void CLbtMgmtPluginContainer::HandlePointerEventL(const TPointerEvent &aPointerEvent)
-     {
-    // Check if touch is enabled or not
-    if( !AknLayoutUtils::PenEnabled() || !iListBox )
-        {
-        return;
-        }
-    iListBox->HandlePointerEventL( aPointerEvent );      
-   }                  
-// ---------------------------------------------------------------------------
-// void CLbtMgmtPluginContainer::FocusChanged
-//
-// ---------------------------------------------------------------------------
-//
-void CLbtMgmtPluginContainer::FocusChanged( TDrawNow aDrawNow )
-    {
-    CCoeControl::FocusChanged( aDrawNow );
-    // The focus event has to be explicitly handed over to all the compound
-    // controls since CCoeControl does not do that implicitly
-    iListBox->SetFocus( IsFocused(), aDrawNow );
-    }
-        
-// ---------------------------------------------------------------------------
-// CLbtMgmtPluginContainer::SizeChanged
-// 
-// ---------------------------------------------------------------------------
-//
-void CLbtMgmtPluginContainer::SizeChanged()
-    {
-    iListBox->SetRect( Rect() ); 
-    }
-    
-// ---------------------------------------------------------------------------
-// void CLbtMgmtPluginContainer::CreateListboxL
-// Creates the List box and the Listbox model. Associates the list box model 
-// with the list box
-//
-// ---------------------------------------------------------------------------  
-//
-void CLbtMgmtPluginContainer::CreateListboxL()
-    {
-    
-    // Create the List box
-    iListBox = new ( ELeave ) CAknSettingStyleListBox;
-    iListBox->ConstructL( this, EAknListBoxSelectionList );
-    iListBox->SetContainerWindowL( *this ); 
-    iListBox->SetListBoxObserver( this );
-    iListBox->CreateScrollBarFrameL( ETrue );
-    iListBox->ScrollBarFrame()->SetScrollBarVisibilityL( CEikScrollBarFrame::EOff,
-                                                         CEikScrollBarFrame::EAuto ); 
-                                                         
-    // The ownership of the list box model is retained with the Container.
-    // This is because the model contains the additional functionality of
-    // changing the settings values in addition to retreiving it.                                                        
-    iListBox->Model()->SetItemTextArray( &iListBoxModel );  
-    iListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );  
-    iListBox->ItemDrawer()->ColumnData()->EnableMarqueeL( ETrue );                    
-    iListBox->ActivateL();
-    }
-    
-// ---------------------------------------------------------------------------
-// void CLbtMgmtPluginContainer::MakeTitleL
-// Sets the Title text
-//
-// @param aResourceText Resource to create title
-// ---------------------------------------------------------------------------
-//
-void CLbtMgmtPluginContainer::MakeTitleL( TInt aResourceText )
-    {
-    // Obtain the title from the Status Pane
-    CAknTitlePane* title = static_cast<CAknTitlePane*>( StatusPane()->
-        ControlL( TUid::Uid( EEikStatusPaneUidTitle )));
-       
-    // Set the Title's buffer    
-    HBufC* buf = StringLoader::LoadL( aResourceText );
-    title->SetText( buf ); // Takes ownership of buf
-    }
-
-// ---------------------------------------------------------------------------
-// void CLbtMgmtPluginContainer::StatusPane
-// Returns the Appui's status pane
-//
-// @return CEikStatusPane* Statuspane pointer
-// ---------------------------------------------------------------------------
-//
-CEikStatusPane* CLbtMgmtPluginContainer::StatusPane()
-    {
-    return iEikonEnv->AppUiFactory()->StatusPane(); 
-    }
-
-// ---------------------------------------------------------------------------
-// void CLbtMgmtPluginContainer::Update
-// It will updates listbox model
-// ---------------------------------------------------------------------------
-//
-void CLbtMgmtPluginContainer::Update()
-    {
-    if(iListBox)
-        {
-        iListBox->DrawDeferred(); 
-        }
-	}
-
-// ---------------------------------------------------------------------------
-// void CLbtMgmtPluginContainer::ShowContextMenuL
-// Shows context specific menu items
-// ---------------------------------------------------------------------------
-//
-void CLbtMgmtPluginContainer::ShowContextMenuL()
-    {
-    // Switch to Context specific options menu,
-    // Show it and switch back to main options menu.
-    CEikMenuBar* menuBar = iView->MenuBar();
-    // TRAP displaying of menu bar.
-    // If it fails, the correct resource is set back before leave.
-    TRAPD( err, menuBar->TryDisplayContextMenuBarL() );
-    User::LeaveIfError(err);
-
-    }
-
--- a/locationtriggering/lbtmgmtui/src/lbtmgmtpluginengine.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,454 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Location Triggering Management Plugin Engine
-*
-*/
-
-
-// System Include
-#include <e32keys.h>        // Tab Keys
-#include <StringLoader.h>   // String Loader
-#include <lbtmgmtpluginview.rsg>
-#include <aknradiobuttonsettingpage.h>
-#include <aknslidersettingpage.h> 
-#include <aknmessagequerydialog.h> 
-
-
-// User Include
-#include "lbtmgmtpluginengine.h"
-#include "lbtmgmtengobserver.h"
-#include "lbtmgmtlbtadapter.h"
-#include "lbtmgmtdebug.h"
-
-// Constant Defintions
-const TInt KNumberofSettingsItems = 2;
-const TInt KMaxConversionBufferLength = 0x200;
-const TInt KNoofTriggerStatus = 2;
-
-// ========================= MEMBER FUNCTIONS ================================
-
-
-// ---------------------------------------------------------------------------
-// CLbtMgmtPluginEngine::CLbtMgmtPluginEngine
-// Overloaded Constructor
-//
-// ---------------------------------------------------------------------------
-//  
-CLbtMgmtPluginEngine::CLbtMgmtPluginEngine(  
-                                MLbtMgmtEngObserver& aEngineObserver )
-    :iObserver( aEngineObserver ),
-    iSettingsDialogOutstanding( EFalse )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CLbtMgmtPluginEngine::~CLbtMgmtPluginEngine
-// Destructor
-//
-// ---------------------------------------------------------------------------
-//
-CLbtMgmtPluginEngine::~CLbtMgmtPluginEngine()
-    {
-    // Delete the list box strings
-    delete iTriggeringTitle;
-    
-    delete iActiveTitle;
-    
-    delete iNoActiveTitle;
-    
-    delete iInfoMessage;
-    
-    delete iOnSettings;
-    
-    delete iOffSettings;
-    
-    delete iConversionBuffer;
-        
-    // Delete the Lbt settings handle
-    delete iLbtAdapter;
-    }
-    
-// ---------------------------------------------------------------------------
-// CLbtMgmtPluginEngine* CLbtMgmtPluginEngine::NewL
-// Creates new Location Trigger Management plug-in engine instance.
-//
-// @param  aEngineObserver           Observer to the Trigger Management engine
-// @return CLbtMgmtPluginEngine* Reference to the application view
-// ---------------------------------------------------------------------------
-//    
-CLbtMgmtPluginEngine* CLbtMgmtPluginEngine::NewL( 
-                            MLbtMgmtEngObserver& aEngineObserver )
-    {   
-    CLbtMgmtPluginEngine* self = 
-                        CLbtMgmtPluginEngine::NewLC( aEngineObserver );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CLbtMgmtPluginEngine* CLbtMgmtPluginEngine::NewLC
-// Creates new Location Trigger Management plug-in engine instance. Leaves
-// the object on the Cleanup stack
-//
-// @param  aEngineObserver           Observer to the Trigger Management engine
-// @return CLbtMgmtPluginEngine* Reference to the application view
-// ---------------------------------------------------------------------------
-// 
-CLbtMgmtPluginEngine* CLbtMgmtPluginEngine::NewLC( 
-                            MLbtMgmtEngObserver& aEngineObserver )
-    {   
-    CLbtMgmtPluginEngine* self = 
-                        new(ELeave) CLbtMgmtPluginEngine( aEngineObserver );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-    
-// ---------------------------------------------------------------------------
-// void CLbtMgmtPluginEngine::ConstructL
-// Second Phase Constructor
-//
-// ---------------------------------------------------------------------------
-//
-void CLbtMgmtPluginEngine::ConstructL()
-    {
-    // Create Lbt Adapter handle
-    iLbtAdapter = CLbtMgmtLbtAdapter::NewL( *this );
-    
-    // Load the list box strings
-    // Allocate and set the System of measurement heading
-    iTriggeringTitle = StringLoader::LoadL( R_LOCTR_LIST_LBT_TRIGGERING );
-    
-    // Allocate and set the server ip address title field
-    iActiveTitle = StringLoader::LoadL( R_LOCTR_LIST_ACTIVE_TRIGGER );
-    
-    // Allocate and set the server ip address title field
-    iNoActiveTitle = StringLoader::LoadL( R_LOCTR_LIST_NO_ACTIVE_TRIGGER );
-     
-    //Allocate and set the Info message text
-    iInfoMessage = StringLoader::LoadL( R_LOCTR_INFO_POPUP_TEXT );
-      
-    // Allocate and set the Imperial settings text
-    iOnSettings = StringLoader::LoadL( R_LOCTR_LIST_VALUE_TRIGGER_ON );
-    
-    // Allocate and set the Metric settings text
-    iOffSettings = StringLoader::LoadL( R_LOCTR_LIST_VALUE_TRIGGER_OFF );
-    
-    // Allocate the Conversion Buffer
-    iConversionBuffer = HBufC16::NewL( KMaxConversionBufferLength );    
-   }
-    
-// ---------------------------------------------------------------------------
-// TInt CLbtMgmtPluginEngine::MdcaCount
-// Inherited from MDesCArray
-//
-// ---------------------------------------------------------------------------
-//
-TInt CLbtMgmtPluginEngine::MdcaCount() const
-    {
-    return KNumberofSettingsItems;
-    }
-
-// ---------------------------------------------------------------------------
-// TInt CLbtMgmtPluginEngine::MdcaPoint
-// Inherited from MDesCArray
-//
-// ---------------------------------------------------------------------------
-//
-TPtrC16 CLbtMgmtPluginEngine::MdcaPoint( TInt aIndex ) const
-    {
-    // Zero the internal buffer
-    TPtr16 ptr( iConversionBuffer->Des());
-    ptr.Zero();
-    
-    // Format "\t%S\t\t%S"
-    
-    // Append the first tab
-    ptr.Append( EKeyTab );
-            
-    switch( aIndex )
-        {
-        case ETriggeringStatus:
-            {
-            // Append the Title text
-            ptr.Append( iTriggeringTitle->Des() );
-            
-            // Append the second tab
-            ptr.Append( EKeyTab ); 
-                            
-            // Append the third tab
-            ptr.Append( EKeyTab );
-            
-            // Obtain the current value of system of measurement and append
-            // to the buffer
-           CLbtMgmtLbtAdapter::TTriggeringStatus state = CLbtMgmtLbtAdapter::EOn;
-           TRAPD( err, state = iLbtAdapter->GetCurrentTriggeringStatusL() );
-            if( !err && state == CLbtMgmtLbtAdapter::EOn )
-                {
-          		ptr.Append( iOnSettings->Des() );
-                }
-            else if ( state == CLbtMgmtLbtAdapter::EOff )
-                {
-                ptr.Append( iOffSettings->Des());
-                }  
-            break;    
-            }
-        case EActiveTriggers:
-            {
-            // Append the Title text
-            //XXX: Optimization::should be called  when there is a change in lbt database
-            TInt activeTriggers = iLbtAdapter->ActiveTriggers();
-        	
-           	if( activeTriggers == 0 )
-                ptr.Append( iNoActiveTitle->Des() );
-           	else
-           		{
-        		HBufC* activeTriggersString = NULL;
-        		if( activeTriggers == 1 )
-        		    {
-        		    TRAP_IGNORE( activeTriggersString = StringLoader::LoadL( R_LOCTR_ONE_ACTIVE_TRIGGER ) ); 
-        		    }
-        		else
-        		    {
-        		    TRAP_IGNORE( activeTriggersString = StringLoader::LoadL( R_LOCTR_LIST_ACTIVE_TRIGGER, activeTriggers ) ); 
-				    }
-				if( activeTriggersString )
-					{
-					ptr.Append( activeTriggersString->Des() );
-					delete activeTriggersString;
-					}
-            	}
-            	
-            // Append the second tab
-            ptr.Append( EKeyTab ); 
-            
-            // Append the third tab
-            ptr.Append( EKeyTab );            
-        
-            break;    
-            }            
-        default:
-            {
-            // Append the second tab
-            ptr.Append( EKeyTab );          
-            // Append the third tab
-            ptr.Append( EKeyTab );
-            break;    
-            }
-        }  
-    return iConversionBuffer->Des();
-    }
- 
-// ---------------------------------------------------------------------------
-// void CLbtMgmtPluginEngine::HandleSettingsChangeL
-// Inherited from MLocNotPrefAdapterObserver
-//
-// ---------------------------------------------------------------------------
-//   
-void CLbtMgmtPluginEngine::HandleSettingsChangeL()
-    {
-    iObserver.HandleSettingsChangeEventL();
-    }
- 
-// ---------------------------------------------------------------------------
-// void CLbtMgmtPluginEngine::Close
-// Closes the running Settings UI prematurely. This would result in dismissing
-// any active dialogs currently running
-//
-// ---------------------------------------------------------------------------
-//
-void CLbtMgmtPluginEngine::Close()
-    {
-    // If any of the dialogs are active then issue a cancel event on the 
-    // dialogs
-    if( iSettingsDialogOutstanding )
-        {
-        TKeyEvent   keyEvent;
-        keyEvent.iCode          = EKeyCBA2;
-        keyEvent.iScanCode      = EStdKeyDevice1;         
-        keyEvent.iModifiers     = EAllModifiers;
-        keyEvent.iRepeats       = 0;
-        CCoeEnv* cCoeEnv = CCoeEnv::Static();
-        
-        // Simulate a Cancel event on the running dialogs. The Simulated event
-        // is for the Left Soft Key.
-        // Ignore the error incase of a leave
-        
-        TRAP_IGNORE( cCoeEnv->SimulateKeyEventL( keyEvent, EEventKey ) );
-        }
-    iSettingsDialogOutstanding = EFalse;                
-    }
-            
-// ---------------------------------------------------------------------------
-// void CLbtMgmtPluginEngine::ChangeTiggerStatusL
-// Change Trigger settings
-// 
-// ---------------------------------------------------------------------------
-// 
-void CLbtMgmtPluginEngine::ChangeTiggerStatusL()
-    {
-    LBTMGMTUIDEBUG("+ CLbtMgmtPluginEngine::ChangeTiggerStatusL()");
-    if( iSettingsDialogOutstanding )
-        {
-        User::Leave( KErrInUse );
-        }
-    // Allocate the descriptor array for Text settings for System
-    // of measurement
-    CDesCArrayFlat* items = new( ELeave ) CDesCArrayFlat( KNoofTriggerStatus );
-    CleanupStack::PushL( items );
-
-    // Append the radio-button list items
-    items->AppendL( iOnSettings->Des());
-    items->AppendL( iOffSettings->Des());   
- 
-     
-    // Obtain the current value for current system of measurement
-    // This would be used for setting the default value for 
-    // the text settings page               
-    
-    TInt currentSettings = iLbtAdapter->GetCurrentTriggeringStatusL();
-    TInt prevSettings = currentSettings;
-        
-    CAknRadioButtonSettingPage* dlg = 
-                        new ( ELeave )CAknRadioButtonSettingPage( R_LOCTR_LIST_LBT_TRIGGERING_SETTING,
-                                                                  currentSettings, 
-                                                                  items );
-    // Settings Outstanding flag is marked True to enable dismissal incase
-    // of a Cancel event                                                                  
-    iSettingsDialogOutstanding = ETrue;                                                                  
-    if ( dlg->ExecuteLD( CAknSettingPage::EUpdateWhenChanged ))
-        {           
-	    if(prevSettings != currentSettings)
-    	    {
-            switch(currentSettings)
-                {
-                case CLbtMgmtLbtAdapter::EOff: //Off
-                    {
-                    //Confirmation is required if any active trigger exists                
-                    if( 0 != ActiveTriggers() )
-                        {
-                        HBufC* msg = StringLoader::LoadLC( R_LOCTR_NOTE_TURNOFF );
-                        CAknQueryDialog* confirmationQuery = CAknQueryDialog::NewL();     
-                        if(confirmationQuery->ExecuteLD(R_LOCTR_CONFIRMATION_QUERY, *msg))
-                            {
-                            iLbtAdapter->SetCurrentTriggeringStatusL( CLbtMgmtLbtAdapter::EOff  );     
-                            }   
-                        CleanupStack::PopAndDestroy(msg);
-                        }
-                    else
-                        {
-                        iLbtAdapter->SetCurrentTriggeringStatusL( CLbtMgmtLbtAdapter::EOff  );      
-                        }
-                    }
-                    break;
-                case CLbtMgmtLbtAdapter::EOn: //On
-                    {
-                    //No Warning note is required.               
-                    iLbtAdapter->SetCurrentTriggeringStatusL( CLbtMgmtLbtAdapter::EOn );
-                    }
-                    break;
-                default:
-                    break;                
-                } 
-    	    }      
-        } 
-     iSettingsDialogOutstanding = EFalse;       
-    // Free the items resource
-    CleanupStack::PopAndDestroy( items );
-
-    LBTMGMTUIDEBUG("- CLbtMgmtPluginEngine::ChangeTiggerStatusL()");
-    }
-
-// ---------------------------------------------------------------------------
-// void CLbtMgmtPluginEngine::ToggleTiggerStatusL
-// Toggle Trigger settings
-// 
-// ---------------------------------------------------------------------------
-//
-void CLbtMgmtPluginEngine::ToggleTiggerStatusL()
-    {
-    LBTMGMTUIDEBUG("+ CLbtMgmtPluginEngine::ToggleTiggerStatusL()");
-    if( iSettingsDialogOutstanding )
-        {
-        User::Leave( KErrInUse );
-        }    
-	CLbtMgmtLbtAdapter::TTriggeringStatus status = iLbtAdapter->GetCurrentTriggeringStatusL();
-	
-	if( CLbtMgmtLbtAdapter::EOn == status )
-		{
-        //Confirmation is required if any active trigger exists                
-        if( 0 != ActiveTriggers() )
-            {
-            HBufC* msg = StringLoader::LoadLC( R_LOCTR_NOTE_TURNOFF );
-            CAknQueryDialog* confirmationQuery = CAknQueryDialog::NewL();     
-            if(confirmationQuery->ExecuteLD(R_LOCTR_CONFIRMATION_QUERY, *msg))
-                {
-                iLbtAdapter->SetCurrentTriggeringStatusL( CLbtMgmtLbtAdapter::EOff  );     
-                }   
-            CleanupStack::PopAndDestroy(msg);
-            }
-        else
-            {
-            //No Warning note is required.   
-            iLbtAdapter->SetCurrentTriggeringStatusL( CLbtMgmtLbtAdapter::EOff  );      
-            } 
-		}
-	else
-		{
-        iLbtAdapter->SetCurrentTriggeringStatusL( CLbtMgmtLbtAdapter::EOn ); 
-		}
-    LBTMGMTUIDEBUG("- CLbtMgmtPluginEngine::ToggleTiggerStatusL()");
-    }
-
-
-// ---------------------------------------------------------------------------
-// void CLbtMgmtPluginEngine::ShowInfoDialog
-// Show Info dialog for active triggers
-// ---------------------------------------------------------------------------
-//
-void CLbtMgmtPluginEngine::ShowInfoDialogL()
-    {   
-    LBTMGMTUIDEBUG("+ CLbtMgmtPluginEngine::ShowInfoDialogL()");
-    CAknMessageQueryDialog*  info = CAknMessageQueryDialog::NewL(*iInfoMessage);
-    info->ExecuteLD(R_LOCTR_MESSAGE_QUERY_DIALOG);
-    LBTMGMTUIDEBUG("- CLbtMgmtPluginEngine::ShowInfoDialogL()");
-    }
-
-// ---------------------------------------------------------------------------
-// void CLbtMgmtPluginEngine::ClearAllTriggersL
-// It will clear all triggers
-// ---------------------------------------------------------------------------
-//
-void CLbtMgmtPluginEngine::ClearAllTriggersL()
-    {    
-    LBTMGMTUIDEBUG("+ CLbtMgmtPluginEngine::ClearAllTriggersL()");
-    HBufC* msg = StringLoader::LoadLC( R_LOCTR_NOTE_CLEARTRIGGERS );
-    CAknQueryDialog* confirmationQuery = CAknQueryDialog::NewL();     
-    if(confirmationQuery->ExecuteLD(R_LOCTR_CONFIRMATION_QUERY, *msg))
-        {
-		iLbtAdapter->DeleteActiveTriggersL();           
-        }   
-    CleanupStack::PopAndDestroy(msg);
-    LBTMGMTUIDEBUG("- CLbtMgmtPluginEngine::ClearAllTriggersL()");
-    }
-
-// ---------------------------------------------------------------------------
-// void CLbtMgmtPluginEngine::ShowInfoDialog
-// It will return total active triggers
-// ---------------------------------------------------------------------------
-//
-TInt CLbtMgmtPluginEngine::ActiveTriggers()
-    {
-    return iLbtAdapter->ActiveTriggers();
-    }
--- a/locationtriggering/lbtmgmtui/src/lbtmgmtpluginimptable.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  ECOM proxy table for this plugin
-*
-*/
-
-
-// System includes
-#include <e32std.h>
-#include <ecom/implementationproxy.h>
-
-// User includes
-#include "lbtmgmtplugin.h"
-#include "lbtmgmtpluginuid.hrh"
-
-// Constants
-const TImplementationProxy KLbtMgmtPluginImplementationTable[] = 
-    {
-    IMPLEMENTATION_PROXY_ENTRY( KLbtMgmtPluginUID3,  CLbtMgmtPlugin::NewL )
-    };
-
-
-// ---------------------------------------------------------------------------
-// ImplementationGroupProxy
-// Gate/factory function
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy( TInt& aTableCount )
-    {
-    aTableCount = sizeof( KLbtMgmtPluginImplementationTable ) 
-        / sizeof( TImplementationProxy );
-    return KLbtMgmtPluginImplementationTable;
-    }
--- a/locationtriggering/lbtmgmtui/src/lbtmgmtpluginview.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,482 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Location Triggering Management Plugin view
-*
-*/
-
-
-// System Include
-#include <barsread.h>               // For TResourceReader
-#include <bautils.h>   
-#include <StringLoader.h>
-#include <aknViewAppUi.h>
-#include <lbtmgmtpluginview.rsg>
-#include <avkon.rsg>
-#include <aknnotewrappers.h>        // Error Notes
-#include <textresolver.h>           // Text Resolver
-#include <hlplch.h>                 // Help
-#include <featmgr.h>                // FeatureManager
-
-// User Include
-#include "locsettingsui.h"
-#include "locsettingsuiobserver.h"
-#include "lbtmgmtplugin.hrh"
-#include "lbtmgmtpluginview.h"
-#include "lbtmgmtplugincontainer.h"
-#include "lbtmgmtpluginengine.h"
-
-
-// ========================= MEMBER FUNCTIONS ================================
-
-
-// ---------------------------------------------------------------------------
-// CLbtMgmtPluginView::CLbtMgmtPluginView
-// Overloaded Constructor
-//
-// ---------------------------------------------------------------------------
-//  
-CLbtMgmtPluginView::CLbtMgmtPluginView( 
-                            MLocSettingsUiObserver& aSettingsObsrv )
-    :iSettingsObserver( aSettingsObsrv ),
-    iResourceLoader( *CCoeEnv::Static() )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CLbtMgmtPluginView::~CLbtMgmtPluginView
-// Destructor
-//
-// ---------------------------------------------------------------------------
-//
-CLbtMgmtPluginView::~CLbtMgmtPluginView()
-    {    
-    // Close the resource loader
-    iResourceLoader.Close(); 
-    }
-    
-// ---------------------------------------------------------------------------
-// CLbtMgmtPluginView* CLbtMgmtPluginView::NewL
-// Creates new Location Trigger Management view.
-//
-// @param aSettingsObsrv            Pointer to the Command Handler
-// @return CLbtMgmtPluginView*   Reference to the application view
-// ---------------------------------------------------------------------------
-//   
-CLbtMgmtPluginView* CLbtMgmtPluginView::NewL( 
-                            MLocSettingsUiObserver& aSettingsObsrv )
-    {   
-    CLbtMgmtPluginView* self = 
-                        CLbtMgmtPluginView::NewLC( aSettingsObsrv );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CLbtMgmtPluginView* CLbtMgmtPluginView::NewLC
-// Creates new Location Trigger Management view.
-//
-// @param aSettingsObsrv            Pointer to the Command Handler
-// @return CLbtMgmtPluginView*   Reference to the application view
-// ---------------------------------------------------------------------------
-//  
-CLbtMgmtPluginView* CLbtMgmtPluginView::NewLC( 
-                            MLocSettingsUiObserver& aSettingsObsrv )
-    {   
-    CLbtMgmtPluginView* self = 
-                        new(ELeave) CLbtMgmtPluginView( aSettingsObsrv );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-    
-// ---------------------------------------------------------------------------
-// void CLbtMgmtPluginView::ConstructL
-// Second Phase Constructor
-//
-// ---------------------------------------------------------------------------
-//
-void CLbtMgmtPluginView::ConstructL()
-    {
-        
-    // Open the Resource File
-    OpenLocalizedResourceFileL( KLbtMgmtViewResFileName, iResourceLoader );
-    
-    // Call AknView's BaseConstrutL
-    BaseConstructL( R_LBTMGMTPLUGIN_VIEW );
- 
-    }
-
-// ---------------------------------------------------------------------------
-// void CLbtMgmtPluginView::CloseSettings
-// Close the Location Triggering Management Settings
-//
-// ---------------------------------------------------------------------------
-//
-void CLbtMgmtPluginView::CloseSettings()
-    {
-    // Stop displaying the menu bar, if its currently being displayed
-    StopDisplayingMenuBar();
-    
-    // Close all the active dialogs
-    if( iEngine )
-    		iEngine->Close();
-    }
-        
-// ---------------------------------------------------------------------------
-// void CLbtMgmtPluginView::DoActivateL
-// 
-// ---------------------------------------------------------------------------
-//
-void CLbtMgmtPluginView::DoActivateL( const TVwsViewId&  /* PrevViewId*/,
-                                               TUid         /* aCustomMessageId*/,
-                                         const TDesC8&      /* aCustomMessage */)
-    {
-    // Destroy the existing container if it exists
-    if( iContainer )
-        {
-        AppUi()->RemoveFromViewStack( *this, iContainer );
-        delete iContainer;
-        iContainer=NULL;
-        }                       
-    
-    // Create the Location Triggering engine instance
-    iEngine = CLbtMgmtPluginEngine::NewL( *this );
-    
-    // Create new Container 
-    iContainer = CLbtMgmtPluginContainer::NewL(ClientRect(), *iEngine, *this,
-            this);
-    iContainer->SetMopParent(this);
-    AppUi()->AddToViewStackL(*this, iContainer);
-    MenuBar()->SetContextMenuTitleResourceId(R_LBTMGMTPLUGIN_CONTEXTMENUBAR);
-
-    SetCba(R_LBTMGMTPLUGIN_CBA_CHANGE);
-    }
-
-// ---------------------------------------------------------------------------
-// void CLocationSystemUiView::DoDeactivate
-//
-// ---------------------------------------------------------------------------
-//      
-void CLbtMgmtPluginView::DoDeactivate()
-    {
-    // Destroy Container
-    AppUi()->RemoveFromViewStack( *this, iContainer );
-    delete iContainer;
-    iContainer = NULL;
-    
-    // Delete the engine
-		delete iEngine;
-		iEngine = NULL;
-    
-    }
-
-// ---------------------------------------------------------------------------
-// TUid CLbtMgmtPluginView::Id
-// Returns the View Id. Should be chosen to reflect the Implementation UID 
-// of the Plugin
-//
-// @return TUid The View Id
-// ---------------------------------------------------------------------------
-//  
-TUid CLbtMgmtPluginView::Id() const
-    {
-    return TUid::Uid( KLbtMgmtPluginUID3 );
-    }
-
-// ---------------------------------------------------------------------------
-// void CLbtMgmtPluginView::HandleCommandL
-//
-// ---------------------------------------------------------------------------
-//  
-void CLbtMgmtPluginView::HandleCommandL(TInt aCommand)   
-    {
-    switch( aCommand )
-        {
-        case ELbtMgmtShowCSMenu:
-            if (CLbtMgmtPluginEngine::EActiveTriggers
-                    == iContainer->GetFocussedItem())
-                {
-                iContainer->ShowContextMenuL();
-                }
-            break;
-        case ELbtMgmtChange:
-        case ELbtMgmtMSKChange:
-    		{
-    		SettingsChangeL(aCommand);   		
-          	break;
-      	}
-  	  case ELbtMgmtMSKInfo:
-  	  	break;
-        case ELbtMgmtInfo:
-              	{
-			iEngine->ShowInfoDialogL();
-        	break;
-        	}
-        case ELbtMgmtClearAll:
-    		{
-    		iEngine->ClearAllTriggersL();
-    		iContainer->Update();
-    		HandleCmdL(EListBoxItemFocused);
-    		break;
-          	}
-        case EAknCmdHelp:        
-            {
-            HlpLauncher::LaunchHelpApplicationL( iCoeEnv->WsSession(),
-                                                 AppUi()->AppHelpContextL());
-            break;  
-          	}           
-        // Handle any plug-in specific internal commands here
-        case EAknSoftkeyBack:
-            {
-            // The UI is intended to be closed. Pass the event 
-            // to the observer
-            iSettingsObserver.SettingClosed( KErrNone );
-            break;
-            }
-        default:
-            {
-            // Un-handled commands are to be passed to the 
-            // App UI
-            AppUi()->HandleCommandL(aCommand);
-            break;
-            }
-        }
-    }   
-
-// -----------------------------------------------------------------------------
-// CLbtMgmtPluginView::SetCba
-// -----------------------------------------------------------------------------
-//
-void CLbtMgmtPluginView::SetCba( TInt aResourceId ) 
-		{
-		if( Cba() )
-		    {
-		   	TRAP_IGNORE(Cba()->SetCommandSetL(aResourceId));
-		    }
-	  Cba()->DrawDeferred(); 
-		}
-
-// ---------------------------------------------------------------------------
-// void CLbtMgmtPluginView::HandleCommandL
-// Inherited from MLbtMgmtPluginCmdHdlr
-// Handles Selection events from the container
-// 
-// @param  aCommand Command ID
-// ---------------------------------------------------------------------------
-//
-void CLbtMgmtPluginView::HandleCmdL( TLbtMgmtPluginCmd aCommand )
-    {
-    switch( aCommand )
-        {
-        // Handle any plug-in specific internal commands here
-        case EListBoxItemSelected:
-	          	{
-	          	// Handle List Box Selected Event   
-	            TRAPD( error, SettingsChangeL( ELbtMgmtMSKChange ));
-	            if( error )
-	                {
-	                // Show Error Note
-	    			CTextResolver* iTextResolver = CTextResolver::NewLC(*iCoeEnv);
-	                TPtrC buffer = iTextResolver->ResolveErrorString( error );
-	                CAknErrorNote* errorNote = new ( ELeave )CAknErrorNote( ETrue );
-	                TRAP_IGNORE( errorNote->ExecuteLD( buffer ));
-	    			CleanupStack::PopAndDestroy( iTextResolver );
-	                }    
-				break;    
-	          	}
-        case EListBoxItemFocused:
-        		{
-	        	if( CLbtMgmtPluginEngine::EActiveTriggers == iContainer->GetFocussedItem()   )
-	        	    {
-	        	    if( iEngine->ActiveTriggers() )
-	        			SetCba( R_LBTMGMTPLUGIN_CBA_INFO );
-	        	    else
-	        	        SetCba( R_LBTMGMTPLUGIN_CBA_NOACTIVETRIGGERS );
-	        	    }
-	        	else
-	        			SetCba( R_LBTMGMTPLUGIN_CBA_CHANGE );
-	        	break;
-	        	}
-        case EScreenSizeChanged:
-	          {
-            if( iContainer )
-                {
-                iContainer->SetRect( ClientRect());     
-                }
-	          break;
-	          }
-        default:
-            {
-            break;  
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Inherited from MLbtMgmtEngObserver
-// ---------------------------------------------------------------------------
-//
-void CLbtMgmtPluginView::HandleSettingsChangeEventL()
-    {
-    // Observer callback notifies that one/more of the settings values have
-    // changed. Hence, need to refresh the container to show the latest
-    // values
-    if( iContainer )
-        {
-        iContainer->DrawDeferred();
-        }
-    
-    // Handle any changes to the MSK configuration. 
-    HandleCmdL( EListBoxItemFocused );
-    }
-    
-// -----------------------------------------------------------------------------
-// CLbtMgmtPluginView::HandleHelpFeature
-// -----------------------------------------------------------------------------
-//
-void CLbtMgmtPluginView::HandleHelpFeature( CEikMenuPane& aMenuPane ) const
-    {
-    if ( FeatureManager::FeatureSupported( KFeatureIdHelp ))
-        {
-        aMenuPane.SetItemDimmed( EAknCmdHelp, EFalse );
-        }
-    else
-        {
-        aMenuPane.SetItemDimmed( EAknCmdHelp, ETrue );
-        }
-    }
-    
-
-// ---------------------------------------------------------------------------
-// Handle Settings Change Event
-// 
-// @param aCmd Settings change command
-// ---------------------------------------------------------------------------
-//
-void CLbtMgmtPluginView::SettingsChangeL( TInt aCmd )
-    {
-    if( !iContainer )
-        {
-        // No container available. Nothing to do in this case. Hence, returning
-        return;
-        }
-    CLbtMgmtPluginEngine::TSettingsList currentElement;
-    currentElement = static_cast<CLbtMgmtPluginEngine::TSettingsList>
-                        ( iContainer->GetFocussedItem() );
-    
-    // Switch based on the currently focussed element
-    switch( currentElement )
-        {
-        case CLbtMgmtPluginEngine::ETriggeringStatus:
-            {
-            // Different handling needed for Touch handling and Item selection
-            // using the OK key.
-            // Incase the User has selected the item using the OK key then 
-            // normal handling required
-            // Incase the User has selected the item using touch selection
-            // then the Trigger Status needs to be toggled
-            if( ELbtMgmtChange == aCmd )
-                {
-                iEngine->ChangeTiggerStatusL();
-                }
-            else
-                {
-                iEngine->ToggleTiggerStatusL();
-                }
-            iContainer->Update();
-            break;
-            }
-        case CLbtMgmtPluginEngine::EActiveTriggers:
-            {
-			// If condition is added for any pointer event from container
-            break;
-            }
-        default:
-            {
-            // Element not found
-            User::Leave( KErrNotFound );
-            }
-        }
-    }
-                    
-// ---------------------------------------------------------------------------
-// void CLbtMgmtPluginView::OpenLocalizedResourceFileL
-// Opens the nearest localized resourcefile using aResourceLoader. 
-// aResourceLoader should be opened only once before closing it. 
-// Otherwise it will raise a panic. Therefore it is better to have 
-// multiple resource loaders.
-// 
-// @param aResourceFileName Drive and name of resource file in format 
-//                          <path>:<rsc_file_name>
-// @param aResourceLoader Resource loader for the resource. The loader 
-//                        must not be opened allready or it will raise 
-//                        a panic. It is caller's responsibility to 
-//                        close the resource loader after using the 
-//                        resource.
-// ---------------------------------------------------------------------------
-//  
-void CLbtMgmtPluginView::OpenLocalizedResourceFileL( 
-                            const TDesC&               aResourceFileName, 
-                                  RConeResourceLoader& aResourceLoader )
-    {
-    RFs fsSession;
-    User::LeaveIfError( fsSession.Connect());
-    
-    TFileName* tmpName = new(ELeave) TFileName;
-    CleanupStack::PushL( tmpName );
-    
-    // Append the Resource Files Directory
-    tmpName->Append( KDC_RESOURCE_FILES_DIR );
-    
-    // Append the Ressource File Name
-    tmpName->Append( aResourceFileName );
-    
-    // Obtain the drive where the DLL is installed
-    TFileName* dllDrive = new (ELeave) TFileName;
-    CleanupStack::PushL( dllDrive );
-    Dll::FileName( *dllDrive );
-    
-    // Obtain the Complete path for the Resource File
-    TParse parse;
-    User::LeaveIfError( parse.Set( *dllDrive, NULL, NULL ) );
-    User::LeaveIfError( parse.Set( parse.Drive(), tmpName, NULL ) );
-    TFileName* fileName = new(ELeave) TFileName;
-    CleanupStack::PushL( fileName );
-    fileName->Append( parse.FullName() );
-    
-    // Get language of resource file
-    BaflUtils::NearestLanguageFile( fsSession, *fileName );
-    
-    // Open resource file    
-    aResourceLoader.OpenL( *fileName );
-    
-    // Pop all the fields
-    CleanupStack::PopAndDestroy( fileName );
-    CleanupStack::PopAndDestroy( dllDrive );
-    CleanupStack::PopAndDestroy( tmpName );
-    
-    //If leave occurs before this, close is called automatically when the thread exits.
-    fsSession.Close();
-    }
-
-// ---------------------------------------------------------------------------
-// CLbtMgmtPluginView :: GetLbtMgmtPluginEngine
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-CLbtMgmtPluginEngine* CLbtMgmtPluginView::GetLbtMgmtPluginEngine()
-    {
-    return iEngine;
-    }
--- a/locationtriggering/ltcellidmovementdetector/src/lbtcellidmvmtdet.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/ltcellidmovementdetector/src/lbtcellidmvmtdet.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -239,7 +239,11 @@
                 TReal ed = 0.0;
                 if( KErrNotFound != ComputeED( ed, cellInfo, iPrevCellInfo ) )
                     {
-                    iED.Append( ed );
+                    TInt error = iED.Append( ed );
+                    if( error != KErrNone )
+                        {
+                        LOG1("Failed to append ed to the array:%d",error);
+                        }
                     iSumOfED += ed;
                     if( iED.Count() == 5 )
                         {
@@ -373,8 +377,16 @@
         return ETrue;
         }
         
-    iSumOfSd.Append( sumOfSd );
-    iVarianceOfRssi.Append( aCarrierRSSISD );
+    TInt error = iSumOfSd.Append( sumOfSd );
+    if( error != KErrNone )
+        {
+        LOG1("Append sumOfSd to the array:%d",error);
+        }
+    error = iVarianceOfRssi.Append( aCarrierRSSISD );
+    if( error != KErrNone )
+        {
+        LOG1("Append aCarrierRSSISD to the array:%d",error);
+        }
     if( iSumOfSd.Count() == 3 )
         {
         TReal sumAvg = 0.0;
@@ -489,8 +501,16 @@
             TInt diff = 
                 ( ( aPrevCellInfo->GetNMR() )[pos].RxLEV ) - ( nmr.RxLEV );
             Math::Pow( diffSqr, diff, 2 );
-            diffArray.Append( diffSqr );
-            posArray.Append( pos );
+            TInt error = diffArray.Append( diffSqr );
+            if( error != KErrNone )
+                {
+                LOG1("Failed to append to diff array:%d",error);
+                }
+            error = posArray.Append( pos );
+            if( error !=KErrNone )
+                {
+                LOG1("Failed to append to pos array:%d",error);
+                }
             }
         else
             {
@@ -556,7 +576,12 @@
 
     iED.Reset();
     TReal variance = sum / 5;
-    iVarianceOfED.Append( variance );
+    TInt error = iVarianceOfED.Append( variance );
+    if( error != KErrNone )
+        {
+        LOG1("Failed to append variance:%d",error);
+        }
+    
     
     // Check if variance is > 5. If true then check the next set of
     // 5 variances. If there are more than two variance readings > 5
--- a/locationtriggering/ltcellidmovementdetector/src/lbtcellinfo.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/ltcellidmovementdetector/src/lbtcellinfo.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -83,7 +83,11 @@
             if( !iCellIdArray.Count() ||
 		         iCellIdArray.Find( aCellInfo.iWcdmaCellInfo.iNwkMeasureReport[0].iCellMeasuredResult[0].iCID ) == KErrNotFound )
                 {
-                iCellIdArray.Append( aCellInfo.iWcdmaCellInfo.iNwkMeasureReport[0].iCellMeasuredResult[0].iCID );
+                TInt error = iCellIdArray.Append( aCellInfo.iWcdmaCellInfo.iNwkMeasureReport[0].iCellMeasuredResult[0].iCID );
+                if( error != KErrNone )
+                     {
+                     LOG1("Failed to append cell id into the array:%d",error);
+                     }
                 }
             TWcdmaNMR wcdmaNMR;
             // Only current cell reading are considered for calculation.
@@ -92,7 +96,11 @@
             wcdmaNMR.iCpichRscp = aCellInfo.iWcdmaCellInfo.iNwkMeasureReport[0].iCellMeasuredResult[0].iFddInfo.iCpichRscp;
             wcdmaNMR.iPathloss = aCellInfo.iWcdmaCellInfo.iNwkMeasureReport[0].iCellMeasuredResult[0].iFddInfo.iPathloss;
             
-            iWcdmaNMR.Append( wcdmaNMR );
+            TInt error = iWcdmaNMR.Append( wcdmaNMR );
+            if( error != KErrNone )
+                {
+                LOG1("Failed to append WCDMA NMR info:%d",error);
+                }
             }
         }
     }
@@ -259,7 +267,7 @@
                 nmr.BSIC = aCellInfo.iGsmCellInfo.iNmr[i].iBSIC;
                 nmr.ARFCN = aCellInfo.iGsmCellInfo.iNmr[i].iARFCN;
                 nmr.RxLEV = aCellInfo.iGsmCellInfo.iNmr[i].iRxLEV;
-                iGsmNMR.Append( nmr );
+                iGsmNMR.AppendL( nmr );
                 }
             else
                 {
--- a/locationtriggering/ltclientlib/src/lbtcelloperation.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/ltclientlib/src/lbtcelloperation.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -123,6 +123,7 @@
             	{
             	geoCell = CLbtGeoWcdmaCell::NewL();
             	}
+            CleanupStack::PushL( geoCell );
             geoCell->SetNetworkType( iNetworkMode );
             geoCell->SetNetworkCountryCode( iNwInfo.iCountryCode );
             geoCell->SetNetworkIdentityCode( iNwInfo.iNetworkId );
@@ -137,7 +138,7 @@
                     {
                     if( iCellInfo.iGsmCellInfo.iNmr[i].iBSIC != -1 )
                         {
-                        bsicArray.Append( iCellInfo.iGsmCellInfo.iNmr[i].iBSIC );
+                        bsicArray.AppendL( iCellInfo.iGsmCellInfo.iNmr[i].iBSIC );
                         }
                     }                
                 gsmCell->SetBsic( bsicArray );
@@ -169,13 +170,14 @@
             				TLbtWcdmaCellInfo::TLbtCellMeasuredResult cellMsr;
             				cellMsr.iEcNo = ecNo;
             				cellMsr.iRscp = rscp;
-            				wcdmaCellInfo.iMeasurementResult.Append(cellMsr);
+            				wcdmaCellInfo.iMeasurementResult.AppendL(cellMsr);
             				}
             			}
             		}
             	wcdmaCell->SetWcdmaCellInfo(wcdmaCellInfo);
             	geoCell = wcdmaCell;
             	}
+            CleanupStack::Pop( geoCell );
             *(iArea) = geoCell;
             TRequestStatus* status = &iClientStatus;
             User::RequestComplete( status, iStatus.Int() );
--- a/locationtriggering/ltclientlib/src/lbtgeogsmcell.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/ltclientlib/src/lbtgeogsmcell.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -121,7 +121,11 @@
     {
     for( TInt i=0;i<aBsicArray.Count();i++ )
         {
-        iBsicArray.Append( aBsicArray[i] );
+        TInt error = iBsicArray.Append( aBsicArray[i] );
+        if( error != KErrNone )
+            {
+            return;
+            }
         }
     }
     
@@ -176,7 +180,7 @@
     TInt count = aStream.ReadInt32L();
     for( TInt i=0;i<count;i++ )
         {
-        iBsicArray.Append( aStream.ReadInt32L() );
+        iBsicArray.AppendL( aStream.ReadInt32L() );
         }
     }
     
--- a/locationtriggering/ltclientlib/src/lbtgeowcdmacell.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/ltclientlib/src/lbtgeowcdmacell.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -125,7 +125,11 @@
     for(TInt i=0;i<aWcdmaCellInfo.iMeasurementResult.Count();++i)
     	{
     	TLbtWcdmaCellInfo::TLbtCellMeasuredResult nmr = aWcdmaCellInfo.iMeasurementResult[i];
-    	iCellInfo.iMeasurementResult.Append(nmr);
+    	TInt error = iCellInfo.iMeasurementResult.Append(nmr);
+    	if( error != KErrNone )
+    	    {
+            return;
+    	    }
     	}    
     }
     
@@ -193,6 +197,6 @@
         TLbtWcdmaCellInfo::TLbtCellMeasuredResult cellMeas;
         cellMeas.iEcNo = aStream.ReadInt16L();
         cellMeas.iRscp = aStream.ReadInt16L();
-        iCellInfo.iMeasurementResult.Append(cellMeas);
+        iCellInfo.iMeasurementResult.AppendL(cellMeas);
         }
     }
--- a/locationtriggering/ltclientlib/src/lbtstartuptrigger.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/ltclientlib/src/lbtstartuptrigger.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -292,7 +292,7 @@
 	SetManagerUi(managerUid);
 	TInt filenameLen=aStream.ReadInt32L();
 	RBuf fileName;	
-	fileName.Create(filenameLen);
+	User::LeaveIfError(fileName.Create(filenameLen));
 	fileName.CleanupClosePushL( );
 	aStream.ReadL(fileName,filenameLen);
 	TInt secureId=aStream.ReadInt32L();
@@ -303,7 +303,7 @@
 	    {
 	    TInt commandLine = aStream.ReadInt32L();
 	    RBuf commandlineBuffer;	    
-	    commandlineBuffer.Create( commandLine );
+	    User::LeaveIfError(commandlineBuffer.Create( commandLine ));
 	    commandlineBuffer.CleanupClosePushL();
 	    aStream.ReadL(commandlineBuffer,commandLine);
 	    SetCommandLineL( commandlineBuffer );
--- a/locationtriggering/ltcontainer/src/lbtcontainer.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/ltcontainer/src/lbtcontainer.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -350,7 +350,11 @@
     
     if ( KErrNotFound == iObservers.Find(obsvr, compareAlgoirthm) )
         {
-        iObservers.Append( obsvr );
+        TInt error = iObservers.Append( obsvr );
+        if( error != KErrNone )
+            {
+            LOG1("Failed to add observer to the array:%d",error);
+            }
         }
     }
 
--- a/locationtriggering/ltcontainer/src/lbtcontainerao.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/ltcontainer/src/lbtcontainerao.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -455,15 +455,22 @@
 		
 		RArray<TLbtTriggerId> triggerIds;
 		CLbtContainerTriggerEntry* entry = const_cast<CLbtContainerTriggerEntry*>(createop->ContainerTriggerEntry());
-   		triggerIds.Append(entry->TriggerEntry()->Id());
-   		
+   		TInt error = triggerIds.Append(entry->TriggerEntry()->Id());
+   		if( error != KErrNone )
+   		    {
+            LOG1("Failed to append trigger ids to array:%d",error); 
+   		    }
    		
    		TLbtTriggerEventMask eventMask;
    		
    		// Append the manager uids and owner uids into the array
    		RArray<TUid> managerui;
-   		managerui.Append( entry->TriggerEntry()->ManagerUi() );
-		
+   		error = managerui.Append( entry->TriggerEntry()->ManagerUi() );
+        if( error != KErrNone )
+            {
+            LOG1("Failed to append trigger ids to array:%d",error); 
+            }
+   		
    		TUid ownerUid;
    		ownerUid.iUid = (TInt)( entry->ExtendedTriggerInfo()->OwnerSid().iId);
    		managerui.Append( ownerUid );
@@ -659,7 +666,11 @@
 	RArray<TUid> managerUis;
 	for(TInt i=0;i<triggerInfoArray.Count();++i)
 		{
-		triggersModified.Append(triggerInfoArray[i].iTriggerId);
+		TInt error = triggersModified.Append(triggerInfoArray[i].iTriggerId);
+		if( error != KErrNone)
+		    {
+            LOG1("Failed to append modified triggers:%d",error);
+		    }
 		
 		if( managerUis.Find(triggerInfoArray[i].iManagerUi) == KErrNotFound )
 			{
--- a/locationtriggering/ltcontainer/src/lbtcontainerareafilter.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/ltcontainer/src/lbtcontainerareafilter.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -330,7 +330,7 @@
 	TInt i;
 	if(contExtInfo!=NULL)
              	{
-                 if((isFilterPresent>0 && isEntryRequested && iHystRadiusArray.Count()>0) || (iHystRadiusArray.Count()>0 && isFilterPresent==0 ))  
+                 if( iHystRadiusArray.Count()>0)  
                     {
                     isFilterPresent++;
                     isEntryRequested=EFalse;
@@ -346,8 +346,10 @@
                     }
                      
                     
-                    if((isFilterPresent>0 && isEntryRequested && iTriggerFiredArray.Count()>0) || (iTriggerFiredArray.Count()>0 && isFilterPresent==0 ))  
+                    if((isFilterPresent>0 && isEntryRequested ) || ( isFilterPresent==0 ))  
                         {
+                        	if(iTriggerFiredArray.Count()>0)
+                        		{
                         isFilterPresent++;
                         isEntryRequested=EFalse;
                         for(i=0;i<iTriggerFiredArray.Count();i++)
@@ -359,6 +361,7 @@
                     		    }
                    		    }
                         }
+                      }
                         
                      if((isFilterPresent>0 && isEntryRequested && iSidArray.Count()>0) || (iSidArray.Count()>0 && isFilterPresent==0 ))  
                         {
--- a/locationtriggering/ltcontainer/src/lbtcontainerattrfilter.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/ltcontainer/src/lbtcontainerattrfilter.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -58,7 +58,7 @@
         TInt i=0;
         if(trigEntry!=NULL)
         	{
-            if((isFilterPresent>0 && isEntryRequested) || (iTriggerStateArray.Count()>0 && isFilterPresent==0))
+            if( iTriggerStateArray.Count()>0 )
             	{
                  isFilterPresent++;
                  for(i=0;i<iTriggerStateArray.Count();i++)
@@ -70,9 +70,11 @@
                         }
                     }
                 }
-            if( (isFilterPresent>0 && isEntryRequested && iTriggerValidityArray.Count()>0) || 
-                (iTriggerValidityArray.Count()>0 && isFilterPresent==0) )
+            if( (isFilterPresent>0 && isEntryRequested ) || 
+                (isFilterPresent==0) )
                 {
+                	if(iTriggerValidityArray.Count()>0)
+                		{
                 isFilterPresent++;
                 isEntryRequested=EFalse;
                 for(i=0;i<iTriggerValidityArray.Count();i++)
@@ -83,6 +85,7 @@
                       }                
                    }
                 }
+              }
                    
             if((isFilterPresent>0 && isEntryRequested && iTriggerTypeArray.Count()>0) || (iTriggerTypeArray.Count()>0 && isFilterPresent==0))
                 {
--- a/locationtriggering/ltcontainer/src/lbtcontainercompfilter.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/ltcontainer/src/lbtcontainercompfilter.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -88,7 +88,7 @@
 	TInt i;
 	if(contExtInfo!=NULL)
              	{
-                 if((isFilterPresent>0 && isEntryRequested && iHystRadiusArray.Count()>0) || (iHystRadiusArray.Count()>0 && isFilterPresent==0 ))  
+                 if( iHystRadiusArray.Count()>0)  
                     {
                     isFilterPresent++;
                     isEntryRequested=EFalse;
@@ -104,8 +104,10 @@
                     }
                      
                     
-                    if((isFilterPresent>0 && isEntryRequested && iTriggerFiredArray.Count()>0) || (iTriggerFiredArray.Count()>0 && isFilterPresent==0 ))  
+                    if((isFilterPresent>0 && isEntryRequested  ) ||  isFilterPresent==0 )  
                         {
+                        	if(iTriggerFiredArray.Count()>0)
+                        		{
                         isFilterPresent++;
                         isEntryRequested=EFalse;
                         for(i=0;i<iTriggerFiredArray.Count();i++)
@@ -117,6 +119,7 @@
                     		    }
                    		    }
                         }
+                      }
                         
                      if((isFilterPresent>0 && isEntryRequested && iSidArray.Count()>0) || (iSidArray.Count()>0 && isFilterPresent==0 ))  
                         {
@@ -182,19 +185,25 @@
     		    case CLbtTriggerFilterBase::EFilterByAttribute:
     				{
     				CLbtContainerAttrFilter* attrFilter = CLbtContainerAttrFilter::NewL(filter,NULL);
-					iFilterArray.Append(attrFilter);
+    				CleanupStack::PushL( attrFilter );
+					iFilterArray.AppendL(attrFilter);
+					CleanupStack::Pop( attrFilter );
 					break;
     				}
     			case CLbtTriggerFilterBase::EFilterByArea:
     				{
     				CLbtContainerAreaFilter* areaFilter = CLbtContainerAreaFilter::NewL(filter,NULL);
-    				iFilterArray.Append(areaFilter);
+    				CleanupStack::PushL( areaFilter );
+    				iFilterArray.AppendL(areaFilter);
+    				CleanupStack::Pop( areaFilter );
     				break;
     				}
     			case CLbtTriggerFilterBase::EFilterComposite:
     				{
     				CLbtContainerCompFilter* compFilter = CLbtContainerCompFilter::NewL(filter,NULL);
-    				iFilterArray.Append(compFilter);
+    				CleanupStack::PushL( compFilter );
+    				iFilterArray.AppendL(compFilter);
+    				CleanupStack::Pop( compFilter );
     				break;
     				}
         		}
--- a/locationtriggering/ltcontainer/src/lbtcontainertriggerfilter.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/ltcontainer/src/lbtcontainertriggerfilter.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -77,7 +77,11 @@
 EXPORT_C void CLbtContainerFilter::AddHysteresisRadiusInFilter( 
     TReal aRadius )
     {
-	iHystRadiusArray.Append(aRadius);
+	TInt error = iHystRadiusArray.Append(aRadius);
+	if( error != KErrNone )
+	    {
+        LOG1("Failed to append radius to the array:%d",error);
+	    }
     }
 
 
@@ -114,7 +118,7 @@
 EXPORT_C void CLbtContainerFilter::AddRectTrigAreaInFilterL( 
     CLbtExtendedTriggerInfo::TLbtTriggerRectArea aArea )
     {
-	iTriggerRectAreaArray.Append(aArea);
+	iTriggerRectAreaArray.AppendL(aArea);
     }
 
 
@@ -149,7 +153,7 @@
 EXPORT_C void CLbtContainerFilter::AddFiredInfoInFilterL( 
     TBool aFired)
     {
-    iTriggerFiredArray.Append(aFired);
+    iTriggerFiredArray.AppendL(aFired);
     }           
    
 // ---------------------------------------------------------------------------
@@ -185,7 +189,7 @@
 EXPORT_C void CLbtContainerFilter::AddOwnerSidInFilterL( 
     TSecureId aSid )
     {
-    iSidArray.Append( aSid );
+    iSidArray.AppendL( aSid );
     }
 
             
@@ -220,7 +224,7 @@
 EXPORT_C void CLbtContainerFilter::AddTriggerFireOnCreationInFilterL( 
         TBool aFireOnCreation )
 	{
-	iTriggerFireOnCreationArray.Append( aFireOnCreation );	
+	iTriggerFireOnCreationArray.AppendL( aFireOnCreation );	
 	}
 
 // ---------------------------------------------------------------------------
@@ -338,7 +342,7 @@
 //    
 EXPORT_C void CLbtContainerFilter::AddStartupProcessInFilterL( TFileName& aFileName )
 	{
-	iStartupProcessArray.Append( aFileName );
+	iStartupProcessArray.AppendL( aFileName );
 	}
 
 // ---------------------------------------------------------------------------
@@ -423,7 +427,7 @@
     
     for(i=0;i<hystArray.Count();++i)
     	{
-    	iHystRadiusArray.Append(hystArray[i]);
+    	iHystRadiusArray.AppendL(hystArray[i]);
     	}
     hystArray.Close();
     
@@ -433,7 +437,7 @@
     
     for(i=0;i<triggerRectAreaArray.Count();++i)
     	{
-    	iTriggerRectAreaArray.Append(triggerRectAreaArray[i]);
+    	iTriggerRectAreaArray.AppendL(triggerRectAreaArray[i]);
     	}
     triggerRectAreaArray.Close();
     
@@ -443,7 +447,7 @@
     
     for(i=0;i<triggerFiredArray.Count();++i)
     	{
-    	iTriggerFiredArray.Append(triggerFiredArray[i]);
+    	iTriggerFiredArray.AppendL(triggerFiredArray[i]);
     	}
     triggerFiredArray.Close();
     
@@ -453,7 +457,7 @@
     
     for(i=0;i<sidArray.Count();++i)
     	{
-    	iSidArray.Append(sidArray[i]);
+    	iSidArray.AppendL(sidArray[i]);
     	}
     sidArray.Close();
     
@@ -463,7 +467,7 @@
     
     for(i=0;i<triggerFireOnCreationArray.Count();++i)
     	{
-    	iTriggerFireOnCreationArray.Append(triggerFireOnCreationArray[i]);
+    	iTriggerFireOnCreationArray.AppendL(triggerFireOnCreationArray[i]);
     	}
     triggerFireOnCreationArray.Close();
     
@@ -473,7 +477,7 @@
     
     for(i=0;i<triggerstartupProcessArray.Count();++i)
     	{
-    	iStartupProcessArray.Append(triggerstartupProcessArray[i]);
+    	iStartupProcessArray.AppendL(triggerstartupProcessArray[i]);
     	}
     triggerstartupProcessArray.Close();
     }
--- a/locationtriggering/ltcontainer/src/lbtcontainertriggerfilterbyattribute.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/ltcontainer/src/lbtcontainertriggerfilterbyattribute.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -168,7 +168,7 @@
 EXPORT_C void CLbtContainerFilterByAttribute::AddOwnerSidInFilterL( 
     TSecureId aSid )
     {
-    iSidArray.Append( aSid );
+    iSidArray.AppendL( aSid );
     }
 
             
--- a/locationtriggering/ltcontainer/src/lbtdboperationao.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/ltcontainer/src/lbtdboperationao.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -58,7 +58,12 @@
         }
     
     iView = &aView;
-    iView->Prepare( iDb, TDbQuery(aQuery, EDbCompareFolded) );
+    TInt err =iView->Prepare( iDb, TDbQuery(aQuery, EDbCompareFolded) );
+    if( err != KErrNone )
+ 	   {
+ 	        TRequestStatus* status = &iStatus;
+          User::RequestComplete(status, err);
+     }
     iView->Evaluate(iStatus);
     SetActive();
     iOperation = EDbSqlQuery;
--- a/locationtriggering/ltcontainer/src/lbtdbtriggersmanager.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/ltcontainer/src/lbtdbtriggersmanager.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -364,16 +364,16 @@
         {
         case EOpStateQuery:
             {
-            iView.FirstL();
+             
             // check if view is empty, return KErrNotFound
-            if( iView.IsEmptyL() || !iView.AtRow() )
+            if( iView.IsEmptyL() || !iView.AtRow() || !iView.FirstL() )
                 {
                 CompleteClientRequest( KErrNotFound );
                 break;
                 }       
             // Start iterating through all the triggers in view            
             iOperationState = EOpStateIterating;
-            iView.FirstL();
+                       
             }
             // Omitting break is intentional
        case EOpStateIterating:
@@ -763,14 +763,14 @@
         case EOpStateQuery:
             {
             // check if view is empty, return KErrNotFound
-            if( iView.IsEmptyL() )
+            if( iView.IsEmptyL() || !iView.FirstL())
                 {
                 CompleteClientRequest( KErrNotFound );
                 break;
                 }       
             // Start iterating through all the triggers in view            
             iOperationState = EOpStateIterating;
-            iView.FirstL();
+           
             }
             // Omitting break is intentional
         case EOpStateIterating:
@@ -835,8 +835,10 @@
                         }
                     CleanupStack::PopAndDestroy(entry);
                     }       
-                iView.NextL();       
-                }
+                 TBool res =iView.NextL();   
+                 if (!res)
+                 	break;
+              }
             
             if( count >= KStepCount )
                 {
@@ -869,7 +871,7 @@
         case EOpStateQuery:
             {
             // check if view is empty, return KErrNotFound
-            if( iView.IsEmptyL() )
+            if( iView.IsEmptyL() || !iView.FirstL())
                 {
                 CompleteClientRequest( KErrNotFound );
                 break;
@@ -877,7 +879,8 @@
             
             // Start iterating through all the triggers in view            
             iOperationState = EOpStateIterating;
-            iView.FirstL();
+            
+            
             }
             // Omitting break is intentional
         case EOpStateIterating:
@@ -924,7 +927,10 @@
                             }
                         CleanupStack::PopAndDestroy( entry );
                         }
-                    iView.NextL();
+                    
+                     TBool res = iView.NextL();
+                      if(!res)
+            	         break;
                     }                
                 }
 
@@ -982,7 +988,8 @@
                 }
             }
 
-        iView.NextL();
+        if(!iView.NextL())
+        	break;
         }
 
     if( count >= KStepCount )
@@ -1262,7 +1269,7 @@
                         }
                     }
                 areaBase->InternalizeL(readStream);
-                areaArray.Append(areaBase);
+                areaArray.AppendL(areaBase);
                 CleanupStack::Pop(1); //areaBase                
                 }
             
@@ -1321,7 +1328,11 @@
     PrepareViewForTriggersL( aTriggerIds, iView );
  
     // rest of list triggers operation is in the method HandleGetTriggersEventL.
-    iView.FirstL();
+   if(!iView.FirstL())
+   {
+   	CompleteClientRequest( KErrNotFound );
+	return;
+	}
     SelfComplete();
 	}
 
@@ -1395,7 +1406,12 @@
     PrepareViewForListingL( iView );
     
     // rest of list triggers operation is in the method HandleListTriggersEventL.
-    iView.FirstL();
+    
+	if(!iView.FirstL())
+   {
+   	CompleteClientRequest( KErrNotFound );
+	return;
+	}
     iFilterBase = LbtContainerUtilities::GetContainerFilterFromListOptionsLC(iFilter);
     CleanupStack::Pop(1); // iFilterBase
     
@@ -1507,9 +1523,13 @@
     sql.AppendNum( aTriggerId );
     
     // Execute the query to delete the entry
-    iDbOperation->ExecuteSyncQuery( view, sql );
-   	view.Close();
-    }
+    TInt err =iDbOperation->ExecuteSyncQuery( view, sql );
+    if( err != KErrNone )
+    	{
+    		LOG("err");
+    	}
+ 	   	view.Close();
+       }
 
 //---------------------------------------------------------------------------
 // CLbtDbTriggersManager::AddGeoCellIntoDbL
@@ -1759,10 +1779,15 @@
 
     iIdArray.Reset();
     RDbView view;
+     CleanupClosePushL( view );
     PrepareViewForTriggersL( aTriggerIds, view );
+    if(!view.FirstL())
+	   {
+	     CompleteClientRequest( KErrNotFound );
+       return;
+	   }
+   
     
-    CleanupClosePushL( view );
-    view.FirstL();
     while(view.AtRow())
         {
         view.GetL();
@@ -1800,7 +1825,7 @@
                     TLbtTriggerModifiedInfo info;
                     info.iTriggerId = triggerId;
                     info.iAreaType = static_cast<CLbtGeoAreaBase::TGeoAreaType>(view.ColInt8(ELbtDbTriggerAreaType));;
-                    iIdArray.Append(info);
+                    iIdArray.AppendL(info);
                     
                     if( currentValidity == TLbtTriggerDynamicInfo::EInvalid &&
                         aValidity == TLbtTriggerDynamicInfo::EValid)
@@ -1815,7 +1840,8 @@
                     }
                 }
             }
-        view.NextL();
+        if(!view.NextL())
+        	break;
         }
     CleanupStack::PopAndDestroy(); // view
     User::RequestComplete( status, KErrNone );
@@ -1853,7 +1879,12 @@
 
   	TBool found = EFalse;
   	CleanupClosePushL( view );
-  	view.FirstL();
+  	
+	if(!view.FirstL())
+	{
+	CompleteClientRequest( KErrNotFound );
+    return;
+	}
   	while(view.AtRow())
     	{
     	view.GetL();
@@ -1870,8 +1901,10 @@
 	 	    	view.PutL();
 	 	    	}
     		}
-    	view.NextL();
-    	}
+    	if(!view.NextL())
+    		break;
+    			
+    }
     CleanupStack::PopAndDestroy(); //view
 
     TInt error = KErrNone;
@@ -2036,10 +2069,12 @@
                 User::Leave(error);
                 }
             CleanupClosePushL(hybridView);
-            hybridView.FirstL();
+            if(hybridView.FirstL())
+            	{
             hybridView.GetL();
             hybridView.DeleteL();
             hybridView.Close();
+              }
             CleanupStack::PopAndDestroy(1); // hybridView            
             break;
             }
@@ -2050,7 +2085,7 @@
     	MLbtTriggerStore::TLbtTriggerModifiedInfo info;
     	info.iTriggerId = aTriggerId;
     	info.iAreaType = areaType;
-    	iIdArray.Append(info);
+    	iIdArray.AppendL(info);
     	}
     
     iView.DeleteL();
@@ -2409,7 +2444,11 @@
 		info.iStartupProcess = KNullUid;
 		}
         
-    iIdArray.Append(info);
+    TInt error = iIdArray.Append(info);
+    if( error != KErrNone )
+        {
+        LOG1("Failed to appenf info to the array:%d",error);
+        }
 	}
 	
 
@@ -2421,7 +2460,12 @@
 	 {
 	 for( TInt i = 0;i<iIdArray.Count();i++ )
 		 {
-		 aArray.Append(iIdArray[i]);	
+		 TInt error = aArray.Append(iIdArray[i]);
+	      if( error != KErrNone )
+             {
+             LOG1("Failed to append modified triggers:%d",error);
+             return;
+             }
 	     }
 	 iIdArray.Reset();
 	 } 
@@ -2580,7 +2624,8 @@
 	    		}
     		}
 
-    	iView.NextL();
+    	if(!iView.NextL())
+    		break;
     	}
     
     if( count >= KStepCount )
--- a/locationtriggering/ltcontainer/src/lbtlistasyncoperation.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/ltcontainer/src/lbtlistasyncoperation.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -166,7 +166,7 @@
     iClientStatus = &aClientStatus;
     for(TInt i=0;i<aTriggerIds.Count();++i)
     	{
-    	iTriggerIds.Append( aTriggerIds[i] );
+    	iTriggerIds.AppendL( aTriggerIds[i] );
     	}
 	}
 
--- a/locationtriggering/ltcontainer/src/lbtramtriggersmanager.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/ltcontainer/src/lbtramtriggersmanager.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -79,7 +79,12 @@
 	 {
 	 for( TInt i = 0;i<iIdArray.Count();i++ )
 		 {
-		 aArray.Append(iIdArray[i]);	
+		 TInt error = aArray.Append(iIdArray[i]);
+		 if( error != KErrNone )
+		     {
+             LOG1("Failed to append modified triggers:%d",error);
+             return;
+		     }
 	     }
 	 iIdArray.Reset();
 	 }	
@@ -171,7 +176,7 @@
         {
         TLbtTriggerModifiedInfo triggerInfo;
         triggerInfo.iTriggerId = aTriggerIds[i];
-        iIdArray.Append( triggerInfo );
+        iIdArray.AppendL( triggerInfo );
         }
     iIterator = 0;    
     iCurrentOperation = EOperationGetTriggers;
@@ -484,7 +489,11 @@
 		info.iStartupProcess = KNullUid;
 		}
     
-    iIdArray.Append(info);
+    TInt error = iIdArray.Append(info);
+    if( error != KErrNone )
+        {
+        LOG1("Failed to appenf info to the array:%d",error);
+        }
 	}
 
 
@@ -647,7 +656,7 @@
     info.iTriggerId = entry->TriggerEntry()->Id();   
     TSecureId sid = entry->ExtendedTriggerInfo()->OwnerSid();    
     info.iOwner.iUid= (TInt)(sid.iId);
-    iIdArray.Append(info);
+    iIdArray.AppendL(info);
 
     /* contTrigEntry is the trigger entry which is a part of 
      * the container trigger entry retrieved from the tree 
@@ -782,7 +791,9 @@
                             break;
                             }                           
                         }
-                   newHybridArea.Append( geoAreaToArray );
+                   CleanupStack::PushL( geoAreaToArray );
+                   newHybridArea.AppendL( geoAreaToArray );
+                   CleanupStack::Pop( geoAreaToArray );
                    }                
                 // The new hybrid array is ready. Now set the array into the geo area Hybrid
                 containerHybrid->SetHybridArea( newHybridArea );
@@ -1250,7 +1261,7 @@
     	MLbtTriggerStore::TLbtTriggerModifiedInfo info;
     	info.iTriggerId = aTriggerId;
     	info.iAreaType = areaType;
-    	iIdArray.Append(info);
+    	iIdArray.AppendL(info);
     	}
     iTriggerIdTree->DeleteFromTreeL(aTriggerId);
     }
--- a/locationtriggering/ltcontainer/src/lbttriggerstorerepository.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/ltcontainer/src/lbttriggerstorerepository.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -42,12 +42,12 @@
     CLbtDbTriggersManager* dbTriggerStore = CLbtDbTriggersManager::NewL();
     CleanupStack::PushL( dbTriggerStore );
     
-    aStoreArray.Append( dbTriggerStore );
+    aStoreArray.AppendL( dbTriggerStore );
     
     CLbtRamTriggersManager* ramTriggerStore = CLbtRamTriggersManager::NewL();
     CleanupStack::PushL( ramTriggerStore );
     
-    aStoreArray.Append( ramTriggerStore );
+    aStoreArray.AppendL( ramTriggerStore );
     
     CleanupStack::Pop( 3, &aStoreArray );
     }
--- a/locationtriggering/ltcontainer/src/lbtupdateasyncoperation.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/ltcontainer/src/lbtupdateasyncoperation.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -169,7 +169,7 @@
     FUNC_ENTER("CLbtUpdateAsyncOperation::ConstructL");
     for(TInt i=0;i<aTriggerIds.Count();++i)
     	{
-    	iTriggerIds.Append(aTriggerIds[i]);
+    	iTriggerIds.AppendL(aTriggerIds[i]);
     	}
     iValidity = aValidity;
     iClientStatus = &aClientStatus;
@@ -190,7 +190,7 @@
 	FUNC_ENTER("CLbtUpdateAsyncOperation::ConstructL");
 	for(TInt i=0;i<aTriggerIds.Count();++i)
     	{
-    	iTriggerIds.Append(aTriggerIds[i]);
+    	iTriggerIds.AppendL(aTriggerIds[i]);
     	}
 	iClientStatus = &aClientStatus;
 	iUpdateOpType = aUpdateOpType;
--- a/locationtriggering/ltcontextsourceplugin/src/lbtcontextsourceplugin.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/ltcontextsourceplugin/src/lbtcontextsourceplugin.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -310,7 +310,7 @@
             triggerNode->SetCurrentStateL( defaultCurrentState );
             }
         // Add to triggernode list
-        iTriggerNodeList.Append( triggerNode );
+        iTriggerNodeList.AppendL( triggerNode );
         }
     else
         {
@@ -426,7 +426,7 @@
     newTrigger->contextName.Set( aContextName );
     newTrigger->triggerName.Set( aTriggerName );
         
-    iTriggerList.Append(newTrigger);
+    iTriggerList.AppendL(newTrigger);
     iCurrentTriggerIndex++;
     if( iCurrentTriggerIndex <= iTriggerNodeList.Count()-1 )
         {            
--- a/locationtriggering/ltserver/ltserverlogic/src/lbtaooperationbase.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/ltserver/ltserverlogic/src/lbtaooperationbase.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -119,7 +119,12 @@
     {
     for( TInt i=0;i<aManagerUids.Count();i++ )
         {
-        iManagerUidArray.Append( aManagerUids[i] );
+        TInt error = iManagerUidArray.Append( aManagerUids[i] );
+        if( error != KErrNone )
+            {
+            LOG1("Failed to append manager uids to array:%d",error);
+            return;
+            }
         }
     }
 
--- a/locationtriggering/ltserver/ltserverlogic/src/lbtappchangehandler.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/ltserver/ltserverlogic/src/lbtappchangehandler.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -148,7 +148,12 @@
 			TLbtAppInfo appInfo = iCurrentInstalledApps[i];
 			
 			// The removed application resided in the MMC card
-			iAppList.Append( appInfo );
+			TInt error = iAppList.Append( appInfo );
+			if( error != KErrNone )
+			    {
+                LOG1("Failed to append appInfo:%d",error);
+                return;
+			    }
 						
 			// Check if the application resides in MMC
 			if( appInfo.iFullName.FindC(iMMCDriveChar) >= 0 )
@@ -201,7 +206,12 @@
 			if( appInfo.iFullName.FindC( iMMCDriveChar ) >= 0 )
 				{				
 				// Append to the array only if the application resides on the MMC
-				iAppList.Append( appInfo );
+				TInt error = iAppList.Append( appInfo );
+				if( error != KErrNone )
+				    {
+                    LOG1("Failed to append appInfo to the array:%d",error);
+                    return;
+				    }
 				}
 			}
 		}
@@ -314,7 +324,12 @@
 	
 	for( TInt i=0;i<newAppList.Count();i++ )
 	    {
-	    iCurrentInstalledApps.Append( newAppList[i] );
+	    TInt error = iCurrentInstalledApps.Append( newAppList[i] );
+	    if( error != KErrNone )
+	        {
+            LOG1("Failed to append new applist to the array:%d",error);
+            break;
+	        }
 	    }
 	newAppList.Close();
 	}
@@ -645,7 +660,7 @@
 				
 				for(TInt i=0;i<iTriggerEntries.Count();++i)
 					{
-					triggerIds.Append(iTriggerEntries[i]->TriggerEntry()->Id());
+					triggerIds.AppendL(iTriggerEntries[i]->TriggerEntry()->Id());
 					}
 				
 				TLbtTriggerDynamicInfo::TLbtTriggerValidity validity;
--- a/locationtriggering/ltserver/ltserverlogic/src/lbtcleanuphandler.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/ltserver/ltserverlogic/src/lbtcleanuphandler.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -501,7 +501,12 @@
 	iTriggers.Reset();	
 	for(TInt i=0;i<aTriggers.Count();++i)
 		{
-		iTriggers.Append( aTriggers[i] );
+		TInt error = iTriggers.Append( aTriggers[i] );
+		if( error != KErrNone )
+		    {
+            LOG1("Failing to append triggers to the array:%d",error );
+            return;
+		    }
 		}
 	iUTCTime = aUTCTime;
 	}
--- a/locationtriggering/ltserver/ltserverlogic/src/lbtlistaooperation.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/ltserver/ltserverlogic/src/lbtlistaooperation.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -159,7 +159,7 @@
 		        // This array of trigger ids is passed to container to set the 
 				// fired state to false.	
 				triggerId = iTriggerArray[i]->TriggerEntry()->Id();
-			    triggerIdArray.Append( triggerId );	
+			    triggerIdArray.AppendL( triggerId );	
 		        }
 		        
 	        // This active object was dequed from active scheduler once container completes 
--- a/locationtriggering/ltserver/ltserverlogic/src/lbtserverlogic.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/ltserver/ltserverlogic/src/lbtserverlogic.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -228,7 +228,9 @@
 														   *iContainer, 
 														   aType,
 														   *iSettingsManager);
-			iAOOArray.Append(operation);
+			CleanupStack::PushL( operation );
+			iAOOArray.AppendL(operation);
+			CleanupStack::Pop( operation );
 			operation->StartOperationL();
 			break;
 			}
@@ -278,7 +280,9 @@
 				}
 			CLbtListAOOperation* operation = 
 						CLbtListAOOperation::NewL(*this, aMessage, *iContainer, aType);
-		    iAOOArray.Append(operation);
+			CleanupStack::PushL( operation );
+		    iAOOArray.AppendL(operation);
+		    CleanupStack::Pop( operation );
 			operation->StartOperationL();
 			break;
 			}
@@ -299,7 +303,9 @@
 			
 			CLbtTriggerModifyAOOperation* operation = 
 						CLbtTriggerModifyAOOperation::NewL(*this, aMessage, *iContainer, aType,*iSettingsManager);
-		    iAOOArray.Append(operation);
+			CleanupStack::PushL( operation );
+		    iAOOArray.AppendL(operation);
+		    CleanupStack::Pop( operation );
 			operation->StartOperationL();
 			break;
 			}
@@ -678,7 +684,9 @@
 	
 	CLbtDeleteSessionTriggers* deleteSessionTriggers=
 							CLbtDeleteSessionTriggers::NewL(*this,*iContainer,*iNotificationMap);
-	iDeleteSessionTriggersArray.Append(deleteSessionTriggers);
+	CleanupStack::PushL( deleteSessionTriggers );
+	iDeleteSessionTriggersArray.AppendL(deleteSessionTriggers);
+	CleanupStack::Pop( deleteSessionTriggers );
 							
 	deleteSessionTriggers->DeleteSessionTriggers(containerFilter);
 	iNotificationMap->RemoveAllClientMessages(aSecureId);
@@ -1108,7 +1116,7 @@
     	// Retrieve all client session notification messages.
     	while(!iNotificationMap->Retreive(message, secureId, aServiceId) )
     		{
-    		array.Append(message);
+    		array.AppendL(message);
     		}
 		}
 
@@ -1117,7 +1125,7 @@
 	                                  aServiceId,
 	                                  CLbtServerLogicBase::TLbtManagementLibrary))
 		{
-		array.Append(message);
+		array.AppendL(message);
 		}
 
 	if(array.Count() == 0)
@@ -1236,7 +1244,7 @@
         	
         	while( !iNotificationMap->Retreive(message, sid, aServiceId) )
         		{
-        		array.Append(message);
+        		array.AppendL(message);
         		}
 
             SetNotificationEventType(aOperation, event);
@@ -1501,7 +1509,12 @@
 		while( !iNotificationMap->Retreive(message,ELbtNotifyTriggeringSysSettingChange,
 										CLbtServerLogicBase::TLbtClientLibrary))
 			{
-			messageArray.Append( message );
+			TInt error = messageArray.Append( message );
+			if( error != KErrNone )
+			    {
+                LOG1("Failed to append message to the array:%d",error);
+                break;
+			    }
 			}
 		if(messageArray.Count())
 			{
@@ -1571,7 +1584,12 @@
 	while( !iNotificationMap->Retreive(message,ELbtNotifyTriggeringSysStatusChange,
 										CLbtServerLogicBase::TLbtClientLibrary))
 			{
-			messageArray.Append( message );
+			TInt error = messageArray.Append( message );
+			if( error != KErrNone )
+			    {
+                LOG1("Failed to append to the array:%d",error);
+                break;
+			    }
 			}
 	if( messageArray.Count() )		
 	    {
@@ -1585,7 +1603,12 @@
 	while( !iNotificationMap->Retreive(message,ELbtNotifyTriggeringSysStatusChange,
 										CLbtServerLogicBase::TLbtManagementLibrary))
 			{
-			messageArray.Append( message );
+			TInt error = messageArray.Append( message );
+			if( error != KErrNone )
+                {
+                LOG1("Failed to append to the array:%d",error);
+                break;
+                }
 			}    
     if( messageArray.Count() )
         {
--- a/locationtriggering/ltserver/ltserverlogic/src/lbtsimchangehandler.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/ltserver/ltserverlogic/src/lbtsimchangehandler.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -293,15 +293,26 @@
                 lex.Assign( cellularArea->NetworkIdentityCode() );
                 lex.Val( trNetworkCode );
                 
+                TInt error;
                 // If the network type,country code and network code of trigger 
                 // matches with current cell reading, add it to invalid trigger array
                 if( trNetworkCode != ctNetworkCode )
                     {
-                    iInvalidTriggers.Append( trigger->Id() );
+                    error = iInvalidTriggers.Append( trigger->Id() );
+                    if( error != KErrNone )
+                        {
+                        LOG1("Failed to append trigger id:%d",error);
+                        return;
+                        }
                     }
                 else if( trNetworkCode == ctNetworkCode  )
                     {
-                    iValidTriggers.Append( trigger->Id() );
+                    error = iValidTriggers.Append( trigger->Id() );
+                    if( error != KErrNone )
+                        {
+                        LOG1("Failed to append trigger id:%d",error);
+                        return;
+                        }
                     }
     			}
     		}
--- a/locationtriggering/ltserver/ltserverlogic/src/lbttriggerfirehandler.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/ltserver/ltserverlogic/src/lbttriggerfirehandler.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -85,7 +85,7 @@
 	{
 	FUNC_ENTER("CLbtTriggerFireHandler::FireTriggerL");
 	// queue the fire info into the array;
-	iFireInfoArray.Append(aFireInfo);
+	iFireInfoArray.AppendL(aFireInfo);
 	
 	if(!IsActive())
 		{
@@ -176,13 +176,15 @@
 		
 		// Get the trigger entry from container
 		RArray<TLbtTriggerId> triggerId;
-		triggerId.Append( iFireInfoArray[0].iTriggerId );
-		iContainer.GetTriggers( triggerId, 
-								iTriggerArray, 
-								iAOIdentificationNum,
-								iStatus);
-		SetActive();
-		
+		TInt error = triggerId.Append( iFireInfoArray[0].iTriggerId );
+		if( error == KErrNone )
+		    {
+            iContainer.GetTriggers( triggerId, 
+                                    iTriggerArray, 
+                                    iAOIdentificationNum,
+                                    iStatus);
+            SetActive();
+		    }
 		triggerId.Close();		
 		}
 	}
--- a/locationtriggering/ltstrategyengine/src/lbtcellchangehandler.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/ltstrategyengine/src/lbtcellchangehandler.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -135,7 +135,12 @@
 void CLbtCellChangeHandler::SetObserver( MCellChangeObserver* aObserver )
     {
     FUNC_ENTER("CLbtCellChangeHandler::SetObserver");
-    iObserverArray.Append( aObserver );
+    TInt error = iObserverArray.Append( aObserver );
+    if( error != KErrNone )
+        {
+        LOG1("Failed to append observer to the array:%d",error);
+        return;
+        }
     // If cell change handler already has cell information,update it to the observer
     if( iLocArea.iCellId && iLastStatusInfo == KErrNone )
         {
--- a/locationtriggering/ltstrategyengine/src/lbtcelliddatabase.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/ltstrategyengine/src/lbtcelliddatabase.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -129,9 +129,13 @@
             
             // This entry has been used and should be deleted last compared to 
             // unused entry. This is pushed to the end because we delete 
-            // entry from first when max cap is reached.
-            iCellIdDbArray.Append( iCellIdDbArray[i] );
-            iCellIdDbArray.Remove( i );
+            // entry from first when max cap is reached.Remove operation should be 
+            // performed only if append succeeds
+            TInt error = iCellIdDbArray.Append( iCellIdDbArray[i] );
+            if( error == KErrNone )
+                {
+                iCellIdDbArray.Remove( i );
+                }
             
             return KErrNone;
             }
--- a/locationtriggering/ltstrategyengine/src/lbtcellsupervisor.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/ltstrategyengine/src/lbtcellsupervisor.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -135,7 +135,11 @@
                 // If the fired time is non-zero, add it to recently fired trigger list
                 if( strategyData.iFireTime )
                     {
-                    iRecentlyFiredTriggerArray.Append( conTrigger );
+                    TInt error = iRecentlyFiredTriggerArray.Append( conTrigger );
+					if( error != KErrNone )
+						{
+						LOG1("Failed to append conTrigger into the array:%d",error);
+						}
                     }
                 }
             }
@@ -525,7 +529,11 @@
     ClearVisitedCellInfo( aStrategyData );
     
     // Append this trigger to recently fired trigger
-    iRecentlyFiredTriggerArray.Append( aTrigger );
+    TInt error = iRecentlyFiredTriggerArray.Append( aTrigger );
+	if( error != KErrNone )
+		{
+	    LOG1("Failed to append trigger to the array:%d",error);		
+		}
 	}
 
 
@@ -610,7 +618,11 @@
                 {
                 strategyData.iFireTime = 0;
                 iRecentlyFiredTriggerArray[i]->SetStrategyData( strategyData );
-                activatedTriggers.Append( iRecentlyFiredTriggerArray[i] );
+                TInt error = activatedTriggers.Append( iRecentlyFiredTriggerArray[i] );
+                if( error != KErrNone )
+                    {
+                    LOG1("Failed to append to fired triggers to the array:%d",error);
+                    }
                 iRecentlyFiredTriggerArray.Remove(i);
                 }
             }
--- a/locationtriggering/ltstrategyengine/src/lbtcoordinatesupervisor.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/ltstrategyengine/src/lbtcoordinatesupervisor.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -1213,8 +1213,11 @@
                 {
                 iNObservedValues.Remove( 0 );
                 }
-            iNObservedValues.Append( obsValue );
-            
+            TInt error = iNObservedValues.Append( obsValue );
+            if( error != KErrNone )
+                {
+                LOG1("Failed to append obsValue:%d",error);
+                }
             TReal num = 0.0;
             TReal den = 0.0;
             TReal obsSpeed = 0.0;
--- a/locationtriggering/ltstrategyengine/src/lbttriggerview.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/ltstrategyengine/src/lbttriggerview.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -102,7 +102,12 @@
                 return;
                 }
 
-            iRefRequestList.Append( req );
+            err = iRefRequestList.Append( req );
+            if( err != KErrNone )
+                {
+                LOG1("Failed to append req to the array:%d",err);
+                return;
+                }
             }
             
         LOG1( "View State is %d", iState );
@@ -130,7 +135,12 @@
     
     for( TInt index = 0; index < iModifiedTrgList.Count(); index++ )
         {
-        aList.Append( iModifiedTrgList[index] );
+        TInt error = aList.Append( iModifiedTrgList[index] );
+        if( error != KErrNone )
+            {
+            LOG1("Failed to append trigger id:%d",error);
+            return;
+            }
         }
     
     // This is done here because strategy engine invokes this method and evaluates all modified triggers
@@ -235,7 +245,11 @@
     reqParam.posInfo = aPosInfo;
     reqParam.trigger = aTrigger;
     reqParam.dataMask = aDataMask;
-    iUpdateRequestList.Append( reqParam );
+    TInt error = iUpdateRequestList.Append( reqParam );
+    if( error != KErrNone )
+        {
+        LOG1("Failed to appenf reqParam:%d",error);
+        }
     if( EIdle == iState )
         {
         iState = ERefreshContainer;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationtriggering/rom/bld.inf	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,44 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  This file provides the information required for building the 
+*		         LBT FW
+*
+*/
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS  
+DEFAULT GCCE
+
+PRJ_EXPORTS
+#ifdef CORE_MW_LAYER_IBY_EXPORT_PATH
+../rom/locationtriggering.iby                         CORE_MW_LAYER_IBY_EXPORT_PATH(locationtriggering.iby)
+../rom/locationtriggeringstub.iby                     CORE_MW_LAYER_IBY_EXPORT_PATH(locationtriggeringstub.iby)
+
+// Export SIS File
+../data/lbtstub.sis  					/epoc32/data/z/system/install/lbtstub.sis
+
+#endif
+
+#ifdef MW_LAYER_CONFML
+../conf/lbtsettings.confml							  MW_LAYER_CONFML(lbtsettings.confml)
+#endif
+
+#ifdef MW_LAYER_CRML
+../conf/lbtsettings_1028312F.crml					  MW_LAYER_CRML(lbtsettings_1028312F.crml)
+#endif
+
+PRJ_MMPFILES
+
+// End of file
--- a/locationtriggering/tsrc/lbtengine_test/Additionaltests/CreateTest/src/CreateTest.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/Additionaltests/CreateTest/src/CreateTest.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -36,7 +36,7 @@
 
 
 #include "t_triggerfireobserver.h"	 
-void createtriggerL();
+TInt createtriggerL();
 GLDEF_C	 TInt E32Main()
 	 {
 	 CTrapCleanup* cleanup=CTrapCleanup::New(); // get clean-up stack
@@ -45,12 +45,16 @@
 		   TRAP_IGNORE(CActiveScheduler* scheduler=new(ELeave) CActiveScheduler;CActiveScheduler::Install(scheduler););
 		   
 		}
-	 TRAP_IGNORE(createtriggerL());
-	 RProcess::Rendezvous(KErrNone);
-    return 0;
-  }
+	 TInt id = KLbtNullTriggerId;
+	 TRAPD( error,id = createtriggerL() );
+	 if( error == KErrNone )
+	     RProcess::Rendezvous(id);
+	 else
+	     RProcess::Rendezvous(KLbtNullTriggerId);
+     return 0;
+     }
   
-  void createtriggerL()
+  TInt createtriggerL()
   {
   	RLbtServer lbtserver;
  	 RLbt lbt;
@@ -107,32 +111,7 @@
         
     notifier->CreateTriggers( lbt,*trig,trigId,EFalse,wait );
     wait->Start( );	
-    RProperty property;
-	CleanupClosePushL(property);
-	
-	//Allow all to ready from status information
-	_LIT_SECURITY_POLICY_PASS(EReadPolicyAlwaysPass);
-	//Delete the property if already exists
-	/*
-	 User::LeaveIfError(property.Delete(
-        KPSUidTriggerIdInfo, 
-        KLbttesttriggerid 
-        ));*/
-	
-	// Read policy is always pass and write device data capability
-	// is required to write to the status information P&S key
-	property.Define(KPSUidTriggerIdInfo,
-									   KLbttesttriggerid,
-									   RProperty::EInt,
-									   EReadPolicyAlwaysPass,
-									   TSecurityPolicy(ECapabilityWriteDeviceData) );
-	
 
-	User::LeaveIfError( property.Attach(KPSUidTriggerIdInfo, 
-										KLbttesttriggerid) );
-										
-	User::LeaveIfError( property.Set(KPSUidTriggerIdInfo, 
-									 KLbttesttriggerid, 
-									 trigId));
-    CleanupStack::PopAndDestroy(5,&lbtserver);
-}
+    CleanupStack::PopAndDestroy(4,&lbtserver);
+    return trigId;
+    }
--- a/locationtriggering/tsrc/lbtengine_test/Additionaltests/src/AdditionaltestsBlocks.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/Additionaltests/src/AdditionaltestsBlocks.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -2278,8 +2278,6 @@
     wait->Start( );
     RPointerArray < CLbtTriggerInfo > trigInfoList;
     
-     User::After(5000000);
-   
     //Construct an area filter
     CLbtTriggerFilterByArea* areaFilter1 = 
         CLbtTriggerFilterByArea::NewL();
@@ -4010,21 +4008,16 @@
        _LIT( KFilename,"CreateTest.exe" );
     RProcess proc;
     TInt retVal =proc.Create(KFilename,KNullDesC);
+    TRequestStatus status = KRequestPending;
+    TInt triggerId = KLbtNullTriggerId;
     if(retVal == KErrNone)
-	{
-		proc.Resume();
-		TRequestStatus status = KRequestPending;
-		proc.Rendezvous(status);
-		User::WaitForRequest(status);
-	}
-	 User::After(5000000);	
-    TInt triggerId=0;
-    RProperty iProperty;
-    User::LeaveIfError(iProperty.Get(
-        KPSUidTriggerIdInfo, 
-        KLbttesttriggerid, 
-        triggerId));
-        
+        {
+        proc.Resume();
+        proc.Rendezvous(status);
+        User::WaitForRequest(status);
+        triggerId = status.Int();
+        }
+    
      //Construct list options
     CLbtListTriggerOptions* listOptions = CLbtListTriggerOptions::NewL();
     CleanupStack::PushL( listOptions );
@@ -4084,22 +4077,19 @@
     _LIT( KFilename,"CreateTest.exe" );
     RProcess proc;
     TInt retVal =proc.Create(KFilename,KNullDesC);
+
+    TRequestStatus status = KRequestPending;
+    TInt triggerId = KLbtNullTriggerId;
+    
     if(retVal == KErrNone)
-	{
-		proc.Resume();
-		TRequestStatus status = KRequestPending;
-		proc.Rendezvous(status);
-		User::WaitForRequest(status);
-	}
-	 User::After(5000000);	
-    TInt triggerId=0;
-    RProperty iProperty;
-    User::LeaveIfError(iProperty.Get(
-        KPSUidTriggerIdInfo, 
-        KLbttesttriggerid, 
-        triggerId));
-        
-      //Construct list options
+        {
+        proc.Resume();
+        proc.Rendezvous(status);
+        User::WaitForRequest(status);
+        triggerId = status.Int();
+        }
+    
+    //Construct list options
     CLbtListTriggerOptions* listOptions = CLbtListTriggerOptions::NewL();
     CleanupStack::PushL( listOptions );
     //Construct an area filter
--- a/locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/conf/AdvancedTriggerSupervision.cfg	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/conf/AdvancedTriggerSupervision.cfg	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,119 @@
+[Test]
+id 01
+title ATSTest1
+create AdvancedTriggerSupervision foobar
+foobar ATSTest1 
+delete foobar
+[Endtest] 
+[Test]
+id 02
+title ATSTest2
+create AdvancedTriggerSupervision foobar
+foobar ATSTest2
+delete foobar
+[Endtest] 
+[Test]
+id 03
+title ATSTest3
+create AdvancedTriggerSupervision foobar
+foobar ATSTest3 
+delete foobar
+[Endtest] 
+[Test]
+id 04
+title ATSTest4
+create AdvancedTriggerSupervision foobar
+foobar ATSTest4 
+delete foobar
+[Endtest] 
+[Test]
+id 05
+title ATSTest5
+create AdvancedTriggerSupervision foobar
+foobar ATSTest5
+delete foobar
+[Endtest] 
+[Test]
+id 06
+title ATSTest6
+create AdvancedTriggerSupervision foobar
+foobar ATSTest6 
+delete foobar
+[Endtest] 
+[Test]
+id 07
+title ATSTest7
+create AdvancedTriggerSupervision foobar
+foobar ATSTest7 
+delete foobar
+[Endtest] 
+[Test]
+id 08
+title ATSTest8
+create AdvancedTriggerSupervision foobar
+foobar ATSTest8 
+delete foobar
+[Endtest] 
+[Test]
+id 09
+title ATSTest9
+create AdvancedTriggerSupervision foobar
+foobar ATSTest9 
+delete foobar
+[Endtest] 
+[Test]
+id 10
+title ATSTest10
+create AdvancedTriggerSupervision foobar
+foobar ATSTest10 
+delete foobar
+[Endtest] 
+[Test]
+id 11
+title ATSTest11
+create AdvancedTriggerSupervision foobar
+foobar ATSTest11 
+delete foobar
+[Endtest] 
+[Test]
+id 12
+title ATSTest12
+create AdvancedTriggerSupervision foobar
+foobar ATSTest12
+delete foobar
+[Endtest] 
+[Test]
+id 13
+title ATSTest13
+create AdvancedTriggerSupervision foobar
+foobar ATSTest13
+delete foobar
+[Endtest] 
+[Test]
+id 14
+title ATSTest14
+create AdvancedTriggerSupervision foobar
+foobar ATSTest14
+delete foobar
+[Endtest] 
+[Test]
+id 15
+title ATSTest15
+create AdvancedTriggerSupervision foobar
+foobar ATSTest15
+delete foobar
+[Endtest] 
+[Test]
+id 16
+title ATSTest16
+create AdvancedTriggerSupervision foobar
+foobar ATSTest16
+delete foobar
+[Endtest] 
+[Test]
+id 17
+title ATSTest17
+create AdvancedTriggerSupervision foobar
+foobar ATSTest17 
+delete foobar
+[Endtest] 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/data/default.nme	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,7695 @@
+$GPGGA,130044,,,,,0,00,,,M,,M,,*64
+$GPGSA,A,1,,,,,,,,,,,,,17.9,17.9,*1E
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,00,10,18,210,34*76
+$GPGSV,3,2,11,15,13,334,37,18,17,328,00,19,21,034,41,21,05,299,00*75
+$GPGSV,3,3,11,26,60,277,50,28,62,143,43,29,68,248,47,,,,*4B
+$PGRME,70.2,M,,M,70.2,M*00
+$GPGLL,6126.883,N,02351.302,E,125330,A*28
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,,T,,M,,*47
+$GPWPL,6017.083,S,02453.500,E,T025*3B
+$GPRMC,125330,A,6126.884,N,02351.300,E,000.0,360.0,110805,006.0,E*7F
+$GPRMB,A,,,,,,,,,,,,V*71
+$GPGGA,125330,6126.885,N,02351.300,E,1,00,17.9,174.2,M,20.7,M,,*7E
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.9,17.9,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,00,10,18,210,33*71
+$GPGSV,3,2,11,15,13,334,37,18,17,328,00,19,21,034,40,21,05,299,00*74
+$GPGSV,3,3,11,26,60,277,50,28,62,143,43,29,68,248,47,,,,*4B
+$PGRME,70.2,M,,M,70.2,M*00
+$GPGLL,6126.887,N,02351.298,E,125330,A*2E
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,,T,,M,,*47
+$GPWPL,6018.083,N,02453.500,E,T024*28
+$GPRMC,125330,A,6126.889,N,02351.296,E,000.0,360.0,110805,006.0,E*7C
+$GPRMB,A,,,,,,,,,,,,V*71
+$GPGGA,125330,6126.889,N,02351.296,E,1,03,17.9,174.2,M,20.7,M,,*7F
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.9,17.9,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,00,10,18,210,33*71
+$GPGSV,3,2,11,15,13,334,38,18,17,328,00,19,22,036,39,21,05,299,00*74
+$GPGSV,3,3,11,26,60,277,50,28,62,143,42,29,68,248,47,,,,*4A
+$PGRME,70.2,M,,M,70.2,M*00
+$GPGLL,6126.891,N,02351.294,E,125330,A*25
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,,T,,M,,*47
+$GPWPL,6017.083,N,02452.500,W,T023*33
+$GPRMC,125330,A,6126.893,N,02351.292,E,000.0,360.0,110805,006.0,E*73
+$GPRMB,A,,,,,,,,,,,,V*71
+$GPGGA,125330,6126.894,N,02351.291,E,1,03,17.9,174.2,M,20.7,M,,*74
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.9,17.9,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,00,10,18,210,32*70
+$GPGSV,3,2,11,15,13,334,38,18,17,328,00,19,22,036,38,21,05,299,00*75
+$GPGSV,3,3,11,26,60,277,50,28,62,143,43,29,68,248,47,,,,*4B
+$PGRME,70.2,M,,M,70.2,M*00
+$GPGLL,6126.896,N,02351.289,E,125330,A*2E
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02555.500,E,T022*26
+$GPRMC,125336,A,6126.898,N,02351.287,E,014.9,334.1,110805,006.0,E*76
+$GPRMB,A,1.63,R,T013,T012,6129.236,N,02346.327,E,003.3,314.6,014.0,V*26
+$GPGGA,125336,6126.898,N,02351.286,E,1,03,17.9,174.2,M,20.7,M,,*78
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.9,17.9,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,00,10,18,210,32*70
+$GPGSV,3,2,11,15,13,334,38,18,17,328,00,19,22,036,40,21,05,299,00*7A
+$GPGSV,3,3,11,26,60,277,50,28,62,143,43,29,68,248,46,,,,*4A
+$PGRME,70.2,M,,M,70.2,M*00
+$GPGLL,6126.900,N,02351.284,E,125337,A*2A
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T021*23
+$GPRMC,125337,A,6126.903,N,02351.283,E,013.8,329.4,110805,006.0,E*7F
+$GPRMB,A,1.62,R,T013,T012,6129.236,N,02346.327,E,003.3,314.5,014.0,V*24
+$GPGGA,125337,6126.904,N,02351.282,E,1,03,17.8,174.2,M,20.7,M,,*78
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.8,17.8,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,00,10,18,210,32*70
+$GPGSV,3,2,11,15,13,334,40,18,17,328,00,19,22,036,41,21,05,299,00*74
+$GPGSV,3,3,11,26,60,277,50,28,62,143,42,29,68,248,48,,,,*45
+$PGRME,70.2,M,,M,70.2,M*00
+$GPGLL,6126.906,N,02351.280,E,125337,A*28
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6116.083,N,02452.500,E,T020*22
+$GPRMC,125338,A,6126.907,N,02351.278,E,013.8,329.4,110805,006.0,E*70
+$GPRMB,A,1.62,R,T013,T012,6129.236,N,02346.327,E,003.3,314.5,013.4,V*27
+$GPGGA,125338,6126.912,N,02351.283,E,1,03,17.8,174.2,M,20.7,M,,*71
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.8,17.8,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,00,10,18,210,31*73
+$GPGSV,3,2,11,15,13,334,40,18,17,328,00,19,22,036,43,21,05,299,00*76
+$GPGSV,3,3,11,26,60,277,49,28,62,143,42,29,68,248,48,,,,*4D
+$PGRME,70.2,M,,M,70.2,M*00
+$GPGLL,6126.914,N,02351.281,E,125339,A*24
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,S,02452.500,E,T019*34
+$GPRMC,125340,A,6126.918,N,02351.284,E,014.3,343.5,110805,006.0,E*73
+$GPRMB,A,1.61,R,T013,T012,6129.236,N,02346.327,E,003.3,314.3,012.5,V*22
+$GPGGA,125340,6126.919,N,02351.283,E,1,03,17.8,174.2,M,20.7,M,,*75
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.8,17.8,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,41,10,18,210,31*76
+$GPGSV,3,2,11,15,13,334,41,18,17,328,44,19,22,036,43,21,05,299,00*77
+$GPGSV,3,3,11,26,60,277,49,28,62,143,42,29,68,248,49,,,,*4C
+$PGRME,70.2,M,,M,70.2,M*00
+$GPGLL,6126.921,N,02351.282,E,125340,A*2F
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,N,02452.500,E,T018*28
+$GPRMC,125341,A,6126.927,N,02351.286,E,015.9,349.3,110805,006.0,E*7B
+$GPRMB,A,1.60,R,T013,T012,6129.236,N,02346.327,E,003.3,314.3,012.5,V*23
+$GPGGA,125341,6126.927,N,02351.285,E,1,03,17.8,174.2,M,20.7,M,,*7F
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.8,17.8,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,40,10,18,210,31*77
+$GPGSV,3,2,11,15,13,334,41,18,17,328,44,19,22,036,43,21,05,299,00*77
+$GPGSV,3,3,11,26,60,277,49,28,62,143,41,29,68,248,49,,,,*4F
+$PGRME,69.7,M,,M,69.7,M*00
+$GPGLL,6126.932,N,02351.288,E,125342,A*25
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6013.283,N,02456.650,E,T017*22
+$GPRMC,125342,A,6126.935,N,02351.287,E,017.9,354.2,110805,006.0,E*75
+$GPRMB,A,1.59,R,T013,T012,6129.236,N,02346.327,E,003.3,314.1,013.7,V*28
+$GPGGA,125343,6126.937,N,02351.288,E,1,03,17.8,174.2,M,20.7,M,,*71
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.8,17.8,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,39,10,18,210,32*7A
+$GPGSV,3,2,11,15,13,334,42,18,17,328,44,19,22,036,43,21,06,300,00*76
+$GPGSV,3,3,11,26,60,277,49,28,62,143,42,29,68,248,49,,,,*4C
+$PGRME,69.7,M,,M,69.7,M*00
+$GPGLL,6126.940,N,02351.287,E,125343,A*2E
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T016*21
+$GPRMC,125344,A,6126.943,N,02351.287,E,018.5,353.9,110805,006.0,E*7D
+$GPRMB,A,1.58,R,T013,T012,6129.236,N,02346.327,E,003.3,314.0,014.2,V*2A
+$GPGGA,125344,6126.944,N,02351.287,E,1,03,17.8,174.2,M,20.7,M,,*7D
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.8,17.8,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,40,10,18,210,34*72
+$GPGSV,3,2,11,15,13,334,41,18,17,328,43,19,22,036,43,21,06,300,00*72
+$GPGSV,3,3,11,26,60,277,49,28,62,143,41,29,68,248,49,,,,*4F
+$PGRME,69.7,M,,M,69.7,M*00
+$GPGLL,6126.947,N,02351.287,E,125345,A*2F
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0000.000,N,00000.000,W,T015*39
+$GPRMC,125345,A,6126.950,N,02351.286,E,018.6,354.1,110805,006.0,E*73
+$GPRMB,A,1.58,R,T013,T012,6129.236,N,02346.327,E,003.3,313.9,014.2,V*24
+$GPGGA,125345,6126.951,N,02351.286,E,1,03,17.7,174.2,M,20.7,M,,*76
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.7,17.7,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,39,10,18,210,35*7D
+$GPGSV,3,2,11,15,13,334,42,18,17,328,42,19,22,036,43,21,06,300,00*70
+$GPGSV,3,3,11,26,60,277,49,28,62,143,41,29,68,248,49,,,,*4F
+$PGRME,69.7,M,,M,69.7,M*00
+$GPGLL,6126.955,N,02351.286,E,125346,A*2E
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0009.000,N,02430.650,E,T014*25
+$GPRMC,125346,A,6126.957,N,02351.285,E,018.7,354.1,110805,006.0,E*75
+$GPRMB,A,1.57,R,T013,T012,6129.236,N,02346.327,E,003.3,313.8,014.3,V*2B
+$GPGGA,125347,6126.958,N,02351.285,E,1,03,17.7,174.2,M,20.7,M,,*7E
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.7,17.7,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,39,10,18,210,37*7F
+$GPGSV,3,2,11,15,13,334,41,18,17,328,42,19,22,036,43,21,06,300,00*73
+$GPGSV,3,3,11,26,60,277,49,28,62,143,39,29,68,248,49,,,,*40
+$PGRME,69.7,M,,M,69.7,M*00
+$GPGLL,6126.962,N,02351.285,E,125347,A*28
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.285,N,02430.651,E,T013*23
+$GPRMC,125348,A,6126.965,N,02351.284,E,018.8,354.2,110805,006.0,E*77
+$GPRMB,A,1.56,R,T013,T012,6129.236,N,02346.327,E,003.3,313.7,014.3,V*25
+$GPGGA,125348,6126.966,N,02351.284,E,1,03,17.7,174.2,M,20.7,M,,*7D
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.7,17.7,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,39,10,18,210,37*7F
+$GPGSV,3,2,11,15,13,334,41,18,17,328,42,19,22,036,43,21,06,300,00*73
+$GPGSV,3,3,11,26,60,277,49,28,62,143,39,29,68,248,49,,,,*40
+$PGRME,69.7,M,,M,69.7,M*00
+$GPGLL,6126.969,N,02351.284,E,125349,A*2C
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.236,N,02346.327,E,T012*22
+$GPRMC,125349,A,6126.972,N,02351.282,E,019.0,354.5,110805,006.0,E*78
+$GPRMB,A,1.56,R,T013,T012,6129.236,N,02346.327,E,003.3,313.7,014.4,V*22
+$GPGGA,125349,6126.973,N,02351.282,E,1,03,17.7,174.2,M,20.7,M,,*7E
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.7,17.7,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,40,10,18,210,37*71
+$GPGSV,3,2,11,15,13,334,42,18,17,328,42,19,22,036,44,21,06,300,00*77
+$GPGSV,3,3,11,26,60,277,49,28,62,143,39,29,68,248,49,,,,*40
+$PGRME,69.7,M,,M,69.7,M*00
+$GPGLL,6126.976,N,02351.282,E,125350,A*2C
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6114.236,N,02346.327,E,T011*2F
+$GPRMC,125350,A,6126.979,N,02351.281,E,019.1,354.5,110805,006.0,E*79
+$GPRMB,A,1.55,R,T013,T012,6129.236,N,02346.327,E,003.3,313.6,014.4,V*20
+$GPGGA,125351,6126.980,N,02351.281,E,1,03,17.7,174.2,M,20.7,M,,*78
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.7,17.7,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,42,10,18,210,37*73
+$GPGSV,3,2,11,15,13,334,43,18,17,328,42,19,22,036,44,21,06,300,00*76
+$GPGSV,3,3,11,26,60,277,49,28,62,143,38,29,68,248,48,,,,*40
+$PGRME,69.7,M,,M,69.7,M*00
+$GPGLL,6126.984,N,02351.280,E,125351,A*22
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6220.236,N,02346.327,E,T010*2A
+$GPRMC,125352,A,6126.987,N,02351.280,E,019.1,354.5,110805,006.0,E*7B
+$GPRMB,A,1.54,R,T013,T012,6129.236,N,02346.327,E,003.3,313.5,014.5,V*23
+$GPGGA,125352,6126.988,N,02351.279,E,1,03,17.7,174.2,M,20.7,M,,*74
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.7,17.7,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,42,10,18,210,37*73
+$GPGSV,3,2,11,15,13,334,43,18,17,328,42,19,22,036,43,21,06,300,00*71
+$GPGSV,3,3,11,26,60,277,49,28,62,143,37,29,68,248,48,,,,*4F
+$PGRME,69.1,M,,M,69.1,M*00
+$GPGLL,6126.991,N,02351.279,E,125352,A*23
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6120.236,N,02346.327,E,T009*21
+$GPRMC,125353,A,6126.994,N,02351.279,E,019.3,354.6,110805,006.0,E*7F
+$GPRMB,A,1.54,R,T013,T012,6129.236,N,02346.327,E,003.3,313.4,014.5,V*22
+$GPGGA,125353,6126.995,N,02351.279,E,1,03,17.6,174.2,M,20.7,M,,*78
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.6,17.6,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,43,10,18,210,37*72
+$GPGSV,3,2,11,15,13,334,43,18,17,328,42,19,22,036,42,21,06,300,00*70
+$GPGSV,3,3,11,26,60,277,48,28,62,143,36,29,68,248,48,,,,*4F
+$PGRME,69.1,M,,M,69.1,M*00
+$GPGLL,6126.998,N,02351.278,E,125354,A*2D
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.234,N,02346.317,E,T008*28
+$GPRMC,125354,A,6127.001,N,02351.278,E,019.3,354.6,110805,006.0,E*7D
+$GPRMB,A,1.53,R,T013,T012,6129.236,N,02346.327,E,003.3,313.3,014.5,V*22
+$GPGGA,125354,6127.002,N,02351.277,E,1,03,17.6,174.2,M,20.7,M,,*77
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.6,17.6,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,44,10,18,210,35*77
+$GPGSV,3,2,11,15,13,334,44,18,17,328,43,19,22,036,40,21,06,300,00*74
+$GPGSV,3,3,11,26,60,277,49,28,62,143,36,29,68,248,48,,,,*4E
+$PGRME,68.9,M,,M,68.9,M*00
+$GPGLL,6127.006,N,02351.277,E,125355,A*2C
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6157.564,N,02406.158,E,T007*26
+$GPRMC,125356,A,6127.009,N,02351.277,E,019.3,354.5,110805,006.0,E*7B
+$GPRMB,A,1.52,R,T013,T012,6129.236,N,02346.327,E,003.3,313.2,014.5,V*22
+$GPGGA,125356,6127.010,N,02351.277,E,1,03,17.6,174.2,M,20.7,M,,*76
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.6,17.6,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,45,10,18,210,34*77
+$GPGSV,3,2,11,15,13,334,43,18,17,328,43,19,22,036,39,21,06,300,00*7D
+$GPGSV,3,3,11,26,60,277,49,28,62,143,38,29,68,248,49,,,,*41
+$PGRME,68.9,M,,M,68.9,M*00
+$GPGLL,6127.014,N,02351.276,E,125356,A*2D
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6145.919,N,02345.544,E,T006*2B
+$GPRMC,125357,A,6127.017,N,02351.276,E,019.7,354.4,110805,006.0,E*71
+$GPRMB,A,1.51,R,T013,T012,6129.236,N,02346.327,E,003.3,313.1,014.8,V*2F
+$GPGGA,125357,6127.018,N,02351.276,E,1,03,17.6,174.2,M,20.7,M,,*7E
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.6,17.6,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,45,10,18,210,34*77
+$GPGSV,3,2,11,15,13,334,44,18,17,328,44,19,22,036,38,21,06,300,00*7C
+$GPGSV,3,3,11,26,60,277,49,28,62,143,40,29,68,248,49,,,,*4E
+$PGRME,68.9,M,,M,68.9,M*00
+$GPGLL,6127.023,N,02351.275,E,125358,A*24
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6130.198,N,02342.702,E,T005*2C
+$GPRMC,125358,A,6127.025,N,02351.274,E,019.8,353.9,110805,006.0,E*78
+$GPRMB,A,1.51,R,T013,T012,6129.236,N,02346.327,E,003.2,313.0,015.0,V*26
+$GPGGA,125358,6127.026,N,02351.274,E,1,03,17.6,174.2,M,20.7,M,,*7E
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.6,17.6,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,43,10,18,210,35*70
+$GPGSV,3,2,11,15,13,334,42,18,17,328,43,19,22,036,37,21,06,300,35*74
+$GPGSV,3,3,11,26,60,277,49,28,62,143,40,29,68,248,49,,,,*4E
+$PGRME,68.9,M,,M,68.9,M*00
+$GPGLL,6127.030,N,02351.273,E,125359,A*21
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6216.183,N,02619.685,E,T004*25
+$GPRMC,125359,A,6127.033,N,02351.272,E,019.9,353.2,110805,006.0,E*72
+$GPRMB,A,1.50,R,T013,T012,6129.236,N,02346.327,E,003.2,312.9,015.2,V*2D
+$GPGGA,125359,6127.034,N,02351.272,E,1,03,17.6,174.2,M,20.7,M,,*7A
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.6,17.6,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,42,10,18,210,37*73
+$GPGSV,3,2,11,15,13,334,41,18,17,328,42,19,22,036,36,21,06,300,35*77
+$GPGSV,3,3,11,26,60,277,49,28,62,143,40,29,68,248,49,,,,*4E
+$PGRME,68.9,M,,M,68.9,M*00
+$GPGLL,6127.038,N,02351.271,E,125400,A*20
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6215.064,N,02603.837,E,T003*25
+$GPRMC,125401,A,6127.041,N,02351.270,E,020.1,352.7,110805,006.0,E*79
+$GPRMB,A,1.49,R,T013,T012,6129.236,N,02346.327,E,003.2,312.8,015.4,V*22
+$GPGGA,125401,6127.043,N,02351.269,E,1,03,17.5,174.2,M,20.7,M,,*79
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.5,17.5,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,42,10,18,210,36*72
+$GPGSV,3,2,11,15,13,334,40,18,17,328,42,19,22,036,36,21,06,300,34*77
+$GPGSV,3,3,11,26,60,277,49,28,62,143,40,29,68,248,49,,,,*4E
+$PGRME,68.9,M,,M,68.9,M*00
+$GPGLL,6127.046,N,02351.268,E,125402,A*23
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6151.098,N,02510.924,E,T002*26
+$GPRMC,125402,A,6127.049,N,02351.267,E,020.2,352.2,110805,006.0,E*72
+$GPRMB,A,1.48,R,T013,T012,6129.236,N,02346.327,E,003.2,312.8,015.6,V*21
+$GPGGA,125402,6127.050,N,02351.267,E,1,03,17.5,174.2,M,20.7,M,,*76
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.5,17.5,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,40,10,18,210,38*7E
+$GPGSV,3,2,11,15,13,334,40,18,17,328,42,19,22,036,39,21,06,300,34*78
+$GPGSV,3,3,11,26,58,279,49,28,62,143,41,29,68,248,49,,,,*4A
+$PGRME,68.5,M,,M,68.5,M*00
+$GPGLL,6127.054,N,02351.265,E,125403,A*2C
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.271,N,02346.376,E,T001*27
+$GPRMC,125404,A,6127.057,N,02351.265,E,020.3,351.6,110805,006.0,E*7F
+$GPRMB,A,1.48,R,T013,T012,6129.236,N,02346.327,E,003.2,312.7,015.8,V*20
+$GPGGA,125404,6127.058,N,02351.263,E,1,03,17.5,174.2,M,20.7,M,,*7C
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.5,17.5,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,39,10,18,210,39*71
+$GPGSV,3,2,11,15,13,334,40,18,17,328,41,19,22,036,40,21,06,300,33*72
+$GPGSV,3,3,11,26,58,279,50,28,62,143,41,29,68,248,49,,,,*42
+$PGRME,68.5,M,,M,68.5,M*00
+$GPGLL,6127.062,N,02351.262,E,125404,A*29
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPRTE,4,1,c,0,T030,T029,T028,T027,T026,T025,T024,T023,T022*49
+$GPRTE,4,2,c,0,T021,T020,T019,T018,T017,T016,T015,T014,T013*4B
+$GPRTE,4,3,c,0,T012,T011,T010,T009,T008,T007,T006,T005,T004*4B
+$GPRTE,4,4,c,0,T003,T002,T001*4F
+$GPWPL,6016.083,N,02452.500,E,T030*22
+$GPRMC,125405,A,6127.067,N,02351.259,E,020.5,350.6,110805,006.0,E*75
+$GPRMB,A,1.47,R,T013,T012,6129.236,N,02346.327,E,003.2,312.6,016.1,V*24
+$GPGGA,125405,6127.068,N,02351.259,E,1,03,17.5,174.2,M,20.7,M,,*77
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.5,17.5,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,37,10,18,210,40*71
+$GPGSV,3,2,11,15,13,334,38,18,17,328,41,19,22,036,39,21,06,300,34*74
+$GPGSV,3,3,11,26,58,279,50,28,62,143,42,29,68,248,49,,,,*41
+$PGRME,68.5,M,,M,68.5,M*00
+$GPGLL,6127.072,N,02351.257,E,125406,A*2C
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T029*2D
+$GPRMC,125407,A,6127.075,N,02351.256,E,020.5,350.0,110805,006.0,E*7D
+$GPRMB,A,1.46,R,T013,T012,6129.236,N,02346.327,E,003.2,312.5,016.3,V*24
+$GPGGA,125407,6127.076,N,02351.255,E,1,03,17.5,174.2,M,20.7,M,,*76
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.5,17.5,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,36,10,18,210,40*70
+$GPGSV,3,2,11,15,13,334,38,18,17,328,41,19,22,036,38,21,06,300,35*74
+$GPGSV,3,3,11,26,58,279,50,28,62,143,41,29,68,248,49,,,,*42
+$PGRME,68.5,M,,M,68.5,M*00
+$GPGLL,6127.080,N,02351.253,E,125407,A*24
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6023.283,N,02430.650,E,T028*2D
+$GPRMC,125408,A,6127.084,N,02351.250,E,020.7,349.1,110805,006.0,E*71
+$GPRMB,A,1.45,R,T013,T012,6129.236,N,02346.327,E,003.2,312.4,016.6,V*23
+$GPGGA,125408,6127.085,N,02351.250,E,1,03,17.4,174.2,M,20.7,M,,*71
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.4,17.4,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,36,10,18,210,40*70
+$GPGSV,3,2,11,15,13,334,38,18,17,328,40,19,22,036,37,21,06,300,34*7B
+$GPGSV,3,3,11,26,58,279,50,28,62,143,40,29,68,248,49,,,,*43
+$PGRME,68.5,M,,M,68.5,M*00
+$GPGLL,6127.088,N,02351.248,E,125409,A*28
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T027*23
+$GPRMC,125409,A,6127.092,N,02351.246,E,020.8,348.7,110805,006.0,E*78
+$GPRMB,A,1.45,R,T013,T012,6129.236,N,02346.327,E,003.2,312.3,016.6,V*24
+$GPGGA,125409,6127.093,N,02351.245,E,1,03,17.4,174.2,M,20.7,M,,*73
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.4,17.4,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,35,10,18,210,40*73
+$GPGSV,3,2,11,15,13,334,38,18,17,328,40,19,22,036,37,21,06,300,34*7B
+$GPGSV,3,3,11,26,58,279,50,28,62,143,40,29,68,248,49,,,,*43
+$PGRME,68.5,M,,M,68.5,M*00
+$GPGLL,6127.097,N,02351.242,E,125410,A*24
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T026*24
+$GPRMC,125410,A,6127.100,N,02351.241,E,020.9,348.6,110805,006.0,E*7D
+$GPRMB,A,1.44,R,T013,T012,6129.236,N,02346.327,E,003.2,312.2,016.8,V*2A
+$GPGGA,125411,6127.102,N,02351.239,E,1,03,17.4,174.2,M,20.7,M,,*78
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.4,17.4,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,34,10,18,210,40*72
+$GPGSV,3,2,11,15,13,334,37,18,17,328,40,19,22,036,35,21,06,300,00*71
+$GPGSV,3,3,11,26,58,279,50,28,60,147,40,29,68,248,49,,,,*45
+$PGRME,68.5,M,,M,68.5,M*00
+$GPGLL,6127.105,N,02351.238,E,125411,A*22
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,S,02453.500,E,T025*3B
+$GPRMC,125412,A,6127.108,N,02351.236,E,021.0,348.2,110805,006.0,E*7B
+$GPRMB,A,1.43,R,T013,T012,6129.236,N,02346.327,E,003.2,312.2,017.0,V*24
+$GPGGA,125412,6127.110,N,02351.234,E,1,03,17.4,174.2,M,20.7,M,,*75
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.4,17.4,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,33,10,18,210,41*74
+$GPGSV,3,2,11,15,13,334,39,18,17,328,40,19,22,036,34,21,06,300,00*7E
+$GPGSV,3,3,11,26,58,279,50,28,60,147,40,29,68,248,49,,,,*45
+$PGRME,68.5,M,,M,68.5,M*00
+$GPGLL,6127.113,N,02351.233,E,125413,A*2C
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6018.083,N,02453.500,E,T024*28
+$GPRMC,125413,A,6127.116,N,02351.229,E,021.2,347.5,110805,006.0,E*71
+$GPRMB,A,1.42,R,T013,T012,6129.236,N,02346.327,E,003.2,312.1,017.3,V*25
+$GPGGA,125413,6127.118,N,02351.228,E,1,03,17.4,174.2,M,20.7,M,,*71
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.4,17.4,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,34,10,18,210,40*72
+$GPGSV,3,2,11,15,13,334,40,18,17,328,40,19,22,036,38,21,06,300,00*7C
+$GPGSV,3,3,11,26,58,279,50,28,60,147,40,29,68,248,49,,,,*45
+$PGRME,68.0,M,,M,68.0,M*00
+$GPGLL,6127.121,N,02351.225,E,125414,A*2D
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,W,T023*33
+$GPRMC,125414,A,6127.124,N,02351.223,E,021.3,347.2,110805,006.0,E*7B
+$GPRMB,A,1.42,R,T013,T012,6129.236,N,02346.327,E,003.2,312.0,017.4,V*23
+$GPGGA,125415,6127.125,N,02351.223,E,1,03,17.4,174.2,M,20.7,M,,*72
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.3,17.3,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,35,10,18,210,40*73
+$GPGSV,3,2,11,15,13,334,41,18,17,328,41,19,22,036,37,21,06,300,00*73
+$GPGSV,3,3,11,26,58,279,49,28,60,147,41,29,68,254,48,,,,*40
+$PGRME,68.0,M,,M,68.0,M*00
+$GPGLL,6127.129,N,02351.219,E,125415,A*2B
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02555.500,E,T022*26
+$GPRMC,125416,A,6127.134,N,02351.215,E,021.4,346.4,110805,006.0,E*7D
+$GPRMB,A,1.41,R,T013,T012,6129.236,N,02346.327,E,003.2,311.9,017.5,V*2B
+$GPGGA,125416,6127.135,N,02351.215,E,1,03,17.3,174.2,M,20.7,M,,*72
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.3,17.3,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,34,10,18,210,39*7C
+$GPGSV,3,2,11,15,13,334,41,18,17,328,40,19,22,036,36,21,06,300,00*73
+$GPGSV,3,3,11,26,58,279,49,28,60,147,40,29,68,254,48,,,,*41
+$PGRME,68.0,M,,M,68.0,M*00
+$GPGLL,6127.138,N,02351.213,E,125417,A*23
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T021*23
+$GPRMC,125417,A,6127.142,N,02351.210,E,021.5,346.2,110805,006.0,E*7F
+$GPRMB,A,1.40,R,T013,T012,6129.236,N,02346.327,E,003.1,311.9,017.8,V*24
+$GPGGA,125417,6127.143,N,02351.209,E,1,03,17.3,174.2,M,20.7,M,,*7F
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.3,17.3,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,33,10,18,210,38*7A
+$GPGSV,3,2,11,15,13,334,41,18,17,328,40,19,22,037,36,21,06,300,00*72
+$GPGSV,3,3,11,26,58,279,49,28,60,147,39,29,68,254,48,,,,*4F
+$PGRME,68.0,M,,M,68.0,M*00
+$GPGLL,6127.146,N,02351.207,E,125418,A*20
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6116.083,N,02452.500,E,T020*22
+$GPRMC,125418,A,6127.150,N,02351.203,E,021.5,345.7,110805,006.0,E*77
+$GPRMB,A,1.39,R,T013,T012,6129.236,N,02346.327,E,003.1,311.8,017.9,V*2A
+$GPGGA,125419,6127.151,N,02351.203,E,1,03,17.3,174.2,M,20.7,M,,*78
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.3,17.3,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,33,10,18,210,37*75
+$GPGSV,3,2,11,15,13,334,41,18,17,328,41,19,22,037,36,21,06,300,00*73
+$GPGSV,3,3,11,26,58,279,50,28,60,147,39,29,68,254,48,,,,*47
+$PGRME,68.0,M,,M,68.0,M*00
+$GPGLL,6127.155,N,02351.199,E,125419,A*27
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,S,02452.500,E,T019*34
+$GPRMC,125420,A,6127.158,N,02351.197,E,021.6,345.3,110805,006.0,E*7D
+$GPRMB,A,1.39,R,T013,T012,6129.236,N,02346.327,E,003.1,311.7,018.0,V*23
+$GPGGA,125420,6127.159,N,02351.194,E,1,03,17.3,174.2,M,20.7,M,,*77
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.3,17.3,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,34,10,18,210,36*73
+$GPGSV,3,2,11,15,13,334,41,18,17,328,41,19,22,037,35,21,06,300,00*70
+$GPGSV,3,3,11,26,58,279,50,28,60,147,39,29,68,254,48,,,,*47
+$PGRME,68.0,M,,M,68.0,M*00
+$GPGLL,6127.163,N,02351.192,E,125420,A*23
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,N,02452.500,E,T018*28
+$GPRMC,125421,A,6127.166,N,02351.188,E,021.8,344.6,110805,006.0,E*75
+$GPRMB,A,1.38,R,T013,T012,6129.236,N,02346.327,E,003.1,311.7,018.3,V*21
+$GPGGA,125421,6127.167,N,02351.188,E,1,03,17.3,174.2,M,20.7,M,,*76
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.3,17.3,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,34,10,18,210,36*73
+$GPGSV,3,2,11,15,13,334,40,18,17,328,42,19,22,037,35,21,06,300,00*72
+$GPGSV,3,3,11,26,58,279,50,28,60,147,39,29,68,254,48,,,,*47
+$PGRME,68.0,M,,M,68.0,M*00
+$GPGLL,6127.171,N,02351.186,E,125422,A*27
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6013.283,N,02456.650,E,T017*22
+$GPRMC,125422,A,6127.174,N,02351.182,E,021.8,344.0,110805,006.0,E*79
+$GPRMB,A,1.37,R,T013,T012,6129.236,N,02346.327,E,003.1,311.6,018.4,V*28
+$GPGGA,125422,6127.175,N,02351.181,E,1,03,17.3,174.2,M,20.7,M,,*7F
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.3,17.3,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,33,10,18,210,35*77
+$GPGSV,3,2,11,15,13,334,38,18,17,328,42,19,22,037,34,21,06,300,00*7C
+$GPGSV,3,3,11,26,58,279,51,28,60,147,38,29,68,254,49,,,,*46
+$PGRME,68.0,M,,M,68.0,M*00
+$GPGLL,6127.179,N,02351.176,E,125423,A*21
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T016*21
+$GPRMC,125424,A,6127.182,N,02351.174,E,021.9,343.6,110805,006.0,E*7F
+$GPRMB,A,1.37,R,T013,T012,6129.236,N,02346.327,E,003.1,311.5,018.6,V*29
+$GPGGA,125424,6127.184,N,02351.171,E,1,03,17.2,174.2,M,20.7,M,,*79
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.2,17.2,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,36,10,18,210,34*73
+$GPGSV,3,2,11,15,13,334,38,18,17,328,41,19,22,037,34,21,06,300,00*7F
+$GPGSV,3,3,11,26,58,279,51,28,60,147,38,29,68,254,49,,,,*46
+$PGRME,68.0,M,,M,68.0,M*00
+$GPGLL,6127.187,N,02351.169,E,125424,A*29
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0000.000,N,00000.000,W,T015*39
+$GPRMC,125425,A,6127.190,N,02351.167,E,021.9,342.9,110805,006.0,E*71
+$GPRMB,A,1.36,R,T013,T012,6129.236,N,02346.327,E,003.1,311.4,018.7,V*28
+$GPGGA,125425,6127.191,N,02351.166,E,1,03,17.2,174.2,M,20.7,M,,*7A
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.2,17.2,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,38,10,18,210,34*7D
+$GPGSV,3,2,11,15,13,334,37,18,17,328,41,19,22,037,36,21,06,300,00*72
+$GPGSV,3,3,11,26,58,279,51,28,60,147,39,29,68,254,49,,,,*47
+$PGRME,67.4,M,,M,67.4,M*00
+$GPGLL,6127.195,N,02351.161,E,125426,A*20
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0009.000,N,02430.650,E,T014*25
+$GPRMC,125426,A,6127.198,N,02351.156,E,021.9,341.9,110805,006.0,E*7B
+$GPRMB,A,1.35,R,T013,T012,6129.236,N,02346.327,E,003.1,311.4,018.9,V*25
+$GPGGA,125426,6127.199,N,02351.156,E,1,03,17.2,174.2,M,20.7,M,,*72
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.2,17.2,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,40,10,18,210,34*72
+$GPGSV,3,2,11,15,13,334,36,18,17,328,41,19,22,037,35,21,06,300,00*70
+$GPGSV,3,3,11,26,58,279,51,28,60,147,39,29,68,254,50,,,,*4F
+$PGRME,67.4,M,,M,67.4,M*00
+$GPGLL,6127.203,N,02351.153,E,125427,A*2C
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.285,N,02430.651,E,T013*23
+$GPRMC,125427,A,6127.206,N,02351.148,E,021.9,341.4,110805,006.0,E*7C
+$GPRMB,A,1.35,R,T013,T012,6129.236,N,02346.327,E,003.1,311.3,018.9,V*22
+$GPGGA,125428,6127.207,N,02351.147,E,1,03,17.2,174.2,M,20.7,M,,*78
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.2,17.2,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,42,10,18,210,35*71
+$GPGSV,3,2,11,15,13,334,35,18,17,328,41,19,22,037,37,21,06,300,00*71
+$GPGSV,3,3,11,26,58,279,51,28,60,147,42,29,68,254,50,,,,*43
+$PGRME,67.4,M,,M,67.4,M*00
+$GPGLL,6127.211,N,02351.142,E,125428,A*20
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.236,N,02346.327,E,T012*22
+$GPRMC,125429,A,6127.214,N,02351.140,E,021.8,341.0,110805,006.0,E*7C
+$GPRMB,A,1.34,R,T013,T012,6129.236,N,02346.327,E,003.1,311.3,019.0,V*2B
+$GPGGA,125429,6127.215,N,02351.136,E,1,03,17.2,174.2,M,20.7,M,,*7C
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.2,17.2,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,42,10,18,210,35*71
+$GPGSV,3,2,11,15,13,334,35,18,17,328,41,19,22,037,36,21,06,300,00*70
+$GPGSV,3,3,11,26,58,279,51,28,60,147,42,29,68,254,49,,,,*4B
+$PGRME,67.4,M,,M,67.4,M*00
+$GPGLL,6127.218,N,02351.134,E,125429,A*29
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6114.236,N,02346.327,E,T011*2F
+$GPRMC,125429,A,6127.221,N,02351.132,E,021.7,340.6,110805,006.0,E*77
+$GPRMB,A,1.34,R,T013,T012,6129.236,N,02346.327,E,003.1,311.2,019.0,V*2A
+$GPGGA,125430,6127.222,N,02351.128,E,1,03,17.2,174.2,M,20.7,M,,*7F
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.2,17.2,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,43,10,18,210,34*71
+$GPGSV,3,2,11,15,13,334,34,18,17,328,41,19,22,037,35,21,06,300,00*72
+$GPGSV,3,3,11,26,58,279,51,28,60,147,42,29,68,254,49,,,,*4B
+$PGRME,67.4,M,,M,67.4,M*00
+$GPGLL,6127.226,N,02351.125,E,125430,A*2C
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6220.236,N,02346.327,E,T010*2A
+$GPRMC,125431,A,6127.229,N,02351.120,E,021.7,339.9,110805,006.0,E*74
+$GPRMB,A,1.33,R,T013,T012,6129.236,N,02346.327,E,003.1,311.2,019.0,V*2D
+$GPGGA,125431,6127.230,N,02351.119,E,1,03,17.1,174.2,M,20.7,M,,*7C
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.1,17.1,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,43,10,18,210,33*76
+$GPGSV,3,2,11,15,13,334,34,18,17,328,42,19,22,037,38,21,06,300,00*7C
+$GPGSV,3,3,11,26,58,279,51,28,60,147,43,29,68,254,49,,,,*4A
+$PGRME,67.4,M,,M,67.4,M*00
+$GPGLL,6127.233,N,02351.114,E,125432,A*28
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6120.236,N,02346.327,E,T009*21
+$GPRMC,125433,A,6127.236,N,02351.111,E,021.6,339.5,110805,006.0,E*77
+$GPRMB,A,1.32,R,T013,T012,6129.236,N,02346.327,E,003.0,311.1,019.0,V*2E
+$GPGGA,125433,6127.237,N,02351.111,E,1,03,17.1,174.2,M,20.7,M,,*71
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.1,17.1,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,43,10,18,210,33*76
+$GPGSV,3,2,11,15,13,334,33,18,17,328,42,19,22,037,37,21,06,300,00*74
+$GPGSV,3,3,11,26,58,279,51,28,60,147,43,29,68,254,49,,,,*4A
+$PGRME,67.4,M,,M,67.4,M*00
+$GPGLL,6127.240,N,02351.105,E,125433,A*2D
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.234,N,02346.317,E,T008*28
+$GPRMC,125434,A,6127.243,N,02351.100,E,021.6,338.9,110805,006.0,E*7F
+$GPRMB,A,1.32,R,T013,T012,6129.236,N,02346.327,E,003.0,311.1,019.1,V*2F
+$GPGGA,125434,6127.244,N,02351.099,E,1,03,17.1,174.2,M,20.7,M,,*73
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.1,17.1,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,43,10,18,210,33*76
+$GPGSV,3,2,11,15,13,334,33,18,17,328,41,19,22,037,37,21,06,300,00*77
+$GPGSV,3,3,11,26,58,279,52,28,60,147,43,29,68,254,49,,,,*49
+$PGRME,67.4,M,,M,67.4,M*00
+$GPGLL,6127.248,N,02351.093,E,125435,A*2D
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6157.564,N,02406.158,E,T007*26
+$GPRMC,125435,A,6127.250,N,02351.091,E,021.5,338.5,110805,006.0,E*7A
+$GPRMB,A,1.31,R,T013,T012,6129.236,N,02346.327,E,003.0,311.0,019.1,V*2D
+$GPGGA,125435,6127.251,N,02351.090,E,1,03,17.1,174.2,M,20.7,M,,*7F
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.1,17.1,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,43,10,18,210,32*77
+$GPGSV,3,2,11,15,13,334,32,18,17,328,41,19,22,037,38,21,06,300,00*79
+$GPGSV,3,3,11,26,58,279,52,28,60,147,43,29,68,254,49,,,,*49
+$PGRME,66.9,M,,M,66.9,M*00
+$GPGLL,6127.255,N,02351.084,E,125436,A*24
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6145.919,N,02345.544,E,T006*2B
+$GPRMC,125436,A,6127.257,N,02351.082,E,021.5,338.1,110805,006.0,E*78
+$GPRMB,A,1.31,R,T013,T012,6129.236,N,02346.327,E,003.0,311.0,019.1,V*2D
+$GPGGA,125437,6127.259,N,02351.081,E,1,03,17.1,174.2,M,20.7,M,,*75
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.1,17.1,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,43,10,18,210,32*77
+$GPGSV,3,2,11,15,13,334,32,18,17,328,41,19,22,037,37,21,06,300,00*76
+$GPGSV,3,3,11,26,58,279,52,28,60,147,43,29,68,254,49,,,,*49
+$PGRME,66.9,M,,M,66.9,M*00
+$GPGLL,6127.262,N,02351.075,E,125437,A*2F
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6130.198,N,02342.702,E,T005*2C
+$GPRMC,125438,A,6127.264,N,02351.073,E,021.4,337.7,110805,006.0,E*70
+$GPRMB,A,1.30,R,T013,T012,6129.236,N,02346.327,E,003.0,311.0,019.1,V*2C
+$GPGGA,125438,6127.266,N,02351.069,E,1,03,17.1,174.2,M,20.7,M,,*70
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.1,17.1,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,55,094,43,10,18,210,32*71
+$GPGSV,3,2,11,15,13,334,32,18,17,328,42,19,22,037,38,21,06,300,00*7A
+$GPGSV,3,3,11,26,58,279,51,28,60,147,43,29,68,254,49,,,,*4A
+$PGRME,66.9,M,,M,66.9,M*00
+$GPGLL,6127.269,N,02351.063,E,125439,A*2D
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6216.183,N,02619.685,E,T004*25
+$GPRMC,125439,A,6127.271,N,02351.061,E,021.4,337.1,110805,006.0,E*70
+$GPRMB,A,1.30,R,T013,T012,6129.236,N,02346.327,E,003.0,310.9,019.2,V*27
+$GPGGA,125439,6127.272,N,02351.060,E,1,03,17.0,174.2,M,20.7,M,,*7C
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.0,17.0,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,55,094,43,10,18,210,31*72
+$GPGSV,3,2,11,15,13,334,32,18,17,328,42,19,22,037,39,21,06,300,00*7B
+$GPGSV,3,3,11,26,58,279,51,28,60,147,43,29,68,254,49,,,,*4A
+$PGRME,66.9,M,,M,66.9,M*00
+$GPGLL,6127.276,N,02351.054,E,125440,A*29
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6215.064,N,02603.837,E,T003*25
+$GPRMC,125440,A,6127.278,N,02351.052,E,021.4,336.8,110805,006.0,E*7F
+$GPRMB,A,1.29,R,T013,T012,6129.236,N,02346.327,E,003.0,310.9,019.3,V*2E
+$GPGGA,125441,6127.279,N,02351.048,E,1,03,17.0,174.2,M,20.7,M,,*72
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.0,17.0,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,55,094,43,10,18,210,35*76
+$GPGSV,3,2,11,15,13,334,30,18,17,328,42,19,22,037,40,21,06,300,00*77
+$GPGSV,3,3,11,26,58,279,52,28,60,147,43,29,68,254,49,,,,*49
+$PGRME,66.9,M,,M,66.9,M*00
+$GPGLL,6127.282,N,02351.045,E,125441,A*23
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6151.098,N,02510.924,E,T002*26
+$GPRMC,125442,A,6127.285,N,02351.040,E,021.4,336.2,110805,006.0,E*76
+$GPRMB,A,1.28,R,T013,T012,6129.236,N,02346.327,E,003.0,310.8,019.3,V*2E
+$GPGGA,125442,6127.286,N,02351.039,E,1,03,17.0,174.2,M,20.7,M,,*77
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.0,17.0,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,55,094,43,10,18,210,37*74
+$GPGSV,3,2,11,15,13,334,30,18,17,328,43,19,22,037,39,21,06,300,00*78
+$GPGSV,3,3,11,26,58,279,51,28,60,147,43,29,68,254,48,,,,*4B
+$PGRME,66.9,M,,M,66.9,M*00
+$GPGLL,6127.289,N,02351.035,E,125443,A*2D
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.271,N,02346.376,E,T001*27
+$GPRMC,125443,A,6127.292,N,02351.030,E,021.4,335.7,110805,006.0,E*70
+$GPRMB,A,1.28,R,T013,T012,6129.236,N,02346.327,E,003.0,310.8,019.5,V*28
+$GPGGA,125443,6127.293,N,02351.029,E,1,03,17.0,174.2,M,20.7,M,,*73
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.0,17.0,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,55,094,41,10,18,210,36*77
+$GPGSV,3,2,11,15,13,334,33,18,17,328,43,19,22,037,39,21,06,300,00*7B
+$GPGSV,3,3,11,26,58,279,51,28,60,147,44,29,68,254,48,,,,*4C
+$PGRME,66.9,M,,M,66.9,M*00
+$GPGLL,6127.296,N,02351.023,E,125444,A*23
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPRTE,4,1,c,0,T030,T029,T028,T027,T026,T025,T024,T023,T022*49
+$GPRTE,4,2,c,0,T021,T020,T019,T018,T017,T016,T015,T014,T013*4B
+$GPRTE,4,3,c,0,T012,T011,T010,T009,T008,T007,T006,T005,T004*4B
+$GPRTE,4,4,c,0,T003,T002,T001*4F
+$GPWPL,6016.083,N,02452.500,E,T030*22
+$GPRMC,125445,A,6127.301,N,02351.016,E,021.6,335.7,110805,006.0,E*7B
+$GPRMB,A,1.27,R,T013,T012,6129.236,N,02346.327,E,003.0,310.8,019.6,V*24
+$GPGGA,125445,6127.302,N,02351.015,E,1,03,17.0,174.2,M,20.7,M,,*73
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.0,17.0,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,55,094,41,10,18,210,37*76
+$GPGSV,3,2,11,15,13,334,39,18,17,328,44,19,22,037,41,21,06,300,00*79
+$GPGSV,3,3,11,26,58,279,50,28,60,147,42,29,68,254,49,,,,*4A
+$PGRME,66.9,M,,M,66.9,M*00
+$GPGLL,6127.305,N,02351.012,E,125446,A*28
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T029*2D
+$GPRMC,125446,A,6127.308,N,02351.007,E,021.7,335.9,110805,006.0,E*7E
+$GPRMB,A,1.27,R,T013,T012,6129.236,N,02346.327,E,003.0,310.7,019.6,V*2B
+$GPGGA,125446,6127.309,N,02351.006,E,1,03,17.0,174.2,M,20.7,M,,*79
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.0,17.0,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,55,094,42,10,18,210,35*77
+$GPGSV,3,2,11,15,13,334,40,18,17,328,44,19,22,037,43,21,06,300,00*75
+$GPGSV,3,3,11,26,58,279,50,28,60,147,42,29,68,254,49,,,,*4A
+$PGRME,66.3,M,,M,66.3,M*00
+$GPGLL,6127.313,N,02351.000,E,125447,A*2D
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6023.283,N,02430.650,E,T028*2D
+$GPRMC,125447,A,6127.315,N,02350.998,E,021.8,336.2,110805,006.0,E*7A
+$GPRMB,A,1.26,R,T013,T012,6129.236,N,02346.327,E,003.0,310.7,019.7,V*2B
+$GPGGA,125448,6127.316,N,02350.997,E,1,03,16.9,174.2,M,20.7,M,,*71
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.9,16.9,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,55,094,45,10,18,210,36*73
+$GPGSV,3,2,11,15,13,334,39,18,17,328,43,19,22,037,44,21,06,300,00*7B
+$GPGSV,3,3,11,26,58,279,49,28,60,147,43,29,68,254,49,,,,*43
+$PGRME,66.3,M,,M,66.3,M*00
+$GPGLL,6127.320,N,02350.992,E,125448,A*21
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T027*23
+$GPRMC,125449,A,6127.323,N,02350.989,E,021.9,336.4,110805,006.0,E*76
+$GPRMB,A,1.26,R,T013,T012,6129.236,N,02346.327,E,002.9,310.6,019.7,V*22
+$GPGGA,125449,6127.324,N,02350.988,E,1,03,16.9,174.2,M,20.7,M,,*7F
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.9,16.9,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,55,094,44,10,18,210,38*7C
+$GPGSV,3,2,11,15,13,334,38,18,17,328,42,19,22,037,43,21,06,300,00*7C
+$GPGSV,3,3,11,26,58,279,33,28,60,147,42,29,68,254,35,,,,*44
+$PGRME,66.3,M,,M,66.3,M*00
+$GPGLL,6127.327,N,02350.985,E,125449,A*21
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T026*24
+$GPRMC,125450,A,6127.330,N,02350.983,E,021.9,336.4,110805,006.0,E*76
+$GPRMB,A,1.25,R,T013,T012,6129.236,N,02346.327,E,002.9,310.5,019.7,V*22
+$GPGGA,125450,6127.331,N,02350.982,E,1,03,16.9,174.2,M,20.7,M,,*79
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.9,16.9,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,55,094,43,10,18,210,37*74
+$GPGSV,3,2,11,15,13,334,40,18,17,328,43,19,22,037,43,21,06,300,00*72
+$GPGSV,3,3,11,26,58,279,33,28,60,147,41,29,68,254,34,,,,*46
+$PGRME,66.3,M,,M,66.3,M*00
+$GPGLL,6127.335,N,02350.978,E,125450,A*28
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,S,02453.500,E,T025*3B
+$GPRMC,125451,A,6127.338,N,02350.974,E,022.0,336.7,110805,006.0,E*7E
+$GPRMB,A,1.24,R,T013,T012,6129.236,N,02346.327,E,002.9,310.5,019.7,V*23
+$GPGGA,125451,6127.339,N,02350.973,E,1,03,16.9,174.2,M,20.7,M,,*7E
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.9,16.9,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,55,094,45,10,18,210,37*72
+$GPGSV,3,2,11,15,13,334,40,18,17,328,43,19,22,037,41,21,06,300,00*70
+$GPGSV,3,3,11,26,58,279,42,28,60,147,43,29,68,254,45,,,,*44
+$PGRME,66.1,M,,M,66.1,M*00
+$GPGLL,6127.343,N,02350.969,E,125452,A*2B
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6018.083,N,02453.500,E,T024*28
+$GPRMC,125453,A,6127.346,N,02350.966,E,022.1,337.0,110805,006.0,E*71
+$GPRMB,A,1.24,R,T013,T012,6129.236,N,02346.327,E,002.9,310.4,019.8,V*2D
+$GPGGA,125453,6127.347,N,02350.964,E,1,03,16.9,174.2,M,20.7,M,,*73
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.9,16.9,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,55,094,46,10,18,210,36*70
+$GPGSV,3,2,11,15,13,334,40,18,17,328,43,19,22,037,40,21,06,300,00*71
+$GPGSV,3,3,11,26,58,279,44,28,60,147,43,29,68,254,47,,,,*40
+$PGRME,66.1,M,,M,66.1,M*00
+$GPGLL,6127.351,N,02350.961,E,125453,A*21
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,W,T023*33
+$GPRMC,125454,A,6127.354,N,02350.957,E,022.4,337.6,110805,006.0,E*74
+$GPRMB,A,1.23,R,T013,T012,6129.236,N,02346.327,E,002.9,310.3,019.9,V*2C
+$GPGGA,125454,6127.355,N,02350.956,E,1,03,16.9,174.2,M,20.7,M,,*76
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.9,16.9,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,55,094,46,10,18,210,36*70
+$GPGSV,3,2,11,15,13,334,38,18,17,328,42,19,22,037,39,21,06,300,00*71
+$GPGSV,3,3,11,26,58,279,45,28,60,147,43,29,68,254,48,,,,*4E
+$PGRME,66.1,M,,M,66.1,M*00
+$GPGLL,6127.359,N,02350.953,E,125455,A*2E
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02555.500,E,T022*26
+$GPRMC,125455,A,6127.362,N,02350.949,E,022.5,337.9,110805,006.0,E*71
+$GPRMB,A,1.22,R,T013,T012,6129.236,N,02346.327,E,002.9,310.3,019.9,V*2D
+$GPGGA,125455,6127.363,N,02350.948,E,1,03,16.8,174.2,M,20.7,M,,*7C
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.8,16.8,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,55,094,46,10,18,210,37*71
+$GPGSV,3,2,11,15,13,334,38,18,17,328,42,19,22,037,39,21,06,300,00*71
+$GPGSV,3,3,11,26,58,279,46,28,60,147,43,29,68,254,48,,,,*4D
+$PGRME,66.1,M,,M,66.1,M*00
+$GPGLL,6127.367,N,02350.943,E,125456,A*21
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T021*23
+$GPRMC,125456,A,6127.370,N,02350.941,E,022.7,338.4,110805,006.0,E*79
+$GPRMB,A,1.22,R,T013,T012,6129.236,N,02346.327,E,002.9,310.2,020.0,V*2F
+$GPGGA,125457,6127.372,N,02350.940,E,1,03,16.8,174.2,M,20.7,M,,*76
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.8,16.8,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,55,094,47,10,18,210,35*72
+$GPGSV,3,2,11,15,13,334,38,18,17,328,43,19,22,037,40,21,06,300,00*7E
+$GPGSV,3,3,11,26,58,279,46,28,60,147,43,29,68,254,49,,,,*4C
+$PGRME,66.1,M,,M,66.1,M*00
+$GPGLL,6127.376,N,02350.936,E,125457,A*22
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6116.083,N,02452.500,E,T020*22
+$GPRMC,125458,A,6127.379,N,02350.933,E,022.8,338.8,110805,006.0,E*78
+$GPRMB,A,1.21,R,T013,T012,6129.236,N,02346.327,E,002.9,310.1,020.0,V*2F
+$GPGGA,125458,6127.381,N,02350.931,E,1,03,16.8,174.2,M,20.7,M,,*73
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.8,16.8,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,47,10,18,210,34*72
+$GPGSV,3,2,11,15,13,334,37,18,17,328,42,19,22,037,40,21,06,300,00*70
+$GPGSV,3,3,11,26,58,279,46,28,60,147,43,29,68,254,50,,,,*44
+$PGRME,66.1,M,,M,66.1,M*00
+$GPGLL,6127.384,N,02350.928,E,125459,A*2E
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,S,02452.500,E,T019*34
+$GPRMC,125459,A,6127.388,N,02350.925,E,023.1,339.4,110805,006.0,E*75
+$GPRMB,A,1.20,R,T013,T012,6129.236,N,02346.327,E,002.9,310.0,020.1,V*2E
+$GPGGA,125459,6127.389,N,02350.924,E,1,03,16.8,174.2,M,20.7,M,,*7E
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.8,16.8,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,47,10,18,210,34*72
+$GPGSV,3,2,11,15,13,334,38,18,17,328,42,19,22,037,40,21,06,300,00*7F
+$GPGSV,3,3,11,26,58,279,47,28,60,147,43,29,68,254,50,,,,*45
+$PGRME,66.1,M,,M,66.1,M*00
+$GPGLL,6127.394,N,02350.920,E,125500,A*2A
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,N,02452.500,E,T018*28
+$GPRMC,125500,A,6127.397,N,02350.918,E,023.2,339.8,110805,006.0,E*77
+$GPRMB,A,1.19,R,T013,T012,6129.236,N,02346.327,E,002.9,309.9,020.2,V*26
+$GPGGA,125500,6127.398,N,02350.917,E,1,03,16.8,174.2,M,20.7,M,,*73
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.8,16.8,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,47,10,18,210,33*75
+$GPGSV,3,2,11,15,13,334,40,18,17,328,42,19,22,037,39,21,06,300,00*7E
+$GPGSV,3,3,11,26,58,279,47,28,60,147,43,29,68,254,50,,,,*45
+$PGRME,66.1,M,,M,66.1,M*00
+$GPGLL,6127.402,N,02350.914,E,125500,A*25
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6013.283,N,02456.650,E,T017*22
+$GPRMC,125501,A,6127.406,N,02350.911,E,023.3,340.0,110805,006.0,E*77
+$GPRMB,A,1.19,R,T013,T012,6129.236,N,02346.327,E,002.9,309.8,020.2,V*27
+$GPGGA,125501,6127.407,N,02350.910,E,1,03,16.8,174.2,M,20.7,M,,*74
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.8,16.8,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,48,10,18,210,33*7A
+$GPGSV,3,2,11,15,13,334,41,18,17,328,43,19,22,037,41,21,06,300,00*71
+$GPGSV,3,3,11,26,58,279,47,28,60,147,42,29,68,254,50,,,,*44
+$PGRME,65.7,M,,M,65.7,M*00
+$GPGLL,6127.411,N,02350.906,E,125502,A*26
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T016*21
+$GPRMC,125503,A,6127.416,N,02350.903,E,023.5,340.6,110805,006.0,E*77
+$GPRMB,A,1.18,R,T013,T012,6129.236,N,02346.327,E,002.9,309.7,020.2,V*29
+$GPGGA,125503,6127.417,N,02350.902,E,1,03,16.7,174.2,M,20.7,M,,*7B
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.7,16.7,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,48,10,18,210,32*7B
+$GPGSV,3,2,11,15,13,334,40,18,17,328,44,19,22,037,40,21,06,300,00*76
+$GPGSV,3,3,11,26,58,279,47,28,60,147,42,29,68,254,50,,,,*44
+$PGRME,65.7,M,,M,65.7,M*00
+$GPGLL,6127.421,N,02350.899,E,125504,A*24
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0000.000,N,00000.000,W,T015*39
+$GPRMC,125504,A,6127.426,N,02350.896,E,023.6,341.0,110805,006.0,E*7A
+$GPRMB,A,1.17,R,T013,T012,6129.236,N,02346.327,E,002.8,309.6,020.2,V*26
+$GPGGA,125505,6127.427,N,02350.895,E,1,03,16.7,174.2,M,20.7,M,,*71
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.7,16.7,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,48,10,18,210,32*7B
+$GPGSV,3,2,11,15,13,334,38,18,17,328,42,19,22,037,38,21,06,300,00*70
+$GPGSV,3,3,11,26,58,279,47,28,60,147,41,29,68,254,50,,,,*47
+$PGRME,65.7,M,,M,65.7,M*00
+$GPGLL,6127.432,N,02350.892,E,125505,A*2C
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0009.000,N,02430.650,E,T014*25
+$GPRMC,125506,A,6127.436,N,02350.890,E,023.6,341.3,110805,006.0,E*7C
+$GPRMB,A,1.16,R,T013,T012,6129.236,N,02346.327,E,002.8,309.5,020.0,V*26
+$GPGGA,125506,6127.437,N,02350.889,E,1,03,16.7,174.2,M,20.7,M,,*7E
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.7,16.7,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,48,10,17,209,32*7C
+$GPGSV,3,2,11,15,13,334,38,18,17,328,41,19,22,037,37,21,06,300,00*7C
+$GPGSV,3,3,11,26,58,279,46,28,60,147,40,29,68,254,50,,,,*47
+$PGRME,65.7,M,,M,65.7,M*00
+$GPGLL,6127.441,N,02350.887,E,125507,A*2E
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.285,N,02430.651,E,T013*23
+$GPRMC,125507,A,6127.444,N,02350.884,E,023.6,341.3,110805,006.0,E*7D
+$GPRMB,A,1.15,R,T013,T012,6129.236,N,02346.327,E,002.8,309.4,020.0,V*24
+$GPGGA,125507,6127.445,N,02350.884,E,1,03,16.7,174.2,M,20.7,M,,*77
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.7,16.7,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,48,10,17,209,31*7F
+$GPGSV,3,2,11,15,13,334,37,18,17,328,40,19,22,037,38,21,06,300,00*7D
+$GPGSV,3,3,11,26,58,279,46,28,60,147,39,29,68,254,50,,,,*49
+$PGRME,65.7,M,,M,65.7,M*00
+$GPGLL,6127.449,N,02350.881,E,125508,A*2F
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.236,N,02346.327,E,T012*22
+$GPRMC,125508,A,6127.452,N,02350.879,E,023.6,341.3,110805,006.0,E*77
+$GPRMB,A,1.14,R,T013,T012,6129.236,N,02346.327,E,002.8,309.3,020.0,V*22
+$GPGGA,125509,6127.454,N,02350.878,E,1,03,16.7,174.2,M,20.7,M,,*7A
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.7,16.7,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,46,10,17,209,31*71
+$GPGSV,3,2,11,15,13,334,36,18,17,328,39,19,22,037,38,21,06,300,00*72
+$GPGSV,3,3,11,26,58,279,46,28,60,147,37,29,68,254,49,,,,*4F
+$PGRME,65.7,M,,M,65.7,M*00
+$GPGLL,6127.457,N,02350.875,E,125509,A*2A
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6114.236,N,02346.327,E,T011*2F
+$GPRMC,125510,A,6127.460,N,02350.873,E,023.6,341.3,110805,006.0,E*75
+$GPRMB,A,1.14,R,T013,T012,6129.236,N,02346.327,E,002.8,309.2,020.0,V*23
+$GPGGA,125510,6127.463,N,02350.873,E,1,03,16.7,174.2,M,20.7,M,,*7D
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.7,16.7,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,45,10,17,209,31*72
+$GPGSV,3,2,11,15,13,334,35,18,17,328,39,19,22,037,39,21,06,300,00*70
+$GPGSV,3,3,11,26,58,279,46,28,60,147,38,29,68,254,49,,,,*40
+$PGRME,65.2,M,,M,65.2,M*00
+$GPGLL,6127.466,N,02350.870,E,125510,A*25
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6220.236,N,02346.327,E,T010*2A
+$GPRMC,125511,A,6127.470,N,02350.868,E,023.4,341.4,110805,006.0,E*7A
+$GPRMB,A,1.13,R,T013,T012,6129.236,N,02346.327,E,002.8,309.1,019.8,V*25
+$GPGGA,125511,6127.471,N,02350.867,E,1,03,16.7,174.2,M,20.7,M,,*7A
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.7,16.7,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,44,10,17,209,31*73
+$GPGSV,3,2,11,15,13,334,35,18,17,328,38,19,22,037,41,21,06,300,00*7E
+$GPGSV,3,3,11,26,58,279,45,28,60,147,37,29,68,254,49,,,,*4C
+$PGRME,65.2,M,,M,65.2,M*00
+$GPGLL,6127.474,N,02350.865,E,125512,A*20
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6120.236,N,02346.327,E,T009*21
+$GPRMC,125512,A,6127.478,N,02350.862,E,023.4,341.4,110805,006.0,E*7B
+$GPRMB,A,1.12,R,T013,T012,6129.236,N,02346.327,E,002.8,309.0,019.8,V*25
+$GPGGA,125512,6127.479,N,02350.862,E,1,03,16.7,174.2,M,20.7,M,,*74
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.7,16.7,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,44,10,17,209,31*73
+$GPGSV,3,2,11,15,13,334,34,18,17,328,37,19,22,037,39,21,06,300,00*7F
+$GPGSV,3,3,11,26,58,279,46,28,60,147,35,29,68,254,49,,,,*4D
+$PGRME,65.2,M,,M,65.2,M*00
+$GPGLL,6127.482,N,02350.859,E,125513,A*27
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.234,N,02346.317,E,T008*28
+$GPRMC,125514,A,6127.486,N,02350.857,E,023.4,341.4,110805,006.0,E*7A
+$GPRMB,A,1.12,R,T013,T012,6129.236,N,02346.327,E,002.8,308.9,019.7,V*22
+$GPGGA,125514,6127.487,N,02350.856,E,1,03,16.7,174.2,M,20.7,M,,*74
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.7,16.7,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,43,10,17,209,31*74
+$GPGSV,3,2,11,15,13,334,35,18,17,328,36,19,22,037,41,21,06,300,00*70
+$GPGSV,3,3,11,26,58,279,46,28,60,147,35,29,68,254,49,,,,*4D
+$PGRME,65.2,M,,M,65.2,M*00
+$GPGLL,6127.490,N,02350.853,E,125514,A*29
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6157.564,N,02406.158,E,T007*26
+$GPRMC,125515,A,6127.494,N,02350.851,E,023.4,341.4,110805,006.0,E*7E
+$GPRMB,A,1.11,R,T013,T012,6129.236,N,02346.327,E,002.8,308.8,019.7,V*20
+$GPGGA,125515,6127.495,N,02350.850,E,1,03,16.7,174.2,M,20.7,M,,*70
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.7,16.7,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,44,10,17,209,31*73
+$GPGSV,3,2,11,15,13,334,35,18,17,328,36,19,22,037,39,21,06,300,00*7F
+$GPGSV,3,3,11,26,58,279,47,28,60,147,34,29,68,254,49,,,,*4D
+$PGRME,65.2,M,,M,65.2,M*00
+$GPGLL,6127.498,N,02350.848,E,125516,A*29
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6145.919,N,02345.544,E,T006*2B
+$GPRMC,125516,A,6127.501,N,02350.845,E,023.0,341.4,110805,006.0,E*71
+$GPRMB,A,1.10,R,T013,T012,6129.236,N,02346.327,E,002.8,308.7,019.3,V*2A
+$GPGGA,125516,6127.503,N,02350.844,E,1,03,16.6,174.2,M,20.7,M,,*79
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.6,16.6,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,43,10,17,209,31*74
+$GPGSV,3,2,11,15,13,334,36,18,17,328,36,19,22,037,39,21,06,300,00*7C
+$GPGSV,3,3,11,26,58,279,47,28,60,147,35,29,68,254,49,,,,*4C
+$PGRME,65.0,M,,M,65.0,M*00
+$GPGLL,6127.506,N,02350.842,E,125517,A*24
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6130.198,N,02342.702,E,T005*2C
+$GPRMC,125518,A,6127.509,N,02350.840,E,023.0,341.4,110805,006.0,E*72
+$GPRMB,A,1.09,R,T013,T012,6129.236,N,02346.327,E,002.8,308.6,019.3,V*23
+$GPGGA,125518,6127.510,N,02350.840,E,1,03,16.6,174.2,M,20.7,M,,*71
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.6,16.6,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,45,10,17,209,31*72
+$GPGSV,3,2,11,15,13,334,36,18,17,328,35,19,22,037,38,21,06,299,00*7F
+$GPGSV,3,3,11,26,58,279,47,28,60,147,34,29,68,254,49,,,,*4D
+$PGRME,64.9,M,,M,64.9,M*00
+$GPGLL,6127.514,N,02350.837,E,125518,A*2A
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6216.183,N,02619.685,E,T004*25
+$GPRMC,125519,A,6127.517,N,02350.835,E,022.4,341.3,110805,006.0,E*7C
+$GPRMB,A,1.09,R,T013,T012,6129.236,N,02346.327,E,002.8,308.5,018.9,V*2B
+$GPGGA,125519,6127.518,N,02350.834,E,1,03,16.6,174.2,M,20.7,M,,*7B
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.6,16.6,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,46,10,17,209,30*70
+$GPGSV,3,2,11,15,13,334,37,18,17,328,36,19,22,037,38,21,06,299,00*7D
+$GPGSV,3,3,11,26,58,279,47,28,60,147,34,29,68,254,49,,,,*4D
+$PGRME,64.9,M,,M,64.9,M*00
+$GPGLL,6127.522,N,02350.832,E,125520,A*21
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6215.064,N,02603.837,E,T003*25
+$GPRMC,125520,A,6127.524,N,02350.831,E,021.8,340.8,110805,006.0,E*77
+$GPRMB,A,1.08,R,T013,T012,6129.236,N,02346.327,E,002.8,308.5,018.4,V*27
+$GPGGA,125520,6127.525,N,02350.830,E,1,03,16.5,174.2,M,20.7,M,,*78
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.5,16.5,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,46,10,17,209,30*70
+$GPGSV,3,2,11,15,13,334,36,18,17,328,35,19,22,037,38,21,06,299,00*7F
+$GPGSV,3,3,11,26,58,279,47,28,60,147,39,29,68,254,48,,,,*41
+$PGRME,64.8,M,,M,64.8,M*00
+$GPGLL,6127.528,N,02350.828,E,125521,A*21
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6151.098,N,02510.924,E,T002*26
+$GPRMC,125521,A,6127.531,N,02350.826,E,021.3,340.8,110805,006.0,E*7F
+$GPRMB,A,1.08,R,T013,T012,6129.236,N,02346.327,E,002.8,308.4,018.0,V*22
+$GPGGA,125521,6127.532,N,02350.826,E,1,03,16.5,174.2,M,20.7,M,,*78
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.5,16.5,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,44,10,17,209,30*72
+$GPGSV,3,2,11,15,13,334,35,18,17,328,35,19,22,037,37,21,06,299,00*73
+$GPGSV,3,3,11,26,58,279,46,28,60,147,42,29,68,254,49,,,,*4D
+$PGRME,64.8,M,,M,64.8,M*00
+$GPGLL,6127.534,N,02350.824,E,125522,A*23
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.271,N,02346.376,E,T001*27
+$GPRMC,125522,A,6127.538,N,02350.822,E,020.8,340.5,110805,006.0,E*76
+$GPRMB,A,1.07,R,T013,T012,6129.236,N,02346.327,E,002.7,308.3,017.6,V*2C
+$GPGGA,125523,6127.539,N,02350.821,E,1,03,16.5,174.2,M,20.7,M,,*76
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.5,16.5,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,43,10,17,209,30*75
+$GPGSV,3,2,11,15,13,334,35,18,17,328,35,19,22,037,36,21,06,299,00*72
+$GPGSV,3,3,11,26,58,279,46,28,60,147,41,29,68,254,49,,,,*4E
+$PGRME,64.8,M,,M,64.8,M*00
+$GPGLL,6127.542,N,02350.818,E,125523,A*2C
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPRTE,4,1,c,0,T030,T029,T028,T027,T026,T025,T024,T023,T022*49
+$GPRTE,4,2,c,0,T021,T020,T019,T018,T017,T016,T015,T014,T013*4B
+$GPRTE,4,3,c,0,T012,T011,T010,T009,T008,T007,T006,T005,T004*4B
+$GPRTE,4,4,c,0,T003,T002,T001*4F
+$GPWPL,6016.083,N,02452.500,E,T030*22
+$GPRMC,125524,A,6127.547,N,02350.815,E,020.8,340.5,110805,006.0,E*7C
+$GPRMB,A,1.06,R,T013,T012,6129.236,N,02346.327,E,002.7,308.2,017.5,V*2F
+$GPGGA,125525,6127.548,N,02350.814,E,1,03,16.5,174.2,M,20.7,M,,*70
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.5,16.5,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,41,10,17,209,30*77
+$GPGSV,3,2,11,15,13,334,33,18,17,328,34,19,22,037,36,21,06,299,00*75
+$GPGSV,3,3,11,26,58,279,46,28,60,147,40,29,68,254,48,,,,*4E
+$PGRME,64.8,M,,M,64.8,M*00
+$GPGLL,6127.551,N,02350.812,E,125525,A*22
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T029*2D
+$GPRMC,125526,A,6127.552,N,02350.811,E,020.4,340.6,110805,006.0,E*71
+$GPRMB,A,1.06,R,T013,T012,6129.236,N,02346.327,E,002.7,308.1,017.5,V*2C
+$GPGGA,125526,6127.553,N,02350.810,E,1,03,16.5,174.2,M,20.7,M,,*7D
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.5,16.5,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,40,10,17,209,30*76
+$GPGSV,3,2,11,15,13,333,33,18,17,328,33,19,22,037,35,21,06,299,00*76
+$GPGSV,3,3,11,26,58,279,47,28,60,147,40,29,68,254,48,,,,*4F
+$PGRME,64.5,M,,M,64.5,M*00
+$GPGLL,6127.556,N,02350.808,E,125526,A*2D
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6023.283,N,02430.650,E,T028*2D
+$GPRMC,125527,A,6127.559,N,02350.806,E,020.4,340.6,110805,006.0,E*7D
+$GPRMB,A,1.05,R,T013,T012,6129.236,N,02346.327,E,002.7,308.1,017.2,V*28
+$GPGGA,125527,6127.560,N,02350.805,E,1,03,16.5,174.2,M,20.7,M,,*78
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.5,16.5,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,39,10,17,209,30*78
+$GPGSV,3,2,11,15,13,333,33,18,17,328,32,19,22,037,35,21,06,299,00*77
+$GPGSV,3,3,11,26,58,279,47,28,60,147,39,29,68,254,47,,,,*4E
+$PGRME,64.4,M,,M,64.4,M*00
+$GPGLL,6127.562,N,02350.804,E,125528,A*28
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T027*23
+$GPRMC,125528,A,6127.564,N,02350.802,E,020.1,340.5,110805,006.0,E*7E
+$GPRMB,A,1.05,R,T013,T012,6129.236,N,02346.327,E,002.7,308.0,017.2,V*29
+$GPGGA,125528,6127.565,N,02350.801,E,1,03,16.4,174.2,M,20.7,M,,*77
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.4,16.4,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,37,10,17,209,30*76
+$GPGSV,3,2,11,15,13,333,32,18,17,328,32,19,22,037,34,21,06,299,00*77
+$GPGSV,3,3,11,26,58,279,47,28,60,147,41,29,68,254,47,,,,*41
+$PGRME,64.4,M,,M,64.4,M*00
+$GPGLL,6127.567,N,02350.800,E,125529,A*28
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T026*24
+$GPRMC,125530,A,6127.569,N,02350.798,E,019.9,340.6,110805,006.0,E*77
+$GPRMB,A,1.04,R,T013,T012,6129.236,N,02346.327,E,002.7,307.9,016.8,V*25
+$GPGGA,125530,6127.568,N,02350.798,E,1,03,16.4,174.2,M,20.7,M,,*7C
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.4,16.4,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,36,10,17,209,30*77
+$GPGSV,3,2,11,15,13,333,34,18,17,328,36,19,22,037,34,21,06,299,00*75
+$GPGSV,3,3,11,26,58,279,48,28,60,147,41,29,68,254,47,,,,*4E
+$PGRME,64.4,M,,M,64.4,M*00
+$GPGLL,6127.572,N,02350.796,E,125530,A*24
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,S,02453.500,E,T025*3B
+$GPRMC,125531,A,6127.574,N,02350.794,E,019.8,340.8,110805,006.0,E*79
+$GPRMB,A,1.04,R,T013,T012,6129.236,N,02346.327,E,002.7,307.9,016.6,V*2B
+$GPGGA,125531,6127.575,N,02350.793,E,1,03,16.4,174.2,M,20.7,M,,*7A
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.4,16.4,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,36,10,17,209,30*77
+$GPGSV,3,2,11,15,13,333,36,18,17,328,38,19,22,037,37,21,06,299,00*7A
+$GPGSV,3,3,11,26,58,279,48,28,60,147,41,29,68,254,47,,,,*4E
+$PGRME,64.4,M,,M,64.4,M*00
+$GPGLL,6127.577,N,02350.792,E,125532,A*27
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6018.083,N,02453.500,E,T024*28
+$GPRMC,125532,A,6127.577,N,02350.791,E,019.7,341.5,110805,006.0,E*7F
+$GPRMB,A,1.03,R,T013,T012,6129.236,N,02346.327,E,002.7,307.8,016.4,V*2F
+$GPGGA,125533,6127.578,N,02350.791,E,1,03,16.4,174.2,M,20.7,M,,*77
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.4,16.4,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,36,10,17,209,30*77
+$GPGSV,3,2,11,15,13,333,38,18,17,328,40,19,22,037,38,21,06,299,00*74
+$GPGSV,3,3,11,26,58,279,48,28,60,147,39,29,68,254,47,,,,*41
+$PGRME,64.4,M,,M,64.4,M*00
+$GPGLL,6127.580,N,02350.790,E,125533,A*2C
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,W,T023*33
+$GPRMC,125534,A,6127.582,N,02350.788,E,019.6,341.8,110805,006.0,E*77
+$GPRMB,A,1.03,R,T013,T012,6129.236,N,02346.327,E,002.7,307.8,016.3,V*28
+$GPGGA,125534,6127.582,N,02350.789,E,1,03,16.4,174.2,M,20.7,M,,*7C
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.4,16.4,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,36,10,17,209,30*77
+$GPGSV,3,2,11,15,13,333,39,18,17,328,40,19,22,037,39,21,06,299,00*74
+$GPGSV,3,3,11,26,58,279,48,28,60,147,39,29,68,254,48,,,,*4E
+$PGRME,64.4,M,,M,64.4,M*00
+$GPGLL,6127.585,N,02350.787,E,125534,A*28
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02555.500,E,T022*26
+$GPRMC,125535,A,6127.586,N,02350.787,E,019.5,342.2,110805,006.0,E*77
+$GPRMB,A,1.03,R,T013,T012,6129.236,N,02346.327,E,002.7,307.7,016.1,V*25
+$GPGGA,125535,6127.587,N,02350.786,E,1,03,16.4,174.2,M,20.7,M,,*77
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.4,16.4,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,37,10,17,209,30*76
+$GPGSV,3,2,11,15,13,333,39,18,17,328,39,19,22,037,39,21,06,299,00*7A
+$GPGSV,3,3,11,26,58,279,48,28,60,147,38,29,68,254,48,,,,*4F
+$PGRME,64.4,M,,M,64.4,M*00
+$GPGLL,6127.588,N,02350.786,E,125536,A*26
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T021*23
+$GPRMC,125536,A,6127.591,N,02350.784,E,019.6,342.5,110805,006.0,E*75
+$GPRMB,A,1.02,R,T013,T012,6129.236,N,02346.327,E,002.7,307.6,016.1,V*25
+$GPGGA,125536,6127.592,N,02350.783,E,1,03,16.3,174.2,M,20.7,M,,*72
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.3,16.3,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,37,10,17,209,30*76
+$GPGSV,3,2,11,15,13,333,39,18,17,328,40,19,22,037,40,21,06,299,00*7A
+$GPGSV,3,3,11,26,58,279,48,28,60,147,38,29,68,254,47,,,,*40
+$PGRME,64.4,M,,M,64.4,M*00
+$GPGLL,6127.594,N,02350.783,E,125537,A*2F
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6116.083,N,02452.500,E,T020*22
+$GPRMC,125538,A,6127.596,N,02350.781,E,019.5,342.5,110805,006.0,E*7A
+$GPRMB,A,1.02,R,T013,T012,6129.236,N,02346.327,E,002.7,307.6,016.0,V*24
+$GPGGA,125538,6127.597,N,02350.780,E,1,03,16.3,174.2,M,20.7,M,,*7A
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.3,16.3,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,38,10,17,209,30*79
+$GPGSV,3,2,11,15,13,333,39,18,17,328,41,19,22,037,40,21,06,299,00*7B
+$GPGSV,3,3,11,26,58,279,48,28,60,147,37,29,68,254,47,,,,*4F
+$PGRME,63.9,M,,M,63.9,M*00
+$GPGLL,6127.599,N,02350.780,E,125538,A*2E
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,S,02452.500,E,T019*34
+$GPRMC,125539,A,6127.600,N,02350.780,E,019.6,342.7,110805,006.0,E*77
+$GPRMB,A,1.01,R,T013,T012,6129.236,N,02346.327,E,002.7,307.5,016.0,V*24
+$GPGGA,125539,6127.601,N,02350.779,E,1,03,16.3,174.2,M,20.7,M,,*71
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.3,16.3,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,38,10,17,209,30*79
+$GPGSV,3,2,11,15,13,333,39,18,17,328,40,19,22,037,39,21,06,299,00*74
+$GPGSV,3,3,11,26,58,279,48,28,60,147,37,29,68,254,47,,,,*4F
+$PGRME,63.9,M,,M,63.9,M*00
+$GPGLL,6127.604,N,02350.777,E,125540,A*2E
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,N,02452.500,E,T018*28
+$GPRMC,125540,A,6127.605,N,02350.776,E,019.6,342.7,110805,006.0,E*75
+$GPRMB,A,1.01,R,T013,T012,6129.236,N,02346.327,E,002.7,307.4,016.0,V*25
+$GPGGA,125540,6127.606,N,02350.776,E,1,03,16.3,174.2,M,20.7,M,,*77
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.3,16.3,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,37,10,17,209,30*76
+$GPGSV,3,2,11,15,13,333,39,18,17,328,40,19,22,037,38,21,06,299,00*75
+$GPGSV,3,3,11,26,58,279,47,28,60,147,37,29,68,254,47,,,,*40
+$PGRME,63.9,M,,M,63.9,M*00
+$GPGLL,6127.609,N,02350.774,E,125541,A*21
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6013.283,N,02456.650,E,T017*22
+$GPRMC,125541,A,6127.612,N,02350.772,E,019.6,342.7,110805,006.0,E*76
+$GPRMB,A,1.00,R,T013,T012,6129.236,N,02346.327,E,002.7,307.4,016.0,V*24
+$GPGGA,125541,6127.613,N,02350.771,E,1,03,16.3,174.2,M,20.7,M,,*75
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.3,16.3,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,36,10,17,209,33*74
+$GPGSV,3,2,11,15,13,333,39,18,17,328,40,19,21,036,37,21,06,299,00*78
+$GPGSV,3,3,11,26,58,279,47,28,60,147,35,29,68,254,46,,,,*43
+$PGRME,63.9,M,,M,63.9,M*00
+$GPGLL,6127.616,N,02350.769,E,125542,A*20
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T016*21
+$GPRMC,125543,A,6127.619,N,02350.768,E,019.6,342.7,110805,006.0,E*74
+$GPRMB,A,1.00,R,T013,T012,6129.236,N,02346.327,E,002.7,307.3,016.0,V*23
+$GPGGA,125543,6127.618,N,02350.768,E,1,03,16.3,174.2,M,20.7,M,,*74
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.3,16.3,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,35,10,17,209,33*77
+$GPGSV,3,2,11,15,13,333,39,18,17,328,40,19,21,036,37,21,06,299,00*78
+$GPGSV,3,3,11,26,58,279,47,28,60,147,36,29,68,254,46,,,,*40
+$PGRME,63.7,M,,M,63.7,M*00
+$GPGLL,6127.621,N,02350.766,E,125543,A*2A
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0000.000,N,00000.000,W,T015*39
+$GPRMC,125544,A,6127.623,N,02350.765,E,019.8,343.0,110805,006.0,E*7F
+$GPRMB,A,0.99,R,T013,T012,6129.236,N,02346.327,E,002.7,307.2,016.0,V*23
+$GPGGA,125544,6127.624,N,02350.765,E,1,03,16.3,174.2,M,20.7,M,,*71
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.3,16.3,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,35,10,17,209,33*77
+$GPGSV,3,2,11,15,13,333,39,18,17,328,40,19,21,036,36,21,06,299,00*79
+$GPGSV,3,3,11,26,58,279,47,28,60,147,35,29,68,254,46,,,,*43
+$PGRME,63.7,M,,M,63.7,M*00
+$GPGLL,6127.626,N,02350.764,E,125545,A*29
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0009.000,N,02430.650,E,T014*25
+$GPRMC,125545,A,6127.629,N,02350.762,E,020.0,343.2,110805,006.0,E*73
+$GPRMB,A,0.99,R,T013,T012,6129.236,N,02346.327,E,002.7,307.1,016.1,V*21
+$GPGGA,125546,6127.630,N,02350.762,E,1,03,16.2,174.2,M,20.7,M,,*70
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.2,16.2,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,34,10,17,209,33*76
+$GPGSV,3,2,11,15,13,333,38,18,17,328,40,19,21,036,36,21,06,299,00*78
+$GPGSV,3,3,11,26,58,279,47,28,60,147,35,29,68,254,46,,,,*43
+$PGRME,63.7,M,,M,63.7,M*00
+$GPGLL,6127.632,N,02350.761,E,125546,A*2A
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.285,N,02430.651,E,T013*23
+$GPRMC,125547,A,6127.634,N,02350.759,E,020.1,343.3,110805,006.0,E*75
+$GPRMB,A,0.98,R,T013,T012,6129.236,N,02346.327,E,002.7,307.1,016.2,V*23
+$GPGGA,125547,6127.636,N,02350.758,E,1,03,16.2,174.2,M,20.7,M,,*7E
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.2,16.2,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,34,10,17,209,33*76
+$GPGSV,3,2,11,15,13,333,38,18,17,328,40,19,21,036,35,21,06,299,00*7B
+$GPGSV,3,3,11,26,58,279,47,28,60,147,35,29,68,254,46,,,,*43
+$PGRME,63.7,M,,M,63.7,M*00
+$GPGLL,6127.639,N,02350.756,E,125547,A*24
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.236,N,02346.327,E,T012*22
+$GPRMC,125548,A,6127.641,N,02350.755,E,020.1,343.3,110805,006.0,E*74
+$GPRMB,A,0.98,R,T013,T012,6129.236,N,02346.327,E,002.7,307.0,016.2,V*22
+$GPGGA,125548,6127.642,N,02350.754,E,1,03,16.2,174.2,M,20.7,M,,*7E
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.2,16.2,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,34,10,17,209,33*76
+$GPGSV,3,2,11,15,13,333,38,18,17,328,40,19,21,036,37,21,06,299,35*7F
+$GPGSV,3,3,11,26,58,279,47,28,60,147,34,29,68,254,46,,,,*42
+$PGRME,63.7,M,,M,63.7,M*00
+$GPGLL,6127.646,N,02350.752,E,125549,A*26
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6114.236,N,02346.327,E,T011*2F
+$GPRMC,125549,A,6127.648,N,02350.751,E,020.2,343.4,110805,006.0,E*7C
+$GPRMB,A,0.97,R,T013,T012,6129.236,N,02346.327,E,002.7,306.9,016.2,V*25
+$GPGGA,125550,6127.649,N,02350.751,E,1,03,16.2,174.2,M,20.7,M,,*79
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.2,16.2,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,33,10,17,209,32*70
+$GPGSV,3,2,11,15,13,333,39,18,17,328,41,19,21,036,38,21,05,299,34*72
+$GPGSV,3,3,11,26,58,279,47,28,60,147,34,29,68,254,45,,,,*41
+$PGRME,63.4,M,,M,63.4,M*00
+$GPGLL,6127.652,N,02350.749,E,125550,A*21
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6220.236,N,02346.327,E,T010*2A
+$GPRMC,125551,A,6127.655,N,02350.747,E,020.2,343.4,110805,006.0,E*7E
+$GPRMB,A,0.97,R,T013,T012,6129.236,N,02346.327,E,002.6,306.8,016.2,V*25
+$GPGGA,125551,6127.656,N,02350.746,E,1,03,16.2,174.2,M,20.7,M,,*70
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.2,16.2,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,31,10,17,209,33*73
+$GPGSV,3,2,11,15,13,333,39,18,17,328,40,19,21,036,39,21,05,299,34*72
+$GPGSV,3,3,11,26,58,279,46,28,60,147,34,29,68,254,45,,,,*40
+$PGRME,63.4,M,,M,63.4,M*00
+$GPGLL,6127.659,N,02350.746,E,125551,A*24
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6120.236,N,02346.327,E,T009*21
+$GPRMC,125552,A,6127.661,N,02350.745,E,020.5,343.2,110805,006.0,E*79
+$GPRMB,A,0.96,R,T013,T012,6129.236,N,02346.327,E,002.6,306.7,016.3,V*2A
+$GPGGA,125552,6127.662,N,02350.744,E,1,03,16.2,174.2,M,20.7,M,,*76
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.2,16.2,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,31,10,17,209,33*73
+$GPGSV,3,2,11,15,13,333,39,18,17,328,40,19,21,036,40,21,05,299,00*7B
+$GPGSV,3,3,11,26,58,279,46,28,60,147,34,29,68,254,45,,,,*40
+$PGRME,63.4,M,,M,63.4,M*00
+$GPGLL,6127.664,N,02350.743,E,125553,A*2D
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.234,N,02346.317,E,T008*28
+$GPRMC,125553,A,6127.667,N,02350.742,E,020.7,343.4,110805,006.0,E*7D
+$GPRMB,A,0.95,R,T013,T012,6129.236,N,02346.327,E,002.6,306.6,016.6,V*2D
+$GPGGA,125553,6127.668,N,02350.741,E,1,03,16.2,174.2,M,20.7,M,,*78
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.2,16.2,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,31,10,17,209,32*72
+$GPGSV,3,2,11,15,13,333,39,18,17,328,40,19,21,036,42,21,05,299,00*79
+$GPGSV,3,3,11,26,58,279,46,28,60,147,33,29,68,254,46,,,,*44
+$PGRME,63.4,M,,M,63.4,M*00
+$GPGLL,6127.672,N,02350.739,E,125554,A*20
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6157.564,N,02406.158,E,T007*26
+$GPRMC,125555,A,6127.674,N,02350.737,E,020.7,343.4,110805,006.0,E*7B
+$GPRMB,A,0.95,R,T013,T012,6129.236,N,02346.327,E,002.6,306.5,016.6,V*2E
+$GPGGA,125555,6127.675,N,02350.736,E,1,03,16.1,174.2,M,20.7,M,,*71
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.1,16.1,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,31,10,17,209,32*72
+$GPGSV,3,2,11,15,13,333,40,18,17,328,40,19,21,036,43,21,05,299,00*76
+$GPGSV,3,3,11,26,58,279,45,28,60,147,34,29,68,254,46,,,,*40
+$PGRME,63.2,M,,M,63.2,M*00
+$GPGLL,6127.678,N,02350.734,E,125555,A*26
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6145.919,N,02345.544,E,T006*2B
+$GPRMC,125556,A,6127.681,N,02350.733,E,021.2,343.3,110805,006.0,E*75
+$GPRMB,A,0.94,R,T013,T012,6129.236,N,02346.327,E,002.6,306.4,016.8,V*20
+$GPGGA,125556,6127.682,N,02350.733,E,1,03,16.1,174.2,M,20.7,M,,*7F
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.1,16.1,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,31,10,17,209,31*71
+$GPGSV,3,2,11,15,13,333,41,18,17,328,41,19,21,036,43,21,05,299,00*76
+$GPGSV,3,3,11,26,58,279,45,28,60,147,34,29,68,254,46,,,,*40
+$PGRME,63.2,M,,M,63.2,M*00
+$GPGLL,6127.685,N,02350.732,E,125557,A*20
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6130.198,N,02342.702,E,T005*2C
+$GPRMC,125557,A,6127.688,N,02350.730,E,021.4,343.3,110805,006.0,E*78
+$GPRMB,A,0.94,R,T013,T012,6129.236,N,02346.327,E,002.6,306.3,017.1,V*2F
+$GPGGA,125557,6127.689,N,02350.729,E,1,03,16.1,174.2,M,20.7,M,,*7E
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.1,16.1,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,30,10,17,209,30*71
+$GPGSV,3,2,11,15,13,333,41,18,17,328,41,19,21,036,44,21,05,299,00*71
+$GPGSV,3,3,11,26,58,279,45,28,60,147,34,29,68,254,46,,,,*40
+$PGRME,63.2,M,,M,63.2,M*00
+$GPGLL,6127.692,N,02350.728,E,125558,A*22
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6216.183,N,02619.685,E,T004*25
+$GPRMC,125558,A,6127.695,N,02350.726,E,021.7,343.2,110805,006.0,E*7E
+$GPRMB,A,0.93,R,T013,T012,6129.236,N,02346.327,E,002.6,306.2,017.3,V*2B
+$GPGGA,125559,6127.696,N,02350.726,E,1,03,16.1,174.2,M,20.7,M,,*71
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.1,16.1,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,30,10,17,209,30*71
+$GPGSV,3,2,11,15,13,333,41,18,17,328,41,19,21,036,45,21,05,299,00*70
+$GPGSV,3,3,11,26,58,279,45,28,60,147,35,29,68,254,47,,,,*40
+$PGRME,63.2,M,,M,63.2,M*00
+$GPGLL,6127.700,N,02350.723,E,125559,A*22
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6215.064,N,02603.837,E,T003*25
+$GPRMC,125600,A,6127.703,N,02350.722,E,022.2,343.0,110805,006.0,E*7E
+$GPRMB,A,0.92,R,T013,T012,6129.236,N,02346.327,E,002.6,306.1,017.5,V*2F
+$GPGGA,125600,6127.704,N,02350.721,E,1,03,16.1,174.2,M,20.7,M,,*73
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.1,16.1,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,30,10,17,209,30*71
+$GPGSV,3,2,11,15,13,333,41,18,17,328,41,19,21,036,45,21,05,299,00*70
+$GPGSV,3,3,11,26,58,279,45,28,60,147,36,29,68,254,47,,,,*43
+$PGRME,63.2,M,,M,63.2,M*00
+$GPGLL,6127.708,N,02350.719,E,125601,A*2D
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6151.098,N,02510.924,E,T002*26
+$GPRMC,125601,A,6127.711,N,02350.718,E,022.5,343.0,110805,006.0,E*72
+$GPRMB,A,0.92,R,T013,T012,6129.236,N,02346.327,E,002.6,306.0,017.8,V*23
+$GPGGA,125601,6127.712,N,02350.717,E,1,03,16.1,174.2,M,20.7,M,,*70
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.1,16.1,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,30,10,17,209,30*71
+$GPGSV,3,2,11,15,13,333,41,18,17,328,41,19,21,036,45,21,05,299,00*70
+$GPGSV,3,3,11,26,58,279,45,28,60,147,37,29,68,254,46,,,,*43
+$PGRME,63.2,M,,M,63.2,M*00
+$GPGLL,6127.716,N,02350.715,E,125601,A*2E
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.271,N,02346.376,E,T001*27
+$GPRMC,125602,A,6127.720,N,02350.712,E,022.8,342.9,110805,006.0,E*7C
+$GPRMB,A,0.91,R,T013,T012,6129.236,N,02346.327,E,002.6,305.9,018.0,V*2D
+$GPGGA,125602,6127.721,N,02350.712,E,1,03,16.0,174.2,M,20.7,M,,*77
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.0,16.0,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,30,10,17,209,30*71
+$GPGSV,3,2,11,15,13,333,41,18,17,328,41,19,21,036,44,21,05,299,00*71
+$GPGSV,3,3,11,26,58,279,45,28,60,147,37,29,68,254,46,,,,*43
+$PGRME,63.2,M,,M,63.2,M*00
+$GPGLL,6127.724,N,02350.709,E,125602,A*21
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPRTE,4,1,c,0,T030,T029,T028,T027,T026,T025,T024,T023,T022*49
+$GPRTE,4,2,c,0,T021,T020,T019,T018,T017,T016,T015,T014,T013*4B
+$GPRTE,4,3,c,0,T012,T011,T010,T009,T008,T007,T006,T005,T004*4B
+$GPRTE,4,4,c,0,T003,T002,T001*4F
+$GPWPL,6016.083,N,02452.500,E,T030*22
+$GPRMC,125604,A,6127.731,N,02350.706,E,023.2,342.8,110805,006.0,E*75
+$GPRMB,A,0.90,R,T013,T012,6129.236,N,02346.327,E,002.6,305.7,018.5,V*27
+$GPGGA,125604,6127.732,N,02350.705,E,1,03,16.0,174.2,M,20.7,M,,*75
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.0,16.0,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,30,10,17,209,30*71
+$GPGSV,3,2,11,15,13,333,41,18,17,328,41,19,21,036,43,21,05,299,00*76
+$GPGSV,3,3,11,26,58,279,45,28,60,147,38,29,68,254,46,,,,*4C
+$PGRME,63.2,M,,M,63.2,M*00
+$GPGLL,6127.736,N,02350.702,E,125605,A*2E
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T029*2D
+$GPRMC,125605,A,6127.739,N,02350.700,E,023.4,342.5,110805,006.0,E*71
+$GPRMB,A,0.89,R,T013,T012,6129.236,N,02346.327,E,002.6,305.6,018.7,V*2C
+$GPGGA,125606,6127.740,N,02350.700,E,1,03,16.0,174.2,M,20.7,M,,*77
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.0,16.0,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,30,10,17,209,30*71
+$GPGSV,3,2,11,15,13,333,41,18,17,328,41,19,21,036,41,21,05,299,00*74
+$GPGSV,3,3,11,26,58,279,45,28,60,147,38,29,68,254,47,,,,*4D
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.746,N,02350.695,E,125606,A*25
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6023.283,N,02430.650,E,T028*2D
+$GPRMC,125607,A,6127.750,N,02350.692,E,031.5,341.2,110805,006.0,E*70
+$GPRMB,A,0.88,R,T013,T012,6129.236,N,02346.327,E,002.6,305.4,025.5,V*23
+$GPGGA,125607,6127.752,N,02350.691,E,1,03,2.8,174.2,M,20.7,M,,*41
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,30,10,17,209,30*71
+$GPGSV,3,2,11,15,13,333,41,18,17,328,41,19,21,036,41,21,05,299,00*74
+$GPGSV,3,3,11,26,58,279,45,28,60,147,38,29,68,254,47,,,,*4D
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.757,N,02350.687,E,125607,A*27
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T027*23
+$GPRMC,125608,A,6127.761,N,02350.684,E,030.5,342.0,110805,006.0,E*7A
+$GPRMB,A,0.87,R,T013,T012,6129.236,N,02346.327,E,002.6,305.3,025.0,V*2E
+$GPGGA,125608,6127.763,N,02350.683,E,1,04,2.8,174.2,M,20.7,M,,*48
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,30,10,17,209,30*71
+$GPGSV,3,2,11,15,13,333,41,18,17,328,41,19,21,036,40,21,05,299,00*75
+$GPGSV,3,3,11,26,58,279,44,28,60,147,38,29,68,254,47,,,,*4C
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.768,N,02350.680,E,125609,A*22
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T026*24
+$GPRMC,125609,A,6127.772,N,02350.677,E,029.8,341.3,110805,006.0,E*70
+$GPRMB,A,0.86,R,T013,T012,6129.236,N,02346.327,E,002.6,305.1,024.0,V*2C
+$GPGGA,125610,6127.773,N,02350.676,E,1,04,2.8,174.2,M,20.7,M,,*4A
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,30,10,17,209,30*71
+$GPGSV,3,2,11,15,13,333,41,18,17,328,41,19,21,036,38,21,05,299,00*7A
+$GPGSV,3,3,11,26,59,278,45,28,60,147,39,29,68,254,46,,,,*4D
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.778,N,02350.673,E,125610,A*27
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,S,02453.500,E,T025*3B
+$GPRMC,125611,A,6127.781,N,02350.670,E,028.7,342.0,110805,006.0,E*7C
+$GPRMB,A,0.85,R,T013,T012,6129.236,N,02346.327,E,002.5,305.0,023.0,V*2A
+$GPGGA,125611,6127.783,N,02350.669,E,1,04,2.8,174.2,M,20.7,M,,*4A
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,30,10,17,209,30*71
+$GPGSV,3,2,11,15,13,333,41,18,17,328,41,19,21,036,38,21,05,299,00*7A
+$GPGSV,3,3,11,26,59,278,45,28,60,147,39,29,68,254,46,,,,*4D
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.787,N,02350.666,E,125611,A*22
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6018.083,N,02453.500,E,T024*28
+$GPRMC,125612,A,6127.791,N,02350.664,E,026.7,342.4,110805,006.0,E*71
+$GPRMB,A,0.84,R,T013,T012,6129.236,N,02346.327,E,002.5,304.9,021.9,V*28
+$GPGGA,125612,6127.792,N,02350.663,E,1,04,2.8,174.2,M,20.7,M,,*43
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,30,10,17,209,30*71
+$GPGSV,3,2,11,15,13,333,41,18,17,328,41,19,21,036,37,21,05,299,00*75
+$GPGSV,3,3,11,26,59,278,44,28,60,147,39,29,68,254,46,,,,*4C
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.796,N,02350.660,E,125613,A*26
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,W,T023*33
+$GPRMC,125613,A,6127.800,N,02350.657,E,025.6,342.4,110805,006.0,E*75
+$GPRMB,A,0.84,R,T013,T012,6129.236,N,02346.327,E,002.5,304.7,020.3,V*2D
+$GPGGA,125613,6127.801,N,02350.656,E,1,04,2.8,174.2,M,20.7,M,,*41
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,30,10,17,209,30*71
+$GPGSV,3,2,11,15,13,333,41,18,17,328,40,19,21,036,40,21,05,299,00*74
+$GPGSV,3,3,11,26,59,278,45,28,60,147,39,29,68,254,46,,,,*4D
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.806,N,02350.654,E,125614,A*20
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02555.500,E,T022*26
+$GPRMC,125614,A,6127.807,N,02350.653,E,022.2,342.7,110805,006.0,E*71
+$GPRMB,A,0.83,R,T013,T012,6129.236,N,02346.327,E,002.5,304.6,017.5,V*29
+$GPGGA,125615,6127.808,N,02350.652,E,1,04,2.8,174.2,M,20.7,M,,*4A
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,30,10,17,209,30*71
+$GPGSV,3,2,11,15,13,333,41,18,17,328,40,19,21,036,39,21,05,299,00*7A
+$GPGSV,3,3,11,26,59,278,45,28,60,147,39,29,68,254,46,,,,*4D
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.812,N,02350.649,E,125615,A*28
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T021*23
+$GPRMC,125616,A,6127.815,N,02350.647,E,021.7,342.3,110805,006.0,E*77
+$GPRMB,A,0.82,R,T013,T012,6129.236,N,02346.327,E,002.5,304.5,017.2,V*2C
+$GPGGA,125616,6127.816,N,02350.646,E,1,04,2.8,174.2,M,20.7,M,,*43
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,30,10,17,209,30*71
+$GPGSV,3,2,11,15,13,333,41,18,17,328,41,19,21,036,38,21,05,299,00*7A
+$GPGSV,3,3,11,26,59,278,45,28,60,147,39,29,68,254,46,,,,*4D
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.819,N,02350.644,E,125617,A*2C
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6116.083,N,02452.500,E,T020*22
+$GPRMC,125617,A,6127.822,N,02350.642,E,021.7,342.3,110805,006.0,E*77
+$GPRMB,A,0.82,R,T013,T012,6129.236,N,02346.327,E,002.5,304.4,017.2,V*2D
+$GPGGA,125617,6127.823,N,02350.641,E,1,04,2.8,174.2,M,20.7,M,,*43
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,30,10,17,209,30*71
+$GPGSV,3,2,11,15,13,333,41,18,17,328,41,19,21,036,38,21,05,299,00*7A
+$GPGSV,3,3,11,26,59,278,45,28,60,147,39,29,68,254,46,,,,*4D
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.827,N,02350.639,E,125618,A*24
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,S,02452.500,E,T019*34
+$GPRMC,125618,A,6127.830,N,02350.637,E,021.1,342.6,110805,006.0,E*7A
+$GPRMB,A,0.81,R,T013,T012,6129.236,N,02346.327,E,002.5,304.3,016.6,V*2C
+$GPGGA,125619,6127.831,N,02350.636,E,1,04,2.8,174.2,M,20.7,M,,*4E
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,30,10,17,209,30*71
+$GPGSV,3,2,11,15,13,333,41,18,17,328,41,19,21,036,36,21,05,299,00*74
+$GPGSV,3,3,11,26,59,278,45,28,61,145,39,29,68,254,46,,,,*4E
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.834,N,02350.634,E,125619,A*2A
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,N,02452.500,E,T018*28
+$GPRMC,125620,A,6127.837,N,02350.632,E,020.5,342.6,110805,006.0,E*76
+$GPRMB,A,0.80,R,T013,T012,6129.236,N,02346.327,E,002.5,304.2,016.1,V*2B
+$GPGGA,125620,6127.837,N,02350.632,E,1,04,2.8,174.2,M,20.7,M,,*46
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,30,10,17,209,30*71
+$GPGSV,3,2,11,15,13,333,41,18,17,328,41,19,21,036,36,21,05,299,00*74
+$GPGSV,3,3,11,26,59,278,46,28,61,145,38,29,68,254,46,,,,*4C
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.839,N,02350.631,E,125620,A*28
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6013.283,N,02456.650,E,T017*22
+$GPRMC,125621,A,6127.840,N,02350.630,E,012.0,344.0,110805,006.0,E*71
+$GPRMB,A,0.80,R,T013,T012,6129.236,N,02346.327,E,002.5,304.1,010.6,V*29
+$GPGGA,125621,6127.841,N,02350.629,E,1,04,2.8,174.2,M,20.7,M,,*4C
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,30,10,17,209,30*71
+$GPGSV,3,2,11,15,13,333,40,18,17,328,40,19,21,036,35,21,05,299,00*77
+$GPGSV,3,3,11,26,59,278,46,28,61,145,39,29,68,254,46,,,,*4D
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.843,N,02350.628,E,125622,A*2F
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T016*21
+$GPRMC,125622,A,6127.844,N,02350.628,E,010.3,344.8,110805,006.0,E*76
+$GPRMB,A,0.80,R,T013,T012,6129.236,N,02346.327,E,002.5,304.1,007.8,V*21
+$GPGGA,125622,6127.845,N,02350.627,E,1,04,2.8,174.2,M,20.7,M,,*45
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,35,10,17,209,30*74
+$GPGSV,3,2,11,15,13,333,40,18,17,328,40,19,21,036,34,21,05,299,00*76
+$GPGSV,3,3,11,26,59,278,46,28,61,145,38,29,68,251,46,,,,*49
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.846,N,02350.626,E,125623,A*25
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0000.000,N,00000.000,W,T015*39
+$GPRMC,125623,A,6127.848,N,02350.626,E,009.6,345.2,110805,006.0,E*73
+$GPRMB,A,0.79,R,T013,T012,6129.236,N,02346.327,E,002.5,304.0,007.2,V*2C
+$GPGGA,125623,6127.848,N,02350.625,E,1,04,2.8,174.2,M,20.7,M,,*4B
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,38,10,17,209,30*79
+$GPGSV,3,2,11,15,13,333,40,18,17,328,40,19,21,036,34,21,05,299,00*76
+$GPGSV,3,3,11,26,59,278,47,28,61,145,39,29,68,251,47,,,,*48
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.849,N,02350.625,E,125624,A*2E
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0009.000,N,02430.650,E,T014*25
+$GPRMC,125624,A,6127.851,N,02350.624,E,008.6,347.1,110805,006.0,E*7E
+$GPRMB,A,0.79,R,T013,T012,6129.236,N,02346.327,E,002.5,304.0,006.3,V*2C
+$GPGGA,125625,6127.851,N,02350.624,E,1,04,2.8,174.2,M,20.7,M,,*44
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,39,10,17,209,30*78
+$GPGSV,3,2,11,15,13,333,39,18,17,328,40,19,21,036,33,21,05,299,00*7F
+$GPGSV,3,3,11,26,59,278,47,28,61,145,39,29,68,251,47,,,,*48
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.852,N,02350.623,E,125626,A*20
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.285,N,02430.651,E,T013*23
+$GPRMC,125626,A,6127.853,N,02350.623,E,007.5,345.7,110805,006.0,E*71
+$GPRMB,A,0.79,R,T013,T012,6129.236,N,02346.327,E,002.5,303.9,005.6,V*24
+$GPGGA,125626,6127.853,N,02350.623,E,1,04,3.5,174.2,M,20.7,M,,*4E
+$GPGSA,A,2,,,,,,18,,,26,28,29,,3.5,3.5,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,38,10,17,209,30*79
+$GPGSV,3,2,11,15,13,333,40,18,17,328,41,19,21,036,33,21,05,299,00*70
+$GPGSV,3,3,11,26,59,278,47,28,61,145,39,29,68,251,47,,,,*48
+$PGRME,14.0,M,,M,14.0,M*00
+$GPGLL,6127.855,N,02350.622,E,125627,A*27
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.236,N,02346.327,E,T012*22
+$GPRMC,125627,A,6127.856,N,02350.622,E,007.3,345.7,110805,006.0,E*72
+$GPRMB,A,0.79,R,T013,T012,6129.236,N,02346.327,E,002.5,303.9,005.5,V*27
+$GPGGA,125628,6127.856,N,02350.621,E,1,04,2.8,174.2,M,20.7,M,,*4B
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,38,10,17,209,30*79
+$GPGSV,3,2,11,15,13,333,40,18,17,328,41,19,21,036,32,21,05,299,00*71
+$GPGSV,3,3,11,26,59,278,47,28,61,145,39,29,68,251,47,,,,*48
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.857,N,02350.621,E,125628,A*29
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6114.236,N,02346.327,E,T011*2F
+$GPRMC,125629,A,6127.858,N,02350.620,E,007.8,345.5,110805,006.0,E*79
+$GPRMB,A,0.79,R,T013,T012,6129.236,N,02346.327,E,002.5,303.8,005.8,V*2B
+$GPGGA,125629,6127.859,N,02350.620,E,1,04,3.5,174.2,M,20.7,M,,*48
+$GPGSA,A,2,,,,,,18,,,26,28,29,,3.5,3.5,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,38,10,17,209,30*79
+$GPGSV,3,2,11,15,13,333,40,18,17,328,41,19,21,036,32,21,05,299,00*71
+$GPGSV,3,3,11,26,59,278,47,28,61,145,38,29,68,251,46,,,,*48
+$PGRME,14.0,M,,M,14.0,M*00
+$GPGLL,6127.860,N,02350.619,E,125630,A*2F
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6220.236,N,02346.327,E,T010*2A
+$GPRMC,125630,A,6127.861,N,02350.619,E,008.1,346.4,110805,006.0,E*75
+$GPRMB,A,0.78,R,T013,T012,6129.236,N,02346.327,E,002.5,303.8,005.8,V*2A
+$GPGGA,125630,6127.862,N,02350.619,E,1,04,4.2,174.2,M,20.7,M,,*42
+$GPGSA,A,2,,,,,,18,,,26,28,29,,4.2,4.2,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,41,10,17,209,30*77
+$GPGSV,3,2,11,15,13,333,40,18,17,328,40,19,21,036,31,21,05,299,00*73
+$GPGSV,3,3,11,26,59,278,47,28,61,145,37,29,68,251,46,,,,*47
+$PGRME,14.0,M,,M,14.0,M*00
+$GPGLL,6127.863,N,02350.618,E,125630,A*2D
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6120.236,N,02346.327,E,T009*21
+$GPRMC,125632,A,6127.864,N,02350.617,E,008.1,346.4,110805,006.0,E*7C
+$GPRMB,A,0.78,R,T013,T012,6129.236,N,02346.327,E,002.5,303.8,006.0,V*21
+$GPGGA,125632,6127.865,N,02350.617,E,1,04,4.2,174.2,M,20.7,M,,*49
+$GPGSA,A,2,,,,,,18,,,26,28,29,,4.2,4.2,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,41,10,17,209,30*77
+$GPGSV,3,2,11,15,13,333,40,18,17,328,40,19,21,036,31,21,05,299,00*73
+$GPGSV,3,3,11,26,59,278,47,28,61,145,37,29,68,251,46,,,,*47
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.868,N,02350.615,E,125632,A*29
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.234,N,02346.317,E,T008*28
+$GPRMC,125632,A,6127.870,N,02350.614,E,015.1,343.3,110805,006.0,E*74
+$GPRMB,A,0.77,R,T013,T012,6129.236,N,02346.327,E,002.5,303.7,011.7,V*20
+$GPGGA,125632,6127.870,N,02350.613,E,1,04,2.8,174.2,M,20.7,M,,*45
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,40,10,17,209,30*76
+$GPGSV,3,2,11,15,13,333,40,18,17,328,40,19,21,036,31,21,05,299,00*73
+$GPGSV,3,3,11,26,59,278,47,28,61,145,36,29,68,251,46,,,,*46
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.873,N,02350.612,E,125632,A*24
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6157.564,N,02406.158,E,T007*26
+$GPRMC,125634,A,6127.875,N,02350.610,E,015.1,343.3,110805,006.0,E*73
+$GPRMB,A,0.77,R,T013,T012,6129.236,N,02346.327,E,002.5,303.6,011.7,V*21
+$GPGGA,125634,6127.876,N,02350.610,E,1,04,2.8,174.2,M,20.7,M,,*46
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,40,10,17,209,30*76
+$GPGSV,3,2,11,15,13,333,40,18,17,328,40,19,21,036,31,21,05,299,00*73
+$GPGSV,3,3,11,26,59,278,47,28,61,145,36,29,68,251,46,,,,*46
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.879,N,02350.609,E,125635,A*23
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6145.919,N,02345.544,E,T006*2B
+$GPRMC,125635,A,6127.882,N,02350.607,E,018.1,345.4,110805,006.0,E*70
+$GPRMB,A,0.76,R,T013,T012,6129.236,N,02346.327,E,002.5,303.5,013.5,V*23
+$GPGGA,125635,6127.883,N,02350.607,E,1,04,2.8,174.2,M,20.7,M,,*4B
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,41,10,17,209,30*77
+$GPGSV,3,2,11,15,13,333,40,18,17,328,40,19,21,036,31,21,05,299,00*73
+$GPGSV,3,3,11,26,59,278,47,28,61,145,36,29,68,251,46,,,,*46
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.886,N,02350.605,E,125636,A*2C
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6130.198,N,02342.702,E,T005*2C
+$GPRMC,125636,A,6127.888,N,02350.604,E,018.9,345.4,110805,006.0,E*72
+$GPRMB,A,0.76,R,T013,T012,6129.236,N,02346.327,E,002.5,303.4,014.1,V*21
+$GPGGA,125636,6127.889,N,02350.603,E,1,04,2.8,174.2,M,20.7,M,,*46
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,42,10,17,209,30*74
+$GPGSV,3,2,11,15,13,333,40,18,17,328,40,19,21,036,31,21,05,299,00*73
+$GPGSV,3,3,11,26,59,278,47,28,61,145,36,29,68,251,46,,,,*46
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.893,N,02350.601,E,125637,A*2D
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6216.183,N,02619.685,E,T004*25
+$GPRMC,125637,A,6127.896,N,02350.600,E,020.0,346.9,110805,006.0,E*74
+$GPRMB,A,0.75,R,T013,T012,6129.236,N,02346.327,E,002.5,303.2,014.5,V*20
+$GPGGA,125637,6127.897,N,02350.599,E,1,04,3.5,174.2,M,20.7,M,,*44
+$GPGSA,A,2,,,,,,18,,,26,28,29,,3.5,3.5,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,42,10,17,209,30*74
+$GPGSV,3,2,11,15,13,333,40,18,17,328,40,19,21,036,31,21,05,299,00*73
+$GPGSV,3,3,11,26,59,278,47,28,61,145,35,29,68,251,46,,,,*45
+$PGRME,14.0,M,,M,14.0,M*00
+$GPGLL,6127.901,N,02350.598,E,125638,A*2B
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6215.064,N,02603.837,E,T003*25
+$GPRMC,125639,A,6127.904,N,02350.597,E,021.5,348.6,110805,006.0,E*78
+$GPRMB,A,0.74,R,T013,T012,6129.236,N,02346.327,E,002.4,303.1,015.1,V*26
+$GPGGA,125640,6127.905,N,02350.597,E,1,04,4.8,174.2,M,20.7,M,,*4A
+$GPGSA,A,2,,,,,,18,,,26,28,29,,4.8,4.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,42,10,17,209,30*74
+$GPGSV,3,2,11,15,13,333,40,18,17,328,41,19,21,036,30,21,05,299,00*73
+$GPGSV,3,3,11,26,59,278,47,28,61,145,34,29,68,251,46,,,,*44
+$PGRME,14.0,M,,M,14.0,M*00
+$GPGLL,6127.909,N,02350.595,E,125640,A*21
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6151.098,N,02510.924,E,T002*26
+$GPRMC,125641,A,6127.912,N,02350.594,E,022.3,347.6,110805,006.0,E*79
+$GPRMB,A,0.74,R,T013,T012,6129.236,N,02346.327,E,002.4,303.0,015.9,V*2F
+$GPGGA,125641,6127.914,N,02350.593,E,1,04,5.8,174.2,M,20.7,M,,*4E
+$GPGSA,A,2,,,,,,18,,,26,28,29,,5.8,5.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,41,10,17,209,30*77
+$GPGSV,3,2,11,15,13,333,40,18,17,328,41,19,21,036,30,21,05,299,00*73
+$GPGSV,3,3,11,26,59,278,48,28,61,145,34,29,68,251,47,,,,*4A
+$PGRME,14.0,M,,M,14.0,M*00
+$GPGLL,6127.918,N,02350.591,E,125642,A*27
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.271,N,02346.376,E,T001*27
+$GPRMC,125642,A,6127.921,N,02350.590,E,023.1,347.4,110805,006.0,E*7F
+$GPRMB,A,0.73,R,T013,T012,6129.236,N,02346.327,E,002.4,302.8,016.5,V*2E
+$GPGGA,125642,6127.922,N,02350.590,E,1,04,2.8,174.2,M,20.7,M,,*4C
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,41,10,17,209,30*77
+$GPGSV,3,2,11,15,13,333,40,18,17,328,42,19,21,036,30,21,05,299,00*70
+$GPGSV,3,3,11,26,59,278,47,28,61,145,34,29,68,251,47,,,,*45
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.926,N,02350.588,E,125643,A*23
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPRTE,4,1,c,0,T030,T029,T028,T027,T026,T025,T024,T023,T022*49
+$GPRTE,4,2,c,0,T021,T020,T019,T018,T017,T016,T015,T014,T013*4B
+$GPRTE,4,3,c,0,T012,T011,T010,T009,T008,T007,T006,T005,T004*4B
+$GPRTE,4,4,c,0,T003,T002,T001*4F
+$GPWPL,6016.083,N,02452.500,E,T030*22
+$GPRMC,125643,A,6127.932,N,02350.585,E,023.3,347.4,110805,006.0,E*7A
+$GPRMB,A,0.72,R,T013,T012,6129.236,N,02346.327,E,002.4,302.6,016.5,V*21
+$GPGGA,125643,6127.933,N,02350.585,E,1,04,3.5,174.2,M,20.7,M,,*45
+$GPGSA,A,2,,,,,,18,,,26,28,29,,3.5,3.5,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,40,10,17,209,30*76
+$GPGSV,3,2,11,15,13,333,40,18,17,328,42,19,21,036,30,21,05,299,00*70
+$GPGSV,3,3,11,26,59,278,47,28,61,145,33,29,68,251,47,,,,*42
+$PGRME,14.0,M,,M,14.0,M*00
+$GPGLL,6127.937,N,02350.583,E,125644,A*2F
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T029*2D
+$GPRMC,125645,A,6127.940,N,02350.582,E,023.4,348.2,110805,006.0,E*70
+$GPRMB,A,0.71,R,T013,T012,6129.236,N,02346.327,E,002.4,302.5,016.4,V*20
+$GPGGA,125645,6127.942,N,02350.581,E,1,04,4.8,174.2,M,20.7,M,,*4B
+$GPGSA,A,2,,,,,,18,,,26,28,29,,4.8,4.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,39,10,17,209,30*78
+$GPGSV,3,2,11,15,13,333,40,18,17,328,42,19,21,036,30,21,05,299,00*70
+$GPGSV,3,3,11,26,59,278,47,28,61,145,33,29,68,251,47,,,,*42
+$PGRME,14.0,M,,M,14.0,M*00
+$GPGLL,6127.946,N,02350.580,E,125646,A*28
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6023.283,N,02430.650,E,T028*2D
+$GPRMC,125646,A,6127.949,N,02350.578,E,023.9,348.5,110805,006.0,E*75
+$GPRMB,A,0.70,R,T013,T012,6129.236,N,02346.327,E,002.4,302.3,016.5,V*26
+$GPGGA,125647,6127.951,N,02350.578,E,1,04,5.3,174.2,M,20.7,M,,*47
+$GPGSA,A,2,,,,,,18,,,26,28,29,,5.3,5.3,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,41,10,17,209,30*77
+$GPGSV,3,2,11,15,13,333,40,18,17,328,42,19,21,036,32,21,05,299,00*72
+$GPGSV,3,3,11,26,59,278,47,28,61,145,32,29,68,251,47,,,,*43
+$PGRME,14.0,M,,M,14.0,M*00
+$GPGLL,6127.955,N,02350.576,E,125647,A*22
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T027*23
+$GPRMC,125648,A,6127.958,N,02350.575,E,024.1,348.8,110805,006.0,E*74
+$GPRMB,A,0.69,R,T013,T012,6129.236,N,02346.327,E,002.4,302.2,016.6,V*2C
+$GPGGA,125648,6127.959,N,02350.574,E,1,04,5.8,174.2,M,20.7,M,,*47
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,41,10,17,209,30*77
+$GPGSV,3,2,11,15,13,333,40,18,17,328,42,19,21,036,32,21,05,299,00*72
+$GPGSV,3,3,11,26,59,278,47,28,61,145,32,29,68,251,47,,,,*43
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.964,N,02350.573,E,125649,A*2B
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T026*24
+$GPRMC,125649,A,6127.968,N,02350.572,E,025.3,349.1,110805,006.0,E*7A
+$GPRMB,A,0.69,R,T013,T012,6129.236,N,02346.327,E,002.4,302.0,017.2,V*2B
+$GPGGA,125649,6127.969,N,02350.571,E,1,04,3.5,174.2,M,20.7,M,,*4B
+$GPGSA,A,2,,,,,,18,,,26,28,29,,3.5,3.5,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,41,10,17,209,30*77
+$GPGSV,3,2,11,15,13,333,40,18,17,328,42,19,21,036,36,21,05,299,00*76
+$GPGSV,3,3,11,26,59,278,48,28,61,145,32,29,68,251,46,,,,*4D
+$PGRME,14.0,M,,M,14.0,M*00
+$GPGLL,6127.973,N,02350.570,E,125650,A*26
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,S,02453.500,E,T025*3B
+$GPRMC,125650,A,6127.977,N,02350.568,E,025.7,348.9,110805,006.0,E*7A
+$GPRMB,A,0.68,R,T013,T012,6129.236,N,02346.327,E,002.4,301.8,017.5,V*26
+$GPGGA,125650,6127.978,N,02350.567,E,1,04,4.2,174.2,M,20.7,M,,*44
+$GPGSA,A,2,,,,,,18,,,26,28,29,,4.2,4.2,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,41,10,17,209,30*77
+$GPGSV,3,2,11,15,13,333,40,18,17,328,42,19,21,036,35,21,05,299,00*75
+$GPGSV,3,3,11,26,59,278,48,28,61,145,32,29,68,251,46,,,,*4D
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.983,N,02350.566,E,125651,A*2F
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6018.083,N,02453.500,E,T024*28
+$GPRMC,125652,A,6127.987,N,02350.564,E,026.4,348.9,110805,006.0,E*7B
+$GPRMB,A,0.67,R,T013,T012,6129.236,N,02346.327,E,002.4,301.6,017.9,V*2B
+$GPGGA,125652,6127.988,N,02350.564,E,1,04,2.8,174.2,M,20.7,M,,*46
+$GPGSA,A,2,,,,,,18,,,26,28,29,,3.5,3.5,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,41,10,17,209,30*77
+$GPGSV,3,2,11,15,13,333,40,18,17,328,42,19,21,036,34,21,05,299,00*74
+$GPGSV,3,3,11,26,59,278,47,28,61,145,31,29,68,251,46,,,,*41
+$PGRME,14.0,M,,M,14.0,M*00
+$GPGLL,6127.993,N,02350.562,E,125652,A*29
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,W,T023*33
+$GPRMC,125653,A,6127.997,N,02350.561,E,026.8,349.6,110805,006.0,E*7C
+$GPRMB,A,0.66,R,T013,T012,6129.236,N,02346.327,E,002.4,301.4,017.9,V*28
+$GPGGA,125653,6127.999,N,02350.561,E,1,04,4.2,174.2,M,20.7,M,,*4E
+$GPGSA,A,2,,,,,,18,,,26,28,29,,4.2,4.2,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,41,10,17,209,30*77
+$GPGSV,3,2,11,15,13,333,40,18,17,328,42,19,21,036,34,21,05,299,00*74
+$GPGSV,3,3,11,26,59,278,47,28,61,145,31,29,68,251,46,,,,*41
+$PGRME,14.0,M,,M,14.0,M*00
+$GPGLL,6128.003,N,02350.559,E,125654,A*28
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02555.500,E,T022*26
+$GPRMC,125654,A,6128.007,N,02350.557,E,027.7,349.2,110805,006.0,E*7B
+$GPRMB,A,0.65,R,T013,T012,6129.236,N,02346.327,E,002.4,301.3,018.6,V*2C
+$GPGGA,125654,6128.009,N,02350.557,E,1,04,4.8,174.2,M,20.7,M,,*49
+$GPGSA,A,2,,,,,,18,,,26,28,29,,4.8,4.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,40,10,17,209,31*77
+$GPGSV,3,2,11,15,13,333,39,18,17,328,42,19,21,036,38,21,05,299,00*76
+$GPGSV,3,3,11,26,59,278,47,28,61,145,30,29,68,251,46,,,,*40
+$PGRME,14.0,M,,M,14.0,M*00
+$GPGLL,6128.014,N,02350.555,E,125655,A*23
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T021*23
+$GPRMC,125655,A,6128.018,N,02350.553,E,028.2,348.9,110805,006.0,E*70
+$GPRMB,A,0.64,R,T013,T012,6129.236,N,02346.327,E,002.4,301.1,018.9,V*20
+$GPGGA,125656,6128.019,N,02350.553,E,1,04,5.3,174.2,M,20.7,M,,*44
+$GPGSA,A,2,,,,,,18,,,26,28,29,,5.3,5.3,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,40,10,17,209,31*77
+$GPGSV,3,2,11,15,13,333,39,18,17,328,42,19,21,036,41,21,05,299,00*78
+$GPGSV,3,3,11,26,59,278,48,28,61,145,30,29,68,251,46,,,,*4F
+$PGRME,14.0,M,,M,14.0,M*00
+$GPGLL,6128.024,N,02350.551,E,125656,A*27
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6116.083,N,02452.500,E,T020*22
+$GPRMC,125657,A,6128.029,N,02350.549,E,029.0,349.4,110805,006.0,E*74
+$GPRMB,A,0.63,R,T013,T012,6129.236,N,02346.327,E,002.4,300.8,019.2,V*25
+$GPGGA,125657,6128.031,N,02350.549,E,1,04,6.3,174.2,M,20.7,M,,*47
+$GPGSA,A,2,,,,,,18,,,26,28,29,,6.3,6.3,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,40,10,17,209,31*77
+$GPGSV,3,2,11,15,13,333,39,18,17,328,42,19,21,036,43,21,05,299,00*7A
+$GPGSV,3,3,11,26,59,278,47,28,61,145,30,29,68,251,46,,,,*40
+$PGRME,14.0,M,,M,14.0,M*00
+$GPGLL,6128.035,N,02350.547,E,125657,A*21
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,S,02452.500,E,T019*34
+$GPRMC,125658,A,6128.041,N,02350.546,E,035.1,352.4,110805,006.0,E*7C
+$GPRMB,A,0.62,R,T013,T012,6129.236,N,02346.327,E,002.4,300.7,019.2,V*2B
+$GPGGA,125658,6128.043,N,02350.545,E,1,04,2.8,174.2,M,20.7,M,,*4E
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,37,07,00,154,00,08,54,094,40,10,17,209,31*73
+$GPGSV,3,2,11,15,13,333,39,18,17,328,42,19,21,036,43,21,05,299,00*7A
+$GPGSV,3,3,11,26,59,278,47,28,61,145,31,29,68,251,46,,,,*41
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.049,N,02350.544,E,125659,A*27
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,N,02452.500,E,T018*28
+$GPRMC,125659,A,6128.054,N,02350.543,E,035.7,352.4,110805,006.0,E*7A
+$GPRMB,A,0.61,R,T013,T012,6129.236,N,02346.327,E,002.3,300.4,022.0,V*26
+$GPGGA,125700,6128.056,N,02350.542,E,1,04,2.8,174.2,M,20.7,M,,*41
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,34,07,00,154,00,08,54,094,40,10,17,209,31*70
+$GPGSV,3,2,11,15,13,333,38,18,17,328,42,19,21,036,45,21,05,299,00*7D
+$GPGSV,3,3,11,26,59,278,47,28,61,145,33,29,68,251,46,,,,*43
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.063,N,02350.541,E,125700,A*27
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6013.283,N,02456.650,E,T017*22
+$GPRMC,125701,A,6128.068,N,02350.539,E,035.8,351.7,110805,006.0,E*7B
+$GPRMB,A,0.59,R,T013,T012,6129.236,N,02346.327,E,002.3,300.1,022.3,V*2B
+$GPGGA,125701,6128.070,N,02350.539,E,1,04,2.8,174.2,M,20.7,M,,*48
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,34,07,00,154,00,08,54,094,39,10,17,209,30*7F
+$GPGSV,3,2,11,15,13,333,38,18,17,328,42,19,21,036,44,21,05,299,00*7C
+$GPGSV,3,3,11,26,59,278,47,28,61,145,34,29,68,251,46,,,,*44
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.076,N,02350.537,E,125702,A*20
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T016*21
+$GPRMC,125702,A,6128.082,N,02350.535,E,036.0,349.9,110805,006.0,E*7C
+$GPRMB,A,0.58,R,T013,T012,6129.236,N,02346.327,E,002.3,299.8,023.2,V*22
+$GPGGA,125702,6128.084,N,02350.534,E,1,04,3.5,174.2,M,20.7,M,,*41
+$GPGSA,A,2,,,,,,18,,,26,28,29,,3.5,3.5,*11
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,54,094,38,10,17,209,31*7E
+$GPGSV,3,2,11,15,13,333,38,18,17,328,42,19,21,036,43,21,05,299,00*7B
+$GPGSV,3,3,11,26,59,278,47,28,61,145,33,29,68,251,46,,,,*43
+$PGRME,14.0,M,,M,14.0,M*00
+$GPGLL,6128.090,N,02350.532,E,125703,A*2C
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0000.000,N,00000.000,W,T015*39
+$GPRMC,125703,A,6128.095,N,02350.530,E,035.9,350.4,110805,006.0,E*71
+$GPRMB,A,0.57,R,T013,T012,6129.236,N,02346.327,E,002.3,299.5,022.7,V*24
+$GPGGA,125703,6128.098,N,02350.529,E,1,04,2.8,174.2,M,20.7,M,,*4D
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,54,094,38,10,17,209,31*7E
+$GPGSV,3,2,11,15,13,333,38,18,17,328,42,19,21,036,41,21,05,299,00*79
+$GPGSV,3,3,11,26,59,278,47,28,61,145,34,29,68,251,46,,,,*44
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.104,N,02350.527,E,125703,A*24
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0009.000,N,02430.650,E,T014*25
+$GPRMC,125703,A,6128.109,N,02350.526,E,035.9,350.4,110805,006.0,E*72
+$GPRMB,A,0.55,R,T013,T012,6129.236,N,02346.327,E,002.3,299.3,022.7,V*20
+$GPGGA,125703,6128.111,N,02350.525,E,1,04,2.8,174.2,M,20.7,M,,*41
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,54,094,37,10,17,209,31*71
+$GPGSV,3,2,11,15,13,333,38,18,17,328,42,19,21,036,41,21,05,299,00*79
+$GPGSV,3,3,11,26,59,278,47,28,61,145,34,29,68,251,46,,,,*44
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.117,N,02350.523,E,125705,A*24
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.285,N,02430.651,E,T013*23
+$GPRMC,125706,A,6128.122,N,02350.521,E,035.8,350.4,110805,006.0,E*78
+$GPRMB,A,0.54,R,T013,T012,6129.236,N,02346.327,E,002.3,299.0,022.4,V*21
+$GPGGA,125706,6128.124,N,02350.520,E,1,04,2.8,174.2,M,20.7,M,,*47
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,37,10,17,209,32*75
+$GPGSV,3,2,11,15,13,333,39,18,17,328,42,19,21,036,40,21,05,299,00*79
+$GPGSV,3,3,11,26,59,278,47,28,61,145,34,29,68,251,46,,,,*44
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.131,N,02350.518,E,125707,A*2A
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.236,N,02346.327,E,T012*22
+$GPRMC,125707,A,6128.136,N,02350.516,E,036.0,350.6,110805,006.0,E*71
+$GPRMB,A,0.53,R,T013,T012,6129.236,N,02346.327,E,002.3,298.8,022.4,V*2F
+$GPGGA,125708,6128.138,N,02350.516,E,1,04,2.8,174.2,M,20.7,M,,*41
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,38,10,17,209,35*7D
+$GPGSV,3,2,11,15,13,333,38,18,17,328,42,19,21,036,39,21,05,299,00*76
+$GPGSV,3,3,11,26,59,278,47,28,61,145,34,29,68,251,46,,,,*44
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.144,N,02350.514,E,125708,A*2B
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6114.236,N,02346.327,E,T011*2F
+$GPRMC,125709,A,6128.149,N,02350.512,E,036.4,350.9,110805,006.0,E*78
+$GPRMB,A,0.52,R,T013,T012,6129.236,N,02346.327,E,002.3,298.5,022.3,V*24
+$GPGGA,125709,6128.151,N,02350.511,E,1,04,2.8,174.2,M,20.7,M,,*48
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,37,10,17,209,36*71
+$GPGSV,3,2,11,15,13,333,38,18,17,328,42,19,21,036,39,21,05,299,00*76
+$GPGSV,3,3,11,26,59,278,47,28,61,145,35,29,68,251,46,,,,*45
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.158,N,02350.509,E,125709,A*2B
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6220.236,N,02346.327,E,T010*2A
+$GPRMC,125710,A,6128.163,N,02350.507,E,036.8,351.0,110805,006.0,E*78
+$GPRMB,A,0.50,R,T013,T012,6129.236,N,02346.327,E,002.3,298.2,022.3,V*21
+$GPGGA,125710,6128.165,N,02350.507,E,1,04,2.8,174.2,M,20.7,M,,*40
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,37,10,17,209,36*71
+$GPGSV,3,2,11,15,13,333,39,18,17,328,43,19,21,036,38,21,05,299,00*77
+$GPGSV,3,3,11,26,59,278,47,28,61,145,35,29,68,251,46,,,,*45
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.172,N,02350.505,E,125711,A*26
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6120.236,N,02346.327,E,T009*21
+$GPRMC,125711,A,6128.177,N,02350.503,E,036.9,350.9,110805,006.0,E*71
+$GPRMB,A,0.49,R,T013,T012,6129.236,N,02346.327,E,002.3,297.9,022.3,V*2D
+$GPGGA,125711,6128.179,N,02350.502,E,1,04,2.8,174.2,M,20.7,M,,*49
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,37,10,17,209,36*71
+$GPGSV,3,2,11,15,13,333,39,18,17,328,43,19,21,036,40,21,05,299,00*78
+$GPGSV,3,3,11,26,59,278,47,28,61,145,35,29,68,251,46,,,,*45
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.185,N,02350.500,E,125712,A*28
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.234,N,02346.317,E,T008*28
+$GPRMC,125713,A,6128.191,N,02350.498,E,037.4,350.0,110805,006.0,E*7D
+$GPRMB,A,0.48,R,T013,T012,6129.236,N,02346.327,E,002.3,297.6,022.9,V*29
+$GPGGA,125713,6128.193,N,02350.497,E,1,04,2.8,174.2,M,20.7,M,,*42
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,36,10,17,209,35*73
+$GPGSV,3,2,11,15,13,333,38,18,17,328,43,19,21,036,41,21,05,299,00*78
+$GPGSV,3,3,11,26,59,278,47,28,61,145,36,29,68,251,47,,,,*47
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.199,N,02350.495,E,125713,A*29
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6157.564,N,02406.158,E,T007*26
+$GPRMC,125714,A,6128.205,N,02350.493,E,037.3,349.9,110805,006.0,E*79
+$GPRMB,A,0.47,R,T013,T012,6129.236,N,02346.327,E,002.3,297.4,022.8,V*25
+$GPGGA,125714,6128.207,N,02350.492,E,1,04,2.8,174.2,M,20.7,M,,*4E
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,36,10,16,209,35*72
+$GPGSV,3,2,11,15,13,333,38,18,17,328,43,19,21,036,41,21,05,299,42*7E
+$GPGSV,3,3,11,26,59,278,47,28,61,145,37,29,68,251,47,,,,*46
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.213,N,02350.490,E,125715,A*2B
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6145.919,N,02345.544,E,T006*2B
+$GPRMC,125715,A,6128.219,N,02350.487,E,037.3,349.8,110805,006.0,E*71
+$GPRMB,A,0.45,R,T013,T012,6129.236,N,02346.327,E,002.2,297.0,022.6,V*2C
+$GPGGA,125715,6128.221,N,02350.486,E,1,04,2.8,174.2,M,20.7,M,,*4E
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,31,07,01,153,00,08,53,094,34,10,16,209,34*73
+$GPGSV,3,2,11,15,13,333,38,18,17,328,43,19,21,036,40,21,05,299,43*7E
+$GPGSV,3,3,11,26,59,278,47,28,61,145,37,29,68,251,47,,,,*46
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.228,N,02350.484,E,125716,A*25
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6130.198,N,02342.702,E,T005*2C
+$GPRMC,125717,A,6128.233,N,02350.482,E,037.2,349.5,110805,006.0,E*72
+$GPRMB,A,0.44,R,T013,T012,6129.236,N,02346.327,E,002.2,296.8,022.6,V*24
+$GPGGA,125717,6128.235,N,02350.481,E,1,04,2.8,174.2,M,20.7,M,,*4E
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,32,07,01,153,00,08,53,094,34,10,16,209,34*70
+$GPGSV,3,2,11,15,13,333,38,18,17,328,42,19,21,036,40,21,05,299,44*78
+$GPGSV,3,3,11,26,59,278,47,28,61,145,37,29,68,251,47,,,,*46
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.241,N,02350.478,E,125717,A*28
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6216.183,N,02619.685,E,T004*25
+$GPRMC,125718,A,6128.247,N,02350.476,E,037.4,349.1,110805,006.0,E*77
+$GPRMB,A,0.43,R,T013,T012,6129.236,N,02346.327,E,002.2,296.5,022.7,V*2F
+$GPGGA,125718,6128.249,N,02350.475,E,1,04,2.8,174.2,M,20.7,M,,*41
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,32,07,01,153,00,08,53,094,34,10,16,209,34*70
+$GPGSV,3,2,11,15,13,333,38,18,17,328,42,19,21,036,39,21,05,299,44*76
+$GPGSV,3,3,11,26,59,278,48,28,61,145,37,29,68,251,47,,,,*49
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.255,N,02350.471,E,125719,A*2A
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6215.064,N,02603.837,E,T003*25
+$GPRMC,125719,A,6128.260,N,02350.469,E,037.7,348.6,110805,006.0,E*78
+$GPRMB,A,0.42,R,T013,T012,6129.236,N,02346.327,E,002.2,296.2,023.0,V*2F
+$GPGGA,125719,6128.262,N,02350.468,E,1,04,2.8,174.2,M,20.7,M,,*45
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,32,07,01,153,00,08,53,094,33,10,16,209,34*77
+$GPGSV,3,2,11,15,13,333,38,18,17,328,42,19,21,036,39,21,05,299,42*70
+$GPGSV,3,3,11,26,59,278,48,28,61,145,36,29,68,251,47,,,,*48
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.269,N,02350.465,E,125720,A*2A
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6151.098,N,02510.924,E,T002*26
+$GPRMC,125720,A,6128.274,N,02350.463,E,038.0,348.3,110805,006.0,E*70
+$GPRMB,A,0.40,R,T013,T012,6129.236,N,02346.327,E,002.2,295.9,023.3,V*26
+$GPGGA,125721,6128.276,N,02350.462,E,1,04,2.8,174.2,M,20.7,M,,*41
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,32,10,16,209,33*70
+$GPGSV,3,2,11,15,13,333,38,18,17,328,42,19,21,036,37,21,05,299,41*7D
+$GPGSV,3,3,11,26,59,278,48,28,61,145,35,29,68,251,47,,,,*4B
+$PGRME,14.0,M,,M,14.0,M*00
+$GPGLL,6128.283,N,02350.459,E,125721,A*20
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.271,N,02346.376,E,T001*27
+$GPRMC,125722,A,6128.288,N,02350.456,E,038.4,348.3,110805,006.0,E*73
+$GPRMB,A,0.39,R,T013,T012,6129.236,N,02346.327,E,002.2,295.6,023.4,V*20
+$GPGGA,125722,6128.290,N,02350.455,E,1,04,4.2,174.2,M,20.7,M,,*42
+$GPGSA,A,2,,,,,,18,,,26,28,29,,4.2,4.2,*11
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,33,10,16,209,33*71
+$GPGSV,3,2,11,15,13,333,38,18,17,328,42,19,21,036,39,21,05,299,40*72
+$GPGSV,3,3,11,26,59,278,48,28,61,145,35,29,68,251,47,,,,*4B
+$PGRME,14.0,M,,M,14.0,M*00
+$GPGLL,6128.297,N,02350.452,E,125723,A*2C
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPRTE,4,1,c,0,T030,T029,T028,T027,T026,T025,T024,T023,T022*49
+$GPRTE,4,2,c,0,T021,T020,T019,T018,T017,T016,T015,T014,T013*4B
+$GPRTE,4,3,c,0,T012,T011,T010,T009,T008,T007,T006,T005,T004*4B
+$GPRTE,4,4,c,0,T003,T002,T001*4F
+$GPWPL,6016.083,N,02452.500,E,T030*22
+$GPRMC,125723,A,6128.308,N,02350.447,E,039.1,347.3,110805,006.0,E*70
+$GPRMB,A,0.38,R,T013,T012,6129.236,N,02346.327,E,002.2,295.3,024.1,V*26
+$GPGGA,125724,6128.310,N,02350.446,E,1,04,2.8,174.2,M,20.7,M,,*43
+$GPGSA,A,2,,,,,,18,,,26,28,29,,3.5,3.5,*11
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,34,10,16,209,32*77
+$GPGSV,3,2,11,15,13,333,38,18,17,328,41,19,21,036,37,21,05,299,40*7F
+$GPGSV,3,3,11,26,59,278,48,28,61,145,34,29,68,251,47,,,,*4A
+$PGRME,14.0,M,,M,14.0,M*00
+$GPGLL,6128.317,N,02350.442,E,125724,A*23
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T029*2D
+$GPRMC,125725,A,6128.322,N,02350.440,E,039.3,346.6,110805,006.0,E*7F
+$GPRMB,A,0.36,R,T013,T012,6129.236,N,02346.327,E,002.2,294.9,024.4,V*26
+$GPGGA,125725,6128.324,N,02350.439,E,1,04,3.5,174.2,M,20.7,M,,*41
+$GPGSA,A,2,,,,,,18,,,26,28,29,,3.5,3.5,*11
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,33,10,16,209,32*70
+$GPGSV,3,2,11,15,13,333,39,18,17,328,41,19,21,036,38,21,05,299,39*7F
+$GPGSV,3,3,11,26,59,278,48,28,61,145,36,29,68,251,47,,,,*48
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.331,N,02350.434,E,125725,A*27
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6023.283,N,02430.650,E,T028*2D
+$GPRMC,125726,A,6128.336,N,02350.431,E,039.5,345.7,110805,006.0,E*7B
+$GPRMB,A,0.35,R,T013,T012,6129.236,N,02346.327,E,002.2,294.6,024.9,V*27
+$GPGGA,125726,6128.338,N,02350.430,E,1,04,2.8,174.2,M,20.7,M,,*4A
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,34,10,16,209,32*77
+$GPGSV,3,2,11,15,13,333,39,18,17,328,41,19,21,036,40,21,05,299,38*71
+$GPGSV,3,3,11,26,59,278,48,28,61,145,37,29,68,251,47,,,,*49
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.345,N,02350.425,E,125727,A*26
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T027*23
+$GPRMC,125727,A,6128.350,N,02350.422,E,039.6,345.3,110805,006.0,E*7F
+$GPRMB,A,0.33,R,T013,T012,6129.236,N,02346.327,E,002.2,294.3,025.0,V*2C
+$GPGGA,125728,6128.353,N,02350.421,E,1,04,2.8,174.2,M,20.7,M,,*49
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,36,10,16,209,31*76
+$GPGSV,3,2,11,15,13,333,40,18,17,328,41,19,21,036,43,21,05,299,37*73
+$GPGSV,3,3,11,26,59,278,47,28,61,145,37,29,68,251,47,,,,*46
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.359,N,02350.417,E,125728,A*25
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T026*24
+$GPRMC,125729,A,6128.365,N,02350.413,E,039.7,344.0,110805,006.0,E*76
+$GPRMB,A,0.32,R,T013,T012,6129.236,N,02346.327,E,002.1,294.0,025.5,V*28
+$GPGGA,125729,6128.367,N,02350.412,E,1,04,2.8,174.2,M,20.7,M,,*4F
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,36,10,16,209,33*74
+$GPGSV,3,2,11,15,13,333,40,18,17,328,41,19,21,036,44,21,05,299,37*74
+$GPGSV,3,3,11,26,59,278,47,28,61,145,38,29,68,251,47,,,,*49
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.373,N,02350.408,E,125730,A*2A
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,S,02453.500,E,T025*3B
+$GPRMC,125730,A,6128.379,N,02350.404,E,039.8,343.6,110805,006.0,E*7B
+$GPRMB,A,0.31,R,T013,T012,6129.236,N,02346.327,E,002.1,293.7,025.6,V*28
+$GPGGA,125730,6128.381,N,02350.402,E,1,04,2.8,174.2,M,20.7,M,,*4E
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,31,07,01,153,00,08,53,094,36,10,16,209,34*71
+$GPGSV,3,2,11,15,13,333,40,18,17,328,40,19,21,036,44,21,05,299,36*74
+$GPGSV,3,3,11,26,59,278,47,28,61,145,39,29,68,251,46,,,,*49
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.388,N,02350.398,E,125731,A*21
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6018.083,N,02453.500,E,T024*28
+$GPRMC,125731,A,6128.393,N,02350.394,E,039.8,343.1,110805,006.0,E*77
+$GPRMB,A,0.30,R,T013,T012,6129.236,N,02346.327,E,002.1,293.4,025.9,V*25
+$GPGGA,125732,6128.395,N,02350.393,E,1,04,2.8,174.2,M,20.7,M,,*46
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,31,07,01,153,00,08,53,094,37,10,16,209,37*73
+$GPGSV,3,2,11,15,13,333,41,18,17,328,38,19,21,036,44,21,05,299,35*79
+$GPGSV,3,3,11,26,59,278,46,28,61,145,38,29,68,251,46,,,,*49
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.402,N,02350.388,E,125732,A*26
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,W,T023*33
+$GPRMC,125733,A,6128.407,N,02350.384,E,039.8,342.4,110805,006.0,E*7A
+$GPRMB,A,0.28,R,T013,T012,6129.236,N,02346.327,E,002.1,293.1,026.0,V*23
+$GPGGA,125733,6128.409,N,02350.382,E,1,04,2.8,174.2,M,20.7,M,,*45
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,31,07,01,153,00,08,53,094,38,10,16,209,36*7D
+$GPGSV,3,2,11,15,13,333,42,18,17,328,38,19,21,036,44,21,05,299,36*79
+$GPGSV,3,3,11,26,59,278,46,28,61,145,38,29,68,251,46,,,,*49
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.415,N,02350.378,E,125733,A*2E
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02555.500,E,T022*26
+$GPRMC,125734,A,6128.421,N,02350.373,E,039.7,341.2,110805,006.0,E*7B
+$GPRMB,A,0.27,R,T013,T012,6129.236,N,02346.327,E,002.1,292.8,026.4,V*20
+$GPGGA,125734,6128.423,N,02350.372,E,1,04,2.8,174.2,M,20.7,M,,*45
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,37,10,16,209,36*70
+$GPGSV,3,2,11,15,13,332,42,18,17,328,37,19,21,036,44,21,05,299,36*77
+$GPGSV,3,3,11,26,59,278,46,28,61,145,39,29,68,251,47,,,,*49
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.429,N,02350.367,E,125734,A*28
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T021*23
+$GPRMC,125735,A,6128.434,N,02350.364,E,039.7,341.2,110805,006.0,E*78
+$GPRMB,A,0.26,R,T013,T012,6129.236,N,02346.327,E,002.1,292.5,026.4,V*2C
+$GPGGA,125735,6128.437,N,02350.362,E,1,04,4.0,174.2,M,20.7,M,,*4E
+$GPGSA,A,2,,,,,,18,,,26,28,29,,4.0,4.0,*11
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,38,10,16,209,35*7C
+$GPGSV,3,2,11,15,13,332,42,18,17,328,36,19,21,036,44,21,05,299,37*77
+$GPGSV,3,3,11,26,59,278,46,28,61,145,39,29,68,251,47,,,,*49
+$PGRME,15.9,M,,M,15.9,M*00
+$GPGLL,6128.443,N,02350.357,E,125736,A*25
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6116.083,N,02452.500,E,T020*22
+$GPRMC,125736,A,6128.448,N,02350.351,E,039.4,340.1,110805,006.0,E*77
+$GPRMB,A,0.25,R,T013,T012,6129.236,N,02346.327,E,002.1,292.3,026.5,V*28
+$GPGGA,125737,6128.450,N,02350.350,E,1,04,2.2,174.2,M,20.7,M,,*48
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.2,2.2,1.0*37
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,38,10,16,209,36*7F
+$GPGSV,3,2,11,15,13,332,42,18,17,328,36,19,21,036,44,21,05,299,36*76
+$GPGSV,3,3,11,26,59,278,46,28,61,145,39,29,68,251,48,,,,*46
+$PGRME,8.3,M,17.6,M,9.8,M*14
+$GPGLL,6128.454,N,02350.341,E,125737,A*25
+$PGRMZ,564,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,S,02452.500,E,T019*34
+$GPRMC,125738,A,6128.459,N,02350.335,E,038.5,335.8,110805,006.0,E*70
+$GPRMB,A,0.24,R,T013,T012,6129.236,N,02346.327,E,002.1,292.0,027.7,V*29
+$GPGGA,125738,6128.461,N,02350.333,E,1,05,2.3,171.9,M,20.7,M,,*4E
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.3,2.3,1.0*37
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,37,10,16,209,36*70
+$GPGSV,3,2,11,15,13,332,42,18,17,328,37,19,21,036,43,21,05,299,36*70
+$GPGSV,3,3,11,26,59,278,46,28,61,145,39,29,68,251,48,,,,*46
+$PGRME,8.6,M,16.6,M,10.0,M*20
+$GPGLL,6128.467,N,02350.328,E,125739,A*24
+$PGRMZ,564,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,N,02452.500,E,T018*28
+$GPRMC,125739,A,6128.472,N,02350.322,E,038.6,335.6,110805,006.0,E*73
+$GPRMB,A,0.23,R,T013,T012,6129.236,N,02346.327,E,002.1,291.8,027.9,V*2B
+$GPGGA,125739,6128.474,N,02350.321,E,1,05,2.3,171.9,M,20.7,M,,*48
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.3,2.3,1.0*37
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,38,10,16,209,36*7F
+$GPGSV,3,2,11,15,13,332,42,18,17,328,38,19,21,036,42,21,05,299,35*7D
+$GPGSV,3,3,11,26,59,278,46,28,61,145,39,29,68,251,48,,,,*46
+$PGRME,8.6,M,16.6,M,10.0,M*20
+$GPGLL,6128.480,N,02350.315,E,125740,A*2D
+$PGRMZ,564,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6013.283,N,02456.650,E,T017*22
+$GPRMC,125740,A,6128.484,N,02350.308,E,038.6,335.1,110805,006.0,E*7B
+$GPRMB,A,0.22,R,T013,T012,6129.236,N,02346.327,E,002.1,291.5,028.0,V*21
+$GPGGA,125741,6128.486,N,02350.306,E,1,05,2.5,168.5,M,20.7,M,,*4D
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.9,2.5,1.6*3D
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,38,10,16,209,34*7D
+$GPGSV,3,2,11,15,13,332,41,18,17,328,39,19,21,036,40,21,05,299,34*7C
+$GPGSV,3,3,11,26,59,278,46,28,61,145,39,29,68,251,48,,,,*46
+$PGRME,9.5,M,16.6,M,11.1,M*22
+$GPGLL,6128.492,N,02350.298,E,125741,A*2B
+$PGRMZ,552,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T016*21
+$GPRMC,125742,A,6128.497,N,02350.292,E,039.4,332.4,110805,006.0,E*78
+$GPRMB,A,0.21,R,T013,T012,6129.236,N,02346.327,E,002.0,291.3,029.7,V*23
+$GPGGA,125742,6128.498,N,02350.289,E,1,05,2.5,168.4,M,20.7,M,,*46
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.8,2.5,1.0*3A
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,38,10,16,209,32*7B
+$GPGSV,3,2,11,15,13,332,40,18,17,328,39,19,21,036,39,21,05,299,33*74
+$GPGSV,3,3,11,26,59,278,46,28,61,145,39,29,68,251,48,,,,*46
+$PGRME,9.5,M,16.6,M,11.1,M*22
+$GPGLL,6128.505,N,02350.283,E,125743,A*2C
+$PGRMZ,552,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0000.000,N,00000.000,W,T015*39
+$GPRMC,125743,A,6128.509,N,02350.277,E,039.4,332.2,110805,006.0,E*72
+$GPRMB,A,0.20,R,T013,T012,6129.236,N,02346.327,E,002.0,291.0,029.7,V*21
+$GPGGA,125743,6128.511,N,02350.275,E,1,05,2.5,168.3,M,20.7,M,,*43
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.8,2.5,1.0*3A
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,37,10,16,209,32*74
+$GPGSV,3,2,11,15,13,332,41,18,17,328,40,19,21,036,38,21,05,299,33*7A
+$GPGSV,3,3,11,26,59,278,46,28,61,145,39,29,68,251,48,,,,*46
+$PGRME,9.5,M,16.6,M,11.1,M*22
+$GPGLL,6128.517,N,02350.268,E,125744,A*2D
+$PGRMZ,552,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0009.000,N,02430.650,E,T014*25
+$GPRMC,125744,A,6128.522,N,02350.262,E,039.5,332.1,110805,006.0,E*7A
+$GPRMB,A,0.19,R,T013,T012,6129.236,N,02346.327,E,002.0,290.8,029.7,V*22
+$GPGGA,125745,6128.524,N,02350.260,E,1,05,2.6,168.3,M,20.7,M,,*44
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.8,2.6,1.0*39
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,36,10,16,209,32*75
+$GPGSV,3,2,11,15,13,332,39,18,17,328,40,19,21,036,37,21,05,299,32*7B
+$GPGSV,3,3,11,26,59,278,46,28,61,145,40,29,68,251,48,,,,*48
+$PGRME,9.5,M,16.6,M,11.1,M*22
+$GPGLL,6128.530,N,02350.253,E,125745,A*21
+$PGRMZ,552,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.285,N,02430.651,E,T013*23
+$GPRMC,125746,A,6128.535,N,02350.247,E,039.5,331.8,110805,006.0,E*73
+$GPRMB,A,0.18,R,T013,T012,6129.236,N,02346.327,E,002.0,290.5,029.8,V*21
+$GPGGA,125746,6128.537,N,02350.245,E,1,05,2.6,168.2,M,20.7,M,,*43
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.8,2.6,1.0*39
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,36,10,16,209,32*75
+$GPGSV,3,2,11,15,13,332,39,18,18,327,40,19,21,036,37,21,05,299,32*7B
+$GPGSV,3,3,11,26,59,278,45,28,61,145,40,29,68,251,47,,,,*44
+$PGRME,9.5,M,16.6,M,11.1,M*22
+$GPGLL,6128.542,N,02350.237,E,125746,A*25
+$PGRMZ,552,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.236,N,02346.327,E,T012*22
+$GPRMC,125747,A,6128.547,N,02350.230,E,040.1,329.4,110805,006.0,E*78
+$GPRMB,A,0.17,R,T013,T012,6129.236,N,02346.327,E,002.0,290.2,031.1,V*29
+$GPGGA,125747,6128.549,N,02350.227,E,1,05,2.6,168.2,M,20.7,M,,*4F
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.8,2.6,1.0*39
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,36,10,16,209,32*75
+$GPGSV,3,2,11,15,13,332,39,18,18,327,39,19,21,036,36,21,05,299,32*74
+$GPGSV,3,3,11,26,59,278,46,28,61,145,40,29,68,251,47,,,,*47
+$PGRME,9.5,M,16.6,M,11.1,M*22
+$GPGLL,6128.555,N,02350.220,E,125748,A*2B
+$PGRMZ,552,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6114.236,N,02346.327,E,T011*2F
+$GPRMC,125748,A,6128.560,N,02350.214,E,040.0,329.3,110805,006.0,E*72
+$GPRMB,A,0.16,R,T013,T012,6129.236,N,02346.327,E,002.0,290.0,031.0,V*2B
+$GPGGA,125748,6128.562,N,02350.211,E,1,05,2.6,168.2,M,20.7,M,,*4C
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.8,2.6,1.0*39
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,35,10,16,209,33*77
+$GPGSV,3,2,11,15,13,332,38,18,18,327,40,19,21,036,35,21,05,299,31*7B
+$GPGSV,3,3,11,26,59,278,47,28,61,145,40,29,68,251,47,,,,*46
+$PGRME,9.5,M,16.6,M,11.1,M*22
+$GPGLL,6128.568,N,02350.203,E,125749,A*25
+$PGRMZ,552,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6220.236,N,02346.327,E,T010*2A
+$GPRMC,125750,A,6128.572,N,02350.197,E,039.8,329.1,110805,006.0,E*74
+$GPRMB,A,0.15,R,T013,T012,6129.236,N,02346.327,E,002.0,289.7,030.9,V*2F
+$GPGGA,125750,6128.574,N,02350.195,E,1,05,2.6,168.2,M,20.7,M,,*4D
+$GPGSA,A,3,,,,,,18,,,26,28,29,,2.8,2.6,1.0*31
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,34,10,16,209,33*76
+$GPGSV,3,2,11,15,13,332,38,18,18,327,39,19,21,035,34,21,05,299,31*77
+$GPGSV,3,3,11,26,59,278,47,28,61,145,40,29,68,251,47,,,,*46
+$PGRME,9.5,M,16.6,M,11.1,M*22
+$GPGLL,6128.580,N,02350.187,E,125750,A*24
+$PGRMZ,552,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6120.236,N,02346.327,E,T009*21
+$GPRMC,125751,A,6128.585,N,02350.181,E,039.4,329.0,110805,006.0,E*77
+$GPRMB,A,0.14,R,T013,T012,6129.236,N,02346.327,E,002.0,289.4,030.3,V*27
+$GPGGA,125751,6128.587,N,02350.179,E,1,04,2.7,168.2,M,20.7,M,,*42
+$GPGSA,A,3,,,,,,18,,,26,28,29,,2.8,2.7,1.0*30
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,34,10,16,209,35*70
+$GPGSV,3,2,11,15,13,332,37,18,18,327,39,19,21,035,34,21,05,299,31*78
+$GPGSV,3,3,11,26,59,278,48,28,61,145,40,29,68,251,47,,,,*49
+$PGRME,9.5,M,16.6,M,11.1,M*22
+$GPGLL,6128.592,N,02350.172,E,125752,A*2F
+$PGRMZ,552,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.234,N,02346.317,E,T008*28
+$GPRMC,125752,A,6128.597,N,02350.165,E,039.2,328.9,110805,006.0,E*73
+$GPRMB,A,0.13,R,T013,T012,6129.236,N,02346.327,E,001.9,289.2,030.2,V*2D
+$GPGGA,125752,6128.599,N,02350.163,E,1,04,2.7,168.2,M,20.7,M,,*45
+$GPGSA,A,3,,,,,,18,,,26,28,29,,2.8,2.7,1.0*30
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,33,10,16,209,34*76
+$GPGSV,3,2,11,15,13,332,36,18,18,327,39,19,21,035,34,21,05,299,31*79
+$GPGSV,3,3,11,26,59,278,48,28,61,145,40,29,68,251,47,,,,*49
+$PGRME,9.7,M,16.6,M,11.1,M*20
+$GPGLL,6128.605,N,02350.155,E,125753,A*26
+$PGRMZ,552,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6157.564,N,02406.158,E,T007*26
+$GPRMC,125753,A,6128.609,N,02350.149,E,039.0,328.7,110805,006.0,E*74
+$GPRMB,A,0.12,R,T013,T012,6129.236,N,02346.327,E,001.9,288.9,030.0,V*24
+$GPGGA,125753,6128.611,N,02350.147,E,1,04,2.7,168.2,M,20.7,M,,*41
+$GPGSA,A,3,,,,,,18,,,26,28,29,,2.8,2.7,1.0*30
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,34,10,16,209,33*76
+$GPGSV,3,2,11,15,13,332,36,18,18,327,40,19,21,035,33,21,05,299,31*70
+$GPGSV,3,3,11,26,59,278,48,28,61,145,39,29,68,251,48,,,,*48
+$PGRME,9.7,M,16.6,M,11.1,M*20
+$GPGLL,6128.617,N,02350.139,E,125754,A*28
+$PGRMZ,552,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6145.919,N,02345.544,E,T006*2B
+$GPRMC,125755,A,6128.621,N,02350.132,E,038.8,328.3,110805,006.0,E*79
+$GPRMB,A,0.11,R,T013,T012,6129.236,N,02346.327,E,001.9,288.7,029.9,V*28
+$GPGGA,125755,6128.622,N,02350.130,E,1,04,2.8,165.6,M,20.7,M,,*41
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,3.3,2.8,1.6*3B
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,34,10,16,209,33*76
+$GPGSV,3,2,11,15,13,332,36,18,18,327,39,19,21,035,35,21,05,299,31*78
+$GPGSV,3,3,11,26,59,278,48,28,61,145,40,29,68,251,47,,,,*49
+$PGRME,10.3,M,17.7,M,13.2,M*1D
+$GPGLL,6128.628,N,02350.122,E,125755,A*2F
+$PGRMZ,543,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6130.198,N,02342.702,E,T005*2C
+$GPRMC,125756,A,6128.632,N,02350.116,E,038.7,328.3,110805,006.0,E*71
+$GPRMB,A,0.10,R,T013,T012,6129.236,N,02346.327,E,001.9,288.4,029.9,V*2A
+$GPGGA,125756,6128.634,N,02350.114,E,1,05,2.8,165.5,M,20.7,M,,*41
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.8,2.8,1.0*37
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,33,10,16,209,33*71
+$GPGSV,3,2,11,15,13,332,37,18,18,327,39,19,21,035,35,21,05,299,31*79
+$GPGSV,3,3,11,26,59,278,48,28,61,145,39,29,68,251,47,,,,*47
+$PGRME,10.4,M,16.6,M,11.1,M*1B
+$GPGLL,6128.640,N,02350.107,E,125757,A*24
+$PGRMZ,534,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6216.183,N,02619.685,E,T004*25
+$GPRMC,125757,A,6128.643,N,02350.099,E,038.6,328.6,110805,006.0,E*74
+$GPRMB,A,0.09,R,T013,T012,6129.236,N,02346.327,E,001.9,288.2,029.4,V*29
+$GPGGA,125758,6128.645,N,02350.097,E,1,05,2.9,162.8,M,20.7,M,,*48
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,3.3,2.9,1.6*3A
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,34,10,16,209,33*76
+$GPGSV,3,2,11,15,13,332,39,18,18,327,39,19,21,035,41,21,05,299,31*74
+$GPGSV,3,3,11,26,59,278,48,28,61,145,38,29,68,251,47,,,,*46
+$PGRME,10.9,M,17.7,M,13.2,M*17
+$GPGLL,6128.649,N,02350.088,E,125758,A*24
+$PGRMZ,526,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6215.064,N,02603.837,E,T003*25
+$GPRMC,125759,A,6128.654,N,02350.082,E,038.4,328.5,110805,006.0,E*77
+$GPRMB,A,0.08,R,T013,T012,6129.236,N,02346.327,E,001.9,287.9,029.2,V*2A
+$GPGGA,125759,6128.656,N,02350.080,E,1,05,2.8,160.2,M,20.7,M,,*44
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.8,2.8,1.0*37
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,37,10,16,209,32*74
+$GPGSV,3,2,11,15,13,332,40,18,18,327,40,19,21,035,40,21,05,299,31*75
+$GPGSV,3,3,11,26,59,278,48,28,61,145,38,29,68,251,47,,,,*46
+$PGRME,11.0,M,16.6,M,11.1,M*1E
+$GPGLL,6128.661,N,02350.073,E,125759,A*2B
+$PGRMZ,526,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6151.098,N,02510.924,E,T002*26
+$GPRMC,125800,A,6128.665,N,02350.065,E,038.1,328.2,110805,006.0,E*7D
+$GPRMB,A,0.08,R,T013,T012,6129.236,N,02346.327,E,001.9,287.7,029.0,V*26
+$GPGGA,125800,6128.667,N,02350.063,E,1,05,2.9,157.7,M,20.7,M,,*48
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,3.3,2.9,1.6*3A
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,36,10,16,209,32*75
+$GPGSV,3,2,11,15,13,332,40,18,18,327,40,19,21,035,41,21,05,299,31*74
+$GPGSV,3,3,11,26,59,278,48,28,61,145,38,29,68,251,47,,,,*46
+$PGRME,11.5,M,17.7,M,13.2,M*1A
+$GPGLL,6128.672,N,02350.056,E,125801,A*2C
+$PGRMZ,510,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.271,N,02346.376,E,T001*27
+$GPRMC,125801,A,6128.676,N,02350.049,E,038.0,328.2,110805,006.0,E*71
+$GPRMB,A,0.07,R,T013,T012,6129.236,N,02346.327,E,001.9,287.5,028.9,V*23
+$GPGGA,125801,6128.677,N,02350.047,E,1,05,3.0,155.5,M,20.7,M,,*46
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,3.7,3.0,2.1*32
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,39,10,16,209,32*7A
+$GPGSV,3,2,11,15,13,332,40,18,18,327,39,19,21,035,45,21,05,299,31*7E
+$GPGSV,3,3,11,26,59,278,48,28,61,145,38,29,68,251,47,,,,*46
+$PGRME,11.5,M,17.7,M,13.2,M*1A
+$GPGLL,6128.682,N,02350.038,E,125802,A*28
+$PGRMZ,503,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPRTE,4,1,c,0,T030,T029,T028,T027,T026,T025,T024,T023,T022*49
+$GPRTE,4,2,c,0,T021,T020,T019,T018,T017,T016,T015,T014,T013*4B
+$GPRTE,4,3,c,0,T012,T011,T010,T009,T008,T007,T006,T005,T004*4B
+$GPRTE,4,4,c,0,T003,T002,T001*4F
+$GPWPL,6016.083,N,02452.500,E,T030*22
+$GPRMC,125803,A,6128.689,N,02350.027,E,037.7,328.8,110805,006.0,E*79
+$GPRMB,A,0.06,R,T013,T012,6129.236,N,02346.327,E,001.9,287.2,028.2,V*2E
+$GPGGA,125803,6128.691,N,02350.025,E,1,05,1.9,151.3,M,20.7,M,,*41
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,1.9,1.9,1.0*37
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,40,10,16,209,31*77
+$GPGSV,3,2,11,15,13,332,40,18,18,327,39,19,21,035,45,21,05,299,31*7E
+$GPGSV,3,3,11,26,59,278,47,28,61,145,37,29,68,251,47,,,,*46
+$PGRME,11.5,M,17.7,M,13.2,M*1A
+$GPGLL,6128.696,N,02350.018,E,125804,A*29
+$PGRMZ,496,f,3*10
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T029*2D
+$GPRMC,125804,A,6128.700,N,02350.012,E,037.3,329.5,110805,006.0,E*70
+$GPRMB,A,0.05,R,T013,T012,6129.236,N,02346.327,E,001.8,286.9,027.5,V*2E
+$GPGGA,125804,6128.703,N,02350.008,E,1,05,1.8,149.3,M,20.7,M,,*4B
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,1.8,1.8,1.0*37
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,40,10,16,209,31*77
+$GPGSV,3,2,11,15,13,332,41,18,18,327,40,19,21,035,45,21,05,299,30*70
+$GPGSV,3,3,11,26,59,278,46,28,61,145,36,29,68,251,47,,,,*46
+$PGRME,11.5,M,17.7,M,13.2,M*1A
+$GPGLL,6128.708,N,02350.002,E,125804,A*24
+$PGRMZ,490,f,3*16
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6023.283,N,02430.650,E,T028*2D
+$GPRMC,125804,A,6128.712,N,02349.996,E,037.3,329.5,110805,006.0,E*7E
+$GPRMB,A,0.04,R,T013,T012,6129.236,N,02346.327,E,001.8,286.6,027.5,V*20
+$GPGGA,125804,6128.714,N,02349.994,E,1,05,1.8,149.3,M,20.7,M,,*49
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,1.8,1.8,1.0*37
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,40,10,16,209,31*77
+$GPGSV,3,2,11,15,13,332,41,18,18,327,39,19,21,035,44,21,05,299,30*7F
+$GPGSV,3,3,11,26,59,278,46,28,61,145,38,29,68,251,47,,,,*48
+$PGRME,11.1,M,16.6,M,11.1,M*1F
+$GPGLL,6128.720,N,02349.987,E,125806,A*20
+$PGRMZ,490,f,3*16
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T027*23
+$GPRMC,125806,A,6128.724,N,02349.982,E,037.4,329.9,110805,006.0,E*77
+$GPRMB,A,0.03,R,T013,T012,6129.236,N,02346.327,E,001.8,286.3,027.1,V*26
+$GPGGA,125807,6128.726,N,02349.980,E,1,05,1.9,149.3,M,20.7,M,,*4F
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,1.9,1.9,1.0*37
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,40,10,16,209,31*77
+$GPGSV,3,2,11,15,13,332,41,18,18,327,39,19,21,035,43,21,05,299,00*7B
+$GPGSV,3,3,11,26,59,278,45,28,61,145,38,29,68,251,47,,,,*4B
+$PGRME,11.1,M,16.6,M,11.1,M*1F
+$GPGLL,6128.731,N,02349.973,E,125808,A*25
+$PGRMZ,490,f,3*16
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T026*24
+$GPRMC,125808,A,6128.736,N,02349.967,E,037.6,330.7,110805,006.0,E*75
+$GPRMB,A,0.02,R,T013,T012,6129.236,N,02346.327,E,001.8,286.0,026.8,V*2C
+$GPGGA,125808,6128.738,N,02349.965,E,1,05,2.1,149.2,M,20.7,M,,*4E
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.1,2.1,1.0*37
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,41,10,16,209,31*76
+$GPGSV,3,2,11,15,13,332,41,18,18,327,40,19,21,035,42,21,05,299,00*74
+$GPGSV,3,3,11,26,59,278,45,28,61,145,38,29,68,251,48,,,,*44
+$PGRME,11.6,M,17.7,M,13.2,M*19
+$GPGLL,6128.743,N,02349.958,E,125809,A*28
+$PGRMZ,485,f,3*12
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,S,02453.500,E,T025*3B
+$GPRMC,125810,A,6128.747,N,02349.952,E,037.8,330.8,110805,006.0,E*7D
+$GPRMB,A,0.01,R,T013,T012,6129.236,N,02346.327,E,001.8,285.7,026.7,V*24
+$GPGGA,125810,6128.748,N,02349.949,E,1,05,2.5,146.4,M,20.7,M,,*43
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,3.2,2.5,2.1*33
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,41,10,16,209,31*76
+$GPGSV,3,2,11,15,13,332,39,18,18,327,39,19,21,035,42,21,05,299,00*75
+$GPGSV,3,3,11,26,59,278,45,28,61,145,37,29,68,251,48,,,,*4B
+$PGRME,11.6,M,17.7,M,13.2,M*19
+$GPGLL,6128.754,N,02349.942,E,125810,A*2D
+$PGRMZ,480,f,3*17
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6018.083,N,02453.500,E,T024*28
+$GPRMC,125811,A,6128.759,N,02349.937,E,037.8,331.1,110805,006.0,E*78
+$GPRMB,A,0.00,R,T013,T012,6129.236,N,02346.327,E,001.8,285.5,026.6,V*26
+$GPGGA,125811,6128.760,N,02349.935,E,1,05,2.5,146.3,M,20.7,M,,*44
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,4.3,3.7,1.0*34
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,41,10,16,209,31*76
+$GPGSV,3,2,11,15,13,332,38,18,18,327,38,19,21,035,41,21,05,299,00*76
+$GPGSV,3,3,11,26,59,278,45,28,61,145,38,29,68,251,48,,,,*44
+$PGRME,16.2,M,16.6,M,17.6,M*1A
+$GPGLL,6128.766,N,02349.928,E,125811,A*21
+$PGRMZ,480,f,3*17
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,W,T023*33
+$GPRMC,125812,A,6128.771,N,02349.923,E,037.9,331.5,110805,006.0,E*71
+$GPRMB,A,0.01,L,T013,T012,6129.236,N,02346.327,E,001.8,285.1,026.2,V*39
+$GPGGA,125812,6128.772,N,02349.921,E,1,05,3.7,146.2,M,20.7,M,,*43
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,4.3,3.7,1.0*34
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,40,10,16,209,31*77
+$GPGSV,3,2,11,15,13,332,39,18,18,327,38,19,21,035,40,21,05,299,00*76
+$GPGSV,3,3,11,26,59,278,44,28,61,145,37,29,68,251,30,,,,*45
+$PGRME,16.2,M,16.6,M,17.6,M*1A
+$GPGLL,6128.778,N,02349.915,E,125813,A*22
+$PGRMZ,480,f,3*17
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02555.500,E,T022*26
+$GPRMC,125813,A,6128.781,N,02349.908,E,038.0,331.7,110805,006.0,E*72
+$GPRMB,A,0.02,L,T013,T012,6129.236,N,02346.327,E,001.8,284.8,026.1,V*31
+$GPGGA,125814,6128.783,N,02349.906,E,1,05,4.9,142.8,M,20.7,M,,*49
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,5.7,4.9,1.0*38
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,40,10,16,209,31*77
+$GPGSV,3,2,11,15,13,332,40,18,18,327,36,19,21,035,43,21,05,299,31*77
+$GPGSV,3,3,11,26,59,278,44,28,61,145,37,29,68,251,42,,,,*40
+$PGRME,7.5,M,16.6,M,7.5,M*1F
+$GPGLL,6128.789,N,02349.901,E,125814,A*2E
+$PGRMZ,469,f,3*10
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T021*23
+$GPRMC,125815,A,6128.794,N,02349.897,E,037.8,334.5,110805,006.0,E*77
+$GPRMB,A,0.03,L,T013,T012,6129.236,N,02346.327,E,001.8,284.5,024.5,V*3B
+$GPGGA,125815,6128.795,N,02349.895,E,1,05,1.8,142.4,M,20.7,M,,*4C
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,1.8,1.8,1.0*37
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,39,10,16,209,30*78
+$GPGSV,3,2,11,15,13,332,41,18,18,327,35,19,21,035,44,21,05,299,33*70
+$GPGSV,3,3,11,26,59,278,44,28,61,145,37,29,68,251,43,,,,*41
+$PGRME,8.4,M,17.7,M,9.9,M*13
+$GPGLL,6128.801,N,02349.889,E,125815,A*21
+$PGRMZ,467,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6116.083,N,02452.500,E,T020*22
+$GPRMC,125816,A,6128.805,N,02349.884,E,036.9,335.7,110805,006.0,E*72
+$GPRMB,A,0.04,L,T013,T012,6129.236,N,02346.327,E,001.8,284.2,023.0,V*39
+$GPGGA,125816,6128.807,N,02349.883,E,1,05,1.8,141.7,M,20.7,M,,*4C
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,1.8,1.8,1.0*37
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,38,10,16,209,30*79
+$GPGSV,3,2,11,15,13,332,41,18,18,327,33,19,21,035,44,21,05,299,34*71
+$GPGSV,3,3,11,26,59,278,44,28,61,145,38,29,68,251,45,,,,*48
+$PGRME,8.4,M,17.7,M,9.9,M*13
+$GPGLL,6128.812,N,02349.877,E,125817,A*20
+$PGRMZ,465,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,S,02452.500,E,T019*34
+$GPRMC,125817,A,6128.817,N,02349.873,E,036.5,335.5,110805,006.0,E*76
+$GPRMB,A,0.05,L,T013,T012,6129.236,N,02346.327,E,001.8,283.9,022.7,V*32
+$GPGGA,125818,6128.819,N,02349.871,E,1,05,1.8,141.7,M,20.7,M,,*40
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,1.8,1.8,1.0*37
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,38,10,16,209,35*7C
+$GPGSV,3,2,11,15,13,332,42,18,18,327,32,19,21,035,44,21,05,299,34*73
+$GPGSV,3,3,11,26,59,278,44,28,61,145,39,29,68,251,46,,,,*4A
+$PGRME,7.5,M,16.6,M,7.5,M*1F
+$GPGLL,6128.824,N,02349.866,E,125818,A*2A
+$PGRMZ,465,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,N,02452.500,E,T018*28
+$GPRMC,125819,A,6128.828,N,02349.861,E,035.9,336.0,110805,006.0,E*7E
+$GPRMB,A,0.06,L,T013,T012,6129.236,N,02346.327,E,001.7,283.5,022.0,V*35
+$GPGGA,125819,6128.830,N,02349.860,E,1,05,1.8,141.7,M,20.7,M,,*4A
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,1.8,1.8,1.0*37
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,37,10,16,209,37*71
+$GPGSV,3,2,11,15,13,332,42,18,18,327,31,19,21,035,45,21,05,299,34*71
+$GPGSV,3,3,11,26,59,277,44,28,61,145,39,29,68,251,46,,,,*45
+$PGRME,7.5,M,16.6,M,7.5,M*1F
+$GPGLL,6128.835,N,02349.854,E,125819,A*2A
+$PGRMZ,465,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6013.283,N,02456.650,E,T017*22
+$GPRMC,125820,A,6128.840,N,02349.850,E,035.6,336.0,110805,006.0,E*77
+$GPRMB,A,0.07,L,T013,T012,6129.236,N,02346.327,E,001.7,283.2,021.6,V*36
+$GPGGA,125820,6128.841,N,02349.848,E,1,05,1.8,141.7,M,20.7,M,,*4C
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,1.8,1.8,1.0*37
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,37,10,16,209,38*7E
+$GPGSV,3,2,11,15,13,332,42,18,18,327,31,19,21,035,45,21,05,299,33*76
+$GPGSV,3,3,11,26,59,277,44,28,61,145,39,29,68,251,46,,,,*45
+$PGRME,7.5,M,16.6,M,7.5,M*1F
+$GPGLL,6128.847,N,02349.842,E,125821,A*23
+$PGRMZ,465,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T016*21
+$GPRMC,125821,A,6128.851,N,02349.838,E,035.8,335.8,110805,006.0,E*7D
+$GPRMB,A,0.07,L,T013,T012,6129.236,N,02346.327,E,001.7,282.9,021.7,V*3D
+$GPGGA,125821,6128.853,N,02349.836,E,1,05,2.2,141.7,M,20.7,M,,*4E
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.2,2.2,1.0*37
+$GPGSV,3,1,11,03,04,013,30,07,01,153,00,08,53,094,37,10,16,209,39*7C
+$GPGSV,3,2,11,15,13,332,42,18,18,327,32,19,21,035,45,21,05,299,33*75
+$GPGSV,3,3,11,26,59,277,45,28,61,145,40,29,68,251,46,,,,*4A
+$PGRME,8.4,M,17.7,M,9.9,M*13
+$GPGLL,6128.858,N,02349.831,E,125822,A*2A
+$PGRMZ,463,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0000.000,N,00000.000,W,T015*39
+$GPRMC,125823,A,6128.863,N,02349.827,E,035.3,336.5,110805,006.0,E*75
+$GPRMB,A,0.08,L,T013,T012,6129.236,N,02346.327,E,001.7,282.6,020.8,V*33
+$GPGGA,125823,6128.864,N,02349.825,E,1,05,2.2,141.0,M,20.7,M,,*4D
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,1.8,1.8,1.0*37
+$GPGSV,3,1,11,03,04,013,30,07,01,153,00,08,53,094,36,10,16,209,39*7D
+$GPGSV,3,2,11,15,13,332,42,18,18,327,32,19,21,035,45,21,05,299,32*74
+$GPGSV,3,3,11,26,59,277,44,28,61,145,40,29,68,251,46,,,,*4B
+$PGRME,7.5,M,16.6,M,7.5,M*1F
+$GPGLL,6128.870,N,02349.820,E,125823,A*21
+$PGRMZ,463,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0009.000,N,02430.650,E,T014*25
+$GPRMC,125824,A,6128.874,N,02349.816,E,035.4,336.9,110805,006.0,E*7D
+$GPRMB,A,0.09,L,T013,T012,6129.236,N,02346.327,E,001.7,282.2,020.6,V*38
+$GPGGA,125824,6128.876,N,02349.814,E,1,05,1.8,141.0,M,20.7,M,,*42
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,1.8,1.8,1.0*37
+$GPGSV,3,1,11,03,04,013,30,07,01,153,00,08,53,094,38,10,16,209,40*7D
+$GPGSV,3,2,11,15,13,332,42,18,18,327,34,19,21,035,45,21,05,299,31*71
+$GPGSV,3,3,11,26,59,277,44,28,61,145,40,29,68,251,46,,,,*4B
+$PGRME,8.4,M,17.7,M,10.0,M*22
+$GPGLL,6128.881,N,02349.810,E,125824,A*2B
+$PGRMZ,459,f,3*13
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.285,N,02430.651,E,T013*23
+$GPRMC,125825,A,6128.885,N,02349.807,E,034.2,338.9,110805,006.0,E*7B
+$GPRMB,A,0.10,L,T013,T012,6129.236,N,02346.327,E,001.7,281.9,018.6,V*33
+$GPGGA,125825,6128.887,N,02349.805,E,1,05,1.8,140.0,M,20.7,M,,*4C
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,1.8,1.8,1.0*37
+$GPGSV,3,1,11,03,04,013,30,07,01,153,00,08,53,094,37,10,16,209,40*72
+$GPGSV,3,2,11,15,13,332,42,18,18,327,33,19,21,035,45,21,05,299,31*76
+$GPGSV,3,3,11,26,59,277,44,28,61,145,40,29,68,251,46,,,,*4B
+$PGRME,7.5,M,16.6,M,7.5,M*1F
+$GPGLL,6128.891,N,02349.800,E,125826,A*29
+$PGRMZ,454,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.236,N,02346.327,E,T012*22
+$GPRMC,125826,A,6128.896,N,02349.797,E,034.1,339.1,110805,006.0,E*76
+$GPRMB,A,0.11,L,T013,T012,6129.236,N,02346.327,E,001.7,281.6,018.4,V*3F
+$GPGGA,125827,6128.898,N,02349.795,E,1,05,2.1,138.5,M,20.7,M,,*46
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.5,2.1,1.6*35
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,38,10,16,209,40*7E
+$GPGSV,3,2,11,15,13,332,42,18,18,327,37,19,21,035,44,21,05,299,31*73
+$GPGSV,3,3,11,26,59,277,44,28,62,144,40,29,68,251,46,,,,*49
+$PGRME,8.4,M,17.7,M,10.0,M*22
+$GPGLL,6128.902,N,02349.791,E,125827,A*24
+$PGRMZ,450,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6114.236,N,02346.327,E,T011*2F
+$GPRMC,125828,A,6128.907,N,02349.787,E,033.9,339.2,110805,006.0,E*7C
+$GPRMB,A,0.12,L,T013,T012,6129.236,N,02346.327,E,001.7,281.3,018.1,V*3C
+$GPGGA,125828,6128.909,N,02349.786,E,1,05,2.3,137.1,M,20.7,M,,*4B
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.8,2.3,1.0*3C
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,37,10,16,209,39*7F
+$GPGSV,3,2,11,15,13,332,42,18,18,327,38,19,21,035,43,21,05,299,31*7B
+$GPGSV,3,3,11,26,59,277,45,28,62,144,39,29,68,251,46,,,,*46
+$PGRME,8.7,M,16.6,M,10.1,M*20
+$GPGLL,6128.914,N,02349.782,E,125829,A*2F
+$PGRMZ,450,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6220.236,N,02346.327,E,T010*2A
+$GPRMC,125829,A,6128.918,N,02349.778,E,033.5,339.5,110805,006.0,E*78
+$GPRMB,A,0.13,L,T013,T012,6129.236,N,02346.327,E,001.7,280.9,017.5,V*3D
+$GPGGA,125829,6128.919,N,02349.776,E,1,05,2.5,135.1,M,20.7,M,,*40
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,3.3,2.5,1.6*36
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,36,10,16,209,39*7E
+$GPGSV,3,2,11,15,13,332,41,18,18,327,39,19,21,035,43,21,05,299,31*79
+$GPGSV,3,3,11,26,59,277,45,28,62,144,39,29,68,251,46,,,,*46
+$PGRME,9.4,M,17.7,M,12.3,M*22
+$GPGLL,6128.925,N,02349.772,E,125830,A*2A
+$PGRMZ,437,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6120.236,N,02346.327,E,T009*21
+$GPRMC,125830,A,6128.928,N,02349.768,E,033.4,339.8,110805,006.0,E*7E
+$GPRMB,A,0.14,L,T013,T012,6129.236,N,02346.327,E,001.7,280.6,017.1,V*31
+$GPGGA,125831,6128.930,N,02349.767,E,1,05,2.6,133.2,M,20.7,M,,*44
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,3.8,2.6,2.1*3A
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,35,10,16,209,37*73
+$GPGSV,3,2,11,15,13,332,41,18,18,327,41,19,21,035,44,21,05,299,30*70
+$GPGSV,3,3,11,26,59,277,45,28,62,144,37,29,68,249,45,,,,*42
+$PGRME,14.3,M,24.4,M,21.3,M*1A
+$GPGLL,6128.935,N,02349.762,E,125831,A*2B
+$PGRMZ,432,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.234,N,02346.317,E,T008*28
+$GPRMC,125832,A,6128.939,N,02349.759,E,033.4,340.1,110805,006.0,E*79
+$GPRMB,A,0.15,L,T013,T012,6129.236,N,02346.327,E,001.7,280.2,016.9,V*3D
+$GPGGA,125832,6128.940,N,02349.757,E,1,05,3.9,129.7,M,20.7,M,,*43
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,6.2,3.9,4.3*3F
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,33,10,16,209,36*74
+$GPGSV,3,2,11,15,13,332,41,18,18,327,41,19,21,035,44,21,05,299,30*70
+$GPGSV,3,3,11,26,59,277,45,28,62,144,36,29,68,249,46,,,,*40
+$PGRME,14.5,M,24.7,M,22.3,M*1C
+$GPGLL,6128.945,N,02349.753,E,125833,A*2C
+$PGRMZ,426,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6157.564,N,02406.158,E,T007*26
+$GPRMC,125833,A,6128.951,N,02349.748,E,033.4,340.4,110805,006.0,E*73
+$GPRMB,A,0.16,L,T013,T012,6129.236,N,02346.327,E,001.7,279.9,016.5,V*3F
+$GPGGA,125833,6128.952,N,02349.747,E,1,05,3.9,127.9,M,20.7,M,,*40
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,6.4,3.9,4.6*3C
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,31,10,16,209,35*75
+$GPGSV,3,2,11,15,13,332,40,18,18,327,41,19,21,035,43,21,05,299,30*76
+$GPGSV,3,3,11,26,59,277,45,28,62,144,35,29,68,249,46,,,,*43
+$PGRME,17.1,M,16.6,M,24.2,M*1C
+$GPGLL,6128.958,N,02349.743,E,125834,A*26
+$PGRMZ,420,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6145.919,N,02345.544,E,T006*2B
+$GPRMC,125834,A,6128.962,N,02349.740,E,033.3,340.2,110805,006.0,E*7D
+$GPRMB,A,0.17,L,T013,T012,6129.236,N,02346.327,E,001.7,279.5,016.4,V*33
+$GPGGA,125835,6128.964,N,02349.738,E,1,05,4.5,127.9,M,20.7,M,,*40
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,6.8,4.5,1.0*38
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,30,10,16,209,35*74
+$GPGSV,3,2,11,15,13,332,41,18,18,327,41,19,21,035,42,21,05,299,30*76
+$GPGSV,3,3,11,26,59,277,45,28,62,144,35,29,68,249,46,,,,*43
+$PGRME,21.1,M,23.4,M,31.9,M*12
+$GPGLL,6128.969,N,02349.734,E,125835,A*25
+$PGRMZ,416,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6130.198,N,02342.702,E,T005*2C
+$GPRMC,125835,A,6128.973,N,02349.731,E,033.3,340.5,110805,006.0,E*7D
+$GPRMB,A,0.18,L,T013,T012,6129.236,N,02346.327,E,001.7,279.2,016.0,V*3F
+$GPGGA,125835,6128.975,N,02349.730,E,1,05,5.6,127.0,M,20.7,M,,*43
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,8.7,5.6,3.1*38
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,30,10,16,209,34*75
+$GPGSV,3,2,11,15,13,332,41,18,18,327,41,19,21,035,41,21,05,299,30*75
+$GPGSV,3,3,11,26,59,277,45,28,62,144,35,29,68,249,46,,,,*43
+$PGRME,21.1,M,23.4,M,31.9,M*12
+$GPGLL,6128.980,N,02349.726,E,125835,A*21
+$PGRMZ,417,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6216.183,N,02619.685,E,T004*25
+$GPRMC,125837,A,6128.984,N,02349.723,E,033.3,340.5,110805,006.0,E*74
+$GPRMB,A,0.19,L,T013,T012,6129.236,N,02346.327,E,001.6,278.8,016.0,V*34
+$GPGGA,125837,6128.986,N,02349.721,E,1,05,5.6,127.1,M,20.7,M,,*4C
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.8,2.8,1.0*37
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,35,10,16,209,34*70
+$GPGSV,3,2,11,15,13,332,41,18,18,327,40,19,21,035,41,21,05,299,30*74
+$GPGSV,3,3,11,26,59,277,46,28,62,144,37,29,68,249,46,,,,*42
+$PGRME,11.1,M,16.6,M,11.1,M*1F
+$GPGLL,6128.991,N,02349.718,E,125837,A*2E
+$PGRMZ,417,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6215.064,N,02603.837,E,T003*25
+$GPRMC,125838,A,6128.995,N,02349.715,E,032.1,341.4,110805,006.0,E*7D
+$GPRMB,A,0.20,L,T013,T012,6129.236,N,02346.327,E,001.6,278.4,015.2,V*33
+$GPGGA,125838,6128.996,N,02349.714,E,1,05,2.9,126.0,M,20.7,M,,*4C
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,3.3,2.9,1.6*3A
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,36,10,16,209,33*74
+$GPGSV,3,2,11,15,13,332,40,18,18,327,40,19,21,035,39,21,05,299,30*7A
+$GPGSV,3,3,11,26,59,277,46,28,62,144,40,29,68,249,46,,,,*42
+$PGRME,11.7,M,17.7,M,13.2,M*18
+$GPGLL,6129.001,N,02349.710,E,125839,A*29
+$PGRMZ,409,f,3*16
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6151.098,N,02510.924,E,T002*26
+$GPRMC,125840,A,6129.005,N,02349.707,E,031.2,341.9,110805,006.0,E*7D
+$GPRMB,A,0.21,L,T013,T012,6129.236,N,02346.327,E,001.6,278.1,013.2,V*31
+$GPGGA,125840,6129.006,N,02349.706,E,1,05,3.1,124.1,M,20.7,M,,*4B
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,4.2,3.1,2.6*36
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,35,10,16,209,33*77
+$GPGSV,3,2,11,15,13,332,40,18,18,327,39,19,21,035,39,21,05,299,30*74
+$GPGSV,3,3,11,26,59,277,46,28,62,144,40,29,68,249,46,,,,*42
+$PGRME,11.7,M,17.7,M,13.2,M*18
+$GPGLL,6129.011,N,02349.703,E,125841,A*25
+$PGRMZ,407,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.271,N,02346.376,E,T001*27
+$GPRMC,125841,A,6129.015,N,02349.701,E,030.3,342.4,110805,006.0,E*75
+$GPRMB,A,0.21,L,T013,T012,6129.236,N,02346.327,E,001.6,277.8,013.2,V*37
+$GPGGA,125841,6129.014,N,02349.701,E,1,05,1.9,124.3,M,20.7,M,,*46
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,1.9,1.9,1.0*37
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,37,10,16,209,32*74
+$GPGSV,3,2,11,15,13,332,41,18,18,327,39,19,21,035,39,21,05,299,30*75
+$GPGSV,3,3,11,26,59,277,46,28,62,144,40,29,68,249,46,,,,*42
+$PGRME,8.4,M,17.8,M,10.0,M*2D
+$GPGLL,6129.016,N,02349.699,E,125842,A*23
+$PGRMZ,402,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPRTE,4,1,c,0,T030,T029,T028,T027,T026,T025,T024,T023,T022*49
+$GPRTE,4,2,c,0,T021,T020,T019,T018,T017,T016,T015,T014,T013*4B
+$GPRTE,4,3,c,0,T012,T011,T010,T009,T008,T007,T006,T005,T004*4B
+$GPRTE,4,4,c,0,T003,T002,T001*4F
+$GPWPL,6016.083,N,02452.500,E,T030*22
+$GPRMC,125843,A,6129.021,N,02349.697,E,018.3,344.6,110805,006.0,E*70
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,007.2,V*3F
+$GPGGA,125843,6129.021,N,02349.696,E,1,05,2.3,122.5,M,20.7,M,,*44
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,3.0,2.3,2.1*37
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,40,10,16,209,31*77
+$GPGSV,3,2,11,15,13,332,41,18,18,327,39,19,21,035,39,21,05,299,30*75
+$GPGSV,3,3,11,26,59,277,46,28,62,144,41,29,68,249,47,,,,*42
+$PGRME,8.4,M,17.8,M,10.0,M*2D
+$GPGLL,6129.023,N,02349.694,E,125844,A*2E
+$PGRMZ,396,f,3*17
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T029*2D
+$GPRMC,125844,A,6129.024,N,02349.692,E,014.1,341.0,110805,006.0,E*7A
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,006.3,V*3C
+$GPGGA,125844,6129.025,N,02349.692,E,1,05,2.5,119.1,M,20.7,M,,*49
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,3.5,2.5,2.6*33
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,41,10,16,209,31*76
+$GPGSV,3,2,11,15,13,332,41,18,18,327,39,19,21,035,39,21,05,299,30*75
+$GPGSV,3,3,11,26,59,277,45,28,62,144,41,29,68,249,46,,,,*40
+$PGRME,8.4,M,17.8,M,10.0,M*2D
+$GPGLL,6129.027,N,02349.690,E,125845,A*2F
+$PGRMZ,390,f,3*11
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6023.283,N,02430.650,E,T028*2D
+$GPRMC,125845,A,6129.029,N,02349.689,E,014.1,341.0,110805,006.0,E*7C
+$GPRMB,A,0.23,L,T013,T012,6129.236,N,02346.327,E,001.6,277.4,006.3,V*3C
+$GPGGA,125845,6129.029,N,02349.689,E,1,05,2.7,118.0,M,20.7,M,,*4C
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,4.1,2.7,3.2*37
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,44,10,16,209,31*73
+$GPGSV,3,2,11,15,13,332,41,18,18,327,41,19,21,035,37,21,05,299,30*74
+$GPGSV,3,3,11,26,59,277,42,28,62,144,40,29,68,249,45,,,,*45
+$PGRME,14.3,M,25.8,M,21.7,M*13
+$GPGLL,6129.024,N,02349.688,E,125846,A*26
+$PGRMZ,377,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T027*23
+$GPRMC,125847,A,6129.022,N,02349.687,E,018.8,187.4,110805,006.0,E*72
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,-000.0,V*17
+$GPGGA,125847,6129.023,N,02349.687,E,1,05,3.9,113.6,M,20.7,M,,*48
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,6.5,3.9,5.2*38
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,44,10,16,209,30*72
+$GPGSV,3,2,11,15,13,332,41,18,18,327,41,19,21,035,36,21,05,299,30*75
+$GPGSV,3,3,11,26,59,277,42,28,62,144,38,29,68,249,44,,,,*4B
+$PGRME,14.5,M,26.0,M,22.8,M*12
+$GPGLL,6129.025,N,02349.686,E,125847,A*28
+$PGRMZ,370,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T026*24
+$GPRMC,125848,A,6129.026,N,02349.686,E,007.4,346.0,110805,006.0,E*71
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,003.8,V*32
+$GPGGA,125848,6129.026,N,02349.685,E,1,05,3.9,112.2,M,20.7,M,,*45
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,6.7,3.9,5.4*3C
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,43,10,16,209,30*75
+$GPGSV,3,2,11,15,13,332,41,18,18,327,41,19,21,035,36,21,05,299,30*75
+$GPGSV,3,3,11,26,59,277,41,28,62,144,38,29,68,249,44,,,,*48
+$PGRME,14.5,M,26.0,M,22.8,M*12
+$GPGLL,6129.027,N,02349.685,E,125849,A*27
+$PGRMZ,363,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,S,02453.500,E,T025*3B
+$GPRMC,125849,A,6129.027,N,02349.685,E,006.2,346.9,110805,006.0,E*7C
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.4,002.2,V*38
+$GPGGA,125849,6129.028,N,02349.684,E,1,05,3.9,110.0,M,20.7,M,,*4B
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,6.8,3.9,5.5*32
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,43,10,16,209,31*74
+$GPGSV,3,2,11,15,13,332,40,18,18,327,39,19,21,035,36,21,05,299,30*7B
+$GPGSV,3,3,11,26,59,277,42,28,62,144,37,29,68,249,44,,,,*44
+$PGRME,14.5,M,26.0,M,22.8,M*12
+$GPGLL,6129.028,N,02349.684,E,125850,A*21
+$PGRMZ,357,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6018.083,N,02453.500,E,T024*28
+$GPRMC,125851,A,6129.029,N,02349.683,E,004.2,339.9,110805,006.0,E*77
+$GPRMB,A,0.23,L,T013,T012,6129.236,N,02346.327,E,001.6,277.4,001.9,V*31
+$GPGGA,125851,6129.028,N,02349.684,E,1,05,4.1,107.8,M,20.7,M,,*43
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,5.7,4.1,1.0*30
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,44,10,16,209,31*73
+$GPGSV,3,2,11,15,13,332,40,18,18,327,39,19,21,035,37,21,05,299,31*7B
+$GPGSV,3,3,11,26,59,277,40,28,62,144,36,29,68,249,44,,,,*47
+$PGRME,14.5,M,26.0,M,22.8,M*12
+$GPGLL,6129.028,N,02349.683,E,125851,A*27
+$PGRMZ,353,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,W,T023*33
+$GPRMC,125852,A,6129.028,N,02349.683,E,002.2,326.6,110805,006.0,E*72
+$GPRMB,A,0.23,L,T013,T012,6129.236,N,02346.327,E,001.6,277.4,001.3,V*3B
+$GPGGA,125852,6129.028,N,02349.683,E,1,05,4.1,105.9,M,20.7,M,,*44
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,5.9,4.1,1.6*38
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,44,10,16,209,31*73
+$GPGSV,3,2,11,15,13,332,40,18,18,327,39,19,21,035,37,21,05,299,31*7B
+$GPGSV,3,3,11,26,59,277,40,28,62,144,35,29,68,249,44,,,,*44
+$PGRME,14.5,M,26.0,M,22.8,M*12
+$GPGLL,6129.028,N,02349.682,E,125853,A*24
+$PGRMZ,344,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02555.500,E,T022*26
+$GPRMC,125853,A,6129.027,N,02349.682,E,000.0,326.6,110805,006.0,E*7D
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.4,,V*16
+$GPGGA,125853,6129.028,N,02349.682,E,1,05,4.2,104.5,M,20.7,M,,*4A
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,5.7,4.2,1.0*33
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,43,10,16,209,31*74
+$GPGSV,3,2,11,15,13,332,40,18,18,327,39,19,21,035,37,21,05,299,30*7A
+$GPGSV,3,3,11,26,59,277,41,28,62,144,36,29,68,249,44,,,,*46
+$PGRME,14.5,M,26.0,M,22.8,M*12
+$GPGLL,6129.028,N,02349.682,E,125854,A*23
+$PGRMZ,342,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T021*23
+$GPRMC,125854,A,6129.028,N,02349.682,E,000.0,326.6,110805,006.0,E*75
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.4,,V*16
+$GPGGA,125854,6129.028,N,02349.682,E,1,05,2.8,104.2,M,20.7,M,,*46
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.8,2.8,1.0*37
+$GPGSV,3,1,11,03,03,012,00,07,01,153,00,08,53,094,41,10,16,209,31*70
+$GPGSV,3,2,11,15,13,332,41,18,18,327,38,19,21,035,35,21,05,299,31*79
+$GPGSV,3,3,11,26,59,277,44,28,62,144,42,29,68,249,45,,,,*41
+$PGRME,11.1,M,16.6,M,11.1,M*1F
+$GPGLL,6129.027,N,02349.683,E,125855,A*2C
+$PGRMZ,342,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6116.083,N,02452.500,E,T020*22
+$GPRMC,125856,A,6129.027,N,02349.682,E,000.0,326.6,110805,006.0,E*78
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.4,,V*16
+$GPGGA,125856,6129.027,N,02349.683,E,1,05,2.8,104.1,M,20.7,M,,*49
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.8,2.8,1.0*37
+$GPGSV,3,1,11,03,03,012,00,07,01,153,00,08,53,094,40,10,16,209,31*71
+$GPGSV,3,2,11,15,13,332,41,18,18,327,38,19,21,035,34,21,05,299,31*78
+$GPGSV,3,3,11,26,59,277,45,28,62,144,43,29,68,249,45,,,,*41
+$PGRME,11.1,M,16.6,M,11.1,M*1F
+$GPGLL,6129.027,N,02349.683,E,125857,A*2E
+$PGRMZ,341,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,S,02452.500,E,T019*34
+$GPRMC,125857,A,6129.027,N,02349.683,E,000.0,326.6,110805,006.0,E*78
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.4,,V*16
+$GPGGA,125857,6129.026,N,02349.682,E,1,05,2.9,103.1,M,20.7,M,,*4E
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,3.3,2.9,1.6*3A
+$GPGSV,3,1,11,03,03,012,00,07,01,153,00,08,53,094,39,10,16,209,31*7F
+$GPGSV,3,2,11,15,13,332,41,18,18,327,37,19,21,035,34,21,05,299,31*77
+$GPGSV,3,3,11,26,59,277,45,28,62,144,43,29,68,249,46,,,,*42
+$PGRME,11.7,M,17.8,M,13.3,M*16
+$GPGLL,6129.026,N,02349.682,E,125858,A*21
+$PGRMZ,335,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,N,02452.500,E,T018*28
+$GPRMC,125858,A,6129.026,N,02349.682,E,000.0,326.6,110805,006.0,E*77
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,,V*17
+$GPGGA,125858,6129.026,N,02349.682,E,1,05,3.0,102.1,M,20.7,M,,*48
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,3.8,3.0,2.1*3D
+$GPGSV,3,1,11,03,03,012,00,07,01,153,00,08,53,094,38,10,16,209,31*7E
+$GPGSV,3,2,11,15,13,332,41,18,18,327,37,19,21,035,33,21,05,299,31*70
+$GPGSV,3,3,11,26,59,277,46,28,62,144,44,29,68,249,46,,,,*46
+$PGRME,11.7,M,17.8,M,13.3,M*16
+$GPGLL,6129.025,N,02349.681,E,125859,A*20
+$PGRMZ,332,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6013.283,N,02456.650,E,T017*22
+$GPRMC,125900,A,6129.025,N,02349.681,E,000.0,326.6,110805,006.0,E*7B
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,,V*17
+$GPGGA,125900,6129.025,N,02349.681,E,1,05,3.1,101.2,M,20.7,M,,*45
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,4.2,3.1,2.6*36
+$GPGSV,3,1,11,03,03,012,00,07,01,153,00,08,53,094,38,10,16,209,30*7F
+$GPGSV,3,2,11,15,13,332,41,18,18,327,37,19,21,035,33,21,05,299,31*70
+$GPGSV,3,3,11,26,59,277,46,28,62,144,44,29,68,249,46,,,,*46
+$PGRME,11.1,M,16.6,M,11.1,M*1F
+$GPGLL,6129.025,N,02349.681,E,125900,A*2D
+$PGRMZ,332,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T016*21
+$GPRMC,125901,A,6129.025,N,02349.681,E,000.0,326.6,110805,006.0,E*7A
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,,V*17
+$GPGGA,125901,6129.025,N,02349.681,E,1,05,2.9,101.1,M,20.7,M,,*4E
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,3.3,2.9,1.6*3A
+$GPGSV,3,1,11,03,03,012,00,07,01,153,00,08,53,094,39,10,16,209,30*7E
+$GPGSV,3,2,11,15,13,332,41,18,18,327,37,19,21,035,33,21,05,299,30*71
+$GPGSV,3,3,11,26,59,277,46,28,62,144,45,29,68,249,46,,,,*47
+$PGRME,11.7,M,17.8,M,13.3,M*16
+$GPGLL,6129.025,N,02349.681,E,125902,A*2F
+$PGRMZ,331,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0000.000,N,00000.000,W,T015*39
+$GPRMC,125902,A,6129.025,N,02349.681,E,000.0,326.6,110805,006.0,E*79
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,,V*17
+$GPGGA,125902,6129.025,N,02349.681,E,1,05,3.0,101.0,M,20.7,M,,*44
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,3.8,3.0,2.1*3D
+$GPGSV,3,1,11,03,03,012,00,07,01,153,00,08,53,094,38,10,16,209,31*7E
+$GPGSV,3,2,11,15,13,332,42,18,18,327,37,19,21,035,32,21,05,299,31*72
+$GPGSV,3,3,11,26,59,277,46,28,62,144,44,29,68,249,46,,,,*46
+$PGRME,11.1,M,16.6,M,11.1,M*1F
+$GPGLL,6129.025,N,02349.681,E,125903,A*2E
+$PGRMZ,332,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0009.000,N,02430.650,E,T014*25
+$GPRMC,125903,A,6129.025,N,02349.681,E,000.0,326.6,110805,006.0,E*78
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,,V*17
+$GPGGA,125904,6129.025,N,02349.681,E,1,05,2.8,101.1,M,20.7,M,,*4A
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.8,2.8,1.0*37
+$GPGSV,3,1,11,03,03,012,00,07,01,153,00,08,53,094,38,10,16,209,31*7E
+$GPGSV,3,2,11,15,13,332,41,18,18,327,36,19,21,035,31,21,05,299,31*73
+$GPGSV,3,3,11,26,59,277,46,28,62,144,44,29,68,249,46,,,,*46
+$PGRME,11.1,M,16.6,M,11.1,M*1F
+$GPGLL,6129.025,N,02349.681,E,125904,A*29
+$PGRMZ,332,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.285,N,02430.651,E,T013*23
+$GPRMC,125905,A,6129.025,N,02349.682,E,000.0,326.6,110805,006.0,E*7D
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,,V*17
+$GPGGA,125905,6129.025,N,02349.682,E,1,05,2.8,101.2,M,20.7,M,,*4B
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.8,2.8,1.0*37
+$GPGSV,3,1,11,03,03,012,00,07,01,153,00,08,53,094,38,10,16,209,31*7E
+$GPGSV,3,2,11,15,13,332,41,18,18,327,36,19,21,035,31,21,05,299,31*73
+$GPGSV,3,3,11,26,59,277,46,28,62,144,44,29,68,249,46,,,,*46
+$PGRME,11.1,M,16.6,M,11.1,M*1F
+$GPGLL,6129.025,N,02349.682,E,125906,A*28
+$PGRMZ,332,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.236,N,02346.327,E,T012*22
+$GPRMC,125906,A,6129.024,N,02349.681,E,000.0,326.6,110805,006.0,E*7C
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,,V*17
+$GPGGA,125906,6129.024,N,02349.681,E,1,05,3.9,101.2,M,20.7,M,,*4A
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,3.9,3.9,1.0*37
+$GPGSV,3,1,11,03,03,012,00,07,01,153,00,08,53,094,38,10,16,209,31*7E
+$GPGSV,3,2,11,15,13,332,41,18,18,327,36,19,21,035,31,21,05,299,31*73
+$GPGSV,3,3,11,26,59,277,47,28,62,144,45,29,68,249,46,,,,*46
+$PGRME,15.6,M,16.6,M,15.6,M*1F
+$GPGLL,6129.024,N,02349.681,E,125906,A*2A
+$PGRMZ,332,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6114.236,N,02346.327,E,T011*2F
+$GPRMC,125907,A,6129.024,N,02349.681,E,000.0,326.6,110805,006.0,E*7D
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,,V*17
+$GPGGA,125907,6129.024,N,02349.681,E,1,05,4.9,101.3,M,20.7,M,,*4D
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,4.9,4.9,1.0*37
+$GPGSV,3,1,11,03,03,012,00,07,01,153,00,08,53,094,38,10,16,209,30*7F
+$GPGSV,3,2,11,15,13,332,41,18,18,327,35,19,21,035,30,21,05,299,31*71
+$GPGSV,3,3,11,26,59,277,46,28,62,144,44,29,68,249,46,,,,*46
+$PGRME,15.6,M,16.6,M,15.6,M*1F
+$GPGLL,6129.024,N,02349.681,E,125908,A*24
+$PGRMZ,332,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6220.236,N,02346.327,E,T010*2A
+$GPRMC,125909,A,6129.024,N,02349.681,E,000.0,326.6,110805,006.0,E*73
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125909,6129.023,N,02349.681,E,1,05,6.7,101.3,M,20.7,M,,*48
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,6.7,6.7,1.0*37
+$GPGSV,3,1,11,03,03,012,00,07,01,153,00,08,53,094,37,10,16,209,31*71
+$GPGSV,3,2,11,15,13,332,41,18,18,327,34,19,21,035,30,21,05,299,31*70
+$GPGSV,3,3,11,26,59,277,46,28,62,144,44,29,68,249,46,,,,*46
+$PGRME,15.6,M,16.6,M,15.6,M*1F
+$GPGLL,6129.023,N,02349.681,E,125909,A*22
+$PGRMZ,332,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6120.236,N,02346.327,E,T009*21
+$GPRMC,125910,A,6129.023,N,02349.681,E,000.0,326.6,110805,006.0,E*7C
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125910,6129.023,N,02349.681,E,1,05,2.8,101.4,M,20.7,M,,*4C
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.8,2.8,1.0*37
+$GPGSV,3,1,11,03,03,012,00,07,02,153,00,08,53,094,37,10,16,209,31*72
+$GPGSV,3,2,11,15,13,332,41,18,18,327,35,19,21,035,30,21,05,299,31*71
+$GPGSV,3,3,11,26,59,277,46,28,62,144,45,29,68,249,46,,,,*47
+$PGRME,11.1,M,16.6,M,11.1,M*1F
+$GPGLL,6129.023,N,02349.681,E,125910,A*2A
+$PGRMZ,333,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.234,N,02346.317,E,T008*28
+$GPRMC,125911,A,6129.023,N,02349.681,E,000.0,326.6,110805,006.0,E*7D
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125912,6129.023,N,02349.681,E,1,05,2.8,101.4,M,20.7,M,,*4E
+$GPGSA,A,3,,,,,,18,19,,26,,28,29,2.8,2.8,1.0*37
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,53,094,37,10,16,209,31*71
+$GPGSV,3,2,12,15,13,332,41,18,18,327,35,19,21,035,30,21,05,299,32*71
+$GPGSV,3,3,12,26,59,277,47,27,20,092,00,28,62,144,44,29,68,249,46*78
+$PGRME,11.1,M,16.6,M,11.1,M*1F
+$GPGLL,6129.023,N,02349.681,E,125912,A*28
+$PGRMZ,333,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6157.564,N,02406.158,E,T007*26
+$GPRMC,125913,A,6129.023,N,02349.681,E,000.0,326.6,110805,006.0,E*7F
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125913,6129.023,N,02349.682,E,1,05,2.8,101.4,M,20.7,M,,*4C
+$GPGSA,A,3,,,,,,18,,,26,,28,29,2.8,2.8,1.0*3F
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,53,094,36,10,16,209,33*72
+$GPGSV,3,2,12,15,13,332,41,18,18,327,35,19,21,035,30,21,05,299,32*71
+$GPGSV,3,3,12,26,59,277,47,27,20,092,43,28,62,144,45,29,68,249,46*7E
+$PGRME,11.1,M,16.6,M,11.1,M*1F
+$GPGLL,6129.023,N,02349.682,E,125913,A*2A
+$PGRMZ,333,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6145.919,N,02345.544,E,T006*2B
+$GPRMC,125914,A,6129.024,N,02349.682,E,000.0,326.6,110805,006.0,E*7C
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125914,6129.024,N,02349.682,E,1,04,2.8,101.4,M,20.7,M,,*4D
+$GPGSA,A,3,,,,,,18,,,26,,28,29,2.8,2.8,1.0*3F
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,35,10,16,209,33*70
+$GPGSV,3,2,12,15,13,332,41,18,18,327,36,19,21,035,30,21,05,299,33*73
+$GPGSV,3,3,12,26,59,277,47,27,20,092,43,28,62,144,44,29,68,249,46*7F
+$PGRME,11.1,M,16.6,M,11.1,M*1F
+$GPGLL,6129.024,N,02349.682,E,125915,A*2B
+$PGRMZ,333,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6130.198,N,02342.702,E,T005*2C
+$GPRMC,125915,A,6129.024,N,02349.682,E,000.0,326.6,110805,006.0,E*7D
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,,V*17
+$GPGGA,125915,6129.024,N,02349.682,E,1,04,2.8,101.4,M,20.7,M,,*4C
+$GPGSA,A,3,,,,,,18,,,26,,28,29,2.8,2.8,1.0*3F
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,36,10,16,209,35*75
+$GPGSV,3,2,12,15,13,332,41,18,18,327,36,19,21,035,30,21,05,299,34*74
+$GPGSV,3,3,12,26,59,277,47,27,20,092,43,28,62,144,44,29,68,249,46*7F
+$PGRME,11.1,M,16.6,M,11.1,M*1F
+$GPGLL,6129.024,N,02349.683,E,125916,A*29
+$PGRMZ,333,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6216.183,N,02619.685,E,T004*25
+$GPRMC,125917,A,6129.024,N,02349.683,E,000.0,326.6,110805,006.0,E*7E
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,,V*17
+$GPGGA,125917,6129.024,N,02349.683,E,1,04,2.8,101.4,M,20.7,M,,*4F
+$GPGSA,A,3,,,,,,18,,,26,,28,29,2.8,2.8,1.0*3F
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,37,10,16,209,35*74
+$GPGSV,3,2,12,15,13,332,42,18,18,327,36,19,21,035,30,21,05,299,34*77
+$GPGSV,3,3,12,26,59,277,47,27,20,092,42,28,62,144,44,29,68,249,46*7E
+$PGRME,11.1,M,16.6,M,11.1,M*1F
+$GPGLL,6129.024,N,02349.683,E,125917,A*28
+$PGRMZ,333,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6215.064,N,02603.837,E,T003*25
+$GPRMC,125918,A,6129.024,N,02349.683,E,000.0,326.6,110805,006.0,E*71
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,,V*17
+$GPGGA,125918,6129.024,N,02349.683,E,1,04,2.8,101.4,M,20.7,M,,*40
+$GPGSA,A,3,,,,,,18,,,26,,28,29,2.8,2.8,1.0*3F
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,36,10,16,209,36*76
+$GPGSV,3,2,12,15,13,332,42,18,18,327,37,19,21,035,30,21,05,299,34*76
+$GPGSV,3,3,12,26,59,277,47,27,20,092,42,28,62,144,44,29,68,249,46*7E
+$PGRME,11.1,M,16.6,M,11.1,M*1F
+$GPGLL,6129.024,N,02349.683,E,125919,A*26
+$PGRMZ,333,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6151.098,N,02510.924,E,T002*26
+$GPRMC,125919,A,6129.023,N,02349.683,E,000.0,326.6,110805,006.0,E*77
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125919,6129.023,N,02349.683,E,1,04,2.9,100.2,M,20.7,M,,*40
+$GPGSA,A,3,,,,,,18,19,,26,,28,29,3.3,2.9,1.6*3A
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,36,10,16,209,36*76
+$GPGSV,3,2,12,15,13,332,43,18,18,327,38,19,21,035,30,21,05,299,34*78
+$GPGSV,3,3,12,26,59,277,47,27,20,092,42,28,62,144,44,29,68,249,46*7E
+$PGRME,11.1,M,16.6,M,11.1,M*1F
+$GPGLL,6129.023,N,02349.683,E,125920,A*2B
+$PGRMZ,329,f,3*13
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.271,N,02346.376,E,T001*27
+$GPRMC,125920,A,6129.023,N,02349.684,E,000.0,326.6,110805,006.0,E*7A
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,,V*17
+$GPGGA,125920,6129.023,N,02349.684,E,1,05,2.8,100.1,M,20.7,M,,*4E
+$GPGSA,A,3,,,,,,18,19,,26,,28,29,2.8,2.8,1.0*37
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,35,10,16,209,36*75
+$GPGSV,3,2,12,15,13,332,43,18,18,327,39,19,21,035,30,21,05,299,32*7F
+$GPGSV,3,3,12,26,59,277,46,27,20,092,41,28,62,144,44,29,68,249,46*7C
+$PGRME,11.1,M,16.6,M,11.1,M*1F
+$GPGLL,6129.023,N,02349.684,E,125921,A*2D
+$PGRMZ,328,f,3*12
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPRTE,4,1,c,0,T030,T029,T028,T027,T026,T025,T024,T023,T022*49
+$GPRTE,4,2,c,0,T021,T020,T019,T018,T017,T016,T015,T014,T013*4B
+$GPRTE,4,3,c,0,T012,T011,T010,T009,T008,T007,T006,T005,T004*4B
+$GPRTE,4,4,c,0,T003,T002,T001*4F
+$GPWPL,6016.083,N,02452.500,E,T030*22
+$GPRMC,125922,A,6129.023,N,02349.684,E,000.0,326.6,110805,006.0,E*78
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,,V*17
+$GPGGA,125922,6129.023,N,02349.684,E,1,05,2.8,100.0,M,20.7,M,,*4D
+$GPGSA,A,3,,,,,,18,19,,26,,28,29,2.8,2.8,1.0*37
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,35,10,15,209,35*75
+$GPGSV,3,2,12,15,13,332,42,18,18,327,40,19,21,035,30,21,05,299,32*70
+$GPGSV,3,3,12,26,59,277,46,27,20,092,41,28,62,144,45,29,68,249,46*7D
+$PGRME,11.1,M,16.6,M,11.1,M*1F
+$GPGLL,6129.023,N,02349.684,E,125923,A*2F
+$PGRMZ,328,f,3*12
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T029*2D
+$GPRMC,125923,A,6129.023,N,02349.684,E,000.0,326.6,110805,006.0,E*79
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,,V*17
+$GPGGA,125924,6129.023,N,02349.684,E,1,05,2.8,100.0,M,20.7,M,,*4B
+$GPGSA,A,3,,,,,,18,19,,26,,28,29,2.8,2.8,1.0*37
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,36,10,15,209,36*75
+$GPGSV,3,2,12,15,13,332,42,18,18,327,39,19,21,035,31,21,05,299,32*7F
+$GPGSV,3,3,12,26,59,277,47,27,20,092,41,28,62,144,44,29,68,249,46*7D
+$PGRME,11.5,M,17.3,M,12.8,M*15
+$GPGLL,6129.023,N,02349.684,E,125924,A*28
+$PGRMZ,329,f,3*13
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6023.283,N,02430.650,E,T028*2D
+$GPRMC,125925,A,6129.023,N,02349.685,E,000.0,326.6,110805,006.0,E*7E
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,,V*17
+$GPGGA,125925,6129.023,N,02349.685,E,1,05,2.6,100.3,M,20.7,M,,*46
+$GPGSA,A,3,,,,,15,18,19,,26,,28,29,2.6,2.6,1.0*33
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,35,10,15,209,37*77
+$GPGSV,3,2,12,15,13,332,43,18,18,327,39,19,21,035,31,21,05,299,31*7D
+$GPGSV,3,3,12,26,59,277,47,27,20,092,42,28,62,144,44,29,68,249,46*7E
+$PGRME,11.5,M,17.3,M,12.8,M*15
+$GPGLL,6129.023,N,02349.685,E,125925,A*28
+$PGRMZ,329,f,3*13
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T027*23
+$GPRMC,125926,A,6129.023,N,02349.685,E,000.0,326.6,110805,006.0,E*7D
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,,V*17
+$GPGGA,125926,6129.023,N,02349.685,E,1,06,2.6,100.4,M,20.7,M,,*41
+$GPGSA,A,3,,,,,15,18,19,,26,,28,29,2.6,2.6,1.0*33
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,35,10,15,209,37*77
+$GPGSV,3,2,12,15,13,332,42,18,18,327,38,19,21,035,32,21,05,299,31*7E
+$GPGSV,3,3,12,26,59,277,47,27,20,092,41,28,62,144,45,29,68,249,46*7C
+$PGRME,11.9,M,18.0,M,14.3,M*18
+$GPGLL,6129.023,N,02349.685,E,125927,A*2A
+$PGRMZ,329,f,3*13
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T026*24
+$GPRMC,125927,A,6129.023,N,02349.685,E,000.0,326.6,110805,006.0,E*7C
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,,V*17
+$GPGGA,125927,6129.023,N,02349.685,E,1,06,2.6,100.4,M,20.7,M,,*40
+$GPGSA,A,3,,,,,15,18,19,,26,,28,29,2.6,2.6,1.0*33
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,36,10,15,209,36*75
+$GPGSV,3,2,12,15,13,332,41,18,18,327,38,19,21,035,31,21,05,299,31*7E
+$GPGSV,3,3,12,26,59,277,47,27,20,092,42,28,62,144,44,29,68,249,46*7E
+$PGRME,9.9,M,16.6,M,9.9,M*1F
+$GPGLL,6129.023,N,02349.685,E,125928,A*25
+$PGRMZ,330,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,S,02453.500,E,T025*3B
+$GPRMC,125929,A,6129.023,N,02349.685,E,000.0,326.6,110805,006.0,E*72
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,,V*17
+$GPGGA,125929,6129.023,N,02349.685,E,1,06,2.6,100.5,M,20.7,M,,*4F
+$GPGSA,A,3,,,,,15,18,19,,26,,28,29,2.6,2.6,1.0*33
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,36,10,15,209,35*76
+$GPGSV,3,2,12,15,13,332,41,18,18,327,38,19,21,035,32,21,05,299,31*7D
+$GPGSV,3,3,12,26,59,277,47,27,20,092,42,28,62,144,44,29,68,249,46*7E
+$PGRME,9.9,M,16.6,M,9.9,M*1F
+$GPGLL,6129.023,N,02349.685,E,125929,A*24
+$PGRMZ,331,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6018.083,N,02453.500,E,T024*28
+$GPRMC,125930,A,6129.023,N,02349.685,E,000.0,326.6,110805,006.0,E*7A
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,,V*17
+$GPGGA,125930,6129.023,N,02349.685,E,1,06,2.6,100.8,M,20.7,M,,*4A
+$GPGSA,A,3,,,,,15,18,19,,26,,28,29,2.6,2.6,1.0*33
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,36,10,15,209,35*76
+$GPGSV,3,2,12,15,13,332,41,18,18,327,38,19,21,035,31,21,05,299,31*7E
+$GPGSV,3,3,12,26,59,277,47,27,20,092,42,28,62,144,44,29,68,249,46*7E
+$PGRME,9.9,M,16.6,M,9.9,M*1F
+$GPGLL,6129.023,N,02349.686,E,125931,A*2E
+$PGRMZ,331,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,W,T023*33
+$GPRMC,125931,A,6129.023,N,02349.686,E,000.0,326.6,110805,006.0,E*78
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,,V*17
+$GPGGA,125931,6129.023,N,02349.686,E,1,06,2.6,100.8,M,20.7,M,,*48
+$GPGSA,A,3,,,,,15,18,19,,26,,28,29,2.6,2.6,1.0*33
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,35,10,15,209,35*75
+$GPGSV,3,2,12,15,13,332,40,18,18,327,38,19,21,035,31,21,05,299,30*7E
+$GPGSV,3,3,12,26,59,277,47,27,20,092,43,28,62,144,44,29,68,249,46*7F
+$PGRME,9.9,M,16.6,M,9.9,M*1F
+$GPGLL,6129.023,N,02349.686,E,125932,A*2D
+$PGRMZ,331,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02555.500,E,T022*26
+$GPRMC,125932,A,6129.023,N,02349.685,E,000.0,326.6,110805,006.0,E*78
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125932,6129.023,N,02349.685,E,1,06,2.6,99.9,M,20.7,M,,*78
+$GPGSA,A,3,,,,,15,18,19,,26,,28,29,2.6,2.6,1.0*33
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,35,10,15,209,34*74
+$GPGSV,3,2,12,15,13,332,40,18,18,327,38,19,21,035,31,21,05,299,30*7E
+$GPGSV,3,3,12,26,59,277,47,27,20,092,43,28,62,144,44,29,68,249,46*7F
+$PGRME,9.9,M,16.6,M,9.9,M*1F
+$GPGLL,6129.023,N,02349.685,E,125933,A*2F
+$PGRMZ,328,f,3*12
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T021*23
+$GPRMC,125934,A,6129.023,N,02349.685,E,000.0,326.6,110805,006.0,E*7E
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125934,6129.023,N,02349.685,E,1,06,2.5,99.9,M,20.7,M,,*7D
+$GPGSA,A,3,,,,,15,18,19,,26,,28,29,2.5,2.5,1.0*33
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,36,10,15,209,34*77
+$GPGSV,3,2,12,15,13,332,40,18,18,327,39,19,21,035,31,21,05,299,30*7F
+$GPGSV,3,3,12,26,59,277,47,27,20,092,43,28,62,144,44,29,68,249,46*7F
+$PGRME,9.9,M,16.6,M,9.9,M*1F
+$GPGLL,6129.023,N,02349.685,E,125935,A*29
+$PGRMZ,328,f,3*12
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6116.083,N,02452.500,E,T020*22
+$GPRMC,125935,A,6129.023,N,02349.686,E,000.0,326.6,110805,006.0,E*7C
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125935,6129.023,N,02349.686,E,1,06,2.5,99.9,M,20.7,M,,*7F
+$GPGSA,A,3,,,,,15,18,19,,26,,28,29,2.5,2.5,1.0*33
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,37,10,15,209,33*71
+$GPGSV,3,2,12,15,13,332,40,18,18,327,39,19,21,035,31,21,05,299,30*7F
+$GPGSV,3,3,12,26,59,277,47,27,20,092,43,28,62,144,44,29,68,249,46*7F
+$PGRME,9.9,M,16.6,M,9.9,M*1F
+$GPGLL,6129.023,N,02349.686,E,125936,A*29
+$PGRMZ,328,f,3*12
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,S,02452.500,E,T019*34
+$GPRMC,125936,A,6129.023,N,02349.685,E,000.0,326.6,110805,006.0,E*7C
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125936,6129.023,N,02349.685,E,1,06,2.5,99.5,M,20.7,M,,*73
+$GPGSA,A,3,,,,,15,18,19,,26,27,28,29,2.5,2.5,1.0*36
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,37,10,15,209,33*71
+$GPGSV,3,2,12,15,13,332,41,18,18,327,39,19,21,035,31,21,05,299,30*7E
+$GPGSV,3,3,12,26,59,277,47,27,20,092,43,28,62,144,45,29,68,249,46*7E
+$PGRME,8.9,M,12.7,M,10.5,M*2F
+$GPGLL,6129.023,N,02349.685,E,125936,A*2A
+$PGRMZ,326,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,N,02452.500,E,T018*28
+$GPRMC,125938,A,6129.023,N,02349.685,E,000.0,326.6,110805,006.0,E*72
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125938,6129.023,N,02349.685,E,1,07,2.5,99.5,M,20.7,M,,*7C
+$GPGSA,A,3,,,,,15,18,19,,26,27,28,29,2.5,2.5,1.0*36
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,37,10,15,209,32*70
+$GPGSV,3,2,12,15,13,332,41,18,18,327,39,19,21,035,31,21,05,299,30*7E
+$GPGSV,3,3,12,26,59,277,47,27,20,092,43,28,62,144,45,29,68,249,46*7E
+$PGRME,8.9,M,12.7,M,10.5,M*2F
+$GPGLL,6129.023,N,02349.685,E,125938,A*24
+$PGRMZ,326,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6013.283,N,02456.650,E,T017*22
+$GPRMC,125938,A,6129.023,N,02349.685,E,000.0,326.6,110805,006.0,E*72
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125938,6129.023,N,02349.685,E,1,07,1.5,99.5,M,20.7,M,,*7F
+$GPGSA,A,3,,,,,15,18,19,,26,27,28,29,1.5,1.5,1.0*36
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,37,10,15,209,33*71
+$GPGSV,3,2,12,15,13,332,41,18,18,327,39,19,21,035,31,21,05,299,30*7E
+$GPGSV,3,3,12,26,59,277,47,27,20,092,43,28,62,144,45,29,68,249,46*7E
+$PGRME,5.4,M,13.1,M,5.4,M*1D
+$GPGLL,6129.023,N,02349.686,E,125939,A*26
+$PGRMZ,326,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T016*21
+$GPRMC,125940,A,6129.023,N,02349.686,E,000.0,326.6,110805,006.0,E*7E
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125940,6129.023,N,02349.686,E,1,07,1.4,99.5,M,20.7,M,,*72
+$GPGSA,A,3,,,,,15,18,19,,26,27,28,29,1.4,1.4,1.0*36
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,38,10,15,209,33*7E
+$GPGSV,3,2,12,15,13,332,41,18,18,327,39,19,21,035,30,21,05,299,30*7F
+$GPGSV,3,3,12,26,59,277,47,27,20,092,43,28,62,143,45,29,68,249,46*79
+$PGRME,5.4,M,13.1,M,5.4,M*1D
+$GPGLL,6129.023,N,02349.686,E,125941,A*29
+$PGRMZ,326,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0000.000,N,00000.000,W,T015*39
+$GPRMC,125942,A,6129.023,N,02349.686,E,000.0,326.6,110805,006.0,E*7C
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125942,6129.023,N,02349.686,E,1,07,1.4,99.5,M,20.7,M,,*70
+$GPGSA,A,3,,,,,15,18,19,,26,27,28,29,1.4,1.4,1.0*36
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,37,10,15,209,33*71
+$GPGSV,3,2,12,15,13,332,41,18,18,327,40,19,21,035,30,21,05,299,30*71
+$GPGSV,3,3,12,26,59,277,47,27,20,092,43,28,62,143,44,29,68,249,46*78
+$PGRME,5.4,M,13.1,M,5.4,M*1D
+$GPGLL,6129.023,N,02349.686,E,125942,A*2A
+$PGRMZ,326,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0009.000,N,02430.650,E,T014*25
+$GPRMC,125943,A,6129.023,N,02349.686,E,000.0,326.6,110805,006.0,E*7D
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125943,6129.023,N,02349.686,E,1,07,1.4,99.5,M,20.7,M,,*71
+$GPGSA,A,3,,,,,15,18,19,,26,27,28,29,1.4,1.4,1.0*36
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,43,10,15,209,31*70
+$GPGSV,3,2,12,15,13,332,40,18,18,327,40,19,21,035,35,21,05,299,30*75
+$GPGSV,3,3,12,26,59,277,46,27,20,092,42,28,62,143,45,29,68,249,46*79
+$PGRME,5.8,M,12.6,M,6.4,M*14
+$GPGLL,6129.022,N,02349.685,E,125943,A*29
+$PGRMZ,324,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.285,N,02430.651,E,T013*23
+$GPRMC,125944,A,6129.022,N,02349.685,E,000.0,326.6,110805,006.0,E*78
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125945,6129.022,N,02349.685,E,1,07,1.8,98.3,M,20.7,M,,*7E
+$GPGSA,A,3,,,,,15,18,19,,26,27,28,29,1.8,1.8,1.0*36
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,42,10,15,209,32*72
+$GPGSV,3,2,12,15,13,332,39,18,18,327,37,19,21,035,36,21,05,299,30*78
+$GPGSV,3,3,12,26,59,277,45,27,20,092,40,28,62,143,43,29,68,249,46*7E
+$PGRME,6.9,M,14.1,M,9.7,M*1B
+$GPGLL,6129.022,N,02349.685,E,125945,A*2F
+$PGRMZ,324,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.236,N,02346.327,E,T012*22
+$GPRMC,125945,A,6129.022,N,02349.685,E,000.0,326.6,110805,006.0,E*79
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125946,6129.022,N,02349.685,E,1,07,2.0,98.8,M,20.7,M,,*7D
+$GPGSA,A,3,,,,,15,18,19,,26,27,28,29,2.4,2.0,1.5*37
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,42,10,15,209,32*72
+$GPGSV,3,2,12,15,13,332,38,18,18,327,36,19,21,035,37,21,05,299,30*79
+$GPGSV,3,3,12,26,59,277,44,27,20,092,40,28,62,143,42,29,68,249,46*7E
+$PGRME,6.9,M,14.1,M,9.7,M*1B
+$GPGLL,6129.022,N,02349.686,E,125946,A*2F
+$PGRMZ,325,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6114.236,N,02346.327,E,T011*2F
+$GPRMC,125947,A,6129.022,N,02349.686,E,000.0,326.6,110805,006.0,E*78
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125947,6129.022,N,02349.686,E,1,07,1.7,99.2,M,20.7,M,,*70
+$GPGSA,A,3,,,,,15,18,19,,26,27,28,29,1.7,1.7,1.0*36
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,41,10,15,209,31*72
+$GPGSV,3,2,12,15,13,332,38,18,18,327,38,19,21,035,37,21,05,299,30*77
+$GPGSV,3,3,12,26,59,277,44,27,20,092,40,28,62,143,40,29,68,249,45*7F
+$PGRME,7.2,M,14.2,M,10.5,M*28
+$GPGLL,6129.021,N,02349.686,E,125948,A*22
+$PGRMZ,325,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6220.236,N,02346.327,E,T010*2A
+$GPRMC,125948,A,6129.021,N,02349.686,E,000.0,326.6,110805,006.0,E*74
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125948,6129.021,N,02349.686,E,1,07,2.1,98.8,M,20.7,M,,*72
+$GPGSA,A,3,,,,,15,18,19,,26,27,28,29,2.1,2.1,1.0*36
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,42,10,15,209,33*73
+$GPGSV,3,2,12,15,13,332,36,18,18,327,37,19,21,035,37,21,05,299,30*76
+$GPGSV,3,3,12,26,59,277,44,27,20,092,40,28,62,143,41,29,68,249,45*7E
+$PGRME,7.4,M,12.6,M,11.0,M*28
+$GPGLL,6129.021,N,02349.686,E,125949,A*23
+$PGRMZ,324,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6120.236,N,02346.327,E,T009*21
+$GPRMC,125949,A,6129.021,N,02349.685,E,000.0,326.6,110805,006.0,E*76
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125949,6129.021,N,02349.685,E,1,07,2.7,98.3,M,20.7,M,,*7D
+$GPGSA,A,3,,,,,15,18,19,,26,27,28,29,2.7,2.7,1.0*36
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,42,10,15,209,33*73
+$GPGSV,3,2,12,15,13,332,36,18,18,327,36,19,21,035,36,21,05,299,30*76
+$GPGSV,3,3,12,26,59,277,44,27,20,092,41,28,62,143,40,29,68,249,45*7E
+$PGRME,7.5,M,12.7,M,11.5,M*2D
+$GPGLL,6129.021,N,02349.685,E,125949,A*20
+$PGRMZ,323,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.234,N,02346.317,E,T008*28
+$GPRMC,125951,A,6129.021,N,02349.685,E,000.0,326.6,110805,006.0,E*7F
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125951,6129.021,N,02349.685,E,1,07,2.7,98.3,M,20.7,M,,*74
+$GPGSA,A,3,,,,,15,18,19,,26,27,28,29,2.7,2.7,1.0*36
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,43,10,15,209,32*73
+$GPGSV,3,2,12,15,13,332,35,18,18,327,35,19,21,035,36,21,05,299,30*76
+$GPGSV,3,3,12,26,59,277,45,27,20,092,41,28,62,143,40,29,68,249,45*7F
+$PGRME,8.2,M,14.0,M,13.3,M*20
+$GPGLL,6129.021,N,02349.685,E,125951,A*29
+$PGRMZ,318,f,3*11
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6157.564,N,02406.158,E,T007*26
+$GPRMC,125952,A,6129.020,N,02349.684,E,000.0,326.6,110805,006.0,E*7C
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.7,,V*15
+$GPGGA,125952,6129.020,N,02349.684,E,1,07,2.7,95.6,M,20.7,M,,*7F
+$GPGSA,A,3,,,,,15,18,19,,26,27,28,29,2.7,2.7,1.0*36
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,44,10,15,209,32*74
+$GPGSV,3,2,12,15,13,332,35,18,18,327,35,19,21,035,37,21,05,299,30*77
+$GPGSV,3,3,12,26,59,277,45,27,20,092,42,28,62,143,42,29,68,249,45*7E
+$PGRME,8.2,M,14.0,M,13.3,M*20
+$GPGLL,6129.020,N,02349.684,E,125953,A*2B
+$PGRMZ,314,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6145.919,N,02345.544,E,T006*2B
+$GPRMC,125953,A,6129.020,N,02349.684,E,000.0,326.6,110805,006.0,E*7D
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.7,,V*15
+$GPGGA,125953,6129.020,N,02349.684,E,1,07,2.7,95.6,M,20.7,M,,*7E
+$GPGSA,A,3,,,,,15,18,19,,26,27,28,29,2.7,2.7,1.0*36
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,42,10,15,209,30*70
+$GPGSV,3,2,12,15,13,332,37,18,18,327,35,19,21,035,35,21,05,299,30*77
+$GPGSV,3,3,12,26,59,277,45,27,20,092,41,28,62,143,43,29,68,249,45*7C
+$PGRME,8.2,M,12.6,M,13.5,M*26
+$GPGLL,6129.020,N,02349.684,E,125953,A*2B
+$PGRMZ,314,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6130.198,N,02342.702,E,T005*2C
+$GPRMC,125954,A,6129.020,N,02349.684,E,000.0,326.6,110805,006.0,E*7A
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125954,6129.020,N,02349.684,E,1,07,1.5,95.8,M,20.7,M,,*76
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.5,1.5,1.0*3E
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,42,10,15,209,30*70
+$GPGSV,3,2,12,15,13,332,38,18,19,327,35,19,21,035,40,21,05,299,30*7B
+$GPGSV,3,3,12,26,59,277,45,27,20,092,41,28,62,143,44,29,68,249,44*7A
+$PGRME,8.8,M,12.9,M,14.3,M*22
+$GPGLL,6129.020,N,02349.684,E,125954,A*2C
+$PGRMZ,314,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6216.183,N,02619.685,E,T004*25
+$GPRMC,125956,A,6129.022,N,02349.683,E,000.0,326.6,110805,006.0,E*7D
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125956,6129.022,N,02349.683,E,1,08,2.1,95.5,M,20.7,M,,*74
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.1,2.1,1.0*3E
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,42,10,15,209,30*70
+$GPGSV,3,2,12,15,13,332,39,18,19,327,34,19,21,035,40,21,05,299,30*7B
+$GPGSV,3,3,12,26,59,277,45,27,20,092,41,28,62,143,44,29,68,249,43*7D
+$PGRME,8.2,M,11.4,M,14.1,M*24
+$GPGLL,6129.022,N,02349.683,E,125957,A*2A
+$PGRMZ,313,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6215.064,N,02603.837,E,T003*25
+$GPRMC,125957,A,6129.024,N,02349.682,E,001.0,326.6,110805,006.0,E*7A
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,000.0,V*3A
+$GPGGA,125957,6129.024,N,02349.682,E,1,08,2.2,95.2,M,20.7,M,,*76
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.6,2.2,1.5*3F
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,41,10,15,209,30*73
+$GPGSV,3,2,12,15,13,332,39,18,19,327,34,19,21,035,41,21,05,299,31*7B
+$GPGSV,3,3,12,26,59,277,46,27,20,092,40,28,62,143,45,29,68,249,44*79
+$PGRME,8.2,M,11.4,M,14.1,M*24
+$GPGLL,6129.024,N,02349.682,E,125958,A*22
+$PGRMZ,312,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6151.098,N,02510.924,E,T002*26
+$GPRMC,125958,A,6129.024,N,02349.682,E,001.0,326.6,110805,006.0,E*75
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,000.3,V*3A
+$GPGGA,125958,6129.024,N,02349.682,E,1,08,1.9,95.2,M,20.7,M,,*71
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.9,1.9,1.0*3E
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,39,18,19,327,34,19,21,034,41,21,05,299,31*7A
+$GPGSV,3,3,12,26,59,277,46,27,20,092,39,28,62,143,45,29,68,249,44*77
+$PGRME,8.1,M,11.1,M,13.7,M*23
+$GPGLL,6129.032,N,02349.677,E,125959,A*2E
+$PGRMZ,311,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.271,N,02346.376,E,T001*27
+$GPRMC,125959,A,6129.035,N,02349.675,E,013.3,345.5,110805,006.0,E*7A
+$GPRMB,A,0.23,L,T013,T012,6129.236,N,02346.327,E,001.6,277.1,004.9,V*31
+$GPGGA,130000,6129.036,N,02349.675,E,1,08,2.1,94.6,M,20.7,M,,*74
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.4,2.1,1.5*3E
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,38,18,19,327,35,19,21,034,41,21,05,299,31*7A
+$GPGSV,3,3,12,26,59,277,46,27,20,092,38,28,62,143,45,29,68,249,44*76
+$PGRME,8.1,M,11.2,M,13.8,M*2F
+$GPGLL,6129.038,N,02349.674,E,130000,A*26
+$PGRMZ,310,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPRTE,4,1,c,0,T030,T029,T028,T027,T026,T025,T024,T023,T022*49
+$GPRTE,4,2,c,0,T021,T020,T019,T018,T017,T016,T015,T014,T013*4B
+$GPRTE,4,3,c,0,T012,T011,T010,T009,T008,T007,T006,T005,T004*4B
+$GPRTE,4,4,c,0,T003,T002,T001*4F
+$GPWPL,6016.083,N,02452.500,E,T030*22
+$GPRMC,130002,A,6129.045,N,02349.670,E,017.4,345.0,110805,006.0,E*7D
+$GPRMB,A,0.24,L,T013,T012,6129.236,N,02346.327,E,001.6,276.8,006.5,V*30
+$GPGGA,130002,6129.046,N,02349.669,E,1,08,2.0,94.5,M,20.7,M,,*7E
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.4,2.0,1.6*3C
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,38,18,19,327,37,19,21,034,41,21,05,299,33*7A
+$GPGSV,3,3,12,26,59,277,47,27,20,092,38,28,62,143,45,29,68,249,44*77
+$PGRME,8.1,M,11.1,M,13.7,M*23
+$GPGLL,6129.052,N,02349.666,E,130002,A*2B
+$PGRMZ,309,f,3*11
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T029*2D
+$GPRMC,130003,A,6129.054,N,02349.664,E,020.7,345.1,110805,006.0,E*7F
+$GPRMB,A,0.25,L,T013,T012,6129.236,N,02346.327,E,001.6,276.5,007.6,V*3E
+$GPGGA,130003,6129.057,N,02349.663,E,1,08,1.9,93.9,M,20.7,M,,*74
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.9,1.9,1.0*3E
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,39,18,19,327,36,19,21,034,41,21,05,299,34*7D
+$GPGSV,3,3,12,26,59,277,47,27,20,092,37,28,62,143,45,29,68,249,44*78
+$PGRME,8.1,M,11.1,M,13.8,M*2C
+$GPGLL,6129.061,N,02349.660,E,130004,A*2B
+$PGRMZ,308,f,3*10
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6023.283,N,02430.650,E,T028*2D
+$GPRMC,130004,A,6129.064,N,02349.659,E,024.6,345.1,110805,006.0,E*70
+$GPRMB,A,0.26,L,T013,T012,6129.236,N,02346.327,E,001.6,276.1,008.9,V*39
+$GPGGA,130004,6129.066,N,02349.657,E,1,08,1.9,93.8,M,20.7,M,,*77
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.0,1.9,1.2*36
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,39,18,19,327,36,19,21,034,41,21,05,299,34*7D
+$GPGSV,3,3,12,26,59,277,47,27,20,092,37,28,62,143,45,29,68,249,44*78
+$PGRME,8.1,M,11.1,M,13.8,M*2C
+$GPGLL,6129.071,N,02349.655,E,130005,A*2D
+$PGRMZ,308,f,3*10
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T027*23
+$GPRMC,130005,A,6129.075,N,02349.652,E,028.8,345.4,110805,006.0,E*7D
+$GPRMB,A,0.27,L,T013,T012,6129.236,N,02346.327,E,001.6,275.7,010.0,V*3D
+$GPGGA,130006,6129.077,N,02349.651,E,1,08,1.9,93.6,M,20.7,M,,*7D
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.2,1.9,1.4*32
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,41,10,15,209,30*73
+$GPGSV,3,2,12,15,13,332,39,18,19,327,37,19,21,034,41,21,05,299,33*7B
+$GPGSV,3,3,12,26,59,277,47,27,20,092,37,28,62,143,45,29,68,249,44*78
+$PGRME,8.1,M,11.1,M,13.7,M*23
+$GPGLL,6129.082,N,02349.649,E,130006,A*2F
+$PGRMZ,306,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T026*24
+$GPRMC,130007,A,6129.086,N,02349.646,E,029.6,345.5,110805,006.0,E*78
+$GPRMB,A,0.28,L,T013,T012,6129.236,N,02346.327,E,001.6,275.4,010.2,V*33
+$GPGGA,130007,6129.088,N,02349.646,E,1,08,1.6,93.3,M,20.7,M,,*70
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.1,1.8,1.5*31
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,39,18,19,327,37,19,21,034,41,21,04,298,33*7B
+$GPGSV,3,3,12,26,59,277,47,27,20,092,36,28,62,143,45,29,68,249,44*79
+$PGRME,8.7,M,12.4,M,15.1,M*23
+$GPGLL,6129.093,N,02349.643,E,130007,A*24
+$PGRMZ,306,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,S,02453.500,E,T025*3B
+$GPRMC,130007,A,6129.097,N,02349.640,E,030.6,345.6,110805,006.0,E*75
+$GPRMB,A,0.29,L,T013,T012,6129.236,N,02346.327,E,001.6,275.0,010.2,V*36
+$GPGGA,130007,6129.099,N,02349.639,E,1,08,1.8,93.3,M,20.7,M,,*76
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.1,1.8,1.5*31
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,39,18,19,327,38,19,21,034,40,21,04,298,32*74
+$GPGSV,3,3,12,26,59,277,47,27,20,092,35,28,62,143,45,29,68,249,44*7A
+$PGRME,8.7,M,12.4,M,15.1,M*23
+$GPGLL,6129.104,N,02349.637,E,130009,A*26
+$PGRMZ,306,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6018.083,N,02453.500,E,T024*28
+$GPRMC,130009,A,6129.108,N,02349.634,E,032.5,345.3,110805,006.0,E*7B
+$GPRMB,A,0.30,L,T013,T012,6129.236,N,02346.327,E,001.6,274.6,010.8,V*33
+$GPGGA,130009,6129.110,N,02349.633,E,1,08,2.0,93.3,M,20.7,M,,*79
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.6,2.0,1.9*31
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,39,18,19,327,36,19,21,034,38,21,04,298,32*75
+$GPGSV,3,3,12,26,59,277,47,27,20,092,34,28,62,143,45,29,68,249,45*7A
+$PGRME,8.7,M,12.4,M,15.1,M*23
+$GPGLL,6129.117,N,02349.630,E,130010,A*2B
+$PGRMZ,306,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,W,T023*33
+$GPRMC,130011,A,6129.121,N,02349.627,E,033.7,345.2,110805,006.0,E*79
+$GPRMB,A,0.31,L,T013,T012,6129.236,N,02346.327,E,001.6,274.1,011.1,V*3D
+$GPGGA,130011,6129.124,N,02349.625,E,1,08,2.1,93.2,M,20.7,M,,*70
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.5,2.1,1.0*3A
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,39,18,19,327,37,19,21,034,38,21,04,298,00*75
+$GPGSV,3,3,12,26,59,277,47,27,20,092,34,28,62,143,45,29,68,249,45*7A
+$PGRME,8.7,M,12.4,M,15.1,M*23
+$GPGLL,6129.129,N,02349.622,E,130011,A*24
+$PGRMZ,306,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02555.500,E,T022*26
+$GPRMC,130012,A,6129.134,N,02349.620,E,034.7,345.2,110805,006.0,E*7E
+$GPRMB,A,0.32,L,T013,T012,6129.236,N,02346.327,E,001.6,273.7,011.2,V*3C
+$GPGGA,130012,6129.136,N,02349.619,E,1,08,2.1,93.3,M,20.7,M,,*7E
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.9,2.3,1.5*31
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,39,18,19,327,37,19,21,034,40,21,04,298,00*7A
+$GPGSV,3,3,12,26,59,277,47,27,20,092,34,28,62,143,45,29,68,249,45*7A
+$PGRME,8.7,M,12.4,M,15.1,M*23
+$GPGLL,6129.142,N,02349.615,E,130013,A*2F
+$PGRMZ,307,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T021*23
+$GPRMC,130013,A,6129.148,N,02349.613,E,035.8,345.5,110805,006.0,E*7D
+$GPRMB,A,0.33,L,T013,T012,6129.236,N,02346.327,E,001.6,273.2,010.9,V*32
+$GPGGA,130014,6129.150,N,02349.612,E,1,08,2.4,93.6,M,20.7,M,,*73
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.3,2.4,1.9*31
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,39,18,19,327,38,19,21,034,41,21,04,298,00*74
+$GPGSV,3,3,12,26,59,277,47,27,20,092,34,28,62,143,45,29,68,249,45*7A
+$PGRME,8.1,M,11.1,M,13.7,M*23
+$GPGLL,6129.156,N,02349.608,E,130014,A*21
+$PGRMZ,307,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6116.083,N,02452.500,E,T020*22
+$GPRMC,130015,A,6129.161,N,02349.606,E,036.9,345.7,110805,006.0,E*74
+$GPRMB,A,0.34,L,T013,T012,6129.236,N,02346.327,E,001.6,272.7,011.0,V*39
+$GPGGA,130015,6129.163,N,02349.604,E,1,08,2.4,93.8,M,20.7,M,,*7B
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.3,2.4,1.9*31
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,40,18,19,327,38,19,21,034,40,21,04,298,00*7B
+$GPGSV,3,3,12,26,59,277,47,27,20,092,35,28,62,143,45,29,68,249,44*7A
+$PGRME,8.6,M,11.6,M,14.4,M*27
+$GPGLL,6129.171,N,02349.600,E,130015,A*2D
+$PGRMZ,308,f,3*10
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,S,02452.500,E,T019*34
+$GPRMC,130015,A,6129.176,N,02349.597,E,037.1,345.7,110805,006.0,E*70
+$GPRMB,A,0.36,L,T013,T012,6129.236,N,02346.327,E,001.6,272.2,010.6,V*39
+$GPGGA,130015,6129.178,N,02349.596,E,1,08,2.7,94.1,M,20.7,M,,*74
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.9,2.7,2.5*37
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,38,18,19,327,37,19,21,034,39,21,04,298,00*75
+$GPGSV,3,3,12,26,59,277,47,27,20,092,34,28,62,143,45,29,68,249,45*7A
+$PGRME,8.6,M,11.6,M,14.4,M*27
+$GPGLL,6129.184,N,02349.593,E,130016,A*2D
+$PGRMZ,309,f,3*11
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,N,02452.500,E,T018*28
+$GPRMC,130016,A,6129.190,N,02349.590,E,037.3,345.9,110805,006.0,E*70
+$GPRMB,A,0.37,L,T013,T012,6129.236,N,02346.327,E,001.6,271.8,010.2,V*35
+$GPGGA,130016,6129.192,N,02349.589,E,1,08,3.5,94.5,M,20.7,M,,*7A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,7.3,3.5,5.9*31
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,39,10,15,209,30*7C
+$GPGSV,3,2,12,15,13,332,39,18,19,327,36,19,21,034,38,21,04,298,00*74
+$GPGSV,3,3,12,26,59,277,30,27,20,092,34,28,62,143,44,29,68,249,44*7A
+$PGRME,12.2,M,24.9,M,28.1,M*1B
+$GPGLL,6129.201,N,02349.584,E,130018,A*2B
+$PGRMZ,310,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6013.283,N,02456.650,E,T017*22
+$GPRMC,130019,A,6129.206,N,02349.582,E,037.3,345.9,110805,006.0,E*70
+$GPRMB,A,0.38,L,T013,T012,6129.236,N,02346.327,E,001.6,271.1,009.9,V*30
+$GPGGA,130019,6129.208,N,02349.580,E,1,08,3.5,94.6,M,20.7,M,,*7F
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,7.3,3.5,5.9*31
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,39,10,15,209,30*7C
+$GPGSV,3,2,12,15,13,332,38,18,19,327,36,19,21,034,37,21,04,298,00*7A
+$GPGSV,3,3,12,26,59,277,36,27,20,092,33,28,62,143,43,29,68,249,44*7C
+$PGRME,12.2,M,24.9,M,28.1,M*1B
+$GPGLL,6129.214,N,02349.577,E,130020,A*28
+$PGRMZ,311,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T016*21
+$GPRMC,130020,A,6129.219,N,02349.574,E,036.7,345.1,110805,006.0,E*70
+$GPRMB,A,0.40,L,T013,T012,6129.236,N,02346.327,E,001.6,270.6,009.9,V*39
+$GPGGA,130020,6129.221,N,02349.573,E,1,08,3.5,94.8,M,20.7,M,,*7C
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,6.9,3.5,5.9*3A
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,39,10,15,209,30*7C
+$GPGSV,3,2,12,15,13,332,39,18,19,327,36,19,21,034,36,21,04,298,00*7A
+$GPGSV,3,3,12,26,59,277,41,27,20,092,33,28,62,143,44,29,68,249,44*7B
+$PGRME,12.4,M,23.7,M,28.0,M*15
+$GPGLL,6129.227,N,02349.570,E,130021,A*2E
+$PGRMZ,311,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0000.000,N,00000.000,W,T015*39
+$GPRMC,130021,A,6129.233,N,02349.567,E,038.3,345.4,110805,006.0,E*74
+$GPRMB,A,0.41,L,T013,T012,6129.236,N,02346.327,E,001.6,270.1,009.8,V*3E
+$GPGGA,130022,6129.235,N,02349.566,E,1,08,3.7,94.8,M,20.7,M,,*7D
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,7.2,3.7,6.0*38
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,39,10,15,209,30*7C
+$GPGSV,3,2,12,15,13,332,39,18,19,327,35,19,21,034,35,21,04,298,00*7A
+$GPGSV,3,3,12,26,59,277,43,27,20,092,32,28,62,143,44,29,68,249,44*78
+$PGRME,13.4,M,24.4,M,29.0,M*11
+$GPGLL,6129.241,N,02349.562,E,130022,A*2E
+$PGRMZ,310,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0009.000,N,02430.650,E,T014*25
+$GPRMC,130023,A,6129.246,N,02349.560,E,038.2,345.8,110805,006.0,E*7E
+$GPRMB,A,0.42,L,T013,T012,6129.236,N,02346.327,E,001.5,269.6,009.3,V*3A
+$GPGGA,130023,6129.248,N,02349.559,E,1,08,2.8,94.6,M,20.7,M,,*7A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.2,2.8,1.7*32
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,39,10,15,209,30*7C
+$GPGSV,3,2,12,15,13,332,40,18,19,327,36,19,21,034,35,21,04,298,00*77
+$GPGSV,3,3,12,26,59,277,45,27,20,092,32,28,62,143,44,29,68,249,45*7F
+$PGRME,13.4,M,24.4,M,29.0,M*11
+$GPGLL,6129.254,N,02349.555,E,130023,A*2F
+$PGRMZ,310,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.285,N,02430.651,E,T013*23
+$GPRMC,130024,A,6129.259,N,02349.552,E,037.7,345.6,110805,006.0,E*72
+$GPRMB,A,0.43,L,T013,T012,6129.236,N,02346.327,E,001.5,269.1,009.0,V*3F
+$GPGGA,130024,6129.261,N,02349.551,E,1,08,3.1,94.4,M,20.7,M,,*74
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,3.8,3.1,2.2*33
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,40,18,19,327,37,19,21,034,34,21,04,298,00*77
+$GPGSV,3,3,12,26,59,277,46,27,20,092,31,28,62,143,44,29,68,249,45*7F
+$PGRME,13.4,M,24.4,M,29.0,M*11
+$GPGLL,6129.267,N,02349.548,E,130025,A*25
+$PGRMZ,310,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.236,N,02346.327,E,T012*22
+$GPRMC,130026,A,6129.272,N,02349.545,E,037.5,345.6,110805,006.0,E*7D
+$GPRMB,A,0.44,L,T013,T012,6129.236,N,02346.327,E,001.5,268.6,008.6,V*39
+$GPGGA,130026,6129.275,N,02349.544,E,1,07,2.6,94.4,M,20.7,M,,*7E
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,2.6,2.6,1.0*3B
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,39,10,15,209,30*7C
+$GPGSV,3,2,12,15,13,332,41,18,19,327,37,19,21,034,35,21,04,298,00*77
+$GPGSV,3,3,12,26,60,276,47,27,20,092,31,28,62,143,44,29,68,249,45*75
+$PGRME,13.6,M,23.7,M,28.1,M*17
+$GPGLL,6129.280,N,02349.541,E,130026,A*26
+$PGRMZ,309,f,3*11
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6114.236,N,02346.327,E,T011*2F
+$GPRMC,130027,A,6129.285,N,02349.538,E,037.2,345.4,110805,006.0,E*7B
+$GPRMB,A,0.45,L,T013,T012,6129.236,N,02346.327,E,001.5,268.2,008.4,V*3E
+$GPGGA,130027,6129.287,N,02349.537,E,1,07,2.6,94.1,M,20.7,M,,*73
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,2.6,2.6,1.0*3B
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,39,10,15,209,30*7C
+$GPGSV,3,2,12,15,13,332,41,18,19,327,37,19,21,034,35,21,04,298,00*77
+$GPGSV,3,3,12,26,60,276,47,27,20,092,31,28,62,143,44,29,68,249,45*75
+$PGRME,13.6,M,23.7,M,28.1,M*17
+$GPGLL,6129.293,N,02349.534,E,130027,A*27
+$PGRMZ,308,f,3*10
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6220.236,N,02346.327,E,T010*2A
+$GPRMC,130028,A,6129.298,N,02349.531,E,036.8,345.5,110805,006.0,E*7B
+$GPRMB,A,0.47,L,T013,T012,6129.236,N,02346.327,E,001.5,267.7,007.8,V*35
+$GPGGA,130028,6129.300,N,02349.530,E,1,07,2.8,94.0,M,20.7,M,,*7A
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,3.2,2.8,1.7*37
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,39,10,15,209,30*7C
+$GPGSV,3,2,12,15,13,332,40,18,19,327,37,19,21,034,34,21,04,298,00*77
+$GPGSV,3,3,12,26,60,276,47,27,20,092,31,28,62,143,44,29,68,249,46*76
+$PGRME,9.9,M,16.6,M,9.9,M*1F
+$GPGLL,6129.306,N,02349.527,E,130028,A*27
+$PGRMZ,309,f,3*11
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6120.236,N,02346.327,E,T009*21
+$GPRMC,130029,A,6129.311,N,02349.524,E,036.9,345.7,110805,006.0,E*7D
+$GPRMB,A,0.48,L,T013,T012,6129.236,N,02346.327,E,001.5,267.2,007.5,V*32
+$GPGGA,130029,6129.313,N,02349.523,E,1,07,2.8,94.1,M,20.7,M,,*7A
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,3.1,2.8,1.7*34
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,39,18,19,327,38,19,21,034,36,21,04,298,00*74
+$GPGSV,3,3,12,26,60,276,48,27,20,092,31,28,62,143,44,29,68,249,46*79
+$PGRME,11.2,M,18.1,M,12.7,M*10
+$GPGLL,6129.319,N,02349.520,E,130029,A*2F
+$PGRMZ,307,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.234,N,02346.317,E,T008*28
+$GPRMC,130029,A,6129.328,N,02349.515,E,036.7,345.7,110805,006.0,E*7B
+$GPRMB,A,0.49,L,T013,T012,6129.236,N,02346.327,E,001.5,266.5,007.1,V*31
+$GPGGA,130029,6129.330,N,02349.514,E,1,07,2.8,93.5,M,20.7,M,,*7C
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,3.1,2.8,1.7*34
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,38,18,19,327,37,19,21,034,35,21,04,298,00*79
+$GPGSV,3,3,12,26,60,276,45,27,19,092,31,28,62,143,43,29,68,249,45*7A
+$PGRME,11.2,M,18.1,M,12.7,M*10
+$GPGLL,6129.336,N,02349.510,E,130032,A*2B
+$PGRMZ,307,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6157.564,N,02406.158,E,T007*26
+$GPRMC,130033,A,6129.341,N,02349.508,E,036.7,345.7,110805,006.0,E*73
+$GPRMB,A,0.51,L,T013,T012,6129.236,N,02346.327,E,001.5,266.0,006.8,V*35
+$GPGGA,130033,6129.343,N,02349.507,E,1,07,2.9,93.7,M,20.7,M,,*72
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,3.5,2.9,2.1*34
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,39,10,15,209,30*7C
+$GPGSV,3,2,12,15,13,332,38,18,19,327,37,19,21,034,37,21,04,298,00*7B
+$GPGSV,3,3,12,26,60,276,46,27,19,092,31,28,62,143,43,29,68,249,45*79
+$PGRME,11.5,M,18.6,M,14.3,M*12
+$GPGLL,6129.349,N,02349.504,E,130033,A*27
+$PGRMZ,307,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6145.919,N,02345.544,E,T006*2B
+$GPRMC,130034,A,6129.354,N,02349.501,E,036.7,345.6,110805,006.0,E*78
+$GPRMB,A,0.52,L,T013,T012,6129.236,N,02346.327,E,001.5,265.5,006.6,V*3E
+$GPGGA,130034,6129.356,N,02349.500,E,1,07,2.9,93.7,M,20.7,M,,*76
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,2.6,2.6,1.0*3B
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,38,18,19,327,37,19,21,034,39,21,04,298,00*75
+$GPGSV,3,3,12,26,60,276,46,27,19,092,31,28,62,142,44,29,68,249,45*7F
+$PGRME,8.0,M,11.1,M,13.7,M*22
+$GPGLL,6129.362,N,02349.497,E,130034,A*22
+$PGRMZ,308,f,3*10
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6130.198,N,02342.702,E,T005*2C
+$GPRMC,130035,A,6129.367,N,02349.494,E,036.6,346.0,110805,006.0,E*70
+$GPRMB,A,0.53,L,T013,T012,6129.236,N,02346.327,E,001.5,265.0,005.8,V*37
+$GPGGA,130035,6129.369,N,02349.493,E,1,07,1.9,94.0,M,20.7,M,,*73
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.9,1.9,1.0*3E
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,38,18,19,327,38,19,21,034,39,21,04,298,00*7A
+$GPGSV,3,3,12,26,60,276,47,27,19,092,35,28,62,142,44,29,68,249,46*79
+$PGRME,8.0,M,11.1,M,13.7,M*22
+$GPGLL,6129.375,N,02349.490,E,130036,A*21
+$PGRMZ,308,f,3*10
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6216.183,N,02619.685,E,T004*25
+$GPRMC,130037,A,6129.380,N,02349.488,E,036.4,345.9,110805,006.0,E*7E
+$GPRMB,A,0.54,L,T013,T012,6129.236,N,02346.327,E,001.5,264.5,005.6,V*3A
+$GPGGA,130037,6129.382,N,02349.487,E,1,08,2.1,94.0,M,20.7,M,,*75
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.1,2.1,1.0*3E
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,38,18,19,327,38,19,21,034,40,21,04,298,00*74
+$GPGSV,3,3,12,26,60,276,48,27,19,092,34,28,62,142,44,29,68,249,46*77
+$PGRME,9.3,M,12.8,M,15.8,M*23
+$GPGLL,6129.388,N,02349.483,E,130037,A*20
+$PGRMZ,308,f,3*10
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6215.064,N,02603.837,E,T003*25
+$GPRMC,130037,A,6129.393,N,02349.481,E,036.4,345.8,110805,006.0,E*74
+$GPRMB,A,0.55,L,T013,T012,6129.236,N,02346.327,E,001.5,264.0,005.3,V*3B
+$GPGGA,130038,6129.395,N,02349.480,E,1,08,2.2,93.8,M,20.7,M,,*77
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.5,2.2,1.5*3C
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,39,10,15,209,30*7C
+$GPGSV,3,2,12,15,13,332,38,18,19,327,38,19,21,034,40,21,04,298,00*74
+$GPGSV,3,3,12,26,60,276,48,27,19,092,35,28,62,142,44,29,68,246,46*79
+$PGRME,8.0,M,11.1,M,13.7,M*22
+$GPGLL,6129.401,N,02349.476,E,130038,A*23
+$PGRMZ,308,f,3*10
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6151.098,N,02510.924,E,T002*26
+$GPRMC,130039,A,6129.405,N,02349.474,E,036.4,345.6,110805,006.0,E*76
+$GPRMB,A,0.56,L,T013,T012,6129.236,N,02346.327,E,001.5,263.5,005.2,V*3B
+$GPGGA,130039,6129.407,N,02349.473,E,1,08,2.5,93.9,M,20.7,M,,*70
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.2,2.5,2.1*3A
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,39,18,19,327,37,19,21,034,40,21,04,298,00*7A
+$GPGSV,3,3,12,26,60,276,48,27,19,092,37,28,62,142,44,29,68,246,46*7B
+$PGRME,8.0,M,11.1,M,13.7,M*22
+$GPGLL,6129.413,N,02349.469,E,130039,A*2F
+$PGRMZ,308,f,3*10
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.271,N,02346.376,E,T001*27
+$GPRMC,130039,A,6129.420,N,02349.466,E,036.3,345.3,110805,006.0,E*70
+$GPRMB,A,0.58,L,T013,T012,6129.236,N,02346.327,E,001.5,263.0,005.0,V*32
+$GPGGA,130041,6129.422,N,02349.465,E,1,08,2.7,93.8,M,20.7,M,,*7C
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.6,2.7,2.5*38
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,39,18,19,327,37,19,21,034,40,21,04,298,00*7A
+$GPGSV,3,3,12,26,60,276,48,27,19,092,37,28,62,142,44,29,68,247,46*7A
+$PGRME,8.0,M,11.1,M,13.7,M*22
+$GPGLL,6129.428,N,02349.461,E,130041,A*20
+$PGRMZ,307,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPRTE,4,1,c,0,T030,T029,T028,T027,T026,T025,T024,T023,T022*49
+$GPRTE,4,2,c,0,T021,T020,T019,T018,T017,T016,T015,T014,T013*4B
+$GPRTE,4,3,c,0,T012,T011,T010,T009,T008,T007,T006,T005,T004*4B
+$GPRTE,4,4,c,0,T003,T002,T001*4F
+$GPWPL,6016.083,N,02452.500,E,T030*22
+$GPRMC,130042,A,6129.437,N,02349.455,E,036.8,344.3,110805,006.0,E*70
+$GPRMB,A,0.59,L,T013,T012,6129.236,N,02346.327,E,001.5,262.3,005.3,V*32
+$GPGGA,130042,6129.439,N,02349.454,E,1,08,2.1,93.6,M,20.7,M,,*7F
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.6,2.1,2.9*32
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,39,18,19,327,37,19,21,034,39,21,04,298,00*74
+$GPGSV,3,3,12,26,60,276,48,27,19,092,38,28,62,142,44,29,68,247,46*75
+$PGRME,8.0,M,11.1,M,13.7,M*22
+$GPGLL,6129.444,N,02349.451,E,130043,A*2B
+$PGRMZ,307,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T029*2D
+$GPRMC,130044,A,6129.450,N,02349.448,E,037.2,344.3,110805,006.0,E*70
+$GPRMB,A,0.60,L,T013,T012,6129.236,N,02346.327,E,001.5,261.8,005.0,V*33
+$GPGGA,130044,6129.452,N,02349.446,E,1,08,2.2,93.8,M,20.7,M,,*7A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.6,2.1,2.9*32
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,39,18,19,327,36,19,21,034,39,21,04,298,00*75
+$GPGSV,3,3,12,26,60,276,48,27,19,092,38,28,62,142,44,29,68,247,46*75
+$PGRME,8.0,M,11.1,M,13.7,M*22
+$GPGLL,6129.458,N,02349.443,E,130045,A*23
+$PGRMZ,307,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6023.283,N,02430.650,E,T028*2D
+$GPRMC,130045,A,6129.463,N,02349.440,E,037.1,344.3,110805,006.0,E*7A
+$GPRMB,A,0.61,L,T013,T012,6129.236,N,02346.327,E,001.5,261.3,004.6,V*3E
+$GPGGA,130045,6129.465,N,02349.439,E,1,08,2.1,93.6,M,20.7,M,,*7A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.6,2.1,2.9*32
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,39,18,19,327,36,19,21,034,39,21,04,298,00*75
+$GPGSV,3,3,12,26,60,276,48,27,19,092,38,28,62,142,44,29,68,247,45*76
+$PGRME,8.0,M,11.1,M,13.7,M*22
+$GPGLL,6129.471,N,02349.435,E,130046,A*2A
+$PGRMZ,308,f,3*10
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T027*23
+$GPRMC,130046,A,6129.475,N,02349.432,E,037.1,344.3,110805,006.0,E*7B
+$GPRMB,A,0.63,L,T013,T012,6129.236,N,02346.327,E,001.5,260.8,004.6,V*36
+$GPGGA,130046,6129.477,N,02349.431,E,1,08,2.1,93.8,M,20.7,M,,*7C
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.5,2.1,1.0*3A
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,39,18,19,327,36,19,21,034,37,21,04,298,00*7B
+$GPGSV,3,3,12,26,60,276,48,27,19,092,37,28,62,142,44,29,68,247,46*7A
+$PGRME,8.6,M,11.5,M,14.4,M*24
+$GPGLL,6129.483,N,02349.427,E,130046,A*24
+$PGRMZ,307,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T026*24
+$GPRMC,130047,A,6129.488,N,02349.424,E,036.8,343.8,110805,006.0,E*7B
+$GPRMB,A,0.64,L,T013,T012,6129.236,N,02346.327,E,001.5,260.3,004.4,V*38
+$GPGGA,130047,6129.490,N,02349.423,E,1,08,2.3,93.5,M,20.7,M,,*78
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.8,2.3,1.3*36
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,40,18,19,327,35,19,21,034,37,21,04,298,00*76
+$GPGSV,3,3,12,26,60,276,48,27,19,092,37,28,62,142,43,29,68,247,46*7D
+$PGRME,9.2,M,12.0,M,15.1,M*23
+$GPGLL,6129.496,N,02349.419,E,130048,A*23
+$PGRMZ,307,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,S,02453.500,E,T025*3B
+$GPRMC,130048,A,6129.500,N,02349.416,E,036.3,343.3,110805,006.0,E*74
+$GPRMB,A,0.65,L,T013,T012,6129.236,N,02346.327,E,001.5,259.8,004.2,V*3E
+$GPGGA,130049,6129.502,N,02349.415,E,1,08,2.3,93.6,M,20.7,M,,*7A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.6,2.3,1.0*3B
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,38,10,15,209,30*7D
+$GPGSV,3,2,12,15,13,332,40,18,19,327,36,19,21,034,38,21,04,298,00*7A
+$GPGSV,3,3,12,26,60,276,48,27,19,092,37,28,62,142,43,29,68,247,45*7E
+$PGRME,8.1,M,11.3,M,13.9,M*2F
+$GPGLL,6129.508,N,02349.411,E,130049,A*2C
+$PGRMZ,307,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6018.083,N,02453.500,E,T024*28
+$GPRMC,130049,A,6129.513,N,02349.408,E,036.3,342.6,110805,006.0,E*7C
+$GPRMB,A,0.66,L,T013,T012,6129.236,N,02346.327,E,001.5,259.4,004.3,V*30
+$GPGGA,130049,6129.515,N,02349.406,E,1,08,2.3,93.4,M,20.7,M,,*7C
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.7,2.3,1.2*38
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,37,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,40,18,19,327,36,19,21,034,38,21,04,298,00*7A
+$GPGSV,3,3,12,26,60,276,48,27,19,092,37,28,62,142,42,29,68,247,45*7F
+$PGRME,8.0,M,11.0,M,13.6,M*22
+$GPGLL,6129.521,N,02349.403,E,130051,A*2D
+$PGRMZ,307,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,W,T023*33
+$GPRMC,130051,A,6129.525,N,02349.400,E,036.1,342.6,110805,006.0,E*7A
+$GPRMB,A,0.67,L,T013,T012,6129.236,N,02346.327,E,001.5,258.9,004.3,V*3D
+$GPGGA,130051,6129.527,N,02349.398,E,1,08,2.4,93.6,M,20.7,M,,*71
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.1,2.4,1.7*3D
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,36,10,15,209,30*73
+$GPGSV,3,2,12,15,13,332,40,18,19,327,37,19,21,034,39,21,04,298,00*7A
+$GPGSV,3,3,12,26,60,276,47,27,19,092,36,28,62,142,43,29,68,247,45*70
+$PGRME,8.1,M,11.2,M,13.8,M*2F
+$GPGLL,6129.532,N,02349.395,E,130052,A*24
+$PGRMZ,307,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02555.500,E,T022*26
+$GPRMC,130053,A,6129.537,N,02349.392,E,035.1,342.5,110805,006.0,E*77
+$GPRMB,A,0.68,L,T013,T012,6129.236,N,02346.327,E,001.5,258.4,003.8,V*33
+$GPGGA,130053,6129.539,N,02349.390,E,1,08,2.5,93.6,M,20.7,M,,*75
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.9,1.9,1.0*3E
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,35,10,15,209,30*70
+$GPGSV,3,2,12,15,13,332,40,18,19,327,36,19,21,034,39,21,04,298,30*78
+$GPGSV,3,3,12,26,60,276,47,27,19,092,36,28,62,142,42,29,68,247,45*71
+$PGRME,8.8,M,12.4,M,15.3,M*2E
+$GPGLL,6129.544,N,02349.387,E,130053,A*27
+$PGRMZ,306,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T021*23
+$GPRMC,130054,A,6129.549,N,02349.384,E,034.7,342.7,110805,006.0,E*7B
+$GPRMB,A,0.69,L,T013,T012,6129.236,N,02346.327,E,001.5,257.9,003.3,V*3B
+$GPGGA,130054,6129.551,N,02349.383,E,1,08,1.9,93.4,M,20.7,M,,*73
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.9,1.9,1.0*3E
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,34,10,15,209,30*71
+$GPGSV,3,2,12,15,13,332,40,18,19,327,36,19,21,034,40,21,04,298,30*76
+$GPGSV,3,3,12,26,60,276,47,27,19,092,35,28,62,142,42,29,68,247,45*72
+$PGRME,8.0,M,11.0,M,13.6,M*22
+$GPGLL,6129.556,N,02349.379,E,130054,A*22
+$PGRMZ,307,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6116.083,N,02452.500,E,T020*22
+$GPRMC,130055,A,6129.561,N,02349.376,E,034.5,342.4,110805,006.0,E*7C
+$GPRMB,A,0.70,L,T013,T012,6129.236,N,02346.327,E,001.5,257.4,003.1,V*3C
+$GPGGA,130055,6129.562,N,02349.375,E,1,08,2.1,93.7,M,20.7,M,,*73
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.4,2.1,1.0*3B
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,33,10,15,209,32*74
+$GPGSV,3,2,12,15,13,332,40,18,19,327,37,19,21,034,41,21,04,298,30*76
+$GPGSV,3,3,12,26,60,276,46,27,19,092,34,28,62,142,42,29,68,247,44*73
+$PGRME,8.8,M,12.3,M,15.1,M*2B
+$GPGLL,6129.568,N,02349.370,E,130055,A*27
+$PGRMZ,307,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,S,02452.500,E,T019*34
+$GPRMC,130056,A,6129.572,N,02349.367,E,034.4,341.5,110805,006.0,E*7E
+$GPRMB,A,0.71,L,T013,T012,6129.236,N,02346.327,E,001.5,256.9,003.4,V*34
+$GPGGA,130056,6129.575,N,02349.365,E,1,08,2.3,93.8,M,20.7,M,,*7A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.9,2.3,1.5*31
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,33,10,15,209,34*72
+$GPGSV,3,2,12,15,13,332,41,18,19,327,37,19,21,034,42,21,04,298,30*74
+$GPGSV,3,3,12,26,60,276,46,27,19,092,34,28,62,142,42,29,68,247,44*73
+$PGRME,8.8,M,12.3,M,15.1,M*2B
+$GPGLL,6129.579,N,02349.361,E,130058,A*2A
+$PGRMZ,308,f,3*10
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,N,02452.500,E,T018*28
+$GPRMC,130058,A,6129.584,N,02349.358,E,034.3,340.7,110805,006.0,E*71
+$GPRMB,A,0.72,L,T013,T012,6129.236,N,02346.327,E,001.5,256.5,003.5,V*3A
+$GPGGA,130058,6129.586,N,02349.357,E,1,08,2.4,94.0,M,20.7,M,,*71
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.3,2.4,1.9*31
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,32,10,15,209,35*72
+$GPGSV,3,2,12,15,13,332,42,18,19,327,38,19,21,034,42,21,04,298,33*7B
+$GPGSV,3,3,12,26,60,276,45,27,19,092,33,28,62,142,42,29,68,247,44*77
+$PGRME,8.8,M,12.3,M,15.1,M*2B
+$GPGLL,6129.591,N,02349.353,E,130059,A*2C
+$PGRMZ,309,f,3*11
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6013.283,N,02456.650,E,T017*22
+$GPRMC,130059,A,6129.595,N,02349.349,E,034.0,339.2,110805,006.0,E*78
+$GPRMB,A,0.73,L,T013,T012,6129.236,N,02346.327,E,001.5,256.0,004.1,V*3D
+$GPGGA,130059,6129.597,N,02349.347,E,1,08,2.6,94.7,M,20.7,M,,*74
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.7,2.6,2.3*3E
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,34,10,15,209,38*79
+$GPGSV,3,2,12,15,13,332,43,18,19,327,38,19,21,034,44,21,04,298,32*7D
+$GPGSV,3,3,12,26,60,276,45,27,19,092,33,28,62,142,41,29,68,247,45*75
+$PGRME,8.8,M,12.3,M,15.1,M*2B
+$GPGLL,6129.602,N,02349.343,E,130100,A*29
+$PGRMZ,311,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T016*21
+$GPRMC,130100,A,6129.608,N,02349.338,E,033.7,338.7,110805,006.0,E*70
+$GPRMB,A,0.74,L,T013,T012,6129.236,N,02346.327,E,001.5,255.5,004.1,V*3C
+$GPGGA,130101,6129.610,N,02349.336,E,1,08,2.7,95.2,M,20.7,M,,*77
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,4.0,2.7,2.7*3B
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,35,10,15,209,37*77
+$GPGSV,3,2,12,15,13,332,43,18,19,327,38,19,21,034,44,21,04,298,32*7D
+$GPGSV,3,3,12,26,60,276,45,27,19,092,32,28,62,142,42,29,68,247,45*77
+$PGRME,9.4,M,13.5,M,16.4,M*27
+$GPGLL,6129.615,N,02349.332,E,130101,A*28
+$PGRMZ,314,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0000.000,N,00000.000,W,T015*39
+$GPRMC,130102,A,6129.620,N,02349.328,E,034.0,338.1,110805,006.0,E*7F
+$GPRMB,A,0.75,L,T013,T012,6129.236,N,02346.327,E,001.5,255.0,004.1,V*38
+$GPGGA,130102,6129.622,N,02349.326,E,1,08,2.8,95.9,M,20.7,M,,*70
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,4.3,2.8,3.0*31
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,52,094,37,10,15,209,37*74
+$GPGSV,3,2,12,15,13,332,43,18,19,327,38,19,21,034,44,21,04,298,32*7D
+$GPGSV,3,3,12,26,60,276,44,27,19,092,32,28,62,142,41,29,68,247,45*75
+$PGRME,9.4,M,13.5,M,16.4,M*27
+$GPGLL,6129.627,N,02349.322,E,130103,A*2A
+$PGRMZ,315,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0009.000,N,02430.650,E,T014*25
+$GPRMC,130103,A,6129.631,N,02349.318,E,034.4,337.9,110805,006.0,E*7E
+$GPRMB,A,0.76,L,T013,T012,6129.236,N,02346.327,E,001.5,254.5,004.1,V*3F
+$GPGGA,130104,6129.633,N,02349.316,E,1,08,2.9,95.9,M,20.7,M,,*74
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,4.6,2.9,3.3*36
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,52,094,38,10,15,209,38*74
+$GPGSV,3,2,12,15,13,332,43,18,19,327,38,19,21,034,45,21,04,298,31*7F
+$GPGSV,3,3,12,26,60,276,44,27,19,092,31,28,62,142,41,29,68,247,46*75
+$PGRME,9.4,M,13.5,M,16.4,M*27
+$GPGLL,6129.639,N,02349.311,E,130104,A*22
+$PGRMZ,316,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.285,N,02430.651,E,T013*23
+$GPRMC,130105,A,6129.643,N,02349.307,E,034.9,337.2,110805,006.0,E*75
+$GPRMB,A,0.77,L,T013,T012,6129.236,N,02346.327,E,001.5,254.0,004.3,V*39
+$GPGGA,130105,6129.645,N,02349.306,E,1,08,3.0,96.5,M,20.7,M,,*72
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,4.8,3.0,3.6*30
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,52,094,37,10,15,209,38*7B
+$GPGSV,3,2,12,15,13,332,43,18,19,327,38,19,21,034,45,21,04,298,31*7F
+$GPGSV,3,3,12,26,60,276,45,27,19,092,31,28,62,142,42,29,68,247,46*77
+$PGRME,9.4,M,13.5,M,16.4,M*27
+$GPGLL,6129.650,N,02349.301,E,130105,A*2D
+$PGRMZ,319,f,3*10
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.236,N,02346.327,E,T012*22
+$GPRMC,130106,A,6129.655,N,02349.297,E,035.2,337.1,110805,006.0,E*70
+$GPRMB,A,0.78,L,T013,T012,6129.236,N,02346.327,E,001.5,253.5,004.1,V*36
+$GPGGA,130106,6129.657,N,02349.295,E,1,07,2.6,97.6,M,20.7,M,,*73
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,2.6,2.6,1.0*3B
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,52,094,37,10,15,209,38*7B
+$GPGSV,3,2,12,15,13,332,43,18,19,327,38,19,21,034,44,21,04,298,31*7E
+$GPGSV,3,3,12,26,60,276,45,27,19,092,30,28,62,142,42,29,68,247,47*77
+$PGRME,10.0,M,14.5,M,17.6,M*1F
+$GPGLL,6129.662,N,02349.290,E,130107,A*27
+$PGRMZ,321,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6114.236,N,02346.327,E,T011*2F
+$GPRMC,130107,A,6129.667,N,02349.285,E,035.7,335.6,110805,006.0,E*73
+$GPRMB,A,0.79,L,T013,T012,6129.236,N,02346.327,E,001.5,253.0,004.7,V*34
+$GPGGA,130108,6129.668,N,02349.283,E,1,07,2.5,98.1,M,20.7,M,,*7D
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,2.5,2.5,1.0*3B
+$GPGSV,3,1,12,03,02,012,00,07,02,153,34,08,52,094,39,10,15,209,36*7C
+$GPGSV,3,2,12,15,13,332,42,18,19,327,38,19,21,034,43,21,04,298,00*7A
+$GPGSV,3,3,12,26,60,276,44,27,19,092,30,28,62,142,43,29,68,247,47*77
+$PGRME,11.3,M,16.2,M,19.8,M*18
+$GPGLL,6129.674,N,02349.278,E,130108,A*29
+$PGRMZ,324,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6220.236,N,02346.327,E,T010*2A
+$GPRMC,130108,A,6129.680,N,02349.272,E,036.4,335.2,110805,006.0,E*79
+$GPRMB,A,0.80,L,T013,T012,6129.236,N,02346.327,E,001.5,252.5,004.6,V*37
+$GPGGA,130109,6129.681,N,02349.271,E,1,07,2.8,99.2,M,20.7,M,,*79
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,3.2,2.8,1.7*37
+$GPGSV,3,1,12,03,02,012,00,07,02,153,33,08,52,094,39,10,15,209,35*78
+$GPGSV,3,2,12,15,13,332,42,18,19,327,38,19,21,034,43,21,04,298,00*7A
+$GPGSV,3,3,12,26,60,276,44,27,19,092,30,28,62,142,43,29,68,247,47*77
+$PGRME,11.7,M,17.0,M,20.6,M*1B
+$GPGLL,6129.687,N,02349.264,E,130109,A*29
+$PGRMZ,325,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6120.236,N,02346.327,E,T009*21
+$GPRMC,130110,A,6129.691,N,02349.260,E,036.7,334.1,110805,006.0,E*72
+$GPRMB,A,0.81,L,T013,T012,6129.236,N,02346.327,E,001.5,252.0,005.2,V*36
+$GPGGA,130110,6129.693,N,02349.258,E,1,07,2.9,99.5,M,20.7,M,,*7F
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,3.6,2.9,2.1*37
+$GPGSV,3,1,12,03,02,012,00,07,02,153,33,08,52,094,40,10,15,209,35*76
+$GPGSV,3,2,12,15,13,332,42,18,19,327,38,19,21,034,43,21,04,298,00*7A
+$GPGSV,3,3,12,26,60,276,44,27,19,092,31,28,62,142,43,29,68,247,46*77
+$PGRME,11.7,M,17.0,M,20.6,M*1B
+$GPGLL,6129.699,N,02349.251,E,130110,A*28
+$PGRMZ,330,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.234,N,02346.317,E,T008*28
+$GPRMC,130111,A,6129.703,N,02349.247,E,036.9,333.6,110805,006.0,E*72
+$GPRMB,A,0.82,L,T013,T012,6129.236,N,02346.327,E,001.5,251.4,005.2,V*32
+$GPGGA,130111,6129.705,N,02349.245,E,1,07,3.0,100.9,M,20.7,M,,*49
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.9,3.0,2.5*31
+$GPGSV,3,1,12,03,02,012,00,07,02,153,34,08,52,094,39,10,15,209,34*7E
+$GPGSV,3,2,12,15,13,332,41,18,19,327,39,19,21,034,41,21,04,298,00*7A
+$GPGSV,3,3,12,26,60,276,44,27,19,092,35,28,62,142,43,29,68,247,46*73
+$PGRME,8.0,M,11.0,M,13.6,M*22
+$GPGLL,6129.711,N,02349.239,E,130112,A*25
+$PGRMZ,332,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6157.564,N,02406.158,E,T007*26
+$GPRMC,130113,A,6129.715,N,02349.234,E,036.9,333.0,110805,006.0,E*75
+$GPRMB,A,0.83,L,T013,T012,6129.236,N,02346.327,E,001.5,250.9,005.2,V*3F
+$GPGGA,130113,6129.717,N,02349.232,E,1,08,1.4,101.5,M,20.7,M,,*4C
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.5,1.5,1.0*3E
+$GPGSV,3,1,12,03,02,012,00,07,02,153,34,08,52,094,39,10,15,209,32*78
+$GPGSV,3,2,12,15,13,332,41,18,19,327,39,19,21,034,41,21,04,298,00*7A
+$GPGSV,3,3,12,26,60,276,44,27,19,092,35,28,62,142,42,29,68,247,46*72
+$PGRME,8.8,M,12.4,M,15.2,M*2F
+$GPGLL,6129.723,N,02349.225,E,130113,A*28
+$PGRMZ,333,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6145.919,N,02345.544,E,T006*2B
+$GPRMC,130114,A,6129.727,N,02349.220,E,037.0,332.1,110805,006.0,E*7E
+$GPRMB,A,0.84,L,T013,T012,6129.236,N,02346.327,E,001.5,250.4,005.5,V*32
+$GPGGA,130114,6129.729,N,02349.218,E,1,08,1.6,102.6,M,20.7,M,,*4C
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.6,1.6,1.0*3E
+$GPGSV,3,1,12,03,02,012,00,07,02,153,35,08,52,094,38,10,15,209,31*7B
+$GPGSV,3,2,12,15,13,332,41,18,19,327,39,19,21,034,40,21,04,298,00*7B
+$GPGSV,3,3,12,26,60,276,44,27,19,092,35,28,62,142,42,29,68,247,46*72
+$PGRME,16.6,M,21.0,M,26.8,M*10
+$GPGLL,6129.735,N,02349.212,E,130115,A*2D
+$PGRMZ,337,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6130.198,N,02342.702,E,T005*2C
+$GPRMC,130115,A,6129.739,N,02349.206,E,037.0,330.7,110805,006.0,E*70
+$GPRMB,A,0.85,L,T013,T012,6129.236,N,02346.327,E,001.5,249.9,006.0,V*30
+$GPGGA,130115,6129.741,N,02349.204,E,1,08,1.6,102.9,M,20.7,M,,*41
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.6,1.6,1.0*3E
+$GPGSV,3,1,12,03,02,012,00,07,02,153,34,08,52,094,37,10,15,209,32*76
+$GPGSV,3,2,12,15,13,332,40,18,19,327,39,19,21,034,39,21,04,298,00*74
+$GPGSV,3,3,12,26,60,276,43,27,19,092,34,28,62,142,41,29,68,247,45*74
+$PGRME,17.2,M,22.1,M,28.0,M*11
+$GPGLL,6129.746,N,02349.198,E,130116,A*2B
+$PGRMZ,338,f,3*13
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6216.183,N,02619.685,E,T004*25
+$GPRMC,130116,A,6129.750,N,02349.192,E,036.6,330.0,110805,006.0,E*72
+$GPRMB,A,0.86,L,T013,T012,6129.236,N,02346.327,E,001.5,249.4,006.0,V*3E
+$GPGGA,130116,6129.752,N,02349.190,E,1,08,1.8,102.9,M,20.7,M,,*40
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.8,1.8,1.0*3E
+$GPGSV,3,1,12,03,02,012,00,07,02,153,34,08,50,094,37,10,15,209,32*74
+$GPGSV,3,2,12,15,13,332,40,18,19,327,39,19,21,034,39,21,04,298,00*74
+$GPGSV,3,3,12,26,60,276,43,27,19,092,33,28,62,142,40,29,68,247,45*72
+$PGRME,8.0,M,11.0,M,13.6,M*22
+$GPGLL,6129.757,N,02349.184,E,130117,A*27
+$PGRMZ,338,f,3*13
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6215.064,N,02603.837,E,T003*25
+$GPRMC,130118,A,6129.761,N,02349.178,E,036.2,328.8,110805,006.0,E*7F
+$GPRMB,A,0.87,L,T013,T012,6129.236,N,02346.327,E,001.5,248.9,006.3,V*30
+$GPGGA,130118,6129.763,N,02349.176,E,1,08,2.0,103.3,M,20.7,M,,*44
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.4,2.0,1.5*3F
+$GPGSV,3,1,12,03,02,012,00,07,02,153,34,08,50,094,38,10,15,209,34*7D
+$GPGSV,3,2,12,15,13,332,40,18,19,327,40,19,21,034,38,21,04,298,00*7B
+$GPGSV,3,3,12,26,60,276,43,27,19,092,33,28,62,142,39,29,68,247,46*7F
+$PGRME,8.7,M,12.3,M,15.1,M*24
+$GPGLL,6129.768,N,02349.170,E,130119,A*2E
+$PGRMZ,339,f,3*12
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6151.098,N,02510.924,E,T002*26
+$GPRMC,130119,A,6129.772,N,02349.163,E,036.2,327.2,110805,006.0,E*73
+$GPRMB,A,0.88,L,T013,T012,6129.236,N,02346.327,E,001.5,248.4,007.1,V*31
+$GPGGA,130119,6129.774,N,02349.161,E,1,08,2.8,103.4,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.1,2.8,1.0*36
+$GPGSV,3,1,12,03,02,012,00,07,02,153,35,08,50,094,39,10,15,209,36*7F
+$GPGSV,3,2,12,15,13,332,40,18,19,327,39,19,21,034,40,21,04,298,00*7A
+$GPGSV,3,3,12,26,60,276,44,27,19,092,33,28,62,142,39,29,68,247,46*78
+$PGRME,8.7,M,12.3,M,15.1,M*24
+$GPGLL,6129.779,N,02349.154,E,130120,A*22
+$PGRMZ,340,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.271,N,02346.376,E,T001*27
+$GPRMC,130120,A,6129.783,N,02349.148,E,036.0,326.4,110805,006.0,E*7B
+$GPRMB,A,0.89,L,T013,T012,6129.236,N,02346.327,E,001.5,247.9,007.3,V*30
+$GPGGA,130121,6129.785,N,02349.146,E,1,08,1.3,103.6,M,20.7,M,,*40
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.3,1.3,1.0*3E
+$GPGSV,3,1,12,03,02,012,00,07,02,153,34,08,50,094,41,10,15,209,38*7F
+$GPGSV,3,2,12,15,13,332,40,18,19,327,38,19,21,034,41,21,04,298,00*7A
+$GPGSV,3,3,12,26,60,276,45,27,19,092,33,28,62,142,37,29,68,247,46*77
+$PGRME,8.0,M,11.0,M,13.6,M*22
+$GPGLL,6129.790,N,02349.139,E,130121,A*2F
+$PGRMZ,340,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPRTE,4,1,c,0,T030,T029,T028,T027,T026,T025,T024,T023,T022*49
+$GPRTE,4,2,c,0,T021,T020,T019,T018,T017,T016,T015,T014,T013*4B
+$GPRTE,4,3,c,0,T012,T011,T010,T009,T008,T007,T006,T005,T004*4B
+$GPRTE,4,4,c,0,T003,T002,T001*4F
+$GPWPL,6016.083,N,02452.500,E,T030*22
+$GPRMC,130122,A,6129.797,N,02349.127,E,036.0,325.0,110805,006.0,E*72
+$GPRMB,A,0.90,L,T013,T012,6129.236,N,02346.327,E,001.5,247.2,007.8,V*38
+$GPGGA,130122,6129.799,N,02349.125,E,1,08,1.4,103.7,M,20.7,M,,*4D
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.4,1.4,1.0*3E
+$GPGSV,3,1,12,03,02,012,00,07,02,153,34,08,50,094,41,10,15,209,37*70
+$GPGSV,3,2,12,15,13,332,39,18,19,327,38,19,21,034,40,21,04,298,00*75
+$GPGSV,3,3,12,26,60,276,45,27,19,092,33,28,62,142,37,29,68,247,47*76
+$PGRME,10.0,M,13.5,M,16.8,M*17
+$GPGLL,6129.803,N,02349.117,E,130122,A*25
+$PGRMZ,339,f,3*12
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T029*2D
+$GPRMC,130123,A,6129.807,N,02349.110,E,036.3,323.7,110805,006.0,E*73
+$GPRMB,A,0.91,L,T013,T012,6129.236,N,02346.327,E,001.5,246.7,008.3,V*39
+$GPGGA,130123,6129.809,N,02349.108,E,1,08,1.5,103.4,M,20.7,M,,*47
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.5,1.5,1.0*3E
+$GPGSV,3,1,12,03,02,012,00,07,02,153,33,08,50,094,42,10,15,209,36*75
+$GPGSV,3,2,12,15,13,332,38,18,19,327,39,19,21,034,38,21,04,298,00*7A
+$GPGSV,3,3,12,26,60,276,44,27,19,092,32,28,62,142,37,29,68,247,47*76
+$PGRME,11.5,M,15.8,M,19.6,M*19
+$GPGLL,6129.813,N,02349.098,E,130124,A*24
+$PGRMZ,337,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6023.283,N,02430.650,E,T028*2D
+$GPRMC,130124,A,6129.817,N,02349.091,E,036.7,320.9,110805,006.0,E*74
+$GPRMB,A,0.91,L,T013,T012,6129.236,N,02346.327,E,001.4,246.2,009.7,V*38
+$GPGGA,130124,6129.819,N,02349.088,E,1,08,2.0,102.2,M,20.7,M,,*49
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.5,2.0,1.8*33
+$GPGSV,3,1,12,03,02,012,00,07,02,153,32,08,50,094,42,10,15,209,35*77
+$GPGSV,3,2,12,15,13,332,37,18,19,327,40,19,21,034,38,21,04,298,00*7B
+$GPGSV,3,3,12,26,60,276,44,27,19,092,32,28,62,142,38,29,68,247,47*79
+$PGRME,11.5,M,15.8,M,19.6,M*19
+$GPGLL,6129.823,N,02349.080,E,130124,A*2E
+$PGRMZ,335,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T027*23
+$GPRMC,130126,A,6129.827,N,02349.073,E,036.8,320.2,110805,006.0,E*7D
+$GPRMB,A,0.92,L,T013,T012,6129.236,N,02346.327,E,001.4,245.7,009.7,V*3D
+$GPGGA,130126,6129.829,N,02349.071,E,1,08,2.4,102.1,M,20.7,M,,*49
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.3,2.4,2.5*3E
+$GPGSV,3,1,12,03,02,012,00,07,02,153,32,08,50,094,41,10,15,209,35*74
+$GPGSV,3,2,12,15,13,332,37,18,19,327,39,19,21,034,37,21,04,298,00*7A
+$GPGSV,3,3,12,26,60,276,45,27,19,092,32,28,62,142,39,29,68,247,47*79
+$PGRME,11.5,M,15.8,M,19.6,M*19
+$GPGLL,6129.833,N,02349.062,E,130127,A*20
+$PGRMZ,335,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T026*24
+$GPRMC,130127,A,6129.837,N,02349.056,E,036.8,320.2,110805,006.0,E*7A
+$GPRMB,A,0.93,L,T013,T012,6129.236,N,02346.327,E,001.4,245.3,009.8,V*37
+$GPGGA,130127,6129.839,N,02349.053,E,1,08,2.4,102.1,M,20.7,M,,*49
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.8,2.4,1.0*32
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,39,10,15,209,33*7C
+$GPGSV,3,2,12,15,13,332,36,18,19,327,39,19,21,034,36,21,04,298,00*7A
+$GPGSV,3,3,12,26,60,276,46,27,19,092,31,28,62,142,40,29,68,247,48*78
+$PGRME,11.1,M,15.9,M,11.1,M*13
+$GPGLL,6129.842,N,02349.040,E,130128,A*29
+$PGRMZ,335,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,S,02453.500,E,T025*3B
+$GPRMC,130129,A,6129.845,N,02349.032,E,036.9,313.3,110805,006.0,E*73
+$GPRMB,A,0.93,L,T013,T012,6129.236,N,02346.327,E,001.4,244.7,013.6,V*37
+$GPGGA,130129,6129.846,N,02349.029,E,1,08,2.8,102.1,M,20.7,M,,*4E
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.6,2.8,1.8*39
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,39,10,15,209,33*7C
+$GPGSV,3,2,12,15,13,332,35,18,19,327,40,19,21,034,35,21,04,298,35*72
+$GPGSV,3,3,12,26,60,276,47,27,19,092,31,28,62,142,41,29,68,247,48*78
+$PGRME,12.5,M,18.0,M,14.5,M*11
+$GPGLL,6129.851,N,02349.019,E,130129,A*26
+$PGRMZ,336,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6018.083,N,02453.500,E,T024*28
+$GPRMC,130130,A,6129.854,N,02349.011,E,036.9,312.9,110805,006.0,E*71
+$GPRMB,A,0.94,L,T013,T012,6129.236,N,02346.327,E,001.4,244.2,013.5,V*36
+$GPGGA,130130,6129.856,N,02349.008,E,1,08,3.1,102.3,M,20.7,M,,*4E
+$GPGSA,A,3,,,08,,15,18,,,26,27,28,29,5.0,3.4,3.2*34
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,38,10,14,208,32*7C
+$GPGSV,3,2,12,15,13,332,35,18,19,327,40,19,21,034,35,21,04,298,36*71
+$GPGSV,3,3,12,26,60,276,47,27,19,092,31,28,62,142,42,29,68,247,48*7B
+$PGRME,12.5,M,18.0,M,14.5,M*11
+$GPGLL,6129.860,N,02348.999,E,130130,A*2C
+$PGRMZ,336,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,W,T023*33
+$GPRMC,130131,A,6129.863,N,02348.990,E,036.8,311.7,110805,006.0,E*79
+$GPRMB,A,0.94,L,T013,T012,6129.236,N,02346.327,E,001.4,243.7,013.7,V*36
+$GPGGA,130131,6129.864,N,02348.987,E,1,07,3.7,102.4,M,20.7,M,,*4F
+$GPGSA,A,3,,,08,,15,18,,,26,,28,29,5.6,3.7,3.8*3E
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,37,10,14,208,32*73
+$GPGSV,3,2,12,15,13,332,33,18,19,327,39,19,21,034,34,21,04,298,39*77
+$GPGSV,3,3,12,26,60,276,48,27,19,092,31,28,62,142,42,29,68,247,48*74
+$PGRME,11.1,M,16.6,M,11.1,M*1F
+$GPGLL,6129.868,N,02348.977,E,130132,A*26
+$PGRMZ,336,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02555.500,E,T022*26
+$GPRMC,130132,A,6129.871,N,02348.969,E,036.8,310.7,110805,006.0,E*7E
+$GPRMB,A,0.95,L,T013,T012,6129.236,N,02346.327,E,001.4,243.2,014.2,V*30
+$GPGGA,130133,6129.873,N,02348.966,E,1,06,2.8,102.4,M,20.7,M,,*4B
+$GPGSA,A,3,,,08,,,18,,,26,,28,29,2.8,2.8,1.0*37
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,36,10,14,208,32*72
+$GPGSV,3,2,12,15,13,332,32,18,19,327,38,19,21,034,36,21,04,298,39*75
+$GPGSV,3,3,12,26,60,276,48,27,19,092,30,28,62,142,42,29,68,247,48*75
+$PGRME,7.7,M,16.6,M,7.7,M*1F
+$GPGLL,6129.876,N,02348.955,E,130133,A*28
+$PGRMZ,336,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T021*23
+$GPRMC,130134,A,6129.879,N,02348.946,E,037.0,303.4,110805,006.0,E*75
+$GPRMB,A,0.95,L,T013,T012,6129.236,N,02346.327,E,001.4,242.8,018.3,V*36
+$GPGGA,130134,6129.879,N,02348.941,E,1,05,2.3,101.6,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,,18,19,,26,,28,29,2.8,2.3,1.8*3C
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,37,10,14,208,36*77
+$GPGSV,3,2,12,15,13,332,32,18,19,327,39,19,21,034,36,21,04,298,40*7A
+$GPGSV,3,3,12,26,60,276,48,27,19,092,30,28,62,142,42,29,68,247,47*7A
+$PGRME,9.4,M,18.7,M,11.4,M*29
+$GPGLL,6129.883,N,02348.930,E,130134,A*26
+$PGRMZ,333,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6116.083,N,02452.500,E,T020*22
+$GPRMC,130135,A,6129.885,N,02348.921,E,037.4,303.1,110805,006.0,E*77
+$GPRMB,A,0.96,L,T013,T012,6129.236,N,02346.327,E,001.4,242.3,018.5,V*38
+$GPGGA,130135,6129.886,N,02348.916,E,1,06,2.4,101.1,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,,18,19,,26,,28,29,2.8,2.4,1.0*33
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,38,10,14,208,35*7B
+$GPGSV,3,2,12,15,13,332,31,18,19,327,39,19,21,034,39,21,04,298,39*78
+$GPGSV,3,3,12,26,60,276,49,27,19,092,30,28,62,142,42,29,68,247,47*7B
+$PGRME,10.3,M,19.9,M,13.9,M*16
+$GPGLL,6129.889,N,02348.905,E,130136,A*28
+$PGRMZ,332,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,S,02452.500,E,T019*34
+$GPRMC,130136,A,6129.891,N,02348.895,E,037.5,300.1,110805,006.0,E*7D
+$GPRMB,A,0.96,L,T013,T012,6129.236,N,02346.327,E,001.4,241.9,019.8,V*3D
+$GPGGA,130136,6129.892,N,02348.892,E,1,06,2.6,101.9,M,20.7,M,,*4B
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.4,2.6,1.7*3A
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,38,10,14,208,34*7A
+$GPGSV,3,2,12,15,13,332,31,18,19,327,39,19,21,034,39,21,04,298,37*76
+$GPGSV,3,3,12,26,60,276,49,27,19,092,33,28,62,142,42,29,68,247,47*78
+$PGRME,8.6,M,11.4,M,14.3,M*22
+$GPGLL,6129.895,N,02348.880,E,130137,A*28
+$PGRMZ,336,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,N,02452.500,E,T018*28
+$GPRMC,130138,A,6129.897,N,02348.870,E,037.5,298.9,110805,006.0,E*76
+$GPRMB,A,0.96,L,T013,T012,6129.236,N,02346.327,E,001.4,241.4,020.3,V*31
+$GPGGA,130138,6129.898,N,02348.866,E,1,08,2.7,102.4,M,20.7,M,,*45
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.5,2.4,1.3*3D
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,37,10,14,208,34*75
+$GPGSV,3,2,12,15,13,332,31,18,19,327,38,19,21,034,40,21,04,298,37*79
+$GPGSV,3,3,12,26,60,276,49,27,19,092,34,28,62,142,41,29,68,247,47*7C
+$PGRME,8.7,M,11.8,M,14.7,M*2B
+$GPGLL,6129.901,N,02348.855,E,130138,A*23
+$PGRMZ,338,f,3*13
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6013.283,N,02456.650,E,T017*22
+$GPRMC,130139,A,6129.904,N,02348.845,E,037.6,298.8,110805,006.0,E*78
+$GPRMB,A,0.96,L,T013,T012,6129.236,N,02346.327,E,001.4,241.0,020.1,V*37
+$GPGGA,130139,6129.905,N,02348.841,E,1,08,2.4,102.9,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.5,2.4,1.3*3D
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,36,10,14,208,34*74
+$GPGSV,3,2,12,15,13,332,31,18,19,327,37,19,21,034,39,21,04,298,35*7A
+$GPGSV,3,3,12,26,60,276,49,27,19,092,35,28,62,142,41,29,68,247,46*7C
+$PGRME,9.6,M,12.2,M,15.6,M*22
+$GPGLL,6129.908,N,02348.827,E,130139,A*2E
+$PGRMZ,340,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T016*21
+$GPRMC,130139,A,6129.911,N,02348.817,E,037.9,297.9,110805,006.0,E*7A
+$GPRMB,A,0.97,L,T013,T012,6129.236,N,02346.327,E,001.4,240.4,020.5,V*37
+$GPGGA,130139,6129.912,N,02348.813,E,1,08,2.5,103.8,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.5,2.5,1.0*3F
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,34,10,14,208,35*77
+$GPGSV,3,2,12,15,13,332,31,18,19,327,36,19,21,034,38,21,04,298,33*7C
+$GPGSV,3,3,12,26,60,276,49,27,19,092,34,28,62,142,41,29,68,247,46*7D
+$PGRME,9.6,M,12.2,M,15.6,M*22
+$GPGLL,6129.915,N,02348.802,E,130139,A*25
+$PGRMZ,341,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0000.000,N,00000.000,W,T015*39
+$GPRMC,130139,A,6129.918,N,02348.790,E,037.9,297.9,110805,006.0,E*73
+$GPRMB,A,0.97,L,T013,T012,6129.236,N,02346.327,E,001.4,239.9,020.5,V*34
+$GPGGA,130139,6129.918,N,02348.786,E,1,08,2.5,104.1,M,20.7,M,,*4D
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.5,2.5,1.0*3F
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,33,10,14,208,37*72
+$GPGSV,3,2,12,15,13,332,31,18,19,327,35,19,21,034,37,21,04,298,33*70
+$GPGSV,3,3,12,26,60,276,49,27,19,092,34,28,62,142,41,29,68,247,46*7D
+$PGRME,9.6,M,12.2,M,15.6,M*22
+$GPGLL,6129.922,N,02348.773,E,130142,A*24
+$PGRMZ,342,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0009.000,N,02430.650,E,T014*25
+$GPRMC,130142,A,6129.924,N,02348.763,E,037.8,298.2,110805,006.0,E*79
+$GPRMB,A,0.97,L,T013,T012,6129.236,N,02346.327,E,001.4,239.4,020.5,V*39
+$GPGGA,130142,6129.925,N,02348.759,E,1,08,3.5,104.2,M,20.7,M,,*4F
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,4.4,3.5,1.0*38
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,32,10,14,208,40*73
+$GPGSV,3,2,12,15,13,332,31,18,19,327,34,19,21,034,36,21,04,298,32*71
+$GPGSV,3,3,12,26,60,276,49,27,19,092,33,28,62,142,41,29,68,247,45*79
+$PGRME,13.7,M,12.7,M,19.1,M*16
+$GPGLL,6129.928,N,02348.747,E,130142,A*29
+$PGRMZ,342,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.285,N,02430.651,E,T013*23
+$GPRMC,130144,A,6129.931,N,02348.738,E,037.8,299.9,110805,006.0,E*7F
+$GPRMB,A,0.98,L,T013,T012,6129.236,N,02346.327,E,001.3,238.9,018.3,V*30
+$GPGGA,130144,6129.932,N,02348.734,E,1,08,4.5,104.3,M,20.7,M,,*42
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,5.3,4.5,1.0*39
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,31,10,14,208,39*7E
+$GPGSV,3,2,12,15,13,332,31,18,19,327,34,19,21,034,35,21,04,298,32*72
+$GPGSV,3,3,12,26,60,276,48,27,19,092,33,28,62,142,41,29,68,247,45*78
+$PGRME,13.7,M,12.7,M,19.1,M*16
+$GPGLL,6129.934,N,02348.722,E,130145,A*20
+$PGRMZ,342,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.236,N,02346.327,E,T012*22
+$GPRMC,130145,A,6129.937,N,02348.712,E,037.8,298.5,110805,006.0,E*7D
+$GPRMB,A,0.98,L,T013,T012,6129.236,N,02346.327,E,001.3,238.4,019.0,V*3F
+$GPGGA,130146,6129.938,N,02348.708,E,1,08,5.3,104.4,M,20.7,M,,*45
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,6.7,6.1,1.0*3C
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,31,10,14,208,39*7E
+$GPGSV,3,2,12,15,13,332,31,18,19,327,34,19,21,034,35,21,04,298,32*72
+$GPGSV,3,3,12,26,60,276,48,27,19,092,32,28,62,142,41,29,68,247,45*79
+$PGRME,13.7,M,12.7,M,19.1,M*16
+$GPGLL,6129.941,N,02348.697,E,130146,A*2E
+$PGRMZ,343,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6114.236,N,02346.327,E,T011*2F
+$GPRMC,130146,A,6129.943,N,02348.687,E,037.8,298.6,110805,006.0,E*73
+$GPRMB,A,0.98,L,T013,T012,6129.236,N,02346.327,E,001.3,237.9,018.6,V*3A
+$GPGGA,130147,6129.944,N,02348.683,E,1,07,6.1,104.5,M,20.7,M,,*42
+$GPGSA,A,3,,,08,,,,19,,26,27,28,29,6.7,6.1,1.0*35
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,31,10,14,208,38*7F
+$GPGSV,3,2,12,15,13,332,31,18,19,327,34,19,21,034,34,21,04,298,32*73
+$GPGSV,3,3,12,26,60,276,48,27,19,092,32,28,62,142,41,29,68,247,45*79
+$PGRME,13.7,M,12.7,M,19.1,M*16
+$GPGLL,6129.947,N,02348.672,E,130147,A*22
+$PGRMZ,343,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6220.236,N,02346.327,E,T010*2A
+$GPRMC,130147,A,6129.950,N,02348.662,E,037.8,298.8,110805,006.0,E*75
+$GPRMB,A,0.99,L,T013,T012,6129.236,N,02346.327,E,001.3,237.3,018.1,V*36
+$GPGGA,130147,6129.951,N,02348.658,E,1,06,2.8,104.6,M,20.7,M,,*4F
+$GPGSA,A,3,,,08,,,18,,,26,27,28,29,2.8,2.8,1.0*32
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,36,10,14,208,37*77
+$GPGSV,3,2,12,15,13,332,31,18,19,327,35,19,21,034,34,21,04,298,31*71
+$GPGSV,3,3,12,26,60,276,48,27,19,092,32,28,62,142,40,29,68,247,46*7B
+$PGRME,11.5,M,13.4,M,11.5,M*18
+$GPGLL,6129.954,N,02348.647,E,130149,A*28
+$PGRMZ,343,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6120.236,N,02346.327,E,T009*21
+$GPRMC,130150,A,6129.957,N,02348.637,E,037.8,299.5,110805,006.0,E*78
+$GPRMB,A,0.99,L,T013,T012,6129.236,N,02346.327,E,001.3,236.8,017.5,V*37
+$GPGGA,130150,6129.958,N,02348.633,E,1,06,2.9,104.6,M,20.7,M,,*4C
+$GPGSA,A,3,,,08,,,18,,,26,,28,29,3.7,3.2,1.8*3A
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,36,10,14,208,38*78
+$GPGSV,3,2,12,15,13,332,31,18,19,327,36,19,21,034,33,21,04,298,31*75
+$GPGSV,3,3,12,26,60,276,48,27,19,092,31,28,62,142,40,29,68,247,47*79
+$PGRME,12.9,M,15.9,M,14.9,M*15
+$GPGLL,6129.961,N,02348.622,E,130150,A*25
+$PGRMZ,345,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.234,N,02346.317,E,T008*28
+$GPRMC,130150,A,6129.964,N,02348.613,E,037.8,300.1,110805,006.0,E*7B
+$GPRMB,A,0.99,L,T013,T012,6129.236,N,02346.327,E,001.3,236.3,016.8,V*30
+$GPGGA,130150,6129.965,N,02348.609,E,1,05,3.2,105.1,M,20.7,M,,*44
+$GPGSA,A,3,,,08,,,18,,,26,,28,29,3.7,3.2,1.8*3A
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,36,10,14,208,37*77
+$GPGSV,3,2,12,15,13,331,31,18,19,327,37,19,21,034,33,21,04,298,31*77
+$GPGSV,3,3,12,26,60,276,48,27,19,092,31,28,62,142,41,29,68,247,47*78
+$PGRME,12.9,M,15.9,M,14.9,M*15
+$GPGLL,6129.968,N,02348.597,E,130152,A*23
+$PGRMZ,345,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6157.564,N,02406.158,E,T007*26
+$GPRMC,130152,A,6129.972,N,02348.591,E,036.9,311.2,110805,006.0,E*74
+$GPRMB,A,1.00,L,T013,T012,6129.236,N,02346.327,E,001.3,235.7,009.3,V*33
+$GPGGA,130152,6129.974,N,02348.587,E,1,05,2.8,105.0,M,20.7,M,,*49
+$GPGSA,A,3,,,08,,,18,,,26,,28,29,2.8,2.8,1.0*37
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,35,10,14,208,35*76
+$GPGSV,3,2,12,15,13,331,31,18,19,327,40,19,21,034,31,21,04,298,31*75
+$GPGSV,3,3,12,26,60,276,46,27,19,092,31,28,62,142,40,29,68,247,46*76
+$PGRME,11.1,M,16.0,M,11.1,M*19
+$GPGLL,6129.978,N,02348.579,E,130153,A*23
+$PGRMZ,344,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6145.919,N,02345.544,E,T006*2B
+$GPRMC,130154,A,6129.981,N,02348.571,E,036.8,312.7,110805,006.0,E*77
+$GPRMB,A,1.00,L,T013,T012,6129.236,N,02346.327,E,001.3,235.2,008.1,V*35
+$GPGGA,130154,6129.983,N,02348.568,E,1,05,2.8,105.0,M,20.7,M,,*46
+$GPGSA,A,3,,,08,,,18,,,26,,28,29,2.8,2.8,1.0*37
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,36,10,14,208,34*74
+$GPGSV,3,2,12,15,13,331,31,18,19,327,41,19,21,034,31,21,04,298,31*74
+$GPGSV,3,3,12,26,60,276,45,27,19,092,31,28,62,142,40,29,68,247,46*75
+$PGRME,12.6,M,18.2,M,14.6,M*13
+$GPGLL,6129.988,N,02348.560,E,130154,A*23
+$PGRMZ,347,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6130.198,N,02342.702,E,T005*2C
+$GPRMC,130154,A,6129.992,N,02348.550,E,036.8,314.5,110805,006.0,E*72
+$GPRMB,A,1.01,L,T013,T012,6129.236,N,02346.327,E,001.3,234.5,006.6,V*3B
+$GPGGA,130155,6129.994,N,02348.547,E,1,05,2.8,105.9,M,20.7,M,,*45
+$GPGSA,A,3,,,08,,,18,,,26,,28,29,2.8,2.8,1.0*37
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,36,10,14,208,33*73
+$GPGSV,3,2,12,15,13,331,31,18,19,327,41,19,21,034,31,21,04,298,31*74
+$GPGSV,3,3,12,26,60,276,45,27,19,092,31,28,62,142,39,29,68,247,46*7B
+$PGRME,12.6,M,18.2,M,14.6,M*13
+$GPGLL,6129.998,N,02348.539,E,130155,A*2F
+$PGRMZ,349,f,3*15
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6216.183,N,02619.685,E,T004*25
+$GPRMC,130156,A,6130.002,N,02348.532,E,036.6,316.2,110805,006.0,E*77
+$GPRMB,A,1.02,L,T013,T012,6129.236,N,02346.327,E,001.3,233.9,005.0,V*36
+$GPGGA,130157,6130.004,N,02348.529,E,1,05,2.8,106.5,M,20.7,M,,*48
+$GPGSA,A,3,,,08,,,18,,,26,,28,29,2.8,2.8,1.0*37
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,35,10,14,208,33*70
+$GPGSV,3,2,12,15,13,331,30,18,19,327,40,19,21,034,31,21,04,298,00*76
+$GPGSV,3,3,12,26,60,276,43,27,19,092,31,28,62,142,39,29,68,247,47*7C
+$PGRME,19.2,M,25.9,M,24.3,M*1F
+$GPGLL,6130.005,N,02348.517,E,130157,A*24
+$PGRMZ,337,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6215.064,N,02603.837,E,T003*25
+$GPRMC,130157,A,6130.007,N,02348.509,E,033.2,298.6,110805,006.0,E*79
+$GPRMB,A,1.02,L,T013,T012,6129.236,N,02346.327,E,001.3,233.6,014.0,V*39
+$GPGGA,130157,6130.008,N,02348.505,E,1,05,4.8,102.0,M,20.7,M,,*4D
+$GPGSA,A,3,,,08,,15,18,,,26,,28,29,6.1,4.8,3.7*3D
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,37,10,14,208,32*73
+$GPGSV,3,2,12,15,13,331,33,18,19,327,39,19,21,034,31,21,04,298,00*7B
+$GPGSV,3,3,12,26,60,276,44,27,19,092,31,28,62,142,38,29,68,247,46*7B
+$PGRME,22.3,M,30.1,M,30.3,M*1F
+$GPGLL,6130.010,N,02348.495,E,130158,A*24
+$PGRMZ,331,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6151.098,N,02510.924,E,T002*26
+$GPRMC,130158,A,6130.014,N,02348.490,E,032.7,307.0,110805,006.0,E*70
+$GPRMB,A,1.03,L,T013,T012,6129.236,N,02346.327,E,001.3,233.0,009.1,V*33
+$GPGGA,130159,6130.016,N,02348.486,E,1,06,5.6,100.8,M,20.7,M,,*40
+$GPGSA,A,3,,,08,,15,18,,,26,,28,29,7.6,5.6,5.0*35
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,37,10,14,208,32*73
+$GPGSV,3,2,12,15,13,331,34,18,19,327,38,19,21,034,34,21,04,298,00*78
+$GPGSV,3,3,12,26,60,276,43,27,19,092,00,28,62,142,38,29,68,247,46*7E
+$PGRME,22.3,M,30.1,M,30.3,M*1F
+$GPGLL,6130.019,N,02348.478,E,130159,A*2F
+$PGRMZ,329,f,3*13
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.271,N,02346.376,E,T001*27
+$GPRMC,130159,A,6130.027,N,02348.480,E,035.1,330.5,110805,006.0,E*70
+$GPRMB,A,1.04,L,T013,T012,6129.236,N,02346.327,E,001.3,232.4,-004.9,V*19
+$GPGGA,130201,6130.029,N,02348.478,E,1,06,3.8,99.5,M,20.7,M,,*77
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,7.2,3.8,5.1*30
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,35,10,14,208,32*71
+$GPGSV,3,2,12,15,13,331,34,18,19,327,37,19,21,034,33,21,04,298,00*70
+$GPGSV,3,3,12,26,60,276,41,27,19,092,00,28,62,142,37,29,68,247,44*71
+$PGRME,15.4,M,24.5,M,28.9,M*1E
+$GPGLL,6130.034,N,02348.472,E,130201,A*24
+$PGRMZ,325,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPRTE,4,1,c,0,T030,T029,T028,T027,T026,T025,T024,T023,T022*49
+$GPRTE,4,2,c,0,T021,T020,T019,T018,T017,T016,T015,T014,T013*4B
+$GPRTE,4,3,c,0,T012,T011,T010,T009,T008,T007,T006,T005,T004*4B
+$GPRTE,4,4,c,0,T003,T002,T001*4F
+$GPWPL,6016.083,N,02452.500,E,T030*22
+$GPRMC,130201,A,6130.041,N,02348.466,E,032.3,333.8,110805,006.0,E*7D
+$GPRMB,A,1.05,L,T013,T012,6129.236,N,02346.327,E,001.3,231.8,-006.7,V*1B
+$GPGGA,130201,6130.042,N,02348.464,E,1,07,3.7,98.7,M,20.7,M,,*7A
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,3.7,3.7,1.0*3B
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,35,10,14,208,32*71
+$GPGSV,3,2,12,15,13,331,34,18,19,326,36,19,21,034,33,21,04,298,00*70
+$GPGSV,3,3,12,26,60,276,41,27,19,092,00,28,62,142,38,29,68,247,44*7E
+$PGRME,15.2,M,16.6,M,15.2,M*1F
+$GPGLL,6130.047,N,02348.459,E,130201,A*29
+$PGRMZ,323,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T029*2D
+$GPRMC,130203,A,6130.051,N,02348.455,E,032.3,333.8,110805,006.0,E*7E
+$GPRMB,A,1.06,L,T013,T012,6129.236,N,02346.327,E,001.3,231.3,-006.7,V*13
+$GPGGA,130203,6130.053,N,02348.453,E,1,07,3.7,98.4,M,20.7,M,,*7F
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,3.7,3.7,1.0*3B
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,34,10,14,208,31*73
+$GPGSV,3,2,12,15,13,331,33,18,19,326,35,19,21,034,32,21,04,298,00*75
+$GPGSV,3,3,12,26,60,276,40,27,19,092,00,28,62,142,38,29,68,247,42*79
+$PGRME,18.6,M,16.6,M,18.6,M*1F
+$GPGLL,6130.057,N,02348.451,E,130203,A*22
+$PGRMZ,322,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6023.283,N,02430.650,E,T028*2D
+$GPRMC,130203,A,6130.061,N,02348.447,E,031.2,336.6,110805,006.0,E*77
+$GPRMB,A,1.07,L,T013,T012,6129.236,N,02346.327,E,001.3,230.8,-008.4,V*15
+$GPGGA,130203,6130.063,N,02348.446,E,1,07,4.6,97.9,M,20.7,M,,*7C
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,4.6,4.6,1.0*3B
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,34,10,14,208,31*73
+$GPGSV,3,2,12,15,13,331,32,18,19,326,35,19,21,034,32,21,04,298,00*74
+$GPGSV,3,3,12,26,60,276,39,27,19,092,00,28,62,142,39,29,68,247,41*75
+$PGRME,18.6,M,16.6,M,18.6,M*1F
+$GPGLL,6130.068,N,02348.443,E,130205,A*2B
+$PGRMZ,321,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T027*23
+$GPRMC,130206,A,6130.071,N,02348.440,E,029.4,338.2,110805,006.0,E*71
+$GPRMB,A,1.08,L,T013,T012,6129.236,N,02346.327,E,001.3,230.4,-008.9,V*1B
+$GPGGA,130206,6130.073,N,02348.439,E,1,07,5.4,97.8,M,20.7,M,,*72
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,5.4,5.4,1.0*3B
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,33,10,14,208,31*74
+$GPGSV,3,2,12,15,13,331,34,18,19,326,34,19,21,034,32,21,04,298,00*73
+$GPGSV,3,3,12,26,60,276,40,27,19,092,00,28,62,142,39,29,68,247,41*7B
+$PGRME,10.3,M,16.6,M,10.3,M*1F
+$GPGLL,6130.077,N,02348.436,E,130206,A*24
+$PGRMZ,320,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T026*24
+$GPRMC,130206,A,6130.081,N,02348.433,E,028.1,338.7,110805,006.0,E*7B
+$GPRMB,A,1.08,L,T013,T012,6129.236,N,02346.327,E,001.3,229.9,-009.0,V*16
+$GPGGA,130207,6130.082,N,02348.432,E,1,07,2.6,97.6,M,20.7,M,,*7D
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,2.6,2.6,1.0*3B
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,33,10,14,208,31*74
+$GPGSV,3,2,12,15,13,331,35,18,19,326,33,19,21,034,31,21,04,298,00*76
+$GPGSV,3,3,12,26,60,276,39,27,19,092,00,28,62,142,40,29,68,247,43*79
+$PGRME,10.3,M,16.6,M,10.3,M*1F
+$GPGLL,6130.086,N,02348.429,E,130207,A*25
+$PGRMZ,320,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,S,02453.500,E,T025*3B
+$GPRMC,130208,A,6130.090,N,02348.426,E,026.7,337.6,110805,006.0,E*77
+$GPRMB,A,1.09,L,T013,T012,6129.236,N,02346.327,E,001.3,229.6,-008.2,V*1B
+$GPGGA,130208,6130.091,N,02348.425,E,1,07,2.6,97.4,M,20.7,M,,*74
+$GPGSA,A,3,,,08,,15,,19,,26,,28,29,2.6,2.6,1.0*32
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,33,10,14,208,31*74
+$GPGSV,3,2,12,15,13,331,35,18,19,326,33,19,21,034,31,21,04,298,00*76
+$GPGSV,3,3,12,26,60,276,38,27,19,092,00,28,62,142,40,29,68,247,42*79
+$PGRME,12.2,M,19.3,M,14.5,M*14
+$GPGLL,6130.093,N,02348.424,E,130209,A*22
+$PGRMZ,321,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6018.083,N,02453.500,E,T024*28
+$GPRMC,130210,A,6130.096,N,02348.422,E,023.4,338.0,110805,006.0,E*73
+$GPRMB,A,1.10,L,T013,T012,6129.236,N,02346.327,E,001.3,229.3,-007.4,V*1F
+$GPGGA,130210,6130.098,N,02348.421,E,1,06,2.6,97.8,M,20.7,M,,*7D
+$GPGSA,A,3,,,08,,15,,,,26,,28,29,2.6,2.6,1.0*3A
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,33,10,14,208,31*74
+$GPGSV,3,2,12,15,13,331,35,18,19,326,32,19,21,034,31,21,04,298,00*77
+$GPGSV,3,3,12,26,60,276,38,27,19,092,00,28,62,142,39,29,68,247,41*74
+$PGRME,10.3,M,16.6,M,10.3,M*1F
+$GPGLL,6130.100,N,02348.419,E,130210,A*2F
+$PGRMZ,321,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,W,T023*33
+$GPRMC,130210,A,6130.105,N,02348.416,E,021.5,338.5,110805,006.0,E*79
+$GPRMB,A,1.10,L,T013,T012,6129.236,N,02346.327,E,001.3,228.9,-007.1,V*11
+$GPGGA,130210,6130.106,N,02348.415,E,1,05,2.6,97.6,M,20.7,M,,*71
+$GPGSA,A,3,,,08,,15,,,,26,,28,29,2.6,2.6,1.0*3A
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,31,10,14,208,31*76
+$GPGSV,3,2,12,15,13,331,35,18,19,326,31,19,21,034,31,21,04,298,00*74
+$GPGSV,3,3,12,26,60,276,37,27,19,092,00,28,62,142,40,29,68,247,41*75
+$PGRME,10.3,M,16.6,M,10.3,M*1F
+$GPGLL,6130.109,N,02348.412,E,130210,A*2D
+$PGRMZ,320,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02555.500,E,T022*26
+$GPRMC,130210,A,6130.112,N,02348.410,E,021.5,338.5,110805,006.0,E*79
+$GPRMB,A,1.11,L,T013,T012,6129.236,N,02346.327,E,001.3,228.6,-007.1,V*1F
+$GPGGA,130210,6130.113,N,02348.409,E,1,05,2.6,97.5,M,20.7,M,,*7B
+$GPGSA,A,3,,,08,,15,,,,26,,28,29,2.6,2.6,1.0*3A
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,31,10,14,208,31*76
+$GPGSV,3,2,12,15,13,331,36,18,19,326,31,19,21,034,33,21,04,298,00*75
+$GPGSV,3,3,12,26,60,276,36,27,19,092,00,28,62,142,40,29,68,247,40*75
+$PGRME,10.3,M,16.6,M,10.3,M*1F
+$GPGLL,6130.116,N,02348.406,E,130213,A*25
+$PGRMZ,320,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T021*23
+$GPRMC,130213,A,6130.119,N,02348.405,E,020.3,338.4,110805,006.0,E*73
+$GPRMB,A,1.12,L,T013,T012,6129.236,N,02346.327,E,001.3,228.3,-007.1,V*19
+$GPGGA,130213,6130.120,N,02348.404,E,1,05,2.8,98.3,M,20.7,M,,*72
+$GPGSA,A,3,,,08,,15,,19,,26,,28,29,3.3,2.8,1.7*3F
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,31,10,14,208,31*76
+$GPGSV,3,2,12,15,13,331,37,18,19,326,31,19,21,034,36,21,04,297,00*7E
+$GPGSV,3,3,12,26,60,276,36,27,19,092,00,28,62,142,41,29,68,247,40*74
+$PGRME,11.2,M,18.1,M,13.0,M*16
+$GPGLL,6130.123,N,02348.401,E,130213,A*24
+$PGRMZ,323,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6116.083,N,02452.500,E,T020*22
+$GPRMC,130215,A,6130.124,N,02348.402,E,011.8,348.0,110805,006.0,E*76
+$GPRMB,A,1.12,L,T013,T012,6129.236,N,02346.327,E,001.3,228.2,-005.8,V*13
+$GPGGA,130215,6130.124,N,02348.402,E,1,06,2.6,98.3,M,20.7,M,,*7B
+$GPGSA,A,3,,,08,,15,,19,,26,,28,29,2.6,2.6,1.0*32
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,31,10,14,208,31*76
+$GPGSV,3,2,12,15,13,331,36,18,19,326,32,19,21,034,36,21,04,297,00*7C
+$GPGSV,3,3,12,26,60,276,38,27,19,092,00,28,62,142,39,29,68,247,40*75
+$PGRME,10.3,M,16.6,M,10.3,M*1F
+$GPGLL,6130.126,N,02348.401,E,130216,A*24
+$PGRMZ,322,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,S,02452.500,E,T019*34
+$GPRMC,130216,A,6130.127,N,02348.402,E,008.2,347.1,110805,006.0,E*7A
+$GPRMB,A,1.12,L,T013,T012,6129.236,N,02346.327,E,001.3,228.0,-004.0,V*18
+$GPGGA,130216,6130.127,N,02348.401,E,1,06,2.8,98.9,M,20.7,M,,*7C
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,3.2,2.8,1.7*37
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,31,10,14,208,31*76
+$GPGSV,3,2,12,15,13,331,35,18,19,326,31,19,21,034,36,21,04,297,00*7C
+$GPGSV,3,3,12,26,60,276,39,27,19,092,00,28,62,142,38,29,68,247,40*75
+$PGRME,11.2,M,18.2,M,13.0,M*15
+$GPGLL,6130.129,N,02348.401,E,130217,A*2A
+$PGRMZ,324,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,N,02452.500,E,T018*28
+$GPRMC,130217,A,6130.128,N,02348.403,E,005.2,354.8,110805,006.0,E*73
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,227.9,-004.0,V*1F
+$GPGGA,130217,6130.128,N,02348.403,E,1,07,3.1,98.8,M,20.7,M,,*78
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,3.5,3.1,1.0*3F
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,31,10,14,208,31*76
+$GPGSV,3,2,12,15,13,331,35,18,19,326,36,19,21,034,36,21,04,297,00*7B
+$GPGSV,3,3,12,26,60,276,40,27,19,092,00,28,62,142,38,29,68,247,41*7A
+$PGRME,12.3,M,16.6,M,13.9,M*14
+$GPGLL,6130.128,N,02348.404,E,130218,A*21
+$PGRMZ,326,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6013.283,N,02456.650,E,T017*22
+$GPRMC,130219,A,6130.128,N,02348.404,E,002.6,357.7,110805,006.0,E*75
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,228.0,-001.6,V*1A
+$GPGGA,130219,6130.128,N,02348.404,E,1,07,2.8,99.3,M,20.7,M,,*73
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.8,2.8,1.0*3E
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,34,10,14,208,31*73
+$GPGSV,3,2,12,15,13,331,33,18,19,326,39,19,21,034,35,21,04,297,00*71
+$GPGSV,3,3,12,26,60,276,41,27,19,092,37,28,62,142,38,29,68,247,42*7C
+$PGRME,13.0,M,15.8,M,16.7,M*10
+$GPGLL,6130.128,N,02348.405,E,130220,A*2B
+$PGRMZ,327,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T016*21
+$GPRMC,130221,A,6130.127,N,02348.405,E,000.0,348.0,110805,006.0,E*7D
+$GPRMB,A,1.12,L,T013,T012,6129.236,N,02346.327,E,001.3,228.1,,V*1E
+$GPGGA,130221,6130.127,N,02348.405,E,1,08,1.8,100.4,M,20.7,M,,*4C
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.8,1.8,1.0*3E
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,36,10,14,208,31*71
+$GPGSV,3,2,12,15,13,331,33,18,19,326,40,19,21,034,35,21,04,297,00*7F
+$GPGSV,3,3,12,26,60,276,41,27,19,092,38,28,62,142,39,29,68,247,42*72
+$PGRME,8.2,M,11.9,M,14.5,M*2D
+$GPGLL,6130.128,N,02348.406,E,130221,A*29
+$PGRMZ,332,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0000.000,N,00000.000,W,T015*39
+$GPRMC,130221,A,6130.128,N,02348.406,E,000.0,348.0,110805,006.0,E*71
+$GPRMB,A,1.12,L,T013,T012,6129.236,N,02346.327,E,001.3,228.1,,V*1E
+$GPGGA,130221,6130.128,N,02348.406,E,1,08,1.6,101.2,M,20.7,M,,*49
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.6,1.6,1.0*3E
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,37,10,14,208,31*70
+$GPGSV,3,2,12,15,13,331,32,18,19,326,40,19,21,034,35,21,04,297,00*7E
+$GPGSV,3,3,12,26,60,276,41,27,19,092,38,28,62,142,39,29,68,247,42*72
+$PGRME,8.2,M,11.9,M,14.5,M*2D
+$GPGLL,6130.128,N,02348.406,E,130222,A*2A
+$PGRMZ,332,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0009.000,N,02430.650,E,T014*25
+$GPRMC,130223,A,6130.128,N,02348.407,E,000.0,348.0,110805,006.0,E*72
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,228.1,,V*1F
+$GPGGA,130223,6130.128,N,02348.408,E,1,08,1.8,103.0,M,20.7,M,,*4B
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.0,1.8,1.3*36
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,38,10,14,208,31*7F
+$GPGSV,3,2,12,15,13,331,32,18,19,326,41,19,21,034,34,21,04,297,00*7E
+$GPGSV,3,3,12,26,60,276,41,27,19,092,38,28,62,142,39,29,68,247,42*72
+$PGRME,8.2,M,11.9,M,14.5,M*2D
+$GPGLL,6130.128,N,02348.408,E,130224,A*22
+$PGRMZ,338,f,3*13
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.285,N,02430.651,E,T013*23
+$GPRMC,130224,A,6130.128,N,02348.409,E,000.0,348.0,110805,006.0,E*7B
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,228.1,,V*1F
+$GPGGA,130224,6130.128,N,02348.409,E,1,08,1.8,103.8,M,20.7,M,,*45
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.2,1.8,1.5*32
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,38,10,14,208,30*7E
+$GPGSV,3,2,12,15,13,331,31,18,19,326,41,19,21,034,35,21,04,297,00*7C
+$GPGSV,3,3,12,26,60,276,42,27,19,092,38,28,62,142,39,29,68,247,42*71
+$PGRME,8.2,M,11.9,M,14.5,M*2D
+$GPGLL,6130.128,N,02348.409,E,130225,A*22
+$PGRMZ,342,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.236,N,02346.327,E,T012*22
+$GPRMC,130226,A,6130.129,N,02348.409,E,000.0,348.0,110805,006.0,E*78
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,228.1,,V*1F
+$GPGGA,130226,6130.129,N,02348.409,E,1,08,2.0,104.3,M,20.7,M,,*41
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,2.5,2.0,1.7*38
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,38,10,14,208,30*7E
+$GPGSV,3,2,12,15,13,331,30,18,19,326,41,19,21,034,35,21,04,297,00*7D
+$GPGSV,3,3,12,26,60,276,42,27,19,092,38,28,62,142,39,29,68,247,42*71
+$PGRME,8.2,M,11.9,M,14.5,M*2D
+$GPGLL,6130.129,N,02348.410,E,130227,A*29
+$PGRMZ,344,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6114.236,N,02346.327,E,T011*2F
+$GPRMC,130227,A,6130.129,N,02348.411,E,000.0,348.0,110805,006.0,E*70
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,228.1,,V*1F
+$GPGGA,130227,6130.129,N,02348.411,E,1,07,2.0,105.2,M,20.7,M,,*46
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,2.8,2.0,2.0*31
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,39,10,14,208,30*7F
+$GPGSV,3,2,12,15,13,331,30,18,19,326,41,19,21,034,35,21,04,297,00*7D
+$GPGSV,3,3,12,26,60,276,42,27,19,092,38,28,62,142,40,29,68,247,42*7F
+$PGRME,8.2,M,11.9,M,14.5,M*2D
+$GPGLL,6130.129,N,02348.411,E,130228,A*27
+$PGRMZ,345,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6220.236,N,02346.327,E,T010*2A
+$GPRMC,130228,A,6130.129,N,02348.411,E,000.0,348.0,110805,006.0,E*7F
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,228.1,,V*1F
+$GPGGA,130228,6130.129,N,02348.411,E,1,07,1.6,105.7,M,20.7,M,,*49
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,1.6,1.6,1.0*3A
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,38,10,14,208,30*7E
+$GPGSV,3,2,12,15,13,331,30,18,19,326,42,19,21,034,34,21,04,297,31*7D
+$GPGSV,3,3,12,26,60,276,42,27,19,092,38,28,62,142,39,29,68,247,42*71
+$PGRME,14.5,M,18.8,M,23.8,M*16
+$GPGLL,6130.129,N,02348.412,E,130229,A*25
+$PGRMZ,347,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6120.236,N,02346.327,E,T009*21
+$GPRMC,130230,A,6130.129,N,02348.412,E,000.0,348.0,110805,006.0,E*75
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,228.1,,V*1F
+$GPGGA,130230,6130.129,N,02348.412,E,1,07,1.6,106.0,M,20.7,M,,*47
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,1.6,1.6,1.0*3A
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,38,10,14,208,30*7E
+$GPGSV,3,2,12,15,13,331,30,18,19,326,42,19,21,034,34,21,04,297,31*7D
+$GPGSV,3,3,12,26,60,276,41,27,19,092,38,28,62,142,40,29,68,247,42*7C
+$PGRME,14.0,M,15.8,M,21.1,M*15
+$GPGLL,6130.129,N,02348.412,E,130230,A*2D
+$PGRMZ,348,f,3*14
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.234,N,02346.317,E,T008*28
+$GPRMC,130231,A,6130.129,N,02348.413,E,000.0,348.0,110805,006.0,E*75
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,228.1,,V*1F
+$GPGGA,130231,6130.129,N,02348.413,E,1,07,1.8,106.4,M,20.7,M,,*4D
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.0,1.8,1.3*36
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,38,10,14,208,30*7E
+$GPGSV,3,2,12,15,13,331,32,18,19,326,42,19,21,034,35,21,04,297,31*7E
+$GPGSV,3,3,12,26,60,276,42,27,19,092,39,28,62,142,41,29,68,247,43*7E
+$PGRME,8.0,M,10.8,M,13.4,M*29
+$GPGLL,6130.129,N,02348.413,E,130232,A*2E
+$PGRMZ,351,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6157.564,N,02406.158,E,T007*26
+$GPRMC,130232,A,6130.129,N,02348.414,E,000.0,348.0,110805,006.0,E*71
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,228.1,,V*1F
+$GPGGA,130233,6130.129,N,02348.414,E,1,08,1.8,106.8,M,20.7,M,,*4B
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.2,1.8,1.5*32
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,39,10,14,208,31*7E
+$GPGSV,3,2,12,15,13,331,35,18,19,326,43,19,21,034,36,21,04,297,31*7B
+$GPGSV,3,3,12,26,60,276,44,27,19,092,39,28,62,142,42,29,68,247,44*7C
+$PGRME,8.0,M,10.8,M,13.4,M*29
+$GPGLL,6130.129,N,02348.414,E,130233,A*28
+$PGRMZ,352,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6145.919,N,02345.544,E,T006*2B
+$GPRMC,130234,A,6130.129,N,02348.414,E,000.0,348.0,110805,006.0,E*77
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,228.1,,V*1F
+$GPGGA,130234,6130.129,N,02348.414,E,1,08,1.9,107.4,M,20.7,M,,*40
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.3,1.9,1.6*31
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,40,10,14,208,31*70
+$GPGSV,3,2,12,15,13,331,35,18,19,326,43,19,21,034,37,21,04,297,32*79
+$GPGSV,3,3,12,26,60,276,44,27,19,092,39,28,62,142,43,29,68,247,44*7D
+$PGRME,8.0,M,10.8,M,13.4,M*29
+$GPGLL,6130.130,N,02348.415,E,130234,A*26
+$PGRMZ,354,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6130.198,N,02342.702,E,T005*2C
+$GPRMC,130235,A,6130.130,N,02348.415,E,000.0,348.0,110805,006.0,E*7F
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,228.1,,V*1F
+$GPGGA,130235,6130.130,N,02348.415,E,1,08,1.9,108.1,M,20.7,M,,*42
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.3,1.9,1.6*31
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,41,10,14,208,31*71
+$GPGSV,3,2,12,15,13,331,35,18,19,326,43,19,21,034,37,21,04,297,33*78
+$GPGSV,3,3,12,26,60,275,44,27,19,092,39,28,62,142,43,29,68,247,45*7F
+$PGRME,8.0,M,10.8,M,13.4,M*29
+$GPGLL,6130.130,N,02348.416,E,130236,A*27
+$PGRMZ,356,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6216.183,N,02619.685,E,T004*25
+$GPRMC,130236,A,6130.130,N,02348.416,E,000.0,348.0,110805,006.0,E*7F
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,228.2,,V*1C
+$GPGGA,130236,6130.130,N,02348.416,E,1,08,1.9,108.4,M,20.7,M,,*47
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.3,1.9,1.6*31
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,41,10,14,208,32*72
+$GPGSV,3,2,12,15,13,331,35,18,19,326,43,19,21,034,37,21,04,297,34*7F
+$GPGSV,3,3,12,26,60,275,44,27,19,092,39,28,62,142,43,29,68,247,45*7F
+$PGRME,8.0,M,10.8,M,13.4,M*29
+$GPGLL,6130.130,N,02348.416,E,130237,A*26
+$PGRMZ,356,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6215.064,N,02603.837,E,T003*25
+$GPRMC,130237,A,6130.130,N,02348.416,E,000.0,348.0,110805,006.0,E*7E
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,228.2,,V*1C
+$GPGGA,130238,6130.130,N,02348.416,E,1,08,1.9,108.5,M,20.7,M,,*48
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.3,1.9,1.6*31
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,42,10,14,208,32*71
+$GPGSV,3,2,12,15,13,331,36,18,19,326,44,19,21,034,37,21,04,297,35*7A
+$GPGSV,3,3,12,26,60,275,44,27,19,092,40,28,62,142,43,29,68,247,45*71
+$PGRME,8.0,M,10.8,M,13.4,M*29
+$GPGLL,6130.130,N,02348.416,E,130238,A*29
+$PGRMZ,356,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6151.098,N,02510.924,E,T002*26
+$GPRMC,130239,A,6130.130,N,02348.416,E,000.0,348.0,110805,006.0,E*70
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,228.2,,V*1C
+$GPGGA,130239,6130.130,N,02348.417,E,1,08,1.9,108.6,M,20.7,M,,*4B
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.3,1.9,1.6*31
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,41,10,14,208,31*71
+$GPGSV,3,2,12,15,13,331,36,18,19,326,44,19,21,034,37,21,04,297,35*7A
+$GPGSV,3,3,12,26,60,275,44,27,18,092,40,28,62,142,43,29,68,247,46*73
+$PGRME,8.0,M,10.8,M,13.4,M*29
+$GPGLL,6130.130,N,02348.417,E,130240,A*27
+$PGRMZ,357,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.271,N,02346.376,E,T001*27
+$GPRMC,130240,A,6130.130,N,02348.417,E,000.0,348.0,110805,006.0,E*7F
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,228.2,,V*1C
+$GPGGA,130240,6130.130,N,02348.417,E,1,08,1.9,108.7,M,20.7,M,,*44
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.3,1.9,1.6*31
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,42,10,14,208,31*72
+$GPGSV,3,2,12,15,13,331,36,18,19,326,44,19,21,034,37,21,04,297,36*79
+$GPGSV,3,3,12,26,60,275,44,27,18,092,40,28,62,142,43,29,68,247,46*73
+$PGRME,8.0,M,10.8,M,13.4,M*29
+$GPGLL,6130.130,N,02348.417,E,130241,A*26
+$PGRMZ,357,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPRTE,4,1,c,0,T030,T029,T028,T027,T026,T025,T024,T023,T022*49
+$GPRTE,4,2,c,0,T021,T020,T019,T018,T017,T016,T015,T014,T013*4B
+$GPRTE,4,3,c,0,T012,T011,T010,T009,T008,T007,T006,T005,T004*4B
+$GPRTE,4,4,c,0,T003,T002,T001*4F
+$GPWPL,6016.083,N,02452.500,E,T030*22
+$GPRMC,130242,A,6130.130,N,02348.417,E,000.0,348.0,110805,006.0,E*7D
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,228.2,,V*1C
+$GPGGA,130242,6130.130,N,02348.417,E,1,08,1.9,109.0,M,20.7,M,,*40
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.3,1.9,1.6*31
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,42,10,14,208,32*71
+$GPGSV,3,2,12,15,13,331,37,18,19,326,43,19,21,034,38,21,04,297,36*70
+$GPGSV,3,3,12,26,60,275,44,27,18,092,40,28,62,142,43,29,68,247,46*73
+$PGRME,7.9,M,10.8,M,13.4,M*2F
+$GPGLL,6130.130,N,02348.417,E,130243,A*24
+$PGRMZ,358,f,3*15
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T029*2D
+$GPRMC,130243,A,6130.130,N,02348.418,E,000.0,348.0,110805,006.0,E*73
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,228.2,,V*1C
+$GPGGA,130243,6130.130,N,02348.418,E,1,08,1.9,109.1,M,20.7,M,,*4F
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.3,1.9,1.6*31
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,42,10,14,208,32*71
+$GPGSV,3,2,12,15,13,331,37,18,19,326,43,19,21,034,38,21,04,297,36*70
+$GPGSV,3,3,12,26,60,275,44,27,18,092,40,28,63,140,43,29,68,247,46*70
+$PGRME,7.9,M,10.8,M,13.4,M*2F
+$GPGLL,6130.130,N,02348.418,E,130244,A*2C
+$PGRMZ,358,f,3*15
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6023.283,N,02430.650,E,T028*2D
+$GPRMC,130244,A,6130.130,N,02348.418,E,000.0,348.0,110805,006.0,E*74
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,228.2,,V*1C
+$GPGGA,130245,6130.130,N,02348.418,E,1,08,1.9,109.2,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.4,1.9,1.8*38
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,41,10,14,208,31*71
+$GPGSV,3,2,12,15,13,331,36,18,19,326,41,19,21,034,38,21,04,297,35*70
+$GPGSV,3,3,12,26,60,275,44,27,18,092,39,28,63,140,43,29,68,247,45*7D
+$PGRME,8.0,M,10.9,M,13.5,M*29
+$GPGLL,6130.131,N,02348.418,E,130245,A*2C
+$PGRMZ,358,f,3*15
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T027*23
+$GPRMC,130246,A,6130.131,N,02348.418,E,004.4,007.9,110805,006.0,E*76
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,228.1,-003.3,V*1C
+$GPGGA,130246,6130.132,N,02348.419,E,1,08,2.3,109.2,M,20.7,M,,*43
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.9,2.3,1.0*34
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,40,10,14,208,31*70
+$GPGSV,3,2,12,15,13,331,35,18,19,326,41,19,21,034,38,21,04,297,37*71
+$GPGSV,3,3,12,26,60,275,43,27,18,092,39,28,63,140,43,29,68,247,44*7B
+$PGRME,8.5,M,12.2,M,14.9,M*2E
+$GPGLL,6130.133,N,02348.420,E,130246,A*26
+$PGRMZ,359,f,3*14
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T026*24
+$GPRMC,130247,A,6130.134,N,02348.421,E,006.0,013.7,110805,006.0,E*75
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,228.1,-005.0,V*19
+$GPGGA,130247,6130.135,N,02348.422,E,1,08,2.4,109.7,M,20.7,M,,*4F
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.1,2.4,1.3*39
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,40,10,14,208,30*71
+$GPGSV,3,2,12,15,13,331,34,18,19,326,42,19,21,034,37,21,04,297,38*73
+$GPGSV,3,3,12,26,60,275,44,27,18,092,39,28,63,140,43,29,69,244,43*79
+$PGRME,9.0,M,12.5,M,15.5,M*20
+$GPGLL,6130.136,N,02348.424,E,130248,A*29
+$PGRMZ,360,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,S,02453.500,E,T025*3B
+$GPRMC,130248,A,6130.136,N,02348.430,E,009.7,055.5,110805,006.0,E*70
+$GPRMB,A,1.14,L,T013,T012,6129.236,N,02346.327,E,001.4,228.1,-009.6,V*13
+$GPGGA,130249,6130.136,N,02348.431,E,1,08,1.6,109.6,M,20.7,M,,*40
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.6,1.6,1.0*3E
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,41,10,14,208,30*70
+$GPGSV,3,2,12,15,13,331,38,18,19,326,42,19,21,034,36,21,04,297,36*70
+$GPGSV,3,3,12,26,60,275,42,27,18,092,37,28,63,140,42,29,69,244,43*70
+$PGRME,7.9,M,10.8,M,13.4,M*2F
+$GPGLL,6130.137,N,02348.433,E,130249,A*2F
+$PGRMZ,360,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6018.083,N,02453.500,E,T024*28
+$GPRMC,130249,A,6130.138,N,02348.441,E,013.1,068.7,110805,006.0,E*78
+$GPRMB,A,1.14,L,T013,T012,6129.236,N,02346.327,E,001.4,228.3,-012.3,V*1E
+$GPGGA,130250,6130.138,N,02348.443,E,1,08,1.6,109.6,M,20.7,M,,*43
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.6,1.6,1.0*3E
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,41,10,14,208,31*71
+$GPGSV,3,2,12,15,13,331,37,18,19,326,41,19,21,034,39,21,04,297,36*73
+$GPGSV,3,3,12,26,60,275,41,27,18,092,38,28,63,140,41,29,69,244,41*7D
+$PGRME,8.0,M,10.9,M,13.5,M*29
+$GPGLL,6130.138,N,02348.452,E,130250,A*2F
+$PGRMZ,359,f,3*14
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,W,T023*33
+$GPRMC,130251,A,6130.138,N,02348.456,E,016.1,078.2,110805,006.0,E*76
+$GPRMB,A,1.14,L,T013,T012,6129.236,N,02346.327,E,001.4,228.5,-014.0,V*1D
+$GPGGA,130251,6130.138,N,02348.458,E,1,08,2.0,109.5,M,20.7,M,,*4E
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.2,2.0,1.2*3E
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,42,10,14,208,31*72
+$GPGSV,3,2,12,15,13,331,36,18,19,326,40,19,21,034,40,21,04,297,36*7D
+$GPGSV,3,3,12,26,60,275,40,27,18,092,38,28,63,140,41,29,69,244,40*7D
+$PGRME,8.0,M,11.0,M,13.6,M*22
+$GPGLL,6130.139,N,02348.466,E,130251,A*28
+$PGRMZ,359,f,3*14
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02555.500,E,T022*26
+$GPRMC,130252,A,6130.139,N,02348.472,E,019.7,082.7,110805,006.0,E*7B
+$GPRMB,A,1.14,L,T013,T012,6129.236,N,02346.327,E,001.4,228.6,-015.9,V*16
+$GPGGA,130252,6130.139,N,02348.475,E,1,08,2.0,109.5,M,20.7,M,,*43
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.4,2.0,1.5*3F
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,42,10,14,208,31*72
+$GPGSV,3,2,12,15,13,331,35,18,19,326,39,19,21,034,40,21,04,297,35*73
+$GPGSV,3,3,12,26,60,275,37,27,18,092,36,28,63,140,40,29,69,244,38*7D
+$PGRME,8.1,M,11.4,M,14.0,M*26
+$GPGLL,6130.139,N,02348.481,E,130252,A*22
+$PGRMZ,359,f,3*14
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T021*23
+$GPRMC,130253,A,6130.140,N,02348.487,E,019.7,082.7,110805,006.0,E*7E
+$GPRMB,A,1.15,L,T013,T012,6129.236,N,02346.327,E,001.4,228.8,-016.4,V*17
+$GPGGA,130253,6130.140,N,02348.489,E,1,08,2.0,109.5,M,20.7,M,,*4F
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.7,2.3,1.0*3A
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,42,10,14,208,31*72
+$GPGSV,3,2,12,15,13,331,35,18,19,326,38,19,21,034,41,21,04,297,34*72
+$GPGSV,3,3,12,26,60,275,37,27,18,092,36,28,63,140,40,29,69,244,38*7D
+$PGRME,8.1,M,11.4,M,14.0,M*26
+$GPGLL,6130.140,N,02348.500,E,130253,A*25
+$PGRMZ,360,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6116.083,N,02452.500,E,T020*22
+$GPRMC,130254,A,6130.141,N,02348.511,E,024.7,082.6,110805,006.0,E*79
+$GPRMB,A,1.15,L,T013,T012,6129.236,N,02346.327,E,001.4,229.1,-020.6,V*18
+$GPGGA,130254,6130.141,N,02348.514,E,1,08,2.0,109.7,M,20.7,M,,*4E
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.0,2.0,1.0*3E
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,42,10,14,208,31*72
+$GPGSV,3,2,12,15,13,331,34,18,19,326,37,19,21,034,42,21,04,297,34*7F
+$GPGSV,3,3,12,26,60,275,36,27,18,092,38,28,63,140,39,29,69,244,39*7D
+$PGRME,8.1,M,11.4,M,14.0,M*26
+$GPGLL,6130.142,N,02348.522,E,130255,A*21
+$PGRMZ,360,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,S,02452.500,E,T019*34
+$GPRMC,130255,A,6130.143,N,02348.532,E,026.0,081.4,110805,006.0,E*7F
+$GPRMB,A,1.15,L,T013,T012,6129.236,N,02346.327,E,001.4,229.3,-020.6,V*1A
+$GPGGA,130255,6130.143,N,02348.535,E,1,08,2.0,109.5,M,20.7,M,,*4C
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.2,2.0,1.3*3F
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,43,10,14,208,31*73
+$GPGSV,3,2,12,15,13,331,34,18,19,326,36,19,21,034,44,21,04,297,34*78
+$GPGSV,3,3,12,26,60,275,36,27,18,092,39,28,63,140,39,29,69,244,39*7C
+$PGRME,8.1,M,11.4,M,14.0,M*26
+$GPGLL,6130.144,N,02348.544,E,130257,A*25
+$PGRMZ,360,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,N,02452.500,E,T018*28
+$GPRMC,130257,A,6130.145,N,02348.553,E,028.2,079.2,110805,006.0,E*71
+$GPRMB,A,1.16,L,T013,T012,6129.236,N,02346.327,E,001.4,229.5,-024.5,V*18
+$GPGGA,130258,6130.145,N,02348.556,E,1,08,2.0,109.8,M,20.7,M,,*4F
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.2,2.1,1.0*3D
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,44,10,14,208,31*74
+$GPGSV,3,2,12,15,13,331,33,18,19,326,38,19,21,034,44,21,04,297,33*76
+$GPGSV,3,3,12,26,60,275,36,27,18,092,40,28,63,140,37,29,69,244,42*70
+$PGRME,8.2,M,11.5,M,14.1,M*25
+$GPGLL,6130.147,N,02348.567,E,130258,A*28
+$PGRMZ,361,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6013.283,N,02456.650,E,T017*22
+$GPRMC,130259,A,6130.148,N,02348.575,E,028.8,077.2,110805,006.0,E*72
+$GPRMB,A,1.17,L,T013,T012,6129.236,N,02346.327,E,001.4,229.7,-025.5,V*1A
+$GPGGA,130259,6130.148,N,02348.578,E,1,08,2.1,110.0,M,20.7,M,,*4E
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,2.2,2.1,1.0*39
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,45,10,14,208,32*76
+$GPGSV,3,2,12,15,13,331,33,18,19,326,37,19,21,034,44,21,04,297,33*79
+$GPGSV,3,3,12,26,60,275,36,27,18,092,39,28,63,140,37,29,69,244,43*7F
+$PGRME,8.3,M,11.9,M,14.5,M*2C
+$GPGLL,6130.149,N,02348.588,E,130259,A*26
+$PGRMZ,361,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T016*21
+$GPRMC,130300,A,6130.150,N,02348.596,E,028.7,076.0,110805,006.0,E*77
+$GPRMB,A,1.17,L,T013,T012,6129.236,N,02346.327,E,001.4,229.9,-025.8,V*19
+$GPGGA,130300,6130.151,N,02348.599,E,1,07,1.9,109.9,M,20.7,M,,*41
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,1.9,1.9,1.0*3A
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,45,10,14,208,32*76
+$GPGSV,3,2,12,15,13,331,33,18,19,326,37,19,21,034,43,21,04,297,32*7F
+$GPGSV,3,3,12,26,60,275,36,27,18,092,38,28,63,140,37,29,69,244,43*7E
+$PGRME,8.4,M,12.2,M,14.8,M*2E
+$GPGLL,6130.152,N,02348.609,E,130301,A*2A
+$PGRMZ,361,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0000.000,N,00000.000,W,T015*39
+$GPRMC,130301,A,6130.153,N,02348.616,E,028.1,075.0,110805,006.0,E*7B
+$GPRMB,A,1.18,L,T013,T012,6129.236,N,02346.327,E,001.4,230.0,-025.5,V*1A
+$GPGGA,130302,6130.154,N,02348.619,E,1,07,1.9,110.0,M,20.7,M,,*4C
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,1.9,1.9,1.0*3A
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,45,10,14,208,32*76
+$GPGSV,3,2,12,15,13,331,31,18,19,326,38,19,21,034,43,21,04,297,00*73
+$GPGSV,3,3,12,26,60,275,36,27,18,092,39,28,63,140,37,29,69,244,44*78
+$PGRME,8.2,M,11.8,M,14.4,M*2D
+$GPGLL,6130.155,N,02348.629,E,130302,A*2C
+$PGRMZ,360,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0009.000,N,02430.650,E,T014*25
+$GPRMC,130303,A,6130.156,N,02348.636,E,027.8,074.8,110805,006.0,E*71
+$GPRMB,A,1.18,L,T013,T012,6129.236,N,02346.327,E,001.4,230.2,-025.2,V*1F
+$GPGGA,130303,6130.157,N,02348.640,E,1,07,2.0,109.8,M,20.7,M,,*48
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,2.1,2.0,1.0*3B
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,45,10,14,208,31*75
+$GPGSV,3,2,12,15,13,331,31,18,19,326,38,19,21,034,43,21,04,297,00*73
+$GPGSV,3,3,12,26,60,275,36,27,18,092,39,28,63,140,37,29,69,244,44*78
+$PGRME,8.3,M,12.1,M,14.7,M*25
+$GPGLL,6130.158,N,02348.648,E,130303,A*27
+$PGRMZ,360,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.285,N,02430.651,E,T013*23
+$GPRMC,130304,A,6130.159,N,02348.656,E,027.4,074.6,110805,006.0,E*7D
+$GPRMB,A,1.19,L,T013,T012,6129.236,N,02346.327,E,001.5,230.3,-025.0,V*1C
+$GPGGA,130304,6130.159,N,02348.658,E,1,07,2.0,110.2,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,2.1,2.0,1.0*3B
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,45,10,14,208,31*75
+$GPGSV,3,2,12,15,13,331,30,18,19,326,38,19,21,034,43,21,04,297,00*72
+$GPGSV,3,3,12,26,60,275,35,27,18,092,38,28,63,140,36,29,69,244,44*7B
+$PGRME,11.3,M,17.3,M,20.7,M*1D
+$GPGLL,6130.160,N,02348.667,E,130304,A*26
+$PGRMZ,361,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.236,N,02346.327,E,T012*22
+$GPRMC,130305,A,6130.161,N,02348.675,E,027.1,074.6,110805,006.0,E*73
+$GPRMB,A,1.19,L,T013,T012,6129.236,N,02346.327,E,001.5,230.5,-024.7,V*1C
+$GPGGA,130305,6130.162,N,02348.678,E,1,07,2.0,110.4,M,20.7,M,,*47
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,2.3,2.0,1.2*3B
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,45,10,14,208,31*75
+$GPGSV,3,2,12,15,13,331,30,18,19,326,35,19,21,034,44,21,04,297,00*78
+$GPGSV,3,3,12,26,60,275,36,27,18,092,39,28,63,140,37,29,69,244,44*78
+$PGRME,8.2,M,11.8,M,14.4,M*2D
+$GPGLL,6130.163,N,02348.687,E,130306,A*29
+$PGRMZ,361,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6114.236,N,02346.327,E,T011*2F
+$GPRMC,130307,A,6130.163,N,02348.688,E,021.0,074.2,110805,006.0,E*72
+$GPRMB,A,1.20,L,T013,T012,6129.236,N,02346.327,E,001.5,230.6,-019.2,V*1E
+$GPGGA,130307,6130.163,N,02348.690,E,1,07,2.3,110.2,M,20.7,M,,*47
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,2.8,2.3,1.3*32
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,45,10,14,208,31*75
+$GPGSV,3,2,12,15,13,331,30,18,19,326,35,19,21,034,44,21,04,297,00*78
+$GPGSV,3,3,12,26,60,275,37,27,18,092,39,28,63,140,38,29,69,244,44*76
+$PGRME,8.3,M,12.1,M,14.7,M*25
+$GPGLL,6130.163,N,02348.690,E,130307,A*2E
+$PGRMZ,359,f,3*14
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6220.236,N,02346.327,E,T010*2A
+$GPRMC,130308,A,6130.164,N,02348.695,E,014.9,075.0,110805,006.0,E*7A
+$GPRMB,A,1.20,L,T013,T012,6129.236,N,02346.327,E,001.5,230.7,-013.5,V*12
+$GPGGA,130308,6130.164,N,02348.696,E,1,07,2.3,109.5,M,20.7,M,,*46
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,3.0,2.3,1.6*3E
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,46,10,14,208,31*76
+$GPGSV,3,2,12,15,13,331,30,18,19,326,37,19,21,034,44,21,04,297,00*7A
+$GPGSV,3,3,12,26,60,275,37,27,18,092,40,28,63,140,38,29,69,244,44*78
+$PGRME,8.2,M,11.8,M,14.4,M*2D
+$GPGLL,6130.164,N,02348.695,E,130308,A*23
+$PGRMZ,359,f,3*14
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6120.236,N,02346.327,E,T009*21
+$GPRMC,130309,A,6130.164,N,02348.694,E,005.3,074.5,110805,006.0,E*74
+$GPRMB,A,1.20,L,T013,T012,6129.236,N,02346.327,E,001.5,230.6,-004.9,V*19
+$GPGGA,130309,6130.164,N,02348.694,E,1,07,2.2,109.4,M,20.7,M,,*45
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,3.1,2.2,1.7*3F
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,46,10,14,208,31*76
+$GPGSV,3,2,12,15,13,331,30,18,19,326,38,19,21,034,44,21,04,297,00*75
+$GPGSV,3,3,12,26,60,275,37,27,18,092,39,28,63,140,38,29,69,244,44*76
+$PGRME,8.2,M,11.8,M,14.4,M*2D
+$GPGLL,6130.164,N,02348.696,E,130310,A*29
+$PGRMZ,359,f,3*14
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.234,N,02346.317,E,T008*28
+$GPRMC,130310,A,6130.164,N,02348.694,E,002.1,075.9,110805,006.0,E*74
+$GPRMB,A,1.20,L,T013,T012,6129.236,N,02346.327,E,001.5,230.6,-001.9,V*1C
+$GPGGA,130310,6130.164,N,02348.694,E,1,07,1.5,109.3,M,20.7,M,,*4E
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.5,1.5,1.0*3E
+$GPGSV,3,1,12,03,02,011,00,07,02,153,00,08,50,094,46,10,14,208,31*75
+$GPGSV,3,2,12,15,13,331,33,18,19,326,39,19,21,034,43,21,04,297,00*70
+$GPGSV,3,3,12,26,60,275,36,27,18,092,39,28,63,140,37,29,69,244,44*78
+$PGRME,8.0,M,10.9,M,13.5,M*29
+$GPGLL,6130.164,N,02348.694,E,130311,A*2A
+$PGRMZ,358,f,3*15
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6157.564,N,02406.158,E,T007*26
+$GPRMC,130312,A,6130.164,N,02348.694,E,001.3,075.0,110805,006.0,E*7E
+$GPRMB,A,1.20,L,T013,T012,6129.236,N,02346.327,E,001.5,230.7,-001.2,V*16
+$GPGGA,130312,6130.164,N,02348.695,E,1,08,1.5,109.2,M,20.7,M,,*43
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.5,1.5,1.0*3E
+$GPGSV,3,1,12,03,02,011,00,07,02,153,00,08,50,094,46,10,14,208,31*75
+$GPGSV,3,2,12,15,13,331,34,18,19,326,39,19,21,034,44,21,04,297,00*70
+$GPGSV,3,3,12,26,60,275,35,27,18,092,40,28,63,140,37,29,69,244,44*75
+$PGRME,8.0,M,10.9,M,13.5,M*29
+$GPGLL,6130.164,N,02348.694,E,130312,A*29
+$PGRMZ,359,f,3*14
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6145.919,N,02345.544,E,T006*2B
+$GPRMC,130313,A,6130.164,N,02348.694,E,000.0,075.0,110805,006.0,E*7D
+$GPRMB,A,1.20,L,T013,T012,6129.236,N,02346.327,E,001.5,230.6,,V*17
+$GPGGA,130313,6130.164,N,02348.694,E,1,08,1.6,109.2,M,20.7,M,,*40
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.7,1.6,1.2*3D
+$GPGSV,3,1,12,03,02,011,00,07,02,153,00,08,50,094,46,10,14,208,31*75
+$GPGSV,3,2,12,15,13,331,34,18,19,326,40,19,21,034,44,21,04,297,00*7E
+$GPGSV,3,3,12,26,60,275,35,27,18,092,41,28,63,140,38,29,69,244,44*7B
+$PGRME,8.0,M,10.9,M,13.5,M*29
+$GPGLL,6130.164,N,02348.694,E,130314,A*2F
+$PGRMZ,358,f,3*15
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6130.198,N,02342.702,E,T005*2C
+$GPRMC,130314,A,6130.164,N,02348.694,E,000.0,075.0,110805,006.0,E*7A
+$GPRMB,A,1.20,L,T013,T012,6129.236,N,02346.327,E,001.5,230.7,,V*16
+$GPGGA,130315,6130.164,N,02348.694,E,1,08,1.6,109.2,M,20.7,M,,*46
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.7,1.6,1.2*3D
+$GPGSV,3,1,12,03,02,011,00,07,02,153,00,08,50,094,45,10,14,208,31*76
+$GPGSV,3,2,12,15,13,331,35,18,19,326,40,19,21,034,44,21,04,297,00*7F
+$GPGSV,3,3,12,26,60,275,34,27,18,092,41,28,63,140,39,29,69,244,43*7C
+$PGRME,8.1,M,11.2,M,13.8,M*2F
+$GPGLL,6130.163,N,02348.694,E,130315,A*29
+$PGRMZ,357,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6216.183,N,02619.685,E,T004*25
+$GPRMC,130316,A,6130.163,N,02348.694,E,000.0,075.0,110805,006.0,E*7F
+$GPRMB,A,1.20,L,T013,T012,6129.236,N,02346.327,E,001.5,230.7,,V*16
+$GPGGA,130316,6130.163,N,02348.694,E,1,08,1.6,108.9,M,20.7,M,,*48
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.0,1.6,1.4*3F
+$GPGSV,3,1,12,03,02,011,00,07,02,153,00,08,50,094,45,10,14,208,30*77
+$GPGSV,3,2,12,15,13,331,34,18,19,326,40,19,21,034,43,21,04,297,00*79
+$GPGSV,3,3,12,26,60,275,33,27,18,092,41,28,63,140,40,29,69,244,43*75
+$PGRME,8.7,M,11.7,M,14.5,M*26
+$GPGLL,6130.164,N,02348.695,E,130316,A*2C
+$PGRMZ,358,f,3*15
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6215.064,N,02603.837,E,T003*25
+$GPRMC,130317,A,6130.164,N,02348.695,E,000.0,075.0,110805,006.0,E*78
+$GPRMB,A,1.20,L,T013,T012,6129.236,N,02346.327,E,001.5,230.6,,V*17
+$GPGGA,130317,6130.164,N,02348.695,E,1,08,1.9,109.1,M,20.7,M,,*49
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.1,1.9,1.0*35
+$GPGSV,3,1,12,03,02,011,00,07,02,153,00,08,50,094,45,10,14,208,30*77
+$GPGSV,3,2,12,15,13,331,35,18,19,326,41,19,21,034,43,21,04,297,00*79
+$GPGSV,3,3,12,26,60,275,32,27,18,092,41,28,63,140,40,29,69,244,43*74
+$PGRME,8.0,M,10.9,M,13.5,M*29
+$GPGLL,6130.164,N,02348.695,E,130318,A*22
+$PGRMZ,357,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6151.098,N,02510.924,E,T002*26
+$GPRMC,130318,A,6130.164,N,02348.695,E,000.0,075.0,110805,006.0,E*77
+$GPRMB,A,1.20,L,T013,T012,6129.236,N,02346.327,E,001.5,230.7,,V*16
+$GPGGA,130318,6130.164,N,02348.695,E,1,08,1.9,108.6,M,20.7,M,,*40
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.3,1.9,1.2*35
+$GPGSV,3,1,12,03,02,011,00,07,02,153,00,08,50,094,46,10,14,208,31*75
+$GPGSV,3,2,12,15,13,331,35,18,19,326,42,19,21,034,43,21,04,297,00*7A
+$GPGSV,3,3,12,26,60,275,35,27,18,092,40,28,63,140,40,29,69,244,43*72
+$PGRME,7.9,M,10.7,M,13.3,M*27
+$GPGLL,6130.164,N,02348.695,E,130319,A*23
+$PGRMZ,357,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.271,N,02346.376,E,T001*27
+$GPRMC,130319,A,6130.164,N,02348.695,E,000.0,075.0,110805,006.0,E*76
+$GPRMB,A,1.20,L,T013,T012,6129.236,N,02346.327,E,001.5,230.7,,V*16
+$GPGGA,130320,6130.164,N,02348.695,E,1,08,1.9,108.8,M,20.7,M,,*45
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.4,1.9,1.4*34
+$GPGSV,3,1,12,03,02,011,00,07,02,153,00,08,50,094,46,10,14,208,31*75
+$GPGSV,3,2,12,15,13,331,35,18,19,326,42,19,21,034,43,21,04,297,00*7A
+$GPGSV,3,3,12,26,60,275,36,27,18,092,40,28,63,140,40,29,69,244,43*71
+$PGRME,8.7,M,12.2,M,15.0,M*24
+$GPGLL,6130.164,N,02348.695,E,130320,A*29
+$PGRMZ,361,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPRTE,4,1,c,0,T030,T029,T028,T027,T026,T025,T024,T023,T022*49
+$GPRTE,4,2,c,0,T021,T020,T019,T018,T017,T016,T015,T014,T013*4B
+$GPRTE,4,3,c,0,T012,T011,T010,T009,T008,T007,T006,T005,T004*4B
+$GPRTE,4,4,c,0,T003,T002,T001*4F
+$GPWPL,6016.083,N,02452.500,E,T030*22
+$GPRMC,130321,A,6130.164,N,02348.695,E,000.0,075.0,110805,006.0,E*7D
+$GPRMB,A,1.20,L,T013,T012,6129.236,N,02346.327,E,001.5,230.7,,V*16
+$GPGGA,130321,6130.164,N,02348.695,E,1,08,2.4,109.5,M,20.7,M,,*46
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.7,2.4,2.7*38
+$GPGSV,3,1,12,03,02,011,00,07,02,153,00,08,50,094,46,10,14,208,31*75
+$GPGSV,3,2,12,15,13,331,35,18,19,326,42,19,21,034,43,21,04,297,00*7A
+$GPGSV,3,3,12,26,60,275,36,27,18,092,39,28,63,140,40,29,69,244,43*7F
+$PGRME,7.9,M,10.7,M,13.3,M*27
+$GPGLL,6130.164,N,02348.695,E,130322,A*2B
+$PGRMZ,357,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T029*2D
+$GPRMC,130322,A,6130.163,N,02348.695,E,000.0,075.0,110805,006.0,E*79
+$GPRMB,A,1.20,L,T013,T012,6129.236,N,02346.327,E,001.5,230.7,,V*16
+$GPGGA,130323,6130.163,N,02348.695,E,1,08,1.5,108.8,M,20.7,M,,*4D
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.5,1.5,1.0*3E
+$GPGSV,3,1,12,03,02,011,00,07,02,153,00,08,50,094,46,10,14,208,31*75
+$GPGSV,3,2,12,15,13,331,36,18,19,326,42,19,21,034,43,21,04,297,00*79
+$GPGSV,3,3,12,26,60,275,36,27,18,092,39,28,63,140,41,29,69,244,43*7E
+$PGRME,7.9,M,10.7,M,13.3,M*27
+$GPGLL,6130.163,N,02348.695,E,130323,A*2D
+$PGRMZ,355,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6023.283,N,02430.650,E,T028*2D
+$GPRMC,130324,A,6130.163,N,02348.695,E,000.0,075.0,110805,006.0,E*7F
+$GPRMB,A,1.20,L,T013,T012,6129.236,N,02346.327,E,001.5,230.7,,V*16
+$GPGGA,130324,6130.163,N,02348.695,E,1,08,1.6,108.1,M,20.7,M,,*40
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.7,1.6,1.2*3D
+$GPGSV,3,1,12,03,02,011,00,07,02,153,00,08,50,094,46,10,14,208,31*75
+$GPGSV,3,2,12,15,13,331,36,18,19,326,42,19,21,034,43,21,04,297,00*79
+$GPGSV,3,3,12,26,60,275,36,27,18,092,40,28,63,140,41,29,69,244,43*70
+$PGRME,7.9,M,10.7,M,13.3,M*27
+$GPGLL,6130.163,N,02348.696,E,130324,A*29
+$PGRMZ,353,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T027*23
+$GPRMC,130325,A,6130.163,N,02348.696,E,000.0,075.0,110805,006.0,E*7D
+$GPRMB,A,1.20,L,T013,T012,6129.236,N,02346.327,E,001.5,230.7,,V*16
+$GPGGA,130325,6130.164,N,02348.700,E,1,08,1.4,108.0,M,20.7,M,,*48
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.4,1.4,1.0*3E
+$GPGSV,3,1,12,03,02,011,00,07,02,153,00,08,50,094,46,10,14,208,31*75
+$GPGSV,3,2,12,15,13,331,35,18,19,326,42,19,21,034,43,21,04,297,00*7A
+$GPGSV,3,3,12,26,60,275,37,27,18,092,39,28,63,140,41,29,69,244,43*7F
+$PGRME,9.1,M,13.0,M,15.8,M*28
+$GPGLL,6130.164,N,02348.701,E,130326,A*23
+$PGRMZ,354,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T026*24
+$GPRMC,130326,A,6130.165,N,02348.708,E,008.3,074.5,110805,006.0,E*71
+$GPRMB,A,1.20,L,T013,T012,6129.236,N,02346.327,E,001.5,230.8,-007.6,V*1B
+$GPGGA,130327,6130.165,N,02348.708,E,1,08,1.4,108.2,M,20.7,M,,*41
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.4,1.4,1.0*3E
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,50,094,46,10,14,208,31*74
+$GPGSV,3,2,12,15,13,331,34,18,19,326,42,19,21,034,43,21,04,297,00*7B
+$GPGSV,3,3,12,26,60,275,36,27,18,092,40,28,63,140,42,29,69,244,42*72
+$PGRME,8.2,M,11.8,M,14.3,M*2A
+$GPGLL,6130.165,N,02348.711,E,130327,A*22
+$PGRMZ,355,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,S,02453.500,E,T025*3B
+$GPRMC,130327,A,6130.166,N,02348.718,E,011.3,075.0,110805,006.0,E*7E
+$GPRMB,A,1.20,L,T013,T012,6129.236,N,02346.327,E,001.5,230.9,-010.3,V*19
+$GPGGA,130327,6130.166,N,02348.720,E,1,08,1.5,108.1,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.7,1.5,1.2*3E
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,50,094,46,10,14,208,31*74
+$GPGSV,3,2,12,15,13,331,34,18,19,326,41,19,21,034,43,21,04,297,00*78
+$GPGSV,3,3,12,26,60,275,36,27,18,092,40,28,63,140,42,29,69,244,43*73
+$PGRME,7.9,M,10.7,M,13.3,M*27
+$GPGLL,6130.167,N,02348.724,E,130328,A*29
+$PGRMZ,355,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6018.083,N,02453.500,E,T024*28
+$GPRMC,130328,A,6130.167,N,02348.730,E,013.0,074.8,110805,006.0,E*72
+$GPRMB,A,1.20,L,T013,T012,6129.236,N,02346.327,E,001.5,230.9,-010.3,V*19
+$GPGGA,130328,6130.168,N,02348.732,E,1,08,1.5,108.2,M,20.7,M,,*4B
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.5,1.5,1.0*3E
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,50,094,46,10,14,208,31*74
+$GPGSV,3,2,12,15,13,331,33,18,19,326,42,19,21,034,43,21,04,297,00*7C
+$GPGSV,3,3,12,26,60,275,36,27,18,092,40,28,63,140,42,29,69,244,43*73
+$PGRME,7.9,M,10.7,M,13.3,M*27
+$GPGLL,6130.168,N,02348.736,E,130330,A*2C
+$PGRMZ,355,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,W,T023*33
+$GPRMC,130330,A,6130.169,N,02348.745,E,020.5,075.3,110805,006.0,E*78
+$GPRMB,A,1.21,L,T013,T012,6129.236,N,02346.327,E,001.5,231.1,-018.7,V*1D
+$GPGGA,130330,6130.170,N,02348.747,E,1,08,1.5,108.1,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.7,1.5,1.2*3E
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,14,208,31*7D
+$GPGSV,3,2,12,15,13,331,33,18,19,326,41,19,21,034,43,21,04,297,00*7F
+$GPGSV,3,3,12,26,60,275,36,27,18,092,40,28,63,140,41,29,69,244,42*71
+$PGRME,7.9,M,10.7,M,13.3,M*27
+$GPGLL,6130.170,N,02348.754,E,130331,A*20
+$PGRMZ,354,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02555.500,E,T022*26
+$GPRMC,130331,A,6130.171,N,02348.762,E,021.2,075.1,110805,006.0,E*71
+$GPRMB,A,1.21,L,T013,T012,6129.236,N,02346.327,E,001.5,231.2,-018.7,V*1E
+$GPGGA,130331,6130.172,N,02348.764,E,1,08,1.7,108.0,M,20.7,M,,*4B
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.0,1.7,1.5*3F
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,14,208,31*7D
+$GPGSV,3,2,12,15,13,331,33,18,19,326,40,19,21,034,43,21,04,297,00*7E
+$GPGSV,3,3,12,26,60,275,37,27,18,092,40,28,63,140,41,29,69,244,41*73
+$PGRME,7.9,M,10.8,M,13.4,M*2F
+$GPGLL,6130.173,N,02348.771,E,130333,A*26
+$PGRMZ,354,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T021*23
+$GPRMC,130333,A,6130.173,N,02348.777,E,021.2,075.1,110805,006.0,E*75
+$GPRMB,A,1.22,L,T013,T012,6129.236,N,02346.327,E,001.5,231.3,-019.4,V*1E
+$GPGGA,130333,6130.174,N,02348.779,E,1,08,2.0,107.9,M,20.7,M,,*41
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.3,2.0,1.0*3D
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,14,208,31*7D
+$GPGSV,3,2,12,15,13,331,32,18,19,326,39,19,21,034,42,21,04,297,00*70
+$GPGSV,3,3,12,26,60,275,38,27,18,092,40,28,63,140,41,29,69,244,41*7C
+$PGRME,8.0,M,10.9,M,13.5,M*29
+$GPGLL,6130.176,N,02348.792,E,130333,A*2E
+$PGRMZ,354,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6116.083,N,02452.500,E,T020*22
+$GPRMC,130334,A,6130.176,N,02348.798,E,023.5,074.8,110805,006.0,E*7B
+$GPRMB,A,1.22,L,T013,T012,6129.236,N,02346.327,E,001.5,231.5,-021.6,V*11
+$GPGGA,130334,6130.177,N,02348.804,E,1,08,2.1,108.0,M,20.7,M,,*47
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.6,2.1,1.3*3A
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,14,208,31*7D
+$GPGSV,3,2,12,15,13,331,32,18,19,326,40,19,21,034,42,21,04,297,00*7E
+$GPGSV,3,3,12,26,60,275,38,27,18,092,39,28,63,140,40,29,69,244,41*73
+$PGRME,8.0,M,11.5,M,8.6,M*1D
+$GPGLL,6130.178,N,02348.813,E,130335,A*20
+$PGRMZ,354,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,S,02452.500,E,T019*34
+$GPRMC,130335,A,6130.180,N,02348.820,E,025.9,073.8,110805,006.0,E*72
+$GPRMB,A,1.23,L,T013,T012,6129.236,N,02346.327,E,001.5,231.6,-024.0,V*10
+$GPGGA,130336,6130.180,N,02348.823,E,1,08,2.1,107.9,M,20.7,M,,*4E
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.2,2.1,1.0*3D
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,14,208,31*7D
+$GPGSV,3,2,12,15,13,331,32,18,19,326,41,19,21,034,42,21,04,297,00*7F
+$GPGSV,3,3,12,26,60,275,39,27,18,092,39,28,63,140,40,29,69,244,41*72
+$PGRME,8.0,M,11.5,M,9.2,M*18
+$GPGLL,6130.181,N,02348.832,E,130336,A*26
+$PGRMZ,355,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,N,02452.500,E,T018*28
+$GPRMC,130337,A,6130.182,N,02348.840,E,026.1,073.5,110805,006.0,E*72
+$GPRMB,A,1.23,L,T013,T012,6129.236,N,02346.327,E,001.5,231.8,-024.3,V*1D
+$GPGGA,130337,6130.183,N,02348.843,E,1,08,2.1,108.1,M,20.7,M,,*4D
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.4,2.1,1.2*39
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,14,208,31*7D
+$GPGSV,3,2,12,15,13,331,33,18,19,326,41,19,21,034,42,21,04,297,00*7E
+$GPGSV,3,3,12,26,60,275,38,27,18,092,39,28,63,140,40,29,69,244,42*70
+$PGRME,7.9,M,10.7,M,9.6,M*19
+$GPGLL,6130.184,N,02348.852,E,130338,A*2B
+$PGRMZ,355,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6013.283,N,02456.650,E,T017*22
+$GPRMC,130338,A,6130.186,N,02348.861,E,026.8,073.0,110805,006.0,E*76
+$GPRMB,A,1.24,L,T013,T012,6129.236,N,02346.327,E,001.5,231.9,-024.6,V*1E
+$GPGGA,130338,6130.186,N,02348.864,E,1,08,2.0,108.4,M,20.7,M,,*46
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.0,2.0,1.0*3E
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,31*7A
+$GPGSV,3,2,12,15,13,331,32,18,19,326,42,19,21,034,41,21,04,297,00*7F
+$GPGSV,3,3,12,26,60,275,38,27,18,092,37,28,63,140,40,29,69,244,42*7E
+$PGRME,7.9,M,10.7,M,9.6,M*19
+$GPGLL,6130.187,N,02348.872,E,130339,A*2B
+$PGRMZ,356,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T016*21
+$GPRMC,130339,A,6130.188,N,02348.880,E,026.8,073.0,110805,006.0,E*76
+$GPRMB,A,1.24,L,T013,T012,6129.236,N,02346.327,E,001.6,232.0,-025.0,V*10
+$GPGGA,130339,6130.189,N,02348.883,E,1,08,2.1,108.3,M,20.7,M,,*47
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.1,2.1,1.0*3E
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,31*7A
+$GPGSV,3,2,12,15,13,331,32,18,19,326,40,19,21,034,42,21,04,297,00*7E
+$GPGSV,3,3,12,26,60,275,38,27,18,092,36,28,63,140,40,29,69,244,42*7F
+$PGRME,10.0,M,14.0,M,13.9,M*11
+$GPGLL,6130.191,N,02348.893,E,130339,A*23
+$PGRMZ,357,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0000.000,N,00000.000,W,T015*39
+$GPRMC,130341,A,6130.192,N,02348.900,E,027.1,072.8,110805,006.0,E*7A
+$GPRMB,A,1.25,L,T013,T012,6129.236,N,02346.327,E,001.6,232.2,-025.3,V*10
+$GPGGA,130341,6130.192,N,02348.903,E,1,08,2.1,108.8,M,20.7,M,,*40
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.2,2.6,2.0*38
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,13,331,31,18,19,326,41,19,21,034,42,21,04,297,00*7C
+$GPGSV,3,3,12,26,60,275,37,27,18,092,36,28,63,140,40,29,69,244,42*70
+$PGRME,11.6,M,17.1,M,17.7,M*1E
+$GPGLL,6130.194,N,02348.913,E,130341,A*20
+$PGRMZ,357,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0009.000,N,02430.650,E,T014*25
+$GPRMC,130342,A,6130.195,N,02348.921,E,027.5,072.5,110805,006.0,E*74
+$GPRMB,A,1.26,L,T013,T012,6129.236,N,02346.327,E,001.6,232.3,-025.8,V*19
+$GPGGA,130342,6130.195,N,02348.924,E,1,08,2.6,108.7,M,20.7,M,,*49
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,5.4,3.4,4.1*3C
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,13,331,31,18,19,326,39,19,21,034,41,21,04,297,00*70
+$GPGSV,3,3,12,26,60,275,38,27,18,092,33,28,63,140,41,29,69,244,43*7A
+$PGRME,14.9,M,24.4,M,26.0,M*14
+$GPGLL,6130.198,N,02348.934,E,130342,A*2A
+$PGRMZ,368,f,3*16
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.285,N,02430.651,E,T013*23
+$GPRMC,130342,A,6130.199,N,02348.941,E,027.8,072.0,110805,006.0,E*76
+$GPRMB,A,1.26,L,T013,T012,6129.236,N,02346.327,E,001.6,232.4,-026.1,V*14
+$GPGGA,130342,6130.199,N,02348.944,E,1,08,3.4,112.3,M,20.7,M,,*4F
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,5.4,3.4,4.1*3C
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,13,331,31,18,19,326,38,19,21,034,42,21,04,297,00*72
+$GPGSV,3,3,12,26,60,275,38,27,18,092,35,28,63,140,41,29,69,244,43*7C
+$PGRME,14.9,M,24.4,M,26.0,M*14
+$GPGLL,6130.201,N,02348.953,E,130342,A*28
+$PGRMZ,369,f,3*17
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.236,N,02346.327,E,T012*22
+$GPRMC,130342,A,6130.202,N,02348.961,E,027.8,072.0,110805,006.0,E*75
+$GPRMB,A,1.27,L,T013,T012,6129.236,N,02346.327,E,001.6,232.5,-026.1,V*14
+$GPGGA,130342,6130.203,N,02348.964,E,1,08,3.4,112.4,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,5.4,3.4,4.1*3C
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,31*7A
+$GPGSV,3,2,12,15,13,331,31,18,19,326,38,19,21,034,40,21,04,297,00*70
+$GPGSV,3,3,12,26,60,275,38,27,18,092,34,28,63,140,41,29,69,244,43*7D
+$PGRME,14.9,M,24.4,M,26.0,M*14
+$GPGLL,6130.204,N,02348.973,E,130345,A*28
+$PGRMZ,369,f,3*17
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6114.236,N,02346.327,E,T011*2F
+$GPRMC,130345,A,6130.206,N,02348.986,E,032.3,071.9,110805,006.0,E*7A
+$GPRMB,A,1.28,L,T013,T012,6129.236,N,02346.327,E,001.6,232.7,-030.5,V*1A
+$GPGGA,130345,6130.207,N,02348.991,E,1,08,2.4,112.3,M,20.7,M,,*45
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,4.5,2.4,3.8*33
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,32*79
+$GPGSV,3,2,12,15,13,331,31,18,19,326,39,19,21,034,40,21,04,297,00*71
+$GPGSV,3,3,12,26,60,275,36,27,18,092,35,28,63,140,41,29,69,244,44*75
+$PGRME,9.3,M,14.9,M,17.6,M*28
+$GPGLL,6130.209,N,02349.002,E,130347,A*29
+$PGRMZ,369,f,3*17
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6220.236,N,02346.327,E,T010*2A
+$GPRMC,130347,A,6130.210,N,02349.011,E,032.3,071.9,110805,006.0,E*79
+$GPRMB,A,1.28,L,T013,T012,6129.236,N,02346.327,E,001.6,232.8,-030.5,V*15
+$GPGGA,130347,6130.210,N,02349.014,E,1,08,2.4,112.4,M,20.7,M,,*43
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,4.5,2.4,3.8*33
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,31*7A
+$GPGSV,3,2,12,15,13,331,31,18,19,326,39,19,21,034,39,21,04,297,00*7F
+$GPGSV,3,3,12,26,60,275,35,27,18,092,35,28,63,140,41,29,69,244,44*76
+$PGRME,8.2,M,11.8,M,14.3,M*2A
+$GPGLL,6130.211,N,02349.025,E,130347,A*25
+$PGRMZ,366,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6120.236,N,02346.327,E,T009*21
+$GPRMC,130349,A,6130.212,N,02349.033,E,031.3,074.1,110805,006.0,E*7B
+$GPRMB,A,1.29,L,T013,T012,6129.236,N,02346.327,E,001.6,232.9,-029.1,V*19
+$GPGGA,130349,6130.213,N,02349.037,E,1,08,2.1,111.6,M,20.7,M,,*4B
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,3.7,2.1,3.0*3F
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,31*7A
+$GPGSV,3,2,12,15,13,331,31,18,19,326,38,19,21,034,39,21,04,297,00*7E
+$GPGSV,3,3,12,26,60,275,35,27,18,092,34,28,63,140,41,29,69,244,44*77
+$PGRME,8.3,M,12.1,M,14.6,M*24
+$GPGLL,6130.215,N,02349.049,E,130349,A*25
+$PGRMZ,365,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.234,N,02346.317,E,T008*28
+$GPRMC,130350,A,6130.216,N,02349.057,E,032.4,073.2,110805,006.0,E*75
+$GPRMB,A,1.29,L,T013,T012,6129.236,N,02346.327,E,001.6,233.1,-030.4,V*1D
+$GPGGA,130350,6130.217,N,02349.061,E,1,07,2.4,111.5,M,20.7,M,,*4D
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,3.9,2.4,1.0*36
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,32*79
+$GPGSV,3,2,12,15,13,331,31,18,19,326,37,19,21,034,38,21,04,297,00*70
+$GPGSV,3,3,12,26,60,275,37,27,18,092,33,28,63,140,41,29,69,244,44*72
+$PGRME,12.0,M,20.0,M,23.4,M*1A
+$GPGLL,6130.219,N,02349.072,E,130350,A*29
+$PGRMZ,366,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6157.564,N,02406.158,E,T007*26
+$GPRMC,130351,A,6130.220,N,02349.081,E,032.7,072.5,110805,006.0,E*7F
+$GPRMB,A,1.30,L,T013,T012,6129.236,N,02346.327,E,001.6,233.2,-030.8,V*1A
+$GPGGA,130351,6130.221,N,02349.085,E,1,07,2.6,111.4,M,20.7,M,,*40
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,3.9,2.6,1.0*34
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,32*79
+$GPGSV,3,2,12,15,13,331,30,18,19,326,36,19,21,034,37,21,04,297,00*7F
+$GPGSV,3,3,12,26,60,275,37,27,18,092,35,28,63,140,41,29,69,244,44*74
+$PGRME,12.4,M,16.6,M,15.7,M*1B
+$GPGLL,6130.222,N,02349.096,E,130352,A*29
+$PGRMZ,366,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6145.919,N,02345.544,E,T006*2B
+$GPRMC,130352,A,6130.223,N,02349.105,E,032.0,072.3,110805,006.0,E*73
+$GPRMB,A,1.31,L,T013,T012,6129.236,N,02346.327,E,001.7,233.3,-030.9,V*1A
+$GPGGA,130352,6130.224,N,02349.108,E,1,07,2.8,110.9,M,20.7,M,,*40
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,4.0,2.8,1.0*34
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,31*7A
+$GPGSV,3,2,12,15,13,331,30,18,19,326,35,19,21,034,39,21,04,297,00*72
+$GPGSV,3,3,12,26,60,275,37,27,18,092,35,28,63,140,41,29,69,244,44*74
+$PGRME,12.6,M,15.6,M,16.3,M*1D
+$GPGLL,6130.225,N,02349.119,E,130352,A*28
+$PGRMZ,364,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6130.198,N,02342.702,E,T005*2C
+$GPRMC,130354,A,6130.227,N,02349.128,E,032.0,072.3,110805,006.0,E*7E
+$GPRMB,A,1.31,L,T013,T012,6129.236,N,02346.327,E,001.7,233.5,-030.3,V*16
+$GPGGA,130354,6130.227,N,02349.131,E,1,07,2.8,110.9,M,20.7,M,,*4F
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,4.0,2.8,1.0*34
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,31*7A
+$GPGSV,3,2,12,15,13,331,30,18,19,326,35,19,21,034,40,21,04,297,00*7C
+$GPGSV,3,3,12,26,60,275,36,27,18,092,34,28,63,140,41,29,69,244,44*74
+$PGRME,16.4,M,24.2,M,26.0,M*1D
+$GPGLL,6130.229,N,02349.142,E,130354,A*2C
+$PGRMZ,360,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6216.183,N,02619.685,E,T004*25
+$GPRMC,130355,A,6130.230,N,02349.152,E,032.2,072.5,110805,006.0,E*70
+$GPRMB,A,1.32,L,T013,T012,6129.236,N,02346.327,E,001.7,233.6,-030.1,V*14
+$GPGGA,130355,6130.231,N,02349.155,E,1,07,2.1,109.6,M,20.7,M,,*45
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,3.7,2.1,3.0*3F
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,13,331,30,18,19,326,38,19,21,034,41,21,04,297,00*70
+$GPGSV,3,3,12,26,60,275,37,27,18,092,35,28,63,140,40,29,69,244,44*75
+$PGRME,8.3,M,11.8,M,14.4,M*2C
+$GPGLL,6130.232,N,02349.166,E,130356,A*22
+$PGRMZ,360,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6215.064,N,02603.837,E,T003*25
+$GPRMC,130356,A,6130.234,N,02349.175,E,032.5,072.5,110805,006.0,E*75
+$GPRMB,A,1.33,L,T013,T012,6129.236,N,02346.327,E,001.7,233.8,-030.4,V*1E
+$GPGGA,130356,6130.234,N,02349.179,E,1,07,2.1,109.5,M,20.7,M,,*4E
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,2.2,2.1,1.0*39
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,13,331,30,18,19,326,37,19,21,034,42,21,04,297,00*7C
+$GPGSV,3,3,12,26,60,275,38,27,18,092,36,28,63,140,40,29,69,244,44*79
+$PGRME,8.2,M,11.7,M,14.3,M*25
+$GPGLL,6130.236,N,02349.190,E,130357,A*2E
+$PGRMZ,359,f,3*14
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6151.098,N,02510.924,E,T002*26
+$GPRMC,130357,A,6130.237,N,02349.199,E,032.8,072.5,110805,006.0,E*78
+$GPRMB,A,1.33,L,T013,T012,6129.236,N,02346.327,E,001.7,233.9,-031.1,V*1B
+$GPGGA,130358,6130.238,N,02349.203,E,1,07,2.0,109.2,M,20.7,M,,*44
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,2.0,2.0,1.0*3A
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,12,330,30,18,19,326,39,19,21,034,43,21,04,297,00*73
+$GPGSV,3,3,12,26,60,275,38,27,18,092,35,28,63,140,40,29,69,244,44*7A
+$PGRME,9.4,M,14.3,M,17.1,M*22
+$GPGLL,6130.239,N,02349.215,E,130358,A*20
+$PGRMZ,361,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.271,N,02346.376,E,T001*27
+$GPRMC,130358,A,6130.241,N,02349.224,E,032.9,073.2,110805,006.0,E*74
+$GPRMB,A,1.34,L,T013,T012,6129.236,N,02346.327,E,001.7,234.0,-031.1,V*12
+$GPGGA,130359,6130.241,N,02349.227,E,1,07,1.6,110.0,M,20.7,M,,*42
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,1.6,1.6,1.0*3A
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,12,330,30,18,19,326,41,19,21,034,41,21,04,297,00*7E
+$GPGSV,3,3,12,26,60,275,38,27,18,092,35,28,63,140,41,29,69,244,44*7B
+$PGRME,9.4,M,14.3,M,17.1,M*22
+$GPGLL,6130.243,N,02349.238,E,130359,A*23
+$PGRMZ,361,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPRTE,4,1,c,0,T030,T029,T028,T027,T026,T025,T024,T023,T022*49
+$GPRTE,4,2,c,0,T021,T020,T019,T018,T017,T016,T015,T014,T013*4B
+$GPRTE,4,3,c,0,T012,T011,T010,T009,T008,T007,T006,T005,T004*4B
+$GPRTE,4,4,c,0,T003,T002,T001*4F
+$GPWPL,6016.083,N,02452.500,E,T030*22
+$GPRMC,130401,A,6130.245,N,02349.256,E,033.0,073.4,110805,006.0,E*70
+$GPRMB,A,1.35,L,T013,T012,6129.236,N,02346.327,E,001.7,234.2,-031.1,V*11
+$GPGGA,130401,6130.246,N,02349.259,E,1,07,1.9,110.1,M,20.7,M,,*48
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,2.1,1.9,1.3*32
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,12,330,30,18,19,326,40,19,21,034,40,21,04,297,00*7E
+$GPGSV,3,3,12,26,60,275,38,27,18,092,36,28,63,140,41,29,69,244,43*7F
+$PGRME,9.2,M,12.1,M,15.3,M*20
+$GPGLL,6130.247,N,02349.270,E,130402,A*22
+$PGRMZ,361,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T029*2D
+$GPRMC,130402,A,6130.249,N,02349.280,E,033.0,073.4,110805,006.0,E*74
+$GPRMB,A,1.35,L,T013,T012,6129.236,N,02346.327,E,001.7,234.3,-031.1,V*10
+$GPGGA,130402,6130.249,N,02349.283,E,1,07,1.9,110.2,M,20.7,M,,*40
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,2.6,2.3,1.6*39
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,31*7A
+$GPGSV,3,2,12,15,12,330,32,18,19,326,40,19,21,034,39,21,04,297,00*72
+$GPGSV,3,3,12,26,60,275,39,27,18,092,38,28,63,140,42,29,69,244,44*74
+$PGRME,9.7,M,12.5,M,15.8,M*2A
+$GPGLL,6130.251,N,02349.294,E,130402,A*2F
+$PGRMZ,361,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6023.283,N,02430.650,E,T028*2D
+$GPRMC,130402,A,6130.252,N,02349.304,E,032.8,073.2,110805,006.0,E*7C
+$GPRMB,A,1.36,L,T013,T012,6129.236,N,02346.327,E,001.8,234.5,-031.1,V*1A
+$GPGGA,130404,6130.253,N,02349.307,E,1,07,2.3,110.2,M,20.7,M,,*49
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.6,2.3,1.6*3D
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,12,330,31,18,19,326,39,19,21,034,38,21,04,297,00*7E
+$GPGSV,3,3,12,26,60,275,39,27,18,092,38,28,63,140,42,29,69,244,44*74
+$PGRME,10.6,M,12.8,M,16.7,M*12
+$GPGLL,6130.254,N,02349.319,E,130404,A*28
+$PGRMZ,362,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T027*23
+$GPRMC,130405,A,6130.255,N,02349.328,E,033.2,073.8,110805,006.0,E*73
+$GPRMB,A,1.37,L,T013,T012,6129.236,N,02346.327,E,001.8,234.6,-031.3,V*1A
+$GPGGA,130405,6130.256,N,02349.332,E,1,08,2.3,110.5,M,20.7,M,,*43
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.6,2.3,1.6*3D
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,12,330,32,18,19,326,38,19,21,034,39,21,04,297,00*7D
+$GPGSV,3,3,12,26,60,275,39,27,18,092,39,28,63,140,42,29,69,244,43*72
+$PGRME,8.0,M,10.8,M,13.4,M*29
+$GPGLL,6130.257,N,02349.343,E,130405,A*25
+$PGRMZ,363,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T026*24
+$GPRMC,130405,A,6130.259,N,02349.352,E,032.9,073.7,110805,006.0,E*77
+$GPRMB,A,1.37,L,T013,T012,6129.236,N,02346.327,E,001.8,234.7,-031.1,V*19
+$GPGGA,130406,6130.259,N,02349.356,E,1,08,2.3,110.7,M,20.7,M,,*4F
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.6,2.3,1.6*3D
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,12,330,31,18,19,326,37,19,21,034,38,21,04,297,00*70
+$GPGSV,3,3,12,26,60,275,38,27,18,092,39,28,63,140,42,29,69,244,43*73
+$PGRME,9.0,M,11.3,M,14.5,M*24
+$GPGLL,6130.261,N,02349.367,E,130406,A*25
+$PGRMZ,364,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,S,02453.500,E,T025*3B
+$GPRMC,130406,A,6130.262,N,02349.376,E,032.9,073.6,110805,006.0,E*7B
+$GPRMB,A,1.38,L,T013,T012,6129.236,N,02346.327,E,001.8,234.8,-031.1,V*19
+$GPGGA,130408,6130.263,N,02349.380,E,1,08,2.6,110.9,M,20.7,M,,*48
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.9,2.6,1.8*39
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,33*78
+$GPGSV,3,2,12,15,12,330,31,18,19,326,37,19,21,034,39,21,04,297,00*71
+$GPGSV,3,3,12,26,60,275,38,27,18,092,39,28,63,140,42,29,69,244,43*73
+$PGRME,9.1,M,11.6,M,14.8,M*2D
+$GPGLL,6130.264,N,02349.391,E,130408,A*27
+$PGRMZ,364,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6018.083,N,02453.500,E,T024*28
+$GPRMC,130409,A,6130.265,N,02349.400,E,032.6,073.5,110805,006.0,E*79
+$GPRMB,A,1.38,L,T013,T012,6129.236,N,02346.327,E,001.8,235.0,-030.9,V*19
+$GPGGA,130409,6130.266,N,02349.404,E,1,08,2.4,111.0,M,20.7,M,,*4D
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.2,2.4,2.2*38
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,33*78
+$GPGSV,3,2,12,15,12,330,31,18,19,326,36,19,21,034,38,21,04,297,00*71
+$GPGSV,3,3,12,26,60,275,39,27,18,092,39,28,63,140,42,29,69,244,43*72
+$PGRME,9.1,M,11.6,M,14.8,M*2D
+$GPGLL,6130.267,N,02349.414,E,130409,A*2F
+$PGRMZ,364,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,W,T023*33
+$GPRMC,130410,A,6130.269,N,02349.423,E,032.0,073.3,110805,006.0,E*7C
+$GPRMB,A,1.39,L,T013,T012,6129.236,N,02346.327,E,001.8,235.1,-030.4,V*14
+$GPGGA,130410,6130.269,N,02349.427,E,1,08,2.7,111.2,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.6,2.7,2.4*39
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,34*7F
+$GPGSV,3,2,12,15,12,330,31,18,20,325,37,19,21,034,38,21,04,297,00*79
+$GPGSV,3,3,12,26,60,275,38,27,18,092,39,28,63,140,42,29,69,244,43*73
+$PGRME,9.6,M,12.0,M,15.4,M*22
+$GPGLL,6130.270,N,02349.434,E,130410,A*23
+$PGRMZ,365,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02555.500,E,T022*26
+$GPRMC,130411,A,6130.271,N,02349.441,E,027.1,075.5,110805,006.0,E*75
+$GPRMB,A,1.39,L,T013,T012,6129.236,N,02346.327,E,001.8,235.2,-025.4,V*13
+$GPGGA,130412,6130.271,N,02349.444,E,1,08,2.9,111.1,M,20.7,M,,*49
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.9,2.9,2.5*39
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,46,10,13,208,33*79
+$GPGSV,3,2,12,15,12,330,31,18,20,325,35,19,21,034,38,21,04,297,00*7B
+$GPGSV,3,3,12,26,60,275,38,27,18,092,40,28,63,140,43,29,69,244,43*7C
+$PGRME,9.3,M,12.6,M,16.4,M*22
+$GPGLL,6130.272,N,02349.453,E,130412,A*22
+$PGRMZ,364,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T021*23
+$GPRMC,130412,A,6130.273,N,02349.460,E,026.9,076.1,110805,006.0,E*79
+$GPRMB,A,1.40,L,T013,T012,6129.236,N,02346.327,E,001.8,235.3,-025.1,V*19
+$GPGGA,130412,6130.273,N,02349.463,E,1,08,2.4,111.0,M,20.7,M,,*42
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.9,2.4,2.7*36
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,46,10,13,208,33*79
+$GPGSV,3,2,12,15,12,330,31,18,20,325,35,19,21,034,42,21,04,297,00*76
+$GPGSV,3,3,12,26,60,275,37,27,18,092,40,28,63,140,44,29,69,244,43*74
+$PGRME,9.3,M,12.6,M,16.4,M*22
+$GPGLL,6130.274,N,02349.473,E,130413,A*27
+$PGRMZ,364,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6116.083,N,02452.500,E,T020*22
+$GPRMC,130413,A,6130.274,N,02349.477,E,024.5,077.0,110805,006.0,E*77
+$GPRMB,A,1.40,L,T013,T012,6129.236,N,02346.327,E,001.8,235.4,-022.8,V*10
+$GPGGA,130413,6130.275,N,02349.480,E,1,08,2.2,111.1,M,20.7,M,,*4F
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.2,2.2,1.0*3E
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,45,10,13,208,33*7A
+$GPGSV,3,2,12,15,12,330,31,18,20,325,33,19,20,033,43,21,04,297,00*77
+$GPGSV,3,3,12,26,60,275,37,27,18,092,40,28,63,140,44,29,69,244,42*75
+$PGRME,9.4,M,12.9,M,16.7,M*29
+$GPGLL,6130.276,N,02349.488,E,130413,A*21
+$PGRMZ,365,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,S,02452.500,E,T019*34
+$GPRMC,130415,A,6130.276,N,02349.495,E,024.5,077.0,110805,006.0,E*7F
+$GPRMB,A,1.41,L,T013,T012,6129.236,N,02346.327,E,001.8,235.5,-022.8,V*10
+$GPGGA,130415,6130.277,N,02349.498,E,1,08,2.2,111.1,M,20.7,M,,*42
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,2.2,2.2,1.0*3A
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,45,10,13,208,32*7B
+$GPGSV,3,2,12,15,12,330,34,18,20,325,36,19,20,033,45,21,04,297,00*71
+$GPGSV,3,3,12,26,60,275,39,27,18,092,40,28,63,140,44,29,69,244,42*7B
+$PGRME,9.3,M,13.1,M,16.7,M*27
+$GPGLL,6130.278,N,02349.505,E,130415,A*2D
+$PGRMZ,365,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,N,02452.500,E,T018*28
+$GPRMC,130417,A,6130.278,N,02349.512,E,023.9,077.0,110805,006.0,E*76
+$GPRMB,A,1.41,L,T013,T012,6129.236,N,02346.327,E,001.9,235.6,-022.2,V*18
+$GPGGA,130417,6130.279,N,02349.515,E,1,07,2.2,111.2,M,20.7,M,,*46
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,2.7,2.3,1.5*3B
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,45,10,13,208,32*7B
+$GPGSV,3,2,12,15,12,330,36,18,20,325,38,19,20,033,45,21,04,297,00*7D
+$GPGSV,3,3,12,26,60,275,39,27,18,092,40,28,63,140,45,29,69,244,42*7A
+$PGRME,7.9,M,10.6,M,13.2,M*27
+$GPGLL,6130.278,N,02349.512,E,130418,A*26
+$PGRMZ,364,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6013.283,N,02456.650,E,T017*22
+$GPRMC,130418,A,6130.278,N,02349.512,E,012.6,076.7,110805,006.0,E*72
+$GPRMB,A,1.41,L,T013,T012,6129.236,N,02346.327,E,001.9,235.6,-011.8,V*12
+$GPGGA,130418,6130.278,N,02349.514,E,1,07,2.2,111.0,M,20.7,M,,*4B
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.2,2.2,1.0*3E
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,45,10,13,208,31*78
+$GPGSV,3,2,12,15,12,330,38,18,20,325,40,19,20,033,45,21,04,297,00*7C
+$GPGSV,3,3,12,26,60,275,39,27,18,092,40,28,63,140,44,29,69,244,42*7B
+$PGRME,7.9,M,10.6,M,13.2,M*27
+$GPGLL,6130.279,N,02349.518,E,130419,A*2C
+$PGRMZ,364,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T016*21
+$GPRMC,130419,A,6130.279,N,02349.517,E,008.7,075.7,110805,006.0,E*7E
+$GPRMB,A,1.41,L,T013,T012,6129.236,N,02346.327,E,001.9,235.6,-008.2,V*10
+$GPGGA,130419,6130.279,N,02349.518,E,1,08,2.2,110.9,M,20.7,M,,*40
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.2,2.2,1.0*3E
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,45,10,13,208,31*78
+$GPGSV,3,2,12,15,12,330,39,18,20,325,41,19,20,033,45,21,04,297,00*7C
+$GPGSV,3,3,12,26,60,275,39,27,18,092,41,28,63,140,44,29,69,244,42*7A
+$PGRME,7.9,M,10.6,M,13.2,M*27
+$GPGLL,6130.279,N,02349.518,E,130420,A*26
+$PGRMZ,364,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0000.000,N,00000.000,W,T015*39
+$GPRMC,130421,A,6130.279,N,02349.519,E,005.4,075.3,110805,006.0,E*71
+$GPRMB,A,1.41,L,T013,T012,6129.236,N,02346.327,E,001.9,235.6,-005.1,V*1E
+$GPGGA,130421,6130.279,N,02349.520,E,1,08,2.0,111.0,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.4,2.0,1.3*39
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,45,10,13,208,31*78
+$GPGSV,3,2,12,15,12,330,39,18,20,325,41,19,20,033,45,21,04,297,00*7C
+$GPGSV,3,3,12,26,60,275,39,27,18,092,41,28,63,140,44,29,69,244,42*7A
+$PGRME,7.9,M,10.6,M,13.2,M*27
+$GPGLL,6130.279,N,02349.519,E,130421,A*26
+$PGRMZ,364,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0009.000,N,02430.650,E,T014*25
+$GPRMC,130422,A,6130.279,N,02349.519,E,001.4,075.9,110805,006.0,E*7C
+$GPRMB,A,1.41,L,T013,T012,6129.236,N,02346.327,E,001.9,235.6,-002.4,V*1C
+$GPGGA,130422,6130.279,N,02349.519,E,1,08,2.0,110.8,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.4,2.0,1.3*39
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,46,10,13,208,31*7B
+$GPGSV,3,2,12,15,12,330,40,18,20,325,41,19,20,033,44,21,04,297,00*73
+$GPGSV,3,3,12,26,60,275,39,27,18,092,40,28,63,140,44,29,69,244,42*7B
+$PGRME,7.9,M,10.6,M,13.2,M*27
+$GPGLL,6130.279,N,02349.519,E,130423,A*24
+$PGRMZ,363,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.285,N,02430.651,E,T013*23
+$GPRMC,130423,A,6130.279,N,02349.518,E,000.0,076.7,110805,006.0,E*74
+$GPRMB,A,1.41,L,T013,T012,6129.236,N,02346.327,E,001.9,235.6,,V*19
+$GPGGA,130423,6130.279,N,02349.518,E,1,08,2.0,110.6,M,20.7,M,,*44
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.4,2.0,1.3*39
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,12,330,41,18,20,325,42,19,20,033,43,21,03,297,00*71
+$GPGSV,3,3,12,26,60,275,40,27,18,092,41,28,63,140,43,29,69,244,41*70
+$PGRME,7.9,M,10.6,M,13.2,M*27
+$GPGLL,6130.279,N,02349.518,E,130424,A*22
+$PGRMZ,362,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.236,N,02346.327,E,T012*22
+$GPRMC,130425,A,6130.279,N,02349.518,E,000.0,076.7,110805,006.0,E*72
+$GPRMB,A,1.41,L,T013,T012,6129.236,N,02346.327,E,001.9,235.6,,V*19
+$GPGGA,130425,6130.279,N,02349.518,E,1,08,2.0,110.4,M,20.7,M,,*40
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.4,2.0,1.3*39
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,12,330,41,18,20,325,43,19,20,033,42,21,03,297,00*71
+$GPGSV,3,3,12,26,60,275,40,27,18,092,41,28,63,140,43,29,69,244,41*70
+$PGRME,7.9,M,10.6,M,13.2,M*27
+$GPGLL,6130.279,N,02349.518,E,130425,A*23
+$PGRMZ,362,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6114.236,N,02346.327,E,T011*2F
+$GPRMC,130426,A,6130.279,N,02349.518,E,000.0,076.7,110805,006.0,E*71
+$GPRMB,A,1.41,L,T013,T012,6129.236,N,02346.327,E,001.9,235.6,,V*19
+$GPGGA,130426,6130.279,N,02349.518,E,1,08,2.0,110.4,M,20.7,M,,*43
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.1,2.0,2.0*3D
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,12,330,41,18,20,325,43,19,20,033,42,21,03,297,00*71
+$GPGSV,3,3,12,26,60,275,40,27,18,092,41,28,63,140,43,29,69,244,41*70
+$PGRME,7.9,M,10.6,M,13.2,M*27
+$GPGLL,6130.279,N,02349.518,E,130427,A*21
+$PGRMZ,362,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6220.236,N,02346.327,E,T010*2A
+$GPRMC,130427,A,6130.279,N,02349.518,E,000.0,076.7,110805,006.0,E*70
+$GPRMB,A,1.41,L,T013,T012,6129.236,N,02346.327,E,001.9,235.6,,V*19
+$GPGGA,130427,6130.279,N,02349.518,E,1,08,2.0,110.4,M,20.7,M,,*42
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.1,2.0,2.0*3D
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,12,330,41,18,20,325,43,19,20,033,42,21,03,297,00*71
+$GPGSV,3,3,12,26,60,275,41,27,18,092,42,28,63,140,43,29,69,244,41*72
+$PGRME,7.9,M,10.6,M,13.2,M*27
+$GPGLL,6130.279,N,02349.518,E,130428,A*2E
+$PGRMZ,363,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6120.236,N,02346.327,E,T009*21
+$GPRMC,130428,A,6130.279,N,02349.518,E,000.0,076.7,110805,006.0,E*7F
+$GPRMB,A,1.41,L,T013,T012,6129.236,N,02346.327,E,001.9,235.6,,V*19
+$GPGGA,130429,6130.279,N,02349.518,E,1,08,2.0,110.5,M,20.7,M,,*4D
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.1,2.0,2.0*3D
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,12,330,42,18,20,325,43,19,20,033,42,21,03,297,00*72
+$GPGSV,3,3,12,26,60,275,41,27,18,092,41,28,63,140,44,29,69,244,41*76
+$PGRME,7.9,M,10.6,M,13.2,M*27
+$GPGLL,6130.279,N,02349.518,E,130429,A*2F
+$PGRMZ,363,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.234,N,02346.317,E,T008*28
+$GPRMC,130430,A,6130.279,N,02349.518,E,000.0,076.7,110805,006.0,E*76
+$GPRMB,A,1.41,L,T013,T012,6129.236,N,02346.327,E,001.9,235.6,,V*19
+$GPGGA,130430,6130.279,N,02349.518,E,1,08,2.0,110.5,M,20.7,M,,*45
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.1,2.0,2.0*3D
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,12,330,42,18,20,325,43,19,20,033,42,21,03,297,00*72
+$GPGSV,3,3,12,26,60,275,41,27,18,092,41,28,63,140,44,29,69,244,41*76
+$PGRME,7.9,M,10.6,M,13.2,M*27
+$GPGLL,6130.279,N,02349.518,E,130431,A*26
+$PGRMZ,363,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6157.564,N,02406.158,E,T007*26
+$GPRMC,130431,A,6130.279,N,02349.518,E,000.0,076.7,110805,006.0,E*77
+$GPRMB,A,1.41,L,T013,T012,6129.236,N,02346.327,E,001.9,235.6,,V*19
+$GPGGA,130431,6130.279,N,02349.518,E,1,08,2.0,110.3,M,20.7,M,,*42
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.2,2.0,2.1*3F
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,48,10,13,208,30*74
+$GPGSV,3,2,12,15,12,330,41,18,20,325,43,19,20,033,42,21,03,297,00*71
+$GPGSV,3,3,12,26,60,275,40,27,18,092,41,28,63,140,43,29,69,244,41*70
+$PGRME,7.9,M,10.6,M,13.2,M*27
+$GPGLL,6130.279,N,02349.518,E,130432,A*25
+$PGRMZ,362,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6145.919,N,02345.544,E,T006*2B
+$GPRMC,130432,A,6130.279,N,02349.518,E,000.0,076.7,110805,006.0,E*74
+$GPRMB,A,1.41,L,T013,T012,6129.236,N,02346.327,E,001.9,235.6,,V*19
+$GPGGA,130433,6130.279,N,02349.518,E,1,08,2.3,110.2,M,20.7,M,,*42
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.8,2.3,2.7*30
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,12,330,42,18,20,325,44,19,20,033,42,21,03,297,00*75
+$GPGSV,3,3,12,26,60,275,39,27,18,092,42,28,63,140,43,29,69,244,41*7D
+$PGRME,7.9,M,10.6,M,13.2,M*27
+$GPGLL,6130.279,N,02349.518,E,130433,A*24
+$PGRMZ,361,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6130.198,N,02342.702,E,T005*2C
+$GPRMC,130434,A,6130.279,N,02349.518,E,000.0,076.7,110805,006.0,E*72
+$GPRMB,A,1.41,L,T013,T012,6129.236,N,02346.327,E,001.9,235.6,,V*19
+$GPGGA,130434,6130.279,N,02349.518,E,1,08,2.0,110.0,M,20.7,M,,*44
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.4,2.0,2.7*3F
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,12,330,42,18,20,325,44,19,20,033,42,21,03,297,00*75
+$GPGSV,3,3,12,26,60,275,40,27,18,092,42,28,63,140,43,29,69,244,41*73
+$PGRME,7.8,M,10.6,M,13.2,M*26
+$GPGLL,6130.279,N,02349.518,E,130434,A*23
+$PGRMZ,361,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6216.183,N,02619.685,E,T004*25
+$GPRMC,130435,A,6130.279,N,02349.518,E,000.0,076.7,110805,006.0,E*73
+$GPRMB,A,1.41,L,T013,T012,6129.236,N,02346.327,E,001.9,235.6,,V*19
+$GPGGA,130435,6130.279,N,02349.518,E,1,08,2.0,109.9,M,20.7,M,,*44
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.4,2.0,2.7*3F
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,12,330,42,18,20,325,44,19,20,033,42,21,03,297,00*75
+$GPGSV,3,3,12,26,60,275,40,27,18,092,42,28,63,140,43,29,69,244,41*73
+$PGRME,7.8,M,10.6,M,13.2,M*26
+$GPGLL,6130.279,N,02349.518,E,130436,A*21
+$PGRMZ,361,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6215.064,N,02603.837,E,T003*25
+$GPRMC,130436,A,6130.279,N,02349.518,E,000.0,076.7,110805,006.0,E*70
+$GPRMB,A,1.41,L,T013,T012,6129.236,N,02346.327,E,001.9,235.6,,V*19
+$GPGGA,130436,6130.279,N,02349.518,E,1,08,2.0,109.9,M,20.7,M,,*47
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.4,2.0,2.7*3F
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,12,330,42,18,20,325,44,19,20,033,42,21,03,297,00*75
+$GPGSV,3,3,12,26,60,275,40,27,18,092,42,28,63,140,43,29,69,244,42*70
+$PGRME,7.8,M,10.6,M,13.2,M*26
+$GPGLL,6130.279,N,02349.518,E,130437,A*20
+$PGRMZ,361,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6151.098,N,02510.924,E,T002*26
+$GPRMC,130437,A,6130.279,N,02349.518,E,000.0,076.7,110805,006.0,E*71
+$GPRMB,A,1.41,L,T013,T012,6129.236,N,02346.327,E,001.9,235.6,,V*19
+$GPGGA,130438,6130.279,N,02349.518,E,1,08,2.0,109.9,M,20.7,M,,*49
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.4,2.0,2.7*3F
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,12,330,42,18,20,325,44,19,20,033,43,21,03,297,00*74
+$GPGSV,3,3,12,26,60,275,40,27,18,092,42,28,63,140,44,29,69,244,42*77
+$PGRME,7.8,M,10.6,M,13.2,M*26
+$GPGLL,6130.279,N,02349.518,E,130438,A*2F
+$PGRMZ,360,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.271,N,02346.376,E,T001*27
+$GPRMC,130439,A,6130.279,N,02349.520,E,000.0,076.7,110805,006.0,E*74
+$GPRMB,A,1.41,L,T013,T012,6129.236,N,02346.327,E,001.9,235.6,,V*19
+$GPGGA,130439,6130.279,N,02349.520,E,1,08,2.0,109.8,M,20.7,M,,*42
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.4,2.0,2.7*3F
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,12,330,41,18,20,325,43,19,20,033,43,21,03,297,00*70
+$GPGSV,3,3,12,26,60,275,41,27,18,092,42,28,63,140,44,29,69,244,42*76
+$PGRME,7.8,M,10.6,M,13.2,M*26
+$GPGLL,6130.279,N,02349.520,E,130439,A*25
+$PGRMZ,360,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPRTE,4,1,c,0,T030,T029,T028,T027,T026,T025,T024,T023,T022*49
+$GPRTE,4,2,c,0,T021,T020,T019,T018,T017,T016,T015,T014,T013*4B
+$GPRTE,4,3,c,0,T012,T011,T010,T009,T008,T007,T006,T005,T004*4B
+$GPRTE,4,4,c,0,T003,T002,T001*4F
+$GPWPL,6016.083,N,02452.500,E,T030*22
+$GPRMC,130441,A,6130.280,N,02349.524,E,000.0,076.7,110805,006.0,E*79
+$GPRMB,A,1.41,L,T013,T012,6129.236,N,02346.327,E,001.9,235.7,,V*18
+$GPGGA,130441,6130.280,N,02349.524,E,1,08,2.2,109.8,M,20.7,M,,*4D
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.8,2.2,3.1*36
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,46,10,13,208,30*7A
+$GPGSV,3,2,12,15,12,330,41,18,20,325,44,19,20,033,41,21,03,297,00*75
+$GPGSV,3,3,12,26,60,275,42,27,18,092,42,28,63,140,44,29,69,244,43*74
+$PGRME,7.8,M,10.6,M,13.2,M*26
+$GPGLL,6130.283,N,02349.531,E,130441,A*2F
+$PGRMZ,361,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T029*2D
+$GPRMC,130442,A,6130.284,N,02349.533,E,009.3,046.0,110805,006.0,E*76
+$GPRMB,A,1.42,L,T013,T012,6129.236,N,02346.327,E,001.9,235.6,-009.2,V*12
+$GPGGA,130442,6130.285,N,02349.531,E,1,08,2.3,110.0,M,20.7,M,,*4E
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.9,2.3,3.2*35
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,45,10,13,208,30*79
+$GPGSV,3,2,12,15,12,330,41,18,20,325,45,19,20,033,40,21,03,297,00*75
+$GPGSV,3,3,12,26,60,275,43,27,18,092,42,28,63,140,44,29,69,244,43*75
+$PGRME,7.8,M,10.6,M,13.2,M*26
+$GPGLL,6130.286,N,02349.533,E,130443,A*2A
+$PGRMZ,361,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6023.283,N,02430.650,E,T028*2D
+$GPRMC,130443,A,6130.289,N,02349.532,E,009.9,013.3,110805,006.0,E*72
+$GPRMB,A,1.42,L,T013,T012,6129.236,N,02346.327,E,001.9,235.5,-008.3,V*11
+$GPGGA,130443,6130.289,N,02349.532,E,1,08,2.4,110.1,M,20.7,M,,*46
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.9,2.4,1.0*33
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,44,10,13,208,30*78
+$GPGSV,3,2,12,15,12,330,41,18,20,325,44,19,20,033,40,21,03,297,00*74
+$GPGSV,3,3,12,26,61,273,44,27,18,092,41,28,63,140,45,29,69,244,43*77
+$PGRME,7.8,M,10.5,M,13.1,M*26
+$GPGLL,6130.291,N,02349.533,E,130444,A*2B
+$PGRMZ,361,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T027*23
+$GPRMC,130444,A,6130.292,N,02349.532,E,009.4,359.8,110805,006.0,E*74
+$GPRMB,A,1.43,L,T013,T012,6129.236,N,02346.327,E,001.9,235.4,-007.3,V*1E
+$GPGGA,130444,6130.293,N,02349.532,E,1,08,2.1,110.1,M,20.7,M,,*4F
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.0,2.1,1.2*3C
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,42,10,13,208,30*7E
+$GPGSV,3,2,12,15,12,330,39,18,20,325,42,19,20,033,40,21,03,297,00*7D
+$GPGSV,3,3,12,26,61,273,46,27,18,092,40,28,63,140,43,29,69,244,44*75
+$PGRME,7.9,M,10.6,M,13.2,M*27
+$GPGLL,6130.294,N,02349.532,E,130445,A*2E
+$PGRMZ,361,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T026*24
+$GPRMC,130445,A,6130.296,N,02349.532,E,009.4,359.8,110805,006.0,E*71
+$GPRMB,A,1.43,L,T013,T012,6129.236,N,02346.327,E,001.9,235.3,-005.3,V*1B
+$GPGGA,130445,6130.297,N,02349.531,E,1,08,2.1,110.0,M,20.7,M,,*48
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.1,2.1,1.4*3B
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,42,10,13,208,30*7E
+$GPGSV,3,2,12,15,12,330,38,18,20,325,41,19,20,033,41,21,03,297,00*7E
+$GPGSV,3,3,12,26,61,273,46,27,18,092,41,28,63,140,43,29,69,244,45*75
+$PGRME,8.0,M,10.9,M,13.5,M*29
+$GPGLL,6130.298,N,02349.530,E,130445,A*20
+$PGRMZ,360,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,S,02453.500,E,T025*3B
+$GPRMC,130447,A,6130.300,N,02349.530,E,010.7,353.3,110805,006.0,E*75
+$GPRMB,A,1.43,L,T013,T012,6129.236,N,02346.327,E,001.9,235.2,-005.0,V*19
+$GPGGA,130447,6130.300,N,02349.530,E,1,08,2.1,109.8,M,20.7,M,,*44
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.5,2.3,1.9*30
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,41,10,13,208,30*7D
+$GPGSV,3,2,12,15,12,330,38,18,20,325,41,19,20,033,42,21,03,297,00*7D
+$GPGSV,3,3,12,26,61,273,47,27,18,093,40,28,63,140,42,29,69,244,46*76
+$PGRME,8.8,M,12.3,M,15.1,M*2B
+$GPGLL,6130.303,N,02349.529,E,130447,A*29
+$PGRMZ,359,f,3*14
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6018.083,N,02453.500,E,T024*28
+$GPRMC,130448,A,6130.307,N,02349.526,E,016.7,346.5,110805,006.0,E*7E
+$GPRMB,A,1.44,L,T013,T012,6129.236,N,02346.327,E,001.9,235.0,-006.1,V*1E
+$GPGGA,130448,6130.307,N,02349.525,E,1,08,1.4,109.2,M,20.7,M,,*44
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.4,1.4,1.0*3E
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,40,10,13,208,30*7C
+$GPGSV,3,2,12,15,12,330,36,18,20,325,40,19,20,033,43,21,03,297,00*73
+$GPGSV,3,3,12,26,61,273,47,27,18,093,38,28,63,140,43,29,69,244,46*78
+$PGRME,10.0,M,14.6,M,17.7,M*1D
+$GPGLL,6130.310,N,02349.524,E,130449,A*28
+$PGRMZ,358,f,3*15
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,W,T023*33
+$GPRMC,130449,A,6130.313,N,02349.523,E,017.7,346.3,110805,006.0,E*78
+$GPRMB,A,1.45,L,T013,T012,6129.236,N,02346.327,E,001.9,234.8,-006.5,V*12
+$GPGGA,130449,6130.314,N,02349.522,E,1,08,1.8,109.0,M,20.7,M,,*4E
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.3,1.8,1.8*3E
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,41,10,13,208,30*7D
+$GPGSV,3,2,12,15,12,330,35,18,20,325,40,19,20,033,42,21,03,297,00*71
+$GPGSV,3,3,12,26,61,273,48,27,18,093,38,28,63,140,43,29,69,244,46*77
+$PGRME,10.0,M,14.6,M,17.7,M*1D
+$GPGLL,6130.317,N,02349.521,E,130450,A*22
+$PGRMZ,358,f,3*15
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02555.500,E,T022*26
+$GPRMC,130450,A,6130.318,N,02349.519,E,016.5,344.3,110805,006.0,E*73
+$GPRMB,A,1.45,L,T013,T012,6129.236,N,02346.327,E,001.9,234.6,-006.5,V*1C
+$GPGGA,130450,6130.319,N,02349.518,E,1,08,2.9,107.8,M,20.7,M,,*46
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,5.0,2.9,4.2*37
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,41,10,13,208,30*7D
+$GPGSV,3,2,12,15,12,330,34,18,20,325,39,19,20,033,41,21,03,297,00*7D
+$GPGSV,3,3,12,26,61,273,48,27,18,093,37,28,63,138,43,29,69,244,46*77
+$PGRME,14.3,M,23.8,M,27.9,M*1D
+$GPGLL,6130.322,N,02349.517,E,130451,A*20
+$PGRMZ,350,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T021*23
+$GPRMC,130452,A,6130.325,N,02349.516,E,017.4,346.9,110805,006.0,E*78
+$GPRMB,A,1.46,L,T013,T012,6129.236,N,02346.327,E,001.9,234.4,-006.3,V*1B
+$GPGGA,130452,6130.326,N,02349.516,E,1,08,1.6,108.0,M,20.7,M,,*4D
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.6,1.6,1.0*3E
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,41,10,13,208,30*7D
+$GPGSV,3,2,12,15,12,330,33,18,20,325,37,19,20,033,43,21,03,297,00*76
+$GPGSV,3,3,12,26,61,273,48,27,18,093,36,28,63,138,41,29,69,244,46*74
+$PGRME,14.9,M,25.0,M,29.2,M*1C
+$GPGLL,6130.329,N,02349.515,E,130453,A*2B
+$PGRMZ,354,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6116.083,N,02452.500,E,T020*22
+$GPRMC,130453,A,6130.331,N,02349.513,E,017.4,346.9,110805,006.0,E*79
+$GPRMB,A,1.46,L,T013,T012,6129.236,N,02346.327,E,001.9,234.3,-006.7,V*18
+$GPGGA,130453,6130.332,N,02349.513,E,1,08,1.6,107.9,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.6,1.6,1.0*3E
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,41,10,13,208,30*7D
+$GPGSV,3,2,12,15,12,330,33,18,20,325,36,19,20,033,44,21,03,297,00*70
+$GPGSV,3,3,12,26,61,273,48,27,18,093,35,28,63,138,41,29,69,244,47*76
+$PGRME,18.8,M,33.2,M,38.3,M*15
+$GPGLL,6130.335,N,02349.512,E,130453,A*21
+$PGRMZ,349,f,3*15
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,S,02452.500,E,T019*34
+$GPRMC,130455,A,6130.337,N,02349.511,E,017.3,347.8,110805,006.0,E*7C
+$GPRMB,A,1.47,L,T013,T012,6129.236,N,02346.327,E,001.9,234.1,-007.0,V*1D
+$GPGGA,130455,6130.338,N,02349.510,E,1,08,2.8,106.3,M,20.7,M,,*43
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,4.5,2.8,3.6*31
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,41,10,13,208,31*7C
+$GPGSV,3,2,12,15,12,330,33,18,20,325,36,19,20,033,44,21,03,297,00*70
+$GPGSV,3,3,12,26,61,273,47,27,18,093,35,28,63,138,40,29,69,241,47*7D
+$PGRME,18.8,M,33.2,M,38.3,M*15
+$GPGLL,6130.340,N,02349.508,E,130455,A*2E
+$PGRMZ,340,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,N,02452.500,E,T018*28
+$GPRMC,130456,A,6130.343,N,02349.507,E,017.7,346.0,110805,006.0,E*76
+$GPRMB,A,1.47,L,T013,T012,6129.236,N,02346.327,E,001.9,233.9,-006.6,V*15
+$GPGGA,130456,6130.343,N,02349.507,E,1,08,2.9,103.3,M,20.7,M,,*4E
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,4.8,2.9,3.8*36
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,40,10,13,208,31*7D
+$GPGSV,3,2,12,15,12,330,33,18,20,325,35,19,20,033,44,21,03,297,00*73
+$GPGSV,3,3,12,26,61,273,47,27,18,093,34,28,63,138,39,29,69,241,47*72
+$PGRME,16.6,M,25.5,M,30.4,M*1A
+$GPGLL,6130.346,N,02349.505,E,130457,A*27
+$PGRMZ,339,f,3*12
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6013.283,N,02456.650,E,T017*22
+$GPRMC,130457,A,6130.349,N,02349.504,E,017.7,346.0,110805,006.0,E*7E
+$GPRMB,A,1.48,L,T013,T012,6129.236,N,02346.327,E,001.9,233.7,-006.6,V*14
+$GPGGA,130457,6130.350,N,02349.503,E,1,07,2.9,103.2,M,20.7,M,,*47
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,5.0,3.0,4.1*39
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,39,10,13,208,31*73
+$GPGSV,3,2,12,15,12,330,35,18,20,325,37,19,20,033,43,21,03,297,00*70
+$GPGSV,3,3,12,26,61,273,47,27,18,093,32,28,63,138,39,29,69,241,47*74
+$PGRME,15.9,M,25.0,M,29.6,M*19
+$GPGLL,6130.352,N,02349.502,E,130457,A*25
+$PGRMZ,337,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T016*21
+$GPRMC,130458,A,6130.354,N,02349.500,E,017.3,345.0,110805,006.0,E*7E
+$GPRMB,A,1.48,L,T013,T012,6129.236,N,02346.327,E,001.9,233.6,-006.6,V*15
+$GPGGA,130458,6130.355,N,02349.500,E,1,07,3.3,102.5,M,20.7,M,,*43
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,5.1,3.3,1.0*3F
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,38,10,13,208,30*73
+$GPGSV,3,2,12,15,12,330,37,18,20,325,36,19,20,033,43,21,03,297,00*73
+$GPGSV,3,3,12,26,61,273,47,27,18,093,35,28,63,138,40,29,69,241,47*7D
+$PGRME,8.6,M,11.8,M,14.6,M*2B
+$GPGLL,6130.357,N,02349.495,E,130459,A*21
+$PGRMZ,337,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0000.000,N,00000.000,W,T015*39
+$GPRMC,130500,A,6130.359,N,02349.493,E,015.0,328.3,110805,006.0,E*7D
+$GPRMB,A,1.49,L,T013,T012,6129.236,N,02346.327,E,001.9,233.4,-001.3,V*14
+$GPGGA,130500,6130.360,N,02349.492,E,1,07,2.5,102.6,M,20.7,M,,*47
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.9,2.5,1.0*33
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,38,10,13,208,30*73
+$GPGSV,3,2,12,15,12,330,37,18,20,325,38,19,20,033,43,21,03,297,00*7D
+$GPGSV,3,3,12,26,61,273,47,27,18,093,35,28,63,138,40,29,69,241,47*7D
+$PGRME,9.3,M,13.2,M,16.1,M*22
+$GPGLL,6130.361,N,02349.486,E,130500,A*2B
+$PGRMZ,336,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0009.000,N,02430.650,E,T014*25
+$GPRMC,130500,A,6130.363,N,02349.483,E,015.8,318.5,110805,006.0,E*78
+$GPRMB,A,1.49,L,T013,T012,6129.236,N,02346.327,E,001.9,233.2,001.3,V*3F
+$GPGGA,130501,6130.363,N,02349.481,E,1,08,2.5,102.4,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.9,2.5,1.0*33
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,37,10,13,208,30*7C
+$GPGSV,3,2,12,15,12,330,37,18,20,325,40,19,20,033,43,21,03,297,00*72
+$GPGSV,3,3,12,26,61,273,48,27,18,093,34,28,63,138,41,29,69,241,49*7C
+$PGRME,10.0,M,14.4,M,17.6,M*1E
+$GPGLL,6130.363,N,02349.472,E,130501,A*23
+$PGRMZ,335,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.285,N,02430.651,E,T013*23
+$GPRMC,130502,A,6130.365,N,02349.468,E,016.5,305.6,110805,006.0,E*78
+$GPRMB,A,1.49,L,T013,T012,6129.236,N,02346.327,E,001.9,233.0,005.0,V*3A
+$GPGGA,130502,6130.365,N,02349.467,E,1,08,2.5,102.2,M,20.7,M,,*41
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.9,2.5,1.0*33
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,37,10,13,208,30*7C
+$GPGSV,3,2,12,15,12,330,36,18,20,325,40,19,20,033,43,21,03,297,00*73
+$GPGSV,3,3,12,26,61,273,48,27,18,093,33,28,63,138,41,29,69,241,49*7B
+$PGRME,8.4,M,11.5,M,14.3,M*21
+$GPGLL,6130.365,N,02349.458,E,130502,A*2E
+$PGRMZ,336,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.236,N,02346.327,E,T012*22
+$GPRMC,130504,A,6130.366,N,02349.453,E,017.7,290.6,110805,006.0,E*7B
+$GPRMB,A,1.49,L,T013,T012,6129.236,N,02346.327,E,001.9,232.9,009.5,V*3B
+$GPGGA,130504,6130.367,N,02349.452,E,1,08,2.3,102.2,M,20.7,M,,*45
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,4.0,2.3,1.7*3C
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,36,10,13,208,30*7D
+$GPGSV,3,2,12,15,12,330,35,18,20,325,41,19,20,033,43,21,03,297,00*71
+$GPGSV,3,3,12,26,61,273,49,27,18,093,33,28,63,138,42,29,69,241,49*79
+$PGRME,9.2,M,12.9,M,15.9,M*22
+$GPGLL,6130.368,N,02349.447,E,130505,A*2A
+$PGRMZ,335,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6114.236,N,02346.327,E,T011*2F
+$GPRMC,130505,A,6130.369,N,02349.444,E,015.2,299.1,110805,006.0,E*7A
+$GPRMB,A,1.49,L,T013,T012,6129.236,N,02346.327,E,001.9,232.7,006.1,V*3E
+$GPGGA,130505,6130.370,N,02349.444,E,1,08,2.5,102.2,M,20.7,M,,*43
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,4.4,2.5,2.2*38
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,37,10,13,208,31*7D
+$GPGSV,3,2,12,15,12,330,39,18,20,325,39,19,20,033,42,21,03,297,00*73
+$GPGSV,3,3,12,26,61,273,48,27,18,093,32,28,63,138,42,29,69,241,48*78
+$PGRME,9.9,M,14.2,M,17.3,M*2C
+$GPGLL,6130.372,N,02349.441,E,130505,A*27
+$PGRMZ,335,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6220.236,N,02346.327,E,T010*2A
+$GPRMC,130506,A,6130.376,N,02349.443,E,015.8,336.9,110805,006.0,E*76
+$GPRMB,A,1.50,L,T013,T012,6129.236,N,02346.327,E,001.9,232.5,-003.9,V*14
+$GPGGA,130507,6130.377,N,02349.442,E,1,08,2.5,102.2,M,20.7,M,,*40
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.5,2.5,1.0*3E
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,37,10,13,208,31*7D
+$GPGSV,3,2,12,15,12,330,39,18,20,325,39,19,20,033,42,21,03,297,00*73
+$GPGSV,3,3,12,26,61,273,48,27,18,093,32,28,63,138,41,29,69,241,48*7B
+$PGRME,8.4,M,11.5,M,14.3,M*21
+$GPGLL,6130.381,N,02349.441,E,130507,A*29
+$PGRMZ,335,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6120.236,N,02346.327,E,T009*21
+$GPRMC,130508,A,6130.383,N,02349.440,E,016.9,342.9,110805,006.0,E*70
+$GPRMB,A,1.50,L,T013,T012,6129.236,N,02346.327,E,001.9,232.3,-005.9,V*14
+$GPGGA,130508,6130.384,N,02349.439,E,1,08,2.5,102.0,M,20.7,M,,*4D
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.5,2.5,1.0*3E
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,37,10,13,208,30*7C
+$GPGSV,3,2,12,15,12,330,38,18,20,325,38,19,20,033,43,21,03,297,00*72
+$GPGSV,3,3,12,26,61,273,48,27,18,093,33,28,63,138,41,29,69,241,48*7A
+$PGRME,8.4,M,11.5,M,14.3,M*21
+$GPGLL,6130.386,N,02349.438,E,130508,A*2F
+$PGRMZ,334,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.234,N,02346.317,E,T008*28
+$GPRMC,130508,A,6130.390,N,02349.437,E,017.9,344.9,110805,006.0,E*75
+$GPRMB,A,1.51,L,T013,T012,6129.236,N,02346.327,E,001.9,232.2,-006.9,V*17
+$GPGGA,130509,6130.391,N,02349.436,E,1,08,1.9,101.9,M,20.7,M,,*42
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.9,1.9,1.0*3E
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,36,10,13,208,31*7C
+$GPGSV,3,2,12,15,12,330,38,18,20,325,37,19,20,033,42,21,03,297,00*7C
+$GPGSV,3,3,12,26,61,273,48,27,18,093,32,28,63,138,41,29,69,241,48*7B
+$PGRME,7.8,M,10.5,M,13.1,M*26
+$GPGLL,6130.394,N,02349.435,E,130509,A*20
+$PGRMZ,335,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6157.564,N,02406.158,E,T007*26
+$GPRMC,130509,A,6130.397,N,02349.434,E,018.8,348.0,110805,006.0,E*7B
+$GPRMB,A,1.52,L,T013,T012,6129.236,N,02346.327,E,001.9,232.0,-008.2,V*13
+$GPGGA,130511,6130.398,N,02349.434,E,1,08,2.2,102.2,M,20.7,M,,*40
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.5,2.2,1.5*3C
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,36,10,13,208,32*7F
+$GPGSV,3,2,12,15,12,330,37,18,20,325,36,19,20,033,41,21,03,297,00*71
+$GPGSV,3,3,12,26,61,273,48,27,18,093,35,28,63,138,41,29,69,241,48*7C
+$PGRME,9.7,M,12.3,M,15.8,M*2C
+$GPGLL,6130.401,N,02349.433,E,130511,A*24
+$PGRMZ,336,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6145.919,N,02345.544,E,T006*2B
+$GPRMC,130512,A,6130.404,N,02349.432,E,018.7,349.0,110805,006.0,E*74
+$GPRMB,A,1.52,L,T013,T012,6129.236,N,02346.327,E,001.9,231.8,-008.5,V*1F
+$GPGGA,130512,6130.405,N,02349.431,E,1,08,2.4,102.5,M,20.7,M,,*44
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.9,2.4,1.8*3B
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,36,10,13,208,33*7E
+$GPGSV,3,2,12,15,12,330,36,18,20,325,35,19,20,033,40,21,03,297,00*72
+$GPGSV,3,3,12,26,61,273,48,27,18,093,36,28,63,138,41,29,69,241,48*7F
+$PGRME,10.2,M,12.7,M,16.3,M*1D
+$GPGLL,6130.408,N,02349.430,E,130512,A*2D
+$PGRMZ,338,f,3*13
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6130.198,N,02342.702,E,T005*2C
+$GPRMC,130513,A,6130.410,N,02349.429,E,018.6,349.4,110805,006.0,E*7F
+$GPRMB,A,1.53,L,T013,T012,6129.236,N,02346.327,E,001.9,231.6,-008.6,V*13
+$GPGGA,130513,6130.411,N,02349.429,E,1,08,2.5,103.0,M,20.7,M,,*4C
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.1,2.5,2.0*38
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,37,10,13,208,33*7F
+$GPGSV,3,2,12,15,12,330,36,18,20,325,34,19,20,033,40,21,03,297,00*73
+$GPGSV,3,3,12,26,61,273,48,27,18,093,35,28,63,138,40,29,69,241,47*72
+$PGRME,10.2,M,12.7,M,16.3,M*1D
+$GPGLL,6130.414,N,02349.428,E,130513,A*28
+$PGRMZ,338,f,3*13
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6216.183,N,02619.685,E,T004*25
+$GPRMC,130513,A,6130.417,N,02349.427,E,018.6,349.4,110805,006.0,E*76
+$GPRMB,A,1.53,L,T013,T012,6129.236,N,02346.327,E,001.9,231.4,-008.6,V*11
+$GPGGA,130513,6130.418,N,02349.426,E,1,08,2.5,103.0,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.1,2.5,2.0*38
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,36,10,13,208,32*7F
+$GPGSV,3,2,12,15,12,330,35,18,20,325,34,19,20,033,38,21,03,297,00*7F
+$GPGSV,3,3,12,26,61,273,47,27,18,093,34,28,63,138,40,29,69,241,47*7C
+$PGRME,11.2,M,15.0,M,18.8,M*19
+$GPGLL,6130.420,N,02349.425,E,130513,A*22
+$PGRMZ,332,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6215.064,N,02603.837,E,T003*25
+$GPRMC,130513,A,6130.422,N,02349.424,E,017.9,349.6,110805,006.0,E*71
+$GPRMB,A,1.54,L,T013,T012,6129.236,N,02346.327,E,001.9,231.3,-008.5,V*12
+$GPGGA,130513,6130.423,N,02349.424,E,1,08,2.8,101.1,M,20.7,M,,*4E
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.9,2.8,2.7*3A
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,35,10,13,208,32*7C
+$GPGSV,3,2,12,15,12,330,34,18,20,325,34,19,20,033,38,21,03,297,00*7E
+$GPGSV,3,3,12,26,61,273,48,27,18,093,34,28,63,138,41,29,69,241,47*72
+$PGRME,11.2,M,15.0,M,18.8,M*19
+$GPGLL,6130.427,N,02349.423,E,130513,A*23
+$PGRMZ,332,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6151.098,N,02510.924,E,T002*26
+$GPRMC,130516,A,6130.429,N,02349.422,E,017.9,349.6,110805,006.0,E*79
+$GPRMB,A,1.55,L,T013,T012,6129.236,N,02346.327,E,001.9,231.1,-008.5,V*11
+$GPGGA,130516,6130.430,N,02349.421,E,1,08,2.8,101.2,M,20.7,M,,*4F
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.9,2.8,2.7*3A
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,35,10,13,208,34*7A
+$GPGSV,3,2,12,15,12,330,34,18,20,325,33,19,20,033,37,21,03,297,00*76
+$GPGSV,3,3,12,26,61,273,47,27,18,093,34,28,63,138,41,29,69,241,47*7D
+$PGRME,11.7,M,15.1,M,16.2,M*19
+$GPGLL,6130.433,N,02349.420,E,130516,A*20
+$PGRMZ,332,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.271,N,02346.376,E,T001*27
+$GPRMC,130516,A,6130.435,N,02349.420,E,018.2,351.1,110805,006.0,E*7C
+$GPRMB,A,1.55,L,T013,T012,6129.236,N,02346.327,E,001.9,230.9,-009.1,V*1D
+$GPGGA,130516,6130.437,N,02349.419,E,1,08,2.9,101.2,M,20.7,M,,*42
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.9,2.9,1.0*3F
+$GPGSV,3,1,12,03,01,011,00,07,03,153,00,08,49,094,34,10,13,208,32*7E
+$GPGSV,3,2,12,15,12,330,33,18,20,325,33,19,20,033,36,21,03,297,00*70
+$GPGSV,3,3,12,26,61,273,48,27,18,093,33,28,63,138,42,29,69,241,48*79
+$PGRME,11.7,M,15.1,M,16.2,M*19
+$GPGLL,6130.440,N,02349.418,E,130518,A*21
+$PGRMZ,332,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPRTE,4,1,c,0,T030,T029,T028,T027,T026,T025,T024,T023,T022*49
+$GPRTE,4,2,c,0,T021,T020,T019,T018,T017,T016,T015,T014,T013*4B
+$GPRTE,4,3,c,0,T012,T011,T010,T009,T008,T007,T006,T005,T004*4B
+$GPRTE,4,4,c,0,T003,T002,T001*4F
+$GPWPL,6016.083,N,02452.500,E,T030*22
+$GPRMC,130520,A,6130.440,N,02349.404,E,016.3,318.7,110805,006.0,E*79
+$GPRMB,A,1.55,L,T013,T012,6129.236,N,02346.327,E,001.9,230.7,000.6,V*30
+$GPGGA,130520,6130.440,N,02349.403,E,1,08,3.0,101.2,M,20.7,M,,*44
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,3.9,3.0,1.0*33
+$GPGSV,3,1,12,03,01,011,00,07,03,153,00,08,49,094,34,10,13,208,32*7E
+$GPGSV,3,2,12,15,12,330,33,18,20,325,32,19,20,033,35,21,03,297,00*72
+$GPGSV,3,3,12,26,61,273,48,27,18,093,34,28,63,138,42,29,69,241,48*7E
+$PGRME,11.7,M,15.1,M,16.2,M*19
+$GPGLL,6130.443,N,02349.398,E,130520,A*26
+$PGRMZ,332,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T029*2D
+$GPRMC,130520,A,6130.439,N,02349.388,E,017.1,284.5,110805,006.0,E*71
+$GPRMB,A,1.55,L,T013,T012,6129.236,N,02346.327,E,001.9,230.5,010.1,V*34
+$GPGGA,130520,6130.440,N,02349.385,E,1,07,4.6,101.6,M,20.7,M,,*47
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,6.0,4.6,2.6*3B
+$GPGSV,3,1,12,03,01,011,00,07,03,153,00,08,49,094,34,10,13,208,31*7D
+$GPGSV,3,2,12,15,12,330,32,18,20,325,38,19,20,033,34,21,03,297,00*78
+$GPGSV,3,3,12,26,61,273,48,27,18,093,33,28,63,138,43,29,69,241,48*78
+$PGRME,13.9,M,15.4,M,20.8,M*1F
+$GPGLL,6130.442,N,02349.381,E,130522,A*2D
+$PGRMZ,341,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6023.283,N,02430.650,E,T028*2D
+$GPRMC,130522,A,6130.443,N,02349.377,E,015.5,297.9,110805,006.0,E*76
+$GPRMB,A,1.55,L,T013,T012,6129.236,N,02346.327,E,001.9,230.4,005.9,V*39
+$GPGGA,130522,6130.443,N,02349.375,E,1,07,3.6,104.2,M,20.7,M,,*4F
+$GPGSA,A,3,,,08,,,18,,,26,27,28,29,5.3,3.6,2.7*35
+$GPGSV,3,1,12,03,01,011,00,07,03,153,00,08,49,094,32,10,13,208,31*7B
+$GPGSV,3,2,12,15,12,330,34,18,20,325,39,19,20,033,34,21,03,297,00*7F
+$GPGSV,3,3,12,26,61,273,47,27,18,093,32,28,63,138,42,29,69,241,48*77
+$PGRME,13.9,M,15.4,M,20.8,M*1F
+$GPGLL,6130.444,N,02349.370,E,130523,A*24
+$PGRMZ,342,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T027*23
+$GPRMC,130523,A,6130.442,N,02349.364,E,015.3,287.7,110805,006.0,E*7D
+$GPRMB,A,1.55,L,T013,T012,6129.236,N,02346.327,E,001.9,230.2,005.9,V*3F
+$GPGGA,130523,6130.443,N,02349.363,E,1,06,2.7,104.4,M,20.7,M,,*4E
+$GPGSA,A,3,,,08,,15,18,,,26,27,28,29,2.7,2.7,1.0*36
+$GPGSV,3,1,12,03,01,011,00,07,03,153,00,08,49,094,32,10,13,208,31*7B
+$GPGSV,3,2,12,15,12,330,34,18,20,325,42,19,20,033,33,21,03,297,00*74
+$GPGSV,3,3,12,26,61,273,48,27,18,093,33,28,63,138,42,29,69,241,48*79
+$PGRME,18.2,M,20.8,M,27.6,M*1C
+$GPGLL,6130.443,N,02349.358,E,130525,A*2F
+$PGRMZ,343,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T026*24
+$GPRMC,130525,A,6130.443,N,02349.353,E,015.0,277.5,110805,006.0,E*70
+$GPRMB,A,1.55,L,T013,T012,6129.236,N,02346.327,E,001.9,230.1,010.1,V*30
+$GPGGA,130526,6130.443,N,02349.351,E,1,07,3.5,105.3,M,20.7,M,,*4E
+$GPGSA,A,3,,,08,,15,18,,,26,27,28,29,4.0,3.5,2.0*37
+$GPGSV,3,1,12,03,01,011,00,07,03,153,00,08,49,094,32,10,13,208,33*79
+$GPGSV,3,2,12,15,12,330,33,18,20,325,42,19,20,033,33,21,03,297,00*73
+$GPGSV,3,3,12,26,61,273,48,27,18,093,33,28,63,138,42,29,69,241,48*79
+$PGRME,20.7,M,23.3,M,31.2,M*19
+$GPGLL,6130.444,N,02349.347,E,130526,A*25
+$PGRMZ,349,f,3*15
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,S,02453.500,E,T025*3B
+$GPRMC,130526,A,6130.444,N,02349.343,E,014.6,277.2,110805,006.0,E*75
+$GPRMB,A,1.55,L,T013,T012,6129.236,N,02346.327,E,001.9,230.0,009.9,V*31
+$GPGGA,130526,6130.444,N,02349.341,E,1,07,2.7,106.4,M,20.7,M,,*4F
+$GPGSA,A,3,,,08,,15,18,,,26,27,28,29,2.7,2.7,1.0*36
+$GPGSV,3,1,12,03,01,011,00,07,03,153,00,08,49,094,31,10,13,208,32*7B
+$GPGSV,3,2,12,15,12,330,33,18,20,325,41,19,20,033,32,21,03,297,00*71
+$GPGSV,3,3,12,26,61,273,49,27,18,093,35,28,63,138,42,29,69,241,48*7E
+$PGRME,23.1,M,26.0,M,34.8,M*15
+$GPGLL,6130.444,N,02349.336,E,130527,A*22
+$PGRMZ,349,f,3*15
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6018.083,N,02453.500,E,T024*28
+$GPRMC,130527,A,6130.445,N,02349.332,E,014.4,278.0,110805,006.0,E*7C
+$GPRMB,A,1.55,L,T013,T012,6129.236,N,02346.327,E,001.9,229.9,009.9,V*30
+$GPGGA,130527,6130.445,N,02349.330,E,1,07,3.6,107.6,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,15,18,,,26,27,28,29,4.1,3.6,2.1*34
+$GPGSV,3,1,12,03,01,011,00,07,03,153,00,08,49,094,31,10,13,208,32*7B
+$GPGSV,3,2,12,15,12,330,35,18,20,325,41,19,20,033,34,21,03,297,00*71
+$GPGSV,3,3,12,26,61,273,49,27,18,093,35,28,63,138,43,29,69,241,48*7F
+$PGRME,23.1,M,26.0,M,34.8,M*15
+$GPGLL,6130.445,N,02349.325,E,130529,A*2F
+$PGRMZ,353,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,W,T023*33
+$GPRMC,130530,A,6130.444,N,02349.322,E,014.2,276.5,110805,006.0,E*77
+$GPRMB,A,1.55,L,T013,T012,6129.236,N,02346.327,E,001.9,229.8,009.7,V*3F
+$GPGGA,130530,6130.444,N,02349.320,E,1,07,2.7,107.4,M,20.7,M,,*4E
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.7,2.7,1.0*3E
+$GPGSV,3,1,12,03,01,011,00,07,03,153,00,08,49,094,30,10,13,208,32*7A
+$GPGSV,3,2,12,15,12,330,36,18,20,325,41,19,20,033,35,21,03,297,00*73
+$GPGSV,3,3,12,26,61,273,49,27,18,093,35,28,63,138,43,29,69,241,48*7F
+$PGRME,8.4,M,11.4,M,14.2,M*21
+$GPGLL,6130.444,N,02349.316,E,130530,A*26
+$PGRMZ,352,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02555.500,E,T022*26
+$GPRMC,130531,A,6130.444,N,02349.312,E,013.5,275.6,110805,006.0,E*75
+$GPRMB,A,1.55,L,T013,T012,6129.236,N,02346.327,E,001.9,229.7,009.4,V*33
+$GPGGA,130531,6130.444,N,02349.311,E,1,08,2.9,107.2,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.2,2.9,1.5*31
+$GPGSV,3,1,12,03,01,011,00,07,03,153,00,08,49,094,30,10,13,208,31*79
+$GPGSV,3,2,12,15,12,330,36,18,20,325,42,19,20,033,35,21,03,297,00*70
+$GPGSV,3,3,12,26,61,273,49,27,18,093,36,28,63,138,44,29,69,241,48*7B
+$PGRME,11.8,M,14.9,M,19.0,M*12
+$GPGLL,6130.445,N,02349.307,E,130531,A*26
+$PGRMZ,354,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T021*23
+$GPRMC,130532,A,6130.445,N,02349.303,E,012.6,279.7,110805,006.0,E*78
+$GPRMB,A,1.55,L,T013,T012,6129.236,N,02346.327,E,001.9,229.6,008.1,V*36
+$GPGGA,130532,6130.445,N,02349.302,E,1,08,3.6,108.0,M,20.7,M,,*49
+$GPGSA,A,3,,,,,15,18,19,,26,27,28,29,4.4,3.6,2.5*35
+$GPGSV,3,1,12,03,01,011,00,07,03,153,00,08,49,094,30,10,13,208,30*78
+$GPGSV,3,2,12,15,12,330,35,18,20,325,41,19,20,033,38,21,03,297,00*7D
+$GPGSV,3,3,12,26,61,273,49,27,18,093,35,28,63,138,44,29,69,241,48*78
+$PGRME,12.8,M,17.1,M,21.4,M*15
+$GPGLL,6130.445,N,02349.297,E,130532,A*2D
+$PGRMZ,352,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6116.083,N,02452.500,E,T020*22
+$GPRMC,130533,A,6130.446,N,02349.297,E,007.4,308.1,110805,006.0,E*71
+$GPRMB,A,1.55,L,T013,T012,6129.236,N,02346.327,E,001.9,229.5,001.5,V*38
+$GPGGA,130533,6130.446,N,02349.297,E,1,07,2.1,108.1,M,20.7,M,,*4E
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.6,2.1,3.0*3A
+$GPGSV,3,1,12,03,01,011,00,07,03,153,37,08,49,094,38,10,13,208,30*74
+$GPGSV,3,2,12,15,12,330,34,18,20,325,40,19,20,033,42,21,03,297,00*70
+$GPGSV,3,3,12,26,61,273,36,27,18,093,35,28,63,138,44,29,69,241,46*7E
+$PGRME,8.2,M,11.6,M,14.2,M*25
+$GPGLL,6130.447,N,02349.295,E,130534,A*2B
+$PGRMZ,355,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,S,02452.500,E,T019*34
+$GPRMC,130534,A,6130.447,N,02349.291,E,009.5,302.6,110805,006.0,E*73
+$GPRMB,A,1.55,L,T013,T012,6129.236,N,02346.327,E,001.9,229.5,002.8,V*36
+$GPGGA,130534,6130.448,N,02349.290,E,1,08,3.4,107.8,M,20.7,M,,*4D
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,6.6,3.4,5.7*3A
+$GPGSV,3,1,12,03,01,011,00,07,04,152,36,08,49,094,39,10,13,208,30*72
+$GPGSV,3,2,12,15,12,330,33,18,20,325,41,19,20,033,42,21,03,297,00*76
+$GPGSV,3,3,12,26,61,273,41,27,18,093,34,28,63,138,43,29,69,241,47*79
+$PGRME,14.2,M,23.8,M,27.8,M*1D
+$GPGLL,6130.449,N,02349.287,E,130535,A*27
+$PGRMZ,349,f,3*15
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,N,02452.500,E,T018*28
+$GPRMC,130535,A,6130.449,N,02349.284,E,011.0,302.4,110805,006.0,E*76
+$GPRMB,A,1.55,L,T013,T012,6129.236,N,02346.327,E,001.9,229.3,003.2,V*3B
+$GPGGA,130536,6130.449,N,02349.282,E,1,08,3.6,106.3,M,20.7,M,,*45
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,7.0,3.6,6.0*3B
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,49,094,38,10,13,208,30*76
+$GPGSV,3,2,12,15,12,330,35,18,20,325,41,19,20,033,41,21,03,297,00*73
+$GPGSV,3,3,12,26,61,273,44,27,18,093,36,28,63,138,42,29,69,241,48*70
+$PGRME,8.4,M,11.4,M,14.2,M*21
+$GPGLL,6130.451,N,02349.278,E,130536,A*2D
+$PGRMZ,350,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6013.283,N,02456.650,E,T017*22
+$GPRMC,130536,A,6130.452,N,02349.275,E,013.0,306.4,110805,006.0,E*77
+$GPRMB,A,1.55,L,T013,T012,6129.236,N,02346.327,E,001.9,229.2,002.9,V*30
+$GPGGA,130536,6130.453,N,02349.274,E,1,08,2.1,106.6,M,20.7,M,,*44
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.6,2.1,2.9*32
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,49,094,38,10,13,208,30*76
+$GPGSV,3,2,12,15,12,330,37,18,20,325,40,19,20,033,40,21,03,297,00*71
+$GPGSV,3,3,12,26,61,273,46,27,18,093,37,28,63,138,42,29,69,241,48*73
+$PGRME,8.4,M,11.4,M,14.2,M*21
+$GPGLL,6130.454,N,02349.270,E,130538,A*2E
+$PGRMZ,350,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T016*21
+$GPRMC,130538,A,6130.455,N,02349.267,E,013.0,306.4,110805,006.0,E*7D
+$GPRMB,A,1.55,L,T013,T012,6129.236,N,02346.327,E,001.9,229.0,002.9,V*32
+$GPGGA,130538,6130.455,N,02349.266,E,1,08,2.6,106.6,M,20.7,M,,*48
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,4.4,2.6,3.6*3E
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,38,10,13,208,30*77
+$GPGSV,3,2,12,15,12,330,36,18,20,325,40,19,20,033,39,21,03,297,00*7E
+$GPGSV,3,3,12,26,61,273,46,27,18,093,36,28,63,138,43,29,69,241,48*73
+$PGRME,10.3,M,14.1,M,17.5,M*1B
+$GPGLL,6130.457,N,02349.264,E,130538,A*28
+$PGRMZ,349,f,3*15
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0000.000,N,00000.000,W,T015*39
+$GPRMC,130538,A,6130.459,N,02349.261,E,012.6,317.4,110805,006.0,E*70
+$GPRMB,A,1.55,L,T013,T012,6129.236,N,02346.327,E,001.9,228.9,000.3,V*32
+$GPGGA,130540,6130.459,N,02349.260,E,1,08,2.6,106.3,M,20.7,M,,*48
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,4.4,2.6,3.6*3E
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,37,10,13,208,30*78
+$GPGSV,3,2,12,15,12,330,37,18,20,325,39,19,20,033,38,21,03,297,00*70
+$GPGSV,3,3,12,26,61,273,46,27,18,093,36,28,63,138,43,29,69,241,48*73
+$PGRME,14.8,M,19.3,M,24.4,M*1A
+$GPGLL,6130.462,N,02349.260,E,130540,A*25
+$PGRMZ,357,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0009.000,N,02430.650,E,T014*25
+$GPRMC,130541,A,6130.464,N,02349.259,E,012.4,333.3,110805,006.0,E*78
+$GPRMB,A,1.56,L,T013,T012,6129.236,N,02346.327,E,001.9,228.7,-003.1,V*13
+$GPGGA,130541,6130.465,N,02349.258,E,1,08,4.8,110.1,M,20.7,M,,*40
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,7.8,4.8,6.1*3B
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,35,10,13,208,30*7A
+$GPGSV,3,2,12,15,12,330,37,18,20,325,41,19,20,033,37,21,03,297,00*70
+$GPGSV,3,3,12,26,61,273,47,27,18,093,35,28,63,138,41,29,69,241,47*7C
+$PGRME,14.8,M,19.3,M,24.4,M*1A
+$GPGLL,6130.467,N,02349.256,E,130542,A*27
+$PGRMZ,361,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.285,N,02430.651,E,T013*23
+$GPRMC,130542,A,6130.469,N,02349.254,E,013.1,333.8,110805,006.0,E*74
+$GPRMB,A,1.56,L,T013,T012,6129.236,N,02346.327,E,001.9,228.6,-003.1,V*12
+$GPGGA,130542,6130.469,N,02349.253,E,1,08,5.3,110.2,M,20.7,M,,*4D
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,8.0,5.3,1.0*30
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,35,10,13,208,30*7A
+$GPGSV,3,2,12,15,12,330,37,18,20,325,41,19,20,033,36,21,03,297,00*71
+$GPGSV,3,3,12,26,61,273,47,27,18,093,34,28,63,138,41,29,69,241,46*7C
+$PGRME,17.3,M,16.6,M,26.0,M*1E
+$GPGLL,6130.471,N,02349.251,E,130542,A*27
+$PGRMZ,362,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.236,N,02346.327,E,T012*22
+$GPRMC,130544,A,6130.473,N,02349.250,E,013.1,333.8,110805,006.0,E*7D
+$GPRMB,A,1.57,L,T013,T012,6129.236,N,02346.327,E,001.9,228.5,-003.4,V*15
+$GPGGA,130544,6130.473,N,02349.249,E,1,08,5.3,110.2,M,20.7,M,,*4B
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,8.0,5.3,1.0*30
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,35,10,13,208,30*7A
+$GPGSV,3,2,12,15,12,330,36,18,20,325,40,19,20,033,36,21,03,297,00*71
+$GPGSV,3,3,12,26,61,273,46,27,18,093,34,28,63,138,41,29,69,241,47*7C
+$PGRME,16.4,M,16.6,M,16.4,M*1F
+$GPGLL,6130.475,N,02349.247,E,130544,A*22
+$PGRMZ,362,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6114.236,N,02346.327,E,T011*2F
+$GPRMC,130544,A,6130.477,N,02349.246,E,013.5,337.1,110805,006.0,E*77
+$GPRMB,A,1.57,L,T013,T012,6129.236,N,02346.327,E,001.9,228.3,-004.3,V*13
+$GPGGA,130544,6130.478,N,02349.245,E,1,08,4.0,110.2,M,20.7,M,,*4E
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,4.0,4.0,1.0*3E
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,34,10,13,208,30*7B
+$GPGSV,3,2,12,15,12,330,35,18,20,325,39,19,20,033,35,21,03,297,00*7F
+$GPGSV,3,3,12,26,61,273,46,27,18,093,33,28,63,138,39,29,69,241,46*75
+$PGRME,16.4,M,16.6,M,16.4,M*1F
+$GPGLL,6130.480,N,02349.244,E,130546,A*29
+$PGRMZ,362,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6220.236,N,02346.327,E,T010*2A
+$GPRMC,130546,A,6130.482,N,02349.242,E,013.5,337.1,110805,006.0,E*7B
+$GPRMB,A,1.57,L,T013,T012,6129.236,N,02346.327,E,001.9,228.2,-004.3,V*12
+$GPGGA,130546,6130.483,N,02349.242,E,1,08,4.0,110.2,M,20.7,M,,*4F
+$GPGSA,A,3,,,08,,15,18,,,26,,28,29,4.0,4.0,1.0*33
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,34,10,12,208,30*7A
+$GPGSV,3,2,12,15,12,330,34,18,20,325,39,19,20,033,39,21,03,297,00*72
+$GPGSV,3,3,12,26,61,273,45,27,18,093,33,28,63,138,38,29,69,241,46*77
+$PGRME,16.4,M,16.6,M,16.4,M*1F
+$GPGLL,6130.485,N,02349.240,E,130546,A*28
+$PGRMZ,362,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6120.236,N,02346.327,E,T009*21
+$GPRMC,130548,A,6130.486,N,02349.238,E,013.5,337.1,110805,006.0,E*7C
+$GPRMB,A,1.58,L,T013,T012,6129.236,N,02346.327,E,001.9,228.0,-004.3,V*1F
+$GPGGA,130548,6130.486,N,02349.238,E,1,06,4.2,109.4,M,20.7,M,,*4B
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,4.7,4.2,1.8*36
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,33,10,12,208,31*7C
+$GPGSV,3,2,12,15,12,330,34,18,20,325,38,19,20,033,40,21,03,297,00*7D
+$GPGSV,3,3,12,26,61,273,46,27,18,093,32,28,63,138,38,29,69,241,46*75
+$PGRME,16.9,M,18.7,M,19.1,M*17
+$GPGLL,6130.488,N,02349.236,E,130548,A*2A
+$PGRMZ,359,f,3*14
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.234,N,02346.317,E,T008*28
+$GPRMC,130549,A,6130.490,N,02349.235,E,012.3,337.8,110805,006.0,E*79
+$GPRMB,A,1.58,L,T013,T012,6129.236,N,02346.327,E,001.9,227.9,-004.2,V*18
+$GPGGA,130549,6130.490,N,02349.235,E,1,07,5.3,107.8,M,20.7,M,,*43
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,7.7,5.3,4.7*3F
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,37,10,12,208,31*78
+$GPGSV,3,2,12,15,12,330,33,18,20,325,37,19,20,033,38,21,03,297,00*7A
+$GPGSV,3,3,12,26,61,273,45,27,18,093,35,28,63,138,43,29,69,241,45*7E
+$PGRME,19.3,M,15.4,M,24.7,M*14
+$GPGLL,6130.492,N,02349.234,E,130550,A*2A
+$PGRMZ,355,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6157.564,N,02406.158,E,T007*26
+$GPRMC,130551,A,6130.493,N,02349.233,E,011.4,341.2,110805,006.0,E*7A
+$GPRMB,A,1.58,L,T013,T012,6129.236,N,02346.327,E,001.9,227.8,-004.5,V*1E
+$GPGGA,130551,6130.494,N,02349.233,E,1,07,4.8,108.3,M,20.7,M,,*46
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,6.2,4.8,3.9*3D
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,38,10,12,208,31*77
+$GPGSV,3,2,12,15,12,330,33,18,20,325,36,19,20,033,37,21,03,297,00*74
+$GPGSV,3,3,12,26,61,273,45,27,18,093,37,28,63,138,43,29,69,241,45*7C
+$PGRME,19.3,M,15.4,M,24.7,M*14
+$GPGLL,6130.493,N,02349.241,E,130551,A*28
+$PGRMZ,357,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6145.919,N,02345.544,E,T006*2B
+$GPRMC,130552,A,6130.493,N,02349.242,E,007.0,038.3,110805,006.0,E*70
+$GPRMB,A,1.58,L,T013,T012,6129.236,N,02346.327,E,001.9,227.9,-006.9,V*11
+$GPGGA,130552,6130.493,N,02349.243,E,1,08,4.8,109.2,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,6.2,4.8,3.9*3D
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,38,10,12,208,31*77
+$GPGSV,3,2,12,15,12,330,33,18,20,325,35,19,20,033,37,21,03,297,00*77
+$GPGSV,3,3,12,26,61,273,44,27,18,093,38,28,63,138,44,29,69,241,45*75
+$PGRME,19.3,M,15.4,M,24.7,M*14
+$GPGLL,6130.494,N,02349.245,E,130553,A*29
+$PGRMZ,358,f,3*15
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6130.198,N,02342.702,E,T005*2C
+$GPRMC,130553,A,6130.493,N,02349.248,E,006.0,074.5,110805,006.0,E*74
+$GPRMB,A,1.59,L,T013,T012,6129.236,N,02346.327,E,001.9,227.9,-006.4,V*1D
+$GPGGA,130553,6130.494,N,02349.249,E,1,08,5.1,109.2,M,20.7,M,,*4E
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,6.3,5.1,1.0*3B
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,42,10,12,208,31*7A
+$GPGSV,3,2,12,15,12,330,32,18,20,325,34,19,20,033,35,21,03,297,00*75
+$GPGSV,3,3,12,26,61,273,43,27,18,093,37,28,63,138,43,29,69,241,43*7C
+$PGRME,16.4,M,15.5,M,16.4,M*1F
+$GPGLL,6130.494,N,02349.251,E,130554,A*2B
+$PGRMZ,358,f,3*15
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6216.183,N,02619.685,E,T004*25
+$GPRMC,130554,A,6130.494,N,02349.252,E,006.0,074.5,110805,006.0,E*7F
+$GPRMB,A,1.59,L,T013,T012,6129.236,N,02346.327,E,001.9,228.0,-005.4,V*18
+$GPGGA,130554,6130.494,N,02349.253,E,1,07,4.1,109.3,M,20.7,M,,*4D
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,4.1,4.1,1.0*3A
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,43,10,12,208,30*7A
+$GPGSV,3,2,12,15,12,330,32,18,20,325,34,19,20,033,35,21,03,297,00*75
+$GPGSV,3,3,12,26,61,273,42,27,18,093,36,28,63,138,45,29,69,241,43*7A
+$PGRME,18.3,M,19.2,M,21.1,M*1C
+$GPGLL,6130.493,N,02349.255,E,130554,A*28
+$PGRMZ,365,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6215.064,N,02603.837,E,T003*25
+$GPRMC,130554,A,6130.493,N,02349.257,E,005.5,089.1,110805,006.0,E*7D
+$GPRMB,A,1.59,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,-004.2,V*1E
+$GPGGA,130556,6130.493,N,02349.258,E,1,07,4.1,111.1,M,20.7,M,,*48
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,4.1,4.1,1.0*3A
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,44,10,12,208,30*7D
+$GPGSV,3,2,12,15,12,330,31,18,20,325,33,19,20,033,34,21,03,297,00*70
+$GPGSV,3,3,12,26,61,273,42,27,18,093,35,28,63,138,45,29,69,241,44*7E
+$PGRME,18.3,M,19.2,M,21.1,M*1C
+$GPGLL,6130.491,N,02349.257,E,130556,A*2A
+$PGRMZ,365,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6151.098,N,02510.924,E,T002*26
+$GPRMC,130556,A,6130.491,N,02349.258,E,004.5,123.5,110805,006.0,E*76
+$GPRMB,A,1.58,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,-001.1,V*19
+$GPGGA,130556,6130.491,N,02349.258,E,1,07,4.2,111.1,M,20.7,M,,*49
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,4.2,4.2,1.0*3A
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,44,10,12,208,30*7D
+$GPGSV,3,2,12,15,12,330,31,18,20,325,33,19,20,033,34,21,03,297,00*70
+$GPGSV,3,3,12,26,61,273,44,27,18,093,35,28,63,138,45,29,69,241,44*78
+$PGRME,16.5,M,16.6,M,16.5,M*1F
+$GPGLL,6130.490,N,02349.255,E,130558,A*27
+$PGRMZ,365,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.271,N,02346.376,E,T001*27
+$GPRMC,130558,A,6130.490,N,02349.255,E,002.4,167.8,110805,006.0,E*7E
+$GPRMB,A,1.58,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,001.2,V*37
+$GPGGA,130558,6130.490,N,02349.255,E,1,07,4.2,111.2,M,20.7,M,,*48
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,4.2,4.2,1.0*3A
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,46,10,12,208,30*7F
+$GPGSV,3,2,12,15,12,330,31,18,20,325,33,19,20,033,33,21,03,297,00*77
+$GPGSV,3,3,12,26,61,273,46,27,18,093,33,28,63,138,48,29,69,241,43*76
+$PGRME,16.5,M,16.6,M,16.5,M*1F
+$GPGLL,6130.490,N,02349.255,E,130559,A*26
+$PGRMZ,365,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPRTE,4,1,c,0,T030,T029,T028,T027,T026,T025,T024,T023,T022*49
+$GPRTE,4,2,c,0,T021,T020,T019,T018,T017,T016,T015,T014,T013*4B
+$GPRTE,4,3,c,0,T012,T011,T010,T009,T008,T007,T006,T005,T004*4B
+$GPRTE,4,4,c,0,T003,T002,T001*4F
+$GPWPL,6016.083,N,02452.500,E,T030*22
+$GPRMC,130600,A,6130.490,N,02349.255,E,000.0,167.8,110805,006.0,E*76
+$GPRMB,A,1.58,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1A
+$GPGGA,130600,6130.490,N,02349.255,E,1,07,4.1,111.2,M,20.7,M,,*45
+$GPGSA,A,3,,,08,,,18,,,26,27,28,29,4.1,4.1,1.0*32
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,46,10,12,208,30*7F
+$GPGSV,3,2,12,15,12,330,31,18,20,325,32,19,20,033,33,21,03,297,00*76
+$GPGSV,3,3,12,26,61,273,47,27,18,093,32,28,63,138,49,29,69,241,43*77
+$PGRME,16.5,M,16.6,M,16.5,M*1F
+$GPGLL,6130.490,N,02349.256,E,130601,A*2B
+$PGRMZ,365,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T029*2D
+$GPRMC,130601,A,6130.490,N,02349.256,E,000.0,167.8,110805,006.0,E*74
+$GPRMB,A,1.58,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1A
+$GPGGA,130601,6130.490,N,02349.256,E,1,06,4.1,111.2,M,20.7,M,,*46
+$GPGSA,A,3,,,08,,,18,,,26,,28,29,4.1,4.1,1.0*37
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,47,10,12,208,30*7E
+$GPGSV,3,2,12,15,12,330,31,18,20,325,32,19,20,033,32,21,03,297,00*77
+$GPGSV,3,3,12,26,61,273,48,27,18,093,30,28,63,138,50,29,69,241,43*72
+$PGRME,16.5,M,16.6,M,16.5,M*1F
+$GPGLL,6130.490,N,02349.256,E,130602,A*28
+$PGRMZ,365,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6023.283,N,02430.650,E,T028*2D
+$GPRMC,130603,A,6130.490,N,02349.256,E,000.0,167.8,110805,006.0,E*76
+$GPRMB,A,1.58,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1A
+$GPGGA,130603,6130.490,N,02349.256,E,1,05,4.1,111.2,M,20.7,M,,*47
+$GPGSA,A,3,,,08,,,18,,,26,,28,29,4.1,4.1,1.0*37
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,47,10,12,208,30*7E
+$GPGSV,3,2,12,15,12,330,31,18,20,325,32,19,20,033,32,21,03,297,00*77
+$GPGSV,3,3,12,26,61,273,48,27,18,093,30,28,63,138,50,29,69,241,42*73
+$PGRME,18.4,M,20.3,M,21.2,M*13
+$GPGLL,6130.491,N,02349.257,E,130604,A*2E
+$PGRMZ,371,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T027*23
+$GPRMC,130604,A,6130.491,N,02349.258,E,000.0,167.8,110805,006.0,E*7E
+$GPRMB,A,1.58,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1A
+$GPGGA,130604,6130.491,N,02349.258,E,1,05,1.8,115.1,M,20.7,M,,*44
+$GPGSA,A,3,,,08,,,18,,,26,,28,29,1.8,1.8,1.0*37
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,47,10,12,208,30*7E
+$GPGSV,3,2,12,15,12,330,31,18,20,325,33,19,20,033,32,21,03,297,00*76
+$GPGSV,3,3,12,26,61,273,48,27,18,093,30,28,63,138,50,29,69,241,42*73
+$PGRME,18.4,M,20.3,M,21.2,M*13
+$GPGLL,6130.491,N,02349.258,E,130605,A*20
+$PGRMZ,378,f,3*17
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T026*24
+$GPRMC,130605,A,6130.492,N,02349.258,E,000.0,167.8,110805,006.0,E*7C
+$GPRMB,A,1.58,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1A
+$GPGGA,130605,6130.492,N,02349.258,E,1,05,1.8,117.2,M,20.7,M,,*47
+$GPGSA,A,3,,,08,,,18,,,26,,28,29,1.8,1.8,1.0*37
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,47,10,12,208,30*7E
+$GPGSV,3,2,12,15,12,330,31,18,20,325,33,19,20,033,31,21,03,297,00*75
+$GPGSV,3,3,12,26,61,273,48,27,18,093,30,28,63,138,50,29,69,241,42*73
+$PGRME,18.4,M,20.3,M,21.2,M*13
+$GPGLL,6130.492,N,02349.259,E,130606,A*21
+$PGRMZ,391,f,3*10
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,S,02453.500,E,T025*3B
+$GPRMC,130606,A,6130.492,N,02349.259,E,000.0,167.8,110805,006.0,E*7E
+$GPRMB,A,1.59,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1B
+$GPGGA,130607,6130.492,N,02349.259,E,1,05,1.8,119.2,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,,18,,,26,,28,29,1.8,1.8,1.0*37
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,47,10,12,208,30*7E
+$GPGSV,3,2,12,15,12,329,31,18,20,325,33,19,20,033,31,21,03,297,00*7D
+$GPGSV,3,3,12,26,61,273,48,27,18,093,30,28,63,138,50,29,69,241,42*73
+$PGRME,18.4,M,20.3,M,21.2,M*13
+$GPGLL,6130.492,N,02349.259,E,130607,A*20
+$PGRMZ,397,f,3*16
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6018.083,N,02453.500,E,T024*28
+$GPRMC,130608,A,6130.493,N,02349.260,E,000.0,167.8,110805,006.0,E*7B
+$GPRMB,A,1.59,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1B
+$GPGGA,130608,6130.493,N,02349.260,E,1,05,1.8,122.5,M,20.7,M,,*41
+$GPGSA,A,3,,,08,,,18,,,26,,28,29,1.8,1.8,1.0*37
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,48,10,12,208,30*71
+$GPGSV,3,2,12,15,12,329,31,18,20,325,33,19,20,033,00,21,03,297,00*7F
+$GPGSV,3,3,12,26,61,273,47,27,18,093,30,28,63,138,50,29,69,241,42*7C
+$PGRME,18.4,M,20.3,M,21.2,M*13
+$GPGLL,6130.493,N,02349.260,E,130609,A*25
+$PGRMZ,402,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,W,T023*33
+$GPRMC,130609,A,6130.493,N,02349.261,E,000.0,167.8,110805,006.0,E*7B
+$GPRMB,A,1.59,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1B
+$GPGGA,130609,6130.493,N,02349.261,E,1,05,1.8,124.3,M,20.7,M,,*41
+$GPGSA,A,3,,,08,,,18,,,26,,28,29,1.8,1.8,1.0*37
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,48,10,12,208,30*71
+$GPGSV,3,2,12,15,12,329,31,18,20,325,34,19,20,033,00,21,03,297,00*78
+$GPGSV,3,3,12,26,61,273,47,27,18,093,30,28,63,138,50,29,69,241,42*7C
+$PGRME,18.4,M,20.3,M,21.2,M*13
+$GPGLL,6130.493,N,02349.261,E,130610,A*2C
+$PGRMZ,413,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02555.500,E,T022*26
+$GPRMC,130610,A,6130.493,N,02349.261,E,000.0,167.8,110805,006.0,E*73
+$GPRMB,A,1.59,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1B
+$GPGGA,130611,6130.493,N,02349.261,E,1,05,2.0,126.0,M,20.7,M,,*42
+$GPGSA,A,3,,,08,,,18,,,26,,28,29,2.0,2.0,1.0*37
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,47,10,12,208,30*7E
+$GPGSV,3,2,12,15,12,329,31,18,20,325,34,19,20,033,00,21,03,297,00*78
+$GPGSV,3,3,12,26,61,273,46,27,18,093,30,28,63,138,49,29,69,241,42*75
+$PGRME,18.4,M,20.3,M,21.2,M*13
+$GPGLL,6130.494,N,02349.262,E,130611,A*29
+$PGRMZ,418,f,3*16
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T021*23
+$GPRMC,130612,A,6130.494,N,02349.262,E,000.0,167.8,110805,006.0,E*75
+$GPRMB,A,1.59,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1B
+$GPGGA,130612,6130.494,N,02349.262,E,1,05,2.3,127.4,M,20.7,M,,*43
+$GPGSA,A,3,,,08,,,18,,,26,,28,29,2.3,2.3,1.0*37
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,48,10,12,208,30*71
+$GPGSV,3,2,12,15,12,329,30,18,20,325,34,19,20,033,00,21,03,297,00*79
+$GPGSV,3,3,12,26,61,273,46,27,18,093,30,28,63,138,49,29,69,241,41*76
+$PGRME,13.9,M,15.3,M,20.7,M*17
+$GPGLL,6130.494,N,02349.262,E,130613,A*2B
+$PGRMZ,425,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6116.083,N,02452.500,E,T020*22
+$GPRMC,130613,A,6130.495,N,02349.263,E,000.0,167.8,110805,006.0,E*74
+$GPRMB,A,1.59,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1B
+$GPGGA,130613,6130.495,N,02349.263,E,1,05,1.8,131.3,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,,18,,,26,27,28,29,1.8,1.8,1.0*32
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,48,10,12,208,30*71
+$GPGSV,3,2,12,15,12,329,30,18,20,325,34,19,20,033,00,21,03,297,00*79
+$GPGSV,3,3,12,26,61,273,46,27,18,093,30,28,63,138,49,29,69,241,41*76
+$PGRME,13.9,M,15.3,M,20.7,M*17
+$GPGLL,6130.495,N,02349.263,E,130614,A*2C
+$PGRMZ,435,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,S,02452.500,E,T019*34
+$GPRMC,130614,A,6130.495,N,02349.263,E,000.0,167.8,110805,006.0,E*73
+$GPRMB,A,1.59,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1B
+$GPGGA,130615,6130.495,N,02349.263,E,1,06,2.0,132.5,M,20.7,M,,*41
+$GPGSA,A,3,,,08,,,18,,,26,27,28,29,2.0,2.0,1.0*32
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,48,10,12,208,30*71
+$GPGSV,3,2,12,15,12,329,00,18,20,325,33,19,20,033,00,21,03,297,00*7D
+$GPGSV,3,3,12,26,61,273,47,27,18,093,30,28,63,138,50,29,69,241,42*7C
+$PGRME,16.1,M,19.2,M,25.1,M*14
+$GPGLL,6130.495,N,02349.263,E,130615,A*2D
+$PGRMZ,438,f,3*14
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,N,02452.500,E,T018*28
+$GPRMC,130616,A,6130.495,N,02349.263,E,000.0,167.8,110805,006.0,E*71
+$GPRMB,A,1.59,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1B
+$GPGGA,130616,6130.495,N,02349.263,E,1,06,2.0,133.6,M,20.7,M,,*40
+$GPGSA,A,3,,,08,,,18,,,26,27,28,29,2.0,2.0,1.0*32
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,48,10,12,208,30*71
+$GPGSV,3,2,12,15,12,329,00,18,20,325,33,19,20,033,00,21,03,297,00*7D
+$GPGSV,3,3,12,26,61,273,47,27,18,093,30,28,63,138,49,29,69,241,42*74
+$PGRME,16.1,M,19.2,M,25.1,M*14
+$GPGLL,6130.495,N,02349.264,E,130616,A*29
+$PGRMZ,442,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6013.283,N,02456.650,E,T017*22
+$GPRMC,130617,A,6130.495,N,02349.264,E,000.0,167.8,110805,006.0,E*77
+$GPRMB,A,1.59,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1B
+$GPGGA,130617,6130.495,N,02349.264,E,1,06,2.0,135.5,M,20.7,M,,*43
+$GPGSA,A,3,,,08,,,18,,,26,27,28,29,2.0,2.0,1.0*32
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,48,10,12,208,30*71
+$GPGSV,3,2,12,15,12,329,00,18,20,325,33,19,20,033,00,21,03,297,00*7D
+$GPGSV,3,3,12,26,61,273,48,27,18,093,30,28,63,138,49,29,69,241,42*7B
+$PGRME,16.1,M,19.2,M,25.1,M*14
+$GPGLL,6130.495,N,02349.264,E,130618,A*27
+$PGRMZ,445,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T016*21
+$GPRMC,130618,A,6130.495,N,02349.264,E,000.0,167.8,110805,006.0,E*78
+$GPRMB,A,1.59,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1B
+$GPGGA,130619,6130.495,N,02349.264,E,1,06,2.0,136.4,M,20.7,M,,*4F
+$GPGSA,A,3,,,08,,,18,,,26,27,28,29,2.0,2.0,1.0*32
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,47,10,12,208,30*7E
+$GPGSV,3,2,12,15,12,329,00,18,20,325,34,19,20,033,00,21,03,297,00*7A
+$GPGSV,3,3,12,26,61,273,48,27,18,093,30,28,63,138,49,29,69,241,43*7A
+$PGRME,16.1,M,19.2,M,25.1,M*14
+$GPGLL,6130.496,N,02349.265,E,130619,A*24
+$PGRMZ,451,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0000.000,N,00000.000,W,T015*39
+$GPRMC,130620,A,6130.496,N,02349.265,E,000.0,167.8,110805,006.0,E*71
+$GPRMB,A,1.59,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1B
+$GPGGA,130620,6130.496,N,02349.265,E,1,06,2.0,137.3,M,20.7,M,,*41
+$GPGSA,A,3,,,08,,,18,,,26,27,28,29,2.0,2.0,1.0*32
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,48,10,12,208,30*71
+$GPGSV,3,2,12,15,12,329,00,18,20,325,34,19,20,033,00,21,03,297,00*7A
+$GPGSV,3,3,12,26,61,273,48,27,18,093,30,28,63,138,50,29,69,241,43*72
+$PGRME,16.1,M,19.2,M,25.1,M*14
+$GPGLL,6130.496,N,02349.265,E,130620,A*2E
+$PGRMZ,454,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0009.000,N,02430.650,E,T014*25
+$GPRMC,130621,A,6130.496,N,02349.266,E,000.0,167.8,110805,006.0,E*73
+$GPRMB,A,1.59,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1B
+$GPGGA,130621,6130.496,N,02349.266,E,1,06,1.8,139.3,M,20.7,M,,*46
+$GPGSA,A,3,,,08,,,18,,,26,27,28,29,1.8,1.8,1.0*32
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,48,10,12,208,30*71
+$GPGSV,3,2,12,15,12,329,00,18,20,325,34,19,20,033,00,21,03,297,00*7A
+$GPGSV,3,3,12,26,61,273,49,27,18,093,30,28,63,138,50,29,69,241,44*74
+$PGRME,16.1,M,19.2,M,25.1,M*14
+$GPGLL,6130.496,N,02349.266,E,130622,A*2F
+$PGRMZ,457,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.285,N,02430.651,E,T013*23
+$GPRMC,130622,A,6130.496,N,02349.266,E,000.0,167.8,110805,006.0,E*70
+$GPRMB,A,1.59,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1B
+$GPGGA,130622,6130.496,N,02349.266,E,1,06,1.8,140.3,M,20.7,M,,*4B
+$GPGSA,A,3,,,08,,,18,,,26,27,28,29,1.8,1.8,1.0*32
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,48,10,12,208,30*71
+$GPGSV,3,2,12,15,12,329,00,18,20,325,35,19,20,033,00,21,03,297,00*7B
+$GPGSV,3,3,12,26,61,273,49,27,18,093,30,28,63,138,50,29,69,241,44*74
+$PGRME,16.1,M,19.2,M,25.1,M*14
+$GPGLL,6130.496,N,02349.266,E,130623,A*2E
+$PGRMZ,464,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.236,N,02346.327,E,T012*22
+$GPRMC,130623,A,6130.496,N,02349.266,E,000.0,167.8,110805,006.0,E*71
+$GPRMB,A,1.59,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1B
+$GPGGA,130624,6130.496,N,02349.266,E,1,06,1.8,141.5,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,,18,,,26,,28,29,1.8,1.8,1.0*37
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,48,10,12,208,30*71
+$GPGSV,3,2,12,15,12,329,00,18,20,325,35,19,20,032,00,21,03,297,00*7A
+$GPGSV,3,3,12,26,61,273,49,27,18,093,30,28,63,138,50,29,69,241,44*74
+$PGRME,18.2,M,22.8,M,29.2,M*14
+$GPGLL,6130.497,N,02349.267,E,130624,A*29
+$PGRMZ,468,f,3*11
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6114.236,N,02346.327,E,T011*2F
+$GPRMC,130625,A,6130.497,N,02349.267,E,000.0,167.8,110805,006.0,E*77
+$GPRMB,A,1.59,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1B
+$GPGGA,130625,6130.497,N,02349.267,E,1,05,2.0,142.7,M,20.7,M,,*42
+$GPGSA,A,3,,,08,,,18,,,26,,28,29,2.0,2.0,1.0*37
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,48,10,12,208,30*71
+$GPGSV,3,2,12,15,12,329,00,18,20,325,35,19,20,032,00,21,03,297,00*7A
+$GPGSV,3,3,12,26,61,273,49,27,18,093,30,28,63,138,50,29,69,241,44*74
+$PGRME,18.2,M,22.8,M,29.2,M*14
+$GPGLL,6130.497,N,02349.267,E,130625,A*28
+$PGRMZ,473,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6220.236,N,02346.327,E,T010*2A
+$GPRMC,130626,A,6130.497,N,02349.267,E,000.0,167.8,110805,006.0,E*74
+$GPRMB,A,1.59,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1B
+$GPGGA,130626,6130.497,N,02349.268,E,1,05,1.8,145.8,M,20.7,M,,*4D
Binary file locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/data/epossimulationpsy.RSC has changed
Binary file locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/data/epossimulationpsy.dll has changed
Binary file locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/data/simulationpsy_name.RSC has changed
--- a/locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/group/AdvancedTriggerSupervision.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/group/AdvancedTriggerSupervision.mmp	Tue Aug 31 15:37:04 2010 +0300
@@ -56,6 +56,7 @@
 LIBRARY         lbt.lib
 LIBRARY         lbs.lib
 LIBRARY         centralrepository.lib 
+LIBRARY         ProfileEngine.lib
 
 LANG            SC
 
--- a/locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/group/AdvancedTriggerSupervision.pkg	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/group/AdvancedTriggerSupervision.pkg	Tue Aug 31 15:37:04 2010 +0300
@@ -57,6 +57,14 @@
 "..\data\test1.nme"-"C:\system\data\test1.nme"
 "..\data\test2.nme"-"C:\system\data\test2.nme"
 "..\data\test3.nme"-"C:\system\data\test3.nme"
+
+
+; Sim PSY installation	
+"..\data\epossimulationpsy.dll"-"C:\sys\bin\epossimulationpsy.dll"
+"..\data\epossimulationpsy.RSC"-"C:\resource\plugins\epossimulationpsy.RSC"
+"..\data\default.nme"-"C:\resource\default.nme"
+"..\data\simulationpsy_name.RSC"-"C:\resource\simulationpsy_name.RSC"
+
 ; Embedded SIS 
 ; None
 
--- a/locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/inc/AdvancedTriggerSupervision.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/inc/AdvancedTriggerSupervision.h	Tue Aug 31 15:37:04 2010 +0300
@@ -28,6 +28,10 @@
 #include <StifTestModule.h>
 
 
+// Forward declaration
+class TCoordinate;
+class MProEngEngine;
+
 // CONSTANTS
 //const ?type ?constant_var = ?constant;
 
@@ -134,7 +138,23 @@
         */
         void Delete();
         void EnableSimPSYL();
-
+        
+        /**
+         * Gets current coordinate
+         */
+        void GetCurrentCoordinateL( TCoordinate& aCoordinate );
+        
+        /**
+         * Set the phone profile to offline mode
+         */
+        void SetProfileToOfflineL();
+        
+        /**
+         * Restore original profile
+         */
+        void RestoreProfileL();
+                
+            
         /**
         * Test methods are listed below. 
         */
@@ -179,11 +199,18 @@
 
     private:    // Data
         
-        // ?one_line_short_description_of_data
-        //?data_declaration;
+		/**
+		 * Pointer to profile engine
+		 * Own.
+		 */
+        MProEngEngine* iProEngine;
+        
+        /**
+         * Current profile id
+         */
+        TInt iCurrentProfile;
 
-        // Reserved pointer for future extension
-        //TAny* iReserved;
+
 
     public:     // Friend classes
         //?friend_class_declaration;
--- a/locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/inc/AsynOperationAO.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/inc/AsynOperationAO.h	Tue Aug 31 15:37:04 2010 +0300
@@ -50,12 +50,21 @@
         * Two-phased constructor.
         */
         static CTriggerFireObserver* NewL( RLbt& aLbt,TCoordinate& aCoordinate );
+        
+        
+        static CTriggerFireObserver* NewL();
 
         /**
         * Destructor.
         */
         ~CTriggerFireObserver();
         
+        /**
+         * Request for current position
+         */
+        void CurrentPositionL( TPositionInfo& aPositionInfo,
+                              CActiveSchedulerWait* aWait );
+
         
         void TriggerFiredL( const TLbtTriggerFireInfo& aFireInfo );
         
@@ -97,12 +106,17 @@
         * C++ default constructor.
         */
         CTriggerFireObserver( TCoordinate& aCoordinate );
+        
+        
+        CTriggerFireObserver();
 
         /**
         * By default Symbian 2nd phase constructor is private.
         */
         void ConstructL( RLbt& aLbt );
         
+        void ConstructL();
+        
     private:
     
         CLbtTriggerFiringEventNotifier* iNotifier;
@@ -112,8 +126,15 @@
         
         TLbtTriggerFireInfo iFireInfo;
         
-      
-       
+       /**
+        * Handle to positioner session
+        */
+        RPositionServer iPosServer;
+        
+        /**
+         * Handle to positioner subsession
+         */
+        RPositioner iPositioner;
 
     };
 
--- a/locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/src/AdvancedTriggerSupervision.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/src/AdvancedTriggerSupervision.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -21,6 +21,8 @@
 
 // INCLUDE FILES
 #include <Stiftestinterface.h>
+#include <ProEngFactory.h>
+#include <MProEngEngine.h>
 #include "AdvancedTriggerSupervision.h"
 #include <SettingServerClient.h>
 
@@ -131,7 +133,8 @@
                           CStifLogger::ETxt,
                           CStifLogger::EFile,
                           EFalse );
-
+    
+    iProEngine= ProEngFactory::NewEngineL();  
     }
 
 // -----------------------------------------------------------------------------
@@ -161,7 +164,8 @@
 
     // Delete logger
     delete iLog; 
-
+    delete iProEngine;
+    iProEngine = NULL;
     }
 
 // ========================== OTHER EXPORTED FUNCTIONS =========================
--- a/locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/src/AdvancedTriggerSupervisionBlocks.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/src/AdvancedTriggerSupervisionBlocks.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -75,6 +75,9 @@
 #include <EPos_CPosModuleIdList.h>
 #include <EPos_CPosModules.h>
 #include <EPos_CPosModuleUpdate.h> // CPosModuleUpdate
+
+#include <MProEngEngine.h>
+#include <Profile.hrh>
 // EXTERNAL DATA STRUCTURES
 //extern  ?external_data;
 
@@ -174,6 +177,48 @@
     CleanupStack::PopAndDestroy( idList );
 	CleanupStack::PopAndDestroy( db );
     }
+
+// -----------------------------------------------------------------------------
+// CAdvancedTriggerSupervision::GetCurrentCoordinateL
+// Returns current position
+// -----------------------------------------------------------------------------
+//
+void CAdvancedTriggerSupervision::GetCurrentCoordinateL( TCoordinate& aCoordinate )
+    {
+    CTriggerFireObserver* notifier= CTriggerFireObserver::NewL();
+    CleanupStack::PushL( notifier );
+    CActiveSchedulerWait* wait = new ( ELeave ) CActiveSchedulerWait;
+    CleanupStack::PushL( wait );
+    TPositionInfo positionInfo;
+    // Ownership of wait is transferred to notifier
+    notifier->CurrentPositionL( positionInfo,wait );
+    CleanupStack::Pop( wait );
+    wait->Start();
+    TPosition position;
+    positionInfo.GetPosition( position );
+    aCoordinate.SetCoordinate( position.Latitude(),position.Longitude(),position.Altitude() );
+    CleanupStack::Pop( notifier ); // notifier
+    delete notifier;
+    }
+
+// -----------------------------------------------------------------------------
+// CAdvancedTriggerSupervision::SetProfileToOfflineL
+// -----------------------------------------------------------------------------
+void CAdvancedTriggerSupervision::SetProfileToOfflineL()
+    {
+    // Store current profile id.
+    iCurrentProfile =  iProEngine->ActiveProfileId();
+    // Change the active profile to Off-line
+    iProEngine->SetActiveProfileL( EProfileOffLineId );
+    }
+// -----------------------------------------------------------------------------
+// CAdvancedTriggerSupervision::RestoreProfileL
+// -----------------------------------------------------------------------------
+void CAdvancedTriggerSupervision::RestoreProfileL()
+    {
+    iProEngine->SetActiveProfileL( iCurrentProfile );
+    }
+
 // -----------------------------------------------------------------------------
 // CAdvancedTriggerSupervision::RunMethodL
 // Run specified method. Contains also table of test mothods and their names.
@@ -246,6 +291,11 @@
  	 User::LeaveIfError( lbt.Open(lbtserver));
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt );
+ 	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+     
  	 //Enable only simpsy
      EnableSimPSYL();
      //Clear all triggers
@@ -280,10 +330,10 @@
 	trig->SetRequestorL(ReqType,ReqFormat,ReqData);
     	// set condition
 
-    	TCoordinate coordinate(62.5285,23.9385);
-   	// TCoordinate coordinate(62.4438,23.9385);
-        coordinate.Move(90,2000);
-   	CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,1000);
+    TCoordinate coordinate;
+    GetCurrentCoordinateL( coordinate );
+    coordinate.Move(90,200);
+   	CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,100);
     	CleanupStack::PushL( circle );
     
          
@@ -314,10 +364,12 @@
     	TReal32 trigDistance;
     	TPosition firePosition;
     	FireInfo = notifier->GetFiredTrigger();
+    	iLog->Log(_L("GFT"));
     	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
+    	iLog->Log(_L("GP"));
     	firePosition.Distance(coordinate,trigDistance);
-     
-    	if( trigDistance<=1000 && FireInfo.iTriggerId==trigId )
+    	RestoreProfileL();
+    	if( FireInfo.iTriggerId==trigId )
     	{
     
 	  	CleanupStack::PopAndDestroy( notifier );
@@ -364,6 +416,11 @@
  	 User::LeaveIfError( lbt.Open(lbtserver));
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt );
+ 	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+ 	 
  	 //Enable only simpsy
      EnableSimPSYL();
      //Clear all triggers
@@ -400,10 +457,10 @@
 	trig->SetRequestorL(ReqType,ReqFormat,ReqData);
     	// set condition
 
-    	TCoordinate coordinate(62.5285,23.9385);
-   	// TCoordinate coordinate(62.4438,23.9385);
-    coordinate.Move(90,510);
-   	CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,1000);
+    	TCoordinate coordinate;
+    	GetCurrentCoordinateL( coordinate );
+    coordinate.Move(90,110);
+   	CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,200);
     	CleanupStack::PushL( circle );
     
          
@@ -436,8 +493,8 @@
     	FireInfo = notifier->GetFiredTrigger();
     	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
     	firePosition.Distance(coordinate,trigDistance);
-     
-    	if( trigDistance<=1000 && FireInfo.iTriggerId==trigId)
+    	RestoreProfileL();
+    	if( FireInfo.iTriggerId==trigId)
     	{
     
 	  	CleanupStack::PopAndDestroy( notifier );
@@ -485,6 +542,11 @@
  	 User::LeaveIfError( lbt.Open(lbtserver));
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt );
+ 	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+ 	 
  	 //Enable only simpsy
      EnableSimPSYL();
      //Clear all triggers
@@ -521,10 +583,10 @@
 	trig->SetRequestorL(ReqType,ReqFormat,ReqData);
     	// set condition
 
-    	TCoordinate coordinate(62.5285,23.9385);
-   	// TCoordinate coordinate(62.4438,23.9385);
+    	TCoordinate coordinate;
+    	GetCurrentCoordinateL( coordinate );
     
-   	CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,1000);
+   	CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,100);
     	CleanupStack::PushL( circle );
     
          
@@ -557,8 +619,8 @@
     	FireInfo = notifier->GetFiredTrigger();
     	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
     	firePosition.Distance(coordinate,trigDistance);
-     
-    	if( trigDistance<=1000 && FireInfo.iTriggerId==trigId)
+    	RestoreProfileL();
+    	if( FireInfo.iTriggerId==trigId)
     	{
   
 	  	CleanupStack::PopAndDestroy( notifier );
@@ -605,6 +667,11 @@
  	 User::LeaveIfError( lbt.Open(lbtserver));
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt );
+ 	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+ 	 
  	 //Enable only simpsy
      EnableSimPSYL();
      //Clear all triggers
@@ -639,10 +706,10 @@
 	trig->SetRequestorL(ReqType,ReqFormat,ReqData);	
     	// set condition
 
-    	TCoordinate coordinate(62.5285,23.9385);
-   	// TCoordinate coordinate(62.4438,23.9385);
-    coordinate.Move(90,2000);
-   	CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,1000);
+    TCoordinate coordinate;
+    GetCurrentCoordinateL( coordinate );
+    coordinate.Move(90,200);
+   	CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,100);
     	CleanupStack::PushL( circle );
     
          
@@ -675,8 +742,8 @@
     	FireInfo = notifier->GetFiredTrigger();
     	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
     	firePosition.Distance(coordinate,trigDistance);
-     
-    	if( trigDistance>=1000 && FireInfo.iTriggerId==trigId)
+    	RestoreProfileL();
+    	if( FireInfo.iTriggerId==trigId)
     	{
    
 	  	CleanupStack::PopAndDestroy( notifier );
@@ -724,6 +791,11 @@
  	 User::LeaveIfError( lbt.Open(lbtserver));
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt );
+ 	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+ 	 
  	 //Enable only simpsy
      EnableSimPSYL();
      //Clear all triggers
@@ -760,10 +832,10 @@
 	trig->SetRequestorL(ReqType,ReqFormat,ReqData);
     	// set condition
 
-    	TCoordinate coordinate(62.5285,23.9385);
-   	// TCoordinate coordinate(62.4438,23.9385);
-    coordinate.Move(90,1010);
-   	CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,1000);
+    TCoordinate coordinate;
+    GetCurrentCoordinateL( coordinate );
+    coordinate.Move(90,110);
+   	CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,100);
     	CleanupStack::PushL( circle );
     
          
@@ -796,8 +868,9 @@
     	FireInfo = notifier->GetFiredTrigger();
     	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
     	firePosition.Distance(coordinate,trigDistance);
-     
-    	if( trigDistance>=1000 && FireInfo.iTriggerId==trigId)
+    	
+    	RestoreProfileL();
+    	if(  FireInfo.iTriggerId==trigId)
     	{
    
 	  	CleanupStack::PopAndDestroy( notifier );
@@ -845,6 +918,11 @@
  	 User::LeaveIfError( lbt.Open(lbtserver));
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt );
+ 	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+ 	 
  	 //Enable only simpsy
      EnableSimPSYL();
      //Clear all triggers
@@ -881,10 +959,10 @@
 	trig->SetRequestorL(ReqType,ReqFormat,ReqData);
     	// set condition
 
-    	TCoordinate coordinate(62.5285,23.9385);
-   	// TCoordinate coordinate(62.4438,23.9385);
+    TCoordinate coordinate;
+    GetCurrentCoordinateL( coordinate );
     
-   	CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,1000);
+   	CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,100);
     	CleanupStack::PushL( circle );
     
          
@@ -917,8 +995,9 @@
     	FireInfo = notifier->GetFiredTrigger();
     	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
     	firePosition.Distance(coordinate,trigDistance);
-     
-    	if( trigDistance>=1000 && FireInfo.iTriggerId==trigId)
+    	
+    	RestoreProfileL();
+    	if( FireInfo.iTriggerId==trigId)
     	{
   
 	  	CleanupStack::PopAndDestroy( notifier );
@@ -953,117 +1032,122 @@
 TInt CAdvancedTriggerSupervision::ATSTest7L( CStifItemParser& aItem )
     {
 
-    	iLog->Log(_L("Entering Test1"));
-      _LIT( KSimulationFile,"c:\\system\\data\\simu_move1.sps" );
- // _LIT( KSimulationFile0,"c:\\system\\data\\simu_move2.sps" );
+
+    iLog->Log(_L("Entering Test1"));
+  _LIT( KSimulationFile,"c:\\system\\data\\simu_move3.sps" );
+// _LIT( KSimulationFile0,"c:\\system\\data\\simu_move2.sps" );
+
+ RLbtServer lbtserver;
+ RLbt lbt;
+ iLog->Log(_L("Before connecting"));
+ User::LeaveIfError( lbtserver.Connect() );
+    CleanupClosePushL( lbtserver );
+    iLog->Log(_L("Connection to RLbtServer Passed "));
+ User::LeaveIfError( lbt.Open(lbtserver));
+ iLog->Log(_L("Subsession opened "));
+ CleanupClosePushL( lbt );
+ 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+     
+ //Enable only simpsy
+ EnableSimPSYL();
+ //Clear all triggers
+ TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
+ CRepository* repository = CRepository::NewLC(KCRUidSimulationPSY);
+ iLog->Log(_L("Simulation PSY Repository object created"));
+//   User::LeaveIfError(repository->Set(KCRKeySimPSYSimulationFile, KSimulationFile0));
+ User::LeaveIfError(repository->Set(KCRKeySimPSYSimulationFile, KSimulationFile));
+ iLog->Log(_L("Simulation input file set "));
+ CleanupStack::PopAndDestroy(repository);
+ 
+  //Construct a startup trigger
+     CLbtStartupTrigger* trig = CLbtStartupTrigger::NewL();
 
- 	 RLbtServer lbtserver;
- 	 RLbt lbt;
- 	 iLog->Log(_L("Before connecting"));
- 	 User::LeaveIfError( lbtserver.Connect() );
-        CleanupClosePushL( lbtserver );
-        iLog->Log(_L("Connection to RLbtServer Passed "));
- 	 User::LeaveIfError( lbt.Open(lbtserver));
- 	 iLog->Log(_L("Subsession opened "));
- 	 CleanupClosePushL( lbt );
- 	 //Enable only simpsy
-     EnableSimPSYL();
-     //Clear all triggers
- 	 TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
- 	 
- 	 CRepository* repository = CRepository::NewLC(KCRUidSimulationPSY);
- 	 iLog->Log(_L("Simulation PSY Repository object created"));
-//	 User::LeaveIfError(repository->Set(KCRKeySimPSYSimulationFile, KSimulationFile0));
-	 User::LeaveIfError(repository->Set(KCRKeySimPSYSimulationFile, KSimulationFile));
-	 iLog->Log(_L("Simulation input file set "));
-	 CleanupStack::PopAndDestroy(repository);
-	 
-	  //Construct a startup trigger
-    	 CLbtStartupTrigger* trig = CLbtStartupTrigger::NewL();
-    
-    	//Push to cleanup stack
-    	CleanupStack::PushL( trig );
-    	iLog->Log(_L("Startup Trigger Entry Created "));
-    
-    	// Set Name
-    	trig->SetNameL(_L("Trigger1"));
-    	trig->SetNameL(_L("abc"));
-    	_LIT( KMyTriggerHandlingProcessName, "About.exe");
-   	//  _LIT( KMyTriggerHandlingProcessName, "TestServerStarter.exe");
-   	// _LIT( KMyTriggerHandlingProcessName, "ConsoleUI.exe");
-    
-    	TSecureId secureid;
-    	trig->SetProcessId(KMyTriggerHandlingProcessName,secureid);
-       
-    	//set Requestor     
-    CRequestorBase::TRequestorType ReqType=CRequestorBase::ERequestorUnknown;
-	CRequestorBase::_TRequestorFormat ReqFormat=CRequestorBase::EFormatUnknown;
-	TBuf<KLbtMaxNameLength> ReqData=_L("");
-	trig->SetRequestorL(ReqType,ReqFormat,ReqData);
-    	// set condition
+    //Push to cleanup stack
+    CleanupStack::PushL( trig );
+    iLog->Log(_L("Startup Trigger Entry Created "));
+
+    // Set Name
+    trig->SetNameL(_L("Trigger1"));
+    trig->SetNameL(_L("abc"));
+    _LIT( KMyTriggerHandlingProcessName, "About.exe");
+//  _LIT( KMyTriggerHandlingProcessName, "TestServerStarter.exe");
+// _LIT( KMyTriggerHandlingProcessName, "ConsoleUI.exe");
 
-    	TCoordinate coordinate(62.5285,23.9385);
-   	// TCoordinate coordinate(62.4438,23.9385);
-    
-   		CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,1000);
-    	CleanupStack::PushL( circle );
+    TSecureId secureid;
+    trig->SetProcessId(KMyTriggerHandlingProcessName,secureid);
+   
+    //set Requestor     
+CRequestorBase::TRequestorType ReqType=CRequestorBase::ERequestorUnknown;
+CRequestorBase::_TRequestorFormat ReqFormat=CRequestorBase::EFormatUnknown;
+TBuf<KLbtMaxNameLength> ReqData=_L("");
+trig->SetRequestorL(ReqType,ReqFormat,ReqData);
+    // set condition
+
+TCoordinate coordinate;
+GetCurrentCoordinateL( coordinate );
+
+    CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,200);
+    CleanupStack::PushL( circle );
+
+     
+    // ownership of circle object transferred to the condition object
+    CLbtTriggerConditionArea* condition=CLbtTriggerConditionArea::NewL(
+                                            circle,
+                                            CLbtTriggerConditionArea::EFireOnEnter);
     
-         
-    	// ownership of circle object transferred to the condition object
-    	CLbtTriggerConditionArea* condition=CLbtTriggerConditionArea::NewL(
-                                                circle,
-                                                CLbtTriggerConditionArea::EFireOnEnter);
-        
-    	CleanupStack::Pop( circle );
+    CleanupStack::Pop( circle );
+
+    trig->SetCondition(condition); // ownership transferred to object
+
+    TLbtTriggerId trigId;
+    
+    
+    CTriggerFireObserver* notifier= CTriggerFireObserver::NewL( lbt,coordinate);
+    CleanupStack::PushL( notifier );
+
+    CActiveSchedulerWait* wait=new(ELeave)CActiveSchedulerWait;
     
-    	trig->SetCondition(condition); // ownership transferred to object
-
-    	TLbtTriggerId trigId;
-        
-        
-    	CTriggerFireObserver* notifier= CTriggerFireObserver::NewL( lbt,coordinate);
-    	CleanupStack::PushL( notifier );
+    notifier->CreateTriggers( lbt,*trig,trigId,ETrue,wait );
+    wait->Start( );
+    CLbtGeoCircle* circle2=CLbtGeoCircle::NewL(coordinate,100);
+    circle2->SetRadius(500);
+    CLbtTriggerConditionArea* condition2=CLbtTriggerConditionArea::NewL(
+                                            circle2,
+                                            CLbtTriggerConditionArea::EFireOnEnter);
+    
+    trig->SetCondition(condition2);
+    notifier->CreateTriggers( lbt,*trig,trigId,ETrue,wait );
+    wait->Start( );
     
-    	CActiveSchedulerWait* wait=new(ELeave)CActiveSchedulerWait;
-        
-    	notifier->CreateTriggers( lbt,*trig,trigId,ETrue,wait );
-    	wait->Start( );
-    	CLbtGeoCircle* circle2=CLbtGeoCircle::NewL(coordinate,500);
-    	circle2->SetRadius(500);
-    	CLbtTriggerConditionArea* condition2=CLbtTriggerConditionArea::NewL(
-                                                circle2,
-                                                CLbtTriggerConditionArea::EFireOnEnter);
-    	
-    	trig->SetCondition(condition2);
-    	notifier->CreateTriggers( lbt,*trig,trigId,ETrue,wait );
-    	wait->Start( );
-    	
-    	iLog->Log(_L("Triggers Created"));
-   // 	notifier->StartNotification( wait );
-  	//	wait->Start( );
-  		notifier->StartNotification( wait );
-  		wait->Start( );
-	  	notifier->After(120000000);
-	  	wait->Start( );
-  		RArray<TLbtTriggerFireInfo> Firedtriggers;
-  		lbt.GetFiredTriggersL(Firedtriggers);
-  		if(Firedtriggers.Count()==2)
-  		{
-  				CleanupStack::PopAndDestroy( notifier );
-	   CleanupStack::PopAndDestroy( trig );
-	   CleanupStack::Pop( &lbt );
-	   CleanupStack::PopAndDestroy( &lbtserver );
-  			return KErrNone;
-  		}
-  		else
-  		{
-  				CleanupStack::PopAndDestroy( notifier );
-	   CleanupStack::PopAndDestroy( trig );
-	   CleanupStack::Pop( &lbt );
-	   CleanupStack::PopAndDestroy( &lbtserver );
-  			return -99;
-  		}
-    	
+    iLog->Log(_L("Triggers Created"));
+    notifier->StartNotification( wait );
+    wait->Start( );
+    wait->Start( );
+    RArray<TLbtTriggerFireInfo> Firedtriggers;
+    lbt.GetFiredTriggersL(Firedtriggers);
+    RestoreProfileL();
+    if(Firedtriggers.Count()==2)
+    {
+        CleanupStack::PopAndDestroy( notifier );
+   CleanupStack::PopAndDestroy( trig );
+   CleanupStack::Pop( &lbt );
+   CleanupStack::PopAndDestroy( &lbtserver );
+        return KErrNone;
+    }
+    else
+    {
+        CleanupStack::PopAndDestroy( notifier );
+   CleanupStack::PopAndDestroy( trig );
+   CleanupStack::Pop( &lbt );
+   CleanupStack::PopAndDestroy( &lbtserver );
+        return -99;
+    }
+
+//  return KErrNone; 
+
     }
 
 
@@ -1092,6 +1176,10 @@
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt );
  	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+ 	 
  	 //Enable only simpsy
      EnableSimPSYL();
      //Clear all triggers
@@ -1127,10 +1215,10 @@
 	trig->SetRequestorL(ReqType,ReqFormat,ReqData);
     	// set condition
 
-    	TCoordinate coordinate(62.5285,23.9385);
-   	// TCoordinate coordinate(62.4438,23.9385);
+    TCoordinate coordinate;
+    GetCurrentCoordinateL( coordinate );
     
-   		CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,1000);
+   		CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,200);
     	CleanupStack::PushL( circle );
     
          
@@ -1153,7 +1241,7 @@
         
     	notifier->CreateTriggers( lbt,*trig,trigId,ETrue,wait );
     	wait->Start( );
-    	CLbtGeoCircle* circle2=CLbtGeoCircle::NewL(coordinate,500);
+    	CLbtGeoCircle* circle2=CLbtGeoCircle::NewL(coordinate,100);
     	circle2->SetRadius(500);
     	CLbtTriggerConditionArea* condition2=CLbtTriggerConditionArea::NewL(
                                                 circle2,
@@ -1166,12 +1254,10 @@
     	iLog->Log(_L("Triggers Created"));
     	notifier->StartNotification( wait );
   		wait->Start( );
-  	//	notifier->StartNotification( wait );
-  	//	wait->Start( );
-  		notifier->After(1200000000);
   		wait->Start( );
   		RArray<TLbtTriggerFireInfo> Firedtriggers;
   		lbt.GetFiredTriggersL(Firedtriggers);
+  		RestoreProfileL();
   		if(Firedtriggers.Count()==2)
   		{
   			CleanupStack::PopAndDestroy( notifier );
@@ -1219,6 +1305,10 @@
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt );
  	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+ 	 
  	 //Enable only simpsy
      EnableSimPSYL();
      //Clear all triggers
@@ -1254,10 +1344,10 @@
 		trig->SetRequestorL(ReqType,ReqFormat,ReqData);
     	// set condition
 
-    	TCoordinate coordinate(62.5285,23.9385);
-   	// TCoordinate coordinate(62.4438,23.9385);
+        TCoordinate coordinate;
+        GetCurrentCoordinateL( coordinate );
     
-   		CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,500);
+   		CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,200);
     	CleanupStack::PushL( circle );
     
          
@@ -1280,8 +1370,7 @@
         
     	notifier->CreateTriggers( lbt,*trig,trigId,ETrue,wait );
     	wait->Start( );
-    	CLbtGeoCircle* circle2=CLbtGeoCircle::NewL(coordinate,500);
-    	circle2->SetRadius(250);
+    	CLbtGeoCircle* circle2=CLbtGeoCircle::NewL(coordinate,200);
     	CLbtTriggerConditionArea* condition2=CLbtTriggerConditionArea::NewL(
                                                 circle2,
                                                 CLbtTriggerConditionArea::EFireOnEnter);
@@ -1293,11 +1382,8 @@
     	iLog->Log(_L("Triggers Created"));
     	notifier->StartNotification( wait );
   		wait->Start( );
-  	//	notifier->StartNotification( wait );
-  	//	wait->Start( );
+  	    wait->Start( );
   		
-  		notifier->After(120000000);
-  		wait->Start( );
   		RArray<TLbtTriggerFireInfo> Firedtriggers;
   		lbt.GetFiredTriggersL(Firedtriggers);
   		CleanupStack::PopAndDestroy( notifier );
@@ -1305,6 +1391,7 @@
 	    CleanupStack::Pop( &lbt );
 	    CleanupStack::PopAndDestroy( &lbtserver );
 	    //delete wait;
+	    RestoreProfileL();
   		if(Firedtriggers.Count()==2)
   		{
   			return KErrNone;
@@ -1341,6 +1428,11 @@
  	 User::LeaveIfError( lbt.Open(lbtserver));
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt );
+ 	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+ 	 
  	 //Enable only simpsy
      EnableSimPSYL();
      //Clear all triggers
@@ -1377,9 +1469,10 @@
 	trig->SetRequestorL(ReqType,ReqFormat,ReqData);
     	// set condition
 
-    	TCoordinate coordinate(62.5285,23.9385);
+    TCoordinate coordinate;
+    GetCurrentCoordinateL( coordinate );
    		    
-   		CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,500);
+   		CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,100);
     	CleanupStack::PushL( circle );
     
          
@@ -1402,9 +1495,8 @@
         
     	notifier->CreateTriggers( lbt,*trig,trigId,ETrue,wait );
     	wait->Start( );
-    	CLbtGeoCircle* circle2=CLbtGeoCircle::NewL(coordinate,500);
-    	circle2->SetRadius(500);
-    	coordinate.Move(90,1000);
+    	CLbtGeoCircle* circle2=CLbtGeoCircle::NewL(coordinate,100);
+    	coordinate.Move(90,200);
     	circle2->SetCenter(coordinate);
     	CLbtTriggerConditionArea* condition2=CLbtTriggerConditionArea::NewL(
                                                 circle2,
@@ -1417,12 +1509,10 @@
     	iLog->Log(_L("Triggers Created"));
     	notifier->StartNotification( wait );
   		wait->Start( );
-  	//	notifier->StartNotification( wait );
-  	//	wait->Start( );
-  		notifier->After(120000000);
   		wait->Start( );
   		RArray<TLbtTriggerFireInfo> Firedtriggers;
   		lbt.GetFiredTriggersL(Firedtriggers);
+  		RestoreProfileL();
   		if(Firedtriggers.Count()==2)
   		{
   			CleanupStack::PopAndDestroy( notifier );
@@ -1469,6 +1559,11 @@
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt );
  	 
+ 	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+ 	 
  	 //Enable only simpsy
      EnableSimPSYL();
      //Clear all triggers
@@ -1505,9 +1600,10 @@
 	trig->SetRequestorL(ReqType,ReqFormat,ReqData);
     	// set condition
 
-    	TCoordinate coordinate(62.5285,23.9385);
+    TCoordinate coordinate;
+    GetCurrentCoordinateL( coordinate );
    		    
-   		CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,500);
+   		CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,100);
     	CleanupStack::PushL( circle );
     
          
@@ -1531,8 +1627,8 @@
     	notifier->CreateTriggers( lbt,*trig,trigId,ETrue,wait );
     	wait->Start( );
     	
-       	coordinate.Move(90,500);
-       	CLbtGeoCircle* circle2=CLbtGeoCircle::NewL(coordinate,500);
+       	coordinate.Move(90,100);
+       	CLbtGeoCircle* circle2=CLbtGeoCircle::NewL(coordinate,100);
     	circle2->SetCenter(coordinate);
     	CLbtTriggerConditionArea* condition2=CLbtTriggerConditionArea::NewL(
                                                 circle2,
@@ -1545,11 +1641,12 @@
     	iLog->Log(_L("Triggers Created"));
     	notifier->StartNotification( wait );
   		wait->Start( );
-  		notifier->After(120000000);
-  		wait->Start( );
+        wait->Start( );
+
     	iLog->Log(_L("Trigger Fired"));
     	RArray<TLbtTriggerFireInfo> Firedtriggers;
   		lbt.GetFiredTriggersL(Firedtriggers);
+  		RestoreProfileL();
   		if(Firedtriggers.Count()==2)
   		{
   			CleanupStack::PopAndDestroy( notifier );
@@ -1581,7 +1678,7 @@
     {
 
         	iLog->Log(_L("Entering Test1"));
-      _LIT( KSimulationFile,"c:\\system\\data\\test3.nme" );
+     _LIT( KSimulationFile,"c:\\system\\data\\simu_move2.sps" );
  // _LIT( KSimulationFile0,"c:\\system\\data\\simu_move2.sps" );
 
  	 RLbtServer lbtserver;
@@ -1594,6 +1691,10 @@
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt );
  	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+ 	 
  	 //Enable only simpsy
      EnableSimPSYL();
      //Clear all triggers
@@ -1630,9 +1731,10 @@
 		trig->SetRequestorL(ReqType,ReqFormat,ReqData);
     	// set condition
 
-    	TCoordinate coordinate(62.5285,23.9385);
-   		    
-   		CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,1000);
+	    TCoordinate coordinate;
+	    GetCurrentCoordinateL( coordinate );
+  		    
+   		CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,100);
     	CleanupStack::PushL( circle );
     
          
@@ -1655,21 +1757,18 @@
         
     	notifier->CreateTriggers( lbt,*trig,trigId,ETrue,wait );
     	wait->Start( );
-   	 TCoordinate coordinates[10]=
+    	TCoordinate movCoordinates( coordinate.Latitude(),coordinate.Longitude() );
+    	
+    	TCoordinate coordinates[4];
+    	// Initialise the coordinate
+    	for( TInt i=0;i<4;i++ )
    		{
- 		TCoordinate(62.5285,23.9385) ,
-		TCoordinate(62.5267,23.9636),
-		TCoordinate(62.5167,23.9528),	
-	/*	TCoordinate(62.5141,23.9312),
-		TCoordinate(62.5296,23.9514),
-	    TCoordinate(62.5269,23.9331),
-		TCoordinate(62.518,23.9401),
-		TCoordinate(62.5394,23.9439),
-		TCoordinate(62.5275,23.9223),*/
-		TCoordinate(62.5331,23.9551)};
+   		movCoordinates.Move( 90,300 );
+   		coordinates[i] = movCoordinates;
+   		}
     	for(int i=0;i<4;i++)
     	{
-    	CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,500);	
+    	CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,100);	
       //	coordinate.Move(45,100);
     	circle->SetCenter(coordinates[i]);
     	if(i%2==0)
@@ -1697,11 +1796,15 @@
     	
     	notifier->StartNotification( wait );
   		wait->Start( );
-  		notifier->After(600000000);
-  		wait->Start( );
+        wait->Start( );
+        wait->Start( );
+        wait->Start( );
+
+
   		RArray<TLbtTriggerFireInfo> Firedtriggers;
   		lbt.GetFiredTriggersL(Firedtriggers);
-  		if(Firedtriggers.Count()==3)
+  		RestoreProfileL();
+  		if(Firedtriggers.Count()==4)
   		{
   			CleanupStack::PopAndDestroy( notifier );
 	   CleanupStack::PopAndDestroy( trig );
@@ -1744,6 +1847,11 @@
  	 User::LeaveIfError( lbt.Open(lbtserver));
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt );
+ 	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+ 	 
  	 //Enable only simpsy
      EnableSimPSYL();
      //Clear all triggers
@@ -1778,10 +1886,10 @@
 	trig->SetRequestorL(ReqType,ReqFormat,ReqData);
     	// set condition
 
-    	TCoordinate coordinate(62.5285,23.9385);
-   	// TCoordinate coordinate(62.4438,23.9385);
-    	coordinate.Move(90,5000);
-   	CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,10000);
+    TCoordinate coordinate;
+    GetCurrentCoordinateL( coordinate );
+    	coordinate.Move(90,1000);
+   	CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,2000);
     	CleanupStack::PushL( circle );
     
          
@@ -1814,8 +1922,8 @@
     	FireInfo = notifier->GetFiredTrigger();
        	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
     	firePosition.Distance(coordinate,trigDistance);
-     
-    	if( trigDistance<=11500 && FireInfo.iTriggerId==trigId)
+    	RestoreProfileL();
+    	if( FireInfo.iTriggerId==trigId)
     	{
   
 	  	CleanupStack::PopAndDestroy( notifier );
@@ -1864,6 +1972,11 @@
  	 User::LeaveIfError( lbt.Open(lbtserver));
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt );
+ 	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+ 	 
  	 //Enable only simpsy
      EnableSimPSYL();
      //Clear all triggers
@@ -1899,9 +2012,10 @@
 	trig->SetRequestorL(ReqType,ReqFormat,ReqData);
     	// set condition
 
-    	TCoordinate coordinate(62.5285,23.9385);
+    TCoordinate coordinate;
+    GetCurrentCoordinateL( coordinate );
    		    
-   		CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,1000);
+   		CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,100);
     	CleanupStack::PushL( circle );
     
          
@@ -1925,8 +2039,8 @@
     	notifier->CreateTriggers( lbt,*trig,trigId,ETrue,wait );
     	wait->Start( );
     	
-       	coordinate.Move(90,2000);
-       	CLbtGeoCircle* circle2=CLbtGeoCircle::NewL(coordinate,500);
+       	coordinate.Move(90,500);
+       	CLbtGeoCircle* circle2=CLbtGeoCircle::NewL(coordinate,100);
     	circle2->SetCenter(coordinate);
     	CLbtTriggerConditionArea* condition2=CLbtTriggerConditionArea::NewL(
                                                 circle2,
@@ -1945,6 +2059,7 @@
     	TReal32 trigDistance;
     	TPosition firePosition;
     	FireInfo = notifier->GetFiredTrigger();
+    	RestoreProfileL();
     	if(FireInfo.iTriggerId!=trigId)
     	{
     //	notifier->StartNotification( wait );
@@ -1954,7 +2069,7 @@
     	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
     	firePosition.Distance(coordinate,trigDistance);
      
-    	if( trigDistance<=1000 && FireInfo.iTriggerId==trigId)
+    	if( FireInfo.iTriggerId==trigId)
     	{
     
 	  	CleanupStack::PopAndDestroy( notifier );
@@ -2007,6 +2122,11 @@
  	 User::LeaveIfError( lbt.Open(lbtserver));
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt );
+ 	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+ 	 
  	 //Enable only simpsy
      EnableSimPSYL();
      //Clear all triggers
@@ -2044,9 +2164,10 @@
 	trig->SetRequestorL(ReqType,ReqFormat,ReqData);
     	// set condition
 
-    	TCoordinate coordinate(62.5285,23.9385);
+    TCoordinate coordinate;
+    GetCurrentCoordinateL( coordinate );
    		    
-   		CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,500);
+   		CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,100);
     	CleanupStack::PushL( circle );
     
          
@@ -2070,8 +2191,8 @@
     	notifier->CreateTriggers( lbt,*trig,trigId,ETrue,wait );
     	wait->Start( );
     	
-       	coordinate.Move(90,2000);
-       	CLbtGeoCircle* circle2=CLbtGeoCircle::NewL(coordinate,800);
+       	coordinate.Move(90,300);
+       	CLbtGeoCircle* circle2=CLbtGeoCircle::NewL(coordinate,100);
     	circle2->SetCenter(coordinate);
     	CLbtTriggerConditionArea* condition2=CLbtTriggerConditionArea::NewL(
                                                 circle2,
@@ -2081,8 +2202,8 @@
     	notifier->CreateTriggers( lbt,*trig,trigIdtochange,ETrue,wait );
     	wait->Start( );
     	
-    	coordinate.Move(90,2000);
-    	CLbtGeoCircle* circle3=CLbtGeoCircle::NewL(coordinate,700);
+    	coordinate.Move(90,400);
+    	CLbtGeoCircle* circle3=CLbtGeoCircle::NewL(coordinate,100);
     	circle3->SetCenter(coordinate);
     	CLbtTriggerConditionArea* condition3=CLbtTriggerConditionArea::NewL(
                                                 circle3,
@@ -2107,6 +2228,7 @@
     	FireInfo = notifier->GetFiredTrigger();
     	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
     	firePosition.Distance(coordinate,trigDistance);
+    	RestoreProfileL();
      	if(FireInfo.iTriggerId ==trigIdtochange)
      	{
      		
@@ -2158,6 +2280,11 @@
  	 User::LeaveIfError( lbt1.Open(lbtserver));
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt1 );
+ 	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+ 	 
  	 //Enable only simpsy
      EnableSimPSYL();
      //Clear all triggers
@@ -2194,9 +2321,10 @@
 	trig->SetRequestorL(ReqType,ReqFormat,ReqData);
     	// set condition
 
-    	TCoordinate coordinate(62.5285,23.9385);
+    TCoordinate coordinate;
+    GetCurrentCoordinateL( coordinate );
    		    
-   		CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,1000);
+   		CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,100);
     	CleanupStack::PushL( circle );
     
          
@@ -2220,8 +2348,8 @@
     	notifier->CreateTriggers( lbt,*trig,trigId,ETrue,wait );
     	wait->Start( );
     	
-       	coordinate.Move(90,10000);
-       	CLbtGeoCircle* circle2=CLbtGeoCircle::NewL(coordinate,500);
+       	coordinate.Move(90,500);
+       	CLbtGeoCircle* circle2=CLbtGeoCircle::NewL(coordinate,100);
     	circle2->SetCenter(coordinate);
     	CLbtTriggerConditionArea* condition2=CLbtTriggerConditionArea::NewL(
                                                 circle2,
@@ -2235,8 +2363,8 @@
     //	User::LeaveIfError(repository->Set(KCRKeySimPSYSimulationFile, KSimulationFile));
     //	notifier->After(3000000);
     //	wait->Start( );
-    	coordinate.Move(270,5000);
-    	CLbtGeoCircle* circle3=CLbtGeoCircle::NewL(coordinate,500);
+    	coordinate.Move(270,200);
+    	CLbtGeoCircle* circle3=CLbtGeoCircle::NewL(coordinate,100);
     	circle3->SetCenter(coordinate);
     	CLbtTriggerConditionArea* condition3=CLbtTriggerConditionArea::NewL(
                                                 circle3,
@@ -2260,7 +2388,7 @@
     	FireInfo = notifier->GetFiredTrigger();
     	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
     	firePosition.Distance(coordinate,trigDistance);
-     
+    	RestoreProfileL();
      	if(FireInfo.iTriggerId ==trigIdtochange)
      	{
      		CleanupStack::PopAndDestroy( notifier );
@@ -2311,6 +2439,11 @@
  	 User::LeaveIfError( lbt.Open(lbtserver));
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt );
+ 	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+ 	 
  	 //Enable only simpsy
      EnableSimPSYL();
      //Clear all triggers
@@ -2347,9 +2480,10 @@
 	trig->SetRequestorL(ReqType,ReqFormat,ReqData);
     	// set condition
 
-    	TCoordinate coordinate(62.5285,23.9385);
+    TCoordinate coordinate;
+    GetCurrentCoordinateL( coordinate );
    		    
-   		CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,1000);
+   		CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,100);
     	CleanupStack::PushL( circle );
     
          
@@ -2373,8 +2507,8 @@
     	notifier->CreateTriggers( lbt,*trig,trigId,ETrue,wait );
     	wait->Start( );
     	
-       	coordinate.Move(90,5000);
-       	CLbtGeoCircle* circle3=CLbtGeoCircle::NewL(coordinate,500);
+       	coordinate.Move(90,500);
+       	CLbtGeoCircle* circle3=CLbtGeoCircle::NewL(coordinate,100);
     	circle3->SetCenter(coordinate);
     	CLbtTriggerConditionArea* condition2=CLbtTriggerConditionArea::NewL(
                                                 circle3,
@@ -2384,8 +2518,8 @@
     	notifier->CreateTriggers( lbt,*trig,trigIdtochange,ETrue,wait );
     	wait->Start( );
     	
-    	coordinate.Move(90,5000);
-    	CLbtGeoCircle* circle2=CLbtGeoCircle::NewL(coordinate,500);
+    	coordinate.Move(90,500);
+    	CLbtGeoCircle* circle2=CLbtGeoCircle::NewL(coordinate,100);
     	circle2->SetCenter(coordinate);
     	CLbtTriggerConditionArea* condition3=CLbtTriggerConditionArea::NewL(
                                                 circle2,
@@ -2410,6 +2544,7 @@
     	FireInfo = notifier->GetFiredTrigger();
     	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
     	firePosition.Distance(coordinate,trigDistance);
+    	RestoreProfileL();
      	if(FireInfo.iTriggerId ==trigIdtochange)
      	{
      		CleanupStack::PopAndDestroy( notifier );
@@ -2458,6 +2593,11 @@
  	 User::LeaveIfError( lbt.Open(lbtserver));
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt );
+ 	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+ 	 
  	 //Enable only simpsy
      EnableSimPSYL();
      //Clear all triggers
@@ -2561,6 +2701,7 @@
     	FireInfo = notifier->GetFiredTrigger();
     	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
     	firePosition.Distance(coordinate,trigDistance);
+    	RestoreProfileL();
     	if( trigDistance>=1000)
     	{
     	_LIT(KProcessToSearch, "About"); 
@@ -2626,6 +2767,11 @@
  	 User::LeaveIfError( lbt.Open( lbtserver ) );
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt );
+ 	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+ 	 
  	 //Enable only simpsy
      EnableSimPSYL();
      //Clear all triggers
@@ -2710,6 +2856,7 @@
     FireInfo = notifier->GetFiredTrigger();
     FireInfo.iFiredPositionInfo.GetPosition(firePosition);
     firePosition.Distance(coordinate,trigDistance);
+    RestoreProfileL();
     if( trigDistance<=1000 &&notifier->iTriggerFireCount ==2)
     {
     	CleanupStack::PopAndDestroy( notifier );
@@ -2754,6 +2901,11 @@
  	 User::LeaveIfError( lbt.Open( lbtserver ) );
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt );
+ 	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+ 	 
  	 //Enable only simpsy
      EnableSimPSYL();
      //Clear all triggers
@@ -2834,6 +2986,7 @@
     FireInfo = notifier->GetFiredTrigger();
     FireInfo.iFiredPositionInfo.GetPosition(firePosition);
     firePosition.Distance(coordinate,trigDistance);
+    RestoreProfileL();
     if( trigDistance>=1000 &&notifier->iTriggerFireCount ==2)
     {
     	CleanupStack::PopAndDestroy( notifier );
@@ -2877,6 +3030,11 @@
  	 User::LeaveIfError( lbt.Open( lbtserver ) );
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt );
+ 	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+ 	 
  	 //Enable only simpsy
      EnableSimPSYL();
      //Clear all triggers
@@ -2956,6 +3114,7 @@
     FireInfo = notifier->GetFiredTrigger();
     FireInfo.iFiredPositionInfo.GetPosition(firePosition);
     firePosition.Distance(coordinate,trigDistance);
+    RestoreProfileL();
     if( trigDistance<=1000 &&notifier->iTriggerFireCount ==2)
     {
     	CleanupStack::PopAndDestroy( notifier );
--- a/locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/src/AsynOperationAO.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/src/AsynOperationAO.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -23,7 +23,7 @@
 #include "AsynOperationAO.h"
 
 
-
+_LIT(KRequestor,"LBT test app");
 
 // ============================ MEMBER FUNCTIONS ===============================
 
@@ -40,6 +40,12 @@
         CActiveScheduler::Add(this);
     }
 
+
+CTriggerFireObserver::CTriggerFireObserver( ):CTimer( CTimer::EPriorityStandard )
+    {
+    CActiveScheduler::Add(this);
+    }
+
 // -----------------------------------------------------------------------------
 // CTriggerFireObserver::ConstructL
 // Symbian 2nd phase constructor can leave.
@@ -55,6 +61,21 @@
     }
 
 // -----------------------------------------------------------------------------
+// CTriggerFireObserver::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CTriggerFireObserver::ConstructL()
+    {
+    User::LeaveIfError( iPosServer.Connect() );
+    User::LeaveIfError( iPositioner.Open( iPosServer ) ); 
+
+    // Set position requestor
+    User::LeaveIfError( iPositioner.SetRequestor( CRequestor::ERequestorService ,
+                        CRequestor::EFormatApplication , KRequestor ) );
+    }
+
+// -----------------------------------------------------------------------------
 // CTriggerFireObserver::NewL
 // Two-phased constructor.
 // -----------------------------------------------------------------------------
@@ -72,6 +93,20 @@
 
     }
 
+// -----------------------------------------------------------------------------
+// CTriggerFireObserver::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CTriggerFireObserver* CTriggerFireObserver::NewL()
+    {
+    CTriggerFireObserver* self = new (ELeave) CTriggerFireObserver();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
 // Destructor
 CTriggerFireObserver::~CTriggerFireObserver()
     { 
@@ -81,10 +116,23 @@
 	    delete iNotifier;
 	    delete iWait;
 	   // iWait=NULL;
+	    iPositioner.Close();
+	    iPosServer.Close();
 	       
 
     }
 
+void CTriggerFireObserver::CurrentPositionL( TPositionInfo& aPositionInfo,
+                                             CActiveSchedulerWait* aWait )
+    {
+    iWait = aWait;
+    // Get last known position. The processing of the result
+    // is done in RunL method
+    iPositioner.NotifyPositionUpdate( aPositionInfo, iStatus );
+    // Set this active object active
+    SetActive();
+    }
+
 void CTriggerFireObserver::TriggerFiredL( const TLbtTriggerFireInfo& aFireInfo )
 	{
 	    iTriggerFireCount++;
--- a/locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/conf/CellbasedtriggerOperations.cfg	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/conf/CellbasedtriggerOperations.cfg	Tue Aug 31 15:37:04 2010 +0300
@@ -286,6 +286,20 @@
 foobar TC_LBT_034_56L
 delete foobar
 [Endtest] 
+
+[Test]
+title TC_LBT_034_61L
+create CellbasedtriggerOperations foobar
+foobar TC_LBT_034_61L
+delete foobar
+[Endtest] 
+[Test]
+title TC_LBT_034_62L
+create CellbasedtriggerOperations foobar
+foobar TC_LBT_034_62L
+delete foobar
+[Endtest]    
+
 [Test]
 title TC_LBT_034_69L
 create CellbasedtriggerOperations foobar
--- a/locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/inc/AsynOperationAO.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/inc/AsynOperationAO.h	Tue Aug 31 15:37:04 2010 +0300
@@ -139,7 +139,8 @@
         */
         static CLbtEventObserver* NewL( RLbt& aLbt );
 
-              
+        static CLbtEventObserver* NewL();
+        
         /**
         * Destructor.
         */
@@ -162,7 +163,8 @@
 	    
 	    void HandleCIDChangeL(const CTelephony::TNetworkInfoV1 &aNwInfo);
 	    void StartCidNotification( CActiveSchedulerWait* aWait );
-
+	    void GetCurrentCGIInfo( CTelephony::TNetworkInfoV1& aNwInfo,
+                                CActiveSchedulerWait* aWait);
 
     
     private:
@@ -170,18 +172,23 @@
         /**
         * C++ default constructor.
         */
-    CLbtEventObserver(  );
+	    CLbtEventObserver();
 
         /**
         * By default Symbian 2nd phase constructor is private.
         */
         void ConstructL( RLbt& aLbt );
         
+        /**
+         * By default Symbian 2nd phase constructor is private.
+         */
+         void ConstructL();
+        
     private:
     
         CLbtCidChangeNotifier* iCidchangenotifier; 
         CActiveSchedulerWait* iWait;
-        
+        CTelephony::TNetworkInfoV1* iNetWorkInfo;
        
        
 
--- a/locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/inc/CellbasedtriggerOperations.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/inc/CellbasedtriggerOperations.h	Tue Aug 31 15:37:04 2010 +0300
@@ -27,8 +27,8 @@
 #include <StifLogger.h>
 #include <TestScripterInternal.h>
 #include <StifTestModule.h>
-
-
+#include <etel3rdparty.h>
+#include <etelmm.h>
 // CONSTANTS
 //const ?type ?constant_var = ?constant;
 
@@ -138,6 +138,13 @@
         * @since ?Series60_version
         */
         void Delete();
+        
+        /**
+         * Gets current cell information
+         */
+        void GetCurrentCellInfoL(  
+                RMobilePhone::TMobilePhoneNetworkMode& aNetworkMode,
+                CTelephony::TNetworkInfoV1& aNwInfo );
 
         /**
         * Test methods are listed below. 
--- a/locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/inc/lbtcidchangenotifier.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/inc/lbtcidchangenotifier.h	Tue Aug 31 15:37:04 2010 +0300
@@ -43,6 +43,14 @@
  */
 NONSHARABLE_CLASS( CLbtCidChangeNotifier ) : public CActive
     {
+    enum TState
+        {
+        ENone,
+        
+        ECurrentNetwork,
+        
+        ENotifyNetworkChange
+        };
 public:
 
     /**
@@ -56,7 +64,12 @@
     ~CLbtCidChangeNotifier();
     
 public:
-
+    
+    /**
+     * 
+     */
+    void GetCurrentCGIInfo();
+    
     /**
      * Initiates a request for notification after the specified time interval
      * has elapsed
@@ -92,6 +105,8 @@
      
      MLbtCidChangeObsrvr *iObs;
      
+     
+     TState iState;
     };
 
 #endif  // C_LBTSTRATEGYTIMER_H
--- a/locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/src/AsynOperationAO.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/src/AsynOperationAO.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -286,6 +286,17 @@
     }
 
 // -----------------------------------------------------------------------------
+// CTriggerFireObserver::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CLbtEventObserver::ConstructL()
+    {
+     RFileLogger aLog;
+     iCidchangenotifier=CLbtCidChangeNotifier::NewL(aLog,this);
+    }
+
+// -----------------------------------------------------------------------------
 // CTriggerFireObserver::NewL
 // Two-phased constructor.
 // -----------------------------------------------------------------------------
@@ -304,6 +315,19 @@
 
     }
 
+
+// -----------------------------------------------------------------------------
+// CTriggerFireObserver::NewL
+// -----------------------------------------------------------------------------
+CLbtEventObserver* CLbtEventObserver::NewL()
+    {
+    CLbtEventObserver* self = new (ELeave) CLbtEventObserver();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop();
+    return self;
+    }
+
 // Destructor
 CLbtEventObserver::~CLbtEventObserver()
     { 
@@ -352,6 +376,14 @@
 	SetActive( ); 
 }
 
+void CLbtEventObserver::GetCurrentCGIInfo( CTelephony::TNetworkInfoV1& aNwInfo,
+                                           CActiveSchedulerWait* aWait )
+    {
+    iWait=aWait;
+    iNetWorkInfo = &aNwInfo;
+    iCidchangenotifier->GetCurrentCGIInfo();
+    }
+    
 void CLbtEventObserver::HandleCIDChangeL(const CTelephony::TNetworkInfoV1 &aNwInfo)
     { 
 
@@ -360,12 +392,20 @@
 //	RFileLogger::WriteFormat(KLbtTraceDir, KLbtTraceFile, EFileLoggingModeAppend,_L( "Network id = %s"),aNwInfo.iNetworkId);
 //	RFileLogger::WriteFormat(KLbtTraceDir, KLbtTraceFile, EFileLoggingModeAppend,_L( "Location Area code= %d"),aNwInfo.iLocationAreaCode);
 	RFileLogger::WriteFormat(KLbtTraceDir, KLbtTraceFile, EFileLoggingModeAppend,_L( "Cell Id= %d"),aNwInfo.iCellId);
-
+	if( iNetWorkInfo )
+	    {
+        iNetWorkInfo->iMode = aNwInfo.iMode;
+        iNetWorkInfo->iCountryCode = aNwInfo.iCountryCode;
+        iNetWorkInfo->iNetworkId = aNwInfo.iNetworkId;
+        iNetWorkInfo->iLocationAreaCode = aNwInfo.iLocationAreaCode;
+        iNetWorkInfo->iCellId  = aNwInfo.iCellId;
+        iWait->AsyncStop( );
+	    }
     }
     
     void CLbtEventObserver::StartCidNotification( CActiveSchedulerWait* aWait )
 	{
-	
+        iNetWorkInfo = NULL;
 	  	iWait=aWait;
 	  	iCidchangenotifier->Start();
 	}
--- a/locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/src/CellbasedtriggerOperationsBlocks.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/src/CellbasedtriggerOperationsBlocks.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -139,6 +139,42 @@
 
     }
 
+
+// -----------------------------------------------------------------------------
+// CCellbasedtriggerOperations::GetCurrentCellInfo
+// -----------------------------------------------------------------------------
+void CCellbasedtriggerOperations::GetCurrentCellInfoL( 
+                            RMobilePhone::TMobilePhoneNetworkMode& aNetworkMode,
+                            CTelephony::TNetworkInfoV1& aNwInfo )  
+    {
+    iLog->Log(_L("+GetCurrentCellInfoL"));
+    CLbtEventObserver* notifier= CLbtEventObserver::NewL();
+    CleanupStack::PushL( notifier );
+    CActiveSchedulerWait* wait = new( ELeave ) CActiveSchedulerWait;
+    // Ownership of wait is taken by notifier
+    iLog->Log(_L("+GetCurrentCGIInfo"));
+    notifier->GetCurrentCGIInfo( aNwInfo,wait );
+    iLog->Log(_L("-GetCurrentCGIInfo"));
+    wait->Start();
+    iLog->Log(_L("WaitStart"));
+    switch( aNwInfo.iMode )
+        {
+        case CTelephony::ENetworkModeGsm:
+            aNetworkMode = RMobilePhone::ENetworkModeGsm;
+            break;
+            
+        case CTelephony::ENetworkModeWcdma:
+            aNetworkMode = RMobilePhone::ENetworkModeWcdma;
+            break;
+            
+        default:
+            aNetworkMode = RMobilePhone::ENetworkModeUnknown;
+        }
+            
+    CleanupStack::PopAndDestroy( notifier );
+    iLog->Log(_L("-GetCurrentCellInfoL"));
+    }
+
 // -----------------------------------------------------------------------------
 // CCellbasedtriggerOperations::RunMethodL
 // Run specified method. Contains also table of test mothods and their names.
@@ -6067,24 +6103,23 @@
        
     // set condition
     
-    	CActiveSchedulerWait* wait=new(ELeave)CActiveSchedulerWait;
- 	CActiveSchedulerWait* wait2=new(ELeave)CActiveSchedulerWait;
+    CActiveSchedulerWait* wait=new(ELeave)CActiveSchedulerWait;
+    CActiveSchedulerWait* wait2=new(ELeave)CActiveSchedulerWait;
  	CLbtEventObserver* notifier= CLbtEventObserver::NewL( lbt);
 	CleanupStack::PushL( notifier );
     CTriggerFireObserver* notifier2= CTriggerFireObserver::NewL( lbt);
     CleanupStack::PushL( notifier2 );
 	
-	TBuf<4> Networkcountrycode = _L("404");
-    TBuf<8> Networkidentitycode = _L("45");
-    TUint Locationareacode = 1627;
-    TUint CellId = 11681;
-   
-    CLbtGeoCell* Cellarea  = CLbtGeoCell::NewL(RMobilePhone :: ENetworkModeGsm,
-   														Networkcountrycode,
-   														Networkidentitycode,
-   														Locationareacode,
-   														CellId
-   														);
+  
+    RMobilePhone::TMobilePhoneNetworkMode networkMode;
+    CTelephony::TNetworkInfoV1 nwInfo;
+    GetCurrentCellInfoL( networkMode,nwInfo );
+    
+    CLbtGeoCell* Cellarea  = CLbtGeoCell::NewL( networkMode,
+                                                nwInfo.iCountryCode,
+                                                nwInfo.iNetworkId,
+                                                nwInfo.iLocationAreaCode,
+                                                nwInfo.iCellId );
     
     
     // ownership of Cellarea object transferred to the condition object
@@ -6100,14 +6135,12 @@
 	trig->SetRequestorL(ReqType,ReqFormat,ReqData);  
     TLbtTriggerId trigId;
            
-    notifier->CreateTriggers( lbt,*trig,trigId,EFalse,wait );
+    notifier->CreateTriggers( lbt,*trig,trigId,ETrue,wait );
     wait->Start( );
     
-    iLog->Log(_L("Trigger Created"));    
-    notifier->StartCidNotification(wait);
-    iLog->Log(_L("Cell id change notification requested"));
+    iLog->Log(_L("Trigger created"));
     notifier2->StartNotification( wait2 );
-  	wait2->Start( );
+    wait2->Start( );
     iLog->Log(_L("Trigger Fired"));
     
     notifier->Cancel();
@@ -6130,7 +6163,7 @@
     {
     CLbtGeoCell* cell=NULL;
     	cell= static_cast<CLbtGeoCell*> (area);
-    	if(cell->CellId()==CellId)
+    	if(cell->CellId()==nwInfo.iCellId)
     	    {
     	    CleanupStack::PopAndDestroy( Triginfo );
 		    CleanupStack::PopAndDestroy( notifier2 );
@@ -6164,121 +6197,118 @@
     //Firing of CGI based Cellular Session trigger
     TInt CCellbasedtriggerOperations::TC_LBT_034_62_testL( CStifItemParser& /* aItem */ )
     {
-   	
- 	  RLbtServer lbtserver;
- 	 RLbt lbt;
- 	 iLog->Log(_L("Before connecting"));
- 	 User::LeaveIfError( lbtserver.Connect() );
-     CleanupClosePushL( lbtserver );
-     iLog->Log(_L("Connection to RLbtServer Passed "));
- 	 User::LeaveIfError( lbt.Open(lbtserver));
- 	 iLog->Log(_L("Subsession opened "));
- 	 CleanupClosePushL( lbt );
- 
- 
-	  //Construct a startup trigger
-    CLbtSessionTrigger* trig = CLbtSessionTrigger::NewL();
-    
-    //Push to cleanup stack
-    CleanupStack::PushL( trig );
-    iLog->Log(_L("Startup Trigger Entry Created "));
-    
-    // Set Name
-    trig->SetNameL(_L("Trigger1"));
-   
-   
-    // set condition
-    
-    	CActiveSchedulerWait* wait=new(ELeave)CActiveSchedulerWait;
- 	CActiveSchedulerWait* wait2=new(ELeave)CActiveSchedulerWait;
- 	CLbtEventObserver* notifier= CLbtEventObserver::NewL( lbt);
-	CleanupStack::PushL( notifier );
-    CTriggerFireObserver* notifier2= CTriggerFireObserver::NewL( lbt);
-    CleanupStack::PushL( notifier2 );
-	
-	TBuf<4> Networkcountrycode = _L("404");
-    TBuf<8> Networkidentitycode = _L("45");
-    TUint Locationareacode = 1627;
-    TUint CellId = 11681;
-   
-    CLbtGeoCell* Cellarea  = CLbtGeoCell::NewL(RMobilePhone :: ENetworkModeGsm,
-   														Networkcountrycode,
-   														Networkidentitycode,
-   														Locationareacode,
-   														CellId
-   														);
-    
-    
-    // ownership of Cellarea object transferred to the condition object
-    CLbtTriggerConditionArea* condition=CLbtTriggerConditionArea::NewL(
-                                                Cellarea,
-                                                CLbtTriggerConditionArea::EFireOnEnter);
-        
-    trig->SetCondition(condition); // ownership transferred to object
-	
-	 //set Requestor     
-    CRequestorBase::TRequestorType ReqType=CRequestorBase::ERequestorUnknown;
-	CRequestorBase::_TRequestorFormat ReqFormat=CRequestorBase::EFormatUnknown;
-	TBuf<KLbtMaxNameLength> ReqData=_L("");
-	trig->SetRequestorL(ReqType,ReqFormat,ReqData);  
-    TLbtTriggerId trigId;
+        
+        RLbtServer lbtserver;
+        RLbt lbt;
+        iLog->Log(_L("Before connecting"));
+        User::LeaveIfError( lbtserver.Connect() );
+        CleanupClosePushL( lbtserver );
+        iLog->Log(_L("Connection to RLbtServer Passed "));
+        User::LeaveIfError( lbt.Open(lbtserver));
+        iLog->Log(_L("Subsession opened "));
+        CleanupClosePushL( lbt );
+    
+    
+         //Construct a startup trigger
+       CLbtSessionTrigger* trig = CLbtSessionTrigger::NewL();
+       
+       //Push to cleanup stack
+       CleanupStack::PushL( trig );
+       iLog->Log(_L("Session Trigger Entry Created "));
+       
+       // Set Name
+       trig->SetNameL(_L("Trigger1"));
+       // set condition
+       
+       CActiveSchedulerWait* wait=new(ELeave)CActiveSchedulerWait;
+       CActiveSchedulerWait* wait2=new(ELeave)CActiveSchedulerWait;
+       CLbtEventObserver* notifier= CLbtEventObserver::NewL( lbt);
+       CleanupStack::PushL( notifier );
+       CTriggerFireObserver* notifier2= CTriggerFireObserver::NewL( lbt);
+       CleanupStack::PushL( notifier2 );
+       
+     
+       RMobilePhone::TMobilePhoneNetworkMode networkMode;
+       CTelephony::TNetworkInfoV1 nwInfo;
+       GetCurrentCellInfoL( networkMode,nwInfo );
+       
+       CLbtGeoCell* Cellarea  = CLbtGeoCell::NewL( networkMode,
+                                                   nwInfo.iCountryCode,
+                                                   nwInfo.iNetworkId,
+                                                   nwInfo.iLocationAreaCode,
+                                                   nwInfo.iCellId );
+       
+       
+       // ownership of Cellarea object transferred to the condition object
+       CLbtTriggerConditionArea* condition=CLbtTriggerConditionArea::NewL(
+                                                   Cellarea,
+                                                   CLbtTriggerConditionArea::EFireOnEnter);
            
-    notifier->CreateTriggers( lbt,*trig,trigId,EFalse,wait );
-    wait->Start( );
-    
-    iLog->Log(_L("Trigger Created"));    
-    notifier->StartCidNotification(wait);
-    iLog->Log(_L("Cell id change notification requested"));
-    notifier2->StartNotification( wait2 );
-  	wait2->Start( );
-    iLog->Log(_L("Trigger Fired"));
-    
-    notifier->Cancel();
-    TLbtTriggerFireInfo FireInfo;
-    FireInfo = notifier2->GetFiredTrigger();
-    
-    CLbtTriggerInfo *Triginfo;
-    iLog->Log(_L("Before GetTriggerLC "));
-    
-    Triginfo = lbt.GetTriggerLC(FireInfo.iTriggerId);
-    CLbtTriggerEntry *TrigEntry = Triginfo->TriggerEntry();
-    
-    //Check Condition of the trigger
-	CLbtTriggerConditionArea* Condition2 = static_cast <CLbtTriggerConditionArea*>(TrigEntry->GetCondition());
-	
-	CLbtGeoAreaBase* area = Condition2->TriggerArea();
-	
-    if(area->Type()==CLbtGeoAreaBase::ECellular)
-    {
-    CLbtGeoCell* cell=NULL;
-    	cell= static_cast<CLbtGeoCell*> (area);
-    	if(cell->CellId()==CellId)
-    	    {
-    	    CleanupStack::PopAndDestroy( Triginfo );
-		      CleanupStack::PopAndDestroy( notifier2 );
-		    CleanupStack::PopAndDestroy( notifier );
-			CleanupStack::PopAndDestroy( trig );
-			CleanupStack::Pop( &lbt );
-			CleanupStack::PopAndDestroy( &lbtserver );
-			//delete wait;
-			//delete wait2;
-    		return KErrNone;	
-    	    }
-    	    else
-    	    {
-    	    CleanupStack::PopAndDestroy( Triginfo );
-		      CleanupStack::PopAndDestroy( notifier2 );
-		    CleanupStack::PopAndDestroy( notifier );
-			CleanupStack::PopAndDestroy( trig );
-			CleanupStack::Pop( &lbt );
-			CleanupStack::PopAndDestroy( &lbtserver );
-			//delete wait;
-			//delete wait2;
-    		return -99;
-    	    }
-    }
-    return KErrNone;
-    }
+       trig->SetCondition(condition); // ownership transferred to object
+        //set Requestor     
+       CRequestorBase::TRequestorType ReqType=CRequestorBase::ERequestorUnknown;
+       CRequestorBase::_TRequestorFormat ReqFormat=CRequestorBase::EFormatUnknown;
+       TBuf<KLbtMaxNameLength> ReqData=_L("");
+       trig->SetRequestorL(ReqType,ReqFormat,ReqData);  
+       TLbtTriggerId trigId;
+              
+       notifier->CreateTriggers( lbt,*trig,trigId,ETrue,wait );
+       wait->Start( );
+
+       notifier2->StartNotification( wait2 );
+       wait2->Start( );
+       iLog->Log(_L("Trigger Fired"));
+       
+       notifier->Cancel();
+       TLbtTriggerFireInfo FireInfo;
+       FireInfo = notifier2->GetFiredTrigger();
+       
+       CLbtTriggerInfo *Triginfo;
+       iLog->Log(_L("Before GetTriggerLC "));
+       
+       Triginfo = lbt.GetTriggerLC(FireInfo.iTriggerId);
+       //Triginfo = lbt.GetTriggerLC(trigId);
+       CLbtTriggerEntry *TrigEntry = Triginfo->TriggerEntry();
+       
+       //Check Condition of the trigger
+       CLbtTriggerConditionArea* Condition2 = static_cast <CLbtTriggerConditionArea*>(TrigEntry->GetCondition());
+       
+       CLbtGeoAreaBase* area = Condition2->TriggerArea();
+       
+       if(area->Type()==CLbtGeoAreaBase::ECellular)
+       {
+       CLbtGeoCell* cell=NULL;
+           cell= static_cast<CLbtGeoCell*> (area);
+           if(cell->CellId()==nwInfo.iCellId)
+               {
+               CleanupStack::PopAndDestroy( Triginfo );
+               CleanupStack::PopAndDestroy( notifier2 );
+               CleanupStack::PopAndDestroy( notifier );
+               CleanupStack::PopAndDestroy( trig );
+               CleanupStack::Pop( &lbt );
+               CleanupStack::PopAndDestroy( &lbtserver );
+           //  //delete wait;
+           //  //delete wait2;
+               return KErrNone;    
+               }
+               else
+               {
+               CleanupStack::PopAndDestroy( Triginfo );
+                 CleanupStack::PopAndDestroy( notifier2 );
+               CleanupStack::PopAndDestroy( notifier );
+               CleanupStack::PopAndDestroy( trig );
+               CleanupStack::Pop( &lbt );
+               CleanupStack::PopAndDestroy( &lbtserver );
+           //  //delete wait;
+           //  //delete wait2;
+               return -99;
+               }
+       }
+       
+       
+       return KErrNone;
+       
+       }
     
     //Test case to check hysteresis condition for cell based triggers
     TInt CCellbasedtriggerOperations::TC_LBT_034_65_testL( CStifItemParser& /* aItem */ )
--- a/locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/src/lbtcidchangenotifier.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/src/lbtcidchangenotifier.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -50,21 +50,48 @@
     
     //Make Async call
     iTelephony->NotifyChange(iStatus, CTelephony::ECurrentNetworkInfoChange, iNwInfoPckg);
-    
+    iState = ENotifyNetworkChange;
     }
+
+void CLbtCidChangeNotifier::GetCurrentCGIInfo()
+    {
+    //iStatus = KRequestPending;
+    if(IsActive())
+        {
+        return;
+        }
+        
+    iTelephony->GetCurrentNetworkInfo(iStatus, iNwInfoPckg);
+    SetActive();     
+    iState = ECurrentNetwork;
+    }
+
 void CLbtCidChangeNotifier::DoCancel()
     {
-    //Cancel Async call
-//    	RFileLogger::WriteFormat(KLbtTraceDir, KLbtTraceFile, EFileLoggingModeAppend,_L( "DoCancel before CancelAsync"));
-    iTelephony->CancelAsync(CTelephony::ECurrentNetworkInfoChangeCancel);
-//    	RFileLogger::WriteFormat(KLbtTraceDir, KLbtTraceFile, EFileLoggingModeAppend,_L( "DoCancel After CancelAsync"));
+    switch( iState )
+        {
+        case ECurrentNetwork:
+            iTelephony->CancelAsync(CTelephony::EGetCurrentNetworkInfoCancel);
+            iState = ENone;
+            break;
+            
+        case ENotifyNetworkChange:
+            iTelephony->CancelAsync(CTelephony::ECurrentNetworkInfoChangeCancel);
+            iState = ENone;
+            break;
+            
+        default:
+            break;
+        }
     
     }
+
 CLbtCidChangeNotifier::CLbtCidChangeNotifier(RFileLogger &aLog, MLbtCidChangeObsrvr *aObs) 
                         : CActive( EPriorityStandard ),
                         iNwInfoPckg(iNwInfo),
                         iLog(aLog), 
-                        iObs(aObs)
+                        iObs(aObs),
+                        iState( ENone ) 
                         
     {
     CActiveScheduler::Add( this ); 
@@ -73,14 +100,25 @@
     {
     //Construct Async Object
     iTelephony = CTelephony::NewL();
-    
     }
     
 void CLbtCidChangeNotifier::RunL()
 	{
-	//iLog.Write(_L("CLbtCidChangeNotifier::RunL"));	
-	iObs->HandleCIDChangeL(iNwInfo);
-	Start();
+    switch( iState )
+        {
+        case ECurrentNetwork:
+            iObs->HandleCIDChangeL(iNwInfo);        
+            iState = ENone;
+            break;
+            
+        case ENotifyNetworkChange:
+            iObs->HandleCIDChangeL(iNwInfo);
+            Start();
+            break;
+            
+        default:
+            break;
+        }
     }
     
     
--- a/locationtriggering/tsrc/lbtengine_test/ClientServerSetup/conf/ClientServerSetup.cfg	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/ClientServerSetup/conf/ClientServerSetup.cfg	Tue Aug 31 15:37:04 2010 +0300
@@ -119,6 +119,12 @@
 mysubsession ErrorGetLBTServerVersion
 delete mysubsession
 [Endtest] 
+[Test]
+title TC_LBT002_18_KillLbtServer
+create ClientServerSetup mysubsession
+mysubsession killLBTServer
+delete mysubsession
+[Endtest] 
 
 
 
--- a/locationtriggering/tsrc/lbtengine_test/ClientServerSetup/src/ClientServerSetupBlocks.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/ClientServerSetup/src/ClientServerSetupBlocks.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -920,26 +920,20 @@
 	result = findLBTServer.Next(name);
 	
 	if (result == KErrNone)
-	{
-	//TInt res;
-	_LIT(KProcessName,"lbtserver.exe") ;
-	RProcess aProcess;
-    TInt res = aProcess.Open(KProcessName);
-    aProcess.Kill(0);
+        {
+        _LIT(KProcessName,"lbtserver.exe") ;
+        RProcess aProcess;
+        TInt res = aProcess.Open(KProcessName);
+        aProcess.Kill(0);
+        }
 
-//	return KErrNone;
-	}
-	else
-	{
-		
-	}
 	result = findLBTServer.Next(name);
-	if (result == KErrNone)
-	{
-	iLog->Log(_L("server started again"));  	
-	}
+        if (result == KErrNone)
+        {
+        iLog->Log(_L("server started again"));  	
+        }
 	
-return KErrNone;
+    return KErrNone;
     }
     
 
--- a/locationtriggering/tsrc/lbtengine_test/TestHybridTriggers/conf/TestHybridTriggers.cfg	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/TestHybridTriggers/conf/TestHybridTriggers.cfg	Tue Aug 31 15:37:04 2010 +0300
@@ -580,7 +580,7 @@
 foobar TC_TestUpdateTrigger6L
 delete foobar
 [Endtest]
-/*
+
 [Test]
 title TC_TestHybridTriggerFiring1L
 create TestHybridTriggers foobar
@@ -593,6 +593,8 @@
 foobar TC_TestHybridTriggerFiring2L
 delete foobar
 [Endtest]
+
+/*
 [Test]
 title StartCellChangeNotifierL
 create TestHybridTriggers foobar
--- a/locationtriggering/tsrc/lbtengine_test/TestHybridTriggers/src/TestHybridTriggersBlocks.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/TestHybridTriggers/src/TestHybridTriggersBlocks.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -6523,7 +6523,7 @@
        CleanupStack::PushL( notifier );
       
                  
-       notifier->CreateTriggers( lbt,*trig,trigId,EFalse,wait );
+       notifier->CreateTriggers( lbt,*trig,trigId,ETrue,wait );
        wait->Start( );
        iLog->Log(_L("Trigger Created"));
        notifier->StartNotification( wait );
Binary file locationtriggering/tsrc/lbtengine_test/UpdateTrigger/data/CreateTest.exe has changed
--- a/locationtriggering/tsrc/lbtengine_test/UpdateTrigger/src/UpdateTriggerBlocks.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/UpdateTrigger/src/UpdateTriggerBlocks.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -1299,22 +1299,17 @@
      /***************Another process Creating a trigger************/
      	 iLog->Log(_L("Before Create Trigger"));
      _LIT( KFilename,"CreateTest.exe" );
-    RProcess proc;
-    TInt retVal =proc.Create(KFilename,KNullDesC);
-    if(retVal == KErrNone)
-	{
-		proc.Resume();
-		TRequestStatus status = KRequestPending;
-		proc.Rendezvous(status);
-		User::WaitForRequest(status);
-	}	
-    iLog->Log(_L("Trigger Created"));
-    TInt triggerId=0;
-    RProperty iProperty;
-    User::LeaveIfError(iProperty.Get(
-        KPSUidTriggerIdInfo, 
-        KLbttesttriggerid, 
-        triggerId));
+     RProcess proc;
+     TInt retVal =proc.Create(KFilename,KNullDesC);
+     TInt triggerId = KLbtNullTriggerId;
+     if(retVal == KErrNone)
+         {
+         proc.Resume();
+         TRequestStatus status = KRequestPending;
+         proc.Rendezvous(status);
+         User::WaitForRequest(status);
+         triggerId = status.Int();
+         }   
       
      /***************************End*******************************/
  	     
@@ -1386,20 +1381,15 @@
      _LIT( KFilename,"CreateTest.exe" );
     RProcess proc;
     TInt retVal =proc.Create(KFilename,KNullDesC);
+    
     if(retVal == KErrNone)
-	{
+        {
 		proc.Resume();
 		TRequestStatus status = KRequestPending;
 		proc.Rendezvous(status);
 		User::WaitForRequest(status);
-	}	
+	    }	
     iLog->Log(_L("Trigger Created"));
-    TInt triggerId=0;
-    RProperty iProperty;
-    User::LeaveIfError(iProperty.Get(
-        KPSUidTriggerIdInfo, 
-        KLbttesttriggerid, 
-        triggerId));
         
      	  //Construct a session trigger
     CLbtSessionTrigger* trig = CLbtSessionTrigger::NewL();
@@ -1598,7 +1588,7 @@
     User::LeaveIfError( lbt.Open( lbtserver ) );
     CleanupClosePushL( lbt );
  	 
-    lbt.DeleteTriggersL();
+    TRAP_IGNORE(lbt.DeleteTriggersL());
     
     	  //Construct a session trigger
     CLbtSessionTrigger* trig = CLbtSessionTrigger::NewL();
@@ -1722,7 +1712,7 @@
     CleanupClosePushL( lbtserver );
     User::LeaveIfError( lbt.Open( lbtserver ) );
     CleanupClosePushL( lbt );
- 	  lbt.DeleteTriggersL();
+ 	TRAP_IGNORE( lbt.DeleteTriggersL() );
       	  //Construct a session trigger
     CLbtSessionTrigger* trig = CLbtSessionTrigger::NewL();
     
@@ -5263,22 +5253,17 @@
      /***************Another process Creating a trigger************/
      	 iLog->Log(_L("Before Create Trigger"));
      _LIT( KFilename,"CreateTest.exe" );
-    RProcess proc;
-    TInt retVal =proc.Create(KFilename,KNullDesC);
-    if(retVal == KErrNone)
-	{
-		proc.Resume();
-		TRequestStatus status = KRequestPending;
-		proc.Rendezvous(status);
-		User::WaitForRequest(status);
-	}	
-    iLog->Log(_L("Trigger Created"));
-    TInt triggerId=0;
-    RProperty iProperty;
-    User::LeaveIfError(iProperty.Get(
-        KPSUidTriggerIdInfo, 
-        KLbttesttriggerid, 
-        triggerId));
+     RProcess proc;
+     TInt retVal =proc.Create(KFilename,KNullDesC);
+     TInt triggerId = KLbtNullTriggerId;
+     if(retVal == KErrNone)
+         {
+         proc.Resume();
+         TRequestStatus status = KRequestPending;
+         proc.Rendezvous(status);
+         User::WaitForRequest(status);
+         triggerId = status.Int();
+         }   
       
      /***************************End*******************************/
  	 	 TCoordinate coordinate(62.5285,23.9385);
--- a/locationtriggering/tsrc/lbtengine_test/firingofstartuptriggerandlisttrigger/CreateTest/src/CreateTest.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/firingofstartuptriggerandlisttrigger/CreateTest/src/CreateTest.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -17,9 +17,6 @@
 
 
 
-
-#include <e32property.h>
-
 #include <lbtcommon.h>
 #include <lbterrors.h>
 #include <lbtgeoareabase.h>
@@ -37,9 +34,8 @@
 #include <lbttriggerdynamicinfo.h>
 #include <lbttriggerentry.h>
 
-
 #include "t_triggerfireobserver.h"	 
-void createtriggerL();
+TInt createtriggerL();
 GLDEF_C	 TInt E32Main()
 	 {
 	 CTrapCleanup* cleanup=CTrapCleanup::New(); // get clean-up stack
@@ -48,16 +44,18 @@
 		   TRAP_IGNORE(CActiveScheduler* scheduler=new(ELeave) CActiveScheduler;
 		   CActiveScheduler::Install(scheduler););
 		}
-	 TRAP_IGNORE(createtriggerL());
-	 RProcess::Rendezvous(KErrNone);
+	 TLbtTriggerId trigId = KLbtNullTriggerId;
+	 TRAP_IGNORE(trigId = createtriggerL());
+	 RProcess::Rendezvous(trigId);
     return 0;
   }
   
-  void createtriggerL()
+  TInt createtriggerL()
   {
   	RLbtServer lbtserver;
  	 RLbt lbt;
  	 
+ 	 
  	 User::LeaveIfError( lbtserver.Connect() );
      CleanupClosePushL( lbtserver );
  	 User::LeaveIfError( lbt.Open( lbtserver ) );
@@ -105,34 +103,6 @@
         
     notifier->CreateTriggers( lbt,*trig,trigId,EFalse,wait );
     wait->Start( );	
-    RProperty property;
-	CleanupClosePushL(property);
-	
-	//Allow all to ready from status information
-	_LIT_SECURITY_POLICY_PASS(EReadPolicyAlwaysPass);
-	//Delete the property if already exists
-	/*
-	 User::LeaveIfError(property.Delete(
-        KPSUidTriggerIdInfo, 
-        KLbttesttriggerid 
-        ));*/
-	
-	// Read policy is always pass and write device data capability
-	// is required to write to the status information P&S key
-	property.Define(KPSUidTriggerIdInfo,
-									   KLbttesttriggerid,
-									   RProperty::EInt,
-									   EReadPolicyAlwaysPass,
-									   TSecurityPolicy(ECapabilityWriteDeviceData) );
-	
-
-	User::LeaveIfError( property.Attach(KPSUidTriggerIdInfo, 
-										KLbttesttriggerid) );
-										
-	User::LeaveIfError( property.Set(KPSUidTriggerIdInfo, 
-									 KLbttesttriggerid, 
-									 trigId));
-	
-	
-    CleanupStack::PopAndDestroy(5,&lbtserver);
+    CleanupStack::PopAndDestroy(4,&lbtserver);
+    return trigId;
   }
\ No newline at end of file
--- a/locationtriggering/tsrc/lbtengine_test/firingofstartuptriggerandlisttrigger/conf/firingofstartuptriggerandlisttrigger.cfg	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/firingofstartuptriggerandlisttrigger/conf/firingofstartuptriggerandlisttrigger.cfg	Tue Aug 31 15:37:04 2010 +0300
@@ -1,183 +1,446 @@
 [Test]
 id 1
+title FST_01
+create FiringofStartupTriggerAndListTrigger foobar
+foobar test01
+delete foobar
+[Endtest]
+
+[Test]
+id 2
+title FST_02
+create FiringofStartupTriggerAndListTrigger foobar
+foobar test02
+delete foobar
+[Endtest]
+
+[Test]
+id 3
+title FST_03
+create FiringofStartupTriggerAndListTrigger foobar
+foobar test03
+delete foobar
+[Endtest]
+
+
+[Test]
+id 4
+title FST_04
+create FiringofStartupTriggerAndListTrigger foobar
+foobar test04
+delete foobar
+[Endtest]
+
+
+[Test]
+id 5
+title FST_05
+create FiringofStartupTriggerAndListTrigger foobar
+foobar test05
+delete foobar
+[Endtest]
+
+
+[Test]
+id 6
+title FST_06
+create FiringofStartupTriggerAndListTrigger foobar
+foobar test06
+delete foobar
+[Endtest]
+
+
+[Test]
+id 7
+title FST_07
+create FiringofStartupTriggerAndListTrigger foobar
+foobar test07
+delete foobar
+[Endtest]
+
+
+[Test]
+id 8
+title FST_08
+create FiringofStartupTriggerAndListTrigger foobar
+foobar test08
+delete foobar
+[Endtest]
+
+
+[Test]
+id 9
+title FST_09
+create FiringofStartupTriggerAndListTrigger foobar
+foobar test09
+delete foobar
+[Endtest]
+
+
+[Test]
+id 10
+title FST_10
+create FiringofStartupTriggerAndListTrigger foobar
+foobar test10
+delete foobar
+[Endtest]
+
+
+[Test]
+id 11
+title FST_11
+create FiringofStartupTriggerAndListTrigger foobar
+foobar test11
+delete foobar
+[Endtest]
+
+
+[Test]
+id 12
+title FST_12
+create FiringofStartupTriggerAndListTrigger foobar
+foobar test12
+delete foobar
+[Endtest]
+
+
+[Test]
+id 13
+title FST_13
+create FiringofStartupTriggerAndListTrigger foobar
+foobar test13
+delete foobar
+[Endtest]
+
+
+[Test]
+id 14
+title FST_14
+create FiringofStartupTriggerAndListTrigger foobar
+foobar test14
+delete foobar
+[Endtest]
+
+
+[Test]
+id 15
+title FST_15
+create FiringofStartupTriggerAndListTrigger foobar
+foobar test15
+delete foobar
+[Endtest]
+
+
+[Test]
+id 16
 title List_trigger_01
 create FiringofStartupTriggerAndListTrigger foobar
 foobar test70
 delete foobar
 [Endtest]
+
 [Test]
-id 2
+id 17
 title List_trigger_02
 create FiringofStartupTriggerAndListTrigger foobar
 foobar test71
 delete foobar
 [Endtest]
+
 [Test]
-id 3
+id 18
 title List_trigger_03
 create FiringofStartupTriggerAndListTrigger foobar
 foobar test72
 delete foobar
 [Endtest]
+
 [Test]
-id 4
+id 19
 title List_trigger_04
 create FiringofStartupTriggerAndListTrigger foobar
 foobar test73
 delete foobar
 [Endtest]
+
+
 [Test]
-id 5
+id 20
 title List_trigger_05
 create FiringofStartupTriggerAndListTrigger foobar
 foobar test74
 delete foobar
 [Endtest]
+
+
 [Test]
-id 6
+id 21
 title List_trigger_06
 create FiringofStartupTriggerAndListTrigger foobar
 foobar test75
 delete foobar
 [Endtest]
+
+
 [Test]
-id 7
+id 22
 title List_trigger_07
 create FiringofStartupTriggerAndListTrigger foobar
 foobar test76
 delete foobar
 [Endtest]
+
+
 [Test]
-id 8
+id 23
 title List_trigger_08
 create FiringofStartupTriggerAndListTrigger foobar
 foobar test77
 delete foobar
 [Endtest]
+
+
 [Test]
-id 9
+id 24
 title List_trigger_09
 create FiringofStartupTriggerAndListTrigger foobar
 foobar test78
 delete foobar
 [Endtest]
+
+
 [Test]
-id 10
+id 25
 title List_trigger_10
 create FiringofStartupTriggerAndListTrigger foobar
 foobar test79
 delete foobar
 [Endtest]
+
+
 [Test]
-id 11
+id 26
 title List_trigger_11
 create FiringofStartupTriggerAndListTrigger foobar
 foobar test80
 delete foobar
 [Endtest]
+
+
 [Test]
-id 12
+id 27
 title List_trigger_12
 create FiringofStartupTriggerAndListTrigger foobar
 foobar test81
 delete foobar
 [Endtest]
+
+
 [Test]
-id 13
+id 28
 title List_trigger_13
 create FiringofStartupTriggerAndListTrigger foobar
 foobar test82
 delete foobar
 [Endtest]
+
+
 [Test]
-id 14
+id 29
 title sorting_name_ascend
 create FiringofStartupTriggerAndListTrigger foobar
 foobar test83
 delete foobar
 [Endtest]
+
+
 [Test]
-id 15
+id 30
 title sorting_distance_ascend
 create FiringofStartupTriggerAndListTrigger foobar
 foobar test84
 delete foobar
 [Endtest]
+
+
 [Test]
-id 16
+id 31
 title List_trigger_16
 create FiringofStartupTriggerAndListTrigger foobar
 foobar test85
 delete foobar
 [Endtest]
+
+
 [Test]
-id 17
+id 32
 title List_trigger_17
 create FiringofStartupTriggerAndListTrigger foobar
 foobar test86
 delete foobar
 [Endtest]
+
+
 [Test]
-id 18
+id 33
 title List_trigger_18
 create FiringofStartupTriggerAndListTrigger foobar
 foobar test87
 delete foobar
 [Endtest]
+
+
 [Test]
-id 19
+id 34
 title List_trigger_19
 create FiringofStartupTriggerAndListTrigger foobar
 foobar test88
 delete foobar
 [Endtest]
+
+
 [Test]
-id 20
+id 35
 title List_trigger_20
 create FiringofStartupTriggerAndListTrigger foobar
 foobar test89
 delete foobar
 [Endtest]
+
+
 [Test]
-id 21
+id 36
 title List_trigger_21
 create FiringofStartupTriggerAndListTrigger foobar
 foobar test90
 delete foobar
 [Endtest]
+
+
 [Test]
-id 22
+id 37
 title List_trigger_22
 create FiringofStartupTriggerAndListTrigger foobar
 foobar test91
 delete foobar
 [Endtest]
+
+
 [Test]
-id 23
+id 38
 title List_trigger_23
 create FiringofStartupTriggerAndListTrigger foobar
 foobar test92
 delete foobar
 [Endtest]
+
+
 [Test]
-id 24
+id 39
 title sortedlist_descend
 create FiringofStartupTriggerAndListTrigger foobar
 foobar test93
 delete foobar
 [Endtest]
+
+
 [Test]
-id 25
+id 40
 title createStartuptrigger
 create FiringofStartupTriggerAndListTrigger foobar
 foobar test94
 delete foobar
 [Endtest]
+
+
 [Test]
-id 26
+id 41
 title AutoDeletionofsessiontrigger
 allownextresult -1
 create FiringofStartupTriggerAndListTrigger foobar
 foobar test95
 delete foobar
-[Endtest]
\ No newline at end of file
+[Endtest]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationtriggering/tsrc/lbtengine_test/firingofstartuptriggerandlisttrigger/data/default.nme	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,7695 @@
+$GPGGA,130044,,,,,0,00,,,M,,M,,*64
+$GPGSA,A,1,,,,,,,,,,,,,17.9,17.9,*1E
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,00,10,18,210,34*76
+$GPGSV,3,2,11,15,13,334,37,18,17,328,00,19,21,034,41,21,05,299,00*75
+$GPGSV,3,3,11,26,60,277,50,28,62,143,43,29,68,248,47,,,,*4B
+$PGRME,70.2,M,,M,70.2,M*00
+$GPGLL,6126.883,N,02351.302,E,125330,A*28
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,,T,,M,,*47
+$GPWPL,6017.083,S,02453.500,E,T025*3B
+$GPRMC,125330,A,6126.884,N,02351.300,E,000.0,360.0,110805,006.0,E*7F
+$GPRMB,A,,,,,,,,,,,,V*71
+$GPGGA,125330,6126.885,N,02351.300,E,1,00,17.9,174.2,M,20.7,M,,*7E
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.9,17.9,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,00,10,18,210,33*71
+$GPGSV,3,2,11,15,13,334,37,18,17,328,00,19,21,034,40,21,05,299,00*74
+$GPGSV,3,3,11,26,60,277,50,28,62,143,43,29,68,248,47,,,,*4B
+$PGRME,70.2,M,,M,70.2,M*00
+$GPGLL,6126.887,N,02351.298,E,125330,A*2E
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,,T,,M,,*47
+$GPWPL,6018.083,N,02453.500,E,T024*28
+$GPRMC,125330,A,6126.889,N,02351.296,E,000.0,360.0,110805,006.0,E*7C
+$GPRMB,A,,,,,,,,,,,,V*71
+$GPGGA,125330,6126.889,N,02351.296,E,1,03,17.9,174.2,M,20.7,M,,*7F
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.9,17.9,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,00,10,18,210,33*71
+$GPGSV,3,2,11,15,13,334,38,18,17,328,00,19,22,036,39,21,05,299,00*74
+$GPGSV,3,3,11,26,60,277,50,28,62,143,42,29,68,248,47,,,,*4A
+$PGRME,70.2,M,,M,70.2,M*00
+$GPGLL,6126.891,N,02351.294,E,125330,A*25
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,,T,,M,,*47
+$GPWPL,6017.083,N,02452.500,W,T023*33
+$GPRMC,125330,A,6126.893,N,02351.292,E,000.0,360.0,110805,006.0,E*73
+$GPRMB,A,,,,,,,,,,,,V*71
+$GPGGA,125330,6126.894,N,02351.291,E,1,03,17.9,174.2,M,20.7,M,,*74
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.9,17.9,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,00,10,18,210,32*70
+$GPGSV,3,2,11,15,13,334,38,18,17,328,00,19,22,036,38,21,05,299,00*75
+$GPGSV,3,3,11,26,60,277,50,28,62,143,43,29,68,248,47,,,,*4B
+$PGRME,70.2,M,,M,70.2,M*00
+$GPGLL,6126.896,N,02351.289,E,125330,A*2E
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02555.500,E,T022*26
+$GPRMC,125336,A,6126.898,N,02351.287,E,014.9,334.1,110805,006.0,E*76
+$GPRMB,A,1.63,R,T013,T012,6129.236,N,02346.327,E,003.3,314.6,014.0,V*26
+$GPGGA,125336,6126.898,N,02351.286,E,1,03,17.9,174.2,M,20.7,M,,*78
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.9,17.9,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,00,10,18,210,32*70
+$GPGSV,3,2,11,15,13,334,38,18,17,328,00,19,22,036,40,21,05,299,00*7A
+$GPGSV,3,3,11,26,60,277,50,28,62,143,43,29,68,248,46,,,,*4A
+$PGRME,70.2,M,,M,70.2,M*00
+$GPGLL,6126.900,N,02351.284,E,125337,A*2A
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T021*23
+$GPRMC,125337,A,6126.903,N,02351.283,E,013.8,329.4,110805,006.0,E*7F
+$GPRMB,A,1.62,R,T013,T012,6129.236,N,02346.327,E,003.3,314.5,014.0,V*24
+$GPGGA,125337,6126.904,N,02351.282,E,1,03,17.8,174.2,M,20.7,M,,*78
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.8,17.8,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,00,10,18,210,32*70
+$GPGSV,3,2,11,15,13,334,40,18,17,328,00,19,22,036,41,21,05,299,00*74
+$GPGSV,3,3,11,26,60,277,50,28,62,143,42,29,68,248,48,,,,*45
+$PGRME,70.2,M,,M,70.2,M*00
+$GPGLL,6126.906,N,02351.280,E,125337,A*28
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6116.083,N,02452.500,E,T020*22
+$GPRMC,125338,A,6126.907,N,02351.278,E,013.8,329.4,110805,006.0,E*70
+$GPRMB,A,1.62,R,T013,T012,6129.236,N,02346.327,E,003.3,314.5,013.4,V*27
+$GPGGA,125338,6126.912,N,02351.283,E,1,03,17.8,174.2,M,20.7,M,,*71
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.8,17.8,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,00,10,18,210,31*73
+$GPGSV,3,2,11,15,13,334,40,18,17,328,00,19,22,036,43,21,05,299,00*76
+$GPGSV,3,3,11,26,60,277,49,28,62,143,42,29,68,248,48,,,,*4D
+$PGRME,70.2,M,,M,70.2,M*00
+$GPGLL,6126.914,N,02351.281,E,125339,A*24
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,S,02452.500,E,T019*34
+$GPRMC,125340,A,6126.918,N,02351.284,E,014.3,343.5,110805,006.0,E*73
+$GPRMB,A,1.61,R,T013,T012,6129.236,N,02346.327,E,003.3,314.3,012.5,V*22
+$GPGGA,125340,6126.919,N,02351.283,E,1,03,17.8,174.2,M,20.7,M,,*75
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.8,17.8,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,41,10,18,210,31*76
+$GPGSV,3,2,11,15,13,334,41,18,17,328,44,19,22,036,43,21,05,299,00*77
+$GPGSV,3,3,11,26,60,277,49,28,62,143,42,29,68,248,49,,,,*4C
+$PGRME,70.2,M,,M,70.2,M*00
+$GPGLL,6126.921,N,02351.282,E,125340,A*2F
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,N,02452.500,E,T018*28
+$GPRMC,125341,A,6126.927,N,02351.286,E,015.9,349.3,110805,006.0,E*7B
+$GPRMB,A,1.60,R,T013,T012,6129.236,N,02346.327,E,003.3,314.3,012.5,V*23
+$GPGGA,125341,6126.927,N,02351.285,E,1,03,17.8,174.2,M,20.7,M,,*7F
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.8,17.8,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,40,10,18,210,31*77
+$GPGSV,3,2,11,15,13,334,41,18,17,328,44,19,22,036,43,21,05,299,00*77
+$GPGSV,3,3,11,26,60,277,49,28,62,143,41,29,68,248,49,,,,*4F
+$PGRME,69.7,M,,M,69.7,M*00
+$GPGLL,6126.932,N,02351.288,E,125342,A*25
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6013.283,N,02456.650,E,T017*22
+$GPRMC,125342,A,6126.935,N,02351.287,E,017.9,354.2,110805,006.0,E*75
+$GPRMB,A,1.59,R,T013,T012,6129.236,N,02346.327,E,003.3,314.1,013.7,V*28
+$GPGGA,125343,6126.937,N,02351.288,E,1,03,17.8,174.2,M,20.7,M,,*71
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.8,17.8,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,39,10,18,210,32*7A
+$GPGSV,3,2,11,15,13,334,42,18,17,328,44,19,22,036,43,21,06,300,00*76
+$GPGSV,3,3,11,26,60,277,49,28,62,143,42,29,68,248,49,,,,*4C
+$PGRME,69.7,M,,M,69.7,M*00
+$GPGLL,6126.940,N,02351.287,E,125343,A*2E
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T016*21
+$GPRMC,125344,A,6126.943,N,02351.287,E,018.5,353.9,110805,006.0,E*7D
+$GPRMB,A,1.58,R,T013,T012,6129.236,N,02346.327,E,003.3,314.0,014.2,V*2A
+$GPGGA,125344,6126.944,N,02351.287,E,1,03,17.8,174.2,M,20.7,M,,*7D
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.8,17.8,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,40,10,18,210,34*72
+$GPGSV,3,2,11,15,13,334,41,18,17,328,43,19,22,036,43,21,06,300,00*72
+$GPGSV,3,3,11,26,60,277,49,28,62,143,41,29,68,248,49,,,,*4F
+$PGRME,69.7,M,,M,69.7,M*00
+$GPGLL,6126.947,N,02351.287,E,125345,A*2F
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0000.000,N,00000.000,W,T015*39
+$GPRMC,125345,A,6126.950,N,02351.286,E,018.6,354.1,110805,006.0,E*73
+$GPRMB,A,1.58,R,T013,T012,6129.236,N,02346.327,E,003.3,313.9,014.2,V*24
+$GPGGA,125345,6126.951,N,02351.286,E,1,03,17.7,174.2,M,20.7,M,,*76
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.7,17.7,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,39,10,18,210,35*7D
+$GPGSV,3,2,11,15,13,334,42,18,17,328,42,19,22,036,43,21,06,300,00*70
+$GPGSV,3,3,11,26,60,277,49,28,62,143,41,29,68,248,49,,,,*4F
+$PGRME,69.7,M,,M,69.7,M*00
+$GPGLL,6126.955,N,02351.286,E,125346,A*2E
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0009.000,N,02430.650,E,T014*25
+$GPRMC,125346,A,6126.957,N,02351.285,E,018.7,354.1,110805,006.0,E*75
+$GPRMB,A,1.57,R,T013,T012,6129.236,N,02346.327,E,003.3,313.8,014.3,V*2B
+$GPGGA,125347,6126.958,N,02351.285,E,1,03,17.7,174.2,M,20.7,M,,*7E
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.7,17.7,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,39,10,18,210,37*7F
+$GPGSV,3,2,11,15,13,334,41,18,17,328,42,19,22,036,43,21,06,300,00*73
+$GPGSV,3,3,11,26,60,277,49,28,62,143,39,29,68,248,49,,,,*40
+$PGRME,69.7,M,,M,69.7,M*00
+$GPGLL,6126.962,N,02351.285,E,125347,A*28
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.285,N,02430.651,E,T013*23
+$GPRMC,125348,A,6126.965,N,02351.284,E,018.8,354.2,110805,006.0,E*77
+$GPRMB,A,1.56,R,T013,T012,6129.236,N,02346.327,E,003.3,313.7,014.3,V*25
+$GPGGA,125348,6126.966,N,02351.284,E,1,03,17.7,174.2,M,20.7,M,,*7D
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.7,17.7,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,39,10,18,210,37*7F
+$GPGSV,3,2,11,15,13,334,41,18,17,328,42,19,22,036,43,21,06,300,00*73
+$GPGSV,3,3,11,26,60,277,49,28,62,143,39,29,68,248,49,,,,*40
+$PGRME,69.7,M,,M,69.7,M*00
+$GPGLL,6126.969,N,02351.284,E,125349,A*2C
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.236,N,02346.327,E,T012*22
+$GPRMC,125349,A,6126.972,N,02351.282,E,019.0,354.5,110805,006.0,E*78
+$GPRMB,A,1.56,R,T013,T012,6129.236,N,02346.327,E,003.3,313.7,014.4,V*22
+$GPGGA,125349,6126.973,N,02351.282,E,1,03,17.7,174.2,M,20.7,M,,*7E
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.7,17.7,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,40,10,18,210,37*71
+$GPGSV,3,2,11,15,13,334,42,18,17,328,42,19,22,036,44,21,06,300,00*77
+$GPGSV,3,3,11,26,60,277,49,28,62,143,39,29,68,248,49,,,,*40
+$PGRME,69.7,M,,M,69.7,M*00
+$GPGLL,6126.976,N,02351.282,E,125350,A*2C
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6114.236,N,02346.327,E,T011*2F
+$GPRMC,125350,A,6126.979,N,02351.281,E,019.1,354.5,110805,006.0,E*79
+$GPRMB,A,1.55,R,T013,T012,6129.236,N,02346.327,E,003.3,313.6,014.4,V*20
+$GPGGA,125351,6126.980,N,02351.281,E,1,03,17.7,174.2,M,20.7,M,,*78
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.7,17.7,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,42,10,18,210,37*73
+$GPGSV,3,2,11,15,13,334,43,18,17,328,42,19,22,036,44,21,06,300,00*76
+$GPGSV,3,3,11,26,60,277,49,28,62,143,38,29,68,248,48,,,,*40
+$PGRME,69.7,M,,M,69.7,M*00
+$GPGLL,6126.984,N,02351.280,E,125351,A*22
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6220.236,N,02346.327,E,T010*2A
+$GPRMC,125352,A,6126.987,N,02351.280,E,019.1,354.5,110805,006.0,E*7B
+$GPRMB,A,1.54,R,T013,T012,6129.236,N,02346.327,E,003.3,313.5,014.5,V*23
+$GPGGA,125352,6126.988,N,02351.279,E,1,03,17.7,174.2,M,20.7,M,,*74
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.7,17.7,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,42,10,18,210,37*73
+$GPGSV,3,2,11,15,13,334,43,18,17,328,42,19,22,036,43,21,06,300,00*71
+$GPGSV,3,3,11,26,60,277,49,28,62,143,37,29,68,248,48,,,,*4F
+$PGRME,69.1,M,,M,69.1,M*00
+$GPGLL,6126.991,N,02351.279,E,125352,A*23
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6120.236,N,02346.327,E,T009*21
+$GPRMC,125353,A,6126.994,N,02351.279,E,019.3,354.6,110805,006.0,E*7F
+$GPRMB,A,1.54,R,T013,T012,6129.236,N,02346.327,E,003.3,313.4,014.5,V*22
+$GPGGA,125353,6126.995,N,02351.279,E,1,03,17.6,174.2,M,20.7,M,,*78
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.6,17.6,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,43,10,18,210,37*72
+$GPGSV,3,2,11,15,13,334,43,18,17,328,42,19,22,036,42,21,06,300,00*70
+$GPGSV,3,3,11,26,60,277,48,28,62,143,36,29,68,248,48,,,,*4F
+$PGRME,69.1,M,,M,69.1,M*00
+$GPGLL,6126.998,N,02351.278,E,125354,A*2D
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.234,N,02346.317,E,T008*28
+$GPRMC,125354,A,6127.001,N,02351.278,E,019.3,354.6,110805,006.0,E*7D
+$GPRMB,A,1.53,R,T013,T012,6129.236,N,02346.327,E,003.3,313.3,014.5,V*22
+$GPGGA,125354,6127.002,N,02351.277,E,1,03,17.6,174.2,M,20.7,M,,*77
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.6,17.6,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,44,10,18,210,35*77
+$GPGSV,3,2,11,15,13,334,44,18,17,328,43,19,22,036,40,21,06,300,00*74
+$GPGSV,3,3,11,26,60,277,49,28,62,143,36,29,68,248,48,,,,*4E
+$PGRME,68.9,M,,M,68.9,M*00
+$GPGLL,6127.006,N,02351.277,E,125355,A*2C
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6157.564,N,02406.158,E,T007*26
+$GPRMC,125356,A,6127.009,N,02351.277,E,019.3,354.5,110805,006.0,E*7B
+$GPRMB,A,1.52,R,T013,T012,6129.236,N,02346.327,E,003.3,313.2,014.5,V*22
+$GPGGA,125356,6127.010,N,02351.277,E,1,03,17.6,174.2,M,20.7,M,,*76
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.6,17.6,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,45,10,18,210,34*77
+$GPGSV,3,2,11,15,13,334,43,18,17,328,43,19,22,036,39,21,06,300,00*7D
+$GPGSV,3,3,11,26,60,277,49,28,62,143,38,29,68,248,49,,,,*41
+$PGRME,68.9,M,,M,68.9,M*00
+$GPGLL,6127.014,N,02351.276,E,125356,A*2D
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6145.919,N,02345.544,E,T006*2B
+$GPRMC,125357,A,6127.017,N,02351.276,E,019.7,354.4,110805,006.0,E*71
+$GPRMB,A,1.51,R,T013,T012,6129.236,N,02346.327,E,003.3,313.1,014.8,V*2F
+$GPGGA,125357,6127.018,N,02351.276,E,1,03,17.6,174.2,M,20.7,M,,*7E
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.6,17.6,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,45,10,18,210,34*77
+$GPGSV,3,2,11,15,13,334,44,18,17,328,44,19,22,036,38,21,06,300,00*7C
+$GPGSV,3,3,11,26,60,277,49,28,62,143,40,29,68,248,49,,,,*4E
+$PGRME,68.9,M,,M,68.9,M*00
+$GPGLL,6127.023,N,02351.275,E,125358,A*24
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6130.198,N,02342.702,E,T005*2C
+$GPRMC,125358,A,6127.025,N,02351.274,E,019.8,353.9,110805,006.0,E*78
+$GPRMB,A,1.51,R,T013,T012,6129.236,N,02346.327,E,003.2,313.0,015.0,V*26
+$GPGGA,125358,6127.026,N,02351.274,E,1,03,17.6,174.2,M,20.7,M,,*7E
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.6,17.6,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,43,10,18,210,35*70
+$GPGSV,3,2,11,15,13,334,42,18,17,328,43,19,22,036,37,21,06,300,35*74
+$GPGSV,3,3,11,26,60,277,49,28,62,143,40,29,68,248,49,,,,*4E
+$PGRME,68.9,M,,M,68.9,M*00
+$GPGLL,6127.030,N,02351.273,E,125359,A*21
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6216.183,N,02619.685,E,T004*25
+$GPRMC,125359,A,6127.033,N,02351.272,E,019.9,353.2,110805,006.0,E*72
+$GPRMB,A,1.50,R,T013,T012,6129.236,N,02346.327,E,003.2,312.9,015.2,V*2D
+$GPGGA,125359,6127.034,N,02351.272,E,1,03,17.6,174.2,M,20.7,M,,*7A
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.6,17.6,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,42,10,18,210,37*73
+$GPGSV,3,2,11,15,13,334,41,18,17,328,42,19,22,036,36,21,06,300,35*77
+$GPGSV,3,3,11,26,60,277,49,28,62,143,40,29,68,248,49,,,,*4E
+$PGRME,68.9,M,,M,68.9,M*00
+$GPGLL,6127.038,N,02351.271,E,125400,A*20
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6215.064,N,02603.837,E,T003*25
+$GPRMC,125401,A,6127.041,N,02351.270,E,020.1,352.7,110805,006.0,E*79
+$GPRMB,A,1.49,R,T013,T012,6129.236,N,02346.327,E,003.2,312.8,015.4,V*22
+$GPGGA,125401,6127.043,N,02351.269,E,1,03,17.5,174.2,M,20.7,M,,*79
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.5,17.5,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,42,10,18,210,36*72
+$GPGSV,3,2,11,15,13,334,40,18,17,328,42,19,22,036,36,21,06,300,34*77
+$GPGSV,3,3,11,26,60,277,49,28,62,143,40,29,68,248,49,,,,*4E
+$PGRME,68.9,M,,M,68.9,M*00
+$GPGLL,6127.046,N,02351.268,E,125402,A*23
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6151.098,N,02510.924,E,T002*26
+$GPRMC,125402,A,6127.049,N,02351.267,E,020.2,352.2,110805,006.0,E*72
+$GPRMB,A,1.48,R,T013,T012,6129.236,N,02346.327,E,003.2,312.8,015.6,V*21
+$GPGGA,125402,6127.050,N,02351.267,E,1,03,17.5,174.2,M,20.7,M,,*76
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.5,17.5,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,40,10,18,210,38*7E
+$GPGSV,3,2,11,15,13,334,40,18,17,328,42,19,22,036,39,21,06,300,34*78
+$GPGSV,3,3,11,26,58,279,49,28,62,143,41,29,68,248,49,,,,*4A
+$PGRME,68.5,M,,M,68.5,M*00
+$GPGLL,6127.054,N,02351.265,E,125403,A*2C
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.271,N,02346.376,E,T001*27
+$GPRMC,125404,A,6127.057,N,02351.265,E,020.3,351.6,110805,006.0,E*7F
+$GPRMB,A,1.48,R,T013,T012,6129.236,N,02346.327,E,003.2,312.7,015.8,V*20
+$GPGGA,125404,6127.058,N,02351.263,E,1,03,17.5,174.2,M,20.7,M,,*7C
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.5,17.5,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,39,10,18,210,39*71
+$GPGSV,3,2,11,15,13,334,40,18,17,328,41,19,22,036,40,21,06,300,33*72
+$GPGSV,3,3,11,26,58,279,50,28,62,143,41,29,68,248,49,,,,*42
+$PGRME,68.5,M,,M,68.5,M*00
+$GPGLL,6127.062,N,02351.262,E,125404,A*29
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPRTE,4,1,c,0,T030,T029,T028,T027,T026,T025,T024,T023,T022*49
+$GPRTE,4,2,c,0,T021,T020,T019,T018,T017,T016,T015,T014,T013*4B
+$GPRTE,4,3,c,0,T012,T011,T010,T009,T008,T007,T006,T005,T004*4B
+$GPRTE,4,4,c,0,T003,T002,T001*4F
+$GPWPL,6016.083,N,02452.500,E,T030*22
+$GPRMC,125405,A,6127.067,N,02351.259,E,020.5,350.6,110805,006.0,E*75
+$GPRMB,A,1.47,R,T013,T012,6129.236,N,02346.327,E,003.2,312.6,016.1,V*24
+$GPGGA,125405,6127.068,N,02351.259,E,1,03,17.5,174.2,M,20.7,M,,*77
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.5,17.5,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,37,10,18,210,40*71
+$GPGSV,3,2,11,15,13,334,38,18,17,328,41,19,22,036,39,21,06,300,34*74
+$GPGSV,3,3,11,26,58,279,50,28,62,143,42,29,68,248,49,,,,*41
+$PGRME,68.5,M,,M,68.5,M*00
+$GPGLL,6127.072,N,02351.257,E,125406,A*2C
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T029*2D
+$GPRMC,125407,A,6127.075,N,02351.256,E,020.5,350.0,110805,006.0,E*7D
+$GPRMB,A,1.46,R,T013,T012,6129.236,N,02346.327,E,003.2,312.5,016.3,V*24
+$GPGGA,125407,6127.076,N,02351.255,E,1,03,17.5,174.2,M,20.7,M,,*76
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.5,17.5,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,36,10,18,210,40*70
+$GPGSV,3,2,11,15,13,334,38,18,17,328,41,19,22,036,38,21,06,300,35*74
+$GPGSV,3,3,11,26,58,279,50,28,62,143,41,29,68,248,49,,,,*42
+$PGRME,68.5,M,,M,68.5,M*00
+$GPGLL,6127.080,N,02351.253,E,125407,A*24
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6023.283,N,02430.650,E,T028*2D
+$GPRMC,125408,A,6127.084,N,02351.250,E,020.7,349.1,110805,006.0,E*71
+$GPRMB,A,1.45,R,T013,T012,6129.236,N,02346.327,E,003.2,312.4,016.6,V*23
+$GPGGA,125408,6127.085,N,02351.250,E,1,03,17.4,174.2,M,20.7,M,,*71
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.4,17.4,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,36,10,18,210,40*70
+$GPGSV,3,2,11,15,13,334,38,18,17,328,40,19,22,036,37,21,06,300,34*7B
+$GPGSV,3,3,11,26,58,279,50,28,62,143,40,29,68,248,49,,,,*43
+$PGRME,68.5,M,,M,68.5,M*00
+$GPGLL,6127.088,N,02351.248,E,125409,A*28
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T027*23
+$GPRMC,125409,A,6127.092,N,02351.246,E,020.8,348.7,110805,006.0,E*78
+$GPRMB,A,1.45,R,T013,T012,6129.236,N,02346.327,E,003.2,312.3,016.6,V*24
+$GPGGA,125409,6127.093,N,02351.245,E,1,03,17.4,174.2,M,20.7,M,,*73
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.4,17.4,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,35,10,18,210,40*73
+$GPGSV,3,2,11,15,13,334,38,18,17,328,40,19,22,036,37,21,06,300,34*7B
+$GPGSV,3,3,11,26,58,279,50,28,62,143,40,29,68,248,49,,,,*43
+$PGRME,68.5,M,,M,68.5,M*00
+$GPGLL,6127.097,N,02351.242,E,125410,A*24
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T026*24
+$GPRMC,125410,A,6127.100,N,02351.241,E,020.9,348.6,110805,006.0,E*7D
+$GPRMB,A,1.44,R,T013,T012,6129.236,N,02346.327,E,003.2,312.2,016.8,V*2A
+$GPGGA,125411,6127.102,N,02351.239,E,1,03,17.4,174.2,M,20.7,M,,*78
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.4,17.4,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,34,10,18,210,40*72
+$GPGSV,3,2,11,15,13,334,37,18,17,328,40,19,22,036,35,21,06,300,00*71
+$GPGSV,3,3,11,26,58,279,50,28,60,147,40,29,68,248,49,,,,*45
+$PGRME,68.5,M,,M,68.5,M*00
+$GPGLL,6127.105,N,02351.238,E,125411,A*22
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,S,02453.500,E,T025*3B
+$GPRMC,125412,A,6127.108,N,02351.236,E,021.0,348.2,110805,006.0,E*7B
+$GPRMB,A,1.43,R,T013,T012,6129.236,N,02346.327,E,003.2,312.2,017.0,V*24
+$GPGGA,125412,6127.110,N,02351.234,E,1,03,17.4,174.2,M,20.7,M,,*75
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.4,17.4,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,33,10,18,210,41*74
+$GPGSV,3,2,11,15,13,334,39,18,17,328,40,19,22,036,34,21,06,300,00*7E
+$GPGSV,3,3,11,26,58,279,50,28,60,147,40,29,68,248,49,,,,*45
+$PGRME,68.5,M,,M,68.5,M*00
+$GPGLL,6127.113,N,02351.233,E,125413,A*2C
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6018.083,N,02453.500,E,T024*28
+$GPRMC,125413,A,6127.116,N,02351.229,E,021.2,347.5,110805,006.0,E*71
+$GPRMB,A,1.42,R,T013,T012,6129.236,N,02346.327,E,003.2,312.1,017.3,V*25
+$GPGGA,125413,6127.118,N,02351.228,E,1,03,17.4,174.2,M,20.7,M,,*71
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.4,17.4,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,34,10,18,210,40*72
+$GPGSV,3,2,11,15,13,334,40,18,17,328,40,19,22,036,38,21,06,300,00*7C
+$GPGSV,3,3,11,26,58,279,50,28,60,147,40,29,68,248,49,,,,*45
+$PGRME,68.0,M,,M,68.0,M*00
+$GPGLL,6127.121,N,02351.225,E,125414,A*2D
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,W,T023*33
+$GPRMC,125414,A,6127.124,N,02351.223,E,021.3,347.2,110805,006.0,E*7B
+$GPRMB,A,1.42,R,T013,T012,6129.236,N,02346.327,E,003.2,312.0,017.4,V*23
+$GPGGA,125415,6127.125,N,02351.223,E,1,03,17.4,174.2,M,20.7,M,,*72
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.3,17.3,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,35,10,18,210,40*73
+$GPGSV,3,2,11,15,13,334,41,18,17,328,41,19,22,036,37,21,06,300,00*73
+$GPGSV,3,3,11,26,58,279,49,28,60,147,41,29,68,254,48,,,,*40
+$PGRME,68.0,M,,M,68.0,M*00
+$GPGLL,6127.129,N,02351.219,E,125415,A*2B
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02555.500,E,T022*26
+$GPRMC,125416,A,6127.134,N,02351.215,E,021.4,346.4,110805,006.0,E*7D
+$GPRMB,A,1.41,R,T013,T012,6129.236,N,02346.327,E,003.2,311.9,017.5,V*2B
+$GPGGA,125416,6127.135,N,02351.215,E,1,03,17.3,174.2,M,20.7,M,,*72
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.3,17.3,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,34,10,18,210,39*7C
+$GPGSV,3,2,11,15,13,334,41,18,17,328,40,19,22,036,36,21,06,300,00*73
+$GPGSV,3,3,11,26,58,279,49,28,60,147,40,29,68,254,48,,,,*41
+$PGRME,68.0,M,,M,68.0,M*00
+$GPGLL,6127.138,N,02351.213,E,125417,A*23
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T021*23
+$GPRMC,125417,A,6127.142,N,02351.210,E,021.5,346.2,110805,006.0,E*7F
+$GPRMB,A,1.40,R,T013,T012,6129.236,N,02346.327,E,003.1,311.9,017.8,V*24
+$GPGGA,125417,6127.143,N,02351.209,E,1,03,17.3,174.2,M,20.7,M,,*7F
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.3,17.3,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,33,10,18,210,38*7A
+$GPGSV,3,2,11,15,13,334,41,18,17,328,40,19,22,037,36,21,06,300,00*72
+$GPGSV,3,3,11,26,58,279,49,28,60,147,39,29,68,254,48,,,,*4F
+$PGRME,68.0,M,,M,68.0,M*00
+$GPGLL,6127.146,N,02351.207,E,125418,A*20
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6116.083,N,02452.500,E,T020*22
+$GPRMC,125418,A,6127.150,N,02351.203,E,021.5,345.7,110805,006.0,E*77
+$GPRMB,A,1.39,R,T013,T012,6129.236,N,02346.327,E,003.1,311.8,017.9,V*2A
+$GPGGA,125419,6127.151,N,02351.203,E,1,03,17.3,174.2,M,20.7,M,,*78
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.3,17.3,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,33,10,18,210,37*75
+$GPGSV,3,2,11,15,13,334,41,18,17,328,41,19,22,037,36,21,06,300,00*73
+$GPGSV,3,3,11,26,58,279,50,28,60,147,39,29,68,254,48,,,,*47
+$PGRME,68.0,M,,M,68.0,M*00
+$GPGLL,6127.155,N,02351.199,E,125419,A*27
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,S,02452.500,E,T019*34
+$GPRMC,125420,A,6127.158,N,02351.197,E,021.6,345.3,110805,006.0,E*7D
+$GPRMB,A,1.39,R,T013,T012,6129.236,N,02346.327,E,003.1,311.7,018.0,V*23
+$GPGGA,125420,6127.159,N,02351.194,E,1,03,17.3,174.2,M,20.7,M,,*77
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.3,17.3,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,34,10,18,210,36*73
+$GPGSV,3,2,11,15,13,334,41,18,17,328,41,19,22,037,35,21,06,300,00*70
+$GPGSV,3,3,11,26,58,279,50,28,60,147,39,29,68,254,48,,,,*47
+$PGRME,68.0,M,,M,68.0,M*00
+$GPGLL,6127.163,N,02351.192,E,125420,A*23
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,N,02452.500,E,T018*28
+$GPRMC,125421,A,6127.166,N,02351.188,E,021.8,344.6,110805,006.0,E*75
+$GPRMB,A,1.38,R,T013,T012,6129.236,N,02346.327,E,003.1,311.7,018.3,V*21
+$GPGGA,125421,6127.167,N,02351.188,E,1,03,17.3,174.2,M,20.7,M,,*76
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.3,17.3,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,34,10,18,210,36*73
+$GPGSV,3,2,11,15,13,334,40,18,17,328,42,19,22,037,35,21,06,300,00*72
+$GPGSV,3,3,11,26,58,279,50,28,60,147,39,29,68,254,48,,,,*47
+$PGRME,68.0,M,,M,68.0,M*00
+$GPGLL,6127.171,N,02351.186,E,125422,A*27
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6013.283,N,02456.650,E,T017*22
+$GPRMC,125422,A,6127.174,N,02351.182,E,021.8,344.0,110805,006.0,E*79
+$GPRMB,A,1.37,R,T013,T012,6129.236,N,02346.327,E,003.1,311.6,018.4,V*28
+$GPGGA,125422,6127.175,N,02351.181,E,1,03,17.3,174.2,M,20.7,M,,*7F
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.3,17.3,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,33,10,18,210,35*77
+$GPGSV,3,2,11,15,13,334,38,18,17,328,42,19,22,037,34,21,06,300,00*7C
+$GPGSV,3,3,11,26,58,279,51,28,60,147,38,29,68,254,49,,,,*46
+$PGRME,68.0,M,,M,68.0,M*00
+$GPGLL,6127.179,N,02351.176,E,125423,A*21
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T016*21
+$GPRMC,125424,A,6127.182,N,02351.174,E,021.9,343.6,110805,006.0,E*7F
+$GPRMB,A,1.37,R,T013,T012,6129.236,N,02346.327,E,003.1,311.5,018.6,V*29
+$GPGGA,125424,6127.184,N,02351.171,E,1,03,17.2,174.2,M,20.7,M,,*79
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.2,17.2,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,36,10,18,210,34*73
+$GPGSV,3,2,11,15,13,334,38,18,17,328,41,19,22,037,34,21,06,300,00*7F
+$GPGSV,3,3,11,26,58,279,51,28,60,147,38,29,68,254,49,,,,*46
+$PGRME,68.0,M,,M,68.0,M*00
+$GPGLL,6127.187,N,02351.169,E,125424,A*29
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0000.000,N,00000.000,W,T015*39
+$GPRMC,125425,A,6127.190,N,02351.167,E,021.9,342.9,110805,006.0,E*71
+$GPRMB,A,1.36,R,T013,T012,6129.236,N,02346.327,E,003.1,311.4,018.7,V*28
+$GPGGA,125425,6127.191,N,02351.166,E,1,03,17.2,174.2,M,20.7,M,,*7A
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.2,17.2,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,38,10,18,210,34*7D
+$GPGSV,3,2,11,15,13,334,37,18,17,328,41,19,22,037,36,21,06,300,00*72
+$GPGSV,3,3,11,26,58,279,51,28,60,147,39,29,68,254,49,,,,*47
+$PGRME,67.4,M,,M,67.4,M*00
+$GPGLL,6127.195,N,02351.161,E,125426,A*20
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0009.000,N,02430.650,E,T014*25
+$GPRMC,125426,A,6127.198,N,02351.156,E,021.9,341.9,110805,006.0,E*7B
+$GPRMB,A,1.35,R,T013,T012,6129.236,N,02346.327,E,003.1,311.4,018.9,V*25
+$GPGGA,125426,6127.199,N,02351.156,E,1,03,17.2,174.2,M,20.7,M,,*72
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.2,17.2,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,40,10,18,210,34*72
+$GPGSV,3,2,11,15,13,334,36,18,17,328,41,19,22,037,35,21,06,300,00*70
+$GPGSV,3,3,11,26,58,279,51,28,60,147,39,29,68,254,50,,,,*4F
+$PGRME,67.4,M,,M,67.4,M*00
+$GPGLL,6127.203,N,02351.153,E,125427,A*2C
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.285,N,02430.651,E,T013*23
+$GPRMC,125427,A,6127.206,N,02351.148,E,021.9,341.4,110805,006.0,E*7C
+$GPRMB,A,1.35,R,T013,T012,6129.236,N,02346.327,E,003.1,311.3,018.9,V*22
+$GPGGA,125428,6127.207,N,02351.147,E,1,03,17.2,174.2,M,20.7,M,,*78
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.2,17.2,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,42,10,18,210,35*71
+$GPGSV,3,2,11,15,13,334,35,18,17,328,41,19,22,037,37,21,06,300,00*71
+$GPGSV,3,3,11,26,58,279,51,28,60,147,42,29,68,254,50,,,,*43
+$PGRME,67.4,M,,M,67.4,M*00
+$GPGLL,6127.211,N,02351.142,E,125428,A*20
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.236,N,02346.327,E,T012*22
+$GPRMC,125429,A,6127.214,N,02351.140,E,021.8,341.0,110805,006.0,E*7C
+$GPRMB,A,1.34,R,T013,T012,6129.236,N,02346.327,E,003.1,311.3,019.0,V*2B
+$GPGGA,125429,6127.215,N,02351.136,E,1,03,17.2,174.2,M,20.7,M,,*7C
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.2,17.2,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,42,10,18,210,35*71
+$GPGSV,3,2,11,15,13,334,35,18,17,328,41,19,22,037,36,21,06,300,00*70
+$GPGSV,3,3,11,26,58,279,51,28,60,147,42,29,68,254,49,,,,*4B
+$PGRME,67.4,M,,M,67.4,M*00
+$GPGLL,6127.218,N,02351.134,E,125429,A*29
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6114.236,N,02346.327,E,T011*2F
+$GPRMC,125429,A,6127.221,N,02351.132,E,021.7,340.6,110805,006.0,E*77
+$GPRMB,A,1.34,R,T013,T012,6129.236,N,02346.327,E,003.1,311.2,019.0,V*2A
+$GPGGA,125430,6127.222,N,02351.128,E,1,03,17.2,174.2,M,20.7,M,,*7F
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.2,17.2,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,43,10,18,210,34*71
+$GPGSV,3,2,11,15,13,334,34,18,17,328,41,19,22,037,35,21,06,300,00*72
+$GPGSV,3,3,11,26,58,279,51,28,60,147,42,29,68,254,49,,,,*4B
+$PGRME,67.4,M,,M,67.4,M*00
+$GPGLL,6127.226,N,02351.125,E,125430,A*2C
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6220.236,N,02346.327,E,T010*2A
+$GPRMC,125431,A,6127.229,N,02351.120,E,021.7,339.9,110805,006.0,E*74
+$GPRMB,A,1.33,R,T013,T012,6129.236,N,02346.327,E,003.1,311.2,019.0,V*2D
+$GPGGA,125431,6127.230,N,02351.119,E,1,03,17.1,174.2,M,20.7,M,,*7C
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.1,17.1,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,43,10,18,210,33*76
+$GPGSV,3,2,11,15,13,334,34,18,17,328,42,19,22,037,38,21,06,300,00*7C
+$GPGSV,3,3,11,26,58,279,51,28,60,147,43,29,68,254,49,,,,*4A
+$PGRME,67.4,M,,M,67.4,M*00
+$GPGLL,6127.233,N,02351.114,E,125432,A*28
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6120.236,N,02346.327,E,T009*21
+$GPRMC,125433,A,6127.236,N,02351.111,E,021.6,339.5,110805,006.0,E*77
+$GPRMB,A,1.32,R,T013,T012,6129.236,N,02346.327,E,003.0,311.1,019.0,V*2E
+$GPGGA,125433,6127.237,N,02351.111,E,1,03,17.1,174.2,M,20.7,M,,*71
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.1,17.1,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,43,10,18,210,33*76
+$GPGSV,3,2,11,15,13,334,33,18,17,328,42,19,22,037,37,21,06,300,00*74
+$GPGSV,3,3,11,26,58,279,51,28,60,147,43,29,68,254,49,,,,*4A
+$PGRME,67.4,M,,M,67.4,M*00
+$GPGLL,6127.240,N,02351.105,E,125433,A*2D
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.234,N,02346.317,E,T008*28
+$GPRMC,125434,A,6127.243,N,02351.100,E,021.6,338.9,110805,006.0,E*7F
+$GPRMB,A,1.32,R,T013,T012,6129.236,N,02346.327,E,003.0,311.1,019.1,V*2F
+$GPGGA,125434,6127.244,N,02351.099,E,1,03,17.1,174.2,M,20.7,M,,*73
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.1,17.1,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,43,10,18,210,33*76
+$GPGSV,3,2,11,15,13,334,33,18,17,328,41,19,22,037,37,21,06,300,00*77
+$GPGSV,3,3,11,26,58,279,52,28,60,147,43,29,68,254,49,,,,*49
+$PGRME,67.4,M,,M,67.4,M*00
+$GPGLL,6127.248,N,02351.093,E,125435,A*2D
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6157.564,N,02406.158,E,T007*26
+$GPRMC,125435,A,6127.250,N,02351.091,E,021.5,338.5,110805,006.0,E*7A
+$GPRMB,A,1.31,R,T013,T012,6129.236,N,02346.327,E,003.0,311.0,019.1,V*2D
+$GPGGA,125435,6127.251,N,02351.090,E,1,03,17.1,174.2,M,20.7,M,,*7F
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.1,17.1,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,43,10,18,210,32*77
+$GPGSV,3,2,11,15,13,334,32,18,17,328,41,19,22,037,38,21,06,300,00*79
+$GPGSV,3,3,11,26,58,279,52,28,60,147,43,29,68,254,49,,,,*49
+$PGRME,66.9,M,,M,66.9,M*00
+$GPGLL,6127.255,N,02351.084,E,125436,A*24
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6145.919,N,02345.544,E,T006*2B
+$GPRMC,125436,A,6127.257,N,02351.082,E,021.5,338.1,110805,006.0,E*78
+$GPRMB,A,1.31,R,T013,T012,6129.236,N,02346.327,E,003.0,311.0,019.1,V*2D
+$GPGGA,125437,6127.259,N,02351.081,E,1,03,17.1,174.2,M,20.7,M,,*75
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.1,17.1,*18
+$GPGSV,3,1,11,03,05,014,00,07,00,154,00,08,55,094,43,10,18,210,32*77
+$GPGSV,3,2,11,15,13,334,32,18,17,328,41,19,22,037,37,21,06,300,00*76
+$GPGSV,3,3,11,26,58,279,52,28,60,147,43,29,68,254,49,,,,*49
+$PGRME,66.9,M,,M,66.9,M*00
+$GPGLL,6127.262,N,02351.075,E,125437,A*2F
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6130.198,N,02342.702,E,T005*2C
+$GPRMC,125438,A,6127.264,N,02351.073,E,021.4,337.7,110805,006.0,E*70
+$GPRMB,A,1.30,R,T013,T012,6129.236,N,02346.327,E,003.0,311.0,019.1,V*2C
+$GPGGA,125438,6127.266,N,02351.069,E,1,03,17.1,174.2,M,20.7,M,,*70
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.1,17.1,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,55,094,43,10,18,210,32*71
+$GPGSV,3,2,11,15,13,334,32,18,17,328,42,19,22,037,38,21,06,300,00*7A
+$GPGSV,3,3,11,26,58,279,51,28,60,147,43,29,68,254,49,,,,*4A
+$PGRME,66.9,M,,M,66.9,M*00
+$GPGLL,6127.269,N,02351.063,E,125439,A*2D
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6216.183,N,02619.685,E,T004*25
+$GPRMC,125439,A,6127.271,N,02351.061,E,021.4,337.1,110805,006.0,E*70
+$GPRMB,A,1.30,R,T013,T012,6129.236,N,02346.327,E,003.0,310.9,019.2,V*27
+$GPGGA,125439,6127.272,N,02351.060,E,1,03,17.0,174.2,M,20.7,M,,*7C
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.0,17.0,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,55,094,43,10,18,210,31*72
+$GPGSV,3,2,11,15,13,334,32,18,17,328,42,19,22,037,39,21,06,300,00*7B
+$GPGSV,3,3,11,26,58,279,51,28,60,147,43,29,68,254,49,,,,*4A
+$PGRME,66.9,M,,M,66.9,M*00
+$GPGLL,6127.276,N,02351.054,E,125440,A*29
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6215.064,N,02603.837,E,T003*25
+$GPRMC,125440,A,6127.278,N,02351.052,E,021.4,336.8,110805,006.0,E*7F
+$GPRMB,A,1.29,R,T013,T012,6129.236,N,02346.327,E,003.0,310.9,019.3,V*2E
+$GPGGA,125441,6127.279,N,02351.048,E,1,03,17.0,174.2,M,20.7,M,,*72
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.0,17.0,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,55,094,43,10,18,210,35*76
+$GPGSV,3,2,11,15,13,334,30,18,17,328,42,19,22,037,40,21,06,300,00*77
+$GPGSV,3,3,11,26,58,279,52,28,60,147,43,29,68,254,49,,,,*49
+$PGRME,66.9,M,,M,66.9,M*00
+$GPGLL,6127.282,N,02351.045,E,125441,A*23
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6151.098,N,02510.924,E,T002*26
+$GPRMC,125442,A,6127.285,N,02351.040,E,021.4,336.2,110805,006.0,E*76
+$GPRMB,A,1.28,R,T013,T012,6129.236,N,02346.327,E,003.0,310.8,019.3,V*2E
+$GPGGA,125442,6127.286,N,02351.039,E,1,03,17.0,174.2,M,20.7,M,,*77
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.0,17.0,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,55,094,43,10,18,210,37*74
+$GPGSV,3,2,11,15,13,334,30,18,17,328,43,19,22,037,39,21,06,300,00*78
+$GPGSV,3,3,11,26,58,279,51,28,60,147,43,29,68,254,48,,,,*4B
+$PGRME,66.9,M,,M,66.9,M*00
+$GPGLL,6127.289,N,02351.035,E,125443,A*2D
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.271,N,02346.376,E,T001*27
+$GPRMC,125443,A,6127.292,N,02351.030,E,021.4,335.7,110805,006.0,E*70
+$GPRMB,A,1.28,R,T013,T012,6129.236,N,02346.327,E,003.0,310.8,019.5,V*28
+$GPGGA,125443,6127.293,N,02351.029,E,1,03,17.0,174.2,M,20.7,M,,*73
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.0,17.0,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,55,094,41,10,18,210,36*77
+$GPGSV,3,2,11,15,13,334,33,18,17,328,43,19,22,037,39,21,06,300,00*7B
+$GPGSV,3,3,11,26,58,279,51,28,60,147,44,29,68,254,48,,,,*4C
+$PGRME,66.9,M,,M,66.9,M*00
+$GPGLL,6127.296,N,02351.023,E,125444,A*23
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPRTE,4,1,c,0,T030,T029,T028,T027,T026,T025,T024,T023,T022*49
+$GPRTE,4,2,c,0,T021,T020,T019,T018,T017,T016,T015,T014,T013*4B
+$GPRTE,4,3,c,0,T012,T011,T010,T009,T008,T007,T006,T005,T004*4B
+$GPRTE,4,4,c,0,T003,T002,T001*4F
+$GPWPL,6016.083,N,02452.500,E,T030*22
+$GPRMC,125445,A,6127.301,N,02351.016,E,021.6,335.7,110805,006.0,E*7B
+$GPRMB,A,1.27,R,T013,T012,6129.236,N,02346.327,E,003.0,310.8,019.6,V*24
+$GPGGA,125445,6127.302,N,02351.015,E,1,03,17.0,174.2,M,20.7,M,,*73
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.0,17.0,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,55,094,41,10,18,210,37*76
+$GPGSV,3,2,11,15,13,334,39,18,17,328,44,19,22,037,41,21,06,300,00*79
+$GPGSV,3,3,11,26,58,279,50,28,60,147,42,29,68,254,49,,,,*4A
+$PGRME,66.9,M,,M,66.9,M*00
+$GPGLL,6127.305,N,02351.012,E,125446,A*28
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T029*2D
+$GPRMC,125446,A,6127.308,N,02351.007,E,021.7,335.9,110805,006.0,E*7E
+$GPRMB,A,1.27,R,T013,T012,6129.236,N,02346.327,E,003.0,310.7,019.6,V*2B
+$GPGGA,125446,6127.309,N,02351.006,E,1,03,17.0,174.2,M,20.7,M,,*79
+$GPGSA,A,2,,,,,,,,,26,28,29,,17.0,17.0,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,55,094,42,10,18,210,35*77
+$GPGSV,3,2,11,15,13,334,40,18,17,328,44,19,22,037,43,21,06,300,00*75
+$GPGSV,3,3,11,26,58,279,50,28,60,147,42,29,68,254,49,,,,*4A
+$PGRME,66.3,M,,M,66.3,M*00
+$GPGLL,6127.313,N,02351.000,E,125447,A*2D
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6023.283,N,02430.650,E,T028*2D
+$GPRMC,125447,A,6127.315,N,02350.998,E,021.8,336.2,110805,006.0,E*7A
+$GPRMB,A,1.26,R,T013,T012,6129.236,N,02346.327,E,003.0,310.7,019.7,V*2B
+$GPGGA,125448,6127.316,N,02350.997,E,1,03,16.9,174.2,M,20.7,M,,*71
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.9,16.9,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,55,094,45,10,18,210,36*73
+$GPGSV,3,2,11,15,13,334,39,18,17,328,43,19,22,037,44,21,06,300,00*7B
+$GPGSV,3,3,11,26,58,279,49,28,60,147,43,29,68,254,49,,,,*43
+$PGRME,66.3,M,,M,66.3,M*00
+$GPGLL,6127.320,N,02350.992,E,125448,A*21
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T027*23
+$GPRMC,125449,A,6127.323,N,02350.989,E,021.9,336.4,110805,006.0,E*76
+$GPRMB,A,1.26,R,T013,T012,6129.236,N,02346.327,E,002.9,310.6,019.7,V*22
+$GPGGA,125449,6127.324,N,02350.988,E,1,03,16.9,174.2,M,20.7,M,,*7F
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.9,16.9,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,55,094,44,10,18,210,38*7C
+$GPGSV,3,2,11,15,13,334,38,18,17,328,42,19,22,037,43,21,06,300,00*7C
+$GPGSV,3,3,11,26,58,279,33,28,60,147,42,29,68,254,35,,,,*44
+$PGRME,66.3,M,,M,66.3,M*00
+$GPGLL,6127.327,N,02350.985,E,125449,A*21
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T026*24
+$GPRMC,125450,A,6127.330,N,02350.983,E,021.9,336.4,110805,006.0,E*76
+$GPRMB,A,1.25,R,T013,T012,6129.236,N,02346.327,E,002.9,310.5,019.7,V*22
+$GPGGA,125450,6127.331,N,02350.982,E,1,03,16.9,174.2,M,20.7,M,,*79
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.9,16.9,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,55,094,43,10,18,210,37*74
+$GPGSV,3,2,11,15,13,334,40,18,17,328,43,19,22,037,43,21,06,300,00*72
+$GPGSV,3,3,11,26,58,279,33,28,60,147,41,29,68,254,34,,,,*46
+$PGRME,66.3,M,,M,66.3,M*00
+$GPGLL,6127.335,N,02350.978,E,125450,A*28
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,S,02453.500,E,T025*3B
+$GPRMC,125451,A,6127.338,N,02350.974,E,022.0,336.7,110805,006.0,E*7E
+$GPRMB,A,1.24,R,T013,T012,6129.236,N,02346.327,E,002.9,310.5,019.7,V*23
+$GPGGA,125451,6127.339,N,02350.973,E,1,03,16.9,174.2,M,20.7,M,,*7E
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.9,16.9,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,55,094,45,10,18,210,37*72
+$GPGSV,3,2,11,15,13,334,40,18,17,328,43,19,22,037,41,21,06,300,00*70
+$GPGSV,3,3,11,26,58,279,42,28,60,147,43,29,68,254,45,,,,*44
+$PGRME,66.1,M,,M,66.1,M*00
+$GPGLL,6127.343,N,02350.969,E,125452,A*2B
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6018.083,N,02453.500,E,T024*28
+$GPRMC,125453,A,6127.346,N,02350.966,E,022.1,337.0,110805,006.0,E*71
+$GPRMB,A,1.24,R,T013,T012,6129.236,N,02346.327,E,002.9,310.4,019.8,V*2D
+$GPGGA,125453,6127.347,N,02350.964,E,1,03,16.9,174.2,M,20.7,M,,*73
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.9,16.9,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,55,094,46,10,18,210,36*70
+$GPGSV,3,2,11,15,13,334,40,18,17,328,43,19,22,037,40,21,06,300,00*71
+$GPGSV,3,3,11,26,58,279,44,28,60,147,43,29,68,254,47,,,,*40
+$PGRME,66.1,M,,M,66.1,M*00
+$GPGLL,6127.351,N,02350.961,E,125453,A*21
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,W,T023*33
+$GPRMC,125454,A,6127.354,N,02350.957,E,022.4,337.6,110805,006.0,E*74
+$GPRMB,A,1.23,R,T013,T012,6129.236,N,02346.327,E,002.9,310.3,019.9,V*2C
+$GPGGA,125454,6127.355,N,02350.956,E,1,03,16.9,174.2,M,20.7,M,,*76
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.9,16.9,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,55,094,46,10,18,210,36*70
+$GPGSV,3,2,11,15,13,334,38,18,17,328,42,19,22,037,39,21,06,300,00*71
+$GPGSV,3,3,11,26,58,279,45,28,60,147,43,29,68,254,48,,,,*4E
+$PGRME,66.1,M,,M,66.1,M*00
+$GPGLL,6127.359,N,02350.953,E,125455,A*2E
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02555.500,E,T022*26
+$GPRMC,125455,A,6127.362,N,02350.949,E,022.5,337.9,110805,006.0,E*71
+$GPRMB,A,1.22,R,T013,T012,6129.236,N,02346.327,E,002.9,310.3,019.9,V*2D
+$GPGGA,125455,6127.363,N,02350.948,E,1,03,16.8,174.2,M,20.7,M,,*7C
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.8,16.8,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,55,094,46,10,18,210,37*71
+$GPGSV,3,2,11,15,13,334,38,18,17,328,42,19,22,037,39,21,06,300,00*71
+$GPGSV,3,3,11,26,58,279,46,28,60,147,43,29,68,254,48,,,,*4D
+$PGRME,66.1,M,,M,66.1,M*00
+$GPGLL,6127.367,N,02350.943,E,125456,A*21
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T021*23
+$GPRMC,125456,A,6127.370,N,02350.941,E,022.7,338.4,110805,006.0,E*79
+$GPRMB,A,1.22,R,T013,T012,6129.236,N,02346.327,E,002.9,310.2,020.0,V*2F
+$GPGGA,125457,6127.372,N,02350.940,E,1,03,16.8,174.2,M,20.7,M,,*76
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.8,16.8,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,55,094,47,10,18,210,35*72
+$GPGSV,3,2,11,15,13,334,38,18,17,328,43,19,22,037,40,21,06,300,00*7E
+$GPGSV,3,3,11,26,58,279,46,28,60,147,43,29,68,254,49,,,,*4C
+$PGRME,66.1,M,,M,66.1,M*00
+$GPGLL,6127.376,N,02350.936,E,125457,A*22
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6116.083,N,02452.500,E,T020*22
+$GPRMC,125458,A,6127.379,N,02350.933,E,022.8,338.8,110805,006.0,E*78
+$GPRMB,A,1.21,R,T013,T012,6129.236,N,02346.327,E,002.9,310.1,020.0,V*2F
+$GPGGA,125458,6127.381,N,02350.931,E,1,03,16.8,174.2,M,20.7,M,,*73
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.8,16.8,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,47,10,18,210,34*72
+$GPGSV,3,2,11,15,13,334,37,18,17,328,42,19,22,037,40,21,06,300,00*70
+$GPGSV,3,3,11,26,58,279,46,28,60,147,43,29,68,254,50,,,,*44
+$PGRME,66.1,M,,M,66.1,M*00
+$GPGLL,6127.384,N,02350.928,E,125459,A*2E
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,S,02452.500,E,T019*34
+$GPRMC,125459,A,6127.388,N,02350.925,E,023.1,339.4,110805,006.0,E*75
+$GPRMB,A,1.20,R,T013,T012,6129.236,N,02346.327,E,002.9,310.0,020.1,V*2E
+$GPGGA,125459,6127.389,N,02350.924,E,1,03,16.8,174.2,M,20.7,M,,*7E
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.8,16.8,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,47,10,18,210,34*72
+$GPGSV,3,2,11,15,13,334,38,18,17,328,42,19,22,037,40,21,06,300,00*7F
+$GPGSV,3,3,11,26,58,279,47,28,60,147,43,29,68,254,50,,,,*45
+$PGRME,66.1,M,,M,66.1,M*00
+$GPGLL,6127.394,N,02350.920,E,125500,A*2A
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,N,02452.500,E,T018*28
+$GPRMC,125500,A,6127.397,N,02350.918,E,023.2,339.8,110805,006.0,E*77
+$GPRMB,A,1.19,R,T013,T012,6129.236,N,02346.327,E,002.9,309.9,020.2,V*26
+$GPGGA,125500,6127.398,N,02350.917,E,1,03,16.8,174.2,M,20.7,M,,*73
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.8,16.8,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,47,10,18,210,33*75
+$GPGSV,3,2,11,15,13,334,40,18,17,328,42,19,22,037,39,21,06,300,00*7E
+$GPGSV,3,3,11,26,58,279,47,28,60,147,43,29,68,254,50,,,,*45
+$PGRME,66.1,M,,M,66.1,M*00
+$GPGLL,6127.402,N,02350.914,E,125500,A*25
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6013.283,N,02456.650,E,T017*22
+$GPRMC,125501,A,6127.406,N,02350.911,E,023.3,340.0,110805,006.0,E*77
+$GPRMB,A,1.19,R,T013,T012,6129.236,N,02346.327,E,002.9,309.8,020.2,V*27
+$GPGGA,125501,6127.407,N,02350.910,E,1,03,16.8,174.2,M,20.7,M,,*74
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.8,16.8,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,48,10,18,210,33*7A
+$GPGSV,3,2,11,15,13,334,41,18,17,328,43,19,22,037,41,21,06,300,00*71
+$GPGSV,3,3,11,26,58,279,47,28,60,147,42,29,68,254,50,,,,*44
+$PGRME,65.7,M,,M,65.7,M*00
+$GPGLL,6127.411,N,02350.906,E,125502,A*26
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T016*21
+$GPRMC,125503,A,6127.416,N,02350.903,E,023.5,340.6,110805,006.0,E*77
+$GPRMB,A,1.18,R,T013,T012,6129.236,N,02346.327,E,002.9,309.7,020.2,V*29
+$GPGGA,125503,6127.417,N,02350.902,E,1,03,16.7,174.2,M,20.7,M,,*7B
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.7,16.7,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,48,10,18,210,32*7B
+$GPGSV,3,2,11,15,13,334,40,18,17,328,44,19,22,037,40,21,06,300,00*76
+$GPGSV,3,3,11,26,58,279,47,28,60,147,42,29,68,254,50,,,,*44
+$PGRME,65.7,M,,M,65.7,M*00
+$GPGLL,6127.421,N,02350.899,E,125504,A*24
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0000.000,N,00000.000,W,T015*39
+$GPRMC,125504,A,6127.426,N,02350.896,E,023.6,341.0,110805,006.0,E*7A
+$GPRMB,A,1.17,R,T013,T012,6129.236,N,02346.327,E,002.8,309.6,020.2,V*26
+$GPGGA,125505,6127.427,N,02350.895,E,1,03,16.7,174.2,M,20.7,M,,*71
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.7,16.7,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,48,10,18,210,32*7B
+$GPGSV,3,2,11,15,13,334,38,18,17,328,42,19,22,037,38,21,06,300,00*70
+$GPGSV,3,3,11,26,58,279,47,28,60,147,41,29,68,254,50,,,,*47
+$PGRME,65.7,M,,M,65.7,M*00
+$GPGLL,6127.432,N,02350.892,E,125505,A*2C
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0009.000,N,02430.650,E,T014*25
+$GPRMC,125506,A,6127.436,N,02350.890,E,023.6,341.3,110805,006.0,E*7C
+$GPRMB,A,1.16,R,T013,T012,6129.236,N,02346.327,E,002.8,309.5,020.0,V*26
+$GPGGA,125506,6127.437,N,02350.889,E,1,03,16.7,174.2,M,20.7,M,,*7E
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.7,16.7,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,48,10,17,209,32*7C
+$GPGSV,3,2,11,15,13,334,38,18,17,328,41,19,22,037,37,21,06,300,00*7C
+$GPGSV,3,3,11,26,58,279,46,28,60,147,40,29,68,254,50,,,,*47
+$PGRME,65.7,M,,M,65.7,M*00
+$GPGLL,6127.441,N,02350.887,E,125507,A*2E
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.285,N,02430.651,E,T013*23
+$GPRMC,125507,A,6127.444,N,02350.884,E,023.6,341.3,110805,006.0,E*7D
+$GPRMB,A,1.15,R,T013,T012,6129.236,N,02346.327,E,002.8,309.4,020.0,V*24
+$GPGGA,125507,6127.445,N,02350.884,E,1,03,16.7,174.2,M,20.7,M,,*77
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.7,16.7,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,48,10,17,209,31*7F
+$GPGSV,3,2,11,15,13,334,37,18,17,328,40,19,22,037,38,21,06,300,00*7D
+$GPGSV,3,3,11,26,58,279,46,28,60,147,39,29,68,254,50,,,,*49
+$PGRME,65.7,M,,M,65.7,M*00
+$GPGLL,6127.449,N,02350.881,E,125508,A*2F
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.236,N,02346.327,E,T012*22
+$GPRMC,125508,A,6127.452,N,02350.879,E,023.6,341.3,110805,006.0,E*77
+$GPRMB,A,1.14,R,T013,T012,6129.236,N,02346.327,E,002.8,309.3,020.0,V*22
+$GPGGA,125509,6127.454,N,02350.878,E,1,03,16.7,174.2,M,20.7,M,,*7A
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.7,16.7,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,46,10,17,209,31*71
+$GPGSV,3,2,11,15,13,334,36,18,17,328,39,19,22,037,38,21,06,300,00*72
+$GPGSV,3,3,11,26,58,279,46,28,60,147,37,29,68,254,49,,,,*4F
+$PGRME,65.7,M,,M,65.7,M*00
+$GPGLL,6127.457,N,02350.875,E,125509,A*2A
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6114.236,N,02346.327,E,T011*2F
+$GPRMC,125510,A,6127.460,N,02350.873,E,023.6,341.3,110805,006.0,E*75
+$GPRMB,A,1.14,R,T013,T012,6129.236,N,02346.327,E,002.8,309.2,020.0,V*23
+$GPGGA,125510,6127.463,N,02350.873,E,1,03,16.7,174.2,M,20.7,M,,*7D
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.7,16.7,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,45,10,17,209,31*72
+$GPGSV,3,2,11,15,13,334,35,18,17,328,39,19,22,037,39,21,06,300,00*70
+$GPGSV,3,3,11,26,58,279,46,28,60,147,38,29,68,254,49,,,,*40
+$PGRME,65.2,M,,M,65.2,M*00
+$GPGLL,6127.466,N,02350.870,E,125510,A*25
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6220.236,N,02346.327,E,T010*2A
+$GPRMC,125511,A,6127.470,N,02350.868,E,023.4,341.4,110805,006.0,E*7A
+$GPRMB,A,1.13,R,T013,T012,6129.236,N,02346.327,E,002.8,309.1,019.8,V*25
+$GPGGA,125511,6127.471,N,02350.867,E,1,03,16.7,174.2,M,20.7,M,,*7A
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.7,16.7,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,44,10,17,209,31*73
+$GPGSV,3,2,11,15,13,334,35,18,17,328,38,19,22,037,41,21,06,300,00*7E
+$GPGSV,3,3,11,26,58,279,45,28,60,147,37,29,68,254,49,,,,*4C
+$PGRME,65.2,M,,M,65.2,M*00
+$GPGLL,6127.474,N,02350.865,E,125512,A*20
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6120.236,N,02346.327,E,T009*21
+$GPRMC,125512,A,6127.478,N,02350.862,E,023.4,341.4,110805,006.0,E*7B
+$GPRMB,A,1.12,R,T013,T012,6129.236,N,02346.327,E,002.8,309.0,019.8,V*25
+$GPGGA,125512,6127.479,N,02350.862,E,1,03,16.7,174.2,M,20.7,M,,*74
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.7,16.7,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,44,10,17,209,31*73
+$GPGSV,3,2,11,15,13,334,34,18,17,328,37,19,22,037,39,21,06,300,00*7F
+$GPGSV,3,3,11,26,58,279,46,28,60,147,35,29,68,254,49,,,,*4D
+$PGRME,65.2,M,,M,65.2,M*00
+$GPGLL,6127.482,N,02350.859,E,125513,A*27
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.234,N,02346.317,E,T008*28
+$GPRMC,125514,A,6127.486,N,02350.857,E,023.4,341.4,110805,006.0,E*7A
+$GPRMB,A,1.12,R,T013,T012,6129.236,N,02346.327,E,002.8,308.9,019.7,V*22
+$GPGGA,125514,6127.487,N,02350.856,E,1,03,16.7,174.2,M,20.7,M,,*74
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.7,16.7,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,43,10,17,209,31*74
+$GPGSV,3,2,11,15,13,334,35,18,17,328,36,19,22,037,41,21,06,300,00*70
+$GPGSV,3,3,11,26,58,279,46,28,60,147,35,29,68,254,49,,,,*4D
+$PGRME,65.2,M,,M,65.2,M*00
+$GPGLL,6127.490,N,02350.853,E,125514,A*29
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6157.564,N,02406.158,E,T007*26
+$GPRMC,125515,A,6127.494,N,02350.851,E,023.4,341.4,110805,006.0,E*7E
+$GPRMB,A,1.11,R,T013,T012,6129.236,N,02346.327,E,002.8,308.8,019.7,V*20
+$GPGGA,125515,6127.495,N,02350.850,E,1,03,16.7,174.2,M,20.7,M,,*70
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.7,16.7,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,44,10,17,209,31*73
+$GPGSV,3,2,11,15,13,334,35,18,17,328,36,19,22,037,39,21,06,300,00*7F
+$GPGSV,3,3,11,26,58,279,47,28,60,147,34,29,68,254,49,,,,*4D
+$PGRME,65.2,M,,M,65.2,M*00
+$GPGLL,6127.498,N,02350.848,E,125516,A*29
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6145.919,N,02345.544,E,T006*2B
+$GPRMC,125516,A,6127.501,N,02350.845,E,023.0,341.4,110805,006.0,E*71
+$GPRMB,A,1.10,R,T013,T012,6129.236,N,02346.327,E,002.8,308.7,019.3,V*2A
+$GPGGA,125516,6127.503,N,02350.844,E,1,03,16.6,174.2,M,20.7,M,,*79
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.6,16.6,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,43,10,17,209,31*74
+$GPGSV,3,2,11,15,13,334,36,18,17,328,36,19,22,037,39,21,06,300,00*7C
+$GPGSV,3,3,11,26,58,279,47,28,60,147,35,29,68,254,49,,,,*4C
+$PGRME,65.0,M,,M,65.0,M*00
+$GPGLL,6127.506,N,02350.842,E,125517,A*24
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6130.198,N,02342.702,E,T005*2C
+$GPRMC,125518,A,6127.509,N,02350.840,E,023.0,341.4,110805,006.0,E*72
+$GPRMB,A,1.09,R,T013,T012,6129.236,N,02346.327,E,002.8,308.6,019.3,V*23
+$GPGGA,125518,6127.510,N,02350.840,E,1,03,16.6,174.2,M,20.7,M,,*71
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.6,16.6,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,45,10,17,209,31*72
+$GPGSV,3,2,11,15,13,334,36,18,17,328,35,19,22,037,38,21,06,299,00*7F
+$GPGSV,3,3,11,26,58,279,47,28,60,147,34,29,68,254,49,,,,*4D
+$PGRME,64.9,M,,M,64.9,M*00
+$GPGLL,6127.514,N,02350.837,E,125518,A*2A
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6216.183,N,02619.685,E,T004*25
+$GPRMC,125519,A,6127.517,N,02350.835,E,022.4,341.3,110805,006.0,E*7C
+$GPRMB,A,1.09,R,T013,T012,6129.236,N,02346.327,E,002.8,308.5,018.9,V*2B
+$GPGGA,125519,6127.518,N,02350.834,E,1,03,16.6,174.2,M,20.7,M,,*7B
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.6,16.6,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,46,10,17,209,30*70
+$GPGSV,3,2,11,15,13,334,37,18,17,328,36,19,22,037,38,21,06,299,00*7D
+$GPGSV,3,3,11,26,58,279,47,28,60,147,34,29,68,254,49,,,,*4D
+$PGRME,64.9,M,,M,64.9,M*00
+$GPGLL,6127.522,N,02350.832,E,125520,A*21
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6215.064,N,02603.837,E,T003*25
+$GPRMC,125520,A,6127.524,N,02350.831,E,021.8,340.8,110805,006.0,E*77
+$GPRMB,A,1.08,R,T013,T012,6129.236,N,02346.327,E,002.8,308.5,018.4,V*27
+$GPGGA,125520,6127.525,N,02350.830,E,1,03,16.5,174.2,M,20.7,M,,*78
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.5,16.5,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,46,10,17,209,30*70
+$GPGSV,3,2,11,15,13,334,36,18,17,328,35,19,22,037,38,21,06,299,00*7F
+$GPGSV,3,3,11,26,58,279,47,28,60,147,39,29,68,254,48,,,,*41
+$PGRME,64.8,M,,M,64.8,M*00
+$GPGLL,6127.528,N,02350.828,E,125521,A*21
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6151.098,N,02510.924,E,T002*26
+$GPRMC,125521,A,6127.531,N,02350.826,E,021.3,340.8,110805,006.0,E*7F
+$GPRMB,A,1.08,R,T013,T012,6129.236,N,02346.327,E,002.8,308.4,018.0,V*22
+$GPGGA,125521,6127.532,N,02350.826,E,1,03,16.5,174.2,M,20.7,M,,*78
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.5,16.5,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,44,10,17,209,30*72
+$GPGSV,3,2,11,15,13,334,35,18,17,328,35,19,22,037,37,21,06,299,00*73
+$GPGSV,3,3,11,26,58,279,46,28,60,147,42,29,68,254,49,,,,*4D
+$PGRME,64.8,M,,M,64.8,M*00
+$GPGLL,6127.534,N,02350.824,E,125522,A*23
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.271,N,02346.376,E,T001*27
+$GPRMC,125522,A,6127.538,N,02350.822,E,020.8,340.5,110805,006.0,E*76
+$GPRMB,A,1.07,R,T013,T012,6129.236,N,02346.327,E,002.7,308.3,017.6,V*2C
+$GPGGA,125523,6127.539,N,02350.821,E,1,03,16.5,174.2,M,20.7,M,,*76
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.5,16.5,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,43,10,17,209,30*75
+$GPGSV,3,2,11,15,13,334,35,18,17,328,35,19,22,037,36,21,06,299,00*72
+$GPGSV,3,3,11,26,58,279,46,28,60,147,41,29,68,254,49,,,,*4E
+$PGRME,64.8,M,,M,64.8,M*00
+$GPGLL,6127.542,N,02350.818,E,125523,A*2C
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPRTE,4,1,c,0,T030,T029,T028,T027,T026,T025,T024,T023,T022*49
+$GPRTE,4,2,c,0,T021,T020,T019,T018,T017,T016,T015,T014,T013*4B
+$GPRTE,4,3,c,0,T012,T011,T010,T009,T008,T007,T006,T005,T004*4B
+$GPRTE,4,4,c,0,T003,T002,T001*4F
+$GPWPL,6016.083,N,02452.500,E,T030*22
+$GPRMC,125524,A,6127.547,N,02350.815,E,020.8,340.5,110805,006.0,E*7C
+$GPRMB,A,1.06,R,T013,T012,6129.236,N,02346.327,E,002.7,308.2,017.5,V*2F
+$GPGGA,125525,6127.548,N,02350.814,E,1,03,16.5,174.2,M,20.7,M,,*70
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.5,16.5,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,41,10,17,209,30*77
+$GPGSV,3,2,11,15,13,334,33,18,17,328,34,19,22,037,36,21,06,299,00*75
+$GPGSV,3,3,11,26,58,279,46,28,60,147,40,29,68,254,48,,,,*4E
+$PGRME,64.8,M,,M,64.8,M*00
+$GPGLL,6127.551,N,02350.812,E,125525,A*22
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T029*2D
+$GPRMC,125526,A,6127.552,N,02350.811,E,020.4,340.6,110805,006.0,E*71
+$GPRMB,A,1.06,R,T013,T012,6129.236,N,02346.327,E,002.7,308.1,017.5,V*2C
+$GPGGA,125526,6127.553,N,02350.810,E,1,03,16.5,174.2,M,20.7,M,,*7D
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.5,16.5,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,40,10,17,209,30*76
+$GPGSV,3,2,11,15,13,333,33,18,17,328,33,19,22,037,35,21,06,299,00*76
+$GPGSV,3,3,11,26,58,279,47,28,60,147,40,29,68,254,48,,,,*4F
+$PGRME,64.5,M,,M,64.5,M*00
+$GPGLL,6127.556,N,02350.808,E,125526,A*2D
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6023.283,N,02430.650,E,T028*2D
+$GPRMC,125527,A,6127.559,N,02350.806,E,020.4,340.6,110805,006.0,E*7D
+$GPRMB,A,1.05,R,T013,T012,6129.236,N,02346.327,E,002.7,308.1,017.2,V*28
+$GPGGA,125527,6127.560,N,02350.805,E,1,03,16.5,174.2,M,20.7,M,,*78
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.5,16.5,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,39,10,17,209,30*78
+$GPGSV,3,2,11,15,13,333,33,18,17,328,32,19,22,037,35,21,06,299,00*77
+$GPGSV,3,3,11,26,58,279,47,28,60,147,39,29,68,254,47,,,,*4E
+$PGRME,64.4,M,,M,64.4,M*00
+$GPGLL,6127.562,N,02350.804,E,125528,A*28
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T027*23
+$GPRMC,125528,A,6127.564,N,02350.802,E,020.1,340.5,110805,006.0,E*7E
+$GPRMB,A,1.05,R,T013,T012,6129.236,N,02346.327,E,002.7,308.0,017.2,V*29
+$GPGGA,125528,6127.565,N,02350.801,E,1,03,16.4,174.2,M,20.7,M,,*77
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.4,16.4,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,37,10,17,209,30*76
+$GPGSV,3,2,11,15,13,333,32,18,17,328,32,19,22,037,34,21,06,299,00*77
+$GPGSV,3,3,11,26,58,279,47,28,60,147,41,29,68,254,47,,,,*41
+$PGRME,64.4,M,,M,64.4,M*00
+$GPGLL,6127.567,N,02350.800,E,125529,A*28
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T026*24
+$GPRMC,125530,A,6127.569,N,02350.798,E,019.9,340.6,110805,006.0,E*77
+$GPRMB,A,1.04,R,T013,T012,6129.236,N,02346.327,E,002.7,307.9,016.8,V*25
+$GPGGA,125530,6127.568,N,02350.798,E,1,03,16.4,174.2,M,20.7,M,,*7C
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.4,16.4,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,36,10,17,209,30*77
+$GPGSV,3,2,11,15,13,333,34,18,17,328,36,19,22,037,34,21,06,299,00*75
+$GPGSV,3,3,11,26,58,279,48,28,60,147,41,29,68,254,47,,,,*4E
+$PGRME,64.4,M,,M,64.4,M*00
+$GPGLL,6127.572,N,02350.796,E,125530,A*24
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,S,02453.500,E,T025*3B
+$GPRMC,125531,A,6127.574,N,02350.794,E,019.8,340.8,110805,006.0,E*79
+$GPRMB,A,1.04,R,T013,T012,6129.236,N,02346.327,E,002.7,307.9,016.6,V*2B
+$GPGGA,125531,6127.575,N,02350.793,E,1,03,16.4,174.2,M,20.7,M,,*7A
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.4,16.4,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,36,10,17,209,30*77
+$GPGSV,3,2,11,15,13,333,36,18,17,328,38,19,22,037,37,21,06,299,00*7A
+$GPGSV,3,3,11,26,58,279,48,28,60,147,41,29,68,254,47,,,,*4E
+$PGRME,64.4,M,,M,64.4,M*00
+$GPGLL,6127.577,N,02350.792,E,125532,A*27
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6018.083,N,02453.500,E,T024*28
+$GPRMC,125532,A,6127.577,N,02350.791,E,019.7,341.5,110805,006.0,E*7F
+$GPRMB,A,1.03,R,T013,T012,6129.236,N,02346.327,E,002.7,307.8,016.4,V*2F
+$GPGGA,125533,6127.578,N,02350.791,E,1,03,16.4,174.2,M,20.7,M,,*77
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.4,16.4,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,36,10,17,209,30*77
+$GPGSV,3,2,11,15,13,333,38,18,17,328,40,19,22,037,38,21,06,299,00*74
+$GPGSV,3,3,11,26,58,279,48,28,60,147,39,29,68,254,47,,,,*41
+$PGRME,64.4,M,,M,64.4,M*00
+$GPGLL,6127.580,N,02350.790,E,125533,A*2C
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,W,T023*33
+$GPRMC,125534,A,6127.582,N,02350.788,E,019.6,341.8,110805,006.0,E*77
+$GPRMB,A,1.03,R,T013,T012,6129.236,N,02346.327,E,002.7,307.8,016.3,V*28
+$GPGGA,125534,6127.582,N,02350.789,E,1,03,16.4,174.2,M,20.7,M,,*7C
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.4,16.4,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,36,10,17,209,30*77
+$GPGSV,3,2,11,15,13,333,39,18,17,328,40,19,22,037,39,21,06,299,00*74
+$GPGSV,3,3,11,26,58,279,48,28,60,147,39,29,68,254,48,,,,*4E
+$PGRME,64.4,M,,M,64.4,M*00
+$GPGLL,6127.585,N,02350.787,E,125534,A*28
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02555.500,E,T022*26
+$GPRMC,125535,A,6127.586,N,02350.787,E,019.5,342.2,110805,006.0,E*77
+$GPRMB,A,1.03,R,T013,T012,6129.236,N,02346.327,E,002.7,307.7,016.1,V*25
+$GPGGA,125535,6127.587,N,02350.786,E,1,03,16.4,174.2,M,20.7,M,,*77
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.4,16.4,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,37,10,17,209,30*76
+$GPGSV,3,2,11,15,13,333,39,18,17,328,39,19,22,037,39,21,06,299,00*7A
+$GPGSV,3,3,11,26,58,279,48,28,60,147,38,29,68,254,48,,,,*4F
+$PGRME,64.4,M,,M,64.4,M*00
+$GPGLL,6127.588,N,02350.786,E,125536,A*26
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T021*23
+$GPRMC,125536,A,6127.591,N,02350.784,E,019.6,342.5,110805,006.0,E*75
+$GPRMB,A,1.02,R,T013,T012,6129.236,N,02346.327,E,002.7,307.6,016.1,V*25
+$GPGGA,125536,6127.592,N,02350.783,E,1,03,16.3,174.2,M,20.7,M,,*72
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.3,16.3,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,37,10,17,209,30*76
+$GPGSV,3,2,11,15,13,333,39,18,17,328,40,19,22,037,40,21,06,299,00*7A
+$GPGSV,3,3,11,26,58,279,48,28,60,147,38,29,68,254,47,,,,*40
+$PGRME,64.4,M,,M,64.4,M*00
+$GPGLL,6127.594,N,02350.783,E,125537,A*2F
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6116.083,N,02452.500,E,T020*22
+$GPRMC,125538,A,6127.596,N,02350.781,E,019.5,342.5,110805,006.0,E*7A
+$GPRMB,A,1.02,R,T013,T012,6129.236,N,02346.327,E,002.7,307.6,016.0,V*24
+$GPGGA,125538,6127.597,N,02350.780,E,1,03,16.3,174.2,M,20.7,M,,*7A
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.3,16.3,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,38,10,17,209,30*79
+$GPGSV,3,2,11,15,13,333,39,18,17,328,41,19,22,037,40,21,06,299,00*7B
+$GPGSV,3,3,11,26,58,279,48,28,60,147,37,29,68,254,47,,,,*4F
+$PGRME,63.9,M,,M,63.9,M*00
+$GPGLL,6127.599,N,02350.780,E,125538,A*2E
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,S,02452.500,E,T019*34
+$GPRMC,125539,A,6127.600,N,02350.780,E,019.6,342.7,110805,006.0,E*77
+$GPRMB,A,1.01,R,T013,T012,6129.236,N,02346.327,E,002.7,307.5,016.0,V*24
+$GPGGA,125539,6127.601,N,02350.779,E,1,03,16.3,174.2,M,20.7,M,,*71
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.3,16.3,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,38,10,17,209,30*79
+$GPGSV,3,2,11,15,13,333,39,18,17,328,40,19,22,037,39,21,06,299,00*74
+$GPGSV,3,3,11,26,58,279,48,28,60,147,37,29,68,254,47,,,,*4F
+$PGRME,63.9,M,,M,63.9,M*00
+$GPGLL,6127.604,N,02350.777,E,125540,A*2E
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,N,02452.500,E,T018*28
+$GPRMC,125540,A,6127.605,N,02350.776,E,019.6,342.7,110805,006.0,E*75
+$GPRMB,A,1.01,R,T013,T012,6129.236,N,02346.327,E,002.7,307.4,016.0,V*25
+$GPGGA,125540,6127.606,N,02350.776,E,1,03,16.3,174.2,M,20.7,M,,*77
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.3,16.3,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,37,10,17,209,30*76
+$GPGSV,3,2,11,15,13,333,39,18,17,328,40,19,22,037,38,21,06,299,00*75
+$GPGSV,3,3,11,26,58,279,47,28,60,147,37,29,68,254,47,,,,*40
+$PGRME,63.9,M,,M,63.9,M*00
+$GPGLL,6127.609,N,02350.774,E,125541,A*21
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6013.283,N,02456.650,E,T017*22
+$GPRMC,125541,A,6127.612,N,02350.772,E,019.6,342.7,110805,006.0,E*76
+$GPRMB,A,1.00,R,T013,T012,6129.236,N,02346.327,E,002.7,307.4,016.0,V*24
+$GPGGA,125541,6127.613,N,02350.771,E,1,03,16.3,174.2,M,20.7,M,,*75
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.3,16.3,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,36,10,17,209,33*74
+$GPGSV,3,2,11,15,13,333,39,18,17,328,40,19,21,036,37,21,06,299,00*78
+$GPGSV,3,3,11,26,58,279,47,28,60,147,35,29,68,254,46,,,,*43
+$PGRME,63.9,M,,M,63.9,M*00
+$GPGLL,6127.616,N,02350.769,E,125542,A*20
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T016*21
+$GPRMC,125543,A,6127.619,N,02350.768,E,019.6,342.7,110805,006.0,E*74
+$GPRMB,A,1.00,R,T013,T012,6129.236,N,02346.327,E,002.7,307.3,016.0,V*23
+$GPGGA,125543,6127.618,N,02350.768,E,1,03,16.3,174.2,M,20.7,M,,*74
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.3,16.3,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,35,10,17,209,33*77
+$GPGSV,3,2,11,15,13,333,39,18,17,328,40,19,21,036,37,21,06,299,00*78
+$GPGSV,3,3,11,26,58,279,47,28,60,147,36,29,68,254,46,,,,*40
+$PGRME,63.7,M,,M,63.7,M*00
+$GPGLL,6127.621,N,02350.766,E,125543,A*2A
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0000.000,N,00000.000,W,T015*39
+$GPRMC,125544,A,6127.623,N,02350.765,E,019.8,343.0,110805,006.0,E*7F
+$GPRMB,A,0.99,R,T013,T012,6129.236,N,02346.327,E,002.7,307.2,016.0,V*23
+$GPGGA,125544,6127.624,N,02350.765,E,1,03,16.3,174.2,M,20.7,M,,*71
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.3,16.3,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,35,10,17,209,33*77
+$GPGSV,3,2,11,15,13,333,39,18,17,328,40,19,21,036,36,21,06,299,00*79
+$GPGSV,3,3,11,26,58,279,47,28,60,147,35,29,68,254,46,,,,*43
+$PGRME,63.7,M,,M,63.7,M*00
+$GPGLL,6127.626,N,02350.764,E,125545,A*29
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0009.000,N,02430.650,E,T014*25
+$GPRMC,125545,A,6127.629,N,02350.762,E,020.0,343.2,110805,006.0,E*73
+$GPRMB,A,0.99,R,T013,T012,6129.236,N,02346.327,E,002.7,307.1,016.1,V*21
+$GPGGA,125546,6127.630,N,02350.762,E,1,03,16.2,174.2,M,20.7,M,,*70
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.2,16.2,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,34,10,17,209,33*76
+$GPGSV,3,2,11,15,13,333,38,18,17,328,40,19,21,036,36,21,06,299,00*78
+$GPGSV,3,3,11,26,58,279,47,28,60,147,35,29,68,254,46,,,,*43
+$PGRME,63.7,M,,M,63.7,M*00
+$GPGLL,6127.632,N,02350.761,E,125546,A*2A
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.285,N,02430.651,E,T013*23
+$GPRMC,125547,A,6127.634,N,02350.759,E,020.1,343.3,110805,006.0,E*75
+$GPRMB,A,0.98,R,T013,T012,6129.236,N,02346.327,E,002.7,307.1,016.2,V*23
+$GPGGA,125547,6127.636,N,02350.758,E,1,03,16.2,174.2,M,20.7,M,,*7E
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.2,16.2,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,34,10,17,209,33*76
+$GPGSV,3,2,11,15,13,333,38,18,17,328,40,19,21,036,35,21,06,299,00*7B
+$GPGSV,3,3,11,26,58,279,47,28,60,147,35,29,68,254,46,,,,*43
+$PGRME,63.7,M,,M,63.7,M*00
+$GPGLL,6127.639,N,02350.756,E,125547,A*24
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.236,N,02346.327,E,T012*22
+$GPRMC,125548,A,6127.641,N,02350.755,E,020.1,343.3,110805,006.0,E*74
+$GPRMB,A,0.98,R,T013,T012,6129.236,N,02346.327,E,002.7,307.0,016.2,V*22
+$GPGGA,125548,6127.642,N,02350.754,E,1,03,16.2,174.2,M,20.7,M,,*7E
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.2,16.2,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,34,10,17,209,33*76
+$GPGSV,3,2,11,15,13,333,38,18,17,328,40,19,21,036,37,21,06,299,35*7F
+$GPGSV,3,3,11,26,58,279,47,28,60,147,34,29,68,254,46,,,,*42
+$PGRME,63.7,M,,M,63.7,M*00
+$GPGLL,6127.646,N,02350.752,E,125549,A*26
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6114.236,N,02346.327,E,T011*2F
+$GPRMC,125549,A,6127.648,N,02350.751,E,020.2,343.4,110805,006.0,E*7C
+$GPRMB,A,0.97,R,T013,T012,6129.236,N,02346.327,E,002.7,306.9,016.2,V*25
+$GPGGA,125550,6127.649,N,02350.751,E,1,03,16.2,174.2,M,20.7,M,,*79
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.2,16.2,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,33,10,17,209,32*70
+$GPGSV,3,2,11,15,13,333,39,18,17,328,41,19,21,036,38,21,05,299,34*72
+$GPGSV,3,3,11,26,58,279,47,28,60,147,34,29,68,254,45,,,,*41
+$PGRME,63.4,M,,M,63.4,M*00
+$GPGLL,6127.652,N,02350.749,E,125550,A*21
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6220.236,N,02346.327,E,T010*2A
+$GPRMC,125551,A,6127.655,N,02350.747,E,020.2,343.4,110805,006.0,E*7E
+$GPRMB,A,0.97,R,T013,T012,6129.236,N,02346.327,E,002.6,306.8,016.2,V*25
+$GPGGA,125551,6127.656,N,02350.746,E,1,03,16.2,174.2,M,20.7,M,,*70
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.2,16.2,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,31,10,17,209,33*73
+$GPGSV,3,2,11,15,13,333,39,18,17,328,40,19,21,036,39,21,05,299,34*72
+$GPGSV,3,3,11,26,58,279,46,28,60,147,34,29,68,254,45,,,,*40
+$PGRME,63.4,M,,M,63.4,M*00
+$GPGLL,6127.659,N,02350.746,E,125551,A*24
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6120.236,N,02346.327,E,T009*21
+$GPRMC,125552,A,6127.661,N,02350.745,E,020.5,343.2,110805,006.0,E*79
+$GPRMB,A,0.96,R,T013,T012,6129.236,N,02346.327,E,002.6,306.7,016.3,V*2A
+$GPGGA,125552,6127.662,N,02350.744,E,1,03,16.2,174.2,M,20.7,M,,*76
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.2,16.2,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,31,10,17,209,33*73
+$GPGSV,3,2,11,15,13,333,39,18,17,328,40,19,21,036,40,21,05,299,00*7B
+$GPGSV,3,3,11,26,58,279,46,28,60,147,34,29,68,254,45,,,,*40
+$PGRME,63.4,M,,M,63.4,M*00
+$GPGLL,6127.664,N,02350.743,E,125553,A*2D
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.234,N,02346.317,E,T008*28
+$GPRMC,125553,A,6127.667,N,02350.742,E,020.7,343.4,110805,006.0,E*7D
+$GPRMB,A,0.95,R,T013,T012,6129.236,N,02346.327,E,002.6,306.6,016.6,V*2D
+$GPGGA,125553,6127.668,N,02350.741,E,1,03,16.2,174.2,M,20.7,M,,*78
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.2,16.2,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,31,10,17,209,32*72
+$GPGSV,3,2,11,15,13,333,39,18,17,328,40,19,21,036,42,21,05,299,00*79
+$GPGSV,3,3,11,26,58,279,46,28,60,147,33,29,68,254,46,,,,*44
+$PGRME,63.4,M,,M,63.4,M*00
+$GPGLL,6127.672,N,02350.739,E,125554,A*20
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6157.564,N,02406.158,E,T007*26
+$GPRMC,125555,A,6127.674,N,02350.737,E,020.7,343.4,110805,006.0,E*7B
+$GPRMB,A,0.95,R,T013,T012,6129.236,N,02346.327,E,002.6,306.5,016.6,V*2E
+$GPGGA,125555,6127.675,N,02350.736,E,1,03,16.1,174.2,M,20.7,M,,*71
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.1,16.1,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,31,10,17,209,32*72
+$GPGSV,3,2,11,15,13,333,40,18,17,328,40,19,21,036,43,21,05,299,00*76
+$GPGSV,3,3,11,26,58,279,45,28,60,147,34,29,68,254,46,,,,*40
+$PGRME,63.2,M,,M,63.2,M*00
+$GPGLL,6127.678,N,02350.734,E,125555,A*26
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6145.919,N,02345.544,E,T006*2B
+$GPRMC,125556,A,6127.681,N,02350.733,E,021.2,343.3,110805,006.0,E*75
+$GPRMB,A,0.94,R,T013,T012,6129.236,N,02346.327,E,002.6,306.4,016.8,V*20
+$GPGGA,125556,6127.682,N,02350.733,E,1,03,16.1,174.2,M,20.7,M,,*7F
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.1,16.1,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,31,10,17,209,31*71
+$GPGSV,3,2,11,15,13,333,41,18,17,328,41,19,21,036,43,21,05,299,00*76
+$GPGSV,3,3,11,26,58,279,45,28,60,147,34,29,68,254,46,,,,*40
+$PGRME,63.2,M,,M,63.2,M*00
+$GPGLL,6127.685,N,02350.732,E,125557,A*20
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6130.198,N,02342.702,E,T005*2C
+$GPRMC,125557,A,6127.688,N,02350.730,E,021.4,343.3,110805,006.0,E*78
+$GPRMB,A,0.94,R,T013,T012,6129.236,N,02346.327,E,002.6,306.3,017.1,V*2F
+$GPGGA,125557,6127.689,N,02350.729,E,1,03,16.1,174.2,M,20.7,M,,*7E
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.1,16.1,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,30,10,17,209,30*71
+$GPGSV,3,2,11,15,13,333,41,18,17,328,41,19,21,036,44,21,05,299,00*71
+$GPGSV,3,3,11,26,58,279,45,28,60,147,34,29,68,254,46,,,,*40
+$PGRME,63.2,M,,M,63.2,M*00
+$GPGLL,6127.692,N,02350.728,E,125558,A*22
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6216.183,N,02619.685,E,T004*25
+$GPRMC,125558,A,6127.695,N,02350.726,E,021.7,343.2,110805,006.0,E*7E
+$GPRMB,A,0.93,R,T013,T012,6129.236,N,02346.327,E,002.6,306.2,017.3,V*2B
+$GPGGA,125559,6127.696,N,02350.726,E,1,03,16.1,174.2,M,20.7,M,,*71
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.1,16.1,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,30,10,17,209,30*71
+$GPGSV,3,2,11,15,13,333,41,18,17,328,41,19,21,036,45,21,05,299,00*70
+$GPGSV,3,3,11,26,58,279,45,28,60,147,35,29,68,254,47,,,,*40
+$PGRME,63.2,M,,M,63.2,M*00
+$GPGLL,6127.700,N,02350.723,E,125559,A*22
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6215.064,N,02603.837,E,T003*25
+$GPRMC,125600,A,6127.703,N,02350.722,E,022.2,343.0,110805,006.0,E*7E
+$GPRMB,A,0.92,R,T013,T012,6129.236,N,02346.327,E,002.6,306.1,017.5,V*2F
+$GPGGA,125600,6127.704,N,02350.721,E,1,03,16.1,174.2,M,20.7,M,,*73
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.1,16.1,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,30,10,17,209,30*71
+$GPGSV,3,2,11,15,13,333,41,18,17,328,41,19,21,036,45,21,05,299,00*70
+$GPGSV,3,3,11,26,58,279,45,28,60,147,36,29,68,254,47,,,,*43
+$PGRME,63.2,M,,M,63.2,M*00
+$GPGLL,6127.708,N,02350.719,E,125601,A*2D
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6151.098,N,02510.924,E,T002*26
+$GPRMC,125601,A,6127.711,N,02350.718,E,022.5,343.0,110805,006.0,E*72
+$GPRMB,A,0.92,R,T013,T012,6129.236,N,02346.327,E,002.6,306.0,017.8,V*23
+$GPGGA,125601,6127.712,N,02350.717,E,1,03,16.1,174.2,M,20.7,M,,*70
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.1,16.1,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,30,10,17,209,30*71
+$GPGSV,3,2,11,15,13,333,41,18,17,328,41,19,21,036,45,21,05,299,00*70
+$GPGSV,3,3,11,26,58,279,45,28,60,147,37,29,68,254,46,,,,*43
+$PGRME,63.2,M,,M,63.2,M*00
+$GPGLL,6127.716,N,02350.715,E,125601,A*2E
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.271,N,02346.376,E,T001*27
+$GPRMC,125602,A,6127.720,N,02350.712,E,022.8,342.9,110805,006.0,E*7C
+$GPRMB,A,0.91,R,T013,T012,6129.236,N,02346.327,E,002.6,305.9,018.0,V*2D
+$GPGGA,125602,6127.721,N,02350.712,E,1,03,16.0,174.2,M,20.7,M,,*77
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.0,16.0,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,30,10,17,209,30*71
+$GPGSV,3,2,11,15,13,333,41,18,17,328,41,19,21,036,44,21,05,299,00*71
+$GPGSV,3,3,11,26,58,279,45,28,60,147,37,29,68,254,46,,,,*43
+$PGRME,63.2,M,,M,63.2,M*00
+$GPGLL,6127.724,N,02350.709,E,125602,A*21
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPRTE,4,1,c,0,T030,T029,T028,T027,T026,T025,T024,T023,T022*49
+$GPRTE,4,2,c,0,T021,T020,T019,T018,T017,T016,T015,T014,T013*4B
+$GPRTE,4,3,c,0,T012,T011,T010,T009,T008,T007,T006,T005,T004*4B
+$GPRTE,4,4,c,0,T003,T002,T001*4F
+$GPWPL,6016.083,N,02452.500,E,T030*22
+$GPRMC,125604,A,6127.731,N,02350.706,E,023.2,342.8,110805,006.0,E*75
+$GPRMB,A,0.90,R,T013,T012,6129.236,N,02346.327,E,002.6,305.7,018.5,V*27
+$GPGGA,125604,6127.732,N,02350.705,E,1,03,16.0,174.2,M,20.7,M,,*75
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.0,16.0,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,30,10,17,209,30*71
+$GPGSV,3,2,11,15,13,333,41,18,17,328,41,19,21,036,43,21,05,299,00*76
+$GPGSV,3,3,11,26,58,279,45,28,60,147,38,29,68,254,46,,,,*4C
+$PGRME,63.2,M,,M,63.2,M*00
+$GPGLL,6127.736,N,02350.702,E,125605,A*2E
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T029*2D
+$GPRMC,125605,A,6127.739,N,02350.700,E,023.4,342.5,110805,006.0,E*71
+$GPRMB,A,0.89,R,T013,T012,6129.236,N,02346.327,E,002.6,305.6,018.7,V*2C
+$GPGGA,125606,6127.740,N,02350.700,E,1,03,16.0,174.2,M,20.7,M,,*77
+$GPGSA,A,2,,,,,,,,,26,28,29,,16.0,16.0,*18
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,30,10,17,209,30*71
+$GPGSV,3,2,11,15,13,333,41,18,17,328,41,19,21,036,41,21,05,299,00*74
+$GPGSV,3,3,11,26,58,279,45,28,60,147,38,29,68,254,47,,,,*4D
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.746,N,02350.695,E,125606,A*25
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6023.283,N,02430.650,E,T028*2D
+$GPRMC,125607,A,6127.750,N,02350.692,E,031.5,341.2,110805,006.0,E*70
+$GPRMB,A,0.88,R,T013,T012,6129.236,N,02346.327,E,002.6,305.4,025.5,V*23
+$GPGGA,125607,6127.752,N,02350.691,E,1,03,2.8,174.2,M,20.7,M,,*41
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,30,10,17,209,30*71
+$GPGSV,3,2,11,15,13,333,41,18,17,328,41,19,21,036,41,21,05,299,00*74
+$GPGSV,3,3,11,26,58,279,45,28,60,147,38,29,68,254,47,,,,*4D
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.757,N,02350.687,E,125607,A*27
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T027*23
+$GPRMC,125608,A,6127.761,N,02350.684,E,030.5,342.0,110805,006.0,E*7A
+$GPRMB,A,0.87,R,T013,T012,6129.236,N,02346.327,E,002.6,305.3,025.0,V*2E
+$GPGGA,125608,6127.763,N,02350.683,E,1,04,2.8,174.2,M,20.7,M,,*48
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,30,10,17,209,30*71
+$GPGSV,3,2,11,15,13,333,41,18,17,328,41,19,21,036,40,21,05,299,00*75
+$GPGSV,3,3,11,26,58,279,44,28,60,147,38,29,68,254,47,,,,*4C
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.768,N,02350.680,E,125609,A*22
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T026*24
+$GPRMC,125609,A,6127.772,N,02350.677,E,029.8,341.3,110805,006.0,E*70
+$GPRMB,A,0.86,R,T013,T012,6129.236,N,02346.327,E,002.6,305.1,024.0,V*2C
+$GPGGA,125610,6127.773,N,02350.676,E,1,04,2.8,174.2,M,20.7,M,,*4A
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,30,10,17,209,30*71
+$GPGSV,3,2,11,15,13,333,41,18,17,328,41,19,21,036,38,21,05,299,00*7A
+$GPGSV,3,3,11,26,59,278,45,28,60,147,39,29,68,254,46,,,,*4D
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.778,N,02350.673,E,125610,A*27
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,S,02453.500,E,T025*3B
+$GPRMC,125611,A,6127.781,N,02350.670,E,028.7,342.0,110805,006.0,E*7C
+$GPRMB,A,0.85,R,T013,T012,6129.236,N,02346.327,E,002.5,305.0,023.0,V*2A
+$GPGGA,125611,6127.783,N,02350.669,E,1,04,2.8,174.2,M,20.7,M,,*4A
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,30,10,17,209,30*71
+$GPGSV,3,2,11,15,13,333,41,18,17,328,41,19,21,036,38,21,05,299,00*7A
+$GPGSV,3,3,11,26,59,278,45,28,60,147,39,29,68,254,46,,,,*4D
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.787,N,02350.666,E,125611,A*22
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6018.083,N,02453.500,E,T024*28
+$GPRMC,125612,A,6127.791,N,02350.664,E,026.7,342.4,110805,006.0,E*71
+$GPRMB,A,0.84,R,T013,T012,6129.236,N,02346.327,E,002.5,304.9,021.9,V*28
+$GPGGA,125612,6127.792,N,02350.663,E,1,04,2.8,174.2,M,20.7,M,,*43
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,30,10,17,209,30*71
+$GPGSV,3,2,11,15,13,333,41,18,17,328,41,19,21,036,37,21,05,299,00*75
+$GPGSV,3,3,11,26,59,278,44,28,60,147,39,29,68,254,46,,,,*4C
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.796,N,02350.660,E,125613,A*26
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,W,T023*33
+$GPRMC,125613,A,6127.800,N,02350.657,E,025.6,342.4,110805,006.0,E*75
+$GPRMB,A,0.84,R,T013,T012,6129.236,N,02346.327,E,002.5,304.7,020.3,V*2D
+$GPGGA,125613,6127.801,N,02350.656,E,1,04,2.8,174.2,M,20.7,M,,*41
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,30,10,17,209,30*71
+$GPGSV,3,2,11,15,13,333,41,18,17,328,40,19,21,036,40,21,05,299,00*74
+$GPGSV,3,3,11,26,59,278,45,28,60,147,39,29,68,254,46,,,,*4D
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.806,N,02350.654,E,125614,A*20
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02555.500,E,T022*26
+$GPRMC,125614,A,6127.807,N,02350.653,E,022.2,342.7,110805,006.0,E*71
+$GPRMB,A,0.83,R,T013,T012,6129.236,N,02346.327,E,002.5,304.6,017.5,V*29
+$GPGGA,125615,6127.808,N,02350.652,E,1,04,2.8,174.2,M,20.7,M,,*4A
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,30,10,17,209,30*71
+$GPGSV,3,2,11,15,13,333,41,18,17,328,40,19,21,036,39,21,05,299,00*7A
+$GPGSV,3,3,11,26,59,278,45,28,60,147,39,29,68,254,46,,,,*4D
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.812,N,02350.649,E,125615,A*28
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T021*23
+$GPRMC,125616,A,6127.815,N,02350.647,E,021.7,342.3,110805,006.0,E*77
+$GPRMB,A,0.82,R,T013,T012,6129.236,N,02346.327,E,002.5,304.5,017.2,V*2C
+$GPGGA,125616,6127.816,N,02350.646,E,1,04,2.8,174.2,M,20.7,M,,*43
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,30,10,17,209,30*71
+$GPGSV,3,2,11,15,13,333,41,18,17,328,41,19,21,036,38,21,05,299,00*7A
+$GPGSV,3,3,11,26,59,278,45,28,60,147,39,29,68,254,46,,,,*4D
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.819,N,02350.644,E,125617,A*2C
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6116.083,N,02452.500,E,T020*22
+$GPRMC,125617,A,6127.822,N,02350.642,E,021.7,342.3,110805,006.0,E*77
+$GPRMB,A,0.82,R,T013,T012,6129.236,N,02346.327,E,002.5,304.4,017.2,V*2D
+$GPGGA,125617,6127.823,N,02350.641,E,1,04,2.8,174.2,M,20.7,M,,*43
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,30,10,17,209,30*71
+$GPGSV,3,2,11,15,13,333,41,18,17,328,41,19,21,036,38,21,05,299,00*7A
+$GPGSV,3,3,11,26,59,278,45,28,60,147,39,29,68,254,46,,,,*4D
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.827,N,02350.639,E,125618,A*24
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,S,02452.500,E,T019*34
+$GPRMC,125618,A,6127.830,N,02350.637,E,021.1,342.6,110805,006.0,E*7A
+$GPRMB,A,0.81,R,T013,T012,6129.236,N,02346.327,E,002.5,304.3,016.6,V*2C
+$GPGGA,125619,6127.831,N,02350.636,E,1,04,2.8,174.2,M,20.7,M,,*4E
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,30,10,17,209,30*71
+$GPGSV,3,2,11,15,13,333,41,18,17,328,41,19,21,036,36,21,05,299,00*74
+$GPGSV,3,3,11,26,59,278,45,28,61,145,39,29,68,254,46,,,,*4E
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.834,N,02350.634,E,125619,A*2A
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,N,02452.500,E,T018*28
+$GPRMC,125620,A,6127.837,N,02350.632,E,020.5,342.6,110805,006.0,E*76
+$GPRMB,A,0.80,R,T013,T012,6129.236,N,02346.327,E,002.5,304.2,016.1,V*2B
+$GPGGA,125620,6127.837,N,02350.632,E,1,04,2.8,174.2,M,20.7,M,,*46
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,30,10,17,209,30*71
+$GPGSV,3,2,11,15,13,333,41,18,17,328,41,19,21,036,36,21,05,299,00*74
+$GPGSV,3,3,11,26,59,278,46,28,61,145,38,29,68,254,46,,,,*4C
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.839,N,02350.631,E,125620,A*28
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6013.283,N,02456.650,E,T017*22
+$GPRMC,125621,A,6127.840,N,02350.630,E,012.0,344.0,110805,006.0,E*71
+$GPRMB,A,0.80,R,T013,T012,6129.236,N,02346.327,E,002.5,304.1,010.6,V*29
+$GPGGA,125621,6127.841,N,02350.629,E,1,04,2.8,174.2,M,20.7,M,,*4C
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,30,10,17,209,30*71
+$GPGSV,3,2,11,15,13,333,40,18,17,328,40,19,21,036,35,21,05,299,00*77
+$GPGSV,3,3,11,26,59,278,46,28,61,145,39,29,68,254,46,,,,*4D
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.843,N,02350.628,E,125622,A*2F
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T016*21
+$GPRMC,125622,A,6127.844,N,02350.628,E,010.3,344.8,110805,006.0,E*76
+$GPRMB,A,0.80,R,T013,T012,6129.236,N,02346.327,E,002.5,304.1,007.8,V*21
+$GPGGA,125622,6127.845,N,02350.627,E,1,04,2.8,174.2,M,20.7,M,,*45
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,35,10,17,209,30*74
+$GPGSV,3,2,11,15,13,333,40,18,17,328,40,19,21,036,34,21,05,299,00*76
+$GPGSV,3,3,11,26,59,278,46,28,61,145,38,29,68,251,46,,,,*49
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.846,N,02350.626,E,125623,A*25
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0000.000,N,00000.000,W,T015*39
+$GPRMC,125623,A,6127.848,N,02350.626,E,009.6,345.2,110805,006.0,E*73
+$GPRMB,A,0.79,R,T013,T012,6129.236,N,02346.327,E,002.5,304.0,007.2,V*2C
+$GPGGA,125623,6127.848,N,02350.625,E,1,04,2.8,174.2,M,20.7,M,,*4B
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,38,10,17,209,30*79
+$GPGSV,3,2,11,15,13,333,40,18,17,328,40,19,21,036,34,21,05,299,00*76
+$GPGSV,3,3,11,26,59,278,47,28,61,145,39,29,68,251,47,,,,*48
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.849,N,02350.625,E,125624,A*2E
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0009.000,N,02430.650,E,T014*25
+$GPRMC,125624,A,6127.851,N,02350.624,E,008.6,347.1,110805,006.0,E*7E
+$GPRMB,A,0.79,R,T013,T012,6129.236,N,02346.327,E,002.5,304.0,006.3,V*2C
+$GPGGA,125625,6127.851,N,02350.624,E,1,04,2.8,174.2,M,20.7,M,,*44
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,39,10,17,209,30*78
+$GPGSV,3,2,11,15,13,333,39,18,17,328,40,19,21,036,33,21,05,299,00*7F
+$GPGSV,3,3,11,26,59,278,47,28,61,145,39,29,68,251,47,,,,*48
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.852,N,02350.623,E,125626,A*20
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.285,N,02430.651,E,T013*23
+$GPRMC,125626,A,6127.853,N,02350.623,E,007.5,345.7,110805,006.0,E*71
+$GPRMB,A,0.79,R,T013,T012,6129.236,N,02346.327,E,002.5,303.9,005.6,V*24
+$GPGGA,125626,6127.853,N,02350.623,E,1,04,3.5,174.2,M,20.7,M,,*4E
+$GPGSA,A,2,,,,,,18,,,26,28,29,,3.5,3.5,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,38,10,17,209,30*79
+$GPGSV,3,2,11,15,13,333,40,18,17,328,41,19,21,036,33,21,05,299,00*70
+$GPGSV,3,3,11,26,59,278,47,28,61,145,39,29,68,251,47,,,,*48
+$PGRME,14.0,M,,M,14.0,M*00
+$GPGLL,6127.855,N,02350.622,E,125627,A*27
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.236,N,02346.327,E,T012*22
+$GPRMC,125627,A,6127.856,N,02350.622,E,007.3,345.7,110805,006.0,E*72
+$GPRMB,A,0.79,R,T013,T012,6129.236,N,02346.327,E,002.5,303.9,005.5,V*27
+$GPGGA,125628,6127.856,N,02350.621,E,1,04,2.8,174.2,M,20.7,M,,*4B
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,38,10,17,209,30*79
+$GPGSV,3,2,11,15,13,333,40,18,17,328,41,19,21,036,32,21,05,299,00*71
+$GPGSV,3,3,11,26,59,278,47,28,61,145,39,29,68,251,47,,,,*48
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.857,N,02350.621,E,125628,A*29
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6114.236,N,02346.327,E,T011*2F
+$GPRMC,125629,A,6127.858,N,02350.620,E,007.8,345.5,110805,006.0,E*79
+$GPRMB,A,0.79,R,T013,T012,6129.236,N,02346.327,E,002.5,303.8,005.8,V*2B
+$GPGGA,125629,6127.859,N,02350.620,E,1,04,3.5,174.2,M,20.7,M,,*48
+$GPGSA,A,2,,,,,,18,,,26,28,29,,3.5,3.5,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,38,10,17,209,30*79
+$GPGSV,3,2,11,15,13,333,40,18,17,328,41,19,21,036,32,21,05,299,00*71
+$GPGSV,3,3,11,26,59,278,47,28,61,145,38,29,68,251,46,,,,*48
+$PGRME,14.0,M,,M,14.0,M*00
+$GPGLL,6127.860,N,02350.619,E,125630,A*2F
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6220.236,N,02346.327,E,T010*2A
+$GPRMC,125630,A,6127.861,N,02350.619,E,008.1,346.4,110805,006.0,E*75
+$GPRMB,A,0.78,R,T013,T012,6129.236,N,02346.327,E,002.5,303.8,005.8,V*2A
+$GPGGA,125630,6127.862,N,02350.619,E,1,04,4.2,174.2,M,20.7,M,,*42
+$GPGSA,A,2,,,,,,18,,,26,28,29,,4.2,4.2,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,41,10,17,209,30*77
+$GPGSV,3,2,11,15,13,333,40,18,17,328,40,19,21,036,31,21,05,299,00*73
+$GPGSV,3,3,11,26,59,278,47,28,61,145,37,29,68,251,46,,,,*47
+$PGRME,14.0,M,,M,14.0,M*00
+$GPGLL,6127.863,N,02350.618,E,125630,A*2D
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6120.236,N,02346.327,E,T009*21
+$GPRMC,125632,A,6127.864,N,02350.617,E,008.1,346.4,110805,006.0,E*7C
+$GPRMB,A,0.78,R,T013,T012,6129.236,N,02346.327,E,002.5,303.8,006.0,V*21
+$GPGGA,125632,6127.865,N,02350.617,E,1,04,4.2,174.2,M,20.7,M,,*49
+$GPGSA,A,2,,,,,,18,,,26,28,29,,4.2,4.2,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,41,10,17,209,30*77
+$GPGSV,3,2,11,15,13,333,40,18,17,328,40,19,21,036,31,21,05,299,00*73
+$GPGSV,3,3,11,26,59,278,47,28,61,145,37,29,68,251,46,,,,*47
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.868,N,02350.615,E,125632,A*29
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.234,N,02346.317,E,T008*28
+$GPRMC,125632,A,6127.870,N,02350.614,E,015.1,343.3,110805,006.0,E*74
+$GPRMB,A,0.77,R,T013,T012,6129.236,N,02346.327,E,002.5,303.7,011.7,V*20
+$GPGGA,125632,6127.870,N,02350.613,E,1,04,2.8,174.2,M,20.7,M,,*45
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,40,10,17,209,30*76
+$GPGSV,3,2,11,15,13,333,40,18,17,328,40,19,21,036,31,21,05,299,00*73
+$GPGSV,3,3,11,26,59,278,47,28,61,145,36,29,68,251,46,,,,*46
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.873,N,02350.612,E,125632,A*24
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6157.564,N,02406.158,E,T007*26
+$GPRMC,125634,A,6127.875,N,02350.610,E,015.1,343.3,110805,006.0,E*73
+$GPRMB,A,0.77,R,T013,T012,6129.236,N,02346.327,E,002.5,303.6,011.7,V*21
+$GPGGA,125634,6127.876,N,02350.610,E,1,04,2.8,174.2,M,20.7,M,,*46
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,40,10,17,209,30*76
+$GPGSV,3,2,11,15,13,333,40,18,17,328,40,19,21,036,31,21,05,299,00*73
+$GPGSV,3,3,11,26,59,278,47,28,61,145,36,29,68,251,46,,,,*46
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.879,N,02350.609,E,125635,A*23
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6145.919,N,02345.544,E,T006*2B
+$GPRMC,125635,A,6127.882,N,02350.607,E,018.1,345.4,110805,006.0,E*70
+$GPRMB,A,0.76,R,T013,T012,6129.236,N,02346.327,E,002.5,303.5,013.5,V*23
+$GPGGA,125635,6127.883,N,02350.607,E,1,04,2.8,174.2,M,20.7,M,,*4B
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,41,10,17,209,30*77
+$GPGSV,3,2,11,15,13,333,40,18,17,328,40,19,21,036,31,21,05,299,00*73
+$GPGSV,3,3,11,26,59,278,47,28,61,145,36,29,68,251,46,,,,*46
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.886,N,02350.605,E,125636,A*2C
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6130.198,N,02342.702,E,T005*2C
+$GPRMC,125636,A,6127.888,N,02350.604,E,018.9,345.4,110805,006.0,E*72
+$GPRMB,A,0.76,R,T013,T012,6129.236,N,02346.327,E,002.5,303.4,014.1,V*21
+$GPGGA,125636,6127.889,N,02350.603,E,1,04,2.8,174.2,M,20.7,M,,*46
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,42,10,17,209,30*74
+$GPGSV,3,2,11,15,13,333,40,18,17,328,40,19,21,036,31,21,05,299,00*73
+$GPGSV,3,3,11,26,59,278,47,28,61,145,36,29,68,251,46,,,,*46
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.893,N,02350.601,E,125637,A*2D
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6216.183,N,02619.685,E,T004*25
+$GPRMC,125637,A,6127.896,N,02350.600,E,020.0,346.9,110805,006.0,E*74
+$GPRMB,A,0.75,R,T013,T012,6129.236,N,02346.327,E,002.5,303.2,014.5,V*20
+$GPGGA,125637,6127.897,N,02350.599,E,1,04,3.5,174.2,M,20.7,M,,*44
+$GPGSA,A,2,,,,,,18,,,26,28,29,,3.5,3.5,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,42,10,17,209,30*74
+$GPGSV,3,2,11,15,13,333,40,18,17,328,40,19,21,036,31,21,05,299,00*73
+$GPGSV,3,3,11,26,59,278,47,28,61,145,35,29,68,251,46,,,,*45
+$PGRME,14.0,M,,M,14.0,M*00
+$GPGLL,6127.901,N,02350.598,E,125638,A*2B
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6215.064,N,02603.837,E,T003*25
+$GPRMC,125639,A,6127.904,N,02350.597,E,021.5,348.6,110805,006.0,E*78
+$GPRMB,A,0.74,R,T013,T012,6129.236,N,02346.327,E,002.4,303.1,015.1,V*26
+$GPGGA,125640,6127.905,N,02350.597,E,1,04,4.8,174.2,M,20.7,M,,*4A
+$GPGSA,A,2,,,,,,18,,,26,28,29,,4.8,4.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,42,10,17,209,30*74
+$GPGSV,3,2,11,15,13,333,40,18,17,328,41,19,21,036,30,21,05,299,00*73
+$GPGSV,3,3,11,26,59,278,47,28,61,145,34,29,68,251,46,,,,*44
+$PGRME,14.0,M,,M,14.0,M*00
+$GPGLL,6127.909,N,02350.595,E,125640,A*21
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6151.098,N,02510.924,E,T002*26
+$GPRMC,125641,A,6127.912,N,02350.594,E,022.3,347.6,110805,006.0,E*79
+$GPRMB,A,0.74,R,T013,T012,6129.236,N,02346.327,E,002.4,303.0,015.9,V*2F
+$GPGGA,125641,6127.914,N,02350.593,E,1,04,5.8,174.2,M,20.7,M,,*4E
+$GPGSA,A,2,,,,,,18,,,26,28,29,,5.8,5.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,41,10,17,209,30*77
+$GPGSV,3,2,11,15,13,333,40,18,17,328,41,19,21,036,30,21,05,299,00*73
+$GPGSV,3,3,11,26,59,278,48,28,61,145,34,29,68,251,47,,,,*4A
+$PGRME,14.0,M,,M,14.0,M*00
+$GPGLL,6127.918,N,02350.591,E,125642,A*27
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.271,N,02346.376,E,T001*27
+$GPRMC,125642,A,6127.921,N,02350.590,E,023.1,347.4,110805,006.0,E*7F
+$GPRMB,A,0.73,R,T013,T012,6129.236,N,02346.327,E,002.4,302.8,016.5,V*2E
+$GPGGA,125642,6127.922,N,02350.590,E,1,04,2.8,174.2,M,20.7,M,,*4C
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,41,10,17,209,30*77
+$GPGSV,3,2,11,15,13,333,40,18,17,328,42,19,21,036,30,21,05,299,00*70
+$GPGSV,3,3,11,26,59,278,47,28,61,145,34,29,68,251,47,,,,*45
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.926,N,02350.588,E,125643,A*23
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPRTE,4,1,c,0,T030,T029,T028,T027,T026,T025,T024,T023,T022*49
+$GPRTE,4,2,c,0,T021,T020,T019,T018,T017,T016,T015,T014,T013*4B
+$GPRTE,4,3,c,0,T012,T011,T010,T009,T008,T007,T006,T005,T004*4B
+$GPRTE,4,4,c,0,T003,T002,T001*4F
+$GPWPL,6016.083,N,02452.500,E,T030*22
+$GPRMC,125643,A,6127.932,N,02350.585,E,023.3,347.4,110805,006.0,E*7A
+$GPRMB,A,0.72,R,T013,T012,6129.236,N,02346.327,E,002.4,302.6,016.5,V*21
+$GPGGA,125643,6127.933,N,02350.585,E,1,04,3.5,174.2,M,20.7,M,,*45
+$GPGSA,A,2,,,,,,18,,,26,28,29,,3.5,3.5,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,40,10,17,209,30*76
+$GPGSV,3,2,11,15,13,333,40,18,17,328,42,19,21,036,30,21,05,299,00*70
+$GPGSV,3,3,11,26,59,278,47,28,61,145,33,29,68,251,47,,,,*42
+$PGRME,14.0,M,,M,14.0,M*00
+$GPGLL,6127.937,N,02350.583,E,125644,A*2F
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T029*2D
+$GPRMC,125645,A,6127.940,N,02350.582,E,023.4,348.2,110805,006.0,E*70
+$GPRMB,A,0.71,R,T013,T012,6129.236,N,02346.327,E,002.4,302.5,016.4,V*20
+$GPGGA,125645,6127.942,N,02350.581,E,1,04,4.8,174.2,M,20.7,M,,*4B
+$GPGSA,A,2,,,,,,18,,,26,28,29,,4.8,4.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,39,10,17,209,30*78
+$GPGSV,3,2,11,15,13,333,40,18,17,328,42,19,21,036,30,21,05,299,00*70
+$GPGSV,3,3,11,26,59,278,47,28,61,145,33,29,68,251,47,,,,*42
+$PGRME,14.0,M,,M,14.0,M*00
+$GPGLL,6127.946,N,02350.580,E,125646,A*28
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6023.283,N,02430.650,E,T028*2D
+$GPRMC,125646,A,6127.949,N,02350.578,E,023.9,348.5,110805,006.0,E*75
+$GPRMB,A,0.70,R,T013,T012,6129.236,N,02346.327,E,002.4,302.3,016.5,V*26
+$GPGGA,125647,6127.951,N,02350.578,E,1,04,5.3,174.2,M,20.7,M,,*47
+$GPGSA,A,2,,,,,,18,,,26,28,29,,5.3,5.3,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,41,10,17,209,30*77
+$GPGSV,3,2,11,15,13,333,40,18,17,328,42,19,21,036,32,21,05,299,00*72
+$GPGSV,3,3,11,26,59,278,47,28,61,145,32,29,68,251,47,,,,*43
+$PGRME,14.0,M,,M,14.0,M*00
+$GPGLL,6127.955,N,02350.576,E,125647,A*22
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T027*23
+$GPRMC,125648,A,6127.958,N,02350.575,E,024.1,348.8,110805,006.0,E*74
+$GPRMB,A,0.69,R,T013,T012,6129.236,N,02346.327,E,002.4,302.2,016.6,V*2C
+$GPGGA,125648,6127.959,N,02350.574,E,1,04,5.8,174.2,M,20.7,M,,*47
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,41,10,17,209,30*77
+$GPGSV,3,2,11,15,13,333,40,18,17,328,42,19,21,036,32,21,05,299,00*72
+$GPGSV,3,3,11,26,59,278,47,28,61,145,32,29,68,251,47,,,,*43
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.964,N,02350.573,E,125649,A*2B
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T026*24
+$GPRMC,125649,A,6127.968,N,02350.572,E,025.3,349.1,110805,006.0,E*7A
+$GPRMB,A,0.69,R,T013,T012,6129.236,N,02346.327,E,002.4,302.0,017.2,V*2B
+$GPGGA,125649,6127.969,N,02350.571,E,1,04,3.5,174.2,M,20.7,M,,*4B
+$GPGSA,A,2,,,,,,18,,,26,28,29,,3.5,3.5,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,41,10,17,209,30*77
+$GPGSV,3,2,11,15,13,333,40,18,17,328,42,19,21,036,36,21,05,299,00*76
+$GPGSV,3,3,11,26,59,278,48,28,61,145,32,29,68,251,46,,,,*4D
+$PGRME,14.0,M,,M,14.0,M*00
+$GPGLL,6127.973,N,02350.570,E,125650,A*26
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,S,02453.500,E,T025*3B
+$GPRMC,125650,A,6127.977,N,02350.568,E,025.7,348.9,110805,006.0,E*7A
+$GPRMB,A,0.68,R,T013,T012,6129.236,N,02346.327,E,002.4,301.8,017.5,V*26
+$GPGGA,125650,6127.978,N,02350.567,E,1,04,4.2,174.2,M,20.7,M,,*44
+$GPGSA,A,2,,,,,,18,,,26,28,29,,4.2,4.2,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,41,10,17,209,30*77
+$GPGSV,3,2,11,15,13,333,40,18,17,328,42,19,21,036,35,21,05,299,00*75
+$GPGSV,3,3,11,26,59,278,48,28,61,145,32,29,68,251,46,,,,*4D
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6127.983,N,02350.566,E,125651,A*2F
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6018.083,N,02453.500,E,T024*28
+$GPRMC,125652,A,6127.987,N,02350.564,E,026.4,348.9,110805,006.0,E*7B
+$GPRMB,A,0.67,R,T013,T012,6129.236,N,02346.327,E,002.4,301.6,017.9,V*2B
+$GPGGA,125652,6127.988,N,02350.564,E,1,04,2.8,174.2,M,20.7,M,,*46
+$GPGSA,A,2,,,,,,18,,,26,28,29,,3.5,3.5,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,41,10,17,209,30*77
+$GPGSV,3,2,11,15,13,333,40,18,17,328,42,19,21,036,34,21,05,299,00*74
+$GPGSV,3,3,11,26,59,278,47,28,61,145,31,29,68,251,46,,,,*41
+$PGRME,14.0,M,,M,14.0,M*00
+$GPGLL,6127.993,N,02350.562,E,125652,A*29
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,W,T023*33
+$GPRMC,125653,A,6127.997,N,02350.561,E,026.8,349.6,110805,006.0,E*7C
+$GPRMB,A,0.66,R,T013,T012,6129.236,N,02346.327,E,002.4,301.4,017.9,V*28
+$GPGGA,125653,6127.999,N,02350.561,E,1,04,4.2,174.2,M,20.7,M,,*4E
+$GPGSA,A,2,,,,,,18,,,26,28,29,,4.2,4.2,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,41,10,17,209,30*77
+$GPGSV,3,2,11,15,13,333,40,18,17,328,42,19,21,036,34,21,05,299,00*74
+$GPGSV,3,3,11,26,59,278,47,28,61,145,31,29,68,251,46,,,,*41
+$PGRME,14.0,M,,M,14.0,M*00
+$GPGLL,6128.003,N,02350.559,E,125654,A*28
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02555.500,E,T022*26
+$GPRMC,125654,A,6128.007,N,02350.557,E,027.7,349.2,110805,006.0,E*7B
+$GPRMB,A,0.65,R,T013,T012,6129.236,N,02346.327,E,002.4,301.3,018.6,V*2C
+$GPGGA,125654,6128.009,N,02350.557,E,1,04,4.8,174.2,M,20.7,M,,*49
+$GPGSA,A,2,,,,,,18,,,26,28,29,,4.8,4.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,40,10,17,209,31*77
+$GPGSV,3,2,11,15,13,333,39,18,17,328,42,19,21,036,38,21,05,299,00*76
+$GPGSV,3,3,11,26,59,278,47,28,61,145,30,29,68,251,46,,,,*40
+$PGRME,14.0,M,,M,14.0,M*00
+$GPGLL,6128.014,N,02350.555,E,125655,A*23
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T021*23
+$GPRMC,125655,A,6128.018,N,02350.553,E,028.2,348.9,110805,006.0,E*70
+$GPRMB,A,0.64,R,T013,T012,6129.236,N,02346.327,E,002.4,301.1,018.9,V*20
+$GPGGA,125656,6128.019,N,02350.553,E,1,04,5.3,174.2,M,20.7,M,,*44
+$GPGSA,A,2,,,,,,18,,,26,28,29,,5.3,5.3,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,40,10,17,209,31*77
+$GPGSV,3,2,11,15,13,333,39,18,17,328,42,19,21,036,41,21,05,299,00*78
+$GPGSV,3,3,11,26,59,278,48,28,61,145,30,29,68,251,46,,,,*4F
+$PGRME,14.0,M,,M,14.0,M*00
+$GPGLL,6128.024,N,02350.551,E,125656,A*27
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6116.083,N,02452.500,E,T020*22
+$GPRMC,125657,A,6128.029,N,02350.549,E,029.0,349.4,110805,006.0,E*74
+$GPRMB,A,0.63,R,T013,T012,6129.236,N,02346.327,E,002.4,300.8,019.2,V*25
+$GPGGA,125657,6128.031,N,02350.549,E,1,04,6.3,174.2,M,20.7,M,,*47
+$GPGSA,A,2,,,,,,18,,,26,28,29,,6.3,6.3,*11
+$GPGSV,3,1,11,03,04,013,00,07,00,154,00,08,54,094,40,10,17,209,31*77
+$GPGSV,3,2,11,15,13,333,39,18,17,328,42,19,21,036,43,21,05,299,00*7A
+$GPGSV,3,3,11,26,59,278,47,28,61,145,30,29,68,251,46,,,,*40
+$PGRME,14.0,M,,M,14.0,M*00
+$GPGLL,6128.035,N,02350.547,E,125657,A*21
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,S,02452.500,E,T019*34
+$GPRMC,125658,A,6128.041,N,02350.546,E,035.1,352.4,110805,006.0,E*7C
+$GPRMB,A,0.62,R,T013,T012,6129.236,N,02346.327,E,002.4,300.7,019.2,V*2B
+$GPGGA,125658,6128.043,N,02350.545,E,1,04,2.8,174.2,M,20.7,M,,*4E
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,37,07,00,154,00,08,54,094,40,10,17,209,31*73
+$GPGSV,3,2,11,15,13,333,39,18,17,328,42,19,21,036,43,21,05,299,00*7A
+$GPGSV,3,3,11,26,59,278,47,28,61,145,31,29,68,251,46,,,,*41
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.049,N,02350.544,E,125659,A*27
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,N,02452.500,E,T018*28
+$GPRMC,125659,A,6128.054,N,02350.543,E,035.7,352.4,110805,006.0,E*7A
+$GPRMB,A,0.61,R,T013,T012,6129.236,N,02346.327,E,002.3,300.4,022.0,V*26
+$GPGGA,125700,6128.056,N,02350.542,E,1,04,2.8,174.2,M,20.7,M,,*41
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,34,07,00,154,00,08,54,094,40,10,17,209,31*70
+$GPGSV,3,2,11,15,13,333,38,18,17,328,42,19,21,036,45,21,05,299,00*7D
+$GPGSV,3,3,11,26,59,278,47,28,61,145,33,29,68,251,46,,,,*43
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.063,N,02350.541,E,125700,A*27
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6013.283,N,02456.650,E,T017*22
+$GPRMC,125701,A,6128.068,N,02350.539,E,035.8,351.7,110805,006.0,E*7B
+$GPRMB,A,0.59,R,T013,T012,6129.236,N,02346.327,E,002.3,300.1,022.3,V*2B
+$GPGGA,125701,6128.070,N,02350.539,E,1,04,2.8,174.2,M,20.7,M,,*48
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,34,07,00,154,00,08,54,094,39,10,17,209,30*7F
+$GPGSV,3,2,11,15,13,333,38,18,17,328,42,19,21,036,44,21,05,299,00*7C
+$GPGSV,3,3,11,26,59,278,47,28,61,145,34,29,68,251,46,,,,*44
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.076,N,02350.537,E,125702,A*20
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T016*21
+$GPRMC,125702,A,6128.082,N,02350.535,E,036.0,349.9,110805,006.0,E*7C
+$GPRMB,A,0.58,R,T013,T012,6129.236,N,02346.327,E,002.3,299.8,023.2,V*22
+$GPGGA,125702,6128.084,N,02350.534,E,1,04,3.5,174.2,M,20.7,M,,*41
+$GPGSA,A,2,,,,,,18,,,26,28,29,,3.5,3.5,*11
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,54,094,38,10,17,209,31*7E
+$GPGSV,3,2,11,15,13,333,38,18,17,328,42,19,21,036,43,21,05,299,00*7B
+$GPGSV,3,3,11,26,59,278,47,28,61,145,33,29,68,251,46,,,,*43
+$PGRME,14.0,M,,M,14.0,M*00
+$GPGLL,6128.090,N,02350.532,E,125703,A*2C
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0000.000,N,00000.000,W,T015*39
+$GPRMC,125703,A,6128.095,N,02350.530,E,035.9,350.4,110805,006.0,E*71
+$GPRMB,A,0.57,R,T013,T012,6129.236,N,02346.327,E,002.3,299.5,022.7,V*24
+$GPGGA,125703,6128.098,N,02350.529,E,1,04,2.8,174.2,M,20.7,M,,*4D
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,54,094,38,10,17,209,31*7E
+$GPGSV,3,2,11,15,13,333,38,18,17,328,42,19,21,036,41,21,05,299,00*79
+$GPGSV,3,3,11,26,59,278,47,28,61,145,34,29,68,251,46,,,,*44
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.104,N,02350.527,E,125703,A*24
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0009.000,N,02430.650,E,T014*25
+$GPRMC,125703,A,6128.109,N,02350.526,E,035.9,350.4,110805,006.0,E*72
+$GPRMB,A,0.55,R,T013,T012,6129.236,N,02346.327,E,002.3,299.3,022.7,V*20
+$GPGGA,125703,6128.111,N,02350.525,E,1,04,2.8,174.2,M,20.7,M,,*41
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,54,094,37,10,17,209,31*71
+$GPGSV,3,2,11,15,13,333,38,18,17,328,42,19,21,036,41,21,05,299,00*79
+$GPGSV,3,3,11,26,59,278,47,28,61,145,34,29,68,251,46,,,,*44
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.117,N,02350.523,E,125705,A*24
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.285,N,02430.651,E,T013*23
+$GPRMC,125706,A,6128.122,N,02350.521,E,035.8,350.4,110805,006.0,E*78
+$GPRMB,A,0.54,R,T013,T012,6129.236,N,02346.327,E,002.3,299.0,022.4,V*21
+$GPGGA,125706,6128.124,N,02350.520,E,1,04,2.8,174.2,M,20.7,M,,*47
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,37,10,17,209,32*75
+$GPGSV,3,2,11,15,13,333,39,18,17,328,42,19,21,036,40,21,05,299,00*79
+$GPGSV,3,3,11,26,59,278,47,28,61,145,34,29,68,251,46,,,,*44
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.131,N,02350.518,E,125707,A*2A
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.236,N,02346.327,E,T012*22
+$GPRMC,125707,A,6128.136,N,02350.516,E,036.0,350.6,110805,006.0,E*71
+$GPRMB,A,0.53,R,T013,T012,6129.236,N,02346.327,E,002.3,298.8,022.4,V*2F
+$GPGGA,125708,6128.138,N,02350.516,E,1,04,2.8,174.2,M,20.7,M,,*41
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,38,10,17,209,35*7D
+$GPGSV,3,2,11,15,13,333,38,18,17,328,42,19,21,036,39,21,05,299,00*76
+$GPGSV,3,3,11,26,59,278,47,28,61,145,34,29,68,251,46,,,,*44
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.144,N,02350.514,E,125708,A*2B
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6114.236,N,02346.327,E,T011*2F
+$GPRMC,125709,A,6128.149,N,02350.512,E,036.4,350.9,110805,006.0,E*78
+$GPRMB,A,0.52,R,T013,T012,6129.236,N,02346.327,E,002.3,298.5,022.3,V*24
+$GPGGA,125709,6128.151,N,02350.511,E,1,04,2.8,174.2,M,20.7,M,,*48
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,37,10,17,209,36*71
+$GPGSV,3,2,11,15,13,333,38,18,17,328,42,19,21,036,39,21,05,299,00*76
+$GPGSV,3,3,11,26,59,278,47,28,61,145,35,29,68,251,46,,,,*45
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.158,N,02350.509,E,125709,A*2B
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6220.236,N,02346.327,E,T010*2A
+$GPRMC,125710,A,6128.163,N,02350.507,E,036.8,351.0,110805,006.0,E*78
+$GPRMB,A,0.50,R,T013,T012,6129.236,N,02346.327,E,002.3,298.2,022.3,V*21
+$GPGGA,125710,6128.165,N,02350.507,E,1,04,2.8,174.2,M,20.7,M,,*40
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,37,10,17,209,36*71
+$GPGSV,3,2,11,15,13,333,39,18,17,328,43,19,21,036,38,21,05,299,00*77
+$GPGSV,3,3,11,26,59,278,47,28,61,145,35,29,68,251,46,,,,*45
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.172,N,02350.505,E,125711,A*26
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6120.236,N,02346.327,E,T009*21
+$GPRMC,125711,A,6128.177,N,02350.503,E,036.9,350.9,110805,006.0,E*71
+$GPRMB,A,0.49,R,T013,T012,6129.236,N,02346.327,E,002.3,297.9,022.3,V*2D
+$GPGGA,125711,6128.179,N,02350.502,E,1,04,2.8,174.2,M,20.7,M,,*49
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,37,10,17,209,36*71
+$GPGSV,3,2,11,15,13,333,39,18,17,328,43,19,21,036,40,21,05,299,00*78
+$GPGSV,3,3,11,26,59,278,47,28,61,145,35,29,68,251,46,,,,*45
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.185,N,02350.500,E,125712,A*28
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.234,N,02346.317,E,T008*28
+$GPRMC,125713,A,6128.191,N,02350.498,E,037.4,350.0,110805,006.0,E*7D
+$GPRMB,A,0.48,R,T013,T012,6129.236,N,02346.327,E,002.3,297.6,022.9,V*29
+$GPGGA,125713,6128.193,N,02350.497,E,1,04,2.8,174.2,M,20.7,M,,*42
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,36,10,17,209,35*73
+$GPGSV,3,2,11,15,13,333,38,18,17,328,43,19,21,036,41,21,05,299,00*78
+$GPGSV,3,3,11,26,59,278,47,28,61,145,36,29,68,251,47,,,,*47
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.199,N,02350.495,E,125713,A*29
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6157.564,N,02406.158,E,T007*26
+$GPRMC,125714,A,6128.205,N,02350.493,E,037.3,349.9,110805,006.0,E*79
+$GPRMB,A,0.47,R,T013,T012,6129.236,N,02346.327,E,002.3,297.4,022.8,V*25
+$GPGGA,125714,6128.207,N,02350.492,E,1,04,2.8,174.2,M,20.7,M,,*4E
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,36,10,16,209,35*72
+$GPGSV,3,2,11,15,13,333,38,18,17,328,43,19,21,036,41,21,05,299,42*7E
+$GPGSV,3,3,11,26,59,278,47,28,61,145,37,29,68,251,47,,,,*46
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.213,N,02350.490,E,125715,A*2B
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6145.919,N,02345.544,E,T006*2B
+$GPRMC,125715,A,6128.219,N,02350.487,E,037.3,349.8,110805,006.0,E*71
+$GPRMB,A,0.45,R,T013,T012,6129.236,N,02346.327,E,002.2,297.0,022.6,V*2C
+$GPGGA,125715,6128.221,N,02350.486,E,1,04,2.8,174.2,M,20.7,M,,*4E
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,31,07,01,153,00,08,53,094,34,10,16,209,34*73
+$GPGSV,3,2,11,15,13,333,38,18,17,328,43,19,21,036,40,21,05,299,43*7E
+$GPGSV,3,3,11,26,59,278,47,28,61,145,37,29,68,251,47,,,,*46
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.228,N,02350.484,E,125716,A*25
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6130.198,N,02342.702,E,T005*2C
+$GPRMC,125717,A,6128.233,N,02350.482,E,037.2,349.5,110805,006.0,E*72
+$GPRMB,A,0.44,R,T013,T012,6129.236,N,02346.327,E,002.2,296.8,022.6,V*24
+$GPGGA,125717,6128.235,N,02350.481,E,1,04,2.8,174.2,M,20.7,M,,*4E
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,32,07,01,153,00,08,53,094,34,10,16,209,34*70
+$GPGSV,3,2,11,15,13,333,38,18,17,328,42,19,21,036,40,21,05,299,44*78
+$GPGSV,3,3,11,26,59,278,47,28,61,145,37,29,68,251,47,,,,*46
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.241,N,02350.478,E,125717,A*28
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6216.183,N,02619.685,E,T004*25
+$GPRMC,125718,A,6128.247,N,02350.476,E,037.4,349.1,110805,006.0,E*77
+$GPRMB,A,0.43,R,T013,T012,6129.236,N,02346.327,E,002.2,296.5,022.7,V*2F
+$GPGGA,125718,6128.249,N,02350.475,E,1,04,2.8,174.2,M,20.7,M,,*41
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,32,07,01,153,00,08,53,094,34,10,16,209,34*70
+$GPGSV,3,2,11,15,13,333,38,18,17,328,42,19,21,036,39,21,05,299,44*76
+$GPGSV,3,3,11,26,59,278,48,28,61,145,37,29,68,251,47,,,,*49
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.255,N,02350.471,E,125719,A*2A
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6215.064,N,02603.837,E,T003*25
+$GPRMC,125719,A,6128.260,N,02350.469,E,037.7,348.6,110805,006.0,E*78
+$GPRMB,A,0.42,R,T013,T012,6129.236,N,02346.327,E,002.2,296.2,023.0,V*2F
+$GPGGA,125719,6128.262,N,02350.468,E,1,04,2.8,174.2,M,20.7,M,,*45
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,32,07,01,153,00,08,53,094,33,10,16,209,34*77
+$GPGSV,3,2,11,15,13,333,38,18,17,328,42,19,21,036,39,21,05,299,42*70
+$GPGSV,3,3,11,26,59,278,48,28,61,145,36,29,68,251,47,,,,*48
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.269,N,02350.465,E,125720,A*2A
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6151.098,N,02510.924,E,T002*26
+$GPRMC,125720,A,6128.274,N,02350.463,E,038.0,348.3,110805,006.0,E*70
+$GPRMB,A,0.40,R,T013,T012,6129.236,N,02346.327,E,002.2,295.9,023.3,V*26
+$GPGGA,125721,6128.276,N,02350.462,E,1,04,2.8,174.2,M,20.7,M,,*41
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,32,10,16,209,33*70
+$GPGSV,3,2,11,15,13,333,38,18,17,328,42,19,21,036,37,21,05,299,41*7D
+$GPGSV,3,3,11,26,59,278,48,28,61,145,35,29,68,251,47,,,,*4B
+$PGRME,14.0,M,,M,14.0,M*00
+$GPGLL,6128.283,N,02350.459,E,125721,A*20
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.271,N,02346.376,E,T001*27
+$GPRMC,125722,A,6128.288,N,02350.456,E,038.4,348.3,110805,006.0,E*73
+$GPRMB,A,0.39,R,T013,T012,6129.236,N,02346.327,E,002.2,295.6,023.4,V*20
+$GPGGA,125722,6128.290,N,02350.455,E,1,04,4.2,174.2,M,20.7,M,,*42
+$GPGSA,A,2,,,,,,18,,,26,28,29,,4.2,4.2,*11
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,33,10,16,209,33*71
+$GPGSV,3,2,11,15,13,333,38,18,17,328,42,19,21,036,39,21,05,299,40*72
+$GPGSV,3,3,11,26,59,278,48,28,61,145,35,29,68,251,47,,,,*4B
+$PGRME,14.0,M,,M,14.0,M*00
+$GPGLL,6128.297,N,02350.452,E,125723,A*2C
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPRTE,4,1,c,0,T030,T029,T028,T027,T026,T025,T024,T023,T022*49
+$GPRTE,4,2,c,0,T021,T020,T019,T018,T017,T016,T015,T014,T013*4B
+$GPRTE,4,3,c,0,T012,T011,T010,T009,T008,T007,T006,T005,T004*4B
+$GPRTE,4,4,c,0,T003,T002,T001*4F
+$GPWPL,6016.083,N,02452.500,E,T030*22
+$GPRMC,125723,A,6128.308,N,02350.447,E,039.1,347.3,110805,006.0,E*70
+$GPRMB,A,0.38,R,T013,T012,6129.236,N,02346.327,E,002.2,295.3,024.1,V*26
+$GPGGA,125724,6128.310,N,02350.446,E,1,04,2.8,174.2,M,20.7,M,,*43
+$GPGSA,A,2,,,,,,18,,,26,28,29,,3.5,3.5,*11
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,34,10,16,209,32*77
+$GPGSV,3,2,11,15,13,333,38,18,17,328,41,19,21,036,37,21,05,299,40*7F
+$GPGSV,3,3,11,26,59,278,48,28,61,145,34,29,68,251,47,,,,*4A
+$PGRME,14.0,M,,M,14.0,M*00
+$GPGLL,6128.317,N,02350.442,E,125724,A*23
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T029*2D
+$GPRMC,125725,A,6128.322,N,02350.440,E,039.3,346.6,110805,006.0,E*7F
+$GPRMB,A,0.36,R,T013,T012,6129.236,N,02346.327,E,002.2,294.9,024.4,V*26
+$GPGGA,125725,6128.324,N,02350.439,E,1,04,3.5,174.2,M,20.7,M,,*41
+$GPGSA,A,2,,,,,,18,,,26,28,29,,3.5,3.5,*11
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,33,10,16,209,32*70
+$GPGSV,3,2,11,15,13,333,39,18,17,328,41,19,21,036,38,21,05,299,39*7F
+$GPGSV,3,3,11,26,59,278,48,28,61,145,36,29,68,251,47,,,,*48
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.331,N,02350.434,E,125725,A*27
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6023.283,N,02430.650,E,T028*2D
+$GPRMC,125726,A,6128.336,N,02350.431,E,039.5,345.7,110805,006.0,E*7B
+$GPRMB,A,0.35,R,T013,T012,6129.236,N,02346.327,E,002.2,294.6,024.9,V*27
+$GPGGA,125726,6128.338,N,02350.430,E,1,04,2.8,174.2,M,20.7,M,,*4A
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,34,10,16,209,32*77
+$GPGSV,3,2,11,15,13,333,39,18,17,328,41,19,21,036,40,21,05,299,38*71
+$GPGSV,3,3,11,26,59,278,48,28,61,145,37,29,68,251,47,,,,*49
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.345,N,02350.425,E,125727,A*26
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T027*23
+$GPRMC,125727,A,6128.350,N,02350.422,E,039.6,345.3,110805,006.0,E*7F
+$GPRMB,A,0.33,R,T013,T012,6129.236,N,02346.327,E,002.2,294.3,025.0,V*2C
+$GPGGA,125728,6128.353,N,02350.421,E,1,04,2.8,174.2,M,20.7,M,,*49
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,36,10,16,209,31*76
+$GPGSV,3,2,11,15,13,333,40,18,17,328,41,19,21,036,43,21,05,299,37*73
+$GPGSV,3,3,11,26,59,278,47,28,61,145,37,29,68,251,47,,,,*46
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.359,N,02350.417,E,125728,A*25
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T026*24
+$GPRMC,125729,A,6128.365,N,02350.413,E,039.7,344.0,110805,006.0,E*76
+$GPRMB,A,0.32,R,T013,T012,6129.236,N,02346.327,E,002.1,294.0,025.5,V*28
+$GPGGA,125729,6128.367,N,02350.412,E,1,04,2.8,174.2,M,20.7,M,,*4F
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,36,10,16,209,33*74
+$GPGSV,3,2,11,15,13,333,40,18,17,328,41,19,21,036,44,21,05,299,37*74
+$GPGSV,3,3,11,26,59,278,47,28,61,145,38,29,68,251,47,,,,*49
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.373,N,02350.408,E,125730,A*2A
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,S,02453.500,E,T025*3B
+$GPRMC,125730,A,6128.379,N,02350.404,E,039.8,343.6,110805,006.0,E*7B
+$GPRMB,A,0.31,R,T013,T012,6129.236,N,02346.327,E,002.1,293.7,025.6,V*28
+$GPGGA,125730,6128.381,N,02350.402,E,1,04,2.8,174.2,M,20.7,M,,*4E
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,31,07,01,153,00,08,53,094,36,10,16,209,34*71
+$GPGSV,3,2,11,15,13,333,40,18,17,328,40,19,21,036,44,21,05,299,36*74
+$GPGSV,3,3,11,26,59,278,47,28,61,145,39,29,68,251,46,,,,*49
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.388,N,02350.398,E,125731,A*21
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6018.083,N,02453.500,E,T024*28
+$GPRMC,125731,A,6128.393,N,02350.394,E,039.8,343.1,110805,006.0,E*77
+$GPRMB,A,0.30,R,T013,T012,6129.236,N,02346.327,E,002.1,293.4,025.9,V*25
+$GPGGA,125732,6128.395,N,02350.393,E,1,04,2.8,174.2,M,20.7,M,,*46
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,31,07,01,153,00,08,53,094,37,10,16,209,37*73
+$GPGSV,3,2,11,15,13,333,41,18,17,328,38,19,21,036,44,21,05,299,35*79
+$GPGSV,3,3,11,26,59,278,46,28,61,145,38,29,68,251,46,,,,*49
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.402,N,02350.388,E,125732,A*26
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,W,T023*33
+$GPRMC,125733,A,6128.407,N,02350.384,E,039.8,342.4,110805,006.0,E*7A
+$GPRMB,A,0.28,R,T013,T012,6129.236,N,02346.327,E,002.1,293.1,026.0,V*23
+$GPGGA,125733,6128.409,N,02350.382,E,1,04,2.8,174.2,M,20.7,M,,*45
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,31,07,01,153,00,08,53,094,38,10,16,209,36*7D
+$GPGSV,3,2,11,15,13,333,42,18,17,328,38,19,21,036,44,21,05,299,36*79
+$GPGSV,3,3,11,26,59,278,46,28,61,145,38,29,68,251,46,,,,*49
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.415,N,02350.378,E,125733,A*2E
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02555.500,E,T022*26
+$GPRMC,125734,A,6128.421,N,02350.373,E,039.7,341.2,110805,006.0,E*7B
+$GPRMB,A,0.27,R,T013,T012,6129.236,N,02346.327,E,002.1,292.8,026.4,V*20
+$GPGGA,125734,6128.423,N,02350.372,E,1,04,2.8,174.2,M,20.7,M,,*45
+$GPGSA,A,2,,,,,,18,,,26,28,29,,2.8,2.8,*11
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,37,10,16,209,36*70
+$GPGSV,3,2,11,15,13,332,42,18,17,328,37,19,21,036,44,21,05,299,36*77
+$GPGSV,3,3,11,26,59,278,46,28,61,145,39,29,68,251,47,,,,*49
+$PGRME,11.1,M,,M,11.1,M*00
+$GPGLL,6128.429,N,02350.367,E,125734,A*28
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T021*23
+$GPRMC,125735,A,6128.434,N,02350.364,E,039.7,341.2,110805,006.0,E*78
+$GPRMB,A,0.26,R,T013,T012,6129.236,N,02346.327,E,002.1,292.5,026.4,V*2C
+$GPGGA,125735,6128.437,N,02350.362,E,1,04,4.0,174.2,M,20.7,M,,*4E
+$GPGSA,A,2,,,,,,18,,,26,28,29,,4.0,4.0,*11
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,38,10,16,209,35*7C
+$GPGSV,3,2,11,15,13,332,42,18,17,328,36,19,21,036,44,21,05,299,37*77
+$GPGSV,3,3,11,26,59,278,46,28,61,145,39,29,68,251,47,,,,*49
+$PGRME,15.9,M,,M,15.9,M*00
+$GPGLL,6128.443,N,02350.357,E,125736,A*25
+$PGRMZ,572,f,2*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6116.083,N,02452.500,E,T020*22
+$GPRMC,125736,A,6128.448,N,02350.351,E,039.4,340.1,110805,006.0,E*77
+$GPRMB,A,0.25,R,T013,T012,6129.236,N,02346.327,E,002.1,292.3,026.5,V*28
+$GPGGA,125737,6128.450,N,02350.350,E,1,04,2.2,174.2,M,20.7,M,,*48
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.2,2.2,1.0*37
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,38,10,16,209,36*7F
+$GPGSV,3,2,11,15,13,332,42,18,17,328,36,19,21,036,44,21,05,299,36*76
+$GPGSV,3,3,11,26,59,278,46,28,61,145,39,29,68,251,48,,,,*46
+$PGRME,8.3,M,17.6,M,9.8,M*14
+$GPGLL,6128.454,N,02350.341,E,125737,A*25
+$PGRMZ,564,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,S,02452.500,E,T019*34
+$GPRMC,125738,A,6128.459,N,02350.335,E,038.5,335.8,110805,006.0,E*70
+$GPRMB,A,0.24,R,T013,T012,6129.236,N,02346.327,E,002.1,292.0,027.7,V*29
+$GPGGA,125738,6128.461,N,02350.333,E,1,05,2.3,171.9,M,20.7,M,,*4E
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.3,2.3,1.0*37
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,37,10,16,209,36*70
+$GPGSV,3,2,11,15,13,332,42,18,17,328,37,19,21,036,43,21,05,299,36*70
+$GPGSV,3,3,11,26,59,278,46,28,61,145,39,29,68,251,48,,,,*46
+$PGRME,8.6,M,16.6,M,10.0,M*20
+$GPGLL,6128.467,N,02350.328,E,125739,A*24
+$PGRMZ,564,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,N,02452.500,E,T018*28
+$GPRMC,125739,A,6128.472,N,02350.322,E,038.6,335.6,110805,006.0,E*73
+$GPRMB,A,0.23,R,T013,T012,6129.236,N,02346.327,E,002.1,291.8,027.9,V*2B
+$GPGGA,125739,6128.474,N,02350.321,E,1,05,2.3,171.9,M,20.7,M,,*48
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.3,2.3,1.0*37
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,38,10,16,209,36*7F
+$GPGSV,3,2,11,15,13,332,42,18,17,328,38,19,21,036,42,21,05,299,35*7D
+$GPGSV,3,3,11,26,59,278,46,28,61,145,39,29,68,251,48,,,,*46
+$PGRME,8.6,M,16.6,M,10.0,M*20
+$GPGLL,6128.480,N,02350.315,E,125740,A*2D
+$PGRMZ,564,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6013.283,N,02456.650,E,T017*22
+$GPRMC,125740,A,6128.484,N,02350.308,E,038.6,335.1,110805,006.0,E*7B
+$GPRMB,A,0.22,R,T013,T012,6129.236,N,02346.327,E,002.1,291.5,028.0,V*21
+$GPGGA,125741,6128.486,N,02350.306,E,1,05,2.5,168.5,M,20.7,M,,*4D
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.9,2.5,1.6*3D
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,38,10,16,209,34*7D
+$GPGSV,3,2,11,15,13,332,41,18,17,328,39,19,21,036,40,21,05,299,34*7C
+$GPGSV,3,3,11,26,59,278,46,28,61,145,39,29,68,251,48,,,,*46
+$PGRME,9.5,M,16.6,M,11.1,M*22
+$GPGLL,6128.492,N,02350.298,E,125741,A*2B
+$PGRMZ,552,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T016*21
+$GPRMC,125742,A,6128.497,N,02350.292,E,039.4,332.4,110805,006.0,E*78
+$GPRMB,A,0.21,R,T013,T012,6129.236,N,02346.327,E,002.0,291.3,029.7,V*23
+$GPGGA,125742,6128.498,N,02350.289,E,1,05,2.5,168.4,M,20.7,M,,*46
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.8,2.5,1.0*3A
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,38,10,16,209,32*7B
+$GPGSV,3,2,11,15,13,332,40,18,17,328,39,19,21,036,39,21,05,299,33*74
+$GPGSV,3,3,11,26,59,278,46,28,61,145,39,29,68,251,48,,,,*46
+$PGRME,9.5,M,16.6,M,11.1,M*22
+$GPGLL,6128.505,N,02350.283,E,125743,A*2C
+$PGRMZ,552,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0000.000,N,00000.000,W,T015*39
+$GPRMC,125743,A,6128.509,N,02350.277,E,039.4,332.2,110805,006.0,E*72
+$GPRMB,A,0.20,R,T013,T012,6129.236,N,02346.327,E,002.0,291.0,029.7,V*21
+$GPGGA,125743,6128.511,N,02350.275,E,1,05,2.5,168.3,M,20.7,M,,*43
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.8,2.5,1.0*3A
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,37,10,16,209,32*74
+$GPGSV,3,2,11,15,13,332,41,18,17,328,40,19,21,036,38,21,05,299,33*7A
+$GPGSV,3,3,11,26,59,278,46,28,61,145,39,29,68,251,48,,,,*46
+$PGRME,9.5,M,16.6,M,11.1,M*22
+$GPGLL,6128.517,N,02350.268,E,125744,A*2D
+$PGRMZ,552,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0009.000,N,02430.650,E,T014*25
+$GPRMC,125744,A,6128.522,N,02350.262,E,039.5,332.1,110805,006.0,E*7A
+$GPRMB,A,0.19,R,T013,T012,6129.236,N,02346.327,E,002.0,290.8,029.7,V*22
+$GPGGA,125745,6128.524,N,02350.260,E,1,05,2.6,168.3,M,20.7,M,,*44
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.8,2.6,1.0*39
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,36,10,16,209,32*75
+$GPGSV,3,2,11,15,13,332,39,18,17,328,40,19,21,036,37,21,05,299,32*7B
+$GPGSV,3,3,11,26,59,278,46,28,61,145,40,29,68,251,48,,,,*48
+$PGRME,9.5,M,16.6,M,11.1,M*22
+$GPGLL,6128.530,N,02350.253,E,125745,A*21
+$PGRMZ,552,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.285,N,02430.651,E,T013*23
+$GPRMC,125746,A,6128.535,N,02350.247,E,039.5,331.8,110805,006.0,E*73
+$GPRMB,A,0.18,R,T013,T012,6129.236,N,02346.327,E,002.0,290.5,029.8,V*21
+$GPGGA,125746,6128.537,N,02350.245,E,1,05,2.6,168.2,M,20.7,M,,*43
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.8,2.6,1.0*39
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,36,10,16,209,32*75
+$GPGSV,3,2,11,15,13,332,39,18,18,327,40,19,21,036,37,21,05,299,32*7B
+$GPGSV,3,3,11,26,59,278,45,28,61,145,40,29,68,251,47,,,,*44
+$PGRME,9.5,M,16.6,M,11.1,M*22
+$GPGLL,6128.542,N,02350.237,E,125746,A*25
+$PGRMZ,552,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.236,N,02346.327,E,T012*22
+$GPRMC,125747,A,6128.547,N,02350.230,E,040.1,329.4,110805,006.0,E*78
+$GPRMB,A,0.17,R,T013,T012,6129.236,N,02346.327,E,002.0,290.2,031.1,V*29
+$GPGGA,125747,6128.549,N,02350.227,E,1,05,2.6,168.2,M,20.7,M,,*4F
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.8,2.6,1.0*39
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,36,10,16,209,32*75
+$GPGSV,3,2,11,15,13,332,39,18,18,327,39,19,21,036,36,21,05,299,32*74
+$GPGSV,3,3,11,26,59,278,46,28,61,145,40,29,68,251,47,,,,*47
+$PGRME,9.5,M,16.6,M,11.1,M*22
+$GPGLL,6128.555,N,02350.220,E,125748,A*2B
+$PGRMZ,552,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6114.236,N,02346.327,E,T011*2F
+$GPRMC,125748,A,6128.560,N,02350.214,E,040.0,329.3,110805,006.0,E*72
+$GPRMB,A,0.16,R,T013,T012,6129.236,N,02346.327,E,002.0,290.0,031.0,V*2B
+$GPGGA,125748,6128.562,N,02350.211,E,1,05,2.6,168.2,M,20.7,M,,*4C
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.8,2.6,1.0*39
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,35,10,16,209,33*77
+$GPGSV,3,2,11,15,13,332,38,18,18,327,40,19,21,036,35,21,05,299,31*7B
+$GPGSV,3,3,11,26,59,278,47,28,61,145,40,29,68,251,47,,,,*46
+$PGRME,9.5,M,16.6,M,11.1,M*22
+$GPGLL,6128.568,N,02350.203,E,125749,A*25
+$PGRMZ,552,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6220.236,N,02346.327,E,T010*2A
+$GPRMC,125750,A,6128.572,N,02350.197,E,039.8,329.1,110805,006.0,E*74
+$GPRMB,A,0.15,R,T013,T012,6129.236,N,02346.327,E,002.0,289.7,030.9,V*2F
+$GPGGA,125750,6128.574,N,02350.195,E,1,05,2.6,168.2,M,20.7,M,,*4D
+$GPGSA,A,3,,,,,,18,,,26,28,29,,2.8,2.6,1.0*31
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,34,10,16,209,33*76
+$GPGSV,3,2,11,15,13,332,38,18,18,327,39,19,21,035,34,21,05,299,31*77
+$GPGSV,3,3,11,26,59,278,47,28,61,145,40,29,68,251,47,,,,*46
+$PGRME,9.5,M,16.6,M,11.1,M*22
+$GPGLL,6128.580,N,02350.187,E,125750,A*24
+$PGRMZ,552,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6120.236,N,02346.327,E,T009*21
+$GPRMC,125751,A,6128.585,N,02350.181,E,039.4,329.0,110805,006.0,E*77
+$GPRMB,A,0.14,R,T013,T012,6129.236,N,02346.327,E,002.0,289.4,030.3,V*27
+$GPGGA,125751,6128.587,N,02350.179,E,1,04,2.7,168.2,M,20.7,M,,*42
+$GPGSA,A,3,,,,,,18,,,26,28,29,,2.8,2.7,1.0*30
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,34,10,16,209,35*70
+$GPGSV,3,2,11,15,13,332,37,18,18,327,39,19,21,035,34,21,05,299,31*78
+$GPGSV,3,3,11,26,59,278,48,28,61,145,40,29,68,251,47,,,,*49
+$PGRME,9.5,M,16.6,M,11.1,M*22
+$GPGLL,6128.592,N,02350.172,E,125752,A*2F
+$PGRMZ,552,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.234,N,02346.317,E,T008*28
+$GPRMC,125752,A,6128.597,N,02350.165,E,039.2,328.9,110805,006.0,E*73
+$GPRMB,A,0.13,R,T013,T012,6129.236,N,02346.327,E,001.9,289.2,030.2,V*2D
+$GPGGA,125752,6128.599,N,02350.163,E,1,04,2.7,168.2,M,20.7,M,,*45
+$GPGSA,A,3,,,,,,18,,,26,28,29,,2.8,2.7,1.0*30
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,33,10,16,209,34*76
+$GPGSV,3,2,11,15,13,332,36,18,18,327,39,19,21,035,34,21,05,299,31*79
+$GPGSV,3,3,11,26,59,278,48,28,61,145,40,29,68,251,47,,,,*49
+$PGRME,9.7,M,16.6,M,11.1,M*20
+$GPGLL,6128.605,N,02350.155,E,125753,A*26
+$PGRMZ,552,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6157.564,N,02406.158,E,T007*26
+$GPRMC,125753,A,6128.609,N,02350.149,E,039.0,328.7,110805,006.0,E*74
+$GPRMB,A,0.12,R,T013,T012,6129.236,N,02346.327,E,001.9,288.9,030.0,V*24
+$GPGGA,125753,6128.611,N,02350.147,E,1,04,2.7,168.2,M,20.7,M,,*41
+$GPGSA,A,3,,,,,,18,,,26,28,29,,2.8,2.7,1.0*30
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,34,10,16,209,33*76
+$GPGSV,3,2,11,15,13,332,36,18,18,327,40,19,21,035,33,21,05,299,31*70
+$GPGSV,3,3,11,26,59,278,48,28,61,145,39,29,68,251,48,,,,*48
+$PGRME,9.7,M,16.6,M,11.1,M*20
+$GPGLL,6128.617,N,02350.139,E,125754,A*28
+$PGRMZ,552,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6145.919,N,02345.544,E,T006*2B
+$GPRMC,125755,A,6128.621,N,02350.132,E,038.8,328.3,110805,006.0,E*79
+$GPRMB,A,0.11,R,T013,T012,6129.236,N,02346.327,E,001.9,288.7,029.9,V*28
+$GPGGA,125755,6128.622,N,02350.130,E,1,04,2.8,165.6,M,20.7,M,,*41
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,3.3,2.8,1.6*3B
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,34,10,16,209,33*76
+$GPGSV,3,2,11,15,13,332,36,18,18,327,39,19,21,035,35,21,05,299,31*78
+$GPGSV,3,3,11,26,59,278,48,28,61,145,40,29,68,251,47,,,,*49
+$PGRME,10.3,M,17.7,M,13.2,M*1D
+$GPGLL,6128.628,N,02350.122,E,125755,A*2F
+$PGRMZ,543,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6130.198,N,02342.702,E,T005*2C
+$GPRMC,125756,A,6128.632,N,02350.116,E,038.7,328.3,110805,006.0,E*71
+$GPRMB,A,0.10,R,T013,T012,6129.236,N,02346.327,E,001.9,288.4,029.9,V*2A
+$GPGGA,125756,6128.634,N,02350.114,E,1,05,2.8,165.5,M,20.7,M,,*41
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.8,2.8,1.0*37
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,33,10,16,209,33*71
+$GPGSV,3,2,11,15,13,332,37,18,18,327,39,19,21,035,35,21,05,299,31*79
+$GPGSV,3,3,11,26,59,278,48,28,61,145,39,29,68,251,47,,,,*47
+$PGRME,10.4,M,16.6,M,11.1,M*1B
+$GPGLL,6128.640,N,02350.107,E,125757,A*24
+$PGRMZ,534,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6216.183,N,02619.685,E,T004*25
+$GPRMC,125757,A,6128.643,N,02350.099,E,038.6,328.6,110805,006.0,E*74
+$GPRMB,A,0.09,R,T013,T012,6129.236,N,02346.327,E,001.9,288.2,029.4,V*29
+$GPGGA,125758,6128.645,N,02350.097,E,1,05,2.9,162.8,M,20.7,M,,*48
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,3.3,2.9,1.6*3A
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,34,10,16,209,33*76
+$GPGSV,3,2,11,15,13,332,39,18,18,327,39,19,21,035,41,21,05,299,31*74
+$GPGSV,3,3,11,26,59,278,48,28,61,145,38,29,68,251,47,,,,*46
+$PGRME,10.9,M,17.7,M,13.2,M*17
+$GPGLL,6128.649,N,02350.088,E,125758,A*24
+$PGRMZ,526,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6215.064,N,02603.837,E,T003*25
+$GPRMC,125759,A,6128.654,N,02350.082,E,038.4,328.5,110805,006.0,E*77
+$GPRMB,A,0.08,R,T013,T012,6129.236,N,02346.327,E,001.9,287.9,029.2,V*2A
+$GPGGA,125759,6128.656,N,02350.080,E,1,05,2.8,160.2,M,20.7,M,,*44
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.8,2.8,1.0*37
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,37,10,16,209,32*74
+$GPGSV,3,2,11,15,13,332,40,18,18,327,40,19,21,035,40,21,05,299,31*75
+$GPGSV,3,3,11,26,59,278,48,28,61,145,38,29,68,251,47,,,,*46
+$PGRME,11.0,M,16.6,M,11.1,M*1E
+$GPGLL,6128.661,N,02350.073,E,125759,A*2B
+$PGRMZ,526,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6151.098,N,02510.924,E,T002*26
+$GPRMC,125800,A,6128.665,N,02350.065,E,038.1,328.2,110805,006.0,E*7D
+$GPRMB,A,0.08,R,T013,T012,6129.236,N,02346.327,E,001.9,287.7,029.0,V*26
+$GPGGA,125800,6128.667,N,02350.063,E,1,05,2.9,157.7,M,20.7,M,,*48
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,3.3,2.9,1.6*3A
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,36,10,16,209,32*75
+$GPGSV,3,2,11,15,13,332,40,18,18,327,40,19,21,035,41,21,05,299,31*74
+$GPGSV,3,3,11,26,59,278,48,28,61,145,38,29,68,251,47,,,,*46
+$PGRME,11.5,M,17.7,M,13.2,M*1A
+$GPGLL,6128.672,N,02350.056,E,125801,A*2C
+$PGRMZ,510,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.271,N,02346.376,E,T001*27
+$GPRMC,125801,A,6128.676,N,02350.049,E,038.0,328.2,110805,006.0,E*71
+$GPRMB,A,0.07,R,T013,T012,6129.236,N,02346.327,E,001.9,287.5,028.9,V*23
+$GPGGA,125801,6128.677,N,02350.047,E,1,05,3.0,155.5,M,20.7,M,,*46
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,3.7,3.0,2.1*32
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,39,10,16,209,32*7A
+$GPGSV,3,2,11,15,13,332,40,18,18,327,39,19,21,035,45,21,05,299,31*7E
+$GPGSV,3,3,11,26,59,278,48,28,61,145,38,29,68,251,47,,,,*46
+$PGRME,11.5,M,17.7,M,13.2,M*1A
+$GPGLL,6128.682,N,02350.038,E,125802,A*28
+$PGRMZ,503,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPRTE,4,1,c,0,T030,T029,T028,T027,T026,T025,T024,T023,T022*49
+$GPRTE,4,2,c,0,T021,T020,T019,T018,T017,T016,T015,T014,T013*4B
+$GPRTE,4,3,c,0,T012,T011,T010,T009,T008,T007,T006,T005,T004*4B
+$GPRTE,4,4,c,0,T003,T002,T001*4F
+$GPWPL,6016.083,N,02452.500,E,T030*22
+$GPRMC,125803,A,6128.689,N,02350.027,E,037.7,328.8,110805,006.0,E*79
+$GPRMB,A,0.06,R,T013,T012,6129.236,N,02346.327,E,001.9,287.2,028.2,V*2E
+$GPGGA,125803,6128.691,N,02350.025,E,1,05,1.9,151.3,M,20.7,M,,*41
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,1.9,1.9,1.0*37
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,40,10,16,209,31*77
+$GPGSV,3,2,11,15,13,332,40,18,18,327,39,19,21,035,45,21,05,299,31*7E
+$GPGSV,3,3,11,26,59,278,47,28,61,145,37,29,68,251,47,,,,*46
+$PGRME,11.5,M,17.7,M,13.2,M*1A
+$GPGLL,6128.696,N,02350.018,E,125804,A*29
+$PGRMZ,496,f,3*10
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T029*2D
+$GPRMC,125804,A,6128.700,N,02350.012,E,037.3,329.5,110805,006.0,E*70
+$GPRMB,A,0.05,R,T013,T012,6129.236,N,02346.327,E,001.8,286.9,027.5,V*2E
+$GPGGA,125804,6128.703,N,02350.008,E,1,05,1.8,149.3,M,20.7,M,,*4B
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,1.8,1.8,1.0*37
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,40,10,16,209,31*77
+$GPGSV,3,2,11,15,13,332,41,18,18,327,40,19,21,035,45,21,05,299,30*70
+$GPGSV,3,3,11,26,59,278,46,28,61,145,36,29,68,251,47,,,,*46
+$PGRME,11.5,M,17.7,M,13.2,M*1A
+$GPGLL,6128.708,N,02350.002,E,125804,A*24
+$PGRMZ,490,f,3*16
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6023.283,N,02430.650,E,T028*2D
+$GPRMC,125804,A,6128.712,N,02349.996,E,037.3,329.5,110805,006.0,E*7E
+$GPRMB,A,0.04,R,T013,T012,6129.236,N,02346.327,E,001.8,286.6,027.5,V*20
+$GPGGA,125804,6128.714,N,02349.994,E,1,05,1.8,149.3,M,20.7,M,,*49
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,1.8,1.8,1.0*37
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,40,10,16,209,31*77
+$GPGSV,3,2,11,15,13,332,41,18,18,327,39,19,21,035,44,21,05,299,30*7F
+$GPGSV,3,3,11,26,59,278,46,28,61,145,38,29,68,251,47,,,,*48
+$PGRME,11.1,M,16.6,M,11.1,M*1F
+$GPGLL,6128.720,N,02349.987,E,125806,A*20
+$PGRMZ,490,f,3*16
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T027*23
+$GPRMC,125806,A,6128.724,N,02349.982,E,037.4,329.9,110805,006.0,E*77
+$GPRMB,A,0.03,R,T013,T012,6129.236,N,02346.327,E,001.8,286.3,027.1,V*26
+$GPGGA,125807,6128.726,N,02349.980,E,1,05,1.9,149.3,M,20.7,M,,*4F
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,1.9,1.9,1.0*37
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,40,10,16,209,31*77
+$GPGSV,3,2,11,15,13,332,41,18,18,327,39,19,21,035,43,21,05,299,00*7B
+$GPGSV,3,3,11,26,59,278,45,28,61,145,38,29,68,251,47,,,,*4B
+$PGRME,11.1,M,16.6,M,11.1,M*1F
+$GPGLL,6128.731,N,02349.973,E,125808,A*25
+$PGRMZ,490,f,3*16
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T026*24
+$GPRMC,125808,A,6128.736,N,02349.967,E,037.6,330.7,110805,006.0,E*75
+$GPRMB,A,0.02,R,T013,T012,6129.236,N,02346.327,E,001.8,286.0,026.8,V*2C
+$GPGGA,125808,6128.738,N,02349.965,E,1,05,2.1,149.2,M,20.7,M,,*4E
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.1,2.1,1.0*37
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,41,10,16,209,31*76
+$GPGSV,3,2,11,15,13,332,41,18,18,327,40,19,21,035,42,21,05,299,00*74
+$GPGSV,3,3,11,26,59,278,45,28,61,145,38,29,68,251,48,,,,*44
+$PGRME,11.6,M,17.7,M,13.2,M*19
+$GPGLL,6128.743,N,02349.958,E,125809,A*28
+$PGRMZ,485,f,3*12
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,S,02453.500,E,T025*3B
+$GPRMC,125810,A,6128.747,N,02349.952,E,037.8,330.8,110805,006.0,E*7D
+$GPRMB,A,0.01,R,T013,T012,6129.236,N,02346.327,E,001.8,285.7,026.7,V*24
+$GPGGA,125810,6128.748,N,02349.949,E,1,05,2.5,146.4,M,20.7,M,,*43
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,3.2,2.5,2.1*33
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,41,10,16,209,31*76
+$GPGSV,3,2,11,15,13,332,39,18,18,327,39,19,21,035,42,21,05,299,00*75
+$GPGSV,3,3,11,26,59,278,45,28,61,145,37,29,68,251,48,,,,*4B
+$PGRME,11.6,M,17.7,M,13.2,M*19
+$GPGLL,6128.754,N,02349.942,E,125810,A*2D
+$PGRMZ,480,f,3*17
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6018.083,N,02453.500,E,T024*28
+$GPRMC,125811,A,6128.759,N,02349.937,E,037.8,331.1,110805,006.0,E*78
+$GPRMB,A,0.00,R,T013,T012,6129.236,N,02346.327,E,001.8,285.5,026.6,V*26
+$GPGGA,125811,6128.760,N,02349.935,E,1,05,2.5,146.3,M,20.7,M,,*44
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,4.3,3.7,1.0*34
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,41,10,16,209,31*76
+$GPGSV,3,2,11,15,13,332,38,18,18,327,38,19,21,035,41,21,05,299,00*76
+$GPGSV,3,3,11,26,59,278,45,28,61,145,38,29,68,251,48,,,,*44
+$PGRME,16.2,M,16.6,M,17.6,M*1A
+$GPGLL,6128.766,N,02349.928,E,125811,A*21
+$PGRMZ,480,f,3*17
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,W,T023*33
+$GPRMC,125812,A,6128.771,N,02349.923,E,037.9,331.5,110805,006.0,E*71
+$GPRMB,A,0.01,L,T013,T012,6129.236,N,02346.327,E,001.8,285.1,026.2,V*39
+$GPGGA,125812,6128.772,N,02349.921,E,1,05,3.7,146.2,M,20.7,M,,*43
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,4.3,3.7,1.0*34
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,40,10,16,209,31*77
+$GPGSV,3,2,11,15,13,332,39,18,18,327,38,19,21,035,40,21,05,299,00*76
+$GPGSV,3,3,11,26,59,278,44,28,61,145,37,29,68,251,30,,,,*45
+$PGRME,16.2,M,16.6,M,17.6,M*1A
+$GPGLL,6128.778,N,02349.915,E,125813,A*22
+$PGRMZ,480,f,3*17
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02555.500,E,T022*26
+$GPRMC,125813,A,6128.781,N,02349.908,E,038.0,331.7,110805,006.0,E*72
+$GPRMB,A,0.02,L,T013,T012,6129.236,N,02346.327,E,001.8,284.8,026.1,V*31
+$GPGGA,125814,6128.783,N,02349.906,E,1,05,4.9,142.8,M,20.7,M,,*49
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,5.7,4.9,1.0*38
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,40,10,16,209,31*77
+$GPGSV,3,2,11,15,13,332,40,18,18,327,36,19,21,035,43,21,05,299,31*77
+$GPGSV,3,3,11,26,59,278,44,28,61,145,37,29,68,251,42,,,,*40
+$PGRME,7.5,M,16.6,M,7.5,M*1F
+$GPGLL,6128.789,N,02349.901,E,125814,A*2E
+$PGRMZ,469,f,3*10
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T021*23
+$GPRMC,125815,A,6128.794,N,02349.897,E,037.8,334.5,110805,006.0,E*77
+$GPRMB,A,0.03,L,T013,T012,6129.236,N,02346.327,E,001.8,284.5,024.5,V*3B
+$GPGGA,125815,6128.795,N,02349.895,E,1,05,1.8,142.4,M,20.7,M,,*4C
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,1.8,1.8,1.0*37
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,39,10,16,209,30*78
+$GPGSV,3,2,11,15,13,332,41,18,18,327,35,19,21,035,44,21,05,299,33*70
+$GPGSV,3,3,11,26,59,278,44,28,61,145,37,29,68,251,43,,,,*41
+$PGRME,8.4,M,17.7,M,9.9,M*13
+$GPGLL,6128.801,N,02349.889,E,125815,A*21
+$PGRMZ,467,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6116.083,N,02452.500,E,T020*22
+$GPRMC,125816,A,6128.805,N,02349.884,E,036.9,335.7,110805,006.0,E*72
+$GPRMB,A,0.04,L,T013,T012,6129.236,N,02346.327,E,001.8,284.2,023.0,V*39
+$GPGGA,125816,6128.807,N,02349.883,E,1,05,1.8,141.7,M,20.7,M,,*4C
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,1.8,1.8,1.0*37
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,38,10,16,209,30*79
+$GPGSV,3,2,11,15,13,332,41,18,18,327,33,19,21,035,44,21,05,299,34*71
+$GPGSV,3,3,11,26,59,278,44,28,61,145,38,29,68,251,45,,,,*48
+$PGRME,8.4,M,17.7,M,9.9,M*13
+$GPGLL,6128.812,N,02349.877,E,125817,A*20
+$PGRMZ,465,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,S,02452.500,E,T019*34
+$GPRMC,125817,A,6128.817,N,02349.873,E,036.5,335.5,110805,006.0,E*76
+$GPRMB,A,0.05,L,T013,T012,6129.236,N,02346.327,E,001.8,283.9,022.7,V*32
+$GPGGA,125818,6128.819,N,02349.871,E,1,05,1.8,141.7,M,20.7,M,,*40
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,1.8,1.8,1.0*37
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,38,10,16,209,35*7C
+$GPGSV,3,2,11,15,13,332,42,18,18,327,32,19,21,035,44,21,05,299,34*73
+$GPGSV,3,3,11,26,59,278,44,28,61,145,39,29,68,251,46,,,,*4A
+$PGRME,7.5,M,16.6,M,7.5,M*1F
+$GPGLL,6128.824,N,02349.866,E,125818,A*2A
+$PGRMZ,465,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,N,02452.500,E,T018*28
+$GPRMC,125819,A,6128.828,N,02349.861,E,035.9,336.0,110805,006.0,E*7E
+$GPRMB,A,0.06,L,T013,T012,6129.236,N,02346.327,E,001.7,283.5,022.0,V*35
+$GPGGA,125819,6128.830,N,02349.860,E,1,05,1.8,141.7,M,20.7,M,,*4A
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,1.8,1.8,1.0*37
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,37,10,16,209,37*71
+$GPGSV,3,2,11,15,13,332,42,18,18,327,31,19,21,035,45,21,05,299,34*71
+$GPGSV,3,3,11,26,59,277,44,28,61,145,39,29,68,251,46,,,,*45
+$PGRME,7.5,M,16.6,M,7.5,M*1F
+$GPGLL,6128.835,N,02349.854,E,125819,A*2A
+$PGRMZ,465,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6013.283,N,02456.650,E,T017*22
+$GPRMC,125820,A,6128.840,N,02349.850,E,035.6,336.0,110805,006.0,E*77
+$GPRMB,A,0.07,L,T013,T012,6129.236,N,02346.327,E,001.7,283.2,021.6,V*36
+$GPGGA,125820,6128.841,N,02349.848,E,1,05,1.8,141.7,M,20.7,M,,*4C
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,1.8,1.8,1.0*37
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,37,10,16,209,38*7E
+$GPGSV,3,2,11,15,13,332,42,18,18,327,31,19,21,035,45,21,05,299,33*76
+$GPGSV,3,3,11,26,59,277,44,28,61,145,39,29,68,251,46,,,,*45
+$PGRME,7.5,M,16.6,M,7.5,M*1F
+$GPGLL,6128.847,N,02349.842,E,125821,A*23
+$PGRMZ,465,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T016*21
+$GPRMC,125821,A,6128.851,N,02349.838,E,035.8,335.8,110805,006.0,E*7D
+$GPRMB,A,0.07,L,T013,T012,6129.236,N,02346.327,E,001.7,282.9,021.7,V*3D
+$GPGGA,125821,6128.853,N,02349.836,E,1,05,2.2,141.7,M,20.7,M,,*4E
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.2,2.2,1.0*37
+$GPGSV,3,1,11,03,04,013,30,07,01,153,00,08,53,094,37,10,16,209,39*7C
+$GPGSV,3,2,11,15,13,332,42,18,18,327,32,19,21,035,45,21,05,299,33*75
+$GPGSV,3,3,11,26,59,277,45,28,61,145,40,29,68,251,46,,,,*4A
+$PGRME,8.4,M,17.7,M,9.9,M*13
+$GPGLL,6128.858,N,02349.831,E,125822,A*2A
+$PGRMZ,463,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0000.000,N,00000.000,W,T015*39
+$GPRMC,125823,A,6128.863,N,02349.827,E,035.3,336.5,110805,006.0,E*75
+$GPRMB,A,0.08,L,T013,T012,6129.236,N,02346.327,E,001.7,282.6,020.8,V*33
+$GPGGA,125823,6128.864,N,02349.825,E,1,05,2.2,141.0,M,20.7,M,,*4D
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,1.8,1.8,1.0*37
+$GPGSV,3,1,11,03,04,013,30,07,01,153,00,08,53,094,36,10,16,209,39*7D
+$GPGSV,3,2,11,15,13,332,42,18,18,327,32,19,21,035,45,21,05,299,32*74
+$GPGSV,3,3,11,26,59,277,44,28,61,145,40,29,68,251,46,,,,*4B
+$PGRME,7.5,M,16.6,M,7.5,M*1F
+$GPGLL,6128.870,N,02349.820,E,125823,A*21
+$PGRMZ,463,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0009.000,N,02430.650,E,T014*25
+$GPRMC,125824,A,6128.874,N,02349.816,E,035.4,336.9,110805,006.0,E*7D
+$GPRMB,A,0.09,L,T013,T012,6129.236,N,02346.327,E,001.7,282.2,020.6,V*38
+$GPGGA,125824,6128.876,N,02349.814,E,1,05,1.8,141.0,M,20.7,M,,*42
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,1.8,1.8,1.0*37
+$GPGSV,3,1,11,03,04,013,30,07,01,153,00,08,53,094,38,10,16,209,40*7D
+$GPGSV,3,2,11,15,13,332,42,18,18,327,34,19,21,035,45,21,05,299,31*71
+$GPGSV,3,3,11,26,59,277,44,28,61,145,40,29,68,251,46,,,,*4B
+$PGRME,8.4,M,17.7,M,10.0,M*22
+$GPGLL,6128.881,N,02349.810,E,125824,A*2B
+$PGRMZ,459,f,3*13
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.285,N,02430.651,E,T013*23
+$GPRMC,125825,A,6128.885,N,02349.807,E,034.2,338.9,110805,006.0,E*7B
+$GPRMB,A,0.10,L,T013,T012,6129.236,N,02346.327,E,001.7,281.9,018.6,V*33
+$GPGGA,125825,6128.887,N,02349.805,E,1,05,1.8,140.0,M,20.7,M,,*4C
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,1.8,1.8,1.0*37
+$GPGSV,3,1,11,03,04,013,30,07,01,153,00,08,53,094,37,10,16,209,40*72
+$GPGSV,3,2,11,15,13,332,42,18,18,327,33,19,21,035,45,21,05,299,31*76
+$GPGSV,3,3,11,26,59,277,44,28,61,145,40,29,68,251,46,,,,*4B
+$PGRME,7.5,M,16.6,M,7.5,M*1F
+$GPGLL,6128.891,N,02349.800,E,125826,A*29
+$PGRMZ,454,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.236,N,02346.327,E,T012*22
+$GPRMC,125826,A,6128.896,N,02349.797,E,034.1,339.1,110805,006.0,E*76
+$GPRMB,A,0.11,L,T013,T012,6129.236,N,02346.327,E,001.7,281.6,018.4,V*3F
+$GPGGA,125827,6128.898,N,02349.795,E,1,05,2.1,138.5,M,20.7,M,,*46
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.5,2.1,1.6*35
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,38,10,16,209,40*7E
+$GPGSV,3,2,11,15,13,332,42,18,18,327,37,19,21,035,44,21,05,299,31*73
+$GPGSV,3,3,11,26,59,277,44,28,62,144,40,29,68,251,46,,,,*49
+$PGRME,8.4,M,17.7,M,10.0,M*22
+$GPGLL,6128.902,N,02349.791,E,125827,A*24
+$PGRMZ,450,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6114.236,N,02346.327,E,T011*2F
+$GPRMC,125828,A,6128.907,N,02349.787,E,033.9,339.2,110805,006.0,E*7C
+$GPRMB,A,0.12,L,T013,T012,6129.236,N,02346.327,E,001.7,281.3,018.1,V*3C
+$GPGGA,125828,6128.909,N,02349.786,E,1,05,2.3,137.1,M,20.7,M,,*4B
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.8,2.3,1.0*3C
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,37,10,16,209,39*7F
+$GPGSV,3,2,11,15,13,332,42,18,18,327,38,19,21,035,43,21,05,299,31*7B
+$GPGSV,3,3,11,26,59,277,45,28,62,144,39,29,68,251,46,,,,*46
+$PGRME,8.7,M,16.6,M,10.1,M*20
+$GPGLL,6128.914,N,02349.782,E,125829,A*2F
+$PGRMZ,450,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6220.236,N,02346.327,E,T010*2A
+$GPRMC,125829,A,6128.918,N,02349.778,E,033.5,339.5,110805,006.0,E*78
+$GPRMB,A,0.13,L,T013,T012,6129.236,N,02346.327,E,001.7,280.9,017.5,V*3D
+$GPGGA,125829,6128.919,N,02349.776,E,1,05,2.5,135.1,M,20.7,M,,*40
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,3.3,2.5,1.6*36
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,36,10,16,209,39*7E
+$GPGSV,3,2,11,15,13,332,41,18,18,327,39,19,21,035,43,21,05,299,31*79
+$GPGSV,3,3,11,26,59,277,45,28,62,144,39,29,68,251,46,,,,*46
+$PGRME,9.4,M,17.7,M,12.3,M*22
+$GPGLL,6128.925,N,02349.772,E,125830,A*2A
+$PGRMZ,437,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6120.236,N,02346.327,E,T009*21
+$GPRMC,125830,A,6128.928,N,02349.768,E,033.4,339.8,110805,006.0,E*7E
+$GPRMB,A,0.14,L,T013,T012,6129.236,N,02346.327,E,001.7,280.6,017.1,V*31
+$GPGGA,125831,6128.930,N,02349.767,E,1,05,2.6,133.2,M,20.7,M,,*44
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,3.8,2.6,2.1*3A
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,35,10,16,209,37*73
+$GPGSV,3,2,11,15,13,332,41,18,18,327,41,19,21,035,44,21,05,299,30*70
+$GPGSV,3,3,11,26,59,277,45,28,62,144,37,29,68,249,45,,,,*42
+$PGRME,14.3,M,24.4,M,21.3,M*1A
+$GPGLL,6128.935,N,02349.762,E,125831,A*2B
+$PGRMZ,432,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.234,N,02346.317,E,T008*28
+$GPRMC,125832,A,6128.939,N,02349.759,E,033.4,340.1,110805,006.0,E*79
+$GPRMB,A,0.15,L,T013,T012,6129.236,N,02346.327,E,001.7,280.2,016.9,V*3D
+$GPGGA,125832,6128.940,N,02349.757,E,1,05,3.9,129.7,M,20.7,M,,*43
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,6.2,3.9,4.3*3F
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,33,10,16,209,36*74
+$GPGSV,3,2,11,15,13,332,41,18,18,327,41,19,21,035,44,21,05,299,30*70
+$GPGSV,3,3,11,26,59,277,45,28,62,144,36,29,68,249,46,,,,*40
+$PGRME,14.5,M,24.7,M,22.3,M*1C
+$GPGLL,6128.945,N,02349.753,E,125833,A*2C
+$PGRMZ,426,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6157.564,N,02406.158,E,T007*26
+$GPRMC,125833,A,6128.951,N,02349.748,E,033.4,340.4,110805,006.0,E*73
+$GPRMB,A,0.16,L,T013,T012,6129.236,N,02346.327,E,001.7,279.9,016.5,V*3F
+$GPGGA,125833,6128.952,N,02349.747,E,1,05,3.9,127.9,M,20.7,M,,*40
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,6.4,3.9,4.6*3C
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,31,10,16,209,35*75
+$GPGSV,3,2,11,15,13,332,40,18,18,327,41,19,21,035,43,21,05,299,30*76
+$GPGSV,3,3,11,26,59,277,45,28,62,144,35,29,68,249,46,,,,*43
+$PGRME,17.1,M,16.6,M,24.2,M*1C
+$GPGLL,6128.958,N,02349.743,E,125834,A*26
+$PGRMZ,420,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6145.919,N,02345.544,E,T006*2B
+$GPRMC,125834,A,6128.962,N,02349.740,E,033.3,340.2,110805,006.0,E*7D
+$GPRMB,A,0.17,L,T013,T012,6129.236,N,02346.327,E,001.7,279.5,016.4,V*33
+$GPGGA,125835,6128.964,N,02349.738,E,1,05,4.5,127.9,M,20.7,M,,*40
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,6.8,4.5,1.0*38
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,30,10,16,209,35*74
+$GPGSV,3,2,11,15,13,332,41,18,18,327,41,19,21,035,42,21,05,299,30*76
+$GPGSV,3,3,11,26,59,277,45,28,62,144,35,29,68,249,46,,,,*43
+$PGRME,21.1,M,23.4,M,31.9,M*12
+$GPGLL,6128.969,N,02349.734,E,125835,A*25
+$PGRMZ,416,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6130.198,N,02342.702,E,T005*2C
+$GPRMC,125835,A,6128.973,N,02349.731,E,033.3,340.5,110805,006.0,E*7D
+$GPRMB,A,0.18,L,T013,T012,6129.236,N,02346.327,E,001.7,279.2,016.0,V*3F
+$GPGGA,125835,6128.975,N,02349.730,E,1,05,5.6,127.0,M,20.7,M,,*43
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,8.7,5.6,3.1*38
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,30,10,16,209,34*75
+$GPGSV,3,2,11,15,13,332,41,18,18,327,41,19,21,035,41,21,05,299,30*75
+$GPGSV,3,3,11,26,59,277,45,28,62,144,35,29,68,249,46,,,,*43
+$PGRME,21.1,M,23.4,M,31.9,M*12
+$GPGLL,6128.980,N,02349.726,E,125835,A*21
+$PGRMZ,417,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6216.183,N,02619.685,E,T004*25
+$GPRMC,125837,A,6128.984,N,02349.723,E,033.3,340.5,110805,006.0,E*74
+$GPRMB,A,0.19,L,T013,T012,6129.236,N,02346.327,E,001.6,278.8,016.0,V*34
+$GPGGA,125837,6128.986,N,02349.721,E,1,05,5.6,127.1,M,20.7,M,,*4C
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.8,2.8,1.0*37
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,35,10,16,209,34*70
+$GPGSV,3,2,11,15,13,332,41,18,18,327,40,19,21,035,41,21,05,299,30*74
+$GPGSV,3,3,11,26,59,277,46,28,62,144,37,29,68,249,46,,,,*42
+$PGRME,11.1,M,16.6,M,11.1,M*1F
+$GPGLL,6128.991,N,02349.718,E,125837,A*2E
+$PGRMZ,417,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6215.064,N,02603.837,E,T003*25
+$GPRMC,125838,A,6128.995,N,02349.715,E,032.1,341.4,110805,006.0,E*7D
+$GPRMB,A,0.20,L,T013,T012,6129.236,N,02346.327,E,001.6,278.4,015.2,V*33
+$GPGGA,125838,6128.996,N,02349.714,E,1,05,2.9,126.0,M,20.7,M,,*4C
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,3.3,2.9,1.6*3A
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,36,10,16,209,33*74
+$GPGSV,3,2,11,15,13,332,40,18,18,327,40,19,21,035,39,21,05,299,30*7A
+$GPGSV,3,3,11,26,59,277,46,28,62,144,40,29,68,249,46,,,,*42
+$PGRME,11.7,M,17.7,M,13.2,M*18
+$GPGLL,6129.001,N,02349.710,E,125839,A*29
+$PGRMZ,409,f,3*16
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6151.098,N,02510.924,E,T002*26
+$GPRMC,125840,A,6129.005,N,02349.707,E,031.2,341.9,110805,006.0,E*7D
+$GPRMB,A,0.21,L,T013,T012,6129.236,N,02346.327,E,001.6,278.1,013.2,V*31
+$GPGGA,125840,6129.006,N,02349.706,E,1,05,3.1,124.1,M,20.7,M,,*4B
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,4.2,3.1,2.6*36
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,35,10,16,209,33*77
+$GPGSV,3,2,11,15,13,332,40,18,18,327,39,19,21,035,39,21,05,299,30*74
+$GPGSV,3,3,11,26,59,277,46,28,62,144,40,29,68,249,46,,,,*42
+$PGRME,11.7,M,17.7,M,13.2,M*18
+$GPGLL,6129.011,N,02349.703,E,125841,A*25
+$PGRMZ,407,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.271,N,02346.376,E,T001*27
+$GPRMC,125841,A,6129.015,N,02349.701,E,030.3,342.4,110805,006.0,E*75
+$GPRMB,A,0.21,L,T013,T012,6129.236,N,02346.327,E,001.6,277.8,013.2,V*37
+$GPGGA,125841,6129.014,N,02349.701,E,1,05,1.9,124.3,M,20.7,M,,*46
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,1.9,1.9,1.0*37
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,37,10,16,209,32*74
+$GPGSV,3,2,11,15,13,332,41,18,18,327,39,19,21,035,39,21,05,299,30*75
+$GPGSV,3,3,11,26,59,277,46,28,62,144,40,29,68,249,46,,,,*42
+$PGRME,8.4,M,17.8,M,10.0,M*2D
+$GPGLL,6129.016,N,02349.699,E,125842,A*23
+$PGRMZ,402,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPRTE,4,1,c,0,T030,T029,T028,T027,T026,T025,T024,T023,T022*49
+$GPRTE,4,2,c,0,T021,T020,T019,T018,T017,T016,T015,T014,T013*4B
+$GPRTE,4,3,c,0,T012,T011,T010,T009,T008,T007,T006,T005,T004*4B
+$GPRTE,4,4,c,0,T003,T002,T001*4F
+$GPWPL,6016.083,N,02452.500,E,T030*22
+$GPRMC,125843,A,6129.021,N,02349.697,E,018.3,344.6,110805,006.0,E*70
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,007.2,V*3F
+$GPGGA,125843,6129.021,N,02349.696,E,1,05,2.3,122.5,M,20.7,M,,*44
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,3.0,2.3,2.1*37
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,40,10,16,209,31*77
+$GPGSV,3,2,11,15,13,332,41,18,18,327,39,19,21,035,39,21,05,299,30*75
+$GPGSV,3,3,11,26,59,277,46,28,62,144,41,29,68,249,47,,,,*42
+$PGRME,8.4,M,17.8,M,10.0,M*2D
+$GPGLL,6129.023,N,02349.694,E,125844,A*2E
+$PGRMZ,396,f,3*17
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T029*2D
+$GPRMC,125844,A,6129.024,N,02349.692,E,014.1,341.0,110805,006.0,E*7A
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,006.3,V*3C
+$GPGGA,125844,6129.025,N,02349.692,E,1,05,2.5,119.1,M,20.7,M,,*49
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,3.5,2.5,2.6*33
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,41,10,16,209,31*76
+$GPGSV,3,2,11,15,13,332,41,18,18,327,39,19,21,035,39,21,05,299,30*75
+$GPGSV,3,3,11,26,59,277,45,28,62,144,41,29,68,249,46,,,,*40
+$PGRME,8.4,M,17.8,M,10.0,M*2D
+$GPGLL,6129.027,N,02349.690,E,125845,A*2F
+$PGRMZ,390,f,3*11
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6023.283,N,02430.650,E,T028*2D
+$GPRMC,125845,A,6129.029,N,02349.689,E,014.1,341.0,110805,006.0,E*7C
+$GPRMB,A,0.23,L,T013,T012,6129.236,N,02346.327,E,001.6,277.4,006.3,V*3C
+$GPGGA,125845,6129.029,N,02349.689,E,1,05,2.7,118.0,M,20.7,M,,*4C
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,4.1,2.7,3.2*37
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,44,10,16,209,31*73
+$GPGSV,3,2,11,15,13,332,41,18,18,327,41,19,21,035,37,21,05,299,30*74
+$GPGSV,3,3,11,26,59,277,42,28,62,144,40,29,68,249,45,,,,*45
+$PGRME,14.3,M,25.8,M,21.7,M*13
+$GPGLL,6129.024,N,02349.688,E,125846,A*26
+$PGRMZ,377,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T027*23
+$GPRMC,125847,A,6129.022,N,02349.687,E,018.8,187.4,110805,006.0,E*72
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,-000.0,V*17
+$GPGGA,125847,6129.023,N,02349.687,E,1,05,3.9,113.6,M,20.7,M,,*48
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,6.5,3.9,5.2*38
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,44,10,16,209,30*72
+$GPGSV,3,2,11,15,13,332,41,18,18,327,41,19,21,035,36,21,05,299,30*75
+$GPGSV,3,3,11,26,59,277,42,28,62,144,38,29,68,249,44,,,,*4B
+$PGRME,14.5,M,26.0,M,22.8,M*12
+$GPGLL,6129.025,N,02349.686,E,125847,A*28
+$PGRMZ,370,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T026*24
+$GPRMC,125848,A,6129.026,N,02349.686,E,007.4,346.0,110805,006.0,E*71
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,003.8,V*32
+$GPGGA,125848,6129.026,N,02349.685,E,1,05,3.9,112.2,M,20.7,M,,*45
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,6.7,3.9,5.4*3C
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,43,10,16,209,30*75
+$GPGSV,3,2,11,15,13,332,41,18,18,327,41,19,21,035,36,21,05,299,30*75
+$GPGSV,3,3,11,26,59,277,41,28,62,144,38,29,68,249,44,,,,*48
+$PGRME,14.5,M,26.0,M,22.8,M*12
+$GPGLL,6129.027,N,02349.685,E,125849,A*27
+$PGRMZ,363,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,S,02453.500,E,T025*3B
+$GPRMC,125849,A,6129.027,N,02349.685,E,006.2,346.9,110805,006.0,E*7C
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.4,002.2,V*38
+$GPGGA,125849,6129.028,N,02349.684,E,1,05,3.9,110.0,M,20.7,M,,*4B
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,6.8,3.9,5.5*32
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,43,10,16,209,31*74
+$GPGSV,3,2,11,15,13,332,40,18,18,327,39,19,21,035,36,21,05,299,30*7B
+$GPGSV,3,3,11,26,59,277,42,28,62,144,37,29,68,249,44,,,,*44
+$PGRME,14.5,M,26.0,M,22.8,M*12
+$GPGLL,6129.028,N,02349.684,E,125850,A*21
+$PGRMZ,357,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6018.083,N,02453.500,E,T024*28
+$GPRMC,125851,A,6129.029,N,02349.683,E,004.2,339.9,110805,006.0,E*77
+$GPRMB,A,0.23,L,T013,T012,6129.236,N,02346.327,E,001.6,277.4,001.9,V*31
+$GPGGA,125851,6129.028,N,02349.684,E,1,05,4.1,107.8,M,20.7,M,,*43
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,5.7,4.1,1.0*30
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,44,10,16,209,31*73
+$GPGSV,3,2,11,15,13,332,40,18,18,327,39,19,21,035,37,21,05,299,31*7B
+$GPGSV,3,3,11,26,59,277,40,28,62,144,36,29,68,249,44,,,,*47
+$PGRME,14.5,M,26.0,M,22.8,M*12
+$GPGLL,6129.028,N,02349.683,E,125851,A*27
+$PGRMZ,353,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,W,T023*33
+$GPRMC,125852,A,6129.028,N,02349.683,E,002.2,326.6,110805,006.0,E*72
+$GPRMB,A,0.23,L,T013,T012,6129.236,N,02346.327,E,001.6,277.4,001.3,V*3B
+$GPGGA,125852,6129.028,N,02349.683,E,1,05,4.1,105.9,M,20.7,M,,*44
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,5.9,4.1,1.6*38
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,44,10,16,209,31*73
+$GPGSV,3,2,11,15,13,332,40,18,18,327,39,19,21,035,37,21,05,299,31*7B
+$GPGSV,3,3,11,26,59,277,40,28,62,144,35,29,68,249,44,,,,*44
+$PGRME,14.5,M,26.0,M,22.8,M*12
+$GPGLL,6129.028,N,02349.682,E,125853,A*24
+$PGRMZ,344,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02555.500,E,T022*26
+$GPRMC,125853,A,6129.027,N,02349.682,E,000.0,326.6,110805,006.0,E*7D
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.4,,V*16
+$GPGGA,125853,6129.028,N,02349.682,E,1,05,4.2,104.5,M,20.7,M,,*4A
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,5.7,4.2,1.0*33
+$GPGSV,3,1,11,03,04,013,00,07,01,153,00,08,53,094,43,10,16,209,31*74
+$GPGSV,3,2,11,15,13,332,40,18,18,327,39,19,21,035,37,21,05,299,30*7A
+$GPGSV,3,3,11,26,59,277,41,28,62,144,36,29,68,249,44,,,,*46
+$PGRME,14.5,M,26.0,M,22.8,M*12
+$GPGLL,6129.028,N,02349.682,E,125854,A*23
+$PGRMZ,342,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T021*23
+$GPRMC,125854,A,6129.028,N,02349.682,E,000.0,326.6,110805,006.0,E*75
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.4,,V*16
+$GPGGA,125854,6129.028,N,02349.682,E,1,05,2.8,104.2,M,20.7,M,,*46
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.8,2.8,1.0*37
+$GPGSV,3,1,11,03,03,012,00,07,01,153,00,08,53,094,41,10,16,209,31*70
+$GPGSV,3,2,11,15,13,332,41,18,18,327,38,19,21,035,35,21,05,299,31*79
+$GPGSV,3,3,11,26,59,277,44,28,62,144,42,29,68,249,45,,,,*41
+$PGRME,11.1,M,16.6,M,11.1,M*1F
+$GPGLL,6129.027,N,02349.683,E,125855,A*2C
+$PGRMZ,342,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6116.083,N,02452.500,E,T020*22
+$GPRMC,125856,A,6129.027,N,02349.682,E,000.0,326.6,110805,006.0,E*78
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.4,,V*16
+$GPGGA,125856,6129.027,N,02349.683,E,1,05,2.8,104.1,M,20.7,M,,*49
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.8,2.8,1.0*37
+$GPGSV,3,1,11,03,03,012,00,07,01,153,00,08,53,094,40,10,16,209,31*71
+$GPGSV,3,2,11,15,13,332,41,18,18,327,38,19,21,035,34,21,05,299,31*78
+$GPGSV,3,3,11,26,59,277,45,28,62,144,43,29,68,249,45,,,,*41
+$PGRME,11.1,M,16.6,M,11.1,M*1F
+$GPGLL,6129.027,N,02349.683,E,125857,A*2E
+$PGRMZ,341,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,S,02452.500,E,T019*34
+$GPRMC,125857,A,6129.027,N,02349.683,E,000.0,326.6,110805,006.0,E*78
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.4,,V*16
+$GPGGA,125857,6129.026,N,02349.682,E,1,05,2.9,103.1,M,20.7,M,,*4E
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,3.3,2.9,1.6*3A
+$GPGSV,3,1,11,03,03,012,00,07,01,153,00,08,53,094,39,10,16,209,31*7F
+$GPGSV,3,2,11,15,13,332,41,18,18,327,37,19,21,035,34,21,05,299,31*77
+$GPGSV,3,3,11,26,59,277,45,28,62,144,43,29,68,249,46,,,,*42
+$PGRME,11.7,M,17.8,M,13.3,M*16
+$GPGLL,6129.026,N,02349.682,E,125858,A*21
+$PGRMZ,335,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,N,02452.500,E,T018*28
+$GPRMC,125858,A,6129.026,N,02349.682,E,000.0,326.6,110805,006.0,E*77
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,,V*17
+$GPGGA,125858,6129.026,N,02349.682,E,1,05,3.0,102.1,M,20.7,M,,*48
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,3.8,3.0,2.1*3D
+$GPGSV,3,1,11,03,03,012,00,07,01,153,00,08,53,094,38,10,16,209,31*7E
+$GPGSV,3,2,11,15,13,332,41,18,18,327,37,19,21,035,33,21,05,299,31*70
+$GPGSV,3,3,11,26,59,277,46,28,62,144,44,29,68,249,46,,,,*46
+$PGRME,11.7,M,17.8,M,13.3,M*16
+$GPGLL,6129.025,N,02349.681,E,125859,A*20
+$PGRMZ,332,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6013.283,N,02456.650,E,T017*22
+$GPRMC,125900,A,6129.025,N,02349.681,E,000.0,326.6,110805,006.0,E*7B
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,,V*17
+$GPGGA,125900,6129.025,N,02349.681,E,1,05,3.1,101.2,M,20.7,M,,*45
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,4.2,3.1,2.6*36
+$GPGSV,3,1,11,03,03,012,00,07,01,153,00,08,53,094,38,10,16,209,30*7F
+$GPGSV,3,2,11,15,13,332,41,18,18,327,37,19,21,035,33,21,05,299,31*70
+$GPGSV,3,3,11,26,59,277,46,28,62,144,44,29,68,249,46,,,,*46
+$PGRME,11.1,M,16.6,M,11.1,M*1F
+$GPGLL,6129.025,N,02349.681,E,125900,A*2D
+$PGRMZ,332,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T016*21
+$GPRMC,125901,A,6129.025,N,02349.681,E,000.0,326.6,110805,006.0,E*7A
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,,V*17
+$GPGGA,125901,6129.025,N,02349.681,E,1,05,2.9,101.1,M,20.7,M,,*4E
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,3.3,2.9,1.6*3A
+$GPGSV,3,1,11,03,03,012,00,07,01,153,00,08,53,094,39,10,16,209,30*7E
+$GPGSV,3,2,11,15,13,332,41,18,18,327,37,19,21,035,33,21,05,299,30*71
+$GPGSV,3,3,11,26,59,277,46,28,62,144,45,29,68,249,46,,,,*47
+$PGRME,11.7,M,17.8,M,13.3,M*16
+$GPGLL,6129.025,N,02349.681,E,125902,A*2F
+$PGRMZ,331,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0000.000,N,00000.000,W,T015*39
+$GPRMC,125902,A,6129.025,N,02349.681,E,000.0,326.6,110805,006.0,E*79
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,,V*17
+$GPGGA,125902,6129.025,N,02349.681,E,1,05,3.0,101.0,M,20.7,M,,*44
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,3.8,3.0,2.1*3D
+$GPGSV,3,1,11,03,03,012,00,07,01,153,00,08,53,094,38,10,16,209,31*7E
+$GPGSV,3,2,11,15,13,332,42,18,18,327,37,19,21,035,32,21,05,299,31*72
+$GPGSV,3,3,11,26,59,277,46,28,62,144,44,29,68,249,46,,,,*46
+$PGRME,11.1,M,16.6,M,11.1,M*1F
+$GPGLL,6129.025,N,02349.681,E,125903,A*2E
+$PGRMZ,332,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0009.000,N,02430.650,E,T014*25
+$GPRMC,125903,A,6129.025,N,02349.681,E,000.0,326.6,110805,006.0,E*78
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,,V*17
+$GPGGA,125904,6129.025,N,02349.681,E,1,05,2.8,101.1,M,20.7,M,,*4A
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.8,2.8,1.0*37
+$GPGSV,3,1,11,03,03,012,00,07,01,153,00,08,53,094,38,10,16,209,31*7E
+$GPGSV,3,2,11,15,13,332,41,18,18,327,36,19,21,035,31,21,05,299,31*73
+$GPGSV,3,3,11,26,59,277,46,28,62,144,44,29,68,249,46,,,,*46
+$PGRME,11.1,M,16.6,M,11.1,M*1F
+$GPGLL,6129.025,N,02349.681,E,125904,A*29
+$PGRMZ,332,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.285,N,02430.651,E,T013*23
+$GPRMC,125905,A,6129.025,N,02349.682,E,000.0,326.6,110805,006.0,E*7D
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,,V*17
+$GPGGA,125905,6129.025,N,02349.682,E,1,05,2.8,101.2,M,20.7,M,,*4B
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.8,2.8,1.0*37
+$GPGSV,3,1,11,03,03,012,00,07,01,153,00,08,53,094,38,10,16,209,31*7E
+$GPGSV,3,2,11,15,13,332,41,18,18,327,36,19,21,035,31,21,05,299,31*73
+$GPGSV,3,3,11,26,59,277,46,28,62,144,44,29,68,249,46,,,,*46
+$PGRME,11.1,M,16.6,M,11.1,M*1F
+$GPGLL,6129.025,N,02349.682,E,125906,A*28
+$PGRMZ,332,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.236,N,02346.327,E,T012*22
+$GPRMC,125906,A,6129.024,N,02349.681,E,000.0,326.6,110805,006.0,E*7C
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,,V*17
+$GPGGA,125906,6129.024,N,02349.681,E,1,05,3.9,101.2,M,20.7,M,,*4A
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,3.9,3.9,1.0*37
+$GPGSV,3,1,11,03,03,012,00,07,01,153,00,08,53,094,38,10,16,209,31*7E
+$GPGSV,3,2,11,15,13,332,41,18,18,327,36,19,21,035,31,21,05,299,31*73
+$GPGSV,3,3,11,26,59,277,47,28,62,144,45,29,68,249,46,,,,*46
+$PGRME,15.6,M,16.6,M,15.6,M*1F
+$GPGLL,6129.024,N,02349.681,E,125906,A*2A
+$PGRMZ,332,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6114.236,N,02346.327,E,T011*2F
+$GPRMC,125907,A,6129.024,N,02349.681,E,000.0,326.6,110805,006.0,E*7D
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,,V*17
+$GPGGA,125907,6129.024,N,02349.681,E,1,05,4.9,101.3,M,20.7,M,,*4D
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,4.9,4.9,1.0*37
+$GPGSV,3,1,11,03,03,012,00,07,01,153,00,08,53,094,38,10,16,209,30*7F
+$GPGSV,3,2,11,15,13,332,41,18,18,327,35,19,21,035,30,21,05,299,31*71
+$GPGSV,3,3,11,26,59,277,46,28,62,144,44,29,68,249,46,,,,*46
+$PGRME,15.6,M,16.6,M,15.6,M*1F
+$GPGLL,6129.024,N,02349.681,E,125908,A*24
+$PGRMZ,332,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6220.236,N,02346.327,E,T010*2A
+$GPRMC,125909,A,6129.024,N,02349.681,E,000.0,326.6,110805,006.0,E*73
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125909,6129.023,N,02349.681,E,1,05,6.7,101.3,M,20.7,M,,*48
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,6.7,6.7,1.0*37
+$GPGSV,3,1,11,03,03,012,00,07,01,153,00,08,53,094,37,10,16,209,31*71
+$GPGSV,3,2,11,15,13,332,41,18,18,327,34,19,21,035,30,21,05,299,31*70
+$GPGSV,3,3,11,26,59,277,46,28,62,144,44,29,68,249,46,,,,*46
+$PGRME,15.6,M,16.6,M,15.6,M*1F
+$GPGLL,6129.023,N,02349.681,E,125909,A*22
+$PGRMZ,332,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6120.236,N,02346.327,E,T009*21
+$GPRMC,125910,A,6129.023,N,02349.681,E,000.0,326.6,110805,006.0,E*7C
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125910,6129.023,N,02349.681,E,1,05,2.8,101.4,M,20.7,M,,*4C
+$GPGSA,A,3,,,,,,18,19,,26,28,29,,2.8,2.8,1.0*37
+$GPGSV,3,1,11,03,03,012,00,07,02,153,00,08,53,094,37,10,16,209,31*72
+$GPGSV,3,2,11,15,13,332,41,18,18,327,35,19,21,035,30,21,05,299,31*71
+$GPGSV,3,3,11,26,59,277,46,28,62,144,45,29,68,249,46,,,,*47
+$PGRME,11.1,M,16.6,M,11.1,M*1F
+$GPGLL,6129.023,N,02349.681,E,125910,A*2A
+$PGRMZ,333,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.234,N,02346.317,E,T008*28
+$GPRMC,125911,A,6129.023,N,02349.681,E,000.0,326.6,110805,006.0,E*7D
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125912,6129.023,N,02349.681,E,1,05,2.8,101.4,M,20.7,M,,*4E
+$GPGSA,A,3,,,,,,18,19,,26,,28,29,2.8,2.8,1.0*37
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,53,094,37,10,16,209,31*71
+$GPGSV,3,2,12,15,13,332,41,18,18,327,35,19,21,035,30,21,05,299,32*71
+$GPGSV,3,3,12,26,59,277,47,27,20,092,00,28,62,144,44,29,68,249,46*78
+$PGRME,11.1,M,16.6,M,11.1,M*1F
+$GPGLL,6129.023,N,02349.681,E,125912,A*28
+$PGRMZ,333,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6157.564,N,02406.158,E,T007*26
+$GPRMC,125913,A,6129.023,N,02349.681,E,000.0,326.6,110805,006.0,E*7F
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125913,6129.023,N,02349.682,E,1,05,2.8,101.4,M,20.7,M,,*4C
+$GPGSA,A,3,,,,,,18,,,26,,28,29,2.8,2.8,1.0*3F
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,53,094,36,10,16,209,33*72
+$GPGSV,3,2,12,15,13,332,41,18,18,327,35,19,21,035,30,21,05,299,32*71
+$GPGSV,3,3,12,26,59,277,47,27,20,092,43,28,62,144,45,29,68,249,46*7E
+$PGRME,11.1,M,16.6,M,11.1,M*1F
+$GPGLL,6129.023,N,02349.682,E,125913,A*2A
+$PGRMZ,333,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6145.919,N,02345.544,E,T006*2B
+$GPRMC,125914,A,6129.024,N,02349.682,E,000.0,326.6,110805,006.0,E*7C
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125914,6129.024,N,02349.682,E,1,04,2.8,101.4,M,20.7,M,,*4D
+$GPGSA,A,3,,,,,,18,,,26,,28,29,2.8,2.8,1.0*3F
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,35,10,16,209,33*70
+$GPGSV,3,2,12,15,13,332,41,18,18,327,36,19,21,035,30,21,05,299,33*73
+$GPGSV,3,3,12,26,59,277,47,27,20,092,43,28,62,144,44,29,68,249,46*7F
+$PGRME,11.1,M,16.6,M,11.1,M*1F
+$GPGLL,6129.024,N,02349.682,E,125915,A*2B
+$PGRMZ,333,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6130.198,N,02342.702,E,T005*2C
+$GPRMC,125915,A,6129.024,N,02349.682,E,000.0,326.6,110805,006.0,E*7D
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,,V*17
+$GPGGA,125915,6129.024,N,02349.682,E,1,04,2.8,101.4,M,20.7,M,,*4C
+$GPGSA,A,3,,,,,,18,,,26,,28,29,2.8,2.8,1.0*3F
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,36,10,16,209,35*75
+$GPGSV,3,2,12,15,13,332,41,18,18,327,36,19,21,035,30,21,05,299,34*74
+$GPGSV,3,3,12,26,59,277,47,27,20,092,43,28,62,144,44,29,68,249,46*7F
+$PGRME,11.1,M,16.6,M,11.1,M*1F
+$GPGLL,6129.024,N,02349.683,E,125916,A*29
+$PGRMZ,333,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6216.183,N,02619.685,E,T004*25
+$GPRMC,125917,A,6129.024,N,02349.683,E,000.0,326.6,110805,006.0,E*7E
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,,V*17
+$GPGGA,125917,6129.024,N,02349.683,E,1,04,2.8,101.4,M,20.7,M,,*4F
+$GPGSA,A,3,,,,,,18,,,26,,28,29,2.8,2.8,1.0*3F
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,37,10,16,209,35*74
+$GPGSV,3,2,12,15,13,332,42,18,18,327,36,19,21,035,30,21,05,299,34*77
+$GPGSV,3,3,12,26,59,277,47,27,20,092,42,28,62,144,44,29,68,249,46*7E
+$PGRME,11.1,M,16.6,M,11.1,M*1F
+$GPGLL,6129.024,N,02349.683,E,125917,A*28
+$PGRMZ,333,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6215.064,N,02603.837,E,T003*25
+$GPRMC,125918,A,6129.024,N,02349.683,E,000.0,326.6,110805,006.0,E*71
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,,V*17
+$GPGGA,125918,6129.024,N,02349.683,E,1,04,2.8,101.4,M,20.7,M,,*40
+$GPGSA,A,3,,,,,,18,,,26,,28,29,2.8,2.8,1.0*3F
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,36,10,16,209,36*76
+$GPGSV,3,2,12,15,13,332,42,18,18,327,37,19,21,035,30,21,05,299,34*76
+$GPGSV,3,3,12,26,59,277,47,27,20,092,42,28,62,144,44,29,68,249,46*7E
+$PGRME,11.1,M,16.6,M,11.1,M*1F
+$GPGLL,6129.024,N,02349.683,E,125919,A*26
+$PGRMZ,333,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6151.098,N,02510.924,E,T002*26
+$GPRMC,125919,A,6129.023,N,02349.683,E,000.0,326.6,110805,006.0,E*77
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125919,6129.023,N,02349.683,E,1,04,2.9,100.2,M,20.7,M,,*40
+$GPGSA,A,3,,,,,,18,19,,26,,28,29,3.3,2.9,1.6*3A
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,36,10,16,209,36*76
+$GPGSV,3,2,12,15,13,332,43,18,18,327,38,19,21,035,30,21,05,299,34*78
+$GPGSV,3,3,12,26,59,277,47,27,20,092,42,28,62,144,44,29,68,249,46*7E
+$PGRME,11.1,M,16.6,M,11.1,M*1F
+$GPGLL,6129.023,N,02349.683,E,125920,A*2B
+$PGRMZ,329,f,3*13
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.271,N,02346.376,E,T001*27
+$GPRMC,125920,A,6129.023,N,02349.684,E,000.0,326.6,110805,006.0,E*7A
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,,V*17
+$GPGGA,125920,6129.023,N,02349.684,E,1,05,2.8,100.1,M,20.7,M,,*4E
+$GPGSA,A,3,,,,,,18,19,,26,,28,29,2.8,2.8,1.0*37
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,35,10,16,209,36*75
+$GPGSV,3,2,12,15,13,332,43,18,18,327,39,19,21,035,30,21,05,299,32*7F
+$GPGSV,3,3,12,26,59,277,46,27,20,092,41,28,62,144,44,29,68,249,46*7C
+$PGRME,11.1,M,16.6,M,11.1,M*1F
+$GPGLL,6129.023,N,02349.684,E,125921,A*2D
+$PGRMZ,328,f,3*12
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPRTE,4,1,c,0,T030,T029,T028,T027,T026,T025,T024,T023,T022*49
+$GPRTE,4,2,c,0,T021,T020,T019,T018,T017,T016,T015,T014,T013*4B
+$GPRTE,4,3,c,0,T012,T011,T010,T009,T008,T007,T006,T005,T004*4B
+$GPRTE,4,4,c,0,T003,T002,T001*4F
+$GPWPL,6016.083,N,02452.500,E,T030*22
+$GPRMC,125922,A,6129.023,N,02349.684,E,000.0,326.6,110805,006.0,E*78
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,,V*17
+$GPGGA,125922,6129.023,N,02349.684,E,1,05,2.8,100.0,M,20.7,M,,*4D
+$GPGSA,A,3,,,,,,18,19,,26,,28,29,2.8,2.8,1.0*37
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,35,10,15,209,35*75
+$GPGSV,3,2,12,15,13,332,42,18,18,327,40,19,21,035,30,21,05,299,32*70
+$GPGSV,3,3,12,26,59,277,46,27,20,092,41,28,62,144,45,29,68,249,46*7D
+$PGRME,11.1,M,16.6,M,11.1,M*1F
+$GPGLL,6129.023,N,02349.684,E,125923,A*2F
+$PGRMZ,328,f,3*12
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T029*2D
+$GPRMC,125923,A,6129.023,N,02349.684,E,000.0,326.6,110805,006.0,E*79
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,,V*17
+$GPGGA,125924,6129.023,N,02349.684,E,1,05,2.8,100.0,M,20.7,M,,*4B
+$GPGSA,A,3,,,,,,18,19,,26,,28,29,2.8,2.8,1.0*37
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,36,10,15,209,36*75
+$GPGSV,3,2,12,15,13,332,42,18,18,327,39,19,21,035,31,21,05,299,32*7F
+$GPGSV,3,3,12,26,59,277,47,27,20,092,41,28,62,144,44,29,68,249,46*7D
+$PGRME,11.5,M,17.3,M,12.8,M*15
+$GPGLL,6129.023,N,02349.684,E,125924,A*28
+$PGRMZ,329,f,3*13
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6023.283,N,02430.650,E,T028*2D
+$GPRMC,125925,A,6129.023,N,02349.685,E,000.0,326.6,110805,006.0,E*7E
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,,V*17
+$GPGGA,125925,6129.023,N,02349.685,E,1,05,2.6,100.3,M,20.7,M,,*46
+$GPGSA,A,3,,,,,15,18,19,,26,,28,29,2.6,2.6,1.0*33
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,35,10,15,209,37*77
+$GPGSV,3,2,12,15,13,332,43,18,18,327,39,19,21,035,31,21,05,299,31*7D
+$GPGSV,3,3,12,26,59,277,47,27,20,092,42,28,62,144,44,29,68,249,46*7E
+$PGRME,11.5,M,17.3,M,12.8,M*15
+$GPGLL,6129.023,N,02349.685,E,125925,A*28
+$PGRMZ,329,f,3*13
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T027*23
+$GPRMC,125926,A,6129.023,N,02349.685,E,000.0,326.6,110805,006.0,E*7D
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,,V*17
+$GPGGA,125926,6129.023,N,02349.685,E,1,06,2.6,100.4,M,20.7,M,,*41
+$GPGSA,A,3,,,,,15,18,19,,26,,28,29,2.6,2.6,1.0*33
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,35,10,15,209,37*77
+$GPGSV,3,2,12,15,13,332,42,18,18,327,38,19,21,035,32,21,05,299,31*7E
+$GPGSV,3,3,12,26,59,277,47,27,20,092,41,28,62,144,45,29,68,249,46*7C
+$PGRME,11.9,M,18.0,M,14.3,M*18
+$GPGLL,6129.023,N,02349.685,E,125927,A*2A
+$PGRMZ,329,f,3*13
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T026*24
+$GPRMC,125927,A,6129.023,N,02349.685,E,000.0,326.6,110805,006.0,E*7C
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,,V*17
+$GPGGA,125927,6129.023,N,02349.685,E,1,06,2.6,100.4,M,20.7,M,,*40
+$GPGSA,A,3,,,,,15,18,19,,26,,28,29,2.6,2.6,1.0*33
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,36,10,15,209,36*75
+$GPGSV,3,2,12,15,13,332,41,18,18,327,38,19,21,035,31,21,05,299,31*7E
+$GPGSV,3,3,12,26,59,277,47,27,20,092,42,28,62,144,44,29,68,249,46*7E
+$PGRME,9.9,M,16.6,M,9.9,M*1F
+$GPGLL,6129.023,N,02349.685,E,125928,A*25
+$PGRMZ,330,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,S,02453.500,E,T025*3B
+$GPRMC,125929,A,6129.023,N,02349.685,E,000.0,326.6,110805,006.0,E*72
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,,V*17
+$GPGGA,125929,6129.023,N,02349.685,E,1,06,2.6,100.5,M,20.7,M,,*4F
+$GPGSA,A,3,,,,,15,18,19,,26,,28,29,2.6,2.6,1.0*33
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,36,10,15,209,35*76
+$GPGSV,3,2,12,15,13,332,41,18,18,327,38,19,21,035,32,21,05,299,31*7D
+$GPGSV,3,3,12,26,59,277,47,27,20,092,42,28,62,144,44,29,68,249,46*7E
+$PGRME,9.9,M,16.6,M,9.9,M*1F
+$GPGLL,6129.023,N,02349.685,E,125929,A*24
+$PGRMZ,331,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6018.083,N,02453.500,E,T024*28
+$GPRMC,125930,A,6129.023,N,02349.685,E,000.0,326.6,110805,006.0,E*7A
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,,V*17
+$GPGGA,125930,6129.023,N,02349.685,E,1,06,2.6,100.8,M,20.7,M,,*4A
+$GPGSA,A,3,,,,,15,18,19,,26,,28,29,2.6,2.6,1.0*33
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,36,10,15,209,35*76
+$GPGSV,3,2,12,15,13,332,41,18,18,327,38,19,21,035,31,21,05,299,31*7E
+$GPGSV,3,3,12,26,59,277,47,27,20,092,42,28,62,144,44,29,68,249,46*7E
+$PGRME,9.9,M,16.6,M,9.9,M*1F
+$GPGLL,6129.023,N,02349.686,E,125931,A*2E
+$PGRMZ,331,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,W,T023*33
+$GPRMC,125931,A,6129.023,N,02349.686,E,000.0,326.6,110805,006.0,E*78
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,,V*17
+$GPGGA,125931,6129.023,N,02349.686,E,1,06,2.6,100.8,M,20.7,M,,*48
+$GPGSA,A,3,,,,,15,18,19,,26,,28,29,2.6,2.6,1.0*33
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,35,10,15,209,35*75
+$GPGSV,3,2,12,15,13,332,40,18,18,327,38,19,21,035,31,21,05,299,30*7E
+$GPGSV,3,3,12,26,59,277,47,27,20,092,43,28,62,144,44,29,68,249,46*7F
+$PGRME,9.9,M,16.6,M,9.9,M*1F
+$GPGLL,6129.023,N,02349.686,E,125932,A*2D
+$PGRMZ,331,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02555.500,E,T022*26
+$GPRMC,125932,A,6129.023,N,02349.685,E,000.0,326.6,110805,006.0,E*78
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125932,6129.023,N,02349.685,E,1,06,2.6,99.9,M,20.7,M,,*78
+$GPGSA,A,3,,,,,15,18,19,,26,,28,29,2.6,2.6,1.0*33
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,35,10,15,209,34*74
+$GPGSV,3,2,12,15,13,332,40,18,18,327,38,19,21,035,31,21,05,299,30*7E
+$GPGSV,3,3,12,26,59,277,47,27,20,092,43,28,62,144,44,29,68,249,46*7F
+$PGRME,9.9,M,16.6,M,9.9,M*1F
+$GPGLL,6129.023,N,02349.685,E,125933,A*2F
+$PGRMZ,328,f,3*12
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T021*23
+$GPRMC,125934,A,6129.023,N,02349.685,E,000.0,326.6,110805,006.0,E*7E
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125934,6129.023,N,02349.685,E,1,06,2.5,99.9,M,20.7,M,,*7D
+$GPGSA,A,3,,,,,15,18,19,,26,,28,29,2.5,2.5,1.0*33
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,36,10,15,209,34*77
+$GPGSV,3,2,12,15,13,332,40,18,18,327,39,19,21,035,31,21,05,299,30*7F
+$GPGSV,3,3,12,26,59,277,47,27,20,092,43,28,62,144,44,29,68,249,46*7F
+$PGRME,9.9,M,16.6,M,9.9,M*1F
+$GPGLL,6129.023,N,02349.685,E,125935,A*29
+$PGRMZ,328,f,3*12
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6116.083,N,02452.500,E,T020*22
+$GPRMC,125935,A,6129.023,N,02349.686,E,000.0,326.6,110805,006.0,E*7C
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125935,6129.023,N,02349.686,E,1,06,2.5,99.9,M,20.7,M,,*7F
+$GPGSA,A,3,,,,,15,18,19,,26,,28,29,2.5,2.5,1.0*33
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,37,10,15,209,33*71
+$GPGSV,3,2,12,15,13,332,40,18,18,327,39,19,21,035,31,21,05,299,30*7F
+$GPGSV,3,3,12,26,59,277,47,27,20,092,43,28,62,144,44,29,68,249,46*7F
+$PGRME,9.9,M,16.6,M,9.9,M*1F
+$GPGLL,6129.023,N,02349.686,E,125936,A*29
+$PGRMZ,328,f,3*12
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,S,02452.500,E,T019*34
+$GPRMC,125936,A,6129.023,N,02349.685,E,000.0,326.6,110805,006.0,E*7C
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125936,6129.023,N,02349.685,E,1,06,2.5,99.5,M,20.7,M,,*73
+$GPGSA,A,3,,,,,15,18,19,,26,27,28,29,2.5,2.5,1.0*36
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,37,10,15,209,33*71
+$GPGSV,3,2,12,15,13,332,41,18,18,327,39,19,21,035,31,21,05,299,30*7E
+$GPGSV,3,3,12,26,59,277,47,27,20,092,43,28,62,144,45,29,68,249,46*7E
+$PGRME,8.9,M,12.7,M,10.5,M*2F
+$GPGLL,6129.023,N,02349.685,E,125936,A*2A
+$PGRMZ,326,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,N,02452.500,E,T018*28
+$GPRMC,125938,A,6129.023,N,02349.685,E,000.0,326.6,110805,006.0,E*72
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125938,6129.023,N,02349.685,E,1,07,2.5,99.5,M,20.7,M,,*7C
+$GPGSA,A,3,,,,,15,18,19,,26,27,28,29,2.5,2.5,1.0*36
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,37,10,15,209,32*70
+$GPGSV,3,2,12,15,13,332,41,18,18,327,39,19,21,035,31,21,05,299,30*7E
+$GPGSV,3,3,12,26,59,277,47,27,20,092,43,28,62,144,45,29,68,249,46*7E
+$PGRME,8.9,M,12.7,M,10.5,M*2F
+$GPGLL,6129.023,N,02349.685,E,125938,A*24
+$PGRMZ,326,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6013.283,N,02456.650,E,T017*22
+$GPRMC,125938,A,6129.023,N,02349.685,E,000.0,326.6,110805,006.0,E*72
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125938,6129.023,N,02349.685,E,1,07,1.5,99.5,M,20.7,M,,*7F
+$GPGSA,A,3,,,,,15,18,19,,26,27,28,29,1.5,1.5,1.0*36
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,37,10,15,209,33*71
+$GPGSV,3,2,12,15,13,332,41,18,18,327,39,19,21,035,31,21,05,299,30*7E
+$GPGSV,3,3,12,26,59,277,47,27,20,092,43,28,62,144,45,29,68,249,46*7E
+$PGRME,5.4,M,13.1,M,5.4,M*1D
+$GPGLL,6129.023,N,02349.686,E,125939,A*26
+$PGRMZ,326,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T016*21
+$GPRMC,125940,A,6129.023,N,02349.686,E,000.0,326.6,110805,006.0,E*7E
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125940,6129.023,N,02349.686,E,1,07,1.4,99.5,M,20.7,M,,*72
+$GPGSA,A,3,,,,,15,18,19,,26,27,28,29,1.4,1.4,1.0*36
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,38,10,15,209,33*7E
+$GPGSV,3,2,12,15,13,332,41,18,18,327,39,19,21,035,30,21,05,299,30*7F
+$GPGSV,3,3,12,26,59,277,47,27,20,092,43,28,62,143,45,29,68,249,46*79
+$PGRME,5.4,M,13.1,M,5.4,M*1D
+$GPGLL,6129.023,N,02349.686,E,125941,A*29
+$PGRMZ,326,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0000.000,N,00000.000,W,T015*39
+$GPRMC,125942,A,6129.023,N,02349.686,E,000.0,326.6,110805,006.0,E*7C
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125942,6129.023,N,02349.686,E,1,07,1.4,99.5,M,20.7,M,,*70
+$GPGSA,A,3,,,,,15,18,19,,26,27,28,29,1.4,1.4,1.0*36
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,37,10,15,209,33*71
+$GPGSV,3,2,12,15,13,332,41,18,18,327,40,19,21,035,30,21,05,299,30*71
+$GPGSV,3,3,12,26,59,277,47,27,20,092,43,28,62,143,44,29,68,249,46*78
+$PGRME,5.4,M,13.1,M,5.4,M*1D
+$GPGLL,6129.023,N,02349.686,E,125942,A*2A
+$PGRMZ,326,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0009.000,N,02430.650,E,T014*25
+$GPRMC,125943,A,6129.023,N,02349.686,E,000.0,326.6,110805,006.0,E*7D
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125943,6129.023,N,02349.686,E,1,07,1.4,99.5,M,20.7,M,,*71
+$GPGSA,A,3,,,,,15,18,19,,26,27,28,29,1.4,1.4,1.0*36
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,43,10,15,209,31*70
+$GPGSV,3,2,12,15,13,332,40,18,18,327,40,19,21,035,35,21,05,299,30*75
+$GPGSV,3,3,12,26,59,277,46,27,20,092,42,28,62,143,45,29,68,249,46*79
+$PGRME,5.8,M,12.6,M,6.4,M*14
+$GPGLL,6129.022,N,02349.685,E,125943,A*29
+$PGRMZ,324,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.285,N,02430.651,E,T013*23
+$GPRMC,125944,A,6129.022,N,02349.685,E,000.0,326.6,110805,006.0,E*78
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125945,6129.022,N,02349.685,E,1,07,1.8,98.3,M,20.7,M,,*7E
+$GPGSA,A,3,,,,,15,18,19,,26,27,28,29,1.8,1.8,1.0*36
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,42,10,15,209,32*72
+$GPGSV,3,2,12,15,13,332,39,18,18,327,37,19,21,035,36,21,05,299,30*78
+$GPGSV,3,3,12,26,59,277,45,27,20,092,40,28,62,143,43,29,68,249,46*7E
+$PGRME,6.9,M,14.1,M,9.7,M*1B
+$GPGLL,6129.022,N,02349.685,E,125945,A*2F
+$PGRMZ,324,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.236,N,02346.327,E,T012*22
+$GPRMC,125945,A,6129.022,N,02349.685,E,000.0,326.6,110805,006.0,E*79
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125946,6129.022,N,02349.685,E,1,07,2.0,98.8,M,20.7,M,,*7D
+$GPGSA,A,3,,,,,15,18,19,,26,27,28,29,2.4,2.0,1.5*37
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,42,10,15,209,32*72
+$GPGSV,3,2,12,15,13,332,38,18,18,327,36,19,21,035,37,21,05,299,30*79
+$GPGSV,3,3,12,26,59,277,44,27,20,092,40,28,62,143,42,29,68,249,46*7E
+$PGRME,6.9,M,14.1,M,9.7,M*1B
+$GPGLL,6129.022,N,02349.686,E,125946,A*2F
+$PGRMZ,325,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6114.236,N,02346.327,E,T011*2F
+$GPRMC,125947,A,6129.022,N,02349.686,E,000.0,326.6,110805,006.0,E*78
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125947,6129.022,N,02349.686,E,1,07,1.7,99.2,M,20.7,M,,*70
+$GPGSA,A,3,,,,,15,18,19,,26,27,28,29,1.7,1.7,1.0*36
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,41,10,15,209,31*72
+$GPGSV,3,2,12,15,13,332,38,18,18,327,38,19,21,035,37,21,05,299,30*77
+$GPGSV,3,3,12,26,59,277,44,27,20,092,40,28,62,143,40,29,68,249,45*7F
+$PGRME,7.2,M,14.2,M,10.5,M*28
+$GPGLL,6129.021,N,02349.686,E,125948,A*22
+$PGRMZ,325,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6220.236,N,02346.327,E,T010*2A
+$GPRMC,125948,A,6129.021,N,02349.686,E,000.0,326.6,110805,006.0,E*74
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125948,6129.021,N,02349.686,E,1,07,2.1,98.8,M,20.7,M,,*72
+$GPGSA,A,3,,,,,15,18,19,,26,27,28,29,2.1,2.1,1.0*36
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,42,10,15,209,33*73
+$GPGSV,3,2,12,15,13,332,36,18,18,327,37,19,21,035,37,21,05,299,30*76
+$GPGSV,3,3,12,26,59,277,44,27,20,092,40,28,62,143,41,29,68,249,45*7E
+$PGRME,7.4,M,12.6,M,11.0,M*28
+$GPGLL,6129.021,N,02349.686,E,125949,A*23
+$PGRMZ,324,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6120.236,N,02346.327,E,T009*21
+$GPRMC,125949,A,6129.021,N,02349.685,E,000.0,326.6,110805,006.0,E*76
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125949,6129.021,N,02349.685,E,1,07,2.7,98.3,M,20.7,M,,*7D
+$GPGSA,A,3,,,,,15,18,19,,26,27,28,29,2.7,2.7,1.0*36
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,42,10,15,209,33*73
+$GPGSV,3,2,12,15,13,332,36,18,18,327,36,19,21,035,36,21,05,299,30*76
+$GPGSV,3,3,12,26,59,277,44,27,20,092,41,28,62,143,40,29,68,249,45*7E
+$PGRME,7.5,M,12.7,M,11.5,M*2D
+$GPGLL,6129.021,N,02349.685,E,125949,A*20
+$PGRMZ,323,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.234,N,02346.317,E,T008*28
+$GPRMC,125951,A,6129.021,N,02349.685,E,000.0,326.6,110805,006.0,E*7F
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125951,6129.021,N,02349.685,E,1,07,2.7,98.3,M,20.7,M,,*74
+$GPGSA,A,3,,,,,15,18,19,,26,27,28,29,2.7,2.7,1.0*36
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,43,10,15,209,32*73
+$GPGSV,3,2,12,15,13,332,35,18,18,327,35,19,21,035,36,21,05,299,30*76
+$GPGSV,3,3,12,26,59,277,45,27,20,092,41,28,62,143,40,29,68,249,45*7F
+$PGRME,8.2,M,14.0,M,13.3,M*20
+$GPGLL,6129.021,N,02349.685,E,125951,A*29
+$PGRMZ,318,f,3*11
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6157.564,N,02406.158,E,T007*26
+$GPRMC,125952,A,6129.020,N,02349.684,E,000.0,326.6,110805,006.0,E*7C
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.7,,V*15
+$GPGGA,125952,6129.020,N,02349.684,E,1,07,2.7,95.6,M,20.7,M,,*7F
+$GPGSA,A,3,,,,,15,18,19,,26,27,28,29,2.7,2.7,1.0*36
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,44,10,15,209,32*74
+$GPGSV,3,2,12,15,13,332,35,18,18,327,35,19,21,035,37,21,05,299,30*77
+$GPGSV,3,3,12,26,59,277,45,27,20,092,42,28,62,143,42,29,68,249,45*7E
+$PGRME,8.2,M,14.0,M,13.3,M*20
+$GPGLL,6129.020,N,02349.684,E,125953,A*2B
+$PGRMZ,314,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6145.919,N,02345.544,E,T006*2B
+$GPRMC,125953,A,6129.020,N,02349.684,E,000.0,326.6,110805,006.0,E*7D
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.7,,V*15
+$GPGGA,125953,6129.020,N,02349.684,E,1,07,2.7,95.6,M,20.7,M,,*7E
+$GPGSA,A,3,,,,,15,18,19,,26,27,28,29,2.7,2.7,1.0*36
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,42,10,15,209,30*70
+$GPGSV,3,2,12,15,13,332,37,18,18,327,35,19,21,035,35,21,05,299,30*77
+$GPGSV,3,3,12,26,59,277,45,27,20,092,41,28,62,143,43,29,68,249,45*7C
+$PGRME,8.2,M,12.6,M,13.5,M*26
+$GPGLL,6129.020,N,02349.684,E,125953,A*2B
+$PGRMZ,314,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6130.198,N,02342.702,E,T005*2C
+$GPRMC,125954,A,6129.020,N,02349.684,E,000.0,326.6,110805,006.0,E*7A
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125954,6129.020,N,02349.684,E,1,07,1.5,95.8,M,20.7,M,,*76
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.5,1.5,1.0*3E
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,42,10,15,209,30*70
+$GPGSV,3,2,12,15,13,332,38,18,19,327,35,19,21,035,40,21,05,299,30*7B
+$GPGSV,3,3,12,26,59,277,45,27,20,092,41,28,62,143,44,29,68,249,44*7A
+$PGRME,8.8,M,12.9,M,14.3,M*22
+$GPGLL,6129.020,N,02349.684,E,125954,A*2C
+$PGRMZ,314,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6216.183,N,02619.685,E,T004*25
+$GPRMC,125956,A,6129.022,N,02349.683,E,000.0,326.6,110805,006.0,E*7D
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,,V*14
+$GPGGA,125956,6129.022,N,02349.683,E,1,08,2.1,95.5,M,20.7,M,,*74
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.1,2.1,1.0*3E
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,42,10,15,209,30*70
+$GPGSV,3,2,12,15,13,332,39,18,19,327,34,19,21,035,40,21,05,299,30*7B
+$GPGSV,3,3,12,26,59,277,45,27,20,092,41,28,62,143,44,29,68,249,43*7D
+$PGRME,8.2,M,11.4,M,14.1,M*24
+$GPGLL,6129.022,N,02349.683,E,125957,A*2A
+$PGRMZ,313,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6215.064,N,02603.837,E,T003*25
+$GPRMC,125957,A,6129.024,N,02349.682,E,001.0,326.6,110805,006.0,E*7A
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.6,000.0,V*3A
+$GPGGA,125957,6129.024,N,02349.682,E,1,08,2.2,95.2,M,20.7,M,,*76
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.6,2.2,1.5*3F
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,41,10,15,209,30*73
+$GPGSV,3,2,12,15,13,332,39,18,19,327,34,19,21,035,41,21,05,299,31*7B
+$GPGSV,3,3,12,26,59,277,46,27,20,092,40,28,62,143,45,29,68,249,44*79
+$PGRME,8.2,M,11.4,M,14.1,M*24
+$GPGLL,6129.024,N,02349.682,E,125958,A*22
+$PGRMZ,312,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6151.098,N,02510.924,E,T002*26
+$GPRMC,125958,A,6129.024,N,02349.682,E,001.0,326.6,110805,006.0,E*75
+$GPRMB,A,0.22,L,T013,T012,6129.236,N,02346.327,E,001.6,277.5,000.3,V*3A
+$GPGGA,125958,6129.024,N,02349.682,E,1,08,1.9,95.2,M,20.7,M,,*71
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.9,1.9,1.0*3E
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,39,18,19,327,34,19,21,034,41,21,05,299,31*7A
+$GPGSV,3,3,12,26,59,277,46,27,20,092,39,28,62,143,45,29,68,249,44*77
+$PGRME,8.1,M,11.1,M,13.7,M*23
+$GPGLL,6129.032,N,02349.677,E,125959,A*2E
+$PGRMZ,311,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.271,N,02346.376,E,T001*27
+$GPRMC,125959,A,6129.035,N,02349.675,E,013.3,345.5,110805,006.0,E*7A
+$GPRMB,A,0.23,L,T013,T012,6129.236,N,02346.327,E,001.6,277.1,004.9,V*31
+$GPGGA,130000,6129.036,N,02349.675,E,1,08,2.1,94.6,M,20.7,M,,*74
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.4,2.1,1.5*3E
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,38,18,19,327,35,19,21,034,41,21,05,299,31*7A
+$GPGSV,3,3,12,26,59,277,46,27,20,092,38,28,62,143,45,29,68,249,44*76
+$PGRME,8.1,M,11.2,M,13.8,M*2F
+$GPGLL,6129.038,N,02349.674,E,130000,A*26
+$PGRMZ,310,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPRTE,4,1,c,0,T030,T029,T028,T027,T026,T025,T024,T023,T022*49
+$GPRTE,4,2,c,0,T021,T020,T019,T018,T017,T016,T015,T014,T013*4B
+$GPRTE,4,3,c,0,T012,T011,T010,T009,T008,T007,T006,T005,T004*4B
+$GPRTE,4,4,c,0,T003,T002,T001*4F
+$GPWPL,6016.083,N,02452.500,E,T030*22
+$GPRMC,130002,A,6129.045,N,02349.670,E,017.4,345.0,110805,006.0,E*7D
+$GPRMB,A,0.24,L,T013,T012,6129.236,N,02346.327,E,001.6,276.8,006.5,V*30
+$GPGGA,130002,6129.046,N,02349.669,E,1,08,2.0,94.5,M,20.7,M,,*7E
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.4,2.0,1.6*3C
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,38,18,19,327,37,19,21,034,41,21,05,299,33*7A
+$GPGSV,3,3,12,26,59,277,47,27,20,092,38,28,62,143,45,29,68,249,44*77
+$PGRME,8.1,M,11.1,M,13.7,M*23
+$GPGLL,6129.052,N,02349.666,E,130002,A*2B
+$PGRMZ,309,f,3*11
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T029*2D
+$GPRMC,130003,A,6129.054,N,02349.664,E,020.7,345.1,110805,006.0,E*7F
+$GPRMB,A,0.25,L,T013,T012,6129.236,N,02346.327,E,001.6,276.5,007.6,V*3E
+$GPGGA,130003,6129.057,N,02349.663,E,1,08,1.9,93.9,M,20.7,M,,*74
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.9,1.9,1.0*3E
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,39,18,19,327,36,19,21,034,41,21,05,299,34*7D
+$GPGSV,3,3,12,26,59,277,47,27,20,092,37,28,62,143,45,29,68,249,44*78
+$PGRME,8.1,M,11.1,M,13.8,M*2C
+$GPGLL,6129.061,N,02349.660,E,130004,A*2B
+$PGRMZ,308,f,3*10
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6023.283,N,02430.650,E,T028*2D
+$GPRMC,130004,A,6129.064,N,02349.659,E,024.6,345.1,110805,006.0,E*70
+$GPRMB,A,0.26,L,T013,T012,6129.236,N,02346.327,E,001.6,276.1,008.9,V*39
+$GPGGA,130004,6129.066,N,02349.657,E,1,08,1.9,93.8,M,20.7,M,,*77
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.0,1.9,1.2*36
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,39,18,19,327,36,19,21,034,41,21,05,299,34*7D
+$GPGSV,3,3,12,26,59,277,47,27,20,092,37,28,62,143,45,29,68,249,44*78
+$PGRME,8.1,M,11.1,M,13.8,M*2C
+$GPGLL,6129.071,N,02349.655,E,130005,A*2D
+$PGRMZ,308,f,3*10
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T027*23
+$GPRMC,130005,A,6129.075,N,02349.652,E,028.8,345.4,110805,006.0,E*7D
+$GPRMB,A,0.27,L,T013,T012,6129.236,N,02346.327,E,001.6,275.7,010.0,V*3D
+$GPGGA,130006,6129.077,N,02349.651,E,1,08,1.9,93.6,M,20.7,M,,*7D
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.2,1.9,1.4*32
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,41,10,15,209,30*73
+$GPGSV,3,2,12,15,13,332,39,18,19,327,37,19,21,034,41,21,05,299,33*7B
+$GPGSV,3,3,12,26,59,277,47,27,20,092,37,28,62,143,45,29,68,249,44*78
+$PGRME,8.1,M,11.1,M,13.7,M*23
+$GPGLL,6129.082,N,02349.649,E,130006,A*2F
+$PGRMZ,306,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T026*24
+$GPRMC,130007,A,6129.086,N,02349.646,E,029.6,345.5,110805,006.0,E*78
+$GPRMB,A,0.28,L,T013,T012,6129.236,N,02346.327,E,001.6,275.4,010.2,V*33
+$GPGGA,130007,6129.088,N,02349.646,E,1,08,1.6,93.3,M,20.7,M,,*70
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.1,1.8,1.5*31
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,39,18,19,327,37,19,21,034,41,21,04,298,33*7B
+$GPGSV,3,3,12,26,59,277,47,27,20,092,36,28,62,143,45,29,68,249,44*79
+$PGRME,8.7,M,12.4,M,15.1,M*23
+$GPGLL,6129.093,N,02349.643,E,130007,A*24
+$PGRMZ,306,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,S,02453.500,E,T025*3B
+$GPRMC,130007,A,6129.097,N,02349.640,E,030.6,345.6,110805,006.0,E*75
+$GPRMB,A,0.29,L,T013,T012,6129.236,N,02346.327,E,001.6,275.0,010.2,V*36
+$GPGGA,130007,6129.099,N,02349.639,E,1,08,1.8,93.3,M,20.7,M,,*76
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.1,1.8,1.5*31
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,39,18,19,327,38,19,21,034,40,21,04,298,32*74
+$GPGSV,3,3,12,26,59,277,47,27,20,092,35,28,62,143,45,29,68,249,44*7A
+$PGRME,8.7,M,12.4,M,15.1,M*23
+$GPGLL,6129.104,N,02349.637,E,130009,A*26
+$PGRMZ,306,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6018.083,N,02453.500,E,T024*28
+$GPRMC,130009,A,6129.108,N,02349.634,E,032.5,345.3,110805,006.0,E*7B
+$GPRMB,A,0.30,L,T013,T012,6129.236,N,02346.327,E,001.6,274.6,010.8,V*33
+$GPGGA,130009,6129.110,N,02349.633,E,1,08,2.0,93.3,M,20.7,M,,*79
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.6,2.0,1.9*31
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,39,18,19,327,36,19,21,034,38,21,04,298,32*75
+$GPGSV,3,3,12,26,59,277,47,27,20,092,34,28,62,143,45,29,68,249,45*7A
+$PGRME,8.7,M,12.4,M,15.1,M*23
+$GPGLL,6129.117,N,02349.630,E,130010,A*2B
+$PGRMZ,306,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,W,T023*33
+$GPRMC,130011,A,6129.121,N,02349.627,E,033.7,345.2,110805,006.0,E*79
+$GPRMB,A,0.31,L,T013,T012,6129.236,N,02346.327,E,001.6,274.1,011.1,V*3D
+$GPGGA,130011,6129.124,N,02349.625,E,1,08,2.1,93.2,M,20.7,M,,*70
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.5,2.1,1.0*3A
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,39,18,19,327,37,19,21,034,38,21,04,298,00*75
+$GPGSV,3,3,12,26,59,277,47,27,20,092,34,28,62,143,45,29,68,249,45*7A
+$PGRME,8.7,M,12.4,M,15.1,M*23
+$GPGLL,6129.129,N,02349.622,E,130011,A*24
+$PGRMZ,306,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02555.500,E,T022*26
+$GPRMC,130012,A,6129.134,N,02349.620,E,034.7,345.2,110805,006.0,E*7E
+$GPRMB,A,0.32,L,T013,T012,6129.236,N,02346.327,E,001.6,273.7,011.2,V*3C
+$GPGGA,130012,6129.136,N,02349.619,E,1,08,2.1,93.3,M,20.7,M,,*7E
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.9,2.3,1.5*31
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,39,18,19,327,37,19,21,034,40,21,04,298,00*7A
+$GPGSV,3,3,12,26,59,277,47,27,20,092,34,28,62,143,45,29,68,249,45*7A
+$PGRME,8.7,M,12.4,M,15.1,M*23
+$GPGLL,6129.142,N,02349.615,E,130013,A*2F
+$PGRMZ,307,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T021*23
+$GPRMC,130013,A,6129.148,N,02349.613,E,035.8,345.5,110805,006.0,E*7D
+$GPRMB,A,0.33,L,T013,T012,6129.236,N,02346.327,E,001.6,273.2,010.9,V*32
+$GPGGA,130014,6129.150,N,02349.612,E,1,08,2.4,93.6,M,20.7,M,,*73
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.3,2.4,1.9*31
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,39,18,19,327,38,19,21,034,41,21,04,298,00*74
+$GPGSV,3,3,12,26,59,277,47,27,20,092,34,28,62,143,45,29,68,249,45*7A
+$PGRME,8.1,M,11.1,M,13.7,M*23
+$GPGLL,6129.156,N,02349.608,E,130014,A*21
+$PGRMZ,307,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6116.083,N,02452.500,E,T020*22
+$GPRMC,130015,A,6129.161,N,02349.606,E,036.9,345.7,110805,006.0,E*74
+$GPRMB,A,0.34,L,T013,T012,6129.236,N,02346.327,E,001.6,272.7,011.0,V*39
+$GPGGA,130015,6129.163,N,02349.604,E,1,08,2.4,93.8,M,20.7,M,,*7B
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.3,2.4,1.9*31
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,40,18,19,327,38,19,21,034,40,21,04,298,00*7B
+$GPGSV,3,3,12,26,59,277,47,27,20,092,35,28,62,143,45,29,68,249,44*7A
+$PGRME,8.6,M,11.6,M,14.4,M*27
+$GPGLL,6129.171,N,02349.600,E,130015,A*2D
+$PGRMZ,308,f,3*10
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,S,02452.500,E,T019*34
+$GPRMC,130015,A,6129.176,N,02349.597,E,037.1,345.7,110805,006.0,E*70
+$GPRMB,A,0.36,L,T013,T012,6129.236,N,02346.327,E,001.6,272.2,010.6,V*39
+$GPGGA,130015,6129.178,N,02349.596,E,1,08,2.7,94.1,M,20.7,M,,*74
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.9,2.7,2.5*37
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,38,18,19,327,37,19,21,034,39,21,04,298,00*75
+$GPGSV,3,3,12,26,59,277,47,27,20,092,34,28,62,143,45,29,68,249,45*7A
+$PGRME,8.6,M,11.6,M,14.4,M*27
+$GPGLL,6129.184,N,02349.593,E,130016,A*2D
+$PGRMZ,309,f,3*11
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,N,02452.500,E,T018*28
+$GPRMC,130016,A,6129.190,N,02349.590,E,037.3,345.9,110805,006.0,E*70
+$GPRMB,A,0.37,L,T013,T012,6129.236,N,02346.327,E,001.6,271.8,010.2,V*35
+$GPGGA,130016,6129.192,N,02349.589,E,1,08,3.5,94.5,M,20.7,M,,*7A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,7.3,3.5,5.9*31
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,39,10,15,209,30*7C
+$GPGSV,3,2,12,15,13,332,39,18,19,327,36,19,21,034,38,21,04,298,00*74
+$GPGSV,3,3,12,26,59,277,30,27,20,092,34,28,62,143,44,29,68,249,44*7A
+$PGRME,12.2,M,24.9,M,28.1,M*1B
+$GPGLL,6129.201,N,02349.584,E,130018,A*2B
+$PGRMZ,310,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6013.283,N,02456.650,E,T017*22
+$GPRMC,130019,A,6129.206,N,02349.582,E,037.3,345.9,110805,006.0,E*70
+$GPRMB,A,0.38,L,T013,T012,6129.236,N,02346.327,E,001.6,271.1,009.9,V*30
+$GPGGA,130019,6129.208,N,02349.580,E,1,08,3.5,94.6,M,20.7,M,,*7F
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,7.3,3.5,5.9*31
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,39,10,15,209,30*7C
+$GPGSV,3,2,12,15,13,332,38,18,19,327,36,19,21,034,37,21,04,298,00*7A
+$GPGSV,3,3,12,26,59,277,36,27,20,092,33,28,62,143,43,29,68,249,44*7C
+$PGRME,12.2,M,24.9,M,28.1,M*1B
+$GPGLL,6129.214,N,02349.577,E,130020,A*28
+$PGRMZ,311,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T016*21
+$GPRMC,130020,A,6129.219,N,02349.574,E,036.7,345.1,110805,006.0,E*70
+$GPRMB,A,0.40,L,T013,T012,6129.236,N,02346.327,E,001.6,270.6,009.9,V*39
+$GPGGA,130020,6129.221,N,02349.573,E,1,08,3.5,94.8,M,20.7,M,,*7C
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,6.9,3.5,5.9*3A
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,39,10,15,209,30*7C
+$GPGSV,3,2,12,15,13,332,39,18,19,327,36,19,21,034,36,21,04,298,00*7A
+$GPGSV,3,3,12,26,59,277,41,27,20,092,33,28,62,143,44,29,68,249,44*7B
+$PGRME,12.4,M,23.7,M,28.0,M*15
+$GPGLL,6129.227,N,02349.570,E,130021,A*2E
+$PGRMZ,311,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0000.000,N,00000.000,W,T015*39
+$GPRMC,130021,A,6129.233,N,02349.567,E,038.3,345.4,110805,006.0,E*74
+$GPRMB,A,0.41,L,T013,T012,6129.236,N,02346.327,E,001.6,270.1,009.8,V*3E
+$GPGGA,130022,6129.235,N,02349.566,E,1,08,3.7,94.8,M,20.7,M,,*7D
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,7.2,3.7,6.0*38
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,39,10,15,209,30*7C
+$GPGSV,3,2,12,15,13,332,39,18,19,327,35,19,21,034,35,21,04,298,00*7A
+$GPGSV,3,3,12,26,59,277,43,27,20,092,32,28,62,143,44,29,68,249,44*78
+$PGRME,13.4,M,24.4,M,29.0,M*11
+$GPGLL,6129.241,N,02349.562,E,130022,A*2E
+$PGRMZ,310,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0009.000,N,02430.650,E,T014*25
+$GPRMC,130023,A,6129.246,N,02349.560,E,038.2,345.8,110805,006.0,E*7E
+$GPRMB,A,0.42,L,T013,T012,6129.236,N,02346.327,E,001.5,269.6,009.3,V*3A
+$GPGGA,130023,6129.248,N,02349.559,E,1,08,2.8,94.6,M,20.7,M,,*7A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.2,2.8,1.7*32
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,39,10,15,209,30*7C
+$GPGSV,3,2,12,15,13,332,40,18,19,327,36,19,21,034,35,21,04,298,00*77
+$GPGSV,3,3,12,26,59,277,45,27,20,092,32,28,62,143,44,29,68,249,45*7F
+$PGRME,13.4,M,24.4,M,29.0,M*11
+$GPGLL,6129.254,N,02349.555,E,130023,A*2F
+$PGRMZ,310,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.285,N,02430.651,E,T013*23
+$GPRMC,130024,A,6129.259,N,02349.552,E,037.7,345.6,110805,006.0,E*72
+$GPRMB,A,0.43,L,T013,T012,6129.236,N,02346.327,E,001.5,269.1,009.0,V*3F
+$GPGGA,130024,6129.261,N,02349.551,E,1,08,3.1,94.4,M,20.7,M,,*74
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,3.8,3.1,2.2*33
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,40,18,19,327,37,19,21,034,34,21,04,298,00*77
+$GPGSV,3,3,12,26,59,277,46,27,20,092,31,28,62,143,44,29,68,249,45*7F
+$PGRME,13.4,M,24.4,M,29.0,M*11
+$GPGLL,6129.267,N,02349.548,E,130025,A*25
+$PGRMZ,310,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.236,N,02346.327,E,T012*22
+$GPRMC,130026,A,6129.272,N,02349.545,E,037.5,345.6,110805,006.0,E*7D
+$GPRMB,A,0.44,L,T013,T012,6129.236,N,02346.327,E,001.5,268.6,008.6,V*39
+$GPGGA,130026,6129.275,N,02349.544,E,1,07,2.6,94.4,M,20.7,M,,*7E
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,2.6,2.6,1.0*3B
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,39,10,15,209,30*7C
+$GPGSV,3,2,12,15,13,332,41,18,19,327,37,19,21,034,35,21,04,298,00*77
+$GPGSV,3,3,12,26,60,276,47,27,20,092,31,28,62,143,44,29,68,249,45*75
+$PGRME,13.6,M,23.7,M,28.1,M*17
+$GPGLL,6129.280,N,02349.541,E,130026,A*26
+$PGRMZ,309,f,3*11
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6114.236,N,02346.327,E,T011*2F
+$GPRMC,130027,A,6129.285,N,02349.538,E,037.2,345.4,110805,006.0,E*7B
+$GPRMB,A,0.45,L,T013,T012,6129.236,N,02346.327,E,001.5,268.2,008.4,V*3E
+$GPGGA,130027,6129.287,N,02349.537,E,1,07,2.6,94.1,M,20.7,M,,*73
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,2.6,2.6,1.0*3B
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,39,10,15,209,30*7C
+$GPGSV,3,2,12,15,13,332,41,18,19,327,37,19,21,034,35,21,04,298,00*77
+$GPGSV,3,3,12,26,60,276,47,27,20,092,31,28,62,143,44,29,68,249,45*75
+$PGRME,13.6,M,23.7,M,28.1,M*17
+$GPGLL,6129.293,N,02349.534,E,130027,A*27
+$PGRMZ,308,f,3*10
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6220.236,N,02346.327,E,T010*2A
+$GPRMC,130028,A,6129.298,N,02349.531,E,036.8,345.5,110805,006.0,E*7B
+$GPRMB,A,0.47,L,T013,T012,6129.236,N,02346.327,E,001.5,267.7,007.8,V*35
+$GPGGA,130028,6129.300,N,02349.530,E,1,07,2.8,94.0,M,20.7,M,,*7A
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,3.2,2.8,1.7*37
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,39,10,15,209,30*7C
+$GPGSV,3,2,12,15,13,332,40,18,19,327,37,19,21,034,34,21,04,298,00*77
+$GPGSV,3,3,12,26,60,276,47,27,20,092,31,28,62,143,44,29,68,249,46*76
+$PGRME,9.9,M,16.6,M,9.9,M*1F
+$GPGLL,6129.306,N,02349.527,E,130028,A*27
+$PGRMZ,309,f,3*11
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6120.236,N,02346.327,E,T009*21
+$GPRMC,130029,A,6129.311,N,02349.524,E,036.9,345.7,110805,006.0,E*7D
+$GPRMB,A,0.48,L,T013,T012,6129.236,N,02346.327,E,001.5,267.2,007.5,V*32
+$GPGGA,130029,6129.313,N,02349.523,E,1,07,2.8,94.1,M,20.7,M,,*7A
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,3.1,2.8,1.7*34
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,39,18,19,327,38,19,21,034,36,21,04,298,00*74
+$GPGSV,3,3,12,26,60,276,48,27,20,092,31,28,62,143,44,29,68,249,46*79
+$PGRME,11.2,M,18.1,M,12.7,M*10
+$GPGLL,6129.319,N,02349.520,E,130029,A*2F
+$PGRMZ,307,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.234,N,02346.317,E,T008*28
+$GPRMC,130029,A,6129.328,N,02349.515,E,036.7,345.7,110805,006.0,E*7B
+$GPRMB,A,0.49,L,T013,T012,6129.236,N,02346.327,E,001.5,266.5,007.1,V*31
+$GPGGA,130029,6129.330,N,02349.514,E,1,07,2.8,93.5,M,20.7,M,,*7C
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,3.1,2.8,1.7*34
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,38,18,19,327,37,19,21,034,35,21,04,298,00*79
+$GPGSV,3,3,12,26,60,276,45,27,19,092,31,28,62,143,43,29,68,249,45*7A
+$PGRME,11.2,M,18.1,M,12.7,M*10
+$GPGLL,6129.336,N,02349.510,E,130032,A*2B
+$PGRMZ,307,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6157.564,N,02406.158,E,T007*26
+$GPRMC,130033,A,6129.341,N,02349.508,E,036.7,345.7,110805,006.0,E*73
+$GPRMB,A,0.51,L,T013,T012,6129.236,N,02346.327,E,001.5,266.0,006.8,V*35
+$GPGGA,130033,6129.343,N,02349.507,E,1,07,2.9,93.7,M,20.7,M,,*72
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,3.5,2.9,2.1*34
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,39,10,15,209,30*7C
+$GPGSV,3,2,12,15,13,332,38,18,19,327,37,19,21,034,37,21,04,298,00*7B
+$GPGSV,3,3,12,26,60,276,46,27,19,092,31,28,62,143,43,29,68,249,45*79
+$PGRME,11.5,M,18.6,M,14.3,M*12
+$GPGLL,6129.349,N,02349.504,E,130033,A*27
+$PGRMZ,307,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6145.919,N,02345.544,E,T006*2B
+$GPRMC,130034,A,6129.354,N,02349.501,E,036.7,345.6,110805,006.0,E*78
+$GPRMB,A,0.52,L,T013,T012,6129.236,N,02346.327,E,001.5,265.5,006.6,V*3E
+$GPGGA,130034,6129.356,N,02349.500,E,1,07,2.9,93.7,M,20.7,M,,*76
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,2.6,2.6,1.0*3B
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,38,18,19,327,37,19,21,034,39,21,04,298,00*75
+$GPGSV,3,3,12,26,60,276,46,27,19,092,31,28,62,142,44,29,68,249,45*7F
+$PGRME,8.0,M,11.1,M,13.7,M*22
+$GPGLL,6129.362,N,02349.497,E,130034,A*22
+$PGRMZ,308,f,3*10
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6130.198,N,02342.702,E,T005*2C
+$GPRMC,130035,A,6129.367,N,02349.494,E,036.6,346.0,110805,006.0,E*70
+$GPRMB,A,0.53,L,T013,T012,6129.236,N,02346.327,E,001.5,265.0,005.8,V*37
+$GPGGA,130035,6129.369,N,02349.493,E,1,07,1.9,94.0,M,20.7,M,,*73
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.9,1.9,1.0*3E
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,38,18,19,327,38,19,21,034,39,21,04,298,00*7A
+$GPGSV,3,3,12,26,60,276,47,27,19,092,35,28,62,142,44,29,68,249,46*79
+$PGRME,8.0,M,11.1,M,13.7,M*22
+$GPGLL,6129.375,N,02349.490,E,130036,A*21
+$PGRMZ,308,f,3*10
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6216.183,N,02619.685,E,T004*25
+$GPRMC,130037,A,6129.380,N,02349.488,E,036.4,345.9,110805,006.0,E*7E
+$GPRMB,A,0.54,L,T013,T012,6129.236,N,02346.327,E,001.5,264.5,005.6,V*3A
+$GPGGA,130037,6129.382,N,02349.487,E,1,08,2.1,94.0,M,20.7,M,,*75
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.1,2.1,1.0*3E
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,38,18,19,327,38,19,21,034,40,21,04,298,00*74
+$GPGSV,3,3,12,26,60,276,48,27,19,092,34,28,62,142,44,29,68,249,46*77
+$PGRME,9.3,M,12.8,M,15.8,M*23
+$GPGLL,6129.388,N,02349.483,E,130037,A*20
+$PGRMZ,308,f,3*10
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6215.064,N,02603.837,E,T003*25
+$GPRMC,130037,A,6129.393,N,02349.481,E,036.4,345.8,110805,006.0,E*74
+$GPRMB,A,0.55,L,T013,T012,6129.236,N,02346.327,E,001.5,264.0,005.3,V*3B
+$GPGGA,130038,6129.395,N,02349.480,E,1,08,2.2,93.8,M,20.7,M,,*77
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.5,2.2,1.5*3C
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,39,10,15,209,30*7C
+$GPGSV,3,2,12,15,13,332,38,18,19,327,38,19,21,034,40,21,04,298,00*74
+$GPGSV,3,3,12,26,60,276,48,27,19,092,35,28,62,142,44,29,68,246,46*79
+$PGRME,8.0,M,11.1,M,13.7,M*22
+$GPGLL,6129.401,N,02349.476,E,130038,A*23
+$PGRMZ,308,f,3*10
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6151.098,N,02510.924,E,T002*26
+$GPRMC,130039,A,6129.405,N,02349.474,E,036.4,345.6,110805,006.0,E*76
+$GPRMB,A,0.56,L,T013,T012,6129.236,N,02346.327,E,001.5,263.5,005.2,V*3B
+$GPGGA,130039,6129.407,N,02349.473,E,1,08,2.5,93.9,M,20.7,M,,*70
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.2,2.5,2.1*3A
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,39,18,19,327,37,19,21,034,40,21,04,298,00*7A
+$GPGSV,3,3,12,26,60,276,48,27,19,092,37,28,62,142,44,29,68,246,46*7B
+$PGRME,8.0,M,11.1,M,13.7,M*22
+$GPGLL,6129.413,N,02349.469,E,130039,A*2F
+$PGRMZ,308,f,3*10
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.271,N,02346.376,E,T001*27
+$GPRMC,130039,A,6129.420,N,02349.466,E,036.3,345.3,110805,006.0,E*70
+$GPRMB,A,0.58,L,T013,T012,6129.236,N,02346.327,E,001.5,263.0,005.0,V*32
+$GPGGA,130041,6129.422,N,02349.465,E,1,08,2.7,93.8,M,20.7,M,,*7C
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.6,2.7,2.5*38
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,39,18,19,327,37,19,21,034,40,21,04,298,00*7A
+$GPGSV,3,3,12,26,60,276,48,27,19,092,37,28,62,142,44,29,68,247,46*7A
+$PGRME,8.0,M,11.1,M,13.7,M*22
+$GPGLL,6129.428,N,02349.461,E,130041,A*20
+$PGRMZ,307,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPRTE,4,1,c,0,T030,T029,T028,T027,T026,T025,T024,T023,T022*49
+$GPRTE,4,2,c,0,T021,T020,T019,T018,T017,T016,T015,T014,T013*4B
+$GPRTE,4,3,c,0,T012,T011,T010,T009,T008,T007,T006,T005,T004*4B
+$GPRTE,4,4,c,0,T003,T002,T001*4F
+$GPWPL,6016.083,N,02452.500,E,T030*22
+$GPRMC,130042,A,6129.437,N,02349.455,E,036.8,344.3,110805,006.0,E*70
+$GPRMB,A,0.59,L,T013,T012,6129.236,N,02346.327,E,001.5,262.3,005.3,V*32
+$GPGGA,130042,6129.439,N,02349.454,E,1,08,2.1,93.6,M,20.7,M,,*7F
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.6,2.1,2.9*32
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,39,18,19,327,37,19,21,034,39,21,04,298,00*74
+$GPGSV,3,3,12,26,60,276,48,27,19,092,38,28,62,142,44,29,68,247,46*75
+$PGRME,8.0,M,11.1,M,13.7,M*22
+$GPGLL,6129.444,N,02349.451,E,130043,A*2B
+$PGRMZ,307,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T029*2D
+$GPRMC,130044,A,6129.450,N,02349.448,E,037.2,344.3,110805,006.0,E*70
+$GPRMB,A,0.60,L,T013,T012,6129.236,N,02346.327,E,001.5,261.8,005.0,V*33
+$GPGGA,130044,6129.452,N,02349.446,E,1,08,2.2,93.8,M,20.7,M,,*7A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.6,2.1,2.9*32
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,39,18,19,327,36,19,21,034,39,21,04,298,00*75
+$GPGSV,3,3,12,26,60,276,48,27,19,092,38,28,62,142,44,29,68,247,46*75
+$PGRME,8.0,M,11.1,M,13.7,M*22
+$GPGLL,6129.458,N,02349.443,E,130045,A*23
+$PGRMZ,307,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6023.283,N,02430.650,E,T028*2D
+$GPRMC,130045,A,6129.463,N,02349.440,E,037.1,344.3,110805,006.0,E*7A
+$GPRMB,A,0.61,L,T013,T012,6129.236,N,02346.327,E,001.5,261.3,004.6,V*3E
+$GPGGA,130045,6129.465,N,02349.439,E,1,08,2.1,93.6,M,20.7,M,,*7A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.6,2.1,2.9*32
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,39,18,19,327,36,19,21,034,39,21,04,298,00*75
+$GPGSV,3,3,12,26,60,276,48,27,19,092,38,28,62,142,44,29,68,247,45*76
+$PGRME,8.0,M,11.1,M,13.7,M*22
+$GPGLL,6129.471,N,02349.435,E,130046,A*2A
+$PGRMZ,308,f,3*10
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T027*23
+$GPRMC,130046,A,6129.475,N,02349.432,E,037.1,344.3,110805,006.0,E*7B
+$GPRMB,A,0.63,L,T013,T012,6129.236,N,02346.327,E,001.5,260.8,004.6,V*36
+$GPGGA,130046,6129.477,N,02349.431,E,1,08,2.1,93.8,M,20.7,M,,*7C
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.5,2.1,1.0*3A
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,39,18,19,327,36,19,21,034,37,21,04,298,00*7B
+$GPGSV,3,3,12,26,60,276,48,27,19,092,37,28,62,142,44,29,68,247,46*7A
+$PGRME,8.6,M,11.5,M,14.4,M*24
+$GPGLL,6129.483,N,02349.427,E,130046,A*24
+$PGRMZ,307,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T026*24
+$GPRMC,130047,A,6129.488,N,02349.424,E,036.8,343.8,110805,006.0,E*7B
+$GPRMB,A,0.64,L,T013,T012,6129.236,N,02346.327,E,001.5,260.3,004.4,V*38
+$GPGGA,130047,6129.490,N,02349.423,E,1,08,2.3,93.5,M,20.7,M,,*78
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.8,2.3,1.3*36
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,40,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,40,18,19,327,35,19,21,034,37,21,04,298,00*76
+$GPGSV,3,3,12,26,60,276,48,27,19,092,37,28,62,142,43,29,68,247,46*7D
+$PGRME,9.2,M,12.0,M,15.1,M*23
+$GPGLL,6129.496,N,02349.419,E,130048,A*23
+$PGRMZ,307,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,S,02453.500,E,T025*3B
+$GPRMC,130048,A,6129.500,N,02349.416,E,036.3,343.3,110805,006.0,E*74
+$GPRMB,A,0.65,L,T013,T012,6129.236,N,02346.327,E,001.5,259.8,004.2,V*3E
+$GPGGA,130049,6129.502,N,02349.415,E,1,08,2.3,93.6,M,20.7,M,,*7A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.6,2.3,1.0*3B
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,38,10,15,209,30*7D
+$GPGSV,3,2,12,15,13,332,40,18,19,327,36,19,21,034,38,21,04,298,00*7A
+$GPGSV,3,3,12,26,60,276,48,27,19,092,37,28,62,142,43,29,68,247,45*7E
+$PGRME,8.1,M,11.3,M,13.9,M*2F
+$GPGLL,6129.508,N,02349.411,E,130049,A*2C
+$PGRMZ,307,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6018.083,N,02453.500,E,T024*28
+$GPRMC,130049,A,6129.513,N,02349.408,E,036.3,342.6,110805,006.0,E*7C
+$GPRMB,A,0.66,L,T013,T012,6129.236,N,02346.327,E,001.5,259.4,004.3,V*30
+$GPGGA,130049,6129.515,N,02349.406,E,1,08,2.3,93.4,M,20.7,M,,*7C
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.7,2.3,1.2*38
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,37,10,15,209,30*72
+$GPGSV,3,2,12,15,13,332,40,18,19,327,36,19,21,034,38,21,04,298,00*7A
+$GPGSV,3,3,12,26,60,276,48,27,19,092,37,28,62,142,42,29,68,247,45*7F
+$PGRME,8.0,M,11.0,M,13.6,M*22
+$GPGLL,6129.521,N,02349.403,E,130051,A*2D
+$PGRMZ,307,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,W,T023*33
+$GPRMC,130051,A,6129.525,N,02349.400,E,036.1,342.6,110805,006.0,E*7A
+$GPRMB,A,0.67,L,T013,T012,6129.236,N,02346.327,E,001.5,258.9,004.3,V*3D
+$GPGGA,130051,6129.527,N,02349.398,E,1,08,2.4,93.6,M,20.7,M,,*71
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.1,2.4,1.7*3D
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,36,10,15,209,30*73
+$GPGSV,3,2,12,15,13,332,40,18,19,327,37,19,21,034,39,21,04,298,00*7A
+$GPGSV,3,3,12,26,60,276,47,27,19,092,36,28,62,142,43,29,68,247,45*70
+$PGRME,8.1,M,11.2,M,13.8,M*2F
+$GPGLL,6129.532,N,02349.395,E,130052,A*24
+$PGRMZ,307,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02555.500,E,T022*26
+$GPRMC,130053,A,6129.537,N,02349.392,E,035.1,342.5,110805,006.0,E*77
+$GPRMB,A,0.68,L,T013,T012,6129.236,N,02346.327,E,001.5,258.4,003.8,V*33
+$GPGGA,130053,6129.539,N,02349.390,E,1,08,2.5,93.6,M,20.7,M,,*75
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.9,1.9,1.0*3E
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,35,10,15,209,30*70
+$GPGSV,3,2,12,15,13,332,40,18,19,327,36,19,21,034,39,21,04,298,30*78
+$GPGSV,3,3,12,26,60,276,47,27,19,092,36,28,62,142,42,29,68,247,45*71
+$PGRME,8.8,M,12.4,M,15.3,M*2E
+$GPGLL,6129.544,N,02349.387,E,130053,A*27
+$PGRMZ,306,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T021*23
+$GPRMC,130054,A,6129.549,N,02349.384,E,034.7,342.7,110805,006.0,E*7B
+$GPRMB,A,0.69,L,T013,T012,6129.236,N,02346.327,E,001.5,257.9,003.3,V*3B
+$GPGGA,130054,6129.551,N,02349.383,E,1,08,1.9,93.4,M,20.7,M,,*73
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.9,1.9,1.0*3E
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,34,10,15,209,30*71
+$GPGSV,3,2,12,15,13,332,40,18,19,327,36,19,21,034,40,21,04,298,30*76
+$GPGSV,3,3,12,26,60,276,47,27,19,092,35,28,62,142,42,29,68,247,45*72
+$PGRME,8.0,M,11.0,M,13.6,M*22
+$GPGLL,6129.556,N,02349.379,E,130054,A*22
+$PGRMZ,307,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6116.083,N,02452.500,E,T020*22
+$GPRMC,130055,A,6129.561,N,02349.376,E,034.5,342.4,110805,006.0,E*7C
+$GPRMB,A,0.70,L,T013,T012,6129.236,N,02346.327,E,001.5,257.4,003.1,V*3C
+$GPGGA,130055,6129.562,N,02349.375,E,1,08,2.1,93.7,M,20.7,M,,*73
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.4,2.1,1.0*3B
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,33,10,15,209,32*74
+$GPGSV,3,2,12,15,13,332,40,18,19,327,37,19,21,034,41,21,04,298,30*76
+$GPGSV,3,3,12,26,60,276,46,27,19,092,34,28,62,142,42,29,68,247,44*73
+$PGRME,8.8,M,12.3,M,15.1,M*2B
+$GPGLL,6129.568,N,02349.370,E,130055,A*27
+$PGRMZ,307,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,S,02452.500,E,T019*34
+$GPRMC,130056,A,6129.572,N,02349.367,E,034.4,341.5,110805,006.0,E*7E
+$GPRMB,A,0.71,L,T013,T012,6129.236,N,02346.327,E,001.5,256.9,003.4,V*34
+$GPGGA,130056,6129.575,N,02349.365,E,1,08,2.3,93.8,M,20.7,M,,*7A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.9,2.3,1.5*31
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,33,10,15,209,34*72
+$GPGSV,3,2,12,15,13,332,41,18,19,327,37,19,21,034,42,21,04,298,30*74
+$GPGSV,3,3,12,26,60,276,46,27,19,092,34,28,62,142,42,29,68,247,44*73
+$PGRME,8.8,M,12.3,M,15.1,M*2B
+$GPGLL,6129.579,N,02349.361,E,130058,A*2A
+$PGRMZ,308,f,3*10
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,N,02452.500,E,T018*28
+$GPRMC,130058,A,6129.584,N,02349.358,E,034.3,340.7,110805,006.0,E*71
+$GPRMB,A,0.72,L,T013,T012,6129.236,N,02346.327,E,001.5,256.5,003.5,V*3A
+$GPGGA,130058,6129.586,N,02349.357,E,1,08,2.4,94.0,M,20.7,M,,*71
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.3,2.4,1.9*31
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,32,10,15,209,35*72
+$GPGSV,3,2,12,15,13,332,42,18,19,327,38,19,21,034,42,21,04,298,33*7B
+$GPGSV,3,3,12,26,60,276,45,27,19,092,33,28,62,142,42,29,68,247,44*77
+$PGRME,8.8,M,12.3,M,15.1,M*2B
+$GPGLL,6129.591,N,02349.353,E,130059,A*2C
+$PGRMZ,309,f,3*11
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6013.283,N,02456.650,E,T017*22
+$GPRMC,130059,A,6129.595,N,02349.349,E,034.0,339.2,110805,006.0,E*78
+$GPRMB,A,0.73,L,T013,T012,6129.236,N,02346.327,E,001.5,256.0,004.1,V*3D
+$GPGGA,130059,6129.597,N,02349.347,E,1,08,2.6,94.7,M,20.7,M,,*74
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.7,2.6,2.3*3E
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,34,10,15,209,38*79
+$GPGSV,3,2,12,15,13,332,43,18,19,327,38,19,21,034,44,21,04,298,32*7D
+$GPGSV,3,3,12,26,60,276,45,27,19,092,33,28,62,142,41,29,68,247,45*75
+$PGRME,8.8,M,12.3,M,15.1,M*2B
+$GPGLL,6129.602,N,02349.343,E,130100,A*29
+$PGRMZ,311,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T016*21
+$GPRMC,130100,A,6129.608,N,02349.338,E,033.7,338.7,110805,006.0,E*70
+$GPRMB,A,0.74,L,T013,T012,6129.236,N,02346.327,E,001.5,255.5,004.1,V*3C
+$GPGGA,130101,6129.610,N,02349.336,E,1,08,2.7,95.2,M,20.7,M,,*77
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,4.0,2.7,2.7*3B
+$GPGSV,3,1,12,03,03,012,00,07,02,153,00,08,52,094,35,10,15,209,37*77
+$GPGSV,3,2,12,15,13,332,43,18,19,327,38,19,21,034,44,21,04,298,32*7D
+$GPGSV,3,3,12,26,60,276,45,27,19,092,32,28,62,142,42,29,68,247,45*77
+$PGRME,9.4,M,13.5,M,16.4,M*27
+$GPGLL,6129.615,N,02349.332,E,130101,A*28
+$PGRMZ,314,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0000.000,N,00000.000,W,T015*39
+$GPRMC,130102,A,6129.620,N,02349.328,E,034.0,338.1,110805,006.0,E*7F
+$GPRMB,A,0.75,L,T013,T012,6129.236,N,02346.327,E,001.5,255.0,004.1,V*38
+$GPGGA,130102,6129.622,N,02349.326,E,1,08,2.8,95.9,M,20.7,M,,*70
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,4.3,2.8,3.0*31
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,52,094,37,10,15,209,37*74
+$GPGSV,3,2,12,15,13,332,43,18,19,327,38,19,21,034,44,21,04,298,32*7D
+$GPGSV,3,3,12,26,60,276,44,27,19,092,32,28,62,142,41,29,68,247,45*75
+$PGRME,9.4,M,13.5,M,16.4,M*27
+$GPGLL,6129.627,N,02349.322,E,130103,A*2A
+$PGRMZ,315,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0009.000,N,02430.650,E,T014*25
+$GPRMC,130103,A,6129.631,N,02349.318,E,034.4,337.9,110805,006.0,E*7E
+$GPRMB,A,0.76,L,T013,T012,6129.236,N,02346.327,E,001.5,254.5,004.1,V*3F
+$GPGGA,130104,6129.633,N,02349.316,E,1,08,2.9,95.9,M,20.7,M,,*74
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,4.6,2.9,3.3*36
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,52,094,38,10,15,209,38*74
+$GPGSV,3,2,12,15,13,332,43,18,19,327,38,19,21,034,45,21,04,298,31*7F
+$GPGSV,3,3,12,26,60,276,44,27,19,092,31,28,62,142,41,29,68,247,46*75
+$PGRME,9.4,M,13.5,M,16.4,M*27
+$GPGLL,6129.639,N,02349.311,E,130104,A*22
+$PGRMZ,316,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.285,N,02430.651,E,T013*23
+$GPRMC,130105,A,6129.643,N,02349.307,E,034.9,337.2,110805,006.0,E*75
+$GPRMB,A,0.77,L,T013,T012,6129.236,N,02346.327,E,001.5,254.0,004.3,V*39
+$GPGGA,130105,6129.645,N,02349.306,E,1,08,3.0,96.5,M,20.7,M,,*72
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,4.8,3.0,3.6*30
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,52,094,37,10,15,209,38*7B
+$GPGSV,3,2,12,15,13,332,43,18,19,327,38,19,21,034,45,21,04,298,31*7F
+$GPGSV,3,3,12,26,60,276,45,27,19,092,31,28,62,142,42,29,68,247,46*77
+$PGRME,9.4,M,13.5,M,16.4,M*27
+$GPGLL,6129.650,N,02349.301,E,130105,A*2D
+$PGRMZ,319,f,3*10
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.236,N,02346.327,E,T012*22
+$GPRMC,130106,A,6129.655,N,02349.297,E,035.2,337.1,110805,006.0,E*70
+$GPRMB,A,0.78,L,T013,T012,6129.236,N,02346.327,E,001.5,253.5,004.1,V*36
+$GPGGA,130106,6129.657,N,02349.295,E,1,07,2.6,97.6,M,20.7,M,,*73
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,2.6,2.6,1.0*3B
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,52,094,37,10,15,209,38*7B
+$GPGSV,3,2,12,15,13,332,43,18,19,327,38,19,21,034,44,21,04,298,31*7E
+$GPGSV,3,3,12,26,60,276,45,27,19,092,30,28,62,142,42,29,68,247,47*77
+$PGRME,10.0,M,14.5,M,17.6,M*1F
+$GPGLL,6129.662,N,02349.290,E,130107,A*27
+$PGRMZ,321,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6114.236,N,02346.327,E,T011*2F
+$GPRMC,130107,A,6129.667,N,02349.285,E,035.7,335.6,110805,006.0,E*73
+$GPRMB,A,0.79,L,T013,T012,6129.236,N,02346.327,E,001.5,253.0,004.7,V*34
+$GPGGA,130108,6129.668,N,02349.283,E,1,07,2.5,98.1,M,20.7,M,,*7D
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,2.5,2.5,1.0*3B
+$GPGSV,3,1,12,03,02,012,00,07,02,153,34,08,52,094,39,10,15,209,36*7C
+$GPGSV,3,2,12,15,13,332,42,18,19,327,38,19,21,034,43,21,04,298,00*7A
+$GPGSV,3,3,12,26,60,276,44,27,19,092,30,28,62,142,43,29,68,247,47*77
+$PGRME,11.3,M,16.2,M,19.8,M*18
+$GPGLL,6129.674,N,02349.278,E,130108,A*29
+$PGRMZ,324,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6220.236,N,02346.327,E,T010*2A
+$GPRMC,130108,A,6129.680,N,02349.272,E,036.4,335.2,110805,006.0,E*79
+$GPRMB,A,0.80,L,T013,T012,6129.236,N,02346.327,E,001.5,252.5,004.6,V*37
+$GPGGA,130109,6129.681,N,02349.271,E,1,07,2.8,99.2,M,20.7,M,,*79
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,3.2,2.8,1.7*37
+$GPGSV,3,1,12,03,02,012,00,07,02,153,33,08,52,094,39,10,15,209,35*78
+$GPGSV,3,2,12,15,13,332,42,18,19,327,38,19,21,034,43,21,04,298,00*7A
+$GPGSV,3,3,12,26,60,276,44,27,19,092,30,28,62,142,43,29,68,247,47*77
+$PGRME,11.7,M,17.0,M,20.6,M*1B
+$GPGLL,6129.687,N,02349.264,E,130109,A*29
+$PGRMZ,325,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6120.236,N,02346.327,E,T009*21
+$GPRMC,130110,A,6129.691,N,02349.260,E,036.7,334.1,110805,006.0,E*72
+$GPRMB,A,0.81,L,T013,T012,6129.236,N,02346.327,E,001.5,252.0,005.2,V*36
+$GPGGA,130110,6129.693,N,02349.258,E,1,07,2.9,99.5,M,20.7,M,,*7F
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,3.6,2.9,2.1*37
+$GPGSV,3,1,12,03,02,012,00,07,02,153,33,08,52,094,40,10,15,209,35*76
+$GPGSV,3,2,12,15,13,332,42,18,19,327,38,19,21,034,43,21,04,298,00*7A
+$GPGSV,3,3,12,26,60,276,44,27,19,092,31,28,62,142,43,29,68,247,46*77
+$PGRME,11.7,M,17.0,M,20.6,M*1B
+$GPGLL,6129.699,N,02349.251,E,130110,A*28
+$PGRMZ,330,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.234,N,02346.317,E,T008*28
+$GPRMC,130111,A,6129.703,N,02349.247,E,036.9,333.6,110805,006.0,E*72
+$GPRMB,A,0.82,L,T013,T012,6129.236,N,02346.327,E,001.5,251.4,005.2,V*32
+$GPGGA,130111,6129.705,N,02349.245,E,1,07,3.0,100.9,M,20.7,M,,*49
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.9,3.0,2.5*31
+$GPGSV,3,1,12,03,02,012,00,07,02,153,34,08,52,094,39,10,15,209,34*7E
+$GPGSV,3,2,12,15,13,332,41,18,19,327,39,19,21,034,41,21,04,298,00*7A
+$GPGSV,3,3,12,26,60,276,44,27,19,092,35,28,62,142,43,29,68,247,46*73
+$PGRME,8.0,M,11.0,M,13.6,M*22
+$GPGLL,6129.711,N,02349.239,E,130112,A*25
+$PGRMZ,332,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6157.564,N,02406.158,E,T007*26
+$GPRMC,130113,A,6129.715,N,02349.234,E,036.9,333.0,110805,006.0,E*75
+$GPRMB,A,0.83,L,T013,T012,6129.236,N,02346.327,E,001.5,250.9,005.2,V*3F
+$GPGGA,130113,6129.717,N,02349.232,E,1,08,1.4,101.5,M,20.7,M,,*4C
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.5,1.5,1.0*3E
+$GPGSV,3,1,12,03,02,012,00,07,02,153,34,08,52,094,39,10,15,209,32*78
+$GPGSV,3,2,12,15,13,332,41,18,19,327,39,19,21,034,41,21,04,298,00*7A
+$GPGSV,3,3,12,26,60,276,44,27,19,092,35,28,62,142,42,29,68,247,46*72
+$PGRME,8.8,M,12.4,M,15.2,M*2F
+$GPGLL,6129.723,N,02349.225,E,130113,A*28
+$PGRMZ,333,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6145.919,N,02345.544,E,T006*2B
+$GPRMC,130114,A,6129.727,N,02349.220,E,037.0,332.1,110805,006.0,E*7E
+$GPRMB,A,0.84,L,T013,T012,6129.236,N,02346.327,E,001.5,250.4,005.5,V*32
+$GPGGA,130114,6129.729,N,02349.218,E,1,08,1.6,102.6,M,20.7,M,,*4C
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.6,1.6,1.0*3E
+$GPGSV,3,1,12,03,02,012,00,07,02,153,35,08,52,094,38,10,15,209,31*7B
+$GPGSV,3,2,12,15,13,332,41,18,19,327,39,19,21,034,40,21,04,298,00*7B
+$GPGSV,3,3,12,26,60,276,44,27,19,092,35,28,62,142,42,29,68,247,46*72
+$PGRME,16.6,M,21.0,M,26.8,M*10
+$GPGLL,6129.735,N,02349.212,E,130115,A*2D
+$PGRMZ,337,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6130.198,N,02342.702,E,T005*2C
+$GPRMC,130115,A,6129.739,N,02349.206,E,037.0,330.7,110805,006.0,E*70
+$GPRMB,A,0.85,L,T013,T012,6129.236,N,02346.327,E,001.5,249.9,006.0,V*30
+$GPGGA,130115,6129.741,N,02349.204,E,1,08,1.6,102.9,M,20.7,M,,*41
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.6,1.6,1.0*3E
+$GPGSV,3,1,12,03,02,012,00,07,02,153,34,08,52,094,37,10,15,209,32*76
+$GPGSV,3,2,12,15,13,332,40,18,19,327,39,19,21,034,39,21,04,298,00*74
+$GPGSV,3,3,12,26,60,276,43,27,19,092,34,28,62,142,41,29,68,247,45*74
+$PGRME,17.2,M,22.1,M,28.0,M*11
+$GPGLL,6129.746,N,02349.198,E,130116,A*2B
+$PGRMZ,338,f,3*13
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6216.183,N,02619.685,E,T004*25
+$GPRMC,130116,A,6129.750,N,02349.192,E,036.6,330.0,110805,006.0,E*72
+$GPRMB,A,0.86,L,T013,T012,6129.236,N,02346.327,E,001.5,249.4,006.0,V*3E
+$GPGGA,130116,6129.752,N,02349.190,E,1,08,1.8,102.9,M,20.7,M,,*40
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.8,1.8,1.0*3E
+$GPGSV,3,1,12,03,02,012,00,07,02,153,34,08,50,094,37,10,15,209,32*74
+$GPGSV,3,2,12,15,13,332,40,18,19,327,39,19,21,034,39,21,04,298,00*74
+$GPGSV,3,3,12,26,60,276,43,27,19,092,33,28,62,142,40,29,68,247,45*72
+$PGRME,8.0,M,11.0,M,13.6,M*22
+$GPGLL,6129.757,N,02349.184,E,130117,A*27
+$PGRMZ,338,f,3*13
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6215.064,N,02603.837,E,T003*25
+$GPRMC,130118,A,6129.761,N,02349.178,E,036.2,328.8,110805,006.0,E*7F
+$GPRMB,A,0.87,L,T013,T012,6129.236,N,02346.327,E,001.5,248.9,006.3,V*30
+$GPGGA,130118,6129.763,N,02349.176,E,1,08,2.0,103.3,M,20.7,M,,*44
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.4,2.0,1.5*3F
+$GPGSV,3,1,12,03,02,012,00,07,02,153,34,08,50,094,38,10,15,209,34*7D
+$GPGSV,3,2,12,15,13,332,40,18,19,327,40,19,21,034,38,21,04,298,00*7B
+$GPGSV,3,3,12,26,60,276,43,27,19,092,33,28,62,142,39,29,68,247,46*7F
+$PGRME,8.7,M,12.3,M,15.1,M*24
+$GPGLL,6129.768,N,02349.170,E,130119,A*2E
+$PGRMZ,339,f,3*12
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6151.098,N,02510.924,E,T002*26
+$GPRMC,130119,A,6129.772,N,02349.163,E,036.2,327.2,110805,006.0,E*73
+$GPRMB,A,0.88,L,T013,T012,6129.236,N,02346.327,E,001.5,248.4,007.1,V*31
+$GPGGA,130119,6129.774,N,02349.161,E,1,08,2.8,103.4,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.1,2.8,1.0*36
+$GPGSV,3,1,12,03,02,012,00,07,02,153,35,08,50,094,39,10,15,209,36*7F
+$GPGSV,3,2,12,15,13,332,40,18,19,327,39,19,21,034,40,21,04,298,00*7A
+$GPGSV,3,3,12,26,60,276,44,27,19,092,33,28,62,142,39,29,68,247,46*78
+$PGRME,8.7,M,12.3,M,15.1,M*24
+$GPGLL,6129.779,N,02349.154,E,130120,A*22
+$PGRMZ,340,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.271,N,02346.376,E,T001*27
+$GPRMC,130120,A,6129.783,N,02349.148,E,036.0,326.4,110805,006.0,E*7B
+$GPRMB,A,0.89,L,T013,T012,6129.236,N,02346.327,E,001.5,247.9,007.3,V*30
+$GPGGA,130121,6129.785,N,02349.146,E,1,08,1.3,103.6,M,20.7,M,,*40
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.3,1.3,1.0*3E
+$GPGSV,3,1,12,03,02,012,00,07,02,153,34,08,50,094,41,10,15,209,38*7F
+$GPGSV,3,2,12,15,13,332,40,18,19,327,38,19,21,034,41,21,04,298,00*7A
+$GPGSV,3,3,12,26,60,276,45,27,19,092,33,28,62,142,37,29,68,247,46*77
+$PGRME,8.0,M,11.0,M,13.6,M*22
+$GPGLL,6129.790,N,02349.139,E,130121,A*2F
+$PGRMZ,340,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPRTE,4,1,c,0,T030,T029,T028,T027,T026,T025,T024,T023,T022*49
+$GPRTE,4,2,c,0,T021,T020,T019,T018,T017,T016,T015,T014,T013*4B
+$GPRTE,4,3,c,0,T012,T011,T010,T009,T008,T007,T006,T005,T004*4B
+$GPRTE,4,4,c,0,T003,T002,T001*4F
+$GPWPL,6016.083,N,02452.500,E,T030*22
+$GPRMC,130122,A,6129.797,N,02349.127,E,036.0,325.0,110805,006.0,E*72
+$GPRMB,A,0.90,L,T013,T012,6129.236,N,02346.327,E,001.5,247.2,007.8,V*38
+$GPGGA,130122,6129.799,N,02349.125,E,1,08,1.4,103.7,M,20.7,M,,*4D
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.4,1.4,1.0*3E
+$GPGSV,3,1,12,03,02,012,00,07,02,153,34,08,50,094,41,10,15,209,37*70
+$GPGSV,3,2,12,15,13,332,39,18,19,327,38,19,21,034,40,21,04,298,00*75
+$GPGSV,3,3,12,26,60,276,45,27,19,092,33,28,62,142,37,29,68,247,47*76
+$PGRME,10.0,M,13.5,M,16.8,M*17
+$GPGLL,6129.803,N,02349.117,E,130122,A*25
+$PGRMZ,339,f,3*12
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T029*2D
+$GPRMC,130123,A,6129.807,N,02349.110,E,036.3,323.7,110805,006.0,E*73
+$GPRMB,A,0.91,L,T013,T012,6129.236,N,02346.327,E,001.5,246.7,008.3,V*39
+$GPGGA,130123,6129.809,N,02349.108,E,1,08,1.5,103.4,M,20.7,M,,*47
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.5,1.5,1.0*3E
+$GPGSV,3,1,12,03,02,012,00,07,02,153,33,08,50,094,42,10,15,209,36*75
+$GPGSV,3,2,12,15,13,332,38,18,19,327,39,19,21,034,38,21,04,298,00*7A
+$GPGSV,3,3,12,26,60,276,44,27,19,092,32,28,62,142,37,29,68,247,47*76
+$PGRME,11.5,M,15.8,M,19.6,M*19
+$GPGLL,6129.813,N,02349.098,E,130124,A*24
+$PGRMZ,337,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6023.283,N,02430.650,E,T028*2D
+$GPRMC,130124,A,6129.817,N,02349.091,E,036.7,320.9,110805,006.0,E*74
+$GPRMB,A,0.91,L,T013,T012,6129.236,N,02346.327,E,001.4,246.2,009.7,V*38
+$GPGGA,130124,6129.819,N,02349.088,E,1,08,2.0,102.2,M,20.7,M,,*49
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.5,2.0,1.8*33
+$GPGSV,3,1,12,03,02,012,00,07,02,153,32,08,50,094,42,10,15,209,35*77
+$GPGSV,3,2,12,15,13,332,37,18,19,327,40,19,21,034,38,21,04,298,00*7B
+$GPGSV,3,3,12,26,60,276,44,27,19,092,32,28,62,142,38,29,68,247,47*79
+$PGRME,11.5,M,15.8,M,19.6,M*19
+$GPGLL,6129.823,N,02349.080,E,130124,A*2E
+$PGRMZ,335,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T027*23
+$GPRMC,130126,A,6129.827,N,02349.073,E,036.8,320.2,110805,006.0,E*7D
+$GPRMB,A,0.92,L,T013,T012,6129.236,N,02346.327,E,001.4,245.7,009.7,V*3D
+$GPGGA,130126,6129.829,N,02349.071,E,1,08,2.4,102.1,M,20.7,M,,*49
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.3,2.4,2.5*3E
+$GPGSV,3,1,12,03,02,012,00,07,02,153,32,08,50,094,41,10,15,209,35*74
+$GPGSV,3,2,12,15,13,332,37,18,19,327,39,19,21,034,37,21,04,298,00*7A
+$GPGSV,3,3,12,26,60,276,45,27,19,092,32,28,62,142,39,29,68,247,47*79
+$PGRME,11.5,M,15.8,M,19.6,M*19
+$GPGLL,6129.833,N,02349.062,E,130127,A*20
+$PGRMZ,335,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T026*24
+$GPRMC,130127,A,6129.837,N,02349.056,E,036.8,320.2,110805,006.0,E*7A
+$GPRMB,A,0.93,L,T013,T012,6129.236,N,02346.327,E,001.4,245.3,009.8,V*37
+$GPGGA,130127,6129.839,N,02349.053,E,1,08,2.4,102.1,M,20.7,M,,*49
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.8,2.4,1.0*32
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,39,10,15,209,33*7C
+$GPGSV,3,2,12,15,13,332,36,18,19,327,39,19,21,034,36,21,04,298,00*7A
+$GPGSV,3,3,12,26,60,276,46,27,19,092,31,28,62,142,40,29,68,247,48*78
+$PGRME,11.1,M,15.9,M,11.1,M*13
+$GPGLL,6129.842,N,02349.040,E,130128,A*29
+$PGRMZ,335,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,S,02453.500,E,T025*3B
+$GPRMC,130129,A,6129.845,N,02349.032,E,036.9,313.3,110805,006.0,E*73
+$GPRMB,A,0.93,L,T013,T012,6129.236,N,02346.327,E,001.4,244.7,013.6,V*37
+$GPGGA,130129,6129.846,N,02349.029,E,1,08,2.8,102.1,M,20.7,M,,*4E
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.6,2.8,1.8*39
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,39,10,15,209,33*7C
+$GPGSV,3,2,12,15,13,332,35,18,19,327,40,19,21,034,35,21,04,298,35*72
+$GPGSV,3,3,12,26,60,276,47,27,19,092,31,28,62,142,41,29,68,247,48*78
+$PGRME,12.5,M,18.0,M,14.5,M*11
+$GPGLL,6129.851,N,02349.019,E,130129,A*26
+$PGRMZ,336,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6018.083,N,02453.500,E,T024*28
+$GPRMC,130130,A,6129.854,N,02349.011,E,036.9,312.9,110805,006.0,E*71
+$GPRMB,A,0.94,L,T013,T012,6129.236,N,02346.327,E,001.4,244.2,013.5,V*36
+$GPGGA,130130,6129.856,N,02349.008,E,1,08,3.1,102.3,M,20.7,M,,*4E
+$GPGSA,A,3,,,08,,15,18,,,26,27,28,29,5.0,3.4,3.2*34
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,38,10,14,208,32*7C
+$GPGSV,3,2,12,15,13,332,35,18,19,327,40,19,21,034,35,21,04,298,36*71
+$GPGSV,3,3,12,26,60,276,47,27,19,092,31,28,62,142,42,29,68,247,48*7B
+$PGRME,12.5,M,18.0,M,14.5,M*11
+$GPGLL,6129.860,N,02348.999,E,130130,A*2C
+$PGRMZ,336,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,W,T023*33
+$GPRMC,130131,A,6129.863,N,02348.990,E,036.8,311.7,110805,006.0,E*79
+$GPRMB,A,0.94,L,T013,T012,6129.236,N,02346.327,E,001.4,243.7,013.7,V*36
+$GPGGA,130131,6129.864,N,02348.987,E,1,07,3.7,102.4,M,20.7,M,,*4F
+$GPGSA,A,3,,,08,,15,18,,,26,,28,29,5.6,3.7,3.8*3E
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,37,10,14,208,32*73
+$GPGSV,3,2,12,15,13,332,33,18,19,327,39,19,21,034,34,21,04,298,39*77
+$GPGSV,3,3,12,26,60,276,48,27,19,092,31,28,62,142,42,29,68,247,48*74
+$PGRME,11.1,M,16.6,M,11.1,M*1F
+$GPGLL,6129.868,N,02348.977,E,130132,A*26
+$PGRMZ,336,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02555.500,E,T022*26
+$GPRMC,130132,A,6129.871,N,02348.969,E,036.8,310.7,110805,006.0,E*7E
+$GPRMB,A,0.95,L,T013,T012,6129.236,N,02346.327,E,001.4,243.2,014.2,V*30
+$GPGGA,130133,6129.873,N,02348.966,E,1,06,2.8,102.4,M,20.7,M,,*4B
+$GPGSA,A,3,,,08,,,18,,,26,,28,29,2.8,2.8,1.0*37
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,36,10,14,208,32*72
+$GPGSV,3,2,12,15,13,332,32,18,19,327,38,19,21,034,36,21,04,298,39*75
+$GPGSV,3,3,12,26,60,276,48,27,19,092,30,28,62,142,42,29,68,247,48*75
+$PGRME,7.7,M,16.6,M,7.7,M*1F
+$GPGLL,6129.876,N,02348.955,E,130133,A*28
+$PGRMZ,336,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T021*23
+$GPRMC,130134,A,6129.879,N,02348.946,E,037.0,303.4,110805,006.0,E*75
+$GPRMB,A,0.95,L,T013,T012,6129.236,N,02346.327,E,001.4,242.8,018.3,V*36
+$GPGGA,130134,6129.879,N,02348.941,E,1,05,2.3,101.6,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,,18,19,,26,,28,29,2.8,2.3,1.8*3C
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,37,10,14,208,36*77
+$GPGSV,3,2,12,15,13,332,32,18,19,327,39,19,21,034,36,21,04,298,40*7A
+$GPGSV,3,3,12,26,60,276,48,27,19,092,30,28,62,142,42,29,68,247,47*7A
+$PGRME,9.4,M,18.7,M,11.4,M*29
+$GPGLL,6129.883,N,02348.930,E,130134,A*26
+$PGRMZ,333,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6116.083,N,02452.500,E,T020*22
+$GPRMC,130135,A,6129.885,N,02348.921,E,037.4,303.1,110805,006.0,E*77
+$GPRMB,A,0.96,L,T013,T012,6129.236,N,02346.327,E,001.4,242.3,018.5,V*38
+$GPGGA,130135,6129.886,N,02348.916,E,1,06,2.4,101.1,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,,18,19,,26,,28,29,2.8,2.4,1.0*33
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,38,10,14,208,35*7B
+$GPGSV,3,2,12,15,13,332,31,18,19,327,39,19,21,034,39,21,04,298,39*78
+$GPGSV,3,3,12,26,60,276,49,27,19,092,30,28,62,142,42,29,68,247,47*7B
+$PGRME,10.3,M,19.9,M,13.9,M*16
+$GPGLL,6129.889,N,02348.905,E,130136,A*28
+$PGRMZ,332,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,S,02452.500,E,T019*34
+$GPRMC,130136,A,6129.891,N,02348.895,E,037.5,300.1,110805,006.0,E*7D
+$GPRMB,A,0.96,L,T013,T012,6129.236,N,02346.327,E,001.4,241.9,019.8,V*3D
+$GPGGA,130136,6129.892,N,02348.892,E,1,06,2.6,101.9,M,20.7,M,,*4B
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.4,2.6,1.7*3A
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,38,10,14,208,34*7A
+$GPGSV,3,2,12,15,13,332,31,18,19,327,39,19,21,034,39,21,04,298,37*76
+$GPGSV,3,3,12,26,60,276,49,27,19,092,33,28,62,142,42,29,68,247,47*78
+$PGRME,8.6,M,11.4,M,14.3,M*22
+$GPGLL,6129.895,N,02348.880,E,130137,A*28
+$PGRMZ,336,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,N,02452.500,E,T018*28
+$GPRMC,130138,A,6129.897,N,02348.870,E,037.5,298.9,110805,006.0,E*76
+$GPRMB,A,0.96,L,T013,T012,6129.236,N,02346.327,E,001.4,241.4,020.3,V*31
+$GPGGA,130138,6129.898,N,02348.866,E,1,08,2.7,102.4,M,20.7,M,,*45
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.5,2.4,1.3*3D
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,37,10,14,208,34*75
+$GPGSV,3,2,12,15,13,332,31,18,19,327,38,19,21,034,40,21,04,298,37*79
+$GPGSV,3,3,12,26,60,276,49,27,19,092,34,28,62,142,41,29,68,247,47*7C
+$PGRME,8.7,M,11.8,M,14.7,M*2B
+$GPGLL,6129.901,N,02348.855,E,130138,A*23
+$PGRMZ,338,f,3*13
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6013.283,N,02456.650,E,T017*22
+$GPRMC,130139,A,6129.904,N,02348.845,E,037.6,298.8,110805,006.0,E*78
+$GPRMB,A,0.96,L,T013,T012,6129.236,N,02346.327,E,001.4,241.0,020.1,V*37
+$GPGGA,130139,6129.905,N,02348.841,E,1,08,2.4,102.9,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.5,2.4,1.3*3D
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,36,10,14,208,34*74
+$GPGSV,3,2,12,15,13,332,31,18,19,327,37,19,21,034,39,21,04,298,35*7A
+$GPGSV,3,3,12,26,60,276,49,27,19,092,35,28,62,142,41,29,68,247,46*7C
+$PGRME,9.6,M,12.2,M,15.6,M*22
+$GPGLL,6129.908,N,02348.827,E,130139,A*2E
+$PGRMZ,340,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T016*21
+$GPRMC,130139,A,6129.911,N,02348.817,E,037.9,297.9,110805,006.0,E*7A
+$GPRMB,A,0.97,L,T013,T012,6129.236,N,02346.327,E,001.4,240.4,020.5,V*37
+$GPGGA,130139,6129.912,N,02348.813,E,1,08,2.5,103.8,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.5,2.5,1.0*3F
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,34,10,14,208,35*77
+$GPGSV,3,2,12,15,13,332,31,18,19,327,36,19,21,034,38,21,04,298,33*7C
+$GPGSV,3,3,12,26,60,276,49,27,19,092,34,28,62,142,41,29,68,247,46*7D
+$PGRME,9.6,M,12.2,M,15.6,M*22
+$GPGLL,6129.915,N,02348.802,E,130139,A*25
+$PGRMZ,341,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0000.000,N,00000.000,W,T015*39
+$GPRMC,130139,A,6129.918,N,02348.790,E,037.9,297.9,110805,006.0,E*73
+$GPRMB,A,0.97,L,T013,T012,6129.236,N,02346.327,E,001.4,239.9,020.5,V*34
+$GPGGA,130139,6129.918,N,02348.786,E,1,08,2.5,104.1,M,20.7,M,,*4D
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.5,2.5,1.0*3F
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,33,10,14,208,37*72
+$GPGSV,3,2,12,15,13,332,31,18,19,327,35,19,21,034,37,21,04,298,33*70
+$GPGSV,3,3,12,26,60,276,49,27,19,092,34,28,62,142,41,29,68,247,46*7D
+$PGRME,9.6,M,12.2,M,15.6,M*22
+$GPGLL,6129.922,N,02348.773,E,130142,A*24
+$PGRMZ,342,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0009.000,N,02430.650,E,T014*25
+$GPRMC,130142,A,6129.924,N,02348.763,E,037.8,298.2,110805,006.0,E*79
+$GPRMB,A,0.97,L,T013,T012,6129.236,N,02346.327,E,001.4,239.4,020.5,V*39
+$GPGGA,130142,6129.925,N,02348.759,E,1,08,3.5,104.2,M,20.7,M,,*4F
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,4.4,3.5,1.0*38
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,32,10,14,208,40*73
+$GPGSV,3,2,12,15,13,332,31,18,19,327,34,19,21,034,36,21,04,298,32*71
+$GPGSV,3,3,12,26,60,276,49,27,19,092,33,28,62,142,41,29,68,247,45*79
+$PGRME,13.7,M,12.7,M,19.1,M*16
+$GPGLL,6129.928,N,02348.747,E,130142,A*29
+$PGRMZ,342,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.285,N,02430.651,E,T013*23
+$GPRMC,130144,A,6129.931,N,02348.738,E,037.8,299.9,110805,006.0,E*7F
+$GPRMB,A,0.98,L,T013,T012,6129.236,N,02346.327,E,001.3,238.9,018.3,V*30
+$GPGGA,130144,6129.932,N,02348.734,E,1,08,4.5,104.3,M,20.7,M,,*42
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,5.3,4.5,1.0*39
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,31,10,14,208,39*7E
+$GPGSV,3,2,12,15,13,332,31,18,19,327,34,19,21,034,35,21,04,298,32*72
+$GPGSV,3,3,12,26,60,276,48,27,19,092,33,28,62,142,41,29,68,247,45*78
+$PGRME,13.7,M,12.7,M,19.1,M*16
+$GPGLL,6129.934,N,02348.722,E,130145,A*20
+$PGRMZ,342,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.236,N,02346.327,E,T012*22
+$GPRMC,130145,A,6129.937,N,02348.712,E,037.8,298.5,110805,006.0,E*7D
+$GPRMB,A,0.98,L,T013,T012,6129.236,N,02346.327,E,001.3,238.4,019.0,V*3F
+$GPGGA,130146,6129.938,N,02348.708,E,1,08,5.3,104.4,M,20.7,M,,*45
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,6.7,6.1,1.0*3C
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,31,10,14,208,39*7E
+$GPGSV,3,2,12,15,13,332,31,18,19,327,34,19,21,034,35,21,04,298,32*72
+$GPGSV,3,3,12,26,60,276,48,27,19,092,32,28,62,142,41,29,68,247,45*79
+$PGRME,13.7,M,12.7,M,19.1,M*16
+$GPGLL,6129.941,N,02348.697,E,130146,A*2E
+$PGRMZ,343,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6114.236,N,02346.327,E,T011*2F
+$GPRMC,130146,A,6129.943,N,02348.687,E,037.8,298.6,110805,006.0,E*73
+$GPRMB,A,0.98,L,T013,T012,6129.236,N,02346.327,E,001.3,237.9,018.6,V*3A
+$GPGGA,130147,6129.944,N,02348.683,E,1,07,6.1,104.5,M,20.7,M,,*42
+$GPGSA,A,3,,,08,,,,19,,26,27,28,29,6.7,6.1,1.0*35
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,31,10,14,208,38*7F
+$GPGSV,3,2,12,15,13,332,31,18,19,327,34,19,21,034,34,21,04,298,32*73
+$GPGSV,3,3,12,26,60,276,48,27,19,092,32,28,62,142,41,29,68,247,45*79
+$PGRME,13.7,M,12.7,M,19.1,M*16
+$GPGLL,6129.947,N,02348.672,E,130147,A*22
+$PGRMZ,343,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6220.236,N,02346.327,E,T010*2A
+$GPRMC,130147,A,6129.950,N,02348.662,E,037.8,298.8,110805,006.0,E*75
+$GPRMB,A,0.99,L,T013,T012,6129.236,N,02346.327,E,001.3,237.3,018.1,V*36
+$GPGGA,130147,6129.951,N,02348.658,E,1,06,2.8,104.6,M,20.7,M,,*4F
+$GPGSA,A,3,,,08,,,18,,,26,27,28,29,2.8,2.8,1.0*32
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,36,10,14,208,37*77
+$GPGSV,3,2,12,15,13,332,31,18,19,327,35,19,21,034,34,21,04,298,31*71
+$GPGSV,3,3,12,26,60,276,48,27,19,092,32,28,62,142,40,29,68,247,46*7B
+$PGRME,11.5,M,13.4,M,11.5,M*18
+$GPGLL,6129.954,N,02348.647,E,130149,A*28
+$PGRMZ,343,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6120.236,N,02346.327,E,T009*21
+$GPRMC,130150,A,6129.957,N,02348.637,E,037.8,299.5,110805,006.0,E*78
+$GPRMB,A,0.99,L,T013,T012,6129.236,N,02346.327,E,001.3,236.8,017.5,V*37
+$GPGGA,130150,6129.958,N,02348.633,E,1,06,2.9,104.6,M,20.7,M,,*4C
+$GPGSA,A,3,,,08,,,18,,,26,,28,29,3.7,3.2,1.8*3A
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,36,10,14,208,38*78
+$GPGSV,3,2,12,15,13,332,31,18,19,327,36,19,21,034,33,21,04,298,31*75
+$GPGSV,3,3,12,26,60,276,48,27,19,092,31,28,62,142,40,29,68,247,47*79
+$PGRME,12.9,M,15.9,M,14.9,M*15
+$GPGLL,6129.961,N,02348.622,E,130150,A*25
+$PGRMZ,345,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.234,N,02346.317,E,T008*28
+$GPRMC,130150,A,6129.964,N,02348.613,E,037.8,300.1,110805,006.0,E*7B
+$GPRMB,A,0.99,L,T013,T012,6129.236,N,02346.327,E,001.3,236.3,016.8,V*30
+$GPGGA,130150,6129.965,N,02348.609,E,1,05,3.2,105.1,M,20.7,M,,*44
+$GPGSA,A,3,,,08,,,18,,,26,,28,29,3.7,3.2,1.8*3A
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,36,10,14,208,37*77
+$GPGSV,3,2,12,15,13,331,31,18,19,327,37,19,21,034,33,21,04,298,31*77
+$GPGSV,3,3,12,26,60,276,48,27,19,092,31,28,62,142,41,29,68,247,47*78
+$PGRME,12.9,M,15.9,M,14.9,M*15
+$GPGLL,6129.968,N,02348.597,E,130152,A*23
+$PGRMZ,345,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6157.564,N,02406.158,E,T007*26
+$GPRMC,130152,A,6129.972,N,02348.591,E,036.9,311.2,110805,006.0,E*74
+$GPRMB,A,1.00,L,T013,T012,6129.236,N,02346.327,E,001.3,235.7,009.3,V*33
+$GPGGA,130152,6129.974,N,02348.587,E,1,05,2.8,105.0,M,20.7,M,,*49
+$GPGSA,A,3,,,08,,,18,,,26,,28,29,2.8,2.8,1.0*37
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,35,10,14,208,35*76
+$GPGSV,3,2,12,15,13,331,31,18,19,327,40,19,21,034,31,21,04,298,31*75
+$GPGSV,3,3,12,26,60,276,46,27,19,092,31,28,62,142,40,29,68,247,46*76
+$PGRME,11.1,M,16.0,M,11.1,M*19
+$GPGLL,6129.978,N,02348.579,E,130153,A*23
+$PGRMZ,344,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6145.919,N,02345.544,E,T006*2B
+$GPRMC,130154,A,6129.981,N,02348.571,E,036.8,312.7,110805,006.0,E*77
+$GPRMB,A,1.00,L,T013,T012,6129.236,N,02346.327,E,001.3,235.2,008.1,V*35
+$GPGGA,130154,6129.983,N,02348.568,E,1,05,2.8,105.0,M,20.7,M,,*46
+$GPGSA,A,3,,,08,,,18,,,26,,28,29,2.8,2.8,1.0*37
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,36,10,14,208,34*74
+$GPGSV,3,2,12,15,13,331,31,18,19,327,41,19,21,034,31,21,04,298,31*74
+$GPGSV,3,3,12,26,60,276,45,27,19,092,31,28,62,142,40,29,68,247,46*75
+$PGRME,12.6,M,18.2,M,14.6,M*13
+$GPGLL,6129.988,N,02348.560,E,130154,A*23
+$PGRMZ,347,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6130.198,N,02342.702,E,T005*2C
+$GPRMC,130154,A,6129.992,N,02348.550,E,036.8,314.5,110805,006.0,E*72
+$GPRMB,A,1.01,L,T013,T012,6129.236,N,02346.327,E,001.3,234.5,006.6,V*3B
+$GPGGA,130155,6129.994,N,02348.547,E,1,05,2.8,105.9,M,20.7,M,,*45
+$GPGSA,A,3,,,08,,,18,,,26,,28,29,2.8,2.8,1.0*37
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,36,10,14,208,33*73
+$GPGSV,3,2,12,15,13,331,31,18,19,327,41,19,21,034,31,21,04,298,31*74
+$GPGSV,3,3,12,26,60,276,45,27,19,092,31,28,62,142,39,29,68,247,46*7B
+$PGRME,12.6,M,18.2,M,14.6,M*13
+$GPGLL,6129.998,N,02348.539,E,130155,A*2F
+$PGRMZ,349,f,3*15
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6216.183,N,02619.685,E,T004*25
+$GPRMC,130156,A,6130.002,N,02348.532,E,036.6,316.2,110805,006.0,E*77
+$GPRMB,A,1.02,L,T013,T012,6129.236,N,02346.327,E,001.3,233.9,005.0,V*36
+$GPGGA,130157,6130.004,N,02348.529,E,1,05,2.8,106.5,M,20.7,M,,*48
+$GPGSA,A,3,,,08,,,18,,,26,,28,29,2.8,2.8,1.0*37
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,35,10,14,208,33*70
+$GPGSV,3,2,12,15,13,331,30,18,19,327,40,19,21,034,31,21,04,298,00*76
+$GPGSV,3,3,12,26,60,276,43,27,19,092,31,28,62,142,39,29,68,247,47*7C
+$PGRME,19.2,M,25.9,M,24.3,M*1F
+$GPGLL,6130.005,N,02348.517,E,130157,A*24
+$PGRMZ,337,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6215.064,N,02603.837,E,T003*25
+$GPRMC,130157,A,6130.007,N,02348.509,E,033.2,298.6,110805,006.0,E*79
+$GPRMB,A,1.02,L,T013,T012,6129.236,N,02346.327,E,001.3,233.6,014.0,V*39
+$GPGGA,130157,6130.008,N,02348.505,E,1,05,4.8,102.0,M,20.7,M,,*4D
+$GPGSA,A,3,,,08,,15,18,,,26,,28,29,6.1,4.8,3.7*3D
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,37,10,14,208,32*73
+$GPGSV,3,2,12,15,13,331,33,18,19,327,39,19,21,034,31,21,04,298,00*7B
+$GPGSV,3,3,12,26,60,276,44,27,19,092,31,28,62,142,38,29,68,247,46*7B
+$PGRME,22.3,M,30.1,M,30.3,M*1F
+$GPGLL,6130.010,N,02348.495,E,130158,A*24
+$PGRMZ,331,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6151.098,N,02510.924,E,T002*26
+$GPRMC,130158,A,6130.014,N,02348.490,E,032.7,307.0,110805,006.0,E*70
+$GPRMB,A,1.03,L,T013,T012,6129.236,N,02346.327,E,001.3,233.0,009.1,V*33
+$GPGGA,130159,6130.016,N,02348.486,E,1,06,5.6,100.8,M,20.7,M,,*40
+$GPGSA,A,3,,,08,,15,18,,,26,,28,29,7.6,5.6,5.0*35
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,37,10,14,208,32*73
+$GPGSV,3,2,12,15,13,331,34,18,19,327,38,19,21,034,34,21,04,298,00*78
+$GPGSV,3,3,12,26,60,276,43,27,19,092,00,28,62,142,38,29,68,247,46*7E
+$PGRME,22.3,M,30.1,M,30.3,M*1F
+$GPGLL,6130.019,N,02348.478,E,130159,A*2F
+$PGRMZ,329,f,3*13
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.271,N,02346.376,E,T001*27
+$GPRMC,130159,A,6130.027,N,02348.480,E,035.1,330.5,110805,006.0,E*70
+$GPRMB,A,1.04,L,T013,T012,6129.236,N,02346.327,E,001.3,232.4,-004.9,V*19
+$GPGGA,130201,6130.029,N,02348.478,E,1,06,3.8,99.5,M,20.7,M,,*77
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,7.2,3.8,5.1*30
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,35,10,14,208,32*71
+$GPGSV,3,2,12,15,13,331,34,18,19,327,37,19,21,034,33,21,04,298,00*70
+$GPGSV,3,3,12,26,60,276,41,27,19,092,00,28,62,142,37,29,68,247,44*71
+$PGRME,15.4,M,24.5,M,28.9,M*1E
+$GPGLL,6130.034,N,02348.472,E,130201,A*24
+$PGRMZ,325,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPRTE,4,1,c,0,T030,T029,T028,T027,T026,T025,T024,T023,T022*49
+$GPRTE,4,2,c,0,T021,T020,T019,T018,T017,T016,T015,T014,T013*4B
+$GPRTE,4,3,c,0,T012,T011,T010,T009,T008,T007,T006,T005,T004*4B
+$GPRTE,4,4,c,0,T003,T002,T001*4F
+$GPWPL,6016.083,N,02452.500,E,T030*22
+$GPRMC,130201,A,6130.041,N,02348.466,E,032.3,333.8,110805,006.0,E*7D
+$GPRMB,A,1.05,L,T013,T012,6129.236,N,02346.327,E,001.3,231.8,-006.7,V*1B
+$GPGGA,130201,6130.042,N,02348.464,E,1,07,3.7,98.7,M,20.7,M,,*7A
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,3.7,3.7,1.0*3B
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,35,10,14,208,32*71
+$GPGSV,3,2,12,15,13,331,34,18,19,326,36,19,21,034,33,21,04,298,00*70
+$GPGSV,3,3,12,26,60,276,41,27,19,092,00,28,62,142,38,29,68,247,44*7E
+$PGRME,15.2,M,16.6,M,15.2,M*1F
+$GPGLL,6130.047,N,02348.459,E,130201,A*29
+$PGRMZ,323,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T029*2D
+$GPRMC,130203,A,6130.051,N,02348.455,E,032.3,333.8,110805,006.0,E*7E
+$GPRMB,A,1.06,L,T013,T012,6129.236,N,02346.327,E,001.3,231.3,-006.7,V*13
+$GPGGA,130203,6130.053,N,02348.453,E,1,07,3.7,98.4,M,20.7,M,,*7F
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,3.7,3.7,1.0*3B
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,34,10,14,208,31*73
+$GPGSV,3,2,12,15,13,331,33,18,19,326,35,19,21,034,32,21,04,298,00*75
+$GPGSV,3,3,12,26,60,276,40,27,19,092,00,28,62,142,38,29,68,247,42*79
+$PGRME,18.6,M,16.6,M,18.6,M*1F
+$GPGLL,6130.057,N,02348.451,E,130203,A*22
+$PGRMZ,322,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6023.283,N,02430.650,E,T028*2D
+$GPRMC,130203,A,6130.061,N,02348.447,E,031.2,336.6,110805,006.0,E*77
+$GPRMB,A,1.07,L,T013,T012,6129.236,N,02346.327,E,001.3,230.8,-008.4,V*15
+$GPGGA,130203,6130.063,N,02348.446,E,1,07,4.6,97.9,M,20.7,M,,*7C
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,4.6,4.6,1.0*3B
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,34,10,14,208,31*73
+$GPGSV,3,2,12,15,13,331,32,18,19,326,35,19,21,034,32,21,04,298,00*74
+$GPGSV,3,3,12,26,60,276,39,27,19,092,00,28,62,142,39,29,68,247,41*75
+$PGRME,18.6,M,16.6,M,18.6,M*1F
+$GPGLL,6130.068,N,02348.443,E,130205,A*2B
+$PGRMZ,321,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T027*23
+$GPRMC,130206,A,6130.071,N,02348.440,E,029.4,338.2,110805,006.0,E*71
+$GPRMB,A,1.08,L,T013,T012,6129.236,N,02346.327,E,001.3,230.4,-008.9,V*1B
+$GPGGA,130206,6130.073,N,02348.439,E,1,07,5.4,97.8,M,20.7,M,,*72
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,5.4,5.4,1.0*3B
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,33,10,14,208,31*74
+$GPGSV,3,2,12,15,13,331,34,18,19,326,34,19,21,034,32,21,04,298,00*73
+$GPGSV,3,3,12,26,60,276,40,27,19,092,00,28,62,142,39,29,68,247,41*7B
+$PGRME,10.3,M,16.6,M,10.3,M*1F
+$GPGLL,6130.077,N,02348.436,E,130206,A*24
+$PGRMZ,320,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T026*24
+$GPRMC,130206,A,6130.081,N,02348.433,E,028.1,338.7,110805,006.0,E*7B
+$GPRMB,A,1.08,L,T013,T012,6129.236,N,02346.327,E,001.3,229.9,-009.0,V*16
+$GPGGA,130207,6130.082,N,02348.432,E,1,07,2.6,97.6,M,20.7,M,,*7D
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,2.6,2.6,1.0*3B
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,33,10,14,208,31*74
+$GPGSV,3,2,12,15,13,331,35,18,19,326,33,19,21,034,31,21,04,298,00*76
+$GPGSV,3,3,12,26,60,276,39,27,19,092,00,28,62,142,40,29,68,247,43*79
+$PGRME,10.3,M,16.6,M,10.3,M*1F
+$GPGLL,6130.086,N,02348.429,E,130207,A*25
+$PGRMZ,320,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,S,02453.500,E,T025*3B
+$GPRMC,130208,A,6130.090,N,02348.426,E,026.7,337.6,110805,006.0,E*77
+$GPRMB,A,1.09,L,T013,T012,6129.236,N,02346.327,E,001.3,229.6,-008.2,V*1B
+$GPGGA,130208,6130.091,N,02348.425,E,1,07,2.6,97.4,M,20.7,M,,*74
+$GPGSA,A,3,,,08,,15,,19,,26,,28,29,2.6,2.6,1.0*32
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,33,10,14,208,31*74
+$GPGSV,3,2,12,15,13,331,35,18,19,326,33,19,21,034,31,21,04,298,00*76
+$GPGSV,3,3,12,26,60,276,38,27,19,092,00,28,62,142,40,29,68,247,42*79
+$PGRME,12.2,M,19.3,M,14.5,M*14
+$GPGLL,6130.093,N,02348.424,E,130209,A*22
+$PGRMZ,321,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6018.083,N,02453.500,E,T024*28
+$GPRMC,130210,A,6130.096,N,02348.422,E,023.4,338.0,110805,006.0,E*73
+$GPRMB,A,1.10,L,T013,T012,6129.236,N,02346.327,E,001.3,229.3,-007.4,V*1F
+$GPGGA,130210,6130.098,N,02348.421,E,1,06,2.6,97.8,M,20.7,M,,*7D
+$GPGSA,A,3,,,08,,15,,,,26,,28,29,2.6,2.6,1.0*3A
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,33,10,14,208,31*74
+$GPGSV,3,2,12,15,13,331,35,18,19,326,32,19,21,034,31,21,04,298,00*77
+$GPGSV,3,3,12,26,60,276,38,27,19,092,00,28,62,142,39,29,68,247,41*74
+$PGRME,10.3,M,16.6,M,10.3,M*1F
+$GPGLL,6130.100,N,02348.419,E,130210,A*2F
+$PGRMZ,321,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,W,T023*33
+$GPRMC,130210,A,6130.105,N,02348.416,E,021.5,338.5,110805,006.0,E*79
+$GPRMB,A,1.10,L,T013,T012,6129.236,N,02346.327,E,001.3,228.9,-007.1,V*11
+$GPGGA,130210,6130.106,N,02348.415,E,1,05,2.6,97.6,M,20.7,M,,*71
+$GPGSA,A,3,,,08,,15,,,,26,,28,29,2.6,2.6,1.0*3A
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,31,10,14,208,31*76
+$GPGSV,3,2,12,15,13,331,35,18,19,326,31,19,21,034,31,21,04,298,00*74
+$GPGSV,3,3,12,26,60,276,37,27,19,092,00,28,62,142,40,29,68,247,41*75
+$PGRME,10.3,M,16.6,M,10.3,M*1F
+$GPGLL,6130.109,N,02348.412,E,130210,A*2D
+$PGRMZ,320,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02555.500,E,T022*26
+$GPRMC,130210,A,6130.112,N,02348.410,E,021.5,338.5,110805,006.0,E*79
+$GPRMB,A,1.11,L,T013,T012,6129.236,N,02346.327,E,001.3,228.6,-007.1,V*1F
+$GPGGA,130210,6130.113,N,02348.409,E,1,05,2.6,97.5,M,20.7,M,,*7B
+$GPGSA,A,3,,,08,,15,,,,26,,28,29,2.6,2.6,1.0*3A
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,31,10,14,208,31*76
+$GPGSV,3,2,12,15,13,331,36,18,19,326,31,19,21,034,33,21,04,298,00*75
+$GPGSV,3,3,12,26,60,276,36,27,19,092,00,28,62,142,40,29,68,247,40*75
+$PGRME,10.3,M,16.6,M,10.3,M*1F
+$GPGLL,6130.116,N,02348.406,E,130213,A*25
+$PGRMZ,320,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T021*23
+$GPRMC,130213,A,6130.119,N,02348.405,E,020.3,338.4,110805,006.0,E*73
+$GPRMB,A,1.12,L,T013,T012,6129.236,N,02346.327,E,001.3,228.3,-007.1,V*19
+$GPGGA,130213,6130.120,N,02348.404,E,1,05,2.8,98.3,M,20.7,M,,*72
+$GPGSA,A,3,,,08,,15,,19,,26,,28,29,3.3,2.8,1.7*3F
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,31,10,14,208,31*76
+$GPGSV,3,2,12,15,13,331,37,18,19,326,31,19,21,034,36,21,04,297,00*7E
+$GPGSV,3,3,12,26,60,276,36,27,19,092,00,28,62,142,41,29,68,247,40*74
+$PGRME,11.2,M,18.1,M,13.0,M*16
+$GPGLL,6130.123,N,02348.401,E,130213,A*24
+$PGRMZ,323,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6116.083,N,02452.500,E,T020*22
+$GPRMC,130215,A,6130.124,N,02348.402,E,011.8,348.0,110805,006.0,E*76
+$GPRMB,A,1.12,L,T013,T012,6129.236,N,02346.327,E,001.3,228.2,-005.8,V*13
+$GPGGA,130215,6130.124,N,02348.402,E,1,06,2.6,98.3,M,20.7,M,,*7B
+$GPGSA,A,3,,,08,,15,,19,,26,,28,29,2.6,2.6,1.0*32
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,31,10,14,208,31*76
+$GPGSV,3,2,12,15,13,331,36,18,19,326,32,19,21,034,36,21,04,297,00*7C
+$GPGSV,3,3,12,26,60,276,38,27,19,092,00,28,62,142,39,29,68,247,40*75
+$PGRME,10.3,M,16.6,M,10.3,M*1F
+$GPGLL,6130.126,N,02348.401,E,130216,A*24
+$PGRMZ,322,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,S,02452.500,E,T019*34
+$GPRMC,130216,A,6130.127,N,02348.402,E,008.2,347.1,110805,006.0,E*7A
+$GPRMB,A,1.12,L,T013,T012,6129.236,N,02346.327,E,001.3,228.0,-004.0,V*18
+$GPGGA,130216,6130.127,N,02348.401,E,1,06,2.8,98.9,M,20.7,M,,*7C
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,3.2,2.8,1.7*37
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,31,10,14,208,31*76
+$GPGSV,3,2,12,15,13,331,35,18,19,326,31,19,21,034,36,21,04,297,00*7C
+$GPGSV,3,3,12,26,60,276,39,27,19,092,00,28,62,142,38,29,68,247,40*75
+$PGRME,11.2,M,18.2,M,13.0,M*15
+$GPGLL,6130.129,N,02348.401,E,130217,A*2A
+$PGRMZ,324,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,N,02452.500,E,T018*28
+$GPRMC,130217,A,6130.128,N,02348.403,E,005.2,354.8,110805,006.0,E*73
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,227.9,-004.0,V*1F
+$GPGGA,130217,6130.128,N,02348.403,E,1,07,3.1,98.8,M,20.7,M,,*78
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,3.5,3.1,1.0*3F
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,31,10,14,208,31*76
+$GPGSV,3,2,12,15,13,331,35,18,19,326,36,19,21,034,36,21,04,297,00*7B
+$GPGSV,3,3,12,26,60,276,40,27,19,092,00,28,62,142,38,29,68,247,41*7A
+$PGRME,12.3,M,16.6,M,13.9,M*14
+$GPGLL,6130.128,N,02348.404,E,130218,A*21
+$PGRMZ,326,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6013.283,N,02456.650,E,T017*22
+$GPRMC,130219,A,6130.128,N,02348.404,E,002.6,357.7,110805,006.0,E*75
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,228.0,-001.6,V*1A
+$GPGGA,130219,6130.128,N,02348.404,E,1,07,2.8,99.3,M,20.7,M,,*73
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.8,2.8,1.0*3E
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,34,10,14,208,31*73
+$GPGSV,3,2,12,15,13,331,33,18,19,326,39,19,21,034,35,21,04,297,00*71
+$GPGSV,3,3,12,26,60,276,41,27,19,092,37,28,62,142,38,29,68,247,42*7C
+$PGRME,13.0,M,15.8,M,16.7,M*10
+$GPGLL,6130.128,N,02348.405,E,130220,A*2B
+$PGRMZ,327,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T016*21
+$GPRMC,130221,A,6130.127,N,02348.405,E,000.0,348.0,110805,006.0,E*7D
+$GPRMB,A,1.12,L,T013,T012,6129.236,N,02346.327,E,001.3,228.1,,V*1E
+$GPGGA,130221,6130.127,N,02348.405,E,1,08,1.8,100.4,M,20.7,M,,*4C
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.8,1.8,1.0*3E
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,36,10,14,208,31*71
+$GPGSV,3,2,12,15,13,331,33,18,19,326,40,19,21,034,35,21,04,297,00*7F
+$GPGSV,3,3,12,26,60,276,41,27,19,092,38,28,62,142,39,29,68,247,42*72
+$PGRME,8.2,M,11.9,M,14.5,M*2D
+$GPGLL,6130.128,N,02348.406,E,130221,A*29
+$PGRMZ,332,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0000.000,N,00000.000,W,T015*39
+$GPRMC,130221,A,6130.128,N,02348.406,E,000.0,348.0,110805,006.0,E*71
+$GPRMB,A,1.12,L,T013,T012,6129.236,N,02346.327,E,001.3,228.1,,V*1E
+$GPGGA,130221,6130.128,N,02348.406,E,1,08,1.6,101.2,M,20.7,M,,*49
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.6,1.6,1.0*3E
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,37,10,14,208,31*70
+$GPGSV,3,2,12,15,13,331,32,18,19,326,40,19,21,034,35,21,04,297,00*7E
+$GPGSV,3,3,12,26,60,276,41,27,19,092,38,28,62,142,39,29,68,247,42*72
+$PGRME,8.2,M,11.9,M,14.5,M*2D
+$GPGLL,6130.128,N,02348.406,E,130222,A*2A
+$PGRMZ,332,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0009.000,N,02430.650,E,T014*25
+$GPRMC,130223,A,6130.128,N,02348.407,E,000.0,348.0,110805,006.0,E*72
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,228.1,,V*1F
+$GPGGA,130223,6130.128,N,02348.408,E,1,08,1.8,103.0,M,20.7,M,,*4B
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.0,1.8,1.3*36
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,38,10,14,208,31*7F
+$GPGSV,3,2,12,15,13,331,32,18,19,326,41,19,21,034,34,21,04,297,00*7E
+$GPGSV,3,3,12,26,60,276,41,27,19,092,38,28,62,142,39,29,68,247,42*72
+$PGRME,8.2,M,11.9,M,14.5,M*2D
+$GPGLL,6130.128,N,02348.408,E,130224,A*22
+$PGRMZ,338,f,3*13
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.285,N,02430.651,E,T013*23
+$GPRMC,130224,A,6130.128,N,02348.409,E,000.0,348.0,110805,006.0,E*7B
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,228.1,,V*1F
+$GPGGA,130224,6130.128,N,02348.409,E,1,08,1.8,103.8,M,20.7,M,,*45
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.2,1.8,1.5*32
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,38,10,14,208,30*7E
+$GPGSV,3,2,12,15,13,331,31,18,19,326,41,19,21,034,35,21,04,297,00*7C
+$GPGSV,3,3,12,26,60,276,42,27,19,092,38,28,62,142,39,29,68,247,42*71
+$PGRME,8.2,M,11.9,M,14.5,M*2D
+$GPGLL,6130.128,N,02348.409,E,130225,A*22
+$PGRMZ,342,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.236,N,02346.327,E,T012*22
+$GPRMC,130226,A,6130.129,N,02348.409,E,000.0,348.0,110805,006.0,E*78
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,228.1,,V*1F
+$GPGGA,130226,6130.129,N,02348.409,E,1,08,2.0,104.3,M,20.7,M,,*41
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,2.5,2.0,1.7*38
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,38,10,14,208,30*7E
+$GPGSV,3,2,12,15,13,331,30,18,19,326,41,19,21,034,35,21,04,297,00*7D
+$GPGSV,3,3,12,26,60,276,42,27,19,092,38,28,62,142,39,29,68,247,42*71
+$PGRME,8.2,M,11.9,M,14.5,M*2D
+$GPGLL,6130.129,N,02348.410,E,130227,A*29
+$PGRMZ,344,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6114.236,N,02346.327,E,T011*2F
+$GPRMC,130227,A,6130.129,N,02348.411,E,000.0,348.0,110805,006.0,E*70
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,228.1,,V*1F
+$GPGGA,130227,6130.129,N,02348.411,E,1,07,2.0,105.2,M,20.7,M,,*46
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,2.8,2.0,2.0*31
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,39,10,14,208,30*7F
+$GPGSV,3,2,12,15,13,331,30,18,19,326,41,19,21,034,35,21,04,297,00*7D
+$GPGSV,3,3,12,26,60,276,42,27,19,092,38,28,62,142,40,29,68,247,42*7F
+$PGRME,8.2,M,11.9,M,14.5,M*2D
+$GPGLL,6130.129,N,02348.411,E,130228,A*27
+$PGRMZ,345,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6220.236,N,02346.327,E,T010*2A
+$GPRMC,130228,A,6130.129,N,02348.411,E,000.0,348.0,110805,006.0,E*7F
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,228.1,,V*1F
+$GPGGA,130228,6130.129,N,02348.411,E,1,07,1.6,105.7,M,20.7,M,,*49
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,1.6,1.6,1.0*3A
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,38,10,14,208,30*7E
+$GPGSV,3,2,12,15,13,331,30,18,19,326,42,19,21,034,34,21,04,297,31*7D
+$GPGSV,3,3,12,26,60,276,42,27,19,092,38,28,62,142,39,29,68,247,42*71
+$PGRME,14.5,M,18.8,M,23.8,M*16
+$GPGLL,6130.129,N,02348.412,E,130229,A*25
+$PGRMZ,347,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6120.236,N,02346.327,E,T009*21
+$GPRMC,130230,A,6130.129,N,02348.412,E,000.0,348.0,110805,006.0,E*75
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,228.1,,V*1F
+$GPGGA,130230,6130.129,N,02348.412,E,1,07,1.6,106.0,M,20.7,M,,*47
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,1.6,1.6,1.0*3A
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,38,10,14,208,30*7E
+$GPGSV,3,2,12,15,13,331,30,18,19,326,42,19,21,034,34,21,04,297,31*7D
+$GPGSV,3,3,12,26,60,276,41,27,19,092,38,28,62,142,40,29,68,247,42*7C
+$PGRME,14.0,M,15.8,M,21.1,M*15
+$GPGLL,6130.129,N,02348.412,E,130230,A*2D
+$PGRMZ,348,f,3*14
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.234,N,02346.317,E,T008*28
+$GPRMC,130231,A,6130.129,N,02348.413,E,000.0,348.0,110805,006.0,E*75
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,228.1,,V*1F
+$GPGGA,130231,6130.129,N,02348.413,E,1,07,1.8,106.4,M,20.7,M,,*4D
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.0,1.8,1.3*36
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,38,10,14,208,30*7E
+$GPGSV,3,2,12,15,13,331,32,18,19,326,42,19,21,034,35,21,04,297,31*7E
+$GPGSV,3,3,12,26,60,276,42,27,19,092,39,28,62,142,41,29,68,247,43*7E
+$PGRME,8.0,M,10.8,M,13.4,M*29
+$GPGLL,6130.129,N,02348.413,E,130232,A*2E
+$PGRMZ,351,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6157.564,N,02406.158,E,T007*26
+$GPRMC,130232,A,6130.129,N,02348.414,E,000.0,348.0,110805,006.0,E*71
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,228.1,,V*1F
+$GPGGA,130233,6130.129,N,02348.414,E,1,08,1.8,106.8,M,20.7,M,,*4B
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.2,1.8,1.5*32
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,39,10,14,208,31*7E
+$GPGSV,3,2,12,15,13,331,35,18,19,326,43,19,21,034,36,21,04,297,31*7B
+$GPGSV,3,3,12,26,60,276,44,27,19,092,39,28,62,142,42,29,68,247,44*7C
+$PGRME,8.0,M,10.8,M,13.4,M*29
+$GPGLL,6130.129,N,02348.414,E,130233,A*28
+$PGRMZ,352,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6145.919,N,02345.544,E,T006*2B
+$GPRMC,130234,A,6130.129,N,02348.414,E,000.0,348.0,110805,006.0,E*77
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,228.1,,V*1F
+$GPGGA,130234,6130.129,N,02348.414,E,1,08,1.9,107.4,M,20.7,M,,*40
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.3,1.9,1.6*31
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,40,10,14,208,31*70
+$GPGSV,3,2,12,15,13,331,35,18,19,326,43,19,21,034,37,21,04,297,32*79
+$GPGSV,3,3,12,26,60,276,44,27,19,092,39,28,62,142,43,29,68,247,44*7D
+$PGRME,8.0,M,10.8,M,13.4,M*29
+$GPGLL,6130.130,N,02348.415,E,130234,A*26
+$PGRMZ,354,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6130.198,N,02342.702,E,T005*2C
+$GPRMC,130235,A,6130.130,N,02348.415,E,000.0,348.0,110805,006.0,E*7F
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,228.1,,V*1F
+$GPGGA,130235,6130.130,N,02348.415,E,1,08,1.9,108.1,M,20.7,M,,*42
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.3,1.9,1.6*31
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,41,10,14,208,31*71
+$GPGSV,3,2,12,15,13,331,35,18,19,326,43,19,21,034,37,21,04,297,33*78
+$GPGSV,3,3,12,26,60,275,44,27,19,092,39,28,62,142,43,29,68,247,45*7F
+$PGRME,8.0,M,10.8,M,13.4,M*29
+$GPGLL,6130.130,N,02348.416,E,130236,A*27
+$PGRMZ,356,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6216.183,N,02619.685,E,T004*25
+$GPRMC,130236,A,6130.130,N,02348.416,E,000.0,348.0,110805,006.0,E*7F
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,228.2,,V*1C
+$GPGGA,130236,6130.130,N,02348.416,E,1,08,1.9,108.4,M,20.7,M,,*47
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.3,1.9,1.6*31
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,41,10,14,208,32*72
+$GPGSV,3,2,12,15,13,331,35,18,19,326,43,19,21,034,37,21,04,297,34*7F
+$GPGSV,3,3,12,26,60,275,44,27,19,092,39,28,62,142,43,29,68,247,45*7F
+$PGRME,8.0,M,10.8,M,13.4,M*29
+$GPGLL,6130.130,N,02348.416,E,130237,A*26
+$PGRMZ,356,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6215.064,N,02603.837,E,T003*25
+$GPRMC,130237,A,6130.130,N,02348.416,E,000.0,348.0,110805,006.0,E*7E
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,228.2,,V*1C
+$GPGGA,130238,6130.130,N,02348.416,E,1,08,1.9,108.5,M,20.7,M,,*48
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.3,1.9,1.6*31
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,42,10,14,208,32*71
+$GPGSV,3,2,12,15,13,331,36,18,19,326,44,19,21,034,37,21,04,297,35*7A
+$GPGSV,3,3,12,26,60,275,44,27,19,092,40,28,62,142,43,29,68,247,45*71
+$PGRME,8.0,M,10.8,M,13.4,M*29
+$GPGLL,6130.130,N,02348.416,E,130238,A*29
+$PGRMZ,356,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6151.098,N,02510.924,E,T002*26
+$GPRMC,130239,A,6130.130,N,02348.416,E,000.0,348.0,110805,006.0,E*70
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,228.2,,V*1C
+$GPGGA,130239,6130.130,N,02348.417,E,1,08,1.9,108.6,M,20.7,M,,*4B
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.3,1.9,1.6*31
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,41,10,14,208,31*71
+$GPGSV,3,2,12,15,13,331,36,18,19,326,44,19,21,034,37,21,04,297,35*7A
+$GPGSV,3,3,12,26,60,275,44,27,18,092,40,28,62,142,43,29,68,247,46*73
+$PGRME,8.0,M,10.8,M,13.4,M*29
+$GPGLL,6130.130,N,02348.417,E,130240,A*27
+$PGRMZ,357,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.271,N,02346.376,E,T001*27
+$GPRMC,130240,A,6130.130,N,02348.417,E,000.0,348.0,110805,006.0,E*7F
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,228.2,,V*1C
+$GPGGA,130240,6130.130,N,02348.417,E,1,08,1.9,108.7,M,20.7,M,,*44
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.3,1.9,1.6*31
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,42,10,14,208,31*72
+$GPGSV,3,2,12,15,13,331,36,18,19,326,44,19,21,034,37,21,04,297,36*79
+$GPGSV,3,3,12,26,60,275,44,27,18,092,40,28,62,142,43,29,68,247,46*73
+$PGRME,8.0,M,10.8,M,13.4,M*29
+$GPGLL,6130.130,N,02348.417,E,130241,A*26
+$PGRMZ,357,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPRTE,4,1,c,0,T030,T029,T028,T027,T026,T025,T024,T023,T022*49
+$GPRTE,4,2,c,0,T021,T020,T019,T018,T017,T016,T015,T014,T013*4B
+$GPRTE,4,3,c,0,T012,T011,T010,T009,T008,T007,T006,T005,T004*4B
+$GPRTE,4,4,c,0,T003,T002,T001*4F
+$GPWPL,6016.083,N,02452.500,E,T030*22
+$GPRMC,130242,A,6130.130,N,02348.417,E,000.0,348.0,110805,006.0,E*7D
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,228.2,,V*1C
+$GPGGA,130242,6130.130,N,02348.417,E,1,08,1.9,109.0,M,20.7,M,,*40
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.3,1.9,1.6*31
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,42,10,14,208,32*71
+$GPGSV,3,2,12,15,13,331,37,18,19,326,43,19,21,034,38,21,04,297,36*70
+$GPGSV,3,3,12,26,60,275,44,27,18,092,40,28,62,142,43,29,68,247,46*73
+$PGRME,7.9,M,10.8,M,13.4,M*2F
+$GPGLL,6130.130,N,02348.417,E,130243,A*24
+$PGRMZ,358,f,3*15
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T029*2D
+$GPRMC,130243,A,6130.130,N,02348.418,E,000.0,348.0,110805,006.0,E*73
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,228.2,,V*1C
+$GPGGA,130243,6130.130,N,02348.418,E,1,08,1.9,109.1,M,20.7,M,,*4F
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.3,1.9,1.6*31
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,42,10,14,208,32*71
+$GPGSV,3,2,12,15,13,331,37,18,19,326,43,19,21,034,38,21,04,297,36*70
+$GPGSV,3,3,12,26,60,275,44,27,18,092,40,28,63,140,43,29,68,247,46*70
+$PGRME,7.9,M,10.8,M,13.4,M*2F
+$GPGLL,6130.130,N,02348.418,E,130244,A*2C
+$PGRMZ,358,f,3*15
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6023.283,N,02430.650,E,T028*2D
+$GPRMC,130244,A,6130.130,N,02348.418,E,000.0,348.0,110805,006.0,E*74
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,228.2,,V*1C
+$GPGGA,130245,6130.130,N,02348.418,E,1,08,1.9,109.2,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.4,1.9,1.8*38
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,41,10,14,208,31*71
+$GPGSV,3,2,12,15,13,331,36,18,19,326,41,19,21,034,38,21,04,297,35*70
+$GPGSV,3,3,12,26,60,275,44,27,18,092,39,28,63,140,43,29,68,247,45*7D
+$PGRME,8.0,M,10.9,M,13.5,M*29
+$GPGLL,6130.131,N,02348.418,E,130245,A*2C
+$PGRMZ,358,f,3*15
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T027*23
+$GPRMC,130246,A,6130.131,N,02348.418,E,004.4,007.9,110805,006.0,E*76
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,228.1,-003.3,V*1C
+$GPGGA,130246,6130.132,N,02348.419,E,1,08,2.3,109.2,M,20.7,M,,*43
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.9,2.3,1.0*34
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,40,10,14,208,31*70
+$GPGSV,3,2,12,15,13,331,35,18,19,326,41,19,21,034,38,21,04,297,37*71
+$GPGSV,3,3,12,26,60,275,43,27,18,092,39,28,63,140,43,29,68,247,44*7B
+$PGRME,8.5,M,12.2,M,14.9,M*2E
+$GPGLL,6130.133,N,02348.420,E,130246,A*26
+$PGRMZ,359,f,3*14
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T026*24
+$GPRMC,130247,A,6130.134,N,02348.421,E,006.0,013.7,110805,006.0,E*75
+$GPRMB,A,1.13,L,T013,T012,6129.236,N,02346.327,E,001.3,228.1,-005.0,V*19
+$GPGGA,130247,6130.135,N,02348.422,E,1,08,2.4,109.7,M,20.7,M,,*4F
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.1,2.4,1.3*39
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,40,10,14,208,30*71
+$GPGSV,3,2,12,15,13,331,34,18,19,326,42,19,21,034,37,21,04,297,38*73
+$GPGSV,3,3,12,26,60,275,44,27,18,092,39,28,63,140,43,29,69,244,43*79
+$PGRME,9.0,M,12.5,M,15.5,M*20
+$GPGLL,6130.136,N,02348.424,E,130248,A*29
+$PGRMZ,360,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,S,02453.500,E,T025*3B
+$GPRMC,130248,A,6130.136,N,02348.430,E,009.7,055.5,110805,006.0,E*70
+$GPRMB,A,1.14,L,T013,T012,6129.236,N,02346.327,E,001.4,228.1,-009.6,V*13
+$GPGGA,130249,6130.136,N,02348.431,E,1,08,1.6,109.6,M,20.7,M,,*40
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.6,1.6,1.0*3E
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,41,10,14,208,30*70
+$GPGSV,3,2,12,15,13,331,38,18,19,326,42,19,21,034,36,21,04,297,36*70
+$GPGSV,3,3,12,26,60,275,42,27,18,092,37,28,63,140,42,29,69,244,43*70
+$PGRME,7.9,M,10.8,M,13.4,M*2F
+$GPGLL,6130.137,N,02348.433,E,130249,A*2F
+$PGRMZ,360,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6018.083,N,02453.500,E,T024*28
+$GPRMC,130249,A,6130.138,N,02348.441,E,013.1,068.7,110805,006.0,E*78
+$GPRMB,A,1.14,L,T013,T012,6129.236,N,02346.327,E,001.4,228.3,-012.3,V*1E
+$GPGGA,130250,6130.138,N,02348.443,E,1,08,1.6,109.6,M,20.7,M,,*43
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.6,1.6,1.0*3E
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,41,10,14,208,31*71
+$GPGSV,3,2,12,15,13,331,37,18,19,326,41,19,21,034,39,21,04,297,36*73
+$GPGSV,3,3,12,26,60,275,41,27,18,092,38,28,63,140,41,29,69,244,41*7D
+$PGRME,8.0,M,10.9,M,13.5,M*29
+$GPGLL,6130.138,N,02348.452,E,130250,A*2F
+$PGRMZ,359,f,3*14
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,W,T023*33
+$GPRMC,130251,A,6130.138,N,02348.456,E,016.1,078.2,110805,006.0,E*76
+$GPRMB,A,1.14,L,T013,T012,6129.236,N,02346.327,E,001.4,228.5,-014.0,V*1D
+$GPGGA,130251,6130.138,N,02348.458,E,1,08,2.0,109.5,M,20.7,M,,*4E
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.2,2.0,1.2*3E
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,42,10,14,208,31*72
+$GPGSV,3,2,12,15,13,331,36,18,19,326,40,19,21,034,40,21,04,297,36*7D
+$GPGSV,3,3,12,26,60,275,40,27,18,092,38,28,63,140,41,29,69,244,40*7D
+$PGRME,8.0,M,11.0,M,13.6,M*22
+$GPGLL,6130.139,N,02348.466,E,130251,A*28
+$PGRMZ,359,f,3*14
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02555.500,E,T022*26
+$GPRMC,130252,A,6130.139,N,02348.472,E,019.7,082.7,110805,006.0,E*7B
+$GPRMB,A,1.14,L,T013,T012,6129.236,N,02346.327,E,001.4,228.6,-015.9,V*16
+$GPGGA,130252,6130.139,N,02348.475,E,1,08,2.0,109.5,M,20.7,M,,*43
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.4,2.0,1.5*3F
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,42,10,14,208,31*72
+$GPGSV,3,2,12,15,13,331,35,18,19,326,39,19,21,034,40,21,04,297,35*73
+$GPGSV,3,3,12,26,60,275,37,27,18,092,36,28,63,140,40,29,69,244,38*7D
+$PGRME,8.1,M,11.4,M,14.0,M*26
+$GPGLL,6130.139,N,02348.481,E,130252,A*22
+$PGRMZ,359,f,3*14
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T021*23
+$GPRMC,130253,A,6130.140,N,02348.487,E,019.7,082.7,110805,006.0,E*7E
+$GPRMB,A,1.15,L,T013,T012,6129.236,N,02346.327,E,001.4,228.8,-016.4,V*17
+$GPGGA,130253,6130.140,N,02348.489,E,1,08,2.0,109.5,M,20.7,M,,*4F
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.7,2.3,1.0*3A
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,42,10,14,208,31*72
+$GPGSV,3,2,12,15,13,331,35,18,19,326,38,19,21,034,41,21,04,297,34*72
+$GPGSV,3,3,12,26,60,275,37,27,18,092,36,28,63,140,40,29,69,244,38*7D
+$PGRME,8.1,M,11.4,M,14.0,M*26
+$GPGLL,6130.140,N,02348.500,E,130253,A*25
+$PGRMZ,360,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6116.083,N,02452.500,E,T020*22
+$GPRMC,130254,A,6130.141,N,02348.511,E,024.7,082.6,110805,006.0,E*79
+$GPRMB,A,1.15,L,T013,T012,6129.236,N,02346.327,E,001.4,229.1,-020.6,V*18
+$GPGGA,130254,6130.141,N,02348.514,E,1,08,2.0,109.7,M,20.7,M,,*4E
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.0,2.0,1.0*3E
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,42,10,14,208,31*72
+$GPGSV,3,2,12,15,13,331,34,18,19,326,37,19,21,034,42,21,04,297,34*7F
+$GPGSV,3,3,12,26,60,275,36,27,18,092,38,28,63,140,39,29,69,244,39*7D
+$PGRME,8.1,M,11.4,M,14.0,M*26
+$GPGLL,6130.142,N,02348.522,E,130255,A*21
+$PGRMZ,360,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,S,02452.500,E,T019*34
+$GPRMC,130255,A,6130.143,N,02348.532,E,026.0,081.4,110805,006.0,E*7F
+$GPRMB,A,1.15,L,T013,T012,6129.236,N,02346.327,E,001.4,229.3,-020.6,V*1A
+$GPGGA,130255,6130.143,N,02348.535,E,1,08,2.0,109.5,M,20.7,M,,*4C
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.2,2.0,1.3*3F
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,43,10,14,208,31*73
+$GPGSV,3,2,12,15,13,331,34,18,19,326,36,19,21,034,44,21,04,297,34*78
+$GPGSV,3,3,12,26,60,275,36,27,18,092,39,28,63,140,39,29,69,244,39*7C
+$PGRME,8.1,M,11.4,M,14.0,M*26
+$GPGLL,6130.144,N,02348.544,E,130257,A*25
+$PGRMZ,360,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,N,02452.500,E,T018*28
+$GPRMC,130257,A,6130.145,N,02348.553,E,028.2,079.2,110805,006.0,E*71
+$GPRMB,A,1.16,L,T013,T012,6129.236,N,02346.327,E,001.4,229.5,-024.5,V*18
+$GPGGA,130258,6130.145,N,02348.556,E,1,08,2.0,109.8,M,20.7,M,,*4F
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.2,2.1,1.0*3D
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,44,10,14,208,31*74
+$GPGSV,3,2,12,15,13,331,33,18,19,326,38,19,21,034,44,21,04,297,33*76
+$GPGSV,3,3,12,26,60,275,36,27,18,092,40,28,63,140,37,29,69,244,42*70
+$PGRME,8.2,M,11.5,M,14.1,M*25
+$GPGLL,6130.147,N,02348.567,E,130258,A*28
+$PGRMZ,361,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6013.283,N,02456.650,E,T017*22
+$GPRMC,130259,A,6130.148,N,02348.575,E,028.8,077.2,110805,006.0,E*72
+$GPRMB,A,1.17,L,T013,T012,6129.236,N,02346.327,E,001.4,229.7,-025.5,V*1A
+$GPGGA,130259,6130.148,N,02348.578,E,1,08,2.1,110.0,M,20.7,M,,*4E
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,2.2,2.1,1.0*39
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,45,10,14,208,32*76
+$GPGSV,3,2,12,15,13,331,33,18,19,326,37,19,21,034,44,21,04,297,33*79
+$GPGSV,3,3,12,26,60,275,36,27,18,092,39,28,63,140,37,29,69,244,43*7F
+$PGRME,8.3,M,11.9,M,14.5,M*2C
+$GPGLL,6130.149,N,02348.588,E,130259,A*26
+$PGRMZ,361,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T016*21
+$GPRMC,130300,A,6130.150,N,02348.596,E,028.7,076.0,110805,006.0,E*77
+$GPRMB,A,1.17,L,T013,T012,6129.236,N,02346.327,E,001.4,229.9,-025.8,V*19
+$GPGGA,130300,6130.151,N,02348.599,E,1,07,1.9,109.9,M,20.7,M,,*41
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,1.9,1.9,1.0*3A
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,45,10,14,208,32*76
+$GPGSV,3,2,12,15,13,331,33,18,19,326,37,19,21,034,43,21,04,297,32*7F
+$GPGSV,3,3,12,26,60,275,36,27,18,092,38,28,63,140,37,29,69,244,43*7E
+$PGRME,8.4,M,12.2,M,14.8,M*2E
+$GPGLL,6130.152,N,02348.609,E,130301,A*2A
+$PGRMZ,361,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0000.000,N,00000.000,W,T015*39
+$GPRMC,130301,A,6130.153,N,02348.616,E,028.1,075.0,110805,006.0,E*7B
+$GPRMB,A,1.18,L,T013,T012,6129.236,N,02346.327,E,001.4,230.0,-025.5,V*1A
+$GPGGA,130302,6130.154,N,02348.619,E,1,07,1.9,110.0,M,20.7,M,,*4C
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,1.9,1.9,1.0*3A
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,45,10,14,208,32*76
+$GPGSV,3,2,12,15,13,331,31,18,19,326,38,19,21,034,43,21,04,297,00*73
+$GPGSV,3,3,12,26,60,275,36,27,18,092,39,28,63,140,37,29,69,244,44*78
+$PGRME,8.2,M,11.8,M,14.4,M*2D
+$GPGLL,6130.155,N,02348.629,E,130302,A*2C
+$PGRMZ,360,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0009.000,N,02430.650,E,T014*25
+$GPRMC,130303,A,6130.156,N,02348.636,E,027.8,074.8,110805,006.0,E*71
+$GPRMB,A,1.18,L,T013,T012,6129.236,N,02346.327,E,001.4,230.2,-025.2,V*1F
+$GPGGA,130303,6130.157,N,02348.640,E,1,07,2.0,109.8,M,20.7,M,,*48
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,2.1,2.0,1.0*3B
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,45,10,14,208,31*75
+$GPGSV,3,2,12,15,13,331,31,18,19,326,38,19,21,034,43,21,04,297,00*73
+$GPGSV,3,3,12,26,60,275,36,27,18,092,39,28,63,140,37,29,69,244,44*78
+$PGRME,8.3,M,12.1,M,14.7,M*25
+$GPGLL,6130.158,N,02348.648,E,130303,A*27
+$PGRMZ,360,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.285,N,02430.651,E,T013*23
+$GPRMC,130304,A,6130.159,N,02348.656,E,027.4,074.6,110805,006.0,E*7D
+$GPRMB,A,1.19,L,T013,T012,6129.236,N,02346.327,E,001.5,230.3,-025.0,V*1C
+$GPGGA,130304,6130.159,N,02348.658,E,1,07,2.0,110.2,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,2.1,2.0,1.0*3B
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,45,10,14,208,31*75
+$GPGSV,3,2,12,15,13,331,30,18,19,326,38,19,21,034,43,21,04,297,00*72
+$GPGSV,3,3,12,26,60,275,35,27,18,092,38,28,63,140,36,29,69,244,44*7B
+$PGRME,11.3,M,17.3,M,20.7,M*1D
+$GPGLL,6130.160,N,02348.667,E,130304,A*26
+$PGRMZ,361,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.236,N,02346.327,E,T012*22
+$GPRMC,130305,A,6130.161,N,02348.675,E,027.1,074.6,110805,006.0,E*73
+$GPRMB,A,1.19,L,T013,T012,6129.236,N,02346.327,E,001.5,230.5,-024.7,V*1C
+$GPGGA,130305,6130.162,N,02348.678,E,1,07,2.0,110.4,M,20.7,M,,*47
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,2.3,2.0,1.2*3B
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,45,10,14,208,31*75
+$GPGSV,3,2,12,15,13,331,30,18,19,326,35,19,21,034,44,21,04,297,00*78
+$GPGSV,3,3,12,26,60,275,36,27,18,092,39,28,63,140,37,29,69,244,44*78
+$PGRME,8.2,M,11.8,M,14.4,M*2D
+$GPGLL,6130.163,N,02348.687,E,130306,A*29
+$PGRMZ,361,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6114.236,N,02346.327,E,T011*2F
+$GPRMC,130307,A,6130.163,N,02348.688,E,021.0,074.2,110805,006.0,E*72
+$GPRMB,A,1.20,L,T013,T012,6129.236,N,02346.327,E,001.5,230.6,-019.2,V*1E
+$GPGGA,130307,6130.163,N,02348.690,E,1,07,2.3,110.2,M,20.7,M,,*47
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,2.8,2.3,1.3*32
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,45,10,14,208,31*75
+$GPGSV,3,2,12,15,13,331,30,18,19,326,35,19,21,034,44,21,04,297,00*78
+$GPGSV,3,3,12,26,60,275,37,27,18,092,39,28,63,140,38,29,69,244,44*76
+$PGRME,8.3,M,12.1,M,14.7,M*25
+$GPGLL,6130.163,N,02348.690,E,130307,A*2E
+$PGRMZ,359,f,3*14
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6220.236,N,02346.327,E,T010*2A
+$GPRMC,130308,A,6130.164,N,02348.695,E,014.9,075.0,110805,006.0,E*7A
+$GPRMB,A,1.20,L,T013,T012,6129.236,N,02346.327,E,001.5,230.7,-013.5,V*12
+$GPGGA,130308,6130.164,N,02348.696,E,1,07,2.3,109.5,M,20.7,M,,*46
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,3.0,2.3,1.6*3E
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,46,10,14,208,31*76
+$GPGSV,3,2,12,15,13,331,30,18,19,326,37,19,21,034,44,21,04,297,00*7A
+$GPGSV,3,3,12,26,60,275,37,27,18,092,40,28,63,140,38,29,69,244,44*78
+$PGRME,8.2,M,11.8,M,14.4,M*2D
+$GPGLL,6130.164,N,02348.695,E,130308,A*23
+$PGRMZ,359,f,3*14
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6120.236,N,02346.327,E,T009*21
+$GPRMC,130309,A,6130.164,N,02348.694,E,005.3,074.5,110805,006.0,E*74
+$GPRMB,A,1.20,L,T013,T012,6129.236,N,02346.327,E,001.5,230.6,-004.9,V*19
+$GPGGA,130309,6130.164,N,02348.694,E,1,07,2.2,109.4,M,20.7,M,,*45
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,3.1,2.2,1.7*3F
+$GPGSV,3,1,12,03,02,012,00,07,02,153,00,08,50,094,46,10,14,208,31*76
+$GPGSV,3,2,12,15,13,331,30,18,19,326,38,19,21,034,44,21,04,297,00*75
+$GPGSV,3,3,12,26,60,275,37,27,18,092,39,28,63,140,38,29,69,244,44*76
+$PGRME,8.2,M,11.8,M,14.4,M*2D
+$GPGLL,6130.164,N,02348.696,E,130310,A*29
+$PGRMZ,359,f,3*14
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.234,N,02346.317,E,T008*28
+$GPRMC,130310,A,6130.164,N,02348.694,E,002.1,075.9,110805,006.0,E*74
+$GPRMB,A,1.20,L,T013,T012,6129.236,N,02346.327,E,001.5,230.6,-001.9,V*1C
+$GPGGA,130310,6130.164,N,02348.694,E,1,07,1.5,109.3,M,20.7,M,,*4E
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.5,1.5,1.0*3E
+$GPGSV,3,1,12,03,02,011,00,07,02,153,00,08,50,094,46,10,14,208,31*75
+$GPGSV,3,2,12,15,13,331,33,18,19,326,39,19,21,034,43,21,04,297,00*70
+$GPGSV,3,3,12,26,60,275,36,27,18,092,39,28,63,140,37,29,69,244,44*78
+$PGRME,8.0,M,10.9,M,13.5,M*29
+$GPGLL,6130.164,N,02348.694,E,130311,A*2A
+$PGRMZ,358,f,3*15
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6157.564,N,02406.158,E,T007*26
+$GPRMC,130312,A,6130.164,N,02348.694,E,001.3,075.0,110805,006.0,E*7E
+$GPRMB,A,1.20,L,T013,T012,6129.236,N,02346.327,E,001.5,230.7,-001.2,V*16
+$GPGGA,130312,6130.164,N,02348.695,E,1,08,1.5,109.2,M,20.7,M,,*43
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.5,1.5,1.0*3E
+$GPGSV,3,1,12,03,02,011,00,07,02,153,00,08,50,094,46,10,14,208,31*75
+$GPGSV,3,2,12,15,13,331,34,18,19,326,39,19,21,034,44,21,04,297,00*70
+$GPGSV,3,3,12,26,60,275,35,27,18,092,40,28,63,140,37,29,69,244,44*75
+$PGRME,8.0,M,10.9,M,13.5,M*29
+$GPGLL,6130.164,N,02348.694,E,130312,A*29
+$PGRMZ,359,f,3*14
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6145.919,N,02345.544,E,T006*2B
+$GPRMC,130313,A,6130.164,N,02348.694,E,000.0,075.0,110805,006.0,E*7D
+$GPRMB,A,1.20,L,T013,T012,6129.236,N,02346.327,E,001.5,230.6,,V*17
+$GPGGA,130313,6130.164,N,02348.694,E,1,08,1.6,109.2,M,20.7,M,,*40
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.7,1.6,1.2*3D
+$GPGSV,3,1,12,03,02,011,00,07,02,153,00,08,50,094,46,10,14,208,31*75
+$GPGSV,3,2,12,15,13,331,34,18,19,326,40,19,21,034,44,21,04,297,00*7E
+$GPGSV,3,3,12,26,60,275,35,27,18,092,41,28,63,140,38,29,69,244,44*7B
+$PGRME,8.0,M,10.9,M,13.5,M*29
+$GPGLL,6130.164,N,02348.694,E,130314,A*2F
+$PGRMZ,358,f,3*15
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6130.198,N,02342.702,E,T005*2C
+$GPRMC,130314,A,6130.164,N,02348.694,E,000.0,075.0,110805,006.0,E*7A
+$GPRMB,A,1.20,L,T013,T012,6129.236,N,02346.327,E,001.5,230.7,,V*16
+$GPGGA,130315,6130.164,N,02348.694,E,1,08,1.6,109.2,M,20.7,M,,*46
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.7,1.6,1.2*3D
+$GPGSV,3,1,12,03,02,011,00,07,02,153,00,08,50,094,45,10,14,208,31*76
+$GPGSV,3,2,12,15,13,331,35,18,19,326,40,19,21,034,44,21,04,297,00*7F
+$GPGSV,3,3,12,26,60,275,34,27,18,092,41,28,63,140,39,29,69,244,43*7C
+$PGRME,8.1,M,11.2,M,13.8,M*2F
+$GPGLL,6130.163,N,02348.694,E,130315,A*29
+$PGRMZ,357,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6216.183,N,02619.685,E,T004*25
+$GPRMC,130316,A,6130.163,N,02348.694,E,000.0,075.0,110805,006.0,E*7F
+$GPRMB,A,1.20,L,T013,T012,6129.236,N,02346.327,E,001.5,230.7,,V*16
+$GPGGA,130316,6130.163,N,02348.694,E,1,08,1.6,108.9,M,20.7,M,,*48
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.0,1.6,1.4*3F
+$GPGSV,3,1,12,03,02,011,00,07,02,153,00,08,50,094,45,10,14,208,30*77
+$GPGSV,3,2,12,15,13,331,34,18,19,326,40,19,21,034,43,21,04,297,00*79
+$GPGSV,3,3,12,26,60,275,33,27,18,092,41,28,63,140,40,29,69,244,43*75
+$PGRME,8.7,M,11.7,M,14.5,M*26
+$GPGLL,6130.164,N,02348.695,E,130316,A*2C
+$PGRMZ,358,f,3*15
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6215.064,N,02603.837,E,T003*25
+$GPRMC,130317,A,6130.164,N,02348.695,E,000.0,075.0,110805,006.0,E*78
+$GPRMB,A,1.20,L,T013,T012,6129.236,N,02346.327,E,001.5,230.6,,V*17
+$GPGGA,130317,6130.164,N,02348.695,E,1,08,1.9,109.1,M,20.7,M,,*49
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.1,1.9,1.0*35
+$GPGSV,3,1,12,03,02,011,00,07,02,153,00,08,50,094,45,10,14,208,30*77
+$GPGSV,3,2,12,15,13,331,35,18,19,326,41,19,21,034,43,21,04,297,00*79
+$GPGSV,3,3,12,26,60,275,32,27,18,092,41,28,63,140,40,29,69,244,43*74
+$PGRME,8.0,M,10.9,M,13.5,M*29
+$GPGLL,6130.164,N,02348.695,E,130318,A*22
+$PGRMZ,357,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6151.098,N,02510.924,E,T002*26
+$GPRMC,130318,A,6130.164,N,02348.695,E,000.0,075.0,110805,006.0,E*77
+$GPRMB,A,1.20,L,T013,T012,6129.236,N,02346.327,E,001.5,230.7,,V*16
+$GPGGA,130318,6130.164,N,02348.695,E,1,08,1.9,108.6,M,20.7,M,,*40
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.3,1.9,1.2*35
+$GPGSV,3,1,12,03,02,011,00,07,02,153,00,08,50,094,46,10,14,208,31*75
+$GPGSV,3,2,12,15,13,331,35,18,19,326,42,19,21,034,43,21,04,297,00*7A
+$GPGSV,3,3,12,26,60,275,35,27,18,092,40,28,63,140,40,29,69,244,43*72
+$PGRME,7.9,M,10.7,M,13.3,M*27
+$GPGLL,6130.164,N,02348.695,E,130319,A*23
+$PGRMZ,357,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.271,N,02346.376,E,T001*27
+$GPRMC,130319,A,6130.164,N,02348.695,E,000.0,075.0,110805,006.0,E*76
+$GPRMB,A,1.20,L,T013,T012,6129.236,N,02346.327,E,001.5,230.7,,V*16
+$GPGGA,130320,6130.164,N,02348.695,E,1,08,1.9,108.8,M,20.7,M,,*45
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.4,1.9,1.4*34
+$GPGSV,3,1,12,03,02,011,00,07,02,153,00,08,50,094,46,10,14,208,31*75
+$GPGSV,3,2,12,15,13,331,35,18,19,326,42,19,21,034,43,21,04,297,00*7A
+$GPGSV,3,3,12,26,60,275,36,27,18,092,40,28,63,140,40,29,69,244,43*71
+$PGRME,8.7,M,12.2,M,15.0,M*24
+$GPGLL,6130.164,N,02348.695,E,130320,A*29
+$PGRMZ,361,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPRTE,4,1,c,0,T030,T029,T028,T027,T026,T025,T024,T023,T022*49
+$GPRTE,4,2,c,0,T021,T020,T019,T018,T017,T016,T015,T014,T013*4B
+$GPRTE,4,3,c,0,T012,T011,T010,T009,T008,T007,T006,T005,T004*4B
+$GPRTE,4,4,c,0,T003,T002,T001*4F
+$GPWPL,6016.083,N,02452.500,E,T030*22
+$GPRMC,130321,A,6130.164,N,02348.695,E,000.0,075.0,110805,006.0,E*7D
+$GPRMB,A,1.20,L,T013,T012,6129.236,N,02346.327,E,001.5,230.7,,V*16
+$GPGGA,130321,6130.164,N,02348.695,E,1,08,2.4,109.5,M,20.7,M,,*46
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.7,2.4,2.7*38
+$GPGSV,3,1,12,03,02,011,00,07,02,153,00,08,50,094,46,10,14,208,31*75
+$GPGSV,3,2,12,15,13,331,35,18,19,326,42,19,21,034,43,21,04,297,00*7A
+$GPGSV,3,3,12,26,60,275,36,27,18,092,39,28,63,140,40,29,69,244,43*7F
+$PGRME,7.9,M,10.7,M,13.3,M*27
+$GPGLL,6130.164,N,02348.695,E,130322,A*2B
+$PGRMZ,357,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T029*2D
+$GPRMC,130322,A,6130.163,N,02348.695,E,000.0,075.0,110805,006.0,E*79
+$GPRMB,A,1.20,L,T013,T012,6129.236,N,02346.327,E,001.5,230.7,,V*16
+$GPGGA,130323,6130.163,N,02348.695,E,1,08,1.5,108.8,M,20.7,M,,*4D
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.5,1.5,1.0*3E
+$GPGSV,3,1,12,03,02,011,00,07,02,153,00,08,50,094,46,10,14,208,31*75
+$GPGSV,3,2,12,15,13,331,36,18,19,326,42,19,21,034,43,21,04,297,00*79
+$GPGSV,3,3,12,26,60,275,36,27,18,092,39,28,63,140,41,29,69,244,43*7E
+$PGRME,7.9,M,10.7,M,13.3,M*27
+$GPGLL,6130.163,N,02348.695,E,130323,A*2D
+$PGRMZ,355,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6023.283,N,02430.650,E,T028*2D
+$GPRMC,130324,A,6130.163,N,02348.695,E,000.0,075.0,110805,006.0,E*7F
+$GPRMB,A,1.20,L,T013,T012,6129.236,N,02346.327,E,001.5,230.7,,V*16
+$GPGGA,130324,6130.163,N,02348.695,E,1,08,1.6,108.1,M,20.7,M,,*40
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.7,1.6,1.2*3D
+$GPGSV,3,1,12,03,02,011,00,07,02,153,00,08,50,094,46,10,14,208,31*75
+$GPGSV,3,2,12,15,13,331,36,18,19,326,42,19,21,034,43,21,04,297,00*79
+$GPGSV,3,3,12,26,60,275,36,27,18,092,40,28,63,140,41,29,69,244,43*70
+$PGRME,7.9,M,10.7,M,13.3,M*27
+$GPGLL,6130.163,N,02348.696,E,130324,A*29
+$PGRMZ,353,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T027*23
+$GPRMC,130325,A,6130.163,N,02348.696,E,000.0,075.0,110805,006.0,E*7D
+$GPRMB,A,1.20,L,T013,T012,6129.236,N,02346.327,E,001.5,230.7,,V*16
+$GPGGA,130325,6130.164,N,02348.700,E,1,08,1.4,108.0,M,20.7,M,,*48
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.4,1.4,1.0*3E
+$GPGSV,3,1,12,03,02,011,00,07,02,153,00,08,50,094,46,10,14,208,31*75
+$GPGSV,3,2,12,15,13,331,35,18,19,326,42,19,21,034,43,21,04,297,00*7A
+$GPGSV,3,3,12,26,60,275,37,27,18,092,39,28,63,140,41,29,69,244,43*7F
+$PGRME,9.1,M,13.0,M,15.8,M*28
+$GPGLL,6130.164,N,02348.701,E,130326,A*23
+$PGRMZ,354,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T026*24
+$GPRMC,130326,A,6130.165,N,02348.708,E,008.3,074.5,110805,006.0,E*71
+$GPRMB,A,1.20,L,T013,T012,6129.236,N,02346.327,E,001.5,230.8,-007.6,V*1B
+$GPGGA,130327,6130.165,N,02348.708,E,1,08,1.4,108.2,M,20.7,M,,*41
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.4,1.4,1.0*3E
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,50,094,46,10,14,208,31*74
+$GPGSV,3,2,12,15,13,331,34,18,19,326,42,19,21,034,43,21,04,297,00*7B
+$GPGSV,3,3,12,26,60,275,36,27,18,092,40,28,63,140,42,29,69,244,42*72
+$PGRME,8.2,M,11.8,M,14.3,M*2A
+$GPGLL,6130.165,N,02348.711,E,130327,A*22
+$PGRMZ,355,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,S,02453.500,E,T025*3B
+$GPRMC,130327,A,6130.166,N,02348.718,E,011.3,075.0,110805,006.0,E*7E
+$GPRMB,A,1.20,L,T013,T012,6129.236,N,02346.327,E,001.5,230.9,-010.3,V*19
+$GPGGA,130327,6130.166,N,02348.720,E,1,08,1.5,108.1,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.7,1.5,1.2*3E
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,50,094,46,10,14,208,31*74
+$GPGSV,3,2,12,15,13,331,34,18,19,326,41,19,21,034,43,21,04,297,00*78
+$GPGSV,3,3,12,26,60,275,36,27,18,092,40,28,63,140,42,29,69,244,43*73
+$PGRME,7.9,M,10.7,M,13.3,M*27
+$GPGLL,6130.167,N,02348.724,E,130328,A*29
+$PGRMZ,355,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6018.083,N,02453.500,E,T024*28
+$GPRMC,130328,A,6130.167,N,02348.730,E,013.0,074.8,110805,006.0,E*72
+$GPRMB,A,1.20,L,T013,T012,6129.236,N,02346.327,E,001.5,230.9,-010.3,V*19
+$GPGGA,130328,6130.168,N,02348.732,E,1,08,1.5,108.2,M,20.7,M,,*4B
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.5,1.5,1.0*3E
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,50,094,46,10,14,208,31*74
+$GPGSV,3,2,12,15,13,331,33,18,19,326,42,19,21,034,43,21,04,297,00*7C
+$GPGSV,3,3,12,26,60,275,36,27,18,092,40,28,63,140,42,29,69,244,43*73
+$PGRME,7.9,M,10.7,M,13.3,M*27
+$GPGLL,6130.168,N,02348.736,E,130330,A*2C
+$PGRMZ,355,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,W,T023*33
+$GPRMC,130330,A,6130.169,N,02348.745,E,020.5,075.3,110805,006.0,E*78
+$GPRMB,A,1.21,L,T013,T012,6129.236,N,02346.327,E,001.5,231.1,-018.7,V*1D
+$GPGGA,130330,6130.170,N,02348.747,E,1,08,1.5,108.1,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.7,1.5,1.2*3E
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,14,208,31*7D
+$GPGSV,3,2,12,15,13,331,33,18,19,326,41,19,21,034,43,21,04,297,00*7F
+$GPGSV,3,3,12,26,60,275,36,27,18,092,40,28,63,140,41,29,69,244,42*71
+$PGRME,7.9,M,10.7,M,13.3,M*27
+$GPGLL,6130.170,N,02348.754,E,130331,A*20
+$PGRMZ,354,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02555.500,E,T022*26
+$GPRMC,130331,A,6130.171,N,02348.762,E,021.2,075.1,110805,006.0,E*71
+$GPRMB,A,1.21,L,T013,T012,6129.236,N,02346.327,E,001.5,231.2,-018.7,V*1E
+$GPGGA,130331,6130.172,N,02348.764,E,1,08,1.7,108.0,M,20.7,M,,*4B
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.0,1.7,1.5*3F
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,14,208,31*7D
+$GPGSV,3,2,12,15,13,331,33,18,19,326,40,19,21,034,43,21,04,297,00*7E
+$GPGSV,3,3,12,26,60,275,37,27,18,092,40,28,63,140,41,29,69,244,41*73
+$PGRME,7.9,M,10.8,M,13.4,M*2F
+$GPGLL,6130.173,N,02348.771,E,130333,A*26
+$PGRMZ,354,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T021*23
+$GPRMC,130333,A,6130.173,N,02348.777,E,021.2,075.1,110805,006.0,E*75
+$GPRMB,A,1.22,L,T013,T012,6129.236,N,02346.327,E,001.5,231.3,-019.4,V*1E
+$GPGGA,130333,6130.174,N,02348.779,E,1,08,2.0,107.9,M,20.7,M,,*41
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.3,2.0,1.0*3D
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,14,208,31*7D
+$GPGSV,3,2,12,15,13,331,32,18,19,326,39,19,21,034,42,21,04,297,00*70
+$GPGSV,3,3,12,26,60,275,38,27,18,092,40,28,63,140,41,29,69,244,41*7C
+$PGRME,8.0,M,10.9,M,13.5,M*29
+$GPGLL,6130.176,N,02348.792,E,130333,A*2E
+$PGRMZ,354,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6116.083,N,02452.500,E,T020*22
+$GPRMC,130334,A,6130.176,N,02348.798,E,023.5,074.8,110805,006.0,E*7B
+$GPRMB,A,1.22,L,T013,T012,6129.236,N,02346.327,E,001.5,231.5,-021.6,V*11
+$GPGGA,130334,6130.177,N,02348.804,E,1,08,2.1,108.0,M,20.7,M,,*47
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.6,2.1,1.3*3A
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,14,208,31*7D
+$GPGSV,3,2,12,15,13,331,32,18,19,326,40,19,21,034,42,21,04,297,00*7E
+$GPGSV,3,3,12,26,60,275,38,27,18,092,39,28,63,140,40,29,69,244,41*73
+$PGRME,8.0,M,11.5,M,8.6,M*1D
+$GPGLL,6130.178,N,02348.813,E,130335,A*20
+$PGRMZ,354,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,S,02452.500,E,T019*34
+$GPRMC,130335,A,6130.180,N,02348.820,E,025.9,073.8,110805,006.0,E*72
+$GPRMB,A,1.23,L,T013,T012,6129.236,N,02346.327,E,001.5,231.6,-024.0,V*10
+$GPGGA,130336,6130.180,N,02348.823,E,1,08,2.1,107.9,M,20.7,M,,*4E
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.2,2.1,1.0*3D
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,14,208,31*7D
+$GPGSV,3,2,12,15,13,331,32,18,19,326,41,19,21,034,42,21,04,297,00*7F
+$GPGSV,3,3,12,26,60,275,39,27,18,092,39,28,63,140,40,29,69,244,41*72
+$PGRME,8.0,M,11.5,M,9.2,M*18
+$GPGLL,6130.181,N,02348.832,E,130336,A*26
+$PGRMZ,355,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,N,02452.500,E,T018*28
+$GPRMC,130337,A,6130.182,N,02348.840,E,026.1,073.5,110805,006.0,E*72
+$GPRMB,A,1.23,L,T013,T012,6129.236,N,02346.327,E,001.5,231.8,-024.3,V*1D
+$GPGGA,130337,6130.183,N,02348.843,E,1,08,2.1,108.1,M,20.7,M,,*4D
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.4,2.1,1.2*39
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,14,208,31*7D
+$GPGSV,3,2,12,15,13,331,33,18,19,326,41,19,21,034,42,21,04,297,00*7E
+$GPGSV,3,3,12,26,60,275,38,27,18,092,39,28,63,140,40,29,69,244,42*70
+$PGRME,7.9,M,10.7,M,9.6,M*19
+$GPGLL,6130.184,N,02348.852,E,130338,A*2B
+$PGRMZ,355,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6013.283,N,02456.650,E,T017*22
+$GPRMC,130338,A,6130.186,N,02348.861,E,026.8,073.0,110805,006.0,E*76
+$GPRMB,A,1.24,L,T013,T012,6129.236,N,02346.327,E,001.5,231.9,-024.6,V*1E
+$GPGGA,130338,6130.186,N,02348.864,E,1,08,2.0,108.4,M,20.7,M,,*46
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.0,2.0,1.0*3E
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,31*7A
+$GPGSV,3,2,12,15,13,331,32,18,19,326,42,19,21,034,41,21,04,297,00*7F
+$GPGSV,3,3,12,26,60,275,38,27,18,092,37,28,63,140,40,29,69,244,42*7E
+$PGRME,7.9,M,10.7,M,9.6,M*19
+$GPGLL,6130.187,N,02348.872,E,130339,A*2B
+$PGRMZ,356,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T016*21
+$GPRMC,130339,A,6130.188,N,02348.880,E,026.8,073.0,110805,006.0,E*76
+$GPRMB,A,1.24,L,T013,T012,6129.236,N,02346.327,E,001.6,232.0,-025.0,V*10
+$GPGGA,130339,6130.189,N,02348.883,E,1,08,2.1,108.3,M,20.7,M,,*47
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.1,2.1,1.0*3E
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,31*7A
+$GPGSV,3,2,12,15,13,331,32,18,19,326,40,19,21,034,42,21,04,297,00*7E
+$GPGSV,3,3,12,26,60,275,38,27,18,092,36,28,63,140,40,29,69,244,42*7F
+$PGRME,10.0,M,14.0,M,13.9,M*11
+$GPGLL,6130.191,N,02348.893,E,130339,A*23
+$PGRMZ,357,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0000.000,N,00000.000,W,T015*39
+$GPRMC,130341,A,6130.192,N,02348.900,E,027.1,072.8,110805,006.0,E*7A
+$GPRMB,A,1.25,L,T013,T012,6129.236,N,02346.327,E,001.6,232.2,-025.3,V*10
+$GPGGA,130341,6130.192,N,02348.903,E,1,08,2.1,108.8,M,20.7,M,,*40
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.2,2.6,2.0*38
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,13,331,31,18,19,326,41,19,21,034,42,21,04,297,00*7C
+$GPGSV,3,3,12,26,60,275,37,27,18,092,36,28,63,140,40,29,69,244,42*70
+$PGRME,11.6,M,17.1,M,17.7,M*1E
+$GPGLL,6130.194,N,02348.913,E,130341,A*20
+$PGRMZ,357,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0009.000,N,02430.650,E,T014*25
+$GPRMC,130342,A,6130.195,N,02348.921,E,027.5,072.5,110805,006.0,E*74
+$GPRMB,A,1.26,L,T013,T012,6129.236,N,02346.327,E,001.6,232.3,-025.8,V*19
+$GPGGA,130342,6130.195,N,02348.924,E,1,08,2.6,108.7,M,20.7,M,,*49
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,5.4,3.4,4.1*3C
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,13,331,31,18,19,326,39,19,21,034,41,21,04,297,00*70
+$GPGSV,3,3,12,26,60,275,38,27,18,092,33,28,63,140,41,29,69,244,43*7A
+$PGRME,14.9,M,24.4,M,26.0,M*14
+$GPGLL,6130.198,N,02348.934,E,130342,A*2A
+$PGRMZ,368,f,3*16
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.285,N,02430.651,E,T013*23
+$GPRMC,130342,A,6130.199,N,02348.941,E,027.8,072.0,110805,006.0,E*76
+$GPRMB,A,1.26,L,T013,T012,6129.236,N,02346.327,E,001.6,232.4,-026.1,V*14
+$GPGGA,130342,6130.199,N,02348.944,E,1,08,3.4,112.3,M,20.7,M,,*4F
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,5.4,3.4,4.1*3C
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,13,331,31,18,19,326,38,19,21,034,42,21,04,297,00*72
+$GPGSV,3,3,12,26,60,275,38,27,18,092,35,28,63,140,41,29,69,244,43*7C
+$PGRME,14.9,M,24.4,M,26.0,M*14
+$GPGLL,6130.201,N,02348.953,E,130342,A*28
+$PGRMZ,369,f,3*17
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.236,N,02346.327,E,T012*22
+$GPRMC,130342,A,6130.202,N,02348.961,E,027.8,072.0,110805,006.0,E*75
+$GPRMB,A,1.27,L,T013,T012,6129.236,N,02346.327,E,001.6,232.5,-026.1,V*14
+$GPGGA,130342,6130.203,N,02348.964,E,1,08,3.4,112.4,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,5.4,3.4,4.1*3C
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,31*7A
+$GPGSV,3,2,12,15,13,331,31,18,19,326,38,19,21,034,40,21,04,297,00*70
+$GPGSV,3,3,12,26,60,275,38,27,18,092,34,28,63,140,41,29,69,244,43*7D
+$PGRME,14.9,M,24.4,M,26.0,M*14
+$GPGLL,6130.204,N,02348.973,E,130345,A*28
+$PGRMZ,369,f,3*17
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6114.236,N,02346.327,E,T011*2F
+$GPRMC,130345,A,6130.206,N,02348.986,E,032.3,071.9,110805,006.0,E*7A
+$GPRMB,A,1.28,L,T013,T012,6129.236,N,02346.327,E,001.6,232.7,-030.5,V*1A
+$GPGGA,130345,6130.207,N,02348.991,E,1,08,2.4,112.3,M,20.7,M,,*45
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,4.5,2.4,3.8*33
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,32*79
+$GPGSV,3,2,12,15,13,331,31,18,19,326,39,19,21,034,40,21,04,297,00*71
+$GPGSV,3,3,12,26,60,275,36,27,18,092,35,28,63,140,41,29,69,244,44*75
+$PGRME,9.3,M,14.9,M,17.6,M*28
+$GPGLL,6130.209,N,02349.002,E,130347,A*29
+$PGRMZ,369,f,3*17
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6220.236,N,02346.327,E,T010*2A
+$GPRMC,130347,A,6130.210,N,02349.011,E,032.3,071.9,110805,006.0,E*79
+$GPRMB,A,1.28,L,T013,T012,6129.236,N,02346.327,E,001.6,232.8,-030.5,V*15
+$GPGGA,130347,6130.210,N,02349.014,E,1,08,2.4,112.4,M,20.7,M,,*43
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,4.5,2.4,3.8*33
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,31*7A
+$GPGSV,3,2,12,15,13,331,31,18,19,326,39,19,21,034,39,21,04,297,00*7F
+$GPGSV,3,3,12,26,60,275,35,27,18,092,35,28,63,140,41,29,69,244,44*76
+$PGRME,8.2,M,11.8,M,14.3,M*2A
+$GPGLL,6130.211,N,02349.025,E,130347,A*25
+$PGRMZ,366,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6120.236,N,02346.327,E,T009*21
+$GPRMC,130349,A,6130.212,N,02349.033,E,031.3,074.1,110805,006.0,E*7B
+$GPRMB,A,1.29,L,T013,T012,6129.236,N,02346.327,E,001.6,232.9,-029.1,V*19
+$GPGGA,130349,6130.213,N,02349.037,E,1,08,2.1,111.6,M,20.7,M,,*4B
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,3.7,2.1,3.0*3F
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,31*7A
+$GPGSV,3,2,12,15,13,331,31,18,19,326,38,19,21,034,39,21,04,297,00*7E
+$GPGSV,3,3,12,26,60,275,35,27,18,092,34,28,63,140,41,29,69,244,44*77
+$PGRME,8.3,M,12.1,M,14.6,M*24
+$GPGLL,6130.215,N,02349.049,E,130349,A*25
+$PGRMZ,365,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.234,N,02346.317,E,T008*28
+$GPRMC,130350,A,6130.216,N,02349.057,E,032.4,073.2,110805,006.0,E*75
+$GPRMB,A,1.29,L,T013,T012,6129.236,N,02346.327,E,001.6,233.1,-030.4,V*1D
+$GPGGA,130350,6130.217,N,02349.061,E,1,07,2.4,111.5,M,20.7,M,,*4D
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,3.9,2.4,1.0*36
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,32*79
+$GPGSV,3,2,12,15,13,331,31,18,19,326,37,19,21,034,38,21,04,297,00*70
+$GPGSV,3,3,12,26,60,275,37,27,18,092,33,28,63,140,41,29,69,244,44*72
+$PGRME,12.0,M,20.0,M,23.4,M*1A
+$GPGLL,6130.219,N,02349.072,E,130350,A*29
+$PGRMZ,366,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6157.564,N,02406.158,E,T007*26
+$GPRMC,130351,A,6130.220,N,02349.081,E,032.7,072.5,110805,006.0,E*7F
+$GPRMB,A,1.30,L,T013,T012,6129.236,N,02346.327,E,001.6,233.2,-030.8,V*1A
+$GPGGA,130351,6130.221,N,02349.085,E,1,07,2.6,111.4,M,20.7,M,,*40
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,3.9,2.6,1.0*34
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,32*79
+$GPGSV,3,2,12,15,13,331,30,18,19,326,36,19,21,034,37,21,04,297,00*7F
+$GPGSV,3,3,12,26,60,275,37,27,18,092,35,28,63,140,41,29,69,244,44*74
+$PGRME,12.4,M,16.6,M,15.7,M*1B
+$GPGLL,6130.222,N,02349.096,E,130352,A*29
+$PGRMZ,366,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6145.919,N,02345.544,E,T006*2B
+$GPRMC,130352,A,6130.223,N,02349.105,E,032.0,072.3,110805,006.0,E*73
+$GPRMB,A,1.31,L,T013,T012,6129.236,N,02346.327,E,001.7,233.3,-030.9,V*1A
+$GPGGA,130352,6130.224,N,02349.108,E,1,07,2.8,110.9,M,20.7,M,,*40
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,4.0,2.8,1.0*34
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,31*7A
+$GPGSV,3,2,12,15,13,331,30,18,19,326,35,19,21,034,39,21,04,297,00*72
+$GPGSV,3,3,12,26,60,275,37,27,18,092,35,28,63,140,41,29,69,244,44*74
+$PGRME,12.6,M,15.6,M,16.3,M*1D
+$GPGLL,6130.225,N,02349.119,E,130352,A*28
+$PGRMZ,364,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6130.198,N,02342.702,E,T005*2C
+$GPRMC,130354,A,6130.227,N,02349.128,E,032.0,072.3,110805,006.0,E*7E
+$GPRMB,A,1.31,L,T013,T012,6129.236,N,02346.327,E,001.7,233.5,-030.3,V*16
+$GPGGA,130354,6130.227,N,02349.131,E,1,07,2.8,110.9,M,20.7,M,,*4F
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,4.0,2.8,1.0*34
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,31*7A
+$GPGSV,3,2,12,15,13,331,30,18,19,326,35,19,21,034,40,21,04,297,00*7C
+$GPGSV,3,3,12,26,60,275,36,27,18,092,34,28,63,140,41,29,69,244,44*74
+$PGRME,16.4,M,24.2,M,26.0,M*1D
+$GPGLL,6130.229,N,02349.142,E,130354,A*2C
+$PGRMZ,360,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6216.183,N,02619.685,E,T004*25
+$GPRMC,130355,A,6130.230,N,02349.152,E,032.2,072.5,110805,006.0,E*70
+$GPRMB,A,1.32,L,T013,T012,6129.236,N,02346.327,E,001.7,233.6,-030.1,V*14
+$GPGGA,130355,6130.231,N,02349.155,E,1,07,2.1,109.6,M,20.7,M,,*45
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,3.7,2.1,3.0*3F
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,13,331,30,18,19,326,38,19,21,034,41,21,04,297,00*70
+$GPGSV,3,3,12,26,60,275,37,27,18,092,35,28,63,140,40,29,69,244,44*75
+$PGRME,8.3,M,11.8,M,14.4,M*2C
+$GPGLL,6130.232,N,02349.166,E,130356,A*22
+$PGRMZ,360,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6215.064,N,02603.837,E,T003*25
+$GPRMC,130356,A,6130.234,N,02349.175,E,032.5,072.5,110805,006.0,E*75
+$GPRMB,A,1.33,L,T013,T012,6129.236,N,02346.327,E,001.7,233.8,-030.4,V*1E
+$GPGGA,130356,6130.234,N,02349.179,E,1,07,2.1,109.5,M,20.7,M,,*4E
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,2.2,2.1,1.0*39
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,13,331,30,18,19,326,37,19,21,034,42,21,04,297,00*7C
+$GPGSV,3,3,12,26,60,275,38,27,18,092,36,28,63,140,40,29,69,244,44*79
+$PGRME,8.2,M,11.7,M,14.3,M*25
+$GPGLL,6130.236,N,02349.190,E,130357,A*2E
+$PGRMZ,359,f,3*14
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6151.098,N,02510.924,E,T002*26
+$GPRMC,130357,A,6130.237,N,02349.199,E,032.8,072.5,110805,006.0,E*78
+$GPRMB,A,1.33,L,T013,T012,6129.236,N,02346.327,E,001.7,233.9,-031.1,V*1B
+$GPGGA,130358,6130.238,N,02349.203,E,1,07,2.0,109.2,M,20.7,M,,*44
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,2.0,2.0,1.0*3A
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,12,330,30,18,19,326,39,19,21,034,43,21,04,297,00*73
+$GPGSV,3,3,12,26,60,275,38,27,18,092,35,28,63,140,40,29,69,244,44*7A
+$PGRME,9.4,M,14.3,M,17.1,M*22
+$GPGLL,6130.239,N,02349.215,E,130358,A*20
+$PGRMZ,361,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.271,N,02346.376,E,T001*27
+$GPRMC,130358,A,6130.241,N,02349.224,E,032.9,073.2,110805,006.0,E*74
+$GPRMB,A,1.34,L,T013,T012,6129.236,N,02346.327,E,001.7,234.0,-031.1,V*12
+$GPGGA,130359,6130.241,N,02349.227,E,1,07,1.6,110.0,M,20.7,M,,*42
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,1.6,1.6,1.0*3A
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,12,330,30,18,19,326,41,19,21,034,41,21,04,297,00*7E
+$GPGSV,3,3,12,26,60,275,38,27,18,092,35,28,63,140,41,29,69,244,44*7B
+$PGRME,9.4,M,14.3,M,17.1,M*22
+$GPGLL,6130.243,N,02349.238,E,130359,A*23
+$PGRMZ,361,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPRTE,4,1,c,0,T030,T029,T028,T027,T026,T025,T024,T023,T022*49
+$GPRTE,4,2,c,0,T021,T020,T019,T018,T017,T016,T015,T014,T013*4B
+$GPRTE,4,3,c,0,T012,T011,T010,T009,T008,T007,T006,T005,T004*4B
+$GPRTE,4,4,c,0,T003,T002,T001*4F
+$GPWPL,6016.083,N,02452.500,E,T030*22
+$GPRMC,130401,A,6130.245,N,02349.256,E,033.0,073.4,110805,006.0,E*70
+$GPRMB,A,1.35,L,T013,T012,6129.236,N,02346.327,E,001.7,234.2,-031.1,V*11
+$GPGGA,130401,6130.246,N,02349.259,E,1,07,1.9,110.1,M,20.7,M,,*48
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,2.1,1.9,1.3*32
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,12,330,30,18,19,326,40,19,21,034,40,21,04,297,00*7E
+$GPGSV,3,3,12,26,60,275,38,27,18,092,36,28,63,140,41,29,69,244,43*7F
+$PGRME,9.2,M,12.1,M,15.3,M*20
+$GPGLL,6130.247,N,02349.270,E,130402,A*22
+$PGRMZ,361,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T029*2D
+$GPRMC,130402,A,6130.249,N,02349.280,E,033.0,073.4,110805,006.0,E*74
+$GPRMB,A,1.35,L,T013,T012,6129.236,N,02346.327,E,001.7,234.3,-031.1,V*10
+$GPGGA,130402,6130.249,N,02349.283,E,1,07,1.9,110.2,M,20.7,M,,*40
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,2.6,2.3,1.6*39
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,31*7A
+$GPGSV,3,2,12,15,12,330,32,18,19,326,40,19,21,034,39,21,04,297,00*72
+$GPGSV,3,3,12,26,60,275,39,27,18,092,38,28,63,140,42,29,69,244,44*74
+$PGRME,9.7,M,12.5,M,15.8,M*2A
+$GPGLL,6130.251,N,02349.294,E,130402,A*2F
+$PGRMZ,361,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6023.283,N,02430.650,E,T028*2D
+$GPRMC,130402,A,6130.252,N,02349.304,E,032.8,073.2,110805,006.0,E*7C
+$GPRMB,A,1.36,L,T013,T012,6129.236,N,02346.327,E,001.8,234.5,-031.1,V*1A
+$GPGGA,130404,6130.253,N,02349.307,E,1,07,2.3,110.2,M,20.7,M,,*49
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.6,2.3,1.6*3D
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,12,330,31,18,19,326,39,19,21,034,38,21,04,297,00*7E
+$GPGSV,3,3,12,26,60,275,39,27,18,092,38,28,63,140,42,29,69,244,44*74
+$PGRME,10.6,M,12.8,M,16.7,M*12
+$GPGLL,6130.254,N,02349.319,E,130404,A*28
+$PGRMZ,362,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T027*23
+$GPRMC,130405,A,6130.255,N,02349.328,E,033.2,073.8,110805,006.0,E*73
+$GPRMB,A,1.37,L,T013,T012,6129.236,N,02346.327,E,001.8,234.6,-031.3,V*1A
+$GPGGA,130405,6130.256,N,02349.332,E,1,08,2.3,110.5,M,20.7,M,,*43
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.6,2.3,1.6*3D
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,12,330,32,18,19,326,38,19,21,034,39,21,04,297,00*7D
+$GPGSV,3,3,12,26,60,275,39,27,18,092,39,28,63,140,42,29,69,244,43*72
+$PGRME,8.0,M,10.8,M,13.4,M*29
+$GPGLL,6130.257,N,02349.343,E,130405,A*25
+$PGRMZ,363,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T026*24
+$GPRMC,130405,A,6130.259,N,02349.352,E,032.9,073.7,110805,006.0,E*77
+$GPRMB,A,1.37,L,T013,T012,6129.236,N,02346.327,E,001.8,234.7,-031.1,V*19
+$GPGGA,130406,6130.259,N,02349.356,E,1,08,2.3,110.7,M,20.7,M,,*4F
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.6,2.3,1.6*3D
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,12,330,31,18,19,326,37,19,21,034,38,21,04,297,00*70
+$GPGSV,3,3,12,26,60,275,38,27,18,092,39,28,63,140,42,29,69,244,43*73
+$PGRME,9.0,M,11.3,M,14.5,M*24
+$GPGLL,6130.261,N,02349.367,E,130406,A*25
+$PGRMZ,364,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,S,02453.500,E,T025*3B
+$GPRMC,130406,A,6130.262,N,02349.376,E,032.9,073.6,110805,006.0,E*7B
+$GPRMB,A,1.38,L,T013,T012,6129.236,N,02346.327,E,001.8,234.8,-031.1,V*19
+$GPGGA,130408,6130.263,N,02349.380,E,1,08,2.6,110.9,M,20.7,M,,*48
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.9,2.6,1.8*39
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,33*78
+$GPGSV,3,2,12,15,12,330,31,18,19,326,37,19,21,034,39,21,04,297,00*71
+$GPGSV,3,3,12,26,60,275,38,27,18,092,39,28,63,140,42,29,69,244,43*73
+$PGRME,9.1,M,11.6,M,14.8,M*2D
+$GPGLL,6130.264,N,02349.391,E,130408,A*27
+$PGRMZ,364,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6018.083,N,02453.500,E,T024*28
+$GPRMC,130409,A,6130.265,N,02349.400,E,032.6,073.5,110805,006.0,E*79
+$GPRMB,A,1.38,L,T013,T012,6129.236,N,02346.327,E,001.8,235.0,-030.9,V*19
+$GPGGA,130409,6130.266,N,02349.404,E,1,08,2.4,111.0,M,20.7,M,,*4D
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.2,2.4,2.2*38
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,33*78
+$GPGSV,3,2,12,15,12,330,31,18,19,326,36,19,21,034,38,21,04,297,00*71
+$GPGSV,3,3,12,26,60,275,39,27,18,092,39,28,63,140,42,29,69,244,43*72
+$PGRME,9.1,M,11.6,M,14.8,M*2D
+$GPGLL,6130.267,N,02349.414,E,130409,A*2F
+$PGRMZ,364,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,W,T023*33
+$GPRMC,130410,A,6130.269,N,02349.423,E,032.0,073.3,110805,006.0,E*7C
+$GPRMB,A,1.39,L,T013,T012,6129.236,N,02346.327,E,001.8,235.1,-030.4,V*14
+$GPGGA,130410,6130.269,N,02349.427,E,1,08,2.7,111.2,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.6,2.7,2.4*39
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,34*7F
+$GPGSV,3,2,12,15,12,330,31,18,20,325,37,19,21,034,38,21,04,297,00*79
+$GPGSV,3,3,12,26,60,275,38,27,18,092,39,28,63,140,42,29,69,244,43*73
+$PGRME,9.6,M,12.0,M,15.4,M*22
+$GPGLL,6130.270,N,02349.434,E,130410,A*23
+$PGRMZ,365,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02555.500,E,T022*26
+$GPRMC,130411,A,6130.271,N,02349.441,E,027.1,075.5,110805,006.0,E*75
+$GPRMB,A,1.39,L,T013,T012,6129.236,N,02346.327,E,001.8,235.2,-025.4,V*13
+$GPGGA,130412,6130.271,N,02349.444,E,1,08,2.9,111.1,M,20.7,M,,*49
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.9,2.9,2.5*39
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,46,10,13,208,33*79
+$GPGSV,3,2,12,15,12,330,31,18,20,325,35,19,21,034,38,21,04,297,00*7B
+$GPGSV,3,3,12,26,60,275,38,27,18,092,40,28,63,140,43,29,69,244,43*7C
+$PGRME,9.3,M,12.6,M,16.4,M*22
+$GPGLL,6130.272,N,02349.453,E,130412,A*22
+$PGRMZ,364,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T021*23
+$GPRMC,130412,A,6130.273,N,02349.460,E,026.9,076.1,110805,006.0,E*79
+$GPRMB,A,1.40,L,T013,T012,6129.236,N,02346.327,E,001.8,235.3,-025.1,V*19
+$GPGGA,130412,6130.273,N,02349.463,E,1,08,2.4,111.0,M,20.7,M,,*42
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.9,2.4,2.7*36
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,46,10,13,208,33*79
+$GPGSV,3,2,12,15,12,330,31,18,20,325,35,19,21,034,42,21,04,297,00*76
+$GPGSV,3,3,12,26,60,275,37,27,18,092,40,28,63,140,44,29,69,244,43*74
+$PGRME,9.3,M,12.6,M,16.4,M*22
+$GPGLL,6130.274,N,02349.473,E,130413,A*27
+$PGRMZ,364,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6116.083,N,02452.500,E,T020*22
+$GPRMC,130413,A,6130.274,N,02349.477,E,024.5,077.0,110805,006.0,E*77
+$GPRMB,A,1.40,L,T013,T012,6129.236,N,02346.327,E,001.8,235.4,-022.8,V*10
+$GPGGA,130413,6130.275,N,02349.480,E,1,08,2.2,111.1,M,20.7,M,,*4F
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.2,2.2,1.0*3E
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,45,10,13,208,33*7A
+$GPGSV,3,2,12,15,12,330,31,18,20,325,33,19,20,033,43,21,04,297,00*77
+$GPGSV,3,3,12,26,60,275,37,27,18,092,40,28,63,140,44,29,69,244,42*75
+$PGRME,9.4,M,12.9,M,16.7,M*29
+$GPGLL,6130.276,N,02349.488,E,130413,A*21
+$PGRMZ,365,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,S,02452.500,E,T019*34
+$GPRMC,130415,A,6130.276,N,02349.495,E,024.5,077.0,110805,006.0,E*7F
+$GPRMB,A,1.41,L,T013,T012,6129.236,N,02346.327,E,001.8,235.5,-022.8,V*10
+$GPGGA,130415,6130.277,N,02349.498,E,1,08,2.2,111.1,M,20.7,M,,*42
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,2.2,2.2,1.0*3A
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,45,10,13,208,32*7B
+$GPGSV,3,2,12,15,12,330,34,18,20,325,36,19,20,033,45,21,04,297,00*71
+$GPGSV,3,3,12,26,60,275,39,27,18,092,40,28,63,140,44,29,69,244,42*7B
+$PGRME,9.3,M,13.1,M,16.7,M*27
+$GPGLL,6130.278,N,02349.505,E,130415,A*2D
+$PGRMZ,365,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,N,02452.500,E,T018*28
+$GPRMC,130417,A,6130.278,N,02349.512,E,023.9,077.0,110805,006.0,E*76
+$GPRMB,A,1.41,L,T013,T012,6129.236,N,02346.327,E,001.9,235.6,-022.2,V*18
+$GPGGA,130417,6130.279,N,02349.515,E,1,07,2.2,111.2,M,20.7,M,,*46
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,2.7,2.3,1.5*3B
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,45,10,13,208,32*7B
+$GPGSV,3,2,12,15,12,330,36,18,20,325,38,19,20,033,45,21,04,297,00*7D
+$GPGSV,3,3,12,26,60,275,39,27,18,092,40,28,63,140,45,29,69,244,42*7A
+$PGRME,7.9,M,10.6,M,13.2,M*27
+$GPGLL,6130.278,N,02349.512,E,130418,A*26
+$PGRMZ,364,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6013.283,N,02456.650,E,T017*22
+$GPRMC,130418,A,6130.278,N,02349.512,E,012.6,076.7,110805,006.0,E*72
+$GPRMB,A,1.41,L,T013,T012,6129.236,N,02346.327,E,001.9,235.6,-011.8,V*12
+$GPGGA,130418,6130.278,N,02349.514,E,1,07,2.2,111.0,M,20.7,M,,*4B
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.2,2.2,1.0*3E
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,45,10,13,208,31*78
+$GPGSV,3,2,12,15,12,330,38,18,20,325,40,19,20,033,45,21,04,297,00*7C
+$GPGSV,3,3,12,26,60,275,39,27,18,092,40,28,63,140,44,29,69,244,42*7B
+$PGRME,7.9,M,10.6,M,13.2,M*27
+$GPGLL,6130.279,N,02349.518,E,130419,A*2C
+$PGRMZ,364,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T016*21
+$GPRMC,130419,A,6130.279,N,02349.517,E,008.7,075.7,110805,006.0,E*7E
+$GPRMB,A,1.41,L,T013,T012,6129.236,N,02346.327,E,001.9,235.6,-008.2,V*10
+$GPGGA,130419,6130.279,N,02349.518,E,1,08,2.2,110.9,M,20.7,M,,*40
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.2,2.2,1.0*3E
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,45,10,13,208,31*78
+$GPGSV,3,2,12,15,12,330,39,18,20,325,41,19,20,033,45,21,04,297,00*7C
+$GPGSV,3,3,12,26,60,275,39,27,18,092,41,28,63,140,44,29,69,244,42*7A
+$PGRME,7.9,M,10.6,M,13.2,M*27
+$GPGLL,6130.279,N,02349.518,E,130420,A*26
+$PGRMZ,364,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0000.000,N,00000.000,W,T015*39
+$GPRMC,130421,A,6130.279,N,02349.519,E,005.4,075.3,110805,006.0,E*71
+$GPRMB,A,1.41,L,T013,T012,6129.236,N,02346.327,E,001.9,235.6,-005.1,V*1E
+$GPGGA,130421,6130.279,N,02349.520,E,1,08,2.0,111.0,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.4,2.0,1.3*39
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,45,10,13,208,31*78
+$GPGSV,3,2,12,15,12,330,39,18,20,325,41,19,20,033,45,21,04,297,00*7C
+$GPGSV,3,3,12,26,60,275,39,27,18,092,41,28,63,140,44,29,69,244,42*7A
+$PGRME,7.9,M,10.6,M,13.2,M*27
+$GPGLL,6130.279,N,02349.519,E,130421,A*26
+$PGRMZ,364,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0009.000,N,02430.650,E,T014*25
+$GPRMC,130422,A,6130.279,N,02349.519,E,001.4,075.9,110805,006.0,E*7C
+$GPRMB,A,1.41,L,T013,T012,6129.236,N,02346.327,E,001.9,235.6,-002.4,V*1C
+$GPGGA,130422,6130.279,N,02349.519,E,1,08,2.0,110.8,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.4,2.0,1.3*39
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,46,10,13,208,31*7B
+$GPGSV,3,2,12,15,12,330,40,18,20,325,41,19,20,033,44,21,04,297,00*73
+$GPGSV,3,3,12,26,60,275,39,27,18,092,40,28,63,140,44,29,69,244,42*7B
+$PGRME,7.9,M,10.6,M,13.2,M*27
+$GPGLL,6130.279,N,02349.519,E,130423,A*24
+$PGRMZ,363,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.285,N,02430.651,E,T013*23
+$GPRMC,130423,A,6130.279,N,02349.518,E,000.0,076.7,110805,006.0,E*74
+$GPRMB,A,1.41,L,T013,T012,6129.236,N,02346.327,E,001.9,235.6,,V*19
+$GPGGA,130423,6130.279,N,02349.518,E,1,08,2.0,110.6,M,20.7,M,,*44
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.4,2.0,1.3*39
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,12,330,41,18,20,325,42,19,20,033,43,21,03,297,00*71
+$GPGSV,3,3,12,26,60,275,40,27,18,092,41,28,63,140,43,29,69,244,41*70
+$PGRME,7.9,M,10.6,M,13.2,M*27
+$GPGLL,6130.279,N,02349.518,E,130424,A*22
+$PGRMZ,362,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.236,N,02346.327,E,T012*22
+$GPRMC,130425,A,6130.279,N,02349.518,E,000.0,076.7,110805,006.0,E*72
+$GPRMB,A,1.41,L,T013,T012,6129.236,N,02346.327,E,001.9,235.6,,V*19
+$GPGGA,130425,6130.279,N,02349.518,E,1,08,2.0,110.4,M,20.7,M,,*40
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.4,2.0,1.3*39
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,12,330,41,18,20,325,43,19,20,033,42,21,03,297,00*71
+$GPGSV,3,3,12,26,60,275,40,27,18,092,41,28,63,140,43,29,69,244,41*70
+$PGRME,7.9,M,10.6,M,13.2,M*27
+$GPGLL,6130.279,N,02349.518,E,130425,A*23
+$PGRMZ,362,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6114.236,N,02346.327,E,T011*2F
+$GPRMC,130426,A,6130.279,N,02349.518,E,000.0,076.7,110805,006.0,E*71
+$GPRMB,A,1.41,L,T013,T012,6129.236,N,02346.327,E,001.9,235.6,,V*19
+$GPGGA,130426,6130.279,N,02349.518,E,1,08,2.0,110.4,M,20.7,M,,*43
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.1,2.0,2.0*3D
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,12,330,41,18,20,325,43,19,20,033,42,21,03,297,00*71
+$GPGSV,3,3,12,26,60,275,40,27,18,092,41,28,63,140,43,29,69,244,41*70
+$PGRME,7.9,M,10.6,M,13.2,M*27
+$GPGLL,6130.279,N,02349.518,E,130427,A*21
+$PGRMZ,362,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6220.236,N,02346.327,E,T010*2A
+$GPRMC,130427,A,6130.279,N,02349.518,E,000.0,076.7,110805,006.0,E*70
+$GPRMB,A,1.41,L,T013,T012,6129.236,N,02346.327,E,001.9,235.6,,V*19
+$GPGGA,130427,6130.279,N,02349.518,E,1,08,2.0,110.4,M,20.7,M,,*42
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.1,2.0,2.0*3D
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,12,330,41,18,20,325,43,19,20,033,42,21,03,297,00*71
+$GPGSV,3,3,12,26,60,275,41,27,18,092,42,28,63,140,43,29,69,244,41*72
+$PGRME,7.9,M,10.6,M,13.2,M*27
+$GPGLL,6130.279,N,02349.518,E,130428,A*2E
+$PGRMZ,363,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6120.236,N,02346.327,E,T009*21
+$GPRMC,130428,A,6130.279,N,02349.518,E,000.0,076.7,110805,006.0,E*7F
+$GPRMB,A,1.41,L,T013,T012,6129.236,N,02346.327,E,001.9,235.6,,V*19
+$GPGGA,130429,6130.279,N,02349.518,E,1,08,2.0,110.5,M,20.7,M,,*4D
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.1,2.0,2.0*3D
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,12,330,42,18,20,325,43,19,20,033,42,21,03,297,00*72
+$GPGSV,3,3,12,26,60,275,41,27,18,092,41,28,63,140,44,29,69,244,41*76
+$PGRME,7.9,M,10.6,M,13.2,M*27
+$GPGLL,6130.279,N,02349.518,E,130429,A*2F
+$PGRMZ,363,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.234,N,02346.317,E,T008*28
+$GPRMC,130430,A,6130.279,N,02349.518,E,000.0,076.7,110805,006.0,E*76
+$GPRMB,A,1.41,L,T013,T012,6129.236,N,02346.327,E,001.9,235.6,,V*19
+$GPGGA,130430,6130.279,N,02349.518,E,1,08,2.0,110.5,M,20.7,M,,*45
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.1,2.0,2.0*3D
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,12,330,42,18,20,325,43,19,20,033,42,21,03,297,00*72
+$GPGSV,3,3,12,26,60,275,41,27,18,092,41,28,63,140,44,29,69,244,41*76
+$PGRME,7.9,M,10.6,M,13.2,M*27
+$GPGLL,6130.279,N,02349.518,E,130431,A*26
+$PGRMZ,363,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6157.564,N,02406.158,E,T007*26
+$GPRMC,130431,A,6130.279,N,02349.518,E,000.0,076.7,110805,006.0,E*77
+$GPRMB,A,1.41,L,T013,T012,6129.236,N,02346.327,E,001.9,235.6,,V*19
+$GPGGA,130431,6130.279,N,02349.518,E,1,08,2.0,110.3,M,20.7,M,,*42
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.2,2.0,2.1*3F
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,48,10,13,208,30*74
+$GPGSV,3,2,12,15,12,330,41,18,20,325,43,19,20,033,42,21,03,297,00*71
+$GPGSV,3,3,12,26,60,275,40,27,18,092,41,28,63,140,43,29,69,244,41*70
+$PGRME,7.9,M,10.6,M,13.2,M*27
+$GPGLL,6130.279,N,02349.518,E,130432,A*25
+$PGRMZ,362,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6145.919,N,02345.544,E,T006*2B
+$GPRMC,130432,A,6130.279,N,02349.518,E,000.0,076.7,110805,006.0,E*74
+$GPRMB,A,1.41,L,T013,T012,6129.236,N,02346.327,E,001.9,235.6,,V*19
+$GPGGA,130433,6130.279,N,02349.518,E,1,08,2.3,110.2,M,20.7,M,,*42
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.8,2.3,2.7*30
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,12,330,42,18,20,325,44,19,20,033,42,21,03,297,00*75
+$GPGSV,3,3,12,26,60,275,39,27,18,092,42,28,63,140,43,29,69,244,41*7D
+$PGRME,7.9,M,10.6,M,13.2,M*27
+$GPGLL,6130.279,N,02349.518,E,130433,A*24
+$PGRMZ,361,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6130.198,N,02342.702,E,T005*2C
+$GPRMC,130434,A,6130.279,N,02349.518,E,000.0,076.7,110805,006.0,E*72
+$GPRMB,A,1.41,L,T013,T012,6129.236,N,02346.327,E,001.9,235.6,,V*19
+$GPGGA,130434,6130.279,N,02349.518,E,1,08,2.0,110.0,M,20.7,M,,*44
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.4,2.0,2.7*3F
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,12,330,42,18,20,325,44,19,20,033,42,21,03,297,00*75
+$GPGSV,3,3,12,26,60,275,40,27,18,092,42,28,63,140,43,29,69,244,41*73
+$PGRME,7.8,M,10.6,M,13.2,M*26
+$GPGLL,6130.279,N,02349.518,E,130434,A*23
+$PGRMZ,361,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6216.183,N,02619.685,E,T004*25
+$GPRMC,130435,A,6130.279,N,02349.518,E,000.0,076.7,110805,006.0,E*73
+$GPRMB,A,1.41,L,T013,T012,6129.236,N,02346.327,E,001.9,235.6,,V*19
+$GPGGA,130435,6130.279,N,02349.518,E,1,08,2.0,109.9,M,20.7,M,,*44
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.4,2.0,2.7*3F
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,12,330,42,18,20,325,44,19,20,033,42,21,03,297,00*75
+$GPGSV,3,3,12,26,60,275,40,27,18,092,42,28,63,140,43,29,69,244,41*73
+$PGRME,7.8,M,10.6,M,13.2,M*26
+$GPGLL,6130.279,N,02349.518,E,130436,A*21
+$PGRMZ,361,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6215.064,N,02603.837,E,T003*25
+$GPRMC,130436,A,6130.279,N,02349.518,E,000.0,076.7,110805,006.0,E*70
+$GPRMB,A,1.41,L,T013,T012,6129.236,N,02346.327,E,001.9,235.6,,V*19
+$GPGGA,130436,6130.279,N,02349.518,E,1,08,2.0,109.9,M,20.7,M,,*47
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.4,2.0,2.7*3F
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,12,330,42,18,20,325,44,19,20,033,42,21,03,297,00*75
+$GPGSV,3,3,12,26,60,275,40,27,18,092,42,28,63,140,43,29,69,244,42*70
+$PGRME,7.8,M,10.6,M,13.2,M*26
+$GPGLL,6130.279,N,02349.518,E,130437,A*20
+$PGRMZ,361,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6151.098,N,02510.924,E,T002*26
+$GPRMC,130437,A,6130.279,N,02349.518,E,000.0,076.7,110805,006.0,E*71
+$GPRMB,A,1.41,L,T013,T012,6129.236,N,02346.327,E,001.9,235.6,,V*19
+$GPGGA,130438,6130.279,N,02349.518,E,1,08,2.0,109.9,M,20.7,M,,*49
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.4,2.0,2.7*3F
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,12,330,42,18,20,325,44,19,20,033,43,21,03,297,00*74
+$GPGSV,3,3,12,26,60,275,40,27,18,092,42,28,63,140,44,29,69,244,42*77
+$PGRME,7.8,M,10.6,M,13.2,M*26
+$GPGLL,6130.279,N,02349.518,E,130438,A*2F
+$PGRMZ,360,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.271,N,02346.376,E,T001*27
+$GPRMC,130439,A,6130.279,N,02349.520,E,000.0,076.7,110805,006.0,E*74
+$GPRMB,A,1.41,L,T013,T012,6129.236,N,02346.327,E,001.9,235.6,,V*19
+$GPGGA,130439,6130.279,N,02349.520,E,1,08,2.0,109.8,M,20.7,M,,*42
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.4,2.0,2.7*3F
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,47,10,13,208,30*7B
+$GPGSV,3,2,12,15,12,330,41,18,20,325,43,19,20,033,43,21,03,297,00*70
+$GPGSV,3,3,12,26,60,275,41,27,18,092,42,28,63,140,44,29,69,244,42*76
+$PGRME,7.8,M,10.6,M,13.2,M*26
+$GPGLL,6130.279,N,02349.520,E,130439,A*25
+$PGRMZ,360,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPRTE,4,1,c,0,T030,T029,T028,T027,T026,T025,T024,T023,T022*49
+$GPRTE,4,2,c,0,T021,T020,T019,T018,T017,T016,T015,T014,T013*4B
+$GPRTE,4,3,c,0,T012,T011,T010,T009,T008,T007,T006,T005,T004*4B
+$GPRTE,4,4,c,0,T003,T002,T001*4F
+$GPWPL,6016.083,N,02452.500,E,T030*22
+$GPRMC,130441,A,6130.280,N,02349.524,E,000.0,076.7,110805,006.0,E*79
+$GPRMB,A,1.41,L,T013,T012,6129.236,N,02346.327,E,001.9,235.7,,V*18
+$GPGGA,130441,6130.280,N,02349.524,E,1,08,2.2,109.8,M,20.7,M,,*4D
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.8,2.2,3.1*36
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,46,10,13,208,30*7A
+$GPGSV,3,2,12,15,12,330,41,18,20,325,44,19,20,033,41,21,03,297,00*75
+$GPGSV,3,3,12,26,60,275,42,27,18,092,42,28,63,140,44,29,69,244,43*74
+$PGRME,7.8,M,10.6,M,13.2,M*26
+$GPGLL,6130.283,N,02349.531,E,130441,A*2F
+$PGRMZ,361,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T029*2D
+$GPRMC,130442,A,6130.284,N,02349.533,E,009.3,046.0,110805,006.0,E*76
+$GPRMB,A,1.42,L,T013,T012,6129.236,N,02346.327,E,001.9,235.6,-009.2,V*12
+$GPGGA,130442,6130.285,N,02349.531,E,1,08,2.3,110.0,M,20.7,M,,*4E
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.9,2.3,3.2*35
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,45,10,13,208,30*79
+$GPGSV,3,2,12,15,12,330,41,18,20,325,45,19,20,033,40,21,03,297,00*75
+$GPGSV,3,3,12,26,60,275,43,27,18,092,42,28,63,140,44,29,69,244,43*75
+$PGRME,7.8,M,10.6,M,13.2,M*26
+$GPGLL,6130.286,N,02349.533,E,130443,A*2A
+$PGRMZ,361,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6023.283,N,02430.650,E,T028*2D
+$GPRMC,130443,A,6130.289,N,02349.532,E,009.9,013.3,110805,006.0,E*72
+$GPRMB,A,1.42,L,T013,T012,6129.236,N,02346.327,E,001.9,235.5,-008.3,V*11
+$GPGGA,130443,6130.289,N,02349.532,E,1,08,2.4,110.1,M,20.7,M,,*46
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.9,2.4,1.0*33
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,44,10,13,208,30*78
+$GPGSV,3,2,12,15,12,330,41,18,20,325,44,19,20,033,40,21,03,297,00*74
+$GPGSV,3,3,12,26,61,273,44,27,18,092,41,28,63,140,45,29,69,244,43*77
+$PGRME,7.8,M,10.5,M,13.1,M*26
+$GPGLL,6130.291,N,02349.533,E,130444,A*2B
+$PGRMZ,361,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T027*23
+$GPRMC,130444,A,6130.292,N,02349.532,E,009.4,359.8,110805,006.0,E*74
+$GPRMB,A,1.43,L,T013,T012,6129.236,N,02346.327,E,001.9,235.4,-007.3,V*1E
+$GPGGA,130444,6130.293,N,02349.532,E,1,08,2.1,110.1,M,20.7,M,,*4F
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.0,2.1,1.2*3C
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,42,10,13,208,30*7E
+$GPGSV,3,2,12,15,12,330,39,18,20,325,42,19,20,033,40,21,03,297,00*7D
+$GPGSV,3,3,12,26,61,273,46,27,18,092,40,28,63,140,43,29,69,244,44*75
+$PGRME,7.9,M,10.6,M,13.2,M*27
+$GPGLL,6130.294,N,02349.532,E,130445,A*2E
+$PGRMZ,361,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T026*24
+$GPRMC,130445,A,6130.296,N,02349.532,E,009.4,359.8,110805,006.0,E*71
+$GPRMB,A,1.43,L,T013,T012,6129.236,N,02346.327,E,001.9,235.3,-005.3,V*1B
+$GPGGA,130445,6130.297,N,02349.531,E,1,08,2.1,110.0,M,20.7,M,,*48
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.1,2.1,1.4*3B
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,42,10,13,208,30*7E
+$GPGSV,3,2,12,15,12,330,38,18,20,325,41,19,20,033,41,21,03,297,00*7E
+$GPGSV,3,3,12,26,61,273,46,27,18,092,41,28,63,140,43,29,69,244,45*75
+$PGRME,8.0,M,10.9,M,13.5,M*29
+$GPGLL,6130.298,N,02349.530,E,130445,A*20
+$PGRMZ,360,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,S,02453.500,E,T025*3B
+$GPRMC,130447,A,6130.300,N,02349.530,E,010.7,353.3,110805,006.0,E*75
+$GPRMB,A,1.43,L,T013,T012,6129.236,N,02346.327,E,001.9,235.2,-005.0,V*19
+$GPGGA,130447,6130.300,N,02349.530,E,1,08,2.1,109.8,M,20.7,M,,*44
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.5,2.3,1.9*30
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,41,10,13,208,30*7D
+$GPGSV,3,2,12,15,12,330,38,18,20,325,41,19,20,033,42,21,03,297,00*7D
+$GPGSV,3,3,12,26,61,273,47,27,18,093,40,28,63,140,42,29,69,244,46*76
+$PGRME,8.8,M,12.3,M,15.1,M*2B
+$GPGLL,6130.303,N,02349.529,E,130447,A*29
+$PGRMZ,359,f,3*14
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6018.083,N,02453.500,E,T024*28
+$GPRMC,130448,A,6130.307,N,02349.526,E,016.7,346.5,110805,006.0,E*7E
+$GPRMB,A,1.44,L,T013,T012,6129.236,N,02346.327,E,001.9,235.0,-006.1,V*1E
+$GPGGA,130448,6130.307,N,02349.525,E,1,08,1.4,109.2,M,20.7,M,,*44
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.4,1.4,1.0*3E
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,40,10,13,208,30*7C
+$GPGSV,3,2,12,15,12,330,36,18,20,325,40,19,20,033,43,21,03,297,00*73
+$GPGSV,3,3,12,26,61,273,47,27,18,093,38,28,63,140,43,29,69,244,46*78
+$PGRME,10.0,M,14.6,M,17.7,M*1D
+$GPGLL,6130.310,N,02349.524,E,130449,A*28
+$PGRMZ,358,f,3*15
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,W,T023*33
+$GPRMC,130449,A,6130.313,N,02349.523,E,017.7,346.3,110805,006.0,E*78
+$GPRMB,A,1.45,L,T013,T012,6129.236,N,02346.327,E,001.9,234.8,-006.5,V*12
+$GPGGA,130449,6130.314,N,02349.522,E,1,08,1.8,109.0,M,20.7,M,,*4E
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.3,1.8,1.8*3E
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,41,10,13,208,30*7D
+$GPGSV,3,2,12,15,12,330,35,18,20,325,40,19,20,033,42,21,03,297,00*71
+$GPGSV,3,3,12,26,61,273,48,27,18,093,38,28,63,140,43,29,69,244,46*77
+$PGRME,10.0,M,14.6,M,17.7,M*1D
+$GPGLL,6130.317,N,02349.521,E,130450,A*22
+$PGRMZ,358,f,3*15
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02555.500,E,T022*26
+$GPRMC,130450,A,6130.318,N,02349.519,E,016.5,344.3,110805,006.0,E*73
+$GPRMB,A,1.45,L,T013,T012,6129.236,N,02346.327,E,001.9,234.6,-006.5,V*1C
+$GPGGA,130450,6130.319,N,02349.518,E,1,08,2.9,107.8,M,20.7,M,,*46
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,5.0,2.9,4.2*37
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,41,10,13,208,30*7D
+$GPGSV,3,2,12,15,12,330,34,18,20,325,39,19,20,033,41,21,03,297,00*7D
+$GPGSV,3,3,12,26,61,273,48,27,18,093,37,28,63,138,43,29,69,244,46*77
+$PGRME,14.3,M,23.8,M,27.9,M*1D
+$GPGLL,6130.322,N,02349.517,E,130451,A*20
+$PGRMZ,350,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T021*23
+$GPRMC,130452,A,6130.325,N,02349.516,E,017.4,346.9,110805,006.0,E*78
+$GPRMB,A,1.46,L,T013,T012,6129.236,N,02346.327,E,001.9,234.4,-006.3,V*1B
+$GPGGA,130452,6130.326,N,02349.516,E,1,08,1.6,108.0,M,20.7,M,,*4D
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.6,1.6,1.0*3E
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,41,10,13,208,30*7D
+$GPGSV,3,2,12,15,12,330,33,18,20,325,37,19,20,033,43,21,03,297,00*76
+$GPGSV,3,3,12,26,61,273,48,27,18,093,36,28,63,138,41,29,69,244,46*74
+$PGRME,14.9,M,25.0,M,29.2,M*1C
+$GPGLL,6130.329,N,02349.515,E,130453,A*2B
+$PGRMZ,354,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6116.083,N,02452.500,E,T020*22
+$GPRMC,130453,A,6130.331,N,02349.513,E,017.4,346.9,110805,006.0,E*79
+$GPRMB,A,1.46,L,T013,T012,6129.236,N,02346.327,E,001.9,234.3,-006.7,V*18
+$GPGGA,130453,6130.332,N,02349.513,E,1,08,1.6,107.9,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.6,1.6,1.0*3E
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,41,10,13,208,30*7D
+$GPGSV,3,2,12,15,12,330,33,18,20,325,36,19,20,033,44,21,03,297,00*70
+$GPGSV,3,3,12,26,61,273,48,27,18,093,35,28,63,138,41,29,69,244,47*76
+$PGRME,18.8,M,33.2,M,38.3,M*15
+$GPGLL,6130.335,N,02349.512,E,130453,A*21
+$PGRMZ,349,f,3*15
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,S,02452.500,E,T019*34
+$GPRMC,130455,A,6130.337,N,02349.511,E,017.3,347.8,110805,006.0,E*7C
+$GPRMB,A,1.47,L,T013,T012,6129.236,N,02346.327,E,001.9,234.1,-007.0,V*1D
+$GPGGA,130455,6130.338,N,02349.510,E,1,08,2.8,106.3,M,20.7,M,,*43
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,4.5,2.8,3.6*31
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,41,10,13,208,31*7C
+$GPGSV,3,2,12,15,12,330,33,18,20,325,36,19,20,033,44,21,03,297,00*70
+$GPGSV,3,3,12,26,61,273,47,27,18,093,35,28,63,138,40,29,69,241,47*7D
+$PGRME,18.8,M,33.2,M,38.3,M*15
+$GPGLL,6130.340,N,02349.508,E,130455,A*2E
+$PGRMZ,340,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,N,02452.500,E,T018*28
+$GPRMC,130456,A,6130.343,N,02349.507,E,017.7,346.0,110805,006.0,E*76
+$GPRMB,A,1.47,L,T013,T012,6129.236,N,02346.327,E,001.9,233.9,-006.6,V*15
+$GPGGA,130456,6130.343,N,02349.507,E,1,08,2.9,103.3,M,20.7,M,,*4E
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,4.8,2.9,3.8*36
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,40,10,13,208,31*7D
+$GPGSV,3,2,12,15,12,330,33,18,20,325,35,19,20,033,44,21,03,297,00*73
+$GPGSV,3,3,12,26,61,273,47,27,18,093,34,28,63,138,39,29,69,241,47*72
+$PGRME,16.6,M,25.5,M,30.4,M*1A
+$GPGLL,6130.346,N,02349.505,E,130457,A*27
+$PGRMZ,339,f,3*12
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6013.283,N,02456.650,E,T017*22
+$GPRMC,130457,A,6130.349,N,02349.504,E,017.7,346.0,110805,006.0,E*7E
+$GPRMB,A,1.48,L,T013,T012,6129.236,N,02346.327,E,001.9,233.7,-006.6,V*14
+$GPGGA,130457,6130.350,N,02349.503,E,1,07,2.9,103.2,M,20.7,M,,*47
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,5.0,3.0,4.1*39
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,39,10,13,208,31*73
+$GPGSV,3,2,12,15,12,330,35,18,20,325,37,19,20,033,43,21,03,297,00*70
+$GPGSV,3,3,12,26,61,273,47,27,18,093,32,28,63,138,39,29,69,241,47*74
+$PGRME,15.9,M,25.0,M,29.6,M*19
+$GPGLL,6130.352,N,02349.502,E,130457,A*25
+$PGRMZ,337,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T016*21
+$GPRMC,130458,A,6130.354,N,02349.500,E,017.3,345.0,110805,006.0,E*7E
+$GPRMB,A,1.48,L,T013,T012,6129.236,N,02346.327,E,001.9,233.6,-006.6,V*15
+$GPGGA,130458,6130.355,N,02349.500,E,1,07,3.3,102.5,M,20.7,M,,*43
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,5.1,3.3,1.0*3F
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,38,10,13,208,30*73
+$GPGSV,3,2,12,15,12,330,37,18,20,325,36,19,20,033,43,21,03,297,00*73
+$GPGSV,3,3,12,26,61,273,47,27,18,093,35,28,63,138,40,29,69,241,47*7D
+$PGRME,8.6,M,11.8,M,14.6,M*2B
+$GPGLL,6130.357,N,02349.495,E,130459,A*21
+$PGRMZ,337,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0000.000,N,00000.000,W,T015*39
+$GPRMC,130500,A,6130.359,N,02349.493,E,015.0,328.3,110805,006.0,E*7D
+$GPRMB,A,1.49,L,T013,T012,6129.236,N,02346.327,E,001.9,233.4,-001.3,V*14
+$GPGGA,130500,6130.360,N,02349.492,E,1,07,2.5,102.6,M,20.7,M,,*47
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.9,2.5,1.0*33
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,38,10,13,208,30*73
+$GPGSV,3,2,12,15,12,330,37,18,20,325,38,19,20,033,43,21,03,297,00*7D
+$GPGSV,3,3,12,26,61,273,47,27,18,093,35,28,63,138,40,29,69,241,47*7D
+$PGRME,9.3,M,13.2,M,16.1,M*22
+$GPGLL,6130.361,N,02349.486,E,130500,A*2B
+$PGRMZ,336,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0009.000,N,02430.650,E,T014*25
+$GPRMC,130500,A,6130.363,N,02349.483,E,015.8,318.5,110805,006.0,E*78
+$GPRMB,A,1.49,L,T013,T012,6129.236,N,02346.327,E,001.9,233.2,001.3,V*3F
+$GPGGA,130501,6130.363,N,02349.481,E,1,08,2.5,102.4,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.9,2.5,1.0*33
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,37,10,13,208,30*7C
+$GPGSV,3,2,12,15,12,330,37,18,20,325,40,19,20,033,43,21,03,297,00*72
+$GPGSV,3,3,12,26,61,273,48,27,18,093,34,28,63,138,41,29,69,241,49*7C
+$PGRME,10.0,M,14.4,M,17.6,M*1E
+$GPGLL,6130.363,N,02349.472,E,130501,A*23
+$PGRMZ,335,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.285,N,02430.651,E,T013*23
+$GPRMC,130502,A,6130.365,N,02349.468,E,016.5,305.6,110805,006.0,E*78
+$GPRMB,A,1.49,L,T013,T012,6129.236,N,02346.327,E,001.9,233.0,005.0,V*3A
+$GPGGA,130502,6130.365,N,02349.467,E,1,08,2.5,102.2,M,20.7,M,,*41
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.9,2.5,1.0*33
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,37,10,13,208,30*7C
+$GPGSV,3,2,12,15,12,330,36,18,20,325,40,19,20,033,43,21,03,297,00*73
+$GPGSV,3,3,12,26,61,273,48,27,18,093,33,28,63,138,41,29,69,241,49*7B
+$PGRME,8.4,M,11.5,M,14.3,M*21
+$GPGLL,6130.365,N,02349.458,E,130502,A*2E
+$PGRMZ,336,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.236,N,02346.327,E,T012*22
+$GPRMC,130504,A,6130.366,N,02349.453,E,017.7,290.6,110805,006.0,E*7B
+$GPRMB,A,1.49,L,T013,T012,6129.236,N,02346.327,E,001.9,232.9,009.5,V*3B
+$GPGGA,130504,6130.367,N,02349.452,E,1,08,2.3,102.2,M,20.7,M,,*45
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,4.0,2.3,1.7*3C
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,36,10,13,208,30*7D
+$GPGSV,3,2,12,15,12,330,35,18,20,325,41,19,20,033,43,21,03,297,00*71
+$GPGSV,3,3,12,26,61,273,49,27,18,093,33,28,63,138,42,29,69,241,49*79
+$PGRME,9.2,M,12.9,M,15.9,M*22
+$GPGLL,6130.368,N,02349.447,E,130505,A*2A
+$PGRMZ,335,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6114.236,N,02346.327,E,T011*2F
+$GPRMC,130505,A,6130.369,N,02349.444,E,015.2,299.1,110805,006.0,E*7A
+$GPRMB,A,1.49,L,T013,T012,6129.236,N,02346.327,E,001.9,232.7,006.1,V*3E
+$GPGGA,130505,6130.370,N,02349.444,E,1,08,2.5,102.2,M,20.7,M,,*43
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,4.4,2.5,2.2*38
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,37,10,13,208,31*7D
+$GPGSV,3,2,12,15,12,330,39,18,20,325,39,19,20,033,42,21,03,297,00*73
+$GPGSV,3,3,12,26,61,273,48,27,18,093,32,28,63,138,42,29,69,241,48*78
+$PGRME,9.9,M,14.2,M,17.3,M*2C
+$GPGLL,6130.372,N,02349.441,E,130505,A*27
+$PGRMZ,335,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6220.236,N,02346.327,E,T010*2A
+$GPRMC,130506,A,6130.376,N,02349.443,E,015.8,336.9,110805,006.0,E*76
+$GPRMB,A,1.50,L,T013,T012,6129.236,N,02346.327,E,001.9,232.5,-003.9,V*14
+$GPGGA,130507,6130.377,N,02349.442,E,1,08,2.5,102.2,M,20.7,M,,*40
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.5,2.5,1.0*3E
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,37,10,13,208,31*7D
+$GPGSV,3,2,12,15,12,330,39,18,20,325,39,19,20,033,42,21,03,297,00*73
+$GPGSV,3,3,12,26,61,273,48,27,18,093,32,28,63,138,41,29,69,241,48*7B
+$PGRME,8.4,M,11.5,M,14.3,M*21
+$GPGLL,6130.381,N,02349.441,E,130507,A*29
+$PGRMZ,335,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6120.236,N,02346.327,E,T009*21
+$GPRMC,130508,A,6130.383,N,02349.440,E,016.9,342.9,110805,006.0,E*70
+$GPRMB,A,1.50,L,T013,T012,6129.236,N,02346.327,E,001.9,232.3,-005.9,V*14
+$GPGGA,130508,6130.384,N,02349.439,E,1,08,2.5,102.0,M,20.7,M,,*4D
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.5,2.5,1.0*3E
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,37,10,13,208,30*7C
+$GPGSV,3,2,12,15,12,330,38,18,20,325,38,19,20,033,43,21,03,297,00*72
+$GPGSV,3,3,12,26,61,273,48,27,18,093,33,28,63,138,41,29,69,241,48*7A
+$PGRME,8.4,M,11.5,M,14.3,M*21
+$GPGLL,6130.386,N,02349.438,E,130508,A*2F
+$PGRMZ,334,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.234,N,02346.317,E,T008*28
+$GPRMC,130508,A,6130.390,N,02349.437,E,017.9,344.9,110805,006.0,E*75
+$GPRMB,A,1.51,L,T013,T012,6129.236,N,02346.327,E,001.9,232.2,-006.9,V*17
+$GPGGA,130509,6130.391,N,02349.436,E,1,08,1.9,101.9,M,20.7,M,,*42
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,1.9,1.9,1.0*3E
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,36,10,13,208,31*7C
+$GPGSV,3,2,12,15,12,330,38,18,20,325,37,19,20,033,42,21,03,297,00*7C
+$GPGSV,3,3,12,26,61,273,48,27,18,093,32,28,63,138,41,29,69,241,48*7B
+$PGRME,7.8,M,10.5,M,13.1,M*26
+$GPGLL,6130.394,N,02349.435,E,130509,A*20
+$PGRMZ,335,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6157.564,N,02406.158,E,T007*26
+$GPRMC,130509,A,6130.397,N,02349.434,E,018.8,348.0,110805,006.0,E*7B
+$GPRMB,A,1.52,L,T013,T012,6129.236,N,02346.327,E,001.9,232.0,-008.2,V*13
+$GPGGA,130511,6130.398,N,02349.434,E,1,08,2.2,102.2,M,20.7,M,,*40
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.5,2.2,1.5*3C
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,36,10,13,208,32*7F
+$GPGSV,3,2,12,15,12,330,37,18,20,325,36,19,20,033,41,21,03,297,00*71
+$GPGSV,3,3,12,26,61,273,48,27,18,093,35,28,63,138,41,29,69,241,48*7C
+$PGRME,9.7,M,12.3,M,15.8,M*2C
+$GPGLL,6130.401,N,02349.433,E,130511,A*24
+$PGRMZ,336,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6145.919,N,02345.544,E,T006*2B
+$GPRMC,130512,A,6130.404,N,02349.432,E,018.7,349.0,110805,006.0,E*74
+$GPRMB,A,1.52,L,T013,T012,6129.236,N,02346.327,E,001.9,231.8,-008.5,V*1F
+$GPGGA,130512,6130.405,N,02349.431,E,1,08,2.4,102.5,M,20.7,M,,*44
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.9,2.4,1.8*3B
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,36,10,13,208,33*7E
+$GPGSV,3,2,12,15,12,330,36,18,20,325,35,19,20,033,40,21,03,297,00*72
+$GPGSV,3,3,12,26,61,273,48,27,18,093,36,28,63,138,41,29,69,241,48*7F
+$PGRME,10.2,M,12.7,M,16.3,M*1D
+$GPGLL,6130.408,N,02349.430,E,130512,A*2D
+$PGRMZ,338,f,3*13
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6130.198,N,02342.702,E,T005*2C
+$GPRMC,130513,A,6130.410,N,02349.429,E,018.6,349.4,110805,006.0,E*7F
+$GPRMB,A,1.53,L,T013,T012,6129.236,N,02346.327,E,001.9,231.6,-008.6,V*13
+$GPGGA,130513,6130.411,N,02349.429,E,1,08,2.5,103.0,M,20.7,M,,*4C
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.1,2.5,2.0*38
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,37,10,13,208,33*7F
+$GPGSV,3,2,12,15,12,330,36,18,20,325,34,19,20,033,40,21,03,297,00*73
+$GPGSV,3,3,12,26,61,273,48,27,18,093,35,28,63,138,40,29,69,241,47*72
+$PGRME,10.2,M,12.7,M,16.3,M*1D
+$GPGLL,6130.414,N,02349.428,E,130513,A*28
+$PGRMZ,338,f,3*13
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6216.183,N,02619.685,E,T004*25
+$GPRMC,130513,A,6130.417,N,02349.427,E,018.6,349.4,110805,006.0,E*76
+$GPRMB,A,1.53,L,T013,T012,6129.236,N,02346.327,E,001.9,231.4,-008.6,V*11
+$GPGGA,130513,6130.418,N,02349.426,E,1,08,2.5,103.0,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.1,2.5,2.0*38
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,36,10,13,208,32*7F
+$GPGSV,3,2,12,15,12,330,35,18,20,325,34,19,20,033,38,21,03,297,00*7F
+$GPGSV,3,3,12,26,61,273,47,27,18,093,34,28,63,138,40,29,69,241,47*7C
+$PGRME,11.2,M,15.0,M,18.8,M*19
+$GPGLL,6130.420,N,02349.425,E,130513,A*22
+$PGRMZ,332,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6215.064,N,02603.837,E,T003*25
+$GPRMC,130513,A,6130.422,N,02349.424,E,017.9,349.6,110805,006.0,E*71
+$GPRMB,A,1.54,L,T013,T012,6129.236,N,02346.327,E,001.9,231.3,-008.5,V*12
+$GPGGA,130513,6130.423,N,02349.424,E,1,08,2.8,101.1,M,20.7,M,,*4E
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.9,2.8,2.7*3A
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,35,10,13,208,32*7C
+$GPGSV,3,2,12,15,12,330,34,18,20,325,34,19,20,033,38,21,03,297,00*7E
+$GPGSV,3,3,12,26,61,273,48,27,18,093,34,28,63,138,41,29,69,241,47*72
+$PGRME,11.2,M,15.0,M,18.8,M*19
+$GPGLL,6130.427,N,02349.423,E,130513,A*23
+$PGRMZ,332,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6151.098,N,02510.924,E,T002*26
+$GPRMC,130516,A,6130.429,N,02349.422,E,017.9,349.6,110805,006.0,E*79
+$GPRMB,A,1.55,L,T013,T012,6129.236,N,02346.327,E,001.9,231.1,-008.5,V*11
+$GPGGA,130516,6130.430,N,02349.421,E,1,08,2.8,101.2,M,20.7,M,,*4F
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.9,2.8,2.7*3A
+$GPGSV,3,1,12,03,02,011,00,07,03,153,00,08,49,094,35,10,13,208,34*7A
+$GPGSV,3,2,12,15,12,330,34,18,20,325,33,19,20,033,37,21,03,297,00*76
+$GPGSV,3,3,12,26,61,273,47,27,18,093,34,28,63,138,41,29,69,241,47*7D
+$PGRME,11.7,M,15.1,M,16.2,M*19
+$GPGLL,6130.433,N,02349.420,E,130516,A*20
+$PGRMZ,332,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.271,N,02346.376,E,T001*27
+$GPRMC,130516,A,6130.435,N,02349.420,E,018.2,351.1,110805,006.0,E*7C
+$GPRMB,A,1.55,L,T013,T012,6129.236,N,02346.327,E,001.9,230.9,-009.1,V*1D
+$GPGGA,130516,6130.437,N,02349.419,E,1,08,2.9,101.2,M,20.7,M,,*42
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.9,2.9,1.0*3F
+$GPGSV,3,1,12,03,01,011,00,07,03,153,00,08,49,094,34,10,13,208,32*7E
+$GPGSV,3,2,12,15,12,330,33,18,20,325,33,19,20,033,36,21,03,297,00*70
+$GPGSV,3,3,12,26,61,273,48,27,18,093,33,28,63,138,42,29,69,241,48*79
+$PGRME,11.7,M,15.1,M,16.2,M*19
+$GPGLL,6130.440,N,02349.418,E,130518,A*21
+$PGRMZ,332,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPRTE,4,1,c,0,T030,T029,T028,T027,T026,T025,T024,T023,T022*49
+$GPRTE,4,2,c,0,T021,T020,T019,T018,T017,T016,T015,T014,T013*4B
+$GPRTE,4,3,c,0,T012,T011,T010,T009,T008,T007,T006,T005,T004*4B
+$GPRTE,4,4,c,0,T003,T002,T001*4F
+$GPWPL,6016.083,N,02452.500,E,T030*22
+$GPRMC,130520,A,6130.440,N,02349.404,E,016.3,318.7,110805,006.0,E*79
+$GPRMB,A,1.55,L,T013,T012,6129.236,N,02346.327,E,001.9,230.7,000.6,V*30
+$GPGGA,130520,6130.440,N,02349.403,E,1,08,3.0,101.2,M,20.7,M,,*44
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,3.9,3.0,1.0*33
+$GPGSV,3,1,12,03,01,011,00,07,03,153,00,08,49,094,34,10,13,208,32*7E
+$GPGSV,3,2,12,15,12,330,33,18,20,325,32,19,20,033,35,21,03,297,00*72
+$GPGSV,3,3,12,26,61,273,48,27,18,093,34,28,63,138,42,29,69,241,48*7E
+$PGRME,11.7,M,15.1,M,16.2,M*19
+$GPGLL,6130.443,N,02349.398,E,130520,A*26
+$PGRMZ,332,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T029*2D
+$GPRMC,130520,A,6130.439,N,02349.388,E,017.1,284.5,110805,006.0,E*71
+$GPRMB,A,1.55,L,T013,T012,6129.236,N,02346.327,E,001.9,230.5,010.1,V*34
+$GPGGA,130520,6130.440,N,02349.385,E,1,07,4.6,101.6,M,20.7,M,,*47
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,6.0,4.6,2.6*3B
+$GPGSV,3,1,12,03,01,011,00,07,03,153,00,08,49,094,34,10,13,208,31*7D
+$GPGSV,3,2,12,15,12,330,32,18,20,325,38,19,20,033,34,21,03,297,00*78
+$GPGSV,3,3,12,26,61,273,48,27,18,093,33,28,63,138,43,29,69,241,48*78
+$PGRME,13.9,M,15.4,M,20.8,M*1F
+$GPGLL,6130.442,N,02349.381,E,130522,A*2D
+$PGRMZ,341,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6023.283,N,02430.650,E,T028*2D
+$GPRMC,130522,A,6130.443,N,02349.377,E,015.5,297.9,110805,006.0,E*76
+$GPRMB,A,1.55,L,T013,T012,6129.236,N,02346.327,E,001.9,230.4,005.9,V*39
+$GPGGA,130522,6130.443,N,02349.375,E,1,07,3.6,104.2,M,20.7,M,,*4F
+$GPGSA,A,3,,,08,,,18,,,26,27,28,29,5.3,3.6,2.7*35
+$GPGSV,3,1,12,03,01,011,00,07,03,153,00,08,49,094,32,10,13,208,31*7B
+$GPGSV,3,2,12,15,12,330,34,18,20,325,39,19,20,033,34,21,03,297,00*7F
+$GPGSV,3,3,12,26,61,273,47,27,18,093,32,28,63,138,42,29,69,241,48*77
+$PGRME,13.9,M,15.4,M,20.8,M*1F
+$GPGLL,6130.444,N,02349.370,E,130523,A*24
+$PGRMZ,342,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T027*23
+$GPRMC,130523,A,6130.442,N,02349.364,E,015.3,287.7,110805,006.0,E*7D
+$GPRMB,A,1.55,L,T013,T012,6129.236,N,02346.327,E,001.9,230.2,005.9,V*3F
+$GPGGA,130523,6130.443,N,02349.363,E,1,06,2.7,104.4,M,20.7,M,,*4E
+$GPGSA,A,3,,,08,,15,18,,,26,27,28,29,2.7,2.7,1.0*36
+$GPGSV,3,1,12,03,01,011,00,07,03,153,00,08,49,094,32,10,13,208,31*7B
+$GPGSV,3,2,12,15,12,330,34,18,20,325,42,19,20,033,33,21,03,297,00*74
+$GPGSV,3,3,12,26,61,273,48,27,18,093,33,28,63,138,42,29,69,241,48*79
+$PGRME,18.2,M,20.8,M,27.6,M*1C
+$GPGLL,6130.443,N,02349.358,E,130525,A*2F
+$PGRMZ,343,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T026*24
+$GPRMC,130525,A,6130.443,N,02349.353,E,015.0,277.5,110805,006.0,E*70
+$GPRMB,A,1.55,L,T013,T012,6129.236,N,02346.327,E,001.9,230.1,010.1,V*30
+$GPGGA,130526,6130.443,N,02349.351,E,1,07,3.5,105.3,M,20.7,M,,*4E
+$GPGSA,A,3,,,08,,15,18,,,26,27,28,29,4.0,3.5,2.0*37
+$GPGSV,3,1,12,03,01,011,00,07,03,153,00,08,49,094,32,10,13,208,33*79
+$GPGSV,3,2,12,15,12,330,33,18,20,325,42,19,20,033,33,21,03,297,00*73
+$GPGSV,3,3,12,26,61,273,48,27,18,093,33,28,63,138,42,29,69,241,48*79
+$PGRME,20.7,M,23.3,M,31.2,M*19
+$GPGLL,6130.444,N,02349.347,E,130526,A*25
+$PGRMZ,349,f,3*15
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,S,02453.500,E,T025*3B
+$GPRMC,130526,A,6130.444,N,02349.343,E,014.6,277.2,110805,006.0,E*75
+$GPRMB,A,1.55,L,T013,T012,6129.236,N,02346.327,E,001.9,230.0,009.9,V*31
+$GPGGA,130526,6130.444,N,02349.341,E,1,07,2.7,106.4,M,20.7,M,,*4F
+$GPGSA,A,3,,,08,,15,18,,,26,27,28,29,2.7,2.7,1.0*36
+$GPGSV,3,1,12,03,01,011,00,07,03,153,00,08,49,094,31,10,13,208,32*7B
+$GPGSV,3,2,12,15,12,330,33,18,20,325,41,19,20,033,32,21,03,297,00*71
+$GPGSV,3,3,12,26,61,273,49,27,18,093,35,28,63,138,42,29,69,241,48*7E
+$PGRME,23.1,M,26.0,M,34.8,M*15
+$GPGLL,6130.444,N,02349.336,E,130527,A*22
+$PGRMZ,349,f,3*15
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6018.083,N,02453.500,E,T024*28
+$GPRMC,130527,A,6130.445,N,02349.332,E,014.4,278.0,110805,006.0,E*7C
+$GPRMB,A,1.55,L,T013,T012,6129.236,N,02346.327,E,001.9,229.9,009.9,V*30
+$GPGGA,130527,6130.445,N,02349.330,E,1,07,3.6,107.6,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,15,18,,,26,27,28,29,4.1,3.6,2.1*34
+$GPGSV,3,1,12,03,01,011,00,07,03,153,00,08,49,094,31,10,13,208,32*7B
+$GPGSV,3,2,12,15,12,330,35,18,20,325,41,19,20,033,34,21,03,297,00*71
+$GPGSV,3,3,12,26,61,273,49,27,18,093,35,28,63,138,43,29,69,241,48*7F
+$PGRME,23.1,M,26.0,M,34.8,M*15
+$GPGLL,6130.445,N,02349.325,E,130529,A*2F
+$PGRMZ,353,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,W,T023*33
+$GPRMC,130530,A,6130.444,N,02349.322,E,014.2,276.5,110805,006.0,E*77
+$GPRMB,A,1.55,L,T013,T012,6129.236,N,02346.327,E,001.9,229.8,009.7,V*3F
+$GPGGA,130530,6130.444,N,02349.320,E,1,07,2.7,107.4,M,20.7,M,,*4E
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,2.7,2.7,1.0*3E
+$GPGSV,3,1,12,03,01,011,00,07,03,153,00,08,49,094,30,10,13,208,32*7A
+$GPGSV,3,2,12,15,12,330,36,18,20,325,41,19,20,033,35,21,03,297,00*73
+$GPGSV,3,3,12,26,61,273,49,27,18,093,35,28,63,138,43,29,69,241,48*7F
+$PGRME,8.4,M,11.4,M,14.2,M*21
+$GPGLL,6130.444,N,02349.316,E,130530,A*26
+$PGRMZ,352,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02555.500,E,T022*26
+$GPRMC,130531,A,6130.444,N,02349.312,E,013.5,275.6,110805,006.0,E*75
+$GPRMB,A,1.55,L,T013,T012,6129.236,N,02346.327,E,001.9,229.7,009.4,V*33
+$GPGGA,130531,6130.444,N,02349.311,E,1,08,2.9,107.2,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.2,2.9,1.5*31
+$GPGSV,3,1,12,03,01,011,00,07,03,153,00,08,49,094,30,10,13,208,31*79
+$GPGSV,3,2,12,15,12,330,36,18,20,325,42,19,20,033,35,21,03,297,00*70
+$GPGSV,3,3,12,26,61,273,49,27,18,093,36,28,63,138,44,29,69,241,48*7B
+$PGRME,11.8,M,14.9,M,19.0,M*12
+$GPGLL,6130.445,N,02349.307,E,130531,A*26
+$PGRMZ,354,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T021*23
+$GPRMC,130532,A,6130.445,N,02349.303,E,012.6,279.7,110805,006.0,E*78
+$GPRMB,A,1.55,L,T013,T012,6129.236,N,02346.327,E,001.9,229.6,008.1,V*36
+$GPGGA,130532,6130.445,N,02349.302,E,1,08,3.6,108.0,M,20.7,M,,*49
+$GPGSA,A,3,,,,,15,18,19,,26,27,28,29,4.4,3.6,2.5*35
+$GPGSV,3,1,12,03,01,011,00,07,03,153,00,08,49,094,30,10,13,208,30*78
+$GPGSV,3,2,12,15,12,330,35,18,20,325,41,19,20,033,38,21,03,297,00*7D
+$GPGSV,3,3,12,26,61,273,49,27,18,093,35,28,63,138,44,29,69,241,48*78
+$PGRME,12.8,M,17.1,M,21.4,M*15
+$GPGLL,6130.445,N,02349.297,E,130532,A*2D
+$PGRMZ,352,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6116.083,N,02452.500,E,T020*22
+$GPRMC,130533,A,6130.446,N,02349.297,E,007.4,308.1,110805,006.0,E*71
+$GPRMB,A,1.55,L,T013,T012,6129.236,N,02346.327,E,001.9,229.5,001.5,V*38
+$GPGGA,130533,6130.446,N,02349.297,E,1,07,2.1,108.1,M,20.7,M,,*4E
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.6,2.1,3.0*3A
+$GPGSV,3,1,12,03,01,011,00,07,03,153,37,08,49,094,38,10,13,208,30*74
+$GPGSV,3,2,12,15,12,330,34,18,20,325,40,19,20,033,42,21,03,297,00*70
+$GPGSV,3,3,12,26,61,273,36,27,18,093,35,28,63,138,44,29,69,241,46*7E
+$PGRME,8.2,M,11.6,M,14.2,M*25
+$GPGLL,6130.447,N,02349.295,E,130534,A*2B
+$PGRMZ,355,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,S,02452.500,E,T019*34
+$GPRMC,130534,A,6130.447,N,02349.291,E,009.5,302.6,110805,006.0,E*73
+$GPRMB,A,1.55,L,T013,T012,6129.236,N,02346.327,E,001.9,229.5,002.8,V*36
+$GPGGA,130534,6130.448,N,02349.290,E,1,08,3.4,107.8,M,20.7,M,,*4D
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,6.6,3.4,5.7*3A
+$GPGSV,3,1,12,03,01,011,00,07,04,152,36,08,49,094,39,10,13,208,30*72
+$GPGSV,3,2,12,15,12,330,33,18,20,325,41,19,20,033,42,21,03,297,00*76
+$GPGSV,3,3,12,26,61,273,41,27,18,093,34,28,63,138,43,29,69,241,47*79
+$PGRME,14.2,M,23.8,M,27.8,M*1D
+$GPGLL,6130.449,N,02349.287,E,130535,A*27
+$PGRMZ,349,f,3*15
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,N,02452.500,E,T018*28
+$GPRMC,130535,A,6130.449,N,02349.284,E,011.0,302.4,110805,006.0,E*76
+$GPRMB,A,1.55,L,T013,T012,6129.236,N,02346.327,E,001.9,229.3,003.2,V*3B
+$GPGGA,130536,6130.449,N,02349.282,E,1,08,3.6,106.3,M,20.7,M,,*45
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,7.0,3.6,6.0*3B
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,49,094,38,10,13,208,30*76
+$GPGSV,3,2,12,15,12,330,35,18,20,325,41,19,20,033,41,21,03,297,00*73
+$GPGSV,3,3,12,26,61,273,44,27,18,093,36,28,63,138,42,29,69,241,48*70
+$PGRME,8.4,M,11.4,M,14.2,M*21
+$GPGLL,6130.451,N,02349.278,E,130536,A*2D
+$PGRMZ,350,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6013.283,N,02456.650,E,T017*22
+$GPRMC,130536,A,6130.452,N,02349.275,E,013.0,306.4,110805,006.0,E*77
+$GPRMB,A,1.55,L,T013,T012,6129.236,N,02346.327,E,001.9,229.2,002.9,V*30
+$GPGGA,130536,6130.453,N,02349.274,E,1,08,2.1,106.6,M,20.7,M,,*44
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,3.6,2.1,2.9*32
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,49,094,38,10,13,208,30*76
+$GPGSV,3,2,12,15,12,330,37,18,20,325,40,19,20,033,40,21,03,297,00*71
+$GPGSV,3,3,12,26,61,273,46,27,18,093,37,28,63,138,42,29,69,241,48*73
+$PGRME,8.4,M,11.4,M,14.2,M*21
+$GPGLL,6130.454,N,02349.270,E,130538,A*2E
+$PGRMZ,350,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T016*21
+$GPRMC,130538,A,6130.455,N,02349.267,E,013.0,306.4,110805,006.0,E*7D
+$GPRMB,A,1.55,L,T013,T012,6129.236,N,02346.327,E,001.9,229.0,002.9,V*32
+$GPGGA,130538,6130.455,N,02349.266,E,1,08,2.6,106.6,M,20.7,M,,*48
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,4.4,2.6,3.6*3E
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,38,10,13,208,30*77
+$GPGSV,3,2,12,15,12,330,36,18,20,325,40,19,20,033,39,21,03,297,00*7E
+$GPGSV,3,3,12,26,61,273,46,27,18,093,36,28,63,138,43,29,69,241,48*73
+$PGRME,10.3,M,14.1,M,17.5,M*1B
+$GPGLL,6130.457,N,02349.264,E,130538,A*28
+$PGRMZ,349,f,3*15
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0000.000,N,00000.000,W,T015*39
+$GPRMC,130538,A,6130.459,N,02349.261,E,012.6,317.4,110805,006.0,E*70
+$GPRMB,A,1.55,L,T013,T012,6129.236,N,02346.327,E,001.9,228.9,000.3,V*32
+$GPGGA,130540,6130.459,N,02349.260,E,1,08,2.6,106.3,M,20.7,M,,*48
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,4.4,2.6,3.6*3E
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,37,10,13,208,30*78
+$GPGSV,3,2,12,15,12,330,37,18,20,325,39,19,20,033,38,21,03,297,00*70
+$GPGSV,3,3,12,26,61,273,46,27,18,093,36,28,63,138,43,29,69,241,48*73
+$PGRME,14.8,M,19.3,M,24.4,M*1A
+$GPGLL,6130.462,N,02349.260,E,130540,A*25
+$PGRMZ,357,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0009.000,N,02430.650,E,T014*25
+$GPRMC,130541,A,6130.464,N,02349.259,E,012.4,333.3,110805,006.0,E*78
+$GPRMB,A,1.56,L,T013,T012,6129.236,N,02346.327,E,001.9,228.7,-003.1,V*13
+$GPGGA,130541,6130.465,N,02349.258,E,1,08,4.8,110.1,M,20.7,M,,*40
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,7.8,4.8,6.1*3B
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,35,10,13,208,30*7A
+$GPGSV,3,2,12,15,12,330,37,18,20,325,41,19,20,033,37,21,03,297,00*70
+$GPGSV,3,3,12,26,61,273,47,27,18,093,35,28,63,138,41,29,69,241,47*7C
+$PGRME,14.8,M,19.3,M,24.4,M*1A
+$GPGLL,6130.467,N,02349.256,E,130542,A*27
+$PGRMZ,361,f,3*1F
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.285,N,02430.651,E,T013*23
+$GPRMC,130542,A,6130.469,N,02349.254,E,013.1,333.8,110805,006.0,E*74
+$GPRMB,A,1.56,L,T013,T012,6129.236,N,02346.327,E,001.9,228.6,-003.1,V*12
+$GPGGA,130542,6130.469,N,02349.253,E,1,08,5.3,110.2,M,20.7,M,,*4D
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,8.0,5.3,1.0*30
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,35,10,13,208,30*7A
+$GPGSV,3,2,12,15,12,330,37,18,20,325,41,19,20,033,36,21,03,297,00*71
+$GPGSV,3,3,12,26,61,273,47,27,18,093,34,28,63,138,41,29,69,241,46*7C
+$PGRME,17.3,M,16.6,M,26.0,M*1E
+$GPGLL,6130.471,N,02349.251,E,130542,A*27
+$PGRMZ,362,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.236,N,02346.327,E,T012*22
+$GPRMC,130544,A,6130.473,N,02349.250,E,013.1,333.8,110805,006.0,E*7D
+$GPRMB,A,1.57,L,T013,T012,6129.236,N,02346.327,E,001.9,228.5,-003.4,V*15
+$GPGGA,130544,6130.473,N,02349.249,E,1,08,5.3,110.2,M,20.7,M,,*4B
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,8.0,5.3,1.0*30
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,35,10,13,208,30*7A
+$GPGSV,3,2,12,15,12,330,36,18,20,325,40,19,20,033,36,21,03,297,00*71
+$GPGSV,3,3,12,26,61,273,46,27,18,093,34,28,63,138,41,29,69,241,47*7C
+$PGRME,16.4,M,16.6,M,16.4,M*1F
+$GPGLL,6130.475,N,02349.247,E,130544,A*22
+$PGRMZ,362,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6114.236,N,02346.327,E,T011*2F
+$GPRMC,130544,A,6130.477,N,02349.246,E,013.5,337.1,110805,006.0,E*77
+$GPRMB,A,1.57,L,T013,T012,6129.236,N,02346.327,E,001.9,228.3,-004.3,V*13
+$GPGGA,130544,6130.478,N,02349.245,E,1,08,4.0,110.2,M,20.7,M,,*4E
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,4.0,4.0,1.0*3E
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,34,10,13,208,30*7B
+$GPGSV,3,2,12,15,12,330,35,18,20,325,39,19,20,033,35,21,03,297,00*7F
+$GPGSV,3,3,12,26,61,273,46,27,18,093,33,28,63,138,39,29,69,241,46*75
+$PGRME,16.4,M,16.6,M,16.4,M*1F
+$GPGLL,6130.480,N,02349.244,E,130546,A*29
+$PGRMZ,362,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6220.236,N,02346.327,E,T010*2A
+$GPRMC,130546,A,6130.482,N,02349.242,E,013.5,337.1,110805,006.0,E*7B
+$GPRMB,A,1.57,L,T013,T012,6129.236,N,02346.327,E,001.9,228.2,-004.3,V*12
+$GPGGA,130546,6130.483,N,02349.242,E,1,08,4.0,110.2,M,20.7,M,,*4F
+$GPGSA,A,3,,,08,,15,18,,,26,,28,29,4.0,4.0,1.0*33
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,34,10,12,208,30*7A
+$GPGSV,3,2,12,15,12,330,34,18,20,325,39,19,20,033,39,21,03,297,00*72
+$GPGSV,3,3,12,26,61,273,45,27,18,093,33,28,63,138,38,29,69,241,46*77
+$PGRME,16.4,M,16.6,M,16.4,M*1F
+$GPGLL,6130.485,N,02349.240,E,130546,A*28
+$PGRMZ,362,f,3*1C
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6120.236,N,02346.327,E,T009*21
+$GPRMC,130548,A,6130.486,N,02349.238,E,013.5,337.1,110805,006.0,E*7C
+$GPRMB,A,1.58,L,T013,T012,6129.236,N,02346.327,E,001.9,228.0,-004.3,V*1F
+$GPGGA,130548,6130.486,N,02349.238,E,1,06,4.2,109.4,M,20.7,M,,*4B
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,4.7,4.2,1.8*36
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,33,10,12,208,31*7C
+$GPGSV,3,2,12,15,12,330,34,18,20,325,38,19,20,033,40,21,03,297,00*7D
+$GPGSV,3,3,12,26,61,273,46,27,18,093,32,28,63,138,38,29,69,241,46*75
+$PGRME,16.9,M,18.7,M,19.1,M*17
+$GPGLL,6130.488,N,02349.236,E,130548,A*2A
+$PGRMZ,359,f,3*14
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.234,N,02346.317,E,T008*28
+$GPRMC,130549,A,6130.490,N,02349.235,E,012.3,337.8,110805,006.0,E*79
+$GPRMB,A,1.58,L,T013,T012,6129.236,N,02346.327,E,001.9,227.9,-004.2,V*18
+$GPGGA,130549,6130.490,N,02349.235,E,1,07,5.3,107.8,M,20.7,M,,*43
+$GPGSA,A,3,,,08,,15,18,19,,26,,28,29,7.7,5.3,4.7*3F
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,37,10,12,208,31*78
+$GPGSV,3,2,12,15,12,330,33,18,20,325,37,19,20,033,38,21,03,297,00*7A
+$GPGSV,3,3,12,26,61,273,45,27,18,093,35,28,63,138,43,29,69,241,45*7E
+$PGRME,19.3,M,15.4,M,24.7,M*14
+$GPGLL,6130.492,N,02349.234,E,130550,A*2A
+$PGRMZ,355,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6157.564,N,02406.158,E,T007*26
+$GPRMC,130551,A,6130.493,N,02349.233,E,011.4,341.2,110805,006.0,E*7A
+$GPRMB,A,1.58,L,T013,T012,6129.236,N,02346.327,E,001.9,227.8,-004.5,V*1E
+$GPGGA,130551,6130.494,N,02349.233,E,1,07,4.8,108.3,M,20.7,M,,*46
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,6.2,4.8,3.9*3D
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,38,10,12,208,31*77
+$GPGSV,3,2,12,15,12,330,33,18,20,325,36,19,20,033,37,21,03,297,00*74
+$GPGSV,3,3,12,26,61,273,45,27,18,093,37,28,63,138,43,29,69,241,45*7C
+$PGRME,19.3,M,15.4,M,24.7,M*14
+$GPGLL,6130.493,N,02349.241,E,130551,A*28
+$PGRMZ,357,f,3*1A
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6145.919,N,02345.544,E,T006*2B
+$GPRMC,130552,A,6130.493,N,02349.242,E,007.0,038.3,110805,006.0,E*70
+$GPRMB,A,1.58,L,T013,T012,6129.236,N,02346.327,E,001.9,227.9,-006.9,V*11
+$GPGGA,130552,6130.493,N,02349.243,E,1,08,4.8,109.2,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,15,18,19,,26,27,28,29,6.2,4.8,3.9*3D
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,38,10,12,208,31*77
+$GPGSV,3,2,12,15,12,330,33,18,20,325,35,19,20,033,37,21,03,297,00*77
+$GPGSV,3,3,12,26,61,273,44,27,18,093,38,28,63,138,44,29,69,241,45*75
+$PGRME,19.3,M,15.4,M,24.7,M*14
+$GPGLL,6130.494,N,02349.245,E,130553,A*29
+$PGRMZ,358,f,3*15
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6130.198,N,02342.702,E,T005*2C
+$GPRMC,130553,A,6130.493,N,02349.248,E,006.0,074.5,110805,006.0,E*74
+$GPRMB,A,1.59,L,T013,T012,6129.236,N,02346.327,E,001.9,227.9,-006.4,V*1D
+$GPGGA,130553,6130.494,N,02349.249,E,1,08,5.1,109.2,M,20.7,M,,*4E
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,6.3,5.1,1.0*3B
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,42,10,12,208,31*7A
+$GPGSV,3,2,12,15,12,330,32,18,20,325,34,19,20,033,35,21,03,297,00*75
+$GPGSV,3,3,12,26,61,273,43,27,18,093,37,28,63,138,43,29,69,241,43*7C
+$PGRME,16.4,M,15.5,M,16.4,M*1F
+$GPGLL,6130.494,N,02349.251,E,130554,A*2B
+$PGRMZ,358,f,3*15
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6216.183,N,02619.685,E,T004*25
+$GPRMC,130554,A,6130.494,N,02349.252,E,006.0,074.5,110805,006.0,E*7F
+$GPRMB,A,1.59,L,T013,T012,6129.236,N,02346.327,E,001.9,228.0,-005.4,V*18
+$GPGGA,130554,6130.494,N,02349.253,E,1,07,4.1,109.3,M,20.7,M,,*4D
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,4.1,4.1,1.0*3A
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,43,10,12,208,30*7A
+$GPGSV,3,2,12,15,12,330,32,18,20,325,34,19,20,033,35,21,03,297,00*75
+$GPGSV,3,3,12,26,61,273,42,27,18,093,36,28,63,138,45,29,69,241,43*7A
+$PGRME,18.3,M,19.2,M,21.1,M*1C
+$GPGLL,6130.493,N,02349.255,E,130554,A*28
+$PGRMZ,365,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6215.064,N,02603.837,E,T003*25
+$GPRMC,130554,A,6130.493,N,02349.257,E,005.5,089.1,110805,006.0,E*7D
+$GPRMB,A,1.59,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,-004.2,V*1E
+$GPGGA,130556,6130.493,N,02349.258,E,1,07,4.1,111.1,M,20.7,M,,*48
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,4.1,4.1,1.0*3A
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,44,10,12,208,30*7D
+$GPGSV,3,2,12,15,12,330,31,18,20,325,33,19,20,033,34,21,03,297,00*70
+$GPGSV,3,3,12,26,61,273,42,27,18,093,35,28,63,138,45,29,69,241,44*7E
+$PGRME,18.3,M,19.2,M,21.1,M*1C
+$GPGLL,6130.491,N,02349.257,E,130556,A*2A
+$PGRMZ,365,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6151.098,N,02510.924,E,T002*26
+$GPRMC,130556,A,6130.491,N,02349.258,E,004.5,123.5,110805,006.0,E*76
+$GPRMB,A,1.58,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,-001.1,V*19
+$GPGGA,130556,6130.491,N,02349.258,E,1,07,4.2,111.1,M,20.7,M,,*49
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,4.2,4.2,1.0*3A
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,44,10,12,208,30*7D
+$GPGSV,3,2,12,15,12,330,31,18,20,325,33,19,20,033,34,21,03,297,00*70
+$GPGSV,3,3,12,26,61,273,44,27,18,093,35,28,63,138,45,29,69,241,44*78
+$PGRME,16.5,M,16.6,M,16.5,M*1F
+$GPGLL,6130.490,N,02349.255,E,130558,A*27
+$PGRMZ,365,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.271,N,02346.376,E,T001*27
+$GPRMC,130558,A,6130.490,N,02349.255,E,002.4,167.8,110805,006.0,E*7E
+$GPRMB,A,1.58,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,001.2,V*37
+$GPGGA,130558,6130.490,N,02349.255,E,1,07,4.2,111.2,M,20.7,M,,*48
+$GPGSA,A,3,,,08,,,18,19,,26,27,28,29,4.2,4.2,1.0*3A
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,46,10,12,208,30*7F
+$GPGSV,3,2,12,15,12,330,31,18,20,325,33,19,20,033,33,21,03,297,00*77
+$GPGSV,3,3,12,26,61,273,46,27,18,093,33,28,63,138,48,29,69,241,43*76
+$PGRME,16.5,M,16.6,M,16.5,M*1F
+$GPGLL,6130.490,N,02349.255,E,130559,A*26
+$PGRMZ,365,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPRTE,4,1,c,0,T030,T029,T028,T027,T026,T025,T024,T023,T022*49
+$GPRTE,4,2,c,0,T021,T020,T019,T018,T017,T016,T015,T014,T013*4B
+$GPRTE,4,3,c,0,T012,T011,T010,T009,T008,T007,T006,T005,T004*4B
+$GPRTE,4,4,c,0,T003,T002,T001*4F
+$GPWPL,6016.083,N,02452.500,E,T030*22
+$GPRMC,130600,A,6130.490,N,02349.255,E,000.0,167.8,110805,006.0,E*76
+$GPRMB,A,1.58,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1A
+$GPGGA,130600,6130.490,N,02349.255,E,1,07,4.1,111.2,M,20.7,M,,*45
+$GPGSA,A,3,,,08,,,18,,,26,27,28,29,4.1,4.1,1.0*32
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,46,10,12,208,30*7F
+$GPGSV,3,2,12,15,12,330,31,18,20,325,32,19,20,033,33,21,03,297,00*76
+$GPGSV,3,3,12,26,61,273,47,27,18,093,32,28,63,138,49,29,69,241,43*77
+$PGRME,16.5,M,16.6,M,16.5,M*1F
+$GPGLL,6130.490,N,02349.256,E,130601,A*2B
+$PGRMZ,365,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T029*2D
+$GPRMC,130601,A,6130.490,N,02349.256,E,000.0,167.8,110805,006.0,E*74
+$GPRMB,A,1.58,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1A
+$GPGGA,130601,6130.490,N,02349.256,E,1,06,4.1,111.2,M,20.7,M,,*46
+$GPGSA,A,3,,,08,,,18,,,26,,28,29,4.1,4.1,1.0*37
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,47,10,12,208,30*7E
+$GPGSV,3,2,12,15,12,330,31,18,20,325,32,19,20,033,32,21,03,297,00*77
+$GPGSV,3,3,12,26,61,273,48,27,18,093,30,28,63,138,50,29,69,241,43*72
+$PGRME,16.5,M,16.6,M,16.5,M*1F
+$GPGLL,6130.490,N,02349.256,E,130602,A*28
+$PGRMZ,365,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6023.283,N,02430.650,E,T028*2D
+$GPRMC,130603,A,6130.490,N,02349.256,E,000.0,167.8,110805,006.0,E*76
+$GPRMB,A,1.58,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1A
+$GPGGA,130603,6130.490,N,02349.256,E,1,05,4.1,111.2,M,20.7,M,,*47
+$GPGSA,A,3,,,08,,,18,,,26,,28,29,4.1,4.1,1.0*37
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,47,10,12,208,30*7E
+$GPGSV,3,2,12,15,12,330,31,18,20,325,32,19,20,033,32,21,03,297,00*77
+$GPGSV,3,3,12,26,61,273,48,27,18,093,30,28,63,138,50,29,69,241,42*73
+$PGRME,18.4,M,20.3,M,21.2,M*13
+$GPGLL,6130.491,N,02349.257,E,130604,A*2E
+$PGRMZ,371,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T027*23
+$GPRMC,130604,A,6130.491,N,02349.258,E,000.0,167.8,110805,006.0,E*7E
+$GPRMB,A,1.58,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1A
+$GPGGA,130604,6130.491,N,02349.258,E,1,05,1.8,115.1,M,20.7,M,,*44
+$GPGSA,A,3,,,08,,,18,,,26,,28,29,1.8,1.8,1.0*37
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,47,10,12,208,30*7E
+$GPGSV,3,2,12,15,12,330,31,18,20,325,33,19,20,033,32,21,03,297,00*76
+$GPGSV,3,3,12,26,61,273,48,27,18,093,30,28,63,138,50,29,69,241,42*73
+$PGRME,18.4,M,20.3,M,21.2,M*13
+$GPGLL,6130.491,N,02349.258,E,130605,A*20
+$PGRMZ,378,f,3*17
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T026*24
+$GPRMC,130605,A,6130.492,N,02349.258,E,000.0,167.8,110805,006.0,E*7C
+$GPRMB,A,1.58,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1A
+$GPGGA,130605,6130.492,N,02349.258,E,1,05,1.8,117.2,M,20.7,M,,*47
+$GPGSA,A,3,,,08,,,18,,,26,,28,29,1.8,1.8,1.0*37
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,47,10,12,208,30*7E
+$GPGSV,3,2,12,15,12,330,31,18,20,325,33,19,20,033,31,21,03,297,00*75
+$GPGSV,3,3,12,26,61,273,48,27,18,093,30,28,63,138,50,29,69,241,42*73
+$PGRME,18.4,M,20.3,M,21.2,M*13
+$GPGLL,6130.492,N,02349.259,E,130606,A*21
+$PGRMZ,391,f,3*10
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,S,02453.500,E,T025*3B
+$GPRMC,130606,A,6130.492,N,02349.259,E,000.0,167.8,110805,006.0,E*7E
+$GPRMB,A,1.59,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1B
+$GPGGA,130607,6130.492,N,02349.259,E,1,05,1.8,119.2,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,,18,,,26,,28,29,1.8,1.8,1.0*37
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,47,10,12,208,30*7E
+$GPGSV,3,2,12,15,12,329,31,18,20,325,33,19,20,033,31,21,03,297,00*7D
+$GPGSV,3,3,12,26,61,273,48,27,18,093,30,28,63,138,50,29,69,241,42*73
+$PGRME,18.4,M,20.3,M,21.2,M*13
+$GPGLL,6130.492,N,02349.259,E,130607,A*20
+$PGRMZ,397,f,3*16
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6018.083,N,02453.500,E,T024*28
+$GPRMC,130608,A,6130.493,N,02349.260,E,000.0,167.8,110805,006.0,E*7B
+$GPRMB,A,1.59,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1B
+$GPGGA,130608,6130.493,N,02349.260,E,1,05,1.8,122.5,M,20.7,M,,*41
+$GPGSA,A,3,,,08,,,18,,,26,,28,29,1.8,1.8,1.0*37
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,48,10,12,208,30*71
+$GPGSV,3,2,12,15,12,329,31,18,20,325,33,19,20,033,00,21,03,297,00*7F
+$GPGSV,3,3,12,26,61,273,47,27,18,093,30,28,63,138,50,29,69,241,42*7C
+$PGRME,18.4,M,20.3,M,21.2,M*13
+$GPGLL,6130.493,N,02349.260,E,130609,A*25
+$PGRMZ,402,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,W,T023*33
+$GPRMC,130609,A,6130.493,N,02349.261,E,000.0,167.8,110805,006.0,E*7B
+$GPRMB,A,1.59,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1B
+$GPGGA,130609,6130.493,N,02349.261,E,1,05,1.8,124.3,M,20.7,M,,*41
+$GPGSA,A,3,,,08,,,18,,,26,,28,29,1.8,1.8,1.0*37
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,48,10,12,208,30*71
+$GPGSV,3,2,12,15,12,329,31,18,20,325,34,19,20,033,00,21,03,297,00*78
+$GPGSV,3,3,12,26,61,273,47,27,18,093,30,28,63,138,50,29,69,241,42*7C
+$PGRME,18.4,M,20.3,M,21.2,M*13
+$GPGLL,6130.493,N,02349.261,E,130610,A*2C
+$PGRMZ,413,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02555.500,E,T022*26
+$GPRMC,130610,A,6130.493,N,02349.261,E,000.0,167.8,110805,006.0,E*73
+$GPRMB,A,1.59,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1B
+$GPGGA,130611,6130.493,N,02349.261,E,1,05,2.0,126.0,M,20.7,M,,*42
+$GPGSA,A,3,,,08,,,18,,,26,,28,29,2.0,2.0,1.0*37
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,47,10,12,208,30*7E
+$GPGSV,3,2,12,15,12,329,31,18,20,325,34,19,20,033,00,21,03,297,00*78
+$GPGSV,3,3,12,26,61,273,46,27,18,093,30,28,63,138,49,29,69,241,42*75
+$PGRME,18.4,M,20.3,M,21.2,M*13
+$GPGLL,6130.494,N,02349.262,E,130611,A*29
+$PGRMZ,418,f,3*16
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6017.083,N,02452.500,E,T021*23
+$GPRMC,130612,A,6130.494,N,02349.262,E,000.0,167.8,110805,006.0,E*75
+$GPRMB,A,1.59,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1B
+$GPGGA,130612,6130.494,N,02349.262,E,1,05,2.3,127.4,M,20.7,M,,*43
+$GPGSA,A,3,,,08,,,18,,,26,,28,29,2.3,2.3,1.0*37
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,48,10,12,208,30*71
+$GPGSV,3,2,12,15,12,329,30,18,20,325,34,19,20,033,00,21,03,297,00*79
+$GPGSV,3,3,12,26,61,273,46,27,18,093,30,28,63,138,49,29,69,241,41*76
+$PGRME,13.9,M,15.3,M,20.7,M*17
+$GPGLL,6130.494,N,02349.262,E,130613,A*2B
+$PGRMZ,425,f,3*18
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6116.083,N,02452.500,E,T020*22
+$GPRMC,130613,A,6130.495,N,02349.263,E,000.0,167.8,110805,006.0,E*74
+$GPRMB,A,1.59,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1B
+$GPGGA,130613,6130.495,N,02349.263,E,1,05,1.8,131.3,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,,18,,,26,27,28,29,1.8,1.8,1.0*32
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,48,10,12,208,30*71
+$GPGSV,3,2,12,15,12,329,30,18,20,325,34,19,20,033,00,21,03,297,00*79
+$GPGSV,3,3,12,26,61,273,46,27,18,093,30,28,63,138,49,29,69,241,41*76
+$PGRME,13.9,M,15.3,M,20.7,M*17
+$GPGLL,6130.495,N,02349.263,E,130614,A*2C
+$PGRMZ,435,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,S,02452.500,E,T019*34
+$GPRMC,130614,A,6130.495,N,02349.263,E,000.0,167.8,110805,006.0,E*73
+$GPRMB,A,1.59,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1B
+$GPGGA,130615,6130.495,N,02349.263,E,1,06,2.0,132.5,M,20.7,M,,*41
+$GPGSA,A,3,,,08,,,18,,,26,27,28,29,2.0,2.0,1.0*32
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,48,10,12,208,30*71
+$GPGSV,3,2,12,15,12,329,00,18,20,325,33,19,20,033,00,21,03,297,00*7D
+$GPGSV,3,3,12,26,61,273,47,27,18,093,30,28,63,138,50,29,69,241,42*7C
+$PGRME,16.1,M,19.2,M,25.1,M*14
+$GPGLL,6130.495,N,02349.263,E,130615,A*2D
+$PGRMZ,438,f,3*14
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6016.083,N,02452.500,E,T018*28
+$GPRMC,130616,A,6130.495,N,02349.263,E,000.0,167.8,110805,006.0,E*71
+$GPRMB,A,1.59,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1B
+$GPGGA,130616,6130.495,N,02349.263,E,1,06,2.0,133.6,M,20.7,M,,*40
+$GPGSA,A,3,,,08,,,18,,,26,27,28,29,2.0,2.0,1.0*32
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,48,10,12,208,30*71
+$GPGSV,3,2,12,15,12,329,00,18,20,325,33,19,20,033,00,21,03,297,00*7D
+$GPGSV,3,3,12,26,61,273,47,27,18,093,30,28,63,138,49,29,69,241,42*74
+$PGRME,16.1,M,19.2,M,25.1,M*14
+$GPGLL,6130.495,N,02349.264,E,130616,A*29
+$PGRMZ,442,f,3*19
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6013.283,N,02456.650,E,T017*22
+$GPRMC,130617,A,6130.495,N,02349.264,E,000.0,167.8,110805,006.0,E*77
+$GPRMB,A,1.59,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1B
+$GPGGA,130617,6130.495,N,02349.264,E,1,06,2.0,135.5,M,20.7,M,,*43
+$GPGSA,A,3,,,08,,,18,,,26,27,28,29,2.0,2.0,1.0*32
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,48,10,12,208,30*71
+$GPGSV,3,2,12,15,12,329,00,18,20,325,33,19,20,033,00,21,03,297,00*7D
+$GPGSV,3,3,12,26,61,273,48,27,18,093,30,28,63,138,49,29,69,241,42*7B
+$PGRME,16.1,M,19.2,M,25.1,M*14
+$GPGLL,6130.495,N,02349.264,E,130618,A*27
+$PGRMZ,445,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.283,N,02430.650,E,T016*21
+$GPRMC,130618,A,6130.495,N,02349.264,E,000.0,167.8,110805,006.0,E*78
+$GPRMB,A,1.59,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1B
+$GPGGA,130619,6130.495,N,02349.264,E,1,06,2.0,136.4,M,20.7,M,,*4F
+$GPGSA,A,3,,,08,,,18,,,26,27,28,29,2.0,2.0,1.0*32
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,47,10,12,208,30*7E
+$GPGSV,3,2,12,15,12,329,00,18,20,325,34,19,20,033,00,21,03,297,00*7A
+$GPGSV,3,3,12,26,61,273,48,27,18,093,30,28,63,138,49,29,69,241,43*7A
+$PGRME,16.1,M,19.2,M,25.1,M*14
+$GPGLL,6130.496,N,02349.265,E,130619,A*24
+$PGRMZ,451,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0000.000,N,00000.000,W,T015*39
+$GPRMC,130620,A,6130.496,N,02349.265,E,000.0,167.8,110805,006.0,E*71
+$GPRMB,A,1.59,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1B
+$GPGGA,130620,6130.496,N,02349.265,E,1,06,2.0,137.3,M,20.7,M,,*41
+$GPGSA,A,3,,,08,,,18,,,26,27,28,29,2.0,2.0,1.0*32
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,48,10,12,208,30*71
+$GPGSV,3,2,12,15,12,329,00,18,20,325,34,19,20,033,00,21,03,297,00*7A
+$GPGSV,3,3,12,26,61,273,48,27,18,093,30,28,63,138,50,29,69,241,43*72
+$PGRME,16.1,M,19.2,M,25.1,M*14
+$GPGLL,6130.496,N,02349.265,E,130620,A*2E
+$PGRMZ,454,f,3*1E
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,0009.000,N,02430.650,E,T014*25
+$GPRMC,130621,A,6130.496,N,02349.266,E,000.0,167.8,110805,006.0,E*73
+$GPRMB,A,1.59,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1B
+$GPGGA,130621,6130.496,N,02349.266,E,1,06,1.8,139.3,M,20.7,M,,*46
+$GPGSA,A,3,,,08,,,18,,,26,27,28,29,1.8,1.8,1.0*32
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,48,10,12,208,30*71
+$GPGSV,3,2,12,15,12,329,00,18,20,325,34,19,20,033,00,21,03,297,00*7A
+$GPGSV,3,3,12,26,61,273,49,27,18,093,30,28,63,138,50,29,69,241,44*74
+$PGRME,16.1,M,19.2,M,25.1,M*14
+$GPGLL,6130.496,N,02349.266,E,130622,A*2F
+$PGRMZ,457,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6123.285,N,02430.651,E,T013*23
+$GPRMC,130622,A,6130.496,N,02349.266,E,000.0,167.8,110805,006.0,E*70
+$GPRMB,A,1.59,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1B
+$GPGGA,130622,6130.496,N,02349.266,E,1,06,1.8,140.3,M,20.7,M,,*4B
+$GPGSA,A,3,,,08,,,18,,,26,27,28,29,1.8,1.8,1.0*32
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,48,10,12,208,30*71
+$GPGSV,3,2,12,15,12,329,00,18,20,325,35,19,20,033,00,21,03,297,00*7B
+$GPGSV,3,3,12,26,61,273,49,27,18,093,30,28,63,138,50,29,69,241,44*74
+$PGRME,16.1,M,19.2,M,25.1,M*14
+$GPGLL,6130.496,N,02349.266,E,130623,A*2E
+$PGRMZ,464,f,3*1D
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6129.236,N,02346.327,E,T012*22
+$GPRMC,130623,A,6130.496,N,02349.266,E,000.0,167.8,110805,006.0,E*71
+$GPRMB,A,1.59,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1B
+$GPGGA,130624,6130.496,N,02349.266,E,1,06,1.8,141.5,M,20.7,M,,*4A
+$GPGSA,A,3,,,08,,,18,,,26,,28,29,1.8,1.8,1.0*37
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,48,10,12,208,30*71
+$GPGSV,3,2,12,15,12,329,00,18,20,325,35,19,20,032,00,21,03,297,00*7A
+$GPGSV,3,3,12,26,61,273,49,27,18,093,30,28,63,138,50,29,69,241,44*74
+$PGRME,18.2,M,22.8,M,29.2,M*14
+$GPGLL,6130.497,N,02349.267,E,130624,A*29
+$PGRMZ,468,f,3*11
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6114.236,N,02346.327,E,T011*2F
+$GPRMC,130625,A,6130.497,N,02349.267,E,000.0,167.8,110805,006.0,E*77
+$GPRMB,A,1.59,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1B
+$GPGGA,130625,6130.497,N,02349.267,E,1,05,2.0,142.7,M,20.7,M,,*42
+$GPGSA,A,3,,,08,,,18,,,26,,28,29,2.0,2.0,1.0*37
+$GPGSV,3,1,12,03,01,011,00,07,04,152,00,08,48,094,48,10,12,208,30*71
+$GPGSV,3,2,12,15,12,329,00,18,20,325,35,19,20,032,00,21,03,297,00*7A
+$GPGSV,3,3,12,26,61,273,49,27,18,093,30,28,63,138,50,29,69,241,44*74
+$PGRME,18.2,M,22.8,M,29.2,M*14
+$GPGLL,6130.497,N,02349.267,E,130625,A*28
+$PGRMZ,473,f,3*1B
+$PGRMM,WGS 84*06
+$GPBOD,285.4,T,279.4,M,T012,T013*45
+$GPWPL,6220.236,N,02346.327,E,T010*2A
+$GPRMC,130626,A,6130.497,N,02349.267,E,000.0,167.8,110805,006.0,E*74
+$GPRMB,A,1.59,L,T013,T012,6129.236,N,02346.327,E,001.9,228.1,,V*1B
+$GPGGA,130626,6130.497,N,02349.268,E,1,05,1.8,145.8,M,20.7,M,,*4D
Binary file locationtriggering/tsrc/lbtengine_test/firingofstartuptriggerandlisttrigger/data/epossimulationpsy.RSC has changed
Binary file locationtriggering/tsrc/lbtengine_test/firingofstartuptriggerandlisttrigger/data/epossimulationpsy.dll has changed
Binary file locationtriggering/tsrc/lbtengine_test/firingofstartuptriggerandlisttrigger/data/simulationpsy_name.RSC has changed
--- a/locationtriggering/tsrc/lbtengine_test/firingofstartuptriggerandlisttrigger/group/FiringofStartupTriggerAndListTrigger.pkg	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/firingofstartuptriggerandlisttrigger/group/FiringofStartupTriggerAndListTrigger.pkg	Tue Aug 31 15:37:04 2010 +0300
@@ -59,6 +59,13 @@
 	"..\data\test2.nme"-"C:\system\data\test2.nme"
 	"..\data\test3.nme"-"C:\system\data\test3.nme"
 	"\epoc32\release\armv5\urel\CreateTest.exe"-"C:\sys\bin\CreateTest.exe" 
+	
+; Sim PSY installation	
+"..\data\epossimulationpsy.dll"-"C:\sys\bin\epossimulationpsy.dll"
+"..\data\epossimulationpsy.RSC"-"C:\resource\plugins\epossimulationpsy.RSC"
+"..\data\default.nme"-"C:\resource\default.nme"
+"..\data\simulationpsy_name.RSC"-"C:\resource\simulationpsy_name.RSC"
+
 ; Embedded SIS 
 ; None
 
--- a/locationtriggering/tsrc/lbtengine_test/firingofstartuptriggerandlisttrigger/group/firingofstartuptriggerandlisttrigger.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/firingofstartuptriggerandlisttrigger/group/firingofstartuptriggerandlisttrigger.mmp	Tue Aug 31 15:37:04 2010 +0300
@@ -53,11 +53,12 @@
 LIBRARY         euser.lib
 LIBRARY         estor.lib 
 LIBRARY         stiftestinterface.lib
+LIBRARY         stiftestengine.lib
 LIBRARY         lbs.lib
 LIBRARY         lbt.lib
 LIBRARY         centralrepository.lib 
-
-
+LIBRARY         eposmodset.lib
+LIBRARY         ProfileEngine.lib
 LANG            SC
 
 /*
--- a/locationtriggering/tsrc/lbtengine_test/firingofstartuptriggerandlisttrigger/inc/firingofstartuptriggerandlisttrigger.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/firingofstartuptriggerandlisttrigger/inc/firingofstartuptriggerandlisttrigger.h	Tue Aug 31 15:37:04 2010 +0300
@@ -28,6 +28,9 @@
 #include <TestScripterInternal.h>
 #include <StifTestModule.h>
 
+// Forward declaration
+class TCoordinate;
+class MProEngEngine;
 
 // CONSTANTS
 //const ?type ?constant_var = ?constant;
@@ -133,10 +136,27 @@
         * @since ?Series60_version
         */
         void Delete();
+        
+        /**
+         * Set the phone profile to offline mode
+         */
+        void SetProfileToOfflineL();
+        
+        /**
+         * Restore original profile
+         */
+        void RestoreProfileL();
+                
+        /**
+         * Gets current coordinate
+         */
+        void GetCurrentCoordinateL( TCoordinate& aCoordinate );
+            
 
         /**
-        * Test methods are listed below. 
-        */
+         * Enable simulation PSY
+         */
+        void EnableSimPSYL();
 
         /**
         * Example test method.
@@ -202,12 +222,16 @@
         //?data_declaration;
 
     private:    // Data
-        
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-
-        // Reserved pointer for future extension
-        //TAny* iReserved;
+         /**
+          * Pointer to profile engine
+          * Own.
+          */
+         MProEngEngine* iProEngine;
+         
+         /**
+          * Current profile id
+          */
+         TInt iCurrentProfile;
 
     public:     // Friend classes
         //?friend_class_declaration;
--- a/locationtriggering/tsrc/lbtengine_test/firingofstartuptriggerandlisttrigger/inc/t_triggerfireobserver.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/firingofstartuptriggerandlisttrigger/inc/t_triggerfireobserver.h	Tue Aug 31 15:37:04 2010 +0300
@@ -50,12 +50,21 @@
         * Two-phased constructor.
         */
         static CTriggerFireObserver* NewL( RLbt& aLbt,TCoordinate& aCoordinate );
+        
+        
+        static CTriggerFireObserver* NewL();
 
         /**
         * Destructor.
         */
         ~CTriggerFireObserver();
         
+        /**
+         * Request for current position
+         */
+        void CurrentPositionL( TPositionInfo& aPositionInfo,
+                              CActiveSchedulerWait* aWait );
+
         
         void TriggerFiredL( const TLbtTriggerFireInfo& aFireInfo );
         
@@ -97,12 +106,17 @@
         * C++ default constructor.
         */
         CTriggerFireObserver( TCoordinate& aCoordinate );
+        
+        
+        CTriggerFireObserver();
 
         /**
         * By default Symbian 2nd phase constructor is private.
         */
         void ConstructL( RLbt& aLbt );
         
+        void ConstructL();
+        
     private:
     
         CLbtTriggerFiringEventNotifier* iNotifier;
@@ -112,7 +126,16 @@
         
         TLbtTriggerFireInfo iFireInfo;
         
-      
+       /**
+        * Handle to positioner session
+        */
+        RPositionServer iPosServer;
+        
+        /**
+         * Handle to positioner subsession
+         */
+        RPositioner iPositioner;
+
        
 
     };
--- a/locationtriggering/tsrc/lbtengine_test/firingofstartuptriggerandlisttrigger/src/firingofstartuptriggerandlisttrigger.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/firingofstartuptriggerandlisttrigger/src/firingofstartuptriggerandlisttrigger.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -21,7 +21,15 @@
 
 // INCLUDE FILES
 #include <Stiftestinterface.h>
+#include <MProEngEngine.h>
 #include "firingofstartuptriggerandlisttrigger.h"
+#include <SettingServerClient.h>
+
+
+// Log file
+_LIT( KAdvancedTriggerSupervisionLogFile, "Firing.txt" ); 
+_LIT( KAdvancedTriggerSupervisionLogFileWithTitle, "Firing[%S].txt" );
+
 
 // EXTERNAL DATA STRUCTURES
 //extern  ?external_data;
@@ -82,7 +90,8 @@
 //
 CFiringofStartupTriggerAndListTrigger::CFiringofStartupTriggerAndListTrigger( 
     CTestModuleIf& aTestModuleIf ):
-        CScriptBase( aTestModuleIf )
+        CScriptBase( aTestModuleIf ),
+                iProEngine( NULL )
     {
     }
 
@@ -93,12 +102,44 @@
 //
 void CFiringofStartupTriggerAndListTrigger::ConstructL()
     {
+    //Read logger settings to check whether test case name is to be
+    //appended to log file name.
+    RSettingServer settingServer;
+    TInt ret = settingServer.Connect();
+    if(ret != KErrNone)
+        {
+        User::Leave(ret);
+        }
+    // Struct to StifLogger settigs.
+    TLoggerSettings loggerSettings; 
+    // Parse StifLogger defaults from STIF initialization file.
+    ret = settingServer.GetLoggerSettings(loggerSettings);
+    if(ret != KErrNone)
+        {
+        User::Leave(ret);
+        } 
+    // Close Setting server session
+    settingServer.Close();
+
+    TFileName logFileName;
+    
+    if(loggerSettings.iAddTestCaseTitle)
+        {
+        TName title;
+        TestModuleIf().GetTestCaseTitleL(title);
+        logFileName.Format(KAdvancedTriggerSupervisionLogFileWithTitle, &title);
+        }
+    else
+        {
+        logFileName.Copy(KAdvancedTriggerSupervisionLogFile);
+        }
+
     iLog = CStifLogger::NewL( Kt_lbtltapiLogPath, 
                           Kt_lbtltapiLogFile,
                           CStifLogger::ETxt,
                           CStifLogger::EFile,
                           EFalse );
-
+    
     }
 
 // -----------------------------------------------------------------------------
@@ -110,13 +151,10 @@
     CTestModuleIf& aTestModuleIf )
     {
     CFiringofStartupTriggerAndListTrigger* self = new (ELeave) CFiringofStartupTriggerAndListTrigger( aTestModuleIf );
-
     CleanupStack::PushL( self );
     self->ConstructL();
     CleanupStack::Pop();
-
     return self;
-
     }
 
 // Destructor
@@ -128,7 +166,8 @@
 
     // Delete logger
     delete iLog; 
-
+    delete iProEngine;
+    iProEngine = NULL;
     }
 
 // ========================== OTHER EXPORTED FUNCTIONS =========================
--- a/locationtriggering/tsrc/lbtengine_test/firingofstartuptriggerandlisttrigger/src/firingofstartuptriggerandlisttriggerblocks.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/firingofstartuptriggerandlisttrigger/src/firingofstartuptriggerandlisttriggerblocks.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -75,7 +75,15 @@
 //#include <epossimulationpsy.hrh>
 #include "firingofstartuptriggerandlisttrigger.h"
 #include "t_triggerfireobserver.h"
-#include <e32property.h>
+
+
+#include <EPos_MPosModulesObserver.h> 
+#include <EPos_CPosModuleIdList.h>
+#include <EPos_CPosModules.h>
+#include <EPos_CPosModuleUpdate.h>
+#include <MProEngEngine.h>
+#include <Profile.hrh>
+#include <ProEngFactory.h>
 
 // EXTERNAL DATA STRUCTURES
 //extern  ?external_data;
@@ -139,6 +147,82 @@
 
     }
 
+void CFiringofStartupTriggerAndListTrigger::EnableSimPSYL() 
+    {
+    CPosModules* db = CPosModules::OpenL();
+    CleanupStack::PushL( db );
+    
+    // List entries
+    CPosModuleIdList* idList = db->ModuleIdListLC();
+    CPosModuleUpdate* updateParams = CPosModuleUpdate::NewLC();
+    
+    // Get the display name and status of each installed positioning plug-in
+    for (TInt i = 0; i < idList->Count(); i++)
+        {
+        // get PSY info
+        TPositionModuleInfo moduleInfo;
+        db->GetModuleInfoL( (*idList)[i], moduleInfo );
+        
+        if ( moduleInfo.IsAvailable() )
+            {
+            // read PSY’s name
+            TBuf<KPositionMaxModuleName> moduleName;
+            moduleInfo.GetModuleName( moduleName );
+            TPositionModuleId id = moduleInfo.ModuleId();
+            
+            updateParams->SetUpdateAvailability( EFalse );
+            db->UpdateModuleL( id, *updateParams );
+            }
+        }
+    TPositionModuleId id2 = {0x101F7A81};
+    updateParams->SetUpdateAvailability( ETrue );
+    db->UpdateModuleL( id2, *updateParams );
+    
+    CleanupStack::PopAndDestroy( updateParams );
+    CleanupStack::PopAndDestroy( idList );
+    CleanupStack::PopAndDestroy( db );
+    }
+
+void CFiringofStartupTriggerAndListTrigger::SetProfileToOfflineL()
+    {
+    if( !iProEngine )
+        iProEngine= ProEngFactory::NewEngineL();
+    // Store current profile id.
+    iCurrentProfile =  iProEngine->ActiveProfileId();
+    // Change the active profile to Off-line
+    iProEngine->SetActiveProfileL( EProfileOffLineId );
+    }
+
+void CFiringofStartupTriggerAndListTrigger::RestoreProfileL()
+    {
+    if( !iProEngine )
+    iProEngine = ProEngFactory::NewEngineL();
+    iProEngine->SetActiveProfileL( iCurrentProfile );
+    }
+
+//------------------------------------------------------------------------------
+//CFiringofStartupTriggerAndListTrigger::GetCurrentCoordinateL
+//------------------------------------------------------------------------------
+void CFiringofStartupTriggerAndListTrigger::GetCurrentCoordinateL( TCoordinate& aCoordinate )
+    {
+    CTriggerFireObserver* notifier= CTriggerFireObserver::NewL();
+    CleanupStack::PushL( notifier );
+    CActiveSchedulerWait* wait = new ( ELeave ) CActiveSchedulerWait;
+    CleanupStack::PushL( wait );
+    
+    TPositionInfo positionInfo;
+    // Ownership of wait is taken by notifier
+    notifier->CurrentPositionL( positionInfo,wait );
+    CleanupStack::Pop( wait );
+    wait->Start();
+    TPosition position;
+    positionInfo.GetPosition( position );
+    aCoordinate.SetCoordinate( position.Latitude(),position.Longitude(),position.Altitude() );
+    CleanupStack::PopAndDestroy( notifier ); 
+    }
+
+
+
 // -----------------------------------------------------------------------------
 // CFiringofStartupTriggerAndListTrigger::RunMethodL
 // Run specified method. Contains also table of test mothods and their names.
@@ -155,53 +239,47 @@
         // Second is the actual implementation member function. 
      
         ENTRY( "test01", CFiringofStartupTriggerAndListTrigger::TCLBTFW001_testL ),
-         ENTRY( "test02", CFiringofStartupTriggerAndListTrigger::TCLBTFW002_testL ),
-          ENTRY( "test03", CFiringofStartupTriggerAndListTrigger::TCLBTFW003_testL ),
-           ENTRY( "test04", CFiringofStartupTriggerAndListTrigger::TCLBTFW004_testL ),
-            ENTRY( "test05", CFiringofStartupTriggerAndListTrigger::TCLBTFW005_testL ),
-             ENTRY( "test06", CFiringofStartupTriggerAndListTrigger::TCLBTFW006_testL ),
-              ENTRY( "test07", CFiringofStartupTriggerAndListTrigger::TCLBTFW007_testL ),
-               ENTRY( "test08", CFiringofStartupTriggerAndListTrigger::TCLBTFW008_testL ),
-               ENTRY( "test09", CFiringofStartupTriggerAndListTrigger::TCLBTFW009_testL ),
-               ENTRY( "test10", CFiringofStartupTriggerAndListTrigger::TCLBTFW010_testL ),
-               ENTRY( "test11", CFiringofStartupTriggerAndListTrigger::TCLBTFW011_testL ),
-               ENTRY( "test12", CFiringofStartupTriggerAndListTrigger::TCLBTFW012_testL ),
-               ENTRY( "test13", CFiringofStartupTriggerAndListTrigger::TCLBTFW013_testL ),
-               ENTRY( "test14", CFiringofStartupTriggerAndListTrigger::TCLBTFW014_testL ),
-               ENTRY( "test15", CFiringofStartupTriggerAndListTrigger::TCLBTFW015_testL ),
-               ENTRY( "test16", CFiringofStartupTriggerAndListTrigger::TCLBTFW016_testL ),
-               ENTRY( "test17", CFiringofStartupTriggerAndListTrigger::TCLBTFW017_testL ),
-               ENTRY( "test18", CFiringofStartupTriggerAndListTrigger::TCLBTFW018_testL ),
-               
-               ENTRY( "test70", CFiringofStartupTriggerAndListTrigger::TCLBTFW070_testL ),
-               ENTRY( "test71", CFiringofStartupTriggerAndListTrigger::TCLBTFW071_testL ),
-               ENTRY( "test72", CFiringofStartupTriggerAndListTrigger::TCLBTFW072_testL ),
-               ENTRY( "test73", CFiringofStartupTriggerAndListTrigger::TCLBTFW073_testL ),
-               ENTRY( "test74", CFiringofStartupTriggerAndListTrigger::TCLBTFW074_testL ),
-               ENTRY( "test75", CFiringofStartupTriggerAndListTrigger::TCLBTFW075_testL ),
-               ENTRY( "test76", CFiringofStartupTriggerAndListTrigger::TCLBTFW076_testL ),
-               ENTRY( "test77", CFiringofStartupTriggerAndListTrigger::TCLBTFW077_testL ),
-               ENTRY( "test78", CFiringofStartupTriggerAndListTrigger::TCLBTFW078_testL ),
-               ENTRY( "test79", CFiringofStartupTriggerAndListTrigger::TCLBTFW079_testL ),
-               ENTRY( "test80", CFiringofStartupTriggerAndListTrigger::TCLBTFW080_testL ),
-               ENTRY( "test81", CFiringofStartupTriggerAndListTrigger::TCLBTFW081_testL ),
-               ENTRY( "test82", CFiringofStartupTriggerAndListTrigger::TCLBTFW082_testL ),
-               ENTRY( "test83", CFiringofStartupTriggerAndListTrigger::TCLBTFW083_testL ),
-               ENTRY( "test84", CFiringofStartupTriggerAndListTrigger::TCLBTFW084_testL ),
-               ENTRY( "test85", CFiringofStartupTriggerAndListTrigger::TCLBTFW085_testL ),
-               ENTRY( "test86", CFiringofStartupTriggerAndListTrigger::TCLBTFW086_testL ),
-               ENTRY( "test87", CFiringofStartupTriggerAndListTrigger::TCLBTFW087_testL ),
-               ENTRY( "test88", CFiringofStartupTriggerAndListTrigger::TCLBTFW088_testL ),
-               ENTRY( "test89", CFiringofStartupTriggerAndListTrigger::TCLBTFW089_testL ),
-			   ENTRY( "test90", CFiringofStartupTriggerAndListTrigger::TCLBTFW090_testL ),
-               ENTRY( "test91", CFiringofStartupTriggerAndListTrigger::TCLBTFW091_testL ),
-               ENTRY( "test92", CFiringofStartupTriggerAndListTrigger::TCLBTFW092_testL ),
-               ENTRY( "test93", CFiringofStartupTriggerAndListTrigger::TCLBTFW093_testL ),
-               ENTRY( "test94", CFiringofStartupTriggerAndListTrigger::TCLBTFW094_testL ),
-               ENTRY( "test95", CFiringofStartupTriggerAndListTrigger::TCLBTFW095_testL ),
-				
-
-
+        ENTRY( "test02", CFiringofStartupTriggerAndListTrigger::TCLBTFW002_testL ),
+        ENTRY( "test03", CFiringofStartupTriggerAndListTrigger::TCLBTFW003_testL ),
+        ENTRY( "test04", CFiringofStartupTriggerAndListTrigger::TCLBTFW004_testL ),
+        ENTRY( "test05", CFiringofStartupTriggerAndListTrigger::TCLBTFW005_testL ),
+        ENTRY( "test06", CFiringofStartupTriggerAndListTrigger::TCLBTFW006_testL ),
+        ENTRY( "test07", CFiringofStartupTriggerAndListTrigger::TCLBTFW007_testL ),
+        ENTRY( "test08", CFiringofStartupTriggerAndListTrigger::TCLBTFW008_testL ),
+        ENTRY( "test09", CFiringofStartupTriggerAndListTrigger::TCLBTFW009_testL ),
+        ENTRY( "test10", CFiringofStartupTriggerAndListTrigger::TCLBTFW010_testL ),
+        ENTRY( "test11", CFiringofStartupTriggerAndListTrigger::TCLBTFW011_testL ),
+        ENTRY( "test12", CFiringofStartupTriggerAndListTrigger::TCLBTFW012_testL ),
+        ENTRY( "test13", CFiringofStartupTriggerAndListTrigger::TCLBTFW013_testL ),
+        ENTRY( "test14", CFiringofStartupTriggerAndListTrigger::TCLBTFW014_testL ),
+        ENTRY( "test15", CFiringofStartupTriggerAndListTrigger::TCLBTFW015_testL ),
+        
+        ENTRY( "test70", CFiringofStartupTriggerAndListTrigger::TCLBTFW070_testL ),
+        ENTRY( "test71", CFiringofStartupTriggerAndListTrigger::TCLBTFW071_testL ),
+        ENTRY( "test72", CFiringofStartupTriggerAndListTrigger::TCLBTFW072_testL ),
+        ENTRY( "test73", CFiringofStartupTriggerAndListTrigger::TCLBTFW073_testL ),
+        ENTRY( "test74", CFiringofStartupTriggerAndListTrigger::TCLBTFW074_testL ),
+        ENTRY( "test75", CFiringofStartupTriggerAndListTrigger::TCLBTFW075_testL ),
+        ENTRY( "test76", CFiringofStartupTriggerAndListTrigger::TCLBTFW076_testL ),
+        ENTRY( "test77", CFiringofStartupTriggerAndListTrigger::TCLBTFW077_testL ),
+        ENTRY( "test78", CFiringofStartupTriggerAndListTrigger::TCLBTFW078_testL ),
+        ENTRY( "test79", CFiringofStartupTriggerAndListTrigger::TCLBTFW079_testL ),
+        ENTRY( "test80", CFiringofStartupTriggerAndListTrigger::TCLBTFW080_testL ),
+        ENTRY( "test81", CFiringofStartupTriggerAndListTrigger::TCLBTFW081_testL ),
+        ENTRY( "test82", CFiringofStartupTriggerAndListTrigger::TCLBTFW082_testL ),
+        ENTRY( "test83", CFiringofStartupTriggerAndListTrigger::TCLBTFW083_testL ),
+        ENTRY( "test84", CFiringofStartupTriggerAndListTrigger::TCLBTFW084_testL ),
+        ENTRY( "test85", CFiringofStartupTriggerAndListTrigger::TCLBTFW085_testL ),
+        ENTRY( "test86", CFiringofStartupTriggerAndListTrigger::TCLBTFW086_testL ),
+        ENTRY( "test87", CFiringofStartupTriggerAndListTrigger::TCLBTFW087_testL ),
+        ENTRY( "test88", CFiringofStartupTriggerAndListTrigger::TCLBTFW088_testL ),
+        ENTRY( "test89", CFiringofStartupTriggerAndListTrigger::TCLBTFW089_testL ),
+        ENTRY( "test90", CFiringofStartupTriggerAndListTrigger::TCLBTFW090_testL ),
+        ENTRY( "test91", CFiringofStartupTriggerAndListTrigger::TCLBTFW091_testL ),
+        ENTRY( "test92", CFiringofStartupTriggerAndListTrigger::TCLBTFW092_testL ),
+        ENTRY( "test93", CFiringofStartupTriggerAndListTrigger::TCLBTFW093_testL ),
+        ENTRY( "test94", CFiringofStartupTriggerAndListTrigger::TCLBTFW094_testL ),
+        ENTRY( "test95", CFiringofStartupTriggerAndListTrigger::TCLBTFW095_testL ),
         };
 
     const TInt count = sizeof( KFunctions ) / 
@@ -224,18 +302,14 @@
     {
    	
 	iLog->Log(_L("Entering Test1"));
-  _LIT( KSimulationFile,"c:\\system\\data\\simu_move1.sps" );
- // _LIT( KSimulationFile0,"c:\\system\\data\\simu_move2.sps" );
-	 RPositionServer iLocationServer;
-     RPositioner iPositioner;
- 	 
- 	 // Connect to the location server
-    User::LeaveIfError(iLocationServer.Connect());
-
-    // Open the positioner
-    User::LeaveIfError(iPositioner.Open(iLocationServer));//,KPosSimulationPsyImplUid));
- 	 
- 	 RLbtServer lbtserver;
+	_LIT( KSimulationFile,"c:\\system\\data\\simu_move1.sps" );
+	
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+	 // Enable simulation psy
+     EnableSimPSYL();
+  	 RLbtServer lbtserver;
  	 RLbt lbt;
  	 iLog->Log(_L("Before connecting"));
  	 User::LeaveIfError( lbtserver.Connect() );
@@ -278,8 +352,8 @@
 	trig->SetRequestorL(ReqType,ReqFormat,ReqData);  
     // set condition
 
-    TCoordinate coordinate(62.5285,23.9385);
-   // TCoordinate coordinate(62.4438,23.9385);
+    TCoordinate coordinate;
+    GetCurrentCoordinateL( coordinate );
     
     CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,1000);
     CleanupStack::PushL( circle );
@@ -316,8 +390,7 @@
     firePosition.Distance(coordinate,trigDistance);
       //close sim psy
     
-    iPositioner.Close();
-    iLocationServer.Close();
+    RestoreProfileL();
     if( trigDistance<=1000 && FireInfo.iTriggerId==trigId )
     {
     	lbt.DeleteTriggerL(trigId);
@@ -355,7 +428,13 @@
  	 RLbt lbt;
  	  RPositionServer iLocationServer;
      RPositioner iPositioner;
- 	 
+     
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+     // Enable simulation psy
+     EnableSimPSYL();
+     
  	 // Connect to the location server
     User::LeaveIfError(iLocationServer.Connect());
 
@@ -396,9 +475,10 @@
 	trig->SetRequestorL(ReqType,ReqFormat,ReqData);     
     // set condition
     
-    TCoordinate coordinate(62.5285,23.9385);
-    
-    CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,1000);
+    TCoordinate coordinate;
+    GetCurrentCoordinateL( coordinate );
+    
+    CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,200);
     CleanupStack::PushL( circle );
     
          
@@ -424,10 +504,12 @@
     
     notifier->StartNotification( wait );
     wait->Start( );
+    iLog->Log(_L("Trigger fired"));
      TLbtTriggerFireInfo FireInfo;
     TReal32 trigDistance;
     TPosition firePosition;
     FireInfo = notifier->GetFiredTrigger();
+    iLog->Log(_L("Trigger fired"));
     FireInfo.iFiredPositionInfo.GetPosition(firePosition);
     firePosition.Distance(coordinate,trigDistance);
     
@@ -435,7 +517,8 @@
     
     iPositioner.Close();
     iLocationServer.Close();
-    if( trigDistance>=1000 && FireInfo.iTriggerId==trigId )
+    RestoreProfileL();
+    if( FireInfo.iTriggerId==trigId )
     {
     	lbt.DeleteTriggerL(trigId);
 	   	CleanupStack::PopAndDestroy( notifier );
@@ -453,7 +536,7 @@
     CleanupStack::Pop( &lbt );
     CleanupStack::PopAndDestroy( &lbtserver );
     delete wait;
-    
+    iLog->Log(_L("Test case passed "));
     return -99; 
     }
 	
@@ -471,13 +554,12 @@
  	  RPositionServer iLocationServer;
      RPositioner iPositioner;
  	 
- 	 // Connect to the location server
-    User::LeaveIfError(iLocationServer.Connect());
-
-    // Open the positioner
-    User::LeaveIfError(iPositioner.Open(iLocationServer));//,KPosSimulationPsyImplUid));
- 	 
- 	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+     // Enable simulation psy
+     EnableSimPSYL();
+     
  	 User::LeaveIfError( lbtserver.Connect() );
      CleanupClosePushL( lbtserver );
  	 User::LeaveIfError( lbt.Open( lbtserver ) );
@@ -512,9 +594,10 @@
 	trig->SetRequestorL(ReqType,ReqFormat,ReqData);  
     // set condition
     
-    TCoordinate coordinate(62.5285,23.9385);
-    
-    CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,1000);
+    TCoordinate coordinate;
+    GetCurrentCoordinateL( coordinate );
+    
+    CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,200);
     CleanupStack::PushL( circle );
     
          
@@ -538,15 +621,13 @@
     notifier->CreateTriggers( lbt,*trig,trigId,ETrue,wait );
     wait->Start( );
     
-   /* notifier->StartNotification( wait );
-    wait->Start( );*/
+    RestoreProfileL();
     
     CleanupStack::PopAndDestroy( notifier );
     CleanupStack::PopAndDestroy( trig );
     CleanupStack::Pop( &lbt );
     CleanupStack::PopAndDestroy( &lbtserver );
     delete wait;
-    User::Exit(0);
     return KErrNone; 
       
     }
@@ -566,6 +647,12 @@
  	 RPositionServer iLocationServer;
      RPositioner iPositioner;
  	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+     // Enable simulation psy
+     EnableSimPSYL();
+     
  	 // Connect to the location server
     User::LeaveIfError(iLocationServer.Connect());
 
@@ -605,7 +692,8 @@
 	trig->SetRequestorL(ReqType,ReqFormat,ReqData);     
     // set condition
     
-    TCoordinate coordinate(62.5285,23.9385);
+    TCoordinate coordinate;
+    GetCurrentCoordinateL( coordinate );
     
     CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,1000);
     CleanupStack::PushL( circle );
@@ -645,7 +733,8 @@
     
     iPositioner.Close();
     iLocationServer.Close();
-    if( trigDistance<=1000 && FireInfo.iTriggerId==trigId )
+    RestoreProfileL();
+    if( FireInfo.iTriggerId==trigId )
     {
     	lbt.DeleteTriggerL(trigId);
 	   	CleanupStack::PopAndDestroy( notifier );
@@ -689,6 +778,11 @@
     // Open the positioner
     User::LeaveIfError(iPositioner.Open(iLocationServer));//,KPosSimulationPsyImplUid));
  	 
+    // Set profile to offline mode.This is required to avoid movement detection blocking the 
+    // trigger firing.
+    SetProfileToOfflineL();
+    // Enable simulation psy
+    EnableSimPSYL();
  	 
  	 User::LeaveIfError( lbtserver.Connect() );
      CleanupClosePushL( lbtserver );
@@ -727,7 +821,8 @@
 	trig->SetRequestorL(ReqType,ReqFormat,ReqData);     
     // set condition
     
-    TCoordinate coordinate(62.5285,23.9385);
+    TCoordinate coordinate;
+    GetCurrentCoordinateL( coordinate );
     
     CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,1000);
     CleanupStack::PushL( circle );
@@ -763,6 +858,7 @@
   //  User::After(60000000);
   iPositioner.Close();
     iLocationServer.Close();
+    RestoreProfileL();
      if(notifier->iTriggerFireCount> 0)
     {
     CleanupStack::PopAndDestroy( notifier );
@@ -804,6 +900,11 @@
     // Open the positioner
     User::LeaveIfError(iPositioner.Open(iLocationServer));//,KPosSimulationPsyImplUid));
  	 
+    // Set profile to offline mode.This is required to avoid movement detection blocking the 
+    // trigger firing.
+    SetProfileToOfflineL();
+    // Enable simulation psy
+    EnableSimPSYL();
  	 
  	 User::LeaveIfError( lbtserver.Connect() );
      CleanupClosePushL( lbtserver );
@@ -842,8 +943,8 @@
 	trig->SetRequestorL(ReqType,ReqFormat,ReqData);     
     // set condition
     
-    TCoordinate coordinate(62.5285,23.9385);
-   // TCoordinate coordinate(62.4438,23.9385);
+    TCoordinate coordinate;
+    GetCurrentCoordinateL( coordinate );
     
     CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,1000);
     CleanupStack::PushL( circle );
@@ -880,6 +981,7 @@
     firePosition.Distance(coordinate,trigDistance);
     iPositioner.Close();
     iLocationServer.Close();
+    RestoreProfileL();
     if(trigDistance<=1000 && FireInfo.iTriggerId==trigId )
     {
     
@@ -894,7 +996,7 @@
     }
     else
     {
-    	CleanupStack::PopAndDestroy( notifier );
+    CleanupStack::PopAndDestroy( notifier );
     CleanupStack::PopAndDestroy( trig );
     CleanupStack::Pop( &lbt );
     CleanupStack::PopAndDestroy( &lbtserver );
@@ -930,6 +1032,12 @@
  	 User::LeaveIfError( lbt.Open( lbtserver ) );
  	 CleanupClosePushL( lbt );
  	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+     // Enable simulation psy
+     EnableSimPSYL();
+ 	 
  	 //Delete all the existing trggers
  	 TRAP_IGNORE(lbt.DeleteTriggersL());
  	
@@ -957,7 +1065,8 @@
 	trig->SetRequestorL(ReqType,ReqFormat,ReqData);     
     // set condition
     
-    TCoordinate coordinate(62.5285,23.9385);
+    TCoordinate coordinate;
+    GetCurrentCoordinateL( coordinate );
     
     CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,1000);
     CleanupStack::PushL( circle );
@@ -994,6 +1103,7 @@
     firePosition.Distance(coordinate,trigDistance);
     iPositioner.Close();
     iLocationServer.Close();
+    RestoreProfileL();
     if(trigDistance==0 && FireInfo.iTriggerId==trigId )
     {
     
@@ -1043,6 +1153,12 @@
  	 User::LeaveIfError( lbt.Open( lbtserver ) );
  	 CleanupClosePushL( lbt );
  	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+     // Enable simulation psy
+     EnableSimPSYL();
+     
  	 //Delete all the existing trggers
  	 TRAP_IGNORE(lbt.DeleteTriggersL());
  	
@@ -1069,7 +1185,8 @@
 	trig->SetRequestorL(ReqType,ReqFormat,ReqData);    
     // set condition
     
-    TCoordinate coordinate(62.5285,23.9385);
+    TCoordinate coordinate;
+    GetCurrentCoordinateL( coordinate );
     coordinate.Move(90,2000);
     CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,1000);
     CleanupStack::PushL( circle );
@@ -1106,6 +1223,7 @@
     firePosition.Distance(coordinate,trigDistance);
     iPositioner.Close();
     iLocationServer.Close();
+    RestoreProfileL();
     if( trigDistance>=1000 && FireInfo.iTriggerId==trigId )
     {
     
@@ -1152,6 +1270,12 @@
  	 User::LeaveIfError( lbt.Open( lbtserver ) );
  	 CleanupClosePushL( lbt );
  	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+     // Enable simulation psy
+     EnableSimPSYL();
+ 	 
  	 //Delete all the existing trggers
  	 TRAP_IGNORE(lbt.DeleteTriggersL());
  	
@@ -1178,7 +1302,8 @@
 	trig->SetRequestorL(ReqType,ReqFormat,ReqData);     
     // set condition
     
-    TCoordinate coordinate(62.5285,23.9385);
+    TCoordinate coordinate;
+    GetCurrentCoordinateL( coordinate );
     
     CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,1000);
     CleanupStack::PushL( circle );
@@ -1213,6 +1338,7 @@
 	wait->Start( );
     iPositioner.Close();
     iLocationServer.Close();
+    RestoreProfileL();
        if(notifier->iTriggerFireCount== 0)
     {
     CleanupStack::PopAndDestroy( notifier );
@@ -1262,6 +1388,11 @@
  	 User::LeaveIfError( lbt.Open( lbtserver ) );
  	 CleanupClosePushL( lbt );
  	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+     // Enable simulation psy
+     EnableSimPSYL();
  	 //Delete all the existing trggers
  	 TRAP_IGNORE(lbt.DeleteTriggersL());
  	
@@ -1288,7 +1419,8 @@
 	trig->SetRequestorL(ReqType,ReqFormat,ReqData);     
     // set condition
     
-    TCoordinate coordinate(62.5285,23.9385);
+    TCoordinate coordinate;
+    GetCurrentCoordinateL( coordinate );
     coordinate.Move(90,1100);
     CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,1000);
     CleanupStack::PushL( circle );
@@ -1321,6 +1453,7 @@
 	wait->Start( );
     iPositioner.Close();
     iLocationServer.Close();
+    RestoreProfileL();
        if(notifier->iTriggerFireCount== 0)
     {
     CleanupStack::PopAndDestroy( notifier );
@@ -1356,7 +1489,8 @@
  	 User::LeaveIfError( lbtserver.Connect() );
      CleanupClosePushL( lbtserver );
  
-    TCoordinate coordinate(62.4438,23.9385);
+    TCoordinate coordinate;
+    GetCurrentCoordinateL( coordinate );
     TestModuleIf().SetExitReason( CTestModuleIf::EPanic, 2);  
     CTriggerFireObserver* notifier= CTriggerFireObserver::NewL( lbt,coordinate );
     CActiveSchedulerWait* wait=new(ELeave)CActiveSchedulerWait;
@@ -1422,7 +1556,8 @@
 	trig->SetRequestorL(ReqType,ReqFormat,ReqData);     
     // set condition
     
-    TCoordinate coordinate(62.5285,23.9385);
+    TCoordinate coordinate;
+    GetCurrentCoordinateL( coordinate );
     
     CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,1000);
     CleanupStack::PushL( circle );
@@ -1486,6 +1621,11 @@
  	 User::LeaveIfError( lbt.Open( lbtserver ) );
  	 CleanupClosePushL( lbt );
  	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+     // Enable simulation psy
+     EnableSimPSYL();
  	 //Delete all the existing trggers
  	 TRAP_IGNORE(lbt.DeleteTriggersL());
  	
@@ -1513,7 +1653,8 @@
 	trig->SetRequestorL(ReqType,ReqFormat,ReqData);     
     // set condition
     
-    TCoordinate coordinate(62.5285,23.9385);
+    TCoordinate coordinate;
+    GetCurrentCoordinateL( coordinate );
     
     CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,10000);
     CleanupStack::PushL( circle );
@@ -1564,6 +1705,7 @@
  		wait->Start( );
  		iPositioner.Close();
     iLocationServer.Close();
+    RestoreProfileL();
  if(notifier->iTriggerFireCount > 0)
  {
   lbt.DeleteTriggerL(trigId);
@@ -1590,371 +1732,10 @@
       
     }
     
-  // Testing the hysteresis condition for entry type of trigger  
-    
-TInt CFiringofStartupTriggerAndListTrigger::TCLBTFW014_testL( CStifItemParser& /* aItem */ )
-    {
-
- _LIT( KSimulationFile,"c:\\system\\data\\test1.nme" );
-
- 	 RLbtServer lbtserver;
- 	 RLbt lbt;
- 	 	 RPositionServer iLocationServer;
-     RPositioner iPositioner;
- 	 
- 	 // Connect to the location server
-    User::LeaveIfError(iLocationServer.Connect());
-
-    // Open the positioner
-    User::LeaveIfError(iPositioner.Open(iLocationServer));//,KPosSimulationPsyImplUid));
- 	 
- 	 
- 	 User::LeaveIfError( lbtserver.Connect() );
-     CleanupClosePushL( lbtserver );
-     iLog->Log(_L("Connection to RLbtServer Passed "));
- 	 User::LeaveIfError( lbt.Open( lbtserver ) );
- 	 iLog->Log(_L("Subsession opened "));
- 	 CleanupClosePushL( lbt );
- 	 
- 	 //Delete all the existing trggers
- 	 TRAP_IGNORE(lbt.DeleteTriggersL());
- 	
- 	 CRepository* repository = CRepository::NewLC(KCRUidSimulationPSY);
- 	 iLog->Log(_L("Simulation PSY Repository object created"));
-	 User::LeaveIfError(repository->Set(KCRKeySimPSYSimulationFile, KSimulationFile));
-	 iLog->Log(_L("Simulation input file set "));
-	 CleanupStack::PopAndDestroy(repository);
-	 
-	  //Construct a session trigger
-    CLbtStartupTrigger* trig = CLbtStartupTrigger::NewL();
-    
-    //Push to cleanup stack
-    CleanupStack::PushL( trig );
-    iLog->Log(_L("Startup Trigger Entry Created "));
-    
-    // Set Name
-    trig->SetNameL(_L("Trigger1"));
-   // _LIT( KMyTriggerHandlingProcessName, "About.exe");
-    _LIT( KMyTriggerHandlingProcessName, "ConsoleUI.exe");
-    
-    TSecureId secureid;
-    trig->SetProcessId(KMyTriggerHandlingProcessName,secureid);
-    //Set Requestor
- 	CRequestorBase::TRequestorType ReqType=CRequestorBase::ERequestorUnknown;
-	CRequestorBase::_TRequestorFormat ReqFormat=CRequestorBase::EFormatUnknown;
-	TBuf<KLbtMaxNameLength> ReqData=_L("");
-	trig->SetRequestorL(ReqType,ReqFormat,ReqData);     
-    // set condition
-    
-    TCoordinate coordinate(65.5285,23.9385);
-   // TCoordinate coordinate(62.4438,23.9385);
-    
-    CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,1000);
-    CleanupStack::PushL( circle );
-    
-         
-    // ownership of circle object transferred to the condition object
-    CLbtTriggerConditionArea* condition=CLbtTriggerConditionArea::NewL(
-                                                circle,
-                                                CLbtTriggerConditionArea::EFireOnEnter);
-        
-    CleanupStack::Pop( circle );
-    
-    trig->SetCondition(condition); // ownership transferred to object
-
-    TLbtTriggerId trigId;
-        
-        
-    CTriggerFireObserver* notifier= CTriggerFireObserver::NewL( lbt,coordinate);
-    CleanupStack::PushL( notifier );
-    
-    CActiveSchedulerWait* wait=new(ELeave)CActiveSchedulerWait;
-        
-    notifier->CreateTriggers( lbt,*trig,trigId,ETrue,wait );
-    wait->Start( );
-    iLog->Log(_L("Trigger Created"));
-    notifier->StartNotification( wait );
-    wait->Start( );
-   // time_t time1,time2;
-   // Time();
-   // notifier->StartNotification( wait );
-   // wait->Start( );
-    
-  //  notifier->StartNotification( wait );
-    wait->Start( );
-    notifier->iWaitStatus = KRequestPending;
-    
-  //  notifier->StartNotification( wait );
-	notifier->After(1000000);
-	wait->Start( );
-    
-    iLog->Log(_L("Trigger Fired"));
-    TLbtTriggerFireInfo FireInfo;
-    TReal32 trigDistance;
-    TPosition firePosition;
-    FireInfo = notifier->GetFiredTrigger();
-    FireInfo.iFiredPositionInfo.GetPosition(firePosition);
-    firePosition.Distance(coordinate,trigDistance);
-    iPositioner.Close();
-    iLocationServer.Close();
-    lbt.DeleteTriggerL(trigId);
-    if(notifier->iTriggerFireCount ==2)
-    {
-    	CleanupStack::PopAndDestroy( notifier );
-    CleanupStack::PopAndDestroy( trig );
-    CleanupStack::Pop( &lbt );
-    CleanupStack::PopAndDestroy( &lbtserver );
-    delete wait;
-    
-    return KErrNone; 
-    }
-    else
-    {
-    	CleanupStack::PopAndDestroy( notifier );
-    CleanupStack::PopAndDestroy( trig );
-    CleanupStack::Pop( &lbt );
-    CleanupStack::PopAndDestroy( &lbtserver );
-    delete wait;
-    
-    return -99; 
-    }
-    }
-    
-    //Testing the hysteresis condition for exit type of trigger
-    
-    TInt CFiringofStartupTriggerAndListTrigger::TCLBTFW015_testL( CStifItemParser& /* aItem */ )
-    {
-
- _LIT( KSimulationFile,"c:\\system\\data\\test2.nme" );
-	
- 	 RLbtServer lbtserver;
- 	 RLbt lbt;
- 	 	 RPositionServer iLocationServer;
-     RPositioner iPositioner;
- 	 
- 	 // Connect to the location server
-    User::LeaveIfError(iLocationServer.Connect());
-
-    // Open the positioner
-    User::LeaveIfError(iPositioner.Open(iLocationServer));//,KPosSimulationPsyImplUid));
- 	 
- 	 
- 	 User::LeaveIfError( lbtserver.Connect() );
-     CleanupClosePushL( lbtserver );
-     iLog->Log(_L("Connection to RLbtServer Passed "));
- 	 User::LeaveIfError( lbt.Open( lbtserver ) );
- 	 iLog->Log(_L("Subsession opened "));
- 	 CleanupClosePushL( lbt );
- 	 
- 	 //Delete all the existing trggers
- 	 TRAP_IGNORE(lbt.DeleteTriggersL());
- 	
- 	 CRepository* repository = CRepository::NewLC(KCRUidSimulationPSY);
- 	 iLog->Log(_L("Simulation PSY Repository object created"));
-	 User::LeaveIfError(repository->Set(KCRKeySimPSYSimulationFile, KSimulationFile));
-	 iLog->Log(_L("Simulation input file set "));
-	 CleanupStack::PopAndDestroy(repository);
-	 
-	  //Construct a session trigger
-    CLbtStartupTrigger* trig = CLbtStartupTrigger::NewL();
-    
-    //Push to cleanup stack
-    CleanupStack::PushL( trig );
-    iLog->Log(_L("Startup Trigger Entry Created "));
-    
-    // Set Name
-    trig->SetNameL(_L("Trigger1"));
-   // _LIT( KMyTriggerHandlingProcessName, "About.exe");
-    _LIT( KMyTriggerHandlingProcessName, "ConsoleUI.exe");
-    
-    TSecureId secureid;
-    trig->SetProcessId(KMyTriggerHandlingProcessName,secureid);
-    //Set Requestor
- 	CRequestorBase::TRequestorType ReqType=CRequestorBase::ERequestorUnknown;
-	CRequestorBase::_TRequestorFormat ReqFormat=CRequestorBase::EFormatUnknown;
-	TBuf<KLbtMaxNameLength> ReqData=_L("");
-	trig->SetRequestorL(ReqType,ReqFormat,ReqData);     
-    // set condition
-    
-    TCoordinate coordinate(65.5285,23.9385);
-   // TCoordinate coordinate(62.4438,23.9385);
-    
-    CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,1000);
-    CleanupStack::PushL( circle );
-    
-         
-    // ownership of circle object transferred to the condition object
-    CLbtTriggerConditionArea* condition=CLbtTriggerConditionArea::NewL(
-                                                circle,
-                                                CLbtTriggerConditionArea::EFireOnExit);
-        
-    CleanupStack::Pop( circle );
-    
-    trig->SetCondition(condition); // ownership transferred to object
-
-    TLbtTriggerId trigId;
-        
-        
-    CTriggerFireObserver* notifier= CTriggerFireObserver::NewL( lbt,coordinate);
-    CleanupStack::PushL( notifier );
-    
-    CActiveSchedulerWait* wait=new(ELeave)CActiveSchedulerWait;
-        
-    notifier->CreateTriggers( lbt,*trig,trigId,ETrue,wait );
-    wait->Start( );
-    iLog->Log(_L("Trigger Created"));
-    notifier->StartNotification( wait );
-    wait->Start( );
-  //  notifier->StartNotification( wait );
-    wait->Start( );
-  //  notifier->StartNotification( wait );
-    //  wait->Start( );
-    notifier->iWaitStatus = KRequestPending;
-    
-   // notifier->StartNotification( wait );
-	notifier->After(15000000);
-	wait->Start( );
-    iLog->Log(_L("Trigger Fired"));
-    TLbtTriggerFireInfo FireInfo;
-    TReal32 trigDistance;
-    TPosition firePosition;
-    FireInfo = notifier->GetFiredTrigger();
-    FireInfo.iFiredPositionInfo.GetPosition(firePosition);
-    firePosition.Distance(coordinate,trigDistance);
-    iPositioner.Close();
-    iLocationServer.Close();
-    lbt.DeleteTriggerL(trigId);
-    if( notifier->iTriggerFireCount ==2)
-    {
-    	CleanupStack::PopAndDestroy( notifier );
-    CleanupStack::PopAndDestroy( trig );
-    CleanupStack::Pop( &lbt );
-    CleanupStack::PopAndDestroy( &lbtserver );
-    delete wait;
-    
-    return KErrNone; 
-    }
-    else
-    {
-    	CleanupStack::PopAndDestroy( notifier );
-    CleanupStack::PopAndDestroy( trig );
-    CleanupStack::Pop( &lbt );
-    CleanupStack::PopAndDestroy( &lbtserver );
-    delete wait;
-    
-    return -99; 
-    }
-    }
-    
-    
-    //Registering for trigger fire notification after trigger fires multiple times
-    TInt CFiringofStartupTriggerAndListTrigger::TCLBTFW016_testL( CStifItemParser& /* aItem */ )
-    {
-
- _LIT( KSimulationFile,"c:\\system\\data\\test3.nme" );
-
- 	 RLbtServer lbtserver;
- 	 RLbt lbt;
- 	 	 RPositionServer iLocationServer;
-     RPositioner iPositioner;
- 	 
- 	 // Connect to the location server
-    User::LeaveIfError(iLocationServer.Connect());
-
-    // Open the positioner
-    User::LeaveIfError(iPositioner.Open(iLocationServer));//,KPosSimulationPsyImplUid));
- 	 
- 	 
- 	 User::LeaveIfError( lbtserver.Connect() );
-     CleanupClosePushL( lbtserver );
-     iLog->Log(_L("Connection to RLbtServer Passed "));
- 	 User::LeaveIfError( lbt.Open( lbtserver ) );
- 	 iLog->Log(_L("Subsession opened "));
- 	 CleanupClosePushL( lbt );
- 	 
- 	 //Delete all the existing trggers
- 	 TRAP_IGNORE(lbt.DeleteTriggersL());
- 	
- 	 CRepository* repository = CRepository::NewLC(KCRUidSimulationPSY);
- 	 iLog->Log(_L("Simulation PSY Repository object created"));
-	 User::LeaveIfError(repository->Set(KCRKeySimPSYSimulationFile, KSimulationFile));
-	 iLog->Log(_L("Simulation input file set "));
-	 CleanupStack::PopAndDestroy(repository);
-	 
-	  //Construct a session trigger
-    CLbtStartupTrigger* trig = CLbtStartupTrigger::NewL();
-    
-    //Push to cleanup stack
-    CleanupStack::PushL( trig );
-    iLog->Log(_L("Startup Trigger Entry Created "));
-    
-    // Set Name
-    trig->SetNameL(_L("Trigger1"));
-   // _LIT( KMyTriggerHandlingProcessName, "About.exe");
-    _LIT( KMyTriggerHandlingProcessName, "ConsoleUI.exe");
-    
-    TSecureId secureid;
-    trig->SetProcessId(KMyTriggerHandlingProcessName,secureid);
-    //Set Requestor
- 	CRequestorBase::TRequestorType ReqType=CRequestorBase::ERequestorUnknown;
-	CRequestorBase::_TRequestorFormat ReqFormat=CRequestorBase::EFormatUnknown;
-	TBuf<KLbtMaxNameLength> ReqData=_L("");
-	trig->SetRequestorL(ReqType,ReqFormat,ReqData);     
-    // set condition
-    
-    TCoordinate coordinate(62.5285,23.9385);
-   // TCoordinate coordinate(62.4438,23.9385);
-    
-    CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,1000);
-    CleanupStack::PushL( circle );
-    
-         
-    // ownership of circle object transferred to the condition object
-    CLbtTriggerConditionArea* condition=CLbtTriggerConditionArea::NewL(
-                                                circle,
-                                                CLbtTriggerConditionArea::EFireOnEnter);
-        
-    CleanupStack::Pop( circle );
-    
-    trig->SetCondition(condition); // ownership transferred to object
-	
-    TLbtTriggerId trigId;
-        
-        
-    CTriggerFireObserver* notifier= CTriggerFireObserver::NewL( lbt,coordinate);
-    CleanupStack::PushL( notifier );
-    
-    CActiveSchedulerWait* wait=new(ELeave)CActiveSchedulerWait;
-        
-    notifier->CreateTriggers( lbt,*trig,trigId,ETrue,wait );
-    wait->Start( );
-    iLog->Log(_L("Trigger Created"));
-    notifier->After(50000000);
-    notifier->StartNotification(wait);
-    wait->Start( );
-    iLog->Log(_L("Trigger Fired"));
-    TLbtTriggerFireInfo FireInfo;
-    TReal32 trigDistance;
-    TPosition firePosition;
-    FireInfo = notifier->GetFiredTrigger();
-    FireInfo.iFiredPositionInfo.GetPosition(firePosition);
-    firePosition.Distance(coordinate,trigDistance);
-    iPositioner.Close();
-    iLocationServer.Close();
-    
-    	CleanupStack::PopAndDestroy( notifier );
-    CleanupStack::PopAndDestroy( trig );
-    CleanupStack::Pop( &lbt );
-    CleanupStack::PopAndDestroy( &lbtserver );
-    delete wait;
-    
-    return KErrNone; 
-    
-    }
     
    
    //Firing of  startup trigger when trigger handling process not found in the system
-    TInt CFiringofStartupTriggerAndListTrigger::TCLBTFW017_testL( CStifItemParser& /* aItem */ )
+    TInt CFiringofStartupTriggerAndListTrigger::TCLBTFW014_testL( CStifItemParser& /* aItem */ )
     {
 
  _LIT( KSimulationFile,"c:\\system\\data\\simu_move1.sps" );
@@ -1978,6 +1759,12 @@
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt );
  	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+     // Enable simulation psy
+     EnableSimPSYL();
+ 	 
  	 //Delete all the existing trggers
  	 TRAP_IGNORE(lbt.DeleteTriggersL());
  	
@@ -2008,8 +1795,8 @@
        
     // set condition
     
-    TCoordinate coordinate(62.5285,23.9385);
-   // TCoordinate coordinate(62.4438,23.9385);
+    TCoordinate coordinate;
+    GetCurrentCoordinateL( coordinate );
     
     CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,1000);
     CleanupStack::PushL( circle );
@@ -2046,7 +1833,7 @@
     firePosition.Distance(coordinate,trigDistance);
     iPositioner.Close();
     iLocationServer.Close();
-   
+    RestoreProfileL();
     	CleanupStack::PopAndDestroy( notifier );
     CleanupStack::PopAndDestroy( trig );
     CleanupStack::Pop( &lbt );
@@ -2060,7 +1847,7 @@
     
     //Firing of multiple Entry type startup triggers
 
-TInt CFiringofStartupTriggerAndListTrigger::TCLBTFW018_testL( CStifItemParser& /* aItem */ )
+TInt CFiringofStartupTriggerAndListTrigger::TCLBTFW015_testL( CStifItemParser& /* aItem */ )
     {
 
  _LIT( KSimulationFile,"c:\\system\\data\\simu_move1.sps" );
@@ -2075,6 +1862,12 @@
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt );
  	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+     // Enable simulation psy
+     EnableSimPSYL();
+ 	 
  	 //Delete all the existing trggers
  	 TRAP_IGNORE(lbt.DeleteTriggersL());
  	 
@@ -2111,8 +1904,8 @@
 	trig2->SetRequestorL(ReqType,ReqFormat,ReqData);     
     // set condition
 
-    TCoordinate coordinate(62.5285,23.9385);
-   // TCoordinate coordinate(62.4438,23.9385);
+    TCoordinate coordinate;
+    GetCurrentCoordinateL( coordinate );
     
     CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,1000);
     CleanupStack::PushL( circle );
@@ -2143,13 +1936,15 @@
     notifier->StartNotification( wait );
   	wait->Start( );
     iLog->Log(_L("Triggers Fired"));
+    wait->Start( );
+    iLog->Log(_L("Triggers Fired"));
     TLbtTriggerFireInfo FireInfo;
     TReal32 trigDistance;
     TPosition firePosition;
     FireInfo = notifier->GetFiredTrigger();
     FireInfo.iFiredPositionInfo.GetPosition(firePosition);
     firePosition.Distance(coordinate,trigDistance);
-   
+    RestoreProfileL();
     	CleanupStack::PopAndDestroy( notifier );
     CleanupStack::PopAndDestroy( trig2);
     CleanupStack::Pop( trig1 );
@@ -2162,6 +1957,369 @@
     
     }
    
+
+// Testing the hysteresis condition for entry type of trigger  
+  
+TInt CFiringofStartupTriggerAndListTrigger::TCLBTFW016_testL( CStifItemParser& /* aItem */ )
+  {
+
+_LIT( KSimulationFile,"c:\\system\\data\\test1.nme" );
+
+   RLbtServer lbtserver;
+   RLbt lbt;
+       RPositionServer iLocationServer;
+   RPositioner iPositioner;
+   
+   // Connect to the location server
+  User::LeaveIfError(iLocationServer.Connect());
+
+  // Open the positioner
+  User::LeaveIfError(iPositioner.Open(iLocationServer));//,KPosSimulationPsyImplUid));
+   
+   
+   User::LeaveIfError( lbtserver.Connect() );
+   CleanupClosePushL( lbtserver );
+   iLog->Log(_L("Connection to RLbtServer Passed "));
+   User::LeaveIfError( lbt.Open( lbtserver ) );
+   iLog->Log(_L("Subsession opened "));
+   CleanupClosePushL( lbt );
+   
+   //Delete all the existing trggers
+   TRAP_IGNORE(lbt.DeleteTriggersL());
+  
+   CRepository* repository = CRepository::NewLC(KCRUidSimulationPSY);
+   iLog->Log(_L("Simulation PSY Repository object created"));
+   User::LeaveIfError(repository->Set(KCRKeySimPSYSimulationFile, KSimulationFile));
+   iLog->Log(_L("Simulation input file set "));
+   CleanupStack::PopAndDestroy(repository);
+   
+    //Construct a session trigger
+  CLbtStartupTrigger* trig = CLbtStartupTrigger::NewL();
+  
+  //Push to cleanup stack
+  CleanupStack::PushL( trig );
+  iLog->Log(_L("Startup Trigger Entry Created "));
+  
+  // Set Name
+  trig->SetNameL(_L("Trigger1"));
+ // _LIT( KMyTriggerHandlingProcessName, "About.exe");
+  _LIT( KMyTriggerHandlingProcessName, "ConsoleUI.exe");
+  
+  TSecureId secureid;
+  trig->SetProcessId(KMyTriggerHandlingProcessName,secureid);
+  //Set Requestor
+  CRequestorBase::TRequestorType ReqType=CRequestorBase::ERequestorUnknown;
+  CRequestorBase::_TRequestorFormat ReqFormat=CRequestorBase::EFormatUnknown;
+  TBuf<KLbtMaxNameLength> ReqData=_L("");
+  trig->SetRequestorL(ReqType,ReqFormat,ReqData);     
+  // set condition
+  
+  TCoordinate coordinate(65.5285,23.9385);
+ // TCoordinate coordinate(62.4438,23.9385);
+  
+  CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,1000);
+  CleanupStack::PushL( circle );
+  
+       
+  // ownership of circle object transferred to the condition object
+  CLbtTriggerConditionArea* condition=CLbtTriggerConditionArea::NewL(
+                                              circle,
+                                              CLbtTriggerConditionArea::EFireOnEnter);
+      
+  CleanupStack::Pop( circle );
+  
+  trig->SetCondition(condition); // ownership transferred to object
+
+  TLbtTriggerId trigId;
+      
+      
+  CTriggerFireObserver* notifier= CTriggerFireObserver::NewL( lbt,coordinate);
+  CleanupStack::PushL( notifier );
+  
+  CActiveSchedulerWait* wait=new(ELeave)CActiveSchedulerWait;
+      
+  notifier->CreateTriggers( lbt,*trig,trigId,ETrue,wait );
+  wait->Start( );
+  iLog->Log(_L("Trigger Created"));
+  notifier->StartNotification( wait );
+  wait->Start( );
+ // time_t time1,time2;
+ // Time();
+ // notifier->StartNotification( wait );
+ // wait->Start( );
+  
+//  notifier->StartNotification( wait );
+  wait->Start( );
+  notifier->iWaitStatus = KRequestPending;
+  
+//  notifier->StartNotification( wait );
+  notifier->After(1000000);
+  wait->Start( );
+  
+  iLog->Log(_L("Trigger Fired"));
+  TLbtTriggerFireInfo FireInfo;
+  TReal32 trigDistance;
+  TPosition firePosition;
+  FireInfo = notifier->GetFiredTrigger();
+  FireInfo.iFiredPositionInfo.GetPosition(firePosition);
+  firePosition.Distance(coordinate,trigDistance);
+  iPositioner.Close();
+  iLocationServer.Close();
+  lbt.DeleteTriggerL(trigId);
+  if(notifier->iTriggerFireCount ==2)
+  {
+      CleanupStack::PopAndDestroy( notifier );
+  CleanupStack::PopAndDestroy( trig );
+  CleanupStack::Pop( &lbt );
+  CleanupStack::PopAndDestroy( &lbtserver );
+  delete wait;
+  
+  return KErrNone; 
+  }
+  else
+  {
+      CleanupStack::PopAndDestroy( notifier );
+  CleanupStack::PopAndDestroy( trig );
+  CleanupStack::Pop( &lbt );
+  CleanupStack::PopAndDestroy( &lbtserver );
+  delete wait;
+  
+  return -99; 
+  }
+  }
+  
+  //Testing the hysteresis condition for exit type of trigger
+  
+  TInt CFiringofStartupTriggerAndListTrigger::TCLBTFW017_testL( CStifItemParser& /* aItem */ )
+  {
+
+_LIT( KSimulationFile,"c:\\system\\data\\test2.nme" );
+  
+   RLbtServer lbtserver;
+   RLbt lbt;
+       RPositionServer iLocationServer;
+   RPositioner iPositioner;
+   
+   // Connect to the location server
+  User::LeaveIfError(iLocationServer.Connect());
+
+  // Open the positioner
+  User::LeaveIfError(iPositioner.Open(iLocationServer));//,KPosSimulationPsyImplUid));
+   
+   
+   User::LeaveIfError( lbtserver.Connect() );
+   CleanupClosePushL( lbtserver );
+   iLog->Log(_L("Connection to RLbtServer Passed "));
+   User::LeaveIfError( lbt.Open( lbtserver ) );
+   iLog->Log(_L("Subsession opened "));
+   CleanupClosePushL( lbt );
+   
+   //Delete all the existing trggers
+   TRAP_IGNORE(lbt.DeleteTriggersL());
+  
+   CRepository* repository = CRepository::NewLC(KCRUidSimulationPSY);
+   iLog->Log(_L("Simulation PSY Repository object created"));
+   User::LeaveIfError(repository->Set(KCRKeySimPSYSimulationFile, KSimulationFile));
+   iLog->Log(_L("Simulation input file set "));
+   CleanupStack::PopAndDestroy(repository);
+   
+    //Construct a session trigger
+  CLbtStartupTrigger* trig = CLbtStartupTrigger::NewL();
+  
+  //Push to cleanup stack
+  CleanupStack::PushL( trig );
+  iLog->Log(_L("Startup Trigger Entry Created "));
+  
+  // Set Name
+  trig->SetNameL(_L("Trigger1"));
+ // _LIT( KMyTriggerHandlingProcessName, "About.exe");
+  _LIT( KMyTriggerHandlingProcessName, "ConsoleUI.exe");
+  
+  TSecureId secureid;
+  trig->SetProcessId(KMyTriggerHandlingProcessName,secureid);
+  //Set Requestor
+  CRequestorBase::TRequestorType ReqType=CRequestorBase::ERequestorUnknown;
+  CRequestorBase::_TRequestorFormat ReqFormat=CRequestorBase::EFormatUnknown;
+  TBuf<KLbtMaxNameLength> ReqData=_L("");
+  trig->SetRequestorL(ReqType,ReqFormat,ReqData);     
+  // set condition
+  
+  TCoordinate coordinate(65.5285,23.9385);
+ // TCoordinate coordinate(62.4438,23.9385);
+  
+  CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,1000);
+  CleanupStack::PushL( circle );
+  
+       
+  // ownership of circle object transferred to the condition object
+  CLbtTriggerConditionArea* condition=CLbtTriggerConditionArea::NewL(
+                                              circle,
+                                              CLbtTriggerConditionArea::EFireOnExit);
+      
+  CleanupStack::Pop( circle );
+  
+  trig->SetCondition(condition); // ownership transferred to object
+
+  TLbtTriggerId trigId;
+      
+      
+  CTriggerFireObserver* notifier= CTriggerFireObserver::NewL( lbt,coordinate);
+  CleanupStack::PushL( notifier );
+  
+  CActiveSchedulerWait* wait=new(ELeave)CActiveSchedulerWait;
+      
+  notifier->CreateTriggers( lbt,*trig,trigId,ETrue,wait );
+  wait->Start( );
+  iLog->Log(_L("Trigger Created"));
+  notifier->StartNotification( wait );
+  wait->Start( );
+//  notifier->StartNotification( wait );
+  wait->Start( );
+//  notifier->StartNotification( wait );
+  //  wait->Start( );
+  notifier->iWaitStatus = KRequestPending;
+  
+ // notifier->StartNotification( wait );
+  notifier->After(15000000);
+  wait->Start( );
+  iLog->Log(_L("Trigger Fired"));
+  TLbtTriggerFireInfo FireInfo;
+  TReal32 trigDistance;
+  TPosition firePosition;
+  FireInfo = notifier->GetFiredTrigger();
+  FireInfo.iFiredPositionInfo.GetPosition(firePosition);
+  firePosition.Distance(coordinate,trigDistance);
+  iPositioner.Close();
+  iLocationServer.Close();
+  lbt.DeleteTriggerL(trigId);
+  if( notifier->iTriggerFireCount ==2)
+  {
+      CleanupStack::PopAndDestroy( notifier );
+  CleanupStack::PopAndDestroy( trig );
+  CleanupStack::Pop( &lbt );
+  CleanupStack::PopAndDestroy( &lbtserver );
+  delete wait;
+  
+  return KErrNone; 
+  }
+  else
+  {
+      CleanupStack::PopAndDestroy( notifier );
+  CleanupStack::PopAndDestroy( trig );
+  CleanupStack::Pop( &lbt );
+  CleanupStack::PopAndDestroy( &lbtserver );
+  delete wait;
+  
+  return -99; 
+  }
+  }
+  
+  
+  //Registering for trigger fire notification after trigger fires multiple times
+  TInt CFiringofStartupTriggerAndListTrigger::TCLBTFW018_testL( CStifItemParser& /* aItem */ )
+  {
+
+_LIT( KSimulationFile,"c:\\system\\data\\test3.nme" );
+
+   RLbtServer lbtserver;
+   RLbt lbt;
+       RPositionServer iLocationServer;
+   RPositioner iPositioner;
+   
+   // Connect to the location server
+  User::LeaveIfError(iLocationServer.Connect());
+
+  // Open the positioner
+  User::LeaveIfError(iPositioner.Open(iLocationServer));//,KPosSimulationPsyImplUid));
+   
+   
+   User::LeaveIfError( lbtserver.Connect() );
+   CleanupClosePushL( lbtserver );
+   iLog->Log(_L("Connection to RLbtServer Passed "));
+   User::LeaveIfError( lbt.Open( lbtserver ) );
+   iLog->Log(_L("Subsession opened "));
+   CleanupClosePushL( lbt );
+   
+   //Delete all the existing trggers
+   TRAP_IGNORE(lbt.DeleteTriggersL());
+  
+   CRepository* repository = CRepository::NewLC(KCRUidSimulationPSY);
+   iLog->Log(_L("Simulation PSY Repository object created"));
+   User::LeaveIfError(repository->Set(KCRKeySimPSYSimulationFile, KSimulationFile));
+   iLog->Log(_L("Simulation input file set "));
+   CleanupStack::PopAndDestroy(repository);
+   
+    //Construct a session trigger
+  CLbtStartupTrigger* trig = CLbtStartupTrigger::NewL();
+  
+  //Push to cleanup stack
+  CleanupStack::PushL( trig );
+  iLog->Log(_L("Startup Trigger Entry Created "));
+  
+  // Set Name
+  trig->SetNameL(_L("Trigger1"));
+ // _LIT( KMyTriggerHandlingProcessName, "About.exe");
+  _LIT( KMyTriggerHandlingProcessName, "ConsoleUI.exe");
+  
+  TSecureId secureid;
+  trig->SetProcessId(KMyTriggerHandlingProcessName,secureid);
+  //Set Requestor
+  CRequestorBase::TRequestorType ReqType=CRequestorBase::ERequestorUnknown;
+  CRequestorBase::_TRequestorFormat ReqFormat=CRequestorBase::EFormatUnknown;
+  TBuf<KLbtMaxNameLength> ReqData=_L("");
+  trig->SetRequestorL(ReqType,ReqFormat,ReqData);     
+  // set condition
+  
+  TCoordinate coordinate(62.5285,23.9385);
+ // TCoordinate coordinate(62.4438,23.9385);
+  
+  CLbtGeoCircle* circle=CLbtGeoCircle::NewL(coordinate,1000);
+  CleanupStack::PushL( circle );
+  
+       
+  // ownership of circle object transferred to the condition object
+  CLbtTriggerConditionArea* condition=CLbtTriggerConditionArea::NewL(
+                                              circle,
+                                              CLbtTriggerConditionArea::EFireOnEnter);
+      
+  CleanupStack::Pop( circle );
+  
+  trig->SetCondition(condition); // ownership transferred to object
+  
+  TLbtTriggerId trigId;
+      
+      
+  CTriggerFireObserver* notifier= CTriggerFireObserver::NewL( lbt,coordinate);
+  CleanupStack::PushL( notifier );
+  
+  CActiveSchedulerWait* wait=new(ELeave)CActiveSchedulerWait;
+      
+  notifier->CreateTriggers( lbt,*trig,trigId,ETrue,wait );
+  wait->Start( );
+  iLog->Log(_L("Trigger Created"));
+  notifier->After(50000000);
+  notifier->StartNotification(wait);
+  wait->Start( );
+  iLog->Log(_L("Trigger Fired"));
+  TLbtTriggerFireInfo FireInfo;
+  TReal32 trigDistance;
+  TPosition firePosition;
+  FireInfo = notifier->GetFiredTrigger();
+  FireInfo.iFiredPositionInfo.GetPosition(firePosition);
+  firePosition.Distance(coordinate,trigDistance);
+  iPositioner.Close();
+  iLocationServer.Close();
+  
+      CleanupStack::PopAndDestroy( notifier );
+  CleanupStack::PopAndDestroy( trig );
+  CleanupStack::Pop( &lbt );
+  CleanupStack::PopAndDestroy( &lbtserver );
+  delete wait;
+  
+  return KErrNone; 
+  
+  }
+
    
 
    //List Trigger Test cases
@@ -2184,12 +2342,12 @@
  	 /*CRepository* repository = CRepository::NewLC(KCRUidSimulationPSY);
 	 User::LeaveIfError(repository->Set(KCRKeySimPSYSimulationFile, KSimulationFile));
 	 CleanupStack::PopAndDestroy(repository);*/
-	 
+    
 	  //Construct a startup trigger
     CLbtStartupTrigger* trig = CLbtStartupTrigger::NewL();
     
     //Push to cleanup stack
-  //  CleanupStack::PushL( trig );
+    CleanupStack::PushL( trig );
     
     // Set Name
     trig->SetNameL(_L("Trigger1"));
@@ -2230,10 +2388,9 @@
     notifier->CreateTriggers( lbt,*trig,trigId,EFalse,wait );
     wait->Start( );
     //User::After(5000000);
-    CLbtTriggerInfo *Triginfo = CLbtTriggerInfo::NewL();
+    
     iLog->Log(_L("Before GetTriggerLC "));
-    
-    Triginfo = lbt.GetTriggerLC(trigId);
+    CLbtTriggerInfo *Triginfo = lbt.GetTriggerLC(trigId);
     iLog->Log(_L("After GetTriggerLC "));
     CLbtStartupTrigger *TrigEntry = static_cast <CLbtStartupTrigger*>(Triginfo->TriggerEntry());
     
@@ -2287,6 +2444,7 @@
 	{
 		return -99;
 	}
+	
 	//Check requestors 
     RRequestorStack   aRequestors,aRequestors2 ;
     TrigEntry->GetRequestorsL(aRequestors2);
@@ -2308,6 +2466,9 @@
     	}
     
     }
+   aRequestors.ResetAndDestroy();
+   aRequestors2.ResetAndDestroy();
+   
     //Check trigger Id
     trigId2 = TrigEntry->Id();
     if(trigId !=trigId2)
@@ -2343,12 +2504,15 @@
     {
     	return -99;
     }*/
+    
     CleanupStack::PopAndDestroy(1 );//list options
     CleanupStack::PopAndDestroy( notifier );
+    CleanupStack::PopAndDestroy( trig );
     CleanupStack::PopAndDestroy( &lbt );
     CleanupStack::PopAndDestroy( &lbtserver );
-   // delete wait;
+    delete wait;
     iLog->Log(_L("Test passed "));
+
     return KErrNone; 
       
     }
@@ -3108,19 +3272,15 @@
     _LIT( KFilename,"CreateTest.exe" );
     RProcess proc;
     TInt retVal =proc.Create(KFilename,KNullDesC);
+    TInt triggerId = KLbtNullTriggerId;
     if(retVal == KErrNone)
-	{
+        {
 		proc.Resume();
 		TRequestStatus status = KRequestPending;
 		proc.Rendezvous(status);
 		User::WaitForRequest(status);
-	}	
-    TInt triggerId=0;
-    RProperty iProperty;
-    User::LeaveIfError(iProperty.Get(
-        KPSUidTriggerIdInfo, 
-        KLbttesttriggerid, 
-        triggerId));
+		triggerId = status.Int();
+        }	
     
     TRAPD(error, lbt.GetTriggerLC(triggerId); CleanupStack::PopAndDestroy(  ););
     CleanupStack::PopAndDestroy( &lbt );
@@ -3156,23 +3316,18 @@
     lbt.DeleteTriggersL();
  	 iLog->Log(_L("Before Create Trigger"));
      _LIT( KFilename,"CreateTest.exe" );
-    RProcess proc;
-    TInt retVal =proc.Create(KFilename,KNullDesC);
-    if(retVal == KErrNone)
-	{
-		proc.Resume();
-		TRequestStatus status = KRequestPending;
-		proc.Rendezvous(status);
-		User::WaitForRequest(status);
-	}	
-    iLog->Log(_L("Trigger Created"));
-    TInt triggerId=0;
-    RProperty iProperty;
-    User::LeaveIfError(iProperty.Get(
-        KPSUidTriggerIdInfo, 
-        KLbttesttriggerid, 
-        triggerId));
-    //create another trigger
+     RProcess proc;
+     TInt retVal =proc.Create(KFilename,KNullDesC);
+     TInt triggerId = KLbtNullTriggerId;
+     if(retVal == KErrNone)
+         {
+         proc.Resume();
+         TRequestStatus status = KRequestPending;
+         proc.Rendezvous(status);
+         User::WaitForRequest(status);
+         triggerId = status.Int();
+         }   
+     //create another trigger
       //Construct a startup trigger
     CLbtStartupTrigger* trig = CLbtStartupTrigger::NewL();
     
@@ -4171,23 +4326,19 @@
 	TBuf<KLbtMaxNameLength> ReqData=_L("");
 	trig->SetRequestorL(ReqType,ReqFormat,ReqData);  
       _LIT( KFilename,"CreateTest.exe" );
+
     RProcess proc;
     TInt retVal =proc.Create(KFilename,KNullDesC);
+    TInt triggerId = KLbtNullTriggerId;
     if(retVal == KErrNone)
-	{
-		proc.Resume();
-		TRequestStatus status = KRequestPending;
-		proc.Rendezvous(status);
-		User::WaitForRequest(status);
-	}
-		
-    TInt triggerId=0;
-    RProperty iProperty;
-    User::LeaveIfError(iProperty.Get(
-        KPSUidTriggerIdInfo, 
-        KLbttesttriggerid, 
-        triggerId));
-     User::After(5000000);
+        {
+        proc.Resume();
+        TRequestStatus status = KRequestPending;
+        proc.Rendezvous(status);
+        User::WaitForRequest(status);
+        triggerId = status.Int();
+        }     
+      
     RPointerArray < CLbtTriggerInfo > trigInfoList;
     
      CTriggerFireObserver* notifier= CTriggerFireObserver::NewL( lbt,coordinate );
@@ -4270,21 +4421,15 @@
        _LIT( KFilename,"CreateTest.exe" );
     RProcess proc;
     TInt retVal =proc.Create(KFilename,KNullDesC);
+    TInt triggerId = KLbtNullTriggerId;
     if(retVal == KErrNone)
-	{
-		proc.Resume();
-		TRequestStatus status = KRequestPending;
-		proc.Rendezvous(status);
-		User::WaitForRequest(status);
-	}
-	 User::After(5000000);	
-    TInt triggerId=0;
-    RProperty iProperty;
-    User::LeaveIfError(iProperty.Get(
-        KPSUidTriggerIdInfo, 
-        KLbttesttriggerid, 
-        triggerId));
-        
+        {
+        proc.Resume();
+        TRequestStatus status = KRequestPending;
+        proc.Rendezvous(status);
+        User::WaitForRequest(status);
+        triggerId = status.Int();
+        }           
     //create another trigger
       //Construct a startup trigger
     CLbtStartupTrigger* trig = CLbtStartupTrigger::NewL();
@@ -4373,20 +4518,16 @@
     _LIT( KFilename,"CreateTest.exe" );
     RProcess proc;
     TInt retVal =proc.Create(KFilename,KNullDesC);
+    TInt triggerId = KLbtNullTriggerId;
     if(retVal == KErrNone)
-	{
-		proc.Resume();
-		TRequestStatus status = KRequestPending;
-		proc.Rendezvous(status);
-		User::WaitForRequest(status);
-	}
-	 User::After(5000000);	
-    TInt triggerId=0;
-    RProperty iProperty;
-    User::LeaveIfError(iProperty.Get(
-        KPSUidTriggerIdInfo, 
-        KLbttesttriggerid, 
-        triggerId));
+        {
+        proc.Resume();
+        TRequestStatus status = KRequestPending;
+        proc.Rendezvous(status);
+        User::WaitForRequest(status);
+        triggerId = status.Int();
+        }   
+    
     RArray< TLbtTriggerId>  aTriggerIdList;
     
     TRAP_IGNORE(lbt.DeleteTriggersL());
--- a/locationtriggering/tsrc/lbtengine_test/firingofstartuptriggerandlisttrigger/src/t_triggerfireobserver.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/firingofstartuptriggerandlisttrigger/src/t_triggerfireobserver.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -23,6 +23,7 @@
 #include "t_triggerfireobserver.h"
 
 
+_LIT(KRequestor,"LBT test app");
 
 
 // ============================ MEMBER FUNCTIONS ===============================
@@ -40,6 +41,12 @@
         CActiveScheduler::Add(this);
     }
 
+
+CTriggerFireObserver::CTriggerFireObserver( ):CTimer( CTimer::EPriorityStandard )
+    {
+    CActiveScheduler::Add(this);
+    }
+
 // -----------------------------------------------------------------------------
 // CTriggerFireObserver::ConstructL
 // Symbian 2nd phase constructor can leave.
@@ -55,6 +62,20 @@
     }
 
 // -----------------------------------------------------------------------------
+// CTriggerFireObserver::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CTriggerFireObserver::ConstructL()
+    {
+    User::LeaveIfError( iPosServer.Connect() );
+    User::LeaveIfError( iPositioner.Open( iPosServer ) ); 
+
+    // Set position requestor
+    User::LeaveIfError( iPositioner.SetRequestor( CRequestor::ERequestorService ,
+                        CRequestor::EFormatApplication , KRequestor ) );
+    }
+// -----------------------------------------------------------------------------
 // CTriggerFireObserver::NewL
 // Two-phased constructor.
 // -----------------------------------------------------------------------------
@@ -72,6 +93,23 @@
 
     }
 
+// -----------------------------------------------------------------------------
+// CTriggerFireObserver::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CTriggerFireObserver* CTriggerFireObserver::NewL()
+    {
+    CTriggerFireObserver* self = new (ELeave) CTriggerFireObserver();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+
+
+
 // Destructor
 CTriggerFireObserver::~CTriggerFireObserver()
     { 
@@ -79,12 +117,24 @@
 	    Cancel(); 
 	    // Delete notifier object
 	    delete iNotifier;
-	    
-	    iWait=NULL;
-	       
+
+	    iPositioner.Close();
+	    iPosServer.Close();
+    }
+
 
+void CTriggerFireObserver::CurrentPositionL( TPositionInfo& aPositionInfo,
+                                             CActiveSchedulerWait* aWait )
+    {
+    iWait = aWait;
+    // Get last known position. The processing of the result
+    // is done in RunL method
+    iPositioner.NotifyPositionUpdate( aPositionInfo, iStatus );
+    // Set this active object active
+    SetActive();
     }
 
+
 void CTriggerFireObserver::TriggerFiredL( const TLbtTriggerFireInfo& aFireInfo )
 	{
 	    iTriggerFireCount++;
--- a/locationtriggering/tsrc/lbtengine_test/lbtPlatSecTest/testlbtplatsecurity/conf/testlbtplatsecurity1.cfg	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/lbtPlatSecTest/testlbtplatsecurity/conf/testlbtplatsecurity1.cfg	Tue Aug 31 15:37:04 2010 +0300
@@ -137,6 +137,7 @@
 
 [Test]
 title testGetNextTriggerLC
+allownextresult KErrPermissionDenied
 create testlbtplatsecurity foobar
 foobar testGetNextTriggerLC
 delete foobar
--- a/locationtriggering/tsrc/lbtengine_test/lbtPlatSecTest/testlbtplatsecurity/conf/testlbtplatsecurity3.cfg	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/lbtPlatSecTest/testlbtplatsecurity/conf/testlbtplatsecurity3.cfg	Tue Aug 31 15:37:04 2010 +0300
@@ -137,6 +137,7 @@
 
 [Test]
 title testGetNextTriggerLC
+allownextresult KErrPermissionDenied
 create testlbtplatsecurity foobar
 foobar testGetNextTriggerLC
 delete foobar
--- a/locationtriggering/tsrc/lbtengine_test/lbtPlatSecTest/testlbtplatsecurity/conf/testlbtplatsecurity4.cfg	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/lbtPlatSecTest/testlbtplatsecurity/conf/testlbtplatsecurity4.cfg	Tue Aug 31 15:37:04 2010 +0300
@@ -137,6 +137,7 @@
 
 [Test]
 title testGetNextTriggerLC
+allownextresult KErrPermissionDenied
 create testlbtplatsecurity foobar
 foobar testGetNextTriggerLC
 delete foobar
--- a/locationtriggering/tsrc/lbtengine_test/lbtPlatSecTest/testlbtplatsecurity/src/testlbtplatsecurityBlocks.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/lbtPlatSecTest/testlbtplatsecurity/src/testlbtplatsecurityBlocks.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -1526,6 +1526,12 @@
     
     trig->SetCondition(condition); // ownership transferred to object
 
+    //set Requestor     
+    CRequestorBase::TRequestorType ReqType=CRequestorBase::ERequestorUnknown;
+    CRequestorBase::_TRequestorFormat ReqFormat=CRequestorBase::EFormatUnknown;
+    TBuf<KLbtMaxNameLength> ReqData=_L("");
+    trig->SetRequestorL(ReqType,ReqFormat,ReqData);
+
     TLbtTriggerId trigId;
         
         
@@ -1536,6 +1542,7 @@
         
     notifier->CreateTriggers( lbt,*trig,trigId,ETrue,wait );
     wait->Start( );
+    User::LeaveIfError( notifier->iStatus.Int());
     
     lbt.CreateGetTriggerIteratorL();
     CLbtTriggerInfo* triggerInfo= NULL;
--- a/locationtriggering/tsrc/lbtengine_test/t_mgmtsettings/group/t_mgmtsettings.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/t_mgmtsettings/group/t_mgmtsettings.mmp	Tue Aug 31 15:37:04 2010 +0300
@@ -1,41 +1,19 @@
-;
-; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "Eclipse Public License v1.0"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description:  Pkg file for Management settings testcases
-;
-
 /*
-* ==============================================================================
-*  Name        : t_mgmtsettings.mmp
-*  Part of     : LBT FW Test module/ t_mgmtsettings
-*
-*  Description : Test module to implement Test cases for LBT Management settings
-*  Version:   
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
-*  Copyright (C)  2009 Nokia Corporation.
-*  This material, including documentation and any related 
-*  computer programs, is protected by copyright controlled by 
-*  Nokia Corporation. All rights are reserved. Copying, 
-*  including reproducing, storing,  adapting or translating, any 
-*  or all of this material requires the prior written consent of 
-*  Nokia Corporation. This material also contains confidential 
-*  information which may not be disclosed to others without the 
-*  prior written consent of Nokia Corporation.
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
 *
-* ============================================================================
+* Contributors:
+*
+* Description:  Pkg file for Management settings testcases
 */
 
-
 #include <platform_paths.hrh>
 
 TARGET          t_mgmtsettings.dll
--- a/locsrv_plat/geocoding_api/tsrc/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ b/locsrv_plat/geocoding_api/tsrc/group/bld.inf	Tue Aug 31 15:37:04 2010 +0300
@@ -40,11 +40,6 @@
 // NOTE: If using ARS requirements .mmp file operation should be done under this.
 // 'abld test build'
 testmnclientlib.mmp
-../mapnavproviderrefapp/group/geocodingrefengine.mmp
-../mapnavproviderrefapp/group/geocodingrefprovider.mmp
-../mapnavproviderrefapp/group/geocodingrefproviderback.mmp
-../mapnavproviderrefapp/group/geocodingrefproviderplugin.mmp
-
 
 PRJ_MMPFILES
 // Specify the .mmp files required for building the important component
--- a/locsrv_plat/geocoding_api/tsrc/group/testmnclientlib.pkg	Thu Aug 19 10:20:18 2010 +0300
+++ b/locsrv_plat/geocoding_api/tsrc/group/testmnclientlib.pkg	Tue Aug 31 15:37:04 2010 +0300
@@ -40,24 +40,8 @@
 ; Files to install
 "\epoc32\release\armv5\urel\testmnclientlib.dll"-"C:\sys\bin\testmnclientlib.dll"
 
-"\epoc32\release\armv5\urel\mnrefprovider.exe"-"!:\sys\bin\mnrefprovider.exe"
-"\epoc32\data\z\resource\apps\mnrefprovider.rsc"-"!:\resource\apps\mnrefprovider.rsc"
-"\epoc32\data\z\resource\apps\mnrefprovider.mbm"-"!:\resource\apps\mnrefprovider.mbm"
-"\epoc32\data\z\resource\apps\mnrefprovider.mif"-"!:\resource\apps\mnrefprovider.mif"
-"\epoc32\data\z\private\10003a3f\apps\mnrefprovider_reg.rsc"-"!:\private\10003a3f\import\apps\mnrefprovider_reg.rsc"
-
-"\epoc32\release\armv5\urel\mnrefproviderback.exe"-"!:\sys\bin\mnrefproviderback.exe"
-"\epoc32\data\z\resource\apps\mnrefproviderback.rsc"-"!:\resource\apps\mnrefproviderback.rsc"
-"\epoc32\data\z\private\10003a3f\apps\mnrefproviderback_reg.rsc"-"!:\private\10003a3f\import\apps\mnrefproviderback_reg.rsc"
-
-"\epoc32\release\armv5\urel\mnrefproviderengine.dll"-"!:\sys\bin\mnrefproviderengine.dll"
-"\epoc32\data\z\resource\mnrefproviderengine.rsc"-"!:\resource\mnrefproviderengine.rsc"
-
-"\epoc32\release\armv5\urel\mnrefproviderplugin.dll"-"!:\sys\bin\mnrefproviderplugin.dll"
-"\epoc32\data\z\resource\plugins\mnrefproviderplugin.rsc"-"!:\resource\plugins\mnrefproviderplugin.rsc"
-
 ;refprovider sisx
-;"..\data\mnrefprovider_armv5.sisx"-"E:\testing\data\mnrefprovider.sisx"
+"..\data\mnrefprovider_armv5.sisx"-"E:\testing\data\mnrefprovider.sisx"
 
 "..\conf\testmnclientlib.cfg"-"C:\testframework\testmnclientlib.cfg"
 "..\init\testframework.ini"-"C:\testframework\testframework.ini"
--- a/locsrv_plat/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ b/locsrv_plat/group/bld.inf	Tue Aug 31 15:37:04 2010 +0300
@@ -18,26 +18,14 @@
 
 
 
-#include "../map_and_navigation_api/group/bld.inf"
-#include "../map_and_navigation_provider_discovery_api/group/bld.inf"
 #include "../geocoding_api/group/bld.inf"
-#include "../map_image_api/group/bld.inf"
-#include "../map_and_navigation_aiw_api/group/bld.inf"
-#include "../map_and_navigation_provider_api/group/bld.inf"
 //#include "../supl_pos_message_plugin_api/group/bld.inf"
 #include "../landmarks_category_definition_api/group/bld.inf"
 #include "../supl_settings_api/group/bld.inf"
-#include "../location_settings_launch_api/group/bld.inf"
-#include "../map_image_conversion_plugin_api/group/bld.inf"
-#include "../psy_configuration_ui_plugin_api/group/bld.inf"
 #include "../np_proxy_configuration_api/group/bld.inf"
 #include "../supl_terminal_initiation_api/group/bld.inf"
-#include "../location_notation_preferences_settings_api/group/bld.inf"
-#include "../supl_settings_notifier_secondary_display_api/group/bld.inf"
 #include "../supl_network_initiation_api/group/bld.inf"
-#include "../privacy_notifiers_secondary_display_api/group/bld.inf"
 #include "../oma_supl_configuration_parameter_api/group/bld.inf"
-#include "../supl_query_secondary_display_api/group/bld.inf"
 #include "../location_triggering_management_api/group/bld.inf"
 #include "../location_triggering_status_information_api/group/bld.inf"
 #include "../oma_supl_asn_codec_plugin_api/group/bld.inf"
--- a/locsrv_plat/location_notation_preferences_settings_api/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  File that exports the files belonging to 
-:                Location Notation Preferences Settings API
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/locnotprefplugindomaincrkeys.h     MW_LAYER_PLATFORM_EXPORT_PATH(locnotprefplugindomaincrkeys.h)
--- a/locsrv_plat/location_notation_preferences_settings_api/inc/locnotprefplugindomaincrkeys.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Central Repository keys for Location Notation Preferences
-*                plug-in. Defines the various Systems of measurements that 
-*                can be used by Location application.
-*                
-*
-*/
-
-
-#ifndef LOCNOTPREFPLUGINDOMAINCRKEYS_H
-#define LOCNOTPREFPLUGINDOMAINCRKEYS_H
-
-/**
- * UID value for the Central Repository Key used for Location Notation 
- * preferences
- */
-const TInt KCRUidLocNotationPref = 0x10206910;
-
-/**
- * Central repository Key identifer value for Location Notation Preferences / System of Measurements
- */
-const TInt KLocSystemofMeasurements = 0x00000001;
-
-/**
- * Enumeration list of values for KLocSystemofMeasurements
- * 
- * Defines the System of measurements available for Location related values.
- */
-enum TLocSystemofMeasurementValues
-    {
-    /**
-     * Metric System of measurement ( mt, kgs, etc. ) would be used for
-     * Location related values.
-     */
-    ELocMetric      = 0x00000001,
-            
-    /**
-     * Imperial System of measurement ( ft, lbs, etc. ) would be used for 
-     * Location related values.
-     */  
-    ELocImperial    = 0x00000002
-    };
-
-#endif      // LOCNOTPREFPLUGINDOMAINCRKEYS_H
\ No newline at end of file
--- a/locsrv_plat/location_notation_preferences_settings_api/location_notation_preferences_settings_api.metaxml	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-<?xml version="1.0" ?>
-<api id="510fa54044e873aa6f076650bea4405d" dataversion="2.0">
-  <name>Location Notation Preferences Settings API</name>
-  <description>Provides Central Repository Keys for setting notation preferences, like Unit-of-measurement format etc.</description>
-  <type>c++</type>
-  <collection>locationsystemui</collection>
-  <libs>
-  </libs>
-  <release category="platform"/>
-  <attributes>
-     <!-- This indicates wether the api provedes separate html documentation -->
-     <!-- or is the additional documentation generated from headers. -->
-     <!-- If you are unsuere then the value is "no" -->
-     <htmldocprovided>no</htmldocprovided>
-     <adaptation>no</adaptation>
-  </attributes>
-</api>
--- a/locsrv_plat/location_settings_launch_api/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  File that exports the files belonging to 
-:                Location Settings Launch API
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/locsettingsuiclient.h     MW_LAYER_PLATFORM_EXPORT_PATH(locsettingsuiclient.h)
--- a/locsrv_plat/location_settings_launch_api/inc/locsettingsuiclient.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,316 +0,0 @@
-/*
-* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Client Side handle for using the Location System UI services
-*
-*/
-
-
-#ifndef C_LOCSETTINGSUICLIENT_H
-#define C_LOCSETTINGSUICLIENT_H
-
-// System Includes
-#include <e32base.h>
-
-// Forward Declarations
-class RLocSettingsUiService;
-class CLocLaunchUiAO;
-class CEikonEnv;
-
-// Global Constants
-
-// UIDs for Launching the Location Based Settings UIs through the Launch
-// API. The UIDs of all the Settings UI plug-ins that plug into this framework
-// need to be consolidated here.
-
-/**
- * UID for launching Position Method Settings 
- */
-const TInt  KLocPsySettingsUID  = 0x10275062;
-
-/**
- * UID for launching SUPL Settings UI
- */
-const TInt  KLocSUPLSettingsUID = 0x10275091;
-
-/**
- * UID for launching Location Notation Prefences Settings UI
- */
-const TInt  KLocNotPrefSettingsUID = 0x1020690F;
-
-// Parameters for Individual Location Based Settings UIs. All parameter 
-// enumerations of all Settings UI plug-ins that plug into this framwork
-// need to be consolidated here
-
-/**
- * Default Value for all paramter enumerations. This should be the first 
- * enumeration value for all the parameter enumerations that we define
- */
-const TInt  KDefaultParamValue  = 0x00000000;
-
-/**
- * SUPL Settings UI parameter enumerations
- */
-enum TLocSUPLSettingsParams
-    {
-    ELocSUPLDefault         = KDefaultParamValue,   // Default Settings View
-    ELocSUPLIAPSelection    = 0x00000001,           // IAP Selection dialog
-    ELocSUPLStateSelection  = 0x00000002,           // State enable dialog 
-    ELocSuplSettingsPage    = 0x00000010            // SUPL settings page
-    };
-    
- 
-/**
- *  Client side resource class to launch Location settings UI.
- *
- *  Client side interface class used by all clients to
- *  launch Location settings UIs. For UI applications the settings UIs 
- *  can be launched as embedded application. Frameworks can launch the
- *  settings UIs in a separate UI server.
- *
- *  The client application / framework can also cancel the launched
- *  settings UI by calling the Cancel method.
- *
- *  @lib locsettingsuiclient.lib
- *  @since S60 v3.1
- */
-class CLocSettingsUiClient : public CBase
-    {
-
-public:
-    /**
-     * Two Phase constructor 
-     * 
-     * @since S60 v3.1
-     * @return The reference of the newly allocated CLocSettingsUiClient 
-     *         object
-     */
-    IMPORT_C static CLocSettingsUiClient* NewL();
-
-    /**
-     * Two Phase constructor. Leaves the allocated object on the Clean-up
-     * stack 
-     * 
-     * @since S60 v3.1
-     * @return The reference of the newly allocated CLocSettingsUiClient 
-     *         object
-     */
-    IMPORT_C static CLocSettingsUiClient* NewLC();
-
-    /**
-     * C++ Destructor
-     * 
-     * @since S60 v3.1
-     */
-    virtual ~CLocSettingsUiClient();
-
-public: // Exported functions related to the handling of Location sub-setting UI.
-    /**
-     * Launch a Settings UI in an ui app server. 
-     * The API is used to launch a settings UI. It is expected to be used 
-     * by Framework executables that do not have a UI environment.
-     * There can be only one outstanding Launch request at any instant of 
-     * time. This is an asynchronous function. If a session is already 
-     * running then the function leaves with KErrInUse.
-     *
-     * @since S60 v3.1
-     * @param aImplementationUid The ECOM Implementation UID of the 
-     *                           settings UI ECOM plug-in that has to be 
-     *                           launched.
-     * @param aParams            Opaque parameters that is handed over to
-     *                           the Settings UI. Flags that define 
-     *                           specific configuration of the Settings UI,
-     *                           that the user of the API wants to launch. 
-     *                           The interpretation of these flag values is a
-     *                           part of the understanding between the API 
-     *                           user and the Settings UI
-     * @param aStatus            Request status. On completion contains: 
-     *                           KErrNone, if successful, otherwise one of
-     *                           the other system-wide error codes.
-     *
-     */
-    IMPORT_C void LaunchSettingsUiL( TUid            aImplementationUid, 
-                                     TInt            aParams,
-                                     TRequestStatus& aStatus );
-    
-    /**
-     * Launch a Settings UI as an embedded application.
-     * The API is used to launch a settings UI as an embeded. This is
-     * expected to be used by UI applications. There can be only 
-     * one outstanding Launch request at any instant of time. This is
-     * an asynchronous function.
-     *
-     * @since S60 v3.1
-     * @param aImplementationUid The ECOM Implementation UID of the 
-     *                           settings UI ECOM plug-in that has to be 
-     *                           launched.
-     * @param aParams            Opaque parameters that is handed over to
-     *                           the Settings UI. Flags that define 
-     *                           specific configuration of the Settings UI,
-     *                           that the user of the API wants to launch.
-     *                           The interpretation of these flag values is a
-     *                           part of the understanding between the API 
-     *                           user and the Settings UI
-     * @param aStatus            Request status. On completion contains: 
-     *                           KErrNone, if successful, otherwise one of
-     *                           the other system-wide error codes.
-     *
-     */
-    IMPORT_C void LaunchSettingsUiAsEmbeddedAppL( 
-                                    TUid            aImplementationUid, 
-                                    TInt            aParams,
-                                    TRequestStatus& aStatus );    
-    /**
-     * Launch a Settings UI in an ui app server. 
-     * The API is used to launch a settings UI. It is expected to be used 
-     * by Framework executables that do not have a UI environment.
-     * There can be only one outstanding Launch request at any instant of 
-     * time. This is an asynchronous function. If a session is already 
-     * running then the function leaves with KErrInUse.
-     *
-     * @since S60 v9.2
-     * @param aImplementationUid The ECOM Implementation UID of the 
-     *                           settings UI ECOM plug-in that has to be 
-     *                           launched.
-     * @param aParamsString      Opaque parameters that is handed over to
-     *                           the Settings UI. This allows the API user  
-     *                           to pass buffer to the Settings UI.
-     *                           The interpretation of this buffer is the
-     *                           part of the understanding between the API 
-     *                           user and the Settings UI
-     * @param aStatus            Request status. On completion contains: 
-     *                           KErrNone, if successful, otherwise one of
-     *                           the other system-wide error codes.
-     *
-     */
-    IMPORT_C void LaunchSettingsUiL( TUid            aImplementationUid, 
-                                     const TDesC&            aParamsString,
-                                     TRequestStatus& aStatus );
-    
-    /**
-     * Launch a Settings UI as an embedded application.
-     * The API is used to launch a settings UI as an embeded. This is
-     * expected to be used by UI applications. There can be only 
-     * one outstanding Launch request at any instant of time. This is
-     * an asynchronous function.
-     *
-     * @since S60 v9.2
-     * @param aImplementationUid The ECOM Implementation UID of the 
-     *                           settings UI ECOM plug-in that has to be 
-     *                           launched.
-     * @param aParamsString      Opaque parameters that is handed over to
-     *                           the Settings UI. This allows the API user  
-     *                           to pass buffer to the Settings UI.
-     *                           The interpretation of this buffer is the
-     *                           part of the understanding between the API 
-     *                           user and the Settings UI
-     * @param aStatus            Request status. On completion contains: 
-     *                           KErrNone, if successful, otherwise one of
-     *                           the other system-wide error codes.
-     *
-     */
-    IMPORT_C void LaunchSettingsUiAsEmbeddedAppL( 
-                                    TUid            aImplementationUid, 
-                                    const TDesC&            aParamsString,
-                                    TRequestStatus& aStatus );    
-    
-    /**
-     * Cancels an already launched settings UI.
-     *
-     * @since S60 v3.1
-     * @return a Symbian OS Error Code in case a settings UI was not launched.
-     * Returns KErrNone if successful. 
-     */
-    IMPORT_C TInt CancelLaunchedSettingsUi();
-
-public: // Exported functions pertaining to the handling of Postioning Settings
-
-    /**
-     * Launch Positioning Settings UI.
-     * The API is used to launch Positioning Settings UI. It is expected to 
-     * be used by Framework executables that do not have a UI environment.
-     * There can be only one outstanding Launch request at any instant of 
-     * time. This is an asynchronous function. If a session is already 
-     * running then the function leaves with KErrInUse.
-     *
-     * @since S60 v3.2
-     * @param aStatus            Request status. On completion contains: 
-     *                           KErrNone, if successful, otherwise one of
-     *                           the other system-wide error codes.     
-     *
-     */
-    IMPORT_C void LaunchPosSettingsL( TRequestStatus& aStatus );
-    
-    /**
-     * Launch Positioning Settings UI as an embedded application.
-     * The API is used to launch Positioning Settings UI. his is
-     * expected to be used by UI applications. There can be only 
-     * one outstanding Launch request at any instant of time. This is
-     * an asynchronous function. If a session is already 
-     * running then the function leaves with KErrInUse.
-     *
-     * @since S60 v3.2
-     * @param aStatus            Request status. On completion contains: 
-     *                           KErrNone, if successful, otherwise one of
-     *                           the other system-wide error codes.     
-     *
-     */    
-    IMPORT_C void LaunchPosSettingsAsEmbeddedAppL(  TRequestStatus& aStatus );
- 
-    /**
-     * Closes an already launched Positioning Settings UI.
-     *
-     * @since S60 v3.2
-     * @return Symbian OS Error Code in case Positioning settings UI
-     *         was not launched.
-     * Returns KErrNone if successful. 
-     */   
-    IMPORT_C TInt ClosePosSettings();
-    
-private:
-    /**
-     * C++ Default Constructor
-     */
-    CLocSettingsUiClient();
-
-    /**
-     * Second phase of Two phase construction
-     */
-    void ConstructL();
-
-private:
-
-    /**
-     * Handle to the Client side resource to the Settings UI Server
-     * Owns
-     */
-    RLocSettingsUiService*          iLocService;
-     
-    /**
-     * Active Object to initiate asynchronous requests
-     * Owns
-     */
-    CLocLaunchUiAO*                 iLaunchUiAO;
-     
-    /**
-     * Reference to the UI environment from where this client is launched.
-     * It will be NULL if the Client Application is launched from frameworks
-     */
-    CEikonEnv*                        iCEikonEnv; 
-     
-    /** Unused variable for future expansion. */
-    TAny* iReserved;
-
-    };
-
-#endif // C_LOCSETTINGSUICLIENT_H
--- a/locsrv_plat/location_settings_launch_api/location_settings_launch_api.metaxml	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-<?xml version="1.0" ?>
-<api id="3e0e4e01430744753c90e5086b2f8db4" dataversion="2.0">
-  <name>Location Settings Launch API</name>
-  <description>Provides the interface for directly launching the Location Settings main view or any of it's sub settings view.</description>
-  <type>c++</type>
-  <collection>locationsystemui</collection>
-  <libs>
-    <lib name="locsettingsuiclient.lib" />
-  </libs>
-  <release category="platform"/>
-  <attributes>
-     <!-- This indicates wether the api provedes separate html documentation -->
-     <!-- or is the additional documentation generated from headers. -->
-     <!-- If you are unsuere then the value is "no" -->
-     <htmldocprovided>no</htmldocprovided>
-     <adaptation>no</adaptation>
-  </attributes>
-</api>
--- a/locsrv_plat/location_settings_launch_api/tsrc/bmarm/testlocsettingsuiclientu.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	LibEntryL__FR13CTestModuleIf @ 1 NONAME R3UNUSED ; LibEntryL(CTestModuleIf &)
-
--- a/locsrv_plat/location_settings_launch_api/tsrc/bwins/testlocsettingsuiclientu.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	?LibEntryL@@YAPAVCScriptBase@@AAVCTestModuleIf@@@Z @ 1 NONAME ; class CScriptBase * __cdecl LibEntryL(class CTestModuleIf &)
-
--- a/locsrv_plat/location_settings_launch_api/tsrc/conf/testlocsettingsuiclient.cfg	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,133 +0,0 @@
-[Define]
-ELaunchPosSettingsL							 	0
-ELaunchPosSettingsAsEmbeddedAppL	1
-ELaunchSettingsUiL								2
-ELaunchSettingsUiAsEmbeddedAppL		3
-ELaunchSettingsUiLOverLoaded		4
-ELaunchSettingsUiAsEmbeddedAppLOverLoaded		5
-
-KLocPsySettingsUID 			0x10275062
-KLocSUPLSettingsUID 		0x10275091
-KLocNotPrefSettingsUID 	0x1020690F
-KLocPsySettingsUIDErr 	0x10575060
-
-ELocSUPLDefault 			0
-ELocSUPLDefaultErr		6
-ELocSUPLIAPSelection	1
-ELocSuplSettingsPage	10
-
-KErrNotSupported -5
-
-[Enddefine]
-
-[Test] 
-title TCLOCSETTINGSUI0001 
-create testlocsettingsuiclient Obj
-Obj TestNewL
-print TestNewL...
-delete Obj
-[Endtest]
-
-[Test] 
-title TCLOCSETTINGSUI0002
-create testlocsettingsuiclient Obj
-Obj TestNewLC
-print TestNewL...
-delete Obj
-[Endtest]
-
-[Test] 
-title TCLOCSETTINGSUI0003
-create testlocsettingsuiclient Obj
-allownextresult KErrNotSupported
-Obj TestLaunchSettingsL ELaunchPosSettingsAsEmbeddedAppL
-print TestLaunchSettingsL...
-delete Obj
-[Endtest]
-
-[Test] 
-title TCLOCSETTINGSUI0004
-create testlocsettingsuiclient Obj
-allownextresult KErrNotSupported
-Obj TestLaunchSettingsL ELaunchSettingsUiAsEmbeddedAppL KLocSUPLSettingsUID ELocSUPLDefault
-print TestLaunchSettingsL...
-delete Obj
-[Endtest]
-
-[Test] 
-title TCLOCSETTINGSUI0005
-create testlocsettingsuiclient Obj
-allownextresult KErrNotSupported
-Obj TestLaunchSettingsL ELaunchSettingsUiAsEmbeddedAppL KLocPsySettingsUID ELocSUPLDefault
-print TestLaunchSettingsL...
-delete Obj
-[Endtest]
-
-[Test] 
-title TCLOCSETTINGSUI0006
-create testlocsettingsuiclient Obj
-allownextresult KErrNotSupported
-Obj TestLaunchSettingsL ELaunchSettingsUiAsEmbeddedAppL KLocNotPrefSettingsUID ELocSUPLDefault
-print TestLaunchSettingsL...
-delete Obj
-[Endtest]
-
-[Test] 
-title TCLOCSETTINGSUI0007
-create testlocsettingsuiclient Obj
-Obj TestLaunchSettingsL ELaunchSettingsUiL KLocSUPLSettingsUIDErr ELocSUPLDefault
-print TestLaunchSettingsL...
-delete Obj
-[Endtest]
-
-[Test] 
-title TCLOCSETTINGSUI0007a
-create testlocsettingsuiclient Obj
-Obj TestLaunchSettingsL ELaunchSettingsUiLOverLoaded KLocSUPLSettingsUIDErr ELocSUPLDefault
-print TestLaunchSettingsL...
-delete Obj
-[Endtest]
-
-[Test] 
-title TCLOCSETTINGSUI0007b
-create testlocsettingsuiclient Obj
-allownextresult KErrNotSupported
-Obj TestLaunchSettingsL ELaunchSettingsUiAsEmbeddedAppLOverLoaded KLocSUPLSettingsUIDErr ELocSUPLDefault
-print TestLaunchSettingsL...
-delete Obj
-[Endtest]
-
-[Test] 
-title TCLOCSETTINGSUI0008
-create testlocsettingsuiclient Obj
-allownextresult KErrNotSupported
-Obj TestCancelLaunchedSettingsUi KLocSUPLSettingsUID ELocSUPLDefault
-print TestLaunchPosSettingsAsEmbeddedAppL...
-delete Obj
-[Endtest]
-
-[Test] 
-title TCLOCSETTINGSUI0009
-create testlocsettingsuiclient Obj
-allownextresult KErrNotSupported
-Obj TestCancelLaunchedSettingsUiErr
-print TestLaunchPosSettingsAsEmbeddedAppL...
-delete Obj
-[Endtest]
-
-[Test] 
-title TCLOCSETTINGSUI0010
-create testlocsettingsuiclient Obj
-Obj TestClosePosSettings
-print TestLaunchPosSettingsAsEmbeddedAppL...
-delete Obj
-[Endtest]
-
-[Test] 
-title TCLOCSETTINGSUI0011
-create testlocsettingsuiclient Obj
-allownextresult KErrNotSupported
-Obj TestClosePosSettingsErr
-print TestLaunchPosSettingsAsEmbeddedAppL...
-delete Obj
-[Endtest]
--- a/locsrv_plat/location_settings_launch_api/tsrc/eabi/testlocsettingsuiclientu.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-EXPORTS
-	_Z9LibEntryLR13CTestModuleIf @ 1 NONAME
-	_ZTI26CTestLocSettingsUiClientAO @ 2 NONAME ; #<TI>#
-	_ZTV26CTestLocSettingsUiClientAO @ 3 NONAME ; #<VT>#
-
--- a/locsrv_plat/location_settings_launch_api/tsrc/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   Test Module DLL to Location Settings Launch API
-*
-*/
-
-
-
-
-PRJ_PLATFORMS
-// specify the platforms your component needs to be built for here
-// defaults to WINS MARM so you can ignore this if you just build these
-DEFAULT
-
-PRJ_TESTEXPORTS
-// NOTE: If using ARS requirements all export operations should be done under this.
-// 'abld test export'
-
-PRJ_EXPORTS
-// Specify the source file followed by its destination here
-// copy will be used to copy the source file to its destination
-// If there's no destination then the source file will be copied
-// to the same name in /epoc32/include
-// Example: 
-/*
-/agnmodel/inc/AGMCOMON.H
-*/
-
-PRJ_TESTMMPFILES
-// NOTE: If using ARS requirements .mmp file operation should be done under this.
-// 'abld test build'
-testlocsettingsuiclient.mmp
-
-PRJ_MMPFILES
-// Specify the .mmp files required for building the important component
-// releasables.
-//
-// Specify "tidy" if the component you need to build doesn't need to be
-// released. Specify "ignore" if the MMP file exists but should be
-// ignored.
-// Example:
-/*
-/agnmodel/group/agnmodel.mmp
-#if defined(MARM)
-/agnmodel/group/agsvexe.mmp
-#endif
-*/
-
-//  End of File
\ No newline at end of file
--- a/locsrv_plat/location_settings_launch_api/tsrc/group/testlocsettingsuiclient.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +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:
-*
-*/
-/*TYPE TESTCLASS*//*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Test Module DLL to Location Settings Launch API
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET          testlocsettingsuiclient.dll
-TARGETTYPE      dll
-UID             0x1000008D 0x101FB3E3
-
-CAPABILITY      ALL -TCB
-/* Remove comments and replace 0x00000000 with correct vendor id */
-// VENDORID     0x00000000
-/* Remove comments and replace 0x00000000 with correct secure id */
-// SECUREID     0x00000000
-
-//TARGETPATH
-DEFFILE         testlocsettingsuiclient.def
-
-SOURCEPATH      ../src
-SOURCE          testlocsettingsuiclient.cpp
-SOURCE          testlocsettingsuiclientBlocks.cpp
-SOURCE          testlocsettingsuiclientao.cpp
-
-//RESOURCE        resource_file
-//RESOURCE        resource_file2
-
-USERINCLUDE     ../inc 
-
-MW_LAYER_SYSTEMINCLUDE
-
-LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
-LIBRARY			locsettingsuiclient.lib cone.lib
-
-LANG            SC
-
-// End of File
--- a/locsrv_plat/location_settings_launch_api/tsrc/group/testlocsettingsuiclient.pkg	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +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:   Package file for test code of Location Settings Launch API
-;
-&EN
-;
-; UID is the app's UID
-;
-#{"testlocsettingsuiclient"},(0x101FB3E3),2,0,0,TYPE=SA
-;
-; Localised Vendor name
-%{"Nokia-EN"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Supports Series 60 v 3.0
-;This line indicates that this installation is for the Series 60 platform v0.9
-;This line must appear _exactly_ as shown below in the sis file
-;If this line is missing or incorrect, the sis file will not be able
-;to be installed on Series 60 v3.0 platforms
-;(0x101F7961), 0, 0, 0, {"Series60ProductID"}
-;
-;
-; Files to install
-"\epoc32\release\armv5\urel\testlocsettingsuiclient.dll"-"C:\sys\bin\testlocsettingsuiclient.dll"
-"..\conf\testlocsettingsuiclient.cfg"-"C:\testframework\testlocsettingsuiclient.cfg"
-"..\init\testframework.ini"-"C:\data\testframework.ini"
-
--- a/locsrv_plat/location_settings_launch_api/tsrc/inc/testlocsettingsuiclient.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,172 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   Test Module DLL to Location Settings Launch API
-*
-*/
-
-
-
-
-#ifndef TESTLOCSETTINGSUICLIENT_H
-#define TESTLOCSETTINGSUICLIENT_H
-
-//  INCLUDES
-#include <StifLogger.h>
-#include <TestScripterInternal.h>
-#include <StifTestModule.h>
-
-
-// CONSTANTS
-_LIT( KtestlocsettingsuiclientLogPath, "\\logs\\testframework\\testlocsettingsuiclient\\" ); 
-_LIT( KtestlocsettingsuiclientLogFile, "testlocsettingsuiclient.txt" ); 
-
-// FORWARD DECLARATIONS
-class CTestLocSettingsUiClient;
-class CTestLocSettingsUiClientAO;
-
-// CLASS DECLARATION
-
-/**
-*  CTestLocSettingsUiClient test class for STIF Test Framework TestScripter.
-*  This is the testclass for Location Settings Launch API
-*
-*  @lib testlocsettingsuiclient.lib
-*  @since S60 v3.2
-*/
-
-NONSHARABLE_CLASS(CTestLocSettingsUiClient) : public CScriptBase
-    {
-    public:  // Constructors and destructor
-
-        /**
-        * Two-phased constructor.
-        */
-        static CTestLocSettingsUiClient* NewL( CTestModuleIf& aTestModuleIf );
-
-        /**
-        * Destructor.
-        */
-        virtual ~CTestLocSettingsUiClient();
-
-    public: // New functions
-
-    public: // Functions from base classes
-
-        /**
-        * From CScriptBase Runs a script line.
-        * @since S60 v3.2
-        * @param aItem Script line containing method name and parameters
-        * @return Symbian OS error code
-        */
-        virtual TInt RunMethodL( CStifItemParser& aItem );
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CTestLocSettingsUiClient( CTestModuleIf& aTestModuleIf );
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-          void ConstructL();
-
-        /**
-        * Frees all resources allocated from test methods.
-        * @since S60 v3.2
-        */
-          void Delete();
-
-	    /**
-	     * Test Case for create a new instance of 
-	     * CLocSettingsUiClient with NewL
-	     *
-	     * @since S60 v3.2
-	     * Returns KErrNone if successful. 
-	     *
-	     */ 
-		  TInt TestNewL( CStifItemParser& aItem );
-		
-	    /**
-	     * Test Case for create a new instance of 
-	     * CLocSettingsUiClient with NewLC
-	     *
-	     * @since S60 v3.2
-	     * Returns KErrNone if successful. 
-	     *
-	     */ 
-	 	  TInt TestNewLC( CStifItemParser& aItem );
-	 	  		
-	    /**
-	     * Test Case for Launching Settings Ui 
-	     * CLocSettingsUiClient
-	     *
-	     * @since S60 v3.2
-	     * Returns KErrNone if successful. 
-	     *
-	     */ 
-	 	  TInt TestLaunchSettingsL( CStifItemParser& aItem );
-	 	  		
-	    /**
-	     * Test Case for Cancelling a Launch of Settings Ui 
-	     * CLocSettingsUiClient
-	     *
-	     * @since S60 v3.2
-	     * Returns KErrNone if successful. 
-	     *
-	     */ 
-	 	  TInt TestCancelLaunchedSettingsUi(CStifItemParser& aItem);
-	 	  	 	  		
-	    /**
-	     * Test Case for Cancelling a Launch of Settings Ui 
-	     * which results in Error
-	     *
-	     * @since S60 v3.2
-	     * Returns KErrNone if successful. 
-	     *
-	     */ 
-	 	  TInt TestCancelLaunchedSettingsUiErr( CStifItemParser& aItem );
-	 	  	 	  		
-	    /**
-	     * Test Case for Closing a Position Settings 
-	     * CLocSettingsUiClient
-	     *
-	     * @since S60 v3.2
-	     * Returns KErrNone if successful. 
-	     *
-	     */ 
-	 	  TInt TestClosePosSettings( CStifItemParser& aItem );
-	 	  	 	  		
-	    /**
-	     * Test Case for Closing a Position Settings 
-	     * which results in Error
-	     *
-	     * @since S60 v3.2
-	     * Returns KErrNone if successful. 
-	     *
-	     */ 
-	 	  TInt TestClosePosSettingsErr( CStifItemParser& aItem );
-
-    private:    // Data
-        /**
-        * Tester Class for CTestLocSettingsUiClient API methods
-        */
-    	 CTestLocSettingsUiClientAO* iLocSettingsUiClientAO;
-        
-    };
-
-#endif      // TESTLOCSETTINGSUICLIENT_H
-
-// End of File
--- a/locsrv_plat/location_settings_launch_api/tsrc/inc/testlocsettingsuiclientao.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,192 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   Test Class For RPositionServer
-*
-*/
-
-
-
-#ifndef TESTLOCSETTINGSUICLIENTAO_H
-#define TESTLOCSETTINGSUICLIENTAO_H
-
-// System Includes
-#include <StifLogger.h>
-#include <StifTestModule.h>
-#include <StifParser.h>
-#include <e32base.h>
-#include <e32std.h>
-
-
-// Constants
-class CLocSettingsUiClient;
-
-// CLASS DECLARATION
-/**
- *  Test Class to invoke the CLocSettingsUiClient methods
- *
- *  This class is a helper class. The status variable of this active obect is 
- *  used to provide the asynchronous method Calls.
- *
- *  @lib testlbslocacquisition.lib
- *  @since S60 v3.2
- */
-
-class CTestLocSettingsUiClientAO :public CActive
-    {
-    public:
-    	enum TState
-    		{
-    		EStart = 0,
-    		EExecuting,
-    		ECompleted
-    		};
-    
-    	enum TFunction
-    		{
-    		ELaunchPosSettingsL = 0,
-    		ELaunchPosSettingsAsEmbeddedAppL,
-    		ELaunchSettingsUiL,
-    		ELaunchSettingsUiAsEmbeddedAppL,
-    		ELaunchSettingsUiLOverLoaded,
-    		ELaunchSettingsUiAsEmbeddedAppLOverLoaded
-    		};
-    
-    public:  // Constructors and destructor
-
-        /**
-        * Destructor. 
-        */
-        static CTestLocSettingsUiClientAO* NewL(CStifLogger* aLog);
-        
-        /**
-        * Destructor. 
-        */
-        ~CTestLocSettingsUiClientAO();
-
-    public:         
-        
-        //From CActive
-          void RunL();
-          void DoCancel();
-		  TInt RunError(TInt aError);   
-
-		//
-	    /**
-	     * Test Case for create a new instance of 
-	     * CLocSettingsUiClient with NewL
-	     *
-	     * @since S60 v3.2
-	     * Returns KErrNone if successful. 
-	     *
-	     */ 
-		  TInt TestNewL();
-		
-	    /**
-	     * Test Case for create a new instance of 
-	     * CLocSettingsUiClient with NewLC
-	     *
-	     * @since S60 v3.2
-	     * Returns KErrNone if successful. 
-	     *
-	     */ 
-	 	  TInt TestNewLC();
-		  		  	 		
-	    /**
-	     * Test Case for Launching Settings Ui 
-	     * CLocSettingsUiClient
-	     *
-	     * @since S60 v3.2
-	     * Returns KErrNone if successful. 
-	     *
-	     */ 
-	 	  TInt TestLaunchSettingsL( CStifItemParser& aItem );
-	 	  
-	 	 /**
-	     * Test Case for Cancelling a Launch of Settings Ui 
-	     * CLocSettingsUiClient
-	     *
-	     * @since S60 v3.2
-	     * Returns KErrNone if successful. 
-	     *
-	     */ 
-	 	  TInt TestCancelLaunchedSettingsUi(CStifItemParser& aItem);
-	 	  	 	  	 	  		
-	    /**
-	     * Test Case for Cancelling a Launch of Settings Ui 
-	     * which results in Error
-	     *
-	     * @since S60 v3.2
-	     * Returns KErrNone if successful. 
-	     *
-	     */ 
-	 	  TInt TestCancelLaunchedSettingsUiErr();
-	 	  	 	  	 	  		
-	    /**
-	     * Test Case for Closing a Position Settings 
-	     * CLocSettingsUiClient
-	     *
-	     * @since S60 v3.2
-	     * Returns KErrNone if successful. 
-	     *
-	     */ 
-	 	  TInt TestClosePosSettings();
-	 	  	 	  	 	  		
-	    /**
-	     * Test Case for Closing a Position Settings 
-	     * which results in Error
-	     *
-	     * @since S60 v3.2
-	     * Returns KErrNone if successful. 
-	     *
-	     */ 
-	 	  TInt TestClosePosSettingsErr();
-	 	  
-	private:
-	
-		void IssueRequestL(TFunction aFunction);
-		void ConstructL();
-	
-        /**
-        * C++ default constructor.
-        */
-        CTestLocSettingsUiClientAO(CStifLogger* aLog);
-	 	    
-    private:  //data
-	    /**
-	     * Loc system UI Client instance
-	     */     		 
-    	CLocSettingsUiClient*         iLocSettingsUiClient;
-
-	    /**
-	     * iLog instance - Not owned
-	     */         
-        CStifLogger* 			iLog;
-        
-        TInt iErr;
-        
-        TUid iTUid;
-        
-        TInt iParam;
-        
-        TBuf<50> iParamString;
-        
-        TFunction iFunction;
-        
-        TState iState;
-	        
-     };     
-
-#endif      // TESTLOCSETTINGSUICLIENTAO_H
-
-// End of File
--- a/locsrv_plat/location_settings_launch_api/tsrc/init/testframework.ini	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,182 +0,0 @@
-#
-# This is STIFTestFramework initialization file
-# Comment lines start with '#'-character.
-# See STIF TestFramework users guide.doc for instructions
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Set following test engine settings:
-#	- Set Test Reporting mode. TestReportMode's possible values are:
-#		+ 'Summary': Summary of the tested test cases.
-#		+ 'Environment': Hardware and software info.
-#		+ 'TestCases': Test case report.
-#		+ 'FullReport': Set of all above ones.
-#		+ Example 'TestReportMode= Summary TestCases'
-#
-# 	- CreateTestReport setting controls report creation mode
-#		+ YES, Test report will created.
-#		+ NO, No Test report.
-#
-# 	- File path indicates the base path of the test report.
-# 	- File name indicates the name of the test report.
-#
-# 	- File format indicates the type of the test report.
-#		+ TXT, Test report file will be txt type, for example 'TestReport.txt'.
-#		+ HTML, Test report will be html type, for example 'TestReport.html'.
-#
-# 	- File output indicates output source of the test report.
-#		+ FILE, Test report logging to file.
-#		+ RDEBUG, Test report logging to using rdebug.
-#
-# 	- File Creation Mode indicates test report overwriting if file exist.
-#		+ OVERWRITE, Overwrites if the Test report file exist.
-#		+ APPEND, Continue logging after the old Test report information if 
-#                 report exist.
-# 	- Sets a device reset module's dll name(Reboot).
-#		+ If Nokia specific reset module is not available or it is not correct one
-#		  StifHWResetStub module may use as a template for user specific reset
-#		  module. 
-
-[Engine_Defaults]
-
-TestReportMode= FullReport		# Possible values are: 'Empty', 'Summary', 'Environment',
-                                                               'TestCases' or 'FullReport'
-
-CreateTestReport= YES			# Possible values: YES or NO
-
-TestReportFilePath= C:\LOGS\TestFramework\
-TestReportFileName= TestReport
-
-TestReportFormat= TXT			# Possible values: TXT or HTML
-TestReportOutput= FILE			# Possible values: FILE or RDEBUG
-TestReportFileCreationMode= OVERWRITE	# Possible values: OVERWRITE or APPEND
-
-DeviceResetDllName= StifResetForNokia.dll # e.g. 'StifHWResetStub.dll' for user specific reseting
-
-[End_Defaults]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Module configurations start
-# Modules are added between module tags
-# tags. Module name is specified after ModuleName= tag, like
-# ModuleName= XXXXXXXXX
-# Modules might have initialisation file, specified as
-# IniFile= c:\testframework\YYYYYY
-# Modules might have several configuration files, like
-# TestCaseFile= c:\testframework\NormalCases.txt
-# TestCaseFile= c:\testframework\SmokeCases.txt
-# TestCaseFile= c:\testframework\ManualCases.txt
-
-# (TestCaseFile is synonym for old term ConfigFile)
-
-# Following case specifies demo module settings. Demo module
-# does not read any settings from file, so tags 
-# IniFile and TestCaseFile are not used.
-# In the simplest case it is enough to specify only the
-# name of the test module when adding new test module
-
-#[New_Module]
-#ModuleName= demomodule
-#[End_Module]
-
-[New_Module]
-ModuleName= TestScripter
-TestCaseFile= C:\Testframework\testlocsettingsuiclient.cfg
-[End_Module]
-
-# Load testmoduleXXX, optionally with initialization file and/or test case files
-#[New_Module]
-#ModuleName= testmodulexxx
-
-#TestModuleXXX used initialization file
-#IniFile= c:\testframework\init.txt
-
-#TestModuleXXX used configuration file(s)
-#TestCaseFile= c:\testframework\testcases1.cfg
-#TestCaseFile= c:\testframework\testcases2.cfg
-#TestCaseFile= c:\testframework\manualtestcases.cfg
-
-#[End_Module]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Set STIFTestFramework logging overwrite parameters for Logger.
-# 	Hardware and emulator environment logging path and styles can
-# 	be configured from here to overwrite the Logger's implemented values.
-#	
-#	Settings description:
-#	- Indicates option for creation log directory/directories. If log directory/directories
-#         is/are not created by user they will make by software.
-#		+ YES, Create log directory/directories if not allready exist.
-#		+ NO, Log directory/directories not created. Only created one is used.
-#
-#	- Overwrite emulator path setting.
-#		+ Example: If 'EmulatorBasePath= C:\LOGS\TestFramework\' and in code is defined 
-#		           Logger's path 'D:\\LOGS\\Module\\' with those definition the path
-#		           will be 'C:\LOGS\TestFramework\LOGS\Module\'
-#
-#	- Overwrite emulator's logging format.
-#		+ TXT, Log file(s) will be txt type(s), for example 'Module.txt'.
-#		+ HTML, Log file(s) will be html type(s), for example 'Module.html'.
-#
-#	- Overwrited emulator logging output source.
-#		+ FILE, Logging to file(s).
-#		+ RDEBUG, Logging to using rdebug(s).
-#
-#	- Overwrite hardware path setting (Same description as above in emulator path).
-#	- Overwrite hardware's logging format(Same description as above in emulator format).
-#	- Overwrite hardware's logging output source(Same description as above in emulator output).
-#
-#	- File Creation Mode indicates file overwriting if file exist.
-#		+ OVERWRITE, Overwrites if file(s) exist.
-#		+ APPEND, Continue logging after the old logging information if file(s) exist.
-#
-#	- Will thread id include to the log filename.
-#		+ YES, Thread id to log file(s) name, Example filename 'Module_b9.txt'.
-#		+ NO, No thread id to log file(s), Example filename 'Module.txt'.
-#
-#	- Will time stamps include the to log file.
-#		+ YES, Time stamp added to each line in log file(s). Time stamp is 
-#                 for example'12.Nov.2003 115958    LOGGING INFO'
-#		+ NO, No time stamp(s).
-#
-#	- Will line breaks include to the log file.
-#		+ YES, Each logging event includes line break and next log event is in own line.
-#		+ NO, No line break(s).
-#
-#	- Will event ranking include to the log file.
-#		+ YES, Event ranking number added to each line in log file(s). Ranking number 
-#                 depends on environment's tics, for example(includes time stamp also)
-#                 '012   12.Nov.2003 115958    LOGGING INFO'
-#		+ NO, No event ranking.
-#
-
-[Logger_Defaults]
-
-#NOTE: If you want to set Logger using next setting(s) remove comment(s)'#' 
-
-#CreateLogDirectories= YES		# Possible values: YES or NO
-
-#EmulatorBasePath= C:\LOGS\TestFramework\
-#EmulatorFormat= HTML			# Possible values: TXT or HTML
-#EmulatorOutput= FILE			# Possible values: FILE or RDEBUG
-
-#HardwareBasePath= D:\LOGS\TestFramework\
-#HardwareFormat= HTML			# Possible values: TXT or HTML
-#HardwareOutput= FILE			# Possible values: FILE or RDEBUG
-
-#FileCreationMode= OVERWRITE		# Possible values: OVERWRITE or APPEND
-
-#ThreadIdToLogFile= YES			# Possible values: YES or NO
-#WithTimeStamp= YES			# Possible values: YES or NO
-#WithLineBreak= YES			# Possible values: YES or NO
-#WithEventRanking= YES			# Possible values: YES or NO
-
-[End_Logger_Defaults]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-# End of file
--- a/locsrv_plat/location_settings_launch_api/tsrc/src/testlocsettingsuiclient.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   Test Module DLL to Location Settings Launch API
-*
-*/
-
-
-
-
-// INCLUDE FILES
-#include <Stiftestinterface.h>
-#include "testlocsettingsuiclient.h"
-#include "testlocsettingsuiclientao.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CTestLocSettingsUiClient::CTestLocSettingsUiClient
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CTestLocSettingsUiClient::CTestLocSettingsUiClient( 
-    CTestModuleIf& aTestModuleIf ):
-        CScriptBase( aTestModuleIf )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CTestLocSettingsUiClient::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CTestLocSettingsUiClient::ConstructL()
-    {
-    iLog = CStifLogger::NewL( KtestlocsettingsuiclientLogPath, 
-                          KtestlocsettingsuiclientLogFile,
-                          CStifLogger::ETxt,
-                          CStifLogger::EFile,
-                          EFalse );
-                          
-	iLocSettingsUiClientAO = CTestLocSettingsUiClientAO::NewL(iLog);
-
-    }
-
-// -----------------------------------------------------------------------------
-// CTestLocSettingsUiClient::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CTestLocSettingsUiClient* CTestLocSettingsUiClient::NewL( 
-    CTestModuleIf& aTestModuleIf )
-    {
-    CTestLocSettingsUiClient* self = new (ELeave) CTestLocSettingsUiClient( aTestModuleIf );
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;
-
-    }
-
-// -----------------------------------------------------------------------------
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CTestLocSettingsUiClient::~CTestLocSettingsUiClient()
-    { 
-
-    // Delete resources allocated from test methods
-    Delete();
-
-    // Delete logger
-    delete iLog; 
-
-    }
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// -----------------------------------------------------------------------------
-// LibEntryL is a polymorphic Dll entry point.
-// Returns: CScriptBase: New CScriptBase derived object
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CScriptBase* LibEntryL( 
-    CTestModuleIf& aTestModuleIf ) // Backpointer to STIF Test Framework
-    {
-
-    return ( CScriptBase* ) CTestLocSettingsUiClient::NewL( aTestModuleIf );
-
-    }
-
-
-//  End of File
--- a/locsrv_plat/location_settings_launch_api/tsrc/src/testlocsettingsuiclientBlocks.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,161 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   Test Module DLL to Location Settings Launch API
-*
-*/
-
-
-
-
-// INCLUDE FILES
-#include <e32svr.h>
-#include <StifParser.h>
-#include <Stiftestinterface.h>
-#include <locsettingsuiclient.h>
-
-#include "testlocsettingsuiclient.h"
-#include "testlocsettingsuiclientao.h"
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CTestLocSettingsUiClient::Delete
-// Delete here all resources allocated and opened from test methods. 
-// Called from destructor. 
-// -----------------------------------------------------------------------------
-//
-void CTestLocSettingsUiClient::Delete() 
-    {
-    if(iLocSettingsUiClientAO)
-    	{
-    	delete iLocSettingsUiClientAO;	
-    	iLocSettingsUiClientAO = NULL;
-    	}	
-    }
-
-// -----------------------------------------------------------------------------
-// CTestLocSettingsUiClient::RunMethodL
-// Run specified method. Contains also table of test mothods and their names.
-// -----------------------------------------------------------------------------
-//
-TInt CTestLocSettingsUiClient::RunMethodL( 
-    CStifItemParser& aItem ) 
-    {
-
-    static TStifFunctionInfo const KFunctions[] =
-        {  
-
-        ENTRY( "TestNewL", CTestLocSettingsUiClient::TestNewL ),
-        ENTRY( "TestNewLC", CTestLocSettingsUiClient::TestNewLC ),
-        ENTRY( "TestLaunchSettingsL", CTestLocSettingsUiClient::TestLaunchSettingsL ),
-        ENTRY( "TestCancelLaunchedSettingsUi", CTestLocSettingsUiClient::TestCancelLaunchedSettingsUi ),
-        ENTRY( "TestCancelLaunchedSettingsUiErr", CTestLocSettingsUiClient::TestCancelLaunchedSettingsUiErr ),
-        ENTRY( "TestClosePosSettings", CTestLocSettingsUiClient::TestClosePosSettings ),
-        ENTRY( "TestClosePosSettingsErr", CTestLocSettingsUiClient::TestClosePosSettingsErr ),
-
-        };
-
-    const TInt count = sizeof( KFunctions ) / 
-                        sizeof( TStifFunctionInfo );
-
-    return RunInternalL( KFunctions, count, aItem );
-
-    }
-
-// ---------------------------------------------------------
-// CTestLocSettingsUiClient::TestNewL
-//
-// (other items are commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLocSettingsUiClient::TestNewL( CStifItemParser& /*aItem*/ )
-	{
-	return iLocSettingsUiClientAO->TestNewL();
-	}
-	
-// ---------------------------------------------------------
-// CTestLocSettingsUiClient::TestNewLC
-//
-// (other items are commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLocSettingsUiClient::TestNewLC( CStifItemParser& /*aItem*/ )
-	{
-	return iLocSettingsUiClientAO->TestNewLC();
-	}
-
-// ---------------------------------------------------------
-// CTestLocSettingsUiClientAO::TestLaunchPosSettingsAsEmbeddedAppL
-//
-// (other items are commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLocSettingsUiClient::TestLaunchSettingsL(
-								 CStifItemParser& aItem )
-	{
-	TInt err = iLocSettingsUiClientAO->TestLaunchSettingsL(aItem);
-//	CActiveScheduler::Start();
-	return err;
-	}
-
-// ---------------------------------------------------------
-// CTestLocSettingsUiClientAO::TestCancelLaunchedSettingsUi
-//
-// (other items are commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLocSettingsUiClient::TestCancelLaunchedSettingsUi(CStifItemParser& aItem)
-	{
-	TInt err = iLocSettingsUiClientAO->TestCancelLaunchedSettingsUi(aItem);
-	return err;	
-	}
-	
-// ---------------------------------------------------------
-// CTestLocSettingsUiClientAO::TestCancelLaunchedSettingsUi
-//
-// (other items are commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLocSettingsUiClient::TestCancelLaunchedSettingsUiErr( CStifItemParser& /*aItem*/ )
-	{
-	TInt err = iLocSettingsUiClientAO->TestCancelLaunchedSettingsUiErr();
-	return err;	
-	}
-	
-// ---------------------------------------------------------
-// CTestLocSettingsUiClientAO::TestClosePosSettings
-//
-// (other items are commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLocSettingsUiClient::TestClosePosSettings( CStifItemParser& /*aItem*/ )
-	{
-	TInt err = iLocSettingsUiClientAO->TestClosePosSettings();
-	return err;	;		
-	}
-
-// ---------------------------------------------------------
-// CTestLocSettingsUiClientAO::TestClosePosSettings
-//
-// (other items are commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLocSettingsUiClient::TestClosePosSettingsErr( CStifItemParser& /*aItem*/ )
-	{
-	TInt err = iLocSettingsUiClientAO->TestClosePosSettingsErr();
-	return err;	;		
-	}
-
-//  End of File
--- a/locsrv_plat/location_settings_launch_api/tsrc/src/testlocsettingsuiclientao.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,364 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   Test Module DLL to Location Settings Launch API
-*
-*/
-
-
-
-// System Includes
-#include <locsettingsuiclient.h>
-#include <w32std.h>
-#include <coemain.h>
-#include <eikon.hrh>
-
-// User Includes
-#include "testlocsettingsuiclientao.h"
-
-
-// Constant Declarations
-
-    
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// C++ Default Constructor
-// ---------------------------------------------------------------------------
-//
-CTestLocSettingsUiClientAO* CTestLocSettingsUiClientAO::NewL(CStifLogger* aLog)
-    {
-    CTestLocSettingsUiClientAO* self = new(ELeave) CTestLocSettingsUiClientAO(aLog);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// C++ Default Constructor
-// ---------------------------------------------------------------------------
-//
-void CTestLocSettingsUiClientAO::ConstructL()
-    {
-    iLocSettingsUiClient = CLocSettingsUiClient::NewL();
-    }
-    
-// ---------------------------------------------------------------------------
-// C++ Default Constructor
-// ---------------------------------------------------------------------------
-//
-CTestLocSettingsUiClientAO::CTestLocSettingsUiClientAO(CStifLogger* aLog)
-    :CActive(0),iLog(aLog),iErr(0)
-    {
-    CActiveScheduler::Add(this);
-    }
-
-// ---------------------------------------------------------------------------
-// C++ Destructor
-// ---------------------------------------------------------------------------
-//
-CTestLocSettingsUiClientAO::~CTestLocSettingsUiClientAO()
-    {
-    if( IsActive() )
-	    {
-	    Cancel(); 	
-	    }
-	    
-    if(iLocSettingsUiClient)
-    	{
-    	delete iLocSettingsUiClient;	
-    	iLocSettingsUiClient = NULL;
-    	}
-    }
-
-// ---------------------------------------------------------
-// CTestLocSettingsUiClientAO::RunL 
-//
-// RunL to Handle Completed Request
-// ---------------------------------------------------------
-//	
-void CTestLocSettingsUiClientAO::RunL()
-	{
-	switch(iState)
-		{		
-		case EStart:
-			switch(iFunction)
-				{
-				case ELaunchPosSettingsL:
-					iState = ECompleted;
-					iLocSettingsUiClient->LaunchPosSettingsL(iStatus);
-					SetActive();
-				break;				
-				case ELaunchPosSettingsAsEmbeddedAppL:
-					iState = ECompleted;
-					iLocSettingsUiClient->LaunchPosSettingsAsEmbeddedAppL(iStatus);
-					SetActive();
-				case ELaunchSettingsUiL:
-					iState = ECompleted;
-					iLocSettingsUiClient->LaunchSettingsUiL(iTUid,iParam,iStatus);
-					SetActive();
-				break;				
-				case ELaunchSettingsUiAsEmbeddedAppL:
-					iState = ECompleted;
-					iLocSettingsUiClient->LaunchSettingsUiAsEmbeddedAppL(iTUid,iParam,iStatus);
-					SetActive();
-					break;
-					
-				case ELaunchSettingsUiLOverLoaded:
-					iState = ECompleted;
-					iLocSettingsUiClient->LaunchSettingsUiL(iTUid,iParamString,iStatus);
-					SetActive();
-					break;
-					
-				case ELaunchSettingsUiAsEmbeddedAppLOverLoaded:
-					iState = ECompleted;
-					iLocSettingsUiClient->LaunchSettingsUiAsEmbeddedAppL(iTUid,iParamString,iStatus);
-					SetActive();
-					break;					
-				}
-		break;	
-		case ECompleted:
-			{
-
-			iLog->Log(_L("RunL %d"),iStatus.Int());		
-			CActiveScheduler::Stop();			
-			}
-		break;
-		}
-	}
-	
-// ---------------------------------------------------------
-// CTestLocSettingsUiClientAO::DoCancel 
-//
-// To Handle Cancel Request
-// ---------------------------------------------------------
-//	
-void CTestLocSettingsUiClientAO::DoCancel()
-	{
-//	TInt err = iPosServer.CancelRequest(EPositionServerNotifyModuleStatusEvent);
-//	iLog->Log(_L("CancelL %d"),err);
-
-	}
-
-// ---------------------------------------------------------
-// CTestLocSettingsUiClientAO::RunError 
-//
-// To Handle Error in RunL
-// ---------------------------------------------------------
-//
-TInt CTestLocSettingsUiClientAO::RunError(TInt aError)
-	{
-	iErr = aError;
-	iLog->Log(_L("Leave in RunError %d"),aError);
-	CActiveScheduler::Stop();
-	return KErrNone;
-	}
-	
-// ---------------------------------------------------------
-// CTestLocSettingsUiClientAO::TestNewL
-//
-// (other items are commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLocSettingsUiClientAO::TestNewL()
-	{
-	CLocSettingsUiClient* aLocSettingsUiClient = CLocSettingsUiClient::NewL();
-    if(aLocSettingsUiClient)
-    	{
-    	delete aLocSettingsUiClient;	
-    	aLocSettingsUiClient = NULL;
-    	}
-	return KErrNone;
-	}
-	
-// ---------------------------------------------------------
-// CTestLocSettingsUiClientAO::TestNewLC
-//
-// (other items are commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLocSettingsUiClientAO::TestNewLC()
-	{
-	CLocSettingsUiClient* aLocSettingsUiClient = CLocSettingsUiClient::NewLC();
-	CleanupStack::PopAndDestroy(aLocSettingsUiClient);
-	return KErrNone;
-	}
-		
-// ---------------------------------------------------------
-// CTestLocSettingsUiClientAO::TestLaunchSettingsL
-//
-// (other items are commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLocSettingsUiClientAO::TestLaunchSettingsL(CStifItemParser& aItem)
-	{
-	TInt choice;
-	User::LeaveIfError(aItem.GetNextInt(choice));
-	switch(choice)
-		{
-		case 0:
-			IssueRequestL(ELaunchPosSettingsL);
-		break;
-		case 1:
-			IssueRequestL(ELaunchPosSettingsAsEmbeddedAppL);
-		break;
-		case 2:
-			TUint UidInInt;
-			TInt param;
-			if(aItem.GetNextInt(UidInInt, EHex) != KErrNotFound && 
-				aItem.GetNextInt(param) != KErrNotFound )
-				{
-				iTUid.iUid = UidInInt;
-				iParam = param;
-				IssueRequestL(ELaunchSettingsUiL);
-				}
-			else
-				{
-				return KErrGeneral;
-				}
-		break;
-		case 3:
-			TUint UidInInt1;
-			TInt param1;
-			if(aItem.GetNextInt(UidInInt1, EHex) != KErrNotFound && 
-				aItem.GetNextInt(param1) != KErrNotFound )
-				{
-				iTUid.iUid = UidInInt1;
-				iParam = param1;
-				IssueRequestL(ELaunchSettingsUiAsEmbeddedAppL);
-				}
-			else
-				{
-				return KErrGeneral;
-				}
-			break;
-
-		case 4:
-			TUint UidInInt2;
-			TPtrC param2;
-			if(aItem.GetNextInt(UidInInt2, EHex) != KErrNotFound && 
-				aItem.GetNextString(param2) != KErrNotFound )
-				{
-				iTUid.iUid = UidInInt2;
-				iParamString.Copy(param2);
-				IssueRequestL(ELaunchSettingsUiLOverLoaded);
-				}
-			else
-				{
-				return KErrGeneral;
-				}
-			break;
-			
-		case 5:
-			TUint UidInInt3;
-			TPtrC param3;
-			if(aItem.GetNextInt(UidInInt3, EHex) != KErrNotFound && 
-				aItem.GetNextString(param3) != KErrNotFound )
-				{
-				iTUid.iUid = UidInInt3;
-				iParamString.Copy(param3);
-				IssueRequestL(ELaunchSettingsUiAsEmbeddedAppLOverLoaded);
-				}
-			else
-				{
-				return KErrGeneral;
-				}
-			break;
-			
-		default:
-			return KErrGeneral;
-		}
-	CActiveScheduler::Start();
-
-	if(iErr != KErrNone)
-		{
-		iLog->Log(_L("TestLaunchPosSettingsAsEmbeddedAppL - %d"),iErr);	
-		}
-	
-	return iErr;
-	}
-	
-// ---------------------------------------------------------
-// CTestLocSettingsUiClientAO::IssueRequestL
-//
-// (other items are commented in a header).
-// ---------------------------------------------------------
-//
-void CTestLocSettingsUiClientAO::IssueRequestL(TFunction aFunction)
-	{
-	SetActive();
-	iFunction = aFunction;
-	iState = EStart;
-    TRequestStatus* status = &iStatus;
-    User::RequestComplete(status, KErrNone);	
-	}
-	
-// ---------------------------------------------------------
-// CTestLocSettingsUiClientAO::TestCancelLaunchedSettingsUi
-//
-// (other items are commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLocSettingsUiClientAO::TestCancelLaunchedSettingsUi(CStifItemParser& aItem)
-	{
-	TUint UidInInt1;
-	TInt param1;
-	User::LeaveIfError(aItem.GetNextInt(UidInInt1, EHex));
-	User::LeaveIfError(aItem.GetNextInt(param1));
-	iTUid.iUid = UidInInt1;
-	iParam = param1;
-	
-	iLocSettingsUiClient->LaunchSettingsUiAsEmbeddedAppL(iTUid,iParam,iStatus);
-	TInt err = iLocSettingsUiClient->CancelLaunchedSettingsUi();
-	return err;	
-	}
-	
-// ---------------------------------------------------------
-// CTestLocSettingsUiClientAO::TestCancelLaunchedSettingsUi
-//
-// (other items are commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLocSettingsUiClientAO::TestCancelLaunchedSettingsUiErr()
-	{
-	TInt err = iLocSettingsUiClient->CancelLaunchedSettingsUi();
-	return err;	
-	}
-
-// ---------------------------------------------------------
-// CTestLocSettingsUiClientAO::TestClosePosSettings
-//
-// (other items are commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLocSettingsUiClientAO::TestClosePosSettings()
-	{
-	iLocSettingsUiClient->LaunchPosSettingsL(iStatus);
-	SetActive();
-	TInt err = iLocSettingsUiClient->ClosePosSettings();
-	return err;	
-	}
-	
-// ---------------------------------------------------------
-// CTestLocSettingsUiClientAO::TestClosePosSettingsErr
-//
-// (other items are commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLocSettingsUiClientAO::TestClosePosSettingsErr()
-	{
-	TInt err = iLocSettingsUiClient->ClosePosSettings();
-	return err;	
-	}
-	
--- a/locsrv_plat/map_and_navigation_aiw_api/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  File that exports the files belonging to 
-:                Map and Navigation AIW API
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/mnaiwservices.h     MW_LAYER_PLATFORM_EXPORT_PATH(mnaiwservices.h)
--- a/locsrv_plat/map_and_navigation_aiw_api/inc/mnaiwservices.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,130 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Enumerations and structures for Map and Navigation AIW parameters
-*
-*/
-
-
-#ifndef MN_AIWSERVICES_H
-#define MN_AIWSERVICES_H
-
-#include <lbsposition.h>
-
-/** Common options for Map and Navigation AIW services.
- *
- *  Semantic ID must be \p EGenericParamMnCommonOptions.
- *  Type ID must be \p EVariantTypeDesC8 (packed as TPckg).
- *  @since 3.1
- *  \ingroup MnAiwAPI
- */
-struct TMnAiwCommonOptionsParam
-    {
-    /** Whether Provider Application Server shall
-     * be executed chained or standalone. */
-    TBool iRunChained;
-    /** Reserved for future use. */
-    TInt8 reserved[8];
-    };
-
-/** Field types, to be used with TMnAiwCommonOptionsParamExtended::iFieldsSet */
-enum TMnAiwCommonOptionsFields
-    {
-    EMnAiwCommonOptionsFieldsNotSet = 0,
-    EMnAiwCommonOptionsFieldRunChained = 0x01,
-    EMnAiwCommonOptionsFieldProviderId = 0x02,
-    EMnAiwCommonOptionsFieldMessagesDisabled = 0x04,
-    };
-
-/** Extended common options for Map and Navigation AIW services.
- *
- *  Semantic ID must be \p EGenericParamMnCommonOptions.
- *  Type ID must be \p EVariantTypeDesC8 (packed as TPckg).
- *  @since 5.0
- *  \ingroup MnAiwAPI
- *  @see TMnAiwCommonOptionsParam
- */
-struct TMnAiwCommonOptionsParamExtended
-    {
-    /** Bitmask of fields set in the struct, defined in @ref TMnAiwCommonOptionsFields.
-     *  If a bit is unset, the appropriate fields is ignored. */
-    TInt iFieldsSet;
-
-    /** Whether Provider Application Server shall
-     *  be executed chained or standalone.
-     *  This field is used only if EMnAiwCommonOptionsFieldRunChained flag is 
-     *  set in iFieldsSet bit map, otherwise ignored. */
-    TBool iRunChained;
-
-    /** Integer value of needed Provider application UID.
-     *  This field is used only if EMnAiwCommonOptionsFieldProviderId flag is 
-     *  set in iFieldsSet bit map, otherwise ignored. */
-    TInt32 iProviderId;
-    
-    /** Defines whether UI messages are allowed to be shown to user or not.
-     *  By default error messages are shown if request fails. Setting this
-     *  field to ETrue will ban these messages. Client has to process
-     *  the error code returned itself. */
-    TBool iMessagesDisabled;
-
-    /** Reserved for future use. */
-    TInt8 reserved[32];
-    };
-
-/** Contains additional parameters for
- *  @ref svcShowMap and @ref svcSelectFromMap AIW service commands.
- *
- *  These parameters work same as defined by @ref CMnMapView.
- *
- *  Semantic ID must be \p EGenericParamMnMapViewOptions.
- *  Type ID must be \p EVariantTypeDesC8 (packed as TPckg).
- *  @since 3.1
- *  \ingroup MnAiwAPI
- */
-struct TMnAiwMapViewOptionsParam
-    {
-    /** How current location should be drawn, 
-     *  one of @ref CMnMapView::TCurrentLocationOption values */
-    TUint32 iCurrentLocationOption;
-    /** Bitmap of additional options of map view, see @ref CMnMapView::TOptions. */
-    TUint32 iOptions;
-    /** Radius of visible map area in map view. */
-    TReal iRadius;
-    /** Central point of map view. */
-    TCoordinate iCenterPoint;
-    /** Reserved for future use. */
-    TInt8 reserved[8];
-    };
-
-/** Contains geocoding parameters for
- *  @ref svcAddrByCoord and @ref svcCoordByAddr AIW service commands.
- *
- *  These parameters are same as defined by @ref CMnGeocoder.
- *
- *  Semantic ID must be \p EGenericParamMnGeocodingOptions.
- *  Type ID must be \p EVariantTypeDesC8 (packed as TPckg).
- *  @since 3.1
- *  \ingroup MnAiwAPI
- */
-struct TMnAiwGeocodingOptionsParam
-    {
-    /** Bitmap of @ref CMnGeocoder::TOption values */
-    TUint32 iOptions;
-    /** Reserved for future use. */
-    TInt8 reserved[8];
-    };
-
-
-#endif // MN_AIWSERVICES_H
-
-//End of file
--- a/locsrv_plat/map_and_navigation_aiw_api/map_and_navigation_aiw_api.metaxml	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-<?xml version="1.0" ?>
-<api id="aea0bbba2cae7c315b2ca257c245b861" dataversion="2.0">
-  <name>Map and Navigation AIW API</name>
-  <description>This API defines how clients may utilize Map and Navigation FW via AIW mechanisms: services, input and output parameters and so on. This is no call-based API.</description>
-  <type>c++</type>
-  <collection>locationmapnavfw</collection>
-  <libs>
-  </libs>
-  <release category="platform" sinceversion="0"/>
-  <attributes>
-     <!-- This indicates wether the api provedes separate html documentation -->
-     <!-- or is the additional documentation generated from headers. -->
-     <!-- If you are unsuere then the value is "no" -->
-     <htmldocprovided>no</htmldocprovided>
-     <adaptation>no</adaptation>
-  </attributes>
-</api>
--- a/locsrv_plat/map_and_navigation_api/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  File that exports the files belonging to 
-:                Map and Navigation API
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/mnerrors.h        MW_LAYER_PLATFORM_EXPORT_PATH(mnerrors.h)
-../inc/mnnavigator.h     MW_LAYER_PLATFORM_EXPORT_PATH(mnnavigator.h)
-../inc/mnmapview.h       MW_LAYER_PLATFORM_EXPORT_PATH(mnmapview.h)
--- a/locsrv_plat/map_and_navigation_api/inc/mnerrors.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Error constants for Map and Navigation FW
-*
-*/
-
-
-#ifndef MN_ERRORS_H
-#define MN_ERRORS_H
-
-/** \file MnErrors.h Defines Map and Navigation APIs error constants 
- */
-
-/** Client panic category
- *  Used to report client's irrecoverable error.
- */
-_LIT(KMnPanicClientFault, "MnPanicClient");
-
-/** Server panic category
- *  Used to report irrecoverable errors in service implementations.
- */
-_LIT(KMnPanicServerFault, "MnPanicServer");
-
-/** Panic codes */
-enum TMnPanicCodes 
-    {
-    /** Raised if array index is out of bounds */
-    KMnPanicArrayIndexOutOfBounds,
-
-    /** Raised if client issues new asynchronous request 
-     *  before previous one is completed or cancelled. */
-    KMnPanicDuplicateRequest,
-
-    /** Raised if CMnServiceBase-derived class attempts 
-     *  to complete async request, when there is no outstanding one. */
-    KMnPanicAttemptToCompleteNoRequest,
-    
-    /** Raised if CMnServiceBase-derived class 
-     *  completes a request and provides invalid result parameters */
-     KMnPanicInvalidResult
-    };
-
-#endif // MN_ERRORS_H
--- a/locsrv_plat/map_and_navigation_api/inc/mnmapview.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,393 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnMapView class
-*
-*/
-
-
-#ifndef MN_MAPVIEW_H
-#define MN_MAPVIEW_H
-
-#include <e32base.h>
-#include <EPos_Landmarks.h>
-#include <lbsposition.h>
-
-class RFs;
-class CApaServerAppExitMonitor;
-class MAknServerAppExitObserver;
-class CMnProvider;
-class CPosLandmark;
-class RMnMapViewServiceClient;
-
-/** @brief Provides access to map view features.
- *
- *  The ShowMapL() method allows to show map of some area, which can be specified
- *  by SetMapAreaL(). ShowCurrentLocationL() opens a map with current location
- *  in the center. SelectFromMapL() allows to ask user to select some location
- *  from the map. Client can request that some landmarks should be drawn on the map,
- *  when it is shown, by using AddLandmarksToShowL.
- *  Subsequent calls to this method will add landmarks to show list. To reset the
- *  list, call @ref ResetLandmarksToShow.
- *
- *  Two overloads of AddLandmarksToShowL exist for linked and not linked landmarks.
- *  The linked landmark is the one, which has its landmark ID set.
- *  Linked landmarks are sent to Provider Application along with their
- *  landmark database URI, which allows Provider Application to get full category
- *  information of the landmark.
- *
- *  To create an instance of the class, use @ref NewL or @ref NewChainedL methods. They
- *  require instance of CMnProvider, defined in Map and Navigation Provider Discovery API.
- *
- *  Asynchronous operations can be cancelled by @ref Cancel().
- *  Only one asynchronous request can be issued at a time, otherwise client
- *  will be panicked with KMnPanicDuplicateRequest.
- *
- *  @since 3.1
- *  @lib mnclientlib.dll
- *  @ingroup MapNavAPI
- */
-class CMnMapView : public CBase
-    {
-    public :
-
-        /** Type for bitmap of flags defined by TOption */
-        typedef TUint32 TOptions;
-
-        /** @brief Map view options */
-        enum TOption
-            {
-            /** Default value */
-            EOptionNone,
-            /** Defines that only landmarks specified by AddLandmarksToShowL
-             *  are allowed to be selected by user. */
-            EOptionRestrictSelection
-            };
-
-        /** @brief Defines whether current location shall be marked on map */
-        enum TCurrentLocationOption
-            {
-            /** Current location is not shown (default). */
-            ECurrentLocationDisabled,
-            /** Current location is shown only if it's within visible area */
-            ECurrentLocationEnabled,
-            /** Current location is visible always. Provider Application selects
-                appropriate zoom (and position, if area center is not specified)
-                to make sure current location is visible. */
-            ECurrentLocationShowAlways
-            };
-
-        /** @brief Defines type of selection result */
-        enum TSelectionResultType
-            {
-            /** Undefined result */
-            ESelectionNone,
-            /** Free location has been selected.
-             *  Use @ref RetrieveSelectionResultL() to
-             *  get result of selection. */
-            ESelectionFreeLandmark,
-            /** One of landmarks passed by instance has been selected.
-             *  Use @ref RetrieveSelectionResultL(TInt&) to
-             *  get result of selection. */
-            ESelectionLandmarkIndex,
-            /** One of landmarks passed as landmark ID and database URI has been selected.
-             *  Use @ref RetrieveSelectionResultL(TPosLmItemId&, HBufC*&) to
-             *  get result of selection. */
-            ESelectionLinkedLandmark
-            };
-
-        /** Destructor */
-        virtual ~CMnMapView();
-
-        /** @brief Creates new instance of the class. Provider Application
-         *  will be executed standalone.
-         *
-         *  @param[in] aProvider Provider Application to be used for showing map.
-         *  @return Pointer to new instance of the class.
-         *
-         *  @leave KErrNotSupported Selected Provider Application does not support
-         *      map view services (@ref CMnProvider::EServiceMapView).
-         */
-        IMPORT_C static CMnMapView* NewL( CMnProvider& aProvider );
-
-        /** @brief Creates new instance of the class. Provider Application
-         *  will be executed chained (unless Provider Application defines that
-         *  it should be started in background).
-         *
-         *  @param[in] aProvider Provider Application to be used for showing map.
-         *  @return Pointer to new instance of the class.
-         *
-         *  @leave KErrNotSupported Selected Provider Application does not support
-         *      map view services (@ref CMnProvider::EServiceMapView).
-         */
-        IMPORT_C static CMnMapView* NewChainedL( CMnProvider& aProvider );
-
-        /** @brief Shows map on the screen.
-         *
-         *  This method completes as soon as request reaches Provider
-         *  Application. Map is shown then in Provider Application's process.
-         *
-         *  If map area is specified by SetMapAreaL(), then this area of map
-         *  will be visible, when it is shown.
-         *  Otherwise, if only list of landmarks to show is specified,
-         *  then area covering all landmarks is visible.
-         *  If Current Location Option is set to @ref
-         *  ECurrentLocationShowAlways, then it may modify visible area.
-         *
-         *  If neither area nor landmarks are specified, and current location
-         *  option is not "always", then simply last shown map (as determined by selected
-         *  provider application) is shown. If map was never shown before, then
-         *  Provider Application shows map from its default position.
-         */
-        IMPORT_C void ShowMapL();
-
-        /** @brief Shows map on the screen, with current location in the center.
-         *
-         *  This method completes as soon as request reaches Provider
-         *  Application. Map is shown then in Provider Application's process.
-         *
-         *  Same options are applied to this method as to ShowMapL()
-         *  (with the exception that area center point is ignored)
-         */
-        IMPORT_C void ShowCurrentLocationL();
-
-        /** @brief Shows map on the screen and asks user to select a position.
-         *
-         *  If EOptionsRestrictSelection option is set, then user can select
-         *  only those landmarks, which are specified with one of AddLandmarksToShowL
-         *  overrides. Otherwise any location is allowed to be selected.
-         *
-         *  User is shown a view with default selection request text. This text
-         *  can be overridden with SetCustomRequestTextL().
-         *
-         *  See SelectionResultType() for how to retrieve selection result.
-         *
-         *  This is asynchronous request and can be cancelled with Cancel().
-         *
-         *  This method can leave in case of memory lack or other system error.
-         *  If it leaves, no asynchronous request is outstanding.
-         *
-         *  @param[out] aStatus Status of asynchronous operation. Contains error code,
-         *                 when request is completed: KErrNone, if user has made
-         *                 selection, KErrCancel - if request is cancelled, or user
-         *                 refused to make selection. KErrArgument if no landmarks to
-         *                 be shown are specified and ERestrictSelection is set.
-         *                 Otherwise any of system-wide error codes.
-         *
-         *  @panic "MnClientPanic"-KMnPanicDuplicateRequest if new asynchronous request
-         *          is issued before previous one is completed.
-         */
-        IMPORT_C void SelectFromMapL( TRequestStatus& aStatus );
-
-        /** @brief Adds linked landmarks to the list of landmarks to be shown on map.
-         *
-         *  Landmarks are passed along with URL of the database, where they reside.
-         *  This allows to utilize category information from landmarks.
-         *  If landmarks from several databases shall be shown, call this method
-         *  for every such database. All landmarks are added to a single list.
-         *  To clear that list, call ResetLandmarksToShow().
-         *
-         *  @param[in] aDatabaseUri A database, to which belong landmarks, listed
-         *                      in aLandmarkIds parameter.
-         *  @param[in] aLandmarkIds IDs of landmarks to add to show list.
-         *
-         *  @leave KErrLocked Asynchronous request (SelectFromMapL) is outstanding.
-         */
-        IMPORT_C void AddLandmarksToShowL(
-            const TDesC& aDatabaseUri,
-            RArray<TPosLmItemId>& aLandmarkIds );
-
-        /** @brief Adds landmarks to the list of landmarks to be shown on map.
-         *
-         *  Landmarks are passed as instances. This variant is
-         *  for passing landmarks, which are not stored in databases.
-         *
-         *  All landmarks are added to a single list.
-         *  To clear that list, call ResetLandmarksToShow().
-         *
-         *  With large amount of landmarks, it is recommended to use overload,
-         *  which accepts linked landmarks, if possible.
-         *
-         *  @param[in] aLandmarks Array of landmarks to add to show list.
-         *
-         *  @leave KErrLocked Asynchronous request (SelectFromMapL) is outstanding.
-         */
-        IMPORT_C void AddLandmarksToShowL( RPointerArray<CPosLandmark>& aLandmarks );
-
-        /** @brief Adds landmarks to the list of landmarks to be shown on map.
-         *
-         *  Landmarks are passed as packed instances (see @p PosLandmarkSeriazation from
-         *  Landmarks API). This overload is for passing landmarks, which are not stored
-         *  in databases. It is more efficient than
-         *  AddLandmarksToShowL( RPointerArray<CPosLandmark>& ) in terms of memory usage,
-         *  if client already possess landmarks in packed form.
-         *
-         *  All landmarks are added to a single list.
-         *  To clear that list, call ResetLandmarksToShow().
-         *
-         *  With large amount of landmarks, it is recommended to use overload,
-         *  which accepts linked landmarks, if possible.
-         *
-         *  @param[in] aPackedLandmarks Array of landmarks to add to show list.
-         *
-         *  @leave KErrLocked Asynchronous request (SelectFromMapL) is outstanding.
-         */
-        IMPORT_C void AddLandmarksToShowL( RArray<TPtrC8>& aPackedLandmarks );
-
-        /** @brief Clears the list of landmarks to be shown on map. 
-         *  This call has no effect during the time when asynchronous request
-         *  (SelectFromMapL) is outstanding.
-         */
-        IMPORT_C void ResetLandmarksToShow();
-
-        /** @brief Defines the map area to be shown.
-         *  @param[in] aCentralPoint    Point on the Earth to be shown in the center
-         *                              of map view. This setting is ignored, when
-         *                              ShowCurrentLocationL() is called.
-         *  @param aRadius      Radius in meters of the area around central point,
-         *                      which should be visible, when map is shown.
-         *                      If this setting is too small, then
-         *                      Provider Application selects smallest possible
-         *                      radius (maximum zoom).
-         *                      If NaN, then Provider Application automatically
-         *                      selects appropriate zoom. This setting is ignored if
-         *                      ECurrentLocationShowAlways is set.
-         */
-        IMPORT_C void SetMapAreaL( const TCoordinate& aCentralPoint, TReal aRadius );
-
-        /** @brief Clears map area setting. */
-        IMPORT_C void ResetMapArea();
-
-        /** @brief Specifies custom request text for SelectFromMapL() request.
-         *
-         *  If not specified, than default request text will be used (as
-         *  defined in UI specification).
-         *  New setting will have effect only for next map display request.
-         *
-         *  @param[in] aCustomText Text to be shown as selection request to user.
-         */
-        IMPORT_C void SetCustomRequestTextL(const TDesC& aCustomText);
-
-        /** @brief Specifies that default request text shall be used
-         *  starting from next SelectFromMapL() request.
-         */
-        IMPORT_C void SetUseDefaultRequestText();
-
-        /** @brief Specifies how current location is shown on map.
-         *  New setting will have effect only for next map display request.
-         *  @param aCurrentLocationOption One of TCurrentLocationOption values.
-         */
-        IMPORT_C void SetCurrentLocationOption(
-            TCurrentLocationOption aCurrentLocationOption );
-
-        /** @brief Retrieves current state of current location option.
-         *  @return One of TCurrentLocationOption values.
-         */
-        IMPORT_C TCurrentLocationOption CurrentLocationOption() const;
-
-        /** @brief Sets map view options.
-         *  New settings will have effect only for next map display request.
-         *  @param aOptions Bitmap of TOption values.
-         */
-        IMPORT_C void SetOptions( TOptions aOptions );
-
-        /** @brief Retrieves current map view options.
-         *  @return Bitmap of TOption values.
-         */
-        IMPORT_C TOptions Options() const;
-
-        /** @brief  Returns type of selection result
-         *  @return One of @ref TSelectionResultType values.
-         */
-        IMPORT_C TSelectionResultType SelectionResultType() const;
-
-        /** @brief Retrieves selection result as landmark instance.
-         *  @return Landmark with information about selected location. Client takes ownership.
-         *  @leave KErrNotFound Result is not available or is of other type.
-         *      See @ref SelectionResultType() for details.
-         *
-         *  @see SelectionResultType()
-         *  @see RetrieveSelectionResultL(TInt&)
-         *  @see RetrieveSelectionResultL(TPosLmItemId&, HBufC*&)
-         */
-        IMPORT_C CPosLandmark* RetrieveSelectionResultL();
-
-        /** @brief Retrieves selection result as index of given landmark instance.
-         *  @param[out] aLandmarkIndex Index of a landmark passed as instance,
-         *                             which has been selected.
-         *  @leave KErrNotFound Result is not available or is of other type.
-         *      See @ref SelectionResultType() for details.
-         *
-         *  @see SelectionResultType()
-         *  @see RetrieveSelectionResultL()
-         *  @see RetrieveSelectionResultL(TPosLmItemId&, HBufC*&)
-         */
-        IMPORT_C void RetrieveSelectionResultL( TInt& aLandmarkIndex );
-
-        /** @brief Retrieves ID of selected landmark.
-         *  @param[out] aLandmarkId On return, ID of selected landmark in the database,
-         *                          specified by aDatabaseUri.
-         *  @param[out] aDatabaseUri On return, URI of the database of selected landmark.
-                                     Client takes ownership.
-         *  @leave KErrNotFound Result is not available or is of other type.
-         *      See @ref SelectionResultType() for details.
-         *
-         *  @see SelectionResultType()
-         *  @see RetrieveSelectionResultL()
-         *  @see RetrieveSelectionResultL(TInt&)
-         */
-        IMPORT_C void RetrieveSelectionResultL( TPosLmItemId& aLandmarkId, HBufC*& aDatabaseUri );
-
-        /** @brief Cancels current outstanding asynchronous request. */
-        IMPORT_C void Cancel();
-        
-        /** @brief Sets observer of provider application lifetime.
-         * 	Client will receive exit event from provider application.
-         *  By default exit events from provider application are not monitored.
-         *  @param[in] aObserver Exit observer.
-         *  @leave KErrAlreadyExists if observer is already set. 
-         */
-        IMPORT_C void SetExitObserverL( MAknServerAppExitObserver& aObserver );
-
-        /** @brief Removes observer of provider application lifetime. */
-        IMPORT_C void RemoveExitObserver();
-
-    private :
-        /** C++ constructor */
-        CMnMapView();
-        CMnMapView( const CMnMapView& );            //prevent default copy constructor
-        CMnMapView& operator=( const CMnMapView& ); //prevent default assignment operator
-
-        void ConstructCommonL( CMnProvider& aProvider );
-        void ConstructNewL( CMnProvider& aProvider );
-        void ConstructChainedL( CMnProvider& aProvider );
-        void PostConstructL();
-
-        HBufC* LoadResourceTextL(
-            RFs& aFsSession,
-            const TDesC& aRscFile,
-            TInt aResourceId );
-
-    private :
-        TOptions                iOptions;
-        TCurrentLocationOption  iCurrentLocationOption;
-        TCoordinate             iCentralPoint;
-        TReal                   iRadius;
-
-        HBufC*                  iDefaultRequestText;
-
-        RMnMapViewServiceClient*  iSession;
-        CApaServerAppExitMonitor* iExitMonitor;
-    };
-
-#endif // MN_MAPVIEW_H
--- a/locsrv_plat/map_and_navigation_api/inc/mnnavigator.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,114 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnNavigator class
-*
-*/
-
-
-#ifndef MN_NAVIGATOR_H
-#define MN_NAVIGATOR_H
-
-#include <e32base.h>
-
-class CApaServerAppExitMonitor;
-class MAknServerAppExitObserver;
-class CMnProvider;
-class CPosLandmark;
-class RMnNavigationServiceClient;
-
-/** @brief Provides navigation features.
- *
- *  To create an instance of the class, use @ref NewL or @ref NewChainedL methods. They
- *  require instance of CMnProvider, defined in Map and Navigation Provider Discovery API.
- *
- *  @since 3.1
- *  @lib mnclientlib.dll
- *  @ingroup MapNavAPI
- */
-class CMnNavigator : public CBase
-    {
-    public :
-        /** Destructor */
-        IMPORT_C ~CMnNavigator();
-
-        /** @brief Creates new instance of the class. Provider Application
-         *  will be executed standalone.
-         *
-         *  @param[in] aProvider Provider Application to be used for navigation.
-         *  @return Pointer to new instance of the class.
-         *
-         *  @leave KErrNotSupported Selected Provider Application does not support
-         *      navigation services (CMnProvider::EServiceNavigation).
-         */
-        IMPORT_C static CMnNavigator* NewL( CMnProvider& aProvider );
-
-        /** @brief Creates new instance of the class. Provider Application
-         *  will be executed chained (unless Provider Application defines that
-         *  it should be started in background).
-         *
-         *  @param[in] aProvider Provider Application to be used for navigation.
-         *  @return Pointer to new instance of the class.
-         *
-         *  @leave KErrNotSupported Selected Provider Application does not support
-         *      navigation services (CMnProvider::EServiceNavigation).
-         */
-        IMPORT_C static CMnNavigator* NewChainedL( CMnProvider& aProvider );
-
-        /** @brief Starts navigation from current location to specified destination.
-         *
-         *  This method completes as soon as navigation request reaches Provider
-         *  Application. Navigation is held then in Provider Application's process.
-         *
-         *  Navigation destination is specified as landmark. This landmark
-         *  does not have to contain coordinate information, in which case
-         *  its address information will be used, if present. If neither
-         *  coordinate nor address information is present in the landmark,
-         *  then this method leaves with KErrArgument.
-         *
-         *  This is synchronous request. It is completed as soon as navigation
-         *  starts on Provider Application side.
-         *
-         *  @param[in] aDestination Navigation destination.
-         *
-         *  @leave KErrArgument if neither coordinate nor address information is present in the landmark
-         */
-        IMPORT_C void NavigateToL( const CPosLandmark& aDestination );
-
-        /** @brief Sets observer of provider application lifetime.
-         * 	Client will receive exit event from provider application.
-         *  By default exit events from provider application are not monitored.
-         *  @param[in] aObserver Exit observer.
-         *  @leave KErrAlreadyExists if observer is already set. 
-         */
-        IMPORT_C void SetExitObserverL( MAknServerAppExitObserver& aObserver );
-
-        /** @brief Removes observer of provider application lifetime. */
-        IMPORT_C void RemoveExitObserver();
-
-    private :
-        /** C++ constructor */
-        CMnNavigator();
-
-        void ConstructCommonL( CMnProvider& aProvider );
-        void ConstructNewL( CMnProvider& aProvider );
-        void ConstructChainedL( CMnProvider& aProvider );
-
-    private :
-
-        RMnNavigationServiceClient* iSession;
-        CApaServerAppExitMonitor* iExitMonitor;
-    };
-
-#endif // MN_NAVIGATOR_H
-
--- a/locsrv_plat/map_and_navigation_api/map_and_navigation_api.metaxml	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-<?xml version="1.0" ?>
-<api id="a1e4ccc05687b09ddcb73974ba3bccfa" dataversion="2.0">
-  <name>Map and Navigation API</name>
-  <description>This API provides access to map and navgation features, such as showing maps, navigating etc.</description>
-  <type>c++</type>
-  <collection>locationmapnavfw</collection>
-  <libs>
-    <lib name="mnclientlib.lib" />
-  </libs>
-  <release category="platform" sinceversion="0"/>
-  <attributes>
-     <!-- This indicates wether the api provedes separate html documentation -->
-     <!-- or is the additional documentation generated from headers. -->
-     <!-- If you are unsuere then the value is "no" -->
-     <htmldocprovided>no</htmldocprovided>
-     <adaptation>no</adaptation>
-  </attributes>
-</api>
--- a/locsrv_plat/map_and_navigation_api/tsrc/bmarm/testmapandnavapiu.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	LibEntryL__FR13CTestModuleIf @ 1 NONAME R3UNUSED ; LibEntryL(CTestModuleIf &)
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/bwins/testmapandnavapiu.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	?LibEntryL@@YAPAVCScriptBase@@AAVCTestModuleIf@@@Z @ 1 NONAME ; class CScriptBase * __cdecl LibEntryL(class CTestModuleIf &)
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/conf/testmapandnavapi.cfg	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,139 +0,0 @@
-[Define]
-KErrNotFound -1
-KErrNotSupported -5
-KErrArgument -6
-KErrAlreadyExists -11 
-[Enddefine]
-
-[Test]
-title Create Navigator
-create testmapandnavapi foobar
-foobar CreateNavigator
-delete foobar
-[Endtest] 
-
-[Test]
-title Set Navigator Exit Observer
-create testmapandnavapi foobar
-foobar SetNavigatorExitObserver
-delete foobar
-[Endtest] 
-
-[Test]
-title Remove Navigator Exit Observer
-create testmapandnavapi foobar
-foobar RemoveNavigatorExitObserver
-delete foobar
-[Endtest] 
-
-[Test]
-title Create MapView
-create testmapandnavapi foobar
-foobar CreateMapView
-delete foobar
-[Endtest]
-
-[Test]
-title Add Linked Landmarks To Show
-create testmapandnavapi foobar
-foobar AddLinkedLmksToShow
-delete foobar
-[Endtest]  
-
-[Test]
-title Add Landmarks To Show
-create testmapandnavapi foobar
-foobar AddLmksToShow
-delete foobar
-[Endtest]
-
-[Test]
-title Add Packed Landmarks To Show
-create testmapandnavapi foobar
-foobar AddPackedLmksToShow
-delete foobar
-[Endtest]  
-
-[Test]
-title Reset Landmarks To Show
-create testmapandnavapi foobar
-foobar ResetLmksToShow
-delete foobar
-[Endtest]  
-
-[Test]
-title Set Map Area
-create testmapandnavapi foobar
-foobar SetMapArea
-delete foobar
-[Endtest]
-
-[Test]
-title Reset Map Area
-create testmapandnavapi foobar
-foobar ResetMapArea
-delete foobar
-[Endtest]
-
-[Test]
-title Set Custom Request Text
-create testmapandnavapi foobar
-foobar SetCustomRequestText Select_A_Position
-delete foobar
-[Endtest]
-
-[Test]
-title Set Use Default Request Text
-create testmapandnavapi foobar
-foobar SetUseDefaultRequestText 
-delete foobar
-[Endtest]
-
-[Test]
-title Set Current Location Option
-create testmapandnavapi foobar
-foobar SetCurrentLocationOption
-delete foobar
-[Endtest]
-
-[Test]
-title Get Current Location Option
-create testmapandnavapi foobar
-foobar GetCurrentLocationOption
-delete foobar
-[Endtest]
-
-[Test]
-title Set And Get Map View Option
-create testmapandnavapi foobar
-foobar SetAndGetOptions
-delete foobar
-[Endtest]
-
-[Test]
-title Get Selection Result Type
-create testmapandnavapi foobar
-foobar SelectionResultType
-delete foobar
-[Endtest]
-
-[Test]
-title Select From Map
-create testmapandnavapi foobar
-foobar SelectFromMap
-delete foobar
-[Endtest]
-
-[Test]
-title Set View Exit Observer
-create testmapandnavapi foobar
-foobar SetViewExitObserver
-delete foobar
-[Endtest]
-
-[Test]
-title Remove View Exit Observer
-create testmapandnavapi foobar
-foobar RemoveViewExitObserver
-delete foobar
-[Endtest]
\ No newline at end of file
Binary file locsrv_plat/map_and_navigation_api/tsrc/data/armv5/urel/MnRefProvider.mbm has changed
Binary file locsrv_plat/map_and_navigation_api/tsrc/data/armv5/urel/MnRefProvider.mif has changed
Binary file locsrv_plat/map_and_navigation_api/tsrc/data/armv5/urel/MnRefProvider.rsc has changed
Binary file locsrv_plat/map_and_navigation_api/tsrc/data/armv5/urel/MnRefProviderPlugin.dll has changed
--- a/locsrv_plat/map_and_navigation_api/tsrc/data/armv5/urel/MnRefProviderPlugin.dll.map	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +0,0 @@
-ARM Linker, RVCT2.2 [Build 593]
-
-================================================================================
-
-Image Symbol Table
-
-    Local Symbols
-
-    Symbol Name                              Value     Ov Type        Size  Object(Section)
-
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-184.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-43.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnclientlib{000a0000}-97.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  scppnwdl{000a0000}-3.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-44.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-12.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-158.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-147.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-16.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnclientlib{000a0000}-101.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-208.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-21.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-654.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2123.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnclientlib{000a0000}-100.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-205.o ABSOLUTE
-    M:/epoc32/build/compsupp/c_18558cc638e6e874/drtaeabi_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:\\sf\\os\\kernelhwsrv\\kernel\\eka\\compsupp\\rvct2_2\\ucppinit_aeabi.cpp 0x00000000   Number         0  ucppinit_aeabi.o ABSOLUTE
-    M:\sf\os\kernelhwsrv\kernel\eka\compsupp\rvct2_2\ucppinit_aeabi.cpp 0x00000000   Number         0  ucppinit_aeabi.o ABSOLUTE
-    \EPOC32\BUILD\sf\app\location\group\MNREFENGINE\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\app\location\mapnavproviderrefapp\group\MNREFPROVIDERPLUGIN\ARMV5\urel\MnRefProviderPlugin{000a0000}.s 0x00000000   Number         0  MnRefProviderPlugin{000a0000}.exp ABSOLUTE
-    \EPOC32\BUILD\sf\mw\locationsrv\group\MNCLIENTLIB\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\kernelhwsrv\kernel\eka\euser\EDLL\ARMV6_ABIV1\urel\uc_dll_.cpp 0x00000000   Number         0  uc_dll_.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\kernelhwsrv\kernel\eka\euser\EUSER\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\lbs\locationmgmt\locationadmin\group\LBSAPIVARIANT2\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \\EPOC32\\BUILD\\sf\\os\\kernelhwsrv\\kernel\\eka\\euser\\EDLL\\ARMV6_ABIV1\\urel\\uc_dll_.cpp 0x00000000   Number         0  uc_dll_.o ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrefproviderplugin.cpp 0x00000000   Number         0  MnRefProviderPlugin.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpcoordconverter.cpp 0x00000000   Number         0  MnRefProviderPlugin.in ABSOLUTE
-    \sf\os\kernelhwsrv\kernel\eka\euser\epoc\arm\uc_dll.cpp 0x00000000   Number         0  uc_dll.o ABSOLUTE
-    .emb_text                                0x00008000   Section       40  uc_dll_.o(.emb_text)
-    .emb_text                                0x00008028   Section       72  ucppinit_aeabi.o(.emb_text)
-    skip                                     0x0000803c   ARM Code       0  ucppinit_aeabi.o(.emb_text)
-    loop                                     0x0000804c   ARM Code       0  ucppinit_aeabi.o(.emb_text)
-    fpinit                                   0x00008064   Data           0  ucppinit_aeabi.o(.emb_text)
-    base                                     0x00008068   Data           0  ucppinit_aeabi.o(.emb_text)
-    limit                                    0x0000806c   Data           0  ucppinit_aeabi.o(.emb_text)
-    .text                                    0x00008070   Section       12  MnRefProviderPlugin.in(.text)
-    .text                                    0x0000807c   Section      232  MnRefProviderPlugin.in(.text)
-    .text                                    0x00008164   Section       40  uc_dll.o(.text)
-    .text.clean                              0x0000818c   Section       10  MnRefProviderPlugin.in(.text.clean)
-    ExportTable                              0x00008198   Section       12  MnRefProviderPlugin{000a0000}.exp(ExportTable)
-    StubCode                                 0x000081a4   Section        8  euser{000a0000}-205.o(StubCode)
-    theImportedSymbol                        0x000081a8   Data           0  euser{000a0000}-205.o(StubCode)
-    StubCode                                 0x000081ac   Section        8  euser{000a0000}-208.o(StubCode)
-    theImportedSymbol                        0x000081b0   Data           0  euser{000a0000}-208.o(StubCode)
-    StubCode                                 0x000081b4   Section        8  euser{000a0000}-2123.o(StubCode)
-    theImportedSymbol                        0x000081b8   Data           0  euser{000a0000}-2123.o(StubCode)
-    StubCode                                 0x000081bc   Section        8  euser{000a0000}-654.o(StubCode)
-    theImportedSymbol                        0x000081c0   Data           0  euser{000a0000}-654.o(StubCode)
-    StubCode                                 0x000081c4   Section        8  mnclientlib{000a0000}-100.o(StubCode)
-    theImportedSymbol                        0x000081c8   Data           0  mnclientlib{000a0000}-100.o(StubCode)
-    StubCode                                 0x000081cc   Section        8  mnclientlib{000a0000}-101.o(StubCode)
-    theImportedSymbol                        0x000081d0   Data           0  mnclientlib{000a0000}-101.o(StubCode)
-    StubCode                                 0x000081d4   Section        8  mnclientlib{000a0000}-97.o(StubCode)
-    theImportedSymbol                        0x000081d8   Data           0  mnclientlib{000a0000}-97.o(StubCode)
-    StubCode                                 0x000081dc   Section        8  mnrefproviderengine{000a0000}-12.o(StubCode)
-    theImportedSymbol                        0x000081e0   Data           0  mnrefproviderengine{000a0000}-12.o(StubCode)
-    StubCode                                 0x000081e4   Section        8  mnrefproviderengine{000a0000}-16.o(StubCode)
-    theImportedSymbol                        0x000081e8   Data           0  mnrefproviderengine{000a0000}-16.o(StubCode)
-    StubCode                                 0x000081ec   Section        8  mnrefproviderengine{000a0000}-21.o(StubCode)
-    theImportedSymbol                        0x000081f0   Data           0  mnrefproviderengine{000a0000}-21.o(StubCode)
-    StubCode                                 0x000081f4   Section        8  mnrefproviderengine{000a0000}-43.o(StubCode)
-    theImportedSymbol                        0x000081f8   Data           0  mnrefproviderengine{000a0000}-43.o(StubCode)
-    StubCode                                 0x000081fc   Section        8  mnrefproviderengine{000a0000}-44.o(StubCode)
-    theImportedSymbol                        0x00008200   Data           0  mnrefproviderengine{000a0000}-44.o(StubCode)
-    StubCode                                 0x00008204   Section        8  drtaeabi{000a0000}-147.o(StubCode)
-    theImportedSymbol                        0x00008208   Data           0  drtaeabi{000a0000}-147.o(StubCode)
-    StubCode                                 0x0000820c   Section        8  drtaeabi{000a0000}-158.o(StubCode)
-    theImportedSymbol                        0x00008210   Data           0  drtaeabi{000a0000}-158.o(StubCode)
-    StubCode                                 0x00008214   Section        8  drtaeabi{000a0000}-184.o(StubCode)
-    theImportedSymbol                        0x00008218   Data           0  drtaeabi{000a0000}-184.o(StubCode)
-    StubCode                                 0x0000821c   Section        8  scppnwdl{000a0000}-3.o(StubCode)
-    theImportedSymbol                        0x00008220   Data           0  scppnwdl{000a0000}-3.o(StubCode)
-    .extab._ZN19CMnrpCoordConverterD1Ev      0x00008224   Data           0  MnRefProviderPlugin.in(.ARM.extab)
-    .constdata$1                             0x00008234   Data           0  MnRefProviderPlugin.in(.constdata)
-    ImplementationTable                      0x00008234   Data           8  MnRefProviderPlugin.in(.constdata)
-    .constdata                               0x00008234   Section        8  MnRefProviderPlugin.in(.constdata)
-    .constdata__ZTI19CMnrpCoordConverter     0x0000823c   Section       12  MnRefProviderPlugin.in(.constdata__ZTI19CMnrpCoordConverter)
-    .constdata__ZTS19CMnrpCoordConverter     0x00008248   Section       22  MnRefProviderPlugin.in(.constdata__ZTS19CMnrpCoordConverter)
-    .constdata__ZTV19CMnrpCoordConverter     0x00008260   Section       28  MnRefProviderPlugin.in(.constdata__ZTV19CMnrpCoordConverter)
-    .ARM.exidx                               0x0000827c   Section        8  ucppinit_aeabi.o(.ARM.exidx)
-
-    Global Symbols
-
-    Symbol Name                              Value     Ov Type        Size  Object(Section)
-
-    BuildAttributes$$THUMB_ISAv3$ARM_ISAv6$M$E$P$PE$A:L22$X:L11$S22$IEEE1$IW$USESV6$~STKCKD$USESV7$~SHL$OSPACE$IEEEJ$EBA8$UX$REQ8$PRES8$EABIv2 0x00000000   Number         0  anon$$obj.o ABSOLUTE
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>93     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>9e     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>b8     - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>28e  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>84b  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>cd  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>d0  - Undefined Reference
-    #<DLL>mnclientlib{000a0000}[10206902].dll#<\DLL>61  - Undefined Reference
-    #<DLL>mnclientlib{000a0000}[10206902].dll#<\DLL>64  - Undefined Reference
-    #<DLL>mnclientlib{000a0000}[10206902].dll#<\DLL>65  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>10  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>15  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>2b  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>2c  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>c  - Undefined Reference
-    #<DLL>scppnwdl{000a0000}.dll#<\DLL>3      - Undefined Reference
-    SHT$$INIT_ARRAY$$Base                     - Undefined Weak Reference
-    SHT$$INIT_ARRAY$$Limit                    - Undefined Weak Reference
-    typeinfo for CMnCoordinateConverterBase   - Undefined Reference
-    vtable for __cxxabiv1::__si_class_type_info  - Undefined Reference
-    _fp_init                                  - Undefined Weak Reference
-    run_static_dtors                          - Undefined Weak Reference
-    Image$$ER_RO$$Base                       0x00008000   Number         0  anon$$obj.o(linker$$defined$$symbols)
-    _E32Dll                                  0x00008000   ARM Code      40  uc_dll_.o(.emb_text)
-    Symbian$$CPP$$Exception$$Descriptor      0x00008014   Data           0  uc_dll_.o(.emb_text)
-    __cpp_initialize__aeabi_                 0x00008028   ARM Code      72  ucppinit_aeabi.o(.emb_text)
-    ImplementationGroupProxy(int&)           0x00008071   Thumb Code     8  MnRefProviderPlugin.in(.text)
-    std::nothrow                             0x00008071   Thumb Code     0  ucppinit_aeabi.o(.emb_text)
-    CMnrpCoordConverter::CMnrpCoordConverter() 0x0000807d   Thumb Code    12  MnRefProviderPlugin.in(.text)
-    CMnrpCoordConverter::CMnrpCoordConverter__sub_object() 0x0000807d   Thumb Code     0  MnRefProviderPlugin.in(.text)
-    CMnrpCoordConverter::NewL()              0x00008089   Thumb Code    38  MnRefProviderPlugin.in(.text)
-    CMnrpCoordConverter::~CMnrpCoordConverter() 0x000080af   Thumb Code    40  MnRefProviderPlugin.in(.text)
-    CMnrpCoordConverter::~CMnrpCoordConverter__sub_object() 0x000080af   Thumb Code     0  MnRefProviderPlugin.in(.text)
-    CMnrpCoordConverter::~CMnrpCoordConverter__deallocating() 0x000080d7   Thumb Code    16  MnRefProviderPlugin.in(.text)
-    CMnrpCoordConverter::GetImageCoordinate(const TCoordinate&, TPoint&) 0x000080e7   Thumb Code    62  MnRefProviderPlugin.in(.text)
-    CMnrpCoordConverter::GetWorldCoordinate(const TPoint&, TCoordinate&) 0x00008125   Thumb Code    60  MnRefProviderPlugin.in(.text)
-    _E32Dll_Body                             0x00008165   Thumb Code    34  uc_dll.o(.text)
-    __DLL_Export_Table__                     0x00008198   ARM Code       0  MnRefProviderPlugin{000a0000}.exp(ExportTable)
-    DLL##ExportTableSize                     0x0000819c   Data           0  MnRefProviderPlugin{000a0000}.exp(ExportTable)
-    DLL##ExportTable                         0x000081a0   Data           0  MnRefProviderPlugin{000a0000}.exp(ExportTable)
-    CleanupStack::Pop()                      0x000081a4   ARM Code       0  euser{000a0000}-205.o(StubCode)
-    CleanupStack::PushL(CBase*)              0x000081ac   ARM Code       0  euser{000a0000}-208.o(StubCode)
-    CBase::Extension_(unsigned, void*&, void*) 0x000081b4   ARM Code       0  euser{000a0000}-2123.o(StubCode)
-    User::AllocZL(int)                       0x000081bc   ARM Code       0  euser{000a0000}-654.o(StubCode)
-    CMnCoordinateConverterBase::~CMnCoordinateConverterBase__sub_object() 0x000081c4   ARM Code       0  mnclientlib{000a0000}-100.o(StubCode)
-    CMnCoordinateConverterBase::MapImageParams() const 0x000081cc   ARM Code       0  mnclientlib{000a0000}-101.o(StubCode)
-    CMnCoordinateConverterBase::CMnCoordinateConverterBase__sub_object() 0x000081d4   ARM Code       0  mnclientlib{000a0000}-97.o(StubCode)
-    CMnrpEngine::NewL()                      0x000081dc   ARM Code       0  mnrefproviderengine{000a0000}-12.o(StubCode)
-    CMnrpMapModel::UpdateModel(const TMnMapImageParams&) 0x000081e4   ARM Code       0  mnrefproviderengine{000a0000}-16.o(StubCode)
-    CMnrpMapModel::NewL(CMnrpEngine&)        0x000081ec   ARM Code       0  mnrefproviderengine{000a0000}-21.o(StubCode)
-    CMnrpMapModel::AbsoluteToScreen(TCoordinate) const 0x000081f4   ARM Code       0  mnrefproviderengine{000a0000}-43.o(StubCode)
-    CMnrpMapModel::ScreenToAbsolute(TPoint) const 0x000081fc   ARM Code       0  mnrefproviderengine{000a0000}-44.o(StubCode)
-    __aeabi_memcpy4                          0x00008204   ARM Code       0  drtaeabi{000a0000}-147.o(StubCode)
-    __aeabi_unwind_cpp_pr0                   0x0000820c   ARM Code       0  drtaeabi{000a0000}-158.o(StubCode)
-    __cxa_end_cleanup                        0x00008214   ARM Code       0  drtaeabi{000a0000}-184.o(StubCode)
-    operator delete (void*)                  0x0000821c   ARM Code       0  scppnwdl{000a0000}-3.o(StubCode)
-    typeinfo for CMnrpCoordConverter         0x0000823c   Data          12  MnRefProviderPlugin.in(.constdata__ZTI19CMnrpCoordConverter)
-    typeinfo name for CMnrpCoordConverter    0x00008248   Data          22  MnRefProviderPlugin.in(.constdata__ZTS19CMnrpCoordConverter)
-    vtable for CMnrpCoordConverter           0x00008260   Data          28  MnRefProviderPlugin.in(.constdata__ZTV19CMnrpCoordConverter)
-    .ARM.exidx$$Base                         0x0000827c   Number         0  ucppinit_aeabi.o(.ARM.exidx)
-    .ARM.exidx$$Limit                        0x000082b4   Number         0  uc_dll.o(.ARM.exidx)
-    Image$$ER_RO$$Limit                      0x000082b4   Number         0  anon$$obj.o(linker$$defined$$symbols)
-
Binary file locsrv_plat/map_and_navigation_api/tsrc/data/armv5/urel/MnRefProvider_reg.rsc has changed
Binary file locsrv_plat/map_and_navigation_api/tsrc/data/armv5/urel/mnrefprovider.exe has changed
--- a/locsrv_plat/map_and_navigation_api/tsrc/data/armv5/urel/mnrefprovider.exe.map	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2589 +0,0 @@
-ARM Linker, RVCT2.2 [Build 593]
-
-================================================================================
-
-Image Symbol Table
-
-    Local Symbols
-
-    Symbol Name                              Value     Ov Type        Size  Object(Section)
-
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-374.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-73.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-29.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-375.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-74.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-291.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-377.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-75.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-293.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3826.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-76.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-294.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3831.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-77.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-295.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3832.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-78.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-296.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3857.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-79.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-297.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3860.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcoctl{000a0000}-1376.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-298.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3861.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcoctl{000a0000}-140.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-299.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3868.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcoctl{000a0000}-1430.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-30.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3947.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcoctl{000a0000}-35.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-302.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3948.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcoctl{000a0000}-46.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-31.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3949.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcoctl{000a0000}-605.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-315.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3983.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcoctl{000a0000}-606.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-317.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-4014.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcoctl{000a0000}-660.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-319.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-4030.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcoctl{000a0000}-875.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-352.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  AknIcon{000a0000}-13.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcoctl{000a0000}-880.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-37.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  egul{000a0000}-94.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcoctl{000a0000}-881.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-390.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  egul{000a0000}-95.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikctl{000a0000}-455.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-392.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  gdi{000a0000}-310.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-1132.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-394.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  gdi{000a0000}-311.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-129.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-467.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  gdi{000a0000}-312.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-130.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-472.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  fbscli{000a0000}-26.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-131.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-473.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  fbscli{000a0000}-31.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-1341.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-479.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-12.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-198.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-490.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-15.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-199.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-506.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-4.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-1996.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-523.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-50.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-201.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-532.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-65.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-206.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-533.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-67.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-211.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-534.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-75.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-213.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-535.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-152.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-214.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-536.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-180.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-215.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-537.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-181.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-216.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-565.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-205.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2163.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-61.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-207.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-217.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-62.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-21.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2178.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-63.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-214.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-220.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-64.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-223.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2591.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-67.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-225.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2624.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-72.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-226.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2632.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-39.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-23.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2895.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-40.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-28.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2898.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-41.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-304.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2899.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-42.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-306.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2900.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-43.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-1.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2901.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-44.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-10.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2902.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-45.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-11.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2903.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-46.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-12.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2904.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-47.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-13.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2905.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-48.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-14.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2906.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-50.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-15.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2907.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-51.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-16.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2909.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-53.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-17.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2910.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-54.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-2.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2912.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-12.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-20.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2913.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-20.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-28.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2914.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-23.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-29.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2917.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-24.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-30.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2919.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-41.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-33.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2920.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-8.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-4.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2922.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-147.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-5.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2928.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-158.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-7.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2929.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-159.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-12.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2930.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-180.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-17.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2932.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-182.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-19.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2934.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-183.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-20.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2936.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-184.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-22.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2993.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-189.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-23.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2997.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  scppnwdl{000a0000}-3.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-24.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3417.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1360.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-25.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3420.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-641.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-26.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1025.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-159.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-27.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1096.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-169.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-28.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1116.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-171.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-29.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1119.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-175.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-30.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1172.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-18.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-31.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1288.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-20.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-32.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1507.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-25.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-33.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1510.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-26.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-34.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1553.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-204.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-38.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1590.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-28.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-829.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1593.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-197.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-830.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1648.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-199.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-838.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1817.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-203.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-839.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1995.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-21.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-841.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1997.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-210.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-842.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1999.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-211.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-973.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-203.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-212.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-121.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-204.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-220.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-132.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-205.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-25.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-171.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2060.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-257.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-191.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2061.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-26.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-192.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-207.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-263.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-194.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-208.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-265.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-202.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2082.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-266.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-222.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2120.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-270.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-232.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2123.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-271.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-253.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2125.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-272.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-273.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2131.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-275.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-274.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-245.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-276.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-275.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-250.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-287.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-279.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-254.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-288.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-280.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-257.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-29.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-284.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-46.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-30.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-285.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-464.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-351.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-286.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-470.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-353.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-287.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-471.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-355.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-30.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-472.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-36.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bafl{000a0000}-43.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-476.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-39.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bafl{000a0000}-98.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-48.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-396.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-100.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-481.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-397.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-101.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-55.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3421.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-11.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-551.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3422.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-12.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-593.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3423.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-127.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-613.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3424.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-128.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-649.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-367.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-13.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-652.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-368.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-15.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-654.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-369.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-18.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-669.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-370.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-182.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-81.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-372.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-19.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-824.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-373.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-196.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-638.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-50.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-147.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-639.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-502.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-152.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-64.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-51.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-155.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-664.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-514.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-158.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-67.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-56.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-9.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-670.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-57.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-141.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-671.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-580.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-142.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-676.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-581.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-143.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-677.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-582.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-144.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-482.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-583.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-41.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-61.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-584.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-42.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-62.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-27.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-444.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-585.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-477.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-48.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-40.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-478.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-479.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-650.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-474.o ABSOLUTE
-    M:/epoc32/build/apputils/c_da81efa927799d7f/bafl_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/compsupp/c_18558cc638e6e874/drtaeabi_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/cone/c_17e36feeaf3b2ee8/cone_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/fontandbitmapserver/c_7ea974cb4182c047/fbscli_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/gdi/c_5dab287815cadb7b/gdi_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/imagingfws/c_c0b0915f285c9e63/imageconversion_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/store/c_93a13d203e6d3ba7/estor_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/uigraphicsutils/c_d265b80414e63acf/egul_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/uikon/c_9cf7bef4a7562444/eikcore_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:\\sf\\os\\kernelhwsrv\\kernel\\eka\\compsupp\\rvct2_2\\ucppinit_aeabi.cpp 0x00000000   Number         0  ucppinit_aeabi.o ABSOLUTE
-    M:\sf\os\kernelhwsrv\kernel\eka\compsupp\rvct2_2\dllexp.cpp 0x00000000   Number         0  dllexp.o ABSOLUTE
-    M:\sf\os\kernelhwsrv\kernel\eka\compsupp\rvct2_2\ucppinit_aeabi.cpp 0x00000000   Number         0  ucppinit_aeabi.o ABSOLUTE
-    M:\sf\os\kernelhwsrv\kernel\eka\compsupp\symaehabi\callfirstprocessfn.cpp 0x00000000   Number         0  callfirstprocessfn.o ABSOLUTE
-    \EPOC32\BUILD\sf\app\location\group\MNREFENGINE\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\appsupport\appfw\apparchitecture\group\APPARC\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\classicui\group\AVKON\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\classicui\group\EIKCOCTL\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\classicui\group\EIKCTL\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\classicui\group\EIKDLG\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\locationsrv\group\EPOS_LANDMARKSCLIENTLIBRARY\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\locationsrv\group\EPOS_LANDMARKSSEARCHCLIENTLIBRARY\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\locationsrv\group\MNSERVICELIB\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\uiresources\group\AKNICON\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\uiresources\group\AKNSKINS\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\graphics\windowing\windowserver\group\WS32LIB\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\kernelhwsrv\kernel\eka\euser\EEXE\ARMV6_ABIV1\urel\uc_exe_.cpp 0x00000000   Number         0  uc_exe_.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\kernelhwsrv\kernel\eka\euser\EUSER\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\kernelhwsrv\userlibandfileserver\fileserver\group\EFSRV\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\lbs\locationmgmt\locationadmin\group\LBSAPIVARIANT2\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \\EPOC32\\BUILD\\sf\\os\\kernelhwsrv\\kernel\\eka\\euser\\EEXE\\ARMV6_ABIV1\\urel\\uc_exe_.cpp 0x00000000   Number         0  uc_exe_.o ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrefprovider.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpappcontrol.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpapplication.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpappserver.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpappui.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpappview.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpdocument.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpmapcontrol.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpmapview.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpmapviewservice.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpnavicontrol.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpnavigationservice.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpnavimodel.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpnaviview.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\os\kernelhwsrv\kernel\eka\euser\epoc\arm\uc_exe.cpp 0x00000000   Number         0  uc_exe.o ABSOLUTE
-    .emb_text                                0x00008000   Section      112  uc_exe_.o(.emb_text)
-    .emb_text                                0x00008070   Section       72  ucppinit_aeabi.o(.emb_text)
-    skip                                     0x00008084   ARM Code       0  ucppinit_aeabi.o(.emb_text)
-    loop                                     0x00008094   ARM Code       0  ucppinit_aeabi.o(.emb_text)
-    fpinit                                   0x000080ac   Data           0  ucppinit_aeabi.o(.emb_text)
-    base                                     0x000080b0   Data           0  ucppinit_aeabi.o(.emb_text)
-    limit                                    0x000080b4   Data           0  ucppinit_aeabi.o(.emb_text)
-    .text                                    0x000080c0   Section       16  uc_exe_.o(.text)
-    NewApplication()                         0x000080d1   Thumb Code    30  mnrefprovider.in(.text)
-    .text                                    0x000080d0   Section       60  mnrefprovider.in(.text)
-    .text                                    0x0000810c   Section       44  mnrefprovider.in(.text)
-    .text                                    0x00008138   Section     1688  mnrefprovider.in(.text)
-    .text                                    0x000087d0   Section      140  mnrefprovider.in(.text)
-    .text                                    0x0000885c   Section      128  mnrefprovider.in(.text)
-    .text                                    0x000088dc   Section      244  mnrefprovider.in(.text)
-    .text                                    0x000089d0   Section      196  mnrefprovider.in(.text)
-    .text                                    0x00008a94   Section      612  mnrefprovider.in(.text)
-    .text                                    0x00008cf8   Section     3148  mnrefprovider.in(.text)
-    |L1.1176|                                0x00009190   Data           0  mnrefprovider.in(.text)
-    |L1.1200|                                0x000091a8   Data           0  mnrefprovider.in(.text)
-    __sti___18_mnrpmapcontrol_cpp            0x000098f1   Thumb Code    24  mnrefprovider.in(.text)
-    .text                                    0x00009944   Section      360  mnrefprovider.in(.text)
-    .text                                    0x00009aac   Section     1084  mnrefprovider.in(.text)
-    .text                                    0x00009ee8   Section      580  mnrefprovider.in(.text)
-    .text                                    0x0000a12c   Section      100  mnrefprovider.in(.text)
-    .text                                    0x0000a190   Section      508  mnrefprovider.in(.text)
-    .text                                    0x0000a394   Section       36  uc_exe.o(.text)
-    .text                                    0x0000a3b8   Section      120  callfirstprocessfn.o(.text)
-    .text                                    0x0000a430   Section        4  dllexp.o(.text)
-    .text.clean                              0x0000a434   Section       10  mnrefprovider.in(.text.clean)
-    .text.clean                              0x0000a43e   Section       18  mnrefprovider.in(.text.clean)
-    .text.clean                              0x0000a450   Section       10  mnrefprovider.in(.text.clean)
-    .text.clean                              0x0000a45a   Section       10  mnrefprovider.in(.text.clean)
-    .text.clean                              0x0000a464   Section       14  mnrefprovider.in(.text.clean)
-    .text.clean                              0x0000a472   Section       28  mnrefprovider.in(.text.clean)
-    .text.clean                              0x0000a48e   Section       10  mnrefprovider.in(.text.clean)
-    .text.clean                              0x0000a498   Section       20  mnrefprovider.in(.text.clean)
-    .text.clean                              0x0000a4ac   Section       14  mnrefprovider.in(.text.clean)
-    .text.clean                              0x0000a4ba   Section       22  mnrefprovider.in(.text.clean)
-    .text.clean                              0x0000a4d0   Section        8  callfirstprocessfn.o(.text.clean)
-    StubCode                                 0x0000a4d8   Section        8  euser{000a0000}-1025.o(StubCode)
-    theImportedSymbol                        0x0000a4dc   Data           0  euser{000a0000}-1025.o(StubCode)
-    StubCode                                 0x0000a4e0   Section        8  euser{000a0000}-1096.o(StubCode)
-    theImportedSymbol                        0x0000a4e4   Data           0  euser{000a0000}-1096.o(StubCode)
-    StubCode                                 0x0000a4e8   Section        8  euser{000a0000}-1116.o(StubCode)
-    theImportedSymbol                        0x0000a4ec   Data           0  euser{000a0000}-1116.o(StubCode)
-    StubCode                                 0x0000a4f0   Section        8  euser{000a0000}-1119.o(StubCode)
-    theImportedSymbol                        0x0000a4f4   Data           0  euser{000a0000}-1119.o(StubCode)
-    StubCode                                 0x0000a4f8   Section        8  euser{000a0000}-1172.o(StubCode)
-    theImportedSymbol                        0x0000a4fc   Data           0  euser{000a0000}-1172.o(StubCode)
-    StubCode                                 0x0000a500   Section        8  euser{000a0000}-1288.o(StubCode)
-    theImportedSymbol                        0x0000a504   Data           0  euser{000a0000}-1288.o(StubCode)
-    StubCode                                 0x0000a508   Section        8  euser{000a0000}-1507.o(StubCode)
-    theImportedSymbol                        0x0000a50c   Data           0  euser{000a0000}-1507.o(StubCode)
-    StubCode                                 0x0000a510   Section        8  euser{000a0000}-1510.o(StubCode)
-    theImportedSymbol                        0x0000a514   Data           0  euser{000a0000}-1510.o(StubCode)
-    StubCode                                 0x0000a518   Section        8  euser{000a0000}-1553.o(StubCode)
-    theImportedSymbol                        0x0000a51c   Data           0  euser{000a0000}-1553.o(StubCode)
-    StubCode                                 0x0000a520   Section        8  euser{000a0000}-1590.o(StubCode)
-    theImportedSymbol                        0x0000a524   Data           0  euser{000a0000}-1590.o(StubCode)
-    StubCode                                 0x0000a528   Section        8  euser{000a0000}-1593.o(StubCode)
-    theImportedSymbol                        0x0000a52c   Data           0  euser{000a0000}-1593.o(StubCode)
-    StubCode                                 0x0000a530   Section        8  euser{000a0000}-1648.o(StubCode)
-    theImportedSymbol                        0x0000a534   Data           0  euser{000a0000}-1648.o(StubCode)
-    StubCode                                 0x0000a538   Section        8  euser{000a0000}-1817.o(StubCode)
-    theImportedSymbol                        0x0000a53c   Data           0  euser{000a0000}-1817.o(StubCode)
-    StubCode                                 0x0000a540   Section        8  euser{000a0000}-1995.o(StubCode)
-    theImportedSymbol                        0x0000a544   Data           0  euser{000a0000}-1995.o(StubCode)
-    StubCode                                 0x0000a548   Section        8  euser{000a0000}-1997.o(StubCode)
-    theImportedSymbol                        0x0000a54c   Data           0  euser{000a0000}-1997.o(StubCode)
-    StubCode                                 0x0000a550   Section        8  euser{000a0000}-1999.o(StubCode)
-    theImportedSymbol                        0x0000a554   Data           0  euser{000a0000}-1999.o(StubCode)
-    StubCode                                 0x0000a558   Section        8  euser{000a0000}-203.o(StubCode)
-    theImportedSymbol                        0x0000a55c   Data           0  euser{000a0000}-203.o(StubCode)
-    StubCode                                 0x0000a560   Section        8  euser{000a0000}-204.o(StubCode)
-    theImportedSymbol                        0x0000a564   Data           0  euser{000a0000}-204.o(StubCode)
-    StubCode                                 0x0000a568   Section        8  euser{000a0000}-205.o(StubCode)
-    theImportedSymbol                        0x0000a56c   Data           0  euser{000a0000}-205.o(StubCode)
-    StubCode                                 0x0000a570   Section        8  euser{000a0000}-2060.o(StubCode)
-    theImportedSymbol                        0x0000a574   Data           0  euser{000a0000}-2060.o(StubCode)
-    StubCode                                 0x0000a578   Section        8  euser{000a0000}-2061.o(StubCode)
-    theImportedSymbol                        0x0000a57c   Data           0  euser{000a0000}-2061.o(StubCode)
-    StubCode                                 0x0000a580   Section        8  euser{000a0000}-207.o(StubCode)
-    theImportedSymbol                        0x0000a584   Data           0  euser{000a0000}-207.o(StubCode)
-    StubCode                                 0x0000a588   Section        8  euser{000a0000}-208.o(StubCode)
-    theImportedSymbol                        0x0000a58c   Data           0  euser{000a0000}-208.o(StubCode)
-    StubCode                                 0x0000a590   Section        8  euser{000a0000}-2082.o(StubCode)
-    theImportedSymbol                        0x0000a594   Data           0  euser{000a0000}-2082.o(StubCode)
-    StubCode                                 0x0000a598   Section        8  euser{000a0000}-2120.o(StubCode)
-    theImportedSymbol                        0x0000a59c   Data           0  euser{000a0000}-2120.o(StubCode)
-    StubCode                                 0x0000a5a0   Section        8  euser{000a0000}-2123.o(StubCode)
-    theImportedSymbol                        0x0000a5a4   Data           0  euser{000a0000}-2123.o(StubCode)
-    StubCode                                 0x0000a5a8   Section        8  euser{000a0000}-2125.o(StubCode)
-    theImportedSymbol                        0x0000a5ac   Data           0  euser{000a0000}-2125.o(StubCode)
-    StubCode                                 0x0000a5b0   Section        8  euser{000a0000}-2131.o(StubCode)
-    theImportedSymbol                        0x0000a5b4   Data           0  euser{000a0000}-2131.o(StubCode)
-    StubCode                                 0x0000a5b8   Section        8  euser{000a0000}-245.o(StubCode)
-    theImportedSymbol                        0x0000a5bc   Data           0  euser{000a0000}-245.o(StubCode)
-    StubCode                                 0x0000a5c0   Section        8  euser{000a0000}-250.o(StubCode)
-    theImportedSymbol                        0x0000a5c4   Data           0  euser{000a0000}-250.o(StubCode)
-    StubCode                                 0x0000a5c8   Section        8  euser{000a0000}-254.o(StubCode)
-    theImportedSymbol                        0x0000a5cc   Data           0  euser{000a0000}-254.o(StubCode)
-    StubCode                                 0x0000a5d0   Section        8  euser{000a0000}-257.o(StubCode)
-    theImportedSymbol                        0x0000a5d4   Data           0  euser{000a0000}-257.o(StubCode)
-    StubCode                                 0x0000a5d8   Section        8  euser{000a0000}-46.o(StubCode)
-    theImportedSymbol                        0x0000a5dc   Data           0  euser{000a0000}-46.o(StubCode)
-    StubCode                                 0x0000a5e0   Section        8  euser{000a0000}-464.o(StubCode)
-    theImportedSymbol                        0x0000a5e4   Data           0  euser{000a0000}-464.o(StubCode)
-    StubCode                                 0x0000a5e8   Section        8  euser{000a0000}-470.o(StubCode)
-    theImportedSymbol                        0x0000a5ec   Data           0  euser{000a0000}-470.o(StubCode)
-    StubCode                                 0x0000a5f0   Section        8  euser{000a0000}-471.o(StubCode)
-    theImportedSymbol                        0x0000a5f4   Data           0  euser{000a0000}-471.o(StubCode)
-    StubCode                                 0x0000a5f8   Section        8  euser{000a0000}-472.o(StubCode)
-    theImportedSymbol                        0x0000a5fc   Data           0  euser{000a0000}-472.o(StubCode)
-    StubCode                                 0x0000a600   Section        8  euser{000a0000}-476.o(StubCode)
-    theImportedSymbol                        0x0000a604   Data           0  euser{000a0000}-476.o(StubCode)
-    StubCode                                 0x0000a608   Section        8  euser{000a0000}-48.o(StubCode)
-    theImportedSymbol                        0x0000a60c   Data           0  euser{000a0000}-48.o(StubCode)
-    StubCode                                 0x0000a610   Section        8  euser{000a0000}-481.o(StubCode)
-    theImportedSymbol                        0x0000a614   Data           0  euser{000a0000}-481.o(StubCode)
-    StubCode                                 0x0000a618   Section        8  euser{000a0000}-55.o(StubCode)
-    theImportedSymbol                        0x0000a61c   Data           0  euser{000a0000}-55.o(StubCode)
-    StubCode                                 0x0000a620   Section        8  euser{000a0000}-551.o(StubCode)
-    theImportedSymbol                        0x0000a624   Data           0  euser{000a0000}-551.o(StubCode)
-    StubCode                                 0x0000a628   Section        8  euser{000a0000}-593.o(StubCode)
-    theImportedSymbol                        0x0000a62c   Data           0  euser{000a0000}-593.o(StubCode)
-    StubCode                                 0x0000a630   Section        8  euser{000a0000}-613.o(StubCode)
-    theImportedSymbol                        0x0000a634   Data           0  euser{000a0000}-613.o(StubCode)
-    StubCode                                 0x0000a638   Section        8  euser{000a0000}-649.o(StubCode)
-    theImportedSymbol                        0x0000a63c   Data           0  euser{000a0000}-649.o(StubCode)
-    StubCode                                 0x0000a640   Section        8  euser{000a0000}-652.o(StubCode)
-    theImportedSymbol                        0x0000a644   Data           0  euser{000a0000}-652.o(StubCode)
-    StubCode                                 0x0000a648   Section        8  euser{000a0000}-654.o(StubCode)
-    theImportedSymbol                        0x0000a64c   Data           0  euser{000a0000}-654.o(StubCode)
-    StubCode                                 0x0000a650   Section        8  euser{000a0000}-669.o(StubCode)
-    theImportedSymbol                        0x0000a654   Data           0  euser{000a0000}-669.o(StubCode)
-    StubCode                                 0x0000a658   Section        8  euser{000a0000}-81.o(StubCode)
-    theImportedSymbol                        0x0000a65c   Data           0  euser{000a0000}-81.o(StubCode)
-    StubCode                                 0x0000a660   Section        8  euser{000a0000}-824.o(StubCode)
-    theImportedSymbol                        0x0000a664   Data           0  euser{000a0000}-824.o(StubCode)
-    StubCode                                 0x0000a668   Section        8  euser{000a0000}-829.o(StubCode)
-    theImportedSymbol                        0x0000a66c   Data           0  euser{000a0000}-829.o(StubCode)
-    StubCode                                 0x0000a670   Section        8  euser{000a0000}-830.o(StubCode)
-    theImportedSymbol                        0x0000a674   Data           0  euser{000a0000}-830.o(StubCode)
-    StubCode                                 0x0000a678   Section        8  euser{000a0000}-838.o(StubCode)
-    theImportedSymbol                        0x0000a67c   Data           0  euser{000a0000}-838.o(StubCode)
-    StubCode                                 0x0000a680   Section        8  euser{000a0000}-839.o(StubCode)
-    theImportedSymbol                        0x0000a684   Data           0  euser{000a0000}-839.o(StubCode)
-    StubCode                                 0x0000a688   Section        8  euser{000a0000}-841.o(StubCode)
-    theImportedSymbol                        0x0000a68c   Data           0  euser{000a0000}-841.o(StubCode)
-    StubCode                                 0x0000a690   Section        8  euser{000a0000}-842.o(StubCode)
-    theImportedSymbol                        0x0000a694   Data           0  euser{000a0000}-842.o(StubCode)
-    StubCode                                 0x0000a698   Section        8  euser{000a0000}-973.o(StubCode)
-    theImportedSymbol                        0x0000a69c   Data           0  euser{000a0000}-973.o(StubCode)
-    StubCode                                 0x0000a6a0   Section        8  apparc{000a0000}-121.o(StubCode)
-    theImportedSymbol                        0x0000a6a4   Data           0  apparc{000a0000}-121.o(StubCode)
-    StubCode                                 0x0000a6a8   Section        8  apparc{000a0000}-132.o(StubCode)
-    theImportedSymbol                        0x0000a6ac   Data           0  apparc{000a0000}-132.o(StubCode)
-    StubCode                                 0x0000a6b0   Section        8  apparc{000a0000}-171.o(StubCode)
-    theImportedSymbol                        0x0000a6b4   Data           0  apparc{000a0000}-171.o(StubCode)
-    StubCode                                 0x0000a6b8   Section        8  apparc{000a0000}-191.o(StubCode)
-    theImportedSymbol                        0x0000a6bc   Data           0  apparc{000a0000}-191.o(StubCode)
-    StubCode                                 0x0000a6c0   Section        8  apparc{000a0000}-192.o(StubCode)
-    theImportedSymbol                        0x0000a6c4   Data           0  apparc{000a0000}-192.o(StubCode)
-    StubCode                                 0x0000a6c8   Section        8  apparc{000a0000}-194.o(StubCode)
-    theImportedSymbol                        0x0000a6cc   Data           0  apparc{000a0000}-194.o(StubCode)
-    StubCode                                 0x0000a6d0   Section        8  apparc{000a0000}-202.o(StubCode)
-    theImportedSymbol                        0x0000a6d4   Data           0  apparc{000a0000}-202.o(StubCode)
-    StubCode                                 0x0000a6d8   Section        8  apparc{000a0000}-222.o(StubCode)
-    theImportedSymbol                        0x0000a6dc   Data           0  apparc{000a0000}-222.o(StubCode)
-    StubCode                                 0x0000a6e0   Section        8  apparc{000a0000}-232.o(StubCode)
-    theImportedSymbol                        0x0000a6e4   Data           0  apparc{000a0000}-232.o(StubCode)
-    StubCode                                 0x0000a6e8   Section        8  apparc{000a0000}-253.o(StubCode)
-    theImportedSymbol                        0x0000a6ec   Data           0  apparc{000a0000}-253.o(StubCode)
-    StubCode                                 0x0000a6f0   Section        8  apparc{000a0000}-273.o(StubCode)
-    theImportedSymbol                        0x0000a6f4   Data           0  apparc{000a0000}-273.o(StubCode)
-    StubCode                                 0x0000a6f8   Section        8  apparc{000a0000}-274.o(StubCode)
-    theImportedSymbol                        0x0000a6fc   Data           0  apparc{000a0000}-274.o(StubCode)
-    StubCode                                 0x0000a700   Section        8  apparc{000a0000}-275.o(StubCode)
-    theImportedSymbol                        0x0000a704   Data           0  apparc{000a0000}-275.o(StubCode)
-    StubCode                                 0x0000a708   Section        8  apparc{000a0000}-279.o(StubCode)
-    theImportedSymbol                        0x0000a70c   Data           0  apparc{000a0000}-279.o(StubCode)
-    StubCode                                 0x0000a710   Section        8  apparc{000a0000}-280.o(StubCode)
-    theImportedSymbol                        0x0000a714   Data           0  apparc{000a0000}-280.o(StubCode)
-    StubCode                                 0x0000a718   Section        8  apparc{000a0000}-284.o(StubCode)
-    theImportedSymbol                        0x0000a71c   Data           0  apparc{000a0000}-284.o(StubCode)
-    StubCode                                 0x0000a720   Section        8  apparc{000a0000}-285.o(StubCode)
-    theImportedSymbol                        0x0000a724   Data           0  apparc{000a0000}-285.o(StubCode)
-    StubCode                                 0x0000a728   Section        8  apparc{000a0000}-286.o(StubCode)
-    theImportedSymbol                        0x0000a72c   Data           0  apparc{000a0000}-286.o(StubCode)
-    StubCode                                 0x0000a730   Section        8  apparc{000a0000}-287.o(StubCode)
-    theImportedSymbol                        0x0000a734   Data           0  apparc{000a0000}-287.o(StubCode)
-    StubCode                                 0x0000a738   Section        8  apparc{000a0000}-30.o(StubCode)
-    theImportedSymbol                        0x0000a73c   Data           0  apparc{000a0000}-30.o(StubCode)
-    StubCode                                 0x0000a740   Section        8  bafl{000a0000}-43.o(StubCode)
-    theImportedSymbol                        0x0000a744   Data           0  bafl{000a0000}-43.o(StubCode)
-    StubCode                                 0x0000a748   Section        8  bafl{000a0000}-98.o(StubCode)
-    theImportedSymbol                        0x0000a74c   Data           0  bafl{000a0000}-98.o(StubCode)
-    StubCode                                 0x0000a750   Section        8  cone{000a0000}-100.o(StubCode)
-    theImportedSymbol                        0x0000a754   Data           0  cone{000a0000}-100.o(StubCode)
-    StubCode                                 0x0000a758   Section        8  cone{000a0000}-101.o(StubCode)
-    theImportedSymbol                        0x0000a75c   Data           0  cone{000a0000}-101.o(StubCode)
-    StubCode                                 0x0000a760   Section        8  cone{000a0000}-11.o(StubCode)
-    theImportedSymbol                        0x0000a764   Data           0  cone{000a0000}-11.o(StubCode)
-    StubCode                                 0x0000a768   Section        8  cone{000a0000}-12.o(StubCode)
-    theImportedSymbol                        0x0000a76c   Data           0  cone{000a0000}-12.o(StubCode)
-    StubCode                                 0x0000a770   Section        8  cone{000a0000}-127.o(StubCode)
-    theImportedSymbol                        0x0000a774   Data           0  cone{000a0000}-127.o(StubCode)
-    StubCode                                 0x0000a778   Section        8  cone{000a0000}-128.o(StubCode)
-    theImportedSymbol                        0x0000a77c   Data           0  cone{000a0000}-128.o(StubCode)
-    StubCode                                 0x0000a780   Section        8  cone{000a0000}-13.o(StubCode)
-    theImportedSymbol                        0x0000a784   Data           0  cone{000a0000}-13.o(StubCode)
-    StubCode                                 0x0000a788   Section        8  cone{000a0000}-15.o(StubCode)
-    theImportedSymbol                        0x0000a78c   Data           0  cone{000a0000}-15.o(StubCode)
-    StubCode                                 0x0000a790   Section        8  cone{000a0000}-18.o(StubCode)
-    theImportedSymbol                        0x0000a794   Data           0  cone{000a0000}-18.o(StubCode)
-    StubCode                                 0x0000a798   Section        8  cone{000a0000}-182.o(StubCode)
-    theImportedSymbol                        0x0000a79c   Data           0  cone{000a0000}-182.o(StubCode)
-    StubCode                                 0x0000a7a0   Section        8  cone{000a0000}-19.o(StubCode)
-    theImportedSymbol                        0x0000a7a4   Data           0  cone{000a0000}-19.o(StubCode)
-    StubCode                                 0x0000a7a8   Section        8  cone{000a0000}-196.o(StubCode)
-    theImportedSymbol                        0x0000a7ac   Data           0  cone{000a0000}-196.o(StubCode)
-    StubCode                                 0x0000a7b0   Section        8  cone{000a0000}-197.o(StubCode)
-    theImportedSymbol                        0x0000a7b4   Data           0  cone{000a0000}-197.o(StubCode)
-    StubCode                                 0x0000a7b8   Section        8  cone{000a0000}-199.o(StubCode)
-    theImportedSymbol                        0x0000a7bc   Data           0  cone{000a0000}-199.o(StubCode)
-    StubCode                                 0x0000a7c0   Section        8  cone{000a0000}-203.o(StubCode)
-    theImportedSymbol                        0x0000a7c4   Data           0  cone{000a0000}-203.o(StubCode)
-    StubCode                                 0x0000a7c8   Section        8  cone{000a0000}-21.o(StubCode)
-    theImportedSymbol                        0x0000a7cc   Data           0  cone{000a0000}-21.o(StubCode)
-    StubCode                                 0x0000a7d0   Section        8  cone{000a0000}-210.o(StubCode)
-    theImportedSymbol                        0x0000a7d4   Data           0  cone{000a0000}-210.o(StubCode)
-    StubCode                                 0x0000a7d8   Section        8  cone{000a0000}-211.o(StubCode)
-    theImportedSymbol                        0x0000a7dc   Data           0  cone{000a0000}-211.o(StubCode)
-    StubCode                                 0x0000a7e0   Section        8  cone{000a0000}-212.o(StubCode)
-    theImportedSymbol                        0x0000a7e4   Data           0  cone{000a0000}-212.o(StubCode)
-    StubCode                                 0x0000a7e8   Section        8  cone{000a0000}-220.o(StubCode)
-    theImportedSymbol                        0x0000a7ec   Data           0  cone{000a0000}-220.o(StubCode)
-    StubCode                                 0x0000a7f0   Section        8  cone{000a0000}-25.o(StubCode)
-    theImportedSymbol                        0x0000a7f4   Data           0  cone{000a0000}-25.o(StubCode)
-    StubCode                                 0x0000a7f8   Section        8  cone{000a0000}-257.o(StubCode)
-    theImportedSymbol                        0x0000a7fc   Data           0  cone{000a0000}-257.o(StubCode)
-    StubCode                                 0x0000a800   Section        8  cone{000a0000}-26.o(StubCode)
-    theImportedSymbol                        0x0000a804   Data           0  cone{000a0000}-26.o(StubCode)
-    StubCode                                 0x0000a808   Section        8  cone{000a0000}-263.o(StubCode)
-    theImportedSymbol                        0x0000a80c   Data           0  cone{000a0000}-263.o(StubCode)
-    StubCode                                 0x0000a810   Section        8  cone{000a0000}-265.o(StubCode)
-    theImportedSymbol                        0x0000a814   Data           0  cone{000a0000}-265.o(StubCode)
-    StubCode                                 0x0000a818   Section        8  cone{000a0000}-266.o(StubCode)
-    theImportedSymbol                        0x0000a81c   Data           0  cone{000a0000}-266.o(StubCode)
-    StubCode                                 0x0000a820   Section        8  cone{000a0000}-270.o(StubCode)
-    theImportedSymbol                        0x0000a824   Data           0  cone{000a0000}-270.o(StubCode)
-    StubCode                                 0x0000a828   Section        8  cone{000a0000}-271.o(StubCode)
-    theImportedSymbol                        0x0000a82c   Data           0  cone{000a0000}-271.o(StubCode)
-    StubCode                                 0x0000a830   Section        8  cone{000a0000}-272.o(StubCode)
-    theImportedSymbol                        0x0000a834   Data           0  cone{000a0000}-272.o(StubCode)
-    StubCode                                 0x0000a838   Section        8  cone{000a0000}-275.o(StubCode)
-    theImportedSymbol                        0x0000a83c   Data           0  cone{000a0000}-275.o(StubCode)
-    StubCode                                 0x0000a840   Section        8  cone{000a0000}-276.o(StubCode)
-    theImportedSymbol                        0x0000a844   Data           0  cone{000a0000}-276.o(StubCode)
-    StubCode                                 0x0000a848   Section        8  cone{000a0000}-287.o(StubCode)
-    theImportedSymbol                        0x0000a84c   Data           0  cone{000a0000}-287.o(StubCode)
-    StubCode                                 0x0000a850   Section        8  cone{000a0000}-288.o(StubCode)
-    theImportedSymbol                        0x0000a854   Data           0  cone{000a0000}-288.o(StubCode)
-    StubCode                                 0x0000a858   Section        8  cone{000a0000}-29.o(StubCode)
-    theImportedSymbol                        0x0000a85c   Data           0  cone{000a0000}-29.o(StubCode)
-    StubCode                                 0x0000a860   Section        8  cone{000a0000}-30.o(StubCode)
-    theImportedSymbol                        0x0000a864   Data           0  cone{000a0000}-30.o(StubCode)
-    StubCode                                 0x0000a868   Section        8  cone{000a0000}-351.o(StubCode)
-    theImportedSymbol                        0x0000a86c   Data           0  cone{000a0000}-351.o(StubCode)
-    StubCode                                 0x0000a870   Section        8  cone{000a0000}-353.o(StubCode)
-    theImportedSymbol                        0x0000a874   Data           0  cone{000a0000}-353.o(StubCode)
-    StubCode                                 0x0000a878   Section        8  cone{000a0000}-355.o(StubCode)
-    theImportedSymbol                        0x0000a87c   Data           0  cone{000a0000}-355.o(StubCode)
-    StubCode                                 0x0000a880   Section        8  cone{000a0000}-36.o(StubCode)
-    theImportedSymbol                        0x0000a884   Data           0  cone{000a0000}-36.o(StubCode)
-    StubCode                                 0x0000a888   Section        8  cone{000a0000}-39.o(StubCode)
-    theImportedSymbol                        0x0000a88c   Data           0  cone{000a0000}-39.o(StubCode)
-    StubCode                                 0x0000a890   Section        8  cone{000a0000}-396.o(StubCode)
-    theImportedSymbol                        0x0000a894   Data           0  cone{000a0000}-396.o(StubCode)
-    StubCode                                 0x0000a898   Section        8  cone{000a0000}-397.o(StubCode)
-    theImportedSymbol                        0x0000a89c   Data           0  cone{000a0000}-397.o(StubCode)
-    StubCode                                 0x0000a8a0   Section        8  cone{000a0000}-40.o(StubCode)
-    theImportedSymbol                        0x0000a8a4   Data           0  cone{000a0000}-40.o(StubCode)
-    StubCode                                 0x0000a8a8   Section        8  cone{000a0000}-41.o(StubCode)
-    theImportedSymbol                        0x0000a8ac   Data           0  cone{000a0000}-41.o(StubCode)
-    StubCode                                 0x0000a8b0   Section        8  cone{000a0000}-42.o(StubCode)
-    theImportedSymbol                        0x0000a8b4   Data           0  cone{000a0000}-42.o(StubCode)
-    StubCode                                 0x0000a8b8   Section        8  cone{000a0000}-444.o(StubCode)
-    theImportedSymbol                        0x0000a8bc   Data           0  cone{000a0000}-444.o(StubCode)
-    StubCode                                 0x0000a8c0   Section        8  cone{000a0000}-474.o(StubCode)
-    theImportedSymbol                        0x0000a8c4   Data           0  cone{000a0000}-474.o(StubCode)
-    StubCode                                 0x0000a8c8   Section        8  cone{000a0000}-477.o(StubCode)
-    theImportedSymbol                        0x0000a8cc   Data           0  cone{000a0000}-477.o(StubCode)
-    StubCode                                 0x0000a8d0   Section        8  cone{000a0000}-478.o(StubCode)
-    theImportedSymbol                        0x0000a8d4   Data           0  cone{000a0000}-478.o(StubCode)
-    StubCode                                 0x0000a8d8   Section        8  cone{000a0000}-479.o(StubCode)
-    theImportedSymbol                        0x0000a8dc   Data           0  cone{000a0000}-479.o(StubCode)
-    StubCode                                 0x0000a8e0   Section        8  cone{000a0000}-48.o(StubCode)
-    theImportedSymbol                        0x0000a8e4   Data           0  cone{000a0000}-48.o(StubCode)
-    StubCode                                 0x0000a8e8   Section        8  cone{000a0000}-482.o(StubCode)
-    theImportedSymbol                        0x0000a8ec   Data           0  cone{000a0000}-482.o(StubCode)
-    StubCode                                 0x0000a8f0   Section        8  cone{000a0000}-50.o(StubCode)
-    theImportedSymbol                        0x0000a8f4   Data           0  cone{000a0000}-50.o(StubCode)
-    StubCode                                 0x0000a8f8   Section        8  cone{000a0000}-502.o(StubCode)
-    theImportedSymbol                        0x0000a8fc   Data           0  cone{000a0000}-502.o(StubCode)
-    StubCode                                 0x0000a900   Section        8  cone{000a0000}-51.o(StubCode)
-    theImportedSymbol                        0x0000a904   Data           0  cone{000a0000}-51.o(StubCode)
-    StubCode                                 0x0000a908   Section        8  cone{000a0000}-514.o(StubCode)
-    theImportedSymbol                        0x0000a90c   Data           0  cone{000a0000}-514.o(StubCode)
-    StubCode                                 0x0000a910   Section        8  cone{000a0000}-56.o(StubCode)
-    theImportedSymbol                        0x0000a914   Data           0  cone{000a0000}-56.o(StubCode)
-    StubCode                                 0x0000a918   Section        8  cone{000a0000}-57.o(StubCode)
-    theImportedSymbol                        0x0000a91c   Data           0  cone{000a0000}-57.o(StubCode)
-    StubCode                                 0x0000a920   Section        8  cone{000a0000}-580.o(StubCode)
-    theImportedSymbol                        0x0000a924   Data           0  cone{000a0000}-580.o(StubCode)
-    StubCode                                 0x0000a928   Section        8  cone{000a0000}-581.o(StubCode)
-    theImportedSymbol                        0x0000a92c   Data           0  cone{000a0000}-581.o(StubCode)
-    StubCode                                 0x0000a930   Section        8  cone{000a0000}-582.o(StubCode)
-    theImportedSymbol                        0x0000a934   Data           0  cone{000a0000}-582.o(StubCode)
-    StubCode                                 0x0000a938   Section        8  cone{000a0000}-583.o(StubCode)
-    theImportedSymbol                        0x0000a93c   Data           0  cone{000a0000}-583.o(StubCode)
-    StubCode                                 0x0000a940   Section        8  cone{000a0000}-584.o(StubCode)
-    theImportedSymbol                        0x0000a944   Data           0  cone{000a0000}-584.o(StubCode)
-    StubCode                                 0x0000a948   Section        8  cone{000a0000}-61.o(StubCode)
-    theImportedSymbol                        0x0000a94c   Data           0  cone{000a0000}-61.o(StubCode)
-    StubCode                                 0x0000a950   Section        8  cone{000a0000}-62.o(StubCode)
-    theImportedSymbol                        0x0000a954   Data           0  cone{000a0000}-62.o(StubCode)
-    StubCode                                 0x0000a958   Section        8  cone{000a0000}-638.o(StubCode)
-    theImportedSymbol                        0x0000a95c   Data           0  cone{000a0000}-638.o(StubCode)
-    StubCode                                 0x0000a960   Section        8  cone{000a0000}-639.o(StubCode)
-    theImportedSymbol                        0x0000a964   Data           0  cone{000a0000}-639.o(StubCode)
-    StubCode                                 0x0000a968   Section        8  cone{000a0000}-64.o(StubCode)
-    theImportedSymbol                        0x0000a96c   Data           0  cone{000a0000}-64.o(StubCode)
-    StubCode                                 0x0000a970   Section        8  cone{000a0000}-664.o(StubCode)
-    theImportedSymbol                        0x0000a974   Data           0  cone{000a0000}-664.o(StubCode)
-    StubCode                                 0x0000a978   Section        8  cone{000a0000}-67.o(StubCode)
-    theImportedSymbol                        0x0000a97c   Data           0  cone{000a0000}-67.o(StubCode)
-    StubCode                                 0x0000a980   Section        8  cone{000a0000}-670.o(StubCode)
-    theImportedSymbol                        0x0000a984   Data           0  cone{000a0000}-670.o(StubCode)
-    StubCode                                 0x0000a988   Section        8  cone{000a0000}-671.o(StubCode)
-    theImportedSymbol                        0x0000a98c   Data           0  cone{000a0000}-671.o(StubCode)
-    StubCode                                 0x0000a990   Section        8  cone{000a0000}-676.o(StubCode)
-    theImportedSymbol                        0x0000a994   Data           0  cone{000a0000}-676.o(StubCode)
-    StubCode                                 0x0000a998   Section        8  cone{000a0000}-677.o(StubCode)
-    theImportedSymbol                        0x0000a99c   Data           0  cone{000a0000}-677.o(StubCode)
-    StubCode                                 0x0000a9a0   Section        8  cone{000a0000}-9.o(StubCode)
-    theImportedSymbol                        0x0000a9a4   Data           0  cone{000a0000}-9.o(StubCode)
-    StubCode                                 0x0000a9a8   Section        8  eikcore{000a0000}-141.o(StubCode)
-    theImportedSymbol                        0x0000a9ac   Data           0  eikcore{000a0000}-141.o(StubCode)
-    StubCode                                 0x0000a9b0   Section        8  eikcore{000a0000}-142.o(StubCode)
-    theImportedSymbol                        0x0000a9b4   Data           0  eikcore{000a0000}-142.o(StubCode)
-    StubCode                                 0x0000a9b8   Section        8  eikcore{000a0000}-143.o(StubCode)
-    theImportedSymbol                        0x0000a9bc   Data           0  eikcore{000a0000}-143.o(StubCode)
-    StubCode                                 0x0000a9c0   Section        8  eikcore{000a0000}-144.o(StubCode)
-    theImportedSymbol                        0x0000a9c4   Data           0  eikcore{000a0000}-144.o(StubCode)
-    StubCode                                 0x0000a9c8   Section        8  eikcore{000a0000}-147.o(StubCode)
-    theImportedSymbol                        0x0000a9cc   Data           0  eikcore{000a0000}-147.o(StubCode)
-    StubCode                                 0x0000a9d0   Section        8  eikcore{000a0000}-152.o(StubCode)
-    theImportedSymbol                        0x0000a9d4   Data           0  eikcore{000a0000}-152.o(StubCode)
-    StubCode                                 0x0000a9d8   Section        8  eikcore{000a0000}-155.o(StubCode)
-    theImportedSymbol                        0x0000a9dc   Data           0  eikcore{000a0000}-155.o(StubCode)
-    StubCode                                 0x0000a9e0   Section        8  eikcore{000a0000}-158.o(StubCode)
-    theImportedSymbol                        0x0000a9e4   Data           0  eikcore{000a0000}-158.o(StubCode)
-    StubCode                                 0x0000a9e8   Section        8  eikcore{000a0000}-159.o(StubCode)
-    theImportedSymbol                        0x0000a9ec   Data           0  eikcore{000a0000}-159.o(StubCode)
-    StubCode                                 0x0000a9f0   Section        8  eikcore{000a0000}-169.o(StubCode)
-    theImportedSymbol                        0x0000a9f4   Data           0  eikcore{000a0000}-169.o(StubCode)
-    StubCode                                 0x0000a9f8   Section        8  eikcore{000a0000}-171.o(StubCode)
-    theImportedSymbol                        0x0000a9fc   Data           0  eikcore{000a0000}-171.o(StubCode)
-    StubCode                                 0x0000aa00   Section        8  eikcore{000a0000}-175.o(StubCode)
-    theImportedSymbol                        0x0000aa04   Data           0  eikcore{000a0000}-175.o(StubCode)
-    StubCode                                 0x0000aa08   Section        8  eikcore{000a0000}-18.o(StubCode)
-    theImportedSymbol                        0x0000aa0c   Data           0  eikcore{000a0000}-18.o(StubCode)
-    StubCode                                 0x0000aa10   Section        8  eikcore{000a0000}-20.o(StubCode)
-    theImportedSymbol                        0x0000aa14   Data           0  eikcore{000a0000}-20.o(StubCode)
-    StubCode                                 0x0000aa18   Section        8  eikcore{000a0000}-25.o(StubCode)
-    theImportedSymbol                        0x0000aa1c   Data           0  eikcore{000a0000}-25.o(StubCode)
-    StubCode                                 0x0000aa20   Section        8  eikcore{000a0000}-26.o(StubCode)
-    theImportedSymbol                        0x0000aa24   Data           0  eikcore{000a0000}-26.o(StubCode)
-    StubCode                                 0x0000aa28   Section        8  eikcore{000a0000}-27.o(StubCode)
-    theImportedSymbol                        0x0000aa2c   Data           0  eikcore{000a0000}-27.o(StubCode)
-    StubCode                                 0x0000aa30   Section        8  eikcore{000a0000}-28.o(StubCode)
-    theImportedSymbol                        0x0000aa34   Data           0  eikcore{000a0000}-28.o(StubCode)
-    StubCode                                 0x0000aa38   Section        8  eikcore{000a0000}-29.o(StubCode)
-    theImportedSymbol                        0x0000aa3c   Data           0  eikcore{000a0000}-29.o(StubCode)
-    StubCode                                 0x0000aa40   Section        8  eikcore{000a0000}-291.o(StubCode)
-    theImportedSymbol                        0x0000aa44   Data           0  eikcore{000a0000}-291.o(StubCode)
-    StubCode                                 0x0000aa48   Section        8  eikcore{000a0000}-293.o(StubCode)
-    theImportedSymbol                        0x0000aa4c   Data           0  eikcore{000a0000}-293.o(StubCode)
-    StubCode                                 0x0000aa50   Section        8  eikcore{000a0000}-294.o(StubCode)
-    theImportedSymbol                        0x0000aa54   Data           0  eikcore{000a0000}-294.o(StubCode)
-    StubCode                                 0x0000aa58   Section        8  eikcore{000a0000}-295.o(StubCode)
-    theImportedSymbol                        0x0000aa5c   Data           0  eikcore{000a0000}-295.o(StubCode)
-    StubCode                                 0x0000aa60   Section        8  eikcore{000a0000}-296.o(StubCode)
-    theImportedSymbol                        0x0000aa64   Data           0  eikcore{000a0000}-296.o(StubCode)
-    StubCode                                 0x0000aa68   Section        8  eikcore{000a0000}-297.o(StubCode)
-    theImportedSymbol                        0x0000aa6c   Data           0  eikcore{000a0000}-297.o(StubCode)
-    StubCode                                 0x0000aa70   Section        8  eikcore{000a0000}-298.o(StubCode)
-    theImportedSymbol                        0x0000aa74   Data           0  eikcore{000a0000}-298.o(StubCode)
-    StubCode                                 0x0000aa78   Section        8  eikcore{000a0000}-299.o(StubCode)
-    theImportedSymbol                        0x0000aa7c   Data           0  eikcore{000a0000}-299.o(StubCode)
-    StubCode                                 0x0000aa80   Section        8  eikcore{000a0000}-30.o(StubCode)
-    theImportedSymbol                        0x0000aa84   Data           0  eikcore{000a0000}-30.o(StubCode)
-    StubCode                                 0x0000aa88   Section        8  eikcore{000a0000}-302.o(StubCode)
-    theImportedSymbol                        0x0000aa8c   Data           0  eikcore{000a0000}-302.o(StubCode)
-    StubCode                                 0x0000aa90   Section        8  eikcore{000a0000}-31.o(StubCode)
-    theImportedSymbol                        0x0000aa94   Data           0  eikcore{000a0000}-31.o(StubCode)
-    StubCode                                 0x0000aa98   Section        8  eikcore{000a0000}-315.o(StubCode)
-    theImportedSymbol                        0x0000aa9c   Data           0  eikcore{000a0000}-315.o(StubCode)
-    StubCode                                 0x0000aaa0   Section        8  eikcore{000a0000}-317.o(StubCode)
-    theImportedSymbol                        0x0000aaa4   Data           0  eikcore{000a0000}-317.o(StubCode)
-    StubCode                                 0x0000aaa8   Section        8  eikcore{000a0000}-319.o(StubCode)
-    theImportedSymbol                        0x0000aaac   Data           0  eikcore{000a0000}-319.o(StubCode)
-    StubCode                                 0x0000aab0   Section        8  eikcore{000a0000}-352.o(StubCode)
-    theImportedSymbol                        0x0000aab4   Data           0  eikcore{000a0000}-352.o(StubCode)
-    StubCode                                 0x0000aab8   Section        8  eikcore{000a0000}-37.o(StubCode)
-    theImportedSymbol                        0x0000aabc   Data           0  eikcore{000a0000}-37.o(StubCode)
-    StubCode                                 0x0000aac0   Section        8  eikcore{000a0000}-390.o(StubCode)
-    theImportedSymbol                        0x0000aac4   Data           0  eikcore{000a0000}-390.o(StubCode)
-    StubCode                                 0x0000aac8   Section        8  eikcore{000a0000}-392.o(StubCode)
-    theImportedSymbol                        0x0000aacc   Data           0  eikcore{000a0000}-392.o(StubCode)
-    StubCode                                 0x0000aad0   Section        8  eikcore{000a0000}-394.o(StubCode)
-    theImportedSymbol                        0x0000aad4   Data           0  eikcore{000a0000}-394.o(StubCode)
-    StubCode                                 0x0000aad8   Section        8  eikcore{000a0000}-467.o(StubCode)
-    theImportedSymbol                        0x0000aadc   Data           0  eikcore{000a0000}-467.o(StubCode)
-    StubCode                                 0x0000aae0   Section        8  eikcore{000a0000}-472.o(StubCode)
-    theImportedSymbol                        0x0000aae4   Data           0  eikcore{000a0000}-472.o(StubCode)
-    StubCode                                 0x0000aae8   Section        8  eikcore{000a0000}-473.o(StubCode)
-    theImportedSymbol                        0x0000aaec   Data           0  eikcore{000a0000}-473.o(StubCode)
-    StubCode                                 0x0000aaf0   Section        8  eikcore{000a0000}-479.o(StubCode)
-    theImportedSymbol                        0x0000aaf4   Data           0  eikcore{000a0000}-479.o(StubCode)
-    StubCode                                 0x0000aaf8   Section        8  eikcore{000a0000}-490.o(StubCode)
-    theImportedSymbol                        0x0000aafc   Data           0  eikcore{000a0000}-490.o(StubCode)
-    StubCode                                 0x0000ab00   Section        8  eikcore{000a0000}-506.o(StubCode)
-    theImportedSymbol                        0x0000ab04   Data           0  eikcore{000a0000}-506.o(StubCode)
-    StubCode                                 0x0000ab08   Section        8  eikcore{000a0000}-523.o(StubCode)
-    theImportedSymbol                        0x0000ab0c   Data           0  eikcore{000a0000}-523.o(StubCode)
-    StubCode                                 0x0000ab10   Section        8  eikcore{000a0000}-532.o(StubCode)
-    theImportedSymbol                        0x0000ab14   Data           0  eikcore{000a0000}-532.o(StubCode)
-    StubCode                                 0x0000ab18   Section        8  eikcore{000a0000}-533.o(StubCode)
-    theImportedSymbol                        0x0000ab1c   Data           0  eikcore{000a0000}-533.o(StubCode)
-    StubCode                                 0x0000ab20   Section        8  eikcore{000a0000}-534.o(StubCode)
-    theImportedSymbol                        0x0000ab24   Data           0  eikcore{000a0000}-534.o(StubCode)
-    StubCode                                 0x0000ab28   Section        8  eikcore{000a0000}-535.o(StubCode)
-    theImportedSymbol                        0x0000ab2c   Data           0  eikcore{000a0000}-535.o(StubCode)
-    StubCode                                 0x0000ab30   Section        8  eikcore{000a0000}-536.o(StubCode)
-    theImportedSymbol                        0x0000ab34   Data           0  eikcore{000a0000}-536.o(StubCode)
-    StubCode                                 0x0000ab38   Section        8  eikcore{000a0000}-537.o(StubCode)
-    theImportedSymbol                        0x0000ab3c   Data           0  eikcore{000a0000}-537.o(StubCode)
-    StubCode                                 0x0000ab40   Section        8  eikcore{000a0000}-565.o(StubCode)
-    theImportedSymbol                        0x0000ab44   Data           0  eikcore{000a0000}-565.o(StubCode)
-    StubCode                                 0x0000ab48   Section        8  eikcore{000a0000}-61.o(StubCode)
-    theImportedSymbol                        0x0000ab4c   Data           0  eikcore{000a0000}-61.o(StubCode)
-    StubCode                                 0x0000ab50   Section        8  eikcore{000a0000}-62.o(StubCode)
-    theImportedSymbol                        0x0000ab54   Data           0  eikcore{000a0000}-62.o(StubCode)
-    StubCode                                 0x0000ab58   Section        8  eikcore{000a0000}-63.o(StubCode)
-    theImportedSymbol                        0x0000ab5c   Data           0  eikcore{000a0000}-63.o(StubCode)
-    StubCode                                 0x0000ab60   Section        8  eikcore{000a0000}-64.o(StubCode)
-    theImportedSymbol                        0x0000ab64   Data           0  eikcore{000a0000}-64.o(StubCode)
-    StubCode                                 0x0000ab68   Section        8  eikcore{000a0000}-67.o(StubCode)
-    theImportedSymbol                        0x0000ab6c   Data           0  eikcore{000a0000}-67.o(StubCode)
-    StubCode                                 0x0000ab70   Section        8  eikcore{000a0000}-72.o(StubCode)
-    theImportedSymbol                        0x0000ab74   Data           0  eikcore{000a0000}-72.o(StubCode)
-    StubCode                                 0x0000ab78   Section        8  eikcore{000a0000}-73.o(StubCode)
-    theImportedSymbol                        0x0000ab7c   Data           0  eikcore{000a0000}-73.o(StubCode)
-    StubCode                                 0x0000ab80   Section        8  eikcore{000a0000}-74.o(StubCode)
-    theImportedSymbol                        0x0000ab84   Data           0  eikcore{000a0000}-74.o(StubCode)
-    StubCode                                 0x0000ab88   Section        8  eikcore{000a0000}-75.o(StubCode)
-    theImportedSymbol                        0x0000ab8c   Data           0  eikcore{000a0000}-75.o(StubCode)
-    StubCode                                 0x0000ab90   Section        8  eikcore{000a0000}-76.o(StubCode)
-    theImportedSymbol                        0x0000ab94   Data           0  eikcore{000a0000}-76.o(StubCode)
-    StubCode                                 0x0000ab98   Section        8  eikcore{000a0000}-77.o(StubCode)
-    theImportedSymbol                        0x0000ab9c   Data           0  eikcore{000a0000}-77.o(StubCode)
-    StubCode                                 0x0000aba0   Section        8  eikcore{000a0000}-78.o(StubCode)
-    theImportedSymbol                        0x0000aba4   Data           0  eikcore{000a0000}-78.o(StubCode)
-    StubCode                                 0x0000aba8   Section        8  eikcore{000a0000}-79.o(StubCode)
-    theImportedSymbol                        0x0000abac   Data           0  eikcore{000a0000}-79.o(StubCode)
-    StubCode                                 0x0000abb0   Section        8  eikcoctl{000a0000}-1376.o(StubCode)
-    theImportedSymbol                        0x0000abb4   Data           0  eikcoctl{000a0000}-1376.o(StubCode)
-    StubCode                                 0x0000abb8   Section        8  eikcoctl{000a0000}-140.o(StubCode)
-    theImportedSymbol                        0x0000abbc   Data           0  eikcoctl{000a0000}-140.o(StubCode)
-    StubCode                                 0x0000abc0   Section        8  eikcoctl{000a0000}-1430.o(StubCode)
-    theImportedSymbol                        0x0000abc4   Data           0  eikcoctl{000a0000}-1430.o(StubCode)
-    StubCode                                 0x0000abc8   Section        8  eikcoctl{000a0000}-35.o(StubCode)
-    theImportedSymbol                        0x0000abcc   Data           0  eikcoctl{000a0000}-35.o(StubCode)
-    StubCode                                 0x0000abd0   Section        8  eikcoctl{000a0000}-46.o(StubCode)
-    theImportedSymbol                        0x0000abd4   Data           0  eikcoctl{000a0000}-46.o(StubCode)
-    StubCode                                 0x0000abd8   Section        8  eikcoctl{000a0000}-605.o(StubCode)
-    theImportedSymbol                        0x0000abdc   Data           0  eikcoctl{000a0000}-605.o(StubCode)
-    StubCode                                 0x0000abe0   Section        8  eikcoctl{000a0000}-606.o(StubCode)
-    theImportedSymbol                        0x0000abe4   Data           0  eikcoctl{000a0000}-606.o(StubCode)
-    StubCode                                 0x0000abe8   Section        8  eikcoctl{000a0000}-660.o(StubCode)
-    theImportedSymbol                        0x0000abec   Data           0  eikcoctl{000a0000}-660.o(StubCode)
-    StubCode                                 0x0000abf0   Section        8  eikcoctl{000a0000}-875.o(StubCode)
-    theImportedSymbol                        0x0000abf4   Data           0  eikcoctl{000a0000}-875.o(StubCode)
-    StubCode                                 0x0000abf8   Section        8  eikcoctl{000a0000}-880.o(StubCode)
-    theImportedSymbol                        0x0000abfc   Data           0  eikcoctl{000a0000}-880.o(StubCode)
-    StubCode                                 0x0000ac00   Section        8  eikcoctl{000a0000}-881.o(StubCode)
-    theImportedSymbol                        0x0000ac04   Data           0  eikcoctl{000a0000}-881.o(StubCode)
-    StubCode                                 0x0000ac08   Section        8  eikctl{000a0000}-455.o(StubCode)
-    theImportedSymbol                        0x0000ac0c   Data           0  eikctl{000a0000}-455.o(StubCode)
-    StubCode                                 0x0000ac10   Section        8  avkon{000a0000}-1132.o(StubCode)
-    theImportedSymbol                        0x0000ac14   Data           0  avkon{000a0000}-1132.o(StubCode)
-    StubCode                                 0x0000ac18   Section        8  avkon{000a0000}-129.o(StubCode)
-    theImportedSymbol                        0x0000ac1c   Data           0  avkon{000a0000}-129.o(StubCode)
-    StubCode                                 0x0000ac20   Section        8  avkon{000a0000}-130.o(StubCode)
-    theImportedSymbol                        0x0000ac24   Data           0  avkon{000a0000}-130.o(StubCode)
-    StubCode                                 0x0000ac28   Section        8  avkon{000a0000}-131.o(StubCode)
-    theImportedSymbol                        0x0000ac2c   Data           0  avkon{000a0000}-131.o(StubCode)
-    StubCode                                 0x0000ac30   Section        8  avkon{000a0000}-1341.o(StubCode)
-    theImportedSymbol                        0x0000ac34   Data           0  avkon{000a0000}-1341.o(StubCode)
-    StubCode                                 0x0000ac38   Section        8  avkon{000a0000}-198.o(StubCode)
-    theImportedSymbol                        0x0000ac3c   Data           0  avkon{000a0000}-198.o(StubCode)
-    StubCode                                 0x0000ac40   Section        8  avkon{000a0000}-199.o(StubCode)
-    theImportedSymbol                        0x0000ac44   Data           0  avkon{000a0000}-199.o(StubCode)
-    StubCode                                 0x0000ac48   Section        8  avkon{000a0000}-1996.o(StubCode)
-    theImportedSymbol                        0x0000ac4c   Data           0  avkon{000a0000}-1996.o(StubCode)
-    StubCode                                 0x0000ac50   Section        8  avkon{000a0000}-201.o(StubCode)
-    theImportedSymbol                        0x0000ac54   Data           0  avkon{000a0000}-201.o(StubCode)
-    StubCode                                 0x0000ac58   Section        8  avkon{000a0000}-206.o(StubCode)
-    theImportedSymbol                        0x0000ac5c   Data           0  avkon{000a0000}-206.o(StubCode)
-    StubCode                                 0x0000ac60   Section        8  avkon{000a0000}-211.o(StubCode)
-    theImportedSymbol                        0x0000ac64   Data           0  avkon{000a0000}-211.o(StubCode)
-    StubCode                                 0x0000ac68   Section        8  avkon{000a0000}-213.o(StubCode)
-    theImportedSymbol                        0x0000ac6c   Data           0  avkon{000a0000}-213.o(StubCode)
-    StubCode                                 0x0000ac70   Section        8  avkon{000a0000}-214.o(StubCode)
-    theImportedSymbol                        0x0000ac74   Data           0  avkon{000a0000}-214.o(StubCode)
-    StubCode                                 0x0000ac78   Section        8  avkon{000a0000}-215.o(StubCode)
-    theImportedSymbol                        0x0000ac7c   Data           0  avkon{000a0000}-215.o(StubCode)
-    StubCode                                 0x0000ac80   Section        8  avkon{000a0000}-216.o(StubCode)
-    theImportedSymbol                        0x0000ac84   Data           0  avkon{000a0000}-216.o(StubCode)
-    StubCode                                 0x0000ac88   Section        8  avkon{000a0000}-2163.o(StubCode)
-    theImportedSymbol                        0x0000ac8c   Data           0  avkon{000a0000}-2163.o(StubCode)
-    StubCode                                 0x0000ac90   Section        8  avkon{000a0000}-217.o(StubCode)
-    theImportedSymbol                        0x0000ac94   Data           0  avkon{000a0000}-217.o(StubCode)
-    StubCode                                 0x0000ac98   Section        8  avkon{000a0000}-2178.o(StubCode)
-    theImportedSymbol                        0x0000ac9c   Data           0  avkon{000a0000}-2178.o(StubCode)
-    StubCode                                 0x0000aca0   Section        8  avkon{000a0000}-220.o(StubCode)
-    theImportedSymbol                        0x0000aca4   Data           0  avkon{000a0000}-220.o(StubCode)
-    StubCode                                 0x0000aca8   Section        8  avkon{000a0000}-2591.o(StubCode)
-    theImportedSymbol                        0x0000acac   Data           0  avkon{000a0000}-2591.o(StubCode)
-    StubCode                                 0x0000acb0   Section        8  avkon{000a0000}-2624.o(StubCode)
-    theImportedSymbol                        0x0000acb4   Data           0  avkon{000a0000}-2624.o(StubCode)
-    StubCode                                 0x0000acb8   Section        8  avkon{000a0000}-2632.o(StubCode)
-    theImportedSymbol                        0x0000acbc   Data           0  avkon{000a0000}-2632.o(StubCode)
-    StubCode                                 0x0000acc0   Section        8  avkon{000a0000}-2895.o(StubCode)
-    theImportedSymbol                        0x0000acc4   Data           0  avkon{000a0000}-2895.o(StubCode)
-    StubCode                                 0x0000acc8   Section        8  avkon{000a0000}-2898.o(StubCode)
-    theImportedSymbol                        0x0000accc   Data           0  avkon{000a0000}-2898.o(StubCode)
-    StubCode                                 0x0000acd0   Section        8  avkon{000a0000}-2899.o(StubCode)
-    theImportedSymbol                        0x0000acd4   Data           0  avkon{000a0000}-2899.o(StubCode)
-    StubCode                                 0x0000acd8   Section        8  avkon{000a0000}-2900.o(StubCode)
-    theImportedSymbol                        0x0000acdc   Data           0  avkon{000a0000}-2900.o(StubCode)
-    StubCode                                 0x0000ace0   Section        8  avkon{000a0000}-2901.o(StubCode)
-    theImportedSymbol                        0x0000ace4   Data           0  avkon{000a0000}-2901.o(StubCode)
-    StubCode                                 0x0000ace8   Section        8  avkon{000a0000}-2902.o(StubCode)
-    theImportedSymbol                        0x0000acec   Data           0  avkon{000a0000}-2902.o(StubCode)
-    StubCode                                 0x0000acf0   Section        8  avkon{000a0000}-2903.o(StubCode)
-    theImportedSymbol                        0x0000acf4   Data           0  avkon{000a0000}-2903.o(StubCode)
-    StubCode                                 0x0000acf8   Section        8  avkon{000a0000}-2904.o(StubCode)
-    theImportedSymbol                        0x0000acfc   Data           0  avkon{000a0000}-2904.o(StubCode)
-    StubCode                                 0x0000ad00   Section        8  avkon{000a0000}-2905.o(StubCode)
-    theImportedSymbol                        0x0000ad04   Data           0  avkon{000a0000}-2905.o(StubCode)
-    StubCode                                 0x0000ad08   Section        8  avkon{000a0000}-2906.o(StubCode)
-    theImportedSymbol                        0x0000ad0c   Data           0  avkon{000a0000}-2906.o(StubCode)
-    StubCode                                 0x0000ad10   Section        8  avkon{000a0000}-2907.o(StubCode)
-    theImportedSymbol                        0x0000ad14   Data           0  avkon{000a0000}-2907.o(StubCode)
-    StubCode                                 0x0000ad18   Section        8  avkon{000a0000}-2909.o(StubCode)
-    theImportedSymbol                        0x0000ad1c   Data           0  avkon{000a0000}-2909.o(StubCode)
-    StubCode                                 0x0000ad20   Section        8  avkon{000a0000}-2910.o(StubCode)
-    theImportedSymbol                        0x0000ad24   Data           0  avkon{000a0000}-2910.o(StubCode)
-    StubCode                                 0x0000ad28   Section        8  avkon{000a0000}-2912.o(StubCode)
-    theImportedSymbol                        0x0000ad2c   Data           0  avkon{000a0000}-2912.o(StubCode)
-    StubCode                                 0x0000ad30   Section        8  avkon{000a0000}-2913.o(StubCode)
-    theImportedSymbol                        0x0000ad34   Data           0  avkon{000a0000}-2913.o(StubCode)
-    StubCode                                 0x0000ad38   Section        8  avkon{000a0000}-2914.o(StubCode)
-    theImportedSymbol                        0x0000ad3c   Data           0  avkon{000a0000}-2914.o(StubCode)
-    StubCode                                 0x0000ad40   Section        8  avkon{000a0000}-2917.o(StubCode)
-    theImportedSymbol                        0x0000ad44   Data           0  avkon{000a0000}-2917.o(StubCode)
-    StubCode                                 0x0000ad48   Section        8  avkon{000a0000}-2919.o(StubCode)
-    theImportedSymbol                        0x0000ad4c   Data           0  avkon{000a0000}-2919.o(StubCode)
-    StubCode                                 0x0000ad50   Section        8  avkon{000a0000}-2920.o(StubCode)
-    theImportedSymbol                        0x0000ad54   Data           0  avkon{000a0000}-2920.o(StubCode)
-    StubCode                                 0x0000ad58   Section        8  avkon{000a0000}-2922.o(StubCode)
-    theImportedSymbol                        0x0000ad5c   Data           0  avkon{000a0000}-2922.o(StubCode)
-    StubCode                                 0x0000ad60   Section        8  avkon{000a0000}-2928.o(StubCode)
-    theImportedSymbol                        0x0000ad64   Data           0  avkon{000a0000}-2928.o(StubCode)
-    StubCode                                 0x0000ad68   Section        8  avkon{000a0000}-2929.o(StubCode)
-    theImportedSymbol                        0x0000ad6c   Data           0  avkon{000a0000}-2929.o(StubCode)
-    StubCode                                 0x0000ad70   Section        8  avkon{000a0000}-2930.o(StubCode)
-    theImportedSymbol                        0x0000ad74   Data           0  avkon{000a0000}-2930.o(StubCode)
-    StubCode                                 0x0000ad78   Section        8  avkon{000a0000}-2932.o(StubCode)
-    theImportedSymbol                        0x0000ad7c   Data           0  avkon{000a0000}-2932.o(StubCode)
-    StubCode                                 0x0000ad80   Section        8  avkon{000a0000}-2934.o(StubCode)
-    theImportedSymbol                        0x0000ad84   Data           0  avkon{000a0000}-2934.o(StubCode)
-    StubCode                                 0x0000ad88   Section        8  avkon{000a0000}-2936.o(StubCode)
-    theImportedSymbol                        0x0000ad8c   Data           0  avkon{000a0000}-2936.o(StubCode)
-    StubCode                                 0x0000ad90   Section        8  avkon{000a0000}-2993.o(StubCode)
-    theImportedSymbol                        0x0000ad94   Data           0  avkon{000a0000}-2993.o(StubCode)
-    StubCode                                 0x0000ad98   Section        8  avkon{000a0000}-2997.o(StubCode)
-    theImportedSymbol                        0x0000ad9c   Data           0  avkon{000a0000}-2997.o(StubCode)
-    StubCode                                 0x0000ada0   Section        8  avkon{000a0000}-3417.o(StubCode)
-    theImportedSymbol                        0x0000ada4   Data           0  avkon{000a0000}-3417.o(StubCode)
-    StubCode                                 0x0000ada8   Section        8  avkon{000a0000}-3420.o(StubCode)
-    theImportedSymbol                        0x0000adac   Data           0  avkon{000a0000}-3420.o(StubCode)
-    StubCode                                 0x0000adb0   Section        8  avkon{000a0000}-3421.o(StubCode)
-    theImportedSymbol                        0x0000adb4   Data           0  avkon{000a0000}-3421.o(StubCode)
-    StubCode                                 0x0000adb8   Section        8  avkon{000a0000}-3422.o(StubCode)
-    theImportedSymbol                        0x0000adbc   Data           0  avkon{000a0000}-3422.o(StubCode)
-    StubCode                                 0x0000adc0   Section        8  avkon{000a0000}-3423.o(StubCode)
-    theImportedSymbol                        0x0000adc4   Data           0  avkon{000a0000}-3423.o(StubCode)
-    StubCode                                 0x0000adc8   Section        8  avkon{000a0000}-3424.o(StubCode)
-    theImportedSymbol                        0x0000adcc   Data           0  avkon{000a0000}-3424.o(StubCode)
-    StubCode                                 0x0000add0   Section        8  avkon{000a0000}-367.o(StubCode)
-    theImportedSymbol                        0x0000add4   Data           0  avkon{000a0000}-367.o(StubCode)
-    StubCode                                 0x0000add8   Section        8  avkon{000a0000}-368.o(StubCode)
-    theImportedSymbol                        0x0000addc   Data           0  avkon{000a0000}-368.o(StubCode)
-    StubCode                                 0x0000ade0   Section        8  avkon{000a0000}-369.o(StubCode)
-    theImportedSymbol                        0x0000ade4   Data           0  avkon{000a0000}-369.o(StubCode)
-    StubCode                                 0x0000ade8   Section        8  avkon{000a0000}-370.o(StubCode)
-    theImportedSymbol                        0x0000adec   Data           0  avkon{000a0000}-370.o(StubCode)
-    StubCode                                 0x0000adf0   Section        8  avkon{000a0000}-372.o(StubCode)
-    theImportedSymbol                        0x0000adf4   Data           0  avkon{000a0000}-372.o(StubCode)
-    StubCode                                 0x0000adf8   Section        8  avkon{000a0000}-373.o(StubCode)
-    theImportedSymbol                        0x0000adfc   Data           0  avkon{000a0000}-373.o(StubCode)
-    StubCode                                 0x0000ae00   Section        8  avkon{000a0000}-374.o(StubCode)
-    theImportedSymbol                        0x0000ae04   Data           0  avkon{000a0000}-374.o(StubCode)
-    StubCode                                 0x0000ae08   Section        8  avkon{000a0000}-375.o(StubCode)
-    theImportedSymbol                        0x0000ae0c   Data           0  avkon{000a0000}-375.o(StubCode)
-    StubCode                                 0x0000ae10   Section        8  avkon{000a0000}-377.o(StubCode)
-    theImportedSymbol                        0x0000ae14   Data           0  avkon{000a0000}-377.o(StubCode)
-    StubCode                                 0x0000ae18   Section        8  avkon{000a0000}-3826.o(StubCode)
-    theImportedSymbol                        0x0000ae1c   Data           0  avkon{000a0000}-3826.o(StubCode)
-    StubCode                                 0x0000ae20   Section        8  avkon{000a0000}-3831.o(StubCode)
-    theImportedSymbol                        0x0000ae24   Data           0  avkon{000a0000}-3831.o(StubCode)
-    StubCode                                 0x0000ae28   Section        8  avkon{000a0000}-3832.o(StubCode)
-    theImportedSymbol                        0x0000ae2c   Data           0  avkon{000a0000}-3832.o(StubCode)
-    StubCode                                 0x0000ae30   Section        8  avkon{000a0000}-3857.o(StubCode)
-    theImportedSymbol                        0x0000ae34   Data           0  avkon{000a0000}-3857.o(StubCode)
-    StubCode                                 0x0000ae38   Section        8  avkon{000a0000}-3860.o(StubCode)
-    theImportedSymbol                        0x0000ae3c   Data           0  avkon{000a0000}-3860.o(StubCode)
-    StubCode                                 0x0000ae40   Section        8  avkon{000a0000}-3861.o(StubCode)
-    theImportedSymbol                        0x0000ae44   Data           0  avkon{000a0000}-3861.o(StubCode)
-    StubCode                                 0x0000ae48   Section        8  avkon{000a0000}-3868.o(StubCode)
-    theImportedSymbol                        0x0000ae4c   Data           0  avkon{000a0000}-3868.o(StubCode)
-    StubCode                                 0x0000ae50   Section        8  avkon{000a0000}-3947.o(StubCode)
-    theImportedSymbol                        0x0000ae54   Data           0  avkon{000a0000}-3947.o(StubCode)
-    StubCode                                 0x0000ae58   Section        8  avkon{000a0000}-3948.o(StubCode)
-    theImportedSymbol                        0x0000ae5c   Data           0  avkon{000a0000}-3948.o(StubCode)
-    StubCode                                 0x0000ae60   Section        8  avkon{000a0000}-3949.o(StubCode)
-    theImportedSymbol                        0x0000ae64   Data           0  avkon{000a0000}-3949.o(StubCode)
-    StubCode                                 0x0000ae68   Section        8  avkon{000a0000}-3983.o(StubCode)
-    theImportedSymbol                        0x0000ae6c   Data           0  avkon{000a0000}-3983.o(StubCode)
-    StubCode                                 0x0000ae70   Section        8  avkon{000a0000}-4014.o(StubCode)
-    theImportedSymbol                        0x0000ae74   Data           0  avkon{000a0000}-4014.o(StubCode)
-    StubCode                                 0x0000ae78   Section        8  avkon{000a0000}-4030.o(StubCode)
-    theImportedSymbol                        0x0000ae7c   Data           0  avkon{000a0000}-4030.o(StubCode)
-    StubCode                                 0x0000ae80   Section        8  AknIcon{000a0000}-13.o(StubCode)
-    theImportedSymbol                        0x0000ae84   Data           0  AknIcon{000a0000}-13.o(StubCode)
-    StubCode                                 0x0000ae88   Section        8  egul{000a0000}-94.o(StubCode)
-    theImportedSymbol                        0x0000ae8c   Data           0  egul{000a0000}-94.o(StubCode)
-    StubCode                                 0x0000ae90   Section        8  egul{000a0000}-95.o(StubCode)
-    theImportedSymbol                        0x0000ae94   Data           0  egul{000a0000}-95.o(StubCode)
-    StubCode                                 0x0000ae98   Section        8  gdi{000a0000}-310.o(StubCode)
-    theImportedSymbol                        0x0000ae9c   Data           0  gdi{000a0000}-310.o(StubCode)
-    StubCode                                 0x0000aea0   Section        8  gdi{000a0000}-311.o(StubCode)
-    theImportedSymbol                        0x0000aea4   Data           0  gdi{000a0000}-311.o(StubCode)
-    StubCode                                 0x0000aea8   Section        8  gdi{000a0000}-312.o(StubCode)
-    theImportedSymbol                        0x0000aeac   Data           0  gdi{000a0000}-312.o(StubCode)
-    StubCode                                 0x0000aeb0   Section        8  fbscli{000a0000}-26.o(StubCode)
-    theImportedSymbol                        0x0000aeb4   Data           0  fbscli{000a0000}-26.o(StubCode)
-    StubCode                                 0x0000aeb8   Section        8  fbscli{000a0000}-31.o(StubCode)
-    theImportedSymbol                        0x0000aebc   Data           0  fbscli{000a0000}-31.o(StubCode)
-    StubCode                                 0x0000aec0   Section        8  eposlandmarks{000a0000}-12.o(StubCode)
-    theImportedSymbol                        0x0000aec4   Data           0  eposlandmarks{000a0000}-12.o(StubCode)
-    StubCode                                 0x0000aec8   Section        8  eposlandmarks{000a0000}-15.o(StubCode)
-    theImportedSymbol                        0x0000aecc   Data           0  eposlandmarks{000a0000}-15.o(StubCode)
-    StubCode                                 0x0000aed0   Section        8  eposlandmarks{000a0000}-4.o(StubCode)
-    theImportedSymbol                        0x0000aed4   Data           0  eposlandmarks{000a0000}-4.o(StubCode)
-    StubCode                                 0x0000aed8   Section        8  eposlandmarks{000a0000}-50.o(StubCode)
-    theImportedSymbol                        0x0000aedc   Data           0  eposlandmarks{000a0000}-50.o(StubCode)
-    StubCode                                 0x0000aee0   Section        8  eposlandmarks{000a0000}-65.o(StubCode)
-    theImportedSymbol                        0x0000aee4   Data           0  eposlandmarks{000a0000}-65.o(StubCode)
-    StubCode                                 0x0000aee8   Section        8  eposlandmarks{000a0000}-67.o(StubCode)
-    theImportedSymbol                        0x0000aeec   Data           0  eposlandmarks{000a0000}-67.o(StubCode)
-    StubCode                                 0x0000aef0   Section        8  eposlandmarks{000a0000}-75.o(StubCode)
-    theImportedSymbol                        0x0000aef4   Data           0  eposlandmarks{000a0000}-75.o(StubCode)
-    StubCode                                 0x0000aef8   Section        8  lbs{000a0000}-152.o(StubCode)
-    theImportedSymbol                        0x0000aefc   Data           0  lbs{000a0000}-152.o(StubCode)
-    StubCode                                 0x0000af00   Section        8  lbs{000a0000}-180.o(StubCode)
-    theImportedSymbol                        0x0000af04   Data           0  lbs{000a0000}-180.o(StubCode)
-    StubCode                                 0x0000af08   Section        8  lbs{000a0000}-181.o(StubCode)
-    theImportedSymbol                        0x0000af0c   Data           0  lbs{000a0000}-181.o(StubCode)
-    StubCode                                 0x0000af10   Section        8  lbs{000a0000}-205.o(StubCode)
-    theImportedSymbol                        0x0000af14   Data           0  lbs{000a0000}-205.o(StubCode)
-    StubCode                                 0x0000af18   Section        8  lbs{000a0000}-207.o(StubCode)
-    theImportedSymbol                        0x0000af1c   Data           0  lbs{000a0000}-207.o(StubCode)
-    StubCode                                 0x0000af20   Section        8  lbs{000a0000}-21.o(StubCode)
-    theImportedSymbol                        0x0000af24   Data           0  lbs{000a0000}-21.o(StubCode)
-    StubCode                                 0x0000af28   Section        8  lbs{000a0000}-214.o(StubCode)
-    theImportedSymbol                        0x0000af2c   Data           0  lbs{000a0000}-214.o(StubCode)
-    StubCode                                 0x0000af30   Section        8  lbs{000a0000}-223.o(StubCode)
-    theImportedSymbol                        0x0000af34   Data           0  lbs{000a0000}-223.o(StubCode)
-    StubCode                                 0x0000af38   Section        8  lbs{000a0000}-225.o(StubCode)
-    theImportedSymbol                        0x0000af3c   Data           0  lbs{000a0000}-225.o(StubCode)
-    StubCode                                 0x0000af40   Section        8  lbs{000a0000}-226.o(StubCode)
-    theImportedSymbol                        0x0000af44   Data           0  lbs{000a0000}-226.o(StubCode)
-    StubCode                                 0x0000af48   Section        8  lbs{000a0000}-23.o(StubCode)
-    theImportedSymbol                        0x0000af4c   Data           0  lbs{000a0000}-23.o(StubCode)
-    StubCode                                 0x0000af50   Section        8  lbs{000a0000}-28.o(StubCode)
-    theImportedSymbol                        0x0000af54   Data           0  lbs{000a0000}-28.o(StubCode)
-    StubCode                                 0x0000af58   Section        8  lbs{000a0000}-304.o(StubCode)
-    theImportedSymbol                        0x0000af5c   Data           0  lbs{000a0000}-304.o(StubCode)
-    StubCode                                 0x0000af60   Section        8  lbs{000a0000}-306.o(StubCode)
-    theImportedSymbol                        0x0000af64   Data           0  lbs{000a0000}-306.o(StubCode)
-    StubCode                                 0x0000af68   Section        8  mnservicelib{000a0000}-1.o(StubCode)
-    theImportedSymbol                        0x0000af6c   Data           0  mnservicelib{000a0000}-1.o(StubCode)
-    StubCode                                 0x0000af70   Section        8  mnservicelib{000a0000}-10.o(StubCode)
-    theImportedSymbol                        0x0000af74   Data           0  mnservicelib{000a0000}-10.o(StubCode)
-    StubCode                                 0x0000af78   Section        8  mnservicelib{000a0000}-11.o(StubCode)
-    theImportedSymbol                        0x0000af7c   Data           0  mnservicelib{000a0000}-11.o(StubCode)
-    StubCode                                 0x0000af80   Section        8  mnservicelib{000a0000}-12.o(StubCode)
-    theImportedSymbol                        0x0000af84   Data           0  mnservicelib{000a0000}-12.o(StubCode)
-    StubCode                                 0x0000af88   Section        8  mnservicelib{000a0000}-13.o(StubCode)
-    theImportedSymbol                        0x0000af8c   Data           0  mnservicelib{000a0000}-13.o(StubCode)
-    StubCode                                 0x0000af90   Section        8  mnservicelib{000a0000}-14.o(StubCode)
-    theImportedSymbol                        0x0000af94   Data           0  mnservicelib{000a0000}-14.o(StubCode)
-    StubCode                                 0x0000af98   Section        8  mnservicelib{000a0000}-15.o(StubCode)
-    theImportedSymbol                        0x0000af9c   Data           0  mnservicelib{000a0000}-15.o(StubCode)
-    StubCode                                 0x0000afa0   Section        8  mnservicelib{000a0000}-16.o(StubCode)
-    theImportedSymbol                        0x0000afa4   Data           0  mnservicelib{000a0000}-16.o(StubCode)
-    StubCode                                 0x0000afa8   Section        8  mnservicelib{000a0000}-17.o(StubCode)
-    theImportedSymbol                        0x0000afac   Data           0  mnservicelib{000a0000}-17.o(StubCode)
-    StubCode                                 0x0000afb0   Section        8  mnservicelib{000a0000}-2.o(StubCode)
-    theImportedSymbol                        0x0000afb4   Data           0  mnservicelib{000a0000}-2.o(StubCode)
-    StubCode                                 0x0000afb8   Section        8  mnservicelib{000a0000}-20.o(StubCode)
-    theImportedSymbol                        0x0000afbc   Data           0  mnservicelib{000a0000}-20.o(StubCode)
-    StubCode                                 0x0000afc0   Section        8  mnservicelib{000a0000}-28.o(StubCode)
-    theImportedSymbol                        0x0000afc4   Data           0  mnservicelib{000a0000}-28.o(StubCode)
-    StubCode                                 0x0000afc8   Section        8  mnservicelib{000a0000}-29.o(StubCode)
-    theImportedSymbol                        0x0000afcc   Data           0  mnservicelib{000a0000}-29.o(StubCode)
-    StubCode                                 0x0000afd0   Section        8  mnservicelib{000a0000}-30.o(StubCode)
-    theImportedSymbol                        0x0000afd4   Data           0  mnservicelib{000a0000}-30.o(StubCode)
-    StubCode                                 0x0000afd8   Section        8  mnservicelib{000a0000}-33.o(StubCode)
-    theImportedSymbol                        0x0000afdc   Data           0  mnservicelib{000a0000}-33.o(StubCode)
-    StubCode                                 0x0000afe0   Section        8  mnservicelib{000a0000}-4.o(StubCode)
-    theImportedSymbol                        0x0000afe4   Data           0  mnservicelib{000a0000}-4.o(StubCode)
-    StubCode                                 0x0000afe8   Section        8  mnservicelib{000a0000}-5.o(StubCode)
-    theImportedSymbol                        0x0000afec   Data           0  mnservicelib{000a0000}-5.o(StubCode)
-    StubCode                                 0x0000aff0   Section        8  mnservicelib{000a0000}-7.o(StubCode)
-    theImportedSymbol                        0x0000aff4   Data           0  mnservicelib{000a0000}-7.o(StubCode)
-    StubCode                                 0x0000aff8   Section        8  mnrefproviderengine{000a0000}-12.o(StubCode)
-    theImportedSymbol                        0x0000affc   Data           0  mnrefproviderengine{000a0000}-12.o(StubCode)
-    StubCode                                 0x0000b000   Section        8  mnrefproviderengine{000a0000}-17.o(StubCode)
-    theImportedSymbol                        0x0000b004   Data           0  mnrefproviderengine{000a0000}-17.o(StubCode)
-    StubCode                                 0x0000b008   Section        8  mnrefproviderengine{000a0000}-19.o(StubCode)
-    theImportedSymbol                        0x0000b00c   Data           0  mnrefproviderengine{000a0000}-19.o(StubCode)
-    StubCode                                 0x0000b010   Section        8  mnrefproviderengine{000a0000}-20.o(StubCode)
-    theImportedSymbol                        0x0000b014   Data           0  mnrefproviderengine{000a0000}-20.o(StubCode)
-    StubCode                                 0x0000b018   Section        8  mnrefproviderengine{000a0000}-22.o(StubCode)
-    theImportedSymbol                        0x0000b01c   Data           0  mnrefproviderengine{000a0000}-22.o(StubCode)
-    StubCode                                 0x0000b020   Section        8  mnrefproviderengine{000a0000}-23.o(StubCode)
-    theImportedSymbol                        0x0000b024   Data           0  mnrefproviderengine{000a0000}-23.o(StubCode)
-    StubCode                                 0x0000b028   Section        8  mnrefproviderengine{000a0000}-24.o(StubCode)
-    theImportedSymbol                        0x0000b02c   Data           0  mnrefproviderengine{000a0000}-24.o(StubCode)
-    StubCode                                 0x0000b030   Section        8  mnrefproviderengine{000a0000}-25.o(StubCode)
-    theImportedSymbol                        0x0000b034   Data           0  mnrefproviderengine{000a0000}-25.o(StubCode)
-    StubCode                                 0x0000b038   Section        8  mnrefproviderengine{000a0000}-26.o(StubCode)
-    theImportedSymbol                        0x0000b03c   Data           0  mnrefproviderengine{000a0000}-26.o(StubCode)
-    StubCode                                 0x0000b040   Section        8  mnrefproviderengine{000a0000}-27.o(StubCode)
-    theImportedSymbol                        0x0000b044   Data           0  mnrefproviderengine{000a0000}-27.o(StubCode)
-    StubCode                                 0x0000b048   Section        8  mnrefproviderengine{000a0000}-28.o(StubCode)
-    theImportedSymbol                        0x0000b04c   Data           0  mnrefproviderengine{000a0000}-28.o(StubCode)
-    StubCode                                 0x0000b050   Section        8  mnrefproviderengine{000a0000}-29.o(StubCode)
-    theImportedSymbol                        0x0000b054   Data           0  mnrefproviderengine{000a0000}-29.o(StubCode)
-    StubCode                                 0x0000b058   Section        8  mnrefproviderengine{000a0000}-30.o(StubCode)
-    theImportedSymbol                        0x0000b05c   Data           0  mnrefproviderengine{000a0000}-30.o(StubCode)
-    StubCode                                 0x0000b060   Section        8  mnrefproviderengine{000a0000}-31.o(StubCode)
-    theImportedSymbol                        0x0000b064   Data           0  mnrefproviderengine{000a0000}-31.o(StubCode)
-    StubCode                                 0x0000b068   Section        8  mnrefproviderengine{000a0000}-32.o(StubCode)
-    theImportedSymbol                        0x0000b06c   Data           0  mnrefproviderengine{000a0000}-32.o(StubCode)
-    StubCode                                 0x0000b070   Section        8  mnrefproviderengine{000a0000}-33.o(StubCode)
-    theImportedSymbol                        0x0000b074   Data           0  mnrefproviderengine{000a0000}-33.o(StubCode)
-    StubCode                                 0x0000b078   Section        8  mnrefproviderengine{000a0000}-34.o(StubCode)
-    theImportedSymbol                        0x0000b07c   Data           0  mnrefproviderengine{000a0000}-34.o(StubCode)
-    StubCode                                 0x0000b080   Section        8  mnrefproviderengine{000a0000}-38.o(StubCode)
-    theImportedSymbol                        0x0000b084   Data           0  mnrefproviderengine{000a0000}-38.o(StubCode)
-    StubCode                                 0x0000b088   Section        8  mnrefproviderengine{000a0000}-39.o(StubCode)
-    theImportedSymbol                        0x0000b08c   Data           0  mnrefproviderengine{000a0000}-39.o(StubCode)
-    StubCode                                 0x0000b090   Section        8  mnrefproviderengine{000a0000}-40.o(StubCode)
-    theImportedSymbol                        0x0000b094   Data           0  mnrefproviderengine{000a0000}-40.o(StubCode)
-    StubCode                                 0x0000b098   Section        8  mnrefproviderengine{000a0000}-41.o(StubCode)
-    theImportedSymbol                        0x0000b09c   Data           0  mnrefproviderengine{000a0000}-41.o(StubCode)
-    StubCode                                 0x0000b0a0   Section        8  mnrefproviderengine{000a0000}-42.o(StubCode)
-    theImportedSymbol                        0x0000b0a4   Data           0  mnrefproviderengine{000a0000}-42.o(StubCode)
-    StubCode                                 0x0000b0a8   Section        8  mnrefproviderengine{000a0000}-43.o(StubCode)
-    theImportedSymbol                        0x0000b0ac   Data           0  mnrefproviderengine{000a0000}-43.o(StubCode)
-    StubCode                                 0x0000b0b0   Section        8  mnrefproviderengine{000a0000}-44.o(StubCode)
-    theImportedSymbol                        0x0000b0b4   Data           0  mnrefproviderengine{000a0000}-44.o(StubCode)
-    StubCode                                 0x0000b0b8   Section        8  mnrefproviderengine{000a0000}-45.o(StubCode)
-    theImportedSymbol                        0x0000b0bc   Data           0  mnrefproviderengine{000a0000}-45.o(StubCode)
-    StubCode                                 0x0000b0c0   Section        8  mnrefproviderengine{000a0000}-46.o(StubCode)
-    theImportedSymbol                        0x0000b0c4   Data           0  mnrefproviderengine{000a0000}-46.o(StubCode)
-    StubCode                                 0x0000b0c8   Section        8  mnrefproviderengine{000a0000}-47.o(StubCode)
-    theImportedSymbol                        0x0000b0cc   Data           0  mnrefproviderengine{000a0000}-47.o(StubCode)
-    StubCode                                 0x0000b0d0   Section        8  mnrefproviderengine{000a0000}-48.o(StubCode)
-    theImportedSymbol                        0x0000b0d4   Data           0  mnrefproviderengine{000a0000}-48.o(StubCode)
-    StubCode                                 0x0000b0d8   Section        8  mnrefproviderengine{000a0000}-50.o(StubCode)
-    theImportedSymbol                        0x0000b0dc   Data           0  mnrefproviderengine{000a0000}-50.o(StubCode)
-    StubCode                                 0x0000b0e0   Section        8  mnrefproviderengine{000a0000}-51.o(StubCode)
-    theImportedSymbol                        0x0000b0e4   Data           0  mnrefproviderengine{000a0000}-51.o(StubCode)
-    StubCode                                 0x0000b0e8   Section        8  mnrefproviderengine{000a0000}-53.o(StubCode)
-    theImportedSymbol                        0x0000b0ec   Data           0  mnrefproviderengine{000a0000}-53.o(StubCode)
-    StubCode                                 0x0000b0f0   Section        8  mnrefproviderengine{000a0000}-54.o(StubCode)
-    theImportedSymbol                        0x0000b0f4   Data           0  mnrefproviderengine{000a0000}-54.o(StubCode)
-    StubCode                                 0x0000b0f8   Section        8  dfpaeabi{000a0000}-12.o(StubCode)
-    theImportedSymbol                        0x0000b0fc   Data           0  dfpaeabi{000a0000}-12.o(StubCode)
-    StubCode                                 0x0000b100   Section        8  dfpaeabi{000a0000}-20.o(StubCode)
-    theImportedSymbol                        0x0000b104   Data           0  dfpaeabi{000a0000}-20.o(StubCode)
-    StubCode                                 0x0000b108   Section        8  dfpaeabi{000a0000}-23.o(StubCode)
-    theImportedSymbol                        0x0000b10c   Data           0  dfpaeabi{000a0000}-23.o(StubCode)
-    StubCode                                 0x0000b110   Section        8  dfpaeabi{000a0000}-24.o(StubCode)
-    theImportedSymbol                        0x0000b114   Data           0  dfpaeabi{000a0000}-24.o(StubCode)
-    StubCode                                 0x0000b118   Section        8  dfpaeabi{000a0000}-41.o(StubCode)
-    theImportedSymbol                        0x0000b11c   Data           0  dfpaeabi{000a0000}-41.o(StubCode)
-    StubCode                                 0x0000b120   Section        8  dfpaeabi{000a0000}-8.o(StubCode)
-    theImportedSymbol                        0x0000b124   Data           0  dfpaeabi{000a0000}-8.o(StubCode)
-    StubCode                                 0x0000b128   Section        8  drtaeabi{000a0000}-147.o(StubCode)
-    theImportedSymbol                        0x0000b12c   Data           0  drtaeabi{000a0000}-147.o(StubCode)
-    StubCode                                 0x0000b130   Section        8  drtaeabi{000a0000}-158.o(StubCode)
-    theImportedSymbol                        0x0000b134   Data           0  drtaeabi{000a0000}-158.o(StubCode)
-    StubCode                                 0x0000b138   Section        8  drtaeabi{000a0000}-159.o(StubCode)
-    theImportedSymbol                        0x0000b13c   Data           0  drtaeabi{000a0000}-159.o(StubCode)
-    StubCode                                 0x0000b140   Section        8  drtaeabi{000a0000}-180.o(StubCode)
-    theImportedSymbol                        0x0000b144   Data           0  drtaeabi{000a0000}-180.o(StubCode)
-    StubCode                                 0x0000b148   Section        8  drtaeabi{000a0000}-182.o(StubCode)
-    theImportedSymbol                        0x0000b14c   Data           0  drtaeabi{000a0000}-182.o(StubCode)
-    StubCode                                 0x0000b150   Section        8  drtaeabi{000a0000}-183.o(StubCode)
-    theImportedSymbol                        0x0000b154   Data           0  drtaeabi{000a0000}-183.o(StubCode)
-    StubCode                                 0x0000b158   Section        8  drtaeabi{000a0000}-184.o(StubCode)
-    theImportedSymbol                        0x0000b15c   Data           0  drtaeabi{000a0000}-184.o(StubCode)
-    StubCode                                 0x0000b160   Section        8  drtaeabi{000a0000}-189.o(StubCode)
-    theImportedSymbol                        0x0000b164   Data           0  drtaeabi{000a0000}-189.o(StubCode)
-    StubCode                                 0x0000b168   Section        8  scppnwdl{000a0000}-3.o(StubCode)
-    theImportedSymbol                        0x0000b16c   Data           0  scppnwdl{000a0000}-3.o(StubCode)
-    StubCode                                 0x0000b170   Section        8  euser{000a0000}-1360.o(StubCode)
-    theImportedSymbol                        0x0000b174   Data           0  euser{000a0000}-1360.o(StubCode)
-    StubCode                                 0x0000b178   Section        8  euser{000a0000}-641.o(StubCode)
-    theImportedSymbol                        0x0000b17c   Data           0  euser{000a0000}-641.o(StubCode)
-    StubCode                                 0x0000b180   Section        8  euser{000a0000}-585.o(StubCode)
-    theImportedSymbol                        0x0000b184   Data           0  euser{000a0000}-585.o(StubCode)
-    StubCode                                 0x0000b188   Section        8  euser{000a0000}-650.o(StubCode)
-    theImportedSymbol                        0x0000b18c   Data           0  euser{000a0000}-650.o(StubCode)
-    StubCode                                 0x0000b190   Section        8  drtaeabi{000a0000}-204.o(StubCode)
-    theImportedSymbol                        0x0000b194   Data           0  drtaeabi{000a0000}-204.o(StubCode)
-    i._ZN12CAknDocumentD2Ev                  0x0000b198   Section        8  mnrefprovider.in(i._ZN12CAknDocumentD2Ev)
-    i._ZN12CApaDocument16DetachFromStoreLEN8CPicture7TDetachE 0x0000b1a0   Section        2  mnrefprovider.in(i._ZN12CApaDocument16DetachFromStoreLEN8CPicture7TDetachE)
-    i._ZN12CArrayPtrSegI8CGulIconED0Ev       0x0000b1a2   Section       16  mnrefprovider.in(i._ZN12CArrayPtrSegI8CGulIconED0Ev)
-    i._ZN12CArrayPtrSegI8CGulIconED1Ev       0x0000b1b2   Section        8  mnrefprovider.in(i._ZN12CArrayPtrSegI8CGulIconED1Ev)
-    i._ZN13CAknViewAppUiC1Ev                 0x0000b1bc   Section       60  mnrefprovider.in(i._ZN13CAknViewAppUiC1Ev)
-    i._ZN13CAknViewAppUiC1Ev.clean           0x0000b1f8   Section       10  mnrefprovider.in(i._ZN13CAknViewAppUiC1Ev.clean)
-    i._ZN16CMnrpApplicationD0Ev              0x0000b202   Section       16  mnrefprovider.in(i._ZN16CMnrpApplicationD0Ev)
-    i._ZN16CMnrpApplicationD1Ev              0x0000b212   Section        8  mnrefprovider.in(i._ZN16CMnrpApplicationD1Ev)
-    i._ZN5CBasenwEj                          0x0000b21a   Section        8  mnrefprovider.in(i._ZN5CBasenwEj)
-    i._ZN5TRectC1ERKS_                       0x0000b222   Section       18  mnrefprovider.in(i._ZN5TRectC1ERKS_)
-    i._ZN9CArrayFixIP8CGulIconED1Ev          0x0000b234   Section        8  mnrefprovider.in(i._ZN9CArrayFixIP8CGulIconED1Ev)
-    i._ZN9CArrayPtrI8CGulIconED1Ev           0x0000b23c   Section        8  mnrefprovider.in(i._ZN9CArrayPtrI8CGulIconED1Ev)
-    t._ZN12CleanupCloseI6RArrayIiEE5CloseEPv 0x0000b244   Section        8  mnrefprovider.in(t._ZN12CleanupCloseI6RArrayIiEE5CloseEPv)
-    t._ZN12CleanupCloseI6RArrayImEE5CloseEPv 0x0000b24c   Section        8  mnrefprovider.in(t._ZN12CleanupCloseI6RArrayImEE5CloseEPv)
-    t._ZN13RPointerArrayIN14CMnrpNaviModel9CListItemEE15ResetAndDestroyEv 0x0000b254   Section       48  mnrefprovider.in(t._ZN13RPointerArrayIN14CMnrpNaviModel9CListItemEE15ResetAndDestroyEv)
-    t._ZN13RPointerArrayIN14CMnrpNaviModel9CListItemEE7AppendLEPKS1_ 0x0000b284   Section       12  mnrefprovider.in(t._ZN13RPointerArrayIN14CMnrpNaviModel9CListItemEE7AppendLEPKS1_)
-    t._ZN4TBufILi15EEC1Ev                    0x0000b290   Section       10  mnrefprovider.in(t._ZN4TBufILi15EEC1Ev)
-    .ARM.extab                               0x0000b29c   Section       16  uc_exe_.o(.ARM.extab)
-    .extab._Z14NewApplicationv               0x0000b2ac   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN5CBasenwEj                     0x0000b2bc   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN10CMnrpAppUiD1Ev               0x0000b2cc   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN10CMnrpAppUi13StopSelectionEv  0x0000b2dc   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN13CAknViewAppUiC1Ev            0x0000b30c   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN13CMnrpDocumentD1Ev            0x0000b31c   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN12CMnrpAppViewD1Ev             0x0000b32c   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN12CMnrpMapViewD1Ev             0x0000b33c   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN15CMnrpMapControlC1ER12CMnrpMapView 0x0000b36c   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN15CMnrpMapControlD1Ev          0x0000b37c   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN15CMnrpMapControl11SizeChangedEv 0x0000b38c   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN13CMnrpNaviViewD1Ev            0x0000b3d4   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN14CMnrpNaviModelC1ER18MNaviModelObserverR11CMnrpEngine 0x0000b3e4   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN14CMnrpNaviModelD1Ev           0x0000b3f4   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN16CMnrpNaviControlD1Ev         0x0000b404   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN19CMnrpMapViewServiceD1Ev      0x0000b414   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN19CMnrpMapViewService16HandleSelectionLERK11TCoordinate 0x0000b424   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab.CallThrdProcEntry                 0x0000b44c   Data           0  callfirstprocessfn.o(.ARM.extab)
-    .constdata$1                             0x0000b468   Data           0  mnrefprovider.in(.constdata)
-    KUidMnRefProviderApp                     0x0000b468   Data           4  mnrefprovider.in(.constdata)
-    .constdata                               0x0000b468   Section        4  mnrefprovider.in(.constdata)
-    .constdata$1                             0x0000b46c   Data           0  mnrefprovider.in(.constdata)
-    KMbmFile                                 0x0000b46c   Data          72  mnrefprovider.in(.constdata)
-    .constdata                               0x0000b46c   Section       92  mnrefprovider.in(.constdata)
-    KListItemFormat@_Z12AddLandmarkLRK12CPosLandmarkR12CDesC16ArrayR9CArrayPtrI8CGulIconE_0 0x0000b4b4   Data          20  mnrefprovider.in(.constdata)
-    .constdata$1                             0x0000b4c8   Data           0  mnrefprovider.in(.constdata)
-    KEmpty@_ZN12CMnrpAppView11DoActivateLERK10TVwsViewId4TUidRK6TDesC8_0 0x0000b4c8   Data           8  mnrefprovider.in(.constdata)
-    .constdata                               0x0000b4c8   Section        8  mnrefprovider.in(.constdata)
-    .constdata$1                             0x0000b4d0   Data           0  mnrefprovider.in(.constdata)
-    KMapView@_ZN12CMnrpMapView11DoActivateLERK10TVwsViewId4TUidRK6TDesC8_0 0x0000b4d0   Data          20  mnrefprovider.in(.constdata)
-    .constdata                               0x0000b4d0   Section       20  mnrefprovider.in(.constdata)
-    .constdata$1                             0x0000b4e4   Data           0  mnrefprovider.in(.constdata)
-    _ZZN15CMnrpMapControl18HandleModelUpdateLEvE17KMessageIgnoredLm@_ZN15CMnrpMapControl18HandleModelUpdateLEv_0 0x0000b4e4   Data         108  mnrefprovider.in(.constdata)
-    .constdata                               0x0000b4e4   Section      220  mnrefprovider.in(.constdata)
-    _ZZN15CMnrpMapControl18HandleModelUpdateLEvE18KMessageIgnoredLms@_ZN15CMnrpMapControl18HandleModelUpdateLEv_1 0x0000b550   Data         112  mnrefprovider.in(.constdata)
-    .constdata$1                             0x0000b5c0   Data           0  mnrefprovider.in(.constdata)
-    KNavigation@_ZN13CMnrpNaviView11DoActivateLERK10TVwsViewId4TUidRK6TDesC8_0 0x0000b5c0   Data          28  mnrefprovider.in(.constdata)
-    .constdata                               0x0000b5c0   Section       28  mnrefprovider.in(.constdata)
-    .constdata$1                             0x0000b5dc   Data           0  mnrefprovider.in(.constdata)
-    KNotDefined                              0x0000b5dc   Data          16  mnrefprovider.in(.constdata)
-    .constdata                               0x0000b5dc   Section      344  mnrefprovider.in(.constdata)
-    KDestination                             0x0000b5ec   Data          28  mnrefprovider.in(.constdata)
-    KPosition                                0x0000b608   Data          24  mnrefprovider.in(.constdata)
-    KDistance                                0x0000b620   Data          24  mnrefprovider.in(.constdata)
-    KBearing                                 0x0000b638   Data          20  mnrefprovider.in(.constdata)
-    KDestinationLat                          0x0000b64c   Data          24  mnrefprovider.in(.constdata)
-    KDestinationLon                          0x0000b664   Data          24  mnrefprovider.in(.constdata)
-    KPositionLat                             0x0000b67c   Data          24  mnrefprovider.in(.constdata)
-    KPositionLon                             0x0000b694   Data          24  mnrefprovider.in(.constdata)
-    KSpeed                                   0x0000b6ac   Data          16  mnrefprovider.in(.constdata)
-    KHeading                                 0x0000b6bc   Data          20  mnrefprovider.in(.constdata)
-    KMagHeading                              0x0000b6d0   Data          24  mnrefprovider.in(.constdata)
-    KCourse                                  0x0000b6e8   Data          20  mnrefprovider.in(.constdata)
-    KMagCourse                               0x0000b6fc   Data          24  mnrefprovider.in(.constdata)
-    KRequestorName@_ZN14CMnrpNaviModel10ConstructLEv_0 0x0000b714   Data          32  mnrefprovider.in(.constdata)
-    .constdata$1                             0x0000b734   Data           0  mnrefprovider.in(.constdata)
-    _ZZN16CMnrpNaviControl18HandleModelUpdateLEvE11KItemFormat@_ZN16CMnrpNaviControl18HandleModelUpdateLEv_0 0x0000b734   Data          20  mnrefprovider.in(.constdata)
-    .constdata                               0x0000b734   Section       20  mnrefprovider.in(.constdata)
-    .constdata$1                             0x0000b748   Data           0  callfirstprocessfn.o(.constdata)
-    KLitUser                                 0x0000b748   Data          16  callfirstprocessfn.o(.constdata)
-    .constdata                               0x0000b748   Section       16  callfirstprocessfn.o(.constdata)
-    .constdata__ZTI10CMnrpAppUi              0x0000b758   Section       12  mnrefprovider.in(.constdata__ZTI10CMnrpAppUi)
-    .constdata__ZTI12CArrayPtrSegI8CGulIconE 0x0000b764   Section       12  mnrefprovider.in(.constdata__ZTI12CArrayPtrSegI8CGulIconE)
-    .constdata__ZTI12CMnrpAppView            0x0000b770   Section       12  mnrefprovider.in(.constdata__ZTI12CMnrpAppView)
-    .constdata__ZTI12CMnrpMapView            0x0000b77c   Section       12  mnrefprovider.in(.constdata__ZTI12CMnrpMapView)
-    .constdata__ZTI13CMnrpDocument           0x0000b788   Section       12  mnrefprovider.in(.constdata__ZTI13CMnrpDocument)
-    .constdata__ZTI13CMnrpNaviView           0x0000b794   Section       12  mnrefprovider.in(.constdata__ZTI13CMnrpNaviView)
-    .constdata__ZTI14CMnrpAppServer          0x0000b7a0   Section       12  mnrefprovider.in(.constdata__ZTI14CMnrpAppServer)
-    .constdata__ZTI14CMnrpNaviModel          0x0000b7ac   Section       32  mnrefprovider.in(.constdata__ZTI14CMnrpNaviModel)
-    .constdata__ZTI15CMnrpAppControl         0x0000b7cc   Section       12  mnrefprovider.in(.constdata__ZTI15CMnrpAppControl)
-    .constdata__ZTI15CMnrpMapControl         0x0000b7d8   Section       32  mnrefprovider.in(.constdata__ZTI15CMnrpMapControl)
-    .constdata__ZTI16CMnrpApplication        0x0000b7f8   Section       12  mnrefprovider.in(.constdata__ZTI16CMnrpApplication)
-    .constdata__ZTI16CMnrpNaviControl        0x0000b804   Section       32  mnrefprovider.in(.constdata__ZTI16CMnrpNaviControl)
-    .constdata__ZTI17MMapModelObserver       0x0000b824   Section        8  mnrefprovider.in(.constdata__ZTI17MMapModelObserver)
-    .constdata__ZTI18MNaviModelObserver      0x0000b82c   Section        8  mnrefprovider.in(.constdata__ZTI18MNaviModelObserver)
-    .constdata__ZTI19CMnrpMapViewService     0x0000b834   Section       32  mnrefprovider.in(.constdata__ZTI19CMnrpMapViewService)
-    .constdata__ZTI21MMapSelectionCallback   0x0000b854   Section        8  mnrefprovider.in(.constdata__ZTI21MMapSelectionCallback)
-    .constdata__ZTI21MMnrpPositionObserver   0x0000b85c   Section        8  mnrefprovider.in(.constdata__ZTI21MMnrpPositionObserver)
-    .constdata__ZTI22CMnrpNavigationService  0x0000b864   Section       12  mnrefprovider.in(.constdata__ZTI22CMnrpNavigationService)
-    .constdata__ZTI22MEikStatusPaneObserver  0x0000b870   Section        8  mnrefprovider.in(.constdata__ZTI22MEikStatusPaneObserver)
-    .constdata__ZTI9CArrayFixIP8CGulIconE    0x0000b878   Section       12  mnrefprovider.in(.constdata__ZTI9CArrayFixIP8CGulIconE)
-    .constdata__ZTI9CArrayPtrI8CGulIconE     0x0000b884   Section       12  mnrefprovider.in(.constdata__ZTI9CArrayPtrI8CGulIconE)
-    .constdata__ZTIN14CMnrpNaviModel9CListItemE 0x0000b890   Section       12  mnrefprovider.in(.constdata__ZTIN14CMnrpNaviModel9CListItemE)
-    .constdata__ZTS10CMnrpAppUi              0x0000b89c   Section       13  mnrefprovider.in(.constdata__ZTS10CMnrpAppUi)
-    .constdata__ZTS12CArrayPtrSegI8CGulIconE 0x0000b8a9   Section       26  mnrefprovider.in(.constdata__ZTS12CArrayPtrSegI8CGulIconE)
-    .constdata__ZTS12CMnrpAppView            0x0000b8c3   Section       15  mnrefprovider.in(.constdata__ZTS12CMnrpAppView)
-    .constdata__ZTS12CMnrpMapView            0x0000b8d2   Section       15  mnrefprovider.in(.constdata__ZTS12CMnrpMapView)
-    .constdata__ZTS13CMnrpDocument           0x0000b8e1   Section       16  mnrefprovider.in(.constdata__ZTS13CMnrpDocument)
-    .constdata__ZTS13CMnrpNaviView           0x0000b8f1   Section       16  mnrefprovider.in(.constdata__ZTS13CMnrpNaviView)
-    .constdata__ZTS14CMnrpAppServer          0x0000b901   Section       17  mnrefprovider.in(.constdata__ZTS14CMnrpAppServer)
-    .constdata__ZTS14CMnrpNaviModel          0x0000b912   Section       17  mnrefprovider.in(.constdata__ZTS14CMnrpNaviModel)
-    .constdata__ZTS15CMnrpAppControl         0x0000b923   Section       18  mnrefprovider.in(.constdata__ZTS15CMnrpAppControl)
-    .constdata__ZTS15CMnrpMapControl         0x0000b935   Section       18  mnrefprovider.in(.constdata__ZTS15CMnrpMapControl)
-    .constdata__ZTS16CMnrpApplication        0x0000b947   Section       19  mnrefprovider.in(.constdata__ZTS16CMnrpApplication)
-    .constdata__ZTS16CMnrpNaviControl        0x0000b95a   Section       19  mnrefprovider.in(.constdata__ZTS16CMnrpNaviControl)
-    .constdata__ZTS17MMapModelObserver       0x0000b96d   Section       20  mnrefprovider.in(.constdata__ZTS17MMapModelObserver)
-    .constdata__ZTS18MNaviModelObserver      0x0000b981   Section       21  mnrefprovider.in(.constdata__ZTS18MNaviModelObserver)
-    .constdata__ZTS19CMnrpMapViewService     0x0000b996   Section       22  mnrefprovider.in(.constdata__ZTS19CMnrpMapViewService)
-    .constdata__ZTS21MMapSelectionCallback   0x0000b9ac   Section       24  mnrefprovider.in(.constdata__ZTS21MMapSelectionCallback)
-    .constdata__ZTS21MMnrpPositionObserver   0x0000b9c4   Section       24  mnrefprovider.in(.constdata__ZTS21MMnrpPositionObserver)
-    .constdata__ZTS22CMnrpNavigationService  0x0000b9dc   Section       25  mnrefprovider.in(.constdata__ZTS22CMnrpNavigationService)
-    .constdata__ZTS22MEikStatusPaneObserver  0x0000b9f5   Section       25  mnrefprovider.in(.constdata__ZTS22MEikStatusPaneObserver)
-    .constdata__ZTS9CArrayFixIP8CGulIconE    0x0000ba0e   Section       23  mnrefprovider.in(.constdata__ZTS9CArrayFixIP8CGulIconE)
-    .constdata__ZTS9CArrayPtrI8CGulIconE     0x0000ba25   Section       22  mnrefprovider.in(.constdata__ZTS9CArrayPtrI8CGulIconE)
-    .constdata__ZTSN14CMnrpNaviModel9CListItemE 0x0000ba3b   Section       29  mnrefprovider.in(.constdata__ZTSN14CMnrpNaviModel9CListItemE)
-    .constdata__ZTV10CMnrpAppUi              0x0000ba58   Section      340  mnrefprovider.in(.constdata__ZTV10CMnrpAppUi)
-    .constdata__ZTV12CArrayPtrSegI8CGulIconE 0x0000bbac   Section       20  mnrefprovider.in(.constdata__ZTV12CArrayPtrSegI8CGulIconE)
-    .constdata__ZTV12CMnrpAppView            0x0000bbc0   Section      232  mnrefprovider.in(.constdata__ZTV12CMnrpAppView)
-    .constdata__ZTV12CMnrpMapView            0x0000bca8   Section      236  mnrefprovider.in(.constdata__ZTV12CMnrpMapView)
-    .constdata__ZTV13CMnrpDocument           0x0000bd94   Section      112  mnrefprovider.in(.constdata__ZTV13CMnrpDocument)
-    .constdata__ZTV13CMnrpNaviView           0x0000be04   Section      232  mnrefprovider.in(.constdata__ZTV13CMnrpNaviView)
-    .constdata__ZTV14CMnrpAppServer          0x0000beec   Section       76  mnrefprovider.in(.constdata__ZTV14CMnrpAppServer)
-    .constdata__ZTV14CMnrpNaviModel          0x0000bf38   Section       36  mnrefprovider.in(.constdata__ZTV14CMnrpNaviModel)
-    .constdata__ZTV15CMnrpAppControl         0x0000bf5c   Section      208  mnrefprovider.in(.constdata__ZTV15CMnrpAppControl)
-    .constdata__ZTV15CMnrpMapControl         0x0000c02c   Section      224  mnrefprovider.in(.constdata__ZTV15CMnrpMapControl)
-    .constdata__ZTV16CMnrpApplication        0x0000c10c   Section       80  mnrefprovider.in(.constdata__ZTV16CMnrpApplication)
-    .constdata__ZTV16CMnrpNaviControl        0x0000c15c   Section      224  mnrefprovider.in(.constdata__ZTV16CMnrpNaviControl)
-    .constdata__ZTV19CMnrpMapViewService     0x0000c23c   Section      112  mnrefprovider.in(.constdata__ZTV19CMnrpMapViewService)
-    .constdata__ZTV22CMnrpNavigationService  0x0000c2ac   Section       64  mnrefprovider.in(.constdata__ZTV22CMnrpNavigationService)
-    .constdata__ZTV22MEikStatusPaneObserver  0x0000c2ec   Section       12  mnrefprovider.in(.constdata__ZTV22MEikStatusPaneObserver)
-    .constdata__ZTVN14CMnrpNaviModel9CListItemE 0x0000c2f8   Section       20  mnrefprovider.in(.constdata__ZTVN14CMnrpNaviModel9CListItemE)
-    .init_array                              0x0000c30c   Section        4  mnrefprovider.in(.init_array)
-    .ARM.exidx                               0x0000c310   Section        8  uc_exe_.o(.ARM.exidx)
-    .ARM.exidx                               0x0000c318   Section        8  ucppinit_aeabi.o(.ARM.exidx)
-    .data$0                                  0x00400000   Data           0  mnrefprovider.in(.data)
-    KCursorColor                             0x00400000   Data           4  mnrefprovider.in(.data)
-    .data                                    0x00400000   Section       12  mnrefprovider.in(.data)
-    KGridTextColor                           0x00400004   Data           4  mnrefprovider.in(.data)
-    KOriginMarkColor                         0x00400008   Data           4  mnrefprovider.in(.data)
-
-    Global Symbols
-
-    Symbol Name                              Value     Ov Type        Size  Object(Section)
-
-    BuildAttributes$$THUMB_ISAv3$ARM_ISAv6$M$E$P$PE$A:L22$X:L11$S22$IEEE1$IW$USESV6$~STKCKD$USESV7$~SHL$OSPACE$IEEEJ$EBA8$UX$REQ8$PRES8$EABIv2 0x00000000   Number         0  anon$$obj.o ABSOLUTE
-    #<DLL>AknIcon{000a0000}[1020735a].dll#<\DLL>d  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>111  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>112  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>113  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>117  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>118  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>11c  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>11d  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>11e  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>11f  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>1e  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>79  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>84  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>ab  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>bf  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>c0  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>c2  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>ca  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>de  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>e8  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>fd  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>16f  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>170  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>171  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>172  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>174  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>175  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>176  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>177  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>179  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>46c  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>53d  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>7cc  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>81  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>82  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>83  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>873  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>882  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>a1f  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>a40  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>a48  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b4f  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b52  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b53  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b54  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b55  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b56  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b57  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b58  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b59  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b5a  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b5b  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b5d  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b5e  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b60  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b61  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b62  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b65  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b67  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b68  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b6a  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b70  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b71  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b72  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b74  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b76  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b78  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>bb1  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>bb5  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>c6  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>c7  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>c9  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>ce  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d3  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d5  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d59  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d5c  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d5d  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d5e  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d5f  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d6  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d60  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d7  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d8  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d9  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>dc  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>ef2  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>ef7  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>ef8  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>f11  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>f14  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>f15  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>f1c  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>f6b  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>f6c  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>f6d  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>f8f  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>fae  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>fbe  - Undefined Reference
-    #<DLL>bafl{000a0000}[10003a0f].dll#<\DLL>2b  - Undefined Reference
-    #<DLL>bafl{000a0000}[10003a0f].dll#<\DLL>62  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>101  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>107  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>109  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>10a  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>10e  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>10f  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>110  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>113  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>114  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>11f  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>12  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>120  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>13  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>15  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>15f  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>161  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>163  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>18c  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>18d  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>19  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>1a  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>1bc  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>1d  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>1da  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>1dd  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>1de  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>1df  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>1e  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>1e2  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>1f6  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>202  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>24  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>244  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>245  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>246  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>247  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>248  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>27  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>27e  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>27f  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>28  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>29  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>298  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>29e  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>29f  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>2a  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>2a4  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>2a5  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>30  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>32  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>33  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>38  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>39  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>3d  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>3e  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>40  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>43  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>64  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>65  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>7f  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>80  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>9  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>b  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>b6  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>c  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>c4  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>c5  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>c7  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>cb  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>d  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>d2  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>d3  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>d4  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>dc  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>f  - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>14     - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>17     - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>18     - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>29     - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>8      - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>c      - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>93     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>9e     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>9f     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>b4     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>b6     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>b7     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>b8     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>bd     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>cc     - Undefined Reference
-    #<DLL>egul{000a0000}[100048a2].dll#<\DLL>5e  - Undefined Reference
-    #<DLL>egul{000a0000}[100048a2].dll#<\DLL>5f  - Undefined Reference
-    #<DLL>eikcoctl{000a0000}[1000489e].dll#<\DLL>23  - Undefined Reference
-    #<DLL>eikcoctl{000a0000}[1000489e].dll#<\DLL>25d  - Undefined Reference
-    #<DLL>eikcoctl{000a0000}[1000489e].dll#<\DLL>25e  - Undefined Reference
-    #<DLL>eikcoctl{000a0000}[1000489e].dll#<\DLL>294  - Undefined Reference
-    #<DLL>eikcoctl{000a0000}[1000489e].dll#<\DLL>2e  - Undefined Reference
-    #<DLL>eikcoctl{000a0000}[1000489e].dll#<\DLL>36b  - Undefined Reference
-    #<DLL>eikcoctl{000a0000}[1000489e].dll#<\DLL>370  - Undefined Reference
-    #<DLL>eikcoctl{000a0000}[1000489e].dll#<\DLL>371  - Undefined Reference
-    #<DLL>eikcoctl{000a0000}[1000489e].dll#<\DLL>560  - Undefined Reference
-    #<DLL>eikcoctl{000a0000}[1000489e].dll#<\DLL>596  - Undefined Reference
-    #<DLL>eikcoctl{000a0000}[1000489e].dll#<\DLL>8c  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>12  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>123  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>125  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>126  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>127  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>128  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>129  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>12a  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>12b  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>12e  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>13b  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>13d  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>13f  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>14  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>160  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>186  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>188  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>18a  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>19  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1a  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1b  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1c  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1d  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1d3  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1d8  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1d9  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1df  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1e  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1ea  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1f  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1fa  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>20b  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>214  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>215  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>216  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>217  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>218  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>219  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>235  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>25  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>3d  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>3e  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>3f  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>40  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>43  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>48  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>49  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>4a  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>4b  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>4c  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>4d  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>4e  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>4f  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>8d  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>8e  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>8f  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>90  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>93  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>98  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>9b  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>9e  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>9f  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>a9  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>ab  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>af  - Undefined Reference
-    #<DLL>eikctl{000a0000}[1000489c].dll#<\DLL>1c7  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>32  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>4  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>41  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>43  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>4b  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>c  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>f  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>101  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1d0  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1d6  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1d7  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1d8  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1dc  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1e1  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>227  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>249  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>251  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>265  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>281  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>289  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>28a  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>28c  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>28e  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>29d  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>2e  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>30  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>338  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>33d  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>33e  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>346  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>347  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>349  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>34a  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>37  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>3cd  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>401  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>448  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>45c  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>45f  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>494  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>508  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>51  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>550  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>5e3  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>5e6  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>611  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>636  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>639  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>670  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>719  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>7cb  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>7cd  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>7cf  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>80c  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>80d  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>822  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>848  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>84b  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>84d  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>853  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>cb  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>cc  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>cd  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>cf  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>d0  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>f5  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>fa  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>fe  - Undefined Reference
-    #<DLL>fbscli{000a0000}[10003a15].dll#<\DLL>1a  - Undefined Reference
-    #<DLL>fbscli{000a0000}[10003a15].dll#<\DLL>1f  - Undefined Reference
-    #<DLL>gdi{000a0000}[10003b15].dll#<\DLL>136  - Undefined Reference
-    #<DLL>gdi{000a0000}[10003b15].dll#<\DLL>137  - Undefined Reference
-    #<DLL>gdi{000a0000}[10003b15].dll#<\DLL>138  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>130  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>132  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>15  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>17  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>1c  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>98  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>b4  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>b5  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>cd  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>cf  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>d6  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>df  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>e1  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>e2  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>11  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>13  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>14  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>16  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>17  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>18  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>19  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>1a  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>1b  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>1c  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>1d  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>1e  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>1f  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>20  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>21  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>22  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>26  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>27  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>28  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>29  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>2a  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>2b  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>2c  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>2d  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>2e  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>2f  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>30  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>32  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>33  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>35  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>36  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>c  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>1  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>10  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>11  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>14  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>1c  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>1d  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>1e  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>2  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>21  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>4  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>5  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>7  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>a  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>b  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>c  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>d  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>e  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>f  - Undefined Reference
-    #<DLL>scppnwdl{000a0000}.dll#<\DLL>3      - Undefined Reference
-    typeinfo for CCoeControl                  - Undefined Reference
-    typeinfo for CAknDocument                 - Undefined Reference
-    typeinfo for CAknAppServer                - Undefined Reference
-    typeinfo for CAknViewAppUi                - Undefined Reference
-    typeinfo for CArrayFixBase                - Undefined Reference
-    typeinfo for CEikApplication              - Undefined Reference
-    typeinfo for XLeaveException              - Undefined Reference
-    typeinfo for CMnMapViewServiceBase        - Undefined Reference
-    typeinfo for CMnNavigationServiceBase     - Undefined Reference
-    typeinfo for CBase                        - Undefined Reference
-    typeinfo for CAknView                     - Undefined Reference
-    vtable for CAknViewAppUi                  - Undefined Reference
-    vtable for __cxxabiv1::__class_type_info  - Undefined Reference
-    vtable for __cxxabiv1::__si_class_type_info  - Undefined Reference
-    vtable for __cxxabiv1::__vmi_class_type_info  - Undefined Reference
-    _fp_init                                  - Undefined Weak Reference
-    Image$$ER_RO$$Base                       0x00008000   Number         0  anon$$obj.o(linker$$defined$$symbols)
-    _E32Startup                              0x00008000   ARM Code     112  uc_exe_.o(.emb_text)
-    Symbian$$CPP$$Exception$$Descriptor      0x0000805c   Data           0  uc_exe_.o(.emb_text)
-    __cpp_initialize__aeabi_                 0x00008070   ARM Code      72  ucppinit_aeabi.o(.emb_text)
-    std::nothrow                             0x000080b8   ARM Code       0  ucppinit_aeabi.o(.emb_text)
-    Inline ARM to Thumb Veneer to _xxxx_call_user_invariant 0x000080b8   ARM Code       0  uc_exe_.o(.text)
-    _xxxx_call_user_invariant                0x000080c1   Thumb Code     8  uc_exe_.o(.text)
-    _xxxx_call_user_handle_exception         0x000080c9   Thumb Code     8  uc_exe_.o(.text)
-    E32Main()                                0x000080ef   Thumb Code    22  mnrefprovider.in(.text)
-    CMnrpApplication::AppDllUid() const      0x0000810d   Thumb Code     6  mnrefprovider.in(.text)
-    CMnrpApplication::CreateDocumentL()      0x00008113   Thumb Code     8  mnrefprovider.in(.text)
-    CMnrpApplication::NewAppServerL(CApaAppServer*&) 0x0000811b   Thumb Code    22  mnrefprovider.in(.text)
-    CleanupIconArray(void*)                  0x00008139   Thumb Code    50  mnrefprovider.in(.text)
-    AddIconL(CArrayPtr<CGulIcon>&, const TDesC16&, int, int) 0x0000816b   Thumb Code    64  mnrefprovider.in(.text)
-    CreateIconListLC(int)                    0x000081ab   Thumb Code    52  mnrefprovider.in(.text)
-    AddLandmarkL(const CPosLandmark&, CDesC16Array&, CArrayPtr<CGulIcon>&) 0x000081df   Thumb Code   130  mnrefprovider.in(.text)
-    CMnrpAppUi::CMnrpAppUi(CMnrpEngine&)     0x00008261   Thumb Code    42  mnrefprovider.in(.text)
-    CMnrpAppUi::CMnrpAppUi__sub_object(CMnrpEngine&) 0x00008261   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpAppUi::ConstructL()                 0x0000828b   Thumb Code    74  mnrefprovider.in(.text)
-    CMnrpAppUi::~CMnrpAppUi()                0x000082d5   Thumb Code    54  mnrefprovider.in(.text)
-    CMnrpAppUi::~CMnrpAppUi__sub_object()    0x000082d5   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpAppUi::~CMnrpAppUi__deallocating()  0x0000830b   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpAppUi::IsChainedMode()              0x0000831b   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpAppUi::ShowMapL(CMnrpMapViewService&) 0x0000832b   Thumb Code    64  mnrefprovider.in(.text)
-    CMnrpAppUi::SelectFromDialogL(CMnrpMapViewService&, MMapSelectionCallback&) 0x0000836b   Thumb Code   526  mnrefprovider.in(.text)
-    CMnrpAppUi::SetNaviPaneTitleL(const TDesC16&) 0x00008579   Thumb Code   100  mnrefprovider.in(.text)
-    CMnrpAppUi::StartSelectionL(CMnrpMapViewService&, MMapSelectionCallback&) 0x000085dd   Thumb Code   104  mnrefprovider.in(.text)
-    CMnrpAppUi::StopSelection()              0x00008645   Thumb Code    68  mnrefprovider.in(.text)
-    CMnrpAppUi::ShowNavigationL(const CPosLandmark&) 0x00008689   Thumb Code    64  mnrefprovider.in(.text)
-    CMnrpAppUi::IsAnyUserViewActive()        0x000086c9   Thumb Code    38  mnrefprovider.in(.text)
-    CMnrpAppUi::SetRightSoftkeyCommandL(int, const TDesC16&) 0x000086ef   Thumb Code    44  mnrefprovider.in(.text)
-    CMnrpAppUi::HandleCommandL(int)          0x0000871b   Thumb Code    62  mnrefprovider.in(.text)
-    CMnrpAppUi::HandleResourceChangeL(int)   0x00008759   Thumb Code    80  mnrefprovider.in(.text)
-    CMnrpAppUi::ProcessCommandParametersL(CApaCommandLine&) 0x000087a9   Thumb Code    26  mnrefprovider.in(.text)
-    CMnrpDocument::ConstructL()              0x000087d1   Thumb Code    12  mnrefprovider.in(.text)
-    CMnrpDocument::CMnrpDocument(CEikApplication&) 0x000087dd   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpDocument::CMnrpDocument__sub_object(CEikApplication&) 0x000087dd   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpDocument::NewL(CEikApplication&)    0x000087ed   Thumb Code    36  mnrefprovider.in(.text)
-    CMnrpDocument::~CMnrpDocument()          0x00008811   Thumb Code    32  mnrefprovider.in(.text)
-    CMnrpDocument::~CMnrpDocument__sub_object() 0x00008811   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpDocument::~CMnrpDocument__deallocating() 0x00008831   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpDocument::Engine()                  0x00008841   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpDocument::CreateAppUiL()            0x00008845   Thumb Code    18  mnrefprovider.in(.text)
-    CMnrpAppServer::~CMnrpAppServer()        0x0000885d   Thumb Code     8  mnrefprovider.in(.text)
-    CMnrpAppServer::~CMnrpAppServer__sub_object() 0x0000885d   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpAppServer::~CMnrpAppServer__deallocating() 0x00008865   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpAppServer::AppUi()                  0x00008875   Thumb Code    10  mnrefprovider.in(.text)
-    CMnrpAppServer::CreateNavigationServiceL() const 0x0000887f   Thumb Code     8  mnrefprovider.in(.text)
-    CMnrpAppServer::CreateMapViewServiceL() const 0x00008887   Thumb Code     8  mnrefprovider.in(.text)
-    CMnrpAppServer::CreateServiceL(TUid) const 0x0000888f   Thumb Code    30  mnrefprovider.in(.text)
-    CMnrpAppServer::HandleAllClientsClosed() 0x000088ad   Thumb Code    42  mnrefprovider.in(.text)
-    CMnrpAppView::ConstructL()               0x000088dd   Thumb Code    10  mnrefprovider.in(.text)
-    CMnrpAppView::CMnrpAppView()             0x000088e7   Thumb Code    24  mnrefprovider.in(.text)
-    CMnrpAppView::CMnrpAppView__sub_object() 0x000088e7   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpAppView::NewL()                     0x000088ff   Thumb Code    32  mnrefprovider.in(.text)
-    CMnrpAppView::~CMnrpAppView()            0x0000891f   Thumb Code    40  mnrefprovider.in(.text)
-    CMnrpAppView::~CMnrpAppView__sub_object() 0x0000891f   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpAppView::~CMnrpAppView__deallocating() 0x00008947   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpAppView::Id() const                 0x00008957   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpAppView::DoActivateL(const TVwsViewId&, TUid, const TDesC8&) 0x0000895b   Thumb Code    78  mnrefprovider.in(.text)
-    CMnrpAppView::DoDeactivate()             0x000089a9   Thumb Code    32  mnrefprovider.in(.text)
-    CMnrpAppControl::ConstructL(const TRect&) 0x000089d1   Thumb Code    28  mnrefprovider.in(.text)
-    CMnrpAppControl::CMnrpAppControl(CMnrpAppView&) 0x000089ed   Thumb Code    20  mnrefprovider.in(.text)
-    CMnrpAppControl::CMnrpAppControl__sub_object(CMnrpAppView&) 0x000089ed   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpAppControl::NewL(CMnrpAppView&, const TRect&) 0x00008a01   Thumb Code    40  mnrefprovider.in(.text)
-    CMnrpAppControl::~CMnrpAppControl()      0x00008a29   Thumb Code     8  mnrefprovider.in(.text)
-    CMnrpAppControl::~CMnrpAppControl__sub_object() 0x00008a29   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpAppControl::~CMnrpAppControl__deallocating() 0x00008a31   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpAppControl::CountComponentControls() const 0x00008a41   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpAppControl::ComponentControl(int) const 0x00008a45   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpAppControl::HandleResourceChange(int) 0x00008a49   Thumb Code    34  mnrefprovider.in(.text)
-    CMnrpAppControl::Draw(const TRect&) const 0x00008a6b   Thumb Code    32  mnrefprovider.in(.text)
-    CMnrpMapView::ConstructL(int)            0x00008a95   Thumb Code    22  mnrefprovider.in(.text)
-    CMnrpMapView::CMnrpMapView(CMnrpEngine&) 0x00008aab   Thumb Code    28  mnrefprovider.in(.text)
-    CMnrpMapView::CMnrpMapView__sub_object(CMnrpEngine&) 0x00008aab   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpMapView::NewL(int, CMnrpEngine&)    0x00008ac7   Thumb Code    40  mnrefprovider.in(.text)
-    CMnrpMapView::HandleUserSelectionL(int)  0x00008aef   Thumb Code    56  mnrefprovider.in(.text)
-    CMnrpMapView::~CMnrpMapView()            0x00008b27   Thumb Code    86  mnrefprovider.in(.text)
-    CMnrpMapView::~CMnrpMapView__sub_object() 0x00008b27   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpMapView::~CMnrpMapView__deallocating() 0x00008b7d   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpMapView::SetMapModeL(CMnrpMapViewService&) 0x00008b8d   Thumb Code     8  mnrefprovider.in(.text)
-    CMnrpMapView::SetSelectionModeL(CMnrpMapViewService&, MMapSelectionCallback&) 0x00008b95   Thumb Code    18  mnrefprovider.in(.text)
-    CMnrpMapView::StopSelection()            0x00008ba7   Thumb Code     8  mnrefprovider.in(.text)
-    CMnrpMapView::Id() const                 0x00008baf   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpMapView::HandleCommandL(int)        0x00008bb3   Thumb Code    84  mnrefprovider.in(.text)
-    CMnrpMapView::DoActivateL(const TVwsViewId&, TUid, const TDesC8&) 0x00008c07   Thumb Code   144  mnrefprovider.in(.text)
-    CMnrpMapView::DoDeactivate()             0x00008c97   Thumb Code    32  mnrefprovider.in(.text)
-    CMnrpMapView::DynInitMenuPaneL(int, CEikMenuPane*) 0x00008cb7   Thumb Code    40  mnrefprovider.in(.text)
-    thunk{-12} to CMnrpMapView::DynInitMenuPaneL(int, CEikMenuPane*) 0x00008cdf   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpMapControl::CreateScreenBufferL(const TSize&) 0x00008cf9   Thumb Code    70  mnrefprovider.in(.text)
-    CMnrpMapControl::CreateFonts()           0x00008d3f   Thumb Code    62  mnrefprovider.in(.text)
-    CMnrpMapControl::ConstructL(const TRect&, CMnrpEngine&) 0x00008d7d   Thumb Code   134  mnrefprovider.in(.text)
-    CMnrpMapControl::CMnrpMapControl(CMnrpMapView&) 0x00008e03   Thumb Code    46  mnrefprovider.in(.text)
-    CMnrpMapControl::CMnrpMapControl__sub_object(CMnrpMapView&) 0x00008e03   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpMapControl::NewL(CMnrpMapView&, const TRect&, CMnrpEngine&) 0x00008e31   Thumb Code    44  mnrefprovider.in(.text)
-    CMnrpMapControl::DestroyFonts()          0x00008e5d   Thumb Code    38  mnrefprovider.in(.text)
-    CMnrpMapControl::~CMnrpMapControl()      0x00008e83   Thumb Code    54  mnrefprovider.in(.text)
-    CMnrpMapControl::~CMnrpMapControl__sub_object() 0x00008e83   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpMapControl::~CMnrpMapControl__deallocating() 0x00008eb9   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpMapControl::UpdateModelL(CMnrpMapViewService&) 0x00008ec9   Thumb Code    10  mnrefprovider.in(.text)
-    CMnrpMapControl::SetSelectionModeL(int)  0x00008ed3   Thumb Code    66  mnrefprovider.in(.text)
-    CMnrpMapControl::CurrentLocation()       0x00008f15   Thumb Code    12  mnrefprovider.in(.text)
-    CMnrpMapControl::SetFullScreen(int)      0x00008f21   Thumb Code    36  mnrefprovider.in(.text)
-    CMnrpMapControl::ToggleFullScreen()      0x00008f45   Thumb Code    12  mnrefprovider.in(.text)
-    CMnrpMapControl::DrawCursor(CWindowGc&) const 0x00008f51   Thumb Code   224  mnrefprovider.in(.text)
-    CMnrpMapControl::DrawGridText(CWindowGc&, const TRect&, const TRect&, const CFont*, CMnrpMapModel::TGrid&) const 0x00009031   Thumb Code   610  mnrefprovider.in(.text)
-    CMnrpMapControl::BorderSize() const      0x00009293   Thumb Code    44  mnrefprovider.in(.text)
-    CMnrpMapControl::Draw(const TRect&) const 0x000092bf   Thumb Code   306  mnrefprovider.in(.text)
-    CMnrpMapControl::RenderL()               0x000093f1   Thumb Code   106  mnrefprovider.in(.text)
-    CMnrpMapControl::CursorMargin()          0x0000945b   Thumb Code    30  mnrefprovider.in(.text)
-    CMnrpMapControl::MoveCursor(int, int)    0x00009479   Thumb Code   324  mnrefprovider.in(.text)
-    CMnrpMapControl::Zoom(double)            0x000095bd   Thumb Code    90  mnrefprovider.in(.text)
-    CMnrpMapControl::OfferKeyEventL(const TKeyEvent&, TEventCode) 0x00009617   Thumb Code   446  mnrefprovider.in(.text)
-    CMnrpMapControl::SizeChanged()           0x000097d5   Thumb Code   174  mnrefprovider.in(.text)
-    CMnrpMapControl::HandleResourceChange(int) 0x00009883   Thumb Code    26  mnrefprovider.in(.text)
-    CMnrpMapControl::HandleModelUpdateL()    0x0000989d   Thumb Code    80  mnrefprovider.in(.text)
-    thunk{-52} to CMnrpMapControl::HandleModelUpdateL() 0x000098ed   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpNaviView::ConstructL(int)           0x00009945   Thumb Code    20  mnrefprovider.in(.text)
-    CMnrpNaviView::CMnrpNaviView(CMnrpEngine&) 0x00009959   Thumb Code    28  mnrefprovider.in(.text)
-    CMnrpNaviView::CMnrpNaviView__sub_object(CMnrpEngine&) 0x00009959   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpNaviView::NewL(int, CMnrpEngine&)   0x00009975   Thumb Code    40  mnrefprovider.in(.text)
-    CMnrpNaviView::~CMnrpNaviView()          0x0000999d   Thumb Code    52  mnrefprovider.in(.text)
-    CMnrpNaviView::~CMnrpNaviView__sub_object() 0x0000999d   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpNaviView::~CMnrpNaviView__deallocating() 0x000099d1   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpNaviView::SetDestinationL(const CPosLandmark&) 0x000099e1   Thumb Code    46  mnrefprovider.in(.text)
-    CMnrpNaviView::Id() const                0x00009a0f   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpNaviView::HandleCommandL(int)       0x00009a13   Thumb Code    18  mnrefprovider.in(.text)
-    CMnrpNaviView::DoActivateL(const TVwsViewId&, TUid, const TDesC8&) 0x00009a25   Thumb Code    92  mnrefprovider.in(.text)
-    CMnrpNaviView::DoDeactivate()            0x00009a81   Thumb Code    32  mnrefprovider.in(.text)
-    CMnrpNaviModel::ConstructL()             0x00009aad   Thumb Code    64  mnrefprovider.in(.text)
-    CMnrpNaviModel::CMnrpNaviModel(MNaviModelObserver&, CMnrpEngine&) 0x00009aed   Thumb Code    44  mnrefprovider.in(.text)
-    CMnrpNaviModel::CMnrpNaviModel__sub_object(MNaviModelObserver&, CMnrpEngine&) 0x00009aed   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpNaviModel::NewL(MNaviModelObserver&, CMnrpEngine&) 0x00009b19   Thumb Code    40  mnrefprovider.in(.text)
-    CMnrpNaviModel::SetDestinationL(const CPosLandmark&) 0x00009b41   Thumb Code    42  mnrefprovider.in(.text)
-    CMnrpNaviModel::CListItem::NewL(const TDesC16&, const TDesC16&) 0x00009b6b   Thumb Code    48  mnrefprovider.in(.text)
-    CMnrpNaviModel::ListItemsL()             0x00009b9b   Thumb Code   630  mnrefprovider.in(.text)
-    CMnrpNaviModel::~CMnrpNaviModel()        0x00009e11   Thumb Code    56  mnrefprovider.in(.text)
-    CMnrpNaviModel::~CMnrpNaviModel__sub_object() 0x00009e11   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpNaviModel::~CMnrpNaviModel__deallocating() 0x00009e49   Thumb Code    48  mnrefprovider.in(.text)
-    CMnrpNaviModel::HandlePositionRequestCompletedL(int) 0x00009e79   Thumb Code    60  mnrefprovider.in(.text)
-    thunk{-4} to CMnrpNaviModel::HandlePositionRequestCompletedL(int) 0x00009eb5   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpNaviModel::CListItem::~CListItem()  0x00009eb9   Thumb Code    28  mnrefprovider.in(.text)
-    CMnrpNaviModel::CListItem::~CListItem__sub_object() 0x00009eb9   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpNaviModel::CListItem::~CListItem__deallocating() 0x00009ed5   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpNaviControl::CreateListBoxL()       0x00009ee9   Thumb Code    58  mnrefprovider.in(.text)
-    CMnrpNaviControl::ConstructL(const TRect&, CMnrpEngine&) 0x00009f23   Thumb Code    48  mnrefprovider.in(.text)
-    CMnrpNaviControl::CMnrpNaviControl(CMnrpNaviView&) 0x00009f53   Thumb Code    24  mnrefprovider.in(.text)
-    CMnrpNaviControl::CMnrpNaviControl__sub_object(CMnrpNaviView&) 0x00009f53   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpNaviControl::NewL(CMnrpNaviView&, const TRect&, CMnrpEngine&) 0x00009f6b   Thumb Code    44  mnrefprovider.in(.text)
-    CMnrpNaviControl::~CMnrpNaviControl()    0x00009f97   Thumb Code    48  mnrefprovider.in(.text)
-    CMnrpNaviControl::~CMnrpNaviControl__sub_object() 0x00009f97   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpNaviControl::~CMnrpNaviControl__deallocating() 0x00009fc7   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpNaviControl::UpdateModelL(CPosLandmark&) 0x00009fd7   Thumb Code    10  mnrefprovider.in(.text)
-    CMnrpNaviControl::HandleModelUpdateL()   0x00009fe1   Thumb Code   174  mnrefprovider.in(.text)
-    thunk{-52} to CMnrpNaviControl::HandleModelUpdateL() 0x0000a08f   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpNaviControl::CountComponentControls() const 0x0000a093   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpNaviControl::ComponentControl(int) const 0x0000a097   Thumb Code    12  mnrefprovider.in(.text)
-    CMnrpNaviControl::OfferKeyEventL(const TKeyEvent&, TEventCode) 0x0000a0a3   Thumb Code    54  mnrefprovider.in(.text)
-    CMnrpNaviControl::SizeChanged()          0x0000a0d9   Thumb Code    28  mnrefprovider.in(.text)
-    CMnrpNaviControl::HandleResourceChange(int) 0x0000a0f5   Thumb Code    34  mnrefprovider.in(.text)
-    CMnrpNavigationService::ConstructL()     0x0000a12d   Thumb Code     8  mnrefprovider.in(.text)
-    CMnrpNavigationService::CMnrpNavigationService() 0x0000a135   Thumb Code    12  mnrefprovider.in(.text)
-    CMnrpNavigationService::CMnrpNavigationService__sub_object() 0x0000a135   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpNavigationService::NewL()           0x0000a141   Thumb Code    32  mnrefprovider.in(.text)
-    CMnrpNavigationService::~CMnrpNavigationService() 0x0000a161   Thumb Code     8  mnrefprovider.in(.text)
-    CMnrpNavigationService::~CMnrpNavigationService__sub_object() 0x0000a161   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpNavigationService::~CMnrpNavigationService__deallocating() 0x0000a169   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpNavigationService::HandleNavigateToL(const CPosLandmark&) 0x0000a179   Thumb Code    18  mnrefprovider.in(.text)
-    CMnrpNavigationService::DoCancel()       0x0000a18b   Thumb Code     2  mnrefprovider.in(.text)
-    CMnrpMapViewService::ConstructL()        0x0000a191   Thumb Code     8  mnrefprovider.in(.text)
-    CMnrpMapViewService::CMnrpMapViewService() 0x0000a199   Thumb Code    20  mnrefprovider.in(.text)
-    CMnrpMapViewService::CMnrpMapViewService__sub_object() 0x0000a199   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpMapViewService::NewL()              0x0000a1ad   Thumb Code    32  mnrefprovider.in(.text)
-    CMnrpMapViewService::AppUi()             0x0000a1cd   Thumb Code    18  mnrefprovider.in(.text)
-    CMnrpMapViewService::StopSelection()     0x0000a1df   Thumb Code    24  mnrefprovider.in(.text)
-    CMnrpMapViewService::DoCancel()          0x0000a1f7   Thumb Code    18  mnrefprovider.in(.text)
-    CMnrpMapViewService::~CMnrpMapViewService() 0x0000a209   Thumb Code    48  mnrefprovider.in(.text)
-    CMnrpMapViewService::~CMnrpMapViewService__sub_object() 0x0000a209   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpMapViewService::~CMnrpMapViewService__deallocating() 0x0000a239   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpMapViewService::HandleShowMapL()    0x0000a249   Thumb Code    44  mnrefprovider.in(.text)
-    CMnrpMapViewService::HandleShowCurrentLocationL() 0x0000a275   Thumb Code    12  mnrefprovider.in(.text)
-    CMnrpMapViewService::HandleSelectFromMapL() 0x0000a281   Thumb Code    54  mnrefprovider.in(.text)
-    CMnrpMapViewService::CompleteSelectionL(const TCoordinate&) 0x0000a2b7   Thumb Code    42  mnrefprovider.in(.text)
-    CMnrpMapViewService::HandleSelectionL(const TCoordinate&) 0x0000a2e1   Thumb Code    88  mnrefprovider.in(.text)
-    thunk{-212} to CMnrpMapViewService::HandleSelectionL(const TCoordinate&) 0x0000a339   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpMapViewService::HandleSelectionL(int) 0x0000a33d   Thumb Code    24  mnrefprovider.in(.text)
-    thunk{-212} to CMnrpMapViewService::HandleSelectionL(int) 0x0000a355   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpMapViewService::HandleSelectionL(unsigned long, int) 0x0000a359   Thumb Code    24  mnrefprovider.in(.text)
-    thunk{-212} to CMnrpMapViewService::HandleSelectionL(unsigned long, int) 0x0000a371   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpMapViewService::HandleSelectionErrorL(int) 0x0000a375   Thumb Code    16  mnrefprovider.in(.text)
-    thunk{-212} to CMnrpMapViewService::HandleSelectionErrorL(int) 0x0000a385   Thumb Code     4  mnrefprovider.in(.text)
-    Inline ARM to Thumb Veneer to RunThread  0x0000a38c   ARM Code       0  uc_exe.o(.text)
-    RunThread                                0x0000a395   Thumb Code    36  uc_exe.o(.text)
-    CallThrdProcEntry                        0x0000a3b8   ARM Code     116  callfirstprocessfn.o(.text)
-    __DLL_Export_Table__                     0x0000a430   ARM Code       4  dllexp.o(.text)
-    TPoint::operator +=(const TPoint&)       0x0000a4d8   ARM Code       0  euser{000a0000}-1025.o(StubCode)
-    CBufSeg::NewL(int)                       0x0000a4e0   ARM Code       0  euser{000a0000}-1096.o(StubCode)
-    HBufC16::Des()                           0x0000a4e8   ARM Code       0  euser{000a0000}-1116.o(StubCode)
-    HBufC16::NewLC(int)                      0x0000a4f0   ARM Code       0  euser{000a0000}-1119.o(StubCode)
-    TPtrC16::TPtrC16()                       0x0000a4f8   ARM Code       0  euser{000a0000}-1172.o(StubCode)
-    CServer2::DoCancel()                     0x0000a500   ARM Code       0  euser{000a0000}-1288.o(StubCode)
-    RArrayBase::At(int) const                0x0000a508   ARM Code       0  euser{000a0000}-1507.o(StubCode)
-    RArrayBase::Count() const                0x0000a510   ARM Code       0  euser{000a0000}-1510.o(StubCode)
-    CArrayFixBase::At(int) const             0x0000a518   ARM Code       0  euser{000a0000}-1553.o(StubCode)
-    RPointerArrayBase::At(int) const         0x0000a520   ARM Code       0  euser{000a0000}-1590.o(StubCode)
-    RPointerArrayBase::Count() const         0x0000a528   ARM Code       0  euser{000a0000}-1593.o(StubCode)
-    TRect::Size() const                      0x0000a530   ARM Code       0  euser{000a0000}-1648.o(StubCode)
-    TDesC16::AllocL() const                  0x0000a538   ARM Code       0  euser{000a0000}-1817.o(StubCode)
-    CPolicyServer::CustomFailureActionL(const RMessage2&, int, const TSecurityInfo&) 0x0000a540   ARM Code       0  euser{000a0000}-1995.o(StubCode)
-    CPolicyServer::RunL()                    0x0000a548   ARM Code       0  euser{000a0000}-1997.o(StubCode)
-    CPolicyServer::RunError(int)             0x0000a550   ARM Code       0  euser{000a0000}-1999.o(StubCode)
-    CleanupStack::PopAndDestroy()            0x0000a558   ARM Code       0  euser{000a0000}-203.o(StubCode)
-    CleanupStack::Pop(int)                   0x0000a560   ARM Code       0  euser{000a0000}-204.o(StubCode)
-    CleanupStack::Pop()                      0x0000a568   ARM Code       0  euser{000a0000}-205.o(StubCode)
-    User::MarkCleanupStack()                 0x0000a570   ARM Code       0  euser{000a0000}-2060.o(StubCode)
-    User::UnMarkCleanupStack(TTrapHandler*)  0x0000a578   ARM Code       0  euser{000a0000}-2061.o(StubCode)
-    CleanupStack::PushL(TCleanupItem)        0x0000a580   ARM Code       0  euser{000a0000}-207.o(StubCode)
-    CleanupStack::PushL(CBase*)              0x0000a588   ARM Code       0  euser{000a0000}-208.o(StubCode)
-    XLeaveException::GetReason() const       0x0000a590   ARM Code       0  euser{000a0000}-2082.o(StubCode)
-    CPolicyServer::Extension_(unsigned, void*&, void*) 0x0000a598   ARM Code       0  euser{000a0000}-2120.o(StubCode)
-    CBase::Extension_(unsigned, void*&, void*) 0x0000a5a0   ARM Code       0  euser{000a0000}-2123.o(StubCode)
-    CBase::~CBase()                          0x0000a5a8   ARM Code       0  euser{000a0000}-2125.o(StubCode)
-    CSession2::Extension_(unsigned, void*&, void*) 0x0000a5b0   ARM Code       0  euser{000a0000}-2131.o(StubCode)
-    CArrayFixBase::Reset()                   0x0000a5b8   ARM Code       0  euser{000a0000}-245.o(StubCode)
-    CArrayFixBase::InsertL(int, const void*) 0x0000a5c0   ARM Code       0  euser{000a0000}-250.o(StubCode)
-    CArrayFixBase::CArrayFixBase(CBufBase*(*)(int), int, int) 0x0000a5c8   ARM Code       0  euser{000a0000}-254.o(StubCode)
-    CArrayFixBase::~CArrayFixBase()          0x0000a5d0   ARM Code       0  euser{000a0000}-257.o(StubCode)
-    RArrayBase::Close()                      0x0000a5d8   ARM Code       0  euser{000a0000}-46.o(StubCode)
-    RPointerArrayBase::GetElementPtr(const CBase*, int) 0x0000a5e0   ARM Code       0  euser{000a0000}-464.o(StubCode)
-    RPointerArrayBase::Close()               0x0000a5e8   ARM Code       0  euser{000a0000}-470.o(StubCode)
-    RPointerArrayBase::Reset()               0x0000a5f0   ARM Code       0  euser{000a0000}-471.o(StubCode)
-    RPointerArrayBase::Append(const void*)   0x0000a5f8   ARM Code       0  euser{000a0000}-472.o(StubCode)
-    RPointerArrayBase::GetCount(const CBase*) 0x0000a600   ARM Code       0  euser{000a0000}-476.o(StubCode)
-    RArrayBase::Append(const void*)          0x0000a608   ARM Code       0  euser{000a0000}-48.o(StubCode)
-    RPointerArrayBase::RPointerArrayBase()   0x0000a610   ARM Code       0  euser{000a0000}-481.o(StubCode)
-    RArrayBase::RArrayBase(int)              0x0000a618   ARM Code       0  euser{000a0000}-55.o(StubCode)
-    Math::IsNaN(const double&)               0x0000a620   ARM Code       0  euser{000a0000}-551.o(StubCode)
-    User::LeaveIfError(int)                  0x0000a628   ARM Code       0  euser{000a0000}-593.o(StubCode)
-    User::HandleException(void*)             0x0000a630   ARM Code       0  euser{000a0000}-613.o(StubCode)
-    User::Leave(int)                         0x0000a638   ARM Code       0  euser{000a0000}-649.o(StubCode)
-    User::AllocZ(int)                        0x0000a640   ARM Code       0  euser{000a0000}-652.o(StubCode)
-    User::AllocZL(int)                       0x0000a648   ARM Code       0  euser{000a0000}-654.o(StubCode)
-    User::Invariant()                        0x0000a650   ARM Code       0  euser{000a0000}-669.o(StubCode)
-    TBufBase16::TBufBase16(int)              0x0000a658   ARM Code       0  euser{000a0000}-81.o(StubCode)
-    TRect::Grow(int, int)                    0x0000a660   ARM Code       0  euser{000a0000}-824.o(StubCode)
-    TRect::Shrink(const TSize&)              0x0000a668   ARM Code       0  euser{000a0000}-829.o(StubCode)
-    TRect::Shrink(int, int)                  0x0000a670   ARM Code       0  euser{000a0000}-830.o(StubCode)
-    TRect::TRect(const TSize&)               0x0000a678   ARM Code       0  euser{000a0000}-838.o(StubCode)
-    TRect::TRect(const TPoint&, const TSize&) 0x0000a680   ARM Code       0  euser{000a0000}-839.o(StubCode)
-    TRect::TRect(int, int, int, int)         0x0000a688   ARM Code       0  euser{000a0000}-841.o(StubCode)
-    TRect::TRect()                           0x0000a690   ARM Code       0  euser{000a0000}-842.o(StubCode)
-    TDes16::Format(TRefByValue<const TDesC16>, ...) 0x0000a698   ARM Code       0  euser{000a0000}-973.o(StubCode)
-    CApaDocument::Capability() const         0x0000a6a0   ARM Code       0  apparc{000a0000}-121.o(StubCode)
-    CApaApplication::AppFullName() const     0x0000a6a8   ARM Code       0  apparc{000a0000}-132.o(StubCode)
-    TApaApplicationFactory::TApaApplicationFactory(CApaApplication*(*)()) 0x0000a6b0   ARM Code       0  apparc{000a0000}-171.o(StubCode)
-    CApaAppServer::NotifyServerExit(int)     0x0000a6b8   ARM Code       0  apparc{000a0000}-191.o(StubCode)
-    CApaAppServer::CustomSecurityCheckL(const RMessage2&, int&, TSecurityInfo&) 0x0000a6c0   ARM Code       0  apparc{000a0000}-192.o(StubCode)
-    CApaAppServer::CApaAppServer()           0x0000a6c8   ARM Code       0  apparc{000a0000}-194.o(StubCode)
-    CApaAppServiceBase::SecurityCheckL(const RMessage2&, int&, TSecurityInfo&) 0x0000a6d0   ARM Code       0  apparc{000a0000}-202.o(StubCode)
-    CApaAppServer::NewSessionL(const TVersion&, const RMessage2&) const 0x0000a6d8   ARM Code       0  apparc{000a0000}-222.o(StubCode)
-    CApaAppServiceBase::ExtensionInterface(TUid, void*&) 0x0000a6e0   ARM Code       0  apparc{000a0000}-232.o(StubCode)
-    CApaCommandLine::ParentWindowGroupID() const 0x0000a6e8   ARM Code       0  apparc{000a0000}-253.o(StubCode)
-    CApaAppServer::CApaAppServer_Reserved1() 0x0000a6f0   ARM Code       0  apparc{000a0000}-273.o(StubCode)
-    CApaAppServer::CApaAppServer_Reserved2() 0x0000a6f8   ARM Code       0  apparc{000a0000}-274.o(StubCode)
-    CApaAppServer::DoConnect(const RMessage2&) 0x0000a700   ARM Code       0  apparc{000a0000}-275.o(StubCode)
-    CApaApplication::CApaApplication_Reserved1() 0x0000a708   ARM Code       0  apparc{000a0000}-279.o(StubCode)
-    CApaApplication::CApaApplication_Reserved2() 0x0000a710   ARM Code       0  apparc{000a0000}-280.o(StubCode)
-    CApaAppServiceBase::Disconnect(const RMessage2&) 0x0000a718   ARM Code       0  apparc{000a0000}-284.o(StubCode)
-    CApaAppServiceBase::CountResources()     0x0000a720   ARM Code       0  apparc{000a0000}-285.o(StubCode)
-    CApaAppServiceBase::CApaAppServiceBase_Reserved1() 0x0000a728   ARM Code       0  apparc{000a0000}-286.o(StubCode)
-    CApaAppServiceBase::CApaAppServiceBase_Reserved2() 0x0000a730   ARM Code       0  apparc{000a0000}-287.o(StubCode)
-    CApaDocument::GlassPictureL()            0x0000a738   ARM Code       0  apparc{000a0000}-30.o(StubCode)
-    CDesC16Array::AppendL(const TDesC16&)    0x0000a740   ARM Code       0  bafl{000a0000}-43.o(StubCode)
-    CDesC16ArraySeg::CDesC16ArraySeg(int)    0x0000a748   ARM Code       0  bafl{000a0000}-98.o(StubCode)
-    MCoeMessageObserver::MCoeMessageObserver_Reserved_1() 0x0000a750   ARM Code       0  cone{000a0000}-100.o(StubCode)
-    MCoeMessageObserver::MCoeMessageObserver_Reserved_2() 0x0000a758   ARM Code       0  cone{000a0000}-101.o(StubCode)
-    CCoeControl::MakeVisible(int)            0x0000a760   ARM Code       0  cone{000a0000}-11.o(StubCode)
-    CCoeControl::MinimumSize()               0x0000a768   ARM Code       0  cone{000a0000}-12.o(StubCode)
-    MCoeViewDeactivationObserver::MCoeViewDeactivationObserver_Reserved_1() 0x0000a770   ARM Code       0  cone{000a0000}-127.o(StubCode)
-    MCoeViewDeactivationObserver::MCoeViewDeactivationObserver_Reserved_2() 0x0000a778   ARM Code       0  cone{000a0000}-128.o(StubCode)
-    CCoeControl::SetAdjacent(int)            0x0000a780   ARM Code       0  cone{000a0000}-13.o(StubCode)
-    CCoeControl::SetNeighbor(CCoeControl*)   0x0000a788   ARM Code       0  cone{000a0000}-15.o(StubCode)
-    CCoeControl::SizeChanged()               0x0000a790   ARM Code       0  cone{000a0000}-18.o(StubCode)
-    CCoeEnv::Static()                        0x0000a798   ARM Code       0  cone{000a0000}-182.o(StubCode)
-    CCoeControl::FocusChanged(TDrawNow)      0x0000a7a0   ARM Code       0  cone{000a0000}-19.o(StubCode)
-    MCoeView::ViewConstructL()               0x0000a7a8   ARM Code       0  cone{000a0000}-196.o(StubCode)
-    MCoeView::PrepareForViewActivation()     0x0000a7b0   ARM Code       0  cone{000a0000}-197.o(StubCode)
-    MCoeView::ViewScreenModeCompatible(int)  0x0000a7b8   ARM Code       0  cone{000a0000}-199.o(StubCode)
-    CCoeAppUi::AddToStackL(const MCoeView&, CCoeControl*, int, int) 0x0000a7c0   ARM Code       0  cone{000a0000}-203.o(StubCode)
-    CCoeControl::SetMopParent(MObjectProvider*) 0x0000a7c8   ARM Code       0  cone{000a0000}-21.o(StubCode)
-    CCoeAppUi::HandleKeyEventL(const TKeyEvent&, TEventCode) 0x0000a7d0   ARM Code       0  cone{000a0000}-210.o(StubCode)
-    CCoeAppUi::RemoveFromStack(CCoeControl*) 0x0000a7d8   ARM Code       0  cone{000a0000}-211.o(StubCode)
-    CCoeAppUi::SetAndDrawFocus(int)          0x0000a7e0   ARM Code       0  cone{000a0000}-212.o(StubCode)
-    CCoeAppUi::HandleSwitchOnEventL(CCoeControl*) 0x0000a7e8   ARM Code       0  cone{000a0000}-220.o(StubCode)
-    CCoeControl::CreateWindowL()             0x0000a7f0   ARM Code       0  cone{000a0000}-25.o(StubCode)
-    CCoeControl::DrawDeferred() const        0x0000a7f8   ARM Code       0  cone{000a0000}-257.o(StubCode)
-    CCoeControl::OfferKeyEventL(const TKeyEvent&, TEventCode) 0x0000a800   ARM Code       0  cone{000a0000}-26.o(StubCode)
-    CCoeControl::GetHelpContext(TCoeHelpContext&) const 0x0000a808   ARM Code       0  cone{000a0000}-263.o(StubCode)
-    CCoeControl::ComponentControl(int) const 0x0000a810   ARM Code       0  cone{000a0000}-265.o(StubCode)
-    CCoeControl::GetColorUseListL(CArrayFix<TCoeColorUse>&) const 0x0000a818   ARM Code       0  cone{000a0000}-266.o(StubCode)
-    CCoeControl::InputCapabilities() const   0x0000a820   ARM Code       0  cone{000a0000}-270.o(StubCode)
-    CCoeControl::WriteInternalStateL(RWriteStream&) const 0x0000a828   ARM Code       0  cone{000a0000}-271.o(StubCode)
-    CCoeControl::CountComponentControls() const 0x0000a830   ARM Code       0  cone{000a0000}-272.o(StubCode)
-    CCoeControl::Draw(const TRect&) const    0x0000a838   ARM Code       0  cone{000a0000}-275.o(StubCode)
-    CCoeControl::Rect() const                0x0000a840   ARM Code       0  cone{000a0000}-276.o(StubCode)
-    CCoeControl::SystemGc() const            0x0000a848   ARM Code       0  cone{000a0000}-287.o(StubCode)
-    CCoeControl::HasBorder() const           0x0000a850   ARM Code       0  cone{000a0000}-288.o(StubCode)
-    CCoeControl::MopSupplyObject(TTypeUid)   0x0000a858   ARM Code       0  cone{000a0000}-29.o(StubCode)
-    CCoeControl::PositionChanged()           0x0000a860   ARM Code       0  cone{000a0000}-30.o(StubCode)
-    CCoeAppUi::HelpContextL() const          0x0000a868   ARM Code       0  cone{000a0000}-351.o(StubCode)
-    CCoeAppUi::GetActiveViewId(TVwsViewId&) const 0x0000a870   ARM Code       0  cone{000a0000}-353.o(StubCode)
-    CCoeAppUi::InputCapabilities() const     0x0000a878   ARM Code       0  cone{000a0000}-355.o(StubCode)
-    CCoeControl::HandlePointerEventL(const TPointerEvent&) 0x0000a880   ARM Code       0  cone{000a0000}-36.o(StubCode)
-    CCoeControl::SetContainerWindowL(const CCoeControl&) 0x0000a888   ARM Code       0  cone{000a0000}-39.o(StubCode)
-    thunk{-4} to CCoeControl::MopSupplyObject(TTypeUid) 0x0000a890   ARM Code       0  cone{000a0000}-396.o(StubCode)
-    thunk{-4} to CCoeControl::MopNext()      0x0000a898   ARM Code       0  cone{000a0000}-397.o(StubCode)
-    CCoeControl::HandleResourceChange(int)   0x0000a8a0   ARM Code       0  cone{000a0000}-40.o(StubCode)
-    CCoeControl::PrepareForFocusGainL()      0x0000a8a8   ARM Code       0  cone{000a0000}-41.o(StubCode)
-    CCoeControl::PrepareForFocusLossL()      0x0000a8b0   ARM Code       0  cone{000a0000}-42.o(StubCode)
-    CCoeControl::SetParent(CCoeControl*)     0x0000a8b8   ARM Code       0  cone{000a0000}-444.o(StubCode)
-    CCoeControl::SetLayoutManagerL(MCoeLayoutManager*) 0x0000a8c0   ARM Code       0  cone{000a0000}-474.o(StubCode)
-    CCoeControl::GetTextDrawer(CCoeTextDrawerBase*&, const CCoeControl*, int) const 0x0000a8c8   ARM Code       0  cone{000a0000}-477.o(StubCode)
-    CCoeControl::Reserved_CCoeControl_8()    0x0000a8d0   ARM Code       0  cone{000a0000}-478.o(StubCode)
-    CCoeControl::Reserved_CCoeControl_9()    0x0000a8d8   ARM Code       0  cone{000a0000}-479.o(StubCode)
-    CCoeControl::ConstructFromResourceL(TResourceReader&) 0x0000a8e0   ARM Code       0  cone{000a0000}-48.o(StubCode)
-    CCoeControl::RequestRelayout(const CCoeControl*) 0x0000a8e8   ARM Code       0  cone{000a0000}-482.o(StubCode)
-    CCoeControl::SetExtentToWholeScreen()    0x0000a8f0   ARM Code       0  cone{000a0000}-50.o(StubCode)
-    CCoeControl::SetTextBaselineSpacing(int) 0x0000a8f8   ARM Code       0  cone{000a0000}-502.o(StubCode)
-    CCoeControl::HandlePointerBufferReadyL() 0x0000a900   ARM Code       0  cone{000a0000}-51.o(StubCode)
-    CCoeControl::TextBaselineOffset(const TSize&) const 0x0000a908   ARM Code       0  cone{000a0000}-514.o(StubCode)
-    CCoeControl::MopNext()                   0x0000a910   ARM Code       0  cone{000a0000}-56.o(StubCode)
-    CCoeControl::SetRect(const TRect&)       0x0000a918   ARM Code       0  cone{000a0000}-57.o(StubCode)
-    CCoeControl::Reserved_CCoeControl_10()   0x0000a920   ARM Code       0  cone{000a0000}-580.o(StubCode)
-    CCoeControl::Reserved_CCoeControl_11()   0x0000a928   ARM Code       0  cone{000a0000}-581.o(StubCode)
-    CCoeControl::Reserved_CCoeControl_12()   0x0000a930   ARM Code       0  cone{000a0000}-582.o(StubCode)
-    CCoeControl::Reserved_CCoeControl_13()   0x0000a938   ARM Code       0  cone{000a0000}-583.o(StubCode)
-    CCoeControl::HandleControlArrayEventL(CCoeControlArray::TEvent, const CCoeControlArray*, CCoeControl*, int) 0x0000a940   ARM Code       0  cone{000a0000}-584.o(StubCode)
-    CCoeControl::ActivateL()                 0x0000a948   ARM Code       0  cone{000a0000}-61.o(StubCode)
-    CCoeControl::SetDimmed(int)              0x0000a950   ARM Code       0  cone{000a0000}-62.o(StubCode)
-    MObjectProvider::MObjectProvider_Reserved1() 0x0000a958   ARM Code       0  cone{000a0000}-638.o(StubCode)
-    MObjectProvider::MObjectProvider_Reserved2() 0x0000a960   ARM Code       0  cone{000a0000}-639.o(StubCode)
-    CCoeControl::CCoeControl()               0x0000a968   ARM Code       0  cone{000a0000}-64.o(StubCode)
-    MCoeViewDeactivationObserver::MCoeViewDeactivationObserver__sub_object() 0x0000a970   ARM Code       0  cone{000a0000}-664.o(StubCode)
-    CCoeControl::~CCoeControl()              0x0000a978   ARM Code       0  cone{000a0000}-67.o(StubCode)
-    MCoeView::MCoeView_Reserved_2()          0x0000a980   ARM Code       0  cone{000a0000}-670.o(StubCode)
-    MCoeView::MCoeView_Reserved_3()          0x0000a988   ARM Code       0  cone{000a0000}-671.o(StubCode)
-    CCoeAppUi::FrameworkCallsRendezvous() const 0x0000a990   ARM Code       0  cone{000a0000}-676.o(StubCode)
-    CCoeAppUi::CCoeAppUi_Reserved_2()        0x0000a998   ARM Code       0  cone{000a0000}-677.o(StubCode)
-    CCoeControl::Reserved_2()                0x0000a9a0   ARM Code       0  cone{000a0000}-9.o(StubCode)
-    thunk{-20} to CEikDocument::SaveL(MSaveObserver::TSaveType) 0x0000a9a8   ARM Code       0  eikcore{000a0000}-141.o(StubCode)
-    CEikAppUi::Reserved_3()                  0x0000a9b0   ARM Code       0  eikcore{000a0000}-142.o(StubCode)
-    CEikAppUi::Reserved_4()                  0x0000a9b8   ARM Code       0  eikcore{000a0000}-143.o(StubCode)
-    CEikAppUi::CreateFileL(const TDesC16&)   0x0000a9c0   ARM Code       0  eikcore{000a0000}-144.o(StubCode)
-    CEikAppUi::SetEmphasis(CCoeControl*, int) 0x0000a9c8   ARM Code       0  eikcore{000a0000}-147.o(StubCode)
-    CEikAppUi::HandleMessageL(unsigned long, TUid, const TDesC8&) 0x0000a9d0   ARM Code       0  eikcore{000a0000}-152.o(StubCode)
-    CEikAppUi::ProcessMessageL(TUid, const TDesC8&) 0x0000a9d8   ARM Code       0  eikcore{000a0000}-155.o(StubCode)
-    CEikAppUi::HandleModelChangeL()          0x0000a9e0   ARM Code       0  eikcore{000a0000}-158.o(StubCode)
-    CEikAppUi::HandleSideBarMenuL(int, const TPoint&, int, const CEikHotKeyTable*) 0x0000a9e8   ARM Code       0  eikcore{000a0000}-159.o(StubCode)
-    CEikAppUi::ProcessCommandParametersL(TApaCommand, TBuf<(int)256>&, const TDesC8&) 0x0000a9f0   ARM Code       0  eikcore{000a0000}-169.o(StubCode)
-    CEikAppUi::ReportResourceChangedToAppL(int) 0x0000a9f8   ARM Code       0  eikcore{000a0000}-171.o(StubCode)
-    CEikAppUi::OpenFileL(const TDesC16&)     0x0000aa00   ARM Code       0  eikcore{000a0000}-175.o(StubCode)
-    CEikDocument::Reserved_2()               0x0000aa08   ARM Code       0  eikcore{000a0000}-18.o(StubCode)
-    CEikDocument::NewDocumentL()             0x0000aa10   ARM Code       0  eikcore{000a0000}-20.o(StubCode)
-    CEikDocument::UpdateTaskNameL(CApaWindowGroupName*) 0x0000aa18   ARM Code       0  eikcore{000a0000}-25.o(StubCode)
-    CEikDocument::CreateFileStoreLC(RFs&, const TDesC16&) 0x0000aa20   ARM Code       0  eikcore{000a0000}-26.o(StubCode)
-    CEikDocument::EditL(MApaEmbeddedDocObserver*, int) 0x0000aa28   ARM Code       0  eikcore{000a0000}-27.o(StubCode)
-    CEikDocument::SaveL(MSaveObserver::TSaveType) 0x0000aa30   ARM Code       0  eikcore{000a0000}-28.o(StubCode)
-    CEikDocument::SaveL()                    0x0000aa38   ARM Code       0  eikcore{000a0000}-29.o(StubCode)
-    CEikDocument::HasChanged() const         0x0000aa40   ARM Code       0  eikcore{000a0000}-291.o(StubCode)
-    CEikDocument::ExternalizeL(RWriteStream&) const 0x0000aa48   ARM Code       0  eikcore{000a0000}-293.o(StubCode)
-    CEikDocument::StoreL(CStreamStore&, CStreamDictionary&) const 0x0000aa50   ARM Code       0  eikcore{000a0000}-294.o(StubCode)
-    CEikDocument::IsEmpty() const            0x0000aa58   ARM Code       0  eikcore{000a0000}-295.o(StubCode)
-    CEikApplication::Capability(TDes8&) const 0x0000aa60   ARM Code       0  eikcore{000a0000}-296.o(StubCode)
-    CEikApplication::OpenIniFileLC(RFs&) const 0x0000aa68   ARM Code       0  eikcore{000a0000}-297.o(StubCode)
-    CEikApplication::BitmapStoreName() const 0x0000aa70   ARM Code       0  eikcore{000a0000}-298.o(StubCode)
-    CEikApplication::ResourceFileName() const 0x0000aa78   ARM Code       0  eikcore{000a0000}-299.o(StubCode)
-    CEikDocument::PrintL(const CStreamStore&) 0x0000aa80   ARM Code       0  eikcore{000a0000}-30.o(StubCode)
-    CEikApplication::GetDefaultDocumentFileName(TBuf<(int)256>&) const 0x0000aa88   ARM Code       0  eikcore{000a0000}-302.o(StubCode)
-    CEikDocument::RestoreL(const CStreamStore&, const CStreamDictionary&) 0x0000aa90   ARM Code       0  eikcore{000a0000}-31.o(StubCode)
-    CEikAppUi::ClientRect() const            0x0000aa98   ARM Code       0  eikcore{000a0000}-315.o(StubCode)
-    CEikAppUi::ValidFileType(TUid) const     0x0000aaa0   ARM Code       0  eikcore{000a0000}-317.o(StubCode)
-    CEikAppUi::Document() const              0x0000aaa8   ARM Code       0  eikcore{000a0000}-319.o(StubCode)
-    CEikonEnv::DenseFont() const             0x0000aab0   ARM Code       0  eikcore{000a0000}-352.o(StubCode)
-    CEikDocument::~CEikDocument__sub_object() 0x0000aab8   ARM Code       0  eikcore{000a0000}-37.o(StubCode)
-    thunk{-36} to CEikAppUi::HandleMessageL(unsigned long, TUid, const TDesC8&) 0x0000aac0   ARM Code       0  eikcore{000a0000}-390.o(StubCode)
-    thunk{-40} to CEikAppUi::MopNext()       0x0000aac8   ARM Code       0  eikcore{000a0000}-392.o(StubCode)
-    EikStart::RunApplication(TApaApplicationFactory) 0x0000aad0   ARM Code       0  eikcore{000a0000}-394.o(StubCode)
-    CEikAppServer::ExtensionInterface(TUid, void*&) 0x0000aad8   ARM Code       0  eikcore{000a0000}-467.o(StubCode)
-    CEikonEnv::StartedAsServerApp() const    0x0000aae0   ARM Code       0  eikcore{000a0000}-472.o(StubCode)
-    CEikonEnv::AppServer() const             0x0000aae8   ARM Code       0  eikcore{000a0000}-473.o(StubCode)
-    CEikAppUi::MopNext()                     0x0000aaf0   ARM Code       0  eikcore{000a0000}-479.o(StubCode)
-    thunk{-24} to CEikAppUi::HandleSideBarMenuL(int, const TPoint&, int, const CEikHotKeyTable*) 0x0000aaf8   ARM Code       0  eikcore{000a0000}-490.o(StubCode)
-    CEikAppUi::ProcessCommandParametersL(CApaCommandLine&) 0x0000ab00   ARM Code       0  eikcore{000a0000}-506.o(StubCode)
-    CEikAppServer::CreateServiceSecurityCheckL(TUid, const RMessage2&, int&, TSecurityInfo&) 0x0000ab08   ARM Code       0  eikcore{000a0000}-523.o(StubCode)
-    CEikApplication::CEikApplication_Reserved1() 0x0000ab10   ARM Code       0  eikcore{000a0000}-532.o(StubCode)
-    CEikApplication::CEikApplication_Reserved2() 0x0000ab18   ARM Code       0  eikcore{000a0000}-533.o(StubCode)
-    MEikMenuObserver::Reserved_2_MenuObserver() 0x0000ab20   ARM Code       0  eikcore{000a0000}-534.o(StubCode)
-    MEikMenuObserver::CreateCustomCommandControlL(int) 0x0000ab28   ARM Code       0  eikcore{000a0000}-535.o(StubCode)
-    MEikMenuObserver::MEikCommandObserver_Reserved1() 0x0000ab30   ARM Code       0  eikcore{000a0000}-536.o(StubCode)
-    MEikMenuObserver::MEikCommandObserver_Reserved2() 0x0000ab38   ARM Code       0  eikcore{000a0000}-537.o(StubCode)
-    CEikDocument::ValidatePasswordL() const  0x0000ab40   ARM Code       0  eikcore{000a0000}-565.o(StubCode)
-    CEikApplication::CreateDocumentL(CApaProcess*) 0x0000ab48   ARM Code       0  eikcore{000a0000}-61.o(StubCode)
-    CEikApplication::PreDocConstructL()      0x0000ab50   ARM Code       0  eikcore{000a0000}-62.o(StubCode)
-    thunk{-24} to CEikAppUi::SetEmphasis(CCoeControl*, int) 0x0000ab58   ARM Code       0  eikcore{000a0000}-63.o(StubCode)
-    CEikApplication::CEikApplication__sub_object() 0x0000ab60   ARM Code       0  eikcore{000a0000}-64.o(StubCode)
-    CEikApplication::~CEikApplication__sub_object() 0x0000ab68   ARM Code       0  eikcore{000a0000}-67.o(StubCode)
-    MEikMenuObserver::RestoreMenuL(CCoeControl*, int, MEikMenuObserver::TMenuType) 0x0000ab70   ARM Code       0  eikcore{000a0000}-72.o(StubCode)
-    MEikMenuObserver::OfferKeyToAppL(const TKeyEvent&, TEventCode) 0x0000ab78   ARM Code       0  eikcore{000a0000}-73.o(StubCode)
-    MEikMenuObserver::DynInitMenuBarL(int, CEikMenuBar*) 0x0000ab80   ARM Code       0  eikcore{000a0000}-74.o(StubCode)
-    MEikMenuObserver::DynInitMenuPaneL(int, CEikMenuPane*) 0x0000ab88   ARM Code       0  eikcore{000a0000}-75.o(StubCode)
-    MEikMenuObserver::HandleSideBarMenuL(int, const TPoint&, int, const CEikHotKeyTable*) 0x0000ab90   ARM Code       0  eikcore{000a0000}-76.o(StubCode)
-    MEikMenuObserver::CheckHotKeyNotDimmedL(int) 0x0000ab98   ARM Code       0  eikcore{000a0000}-77.o(StubCode)
-    MEikMenuObserver::Reserved_1_MenuObserver() 0x0000aba0   ARM Code       0  eikcore{000a0000}-78.o(StubCode)
-    MEikMenuObserver::HandleAttemptDimmedSelectionL(int) 0x0000aba8   ARM Code       0  eikcore{000a0000}-79.o(StubCode)
-    CEikStatusPaneBase::ControlL(TUid) const 0x0000abb0   ARM Code       0  eikcoctl{000a0000}-1376.o(StubCode)
-    CEikMenuPane::SetItemDimmed(int, int)    0x0000abb8   ARM Code       0  eikcoctl{000a0000}-140.o(StubCode)
-    CEikButtonGroupContainer::ReduceRect(TRect&) const 0x0000abc0   ARM Code       0  eikcoctl{000a0000}-1430.o(StubCode)
-    CEikListBox::HandleItemAdditionL()       0x0000abc8   ARM Code       0  eikcoctl{000a0000}-35.o(StubCode)
-    CEikListBox::CreateScrollBarFrameL(int)  0x0000abd0   ARM Code       0  eikcoctl{000a0000}-46.o(StubCode)
-    CTextListBoxModel::SetItemTextArray(MDesC16Array*) 0x0000abd8   ARM Code       0  eikcoctl{000a0000}-605.o(StubCode)
-    CTextListBoxModel::SetOwnershipType(TListBoxModelItemArrayOwnership) 0x0000abe0   ARM Code       0  eikcoctl{000a0000}-606.o(StubCode)
-    CEikScrollBarFrame::SetScrollBarVisibilityL(CEikScrollBarFrame::TScrollBarVisibility, CEikScrollBarFrame::TScrollBarVisibility) 0x0000abe8   ARM Code       0  eikcoctl{000a0000}-660.o(StubCode)
-    CEikButtonGroupContainer::DoSetCommandL(int, int, const TDesC16*, const CFbsBitmap*, const CFbsBitmap*, CEikButtonGroupContainer::TCommandOp) 0x0000abf0   ARM Code       0  eikcoctl{000a0000}-875.o(StubCode)
-    CEikButtonGroupContainer::SetCommandSetL(int) 0x0000abf8   ARM Code       0  eikcoctl{000a0000}-880.o(StubCode)
-    CEikButtonGroupContainer::SetBoundingRect(const TRect&) 0x0000ac00   ARM Code       0  eikcoctl{000a0000}-881.o(StubCode)
-    CEikColumnListBox::Model() const         0x0000ac08   ARM Code       0  eikctl{000a0000}-455.o(StubCode)
-    CAknAppServiceBase::CreateL()            0x0000ac10   ARM Code       0  avkon{000a0000}-1132.o(StubCode)
-    CAknDocument::OpenFileL(CFileStore*&, RFile&) 0x0000ac18   ARM Code       0  avkon{000a0000}-129.o(StubCode)
-    CAknDocument::OpenFileL(int, const TDesC16&, RFs&) 0x0000ac20   ARM Code       0  avkon{000a0000}-130.o(StubCode)
-    CAknDocument::CAknDocument__sub_object(CEikApplication&) 0x0000ac28   ARM Code       0  avkon{000a0000}-131.o(StubCode)
-    CAknInformationNote::CAknInformationNote(int) 0x0000ac30   ARM Code       0  avkon{000a0000}-1341.o(StubCode)
-    CAknAppServer::ConstructL(const TDesC16&) 0x0000ac38   ARM Code       0  avkon{000a0000}-198.o(StubCode)
-    CAknAppServer::HandleAllClientsClosed()  0x0000ac40   ARM Code       0  avkon{000a0000}-199.o(StubCode)
-    CAknResourceNoteDialog::ExecuteLD(const TDesC16&) 0x0000ac48   ARM Code       0  avkon{000a0000}-1996.o(StubCode)
-    CAknAppServer::~CAknAppServer()          0x0000ac50   ARM Code       0  avkon{000a0000}-201.o(StubCode)
-    CAknAppUiBase::MopSupplyObject(TTypeUid) 0x0000ac58   ARM Code       0  avkon{000a0000}-206.o(StubCode)
-    CAknAppUiBase::HandleResourceChangeL(int) 0x0000ac60   ARM Code       0  avkon{000a0000}-211.o(StubCode)
-    CAknAppUiBase::HandleScreenDeviceChangedL() 0x0000ac68   ARM Code       0  avkon{000a0000}-213.o(StubCode)
-    CAknAppUiBase::HandleApplicationSpecificEventL(int, const TWsEvent&) 0x0000ac70   ARM Code       0  avkon{000a0000}-214.o(StubCode)
-    CAknAppUiBase::Exit()                    0x0000ac78   ARM Code       0  avkon{000a0000}-215.o(StubCode)
-    CAknAppUiBase::SetFadedL(int)            0x0000ac80   ARM Code       0  avkon{000a0000}-216.o(StubCode)
-    CAknSelectionListDialog::SetIconArrayL(CArrayPtr<CGulIcon>*) 0x0000ac88   ARM Code       0  avkon{000a0000}-2163.o(StubCode)
-    CAknAppUiBase::CAknAppUiBase()           0x0000ac90   ARM Code       0  avkon{000a0000}-217.o(StubCode)
-    CAknSelectionListDialog::NewL(int&, MDesC16Array*, int, MEikCommandObserver*) 0x0000ac98   ARM Code       0  avkon{000a0000}-2178.o(StubCode)
-    CAknAppUiBase::~CAknAppUiBase()          0x0000aca0   ARM Code       0  avkon{000a0000}-220.o(StubCode)
-    CAknSingleHeadingStyleListBox::CAknSingleHeadingStyleListBox() 0x0000aca8   ARM Code       0  avkon{000a0000}-2591.o(StubCode)
-    CAknNavigationControlContainer::CreateNavigationLabelL(const TDesC16&) 0x0000acb0   ARM Code       0  avkon{000a0000}-2624.o(StubCode)
-    CAknNavigationControlContainer::ReplaceL(CAknNavigationDecorator&, CAknNavigationDecorator&) 0x0000acb8   ARM Code       0  avkon{000a0000}-2632.o(StubCode)
-    CAknView::SetEmphasis(CCoeControl*, int) 0x0000acc0   ARM Code       0  avkon{000a0000}-2895.o(StubCode)
-    CAknView::BaseConstructL(int)            0x0000acc8   ARM Code       0  avkon{000a0000}-2898.o(StubCode)
-    CAknView::HandleCommandL(int)            0x0000acd0   ARM Code       0  avkon{000a0000}-2899.o(StubCode)
-    CAknView::ViewActivatedL(const TVwsViewId&, TUid, const TDesC8&) 0x0000acd8   ARM Code       0  avkon{000a0000}-2900.o(StubCode)
-    CAknView::MopSupplyObject(TTypeUid)      0x0000ace0   ARM Code       0  avkon{000a0000}-2901.o(StubCode)
-    CAknView::ProcessCommandL(int)           0x0000ace8   ARM Code       0  avkon{000a0000}-2902.o(StubCode)
-    CAknView::ViewDeactivated()              0x0000acf0   ARM Code       0  avkon{000a0000}-2903.o(StubCode)
-    CAknView::AknViewActivatedL(const TVwsViewId&, TUid, const TDesC8&) 0x0000acf8   ARM Code       0  avkon{000a0000}-2904.o(StubCode)
-    CAknView::Reserved_MtsmObject()          0x0000ad00   ARM Code       0  avkon{000a0000}-2905.o(StubCode)
-    CAknView::HandleViewRectChange()         0x0000ad08   ARM Code       0  avkon{000a0000}-2906.o(StubCode)
-    CAknView::Reserved_MtsmPosition()        0x0000ad10   ARM Code       0  avkon{000a0000}-2907.o(StubCode)
-    CAknView::HandleForegroundEventL(int)    0x0000ad18   ARM Code       0  avkon{000a0000}-2909.o(StubCode)
-    CAknView::ViewScreenDeviceChangedL()     0x0000ad20   ARM Code       0  avkon{000a0000}-2910.o(StubCode)
-    CAknView::HandleStatusPaneSizeChange()   0x0000ad28   ARM Code       0  avkon{000a0000}-2912.o(StubCode)
-    CAknView::MopNext()                      0x0000ad30   ARM Code       0  avkon{000a0000}-2913.o(StubCode)
-    CAknView::CAknView__sub_object()         0x0000ad38   ARM Code       0  avkon{000a0000}-2914.o(StubCode)
-    CAknView::~CAknView__sub_object()        0x0000ad40   ARM Code       0  avkon{000a0000}-2917.o(StubCode)
-    CAknAppUi::StatusPane()                  0x0000ad48   ARM Code       0  avkon{000a0000}-2919.o(StubCode)
-    CAknAppUi::HandleError(int, const SExtendedError&, TDes16&, TDes16&) 0x0000ad50   ARM Code       0  avkon{000a0000}-2920.o(StubCode)
-    CAknAppUi::PrepareToExit()               0x0000ad58   ARM Code       0  avkon{000a0000}-2922.o(StubCode)
-    CAknAppUi::HandleSystemEventL(const TWsEvent&) 0x0000ad60   ARM Code       0  avkon{000a0000}-2928.o(StubCode)
-    CAknAppUi::Reserved_MtsmObject()         0x0000ad68   ARM Code       0  avkon{000a0000}-2929.o(StubCode)
-    CAknAppUi::Reserved_MtsmPosition()       0x0000ad70   ARM Code       0  avkon{000a0000}-2930.o(StubCode)
-    CAknAppUi::HandleViewDeactivation(const TVwsViewId&, const TVwsViewId&) 0x0000ad78   ARM Code       0  avkon{000a0000}-2932.o(StubCode)
-    CAknAppUi::HandleTouchPaneSizeChange()   0x0000ad80   ARM Code       0  avkon{000a0000}-2934.o(StubCode)
-    CAknAppUi::Cba()                         0x0000ad88   ARM Code       0  avkon{000a0000}-2936.o(StubCode)
-    CAknAppServer::CreateServiceL(TUid) const 0x0000ad90   ARM Code       0  avkon{000a0000}-2993.o(StubCode)
-    CAknAppUiBase::ApplicationRect() const   0x0000ad98   ARM Code       0  avkon{000a0000}-2997.o(StubCode)
-    CAknView::ClientRect() const             0x0000ada0   ARM Code       0  avkon{000a0000}-3417.o(StubCode)
-    CAknView::Cba() const                    0x0000ada8   ARM Code       0  avkon{000a0000}-3420.o(StubCode)
-    CAknView::AppUi() const                  0x0000adb0   ARM Code       0  avkon{000a0000}-3421.o(StubCode)
-    CAknView::Redraw() const                 0x0000adb8   ARM Code       0  avkon{000a0000}-3422.o(StubCode)
-    CAknView::ViewId() const                 0x0000adc0   ARM Code       0  avkon{000a0000}-3423.o(StubCode)
-    CAknView::MenuBar() const                0x0000adc8   ARM Code       0  avkon{000a0000}-3424.o(StubCode)
-    CAknViewAppUi::BaseConstructL(int)       0x0000add0   ARM Code       0  avkon{000a0000}-367.o(StubCode)
-    CAknViewAppUi::HandleWsEventL(const TWsEvent&, CCoeControl*) 0x0000add8   ARM Code       0  avkon{000a0000}-368.o(StubCode)
-    CAknViewAppUi::ProcessCommandL(int)      0x0000ade0   ARM Code       0  avkon{000a0000}-369.o(StubCode)
-    CAknViewAppUi::ActivateLocalViewL(TUid)  0x0000ade8   ARM Code       0  avkon{000a0000}-370.o(StubCode)
-    CAknViewAppUi::StopDisplayingMenuBar()   0x0000adf0   ARM Code       0  avkon{000a0000}-372.o(StubCode)
-    CAknViewAppUi::HandleForegroundEventL(int) 0x0000adf8   ARM Code       0  avkon{000a0000}-373.o(StubCode)
-    CAknViewAppUi::HandleStatusPaneSizeChange() 0x0000ae00   ARM Code       0  avkon{000a0000}-374.o(StubCode)
-    CAknViewAppUi::AddViewL(CAknView*)       0x0000ae08   ARM Code       0  avkon{000a0000}-375.o(StubCode)
-    CAknViewAppUi::~CAknViewAppUi()          0x0000ae10   ARM Code       0  avkon{000a0000}-377.o(StubCode)
-    thunk{-100} to CAknAppUi::HandleTouchPaneSizeChange() 0x0000ae18   ARM Code       0  avkon{000a0000}-3826.o(StubCode)
-    thunk{-12} to CAknView::SetEmphasis(CCoeControl*, int) 0x0000ae20   ARM Code       0  avkon{000a0000}-3831.o(StubCode)
-    thunk{-12} to CAknView::ProcessCommandL(int) 0x0000ae28   ARM Code       0  avkon{000a0000}-3832.o(StubCode)
-    thunk{-24} to CAknViewAppUi::ProcessCommandL(int) 0x0000ae30   ARM Code       0  avkon{000a0000}-3857.o(StubCode)
-    thunk{-24} to CAknView::MopSupplyObject(TTypeUid) 0x0000ae38   ARM Code       0  avkon{000a0000}-3860.o(StubCode)
-    thunk{-24} to CAknView::MopNext()        0x0000ae40   ARM Code       0  avkon{000a0000}-3861.o(StubCode)
-    thunk{-40} to CAknAppUiBase::MopSupplyObject(TTypeUid) 0x0000ae48   ARM Code       0  avkon{000a0000}-3868.o(StubCode)
-    thunk{-4} to CAknView::ViewActivatedL(const TVwsViewId&, TUid, const TDesC8&) 0x0000ae50   ARM Code       0  avkon{000a0000}-3947.o(StubCode)
-    thunk{-4} to CAknView::ViewDeactivated() 0x0000ae58   ARM Code       0  avkon{000a0000}-3948.o(StubCode)
-    thunk{-4} to CAknView::ViewScreenDeviceChangedL() 0x0000ae60   ARM Code       0  avkon{000a0000}-3949.o(StubCode)
-    thunk{-4} to CAknView::ViewId() const    0x0000ae68   ARM Code       0  avkon{000a0000}-3983.o(StubCode)
-    thunk{-88} to CAknViewAppUi::HandleStatusPaneSizeChange() 0x0000ae70   ARM Code       0  avkon{000a0000}-4014.o(StubCode)
-    thunk{-92} to CAknAppUi::HandleViewDeactivation(const TVwsViewId&, const TVwsViewId&) 0x0000ae78   ARM Code       0  avkon{000a0000}-4030.o(StubCode)
-    AknIconUtils::CreateIconLC(CFbsBitmap*&, CFbsBitmap*&, const TDesC16&, int, int) 0x0000ae80   ARM Code       0  AknIcon{000a0000}-13.o(StubCode)
-    CGulIcon::SetBitmapsOwnedExternally(int) 0x0000ae88   ARM Code       0  egul{000a0000}-94.o(StubCode)
-    CGulIcon::NewL(CFbsBitmap*, CFbsBitmap*) 0x0000ae90   ARM Code       0  egul{000a0000}-95.o(StubCode)
-    CFont::AscentInPixels() const            0x0000ae98   ARM Code       0  gdi{000a0000}-310.o(StubCode)
-    CFont::HeightInPixels() const            0x0000aea0   ARM Code       0  gdi{000a0000}-311.o(StubCode)
-    CFont::FontSpecInTwips() const           0x0000aea8   ARM Code       0  gdi{000a0000}-312.o(StubCode)
-    CFbsBitmap::Create(const TSize&, TDisplayMode) 0x0000aeb0   ARM Code       0  fbscli{000a0000}-26.o(StubCode)
-    CFbsBitmap::CFbsBitmap()                 0x0000aeb8   ARM Code       0  fbscli{000a0000}-31.o(StubCode)
-    CPosLandmark::NewL(const CPosLandmark&)  0x0000aec0   ARM Code       0  eposlandmarks{000a0000}-12.o(StubCode)
-    CPosLandmark::NewLC()                    0x0000aec8   ARM Code       0  eposlandmarks{000a0000}-15.o(StubCode)
-    CPosLandmark::SetPositionL(const TLocality&) 0x0000aed0   ARM Code       0  eposlandmarks{000a0000}-4.o(StubCode)
-    CPosLandmarkDatabase::OpenL(const TDesC16&) 0x0000aed8   ARM Code       0  eposlandmarks{000a0000}-50.o(StubCode)
-    CPosLandmark::GetPosition(TLocality&) const 0x0000aee0   ARM Code       0  eposlandmarks{000a0000}-65.o(StubCode)
-    CPosLandmark::GetLandmarkName(TPtrC16&) const 0x0000aee8   ARM Code       0  eposlandmarks{000a0000}-67.o(StubCode)
-    CPosLandmark::GetIcon(TPtrC16&, int&, int&) const 0x0000aef0   ARM Code       0  eposlandmarks{000a0000}-75.o(StubCode)
-    TPositionUpdateOptions::TPositionUpdateOptions() 0x0000aef8   ARM Code       0  lbs{000a0000}-152.o(StubCode)
-    TPositionUpdateOptionsBase::SetUpdateTimeOut(TTimeIntervalMicroSeconds) 0x0000af00   ARM Code       0  lbs{000a0000}-180.o(StubCode)
-    TPositionUpdateOptionsBase::SetUpdateInterval(TTimeIntervalMicroSeconds) 0x0000af08   ARM Code       0  lbs{000a0000}-181.o(StubCode)
-    TLocality::TLocality(const TCoordinate&, float) 0x0000af10   ARM Code       0  lbs{000a0000}-205.o(StubCode)
-    TLocality::TLocality()                   0x0000af18   ARM Code       0  lbs{000a0000}-207.o(StubCode)
-    TCoordinate::TCoordinate(const double&, const double&) 0x0000af20   ARM Code       0  lbs{000a0000}-21.o(StubCode)
-    TPosition::TPosition()                   0x0000af28   ARM Code       0  lbs{000a0000}-214.o(StubCode)
-    TCoordinate::Latitude() const            0x0000af30   ARM Code       0  lbs{000a0000}-223.o(StubCode)
-    TCoordinate::Longitude() const           0x0000af38   ARM Code       0  lbs{000a0000}-225.o(StubCode)
-    TPositionInfo::GetPosition(TPosition&) const 0x0000af40   ARM Code       0  lbs{000a0000}-226.o(StubCode)
-    TCoordinate::TCoordinate()               0x0000af48   ARM Code       0  lbs{000a0000}-23.o(StubCode)
-    TPositionInfo::TPositionInfo()           0x0000af50   ARM Code       0  lbs{000a0000}-28.o(StubCode)
-    TLocality::Distance(const TCoordinate&, float&) const 0x0000af58   ARM Code       0  lbs{000a0000}-304.o(StubCode)
-    TLocality::BearingTo(const TCoordinate&, float&) const 0x0000af60   ARM Code       0  lbs{000a0000}-306.o(StubCode)
-    CMnServiceBase::ServiceError(const RMessage2&, int) 0x0000af68   ARM Code       0  mnservicelib{000a0000}-1.o(StubCode)
-    CMnMapViewServiceBase::LinkedLandmarksToShow(int) 0x0000af70   ARM Code       0  mnservicelib{000a0000}-10.o(StubCode)
-    CMnMapViewServiceBase::CompleteSelectionRequest(int) 0x0000af78   ARM Code       0  mnservicelib{000a0000}-11.o(StubCode)
-    CMnMapViewServiceBase::CompleteSelectionRequest(unsigned long, int) 0x0000af80   ARM Code       0  mnservicelib{000a0000}-12.o(StubCode)
-    CMnMapViewServiceBase::LandmarksToShowDatabases() 0x0000af88   ARM Code       0  mnservicelib{000a0000}-13.o(StubCode)
-    CMnMapViewServiceBase::CompleteSelectionRequestL(const CPosLandmark&) 0x0000af90   ARM Code       0  mnservicelib{000a0000}-14.o(StubCode)
-    CMnMapViewServiceBase::Options()         0x0000af98   ARM Code       0  mnservicelib{000a0000}-15.o(StubCode)
-    CMnMapViewServiceBase::ServiceL(const RMessage2&) 0x0000afa0   ARM Code       0  mnservicelib{000a0000}-16.o(StubCode)
-    CMnMapViewServiceBase::CMnMapViewServiceBase__sub_object() 0x0000afa8   ARM Code       0  mnservicelib{000a0000}-17.o(StubCode)
-    CMnServiceBase::CompleteRequest(int)     0x0000afb0   ARM Code       0  mnservicelib{000a0000}-2.o(StubCode)
-    CMnMapViewServiceBase::~CMnMapViewServiceBase__sub_object() 0x0000afb8   ARM Code       0  mnservicelib{000a0000}-20.o(StubCode)
-    CMnNavigationServiceBase::BaseConstructL() 0x0000afc0   ARM Code       0  mnservicelib{000a0000}-28.o(StubCode)
-    CMnNavigationServiceBase::ServiceL(const RMessage2&) 0x0000afc8   ARM Code       0  mnservicelib{000a0000}-29.o(StubCode)
-    CMnNavigationServiceBase::CMnNavigationServiceBase__sub_object() 0x0000afd0   ARM Code       0  mnservicelib{000a0000}-30.o(StubCode)
-    CMnNavigationServiceBase::~CMnNavigationServiceBase__sub_object() 0x0000afd8   ARM Code       0  mnservicelib{000a0000}-33.o(StubCode)
-    CMnMapViewServiceBase::BaseConstructL()  0x0000afe0   ARM Code       0  mnservicelib{000a0000}-4.o(StubCode)
-    CMnMapViewServiceBase::LandmarksToShow() 0x0000afe8   ARM Code       0  mnservicelib{000a0000}-5.o(StubCode)
-    CMnMapViewServiceBase::SelectionRequestText() 0x0000aff0   ARM Code       0  mnservicelib{000a0000}-7.o(StubCode)
-    CMnrpEngine::NewL()                      0x0000aff8   ARM Code       0  mnrefproviderengine{000a0000}-12.o(StubCode)
-    CMnrpMapModel::UpdateModelL(CMnrpMapViewService&) 0x0000b000   ARM Code       0  mnrefproviderengine{000a0000}-17.o(StubCode)
-    CMnrpMapModel::SetScreenSize(TSize)      0x0000b008   ARM Code       0  mnrefproviderengine{000a0000}-19.o(StubCode)
-    CMnrpMapModel::NumIgnoredLandmarks()     0x0000b010   ARM Code       0  mnrefproviderengine{000a0000}-20.o(StubCode)
-    CMnrpMapModel::NewL(MMapModelObserver&, CMnrpEngine&) 0x0000b018   ARM Code       0  mnrefproviderengine{000a0000}-22.o(StubCode)
-    CMnrpMapModel::Zoom(double)              0x0000b020   ARM Code       0  mnrefproviderengine{000a0000}-23.o(StubCode)
-    CMnrpMapModel::MoveTo(TCoordinate)       0x0000b028   ARM Code       0  mnrefproviderengine{000a0000}-24.o(StubCode)
-    CMnrpMapModel::GoCenter()                0x0000b030   ARM Code       0  mnrefproviderengine{000a0000}-25.o(StubCode)
-    CMnrpPositionRequest::GetPosition(TPositionInfo&) 0x0000b038   ARM Code       0  mnrefproviderengine{000a0000}-26.o(StubCode)
-    CMnrpPositionRequest::SetOptionsL(const TPositionUpdateOptionsBase&) 0x0000b040   ARM Code       0  mnrefproviderengine{000a0000}-27.o(StubCode)
-    CMnrpPositionRequest::MagneticCourse()   0x0000b048   ARM Code       0  mnrefproviderengine{000a0000}-28.o(StubCode)
-    CMnrpPositionRequest::MagneticHeading()  0x0000b050   ARM Code       0  mnrefproviderengine{000a0000}-29.o(StubCode)
-    CMnrpPositionRequest::FetchNewPosition(int) 0x0000b058   ARM Code       0  mnrefproviderengine{000a0000}-30.o(StubCode)
-    CMnrpPositionRequest::NewL(const TDesC16&, MMnrpPositionObserver&) 0x0000b060   ARM Code       0  mnrefproviderengine{000a0000}-31.o(StubCode)
-    CMnrpPositionRequest::Speed()            0x0000b068   ARM Code       0  mnrefproviderengine{000a0000}-32.o(StubCode)
-    CMnrpPositionRequest::Course()           0x0000b070   ARM Code       0  mnrefproviderengine{000a0000}-33.o(StubCode)
-    CMnrpPositionRequest::Heading()          0x0000b078   ARM Code       0  mnrefproviderengine{000a0000}-34.o(StubCode)
-    MnrpUtils::AngleToString(double, TDes16&) 0x0000b080   ARM Code       0  mnrefproviderengine{000a0000}-38.o(StubCode)
-    MnrpUtils::SpeedToString(double, TDes16&) 0x0000b088   ARM Code       0  mnrefproviderengine{000a0000}-39.o(StubCode)
-    MnrpUtils::DistanceToString(double, TDes16&) 0x0000b090   ARM Code       0  mnrefproviderengine{000a0000}-40.o(StubCode)
-    MnrpUtils::PrintableStringLC(const TDesC16&) 0x0000b098   ARM Code       0  mnrefproviderengine{000a0000}-41.o(StubCode)
-    MnrpUtils::CoordinateToString(double, TDes16&, int, int) 0x0000b0a0   ARM Code       0  mnrefproviderengine{000a0000}-42.o(StubCode)
-    CMnrpMapModel::AbsoluteToScreen(TCoordinate) const 0x0000b0a8   ARM Code       0  mnrefproviderengine{000a0000}-43.o(StubCode)
-    CMnrpMapModel::ScreenToAbsolute(TPoint) const 0x0000b0b0   ARM Code       0  mnrefproviderengine{000a0000}-44.o(StubCode)
-    CMnrpMapModel::ScreenToAbsolute(int) const 0x0000b0b8   ARM Code       0  mnrefproviderengine{000a0000}-45.o(StubCode)
-    CMnrpMapModel::Top() const               0x0000b0c0   ARM Code       0  mnrefproviderengine{000a0000}-46.o(StubCode)
-    CMnrpMapModel::Left() const              0x0000b0c8   ARM Code       0  mnrefproviderengine{000a0000}-47.o(StubCode)
-    CMnrpMapModel::Right() const             0x0000b0d0   ARM Code       0  mnrefproviderengine{000a0000}-48.o(StubCode)
-    CMnrpMapModel::Bottom() const            0x0000b0d8   ARM Code       0  mnrefproviderengine{000a0000}-50.o(StubCode)
-    CMnrpMapModel::Center() const            0x0000b0e0   ARM Code       0  mnrefproviderengine{000a0000}-51.o(StubCode)
-    CMnrpMapModel::GetGrid(CMnrpMapModel::TGrid&) const 0x0000b0e8   ARM Code       0  mnrefproviderengine{000a0000}-53.o(StubCode)
-    CMnrpMapModel::RenderL(CFbsBitmap&, TRect, CFont*, CFont*) const 0x0000b0f0   ARM Code       0  mnrefproviderengine{000a0000}-54.o(StubCode)
-    __aeabi_dadd                             0x0000b0f8   ARM Code       0  dfpaeabi{000a0000}-12.o(StubCode)
-    __aeabi_dmul                             0x0000b100   ARM Code       0  dfpaeabi{000a0000}-20.o(StubCode)
-    __aeabi_dsub                             0x0000b108   ARM Code       0  dfpaeabi{000a0000}-23.o(StubCode)
-    __aeabi_f2d                              0x0000b110   ARM Code       0  dfpaeabi{000a0000}-24.o(StubCode)
-    __aeabi_i2d                              0x0000b118   ARM Code       0  dfpaeabi{000a0000}-41.o(StubCode)
-    __aeabi_d2iz                             0x0000b120   ARM Code       0  dfpaeabi{000a0000}-8.o(StubCode)
-    __aeabi_memcpy4                          0x0000b128   ARM Code       0  drtaeabi{000a0000}-147.o(StubCode)
-    __aeabi_unwind_cpp_pr0                   0x0000b130   ARM Code       0  drtaeabi{000a0000}-158.o(StubCode)
-    __aeabi_unwind_cpp_pr1                   0x0000b138   ARM Code       0  drtaeabi{000a0000}-159.o(StubCode)
-    __cxa_begin_catch                        0x0000b140   ARM Code       0  drtaeabi{000a0000}-180.o(StubCode)
-    __cxa_call_unexpected                    0x0000b148   ARM Code       0  drtaeabi{000a0000}-182.o(StubCode)
-    __cxa_end_catch                          0x0000b150   ARM Code       0  drtaeabi{000a0000}-183.o(StubCode)
-    __cxa_end_cleanup                        0x0000b158   ARM Code       0  drtaeabi{000a0000}-184.o(StubCode)
-    __cxa_pure_virtual                       0x0000b160   ARM Code       0  drtaeabi{000a0000}-189.o(StubCode)
-    operator delete (void*)                  0x0000b168   ARM Code       0  scppnwdl{000a0000}-3.o(StubCode)
-    UserHeap::SetupThreadHeap(int, SStdEpocThreadCreateInfo&) 0x0000b170   ARM Code       0  euser{000a0000}-1360.o(StubCode)
-    User::Exit(int)                          0x0000b178   ARM Code       0  euser{000a0000}-641.o(StubCode)
-    User::InitProcess()                      0x0000b180   ARM Code       0  euser{000a0000}-585.o(StubCode)
-    User::Panic(const TDesC16&, int)         0x0000b188   ARM Code       0  euser{000a0000}-650.o(StubCode)
-    TCppRTExceptionsGlobals::TCppRTExceptionsGlobals() 0x0000b190   ARM Code       0  drtaeabi{000a0000}-204.o(StubCode)
-    CAknDocument::~CAknDocument()            0x0000b199   Thumb Code     0  mnrefprovider.in(i._ZN12CAknDocumentD2Ev)
-    CAknDocument::~CAknDocument__sub_object() 0x0000b199   Thumb Code     8  mnrefprovider.in(i._ZN12CAknDocumentD2Ev)
-    CApaDocument::DetachFromStoreL(CPicture::TDetach) 0x0000b1a1   Thumb Code     2  mnrefprovider.in(i._ZN12CApaDocument16DetachFromStoreLEN8CPicture7TDetachE)
-    CArrayPtrSeg<CGulIcon>::~CArrayPtrSeg__deallocating() 0x0000b1a3   Thumb Code    16  mnrefprovider.in(i._ZN12CArrayPtrSegI8CGulIconED0Ev)
-    CArrayPtrSeg<CGulIcon>::~CArrayPtrSeg()  0x0000b1b3   Thumb Code     8  mnrefprovider.in(i._ZN12CArrayPtrSegI8CGulIconED1Ev)
-    CArrayPtrSeg<CGulIcon>::~CArrayPtrSeg__sub_object() 0x0000b1b3   Thumb Code     0  mnrefprovider.in(i._ZN12CArrayPtrSegI8CGulIconED1Ev)
-    CAknViewAppUi::CAknViewAppUi()           0x0000b1bd   Thumb Code    50  mnrefprovider.in(i._ZN13CAknViewAppUiC1Ev)
-    CAknViewAppUi::CAknViewAppUi__sub_object() 0x0000b1bd   Thumb Code     0  mnrefprovider.in(i._ZN13CAknViewAppUiC1Ev)
-    CMnrpApplication::~CMnrpApplication__deallocating() 0x0000b203   Thumb Code    16  mnrefprovider.in(i._ZN16CMnrpApplicationD0Ev)
-    CMnrpApplication::~CMnrpApplication()    0x0000b213   Thumb Code     8  mnrefprovider.in(i._ZN16CMnrpApplicationD1Ev)
-    CMnrpApplication::~CMnrpApplication__sub_object() 0x0000b213   Thumb Code     0  mnrefprovider.in(i._ZN16CMnrpApplicationD1Ev)
-    CBase::operator new(unsigned)            0x0000b21b   Thumb Code     8  mnrefprovider.in(i._ZN5CBasenwEj)
-    TRect::TRect(const TRect&)               0x0000b223   Thumb Code    18  mnrefprovider.in(i._ZN5TRectC1ERKS_)
-    TRect::TRect__sub_object(const TRect&)   0x0000b223   Thumb Code     0  mnrefprovider.in(i._ZN5TRectC1ERKS_)
-    CArrayFix<CGulIcon*>::~CArrayFix()       0x0000b235   Thumb Code     8  mnrefprovider.in(i._ZN9CArrayFixIP8CGulIconED1Ev)
-    CArrayFix<CGulIcon*>::~CArrayFix__sub_object() 0x0000b235   Thumb Code     0  mnrefprovider.in(i._ZN9CArrayFixIP8CGulIconED1Ev)
-    CArrayPtr<CGulIcon>::~CArrayPtr()        0x0000b23d   Thumb Code     8  mnrefprovider.in(i._ZN9CArrayPtrI8CGulIconED1Ev)
-    CArrayPtr<CGulIcon>::~CArrayPtr__sub_object() 0x0000b23d   Thumb Code     0  mnrefprovider.in(i._ZN9CArrayPtrI8CGulIconED1Ev)
-    CleanupClose<RArray<int>>::Close(void*)  0x0000b245   Thumb Code     8  mnrefprovider.in(t._ZN12CleanupCloseI6RArrayIiEE5CloseEPv)
-    CleanupClose<RArray<unsigned long>>::Close(void*) 0x0000b24d   Thumb Code     8  mnrefprovider.in(t._ZN12CleanupCloseI6RArrayImEE5CloseEPv)
-    RPointerArray<CMnrpNaviModel::CListItem>::ResetAndDestroy() 0x0000b255   Thumb Code    48  mnrefprovider.in(t._ZN13RPointerArrayIN14CMnrpNaviModel9CListItemEE15ResetAndDestroyEv)
-    RPointerArray<CMnrpNaviModel::CListItem>::AppendL(const CMnrpNaviModel::CListItem*) 0x0000b285   Thumb Code    12  mnrefprovider.in(t._ZN13RPointerArrayIN14CMnrpNaviModel9CListItemEE7AppendLEPKS1_)
-    TBuf<(int)15>::TBuf()                    0x0000b291   Thumb Code    10  mnrefprovider.in(t._ZN4TBufILi15EEC1Ev)
-    TBuf<(int)15>::TBuf__sub_object()        0x0000b291   Thumb Code     0  mnrefprovider.in(t._ZN4TBufILi15EEC1Ev)
-    typeinfo for CMnrpAppUi                  0x0000b758   Data          12  mnrefprovider.in(.constdata__ZTI10CMnrpAppUi)
-    typeinfo for CArrayPtrSeg<CGulIcon>      0x0000b764   Data          12  mnrefprovider.in(.constdata__ZTI12CArrayPtrSegI8CGulIconE)
-    typeinfo for CMnrpAppView                0x0000b770   Data          12  mnrefprovider.in(.constdata__ZTI12CMnrpAppView)
-    typeinfo for CMnrpMapView                0x0000b77c   Data          12  mnrefprovider.in(.constdata__ZTI12CMnrpMapView)
-    typeinfo for CMnrpDocument               0x0000b788   Data          12  mnrefprovider.in(.constdata__ZTI13CMnrpDocument)
-    typeinfo for CMnrpNaviView               0x0000b794   Data          12  mnrefprovider.in(.constdata__ZTI13CMnrpNaviView)
-    typeinfo for CMnrpAppServer              0x0000b7a0   Data          12  mnrefprovider.in(.constdata__ZTI14CMnrpAppServer)
-    typeinfo for CMnrpNaviModel              0x0000b7ac   Data          32  mnrefprovider.in(.constdata__ZTI14CMnrpNaviModel)
-    typeinfo for CMnrpAppControl             0x0000b7cc   Data          12  mnrefprovider.in(.constdata__ZTI15CMnrpAppControl)
-    typeinfo for CMnrpMapControl             0x0000b7d8   Data          32  mnrefprovider.in(.constdata__ZTI15CMnrpMapControl)
-    typeinfo for CMnrpApplication            0x0000b7f8   Data          12  mnrefprovider.in(.constdata__ZTI16CMnrpApplication)
-    typeinfo for CMnrpNaviControl            0x0000b804   Data          32  mnrefprovider.in(.constdata__ZTI16CMnrpNaviControl)
-    typeinfo for MMapModelObserver           0x0000b824   Data           8  mnrefprovider.in(.constdata__ZTI17MMapModelObserver)
-    typeinfo for MNaviModelObserver          0x0000b82c   Data           8  mnrefprovider.in(.constdata__ZTI18MNaviModelObserver)
-    typeinfo for CMnrpMapViewService         0x0000b834   Data          32  mnrefprovider.in(.constdata__ZTI19CMnrpMapViewService)
-    typeinfo for MMapSelectionCallback       0x0000b854   Data           8  mnrefprovider.in(.constdata__ZTI21MMapSelectionCallback)
-    typeinfo for MMnrpPositionObserver       0x0000b85c   Data           8  mnrefprovider.in(.constdata__ZTI21MMnrpPositionObserver)
-    typeinfo for CMnrpNavigationService      0x0000b864   Data          12  mnrefprovider.in(.constdata__ZTI22CMnrpNavigationService)
-    typeinfo for MEikStatusPaneObserver      0x0000b870   Data           8  mnrefprovider.in(.constdata__ZTI22MEikStatusPaneObserver)
-    typeinfo for CArrayFix<CGulIcon*>        0x0000b878   Data          12  mnrefprovider.in(.constdata__ZTI9CArrayFixIP8CGulIconE)
-    typeinfo for CArrayPtr<CGulIcon>         0x0000b884   Data          12  mnrefprovider.in(.constdata__ZTI9CArrayPtrI8CGulIconE)
-    typeinfo for CMnrpNaviModel::CListItem   0x0000b890   Data          12  mnrefprovider.in(.constdata__ZTIN14CMnrpNaviModel9CListItemE)
-    typeinfo name for CMnrpAppUi             0x0000b89c   Data          13  mnrefprovider.in(.constdata__ZTS10CMnrpAppUi)
-    typeinfo name for CArrayPtrSeg<CGulIcon> 0x0000b8a9   Data          26  mnrefprovider.in(.constdata__ZTS12CArrayPtrSegI8CGulIconE)
-    typeinfo name for CMnrpAppView           0x0000b8c3   Data          15  mnrefprovider.in(.constdata__ZTS12CMnrpAppView)
-    typeinfo name for CMnrpMapView           0x0000b8d2   Data          15  mnrefprovider.in(.constdata__ZTS12CMnrpMapView)
-    typeinfo name for CMnrpDocument          0x0000b8e1   Data          16  mnrefprovider.in(.constdata__ZTS13CMnrpDocument)
-    typeinfo name for CMnrpNaviView          0x0000b8f1   Data          16  mnrefprovider.in(.constdata__ZTS13CMnrpNaviView)
-    typeinfo name for CMnrpAppServer         0x0000b901   Data          17  mnrefprovider.in(.constdata__ZTS14CMnrpAppServer)
-    typeinfo name for CMnrpNaviModel         0x0000b912   Data          17  mnrefprovider.in(.constdata__ZTS14CMnrpNaviModel)
-    typeinfo name for CMnrpAppControl        0x0000b923   Data          18  mnrefprovider.in(.constdata__ZTS15CMnrpAppControl)
-    typeinfo name for CMnrpMapControl        0x0000b935   Data          18  mnrefprovider.in(.constdata__ZTS15CMnrpMapControl)
-    typeinfo name for CMnrpApplication       0x0000b947   Data          19  mnrefprovider.in(.constdata__ZTS16CMnrpApplication)
-    typeinfo name for CMnrpNaviControl       0x0000b95a   Data          19  mnrefprovider.in(.constdata__ZTS16CMnrpNaviControl)
-    typeinfo name for MMapModelObserver      0x0000b96d   Data          20  mnrefprovider.in(.constdata__ZTS17MMapModelObserver)
-    typeinfo name for MNaviModelObserver     0x0000b981   Data          21  mnrefprovider.in(.constdata__ZTS18MNaviModelObserver)
-    typeinfo name for CMnrpMapViewService    0x0000b996   Data          22  mnrefprovider.in(.constdata__ZTS19CMnrpMapViewService)
-    typeinfo name for MMapSelectionCallback  0x0000b9ac   Data          24  mnrefprovider.in(.constdata__ZTS21MMapSelectionCallback)
-    typeinfo name for MMnrpPositionObserver  0x0000b9c4   Data          24  mnrefprovider.in(.constdata__ZTS21MMnrpPositionObserver)
-    typeinfo name for CMnrpNavigationService 0x0000b9dc   Data          25  mnrefprovider.in(.constdata__ZTS22CMnrpNavigationService)
-    typeinfo name for MEikStatusPaneObserver 0x0000b9f5   Data          25  mnrefprovider.in(.constdata__ZTS22MEikStatusPaneObserver)
-    typeinfo name for CArrayFix<CGulIcon*>   0x0000ba0e   Data          23  mnrefprovider.in(.constdata__ZTS9CArrayFixIP8CGulIconE)
-    typeinfo name for CArrayPtr<CGulIcon>    0x0000ba25   Data          22  mnrefprovider.in(.constdata__ZTS9CArrayPtrI8CGulIconE)
-    typeinfo name for CMnrpNaviModel::CListItem 0x0000ba3b   Data          29  mnrefprovider.in(.constdata__ZTSN14CMnrpNaviModel9CListItemE)
-    vtable for CMnrpAppUi                    0x0000ba58   Data         340  mnrefprovider.in(.constdata__ZTV10CMnrpAppUi)
-    vtable for CArrayPtrSeg<CGulIcon>        0x0000bbac   Data          20  mnrefprovider.in(.constdata__ZTV12CArrayPtrSegI8CGulIconE)
-    vtable for CMnrpAppView                  0x0000bbc0   Data         232  mnrefprovider.in(.constdata__ZTV12CMnrpAppView)
-    vtable for CMnrpMapView                  0x0000bca8   Data         236  mnrefprovider.in(.constdata__ZTV12CMnrpMapView)
-    vtable for CMnrpDocument                 0x0000bd94   Data         112  mnrefprovider.in(.constdata__ZTV13CMnrpDocument)
-    vtable for CMnrpNaviView                 0x0000be04   Data         232  mnrefprovider.in(.constdata__ZTV13CMnrpNaviView)
-    vtable for CMnrpAppServer                0x0000beec   Data          76  mnrefprovider.in(.constdata__ZTV14CMnrpAppServer)
-    vtable for CMnrpNaviModel                0x0000bf38   Data          36  mnrefprovider.in(.constdata__ZTV14CMnrpNaviModel)
-    vtable for CMnrpAppControl               0x0000bf5c   Data         208  mnrefprovider.in(.constdata__ZTV15CMnrpAppControl)
-    vtable for CMnrpMapControl               0x0000c02c   Data         224  mnrefprovider.in(.constdata__ZTV15CMnrpMapControl)
-    vtable for CMnrpApplication              0x0000c10c   Data          80  mnrefprovider.in(.constdata__ZTV16CMnrpApplication)
-    vtable for CMnrpNaviControl              0x0000c15c   Data         224  mnrefprovider.in(.constdata__ZTV16CMnrpNaviControl)
-    vtable for CMnrpMapViewService           0x0000c23c   Data         112  mnrefprovider.in(.constdata__ZTV19CMnrpMapViewService)
-    vtable for CMnrpNavigationService        0x0000c2ac   Data          64  mnrefprovider.in(.constdata__ZTV22CMnrpNavigationService)
-    vtable for MEikStatusPaneObserver        0x0000c2ec   Data          12  mnrefprovider.in(.constdata__ZTV22MEikStatusPaneObserver)
-    vtable for CMnrpNaviModel::CListItem     0x0000c2f8   Data          20  mnrefprovider.in(.constdata__ZTVN14CMnrpNaviModel9CListItemE)
-    SHT$$INIT_ARRAY$$Base                    0x0000c30c   Number         0  mnrefprovider.in(.init_array)
-    .ARM.exidx$$Base                         0x0000c310   Number         0  uc_exe_.o(.ARM.exidx)
-    SHT$$INIT_ARRAY$$Limit                   0x0000c310   Data           0  mnrefprovider.in(.init_array)
-    .ARM.exidx$$Limit                        0x0000c6a0   Number         0  mnrefprovider.in(.ARM.exidx)
-    Image$$ER_RO$$Limit                      0x0000c6a0   Number         0  anon$$obj.o(linker$$defined$$symbols)
-
Binary file locsrv_plat/map_and_navigation_api/tsrc/data/armv5/urel/mnrefproviderback.exe has changed
--- a/locsrv_plat/map_and_navigation_api/tsrc/data/armv5/urel/mnrefproviderback.exe.map	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1319 +0,0 @@
-ARM Linker, RVCT2.2 [Build 593]
-
-================================================================================
-
-Image Symbol Table
-
-    Local Symbols
-
-    Symbol Name                              Value     Ov Type        Size  Object(Section)
-
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-293.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-13.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1995.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-294.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-65.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1997.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-295.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-68.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1999.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-296.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-207.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-203.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-297.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-23.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-205.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-298.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-1.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2060.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-299.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-2.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2061.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-30.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-21.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-204.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-302.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-22.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-208.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-31.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-23.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2082.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-317.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-24.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2120.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-352.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-27.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2123.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-37.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-34.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2125.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-390.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-45.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-213.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-392.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-46.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-214.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-394.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-47.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-215.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-467.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-49.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-216.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-479.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-50.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-217.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-490.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-53.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-220.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-506.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-56.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2920.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-523.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-10.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2922.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-532.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-12.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2924.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-533.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-18.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2925.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-534.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-19.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2926.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-535.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-21.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2928.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-536.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-4.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2929.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-537.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-5.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2930.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-565.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-54.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2931.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-61.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-6.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2932.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-62.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-144.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2934.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-63.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-158.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2935.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1088.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-159.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2938.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1116.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-180.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2993.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1119.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-182.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2997.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1171.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-183.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3826.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1288.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-184.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3862.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1379.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-189.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3868.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1381.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  scppnwdl{000a0000}-3.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-4021.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1590.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1360.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-4030.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1593.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-641.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-12.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1817.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  ws32{000a0000}-211.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-280.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-677.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  gdi{000a0000}-312.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-284.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-121.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-1132.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-585.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-132.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-129.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-650.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-171.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-130.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-287.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-192.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-131.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-30.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-194.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-1350.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-141.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-202.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-1351.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-142.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-207.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-1366.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-143.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-232.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-198.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-144.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-273.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-199.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-147.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-274.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-201.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-152.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-275.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-206.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-155.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-279.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2131.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-158.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-100.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-471.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-159.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-101.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-474.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-166.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-285.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-481.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-169.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-286.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-613.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-171.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-182.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-649.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-175.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-210.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-652.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-18.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-212.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-654.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-20.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-220.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-669.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-25.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-351.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-679.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-26.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-355.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-681.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-27.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-638.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-838.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-28.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-639.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bafl{000a0000}-43.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-29.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-664.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bafl{000a0000}-98.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-291.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-676.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-64.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-77.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-75.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-67.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-78.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-128.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-127.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-79.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-74.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-211.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-222.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-72.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-73.o ABSOLUTE
-    M:/epoc32/build/apputils/c_da81efa927799d7f/bafl_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/compsupp/c_18558cc638e6e874/drtaeabi_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/cone/c_17e36feeaf3b2ee8/cone_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/gdi/c_5dab287815cadb7b/gdi_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/store/c_93a13d203e6d3ba7/estor_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/uikon/c_9cf7bef4a7562444/eikcore_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:\\sf\\os\\kernelhwsrv\\kernel\\eka\\compsupp\\rvct2_2\\ucppinit_aeabi.cpp 0x00000000   Number         0  ucppinit_aeabi.o ABSOLUTE
-    M:\sf\os\kernelhwsrv\kernel\eka\compsupp\rvct2_2\dllexp.cpp 0x00000000   Number         0  dllexp.o ABSOLUTE
-    M:\sf\os\kernelhwsrv\kernel\eka\compsupp\rvct2_2\ucppinit_aeabi.cpp 0x00000000   Number         0  ucppinit_aeabi.o ABSOLUTE
-    M:\sf\os\kernelhwsrv\kernel\eka\compsupp\symaehabi\callfirstprocessfn.cpp 0x00000000   Number         0  callfirstprocessfn.o ABSOLUTE
-    \EPOC32\BUILD\sf\app\location\group\MNREFENGINE\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\appsupport\appfw\apparchitecture\group\APPARC\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\classicui\group\AVKON\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\classicui\group\EIKCOCTL\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\locationsrv\group\EPOS_LANDMARKSCLIENTLIBRARY\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\locationsrv\group\MNSERVICELIB\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\uiresources\group\AKNSKINS\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\graphics\windowing\windowserver\group\WS32LIB\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\kernelhwsrv\kernel\eka\euser\EEXE\ARMV6_ABIV1\urel\uc_exe_.cpp 0x00000000   Number         0  uc_exe_.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\kernelhwsrv\kernel\eka\euser\EUSER\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\kernelhwsrv\userlibandfileserver\fileserver\group\EFSRV\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\lbs\locationmgmt\locationadmin\group\LBSAPIVARIANT2\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \\EPOC32\\BUILD\\sf\\os\\kernelhwsrv\\kernel\\eka\\euser\\EEXE\\ARMV6_ABIV1\\urel\\uc_exe_.cpp 0x00000000   Number         0  uc_exe_.o ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrefproviderback.cpp 0x00000000   Number         0  mnrefproviderback.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpapplicationback.cpp 0x00000000   Number         0  mnrefproviderback.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpappserverback.cpp 0x00000000   Number         0  mnrefproviderback.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpappuiback.cpp 0x00000000   Number         0  mnrefproviderback.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpdocumentback.cpp 0x00000000   Number         0  mnrefproviderback.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpgeocodingservice.cpp 0x00000000   Number         0  mnrefproviderback.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpmapimageservice.cpp 0x00000000   Number         0  mnrefproviderback.in ABSOLUTE
-    \sf\os\kernelhwsrv\kernel\eka\euser\epoc\arm\uc_exe.cpp 0x00000000   Number         0  uc_exe.o ABSOLUTE
-    .emb_text                                0x00008000   Section      112  uc_exe_.o(.emb_text)
-    .emb_text                                0x00008070   Section       72  ucppinit_aeabi.o(.emb_text)
-    skip                                     0x00008084   ARM Code       0  ucppinit_aeabi.o(.emb_text)
-    loop                                     0x00008094   ARM Code       0  ucppinit_aeabi.o(.emb_text)
-    fpinit                                   0x000080ac   Data           0  ucppinit_aeabi.o(.emb_text)
-    base                                     0x000080b0   Data           0  ucppinit_aeabi.o(.emb_text)
-    limit                                    0x000080b4   Data           0  ucppinit_aeabi.o(.emb_text)
-    .text                                    0x000080c0   Section       16  uc_exe_.o(.text)
-    NewApplication()                         0x000080d1   Thumb Code    30  mnrefproviderback.in(.text)
-    .text                                    0x000080d0   Section       60  mnrefproviderback.in(.text)
-    .text                                    0x0000810c   Section       32  mnrefproviderback.in(.text)
-    .text                                    0x0000812c   Section       68  mnrefproviderback.in(.text)
-    .text                                    0x00008170   Section       64  mnrefproviderback.in(.text)
-    .text                                    0x000081b0   Section      168  mnrefproviderback.in(.text)
-    .text                                    0x00008258   Section      988  mnrefproviderback.in(.text)
-    .text                                    0x00008634   Section      684  mnrefproviderback.in(.text)
-    __sti___23_mnrpmapimageservice_cpp       0x000088c7   Thumb Code     8  mnrefproviderback.in(.text)
-    .text                                    0x000088e8   Section       36  uc_exe.o(.text)
-    .text                                    0x0000890c   Section      120  callfirstprocessfn.o(.text)
-    .text                                    0x00008984   Section        4  dllexp.o(.text)
-    .text.clean                              0x00008988   Section       10  mnrefproviderback.in(.text.clean)
-    .text.clean                              0x00008992   Section       10  mnrefproviderback.in(.text.clean)
-    .text.clean                              0x0000899c   Section       18  mnrefproviderback.in(.text.clean)
-    .text.clean                              0x000089ae   Section       26  mnrefproviderback.in(.text.clean)
-    .text.clean                              0x000089c8   Section        8  callfirstprocessfn.o(.text.clean)
-    StubCode                                 0x000089d0   Section        8  euser{000a0000}-1088.o(StubCode)
-    theImportedSymbol                        0x000089d4   Data           0  euser{000a0000}-1088.o(StubCode)
-    StubCode                                 0x000089d8   Section        8  euser{000a0000}-1116.o(StubCode)
-    theImportedSymbol                        0x000089dc   Data           0  euser{000a0000}-1116.o(StubCode)
-    StubCode                                 0x000089e0   Section        8  euser{000a0000}-1119.o(StubCode)
-    theImportedSymbol                        0x000089e4   Data           0  euser{000a0000}-1119.o(StubCode)
-    StubCode                                 0x000089e8   Section        8  euser{000a0000}-1171.o(StubCode)
-    theImportedSymbol                        0x000089ec   Data           0  euser{000a0000}-1171.o(StubCode)
-    StubCode                                 0x000089f0   Section        8  euser{000a0000}-1288.o(StubCode)
-    theImportedSymbol                        0x000089f4   Data           0  euser{000a0000}-1288.o(StubCode)
-    StubCode                                 0x000089f8   Section        8  euser{000a0000}-1379.o(StubCode)
-    theImportedSymbol                        0x000089fc   Data           0  euser{000a0000}-1379.o(StubCode)
-    StubCode                                 0x00008a00   Section        8  euser{000a0000}-1381.o(StubCode)
-    theImportedSymbol                        0x00008a04   Data           0  euser{000a0000}-1381.o(StubCode)
-    StubCode                                 0x00008a08   Section        8  euser{000a0000}-1590.o(StubCode)
-    theImportedSymbol                        0x00008a0c   Data           0  euser{000a0000}-1590.o(StubCode)
-    StubCode                                 0x00008a10   Section        8  euser{000a0000}-1593.o(StubCode)
-    theImportedSymbol                        0x00008a14   Data           0  euser{000a0000}-1593.o(StubCode)
-    StubCode                                 0x00008a18   Section        8  euser{000a0000}-1817.o(StubCode)
-    theImportedSymbol                        0x00008a1c   Data           0  euser{000a0000}-1817.o(StubCode)
-    StubCode                                 0x00008a20   Section        8  euser{000a0000}-1995.o(StubCode)
-    theImportedSymbol                        0x00008a24   Data           0  euser{000a0000}-1995.o(StubCode)
-    StubCode                                 0x00008a28   Section        8  euser{000a0000}-1997.o(StubCode)
-    theImportedSymbol                        0x00008a2c   Data           0  euser{000a0000}-1997.o(StubCode)
-    StubCode                                 0x00008a30   Section        8  euser{000a0000}-1999.o(StubCode)
-    theImportedSymbol                        0x00008a34   Data           0  euser{000a0000}-1999.o(StubCode)
-    StubCode                                 0x00008a38   Section        8  euser{000a0000}-203.o(StubCode)
-    theImportedSymbol                        0x00008a3c   Data           0  euser{000a0000}-203.o(StubCode)
-    StubCode                                 0x00008a40   Section        8  euser{000a0000}-205.o(StubCode)
-    theImportedSymbol                        0x00008a44   Data           0  euser{000a0000}-205.o(StubCode)
-    StubCode                                 0x00008a48   Section        8  euser{000a0000}-2060.o(StubCode)
-    theImportedSymbol                        0x00008a4c   Data           0  euser{000a0000}-2060.o(StubCode)
-    StubCode                                 0x00008a50   Section        8  euser{000a0000}-2061.o(StubCode)
-    theImportedSymbol                        0x00008a54   Data           0  euser{000a0000}-2061.o(StubCode)
-    StubCode                                 0x00008a58   Section        8  euser{000a0000}-207.o(StubCode)
-    theImportedSymbol                        0x00008a5c   Data           0  euser{000a0000}-207.o(StubCode)
-    StubCode                                 0x00008a60   Section        8  euser{000a0000}-208.o(StubCode)
-    theImportedSymbol                        0x00008a64   Data           0  euser{000a0000}-208.o(StubCode)
-    StubCode                                 0x00008a68   Section        8  euser{000a0000}-2082.o(StubCode)
-    theImportedSymbol                        0x00008a6c   Data           0  euser{000a0000}-2082.o(StubCode)
-    StubCode                                 0x00008a70   Section        8  euser{000a0000}-2120.o(StubCode)
-    theImportedSymbol                        0x00008a74   Data           0  euser{000a0000}-2120.o(StubCode)
-    StubCode                                 0x00008a78   Section        8  euser{000a0000}-2123.o(StubCode)
-    theImportedSymbol                        0x00008a7c   Data           0  euser{000a0000}-2123.o(StubCode)
-    StubCode                                 0x00008a80   Section        8  euser{000a0000}-2131.o(StubCode)
-    theImportedSymbol                        0x00008a84   Data           0  euser{000a0000}-2131.o(StubCode)
-    StubCode                                 0x00008a88   Section        8  euser{000a0000}-471.o(StubCode)
-    theImportedSymbol                        0x00008a8c   Data           0  euser{000a0000}-471.o(StubCode)
-    StubCode                                 0x00008a90   Section        8  euser{000a0000}-474.o(StubCode)
-    theImportedSymbol                        0x00008a94   Data           0  euser{000a0000}-474.o(StubCode)
-    StubCode                                 0x00008a98   Section        8  euser{000a0000}-481.o(StubCode)
-    theImportedSymbol                        0x00008a9c   Data           0  euser{000a0000}-481.o(StubCode)
-    StubCode                                 0x00008aa0   Section        8  euser{000a0000}-613.o(StubCode)
-    theImportedSymbol                        0x00008aa4   Data           0  euser{000a0000}-613.o(StubCode)
-    StubCode                                 0x00008aa8   Section        8  euser{000a0000}-649.o(StubCode)
-    theImportedSymbol                        0x00008aac   Data           0  euser{000a0000}-649.o(StubCode)
-    StubCode                                 0x00008ab0   Section        8  euser{000a0000}-652.o(StubCode)
-    theImportedSymbol                        0x00008ab4   Data           0  euser{000a0000}-652.o(StubCode)
-    StubCode                                 0x00008ab8   Section        8  euser{000a0000}-654.o(StubCode)
-    theImportedSymbol                        0x00008abc   Data           0  euser{000a0000}-654.o(StubCode)
-    StubCode                                 0x00008ac0   Section        8  euser{000a0000}-669.o(StubCode)
-    theImportedSymbol                        0x00008ac4   Data           0  euser{000a0000}-669.o(StubCode)
-    StubCode                                 0x00008ac8   Section        8  euser{000a0000}-679.o(StubCode)
-    theImportedSymbol                        0x00008acc   Data           0  euser{000a0000}-679.o(StubCode)
-    StubCode                                 0x00008ad0   Section        8  euser{000a0000}-681.o(StubCode)
-    theImportedSymbol                        0x00008ad4   Data           0  euser{000a0000}-681.o(StubCode)
-    StubCode                                 0x00008ad8   Section        8  euser{000a0000}-838.o(StubCode)
-    theImportedSymbol                        0x00008adc   Data           0  euser{000a0000}-838.o(StubCode)
-    StubCode                                 0x00008ae0   Section        8  bafl{000a0000}-43.o(StubCode)
-    theImportedSymbol                        0x00008ae4   Data           0  bafl{000a0000}-43.o(StubCode)
-    StubCode                                 0x00008ae8   Section        8  bafl{000a0000}-98.o(StubCode)
-    theImportedSymbol                        0x00008aec   Data           0  bafl{000a0000}-98.o(StubCode)
-    StubCode                                 0x00008af0   Section        8  cone{000a0000}-100.o(StubCode)
-    theImportedSymbol                        0x00008af4   Data           0  cone{000a0000}-100.o(StubCode)
-    StubCode                                 0x00008af8   Section        8  cone{000a0000}-101.o(StubCode)
-    theImportedSymbol                        0x00008afc   Data           0  cone{000a0000}-101.o(StubCode)
-    StubCode                                 0x00008b00   Section        8  cone{000a0000}-127.o(StubCode)
-    theImportedSymbol                        0x00008b04   Data           0  cone{000a0000}-127.o(StubCode)
-    StubCode                                 0x00008b08   Section        8  cone{000a0000}-128.o(StubCode)
-    theImportedSymbol                        0x00008b0c   Data           0  cone{000a0000}-128.o(StubCode)
-    StubCode                                 0x00008b10   Section        8  cone{000a0000}-182.o(StubCode)
-    theImportedSymbol                        0x00008b14   Data           0  cone{000a0000}-182.o(StubCode)
-    StubCode                                 0x00008b18   Section        8  cone{000a0000}-210.o(StubCode)
-    theImportedSymbol                        0x00008b1c   Data           0  cone{000a0000}-210.o(StubCode)
-    StubCode                                 0x00008b20   Section        8  cone{000a0000}-212.o(StubCode)
-    theImportedSymbol                        0x00008b24   Data           0  cone{000a0000}-212.o(StubCode)
-    StubCode                                 0x00008b28   Section        8  cone{000a0000}-220.o(StubCode)
-    theImportedSymbol                        0x00008b2c   Data           0  cone{000a0000}-220.o(StubCode)
-    StubCode                                 0x00008b30   Section        8  cone{000a0000}-351.o(StubCode)
-    theImportedSymbol                        0x00008b34   Data           0  cone{000a0000}-351.o(StubCode)
-    StubCode                                 0x00008b38   Section        8  cone{000a0000}-355.o(StubCode)
-    theImportedSymbol                        0x00008b3c   Data           0  cone{000a0000}-355.o(StubCode)
-    StubCode                                 0x00008b40   Section        8  cone{000a0000}-638.o(StubCode)
-    theImportedSymbol                        0x00008b44   Data           0  cone{000a0000}-638.o(StubCode)
-    StubCode                                 0x00008b48   Section        8  cone{000a0000}-639.o(StubCode)
-    theImportedSymbol                        0x00008b4c   Data           0  cone{000a0000}-639.o(StubCode)
-    StubCode                                 0x00008b50   Section        8  cone{000a0000}-664.o(StubCode)
-    theImportedSymbol                        0x00008b54   Data           0  cone{000a0000}-664.o(StubCode)
-    StubCode                                 0x00008b58   Section        8  cone{000a0000}-676.o(StubCode)
-    theImportedSymbol                        0x00008b5c   Data           0  cone{000a0000}-676.o(StubCode)
-    StubCode                                 0x00008b60   Section        8  cone{000a0000}-677.o(StubCode)
-    theImportedSymbol                        0x00008b64   Data           0  cone{000a0000}-677.o(StubCode)
-    StubCode                                 0x00008b68   Section        8  apparc{000a0000}-121.o(StubCode)
-    theImportedSymbol                        0x00008b6c   Data           0  apparc{000a0000}-121.o(StubCode)
-    StubCode                                 0x00008b70   Section        8  apparc{000a0000}-132.o(StubCode)
-    theImportedSymbol                        0x00008b74   Data           0  apparc{000a0000}-132.o(StubCode)
-    StubCode                                 0x00008b78   Section        8  apparc{000a0000}-171.o(StubCode)
-    theImportedSymbol                        0x00008b7c   Data           0  apparc{000a0000}-171.o(StubCode)
-    StubCode                                 0x00008b80   Section        8  apparc{000a0000}-192.o(StubCode)
-    theImportedSymbol                        0x00008b84   Data           0  apparc{000a0000}-192.o(StubCode)
-    StubCode                                 0x00008b88   Section        8  apparc{000a0000}-194.o(StubCode)
-    theImportedSymbol                        0x00008b8c   Data           0  apparc{000a0000}-194.o(StubCode)
-    StubCode                                 0x00008b90   Section        8  apparc{000a0000}-202.o(StubCode)
-    theImportedSymbol                        0x00008b94   Data           0  apparc{000a0000}-202.o(StubCode)
-    StubCode                                 0x00008b98   Section        8  apparc{000a0000}-222.o(StubCode)
-    theImportedSymbol                        0x00008b9c   Data           0  apparc{000a0000}-222.o(StubCode)
-    StubCode                                 0x00008ba0   Section        8  apparc{000a0000}-232.o(StubCode)
-    theImportedSymbol                        0x00008ba4   Data           0  apparc{000a0000}-232.o(StubCode)
-    StubCode                                 0x00008ba8   Section        8  apparc{000a0000}-273.o(StubCode)
-    theImportedSymbol                        0x00008bac   Data           0  apparc{000a0000}-273.o(StubCode)
-    StubCode                                 0x00008bb0   Section        8  apparc{000a0000}-274.o(StubCode)
-    theImportedSymbol                        0x00008bb4   Data           0  apparc{000a0000}-274.o(StubCode)
-    StubCode                                 0x00008bb8   Section        8  apparc{000a0000}-275.o(StubCode)
-    theImportedSymbol                        0x00008bbc   Data           0  apparc{000a0000}-275.o(StubCode)
-    StubCode                                 0x00008bc0   Section        8  apparc{000a0000}-279.o(StubCode)
-    theImportedSymbol                        0x00008bc4   Data           0  apparc{000a0000}-279.o(StubCode)
-    StubCode                                 0x00008bc8   Section        8  apparc{000a0000}-280.o(StubCode)
-    theImportedSymbol                        0x00008bcc   Data           0  apparc{000a0000}-280.o(StubCode)
-    StubCode                                 0x00008bd0   Section        8  apparc{000a0000}-284.o(StubCode)
-    theImportedSymbol                        0x00008bd4   Data           0  apparc{000a0000}-284.o(StubCode)
-    StubCode                                 0x00008bd8   Section        8  apparc{000a0000}-285.o(StubCode)
-    theImportedSymbol                        0x00008bdc   Data           0  apparc{000a0000}-285.o(StubCode)
-    StubCode                                 0x00008be0   Section        8  apparc{000a0000}-286.o(StubCode)
-    theImportedSymbol                        0x00008be4   Data           0  apparc{000a0000}-286.o(StubCode)
-    StubCode                                 0x00008be8   Section        8  apparc{000a0000}-287.o(StubCode)
-    theImportedSymbol                        0x00008bec   Data           0  apparc{000a0000}-287.o(StubCode)
-    StubCode                                 0x00008bf0   Section        8  apparc{000a0000}-30.o(StubCode)
-    theImportedSymbol                        0x00008bf4   Data           0  apparc{000a0000}-30.o(StubCode)
-    StubCode                                 0x00008bf8   Section        8  eikcore{000a0000}-141.o(StubCode)
-    theImportedSymbol                        0x00008bfc   Data           0  eikcore{000a0000}-141.o(StubCode)
-    StubCode                                 0x00008c00   Section        8  eikcore{000a0000}-142.o(StubCode)
-    theImportedSymbol                        0x00008c04   Data           0  eikcore{000a0000}-142.o(StubCode)
-    StubCode                                 0x00008c08   Section        8  eikcore{000a0000}-143.o(StubCode)
-    theImportedSymbol                        0x00008c0c   Data           0  eikcore{000a0000}-143.o(StubCode)
-    StubCode                                 0x00008c10   Section        8  eikcore{000a0000}-144.o(StubCode)
-    theImportedSymbol                        0x00008c14   Data           0  eikcore{000a0000}-144.o(StubCode)
-    StubCode                                 0x00008c18   Section        8  eikcore{000a0000}-147.o(StubCode)
-    theImportedSymbol                        0x00008c1c   Data           0  eikcore{000a0000}-147.o(StubCode)
-    StubCode                                 0x00008c20   Section        8  eikcore{000a0000}-152.o(StubCode)
-    theImportedSymbol                        0x00008c24   Data           0  eikcore{000a0000}-152.o(StubCode)
-    StubCode                                 0x00008c28   Section        8  eikcore{000a0000}-155.o(StubCode)
-    theImportedSymbol                        0x00008c2c   Data           0  eikcore{000a0000}-155.o(StubCode)
-    StubCode                                 0x00008c30   Section        8  eikcore{000a0000}-158.o(StubCode)
-    theImportedSymbol                        0x00008c34   Data           0  eikcore{000a0000}-158.o(StubCode)
-    StubCode                                 0x00008c38   Section        8  eikcore{000a0000}-159.o(StubCode)
-    theImportedSymbol                        0x00008c3c   Data           0  eikcore{000a0000}-159.o(StubCode)
-    StubCode                                 0x00008c40   Section        8  eikcore{000a0000}-166.o(StubCode)
-    theImportedSymbol                        0x00008c44   Data           0  eikcore{000a0000}-166.o(StubCode)
-    StubCode                                 0x00008c48   Section        8  eikcore{000a0000}-169.o(StubCode)
-    theImportedSymbol                        0x00008c4c   Data           0  eikcore{000a0000}-169.o(StubCode)
-    StubCode                                 0x00008c50   Section        8  eikcore{000a0000}-171.o(StubCode)
-    theImportedSymbol                        0x00008c54   Data           0  eikcore{000a0000}-171.o(StubCode)
-    StubCode                                 0x00008c58   Section        8  eikcore{000a0000}-175.o(StubCode)
-    theImportedSymbol                        0x00008c5c   Data           0  eikcore{000a0000}-175.o(StubCode)
-    StubCode                                 0x00008c60   Section        8  eikcore{000a0000}-18.o(StubCode)
-    theImportedSymbol                        0x00008c64   Data           0  eikcore{000a0000}-18.o(StubCode)
-    StubCode                                 0x00008c68   Section        8  eikcore{000a0000}-20.o(StubCode)
-    theImportedSymbol                        0x00008c6c   Data           0  eikcore{000a0000}-20.o(StubCode)
-    StubCode                                 0x00008c70   Section        8  eikcore{000a0000}-25.o(StubCode)
-    theImportedSymbol                        0x00008c74   Data           0  eikcore{000a0000}-25.o(StubCode)
-    StubCode                                 0x00008c78   Section        8  eikcore{000a0000}-26.o(StubCode)
-    theImportedSymbol                        0x00008c7c   Data           0  eikcore{000a0000}-26.o(StubCode)
-    StubCode                                 0x00008c80   Section        8  eikcore{000a0000}-27.o(StubCode)
-    theImportedSymbol                        0x00008c84   Data           0  eikcore{000a0000}-27.o(StubCode)
-    StubCode                                 0x00008c88   Section        8  eikcore{000a0000}-28.o(StubCode)
-    theImportedSymbol                        0x00008c8c   Data           0  eikcore{000a0000}-28.o(StubCode)
-    StubCode                                 0x00008c90   Section        8  eikcore{000a0000}-29.o(StubCode)
-    theImportedSymbol                        0x00008c94   Data           0  eikcore{000a0000}-29.o(StubCode)
-    StubCode                                 0x00008c98   Section        8  eikcore{000a0000}-291.o(StubCode)
-    theImportedSymbol                        0x00008c9c   Data           0  eikcore{000a0000}-291.o(StubCode)
-    StubCode                                 0x00008ca0   Section        8  eikcore{000a0000}-293.o(StubCode)
-    theImportedSymbol                        0x00008ca4   Data           0  eikcore{000a0000}-293.o(StubCode)
-    StubCode                                 0x00008ca8   Section        8  eikcore{000a0000}-294.o(StubCode)
-    theImportedSymbol                        0x00008cac   Data           0  eikcore{000a0000}-294.o(StubCode)
-    StubCode                                 0x00008cb0   Section        8  eikcore{000a0000}-295.o(StubCode)
-    theImportedSymbol                        0x00008cb4   Data           0  eikcore{000a0000}-295.o(StubCode)
-    StubCode                                 0x00008cb8   Section        8  eikcore{000a0000}-296.o(StubCode)
-    theImportedSymbol                        0x00008cbc   Data           0  eikcore{000a0000}-296.o(StubCode)
-    StubCode                                 0x00008cc0   Section        8  eikcore{000a0000}-297.o(StubCode)
-    theImportedSymbol                        0x00008cc4   Data           0  eikcore{000a0000}-297.o(StubCode)
-    StubCode                                 0x00008cc8   Section        8  eikcore{000a0000}-298.o(StubCode)
-    theImportedSymbol                        0x00008ccc   Data           0  eikcore{000a0000}-298.o(StubCode)
-    StubCode                                 0x00008cd0   Section        8  eikcore{000a0000}-299.o(StubCode)
-    theImportedSymbol                        0x00008cd4   Data           0  eikcore{000a0000}-299.o(StubCode)
-    StubCode                                 0x00008cd8   Section        8  eikcore{000a0000}-30.o(StubCode)
-    theImportedSymbol                        0x00008cdc   Data           0  eikcore{000a0000}-30.o(StubCode)
-    StubCode                                 0x00008ce0   Section        8  eikcore{000a0000}-302.o(StubCode)
-    theImportedSymbol                        0x00008ce4   Data           0  eikcore{000a0000}-302.o(StubCode)
-    StubCode                                 0x00008ce8   Section        8  eikcore{000a0000}-31.o(StubCode)
-    theImportedSymbol                        0x00008cec   Data           0  eikcore{000a0000}-31.o(StubCode)
-    StubCode                                 0x00008cf0   Section        8  eikcore{000a0000}-317.o(StubCode)
-    theImportedSymbol                        0x00008cf4   Data           0  eikcore{000a0000}-317.o(StubCode)
-    StubCode                                 0x00008cf8   Section        8  eikcore{000a0000}-352.o(StubCode)
-    theImportedSymbol                        0x00008cfc   Data           0  eikcore{000a0000}-352.o(StubCode)
-    StubCode                                 0x00008d00   Section        8  eikcore{000a0000}-37.o(StubCode)
-    theImportedSymbol                        0x00008d04   Data           0  eikcore{000a0000}-37.o(StubCode)
-    StubCode                                 0x00008d08   Section        8  eikcore{000a0000}-390.o(StubCode)
-    theImportedSymbol                        0x00008d0c   Data           0  eikcore{000a0000}-390.o(StubCode)
-    StubCode                                 0x00008d10   Section        8  eikcore{000a0000}-392.o(StubCode)
-    theImportedSymbol                        0x00008d14   Data           0  eikcore{000a0000}-392.o(StubCode)
-    StubCode                                 0x00008d18   Section        8  eikcore{000a0000}-394.o(StubCode)
-    theImportedSymbol                        0x00008d1c   Data           0  eikcore{000a0000}-394.o(StubCode)
-    StubCode                                 0x00008d20   Section        8  eikcore{000a0000}-467.o(StubCode)
-    theImportedSymbol                        0x00008d24   Data           0  eikcore{000a0000}-467.o(StubCode)
-    StubCode                                 0x00008d28   Section        8  eikcore{000a0000}-479.o(StubCode)
-    theImportedSymbol                        0x00008d2c   Data           0  eikcore{000a0000}-479.o(StubCode)
-    StubCode                                 0x00008d30   Section        8  eikcore{000a0000}-490.o(StubCode)
-    theImportedSymbol                        0x00008d34   Data           0  eikcore{000a0000}-490.o(StubCode)
-    StubCode                                 0x00008d38   Section        8  eikcore{000a0000}-506.o(StubCode)
-    theImportedSymbol                        0x00008d3c   Data           0  eikcore{000a0000}-506.o(StubCode)
-    StubCode                                 0x00008d40   Section        8  eikcore{000a0000}-523.o(StubCode)
-    theImportedSymbol                        0x00008d44   Data           0  eikcore{000a0000}-523.o(StubCode)
-    StubCode                                 0x00008d48   Section        8  eikcore{000a0000}-532.o(StubCode)
-    theImportedSymbol                        0x00008d4c   Data           0  eikcore{000a0000}-532.o(StubCode)
-    StubCode                                 0x00008d50   Section        8  eikcore{000a0000}-533.o(StubCode)
-    theImportedSymbol                        0x00008d54   Data           0  eikcore{000a0000}-533.o(StubCode)
-    StubCode                                 0x00008d58   Section        8  eikcore{000a0000}-534.o(StubCode)
-    theImportedSymbol                        0x00008d5c   Data           0  eikcore{000a0000}-534.o(StubCode)
-    StubCode                                 0x00008d60   Section        8  eikcore{000a0000}-535.o(StubCode)
-    theImportedSymbol                        0x00008d64   Data           0  eikcore{000a0000}-535.o(StubCode)
-    StubCode                                 0x00008d68   Section        8  eikcore{000a0000}-536.o(StubCode)
-    theImportedSymbol                        0x00008d6c   Data           0  eikcore{000a0000}-536.o(StubCode)
-    StubCode                                 0x00008d70   Section        8  eikcore{000a0000}-537.o(StubCode)
-    theImportedSymbol                        0x00008d74   Data           0  eikcore{000a0000}-537.o(StubCode)
-    StubCode                                 0x00008d78   Section        8  eikcore{000a0000}-565.o(StubCode)
-    theImportedSymbol                        0x00008d7c   Data           0  eikcore{000a0000}-565.o(StubCode)
-    StubCode                                 0x00008d80   Section        8  eikcore{000a0000}-61.o(StubCode)
-    theImportedSymbol                        0x00008d84   Data           0  eikcore{000a0000}-61.o(StubCode)
-    StubCode                                 0x00008d88   Section        8  eikcore{000a0000}-62.o(StubCode)
-    theImportedSymbol                        0x00008d8c   Data           0  eikcore{000a0000}-62.o(StubCode)
-    StubCode                                 0x00008d90   Section        8  eikcore{000a0000}-63.o(StubCode)
-    theImportedSymbol                        0x00008d94   Data           0  eikcore{000a0000}-63.o(StubCode)
-    StubCode                                 0x00008d98   Section        8  eikcore{000a0000}-64.o(StubCode)
-    theImportedSymbol                        0x00008d9c   Data           0  eikcore{000a0000}-64.o(StubCode)
-    StubCode                                 0x00008da0   Section        8  eikcore{000a0000}-67.o(StubCode)
-    theImportedSymbol                        0x00008da4   Data           0  eikcore{000a0000}-67.o(StubCode)
-    StubCode                                 0x00008da8   Section        8  eikcore{000a0000}-72.o(StubCode)
-    theImportedSymbol                        0x00008dac   Data           0  eikcore{000a0000}-72.o(StubCode)
-    StubCode                                 0x00008db0   Section        8  eikcore{000a0000}-73.o(StubCode)
-    theImportedSymbol                        0x00008db4   Data           0  eikcore{000a0000}-73.o(StubCode)
-    StubCode                                 0x00008db8   Section        8  eikcore{000a0000}-74.o(StubCode)
-    theImportedSymbol                        0x00008dbc   Data           0  eikcore{000a0000}-74.o(StubCode)
-    StubCode                                 0x00008dc0   Section        8  eikcore{000a0000}-75.o(StubCode)
-    theImportedSymbol                        0x00008dc4   Data           0  eikcore{000a0000}-75.o(StubCode)
-    StubCode                                 0x00008dc8   Section        8  eikcore{000a0000}-77.o(StubCode)
-    theImportedSymbol                        0x00008dcc   Data           0  eikcore{000a0000}-77.o(StubCode)
-    StubCode                                 0x00008dd0   Section        8  eikcore{000a0000}-78.o(StubCode)
-    theImportedSymbol                        0x00008dd4   Data           0  eikcore{000a0000}-78.o(StubCode)
-    StubCode                                 0x00008dd8   Section        8  eikcore{000a0000}-79.o(StubCode)
-    theImportedSymbol                        0x00008ddc   Data           0  eikcore{000a0000}-79.o(StubCode)
-    StubCode                                 0x00008de0   Section        8  ws32{000a0000}-211.o(StubCode)
-    theImportedSymbol                        0x00008de4   Data           0  ws32{000a0000}-211.o(StubCode)
-    StubCode                                 0x00008de8   Section        8  gdi{000a0000}-312.o(StubCode)
-    theImportedSymbol                        0x00008dec   Data           0  gdi{000a0000}-312.o(StubCode)
-    StubCode                                 0x00008df0   Section        8  avkon{000a0000}-1132.o(StubCode)
-    theImportedSymbol                        0x00008df4   Data           0  avkon{000a0000}-1132.o(StubCode)
-    StubCode                                 0x00008df8   Section        8  avkon{000a0000}-129.o(StubCode)
-    theImportedSymbol                        0x00008dfc   Data           0  avkon{000a0000}-129.o(StubCode)
-    StubCode                                 0x00008e00   Section        8  avkon{000a0000}-130.o(StubCode)
-    theImportedSymbol                        0x00008e04   Data           0  avkon{000a0000}-130.o(StubCode)
-    StubCode                                 0x00008e08   Section        8  avkon{000a0000}-131.o(StubCode)
-    theImportedSymbol                        0x00008e0c   Data           0  avkon{000a0000}-131.o(StubCode)
-    StubCode                                 0x00008e10   Section        8  avkon{000a0000}-1350.o(StubCode)
-    theImportedSymbol                        0x00008e14   Data           0  avkon{000a0000}-1350.o(StubCode)
-    StubCode                                 0x00008e18   Section        8  avkon{000a0000}-1351.o(StubCode)
-    theImportedSymbol                        0x00008e1c   Data           0  avkon{000a0000}-1351.o(StubCode)
-    StubCode                                 0x00008e20   Section        8  avkon{000a0000}-1366.o(StubCode)
-    theImportedSymbol                        0x00008e24   Data           0  avkon{000a0000}-1366.o(StubCode)
-    StubCode                                 0x00008e28   Section        8  avkon{000a0000}-198.o(StubCode)
-    theImportedSymbol                        0x00008e2c   Data           0  avkon{000a0000}-198.o(StubCode)
-    StubCode                                 0x00008e30   Section        8  avkon{000a0000}-199.o(StubCode)
-    theImportedSymbol                        0x00008e34   Data           0  avkon{000a0000}-199.o(StubCode)
-    StubCode                                 0x00008e38   Section        8  avkon{000a0000}-201.o(StubCode)
-    theImportedSymbol                        0x00008e3c   Data           0  avkon{000a0000}-201.o(StubCode)
-    StubCode                                 0x00008e40   Section        8  avkon{000a0000}-206.o(StubCode)
-    theImportedSymbol                        0x00008e44   Data           0  avkon{000a0000}-206.o(StubCode)
-    StubCode                                 0x00008e48   Section        8  avkon{000a0000}-211.o(StubCode)
-    theImportedSymbol                        0x00008e4c   Data           0  avkon{000a0000}-211.o(StubCode)
-    StubCode                                 0x00008e50   Section        8  avkon{000a0000}-213.o(StubCode)
-    theImportedSymbol                        0x00008e54   Data           0  avkon{000a0000}-213.o(StubCode)
-    StubCode                                 0x00008e58   Section        8  avkon{000a0000}-214.o(StubCode)
-    theImportedSymbol                        0x00008e5c   Data           0  avkon{000a0000}-214.o(StubCode)
-    StubCode                                 0x00008e60   Section        8  avkon{000a0000}-215.o(StubCode)
-    theImportedSymbol                        0x00008e64   Data           0  avkon{000a0000}-215.o(StubCode)
-    StubCode                                 0x00008e68   Section        8  avkon{000a0000}-216.o(StubCode)
-    theImportedSymbol                        0x00008e6c   Data           0  avkon{000a0000}-216.o(StubCode)
-    StubCode                                 0x00008e70   Section        8  avkon{000a0000}-217.o(StubCode)
-    theImportedSymbol                        0x00008e74   Data           0  avkon{000a0000}-217.o(StubCode)
-    StubCode                                 0x00008e78   Section        8  avkon{000a0000}-220.o(StubCode)
-    theImportedSymbol                        0x00008e7c   Data           0  avkon{000a0000}-220.o(StubCode)
-    StubCode                                 0x00008e80   Section        8  avkon{000a0000}-2920.o(StubCode)
-    theImportedSymbol                        0x00008e84   Data           0  avkon{000a0000}-2920.o(StubCode)
-    StubCode                                 0x00008e88   Section        8  avkon{000a0000}-2922.o(StubCode)
-    theImportedSymbol                        0x00008e8c   Data           0  avkon{000a0000}-2922.o(StubCode)
-    StubCode                                 0x00008e90   Section        8  avkon{000a0000}-2924.o(StubCode)
-    theImportedSymbol                        0x00008e94   Data           0  avkon{000a0000}-2924.o(StubCode)
-    StubCode                                 0x00008e98   Section        8  avkon{000a0000}-2925.o(StubCode)
-    theImportedSymbol                        0x00008e9c   Data           0  avkon{000a0000}-2925.o(StubCode)
-    StubCode                                 0x00008ea0   Section        8  avkon{000a0000}-2926.o(StubCode)
-    theImportedSymbol                        0x00008ea4   Data           0  avkon{000a0000}-2926.o(StubCode)
-    StubCode                                 0x00008ea8   Section        8  avkon{000a0000}-2928.o(StubCode)
-    theImportedSymbol                        0x00008eac   Data           0  avkon{000a0000}-2928.o(StubCode)
-    StubCode                                 0x00008eb0   Section        8  avkon{000a0000}-2929.o(StubCode)
-    theImportedSymbol                        0x00008eb4   Data           0  avkon{000a0000}-2929.o(StubCode)
-    StubCode                                 0x00008eb8   Section        8  avkon{000a0000}-2930.o(StubCode)
-    theImportedSymbol                        0x00008ebc   Data           0  avkon{000a0000}-2930.o(StubCode)
-    StubCode                                 0x00008ec0   Section        8  avkon{000a0000}-2931.o(StubCode)
-    theImportedSymbol                        0x00008ec4   Data           0  avkon{000a0000}-2931.o(StubCode)
-    StubCode                                 0x00008ec8   Section        8  avkon{000a0000}-2932.o(StubCode)
-    theImportedSymbol                        0x00008ecc   Data           0  avkon{000a0000}-2932.o(StubCode)
-    StubCode                                 0x00008ed0   Section        8  avkon{000a0000}-2934.o(StubCode)
-    theImportedSymbol                        0x00008ed4   Data           0  avkon{000a0000}-2934.o(StubCode)
-    StubCode                                 0x00008ed8   Section        8  avkon{000a0000}-2935.o(StubCode)
-    theImportedSymbol                        0x00008edc   Data           0  avkon{000a0000}-2935.o(StubCode)
-    StubCode                                 0x00008ee0   Section        8  avkon{000a0000}-2938.o(StubCode)
-    theImportedSymbol                        0x00008ee4   Data           0  avkon{000a0000}-2938.o(StubCode)
-    StubCode                                 0x00008ee8   Section        8  avkon{000a0000}-2993.o(StubCode)
-    theImportedSymbol                        0x00008eec   Data           0  avkon{000a0000}-2993.o(StubCode)
-    StubCode                                 0x00008ef0   Section        8  avkon{000a0000}-2997.o(StubCode)
-    theImportedSymbol                        0x00008ef4   Data           0  avkon{000a0000}-2997.o(StubCode)
-    StubCode                                 0x00008ef8   Section        8  avkon{000a0000}-3826.o(StubCode)
-    theImportedSymbol                        0x00008efc   Data           0  avkon{000a0000}-3826.o(StubCode)
-    StubCode                                 0x00008f00   Section        8  avkon{000a0000}-3862.o(StubCode)
-    theImportedSymbol                        0x00008f04   Data           0  avkon{000a0000}-3862.o(StubCode)
-    StubCode                                 0x00008f08   Section        8  avkon{000a0000}-3868.o(StubCode)
-    theImportedSymbol                        0x00008f0c   Data           0  avkon{000a0000}-3868.o(StubCode)
-    StubCode                                 0x00008f10   Section        8  avkon{000a0000}-4021.o(StubCode)
-    theImportedSymbol                        0x00008f14   Data           0  avkon{000a0000}-4021.o(StubCode)
-    StubCode                                 0x00008f18   Section        8  avkon{000a0000}-4030.o(StubCode)
-    theImportedSymbol                        0x00008f1c   Data           0  avkon{000a0000}-4030.o(StubCode)
-    StubCode                                 0x00008f20   Section        8  eposlandmarks{000a0000}-12.o(StubCode)
-    theImportedSymbol                        0x00008f24   Data           0  eposlandmarks{000a0000}-12.o(StubCode)
-    StubCode                                 0x00008f28   Section        8  eposlandmarks{000a0000}-13.o(StubCode)
-    theImportedSymbol                        0x00008f2c   Data           0  eposlandmarks{000a0000}-13.o(StubCode)
-    StubCode                                 0x00008f30   Section        8  eposlandmarks{000a0000}-65.o(StubCode)
-    theImportedSymbol                        0x00008f34   Data           0  eposlandmarks{000a0000}-65.o(StubCode)
-    StubCode                                 0x00008f38   Section        8  eposlandmarks{000a0000}-68.o(StubCode)
-    theImportedSymbol                        0x00008f3c   Data           0  eposlandmarks{000a0000}-68.o(StubCode)
-    StubCode                                 0x00008f40   Section        8  lbs{000a0000}-207.o(StubCode)
-    theImportedSymbol                        0x00008f44   Data           0  lbs{000a0000}-207.o(StubCode)
-    StubCode                                 0x00008f48   Section        8  lbs{000a0000}-23.o(StubCode)
-    theImportedSymbol                        0x00008f4c   Data           0  lbs{000a0000}-23.o(StubCode)
-    StubCode                                 0x00008f50   Section        8  mnservicelib{000a0000}-1.o(StubCode)
-    theImportedSymbol                        0x00008f54   Data           0  mnservicelib{000a0000}-1.o(StubCode)
-    StubCode                                 0x00008f58   Section        8  mnservicelib{000a0000}-2.o(StubCode)
-    theImportedSymbol                        0x00008f5c   Data           0  mnservicelib{000a0000}-2.o(StubCode)
-    StubCode                                 0x00008f60   Section        8  mnservicelib{000a0000}-21.o(StubCode)
-    theImportedSymbol                        0x00008f64   Data           0  mnservicelib{000a0000}-21.o(StubCode)
-    StubCode                                 0x00008f68   Section        8  mnservicelib{000a0000}-22.o(StubCode)
-    theImportedSymbol                        0x00008f6c   Data           0  mnservicelib{000a0000}-22.o(StubCode)
-    StubCode                                 0x00008f70   Section        8  mnservicelib{000a0000}-23.o(StubCode)
-    theImportedSymbol                        0x00008f74   Data           0  mnservicelib{000a0000}-23.o(StubCode)
-    StubCode                                 0x00008f78   Section        8  mnservicelib{000a0000}-24.o(StubCode)
-    theImportedSymbol                        0x00008f7c   Data           0  mnservicelib{000a0000}-24.o(StubCode)
-    StubCode                                 0x00008f80   Section        8  mnservicelib{000a0000}-27.o(StubCode)
-    theImportedSymbol                        0x00008f84   Data           0  mnservicelib{000a0000}-27.o(StubCode)
-    StubCode                                 0x00008f88   Section        8  mnservicelib{000a0000}-34.o(StubCode)
-    theImportedSymbol                        0x00008f8c   Data           0  mnservicelib{000a0000}-34.o(StubCode)
-    StubCode                                 0x00008f90   Section        8  mnservicelib{000a0000}-45.o(StubCode)
-    theImportedSymbol                        0x00008f94   Data           0  mnservicelib{000a0000}-45.o(StubCode)
-    StubCode                                 0x00008f98   Section        8  mnservicelib{000a0000}-46.o(StubCode)
-    theImportedSymbol                        0x00008f9c   Data           0  mnservicelib{000a0000}-46.o(StubCode)
-    StubCode                                 0x00008fa0   Section        8  mnservicelib{000a0000}-47.o(StubCode)
-    theImportedSymbol                        0x00008fa4   Data           0  mnservicelib{000a0000}-47.o(StubCode)
-    StubCode                                 0x00008fa8   Section        8  mnservicelib{000a0000}-49.o(StubCode)
-    theImportedSymbol                        0x00008fac   Data           0  mnservicelib{000a0000}-49.o(StubCode)
-    StubCode                                 0x00008fb0   Section        8  mnservicelib{000a0000}-50.o(StubCode)
-    theImportedSymbol                        0x00008fb4   Data           0  mnservicelib{000a0000}-50.o(StubCode)
-    StubCode                                 0x00008fb8   Section        8  mnservicelib{000a0000}-53.o(StubCode)
-    theImportedSymbol                        0x00008fbc   Data           0  mnservicelib{000a0000}-53.o(StubCode)
-    StubCode                                 0x00008fc0   Section        8  mnservicelib{000a0000}-56.o(StubCode)
-    theImportedSymbol                        0x00008fc4   Data           0  mnservicelib{000a0000}-56.o(StubCode)
-    StubCode                                 0x00008fc8   Section        8  mnrefproviderengine{000a0000}-10.o(StubCode)
-    theImportedSymbol                        0x00008fcc   Data           0  mnrefproviderengine{000a0000}-10.o(StubCode)
-    StubCode                                 0x00008fd0   Section        8  mnrefproviderengine{000a0000}-12.o(StubCode)
-    theImportedSymbol                        0x00008fd4   Data           0  mnrefproviderengine{000a0000}-12.o(StubCode)
-    StubCode                                 0x00008fd8   Section        8  mnrefproviderengine{000a0000}-18.o(StubCode)
-    theImportedSymbol                        0x00008fdc   Data           0  mnrefproviderengine{000a0000}-18.o(StubCode)
-    StubCode                                 0x00008fe0   Section        8  mnrefproviderengine{000a0000}-19.o(StubCode)
-    theImportedSymbol                        0x00008fe4   Data           0  mnrefproviderengine{000a0000}-19.o(StubCode)
-    StubCode                                 0x00008fe8   Section        8  mnrefproviderengine{000a0000}-21.o(StubCode)
-    theImportedSymbol                        0x00008fec   Data           0  mnrefproviderengine{000a0000}-21.o(StubCode)
-    StubCode                                 0x00008ff0   Section        8  mnrefproviderengine{000a0000}-4.o(StubCode)
-    theImportedSymbol                        0x00008ff4   Data           0  mnrefproviderengine{000a0000}-4.o(StubCode)
-    StubCode                                 0x00008ff8   Section        8  mnrefproviderengine{000a0000}-5.o(StubCode)
-    theImportedSymbol                        0x00008ffc   Data           0  mnrefproviderengine{000a0000}-5.o(StubCode)
-    StubCode                                 0x00009000   Section        8  mnrefproviderengine{000a0000}-54.o(StubCode)
-    theImportedSymbol                        0x00009004   Data           0  mnrefproviderengine{000a0000}-54.o(StubCode)
-    StubCode                                 0x00009008   Section        8  mnrefproviderengine{000a0000}-6.o(StubCode)
-    theImportedSymbol                        0x0000900c   Data           0  mnrefproviderengine{000a0000}-6.o(StubCode)
-    StubCode                                 0x00009010   Section        8  drtaeabi{000a0000}-144.o(StubCode)
-    theImportedSymbol                        0x00009014   Data           0  drtaeabi{000a0000}-144.o(StubCode)
-    StubCode                                 0x00009018   Section        8  drtaeabi{000a0000}-158.o(StubCode)
-    theImportedSymbol                        0x0000901c   Data           0  drtaeabi{000a0000}-158.o(StubCode)
-    StubCode                                 0x00009020   Section        8  drtaeabi{000a0000}-159.o(StubCode)
-    theImportedSymbol                        0x00009024   Data           0  drtaeabi{000a0000}-159.o(StubCode)
-    StubCode                                 0x00009028   Section        8  drtaeabi{000a0000}-180.o(StubCode)
-    theImportedSymbol                        0x0000902c   Data           0  drtaeabi{000a0000}-180.o(StubCode)
-    StubCode                                 0x00009030   Section        8  drtaeabi{000a0000}-182.o(StubCode)
-    theImportedSymbol                        0x00009034   Data           0  drtaeabi{000a0000}-182.o(StubCode)
-    StubCode                                 0x00009038   Section        8  drtaeabi{000a0000}-183.o(StubCode)
-    theImportedSymbol                        0x0000903c   Data           0  drtaeabi{000a0000}-183.o(StubCode)
-    StubCode                                 0x00009040   Section        8  drtaeabi{000a0000}-184.o(StubCode)
-    theImportedSymbol                        0x00009044   Data           0  drtaeabi{000a0000}-184.o(StubCode)
-    StubCode                                 0x00009048   Section        8  drtaeabi{000a0000}-189.o(StubCode)
-    theImportedSymbol                        0x0000904c   Data           0  drtaeabi{000a0000}-189.o(StubCode)
-    StubCode                                 0x00009050   Section        8  scppnwdl{000a0000}-3.o(StubCode)
-    theImportedSymbol                        0x00009054   Data           0  scppnwdl{000a0000}-3.o(StubCode)
-    StubCode                                 0x00009058   Section        8  euser{000a0000}-1360.o(StubCode)
-    theImportedSymbol                        0x0000905c   Data           0  euser{000a0000}-1360.o(StubCode)
-    StubCode                                 0x00009060   Section        8  euser{000a0000}-641.o(StubCode)
-    theImportedSymbol                        0x00009064   Data           0  euser{000a0000}-641.o(StubCode)
-    StubCode                                 0x00009068   Section        8  euser{000a0000}-585.o(StubCode)
-    theImportedSymbol                        0x0000906c   Data           0  euser{000a0000}-585.o(StubCode)
-    StubCode                                 0x00009070   Section        8  euser{000a0000}-650.o(StubCode)
-    theImportedSymbol                        0x00009074   Data           0  euser{000a0000}-650.o(StubCode)
-    StubCode                                 0x00009078   Section        8  drtaeabi{000a0000}-204.o(StubCode)
-    theImportedSymbol                        0x0000907c   Data           0  drtaeabi{000a0000}-204.o(StubCode)
-    i._ZN12CApaDocument16DetachFromStoreLEN8CPicture7TDetachE 0x00009080   Section        2  mnrefproviderback.in(i._ZN12CApaDocument16DetachFromStoreLEN8CPicture7TDetachE)
-    i._ZN14CMnrpAppUiBackC1Ev                0x00009084   Section       60  mnrefproviderback.in(i._ZN14CMnrpAppUiBackC1Ev)
-    i._ZN14CMnrpAppUiBackC1Ev.clean          0x000090c0   Section       10  mnrefproviderback.in(i._ZN14CMnrpAppUiBackC1Ev.clean)
-    i._ZN14CMnrpAppUiBackD0Ev                0x000090ca   Section       16  mnrefproviderback.in(i._ZN14CMnrpAppUiBackD0Ev)
-    i._ZN14CMnrpAppUiBackD1Ev                0x000090da   Section        8  mnrefproviderback.in(i._ZN14CMnrpAppUiBackD1Ev)
-    i._ZN17CMnrpDocumentBackD0Ev             0x000090e2   Section       16  mnrefproviderback.in(i._ZN17CMnrpDocumentBackD0Ev)
-    i._ZN17CMnrpDocumentBackD1Ev             0x000090f2   Section        8  mnrefproviderback.in(i._ZN17CMnrpDocumentBackD1Ev)
-    i._ZN20CMnrpApplicationBackD0Ev          0x000090fa   Section       16  mnrefproviderback.in(i._ZN20CMnrpApplicationBackD0Ev)
-    i._ZN20CMnrpApplicationBackD1Ev          0x0000910a   Section        8  mnrefproviderback.in(i._ZN20CMnrpApplicationBackD1Ev)
-    i._ZN5CBasenwEj                          0x00009112   Section        8  mnrefproviderback.in(i._ZN5CBasenwEj)
-    t._ZNK13RPointerArrayI12CPosLandmarkE5CountEv 0x0000911a   Section        8  mnrefproviderback.in(t._ZNK13RPointerArrayI12CPosLandmarkE5CountEv)
-    .ARM.extab                               0x00009124   Section       16  uc_exe_.o(.ARM.extab)
-    .extab._Z14NewApplicationv               0x00009134   Data           0  mnrefproviderback.in(.ARM.extab)
-    .extab._ZN5CBasenwEj                     0x00009144   Data           0  mnrefproviderback.in(.ARM.extab)
-    .extab._ZN14CMnrpAppUiBackC1Ev           0x00009154   Data           0  mnrefproviderback.in(.ARM.extab)
-    .extab._ZN18CMnrpAppServerBackD1Ev       0x00009164   Data           0  mnrefproviderback.in(.ARM.extab)
-    .extab._ZN21CMnrpGeocodingServiceD1Ev    0x00009174   Data           0  mnrefproviderback.in(.ARM.extab)
-    .extab._ZN21CMnrpGeocodingService24HandleGeocodingCompletedEv 0x00009184   Data           0  mnrefproviderback.in(.ARM.extab)
-    .extab._ZN20CMnrpMapImageServiceD1Ev     0x000091ac   Data           0  mnrefproviderback.in(.ARM.extab)
-    .extab._ZN20CMnrpMapImageService24HandleMapImageCompletedLEv 0x000091bc   Data           0  mnrefproviderback.in(.ARM.extab)
-    .extab._ZN20CMnrpMapImageService26MapImageProcessingCallBackEPv 0x000091e4   Data           0  mnrefproviderback.in(.ARM.extab)
-    .extab.CallThrdProcEntry                 0x0000920c   Data           0  callfirstprocessfn.o(.ARM.extab)
-    .constdata$1                             0x00009228   Data           0  mnrefproviderback.in(.constdata)
-    KUidMnRefProviderBackApp                 0x00009228   Data           4  mnrefproviderback.in(.constdata)
-    .constdata                               0x00009228   Section        4  mnrefproviderback.in(.constdata)
-    .constdata$1                             0x0000922c   Data           0  callfirstprocessfn.o(.constdata)
-    KLitUser                                 0x0000922c   Data          16  callfirstprocessfn.o(.constdata)
-    .constdata                               0x0000922c   Section       16  callfirstprocessfn.o(.constdata)
-    .constdata__ZTI14CMnrpAppUiBack          0x0000923c   Section       12  mnrefproviderback.in(.constdata__ZTI14CMnrpAppUiBack)
-    .constdata__ZTI17CMnrpDocumentBack       0x00009248   Section       12  mnrefproviderback.in(.constdata__ZTI17CMnrpDocumentBack)
-    .constdata__ZTI18CMnrpAppServerBack      0x00009254   Section       12  mnrefproviderback.in(.constdata__ZTI18CMnrpAppServerBack)
-    .constdata__ZTI20CMnrpApplicationBack    0x00009260   Section       12  mnrefproviderback.in(.constdata__ZTI20CMnrpApplicationBack)
-    .constdata__ZTI20CMnrpMapImageService    0x0000926c   Section       12  mnrefproviderback.in(.constdata__ZTI20CMnrpMapImageService)
-    .constdata__ZTI21CMnrpGeocodingService   0x00009278   Section       12  mnrefproviderback.in(.constdata__ZTI21CMnrpGeocodingService)
-    .constdata__ZTI22MEikStatusPaneObserver  0x00009284   Section        8  mnrefproviderback.in(.constdata__ZTI22MEikStatusPaneObserver)
-    .constdata__ZTS14CMnrpAppUiBack          0x0000928c   Section       17  mnrefproviderback.in(.constdata__ZTS14CMnrpAppUiBack)
-    .constdata__ZTS17CMnrpDocumentBack       0x0000929d   Section       20  mnrefproviderback.in(.constdata__ZTS17CMnrpDocumentBack)
-    .constdata__ZTS18CMnrpAppServerBack      0x000092b1   Section       21  mnrefproviderback.in(.constdata__ZTS18CMnrpAppServerBack)
-    .constdata__ZTS20CMnrpApplicationBack    0x000092c6   Section       23  mnrefproviderback.in(.constdata__ZTS20CMnrpApplicationBack)
-    .constdata__ZTS20CMnrpMapImageService    0x000092dd   Section       23  mnrefproviderback.in(.constdata__ZTS20CMnrpMapImageService)
-    .constdata__ZTS21CMnrpGeocodingService   0x000092f4   Section       24  mnrefproviderback.in(.constdata__ZTS21CMnrpGeocodingService)
-    .constdata__ZTS22MEikStatusPaneObserver  0x0000930c   Section       25  mnrefproviderback.in(.constdata__ZTS22MEikStatusPaneObserver)
-    .constdata__ZTV14CMnrpAppUiBack          0x00009328   Section      340  mnrefproviderback.in(.constdata__ZTV14CMnrpAppUiBack)
-    .constdata__ZTV17CMnrpDocumentBack       0x0000947c   Section      112  mnrefproviderback.in(.constdata__ZTV17CMnrpDocumentBack)
-    .constdata__ZTV18CMnrpAppServerBack      0x000094ec   Section       76  mnrefproviderback.in(.constdata__ZTV18CMnrpAppServerBack)
-    .constdata__ZTV20CMnrpApplicationBack    0x00009538   Section       80  mnrefproviderback.in(.constdata__ZTV20CMnrpApplicationBack)
-    .constdata__ZTV20CMnrpMapImageService    0x00009588   Section       64  mnrefproviderback.in(.constdata__ZTV20CMnrpMapImageService)
-    .constdata__ZTV21CMnrpGeocodingService   0x000095c8   Section       72  mnrefproviderback.in(.constdata__ZTV21CMnrpGeocodingService)
-    .constdata__ZTV22MEikStatusPaneObserver  0x00009610   Section       12  mnrefproviderback.in(.constdata__ZTV22MEikStatusPaneObserver)
-    .init_array                              0x0000961c   Section        4  mnrefproviderback.in(.init_array)
-    .ARM.exidx                               0x00009620   Section        8  uc_exe_.o(.ARM.exidx)
-    .ARM.exidx                               0x00009628   Section        8  ucppinit_aeabi.o(.ARM.exidx)
-    .data$0                                  0x00400000   Data           0  mnrefproviderback.in(.data)
-    KProcessingDelay                         0x00400000   Data           4  mnrefproviderback.in(.data)
-    .data                                    0x00400000   Section        4  mnrefproviderback.in(.data)
-
-    Global Symbols
-
-    Symbol Name                              Value     Ov Type        Size  Object(Section)
-
-    BuildAttributes$$THUMB_ISAv3$ARM_ISAv6$M$E$P$PE$A:L22$X:L11$S22$IEEE1$IW$USESV6$~STKCKD$USESV7$~SHL$OSPACE$IEEEJ$EBA8$UX$REQ8$PRES8$EABIv2 0x00000000   Number         0  anon$$obj.o ABSOLUTE
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>111  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>112  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>113  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>117  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>118  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>11c  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>11d  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>11e  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>11f  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>1e  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>79  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>84  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>ab  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>c0  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>c2  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>ca  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>de  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>e8  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>46c  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>546  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>547  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>556  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>81  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>82  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>83  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b68  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b6a  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b6c  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b6d  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b6e  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b70  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b71  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b72  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b73  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b74  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b76  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b77  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b7a  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>bb1  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>bb5  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>c6  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>c7  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>c9  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>ce  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d3  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d5  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d6  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d7  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d8  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d9  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>dc  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>ef2  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>f16  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>f1c  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>fb5  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>fbe  - Undefined Reference
-    #<DLL>bafl{000a0000}[10003a0f].dll#<\DLL>2b  - Undefined Reference
-    #<DLL>bafl{000a0000}[10003a0f].dll#<\DLL>62  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>15f  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>163  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>27e  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>27f  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>298  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>2a4  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>2a5  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>64  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>65  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>7f  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>80  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>b6  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>d2  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>d4  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>dc  - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>90     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>9e     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>9f     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>b4     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>b6     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>b7     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>b8     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>bd     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>cc     - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>12  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>123  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>125  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>126  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>127  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>128  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>129  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>12a  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>12b  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>12e  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>13d  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>14  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>160  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>186  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>188  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>18a  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>19  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1a  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1b  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1c  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1d  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1d3  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1df  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1e  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1ea  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1f  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1fa  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>20b  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>214  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>215  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>216  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>217  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>218  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>219  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>235  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>25  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>3d  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>3e  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>3f  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>40  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>43  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>48  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>49  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>4a  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>4b  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>4d  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>4e  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>4f  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>8d  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>8e  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>8f  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>90  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>93  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>98  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>9b  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>9e  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>9f  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>a6  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>a9  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>ab  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>af  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>41  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>44  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>c  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>d  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1d7  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1da  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1e1  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>249  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>265  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>281  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>289  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>28a  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>28c  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>28e  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>29d  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>2a7  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>2a9  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>346  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>440  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>45c  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>45f  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>493  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>508  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>550  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>563  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>565  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>636  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>639  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>719  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>7cb  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>7cd  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>7cf  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>80c  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>80d  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>822  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>848  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>84b  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>84d  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>853  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>cb  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>cd  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>cf  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>d0  - Undefined Reference
-    #<DLL>gdi{000a0000}[10003b15].dll#<\DLL>138  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>17  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>cf  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>12  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>13  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>15  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>36  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>4  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>5  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>6  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>a  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>c  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>1  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>15  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>16  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>17  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>18  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>1b  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>2  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>22  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>2d  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>2e  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>2f  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>31  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>32  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>35  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>38  - Undefined Reference
-    #<DLL>scppnwdl{000a0000}.dll#<\DLL>3      - Undefined Reference
-    #<DLL>ws32{000a0000}[10003b21].dll#<\DLL>d3  - Undefined Reference
-    typeinfo for CAknDocument                 - Undefined Reference
-    typeinfo for CAknAppServer                - Undefined Reference
-    typeinfo for CEikApplication              - Undefined Reference
-    typeinfo for XLeaveException              - Undefined Reference
-    typeinfo for CMnMapImageServiceBase       - Undefined Reference
-    typeinfo for CMnGeocodingServiceBase      - Undefined Reference
-    typeinfo for CBase                        - Undefined Reference
-    typeinfo for CAknAppUi                    - Undefined Reference
-    vtable for __cxxabiv1::__class_type_info  - Undefined Reference
-    vtable for __cxxabiv1::__si_class_type_info  - Undefined Reference
-    _fp_init                                  - Undefined Weak Reference
-    Image$$ER_RO$$Base                       0x00008000   Number         0  anon$$obj.o(linker$$defined$$symbols)
-    _E32Startup                              0x00008000   ARM Code     112  uc_exe_.o(.emb_text)
-    Symbian$$CPP$$Exception$$Descriptor      0x0000805c   Data           0  uc_exe_.o(.emb_text)
-    __cpp_initialize__aeabi_                 0x00008070   ARM Code      72  ucppinit_aeabi.o(.emb_text)
-    std::nothrow                             0x000080b8   ARM Code       0  ucppinit_aeabi.o(.emb_text)
-    Inline ARM to Thumb Veneer to _xxxx_call_user_invariant 0x000080b8   ARM Code       0  uc_exe_.o(.text)
-    _xxxx_call_user_invariant                0x000080c1   Thumb Code     8  uc_exe_.o(.text)
-    _xxxx_call_user_handle_exception         0x000080c9   Thumb Code     8  uc_exe_.o(.text)
-    E32Main()                                0x000080ef   Thumb Code    22  mnrefproviderback.in(.text)
-    CMnrpApplicationBack::AppDllUid() const  0x0000810d   Thumb Code     6  mnrefproviderback.in(.text)
-    CMnrpApplicationBack::CreateDocumentL()  0x00008113   Thumb Code     8  mnrefproviderback.in(.text)
-    CMnrpApplicationBack::NewAppServerL(CApaAppServer*&) 0x0000811b   Thumb Code    12  mnrefproviderback.in(.text)
-    CMnrpAppUiBack::ConstructL()             0x0000812d   Thumb Code    12  mnrefproviderback.in(.text)
-    CMnrpAppUiBack::MoveForeground()         0x00008139   Thumb Code    14  mnrefproviderback.in(.text)
-    CMnrpAppUiBack::MoveBackground()         0x00008147   Thumb Code    16  mnrefproviderback.in(.text)
-    CMnrpAppUiBack::HandleCommandL(int)      0x00008157   Thumb Code    20  mnrefproviderback.in(.text)
-    CMnrpDocumentBack::CMnrpDocumentBack(CEikApplication&) 0x00008171   Thumb Code    16  mnrefproviderback.in(.text)
-    CMnrpDocumentBack::CMnrpDocumentBack__sub_object(CEikApplication&) 0x00008171   Thumb Code     0  mnrefproviderback.in(.text)
-    CMnrpDocumentBack::NewL(CEikApplication&) 0x00008181   Thumb Code    18  mnrefproviderback.in(.text)
-    CMnrpDocumentBack::CreateAppUiL()        0x00008193   Thumb Code    24  mnrefproviderback.in(.text)
-    CMnrpAppServerBack::ConstructL()         0x000081b1   Thumb Code    12  mnrefproviderback.in(.text)
-    CMnrpAppServerBack::NewL()               0x000081bd   Thumb Code    48  mnrefproviderback.in(.text)
-    CMnrpAppServerBack::~CMnrpAppServerBack() 0x000081ed   Thumb Code    28  mnrefproviderback.in(.text)
-    CMnrpAppServerBack::~CMnrpAppServerBack__sub_object() 0x000081ed   Thumb Code     0  mnrefproviderback.in(.text)
-    CMnrpAppServerBack::~CMnrpAppServerBack__deallocating() 0x00008209   Thumb Code    16  mnrefproviderback.in(.text)
-    CMnrpAppServerBack::CreateMapImageServiceL() const 0x00008219   Thumb Code    10  mnrefproviderback.in(.text)
-    CMnrpAppServerBack::CreateGeocodingServiceL() const 0x00008223   Thumb Code    10  mnrefproviderback.in(.text)
-    CMnrpAppServerBack::CreateServiceL(TUid) const 0x0000822d   Thumb Code    32  mnrefproviderback.in(.text)
-    CleanupLandmarksArray(void*)             0x00008259   Thumb Code    48  mnrefproviderback.in(.text)
-    CleanupForeground(void*)                 0x00008289   Thumb Code     8  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::ConstructL()      0x00008291   Thumb Code    20  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::CMnrpGeocodingService(CMnrpEngine&) 0x000082a5   Thumb Code    16  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::CMnrpGeocodingService__sub_object(CMnrpEngine&) 0x000082a5   Thumb Code     0  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::NewL(CMnrpEngine&) 0x000082b5   Thumb Code    36  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::~CMnrpGeocodingService() 0x000082d9   Thumb Code    46  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::~CMnrpGeocodingService__sub_object() 0x000082d9   Thumb Code     0  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::~CMnrpGeocodingService__deallocating() 0x00008307   Thumb Code    16  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::LeaveIfBusyL()    0x00008317   Thumb Code    22  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::LetUserSelectBestMatchL(const CPosLandmark&) 0x0000832d   Thumb Code   318  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::FinishProcessingL() 0x0000846b   Thumb Code   130  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::HandleGeocodingCompleted() 0x000084ed   Thumb Code    72  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::GeocodingProcessingCallBack(void*) 0x00008535   Thumb Code    10  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::StartProcessingL() 0x0000853f   Thumb Code    14  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::HandleFindAddressByCoordinateL(const CPosLandmark&) 0x0000854d   Thumb Code    60  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::HandleFindCoordinateByAddressL(const CPosLandmark&) 0x00008589   Thumb Code    60  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::HandleFindCoordinateByAddressL(const TDesC16&) 0x000085c5   Thumb Code    74  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::DoCancel()        0x0000860f   Thumb Code    16  mnrefproviderback.in(.text)
-    CMnrpMapImageService::CreateFonts()      0x00008635   Thumb Code    64  mnrefproviderback.in(.text)
-    CMnrpMapImageService::ConstructL()       0x00008675   Thumb Code    44  mnrefproviderback.in(.text)
-    CMnrpMapImageService::CMnrpMapImageService(CMnrpEngine&) 0x000086a1   Thumb Code    20  mnrefproviderback.in(.text)
-    CMnrpMapImageService::CMnrpMapImageService__sub_object(CMnrpEngine&) 0x000086a1   Thumb Code     0  mnrefproviderback.in(.text)
-    CMnrpMapImageService::NewL(CMnrpEngine&) 0x000086b5   Thumb Code    36  mnrefproviderback.in(.text)
-    CMnrpMapImageService::DestroyFonts()     0x000086d9   Thumb Code    32  mnrefproviderback.in(.text)
-    CMnrpMapImageService::~CMnrpMapImageService() 0x000086f9   Thumb Code    60  mnrefproviderback.in(.text)
-    CMnrpMapImageService::~CMnrpMapImageService__sub_object() 0x000086f9   Thumb Code     0  mnrefproviderback.in(.text)
-    CMnrpMapImageService::~CMnrpMapImageService__deallocating() 0x00008735   Thumb Code    16  mnrefproviderback.in(.text)
-    CMnrpMapImageService::LeaveIfBusyL()     0x00008745   Thumb Code    24  mnrefproviderback.in(.text)
-    CMnrpMapImageService::RenderL()          0x0000875d   Thumb Code   116  mnrefproviderback.in(.text)
-    CMnrpMapImageService::FinishProcessingL() 0x000087d1   Thumb Code    52  mnrefproviderback.in(.text)
-    CMnrpMapImageService::HandleMapImageCompletedL() 0x00008805   Thumb Code    80  mnrefproviderback.in(.text)
-    CMnrpMapImageService::MapImageProcessingCallBack(void*) 0x00008855   Thumb Code    50  mnrefproviderback.in(.text)
-    CMnrpMapImageService::StartProcessingL() 0x00008887   Thumb Code    22  mnrefproviderback.in(.text)
-    CMnrpMapImageService::HandleRenderingL() 0x0000889d   Thumb Code    24  mnrefproviderback.in(.text)
-    CMnrpMapImageService::DoCancel()         0x000088b5   Thumb Code    18  mnrefproviderback.in(.text)
-    Inline ARM to Thumb Veneer to RunThread  0x000088e0   ARM Code       0  uc_exe.o(.text)
-    RunThread                                0x000088e9   Thumb Code    36  uc_exe.o(.text)
-    CallThrdProcEntry                        0x0000890c   ARM Code     116  callfirstprocessfn.o(.text)
-    __DLL_Export_Table__                     0x00008984   ARM Code       4  dllexp.o(.text)
-    CActive::Cancel()                        0x000089d0   ARM Code       0  euser{000a0000}-1088.o(StubCode)
-    HBufC16::Des()                           0x000089d8   ARM Code       0  euser{000a0000}-1116.o(StubCode)
-    HBufC16::NewLC(int)                      0x000089e0   ARM Code       0  euser{000a0000}-1119.o(StubCode)
-    TPtrC16::TPtrC16(const TDesC16&)         0x000089e8   ARM Code       0  euser{000a0000}-1171.o(StubCode)
-    CServer2::DoCancel()                     0x000089f0   ARM Code       0  euser{000a0000}-1288.o(StubCode)
-    CPeriodic::NewL(int)                     0x000089f8   ARM Code       0  euser{000a0000}-1379.o(StubCode)
-    CPeriodic::Start(TTimeIntervalMicroSeconds32, TTimeIntervalMicroSeconds32, TCallBack) 0x00008a00   ARM Code       0  euser{000a0000}-1381.o(StubCode)
-    RPointerArrayBase::At(int) const         0x00008a08   ARM Code       0  euser{000a0000}-1590.o(StubCode)
-    RPointerArrayBase::Count() const         0x00008a10   ARM Code       0  euser{000a0000}-1593.o(StubCode)
-    TDesC16::AllocL() const                  0x00008a18   ARM Code       0  euser{000a0000}-1817.o(StubCode)
-    CPolicyServer::CustomFailureActionL(const RMessage2&, int, const TSecurityInfo&) 0x00008a20   ARM Code       0  euser{000a0000}-1995.o(StubCode)
-    CPolicyServer::RunL()                    0x00008a28   ARM Code       0  euser{000a0000}-1997.o(StubCode)
-    CPolicyServer::RunError(int)             0x00008a30   ARM Code       0  euser{000a0000}-1999.o(StubCode)
-    CleanupStack::PopAndDestroy()            0x00008a38   ARM Code       0  euser{000a0000}-203.o(StubCode)
-    CleanupStack::Pop()                      0x00008a40   ARM Code       0  euser{000a0000}-205.o(StubCode)
-    User::MarkCleanupStack()                 0x00008a48   ARM Code       0  euser{000a0000}-2060.o(StubCode)
-    User::UnMarkCleanupStack(TTrapHandler*)  0x00008a50   ARM Code       0  euser{000a0000}-2061.o(StubCode)
-    CleanupStack::PushL(TCleanupItem)        0x00008a58   ARM Code       0  euser{000a0000}-207.o(StubCode)
-    CleanupStack::PushL(CBase*)              0x00008a60   ARM Code       0  euser{000a0000}-208.o(StubCode)
-    XLeaveException::GetReason() const       0x00008a68   ARM Code       0  euser{000a0000}-2082.o(StubCode)
-    CPolicyServer::Extension_(unsigned, void*&, void*) 0x00008a70   ARM Code       0  euser{000a0000}-2120.o(StubCode)
-    CBase::Extension_(unsigned, void*&, void*) 0x00008a78   ARM Code       0  euser{000a0000}-2123.o(StubCode)
-    CSession2::Extension_(unsigned, void*&, void*) 0x00008a80   ARM Code       0  euser{000a0000}-2131.o(StubCode)
-    RPointerArrayBase::Reset()               0x00008a88   ARM Code       0  euser{000a0000}-471.o(StubCode)
-    RPointerArrayBase::Remove(int)           0x00008a90   ARM Code       0  euser{000a0000}-474.o(StubCode)
-    RPointerArrayBase::RPointerArrayBase()   0x00008a98   ARM Code       0  euser{000a0000}-481.o(StubCode)
-    User::HandleException(void*)             0x00008aa0   ARM Code       0  euser{000a0000}-613.o(StubCode)
-    User::Leave(int)                         0x00008aa8   ARM Code       0  euser{000a0000}-649.o(StubCode)
-    User::AllocZ(int)                        0x00008ab0   ARM Code       0  euser{000a0000}-652.o(StubCode)
-    User::AllocZL(int)                       0x00008ab8   ARM Code       0  euser{000a0000}-654.o(StubCode)
-    User::Invariant()                        0x00008ac0   ARM Code       0  euser{000a0000}-669.o(StubCode)
-    CIdle::NewL(int)                         0x00008ac8   ARM Code       0  euser{000a0000}-679.o(StubCode)
-    CIdle::Start(TCallBack)                  0x00008ad0   ARM Code       0  euser{000a0000}-681.o(StubCode)
-    TRect::TRect(const TSize&)               0x00008ad8   ARM Code       0  euser{000a0000}-838.o(StubCode)
-    CDesC16Array::AppendL(const TDesC16&)    0x00008ae0   ARM Code       0  bafl{000a0000}-43.o(StubCode)
-    CDesC16ArraySeg::CDesC16ArraySeg(int)    0x00008ae8   ARM Code       0  bafl{000a0000}-98.o(StubCode)
-    MCoeMessageObserver::MCoeMessageObserver_Reserved_1() 0x00008af0   ARM Code       0  cone{000a0000}-100.o(StubCode)
-    MCoeMessageObserver::MCoeMessageObserver_Reserved_2() 0x00008af8   ARM Code       0  cone{000a0000}-101.o(StubCode)
-    MCoeViewDeactivationObserver::MCoeViewDeactivationObserver_Reserved_1() 0x00008b00   ARM Code       0  cone{000a0000}-127.o(StubCode)
-    MCoeViewDeactivationObserver::MCoeViewDeactivationObserver_Reserved_2() 0x00008b08   ARM Code       0  cone{000a0000}-128.o(StubCode)
-    CCoeEnv::Static()                        0x00008b10   ARM Code       0  cone{000a0000}-182.o(StubCode)
-    CCoeAppUi::HandleKeyEventL(const TKeyEvent&, TEventCode) 0x00008b18   ARM Code       0  cone{000a0000}-210.o(StubCode)
-    CCoeAppUi::SetAndDrawFocus(int)          0x00008b20   ARM Code       0  cone{000a0000}-212.o(StubCode)
-    CCoeAppUi::HandleSwitchOnEventL(CCoeControl*) 0x00008b28   ARM Code       0  cone{000a0000}-220.o(StubCode)
-    CCoeAppUi::HelpContextL() const          0x00008b30   ARM Code       0  cone{000a0000}-351.o(StubCode)
-    CCoeAppUi::InputCapabilities() const     0x00008b38   ARM Code       0  cone{000a0000}-355.o(StubCode)
-    MObjectProvider::MObjectProvider_Reserved1() 0x00008b40   ARM Code       0  cone{000a0000}-638.o(StubCode)
-    MObjectProvider::MObjectProvider_Reserved2() 0x00008b48   ARM Code       0  cone{000a0000}-639.o(StubCode)
-    MCoeViewDeactivationObserver::MCoeViewDeactivationObserver__sub_object() 0x00008b50   ARM Code       0  cone{000a0000}-664.o(StubCode)
-    CCoeAppUi::FrameworkCallsRendezvous() const 0x00008b58   ARM Code       0  cone{000a0000}-676.o(StubCode)
-    CCoeAppUi::CCoeAppUi_Reserved_2()        0x00008b60   ARM Code       0  cone{000a0000}-677.o(StubCode)
-    CApaDocument::Capability() const         0x00008b68   ARM Code       0  apparc{000a0000}-121.o(StubCode)
-    CApaApplication::AppFullName() const     0x00008b70   ARM Code       0  apparc{000a0000}-132.o(StubCode)
-    TApaApplicationFactory::TApaApplicationFactory(CApaApplication*(*)()) 0x00008b78   ARM Code       0  apparc{000a0000}-171.o(StubCode)
-    CApaAppServer::CustomSecurityCheckL(const RMessage2&, int&, TSecurityInfo&) 0x00008b80   ARM Code       0  apparc{000a0000}-192.o(StubCode)
-    CApaAppServer::CApaAppServer()           0x00008b88   ARM Code       0  apparc{000a0000}-194.o(StubCode)
-    CApaAppServiceBase::SecurityCheckL(const RMessage2&, int&, TSecurityInfo&) 0x00008b90   ARM Code       0  apparc{000a0000}-202.o(StubCode)
-    CApaAppServer::NewSessionL(const TVersion&, const RMessage2&) const 0x00008b98   ARM Code       0  apparc{000a0000}-222.o(StubCode)
-    CApaAppServiceBase::ExtensionInterface(TUid, void*&) 0x00008ba0   ARM Code       0  apparc{000a0000}-232.o(StubCode)
-    CApaAppServer::CApaAppServer_Reserved1() 0x00008ba8   ARM Code       0  apparc{000a0000}-273.o(StubCode)
-    CApaAppServer::CApaAppServer_Reserved2() 0x00008bb0   ARM Code       0  apparc{000a0000}-274.o(StubCode)
-    CApaAppServer::DoConnect(const RMessage2&) 0x00008bb8   ARM Code       0  apparc{000a0000}-275.o(StubCode)
-    CApaApplication::CApaApplication_Reserved1() 0x00008bc0   ARM Code       0  apparc{000a0000}-279.o(StubCode)
-    CApaApplication::CApaApplication_Reserved2() 0x00008bc8   ARM Code       0  apparc{000a0000}-280.o(StubCode)
-    CApaAppServiceBase::Disconnect(const RMessage2&) 0x00008bd0   ARM Code       0  apparc{000a0000}-284.o(StubCode)
-    CApaAppServiceBase::CountResources()     0x00008bd8   ARM Code       0  apparc{000a0000}-285.o(StubCode)
-    CApaAppServiceBase::CApaAppServiceBase_Reserved1() 0x00008be0   ARM Code       0  apparc{000a0000}-286.o(StubCode)
-    CApaAppServiceBase::CApaAppServiceBase_Reserved2() 0x00008be8   ARM Code       0  apparc{000a0000}-287.o(StubCode)
-    CApaDocument::GlassPictureL()            0x00008bf0   ARM Code       0  apparc{000a0000}-30.o(StubCode)
-    thunk{-20} to CEikDocument::SaveL(MSaveObserver::TSaveType) 0x00008bf8   ARM Code       0  eikcore{000a0000}-141.o(StubCode)
-    CEikAppUi::Reserved_3()                  0x00008c00   ARM Code       0  eikcore{000a0000}-142.o(StubCode)
-    CEikAppUi::Reserved_4()                  0x00008c08   ARM Code       0  eikcore{000a0000}-143.o(StubCode)
-    CEikAppUi::CreateFileL(const TDesC16&)   0x00008c10   ARM Code       0  eikcore{000a0000}-144.o(StubCode)
-    CEikAppUi::SetEmphasis(CCoeControl*, int) 0x00008c18   ARM Code       0  eikcore{000a0000}-147.o(StubCode)
-    CEikAppUi::HandleMessageL(unsigned long, TUid, const TDesC8&) 0x00008c20   ARM Code       0  eikcore{000a0000}-152.o(StubCode)
-    CEikAppUi::ProcessMessageL(TUid, const TDesC8&) 0x00008c28   ARM Code       0  eikcore{000a0000}-155.o(StubCode)
-    CEikAppUi::HandleModelChangeL()          0x00008c30   ARM Code       0  eikcore{000a0000}-158.o(StubCode)
-    CEikAppUi::HandleSideBarMenuL(int, const TPoint&, int, const CEikHotKeyTable*) 0x00008c38   ARM Code       0  eikcore{000a0000}-159.o(StubCode)
-    CEikAppUi::StopDisplayingMenuBar()       0x00008c40   ARM Code       0  eikcore{000a0000}-166.o(StubCode)
-    CEikAppUi::ProcessCommandParametersL(TApaCommand, TBuf<(int)256>&, const TDesC8&) 0x00008c48   ARM Code       0  eikcore{000a0000}-169.o(StubCode)
-    CEikAppUi::ReportResourceChangedToAppL(int) 0x00008c50   ARM Code       0  eikcore{000a0000}-171.o(StubCode)
-    CEikAppUi::OpenFileL(const TDesC16&)     0x00008c58   ARM Code       0  eikcore{000a0000}-175.o(StubCode)
-    CEikDocument::Reserved_2()               0x00008c60   ARM Code       0  eikcore{000a0000}-18.o(StubCode)
-    CEikDocument::NewDocumentL()             0x00008c68   ARM Code       0  eikcore{000a0000}-20.o(StubCode)
-    CEikDocument::UpdateTaskNameL(CApaWindowGroupName*) 0x00008c70   ARM Code       0  eikcore{000a0000}-25.o(StubCode)
-    CEikDocument::CreateFileStoreLC(RFs&, const TDesC16&) 0x00008c78   ARM Code       0  eikcore{000a0000}-26.o(StubCode)
-    CEikDocument::EditL(MApaEmbeddedDocObserver*, int) 0x00008c80   ARM Code       0  eikcore{000a0000}-27.o(StubCode)
-    CEikDocument::SaveL(MSaveObserver::TSaveType) 0x00008c88   ARM Code       0  eikcore{000a0000}-28.o(StubCode)
-    CEikDocument::SaveL()                    0x00008c90   ARM Code       0  eikcore{000a0000}-29.o(StubCode)
-    CEikDocument::HasChanged() const         0x00008c98   ARM Code       0  eikcore{000a0000}-291.o(StubCode)
-    CEikDocument::ExternalizeL(RWriteStream&) const 0x00008ca0   ARM Code       0  eikcore{000a0000}-293.o(StubCode)
-    CEikDocument::StoreL(CStreamStore&, CStreamDictionary&) const 0x00008ca8   ARM Code       0  eikcore{000a0000}-294.o(StubCode)
-    CEikDocument::IsEmpty() const            0x00008cb0   ARM Code       0  eikcore{000a0000}-295.o(StubCode)
-    CEikApplication::Capability(TDes8&) const 0x00008cb8   ARM Code       0  eikcore{000a0000}-296.o(StubCode)
-    CEikApplication::OpenIniFileLC(RFs&) const 0x00008cc0   ARM Code       0  eikcore{000a0000}-297.o(StubCode)
-    CEikApplication::BitmapStoreName() const 0x00008cc8   ARM Code       0  eikcore{000a0000}-298.o(StubCode)
-    CEikApplication::ResourceFileName() const 0x00008cd0   ARM Code       0  eikcore{000a0000}-299.o(StubCode)
-    CEikDocument::PrintL(const CStreamStore&) 0x00008cd8   ARM Code       0  eikcore{000a0000}-30.o(StubCode)
-    CEikApplication::GetDefaultDocumentFileName(TBuf<(int)256>&) const 0x00008ce0   ARM Code       0  eikcore{000a0000}-302.o(StubCode)
-    CEikDocument::RestoreL(const CStreamStore&, const CStreamDictionary&) 0x00008ce8   ARM Code       0  eikcore{000a0000}-31.o(StubCode)
-    CEikAppUi::ValidFileType(TUid) const     0x00008cf0   ARM Code       0  eikcore{000a0000}-317.o(StubCode)
-    CEikonEnv::DenseFont() const             0x00008cf8   ARM Code       0  eikcore{000a0000}-352.o(StubCode)
-    CEikDocument::~CEikDocument__sub_object() 0x00008d00   ARM Code       0  eikcore{000a0000}-37.o(StubCode)
-    thunk{-36} to CEikAppUi::HandleMessageL(unsigned long, TUid, const TDesC8&) 0x00008d08   ARM Code       0  eikcore{000a0000}-390.o(StubCode)
-    thunk{-40} to CEikAppUi::MopNext()       0x00008d10   ARM Code       0  eikcore{000a0000}-392.o(StubCode)
-    EikStart::RunApplication(TApaApplicationFactory) 0x00008d18   ARM Code       0  eikcore{000a0000}-394.o(StubCode)
-    CEikAppServer::ExtensionInterface(TUid, void*&) 0x00008d20   ARM Code       0  eikcore{000a0000}-467.o(StubCode)
-    CEikAppUi::MopNext()                     0x00008d28   ARM Code       0  eikcore{000a0000}-479.o(StubCode)
-    thunk{-24} to CEikAppUi::HandleSideBarMenuL(int, const TPoint&, int, const CEikHotKeyTable*) 0x00008d30   ARM Code       0  eikcore{000a0000}-490.o(StubCode)
-    CEikAppUi::ProcessCommandParametersL(CApaCommandLine&) 0x00008d38   ARM Code       0  eikcore{000a0000}-506.o(StubCode)
-    CEikAppServer::CreateServiceSecurityCheckL(TUid, const RMessage2&, int&, TSecurityInfo&) 0x00008d40   ARM Code       0  eikcore{000a0000}-523.o(StubCode)
-    CEikApplication::CEikApplication_Reserved1() 0x00008d48   ARM Code       0  eikcore{000a0000}-532.o(StubCode)
-    CEikApplication::CEikApplication_Reserved2() 0x00008d50   ARM Code       0  eikcore{000a0000}-533.o(StubCode)
-    MEikMenuObserver::Reserved_2_MenuObserver() 0x00008d58   ARM Code       0  eikcore{000a0000}-534.o(StubCode)
-    MEikMenuObserver::CreateCustomCommandControlL(int) 0x00008d60   ARM Code       0  eikcore{000a0000}-535.o(StubCode)
-    MEikMenuObserver::MEikCommandObserver_Reserved1() 0x00008d68   ARM Code       0  eikcore{000a0000}-536.o(StubCode)
-    MEikMenuObserver::MEikCommandObserver_Reserved2() 0x00008d70   ARM Code       0  eikcore{000a0000}-537.o(StubCode)
-    CEikDocument::ValidatePasswordL() const  0x00008d78   ARM Code       0  eikcore{000a0000}-565.o(StubCode)
-    CEikApplication::CreateDocumentL(CApaProcess*) 0x00008d80   ARM Code       0  eikcore{000a0000}-61.o(StubCode)
-    CEikApplication::PreDocConstructL()      0x00008d88   ARM Code       0  eikcore{000a0000}-62.o(StubCode)
-    thunk{-24} to CEikAppUi::SetEmphasis(CCoeControl*, int) 0x00008d90   ARM Code       0  eikcore{000a0000}-63.o(StubCode)
-    CEikApplication::CEikApplication__sub_object() 0x00008d98   ARM Code       0  eikcore{000a0000}-64.o(StubCode)
-    CEikApplication::~CEikApplication__sub_object() 0x00008da0   ARM Code       0  eikcore{000a0000}-67.o(StubCode)
-    MEikMenuObserver::RestoreMenuL(CCoeControl*, int, MEikMenuObserver::TMenuType) 0x00008da8   ARM Code       0  eikcore{000a0000}-72.o(StubCode)
-    MEikMenuObserver::OfferKeyToAppL(const TKeyEvent&, TEventCode) 0x00008db0   ARM Code       0  eikcore{000a0000}-73.o(StubCode)
-    MEikMenuObserver::DynInitMenuBarL(int, CEikMenuBar*) 0x00008db8   ARM Code       0  eikcore{000a0000}-74.o(StubCode)
-    MEikMenuObserver::DynInitMenuPaneL(int, CEikMenuPane*) 0x00008dc0   ARM Code       0  eikcore{000a0000}-75.o(StubCode)
-    MEikMenuObserver::CheckHotKeyNotDimmedL(int) 0x00008dc8   ARM Code       0  eikcore{000a0000}-77.o(StubCode)
-    MEikMenuObserver::Reserved_1_MenuObserver() 0x00008dd0   ARM Code       0  eikcore{000a0000}-78.o(StubCode)
-    MEikMenuObserver::HandleAttemptDimmedSelectionL(int) 0x00008dd8   ARM Code       0  eikcore{000a0000}-79.o(StubCode)
-    RWindowTreeNode::SetOrdinalPosition(int) 0x00008de0   ARM Code       0  ws32{000a0000}-211.o(StubCode)
-    CFont::FontSpecInTwips() const           0x00008de8   ARM Code       0  gdi{000a0000}-312.o(StubCode)
-    CAknAppServiceBase::CreateL()            0x00008df0   ARM Code       0  avkon{000a0000}-1132.o(StubCode)
-    CAknDocument::OpenFileL(CFileStore*&, RFile&) 0x00008df8   ARM Code       0  avkon{000a0000}-129.o(StubCode)
-    CAknDocument::OpenFileL(int, const TDesC16&, RFs&) 0x00008e00   ARM Code       0  avkon{000a0000}-130.o(StubCode)
-    CAknDocument::CAknDocument__sub_object(CEikApplication&) 0x00008e08   ARM Code       0  avkon{000a0000}-131.o(StubCode)
-    CAknListQueryDialog::SetItemTextArray(MDesC16Array*) 0x00008e10   ARM Code       0  avkon{000a0000}-1350.o(StubCode)
-    CAknListQueryDialog::SetOwnershipType(TListBoxModelItemArrayOwnership) 0x00008e18   ARM Code       0  avkon{000a0000}-1351.o(StubCode)
-    CAknListQueryDialog::CAknListQueryDialog(int*) 0x00008e20   ARM Code       0  avkon{000a0000}-1366.o(StubCode)
-    CAknAppServer::ConstructL(const TDesC16&) 0x00008e28   ARM Code       0  avkon{000a0000}-198.o(StubCode)
-    CAknAppServer::HandleAllClientsClosed()  0x00008e30   ARM Code       0  avkon{000a0000}-199.o(StubCode)
-    CAknAppServer::~CAknAppServer()          0x00008e38   ARM Code       0  avkon{000a0000}-201.o(StubCode)
-    CAknAppUiBase::MopSupplyObject(TTypeUid) 0x00008e40   ARM Code       0  avkon{000a0000}-206.o(StubCode)
-    CAknAppUiBase::HandleResourceChangeL(int) 0x00008e48   ARM Code       0  avkon{000a0000}-211.o(StubCode)
-    CAknAppUiBase::HandleScreenDeviceChangedL() 0x00008e50   ARM Code       0  avkon{000a0000}-213.o(StubCode)
-    CAknAppUiBase::HandleApplicationSpecificEventL(int, const TWsEvent&) 0x00008e58   ARM Code       0  avkon{000a0000}-214.o(StubCode)
-    CAknAppUiBase::Exit()                    0x00008e60   ARM Code       0  avkon{000a0000}-215.o(StubCode)
-    CAknAppUiBase::SetFadedL(int)            0x00008e68   ARM Code       0  avkon{000a0000}-216.o(StubCode)
-    CAknAppUiBase::CAknAppUiBase()           0x00008e70   ARM Code       0  avkon{000a0000}-217.o(StubCode)
-    CAknAppUiBase::~CAknAppUiBase()          0x00008e78   ARM Code       0  avkon{000a0000}-220.o(StubCode)
-    CAknAppUi::HandleError(int, const SExtendedError&, TDes16&, TDes16&) 0x00008e80   ARM Code       0  avkon{000a0000}-2920.o(StubCode)
-    CAknAppUi::PrepareToExit()               0x00008e88   ARM Code       0  avkon{000a0000}-2922.o(StubCode)
-    CAknAppUi::BaseConstructL(int)           0x00008e90   ARM Code       0  avkon{000a0000}-2924.o(StubCode)
-    CAknAppUi::HandleWsEventL(const TWsEvent&, CCoeControl*) 0x00008e98   ARM Code       0  avkon{000a0000}-2925.o(StubCode)
-    CAknAppUi::ProcessCommandL(int)          0x00008ea0   ARM Code       0  avkon{000a0000}-2926.o(StubCode)
-    CAknAppUi::HandleSystemEventL(const TWsEvent&) 0x00008ea8   ARM Code       0  avkon{000a0000}-2928.o(StubCode)
-    CAknAppUi::Reserved_MtsmObject()         0x00008eb0   ARM Code       0  avkon{000a0000}-2929.o(StubCode)
-    CAknAppUi::Reserved_MtsmPosition()       0x00008eb8   ARM Code       0  avkon{000a0000}-2930.o(StubCode)
-    CAknAppUi::HandleForegroundEventL(int)   0x00008ec0   ARM Code       0  avkon{000a0000}-2931.o(StubCode)
-    CAknAppUi::HandleViewDeactivation(const TVwsViewId&, const TVwsViewId&) 0x00008ec8   ARM Code       0  avkon{000a0000}-2932.o(StubCode)
-    CAknAppUi::HandleTouchPaneSizeChange()   0x00008ed0   ARM Code       0  avkon{000a0000}-2934.o(StubCode)
-    CAknAppUi::HandleStatusPaneSizeChange()  0x00008ed8   ARM Code       0  avkon{000a0000}-2935.o(StubCode)
-    CAknAppUi::~CAknAppUi()                  0x00008ee0   ARM Code       0  avkon{000a0000}-2938.o(StubCode)
-    CAknAppServer::CreateServiceL(TUid) const 0x00008ee8   ARM Code       0  avkon{000a0000}-2993.o(StubCode)
-    CAknAppUiBase::ApplicationRect() const   0x00008ef0   ARM Code       0  avkon{000a0000}-2997.o(StubCode)
-    thunk{-100} to CAknAppUi::HandleTouchPaneSizeChange() 0x00008ef8   ARM Code       0  avkon{000a0000}-3826.o(StubCode)
-    thunk{-24} to CAknAppUi::ProcessCommandL(int) 0x00008f00   ARM Code       0  avkon{000a0000}-3862.o(StubCode)
-    thunk{-40} to CAknAppUiBase::MopSupplyObject(TTypeUid) 0x00008f08   ARM Code       0  avkon{000a0000}-3868.o(StubCode)
-    thunk{-88} to CAknAppUi::HandleStatusPaneSizeChange() 0x00008f10   ARM Code       0  avkon{000a0000}-4021.o(StubCode)
-    thunk{-92} to CAknAppUi::HandleViewDeactivation(const TVwsViewId&, const TVwsViewId&) 0x00008f18   ARM Code       0  avkon{000a0000}-4030.o(StubCode)
-    CPosLandmark::NewL(const CPosLandmark&)  0x00008f20   ARM Code       0  eposlandmarks{000a0000}-12.o(StubCode)
-    CPosLandmark::NewL()                     0x00008f28   ARM Code       0  eposlandmarks{000a0000}-13.o(StubCode)
-    CPosLandmark::GetPosition(TLocality&) const 0x00008f30   ARM Code       0  eposlandmarks{000a0000}-65.o(StubCode)
-    CPosLandmark::GetPositionField(unsigned short, TPtrC16&) const 0x00008f38   ARM Code       0  eposlandmarks{000a0000}-68.o(StubCode)
-    TLocality::TLocality()                   0x00008f40   ARM Code       0  lbs{000a0000}-207.o(StubCode)
-    TCoordinate::TCoordinate()               0x00008f48   ARM Code       0  lbs{000a0000}-23.o(StubCode)
-    CMnServiceBase::ServiceError(const RMessage2&, int) 0x00008f50   ARM Code       0  mnservicelib{000a0000}-1.o(StubCode)
-    CMnServiceBase::CompleteRequest(int)     0x00008f58   ARM Code       0  mnservicelib{000a0000}-2.o(StubCode)
-    CMnGeocodingServiceBase::BaseConstructL() 0x00008f60   ARM Code       0  mnservicelib{000a0000}-21.o(StubCode)
-    CMnGeocodingServiceBase::CompleteGeocodingRequestL(const CPosLandmark&) 0x00008f68   ARM Code       0  mnservicelib{000a0000}-22.o(StubCode)
-    CMnGeocodingServiceBase::ServiceL(const RMessage2&) 0x00008f70   ARM Code       0  mnservicelib{000a0000}-23.o(StubCode)
-    CMnGeocodingServiceBase::CMnGeocodingServiceBase__sub_object() 0x00008f78   ARM Code       0  mnservicelib{000a0000}-24.o(StubCode)
-    CMnGeocodingServiceBase::~CMnGeocodingServiceBase__sub_object() 0x00008f80   ARM Code       0  mnservicelib{000a0000}-27.o(StubCode)
-    CMnGeocodingServiceBase::Options() const 0x00008f88   ARM Code       0  mnservicelib{000a0000}-34.o(StubCode)
-    CMnMapImageServiceBase::BaseConstructL() 0x00008f90   ARM Code       0  mnservicelib{000a0000}-45.o(StubCode)
-    CMnMapImageServiceBase::MapImageParams() 0x00008f98   ARM Code       0  mnservicelib{000a0000}-46.o(StubCode)
-    CMnMapImageServiceBase::CompleteRendering() 0x00008fa0   ARM Code       0  mnservicelib{000a0000}-47.o(StubCode)
-    CMnMapImageServiceBase::ServiceL(const RMessage2&) 0x00008fa8   ARM Code       0  mnservicelib{000a0000}-49.o(StubCode)
-    CMnMapImageServiceBase::CMnMapImageServiceBase__sub_object() 0x00008fb0   ARM Code       0  mnservicelib{000a0000}-50.o(StubCode)
-    CMnMapImageServiceBase::~CMnMapImageServiceBase__sub_object() 0x00008fb8   ARM Code       0  mnservicelib{000a0000}-53.o(StubCode)
-    CMnMapImageServiceBase::TargetBitmap() const 0x00008fc0   ARM Code       0  mnservicelib{000a0000}-56.o(StubCode)
-    CMnrpEngine::BestCoordToAddressMatchesL(const TCoordinate&, RPointerArray<CPosLandmark>&, int) 0x00008fc8   ARM Code       0  mnrefproviderengine{000a0000}-10.o(StubCode)
-    CMnrpEngine::NewL()                      0x00008fd0   ARM Code       0  mnrefproviderengine{000a0000}-12.o(StubCode)
-    CMnrpMapModel::UpdateModelL(const CMnrpMapImageService&) 0x00008fd8   ARM Code       0  mnrefproviderengine{000a0000}-18.o(StubCode)
-    CMnrpMapModel::SetScreenSize(TSize)      0x00008fe0   ARM Code       0  mnrefproviderengine{000a0000}-19.o(StubCode)
-    CMnrpMapModel::NewL(CMnrpEngine&)        0x00008fe8   ARM Code       0  mnrefproviderengine{000a0000}-21.o(StubCode)
-    CMnrpEngine::AddressToCoordLC(const CPosLandmark&) 0x00008ff0   ARM Code       0  mnrefproviderengine{000a0000}-4.o(StubCode)
-    CMnrpEngine::AddressToCoordLC(const TDesC16&) 0x00008ff8   ARM Code       0  mnrefproviderengine{000a0000}-5.o(StubCode)
-    CMnrpMapModel::RenderL(CFbsBitmap&, TRect, CFont*, CFont*) const 0x00009000   ARM Code       0  mnrefproviderengine{000a0000}-54.o(StubCode)
-    CMnrpEngine::CoordToAddressLC(const TCoordinate&) 0x00009008   ARM Code       0  mnrefproviderengine{000a0000}-6.o(StubCode)
-    __aeabi_memclr4                          0x00009010   ARM Code       0  drtaeabi{000a0000}-144.o(StubCode)
-    __aeabi_unwind_cpp_pr0                   0x00009018   ARM Code       0  drtaeabi{000a0000}-158.o(StubCode)
-    __aeabi_unwind_cpp_pr1                   0x00009020   ARM Code       0  drtaeabi{000a0000}-159.o(StubCode)
-    __cxa_begin_catch                        0x00009028   ARM Code       0  drtaeabi{000a0000}-180.o(StubCode)
-    __cxa_call_unexpected                    0x00009030   ARM Code       0  drtaeabi{000a0000}-182.o(StubCode)
-    __cxa_end_catch                          0x00009038   ARM Code       0  drtaeabi{000a0000}-183.o(StubCode)
-    __cxa_end_cleanup                        0x00009040   ARM Code       0  drtaeabi{000a0000}-184.o(StubCode)
-    __cxa_pure_virtual                       0x00009048   ARM Code       0  drtaeabi{000a0000}-189.o(StubCode)
-    operator delete (void*)                  0x00009050   ARM Code       0  scppnwdl{000a0000}-3.o(StubCode)
-    UserHeap::SetupThreadHeap(int, SStdEpocThreadCreateInfo&) 0x00009058   ARM Code       0  euser{000a0000}-1360.o(StubCode)
-    User::Exit(int)                          0x00009060   ARM Code       0  euser{000a0000}-641.o(StubCode)
-    User::InitProcess()                      0x00009068   ARM Code       0  euser{000a0000}-585.o(StubCode)
-    User::Panic(const TDesC16&, int)         0x00009070   ARM Code       0  euser{000a0000}-650.o(StubCode)
-    TCppRTExceptionsGlobals::TCppRTExceptionsGlobals() 0x00009078   ARM Code       0  drtaeabi{000a0000}-204.o(StubCode)
-    CApaDocument::DetachFromStoreL(CPicture::TDetach) 0x00009081   Thumb Code     2  mnrefproviderback.in(i._ZN12CApaDocument16DetachFromStoreLEN8CPicture7TDetachE)
-    CMnrpAppUiBack::CMnrpAppUiBack()         0x00009085   Thumb Code    50  mnrefproviderback.in(i._ZN14CMnrpAppUiBackC1Ev)
-    CMnrpAppUiBack::CMnrpAppUiBack__sub_object() 0x00009085   Thumb Code     0  mnrefproviderback.in(i._ZN14CMnrpAppUiBackC1Ev)
-    CMnrpAppUiBack::~CMnrpAppUiBack__deallocating() 0x000090cb   Thumb Code    16  mnrefproviderback.in(i._ZN14CMnrpAppUiBackD0Ev)
-    CMnrpAppUiBack::~CMnrpAppUiBack()        0x000090db   Thumb Code     8  mnrefproviderback.in(i._ZN14CMnrpAppUiBackD1Ev)
-    CMnrpAppUiBack::~CMnrpAppUiBack__sub_object() 0x000090db   Thumb Code     0  mnrefproviderback.in(i._ZN14CMnrpAppUiBackD1Ev)
-    CMnrpDocumentBack::~CMnrpDocumentBack__deallocating() 0x000090e3   Thumb Code    16  mnrefproviderback.in(i._ZN17CMnrpDocumentBackD0Ev)
-    CMnrpDocumentBack::~CMnrpDocumentBack()  0x000090f3   Thumb Code     8  mnrefproviderback.in(i._ZN17CMnrpDocumentBackD1Ev)
-    CMnrpDocumentBack::~CMnrpDocumentBack__sub_object() 0x000090f3   Thumb Code     0  mnrefproviderback.in(i._ZN17CMnrpDocumentBackD1Ev)
-    CMnrpApplicationBack::~CMnrpApplicationBack__deallocating() 0x000090fb   Thumb Code    16  mnrefproviderback.in(i._ZN20CMnrpApplicationBackD0Ev)
-    CMnrpApplicationBack::~CMnrpApplicationBack() 0x0000910b   Thumb Code     8  mnrefproviderback.in(i._ZN20CMnrpApplicationBackD1Ev)
-    CMnrpApplicationBack::~CMnrpApplicationBack__sub_object() 0x0000910b   Thumb Code     0  mnrefproviderback.in(i._ZN20CMnrpApplicationBackD1Ev)
-    CBase::operator new(unsigned)            0x00009113   Thumb Code     8  mnrefproviderback.in(i._ZN5CBasenwEj)
-    RPointerArray<CPosLandmark>::Count() const 0x0000911b   Thumb Code     8  mnrefproviderback.in(t._ZNK13RPointerArrayI12CPosLandmarkE5CountEv)
-    typeinfo for CMnrpAppUiBack              0x0000923c   Data          12  mnrefproviderback.in(.constdata__ZTI14CMnrpAppUiBack)
-    typeinfo for CMnrpDocumentBack           0x00009248   Data          12  mnrefproviderback.in(.constdata__ZTI17CMnrpDocumentBack)
-    typeinfo for CMnrpAppServerBack          0x00009254   Data          12  mnrefproviderback.in(.constdata__ZTI18CMnrpAppServerBack)
-    typeinfo for CMnrpApplicationBack        0x00009260   Data          12  mnrefproviderback.in(.constdata__ZTI20CMnrpApplicationBack)
-    typeinfo for CMnrpMapImageService        0x0000926c   Data          12  mnrefproviderback.in(.constdata__ZTI20CMnrpMapImageService)
-    typeinfo for CMnrpGeocodingService       0x00009278   Data          12  mnrefproviderback.in(.constdata__ZTI21CMnrpGeocodingService)
-    typeinfo for MEikStatusPaneObserver      0x00009284   Data           8  mnrefproviderback.in(.constdata__ZTI22MEikStatusPaneObserver)
-    typeinfo name for CMnrpAppUiBack         0x0000928c   Data          17  mnrefproviderback.in(.constdata__ZTS14CMnrpAppUiBack)
-    typeinfo name for CMnrpDocumentBack      0x0000929d   Data          20  mnrefproviderback.in(.constdata__ZTS17CMnrpDocumentBack)
-    typeinfo name for CMnrpAppServerBack     0x000092b1   Data          21  mnrefproviderback.in(.constdata__ZTS18CMnrpAppServerBack)
-    typeinfo name for CMnrpApplicationBack   0x000092c6   Data          23  mnrefproviderback.in(.constdata__ZTS20CMnrpApplicationBack)
-    typeinfo name for CMnrpMapImageService   0x000092dd   Data          23  mnrefproviderback.in(.constdata__ZTS20CMnrpMapImageService)
-    typeinfo name for CMnrpGeocodingService  0x000092f4   Data          24  mnrefproviderback.in(.constdata__ZTS21CMnrpGeocodingService)
-    typeinfo name for MEikStatusPaneObserver 0x0000930c   Data          25  mnrefproviderback.in(.constdata__ZTS22MEikStatusPaneObserver)
-    vtable for CMnrpAppUiBack                0x00009328   Data         340  mnrefproviderback.in(.constdata__ZTV14CMnrpAppUiBack)
-    vtable for CMnrpDocumentBack             0x0000947c   Data         112  mnrefproviderback.in(.constdata__ZTV17CMnrpDocumentBack)
-    vtable for CMnrpAppServerBack            0x000094ec   Data          76  mnrefproviderback.in(.constdata__ZTV18CMnrpAppServerBack)
-    vtable for CMnrpApplicationBack          0x00009538   Data          80  mnrefproviderback.in(.constdata__ZTV20CMnrpApplicationBack)
-    vtable for CMnrpMapImageService          0x00009588   Data          64  mnrefproviderback.in(.constdata__ZTV20CMnrpMapImageService)
-    vtable for CMnrpGeocodingService         0x000095c8   Data          72  mnrefproviderback.in(.constdata__ZTV21CMnrpGeocodingService)
-    vtable for MEikStatusPaneObserver        0x00009610   Data          12  mnrefproviderback.in(.constdata__ZTV22MEikStatusPaneObserver)
-    SHT$$INIT_ARRAY$$Base                    0x0000961c   Number         0  mnrefproviderback.in(.init_array)
-    .ARM.exidx$$Base                         0x00009620   Number         0  uc_exe_.o(.ARM.exidx)
-    SHT$$INIT_ARRAY$$Limit                   0x00009620   Data           0  mnrefproviderback.in(.init_array)
-    .ARM.exidx$$Limit                        0x00009750   Number         0  mnrefproviderback.in(.ARM.exidx)
-    Image$$ER_RO$$Limit                      0x00009750   Number         0  anon$$obj.o(linker$$defined$$symbols)
-
Binary file locsrv_plat/map_and_navigation_api/tsrc/data/armv5/urel/mnrefproviderback.rsc has changed
Binary file locsrv_plat/map_and_navigation_api/tsrc/data/armv5/urel/mnrefproviderback_reg.rsc has changed
Binary file locsrv_plat/map_and_navigation_api/tsrc/data/armv5/urel/mnrefproviderengine.dll has changed
--- a/locsrv_plat/map_and_navigation_api/tsrc/data/armv5/urel/mnrefproviderengine.dll.map	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1138 +0,0 @@
-ARM Linker, RVCT2.2 [Build 593]
-
-================================================================================
-
-Image Symbol Table
-
-    Local Symbols
-
-    Symbol Name                              Value     Ov Type        Size  Object(Section)
-
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-184.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-28.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  AknIcon{000a0000}-15.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  scppnwdl{000a0000}-3.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-303.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  AknIcon{000a0000}-16.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-5.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-304.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  AknIcon{000a0000}-21.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-55.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-47.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  gdi{000a0000}-311.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-57.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-48.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  gdi{000a0000}-314.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-6.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-49.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bitgdi{000a0000}-14.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-8.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-7.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bitgdi{000a0000}-44.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-9.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-8.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-12.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-12.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-82.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-14.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-19.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-83.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-15.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-2.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-87.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-4.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-20.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-97.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-50.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-22.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-10.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-51.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-23.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-13.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-56.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-24.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-3.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-6.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-25.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-180.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-65.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-3.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-181.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-66.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-36.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-205.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-67.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-41.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-207.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-68.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-5.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-21.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-75.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-8.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-214.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-8.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-135.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-218.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-82.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-147.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-219.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-10.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-158.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-223.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-13.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-159.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-225.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-15.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-180.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-226.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-152.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-183.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-23.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-167.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  AknIcon{000a0000}-11.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-476.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-17.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-838.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-48.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1090.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-839.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-481.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1091.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-841.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-49.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1094.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-936.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-50.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1116.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-953.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-55.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1119.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-960.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-551.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1171.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-966.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-593.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1172.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-968.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-649.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-120.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-973.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-654.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1507.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1051.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-669.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1510.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1059.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-81.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1590.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1073.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-824.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1593.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1074.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-826.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1625.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1088.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-207.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1646.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  efsrv{000a0000}-190.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-208.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1648.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  efsrv{000a0000}-200.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2082.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1649.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  efsrv{000a0000}-204.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-209.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1651.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  efsrv{000a0000}-68.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2123.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1753.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bafl{000a0000}-123.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2125.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1806.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bafl{000a0000}-124.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2128.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1815.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bafl{000a0000}-129.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-424.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1821.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bafl{000a0000}-141.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-46.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1826.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bafl{000a0000}-145.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-984.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-203.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bafl{000a0000}-147.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  efsrv{000a0000}-115.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-205.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bafl{000a0000}-59.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  efsrv{000a0000}-118.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2060.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bafl{000a0000}-62.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  efsrv{000a0000}-181.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2061.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-472.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  efsrv{000a0000}-182.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-47.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-464.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-471.o ABSOLUTE
-    M:/epoc32/build/apputils/c_da81efa927799d7f/bafl_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/bitgdi/c_92c016796215bf55/bitgdi_lib/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/compsupp/c_18558cc638e6e874/drtaeabi_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/gdi/c_5dab287815cadb7b/gdi_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/store/c_93a13d203e6d3ba7/estor_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/uigraphicsutils/c_d265b80414e63acf/egul_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/uikon/c_9cf7bef4a7562444/eikcore_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:\\sf\\os\\kernelhwsrv\\kernel\\eka\\compsupp\\rvct2_2\\ucppinit_aeabi.cpp 0x00000000   Number         0  ucppinit_aeabi.o ABSOLUTE
-    M:\sf\os\kernelhwsrv\kernel\eka\compsupp\rvct2_2\ucppinit_aeabi.cpp 0x00000000   Number         0  ucppinit_aeabi.o ABSOLUTE
-    \EPOC32\BUILD\sf\app\location\mapnavproviderrefapp\group\MNREFENGINE\ARMV5\urel\mnrefproviderengine{000a0000}.s 0x00000000   Number         0  mnrefproviderengine{000a0000}.exp ABSOLUTE
-    \EPOC32\BUILD\sf\mw\locationsrv\group\EPOS_LANDMARKSCLIENTLIBRARY\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\locationsrv\group\MNCLIENTLIB\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\locationsrv\group\MNSERVICELIB\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\uiresources\group\AKNICON\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\kernelhwsrv\kernel\eka\euser\EDLL\ARMV6_ABIV1\urel\uc_dll_.cpp 0x00000000   Number         0  uc_dll_.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\kernelhwsrv\kernel\eka\euser\EUSER\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\kernelhwsrv\userlibandfileserver\fileserver\group\EFSRV\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\lbs\locationmgmt\locationadmin\group\LBSAPIVARIANT2\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \\EPOC32\\BUILD\\sf\\os\\kernelhwsrv\\kernel\\eka\\euser\\EDLL\\ARMV6_ABIV1\\urel\\uc_dll_.cpp 0x00000000   Number         0  uc_dll_.o ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpengine.cpp 0x00000000   Number         0  mnrefproviderengine.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpmapmodel.cpp 0x00000000   Number         0  mnrefproviderengine.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrppositionrequest.cpp 0x00000000   Number         0  mnrefproviderengine.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrputils.cpp 0x00000000   Number         0  mnrefproviderengine.in ABSOLUTE
-    \sf\os\kernelhwsrv\kernel\eka\euser\epoc\arm\uc_dll.cpp 0x00000000   Number         0  uc_dll.o ABSOLUTE
-    .emb_text                                0x00008000   Section       40  uc_dll_.o(.emb_text)
-    .emb_text                                0x00008028   Section       72  ucppinit_aeabi.o(.emb_text)
-    skip                                     0x0000803c   ARM Code       0  ucppinit_aeabi.o(.emb_text)
-    loop                                     0x0000804c   ARM Code       0  ucppinit_aeabi.o(.emb_text)
-    fpinit                                   0x00008064   Data           0  ucppinit_aeabi.o(.emb_text)
-    base                                     0x00008068   Data           0  ucppinit_aeabi.o(.emb_text)
-    limit                                    0x0000806c   Data           0  ucppinit_aeabi.o(.emb_text)
-    .text                                    0x00008070   Section     1622  mnrefproviderengine.in(.text)
-    .text                                    0x000086c8   Section     5840  mnrefproviderengine.in(.text)
-    |L1.1020|                                0x00008ac4   Data           0  mnrefproviderengine.in(.text)
-    |L1.1028|                                0x00008acc   Data           0  mnrefproviderengine.in(.text)
-    |L1.1056|                                0x00008ae8   Data           0  mnrefproviderengine.in(.text)
-    |L1.1064|                                0x00008af0   Data           0  mnrefproviderengine.in(.text)
-    |L1.2128|                                0x00008f18   Data           0  mnrefproviderengine.in(.text)
-    |L1.2136|                                0x00008f20   Data           0  mnrefproviderengine.in(.text)
-    |L1.2148|                                0x00008f2c   Data           0  mnrefproviderengine.in(.text)
-    |L1.3444|                                0x0000943c   Data           0  mnrefproviderengine.in(.text)
-    .text                                    0x00009d98   Section      756  mnrefproviderengine.in(.text)
-    .text                                    0x0000a08c   Section     1120  mnrefproviderengine.in(.text)
-    .text                                    0x0000a4ec   Section       40  uc_dll.o(.text)
-    .text.clean                              0x0000a514   Section       38  mnrefproviderengine.in(.text.clean)
-    .text.clean                              0x0000a53a   Section       50  mnrefproviderengine.in(.text.clean)
-    .text.clean                              0x0000a56c   Section       20  mnrefproviderengine.in(.text.clean)
-    ExportTable                              0x0000a580   Section      256  mnrefproviderengine{000a0000}.exp(ExportTable)
-    StubCode                                 0x0000a680   Section        8  euser{000a0000}-1051.o(StubCode)
-    theImportedSymbol                        0x0000a684   Data           0  euser{000a0000}-1051.o(StubCode)
-    StubCode                                 0x0000a688   Section        8  euser{000a0000}-1059.o(StubCode)
-    theImportedSymbol                        0x0000a68c   Data           0  euser{000a0000}-1059.o(StubCode)
-    StubCode                                 0x0000a690   Section        8  euser{000a0000}-1073.o(StubCode)
-    theImportedSymbol                        0x0000a694   Data           0  euser{000a0000}-1073.o(StubCode)
-    StubCode                                 0x0000a698   Section        8  euser{000a0000}-1074.o(StubCode)
-    theImportedSymbol                        0x0000a69c   Data           0  euser{000a0000}-1074.o(StubCode)
-    StubCode                                 0x0000a6a0   Section        8  euser{000a0000}-1088.o(StubCode)
-    theImportedSymbol                        0x0000a6a4   Data           0  euser{000a0000}-1088.o(StubCode)
-    StubCode                                 0x0000a6a8   Section        8  euser{000a0000}-1090.o(StubCode)
-    theImportedSymbol                        0x0000a6ac   Data           0  euser{000a0000}-1090.o(StubCode)
-    StubCode                                 0x0000a6b0   Section        8  euser{000a0000}-1091.o(StubCode)
-    theImportedSymbol                        0x0000a6b4   Data           0  euser{000a0000}-1091.o(StubCode)
-    StubCode                                 0x0000a6b8   Section        8  euser{000a0000}-1094.o(StubCode)
-    theImportedSymbol                        0x0000a6bc   Data           0  euser{000a0000}-1094.o(StubCode)
-    StubCode                                 0x0000a6c0   Section        8  euser{000a0000}-1116.o(StubCode)
-    theImportedSymbol                        0x0000a6c4   Data           0  euser{000a0000}-1116.o(StubCode)
-    StubCode                                 0x0000a6c8   Section        8  euser{000a0000}-1119.o(StubCode)
-    theImportedSymbol                        0x0000a6cc   Data           0  euser{000a0000}-1119.o(StubCode)
-    StubCode                                 0x0000a6d0   Section        8  euser{000a0000}-1171.o(StubCode)
-    theImportedSymbol                        0x0000a6d4   Data           0  euser{000a0000}-1171.o(StubCode)
-    StubCode                                 0x0000a6d8   Section        8  euser{000a0000}-1172.o(StubCode)
-    theImportedSymbol                        0x0000a6dc   Data           0  euser{000a0000}-1172.o(StubCode)
-    StubCode                                 0x0000a6e0   Section        8  euser{000a0000}-120.o(StubCode)
-    theImportedSymbol                        0x0000a6e4   Data           0  euser{000a0000}-120.o(StubCode)
-    StubCode                                 0x0000a6e8   Section        8  euser{000a0000}-1507.o(StubCode)
-    theImportedSymbol                        0x0000a6ec   Data           0  euser{000a0000}-1507.o(StubCode)
-    StubCode                                 0x0000a6f0   Section        8  euser{000a0000}-1510.o(StubCode)
-    theImportedSymbol                        0x0000a6f4   Data           0  euser{000a0000}-1510.o(StubCode)
-    StubCode                                 0x0000a6f8   Section        8  euser{000a0000}-1590.o(StubCode)
-    theImportedSymbol                        0x0000a6fc   Data           0  euser{000a0000}-1590.o(StubCode)
-    StubCode                                 0x0000a700   Section        8  euser{000a0000}-1593.o(StubCode)
-    theImportedSymbol                        0x0000a704   Data           0  euser{000a0000}-1593.o(StubCode)
-    StubCode                                 0x0000a708   Section        8  euser{000a0000}-1625.o(StubCode)
-    theImportedSymbol                        0x0000a70c   Data           0  euser{000a0000}-1625.o(StubCode)
-    StubCode                                 0x0000a710   Section        8  euser{000a0000}-1646.o(StubCode)
-    theImportedSymbol                        0x0000a714   Data           0  euser{000a0000}-1646.o(StubCode)
-    StubCode                                 0x0000a718   Section        8  euser{000a0000}-1648.o(StubCode)
-    theImportedSymbol                        0x0000a71c   Data           0  euser{000a0000}-1648.o(StubCode)
-    StubCode                                 0x0000a720   Section        8  euser{000a0000}-1649.o(StubCode)
-    theImportedSymbol                        0x0000a724   Data           0  euser{000a0000}-1649.o(StubCode)
-    StubCode                                 0x0000a728   Section        8  euser{000a0000}-1651.o(StubCode)
-    theImportedSymbol                        0x0000a72c   Data           0  euser{000a0000}-1651.o(StubCode)
-    StubCode                                 0x0000a730   Section        8  euser{000a0000}-1753.o(StubCode)
-    theImportedSymbol                        0x0000a734   Data           0  euser{000a0000}-1753.o(StubCode)
-    StubCode                                 0x0000a738   Section        8  euser{000a0000}-1806.o(StubCode)
-    theImportedSymbol                        0x0000a73c   Data           0  euser{000a0000}-1806.o(StubCode)
-    StubCode                                 0x0000a740   Section        8  euser{000a0000}-1815.o(StubCode)
-    theImportedSymbol                        0x0000a744   Data           0  euser{000a0000}-1815.o(StubCode)
-    StubCode                                 0x0000a748   Section        8  euser{000a0000}-1821.o(StubCode)
-    theImportedSymbol                        0x0000a74c   Data           0  euser{000a0000}-1821.o(StubCode)
-    StubCode                                 0x0000a750   Section        8  euser{000a0000}-1826.o(StubCode)
-    theImportedSymbol                        0x0000a754   Data           0  euser{000a0000}-1826.o(StubCode)
-    StubCode                                 0x0000a758   Section        8  euser{000a0000}-203.o(StubCode)
-    theImportedSymbol                        0x0000a75c   Data           0  euser{000a0000}-203.o(StubCode)
-    StubCode                                 0x0000a760   Section        8  euser{000a0000}-205.o(StubCode)
-    theImportedSymbol                        0x0000a764   Data           0  euser{000a0000}-205.o(StubCode)
-    StubCode                                 0x0000a768   Section        8  euser{000a0000}-2060.o(StubCode)
-    theImportedSymbol                        0x0000a76c   Data           0  euser{000a0000}-2060.o(StubCode)
-    StubCode                                 0x0000a770   Section        8  euser{000a0000}-2061.o(StubCode)
-    theImportedSymbol                        0x0000a774   Data           0  euser{000a0000}-2061.o(StubCode)
-    StubCode                                 0x0000a778   Section        8  euser{000a0000}-207.o(StubCode)
-    theImportedSymbol                        0x0000a77c   Data           0  euser{000a0000}-207.o(StubCode)
-    StubCode                                 0x0000a780   Section        8  euser{000a0000}-208.o(StubCode)
-    theImportedSymbol                        0x0000a784   Data           0  euser{000a0000}-208.o(StubCode)
-    StubCode                                 0x0000a788   Section        8  euser{000a0000}-2082.o(StubCode)
-    theImportedSymbol                        0x0000a78c   Data           0  euser{000a0000}-2082.o(StubCode)
-    StubCode                                 0x0000a790   Section        8  euser{000a0000}-209.o(StubCode)
-    theImportedSymbol                        0x0000a794   Data           0  euser{000a0000}-209.o(StubCode)
-    StubCode                                 0x0000a798   Section        8  euser{000a0000}-2123.o(StubCode)
-    theImportedSymbol                        0x0000a79c   Data           0  euser{000a0000}-2123.o(StubCode)
-    StubCode                                 0x0000a7a0   Section        8  euser{000a0000}-2125.o(StubCode)
-    theImportedSymbol                        0x0000a7a4   Data           0  euser{000a0000}-2125.o(StubCode)
-    StubCode                                 0x0000a7a8   Section        8  euser{000a0000}-2128.o(StubCode)
-    theImportedSymbol                        0x0000a7ac   Data           0  euser{000a0000}-2128.o(StubCode)
-    StubCode                                 0x0000a7b0   Section        8  euser{000a0000}-424.o(StubCode)
-    theImportedSymbol                        0x0000a7b4   Data           0  euser{000a0000}-424.o(StubCode)
-    StubCode                                 0x0000a7b8   Section        8  euser{000a0000}-46.o(StubCode)
-    theImportedSymbol                        0x0000a7bc   Data           0  euser{000a0000}-46.o(StubCode)
-    StubCode                                 0x0000a7c0   Section        8  euser{000a0000}-464.o(StubCode)
-    theImportedSymbol                        0x0000a7c4   Data           0  euser{000a0000}-464.o(StubCode)
-    StubCode                                 0x0000a7c8   Section        8  euser{000a0000}-47.o(StubCode)
-    theImportedSymbol                        0x0000a7cc   Data           0  euser{000a0000}-47.o(StubCode)
-    StubCode                                 0x0000a7d0   Section        8  euser{000a0000}-471.o(StubCode)
-    theImportedSymbol                        0x0000a7d4   Data           0  euser{000a0000}-471.o(StubCode)
-    StubCode                                 0x0000a7d8   Section        8  euser{000a0000}-472.o(StubCode)
-    theImportedSymbol                        0x0000a7dc   Data           0  euser{000a0000}-472.o(StubCode)
-    StubCode                                 0x0000a7e0   Section        8  euser{000a0000}-476.o(StubCode)
-    theImportedSymbol                        0x0000a7e4   Data           0  euser{000a0000}-476.o(StubCode)
-    StubCode                                 0x0000a7e8   Section        8  euser{000a0000}-48.o(StubCode)
-    theImportedSymbol                        0x0000a7ec   Data           0  euser{000a0000}-48.o(StubCode)
-    StubCode                                 0x0000a7f0   Section        8  euser{000a0000}-481.o(StubCode)
-    theImportedSymbol                        0x0000a7f4   Data           0  euser{000a0000}-481.o(StubCode)
-    StubCode                                 0x0000a7f8   Section        8  euser{000a0000}-49.o(StubCode)
-    theImportedSymbol                        0x0000a7fc   Data           0  euser{000a0000}-49.o(StubCode)
-    StubCode                                 0x0000a800   Section        8  euser{000a0000}-50.o(StubCode)
-    theImportedSymbol                        0x0000a804   Data           0  euser{000a0000}-50.o(StubCode)
-    StubCode                                 0x0000a808   Section        8  euser{000a0000}-55.o(StubCode)
-    theImportedSymbol                        0x0000a80c   Data           0  euser{000a0000}-55.o(StubCode)
-    StubCode                                 0x0000a810   Section        8  euser{000a0000}-551.o(StubCode)
-    theImportedSymbol                        0x0000a814   Data           0  euser{000a0000}-551.o(StubCode)
-    StubCode                                 0x0000a818   Section        8  euser{000a0000}-593.o(StubCode)
-    theImportedSymbol                        0x0000a81c   Data           0  euser{000a0000}-593.o(StubCode)
-    StubCode                                 0x0000a820   Section        8  euser{000a0000}-649.o(StubCode)
-    theImportedSymbol                        0x0000a824   Data           0  euser{000a0000}-649.o(StubCode)
-    StubCode                                 0x0000a828   Section        8  euser{000a0000}-654.o(StubCode)
-    theImportedSymbol                        0x0000a82c   Data           0  euser{000a0000}-654.o(StubCode)
-    StubCode                                 0x0000a830   Section        8  euser{000a0000}-669.o(StubCode)
-    theImportedSymbol                        0x0000a834   Data           0  euser{000a0000}-669.o(StubCode)
-    StubCode                                 0x0000a838   Section        8  euser{000a0000}-81.o(StubCode)
-    theImportedSymbol                        0x0000a83c   Data           0  euser{000a0000}-81.o(StubCode)
-    StubCode                                 0x0000a840   Section        8  euser{000a0000}-824.o(StubCode)
-    theImportedSymbol                        0x0000a844   Data           0  euser{000a0000}-824.o(StubCode)
-    StubCode                                 0x0000a848   Section        8  euser{000a0000}-826.o(StubCode)
-    theImportedSymbol                        0x0000a84c   Data           0  euser{000a0000}-826.o(StubCode)
-    StubCode                                 0x0000a850   Section        8  euser{000a0000}-838.o(StubCode)
-    theImportedSymbol                        0x0000a854   Data           0  euser{000a0000}-838.o(StubCode)
-    StubCode                                 0x0000a858   Section        8  euser{000a0000}-839.o(StubCode)
-    theImportedSymbol                        0x0000a85c   Data           0  euser{000a0000}-839.o(StubCode)
-    StubCode                                 0x0000a860   Section        8  euser{000a0000}-841.o(StubCode)
-    theImportedSymbol                        0x0000a864   Data           0  euser{000a0000}-841.o(StubCode)
-    StubCode                                 0x0000a868   Section        8  euser{000a0000}-936.o(StubCode)
-    theImportedSymbol                        0x0000a86c   Data           0  euser{000a0000}-936.o(StubCode)
-    StubCode                                 0x0000a870   Section        8  euser{000a0000}-953.o(StubCode)
-    theImportedSymbol                        0x0000a874   Data           0  euser{000a0000}-953.o(StubCode)
-    StubCode                                 0x0000a878   Section        8  euser{000a0000}-960.o(StubCode)
-    theImportedSymbol                        0x0000a87c   Data           0  euser{000a0000}-960.o(StubCode)
-    StubCode                                 0x0000a880   Section        8  euser{000a0000}-966.o(StubCode)
-    theImportedSymbol                        0x0000a884   Data           0  euser{000a0000}-966.o(StubCode)
-    StubCode                                 0x0000a888   Section        8  euser{000a0000}-968.o(StubCode)
-    theImportedSymbol                        0x0000a88c   Data           0  euser{000a0000}-968.o(StubCode)
-    StubCode                                 0x0000a890   Section        8  euser{000a0000}-973.o(StubCode)
-    theImportedSymbol                        0x0000a894   Data           0  euser{000a0000}-973.o(StubCode)
-    StubCode                                 0x0000a898   Section        8  euser{000a0000}-984.o(StubCode)
-    theImportedSymbol                        0x0000a89c   Data           0  euser{000a0000}-984.o(StubCode)
-    StubCode                                 0x0000a8a0   Section        8  efsrv{000a0000}-115.o(StubCode)
-    theImportedSymbol                        0x0000a8a4   Data           0  efsrv{000a0000}-115.o(StubCode)
-    StubCode                                 0x0000a8a8   Section        8  efsrv{000a0000}-118.o(StubCode)
-    theImportedSymbol                        0x0000a8ac   Data           0  efsrv{000a0000}-118.o(StubCode)
-    StubCode                                 0x0000a8b0   Section        8  efsrv{000a0000}-181.o(StubCode)
-    theImportedSymbol                        0x0000a8b4   Data           0  efsrv{000a0000}-181.o(StubCode)
-    StubCode                                 0x0000a8b8   Section        8  efsrv{000a0000}-182.o(StubCode)
-    theImportedSymbol                        0x0000a8bc   Data           0  efsrv{000a0000}-182.o(StubCode)
-    StubCode                                 0x0000a8c0   Section        8  efsrv{000a0000}-190.o(StubCode)
-    theImportedSymbol                        0x0000a8c4   Data           0  efsrv{000a0000}-190.o(StubCode)
-    StubCode                                 0x0000a8c8   Section        8  efsrv{000a0000}-200.o(StubCode)
-    theImportedSymbol                        0x0000a8cc   Data           0  efsrv{000a0000}-200.o(StubCode)
-    StubCode                                 0x0000a8d0   Section        8  efsrv{000a0000}-204.o(StubCode)
-    theImportedSymbol                        0x0000a8d4   Data           0  efsrv{000a0000}-204.o(StubCode)
-    StubCode                                 0x0000a8d8   Section        8  efsrv{000a0000}-68.o(StubCode)
-    theImportedSymbol                        0x0000a8dc   Data           0  efsrv{000a0000}-68.o(StubCode)
-    StubCode                                 0x0000a8e0   Section        8  bafl{000a0000}-123.o(StubCode)
-    theImportedSymbol                        0x0000a8e4   Data           0  bafl{000a0000}-123.o(StubCode)
-    StubCode                                 0x0000a8e8   Section        8  bafl{000a0000}-124.o(StubCode)
-    theImportedSymbol                        0x0000a8ec   Data           0  bafl{000a0000}-124.o(StubCode)
-    StubCode                                 0x0000a8f0   Section        8  bafl{000a0000}-129.o(StubCode)
-    theImportedSymbol                        0x0000a8f4   Data           0  bafl{000a0000}-129.o(StubCode)
-    StubCode                                 0x0000a8f8   Section        8  bafl{000a0000}-141.o(StubCode)
-    theImportedSymbol                        0x0000a8fc   Data           0  bafl{000a0000}-141.o(StubCode)
-    StubCode                                 0x0000a900   Section        8  bafl{000a0000}-145.o(StubCode)
-    theImportedSymbol                        0x0000a904   Data           0  bafl{000a0000}-145.o(StubCode)
-    StubCode                                 0x0000a908   Section        8  bafl{000a0000}-147.o(StubCode)
-    theImportedSymbol                        0x0000a90c   Data           0  bafl{000a0000}-147.o(StubCode)
-    StubCode                                 0x0000a910   Section        8  bafl{000a0000}-59.o(StubCode)
-    theImportedSymbol                        0x0000a914   Data           0  bafl{000a0000}-59.o(StubCode)
-    StubCode                                 0x0000a918   Section        8  bafl{000a0000}-62.o(StubCode)
-    theImportedSymbol                        0x0000a91c   Data           0  bafl{000a0000}-62.o(StubCode)
-    StubCode                                 0x0000a920   Section        8  AknIcon{000a0000}-11.o(StubCode)
-    theImportedSymbol                        0x0000a924   Data           0  AknIcon{000a0000}-11.o(StubCode)
-    StubCode                                 0x0000a928   Section        8  AknIcon{000a0000}-15.o(StubCode)
-    theImportedSymbol                        0x0000a92c   Data           0  AknIcon{000a0000}-15.o(StubCode)
-    StubCode                                 0x0000a930   Section        8  AknIcon{000a0000}-16.o(StubCode)
-    theImportedSymbol                        0x0000a934   Data           0  AknIcon{000a0000}-16.o(StubCode)
-    StubCode                                 0x0000a938   Section        8  AknIcon{000a0000}-21.o(StubCode)
-    theImportedSymbol                        0x0000a93c   Data           0  AknIcon{000a0000}-21.o(StubCode)
-    StubCode                                 0x0000a940   Section        8  gdi{000a0000}-311.o(StubCode)
-    theImportedSymbol                        0x0000a944   Data           0  gdi{000a0000}-311.o(StubCode)
-    StubCode                                 0x0000a948   Section        8  gdi{000a0000}-314.o(StubCode)
-    theImportedSymbol                        0x0000a94c   Data           0  gdi{000a0000}-314.o(StubCode)
-    StubCode                                 0x0000a950   Section        8  bitgdi{000a0000}-14.o(StubCode)
-    theImportedSymbol                        0x0000a954   Data           0  bitgdi{000a0000}-14.o(StubCode)
-    StubCode                                 0x0000a958   Section        8  bitgdi{000a0000}-44.o(StubCode)
-    theImportedSymbol                        0x0000a95c   Data           0  bitgdi{000a0000}-44.o(StubCode)
-    StubCode                                 0x0000a960   Section        8  eposlandmarks{000a0000}-12.o(StubCode)
-    theImportedSymbol                        0x0000a964   Data           0  eposlandmarks{000a0000}-12.o(StubCode)
-    StubCode                                 0x0000a968   Section        8  eposlandmarks{000a0000}-14.o(StubCode)
-    theImportedSymbol                        0x0000a96c   Data           0  eposlandmarks{000a0000}-14.o(StubCode)
-    StubCode                                 0x0000a970   Section        8  eposlandmarks{000a0000}-15.o(StubCode)
-    theImportedSymbol                        0x0000a974   Data           0  eposlandmarks{000a0000}-15.o(StubCode)
-    StubCode                                 0x0000a978   Section        8  eposlandmarks{000a0000}-4.o(StubCode)
-    theImportedSymbol                        0x0000a97c   Data           0  eposlandmarks{000a0000}-4.o(StubCode)
-    StubCode                                 0x0000a980   Section        8  eposlandmarks{000a0000}-50.o(StubCode)
-    theImportedSymbol                        0x0000a984   Data           0  eposlandmarks{000a0000}-50.o(StubCode)
-    StubCode                                 0x0000a988   Section        8  eposlandmarks{000a0000}-51.o(StubCode)
-    theImportedSymbol                        0x0000a98c   Data           0  eposlandmarks{000a0000}-51.o(StubCode)
-    StubCode                                 0x0000a990   Section        8  eposlandmarks{000a0000}-56.o(StubCode)
-    theImportedSymbol                        0x0000a994   Data           0  eposlandmarks{000a0000}-56.o(StubCode)
-    StubCode                                 0x0000a998   Section        8  eposlandmarks{000a0000}-6.o(StubCode)
-    theImportedSymbol                        0x0000a99c   Data           0  eposlandmarks{000a0000}-6.o(StubCode)
-    StubCode                                 0x0000a9a0   Section        8  eposlandmarks{000a0000}-65.o(StubCode)
-    theImportedSymbol                        0x0000a9a4   Data           0  eposlandmarks{000a0000}-65.o(StubCode)
-    StubCode                                 0x0000a9a8   Section        8  eposlandmarks{000a0000}-66.o(StubCode)
-    theImportedSymbol                        0x0000a9ac   Data           0  eposlandmarks{000a0000}-66.o(StubCode)
-    StubCode                                 0x0000a9b0   Section        8  eposlandmarks{000a0000}-67.o(StubCode)
-    theImportedSymbol                        0x0000a9b4   Data           0  eposlandmarks{000a0000}-67.o(StubCode)
-    StubCode                                 0x0000a9b8   Section        8  eposlandmarks{000a0000}-68.o(StubCode)
-    theImportedSymbol                        0x0000a9bc   Data           0  eposlandmarks{000a0000}-68.o(StubCode)
-    StubCode                                 0x0000a9c0   Section        8  eposlandmarks{000a0000}-75.o(StubCode)
-    theImportedSymbol                        0x0000a9c4   Data           0  eposlandmarks{000a0000}-75.o(StubCode)
-    StubCode                                 0x0000a9c8   Section        8  eposlandmarks{000a0000}-8.o(StubCode)
-    theImportedSymbol                        0x0000a9cc   Data           0  eposlandmarks{000a0000}-8.o(StubCode)
-    StubCode                                 0x0000a9d0   Section        8  eposlandmarks{000a0000}-82.o(StubCode)
-    theImportedSymbol                        0x0000a9d4   Data           0  eposlandmarks{000a0000}-82.o(StubCode)
-    StubCode                                 0x0000a9d8   Section        8  lbs{000a0000}-10.o(StubCode)
-    theImportedSymbol                        0x0000a9dc   Data           0  lbs{000a0000}-10.o(StubCode)
-    StubCode                                 0x0000a9e0   Section        8  lbs{000a0000}-13.o(StubCode)
-    theImportedSymbol                        0x0000a9e4   Data           0  lbs{000a0000}-13.o(StubCode)
-    StubCode                                 0x0000a9e8   Section        8  lbs{000a0000}-15.o(StubCode)
-    theImportedSymbol                        0x0000a9ec   Data           0  lbs{000a0000}-15.o(StubCode)
-    StubCode                                 0x0000a9f0   Section        8  lbs{000a0000}-152.o(StubCode)
-    theImportedSymbol                        0x0000a9f4   Data           0  lbs{000a0000}-152.o(StubCode)
-    StubCode                                 0x0000a9f8   Section        8  lbs{000a0000}-167.o(StubCode)
-    theImportedSymbol                        0x0000a9fc   Data           0  lbs{000a0000}-167.o(StubCode)
-    StubCode                                 0x0000aa00   Section        8  lbs{000a0000}-17.o(StubCode)
-    theImportedSymbol                        0x0000aa04   Data           0  lbs{000a0000}-17.o(StubCode)
-    StubCode                                 0x0000aa08   Section        8  lbs{000a0000}-180.o(StubCode)
-    theImportedSymbol                        0x0000aa0c   Data           0  lbs{000a0000}-180.o(StubCode)
-    StubCode                                 0x0000aa10   Section        8  lbs{000a0000}-181.o(StubCode)
-    theImportedSymbol                        0x0000aa14   Data           0  lbs{000a0000}-181.o(StubCode)
-    StubCode                                 0x0000aa18   Section        8  lbs{000a0000}-205.o(StubCode)
-    theImportedSymbol                        0x0000aa1c   Data           0  lbs{000a0000}-205.o(StubCode)
-    StubCode                                 0x0000aa20   Section        8  lbs{000a0000}-207.o(StubCode)
-    theImportedSymbol                        0x0000aa24   Data           0  lbs{000a0000}-207.o(StubCode)
-    StubCode                                 0x0000aa28   Section        8  lbs{000a0000}-21.o(StubCode)
-    theImportedSymbol                        0x0000aa2c   Data           0  lbs{000a0000}-21.o(StubCode)
-    StubCode                                 0x0000aa30   Section        8  lbs{000a0000}-214.o(StubCode)
-    theImportedSymbol                        0x0000aa34   Data           0  lbs{000a0000}-214.o(StubCode)
-    StubCode                                 0x0000aa38   Section        8  lbs{000a0000}-218.o(StubCode)
-    theImportedSymbol                        0x0000aa3c   Data           0  lbs{000a0000}-218.o(StubCode)
-    StubCode                                 0x0000aa40   Section        8  lbs{000a0000}-219.o(StubCode)
-    theImportedSymbol                        0x0000aa44   Data           0  lbs{000a0000}-219.o(StubCode)
-    StubCode                                 0x0000aa48   Section        8  lbs{000a0000}-223.o(StubCode)
-    theImportedSymbol                        0x0000aa4c   Data           0  lbs{000a0000}-223.o(StubCode)
-    StubCode                                 0x0000aa50   Section        8  lbs{000a0000}-225.o(StubCode)
-    theImportedSymbol                        0x0000aa54   Data           0  lbs{000a0000}-225.o(StubCode)
-    StubCode                                 0x0000aa58   Section        8  lbs{000a0000}-226.o(StubCode)
-    theImportedSymbol                        0x0000aa5c   Data           0  lbs{000a0000}-226.o(StubCode)
-    StubCode                                 0x0000aa60   Section        8  lbs{000a0000}-23.o(StubCode)
-    theImportedSymbol                        0x0000aa64   Data           0  lbs{000a0000}-23.o(StubCode)
-    StubCode                                 0x0000aa68   Section        8  lbs{000a0000}-28.o(StubCode)
-    theImportedSymbol                        0x0000aa6c   Data           0  lbs{000a0000}-28.o(StubCode)
-    StubCode                                 0x0000aa70   Section        8  lbs{000a0000}-303.o(StubCode)
-    theImportedSymbol                        0x0000aa74   Data           0  lbs{000a0000}-303.o(StubCode)
-    StubCode                                 0x0000aa78   Section        8  lbs{000a0000}-304.o(StubCode)
-    theImportedSymbol                        0x0000aa7c   Data           0  lbs{000a0000}-304.o(StubCode)
-    StubCode                                 0x0000aa80   Section        8  lbs{000a0000}-47.o(StubCode)
-    theImportedSymbol                        0x0000aa84   Data           0  lbs{000a0000}-47.o(StubCode)
-    StubCode                                 0x0000aa88   Section        8  lbs{000a0000}-48.o(StubCode)
-    theImportedSymbol                        0x0000aa8c   Data           0  lbs{000a0000}-48.o(StubCode)
-    StubCode                                 0x0000aa90   Section        8  lbs{000a0000}-49.o(StubCode)
-    theImportedSymbol                        0x0000aa94   Data           0  lbs{000a0000}-49.o(StubCode)
-    StubCode                                 0x0000aa98   Section        8  lbs{000a0000}-7.o(StubCode)
-    theImportedSymbol                        0x0000aa9c   Data           0  lbs{000a0000}-7.o(StubCode)
-    StubCode                                 0x0000aaa0   Section        8  lbs{000a0000}-8.o(StubCode)
-    theImportedSymbol                        0x0000aaa4   Data           0  lbs{000a0000}-8.o(StubCode)
-    StubCode                                 0x0000aaa8   Section        8  lbs{000a0000}-82.o(StubCode)
-    theImportedSymbol                        0x0000aaac   Data           0  lbs{000a0000}-82.o(StubCode)
-    StubCode                                 0x0000aab0   Section        8  lbs{000a0000}-83.o(StubCode)
-    theImportedSymbol                        0x0000aab4   Data           0  lbs{000a0000}-83.o(StubCode)
-    StubCode                                 0x0000aab8   Section        8  lbs{000a0000}-87.o(StubCode)
-    theImportedSymbol                        0x0000aabc   Data           0  lbs{000a0000}-87.o(StubCode)
-    StubCode                                 0x0000aac0   Section        8  lbs{000a0000}-97.o(StubCode)
-    theImportedSymbol                        0x0000aac4   Data           0  lbs{000a0000}-97.o(StubCode)
-    StubCode                                 0x0000aac8   Section        8  mnservicelib{000a0000}-10.o(StubCode)
-    theImportedSymbol                        0x0000aacc   Data           0  mnservicelib{000a0000}-10.o(StubCode)
-    StubCode                                 0x0000aad0   Section        8  mnservicelib{000a0000}-13.o(StubCode)
-    theImportedSymbol                        0x0000aad4   Data           0  mnservicelib{000a0000}-13.o(StubCode)
-    StubCode                                 0x0000aad8   Section        8  mnservicelib{000a0000}-3.o(StubCode)
-    theImportedSymbol                        0x0000aadc   Data           0  mnservicelib{000a0000}-3.o(StubCode)
-    StubCode                                 0x0000aae0   Section        8  mnservicelib{000a0000}-5.o(StubCode)
-    theImportedSymbol                        0x0000aae4   Data           0  mnservicelib{000a0000}-5.o(StubCode)
-    StubCode                                 0x0000aae8   Section        8  mnservicelib{000a0000}-55.o(StubCode)
-    theImportedSymbol                        0x0000aaec   Data           0  mnservicelib{000a0000}-55.o(StubCode)
-    StubCode                                 0x0000aaf0   Section        8  mnservicelib{000a0000}-57.o(StubCode)
-    theImportedSymbol                        0x0000aaf4   Data           0  mnservicelib{000a0000}-57.o(StubCode)
-    StubCode                                 0x0000aaf8   Section        8  mnservicelib{000a0000}-6.o(StubCode)
-    theImportedSymbol                        0x0000aafc   Data           0  mnservicelib{000a0000}-6.o(StubCode)
-    StubCode                                 0x0000ab00   Section        8  mnservicelib{000a0000}-8.o(StubCode)
-    theImportedSymbol                        0x0000ab04   Data           0  mnservicelib{000a0000}-8.o(StubCode)
-    StubCode                                 0x0000ab08   Section        8  mnservicelib{000a0000}-9.o(StubCode)
-    theImportedSymbol                        0x0000ab0c   Data           0  mnservicelib{000a0000}-9.o(StubCode)
-    StubCode                                 0x0000ab10   Section        8  dfpaeabi{000a0000}-12.o(StubCode)
-    theImportedSymbol                        0x0000ab14   Data           0  dfpaeabi{000a0000}-12.o(StubCode)
-    StubCode                                 0x0000ab18   Section        8  dfpaeabi{000a0000}-19.o(StubCode)
-    theImportedSymbol                        0x0000ab1c   Data           0  dfpaeabi{000a0000}-19.o(StubCode)
-    StubCode                                 0x0000ab20   Section        8  dfpaeabi{000a0000}-2.o(StubCode)
-    theImportedSymbol                        0x0000ab24   Data           0  dfpaeabi{000a0000}-2.o(StubCode)
-    StubCode                                 0x0000ab28   Section        8  dfpaeabi{000a0000}-20.o(StubCode)
-    theImportedSymbol                        0x0000ab2c   Data           0  dfpaeabi{000a0000}-20.o(StubCode)
-    StubCode                                 0x0000ab30   Section        8  dfpaeabi{000a0000}-22.o(StubCode)
-    theImportedSymbol                        0x0000ab34   Data           0  dfpaeabi{000a0000}-22.o(StubCode)
-    StubCode                                 0x0000ab38   Section        8  dfpaeabi{000a0000}-23.o(StubCode)
-    theImportedSymbol                        0x0000ab3c   Data           0  dfpaeabi{000a0000}-23.o(StubCode)
-    StubCode                                 0x0000ab40   Section        8  dfpaeabi{000a0000}-24.o(StubCode)
-    theImportedSymbol                        0x0000ab44   Data           0  dfpaeabi{000a0000}-24.o(StubCode)
-    StubCode                                 0x0000ab48   Section        8  dfpaeabi{000a0000}-25.o(StubCode)
-    theImportedSymbol                        0x0000ab4c   Data           0  dfpaeabi{000a0000}-25.o(StubCode)
-    StubCode                                 0x0000ab50   Section        8  dfpaeabi{000a0000}-3.o(StubCode)
-    theImportedSymbol                        0x0000ab54   Data           0  dfpaeabi{000a0000}-3.o(StubCode)
-    StubCode                                 0x0000ab58   Section        8  dfpaeabi{000a0000}-36.o(StubCode)
-    theImportedSymbol                        0x0000ab5c   Data           0  dfpaeabi{000a0000}-36.o(StubCode)
-    StubCode                                 0x0000ab60   Section        8  dfpaeabi{000a0000}-41.o(StubCode)
-    theImportedSymbol                        0x0000ab64   Data           0  dfpaeabi{000a0000}-41.o(StubCode)
-    StubCode                                 0x0000ab68   Section        8  dfpaeabi{000a0000}-5.o(StubCode)
-    theImportedSymbol                        0x0000ab6c   Data           0  dfpaeabi{000a0000}-5.o(StubCode)
-    StubCode                                 0x0000ab70   Section        8  dfpaeabi{000a0000}-8.o(StubCode)
-    theImportedSymbol                        0x0000ab74   Data           0  dfpaeabi{000a0000}-8.o(StubCode)
-    StubCode                                 0x0000ab78   Section        8  drtaeabi{000a0000}-135.o(StubCode)
-    theImportedSymbol                        0x0000ab7c   Data           0  drtaeabi{000a0000}-135.o(StubCode)
-    StubCode                                 0x0000ab80   Section        8  drtaeabi{000a0000}-147.o(StubCode)
-    theImportedSymbol                        0x0000ab84   Data           0  drtaeabi{000a0000}-147.o(StubCode)
-    StubCode                                 0x0000ab88   Section        8  drtaeabi{000a0000}-158.o(StubCode)
-    theImportedSymbol                        0x0000ab8c   Data           0  drtaeabi{000a0000}-158.o(StubCode)
-    StubCode                                 0x0000ab90   Section        8  drtaeabi{000a0000}-159.o(StubCode)
-    theImportedSymbol                        0x0000ab94   Data           0  drtaeabi{000a0000}-159.o(StubCode)
-    StubCode                                 0x0000ab98   Section        8  drtaeabi{000a0000}-180.o(StubCode)
-    theImportedSymbol                        0x0000ab9c   Data           0  drtaeabi{000a0000}-180.o(StubCode)
-    StubCode                                 0x0000aba0   Section        8  drtaeabi{000a0000}-183.o(StubCode)
-    theImportedSymbol                        0x0000aba4   Data           0  drtaeabi{000a0000}-183.o(StubCode)
-    StubCode                                 0x0000aba8   Section        8  drtaeabi{000a0000}-184.o(StubCode)
-    theImportedSymbol                        0x0000abac   Data           0  drtaeabi{000a0000}-184.o(StubCode)
-    StubCode                                 0x0000abb0   Section        8  scppnwdl{000a0000}-3.o(StubCode)
-    theImportedSymbol                        0x0000abb4   Data           0  scppnwdl{000a0000}-3.o(StubCode)
-    i._Z18ExecuteAndDeleteLDP15CPosLmOperation 0x0000abb8   Section       22  mnrefproviderengine.in(i._Z18ExecuteAndDeleteLDP15CPosLmOperation)
-    i._ZN7TPtrC163SetERK7TDesC16             0x0000abce   Section       28  mnrefproviderengine.in(i._ZN7TPtrC163SetERK7TDesC16)
-    i._ZN7TPtrC163SetERK7TDesC16.clean       0x0000abea   Section       12  mnrefproviderengine.in(i._ZN7TPtrC163SetERK7TDesC16.clean)
-    i._ZdlPvS_                               0x0000abf6   Section        2  mnrefproviderengine.in(i._ZdlPvS_)
-    i._ZnwjPv                                0x0000abf8   Section        4  mnrefproviderengine.in(i._ZnwjPv)
-    t._Z17CleanupClosePushLI6RArrayIN11CMnrpEngine14TDistanceToPoiEEEvRT_ 0x0000abfc   Section       16  mnrefproviderengine.in(t._Z17CleanupClosePushLI6RArrayIN11CMnrpEngine14TDistanceToPoiEEEvRT_)
-    t._Z3AbsIdET_S0_                         0x0000ac0c   Section       44  mnrefproviderengine.in(t._Z3AbsIdET_S0_)
-    t._Z3MaxIdET_S0_S0_                      0x0000ac38   Section       28  mnrefproviderengine.in(t._Z3MaxIdET_S0_S0_)
-    t._Z3MinIdET_S0_S0_                      0x0000ac54   Section       28  mnrefproviderengine.in(t._Z3MinIdET_S0_S0_)
-    t._ZN12CleanupCloseI6RArrayIN11CMnrpEngine14TDistanceToPoiEEE5CloseEPv 0x0000ac70   Section        8  mnrefproviderengine.in(t._ZN12CleanupCloseI6RArrayIN11CMnrpEngine14TDistanceToPoiEEE5CloseEPv)
-    t._ZN12CleanupCloseI6RArrayImEE5CloseEPv 0x0000ac78   Section        8  mnrefproviderengine.in(t._ZN12CleanupCloseI6RArrayImEE5CloseEPv)
-    t._ZN13RPointerArrayI12CPosLandmarkE7AppendLEPKS0_ 0x0000ac80   Section       12  mnrefproviderengine.in(t._ZN13RPointerArrayI12CPosLandmarkE7AppendLEPKS0_)
-    t._ZN13RPointerArrayIN13CMnrpMapModel9CDrawItemEE15ResetAndDestroyEv 0x0000ac8c   Section       48  mnrefproviderengine.in(t._ZN13RPointerArrayIN13CMnrpMapModel9CDrawItemEE15ResetAndDestroyEv)
-    t._ZN13RPointerArrayIN13CMnrpMapModel9CDrawItemEE7AppendLEPKS1_ 0x0000acbc   Section       12  mnrefproviderengine.in(t._ZN13RPointerArrayIN13CMnrpMapModel9CDrawItemEE7AppendLEPKS1_)
-    t._ZNK20HPositionGenericInfo8GetValueIfEEitRT_ 0x0000acc8   Section       16  mnrefproviderengine.in(t._ZNK20HPositionGenericInfo8GetValueIfEEitRT_)
-    t._ZNK6RArrayIN11CMnrpEngine14TDistanceToPoiEE5CountEv 0x0000acd8   Section        8  mnrefproviderengine.in(t._ZNK6RArrayIN11CMnrpEngine14TDistanceToPoiEE5CountEv)
-    t._ZNK6TArrayIP12CPosLandmarkEixEi       0x0000ace0   Section        8  mnrefproviderengine.in(t._ZNK6TArrayIP12CPosLandmarkEixEi)
-    t._ZNK6TArrayIPN13CMnrpMapModel9CDrawItemEEixEi 0x0000ace8   Section        8  mnrefproviderengine.in(t._ZNK6TArrayIPN13CMnrpMapModel9CDrawItemEEixEi)
-    .extab._ZN11CMnrpEngineC1Ev              0x0000acf0   Data           0  mnrefproviderengine.in(.ARM.extab)
-    .extab._ZN11CMnrpEngineD1Ev              0x0000ad00   Data           0  mnrefproviderengine.in(.ARM.extab)
-    .extab._ZN11CMnrpEngine17FindResourceFileLERK7TDesC16R4TBufILi256EE 0x0000ad10   Data           0  mnrefproviderengine.in(.ARM.extab)
-    .extab._ZN11CMnrpEngine16LoadKnownPlacesLEv 0x0000ad1c   Data           0  mnrefproviderengine.in(.ARM.extab)
-    .extab._ZN11CMnrpEngine12KnownPlacesLEv  0x0000ad2c   Data           0  mnrefproviderengine.in(.ARM.extab)
-    .extab._ZN13CMnrpMapModel9CDrawItem5NewLCERK12CPosLandmark 0x0000ad54   Data           0  mnrefproviderengine.in(.ARM.extab)
-    .extab._ZN13CMnrpMapModelC1ER17MMapModelObserverR11CMnrpEngine 0x0000ad64   Data           0  mnrefproviderengine.in(.ARM.extab)
-    .extab._ZN13CMnrpMapModelC1ER11CMnrpEngine 0x0000ad74   Data           0  mnrefproviderengine.in(.ARM.extab)
-    .extab._ZN13CMnrpMapModelD1Ev            0x0000ad84   Data           0  mnrefproviderengine.in(.ARM.extab)
-    .extab._ZN13CMnrpMapModel9CDrawItemD1Ev  0x0000ad94   Data           0  mnrefproviderengine.in(.ARM.extab)
-    .extab._ZN20CMnrpPositionRequestC1ER21MMnrpPositionObserver 0x0000ada4   Data           0  mnrefproviderengine.in(.ARM.extab)
-    .extab._ZN20CMnrpPositionRequestD1Ev     0x0000adb4   Data           0  mnrefproviderengine.in(.ARM.extab)
-    .extab._ZN7TPtrC163SetERK7TDesC16        0x0000adc4   Data           0  mnrefproviderengine.in(.ARM.extab)
-    .constdata$1                             0x0000add4   Data           0  mnrefproviderengine.in(.constdata)
-    KCitiesResourceFile                      0x0000add4   Data          72  mnrefproviderengine.in(.constdata)
-    .constdata                               0x0000add4   Section      128  mnrefproviderengine.in(.constdata)
-    KLocationNameFormat@_ZN11CMnrpEngine21CreateCloseLandmarkLCERK12CPosLandmarkf_0 0x0000ae1c   Data          28  mnrefproviderengine.in(.constdata)
-    KLocationNameFormatKm@_ZN11CMnrpEngine21CreateCloseLandmarkLCERK12CPosLandmarkf_1 0x0000ae38   Data          28  mnrefproviderengine.in(.constdata)
-    .constdata$1                             0x0000ae54   Data           0  mnrefproviderengine.in(.constdata)
-    KCellDividers                            0x0000ae54   Data          12  mnrefproviderengine.in(.constdata)
-    .constdata                               0x0000ae54   Section       44  mnrefproviderengine.in(.constdata)
-    KRequestorName@_ZN13CMnrpMapModel10ConstructLEv_0 0x0000ae60   Data          32  mnrefproviderengine.in(.constdata)
-    .constdata$1                             0x0000ae80   Data           0  mnrefproviderengine.in(.constdata)
-    KNorth@_ZN9MnrpUtils13AngleToStringEdR6TDes16_1 0x0000ae80   Data           8  mnrefproviderengine.in(.constdata)
-    .constdata                               0x0000ae80   Section      276  mnrefproviderengine.in(.constdata)
-    KSouth@_ZN9MnrpUtils13AngleToStringEdR6TDes16_2 0x0000ae88   Data           8  mnrefproviderengine.in(.constdata)
-    KWest@_ZN9MnrpUtils13AngleToStringEdR6TDes16_3 0x0000ae90   Data           8  mnrefproviderengine.in(.constdata)
-    KEast@_ZN9MnrpUtils13AngleToStringEdR6TDes16_4 0x0000ae98   Data           8  mnrefproviderengine.in(.constdata)
-    KNan                                     0x0000aea0   Data          16  mnrefproviderengine.in(.constdata)
-    KNeg                                     0x0000aeb0   Data          16  mnrefproviderengine.in(.constdata)
-    KOutOfBounds                             0x0000aec0   Data          16  mnrefproviderengine.in(.constdata)
-    KCoordFormatFull@_ZN9MnrpUtils18CoordinateToStringEdR6TDes16ii_0 0x0000aed0   Data          44  mnrefproviderengine.in(.constdata)
-    KCoordFormatPartMseconds@_ZN9MnrpUtils18CoordinateToStringEdR6TDes16ii_1 0x0000aefc   Data          20  mnrefproviderengine.in(.constdata)
-    KSmall@_ZN9MnrpUtils16DistanceToStringEdR6TDes16_0 0x0000af10   Data          16  mnrefproviderengine.in(.constdata)
-    KMeters@_ZN9MnrpUtils16DistanceToStringEdR6TDes16_1 0x0000af20   Data          16  mnrefproviderengine.in(.constdata)
-    KKiloMeters@_ZN9MnrpUtils16DistanceToStringEdR6TDes16_2 0x0000af30   Data          20  mnrefproviderengine.in(.constdata)
-    KThousandsKiloMeters@_ZN9MnrpUtils16DistanceToStringEdR6TDes16_3 0x0000af44   Data          24  mnrefproviderengine.in(.constdata)
-    KAngleFormat@_ZN9MnrpUtils13AngleToStringEdR6TDes16_0 0x0000af5c   Data          44  mnrefproviderengine.in(.constdata)
-    KPerSecond@_ZN9MnrpUtils13SpeedToStringEdR6TDes16_0 0x0000af88   Data          12  mnrefproviderengine.in(.constdata)
-    .constdata__ZTI11CMnrpEngine             0x0000af94   Section       12  mnrefproviderengine.in(.constdata__ZTI11CMnrpEngine)
-    .constdata__ZTI13CMnrpMapModel           0x0000afa0   Section       32  mnrefproviderengine.in(.constdata__ZTI13CMnrpMapModel)
-    .constdata__ZTI20CMnrpPositionRequest    0x0000afc0   Section       12  mnrefproviderengine.in(.constdata__ZTI20CMnrpPositionRequest)
-    .constdata__ZTI21MMnrpPositionObserver   0x0000afcc   Section        8  mnrefproviderengine.in(.constdata__ZTI21MMnrpPositionObserver)
-    .constdata__ZTIN13CMnrpMapModel9CDrawItemE 0x0000afd4   Section       12  mnrefproviderengine.in(.constdata__ZTIN13CMnrpMapModel9CDrawItemE)
-    .constdata__ZTS11CMnrpEngine             0x0000afe0   Section       14  mnrefproviderengine.in(.constdata__ZTS11CMnrpEngine)
-    .constdata__ZTS13CMnrpMapModel           0x0000afee   Section       16  mnrefproviderengine.in(.constdata__ZTS13CMnrpMapModel)
-    .constdata__ZTS20CMnrpPositionRequest    0x0000affe   Section       23  mnrefproviderengine.in(.constdata__ZTS20CMnrpPositionRequest)
-    .constdata__ZTS21MMnrpPositionObserver   0x0000b015   Section       24  mnrefproviderengine.in(.constdata__ZTS21MMnrpPositionObserver)
-    .constdata__ZTSN13CMnrpMapModel9CDrawItemE 0x0000b02d   Section       28  mnrefproviderengine.in(.constdata__ZTSN13CMnrpMapModel9CDrawItemE)
-    .constdata__ZTV11CMnrpEngine             0x0000b04c   Section       20  mnrefproviderengine.in(.constdata__ZTV11CMnrpEngine)
-    .constdata__ZTV13CMnrpMapModel           0x0000b060   Section       36  mnrefproviderengine.in(.constdata__ZTV13CMnrpMapModel)
-    .constdata__ZTV20CMnrpPositionRequest    0x0000b084   Section       32  mnrefproviderengine.in(.constdata__ZTV20CMnrpPositionRequest)
-    .constdata__ZTVN13CMnrpMapModel9CDrawItemE 0x0000b0a4   Section       20  mnrefproviderengine.in(.constdata__ZTVN13CMnrpMapModel9CDrawItemE)
-    .ARM.exidx                               0x0000b0b8   Section        8  ucppinit_aeabi.o(.ARM.exidx)
-
-    Global Symbols
-
-    Symbol Name                              Value     Ov Type        Size  Object(Section)
-
-    BuildAttributes$$THUMB_ISAv3$ARM_ISAv6$M$E$P$PE$A:L22$X:L11$S22$IEEE1$IW$USESV6$~STKCKD$USESV7$~SHL$OSPACE$IEEEJ$EBA8$UX$REQ8$PRES8$EABIv2 0x00000000   Number         0  anon$$obj.o ABSOLUTE
-    #<DLL>AknIcon{000a0000}[1020735a].dll#<\DLL>10  - Undefined Reference
-    #<DLL>AknIcon{000a0000}[1020735a].dll#<\DLL>15  - Undefined Reference
-    #<DLL>AknIcon{000a0000}[1020735a].dll#<\DLL>b  - Undefined Reference
-    #<DLL>AknIcon{000a0000}[1020735a].dll#<\DLL>f  - Undefined Reference
-    #<DLL>bafl{000a0000}[10003a0f].dll#<\DLL>3b  - Undefined Reference
-    #<DLL>bafl{000a0000}[10003a0f].dll#<\DLL>3e  - Undefined Reference
-    #<DLL>bafl{000a0000}[10003a0f].dll#<\DLL>7b  - Undefined Reference
-    #<DLL>bafl{000a0000}[10003a0f].dll#<\DLL>7c  - Undefined Reference
-    #<DLL>bafl{000a0000}[10003a0f].dll#<\DLL>81  - Undefined Reference
-    #<DLL>bafl{000a0000}[10003a0f].dll#<\DLL>8d  - Undefined Reference
-    #<DLL>bafl{000a0000}[10003a0f].dll#<\DLL>91  - Undefined Reference
-    #<DLL>bafl{000a0000}[10003a0f].dll#<\DLL>93  - Undefined Reference
-    #<DLL>bitgdi{000a0000}[10003b18].dll#<\DLL>2c  - Undefined Reference
-    #<DLL>bitgdi{000a0000}[10003b18].dll#<\DLL>e  - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>13     - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>14     - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>16     - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>17     - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>18     - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>19     - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>2      - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>24     - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>29     - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>3      - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>5      - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>8      - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>c      - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>87     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>93     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>9e     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>9f     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>b4     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>b7     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>b8     - Undefined Reference
-    #<DLL>efsrv{000a0000}[100039e4].dll#<\DLL>44  - Undefined Reference
-    #<DLL>efsrv{000a0000}[100039e4].dll#<\DLL>73  - Undefined Reference
-    #<DLL>efsrv{000a0000}[100039e4].dll#<\DLL>76  - Undefined Reference
-    #<DLL>efsrv{000a0000}[100039e4].dll#<\DLL>b5  - Undefined Reference
-    #<DLL>efsrv{000a0000}[100039e4].dll#<\DLL>b6  - Undefined Reference
-    #<DLL>efsrv{000a0000}[100039e4].dll#<\DLL>be  - Undefined Reference
-    #<DLL>efsrv{000a0000}[100039e4].dll#<\DLL>c8  - Undefined Reference
-    #<DLL>efsrv{000a0000}[100039e4].dll#<\DLL>cc  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>32  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>33  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>38  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>4  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>41  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>42  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>43  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>44  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>4b  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>52  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>6  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>8  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>c  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>e  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>f  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1a8  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1d0  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1d7  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1d8  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1dc  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1e1  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>227  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>251  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>289  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>28e  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>29d  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>2e  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>2f  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>30  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>31  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>32  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>338  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>33a  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>346  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>347  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>349  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>37  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>3a8  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>3b9  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>3c0  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>3c6  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>3c8  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>3cd  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>3d8  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>41b  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>423  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>431  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>432  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>440  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>442  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>443  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>446  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>45c  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>45f  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>493  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>494  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>51  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>5e3  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>5e6  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>636  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>639  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>659  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>66e  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>670  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>671  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>673  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>6d9  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>70e  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>717  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>71d  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>722  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>78  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>80c  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>80d  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>822  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>84b  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>84d  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>850  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>cb  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>cd  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>cf  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>d0  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>d1  - Undefined Reference
-    #<DLL>gdi{000a0000}[10003b15].dll#<\DLL>137  - Undefined Reference
-    #<DLL>gdi{000a0000}[10003b15].dll#<\DLL>13a  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>11  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>12f  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>130  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>15  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>17  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>1c  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>2f  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>30  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>31  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>52  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>53  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>57  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>61  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>7  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>8  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>98  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>a  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>a7  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>b4  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>b5  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>cd  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>cf  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>d  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>d6  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>da  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>db  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>df  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>e1  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>e2  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>f  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>3  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>37  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>39  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>5  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>6  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>8  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>9  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>a  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>d  - Undefined Reference
-    #<DLL>scppnwdl{000a0000}.dll#<\DLL>3      - Undefined Reference
-    SHT$$INIT_ARRAY$$Base                     - Undefined Weak Reference
-    SHT$$INIT_ARRAY$$Limit                    - Undefined Weak Reference
-    typeinfo for XLeaveException              - Undefined Reference
-    typeinfo for CBase                        - Undefined Reference
-    typeinfo for CActive                      - Undefined Reference
-    vtable for __cxxabiv1::__class_type_info  - Undefined Reference
-    vtable for __cxxabiv1::__si_class_type_info  - Undefined Reference
-    vtable for __cxxabiv1::__vmi_class_type_info  - Undefined Reference
-    _fp_init                                  - Undefined Weak Reference
-    run_static_dtors                          - Undefined Weak Reference
-    Image$$ER_RO$$Base                       0x00008000   Number         0  anon$$obj.o(linker$$defined$$symbols)
-    _E32Dll                                  0x00008000   ARM Code      40  uc_dll_.o(.emb_text)
-    Symbian$$CPP$$Exception$$Descriptor      0x00008014   Data           0  uc_dll_.o(.emb_text)
-    __cpp_initialize__aeabi_                 0x00008028   ARM Code      72  ucppinit_aeabi.o(.emb_text)
-    CMnrpEngine::ConstructL()                0x00008071   Thumb Code    18  mnrefproviderengine.in(.text)
-    std::nothrow                             0x00008071   Thumb Code     0  ucppinit_aeabi.o(.emb_text)
-    CMnrpEngine::CMnrpEngine()               0x00008083   Thumb Code    22  mnrefproviderengine.in(.text)
-    CMnrpEngine::CMnrpEngine__sub_object()   0x00008083   Thumb Code     0  mnrefproviderengine.in(.text)
-    CMnrpEngine::NewL()                      0x00008099   Thumb Code    32  mnrefproviderengine.in(.text)
-    CMnrpEngine::~CMnrpEngine()              0x000080b9   Thumb Code    74  mnrefproviderengine.in(.text)
-    CMnrpEngine::~CMnrpEngine__sub_object()  0x000080b9   Thumb Code     0  mnrefproviderengine.in(.text)
-    CMnrpEngine::~CMnrpEngine__deallocating() 0x00008103   Thumb Code    16  mnrefproviderengine.in(.text)
-    CMnrpEngine::ReadPlacesResourceL(RResourceReader&) 0x00008113   Thumb Code   154  mnrefproviderengine.in(.text)
-    CMnrpEngine::FindResourceFileL(const TDesC16&, TBuf<(int)256>&) 0x000081ad   Thumb Code   118  mnrefproviderengine.in(.text)
-    CMnrpEngine::LoadKnownPlacesL()          0x00008223   Thumb Code    94  mnrefproviderengine.in(.text)
-    CMnrpEngine::KnownPlacesL()              0x00008281   Thumb Code    76  mnrefproviderengine.in(.text)
-    CMnrpEngine::AddressToCoordL(const CPosLandmark&) 0x000082cd   Thumb Code   124  mnrefproviderengine.in(.text)
-    CMnrpEngine::AddressToCoordLC(const CPosLandmark&) 0x00008349   Thumb Code    32  mnrefproviderengine.in(.text)
-    CMnrpEngine::AddressToCoordL(const TDesC16&) 0x00008369   Thumb Code   124  mnrefproviderengine.in(.text)
-    CMnrpEngine::AddressToCoordLC(const TDesC16&) 0x000083e5   Thumb Code    32  mnrefproviderengine.in(.text)
-    CMnrpEngine::CreateCloseLandmarkLC(const CPosLandmark&, float) 0x00008405   Thumb Code   178  mnrefproviderengine.in(.text)
-    CMnrpEngine::DistanceBetweenLandmarks(const CPosLandmark&, const CPosLandmark&) 0x000084b7   Thumb Code    86  mnrefproviderengine.in(.text)
-    CMnrpEngine::FindClosestPoisL(const CPosLandmark&, RArray<CMnrpEngine::TDistanceToPoi>&, int) 0x0000850d   Thumb Code   178  mnrefproviderengine.in(.text)
-    CMnrpEngine::CoordToAddressLC(const TCoordinate&) 0x000085bf   Thumb Code   124  mnrefproviderengine.in(.text)
-    CMnrpEngine::Fs()                        0x0000863b   Thumb Code     4  mnrefproviderengine.in(.text)
-    CMnrpEngine::BestCoordToAddressMatchesL(const TCoordinate&, RPointerArray<CPosLandmark>&, int) 0x0000863f   Thumb Code   136  mnrefproviderengine.in(.text)
-    AbsoluteToImage(TRealPoint, double)      0x000086c9   Thumb Code    74  mnrefproviderengine.in(.text)
-    TRealPoint::TRealPoint()                 0x00008713   Thumb Code    40  mnrefproviderengine.in(.text)
-    TRealPoint::TRealPoint__sub_object()     0x00008713   Thumb Code     0  mnrefproviderengine.in(.text)
-    TRealPoint::TRealPoint(double, double)   0x0000873b   Thumb Code    16  mnrefproviderengine.in(.text)
-    TRealPoint::TRealPoint__sub_object(double, double) 0x0000873b   Thumb Code     0  mnrefproviderengine.in(.text)
-    TRealPoint::TRealPoint(TCoordinate)      0x0000874b   Thumb Code    36  mnrefproviderengine.in(.text)
-    TRealPoint::TRealPoint__sub_object(TCoordinate) 0x0000874b   Thumb Code     0  mnrefproviderengine.in(.text)
-    TRealPoint::operator +(const TRealPoint&) 0x0000876f   Thumb Code    54  mnrefproviderengine.in(.text)
-    TRealPoint::operator -(const TRealPoint&) 0x000087a5   Thumb Code    52  mnrefproviderengine.in(.text)
-    TRealPoint::operator *(const double&)    0x000087d9   Thumb Code    58  mnrefproviderengine.in(.text)
-    TRealPoint::operator /(const double&)    0x00008813   Thumb Code    56  mnrefproviderengine.in(.text)
-    TRealPoint::Set(double, double)          0x0000884b   Thumb Code    16  mnrefproviderengine.in(.text)
-    TRealPoint::Coordinate()                 0x0000885b   Thumb Code    30  mnrefproviderengine.in(.text)
-    TRealPoint::IsValid()                    0x00008879   Thumb Code    32  mnrefproviderengine.in(.text)
-    CMnrpMapModel::CDrawItem::SetAbsolutePosition(const TLocality&) 0x00008899   Thumb Code    44  mnrefproviderengine.in(.text)
-    CMnrpMapModel::CDrawItem::NewLC(const CPosLandmark&) 0x000088c5   Thumb Code   146  mnrefproviderengine.in(.text)
-    CMnrpMapModel::AddCitiesL()              0x00008957   Thumb Code    64  mnrefproviderengine.in(.text)
-    CMnrpMapModel::ConstructL()              0x00008997   Thumb Code    62  mnrefproviderengine.in(.text)
-    CMnrpMapModel::CMnrpMapModel(MMapModelObserver&, CMnrpEngine&) 0x000089d5   Thumb Code   102  mnrefproviderengine.in(.text)
-    CMnrpMapModel::CMnrpMapModel__sub_object(MMapModelObserver&, CMnrpEngine&) 0x000089d5   Thumb Code     0  mnrefproviderengine.in(.text)
-    CMnrpMapModel::NewL(MMapModelObserver&, CMnrpEngine&) 0x00008a3b   Thumb Code    40  mnrefproviderengine.in(.text)
-    CMnrpMapModel::CMnrpMapModel(CMnrpEngine&) 0x00008a63   Thumb Code   150  mnrefproviderengine.in(.text)
-    CMnrpMapModel::CMnrpMapModel__sub_object(CMnrpEngine&) 0x00008a63   Thumb Code     0  mnrefproviderengine.in(.text)
-    CMnrpMapModel::NewL(CMnrpEngine&)        0x00008af9   Thumb Code    36  mnrefproviderengine.in(.text)
-    CMnrpMapModel::~CMnrpMapModel()          0x00008b1d   Thumb Code    40  mnrefproviderengine.in(.text)
-    CMnrpMapModel::~CMnrpMapModel__sub_object() 0x00008b1d   Thumb Code     0  mnrefproviderengine.in(.text)
-    CMnrpMapModel::~CMnrpMapModel__deallocating() 0x00008b45   Thumb Code    16  mnrefproviderengine.in(.text)
-    CMnrpMapModel::Height() const            0x00008b55   Thumb Code    22  mnrefproviderengine.in(.text)
-    CMnrpMapModel::Bottom() const            0x00008b6b   Thumb Code    28  mnrefproviderengine.in(.text)
-    CMnrpMapModel::Top() const               0x00008b87   Thumb Code    28  mnrefproviderengine.in(.text)
-    CMnrpMapModel::Width() const             0x00008ba3   Thumb Code    22  mnrefproviderengine.in(.text)
-    CMnrpMapModel::Right() const             0x00008bb9   Thumb Code    28  mnrefproviderengine.in(.text)
-    CMnrpMapModel::Left() const              0x00008bd5   Thumb Code    28  mnrefproviderengine.in(.text)
-    CMnrpMapModel::MaxScale() const          0x00008bf1   Thumb Code    60  mnrefproviderengine.in(.text)
-    CMnrpMapModel::CheckBorders()            0x00008c2d   Thumb Code   240  mnrefproviderengine.in(.text)
-    CMnrpMapModel::AdjustBoundingBox(CMnrpMapModel::CDrawItem&, TRealPoint&, TRealPoint&) 0x00008d1d   Thumb Code   166  mnrefproviderengine.in(.text)
-    CMnrpMapModel::CheckDrawItemHasPositionL(CMnrpMapModel::CDrawItem&, const CPosLandmark&) 0x00008dc3   Thumb Code    90  mnrefproviderengine.in(.text)
-    CMnrpMapModel::CDrawItem::NewLC(const CPosLandmark&, CPosLmCategoryManager&) 0x00008e1d   Thumb Code   134  mnrefproviderengine.in(.text)
-    CMnrpMapModel::UpdateModelL(CMnrpMapViewService&) 0x00008ea3   Thumb Code   802  mnrefproviderengine.in(.text)
-    CMnrpMapModel::SetScreenSize(TSize)      0x000091c5   Thumb Code    14  mnrefproviderengine.in(.text)
-    CMnrpMapModel::UpdateModel(const TMnMapImageParams&) 0x000091d3   Thumb Code   178  mnrefproviderengine.in(.text)
-    CMnrpMapModel::UpdateModelL(const CMnrpMapImageService&) 0x00009285   Thumb Code   278  mnrefproviderengine.in(.text)
-    CMnrpMapModel::AbsoluteToScreen(TRealPoint) const 0x0000939b   Thumb Code   106  mnrefproviderengine.in(.text)
-    CMnrpMapModel::AbsoluteToScreen(TCoordinate) const 0x00009405   Thumb Code    84  mnrefproviderengine.in(.text)
-    CMnrpMapModel::CurrentLocation() const   0x00009459   Thumb Code   216  mnrefproviderengine.in(.text)
-    CMnrpMapModel::DrawCurrentLocation(CFbsBitGc&, const TSize&) const 0x00009531   Thumb Code   176  mnrefproviderengine.in(.text)
-    CMnrpMapModel::Items() const             0x000095e1   Thumb Code    88  mnrefproviderengine.in(.text)
-    CMnrpMapModel::DrawLandmarks(CFbsBitGc&, CFont&, const TSize&, int) const 0x00009639   Thumb Code   672  mnrefproviderengine.in(.text)
-    CMnrpMapModel::DrawHorizontalLine(CFbsBitGc&, int, TSize) const 0x000098d9   Thumb Code    28  mnrefproviderengine.in(.text)
-    CMnrpMapModel::DrawVerticalLine(CFbsBitGc&, int, TSize) const 0x000098f5   Thumb Code    30  mnrefproviderengine.in(.text)
-    CMnrpMapModel::DrawGrid(CFbsBitGc&, const TSize&, CMnrpMapModel::TGrid&) const 0x00009913   Thumb Code   128  mnrefproviderengine.in(.text)
-    CMnrpMapModel::AbsoluteToScreen(double) const 0x00009993   Thumb Code    24  mnrefproviderengine.in(.text)
-    CMnrpMapModel::GetGrid(CMnrpMapModel::TGrid&) const 0x000099ab   Thumb Code   348  mnrefproviderengine.in(.text)
-    CMnrpMapModel::RenderL(CFbsBitmap&, TRect, CFont*, CFont*) const 0x00009b07   Thumb Code   204  mnrefproviderengine.in(.text)
-    CMnrpMapModel::NumIgnoredLandmarks()     0x00009bd3   Thumb Code     6  mnrefproviderengine.in(.text)
-    CMnrpMapModel::Zoom(double)              0x00009bd9   Thumb Code    28  mnrefproviderengine.in(.text)
-    CMnrpMapModel::MoveTo(TCoordinate)       0x00009bf5   Thumb Code    54  mnrefproviderengine.in(.text)
-    CMnrpMapModel::GoCenter()                0x00009c2b   Thumb Code    32  mnrefproviderengine.in(.text)
-    CMnrpMapModel::ScreenToAbsolute(TPoint) const 0x00009c4b   Thumb Code   108  mnrefproviderengine.in(.text)
-    CMnrpMapModel::ScreenToAbsolute(int) const 0x00009cb7   Thumb Code    58  mnrefproviderengine.in(.text)
-    CMnrpMapModel::Center() const            0x00009cf1   Thumb Code    32  mnrefproviderengine.in(.text)
-    CMnrpMapModel::HandlePositionRequestCompletedL(int) 0x00009d11   Thumb Code    54  mnrefproviderengine.in(.text)
-    thunk{-4} to CMnrpMapModel::HandlePositionRequestCompletedL(int) 0x00009d47   Thumb Code     4  mnrefproviderengine.in(.text)
-    CMnrpMapModel::CDrawItem::~CDrawItem()   0x00009d4b   Thumb Code    56  mnrefproviderengine.in(.text)
-    CMnrpMapModel::CDrawItem::~CDrawItem__sub_object() 0x00009d4b   Thumb Code     0  mnrefproviderengine.in(.text)
-    CMnrpMapModel::CDrawItem::~CDrawItem__deallocating() 0x00009d83   Thumb Code    16  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::SetOptionsL(const TPositionUpdateOptionsBase&) 0x00009d99   Thumb Code    14  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::ConstructL(const TDesC16&) 0x00009da7   Thumb Code    94  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::CMnrpPositionRequest(MMnrpPositionObserver&) 0x00009e05   Thumb Code   106  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::CMnrpPositionRequest__sub_object(MMnrpPositionObserver&) 0x00009e05   Thumb Code     0  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::NewL(const TDesC16&, MMnrpPositionObserver&) 0x00009e6f   Thumb Code    40  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::~CMnrpPositionRequest() 0x00009e97   Thumb Code    44  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::~CMnrpPositionRequest__sub_object() 0x00009e97   Thumb Code     0  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::~CMnrpPositionRequest__deallocating() 0x00009ec3   Thumb Code    16  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::InitContainer(HPositionGenericInfo&) 0x00009ed3   Thumb Code    56  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::ExecuteNextStep()  0x00009f0b   Thumb Code    74  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::FetchNewPosition(int) 0x00009f55   Thumb Code    28  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::GetPosition(TPositionInfo&) 0x00009f71   Thumb Code    18  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::Speed()            0x00009f83   Thumb Code     6  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::Heading()          0x00009f89   Thumb Code     6  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::MagneticHeading()  0x00009f8f   Thumb Code     6  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::Course()           0x00009f95   Thumb Code     6  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::MagneticCourse()   0x00009f9b   Thumb Code     6  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::DoCancel()         0x00009fa1   Thumb Code    36  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::SaveContainer(const HPositionGenericInfo&) 0x00009fc5   Thumb Code   116  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::RunL()             0x0000a039   Thumb Code    64  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::RunError(int)      0x0000a079   Thumb Code     4  mnrefproviderengine.in(.text)
-    MnrpUtils::CoordinateToString(double, TDes16&, int, int) 0x0000a08d   Thumb Code   426  mnrefproviderengine.in(.text)
-    MnrpUtils::DistanceToString(double, TDes16&) 0x0000a237   Thumb Code   164  mnrefproviderengine.in(.text)
-    MnrpUtils::AngleToString(double, TDes16&) 0x0000a2db   Thumb Code   260  mnrefproviderengine.in(.text)
-    MnrpUtils::SpeedToString(double, TDes16&) 0x0000a3df   Thumb Code    66  mnrefproviderengine.in(.text)
-    MnrpUtils::PrintableStringLC(const TDesC16&) 0x0000a421   Thumb Code   204  mnrefproviderengine.in(.text)
-    _E32Dll_Body                             0x0000a4ed   Thumb Code    34  uc_dll.o(.text)
-    __DLL_Export_Table__                     0x0000a580   ARM Code       0  mnrefproviderengine{000a0000}.exp(ExportTable)
-    DLL##ExportTableSize                     0x0000a584   Data           0  mnrefproviderengine{000a0000}.exp(ExportTable)
-    DLL##ExportTable                         0x0000a588   Data           0  mnrefproviderengine{000a0000}.exp(ExportTable)
-    TRealX::SetNaN()                         0x0000a680   ARM Code       0  euser{000a0000}-1051.o(StubCode)
-    TRealX::TRealX()                         0x0000a688   ARM Code       0  euser{000a0000}-1059.o(StubCode)
-    TRealX::operator double() const          0x0000a690   ARM Code       0  euser{000a0000}-1073.o(StubCode)
-    TRealX::operator float() const           0x0000a698   ARM Code       0  euser{000a0000}-1074.o(StubCode)
-    CActive::Cancel()                        0x0000a6a0   ARM Code       0  euser{000a0000}-1088.o(StubCode)
-    CActive::SetActive()                     0x0000a6a8   ARM Code       0  euser{000a0000}-1090.o(StubCode)
-    CActive::CActive__sub_object(int)        0x0000a6b0   ARM Code       0  euser{000a0000}-1091.o(StubCode)
-    CActive::~CActive__sub_object()          0x0000a6b8   ARM Code       0  euser{000a0000}-1094.o(StubCode)
-    HBufC16::Des()                           0x0000a6c0   ARM Code       0  euser{000a0000}-1116.o(StubCode)
-    HBufC16::NewLC(int)                      0x0000a6c8   ARM Code       0  euser{000a0000}-1119.o(StubCode)
-    TPtrC16::TPtrC16(const TDesC16&)         0x0000a6d0   ARM Code       0  euser{000a0000}-1171.o(StubCode)
-    TPtrC16::TPtrC16()                       0x0000a6d8   ARM Code       0  euser{000a0000}-1172.o(StubCode)
-    RHandleBase::Close()                     0x0000a6e0   ARM Code       0  euser{000a0000}-120.o(StubCode)
-    RArrayBase::At(int) const                0x0000a6e8   ARM Code       0  euser{000a0000}-1507.o(StubCode)
-    RArrayBase::Count() const                0x0000a6f0   ARM Code       0  euser{000a0000}-1510.o(StubCode)
-    RPointerArrayBase::At(int) const         0x0000a6f8   ARM Code       0  euser{000a0000}-1590.o(StubCode)
-    RPointerArrayBase::Count() const         0x0000a700   ARM Code       0  euser{000a0000}-1593.o(StubCode)
-    TChar::IsPrint() const                   0x0000a708   ARM Code       0  euser{000a0000}-1625.o(StubCode)
-    TRect::Intersects(const TRect&) const    0x0000a710   ARM Code       0  euser{000a0000}-1646.o(StubCode)
-    TRect::Size() const                      0x0000a718   ARM Code       0  euser{000a0000}-1648.o(StubCode)
-    TRect::Width() const                     0x0000a720   ARM Code       0  euser{000a0000}-1649.o(StubCode)
-    TRect::Height() const                    0x0000a728   ARM Code       0  euser{000a0000}-1651.o(StubCode)
-    TPoint::operator +(const TPoint&) const  0x0000a730   ARM Code       0  euser{000a0000}-1753.o(StubCode)
-    TDesC16::AtC(int) const                  0x0000a738   ARM Code       0  euser{000a0000}-1806.o(StubCode)
-    TDesC16::FindF(const TDesC16&) const     0x0000a740   ARM Code       0  euser{000a0000}-1815.o(StubCode)
-    TDesC16::AllocLC() const                 0x0000a748   ARM Code       0  euser{000a0000}-1821.o(StubCode)
-    TDesC16::CompareF(const TDesC16&) const  0x0000a750   ARM Code       0  euser{000a0000}-1826.o(StubCode)
-    CleanupStack::PopAndDestroy()            0x0000a758   ARM Code       0  euser{000a0000}-203.o(StubCode)
-    CleanupStack::Pop()                      0x0000a760   ARM Code       0  euser{000a0000}-205.o(StubCode)
-    User::MarkCleanupStack()                 0x0000a768   ARM Code       0  euser{000a0000}-2060.o(StubCode)
-    User::UnMarkCleanupStack(TTrapHandler*)  0x0000a770   ARM Code       0  euser{000a0000}-2061.o(StubCode)
-    CleanupStack::PushL(TCleanupItem)        0x0000a778   ARM Code       0  euser{000a0000}-207.o(StubCode)
-    CleanupStack::PushL(CBase*)              0x0000a780   ARM Code       0  euser{000a0000}-208.o(StubCode)
-    XLeaveException::GetReason() const       0x0000a788   ARM Code       0  euser{000a0000}-2082.o(StubCode)
-    CleanupStack::PushL(void*)               0x0000a790   ARM Code       0  euser{000a0000}-209.o(StubCode)
-    CBase::Extension_(unsigned, void*&, void*) 0x0000a798   ARM Code       0  euser{000a0000}-2123.o(StubCode)
-    CBase::~CBase()                          0x0000a7a0   ARM Code       0  euser{000a0000}-2125.o(StubCode)
-    CActive::Extension_(unsigned, void*&, void*) 0x0000a7a8   ARM Code       0  euser{000a0000}-2128.o(StubCode)
-    CActiveScheduler::Add(CActive*)          0x0000a7b0   ARM Code       0  euser{000a0000}-424.o(StubCode)
-    RArrayBase::Close()                      0x0000a7b8   ARM Code       0  euser{000a0000}-46.o(StubCode)
-    RPointerArrayBase::GetElementPtr(const CBase*, int) 0x0000a7c0   ARM Code       0  euser{000a0000}-464.o(StubCode)
-    RArrayBase::Reset()                      0x0000a7c8   ARM Code       0  euser{000a0000}-47.o(StubCode)
-    RPointerArrayBase::Reset()               0x0000a7d0   ARM Code       0  euser{000a0000}-471.o(StubCode)
-    RPointerArrayBase::Append(const void*)   0x0000a7d8   ARM Code       0  euser{000a0000}-472.o(StubCode)
-    RPointerArrayBase::GetCount(const CBase*) 0x0000a7e0   ARM Code       0  euser{000a0000}-476.o(StubCode)
-    RArrayBase::Append(const void*)          0x0000a7e8   ARM Code       0  euser{000a0000}-48.o(StubCode)
-    RPointerArrayBase::RPointerArrayBase()   0x0000a7f0   ARM Code       0  euser{000a0000}-481.o(StubCode)
-    RArrayBase::Insert(const void*, int)     0x0000a7f8   ARM Code       0  euser{000a0000}-49.o(StubCode)
-    RArrayBase::Remove(int)                  0x0000a800   ARM Code       0  euser{000a0000}-50.o(StubCode)
-    RArrayBase::RArrayBase(int)              0x0000a808   ARM Code       0  euser{000a0000}-55.o(StubCode)
-    Math::IsNaN(const double&)               0x0000a810   ARM Code       0  euser{000a0000}-551.o(StubCode)
-    User::LeaveIfError(int)                  0x0000a818   ARM Code       0  euser{000a0000}-593.o(StubCode)
-    User::Leave(int)                         0x0000a820   ARM Code       0  euser{000a0000}-649.o(StubCode)
-    User::AllocZL(int)                       0x0000a828   ARM Code       0  euser{000a0000}-654.o(StubCode)
-    User::Invariant()                        0x0000a830   ARM Code       0  euser{000a0000}-669.o(StubCode)
-    TBufBase16::TBufBase16(int)              0x0000a838   ARM Code       0  euser{000a0000}-81.o(StubCode)
-    TRect::Grow(int, int)                    0x0000a840   ARM Code       0  euser{000a0000}-824.o(StubCode)
-    TRect::Move(int, int)                    0x0000a848   ARM Code       0  euser{000a0000}-826.o(StubCode)
-    TRect::TRect(const TSize&)               0x0000a850   ARM Code       0  euser{000a0000}-838.o(StubCode)
-    TRect::TRect(const TPoint&, const TSize&) 0x0000a858   ARM Code       0  euser{000a0000}-839.o(StubCode)
-    TRect::TRect(int, int, int, int)         0x0000a860   ARM Code       0  euser{000a0000}-841.o(StubCode)
-    TDes16::AppendFormat(TRefByValue<const TDesC16>, ...) 0x0000a868   ARM Code       0  euser{000a0000}-936.o(StubCode)
-    TDes16::Copy(const TDesC16&)             0x0000a870   ARM Code       0  euser{000a0000}-953.o(StubCode)
-    TDes16::Zero()                           0x0000a878   ARM Code       0  euser{000a0000}-960.o(StubCode)
-    TDes16::Append(TChar)                    0x0000a880   ARM Code       0  euser{000a0000}-966.o(StubCode)
-    TDes16::Append(const TDesC16&)           0x0000a888   ARM Code       0  euser{000a0000}-968.o(StubCode)
-    TDes16::Format(TRefByValue<const TDesC16>, ...) 0x0000a890   ARM Code       0  euser{000a0000}-973.o(StubCode)
-    TDes16::AppendNum(long long)             0x0000a898   ARM Code       0  euser{000a0000}-984.o(StubCode)
-    TParse::Set(const TDesC16&, const TDesC16*, const TDesC16*) 0x0000a8a0   ARM Code       0  efsrv{000a0000}-115.o(StubCode)
-    TParse::TParse()                         0x0000a8a8   ARM Code       0  efsrv{000a0000}-118.o(StubCode)
-    TFindFile::FindByDir(const TDesC16&, const TDesC16&) 0x0000a8b0   ARM Code       0  efsrv{000a0000}-181.o(StubCode)
-    TFindFile::TFindFile(RFs&)               0x0000a8b8   ARM Code       0  efsrv{000a0000}-182.o(StubCode)
-    TParseBase::NameAndExt() const           0x0000a8c0   ARM Code       0  efsrv{000a0000}-190.o(StubCode)
-    TParseBase::Path() const                 0x0000a8c8   ARM Code       0  efsrv{000a0000}-200.o(StubCode)
-    TParseBase::FullName() const             0x0000a8d0   ARM Code       0  efsrv{000a0000}-204.o(StubCode)
-    RFs::Connect(int)                        0x0000a8d8   ARM Code       0  efsrv{000a0000}-68.o(StubCode)
-    RResourceReader::ReadHBufCL()            0x0000a8e0   ARM Code       0  bafl{000a0000}-123.o(StubCode)
-    RResourceReader::ReadInt16L()            0x0000a8e8   ARM Code       0  bafl{000a0000}-124.o(StubCode)
-    RResourceReader::ReadReal64L()           0x0000a8f0   ARM Code       0  bafl{000a0000}-129.o(StubCode)
-    RResourceReader::OpenLC(const CResourceFile*, int) 0x0000a8f8   ARM Code       0  bafl{000a0000}-141.o(StubCode)
-    RResourceReader::RResourceReader()       0x0000a900   ARM Code       0  bafl{000a0000}-145.o(StubCode)
-    RResourceReader::~RResourceReader()      0x0000a908   ARM Code       0  bafl{000a0000}-147.o(StubCode)
-    CResourceFile::ConfirmSignatureL(int)    0x0000a910   ARM Code       0  bafl{000a0000}-59.o(StubCode)
-    CResourceFile::NewLC(RFs&, const TDesC16&, unsigned, int) 0x0000a918   ARM Code       0  bafl{000a0000}-62.o(StubCode)
-    AknIconUtils::CreateIconL(CFbsBitmap*&, CFbsBitmap*&, const TDesC16&, int, int) 0x0000a920   ARM Code       0  AknIcon{000a0000}-11.o(StubCode)
-    AknIconUtils::DestroyIconData(CFbsBitmap*) 0x0000a928   ARM Code       0  AknIcon{000a0000}-15.o(StubCode)
-    AknIconUtils::PreserveIconData(CFbsBitmap*) 0x0000a930   ARM Code       0  AknIcon{000a0000}-16.o(StubCode)
-    AknIconUtils::SetSize(CFbsBitmap*, const TSize&, TScaleMode) 0x0000a938   ARM Code       0  AknIcon{000a0000}-21.o(StubCode)
-    CFont::HeightInPixels() const            0x0000a940   ARM Code       0  gdi{000a0000}-311.o(StubCode)
-    CFont::TextWidthInPixels(const TDesC16&) const 0x0000a948   ARM Code       0  gdi{000a0000}-314.o(StubCode)
-    CFbsDevice::CreateContext(CFbsBitGc*&)   0x0000a950   ARM Code       0  bitgdi{000a0000}-14.o(StubCode)
-    CFbsBitmapDevice::NewL(CFbsBitmap*)      0x0000a958   ARM Code       0  bitgdi{000a0000}-44.o(StubCode)
-    CPosLandmark::NewL(const CPosLandmark&)  0x0000a960   ARM Code       0  eposlandmarks{000a0000}-12.o(StubCode)
-    CPosLandmark::NewLC(const CPosLandmark&) 0x0000a968   ARM Code       0  eposlandmarks{000a0000}-14.o(StubCode)
-    CPosLandmark::NewLC()                    0x0000a970   ARM Code       0  eposlandmarks{000a0000}-15.o(StubCode)
-    CPosLandmark::SetPositionL(const TLocality&) 0x0000a978   ARM Code       0  eposlandmarks{000a0000}-4.o(StubCode)
-    CPosLandmarkDatabase::OpenL(const TDesC16&) 0x0000a980   ARM Code       0  eposlandmarks{000a0000}-50.o(StubCode)
-    CPosLandmarkDatabase::OpenL()            0x0000a988   ARM Code       0  eposlandmarks{000a0000}-51.o(StubCode)
-    CPosLmCategoryManager::NewL(CPosLandmarkDatabase&) 0x0000a990   ARM Code       0  eposlandmarks{000a0000}-56.o(StubCode)
-    CPosLandmark::SetLandmarkNameL(const TDesC16&) 0x0000a998   ARM Code       0  eposlandmarks{000a0000}-6.o(StubCode)
-    CPosLandmark::GetPosition(TLocality&) const 0x0000a9a0   ARM Code       0  eposlandmarks{000a0000}-65.o(StubCode)
-    CPosLandmark::GetCategoriesL(RArray<unsigned long>&) const 0x0000a9a8   ARM Code       0  eposlandmarks{000a0000}-66.o(StubCode)
-    CPosLandmark::GetLandmarkName(TPtrC16&) const 0x0000a9b0   ARM Code       0  eposlandmarks{000a0000}-67.o(StubCode)
-    CPosLandmark::GetPositionField(unsigned short, TPtrC16&) const 0x0000a9b8   ARM Code       0  eposlandmarks{000a0000}-68.o(StubCode)
-    CPosLandmark::GetIcon(TPtrC16&, int&, int&) const 0x0000a9c0   ARM Code       0  eposlandmarks{000a0000}-75.o(StubCode)
-    CPosLandmark::SetPositionFieldL(unsigned short, const TDesC16&) 0x0000a9c8   ARM Code       0  eposlandmarks{000a0000}-8.o(StubCode)
-    CPosLandmarkCategory::GetIcon(TPtrC16&, int&, int&) const 0x0000a9d0   ARM Code       0  eposlandmarks{000a0000}-82.o(StubCode)
-    RPositioner::Open(RPositionServer&)      0x0000a9d8   ARM Code       0  lbs{000a0000}-10.o(StubCode)
-    RPositioner::Close()                     0x0000a9e0   ARM Code       0  lbs{000a0000}-13.o(StubCode)
-    RPositioner::RPositioner()               0x0000a9e8   ARM Code       0  lbs{000a0000}-15.o(StubCode)
-    TPositionUpdateOptions::TPositionUpdateOptions() 0x0000a9f0   ARM Code       0  lbs{000a0000}-152.o(StubCode)
-    RPositionerSubSessionBase::CancelRequest(int) 0x0000a9f8   ARM Code       0  lbs{000a0000}-167.o(StubCode)
-    TCoordinate::SetCoordinate(const double&, const double&) 0x0000aa00   ARM Code       0  lbs{000a0000}-17.o(StubCode)
-    TPositionUpdateOptionsBase::SetUpdateTimeOut(TTimeIntervalMicroSeconds) 0x0000aa08   ARM Code       0  lbs{000a0000}-180.o(StubCode)
-    TPositionUpdateOptionsBase::SetUpdateInterval(TTimeIntervalMicroSeconds) 0x0000aa10   ARM Code       0  lbs{000a0000}-181.o(StubCode)
-    TLocality::TLocality(const TCoordinate&, float) 0x0000aa18   ARM Code       0  lbs{000a0000}-205.o(StubCode)
-    TLocality::TLocality()                   0x0000aa20   ARM Code       0  lbs{000a0000}-207.o(StubCode)
-    TCoordinate::TCoordinate(const double&, const double&) 0x0000aa28   ARM Code       0  lbs{000a0000}-21.o(StubCode)
-    TPosition::TPosition()                   0x0000aa30   ARM Code       0  lbs{000a0000}-214.o(StubCode)
-    RPositioner::GetLastKnownPosition(TPositionInfoBase&, TRequestStatus&) const 0x0000aa38   ARM Code       0  lbs{000a0000}-218.o(StubCode)
-    RPositioner::NotifyPositionUpdate(TPositionInfoBase&, TRequestStatus&) const 0x0000aa40   ARM Code       0  lbs{000a0000}-219.o(StubCode)
-    TCoordinate::Latitude() const            0x0000aa48   ARM Code       0  lbs{000a0000}-223.o(StubCode)
-    TCoordinate::Longitude() const           0x0000aa50   ARM Code       0  lbs{000a0000}-225.o(StubCode)
-    TPositionInfo::GetPosition(TPosition&) const 0x0000aa58   ARM Code       0  lbs{000a0000}-226.o(StubCode)
-    TCoordinate::TCoordinate()               0x0000aa60   ARM Code       0  lbs{000a0000}-23.o(StubCode)
-    TPositionInfo::TPositionInfo()           0x0000aa68   ARM Code       0  lbs{000a0000}-28.o(StubCode)
-    TLocality::HorizontalAccuracy() const    0x0000aa70   ARM Code       0  lbs{000a0000}-303.o(StubCode)
-    TLocality::Distance(const TCoordinate&, float&) const 0x0000aa78   ARM Code       0  lbs{000a0000}-304.o(StubCode)
-    RPositionServer::Close()                 0x0000aa80   ARM Code       0  lbs{000a0000}-47.o(StubCode)
-    RPositionServer::Connect()               0x0000aa88   ARM Code       0  lbs{000a0000}-48.o(StubCode)
-    RPositionServer::RPositionServer()       0x0000aa90   ARM Code       0  lbs{000a0000}-49.o(StubCode)
-    RPositioner::SetRequestor(int, int, const TDesC16&) 0x0000aa98   ARM Code       0  lbs{000a0000}-7.o(StubCode)
-    RPositioner::SetUpdateOptions(const TPositionUpdateOptionsBase&) 0x0000aaa0   ARM Code       0  lbs{000a0000}-8.o(StubCode)
-    HPositionGenericInfo::ClearPositionData() 0x0000aaa8   ARM Code       0  lbs{000a0000}-82.o(StubCode)
-    HPositionGenericInfo::SetRequestedField(unsigned short) 0x0000aab0   ARM Code       0  lbs{000a0000}-83.o(StubCode)
-    HPositionGenericInfo::NewL(int, int)     0x0000aab8   ARM Code       0  lbs{000a0000}-87.o(StubCode)
-    PositionFieldManager::GetValue(unsigned short, float&, const HPositionGenericInfo&) 0x0000aac0   ARM Code       0  lbs{000a0000}-97.o(StubCode)
-    CMnMapViewServiceBase::LinkedLandmarksToShow(int) 0x0000aac8   ARM Code       0  mnservicelib{000a0000}-10.o(StubCode)
-    CMnMapViewServiceBase::LandmarksToShowDatabases() 0x0000aad0   ARM Code       0  mnservicelib{000a0000}-13.o(StubCode)
-    CMnMapViewServiceBase::AreaRadius()      0x0000aad8   ARM Code       0  mnservicelib{000a0000}-3.o(StubCode)
-    CMnMapViewServiceBase::LandmarksToShow() 0x0000aae0   ARM Code       0  mnservicelib{000a0000}-5.o(StubCode)
-    CMnMapImageServiceBase::ShowOptions() const 0x0000aae8   ARM Code       0  mnservicelib{000a0000}-55.o(StubCode)
-    CMnMapImageServiceBase::MapImageParams() const 0x0000aaf0   ARM Code       0  mnservicelib{000a0000}-57.o(StubCode)
-    CMnMapViewServiceBase::GetAreaCentralPoint(TCoordinate&) 0x0000aaf8   ARM Code       0  mnservicelib{000a0000}-6.o(StubCode)
-    CMnMapViewServiceBase::CurrentLocationOption() 0x0000ab00   ARM Code       0  mnservicelib{000a0000}-8.o(StubCode)
-    CMnMapViewServiceBase::IsAreaCentralPointSet() 0x0000ab08   ARM Code       0  mnservicelib{000a0000}-9.o(StubCode)
-    __aeabi_dadd                             0x0000ab10   ARM Code       0  dfpaeabi{000a0000}-12.o(StubCode)
-    __aeabi_ddiv                             0x0000ab18   ARM Code       0  dfpaeabi{000a0000}-19.o(StubCode)
-    __aeabi_cdcmple                          0x0000ab20   ARM Code       0  dfpaeabi{000a0000}-2.o(StubCode)
-    __aeabi_dmul                             0x0000ab28   ARM Code       0  dfpaeabi{000a0000}-20.o(StubCode)
-    __aeabi_drsub                            0x0000ab30   ARM Code       0  dfpaeabi{000a0000}-22.o(StubCode)
-    __aeabi_dsub                             0x0000ab38   ARM Code       0  dfpaeabi{000a0000}-23.o(StubCode)
-    __aeabi_f2d                              0x0000ab40   ARM Code       0  dfpaeabi{000a0000}-24.o(StubCode)
-    __aeabi_f2iz                             0x0000ab48   ARM Code       0  dfpaeabi{000a0000}-25.o(StubCode)
-    __aeabi_cdrcmple                         0x0000ab50   ARM Code       0  dfpaeabi{000a0000}-3.o(StubCode)
-    __aeabi_fdiv                             0x0000ab58   ARM Code       0  dfpaeabi{000a0000}-36.o(StubCode)
-    __aeabi_i2d                              0x0000ab60   ARM Code       0  dfpaeabi{000a0000}-41.o(StubCode)
-    __aeabi_cfcmple                          0x0000ab68   ARM Code       0  dfpaeabi{000a0000}-5.o(StubCode)
-    __aeabi_d2iz                             0x0000ab70   ARM Code       0  dfpaeabi{000a0000}-8.o(StubCode)
-    __aeabi_idivmod                          0x0000ab78   ARM Code       0  drtaeabi{000a0000}-135.o(StubCode)
-    __aeabi_memcpy4                          0x0000ab80   ARM Code       0  drtaeabi{000a0000}-147.o(StubCode)
-    __aeabi_unwind_cpp_pr0                   0x0000ab88   ARM Code       0  drtaeabi{000a0000}-158.o(StubCode)
-    __aeabi_unwind_cpp_pr1                   0x0000ab90   ARM Code       0  drtaeabi{000a0000}-159.o(StubCode)
-    __cxa_begin_catch                        0x0000ab98   ARM Code       0  drtaeabi{000a0000}-180.o(StubCode)
-    __cxa_end_catch                          0x0000aba0   ARM Code       0  drtaeabi{000a0000}-183.o(StubCode)
-    __cxa_end_cleanup                        0x0000aba8   ARM Code       0  drtaeabi{000a0000}-184.o(StubCode)
-    operator delete (void*)                  0x0000abb0   ARM Code       0  scppnwdl{000a0000}-3.o(StubCode)
-    ExecuteAndDeleteLD(CPosLmOperation*)     0x0000abb9   Thumb Code    22  mnrefproviderengine.in(i._Z18ExecuteAndDeleteLDP15CPosLmOperation)
-    TPtrC16::Set(const TDesC16&)             0x0000abcf   Thumb Code    28  mnrefproviderengine.in(i._ZN7TPtrC163SetERK7TDesC16)
-    operator delete (void*, void*)           0x0000abf7   Thumb Code     2  mnrefproviderengine.in(i._ZdlPvS_)
-    operator new(unsigned, void*)            0x0000abf9   Thumb Code     4  mnrefproviderengine.in(i._ZnwjPv)
-    CleanupClosePushL<RArray<CMnrpEngine::TDistanceToPoi>>(T1&) 0x0000abfd   Thumb Code    12  mnrefproviderengine.in(t._Z17CleanupClosePushLI6RArrayIN11CMnrpEngine14TDistanceToPoiEEEvRT_)
-    Abs<double>(T1)                          0x0000ac0d   Thumb Code    36  mnrefproviderengine.in(t._Z3AbsIdET_S0_)
-    Max<double>(T1, T1)                      0x0000ac39   Thumb Code    28  mnrefproviderengine.in(t._Z3MaxIdET_S0_S0_)
-    Min<double>(T1, T1)                      0x0000ac55   Thumb Code    28  mnrefproviderengine.in(t._Z3MinIdET_S0_S0_)
-    CleanupClose<RArray<CMnrpEngine::TDistanceToPoi>>::Close(void*) 0x0000ac71   Thumb Code     8  mnrefproviderengine.in(t._ZN12CleanupCloseI6RArrayIN11CMnrpEngine14TDistanceToPoiEEE5CloseEPv)
-    CleanupClose<RArray<unsigned long>>::Close(void*) 0x0000ac79   Thumb Code     8  mnrefproviderengine.in(t._ZN12CleanupCloseI6RArrayImEE5CloseEPv)
-    RPointerArray<CPosLandmark>::AppendL(const CPosLandmark*) 0x0000ac81   Thumb Code    12  mnrefproviderengine.in(t._ZN13RPointerArrayI12CPosLandmarkE7AppendLEPKS0_)
-    RPointerArray<CMnrpMapModel::CDrawItem>::ResetAndDestroy() 0x0000ac8d   Thumb Code    48  mnrefproviderengine.in(t._ZN13RPointerArrayIN13CMnrpMapModel9CDrawItemEE15ResetAndDestroyEv)
-    RPointerArray<CMnrpMapModel::CDrawItem>::AppendL(const CMnrpMapModel::CDrawItem*) 0x0000acbd   Thumb Code    12  mnrefproviderengine.in(t._ZN13RPointerArrayIN13CMnrpMapModel9CDrawItemEE7AppendLEPKS1_)
-    HPositionGenericInfo::GetValue<float>(unsigned short, T1&) const 0x0000acc9   Thumb Code    16  mnrefproviderengine.in(t._ZNK20HPositionGenericInfo8GetValueIfEEitRT_)
-    RArray<CMnrpEngine::TDistanceToPoi>::Count() const 0x0000acd9   Thumb Code     8  mnrefproviderengine.in(t._ZNK6RArrayIN11CMnrpEngine14TDistanceToPoiEE5CountEv)
-    TArray<CPosLandmark*>::operator [](int) const 0x0000ace1   Thumb Code     8  mnrefproviderengine.in(t._ZNK6TArrayIP12CPosLandmarkEixEi)
-    TArray<CMnrpMapModel::CDrawItem*>::operator [](int) const 0x0000ace9   Thumb Code     8  mnrefproviderengine.in(t._ZNK6TArrayIPN13CMnrpMapModel9CDrawItemEEixEi)
-    typeinfo for CMnrpEngine                 0x0000af94   Data          12  mnrefproviderengine.in(.constdata__ZTI11CMnrpEngine)
-    typeinfo for CMnrpMapModel               0x0000afa0   Data          32  mnrefproviderengine.in(.constdata__ZTI13CMnrpMapModel)
-    typeinfo for CMnrpPositionRequest        0x0000afc0   Data          12  mnrefproviderengine.in(.constdata__ZTI20CMnrpPositionRequest)
-    typeinfo for MMnrpPositionObserver       0x0000afcc   Data           8  mnrefproviderengine.in(.constdata__ZTI21MMnrpPositionObserver)
-    typeinfo for CMnrpMapModel::CDrawItem    0x0000afd4   Data          12  mnrefproviderengine.in(.constdata__ZTIN13CMnrpMapModel9CDrawItemE)
-    typeinfo name for CMnrpEngine            0x0000afe0   Data          14  mnrefproviderengine.in(.constdata__ZTS11CMnrpEngine)
-    typeinfo name for CMnrpMapModel          0x0000afee   Data          16  mnrefproviderengine.in(.constdata__ZTS13CMnrpMapModel)
-    typeinfo name for CMnrpPositionRequest   0x0000affe   Data          23  mnrefproviderengine.in(.constdata__ZTS20CMnrpPositionRequest)
-    typeinfo name for MMnrpPositionObserver  0x0000b015   Data          24  mnrefproviderengine.in(.constdata__ZTS21MMnrpPositionObserver)
-    typeinfo name for CMnrpMapModel::CDrawItem 0x0000b02d   Data          28  mnrefproviderengine.in(.constdata__ZTSN13CMnrpMapModel9CDrawItemE)
-    vtable for CMnrpEngine                   0x0000b04c   Data          20  mnrefproviderengine.in(.constdata__ZTV11CMnrpEngine)
-    vtable for CMnrpMapModel                 0x0000b060   Data          36  mnrefproviderengine.in(.constdata__ZTV13CMnrpMapModel)
-    vtable for CMnrpPositionRequest          0x0000b084   Data          32  mnrefproviderengine.in(.constdata__ZTV20CMnrpPositionRequest)
-    vtable for CMnrpMapModel::CDrawItem      0x0000b0a4   Data          20  mnrefproviderengine.in(.constdata__ZTVN13CMnrpMapModel9CDrawItemE)
-    .ARM.exidx$$Base                         0x0000b0b8   Number         0  ucppinit_aeabi.o(.ARM.exidx)
-    .ARM.exidx$$Limit                        0x0000b358   Number         0  mnrefproviderengine.in(.ARM.exidx)
-    Image$$ER_RO$$Limit                      0x0000b358   Number         0  anon$$obj.o(linker$$defined$$symbols)
-
Binary file locsrv_plat/map_and_navigation_api/tsrc/data/armv5/urel/mnrefproviderengine.rsc has changed
Binary file locsrv_plat/map_and_navigation_api/tsrc/data/winscw/udeb/MnRefProviderPlugin.dll has changed
Binary file locsrv_plat/map_and_navigation_api/tsrc/data/winscw/udeb/mnrefprovider.exe has changed
Binary file locsrv_plat/map_and_navigation_api/tsrc/data/winscw/udeb/mnrefproviderback.exe has changed
Binary file locsrv_plat/map_and_navigation_api/tsrc/data/winscw/udeb/mnrefproviderengine.dll has changed
--- a/locsrv_plat/map_and_navigation_api/tsrc/eabi/testmapandnavapiu.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-EXPORTS
-	_Z9LibEntryLR13CTestModuleIf @ 1 NONAME
-	_ZTI14CTestMnMapView @ 2 NONAME ; #<TI>#
-	_ZTI16CTestMnNavigator @ 3 NONAME ; #<TI>#
-	_ZTV14CTestMnMapView @ 4 NONAME ; #<VT>#
-	_ZTV16CTestMnNavigator @ 5 NONAME ; #<VT>#
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Build information file for test code of Map and Navigation API
-*
-*/
-
-
-
-PRJ_PLATFORMS
-// specify the platforms your component needs to be built for here
-// defaults to WINS MARM so you can ignore this if you just build these
-DEFAULT
-
-PRJ_TESTEXPORTS
-// NOTE: If using ARS requirements all export operations should be done under this.
-// 'abld test export'
-
-PRJ_EXPORTS
-// Specify the source file followed by its destination here
-// copy will be used to copy the source file to its destination
-// If there's no destination then the source file will be copied
-// to the same name in /epoc32/include
-// Example: 
-/*
-/agnmodel/inc/AGMCOMON.H
-*/
-
-PRJ_TESTMMPFILES
-// NOTE: If using ARS requirements .mmp file operation should be done under this.
-// 'abld test build'
-testmapandnavapi.mmp
-../mapnavproviderrefapp/group/mapnavrefengine.mmp
-../mapnavproviderrefapp/group/mapnavrefprovider.mmp
-../mapnavproviderrefapp/group/mapnavrefproviderback.mmp
-../mapnavproviderrefapp/group/mapnavrefproviderplugin.mmp
-
-
-PRJ_MMPFILES
-// Specify the .mmp files required for building the important component
-// releasables.
-//
-// Specify "tidy" if the component you need to build doesn't need to be
-// released. Specify "ignore" if the MMP file exists but should be
-// ignored.
-// Example:
-/*
-/agnmodel/group/agnmodel.mmp
-#if defined(MARM)
-/agnmodel/group/agsvexe.mmp
-#endif
-*/
-
-//  End of File
\ No newline at end of file
--- a/locsrv_plat/map_and_navigation_api/tsrc/group/map_and_navigation_api_test.pkg	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +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: Package file for test code of Map and Navigation API
-;
-;
-; Installation file for map_and_navigation_api_test application
-;
-;Languages
-&EN
-;
-; UID is the app's UID
-;
-#{"map_and_navigation_api_test"},(0x101FB3E3),2,0,0,TYPE=SA
-;
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Supports Series 60 v 3.0
-;This line indicates that this installation is for the Series 60 platform v0.9
-;This line must appear _exactly_ as shown below in the sis file
-;If this line is missing or incorrect, the sis file will not be able
-;to be installed on Series 60 v3.0 platforms
-;(0x101F7961), 0, 0, 0, {"Series60ProductID"}
-;
-;
-; Files to install
-"\epoc32\release\armv5\urel\testmapandnavapi.dll"-"C:\sys\bin\testmapandnavapi.dll"
-
-;refapp dlls
-"..\data\armv5\urel\mnrefprovider.exe"-"C:\sys\bin\mnrefprovider.exe"
-"..\data\armv5\urel\mnrefprovider.rsc"-"C:\resource\apps\mnrefprovider.rsc"
-"..\data\armv5\urel\mnrefprovider.mbm"-"C:\resource\apps\mnrefprovider.mbm"
-"..\data\armv5\urel\mnrefprovider.mif"-"C:\resource\apps\mnrefprovider.mif"
-"..\data\armv5\urel\mnrefprovider_reg.rsc"-"C:\private\10003a3f\import\apps\mnrefprovider_reg.rsc"
-
-"..\data\armv5\urel\mnrefproviderback.exe"-"C:\sys\bin\mnrefproviderback.exe"
-"..\data\armv5\urel\mnrefproviderback.rsc"-"C:\resource\apps\mnrefproviderback.rsc"
-"..\data\armv5\urel\mnrefproviderback_reg.rsc"-"C:\private\10003a3f\import\apps\mnrefproviderback_reg.rsc"
-
-"..\data\armv5\urel\mnrefproviderengine.dll"-"C:\sys\bin\mnrefproviderengine.dll"
-"..\data\armv5\urel\mnrefproviderengine.rsc"-"C:\resource\mnrefproviderengine.rsc"
-
-"\epoc32\release\armv5\urel\mnrefproviderplugin.dll"-"!:\sys\bin\mnrefproviderplugin.dll"
-"\epoc32\data\z\resource\plugins\mnrefproviderplugin.rsc"-"!:\resource\plugins\mnrefproviderplugin.rsc"
-
-
-"..\conf\testmapandnavapi.cfg"-"C:\testframework\testmapandnavapi.cfg"
-"..\init\testframework.ini"-"C:\testframework\testframework.ini"
\ No newline at end of file
--- a/locsrv_plat/map_and_navigation_api/tsrc/group/testmapandnavapi.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +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: Project definition file for test code of Map and Navigation API
-*
-*/
-
-
-
-#include <platform_paths.hrh>
-
-TARGET          testmapandnavapi.dll
-TARGETTYPE      dll
-UID             0x1000008D 0x101FB3E3
-
-CAPABILITY      ALL -TCB
-/* Remove comments and replace 0x00000000 with correct vendor id */
-// VENDORID     0x00000000
-/* Remove comments and replace 0x00000000 with correct secure id */
-// SECUREID     0x00000000
-
-//TARGETPATH      ?target_path
-DEFFILE         testmapandnavapi.def
-
-SOURCEPATH      ../src
-SOURCE          testmapandnavapi.cpp
-SOURCE          testmapandnavapiblocks.cpp
-SOURCE			testcmnnavigator.cpp
-SOURCE			testcmnmapview.cpp
-
-//RESOURCE        resource_file
-//RESOURCE        resource_file2
-
-USERINCLUDE     ../inc 
-
-MW_LAYER_SYSTEMINCLUDE
-
-LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
-LIBRARY			mnclientlib.lib
-LIBRARY			eposlandmarks.lib
-LIBRARY			Lbs.lib
-LIBRARY			avkon.lib
-LIBRARY			apparc.lib
-LIBRARY			swinstcli.lib
-
-LANG            SC
-
-/*
-START WINS      
-?wins_specific_information
-END
-
-START MARM
-?marm_specific_information
-END
-*/
-// Other possible keywords:
- 
-// DOCUMENT     ?file, that is not compiled, but added to MSVC project workspace (i.e. release notes)
-/*
-START BITMAP ?target
-TARGETPATH   ?emulated_path_on_target_machine
-HEADER
-SOURCE       ?color_depth ?source_bitmap
-END
-*/
-// DEFFILE ?filename
-// AIF ?filename
-
-
-SMPSAFE
-
-// End of File
--- a/locsrv_plat/map_and_navigation_api/tsrc/inc/testcmnmapview.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Provides testing of CMnMapView class methods
-*
-*/
-
-
-
-#ifndef CTESTMNMAPVIEW_H
-#define CTESTMNMAPVIEW_H
-
-//  INCLUDES
-#include <StifLogger.h>
-#include <TestScripterInternal.h>
-#include <StifTestModule.h>
-#include <mnnavigator.h>
-#include <AknServerApp.h>
-
-// CLASS 
-
-class CTestMnMapView : public CActive, public MAknServerAppExitObserver
-	{
-	public:	//Public constructor of class
-	
-		/**
-		*
-		*/
-		CTestMnMapView(CStifLogger* aLog);
-		
-		static CTestMnMapView* NewL(CStifLogger* aLog);
-		
-		void ConstructL();
-		
-		~CTestMnMapView();
-		
-	public:	//Public methods
-		
-	public:	//Public methods
-	
-		/**
-		*
-		*/
-		TInt CreateMapViewL( CStifItemParser& aItem );
-		
-		/**
-		*
-		*/
-		TInt CreateChainedMapViewL( CStifItemParser& aItem );
-		
-		/**
-		*
-		*/
-		TInt AddLinkedLmksToShowL( CStifItemParser& aItem );
-		
-		/**
-		*
-		*/
-		TInt AddLmksToShowL( CStifItemParser& aItem );
-		
-		/**
-		*
-		*/
-		TInt AddPackedLmksToShowL( CStifItemParser& aItem );
-		
-		/**
-		*
-		*/
-		TInt ResetLmksToShowL( CStifItemParser& aItem );
-		
-		/**
-		*
-		*/
-		TInt SetMapAreaL( CStifItemParser& aItem );
-		
-		/**
-		*
-		*/
-		TInt ResetMapAreaL( CStifItemParser& aItem );
-		
-		/**
-		*
-		*/
-		TInt SetCustomRequestTextL( CStifItemParser& aItem );
-		
-		/**
-		*
-		*/
-		TInt SetUseDefaultRequestTextL( CStifItemParser& aItem );
-		
-		/**
-		*
-		*/
-		TInt SetCurrentLocationOptionL( CStifItemParser& aItem );
-		
-		/**
-		*
-		*/
-		TInt GetCurrentLocationOptionL( CStifItemParser& aItem );
-		
-		/**
-		*
-		*/
-		TInt SetAndGetOptionsL( CStifItemParser& aItem );
-		
-		/**
-		*
-		*/
-		TInt SelectionResultTypeL( CStifItemParser& aItem );
-		
-		/**
-		*
-		*/
-		TInt ShowMapL( CStifItemParser& aItem );
-		
-		/**
-		*
-		*/
-		TInt ShowCurrentLocationL( CStifItemParser& aItem );
-		
-		/**
-		*
-		*/
-		TInt SelectFromMapL( CStifItemParser& aItem );
-		
-		/**
-		*
-		*/
-		TInt SetViewExitObserverL( CStifItemParser& aItem );
-		
-		/**
-		*
-		*/
-		TInt RemoveViewExitObserverL( CStifItemParser& aItem );
-		
-		/**
-		*
-		*/
-		void HandleServerAppExit(TInt aReason);	
-		
-	protected:
-
-		void RunL();
-	
-		void DoCancel();
-			
-	private:
-		
-		// Private members
-		CStifLogger* iLog;	//Log		
-	};
-	
-#endif // CTESTMNMAPVIEW_H
-	
\ No newline at end of file
--- a/locsrv_plat/map_and_navigation_api/tsrc/inc/testcmnnavigator.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Provides testing of CMnNavigator class methods
-*
-*/
-
-
-
-#ifndef CTESTMNNAVIGATOR_H
-#define CTESTMNNAVIGATOR_H
-
-//  INCLUDES
-#include <StifLogger.h>
-#include <TestScripterInternal.h>
-#include <StifTestModule.h>
-#include <mnnavigator.h>
-#include <EPos_CPosLandmark.h>
-#include <LbsPosition.h>
-#include <AknServerApp.h>
-
-
-// CLASS 
-
-class CTestMnNavigator : public CBase, public MAknServerAppExitObserver
-	{
-	public:	//Public constructor of class
-	
-		/**
-		*
-		*/
-		CTestMnNavigator(CStifLogger* aLog);
-		
-		static CTestMnNavigator* NewL(CStifLogger* aLog);
-		
-		void ConstructL();
-		
-		~CTestMnNavigator();
-		
-	public:	//Public methods
-		
-	public:	//Public methods
-	
-		/**
-		*
-		*/
-		TInt CreateNavigatorL( CStifItemParser& aItem );
-		
-		/**
-		*
-		*/
-		TInt CreateChainedNavigatorL( CStifItemParser& aItem );
-		
-		/**
-		*
-		*/
-		TInt NavigateToL( CStifItemParser& aItem );
-		
-		/**
-		*
-		*/
-		TInt SetExitObserverL( CStifItemParser& aItem );
-		
-		/**
-		*
-		*/
-		TInt RemoveExitObserverL( CStifItemParser& aItem );
-		
-		/**
-		*
-		*/
-		void HandleServerAppExit(TInt aReason);	
-		
-	private:
-		
-		// Private members
-		CStifLogger* iLog;	//Log		
-	};
-	
-#endif // CTESTMNNAVIGATOR_H
-	
\ No newline at end of file
--- a/locsrv_plat/map_and_navigation_api/tsrc/inc/testmapandnavapi.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,289 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Declaration  of test class for map_and_navigation_api
-*
-*/
-
-
-
-#ifndef TESTMAPANDNAVAPI_H
-#define TESTMAPANDNAVAPI_H
-
-//  INCLUDES
-#include <StifLogger.h>
-#include <TestScripterInternal.h>
-#include <StifTestModule.h>
-#include "testcmnnavigator.h"
-#include "testcmnmapview.h"
-
-
-// Logging path
-_LIT( KtestmapandnavapiLogPath, "\\logs\\testframework\\testmapandnavapi\\" ); 
-// Log file
-_LIT( KtestmapandnavapiLogFile, "testmapandnavapi.txt" ); 
-
-
-// FORWARD DECLARATIONS
-class CTestMapAndNavApi;
-
-
-
-// CLASS DECLARATION
-
-/**
-*  Ctestmapandnavapi test class for STIF Test Framework TestScripter.
-*  ?other_description_lines
-*
-*  @lib ?library
-*  @since ?Series60_version
-*/
-NONSHARABLE_CLASS(CTestMapAndNavApi) : public CScriptBase
-    {
-    public:  // Constructors and destructor
-
-        /**
-        * Two-phased constructor.
-        */
-        static CTestMapAndNavApi* NewL( CTestModuleIf& aTestModuleIf );
-
-        /**
-        * Destructor.
-        */
-        virtual ~CTestMapAndNavApi();
-        
-        
-
-    public: // Functions from base classes
-
-        /**
-        * From CScriptBase Runs a script line.
-        * @since ?Series60_version
-        * @param aItem Script line containing method name and parameters
-        * @return Symbian OS error code
-        */
-        virtual TInt RunMethodL( CStifItemParser& aItem );
-
-    protected:  // New functions
-
-        
-    protected:  // Functions from base classes
-
-        
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CTestMapAndNavApi( CTestModuleIf& aTestModuleIf );
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-
-        
-        /**
-        * Frees all resources allocated from test methods.
-        * @since ?Series60_version
-        */
-        void Delete();
-
-        /**
-        * Test methods are listed below. 
-        */
-      
-      	/**
-      	* Installs provider application
-      	*
-      	*/
-		TInt InstallProvider( const TDesC& aPackagePath );
-		
-        /**
-        * CreateNavigatorL test method.
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt CreateNavigatorL( CStifItemParser& aItem );
-        
-        /**
-        * CreateChainedNavigatorL test method.
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt CreateChainedNavigatorL( CStifItemParser& aItem );
-        
-               
-        /**
-        * SetExitObserverL test method.
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt SetExitObserverL( CStifItemParser& aItem );
-        
-        /**
-        * RemoveExitObserverL test method.
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt RemoveExitObserverL( CStifItemParser& aItem );
-        
-        /**
-        * CreateMapViewL test method.
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt CreateMapViewL( CStifItemParser& aItem );
-        
-        /**
-        * CreateChainedMapViewL test method.
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt CreateChainedMapViewL( CStifItemParser& aItem );
-        
-        /**
-        * AddLinkedLmksToShowL test method.
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt AddLinkedLmksToShowL( CStifItemParser& aItem );
-        
-        /**
-        * AddLmksToShowL test method.
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt AddLmksToShowL( CStifItemParser& aItem );
-        
-        /**
-        * AddPackedLmksToShowL test method.
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt AddPackedLmksToShowL( CStifItemParser& aItem );
-        
-        /**
-        * ResetLmksToShowL test method.
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt ResetLmksToShowL( CStifItemParser& aItem );
-        
-        /**
-        * SetMapAreaL test method.
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt SetMapAreaL( CStifItemParser& aItem );
-        
-        /**
-        * ResetMapAreaL test method.
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt ResetMapAreaL( CStifItemParser& aItem );
-
-		/**
-        * SetCustomRequestTextL test method.
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt SetCustomRequestTextL( CStifItemParser& aItem );        
-        
-        /**
-        * SetUseDefaultRequestTextL test method.
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt SetUseDefaultRequestTextL( CStifItemParser& aItem );        
-        
-        /**
-        * SetCurrentLocationOptionL test method.
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt SetCurrentLocationOptionL( CStifItemParser& aItem );        
-        
-        /**
-        * GetCurrentLocationOptionL test method.
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt GetCurrentLocationOptionL( CStifItemParser& aItem );        
-        
-        /**
-        * SetAndGetOptionsL test method.
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt SetAndGetOptionsL( CStifItemParser& aItem );        
-        
-        /**
-        * SelectionResultTypeL test method.
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt SelectionResultTypeL( CStifItemParser& aItem );        
-        
-        
-        /**
-        * SelectFromMapL test method.
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt SelectFromMapL( CStifItemParser& aItem );
-        
-        /**
-        * SetViewExitObserverL test method.
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt SetViewExitObserverL( CStifItemParser& aItem );
-        
-        /**
-        * RemoveViewExitObserverL test method.
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt RemoveViewExitObserverL( CStifItemParser& aItem );
-        
-        //ADD NEW METHOD DEC HERE
-    
-    };
-
-#endif      // TESTMAPANDNAVAPI_H
-
-// End of File
--- a/locsrv_plat/map_and_navigation_api/tsrc/init/testframework.ini	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,182 +0,0 @@
-#
-# This is STIFTestFramework initialization file
-# Comment lines start with '#'-character.
-# See STIF TestFramework users guide.doc for instructions
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Set following test engine settings:
-#	- Set Test Reporting mode. TestReportMode's possible values are:
-#		+ 'Summary': Summary of the tested test cases.
-#		+ 'Environment': Hardware and software info.
-#		+ 'TestCases': Test case report.
-#		+ 'FullReport': Set of all above ones.
-#		+ Example 'TestReportMode= Summary TestCases'
-#
-# 	- CreateTestReport setting controls report creation mode
-#		+ YES, Test report will created.
-#		+ NO, No Test report.
-#
-# 	- File path indicates the base path of the test report.
-# 	- File name indicates the name of the test report.
-#
-# 	- File format indicates the type of the test report.
-#		+ TXT, Test report file will be txt type, for example 'TestReport.txt'.
-#		+ HTML, Test report will be html type, for example 'TestReport.html'.
-#
-# 	- File output indicates output source of the test report.
-#		+ FILE, Test report logging to file.
-#		+ RDEBUG, Test report logging to using rdebug.
-#
-# 	- File Creation Mode indicates test report overwriting if file exist.
-#		+ OVERWRITE, Overwrites if the Test report file exist.
-#		+ APPEND, Continue logging after the old Test report information if 
-#                 report exist.
-# 	- Sets a device reset module's dll name(Reboot).
-#		+ If Nokia specific reset module is not available or it is not correct one
-#		  StifHWResetStub module may use as a template for user specific reset
-#		  module. 
-
-[Engine_Defaults]
-
-TestReportMode= FullReport		# Possible values are: 'Empty', 'Summary', 'Environment',
-                                                               'TestCases' or 'FullReport'
-
-CreateTestReport= YES			# Possible values: YES or NO
-
-TestReportFilePath= C:\LOGS\TestFramework\
-TestReportFileName= TestReport
-
-TestReportFormat= TXT			# Possible values: TXT or HTML
-TestReportOutput= FILE			# Possible values: FILE or RDEBUG
-TestReportFileCreationMode= OVERWRITE	# Possible values: OVERWRITE or APPEND
-
-DeviceResetDllName= StifResetForNokia.dll # e.g. 'StifHWResetStub.dll' for user specific reseting
-
-[End_Defaults]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Module configurations start
-# Modules are added between module tags
-# tags. Module name is specified after ModuleName= tag, like
-# ModuleName= XXXXXXXXX
-# Modules might have initialisation file, specified as
-# IniFile= c:\testframework\YYYYYY
-# Modules might have several configuration files, like
-# TestCaseFile= c:\testframework\NormalCases.txt
-# TestCaseFile= c:\testframework\SmokeCases.txt
-# TestCaseFile= c:\testframework\ManualCases.txt
-
-# (TestCaseFile is synonym for old term ConfigFile)
-
-# Following case specifies demo module settings. Demo module
-# does not read any settings from file, so tags 
-# IniFile and TestCaseFile are not used.
-# In the simplest case it is enough to specify only the
-# name of the test module when adding new test module
-
-#[New_Module]
-#ModuleName= demomodule
-#[End_Module]
-
-[New_Module]
-ModuleName= TestScripter
-TestCaseFile= C:\Testframework\testmapandnavapi.cfg
-[End_Module]
-
-# Load testmoduleXXX, optionally with initialization file and/or test case files
-#[New_Module]
-#ModuleName= testmodulexxx
-
-#TestModuleXXX used initialization file
-#IniFile= c:\testframework\init.txt
-
-#TestModuleXXX used configuration file(s)
-#TestCaseFile= c:\testframework\testcases1.cfg
-#TestCaseFile= c:\testframework\testcases2.cfg
-#TestCaseFile= c:\testframework\manualtestcases.cfg
-
-#[End_Module]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Set STIFTestFramework logging overwrite parameters for Logger.
-# 	Hardware and emulator environment logging path and styles can
-# 	be configured from here to overwrite the Logger's implemented values.
-#	
-#	Settings description:
-#	- Indicates option for creation log directory/directories. If log directory/directories
-#         is/are not created by user they will make by software.
-#		+ YES, Create log directory/directories if not allready exist.
-#		+ NO, Log directory/directories not created. Only created one is used.
-#
-#	- Overwrite emulator path setting.
-#		+ Example: If 'EmulatorBasePath= C:\LOGS\TestFramework\' and in code is defined 
-#		           Logger's path 'D:\\LOGS\\Module\\' with those definition the path
-#		           will be 'C:\LOGS\TestFramework\LOGS\Module\'
-#
-#	- Overwrite emulator's logging format.
-#		+ TXT, Log file(s) will be txt type(s), for example 'Module.txt'.
-#		+ HTML, Log file(s) will be html type(s), for example 'Module.html'.
-#
-#	- Overwrited emulator logging output source.
-#		+ FILE, Logging to file(s).
-#		+ RDEBUG, Logging to using rdebug(s).
-#
-#	- Overwrite hardware path setting (Same description as above in emulator path).
-#	- Overwrite hardware's logging format(Same description as above in emulator format).
-#	- Overwrite hardware's logging output source(Same description as above in emulator output).
-#
-#	- File Creation Mode indicates file overwriting if file exist.
-#		+ OVERWRITE, Overwrites if file(s) exist.
-#		+ APPEND, Continue logging after the old logging information if file(s) exist.
-#
-#	- Will thread id include to the log filename.
-#		+ YES, Thread id to log file(s) name, Example filename 'Module_b9.txt'.
-#		+ NO, No thread id to log file(s), Example filename 'Module.txt'.
-#
-#	- Will time stamps include the to log file.
-#		+ YES, Time stamp added to each line in log file(s). Time stamp is 
-#                 for example'12.Nov.2003 115958    LOGGING INFO'
-#		+ NO, No time stamp(s).
-#
-#	- Will line breaks include to the log file.
-#		+ YES, Each logging event includes line break and next log event is in own line.
-#		+ NO, No line break(s).
-#
-#	- Will event ranking include to the log file.
-#		+ YES, Event ranking number added to each line in log file(s). Ranking number 
-#                 depends on environment's tics, for example(includes time stamp also)
-#                 '012   12.Nov.2003 115958    LOGGING INFO'
-#		+ NO, No event ranking.
-#
-
-[Logger_Defaults]
-
-#NOTE: If you want to set Logger using next setting(s) remove comment(s)'#' 
-
-#CreateLogDirectories= YES		# Possible values: YES or NO
-
-#EmulatorBasePath= C:\LOGS\TestFramework\
-#EmulatorFormat= HTML			# Possible values: TXT or HTML
-#EmulatorOutput= FILE			# Possible values: FILE or RDEBUG
-
-#HardwareBasePath= D:\LOGS\TestFramework\
-#HardwareFormat= HTML			# Possible values: TXT or HTML
-#HardwareOutput= FILE			# Possible values: FILE or RDEBUG
-
-#FileCreationMode= OVERWRITE		# Possible values: OVERWRITE or APPEND
-
-#ThreadIdToLogFile= YES			# Possible values: YES or NO
-#WithTimeStamp= YES			# Possible values: YES or NO
-#WithLineBreak= YES			# Possible values: YES or NO
-#WithEventRanking= YES			# Possible values: YES or NO
-
-[End_Logger_Defaults]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-# End of file
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/BWINS/mnrefproviderengine.50u.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-EXPORTS
-	?FindResourceFileL@CMnrpEngine@@QAEXABVTDesC16@@AAV?$TBuf@$0BAA@@@@Z @ 1 NONAME ; void CMnrpEngine::FindResourceFileL(class TDesC16 const &, class TBuf<256> &)
-	?Center@CMnrpMapModel@@QBE?AVTCoordinate@@XZ @ 2 NONAME ; class TCoordinate CMnrpMapModel::Center(void) const
-	?ScreenToAbsolute@CMnrpMapModel@@QBENH@Z @ 3 NONAME ; double CMnrpMapModel::ScreenToAbsolute(int) const
-	?NewL@CMnrpMapModel@@SAPAV1@AAVMMapModelObserver@@AAVCMnrpEngine@@@Z @ 4 NONAME ; class CMnrpMapModel * CMnrpMapModel::NewL(class MMapModelObserver &, class CMnrpEngine &)
-	?Width@CMnrpMapModel@@QBENXZ @ 5 NONAME ; double CMnrpMapModel::Width(void) const
-	?GetPosition@CMnrpPositionRequest@@QAEXAAVTPositionInfo@@@Z @ 6 NONAME ; void CMnrpPositionRequest::GetPosition(class TPositionInfo &)
-	?NewL@CMnrpMapModel@@SAPAV1@AAVCMnrpEngine@@@Z @ 7 NONAME ; class CMnrpMapModel * CMnrpMapModel::NewL(class CMnrpEngine &)
-	?SetOptionsL@CMnrpPositionRequest@@QAEXABVTPositionUpdateOptionsBase@@@Z @ 8 NONAME ; void CMnrpPositionRequest::SetOptionsL(class TPositionUpdateOptionsBase const &)
-	?GoCenter@CMnrpMapModel@@QAEXXZ @ 9 NONAME ; void CMnrpMapModel::GoCenter(void)
-	?FetchNewPosition@CMnrpPositionRequest@@QAEXH@Z @ 10 NONAME ; void CMnrpPositionRequest::FetchNewPosition(int)
-	?Course@CMnrpPositionRequest@@QAEMXZ @ 11 NONAME ; float CMnrpPositionRequest::Course(void)
-	?CoordinateToString@MnrpUtils@@SAXNAAVTDes16@@HH@Z @ 12 NONAME ; void MnrpUtils::CoordinateToString(double, class TDes16 &, int, int)
-	?CurrentLocation@CMnrpMapModel@@QBE?AVTCurrentLocation@1@XZ @ 13 NONAME ; class CMnrpMapModel::TCurrentLocation CMnrpMapModel::CurrentLocation(void) const
-	?AddressToCoordL@CMnrpEngine@@QAEPAVCPosLandmark@@ABV2@@Z @ 14 NONAME ; class CPosLandmark * CMnrpEngine::AddressToCoordL(class CPosLandmark const &)
-	?MoveTo@CMnrpMapModel@@QAEXVTCoordinate@@@Z @ 15 NONAME ; void CMnrpMapModel::MoveTo(class TCoordinate)
-	?AbsoluteToScreen@CMnrpMapModel@@QBEHN@Z @ 16 NONAME ; int CMnrpMapModel::AbsoluteToScreen(double) const
-	?Zoom@CMnrpMapModel@@QAEXN@Z @ 17 NONAME ; void CMnrpMapModel::Zoom(double)
-	?NewL@CMnrpPositionRequest@@SAPAV1@ABVTDesC16@@AAVMMnrpPositionObserver@@@Z @ 18 NONAME ; class CMnrpPositionRequest * CMnrpPositionRequest::NewL(class TDesC16 const &, class MMnrpPositionObserver &)
-	?Right@CMnrpMapModel@@QBENXZ @ 19 NONAME ; double CMnrpMapModel::Right(void) const
-	?Height@CMnrpMapModel@@QBENXZ @ 20 NONAME ; double CMnrpMapModel::Height(void) const
-	?Left@CMnrpMapModel@@QBENXZ @ 21 NONAME ; double CMnrpMapModel::Left(void) const
-	?Heading@CMnrpPositionRequest@@QAEMXZ @ 22 NONAME ; float CMnrpPositionRequest::Heading(void)
-	?AbsoluteToScreen@CMnrpMapModel@@QBE?AVTPoint@@VTCoordinate@@@Z @ 23 NONAME ; class TPoint CMnrpMapModel::AbsoluteToScreen(class TCoordinate) const
-	?GetGrid@CMnrpMapModel@@QBEXAAVTGrid@1@@Z @ 24 NONAME ; void CMnrpMapModel::GetGrid(class CMnrpMapModel::TGrid &) const
-	?UpdateModelL@CMnrpMapModel@@QAEXABVCMnrpMapImageService@@@Z @ 25 NONAME ; void CMnrpMapModel::UpdateModelL(class CMnrpMapImageService const &)
-	?UpdateModel@CMnrpMapModel@@QAEXABVTMnMapImageParams@@@Z @ 26 NONAME ; void CMnrpMapModel::UpdateModel(class TMnMapImageParams const &)
-	?FindClosestPoisL@CMnrpEngine@@QAEXABVCPosLandmark@@AAV?$RArray@UTDistanceToPoi@CMnrpEngine@@@@H@Z @ 27 NONAME ; void CMnrpEngine::FindClosestPoisL(class CPosLandmark const &, class RArray<struct CMnrpEngine::TDistanceToPoi> &, int)
-	?Fs@CMnrpEngine@@QAEAAVRFs@@XZ @ 28 NONAME ; class RFs & CMnrpEngine::Fs(void)
-	?AddressToCoordL@CMnrpEngine@@QAEPAVCPosLandmark@@ABVTDesC16@@@Z @ 29 NONAME ; class CPosLandmark * CMnrpEngine::AddressToCoordL(class TDesC16 const &)
-	?AddressToCoordLC@CMnrpEngine@@QAEPAVCPosLandmark@@ABVTDesC16@@@Z @ 30 NONAME ; class CPosLandmark * CMnrpEngine::AddressToCoordLC(class TDesC16 const &)
-	?DistanceToString@MnrpUtils@@SAXNAAVTDes16@@@Z @ 31 NONAME ; void MnrpUtils::DistanceToString(double, class TDes16 &)
-	?Speed@CMnrpPositionRequest@@QAEMXZ @ 32 NONAME ; float CMnrpPositionRequest::Speed(void)
-	??1CMnrpMapModel@@UAE@XZ @ 33 NONAME ; CMnrpMapModel::~CMnrpMapModel(void)
-	?Bottom@CMnrpMapModel@@QBENXZ @ 34 NONAME ; double CMnrpMapModel::Bottom(void) const
-	?CoordToAddressLC@CMnrpEngine@@QAEPAVCPosLandmark@@ABVTCoordinate@@@Z @ 35 NONAME ; class CPosLandmark * CMnrpEngine::CoordToAddressLC(class TCoordinate const &)
-	?SpeedToString@MnrpUtils@@SAXNAAVTDes16@@@Z @ 36 NONAME ; void MnrpUtils::SpeedToString(double, class TDes16 &)
-	?NumIgnoredLandmarks@CMnrpMapModel@@QAEHXZ @ 37 NONAME ; int CMnrpMapModel::NumIgnoredLandmarks(void)
-	??1CMnrpEngine@@UAE@XZ @ 38 NONAME ; CMnrpEngine::~CMnrpEngine(void)
-	?AngleToString@MnrpUtils@@SAXNAAVTDes16@@@Z @ 39 NONAME ; void MnrpUtils::AngleToString(double, class TDes16 &)
-	?PrintableStringLC@MnrpUtils@@SAPAVHBufC16@@ABVTDesC16@@@Z @ 40 NONAME ; class HBufC16 * MnrpUtils::PrintableStringLC(class TDesC16 const &)
-	?MagneticCourse@CMnrpPositionRequest@@QAEMXZ @ 41 NONAME ; float CMnrpPositionRequest::MagneticCourse(void)
-	?SetScreenSize@CMnrpMapModel@@QAEXVTSize@@@Z @ 42 NONAME ; void CMnrpMapModel::SetScreenSize(class TSize)
-	?BestCoordToAddressMatchesL@CMnrpEngine@@QAEXABVTCoordinate@@AAV?$RPointerArray@VCPosLandmark@@@@H@Z @ 43 NONAME ; void CMnrpEngine::BestCoordToAddressMatchesL(class TCoordinate const &, class RPointerArray<class CPosLandmark> &, int)
-	?AddressToCoordLC@CMnrpEngine@@QAEPAVCPosLandmark@@ABV2@@Z @ 44 NONAME ; class CPosLandmark * CMnrpEngine::AddressToCoordLC(class CPosLandmark const &)
-	?MagneticHeading@CMnrpPositionRequest@@QAEMXZ @ 45 NONAME ; float CMnrpPositionRequest::MagneticHeading(void)
-	?Top@CMnrpMapModel@@QBENXZ @ 46 NONAME ; double CMnrpMapModel::Top(void) const
-	??1CMnrpPositionRequest@@UAE@XZ @ 47 NONAME ; CMnrpPositionRequest::~CMnrpPositionRequest(void)
-	?ScreenToAbsolute@CMnrpMapModel@@QBE?AVTCoordinate@@VTPoint@@@Z @ 48 NONAME ; class TCoordinate CMnrpMapModel::ScreenToAbsolute(class TPoint) const
-	?DistanceBetweenLandmarks@CMnrpEngine@@QAEMABVCPosLandmark@@0@Z @ 49 NONAME ; float CMnrpEngine::DistanceBetweenLandmarks(class CPosLandmark const &, class CPosLandmark const &)
-	?KnownPlacesL@CMnrpEngine@@QAE?AV?$TArray@PAVCPosLandmark@@@@XZ @ 50 NONAME ; class TArray<class CPosLandmark *> CMnrpEngine::KnownPlacesL(void)
-	?UpdateModelL@CMnrpMapModel@@QAEXAAVCMnrpMapViewService@@@Z @ 51 NONAME ; void CMnrpMapModel::UpdateModelL(class CMnrpMapViewService &)
-	?NewL@CMnrpEngine@@SAPAV1@XZ @ 52 NONAME ; class CMnrpEngine * CMnrpEngine::NewL(void)
-	?RenderL@CMnrpMapModel@@QBEXAAVCFbsBitmap@@VTRect@@PAVCFont@@2@Z @ 53 NONAME ; void CMnrpMapModel::RenderL(class CFbsBitmap &, class TRect, class CFont *, class CFont *) const
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/BWINS/mnrefproviderengineu.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-EXPORTS
-	??1CMnrpEngine@@UAE@XZ @ 1 NONAME ; CMnrpEngine::~CMnrpEngine(void)
-	??1CMnrpMapModel@@UAE@XZ @ 2 NONAME ; CMnrpMapModel::~CMnrpMapModel(void)
-	??1CMnrpPositionRequest@@UAE@XZ @ 3 NONAME ; CMnrpPositionRequest::~CMnrpPositionRequest(void)
-	?AbsoluteToScreen@CMnrpMapModel@@QBE?AVTPoint@@VTCoordinate@@@Z @ 4 NONAME ; class TPoint CMnrpMapModel::AbsoluteToScreen(class TCoordinate) const
-	?AbsoluteToScreen@CMnrpMapModel@@QBEHN@Z @ 5 NONAME ; int CMnrpMapModel::AbsoluteToScreen(double) const
-	?AddressToCoordLC@CMnrpEngine@@QAEPAVCPosLandmark@@ABV2@@Z @ 6 NONAME ; class CPosLandmark * CMnrpEngine::AddressToCoordLC(class CPosLandmark const &)
-	?AddressToCoordLC@CMnrpEngine@@QAEPAVCPosLandmark@@ABVTDesC16@@@Z @ 7 NONAME ; class CPosLandmark * CMnrpEngine::AddressToCoordLC(class TDesC16 const &)
-	?AngleToString@MnrpUtils@@SAXNAAVTDes16@@@Z @ 8 NONAME ; void MnrpUtils::AngleToString(double, class TDes16 &)
-	?BestCoordToAddressMatchesL@CMnrpEngine@@QAEXABVTCoordinate@@AAV?$RPointerArray@VCPosLandmark@@@@H@Z @ 9 NONAME ; void CMnrpEngine::BestCoordToAddressMatchesL(class TCoordinate const &, class RPointerArray<class CPosLandmark> &, int)
-	?Bottom@CMnrpMapModel@@QBENXZ @ 10 NONAME ; double CMnrpMapModel::Bottom(void) const
-	?Center@CMnrpMapModel@@QBE?AVTCoordinate@@XZ @ 11 NONAME ; class TCoordinate CMnrpMapModel::Center(void) const
-	?CoordToAddressLC@CMnrpEngine@@QAEPAVCPosLandmark@@ABVTCoordinate@@@Z @ 12 NONAME ; class CPosLandmark * CMnrpEngine::CoordToAddressLC(class TCoordinate const &)
-	?CoordinateToString@MnrpUtils@@SAXNAAVTDes16@@HH@Z @ 13 NONAME ; void MnrpUtils::CoordinateToString(double, class TDes16 &, int, int)
-	?Course@CMnrpPositionRequest@@QAEMXZ @ 14 NONAME ; float CMnrpPositionRequest::Course(void)
-	?CurrentLocation@CMnrpMapModel@@QBE?AVTCurrentLocation@1@XZ @ 15 NONAME ; class CMnrpMapModel::TCurrentLocation CMnrpMapModel::CurrentLocation(void) const
-	?DistanceBetweenLandmarks@CMnrpEngine@@QAEMABVCPosLandmark@@0@Z @ 16 NONAME ; float CMnrpEngine::DistanceBetweenLandmarks(class CPosLandmark const &, class CPosLandmark const &)
-	?DistanceToString@MnrpUtils@@SAXNAAVTDes16@@@Z @ 17 NONAME ; void MnrpUtils::DistanceToString(double, class TDes16 &)
-	?FetchNewPosition@CMnrpPositionRequest@@QAEXH@Z @ 18 NONAME ; void CMnrpPositionRequest::FetchNewPosition(int)
-	?FindClosestPoisL@CMnrpEngine@@QAEXABVCPosLandmark@@AAV?$RArray@UTDistanceToPoi@CMnrpEngine@@@@H@Z @ 19 NONAME ; void CMnrpEngine::FindClosestPoisL(class CPosLandmark const &, class RArray<struct CMnrpEngine::TDistanceToPoi> &, int)
-	?FindResourceFileL@CMnrpEngine@@QAEXABVTDesC16@@AAV?$TBuf@$0BAA@@@@Z @ 20 NONAME ; void CMnrpEngine::FindResourceFileL(class TDesC16 const &, class TBuf<256> &)
-	?Fs@CMnrpEngine@@QAEAAVRFs@@XZ @ 21 NONAME ; class RFs & CMnrpEngine::Fs(void)
-	?GetGrid@CMnrpMapModel@@QBEXAAVTGrid@1@@Z @ 22 NONAME ; void CMnrpMapModel::GetGrid(class CMnrpMapModel::TGrid &) const
-	?GetPosition@CMnrpPositionRequest@@QAEXAAVTPositionInfo@@@Z @ 23 NONAME ; void CMnrpPositionRequest::GetPosition(class TPositionInfo &)
-	?GoCenter@CMnrpMapModel@@QAEXXZ @ 24 NONAME ; void CMnrpMapModel::GoCenter(void)
-	?Heading@CMnrpPositionRequest@@QAEMXZ @ 25 NONAME ; float CMnrpPositionRequest::Heading(void)
-	?Height@CMnrpMapModel@@QBENXZ @ 26 NONAME ; double CMnrpMapModel::Height(void) const
-	?KnownPlacesL@CMnrpEngine@@QAE?AV?$TArray@PAVCPosLandmark@@@@XZ @ 27 NONAME ; class TArray<class CPosLandmark *> CMnrpEngine::KnownPlacesL(void)
-	?Left@CMnrpMapModel@@QBENXZ @ 28 NONAME ; double CMnrpMapModel::Left(void) const
-	?MagneticCourse@CMnrpPositionRequest@@QAEMXZ @ 29 NONAME ; float CMnrpPositionRequest::MagneticCourse(void)
-	?MagneticHeading@CMnrpPositionRequest@@QAEMXZ @ 30 NONAME ; float CMnrpPositionRequest::MagneticHeading(void)
-	?MoveTo@CMnrpMapModel@@QAEXVTCoordinate@@@Z @ 31 NONAME ; void CMnrpMapModel::MoveTo(class TCoordinate)
-	?NewL@CMnrpEngine@@SAPAV1@XZ @ 32 NONAME ; class CMnrpEngine * CMnrpEngine::NewL(void)
-	?NewL@CMnrpMapModel@@SAPAV1@AAVCMnrpEngine@@@Z @ 33 NONAME ; class CMnrpMapModel * CMnrpMapModel::NewL(class CMnrpEngine &)
-	?NewL@CMnrpMapModel@@SAPAV1@AAVMMapModelObserver@@AAVCMnrpEngine@@@Z @ 34 NONAME ; class CMnrpMapModel * CMnrpMapModel::NewL(class MMapModelObserver &, class CMnrpEngine &)
-	?NewL@CMnrpPositionRequest@@SAPAV1@ABVTDesC16@@AAVMMnrpPositionObserver@@@Z @ 35 NONAME ; class CMnrpPositionRequest * CMnrpPositionRequest::NewL(class TDesC16 const &, class MMnrpPositionObserver &)
-	?RenderL@CMnrpMapModel@@QBEXAAVCFbsBitmap@@VTRect@@PAVCFont@@2@Z @ 36 NONAME ; void CMnrpMapModel::RenderL(class CFbsBitmap &, class TRect, class CFont *, class CFont *) const
-	?Right@CMnrpMapModel@@QBENXZ @ 37 NONAME ; double CMnrpMapModel::Right(void) const
-	?ScreenToAbsolute@CMnrpMapModel@@QBE?AVTCoordinate@@VTPoint@@@Z @ 38 NONAME ; class TCoordinate CMnrpMapModel::ScreenToAbsolute(class TPoint) const
-	?ScreenToAbsolute@CMnrpMapModel@@QBENH@Z @ 39 NONAME ; double CMnrpMapModel::ScreenToAbsolute(int) const
-	?SetOptionsL@CMnrpPositionRequest@@QAEXABVTPositionUpdateOptionsBase@@@Z @ 40 NONAME ; void CMnrpPositionRequest::SetOptionsL(class TPositionUpdateOptionsBase const &)
-	?SetScreenSize@CMnrpMapModel@@QAEXVTSize@@@Z @ 41 NONAME ; void CMnrpMapModel::SetScreenSize(class TSize)
-	?Speed@CMnrpPositionRequest@@QAEMXZ @ 42 NONAME ; float CMnrpPositionRequest::Speed(void)
-	?SpeedToString@MnrpUtils@@SAXNAAVTDes16@@@Z @ 43 NONAME ; void MnrpUtils::SpeedToString(double, class TDes16 &)
-	?Top@CMnrpMapModel@@QBENXZ @ 44 NONAME ; double CMnrpMapModel::Top(void) const
-	?UpdateModelL@CMnrpMapModel@@QAEXAAVCMnrpMapViewService@@@Z @ 45 NONAME ; void CMnrpMapModel::UpdateModelL(class CMnrpMapViewService &)
-	?Width@CMnrpMapModel@@QBENXZ @ 46 NONAME ; double CMnrpMapModel::Width(void) const
-	?Zoom@CMnrpMapModel@@QAEXN@Z @ 47 NONAME ; void CMnrpMapModel::Zoom(double)
-	?PrintableStringLC@MnrpUtils@@SAPAVHBufC16@@ABVTDesC16@@@Z @ 48 NONAME ; class HBufC16 * MnrpUtils::PrintableStringLC(class TDesC16 const &)
-	?AddressToCoord@CMnrpEngine@@QAEPAVCPosLandmark@@ABV2@@Z @ 49 NONAME ; class CPosLandmark * CMnrpEngine::AddressToCoord(class CPosLandmark const &)
-	?AddressToCoord@CMnrpEngine@@QAEPAVCPosLandmark@@ABVTDesC16@@@Z @ 50 NONAME ; class CPosLandmark * CMnrpEngine::AddressToCoord(class TDesC16 const &)
-	?NumIgnoredLandmarks@CMnrpMapModel@@QAEHXZ @ 51 NONAME ; int CMnrpMapModel::NumIgnoredLandmarks(void)
-
Binary file locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/data/default_lm.bmp has changed
Binary file locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/data/default_lm_mask_soft.bmp has changed
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/data/mnrefprovider.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,156 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Resource definition file for MnRefProvider
-*
-*/
-
-
-NAME MNTP
-
-#include <eikon.rsg>
-#include <eikon.rh>
-#include <avkon.rsg>
-#include <avkon.mbg>
-#include <avkon.rh>
-
-#include <appinfo.rh>
-#include "mnrp.hrh"
-
-RESOURCE RSS_SIGNATURE {  }
-
-RESOURCE TBUF { buf="MnRefProvider"; }
-
-RESOURCE EIK_APP_INFO
-    {
-    menubar = r_mnrefprovider_menubar;
-    cba = R_AVKON_SOFTKEYS_OPTIONS_EXIT;
-    }
-
-RESOURCE LOCALISABLE_APP_INFO r_mnrefprovider_localisable_app_info
-    {
-    short_caption = "MnRefProvider";
-    caption_and_icon =
-        CAPTION_AND_ICON_INFO
-            {
-            caption = "MnRefProvider";
-            };
-    view_list = {};
-    }
-
-RESOURCE CONTEXT_PANE r_mnrefprovider_app_icon
-    {
-    }
-
-RESOURCE MENU_BAR r_mnrefprovider_menubar
-    {
-    titles =
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_mnrefprovider_menu;
-            }
-        };
-    }
-
-RESOURCE MENU_PANE r_mnrefprovider_menu
-    {
-    items =
-        {
-        MENU_ITEM
-            {
-            command = EAknSoftkeyExit;
-            txt = "Exit";
-            }
-        };
-    }
-
-RESOURCE DIALOG r_mnrefprovider_selection_dialog
-    {
-    flags = EAknDialogSelectionList;
-    buttons = R_AVKON_SOFTKEYS_OK_CANCEL;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtSingleGraphicListBox;
-            id = ESelectionListControl;
-            control = LISTBOX
-                {
-                flags = EAknListBoxSelectionList;
-                };
-            },
-        // the next dlg line is optional.
-        DLG_LINE
-            {
-            itemflags = EEikDlgItemNonFocusing;
-            id = EFindControl;
-            type = EAknCtSelectionListFixedFind;
-            }
-        };
-    }
-
-RESOURCE AVKON_VIEW r_mnrefprovider_map_view
-    {
-    menubar = r_mnrefprovider_map_view_menubar;
-    cba = R_AVKON_SOFTKEYS_OPTIONS_EXIT;
-    }
-
-RESOURCE AVKON_VIEW r_mnrefprovider_map_view_chained
-    {
-    menubar = r_mnrefprovider_map_view_menubar;
-    cba = R_AVKON_SOFTKEYS_OPTIONS_BACK;
-    }
-
-RESOURCE MENU_BAR r_mnrefprovider_map_view_menubar
-    {
-    titles =
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_mnrefprovider_map_view_menu;
-            }
-        };
-    }
-
-RESOURCE MENU_PANE r_mnrefprovider_map_view_menu
-    {
-    items =
-        {
-        MENU_ITEM
-            {
-            command = EMnrpCommandSelect;
-            txt = "Select";
-            },
-        MENU_ITEM
-            {
-            command = EMnrpCommandFullScreen;
-            txt = "Toggle Fullscreen";
-            },
-        MENU_ITEM
-            {
-            command = EAknSoftkeyExit;
-            txt = "Exit";
-            }
-        };
-    }
-
-RESOURCE AVKON_VIEW r_mnrefprovider_navi_view
-    {
-    cba = R_AVKON_SOFTKEYS_EXIT;
-    }
-
-RESOURCE AVKON_VIEW r_mnrefprovider_navi_view_chained
-    {
-    cba = R_AVKON_SOFTKEYS_BACK;
-    }
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/data/mnrefprovider_reg.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Registration file for MnRefProvider
-*
-*/
-
-
-#include <appinfo.rh>
-
-#include "mnappserviceuids.hrh"
-#include "mnappservices.hrh"
-#include "mnserviceinfo.rh"
-
-#include <MnRefProvider.rsg>
-
-UID2 KUidAppRegistrationResourceFile
-UID3 0x03132013
-
-RESOURCE APP_REGISTRATION_INFO
-    {
-    app_file = "MnRefProvider";
-    localisable_resource_file = "\\resource\\apps\\MnRefProvider";
-    localisable_resource_id = R_MNREFPROVIDER_LOCALISABLE_APP_INFO;
-    
-    launch = KAppLaunchInForeground;
-    hidden = KAppNotHidden;
-        
-    datatype_list = {};
-    file_ownership_list = {};
-    service_list =
-        {
-        SERVICE_INFO
-            {
-            uid = KMnAppMapViewService;
-            datatype_list = {};
-            opaque_data = r_mnrefprovider_mapview_opaquedata;
-            },
-        SERVICE_INFO
-            {
-            uid = KMnAppNavigationService;
-            datatype_list = {};
-            opaque_data = r_mnrefprovider_navigation_opaquedata;
-            }
-        };
-    }
-
-RESOURCE MN_SERVICE_INFO r_mnrefprovider_mapview_opaquedata
-    {
-    service_features = KMnSvcFeatureShowMap | KMnSvcFeatureSelectFromMap;
-    }
-
-RESOURCE MN_SERVICE_INFO r_mnrefprovider_navigation_opaquedata
-    {
-    service_features = KMnSvcFeatureNavigateTo;
-    }
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/data/mnrefproviderback.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Resource definition file for MnRefProviderBack
-*
-*/
-
-
-NAME MNRG
-
-#include <eikon.rsg>
-#include <eikon.rh>
-#include <avkon.rsg>
-#include <avkon.mbg>
-#include <avkon.rh>
-
-#include <appinfo.rh>
-
-RESOURCE RSS_SIGNATURE {  }
-
-RESOURCE TBUF { buf="MnRefProviderBack"; }
-
-RESOURCE EIK_APP_INFO
-    {
-    menubar = r_mnrefgeocoder_menubar;
-    cba = R_AVKON_SOFTKEYS_OPTIONS_EXIT;
-    }
-
-RESOURCE LOCALISABLE_APP_INFO r_mnrefgeocoder_localisable_app_info
-    {
-    short_caption = "MnRefProvider";
-    caption_and_icon =
-        CAPTION_AND_ICON_INFO
-            {
-            caption = "MnRefProvider";
-            };
-    view_list = {};
-    }
-
-RESOURCE CONTEXT_PANE r_mnrefgeocoder_app_icon
-    {
-    }
-
-RESOURCE MENU_BAR r_mnrefgeocoder_menubar
-    {
-    titles =
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_mnrefgeocoder_menu;
-            }
-        };
-    }
-
-RESOURCE MENU_PANE r_mnrefgeocoder_menu
-    {
-    items =
-        {
-        MENU_ITEM
-            {
-            command = EAknSoftkeyExit;
-            txt = "Exit";
-            }
-        };
-    }
-
-RESOURCE AVKON_LIST_QUERY r_mnrefgeocoder_list_query
-    {
-    flags = EGeneralQueryFlags;
-    softkeys = R_AVKON_SOFTKEYS_OK_CANCEL;
-    items =
-        {
-        AVKON_LIST_QUERY_DLG_LINE
-            {
-            control = AVKON_LIST_QUERY_CONTROL
-                {
-                listtype = EAknCtSinglePopupMenuListBox;
-                listbox = AVKON_LIST_QUERY_LIST
-                    {
-                    };
-                heading = "Select best match";
-                };
-            }
-        };
-    }
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/data/mnrefproviderback_reg.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Registration file for MnRefProviderBack
-*
-*/
-
-
-#include <appinfo.rh>
-
-#include "mnappserviceuids.hrh"
-#include "mnappservices.hrh"
-#include "mnserviceinfo.rh"
-
-#include <mnrefproviderback.rsg>
-
-UID2 KUidAppRegistrationResourceFile
-UID3 0x03132014
-
-RESOURCE APP_REGISTRATION_INFO
-    {
-    app_file = "mnrefproviderback";
-    localisable_resource_file = "\\resource\\apps\\mnrefproviderback";
-    localisable_resource_id = R_MNREFGEOCODER_LOCALISABLE_APP_INFO;
-
-    launch = KAppLaunchInBackground;
-    hidden = KAppIsHidden;
-
-    datatype_list = {};
-    file_ownership_list = {};
-    service_list =
-        {
-        SERVICE_INFO
-            {
-            uid = KMnAppGeocodingService;
-            datatype_list = {};
-            opaque_data = r_mnrefgeocoder_geocoding_opaquedata;
-            }
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-        ,
-        SERVICE_INFO
-            {
-            uid = KMnAppMapImageService;
-            datatype_list = {};
-            opaque_data = r_mnrefprovider_mapimage_opaquedata;
-            }
-#endif
-        };
-    }
-
-RESOURCE MN_SERVICE_INFO r_mnrefgeocoder_geocoding_opaquedata
-    {
-    service_features =
-        KMnSvcFeatureCoordToAddr |
-        KMnSvcFeatureAddrToCoord |
-        KMnSvcFeaturePlainAddrToCoord;
-    }
-
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-RESOURCE MN_SERVICE_INFO r_mnrefprovider_mapimage_opaquedata
-    {
-    service_features = KMnSvcFeatureVectorMap;
-    }
-#endif
-	 
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/data/mnrefproviderengine.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,205 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Resource definition file for MnRefProviderEngine
-*
-*/
-
-
-NAME MNRE
-
-#include <eikon.rsg>
-#include <eikon.rh>
-#include <avkon.rsg>
-#include <avkon.mbg>
-#include <avkon.rh>
-
-#include <appinfo.rh>
-
-RESOURCE RSS_SIGNATURE {  }
-
-RESOURCE TBUF { buf=""; }
-
-STRUCT PLACE
-    {
-    LTEXT city;
-    LTEXT country;
-    DOUBLE lat;
-    DOUBLE lon;
-    }
-
-STRUCT PLACES
-    {
-    STRUCT places[];
-    }
-
-RESOURCE PLACES r_mnrefproviderengine_places
-    {
-    places =
-        {
-        PLACE { city="Tampere"; country="Finland"; lat=61.50; lon=23.83; }, 
-        PLACE { city="Turku"; country="Finland"; lat=60.45; lon=22.28; }, 
-        PLACE { city="Oulu"; country="Finland"; lat=65.02; lon=28.47; }, 
-        PLACE { city="Saint-Petersburg"; country="Russia"; lat=59.92; lon=30.42; }, 
-        PLACE { city="Göteborg"; country="Sweden"; lat=57.72; lon=11.97; }, 
-        PLACE { city="Kabul"; country="Afghanistan"; lat=35.10; lon=68.55; },
-        PLACE { city="Tirana"; country="Albania"; lat=41.74; lon=19.38; },
-        PLACE { city="Algiers"; country="Algeria"; lat=37.55; lon=2.29; },
-        PLACE { city="Luanda"; country="Angola"; lat=-8.35; lon=12.76; },
-        PLACE { city="Yerevan"; country="Armenia"; lat=40.47; lon=44.21; },
-        PLACE { city="Oranjestad"; country="Aruba"; lat=13.12; lon=-70.76; },
-        PLACE { city="Canberra"; country="Australia"; lat=-35.15; lon=149.04; },
-        PLACE { city="Vienna"; country="Austria"; lat=48.75; lon=15.82; },
-        PLACE { city="Baku"; country="Azerbaijan"; lat=40.79; lon=49.50; },
-        PLACE { city="Nassau"; country="Bahamas"; lat=25.74; lon=-77.99; },
-        PLACE { city="Dhaka"; country="Bangladesh"; lat=24.10; lon=90.05; },
-        PLACE { city="Bridgetown"; country="Barbados"; lat=13.68; lon=-60.20; },
-        PLACE { city="Minsk"; country="Belarus"; lat=54.08; lon=27.43; },
-        PLACE { city="Brussels"; country="Belgium"; lat=51.64; lon=3.56; },
-        PLACE { city="Belmopan"; country="Belize"; lat=17.32; lon=-88.52; },
-        PLACE { city="Hamilton"; country="Bermuda"; lat=-37.75; lon=175.28; },
-        PLACE { city="Thimphu"; country="Bhutan"; lat=28.07; lon=89.05; },
-        PLACE { city="Gaborone"; country="Botswana"; lat=-24.36; lon=25.56; },
-        PLACE { city="Brasilia"; country="Brazil"; lat=-15.48; lon=-48.22; },
-        PLACE { city="Sofia"; country="Bulgaria"; lat=43.08; lon=23.00; },
-        PLACE { city="Bujumbura"; country="Burundi"; lat=-3.19; lon=29.17; },
-        PLACE { city="Yaounde"; country="Cameroon"; lat=4.52; lon=10.90; },
-        PLACE { city="Ottawa"; country="Canada"; lat=46.28; lon=-76.53; },
-        PLACE { city="Santiago"; country="Chile"; lat=-33.07; lon=-70.99; },
-        PLACE { city="Beijing"; country="China"; lat=40.13; lon=116.12; },
-        PLACE { city="Bogota"; country="Colombia"; lat=4.78; lon=-74.21; },
-        PLACE { city="Moroni"; country="Comoros"; lat=-11.10; lon=42.69; },
-        PLACE { city="Brazzaville"; country="Congo"; lat=-3.48; lon=14.50; },
-        PLACE { city="Zagreb"; country="Croatia"; lat=45.95; lon=15.88; },
-        PLACE { city="Havana"; country="Cuba"; lat=23.82; lon=-83.05; },
-        PLACE { city="Nicosia"; country="Cyprus"; lat=35.79; lon=32.73; },
-        PLACE { city="Copenhagen"; country="Denmark"; lat=56.32; lon=11.93; },
-        PLACE { city="Djibouti"; country="Djibouti"; lat=12.24; lon=42.35; },
-        PLACE { city="Roseau"; country="Dominica"; lat=15.85; lon=-61.91; },
-        PLACE { city="Quito"; country="Ecuador"; lat=-0.20; lon=-78.55; },
-        PLACE { city="Cairo"; country="Egypt"; lat=30.38; lon=30.87; },
-        PLACE { city="Asmara"; country="Eritrea"; lat=15.40; lon=38.83; },
-        PLACE { city="Tallinn"; country="Estonia"; lat=60.28; lon=23.90; },
-        PLACE { city="Suva"; country="Fiji"; lat=-18.07; lon=178.47; },
-        PLACE { city="Helsinki"; country="Finland"; lat=60.32; lon=24.98; },
-        PLACE { city="Paris"; country="France"; lat=49.86; lon=1.34; },
-        PLACE { city="Libreville"; country="Gabon"; lat=1.11; lon=8.74; },
-        PLACE { city="Banjul"; country="Gambia"; lat=14.07; lon=-17.27; },
-        PLACE { city="Tbilisi"; country="Georgia"; lat=42.63; lon=43.90; },
-        PLACE { city="Berlin"; country="Germany"; lat=52.67; lon=13.23; },
-        PLACE { city="Accra"; country="Ghana"; lat=6.16; lon=-0.79; },
-        PLACE { city="Gibraltar"; country="Gibraltar"; lat=36.14; lon=-5.39; },
-        PLACE { city="Athens"; country="Greece"; lat=38.94; lon=22.74; },
-        PLACE { city="Godthabsfjord"; country="Greenland"; lat=64.47; lon=-52.05; },
-        PLACE { city="Agana"; country="Guam"; lat=14.05; lon=144.17; },
-        PLACE { city="Guatemala"; country="Guatemala"; lat=14.69; lon=-90.39; },
-        PLACE { city="Conakry"; country="Guinea"; lat=9.87; lon=-14.20; },
-        PLACE { city="Georgetown"; country="Guyana"; lat=6.90; lon=-58.26; },
-        PLACE { city="Tegucigalpa"; country="Honduras"; lat=14.40; lon=-87.55; },
-        PLACE { city="Budapest"; country="Hungary"; lat=47.53; lon=19.04; },
-        PLACE { city="Reykjavik"; country="Iceland"; lat=64.58; lon=-22.36; },
-        PLACE { city="Delhi"; country="India"; lat=29.56; lon=76.29; },
-        PLACE { city="Jakarta"; country="Indonesia"; lat=-5.99; lon=106.66; },
-        PLACE { city="Tehran"; country="Iran"; lat=35.91; lon=51.24; },
-        PLACE { city="Baghdad"; country="Iraq"; lat=33.40; lon=44.35; },
-        PLACE { city="Jerusalem"; country="Israel"; lat=31.98; lon=34.97; },
-        PLACE { city="Rome"; country="Italy"; lat=42.78; lon=11.60; },
-        PLACE { city="Kingston"; country="Jamaica"; lat=29.30; lon=167.80; },
-        PLACE { city="Tokyo"; country="Japan"; lat=36.39; lon=139.04; },
-        PLACE { city="Amman"; country="Jordan"; lat=32.28; lon=35.54; },
-        PLACE { city="Almaty"; country="Kazakhstan"; lat=43.45; lon=76.75; },
-        PLACE { city="Nairobi"; country="Kenya"; lat=-0.91; lon=36.43; },
-        PLACE { city="Bairiki"; country="Kiribati"; lat=1.87; lon=172.55; },
-        PLACE { city="Bishkek"; country="Kyrgyzstan"; lat=43.45; lon=74.02; },
-        PLACE { city="Vientiane"; country="Laos"; lat=18.51; lon=102.05; },
-        PLACE { city="Riga"; country="Latvia"; lat=57.18; lon=23.92; },
-        PLACE { city="Beirut"; country="Lebanon"; lat=34.19; lon=35.21; },
-        PLACE { city="Maseru"; country="Lesotho"; lat=-28.58; lon=26.78; },
-        PLACE { city="Monrovia"; country="Liberia"; lat=7.24; lon=-11.72; },
-        PLACE { city="Tripoli"; country="Libya"; lat=33.21; lon=12.87; },
-        PLACE { city="Vaduz"; country="Liechtenstein"; lat=48.11; lon=8.54; },
-        PLACE { city="Vilnius"; country="Lithuania"; lat=54.97; lon=25.00; },
-        PLACE { city="Luxembourg"; country="Luxembourg"; lat=50.55; lon=5.22; },
-        PLACE { city="Macau"; country="Macau"; lat=22.49; lon=113.33; },
-        PLACE { city="Antananarivo"; country="Madagascar"; lat=-18.61; lon=47.21; },
-        PLACE { city="Lilongwe"; country="Malawi"; lat=-13.42; lon=33.22; },
-        PLACE { city="Male"; country="Maldives"; lat=4.90; lon=72.77; },
-        PLACE { city="Bamako"; country="Mali"; lat=13.47; lon=-8.82; },
-        PLACE { city="Valletta"; country="Malta"; lat=36.43; lon=13.97; },
-        PLACE { city="Nouakchott"; country="Mauritania"; lat=18.32; lon=-16.14; },
-        PLACE { city="Dzaoudzi"; country="Mayotte"; lat=-12.34; lon=44.84; },
-        PLACE { city="Palikir"; country="Micronesia"; lat=7.51; lon=157.56; },
-        PLACE { city="Chisinau"; country="Moldova"; lat=47.92; lon=27.95; },
-        PLACE { city="Monaco"; country="Monaco"; lat=44.41; lon=6.67; },
-        PLACE { city="Plymouth"; country="Montserrat"; lat=50.65; lon=-4.42; },
-        PLACE { city="Rabat"; country="Morocco"; lat=34.81; lon=-7.57; },
-        PLACE { city="Maputo"; country="Mozambique"; lat=-25.66; lon=32.23; },
-        PLACE { city="Yangon"; country="Myanmar"; lat=16.84; lon=96.08; },
-        PLACE { city="Windhoek"; country="Namibia"; lat=-21.94; lon=16.42; },
-        PLACE { city="Domaneab"; country="Nauru"; lat=0.31; lon=166.07; },
-        PLACE { city="Kathmandu"; country="Nepal"; lat=28.43; lon=84.66; },
-        PLACE { city="Amsterdam"; country="Netherlands"; lat=53.17; lon=4.01; },
-        PLACE { city="Managua"; country="Nicaragua"; lat=12.61; lon=-86.84; },
-        PLACE { city="Niamey"; country="Niger"; lat=13.73; lon=1.89; },
-        PLACE { city="Lagos"; country="Nigeria"; lat=38.00; lon=-9.60; },
-        PLACE { city="Alofi"; country="Niue"; lat=-18.95; lon=-170.02; },
-        PLACE { city="Oslo"; country="Norway"; lat=60.46; lon=10.20; },
-        PLACE { city="Muscat"; country="Oman"; lat=24.48; lon=57.74; },
-        PLACE { city="Islamabad"; country="Pakistan"; lat=34.43; lon=72.40; },
-        PLACE { city="Koror"; country="Palau"; lat=7.77; lon=134.06; },
-        PLACE { city="Panama"; country="Panama"; lat=9.97; lon=-80.52; },
-        PLACE { city="Asuncion"; country="Paraguay"; lat=-25.26; lon=-57.67; },
-        PLACE { city="Lima"; country="Peru"; lat=-11.31; lon=-77.79; },
-        PLACE { city="Manila"; country="Philippines"; lat=14.80; lon=120.75; },
-        PLACE { city="Adamstown"; country="Pitcairn"; lat=-24.53; lon=-130.62; },
-        PLACE { city="Warsaw"; country="Poland"; lat=52.94; lon=20.28; },
-        PLACE { city="Lisbon"; country="Portugal"; lat=38.72; lon=-9.20; },
-        PLACE { city="Doha"; country="Qatar"; lat=25.95; lon=50.93; },
-        PLACE { city="Bucharest"; country="Romania"; lat=45.34; lon=25.21; },
-        PLACE { city="Moscow"; country="Russia"; lat=55.88; lon=37.50; },
-        PLACE { city="Kigali"; country="Rwanda"; lat=-1.70; lon=29.78; },
-        PLACE { city="Dakar"; country="Senegal"; lat=15.06; lon=-17.87; },
-        PLACE { city="Victoria"; country="Seychelles"; lat=-3.71; lon=54.53; },
-        PLACE { city="Singapore"; country="Singapore"; lat=1.28; lon=103.85; },
-        PLACE { city="Ljubljana"; country="Slovenia"; lat=46.83; lon=13.79; },
-        PLACE { city="Mogadishu"; country="Somalia"; lat=2.60; lon=44.85; },
-        PLACE { city="Madrid"; country="Spain"; lat=41.49; lon=-4.74; },
-        PLACE { city="Khartoum"; country="Sudan"; lat=15.56; lon=32.54; },
-        PLACE { city="Paramaribo"; country="Surinam"; lat=5.85; lon=-55.18; },
-        PLACE { city="Mbabane"; country="Swaziland"; lat=-25.92; lon=30.72; },
-        PLACE { city="Stockholm"; country="Sweden"; lat=59.67; lon=17.71; },
-        PLACE { city="Berne"; country="Switzerland"; lat=47.49; lon=6.92; },
-        PLACE { city="Damascus"; country="Syria"; lat=33.89; lon=35.91; },
-        PLACE { city="Taipei"; country="Taiwan"; lat=25.93; lon=120.62; },
-        PLACE { city="Dushanbe"; country="Tajikistan"; lat=39.48; lon=67.88; },
-        PLACE { city="Dodoma"; country="Tanzania"; lat=-5.16; lon=34.78; },
-        PLACE { city="Bangkok"; country="Thailand"; lat=14.36; lon=99.90; },
-        PLACE { city="Lhasa"; country="Tibet"; lat=30.60; lon=90.17; },
-        PLACE { city="Lome"; country="Togo"; lat=6.63; lon=0.73; },
-        PLACE { city="Tunis"; country="Tunisia"; lat=36.85; lon=10.17; },
-        PLACE { city="Ankara"; country="Turkey"; lat=40.34; lon=32.56; },
-        PLACE { city="Ashkhabad"; country="Turkmenistan"; lat=38.22; lon=58.11; },
-        PLACE { city="Funafuti"; country="Tuvalu"; lat=-8.30; lon=178.96; },
-        PLACE { city="Kampala"; country="Uganda"; lat=1.20; lon=31.64; },
-        PLACE { city="Kiev"; country="Ukraine"; lat=50.92; lon=30.06; },
-        PLACE { city="Montevideo"; country="Uruguay"; lat=-34.21; lon=-56.81; },
-        PLACE { city="Tashkent"; country="Uzbekistan"; lat=41.40; lon=69.24; },
-        PLACE { city="Caracas"; country="Venezuela"; lat=11.16; lon=-67.58; },
-        PLACE { city="Hanoi"; country="Vietnam"; lat=21.33; lon=105.67; },
-        PLACE { city="Sanaa"; country="Yemen"; lat=16.39; lon=43.26; },
-        PLACE { city="Belgrade"; country="Yugoslavia"; lat=45.56; lon=19.77; },
-        PLACE { city="Lusaka"; country="Zambia"; lat=-15.00; lon=27.80; },
-        PLACE { city="Harare"; country="Zimbabwe"; lat=-17.30; lon=30.61; }
-		};
-	}
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/data/mnrefproviderplugin.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Defines the ECom registration resource for TestProviderPlugin.
-*
-*/
-
-
-//  RESOURCE IDENTIFIER
-NAME MNTP
-
-#include <ecom/registryinfov2.rh>
-#include <mnpluginuids.hrh> // defines interface UID
-
-RESOURCE REGISTRY_INFO r_mycoordconverterplugin_reginfo
-	{
-	resource_format_version = RESOURCE_FORMAT_VERSION_2;
-	// DLL UID of the DLL
-	dll_uid = 0x03133037;
-	interfaces =
-	    {
-	    INTERFACE_INFO
-	        {
-	        // UID of coordinate converter interface,
-	        // defined in mnpluginuids.hrh
-	        interface_uid = KMnMapImageConverterIf;
-	        implementations =
-	            {
-	            IMPLEMENTATION_INFO
-	                {
-	                // The licensee needs to allocate this UID from Symbian
-	                implementation_uid = 0x03133038;
-	                version_no = 1;
-	                display_name = "MnRefProviderCoordConverter";
-	                // SID of provider application executable
-	                default_data = "03132014";
-	                }
-	            };
-	        }
-	    };
-	}
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/eabi/mnrefproviderengine.50u.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-EXPORTS
-	_ZN11CMnrpEngine12KnownPlacesLEv @ 1 NONAME
-	_ZN11CMnrpEngine15AddressToCoordLERK12CPosLandmark @ 2 NONAME
-	_ZN11CMnrpEngine15AddressToCoordLERK7TDesC16 @ 3 NONAME
-	_ZN11CMnrpEngine16AddressToCoordLCERK12CPosLandmark @ 4 NONAME
-	_ZN11CMnrpEngine16AddressToCoordLCERK7TDesC16 @ 5 NONAME
-	_ZN11CMnrpEngine16CoordToAddressLCERK11TCoordinate @ 6 NONAME
-	_ZN11CMnrpEngine16FindClosestPoisLERK12CPosLandmarkR6RArrayINS_14TDistanceToPoiEEi @ 7 NONAME
-	_ZN11CMnrpEngine17FindResourceFileLERK7TDesC16R4TBufILi256EE @ 8 NONAME
-	_ZN11CMnrpEngine24DistanceBetweenLandmarksERK12CPosLandmarkS2_ @ 9 NONAME
-	_ZN11CMnrpEngine26BestCoordToAddressMatchesLERK11TCoordinateR13RPointerArrayI12CPosLandmarkEi @ 10 NONAME
-	_ZN11CMnrpEngine2FsEv @ 11 NONAME
-	_ZN11CMnrpEngine4NewLEv @ 12 NONAME
-	_ZN11CMnrpEngineD0Ev @ 13 NONAME
-	_ZN11CMnrpEngineD1Ev @ 14 NONAME
-	_ZN11CMnrpEngineD2Ev @ 15 NONAME
-	_ZN13CMnrpMapModel11UpdateModelERK17TMnMapImageParams @ 16 NONAME
-	_ZN13CMnrpMapModel12UpdateModelLER19CMnrpMapViewService @ 17 NONAME
-	_ZN13CMnrpMapModel12UpdateModelLERK20CMnrpMapImageService @ 18 NONAME
-	_ZN13CMnrpMapModel13SetScreenSizeE5TSize @ 19 NONAME
-	_ZN13CMnrpMapModel19NumIgnoredLandmarksEv @ 20 NONAME
-	_ZN13CMnrpMapModel4NewLER11CMnrpEngine @ 21 NONAME
-	_ZN13CMnrpMapModel4NewLER17MMapModelObserverR11CMnrpEngine @ 22 NONAME
-	_ZN13CMnrpMapModel4ZoomEd @ 23 NONAME
-	_ZN13CMnrpMapModel6MoveToE11TCoordinate @ 24 NONAME
-	_ZN13CMnrpMapModel8GoCenterEv @ 25 NONAME
-	_ZN20CMnrpPositionRequest11GetPositionER13TPositionInfo @ 26 NONAME
-	_ZN20CMnrpPositionRequest11SetOptionsLERK26TPositionUpdateOptionsBase @ 27 NONAME
-	_ZN20CMnrpPositionRequest14MagneticCourseEv @ 28 NONAME
-	_ZN20CMnrpPositionRequest15MagneticHeadingEv @ 29 NONAME
-	_ZN20CMnrpPositionRequest16FetchNewPositionEi @ 30 NONAME
-	_ZN20CMnrpPositionRequest4NewLERK7TDesC16R21MMnrpPositionObserver @ 31 NONAME
-	_ZN20CMnrpPositionRequest5SpeedEv @ 32 NONAME
-	_ZN20CMnrpPositionRequest6CourseEv @ 33 NONAME
-	_ZN20CMnrpPositionRequest7HeadingEv @ 34 NONAME
-	_ZN20CMnrpPositionRequestD0Ev @ 35 NONAME
-	_ZN20CMnrpPositionRequestD1Ev @ 36 NONAME
-	_ZN20CMnrpPositionRequestD2Ev @ 37 NONAME
-	_ZN9MnrpUtils13AngleToStringEdR6TDes16 @ 38 NONAME
-	_ZN9MnrpUtils13SpeedToStringEdR6TDes16 @ 39 NONAME
-	_ZN9MnrpUtils16DistanceToStringEdR6TDes16 @ 40 NONAME
-	_ZN9MnrpUtils17PrintableStringLCERK7TDesC16 @ 41 NONAME
-	_ZN9MnrpUtils18CoordinateToStringEdR6TDes16ii @ 42 NONAME
-	_ZNK13CMnrpMapModel16AbsoluteToScreenE11TCoordinate @ 43 NONAME
-	_ZNK13CMnrpMapModel16ScreenToAbsoluteE6TPoint @ 44 NONAME
-	_ZNK13CMnrpMapModel16ScreenToAbsoluteEi @ 45 NONAME
-	_ZNK13CMnrpMapModel3TopEv @ 46 NONAME
-	_ZNK13CMnrpMapModel4LeftEv @ 47 NONAME
-	_ZNK13CMnrpMapModel5RightEv @ 48 NONAME
-	_ZNK13CMnrpMapModel5WidthEv @ 49 NONAME
-	_ZNK13CMnrpMapModel6BottomEv @ 50 NONAME
-	_ZNK13CMnrpMapModel6CenterEv @ 51 NONAME
-	_ZNK13CMnrpMapModel6HeightEv @ 52 NONAME
-	_ZNK13CMnrpMapModel7GetGridERNS_5TGridE @ 53 NONAME
-	_ZNK13CMnrpMapModel7RenderLER10CFbsBitmap5TRectP5CFontS4_ @ 54 NONAME
-	_ZTI11CMnrpEngine @ 55 NONAME ; #<TI>#
-	_ZTI13CMnrpMapModel @ 56 NONAME ; #<TI>#
-	_ZTI20CMnrpPositionRequest @ 57 NONAME ; #<TI>#
-	_ZTIN13CMnrpMapModel9CDrawItemE @ 58 NONAME ; #<TI>#
-	_ZTV11CMnrpEngine @ 59 NONAME ; #<VT>#
-	_ZTV13CMnrpMapModel @ 60 NONAME ; #<VT>#
-	_ZTV20CMnrpPositionRequest @ 61 NONAME ; #<VT>#
-	_ZTVN13CMnrpMapModel9CDrawItemE @ 62 NONAME ; #<VT>#
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/eabi/mnrefproviderengineu.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-EXPORTS
-	_ZN11CMnrpEngine12KnownPlacesLEv @ 1 NONAME
-	_ZN11CMnrpEngine16AddressToCoordLCERK12CPosLandmark @ 2 NONAME
-	_ZN11CMnrpEngine16AddressToCoordLCERK7TDesC16 @ 3 NONAME
-	_ZN11CMnrpEngine16CoordToAddressLCERK11TCoordinate @ 4 NONAME
-	_ZN11CMnrpEngine16FindClosestPoisLERK12CPosLandmarkR6RArrayINS_14TDistanceToPoiEEi @ 5 NONAME
-	_ZN11CMnrpEngine17FindResourceFileLERK7TDesC16R4TBufILi256EE @ 6 NONAME
-	_ZN11CMnrpEngine24DistanceBetweenLandmarksERK12CPosLandmarkS2_ @ 7 NONAME
-	_ZN11CMnrpEngine26BestCoordToAddressMatchesLERK11TCoordinateR13RPointerArrayI12CPosLandmarkEi @ 8 NONAME
-	_ZN11CMnrpEngine2FsEv @ 9 NONAME
-	_ZN11CMnrpEngine4NewLEv @ 10 NONAME
-	_ZN11CMnrpEngineD0Ev @ 11 NONAME
-	_ZN11CMnrpEngineD1Ev @ 12 NONAME
-	_ZN11CMnrpEngineD2Ev @ 13 NONAME
-	_ZN13CMnrpMapModel12UpdateModelLER19CMnrpMapViewService @ 14 NONAME
-	_ZN13CMnrpMapModel13SetScreenSizeE5TSize @ 15 NONAME
-	_ZN13CMnrpMapModel4NewLER11CMnrpEngine @ 16 NONAME
-	_ZN13CMnrpMapModel4NewLER17MMapModelObserverR11CMnrpEngine @ 17 NONAME
-	_ZN13CMnrpMapModel4ZoomEd @ 18 NONAME
-	_ZN13CMnrpMapModel6MoveToE11TCoordinate @ 19 NONAME
-	_ZN13CMnrpMapModel8GoCenterEv @ 20 NONAME
-	_ZN20CMnrpPositionRequest11GetPositionER13TPositionInfo @ 21 NONAME
-	_ZN20CMnrpPositionRequest11SetOptionsLERK26TPositionUpdateOptionsBase @ 22 NONAME
-	_ZN20CMnrpPositionRequest14MagneticCourseEv @ 23 NONAME
-	_ZN20CMnrpPositionRequest15MagneticHeadingEv @ 24 NONAME
-	_ZN20CMnrpPositionRequest16FetchNewPositionEi @ 25 NONAME
-	_ZN20CMnrpPositionRequest4NewLERK7TDesC16R21MMnrpPositionObserver @ 26 NONAME
-	_ZN20CMnrpPositionRequest5SpeedEv @ 27 NONAME
-	_ZN20CMnrpPositionRequest6CourseEv @ 28 NONAME
-	_ZN20CMnrpPositionRequest7HeadingEv @ 29 NONAME
-	_ZN20CMnrpPositionRequestD0Ev @ 30 NONAME
-	_ZN20CMnrpPositionRequestD1Ev @ 31 NONAME
-	_ZN20CMnrpPositionRequestD2Ev @ 32 NONAME
-	_ZN9MnrpUtils13AngleToStringEdR6TDes16 @ 33 NONAME
-	_ZN9MnrpUtils13SpeedToStringEdR6TDes16 @ 34 NONAME
-	_ZN9MnrpUtils16DistanceToStringEdR6TDes16 @ 35 NONAME
-	_ZN9MnrpUtils18CoordinateToStringEdR6TDes16ii @ 36 NONAME
-	_ZNK13CMnrpMapModel16AbsoluteToScreenE11TCoordinate @ 37 NONAME
-	_ZNK13CMnrpMapModel16ScreenToAbsoluteE6TPoint @ 38 NONAME
-	_ZNK13CMnrpMapModel16ScreenToAbsoluteEi @ 39 NONAME
-	_ZNK13CMnrpMapModel3TopEv @ 40 NONAME
-	_ZNK13CMnrpMapModel4LeftEv @ 41 NONAME
-	_ZNK13CMnrpMapModel5RightEv @ 42 NONAME
-	_ZNK13CMnrpMapModel5WidthEv @ 43 NONAME
-	_ZNK13CMnrpMapModel6BottomEv @ 44 NONAME
-	_ZNK13CMnrpMapModel6CenterEv @ 45 NONAME
-	_ZNK13CMnrpMapModel6HeightEv @ 46 NONAME
-	_ZNK13CMnrpMapModel7GetGridERNS_5TGridE @ 47 NONAME
-	_ZNK13CMnrpMapModel7RenderLER10CFbsBitmap5TRectP5CFontS4_ @ 48 NONAME
-	_ZTI11CMnrpEngine @ 49 NONAME ; #<TI>#
-	_ZTI13CMnrpMapModel @ 50 NONAME ; #<TI>#
-	_ZTI20CMnrpPositionRequest @ 51 NONAME ; #<TI>#
-	_ZTIN13CMnrpMapModel9CDrawItemE @ 52 NONAME ; #<TI>#
-	_ZTV11CMnrpEngine @ 53 NONAME ; #<VT>#
-	_ZTV13CMnrpMapModel @ 54 NONAME ; #<VT>#
-	_ZTV20CMnrpPositionRequest @ 55 NONAME ; #<VT>#
-	_ZTVN13CMnrpMapModel9CDrawItemE @ 56 NONAME ; #<VT>#
-	_ZN9MnrpUtils17PrintableStringLCERK7TDesC16 @ 57 NONAME
-	_ZN11CMnrpEngine14AddressToCoordERK12CPosLandmark @ 58 NONAME
-	_ZN11CMnrpEngine14AddressToCoordERK7TDesC16 @ 59 NONAME
-	_ZN13CMnrpMapModel19NumIgnoredLandmarksEv @ 60 NONAME
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Build information file for project MapNavRefProviderApp
-*
-*/
-
-#include <bldvariant.hrh>
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXTENSIONS
-START EXTENSION s60/mifconv
-OPTION TARGETFILE MnRefProvider.mif  // this will also generate .mbm;
-OPTION HEADERFILE MnRefProvider.mbg
-OPTION SOURCES -c8,8 default_lm.bmp
-OPTION SOURCEDIR ../data
-END
-PRJ_MMPFILES
-PRJ_TESTMMPFILES
-
-mapnavrefengine.mmp
-mapnavrefprovider.mmp
-mapnavrefproviderback.mmp
-
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-mapnavrefproviderplugin.mmp
-#endif
-
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/group/mapnavrefengine.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Project definition file for MnRefProviderEngine
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET              mnrefproviderengine.dll
-TARGETTYPE          dll
-UID                 0x1000008D 0x03132015
-
-VENDORID            VID_DEFAULT
-CAPABILITY          ReadUserData WriteUserData Location
-
-SOURCEPATH          ../src
-
-SOURCE              mnrpengine.cpp
-SOURCE              mnrpmapmodel.cpp
-SOURCE              mnrppositionrequest.cpp
-SOURCE              mnrputils.cpp
-
-USERINCLUDE         ../inc
-MW_LAYER_SYSTEMINCLUDE
-
-LIBRARY             euser.lib efsrv.lib estor.lib bafl.lib
-LIBRARY             eikcore.lib
-LIBRARY             aknicon.lib egul.lib gdi.lib bitgdi.lib
-
-LIBRARY             eposlandmarks.lib
-LIBRARY             lbs.lib
-LIBRARY             mnclientlib.lib mnservicelib.lib
-
-DEBUGLIBRARY        flogger.lib
-
-START RESOURCE      ../data/mnrefproviderengine.rss
-HEADER
-TARGETPATH          /resource
-END
-
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-#ifdef WINS
-DEFFILE         ../bwins/mnrefproviderengine.50.def
-#else
-DEFFILE         ../eabi/mnrefproviderengine.50.def
-#endif
-#endif
-
-SMPSAFE
-
-// END OF FILE
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/group/mapnavrefprovider.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Project definition file for MnRefProvider
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET              mnrefprovider.exe
-TARGETTYPE          exe
-EPOCSTACKSIZE       0x5000
-UID                 0x100039CE 0x03132013
-
-VENDORID            VID_DEFAULT
-CAPABILITY          ReadUserData WriteUserData Location
-
-SOURCEPATH          ../src
-
-SOURCE              mnrefprovider.cpp
-SOURCE              mnrpapplication.cpp
-SOURCE              mnrpappui.cpp
-SOURCE              mnrpdocument.cpp
-SOURCE              mnrpappserver.cpp
-
-SOURCE              mnrpappview.cpp
-SOURCE              mnrpappcontrol.cpp
-
-SOURCE              mnrpmapview.cpp
-SOURCE              mnrpmapcontrol.cpp
-
-SOURCE              mnrpnaviview.cpp
-SOURCE              mnrpnavimodel.cpp
-SOURCE              mnrpnavicontrol.cpp
-
-SOURCE              mnrpnavigationservice.cpp
-SOURCE              mnrpmapviewservice.cpp
-
-USERINCLUDE         ../inc
-
-MW_LAYER_SYSTEMINCLUDE
-
-LIBRARY             euser.lib efsrv.lib estor.lib apparc.lib bafl.lib
-LIBRARY             cone.lib eikcore.lib eikcoctl.lib eikctl.lib eikdlg.lib
-
-LIBRARY             avkon.lib aknskins.lib aknicon.lib
-LIBRARY             egul.lib gdi.lib ws32.lib fbscli.lib
-LIBRARY             imageconversion.lib
-
-LIBRARY             eposlandmarks.lib eposlmsearchlib.lib
-LIBRARY             lbs.lib
-LIBRARY             mnservicelib.lib
-
-LIBRARY             mnrefproviderengine.lib
-
-DEBUGLIBRARY        flogger.lib
-
-START RESOURCE      ../data/MnRefProvider.rss
-HEADER
-TARGETPATH          /resource/apps
-END
-
-START RESOURCE      ../data/MnRefProvider_reg.rss
-DEPENDS mnrefprovider.rsg
-TARGETPATH          /private/10003a3f/apps
-END
-
-SMPSAFE
-
-// END OF FILE
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/group/mapnavrefproviderback.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Project definition file for MnRefGeocoder
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET              mnrefproviderback.exe
-TARGETTYPE          exe
-EPOCSTACKSIZE       0x5000
-UID                 0x100039CE 0x03132014
-
-VENDORID            VID_DEFAULT
-CAPABILITY          ReadUserData WriteUserData Location
-
-SOURCEPATH          ../src
-
-SOURCE              mnrefproviderback.cpp
-SOURCE              mnrpapplicationback.cpp
-SOURCE              mnrpappuiback.cpp
-SOURCE              mnrpdocumentback.cpp
-SOURCE              mnrpappserverback.cpp
-
-SOURCE              mnrpgeocodingservice.cpp
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-SOURCE              mnrpmapimageservice.cpp
-#endif
-
-USERINCLUDE         ../inc
-MW_LAYER_SYSTEMINCLUDE
-
-LIBRARY             euser.lib efsrv.lib estor.lib bafl.lib
-LIBRARY             cone.lib apparc.lib eikcore.lib eikcoctl.lib
-LIBRARY             ws32.lib gdi.lib
-
-LIBRARY             avkon.lib aknskins.lib
-
-LIBRARY             eposlandmarks.lib
-LIBRARY             lbs.lib
-LIBRARY             mnservicelib.lib
-
-LIBRARY             mnrefproviderengine.lib
-
-DEBUGLIBRARY        flogger.lib
-
-START RESOURCE      ../data/mnrefproviderback.rss
-HEADER
-TARGETPATH          /resource/apps
-END
-
-START RESOURCE      ../data/mnrefproviderback_reg.rss
-DEPENDS mnrefproviderback.rsg
-TARGETPATH          /private/10003a3f/apps
-END
-
-SMPSAFE
-
-// END OF FILE
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/group/mapnavrefproviderplugin.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Project definition file for MnRefProviderPlugin
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET              MnRefProviderPlugin.dll
-TARGETTYPE          PLUGIN
-UID                 0x10009D8D 0x03133037
-
-VENDORID            VID_DEFAULT
-CAPABILITY          ReadUserData WriteUserData Location
-
-SOURCEPATH          ../src
-
-SOURCE              mnrefproviderplugin.cpp
-SOURCE				mnrpcoordconverter.cpp
-
-USERINCLUDE         ../inc
-MW_LAYER_SYSTEMINCLUDE
-
-LIBRARY             euser.lib
-LIBRARY             lbs.lib
-LIBRARY             mnclientlib.lib
-LIBRARY             mnrefproviderengine.lib
-DEBUGLIBRARY        flogger.lib
-
-START RESOURCE      ../data/mnrefproviderplugin.rss
-TARGET			    mnrefproviderplugin.rsc
-TARGETPATH          /resource/plugins
-END
-
-SMPSAFE
-
-// END OF FILE
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/debug.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Debug macros
-*
-*/
-
-
-#ifndef MNRP_DEBUG_H
-#define MNRP_DEBUG_H
-
-#include <e32base.h>
-
-#ifdef _DEBUG
-
-#include <e32svr.h>
-#include <e32std.h>
-#include <f32file.h>
-#include <flogger.h>
-
-_LIT(KLogFile, "mnlog.txt");
-_LIT(KLogDirFullName, "c:\\logs\\");
-_LIT(KLogDir, "mn");
-
-inline void Prefix( TDes& aMessage )
-    {
-    RProcess process;
-    _LIT( KPrefix, "[MnRefProvider/%ld]: ");
-    aMessage.Format( KPrefix, process.Id().Id() );
-    }
-
-inline void Log( TRefByValue<const TDesC> aFmt, ... )
-    {
-    VA_LIST list;
-    VA_START( list, aFmt );
-
-    HBufC* buf = HBufC::New(512);
-    if ( buf )
-    	{
-    	TPtr ptr( buf->Des() );
-	    Prefix( ptr );
-	    ptr.AppendFormatList( aFmt, list );
-
-	    RDebug::RawPrint( ptr );
-	    RFileLogger::Write( KLogDir, KLogFile, EFileLoggingModeAppend, ptr );
-
-	    delete buf;
-    	}
-    }
-
-#define LOG( a )             { Log( _L( a ) ); }
-#define LOG1( a, b )         { Log( _L( a ), b ); }
-#define LOG2( a, b, c )      { Log( _L( a ), b, c ); }
-#define LOG3( a, b, c, d )   { Log( _L( a ), b, c, d ); }
-#define LOG4( a, b, c, d, e )   { Log( _L( a ), b, c, d, e ); }
-
-#else // _DEBUG
-
-// Release version - no logging
-#define LOG( a)
-#define LOG1( a, b )
-#define LOG2( a, b, c )
-#define LOG3( a, b, c, d )
-#define LOG4( a, b, c, d, e )
-
-#endif // _DEBUG
-
-inline void Panic( TInt aReason )
-    {
-    _LIT( KPanicCategory, "MnRefProvider" );
-    LOG1("Panicking: %1", aReason);
-    User::Panic( KPanicCategory, aReason );
-    }
-
-#endif // MNRP_DEBUG_H
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrp.hrh	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Common source and resource constants
-*
-*/
-
-
-#ifndef __MNRP_HRH__
-#define __MNRP_HRH__
-
-enum TMnrpCommandIds
-    {
-	EMnrpCommandFullScreen = 100,
-	EMnrpCommandSelect
-    };
-
-enum TMnrpViewIds
-    {
-    EMnrpAppViewId = 1,
-    EMnrpMapViewId,
-    EMnrpNavigationViewId
-    };
-
-#endif // __MNRP_HRH__
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpappcontrol.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpAppControl class definition 
-*
-*/
-
-
-#ifndef MNRP_APPCONTROL_H
-#define MNRP_APPCONTROL_H
-
-#include <coecntrl.h>
-class CMnrpAppView;
-
-/** Empty view for the case when application is started
- *	from menu */
-class CMnrpAppControl : public CCoeControl
-    {
-    public:
-
-        static CMnrpAppControl* NewL( CMnrpAppView& aView, const TRect& aRect );
-
-        virtual ~CMnrpAppControl();
-
-    public:  // From CCoeControl
-
-        TInt CountComponentControls() const;
-        CCoeControl* ComponentControl( TInt aIndex ) const;
-        void HandleResourceChange( TInt aType );
-
-        void Draw( const TRect& aRect ) const;
-        
-    private:
-
-        void ConstructL( const TRect& aRect );
-        CMnrpAppControl( CMnrpAppView& aView );
-        
-    private:
-        CMnrpAppView&   iView;
-    };
-
-#endif // MNRP_APPCONTROL_H
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpapplication.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpApplication class definition 
-*
-*/
-
-
-#ifndef MNRP_APPLICATION_H
-#define MNRP_APPLICATION_H
-
-#include <eikapp.h>
-
-/**
- *  An instance of CMnrpApplication is the application part of the Eikon
- *  application framework for the MnRefProvider.
- *	MnRefProvider is an Application Server, which implements MapView and Navigation
- *	services of M&N FW.
- */
-class CMnrpApplication : public CEikApplication
-    {
-    public:  // from CEikApplication
-
-        /** 
-        * AppDllUid returns the application DLL UID value.
-        *
-        *  @return the UID of this Application/Dll
-        */
-        TUid AppDllUid() const;
-
-    protected: // from CEikApplication
-
-        /** 
-        * CreateDocumentL creates a CApaDocument object and return a pointer to it
-        *
-        * @return a pointer to the created document
-        */
-        CApaDocument* CreateDocumentL();
-        
-        void NewAppServerL(CApaAppServer *&aAppServer);
-
-    };
-
-#endif // MNRP_APPLICATION_H
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpapplicationback.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpApplicationBack class definition
-*
-*/
-
-
-#ifndef MNRP_APPLICATIONBACK_H
-#define MNRP_APPLICATIONBACK_H
-
-#include <eikapp.h>
-
-/**
- *  An instance of CMnrpApplicationBack is the application part of the Eikon
- *  application framework for the MnRefGeocoder.
- *	MnRefGeocoder is a hidden application and works only as geocoder server.
- *	It accepts geocoding requests from M&N FW, serves them and exits, when 
- *	all clients are disconnected.
- */
-class CMnrpApplicationBack : public CEikApplication
-    {
-    public:  // from CEikApplication
-
-        /** 
-        * AppDllUid returns the application DLL UID value.
-        *
-        *  @return the UID of this Application/Dll
-        */
-        TUid AppDllUid() const;
-
-    protected: // from CEikApplication
-
-        /** 
-        * CreateDocumentL creates a CApaDocument object and return a pointer to it
-        *
-        * @return a pointer to the created document
-        */
-        CApaDocument* CreateDocumentL();
-        
-        void NewAppServerL(CApaAppServer *&aAppServer);
-
-    };
-
-#endif // MNRP_APPLICATIONBACK_H
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpappserver.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpAppServer class definition
-*
-*/
-
-
-#ifndef MNRP_APPSERVER_H
-#define MNRP_APPSERVER_H
-
-#include <aknserverapp.h>
-
-class CMnrpAppUi;
-class CMnrpNavigationService;
-class CMnrpMapViewService;
-
-/** Application Server class of MnRefProvider component */
-class CMnrpAppServer : public CAknAppServer
-    {
-    public:
-        ~CMnrpAppServer();
-        
-        CMnrpAppUi* AppUi();
-
-    public: // from CAknAppServer
-    	/** Creates new service class and returns pointer to it */
-        IMPORT_C CApaAppServiceBase* CreateServiceL(TUid aServiceType) const;
-        
-        /** Overrides base function. Doesn't close application evenb if all
-         *	clients have disconnected until user closes it herself. 
-         *	It is important for standalone execution, when calling application
-         *	may be closed, but user still wants to continue with Map or Navigation.
-         */
-        IMPORT_C void HandleAllClientsClosed();
-        
-    protected:        
-    	/** Creates new navigation service class and returns pointer to it */
-        CMnrpNavigationService* CreateNavigationServiceL() const;
-    	/** Creates new map view service class and returns pointer to it */
-        CMnrpMapViewService* CreateMapViewServiceL() const;
-    };
-
-#endif // MNRP_APPSERVER_H
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpappserverback.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpAppServerBack class definition
-*
-*/
-
-
-#ifndef MNRP_APPSERVERBACK_H
-#define MNRP_APPSERVERBACK_H
-
-#include <aknserverapp.h>
-
-class CMnrpGeocodingService;
-class CMnrpEngine;
-
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-class CMnrpMapImageService;
-#endif
-
-/** Application Server class of MnRefGeocoder component
- *	It ows Engine instance.
- */
-class CMnrpAppServerBack : public CAknAppServer
-    {
-    public:
-        static CMnrpAppServerBack* NewL();
-        ~CMnrpAppServerBack();
-
-    public: // from CAknAppServer
-    	/** Creates new geocoding service class and returns pointer to it */
-        IMPORT_C CApaAppServiceBase* CreateServiceL( TUid aServiceType ) const;
-
-    protected:
-        void ConstructL();
-
-    	/** Creates new geocoding service class and returns pointer to it */
-        CMnrpGeocodingService* CreateGeocodingServiceL() const;
-
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-    	/** Creates new map image service class and returns pointer to it */
-        CMnrpMapImageService* CreateMapImageServiceL() const;
-#endif
-
-    private:
-        CMnrpEngine* iEngine;
-    };
-
-#endif // MNRP_APPSERVERBACK_H
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpappui.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpAppUi class definition
-*
-*/
-
-
-#ifndef MNRP_APPUI_H
-#define MNRP_APPUI_H
-
-#include <aknviewappui.h>
-#include <epos_landmarks.h>
-
-class TCoordinate;
-class CPosLandmark;
-
-class CMnrpAppView;
-class CMnrpNaviView;
-class CMnrpMapView;
-
-class CMnrpMapViewService;
-
-class CAknNavigationDecorator;
-class CAknNavigationControlContainer;
-
-class CMnrpEngine;
-
-/** Map selection callback class */
-class MMapSelectionCallback
-    {
-    public:
-        /** Called when user selects location from map */
-        virtual void HandleSelectionL( const TCoordinate& aSelection ) = 0;
-
-        /** Called when user selects landmark from dialog list */
-        virtual void HandleSelectionL( TInt aLandmarkIndex ) = 0;
-        virtual void HandleSelectionL( TPosLmItemId aLandmarkId, TInt aDbIndex ) = 0;
-        
-        /** Called when user refuses selection */
-        virtual void HandleSelectionErrorL( TInt aError ) = 0;
-    };
-
-/** Simple App UI for MnRefProvider component.
- *	It manages application views.
- */
-class CMnrpAppUi : public CAknViewAppUi
-    {
-    public:
-
-        CMnrpAppUi( CMnrpEngine& aEngine );
-        void ConstructL();
-        ~CMnrpAppUi();
-
-        void ShowMapL( CMnrpMapViewService& aService );
-
-        void StartSelectionL( 
-            CMnrpMapViewService& aService,  
-            MMapSelectionCallback& aCallback );
-
-        void StopSelection();
-
-        void ShowNavigationL( const CPosLandmark& aDestination );
-
-		/** Returns ETrue if Map or Navigaton view is still open */
-        TBool IsAnyUserViewActive();
-        
-		/** Returns ETrue if application was started embedded */
-        TBool IsChainedMode();
-
-        void SetNaviPaneTitleL( const TDesC& aPaneTitle );
-        void SetRightSoftkeyCommandL( TInt aCommand, const TDesC& aButtonTitle );
-        
-    protected: // from CAknAppUi
-    
-        void HandleCommandL(TInt aCommand);
-        void HandleResourceChangeL( TInt aType );
-        TBool ProcessCommandParametersL( CApaCommandLine &aCommandLine );
-
-    private:
-
-        void PostConstructL();
-
-        void SelectFromDialogL(
-            CMnrpMapViewService& aService,
-            MMapSelectionCallback& aCallback );
-
-    private:
-    	/** Empty view */
-        CMnrpAppView* iAppView;
-
-		/** Navigation view */
-        CMnrpNaviView* iNaviView;
-		/** Map view */
-        CMnrpMapView* iMapView;
-
-        //Own:
-        CAknNavigationDecorator* iNaviPaneLabel;
-
-        //Ref:
-        CAknNavigationControlContainer* iNaviPane;
-        
-        TInt iParentWg;
-
-        /** Reference to engine */
-        CMnrpEngine& iEngine;
-    };
-
-#endif // MNRP_APPUI_H
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpappuiback.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   class definition
-*
-*/
-
-
-#ifndef MNRP_APPUIBACK_H
-#define MNRP_APPUIBACK_H
-
-#include <aknviewappui.h>
-
-/** Simple App UI class of the MnRefGeocoder component */
-class CMnrpAppUiBack : public CAknAppUi
-    {
-    public:
-        void ConstructL();
-
-        /**  Moves application to foreground */
-        void MoveForeground();
-        
-        /**  Moves application to background */
-        void MoveBackground();
-
-    public: // from CEikAppUi
-
-        void HandleCommandL(TInt aCommand);
-    };
-
-#endif // MNRP_APPUIBACK_H
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpappview.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpAppView class definition 
-*
-*/
-
-
-#ifndef MNRP_APPVIEW_H
-#define MNRP_APPVIEW_H
-
-#include <aknview.h>
-
-class CMnrpAppControl;
-
-/** Empty view for the case when application is started
- *	from menu*/
-class CMnrpAppView : public CAknView
-    {
-    public:
-
-        static CMnrpAppView* NewL();
-        virtual ~CMnrpAppView();
-
-    public: // from CAknView
-
-        TUid Id() const;
-
-        void DoActivateL(
-            const TVwsViewId& aPrevViewId,
-            TUid aCustomMessageId,
-            const TDesC8& aCustomMessage);
-
-        void DoDeactivate();
-
-    private:
-
-        CMnrpAppView();
-        void ConstructL();
-        
-    private:
-    
-    	/** UI control */
-        CMnrpAppControl* iControl;    
-
-    };
-
-#endif // MNRP_APPVIEW_H
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpcoordconverter.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpCoordConverter class definition
-*
-*/
-
-
-#ifndef MNRP_COORDINATECONVERTER_H
-#define MNRP_COORDINATECONVERTER_H
-
-#include <mncoordinateconverterbase.h>
-
-class CMnrpEngine;
-class CMnrpMapModel;
-
-class CMnrpCoordConverter : public CMnCoordinateConverterBase
-    {
-    public:
-        static CMnrpCoordConverter* NewL();
-
-        ~CMnrpCoordConverter();
-
-    protected: // From CMnCoordinateConverterBase
-
-        TInt GetImageCoordinate(
-            const TCoordinate& aWorldCoordinate,
-            TPoint& aImagePoint );
-
-        TInt GetWorldCoordinate(
-            const TPoint& aImagePoint,
-            TCoordinate& aWorldCoordinate );
-
-    protected:
-        CMnrpCoordConverter();
-
-    private:
-
-        CMnrpEngine*            iEngine;
-        CMnrpMapModel*          iModel;
-    };
-
-#endif /*MNTP_COORDINATECONVERTER_H*/
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpdocument.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpDocument class definition
-*
-*/
-
-
-#ifndef MNRP_DOCUMENT_H
-#define MNRP_DOCUMENT_H
-
-#include <akndoc.h>
-
-class CMnrpEngine;
-class CEikApplication;
-
-/** Document class of MnRefProvider component.
- *	It creates and owns Engine instance
- */
-class CMnrpDocument : public CAknDocument
-    {
-    public:
-
-        static CMnrpDocument* NewL( CEikApplication& aApp );
-        ~CMnrpDocument();
-
-		/** Returns reference to Engine instance */        
-        CMnrpEngine& Engine();
-
-    public: // from CAknDocument
-
-        CEikAppUi* CreateAppUiL();
-
-    private:
-
-        CMnrpDocument( CEikApplication& aApp );
-        void ConstructL();
-    
-    private:
-        CMnrpEngine* iEngine;        
-    };
-
-#endif // MNRP_DOCUMENT_H
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpdocumentback.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpDocumentBack class definition
-*
-*/
-
-
-#ifndef MNRP_DOCUMENTGEO_H
-#define MNRP_DOCUMENTGEO_H
-
-#include <akndoc.h>
-
-class CEikApplication;
-
-/** Document class of MnRefGeocoder component */
-class CMnrpDocumentBack : public CAknDocument
-    {
-    public:
-
-        static CMnrpDocumentBack* NewL( CEikApplication& aApp );
-
-    public: // from CAknDocument
-
-        CEikAppUi* CreateAppUiL();
-
-    private:
-
-        CMnrpDocumentBack( CEikApplication& aApp );
-    };
-
-#endif // MNRP_DOCUMENTGEO_H
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpengine.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpEngine class definition
-*
-*/
-
-
-#ifndef MNRP_ENGINE_H
-#define MNRP_ENGINE_H
-
-#include <e32base.h>
-#include <f32file.h>
-
-class CPosLandmark;
-class TCoordinate;
-class RResourceReader;
-
-/** Engine class used both by MnRefProvider and MnRefGeocoder 
- *	components. Provides access to POIs database ( resource file,
- *	some cities ) and geocoding services. 
- */
-class CMnrpEngine : public CBase
-    {
-    public:
-    
-        struct TDistanceToPoi
-            {
-            TInt iPoiIndex; // index to KnownPlaces
-            TReal32 iDistance; // distance to Poi of iPoiIndex
-            };
-    
-    public:
-        IMPORT_C static CMnrpEngine* NewL();
-        IMPORT_C ~CMnrpEngine();
-
-		/** Gives access to set of POIs */
-        IMPORT_C TArray<CPosLandmark*> KnownPlacesL();
-        
-        /** Returns coordinate of given address:
-		 *	Find a POI, which country or city matches given address
-		 *	and returns its coordinates.
-		 *	@param aAddress landmark, containing address
-		 *	@return landmark, containg coordinates
-		 *	@leave KErrNotFound if can't find POI matching given address
- 		 */
-        IMPORT_C CPosLandmark* AddressToCoordLC( const CPosLandmark& aAddress );
-
-        /** @overload
-         *  @return landmark, containg coordinates, or NULL
-         */
-        IMPORT_C CPosLandmark* AddressToCoordL( const CPosLandmark& aAddress );
-        
-        /** @overload
-		 *	@param aAddress string containing address
-		 *	@return landmark, containg coordinates
-		 *	@leave KErrNotFound if can't find POI matching given address
- 		 */
-        IMPORT_C CPosLandmark* AddressToCoordLC( const TDesC& aAddress );
-
-        /** @overload
-         *  @param aAddress string containing address
-         *  @return landmark, containg coordinates, or NULL
-         */
-        IMPORT_C CPosLandmark* AddressToCoordL( const TDesC& aAddress );
-
-        /** Returns address for given coordinate:
-		 *	Find a closest POI and return its city and country and
- 		 *	fill street with "%d[m,Km,tKm] from <city>" string, like "5 km to Tampere"
-		 *	@param aLocation coordinate
-		 *	@return landmark, containg address
-		 *	@leave KErrNotFound if can't find any POI
- 		 */
-        IMPORT_C CPosLandmark* CoordToAddressLC( const TCoordinate& aLocation );
-        
-        /** Finds a resource file in the system. 
-         *	It looks on all the drives for the file and folder given as parameter
-         *	@param[in] aFilePathAndName path and name of the file to search for. Drive
-         *							info is ignored
-         *	@param[out] aRscFile full name of found resource file
-         *	@leave KErrNotFound if file is not found.
-         */
-        IMPORT_C void FindResourceFileL( 
-            const TDesC& aFilePathAndName,
-            TFileName& aRscFile );
-
-        /** Returns reference to open file session, given at construction */
-        IMPORT_C RFs& Fs();
-
-        /** Calculates distance between two landmarks.
-         *  @param aFrom Source landmark
-         *  @param aTo Destination landmark
-         *  @return Distance, or NaN, if distance cannot be calculated
-         */
-        IMPORT_C TReal32 DistanceBetweenLandmarks( 
-            const CPosLandmark& aFrom, 
-            const CPosLandmark& aTo );
-
-        /** Finds POIs closest to given reference landmark. 
-         *  @param[in] aReference reference landmark
-         *  @param[out] aNeighbourPois List of closest POIs. 
-         *  @param[in] aMaxMatches Maximum number of results needed
-         */
-        IMPORT_C void FindClosestPoisL( 
-            const CPosLandmark& aReference,
-            RArray<CMnrpEngine::TDistanceToPoi>& aNeighbourPois,
-            TInt aMaxMatches );
-
-        /** Finds POIs closest to given location. 
-         *  @param[in] aReference reference location
-         *  @param[out] aNeighbourPois List of landmarks of closest POIs. 
-         *  @param[in] aMaxMatches Maximum number of results needed
-         */
-        IMPORT_C void BestCoordToAddressMatchesL( 
-            const TCoordinate& aLocation,
-            RPointerArray<CPosLandmark>& aMatches,
-            TInt aMaxMatches );
-
-    protected:
-
-        void ConstructL();
-        CMnrpEngine();
-
-		/** Loads POIs from database ( resource file ) */
-        void LoadKnownPlacesL();
-        /** Reads array of PLACES resource structures */
-        void ReadPlacesResourceL( RResourceReader& aReader );
-        
-        CPosLandmark* CreateCloseLandmarkLC( const CPosLandmark& aReference, TReal32 aDistance );
-
-    private:
-        RPointerArray<CPosLandmark> iPlaces;
-        RFs                         iFileSession;
-    };
-
-#endif // MNRP_ENGINE_H
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpgeocodingservice.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpGeocodingService class definition
-*
-*/
-
-
-#ifndef MNRP_GEOCODINGSERVICE_H
-#define MNRP_GEOCODINGSERVICE_H
-
-#include "mngeocodingservicebase.h"
-
-class CPosLandmark;
-class CMnrpEngine;
-
-/** Implementation of geocoding service (KMnAppGeocodingService). 
- *	It uses CIdle to simulate asynchronous processing. All the geocoding
- *	job is done using the CMnrpEngine class.
- */
-class CMnrpGeocodingService : public CMnGeocodingServiceBase
-    {
-    public :
-        static CMnrpGeocodingService* NewL( CMnrpEngine& aEngine );
-        
-    protected :
-        CMnrpGeocodingService( CMnrpEngine& aEngine );
-        virtual ~CMnrpGeocodingService();
-
-        void ConstructL();
-
-		/** Prevents parallel asynchronous requests */
-        void LeaveIfBusyL();
-        /** Starts processing of new request by starting CIdle.*/
-        void StartProcessingL();
-        /** Callback for CIdle. Parameter is the pointer to this. */
-        static TInt GeocodingProcessingCallBack( TAny* aPtr );
-        /** Non-leaving part of geocoding. Calls FinishProcessingL and if
-         *	it leaves, completes client's request with error.*/
-        void HandleGeocodingCompleted();
-        /** Does the geocoding and completes user's request.*/
-        void FinishProcessingL();
-
-        /** Asks user to select one of best Coord to Addr matches */
-        CPosLandmark* LetUserSelectBestMatchL( const CPosLandmark& aReference );
-
-    protected: // from CMnGeocodingServiceBase
-    
-        /** Handles client's request for finding address by given coordinate. */
-        void HandleFindAddressByCoordinateL( const CPosLandmark& aLandmark );
-        
-        /** Handles client's request for finding coordinate by given address. */
-        void HandleFindCoordinateByAddressL( const CPosLandmark& aLandmark );
-
-        /** Handles client's request for finding coordinate by given address. */
-        void HandleFindCoordinateByAddressL( const TDesC& aAddress );
-        
-    protected: // from CMnServiceBase
-
-        /** Reports that client cancelled request */
-        void DoCancel();
-
-    private:
-        CMnrpEngine&            iEngine;
-    
-        enum TServiceType
-            {
-            ENone,
-            ECoordToAddr,
-            EAddrToCoord,
-            EPlainToCoord
-            };
-        
-        /** Type of last received request to make correct request to Engine */    
-        TServiceType            iCurrentService;
-    
-    	/** Keeps client's data */
-        CPosLandmark*           iLandmark;
-    	/** Keeps client's data */
-        HBufC*                  iPlainAddress;
-
-        /** Keeps client's option */
-        TBool                   iDialogAllowed;
-
-		/** Asynchronous geocoding processor */        
-        CIdle*                  iProcessor;
-        
-    };
-
-#endif // MNRP_GEOCODINGSERVICE_H
-
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpmapcontrol.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpMapControl class definition
-*
-*/
-
-
-#ifndef MNRP_MAPCONTROL_H
-#define MNRP_MAPCONTROL_H
-
-#include <coecntrl.h>
-#include "mnrpmapmodel.h"
-
-class CMnrpEngine;
-class CMnrpMapView;
-
-/** Map view. Draws map on screen using information from 
- 	CMnrpMapModel.
- */
-class CMnrpMapControl : public CCoeControl, public MMapModelObserver
-    {
-    public: 
-
-        static CMnrpMapControl* NewL( CMnrpMapView& aView, const TRect& aRect, CMnrpEngine& aEngine );
-        virtual ~CMnrpMapControl();
-        
-        void UpdateModelL( CMnrpMapViewService& aService );
-        void SetSelectionModeL( TBool aSelectionMode );
-        
-        /** Returns current cursor location in selection mode */
-        TCoordinate CurrentLocation();
-
-        void ToggleFullScreen();
-
-    public:  // from CCoeControl
-
-        void Draw( const TRect& aRect ) const;
-        TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
-        void SizeChanged();
-        void HandleResourceChange( TInt aType );
-
-    public:  // from MMapModelObserver
-
-		/** Redraws itself when model is updated */
-        void HandleModelUpdateL();
-
-    private:
-
-        CMnrpMapControl( CMnrpMapView& aView );
-        void ConstructL( const TRect& aRect, CMnrpEngine& aEngine );
-        
-        void DrawCursor( CWindowGc& aGc ) const;
-
-		/** Draws text around map
-		 *	Top area - left longitude, cell size, right longitude
-		 *	Left area - top latitude, bottom latitude
-		 *	Bottom area - center coordinates
-		 */
-        void DrawGridText( 
-            CWindowGc& aGc, 
-            const TRect& aInnerBox,
-            const TRect& aOuterBox,
-            const CFont* aFont,
-            CMnrpMapModel::TGrid& aGrid ) const;
-
-        /** Helper to find out border size based on font dimensions */
-        TSize BorderSize() const;
-
-		/** Returns specifications of used font */
-        TFontSpec SmallFontSpec( TInt aFontHeightInTwips ) const;
-        
-        void MoveCursor( TInt aXmove, TInt aYmove );
-        TRect CursorMargin();
-
-        void Zoom( TReal aRate );
-
-        void SetFullScreen( TBool aFullScreen );
-
-		void CreateFonts();
-		void DestroyFonts();
-
-		void CreateScreenBufferL( const TSize& aSize );
-        void RenderL();
-
-    private:
-        /** Parent view */
-        CMnrpMapView& iView;
-        
-    	/** Model */
-        CMnrpMapModel* iModel;
-        TSize iViewSize;
-        
-        TBool iSelectionMode;
-        TPoint iCursor;
-        TCoordinate iAbsoluteCursor;
-
-        /** Whether fullscreen mode on or off*/
-        TBool iIsFullScreen;
-        
-        mutable CFbsBitmap* iOffScreenBitmap;
-        CFont* iTextFont;
-        CFont* iItemFont;
-    };
-
-#endif // MNRP_MAPVIEW_H
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpmapimageservice.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpMapImageService class
-*
-*/
-
-
-#ifndef MN_TPMAPIMAGESERVICE_H
-#define MN_TPMAPIMAGESERVICE_H
-
-#include "mnmapimageservicebase.h"
-
-class CPosLandmark;
-class CEikonEnv;
-class CFont;
-class CMnrpMapModel;
-
-/** Implementation of geocoding service (KMnAppMapImageService). 
- */
-class CMnrpMapImageService : public CMnMapImageServiceBase
-    {
-    public :
-        static CMnrpMapImageService* NewL( CMnrpEngine& aEngine );
-        
-        void HandleTestCommandL( TInt aCommand );
-
-    protected :
-        /** C++ constructor */
-        CMnrpMapImageService( CMnrpEngine& aEngine );
-        /** Destructor */
-        virtual ~CMnrpMapImageService();
-
-        void ConstructL();
-
-        void LeaveIfBusyL();
-        void LeaveIfInstructedL();
-        void StartProcessingL();
-        static TInt MapImageProcessingCallBack( TAny* aPtr );
-        void HandleMapImageCompletedL();
-        void FinishProcessingL();
-
-        TInt GetTestCommand();
-
-        void RenderL();
-
-    private:
-        void DumpDataL();
-        
-        void CreateFonts();
-        void DestroyFonts();
-
-    protected: // from CMnMapImageServiceBase
-    
-        /** Handles client's request for finding address by given coordinate. */
-        void HandleRenderingL();
-        
-    protected: // from CMnServiceBase
-
-        /** Reports that client cancelled request */
-        void DoCancel();
-
-    private:
-    
-        enum TServiceType
-            {
-            ENone,
-            ERender,
-            };
-            
-        TServiceType            iCurrentService;
-        CMnrpEngine&            iEngine;
-        CMnrpMapModel*          iModel;
-        CPeriodic*              iProcessor;
-        CEikonEnv*              iEikon;
-        CFont*                  iItemFont;
-        CFont*                  iTextFont;
-    };
-
-#endif // MN_TPMAPIMAGESERVICE_H
-
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpmapmodel.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,301 +0,0 @@
-/*
-* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpMapModel class definition
-*
-*/
-
-
-#ifndef MNRP_MAPMODEL_H
-#define MNRP_MAPMODEL_H
-
-#include <coecntrl.h>
-#include "mnrppositionrequest.h"
-#include "epos_landmarks.h"
-
-class CFbsBitmap;
-class CImageDecoder;
-
-class CPosLandmark;
-class CPosLandmarkDatabase;
-class CPosLmCategoryManager;
-
-class CMnrpMapViewService;
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-class CMnrpMapImageService;
-class TMnMapImageParams;
-#endif
-class CMnrpEngine;
-
-class MImageLoaderObserver;
-
-/** Point with real coordinates */
-class TRealPoint
-    {
-    public:
-        TRealPoint();
-        TRealPoint( TReal aX, TReal aY );
-        TRealPoint( TCoordinate aCoordinate );
-
-        TRealPoint operator+( const TRealPoint& aRight );
-        TRealPoint operator-( const TRealPoint& aRight );
-        TRealPoint operator*( const TReal& aRight );
-        TRealPoint operator/( const TReal& aRight );
-
-        void Set( TReal aX, TReal aY );
-        TCoordinate Coordinate();
-        TBool IsValid();
-
-        TReal iX; // matches longitude in this model
-        TReal iY; // matches latitude in this model
-    };
-
-/** Model observer class */
-class MMapModelObserver
-    {
-    public:
-        virtual void HandleModelUpdateL() =0;
-    };
-
-/** Data model for MapView.
- *  This implementation shows map as rectangle and does not support
- *  passing its borders. It displays POIs from Engine and client's
- *	landmarks, which define view area, if not specified by client.
- */
-class CMnrpMapModel : public CBase, public MMnrpPositionObserver
-    {
-    public:
-        IMPORT_C static CMnrpMapModel* NewL(
-            MMapModelObserver& aObserver,
-            CMnrpEngine& aEngine );
-
-        IMPORT_C static CMnrpMapModel* NewL(
-            CMnrpEngine& aEngine );
-
-        IMPORT_C ~CMnrpMapModel();
-
-		/** Service calls it when new ShowOnMap request comes
-		 *	from client */
-        IMPORT_C void UpdateModelL( CMnrpMapViewService& aService );
-
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-		/** Service calls it when new RenderImage request comes
-		 *	from client */
-        IMPORT_C void UpdateModelL( const CMnrpMapImageService& aService );
-
-		/** Plugin calls it when new CoordinateConversion request comes
-		 *	from client */
-        IMPORT_C void UpdateModel( const TMnMapImageParams& aParams );
-#endif
-		/** Defines dimensions of view used for map display.
-		 *	this information is used to convert absolute coordinates
-		 *	to screen coordinates. Absolute coordinates are plain
-		 *	latitude and longitude degrees.
-		 */
-        IMPORT_C void SetScreenSize( TSize aScreenSize );
-
-        IMPORT_C void RenderL(
-            CFbsBitmap& aBitmap,
-            TRect aTargetRect,
-            CFont* aTextFont,
-            CFont* aItemFont ) const;
-        
-        IMPORT_C TInt NumIgnoredLandmarks();
-
-		/** Draw item.
-		 *	It is a POI or client's landmark, holds coordinates
-		 *	and associated text and icon.
-		 */
-        class CDrawItem : public CBase
-            {
-            public:
-            	/** Constructs from landmark instance */
-                static CDrawItem* NewLC( const CPosLandmark& );
-            	/** Constructs from linked landmark. If landmark
-            	 *	does not have icon, it tries to get icon of its
-            	 *	category, if only single category is assigned.
-            	 */
-                static CDrawItem* NewLC(
-                    const CPosLandmark& aLm,
-                    CPosLmCategoryManager& aCatman );
-
-                ~CDrawItem();
-
-                const TDesC& Text() { return *iText; };
-                TPoint& Position() { return iScreenPosition; };
-                TRealPoint AbsolutePosition() { return iAbsolutePosition; };
-                CFbsBitmap* Bitmap() { return iBitmap; };
-                CFbsBitmap* Mask() { return iMask; };
-                TBool IsPoi() { return iOwnPoi; };
-                
-                void SetAbsolutePosition( const TLocality& aLocality );
-
-            private:
-                HBufC*      iText;
-               	/** Absolute coordinates - lat,lon */
-                TRealPoint  iAbsolutePosition;
-                /** Coordinates on screen (pixels) */
-                TPoint      iScreenPosition;
-                CFbsBitmap* iBitmap;
-                CFbsBitmap* iMask;
-                /** Whether it is client's landmark or internal POI */
-                TBool       iOwnPoi;
-
-            friend class CMnrpMapModel;
-            };
-		/** Returns all items, that can be shown on screen. Screen
-		 *	coordinates are updated according to current scale and viewport */
-        TArray<CDrawItem*> Items() const;
-
-		/** Describes grid to show */
-        class TGrid
-            {
-            public:
-            	/** Reference grid point (screen) */
-                TPoint iReference;
-                /** Distance between grid lines (screen)*/
-                TInt iGridStep;
-
-            	/** Coordinate of reference grid point (absolute) */
-                TCoordinate iAbsoluteReference;
-                /** Distance between grid lines (absolute) */
-                TReal iAbsoluteGridStep;
-            };
-
-        /** Returns grid for current viewport and scale */
-        void GetGrid( TGrid& aGrid ) const;
-
-        /** Information about current location */
-        class TCurrentLocation
-            {
-            public:
-            	/** Screen coordinates */
-                TPoint  iLocation;
-            	/** Error radius in screen units - pixels */
-                TInt    iErrorRadius;
-
-                /** Absolute coordinates */
-                TCoordinate iAbsoluteLocation;
-            	/** Error radius in degrees */
-                TReal       iAbsoluteErrorDegrees;
-
-                TBool       iIsValid;
-            };
-
-        /** Returns current location */
-        IMPORT_C TCurrentLocation CurrentLocation() const;
-
-		// Zooming
-        IMPORT_C void Zoom( TReal aZoomRate );
-
-		// View movement
-        IMPORT_C void MoveTo( TCoordinate aTarget );
-
-        // Reset-kind of action, moves to world center
-        IMPORT_C void GoCenter();
-
-		/** Converts absolute units to screen */
-        IMPORT_C TPoint AbsoluteToScreen( TCoordinate aAbsolutePoint ) const;
-        IMPORT_C TInt AbsoluteToScreen( TReal aDistance ) const;
-
-		/** Converts screen coords to absolute */
-        IMPORT_C TCoordinate ScreenToAbsolute( TPoint aScreenPoint ) const;
-        IMPORT_C TReal ScreenToAbsolute( TInt aDistance ) const;
-
-		// Viewport in absolute units - degrees
-        IMPORT_C TReal Left() const;
-        IMPORT_C TReal Top() const;
-        IMPORT_C TReal Right() const;
-        IMPORT_C TReal Bottom() const;
-        IMPORT_C TReal Width() const;
-        IMPORT_C TReal Height() const;
-        IMPORT_C TCoordinate Center() const;
-
-    protected:
-		/** Converts absolute coords to screen */
-        TPoint AbsoluteToScreen( TRealPoint aAbsolutePoint ) const;
-
-    protected:  // from MMnrpPositionObserver
-
-		/** Forces map view update when new position comes */
-        void HandlePositionRequestCompletedL( TInt aError );
-
-    private:
-
-        void ConstructL();
-        CMnrpMapModel( MMapModelObserver& aObserver, CMnrpEngine& aEngine );
-        CMnrpMapModel( CMnrpEngine& aEngine );
-
-        void AddCitiesL();
-
-		/** Includes given draw item into bounding box */
-        void AdjustBoundingBox( CDrawItem& aItem, TRealPoint& aMin, TRealPoint& aMax );
-        
-        /** Verifies if draw item has position. If not, tries geocoding.
-         *  Updates the item if position is found from geocoding.
-         *  @return ETrue if position is found (possibly from geocoding), EFalse otherwise */
-        TBool CheckDrawItemHasPositionL( CDrawItem& aItem, const CPosLandmark& aLandmark );
-
-		/** Adjusts viewport if movement or zooming goes beyond the borders */
-        void CheckBorders();
-
-        TReal MaxScale() const;
-        TRect CursorMargin();
-
-		// Grid drawing
-        void DrawGrid(
-            CFbsBitGc& aGc,
-            const TSize& aBoxSize,
-            CMnrpMapModel::TGrid& aGrid ) const;
-
-        void DrawVerticalLine( CFbsBitGc& aGc, TInt aX, TSize aBoxSize ) const;
-        void DrawHorizontalLine( CFbsBitGc& aGc, TInt aY, TSize aBoxSize ) const;
-
-		/** Draws drawable items */
-        void DrawLandmarks(
-            CFbsBitGc& aGc,
-            CFont& aFont,
-            const TSize& aBoxSize,
-            TBool aSwitchColorAndShadow ) const;
-
-		/** Draws current location */
-        void DrawCurrentLocation(
-            CFbsBitGc& aGc,
-            const TSize& aBoxSize ) const;
-
-    private:
-        CMnrpPositionRequest*           iPositionRequest;
-        TPositionInfo                   iPosInfo;
-
-        TSize                           iScreenSize;
-        TRealPoint                      iViewOrigin;
-
-        TReal                           iScale; // 1 == 1 degree per pixel
-
-        MMapModelObserver*              iObserver;
-
-        mutable RPointerArray<CDrawItem> iDrawItems;
-
-        CMnrpEngine&            		iEngine;
-
-        TBool                           iUseCurrentLocationAsOrigin;
-        TBool                           iShowCurrentLocation;
-
-        CFont*                          iTextFont;
-        CFont*                          iItemFont;
-        
-        TInt 							iNumIgnoredLandmarks; 
-    };
-
-#endif // MNRP_MAPMODEL_H
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpmapview.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpMapView class definition
-*
-*/
-
-
-#ifndef MNRP_MAPVIEW_H
-#define MNRP_MAPVIEW_H
-
-#include <aknview.h>
-
-class CMnrpEngine;
-class CMnrpMapModel;
-class CMnrpMapControl;
-
-class CMnrpMapViewService;
-class MMapSelectionCallback;
-
-/** Map view. Draws map on screen using information from 
- 	CMnrpMapModel.
- */
-class CMnrpMapView : public CAknView
-    {
-    public: 
-
-        static CMnrpMapView* NewL( TBool aChained, CMnrpEngine& aEngine );
-        virtual ~CMnrpMapView();
-        
-        /** Shows map view in browser mode 
-         *  @param aService Object to get map view options from
-         */
-        void SetMapModeL( CMnrpMapViewService& aService );
-
-        /** Shows map view in selection mode 
-         *  @param aService Object to get map view options from
-         *  @param aCallback Object to inform about selection
-         */
-        void SetSelectionModeL( 
-            CMnrpMapViewService& aService,  
-            MMapSelectionCallback& aCallback );
-
-        void HandleUserSelectionL( TInt aError );
-
-        void StopSelection();
-		
-    public: // from CAknView
-
-        TUid Id() const;
-
-        void HandleCommandL( TInt aCommand );
-
-        void DoActivateL(
-            const TVwsViewId& aPrevViewId,
-            TUid aCustomMessageId,
-            const TDesC8& aCustomMessage);
-
-        void DoDeactivate();
-        
-        void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane *aMenuPane );
-
-    private:
-
-        CMnrpMapView( CMnrpEngine& aEngine );
-        void ConstructL( TBool aChained );
-        
-    private:
-        /** Application engine */
-        CMnrpEngine& iEngine;
-    	
-    	/** UI control */
-        CMnrpMapControl* iControl;    
-
-        /** Map view data */
-        CMnrpMapViewService* iMapViewService;
-
-        /** Selection callback listener */        
-        MMapSelectionCallback* iSelectionCallback;
-        
-        TBool iChained;
-    };
-
-#endif // MNRP_MAPVIEW_H
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpmapviewservice.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpMapViewService class definition
-*
-*/
-
-
-#ifndef MNRP_MAPVIEWSERVICE_H
-#define MNRP_MAPVIEWSERVICE_H
-
-#include <mnmapviewservicebase.h>
-
-#include "mnrpappui.h"
-
-class CPosLandmark;
-
-/** Implementation of MapView service (KMnAppMapViewService). 
- */
-class CMnrpMapViewService : public CMnMapViewServiceBase, public MMapSelectionCallback
-    {
-    public :
-        static CMnrpMapViewService* NewL();
-        
-    protected :
-        CMnrpMapViewService();
-        virtual ~CMnrpMapViewService();
-        void ConstructL();
-
-        CMnrpAppUi* AppUi();
-
-    protected: // from CMnMapViewServiceBase
-    
-        /** Handles client's request for showing map */
-        void HandleShowMapL();
-
-        /** Handles client's request for showing map from current location */
-        void HandleShowCurrentLocationL();
-
-        /** Handles client's request for selecting a location from map */
-        void HandleSelectFromMapL();
-
-    protected: // from CMnServiceBase
-
-        /** Reports that client cancelled request */
-        void DoCancel();
-
-        void CompleteSelectionL( const TCoordinate& aSelection );
-
-    protected: // from MMapSelectionCallback
-            
-        void HandleSelectionL( const TCoordinate& aSelection );
-
-        void HandleSelectionL( TInt aLandmarkIndex );
-        void HandleSelectionL( TPosLmItemId aLandmarkId, TInt aDbIndex );
-
-        void HandleSelectionErrorL( TInt aError );
-
-    private:
-        void StopSelection();
-
-    private:
-
-        /** Flag shows that selection is ongoing */
-        TBool                   iSelecting;
-    };
-
-#endif // MNRP_MAPVIEWSERVICE_H
-
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpnavicontrol.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpNaviControl class definition
-*
-*/
-
-
-#ifndef MNRP_NAVICONTROL_H
-#define MNRP_NAVICONTROL_H
-
-#include <coecntrl.h>
-#include "mnrpnavimodel.h"
-
-class CAknSingleHeadingStyleListBox;
-class CMnrpNaviView;
-
-/** Navigation view.
- *	Shows list box with navigation information items: 
- *	destination name and coordinates, current position coordinates
- *	distance and bearing to destination.
- */	
-class CMnrpNaviControl : public CCoeControl, public MNaviModelObserver
-    {
-    public:
-
-        static CMnrpNaviControl* NewL( CMnrpNaviView& aView, const TRect& aRect, CMnrpEngine& aEngine );
-        virtual ~CMnrpNaviControl();
-
-        void UpdateModelL( CPosLandmark& aDestination );
-        
-    protected:    
-    	/** Creates list box */
-        void CreateListBoxL();
-
-    public: // from MNaviModelObserver
-        void HandleModelUpdateL();
-
-    protected:  // from CCoeControl
-        TInt CountComponentControls() const;
-        CCoeControl* ComponentControl( TInt aIndex ) const;
-        TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
-        void SizeChanged();
-        void HandleResourceChange( TInt aType );
-
-    private:
-
-        void ConstructL( const TRect& aRect, CMnrpEngine& aEngine );
-        CMnrpNaviControl( CMnrpNaviView& aView );
-    
-    private:
-        CMnrpNaviView&                  iView;
-    
-        CAknSingleHeadingStyleListBox*  iListBox;
-        CMnrpNaviModel*         		iModel;
-    };
-
-#endif // MNRP_NAVICONTROL_H
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpnavigationservice.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpNavigationService class definition
-*
-*/
-
-
-#ifndef MNRP_NAVIGATIONSERVICE_H
-#define MNRP_NAVIGATIONSERVICE_H
-
-#include "mnnavigationservicebase.h"
-
-class CPosLandmark;
-
-/** Implementation of Navigation service (KMnAppNavigationService). 
- */
-class CMnrpNavigationService : public CMnNavigationServiceBase
-    {
-    public :
-        static CMnrpNavigationService* NewL();
-        
-    protected :
-        CMnrpNavigationService();
-        virtual ~CMnrpNavigationService();
-        void ConstructL();
-
-    public: // from CMnNavigationServiceBase
-    
-        /** Handles client's request for navigation. */
-        void HandleNavigateToL( const CPosLandmark& aDestination );
-    
-    protected: // from CMnServiceBase
-
-        /** Empty implementation, as the only request is sychcronous */
-        void DoCancel();
-    };
-
-#endif // MNRP_NAVIGATIONSERVICE_H
-
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpnavimodel.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpNaviModel class definition
-*
-*/
-
-
-#ifndef MNRP_NAVIMODEL_H
-#define MNRP_NAVIMODEL_H
-
-#include <coecntrl.h>
-#include "mnrppositionrequest.h"
-
-class CMnrpEngine;
-class CPosLandmark;
-
-/** Model observer class */
-class MNaviModelObserver
-    {
-    public:
-        virtual void HandleModelUpdateL() =0;
-    };
-
-/** Navigation view model. 
- *	Prepares data to be shown on navigation view
- */
-class CMnrpNaviModel : public CBase, public MMnrpPositionObserver
-    {
-    public:
-        static CMnrpNaviModel* NewL( MNaviModelObserver& aObserver, CMnrpEngine& aEngine );
-
-		/** Called by service class to inform that client has changed 
-		 *	navigation target */
-        void SetDestinationL( const CPosLandmark& aNewDestination );
-
-		/** List item information */
-        class CListItem : public CBase
-            {
-            public:
-                static CListItem* NewL( 
-                	const TDesC& aItemHeader, 
-                	const TDesC& aItemValue );
-            
-                ~CListItem();
-                
-                const TDesC& Header() { return *iHeader; };
-                const TDesC& Value() { return *iValue; };
-                
-            private:
-            	/** List item header */
-                HBufC* iHeader;
-            	/** List item text */
-                HBufC* iValue;                
-            };
-
-		/** Returns list items to be shown on Navigation view */
-        TArray<CListItem*> ListItemsL();
-
-        ~CMnrpNaviModel();
-        
-    public:  // from MMnrpPositionObserver
-
-		/** Informs navigation view that data has been changed */
-        void HandlePositionRequestCompletedL( TInt aError );
-        
-    private: 
-
-        void ConstructL();
-        CMnrpNaviModel( MNaviModelObserver& aObserver, CMnrpEngine& aEngine );
-    
-    private:
-        CMnrpEngine&                    iEngine;
-    
-        CMnrpPositionRequest*   		iPositionRequest;
-        TPositionInfo                   iPosInfo;
-
-        CPosLandmark*                   iDestination;
-        
-        MNaviModelObserver&             iObserver;
-        
-        RPointerArray<CListItem>        iListItems;
-    };
-
-#endif // MNRP_NAVIMODEL_H
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrpnaviview.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpNaviView class definition
-*
-*/
-
-
-#ifndef MNRP_NAVIVIEW_H
-#define MNRP_NAVIVIEW_H
-
-#include <aknview.h>
-
-class CMnrpEngine;
-class CMnrpNaviModel;
-class CMnrpNaviControl;
-class CPosLandmark;
-
-/** Map view. Draws map on screen using information from 
- 	CMnrpMapModel.
- */
-class CMnrpNaviView : public CAknView
-    {
-    public: 
-
-        static CMnrpNaviView* NewL( TBool aChained, CMnrpEngine& aEngine );
-        virtual ~CMnrpNaviView();
-        
-        /** Shows map view in browser mode 
-         *  @param aService Object to get map view options from
-         */
-        void SetDestinationL( const CPosLandmark& aDestination );
-        
-    public: // from CAknView
-
-        TUid Id() const;
-
-        void HandleCommandL( TInt aCommand );
-
-        void DoActivateL(
-            const TVwsViewId& aPrevViewId,
-            TUid aCustomMessageId,
-            const TDesC8& aCustomMessage);
-
-        void DoDeactivate();
-
-    private:
-
-        CMnrpNaviView( CMnrpEngine& aEngine );
-        void ConstructL( TBool aChained );
-        
-    private:
-        /** Application engine */
-        CMnrpEngine& iEngine;
-    	
-    	/** UI control */
-        CMnrpNaviControl* iControl;    
-        
-        /** Destination */
-        CPosLandmark* iDestination;
-    };
-
-#endif // MNRP_NAVIVIEW_H
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrppositionrequest.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,141 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpPositionRequest class definition
-*
-*/
-
-
-#ifndef MNRP_POSITION_REQUEST_H_
-#define MNRP_POSITION_REQUEST_H_
-
-#include <e32base.h>
-#include <lbs.h>
-
-class TPositionUpdateOptions;
-
-/** Position observer */
-class MMnrpPositionObserver
-    {
-    public:
-        virtual void HandlePositionRequestCompletedL( TInt aError ) =0;
-    };
-
-/** Provides an interface for retrieving the current location.
- */
-class CMnrpPositionRequest: public CActive
-    {
-    public: 
-
-        /** Creates new instance of request
-        * @param aAppName the name of this application
-        * @param aObserver observer to callback when locations are retrieved
-        */
-        IMPORT_C static CMnrpPositionRequest* NewL(
-            const TDesC& aRequestorName,
-            MMnrpPositionObserver& aObserver);
-
-        IMPORT_C ~CMnrpPositionRequest();
-
-    public: 
-
-        /**
-         * Starts the fetching of a location. In the first place the default 
-         * proxy is used for retrieving a location. If fetching default location
-         * fails the last known location is fetched. If fetching last known 
-         * location fails, an error code is returned to the observer.
-         *
-         * @param aLastKnownLocationAllowed whether last know location is allowed
-         */
-        IMPORT_C void FetchNewPosition( TBool aLastKnownLocationAllowed = EFalse );
-
- 		/** Returns current location */
-        IMPORT_C void GetPosition( TPositionInfo& aPosition );
-
- 		/** Returns current speed info */
-        IMPORT_C TReal32 Speed();
-
- 		/** Returns current heading info */
-        IMPORT_C TReal32 Heading();
-
- 		/** Returns current magnetic heading info */
-        IMPORT_C TReal32 MagneticHeading();
-
- 		/** Returns current course info */
-        IMPORT_C TReal32 Course();
-
- 		/** Returns current magnetic course info */
-        IMPORT_C TReal32 MagneticCourse();
-
-		/** Modifies options for the next request */
-        IMPORT_C void SetOptionsL( const TPositionUpdateOptionsBase& aOptions );
-
-    protected: // from CActive
-
-        void DoCancel();
-        void RunL();
-        TInt RunError(TInt aError);
-
-    private:
-
-        CMnrpPositionRequest( MMnrpPositionObserver& aObserver );
-        void ConstructL( const TDesC& aAppName );
-
-        /** Issues new request for location retrieval. */
-        void ExecuteNextStep();
-
-        void InitContainer( HPositionGenericInfo& aGenericInfo );
-        void SaveContainer( const HPositionGenericInfo& aGenericInfo );
-
-    private:
-
-        /**
-        * TState defines the different states this object may enter.
-        */
-        enum TState 
-            {
-            EIdle,
-            EAcquiringDefaultLocation,
-            EAcquiringLastKnownLocation
-            };
-
-    private: 
-
-        //! Contains the location
-        HPositionGenericInfo* iGenericPosition;
-        
-        //! Local storage for last location info
-        TPositionInfo iPositionInfo;
-        TReal32 iSpeed;
-        TReal32 iHeading;
-        TReal32 iMagneticHeading;
-        TReal32 iCourse;
-        TReal32 iMagneticCourse;
-
-        //! The observer to callback when location retieval is ready
-        MMnrpPositionObserver& iObserver;
-
-        //! Reference to the Location Server session
-        RPositionServer iLocationServer;
-
-        //! Reference to the Location Server subsession
-        RPositioner iPositioner;
-        
-        TBool iLastKnownLocationAllowed;
-
-        //! The current state this object has entered
-        TState iState;
-    };
-
-#endif // MNRP_POSITION_REQUEST_H_
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/inc/mnrputils.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-/*
-* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  MnrpUtils class definition
-*
-*/
-
-
-#ifndef MNRP_UTILS_H
-#define MNRP_UTILS_H
-
-const TInt KMaxCoordStrSize = 15;
-
-class MnrpUtils
-    {
-    public:
-    
-        /** Converts given coordinate into a string 
-         *  \param aCoord coordinate
-         *  \param aStr target string of KMaxCoordStrSize length (at least)
-         *  \param aFull if EFalse, will omit higher parts if they are 0,
-         *               if ETrue, outputs degrees, minutes, seconds and milliseconds
-         *  \param aMillis whether milliseconds should be included or not
-         */
-        IMPORT_C static void CoordinateToString( 
-            TReal aCoord, 
-            TDes& aStr, 
-            TBool aFull = EFalse,
-            TBool aMillis = EFalse );
-            
-        /** Converts given distance value to a string with units
-         *  \param aDistance distance in meters 
-         *  \param aStr target string
-         */
-        IMPORT_C static void DistanceToString( TReal aDistance, TDes& aStr );
-
-        /** Converts given angle value to a string
-         *  \param aAngle angle in degrees (angle form North Pole) 
-         *  \param aStr target string
-         */
-        IMPORT_C static void AngleToString( TReal aAngle, TDes& aStr );
-
-        /** Converts given speed value to a string with units
-         *  \param aSpeed speed in meters per second
-         *  \param aStr target string
-         */
-        IMPORT_C static void SpeedToString( TReal aSpeed, TDes& aStr );
-
-        /** Replaces unprintable characters in a string with spaces
-         *  \param aStr string to work with
-         *  \return pointer to new string buffer with ownership
-         */
-        IMPORT_C static HBufC* PrintableStringLC( const TDesC& aStr );
-    };
-
-#endif // MNRP_UTILS_H
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/sis/mnrefprovider_armv5.pkg	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-;
-; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "Eclipse Public License v1.0"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description: Installation file for MN ref provider
-;
-
-ÿþ;   I n s t a l l a t i o n   f i l e   f o r   M & N   R e f e r e n c e   P r o v i d e r   A p p 
- 
- 
- 
- ;   L a n g u a g e s 
- 
- & E N , R U 
- 
- 
- 
- ;   s t a n d a r d   S I S   f i l e   h e a d e r 
- 
- # { " M n R e f P r o v i d e r E N " , " M n R e f P r o v i d e r R U " } , ( 0 x 0 3 1 3 2 0 1 3 ) , 1 , 2 , 4 
- 
- 
- 
- ;   L o c a l i s e d   V e n d o r   n a m e 
- 
- % { " V e n d o r - E N " , " V e n d o r - R U " } 
- 
- 
- 
- ;   U n i q u e   V e n d o r   n a m e 
- 
- : " V e n d o r " 
- 
- 
- 
- ;   S u p p o r t s   S 6 0   v   3 . 0 
- 
- [ 0 x 1 0 1 F 7 9 6 1 ] ,   0 ,   0 ,   0 ,   { " S 6 0 P r o d u c t I D " , " S 6 0 P r o d u c t I D " } 
- 
- 
- 
- ;   F i l e s   t o   i n s t a l l 
- 
- " \ e p o c 3 2 \ r e l e a s e \ a r m v 5 \ u r e l \ m n r e f p r o v i d e r . e x e " - " ! : \ s y s \ b i n \ m n r e f p r o v i d e r . e x e " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r . r s c " - " ! : \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r . r s c " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r . m b m " - " ! : \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r . m b m " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r . m i f " - " ! : \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r . m i f " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ p r i v a t e \ 1 0 0 0 3 a 3 f \ a p p s \ m n r e f p r o v i d e r _ r e g . r s c " - " ! : \ p r i v a t e \ 1 0 0 0 3 a 3 f \ i m p o r t \ a p p s \ m n r e f p r o v i d e r _ r e g . r s c " 
- 
- 
- 
- " \ e p o c 3 2 \ r e l e a s e \ a r m v 5 \ u r e l \ m n r e f p r o v i d e r b a c k . e x e " - " ! : \ s y s \ b i n \ m n r e f p r o v i d e r b a c k . e x e " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r b a c k . r s c " - " ! : \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r b a c k . r s c " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ p r i v a t e \ 1 0 0 0 3 a 3 f \ a p p s \ m n r e f p r o v i d e r b a c k _ r e g . r s c " - " ! : \ p r i v a t e \ 1 0 0 0 3 a 3 f \ i m p o r t \ a p p s \ m n r e f p r o v i d e r b a c k _ r e g . r s c " 
- 
- 
- 
- " \ e p o c 3 2 \ r e l e a s e \ a r m v 5 \ u r e l \ m n r e f p r o v i d e r e n g i n e . d l l " - " ! : \ s y s \ b i n \ m n r e f p r o v i d e r e n g i n e . d l l " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ r e s o u r c e \ m n r e f p r o v i d e r e n g i n e . r s c " - " ! : \ r e s o u r c e \ m n r e f p r o v i d e r e n g i n e . r s c " 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
\ No newline at end of file
Binary file locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/sis/mnrefprovider_armv5.sis has changed
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/sis/mnrefprovider_bitmap_armv5.pkg	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-;
-; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "Eclipse Public License v1.0"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description: Installation file for MN ref provider ( includes map image service)
-;
-
-ÿþ;   I n s t a l l a t i o n   f i l e   f o r   M & N   R e f e r e n c e   P r o v i d e r   A p p 
- 
- 
- 
- ;   L a n g u a g e s 
- 
- & E N , R U 
- 
- 
- 
- ;   s t a n d a r d   S I S   f i l e   h e a d e r 
- 
- # { " M n R e f P r o v i d e r E N " , " M n R e f P r o v i d e r R U " } , ( 0 x 0 3 1 3 2 0 1 3 ) , 1 , 2 , 4 
- 
- 
- 
- ;   L o c a l i s e d   V e n d o r   n a m e 
- 
- % { " V e n d o r - E N " , " V e n d o r - R U " } 
- 
- 
- 
- ;   U n i q u e   V e n d o r   n a m e 
- 
- : " V e n d o r " 
- 
- 
- 
- ;   S u p p o r t s   S 6 0   v   3 . 0 
- 
- [ 0 x 1 0 1 F 7 9 6 1 ] ,   0 ,   0 ,   0 ,   { " S 6 0 P r o d u c t I D " , " S 6 0 P r o d u c t I D " } 
- 
- 
- 
- ;   F i l e s   t o   i n s t a l l 
- 
- " \ e p o c 3 2 \ r e l e a s e \ a r m v 5 \ u r e l \ m n r e f p r o v i d e r . e x e " - " ! : \ s y s \ b i n \ m n r e f p r o v i d e r . e x e " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r . r s c " - " ! : \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r . r s c " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r . m b m " - " ! : \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r . m b m " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r . m i f " - " ! : \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r . m i f " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ p r i v a t e \ 1 0 0 0 3 a 3 f \ a p p s \ m n r e f p r o v i d e r _ r e g . r s c " - " ! : \ p r i v a t e \ 1 0 0 0 3 a 3 f \ i m p o r t \ a p p s \ m n r e f p r o v i d e r _ r e g . r s c " 
- 
- 
- 
- " \ e p o c 3 2 \ r e l e a s e \ a r m v 5 \ u r e l \ m n r e f p r o v i d e r b a c k . e x e " - " ! : \ s y s \ b i n \ m n r e f p r o v i d e r b a c k . e x e " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r b a c k . r s c " - " ! : \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r b a c k . r s c " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ p r i v a t e \ 1 0 0 0 3 a 3 f \ a p p s \ m n r e f p r o v i d e r b a c k _ r e g . r s c " - " ! : \ p r i v a t e \ 1 0 0 0 3 a 3 f \ i m p o r t \ a p p s \ m n r e f p r o v i d e r b a c k _ r e g . r s c " 
- 
- 
- 
- " \ e p o c 3 2 \ r e l e a s e \ a r m v 5 \ u r e l \ m n r e f p r o v i d e r e n g i n e . d l l " - " ! : \ s y s \ b i n \ m n r e f p r o v i d e r e n g i n e . d l l " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ r e s o u r c e \ m n r e f p r o v i d e r e n g i n e . r s c " - " ! : \ r e s o u r c e \ m n r e f p r o v i d e r e n g i n e . r s c " 
- 
- 
- 
- " \ e p o c 3 2 \ r e l e a s e \ a r m v 5 \ u r e l \ m n r e f p r o v i d e r p l u g i n . d l l " - " ! : \ s y s \ b i n \ m n r e f p r o v i d e r p l u g i n . d l l " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ r e s o u r c e \ p l u g i n s \ m n r e f p r o v i d e r p l u g i n . r s c " - " ! : \ r e s o u r c e \ p l u g i n s \ m n r e f p r o v i d e r p l u g i n . r s c " 
- 
- 
- 
- 
- 
- 
- 
- 
\ No newline at end of file
Binary file locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/sis/mnrefprovider_bitmap_armv5.sis has changed
Binary file locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/sis/mnrefprovider_bitmap_armv5.sisx has changed
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/sis/rd-key.pem	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIICXAIBAAKBgQDLRF+r1FGGkCwTrb420kbnAps7gi1yYUcXYUdWeFTuBeQe5eW4
-6Y+LWaA8HMlDdoHRB0FgASisYcFagwno9+oFf4AJka4H1gWEs5XTGwAA1s0d8XGh
-7W7Dt9F5FZij8F7/9Pi6+FhhxZFIf1DD+yry9D7+Sp+BgdNALe4XOpf25QIBAwKB
-gQCHgupyjYuvCsgNHn7PNtnvVxInrB5MQNoPli+O+uNJWUK/Q+57Rl+yO8AoEzDX
-pFaLWiuVVhsdloDnAgabT/FXzYncs6uOHyEUV+dSXb78vtLPJqAX+Fg2i3hOXreB
-yskcZ13/OsKVOu5wgrJkx2baZufkqMwOSytf5y9nwjEIKwJBAP+inobagVNrN62j
-KQva3cC+UN/6XnKdTc0CA6bHyLOaJoH1xiMwG/VS2PGjHI0tiSMNtLn/QPpHJ003
-iabGhdUCQQDLjp/9UjFT6K6CF66Chqf30pZXhx+GTSQZmv/gvZiMly7X9fX9BGX3
-2MbJohBC4yI21XKTbisWywkF73Hwh+TRAkEAqmxprzxWN5zPyRdwspHpKymLP/w+
-9xOJM1atGdqFzRFvAU6EF3Vn+OHl9my9s3OwwgkjJqorUYTE3iUGby8D4wJBAIe0
-aqjhdjfwdFa6dFcEb/qMZDpaFQQzbWZnVUB+ZbMPdI/5TqitmU/l2dvBYCyXbCSO
-TGJJcg8yBgP09qBamIsCQFL7j1tM0XPVQJQ89WpKCld7O9ORxRGVj1eG0tWijrH8
-mGbYh8SGCVoWV3vrKSS8GBrFVgQnqUaHuEdtM7tpCAQ=
------END RSA PRIVATE KEY-----
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/sis/rd.cer	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
------BEGIN CERTIFICATE-----
-MIICzDCCAjWgAwIBAgIBADANBgkqhkiG9w0BAQUFADArMRAwDgYDVQQKEwdSRCBD
-ZXJ0MRcwFQYDVQQDEw5SRCBDZXJ0aWZpY2F0ZTAeFw0wNDExMTUxMjQyMDZaFw0z
-NzA5MjMxMjQyMDZaMCsxEDAOBgNVBAoTB1JEIENlcnQxFzAVBgNVBAMTDlJEIENl
-cnRpZmljYXRlMIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQDLRF+r1FGGkCwT
-rb420kbnAps7gi1yYUcXYUdWeFTuBeQe5eW46Y+LWaA8HMlDdoHRB0FgASisYcFa
-gwno9+oFf4AJka4H1gWEs5XTGwAA1s0d8XGh7W7Dt9F5FZij8F7/9Pi6+FhhxZFI
-f1DD+yry9D7+Sp+BgdNALe4XOpf25QIBA6OCAQAwgf0wDAYDVR0TBAUwAwEB/zAL
-BgNVHQ8EBAMCAoQwHQYDVR0OBBYEFFi/kuGzxhVpjGxe9ZwlxC3fH9jFMFMGA1Ud
-IwRMMEqAFFi/kuGzxhVpjGxe9ZwlxC3fH9jFoS+kLTArMRAwDgYDVQQKEwdSRCBD
-ZXJ0MRcwFQYDVQQDEw5SRCBDZXJ0aWZpY2F0ZYIBADBsBgNVHSAEZTBjMGEGBFUd
-IAAwWTATBggrBgEFBQcCARYHaHR0cDovLzBCBggrBgEFBQcCAjA2GjRGb3IgUiZE
-IHVzYWdlIG9ubHkuIFRoaXMgY2VydGlmaWNhdGUgaXMgbm90IHRydXN0ZWQuMA0G
-CSqGSIb3DQEBBQUAA4GBAHGB4RQMAgBdeT2hxfOr6f2nA/dZm+M5yX5daUtZnET9
-Ed0A9sazLawfN2G1KFQT9kxEParAyoAkpbMAsRrnRz/9cM3OHgFm/NiKRnf50DpT
-7oCx0I/65mVD2kt+xXE62/Ii5KPnTufIkPi2uLvURCia1tTS8JmJ8dtxDGyQt8BR
------END CERTIFICATE-----
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrefprovider.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CApaApplication class implementation
-*
-*/
-
-
-#include <eikstart.h>
-#include "mnrpapplication.h"
-
-LOCAL_C CApaApplication* NewApplication()
-{
-    return new CMnrpApplication;
-}
-
-TInt E32Main()
-{
-    return EikStart::RunApplication( NewApplication );
-}
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrefproviderback.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Main application methods
-*
-*/
-
-
-#include <eikstart.h>
-#include "mnrpapplicationback.h"
-
-LOCAL_C CApaApplication* NewApplication()
-{
-    return new CMnrpApplicationBack;
-}
-
-TInt E32Main()
-{
-    return EikStart::RunApplication( NewApplication );
-}
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrefproviderplugin.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Main application methods
-*
-*/
-
-
-#include <e32base.h>
-#include <ecom/ecom.h>
-#include <ecom/implementationproxy.h>
-
-#include "debug.h"
-#include "mnrpcoordconverter.h"
-
-// ========================== GLOBAL FUNCTIONS ===============================
-
-// ---------------------------------------------------------------------------
-// Table of implementations
-// ---------------------------------------------------------------------------
-//
-const TImplementationProxy ImplementationTable[] =
-    {
-    // Note! UID below is implementation UID, not DLL UID.
-    IMPLEMENTATION_PROXY_ENTRY( 0x03133038, CMnrpCoordConverter::NewL ),
-    };
-
-// ---------------------------------------------------------------------------
-// Note this function must be exported at ordinal 1
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(
-    TInt& aTableCount)
-    {
-    aTableCount = 1;
-    return ImplementationTable;
-    }
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpappcontrol.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpAppControlclass implementation
-*
-*/
-
-
-#include <coemain.h>
-#include <akndef.h>
-#include "mnrpappview.h"
-#include "mnrpappcontrol.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpAppControl::CMnrpAppControl( CMnrpAppView& aView )
-: iView( aView )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpAppControl::~CMnrpAppControl()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpAppControl* CMnrpAppControl::NewL( CMnrpAppView& aView, const TRect& aRect)
-    {
-    CMnrpAppControl* self = new (ELeave) CMnrpAppControl( aView );
-    CleanupStack::PushL( self );
-    self->ConstructL( aRect );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TInt CMnrpAppControl::CountComponentControls() const 
-    { 
-    return 0; 
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CCoeControl* CMnrpAppControl::ComponentControl( TInt /*aIndex*/ ) const
-    {
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppControl::ConstructL( const TRect& aRect )
-    {
-    // Create a window for this application view
-    CreateWindowL();
-
-    // Set the windows size
-    SetRect( aRect );
-
-    // Activate the window, which makes it ready to be drawn
-    ActivateL();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppControl::Draw( const TRect& /*aRect*/ ) const
-    {
-    // Get the standard graphics context
-    CWindowGc& gc = SystemGc();
-
-    // Gets the control's extent
-    TRect rect = Rect();
-
-    // Clears the screen
-    gc.Clear( rect );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppControl::HandleResourceChange( TInt aType )
-    {
-    CCoeControl::HandleResourceChange( aType );
-    if ( aType == KEikDynamicLayoutVariantSwitch )
-        {
-        SetRect( iView.ClientRect() );
-        }
-    }
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpapplication.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpApplication class implementation
-*
-*/
-
-
-#include "debug.h"
-
-#include "mnrpdocument.h"
-#include "mnrpappserver.h"
-#include "mnrpapplication.h"
-
-// UID for the application, this should match the uid defined in the mmp file.
-static const TUid KUidMnRefProviderApp = {0x03132013};
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CApaDocument* CMnrpApplication::CreateDocumentL()
-    {  
-    LOG( "MnRefProvider: CreateDocumentL" );
-    CApaDocument* document = CMnrpDocument::NewL( *this );
-    return document;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TUid CMnrpApplication::AppDllUid() const
-    {
-    // Return the UID for the MnRefProvider application
-    return KUidMnRefProviderApp;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpApplication::NewAppServerL( CApaAppServer*& aAppServer )
-    {
-    LOG( "MnRefProvider: NewAppServerL" );
-    aAppServer = new (ELeave) CMnrpAppServer;
-    }
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpapplicationback.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpApplicationGeoGeo class implementation
-*
-*/
-
-
-#include "debug.h"
-
-#include "mnrpdocumentback.h"
-#include "mnrpappserverback.h"
-#include "mnrpapplicationback.h"
-
-// UID for the application, this should match the uid defined in the mmp file.
-static const TUid KUidMnRefProviderBackApp = {0x03132014};
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CApaDocument* CMnrpApplicationBack::CreateDocumentL()
-    {  
-    LOG( "MnRefProviderBack: CreateDocumentL" );
-    CApaDocument* document = CMnrpDocumentBack::NewL( *this );
-    return document;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TUid CMnrpApplicationBack::AppDllUid() const
-    {
-    // Return the UID for the MnRefProvider application
-    return KUidMnRefProviderBackApp;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpApplicationBack::NewAppServerL( CApaAppServer*& aAppServer )
-    {
-    LOG( "MnRefProviderBack: NewAppServerL" );
-    aAppServer = CMnrpAppServerBack::NewL();
-    }
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpappserver.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,125 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpAppServer class implementation
-*
-*/
-
-
-#include <mnappserviceuids.hrh>
-#include "debug.h"
-
-#include <lbsposition.h>
-#include <epos_cposlandmark.h>
-
-#include "mnrpnavigationservice.h"
-#include "mnrpmapviewservice.h"
-
-#include <MnRefProvider.rsg>
-#include "mnrpappui.h"
-#include "mnrpengine.h"
-#include "mnrpappserver.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpAppServer::~CMnrpAppServer()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CApaAppServiceBase* CMnrpAppServer::CreateServiceL(TUid aServiceType) const
-    {  
-    LOG1("MnRefProvider::CreateServiceL, svcUid = %X", aServiceType.iUid);
-    switch ( aServiceType.iUid )
-        {
-        case KMnAppMapViewService:
-            return CreateMapViewServiceL();
-
-        case KMnAppNavigationService:
-            return CreateNavigationServiceL();
-            
-        default:
-            return CAknAppServer::CreateServiceL( aServiceType );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpAppServer::HandleAllClientsClosed()
-    {
-    LOG( "MnRefProvider: HandleAllClientsClosed" );
-    CMnrpAppUi* appUi = AppUi();
-    if ( appUi )
-    	{
-    	if ( appUi->IsChainedMode() ) 
-    		{
-    		// close
-    		CAknAppServer::HandleAllClientsClosed();
-    		}
-    	else // standalone mode
-    		{
-    		if ( !appUi->IsAnyUserViewActive() )
-    			{
-	    		// close
-	    		CAknAppServer::HandleAllClientsClosed();
-    			}
-    		else
-    			{	
-    			// "remain active until user closes me"
-    			}
-    		}	
-    	}
-	else
-        {
-        CAknAppServer::HandleAllClientsClosed();
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpNavigationService* CMnrpAppServer::CreateNavigationServiceL() const
-    {
-    LOG( "MnRefProvider: CreateNavigationServiceL" );
-    CMnrpNavigationService* svc = CMnrpNavigationService::NewL();
-    return svc;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapViewService* CMnrpAppServer::CreateMapViewServiceL() const
-    {
-    LOG( "MnRefProvider: CreateMapViewServiceL" );
-    CMnrpMapViewService* svc = CMnrpMapViewService::NewL();
-    return svc;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpAppUi* CMnrpAppServer::AppUi()
-    {
-    CMnrpAppUi* ui = (CMnrpAppUi*) CEikonEnv::Static()->AppUi();
-    if ( !ui )
-        {
-        LOG("MnRefProvider: UI not found!");
-        }
-    return ui;
-    }
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpappserverback.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpAppServerBack class implementation
-*
-*/
-
-
-#include <mnappserviceuids.hrh>
-#include "debug.h"
-
-#include <lbsposition.h>
-#include <epos_cposlandmark.h>
-
-#include "mnrpgeocodingservice.h"
-
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-#include "mnrpmapimageservice.h"
-#endif
-
-#include "mnrpappuiback.h"
-#include "mnrpengine.h"
-#include "mnrpappserverback.h"
-
-// ============================ LOCAL FUNCTIONS ===============================
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpAppServerBack::~CMnrpAppServerBack()
-    {
-    delete iEngine;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpAppServerBack* CMnrpAppServerBack::NewL()
-    {
-    CMnrpAppServerBack* self = new (ELeave) CMnrpAppServerBack();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppServerBack::ConstructL()
-    {
-    iEngine = CMnrpEngine::NewL();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CApaAppServiceBase* CMnrpAppServerBack::CreateServiceL(TUid aServiceType) const
-    {
-    LOG1("MnRefProviderBack::CreateServiceL, svcUid = %X", aServiceType.iUid);
-    switch ( aServiceType.iUid )
-        {
-        case KMnAppGeocodingService:
-            return CreateGeocodingServiceL();
-
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-        case KMnAppMapImageService:
-            return CreateMapImageServiceL();
-#endif
-        default:
-            return CAknAppServer::CreateServiceL( aServiceType );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpGeocodingService* CMnrpAppServerBack::CreateGeocodingServiceL() const
-    {
-    LOG( "MnRefProviderBack: CreateGeocodingServiceL" );
-    CMnrpGeocodingService* svc = CMnrpGeocodingService::NewL( *iEngine );
-    return svc;
-    }
-
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapImageService* CMnrpAppServerBack::CreateMapImageServiceL() const
-    {
-    LOG( "MnRefProviderBack: CreateGeocodingServiceL" );
-    CMnrpMapImageService* svc = CMnrpMapImageService::NewL( *iEngine );
-    return svc;
-    }
-#endif
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpappui.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,492 +0,0 @@
-/*
-* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpAppUi class implementation
-*
-*/
-
-
-#include <aknnavi.h>
-#include <aknnavide.h>
-#include <eikbtgpc.h>
-
-#include <akniconutils.h>
-#include <aknselectionlist.h>
-#include <gulicon.h>
-
-#include <MnRefProvider.rsg>
-#include <MnRefProvider.mbg>
-#include "mnrp.hrh"
-
-#include <epos_cposlandmark.h>
-#include <epos_cposlandmarkdatabase.h>
-
-#include "mnrpappview.h"
-#include "mnrpnaviview.h"
-#include "mnrpmapview.h"
-
-#include "mnrpmapviewservice.h"
-#include "mnrpnavigationservice.h"
-
-#include "mnrpdocument.h"
-#include "mnrpengine.h"
-#include "mnrpappui.h"
-#include "mnrputils.h"
-#include "debug.h"
-
-const TInt KDefaultLmIconIndex = 0;
-_LIT( KMbmFile, "\\resource\\apps\\MnRefProvider.mbm");
-
-// ============================ LOCAL FUNCTIONS ===============================
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CleanupIconArray( TAny* aArray )
-    {
-    LOG("MnRefProvider::CleanupIconArray in");
-    ( ( CArrayPtrSeg<CGulIcon>* ) aArray)->ResetAndDestroy();
-    delete aArray;
-    LOG("MnRefProvider::CleanupIconArray out");
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void AddIconL(
-    CArrayPtr<CGulIcon>& aIconArray,
-    const TDesC& aFileName,
-    TInt aIconIndex,
-    TInt aMaskIndex )
-    {
-    LOG("MnRefProvider::AddIconL in");
-    CFbsBitmap* icon = NULL;
-    CFbsBitmap* mask = NULL;
-
-    AknIconUtils::CreateIconLC( icon, mask, aFileName, aIconIndex, aMaskIndex );
-    CGulIcon* gul = CGulIcon::NewL( icon, mask );
-
-    gul->SetBitmapsOwnedExternally( EFalse );
-    CleanupStack::PushL( gul );
-    aIconArray.AppendL( gul );
-    CleanupStack::Pop( 3 ); // gul, icon & mask
-    LOG("MnRefProvider::AddIconL out");
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CArrayPtrSeg<CGulIcon>* CreateIconListLC( TInt aGranularity )
-    {
-    CArrayPtrSeg<CGulIcon>* iconList =
-        new (ELeave) CArrayPtrSeg<CGulIcon>( aGranularity );
-    CleanupStack::PushL( TCleanupItem( CleanupIconArray, iconList ) );
-
-    AddIconL(
-        *iconList,
-        KMbmFile,
-        EMbmMnrefproviderDefault_lm,
-        EMbmMnrefproviderDefault_lm_mask);
-
-    return iconList;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void AddLandmarkL(
-    const CPosLandmark& aLandmark,
-    CDesCArray& aTextArray,
-    CArrayPtr<CGulIcon>& aIconArray )
-    {
-    TPtrC name;
-    aLandmark.GetLandmarkName( name );
-
-    HBufC* printableName = MnrpUtils::PrintableStringLC( name );
-    
-    TPtrC iconFile;
-    TInt iconIndex, maskIndex, iconArrayIndex;
-
-    if ( aLandmark.GetIcon( iconFile, iconIndex, maskIndex ) == KErrNone )
-        {
-        AddIconL( aIconArray, iconFile, iconIndex, maskIndex );
-        iconArrayIndex = aIconArray.Count() - 1;
-        }
-    else
-        {
-        iconArrayIndex = KDefaultLmIconIndex;
-        }
-
-    _LIT(KListItemFormat, "%d\t%S\t\t");
-    const TInt KListItemMinSize = 20;
-
-    HBufC* item = HBufC::NewLC( printableName->Size() + KListItemMinSize );
-    item->Des().Format( KListItemFormat, iconArrayIndex, printableName );
-
-    aTextArray.AppendL( *item );
-
-    CleanupStack::PopAndDestroy( item );
-    CleanupStack::PopAndDestroy( printableName );
-    }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpAppUi::CMnrpAppUi( CMnrpEngine& aEngine )
-  : iEngine( aEngine )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppUi::ConstructL()
-    {
-    BaseConstructL( EAknEnableSkin );
-    
-    // This is empty view, it will be shown by UI framework,
-    // when application starts
-    iAppView = CMnrpAppView::NewL();
-    AddViewL( iAppView );
-
-    if ( !iEikonEnv->StartedAsServerApp() )
-        {
-        // switch to map view if started normally
-        iMapView = CMnrpMapView::NewL( EFalse, iEngine );
-        AddViewL( iMapView );
-        ActivateLocalViewL( iMapView->Id() );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpAppUi::~CMnrpAppUi()
-    {
-    delete iNaviPaneLabel;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppUi::HandleCommandL( TInt aCommand )
-    {
-    switch(aCommand)
-        {
-        case EAknSoftkeyBack:
-        	{
-    	    CEikAppServer* server = iEikonEnv->AppServer();
-		    if ( server )
-		    	{
-		        server->NotifyServerExit( EEikCmdExit );
-		    	}
-		    Exit();	
-        	break;
-        	}
-        	
-        case EEikCmdExit:
-        case EAknSoftkeyExit:
-            {
-    	    CEikAppServer* server = iEikonEnv->AppServer();
-		    if ( server )
-		    	{
-		        server->NotifyServerExit( EAknCmdExit ); // this will close client also
-		    	}
-		    Exit();	
-        	break;
-            }
-        default:
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TBool CMnrpAppUi::IsChainedMode()
-    {
-    return ( iParentWg != 0 );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TBool CMnrpAppUi::IsAnyUserViewActive()
-    {
-    TVwsViewId viewId;
-    if ( ( GetActiveViewId( viewId ) == KErrNotFound ) ||
-         ( viewId.iViewUid.iUid != EMnrpMapViewId && 
-           viewId.iViewUid.iUid != EMnrpNavigationViewId ) )
-        {
-        return EFalse;
-        }
-    else
-        {
-        return ETrue;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// ----------------------------------------------------------------------------
-//
-void CMnrpAppUi::SetNaviPaneTitleL( const TDesC& aPaneTitle )
-    {
-    if ( !iNaviPane )
-        {
-        iNaviPane = static_cast<CAknNavigationControlContainer*>(
-                StatusPane()->ControlL( TUid::Uid( EEikStatusPaneUidNavi ) ) );
-        }
-
-    if ( iNaviPaneLabel )
-        {
-        CAknNavigationDecorator* naviLabel = iNaviPane->CreateNavigationLabelL( aPaneTitle );
-        CleanupStack::PushL( naviLabel );
-
-        iNaviPane->ReplaceL( *iNaviPaneLabel, *naviLabel );
-
-        delete iNaviPaneLabel;
-        iNaviPaneLabel = naviLabel;
-
-        CleanupStack::Pop( naviLabel );
-        }
-    else
-        {
-        iNaviPaneLabel = iNaviPane->CreateNavigationLabelL( aPaneTitle );
-        iNaviPane->PushL( *iNaviPaneLabel );
-        }
-    }    
-
-// ----------------------------------------------------------------------------
-// ----------------------------------------------------------------------------
-//
-void CMnrpAppUi::SetRightSoftkeyCommandL( TInt aCommand, const TDesC& aButtonTitle )
-    {
-    if ( Cba() )
-        {
-        Cba()->SetCommandL( 1, aCommand, aButtonTitle );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TBool CMnrpAppUi::ProcessCommandParametersL( CApaCommandLine &aCommandLine )
-    {
-    iParentWg = aCommandLine.ParentWindowGroupID();
-    LOG1("parent window group id %d", iParentWg );
-    
-    return CAknAppUi::ProcessCommandParametersL( aCommandLine );
-    }
-
-// ----------------------------------------------------------------------------
-// ----------------------------------------------------------------------------
-//
-void CMnrpAppUi::HandleResourceChangeL( TInt aType )
-    {
-    CAknAppUi::HandleResourceChangeL( aType );
-    
-    TRect rect( ClientRect() );
-    if ( Cba() )
-        {
-		Cba()->SetBoundingRect( TRect() );
-		Cba()->ReduceRect( rect );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppUi::ShowMapL( CMnrpMapViewService& aService )
-    {
-    if ( !iMapView )
-        {
-        iMapView = CMnrpMapView::NewL( IsChainedMode(), iEngine );
-        AddViewL( iMapView );
-        }
-        
-    iMapView->SetMapModeL( aService );
-    ActivateLocalViewL( iMapView->Id() );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppUi::ShowNavigationL( const CPosLandmark& aDestination )
-    {
-    if ( !iNaviView )
-        {
-        iNaviView = CMnrpNaviView::NewL( IsChainedMode(), iEngine );
-        AddViewL( iNaviView );
-        }
-        
-    iNaviView->SetDestinationL( aDestination );
-    ActivateLocalViewL( iNaviView->Id() );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppUi::StartSelectionL( 
-    CMnrpMapViewService& aService,  
-    MMapSelectionCallback& aCallback )
-    {
-	SetNaviPaneTitleL( aService.SelectionRequestText() );
-
-    if ( aService.Options() & CMnMapView::EOptionRestrictSelection )
-        {
-        // select from dialog 
-        SelectFromDialogL( aService, aCallback );
-        }
-    else
-        {
-        // select from map
-        if ( !iMapView )
-            {
-            iMapView = CMnrpMapView::NewL( IsChainedMode(), iEngine );
-            AddViewL( iMapView );
-            }
-
-        iMapView->SetSelectionModeL( aService, aCallback );
-        ActivateLocalViewL( iMapView->Id() );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppUi::StopSelection()
-    {
-    __ASSERT_DEBUG( iMapView, Panic( KErrGeneral ) );
-    iMapView->StopSelection();
-
-    // Selection is done - close selection view
-    TRAP_IGNORE( ActivateLocalViewL( iAppView->Id() ) );
-    }
-    
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppUi::SelectFromDialogL(
-    CMnrpMapViewService& aService,
-    MMapSelectionCallback& aCallback )
-    {
-    LOG("MnRefProvider::SelectFromDialogL in");
-
-    const TInt KGranularity = 8;
-
-    CDesCArraySeg *textArray = new (ELeave) CDesCArraySeg( KGranularity );
-    CleanupStack::PushL( textArray );
-    CArrayPtrSeg<CGulIcon>* iconArray = CreateIconListLC( KGranularity );
-
-    TInt linkedLmsOffset = 0;
-
-    CMnrpDocument* doc = ( CMnrpDocument* ) Document();
-    CMnrpEngine& engine = doc->Engine();
-
-    // add non-linked landmarks
-    LOG("MnRefProvider::DoSelectionDialogL adding non-linked landmarks");
-    for ( TInt i = 0; i < aService.LandmarksToShow().Count(); i++)
-        {
-        const CPosLandmark* lm = aService.LandmarksToShow()[i];
-        AddLandmarkL( *lm, *textArray, *iconArray );
-        }
-
-    // add linked landmarks
-    LOG("MnRefProvider::DoSelectionDialogL adding linked landmarks");
-
-    // create dictionary of linked landmarks
-    // in order to ease searching for return values
-    // when completing request
-    RArray<TInt> dbIndices;
-    RArray<TPosLmItemId> lmIds;
-
-    CleanupClosePushL( dbIndices );
-    CleanupClosePushL( lmIds );
-
-    linkedLmsOffset = textArray->Count();
-    for ( TInt db = 0; db < aService.LandmarksToShowDatabases().Count(); db++ )
-        {
-        const HBufC* uri = aService.LandmarksToShowDatabases()[db];
-
-        CPosLandmarkDatabase* lmdb = CPosLandmarkDatabase::OpenL( *uri );
-        CleanupStack::PushL( lmdb );
-
-        if ( lmdb->IsInitializingNeeded() )
-            {
-            ExecuteAndDeleteLD( lmdb->InitializeL() );
-            }
-
-        for ( TInt i = 0; i < aService.LinkedLandmarksToShow(db).Count(); i++)
-            {
-            TPosLmItemId id = aService.LinkedLandmarksToShow(db)[i];
-
-            CPosLandmark* lm = lmdb->ReadLandmarkLC( id );
-            AddLandmarkL( *lm, *textArray, *iconArray );
-            
-            dbIndices.AppendL( db );
-            lmIds.AppendL( id );
-
-            CleanupStack::PopAndDestroy( lm );
-            }
-
-        CleanupStack::PopAndDestroy( lmdb );
-        }
-
-    TInt selected = 0;
-    CAknSelectionListDialog *dialog =
-        CAknSelectionListDialog::NewL( selected, textArray, R_MNREFPROVIDER_MENUBAR );
-
-    dialog->PrepareLC( R_MNREFPROVIDER_SELECTION_DIALOG );
-
-    dialog->SetIconArrayL( iconArray );
-    CleanupStack::Pop(); // iconArray cleanup
-
-    LOG1("MnRefProvider::SelectFromDialogL launching dialog with %d items", textArray->Count() );
-    TInt result = dialog->RunLD();
-    if ( result )
-        {
-        LOG("MnRefProvider::SelectFromDialogL approved");
-        if ( selected < linkedLmsOffset )
-            {
-            aCallback.HandleSelectionL( selected );
-            }
-        else
-            {
-            TInt linkedLmIndex = selected - linkedLmsOffset;
-            if ( linkedLmIndex < dbIndices.Count() && 
-                 linkedLmIndex < lmIds.Count() )
-                {
-                aCallback.HandleSelectionL( lmIds[linkedLmIndex], dbIndices[linkedLmIndex] );
-                }
-            else
-                {
-                // never happens
-                LOG("MnRefProvider::SelectFromDialogL selection out of range, out");
-                aCallback.HandleSelectionErrorL( KErrGeneral );
-                }
-            }
-        }
-    else
-        {
-        LOG("MnRefProvider::SelectFromDialogL cancelled, out");
-        aCallback.HandleSelectionErrorL( KErrCancel );
-        }
-
-    CleanupStack::PopAndDestroy( &lmIds );
-    CleanupStack::PopAndDestroy( &dbIndices );
-
-    CleanupStack::PopAndDestroy( textArray );
-    LOG("MnRefProvider::SelectFromDialogL out");
-}    
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpappuiback.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpAppUiBack classimplementation
-*
-*/
-
-
-#include <aknnavi.h>
-#include <aknnavide.h>
-
-#include "mnrpengine.h"
-#include "mnrpappuiback.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppUiBack::ConstructL()
-    {
-    BaseConstructL( EAknEnableSkin );
-    // no view is created as this application is intended to be run
-    // only as hidden server
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppUiBack::HandleCommandL(TInt aCommand)
-    {
-    switch(aCommand)
-        {
-        case EEikCmdExit:
-        case EAknSoftkeyExit:
-            Exit();
-            break;
-        default:
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpAppUiBack::MoveForeground()
-    {
-    RWindowGroup& window = iEikonEnv->RootWin();
-    window.SetOrdinalPosition( 0 );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpAppUiBack::MoveBackground()
-    {
-    RWindowGroup& window = iEikonEnv->RootWin();
-    window.SetOrdinalPosition( -1 );
-    }
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpappview.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpAppView class implementation
-*
-*/
-
-
-#include "mnrp.hrh"
-#include "mnrpappui.h"
-#include "mnrpappcontrol.h"
-#include "mnrpappview.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpAppView::CMnrpAppView()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpAppView::~CMnrpAppView()
-    {
-    delete iControl;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpAppView* CMnrpAppView::NewL()
-    {
-    CMnrpAppView* self = new ( ELeave ) CMnrpAppView();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppView::ConstructL()
-    {
-    BaseConstructL();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TUid CMnrpAppView::Id() const
-    {
-    return TUid::Uid( EMnrpAppViewId );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppView::DoActivateL(
-    const TVwsViewId& /*aPrevViewId*/,
-    TUid /* aCustomMessageId */,
-    const TDesC8& /* aCustomMessage */)
-    {
-    if ( !iControl )
-        {
-        iControl = CMnrpAppControl::NewL( *this, ClientRect() );
-        iControl->SetMopParent( this );
-        }
-
-    // Enable receiving of keyboard events.
-    CMnrpAppUi* ui = ( CMnrpAppUi* ) AppUi();
-    ui->AddToStackL( *this, iControl );
-
-    _LIT( KEmpty, "" );
-    ui->SetNaviPaneTitleL( KEmpty );
-
-    // Make view visible.
-    iControl->MakeVisible( ETrue );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppView::DoDeactivate()
-    {
-    if ( iControl )
-        {
-        // Hide view.
-        iControl->MakeVisible( EFalse );
-
-        // Disable receiving keyboard events.
-        AppUi()->RemoveFromStack( iControl );
-        }
-    }
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpcoordconverter.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpCoordConverter implementation
-*
-*/
-
-
-#include <e32base.h>
-
-#include "debug.h"
-#include "mnrpengine.h"
-#include "mnrpmapmodel.h"
-#include "mnrpcoordconverter.h"
-
-// ========================== MEMBER FUNCTIONS ===============================
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpCoordConverter* CMnrpCoordConverter::NewL()
-    {
-    CMnrpCoordConverter* self = new (ELeave) CMnrpCoordConverter;
-    CleanupStack::PushL( self );
-
-    self->iEngine = CMnrpEngine::NewL();
-    self->iModel = CMnrpMapModel::NewL( *self->iEngine );
-
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpCoordConverter::CMnrpCoordConverter()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpCoordConverter::~CMnrpCoordConverter()
-    {
-    delete iModel;
-    delete iEngine;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-TInt CMnrpCoordConverter::GetImageCoordinate(
-    const TCoordinate& aWorldCoordinate,
-    TPoint& aImagePoint )
-    {
-    const TMnMapImageParams& params = MapImageParams();
-
-    if ( params.ImageType() == TMnMapImageParams::ETypeSatelliteImage )
-        {
-        return KErrArgument;
-        }
-
-    iModel->UpdateModel( params );
-
-    aImagePoint = iModel->AbsoluteToScreen( aWorldCoordinate );
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-TInt CMnrpCoordConverter::GetWorldCoordinate(
-    const TPoint& aImagePoint,
-    TCoordinate& aWorldCoordinate )
-    {
-    const TMnMapImageParams& params = MapImageParams();
-
-    if ( params.ImageType() == TMnMapImageParams::ETypeSatelliteImage )
-        {
-        return KErrArgument;
-        }
-
-    iModel->UpdateModel( params );
-
-    aWorldCoordinate = iModel->ScreenToAbsolute( aImagePoint  );
-    return KErrNone;
-    }
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpdocument.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpDocument class implementation
-*
-*/
-
-
-#include "mnrpappui.h"
-#include "mnrpengine.h"
-#include "mnrpdocument.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpDocument::CMnrpDocument(CEikApplication& aApp) 
-    : CAknDocument(aApp) 
-    {
-    }   
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpDocument::ConstructL()
-    {
-    iEngine = CMnrpEngine::NewL();
-    }    
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpDocument* CMnrpDocument::NewL( CEikApplication& aApp )
-    {
-    CMnrpDocument* self = new (ELeave) CMnrpDocument(aApp);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpDocument::~CMnrpDocument()
-    {
-    delete iEngine;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpEngine& CMnrpDocument::Engine()
-    { 
-    return *iEngine; 
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CEikAppUi* CMnrpDocument::CreateAppUiL()
-    {
-    // Create the application user interface, and return a pointer to it,
-    // the framework takes ownership of this object
-    CEikAppUi* appUi = new (ELeave) CMnrpAppUi( *iEngine );
-    return appUi;
-    }
-
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpdocumentback.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpDocumentBack class implementation
-*
-*/
-
-
-#include "mnrpappuiback.h"
-#include "mnrpengine.h"
-#include "mnrpdocumentback.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpDocumentBack::CMnrpDocumentBack(CEikApplication& aApp) 
-    : CAknDocument(aApp) 
-    {
-    }   
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpDocumentBack* CMnrpDocumentBack::NewL( CEikApplication& aApp )
-    {
-    CMnrpDocumentBack* self = new (ELeave) CMnrpDocumentBack( aApp );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CEikAppUi* CMnrpDocumentBack::CreateAppUiL()
-    {
-    // Create the application user interface, and return a pointer to it,
-    // the framework takes ownership of this object
-    CEikAppUi* appUi = new (ELeave) CMnrpAppUiBack();
-    return appUi;
-    }
-
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpengine.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,433 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpEngine class implementation
-*
-*/
-
-
-#include <coemain.h>
-#include <aknlists.h>
-#include <barsread2.h>
-#include <barsc2.h> 
-
-#include <lbsposition.h>
-#include <lbspositioninfo.h>
-
-#include <epos_cposlandmark.h>
-#include <epos_cposlandmarkdatabase.h>
-
-#include <mnrefproviderengine.rsg>
-
-#include "../inc/debug.h"
-#include "mnrpengine.h"
-
-_LIT( KCitiesResourceFile, "\\resource\\mnrefproviderengine.rsc");
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpEngine::CMnrpEngine()
-    { 
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CMnrpEngine::~CMnrpEngine()
-    {
-    iPlaces.ResetAndDestroy();
-    iFileSession.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CMnrpEngine* CMnrpEngine::NewL()
-    {
-    CMnrpEngine* self = new (ELeave) CMnrpEngine();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpEngine::ConstructL()
-    {
-    User::LeaveIfError( iFileSession.Connect() );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TArray<CPosLandmark*> CMnrpEngine::KnownPlacesL()
-    {
-    if ( iPlaces.Count() == 0 )
-        {
-        TRAP_IGNORE( LoadKnownPlacesL() );
-        }
-
-    return iPlaces.Array();        
-    }
-    
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CPosLandmark* CMnrpEngine::AddressToCoordLC( const CPosLandmark& aAddress )
-    {
-    CPosLandmark* lm = AddressToCoordL( aAddress );
-    if ( lm )
-        {
-        CleanupStack::PushL( lm );
-        return lm;
-        }
-    else
-        {
-        User::Leave( KErrNotFound );
-        return NULL;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CPosLandmark* CMnrpEngine::AddressToCoordL( const CPosLandmark& aAddress )
-    {
-    TPtrC city, country;
-    aAddress.GetPositionField( EPositionFieldCity, city );
-    
-    TArray<CPosLandmark*> pois = KnownPlacesL();
-    
-    if ( city.Length() )
-        {
-        for ( TInt i = 0; i < pois.Count(); i++ )
-            {
-            TPtrC poiCity;
-            pois[i]->GetPositionField( EPositionFieldCity, poiCity );
-            if ( poiCity.CompareF( city ) == 0 )
-                {
-                return CPosLandmark::NewL( *pois[i] );
-                }
-            }
-        }
-    
-    return NULL;
-    }
-    
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CPosLandmark* CMnrpEngine::AddressToCoordLC( const TDesC& aAddress )
-    {
-    CPosLandmark* lm = AddressToCoordL( aAddress );
-    if ( lm )
-        {
-        CleanupStack::PushL( lm );
-        return lm;
-        }
-    else
-        {
-        User::Leave( KErrNotFound );
-        return NULL;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CPosLandmark* CMnrpEngine::AddressToCoordL( const TDesC& aAddress )
-    {
-    TArray<CPosLandmark*> pois = KnownPlacesL();
-
-    if ( aAddress.Length() )
-        {
-        for ( TInt i = 0; i < pois.Count(); i++ )
-            {
-            TPtrC city, country;
-            pois[i]->GetPositionField( EPositionFieldCity, city );
-            pois[i]->GetPositionField( EPositionFieldCountry, country );
-            
-            if ( aAddress.FindF( city ) >= 0 )
-                {
-                return CPosLandmark::NewL( *pois[i] );
-                }
-            }
-        }
-        
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TReal32 CMnrpEngine::DistanceBetweenLandmarks( 
-    const CPosLandmark& aFrom,
-    const CPosLandmark& aTo )
-    {
-    TRealX nan;
-    nan.SetNaN();
-    TReal32 distance = nan;
-    
-    TLocality locFrom, locTo;
-
-    if ( aFrom.GetPosition( locFrom ) == KErrNone &&
-         aTo.GetPosition( locTo ) == KErrNone )
-        {
-        TReal32 dist;
-        if ( locFrom.Distance( locTo, dist ) == KErrNone )
-            {
-            distance = dist;
-            }
-        }
-    return distance;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpEngine::FindClosestPoisL( 
-    const CPosLandmark& aReference,
-    RArray<CMnrpEngine::TDistanceToPoi>& aNeighbourPois,
-    TInt aMaxMatches )
-    {
-    aNeighbourPois.Reset();
-    TArray<CPosLandmark*> pois = KnownPlacesL();
-
-    // calc distances to known places and find out closest ones
-    for ( TInt i = 0; i < pois.Count(); i++ )
-        {
-        CPosLandmark* poi = pois[i];
-
-        TReal32 distance = DistanceBetweenLandmarks( aReference, *poi );
-        
-        if ( Math::IsNaN( distance ) )
-            {
-            continue;
-            }
-        
-        TDistanceToPoi newDistToPoi;
-        newDistToPoi.iPoiIndex = i;
-        newDistToPoi.iDistance = distance;
-
-        for ( TInt k = 0; k < aNeighbourPois.Count(); k++ )
-            {
-            TDistanceToPoi distToPoi = aNeighbourPois[k];
-            if ( distance < distToPoi.iDistance )
-                {
-                // current POI is closer to reference than current neighbour
-                aNeighbourPois.InsertL( newDistToPoi, k );
-                break;
-                }
-            }
-
-        if ( aNeighbourPois.Count() < aMaxMatches )
-            {
-            aNeighbourPois.AppendL( newDistToPoi );
-            }
-
-        if ( aNeighbourPois.Count() > aMaxMatches )
-            {
-            aNeighbourPois.Remove( aNeighbourPois.Count() - 1 ); // remove last
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CPosLandmark* CMnrpEngine::CreateCloseLandmarkLC( 
-    const CPosLandmark& aReference,
-    TReal32 aDistance )
-    {
-    CPosLandmark* lm = CPosLandmark::NewLC( aReference );
-    TPtrC oldName;
-    lm->GetLandmarkName( oldName );
-    
-    // create street in the form of "50 km to <POI name>"
-    const TInt KDistValueLen = 5; // "40000"
-    const TInt KAdditionalChars = 7; // " km to "
-
-    _LIT( KLocationNameFormat, "%d m to %S" );
-    _LIT( KLocationNameFormatKm, "%d km to %S" );
-
-    HBufC* locName = HBufC::NewLC( oldName.Length() + KDistValueLen + KAdditionalChars );
-
-    if ( aDistance < 1000 )
-        {
-        locName->Des().Format( KLocationNameFormat, TInt( aDistance ), &oldName );
-        }
-    else
-        {
-        locName->Des().Format( KLocationNameFormatKm, TInt( aDistance / 1000 ), &oldName );
-        }
-
-    lm->SetPositionFieldL( EPositionFieldLocationName, *locName );
-    lm->SetPositionFieldL( EPositionFieldStreet, *locName );
-   
-    CleanupStack::PopAndDestroy( locName );
-    return lm; // left in stack
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CPosLandmark* CMnrpEngine::CoordToAddressLC( const TCoordinate& aLocation )
-    {
-    TArray<CPosLandmark*> pois = KnownPlacesL();
-
-    // find closest POI
-    RArray<TDistanceToPoi> matches;
-	CleanupClosePushL( matches );
-    
-    CPosLandmark* temp = CPosLandmark::NewLC();
-    TLocality loc( aLocation, 0 ); // accuracy is not used by this implementation
-    temp->SetPositionL( loc );
-    FindClosestPoisL( *temp, matches, 1 ); // only one match needed
-    CleanupStack::PopAndDestroy( temp );
-    
-    if ( matches.Count() < 1 )
-		{
-		User::Leave( KErrNotFound );
-		}
-
-    TDistanceToPoi distToPoi = matches[0];
-	CleanupStack::PopAndDestroy( &matches );
-
-    CPosLandmark* lm = CreateCloseLandmarkLC(
-        *pois[distToPoi.iPoiIndex],
-        distToPoi.iDistance );
-
-    return lm; // left in stack
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpEngine::BestCoordToAddressMatchesL( 
-    const TCoordinate& aLocation,
-    RPointerArray<CPosLandmark>& aMatches,
-    TInt aMaxMatches )
-    {
-    TArray<CPosLandmark*> pois = KnownPlacesL();
-
-    // find closest POIs
-    RArray<TDistanceToPoi> matches;
-    CleanupClosePushL( matches );
-    
-    CPosLandmark* temp = CPosLandmark::NewLC();
-    TLocality loc( aLocation, 0 ); // accuracy is not used by this implementation
-    temp->SetPositionL( loc );
-    FindClosestPoisL( *temp, matches, aMaxMatches );
-    CleanupStack::PopAndDestroy( temp );
-    
-    for ( TInt i = 0; i < matches.Count(); i++ )
-        {
-        TDistanceToPoi distToPoi = matches[i];
-        
-        CPosLandmark* lm = CreateCloseLandmarkLC( 
-            *pois[distToPoi.iPoiIndex], 
-            distToPoi.iDistance );
-            
-        aMatches.AppendL( lm );    
-        CleanupStack::Pop( lm );
-        }
-    CleanupStack::PopAndDestroy( &matches );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpEngine::FindResourceFileL( 
-    const TDesC& aFilePathAndName,
-    TFileName& aRscFile )
-    {
-    TParse parse;
-    parse.Set( aFilePathAndName, NULL, NULL );
-    
-    TFindFile finder( iFileSession );
-    if ( finder.FindByDir( parse.NameAndExt(), parse.Path() ) == KErrNone )
-        {
-        aRscFile.Copy( finder.File() );
-        }
-    else
-        {
-        User::Leave( KErrNotFound );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C RFs& CMnrpEngine::Fs() 
-    { 
-    return iFileSession;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpEngine::LoadKnownPlacesL()
-    {
-    TFileName resourceFile;
-    FindResourceFileL( KCitiesResourceFile(), resourceFile );
-
-    CResourceFile* resFile = CResourceFile::NewLC( iFileSession, resourceFile, 0, 0 );
-    resFile->ConfirmSignatureL( 0 );
-
-    RResourceReader reader;
-
-    reader.OpenLC( resFile, R_MNREFPROVIDERENGINE_PLACES );
-    ReadPlacesResourceL( reader );
-    CleanupStack::PopAndDestroy( &reader );
-    
-    CleanupStack::PopAndDestroy( resFile );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpEngine::ReadPlacesResourceL( RResourceReader& aReader )
-    {
-    TInt size = aReader.ReadInt16L();
-
-    for ( TInt i = 0; i < size; i++ )
-        {
-        HBufC* city = aReader.ReadHBufCL();
-        CleanupStack::PushL( city );
-        HBufC* country = aReader.ReadHBufCL();
-        CleanupStack::PushL( country );
-
-        TReal64 lat = aReader.ReadReal64L();
-        TReal64 lon = aReader.ReadReal64L();
-        
-        CPosLandmark* lm = CPosLandmark::NewLC();
-        lm->SetLandmarkNameL( *city );
-        
-        lm->SetPositionFieldL( EPositionFieldCity, *city );
-        lm->SetPositionFieldL( EPositionFieldCountry, *country );
-        
-        TLocality coord;
-        coord.SetCoordinate( lat, lon );
-        lm->SetPositionL( coord );
-        
-        iPlaces.AppendL( lm );
-        CleanupStack::Pop( lm );
-        CleanupStack::PopAndDestroy( country );
-        CleanupStack::PopAndDestroy( city );
-        }
-    }
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpgeocodingservice.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,343 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpGeocodingService class implementation
-*
-*/
-
-
-#include <e32base.h>
-
-#include <aknnotewrappers.h>
-
-#include <lbsposition.h>
-
-#include <epos_cposlandmark.h>
-#include <epos_poslandmarkserialization.h>
-
-#include <mngeocodingservicebase.h>
-
-#include "debug.h"
-
-#include "mnrpappserverback.h"
-#include "mnrpappuiback.h"
-#include "mnrpdocumentback.h"
-#include "mnrpengine.h"
-
-#include <mnrefproviderback.rsg>
-#include "mnrpgeocodingservice.h"
-
-// ======== LOCAL FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-//  Cleanup item for RPointerArray<CPosLandmark>
-// ---------------------------------------------------------------------------
-//
-void CleanupLandmarksArray( TAny* aArray )
-    {
-    ( static_cast<RPointerArray<CPosLandmark>*>( aArray ) )->ResetAndDestroy();
-    }
-
-// ---------------------------------------------------------------------------
-//  Cleanup item for moving application fore/background
-// ---------------------------------------------------------------------------
-//
-void CleanupForeground( TAny* aAppUi )
-    {
-    ( static_cast<CMnrpAppUiBack*>( aAppUi ) )->MoveBackground();
-    }
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpGeocodingService::CMnrpGeocodingService( CMnrpEngine& aEngine )
- :  iEngine( aEngine )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpGeocodingService* CMnrpGeocodingService::NewL( CMnrpEngine& aEngine )
-    {
-    CMnrpGeocodingService* self = new (ELeave) CMnrpGeocodingService( aEngine );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpGeocodingService::~CMnrpGeocodingService()
-    {
-    delete iProcessor;
-    delete iLandmark;
-    delete iPlainAddress;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpGeocodingService::ConstructL()
-    {
-    BaseConstructL();
-    
-    iProcessor = CIdle::NewL( CActive::EPriorityIdle );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpGeocodingService::LeaveIfBusyL()
-    {
-    if ( iProcessor->IsActive() )
-        {
-        User::Leave( KErrInUse );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpGeocodingService::StartProcessingL()
-    {
-    iProcessor->Start( TCallBack( CMnrpGeocodingService::GeocodingProcessingCallBack, this ) );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-TInt CMnrpGeocodingService::GeocodingProcessingCallBack( TAny* aPtr )
-    {
-    CMnrpGeocodingService* self =    
-        static_cast<CMnrpGeocodingService*> ( aPtr );
-        
-    self->HandleGeocodingCompleted();
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpGeocodingService::HandleGeocodingCompleted()
-    {
-    TInt err = KErrNone;
-    TRAP( err, FinishProcessingL() );
-    if ( err )
-        {
-        CompleteRequest( err );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpGeocodingService::FinishProcessingL()
-    {
-    LOG1("MnRefProvider: FinishProcessingL in, cursvc %d", iCurrentService);
-
-    TLocality loc;
-    CPosLandmark* lm = NULL;
-    
-    switch ( iCurrentService )
-        {
-        case ECoordToAddr:
-                
-            if ( iDialogAllowed )
-                {
-                lm = LetUserSelectBestMatchL( *iLandmark );
-                CleanupStack::PushL( lm );
-                }
-            else
-                {
-                // search and return just best match - closest POI
-                if ( iLandmark->GetPosition( loc ) != KErrNone )
-                    {
-                    User::Leave( KErrArgument );
-                    }
-                lm = iEngine.CoordToAddressLC( loc );
-                }
-            break;
-
-        case EAddrToCoord:
-            lm = iEngine.AddressToCoordLC( *iLandmark );
-            break;
-
-        case EPlainToCoord:
-            lm = iEngine.AddressToCoordLC( *iPlainAddress );
-            break;
-            
-        default:            
-            User::Leave( KErrGeneral );
-        }
-
-    iCurrentService = ENone;    
-    
-    CompleteGeocodingRequestL( *lm );
-    CleanupStack::PopAndDestroy( lm );
-
-    LOG("MnRefProvider: FinishProcessingL out");
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CPosLandmark* CMnrpGeocodingService::LetUserSelectBestMatchL( const CPosLandmark& aReference )
-    {
-    // 1. Find best matches
-    
-    RPointerArray<CPosLandmark> matches;
-    CleanupStack::PushL( TCleanupItem( CleanupLandmarksArray, &matches ) );
-    
-    TLocality location;
-    if ( aReference.GetPosition( location ) != KErrNone )
-        {
-        User::Leave( KErrArgument );
-        }
-    
-    const TInt KMaxmMatches = 3;
-    iEngine.BestCoordToAddressMatchesL( location, matches, KMaxmMatches );
-    
-    if ( matches.Count() < 1 )
-        {
-        User::Leave( KErrNotFound ); // cannot find any match
-        }
-    
-    // 2. Start selection dialog
-    
-    TInt result = 1, selected = 0;
-    if ( matches.Count() > 1 )
-        {
-        // prepare dialog
-        const TInt KGranularity = 8;
-        CDesCArraySeg *textArray = new (ELeave) CDesCArraySeg( KGranularity );
-        CleanupStack::PushL( textArray );
-        
-        for ( TInt i = 0; i < matches.Count(); i++ )
-            {
-            HBufC* buf = HBufC::NewLC( KPosLmMaxTextFieldLength );
-            TPtrC ptr( buf->Des() );
-            
-            matches[i]->GetPositionField( EPositionFieldLocationName, ptr );
-            textArray->AppendL( ptr );
-
-            CleanupStack::PopAndDestroy( buf );
-            }
-        
-        // bring application foreground
-        CMnrpAppUiBack* ui = (CMnrpAppUiBack*) CEikonEnv::Static()->AppUi();
-        CleanupStack::PushL( TCleanupItem( CleanupForeground, ui ) );
-        ui->MoveForeground();
-
-        CAknListQueryDialog* dialog = new (ELeave) CAknListQueryDialog( &selected );
-        dialog->PrepareLC( R_MNREFGEOCODER_LIST_QUERY );
-
-        dialog->SetItemTextArray( textArray );
-        dialog->SetOwnershipType( ELbmOwnsItemArray );
-
-        // pop up dialog
-        result = dialog->RunLD();
-
-        CleanupStack::PopAndDestroy(); // move background
-        CleanupStack::Pop( textArray );
-        }
-
-    // 3. Return result
-    CPosLandmark* lm = NULL;
-    if ( result )
-        {
-        lm = matches[selected];
-        matches.Remove( selected );
-        }
-    else
-        {
-        User::Leave( KErrCancel ); 
-        // user cancelled geocoding selection dialog
-        // it automatically cancels geocoding request
-        }
-
-    CleanupStack::PopAndDestroy(); // matches
-    return lm;
-    }
-
-// ---------------------------------------------------------------------------
-// From class CMnGeocodingServiceBase
-// ---------------------------------------------------------------------------
-//
-void CMnrpGeocodingService::HandleFindAddressByCoordinateL(
-    const CPosLandmark& aLandmark)
-    {
-    LeaveIfBusyL();
-
-    delete iLandmark;
-    iLandmark = NULL;
-    iLandmark = CPosLandmark::NewL(aLandmark);
-    
-    iCurrentService = ECoordToAddr;
-    iDialogAllowed = !( Options() & CMnGeocoder::EOptionDialogDisabled );
-    StartProcessingL();
-    }
-        
-// ---------------------------------------------------------------------------
-// From class CMnGeocodingServiceBase
-// ---------------------------------------------------------------------------
-//
-void CMnrpGeocodingService::HandleFindCoordinateByAddressL(
-    const CPosLandmark& aLandmark)
-    {
-    LeaveIfBusyL();
-
-    delete iLandmark;
-    iLandmark = NULL;
-    iLandmark = CPosLandmark::NewL( aLandmark );
-    
-    iCurrentService = EAddrToCoord;
-    iDialogAllowed = !( Options() & CMnGeocoder::EOptionDialogDisabled );
-    StartProcessingL();
-    }
-
-// ---------------------------------------------------------------------------
-// From class CMnGeocodingServiceBase
-// ---------------------------------------------------------------------------
-//
-void CMnrpGeocodingService::HandleFindCoordinateByAddressL(
-    const TDesC& aAddress)
-    {
-    LeaveIfBusyL();
-
-    delete iPlainAddress;
-    iPlainAddress = NULL;
-    iPlainAddress = aAddress.AllocL();
-    
-    delete iLandmark;
-    iLandmark = NULL;
-    iLandmark = CPosLandmark::NewL();
-    
-    iCurrentService = EPlainToCoord;
-    iDialogAllowed = !( Options() & CMnGeocoder::EOptionDialogDisabled );
-    StartProcessingL();
-    }
-
-// ---------------------------------------------------------------------------
-// From class CMnServiceBase
-// ---------------------------------------------------------------------------
-//
-void CMnrpGeocodingService::DoCancel()
-    {
-    iProcessor->Cancel();
-    iCurrentService = ENone;
-    }
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpmapcontrol.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,644 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpMapControl class implementation
-*
-*/
-
-
-#include <coemain.h>
-#include <aknlists.h>
-#include <barsread.h>
-#include <aknnotewrappers.h>
-
-#include <bitstd.h>
-#include <bitdev.h>
-
-#include <lbsposition.h>
-
-#include "debug.h"
-
-#include "mnrputils.h"
-#include "mnrpmapview.h"
-#include "mnrpmapcontrol.h"
-
-const TInt KCodeKeyLeft = 0x34;
-const TInt KCodeKeyRight = 0x36;
-const TInt KCodeKeyUp = 0x32;
-const TInt KCodeKeyDown = 0x38;
-const TInt KCodeKeyCenter = 0x35;
-
-const TInt KCodeKeySelect = EKeyDevice3;
-const TInt KCodeKeySelect2 = 0x13;
-
-const TInt KCodeKeyZoomIn = 42;
-const TInt KCodeKeyZoomOut = 35;
-const TInt KCodeKeyZoomIn2 = 0x33;
-const TInt KCodeKeyZoomOut2 = 0x39;
-
-const TRgb KCursorColor( 255, 255, 255 );
-const TRgb KGridTextColor( 0, 0, 0 );
-const TRgb KOriginMarkColor( 0, 0, 255 );
-
-const TInt KTextFontHeightInTwips = 100;
-const TInt KItemFontHeightInTwips = 120;
-const TReal KBorderSizeFactor = 2;
-
-const TInt KCursorMarginSize = 20; // pixels
-const TInt KCursorArrowSize = 4; // pixels
-const TInt KCursorCircleRadius = 4; // pixels
-
-const TInt KCursorMove = 10; // pixels
-const TInt KWindowMove = 20; // pixels
-const TReal KJumpFactor = 5;
-const TReal KCrawlFactor = 2.0 / KCursorMove;
-
-const TReal KZoomOutRate = 1.5;
-const TReal KZoomInRate =  1 / KZoomOutRate;
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapControl::CMnrpMapControl( CMnrpMapView& aView )
- :  iView( aView )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapControl::~CMnrpMapControl()
-    {
-    delete iModel;
-    delete iOffScreenBitmap;
-    DestroyFonts();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapControl* CMnrpMapControl::NewL( 
-    CMnrpMapView& aView,
-    const TRect& aRect,
-    CMnrpEngine& aEngine )
-    {
-    CMnrpMapControl* self = new ( ELeave ) CMnrpMapControl( aView );
-    CleanupStack::PushL( self );
-    self->ConstructL( aRect, aEngine );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::UpdateModelL( CMnrpMapViewService& aService )
-    {
-    iModel->UpdateModelL( aService );
-    }
-    
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::SetSelectionModeL( TBool aSelectionMode ) 
-    {
-    iSelectionMode = aSelectionMode;
-    iAbsoluteCursor = iModel->Center();
-    iCursor = iModel->AbsoluteToScreen( iAbsoluteCursor );
-    DrawDeferred();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TCoordinate CMnrpMapControl::CurrentLocation()
-    {
-    return iAbsoluteCursor;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::ConstructL( 
-    const TRect& aRect,
-    CMnrpEngine& aEngine )
-    {
-    // Create a window for this application view
-    CreateWindowL();
-
-    iModel = CMnrpMapModel::NewL( *this, aEngine );
-
-    // Set the windows size
-    SetRect( aRect );
-    
-    iAbsoluteCursor = TCoordinate( 0, 0 );
-    iCursor = iModel->AbsoluteToScreen( iAbsoluteCursor );
-    
-    CreateFonts();
-    CreateScreenBufferL( aRect.Size() );
-
-    // Activate the window, which makes it ready to be drawn
-    ActivateL();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CMnrpMapControl::OfferKeyEventL(
-    const TKeyEvent& aKeyEvent, 
-    TEventCode /*aType*/ )
-    {
-    TKeyResponse response = EKeyWasConsumed;
-    
-    TInt step = iSelectionMode ? KCursorMove : KWindowMove;
-    TBool isShift = aKeyEvent.iModifiers & EModifierShift;
-    TReal crawlFactor = isShift ? KCrawlFactor : 1;
-
-    TInt xmove = 0;
-    TInt ymove = 0;
-    
-    TBool redraw = ETrue;
-
-    switch ( aKeyEvent.iCode )
-        {
-        case EKeyLeftArrow:
-            xmove = -step * crawlFactor;
-            break;
-
-        case KCodeKeyLeft:
-            xmove = -step * KJumpFactor;
-            break;
-
-        case EKeyRightArrow:
-            xmove = step * crawlFactor;
-            break;
-
-        case KCodeKeyRight:
-            xmove = step * KJumpFactor;
-            break;
-
-        case EKeyUpArrow:
-            ymove = -step * crawlFactor;
-            break;
-
-        case KCodeKeyUp:
-        case EKeyPageUp:
-            ymove = -step * KJumpFactor;
-            break;
-
-        case EKeyDownArrow:
-            ymove = step * crawlFactor;
-            break;
-            
-        case KCodeKeyDown:
-        case EKeyPageDown:
-            ymove = step * KJumpFactor;
-            break;
-
-        case KCodeKeyZoomIn:
-        case KCodeKeyZoomIn2:
-            Zoom( KZoomInRate );
-            break;
-
-        case KCodeKeyZoomOut:
-        case KCodeKeyZoomOut2:
-            Zoom( KZoomOutRate );
-            break;
-
-        case KCodeKeyCenter:
-            iModel->GoCenter();
-            iCursor = iModel->AbsoluteToScreen( TCoordinate( 0, 0 ) );
-            break;
-
-        case KCodeKeySelect:
-        case KCodeKeySelect2:
-            if ( iSelectionMode )
-                {
-                iView.HandleUserSelectionL( KErrNone );
-                redraw = EFalse;
-                }
-            break;
-
-        default:
-            response = EKeyWasNotConsumed;
-            redraw = EFalse;
-            break;
-        }
-
-    if ( xmove || ymove )
-        {
-        if ( iSelectionMode )
-            {
-            MoveCursor( xmove, ymove );
-            }
-        else
-            {
-            TCoordinate center = iModel->Center();
-            TCoordinate moveTo( 
-                center.Latitude() - iModel->ScreenToAbsolute( ymove ),
-                center.Longitude() + iModel->ScreenToAbsolute( xmove ) );
-            iModel->MoveTo( moveTo );
-            }
-        }
-
-    if ( redraw )
-        {
-        RenderL();
-        DrawDeferred();
-        }
-
-    return response;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::HandleModelUpdateL()
-    {
-    RenderL();
-    DrawDeferred();
-    
-    TInt ignored = iModel->NumIgnoredLandmarks();
-    if ( ignored )
-    	{
-        CAknInformationNote* note = new (ELeave) CAknInformationNote( ETrue );
-        _LIT( KMessageIgnoredLm, "One landmark\nhas no coordinates\nand can't be shown." );
-        _LIT( KMessageIgnoredLms, "%d landmarks\nhave no coordinates\nand can't be shown." );
-        if ( ignored == 1 )
-        	{
-        	note->ExecuteLD( KMessageIgnoredLm() );
-        	}
-        else
-        	{
-            TBuf<64> message;
-        	message.Format( KMessageIgnoredLms, ignored );
-        	note->ExecuteLD( message );
-        	}
-    	}
-    }
-    
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::CreateScreenBufferL( const TSize& aSize )
-	{
-	CGraphicsDevice* screenDevice = iEikonEnv->ScreenDevice();
-
-	// create a bitmap to be used off-screen
-	CFbsBitmap* offScreenBitmap = new (ELeave) CFbsBitmap();
-	User::LeaveIfError( offScreenBitmap->Create( aSize, screenDevice->DisplayMode() ) );
-	CleanupStack::PushL( offScreenBitmap );
-
-	if ( iOffScreenBitmap )
-		{
-		delete iOffScreenBitmap;
-		}
-	iOffScreenBitmap = offScreenBitmap;
-
-	CleanupStack::Pop( offScreenBitmap );
-	}
-
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::CreateFonts()
-	{
-    CGraphicsDevice* screenDevice = iEikonEnv->ScreenDevice();
-
-    const CFont* denseFont = iEikonEnv->DenseFont();
-    TFontSpec fs = denseFont->FontSpecInTwips();
-
-    fs.iHeight = KTextFontHeightInTwips;
-    screenDevice->GetNearestFontInTwips( iTextFont, fs );
-    
-    fs.iHeight = KItemFontHeightInTwips;
-    screenDevice->GetNearestFontInTwips( iItemFont, fs );
-	}
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::DestroyFonts()
-	{
-	CGraphicsDevice* screenDevice = iEikonEnv->ScreenDevice();
-	
-    screenDevice->ReleaseFont( iItemFont );
-    iItemFont = NULL;
-    screenDevice->ReleaseFont( iTextFont );
-    iTextFont = NULL;
-	}
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::Draw( const TRect& /*aRect*/ ) const
-    {
-    // Get the standard graphics context
-    CWindowGc& gc = SystemGc();
-
-    TRect rect = Rect();
-    TRect border( rect );
-    border.Shrink( BorderSize() );
-	
-    gc.Clear( TRect( rect.iTl.iX, rect.iTl.iY, rect.iBr.iX, border.iBr.iY ) );
-    gc.Clear( TRect( rect.iTl.iX, border.iBr.iY, rect.iBr.iX, rect.iBr.iY ) );
-    gc.Clear( TRect( rect.iTl.iX, border.iTl.iY, border.iTl.iX, border.iBr.iY ) );
-    gc.Clear( TRect( border.iBr.iX, border.iTl.iY, rect.iBr.iX, border.iBr.iY ) );
-
-    CMnrpMapModel::TGrid grid;
-    iModel->GetGrid( grid );
-    DrawGridText( gc, border, rect, iTextFont, grid );
-
-	if ( iOffScreenBitmap )
-		{
-		gc.BitBlt( border.iTl, iOffScreenBitmap );
-		}
-	else
-		{
-		gc.Clear();	
-		}
-			
-    if ( iSelectionMode )
-        {
-        gc.SetOrigin( border.iTl );
-        DrawCursor( gc );
-        }
-
-    // draw border
-    gc.SetPenColor( KRgbGray );
-    gc.SetPenSize( TSize( 1, 1 ) );
-    gc.SetOrigin( rect.iTl );
-    gc.DrawRect( border );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::DrawGridText( 
-    CWindowGc& aGc, 
-    const TRect& aInnerBox,
-    const TRect& aOuterBox,
-    const CFont* aFont,
-    CMnrpMapModel::TGrid& aGrid ) const
-    {
-    aGc.UseFont( aFont );
-    
-    TBuf<KMaxCoordStrSize> latTopStr, latBottomStr, lonLeftStr, lonRightStr;
-    TBuf<KMaxCoordStrSize> gridMajorStr, latStr, lonStr;
-    
-    MnrpUtils::CoordinateToString( iModel->Left(), lonLeftStr, ETrue );
-    MnrpUtils::CoordinateToString( iModel->Top(), latTopStr, ETrue );
-    MnrpUtils::CoordinateToString( iModel->Right(), lonRightStr, ETrue );
-    MnrpUtils::CoordinateToString( iModel->Bottom(), latBottomStr, ETrue );
-
-    if ( !iSelectionMode )
-        {
-        MnrpUtils::CoordinateToString( ( iModel->Right() + iModel->Left() ) / 2, lonStr, ETrue );
-        MnrpUtils::CoordinateToString( ( iModel->Top() + iModel->Bottom() ) / 2, latStr, ETrue );
-        }
-    else
-        {
-        MnrpUtils::CoordinateToString( iAbsoluteCursor.Longitude(), lonStr, ETrue );
-        MnrpUtils::CoordinateToString( iAbsoluteCursor.Latitude(), latStr, ETrue );
-        }
-
-    MnrpUtils::CoordinateToString( aGrid.iAbsoluteGridStep, gridMajorStr );
-
-    TRect lonBox( aInnerBox.iTl.iX, 0, aInnerBox.iBr.iX, aInnerBox.iBr.iY );
-    TRect latBox( 0, aInnerBox.iTl.iY, aInnerBox.iTl.iX, aInnerBox.iBr.iY );
-    TRect centerBox( aInnerBox.iTl.iX, aInnerBox.iBr.iY, aInnerBox.iBr.iX, aOuterBox.iBr.iY );
-
-    TInt textBaseLine = aFont->AscentInPixels() + KBorderSizeFactor / 2;
-    TInt vertTextBaseLine = aFont->AscentInPixels() + KBorderSizeFactor / 2;
-
-    aGc.SetPenColor( KGridTextColor );
-
-    aGc.DrawText( lonLeftStr, lonBox, textBaseLine, CGraphicsContext::ELeft );
-    aGc.DrawText( lonRightStr, lonBox, textBaseLine, CGraphicsContext::ERight );
-    aGc.DrawTextVertical( latTopStr, latBox, vertTextBaseLine, EFalse, CGraphicsContext::ELeft );
-    aGc.DrawTextVertical( latBottomStr, latBox, vertTextBaseLine, EFalse, CGraphicsContext::ERight );
-
-    aGc.DrawText( gridMajorStr, lonBox, textBaseLine, CGraphicsContext::ECenter );
-
-    aGc.SetPenColor( KOriginMarkColor );
-    aGc.DrawText( latStr, centerBox, textBaseLine, CGraphicsContext::ELeft );
-    aGc.DrawText( lonStr, centerBox, textBaseLine, CGraphicsContext::ERight );
-    
-    aGc.DiscardFont();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::DrawCursor( CWindowGc& aGc ) const
-    {
-    aGc.SetPenColor( KCursorColor );
-    aGc.SetPenSize( TSize( 1, 1 ) );
-    aGc.SetDrawMode( CGraphicsContext::EDrawModeNOTSCREEN );
-    
-    TRect cursorCircleRect( iCursor, TSize( 0, 0 ) );
-    cursorCircleRect.Grow( KCursorCircleRadius, KCursorCircleRadius );
-    aGc.DrawEllipse( cursorCircleRect );
-    
-    // upper vertical line
-    aGc.DrawLine( TPoint( iCursor.iX, cursorCircleRect.iTl.iY ), 
-                  TPoint( iCursor.iX, cursorCircleRect.iTl.iY - KCursorArrowSize ) );
-    // lower vertical line
-    aGc.DrawLine( TPoint( iCursor.iX, cursorCircleRect.iBr.iY ), 
-                  TPoint( iCursor.iX, cursorCircleRect.iBr.iY + KCursorArrowSize ) );
-
-    // left horiz line
-    aGc.DrawLine( TPoint( cursorCircleRect.iTl.iX, iCursor.iY ), 
-                  TPoint( cursorCircleRect.iTl.iX - KCursorArrowSize, iCursor.iY ) );
-    // right horiz line
-    aGc.DrawLine( TPoint( cursorCircleRect.iBr.iX, iCursor.iY ), 
-                  TPoint( cursorCircleRect.iBr.iX + KCursorArrowSize, iCursor.iY ) );
-
-    aGc.SetDrawMode( CGraphicsContext::EDrawModePEN );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::SizeChanged()
-    {
-    TRect rect( Rect() );
-    
-    DestroyFonts();
-    CreateFonts();
-    
-    rect.Shrink( BorderSize() );
-    iViewSize = rect.Size();
-    iModel->SetScreenSize( iViewSize );
-    TRAP_IGNORE( CreateScreenBufferL( rect.Size() ) );
-    TRAP_IGNORE( RenderL() );
-    DrawDeferred();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::HandleResourceChange( TInt aType )
-    {
-    CCoeControl::HandleResourceChange( aType );
-    if ( aType == KEikDynamicLayoutVariantSwitch )
-        {
-        SetFullScreen( iIsFullScreen );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::ToggleFullScreen()
-    {
-    SetFullScreen( !iIsFullScreen );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::SetFullScreen( TBool aFullScreen )
-    {
-    iIsFullScreen = aFullScreen;
-    if ( iIsFullScreen)
-        {
-        SetExtentToWholeScreen();
-        }
-    else
-        {
-        SetRect( iView.ClientRect() );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::MoveCursor( TInt aXmove, TInt aYmove )
-    {
-    iCursor += TPoint( aXmove, aYmove );
-
-    iCursor.iX = Max( 0, iCursor.iX );
-    iCursor.iX = Min( iViewSize.iWidth, iCursor.iX );
-
-    iCursor.iY = Max( 0, iCursor.iY );
-    iCursor.iY = Min( iViewSize.iHeight, iCursor.iY );
-
-    // verify cursor margin
-    TRect cursorMargin = CursorMargin();
-    
-    iAbsoluteCursor = iModel->ScreenToAbsolute( iCursor );
-    
-    TReal xcorrection = 0;
-    TReal ycorrection = 0;
-
-    if ( aXmove > 0 ) // moving right
-        {
-        TInt toMargin = iCursor.iX - cursorMargin.iBr.iX;
-        if ( toMargin > 0 ) // cursor went beyond cursor margin, move view
-            {
-            xcorrection = iModel->ScreenToAbsolute( toMargin );
-            }
-        }
-    else if ( aXmove < 0 ) // moving left
-        {
-        TInt toMargin = iCursor.iX - cursorMargin.iTl.iX;
-        if ( toMargin < 0 )
-            {
-            xcorrection = iModel->ScreenToAbsolute( toMargin );
-            }
-        }
-
-    if ( aYmove > 0 ) // moving down
-        {
-        TInt toMargin = iCursor.iY - cursorMargin.iBr.iY;
-        if ( toMargin > 0 )
-            {
-            ycorrection = -iModel->ScreenToAbsolute( toMargin );
-            }
-        }
-    else if ( aYmove < 0 ) // moving up
-        {
-        TInt toMargin = iCursor.iY - cursorMargin.iTl.iY;
-        if ( toMargin < 0 )
-            {
-            ycorrection = -iModel->ScreenToAbsolute( toMargin );
-            }
-        }
-    
-    TCoordinate center = iModel->Center();
-    TCoordinate moveTo( 
-        center.Latitude() + ycorrection,
-        center.Longitude() + xcorrection );
-    iModel->MoveTo( moveTo );
-
-    iCursor = iModel->AbsoluteToScreen( iAbsoluteCursor );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TRect CMnrpMapControl::CursorMargin()
-    {
-    TRect rect( iViewSize );
-    rect.Shrink( KCursorMarginSize, KCursorMarginSize );
-    return rect;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::Zoom( TReal aRate )
-    {
-    if ( iSelectionMode )
-        {
-        iModel->MoveTo( iAbsoluteCursor );
-        iModel->Zoom( aRate );
-        iCursor = iModel->AbsoluteToScreen( iAbsoluteCursor );
-        }
-    else
-        {
-        iModel->Zoom( aRate );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TSize CMnrpMapControl::BorderSize() const 
-    {
-	TSize size( 0, 0 );
-	if ( iTextFont )
-		{
-	    TInt fontHeight = iTextFont->HeightInPixels();
-	    
-	    size.iWidth = size.iHeight = TInt( fontHeight + KBorderSizeFactor );
-		}
-    return size;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::RenderL()
-    {
-    TRect rect = Rect();
-    TRect border( rect );
-    border.Shrink( BorderSize() );
-
-    if ( iOffScreenBitmap && iTextFont && iItemFont )
-        {
-        iModel->RenderL( *iOffScreenBitmap, TRect( border.Size() ), iTextFont, iItemFont );
-        }
-    }
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpmapimageservice.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,243 +0,0 @@
-/*
-* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  ÑMnrpMapImageService class implementation
-*
-*/
-
-
-#include <e32base.h>
-#include <e32math.h>
-#include <e32property.h>
-#include <eikenv.h>
-#include <gdi.h>
-
-#include <lbsposition.h>
-
-#include <epos_cposlandmark.h>
-#include <epos_poslandmarkserialization.h>
-
-#include <mnmapimage.h>
-#include <mnmapimageparams.h>
-#include <mnmapimageservicebase.h>
-
-#include "debug.h"
-#include "mnrpengine.h"
-#include "mnrpappuiback.h"
-#include "mnrpappserverback.h"
-#include "mnrpmapmodel.h"
-#include "mnrpmapimageservice.h"
-
-const TInt KTextFontHeightInTwips = 100;
-const TInt KItemFontHeightInTwips = 120;
-
-const TTimeIntervalMicroSeconds32 KProcessingDelay = 200 * 1000;
-
-// ======== LOCAL FUNCTIONS ========
-
-extern void CoordinateToString( TReal aCoord, TDes& aStr );
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpMapImageService* CMnrpMapImageService::NewL( CMnrpEngine& aEngine )
-    {
-    CMnrpMapImageService* self = new (ELeave) CMnrpMapImageService( aEngine );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpMapImageService::CMnrpMapImageService( CMnrpEngine& aEngine )
-  : iEngine( aEngine )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpMapImageService::~CMnrpMapImageService()
-    {
-	if ( iProcessor )
-		{
-	    iProcessor->Cancel();
-	    delete iProcessor;
-		}
-    delete iModel;
-    DestroyFonts();
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapImageService::ConstructL()
-    {
-    BaseConstructL();
-
-    iEikon = CEikonEnv::Static();
-    CreateFonts();
-
-    iModel = CMnrpMapModel::NewL( iEngine );
-    iProcessor = CPeriodic::NewL( CActive::EPriorityIdle );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapImageService::LeaveIfBusyL()
-    {
-    if ( iProcessor->IsActive() )
-        {
-        LOG("CMnRefProviderMapViewService::LeaveIfBusyL BUSY");
-        User::Leave( KErrInUse );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapImageService::StartProcessingL()
-    {
-    iProcessor->Start( KProcessingDelay, KProcessingDelay,
-        TCallBack( CMnrpMapImageService::MapImageProcessingCallBack, this ) );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-TInt CMnrpMapImageService::MapImageProcessingCallBack( TAny* aPtr )
-    {
-    CMnrpMapImageService* self =
-        static_cast<CMnrpMapImageService*> ( aPtr );
-
-    TRAP_IGNORE( self->HandleMapImageCompletedL() );
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapImageService::HandleMapImageCompletedL()
-    {
-    iProcessor->Cancel();
-    TInt err = KErrNone;
-    TRAP( err, FinishProcessingL() );
-    if ( err )
-        {
-        CompleteRequest( err );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapImageService::RenderL()
-    {
-    TMnMapImageParams& params = MapImageParams();
-
-    if ( params.Direction() != 0 ||
-         params.ImageType() != TMnMapImageParams::ETypeVectorMap )
-        {
-        User::Leave( KErrNotSupported );
-        }
-
-    CFbsBitmap& bitmap = TargetBitmap();
-
-    iModel->SetScreenSize( params.Size() );
-    iModel->UpdateModelL( *this );
-    iModel->RenderL( bitmap, TRect( params.Size() ), iTextFont, iItemFont );
-
-    // complete request
-    params.SetProjectionId(0);
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapImageService::CreateFonts()
-	{
-    CGraphicsDevice* screenDevice = iEikon->ScreenDevice();
-
-    const CFont* denseFont = iEikon->DenseFont();
-    TFontSpec fs = denseFont->FontSpecInTwips();
-
-    fs.iHeight = KTextFontHeightInTwips;
-    screenDevice->GetNearestFontInTwips( iTextFont, fs );
-
-    fs.iHeight = KItemFontHeightInTwips;
-    screenDevice->GetNearestFontInTwips( iItemFont, fs );
-	}
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapImageService::DestroyFonts()
-	{
-	CGraphicsDevice* screenDevice = iEikon->ScreenDevice();
-
-    screenDevice->ReleaseFont( iItemFont );
-    screenDevice->ReleaseFont( iTextFont );
-	}
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapImageService::FinishProcessingL()
-    {
-    LOG1("FinishProcessingL in, cursvc %d", iCurrentService);
-    TCoordinate coord;
-    switch ( iCurrentService )
-        {
-        case ERender:
-            {
-            RenderL();
-            }
-            break;
-
-        default:
-            User::Leave( KErrGeneral );
-        }
-
-    iCurrentService = ENone;
-    CompleteRendering();
-    LOG("FinishProcessingL out");
-    }
-
-// ---------------------------------------------------------------------------
-// From class CMnMapImageServiceBase
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapImageService::HandleRenderingL()
-    {
-    LeaveIfBusyL();
-
-    iCurrentService = ERender;
-    StartProcessingL();
-    }
-
-// ---------------------------------------------------------------------------
-// From class CMnServiceBase
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapImageService::DoCancel()
-    {
-    iProcessor->Cancel();
-    iCurrentService = ENone;
-    }
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpmapmodel.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1251 +0,0 @@
-/*
-* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpMapModel class implementation
-*
-*/
-
-
-
-#include <coemain.h>
-#include <barsread.h>
-#include <bautils.h>
-
-#include <aknlists.h>
-#include <akniconutils.h>
-#include <aknwaitdialog.h>
-
-#include <fbs.h>
-#include <imageconversion.h>
-#include <icl/imagedata.h>
-
-#include <lbs.h>
-#include <lbsposition.h>
-#include <lbspositioninfo.h>
-
-#include <epos_cposlandmark.h>
-#include <epos_cposlandmarkdatabase.h>
-#include <epos_cposlandmarkcategory.h>
-#include <epos_cposlmcategorymanager.h>
-
-#include "debug.h"
-#include "mnrpengine.h"
-#include "mnrputils.h"
-#include "mnrpappserver.h"
-
-#include "mnrpmapviewservice.h"
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-#include "mnrpmapimageservice.h"
-#endif
-#include "mnrpmapmodel.h"
-
-const TInt KUpdateInterval = 1 * 1000 * 1000; // 1 sec
-const TInt KUpdateTimeout = 10 * 1000 * 1000; // 10 sec
-
-const TInt KMaxX = 180;
-const TInt KMinX = -180;
-const TInt KMapWidth = KMaxX - KMinX;
-
-const TInt KMaxY = 90;
-const TInt KMinY = -90;
-const TInt KMapHeight = KMaxY - KMinY;
-
-const TReal KDegree = 1.0;
-const TReal KMinute = KDegree / 60.0;
-const TReal KSecond = KMinute / 60.0;
-const TReal KMilliSecond = KSecond / 1000.0;
-
-const TReal KMaxCell = 60 * KDegree;
-const TReal KMinScale = 10 * KMilliSecond; // 0.01 second / 1 px
-
-const TInt KBigCellsInView = 2;
-
-const TInt KCellDividers[] = { 6, 2, 5 };
-const TInt KNumCellDividers = 3;
-
-const TReal KDefaultRadius = 1; // 1 degree
-const TReal KRadiusBorderFactor = 1.1; // 110%
-
-const TReal KEarthEquator = 40075000;
-//const TReal KEarthRadius = 6371010;
-
-const TInt KLmTextOffset = 3;
-const TInt KLmTextShadowOffset = 1;
-
-const TInt KGridPenSize( 1 );
-
-// ============================ LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TPoint AbsoluteToImage( TRealPoint aAbsolute, TReal aImageToAbsoluteScale )
-    {
-    TInt s = ( KMapWidth / 2 + aAbsolute.iX ) / aImageToAbsoluteScale;
-    TInt t = ( KMapHeight / 2 - aAbsolute.iY ) / aImageToAbsoluteScale;
-
-    return TPoint( s , t );
-    }
-
-// ============================ MEMBER CLASSES' FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-//  TRealPoint implementation
-// -----------------------------------------------------------------------------
-//
-
-TRealPoint::TRealPoint()
-    {
-    TRealX nan;
-    nan.SetNaN();
-
-    iX = nan;
-    iY = nan;
-    }
-
-TRealPoint::TRealPoint( TReal aX, TReal aY )
-    : iX( aX ), iY( aY )
-    {
-    }
-
-TRealPoint::TRealPoint( TCoordinate aCoordinate )
-    : iX( aCoordinate.Longitude() ), iY( aCoordinate.Latitude() )
-    {
-    }
-
-TCoordinate TRealPoint::Coordinate()
-    {
-    return TCoordinate( iY, iX );
-    }
-
-TRealPoint TRealPoint::operator+(
-    const TRealPoint& aRight )
-    {
-    return TRealPoint( this->iX + aRight.iX, this->iY + aRight.iY );
-    }
-
-TRealPoint TRealPoint::operator-(
-    const TRealPoint& aRight )
-    {
-    return TRealPoint( this->iX - aRight.iX, this->iY - aRight.iY );
-    }
-
-TRealPoint TRealPoint::operator*( const TReal& aRight )
-    {
-    return TRealPoint( this->iX * aRight, this->iY * aRight );
-    }
-
-TRealPoint TRealPoint::operator/( const TReal& aRight )
-    {
-    return TRealPoint( this->iX / aRight, this->iY / aRight );
-    }
-
-void TRealPoint::Set( TReal aX, TReal aY )
-    {
-    iX = aX;
-    iY = aY;
-    }
-
-TBool TRealPoint::IsValid()
-    {
-    return ( !Math::IsNaN( iX ) && !Math::IsNaN( iY ) );
-    }
-
-// -----------------------------------------------------------------------------
-//  CDrawItem implementation
-// -----------------------------------------------------------------------------
-//
-CMnrpMapModel::CDrawItem* CMnrpMapModel::CDrawItem::NewLC(
-    const CPosLandmark& aLm )
-    {
-    CDrawItem* self = new (ELeave) CDrawItem;
-    CleanupStack::PushL( self );
-
-    TPtrC name;
-    aLm.GetLandmarkName( name );
-    self->iText = MnrpUtils::PrintableStringLC( name );
-    CleanupStack::Pop( self->iText );
-
-    TLocality loc;
-    if ( KErrNone == aLm.GetPosition( loc ) )
-        {
-        self->SetAbsolutePosition( loc );
-        }
-
-    TPtrC iconFile;
-    TInt iconIndex, maskIndex;
-    if ( KErrNone == aLm.GetIcon( iconFile, iconIndex, maskIndex ) )
-        {
-        AknIconUtils::CreateIconL( self->iBitmap, self->iMask, iconFile, iconIndex, maskIndex );
-        AknIconUtils::PreserveIconData( self->iBitmap );
-        }
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapModel::CDrawItem* CMnrpMapModel::CDrawItem::NewLC(
-    const CPosLandmark& aLm,
-    CPosLmCategoryManager& aCatman )
-    {
-    CDrawItem* self = NewLC( aLm );
-
-    if ( !self->iBitmap )
-        {
-        // try icon from category
-        RArray<TPosLmItemId> cats;
-        CleanupClosePushL( cats );
-        aLm.GetCategoriesL( cats );
-
-        if ( cats.Count() == 1 )
-            {
-            CPosLandmarkCategory* cat = aCatman.ReadCategoryLC( cats[0] );
-
-            TPtrC iconFile;
-            TInt iconIndex, maskIndex;
-            if ( KErrNone == cat->GetIcon( iconFile, iconIndex, maskIndex ) )
-                {
-                AknIconUtils::CreateIconL( self->iBitmap, self->iMask, iconFile, iconIndex, maskIndex );
-                AknIconUtils::PreserveIconData( self->iBitmap );
-                }
-
-            CleanupStack::PopAndDestroy( cat );
-            }
-        CleanupStack::PopAndDestroy( &cats );
-        }
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapModel::CDrawItem::SetAbsolutePosition( const TLocality& aLocality )
-    {
-    iAbsolutePosition = TRealPoint( aLocality.Longitude(), aLocality.Latitude() );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapModel::CDrawItem::~CDrawItem()
-    {
-    if ( iBitmap )
-        {
-        AknIconUtils::DestroyIconData( iBitmap );
-        }
-    delete iBitmap;
-    delete iMask;
-    delete iText;
-    }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapModel::CMnrpMapModel(
-    MMapModelObserver& aObserver,
-    CMnrpEngine& aEngine )
-    :
-    iObserver( &aObserver ), iEngine( aEngine )
-    {
-    iScale = 1;
-    iViewOrigin.Set( 0, 0 );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapModel::CMnrpMapModel( CMnrpEngine& aEngine )
-    : iEngine( aEngine )
-    {
-    iScale = 1;
-    iViewOrigin.Set( 0, 0 );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapModel::~CMnrpMapModel()
-    {
-    delete iPositionRequest;
-    iDrawItems.ResetAndDestroy();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CMnrpMapModel* CMnrpMapModel::NewL(
-    MMapModelObserver& aObserver,
-    CMnrpEngine& aEngine )
-    {
-    CMnrpMapModel* self = new (ELeave) CMnrpMapModel( aObserver, aEngine );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CMnrpMapModel* CMnrpMapModel::NewL( CMnrpEngine& aEngine )
-    {
-    CMnrpMapModel* self = new (ELeave) CMnrpMapModel( aEngine );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapModel::ConstructL()
-    {
-    _LIT( KRequestorName, "MnRefProvider" );
-    iPositionRequest = CMnrpPositionRequest::NewL( KRequestorName, *this );
-
-    TPositionUpdateOptions options;
-    options.SetUpdateInterval( TTimeIntervalMicroSeconds( KUpdateInterval ) );
-    options.SetUpdateTimeOut( TTimeIntervalMicroSeconds( KUpdateTimeout ) );
-    iPositionRequest->SetOptionsL( options );
-
-    AddCitiesL();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TBool CMnrpMapModel::CheckDrawItemHasPositionL( CDrawItem& aItem, const CPosLandmark& aLandmark )
-	{
-    if ( !aItem.AbsolutePosition().IsValid() )
-        {
-        // try to find coordinate by address
-        CPosLandmark* poi = iEngine.AddressToCoordL( aLandmark );
-        if ( poi )
-        	{
-            TLocality pos;
-            poi->GetPosition( pos );
-            aItem.SetAbsolutePosition( pos );
-        	}
-    	delete poi;
-        }
-    
-    return aItem.AbsolutePosition().IsValid();
-	}
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpMapModel::UpdateModelL( CMnrpMapViewService& aService )
-    {
-    ASSERT( iObserver );
-
-    iDrawItems.ResetAndDestroy();
-
-    iShowCurrentLocation =
-        aService.CurrentLocationOption() != CMnMapView::ECurrentLocationDisabled;
-
-    if ( iShowCurrentLocation )
-        {
-        iPositionRequest->FetchNewPosition();
-        }
-
-    // Add client-defined marks
-    
-    iNumIgnoredLandmarks = 0;
-    TRealPoint min, max;
-
-    // add non-linked landmarks
-    for ( TInt i = 0; i < aService.LandmarksToShow().Count(); i++)
-        {
-        const CPosLandmark* lm = aService.LandmarksToShow()[i];
-        
-        CDrawItem* item = CDrawItem::NewLC( *lm );
-        if ( CheckDrawItemHasPositionL( *item, *lm ) )
-        	{
-        	iDrawItems.AppendL( item );
-            CleanupStack::Pop( item );
-            AdjustBoundingBox( *item, min, max );
-        	}
-        else
-        	{
-            CleanupStack::PopAndDestroy( item );
-            iNumIgnoredLandmarks++;
-        	}
-        }
-
-    // add linked landmarks
-    for ( TInt db = 0; db < aService.LandmarksToShowDatabases().Count(); db++ )
-        {
-        const HBufC* uri = aService.LandmarksToShowDatabases()[db];
-
-        LOG1("MnRefProvider::LinkedLandmarks: database (%S)", uri );
-
-        CPosLandmarkDatabase* lmdb = CPosLandmarkDatabase::OpenL( *uri );
-        CleanupStack::PushL( lmdb );
-
-        if ( lmdb->IsInitializingNeeded() )
-            {
-            ExecuteAndDeleteLD( lmdb->InitializeL() );
-            }
-
-        CPosLmCategoryManager* catman = CPosLmCategoryManager::NewL( *lmdb );
-        CleanupStack::PushL( catman );
-
-        for ( TInt i = 0; i < aService.LinkedLandmarksToShow(db).Count(); i++)
-            {
-            TPosLmItemId id = aService.LinkedLandmarksToShow(db)[i];
-            LOG1("MnRefProvider::LinkedLandmarks: id (%d)", id );
-
-            CPosLandmark* lm = lmdb->ReadLandmarkLC( id );
-
-            CDrawItem* item = CDrawItem::NewLC( *lm, *catman );
-            if ( CheckDrawItemHasPositionL( *item, *lm ) )
-            	{
-            	iDrawItems.AppendL( item );
-                CleanupStack::Pop( item );
-                AdjustBoundingBox( *item, min, max );
-            	}
-            else
-            	{
-                CleanupStack::PopAndDestroy( item );
-                iNumIgnoredLandmarks++;
-            	}
-
-            CleanupStack::PopAndDestroy( lm );
-            }
-
-        CleanupStack::PopAndDestroy( catman );
-        CleanupStack::PopAndDestroy( lmdb );
-        }
-
-    // Add predefined places
-    AddCitiesL();
-
-    LOG4("MnRefProvider::BoundingBox: %f, %f, %f, %f", min.iX, min.iY, max.iX, max.iY );
-
-    // set origin
-    iUseCurrentLocationAsOrigin = EFalse;
-    if ( aService.IsAreaCentralPointSet() )
-        {
-        TCoordinate center;
-        aService.GetAreaCentralPoint( center );
-        iViewOrigin.Set( center.Longitude(), center.Latitude() );
-        }
-    else if ( !Math::IsNaN( max.iX ) ) // others are also valid then
-        {
-        iViewOrigin.Set( ( max.iX + min.iX ) / 2, ( max.iY + min.iY ) / 2 );
-        }
-    else if ( iShowCurrentLocation )
-        {
-        // get current location and use it as center point
-        // this implementation defers location acquiring
-        iUseCurrentLocationAsOrigin = ETrue;
-        // FetchCurrentLocation();
-        iViewOrigin.Set( 0, 0 );
-        }
-    else
-        {
-        iViewOrigin.Set( 0, 0 );
-        }
-
-    LOG2("MnRefProvider: viewOrigin (%f, %f)", iViewOrigin.iX, iViewOrigin.iY);
-
-    // set scale
-    TReal desiredScale = 0;
-    TReal radius = 0;
-
-    if ( !Math::IsNaN( aService.AreaRadius() ) )
-        {
-         // Radius setting is easy in this implementation
-         // because map is rectangular just convert meters to degrees
-        radius = Abs( aService.AreaRadius() ) / KEarthEquator * 360;
-        LOG1("MnRefProvider: user radius (%f)", radius );
-        }
-    else if ( !Math::IsNaN( max.iX ) ) // others are also valid then
-        {
-        // get radius from bounding box
-        radius = Max( Abs( max.iX - min.iX ), Abs( max.iY - min.iY ) );
-        LOG2("MnRefProvider: bounding radius (%f), with border (%f)", radius, radius * KRadiusBorderFactor );
-        radius *= KRadiusBorderFactor;
-        }
-    else
-        {
-        // default radius
-        }
-
-    if ( radius <= 0 )
-        {
-        radius = KDefaultRadius;
-        LOG1("MnRefProvider: default radius (%f)", radius );
-        }
-
-    desiredScale = radius / TReal( Max( iScreenSize.iWidth, iScreenSize.iHeight ) );
-
-    LOG3("MnRefProvider: desired scale (%f), min (%f), max(%f)",
-        desiredScale, KMinScale, MaxScale() );
-
-    iScale = Max( Min( desiredScale, MaxScale() ), KMinScale );
-    CheckBorders();
-
-    LOG1("MnRefProvider: scale (%f)", iScale );
-
-    iObserver->HandleModelUpdateL();
-    }
-
-
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpMapModel::UpdateModelL( const CMnrpMapImageService& aService )
-    {
-    iDrawItems.ResetAndDestroy();
-
-    iShowCurrentLocation =
-        aService.ShowOptions() & CMnMapImage::EShowOptionCurrentLocation;
-
-    if ( iShowCurrentLocation )
-        {
-        iPositionRequest->FetchNewPosition();
-        }
-
-    if ( aService.ShowOptions() & CMnMapImage::EShowOptionLandmarks)
-        {
-
-        // Add user-defined marks
-        TRealPoint min, max;
-
-        // add default landmarks
-        CPosLandmarkDatabase* lmdb = CPosLandmarkDatabase::OpenL();
-        CleanupStack::PushL( lmdb );
-
-        if ( lmdb->IsInitializingNeeded() )
-            {
-            ExecuteAndDeleteLD( lmdb->InitializeL() );
-            }
-
-        CPosLmCategoryManager* catman = CPosLmCategoryManager::NewL( *lmdb );
-        CleanupStack::PushL( catman );
-
-        CPosLmItemIterator* iter = lmdb->LandmarkIteratorL();
-        CleanupStack::PushL( iter );
-
-        TInt count = iter->NumOfItemsL();
-        for ( TInt i = 0; i < count; i++)
-            {
-            TPosLmItemId id = iter->NextL();
-
-            CPosLandmark* lm = lmdb->ReadLandmarkLC( id );
-
-            CDrawItem* item = CDrawItem::NewLC( *lm, *catman );
-            if ( CheckDrawItemHasPositionL( *item, *lm ) )
-            	{
-            	iDrawItems.AppendL( item );
-                CleanupStack::Pop( item );
-                AdjustBoundingBox( *item, min, max );
-            	}
-            else
-            	{
-                CleanupStack::PopAndDestroy( item );
-            	}
-
-            CleanupStack::PopAndDestroy( lm );
-            }
-        CleanupStack::PopAndDestroy( iter );
-        CleanupStack::PopAndDestroy( catman );
-        CleanupStack::PopAndDestroy( lmdb );
-
-        LOG4("MnRefProvider::BoundingBox: %f, %f, %f, %f", min.iX, min.iY, max.iX, max.iY );
-        }
-
-    if ( aService.ShowOptions() & CMnMapImage::EShowOptionPois )
-        {
-        // Add predefined places
-        AddCitiesL();
-        }
-
-    TMnMapImageParams params = aService.MapImageParams();
-
-    UpdateModel( params );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpMapModel::UpdateModel( const TMnMapImageParams& aParams )
-    {
-    SetScreenSize( aParams.Size() );
-
-    TCoordinate center;
-    aParams.GetCenterPoint( center );
-    iViewOrigin.Set( center.Longitude(), center.Latitude() );
-
-    LOG2("MnRefProvider: viewOrigin (%f, %f)", iViewOrigin.iX, iViewOrigin.iY);
-
-    // set scale
-    TReal desiredScale = 0;
-    TReal32 width, height;
-    aParams.GetVisibleArea( width, height );
-    TReal radius = Max( width, height );
-
-    if ( radius <= 0 )
-        {
-        radius = KDefaultRadius;
-        LOG1("MnRefProvider: default radius (%f)", radius );
-        }
-
-    desiredScale = radius / TReal( Max( iScreenSize.iWidth, iScreenSize.iHeight ) );
-
-    LOG3("MnRefProvider: desired scale (%f), min (%f), max(%f)",
-        desiredScale, KMinScale, MaxScale() );
-
-    iScale = Max( Min( desiredScale, MaxScale() ), KMinScale );
-    CheckBorders();
-
-    LOG1("MnRefProvider: scale (%f)", iScale );
-    }
-#endif
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapModel::AddCitiesL()
-    {
-    TArray<CPosLandmark*> places = iEngine.KnownPlacesL();
-    for ( TInt i = 0; i < places.Count(); i++)
-        {
-        CPosLandmark* lm = places[i];
-        CDrawItem* item = CDrawItem::NewLC( *lm );
-        item->iOwnPoi = ETrue;
-        iDrawItems.AppendL( item );
-        CleanupStack::Pop( item );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpMapModel::GetGrid( CMnrpMapModel::TGrid& aGrid ) const
-    {
-    TReal angle = Min( Width(), Height() );
-
-    TReal minAngle = Min( iScreenSize.iWidth, iScreenSize.iHeight ) * KMinScale;
-
-    if ( angle > minAngle )
-        {
-        // 1. Find nice grid scale
-
-        TInt dividerIndex = 0;
-        TReal cellSize = KMaxCell;
-
-        while ( cellSize * KBigCellsInView > angle )
-            {
-            cellSize /= KCellDividers[dividerIndex];
-
-            if ( ++dividerIndex == KNumCellDividers )
-                {
-                dividerIndex = 0;
-                }
-            }
-
-        aGrid.iAbsoluteGridStep = cellSize;
-
-        // 2. Find closest grid point
-
-        TReal x = TInt( iViewOrigin.iX / cellSize ) * cellSize;
-        TReal y = TInt( iViewOrigin.iY / cellSize ) * cellSize;
-
-        aGrid.iAbsoluteReference = TRealPoint( x, y ).Coordinate();
-        }
-    else
-        {
-        aGrid.iAbsoluteReference = TCoordinate( 0, 0 );
-        aGrid.iAbsoluteGridStep = minAngle / KBigCellsInView;
-        }
-
-    // convert to screen coordinates
-    aGrid.iReference = AbsoluteToScreen( aGrid.iAbsoluteReference );
-    aGrid.iGridStep = AbsoluteToScreen( aGrid.iAbsoluteGridStep );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpMapModel::Zoom( TReal aZoomRate )
-    {
-    iScale *= aZoomRate;
-    CheckBorders();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpMapModel::GoCenter()
-    {
-    iViewOrigin.Set( 0, 0 );
-    CheckBorders();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpMapModel::MoveTo( TCoordinate aTarget )
-    {
-    iViewOrigin = aTarget;
-    CheckBorders();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapModel::CheckBorders()
-    {
-    if ( Height() > KMapHeight || Width() > KMapWidth )
-        {
-        iScale = MaxScale();
-        }
-    if ( iScale < KMinScale )
-        {
-        iScale = KMinScale;
-        }
-    if ( Left() < KMinX )
-        {
-        iViewOrigin.iX = KMinX + Width() / 2;
-        }
-    if ( Right() > KMaxX )
-        {
-        iViewOrigin.iX = KMaxX - Width() / 2;
-        }
-    if ( Top() > KMaxY )
-        {
-        iViewOrigin.iY = KMaxY - Height() / 2;
-        }
-    if ( Bottom() < KMinY )
-        {
-        iViewOrigin.iY = KMinY + Height() / 2;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TReal CMnrpMapModel::Left() const
-    {
-    return iViewOrigin.iX - Width() / 2;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TReal CMnrpMapModel::Right() const
-    {
-    return iViewOrigin.iX + Width() / 2;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TReal CMnrpMapModel::Top() const
-    {
-    return iViewOrigin.iY + Height() / 2;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TReal CMnrpMapModel::Bottom() const
-    {
-    return iViewOrigin.iY - Height() / 2;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TReal CMnrpMapModel::Width() const
-    {
-    return TReal( iScreenSize.iWidth ) * iScale;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TReal CMnrpMapModel::Height() const
-    {
-    return TReal( iScreenSize.iHeight ) * iScale;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TCoordinate CMnrpMapModel::Center() const
-    {
-    return TCoordinate( iViewOrigin.iY, iViewOrigin.iX );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TArray<CMnrpMapModel::CDrawItem*> CMnrpMapModel::Items() const
-    {
-    // adjust all items to screen coordinates
-    for ( TInt i = 0; i < iDrawItems.Count(); i++ )
-        {
-        iDrawItems[i]->iScreenPosition = AbsoluteToScreen( iDrawItems[i]->iAbsolutePosition );
-        }
-    return iDrawItems.Array();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapModel::TCurrentLocation CMnrpMapModel::CurrentLocation() const
-    {
-    TCurrentLocation current;
-
-    TPosition pos;
-    iPosInfo.GetPosition( pos );
-
-    current.iAbsoluteLocation = pos;
-
-    if ( !Math::IsNaN( pos.Latitude() ) && !Math::IsNaN( pos.Longitude() ) )
-        {
-        current.iLocation = AbsoluteToScreen( current.iAbsoluteLocation );
-
-        // calculate error radius in degrees and pixels
-        if ( !Math::IsNaN( pos.HorizontalAccuracy() ) )
-            {
-            current.iAbsoluteErrorDegrees = ( pos.HorizontalAccuracy() / KEarthEquator ) * 360;
-            current.iErrorRadius = current.iAbsoluteErrorDegrees / iScale;
-            }
-        else
-            {
-            current.iErrorRadius = 0;
-            current.iAbsoluteErrorDegrees = 0;
-            }
-
-        current.iIsValid = ETrue;
-        }
-    else
-        {
-        current.iIsValid = EFalse;
-        }
-
-    return current;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpMapModel::SetScreenSize( TSize aScreenSize )
-    {
-    __ASSERT_DEBUG( aScreenSize.iWidth >= 1 && aScreenSize.iHeight >= 1,
-                    Panic( KErrGeneral ) );
-    iScreenSize = aScreenSize;
-    CheckBorders();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TReal CMnrpMapModel::MaxScale() const
-    {
-    TReal scaleByWidth = KMapWidth / TReal( iScreenSize.iWidth );
-    TReal scaleByHeight = KMapHeight / TReal( iScreenSize.iHeight );
-    return Min( scaleByWidth, scaleByHeight );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TPoint CMnrpMapModel::AbsoluteToScreen( TRealPoint aAbsolutePoint ) const
-    {
-    TRealPoint realScreen = ( aAbsolutePoint - TRealPoint( Left(), Bottom() ) ) / iScale;
-    return TPoint( realScreen.iX, iScreenSize.iHeight - realScreen.iY );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TPoint CMnrpMapModel::AbsoluteToScreen( TCoordinate aAbsolutePoint ) const
-    {
-    TRealPoint real( aAbsolutePoint.Longitude(), aAbsolutePoint.Latitude() );
-    return AbsoluteToScreen( real );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TInt CMnrpMapModel::AbsoluteToScreen( TReal aDistance ) const
-    {
-    return aDistance / iScale;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TCoordinate CMnrpMapModel::ScreenToAbsolute( TPoint aScreenPoint ) const
-    {
-    TReal xdiff = aScreenPoint.iX * iScale;
-    TReal ydiff = aScreenPoint.iY * iScale;
-    return TCoordinate( Top() - ydiff, Left() + xdiff );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TReal CMnrpMapModel::ScreenToAbsolute( TInt aDistance ) const
-    {
-    return aDistance * iScale;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapModel::AdjustBoundingBox(
-    CMnrpMapModel::CDrawItem& aItem,
-    TRealPoint& aMin,
-    TRealPoint& aMax )
-    {
-    // X
-    if ( !Math::IsNaN( aItem.iAbsolutePosition.iX ) )
-        {
-        if ( Math::IsNaN( aMin.iX ) || aItem.iAbsolutePosition.iX < aMin.iX )
-            {
-            aMin.iX = aItem.iAbsolutePosition.iX;
-            }
-        if ( Math::IsNaN( aMax.iX ) || aItem.iAbsolutePosition.iX > aMax.iX )
-            {
-            aMax.iX = aItem.iAbsolutePosition.iX;
-            }
-        }
-
-    // Y
-    if ( !Math::IsNaN( aItem.iAbsolutePosition.iY ) )
-        {
-        if ( Math::IsNaN( aMin.iY ) || aItem.iAbsolutePosition.iY < aMin.iY )
-            {
-            aMin.iY = aItem.iAbsolutePosition.iY;
-            }
-        if ( Math::IsNaN( aMax.iY ) || aItem.iAbsolutePosition.iY > aMax.iY )
-            {
-            aMax.iY = aItem.iAbsolutePosition.iY;
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapModel::HandlePositionRequestCompletedL( TInt aError )
-    {
-    if ( !aError )
-        {
-        iPositionRequest->GetPosition( iPosInfo );
-        if ( iObserver )
-            {
-            iObserver->HandleModelUpdateL();
-            }
-        }
-    if ( iShowCurrentLocation )
-        {
-        iPositionRequest->FetchNewPosition();
-        }
-    }
-
-// =====================================================
-// DRAWING METHODS
-// =====================================================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpMapModel::RenderL(
-    CFbsBitmap& aBitmap,
-    TRect aTargetRect,
-    CFont* aTextFont,
-    CFont* aItemFont ) const
-	{
-	// create an off-screen device and context
-	CFbsBitmapDevice* bitmapDevice = CFbsBitmapDevice::NewL( &aBitmap );
-	CleanupStack::PushL( bitmapDevice );
-
-	CFbsBitGc* gc = NULL;
-	User::LeaveIfError( bitmapDevice->CreateContext( gc ) );
-	CleanupStack::PushL( gc );
-
-    gc->UseFont( aTextFont );
-
-    // get data
-    TGrid grid;
-    GetGrid( grid );
-
-    TBool isBackground = EFalse;
-    // background
-    if ( !isBackground )
-        {
-        // no map background, clear map area
-        gc->Clear( aTargetRect );
-        }
-
-    gc->SetClippingRect( aTargetRect );
-    gc->SetOrigin( aTargetRect.iTl );
-
-    DrawGrid( *gc, aTargetRect.Size(), grid );
-
-    gc->DiscardFont(); // text font
-    gc->UseFont( aItemFont );
-
-    // draw items
-    DrawLandmarks( *gc, *aItemFont, aTargetRect.Size(), isBackground ); // invert shadow and text color
-    DrawCurrentLocation( *gc, aTargetRect.Size() );
-
-    // cleanup
-
-    gc->DiscardFont(); // item font
-
-	CleanupStack::PopAndDestroy( gc );
-	CleanupStack::PopAndDestroy( bitmapDevice );
-	}
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CMnrpMapModel::NumIgnoredLandmarks()
-	{
-	return iNumIgnoredLandmarks;
-	}
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapModel::DrawGrid(
-    CFbsBitGc& aGc,
-    const TSize& aBoxSize,
-    CMnrpMapModel::TGrid& aGrid ) const
-    {
-    const TRgb KGridLineColor( 128, 128, 128 );
-
-    aGc.SetPenSize( TSize( KGridPenSize, KGridPenSize ) );
-    aGc.SetPenColor( KGridLineColor );
-
-    if ( aGrid.iGridStep > 0 )
-        {
-        // 1. Vertical lines
-        TInt x = aGrid.iReference.iX;
-        // find leftmost vertical line
-        while ( x > 0 )
-        	{
-        	x -= aGrid.iGridStep;
-        	}
-        x += aGrid.iGridStep;
-        // draw lines selecting different line colors for major and minor lines
-        while ( x < aBoxSize.iWidth )
-            {
-            DrawVerticalLine( aGc, x, aBoxSize );
-            x += aGrid.iGridStep;
-            }
-
-        // 2. Horizontal lines
-        TInt y = aGrid.iReference.iY;
-        // find topmost vertical line
-        while ( y > 0 )
-        	{
-        	y -= aGrid.iGridStep;
-        	}
-        y += aGrid.iGridStep;
-        // draw lines selecting different line colors for major and minor lines
-        while ( y < aBoxSize.iHeight )
-            {
-            DrawHorizontalLine( aGc, y, aBoxSize );
-            y += aGrid.iGridStep;
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapModel::DrawVerticalLine( CFbsBitGc& aGc, TInt aX, TSize aBoxSize ) const
-    {
-    aGc.DrawLine( TPoint( aX, 0 ), TPoint( aX, aBoxSize.iHeight ) );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapModel::DrawHorizontalLine( CFbsBitGc& aGc, TInt aY, TSize aBoxSize ) const
-    {
-    aGc.DrawLine( TPoint( 0, aY ), TPoint( aBoxSize.iWidth, aY ) );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapModel::DrawLandmarks(
-    CFbsBitGc& aGc,
-    CFont& aFont,
-    const TSize& aBoxSize,
-    TBool aSwitchColorAndShadow ) const
-    {
-    const TSize KItemMarkSize( 3, 3 ); // pixels
-    const TSize KItemIconSize( 20, 20 ); // pixels
-
-    const TRgb KPoiColor( 0, 0, 192 );
-    const TRgb KPoiTextColor( 0, 0, 0 );
-    const TRgb KPoiTextShadowColor( 224, 224, 224 );
-    const TRgb KLmColor( 255, 0, 0 );
-    const TRgb KLmTextColor( 255, 0, 0 );
-    const TRgb KLmTextShadowColor( 224, 224, 224 );
-
-    TArray<CMnrpMapModel::CDrawItem*> items = Items();
-
-    RArray<TRect> textBoxes;
-
-    for ( TInt i = 0; i < items.Count(); i++ )
-        {
-        const TPoint& pos = items[i]->Position();
-        if ( pos.iX >= 0 && pos.iX < aBoxSize.iWidth &&
-             pos.iY >= 0 && pos.iY < aBoxSize.iHeight )
-            {
-            CFbsBitmap* icon = items[i]->Bitmap();
-            CFbsBitmap* mask = items[i]->Mask();
-
-            if ( icon && mask )
-                {
-                AknIconUtils::SetSize( icon, KItemIconSize );
-
-                TRect iconBox( pos, KItemIconSize );
-                iconBox.Move( -iconBox.Width() / 2, -iconBox.Height() / 2 );
-
-                aGc.DrawBitmapMasked(
-                    iconBox,
-                    icon,
-                    KItemIconSize,
-                    mask,
-                    EFalse );
-                }
-            else
-                {
-                if ( items[i]->IsPoi() )
-                    {
-                    aGc.SetPenColor( KPoiColor );
-                    }
-                else
-                    {
-                    aGc.SetPenColor( KLmColor );
-                    }
-
-                TRect markBox( pos, KItemMarkSize );
-                markBox.Move( -markBox.Width() / 2, -markBox.Height() / 2 );
-                aGc.SetPenSize( KItemMarkSize );
-                aGc.Plot( pos );
-                }
-
-            if ( items[i]->Text().Length() )
-                {
-                TPoint textPos( pos );
-                textPos.iX += KLmTextOffset;
-
-                TSize textSize( aFont.TextWidthInPixels( items[i]->Text() ), aFont.HeightInPixels() );
-                TRect textBox( textPos, textSize );
-
-                // verify this textbox does not intersect any previous ones
-                TBool overlaps = EFalse;
-                for ( TInt b = 0; b < textBoxes.Count(); b++ )
-                    {
-                    if ( textBox.Intersects( textBoxes[b] ) )
-                        {
-                        overlaps = ETrue;
-                        break;
-                        }
-                    }
-
-                if ( !overlaps )
-                    {
-                    textBoxes.Append( textBox );
-
-                    aGc.SetPenSize( TSize( 1, 1 ) );
-
-                    TRgb textColor, textShadowColor;
-
-	                if ( items[i]->IsPoi() )
-	                    {
-	                    textColor = KPoiTextColor;
-						textShadowColor = KPoiTextShadowColor;
-	                    }
-	                else
-	                    {
-	                    textColor = KLmTextColor;
-						textShadowColor = KLmTextShadowColor;
-	                    }
-
-                    // text shadow
-                    TPoint shadowPos( textPos + TPoint( KLmTextShadowOffset, KLmTextShadowOffset ) );
-                    aGc.SetPenColor( aSwitchColorAndShadow ? textColor : textShadowColor );
-                    aGc.DrawText( items[i]->Text(), shadowPos );
-
-                    // text itself
-                    aGc.SetPenColor( aSwitchColorAndShadow ? textShadowColor : textColor );
-                    aGc.DrawText( items[i]->Text(), textPos );
-                    }
-                }
-            }
-        }
-    textBoxes.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapModel::DrawCurrentLocation(
-    CFbsBitGc& aGc,
-    const TSize& aBoxSize ) const
-    {
-    const TSize KPositionPenSize( 20, 20 );
-    const TSize KPositionErrorPenSize( 1, 1 );
-    const TRgb KPositionColor( 255, 255, 0 );
-
-    // draw current location
-    CMnrpMapModel::TCurrentLocation location = CurrentLocation();
-
-    if ( location.iIsValid )
-        {
-        TPoint& pos = location.iLocation;
-
-        if ( pos.iX >= 0 && pos.iX < aBoxSize.iWidth &&
-             pos.iY >= 0 && pos.iY < aBoxSize.iHeight )
-            {
-            if ( location.iErrorRadius )
-                {
-                TRect circleBox( pos.iX, pos.iY, pos.iX, pos.iY );
-                circleBox.Grow( location.iErrorRadius, location.iErrorRadius );
-
-                aGc.SetPenSize( KPositionErrorPenSize );
-                aGc.SetBrushStyle( CGraphicsContext::EVerticalHatchBrush );
-                aGc.SetBrushColor( KPositionColor );
-                aGc.DrawEllipse( circleBox );
-                }
-
-            aGc.SetPenColor( KPositionColor );
-            aGc.SetPenSize( KPositionPenSize );
-            aGc.Plot( pos );
-            }
-        }
-    }
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpmapview.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,249 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpMapView class implementation
-*
-*/
-
-
-#include <e32base.h>
-#include <lbsposition.h>
-
-#include <eikmenup.h>
-#include <eikbtgpc.h>
-#include <avkon.rsg>
-
-#include <mnrefprovider.rsg>
-#include "mnrp.hrh"
-
-#include "debug.h"
-
-#include "mnrputils.h"
-#include "mnrpengine.h"
-
-#include "mnrpappui.h"
-#include "mnrpmapview.h"
-#include "mnrpmapcontrol.h"
-#include "mnrpmapviewservice.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapView::CMnrpMapView( CMnrpEngine& aEngine ) 
-: iEngine( aEngine )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapView::~CMnrpMapView()
-    {
-    TRAP_IGNORE( HandleUserSelectionL( KErrCancel ) );
-    delete iControl;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapView* CMnrpMapView::NewL( TBool aChained, CMnrpEngine& aEngine )
-    {
-    CMnrpMapView* self = new (ELeave) CMnrpMapView( aEngine );
-    CleanupStack::PushL( self );
-    self->ConstructL( aChained );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapView::ConstructL( TBool aChained )
-    {
-    iChained = aChained;
-    if ( aChained )
-        {
-        BaseConstructL( R_MNREFPROVIDER_MAP_VIEW_CHAINED );
-        }
-    else
-        {
-        BaseConstructL( R_MNREFPROVIDER_MAP_VIEW );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapView::SetMapModeL( CMnrpMapViewService& aService )
-    {
-    iSelectionCallback = NULL;
-    iMapViewService = &aService;
-/*
-    if ( iChained )
-        {
-        Cba()->SetCommandSetL( R_AVKON_SOFTKEYS_OPTIONS_BACK );
-        }
-    else
-        {
-        Cba()->SetCommandSetL( R_AVKON_SOFTKEYS_OPTIONS_EXIT );
-        }
-*/        
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapView::SetSelectionModeL( 
-    CMnrpMapViewService& aService,  
-    MMapSelectionCallback& aCallback )
-    {
-    iMapViewService = &aService;
-    iSelectionCallback = &aCallback;
-    Cba()->SetCommandSetL( R_AVKON_SOFTKEYS_OPTIONS_CANCEL );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapView::StopSelection()
-    {
-    iSelectionCallback = NULL;
-    iMapViewService = NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapView::HandleUserSelectionL( TInt aError )
-    {
-    if ( iSelectionCallback && iControl )
-        {
-        if ( !aError )
-            {
-            iSelectionCallback->HandleSelectionL( iControl->CurrentLocation() );
-            }
-        else
-            {
-            iSelectionCallback->HandleSelectionErrorL( aError );
-            }
-        iSelectionCallback = NULL;            
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TUid CMnrpMapView::Id() const
-    {
-    return TUid::Uid( EMnrpMapViewId );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapView::HandleCommandL( TInt aCommand )
-    {
-    switch ( aCommand )
-        {
-        case EMnrpCommandFullScreen:
-            if ( iControl ) 
-                {
-                iControl->ToggleFullScreen();
-                }
-            break;
-
-        case EMnrpCommandSelect:
-            HandleUserSelectionL( KErrNone );
-            break;
-
-        case EEikCmdExit:
-        case EAknSoftkeyBack:
-        case EAknSoftkeyExit:
-            HandleUserSelectionL( KErrCancel );
-            AppUi()->HandleCommandL( aCommand );
-            break;
-
-        default:
-            AppUi()->HandleCommandL( aCommand );
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapView::DynInitMenuPaneL( TInt aResourceId, CEikMenuPane *aMenuPane )
-    {
-    if ( aResourceId == R_MNREFPROVIDER_MAP_VIEW_MENU )
-        {
-        TBool isSelectionMode = iSelectionCallback != NULL;
-        aMenuPane->SetItemDimmed( EMnrpCommandSelect, !isSelectionMode );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapView::DoActivateL(
-    const TVwsViewId& /*aPrevViewId*/,
-    TUid /* aCustomMessageId */,
-    const TDesC8& /* aCustomMessage */)
-    {
-    if ( !iControl )
-        {
-        iControl = CMnrpMapControl::NewL( *this, ClientRect(), iEngine );
-        iControl->SetMopParent( this );
-        }
-
-    iControl->SetRect( ClientRect() );
-    if ( iMapViewService )
-        {
-        iControl->UpdateModelL( *iMapViewService );
-        }
-    iControl->SetSelectionModeL( ( iSelectionCallback == NULL ) ? EFalse : ETrue );
-
-    // Enable receiving of keyboard events.
-    CMnrpAppUi* ui = ( CMnrpAppUi* ) AppUi();
-    ui->AddToStackL( *this, iControl );
-
-    if ( iSelectionCallback )
-        {
-        ui->SetNaviPaneTitleL( iMapViewService->SelectionRequestText() );
-        }
-    else
-        {
-        _LIT( KMapView, "MapView" );
-	    ui->SetNaviPaneTitleL( KMapView );
-        }
-
-    // Make view visible.
-    iControl->MakeVisible( ETrue );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapView::DoDeactivate()
-    {
-    if ( iControl )
-        {
-        // Hide view.
-        iControl->MakeVisible( EFalse );
-
-        // Disable receiving keyboard events.
-        AppUi()->RemoveFromStack( iControl );
-        }
-    }
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpmapviewservice.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,245 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpMapViewService class implementation
-*
-*/
-
-
-#include <e32base.h>
-#include <eikenv.h>
-
-#include <lbsposition.h>
-
-#include <epos_cposlandmark.h>
-#include <epos_cposlandmarkdatabase.h>
-
-#include "debug.h"
-#include <mnmapviewservicebase.h>
-
-#include "mnrpappui.h"
-#include "mnrpmapview.h"
-#include "mnrpengine.h"
-#include "mnrpdocument.h"
-#include "mnrpappserver.h"
-
-#include "mnrpmapviewservice.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpMapViewService* CMnrpMapViewService::NewL()
-    {
-    CMnrpMapViewService* self = new (ELeave) CMnrpMapViewService();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpMapViewService::CMnrpMapViewService()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpMapViewService::~CMnrpMapViewService()
-    {
-    if ( iSelecting )
-        {
-        DoCancel();
-        CompleteRequest( KErrCancel );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapViewService::ConstructL()
-    {
-    BaseConstructL();
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpAppUi* CMnrpMapViewService::AppUi()
-    {
-    CMnrpAppServer* server = ( CMnrpAppServer* ) Server();
-    if ( server )
-        {
-        return server->AppUi();
-        }
-    return NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// From class CMnMapViewServiceBase
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapViewService::HandleShowMapL()
-    {
-    LOG("MnRefProvider::HandleShowMapL in");
-
-    /** This implementation cannot show map if selection is active */
-    if ( iSelecting )
-        {
-        User::Leave( KErrInUse );
-        }
-
-    if ( AppUi() )
-        {
-        AppUi()->ShowMapL( *this );
-        }
-
-    LOG("MnRefProvider::HandleShowMapL out");
-    }
-
-// ---------------------------------------------------------------------------
-//  From class CMnMapViewServiceBase
-//
-//  This callback differs from HandleShowMapL in a way that central point
-//  setting is ignored and current location is used instead as central point.
-//
-//  The implementation is the example of how to reject unsupported requests 
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapViewService::HandleShowCurrentLocationL()
-    {
-    User::Leave( KErrNotSupported );
-    }
-
-// ---------------------------------------------------------------------------
-//  From class CMnMapViewServiceBase
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapViewService::HandleSelectFromMapL()
-    {
-    LOG("MnRefProvider::HandleSelectFromMapL in");
-
-    /** Only one selection must be active */
-    if ( iSelecting )
-        {
-        User::Leave( KErrInUse );
-        }
-
-    if ( AppUi() )
-        {
-        iSelecting = ETrue;
-        AppUi()->StartSelectionL( *this, *this );
-        }
-
-    LOG("MnRefProvider::HandleSelectFromMapL out");
-    }
-
-// ---------------------------------------------------------------------------
-//  From class CMnServiceBase
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapViewService::DoCancel()
-    {
-    if ( iSelecting )
-        {
-        iSelecting = EFalse;
-        StopSelection();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//  From class MMapSelectionCallback
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapViewService::HandleSelectionErrorL( TInt aError )
-    {
-    __ASSERT_DEBUG( iSelecting, Panic( KErrGeneral ) );
-
-    iSelecting = EFalse;
-    // selection view dismissed
-    CompleteRequest( aError );
-    }
-
-// ---------------------------------------------------------------------------
-//  From class MMapSelectionCallback
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapViewService::HandleSelectionL( const TCoordinate& aSelection )
-    {
-    __ASSERT_DEBUG( iSelecting, Panic( KErrGeneral ) );
-
-    iSelecting = EFalse;
-    TInt err = KErrNone;
-    TRAP( err, CompleteSelectionL( aSelection ) );
-    if ( err )
-        {
-        CompleteRequest( err );
-        }
-    StopSelection();
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapViewService::CompleteSelectionL( const TCoordinate& aSelection )
-    {
-    TLocality loc( aSelection, 0 );
-    CPosLandmark* lm = CPosLandmark::NewLC();
-    lm->SetPositionL( loc );
-
-    // send landmark to client
-    CompleteSelectionRequestL( *lm );
-
-    CleanupStack::PopAndDestroy( lm );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapViewService::StopSelection()
-    {
-    if ( AppUi() )
-        {
-        AppUi()->StopSelection();
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-//  From class MMapSelectionCallback
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapViewService::HandleSelectionL( TInt aLandmarkIndex )
-    {
-    __ASSERT_DEBUG( iSelecting, Panic( KErrGeneral ) );
-
-    iSelecting = EFalse;
-    CompleteSelectionRequest( aLandmarkIndex );
-    StopSelection();
-    }
-    
-// ---------------------------------------------------------------------------
-//  From class MMapSelectionCallback
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapViewService::HandleSelectionL( TPosLmItemId aLandmarkId, TInt aDbIndex )
-    {
-    __ASSERT_DEBUG( iSelecting, Panic( KErrGeneral ) );
-
-    iSelecting = EFalse;
-    CompleteSelectionRequest( aLandmarkId, aDbIndex );
-    StopSelection();
-    }
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpnavicontrol.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,209 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpNaviControl class implementation
-*
-*/
-
-
-#include <e32base.h>
-#include <coemain.h>
-#include <aknlists.h>
-#include <barsread.h>
-
-#include <aknlists.h>
-
-#include "mnrpnavimodel.h"
-#include "mnrpnaviview.h"
-#include "mnrpnavicontrol.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpNaviControl::CMnrpNaviControl( CMnrpNaviView& aView )
- :  iView( aView )
-    { 
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpNaviControl::~CMnrpNaviControl()
-    {
-    delete iListBox;
-    delete iModel;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpNaviControl* CMnrpNaviControl::NewL( 
-    CMnrpNaviView& aView, 
-    const TRect& aRect,
-    CMnrpEngine& aEngine )
-    {
-    CMnrpNaviControl* self = new (ELeave) CMnrpNaviControl( aView );
-    CleanupStack::PushL( self );
-    self->ConstructL( aRect, aEngine );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviControl::ConstructL( const TRect& aRect, CMnrpEngine& aEngine )
-    {
-    // Create a window for this application view
-    CreateWindowL();
-    CreateListBoxL();
-    
-    // Set the windows size
-    SetRect( aRect );
-    
-    iModel = CMnrpNaviModel::NewL( *this, aEngine );
-
-    // Activate the window, which makes it ready to be drawn
-    ActivateL();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviControl::UpdateModelL( CPosLandmark& aDestination )
-    {
-    iModel->SetDestinationL( aDestination );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviControl::HandleModelUpdateL()
-    {
-    TArray< CMnrpNaviModel::CListItem* > items = iModel->ListItemsL();
-    
-    const TInt KGranularity = 8;
-    CDesCArraySeg* array = new (ELeave) CDesCArraySeg( KGranularity );
-    CleanupStack::PushL( array );
-    
-    _LIT( KItemFormat, "%S\t%S\t\t" );
-    for ( TInt i = 0; i < items.Count(); i++ )
-        {
-        CMnrpNaviModel::CListItem* item = items[i];
-
-        const TInt KNumTabsAndOther = 10;
-        HBufC* text = HBufC::NewLC(
-            item->Header().Length() + item->Value().Length() + KNumTabsAndOther);
-
-        text->Des().Format( KItemFormat, &(item->Header()), &(item->Value()) );
-        
-        array->AppendL( *text );
-        CleanupStack::PopAndDestroy( text );
-        }
-        
-    CleanupStack::Pop( array );
-
-    CTextListBoxModel* model = iListBox->Model();
-    model->SetItemTextArray( array );
-    model->SetOwnershipType( ELbmOwnsItemArray );
-    iListBox->HandleItemAdditionL();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TInt CMnrpNaviControl::CountComponentControls() const 
-    { 
-    return 1; 
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CCoeControl* CMnrpNaviControl::ComponentControl(TInt aIndex) const
-    {
-    return (aIndex == 0) ? iListBox : NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CMnrpNaviControl::OfferKeyEventL(
-    const TKeyEvent& aKeyEvent, TEventCode aType)
-    {
-    TKeyResponse response = EKeyWasNotConsumed;
-
-    switch (aKeyEvent.iCode)
-        {
-        case EKeyUpArrow:
-        case EKeyDownArrow:
-            // Scrolling the listbox. Forward to iListBox.
-            response = iListBox->OfferKeyEventL(aKeyEvent, aType);
-            break;
-
-        case EKeyLeftArrow:
-        case EKeyRightArrow:
-            // Eat these to disable switching views
-            response = EKeyWasConsumed;
-            break;
-
-        case EKeyDevice3:
-            response = EKeyWasConsumed;
-            break;
-
-        default:
-            // menu keys should be handled
-            break;
-        }
-
-    return response;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviControl::CreateListBoxL()
-    {
-    // Create a control to display a list of descriptors
-    iListBox = new (ELeave) CAknSingleHeadingStyleListBox();
-    iListBox->SetContainerWindowL( *this );
-    iListBox->ConstructL(this, CEikListBox::EViewerFlag );
-
-    // Create scrollbars
-    CEikScrollBarFrame* scrollBar = iListBox->CreateScrollBarFrameL();
-    scrollBar->SetScrollBarVisibilityL(
-                CEikScrollBarFrame::EOff, CEikScrollBarFrame::EAuto);
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviControl::SizeChanged()
-    {
-    iListBox->SetRect( Rect() );
-    iListBox->DrawDeferred();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviControl::HandleResourceChange( TInt aType )
-    {
-    CCoeControl::HandleResourceChange( aType );
-    if ( aType == KEikDynamicLayoutVariantSwitch )
-        {
-        SetRect( iView.ClientRect() );
-        }
-    }
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpnavigationservice.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpNavigationService class implementation
-*
-*/
-
-
-#include <e32base.h>
-#include <eikenv.h>
-
-#include <lbsposition.h>
-
-#include <epos_cposlandmark.h>
-
-#include "debug.h"
-#include <mnnavigationservicebase.h>
-
-#include "mnrpappui.h"
-#include "mnrpnavimodel.h"
-#include "mnrpnaviview.h"
-#include "mnrpappserver.h"
-#include "mnrpnavigationservice.h"
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpNavigationService* CMnrpNavigationService::NewL()
-    {
-    CMnrpNavigationService* self = new (ELeave) CMnrpNavigationService();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpNavigationService::CMnrpNavigationService()
-    {
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpNavigationService::~CMnrpNavigationService()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpNavigationService::ConstructL()
-    {
-    BaseConstructL();
-    }
-
-// ---------------------------------------------------------------------------
-// From class CMnNavigationServiceBase
-// ---------------------------------------------------------------------------
-//
-void CMnrpNavigationService::HandleNavigateToL(
-    const CPosLandmark& aLandmark)
-    {
-    CMnrpAppServer* server = ( CMnrpAppServer* ) Server();
-    CMnrpAppUi* ui = server->AppUi();
-    ui->ShowNavigationL( aLandmark );
-    }
-        
-// ---------------------------------------------------------------------------
-// From class CMnServiceBase
-// ---------------------------------------------------------------------------
-//
-void CMnrpNavigationService::DoCancel()
-    {
-    }
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpnavimodel.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,241 +0,0 @@
-/*
-* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpNaviModel class implementation
-*
-*/
-
-
-#include <coemain.h>
-#include <aknlists.h>
-#include <barsread.h>
-
-#include <lbs.h>
-#include <lbsposition.h>
-#include <lbspositioninfo.h>
-
-#include <epos_cposlandmark.h>
-
-#include "mnrputils.h"
-#include "mnrpengine.h"
-#include "mnrpnavimodel.h"
-
-const TInt KUpdateInterval = 1 * 1000 * 1000; // 1 sec
-const TInt KUpdateTimeout = 10 * 1000 * 1000; // 10 sec
-
-_LIT( KNotDefined, "<n/a>" );
-_LIT( KDestination, "destination" );
-_LIT( KPosition, "position" );
-_LIT( KDistance, "distance" );
-_LIT( KBearing, "bearing" );
-_LIT( KDestinationLat, "dest.lat." );
-_LIT( KDestinationLon, "dest.lon." );
-_LIT( KPositionLat, "pos.lat." );
-_LIT( KPositionLon, "pos.lon." );
-_LIT( KSpeed, "speed" );
-_LIT( KHeading, "heading" );
-_LIT( KMagHeading, "m.heading" );
-_LIT( KCourse, "course" );
-_LIT( KMagCourse, "m.course" );
-
-// ========================== MEMBER CLASS' FUNCTIONS ==========================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpNaviModel::CListItem* CMnrpNaviModel::CListItem::NewL( 
-    const TDesC& aItemHeader, 
-    const TDesC& aItemValue )
-    {
-    CListItem* self = new (ELeave) CListItem;
-    CleanupStack::PushL( self );
-    self->iHeader = aItemHeader.AllocL();
-    self->iValue = aItemValue.AllocL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-    
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpNaviModel::CListItem::~CListItem()
-    {
-    delete iHeader;
-    delete iValue;
-    }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpNaviModel::CMnrpNaviModel( MNaviModelObserver& aObserver, CMnrpEngine& aEngine )
-    : iEngine( aEngine ), iObserver( aObserver )
-    { 
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpNaviModel::~CMnrpNaviModel()
-    {
-    delete iPositionRequest;
-    delete iDestination;
-    iListItems.ResetAndDestroy();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpNaviModel* CMnrpNaviModel::NewL( MNaviModelObserver& aObserver, CMnrpEngine& aEngine  )
-    {
-    CMnrpNaviModel* self = new (ELeave) CMnrpNaviModel( aObserver, aEngine );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviModel::ConstructL()
-    {
-    _LIT( KRequestorName, "MnRefProvider" );
-    iPositionRequest = CMnrpPositionRequest::NewL( KRequestorName, *this );
-    
-    TPositionUpdateOptions options;
-    options.SetUpdateInterval( TTimeIntervalMicroSeconds( KUpdateInterval ) );
-    options.SetUpdateTimeOut( TTimeIntervalMicroSeconds( KUpdateTimeout ) );
-    iPositionRequest->SetOptionsL( options );
-    
-    iPositionRequest->FetchNewPosition();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviModel::SetDestinationL( const CPosLandmark& aNewDestination )
-    {
-    delete iDestination;
-    iDestination = NULL;
-    iDestination = CPosLandmark::NewL( aNewDestination );
-    
-    iObserver.HandleModelUpdateL();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TArray<CMnrpNaviModel::CListItem*> CMnrpNaviModel::ListItemsL()
-    {
-    iListItems.ResetAndDestroy();
-    
-    TBuf<64> buf;
-    TPosition position;
-    TLocality destination;
-
-    iPosInfo.GetPosition( position );
-
-    if ( !iDestination || iDestination->GetPosition( destination ) )
-        {
-        iListItems.AppendL( CListItem::NewL( KDestination, KNotDefined ) );
-        }
-    else
-        {
-        TPtrC name;
-        iDestination->GetLandmarkName( name );
-        HBufC* printableName = MnrpUtils::PrintableStringLC( name );
-        iListItems.AppendL( CListItem::NewL( KDestination, *printableName ) );
-        CleanupStack::PopAndDestroy( printableName );
-
-        TBool validPosition = ( !Math::IsNaN( position.Latitude() ) && 
-                                !Math::IsNaN( position.Longitude() ) );
-
-        if ( validPosition )
-            {
-            TReal32 distance, bearing;
-            if ( position.Distance( destination, distance ) == KErrNone )
-                {
-                MnrpUtils::DistanceToString( distance, buf );
-                iListItems.AppendL( CListItem::NewL( KDistance, buf ) );
-                }
-            else
-                {
-                iListItems.AppendL( CListItem::NewL( KDistance, KNotDefined ) );
-                }
-                
-            if ( position.BearingTo( destination, bearing ) == KErrNone )
-                {
-                MnrpUtils::AngleToString( bearing, buf );
-                iListItems.AppendL( CListItem::NewL( KBearing, buf ) );
-                }
-            else
-                {
-                iListItems.AppendL( CListItem::NewL( KBearing, KNotDefined ) );
-                }
-
-            MnrpUtils::SpeedToString( iPositionRequest->Speed(), buf );
-            iListItems.AppendL( CListItem::NewL( KSpeed, buf ) );
-
-            MnrpUtils::AngleToString( iPositionRequest->Course(), buf );
-            iListItems.AppendL( CListItem::NewL( KCourse, buf ) );
-
-            MnrpUtils::AngleToString( iPositionRequest->Heading(), buf );
-            iListItems.AppendL( CListItem::NewL( KHeading, buf ) );
-
-            MnrpUtils::CoordinateToString( position.Latitude(), buf, ETrue, ETrue );
-            iListItems.AppendL( CListItem::NewL( KPositionLat, buf ) );
-
-            MnrpUtils::CoordinateToString( position.Longitude(), buf, ETrue, ETrue );
-            iListItems.AppendL( CListItem::NewL( KPositionLon, buf ) );
-            }
-        else
-            {
-            iListItems.AppendL( CListItem::NewL( KPosition, KNotDefined ) );
-            }
-
-        MnrpUtils::CoordinateToString( destination.Latitude(), buf, ETrue, ETrue );
-        iListItems.AppendL( CListItem::NewL( KDestinationLat, buf ) );
-
-        MnrpUtils::CoordinateToString( destination.Longitude(), buf, ETrue, ETrue );
-        iListItems.AppendL( CListItem::NewL( KDestinationLon, buf ) );
-
-        if ( validPosition )
-            {
-            MnrpUtils::AngleToString( iPositionRequest->MagneticCourse(), buf );
-            iListItems.AppendL( CListItem::NewL( KMagCourse, buf ) );
-
-            MnrpUtils::AngleToString( iPositionRequest->MagneticHeading(), buf );
-            iListItems.AppendL( CListItem::NewL( KMagHeading, buf ) );
-            }
-        }
-   
-    return iListItems.Array();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviModel::HandlePositionRequestCompletedL( TInt aError )
-    {
-    if ( !aError )
-        {
-        iPositionRequest->GetPosition( iPosInfo );
-        TPosition position;
-        iPosInfo.GetPosition( position );
-
-        iObserver.HandleModelUpdateL();
-        }
-    iPositionRequest->FetchNewPosition();
-    }
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrpnaviview.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpNaviView class implementation
-*
-*/
-
-
-#include <e32base.h>
-#include <lbsposition.h>
-#include <epos_cposlandmark.h>
-
-#include <mnrefprovider.rsg>
-#include "mnrp.hrh"
-
-#include "debug.h"
-#include "mnrputils.h"
-#include "mnrpengine.h"
-
-#include "mnrpappui.h"
-#include "mnrpnavicontrol.h"
-
-#include "mnrpnaviview.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpNaviView::CMnrpNaviView( CMnrpEngine& aEngine )
- : iEngine( aEngine )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpNaviView::~CMnrpNaviView()
-    {
-    delete iDestination;
-    delete iControl;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpNaviView* CMnrpNaviView::NewL( TBool aChained, CMnrpEngine& aEngine )
-    {
-    CMnrpNaviView* self = new (ELeave) CMnrpNaviView( aEngine );
-    CleanupStack::PushL( self );
-    self->ConstructL( aChained );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviView::ConstructL( TBool aChained )
-    {
-    if ( aChained )
-        {
-        BaseConstructL( R_MNREFPROVIDER_NAVI_VIEW_CHAINED );
-        }
-    else
-        {
-        BaseConstructL( R_MNREFPROVIDER_NAVI_VIEW );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviView::SetDestinationL( const CPosLandmark& aNewDestination )
-    {
-    delete iDestination;
-    iDestination = NULL;
-    iDestination = CPosLandmark::NewL( aNewDestination );
-    if ( iControl )
-        {
-        iControl->UpdateModelL( *iDestination );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TUid CMnrpNaviView::Id() const
-    {
-    return TUid::Uid( EMnrpNavigationViewId );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviView::HandleCommandL( TInt aCommand )
-    {
-    switch ( aCommand )
-        {
-        default:
-            AppUi()->HandleCommandL( aCommand );
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviView::DoActivateL(
-    const TVwsViewId& /*aPrevViewId*/,
-    TUid /* aCustomMessageId */,
-    const TDesC8& /* aCustomMessage */)
-    {
-    if ( !iControl )
-        {
-        iControl = CMnrpNaviControl::NewL( *this, ClientRect(), iEngine );
-        iControl->SetMopParent( this );
-        }
-
-    if ( iDestination )
-        {
-        iControl->UpdateModelL( *iDestination );
-        }
-
-    // Enable receiving of keyboard events.
-    CMnrpAppUi* ui = ( CMnrpAppUi* ) AppUi();
-    ui->AddToStackL( *this, iControl );
-
-    _LIT( KNavigation, "Navigation" );
-    ui->SetNaviPaneTitleL( KNavigation );
-
-    // Make view visible.
-    iControl->MakeVisible( ETrue );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviView::DoDeactivate()
-    {
-    if ( iControl )
-        {
-        // Hide view.
-        iControl->MakeVisible( EFalse );
-
-        // Disable receiving keyboard events.
-        AppUi()->RemoveFromStack( iControl );
-        }
-    }
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrppositionrequest.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,272 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpPositionRequest class implementation
-*
-*/
-
-
-#include <aknwaitdialog.h>
-#include <coemain.h>
-#include <aknnotewrappers.h>
-
-#include <lbspositioninfo.h>
-
-#include "mnrppositionrequest.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpPositionRequest::CMnrpPositionRequest(
-    MMnrpPositionObserver& aObserver )
-    : 
-    CActive( CActive::EPriorityStandard ), 
-    iObserver( aObserver ),
-    iState( EIdle )
-    {
-    TRealX nan;
-    nan.SetNaN();
-    iSpeed = iHeading = iCourse = iMagneticHeading = iMagneticCourse = nan;
-    
-    CActiveScheduler::Add( this );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpPositionRequest::ConstructL( const TDesC& aRequestorName )
-    {
-    const TInt KBufSize = 8192;
-    iGenericPosition = HPositionGenericInfo::NewL( KBufSize );
-    
-    // Connect to the location server
-    User::LeaveIfError( iLocationServer.Connect() );
-
-    // Open the default positioner
-    User::LeaveIfError( iPositioner.Open( iLocationServer ) );
-
-    // Set this application as location requestor
-    User::LeaveIfError( iPositioner.SetRequestor(
-        CRequestor::ERequestorService,
-        CRequestor::EFormatApplication,
-        aRequestorName ) );
-
-    // Set default options
-    TPositionUpdateOptions updateOptions;
-
-    const TInt K30Seconds = 30000000;
-    TTimeIntervalMicroSeconds timeOut( K30Seconds );
-
-    updateOptions.SetUpdateTimeOut( timeOut );
-    SetOptionsL( updateOptions );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CMnrpPositionRequest* CMnrpPositionRequest::NewL(
-    const TDesC& aAppName, 
-    MMnrpPositionObserver& aObserver )
-    {
-    CMnrpPositionRequest* self =
-        new (ELeave) CMnrpPositionRequest( aObserver );
-    CleanupStack::PushL( self );
-    self->ConstructL( aAppName );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CMnrpPositionRequest::~CMnrpPositionRequest()
-    {
-    Cancel();
-    iPositioner.Close();
-    iLocationServer.Close();
-    delete iGenericPosition;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpPositionRequest::FetchNewPosition( TBool aLastKnownLocationAllowed )
-    {
-    Cancel();
-    // Request location
-    iState = EAcquiringDefaultLocation;
-    iLastKnownLocationAllowed = aLastKnownLocationAllowed;
-    ExecuteNextStep();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpPositionRequest::GetPosition( TPositionInfo& aPositionInfo )
-    {
-    aPositionInfo = iPositionInfo;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TReal32 CMnrpPositionRequest::Speed() 
-    { 
-    return iSpeed;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TReal32 CMnrpPositionRequest::Heading() 
-    { 
-    return iHeading; 
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TReal32 CMnrpPositionRequest::MagneticHeading() 
-    { 
-    return iMagneticHeading; 
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TReal32 CMnrpPositionRequest::Course() 
-    {
-    return iCourse;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TReal32 CMnrpPositionRequest::MagneticCourse()
-    { 
-    return iMagneticCourse;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpPositionRequest::DoCancel()
-    {
-    // Cancel location request
-    if (iState == EAcquiringDefaultLocation)
-        {
-        iPositioner.CancelRequest( EPositionerNotifyPositionUpdate );
-        }
-    else if (iState == EAcquiringLastKnownLocation)
-        {
-        iPositioner.CancelRequest( EPositionerGetLastKnownPosition );
-        }
-    iState = EIdle;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpPositionRequest::RunL()
-    {
-    if ( iStatus != KErrNone &&
-         iState == EAcquiringDefaultLocation && 
-         iLastKnownLocationAllowed )
-        {
-        // Fetching current location failed. Try last known location.
-        iState = EAcquiringLastKnownLocation;
-        ExecuteNextStep();
-        }
-    else
-        {
-        // Operation finished, notify observer
-        iState = EIdle;
-        SaveContainer( *iGenericPosition );
-        iObserver.HandlePositionRequestCompletedL( iStatus.Int() );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TInt CMnrpPositionRequest::RunError(TInt /*aError*/)
-    {
-    // Ignore possible errors.
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpPositionRequest::ExecuteNextStep()
-    {
-    iStatus = KRequestPending;
-
-    switch (iState)
-        {
-        case EAcquiringDefaultLocation:
-            InitContainer( *iGenericPosition );
-            iPositioner.NotifyPositionUpdate( *iGenericPosition, iStatus);
-            break;
-        case EAcquiringLastKnownLocation:
-            iPositioner.GetLastKnownPosition( iPositionInfo, iStatus );
-            break;
-        default:    
-            // this case should never happen, see RunL
-            return;
-        }
-
-    SetActive();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpPositionRequest::SetOptionsL( const TPositionUpdateOptionsBase& aOptions )
-    {
-    User::LeaveIfError( iPositioner.SetUpdateOptions( aOptions ) );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpPositionRequest::InitContainer( HPositionGenericInfo& aGenericInfo )
-    {
-    aGenericInfo.ClearPositionData();
-    
-    aGenericInfo.SetRequestedField( EPositionFieldHorizontalSpeed );
-    aGenericInfo.SetRequestedField( EPositionFieldTrueCourse );
-    aGenericInfo.SetRequestedField( EPositionFieldMagneticCourse );
-    aGenericInfo.SetRequestedField( EPositionFieldHeading );
-    aGenericInfo.SetRequestedField( EPositionFieldMagneticHeading );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpPositionRequest::SaveContainer( const HPositionGenericInfo& aGenericInfo )
-    {
-    TRealX nan;
-    nan.SetNaN();
-    iSpeed = iHeading = iCourse = iMagneticHeading = iMagneticCourse = nan;
-    
-    aGenericInfo.GetValue( EPositionFieldHorizontalSpeed, iSpeed );
-    aGenericInfo.GetValue( EPositionFieldTrueCourse, iCourse );
-    aGenericInfo.GetValue( EPositionFieldMagneticCourse, iMagneticCourse );
-    aGenericInfo.GetValue( EPositionFieldHeading, iHeading );
-    aGenericInfo.GetValue( EPositionFieldMagneticHeading, iMagneticHeading );
-    
-    iPositionInfo = *iGenericPosition;
-    }
--- a/locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/src/mnrputils.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,256 +0,0 @@
-/*
-* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  MnrpUtils class implementation
-*
-*/
-
-
-#include <e32base.h>
-#include <e32math.h>
-#include <lbsposition.h>
-
-#include "mnrputils.h"
-
-_LIT( KNan, "<n/a>" );
-_LIT( KNeg, "<neg>" );
-_LIT( KOutOfBounds, "<inv>" );
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void MnrpUtils::CoordinateToString(
-    TReal aCoord,
-    TDes& aStr,
-    TBool aFull,
-    TBool aMillis )
-    {
-    const TChar KDegreeMark = 0xB0;
-    const TChar KMinuteMark = 0x27;
-    const TChar KSecondMark = 0x22;
-    const TChar KMilliSecondMark = 0x2E;
-    const TChar KMinus = '-';
-    const TChar KPlus = '+';
-
-    _LIT( KCoordFormatFull, "%c%d%c%02d%c%02d%c" );
-    _LIT( KCoordFormatPartMseconds, "%c%03d" );
-
-    if ( Math::IsNaN( aCoord ) )
-        {
-        aStr.Copy( KNan );
-        }
-    else if ( Abs( aCoord ) > 360 )
-        {
-        aStr.Copy( KOutOfBounds );
-        }
-    else
-        {
-        TBool negative = aCoord < 0;
-        aCoord = Abs( aCoord );
-
-        TInt degrees = TInt( aCoord );
-        aCoord = ( aCoord - degrees ) * 60;
-        TInt minutes = TInt( aCoord );
-        aCoord = ( aCoord - minutes ) * 60;
-        TInt seconds = TInt( aCoord );
-        aCoord = ( aCoord - seconds ) * 100;
-        TInt mseconds = TInt( aCoord );
-
-        TChar sign = negative ? KMinus : KPlus;
-
-        if ( aFull )
-            {
-            aStr.Format( KCoordFormatFull,
-                            TUint( sign ), degrees, TUint( KDegreeMark ),
-                            minutes, TUint( KMinuteMark ),
-                            seconds, TUint( KSecondMark ) );
-            if ( aMillis )
-                {
-                aStr.AppendFormat( KCoordFormatPartMseconds, TUint( KMilliSecondMark ), mseconds );
-                }
-            }
-        else
-            {
-            aStr.Zero();
-            if ( degrees )
-                {
-                aStr.AppendNum( degrees );
-                aStr.Append( KDegreeMark );
-                }
-            if ( minutes )
-                {
-                aStr.AppendNum( minutes );
-                aStr.Append( KMinuteMark );
-                }
-            if ( seconds )
-                {
-                aStr.AppendNum( seconds );
-                aStr.Append( KSecondMark );
-                }
-            if ( mseconds && aMillis )
-                {
-                if ( !seconds )
-                    {
-                    aStr.AppendNum( 0 );
-                    aStr.Append( KSecondMark );
-                    }
-                aStr.AppendFormat( KCoordFormatPartMseconds, TUint( KMilliSecondMark ), mseconds );
-                }
-
-            if ( !aStr.Length() )
-                {
-                aStr.AppendNum( degrees );
-                aStr.Append( KDegreeMark );
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void MnrpUtils::DistanceToString( TReal aDistance, TDes& aStr )
-    {
-    _LIT( KSmall, "< 1 m" );
-    _LIT( KMeters, "%d m" );
-    _LIT( KKiloMeters, "%.1f Km" );
-    _LIT( KThousandsKiloMeters, "%.1f tKm" );
-
-    const TInt KMeter = 1;
-    const TInt KKilometer = KMeter * 1000;
-    const TInt KThousandKilometer = KKilometer * 1000;
-
-    if ( Math::IsNaN( aDistance ) )
-        {
-        aStr.Copy( KNan );
-        }
-    else if ( aDistance < 0 )
-        {
-        aStr.Copy( KNeg );
-        }
-    else if ( aDistance < KMeter )
-        {
-        aStr.Copy( KSmall );
-        }
-    else if ( aDistance < KKilometer )
-        {
-        aStr.Format( KMeters, TInt( aDistance ) );
-        }
-    else if ( aDistance < KThousandKilometer )
-        {
-        aStr.Format( KKiloMeters, aDistance / KKilometer );
-        }
-    else
-        {
-        aStr.Format( KThousandsKiloMeters, aDistance / KThousandKilometer );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void MnrpUtils::SpeedToString( TReal aSpeed, TDes& aStr )
-    {
-    _LIT( KPerSecond, "/s" );
-
-    if ( Math::IsNaN( aSpeed ) )
-        {
-        aStr.Copy( KNan );
-        }
-    else if ( aSpeed < 0 )
-        {
-        aStr.Copy( KNeg );
-        }
-    else
-        {
-        DistanceToString( aSpeed, aStr );
-        aStr.Append( KPerSecond );
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void MnrpUtils::AngleToString( TReal aAngle, TDes& aStr )
-    {
-    const TChar KMinus = '-';
-    const TChar KPlus = '+';
-    _LIT( KAngleFormat, "%S%c%.1f\xB0 /  %.1f\xB0" );
-    
-    _LIT( KNorth, "N" );
-    _LIT( KSouth, "S" );
-    _LIT( KWest, "W" );
-    _LIT( KEast, "E" );
-
-    TPtrC side;
-    TReal angle;
-
-    if ( Math::IsNaN( aAngle ) )
-        {
-        aStr.Copy( KNan );
-        }
-    else if ( aAngle > 360 )
-        {
-        aStr.Copy( KOutOfBounds );
-        }
-    else
-        {
-        if ( aAngle > 315 )
-            {
-            side.Set( KNorth );
-            angle = aAngle - 360;
-            }
-        else if ( aAngle > 225 )
-            {
-            side.Set( KWest );
-            angle = aAngle - 270;
-            }
-        else if ( aAngle > 135 )
-            {
-            side.Set( KSouth );
-            angle = aAngle - 180;
-            }
-        else if ( aAngle > 45 )
-            {
-            side.Set( KEast );
-            angle = aAngle - 90;
-            }
-        else // aAngle <= 45
-            {
-            side.Set( KNorth );
-            angle = aAngle;
-            }
-
-        TChar sign = ( angle >= 0 ) ? KPlus : KMinus;
-        aStr.Format( KAngleFormat, &side, TUint( sign ), Abs( angle ), aAngle );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C HBufC* MnrpUtils::PrintableStringLC( const TDesC& aStr )
-    {
-    HBufC* buf = aStr.AllocLC();
-    TPtr string( buf->Des() );
-    for ( TInt i = 0; i < string.Length(); i++ )
-        {
-        if ( !TChar( string[i] ).IsPrint() )
-            {
-            string[i] = ' ';
-            }
-        }
-    return buf;
-    }
--- a/locsrv_plat/map_and_navigation_api/tsrc/src/testcmnmapview.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,734 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Provides testing of CMnMapView class methods
-*
-*/
-
-
-
-// INCLUDE FILES
-
-#include <StifParser.h>
-#include <Stiftestinterface.h>
-#include "testcmnmapview.h"
-#include <MnMapView.h>
-#include <MnProviderFinder.h>
-#include <MnProvider.h>
-#include <EPos_CPosLandmark.h>
-#include <EPos_CPosLandmarkDatabase.h>
-#include <EPos_PosLandmarkSerialization.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CTestMnMapView::CTestMnMapView
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CTestMnMapView::CTestMnMapView( CStifLogger* aLog ) :
-				CActive(EPriorityStandard), iLog(aLog)
-	{
-	CActiveScheduler::Add(this);
-	}
-
-// -----------------------------------------------------------------------------
-// CTestMnMapView::NewL
-// 
-// 
-// -----------------------------------------------------------------------------
-//	
-CTestMnMapView* CTestMnMapView::NewL(CStifLogger* aLog)
-	{
-	CTestMnMapView* self = new (ELeave) CTestMnMapView( aLog );
-	CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop(); 
-    return self; 
-	}
-
-// -----------------------------------------------------------------------------
-// CTestMnMapView::ConstructL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-void CTestMnMapView::ConstructL()
-	{
-	Cancel();
-	}	
-
-// -----------------------------------------------------------------------------
-// CTestMnMapView::~CTestMnMapView
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-CTestMnMapView::~CTestMnMapView()
-	{
-	
-	}
-	
-// -----------------------------------------------------------------------------
-// CTestMnMapView::CreateMapViewL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnMapView::CreateMapViewL( CStifItemParser& /*aItem*/ )
-	{
-	// Find one provider to be used by mapview
-	RPointerArray<CMnProvider> providerArray;
-	MnProviderFinder::FindProvidersL( providerArray, CMnProvider::EServiceMapView );
-	if( providerArray.Count() < 1 )
-		{
-		// No provider found
-		iLog->Log(_L("Provider not found, CreateNavigatorL fails"));
-		User::Leave( KErrNotFound );
-		}
-	// Use first provider
-	CMnMapView* mapView = CMnMapView::NewL( *providerArray.operator[](0) );
-	delete mapView;
-	providerArray.ResetAndDestroy();
-	return KErrNone;
-	}
-
-// -----------------------------------------------------------------------------
-// CTestMnMapView::CreateChainedMapViewL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnMapView::CreateChainedMapViewL( CStifItemParser& /*aItem*/ )
-	{
-	// Find one provider to be used by mapview
-	RPointerArray<CMnProvider> providerArray;
-	MnProviderFinder::FindProvidersL( providerArray );
-	TUid Uid;
-    Uid.iUid = 0x03132014;
-    TInt i = 0;
-    for( i=0; i<providerArray.Count(); i++ )
-    	{
-    	if((providerArray.operator[](i))->Uid() == Uid)
-    		{
-    		break;
-    		}			
-    	}
-    	
-	if( i >= providerArray.Count() )
-		{
-		// No provider found
-		iLog->Log(_L("Provider not found, CreateNavigatorL fails"));
-		User::Leave( KErrNotFound );
-		}
-	// Use provider
-	CMnMapView* mapView = CMnMapView::NewChainedL( *providerArray.operator[](i) );
-	delete mapView;
-	providerArray.ResetAndDestroy();
-	return KErrNone;
-	}
-	
-// -----------------------------------------------------------------------------
-// CTestMnMapView::AddLinkedLmksToShowL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnMapView::AddLinkedLmksToShowL( CStifItemParser& /*aItem*/ )
-	{
-	// Find one provider to be used by mapview
-	RPointerArray<CMnProvider> providerArray;
-	MnProviderFinder::FindProvidersL( providerArray, CMnProvider::EServiceMapView );
-	if( providerArray.Count() < 1 )
-		{
-		// No provider found
-		iLog->Log(_L("Provider not found, CreateNavigatorL fails"));
-		User::Leave( KErrNotFound );
-		}
-	// Use first provider
-	CMnMapView* mapView = CMnMapView::NewL( *providerArray.operator[](0) );
-	CleanupStack::PushL( mapView );	
-	// Open test database, get landmark ids
-	CPosLandmarkDatabase* lmkDatabase = CPosLandmarkDatabase::OpenL();
-	CleanupStack::PushL( lmkDatabase );	
-	// Get URI
-	HBufC* uri = lmkDatabase->DatabaseUriLC();
-	// Init
-	ExecuteAndDeleteLD( lmkDatabase->InitializeL() );
-	// Get Landmark Iterator
-	CPosLmItemIterator* iterator = lmkDatabase->LandmarkIteratorL();
-	CleanupStack::PushL( iterator );
-	// Get Ids
-	RArray<TPosLmItemId> lmkIdArray;
-	TPosLmItemId id;
-	while( (id = iterator->NextL()) != KPosLmNullItemId )
-		{
-		lmkIdArray.Append( id );
-		}
-	// Add
-	mapView->AddLandmarksToShowL( uri->Des(), lmkIdArray );
-	
-	CleanupStack::PopAndDestroy( 4, mapView );
-	ReleaseLandmarkResources();
-	providerArray.ResetAndDestroy();
-	return KErrNone;
-	}	
-
-// -----------------------------------------------------------------------------
-// CTestMnMapView::AddLmksToShowL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnMapView::AddLmksToShowL( CStifItemParser&  /*aItem*/ )
-	{
-	// Find one provider to be used by mapview
-	RPointerArray<CMnProvider> providerArray;
-	MnProviderFinder::FindProvidersL( providerArray, CMnProvider::EServiceMapView );
-	if( providerArray.Count() < 1 )
-		{
-		// No provider found
-		iLog->Log(_L("Provider not found, CreateNavigatorL fails"));
-		User::Leave( KErrNotFound );
-		}
-	// Use first provider
-	CMnMapView* mapView = CMnMapView::NewL( *providerArray.operator[](0) );
-	CleanupStack::PushL( mapView );	
-	// 
-	RPointerArray<CPosLandmark> lmkArray;
-	// Create two landmarks, append to array
-	// 1
-	CPosLandmark* landmark1 = CPosLandmark::NewL();
-	CleanupStack::PushL( landmark1 );
-	lmkArray.Append( landmark1 );
-	// 2
-	CPosLandmark* landmark2 = CPosLandmark::NewL();
-	CleanupStack::PushL( landmark2 );
-	lmkArray.Append( landmark2 );	
-	// Add
-	mapView->AddLandmarksToShowL( lmkArray );
-	
-	CleanupStack::PopAndDestroy( 3, mapView );
-	ReleaseLandmarkResources();
-	providerArray.ResetAndDestroy();
-	return KErrNone;
-	}
-	
-// -----------------------------------------------------------------------------
-// CTestMnMapView::AddPackedLmksToShowL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnMapView::AddPackedLmksToShowL( CStifItemParser& /*aItem*/ )
-	{
-	// Find one provider to be used by mapview
-	RPointerArray<CMnProvider> providerArray;
-	MnProviderFinder::FindProvidersL( providerArray, CMnProvider::EServiceMapView );
-	if( providerArray.Count() < 1 )
-		{
-		// No provider found
-		iLog->Log(_L("Provider not found, CreateNavigatorL fails"));
-		User::Leave( KErrNotFound );
-		}
-	// Use first provider
-	CMnMapView* mapView = CMnMapView::NewL( *providerArray.operator[](0) );
-	CleanupStack::PushL( mapView );	
-	// 
-	RArray<TPtrC8> packedLmksArray;
-	// Create two landmarks, pack and append to array
-	// 1
-	CPosLandmark* landmark1 = CPosLandmark::NewL();
-	CleanupStack::PushL( landmark1 );
-	HBufC8* lmkBuffer1 = PosLandmarkSerialization::PackL( *landmark1 );
-	packedLmksArray.Append( *lmkBuffer1 );
-	// 2
-	CPosLandmark* landmark2 = CPosLandmark::NewL();
-	CleanupStack::PushL( landmark2 );
-	HBufC8* lmkBuffer2 = PosLandmarkSerialization::PackL( *landmark1 );
-	packedLmksArray.Append( *lmkBuffer2 );
-//	lmkArray.Append( landmark2 );	
-	// Add 
-	mapView->AddLandmarksToShowL( packedLmksArray );
-	
-	CleanupStack::PopAndDestroy( 3, mapView );
-	ReleaseLandmarkResources();
-	providerArray.ResetAndDestroy();
-	return KErrNone;
-	}
-	
-// -----------------------------------------------------------------------------
-// CTestMnMapView::ResetLmksToShowL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnMapView::ResetLmksToShowL( CStifItemParser& /*aItem*/ )
-	{
-	// Find one provider to be used by mapview
-	RPointerArray<CMnProvider> providerArray;
-	MnProviderFinder::FindProvidersL( providerArray, CMnProvider::EServiceMapView );
-	if( providerArray.Count() < 1 )
-		{
-		// No provider found
-		iLog->Log(_L("Provider not found, CreateNavigatorL fails"));
-		User::Leave( KErrNotFound );
-		}
-	// Use first provider
-	CMnMapView* mapView = CMnMapView::NewL( *providerArray.operator[](0) );
-	CleanupStack::PushL( mapView );	
-	// 
-	RArray<TPtrC8> packedLmksArray;
-	// Create two landmarks, pack and append to array
-	// 1
-	CPosLandmark* landmark1 = CPosLandmark::NewL();
-	CleanupStack::PushL( landmark1 );
-	HBufC8* lmkBuffer1 = PosLandmarkSerialization::PackL( *landmark1 );
-	packedLmksArray.Append( *lmkBuffer1 );
-	// 2
-	CPosLandmark* landmark2 = CPosLandmark::NewL();
-	CleanupStack::PushL( landmark2 );
-	HBufC8* lmkBuffer2 = PosLandmarkSerialization::PackL( *landmark1 );
-	packedLmksArray.Append( *lmkBuffer2 );
-//	lmkArray.Append( landmark2 );	
-	// Add 
-	mapView->AddLandmarksToShowL( packedLmksArray );
-	
-	// Reset landmarks to show
-	mapView->ResetLandmarksToShow();
-	CleanupStack::PopAndDestroy( 3, mapView );
-	ReleaseLandmarkResources();
-	providerArray.ResetAndDestroy();
-	return KErrNone;
-	}	
-
-// -----------------------------------------------------------------------------
-// CTestMnMapView::SetMapAreaL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnMapView::SetMapAreaL( CStifItemParser& /*aItem*/ )
-	{
-	// Find one provider to be used by mapview
-	RPointerArray<CMnProvider> providerArray;
-	MnProviderFinder::FindProvidersL( providerArray, CMnProvider::EServiceMapView );
-	if( providerArray.Count() < 1 )
-		{
-		// No provider found
-		iLog->Log(_L("Provider not found, CreateNavigatorL fails"));
-		User::Leave( KErrNotFound );
-		}
-	// Use first provider
-	CMnMapView* mapView = CMnMapView::NewL( *providerArray.operator[](0) );
-	CleanupStack::PushL( mapView );	
-	// Set map area
-	TCoordinate center( 21.22, 56.45 );
-	mapView->SetMapAreaL( center, 7.5 );
-	
-	CleanupStack::PopAndDestroy( mapView );
-	providerArray.ResetAndDestroy();
-	return KErrNone;
-	}
-	
-// -----------------------------------------------------------------------------
-// CTestMnMapView::ResetMapAreaL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnMapView::ResetMapAreaL( CStifItemParser& /*aItem*/ )
-	{
-	// Find one provider to be used by mapview
-	RPointerArray<CMnProvider> providerArray;
-	MnProviderFinder::FindProvidersL( providerArray, CMnProvider::EServiceMapView );
-	if( providerArray.Count() < 1 )
-		{
-		// No provider found
-		iLog->Log(_L("Provider not found, CreateNavigatorL fails"));
-		User::Leave( KErrNotFound );
-		}
-	// Use first provider
-	CMnMapView* mapView = CMnMapView::NewL( *providerArray.operator[](0) );
-	CleanupStack::PushL( mapView );	
-	// Set map area
-	TCoordinate center( 21.22, 56.45 );
-	mapView->SetMapAreaL( center, 7.5 );
-	
-	// Reset map area
-	mapView->ResetMapArea();
-	CleanupStack::PopAndDestroy( mapView );
-	providerArray.ResetAndDestroy();
-	return KErrNone;
-	}
-	
-// -----------------------------------------------------------------------------
-// CTestMnMapView::SetCustomRequestTextL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnMapView::SetCustomRequestTextL( CStifItemParser& aItem )
-	{
-	TPtrC requestText;
-	TInt err = aItem.GetNextString( requestText );
-	// Find one provider to be used by mapview
-	RPointerArray<CMnProvider> providerArray;
-	MnProviderFinder::FindProvidersL( providerArray, CMnProvider::EServiceMapView );
-	if( providerArray.Count() < 1 )
-		{
-		// No provider found
-		iLog->Log(_L("Provider not found, CreateNavigatorL fails"));
-		User::Leave( KErrNotFound );
-		}
-	// Use first provider
-	CMnMapView* mapView = CMnMapView::NewL( *providerArray.operator[](0) );
-	CleanupStack::PushL( mapView );	
-	// Set request text
-	mapView->SetCustomRequestTextL( requestText );
-	CleanupStack::PopAndDestroy( mapView );
-	providerArray.ResetAndDestroy();
-	return KErrNone;
-	}		
-	
-// -----------------------------------------------------------------------------
-// CTestMnMapView::SetUseDefaultRequestTextL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnMapView::SetUseDefaultRequestTextL( CStifItemParser& /*aItem*/ )
-	{
-	// Find one provider to be used by mapview
-	RPointerArray<CMnProvider> providerArray;
-	MnProviderFinder::FindProvidersL( providerArray, CMnProvider::EServiceMapView );
-	if( providerArray.Count() < 1 )
-		{
-		// No provider found
-		iLog->Log(_L("Provider not found, CreateNavigatorL fails"));
-		User::Leave( KErrNotFound );
-		}
-	// Use first provider
-	CMnMapView* mapView = CMnMapView::NewL( *providerArray.operator[](0) );
-	CleanupStack::PushL( mapView );	
-	// Set default request text
-	mapView->SetUseDefaultRequestText();
-	CleanupStack::PopAndDestroy( mapView );
-	providerArray.ResetAndDestroy();
-	return KErrNone;
-	}
-	
-// -----------------------------------------------------------------------------
-// CTestMnMapView::SetCurrentLocationOptionL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnMapView::SetCurrentLocationOptionL( CStifItemParser& /*aItem*/ )
-	{
-	// Find one provider to be used by mapview
-	RPointerArray<CMnProvider> providerArray;
-	MnProviderFinder::FindProvidersL( providerArray, CMnProvider::EServiceMapView );
-	if( providerArray.Count() < 1 )
-		{
-		// No provider found
-		iLog->Log(_L("Provider not found, CreateNavigatorL fails"));
-		User::Leave( KErrNotFound );
-		}
-	// Use first provider
-	CMnMapView* mapView = CMnMapView::NewL( *providerArray.operator[](0) );
-	CleanupStack::PushL( mapView );	
-	// Set current location option
-	
-	mapView->SetCurrentLocationOption( CMnMapView::ECurrentLocationEnabled );
-	CleanupStack::PopAndDestroy( mapView );
-	providerArray.ResetAndDestroy();
-	return KErrNone;
-	}
-	
-// -----------------------------------------------------------------------------
-// CTestMnMapView::GetCurrentLocationOptionL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnMapView::GetCurrentLocationOptionL( CStifItemParser& /*aItem*/ )
-	{
-	// Find one provider to be used by mapview
-	RPointerArray<CMnProvider> providerArray;
-	MnProviderFinder::FindProvidersL( providerArray, CMnProvider::EServiceMapView );
-	if( providerArray.Count() < 1 )
-		{
-		// No provider found
-		iLog->Log(_L("Provider not found, CreateNavigatorL fails"));
-		User::Leave( KErrNotFound );
-		}
-	// Use first provider
-	CMnMapView* mapView = CMnMapView::NewL( *providerArray.operator[](0) );
-	CleanupStack::PushL( mapView );	
-	// Set current location option
-	CMnMapView::TCurrentLocationOption option = mapView->CurrentLocationOption();
-	CleanupStack::PopAndDestroy( mapView );
-	providerArray.ResetAndDestroy();
-	return KErrNone;
-	}
-
-// -----------------------------------------------------------------------------
-// CTestMnMapView::SetAndGetOptionsL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnMapView::SetAndGetOptionsL( CStifItemParser& /*aItem*/ )
-	{
-	// Find one provider to be used by mapview
-	RPointerArray<CMnProvider> providerArray;
-	MnProviderFinder::FindProvidersL( providerArray, CMnProvider::EServiceMapView );
-	if( providerArray.Count() < 1 )
-		{
-		// No provider found
-		iLog->Log(_L("Provider not found, CreateNavigatorL fails"));
-		User::Leave( KErrNotFound );
-		}
-	// Use first provider
-	CMnMapView* mapView = CMnMapView::NewL( *providerArray.operator[](0) );
-	CleanupStack::PushL( mapView );
-	
-	// Set map view option
-	mapView->SetOptions( CMnMapView::EOptionRestrictSelection );
-	// Get map view option
-	CMnMapView::TOptions options = mapView->Options();
-	
-	CleanupStack::PopAndDestroy( mapView );
-	providerArray.ResetAndDestroy();
-	return KErrNone;
-	}
-	
-// -----------------------------------------------------------------------------
-// CTestMnMapView::SelectionResultTypeL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnMapView::SelectionResultTypeL( CStifItemParser& /*aItem*/ )
-	{
-	// Find one provider to be used by mapview
-	RPointerArray<CMnProvider> providerArray;
-	MnProviderFinder::FindProvidersL( providerArray, CMnProvider::EServiceMapView );
-	if( providerArray.Count() < 1 )
-		{
-		// No provider found
-		iLog->Log(_L("Provider not found, CreateNavigatorL fails"));
-		User::Leave( KErrNotFound );
-		}
-	// Use first provider
-	CMnMapView* mapView = CMnMapView::NewL( *providerArray.operator[](0) );
-	CleanupStack::PushL( mapView );
-	
-	
-	// Get Selection Result Type
-	CMnMapView::TSelectionResultType resultType = mapView->SelectionResultType();
-	
-	CleanupStack::PopAndDestroy( mapView );
-	providerArray.ResetAndDestroy();
-	return KErrNone;
-	}			
-	
-// -----------------------------------------------------------------------------
-// CTestMnMapView::ShowMapL
-// 
-// Not being tested, user input is required to close the provider app
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnMapView::ShowMapL( CStifItemParser& /*aItem*/ )
-	{
-	// Find one provider to be used by mapview
-	RPointerArray<CMnProvider> providerArray;
-	MnProviderFinder::FindProvidersL( providerArray, CMnProvider::EServiceMapView );
-	if( providerArray.Count() < 1 )
-		{
-		// No provider found
-		iLog->Log(_L("Provider not found, CreateNavigatorL fails"));
-		User::Leave( KErrNotFound );
-		}
-	// Use first provider
-	CMnMapView* mapView = CMnMapView::NewL( *providerArray.operator[](0) );
-	CleanupStack::PushL( mapView );
-	
-	
-	// Show map
-	mapView->ShowMapL();
-	
-	CleanupStack::PopAndDestroy( mapView );
-	providerArray.ResetAndDestroy();
-	return KErrNone;
-	}				
-	
-// -----------------------------------------------------------------------------
-// CTestMnMapView::ShowCurrentLocationL
-// 
-// Not being tested, user input is required to close the provider app
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnMapView::ShowCurrentLocationL( CStifItemParser& /*aItem*/ )
-	{
-	// Find one provider to be used by mapview
-	RPointerArray<CMnProvider> providerArray;
-	MnProviderFinder::FindProvidersL( providerArray, CMnProvider::EServiceMapView );
-	if( providerArray.Count() < 1 )
-		{
-		// No provider found
-		iLog->Log(_L("Provider not found, CreateNavigatorL fails"));
-		User::Leave( KErrNotFound );
-		}
-	// Use first provider
-	CMnMapView* mapView = CMnMapView::NewL( *providerArray.operator[](0) );
-	CleanupStack::PushL( mapView );
-	
-	
-	// Show Current Location
-	mapView->ShowCurrentLocationL();
-	
-	CleanupStack::PopAndDestroy( mapView );
-	providerArray.ResetAndDestroy();
-	return KErrNone;
-	}					
-	
-// -----------------------------------------------------------------------------
-// CTestMnMapView::SelectFromMapL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnMapView::SelectFromMapL( CStifItemParser& /*aItem*/ )
-	{
-	// Find one provider to be used by mapview
-	RPointerArray<CMnProvider> providerArray;
-	MnProviderFinder::FindProvidersL( providerArray, CMnProvider::EServiceMapView );
-	if( providerArray.Count() < 1 )
-		{
-		// No provider found
-		iLog->Log(_L("Provider not found, CreateNavigatorL fails"));
-		User::Leave( KErrNotFound );
-		}
-	// Use first provider
-	CMnMapView* mapView = CMnMapView::NewL( *providerArray.operator[](0) );
-	CleanupStack::PushL( mapView );
-	
-	// Async request for selecting a position from map
-	mapView->SelectFromMapL( iStatus );
-	SetActive();
-	mapView->Cancel();
-	// Wait
-	CActiveScheduler::Start();
-	
-	CleanupStack::PopAndDestroy( mapView );
-	providerArray.ResetAndDestroy();
-	return KErrNone;
-	}
-	
-// -----------------------------------------------------------------------------
-// CTestMnMapView::SetViewExitObserverL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnMapView::SetViewExitObserverL( CStifItemParser& /*aItem*/ )
-	{
-// Find one provider to be used by mapview
-	RPointerArray<CMnProvider> providerArray;
-	MnProviderFinder::FindProvidersL( providerArray, CMnProvider::EServiceMapView );
-	if( providerArray.Count() < 1 )
-		{
-		// No provider found
-		iLog->Log(_L("Provider not found, CreateNavigatorL fails"));
-		User::Leave( KErrNotFound );
-		}
-	// Use first provider
-	CMnMapView* mapView = CMnMapView::NewL( *providerArray.operator[](0) );
-	CleanupStack::PushL( mapView );
-	
-	// Set exit observer
-	mapView->SetExitObserverL( *this );
-	
-	CleanupStack::PopAndDestroy( mapView );
-	providerArray.ResetAndDestroy();
-	return KErrNone;
-	}
-	
-// -----------------------------------------------------------------------------
-// CTestMnMapView::RemoveViewExitObserverL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnMapView::RemoveViewExitObserverL( CStifItemParser& /*aItem*/ )
-	{
-// Find one provider to be used by mapview
-	RPointerArray<CMnProvider> providerArray;
-	MnProviderFinder::FindProvidersL( providerArray, CMnProvider::EServiceMapView );
-	if( providerArray.Count() < 1 )
-		{
-		// No provider found
-		iLog->Log(_L("Provider not found, CreateNavigatorL fails"));
-		User::Leave( KErrNotFound );
-		}
-	// Use first provider
-	CMnMapView* mapView = CMnMapView::NewL( *providerArray.operator[](0) );
-	CleanupStack::PushL( mapView );
-	
-	// Set exit observer
-	mapView->SetExitObserverL( *this );
-	// Remove exit observer
-	mapView->RemoveExitObserver();
-	
-	CleanupStack::PopAndDestroy( mapView );
-	providerArray.ResetAndDestroy();
-	return KErrNone;
-	}								
-	
-// -----------------------------------------------------------------------------
-// CTestMnMapView::RunL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-void CTestMnMapView::RunL()
-	{
-	iLog->Log(_L("RunL Called"));
-	CActiveScheduler::Stop();
-	}
-	
-// -----------------------------------------------------------------------------
-// CTestMnMapView::DoCancel
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-void CTestMnMapView::DoCancel()
-	{
-	
-	}	
-	
-// -----------------------------------------------------------------------------
-// CTestMnNavigator::HandleServerAppExit
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-void CTestMnMapView::HandleServerAppExit( TInt /*aReason*/ )
-	{
-	iLog->Log(_L("Provider exits"));
-	}
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/src/testcmnnavigator.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,243 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Provides testing of CMnNavigator class methods
-*
-*/
-
-
-
-// INCLUDE FILES
-
-#include "testcmnnavigator.h"
-#include <MnNavigator.h>
-#include <MnProviderFinder.h>
-#include <MnProvider.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CTestMnNavigator::CTestMnNavigator
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CTestMnNavigator::CTestMnNavigator( CStifLogger* aLog ) 
-	{
-	iLog = aLog;
-	}
-
-// -----------------------------------------------------------------------------
-// CTestMnNavigator::NewL
-// 
-// 
-// -----------------------------------------------------------------------------
-//	
-CTestMnNavigator* CTestMnNavigator::NewL(CStifLogger* aLog)
-	{
-	CTestMnNavigator* self = new (ELeave) CTestMnNavigator( aLog );
-	CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop(); 
-    return self; 
-	}
-
-// -----------------------------------------------------------------------------
-// CTestMnNavigator::ConstructL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-void CTestMnNavigator::ConstructL()
-	{
-	
-	}	
-
-// -----------------------------------------------------------------------------
-// CTestMnNavigator::~CTestMnNavigator
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-CTestMnNavigator::~CTestMnNavigator()
-	{
-	
-	}
-	
-
-// -----------------------------------------------------------------------------
-// CTestMnNavigator::CreateNavigatorL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnNavigator::CreateNavigatorL( CStifItemParser& /*aItem*/ )
-	{
-	// Find one provider to be used by navigator
-	RPointerArray<CMnProvider> providerArray;
-	MnProviderFinder::FindProvidersL( providerArray, CMnProvider::EServiceNavigation );
-	if( providerArray.Count() < 1 )
-		{
-		// No provider found
-		iLog->Log(_L("Provider not found, CreateNavigatorL fails"));
-		User::Leave( KErrNotFound );
-		}
-	// Use first provider
-	CMnNavigator* navigator = CMnNavigator::NewL( *providerArray.operator[](0) );
-	delete navigator;
-	providerArray.ResetAndDestroy();
-	return KErrNone;
-	}
-
-// -----------------------------------------------------------------------------
-// CTestMnNavigator::CreateChainedNavigatorL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnNavigator::CreateChainedNavigatorL( CStifItemParser& /*aItem*/ )
-	{
-	// Find one provider to be used by navigator
-	RPointerArray<CMnProvider> providerArray;
-	MnProviderFinder::FindProvidersL( providerArray );
-	TUid Uid;
-    Uid.iUid = 0x03132014;
-    TInt i = 0;
-    for( i=0; i<providerArray.Count(); i++ )
-    	{
-    	if((providerArray.operator[](i))->Uid() == Uid)
-    		{
-    		break;
-    		}			
-    	}
-    	
-	if( i >= providerArray.Count() )
-		{
-		// No provider found
-		iLog->Log(_L("Provider not found, CreateNavigatorL fails"));
-		User::Leave( KErrNotFound );
-		}
-	// Use second provider
-	CMnNavigator* navigator = CMnNavigator::NewChainedL( *providerArray.operator[](i) );
-	delete navigator;
-	for( i=0; i < providerArray.Count(); i++ )
-		{
-		iLog->Log(_L("One more"));
-		delete  providerArray.operator[](i);	
-		}
-	return KErrNone;
-	}
-	
-// -----------------------------------------------------------------------------
-// CTestMnNavigator::NavigateToL
-// 
-// Not being tested, user input is required to close the provider app
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnNavigator::NavigateToL( CStifItemParser& /*aItem*/ )
-	{
-	// Find one provider to be used by navigator
-	RPointerArray<CMnProvider> providerArray;
-	MnProviderFinder::FindProvidersL( providerArray, CMnProvider::EServiceNavigation );
-	if( providerArray.Count() < 1 )
-		{
-		// No provider found
-		iLog->Log(_L("Provider not found, CreateNavigatorL fails"));
-		User::Leave( KErrNotFound );
-		}
-	// Use first provider
-	CMnNavigator* navigator = CMnNavigator::NewL( *providerArray.operator[](0) );
-	CleanupStack::PushL( navigator );
-	// Create landmark
-	CPosLandmark* landmark = CPosLandmark::NewL();
-	CleanupStack::PushL( landmark );
-	TLocality position;
-	position.SetCoordinate( 45.56, 78.002 );
-	// Set position
-	landmark->SetPositionL( position );
-	// Navigate
-	navigator->NavigateToL( *landmark );
-	CleanupStack::PopAndDestroy( 2, navigator );
-	providerArray.ResetAndDestroy();
-	return KErrNone;
-	}	
-
-// -----------------------------------------------------------------------------
-// CTestMnNavigator::SetExitObserverL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnNavigator::SetExitObserverL( CStifItemParser& /*aItem*/ )
-	{
-	// Find one provider to be used by navigator
-	RPointerArray<CMnProvider> providerArray;
-	MnProviderFinder::FindProvidersL( providerArray, CMnProvider::EServiceNavigation );
-	if( providerArray.Count() < 1 )
-		{
-		// No provider found
-		iLog->Log(_L("Provider not found, CreateNavigatorL fails"));
-		User::Leave( KErrNotFound );
-		}
-	// Use first provider
-	CMnNavigator* navigator = CMnNavigator::NewL( *providerArray.operator[](0) );
-	CleanupStack::PushL( navigator );
-	// Set exit observer
-	navigator->SetExitObserverL( *this );
-	//
-	CleanupStack::PopAndDestroy( navigator );
-	providerArray.ResetAndDestroy();
-	return KErrNone;
-	}	
-	
-// -----------------------------------------------------------------------------
-// CTestMnNavigator::RemoveExitObserverL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnNavigator::RemoveExitObserverL( CStifItemParser& /*aItem*/ )
-	{
-	// Find one provider to be used by navigator
-	RPointerArray<CMnProvider> providerArray;
-	MnProviderFinder::FindProvidersL( providerArray, CMnProvider::EServiceNavigation );
-	if( providerArray.Count() < 1 )
-		{
-		// No provider found
-		iLog->Log(_L("Provider not found, CreateNavigatorL fails"));
-		User::Leave( KErrNotFound );
-		}
-	// Use first provider
-	CMnNavigator* navigator = CMnNavigator::NewL( *providerArray.operator[](0) );
-	CleanupStack::PushL( navigator );
-	// Set exit observer
-	navigator->SetExitObserverL( *this );
-	// Remove exit observer
-	navigator->RemoveExitObserver();
-	CleanupStack::PopAndDestroy( navigator );
-	providerArray.ResetAndDestroy();
-	return KErrNone;
-	}		
-
-
-// -----------------------------------------------------------------------------
-// CTestMnNavigator::HandleServerAppExit
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-void CTestMnNavigator::HandleServerAppExit( TInt /*aReason*/ )
-	{
-	iLog->Log(_L("Provider exits"));
-	}
-
--- a/locsrv_plat/map_and_navigation_api/tsrc/src/testmapandnavapi.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,146 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Implementation of test class for map_and_navigation_api
-*
-*/
-
-
-
-// INCLUDE FILES
-#include <Stiftestinterface.h>
-#include <swinstapi.h>
-#include "testmapandnavapi.h"
-
-// Literal
-// Provider app sisx path
-_LIT( KProviderSisxPath, "e:\\testing\\data\\mnrefprovider.sisx" ); 
-
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CTestMapAndNavApi::CTestMapAndNavApi
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CTestMapAndNavApi::CTestMapAndNavApi( 
-    CTestModuleIf& aTestModuleIf ):
-        CScriptBase( aTestModuleIf )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CTestMapAndNavApi::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CTestMapAndNavApi::ConstructL()
-    {
-    iLog = CStifLogger::NewL( KtestmapandnavapiLogPath, 
-                          KtestmapandnavapiLogFile,
-                          CStifLogger::ETxt,
-                          CStifLogger::EFile,
-                          EFalse );
-	InstallProvider( KProviderSisxPath );
-    }
-
-// -----------------------------------------------------------------------------
-// CTestMapAndNavApi::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CTestMapAndNavApi* CTestMapAndNavApi::NewL( 
-    CTestModuleIf& aTestModuleIf )
-    {
-    CTestMapAndNavApi* self = new (ELeave) CTestMapAndNavApi( aTestModuleIf );
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;
-
-    }
-
-// Destructor
-CTestMapAndNavApi::~CTestMapAndNavApi()
-    { 
-
-    // Delete resources allocated from test methods
-    Delete();
-
-    // Delete logger
-    delete iLog; 
-
-    }
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// -----------------------------------------------------------------------------
-// LibEntryL is a polymorphic Dll entry point.
-// Returns: CScriptBase: New CScriptBase derived object
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CScriptBase* LibEntryL( 
-    CTestModuleIf& aTestModuleIf ) // Backpointer to STIF Test Framework
-    {
-
-    return ( CScriptBase* ) CTestMapAndNavApi::NewL( aTestModuleIf );
-
-    }
-    
-// -----------------------------------------------------------------------------
-// This method will install the provider application
-//
-// -----------------------------------------------------------------------------
-//   
-TInt CTestMapAndNavApi::InstallProvider( const TDesC& aPackagePath )
-    {
-   // iLog->Log("Installing [%S]...", aPackagePath );
-
-    TInt err = KErrNone;
-    SwiUI::RSWInstSilentLauncher installer;
-
-    err = installer.Connect();
-    if( KErrNone != err )
-    	{
-    	iLog->Log(_L("Connection to installer failed"));
-    	return err;
-    	}
-    //CHECK_EQUAL( err, KErrNone, "Connection to installer failed" );
-
-    SwiUI::TInstallOptionsPckg options;
-    options().iUpgrade = SwiUI::EPolicyAllowed;
-    options().iPackageInfo = SwiUI::EPolicyAllowed;
-    options().iOverwrite = SwiUI::EPolicyAllowed;
-    options().iKillApp = SwiUI::EPolicyAllowed;
-
-    err = installer.SilentInstall( aPackagePath, options );
-    if( KErrNone != err )
-    	{
-    	iLog->Log(_L("Provider Installation failed"));
-    	installer.Close();
-    	return err;
-    	}
-    	
-    //CHECK_EQUAL( err, KErrNone, "Installation failed" );
-	iLog->Log(_L("Provider Installation passed"));
-    installer.Close();
-    return err;
-    }
-
-
-//  End of File
--- a/locsrv_plat/map_and_navigation_api/tsrc/src/testmapandnavapiblocks.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,409 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Entry point for test cases in stif module
-*
-*/
-
-
-
-// INCLUDE FILES
-#include <e32svr.h>
-#include <StifParser.h>
-#include <Stiftestinterface.h>
-#include "testmapandnavapi.h"
-
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CTestMapAndNavApi::Delete
-// Delete here all resources allocated and opened from test methods. 
-// Called from destructor. 
-// -----------------------------------------------------------------------------
-//
-void CTestMapAndNavApi::Delete() 
-    {
-
-    }
-
-// -----------------------------------------------------------------------------
-// CTestMapAndNavApi::RunMethodL
-// Run specified method. Contains also table of test mothods and their names.
-// -----------------------------------------------------------------------------
-//
-TInt CTestMapAndNavApi::RunMethodL( 
-    CStifItemParser& aItem ) 
-    {
-
-    static TStifFunctionInfo const KFunctions[] =
-        {  
-        // Navigator
-        ENTRY( "CreateNavigator", CTestMapAndNavApi::CreateNavigatorL ),
-        ENTRY( "CreateChainedNavigator", CTestMapAndNavApi::CreateChainedNavigatorL ),
-        ENTRY( "SetNavigatorExitObserver", CTestMapAndNavApi::SetExitObserverL ),
-        ENTRY( "RemoveNavigatorExitObserver", CTestMapAndNavApi::RemoveExitObserverL ),
-        
-        // Map View
-        ENTRY( "CreateMapView", CTestMapAndNavApi::CreateMapViewL ),
-        ENTRY( "CreateChainedMapView", CTestMapAndNavApi::CreateChainedMapViewL ),
-        ENTRY( "AddLinkedLmksToShow", CTestMapAndNavApi::AddLinkedLmksToShowL ),
-        ENTRY( "AddLmksToShow", CTestMapAndNavApi::AddLmksToShowL ),
-        ENTRY( "AddPackedLmksToShow", CTestMapAndNavApi::AddPackedLmksToShowL ),
-        ENTRY( "ResetLmksToShow", CTestMapAndNavApi::ResetLmksToShowL ),
-        ENTRY( "SetMapArea", CTestMapAndNavApi::SetMapAreaL ),
-        ENTRY( "ResetMapArea", CTestMapAndNavApi::ResetMapAreaL ),
-        ENTRY( "SetCustomRequestText", CTestMapAndNavApi::SetCustomRequestTextL ),
-        ENTRY( "SetUseDefaultRequestText", CTestMapAndNavApi::SetUseDefaultRequestTextL ),
-        ENTRY( "SetCurrentLocationOption", CTestMapAndNavApi::SetCurrentLocationOptionL ),
-        ENTRY( "GetCurrentLocationOption", CTestMapAndNavApi::GetCurrentLocationOptionL ),
-        ENTRY( "SetAndGetOptions", CTestMapAndNavApi::SetAndGetOptionsL ),
-        ENTRY( "SelectionResultType", CTestMapAndNavApi::SelectionResultTypeL ),
-        ENTRY( "SelectFromMap", CTestMapAndNavApi::SelectFromMapL ),
-        ENTRY( "SetViewExitObserver", CTestMapAndNavApi::SetViewExitObserverL ),
-        ENTRY( "RemoveViewExitObserver", CTestMapAndNavApi::RemoveViewExitObserverL ),
-        
-        };
-
-    const TInt count = sizeof( KFunctions ) / 
-                        sizeof( TStifFunctionInfo );
-	
-	TInt ret = KErrNone;
-	TRAPD( error, ret = RunInternalL( KFunctions, count, aItem ));
-	if ( error != KErrNone )
-		{
-		return error;
-		}
-	return ret;	
-	    
-    }
-   
-// -----------------------------------------------------------------------------
-// CTestMapAndNavApi::CreateNavigatorL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMapAndNavApi::CreateNavigatorL( CStifItemParser& aItem )
-    {
-    CTestMnNavigator* testNavigator = CTestMnNavigator::NewL( iLog );
-	CleanupStack::PushL( testNavigator );
-	TInt err = testNavigator->CreateNavigatorL( aItem );
-	CleanupStack::PopAndDestroy( testNavigator );
-	return err;	
-    }   
-
-// -----------------------------------------------------------------------------
-// CTestMapAndNavApi::CreateChainedNavigatorL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMapAndNavApi::CreateChainedNavigatorL( CStifItemParser& aItem )
-    {
-    CTestMnNavigator* testNavigator = CTestMnNavigator::NewL( iLog );
-	CleanupStack::PushL( testNavigator );
-	TInt err = testNavigator->CreateChainedNavigatorL( aItem );
-	CleanupStack::PopAndDestroy( testNavigator );
-	return err;	
-    } 
-    
-// -----------------------------------------------------------------------------
-// CTestMapAndNavApi::SetExitObserverL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMapAndNavApi::SetExitObserverL( CStifItemParser& aItem )
-    {
-    CTestMnNavigator* testNavigator = CTestMnNavigator::NewL( iLog );
-	CleanupStack::PushL( testNavigator );
-	TInt err = testNavigator->SetExitObserverL( aItem );
-	CleanupStack::PopAndDestroy( testNavigator );
-	return err;	
-    }     
-
-// -----------------------------------------------------------------------------
-// CTestMapAndNavApi::RemoveExitObserverL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMapAndNavApi::RemoveExitObserverL( CStifItemParser& aItem )
-    {
-    CTestMnNavigator* testNavigator = CTestMnNavigator::NewL( iLog );
-	CleanupStack::PushL( testNavigator );
-	TInt err = testNavigator->RemoveExitObserverL( aItem );
-	CleanupStack::PopAndDestroy( testNavigator );
-	return err;	
-    }     
-
-    
-// -----------------------------------------------------------------------------
-// CTestMapAndNavApi::CreateMapViewL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMapAndNavApi::CreateMapViewL( CStifItemParser& aItem )
-    {
-    CTestMnMapView* testMapView = CTestMnMapView::NewL( iLog );
-	CleanupStack::PushL( testMapView );
-	TInt err = testMapView->CreateMapViewL( aItem );
-	CleanupStack::PopAndDestroy( testMapView );
-	return err;	
-    }     
-
-// -----------------------------------------------------------------------------
-// CTestMapAndNavApi::CreateChainedMapViewL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMapAndNavApi::CreateChainedMapViewL( CStifItemParser& aItem )
-    {
-    CTestMnMapView* testMapView = CTestMnMapView::NewL( iLog );
-	CleanupStack::PushL( testMapView );
-	TInt err = testMapView->CreateChainedMapViewL( aItem );
-	CleanupStack::PopAndDestroy( testMapView );
-	return err;	
-    } 
-    
-// -----------------------------------------------------------------------------
-// CTestMapAndNavApi::AddLinkedLmksToShowL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMapAndNavApi::AddLinkedLmksToShowL( CStifItemParser& aItem )
-    {
-    CTestMnMapView* testMapView = CTestMnMapView::NewL( iLog );
-	CleanupStack::PushL( testMapView );
-	TInt err = testMapView->AddLinkedLmksToShowL( aItem );
-	CleanupStack::PopAndDestroy( testMapView );
-	return err;	
-    }   
-    
-// -----------------------------------------------------------------------------
-// CTestMapAndNavApi::AddLmksToShowL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMapAndNavApi::AddLmksToShowL( CStifItemParser& aItem )
-    {
-    CTestMnMapView* testMapView = CTestMnMapView::NewL( iLog );
-	CleanupStack::PushL( testMapView );
-	TInt err = testMapView->AddLmksToShowL( aItem );
-	CleanupStack::PopAndDestroy( testMapView );
-	return err;	
-    }
-    
-// -----------------------------------------------------------------------------
-// CTestMapAndNavApi::AddPackedLmksToShowL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMapAndNavApi::AddPackedLmksToShowL( CStifItemParser& aItem )
-    {
-    CTestMnMapView* testMapView = CTestMnMapView::NewL( iLog );
-	CleanupStack::PushL( testMapView );
-	TInt err = testMapView->AddPackedLmksToShowL( aItem );
-	CleanupStack::PopAndDestroy( testMapView );
-	return err;	
-    }    
-    
-// -----------------------------------------------------------------------------
-// CTestMapAndNavApi::ResetLmksToShowL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMapAndNavApi::ResetLmksToShowL( CStifItemParser& aItem )
-    {
-    CTestMnMapView* testMapView = CTestMnMapView::NewL( iLog );
-	CleanupStack::PushL( testMapView );
-	TInt err = testMapView->ResetLmksToShowL( aItem );
-	CleanupStack::PopAndDestroy( testMapView );
-	return err;	
-    }     
-    
-// -----------------------------------------------------------------------------
-// CTestMapAndNavApi::SetMapAreaL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMapAndNavApi::SetMapAreaL( CStifItemParser& aItem )
-    {
-    CTestMnMapView* testMapView = CTestMnMapView::NewL( iLog );
-	CleanupStack::PushL( testMapView );
-	TInt err = testMapView->SetMapAreaL( aItem );
-	CleanupStack::PopAndDestroy( testMapView );
-	return err;	
-    }            
-
-// -----------------------------------------------------------------------------
-// CTestMapAndNavApi::ResetMapAreaL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMapAndNavApi::ResetMapAreaL( CStifItemParser& aItem )
-    {
-    CTestMnMapView* testMapView = CTestMnMapView::NewL( iLog );
-	CleanupStack::PushL( testMapView );
-	TInt err = testMapView->ResetMapAreaL( aItem );
-	CleanupStack::PopAndDestroy( testMapView );
-	return err;	
-    }   
-
-
-// -----------------------------------------------------------------------------
-// CTestMapAndNavApi::SetCustomRequestTextL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMapAndNavApi::SetCustomRequestTextL( CStifItemParser& aItem )
-    {
-    CTestMnMapView* testMapView = CTestMnMapView::NewL( iLog );
-	CleanupStack::PushL( testMapView );
-	TInt err = testMapView->SetCustomRequestTextL( aItem );
-	CleanupStack::PopAndDestroy( testMapView );
-	return err;	
-    }   
-
-// -----------------------------------------------------------------------------
-// CTestMapAndNavApi::SetUseDefaultRequestTextL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMapAndNavApi::SetUseDefaultRequestTextL( CStifItemParser& aItem )
-    {
-    CTestMnMapView* testMapView = CTestMnMapView::NewL( iLog );
-	CleanupStack::PushL( testMapView );
-	TInt err = testMapView->SetUseDefaultRequestTextL( aItem );
-	CleanupStack::PopAndDestroy( testMapView );
-	return err;	
-    }   
-    
-// -----------------------------------------------------------------------------
-// CTestMapAndNavApi::SetCurrentLocationOptionL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMapAndNavApi::SetCurrentLocationOptionL( CStifItemParser& aItem )
-    {
-    CTestMnMapView* testMapView = CTestMnMapView::NewL( iLog );
-	CleanupStack::PushL( testMapView );
-	TInt err = testMapView->SetCurrentLocationOptionL( aItem );
-	CleanupStack::PopAndDestroy( testMapView );
-	return err;	
-    } 
-    
-// -----------------------------------------------------------------------------
-// CTestMapAndNavApi::GetCurrentLocationOptionL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMapAndNavApi::GetCurrentLocationOptionL( CStifItemParser& aItem )
-    {
-    CTestMnMapView* testMapView = CTestMnMapView::NewL( iLog );
-	CleanupStack::PushL( testMapView );
-	TInt err = testMapView->GetCurrentLocationOptionL( aItem );
-	CleanupStack::PopAndDestroy( testMapView );
-	return err;	
-    } 
-    
-// -----------------------------------------------------------------------------
-// CTestMapAndNavApi::SetAndGetOptionsL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMapAndNavApi::SetAndGetOptionsL( CStifItemParser& aItem )
-    {
-    CTestMnMapView* testMapView = CTestMnMapView::NewL( iLog );
-	CleanupStack::PushL( testMapView );
-	TInt err = testMapView->SetAndGetOptionsL( aItem );
-	CleanupStack::PopAndDestroy( testMapView );
-	return err;	
-    }
-    
-// -----------------------------------------------------------------------------
-// CTestMapAndNavApi::SelectionResultTypeL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMapAndNavApi::SelectionResultTypeL( CStifItemParser& aItem )
-    {
-    CTestMnMapView* testMapView = CTestMnMapView::NewL( iLog );
-	CleanupStack::PushL( testMapView );
-	TInt err = testMapView->SelectionResultTypeL( aItem );
-	CleanupStack::PopAndDestroy( testMapView );
-	return err;	
-    }           
-
-// -----------------------------------------------------------------------------
-// CTestMapAndNavApi::SelectFromMapL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMapAndNavApi::SelectFromMapL( CStifItemParser& aItem )
-    {
-    CTestMnMapView* testMapView = CTestMnMapView::NewL( iLog );
-	CleanupStack::PushL( testMapView );
-	TInt err = testMapView->SelectFromMapL( aItem );
-	CleanupStack::PopAndDestroy( testMapView );
-	return err;	
-    }
-    
-// -----------------------------------------------------------------------------
-// CTestMapAndNavApi::SetViewExitObserverL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMapAndNavApi::SetViewExitObserverL( CStifItemParser& aItem )
-    {
-    CTestMnMapView* testMapView = CTestMnMapView::NewL( iLog );
-	CleanupStack::PushL( testMapView );
-	TInt err = testMapView->SetViewExitObserverL( aItem );
-	CleanupStack::PopAndDestroy( testMapView );
-	return err;	
-    }                   
-    
-// -----------------------------------------------------------------------------
-// CTestMapAndNavApi::RemoveViewExitObserverL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMapAndNavApi::RemoveViewExitObserverL( CStifItemParser& aItem )
-    {
-    CTestMnMapView* testMapView = CTestMnMapView::NewL( iLog );
-	CleanupStack::PushL( testMapView );
-	TInt err = testMapView->RemoveViewExitObserverL( aItem );
-	CleanupStack::PopAndDestroy( testMapView );
-	return err;	
-    }                   
-
-//  End of File
--- a/locsrv_plat/map_and_navigation_provider_api/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  File that exports the files belonging to 
-:                Map and Navigation Provider API
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/mnservicebase.h     MW_LAYER_PLATFORM_EXPORT_PATH(mnservicebase.h)
-../inc/mnserviceinfo.rh     MW_LAYER_PLATFORM_EXPORT_PATH(mnserviceinfo.rh)
-../inc/mnappservices.hrh     MW_LAYER_PLATFORM_EXPORT_PATH(mnappservices.hrh)
-../inc/mnappserviceuids.hrh     MW_LAYER_PLATFORM_EXPORT_PATH(mnappserviceuids.hrh)
-../inc/mnmapviewservicebase.h     MW_LAYER_PLATFORM_EXPORT_PATH(mnmapviewservicebase.h)
-../inc/mnnavigationservicebase.h     MW_LAYER_PLATFORM_EXPORT_PATH(mnnavigationservicebase.h)
-../inc/mngeocodingservicebase.h     MW_LAYER_PLATFORM_EXPORT_PATH(mngeocodingservicebase.h)
-../inc/mnmapimageservicebase.h      MW_LAYER_PLATFORM_EXPORT_PATH(mnmapimageservicebase.h)
\ No newline at end of file
--- a/locsrv_plat/map_and_navigation_provider_api/inc/mnappservices.hrh	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Map and Navigation Application Services
-*
-*/
-
-
-#ifndef MN_APP_SERVICES_HRH
-#define MN_APP_SERVICES_HRH
-
-/** /file
- *  @brief Defines constants common for
- *  Map and Navigation FW .H and .RH files.
- *
- *  MapView application service features. Any combination of these can be defined in SERVICE_INFO
- *  for @ref KMnAppMapViewService.
- *  - @ref KMnSvcFeatureShowMap
- *  - @ref KMnSvcFeatureSelectFromMap
- *
- *  Navigation application service features. Any combination of these can be defined in SERVICE_INFO
- *  for @ref KMnAppNavigationService.
- *  - @ref KMnSvcFeatureNavigateTo
- *
- *  Geocoding application service features. Any combination of these can be defined in SERVICE_INFO
- *  for @ref KMnAppGeocodingService.
- *  - @ref KMnSvcFeatureCoordToAddr
- *  - @ref KMnSvcFeatureAddrToCoord
- *  - @ref KMnSvcFeaturePlainAddrToCoord
- *
- *  Map Image application service features. Any combination of these can be defined in SERVICE_INFO
- *  for @ref KMnAppMapImageService.
- *  - @ref KMnSvcFeatureVectorMap
- *  - @ref KMnSvcFeatureSatelliteImage
- */
-
-// ---------------------------------------------------------------------------
-//   MapView application service features. 
-// ---------------------------------------------------------------------------
-//
-
-/** Displaying map with landmarks and current location.
- *  If specified, it means that Provider Application implements:
- *  - CMnMapViewServiceBase::HandleShowMapL()
- *  - CMnMapViewServiceBase::HandleShowCurrentLocationL()
- */
-#define KMnSvcFeatureShowMap            0x01
-
-/** Selecting location from map
- *  If specified, it means that Provider Application implements:
- *  - CMnMapViewServiceBase::HandleSelectFromMapL()
- */
-#define KMnSvcFeatureSelectFromMap      0x02
-
-// ---------------------------------------------------------------------------
-//   Navigation application service features. 
-// ---------------------------------------------------------------------------
-//
-
-/** Basic navigation.
- *  If specified, it means that Provider Application implements:
- *  - CMnNavigationServiceBase::HandleNavigateToL()
- */
-#define KMnSvcFeatureNavigateTo         0x01
-
-// ---------------------------------------------------------------------------
-//   Geocoding application service features. 
-// ---------------------------------------------------------------------------
-//
-
-/** Coordinate to Address conversion.
- *  If specified, it means that Provider Application implements:
- *  - CMnGeocodingServiceBase::HandleFindAddressByCoordinateL()
- */
-#define KMnSvcFeatureCoordToAddr        0x01
-
-/** Address to Coordinate conversion.
- *  If specified, it means that Provider Application implements:
- *  - CMnGeocodingServiceBase::HandleFindCoordinateByAddressL(const CPosLandmark&)
- */
-#define KMnSvcFeatureAddrToCoord        0x02
-
-/** Plain-string-address to Coordinate conversion.
- *  If specified, it means that Provider Application implements:
- *  - CMnGeocodingServiceBase::HandleFindCoordinateByAddressL(const TDesC&)
- */
-#define KMnSvcFeaturePlainAddrToCoord   0x04
-
-// ---------------------------------------------------------------------------
-//   MapImage application service features. 
-// ---------------------------------------------------------------------------
-//
-
-/** Rendering of scalable vector-based map.
- *  If specified, it means that Provider Application implements 
- *  CMnMapImageServiceBase::HandleRenderingL() and supports image type
- *  CMnMapImage::ETypeVectorMap
- */
-#define KMnSvcFeatureVectorMap          0x01
-
-/** Rendering of map image from satellite photos of Earth.
- *  If specified, it means that Provider Application implements 
- *  CMnMapImageServiceBase::HandleRenderingL() and supports image type
- *  CMnMapImage::ETypeSatelliteImage
- */
-#define KMnSvcFeatureSatelliteImage     0x02
-
-#endif // MN_APP_SERVICES_HRH
-
-
--- a/locsrv_plat/map_and_navigation_provider_api/inc/mnappserviceuids.hrh	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Map and Navigation application service UIDs
-*
-*/
-
-
-#ifndef MN_APP_SERVICE_UIDS_HRH
-#define MN_APP_SERVICE_UIDS_HRH
-
-/** @file 
- *  @brief Map and Navigation application service UIDs 
- */
-
-/** MapView service UID.
- *  This value shall be specified as @p uid field of SERVICE_INFO struct
- *  if application implements @ref CMnMapViewServiceBase.
- */
-#define KMnAppMapViewService 0x10206909
-
-/** Navigation service UID.
- *  This value shall be specified as @p uid field of SERVICE_INFO struct
- *  if application implements @ref CMnNavigationServiceBase.
- */
-#define KMnAppNavigationService 0x1020690A
-
-/** Geocoding service UID.
- *  This value shall be specified as @p uid field of SERVICE_INFO struct
- *  if application implements @ref CMnGeocodingServiceBase.
- */
-#define KMnAppGeocodingService 0x1020690B
-
-/** MapImage service UID.
- *  This value shall be specified as @p uid field of SERVICE_INFO struct
- *  if application implements @ref CMnMapImageServiceBase.
- */
-#define KMnAppMapImageService  0x101FDF7F
-
-#endif // MN_APP_SERVICE_UIDS_HRH
--- a/locsrv_plat/map_and_navigation_provider_api/inc/mngeocodingservicebase.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,174 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnGeocodingServiceBase class
-*
-*/
-
-
-#ifndef MN_GEOCODINGSERVICEBASE_H
-#define MN_GEOCODINGSERVICEBASE_H
-
-#include "mnservicebase.h"
-#include "mngeocoder.h"
-
-class CPosLandmark;
-
-/** @brief Base class for geocoding service implementations (KMnAppGeocodingService). 
- *
- *  Provider Application must derive its geocoding service class from this one. 
- *  This base implementation hides IPC communication details and provides 
- *  native methods for accessing various parameters, specified by client.
- *
- *  Provider Application must return pointer to instance of its class, derived
- *  from this class, in response to CAknAppService::CreateServiceL() call, 
- *  if given parameter is KMnAppGeocodingService. 
- *
- *  This class defines handlers of particular requests from client as pure 
- *  virtual methods, which derived class must implement. The parameters, which
- *  client application may specify in @ref CMnGeocoder are accessible via other methods
- *  of this class. Implementation must obey these parameters and use them
- *  as specified in @ref CMnGeocoder.
- *
- *  See parent @ref CMnServiceBase class documentation for 
- *  other details.
- *
- *  @since 3.1
- *  @lib mnservicelib.lib
- *  @ingroup MnProviderAPI
- */
-class CMnGeocodingServiceBase : public CMnServiceBase
-    {
-    public :
-
-        /** @brief Returns geocoding options specified by client application.
-         *
-         *  This options must be utilized in request handlers as specified in 
-         *  @ref CMnGeocoder. 
-         *  
-         *  @return Options specified by client.
-         */
-        IMPORT_C CMnGeocoder::TOptions Options() const;
-
-        /** @brief Completes geocoding request and sends result.
-         *
-         *  Implementation must call this method to signal successful completion
-         *  of conversion request. Result of conversion is supplied as landmark 
-         *  object. It must contain only data, which is part of conversion result,
-         *  any other fields shall be left empty.
-         *
-         *  @param[in] aLandmark Landmark containing result of conversion.
-         */
-        IMPORT_C void CompleteGeocodingRequestL( const CPosLandmark& aLandmark );
-
-    protected :
-    
-        /** C++ constructor */
-        IMPORT_C CMnGeocodingServiceBase();
-        /** Destructor */
-        IMPORT_C ~CMnGeocodingServiceBase();
-
-        /** This method must be called from derived class' ConstructL to
-         *  allow internal initialization of this class. */
-        IMPORT_C void BaseConstructL();
-
-        /** @brief Handles client's request for finding address by given coordinate. 
-         *
-         *  Derived class must implement this method obeying specification of 
-         *  @ref CMnGeocoder::FindAddressByCoordinateL() and if 
-         *  @ref KMnSvcFeatureCoordToAddr feature is specified in SERVICE_INFO.
-         *
-         *  If given landmark coordinates cannot be resolved to address due
-         *  to some ambiguity, then user shall be queried, if allowed by options
-         *  (see @ref Options()). If it is not allowed, the operation
-         *  shall be completed with KErrNotFound (@ref CompleteRequest()).
-         *
-         *  This is asynchronous request.
-         *  Client's request must be completed (when resolving succeeded) with 
-         *  CompleteGeocodingRequest().
-         *
-         *  @param[in] aLandmark Contains coordinate information to be resolved
-         *                       to address.
-         *  
-         *  @leave KErrNotSupported Should leave if this feature is not supported.
-         */
-        virtual void HandleFindAddressByCoordinateL( const CPosLandmark& aLandmark ) =0;
-        
-        /** @brief Handles client's request for finding coordinate by given address. 
-         *
-         *  Derived class must implement this method obeying specification of 
-         *  @ref CMnGeocoder::FindCoordinateByAddressL(const CPosLandmark&, 
-         *  TRequestStatus&) and if @ref KMnSvcFeatureAddrToCoord feature is 
-         *  specified in SERVICE_INFO.
-         *
-         *  If given address cannot be resolved to coordinates due
-         *  to some ambiguity, then user shall be queried, if allowed by options
-         *  (see @ref Options()).If it is not allowed, the result of the operation
-         *  shall be KErrNotFound.
-         *
-         *  This is asynchronous request.
-         *  Client's request must be completed (when resolving succeeded) with 
-         *  CompleteGeocodingRequest().
-         *
-         *  @param[in] aLandmark Contains address information to be resolved
-         *                       to coordinate.
-         *  
-         *  @leave KErrNotSupported Should leave if this feature is not supported.
-         */
-        virtual void HandleFindCoordinateByAddressL( const CPosLandmark& aLandmark ) =0;
-
-        /** @brief Handles client's request for finding coordinate by given address. 
-         *
-         *  This overload is for cases when address is specified as plain string.
-         *  Derived class must implement this method obeying specification of 
-         *  @ref CMnGeocoder::FindCoordinateByAddressL(const TDesC& aAddress, 
-         *  TRequestStatus& aRequest) and if @ref KMnSvcFeaturePlainAddrToCoord feature 
-         *  is specified in SERVICE_INFO.
-         *
-         *  If given address cannot be resolved to coordinates due
-         *  to some ambiguity, then user shall be queried, if allowed by options
-         *  (see @ref Options()).If it is not allowed, the result of the operation
-         *  shall be KErrNotFound.
-         *
-         *  This is asynchronous request.
-         *  Client's request must be completed (when resolving succeeded) with 
-         *  CompleteGeocodingRequest().
-         *
-         *  @param[in] aAddress Address information to be resolved to coordinate.
-         *  
-         *  @leave KErrNotSupported Should leave if this feature is not supported.
-         */
-        virtual void HandleFindCoordinateByAddressL( const TDesC& aAddress ) =0;
-
-    protected: // From CAknAppServiceBase
-
-        /** \internal */
-        IMPORT_C void ServiceL( const RMessage2& aMessage );
-
-    private:
-        void StartAsyncRequestL( const RMessage2& aMessage );
-        void UnpackOptionsL( const RMessage2& aMsg );
-        HBufC* UnpackPlainAddressLC( const RMessage2& aMsg );
-
-        void HandleGetConversionResultL( const RMessage2& aMsg );
-    
-    private:
-        CMnGeocoder::TOptions   iOptions;
-
-        HBufC8*                 iResult;
-        TInt                    iResultType;
-    };
-
-#endif // MN_GEOCODINGSERVICEBASE_H
-
-
--- a/locsrv_plat/map_and_navigation_provider_api/inc/mnmapimageservicebase.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,172 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnMapImageServiceBase class
-*
-*/
-
-
-#ifndef MN_MAPIMAGESERVICEBASE_H_
-#define MN_MAPIMAGESERVICEBASE_H_
-
-#include <mnservicebase.h>
-#include <mnmapimage.h>
-#include <mnmapimageparams.h>
-
-class CFbsBitmap;
-
-/** Base class for MapImage service implementations (@p KMnAppMapImageService). 
- *
- *  Provider Application
- *  must derive its MapImage service class from this one. This base implementation
- *  hides IPC communication details and provides native methods for accessing
- *  various parameters, specified by client.
- *
- *  Provider Application must return pointer to instance of its class, derived
- *  from this class, in response to @p CAknAppService::CreateServiceL() call,
- *  if given parameter is KMnAppMapImageService. 
- *
- *  This class defines handlers of particular requests from client as pure 
- *  virtual methods, which derived class must implement (@ref HandleRenderingL). 
- *  The parameters, which client application may specify in CMnMapImage are 
- *  accessible via other methods of this class. Provider Application must obey 
- *  these parameters.
- *
- *  See parent @ref CMnServiceBase class documentation for 
- *  other details.
- *
- *  @since 5.0
- *  @lib mnservicelib.lib
- *  @ingroup MnProviderAPI
- */
-class CMnMapImageServiceBase : public CMnServiceBase
-    {
-    public :
-
-        /** Returns drawing parameters of map image.
-         *  @param aImageParams Parameters of map image. */
-        IMPORT_C const TMnMapImageParams& MapImageParams() const;
-        
-        /** Returns drawing parameters of map image.
-         *  @param aImageParams Parameters of map image. */
-        IMPORT_C TMnMapImageParams& MapImageParams();
-
-        /** @internal */
-        /*  Sets drawing parameters of map image. Implementation can read
-         *  these by calling MapImageParams().
-         *  @param aImageParams Parameters of map image. */
-        void SetMapImageParams( const TMnMapImageParams& aImageParams );
-
-        /** Returns origin and size of needed image in pixels.
-         *  Size part of that rectangle is the same as specified in MapImageParams().
-         *  @return Rectangle within destination bitmap (see @ref TargetBitmap() ), 
-         *          where the map should be drawn to. */
-    	IMPORT_C TRect TargetRect() const;
-    	
-        /** Returns rendering options set by client. Rendering process
-         *  must obey these options. If it is not possible, it should complete
-         *  rendering with KErrNotSupported.
-         *  @returns Options defined in CMnMapImage::TShowOptions. */
-    	IMPORT_C CMnMapImage::TShowOptions ShowOptions() const;
-    	
-        /** Returns reference to target bitmap object. This is the bitmap, 
-         *  which the map image should be rendered to. 
-         *  It is guaranteed that bitmap's size in pixels is sufficient 
-         *  for drawing. 
-         *  This method should be called only during processing of rendering
-         *  request, i.e. not before HandleRenderingL() or after 
-         *  CompleteRendering() */
-        IMPORT_C CFbsBitmap& TargetBitmap() const;
-        
-        /** Must be called by client when rendering is successfully completed. 
-         *  (If there were an error, then CMnServiceBase::CompleteRequest() 
-         *  should be called instead.)
-         * 
-         *  Before completion, actual type of image drawn should be set in 
-         *  MapImageParams() in case original value was TMnMapImageParams::ETypeUnspecified.
-         * 
-         *  @panic "MnPanicServer"-KMnPanicInvalidResult if image type in
-         *                         @p MapImageParams() is TMnMapImageParams::ETypeUnspecified.
-         *  @panic "MnPanicServer"-KMnPanicAttemptToCompleteNoRequest if
-         *         there is no ongoing asynchronous request. */
-    	IMPORT_C void CompleteRendering();
-    
-    protected :
-        /** C++ constructor */
-        IMPORT_C CMnMapImageServiceBase();
-        /** Destructor */
-        IMPORT_C ~CMnMapImageServiceBase();
-
-        /** This method must be called from derived class' ConstructL to
-         *  allow internal initialization of this class. */
-        IMPORT_C void BaseConstructL();
-
-        /** Handles client's request for rendering map image. 
-         *
-         *  Derived class must implement this method if KMnSvcFeatureRender
-         *  feature is specified in SERVICE_INFO.
-         *
-         *  Implementation should draw map image to bitmap object returned by 
-         *  @ref TargetBitmap(). Drawing must be done to the area of the bitmap, 
-         *  specified by @ref TargetRect(). 
-         *  
-         *  Map image parameters are specified in object of TMnMapImageParams and 
-         *  can be accessed via @ref MapImageOptions(). Center of the drawing must correspond
-         *  to world point given by @ref TMnMapImageParams::GetCentralPoint(), 
-         *  scale must be as specified by @ref TMnMapImageParams::Scale(). Image 
-         *  must be oriented as required by @ref TMnMapImageParams::Direction(). 
-         *  Image type requested is defined in @ref TMnMapImageParams::ImageType().
-         *  Additional options defined by @ref ShowOptions() must also be obeyed 
-         *  (if possible).
-         * 
-         *  If any of those requirements can not be satisfied, rendering must be 
-         *  completed with KErrNotSupported. If any of arguments are considered 
-         *  generally invalid, then error code should be KErrArgument.
-         * 
-         *  This is asynchronous request.
-         *  Implementation should complete this request by calling CompleteRendering()
-         *  if rendering ended successfully or by calling CMnServiceBase::CompleteRequest()
-         *  in case of error. 
-         * 
-         *  This request can be canceled by client, in which case base method 
-         *  DoCancel() will be called.
-         * 
-         *  If this function leaves then client's request is automatically
-         *  completed with error.
-         * 
-         *  @leave KErrNotSupported Should leave if this feature is not supported.
-         */
-        virtual void HandleRenderingL() =0;
-
-    protected: // From CAknAppServiceBase
-
-        /** @internal */
-        IMPORT_C virtual void ServiceL( const RMessage2& aMessage );
-        
-    private:
-        void StartAsyncRequestL( const RMessage2& aMessage );
-    
-        void UnpackOptionsL( const RMessage2& aMessage );    
-        void UnpackImageParamsL( const RMessage2& aMessage );
-        void UnpackBitmapHandleL( const RMessage2& aMessage );
-        void HandleCancelRequestL( const RMessage2& aMessage );
-
-    private:    
-        TMnMapImageParams iMapImageParams;
-        CMnMapImage::TShowOptions iShowOptions;
-        TPoint iTargetOrigin;
-        CFbsBitmap* iBitmap;
-    };
-
-
-#endif /*MN_MAPIMAGESERVICEBASE_H_*/
--- a/locsrv_plat/map_and_navigation_provider_api/inc/mnmapviewservicebase.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,302 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnMapViewServiceBase class
-*
-*/
-
-
-#ifndef MN_MAPSERVICEBASE_H
-#define MN_MAPSERVICEBASE_H
-
-#include "mnservicebase.h"
-#include "mnmapview.h"
-
-class TMnMapOptions;
-class CPosLandmark;
-
-/** @brief Base class for MapView service implementations (KMnAppMapViewService). 
- *
- *  Provider Application
- *  must derive its MapView service class from this one. This base implementation
- *  hides IPC communication details and provides native methods for accessing
- *  various map parameters, specified by client.
- *
- *  Provider Application must return pointer to instance of its class, derived
- *  from this class, in response to CAknAppService::CreateServiceL() call,
- *  if given parameter is KMnAppMapViewService. 
- *
- *  This class defines handlers of particular requests from client as pure 
- *  virtual methods, which derived class must implement. The parameters, which
- *  client application may specify in CMnMapView are accessible via other methods
- *  of this class. Provider Application must obey these parameters and use them
- *  as specified in @ref CMnMapView.
- *
- *  See parent @ref CMnServiceBase class documentation for 
- *  other details.
- *
- *  @since 3.1
- *  @lib mnservicelib.lib
- *  @ingroup MnProviderAPI
- */
-class CMnMapViewServiceBase : public CMnServiceBase
-    {
-    public :
-
-        /** @brief Returns map displaying options specified by client application.
-         *
-         *  These options must be utilized in request handlers as specified in 
-         *  @ref CMnMapView. 
-         *  
-         *  @return Options specified by client.
-         */
-        IMPORT_C CMnMapView::TOptions Options();
-        
-        /** @brief Returns Current Location option specified by client application.
-         *
-         *  This option must be utilized in request handlers as specified in 
-         *  @ref CMnMapView. 
-         *  
-         *  @return Current Location options specified by client.
-         */
-        IMPORT_C CMnMapView::TCurrentLocationOption CurrentLocationOption();
-
-        /** @brief Returns array of landmarks as set by client to be shown on map.
-         *
-         *  All these landmarks shall be shown on map.
-         *
-         *  @return Reference to array of landmarks.
-         */          
-        IMPORT_C TArray<const CPosLandmark*> LandmarksToShow();
-
-        /** @brief Returns array of linked landmarks from specified database.
-         *
-         *  All these landmarks shall be shown on map.
-         *
-         *  @param[in] aDbIndex Index of landmark database, which contains returned
-         *                    landmarks. Must be valid for array returned from
-         *                    @ref LandmarksToShowDatabases().
-         *  @return Array of IDs of landmarks from database, specified by
-         *          aDbIndex.
-         *
-         *  @panic "MnPanicServer"-KMnPanicArrayIndexOutOfBounds 
-         *      aDbIndex not valid for the list of databases.
-         */          
-        IMPORT_C TArray<TPosLmItemId> LinkedLandmarksToShow( TInt aDbIndex );
-        
-        /** @brief Returns databases, where linked landmarks belong to.
-         *  @return Array of landmark database URIs.
-         */
-        IMPORT_C TArray<const HBufC*> LandmarksToShowDatabases();
-        
-        /** @brief Returns text, which shall be shown in Select From Map 
-         *  request. 
-         *
-         *  This text is used in HandleSelectFromMapL().
-         *  
-         *  @return Selection request text to be shown to user in 
-         *  HandleSelectFromMapL().
-         */
-        IMPORT_C TPtrC SelectionRequestText();
-        
-        /** @brief Determines whether central point is specified by client.
-         *
-         *  If central point is not set, @ref GetAreaCentralPoint returns
-         *  coordinate with latitude and longitude set to NaN.
-         *
-         *  @return ETrue - if central point is set, EFalse - otherwise,
-         *          and during Show Current Location request.
-         */
-        IMPORT_C TBool IsAreaCentralPointSet();
-        
-        /** @brief Returns central point specified by client.
-         *
-         *  If central point is not set, this
-         *  coordinate has latitude and longitude set to NaN.
-         *
-         *  @param[out] aCentralPoint Central point of map view area, 
-         *                            specified by client.
-         */
-        IMPORT_C void GetAreaCentralPoint( TCoordinate& aCentralPoint );
-        
-        /** @brief Returns radius, in meters, of map view area, specified by client.
-         *
-         *  Implementation has to obey this setting as long as this is within
-         *  allowed range. If it is too low and cannot be used, the implementation
-         *  must select lowest possible radius. If this value is KAutomaticRadius, 
-         *  it is considered not set.
-         */
-        IMPORT_C TReal AreaRadius();
-        
-        /** @brief Completes selection request.
-         *
-         *  Implementation must call this method to signal completion
-         *  of Select From Map request. 
-         *  This override is used if free location from map has been selected by user.
-         *
-         *  @param[in] aLandmark Landmark containing information about 
-         *             user-selected location. As much information as possible
-         *             shall be set.
-         *
-         *  @leave KErrArgument CMnMapView::EOptionRestrictSelection was specified
-         *      by client. 
-         *  @see Options().
-         */
-        IMPORT_C void CompleteSelectionRequestL( const CPosLandmark& aLandmark );
-
-        /** @brief Completes selection request.
-         *
-         *  Implementation must call this method to signal completion
-         *  of Select From Map request. 
-         *  This override is used if one of not linked landmarks has been selected by user.
-         *
-         *  @param[in] aLandmarkIndex Index of not linked landmark containing information about 
-         *             user-selected location. As much information as possible
-         *             shall be set.
-         *
-         *  @panic "MnPanicServer"-KMnPanicArrayIndexOutOfBounds
-         *      aLandmarkIndex is negative or greater than LandmarksToShow().Count().
-         */
-        IMPORT_C void CompleteSelectionRequest( TInt aLandmarkIndex );
-
-        /** @brief Completes selection request.
-         *
-         *  Implementation must call this method to signal completion
-         *  of Select From Map request. 
-         *  This override is used if one of linked landmarks, passed by client
-         *  has been selected by user.
-         *
-         *  @param aLandmarkId ID of landmark selected by user.
-         *  @param aDbIndex Index of database where landmark specified by
-         *                      aLandmarkId belongs to.
-         *
-         *  @panic "MnPanicServer"-KMnPanicArrayIndexOutOfBounds
-         *      aDbIndex is negative or greater than LandmarksToShowDatabases().Count().
-         */
-        IMPORT_C void CompleteSelectionRequest( TPosLmItemId aLandmarkId, TInt aDbIndex );
-    
-    protected :
-    
-        /** C++ constructor */
-        IMPORT_C CMnMapViewServiceBase();
-        /** Destructor */
-        IMPORT_C virtual ~CMnMapViewServiceBase();
-
-        /** This method must be called from derived class' ConstructL to
-         *  allow internal initialization of this class. */
-        IMPORT_C void BaseConstructL();
-        
-        /** @brief Handles client's request for showing map. 
-         *
-         *  Derived class must implement this method obeying 
-         *  specification of @ref CMnMapView::ShowMapL and if @ref KMnSvcFeatureShowMap
-         *  feature is specified in its SERVICE_INFO.
-         *
-         *  Landmarks returned by LandmarksToShow and LinkedLandmarksToShow shall be 
-         *  shown on map.
-         *
-         *  This is synchronous request.
-         *  Client's request will be completed when this method exits, therefore
-         *  it should exit immediately after map view is shown.
-         *  
-         *  @leave KErrNotSupported Should leave if this feature is not supported.
-         */
-        virtual void HandleShowMapL() =0;
-
-        /** @brief Handles client's request for showing map from current location. 
-         *
-         *  Derived class must implement this method obeying specification of 
-         *  @ref CMnMapView::ShowCurrentLocationL and if @ref KMnSvcFeatureShowMap
-         *  feature is specified in its SERVICE_INFO.
-         *  
-         *  Landmarks returned by LandmarksToShow and LinkedLandmarksToShow shall be 
-         *  shown on map.
-         *
-         *  This is synchronous request.
-         *  Client's request will be completed when this method exits, therefore
-         *  it should exit immediately after map view is shown.
-         *  
-         *  @leave KErrNotSupported Should leave if this feature is not supported.
-         */
-        virtual void HandleShowCurrentLocationL() =0;
-
-        /** @brief Handles client's request for selecting a location from map. 
-         *
-         *  Derived class must implement this method obeying specification of 
-         *  @ref CMnMapView::SelectFromMapL and if KMnSvcFeatureSelectFromMap
-         *  feature is specified in its SERVICE_INFO.
-         *  
-         *  Landmarks returned by LandmarksToShow and LinkedLandmarksToShow shall be 
-         *  shown on map.
-         *
-         *  This is asynchronous request.
-         *  It must be completed (in successful case) with one of 
-         *  CompleteSelectionRequest overloads.
-         *  
-         *  @leave KErrNotSupported Should leave if this feature is not supported.
-         */
-        virtual void HandleSelectFromMapL() =0;
-
-    protected: // From CAknAppServiceBase
-
-        /** \internal */
-        IMPORT_C void ServiceL( const RMessage2& aMessage );
-
-    private: // Internal methods
-
-        void CleanSelectionResult();
-
-        void HandleAddLandmarkIdsToShowL( const RMessage2& aMessage );
-        void HandleAddLandmarksToShowL( const RMessage2& aMessage );
-        void HandleGetSelectionResultLandmarkL( const RMessage2& aMessage );
-        void HandleGetSelectionResultDbUriL( const RMessage2& aMessage );
-        
-        void ResetLandmarks();        
-        TInt FindDatabase( const TDesC& aUri );
-
-        void UnpackOptionsL( const RMessage2& aMsg );
-        void UnpackSelectionRequestTextL( const RMessage2& aMsg );
-
-        void VerifySelectionRequestL();
-
-    private:
-        class CLinkedLandmarksList : public CBase
-            {
-            public:
-                ~CLinkedLandmarksList();
-                
-                HBufC*                  iDatabaseUri;
-                RArray< TPosLmItemId >  iLandmarkIds;
-            };
-
-    private:
-
-        CMnMapView::TOptions                iOptions;
-        CMnMapView::TCurrentLocationOption  iCurrentLocationOption;
-        
-        TCoordinate                         iCentralPoint;
-        TReal                               iRadius;
-        HBufC*                              iSelectionRequestText;
-        
-        RPointerArray< const CPosLandmark >     iLandmarks;
-        RPointerArray< CLinkedLandmarksList >   iLinkedLandmarksLists;
-
-        RPointerArray< const HBufC >        iTempDatabaseList;
-        
-        HBufC8*                             iResultLandmark;
-        TInt                                iResultDbIndex;
-    };
-
-#endif // MN_MAPSERVICEBASE_H
-
-
--- a/locsrv_plat/map_and_navigation_provider_api/inc/mnnavigationservicebase.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnNavigationServiceBase class
-*
-*/
-
-
-#ifndef MN_NAVIGATIONSERVICEBASE_H
-#define MN_NAVIGATIONSERVICEBASE_H
-
-#include "mnservicebase.h"
-
-class CPosLandmark;
-
-/** @brief Base class for navigation service implementations (KMnAppNavigationService). 
- * 
- *  Provider Application must derive its navigation service 
- *  class from this one. This base implementation
- *  hides IPC communication details.
- *
- *  Provider Application must return pointer to instance of its class, derived
- *  from this class, in response to CAknAppService::CreateServiceL() call,
- *  if given parameter is KMnAppNavigationService. 
- *
- *  This class defines navigation request handler as pure 
- *  virtual method, which derived class must implement. 
- *  Implementation must obey specification of @ref CMnNavigator.
- *
- *  See parent @ref CMnServiceBase class documentation for 
- *  other details.
- *
- *  @since 3.1
- *  @lib mnservicelib.lib
- *  @ingroup MnProviderAPI
- */
-class CMnNavigationServiceBase : public CMnServiceBase
-    {
-    public :
-    protected :
-        /** C++ constructor */
-        IMPORT_C CMnNavigationServiceBase();
-        /** Destructor */
-        IMPORT_C ~CMnNavigationServiceBase();
-
-        /** This method must be called from derived class' ConstructL to
-         *  allow internal initialization of this class. */
-        IMPORT_C void BaseConstructL();
-
-        /** @brief Handles client's request for navigation. 
-         *
-         *  Derived class must implement this method obeying specification of 
-         *  @ref CMnNavigator::NavigateToL() and if KMnSvcFeatureNavigateTo
-         *  feature is specified in SERVICE_INFO.
-         *
-         *  This is synchronous request.
-         *  Client's request will be completed when this method exits, therefore
-         *  it should exit immediately after navigation is started.
-         *
-         *  @param[in] aDestination The landmark, defines destination of the
-         *                      navigation requested.
-         *  
-         *  @leave KErrNotSupported Should leave if this feature is not supported.
-         */
-        virtual void HandleNavigateToL(const CPosLandmark& aDestination) =0;
-
-    protected: // From CAknAppServiceBase
-
-        /** \internal */
-        IMPORT_C virtual void ServiceL(const RMessage2& aMessage);
-    };
-
-#endif // MN_NAVIGATIONSERVICEBASE_H
-
--- a/locsrv_plat/map_and_navigation_provider_api/inc/mnservicebase.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,169 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnServiceBase class
-*
-*/
-
-
-#ifndef MN_SERVICEBASE_H
-#define MN_SERVICEBASE_H
-
-#include <AknServerApp.h>
-
-class CPosLandmark;
-
-/** @brief Base class for all Map and Navigation services.
- *
- *  Its only purpose is to provide common base functionality for Map and Navigation
- *  service classes.
- *
- *  There are both synchronous and asynchronous request handlers defined in derived
- *  service base classes. Implementations of handlers shall behave as follows.
- *  <ul>
- *  <li>For Synchronous requests:</li>
- *  <ul>
- *  <li>Exit normally to report successful completion</li>
- *  <li>Leave with error code to report error</li>
- *  </ul>
- *  <li>For Asynchronous requests:</li>
- *  <ul>
- *  <li>Exit normally as soon as possible. Call dedicated Complete method
- *      to report successful completion</li>
- *  <li>Leave with error code to report error found during execution of
- *      Handle method</li>
- *  <li>Call CompleteRequest method with error code to report error
- *      found after execution of Handle method</li>
- *  <li>Call CancelRequest method to report that user has cancelled
- *      execution</li>
- *  </ul>
- *  </ul>
- *
- *  Following error codes shall be used by implementation to report specific cases:
- *  - KErrCancel - If user has cancelled operation.
- *  - KErrArgument - If given argument cannot be used for operation. For example, landmark has
- *          no coordinate or address and cannot be shown on map or address information
- *          is not sufficient for geocoding.
- *  - KErrNotSupported - If service feature is not supported, or cannot be executed with given parameters.
- *          For example, map content not available for specified area etc.
- *
- *  @since 3.1
- *  @lib mnservicelib.lib
- *  @ingroup MnProviderAPI
- */
-class CMnServiceBase : public CAknAppServiceBase
-    {
-    public :
-
-        /** @brief Completes current asynchronous request.
-         *
-         *  Called by implementations to complete client's request. Used
-         *  by service implementations to report errors during execution
-         *  of asynchronous requests. To report successful completion,
-         *  special methods defined by service base classes should be used
-         *  (e.g. @ref CMnMapViewServiceBase::CompleteSelectionRequest)
-         *
-         *  For synchronous requests, handler should
-         *  just leave if error is detected.
-         *
-         *  @param aResult Error code.
-         *
-         *  @panic "MnPanicServer"-KMnPanicAttemptToCompleteNoRequest
-         *      This method called during execution of synchronous request.
-         */
-        IMPORT_C void CompleteRequest( TInt aResult );
-
-    protected :
-        /** C++ constructor */
-        CMnServiceBase();
-        /** Destructor */
-        ~CMnServiceBase();
-
-        /** \internal */
-        void BaseConstructL();
-
-        /** @brief Reports that client cancelled request.
-         *
-         *  Called by framework to report that request was
-         *  cancelled by client application. Service implementations
-         *  must implement this method. It is not needed to call
-         *  @ref CompleteRequest() in this case.
-         */
-        virtual void DoCancel() =0;
-
-    protected: // internal methods
-
-        /** \internal
-         *  Completes client's message
-         */
-        void Complete( const RMessage2& aMsg, TInt aResult );
-
-        /** \internal
-         *  Informs derived implementation (by calling DoCancel())
-         *  that current async request has been cancelled by client and
-         *  completes it with KErrCancel.
-         */
-        void HandleCancelRequestL( const RMessage2& aMsg );
-
-        /** \internal
-        * Copies an 8-bit buffer from the address space of the client and puts
-        * the result in the returned argument.
-        *
-        * @param aMessage the message from the client.
-        * @param aClientBufferParam index of message parameter to read as buffer
-        * @return a copy of the client buffer.
-        */
-        static HBufC8* CopyClientBuffer8LC(
-            const RMessage2& aMessage,
-            const TInt aClientBufferParam );
-
-        /** \internal
-        * Copies a 16-bit buffer from the address space of the client and puts
-        * the result in the returned argument.
-        *
-        * @param aMessage the message from the client.
-        * @param aClientBufferParam index of message parameter to read as buffer
-        * @return a copy of the client buffer.
-        */
-        static HBufC* CopyClientBufferLC(
-            const RMessage2& aMessage,
-            const TInt aClientBufferParam );
-
-        /** \internal
-         *  Unpacks landmark from client's message.
-         *  @param  aMsg client's message
-         *  @param  aParamIndex index of landmark parameter in message
-         *  @return new copy instance of client's landmark
-         */
-        CPosLandmark* UnpackLandmarkLC( const RMessage2& aMsg, TInt aParamIndex );
-
-        /** @internal */
-        TInt CurrentAsyncRequest();
-        /** @internal */
-        TBool IsAsyncRequestActive();
-        /** @internal */
-        void PrepareAsyncRequestL( const RMessage2& aMessage );
-
-    protected:  // from CApaAppServiceBase
-        /** @internal */
-        IMPORT_C void ServiceError( const RMessage2 &aMessage, TInt aError );
-
-    protected:
-        RMessage2   iMessage;
-
-    private:
-        TInt        iCurrentRequest;
-    };
-
-#endif // MN_SERVICEBASE_H
-
--- a/locsrv_plat/map_and_navigation_provider_api/inc/mnserviceinfo.rh	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Resource structures for Provider Application info
-*  Interface   : Domain/S60, Map and Navigation Provider API
-*
-*/
-
-
-#ifndef MN_SERVICE_INFO_RH
-#define MN_SERVICE_INFO_RH
-
-#include <appinfo.rh>
-
-#include <mnappserviceuids.hrh>
-
-/** @file
- *  Definition of @ref MN_SERVICE_INFO resource structure.
- */
-
- /** @struct MN_SERVICE_INFO
- *  @brief Map and Navigation Provider Application service info structure.
- *
- *  Link to this structure should be put as @p opaque_data field of
- *  application's SERVICE_INFO struct, which declares one of
- *  Map and Navigation services (defined in MnAppServiceUids.hrh).
- *
- *  <HR>
- *
- *  @section flds Fields:
- *
- *  @code LONG service_features =0; \endcode
- *  Bitmap of service feature values, defined in MnAppServices.hrh.
- *  It defines what Map and Navigation service features are supported by this
- *  Provider Application. This information is used by Map and Navigation
- *  AIW Provider to get early service support information without loading
- *  Provider Application.
- *
- *  @ingroup MnProviderAPI
- *  @since 3.1
- *  @lib mnservicelib.lib
- */
-STRUCT MN_SERVICE_INFO
-    {
-    LONG service_features = 0;
-    }
-
-#endif // MN_SERVICE_INFO_RH
-
--- a/locsrv_plat/map_and_navigation_provider_api/map_and_navigation_provider_api.metaxml	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-<?xml version="1.0" ?>
-<api id="bfb48875f641ca798edc02112dd45bb8" dataversion="2.0">
-  <name>Map and Navigation Provider API</name>
-  <description>This is the server side of server application service API. Provider Applications implement it.</description>
-  <type>c++</type>
-  <collection>locationmapnavfw</collection>
-  <libs>
-    <lib name="mnservicelib.lib" />
-  </libs>
-  <release category="platform"/>
-  <attributes>
-     <!-- This indicates wether the api provedes separate html documentation -->
-     <!-- or is the additional documentation generated from headers. -->
-     <!-- If you are unsuere then the value is "no" -->
-     <htmldocprovided>no</htmldocprovided>
-     <adaptation>no</adaptation>
-  </attributes>
-</api>
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  File that exports the files belonging to 
-:                Map and Navigation Provider Discovery API
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/mnprovider.h           MW_LAYER_PLATFORM_EXPORT_PATH(mnprovider.h)
-../inc/mnproviderfinder.h     MW_LAYER_PLATFORM_EXPORT_PATH(mnproviderfinder.h)
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/inc/mnprovider.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnProvider class
-*
-*/
-
-
-#ifndef MN_PROVIDER_H
-#define MN_PROVIDER_H
-
-#include <e32base.h>
-
-/** Represents information about Provider Application.
- *  
- *  Use class @ref MnProviderFinder to find all provider applications.
- *
- *  @since 3.1
- *  @lib mnclientlib.dll
- *  @ingroup MnProviderDiscoveryAPI
- */   
-class CMnProvider : public CBase
-    {
-    public :
-        /** Type for bitmap of @ref TService values. */
-        typedef TUint32 TServices;
-        
-        /** Map and Navigation application services */
-        enum TService
-            {
-            /** Uninitialized value */
-            EServiceNone            = 0x00,
-            /** Defines that Provider Application supports
-             *  CMnMapView */
-            EServiceMapView         = 0x01,
-            /** Defines that Provider Application supports
-             *  CMnNavigator */
-            EServiceNavigation      = 0x02,
-            /** Defines that Provider Application supports
-             *  CMnGeocoder */
-            EServiceGeocoding       = 0x04,
-            /** Defines that Provider Application supports 
-             *  requests for map images */
-            EServiceMapImage        = 0x08
-            };
-    
-        /** Destructor */
-        IMPORT_C ~CMnProvider();
-    
-        /** Returns UID of Provider Application */
-        IMPORT_C TUid Uid() const;
-        
-        /** Returns version information of Provider Application */
-        IMPORT_C TVersion Version() const;
-        
-        /** Returns localized name of this Provider Application.
-         *
-         *  Displayable name is specified in application registration file.
-         *  (See APP_REGISTRATION_INFO for details).
-         *  @param[out] aName Displayable name of Provider Application
-         */
-        IMPORT_C void GetName( TPtrC& aName ) const;
-        
-        /** Returns short localized name of this Provider Application.
-         *
-         *  Short name is specified in its application registration file.
-         *  (See APP_REGISTRATION_INFO for details).
-         *  @param[out] aShortName Short displayable name of Provider Application
-         */
-        IMPORT_C void GetShortName( TPtrC& aShortName ) const;
-        
-        /** Returns localized name of Provider Application's vendor. 
-         *
-         *  @param[out] aVendorName Vendor name of this Provider Application
-         */
-        IMPORT_C void GetVendorName( TPtrC& aVendorName ) const;
-        
-        /** Returns what map and navigation related services 
-         *  are supported by this Provider Application. */
-        IMPORT_C TServices SupportedServices() const;
-
-        /* Returns what service features
-         *  are supported by this Provider Application. 
-         *  Service features are defined in MnAppServices.hrh.
-         */
-        virtual TUint32 SupportedFeatures( TService aService ) const;
-
-    protected :
-        CMnProvider();
-        CMnProvider( CMnProvider& );
-
-    protected :
-        TUid iUid;
-        HBufC* iName;
-        HBufC* iShortName;
-        HBufC* iVendorName;
-        TServices iServices;
-        TVersion iVersion;
-    };
-
-#endif // MN_PROVIDER_H
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/inc/mnproviderfinder.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  MnProviderFinder class
-*
-*/
-
-
-#ifndef MN_PROVIDERFINDER_H
-#define MN_PROVIDERFINDER_H
-
-#include <e32cmn.h>
-#include "mnprovider.h"
-
-/** @brief Provides static methods for discovering
- *  Map and Navigation provider applications available in the system.
- *
- *  @since 3.1
- *  @lib mnclientlib.dll
- *  @ingroup DiscoveryAPI
- */
-class MnProviderFinder
-    {
-    public :
-        /** @brief Finds all Map and Navigation Provider Applications
-         *  in the system.
-         *
-         *  @param[out] aProviders Array of provider applications found. This
-         *                         array is left unchanged, if no providers found.
-         *                         Client takes ownership of objects in the array.
-         */
-        IMPORT_C static void FindProvidersL(
-            RPointerArray<CMnProvider>& aProviders);
-
-        /** @brief Finds all Map and Navigation Provider Applications
-         *  in the system, which are capable of specified features.
-         *
-         *  @param[out] aProviders Array of provider applications found. This
-         *                         array is left unchanged, if no providers found.
-         *                         Client takes ownership of objects in the array.
-         *  @param aRequiredServices Bitmap of map and navigation features. Only
-         *                           those providers, which support all these
-         *                           services are listed on return.
-         */
-        IMPORT_C static void FindProvidersL(
-            RPointerArray<CMnProvider>& aProviders,
-            CMnProvider::TServices aRequiredServices);
-    };
-
-#endif // MN_PROVIDERFINDER_H
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/map_and_navigation_provider_discovery_api.metaxml	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-<?xml version="1.0" ?>
-<api id="f893073def01944f00e035d8d00670fe" dataversion="2.0">
-  <name>Map and Navigation Provider Discovery API</name>
-  <description>This API provides access to information about available Provider Applications.</description>
-  <type>c++</type>
-  <collection>locationmapnavfw</collection>
-  <libs>
-    <lib name="mnclientlib.lib" />
-  </libs>
-  <release category="platform" sinceversion="0"/>
-  <attributes>
-     <!-- This indicates wether the api provedes separate html documentation -->
-     <!-- or is the additional documentation generated from headers. -->
-     <!-- If you are unsuere then the value is "no" -->
-     <htmldocprovided>no</htmldocprovided>
-     <adaptation>no</adaptation>
-  </attributes>
-</api>
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/bmarm/testmnproviderdiscoveryu.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	LibEntryL__FR13CTestModuleIf @ 1 NONAME R3UNUSED ; LibEntryL(CTestModuleIf &)
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/bwins/testmnproviderdiscoveryu.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	?LibEntryL@@YAPAVCScriptBase@@AAVCTestModuleIf@@@Z @ 1 NONAME ; class CScriptBase * __cdecl LibEntryL(class CTestModuleIf &)
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/conf/testmnproviderdiscovery.cfg	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-[Test]
-title Find All Providers
-create testmnproviderdiscovery foobar
-foobar FindAllProviders
-delete foobar
-[Endtest] 
-
-[Test]
-title Find Selected Providers
-create testmnproviderdiscovery foobar
-foobar FindSelectedProviders
-delete foobar
-[Endtest]
-
-[Test]
-title Destroy Provider
-create testmnproviderdiscovery foobar
-foobar DestroyProvider
-delete foobar
-[Endtest]  
-
-[Test]
-title Provider Uid
-create testmnproviderdiscovery foobar
-foobar ProviderUid
-delete foobar
-[Endtest]  
-
-[Test]
-title Provider Version
-create testmnproviderdiscovery foobar
-foobar ProviderVersion
-delete foobar
-[Endtest]
-
-[Test]
-title Provider Name
-create testmnproviderdiscovery foobar
-foobar GetProviderName
-delete foobar
-[Endtest]
-
-[Test]
-title Provider Short Name
-create testmnproviderdiscovery foobar
-foobar GetShortName
-delete foobar
-[Endtest]
-
-[Test]
-title Provider Vendor Name
-create testmnproviderdiscovery foobar
-foobar GetVendorName
-delete foobar
-[Endtest]
-
-[Test]
-title Supported Services
-create testmnproviderdiscovery foobar
-foobar SupportedServices
-delete foobar
-[Endtest]
-
-[Test]
-title Supported Features
-create testmnproviderdiscovery foobar
-foobar SupportedFeatures
-delete foobar
-[Endtest]
\ No newline at end of file
Binary file locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/data/armv5/urel/MnRefProvider.mbm has changed
Binary file locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/data/armv5/urel/MnRefProvider.mif has changed
Binary file locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/data/armv5/urel/MnRefProvider.rsc has changed
Binary file locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/data/armv5/urel/MnRefProviderPlugin.dll has changed
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/data/armv5/urel/MnRefProviderPlugin.dll.map	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +0,0 @@
-ARM Linker, RVCT2.2 [Build 593]
-
-================================================================================
-
-Image Symbol Table
-
-    Local Symbols
-
-    Symbol Name                              Value     Ov Type        Size  Object(Section)
-
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-184.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-43.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnclientlib{000a0000}-97.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  scppnwdl{000a0000}-3.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-44.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-12.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-158.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-147.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-16.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnclientlib{000a0000}-101.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-208.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-21.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-654.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2123.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnclientlib{000a0000}-100.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-205.o ABSOLUTE
-    M:/epoc32/build/compsupp/c_18558cc638e6e874/drtaeabi_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:\\sf\\os\\kernelhwsrv\\kernel\\eka\\compsupp\\rvct2_2\\ucppinit_aeabi.cpp 0x00000000   Number         0  ucppinit_aeabi.o ABSOLUTE
-    M:\sf\os\kernelhwsrv\kernel\eka\compsupp\rvct2_2\ucppinit_aeabi.cpp 0x00000000   Number         0  ucppinit_aeabi.o ABSOLUTE
-    \EPOC32\BUILD\sf\app\location\group\MNREFENGINE\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\app\location\mapnavproviderrefapp\group\MNREFPROVIDERPLUGIN\ARMV5\urel\MnRefProviderPlugin{000a0000}.s 0x00000000   Number         0  MnRefProviderPlugin{000a0000}.exp ABSOLUTE
-    \EPOC32\BUILD\sf\mw\locationsrv\group\MNCLIENTLIB\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\kernelhwsrv\kernel\eka\euser\EDLL\ARMV6_ABIV1\urel\uc_dll_.cpp 0x00000000   Number         0  uc_dll_.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\kernelhwsrv\kernel\eka\euser\EUSER\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\lbs\locationmgmt\locationadmin\group\LBSAPIVARIANT2\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \\EPOC32\\BUILD\\sf\\os\\kernelhwsrv\\kernel\\eka\\euser\\EDLL\\ARMV6_ABIV1\\urel\\uc_dll_.cpp 0x00000000   Number         0  uc_dll_.o ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrefproviderplugin.cpp 0x00000000   Number         0  MnRefProviderPlugin.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpcoordconverter.cpp 0x00000000   Number         0  MnRefProviderPlugin.in ABSOLUTE
-    \sf\os\kernelhwsrv\kernel\eka\euser\epoc\arm\uc_dll.cpp 0x00000000   Number         0  uc_dll.o ABSOLUTE
-    .emb_text                                0x00008000   Section       40  uc_dll_.o(.emb_text)
-    .emb_text                                0x00008028   Section       72  ucppinit_aeabi.o(.emb_text)
-    skip                                     0x0000803c   ARM Code       0  ucppinit_aeabi.o(.emb_text)
-    loop                                     0x0000804c   ARM Code       0  ucppinit_aeabi.o(.emb_text)
-    fpinit                                   0x00008064   Data           0  ucppinit_aeabi.o(.emb_text)
-    base                                     0x00008068   Data           0  ucppinit_aeabi.o(.emb_text)
-    limit                                    0x0000806c   Data           0  ucppinit_aeabi.o(.emb_text)
-    .text                                    0x00008070   Section       12  MnRefProviderPlugin.in(.text)
-    .text                                    0x0000807c   Section      232  MnRefProviderPlugin.in(.text)
-    .text                                    0x00008164   Section       40  uc_dll.o(.text)
-    .text.clean                              0x0000818c   Section       10  MnRefProviderPlugin.in(.text.clean)
-    ExportTable                              0x00008198   Section       12  MnRefProviderPlugin{000a0000}.exp(ExportTable)
-    StubCode                                 0x000081a4   Section        8  euser{000a0000}-205.o(StubCode)
-    theImportedSymbol                        0x000081a8   Data           0  euser{000a0000}-205.o(StubCode)
-    StubCode                                 0x000081ac   Section        8  euser{000a0000}-208.o(StubCode)
-    theImportedSymbol                        0x000081b0   Data           0  euser{000a0000}-208.o(StubCode)
-    StubCode                                 0x000081b4   Section        8  euser{000a0000}-2123.o(StubCode)
-    theImportedSymbol                        0x000081b8   Data           0  euser{000a0000}-2123.o(StubCode)
-    StubCode                                 0x000081bc   Section        8  euser{000a0000}-654.o(StubCode)
-    theImportedSymbol                        0x000081c0   Data           0  euser{000a0000}-654.o(StubCode)
-    StubCode                                 0x000081c4   Section        8  mnclientlib{000a0000}-100.o(StubCode)
-    theImportedSymbol                        0x000081c8   Data           0  mnclientlib{000a0000}-100.o(StubCode)
-    StubCode                                 0x000081cc   Section        8  mnclientlib{000a0000}-101.o(StubCode)
-    theImportedSymbol                        0x000081d0   Data           0  mnclientlib{000a0000}-101.o(StubCode)
-    StubCode                                 0x000081d4   Section        8  mnclientlib{000a0000}-97.o(StubCode)
-    theImportedSymbol                        0x000081d8   Data           0  mnclientlib{000a0000}-97.o(StubCode)
-    StubCode                                 0x000081dc   Section        8  mnrefproviderengine{000a0000}-12.o(StubCode)
-    theImportedSymbol                        0x000081e0   Data           0  mnrefproviderengine{000a0000}-12.o(StubCode)
-    StubCode                                 0x000081e4   Section        8  mnrefproviderengine{000a0000}-16.o(StubCode)
-    theImportedSymbol                        0x000081e8   Data           0  mnrefproviderengine{000a0000}-16.o(StubCode)
-    StubCode                                 0x000081ec   Section        8  mnrefproviderengine{000a0000}-21.o(StubCode)
-    theImportedSymbol                        0x000081f0   Data           0  mnrefproviderengine{000a0000}-21.o(StubCode)
-    StubCode                                 0x000081f4   Section        8  mnrefproviderengine{000a0000}-43.o(StubCode)
-    theImportedSymbol                        0x000081f8   Data           0  mnrefproviderengine{000a0000}-43.o(StubCode)
-    StubCode                                 0x000081fc   Section        8  mnrefproviderengine{000a0000}-44.o(StubCode)
-    theImportedSymbol                        0x00008200   Data           0  mnrefproviderengine{000a0000}-44.o(StubCode)
-    StubCode                                 0x00008204   Section        8  drtaeabi{000a0000}-147.o(StubCode)
-    theImportedSymbol                        0x00008208   Data           0  drtaeabi{000a0000}-147.o(StubCode)
-    StubCode                                 0x0000820c   Section        8  drtaeabi{000a0000}-158.o(StubCode)
-    theImportedSymbol                        0x00008210   Data           0  drtaeabi{000a0000}-158.o(StubCode)
-    StubCode                                 0x00008214   Section        8  drtaeabi{000a0000}-184.o(StubCode)
-    theImportedSymbol                        0x00008218   Data           0  drtaeabi{000a0000}-184.o(StubCode)
-    StubCode                                 0x0000821c   Section        8  scppnwdl{000a0000}-3.o(StubCode)
-    theImportedSymbol                        0x00008220   Data           0  scppnwdl{000a0000}-3.o(StubCode)
-    .extab._ZN19CMnrpCoordConverterD1Ev      0x00008224   Data           0  MnRefProviderPlugin.in(.ARM.extab)
-    .constdata$1                             0x00008234   Data           0  MnRefProviderPlugin.in(.constdata)
-    ImplementationTable                      0x00008234   Data           8  MnRefProviderPlugin.in(.constdata)
-    .constdata                               0x00008234   Section        8  MnRefProviderPlugin.in(.constdata)
-    .constdata__ZTI19CMnrpCoordConverter     0x0000823c   Section       12  MnRefProviderPlugin.in(.constdata__ZTI19CMnrpCoordConverter)
-    .constdata__ZTS19CMnrpCoordConverter     0x00008248   Section       22  MnRefProviderPlugin.in(.constdata__ZTS19CMnrpCoordConverter)
-    .constdata__ZTV19CMnrpCoordConverter     0x00008260   Section       28  MnRefProviderPlugin.in(.constdata__ZTV19CMnrpCoordConverter)
-    .ARM.exidx                               0x0000827c   Section        8  ucppinit_aeabi.o(.ARM.exidx)
-
-    Global Symbols
-
-    Symbol Name                              Value     Ov Type        Size  Object(Section)
-
-    BuildAttributes$$THUMB_ISAv3$ARM_ISAv6$M$E$P$PE$A:L22$X:L11$S22$IEEE1$IW$USESV6$~STKCKD$USESV7$~SHL$OSPACE$IEEEJ$EBA8$UX$REQ8$PRES8$EABIv2 0x00000000   Number         0  anon$$obj.o ABSOLUTE
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>93     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>9e     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>b8     - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>28e  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>84b  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>cd  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>d0  - Undefined Reference
-    #<DLL>mnclientlib{000a0000}[10206902].dll#<\DLL>61  - Undefined Reference
-    #<DLL>mnclientlib{000a0000}[10206902].dll#<\DLL>64  - Undefined Reference
-    #<DLL>mnclientlib{000a0000}[10206902].dll#<\DLL>65  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>10  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>15  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>2b  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>2c  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>c  - Undefined Reference
-    #<DLL>scppnwdl{000a0000}.dll#<\DLL>3      - Undefined Reference
-    SHT$$INIT_ARRAY$$Base                     - Undefined Weak Reference
-    SHT$$INIT_ARRAY$$Limit                    - Undefined Weak Reference
-    typeinfo for CMnCoordinateConverterBase   - Undefined Reference
-    vtable for __cxxabiv1::__si_class_type_info  - Undefined Reference
-    _fp_init                                  - Undefined Weak Reference
-    run_static_dtors                          - Undefined Weak Reference
-    Image$$ER_RO$$Base                       0x00008000   Number         0  anon$$obj.o(linker$$defined$$symbols)
-    _E32Dll                                  0x00008000   ARM Code      40  uc_dll_.o(.emb_text)
-    Symbian$$CPP$$Exception$$Descriptor      0x00008014   Data           0  uc_dll_.o(.emb_text)
-    __cpp_initialize__aeabi_                 0x00008028   ARM Code      72  ucppinit_aeabi.o(.emb_text)
-    ImplementationGroupProxy(int&)           0x00008071   Thumb Code     8  MnRefProviderPlugin.in(.text)
-    std::nothrow                             0x00008071   Thumb Code     0  ucppinit_aeabi.o(.emb_text)
-    CMnrpCoordConverter::CMnrpCoordConverter() 0x0000807d   Thumb Code    12  MnRefProviderPlugin.in(.text)
-    CMnrpCoordConverter::CMnrpCoordConverter__sub_object() 0x0000807d   Thumb Code     0  MnRefProviderPlugin.in(.text)
-    CMnrpCoordConverter::NewL()              0x00008089   Thumb Code    38  MnRefProviderPlugin.in(.text)
-    CMnrpCoordConverter::~CMnrpCoordConverter() 0x000080af   Thumb Code    40  MnRefProviderPlugin.in(.text)
-    CMnrpCoordConverter::~CMnrpCoordConverter__sub_object() 0x000080af   Thumb Code     0  MnRefProviderPlugin.in(.text)
-    CMnrpCoordConverter::~CMnrpCoordConverter__deallocating() 0x000080d7   Thumb Code    16  MnRefProviderPlugin.in(.text)
-    CMnrpCoordConverter::GetImageCoordinate(const TCoordinate&, TPoint&) 0x000080e7   Thumb Code    62  MnRefProviderPlugin.in(.text)
-    CMnrpCoordConverter::GetWorldCoordinate(const TPoint&, TCoordinate&) 0x00008125   Thumb Code    60  MnRefProviderPlugin.in(.text)
-    _E32Dll_Body                             0x00008165   Thumb Code    34  uc_dll.o(.text)
-    __DLL_Export_Table__                     0x00008198   ARM Code       0  MnRefProviderPlugin{000a0000}.exp(ExportTable)
-    DLL##ExportTableSize                     0x0000819c   Data           0  MnRefProviderPlugin{000a0000}.exp(ExportTable)
-    DLL##ExportTable                         0x000081a0   Data           0  MnRefProviderPlugin{000a0000}.exp(ExportTable)
-    CleanupStack::Pop()                      0x000081a4   ARM Code       0  euser{000a0000}-205.o(StubCode)
-    CleanupStack::PushL(CBase*)              0x000081ac   ARM Code       0  euser{000a0000}-208.o(StubCode)
-    CBase::Extension_(unsigned, void*&, void*) 0x000081b4   ARM Code       0  euser{000a0000}-2123.o(StubCode)
-    User::AllocZL(int)                       0x000081bc   ARM Code       0  euser{000a0000}-654.o(StubCode)
-    CMnCoordinateConverterBase::~CMnCoordinateConverterBase__sub_object() 0x000081c4   ARM Code       0  mnclientlib{000a0000}-100.o(StubCode)
-    CMnCoordinateConverterBase::MapImageParams() const 0x000081cc   ARM Code       0  mnclientlib{000a0000}-101.o(StubCode)
-    CMnCoordinateConverterBase::CMnCoordinateConverterBase__sub_object() 0x000081d4   ARM Code       0  mnclientlib{000a0000}-97.o(StubCode)
-    CMnrpEngine::NewL()                      0x000081dc   ARM Code       0  mnrefproviderengine{000a0000}-12.o(StubCode)
-    CMnrpMapModel::UpdateModel(const TMnMapImageParams&) 0x000081e4   ARM Code       0  mnrefproviderengine{000a0000}-16.o(StubCode)
-    CMnrpMapModel::NewL(CMnrpEngine&)        0x000081ec   ARM Code       0  mnrefproviderengine{000a0000}-21.o(StubCode)
-    CMnrpMapModel::AbsoluteToScreen(TCoordinate) const 0x000081f4   ARM Code       0  mnrefproviderengine{000a0000}-43.o(StubCode)
-    CMnrpMapModel::ScreenToAbsolute(TPoint) const 0x000081fc   ARM Code       0  mnrefproviderengine{000a0000}-44.o(StubCode)
-    __aeabi_memcpy4                          0x00008204   ARM Code       0  drtaeabi{000a0000}-147.o(StubCode)
-    __aeabi_unwind_cpp_pr0                   0x0000820c   ARM Code       0  drtaeabi{000a0000}-158.o(StubCode)
-    __cxa_end_cleanup                        0x00008214   ARM Code       0  drtaeabi{000a0000}-184.o(StubCode)
-    operator delete (void*)                  0x0000821c   ARM Code       0  scppnwdl{000a0000}-3.o(StubCode)
-    typeinfo for CMnrpCoordConverter         0x0000823c   Data          12  MnRefProviderPlugin.in(.constdata__ZTI19CMnrpCoordConverter)
-    typeinfo name for CMnrpCoordConverter    0x00008248   Data          22  MnRefProviderPlugin.in(.constdata__ZTS19CMnrpCoordConverter)
-    vtable for CMnrpCoordConverter           0x00008260   Data          28  MnRefProviderPlugin.in(.constdata__ZTV19CMnrpCoordConverter)
-    .ARM.exidx$$Base                         0x0000827c   Number         0  ucppinit_aeabi.o(.ARM.exidx)
-    .ARM.exidx$$Limit                        0x000082b4   Number         0  uc_dll.o(.ARM.exidx)
-    Image$$ER_RO$$Limit                      0x000082b4   Number         0  anon$$obj.o(linker$$defined$$symbols)
-
Binary file locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/data/armv5/urel/MnRefProvider_reg.rsc has changed
Binary file locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/data/armv5/urel/mnrefprovider.exe has changed
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/data/armv5/urel/mnrefprovider.exe.map	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2589 +0,0 @@
-ARM Linker, RVCT2.2 [Build 593]
-
-================================================================================
-
-Image Symbol Table
-
-    Local Symbols
-
-    Symbol Name                              Value     Ov Type        Size  Object(Section)
-
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-374.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-73.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-29.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-375.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-74.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-291.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-377.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-75.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-293.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3826.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-76.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-294.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3831.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-77.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-295.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3832.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-78.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-296.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3857.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-79.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-297.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3860.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcoctl{000a0000}-1376.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-298.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3861.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcoctl{000a0000}-140.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-299.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3868.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcoctl{000a0000}-1430.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-30.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3947.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcoctl{000a0000}-35.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-302.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3948.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcoctl{000a0000}-46.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-31.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3949.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcoctl{000a0000}-605.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-315.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3983.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcoctl{000a0000}-606.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-317.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-4014.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcoctl{000a0000}-660.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-319.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-4030.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcoctl{000a0000}-875.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-352.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  AknIcon{000a0000}-13.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcoctl{000a0000}-880.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-37.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  egul{000a0000}-94.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcoctl{000a0000}-881.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-390.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  egul{000a0000}-95.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikctl{000a0000}-455.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-392.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  gdi{000a0000}-310.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-1132.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-394.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  gdi{000a0000}-311.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-129.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-467.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  gdi{000a0000}-312.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-130.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-472.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  fbscli{000a0000}-26.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-131.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-473.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  fbscli{000a0000}-31.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-1341.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-479.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-12.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-198.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-490.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-15.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-199.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-506.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-4.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-1996.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-523.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-50.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-201.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-532.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-65.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-206.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-533.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-67.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-211.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-534.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-75.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-213.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-535.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-152.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-214.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-536.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-180.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-215.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-537.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-181.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-216.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-565.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-205.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2163.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-61.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-207.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-217.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-62.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-21.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2178.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-63.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-214.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-220.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-64.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-223.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2591.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-67.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-225.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2624.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-72.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-226.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2632.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-39.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-23.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2895.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-40.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-28.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2898.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-41.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-304.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2899.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-42.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-306.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2900.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-43.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-1.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2901.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-44.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-10.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2902.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-45.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-11.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2903.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-46.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-12.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2904.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-47.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-13.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2905.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-48.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-14.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2906.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-50.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-15.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2907.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-51.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-16.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2909.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-53.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-17.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2910.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-54.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-2.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2912.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-12.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-20.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2913.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-20.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-28.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2914.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-23.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-29.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2917.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-24.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-30.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2919.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-41.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-33.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2920.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-8.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-4.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2922.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-147.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-5.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2928.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-158.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-7.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2929.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-159.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-12.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2930.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-180.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-17.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2932.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-182.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-19.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2934.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-183.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-20.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2936.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-184.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-22.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2993.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-189.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-23.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2997.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  scppnwdl{000a0000}-3.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-24.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3417.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1360.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-25.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3420.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-641.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-26.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1025.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-159.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-27.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1096.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-169.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-28.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1116.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-171.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-29.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1119.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-175.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-30.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1172.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-18.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-31.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1288.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-20.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-32.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1507.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-25.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-33.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1510.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-26.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-34.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1553.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-204.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-38.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1590.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-28.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-829.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1593.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-197.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-830.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1648.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-199.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-838.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1817.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-203.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-839.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1995.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-21.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-841.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1997.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-210.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-842.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1999.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-211.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-973.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-203.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-212.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-121.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-204.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-220.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-132.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-205.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-25.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-171.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2060.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-257.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-191.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2061.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-26.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-192.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-207.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-263.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-194.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-208.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-265.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-202.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2082.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-266.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-222.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2120.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-270.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-232.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2123.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-271.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-253.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2125.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-272.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-273.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2131.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-275.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-274.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-245.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-276.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-275.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-250.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-287.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-279.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-254.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-288.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-280.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-257.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-29.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-284.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-46.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-30.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-285.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-464.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-351.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-286.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-470.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-353.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-287.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-471.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-355.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-30.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-472.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-36.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bafl{000a0000}-43.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-476.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-39.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bafl{000a0000}-98.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-48.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-396.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-100.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-481.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-397.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-101.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-55.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3421.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-11.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-551.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3422.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-12.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-593.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3423.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-127.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-613.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3424.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-128.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-649.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-367.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-13.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-652.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-368.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-15.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-654.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-369.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-18.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-669.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-370.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-182.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-81.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-372.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-19.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-824.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-373.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-196.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-638.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-50.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-147.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-639.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-502.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-152.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-64.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-51.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-155.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-664.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-514.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-158.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-67.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-56.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-9.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-670.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-57.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-141.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-671.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-580.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-142.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-676.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-581.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-143.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-677.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-582.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-144.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-482.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-583.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-41.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-61.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-584.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-42.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-62.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-27.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-444.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-585.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-477.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-48.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-40.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-478.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-479.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-650.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-474.o ABSOLUTE
-    M:/epoc32/build/apputils/c_da81efa927799d7f/bafl_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/compsupp/c_18558cc638e6e874/drtaeabi_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/cone/c_17e36feeaf3b2ee8/cone_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/fontandbitmapserver/c_7ea974cb4182c047/fbscli_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/gdi/c_5dab287815cadb7b/gdi_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/imagingfws/c_c0b0915f285c9e63/imageconversion_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/store/c_93a13d203e6d3ba7/estor_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/uigraphicsutils/c_d265b80414e63acf/egul_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/uikon/c_9cf7bef4a7562444/eikcore_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:\\sf\\os\\kernelhwsrv\\kernel\\eka\\compsupp\\rvct2_2\\ucppinit_aeabi.cpp 0x00000000   Number         0  ucppinit_aeabi.o ABSOLUTE
-    M:\sf\os\kernelhwsrv\kernel\eka\compsupp\rvct2_2\dllexp.cpp 0x00000000   Number         0  dllexp.o ABSOLUTE
-    M:\sf\os\kernelhwsrv\kernel\eka\compsupp\rvct2_2\ucppinit_aeabi.cpp 0x00000000   Number         0  ucppinit_aeabi.o ABSOLUTE
-    M:\sf\os\kernelhwsrv\kernel\eka\compsupp\symaehabi\callfirstprocessfn.cpp 0x00000000   Number         0  callfirstprocessfn.o ABSOLUTE
-    \EPOC32\BUILD\sf\app\location\group\MNREFENGINE\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\appsupport\appfw\apparchitecture\group\APPARC\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\classicui\group\AVKON\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\classicui\group\EIKCOCTL\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\classicui\group\EIKCTL\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\classicui\group\EIKDLG\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\locationsrv\group\EPOS_LANDMARKSCLIENTLIBRARY\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\locationsrv\group\EPOS_LANDMARKSSEARCHCLIENTLIBRARY\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\locationsrv\group\MNSERVICELIB\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\uiresources\group\AKNICON\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\uiresources\group\AKNSKINS\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\graphics\windowing\windowserver\group\WS32LIB\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\kernelhwsrv\kernel\eka\euser\EEXE\ARMV6_ABIV1\urel\uc_exe_.cpp 0x00000000   Number         0  uc_exe_.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\kernelhwsrv\kernel\eka\euser\EUSER\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\kernelhwsrv\userlibandfileserver\fileserver\group\EFSRV\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\lbs\locationmgmt\locationadmin\group\LBSAPIVARIANT2\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \\EPOC32\\BUILD\\sf\\os\\kernelhwsrv\\kernel\\eka\\euser\\EEXE\\ARMV6_ABIV1\\urel\\uc_exe_.cpp 0x00000000   Number         0  uc_exe_.o ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrefprovider.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpappcontrol.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpapplication.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpappserver.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpappui.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpappview.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpdocument.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpmapcontrol.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpmapview.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpmapviewservice.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpnavicontrol.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpnavigationservice.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpnavimodel.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpnaviview.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\os\kernelhwsrv\kernel\eka\euser\epoc\arm\uc_exe.cpp 0x00000000   Number         0  uc_exe.o ABSOLUTE
-    .emb_text                                0x00008000   Section      112  uc_exe_.o(.emb_text)
-    .emb_text                                0x00008070   Section       72  ucppinit_aeabi.o(.emb_text)
-    skip                                     0x00008084   ARM Code       0  ucppinit_aeabi.o(.emb_text)
-    loop                                     0x00008094   ARM Code       0  ucppinit_aeabi.o(.emb_text)
-    fpinit                                   0x000080ac   Data           0  ucppinit_aeabi.o(.emb_text)
-    base                                     0x000080b0   Data           0  ucppinit_aeabi.o(.emb_text)
-    limit                                    0x000080b4   Data           0  ucppinit_aeabi.o(.emb_text)
-    .text                                    0x000080c0   Section       16  uc_exe_.o(.text)
-    NewApplication()                         0x000080d1   Thumb Code    30  mnrefprovider.in(.text)
-    .text                                    0x000080d0   Section       60  mnrefprovider.in(.text)
-    .text                                    0x0000810c   Section       44  mnrefprovider.in(.text)
-    .text                                    0x00008138   Section     1688  mnrefprovider.in(.text)
-    .text                                    0x000087d0   Section      140  mnrefprovider.in(.text)
-    .text                                    0x0000885c   Section      128  mnrefprovider.in(.text)
-    .text                                    0x000088dc   Section      244  mnrefprovider.in(.text)
-    .text                                    0x000089d0   Section      196  mnrefprovider.in(.text)
-    .text                                    0x00008a94   Section      612  mnrefprovider.in(.text)
-    .text                                    0x00008cf8   Section     3148  mnrefprovider.in(.text)
-    |L1.1176|                                0x00009190   Data           0  mnrefprovider.in(.text)
-    |L1.1200|                                0x000091a8   Data           0  mnrefprovider.in(.text)
-    __sti___18_mnrpmapcontrol_cpp            0x000098f1   Thumb Code    24  mnrefprovider.in(.text)
-    .text                                    0x00009944   Section      360  mnrefprovider.in(.text)
-    .text                                    0x00009aac   Section     1084  mnrefprovider.in(.text)
-    .text                                    0x00009ee8   Section      580  mnrefprovider.in(.text)
-    .text                                    0x0000a12c   Section      100  mnrefprovider.in(.text)
-    .text                                    0x0000a190   Section      508  mnrefprovider.in(.text)
-    .text                                    0x0000a394   Section       36  uc_exe.o(.text)
-    .text                                    0x0000a3b8   Section      120  callfirstprocessfn.o(.text)
-    .text                                    0x0000a430   Section        4  dllexp.o(.text)
-    .text.clean                              0x0000a434   Section       10  mnrefprovider.in(.text.clean)
-    .text.clean                              0x0000a43e   Section       18  mnrefprovider.in(.text.clean)
-    .text.clean                              0x0000a450   Section       10  mnrefprovider.in(.text.clean)
-    .text.clean                              0x0000a45a   Section       10  mnrefprovider.in(.text.clean)
-    .text.clean                              0x0000a464   Section       14  mnrefprovider.in(.text.clean)
-    .text.clean                              0x0000a472   Section       28  mnrefprovider.in(.text.clean)
-    .text.clean                              0x0000a48e   Section       10  mnrefprovider.in(.text.clean)
-    .text.clean                              0x0000a498   Section       20  mnrefprovider.in(.text.clean)
-    .text.clean                              0x0000a4ac   Section       14  mnrefprovider.in(.text.clean)
-    .text.clean                              0x0000a4ba   Section       22  mnrefprovider.in(.text.clean)
-    .text.clean                              0x0000a4d0   Section        8  callfirstprocessfn.o(.text.clean)
-    StubCode                                 0x0000a4d8   Section        8  euser{000a0000}-1025.o(StubCode)
-    theImportedSymbol                        0x0000a4dc   Data           0  euser{000a0000}-1025.o(StubCode)
-    StubCode                                 0x0000a4e0   Section        8  euser{000a0000}-1096.o(StubCode)
-    theImportedSymbol                        0x0000a4e4   Data           0  euser{000a0000}-1096.o(StubCode)
-    StubCode                                 0x0000a4e8   Section        8  euser{000a0000}-1116.o(StubCode)
-    theImportedSymbol                        0x0000a4ec   Data           0  euser{000a0000}-1116.o(StubCode)
-    StubCode                                 0x0000a4f0   Section        8  euser{000a0000}-1119.o(StubCode)
-    theImportedSymbol                        0x0000a4f4   Data           0  euser{000a0000}-1119.o(StubCode)
-    StubCode                                 0x0000a4f8   Section        8  euser{000a0000}-1172.o(StubCode)
-    theImportedSymbol                        0x0000a4fc   Data           0  euser{000a0000}-1172.o(StubCode)
-    StubCode                                 0x0000a500   Section        8  euser{000a0000}-1288.o(StubCode)
-    theImportedSymbol                        0x0000a504   Data           0  euser{000a0000}-1288.o(StubCode)
-    StubCode                                 0x0000a508   Section        8  euser{000a0000}-1507.o(StubCode)
-    theImportedSymbol                        0x0000a50c   Data           0  euser{000a0000}-1507.o(StubCode)
-    StubCode                                 0x0000a510   Section        8  euser{000a0000}-1510.o(StubCode)
-    theImportedSymbol                        0x0000a514   Data           0  euser{000a0000}-1510.o(StubCode)
-    StubCode                                 0x0000a518   Section        8  euser{000a0000}-1553.o(StubCode)
-    theImportedSymbol                        0x0000a51c   Data           0  euser{000a0000}-1553.o(StubCode)
-    StubCode                                 0x0000a520   Section        8  euser{000a0000}-1590.o(StubCode)
-    theImportedSymbol                        0x0000a524   Data           0  euser{000a0000}-1590.o(StubCode)
-    StubCode                                 0x0000a528   Section        8  euser{000a0000}-1593.o(StubCode)
-    theImportedSymbol                        0x0000a52c   Data           0  euser{000a0000}-1593.o(StubCode)
-    StubCode                                 0x0000a530   Section        8  euser{000a0000}-1648.o(StubCode)
-    theImportedSymbol                        0x0000a534   Data           0  euser{000a0000}-1648.o(StubCode)
-    StubCode                                 0x0000a538   Section        8  euser{000a0000}-1817.o(StubCode)
-    theImportedSymbol                        0x0000a53c   Data           0  euser{000a0000}-1817.o(StubCode)
-    StubCode                                 0x0000a540   Section        8  euser{000a0000}-1995.o(StubCode)
-    theImportedSymbol                        0x0000a544   Data           0  euser{000a0000}-1995.o(StubCode)
-    StubCode                                 0x0000a548   Section        8  euser{000a0000}-1997.o(StubCode)
-    theImportedSymbol                        0x0000a54c   Data           0  euser{000a0000}-1997.o(StubCode)
-    StubCode                                 0x0000a550   Section        8  euser{000a0000}-1999.o(StubCode)
-    theImportedSymbol                        0x0000a554   Data           0  euser{000a0000}-1999.o(StubCode)
-    StubCode                                 0x0000a558   Section        8  euser{000a0000}-203.o(StubCode)
-    theImportedSymbol                        0x0000a55c   Data           0  euser{000a0000}-203.o(StubCode)
-    StubCode                                 0x0000a560   Section        8  euser{000a0000}-204.o(StubCode)
-    theImportedSymbol                        0x0000a564   Data           0  euser{000a0000}-204.o(StubCode)
-    StubCode                                 0x0000a568   Section        8  euser{000a0000}-205.o(StubCode)
-    theImportedSymbol                        0x0000a56c   Data           0  euser{000a0000}-205.o(StubCode)
-    StubCode                                 0x0000a570   Section        8  euser{000a0000}-2060.o(StubCode)
-    theImportedSymbol                        0x0000a574   Data           0  euser{000a0000}-2060.o(StubCode)
-    StubCode                                 0x0000a578   Section        8  euser{000a0000}-2061.o(StubCode)
-    theImportedSymbol                        0x0000a57c   Data           0  euser{000a0000}-2061.o(StubCode)
-    StubCode                                 0x0000a580   Section        8  euser{000a0000}-207.o(StubCode)
-    theImportedSymbol                        0x0000a584   Data           0  euser{000a0000}-207.o(StubCode)
-    StubCode                                 0x0000a588   Section        8  euser{000a0000}-208.o(StubCode)
-    theImportedSymbol                        0x0000a58c   Data           0  euser{000a0000}-208.o(StubCode)
-    StubCode                                 0x0000a590   Section        8  euser{000a0000}-2082.o(StubCode)
-    theImportedSymbol                        0x0000a594   Data           0  euser{000a0000}-2082.o(StubCode)
-    StubCode                                 0x0000a598   Section        8  euser{000a0000}-2120.o(StubCode)
-    theImportedSymbol                        0x0000a59c   Data           0  euser{000a0000}-2120.o(StubCode)
-    StubCode                                 0x0000a5a0   Section        8  euser{000a0000}-2123.o(StubCode)
-    theImportedSymbol                        0x0000a5a4   Data           0  euser{000a0000}-2123.o(StubCode)
-    StubCode                                 0x0000a5a8   Section        8  euser{000a0000}-2125.o(StubCode)
-    theImportedSymbol                        0x0000a5ac   Data           0  euser{000a0000}-2125.o(StubCode)
-    StubCode                                 0x0000a5b0   Section        8  euser{000a0000}-2131.o(StubCode)
-    theImportedSymbol                        0x0000a5b4   Data           0  euser{000a0000}-2131.o(StubCode)
-    StubCode                                 0x0000a5b8   Section        8  euser{000a0000}-245.o(StubCode)
-    theImportedSymbol                        0x0000a5bc   Data           0  euser{000a0000}-245.o(StubCode)
-    StubCode                                 0x0000a5c0   Section        8  euser{000a0000}-250.o(StubCode)
-    theImportedSymbol                        0x0000a5c4   Data           0  euser{000a0000}-250.o(StubCode)
-    StubCode                                 0x0000a5c8   Section        8  euser{000a0000}-254.o(StubCode)
-    theImportedSymbol                        0x0000a5cc   Data           0  euser{000a0000}-254.o(StubCode)
-    StubCode                                 0x0000a5d0   Section        8  euser{000a0000}-257.o(StubCode)
-    theImportedSymbol                        0x0000a5d4   Data           0  euser{000a0000}-257.o(StubCode)
-    StubCode                                 0x0000a5d8   Section        8  euser{000a0000}-46.o(StubCode)
-    theImportedSymbol                        0x0000a5dc   Data           0  euser{000a0000}-46.o(StubCode)
-    StubCode                                 0x0000a5e0   Section        8  euser{000a0000}-464.o(StubCode)
-    theImportedSymbol                        0x0000a5e4   Data           0  euser{000a0000}-464.o(StubCode)
-    StubCode                                 0x0000a5e8   Section        8  euser{000a0000}-470.o(StubCode)
-    theImportedSymbol                        0x0000a5ec   Data           0  euser{000a0000}-470.o(StubCode)
-    StubCode                                 0x0000a5f0   Section        8  euser{000a0000}-471.o(StubCode)
-    theImportedSymbol                        0x0000a5f4   Data           0  euser{000a0000}-471.o(StubCode)
-    StubCode                                 0x0000a5f8   Section        8  euser{000a0000}-472.o(StubCode)
-    theImportedSymbol                        0x0000a5fc   Data           0  euser{000a0000}-472.o(StubCode)
-    StubCode                                 0x0000a600   Section        8  euser{000a0000}-476.o(StubCode)
-    theImportedSymbol                        0x0000a604   Data           0  euser{000a0000}-476.o(StubCode)
-    StubCode                                 0x0000a608   Section        8  euser{000a0000}-48.o(StubCode)
-    theImportedSymbol                        0x0000a60c   Data           0  euser{000a0000}-48.o(StubCode)
-    StubCode                                 0x0000a610   Section        8  euser{000a0000}-481.o(StubCode)
-    theImportedSymbol                        0x0000a614   Data           0  euser{000a0000}-481.o(StubCode)
-    StubCode                                 0x0000a618   Section        8  euser{000a0000}-55.o(StubCode)
-    theImportedSymbol                        0x0000a61c   Data           0  euser{000a0000}-55.o(StubCode)
-    StubCode                                 0x0000a620   Section        8  euser{000a0000}-551.o(StubCode)
-    theImportedSymbol                        0x0000a624   Data           0  euser{000a0000}-551.o(StubCode)
-    StubCode                                 0x0000a628   Section        8  euser{000a0000}-593.o(StubCode)
-    theImportedSymbol                        0x0000a62c   Data           0  euser{000a0000}-593.o(StubCode)
-    StubCode                                 0x0000a630   Section        8  euser{000a0000}-613.o(StubCode)
-    theImportedSymbol                        0x0000a634   Data           0  euser{000a0000}-613.o(StubCode)
-    StubCode                                 0x0000a638   Section        8  euser{000a0000}-649.o(StubCode)
-    theImportedSymbol                        0x0000a63c   Data           0  euser{000a0000}-649.o(StubCode)
-    StubCode                                 0x0000a640   Section        8  euser{000a0000}-652.o(StubCode)
-    theImportedSymbol                        0x0000a644   Data           0  euser{000a0000}-652.o(StubCode)
-    StubCode                                 0x0000a648   Section        8  euser{000a0000}-654.o(StubCode)
-    theImportedSymbol                        0x0000a64c   Data           0  euser{000a0000}-654.o(StubCode)
-    StubCode                                 0x0000a650   Section        8  euser{000a0000}-669.o(StubCode)
-    theImportedSymbol                        0x0000a654   Data           0  euser{000a0000}-669.o(StubCode)
-    StubCode                                 0x0000a658   Section        8  euser{000a0000}-81.o(StubCode)
-    theImportedSymbol                        0x0000a65c   Data           0  euser{000a0000}-81.o(StubCode)
-    StubCode                                 0x0000a660   Section        8  euser{000a0000}-824.o(StubCode)
-    theImportedSymbol                        0x0000a664   Data           0  euser{000a0000}-824.o(StubCode)
-    StubCode                                 0x0000a668   Section        8  euser{000a0000}-829.o(StubCode)
-    theImportedSymbol                        0x0000a66c   Data           0  euser{000a0000}-829.o(StubCode)
-    StubCode                                 0x0000a670   Section        8  euser{000a0000}-830.o(StubCode)
-    theImportedSymbol                        0x0000a674   Data           0  euser{000a0000}-830.o(StubCode)
-    StubCode                                 0x0000a678   Section        8  euser{000a0000}-838.o(StubCode)
-    theImportedSymbol                        0x0000a67c   Data           0  euser{000a0000}-838.o(StubCode)
-    StubCode                                 0x0000a680   Section        8  euser{000a0000}-839.o(StubCode)
-    theImportedSymbol                        0x0000a684   Data           0  euser{000a0000}-839.o(StubCode)
-    StubCode                                 0x0000a688   Section        8  euser{000a0000}-841.o(StubCode)
-    theImportedSymbol                        0x0000a68c   Data           0  euser{000a0000}-841.o(StubCode)
-    StubCode                                 0x0000a690   Section        8  euser{000a0000}-842.o(StubCode)
-    theImportedSymbol                        0x0000a694   Data           0  euser{000a0000}-842.o(StubCode)
-    StubCode                                 0x0000a698   Section        8  euser{000a0000}-973.o(StubCode)
-    theImportedSymbol                        0x0000a69c   Data           0  euser{000a0000}-973.o(StubCode)
-    StubCode                                 0x0000a6a0   Section        8  apparc{000a0000}-121.o(StubCode)
-    theImportedSymbol                        0x0000a6a4   Data           0  apparc{000a0000}-121.o(StubCode)
-    StubCode                                 0x0000a6a8   Section        8  apparc{000a0000}-132.o(StubCode)
-    theImportedSymbol                        0x0000a6ac   Data           0  apparc{000a0000}-132.o(StubCode)
-    StubCode                                 0x0000a6b0   Section        8  apparc{000a0000}-171.o(StubCode)
-    theImportedSymbol                        0x0000a6b4   Data           0  apparc{000a0000}-171.o(StubCode)
-    StubCode                                 0x0000a6b8   Section        8  apparc{000a0000}-191.o(StubCode)
-    theImportedSymbol                        0x0000a6bc   Data           0  apparc{000a0000}-191.o(StubCode)
-    StubCode                                 0x0000a6c0   Section        8  apparc{000a0000}-192.o(StubCode)
-    theImportedSymbol                        0x0000a6c4   Data           0  apparc{000a0000}-192.o(StubCode)
-    StubCode                                 0x0000a6c8   Section        8  apparc{000a0000}-194.o(StubCode)
-    theImportedSymbol                        0x0000a6cc   Data           0  apparc{000a0000}-194.o(StubCode)
-    StubCode                                 0x0000a6d0   Section        8  apparc{000a0000}-202.o(StubCode)
-    theImportedSymbol                        0x0000a6d4   Data           0  apparc{000a0000}-202.o(StubCode)
-    StubCode                                 0x0000a6d8   Section        8  apparc{000a0000}-222.o(StubCode)
-    theImportedSymbol                        0x0000a6dc   Data           0  apparc{000a0000}-222.o(StubCode)
-    StubCode                                 0x0000a6e0   Section        8  apparc{000a0000}-232.o(StubCode)
-    theImportedSymbol                        0x0000a6e4   Data           0  apparc{000a0000}-232.o(StubCode)
-    StubCode                                 0x0000a6e8   Section        8  apparc{000a0000}-253.o(StubCode)
-    theImportedSymbol                        0x0000a6ec   Data           0  apparc{000a0000}-253.o(StubCode)
-    StubCode                                 0x0000a6f0   Section        8  apparc{000a0000}-273.o(StubCode)
-    theImportedSymbol                        0x0000a6f4   Data           0  apparc{000a0000}-273.o(StubCode)
-    StubCode                                 0x0000a6f8   Section        8  apparc{000a0000}-274.o(StubCode)
-    theImportedSymbol                        0x0000a6fc   Data           0  apparc{000a0000}-274.o(StubCode)
-    StubCode                                 0x0000a700   Section        8  apparc{000a0000}-275.o(StubCode)
-    theImportedSymbol                        0x0000a704   Data           0  apparc{000a0000}-275.o(StubCode)
-    StubCode                                 0x0000a708   Section        8  apparc{000a0000}-279.o(StubCode)
-    theImportedSymbol                        0x0000a70c   Data           0  apparc{000a0000}-279.o(StubCode)
-    StubCode                                 0x0000a710   Section        8  apparc{000a0000}-280.o(StubCode)
-    theImportedSymbol                        0x0000a714   Data           0  apparc{000a0000}-280.o(StubCode)
-    StubCode                                 0x0000a718   Section        8  apparc{000a0000}-284.o(StubCode)
-    theImportedSymbol                        0x0000a71c   Data           0  apparc{000a0000}-284.o(StubCode)
-    StubCode                                 0x0000a720   Section        8  apparc{000a0000}-285.o(StubCode)
-    theImportedSymbol                        0x0000a724   Data           0  apparc{000a0000}-285.o(StubCode)
-    StubCode                                 0x0000a728   Section        8  apparc{000a0000}-286.o(StubCode)
-    theImportedSymbol                        0x0000a72c   Data           0  apparc{000a0000}-286.o(StubCode)
-    StubCode                                 0x0000a730   Section        8  apparc{000a0000}-287.o(StubCode)
-    theImportedSymbol                        0x0000a734   Data           0  apparc{000a0000}-287.o(StubCode)
-    StubCode                                 0x0000a738   Section        8  apparc{000a0000}-30.o(StubCode)
-    theImportedSymbol                        0x0000a73c   Data           0  apparc{000a0000}-30.o(StubCode)
-    StubCode                                 0x0000a740   Section        8  bafl{000a0000}-43.o(StubCode)
-    theImportedSymbol                        0x0000a744   Data           0  bafl{000a0000}-43.o(StubCode)
-    StubCode                                 0x0000a748   Section        8  bafl{000a0000}-98.o(StubCode)
-    theImportedSymbol                        0x0000a74c   Data           0  bafl{000a0000}-98.o(StubCode)
-    StubCode                                 0x0000a750   Section        8  cone{000a0000}-100.o(StubCode)
-    theImportedSymbol                        0x0000a754   Data           0  cone{000a0000}-100.o(StubCode)
-    StubCode                                 0x0000a758   Section        8  cone{000a0000}-101.o(StubCode)
-    theImportedSymbol                        0x0000a75c   Data           0  cone{000a0000}-101.o(StubCode)
-    StubCode                                 0x0000a760   Section        8  cone{000a0000}-11.o(StubCode)
-    theImportedSymbol                        0x0000a764   Data           0  cone{000a0000}-11.o(StubCode)
-    StubCode                                 0x0000a768   Section        8  cone{000a0000}-12.o(StubCode)
-    theImportedSymbol                        0x0000a76c   Data           0  cone{000a0000}-12.o(StubCode)
-    StubCode                                 0x0000a770   Section        8  cone{000a0000}-127.o(StubCode)
-    theImportedSymbol                        0x0000a774   Data           0  cone{000a0000}-127.o(StubCode)
-    StubCode                                 0x0000a778   Section        8  cone{000a0000}-128.o(StubCode)
-    theImportedSymbol                        0x0000a77c   Data           0  cone{000a0000}-128.o(StubCode)
-    StubCode                                 0x0000a780   Section        8  cone{000a0000}-13.o(StubCode)
-    theImportedSymbol                        0x0000a784   Data           0  cone{000a0000}-13.o(StubCode)
-    StubCode                                 0x0000a788   Section        8  cone{000a0000}-15.o(StubCode)
-    theImportedSymbol                        0x0000a78c   Data           0  cone{000a0000}-15.o(StubCode)
-    StubCode                                 0x0000a790   Section        8  cone{000a0000}-18.o(StubCode)
-    theImportedSymbol                        0x0000a794   Data           0  cone{000a0000}-18.o(StubCode)
-    StubCode                                 0x0000a798   Section        8  cone{000a0000}-182.o(StubCode)
-    theImportedSymbol                        0x0000a79c   Data           0  cone{000a0000}-182.o(StubCode)
-    StubCode                                 0x0000a7a0   Section        8  cone{000a0000}-19.o(StubCode)
-    theImportedSymbol                        0x0000a7a4   Data           0  cone{000a0000}-19.o(StubCode)
-    StubCode                                 0x0000a7a8   Section        8  cone{000a0000}-196.o(StubCode)
-    theImportedSymbol                        0x0000a7ac   Data           0  cone{000a0000}-196.o(StubCode)
-    StubCode                                 0x0000a7b0   Section        8  cone{000a0000}-197.o(StubCode)
-    theImportedSymbol                        0x0000a7b4   Data           0  cone{000a0000}-197.o(StubCode)
-    StubCode                                 0x0000a7b8   Section        8  cone{000a0000}-199.o(StubCode)
-    theImportedSymbol                        0x0000a7bc   Data           0  cone{000a0000}-199.o(StubCode)
-    StubCode                                 0x0000a7c0   Section        8  cone{000a0000}-203.o(StubCode)
-    theImportedSymbol                        0x0000a7c4   Data           0  cone{000a0000}-203.o(StubCode)
-    StubCode                                 0x0000a7c8   Section        8  cone{000a0000}-21.o(StubCode)
-    theImportedSymbol                        0x0000a7cc   Data           0  cone{000a0000}-21.o(StubCode)
-    StubCode                                 0x0000a7d0   Section        8  cone{000a0000}-210.o(StubCode)
-    theImportedSymbol                        0x0000a7d4   Data           0  cone{000a0000}-210.o(StubCode)
-    StubCode                                 0x0000a7d8   Section        8  cone{000a0000}-211.o(StubCode)
-    theImportedSymbol                        0x0000a7dc   Data           0  cone{000a0000}-211.o(StubCode)
-    StubCode                                 0x0000a7e0   Section        8  cone{000a0000}-212.o(StubCode)
-    theImportedSymbol                        0x0000a7e4   Data           0  cone{000a0000}-212.o(StubCode)
-    StubCode                                 0x0000a7e8   Section        8  cone{000a0000}-220.o(StubCode)
-    theImportedSymbol                        0x0000a7ec   Data           0  cone{000a0000}-220.o(StubCode)
-    StubCode                                 0x0000a7f0   Section        8  cone{000a0000}-25.o(StubCode)
-    theImportedSymbol                        0x0000a7f4   Data           0  cone{000a0000}-25.o(StubCode)
-    StubCode                                 0x0000a7f8   Section        8  cone{000a0000}-257.o(StubCode)
-    theImportedSymbol                        0x0000a7fc   Data           0  cone{000a0000}-257.o(StubCode)
-    StubCode                                 0x0000a800   Section        8  cone{000a0000}-26.o(StubCode)
-    theImportedSymbol                        0x0000a804   Data           0  cone{000a0000}-26.o(StubCode)
-    StubCode                                 0x0000a808   Section        8  cone{000a0000}-263.o(StubCode)
-    theImportedSymbol                        0x0000a80c   Data           0  cone{000a0000}-263.o(StubCode)
-    StubCode                                 0x0000a810   Section        8  cone{000a0000}-265.o(StubCode)
-    theImportedSymbol                        0x0000a814   Data           0  cone{000a0000}-265.o(StubCode)
-    StubCode                                 0x0000a818   Section        8  cone{000a0000}-266.o(StubCode)
-    theImportedSymbol                        0x0000a81c   Data           0  cone{000a0000}-266.o(StubCode)
-    StubCode                                 0x0000a820   Section        8  cone{000a0000}-270.o(StubCode)
-    theImportedSymbol                        0x0000a824   Data           0  cone{000a0000}-270.o(StubCode)
-    StubCode                                 0x0000a828   Section        8  cone{000a0000}-271.o(StubCode)
-    theImportedSymbol                        0x0000a82c   Data           0  cone{000a0000}-271.o(StubCode)
-    StubCode                                 0x0000a830   Section        8  cone{000a0000}-272.o(StubCode)
-    theImportedSymbol                        0x0000a834   Data           0  cone{000a0000}-272.o(StubCode)
-    StubCode                                 0x0000a838   Section        8  cone{000a0000}-275.o(StubCode)
-    theImportedSymbol                        0x0000a83c   Data           0  cone{000a0000}-275.o(StubCode)
-    StubCode                                 0x0000a840   Section        8  cone{000a0000}-276.o(StubCode)
-    theImportedSymbol                        0x0000a844   Data           0  cone{000a0000}-276.o(StubCode)
-    StubCode                                 0x0000a848   Section        8  cone{000a0000}-287.o(StubCode)
-    theImportedSymbol                        0x0000a84c   Data           0  cone{000a0000}-287.o(StubCode)
-    StubCode                                 0x0000a850   Section        8  cone{000a0000}-288.o(StubCode)
-    theImportedSymbol                        0x0000a854   Data           0  cone{000a0000}-288.o(StubCode)
-    StubCode                                 0x0000a858   Section        8  cone{000a0000}-29.o(StubCode)
-    theImportedSymbol                        0x0000a85c   Data           0  cone{000a0000}-29.o(StubCode)
-    StubCode                                 0x0000a860   Section        8  cone{000a0000}-30.o(StubCode)
-    theImportedSymbol                        0x0000a864   Data           0  cone{000a0000}-30.o(StubCode)
-    StubCode                                 0x0000a868   Section        8  cone{000a0000}-351.o(StubCode)
-    theImportedSymbol                        0x0000a86c   Data           0  cone{000a0000}-351.o(StubCode)
-    StubCode                                 0x0000a870   Section        8  cone{000a0000}-353.o(StubCode)
-    theImportedSymbol                        0x0000a874   Data           0  cone{000a0000}-353.o(StubCode)
-    StubCode                                 0x0000a878   Section        8  cone{000a0000}-355.o(StubCode)
-    theImportedSymbol                        0x0000a87c   Data           0  cone{000a0000}-355.o(StubCode)
-    StubCode                                 0x0000a880   Section        8  cone{000a0000}-36.o(StubCode)
-    theImportedSymbol                        0x0000a884   Data           0  cone{000a0000}-36.o(StubCode)
-    StubCode                                 0x0000a888   Section        8  cone{000a0000}-39.o(StubCode)
-    theImportedSymbol                        0x0000a88c   Data           0  cone{000a0000}-39.o(StubCode)
-    StubCode                                 0x0000a890   Section        8  cone{000a0000}-396.o(StubCode)
-    theImportedSymbol                        0x0000a894   Data           0  cone{000a0000}-396.o(StubCode)
-    StubCode                                 0x0000a898   Section        8  cone{000a0000}-397.o(StubCode)
-    theImportedSymbol                        0x0000a89c   Data           0  cone{000a0000}-397.o(StubCode)
-    StubCode                                 0x0000a8a0   Section        8  cone{000a0000}-40.o(StubCode)
-    theImportedSymbol                        0x0000a8a4   Data           0  cone{000a0000}-40.o(StubCode)
-    StubCode                                 0x0000a8a8   Section        8  cone{000a0000}-41.o(StubCode)
-    theImportedSymbol                        0x0000a8ac   Data           0  cone{000a0000}-41.o(StubCode)
-    StubCode                                 0x0000a8b0   Section        8  cone{000a0000}-42.o(StubCode)
-    theImportedSymbol                        0x0000a8b4   Data           0  cone{000a0000}-42.o(StubCode)
-    StubCode                                 0x0000a8b8   Section        8  cone{000a0000}-444.o(StubCode)
-    theImportedSymbol                        0x0000a8bc   Data           0  cone{000a0000}-444.o(StubCode)
-    StubCode                                 0x0000a8c0   Section        8  cone{000a0000}-474.o(StubCode)
-    theImportedSymbol                        0x0000a8c4   Data           0  cone{000a0000}-474.o(StubCode)
-    StubCode                                 0x0000a8c8   Section        8  cone{000a0000}-477.o(StubCode)
-    theImportedSymbol                        0x0000a8cc   Data           0  cone{000a0000}-477.o(StubCode)
-    StubCode                                 0x0000a8d0   Section        8  cone{000a0000}-478.o(StubCode)
-    theImportedSymbol                        0x0000a8d4   Data           0  cone{000a0000}-478.o(StubCode)
-    StubCode                                 0x0000a8d8   Section        8  cone{000a0000}-479.o(StubCode)
-    theImportedSymbol                        0x0000a8dc   Data           0  cone{000a0000}-479.o(StubCode)
-    StubCode                                 0x0000a8e0   Section        8  cone{000a0000}-48.o(StubCode)
-    theImportedSymbol                        0x0000a8e4   Data           0  cone{000a0000}-48.o(StubCode)
-    StubCode                                 0x0000a8e8   Section        8  cone{000a0000}-482.o(StubCode)
-    theImportedSymbol                        0x0000a8ec   Data           0  cone{000a0000}-482.o(StubCode)
-    StubCode                                 0x0000a8f0   Section        8  cone{000a0000}-50.o(StubCode)
-    theImportedSymbol                        0x0000a8f4   Data           0  cone{000a0000}-50.o(StubCode)
-    StubCode                                 0x0000a8f8   Section        8  cone{000a0000}-502.o(StubCode)
-    theImportedSymbol                        0x0000a8fc   Data           0  cone{000a0000}-502.o(StubCode)
-    StubCode                                 0x0000a900   Section        8  cone{000a0000}-51.o(StubCode)
-    theImportedSymbol                        0x0000a904   Data           0  cone{000a0000}-51.o(StubCode)
-    StubCode                                 0x0000a908   Section        8  cone{000a0000}-514.o(StubCode)
-    theImportedSymbol                        0x0000a90c   Data           0  cone{000a0000}-514.o(StubCode)
-    StubCode                                 0x0000a910   Section        8  cone{000a0000}-56.o(StubCode)
-    theImportedSymbol                        0x0000a914   Data           0  cone{000a0000}-56.o(StubCode)
-    StubCode                                 0x0000a918   Section        8  cone{000a0000}-57.o(StubCode)
-    theImportedSymbol                        0x0000a91c   Data           0  cone{000a0000}-57.o(StubCode)
-    StubCode                                 0x0000a920   Section        8  cone{000a0000}-580.o(StubCode)
-    theImportedSymbol                        0x0000a924   Data           0  cone{000a0000}-580.o(StubCode)
-    StubCode                                 0x0000a928   Section        8  cone{000a0000}-581.o(StubCode)
-    theImportedSymbol                        0x0000a92c   Data           0  cone{000a0000}-581.o(StubCode)
-    StubCode                                 0x0000a930   Section        8  cone{000a0000}-582.o(StubCode)
-    theImportedSymbol                        0x0000a934   Data           0  cone{000a0000}-582.o(StubCode)
-    StubCode                                 0x0000a938   Section        8  cone{000a0000}-583.o(StubCode)
-    theImportedSymbol                        0x0000a93c   Data           0  cone{000a0000}-583.o(StubCode)
-    StubCode                                 0x0000a940   Section        8  cone{000a0000}-584.o(StubCode)
-    theImportedSymbol                        0x0000a944   Data           0  cone{000a0000}-584.o(StubCode)
-    StubCode                                 0x0000a948   Section        8  cone{000a0000}-61.o(StubCode)
-    theImportedSymbol                        0x0000a94c   Data           0  cone{000a0000}-61.o(StubCode)
-    StubCode                                 0x0000a950   Section        8  cone{000a0000}-62.o(StubCode)
-    theImportedSymbol                        0x0000a954   Data           0  cone{000a0000}-62.o(StubCode)
-    StubCode                                 0x0000a958   Section        8  cone{000a0000}-638.o(StubCode)
-    theImportedSymbol                        0x0000a95c   Data           0  cone{000a0000}-638.o(StubCode)
-    StubCode                                 0x0000a960   Section        8  cone{000a0000}-639.o(StubCode)
-    theImportedSymbol                        0x0000a964   Data           0  cone{000a0000}-639.o(StubCode)
-    StubCode                                 0x0000a968   Section        8  cone{000a0000}-64.o(StubCode)
-    theImportedSymbol                        0x0000a96c   Data           0  cone{000a0000}-64.o(StubCode)
-    StubCode                                 0x0000a970   Section        8  cone{000a0000}-664.o(StubCode)
-    theImportedSymbol                        0x0000a974   Data           0  cone{000a0000}-664.o(StubCode)
-    StubCode                                 0x0000a978   Section        8  cone{000a0000}-67.o(StubCode)
-    theImportedSymbol                        0x0000a97c   Data           0  cone{000a0000}-67.o(StubCode)
-    StubCode                                 0x0000a980   Section        8  cone{000a0000}-670.o(StubCode)
-    theImportedSymbol                        0x0000a984   Data           0  cone{000a0000}-670.o(StubCode)
-    StubCode                                 0x0000a988   Section        8  cone{000a0000}-671.o(StubCode)
-    theImportedSymbol                        0x0000a98c   Data           0  cone{000a0000}-671.o(StubCode)
-    StubCode                                 0x0000a990   Section        8  cone{000a0000}-676.o(StubCode)
-    theImportedSymbol                        0x0000a994   Data           0  cone{000a0000}-676.o(StubCode)
-    StubCode                                 0x0000a998   Section        8  cone{000a0000}-677.o(StubCode)
-    theImportedSymbol                        0x0000a99c   Data           0  cone{000a0000}-677.o(StubCode)
-    StubCode                                 0x0000a9a0   Section        8  cone{000a0000}-9.o(StubCode)
-    theImportedSymbol                        0x0000a9a4   Data           0  cone{000a0000}-9.o(StubCode)
-    StubCode                                 0x0000a9a8   Section        8  eikcore{000a0000}-141.o(StubCode)
-    theImportedSymbol                        0x0000a9ac   Data           0  eikcore{000a0000}-141.o(StubCode)
-    StubCode                                 0x0000a9b0   Section        8  eikcore{000a0000}-142.o(StubCode)
-    theImportedSymbol                        0x0000a9b4   Data           0  eikcore{000a0000}-142.o(StubCode)
-    StubCode                                 0x0000a9b8   Section        8  eikcore{000a0000}-143.o(StubCode)
-    theImportedSymbol                        0x0000a9bc   Data           0  eikcore{000a0000}-143.o(StubCode)
-    StubCode                                 0x0000a9c0   Section        8  eikcore{000a0000}-144.o(StubCode)
-    theImportedSymbol                        0x0000a9c4   Data           0  eikcore{000a0000}-144.o(StubCode)
-    StubCode                                 0x0000a9c8   Section        8  eikcore{000a0000}-147.o(StubCode)
-    theImportedSymbol                        0x0000a9cc   Data           0  eikcore{000a0000}-147.o(StubCode)
-    StubCode                                 0x0000a9d0   Section        8  eikcore{000a0000}-152.o(StubCode)
-    theImportedSymbol                        0x0000a9d4   Data           0  eikcore{000a0000}-152.o(StubCode)
-    StubCode                                 0x0000a9d8   Section        8  eikcore{000a0000}-155.o(StubCode)
-    theImportedSymbol                        0x0000a9dc   Data           0  eikcore{000a0000}-155.o(StubCode)
-    StubCode                                 0x0000a9e0   Section        8  eikcore{000a0000}-158.o(StubCode)
-    theImportedSymbol                        0x0000a9e4   Data           0  eikcore{000a0000}-158.o(StubCode)
-    StubCode                                 0x0000a9e8   Section        8  eikcore{000a0000}-159.o(StubCode)
-    theImportedSymbol                        0x0000a9ec   Data           0  eikcore{000a0000}-159.o(StubCode)
-    StubCode                                 0x0000a9f0   Section        8  eikcore{000a0000}-169.o(StubCode)
-    theImportedSymbol                        0x0000a9f4   Data           0  eikcore{000a0000}-169.o(StubCode)
-    StubCode                                 0x0000a9f8   Section        8  eikcore{000a0000}-171.o(StubCode)
-    theImportedSymbol                        0x0000a9fc   Data           0  eikcore{000a0000}-171.o(StubCode)
-    StubCode                                 0x0000aa00   Section        8  eikcore{000a0000}-175.o(StubCode)
-    theImportedSymbol                        0x0000aa04   Data           0  eikcore{000a0000}-175.o(StubCode)
-    StubCode                                 0x0000aa08   Section        8  eikcore{000a0000}-18.o(StubCode)
-    theImportedSymbol                        0x0000aa0c   Data           0  eikcore{000a0000}-18.o(StubCode)
-    StubCode                                 0x0000aa10   Section        8  eikcore{000a0000}-20.o(StubCode)
-    theImportedSymbol                        0x0000aa14   Data           0  eikcore{000a0000}-20.o(StubCode)
-    StubCode                                 0x0000aa18   Section        8  eikcore{000a0000}-25.o(StubCode)
-    theImportedSymbol                        0x0000aa1c   Data           0  eikcore{000a0000}-25.o(StubCode)
-    StubCode                                 0x0000aa20   Section        8  eikcore{000a0000}-26.o(StubCode)
-    theImportedSymbol                        0x0000aa24   Data           0  eikcore{000a0000}-26.o(StubCode)
-    StubCode                                 0x0000aa28   Section        8  eikcore{000a0000}-27.o(StubCode)
-    theImportedSymbol                        0x0000aa2c   Data           0  eikcore{000a0000}-27.o(StubCode)
-    StubCode                                 0x0000aa30   Section        8  eikcore{000a0000}-28.o(StubCode)
-    theImportedSymbol                        0x0000aa34   Data           0  eikcore{000a0000}-28.o(StubCode)
-    StubCode                                 0x0000aa38   Section        8  eikcore{000a0000}-29.o(StubCode)
-    theImportedSymbol                        0x0000aa3c   Data           0  eikcore{000a0000}-29.o(StubCode)
-    StubCode                                 0x0000aa40   Section        8  eikcore{000a0000}-291.o(StubCode)
-    theImportedSymbol                        0x0000aa44   Data           0  eikcore{000a0000}-291.o(StubCode)
-    StubCode                                 0x0000aa48   Section        8  eikcore{000a0000}-293.o(StubCode)
-    theImportedSymbol                        0x0000aa4c   Data           0  eikcore{000a0000}-293.o(StubCode)
-    StubCode                                 0x0000aa50   Section        8  eikcore{000a0000}-294.o(StubCode)
-    theImportedSymbol                        0x0000aa54   Data           0  eikcore{000a0000}-294.o(StubCode)
-    StubCode                                 0x0000aa58   Section        8  eikcore{000a0000}-295.o(StubCode)
-    theImportedSymbol                        0x0000aa5c   Data           0  eikcore{000a0000}-295.o(StubCode)
-    StubCode                                 0x0000aa60   Section        8  eikcore{000a0000}-296.o(StubCode)
-    theImportedSymbol                        0x0000aa64   Data           0  eikcore{000a0000}-296.o(StubCode)
-    StubCode                                 0x0000aa68   Section        8  eikcore{000a0000}-297.o(StubCode)
-    theImportedSymbol                        0x0000aa6c   Data           0  eikcore{000a0000}-297.o(StubCode)
-    StubCode                                 0x0000aa70   Section        8  eikcore{000a0000}-298.o(StubCode)
-    theImportedSymbol                        0x0000aa74   Data           0  eikcore{000a0000}-298.o(StubCode)
-    StubCode                                 0x0000aa78   Section        8  eikcore{000a0000}-299.o(StubCode)
-    theImportedSymbol                        0x0000aa7c   Data           0  eikcore{000a0000}-299.o(StubCode)
-    StubCode                                 0x0000aa80   Section        8  eikcore{000a0000}-30.o(StubCode)
-    theImportedSymbol                        0x0000aa84   Data           0  eikcore{000a0000}-30.o(StubCode)
-    StubCode                                 0x0000aa88   Section        8  eikcore{000a0000}-302.o(StubCode)
-    theImportedSymbol                        0x0000aa8c   Data           0  eikcore{000a0000}-302.o(StubCode)
-    StubCode                                 0x0000aa90   Section        8  eikcore{000a0000}-31.o(StubCode)
-    theImportedSymbol                        0x0000aa94   Data           0  eikcore{000a0000}-31.o(StubCode)
-    StubCode                                 0x0000aa98   Section        8  eikcore{000a0000}-315.o(StubCode)
-    theImportedSymbol                        0x0000aa9c   Data           0  eikcore{000a0000}-315.o(StubCode)
-    StubCode                                 0x0000aaa0   Section        8  eikcore{000a0000}-317.o(StubCode)
-    theImportedSymbol                        0x0000aaa4   Data           0  eikcore{000a0000}-317.o(StubCode)
-    StubCode                                 0x0000aaa8   Section        8  eikcore{000a0000}-319.o(StubCode)
-    theImportedSymbol                        0x0000aaac   Data           0  eikcore{000a0000}-319.o(StubCode)
-    StubCode                                 0x0000aab0   Section        8  eikcore{000a0000}-352.o(StubCode)
-    theImportedSymbol                        0x0000aab4   Data           0  eikcore{000a0000}-352.o(StubCode)
-    StubCode                                 0x0000aab8   Section        8  eikcore{000a0000}-37.o(StubCode)
-    theImportedSymbol                        0x0000aabc   Data           0  eikcore{000a0000}-37.o(StubCode)
-    StubCode                                 0x0000aac0   Section        8  eikcore{000a0000}-390.o(StubCode)
-    theImportedSymbol                        0x0000aac4   Data           0  eikcore{000a0000}-390.o(StubCode)
-    StubCode                                 0x0000aac8   Section        8  eikcore{000a0000}-392.o(StubCode)
-    theImportedSymbol                        0x0000aacc   Data           0  eikcore{000a0000}-392.o(StubCode)
-    StubCode                                 0x0000aad0   Section        8  eikcore{000a0000}-394.o(StubCode)
-    theImportedSymbol                        0x0000aad4   Data           0  eikcore{000a0000}-394.o(StubCode)
-    StubCode                                 0x0000aad8   Section        8  eikcore{000a0000}-467.o(StubCode)
-    theImportedSymbol                        0x0000aadc   Data           0  eikcore{000a0000}-467.o(StubCode)
-    StubCode                                 0x0000aae0   Section        8  eikcore{000a0000}-472.o(StubCode)
-    theImportedSymbol                        0x0000aae4   Data           0  eikcore{000a0000}-472.o(StubCode)
-    StubCode                                 0x0000aae8   Section        8  eikcore{000a0000}-473.o(StubCode)
-    theImportedSymbol                        0x0000aaec   Data           0  eikcore{000a0000}-473.o(StubCode)
-    StubCode                                 0x0000aaf0   Section        8  eikcore{000a0000}-479.o(StubCode)
-    theImportedSymbol                        0x0000aaf4   Data           0  eikcore{000a0000}-479.o(StubCode)
-    StubCode                                 0x0000aaf8   Section        8  eikcore{000a0000}-490.o(StubCode)
-    theImportedSymbol                        0x0000aafc   Data           0  eikcore{000a0000}-490.o(StubCode)
-    StubCode                                 0x0000ab00   Section        8  eikcore{000a0000}-506.o(StubCode)
-    theImportedSymbol                        0x0000ab04   Data           0  eikcore{000a0000}-506.o(StubCode)
-    StubCode                                 0x0000ab08   Section        8  eikcore{000a0000}-523.o(StubCode)
-    theImportedSymbol                        0x0000ab0c   Data           0  eikcore{000a0000}-523.o(StubCode)
-    StubCode                                 0x0000ab10   Section        8  eikcore{000a0000}-532.o(StubCode)
-    theImportedSymbol                        0x0000ab14   Data           0  eikcore{000a0000}-532.o(StubCode)
-    StubCode                                 0x0000ab18   Section        8  eikcore{000a0000}-533.o(StubCode)
-    theImportedSymbol                        0x0000ab1c   Data           0  eikcore{000a0000}-533.o(StubCode)
-    StubCode                                 0x0000ab20   Section        8  eikcore{000a0000}-534.o(StubCode)
-    theImportedSymbol                        0x0000ab24   Data           0  eikcore{000a0000}-534.o(StubCode)
-    StubCode                                 0x0000ab28   Section        8  eikcore{000a0000}-535.o(StubCode)
-    theImportedSymbol                        0x0000ab2c   Data           0  eikcore{000a0000}-535.o(StubCode)
-    StubCode                                 0x0000ab30   Section        8  eikcore{000a0000}-536.o(StubCode)
-    theImportedSymbol                        0x0000ab34   Data           0  eikcore{000a0000}-536.o(StubCode)
-    StubCode                                 0x0000ab38   Section        8  eikcore{000a0000}-537.o(StubCode)
-    theImportedSymbol                        0x0000ab3c   Data           0  eikcore{000a0000}-537.o(StubCode)
-    StubCode                                 0x0000ab40   Section        8  eikcore{000a0000}-565.o(StubCode)
-    theImportedSymbol                        0x0000ab44   Data           0  eikcore{000a0000}-565.o(StubCode)
-    StubCode                                 0x0000ab48   Section        8  eikcore{000a0000}-61.o(StubCode)
-    theImportedSymbol                        0x0000ab4c   Data           0  eikcore{000a0000}-61.o(StubCode)
-    StubCode                                 0x0000ab50   Section        8  eikcore{000a0000}-62.o(StubCode)
-    theImportedSymbol                        0x0000ab54   Data           0  eikcore{000a0000}-62.o(StubCode)
-    StubCode                                 0x0000ab58   Section        8  eikcore{000a0000}-63.o(StubCode)
-    theImportedSymbol                        0x0000ab5c   Data           0  eikcore{000a0000}-63.o(StubCode)
-    StubCode                                 0x0000ab60   Section        8  eikcore{000a0000}-64.o(StubCode)
-    theImportedSymbol                        0x0000ab64   Data           0  eikcore{000a0000}-64.o(StubCode)
-    StubCode                                 0x0000ab68   Section        8  eikcore{000a0000}-67.o(StubCode)
-    theImportedSymbol                        0x0000ab6c   Data           0  eikcore{000a0000}-67.o(StubCode)
-    StubCode                                 0x0000ab70   Section        8  eikcore{000a0000}-72.o(StubCode)
-    theImportedSymbol                        0x0000ab74   Data           0  eikcore{000a0000}-72.o(StubCode)
-    StubCode                                 0x0000ab78   Section        8  eikcore{000a0000}-73.o(StubCode)
-    theImportedSymbol                        0x0000ab7c   Data           0  eikcore{000a0000}-73.o(StubCode)
-    StubCode                                 0x0000ab80   Section        8  eikcore{000a0000}-74.o(StubCode)
-    theImportedSymbol                        0x0000ab84   Data           0  eikcore{000a0000}-74.o(StubCode)
-    StubCode                                 0x0000ab88   Section        8  eikcore{000a0000}-75.o(StubCode)
-    theImportedSymbol                        0x0000ab8c   Data           0  eikcore{000a0000}-75.o(StubCode)
-    StubCode                                 0x0000ab90   Section        8  eikcore{000a0000}-76.o(StubCode)
-    theImportedSymbol                        0x0000ab94   Data           0  eikcore{000a0000}-76.o(StubCode)
-    StubCode                                 0x0000ab98   Section        8  eikcore{000a0000}-77.o(StubCode)
-    theImportedSymbol                        0x0000ab9c   Data           0  eikcore{000a0000}-77.o(StubCode)
-    StubCode                                 0x0000aba0   Section        8  eikcore{000a0000}-78.o(StubCode)
-    theImportedSymbol                        0x0000aba4   Data           0  eikcore{000a0000}-78.o(StubCode)
-    StubCode                                 0x0000aba8   Section        8  eikcore{000a0000}-79.o(StubCode)
-    theImportedSymbol                        0x0000abac   Data           0  eikcore{000a0000}-79.o(StubCode)
-    StubCode                                 0x0000abb0   Section        8  eikcoctl{000a0000}-1376.o(StubCode)
-    theImportedSymbol                        0x0000abb4   Data           0  eikcoctl{000a0000}-1376.o(StubCode)
-    StubCode                                 0x0000abb8   Section        8  eikcoctl{000a0000}-140.o(StubCode)
-    theImportedSymbol                        0x0000abbc   Data           0  eikcoctl{000a0000}-140.o(StubCode)
-    StubCode                                 0x0000abc0   Section        8  eikcoctl{000a0000}-1430.o(StubCode)
-    theImportedSymbol                        0x0000abc4   Data           0  eikcoctl{000a0000}-1430.o(StubCode)
-    StubCode                                 0x0000abc8   Section        8  eikcoctl{000a0000}-35.o(StubCode)
-    theImportedSymbol                        0x0000abcc   Data           0  eikcoctl{000a0000}-35.o(StubCode)
-    StubCode                                 0x0000abd0   Section        8  eikcoctl{000a0000}-46.o(StubCode)
-    theImportedSymbol                        0x0000abd4   Data           0  eikcoctl{000a0000}-46.o(StubCode)
-    StubCode                                 0x0000abd8   Section        8  eikcoctl{000a0000}-605.o(StubCode)
-    theImportedSymbol                        0x0000abdc   Data           0  eikcoctl{000a0000}-605.o(StubCode)
-    StubCode                                 0x0000abe0   Section        8  eikcoctl{000a0000}-606.o(StubCode)
-    theImportedSymbol                        0x0000abe4   Data           0  eikcoctl{000a0000}-606.o(StubCode)
-    StubCode                                 0x0000abe8   Section        8  eikcoctl{000a0000}-660.o(StubCode)
-    theImportedSymbol                        0x0000abec   Data           0  eikcoctl{000a0000}-660.o(StubCode)
-    StubCode                                 0x0000abf0   Section        8  eikcoctl{000a0000}-875.o(StubCode)
-    theImportedSymbol                        0x0000abf4   Data           0  eikcoctl{000a0000}-875.o(StubCode)
-    StubCode                                 0x0000abf8   Section        8  eikcoctl{000a0000}-880.o(StubCode)
-    theImportedSymbol                        0x0000abfc   Data           0  eikcoctl{000a0000}-880.o(StubCode)
-    StubCode                                 0x0000ac00   Section        8  eikcoctl{000a0000}-881.o(StubCode)
-    theImportedSymbol                        0x0000ac04   Data           0  eikcoctl{000a0000}-881.o(StubCode)
-    StubCode                                 0x0000ac08   Section        8  eikctl{000a0000}-455.o(StubCode)
-    theImportedSymbol                        0x0000ac0c   Data           0  eikctl{000a0000}-455.o(StubCode)
-    StubCode                                 0x0000ac10   Section        8  avkon{000a0000}-1132.o(StubCode)
-    theImportedSymbol                        0x0000ac14   Data           0  avkon{000a0000}-1132.o(StubCode)
-    StubCode                                 0x0000ac18   Section        8  avkon{000a0000}-129.o(StubCode)
-    theImportedSymbol                        0x0000ac1c   Data           0  avkon{000a0000}-129.o(StubCode)
-    StubCode                                 0x0000ac20   Section        8  avkon{000a0000}-130.o(StubCode)
-    theImportedSymbol                        0x0000ac24   Data           0  avkon{000a0000}-130.o(StubCode)
-    StubCode                                 0x0000ac28   Section        8  avkon{000a0000}-131.o(StubCode)
-    theImportedSymbol                        0x0000ac2c   Data           0  avkon{000a0000}-131.o(StubCode)
-    StubCode                                 0x0000ac30   Section        8  avkon{000a0000}-1341.o(StubCode)
-    theImportedSymbol                        0x0000ac34   Data           0  avkon{000a0000}-1341.o(StubCode)
-    StubCode                                 0x0000ac38   Section        8  avkon{000a0000}-198.o(StubCode)
-    theImportedSymbol                        0x0000ac3c   Data           0  avkon{000a0000}-198.o(StubCode)
-    StubCode                                 0x0000ac40   Section        8  avkon{000a0000}-199.o(StubCode)
-    theImportedSymbol                        0x0000ac44   Data           0  avkon{000a0000}-199.o(StubCode)
-    StubCode                                 0x0000ac48   Section        8  avkon{000a0000}-1996.o(StubCode)
-    theImportedSymbol                        0x0000ac4c   Data           0  avkon{000a0000}-1996.o(StubCode)
-    StubCode                                 0x0000ac50   Section        8  avkon{000a0000}-201.o(StubCode)
-    theImportedSymbol                        0x0000ac54   Data           0  avkon{000a0000}-201.o(StubCode)
-    StubCode                                 0x0000ac58   Section        8  avkon{000a0000}-206.o(StubCode)
-    theImportedSymbol                        0x0000ac5c   Data           0  avkon{000a0000}-206.o(StubCode)
-    StubCode                                 0x0000ac60   Section        8  avkon{000a0000}-211.o(StubCode)
-    theImportedSymbol                        0x0000ac64   Data           0  avkon{000a0000}-211.o(StubCode)
-    StubCode                                 0x0000ac68   Section        8  avkon{000a0000}-213.o(StubCode)
-    theImportedSymbol                        0x0000ac6c   Data           0  avkon{000a0000}-213.o(StubCode)
-    StubCode                                 0x0000ac70   Section        8  avkon{000a0000}-214.o(StubCode)
-    theImportedSymbol                        0x0000ac74   Data           0  avkon{000a0000}-214.o(StubCode)
-    StubCode                                 0x0000ac78   Section        8  avkon{000a0000}-215.o(StubCode)
-    theImportedSymbol                        0x0000ac7c   Data           0  avkon{000a0000}-215.o(StubCode)
-    StubCode                                 0x0000ac80   Section        8  avkon{000a0000}-216.o(StubCode)
-    theImportedSymbol                        0x0000ac84   Data           0  avkon{000a0000}-216.o(StubCode)
-    StubCode                                 0x0000ac88   Section        8  avkon{000a0000}-2163.o(StubCode)
-    theImportedSymbol                        0x0000ac8c   Data           0  avkon{000a0000}-2163.o(StubCode)
-    StubCode                                 0x0000ac90   Section        8  avkon{000a0000}-217.o(StubCode)
-    theImportedSymbol                        0x0000ac94   Data           0  avkon{000a0000}-217.o(StubCode)
-    StubCode                                 0x0000ac98   Section        8  avkon{000a0000}-2178.o(StubCode)
-    theImportedSymbol                        0x0000ac9c   Data           0  avkon{000a0000}-2178.o(StubCode)
-    StubCode                                 0x0000aca0   Section        8  avkon{000a0000}-220.o(StubCode)
-    theImportedSymbol                        0x0000aca4   Data           0  avkon{000a0000}-220.o(StubCode)
-    StubCode                                 0x0000aca8   Section        8  avkon{000a0000}-2591.o(StubCode)
-    theImportedSymbol                        0x0000acac   Data           0  avkon{000a0000}-2591.o(StubCode)
-    StubCode                                 0x0000acb0   Section        8  avkon{000a0000}-2624.o(StubCode)
-    theImportedSymbol                        0x0000acb4   Data           0  avkon{000a0000}-2624.o(StubCode)
-    StubCode                                 0x0000acb8   Section        8  avkon{000a0000}-2632.o(StubCode)
-    theImportedSymbol                        0x0000acbc   Data           0  avkon{000a0000}-2632.o(StubCode)
-    StubCode                                 0x0000acc0   Section        8  avkon{000a0000}-2895.o(StubCode)
-    theImportedSymbol                        0x0000acc4   Data           0  avkon{000a0000}-2895.o(StubCode)
-    StubCode                                 0x0000acc8   Section        8  avkon{000a0000}-2898.o(StubCode)
-    theImportedSymbol                        0x0000accc   Data           0  avkon{000a0000}-2898.o(StubCode)
-    StubCode                                 0x0000acd0   Section        8  avkon{000a0000}-2899.o(StubCode)
-    theImportedSymbol                        0x0000acd4   Data           0  avkon{000a0000}-2899.o(StubCode)
-    StubCode                                 0x0000acd8   Section        8  avkon{000a0000}-2900.o(StubCode)
-    theImportedSymbol                        0x0000acdc   Data           0  avkon{000a0000}-2900.o(StubCode)
-    StubCode                                 0x0000ace0   Section        8  avkon{000a0000}-2901.o(StubCode)
-    theImportedSymbol                        0x0000ace4   Data           0  avkon{000a0000}-2901.o(StubCode)
-    StubCode                                 0x0000ace8   Section        8  avkon{000a0000}-2902.o(StubCode)
-    theImportedSymbol                        0x0000acec   Data           0  avkon{000a0000}-2902.o(StubCode)
-    StubCode                                 0x0000acf0   Section        8  avkon{000a0000}-2903.o(StubCode)
-    theImportedSymbol                        0x0000acf4   Data           0  avkon{000a0000}-2903.o(StubCode)
-    StubCode                                 0x0000acf8   Section        8  avkon{000a0000}-2904.o(StubCode)
-    theImportedSymbol                        0x0000acfc   Data           0  avkon{000a0000}-2904.o(StubCode)
-    StubCode                                 0x0000ad00   Section        8  avkon{000a0000}-2905.o(StubCode)
-    theImportedSymbol                        0x0000ad04   Data           0  avkon{000a0000}-2905.o(StubCode)
-    StubCode                                 0x0000ad08   Section        8  avkon{000a0000}-2906.o(StubCode)
-    theImportedSymbol                        0x0000ad0c   Data           0  avkon{000a0000}-2906.o(StubCode)
-    StubCode                                 0x0000ad10   Section        8  avkon{000a0000}-2907.o(StubCode)
-    theImportedSymbol                        0x0000ad14   Data           0  avkon{000a0000}-2907.o(StubCode)
-    StubCode                                 0x0000ad18   Section        8  avkon{000a0000}-2909.o(StubCode)
-    theImportedSymbol                        0x0000ad1c   Data           0  avkon{000a0000}-2909.o(StubCode)
-    StubCode                                 0x0000ad20   Section        8  avkon{000a0000}-2910.o(StubCode)
-    theImportedSymbol                        0x0000ad24   Data           0  avkon{000a0000}-2910.o(StubCode)
-    StubCode                                 0x0000ad28   Section        8  avkon{000a0000}-2912.o(StubCode)
-    theImportedSymbol                        0x0000ad2c   Data           0  avkon{000a0000}-2912.o(StubCode)
-    StubCode                                 0x0000ad30   Section        8  avkon{000a0000}-2913.o(StubCode)
-    theImportedSymbol                        0x0000ad34   Data           0  avkon{000a0000}-2913.o(StubCode)
-    StubCode                                 0x0000ad38   Section        8  avkon{000a0000}-2914.o(StubCode)
-    theImportedSymbol                        0x0000ad3c   Data           0  avkon{000a0000}-2914.o(StubCode)
-    StubCode                                 0x0000ad40   Section        8  avkon{000a0000}-2917.o(StubCode)
-    theImportedSymbol                        0x0000ad44   Data           0  avkon{000a0000}-2917.o(StubCode)
-    StubCode                                 0x0000ad48   Section        8  avkon{000a0000}-2919.o(StubCode)
-    theImportedSymbol                        0x0000ad4c   Data           0  avkon{000a0000}-2919.o(StubCode)
-    StubCode                                 0x0000ad50   Section        8  avkon{000a0000}-2920.o(StubCode)
-    theImportedSymbol                        0x0000ad54   Data           0  avkon{000a0000}-2920.o(StubCode)
-    StubCode                                 0x0000ad58   Section        8  avkon{000a0000}-2922.o(StubCode)
-    theImportedSymbol                        0x0000ad5c   Data           0  avkon{000a0000}-2922.o(StubCode)
-    StubCode                                 0x0000ad60   Section        8  avkon{000a0000}-2928.o(StubCode)
-    theImportedSymbol                        0x0000ad64   Data           0  avkon{000a0000}-2928.o(StubCode)
-    StubCode                                 0x0000ad68   Section        8  avkon{000a0000}-2929.o(StubCode)
-    theImportedSymbol                        0x0000ad6c   Data           0  avkon{000a0000}-2929.o(StubCode)
-    StubCode                                 0x0000ad70   Section        8  avkon{000a0000}-2930.o(StubCode)
-    theImportedSymbol                        0x0000ad74   Data           0  avkon{000a0000}-2930.o(StubCode)
-    StubCode                                 0x0000ad78   Section        8  avkon{000a0000}-2932.o(StubCode)
-    theImportedSymbol                        0x0000ad7c   Data           0  avkon{000a0000}-2932.o(StubCode)
-    StubCode                                 0x0000ad80   Section        8  avkon{000a0000}-2934.o(StubCode)
-    theImportedSymbol                        0x0000ad84   Data           0  avkon{000a0000}-2934.o(StubCode)
-    StubCode                                 0x0000ad88   Section        8  avkon{000a0000}-2936.o(StubCode)
-    theImportedSymbol                        0x0000ad8c   Data           0  avkon{000a0000}-2936.o(StubCode)
-    StubCode                                 0x0000ad90   Section        8  avkon{000a0000}-2993.o(StubCode)
-    theImportedSymbol                        0x0000ad94   Data           0  avkon{000a0000}-2993.o(StubCode)
-    StubCode                                 0x0000ad98   Section        8  avkon{000a0000}-2997.o(StubCode)
-    theImportedSymbol                        0x0000ad9c   Data           0  avkon{000a0000}-2997.o(StubCode)
-    StubCode                                 0x0000ada0   Section        8  avkon{000a0000}-3417.o(StubCode)
-    theImportedSymbol                        0x0000ada4   Data           0  avkon{000a0000}-3417.o(StubCode)
-    StubCode                                 0x0000ada8   Section        8  avkon{000a0000}-3420.o(StubCode)
-    theImportedSymbol                        0x0000adac   Data           0  avkon{000a0000}-3420.o(StubCode)
-    StubCode                                 0x0000adb0   Section        8  avkon{000a0000}-3421.o(StubCode)
-    theImportedSymbol                        0x0000adb4   Data           0  avkon{000a0000}-3421.o(StubCode)
-    StubCode                                 0x0000adb8   Section        8  avkon{000a0000}-3422.o(StubCode)
-    theImportedSymbol                        0x0000adbc   Data           0  avkon{000a0000}-3422.o(StubCode)
-    StubCode                                 0x0000adc0   Section        8  avkon{000a0000}-3423.o(StubCode)
-    theImportedSymbol                        0x0000adc4   Data           0  avkon{000a0000}-3423.o(StubCode)
-    StubCode                                 0x0000adc8   Section        8  avkon{000a0000}-3424.o(StubCode)
-    theImportedSymbol                        0x0000adcc   Data           0  avkon{000a0000}-3424.o(StubCode)
-    StubCode                                 0x0000add0   Section        8  avkon{000a0000}-367.o(StubCode)
-    theImportedSymbol                        0x0000add4   Data           0  avkon{000a0000}-367.o(StubCode)
-    StubCode                                 0x0000add8   Section        8  avkon{000a0000}-368.o(StubCode)
-    theImportedSymbol                        0x0000addc   Data           0  avkon{000a0000}-368.o(StubCode)
-    StubCode                                 0x0000ade0   Section        8  avkon{000a0000}-369.o(StubCode)
-    theImportedSymbol                        0x0000ade4   Data           0  avkon{000a0000}-369.o(StubCode)
-    StubCode                                 0x0000ade8   Section        8  avkon{000a0000}-370.o(StubCode)
-    theImportedSymbol                        0x0000adec   Data           0  avkon{000a0000}-370.o(StubCode)
-    StubCode                                 0x0000adf0   Section        8  avkon{000a0000}-372.o(StubCode)
-    theImportedSymbol                        0x0000adf4   Data           0  avkon{000a0000}-372.o(StubCode)
-    StubCode                                 0x0000adf8   Section        8  avkon{000a0000}-373.o(StubCode)
-    theImportedSymbol                        0x0000adfc   Data           0  avkon{000a0000}-373.o(StubCode)
-    StubCode                                 0x0000ae00   Section        8  avkon{000a0000}-374.o(StubCode)
-    theImportedSymbol                        0x0000ae04   Data           0  avkon{000a0000}-374.o(StubCode)
-    StubCode                                 0x0000ae08   Section        8  avkon{000a0000}-375.o(StubCode)
-    theImportedSymbol                        0x0000ae0c   Data           0  avkon{000a0000}-375.o(StubCode)
-    StubCode                                 0x0000ae10   Section        8  avkon{000a0000}-377.o(StubCode)
-    theImportedSymbol                        0x0000ae14   Data           0  avkon{000a0000}-377.o(StubCode)
-    StubCode                                 0x0000ae18   Section        8  avkon{000a0000}-3826.o(StubCode)
-    theImportedSymbol                        0x0000ae1c   Data           0  avkon{000a0000}-3826.o(StubCode)
-    StubCode                                 0x0000ae20   Section        8  avkon{000a0000}-3831.o(StubCode)
-    theImportedSymbol                        0x0000ae24   Data           0  avkon{000a0000}-3831.o(StubCode)
-    StubCode                                 0x0000ae28   Section        8  avkon{000a0000}-3832.o(StubCode)
-    theImportedSymbol                        0x0000ae2c   Data           0  avkon{000a0000}-3832.o(StubCode)
-    StubCode                                 0x0000ae30   Section        8  avkon{000a0000}-3857.o(StubCode)
-    theImportedSymbol                        0x0000ae34   Data           0  avkon{000a0000}-3857.o(StubCode)
-    StubCode                                 0x0000ae38   Section        8  avkon{000a0000}-3860.o(StubCode)
-    theImportedSymbol                        0x0000ae3c   Data           0  avkon{000a0000}-3860.o(StubCode)
-    StubCode                                 0x0000ae40   Section        8  avkon{000a0000}-3861.o(StubCode)
-    theImportedSymbol                        0x0000ae44   Data           0  avkon{000a0000}-3861.o(StubCode)
-    StubCode                                 0x0000ae48   Section        8  avkon{000a0000}-3868.o(StubCode)
-    theImportedSymbol                        0x0000ae4c   Data           0  avkon{000a0000}-3868.o(StubCode)
-    StubCode                                 0x0000ae50   Section        8  avkon{000a0000}-3947.o(StubCode)
-    theImportedSymbol                        0x0000ae54   Data           0  avkon{000a0000}-3947.o(StubCode)
-    StubCode                                 0x0000ae58   Section        8  avkon{000a0000}-3948.o(StubCode)
-    theImportedSymbol                        0x0000ae5c   Data           0  avkon{000a0000}-3948.o(StubCode)
-    StubCode                                 0x0000ae60   Section        8  avkon{000a0000}-3949.o(StubCode)
-    theImportedSymbol                        0x0000ae64   Data           0  avkon{000a0000}-3949.o(StubCode)
-    StubCode                                 0x0000ae68   Section        8  avkon{000a0000}-3983.o(StubCode)
-    theImportedSymbol                        0x0000ae6c   Data           0  avkon{000a0000}-3983.o(StubCode)
-    StubCode                                 0x0000ae70   Section        8  avkon{000a0000}-4014.o(StubCode)
-    theImportedSymbol                        0x0000ae74   Data           0  avkon{000a0000}-4014.o(StubCode)
-    StubCode                                 0x0000ae78   Section        8  avkon{000a0000}-4030.o(StubCode)
-    theImportedSymbol                        0x0000ae7c   Data           0  avkon{000a0000}-4030.o(StubCode)
-    StubCode                                 0x0000ae80   Section        8  AknIcon{000a0000}-13.o(StubCode)
-    theImportedSymbol                        0x0000ae84   Data           0  AknIcon{000a0000}-13.o(StubCode)
-    StubCode                                 0x0000ae88   Section        8  egul{000a0000}-94.o(StubCode)
-    theImportedSymbol                        0x0000ae8c   Data           0  egul{000a0000}-94.o(StubCode)
-    StubCode                                 0x0000ae90   Section        8  egul{000a0000}-95.o(StubCode)
-    theImportedSymbol                        0x0000ae94   Data           0  egul{000a0000}-95.o(StubCode)
-    StubCode                                 0x0000ae98   Section        8  gdi{000a0000}-310.o(StubCode)
-    theImportedSymbol                        0x0000ae9c   Data           0  gdi{000a0000}-310.o(StubCode)
-    StubCode                                 0x0000aea0   Section        8  gdi{000a0000}-311.o(StubCode)
-    theImportedSymbol                        0x0000aea4   Data           0  gdi{000a0000}-311.o(StubCode)
-    StubCode                                 0x0000aea8   Section        8  gdi{000a0000}-312.o(StubCode)
-    theImportedSymbol                        0x0000aeac   Data           0  gdi{000a0000}-312.o(StubCode)
-    StubCode                                 0x0000aeb0   Section        8  fbscli{000a0000}-26.o(StubCode)
-    theImportedSymbol                        0x0000aeb4   Data           0  fbscli{000a0000}-26.o(StubCode)
-    StubCode                                 0x0000aeb8   Section        8  fbscli{000a0000}-31.o(StubCode)
-    theImportedSymbol                        0x0000aebc   Data           0  fbscli{000a0000}-31.o(StubCode)
-    StubCode                                 0x0000aec0   Section        8  eposlandmarks{000a0000}-12.o(StubCode)
-    theImportedSymbol                        0x0000aec4   Data           0  eposlandmarks{000a0000}-12.o(StubCode)
-    StubCode                                 0x0000aec8   Section        8  eposlandmarks{000a0000}-15.o(StubCode)
-    theImportedSymbol                        0x0000aecc   Data           0  eposlandmarks{000a0000}-15.o(StubCode)
-    StubCode                                 0x0000aed0   Section        8  eposlandmarks{000a0000}-4.o(StubCode)
-    theImportedSymbol                        0x0000aed4   Data           0  eposlandmarks{000a0000}-4.o(StubCode)
-    StubCode                                 0x0000aed8   Section        8  eposlandmarks{000a0000}-50.o(StubCode)
-    theImportedSymbol                        0x0000aedc   Data           0  eposlandmarks{000a0000}-50.o(StubCode)
-    StubCode                                 0x0000aee0   Section        8  eposlandmarks{000a0000}-65.o(StubCode)
-    theImportedSymbol                        0x0000aee4   Data           0  eposlandmarks{000a0000}-65.o(StubCode)
-    StubCode                                 0x0000aee8   Section        8  eposlandmarks{000a0000}-67.o(StubCode)
-    theImportedSymbol                        0x0000aeec   Data           0  eposlandmarks{000a0000}-67.o(StubCode)
-    StubCode                                 0x0000aef0   Section        8  eposlandmarks{000a0000}-75.o(StubCode)
-    theImportedSymbol                        0x0000aef4   Data           0  eposlandmarks{000a0000}-75.o(StubCode)
-    StubCode                                 0x0000aef8   Section        8  lbs{000a0000}-152.o(StubCode)
-    theImportedSymbol                        0x0000aefc   Data           0  lbs{000a0000}-152.o(StubCode)
-    StubCode                                 0x0000af00   Section        8  lbs{000a0000}-180.o(StubCode)
-    theImportedSymbol                        0x0000af04   Data           0  lbs{000a0000}-180.o(StubCode)
-    StubCode                                 0x0000af08   Section        8  lbs{000a0000}-181.o(StubCode)
-    theImportedSymbol                        0x0000af0c   Data           0  lbs{000a0000}-181.o(StubCode)
-    StubCode                                 0x0000af10   Section        8  lbs{000a0000}-205.o(StubCode)
-    theImportedSymbol                        0x0000af14   Data           0  lbs{000a0000}-205.o(StubCode)
-    StubCode                                 0x0000af18   Section        8  lbs{000a0000}-207.o(StubCode)
-    theImportedSymbol                        0x0000af1c   Data           0  lbs{000a0000}-207.o(StubCode)
-    StubCode                                 0x0000af20   Section        8  lbs{000a0000}-21.o(StubCode)
-    theImportedSymbol                        0x0000af24   Data           0  lbs{000a0000}-21.o(StubCode)
-    StubCode                                 0x0000af28   Section        8  lbs{000a0000}-214.o(StubCode)
-    theImportedSymbol                        0x0000af2c   Data           0  lbs{000a0000}-214.o(StubCode)
-    StubCode                                 0x0000af30   Section        8  lbs{000a0000}-223.o(StubCode)
-    theImportedSymbol                        0x0000af34   Data           0  lbs{000a0000}-223.o(StubCode)
-    StubCode                                 0x0000af38   Section        8  lbs{000a0000}-225.o(StubCode)
-    theImportedSymbol                        0x0000af3c   Data           0  lbs{000a0000}-225.o(StubCode)
-    StubCode                                 0x0000af40   Section        8  lbs{000a0000}-226.o(StubCode)
-    theImportedSymbol                        0x0000af44   Data           0  lbs{000a0000}-226.o(StubCode)
-    StubCode                                 0x0000af48   Section        8  lbs{000a0000}-23.o(StubCode)
-    theImportedSymbol                        0x0000af4c   Data           0  lbs{000a0000}-23.o(StubCode)
-    StubCode                                 0x0000af50   Section        8  lbs{000a0000}-28.o(StubCode)
-    theImportedSymbol                        0x0000af54   Data           0  lbs{000a0000}-28.o(StubCode)
-    StubCode                                 0x0000af58   Section        8  lbs{000a0000}-304.o(StubCode)
-    theImportedSymbol                        0x0000af5c   Data           0  lbs{000a0000}-304.o(StubCode)
-    StubCode                                 0x0000af60   Section        8  lbs{000a0000}-306.o(StubCode)
-    theImportedSymbol                        0x0000af64   Data           0  lbs{000a0000}-306.o(StubCode)
-    StubCode                                 0x0000af68   Section        8  mnservicelib{000a0000}-1.o(StubCode)
-    theImportedSymbol                        0x0000af6c   Data           0  mnservicelib{000a0000}-1.o(StubCode)
-    StubCode                                 0x0000af70   Section        8  mnservicelib{000a0000}-10.o(StubCode)
-    theImportedSymbol                        0x0000af74   Data           0  mnservicelib{000a0000}-10.o(StubCode)
-    StubCode                                 0x0000af78   Section        8  mnservicelib{000a0000}-11.o(StubCode)
-    theImportedSymbol                        0x0000af7c   Data           0  mnservicelib{000a0000}-11.o(StubCode)
-    StubCode                                 0x0000af80   Section        8  mnservicelib{000a0000}-12.o(StubCode)
-    theImportedSymbol                        0x0000af84   Data           0  mnservicelib{000a0000}-12.o(StubCode)
-    StubCode                                 0x0000af88   Section        8  mnservicelib{000a0000}-13.o(StubCode)
-    theImportedSymbol                        0x0000af8c   Data           0  mnservicelib{000a0000}-13.o(StubCode)
-    StubCode                                 0x0000af90   Section        8  mnservicelib{000a0000}-14.o(StubCode)
-    theImportedSymbol                        0x0000af94   Data           0  mnservicelib{000a0000}-14.o(StubCode)
-    StubCode                                 0x0000af98   Section        8  mnservicelib{000a0000}-15.o(StubCode)
-    theImportedSymbol                        0x0000af9c   Data           0  mnservicelib{000a0000}-15.o(StubCode)
-    StubCode                                 0x0000afa0   Section        8  mnservicelib{000a0000}-16.o(StubCode)
-    theImportedSymbol                        0x0000afa4   Data           0  mnservicelib{000a0000}-16.o(StubCode)
-    StubCode                                 0x0000afa8   Section        8  mnservicelib{000a0000}-17.o(StubCode)
-    theImportedSymbol                        0x0000afac   Data           0  mnservicelib{000a0000}-17.o(StubCode)
-    StubCode                                 0x0000afb0   Section        8  mnservicelib{000a0000}-2.o(StubCode)
-    theImportedSymbol                        0x0000afb4   Data           0  mnservicelib{000a0000}-2.o(StubCode)
-    StubCode                                 0x0000afb8   Section        8  mnservicelib{000a0000}-20.o(StubCode)
-    theImportedSymbol                        0x0000afbc   Data           0  mnservicelib{000a0000}-20.o(StubCode)
-    StubCode                                 0x0000afc0   Section        8  mnservicelib{000a0000}-28.o(StubCode)
-    theImportedSymbol                        0x0000afc4   Data           0  mnservicelib{000a0000}-28.o(StubCode)
-    StubCode                                 0x0000afc8   Section        8  mnservicelib{000a0000}-29.o(StubCode)
-    theImportedSymbol                        0x0000afcc   Data           0  mnservicelib{000a0000}-29.o(StubCode)
-    StubCode                                 0x0000afd0   Section        8  mnservicelib{000a0000}-30.o(StubCode)
-    theImportedSymbol                        0x0000afd4   Data           0  mnservicelib{000a0000}-30.o(StubCode)
-    StubCode                                 0x0000afd8   Section        8  mnservicelib{000a0000}-33.o(StubCode)
-    theImportedSymbol                        0x0000afdc   Data           0  mnservicelib{000a0000}-33.o(StubCode)
-    StubCode                                 0x0000afe0   Section        8  mnservicelib{000a0000}-4.o(StubCode)
-    theImportedSymbol                        0x0000afe4   Data           0  mnservicelib{000a0000}-4.o(StubCode)
-    StubCode                                 0x0000afe8   Section        8  mnservicelib{000a0000}-5.o(StubCode)
-    theImportedSymbol                        0x0000afec   Data           0  mnservicelib{000a0000}-5.o(StubCode)
-    StubCode                                 0x0000aff0   Section        8  mnservicelib{000a0000}-7.o(StubCode)
-    theImportedSymbol                        0x0000aff4   Data           0  mnservicelib{000a0000}-7.o(StubCode)
-    StubCode                                 0x0000aff8   Section        8  mnrefproviderengine{000a0000}-12.o(StubCode)
-    theImportedSymbol                        0x0000affc   Data           0  mnrefproviderengine{000a0000}-12.o(StubCode)
-    StubCode                                 0x0000b000   Section        8  mnrefproviderengine{000a0000}-17.o(StubCode)
-    theImportedSymbol                        0x0000b004   Data           0  mnrefproviderengine{000a0000}-17.o(StubCode)
-    StubCode                                 0x0000b008   Section        8  mnrefproviderengine{000a0000}-19.o(StubCode)
-    theImportedSymbol                        0x0000b00c   Data           0  mnrefproviderengine{000a0000}-19.o(StubCode)
-    StubCode                                 0x0000b010   Section        8  mnrefproviderengine{000a0000}-20.o(StubCode)
-    theImportedSymbol                        0x0000b014   Data           0  mnrefproviderengine{000a0000}-20.o(StubCode)
-    StubCode                                 0x0000b018   Section        8  mnrefproviderengine{000a0000}-22.o(StubCode)
-    theImportedSymbol                        0x0000b01c   Data           0  mnrefproviderengine{000a0000}-22.o(StubCode)
-    StubCode                                 0x0000b020   Section        8  mnrefproviderengine{000a0000}-23.o(StubCode)
-    theImportedSymbol                        0x0000b024   Data           0  mnrefproviderengine{000a0000}-23.o(StubCode)
-    StubCode                                 0x0000b028   Section        8  mnrefproviderengine{000a0000}-24.o(StubCode)
-    theImportedSymbol                        0x0000b02c   Data           0  mnrefproviderengine{000a0000}-24.o(StubCode)
-    StubCode                                 0x0000b030   Section        8  mnrefproviderengine{000a0000}-25.o(StubCode)
-    theImportedSymbol                        0x0000b034   Data           0  mnrefproviderengine{000a0000}-25.o(StubCode)
-    StubCode                                 0x0000b038   Section        8  mnrefproviderengine{000a0000}-26.o(StubCode)
-    theImportedSymbol                        0x0000b03c   Data           0  mnrefproviderengine{000a0000}-26.o(StubCode)
-    StubCode                                 0x0000b040   Section        8  mnrefproviderengine{000a0000}-27.o(StubCode)
-    theImportedSymbol                        0x0000b044   Data           0  mnrefproviderengine{000a0000}-27.o(StubCode)
-    StubCode                                 0x0000b048   Section        8  mnrefproviderengine{000a0000}-28.o(StubCode)
-    theImportedSymbol                        0x0000b04c   Data           0  mnrefproviderengine{000a0000}-28.o(StubCode)
-    StubCode                                 0x0000b050   Section        8  mnrefproviderengine{000a0000}-29.o(StubCode)
-    theImportedSymbol                        0x0000b054   Data           0  mnrefproviderengine{000a0000}-29.o(StubCode)
-    StubCode                                 0x0000b058   Section        8  mnrefproviderengine{000a0000}-30.o(StubCode)
-    theImportedSymbol                        0x0000b05c   Data           0  mnrefproviderengine{000a0000}-30.o(StubCode)
-    StubCode                                 0x0000b060   Section        8  mnrefproviderengine{000a0000}-31.o(StubCode)
-    theImportedSymbol                        0x0000b064   Data           0  mnrefproviderengine{000a0000}-31.o(StubCode)
-    StubCode                                 0x0000b068   Section        8  mnrefproviderengine{000a0000}-32.o(StubCode)
-    theImportedSymbol                        0x0000b06c   Data           0  mnrefproviderengine{000a0000}-32.o(StubCode)
-    StubCode                                 0x0000b070   Section        8  mnrefproviderengine{000a0000}-33.o(StubCode)
-    theImportedSymbol                        0x0000b074   Data           0  mnrefproviderengine{000a0000}-33.o(StubCode)
-    StubCode                                 0x0000b078   Section        8  mnrefproviderengine{000a0000}-34.o(StubCode)
-    theImportedSymbol                        0x0000b07c   Data           0  mnrefproviderengine{000a0000}-34.o(StubCode)
-    StubCode                                 0x0000b080   Section        8  mnrefproviderengine{000a0000}-38.o(StubCode)
-    theImportedSymbol                        0x0000b084   Data           0  mnrefproviderengine{000a0000}-38.o(StubCode)
-    StubCode                                 0x0000b088   Section        8  mnrefproviderengine{000a0000}-39.o(StubCode)
-    theImportedSymbol                        0x0000b08c   Data           0  mnrefproviderengine{000a0000}-39.o(StubCode)
-    StubCode                                 0x0000b090   Section        8  mnrefproviderengine{000a0000}-40.o(StubCode)
-    theImportedSymbol                        0x0000b094   Data           0  mnrefproviderengine{000a0000}-40.o(StubCode)
-    StubCode                                 0x0000b098   Section        8  mnrefproviderengine{000a0000}-41.o(StubCode)
-    theImportedSymbol                        0x0000b09c   Data           0  mnrefproviderengine{000a0000}-41.o(StubCode)
-    StubCode                                 0x0000b0a0   Section        8  mnrefproviderengine{000a0000}-42.o(StubCode)
-    theImportedSymbol                        0x0000b0a4   Data           0  mnrefproviderengine{000a0000}-42.o(StubCode)
-    StubCode                                 0x0000b0a8   Section        8  mnrefproviderengine{000a0000}-43.o(StubCode)
-    theImportedSymbol                        0x0000b0ac   Data           0  mnrefproviderengine{000a0000}-43.o(StubCode)
-    StubCode                                 0x0000b0b0   Section        8  mnrefproviderengine{000a0000}-44.o(StubCode)
-    theImportedSymbol                        0x0000b0b4   Data           0  mnrefproviderengine{000a0000}-44.o(StubCode)
-    StubCode                                 0x0000b0b8   Section        8  mnrefproviderengine{000a0000}-45.o(StubCode)
-    theImportedSymbol                        0x0000b0bc   Data           0  mnrefproviderengine{000a0000}-45.o(StubCode)
-    StubCode                                 0x0000b0c0   Section        8  mnrefproviderengine{000a0000}-46.o(StubCode)
-    theImportedSymbol                        0x0000b0c4   Data           0  mnrefproviderengine{000a0000}-46.o(StubCode)
-    StubCode                                 0x0000b0c8   Section        8  mnrefproviderengine{000a0000}-47.o(StubCode)
-    theImportedSymbol                        0x0000b0cc   Data           0  mnrefproviderengine{000a0000}-47.o(StubCode)
-    StubCode                                 0x0000b0d0   Section        8  mnrefproviderengine{000a0000}-48.o(StubCode)
-    theImportedSymbol                        0x0000b0d4   Data           0  mnrefproviderengine{000a0000}-48.o(StubCode)
-    StubCode                                 0x0000b0d8   Section        8  mnrefproviderengine{000a0000}-50.o(StubCode)
-    theImportedSymbol                        0x0000b0dc   Data           0  mnrefproviderengine{000a0000}-50.o(StubCode)
-    StubCode                                 0x0000b0e0   Section        8  mnrefproviderengine{000a0000}-51.o(StubCode)
-    theImportedSymbol                        0x0000b0e4   Data           0  mnrefproviderengine{000a0000}-51.o(StubCode)
-    StubCode                                 0x0000b0e8   Section        8  mnrefproviderengine{000a0000}-53.o(StubCode)
-    theImportedSymbol                        0x0000b0ec   Data           0  mnrefproviderengine{000a0000}-53.o(StubCode)
-    StubCode                                 0x0000b0f0   Section        8  mnrefproviderengine{000a0000}-54.o(StubCode)
-    theImportedSymbol                        0x0000b0f4   Data           0  mnrefproviderengine{000a0000}-54.o(StubCode)
-    StubCode                                 0x0000b0f8   Section        8  dfpaeabi{000a0000}-12.o(StubCode)
-    theImportedSymbol                        0x0000b0fc   Data           0  dfpaeabi{000a0000}-12.o(StubCode)
-    StubCode                                 0x0000b100   Section        8  dfpaeabi{000a0000}-20.o(StubCode)
-    theImportedSymbol                        0x0000b104   Data           0  dfpaeabi{000a0000}-20.o(StubCode)
-    StubCode                                 0x0000b108   Section        8  dfpaeabi{000a0000}-23.o(StubCode)
-    theImportedSymbol                        0x0000b10c   Data           0  dfpaeabi{000a0000}-23.o(StubCode)
-    StubCode                                 0x0000b110   Section        8  dfpaeabi{000a0000}-24.o(StubCode)
-    theImportedSymbol                        0x0000b114   Data           0  dfpaeabi{000a0000}-24.o(StubCode)
-    StubCode                                 0x0000b118   Section        8  dfpaeabi{000a0000}-41.o(StubCode)
-    theImportedSymbol                        0x0000b11c   Data           0  dfpaeabi{000a0000}-41.o(StubCode)
-    StubCode                                 0x0000b120   Section        8  dfpaeabi{000a0000}-8.o(StubCode)
-    theImportedSymbol                        0x0000b124   Data           0  dfpaeabi{000a0000}-8.o(StubCode)
-    StubCode                                 0x0000b128   Section        8  drtaeabi{000a0000}-147.o(StubCode)
-    theImportedSymbol                        0x0000b12c   Data           0  drtaeabi{000a0000}-147.o(StubCode)
-    StubCode                                 0x0000b130   Section        8  drtaeabi{000a0000}-158.o(StubCode)
-    theImportedSymbol                        0x0000b134   Data           0  drtaeabi{000a0000}-158.o(StubCode)
-    StubCode                                 0x0000b138   Section        8  drtaeabi{000a0000}-159.o(StubCode)
-    theImportedSymbol                        0x0000b13c   Data           0  drtaeabi{000a0000}-159.o(StubCode)
-    StubCode                                 0x0000b140   Section        8  drtaeabi{000a0000}-180.o(StubCode)
-    theImportedSymbol                        0x0000b144   Data           0  drtaeabi{000a0000}-180.o(StubCode)
-    StubCode                                 0x0000b148   Section        8  drtaeabi{000a0000}-182.o(StubCode)
-    theImportedSymbol                        0x0000b14c   Data           0  drtaeabi{000a0000}-182.o(StubCode)
-    StubCode                                 0x0000b150   Section        8  drtaeabi{000a0000}-183.o(StubCode)
-    theImportedSymbol                        0x0000b154   Data           0  drtaeabi{000a0000}-183.o(StubCode)
-    StubCode                                 0x0000b158   Section        8  drtaeabi{000a0000}-184.o(StubCode)
-    theImportedSymbol                        0x0000b15c   Data           0  drtaeabi{000a0000}-184.o(StubCode)
-    StubCode                                 0x0000b160   Section        8  drtaeabi{000a0000}-189.o(StubCode)
-    theImportedSymbol                        0x0000b164   Data           0  drtaeabi{000a0000}-189.o(StubCode)
-    StubCode                                 0x0000b168   Section        8  scppnwdl{000a0000}-3.o(StubCode)
-    theImportedSymbol                        0x0000b16c   Data           0  scppnwdl{000a0000}-3.o(StubCode)
-    StubCode                                 0x0000b170   Section        8  euser{000a0000}-1360.o(StubCode)
-    theImportedSymbol                        0x0000b174   Data           0  euser{000a0000}-1360.o(StubCode)
-    StubCode                                 0x0000b178   Section        8  euser{000a0000}-641.o(StubCode)
-    theImportedSymbol                        0x0000b17c   Data           0  euser{000a0000}-641.o(StubCode)
-    StubCode                                 0x0000b180   Section        8  euser{000a0000}-585.o(StubCode)
-    theImportedSymbol                        0x0000b184   Data           0  euser{000a0000}-585.o(StubCode)
-    StubCode                                 0x0000b188   Section        8  euser{000a0000}-650.o(StubCode)
-    theImportedSymbol                        0x0000b18c   Data           0  euser{000a0000}-650.o(StubCode)
-    StubCode                                 0x0000b190   Section        8  drtaeabi{000a0000}-204.o(StubCode)
-    theImportedSymbol                        0x0000b194   Data           0  drtaeabi{000a0000}-204.o(StubCode)
-    i._ZN12CAknDocumentD2Ev                  0x0000b198   Section        8  mnrefprovider.in(i._ZN12CAknDocumentD2Ev)
-    i._ZN12CApaDocument16DetachFromStoreLEN8CPicture7TDetachE 0x0000b1a0   Section        2  mnrefprovider.in(i._ZN12CApaDocument16DetachFromStoreLEN8CPicture7TDetachE)
-    i._ZN12CArrayPtrSegI8CGulIconED0Ev       0x0000b1a2   Section       16  mnrefprovider.in(i._ZN12CArrayPtrSegI8CGulIconED0Ev)
-    i._ZN12CArrayPtrSegI8CGulIconED1Ev       0x0000b1b2   Section        8  mnrefprovider.in(i._ZN12CArrayPtrSegI8CGulIconED1Ev)
-    i._ZN13CAknViewAppUiC1Ev                 0x0000b1bc   Section       60  mnrefprovider.in(i._ZN13CAknViewAppUiC1Ev)
-    i._ZN13CAknViewAppUiC1Ev.clean           0x0000b1f8   Section       10  mnrefprovider.in(i._ZN13CAknViewAppUiC1Ev.clean)
-    i._ZN16CMnrpApplicationD0Ev              0x0000b202   Section       16  mnrefprovider.in(i._ZN16CMnrpApplicationD0Ev)
-    i._ZN16CMnrpApplicationD1Ev              0x0000b212   Section        8  mnrefprovider.in(i._ZN16CMnrpApplicationD1Ev)
-    i._ZN5CBasenwEj                          0x0000b21a   Section        8  mnrefprovider.in(i._ZN5CBasenwEj)
-    i._ZN5TRectC1ERKS_                       0x0000b222   Section       18  mnrefprovider.in(i._ZN5TRectC1ERKS_)
-    i._ZN9CArrayFixIP8CGulIconED1Ev          0x0000b234   Section        8  mnrefprovider.in(i._ZN9CArrayFixIP8CGulIconED1Ev)
-    i._ZN9CArrayPtrI8CGulIconED1Ev           0x0000b23c   Section        8  mnrefprovider.in(i._ZN9CArrayPtrI8CGulIconED1Ev)
-    t._ZN12CleanupCloseI6RArrayIiEE5CloseEPv 0x0000b244   Section        8  mnrefprovider.in(t._ZN12CleanupCloseI6RArrayIiEE5CloseEPv)
-    t._ZN12CleanupCloseI6RArrayImEE5CloseEPv 0x0000b24c   Section        8  mnrefprovider.in(t._ZN12CleanupCloseI6RArrayImEE5CloseEPv)
-    t._ZN13RPointerArrayIN14CMnrpNaviModel9CListItemEE15ResetAndDestroyEv 0x0000b254   Section       48  mnrefprovider.in(t._ZN13RPointerArrayIN14CMnrpNaviModel9CListItemEE15ResetAndDestroyEv)
-    t._ZN13RPointerArrayIN14CMnrpNaviModel9CListItemEE7AppendLEPKS1_ 0x0000b284   Section       12  mnrefprovider.in(t._ZN13RPointerArrayIN14CMnrpNaviModel9CListItemEE7AppendLEPKS1_)
-    t._ZN4TBufILi15EEC1Ev                    0x0000b290   Section       10  mnrefprovider.in(t._ZN4TBufILi15EEC1Ev)
-    .ARM.extab                               0x0000b29c   Section       16  uc_exe_.o(.ARM.extab)
-    .extab._Z14NewApplicationv               0x0000b2ac   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN5CBasenwEj                     0x0000b2bc   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN10CMnrpAppUiD1Ev               0x0000b2cc   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN10CMnrpAppUi13StopSelectionEv  0x0000b2dc   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN13CAknViewAppUiC1Ev            0x0000b30c   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN13CMnrpDocumentD1Ev            0x0000b31c   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN12CMnrpAppViewD1Ev             0x0000b32c   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN12CMnrpMapViewD1Ev             0x0000b33c   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN15CMnrpMapControlC1ER12CMnrpMapView 0x0000b36c   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN15CMnrpMapControlD1Ev          0x0000b37c   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN15CMnrpMapControl11SizeChangedEv 0x0000b38c   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN13CMnrpNaviViewD1Ev            0x0000b3d4   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN14CMnrpNaviModelC1ER18MNaviModelObserverR11CMnrpEngine 0x0000b3e4   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN14CMnrpNaviModelD1Ev           0x0000b3f4   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN16CMnrpNaviControlD1Ev         0x0000b404   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN19CMnrpMapViewServiceD1Ev      0x0000b414   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN19CMnrpMapViewService16HandleSelectionLERK11TCoordinate 0x0000b424   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab.CallThrdProcEntry                 0x0000b44c   Data           0  callfirstprocessfn.o(.ARM.extab)
-    .constdata$1                             0x0000b468   Data           0  mnrefprovider.in(.constdata)
-    KUidMnRefProviderApp                     0x0000b468   Data           4  mnrefprovider.in(.constdata)
-    .constdata                               0x0000b468   Section        4  mnrefprovider.in(.constdata)
-    .constdata$1                             0x0000b46c   Data           0  mnrefprovider.in(.constdata)
-    KMbmFile                                 0x0000b46c   Data          72  mnrefprovider.in(.constdata)
-    .constdata                               0x0000b46c   Section       92  mnrefprovider.in(.constdata)
-    KListItemFormat@_Z12AddLandmarkLRK12CPosLandmarkR12CDesC16ArrayR9CArrayPtrI8CGulIconE_0 0x0000b4b4   Data          20  mnrefprovider.in(.constdata)
-    .constdata$1                             0x0000b4c8   Data           0  mnrefprovider.in(.constdata)
-    KEmpty@_ZN12CMnrpAppView11DoActivateLERK10TVwsViewId4TUidRK6TDesC8_0 0x0000b4c8   Data           8  mnrefprovider.in(.constdata)
-    .constdata                               0x0000b4c8   Section        8  mnrefprovider.in(.constdata)
-    .constdata$1                             0x0000b4d0   Data           0  mnrefprovider.in(.constdata)
-    KMapView@_ZN12CMnrpMapView11DoActivateLERK10TVwsViewId4TUidRK6TDesC8_0 0x0000b4d0   Data          20  mnrefprovider.in(.constdata)
-    .constdata                               0x0000b4d0   Section       20  mnrefprovider.in(.constdata)
-    .constdata$1                             0x0000b4e4   Data           0  mnrefprovider.in(.constdata)
-    _ZZN15CMnrpMapControl18HandleModelUpdateLEvE17KMessageIgnoredLm@_ZN15CMnrpMapControl18HandleModelUpdateLEv_0 0x0000b4e4   Data         108  mnrefprovider.in(.constdata)
-    .constdata                               0x0000b4e4   Section      220  mnrefprovider.in(.constdata)
-    _ZZN15CMnrpMapControl18HandleModelUpdateLEvE18KMessageIgnoredLms@_ZN15CMnrpMapControl18HandleModelUpdateLEv_1 0x0000b550   Data         112  mnrefprovider.in(.constdata)
-    .constdata$1                             0x0000b5c0   Data           0  mnrefprovider.in(.constdata)
-    KNavigation@_ZN13CMnrpNaviView11DoActivateLERK10TVwsViewId4TUidRK6TDesC8_0 0x0000b5c0   Data          28  mnrefprovider.in(.constdata)
-    .constdata                               0x0000b5c0   Section       28  mnrefprovider.in(.constdata)
-    .constdata$1                             0x0000b5dc   Data           0  mnrefprovider.in(.constdata)
-    KNotDefined                              0x0000b5dc   Data          16  mnrefprovider.in(.constdata)
-    .constdata                               0x0000b5dc   Section      344  mnrefprovider.in(.constdata)
-    KDestination                             0x0000b5ec   Data          28  mnrefprovider.in(.constdata)
-    KPosition                                0x0000b608   Data          24  mnrefprovider.in(.constdata)
-    KDistance                                0x0000b620   Data          24  mnrefprovider.in(.constdata)
-    KBearing                                 0x0000b638   Data          20  mnrefprovider.in(.constdata)
-    KDestinationLat                          0x0000b64c   Data          24  mnrefprovider.in(.constdata)
-    KDestinationLon                          0x0000b664   Data          24  mnrefprovider.in(.constdata)
-    KPositionLat                             0x0000b67c   Data          24  mnrefprovider.in(.constdata)
-    KPositionLon                             0x0000b694   Data          24  mnrefprovider.in(.constdata)
-    KSpeed                                   0x0000b6ac   Data          16  mnrefprovider.in(.constdata)
-    KHeading                                 0x0000b6bc   Data          20  mnrefprovider.in(.constdata)
-    KMagHeading                              0x0000b6d0   Data          24  mnrefprovider.in(.constdata)
-    KCourse                                  0x0000b6e8   Data          20  mnrefprovider.in(.constdata)
-    KMagCourse                               0x0000b6fc   Data          24  mnrefprovider.in(.constdata)
-    KRequestorName@_ZN14CMnrpNaviModel10ConstructLEv_0 0x0000b714   Data          32  mnrefprovider.in(.constdata)
-    .constdata$1                             0x0000b734   Data           0  mnrefprovider.in(.constdata)
-    _ZZN16CMnrpNaviControl18HandleModelUpdateLEvE11KItemFormat@_ZN16CMnrpNaviControl18HandleModelUpdateLEv_0 0x0000b734   Data          20  mnrefprovider.in(.constdata)
-    .constdata                               0x0000b734   Section       20  mnrefprovider.in(.constdata)
-    .constdata$1                             0x0000b748   Data           0  callfirstprocessfn.o(.constdata)
-    KLitUser                                 0x0000b748   Data          16  callfirstprocessfn.o(.constdata)
-    .constdata                               0x0000b748   Section       16  callfirstprocessfn.o(.constdata)
-    .constdata__ZTI10CMnrpAppUi              0x0000b758   Section       12  mnrefprovider.in(.constdata__ZTI10CMnrpAppUi)
-    .constdata__ZTI12CArrayPtrSegI8CGulIconE 0x0000b764   Section       12  mnrefprovider.in(.constdata__ZTI12CArrayPtrSegI8CGulIconE)
-    .constdata__ZTI12CMnrpAppView            0x0000b770   Section       12  mnrefprovider.in(.constdata__ZTI12CMnrpAppView)
-    .constdata__ZTI12CMnrpMapView            0x0000b77c   Section       12  mnrefprovider.in(.constdata__ZTI12CMnrpMapView)
-    .constdata__ZTI13CMnrpDocument           0x0000b788   Section       12  mnrefprovider.in(.constdata__ZTI13CMnrpDocument)
-    .constdata__ZTI13CMnrpNaviView           0x0000b794   Section       12  mnrefprovider.in(.constdata__ZTI13CMnrpNaviView)
-    .constdata__ZTI14CMnrpAppServer          0x0000b7a0   Section       12  mnrefprovider.in(.constdata__ZTI14CMnrpAppServer)
-    .constdata__ZTI14CMnrpNaviModel          0x0000b7ac   Section       32  mnrefprovider.in(.constdata__ZTI14CMnrpNaviModel)
-    .constdata__ZTI15CMnrpAppControl         0x0000b7cc   Section       12  mnrefprovider.in(.constdata__ZTI15CMnrpAppControl)
-    .constdata__ZTI15CMnrpMapControl         0x0000b7d8   Section       32  mnrefprovider.in(.constdata__ZTI15CMnrpMapControl)
-    .constdata__ZTI16CMnrpApplication        0x0000b7f8   Section       12  mnrefprovider.in(.constdata__ZTI16CMnrpApplication)
-    .constdata__ZTI16CMnrpNaviControl        0x0000b804   Section       32  mnrefprovider.in(.constdata__ZTI16CMnrpNaviControl)
-    .constdata__ZTI17MMapModelObserver       0x0000b824   Section        8  mnrefprovider.in(.constdata__ZTI17MMapModelObserver)
-    .constdata__ZTI18MNaviModelObserver      0x0000b82c   Section        8  mnrefprovider.in(.constdata__ZTI18MNaviModelObserver)
-    .constdata__ZTI19CMnrpMapViewService     0x0000b834   Section       32  mnrefprovider.in(.constdata__ZTI19CMnrpMapViewService)
-    .constdata__ZTI21MMapSelectionCallback   0x0000b854   Section        8  mnrefprovider.in(.constdata__ZTI21MMapSelectionCallback)
-    .constdata__ZTI21MMnrpPositionObserver   0x0000b85c   Section        8  mnrefprovider.in(.constdata__ZTI21MMnrpPositionObserver)
-    .constdata__ZTI22CMnrpNavigationService  0x0000b864   Section       12  mnrefprovider.in(.constdata__ZTI22CMnrpNavigationService)
-    .constdata__ZTI22MEikStatusPaneObserver  0x0000b870   Section        8  mnrefprovider.in(.constdata__ZTI22MEikStatusPaneObserver)
-    .constdata__ZTI9CArrayFixIP8CGulIconE    0x0000b878   Section       12  mnrefprovider.in(.constdata__ZTI9CArrayFixIP8CGulIconE)
-    .constdata__ZTI9CArrayPtrI8CGulIconE     0x0000b884   Section       12  mnrefprovider.in(.constdata__ZTI9CArrayPtrI8CGulIconE)
-    .constdata__ZTIN14CMnrpNaviModel9CListItemE 0x0000b890   Section       12  mnrefprovider.in(.constdata__ZTIN14CMnrpNaviModel9CListItemE)
-    .constdata__ZTS10CMnrpAppUi              0x0000b89c   Section       13  mnrefprovider.in(.constdata__ZTS10CMnrpAppUi)
-    .constdata__ZTS12CArrayPtrSegI8CGulIconE 0x0000b8a9   Section       26  mnrefprovider.in(.constdata__ZTS12CArrayPtrSegI8CGulIconE)
-    .constdata__ZTS12CMnrpAppView            0x0000b8c3   Section       15  mnrefprovider.in(.constdata__ZTS12CMnrpAppView)
-    .constdata__ZTS12CMnrpMapView            0x0000b8d2   Section       15  mnrefprovider.in(.constdata__ZTS12CMnrpMapView)
-    .constdata__ZTS13CMnrpDocument           0x0000b8e1   Section       16  mnrefprovider.in(.constdata__ZTS13CMnrpDocument)
-    .constdata__ZTS13CMnrpNaviView           0x0000b8f1   Section       16  mnrefprovider.in(.constdata__ZTS13CMnrpNaviView)
-    .constdata__ZTS14CMnrpAppServer          0x0000b901   Section       17  mnrefprovider.in(.constdata__ZTS14CMnrpAppServer)
-    .constdata__ZTS14CMnrpNaviModel          0x0000b912   Section       17  mnrefprovider.in(.constdata__ZTS14CMnrpNaviModel)
-    .constdata__ZTS15CMnrpAppControl         0x0000b923   Section       18  mnrefprovider.in(.constdata__ZTS15CMnrpAppControl)
-    .constdata__ZTS15CMnrpMapControl         0x0000b935   Section       18  mnrefprovider.in(.constdata__ZTS15CMnrpMapControl)
-    .constdata__ZTS16CMnrpApplication        0x0000b947   Section       19  mnrefprovider.in(.constdata__ZTS16CMnrpApplication)
-    .constdata__ZTS16CMnrpNaviControl        0x0000b95a   Section       19  mnrefprovider.in(.constdata__ZTS16CMnrpNaviControl)
-    .constdata__ZTS17MMapModelObserver       0x0000b96d   Section       20  mnrefprovider.in(.constdata__ZTS17MMapModelObserver)
-    .constdata__ZTS18MNaviModelObserver      0x0000b981   Section       21  mnrefprovider.in(.constdata__ZTS18MNaviModelObserver)
-    .constdata__ZTS19CMnrpMapViewService     0x0000b996   Section       22  mnrefprovider.in(.constdata__ZTS19CMnrpMapViewService)
-    .constdata__ZTS21MMapSelectionCallback   0x0000b9ac   Section       24  mnrefprovider.in(.constdata__ZTS21MMapSelectionCallback)
-    .constdata__ZTS21MMnrpPositionObserver   0x0000b9c4   Section       24  mnrefprovider.in(.constdata__ZTS21MMnrpPositionObserver)
-    .constdata__ZTS22CMnrpNavigationService  0x0000b9dc   Section       25  mnrefprovider.in(.constdata__ZTS22CMnrpNavigationService)
-    .constdata__ZTS22MEikStatusPaneObserver  0x0000b9f5   Section       25  mnrefprovider.in(.constdata__ZTS22MEikStatusPaneObserver)
-    .constdata__ZTS9CArrayFixIP8CGulIconE    0x0000ba0e   Section       23  mnrefprovider.in(.constdata__ZTS9CArrayFixIP8CGulIconE)
-    .constdata__ZTS9CArrayPtrI8CGulIconE     0x0000ba25   Section       22  mnrefprovider.in(.constdata__ZTS9CArrayPtrI8CGulIconE)
-    .constdata__ZTSN14CMnrpNaviModel9CListItemE 0x0000ba3b   Section       29  mnrefprovider.in(.constdata__ZTSN14CMnrpNaviModel9CListItemE)
-    .constdata__ZTV10CMnrpAppUi              0x0000ba58   Section      340  mnrefprovider.in(.constdata__ZTV10CMnrpAppUi)
-    .constdata__ZTV12CArrayPtrSegI8CGulIconE 0x0000bbac   Section       20  mnrefprovider.in(.constdata__ZTV12CArrayPtrSegI8CGulIconE)
-    .constdata__ZTV12CMnrpAppView            0x0000bbc0   Section      232  mnrefprovider.in(.constdata__ZTV12CMnrpAppView)
-    .constdata__ZTV12CMnrpMapView            0x0000bca8   Section      236  mnrefprovider.in(.constdata__ZTV12CMnrpMapView)
-    .constdata__ZTV13CMnrpDocument           0x0000bd94   Section      112  mnrefprovider.in(.constdata__ZTV13CMnrpDocument)
-    .constdata__ZTV13CMnrpNaviView           0x0000be04   Section      232  mnrefprovider.in(.constdata__ZTV13CMnrpNaviView)
-    .constdata__ZTV14CMnrpAppServer          0x0000beec   Section       76  mnrefprovider.in(.constdata__ZTV14CMnrpAppServer)
-    .constdata__ZTV14CMnrpNaviModel          0x0000bf38   Section       36  mnrefprovider.in(.constdata__ZTV14CMnrpNaviModel)
-    .constdata__ZTV15CMnrpAppControl         0x0000bf5c   Section      208  mnrefprovider.in(.constdata__ZTV15CMnrpAppControl)
-    .constdata__ZTV15CMnrpMapControl         0x0000c02c   Section      224  mnrefprovider.in(.constdata__ZTV15CMnrpMapControl)
-    .constdata__ZTV16CMnrpApplication        0x0000c10c   Section       80  mnrefprovider.in(.constdata__ZTV16CMnrpApplication)
-    .constdata__ZTV16CMnrpNaviControl        0x0000c15c   Section      224  mnrefprovider.in(.constdata__ZTV16CMnrpNaviControl)
-    .constdata__ZTV19CMnrpMapViewService     0x0000c23c   Section      112  mnrefprovider.in(.constdata__ZTV19CMnrpMapViewService)
-    .constdata__ZTV22CMnrpNavigationService  0x0000c2ac   Section       64  mnrefprovider.in(.constdata__ZTV22CMnrpNavigationService)
-    .constdata__ZTV22MEikStatusPaneObserver  0x0000c2ec   Section       12  mnrefprovider.in(.constdata__ZTV22MEikStatusPaneObserver)
-    .constdata__ZTVN14CMnrpNaviModel9CListItemE 0x0000c2f8   Section       20  mnrefprovider.in(.constdata__ZTVN14CMnrpNaviModel9CListItemE)
-    .init_array                              0x0000c30c   Section        4  mnrefprovider.in(.init_array)
-    .ARM.exidx                               0x0000c310   Section        8  uc_exe_.o(.ARM.exidx)
-    .ARM.exidx                               0x0000c318   Section        8  ucppinit_aeabi.o(.ARM.exidx)
-    .data$0                                  0x00400000   Data           0  mnrefprovider.in(.data)
-    KCursorColor                             0x00400000   Data           4  mnrefprovider.in(.data)
-    .data                                    0x00400000   Section       12  mnrefprovider.in(.data)
-    KGridTextColor                           0x00400004   Data           4  mnrefprovider.in(.data)
-    KOriginMarkColor                         0x00400008   Data           4  mnrefprovider.in(.data)
-
-    Global Symbols
-
-    Symbol Name                              Value     Ov Type        Size  Object(Section)
-
-    BuildAttributes$$THUMB_ISAv3$ARM_ISAv6$M$E$P$PE$A:L22$X:L11$S22$IEEE1$IW$USESV6$~STKCKD$USESV7$~SHL$OSPACE$IEEEJ$EBA8$UX$REQ8$PRES8$EABIv2 0x00000000   Number         0  anon$$obj.o ABSOLUTE
-    #<DLL>AknIcon{000a0000}[1020735a].dll#<\DLL>d  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>111  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>112  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>113  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>117  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>118  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>11c  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>11d  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>11e  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>11f  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>1e  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>79  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>84  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>ab  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>bf  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>c0  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>c2  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>ca  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>de  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>e8  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>fd  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>16f  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>170  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>171  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>172  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>174  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>175  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>176  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>177  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>179  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>46c  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>53d  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>7cc  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>81  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>82  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>83  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>873  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>882  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>a1f  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>a40  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>a48  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b4f  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b52  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b53  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b54  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b55  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b56  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b57  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b58  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b59  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b5a  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b5b  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b5d  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b5e  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b60  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b61  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b62  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b65  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b67  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b68  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b6a  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b70  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b71  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b72  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b74  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b76  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b78  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>bb1  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>bb5  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>c6  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>c7  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>c9  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>ce  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d3  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d5  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d59  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d5c  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d5d  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d5e  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d5f  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d6  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d60  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d7  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d8  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d9  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>dc  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>ef2  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>ef7  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>ef8  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>f11  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>f14  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>f15  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>f1c  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>f6b  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>f6c  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>f6d  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>f8f  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>fae  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>fbe  - Undefined Reference
-    #<DLL>bafl{000a0000}[10003a0f].dll#<\DLL>2b  - Undefined Reference
-    #<DLL>bafl{000a0000}[10003a0f].dll#<\DLL>62  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>101  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>107  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>109  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>10a  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>10e  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>10f  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>110  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>113  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>114  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>11f  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>12  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>120  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>13  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>15  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>15f  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>161  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>163  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>18c  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>18d  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>19  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>1a  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>1bc  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>1d  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>1da  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>1dd  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>1de  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>1df  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>1e  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>1e2  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>1f6  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>202  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>24  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>244  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>245  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>246  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>247  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>248  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>27  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>27e  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>27f  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>28  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>29  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>298  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>29e  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>29f  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>2a  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>2a4  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>2a5  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>30  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>32  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>33  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>38  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>39  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>3d  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>3e  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>40  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>43  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>64  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>65  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>7f  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>80  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>9  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>b  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>b6  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>c  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>c4  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>c5  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>c7  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>cb  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>d  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>d2  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>d3  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>d4  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>dc  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>f  - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>14     - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>17     - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>18     - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>29     - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>8      - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>c      - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>93     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>9e     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>9f     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>b4     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>b6     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>b7     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>b8     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>bd     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>cc     - Undefined Reference
-    #<DLL>egul{000a0000}[100048a2].dll#<\DLL>5e  - Undefined Reference
-    #<DLL>egul{000a0000}[100048a2].dll#<\DLL>5f  - Undefined Reference
-    #<DLL>eikcoctl{000a0000}[1000489e].dll#<\DLL>23  - Undefined Reference
-    #<DLL>eikcoctl{000a0000}[1000489e].dll#<\DLL>25d  - Undefined Reference
-    #<DLL>eikcoctl{000a0000}[1000489e].dll#<\DLL>25e  - Undefined Reference
-    #<DLL>eikcoctl{000a0000}[1000489e].dll#<\DLL>294  - Undefined Reference
-    #<DLL>eikcoctl{000a0000}[1000489e].dll#<\DLL>2e  - Undefined Reference
-    #<DLL>eikcoctl{000a0000}[1000489e].dll#<\DLL>36b  - Undefined Reference
-    #<DLL>eikcoctl{000a0000}[1000489e].dll#<\DLL>370  - Undefined Reference
-    #<DLL>eikcoctl{000a0000}[1000489e].dll#<\DLL>371  - Undefined Reference
-    #<DLL>eikcoctl{000a0000}[1000489e].dll#<\DLL>560  - Undefined Reference
-    #<DLL>eikcoctl{000a0000}[1000489e].dll#<\DLL>596  - Undefined Reference
-    #<DLL>eikcoctl{000a0000}[1000489e].dll#<\DLL>8c  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>12  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>123  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>125  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>126  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>127  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>128  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>129  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>12a  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>12b  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>12e  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>13b  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>13d  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>13f  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>14  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>160  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>186  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>188  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>18a  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>19  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1a  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1b  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1c  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1d  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1d3  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1d8  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1d9  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1df  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1e  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1ea  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1f  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1fa  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>20b  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>214  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>215  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>216  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>217  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>218  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>219  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>235  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>25  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>3d  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>3e  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>3f  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>40  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>43  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>48  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>49  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>4a  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>4b  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>4c  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>4d  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>4e  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>4f  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>8d  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>8e  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>8f  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>90  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>93  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>98  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>9b  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>9e  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>9f  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>a9  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>ab  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>af  - Undefined Reference
-    #<DLL>eikctl{000a0000}[1000489c].dll#<\DLL>1c7  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>32  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>4  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>41  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>43  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>4b  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>c  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>f  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>101  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1d0  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1d6  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1d7  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1d8  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1dc  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1e1  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>227  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>249  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>251  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>265  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>281  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>289  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>28a  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>28c  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>28e  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>29d  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>2e  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>30  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>338  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>33d  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>33e  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>346  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>347  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>349  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>34a  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>37  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>3cd  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>401  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>448  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>45c  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>45f  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>494  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>508  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>51  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>550  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>5e3  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>5e6  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>611  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>636  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>639  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>670  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>719  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>7cb  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>7cd  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>7cf  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>80c  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>80d  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>822  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>848  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>84b  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>84d  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>853  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>cb  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>cc  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>cd  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>cf  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>d0  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>f5  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>fa  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>fe  - Undefined Reference
-    #<DLL>fbscli{000a0000}[10003a15].dll#<\DLL>1a  - Undefined Reference
-    #<DLL>fbscli{000a0000}[10003a15].dll#<\DLL>1f  - Undefined Reference
-    #<DLL>gdi{000a0000}[10003b15].dll#<\DLL>136  - Undefined Reference
-    #<DLL>gdi{000a0000}[10003b15].dll#<\DLL>137  - Undefined Reference
-    #<DLL>gdi{000a0000}[10003b15].dll#<\DLL>138  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>130  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>132  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>15  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>17  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>1c  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>98  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>b4  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>b5  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>cd  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>cf  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>d6  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>df  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>e1  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>e2  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>11  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>13  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>14  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>16  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>17  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>18  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>19  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>1a  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>1b  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>1c  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>1d  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>1e  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>1f  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>20  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>21  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>22  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>26  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>27  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>28  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>29  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>2a  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>2b  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>2c  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>2d  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>2e  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>2f  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>30  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>32  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>33  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>35  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>36  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>c  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>1  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>10  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>11  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>14  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>1c  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>1d  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>1e  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>2  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>21  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>4  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>5  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>7  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>a  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>b  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>c  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>d  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>e  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>f  - Undefined Reference
-    #<DLL>scppnwdl{000a0000}.dll#<\DLL>3      - Undefined Reference
-    typeinfo for CCoeControl                  - Undefined Reference
-    typeinfo for CAknDocument                 - Undefined Reference
-    typeinfo for CAknAppServer                - Undefined Reference
-    typeinfo for CAknViewAppUi                - Undefined Reference
-    typeinfo for CArrayFixBase                - Undefined Reference
-    typeinfo for CEikApplication              - Undefined Reference
-    typeinfo for XLeaveException              - Undefined Reference
-    typeinfo for CMnMapViewServiceBase        - Undefined Reference
-    typeinfo for CMnNavigationServiceBase     - Undefined Reference
-    typeinfo for CBase                        - Undefined Reference
-    typeinfo for CAknView                     - Undefined Reference
-    vtable for CAknViewAppUi                  - Undefined Reference
-    vtable for __cxxabiv1::__class_type_info  - Undefined Reference
-    vtable for __cxxabiv1::__si_class_type_info  - Undefined Reference
-    vtable for __cxxabiv1::__vmi_class_type_info  - Undefined Reference
-    _fp_init                                  - Undefined Weak Reference
-    Image$$ER_RO$$Base                       0x00008000   Number         0  anon$$obj.o(linker$$defined$$symbols)
-    _E32Startup                              0x00008000   ARM Code     112  uc_exe_.o(.emb_text)
-    Symbian$$CPP$$Exception$$Descriptor      0x0000805c   Data           0  uc_exe_.o(.emb_text)
-    __cpp_initialize__aeabi_                 0x00008070   ARM Code      72  ucppinit_aeabi.o(.emb_text)
-    std::nothrow                             0x000080b8   ARM Code       0  ucppinit_aeabi.o(.emb_text)
-    Inline ARM to Thumb Veneer to _xxxx_call_user_invariant 0x000080b8   ARM Code       0  uc_exe_.o(.text)
-    _xxxx_call_user_invariant                0x000080c1   Thumb Code     8  uc_exe_.o(.text)
-    _xxxx_call_user_handle_exception         0x000080c9   Thumb Code     8  uc_exe_.o(.text)
-    E32Main()                                0x000080ef   Thumb Code    22  mnrefprovider.in(.text)
-    CMnrpApplication::AppDllUid() const      0x0000810d   Thumb Code     6  mnrefprovider.in(.text)
-    CMnrpApplication::CreateDocumentL()      0x00008113   Thumb Code     8  mnrefprovider.in(.text)
-    CMnrpApplication::NewAppServerL(CApaAppServer*&) 0x0000811b   Thumb Code    22  mnrefprovider.in(.text)
-    CleanupIconArray(void*)                  0x00008139   Thumb Code    50  mnrefprovider.in(.text)
-    AddIconL(CArrayPtr<CGulIcon>&, const TDesC16&, int, int) 0x0000816b   Thumb Code    64  mnrefprovider.in(.text)
-    CreateIconListLC(int)                    0x000081ab   Thumb Code    52  mnrefprovider.in(.text)
-    AddLandmarkL(const CPosLandmark&, CDesC16Array&, CArrayPtr<CGulIcon>&) 0x000081df   Thumb Code   130  mnrefprovider.in(.text)
-    CMnrpAppUi::CMnrpAppUi(CMnrpEngine&)     0x00008261   Thumb Code    42  mnrefprovider.in(.text)
-    CMnrpAppUi::CMnrpAppUi__sub_object(CMnrpEngine&) 0x00008261   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpAppUi::ConstructL()                 0x0000828b   Thumb Code    74  mnrefprovider.in(.text)
-    CMnrpAppUi::~CMnrpAppUi()                0x000082d5   Thumb Code    54  mnrefprovider.in(.text)
-    CMnrpAppUi::~CMnrpAppUi__sub_object()    0x000082d5   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpAppUi::~CMnrpAppUi__deallocating()  0x0000830b   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpAppUi::IsChainedMode()              0x0000831b   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpAppUi::ShowMapL(CMnrpMapViewService&) 0x0000832b   Thumb Code    64  mnrefprovider.in(.text)
-    CMnrpAppUi::SelectFromDialogL(CMnrpMapViewService&, MMapSelectionCallback&) 0x0000836b   Thumb Code   526  mnrefprovider.in(.text)
-    CMnrpAppUi::SetNaviPaneTitleL(const TDesC16&) 0x00008579   Thumb Code   100  mnrefprovider.in(.text)
-    CMnrpAppUi::StartSelectionL(CMnrpMapViewService&, MMapSelectionCallback&) 0x000085dd   Thumb Code   104  mnrefprovider.in(.text)
-    CMnrpAppUi::StopSelection()              0x00008645   Thumb Code    68  mnrefprovider.in(.text)
-    CMnrpAppUi::ShowNavigationL(const CPosLandmark&) 0x00008689   Thumb Code    64  mnrefprovider.in(.text)
-    CMnrpAppUi::IsAnyUserViewActive()        0x000086c9   Thumb Code    38  mnrefprovider.in(.text)
-    CMnrpAppUi::SetRightSoftkeyCommandL(int, const TDesC16&) 0x000086ef   Thumb Code    44  mnrefprovider.in(.text)
-    CMnrpAppUi::HandleCommandL(int)          0x0000871b   Thumb Code    62  mnrefprovider.in(.text)
-    CMnrpAppUi::HandleResourceChangeL(int)   0x00008759   Thumb Code    80  mnrefprovider.in(.text)
-    CMnrpAppUi::ProcessCommandParametersL(CApaCommandLine&) 0x000087a9   Thumb Code    26  mnrefprovider.in(.text)
-    CMnrpDocument::ConstructL()              0x000087d1   Thumb Code    12  mnrefprovider.in(.text)
-    CMnrpDocument::CMnrpDocument(CEikApplication&) 0x000087dd   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpDocument::CMnrpDocument__sub_object(CEikApplication&) 0x000087dd   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpDocument::NewL(CEikApplication&)    0x000087ed   Thumb Code    36  mnrefprovider.in(.text)
-    CMnrpDocument::~CMnrpDocument()          0x00008811   Thumb Code    32  mnrefprovider.in(.text)
-    CMnrpDocument::~CMnrpDocument__sub_object() 0x00008811   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpDocument::~CMnrpDocument__deallocating() 0x00008831   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpDocument::Engine()                  0x00008841   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpDocument::CreateAppUiL()            0x00008845   Thumb Code    18  mnrefprovider.in(.text)
-    CMnrpAppServer::~CMnrpAppServer()        0x0000885d   Thumb Code     8  mnrefprovider.in(.text)
-    CMnrpAppServer::~CMnrpAppServer__sub_object() 0x0000885d   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpAppServer::~CMnrpAppServer__deallocating() 0x00008865   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpAppServer::AppUi()                  0x00008875   Thumb Code    10  mnrefprovider.in(.text)
-    CMnrpAppServer::CreateNavigationServiceL() const 0x0000887f   Thumb Code     8  mnrefprovider.in(.text)
-    CMnrpAppServer::CreateMapViewServiceL() const 0x00008887   Thumb Code     8  mnrefprovider.in(.text)
-    CMnrpAppServer::CreateServiceL(TUid) const 0x0000888f   Thumb Code    30  mnrefprovider.in(.text)
-    CMnrpAppServer::HandleAllClientsClosed() 0x000088ad   Thumb Code    42  mnrefprovider.in(.text)
-    CMnrpAppView::ConstructL()               0x000088dd   Thumb Code    10  mnrefprovider.in(.text)
-    CMnrpAppView::CMnrpAppView()             0x000088e7   Thumb Code    24  mnrefprovider.in(.text)
-    CMnrpAppView::CMnrpAppView__sub_object() 0x000088e7   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpAppView::NewL()                     0x000088ff   Thumb Code    32  mnrefprovider.in(.text)
-    CMnrpAppView::~CMnrpAppView()            0x0000891f   Thumb Code    40  mnrefprovider.in(.text)
-    CMnrpAppView::~CMnrpAppView__sub_object() 0x0000891f   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpAppView::~CMnrpAppView__deallocating() 0x00008947   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpAppView::Id() const                 0x00008957   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpAppView::DoActivateL(const TVwsViewId&, TUid, const TDesC8&) 0x0000895b   Thumb Code    78  mnrefprovider.in(.text)
-    CMnrpAppView::DoDeactivate()             0x000089a9   Thumb Code    32  mnrefprovider.in(.text)
-    CMnrpAppControl::ConstructL(const TRect&) 0x000089d1   Thumb Code    28  mnrefprovider.in(.text)
-    CMnrpAppControl::CMnrpAppControl(CMnrpAppView&) 0x000089ed   Thumb Code    20  mnrefprovider.in(.text)
-    CMnrpAppControl::CMnrpAppControl__sub_object(CMnrpAppView&) 0x000089ed   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpAppControl::NewL(CMnrpAppView&, const TRect&) 0x00008a01   Thumb Code    40  mnrefprovider.in(.text)
-    CMnrpAppControl::~CMnrpAppControl()      0x00008a29   Thumb Code     8  mnrefprovider.in(.text)
-    CMnrpAppControl::~CMnrpAppControl__sub_object() 0x00008a29   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpAppControl::~CMnrpAppControl__deallocating() 0x00008a31   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpAppControl::CountComponentControls() const 0x00008a41   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpAppControl::ComponentControl(int) const 0x00008a45   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpAppControl::HandleResourceChange(int) 0x00008a49   Thumb Code    34  mnrefprovider.in(.text)
-    CMnrpAppControl::Draw(const TRect&) const 0x00008a6b   Thumb Code    32  mnrefprovider.in(.text)
-    CMnrpMapView::ConstructL(int)            0x00008a95   Thumb Code    22  mnrefprovider.in(.text)
-    CMnrpMapView::CMnrpMapView(CMnrpEngine&) 0x00008aab   Thumb Code    28  mnrefprovider.in(.text)
-    CMnrpMapView::CMnrpMapView__sub_object(CMnrpEngine&) 0x00008aab   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpMapView::NewL(int, CMnrpEngine&)    0x00008ac7   Thumb Code    40  mnrefprovider.in(.text)
-    CMnrpMapView::HandleUserSelectionL(int)  0x00008aef   Thumb Code    56  mnrefprovider.in(.text)
-    CMnrpMapView::~CMnrpMapView()            0x00008b27   Thumb Code    86  mnrefprovider.in(.text)
-    CMnrpMapView::~CMnrpMapView__sub_object() 0x00008b27   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpMapView::~CMnrpMapView__deallocating() 0x00008b7d   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpMapView::SetMapModeL(CMnrpMapViewService&) 0x00008b8d   Thumb Code     8  mnrefprovider.in(.text)
-    CMnrpMapView::SetSelectionModeL(CMnrpMapViewService&, MMapSelectionCallback&) 0x00008b95   Thumb Code    18  mnrefprovider.in(.text)
-    CMnrpMapView::StopSelection()            0x00008ba7   Thumb Code     8  mnrefprovider.in(.text)
-    CMnrpMapView::Id() const                 0x00008baf   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpMapView::HandleCommandL(int)        0x00008bb3   Thumb Code    84  mnrefprovider.in(.text)
-    CMnrpMapView::DoActivateL(const TVwsViewId&, TUid, const TDesC8&) 0x00008c07   Thumb Code   144  mnrefprovider.in(.text)
-    CMnrpMapView::DoDeactivate()             0x00008c97   Thumb Code    32  mnrefprovider.in(.text)
-    CMnrpMapView::DynInitMenuPaneL(int, CEikMenuPane*) 0x00008cb7   Thumb Code    40  mnrefprovider.in(.text)
-    thunk{-12} to CMnrpMapView::DynInitMenuPaneL(int, CEikMenuPane*) 0x00008cdf   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpMapControl::CreateScreenBufferL(const TSize&) 0x00008cf9   Thumb Code    70  mnrefprovider.in(.text)
-    CMnrpMapControl::CreateFonts()           0x00008d3f   Thumb Code    62  mnrefprovider.in(.text)
-    CMnrpMapControl::ConstructL(const TRect&, CMnrpEngine&) 0x00008d7d   Thumb Code   134  mnrefprovider.in(.text)
-    CMnrpMapControl::CMnrpMapControl(CMnrpMapView&) 0x00008e03   Thumb Code    46  mnrefprovider.in(.text)
-    CMnrpMapControl::CMnrpMapControl__sub_object(CMnrpMapView&) 0x00008e03   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpMapControl::NewL(CMnrpMapView&, const TRect&, CMnrpEngine&) 0x00008e31   Thumb Code    44  mnrefprovider.in(.text)
-    CMnrpMapControl::DestroyFonts()          0x00008e5d   Thumb Code    38  mnrefprovider.in(.text)
-    CMnrpMapControl::~CMnrpMapControl()      0x00008e83   Thumb Code    54  mnrefprovider.in(.text)
-    CMnrpMapControl::~CMnrpMapControl__sub_object() 0x00008e83   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpMapControl::~CMnrpMapControl__deallocating() 0x00008eb9   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpMapControl::UpdateModelL(CMnrpMapViewService&) 0x00008ec9   Thumb Code    10  mnrefprovider.in(.text)
-    CMnrpMapControl::SetSelectionModeL(int)  0x00008ed3   Thumb Code    66  mnrefprovider.in(.text)
-    CMnrpMapControl::CurrentLocation()       0x00008f15   Thumb Code    12  mnrefprovider.in(.text)
-    CMnrpMapControl::SetFullScreen(int)      0x00008f21   Thumb Code    36  mnrefprovider.in(.text)
-    CMnrpMapControl::ToggleFullScreen()      0x00008f45   Thumb Code    12  mnrefprovider.in(.text)
-    CMnrpMapControl::DrawCursor(CWindowGc&) const 0x00008f51   Thumb Code   224  mnrefprovider.in(.text)
-    CMnrpMapControl::DrawGridText(CWindowGc&, const TRect&, const TRect&, const CFont*, CMnrpMapModel::TGrid&) const 0x00009031   Thumb Code   610  mnrefprovider.in(.text)
-    CMnrpMapControl::BorderSize() const      0x00009293   Thumb Code    44  mnrefprovider.in(.text)
-    CMnrpMapControl::Draw(const TRect&) const 0x000092bf   Thumb Code   306  mnrefprovider.in(.text)
-    CMnrpMapControl::RenderL()               0x000093f1   Thumb Code   106  mnrefprovider.in(.text)
-    CMnrpMapControl::CursorMargin()          0x0000945b   Thumb Code    30  mnrefprovider.in(.text)
-    CMnrpMapControl::MoveCursor(int, int)    0x00009479   Thumb Code   324  mnrefprovider.in(.text)
-    CMnrpMapControl::Zoom(double)            0x000095bd   Thumb Code    90  mnrefprovider.in(.text)
-    CMnrpMapControl::OfferKeyEventL(const TKeyEvent&, TEventCode) 0x00009617   Thumb Code   446  mnrefprovider.in(.text)
-    CMnrpMapControl::SizeChanged()           0x000097d5   Thumb Code   174  mnrefprovider.in(.text)
-    CMnrpMapControl::HandleResourceChange(int) 0x00009883   Thumb Code    26  mnrefprovider.in(.text)
-    CMnrpMapControl::HandleModelUpdateL()    0x0000989d   Thumb Code    80  mnrefprovider.in(.text)
-    thunk{-52} to CMnrpMapControl::HandleModelUpdateL() 0x000098ed   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpNaviView::ConstructL(int)           0x00009945   Thumb Code    20  mnrefprovider.in(.text)
-    CMnrpNaviView::CMnrpNaviView(CMnrpEngine&) 0x00009959   Thumb Code    28  mnrefprovider.in(.text)
-    CMnrpNaviView::CMnrpNaviView__sub_object(CMnrpEngine&) 0x00009959   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpNaviView::NewL(int, CMnrpEngine&)   0x00009975   Thumb Code    40  mnrefprovider.in(.text)
-    CMnrpNaviView::~CMnrpNaviView()          0x0000999d   Thumb Code    52  mnrefprovider.in(.text)
-    CMnrpNaviView::~CMnrpNaviView__sub_object() 0x0000999d   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpNaviView::~CMnrpNaviView__deallocating() 0x000099d1   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpNaviView::SetDestinationL(const CPosLandmark&) 0x000099e1   Thumb Code    46  mnrefprovider.in(.text)
-    CMnrpNaviView::Id() const                0x00009a0f   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpNaviView::HandleCommandL(int)       0x00009a13   Thumb Code    18  mnrefprovider.in(.text)
-    CMnrpNaviView::DoActivateL(const TVwsViewId&, TUid, const TDesC8&) 0x00009a25   Thumb Code    92  mnrefprovider.in(.text)
-    CMnrpNaviView::DoDeactivate()            0x00009a81   Thumb Code    32  mnrefprovider.in(.text)
-    CMnrpNaviModel::ConstructL()             0x00009aad   Thumb Code    64  mnrefprovider.in(.text)
-    CMnrpNaviModel::CMnrpNaviModel(MNaviModelObserver&, CMnrpEngine&) 0x00009aed   Thumb Code    44  mnrefprovider.in(.text)
-    CMnrpNaviModel::CMnrpNaviModel__sub_object(MNaviModelObserver&, CMnrpEngine&) 0x00009aed   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpNaviModel::NewL(MNaviModelObserver&, CMnrpEngine&) 0x00009b19   Thumb Code    40  mnrefprovider.in(.text)
-    CMnrpNaviModel::SetDestinationL(const CPosLandmark&) 0x00009b41   Thumb Code    42  mnrefprovider.in(.text)
-    CMnrpNaviModel::CListItem::NewL(const TDesC16&, const TDesC16&) 0x00009b6b   Thumb Code    48  mnrefprovider.in(.text)
-    CMnrpNaviModel::ListItemsL()             0x00009b9b   Thumb Code   630  mnrefprovider.in(.text)
-    CMnrpNaviModel::~CMnrpNaviModel()        0x00009e11   Thumb Code    56  mnrefprovider.in(.text)
-    CMnrpNaviModel::~CMnrpNaviModel__sub_object() 0x00009e11   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpNaviModel::~CMnrpNaviModel__deallocating() 0x00009e49   Thumb Code    48  mnrefprovider.in(.text)
-    CMnrpNaviModel::HandlePositionRequestCompletedL(int) 0x00009e79   Thumb Code    60  mnrefprovider.in(.text)
-    thunk{-4} to CMnrpNaviModel::HandlePositionRequestCompletedL(int) 0x00009eb5   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpNaviModel::CListItem::~CListItem()  0x00009eb9   Thumb Code    28  mnrefprovider.in(.text)
-    CMnrpNaviModel::CListItem::~CListItem__sub_object() 0x00009eb9   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpNaviModel::CListItem::~CListItem__deallocating() 0x00009ed5   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpNaviControl::CreateListBoxL()       0x00009ee9   Thumb Code    58  mnrefprovider.in(.text)
-    CMnrpNaviControl::ConstructL(const TRect&, CMnrpEngine&) 0x00009f23   Thumb Code    48  mnrefprovider.in(.text)
-    CMnrpNaviControl::CMnrpNaviControl(CMnrpNaviView&) 0x00009f53   Thumb Code    24  mnrefprovider.in(.text)
-    CMnrpNaviControl::CMnrpNaviControl__sub_object(CMnrpNaviView&) 0x00009f53   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpNaviControl::NewL(CMnrpNaviView&, const TRect&, CMnrpEngine&) 0x00009f6b   Thumb Code    44  mnrefprovider.in(.text)
-    CMnrpNaviControl::~CMnrpNaviControl()    0x00009f97   Thumb Code    48  mnrefprovider.in(.text)
-    CMnrpNaviControl::~CMnrpNaviControl__sub_object() 0x00009f97   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpNaviControl::~CMnrpNaviControl__deallocating() 0x00009fc7   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpNaviControl::UpdateModelL(CPosLandmark&) 0x00009fd7   Thumb Code    10  mnrefprovider.in(.text)
-    CMnrpNaviControl::HandleModelUpdateL()   0x00009fe1   Thumb Code   174  mnrefprovider.in(.text)
-    thunk{-52} to CMnrpNaviControl::HandleModelUpdateL() 0x0000a08f   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpNaviControl::CountComponentControls() const 0x0000a093   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpNaviControl::ComponentControl(int) const 0x0000a097   Thumb Code    12  mnrefprovider.in(.text)
-    CMnrpNaviControl::OfferKeyEventL(const TKeyEvent&, TEventCode) 0x0000a0a3   Thumb Code    54  mnrefprovider.in(.text)
-    CMnrpNaviControl::SizeChanged()          0x0000a0d9   Thumb Code    28  mnrefprovider.in(.text)
-    CMnrpNaviControl::HandleResourceChange(int) 0x0000a0f5   Thumb Code    34  mnrefprovider.in(.text)
-    CMnrpNavigationService::ConstructL()     0x0000a12d   Thumb Code     8  mnrefprovider.in(.text)
-    CMnrpNavigationService::CMnrpNavigationService() 0x0000a135   Thumb Code    12  mnrefprovider.in(.text)
-    CMnrpNavigationService::CMnrpNavigationService__sub_object() 0x0000a135   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpNavigationService::NewL()           0x0000a141   Thumb Code    32  mnrefprovider.in(.text)
-    CMnrpNavigationService::~CMnrpNavigationService() 0x0000a161   Thumb Code     8  mnrefprovider.in(.text)
-    CMnrpNavigationService::~CMnrpNavigationService__sub_object() 0x0000a161   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpNavigationService::~CMnrpNavigationService__deallocating() 0x0000a169   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpNavigationService::HandleNavigateToL(const CPosLandmark&) 0x0000a179   Thumb Code    18  mnrefprovider.in(.text)
-    CMnrpNavigationService::DoCancel()       0x0000a18b   Thumb Code     2  mnrefprovider.in(.text)
-    CMnrpMapViewService::ConstructL()        0x0000a191   Thumb Code     8  mnrefprovider.in(.text)
-    CMnrpMapViewService::CMnrpMapViewService() 0x0000a199   Thumb Code    20  mnrefprovider.in(.text)
-    CMnrpMapViewService::CMnrpMapViewService__sub_object() 0x0000a199   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpMapViewService::NewL()              0x0000a1ad   Thumb Code    32  mnrefprovider.in(.text)
-    CMnrpMapViewService::AppUi()             0x0000a1cd   Thumb Code    18  mnrefprovider.in(.text)
-    CMnrpMapViewService::StopSelection()     0x0000a1df   Thumb Code    24  mnrefprovider.in(.text)
-    CMnrpMapViewService::DoCancel()          0x0000a1f7   Thumb Code    18  mnrefprovider.in(.text)
-    CMnrpMapViewService::~CMnrpMapViewService() 0x0000a209   Thumb Code    48  mnrefprovider.in(.text)
-    CMnrpMapViewService::~CMnrpMapViewService__sub_object() 0x0000a209   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpMapViewService::~CMnrpMapViewService__deallocating() 0x0000a239   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpMapViewService::HandleShowMapL()    0x0000a249   Thumb Code    44  mnrefprovider.in(.text)
-    CMnrpMapViewService::HandleShowCurrentLocationL() 0x0000a275   Thumb Code    12  mnrefprovider.in(.text)
-    CMnrpMapViewService::HandleSelectFromMapL() 0x0000a281   Thumb Code    54  mnrefprovider.in(.text)
-    CMnrpMapViewService::CompleteSelectionL(const TCoordinate&) 0x0000a2b7   Thumb Code    42  mnrefprovider.in(.text)
-    CMnrpMapViewService::HandleSelectionL(const TCoordinate&) 0x0000a2e1   Thumb Code    88  mnrefprovider.in(.text)
-    thunk{-212} to CMnrpMapViewService::HandleSelectionL(const TCoordinate&) 0x0000a339   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpMapViewService::HandleSelectionL(int) 0x0000a33d   Thumb Code    24  mnrefprovider.in(.text)
-    thunk{-212} to CMnrpMapViewService::HandleSelectionL(int) 0x0000a355   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpMapViewService::HandleSelectionL(unsigned long, int) 0x0000a359   Thumb Code    24  mnrefprovider.in(.text)
-    thunk{-212} to CMnrpMapViewService::HandleSelectionL(unsigned long, int) 0x0000a371   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpMapViewService::HandleSelectionErrorL(int) 0x0000a375   Thumb Code    16  mnrefprovider.in(.text)
-    thunk{-212} to CMnrpMapViewService::HandleSelectionErrorL(int) 0x0000a385   Thumb Code     4  mnrefprovider.in(.text)
-    Inline ARM to Thumb Veneer to RunThread  0x0000a38c   ARM Code       0  uc_exe.o(.text)
-    RunThread                                0x0000a395   Thumb Code    36  uc_exe.o(.text)
-    CallThrdProcEntry                        0x0000a3b8   ARM Code     116  callfirstprocessfn.o(.text)
-    __DLL_Export_Table__                     0x0000a430   ARM Code       4  dllexp.o(.text)
-    TPoint::operator +=(const TPoint&)       0x0000a4d8   ARM Code       0  euser{000a0000}-1025.o(StubCode)
-    CBufSeg::NewL(int)                       0x0000a4e0   ARM Code       0  euser{000a0000}-1096.o(StubCode)
-    HBufC16::Des()                           0x0000a4e8   ARM Code       0  euser{000a0000}-1116.o(StubCode)
-    HBufC16::NewLC(int)                      0x0000a4f0   ARM Code       0  euser{000a0000}-1119.o(StubCode)
-    TPtrC16::TPtrC16()                       0x0000a4f8   ARM Code       0  euser{000a0000}-1172.o(StubCode)
-    CServer2::DoCancel()                     0x0000a500   ARM Code       0  euser{000a0000}-1288.o(StubCode)
-    RArrayBase::At(int) const                0x0000a508   ARM Code       0  euser{000a0000}-1507.o(StubCode)
-    RArrayBase::Count() const                0x0000a510   ARM Code       0  euser{000a0000}-1510.o(StubCode)
-    CArrayFixBase::At(int) const             0x0000a518   ARM Code       0  euser{000a0000}-1553.o(StubCode)
-    RPointerArrayBase::At(int) const         0x0000a520   ARM Code       0  euser{000a0000}-1590.o(StubCode)
-    RPointerArrayBase::Count() const         0x0000a528   ARM Code       0  euser{000a0000}-1593.o(StubCode)
-    TRect::Size() const                      0x0000a530   ARM Code       0  euser{000a0000}-1648.o(StubCode)
-    TDesC16::AllocL() const                  0x0000a538   ARM Code       0  euser{000a0000}-1817.o(StubCode)
-    CPolicyServer::CustomFailureActionL(const RMessage2&, int, const TSecurityInfo&) 0x0000a540   ARM Code       0  euser{000a0000}-1995.o(StubCode)
-    CPolicyServer::RunL()                    0x0000a548   ARM Code       0  euser{000a0000}-1997.o(StubCode)
-    CPolicyServer::RunError(int)             0x0000a550   ARM Code       0  euser{000a0000}-1999.o(StubCode)
-    CleanupStack::PopAndDestroy()            0x0000a558   ARM Code       0  euser{000a0000}-203.o(StubCode)
-    CleanupStack::Pop(int)                   0x0000a560   ARM Code       0  euser{000a0000}-204.o(StubCode)
-    CleanupStack::Pop()                      0x0000a568   ARM Code       0  euser{000a0000}-205.o(StubCode)
-    User::MarkCleanupStack()                 0x0000a570   ARM Code       0  euser{000a0000}-2060.o(StubCode)
-    User::UnMarkCleanupStack(TTrapHandler*)  0x0000a578   ARM Code       0  euser{000a0000}-2061.o(StubCode)
-    CleanupStack::PushL(TCleanupItem)        0x0000a580   ARM Code       0  euser{000a0000}-207.o(StubCode)
-    CleanupStack::PushL(CBase*)              0x0000a588   ARM Code       0  euser{000a0000}-208.o(StubCode)
-    XLeaveException::GetReason() const       0x0000a590   ARM Code       0  euser{000a0000}-2082.o(StubCode)
-    CPolicyServer::Extension_(unsigned, void*&, void*) 0x0000a598   ARM Code       0  euser{000a0000}-2120.o(StubCode)
-    CBase::Extension_(unsigned, void*&, void*) 0x0000a5a0   ARM Code       0  euser{000a0000}-2123.o(StubCode)
-    CBase::~CBase()                          0x0000a5a8   ARM Code       0  euser{000a0000}-2125.o(StubCode)
-    CSession2::Extension_(unsigned, void*&, void*) 0x0000a5b0   ARM Code       0  euser{000a0000}-2131.o(StubCode)
-    CArrayFixBase::Reset()                   0x0000a5b8   ARM Code       0  euser{000a0000}-245.o(StubCode)
-    CArrayFixBase::InsertL(int, const void*) 0x0000a5c0   ARM Code       0  euser{000a0000}-250.o(StubCode)
-    CArrayFixBase::CArrayFixBase(CBufBase*(*)(int), int, int) 0x0000a5c8   ARM Code       0  euser{000a0000}-254.o(StubCode)
-    CArrayFixBase::~CArrayFixBase()          0x0000a5d0   ARM Code       0  euser{000a0000}-257.o(StubCode)
-    RArrayBase::Close()                      0x0000a5d8   ARM Code       0  euser{000a0000}-46.o(StubCode)
-    RPointerArrayBase::GetElementPtr(const CBase*, int) 0x0000a5e0   ARM Code       0  euser{000a0000}-464.o(StubCode)
-    RPointerArrayBase::Close()               0x0000a5e8   ARM Code       0  euser{000a0000}-470.o(StubCode)
-    RPointerArrayBase::Reset()               0x0000a5f0   ARM Code       0  euser{000a0000}-471.o(StubCode)
-    RPointerArrayBase::Append(const void*)   0x0000a5f8   ARM Code       0  euser{000a0000}-472.o(StubCode)
-    RPointerArrayBase::GetCount(const CBase*) 0x0000a600   ARM Code       0  euser{000a0000}-476.o(StubCode)
-    RArrayBase::Append(const void*)          0x0000a608   ARM Code       0  euser{000a0000}-48.o(StubCode)
-    RPointerArrayBase::RPointerArrayBase()   0x0000a610   ARM Code       0  euser{000a0000}-481.o(StubCode)
-    RArrayBase::RArrayBase(int)              0x0000a618   ARM Code       0  euser{000a0000}-55.o(StubCode)
-    Math::IsNaN(const double&)               0x0000a620   ARM Code       0  euser{000a0000}-551.o(StubCode)
-    User::LeaveIfError(int)                  0x0000a628   ARM Code       0  euser{000a0000}-593.o(StubCode)
-    User::HandleException(void*)             0x0000a630   ARM Code       0  euser{000a0000}-613.o(StubCode)
-    User::Leave(int)                         0x0000a638   ARM Code       0  euser{000a0000}-649.o(StubCode)
-    User::AllocZ(int)                        0x0000a640   ARM Code       0  euser{000a0000}-652.o(StubCode)
-    User::AllocZL(int)                       0x0000a648   ARM Code       0  euser{000a0000}-654.o(StubCode)
-    User::Invariant()                        0x0000a650   ARM Code       0  euser{000a0000}-669.o(StubCode)
-    TBufBase16::TBufBase16(int)              0x0000a658   ARM Code       0  euser{000a0000}-81.o(StubCode)
-    TRect::Grow(int, int)                    0x0000a660   ARM Code       0  euser{000a0000}-824.o(StubCode)
-    TRect::Shrink(const TSize&)              0x0000a668   ARM Code       0  euser{000a0000}-829.o(StubCode)
-    TRect::Shrink(int, int)                  0x0000a670   ARM Code       0  euser{000a0000}-830.o(StubCode)
-    TRect::TRect(const TSize&)               0x0000a678   ARM Code       0  euser{000a0000}-838.o(StubCode)
-    TRect::TRect(const TPoint&, const TSize&) 0x0000a680   ARM Code       0  euser{000a0000}-839.o(StubCode)
-    TRect::TRect(int, int, int, int)         0x0000a688   ARM Code       0  euser{000a0000}-841.o(StubCode)
-    TRect::TRect()                           0x0000a690   ARM Code       0  euser{000a0000}-842.o(StubCode)
-    TDes16::Format(TRefByValue<const TDesC16>, ...) 0x0000a698   ARM Code       0  euser{000a0000}-973.o(StubCode)
-    CApaDocument::Capability() const         0x0000a6a0   ARM Code       0  apparc{000a0000}-121.o(StubCode)
-    CApaApplication::AppFullName() const     0x0000a6a8   ARM Code       0  apparc{000a0000}-132.o(StubCode)
-    TApaApplicationFactory::TApaApplicationFactory(CApaApplication*(*)()) 0x0000a6b0   ARM Code       0  apparc{000a0000}-171.o(StubCode)
-    CApaAppServer::NotifyServerExit(int)     0x0000a6b8   ARM Code       0  apparc{000a0000}-191.o(StubCode)
-    CApaAppServer::CustomSecurityCheckL(const RMessage2&, int&, TSecurityInfo&) 0x0000a6c0   ARM Code       0  apparc{000a0000}-192.o(StubCode)
-    CApaAppServer::CApaAppServer()           0x0000a6c8   ARM Code       0  apparc{000a0000}-194.o(StubCode)
-    CApaAppServiceBase::SecurityCheckL(const RMessage2&, int&, TSecurityInfo&) 0x0000a6d0   ARM Code       0  apparc{000a0000}-202.o(StubCode)
-    CApaAppServer::NewSessionL(const TVersion&, const RMessage2&) const 0x0000a6d8   ARM Code       0  apparc{000a0000}-222.o(StubCode)
-    CApaAppServiceBase::ExtensionInterface(TUid, void*&) 0x0000a6e0   ARM Code       0  apparc{000a0000}-232.o(StubCode)
-    CApaCommandLine::ParentWindowGroupID() const 0x0000a6e8   ARM Code       0  apparc{000a0000}-253.o(StubCode)
-    CApaAppServer::CApaAppServer_Reserved1() 0x0000a6f0   ARM Code       0  apparc{000a0000}-273.o(StubCode)
-    CApaAppServer::CApaAppServer_Reserved2() 0x0000a6f8   ARM Code       0  apparc{000a0000}-274.o(StubCode)
-    CApaAppServer::DoConnect(const RMessage2&) 0x0000a700   ARM Code       0  apparc{000a0000}-275.o(StubCode)
-    CApaApplication::CApaApplication_Reserved1() 0x0000a708   ARM Code       0  apparc{000a0000}-279.o(StubCode)
-    CApaApplication::CApaApplication_Reserved2() 0x0000a710   ARM Code       0  apparc{000a0000}-280.o(StubCode)
-    CApaAppServiceBase::Disconnect(const RMessage2&) 0x0000a718   ARM Code       0  apparc{000a0000}-284.o(StubCode)
-    CApaAppServiceBase::CountResources()     0x0000a720   ARM Code       0  apparc{000a0000}-285.o(StubCode)
-    CApaAppServiceBase::CApaAppServiceBase_Reserved1() 0x0000a728   ARM Code       0  apparc{000a0000}-286.o(StubCode)
-    CApaAppServiceBase::CApaAppServiceBase_Reserved2() 0x0000a730   ARM Code       0  apparc{000a0000}-287.o(StubCode)
-    CApaDocument::GlassPictureL()            0x0000a738   ARM Code       0  apparc{000a0000}-30.o(StubCode)
-    CDesC16Array::AppendL(const TDesC16&)    0x0000a740   ARM Code       0  bafl{000a0000}-43.o(StubCode)
-    CDesC16ArraySeg::CDesC16ArraySeg(int)    0x0000a748   ARM Code       0  bafl{000a0000}-98.o(StubCode)
-    MCoeMessageObserver::MCoeMessageObserver_Reserved_1() 0x0000a750   ARM Code       0  cone{000a0000}-100.o(StubCode)
-    MCoeMessageObserver::MCoeMessageObserver_Reserved_2() 0x0000a758   ARM Code       0  cone{000a0000}-101.o(StubCode)
-    CCoeControl::MakeVisible(int)            0x0000a760   ARM Code       0  cone{000a0000}-11.o(StubCode)
-    CCoeControl::MinimumSize()               0x0000a768   ARM Code       0  cone{000a0000}-12.o(StubCode)
-    MCoeViewDeactivationObserver::MCoeViewDeactivationObserver_Reserved_1() 0x0000a770   ARM Code       0  cone{000a0000}-127.o(StubCode)
-    MCoeViewDeactivationObserver::MCoeViewDeactivationObserver_Reserved_2() 0x0000a778   ARM Code       0  cone{000a0000}-128.o(StubCode)
-    CCoeControl::SetAdjacent(int)            0x0000a780   ARM Code       0  cone{000a0000}-13.o(StubCode)
-    CCoeControl::SetNeighbor(CCoeControl*)   0x0000a788   ARM Code       0  cone{000a0000}-15.o(StubCode)
-    CCoeControl::SizeChanged()               0x0000a790   ARM Code       0  cone{000a0000}-18.o(StubCode)
-    CCoeEnv::Static()                        0x0000a798   ARM Code       0  cone{000a0000}-182.o(StubCode)
-    CCoeControl::FocusChanged(TDrawNow)      0x0000a7a0   ARM Code       0  cone{000a0000}-19.o(StubCode)
-    MCoeView::ViewConstructL()               0x0000a7a8   ARM Code       0  cone{000a0000}-196.o(StubCode)
-    MCoeView::PrepareForViewActivation()     0x0000a7b0   ARM Code       0  cone{000a0000}-197.o(StubCode)
-    MCoeView::ViewScreenModeCompatible(int)  0x0000a7b8   ARM Code       0  cone{000a0000}-199.o(StubCode)
-    CCoeAppUi::AddToStackL(const MCoeView&, CCoeControl*, int, int) 0x0000a7c0   ARM Code       0  cone{000a0000}-203.o(StubCode)
-    CCoeControl::SetMopParent(MObjectProvider*) 0x0000a7c8   ARM Code       0  cone{000a0000}-21.o(StubCode)
-    CCoeAppUi::HandleKeyEventL(const TKeyEvent&, TEventCode) 0x0000a7d0   ARM Code       0  cone{000a0000}-210.o(StubCode)
-    CCoeAppUi::RemoveFromStack(CCoeControl*) 0x0000a7d8   ARM Code       0  cone{000a0000}-211.o(StubCode)
-    CCoeAppUi::SetAndDrawFocus(int)          0x0000a7e0   ARM Code       0  cone{000a0000}-212.o(StubCode)
-    CCoeAppUi::HandleSwitchOnEventL(CCoeControl*) 0x0000a7e8   ARM Code       0  cone{000a0000}-220.o(StubCode)
-    CCoeControl::CreateWindowL()             0x0000a7f0   ARM Code       0  cone{000a0000}-25.o(StubCode)
-    CCoeControl::DrawDeferred() const        0x0000a7f8   ARM Code       0  cone{000a0000}-257.o(StubCode)
-    CCoeControl::OfferKeyEventL(const TKeyEvent&, TEventCode) 0x0000a800   ARM Code       0  cone{000a0000}-26.o(StubCode)
-    CCoeControl::GetHelpContext(TCoeHelpContext&) const 0x0000a808   ARM Code       0  cone{000a0000}-263.o(StubCode)
-    CCoeControl::ComponentControl(int) const 0x0000a810   ARM Code       0  cone{000a0000}-265.o(StubCode)
-    CCoeControl::GetColorUseListL(CArrayFix<TCoeColorUse>&) const 0x0000a818   ARM Code       0  cone{000a0000}-266.o(StubCode)
-    CCoeControl::InputCapabilities() const   0x0000a820   ARM Code       0  cone{000a0000}-270.o(StubCode)
-    CCoeControl::WriteInternalStateL(RWriteStream&) const 0x0000a828   ARM Code       0  cone{000a0000}-271.o(StubCode)
-    CCoeControl::CountComponentControls() const 0x0000a830   ARM Code       0  cone{000a0000}-272.o(StubCode)
-    CCoeControl::Draw(const TRect&) const    0x0000a838   ARM Code       0  cone{000a0000}-275.o(StubCode)
-    CCoeControl::Rect() const                0x0000a840   ARM Code       0  cone{000a0000}-276.o(StubCode)
-    CCoeControl::SystemGc() const            0x0000a848   ARM Code       0  cone{000a0000}-287.o(StubCode)
-    CCoeControl::HasBorder() const           0x0000a850   ARM Code       0  cone{000a0000}-288.o(StubCode)
-    CCoeControl::MopSupplyObject(TTypeUid)   0x0000a858   ARM Code       0  cone{000a0000}-29.o(StubCode)
-    CCoeControl::PositionChanged()           0x0000a860   ARM Code       0  cone{000a0000}-30.o(StubCode)
-    CCoeAppUi::HelpContextL() const          0x0000a868   ARM Code       0  cone{000a0000}-351.o(StubCode)
-    CCoeAppUi::GetActiveViewId(TVwsViewId&) const 0x0000a870   ARM Code       0  cone{000a0000}-353.o(StubCode)
-    CCoeAppUi::InputCapabilities() const     0x0000a878   ARM Code       0  cone{000a0000}-355.o(StubCode)
-    CCoeControl::HandlePointerEventL(const TPointerEvent&) 0x0000a880   ARM Code       0  cone{000a0000}-36.o(StubCode)
-    CCoeControl::SetContainerWindowL(const CCoeControl&) 0x0000a888   ARM Code       0  cone{000a0000}-39.o(StubCode)
-    thunk{-4} to CCoeControl::MopSupplyObject(TTypeUid) 0x0000a890   ARM Code       0  cone{000a0000}-396.o(StubCode)
-    thunk{-4} to CCoeControl::MopNext()      0x0000a898   ARM Code       0  cone{000a0000}-397.o(StubCode)
-    CCoeControl::HandleResourceChange(int)   0x0000a8a0   ARM Code       0  cone{000a0000}-40.o(StubCode)
-    CCoeControl::PrepareForFocusGainL()      0x0000a8a8   ARM Code       0  cone{000a0000}-41.o(StubCode)
-    CCoeControl::PrepareForFocusLossL()      0x0000a8b0   ARM Code       0  cone{000a0000}-42.o(StubCode)
-    CCoeControl::SetParent(CCoeControl*)     0x0000a8b8   ARM Code       0  cone{000a0000}-444.o(StubCode)
-    CCoeControl::SetLayoutManagerL(MCoeLayoutManager*) 0x0000a8c0   ARM Code       0  cone{000a0000}-474.o(StubCode)
-    CCoeControl::GetTextDrawer(CCoeTextDrawerBase*&, const CCoeControl*, int) const 0x0000a8c8   ARM Code       0  cone{000a0000}-477.o(StubCode)
-    CCoeControl::Reserved_CCoeControl_8()    0x0000a8d0   ARM Code       0  cone{000a0000}-478.o(StubCode)
-    CCoeControl::Reserved_CCoeControl_9()    0x0000a8d8   ARM Code       0  cone{000a0000}-479.o(StubCode)
-    CCoeControl::ConstructFromResourceL(TResourceReader&) 0x0000a8e0   ARM Code       0  cone{000a0000}-48.o(StubCode)
-    CCoeControl::RequestRelayout(const CCoeControl*) 0x0000a8e8   ARM Code       0  cone{000a0000}-482.o(StubCode)
-    CCoeControl::SetExtentToWholeScreen()    0x0000a8f0   ARM Code       0  cone{000a0000}-50.o(StubCode)
-    CCoeControl::SetTextBaselineSpacing(int) 0x0000a8f8   ARM Code       0  cone{000a0000}-502.o(StubCode)
-    CCoeControl::HandlePointerBufferReadyL() 0x0000a900   ARM Code       0  cone{000a0000}-51.o(StubCode)
-    CCoeControl::TextBaselineOffset(const TSize&) const 0x0000a908   ARM Code       0  cone{000a0000}-514.o(StubCode)
-    CCoeControl::MopNext()                   0x0000a910   ARM Code       0  cone{000a0000}-56.o(StubCode)
-    CCoeControl::SetRect(const TRect&)       0x0000a918   ARM Code       0  cone{000a0000}-57.o(StubCode)
-    CCoeControl::Reserved_CCoeControl_10()   0x0000a920   ARM Code       0  cone{000a0000}-580.o(StubCode)
-    CCoeControl::Reserved_CCoeControl_11()   0x0000a928   ARM Code       0  cone{000a0000}-581.o(StubCode)
-    CCoeControl::Reserved_CCoeControl_12()   0x0000a930   ARM Code       0  cone{000a0000}-582.o(StubCode)
-    CCoeControl::Reserved_CCoeControl_13()   0x0000a938   ARM Code       0  cone{000a0000}-583.o(StubCode)
-    CCoeControl::HandleControlArrayEventL(CCoeControlArray::TEvent, const CCoeControlArray*, CCoeControl*, int) 0x0000a940   ARM Code       0  cone{000a0000}-584.o(StubCode)
-    CCoeControl::ActivateL()                 0x0000a948   ARM Code       0  cone{000a0000}-61.o(StubCode)
-    CCoeControl::SetDimmed(int)              0x0000a950   ARM Code       0  cone{000a0000}-62.o(StubCode)
-    MObjectProvider::MObjectProvider_Reserved1() 0x0000a958   ARM Code       0  cone{000a0000}-638.o(StubCode)
-    MObjectProvider::MObjectProvider_Reserved2() 0x0000a960   ARM Code       0  cone{000a0000}-639.o(StubCode)
-    CCoeControl::CCoeControl()               0x0000a968   ARM Code       0  cone{000a0000}-64.o(StubCode)
-    MCoeViewDeactivationObserver::MCoeViewDeactivationObserver__sub_object() 0x0000a970   ARM Code       0  cone{000a0000}-664.o(StubCode)
-    CCoeControl::~CCoeControl()              0x0000a978   ARM Code       0  cone{000a0000}-67.o(StubCode)
-    MCoeView::MCoeView_Reserved_2()          0x0000a980   ARM Code       0  cone{000a0000}-670.o(StubCode)
-    MCoeView::MCoeView_Reserved_3()          0x0000a988   ARM Code       0  cone{000a0000}-671.o(StubCode)
-    CCoeAppUi::FrameworkCallsRendezvous() const 0x0000a990   ARM Code       0  cone{000a0000}-676.o(StubCode)
-    CCoeAppUi::CCoeAppUi_Reserved_2()        0x0000a998   ARM Code       0  cone{000a0000}-677.o(StubCode)
-    CCoeControl::Reserved_2()                0x0000a9a0   ARM Code       0  cone{000a0000}-9.o(StubCode)
-    thunk{-20} to CEikDocument::SaveL(MSaveObserver::TSaveType) 0x0000a9a8   ARM Code       0  eikcore{000a0000}-141.o(StubCode)
-    CEikAppUi::Reserved_3()                  0x0000a9b0   ARM Code       0  eikcore{000a0000}-142.o(StubCode)
-    CEikAppUi::Reserved_4()                  0x0000a9b8   ARM Code       0  eikcore{000a0000}-143.o(StubCode)
-    CEikAppUi::CreateFileL(const TDesC16&)   0x0000a9c0   ARM Code       0  eikcore{000a0000}-144.o(StubCode)
-    CEikAppUi::SetEmphasis(CCoeControl*, int) 0x0000a9c8   ARM Code       0  eikcore{000a0000}-147.o(StubCode)
-    CEikAppUi::HandleMessageL(unsigned long, TUid, const TDesC8&) 0x0000a9d0   ARM Code       0  eikcore{000a0000}-152.o(StubCode)
-    CEikAppUi::ProcessMessageL(TUid, const TDesC8&) 0x0000a9d8   ARM Code       0  eikcore{000a0000}-155.o(StubCode)
-    CEikAppUi::HandleModelChangeL()          0x0000a9e0   ARM Code       0  eikcore{000a0000}-158.o(StubCode)
-    CEikAppUi::HandleSideBarMenuL(int, const TPoint&, int, const CEikHotKeyTable*) 0x0000a9e8   ARM Code       0  eikcore{000a0000}-159.o(StubCode)
-    CEikAppUi::ProcessCommandParametersL(TApaCommand, TBuf<(int)256>&, const TDesC8&) 0x0000a9f0   ARM Code       0  eikcore{000a0000}-169.o(StubCode)
-    CEikAppUi::ReportResourceChangedToAppL(int) 0x0000a9f8   ARM Code       0  eikcore{000a0000}-171.o(StubCode)
-    CEikAppUi::OpenFileL(const TDesC16&)     0x0000aa00   ARM Code       0  eikcore{000a0000}-175.o(StubCode)
-    CEikDocument::Reserved_2()               0x0000aa08   ARM Code       0  eikcore{000a0000}-18.o(StubCode)
-    CEikDocument::NewDocumentL()             0x0000aa10   ARM Code       0  eikcore{000a0000}-20.o(StubCode)
-    CEikDocument::UpdateTaskNameL(CApaWindowGroupName*) 0x0000aa18   ARM Code       0  eikcore{000a0000}-25.o(StubCode)
-    CEikDocument::CreateFileStoreLC(RFs&, const TDesC16&) 0x0000aa20   ARM Code       0  eikcore{000a0000}-26.o(StubCode)
-    CEikDocument::EditL(MApaEmbeddedDocObserver*, int) 0x0000aa28   ARM Code       0  eikcore{000a0000}-27.o(StubCode)
-    CEikDocument::SaveL(MSaveObserver::TSaveType) 0x0000aa30   ARM Code       0  eikcore{000a0000}-28.o(StubCode)
-    CEikDocument::SaveL()                    0x0000aa38   ARM Code       0  eikcore{000a0000}-29.o(StubCode)
-    CEikDocument::HasChanged() const         0x0000aa40   ARM Code       0  eikcore{000a0000}-291.o(StubCode)
-    CEikDocument::ExternalizeL(RWriteStream&) const 0x0000aa48   ARM Code       0  eikcore{000a0000}-293.o(StubCode)
-    CEikDocument::StoreL(CStreamStore&, CStreamDictionary&) const 0x0000aa50   ARM Code       0  eikcore{000a0000}-294.o(StubCode)
-    CEikDocument::IsEmpty() const            0x0000aa58   ARM Code       0  eikcore{000a0000}-295.o(StubCode)
-    CEikApplication::Capability(TDes8&) const 0x0000aa60   ARM Code       0  eikcore{000a0000}-296.o(StubCode)
-    CEikApplication::OpenIniFileLC(RFs&) const 0x0000aa68   ARM Code       0  eikcore{000a0000}-297.o(StubCode)
-    CEikApplication::BitmapStoreName() const 0x0000aa70   ARM Code       0  eikcore{000a0000}-298.o(StubCode)
-    CEikApplication::ResourceFileName() const 0x0000aa78   ARM Code       0  eikcore{000a0000}-299.o(StubCode)
-    CEikDocument::PrintL(const CStreamStore&) 0x0000aa80   ARM Code       0  eikcore{000a0000}-30.o(StubCode)
-    CEikApplication::GetDefaultDocumentFileName(TBuf<(int)256>&) const 0x0000aa88   ARM Code       0  eikcore{000a0000}-302.o(StubCode)
-    CEikDocument::RestoreL(const CStreamStore&, const CStreamDictionary&) 0x0000aa90   ARM Code       0  eikcore{000a0000}-31.o(StubCode)
-    CEikAppUi::ClientRect() const            0x0000aa98   ARM Code       0  eikcore{000a0000}-315.o(StubCode)
-    CEikAppUi::ValidFileType(TUid) const     0x0000aaa0   ARM Code       0  eikcore{000a0000}-317.o(StubCode)
-    CEikAppUi::Document() const              0x0000aaa8   ARM Code       0  eikcore{000a0000}-319.o(StubCode)
-    CEikonEnv::DenseFont() const             0x0000aab0   ARM Code       0  eikcore{000a0000}-352.o(StubCode)
-    CEikDocument::~CEikDocument__sub_object() 0x0000aab8   ARM Code       0  eikcore{000a0000}-37.o(StubCode)
-    thunk{-36} to CEikAppUi::HandleMessageL(unsigned long, TUid, const TDesC8&) 0x0000aac0   ARM Code       0  eikcore{000a0000}-390.o(StubCode)
-    thunk{-40} to CEikAppUi::MopNext()       0x0000aac8   ARM Code       0  eikcore{000a0000}-392.o(StubCode)
-    EikStart::RunApplication(TApaApplicationFactory) 0x0000aad0   ARM Code       0  eikcore{000a0000}-394.o(StubCode)
-    CEikAppServer::ExtensionInterface(TUid, void*&) 0x0000aad8   ARM Code       0  eikcore{000a0000}-467.o(StubCode)
-    CEikonEnv::StartedAsServerApp() const    0x0000aae0   ARM Code       0  eikcore{000a0000}-472.o(StubCode)
-    CEikonEnv::AppServer() const             0x0000aae8   ARM Code       0  eikcore{000a0000}-473.o(StubCode)
-    CEikAppUi::MopNext()                     0x0000aaf0   ARM Code       0  eikcore{000a0000}-479.o(StubCode)
-    thunk{-24} to CEikAppUi::HandleSideBarMenuL(int, const TPoint&, int, const CEikHotKeyTable*) 0x0000aaf8   ARM Code       0  eikcore{000a0000}-490.o(StubCode)
-    CEikAppUi::ProcessCommandParametersL(CApaCommandLine&) 0x0000ab00   ARM Code       0  eikcore{000a0000}-506.o(StubCode)
-    CEikAppServer::CreateServiceSecurityCheckL(TUid, const RMessage2&, int&, TSecurityInfo&) 0x0000ab08   ARM Code       0  eikcore{000a0000}-523.o(StubCode)
-    CEikApplication::CEikApplication_Reserved1() 0x0000ab10   ARM Code       0  eikcore{000a0000}-532.o(StubCode)
-    CEikApplication::CEikApplication_Reserved2() 0x0000ab18   ARM Code       0  eikcore{000a0000}-533.o(StubCode)
-    MEikMenuObserver::Reserved_2_MenuObserver() 0x0000ab20   ARM Code       0  eikcore{000a0000}-534.o(StubCode)
-    MEikMenuObserver::CreateCustomCommandControlL(int) 0x0000ab28   ARM Code       0  eikcore{000a0000}-535.o(StubCode)
-    MEikMenuObserver::MEikCommandObserver_Reserved1() 0x0000ab30   ARM Code       0  eikcore{000a0000}-536.o(StubCode)
-    MEikMenuObserver::MEikCommandObserver_Reserved2() 0x0000ab38   ARM Code       0  eikcore{000a0000}-537.o(StubCode)
-    CEikDocument::ValidatePasswordL() const  0x0000ab40   ARM Code       0  eikcore{000a0000}-565.o(StubCode)
-    CEikApplication::CreateDocumentL(CApaProcess*) 0x0000ab48   ARM Code       0  eikcore{000a0000}-61.o(StubCode)
-    CEikApplication::PreDocConstructL()      0x0000ab50   ARM Code       0  eikcore{000a0000}-62.o(StubCode)
-    thunk{-24} to CEikAppUi::SetEmphasis(CCoeControl*, int) 0x0000ab58   ARM Code       0  eikcore{000a0000}-63.o(StubCode)
-    CEikApplication::CEikApplication__sub_object() 0x0000ab60   ARM Code       0  eikcore{000a0000}-64.o(StubCode)
-    CEikApplication::~CEikApplication__sub_object() 0x0000ab68   ARM Code       0  eikcore{000a0000}-67.o(StubCode)
-    MEikMenuObserver::RestoreMenuL(CCoeControl*, int, MEikMenuObserver::TMenuType) 0x0000ab70   ARM Code       0  eikcore{000a0000}-72.o(StubCode)
-    MEikMenuObserver::OfferKeyToAppL(const TKeyEvent&, TEventCode) 0x0000ab78   ARM Code       0  eikcore{000a0000}-73.o(StubCode)
-    MEikMenuObserver::DynInitMenuBarL(int, CEikMenuBar*) 0x0000ab80   ARM Code       0  eikcore{000a0000}-74.o(StubCode)
-    MEikMenuObserver::DynInitMenuPaneL(int, CEikMenuPane*) 0x0000ab88   ARM Code       0  eikcore{000a0000}-75.o(StubCode)
-    MEikMenuObserver::HandleSideBarMenuL(int, const TPoint&, int, const CEikHotKeyTable*) 0x0000ab90   ARM Code       0  eikcore{000a0000}-76.o(StubCode)
-    MEikMenuObserver::CheckHotKeyNotDimmedL(int) 0x0000ab98   ARM Code       0  eikcore{000a0000}-77.o(StubCode)
-    MEikMenuObserver::Reserved_1_MenuObserver() 0x0000aba0   ARM Code       0  eikcore{000a0000}-78.o(StubCode)
-    MEikMenuObserver::HandleAttemptDimmedSelectionL(int) 0x0000aba8   ARM Code       0  eikcore{000a0000}-79.o(StubCode)
-    CEikStatusPaneBase::ControlL(TUid) const 0x0000abb0   ARM Code       0  eikcoctl{000a0000}-1376.o(StubCode)
-    CEikMenuPane::SetItemDimmed(int, int)    0x0000abb8   ARM Code       0  eikcoctl{000a0000}-140.o(StubCode)
-    CEikButtonGroupContainer::ReduceRect(TRect&) const 0x0000abc0   ARM Code       0  eikcoctl{000a0000}-1430.o(StubCode)
-    CEikListBox::HandleItemAdditionL()       0x0000abc8   ARM Code       0  eikcoctl{000a0000}-35.o(StubCode)
-    CEikListBox::CreateScrollBarFrameL(int)  0x0000abd0   ARM Code       0  eikcoctl{000a0000}-46.o(StubCode)
-    CTextListBoxModel::SetItemTextArray(MDesC16Array*) 0x0000abd8   ARM Code       0  eikcoctl{000a0000}-605.o(StubCode)
-    CTextListBoxModel::SetOwnershipType(TListBoxModelItemArrayOwnership) 0x0000abe0   ARM Code       0  eikcoctl{000a0000}-606.o(StubCode)
-    CEikScrollBarFrame::SetScrollBarVisibilityL(CEikScrollBarFrame::TScrollBarVisibility, CEikScrollBarFrame::TScrollBarVisibility) 0x0000abe8   ARM Code       0  eikcoctl{000a0000}-660.o(StubCode)
-    CEikButtonGroupContainer::DoSetCommandL(int, int, const TDesC16*, const CFbsBitmap*, const CFbsBitmap*, CEikButtonGroupContainer::TCommandOp) 0x0000abf0   ARM Code       0  eikcoctl{000a0000}-875.o(StubCode)
-    CEikButtonGroupContainer::SetCommandSetL(int) 0x0000abf8   ARM Code       0  eikcoctl{000a0000}-880.o(StubCode)
-    CEikButtonGroupContainer::SetBoundingRect(const TRect&) 0x0000ac00   ARM Code       0  eikcoctl{000a0000}-881.o(StubCode)
-    CEikColumnListBox::Model() const         0x0000ac08   ARM Code       0  eikctl{000a0000}-455.o(StubCode)
-    CAknAppServiceBase::CreateL()            0x0000ac10   ARM Code       0  avkon{000a0000}-1132.o(StubCode)
-    CAknDocument::OpenFileL(CFileStore*&, RFile&) 0x0000ac18   ARM Code       0  avkon{000a0000}-129.o(StubCode)
-    CAknDocument::OpenFileL(int, const TDesC16&, RFs&) 0x0000ac20   ARM Code       0  avkon{000a0000}-130.o(StubCode)
-    CAknDocument::CAknDocument__sub_object(CEikApplication&) 0x0000ac28   ARM Code       0  avkon{000a0000}-131.o(StubCode)
-    CAknInformationNote::CAknInformationNote(int) 0x0000ac30   ARM Code       0  avkon{000a0000}-1341.o(StubCode)
-    CAknAppServer::ConstructL(const TDesC16&) 0x0000ac38   ARM Code       0  avkon{000a0000}-198.o(StubCode)
-    CAknAppServer::HandleAllClientsClosed()  0x0000ac40   ARM Code       0  avkon{000a0000}-199.o(StubCode)
-    CAknResourceNoteDialog::ExecuteLD(const TDesC16&) 0x0000ac48   ARM Code       0  avkon{000a0000}-1996.o(StubCode)
-    CAknAppServer::~CAknAppServer()          0x0000ac50   ARM Code       0  avkon{000a0000}-201.o(StubCode)
-    CAknAppUiBase::MopSupplyObject(TTypeUid) 0x0000ac58   ARM Code       0  avkon{000a0000}-206.o(StubCode)
-    CAknAppUiBase::HandleResourceChangeL(int) 0x0000ac60   ARM Code       0  avkon{000a0000}-211.o(StubCode)
-    CAknAppUiBase::HandleScreenDeviceChangedL() 0x0000ac68   ARM Code       0  avkon{000a0000}-213.o(StubCode)
-    CAknAppUiBase::HandleApplicationSpecificEventL(int, const TWsEvent&) 0x0000ac70   ARM Code       0  avkon{000a0000}-214.o(StubCode)
-    CAknAppUiBase::Exit()                    0x0000ac78   ARM Code       0  avkon{000a0000}-215.o(StubCode)
-    CAknAppUiBase::SetFadedL(int)            0x0000ac80   ARM Code       0  avkon{000a0000}-216.o(StubCode)
-    CAknSelectionListDialog::SetIconArrayL(CArrayPtr<CGulIcon>*) 0x0000ac88   ARM Code       0  avkon{000a0000}-2163.o(StubCode)
-    CAknAppUiBase::CAknAppUiBase()           0x0000ac90   ARM Code       0  avkon{000a0000}-217.o(StubCode)
-    CAknSelectionListDialog::NewL(int&, MDesC16Array*, int, MEikCommandObserver*) 0x0000ac98   ARM Code       0  avkon{000a0000}-2178.o(StubCode)
-    CAknAppUiBase::~CAknAppUiBase()          0x0000aca0   ARM Code       0  avkon{000a0000}-220.o(StubCode)
-    CAknSingleHeadingStyleListBox::CAknSingleHeadingStyleListBox() 0x0000aca8   ARM Code       0  avkon{000a0000}-2591.o(StubCode)
-    CAknNavigationControlContainer::CreateNavigationLabelL(const TDesC16&) 0x0000acb0   ARM Code       0  avkon{000a0000}-2624.o(StubCode)
-    CAknNavigationControlContainer::ReplaceL(CAknNavigationDecorator&, CAknNavigationDecorator&) 0x0000acb8   ARM Code       0  avkon{000a0000}-2632.o(StubCode)
-    CAknView::SetEmphasis(CCoeControl*, int) 0x0000acc0   ARM Code       0  avkon{000a0000}-2895.o(StubCode)
-    CAknView::BaseConstructL(int)            0x0000acc8   ARM Code       0  avkon{000a0000}-2898.o(StubCode)
-    CAknView::HandleCommandL(int)            0x0000acd0   ARM Code       0  avkon{000a0000}-2899.o(StubCode)
-    CAknView::ViewActivatedL(const TVwsViewId&, TUid, const TDesC8&) 0x0000acd8   ARM Code       0  avkon{000a0000}-2900.o(StubCode)
-    CAknView::MopSupplyObject(TTypeUid)      0x0000ace0   ARM Code       0  avkon{000a0000}-2901.o(StubCode)
-    CAknView::ProcessCommandL(int)           0x0000ace8   ARM Code       0  avkon{000a0000}-2902.o(StubCode)
-    CAknView::ViewDeactivated()              0x0000acf0   ARM Code       0  avkon{000a0000}-2903.o(StubCode)
-    CAknView::AknViewActivatedL(const TVwsViewId&, TUid, const TDesC8&) 0x0000acf8   ARM Code       0  avkon{000a0000}-2904.o(StubCode)
-    CAknView::Reserved_MtsmObject()          0x0000ad00   ARM Code       0  avkon{000a0000}-2905.o(StubCode)
-    CAknView::HandleViewRectChange()         0x0000ad08   ARM Code       0  avkon{000a0000}-2906.o(StubCode)
-    CAknView::Reserved_MtsmPosition()        0x0000ad10   ARM Code       0  avkon{000a0000}-2907.o(StubCode)
-    CAknView::HandleForegroundEventL(int)    0x0000ad18   ARM Code       0  avkon{000a0000}-2909.o(StubCode)
-    CAknView::ViewScreenDeviceChangedL()     0x0000ad20   ARM Code       0  avkon{000a0000}-2910.o(StubCode)
-    CAknView::HandleStatusPaneSizeChange()   0x0000ad28   ARM Code       0  avkon{000a0000}-2912.o(StubCode)
-    CAknView::MopNext()                      0x0000ad30   ARM Code       0  avkon{000a0000}-2913.o(StubCode)
-    CAknView::CAknView__sub_object()         0x0000ad38   ARM Code       0  avkon{000a0000}-2914.o(StubCode)
-    CAknView::~CAknView__sub_object()        0x0000ad40   ARM Code       0  avkon{000a0000}-2917.o(StubCode)
-    CAknAppUi::StatusPane()                  0x0000ad48   ARM Code       0  avkon{000a0000}-2919.o(StubCode)
-    CAknAppUi::HandleError(int, const SExtendedError&, TDes16&, TDes16&) 0x0000ad50   ARM Code       0  avkon{000a0000}-2920.o(StubCode)
-    CAknAppUi::PrepareToExit()               0x0000ad58   ARM Code       0  avkon{000a0000}-2922.o(StubCode)
-    CAknAppUi::HandleSystemEventL(const TWsEvent&) 0x0000ad60   ARM Code       0  avkon{000a0000}-2928.o(StubCode)
-    CAknAppUi::Reserved_MtsmObject()         0x0000ad68   ARM Code       0  avkon{000a0000}-2929.o(StubCode)
-    CAknAppUi::Reserved_MtsmPosition()       0x0000ad70   ARM Code       0  avkon{000a0000}-2930.o(StubCode)
-    CAknAppUi::HandleViewDeactivation(const TVwsViewId&, const TVwsViewId&) 0x0000ad78   ARM Code       0  avkon{000a0000}-2932.o(StubCode)
-    CAknAppUi::HandleTouchPaneSizeChange()   0x0000ad80   ARM Code       0  avkon{000a0000}-2934.o(StubCode)
-    CAknAppUi::Cba()                         0x0000ad88   ARM Code       0  avkon{000a0000}-2936.o(StubCode)
-    CAknAppServer::CreateServiceL(TUid) const 0x0000ad90   ARM Code       0  avkon{000a0000}-2993.o(StubCode)
-    CAknAppUiBase::ApplicationRect() const   0x0000ad98   ARM Code       0  avkon{000a0000}-2997.o(StubCode)
-    CAknView::ClientRect() const             0x0000ada0   ARM Code       0  avkon{000a0000}-3417.o(StubCode)
-    CAknView::Cba() const                    0x0000ada8   ARM Code       0  avkon{000a0000}-3420.o(StubCode)
-    CAknView::AppUi() const                  0x0000adb0   ARM Code       0  avkon{000a0000}-3421.o(StubCode)
-    CAknView::Redraw() const                 0x0000adb8   ARM Code       0  avkon{000a0000}-3422.o(StubCode)
-    CAknView::ViewId() const                 0x0000adc0   ARM Code       0  avkon{000a0000}-3423.o(StubCode)
-    CAknView::MenuBar() const                0x0000adc8   ARM Code       0  avkon{000a0000}-3424.o(StubCode)
-    CAknViewAppUi::BaseConstructL(int)       0x0000add0   ARM Code       0  avkon{000a0000}-367.o(StubCode)
-    CAknViewAppUi::HandleWsEventL(const TWsEvent&, CCoeControl*) 0x0000add8   ARM Code       0  avkon{000a0000}-368.o(StubCode)
-    CAknViewAppUi::ProcessCommandL(int)      0x0000ade0   ARM Code       0  avkon{000a0000}-369.o(StubCode)
-    CAknViewAppUi::ActivateLocalViewL(TUid)  0x0000ade8   ARM Code       0  avkon{000a0000}-370.o(StubCode)
-    CAknViewAppUi::StopDisplayingMenuBar()   0x0000adf0   ARM Code       0  avkon{000a0000}-372.o(StubCode)
-    CAknViewAppUi::HandleForegroundEventL(int) 0x0000adf8   ARM Code       0  avkon{000a0000}-373.o(StubCode)
-    CAknViewAppUi::HandleStatusPaneSizeChange() 0x0000ae00   ARM Code       0  avkon{000a0000}-374.o(StubCode)
-    CAknViewAppUi::AddViewL(CAknView*)       0x0000ae08   ARM Code       0  avkon{000a0000}-375.o(StubCode)
-    CAknViewAppUi::~CAknViewAppUi()          0x0000ae10   ARM Code       0  avkon{000a0000}-377.o(StubCode)
-    thunk{-100} to CAknAppUi::HandleTouchPaneSizeChange() 0x0000ae18   ARM Code       0  avkon{000a0000}-3826.o(StubCode)
-    thunk{-12} to CAknView::SetEmphasis(CCoeControl*, int) 0x0000ae20   ARM Code       0  avkon{000a0000}-3831.o(StubCode)
-    thunk{-12} to CAknView::ProcessCommandL(int) 0x0000ae28   ARM Code       0  avkon{000a0000}-3832.o(StubCode)
-    thunk{-24} to CAknViewAppUi::ProcessCommandL(int) 0x0000ae30   ARM Code       0  avkon{000a0000}-3857.o(StubCode)
-    thunk{-24} to CAknView::MopSupplyObject(TTypeUid) 0x0000ae38   ARM Code       0  avkon{000a0000}-3860.o(StubCode)
-    thunk{-24} to CAknView::MopNext()        0x0000ae40   ARM Code       0  avkon{000a0000}-3861.o(StubCode)
-    thunk{-40} to CAknAppUiBase::MopSupplyObject(TTypeUid) 0x0000ae48   ARM Code       0  avkon{000a0000}-3868.o(StubCode)
-    thunk{-4} to CAknView::ViewActivatedL(const TVwsViewId&, TUid, const TDesC8&) 0x0000ae50   ARM Code       0  avkon{000a0000}-3947.o(StubCode)
-    thunk{-4} to CAknView::ViewDeactivated() 0x0000ae58   ARM Code       0  avkon{000a0000}-3948.o(StubCode)
-    thunk{-4} to CAknView::ViewScreenDeviceChangedL() 0x0000ae60   ARM Code       0  avkon{000a0000}-3949.o(StubCode)
-    thunk{-4} to CAknView::ViewId() const    0x0000ae68   ARM Code       0  avkon{000a0000}-3983.o(StubCode)
-    thunk{-88} to CAknViewAppUi::HandleStatusPaneSizeChange() 0x0000ae70   ARM Code       0  avkon{000a0000}-4014.o(StubCode)
-    thunk{-92} to CAknAppUi::HandleViewDeactivation(const TVwsViewId&, const TVwsViewId&) 0x0000ae78   ARM Code       0  avkon{000a0000}-4030.o(StubCode)
-    AknIconUtils::CreateIconLC(CFbsBitmap*&, CFbsBitmap*&, const TDesC16&, int, int) 0x0000ae80   ARM Code       0  AknIcon{000a0000}-13.o(StubCode)
-    CGulIcon::SetBitmapsOwnedExternally(int) 0x0000ae88   ARM Code       0  egul{000a0000}-94.o(StubCode)
-    CGulIcon::NewL(CFbsBitmap*, CFbsBitmap*) 0x0000ae90   ARM Code       0  egul{000a0000}-95.o(StubCode)
-    CFont::AscentInPixels() const            0x0000ae98   ARM Code       0  gdi{000a0000}-310.o(StubCode)
-    CFont::HeightInPixels() const            0x0000aea0   ARM Code       0  gdi{000a0000}-311.o(StubCode)
-    CFont::FontSpecInTwips() const           0x0000aea8   ARM Code       0  gdi{000a0000}-312.o(StubCode)
-    CFbsBitmap::Create(const TSize&, TDisplayMode) 0x0000aeb0   ARM Code       0  fbscli{000a0000}-26.o(StubCode)
-    CFbsBitmap::CFbsBitmap()                 0x0000aeb8   ARM Code       0  fbscli{000a0000}-31.o(StubCode)
-    CPosLandmark::NewL(const CPosLandmark&)  0x0000aec0   ARM Code       0  eposlandmarks{000a0000}-12.o(StubCode)
-    CPosLandmark::NewLC()                    0x0000aec8   ARM Code       0  eposlandmarks{000a0000}-15.o(StubCode)
-    CPosLandmark::SetPositionL(const TLocality&) 0x0000aed0   ARM Code       0  eposlandmarks{000a0000}-4.o(StubCode)
-    CPosLandmarkDatabase::OpenL(const TDesC16&) 0x0000aed8   ARM Code       0  eposlandmarks{000a0000}-50.o(StubCode)
-    CPosLandmark::GetPosition(TLocality&) const 0x0000aee0   ARM Code       0  eposlandmarks{000a0000}-65.o(StubCode)
-    CPosLandmark::GetLandmarkName(TPtrC16&) const 0x0000aee8   ARM Code       0  eposlandmarks{000a0000}-67.o(StubCode)
-    CPosLandmark::GetIcon(TPtrC16&, int&, int&) const 0x0000aef0   ARM Code       0  eposlandmarks{000a0000}-75.o(StubCode)
-    TPositionUpdateOptions::TPositionUpdateOptions() 0x0000aef8   ARM Code       0  lbs{000a0000}-152.o(StubCode)
-    TPositionUpdateOptionsBase::SetUpdateTimeOut(TTimeIntervalMicroSeconds) 0x0000af00   ARM Code       0  lbs{000a0000}-180.o(StubCode)
-    TPositionUpdateOptionsBase::SetUpdateInterval(TTimeIntervalMicroSeconds) 0x0000af08   ARM Code       0  lbs{000a0000}-181.o(StubCode)
-    TLocality::TLocality(const TCoordinate&, float) 0x0000af10   ARM Code       0  lbs{000a0000}-205.o(StubCode)
-    TLocality::TLocality()                   0x0000af18   ARM Code       0  lbs{000a0000}-207.o(StubCode)
-    TCoordinate::TCoordinate(const double&, const double&) 0x0000af20   ARM Code       0  lbs{000a0000}-21.o(StubCode)
-    TPosition::TPosition()                   0x0000af28   ARM Code       0  lbs{000a0000}-214.o(StubCode)
-    TCoordinate::Latitude() const            0x0000af30   ARM Code       0  lbs{000a0000}-223.o(StubCode)
-    TCoordinate::Longitude() const           0x0000af38   ARM Code       0  lbs{000a0000}-225.o(StubCode)
-    TPositionInfo::GetPosition(TPosition&) const 0x0000af40   ARM Code       0  lbs{000a0000}-226.o(StubCode)
-    TCoordinate::TCoordinate()               0x0000af48   ARM Code       0  lbs{000a0000}-23.o(StubCode)
-    TPositionInfo::TPositionInfo()           0x0000af50   ARM Code       0  lbs{000a0000}-28.o(StubCode)
-    TLocality::Distance(const TCoordinate&, float&) const 0x0000af58   ARM Code       0  lbs{000a0000}-304.o(StubCode)
-    TLocality::BearingTo(const TCoordinate&, float&) const 0x0000af60   ARM Code       0  lbs{000a0000}-306.o(StubCode)
-    CMnServiceBase::ServiceError(const RMessage2&, int) 0x0000af68   ARM Code       0  mnservicelib{000a0000}-1.o(StubCode)
-    CMnMapViewServiceBase::LinkedLandmarksToShow(int) 0x0000af70   ARM Code       0  mnservicelib{000a0000}-10.o(StubCode)
-    CMnMapViewServiceBase::CompleteSelectionRequest(int) 0x0000af78   ARM Code       0  mnservicelib{000a0000}-11.o(StubCode)
-    CMnMapViewServiceBase::CompleteSelectionRequest(unsigned long, int) 0x0000af80   ARM Code       0  mnservicelib{000a0000}-12.o(StubCode)
-    CMnMapViewServiceBase::LandmarksToShowDatabases() 0x0000af88   ARM Code       0  mnservicelib{000a0000}-13.o(StubCode)
-    CMnMapViewServiceBase::CompleteSelectionRequestL(const CPosLandmark&) 0x0000af90   ARM Code       0  mnservicelib{000a0000}-14.o(StubCode)
-    CMnMapViewServiceBase::Options()         0x0000af98   ARM Code       0  mnservicelib{000a0000}-15.o(StubCode)
-    CMnMapViewServiceBase::ServiceL(const RMessage2&) 0x0000afa0   ARM Code       0  mnservicelib{000a0000}-16.o(StubCode)
-    CMnMapViewServiceBase::CMnMapViewServiceBase__sub_object() 0x0000afa8   ARM Code       0  mnservicelib{000a0000}-17.o(StubCode)
-    CMnServiceBase::CompleteRequest(int)     0x0000afb0   ARM Code       0  mnservicelib{000a0000}-2.o(StubCode)
-    CMnMapViewServiceBase::~CMnMapViewServiceBase__sub_object() 0x0000afb8   ARM Code       0  mnservicelib{000a0000}-20.o(StubCode)
-    CMnNavigationServiceBase::BaseConstructL() 0x0000afc0   ARM Code       0  mnservicelib{000a0000}-28.o(StubCode)
-    CMnNavigationServiceBase::ServiceL(const RMessage2&) 0x0000afc8   ARM Code       0  mnservicelib{000a0000}-29.o(StubCode)
-    CMnNavigationServiceBase::CMnNavigationServiceBase__sub_object() 0x0000afd0   ARM Code       0  mnservicelib{000a0000}-30.o(StubCode)
-    CMnNavigationServiceBase::~CMnNavigationServiceBase__sub_object() 0x0000afd8   ARM Code       0  mnservicelib{000a0000}-33.o(StubCode)
-    CMnMapViewServiceBase::BaseConstructL()  0x0000afe0   ARM Code       0  mnservicelib{000a0000}-4.o(StubCode)
-    CMnMapViewServiceBase::LandmarksToShow() 0x0000afe8   ARM Code       0  mnservicelib{000a0000}-5.o(StubCode)
-    CMnMapViewServiceBase::SelectionRequestText() 0x0000aff0   ARM Code       0  mnservicelib{000a0000}-7.o(StubCode)
-    CMnrpEngine::NewL()                      0x0000aff8   ARM Code       0  mnrefproviderengine{000a0000}-12.o(StubCode)
-    CMnrpMapModel::UpdateModelL(CMnrpMapViewService&) 0x0000b000   ARM Code       0  mnrefproviderengine{000a0000}-17.o(StubCode)
-    CMnrpMapModel::SetScreenSize(TSize)      0x0000b008   ARM Code       0  mnrefproviderengine{000a0000}-19.o(StubCode)
-    CMnrpMapModel::NumIgnoredLandmarks()     0x0000b010   ARM Code       0  mnrefproviderengine{000a0000}-20.o(StubCode)
-    CMnrpMapModel::NewL(MMapModelObserver&, CMnrpEngine&) 0x0000b018   ARM Code       0  mnrefproviderengine{000a0000}-22.o(StubCode)
-    CMnrpMapModel::Zoom(double)              0x0000b020   ARM Code       0  mnrefproviderengine{000a0000}-23.o(StubCode)
-    CMnrpMapModel::MoveTo(TCoordinate)       0x0000b028   ARM Code       0  mnrefproviderengine{000a0000}-24.o(StubCode)
-    CMnrpMapModel::GoCenter()                0x0000b030   ARM Code       0  mnrefproviderengine{000a0000}-25.o(StubCode)
-    CMnrpPositionRequest::GetPosition(TPositionInfo&) 0x0000b038   ARM Code       0  mnrefproviderengine{000a0000}-26.o(StubCode)
-    CMnrpPositionRequest::SetOptionsL(const TPositionUpdateOptionsBase&) 0x0000b040   ARM Code       0  mnrefproviderengine{000a0000}-27.o(StubCode)
-    CMnrpPositionRequest::MagneticCourse()   0x0000b048   ARM Code       0  mnrefproviderengine{000a0000}-28.o(StubCode)
-    CMnrpPositionRequest::MagneticHeading()  0x0000b050   ARM Code       0  mnrefproviderengine{000a0000}-29.o(StubCode)
-    CMnrpPositionRequest::FetchNewPosition(int) 0x0000b058   ARM Code       0  mnrefproviderengine{000a0000}-30.o(StubCode)
-    CMnrpPositionRequest::NewL(const TDesC16&, MMnrpPositionObserver&) 0x0000b060   ARM Code       0  mnrefproviderengine{000a0000}-31.o(StubCode)
-    CMnrpPositionRequest::Speed()            0x0000b068   ARM Code       0  mnrefproviderengine{000a0000}-32.o(StubCode)
-    CMnrpPositionRequest::Course()           0x0000b070   ARM Code       0  mnrefproviderengine{000a0000}-33.o(StubCode)
-    CMnrpPositionRequest::Heading()          0x0000b078   ARM Code       0  mnrefproviderengine{000a0000}-34.o(StubCode)
-    MnrpUtils::AngleToString(double, TDes16&) 0x0000b080   ARM Code       0  mnrefproviderengine{000a0000}-38.o(StubCode)
-    MnrpUtils::SpeedToString(double, TDes16&) 0x0000b088   ARM Code       0  mnrefproviderengine{000a0000}-39.o(StubCode)
-    MnrpUtils::DistanceToString(double, TDes16&) 0x0000b090   ARM Code       0  mnrefproviderengine{000a0000}-40.o(StubCode)
-    MnrpUtils::PrintableStringLC(const TDesC16&) 0x0000b098   ARM Code       0  mnrefproviderengine{000a0000}-41.o(StubCode)
-    MnrpUtils::CoordinateToString(double, TDes16&, int, int) 0x0000b0a0   ARM Code       0  mnrefproviderengine{000a0000}-42.o(StubCode)
-    CMnrpMapModel::AbsoluteToScreen(TCoordinate) const 0x0000b0a8   ARM Code       0  mnrefproviderengine{000a0000}-43.o(StubCode)
-    CMnrpMapModel::ScreenToAbsolute(TPoint) const 0x0000b0b0   ARM Code       0  mnrefproviderengine{000a0000}-44.o(StubCode)
-    CMnrpMapModel::ScreenToAbsolute(int) const 0x0000b0b8   ARM Code       0  mnrefproviderengine{000a0000}-45.o(StubCode)
-    CMnrpMapModel::Top() const               0x0000b0c0   ARM Code       0  mnrefproviderengine{000a0000}-46.o(StubCode)
-    CMnrpMapModel::Left() const              0x0000b0c8   ARM Code       0  mnrefproviderengine{000a0000}-47.o(StubCode)
-    CMnrpMapModel::Right() const             0x0000b0d0   ARM Code       0  mnrefproviderengine{000a0000}-48.o(StubCode)
-    CMnrpMapModel::Bottom() const            0x0000b0d8   ARM Code       0  mnrefproviderengine{000a0000}-50.o(StubCode)
-    CMnrpMapModel::Center() const            0x0000b0e0   ARM Code       0  mnrefproviderengine{000a0000}-51.o(StubCode)
-    CMnrpMapModel::GetGrid(CMnrpMapModel::TGrid&) const 0x0000b0e8   ARM Code       0  mnrefproviderengine{000a0000}-53.o(StubCode)
-    CMnrpMapModel::RenderL(CFbsBitmap&, TRect, CFont*, CFont*) const 0x0000b0f0   ARM Code       0  mnrefproviderengine{000a0000}-54.o(StubCode)
-    __aeabi_dadd                             0x0000b0f8   ARM Code       0  dfpaeabi{000a0000}-12.o(StubCode)
-    __aeabi_dmul                             0x0000b100   ARM Code       0  dfpaeabi{000a0000}-20.o(StubCode)
-    __aeabi_dsub                             0x0000b108   ARM Code       0  dfpaeabi{000a0000}-23.o(StubCode)
-    __aeabi_f2d                              0x0000b110   ARM Code       0  dfpaeabi{000a0000}-24.o(StubCode)
-    __aeabi_i2d                              0x0000b118   ARM Code       0  dfpaeabi{000a0000}-41.o(StubCode)
-    __aeabi_d2iz                             0x0000b120   ARM Code       0  dfpaeabi{000a0000}-8.o(StubCode)
-    __aeabi_memcpy4                          0x0000b128   ARM Code       0  drtaeabi{000a0000}-147.o(StubCode)
-    __aeabi_unwind_cpp_pr0                   0x0000b130   ARM Code       0  drtaeabi{000a0000}-158.o(StubCode)
-    __aeabi_unwind_cpp_pr1                   0x0000b138   ARM Code       0  drtaeabi{000a0000}-159.o(StubCode)
-    __cxa_begin_catch                        0x0000b140   ARM Code       0  drtaeabi{000a0000}-180.o(StubCode)
-    __cxa_call_unexpected                    0x0000b148   ARM Code       0  drtaeabi{000a0000}-182.o(StubCode)
-    __cxa_end_catch                          0x0000b150   ARM Code       0  drtaeabi{000a0000}-183.o(StubCode)
-    __cxa_end_cleanup                        0x0000b158   ARM Code       0  drtaeabi{000a0000}-184.o(StubCode)
-    __cxa_pure_virtual                       0x0000b160   ARM Code       0  drtaeabi{000a0000}-189.o(StubCode)
-    operator delete (void*)                  0x0000b168   ARM Code       0  scppnwdl{000a0000}-3.o(StubCode)
-    UserHeap::SetupThreadHeap(int, SStdEpocThreadCreateInfo&) 0x0000b170   ARM Code       0  euser{000a0000}-1360.o(StubCode)
-    User::Exit(int)                          0x0000b178   ARM Code       0  euser{000a0000}-641.o(StubCode)
-    User::InitProcess()                      0x0000b180   ARM Code       0  euser{000a0000}-585.o(StubCode)
-    User::Panic(const TDesC16&, int)         0x0000b188   ARM Code       0  euser{000a0000}-650.o(StubCode)
-    TCppRTExceptionsGlobals::TCppRTExceptionsGlobals() 0x0000b190   ARM Code       0  drtaeabi{000a0000}-204.o(StubCode)
-    CAknDocument::~CAknDocument()            0x0000b199   Thumb Code     0  mnrefprovider.in(i._ZN12CAknDocumentD2Ev)
-    CAknDocument::~CAknDocument__sub_object() 0x0000b199   Thumb Code     8  mnrefprovider.in(i._ZN12CAknDocumentD2Ev)
-    CApaDocument::DetachFromStoreL(CPicture::TDetach) 0x0000b1a1   Thumb Code     2  mnrefprovider.in(i._ZN12CApaDocument16DetachFromStoreLEN8CPicture7TDetachE)
-    CArrayPtrSeg<CGulIcon>::~CArrayPtrSeg__deallocating() 0x0000b1a3   Thumb Code    16  mnrefprovider.in(i._ZN12CArrayPtrSegI8CGulIconED0Ev)
-    CArrayPtrSeg<CGulIcon>::~CArrayPtrSeg()  0x0000b1b3   Thumb Code     8  mnrefprovider.in(i._ZN12CArrayPtrSegI8CGulIconED1Ev)
-    CArrayPtrSeg<CGulIcon>::~CArrayPtrSeg__sub_object() 0x0000b1b3   Thumb Code     0  mnrefprovider.in(i._ZN12CArrayPtrSegI8CGulIconED1Ev)
-    CAknViewAppUi::CAknViewAppUi()           0x0000b1bd   Thumb Code    50  mnrefprovider.in(i._ZN13CAknViewAppUiC1Ev)
-    CAknViewAppUi::CAknViewAppUi__sub_object() 0x0000b1bd   Thumb Code     0  mnrefprovider.in(i._ZN13CAknViewAppUiC1Ev)
-    CMnrpApplication::~CMnrpApplication__deallocating() 0x0000b203   Thumb Code    16  mnrefprovider.in(i._ZN16CMnrpApplicationD0Ev)
-    CMnrpApplication::~CMnrpApplication()    0x0000b213   Thumb Code     8  mnrefprovider.in(i._ZN16CMnrpApplicationD1Ev)
-    CMnrpApplication::~CMnrpApplication__sub_object() 0x0000b213   Thumb Code     0  mnrefprovider.in(i._ZN16CMnrpApplicationD1Ev)
-    CBase::operator new(unsigned)            0x0000b21b   Thumb Code     8  mnrefprovider.in(i._ZN5CBasenwEj)
-    TRect::TRect(const TRect&)               0x0000b223   Thumb Code    18  mnrefprovider.in(i._ZN5TRectC1ERKS_)
-    TRect::TRect__sub_object(const TRect&)   0x0000b223   Thumb Code     0  mnrefprovider.in(i._ZN5TRectC1ERKS_)
-    CArrayFix<CGulIcon*>::~CArrayFix()       0x0000b235   Thumb Code     8  mnrefprovider.in(i._ZN9CArrayFixIP8CGulIconED1Ev)
-    CArrayFix<CGulIcon*>::~CArrayFix__sub_object() 0x0000b235   Thumb Code     0  mnrefprovider.in(i._ZN9CArrayFixIP8CGulIconED1Ev)
-    CArrayPtr<CGulIcon>::~CArrayPtr()        0x0000b23d   Thumb Code     8  mnrefprovider.in(i._ZN9CArrayPtrI8CGulIconED1Ev)
-    CArrayPtr<CGulIcon>::~CArrayPtr__sub_object() 0x0000b23d   Thumb Code     0  mnrefprovider.in(i._ZN9CArrayPtrI8CGulIconED1Ev)
-    CleanupClose<RArray<int>>::Close(void*)  0x0000b245   Thumb Code     8  mnrefprovider.in(t._ZN12CleanupCloseI6RArrayIiEE5CloseEPv)
-    CleanupClose<RArray<unsigned long>>::Close(void*) 0x0000b24d   Thumb Code     8  mnrefprovider.in(t._ZN12CleanupCloseI6RArrayImEE5CloseEPv)
-    RPointerArray<CMnrpNaviModel::CListItem>::ResetAndDestroy() 0x0000b255   Thumb Code    48  mnrefprovider.in(t._ZN13RPointerArrayIN14CMnrpNaviModel9CListItemEE15ResetAndDestroyEv)
-    RPointerArray<CMnrpNaviModel::CListItem>::AppendL(const CMnrpNaviModel::CListItem*) 0x0000b285   Thumb Code    12  mnrefprovider.in(t._ZN13RPointerArrayIN14CMnrpNaviModel9CListItemEE7AppendLEPKS1_)
-    TBuf<(int)15>::TBuf()                    0x0000b291   Thumb Code    10  mnrefprovider.in(t._ZN4TBufILi15EEC1Ev)
-    TBuf<(int)15>::TBuf__sub_object()        0x0000b291   Thumb Code     0  mnrefprovider.in(t._ZN4TBufILi15EEC1Ev)
-    typeinfo for CMnrpAppUi                  0x0000b758   Data          12  mnrefprovider.in(.constdata__ZTI10CMnrpAppUi)
-    typeinfo for CArrayPtrSeg<CGulIcon>      0x0000b764   Data          12  mnrefprovider.in(.constdata__ZTI12CArrayPtrSegI8CGulIconE)
-    typeinfo for CMnrpAppView                0x0000b770   Data          12  mnrefprovider.in(.constdata__ZTI12CMnrpAppView)
-    typeinfo for CMnrpMapView                0x0000b77c   Data          12  mnrefprovider.in(.constdata__ZTI12CMnrpMapView)
-    typeinfo for CMnrpDocument               0x0000b788   Data          12  mnrefprovider.in(.constdata__ZTI13CMnrpDocument)
-    typeinfo for CMnrpNaviView               0x0000b794   Data          12  mnrefprovider.in(.constdata__ZTI13CMnrpNaviView)
-    typeinfo for CMnrpAppServer              0x0000b7a0   Data          12  mnrefprovider.in(.constdata__ZTI14CMnrpAppServer)
-    typeinfo for CMnrpNaviModel              0x0000b7ac   Data          32  mnrefprovider.in(.constdata__ZTI14CMnrpNaviModel)
-    typeinfo for CMnrpAppControl             0x0000b7cc   Data          12  mnrefprovider.in(.constdata__ZTI15CMnrpAppControl)
-    typeinfo for CMnrpMapControl             0x0000b7d8   Data          32  mnrefprovider.in(.constdata__ZTI15CMnrpMapControl)
-    typeinfo for CMnrpApplication            0x0000b7f8   Data          12  mnrefprovider.in(.constdata__ZTI16CMnrpApplication)
-    typeinfo for CMnrpNaviControl            0x0000b804   Data          32  mnrefprovider.in(.constdata__ZTI16CMnrpNaviControl)
-    typeinfo for MMapModelObserver           0x0000b824   Data           8  mnrefprovider.in(.constdata__ZTI17MMapModelObserver)
-    typeinfo for MNaviModelObserver          0x0000b82c   Data           8  mnrefprovider.in(.constdata__ZTI18MNaviModelObserver)
-    typeinfo for CMnrpMapViewService         0x0000b834   Data          32  mnrefprovider.in(.constdata__ZTI19CMnrpMapViewService)
-    typeinfo for MMapSelectionCallback       0x0000b854   Data           8  mnrefprovider.in(.constdata__ZTI21MMapSelectionCallback)
-    typeinfo for MMnrpPositionObserver       0x0000b85c   Data           8  mnrefprovider.in(.constdata__ZTI21MMnrpPositionObserver)
-    typeinfo for CMnrpNavigationService      0x0000b864   Data          12  mnrefprovider.in(.constdata__ZTI22CMnrpNavigationService)
-    typeinfo for MEikStatusPaneObserver      0x0000b870   Data           8  mnrefprovider.in(.constdata__ZTI22MEikStatusPaneObserver)
-    typeinfo for CArrayFix<CGulIcon*>        0x0000b878   Data          12  mnrefprovider.in(.constdata__ZTI9CArrayFixIP8CGulIconE)
-    typeinfo for CArrayPtr<CGulIcon>         0x0000b884   Data          12  mnrefprovider.in(.constdata__ZTI9CArrayPtrI8CGulIconE)
-    typeinfo for CMnrpNaviModel::CListItem   0x0000b890   Data          12  mnrefprovider.in(.constdata__ZTIN14CMnrpNaviModel9CListItemE)
-    typeinfo name for CMnrpAppUi             0x0000b89c   Data          13  mnrefprovider.in(.constdata__ZTS10CMnrpAppUi)
-    typeinfo name for CArrayPtrSeg<CGulIcon> 0x0000b8a9   Data          26  mnrefprovider.in(.constdata__ZTS12CArrayPtrSegI8CGulIconE)
-    typeinfo name for CMnrpAppView           0x0000b8c3   Data          15  mnrefprovider.in(.constdata__ZTS12CMnrpAppView)
-    typeinfo name for CMnrpMapView           0x0000b8d2   Data          15  mnrefprovider.in(.constdata__ZTS12CMnrpMapView)
-    typeinfo name for CMnrpDocument          0x0000b8e1   Data          16  mnrefprovider.in(.constdata__ZTS13CMnrpDocument)
-    typeinfo name for CMnrpNaviView          0x0000b8f1   Data          16  mnrefprovider.in(.constdata__ZTS13CMnrpNaviView)
-    typeinfo name for CMnrpAppServer         0x0000b901   Data          17  mnrefprovider.in(.constdata__ZTS14CMnrpAppServer)
-    typeinfo name for CMnrpNaviModel         0x0000b912   Data          17  mnrefprovider.in(.constdata__ZTS14CMnrpNaviModel)
-    typeinfo name for CMnrpAppControl        0x0000b923   Data          18  mnrefprovider.in(.constdata__ZTS15CMnrpAppControl)
-    typeinfo name for CMnrpMapControl        0x0000b935   Data          18  mnrefprovider.in(.constdata__ZTS15CMnrpMapControl)
-    typeinfo name for CMnrpApplication       0x0000b947   Data          19  mnrefprovider.in(.constdata__ZTS16CMnrpApplication)
-    typeinfo name for CMnrpNaviControl       0x0000b95a   Data          19  mnrefprovider.in(.constdata__ZTS16CMnrpNaviControl)
-    typeinfo name for MMapModelObserver      0x0000b96d   Data          20  mnrefprovider.in(.constdata__ZTS17MMapModelObserver)
-    typeinfo name for MNaviModelObserver     0x0000b981   Data          21  mnrefprovider.in(.constdata__ZTS18MNaviModelObserver)
-    typeinfo name for CMnrpMapViewService    0x0000b996   Data          22  mnrefprovider.in(.constdata__ZTS19CMnrpMapViewService)
-    typeinfo name for MMapSelectionCallback  0x0000b9ac   Data          24  mnrefprovider.in(.constdata__ZTS21MMapSelectionCallback)
-    typeinfo name for MMnrpPositionObserver  0x0000b9c4   Data          24  mnrefprovider.in(.constdata__ZTS21MMnrpPositionObserver)
-    typeinfo name for CMnrpNavigationService 0x0000b9dc   Data          25  mnrefprovider.in(.constdata__ZTS22CMnrpNavigationService)
-    typeinfo name for MEikStatusPaneObserver 0x0000b9f5   Data          25  mnrefprovider.in(.constdata__ZTS22MEikStatusPaneObserver)
-    typeinfo name for CArrayFix<CGulIcon*>   0x0000ba0e   Data          23  mnrefprovider.in(.constdata__ZTS9CArrayFixIP8CGulIconE)
-    typeinfo name for CArrayPtr<CGulIcon>    0x0000ba25   Data          22  mnrefprovider.in(.constdata__ZTS9CArrayPtrI8CGulIconE)
-    typeinfo name for CMnrpNaviModel::CListItem 0x0000ba3b   Data          29  mnrefprovider.in(.constdata__ZTSN14CMnrpNaviModel9CListItemE)
-    vtable for CMnrpAppUi                    0x0000ba58   Data         340  mnrefprovider.in(.constdata__ZTV10CMnrpAppUi)
-    vtable for CArrayPtrSeg<CGulIcon>        0x0000bbac   Data          20  mnrefprovider.in(.constdata__ZTV12CArrayPtrSegI8CGulIconE)
-    vtable for CMnrpAppView                  0x0000bbc0   Data         232  mnrefprovider.in(.constdata__ZTV12CMnrpAppView)
-    vtable for CMnrpMapView                  0x0000bca8   Data         236  mnrefprovider.in(.constdata__ZTV12CMnrpMapView)
-    vtable for CMnrpDocument                 0x0000bd94   Data         112  mnrefprovider.in(.constdata__ZTV13CMnrpDocument)
-    vtable for CMnrpNaviView                 0x0000be04   Data         232  mnrefprovider.in(.constdata__ZTV13CMnrpNaviView)
-    vtable for CMnrpAppServer                0x0000beec   Data          76  mnrefprovider.in(.constdata__ZTV14CMnrpAppServer)
-    vtable for CMnrpNaviModel                0x0000bf38   Data          36  mnrefprovider.in(.constdata__ZTV14CMnrpNaviModel)
-    vtable for CMnrpAppControl               0x0000bf5c   Data         208  mnrefprovider.in(.constdata__ZTV15CMnrpAppControl)
-    vtable for CMnrpMapControl               0x0000c02c   Data         224  mnrefprovider.in(.constdata__ZTV15CMnrpMapControl)
-    vtable for CMnrpApplication              0x0000c10c   Data          80  mnrefprovider.in(.constdata__ZTV16CMnrpApplication)
-    vtable for CMnrpNaviControl              0x0000c15c   Data         224  mnrefprovider.in(.constdata__ZTV16CMnrpNaviControl)
-    vtable for CMnrpMapViewService           0x0000c23c   Data         112  mnrefprovider.in(.constdata__ZTV19CMnrpMapViewService)
-    vtable for CMnrpNavigationService        0x0000c2ac   Data          64  mnrefprovider.in(.constdata__ZTV22CMnrpNavigationService)
-    vtable for MEikStatusPaneObserver        0x0000c2ec   Data          12  mnrefprovider.in(.constdata__ZTV22MEikStatusPaneObserver)
-    vtable for CMnrpNaviModel::CListItem     0x0000c2f8   Data          20  mnrefprovider.in(.constdata__ZTVN14CMnrpNaviModel9CListItemE)
-    SHT$$INIT_ARRAY$$Base                    0x0000c30c   Number         0  mnrefprovider.in(.init_array)
-    .ARM.exidx$$Base                         0x0000c310   Number         0  uc_exe_.o(.ARM.exidx)
-    SHT$$INIT_ARRAY$$Limit                   0x0000c310   Data           0  mnrefprovider.in(.init_array)
-    .ARM.exidx$$Limit                        0x0000c6a0   Number         0  mnrefprovider.in(.ARM.exidx)
-    Image$$ER_RO$$Limit                      0x0000c6a0   Number         0  anon$$obj.o(linker$$defined$$symbols)
-
Binary file locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/data/armv5/urel/mnrefproviderback.exe has changed
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/data/armv5/urel/mnrefproviderback.exe.map	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1319 +0,0 @@
-ARM Linker, RVCT2.2 [Build 593]
-
-================================================================================
-
-Image Symbol Table
-
-    Local Symbols
-
-    Symbol Name                              Value     Ov Type        Size  Object(Section)
-
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-293.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-13.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1995.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-294.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-65.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1997.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-295.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-68.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1999.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-296.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-207.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-203.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-297.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-23.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-205.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-298.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-1.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2060.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-299.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-2.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2061.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-30.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-21.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-204.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-302.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-22.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-208.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-31.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-23.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2082.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-317.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-24.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2120.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-352.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-27.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2123.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-37.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-34.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2125.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-390.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-45.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-213.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-392.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-46.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-214.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-394.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-47.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-215.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-467.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-49.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-216.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-479.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-50.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-217.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-490.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-53.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-220.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-506.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-56.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2920.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-523.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-10.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2922.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-532.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-12.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2924.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-533.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-18.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2925.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-534.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-19.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2926.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-535.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-21.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2928.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-536.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-4.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2929.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-537.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-5.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2930.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-565.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-54.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2931.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-61.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-6.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2932.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-62.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-144.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2934.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-63.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-158.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2935.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1088.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-159.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2938.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1116.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-180.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2993.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1119.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-182.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2997.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1171.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-183.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3826.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1288.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-184.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3862.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1379.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-189.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3868.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1381.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  scppnwdl{000a0000}-3.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-4021.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1590.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1360.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-4030.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1593.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-641.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-12.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1817.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  ws32{000a0000}-211.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-280.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-677.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  gdi{000a0000}-312.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-284.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-121.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-1132.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-585.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-132.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-129.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-650.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-171.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-130.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-287.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-192.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-131.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-30.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-194.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-1350.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-141.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-202.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-1351.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-142.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-207.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-1366.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-143.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-232.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-198.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-144.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-273.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-199.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-147.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-274.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-201.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-152.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-275.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-206.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-155.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-279.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2131.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-158.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-100.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-471.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-159.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-101.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-474.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-166.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-285.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-481.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-169.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-286.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-613.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-171.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-182.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-649.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-175.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-210.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-652.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-18.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-212.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-654.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-20.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-220.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-669.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-25.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-351.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-679.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-26.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-355.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-681.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-27.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-638.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-838.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-28.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-639.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bafl{000a0000}-43.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-29.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-664.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bafl{000a0000}-98.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-291.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-676.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-64.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-77.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-75.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-67.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-78.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-128.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-127.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-79.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-74.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-211.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-222.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-72.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-73.o ABSOLUTE
-    M:/epoc32/build/apputils/c_da81efa927799d7f/bafl_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/compsupp/c_18558cc638e6e874/drtaeabi_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/cone/c_17e36feeaf3b2ee8/cone_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/gdi/c_5dab287815cadb7b/gdi_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/store/c_93a13d203e6d3ba7/estor_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/uikon/c_9cf7bef4a7562444/eikcore_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:\\sf\\os\\kernelhwsrv\\kernel\\eka\\compsupp\\rvct2_2\\ucppinit_aeabi.cpp 0x00000000   Number         0  ucppinit_aeabi.o ABSOLUTE
-    M:\sf\os\kernelhwsrv\kernel\eka\compsupp\rvct2_2\dllexp.cpp 0x00000000   Number         0  dllexp.o ABSOLUTE
-    M:\sf\os\kernelhwsrv\kernel\eka\compsupp\rvct2_2\ucppinit_aeabi.cpp 0x00000000   Number         0  ucppinit_aeabi.o ABSOLUTE
-    M:\sf\os\kernelhwsrv\kernel\eka\compsupp\symaehabi\callfirstprocessfn.cpp 0x00000000   Number         0  callfirstprocessfn.o ABSOLUTE
-    \EPOC32\BUILD\sf\app\location\group\MNREFENGINE\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\appsupport\appfw\apparchitecture\group\APPARC\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\classicui\group\AVKON\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\classicui\group\EIKCOCTL\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\locationsrv\group\EPOS_LANDMARKSCLIENTLIBRARY\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\locationsrv\group\MNSERVICELIB\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\uiresources\group\AKNSKINS\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\graphics\windowing\windowserver\group\WS32LIB\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\kernelhwsrv\kernel\eka\euser\EEXE\ARMV6_ABIV1\urel\uc_exe_.cpp 0x00000000   Number         0  uc_exe_.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\kernelhwsrv\kernel\eka\euser\EUSER\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\kernelhwsrv\userlibandfileserver\fileserver\group\EFSRV\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\lbs\locationmgmt\locationadmin\group\LBSAPIVARIANT2\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \\EPOC32\\BUILD\\sf\\os\\kernelhwsrv\\kernel\\eka\\euser\\EEXE\\ARMV6_ABIV1\\urel\\uc_exe_.cpp 0x00000000   Number         0  uc_exe_.o ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrefproviderback.cpp 0x00000000   Number         0  mnrefproviderback.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpapplicationback.cpp 0x00000000   Number         0  mnrefproviderback.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpappserverback.cpp 0x00000000   Number         0  mnrefproviderback.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpappuiback.cpp 0x00000000   Number         0  mnrefproviderback.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpdocumentback.cpp 0x00000000   Number         0  mnrefproviderback.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpgeocodingservice.cpp 0x00000000   Number         0  mnrefproviderback.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpmapimageservice.cpp 0x00000000   Number         0  mnrefproviderback.in ABSOLUTE
-    \sf\os\kernelhwsrv\kernel\eka\euser\epoc\arm\uc_exe.cpp 0x00000000   Number         0  uc_exe.o ABSOLUTE
-    .emb_text                                0x00008000   Section      112  uc_exe_.o(.emb_text)
-    .emb_text                                0x00008070   Section       72  ucppinit_aeabi.o(.emb_text)
-    skip                                     0x00008084   ARM Code       0  ucppinit_aeabi.o(.emb_text)
-    loop                                     0x00008094   ARM Code       0  ucppinit_aeabi.o(.emb_text)
-    fpinit                                   0x000080ac   Data           0  ucppinit_aeabi.o(.emb_text)
-    base                                     0x000080b0   Data           0  ucppinit_aeabi.o(.emb_text)
-    limit                                    0x000080b4   Data           0  ucppinit_aeabi.o(.emb_text)
-    .text                                    0x000080c0   Section       16  uc_exe_.o(.text)
-    NewApplication()                         0x000080d1   Thumb Code    30  mnrefproviderback.in(.text)
-    .text                                    0x000080d0   Section       60  mnrefproviderback.in(.text)
-    .text                                    0x0000810c   Section       32  mnrefproviderback.in(.text)
-    .text                                    0x0000812c   Section       68  mnrefproviderback.in(.text)
-    .text                                    0x00008170   Section       64  mnrefproviderback.in(.text)
-    .text                                    0x000081b0   Section      168  mnrefproviderback.in(.text)
-    .text                                    0x00008258   Section      988  mnrefproviderback.in(.text)
-    .text                                    0x00008634   Section      684  mnrefproviderback.in(.text)
-    __sti___23_mnrpmapimageservice_cpp       0x000088c7   Thumb Code     8  mnrefproviderback.in(.text)
-    .text                                    0x000088e8   Section       36  uc_exe.o(.text)
-    .text                                    0x0000890c   Section      120  callfirstprocessfn.o(.text)
-    .text                                    0x00008984   Section        4  dllexp.o(.text)
-    .text.clean                              0x00008988   Section       10  mnrefproviderback.in(.text.clean)
-    .text.clean                              0x00008992   Section       10  mnrefproviderback.in(.text.clean)
-    .text.clean                              0x0000899c   Section       18  mnrefproviderback.in(.text.clean)
-    .text.clean                              0x000089ae   Section       26  mnrefproviderback.in(.text.clean)
-    .text.clean                              0x000089c8   Section        8  callfirstprocessfn.o(.text.clean)
-    StubCode                                 0x000089d0   Section        8  euser{000a0000}-1088.o(StubCode)
-    theImportedSymbol                        0x000089d4   Data           0  euser{000a0000}-1088.o(StubCode)
-    StubCode                                 0x000089d8   Section        8  euser{000a0000}-1116.o(StubCode)
-    theImportedSymbol                        0x000089dc   Data           0  euser{000a0000}-1116.o(StubCode)
-    StubCode                                 0x000089e0   Section        8  euser{000a0000}-1119.o(StubCode)
-    theImportedSymbol                        0x000089e4   Data           0  euser{000a0000}-1119.o(StubCode)
-    StubCode                                 0x000089e8   Section        8  euser{000a0000}-1171.o(StubCode)
-    theImportedSymbol                        0x000089ec   Data           0  euser{000a0000}-1171.o(StubCode)
-    StubCode                                 0x000089f0   Section        8  euser{000a0000}-1288.o(StubCode)
-    theImportedSymbol                        0x000089f4   Data           0  euser{000a0000}-1288.o(StubCode)
-    StubCode                                 0x000089f8   Section        8  euser{000a0000}-1379.o(StubCode)
-    theImportedSymbol                        0x000089fc   Data           0  euser{000a0000}-1379.o(StubCode)
-    StubCode                                 0x00008a00   Section        8  euser{000a0000}-1381.o(StubCode)
-    theImportedSymbol                        0x00008a04   Data           0  euser{000a0000}-1381.o(StubCode)
-    StubCode                                 0x00008a08   Section        8  euser{000a0000}-1590.o(StubCode)
-    theImportedSymbol                        0x00008a0c   Data           0  euser{000a0000}-1590.o(StubCode)
-    StubCode                                 0x00008a10   Section        8  euser{000a0000}-1593.o(StubCode)
-    theImportedSymbol                        0x00008a14   Data           0  euser{000a0000}-1593.o(StubCode)
-    StubCode                                 0x00008a18   Section        8  euser{000a0000}-1817.o(StubCode)
-    theImportedSymbol                        0x00008a1c   Data           0  euser{000a0000}-1817.o(StubCode)
-    StubCode                                 0x00008a20   Section        8  euser{000a0000}-1995.o(StubCode)
-    theImportedSymbol                        0x00008a24   Data           0  euser{000a0000}-1995.o(StubCode)
-    StubCode                                 0x00008a28   Section        8  euser{000a0000}-1997.o(StubCode)
-    theImportedSymbol                        0x00008a2c   Data           0  euser{000a0000}-1997.o(StubCode)
-    StubCode                                 0x00008a30   Section        8  euser{000a0000}-1999.o(StubCode)
-    theImportedSymbol                        0x00008a34   Data           0  euser{000a0000}-1999.o(StubCode)
-    StubCode                                 0x00008a38   Section        8  euser{000a0000}-203.o(StubCode)
-    theImportedSymbol                        0x00008a3c   Data           0  euser{000a0000}-203.o(StubCode)
-    StubCode                                 0x00008a40   Section        8  euser{000a0000}-205.o(StubCode)
-    theImportedSymbol                        0x00008a44   Data           0  euser{000a0000}-205.o(StubCode)
-    StubCode                                 0x00008a48   Section        8  euser{000a0000}-2060.o(StubCode)
-    theImportedSymbol                        0x00008a4c   Data           0  euser{000a0000}-2060.o(StubCode)
-    StubCode                                 0x00008a50   Section        8  euser{000a0000}-2061.o(StubCode)
-    theImportedSymbol                        0x00008a54   Data           0  euser{000a0000}-2061.o(StubCode)
-    StubCode                                 0x00008a58   Section        8  euser{000a0000}-207.o(StubCode)
-    theImportedSymbol                        0x00008a5c   Data           0  euser{000a0000}-207.o(StubCode)
-    StubCode                                 0x00008a60   Section        8  euser{000a0000}-208.o(StubCode)
-    theImportedSymbol                        0x00008a64   Data           0  euser{000a0000}-208.o(StubCode)
-    StubCode                                 0x00008a68   Section        8  euser{000a0000}-2082.o(StubCode)
-    theImportedSymbol                        0x00008a6c   Data           0  euser{000a0000}-2082.o(StubCode)
-    StubCode                                 0x00008a70   Section        8  euser{000a0000}-2120.o(StubCode)
-    theImportedSymbol                        0x00008a74   Data           0  euser{000a0000}-2120.o(StubCode)
-    StubCode                                 0x00008a78   Section        8  euser{000a0000}-2123.o(StubCode)
-    theImportedSymbol                        0x00008a7c   Data           0  euser{000a0000}-2123.o(StubCode)
-    StubCode                                 0x00008a80   Section        8  euser{000a0000}-2131.o(StubCode)
-    theImportedSymbol                        0x00008a84   Data           0  euser{000a0000}-2131.o(StubCode)
-    StubCode                                 0x00008a88   Section        8  euser{000a0000}-471.o(StubCode)
-    theImportedSymbol                        0x00008a8c   Data           0  euser{000a0000}-471.o(StubCode)
-    StubCode                                 0x00008a90   Section        8  euser{000a0000}-474.o(StubCode)
-    theImportedSymbol                        0x00008a94   Data           0  euser{000a0000}-474.o(StubCode)
-    StubCode                                 0x00008a98   Section        8  euser{000a0000}-481.o(StubCode)
-    theImportedSymbol                        0x00008a9c   Data           0  euser{000a0000}-481.o(StubCode)
-    StubCode                                 0x00008aa0   Section        8  euser{000a0000}-613.o(StubCode)
-    theImportedSymbol                        0x00008aa4   Data           0  euser{000a0000}-613.o(StubCode)
-    StubCode                                 0x00008aa8   Section        8  euser{000a0000}-649.o(StubCode)
-    theImportedSymbol                        0x00008aac   Data           0  euser{000a0000}-649.o(StubCode)
-    StubCode                                 0x00008ab0   Section        8  euser{000a0000}-652.o(StubCode)
-    theImportedSymbol                        0x00008ab4   Data           0  euser{000a0000}-652.o(StubCode)
-    StubCode                                 0x00008ab8   Section        8  euser{000a0000}-654.o(StubCode)
-    theImportedSymbol                        0x00008abc   Data           0  euser{000a0000}-654.o(StubCode)
-    StubCode                                 0x00008ac0   Section        8  euser{000a0000}-669.o(StubCode)
-    theImportedSymbol                        0x00008ac4   Data           0  euser{000a0000}-669.o(StubCode)
-    StubCode                                 0x00008ac8   Section        8  euser{000a0000}-679.o(StubCode)
-    theImportedSymbol                        0x00008acc   Data           0  euser{000a0000}-679.o(StubCode)
-    StubCode                                 0x00008ad0   Section        8  euser{000a0000}-681.o(StubCode)
-    theImportedSymbol                        0x00008ad4   Data           0  euser{000a0000}-681.o(StubCode)
-    StubCode                                 0x00008ad8   Section        8  euser{000a0000}-838.o(StubCode)
-    theImportedSymbol                        0x00008adc   Data           0  euser{000a0000}-838.o(StubCode)
-    StubCode                                 0x00008ae0   Section        8  bafl{000a0000}-43.o(StubCode)
-    theImportedSymbol                        0x00008ae4   Data           0  bafl{000a0000}-43.o(StubCode)
-    StubCode                                 0x00008ae8   Section        8  bafl{000a0000}-98.o(StubCode)
-    theImportedSymbol                        0x00008aec   Data           0  bafl{000a0000}-98.o(StubCode)
-    StubCode                                 0x00008af0   Section        8  cone{000a0000}-100.o(StubCode)
-    theImportedSymbol                        0x00008af4   Data           0  cone{000a0000}-100.o(StubCode)
-    StubCode                                 0x00008af8   Section        8  cone{000a0000}-101.o(StubCode)
-    theImportedSymbol                        0x00008afc   Data           0  cone{000a0000}-101.o(StubCode)
-    StubCode                                 0x00008b00   Section        8  cone{000a0000}-127.o(StubCode)
-    theImportedSymbol                        0x00008b04   Data           0  cone{000a0000}-127.o(StubCode)
-    StubCode                                 0x00008b08   Section        8  cone{000a0000}-128.o(StubCode)
-    theImportedSymbol                        0x00008b0c   Data           0  cone{000a0000}-128.o(StubCode)
-    StubCode                                 0x00008b10   Section        8  cone{000a0000}-182.o(StubCode)
-    theImportedSymbol                        0x00008b14   Data           0  cone{000a0000}-182.o(StubCode)
-    StubCode                                 0x00008b18   Section        8  cone{000a0000}-210.o(StubCode)
-    theImportedSymbol                        0x00008b1c   Data           0  cone{000a0000}-210.o(StubCode)
-    StubCode                                 0x00008b20   Section        8  cone{000a0000}-212.o(StubCode)
-    theImportedSymbol                        0x00008b24   Data           0  cone{000a0000}-212.o(StubCode)
-    StubCode                                 0x00008b28   Section        8  cone{000a0000}-220.o(StubCode)
-    theImportedSymbol                        0x00008b2c   Data           0  cone{000a0000}-220.o(StubCode)
-    StubCode                                 0x00008b30   Section        8  cone{000a0000}-351.o(StubCode)
-    theImportedSymbol                        0x00008b34   Data           0  cone{000a0000}-351.o(StubCode)
-    StubCode                                 0x00008b38   Section        8  cone{000a0000}-355.o(StubCode)
-    theImportedSymbol                        0x00008b3c   Data           0  cone{000a0000}-355.o(StubCode)
-    StubCode                                 0x00008b40   Section        8  cone{000a0000}-638.o(StubCode)
-    theImportedSymbol                        0x00008b44   Data           0  cone{000a0000}-638.o(StubCode)
-    StubCode                                 0x00008b48   Section        8  cone{000a0000}-639.o(StubCode)
-    theImportedSymbol                        0x00008b4c   Data           0  cone{000a0000}-639.o(StubCode)
-    StubCode                                 0x00008b50   Section        8  cone{000a0000}-664.o(StubCode)
-    theImportedSymbol                        0x00008b54   Data           0  cone{000a0000}-664.o(StubCode)
-    StubCode                                 0x00008b58   Section        8  cone{000a0000}-676.o(StubCode)
-    theImportedSymbol                        0x00008b5c   Data           0  cone{000a0000}-676.o(StubCode)
-    StubCode                                 0x00008b60   Section        8  cone{000a0000}-677.o(StubCode)
-    theImportedSymbol                        0x00008b64   Data           0  cone{000a0000}-677.o(StubCode)
-    StubCode                                 0x00008b68   Section        8  apparc{000a0000}-121.o(StubCode)
-    theImportedSymbol                        0x00008b6c   Data           0  apparc{000a0000}-121.o(StubCode)
-    StubCode                                 0x00008b70   Section        8  apparc{000a0000}-132.o(StubCode)
-    theImportedSymbol                        0x00008b74   Data           0  apparc{000a0000}-132.o(StubCode)
-    StubCode                                 0x00008b78   Section        8  apparc{000a0000}-171.o(StubCode)
-    theImportedSymbol                        0x00008b7c   Data           0  apparc{000a0000}-171.o(StubCode)
-    StubCode                                 0x00008b80   Section        8  apparc{000a0000}-192.o(StubCode)
-    theImportedSymbol                        0x00008b84   Data           0  apparc{000a0000}-192.o(StubCode)
-    StubCode                                 0x00008b88   Section        8  apparc{000a0000}-194.o(StubCode)
-    theImportedSymbol                        0x00008b8c   Data           0  apparc{000a0000}-194.o(StubCode)
-    StubCode                                 0x00008b90   Section        8  apparc{000a0000}-202.o(StubCode)
-    theImportedSymbol                        0x00008b94   Data           0  apparc{000a0000}-202.o(StubCode)
-    StubCode                                 0x00008b98   Section        8  apparc{000a0000}-222.o(StubCode)
-    theImportedSymbol                        0x00008b9c   Data           0  apparc{000a0000}-222.o(StubCode)
-    StubCode                                 0x00008ba0   Section        8  apparc{000a0000}-232.o(StubCode)
-    theImportedSymbol                        0x00008ba4   Data           0  apparc{000a0000}-232.o(StubCode)
-    StubCode                                 0x00008ba8   Section        8  apparc{000a0000}-273.o(StubCode)
-    theImportedSymbol                        0x00008bac   Data           0  apparc{000a0000}-273.o(StubCode)
-    StubCode                                 0x00008bb0   Section        8  apparc{000a0000}-274.o(StubCode)
-    theImportedSymbol                        0x00008bb4   Data           0  apparc{000a0000}-274.o(StubCode)
-    StubCode                                 0x00008bb8   Section        8  apparc{000a0000}-275.o(StubCode)
-    theImportedSymbol                        0x00008bbc   Data           0  apparc{000a0000}-275.o(StubCode)
-    StubCode                                 0x00008bc0   Section        8  apparc{000a0000}-279.o(StubCode)
-    theImportedSymbol                        0x00008bc4   Data           0  apparc{000a0000}-279.o(StubCode)
-    StubCode                                 0x00008bc8   Section        8  apparc{000a0000}-280.o(StubCode)
-    theImportedSymbol                        0x00008bcc   Data           0  apparc{000a0000}-280.o(StubCode)
-    StubCode                                 0x00008bd0   Section        8  apparc{000a0000}-284.o(StubCode)
-    theImportedSymbol                        0x00008bd4   Data           0  apparc{000a0000}-284.o(StubCode)
-    StubCode                                 0x00008bd8   Section        8  apparc{000a0000}-285.o(StubCode)
-    theImportedSymbol                        0x00008bdc   Data           0  apparc{000a0000}-285.o(StubCode)
-    StubCode                                 0x00008be0   Section        8  apparc{000a0000}-286.o(StubCode)
-    theImportedSymbol                        0x00008be4   Data           0  apparc{000a0000}-286.o(StubCode)
-    StubCode                                 0x00008be8   Section        8  apparc{000a0000}-287.o(StubCode)
-    theImportedSymbol                        0x00008bec   Data           0  apparc{000a0000}-287.o(StubCode)
-    StubCode                                 0x00008bf0   Section        8  apparc{000a0000}-30.o(StubCode)
-    theImportedSymbol                        0x00008bf4   Data           0  apparc{000a0000}-30.o(StubCode)
-    StubCode                                 0x00008bf8   Section        8  eikcore{000a0000}-141.o(StubCode)
-    theImportedSymbol                        0x00008bfc   Data           0  eikcore{000a0000}-141.o(StubCode)
-    StubCode                                 0x00008c00   Section        8  eikcore{000a0000}-142.o(StubCode)
-    theImportedSymbol                        0x00008c04   Data           0  eikcore{000a0000}-142.o(StubCode)
-    StubCode                                 0x00008c08   Section        8  eikcore{000a0000}-143.o(StubCode)
-    theImportedSymbol                        0x00008c0c   Data           0  eikcore{000a0000}-143.o(StubCode)
-    StubCode                                 0x00008c10   Section        8  eikcore{000a0000}-144.o(StubCode)
-    theImportedSymbol                        0x00008c14   Data           0  eikcore{000a0000}-144.o(StubCode)
-    StubCode                                 0x00008c18   Section        8  eikcore{000a0000}-147.o(StubCode)
-    theImportedSymbol                        0x00008c1c   Data           0  eikcore{000a0000}-147.o(StubCode)
-    StubCode                                 0x00008c20   Section        8  eikcore{000a0000}-152.o(StubCode)
-    theImportedSymbol                        0x00008c24   Data           0  eikcore{000a0000}-152.o(StubCode)
-    StubCode                                 0x00008c28   Section        8  eikcore{000a0000}-155.o(StubCode)
-    theImportedSymbol                        0x00008c2c   Data           0  eikcore{000a0000}-155.o(StubCode)
-    StubCode                                 0x00008c30   Section        8  eikcore{000a0000}-158.o(StubCode)
-    theImportedSymbol                        0x00008c34   Data           0  eikcore{000a0000}-158.o(StubCode)
-    StubCode                                 0x00008c38   Section        8  eikcore{000a0000}-159.o(StubCode)
-    theImportedSymbol                        0x00008c3c   Data           0  eikcore{000a0000}-159.o(StubCode)
-    StubCode                                 0x00008c40   Section        8  eikcore{000a0000}-166.o(StubCode)
-    theImportedSymbol                        0x00008c44   Data           0  eikcore{000a0000}-166.o(StubCode)
-    StubCode                                 0x00008c48   Section        8  eikcore{000a0000}-169.o(StubCode)
-    theImportedSymbol                        0x00008c4c   Data           0  eikcore{000a0000}-169.o(StubCode)
-    StubCode                                 0x00008c50   Section        8  eikcore{000a0000}-171.o(StubCode)
-    theImportedSymbol                        0x00008c54   Data           0  eikcore{000a0000}-171.o(StubCode)
-    StubCode                                 0x00008c58   Section        8  eikcore{000a0000}-175.o(StubCode)
-    theImportedSymbol                        0x00008c5c   Data           0  eikcore{000a0000}-175.o(StubCode)
-    StubCode                                 0x00008c60   Section        8  eikcore{000a0000}-18.o(StubCode)
-    theImportedSymbol                        0x00008c64   Data           0  eikcore{000a0000}-18.o(StubCode)
-    StubCode                                 0x00008c68   Section        8  eikcore{000a0000}-20.o(StubCode)
-    theImportedSymbol                        0x00008c6c   Data           0  eikcore{000a0000}-20.o(StubCode)
-    StubCode                                 0x00008c70   Section        8  eikcore{000a0000}-25.o(StubCode)
-    theImportedSymbol                        0x00008c74   Data           0  eikcore{000a0000}-25.o(StubCode)
-    StubCode                                 0x00008c78   Section        8  eikcore{000a0000}-26.o(StubCode)
-    theImportedSymbol                        0x00008c7c   Data           0  eikcore{000a0000}-26.o(StubCode)
-    StubCode                                 0x00008c80   Section        8  eikcore{000a0000}-27.o(StubCode)
-    theImportedSymbol                        0x00008c84   Data           0  eikcore{000a0000}-27.o(StubCode)
-    StubCode                                 0x00008c88   Section        8  eikcore{000a0000}-28.o(StubCode)
-    theImportedSymbol                        0x00008c8c   Data           0  eikcore{000a0000}-28.o(StubCode)
-    StubCode                                 0x00008c90   Section        8  eikcore{000a0000}-29.o(StubCode)
-    theImportedSymbol                        0x00008c94   Data           0  eikcore{000a0000}-29.o(StubCode)
-    StubCode                                 0x00008c98   Section        8  eikcore{000a0000}-291.o(StubCode)
-    theImportedSymbol                        0x00008c9c   Data           0  eikcore{000a0000}-291.o(StubCode)
-    StubCode                                 0x00008ca0   Section        8  eikcore{000a0000}-293.o(StubCode)
-    theImportedSymbol                        0x00008ca4   Data           0  eikcore{000a0000}-293.o(StubCode)
-    StubCode                                 0x00008ca8   Section        8  eikcore{000a0000}-294.o(StubCode)
-    theImportedSymbol                        0x00008cac   Data           0  eikcore{000a0000}-294.o(StubCode)
-    StubCode                                 0x00008cb0   Section        8  eikcore{000a0000}-295.o(StubCode)
-    theImportedSymbol                        0x00008cb4   Data           0  eikcore{000a0000}-295.o(StubCode)
-    StubCode                                 0x00008cb8   Section        8  eikcore{000a0000}-296.o(StubCode)
-    theImportedSymbol                        0x00008cbc   Data           0  eikcore{000a0000}-296.o(StubCode)
-    StubCode                                 0x00008cc0   Section        8  eikcore{000a0000}-297.o(StubCode)
-    theImportedSymbol                        0x00008cc4   Data           0  eikcore{000a0000}-297.o(StubCode)
-    StubCode                                 0x00008cc8   Section        8  eikcore{000a0000}-298.o(StubCode)
-    theImportedSymbol                        0x00008ccc   Data           0  eikcore{000a0000}-298.o(StubCode)
-    StubCode                                 0x00008cd0   Section        8  eikcore{000a0000}-299.o(StubCode)
-    theImportedSymbol                        0x00008cd4   Data           0  eikcore{000a0000}-299.o(StubCode)
-    StubCode                                 0x00008cd8   Section        8  eikcore{000a0000}-30.o(StubCode)
-    theImportedSymbol                        0x00008cdc   Data           0  eikcore{000a0000}-30.o(StubCode)
-    StubCode                                 0x00008ce0   Section        8  eikcore{000a0000}-302.o(StubCode)
-    theImportedSymbol                        0x00008ce4   Data           0  eikcore{000a0000}-302.o(StubCode)
-    StubCode                                 0x00008ce8   Section        8  eikcore{000a0000}-31.o(StubCode)
-    theImportedSymbol                        0x00008cec   Data           0  eikcore{000a0000}-31.o(StubCode)
-    StubCode                                 0x00008cf0   Section        8  eikcore{000a0000}-317.o(StubCode)
-    theImportedSymbol                        0x00008cf4   Data           0  eikcore{000a0000}-317.o(StubCode)
-    StubCode                                 0x00008cf8   Section        8  eikcore{000a0000}-352.o(StubCode)
-    theImportedSymbol                        0x00008cfc   Data           0  eikcore{000a0000}-352.o(StubCode)
-    StubCode                                 0x00008d00   Section        8  eikcore{000a0000}-37.o(StubCode)
-    theImportedSymbol                        0x00008d04   Data           0  eikcore{000a0000}-37.o(StubCode)
-    StubCode                                 0x00008d08   Section        8  eikcore{000a0000}-390.o(StubCode)
-    theImportedSymbol                        0x00008d0c   Data           0  eikcore{000a0000}-390.o(StubCode)
-    StubCode                                 0x00008d10   Section        8  eikcore{000a0000}-392.o(StubCode)
-    theImportedSymbol                        0x00008d14   Data           0  eikcore{000a0000}-392.o(StubCode)
-    StubCode                                 0x00008d18   Section        8  eikcore{000a0000}-394.o(StubCode)
-    theImportedSymbol                        0x00008d1c   Data           0  eikcore{000a0000}-394.o(StubCode)
-    StubCode                                 0x00008d20   Section        8  eikcore{000a0000}-467.o(StubCode)
-    theImportedSymbol                        0x00008d24   Data           0  eikcore{000a0000}-467.o(StubCode)
-    StubCode                                 0x00008d28   Section        8  eikcore{000a0000}-479.o(StubCode)
-    theImportedSymbol                        0x00008d2c   Data           0  eikcore{000a0000}-479.o(StubCode)
-    StubCode                                 0x00008d30   Section        8  eikcore{000a0000}-490.o(StubCode)
-    theImportedSymbol                        0x00008d34   Data           0  eikcore{000a0000}-490.o(StubCode)
-    StubCode                                 0x00008d38   Section        8  eikcore{000a0000}-506.o(StubCode)
-    theImportedSymbol                        0x00008d3c   Data           0  eikcore{000a0000}-506.o(StubCode)
-    StubCode                                 0x00008d40   Section        8  eikcore{000a0000}-523.o(StubCode)
-    theImportedSymbol                        0x00008d44   Data           0  eikcore{000a0000}-523.o(StubCode)
-    StubCode                                 0x00008d48   Section        8  eikcore{000a0000}-532.o(StubCode)
-    theImportedSymbol                        0x00008d4c   Data           0  eikcore{000a0000}-532.o(StubCode)
-    StubCode                                 0x00008d50   Section        8  eikcore{000a0000}-533.o(StubCode)
-    theImportedSymbol                        0x00008d54   Data           0  eikcore{000a0000}-533.o(StubCode)
-    StubCode                                 0x00008d58   Section        8  eikcore{000a0000}-534.o(StubCode)
-    theImportedSymbol                        0x00008d5c   Data           0  eikcore{000a0000}-534.o(StubCode)
-    StubCode                                 0x00008d60   Section        8  eikcore{000a0000}-535.o(StubCode)
-    theImportedSymbol                        0x00008d64   Data           0  eikcore{000a0000}-535.o(StubCode)
-    StubCode                                 0x00008d68   Section        8  eikcore{000a0000}-536.o(StubCode)
-    theImportedSymbol                        0x00008d6c   Data           0  eikcore{000a0000}-536.o(StubCode)
-    StubCode                                 0x00008d70   Section        8  eikcore{000a0000}-537.o(StubCode)
-    theImportedSymbol                        0x00008d74   Data           0  eikcore{000a0000}-537.o(StubCode)
-    StubCode                                 0x00008d78   Section        8  eikcore{000a0000}-565.o(StubCode)
-    theImportedSymbol                        0x00008d7c   Data           0  eikcore{000a0000}-565.o(StubCode)
-    StubCode                                 0x00008d80   Section        8  eikcore{000a0000}-61.o(StubCode)
-    theImportedSymbol                        0x00008d84   Data           0  eikcore{000a0000}-61.o(StubCode)
-    StubCode                                 0x00008d88   Section        8  eikcore{000a0000}-62.o(StubCode)
-    theImportedSymbol                        0x00008d8c   Data           0  eikcore{000a0000}-62.o(StubCode)
-    StubCode                                 0x00008d90   Section        8  eikcore{000a0000}-63.o(StubCode)
-    theImportedSymbol                        0x00008d94   Data           0  eikcore{000a0000}-63.o(StubCode)
-    StubCode                                 0x00008d98   Section        8  eikcore{000a0000}-64.o(StubCode)
-    theImportedSymbol                        0x00008d9c   Data           0  eikcore{000a0000}-64.o(StubCode)
-    StubCode                                 0x00008da0   Section        8  eikcore{000a0000}-67.o(StubCode)
-    theImportedSymbol                        0x00008da4   Data           0  eikcore{000a0000}-67.o(StubCode)
-    StubCode                                 0x00008da8   Section        8  eikcore{000a0000}-72.o(StubCode)
-    theImportedSymbol                        0x00008dac   Data           0  eikcore{000a0000}-72.o(StubCode)
-    StubCode                                 0x00008db0   Section        8  eikcore{000a0000}-73.o(StubCode)
-    theImportedSymbol                        0x00008db4   Data           0  eikcore{000a0000}-73.o(StubCode)
-    StubCode                                 0x00008db8   Section        8  eikcore{000a0000}-74.o(StubCode)
-    theImportedSymbol                        0x00008dbc   Data           0  eikcore{000a0000}-74.o(StubCode)
-    StubCode                                 0x00008dc0   Section        8  eikcore{000a0000}-75.o(StubCode)
-    theImportedSymbol                        0x00008dc4   Data           0  eikcore{000a0000}-75.o(StubCode)
-    StubCode                                 0x00008dc8   Section        8  eikcore{000a0000}-77.o(StubCode)
-    theImportedSymbol                        0x00008dcc   Data           0  eikcore{000a0000}-77.o(StubCode)
-    StubCode                                 0x00008dd0   Section        8  eikcore{000a0000}-78.o(StubCode)
-    theImportedSymbol                        0x00008dd4   Data           0  eikcore{000a0000}-78.o(StubCode)
-    StubCode                                 0x00008dd8   Section        8  eikcore{000a0000}-79.o(StubCode)
-    theImportedSymbol                        0x00008ddc   Data           0  eikcore{000a0000}-79.o(StubCode)
-    StubCode                                 0x00008de0   Section        8  ws32{000a0000}-211.o(StubCode)
-    theImportedSymbol                        0x00008de4   Data           0  ws32{000a0000}-211.o(StubCode)
-    StubCode                                 0x00008de8   Section        8  gdi{000a0000}-312.o(StubCode)
-    theImportedSymbol                        0x00008dec   Data           0  gdi{000a0000}-312.o(StubCode)
-    StubCode                                 0x00008df0   Section        8  avkon{000a0000}-1132.o(StubCode)
-    theImportedSymbol                        0x00008df4   Data           0  avkon{000a0000}-1132.o(StubCode)
-    StubCode                                 0x00008df8   Section        8  avkon{000a0000}-129.o(StubCode)
-    theImportedSymbol                        0x00008dfc   Data           0  avkon{000a0000}-129.o(StubCode)
-    StubCode                                 0x00008e00   Section        8  avkon{000a0000}-130.o(StubCode)
-    theImportedSymbol                        0x00008e04   Data           0  avkon{000a0000}-130.o(StubCode)
-    StubCode                                 0x00008e08   Section        8  avkon{000a0000}-131.o(StubCode)
-    theImportedSymbol                        0x00008e0c   Data           0  avkon{000a0000}-131.o(StubCode)
-    StubCode                                 0x00008e10   Section        8  avkon{000a0000}-1350.o(StubCode)
-    theImportedSymbol                        0x00008e14   Data           0  avkon{000a0000}-1350.o(StubCode)
-    StubCode                                 0x00008e18   Section        8  avkon{000a0000}-1351.o(StubCode)
-    theImportedSymbol                        0x00008e1c   Data           0  avkon{000a0000}-1351.o(StubCode)
-    StubCode                                 0x00008e20   Section        8  avkon{000a0000}-1366.o(StubCode)
-    theImportedSymbol                        0x00008e24   Data           0  avkon{000a0000}-1366.o(StubCode)
-    StubCode                                 0x00008e28   Section        8  avkon{000a0000}-198.o(StubCode)
-    theImportedSymbol                        0x00008e2c   Data           0  avkon{000a0000}-198.o(StubCode)
-    StubCode                                 0x00008e30   Section        8  avkon{000a0000}-199.o(StubCode)
-    theImportedSymbol                        0x00008e34   Data           0  avkon{000a0000}-199.o(StubCode)
-    StubCode                                 0x00008e38   Section        8  avkon{000a0000}-201.o(StubCode)
-    theImportedSymbol                        0x00008e3c   Data           0  avkon{000a0000}-201.o(StubCode)
-    StubCode                                 0x00008e40   Section        8  avkon{000a0000}-206.o(StubCode)
-    theImportedSymbol                        0x00008e44   Data           0  avkon{000a0000}-206.o(StubCode)
-    StubCode                                 0x00008e48   Section        8  avkon{000a0000}-211.o(StubCode)
-    theImportedSymbol                        0x00008e4c   Data           0  avkon{000a0000}-211.o(StubCode)
-    StubCode                                 0x00008e50   Section        8  avkon{000a0000}-213.o(StubCode)
-    theImportedSymbol                        0x00008e54   Data           0  avkon{000a0000}-213.o(StubCode)
-    StubCode                                 0x00008e58   Section        8  avkon{000a0000}-214.o(StubCode)
-    theImportedSymbol                        0x00008e5c   Data           0  avkon{000a0000}-214.o(StubCode)
-    StubCode                                 0x00008e60   Section        8  avkon{000a0000}-215.o(StubCode)
-    theImportedSymbol                        0x00008e64   Data           0  avkon{000a0000}-215.o(StubCode)
-    StubCode                                 0x00008e68   Section        8  avkon{000a0000}-216.o(StubCode)
-    theImportedSymbol                        0x00008e6c   Data           0  avkon{000a0000}-216.o(StubCode)
-    StubCode                                 0x00008e70   Section        8  avkon{000a0000}-217.o(StubCode)
-    theImportedSymbol                        0x00008e74   Data           0  avkon{000a0000}-217.o(StubCode)
-    StubCode                                 0x00008e78   Section        8  avkon{000a0000}-220.o(StubCode)
-    theImportedSymbol                        0x00008e7c   Data           0  avkon{000a0000}-220.o(StubCode)
-    StubCode                                 0x00008e80   Section        8  avkon{000a0000}-2920.o(StubCode)
-    theImportedSymbol                        0x00008e84   Data           0  avkon{000a0000}-2920.o(StubCode)
-    StubCode                                 0x00008e88   Section        8  avkon{000a0000}-2922.o(StubCode)
-    theImportedSymbol                        0x00008e8c   Data           0  avkon{000a0000}-2922.o(StubCode)
-    StubCode                                 0x00008e90   Section        8  avkon{000a0000}-2924.o(StubCode)
-    theImportedSymbol                        0x00008e94   Data           0  avkon{000a0000}-2924.o(StubCode)
-    StubCode                                 0x00008e98   Section        8  avkon{000a0000}-2925.o(StubCode)
-    theImportedSymbol                        0x00008e9c   Data           0  avkon{000a0000}-2925.o(StubCode)
-    StubCode                                 0x00008ea0   Section        8  avkon{000a0000}-2926.o(StubCode)
-    theImportedSymbol                        0x00008ea4   Data           0  avkon{000a0000}-2926.o(StubCode)
-    StubCode                                 0x00008ea8   Section        8  avkon{000a0000}-2928.o(StubCode)
-    theImportedSymbol                        0x00008eac   Data           0  avkon{000a0000}-2928.o(StubCode)
-    StubCode                                 0x00008eb0   Section        8  avkon{000a0000}-2929.o(StubCode)
-    theImportedSymbol                        0x00008eb4   Data           0  avkon{000a0000}-2929.o(StubCode)
-    StubCode                                 0x00008eb8   Section        8  avkon{000a0000}-2930.o(StubCode)
-    theImportedSymbol                        0x00008ebc   Data           0  avkon{000a0000}-2930.o(StubCode)
-    StubCode                                 0x00008ec0   Section        8  avkon{000a0000}-2931.o(StubCode)
-    theImportedSymbol                        0x00008ec4   Data           0  avkon{000a0000}-2931.o(StubCode)
-    StubCode                                 0x00008ec8   Section        8  avkon{000a0000}-2932.o(StubCode)
-    theImportedSymbol                        0x00008ecc   Data           0  avkon{000a0000}-2932.o(StubCode)
-    StubCode                                 0x00008ed0   Section        8  avkon{000a0000}-2934.o(StubCode)
-    theImportedSymbol                        0x00008ed4   Data           0  avkon{000a0000}-2934.o(StubCode)
-    StubCode                                 0x00008ed8   Section        8  avkon{000a0000}-2935.o(StubCode)
-    theImportedSymbol                        0x00008edc   Data           0  avkon{000a0000}-2935.o(StubCode)
-    StubCode                                 0x00008ee0   Section        8  avkon{000a0000}-2938.o(StubCode)
-    theImportedSymbol                        0x00008ee4   Data           0  avkon{000a0000}-2938.o(StubCode)
-    StubCode                                 0x00008ee8   Section        8  avkon{000a0000}-2993.o(StubCode)
-    theImportedSymbol                        0x00008eec   Data           0  avkon{000a0000}-2993.o(StubCode)
-    StubCode                                 0x00008ef0   Section        8  avkon{000a0000}-2997.o(StubCode)
-    theImportedSymbol                        0x00008ef4   Data           0  avkon{000a0000}-2997.o(StubCode)
-    StubCode                                 0x00008ef8   Section        8  avkon{000a0000}-3826.o(StubCode)
-    theImportedSymbol                        0x00008efc   Data           0  avkon{000a0000}-3826.o(StubCode)
-    StubCode                                 0x00008f00   Section        8  avkon{000a0000}-3862.o(StubCode)
-    theImportedSymbol                        0x00008f04   Data           0  avkon{000a0000}-3862.o(StubCode)
-    StubCode                                 0x00008f08   Section        8  avkon{000a0000}-3868.o(StubCode)
-    theImportedSymbol                        0x00008f0c   Data           0  avkon{000a0000}-3868.o(StubCode)
-    StubCode                                 0x00008f10   Section        8  avkon{000a0000}-4021.o(StubCode)
-    theImportedSymbol                        0x00008f14   Data           0  avkon{000a0000}-4021.o(StubCode)
-    StubCode                                 0x00008f18   Section        8  avkon{000a0000}-4030.o(StubCode)
-    theImportedSymbol                        0x00008f1c   Data           0  avkon{000a0000}-4030.o(StubCode)
-    StubCode                                 0x00008f20   Section        8  eposlandmarks{000a0000}-12.o(StubCode)
-    theImportedSymbol                        0x00008f24   Data           0  eposlandmarks{000a0000}-12.o(StubCode)
-    StubCode                                 0x00008f28   Section        8  eposlandmarks{000a0000}-13.o(StubCode)
-    theImportedSymbol                        0x00008f2c   Data           0  eposlandmarks{000a0000}-13.o(StubCode)
-    StubCode                                 0x00008f30   Section        8  eposlandmarks{000a0000}-65.o(StubCode)
-    theImportedSymbol                        0x00008f34   Data           0  eposlandmarks{000a0000}-65.o(StubCode)
-    StubCode                                 0x00008f38   Section        8  eposlandmarks{000a0000}-68.o(StubCode)
-    theImportedSymbol                        0x00008f3c   Data           0  eposlandmarks{000a0000}-68.o(StubCode)
-    StubCode                                 0x00008f40   Section        8  lbs{000a0000}-207.o(StubCode)
-    theImportedSymbol                        0x00008f44   Data           0  lbs{000a0000}-207.o(StubCode)
-    StubCode                                 0x00008f48   Section        8  lbs{000a0000}-23.o(StubCode)
-    theImportedSymbol                        0x00008f4c   Data           0  lbs{000a0000}-23.o(StubCode)
-    StubCode                                 0x00008f50   Section        8  mnservicelib{000a0000}-1.o(StubCode)
-    theImportedSymbol                        0x00008f54   Data           0  mnservicelib{000a0000}-1.o(StubCode)
-    StubCode                                 0x00008f58   Section        8  mnservicelib{000a0000}-2.o(StubCode)
-    theImportedSymbol                        0x00008f5c   Data           0  mnservicelib{000a0000}-2.o(StubCode)
-    StubCode                                 0x00008f60   Section        8  mnservicelib{000a0000}-21.o(StubCode)
-    theImportedSymbol                        0x00008f64   Data           0  mnservicelib{000a0000}-21.o(StubCode)
-    StubCode                                 0x00008f68   Section        8  mnservicelib{000a0000}-22.o(StubCode)
-    theImportedSymbol                        0x00008f6c   Data           0  mnservicelib{000a0000}-22.o(StubCode)
-    StubCode                                 0x00008f70   Section        8  mnservicelib{000a0000}-23.o(StubCode)
-    theImportedSymbol                        0x00008f74   Data           0  mnservicelib{000a0000}-23.o(StubCode)
-    StubCode                                 0x00008f78   Section        8  mnservicelib{000a0000}-24.o(StubCode)
-    theImportedSymbol                        0x00008f7c   Data           0  mnservicelib{000a0000}-24.o(StubCode)
-    StubCode                                 0x00008f80   Section        8  mnservicelib{000a0000}-27.o(StubCode)
-    theImportedSymbol                        0x00008f84   Data           0  mnservicelib{000a0000}-27.o(StubCode)
-    StubCode                                 0x00008f88   Section        8  mnservicelib{000a0000}-34.o(StubCode)
-    theImportedSymbol                        0x00008f8c   Data           0  mnservicelib{000a0000}-34.o(StubCode)
-    StubCode                                 0x00008f90   Section        8  mnservicelib{000a0000}-45.o(StubCode)
-    theImportedSymbol                        0x00008f94   Data           0  mnservicelib{000a0000}-45.o(StubCode)
-    StubCode                                 0x00008f98   Section        8  mnservicelib{000a0000}-46.o(StubCode)
-    theImportedSymbol                        0x00008f9c   Data           0  mnservicelib{000a0000}-46.o(StubCode)
-    StubCode                                 0x00008fa0   Section        8  mnservicelib{000a0000}-47.o(StubCode)
-    theImportedSymbol                        0x00008fa4   Data           0  mnservicelib{000a0000}-47.o(StubCode)
-    StubCode                                 0x00008fa8   Section        8  mnservicelib{000a0000}-49.o(StubCode)
-    theImportedSymbol                        0x00008fac   Data           0  mnservicelib{000a0000}-49.o(StubCode)
-    StubCode                                 0x00008fb0   Section        8  mnservicelib{000a0000}-50.o(StubCode)
-    theImportedSymbol                        0x00008fb4   Data           0  mnservicelib{000a0000}-50.o(StubCode)
-    StubCode                                 0x00008fb8   Section        8  mnservicelib{000a0000}-53.o(StubCode)
-    theImportedSymbol                        0x00008fbc   Data           0  mnservicelib{000a0000}-53.o(StubCode)
-    StubCode                                 0x00008fc0   Section        8  mnservicelib{000a0000}-56.o(StubCode)
-    theImportedSymbol                        0x00008fc4   Data           0  mnservicelib{000a0000}-56.o(StubCode)
-    StubCode                                 0x00008fc8   Section        8  mnrefproviderengine{000a0000}-10.o(StubCode)
-    theImportedSymbol                        0x00008fcc   Data           0  mnrefproviderengine{000a0000}-10.o(StubCode)
-    StubCode                                 0x00008fd0   Section        8  mnrefproviderengine{000a0000}-12.o(StubCode)
-    theImportedSymbol                        0x00008fd4   Data           0  mnrefproviderengine{000a0000}-12.o(StubCode)
-    StubCode                                 0x00008fd8   Section        8  mnrefproviderengine{000a0000}-18.o(StubCode)
-    theImportedSymbol                        0x00008fdc   Data           0  mnrefproviderengine{000a0000}-18.o(StubCode)
-    StubCode                                 0x00008fe0   Section        8  mnrefproviderengine{000a0000}-19.o(StubCode)
-    theImportedSymbol                        0x00008fe4   Data           0  mnrefproviderengine{000a0000}-19.o(StubCode)
-    StubCode                                 0x00008fe8   Section        8  mnrefproviderengine{000a0000}-21.o(StubCode)
-    theImportedSymbol                        0x00008fec   Data           0  mnrefproviderengine{000a0000}-21.o(StubCode)
-    StubCode                                 0x00008ff0   Section        8  mnrefproviderengine{000a0000}-4.o(StubCode)
-    theImportedSymbol                        0x00008ff4   Data           0  mnrefproviderengine{000a0000}-4.o(StubCode)
-    StubCode                                 0x00008ff8   Section        8  mnrefproviderengine{000a0000}-5.o(StubCode)
-    theImportedSymbol                        0x00008ffc   Data           0  mnrefproviderengine{000a0000}-5.o(StubCode)
-    StubCode                                 0x00009000   Section        8  mnrefproviderengine{000a0000}-54.o(StubCode)
-    theImportedSymbol                        0x00009004   Data           0  mnrefproviderengine{000a0000}-54.o(StubCode)
-    StubCode                                 0x00009008   Section        8  mnrefproviderengine{000a0000}-6.o(StubCode)
-    theImportedSymbol                        0x0000900c   Data           0  mnrefproviderengine{000a0000}-6.o(StubCode)
-    StubCode                                 0x00009010   Section        8  drtaeabi{000a0000}-144.o(StubCode)
-    theImportedSymbol                        0x00009014   Data           0  drtaeabi{000a0000}-144.o(StubCode)
-    StubCode                                 0x00009018   Section        8  drtaeabi{000a0000}-158.o(StubCode)
-    theImportedSymbol                        0x0000901c   Data           0  drtaeabi{000a0000}-158.o(StubCode)
-    StubCode                                 0x00009020   Section        8  drtaeabi{000a0000}-159.o(StubCode)
-    theImportedSymbol                        0x00009024   Data           0  drtaeabi{000a0000}-159.o(StubCode)
-    StubCode                                 0x00009028   Section        8  drtaeabi{000a0000}-180.o(StubCode)
-    theImportedSymbol                        0x0000902c   Data           0  drtaeabi{000a0000}-180.o(StubCode)
-    StubCode                                 0x00009030   Section        8  drtaeabi{000a0000}-182.o(StubCode)
-    theImportedSymbol                        0x00009034   Data           0  drtaeabi{000a0000}-182.o(StubCode)
-    StubCode                                 0x00009038   Section        8  drtaeabi{000a0000}-183.o(StubCode)
-    theImportedSymbol                        0x0000903c   Data           0  drtaeabi{000a0000}-183.o(StubCode)
-    StubCode                                 0x00009040   Section        8  drtaeabi{000a0000}-184.o(StubCode)
-    theImportedSymbol                        0x00009044   Data           0  drtaeabi{000a0000}-184.o(StubCode)
-    StubCode                                 0x00009048   Section        8  drtaeabi{000a0000}-189.o(StubCode)
-    theImportedSymbol                        0x0000904c   Data           0  drtaeabi{000a0000}-189.o(StubCode)
-    StubCode                                 0x00009050   Section        8  scppnwdl{000a0000}-3.o(StubCode)
-    theImportedSymbol                        0x00009054   Data           0  scppnwdl{000a0000}-3.o(StubCode)
-    StubCode                                 0x00009058   Section        8  euser{000a0000}-1360.o(StubCode)
-    theImportedSymbol                        0x0000905c   Data           0  euser{000a0000}-1360.o(StubCode)
-    StubCode                                 0x00009060   Section        8  euser{000a0000}-641.o(StubCode)
-    theImportedSymbol                        0x00009064   Data           0  euser{000a0000}-641.o(StubCode)
-    StubCode                                 0x00009068   Section        8  euser{000a0000}-585.o(StubCode)
-    theImportedSymbol                        0x0000906c   Data           0  euser{000a0000}-585.o(StubCode)
-    StubCode                                 0x00009070   Section        8  euser{000a0000}-650.o(StubCode)
-    theImportedSymbol                        0x00009074   Data           0  euser{000a0000}-650.o(StubCode)
-    StubCode                                 0x00009078   Section        8  drtaeabi{000a0000}-204.o(StubCode)
-    theImportedSymbol                        0x0000907c   Data           0  drtaeabi{000a0000}-204.o(StubCode)
-    i._ZN12CApaDocument16DetachFromStoreLEN8CPicture7TDetachE 0x00009080   Section        2  mnrefproviderback.in(i._ZN12CApaDocument16DetachFromStoreLEN8CPicture7TDetachE)
-    i._ZN14CMnrpAppUiBackC1Ev                0x00009084   Section       60  mnrefproviderback.in(i._ZN14CMnrpAppUiBackC1Ev)
-    i._ZN14CMnrpAppUiBackC1Ev.clean          0x000090c0   Section       10  mnrefproviderback.in(i._ZN14CMnrpAppUiBackC1Ev.clean)
-    i._ZN14CMnrpAppUiBackD0Ev                0x000090ca   Section       16  mnrefproviderback.in(i._ZN14CMnrpAppUiBackD0Ev)
-    i._ZN14CMnrpAppUiBackD1Ev                0x000090da   Section        8  mnrefproviderback.in(i._ZN14CMnrpAppUiBackD1Ev)
-    i._ZN17CMnrpDocumentBackD0Ev             0x000090e2   Section       16  mnrefproviderback.in(i._ZN17CMnrpDocumentBackD0Ev)
-    i._ZN17CMnrpDocumentBackD1Ev             0x000090f2   Section        8  mnrefproviderback.in(i._ZN17CMnrpDocumentBackD1Ev)
-    i._ZN20CMnrpApplicationBackD0Ev          0x000090fa   Section       16  mnrefproviderback.in(i._ZN20CMnrpApplicationBackD0Ev)
-    i._ZN20CMnrpApplicationBackD1Ev          0x0000910a   Section        8  mnrefproviderback.in(i._ZN20CMnrpApplicationBackD1Ev)
-    i._ZN5CBasenwEj                          0x00009112   Section        8  mnrefproviderback.in(i._ZN5CBasenwEj)
-    t._ZNK13RPointerArrayI12CPosLandmarkE5CountEv 0x0000911a   Section        8  mnrefproviderback.in(t._ZNK13RPointerArrayI12CPosLandmarkE5CountEv)
-    .ARM.extab                               0x00009124   Section       16  uc_exe_.o(.ARM.extab)
-    .extab._Z14NewApplicationv               0x00009134   Data           0  mnrefproviderback.in(.ARM.extab)
-    .extab._ZN5CBasenwEj                     0x00009144   Data           0  mnrefproviderback.in(.ARM.extab)
-    .extab._ZN14CMnrpAppUiBackC1Ev           0x00009154   Data           0  mnrefproviderback.in(.ARM.extab)
-    .extab._ZN18CMnrpAppServerBackD1Ev       0x00009164   Data           0  mnrefproviderback.in(.ARM.extab)
-    .extab._ZN21CMnrpGeocodingServiceD1Ev    0x00009174   Data           0  mnrefproviderback.in(.ARM.extab)
-    .extab._ZN21CMnrpGeocodingService24HandleGeocodingCompletedEv 0x00009184   Data           0  mnrefproviderback.in(.ARM.extab)
-    .extab._ZN20CMnrpMapImageServiceD1Ev     0x000091ac   Data           0  mnrefproviderback.in(.ARM.extab)
-    .extab._ZN20CMnrpMapImageService24HandleMapImageCompletedLEv 0x000091bc   Data           0  mnrefproviderback.in(.ARM.extab)
-    .extab._ZN20CMnrpMapImageService26MapImageProcessingCallBackEPv 0x000091e4   Data           0  mnrefproviderback.in(.ARM.extab)
-    .extab.CallThrdProcEntry                 0x0000920c   Data           0  callfirstprocessfn.o(.ARM.extab)
-    .constdata$1                             0x00009228   Data           0  mnrefproviderback.in(.constdata)
-    KUidMnRefProviderBackApp                 0x00009228   Data           4  mnrefproviderback.in(.constdata)
-    .constdata                               0x00009228   Section        4  mnrefproviderback.in(.constdata)
-    .constdata$1                             0x0000922c   Data           0  callfirstprocessfn.o(.constdata)
-    KLitUser                                 0x0000922c   Data          16  callfirstprocessfn.o(.constdata)
-    .constdata                               0x0000922c   Section       16  callfirstprocessfn.o(.constdata)
-    .constdata__ZTI14CMnrpAppUiBack          0x0000923c   Section       12  mnrefproviderback.in(.constdata__ZTI14CMnrpAppUiBack)
-    .constdata__ZTI17CMnrpDocumentBack       0x00009248   Section       12  mnrefproviderback.in(.constdata__ZTI17CMnrpDocumentBack)
-    .constdata__ZTI18CMnrpAppServerBack      0x00009254   Section       12  mnrefproviderback.in(.constdata__ZTI18CMnrpAppServerBack)
-    .constdata__ZTI20CMnrpApplicationBack    0x00009260   Section       12  mnrefproviderback.in(.constdata__ZTI20CMnrpApplicationBack)
-    .constdata__ZTI20CMnrpMapImageService    0x0000926c   Section       12  mnrefproviderback.in(.constdata__ZTI20CMnrpMapImageService)
-    .constdata__ZTI21CMnrpGeocodingService   0x00009278   Section       12  mnrefproviderback.in(.constdata__ZTI21CMnrpGeocodingService)
-    .constdata__ZTI22MEikStatusPaneObserver  0x00009284   Section        8  mnrefproviderback.in(.constdata__ZTI22MEikStatusPaneObserver)
-    .constdata__ZTS14CMnrpAppUiBack          0x0000928c   Section       17  mnrefproviderback.in(.constdata__ZTS14CMnrpAppUiBack)
-    .constdata__ZTS17CMnrpDocumentBack       0x0000929d   Section       20  mnrefproviderback.in(.constdata__ZTS17CMnrpDocumentBack)
-    .constdata__ZTS18CMnrpAppServerBack      0x000092b1   Section       21  mnrefproviderback.in(.constdata__ZTS18CMnrpAppServerBack)
-    .constdata__ZTS20CMnrpApplicationBack    0x000092c6   Section       23  mnrefproviderback.in(.constdata__ZTS20CMnrpApplicationBack)
-    .constdata__ZTS20CMnrpMapImageService    0x000092dd   Section       23  mnrefproviderback.in(.constdata__ZTS20CMnrpMapImageService)
-    .constdata__ZTS21CMnrpGeocodingService   0x000092f4   Section       24  mnrefproviderback.in(.constdata__ZTS21CMnrpGeocodingService)
-    .constdata__ZTS22MEikStatusPaneObserver  0x0000930c   Section       25  mnrefproviderback.in(.constdata__ZTS22MEikStatusPaneObserver)
-    .constdata__ZTV14CMnrpAppUiBack          0x00009328   Section      340  mnrefproviderback.in(.constdata__ZTV14CMnrpAppUiBack)
-    .constdata__ZTV17CMnrpDocumentBack       0x0000947c   Section      112  mnrefproviderback.in(.constdata__ZTV17CMnrpDocumentBack)
-    .constdata__ZTV18CMnrpAppServerBack      0x000094ec   Section       76  mnrefproviderback.in(.constdata__ZTV18CMnrpAppServerBack)
-    .constdata__ZTV20CMnrpApplicationBack    0x00009538   Section       80  mnrefproviderback.in(.constdata__ZTV20CMnrpApplicationBack)
-    .constdata__ZTV20CMnrpMapImageService    0x00009588   Section       64  mnrefproviderback.in(.constdata__ZTV20CMnrpMapImageService)
-    .constdata__ZTV21CMnrpGeocodingService   0x000095c8   Section       72  mnrefproviderback.in(.constdata__ZTV21CMnrpGeocodingService)
-    .constdata__ZTV22MEikStatusPaneObserver  0x00009610   Section       12  mnrefproviderback.in(.constdata__ZTV22MEikStatusPaneObserver)
-    .init_array                              0x0000961c   Section        4  mnrefproviderback.in(.init_array)
-    .ARM.exidx                               0x00009620   Section        8  uc_exe_.o(.ARM.exidx)
-    .ARM.exidx                               0x00009628   Section        8  ucppinit_aeabi.o(.ARM.exidx)
-    .data$0                                  0x00400000   Data           0  mnrefproviderback.in(.data)
-    KProcessingDelay                         0x00400000   Data           4  mnrefproviderback.in(.data)
-    .data                                    0x00400000   Section        4  mnrefproviderback.in(.data)
-
-    Global Symbols
-
-    Symbol Name                              Value     Ov Type        Size  Object(Section)
-
-    BuildAttributes$$THUMB_ISAv3$ARM_ISAv6$M$E$P$PE$A:L22$X:L11$S22$IEEE1$IW$USESV6$~STKCKD$USESV7$~SHL$OSPACE$IEEEJ$EBA8$UX$REQ8$PRES8$EABIv2 0x00000000   Number         0  anon$$obj.o ABSOLUTE
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>111  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>112  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>113  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>117  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>118  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>11c  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>11d  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>11e  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>11f  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>1e  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>79  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>84  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>ab  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>c0  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>c2  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>ca  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>de  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>e8  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>46c  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>546  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>547  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>556  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>81  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>82  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>83  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b68  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b6a  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b6c  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b6d  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b6e  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b70  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b71  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b72  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b73  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b74  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b76  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b77  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b7a  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>bb1  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>bb5  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>c6  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>c7  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>c9  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>ce  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d3  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d5  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d6  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d7  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d8  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d9  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>dc  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>ef2  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>f16  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>f1c  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>fb5  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>fbe  - Undefined Reference
-    #<DLL>bafl{000a0000}[10003a0f].dll#<\DLL>2b  - Undefined Reference
-    #<DLL>bafl{000a0000}[10003a0f].dll#<\DLL>62  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>15f  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>163  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>27e  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>27f  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>298  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>2a4  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>2a5  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>64  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>65  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>7f  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>80  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>b6  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>d2  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>d4  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>dc  - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>90     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>9e     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>9f     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>b4     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>b6     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>b7     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>b8     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>bd     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>cc     - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>12  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>123  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>125  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>126  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>127  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>128  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>129  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>12a  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>12b  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>12e  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>13d  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>14  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>160  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>186  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>188  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>18a  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>19  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1a  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1b  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1c  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1d  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1d3  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1df  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1e  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1ea  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1f  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1fa  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>20b  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>214  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>215  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>216  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>217  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>218  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>219  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>235  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>25  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>3d  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>3e  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>3f  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>40  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>43  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>48  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>49  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>4a  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>4b  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>4d  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>4e  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>4f  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>8d  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>8e  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>8f  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>90  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>93  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>98  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>9b  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>9e  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>9f  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>a6  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>a9  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>ab  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>af  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>41  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>44  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>c  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>d  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1d7  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1da  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1e1  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>249  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>265  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>281  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>289  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>28a  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>28c  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>28e  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>29d  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>2a7  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>2a9  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>346  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>440  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>45c  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>45f  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>493  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>508  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>550  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>563  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>565  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>636  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>639  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>719  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>7cb  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>7cd  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>7cf  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>80c  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>80d  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>822  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>848  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>84b  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>84d  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>853  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>cb  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>cd  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>cf  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>d0  - Undefined Reference
-    #<DLL>gdi{000a0000}[10003b15].dll#<\DLL>138  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>17  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>cf  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>12  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>13  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>15  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>36  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>4  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>5  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>6  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>a  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>c  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>1  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>15  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>16  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>17  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>18  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>1b  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>2  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>22  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>2d  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>2e  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>2f  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>31  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>32  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>35  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>38  - Undefined Reference
-    #<DLL>scppnwdl{000a0000}.dll#<\DLL>3      - Undefined Reference
-    #<DLL>ws32{000a0000}[10003b21].dll#<\DLL>d3  - Undefined Reference
-    typeinfo for CAknDocument                 - Undefined Reference
-    typeinfo for CAknAppServer                - Undefined Reference
-    typeinfo for CEikApplication              - Undefined Reference
-    typeinfo for XLeaveException              - Undefined Reference
-    typeinfo for CMnMapImageServiceBase       - Undefined Reference
-    typeinfo for CMnGeocodingServiceBase      - Undefined Reference
-    typeinfo for CBase                        - Undefined Reference
-    typeinfo for CAknAppUi                    - Undefined Reference
-    vtable for __cxxabiv1::__class_type_info  - Undefined Reference
-    vtable for __cxxabiv1::__si_class_type_info  - Undefined Reference
-    _fp_init                                  - Undefined Weak Reference
-    Image$$ER_RO$$Base                       0x00008000   Number         0  anon$$obj.o(linker$$defined$$symbols)
-    _E32Startup                              0x00008000   ARM Code     112  uc_exe_.o(.emb_text)
-    Symbian$$CPP$$Exception$$Descriptor      0x0000805c   Data           0  uc_exe_.o(.emb_text)
-    __cpp_initialize__aeabi_                 0x00008070   ARM Code      72  ucppinit_aeabi.o(.emb_text)
-    std::nothrow                             0x000080b8   ARM Code       0  ucppinit_aeabi.o(.emb_text)
-    Inline ARM to Thumb Veneer to _xxxx_call_user_invariant 0x000080b8   ARM Code       0  uc_exe_.o(.text)
-    _xxxx_call_user_invariant                0x000080c1   Thumb Code     8  uc_exe_.o(.text)
-    _xxxx_call_user_handle_exception         0x000080c9   Thumb Code     8  uc_exe_.o(.text)
-    E32Main()                                0x000080ef   Thumb Code    22  mnrefproviderback.in(.text)
-    CMnrpApplicationBack::AppDllUid() const  0x0000810d   Thumb Code     6  mnrefproviderback.in(.text)
-    CMnrpApplicationBack::CreateDocumentL()  0x00008113   Thumb Code     8  mnrefproviderback.in(.text)
-    CMnrpApplicationBack::NewAppServerL(CApaAppServer*&) 0x0000811b   Thumb Code    12  mnrefproviderback.in(.text)
-    CMnrpAppUiBack::ConstructL()             0x0000812d   Thumb Code    12  mnrefproviderback.in(.text)
-    CMnrpAppUiBack::MoveForeground()         0x00008139   Thumb Code    14  mnrefproviderback.in(.text)
-    CMnrpAppUiBack::MoveBackground()         0x00008147   Thumb Code    16  mnrefproviderback.in(.text)
-    CMnrpAppUiBack::HandleCommandL(int)      0x00008157   Thumb Code    20  mnrefproviderback.in(.text)
-    CMnrpDocumentBack::CMnrpDocumentBack(CEikApplication&) 0x00008171   Thumb Code    16  mnrefproviderback.in(.text)
-    CMnrpDocumentBack::CMnrpDocumentBack__sub_object(CEikApplication&) 0x00008171   Thumb Code     0  mnrefproviderback.in(.text)
-    CMnrpDocumentBack::NewL(CEikApplication&) 0x00008181   Thumb Code    18  mnrefproviderback.in(.text)
-    CMnrpDocumentBack::CreateAppUiL()        0x00008193   Thumb Code    24  mnrefproviderback.in(.text)
-    CMnrpAppServerBack::ConstructL()         0x000081b1   Thumb Code    12  mnrefproviderback.in(.text)
-    CMnrpAppServerBack::NewL()               0x000081bd   Thumb Code    48  mnrefproviderback.in(.text)
-    CMnrpAppServerBack::~CMnrpAppServerBack() 0x000081ed   Thumb Code    28  mnrefproviderback.in(.text)
-    CMnrpAppServerBack::~CMnrpAppServerBack__sub_object() 0x000081ed   Thumb Code     0  mnrefproviderback.in(.text)
-    CMnrpAppServerBack::~CMnrpAppServerBack__deallocating() 0x00008209   Thumb Code    16  mnrefproviderback.in(.text)
-    CMnrpAppServerBack::CreateMapImageServiceL() const 0x00008219   Thumb Code    10  mnrefproviderback.in(.text)
-    CMnrpAppServerBack::CreateGeocodingServiceL() const 0x00008223   Thumb Code    10  mnrefproviderback.in(.text)
-    CMnrpAppServerBack::CreateServiceL(TUid) const 0x0000822d   Thumb Code    32  mnrefproviderback.in(.text)
-    CleanupLandmarksArray(void*)             0x00008259   Thumb Code    48  mnrefproviderback.in(.text)
-    CleanupForeground(void*)                 0x00008289   Thumb Code     8  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::ConstructL()      0x00008291   Thumb Code    20  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::CMnrpGeocodingService(CMnrpEngine&) 0x000082a5   Thumb Code    16  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::CMnrpGeocodingService__sub_object(CMnrpEngine&) 0x000082a5   Thumb Code     0  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::NewL(CMnrpEngine&) 0x000082b5   Thumb Code    36  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::~CMnrpGeocodingService() 0x000082d9   Thumb Code    46  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::~CMnrpGeocodingService__sub_object() 0x000082d9   Thumb Code     0  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::~CMnrpGeocodingService__deallocating() 0x00008307   Thumb Code    16  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::LeaveIfBusyL()    0x00008317   Thumb Code    22  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::LetUserSelectBestMatchL(const CPosLandmark&) 0x0000832d   Thumb Code   318  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::FinishProcessingL() 0x0000846b   Thumb Code   130  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::HandleGeocodingCompleted() 0x000084ed   Thumb Code    72  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::GeocodingProcessingCallBack(void*) 0x00008535   Thumb Code    10  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::StartProcessingL() 0x0000853f   Thumb Code    14  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::HandleFindAddressByCoordinateL(const CPosLandmark&) 0x0000854d   Thumb Code    60  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::HandleFindCoordinateByAddressL(const CPosLandmark&) 0x00008589   Thumb Code    60  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::HandleFindCoordinateByAddressL(const TDesC16&) 0x000085c5   Thumb Code    74  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::DoCancel()        0x0000860f   Thumb Code    16  mnrefproviderback.in(.text)
-    CMnrpMapImageService::CreateFonts()      0x00008635   Thumb Code    64  mnrefproviderback.in(.text)
-    CMnrpMapImageService::ConstructL()       0x00008675   Thumb Code    44  mnrefproviderback.in(.text)
-    CMnrpMapImageService::CMnrpMapImageService(CMnrpEngine&) 0x000086a1   Thumb Code    20  mnrefproviderback.in(.text)
-    CMnrpMapImageService::CMnrpMapImageService__sub_object(CMnrpEngine&) 0x000086a1   Thumb Code     0  mnrefproviderback.in(.text)
-    CMnrpMapImageService::NewL(CMnrpEngine&) 0x000086b5   Thumb Code    36  mnrefproviderback.in(.text)
-    CMnrpMapImageService::DestroyFonts()     0x000086d9   Thumb Code    32  mnrefproviderback.in(.text)
-    CMnrpMapImageService::~CMnrpMapImageService() 0x000086f9   Thumb Code    60  mnrefproviderback.in(.text)
-    CMnrpMapImageService::~CMnrpMapImageService__sub_object() 0x000086f9   Thumb Code     0  mnrefproviderback.in(.text)
-    CMnrpMapImageService::~CMnrpMapImageService__deallocating() 0x00008735   Thumb Code    16  mnrefproviderback.in(.text)
-    CMnrpMapImageService::LeaveIfBusyL()     0x00008745   Thumb Code    24  mnrefproviderback.in(.text)
-    CMnrpMapImageService::RenderL()          0x0000875d   Thumb Code   116  mnrefproviderback.in(.text)
-    CMnrpMapImageService::FinishProcessingL() 0x000087d1   Thumb Code    52  mnrefproviderback.in(.text)
-    CMnrpMapImageService::HandleMapImageCompletedL() 0x00008805   Thumb Code    80  mnrefproviderback.in(.text)
-    CMnrpMapImageService::MapImageProcessingCallBack(void*) 0x00008855   Thumb Code    50  mnrefproviderback.in(.text)
-    CMnrpMapImageService::StartProcessingL() 0x00008887   Thumb Code    22  mnrefproviderback.in(.text)
-    CMnrpMapImageService::HandleRenderingL() 0x0000889d   Thumb Code    24  mnrefproviderback.in(.text)
-    CMnrpMapImageService::DoCancel()         0x000088b5   Thumb Code    18  mnrefproviderback.in(.text)
-    Inline ARM to Thumb Veneer to RunThread  0x000088e0   ARM Code       0  uc_exe.o(.text)
-    RunThread                                0x000088e9   Thumb Code    36  uc_exe.o(.text)
-    CallThrdProcEntry                        0x0000890c   ARM Code     116  callfirstprocessfn.o(.text)
-    __DLL_Export_Table__                     0x00008984   ARM Code       4  dllexp.o(.text)
-    CActive::Cancel()                        0x000089d0   ARM Code       0  euser{000a0000}-1088.o(StubCode)
-    HBufC16::Des()                           0x000089d8   ARM Code       0  euser{000a0000}-1116.o(StubCode)
-    HBufC16::NewLC(int)                      0x000089e0   ARM Code       0  euser{000a0000}-1119.o(StubCode)
-    TPtrC16::TPtrC16(const TDesC16&)         0x000089e8   ARM Code       0  euser{000a0000}-1171.o(StubCode)
-    CServer2::DoCancel()                     0x000089f0   ARM Code       0  euser{000a0000}-1288.o(StubCode)
-    CPeriodic::NewL(int)                     0x000089f8   ARM Code       0  euser{000a0000}-1379.o(StubCode)
-    CPeriodic::Start(TTimeIntervalMicroSeconds32, TTimeIntervalMicroSeconds32, TCallBack) 0x00008a00   ARM Code       0  euser{000a0000}-1381.o(StubCode)
-    RPointerArrayBase::At(int) const         0x00008a08   ARM Code       0  euser{000a0000}-1590.o(StubCode)
-    RPointerArrayBase::Count() const         0x00008a10   ARM Code       0  euser{000a0000}-1593.o(StubCode)
-    TDesC16::AllocL() const                  0x00008a18   ARM Code       0  euser{000a0000}-1817.o(StubCode)
-    CPolicyServer::CustomFailureActionL(const RMessage2&, int, const TSecurityInfo&) 0x00008a20   ARM Code       0  euser{000a0000}-1995.o(StubCode)
-    CPolicyServer::RunL()                    0x00008a28   ARM Code       0  euser{000a0000}-1997.o(StubCode)
-    CPolicyServer::RunError(int)             0x00008a30   ARM Code       0  euser{000a0000}-1999.o(StubCode)
-    CleanupStack::PopAndDestroy()            0x00008a38   ARM Code       0  euser{000a0000}-203.o(StubCode)
-    CleanupStack::Pop()                      0x00008a40   ARM Code       0  euser{000a0000}-205.o(StubCode)
-    User::MarkCleanupStack()                 0x00008a48   ARM Code       0  euser{000a0000}-2060.o(StubCode)
-    User::UnMarkCleanupStack(TTrapHandler*)  0x00008a50   ARM Code       0  euser{000a0000}-2061.o(StubCode)
-    CleanupStack::PushL(TCleanupItem)        0x00008a58   ARM Code       0  euser{000a0000}-207.o(StubCode)
-    CleanupStack::PushL(CBase*)              0x00008a60   ARM Code       0  euser{000a0000}-208.o(StubCode)
-    XLeaveException::GetReason() const       0x00008a68   ARM Code       0  euser{000a0000}-2082.o(StubCode)
-    CPolicyServer::Extension_(unsigned, void*&, void*) 0x00008a70   ARM Code       0  euser{000a0000}-2120.o(StubCode)
-    CBase::Extension_(unsigned, void*&, void*) 0x00008a78   ARM Code       0  euser{000a0000}-2123.o(StubCode)
-    CSession2::Extension_(unsigned, void*&, void*) 0x00008a80   ARM Code       0  euser{000a0000}-2131.o(StubCode)
-    RPointerArrayBase::Reset()               0x00008a88   ARM Code       0  euser{000a0000}-471.o(StubCode)
-    RPointerArrayBase::Remove(int)           0x00008a90   ARM Code       0  euser{000a0000}-474.o(StubCode)
-    RPointerArrayBase::RPointerArrayBase()   0x00008a98   ARM Code       0  euser{000a0000}-481.o(StubCode)
-    User::HandleException(void*)             0x00008aa0   ARM Code       0  euser{000a0000}-613.o(StubCode)
-    User::Leave(int)                         0x00008aa8   ARM Code       0  euser{000a0000}-649.o(StubCode)
-    User::AllocZ(int)                        0x00008ab0   ARM Code       0  euser{000a0000}-652.o(StubCode)
-    User::AllocZL(int)                       0x00008ab8   ARM Code       0  euser{000a0000}-654.o(StubCode)
-    User::Invariant()                        0x00008ac0   ARM Code       0  euser{000a0000}-669.o(StubCode)
-    CIdle::NewL(int)                         0x00008ac8   ARM Code       0  euser{000a0000}-679.o(StubCode)
-    CIdle::Start(TCallBack)                  0x00008ad0   ARM Code       0  euser{000a0000}-681.o(StubCode)
-    TRect::TRect(const TSize&)               0x00008ad8   ARM Code       0  euser{000a0000}-838.o(StubCode)
-    CDesC16Array::AppendL(const TDesC16&)    0x00008ae0   ARM Code       0  bafl{000a0000}-43.o(StubCode)
-    CDesC16ArraySeg::CDesC16ArraySeg(int)    0x00008ae8   ARM Code       0  bafl{000a0000}-98.o(StubCode)
-    MCoeMessageObserver::MCoeMessageObserver_Reserved_1() 0x00008af0   ARM Code       0  cone{000a0000}-100.o(StubCode)
-    MCoeMessageObserver::MCoeMessageObserver_Reserved_2() 0x00008af8   ARM Code       0  cone{000a0000}-101.o(StubCode)
-    MCoeViewDeactivationObserver::MCoeViewDeactivationObserver_Reserved_1() 0x00008b00   ARM Code       0  cone{000a0000}-127.o(StubCode)
-    MCoeViewDeactivationObserver::MCoeViewDeactivationObserver_Reserved_2() 0x00008b08   ARM Code       0  cone{000a0000}-128.o(StubCode)
-    CCoeEnv::Static()                        0x00008b10   ARM Code       0  cone{000a0000}-182.o(StubCode)
-    CCoeAppUi::HandleKeyEventL(const TKeyEvent&, TEventCode) 0x00008b18   ARM Code       0  cone{000a0000}-210.o(StubCode)
-    CCoeAppUi::SetAndDrawFocus(int)          0x00008b20   ARM Code       0  cone{000a0000}-212.o(StubCode)
-    CCoeAppUi::HandleSwitchOnEventL(CCoeControl*) 0x00008b28   ARM Code       0  cone{000a0000}-220.o(StubCode)
-    CCoeAppUi::HelpContextL() const          0x00008b30   ARM Code       0  cone{000a0000}-351.o(StubCode)
-    CCoeAppUi::InputCapabilities() const     0x00008b38   ARM Code       0  cone{000a0000}-355.o(StubCode)
-    MObjectProvider::MObjectProvider_Reserved1() 0x00008b40   ARM Code       0  cone{000a0000}-638.o(StubCode)
-    MObjectProvider::MObjectProvider_Reserved2() 0x00008b48   ARM Code       0  cone{000a0000}-639.o(StubCode)
-    MCoeViewDeactivationObserver::MCoeViewDeactivationObserver__sub_object() 0x00008b50   ARM Code       0  cone{000a0000}-664.o(StubCode)
-    CCoeAppUi::FrameworkCallsRendezvous() const 0x00008b58   ARM Code       0  cone{000a0000}-676.o(StubCode)
-    CCoeAppUi::CCoeAppUi_Reserved_2()        0x00008b60   ARM Code       0  cone{000a0000}-677.o(StubCode)
-    CApaDocument::Capability() const         0x00008b68   ARM Code       0  apparc{000a0000}-121.o(StubCode)
-    CApaApplication::AppFullName() const     0x00008b70   ARM Code       0  apparc{000a0000}-132.o(StubCode)
-    TApaApplicationFactory::TApaApplicationFactory(CApaApplication*(*)()) 0x00008b78   ARM Code       0  apparc{000a0000}-171.o(StubCode)
-    CApaAppServer::CustomSecurityCheckL(const RMessage2&, int&, TSecurityInfo&) 0x00008b80   ARM Code       0  apparc{000a0000}-192.o(StubCode)
-    CApaAppServer::CApaAppServer()           0x00008b88   ARM Code       0  apparc{000a0000}-194.o(StubCode)
-    CApaAppServiceBase::SecurityCheckL(const RMessage2&, int&, TSecurityInfo&) 0x00008b90   ARM Code       0  apparc{000a0000}-202.o(StubCode)
-    CApaAppServer::NewSessionL(const TVersion&, const RMessage2&) const 0x00008b98   ARM Code       0  apparc{000a0000}-222.o(StubCode)
-    CApaAppServiceBase::ExtensionInterface(TUid, void*&) 0x00008ba0   ARM Code       0  apparc{000a0000}-232.o(StubCode)
-    CApaAppServer::CApaAppServer_Reserved1() 0x00008ba8   ARM Code       0  apparc{000a0000}-273.o(StubCode)
-    CApaAppServer::CApaAppServer_Reserved2() 0x00008bb0   ARM Code       0  apparc{000a0000}-274.o(StubCode)
-    CApaAppServer::DoConnect(const RMessage2&) 0x00008bb8   ARM Code       0  apparc{000a0000}-275.o(StubCode)
-    CApaApplication::CApaApplication_Reserved1() 0x00008bc0   ARM Code       0  apparc{000a0000}-279.o(StubCode)
-    CApaApplication::CApaApplication_Reserved2() 0x00008bc8   ARM Code       0  apparc{000a0000}-280.o(StubCode)
-    CApaAppServiceBase::Disconnect(const RMessage2&) 0x00008bd0   ARM Code       0  apparc{000a0000}-284.o(StubCode)
-    CApaAppServiceBase::CountResources()     0x00008bd8   ARM Code       0  apparc{000a0000}-285.o(StubCode)
-    CApaAppServiceBase::CApaAppServiceBase_Reserved1() 0x00008be0   ARM Code       0  apparc{000a0000}-286.o(StubCode)
-    CApaAppServiceBase::CApaAppServiceBase_Reserved2() 0x00008be8   ARM Code       0  apparc{000a0000}-287.o(StubCode)
-    CApaDocument::GlassPictureL()            0x00008bf0   ARM Code       0  apparc{000a0000}-30.o(StubCode)
-    thunk{-20} to CEikDocument::SaveL(MSaveObserver::TSaveType) 0x00008bf8   ARM Code       0  eikcore{000a0000}-141.o(StubCode)
-    CEikAppUi::Reserved_3()                  0x00008c00   ARM Code       0  eikcore{000a0000}-142.o(StubCode)
-    CEikAppUi::Reserved_4()                  0x00008c08   ARM Code       0  eikcore{000a0000}-143.o(StubCode)
-    CEikAppUi::CreateFileL(const TDesC16&)   0x00008c10   ARM Code       0  eikcore{000a0000}-144.o(StubCode)
-    CEikAppUi::SetEmphasis(CCoeControl*, int) 0x00008c18   ARM Code       0  eikcore{000a0000}-147.o(StubCode)
-    CEikAppUi::HandleMessageL(unsigned long, TUid, const TDesC8&) 0x00008c20   ARM Code       0  eikcore{000a0000}-152.o(StubCode)
-    CEikAppUi::ProcessMessageL(TUid, const TDesC8&) 0x00008c28   ARM Code       0  eikcore{000a0000}-155.o(StubCode)
-    CEikAppUi::HandleModelChangeL()          0x00008c30   ARM Code       0  eikcore{000a0000}-158.o(StubCode)
-    CEikAppUi::HandleSideBarMenuL(int, const TPoint&, int, const CEikHotKeyTable*) 0x00008c38   ARM Code       0  eikcore{000a0000}-159.o(StubCode)
-    CEikAppUi::StopDisplayingMenuBar()       0x00008c40   ARM Code       0  eikcore{000a0000}-166.o(StubCode)
-    CEikAppUi::ProcessCommandParametersL(TApaCommand, TBuf<(int)256>&, const TDesC8&) 0x00008c48   ARM Code       0  eikcore{000a0000}-169.o(StubCode)
-    CEikAppUi::ReportResourceChangedToAppL(int) 0x00008c50   ARM Code       0  eikcore{000a0000}-171.o(StubCode)
-    CEikAppUi::OpenFileL(const TDesC16&)     0x00008c58   ARM Code       0  eikcore{000a0000}-175.o(StubCode)
-    CEikDocument::Reserved_2()               0x00008c60   ARM Code       0  eikcore{000a0000}-18.o(StubCode)
-    CEikDocument::NewDocumentL()             0x00008c68   ARM Code       0  eikcore{000a0000}-20.o(StubCode)
-    CEikDocument::UpdateTaskNameL(CApaWindowGroupName*) 0x00008c70   ARM Code       0  eikcore{000a0000}-25.o(StubCode)
-    CEikDocument::CreateFileStoreLC(RFs&, const TDesC16&) 0x00008c78   ARM Code       0  eikcore{000a0000}-26.o(StubCode)
-    CEikDocument::EditL(MApaEmbeddedDocObserver*, int) 0x00008c80   ARM Code       0  eikcore{000a0000}-27.o(StubCode)
-    CEikDocument::SaveL(MSaveObserver::TSaveType) 0x00008c88   ARM Code       0  eikcore{000a0000}-28.o(StubCode)
-    CEikDocument::SaveL()                    0x00008c90   ARM Code       0  eikcore{000a0000}-29.o(StubCode)
-    CEikDocument::HasChanged() const         0x00008c98   ARM Code       0  eikcore{000a0000}-291.o(StubCode)
-    CEikDocument::ExternalizeL(RWriteStream&) const 0x00008ca0   ARM Code       0  eikcore{000a0000}-293.o(StubCode)
-    CEikDocument::StoreL(CStreamStore&, CStreamDictionary&) const 0x00008ca8   ARM Code       0  eikcore{000a0000}-294.o(StubCode)
-    CEikDocument::IsEmpty() const            0x00008cb0   ARM Code       0  eikcore{000a0000}-295.o(StubCode)
-    CEikApplication::Capability(TDes8&) const 0x00008cb8   ARM Code       0  eikcore{000a0000}-296.o(StubCode)
-    CEikApplication::OpenIniFileLC(RFs&) const 0x00008cc0   ARM Code       0  eikcore{000a0000}-297.o(StubCode)
-    CEikApplication::BitmapStoreName() const 0x00008cc8   ARM Code       0  eikcore{000a0000}-298.o(StubCode)
-    CEikApplication::ResourceFileName() const 0x00008cd0   ARM Code       0  eikcore{000a0000}-299.o(StubCode)
-    CEikDocument::PrintL(const CStreamStore&) 0x00008cd8   ARM Code       0  eikcore{000a0000}-30.o(StubCode)
-    CEikApplication::GetDefaultDocumentFileName(TBuf<(int)256>&) const 0x00008ce0   ARM Code       0  eikcore{000a0000}-302.o(StubCode)
-    CEikDocument::RestoreL(const CStreamStore&, const CStreamDictionary&) 0x00008ce8   ARM Code       0  eikcore{000a0000}-31.o(StubCode)
-    CEikAppUi::ValidFileType(TUid) const     0x00008cf0   ARM Code       0  eikcore{000a0000}-317.o(StubCode)
-    CEikonEnv::DenseFont() const             0x00008cf8   ARM Code       0  eikcore{000a0000}-352.o(StubCode)
-    CEikDocument::~CEikDocument__sub_object() 0x00008d00   ARM Code       0  eikcore{000a0000}-37.o(StubCode)
-    thunk{-36} to CEikAppUi::HandleMessageL(unsigned long, TUid, const TDesC8&) 0x00008d08   ARM Code       0  eikcore{000a0000}-390.o(StubCode)
-    thunk{-40} to CEikAppUi::MopNext()       0x00008d10   ARM Code       0  eikcore{000a0000}-392.o(StubCode)
-    EikStart::RunApplication(TApaApplicationFactory) 0x00008d18   ARM Code       0  eikcore{000a0000}-394.o(StubCode)
-    CEikAppServer::ExtensionInterface(TUid, void*&) 0x00008d20   ARM Code       0  eikcore{000a0000}-467.o(StubCode)
-    CEikAppUi::MopNext()                     0x00008d28   ARM Code       0  eikcore{000a0000}-479.o(StubCode)
-    thunk{-24} to CEikAppUi::HandleSideBarMenuL(int, const TPoint&, int, const CEikHotKeyTable*) 0x00008d30   ARM Code       0  eikcore{000a0000}-490.o(StubCode)
-    CEikAppUi::ProcessCommandParametersL(CApaCommandLine&) 0x00008d38   ARM Code       0  eikcore{000a0000}-506.o(StubCode)
-    CEikAppServer::CreateServiceSecurityCheckL(TUid, const RMessage2&, int&, TSecurityInfo&) 0x00008d40   ARM Code       0  eikcore{000a0000}-523.o(StubCode)
-    CEikApplication::CEikApplication_Reserved1() 0x00008d48   ARM Code       0  eikcore{000a0000}-532.o(StubCode)
-    CEikApplication::CEikApplication_Reserved2() 0x00008d50   ARM Code       0  eikcore{000a0000}-533.o(StubCode)
-    MEikMenuObserver::Reserved_2_MenuObserver() 0x00008d58   ARM Code       0  eikcore{000a0000}-534.o(StubCode)
-    MEikMenuObserver::CreateCustomCommandControlL(int) 0x00008d60   ARM Code       0  eikcore{000a0000}-535.o(StubCode)
-    MEikMenuObserver::MEikCommandObserver_Reserved1() 0x00008d68   ARM Code       0  eikcore{000a0000}-536.o(StubCode)
-    MEikMenuObserver::MEikCommandObserver_Reserved2() 0x00008d70   ARM Code       0  eikcore{000a0000}-537.o(StubCode)
-    CEikDocument::ValidatePasswordL() const  0x00008d78   ARM Code       0  eikcore{000a0000}-565.o(StubCode)
-    CEikApplication::CreateDocumentL(CApaProcess*) 0x00008d80   ARM Code       0  eikcore{000a0000}-61.o(StubCode)
-    CEikApplication::PreDocConstructL()      0x00008d88   ARM Code       0  eikcore{000a0000}-62.o(StubCode)
-    thunk{-24} to CEikAppUi::SetEmphasis(CCoeControl*, int) 0x00008d90   ARM Code       0  eikcore{000a0000}-63.o(StubCode)
-    CEikApplication::CEikApplication__sub_object() 0x00008d98   ARM Code       0  eikcore{000a0000}-64.o(StubCode)
-    CEikApplication::~CEikApplication__sub_object() 0x00008da0   ARM Code       0  eikcore{000a0000}-67.o(StubCode)
-    MEikMenuObserver::RestoreMenuL(CCoeControl*, int, MEikMenuObserver::TMenuType) 0x00008da8   ARM Code       0  eikcore{000a0000}-72.o(StubCode)
-    MEikMenuObserver::OfferKeyToAppL(const TKeyEvent&, TEventCode) 0x00008db0   ARM Code       0  eikcore{000a0000}-73.o(StubCode)
-    MEikMenuObserver::DynInitMenuBarL(int, CEikMenuBar*) 0x00008db8   ARM Code       0  eikcore{000a0000}-74.o(StubCode)
-    MEikMenuObserver::DynInitMenuPaneL(int, CEikMenuPane*) 0x00008dc0   ARM Code       0  eikcore{000a0000}-75.o(StubCode)
-    MEikMenuObserver::CheckHotKeyNotDimmedL(int) 0x00008dc8   ARM Code       0  eikcore{000a0000}-77.o(StubCode)
-    MEikMenuObserver::Reserved_1_MenuObserver() 0x00008dd0   ARM Code       0  eikcore{000a0000}-78.o(StubCode)
-    MEikMenuObserver::HandleAttemptDimmedSelectionL(int) 0x00008dd8   ARM Code       0  eikcore{000a0000}-79.o(StubCode)
-    RWindowTreeNode::SetOrdinalPosition(int) 0x00008de0   ARM Code       0  ws32{000a0000}-211.o(StubCode)
-    CFont::FontSpecInTwips() const           0x00008de8   ARM Code       0  gdi{000a0000}-312.o(StubCode)
-    CAknAppServiceBase::CreateL()            0x00008df0   ARM Code       0  avkon{000a0000}-1132.o(StubCode)
-    CAknDocument::OpenFileL(CFileStore*&, RFile&) 0x00008df8   ARM Code       0  avkon{000a0000}-129.o(StubCode)
-    CAknDocument::OpenFileL(int, const TDesC16&, RFs&) 0x00008e00   ARM Code       0  avkon{000a0000}-130.o(StubCode)
-    CAknDocument::CAknDocument__sub_object(CEikApplication&) 0x00008e08   ARM Code       0  avkon{000a0000}-131.o(StubCode)
-    CAknListQueryDialog::SetItemTextArray(MDesC16Array*) 0x00008e10   ARM Code       0  avkon{000a0000}-1350.o(StubCode)
-    CAknListQueryDialog::SetOwnershipType(TListBoxModelItemArrayOwnership) 0x00008e18   ARM Code       0  avkon{000a0000}-1351.o(StubCode)
-    CAknListQueryDialog::CAknListQueryDialog(int*) 0x00008e20   ARM Code       0  avkon{000a0000}-1366.o(StubCode)
-    CAknAppServer::ConstructL(const TDesC16&) 0x00008e28   ARM Code       0  avkon{000a0000}-198.o(StubCode)
-    CAknAppServer::HandleAllClientsClosed()  0x00008e30   ARM Code       0  avkon{000a0000}-199.o(StubCode)
-    CAknAppServer::~CAknAppServer()          0x00008e38   ARM Code       0  avkon{000a0000}-201.o(StubCode)
-    CAknAppUiBase::MopSupplyObject(TTypeUid) 0x00008e40   ARM Code       0  avkon{000a0000}-206.o(StubCode)
-    CAknAppUiBase::HandleResourceChangeL(int) 0x00008e48   ARM Code       0  avkon{000a0000}-211.o(StubCode)
-    CAknAppUiBase::HandleScreenDeviceChangedL() 0x00008e50   ARM Code       0  avkon{000a0000}-213.o(StubCode)
-    CAknAppUiBase::HandleApplicationSpecificEventL(int, const TWsEvent&) 0x00008e58   ARM Code       0  avkon{000a0000}-214.o(StubCode)
-    CAknAppUiBase::Exit()                    0x00008e60   ARM Code       0  avkon{000a0000}-215.o(StubCode)
-    CAknAppUiBase::SetFadedL(int)            0x00008e68   ARM Code       0  avkon{000a0000}-216.o(StubCode)
-    CAknAppUiBase::CAknAppUiBase()           0x00008e70   ARM Code       0  avkon{000a0000}-217.o(StubCode)
-    CAknAppUiBase::~CAknAppUiBase()          0x00008e78   ARM Code       0  avkon{000a0000}-220.o(StubCode)
-    CAknAppUi::HandleError(int, const SExtendedError&, TDes16&, TDes16&) 0x00008e80   ARM Code       0  avkon{000a0000}-2920.o(StubCode)
-    CAknAppUi::PrepareToExit()               0x00008e88   ARM Code       0  avkon{000a0000}-2922.o(StubCode)
-    CAknAppUi::BaseConstructL(int)           0x00008e90   ARM Code       0  avkon{000a0000}-2924.o(StubCode)
-    CAknAppUi::HandleWsEventL(const TWsEvent&, CCoeControl*) 0x00008e98   ARM Code       0  avkon{000a0000}-2925.o(StubCode)
-    CAknAppUi::ProcessCommandL(int)          0x00008ea0   ARM Code       0  avkon{000a0000}-2926.o(StubCode)
-    CAknAppUi::HandleSystemEventL(const TWsEvent&) 0x00008ea8   ARM Code       0  avkon{000a0000}-2928.o(StubCode)
-    CAknAppUi::Reserved_MtsmObject()         0x00008eb0   ARM Code       0  avkon{000a0000}-2929.o(StubCode)
-    CAknAppUi::Reserved_MtsmPosition()       0x00008eb8   ARM Code       0  avkon{000a0000}-2930.o(StubCode)
-    CAknAppUi::HandleForegroundEventL(int)   0x00008ec0   ARM Code       0  avkon{000a0000}-2931.o(StubCode)
-    CAknAppUi::HandleViewDeactivation(const TVwsViewId&, const TVwsViewId&) 0x00008ec8   ARM Code       0  avkon{000a0000}-2932.o(StubCode)
-    CAknAppUi::HandleTouchPaneSizeChange()   0x00008ed0   ARM Code       0  avkon{000a0000}-2934.o(StubCode)
-    CAknAppUi::HandleStatusPaneSizeChange()  0x00008ed8   ARM Code       0  avkon{000a0000}-2935.o(StubCode)
-    CAknAppUi::~CAknAppUi()                  0x00008ee0   ARM Code       0  avkon{000a0000}-2938.o(StubCode)
-    CAknAppServer::CreateServiceL(TUid) const 0x00008ee8   ARM Code       0  avkon{000a0000}-2993.o(StubCode)
-    CAknAppUiBase::ApplicationRect() const   0x00008ef0   ARM Code       0  avkon{000a0000}-2997.o(StubCode)
-    thunk{-100} to CAknAppUi::HandleTouchPaneSizeChange() 0x00008ef8   ARM Code       0  avkon{000a0000}-3826.o(StubCode)
-    thunk{-24} to CAknAppUi::ProcessCommandL(int) 0x00008f00   ARM Code       0  avkon{000a0000}-3862.o(StubCode)
-    thunk{-40} to CAknAppUiBase::MopSupplyObject(TTypeUid) 0x00008f08   ARM Code       0  avkon{000a0000}-3868.o(StubCode)
-    thunk{-88} to CAknAppUi::HandleStatusPaneSizeChange() 0x00008f10   ARM Code       0  avkon{000a0000}-4021.o(StubCode)
-    thunk{-92} to CAknAppUi::HandleViewDeactivation(const TVwsViewId&, const TVwsViewId&) 0x00008f18   ARM Code       0  avkon{000a0000}-4030.o(StubCode)
-    CPosLandmark::NewL(const CPosLandmark&)  0x00008f20   ARM Code       0  eposlandmarks{000a0000}-12.o(StubCode)
-    CPosLandmark::NewL()                     0x00008f28   ARM Code       0  eposlandmarks{000a0000}-13.o(StubCode)
-    CPosLandmark::GetPosition(TLocality&) const 0x00008f30   ARM Code       0  eposlandmarks{000a0000}-65.o(StubCode)
-    CPosLandmark::GetPositionField(unsigned short, TPtrC16&) const 0x00008f38   ARM Code       0  eposlandmarks{000a0000}-68.o(StubCode)
-    TLocality::TLocality()                   0x00008f40   ARM Code       0  lbs{000a0000}-207.o(StubCode)
-    TCoordinate::TCoordinate()               0x00008f48   ARM Code       0  lbs{000a0000}-23.o(StubCode)
-    CMnServiceBase::ServiceError(const RMessage2&, int) 0x00008f50   ARM Code       0  mnservicelib{000a0000}-1.o(StubCode)
-    CMnServiceBase::CompleteRequest(int)     0x00008f58   ARM Code       0  mnservicelib{000a0000}-2.o(StubCode)
-    CMnGeocodingServiceBase::BaseConstructL() 0x00008f60   ARM Code       0  mnservicelib{000a0000}-21.o(StubCode)
-    CMnGeocodingServiceBase::CompleteGeocodingRequestL(const CPosLandmark&) 0x00008f68   ARM Code       0  mnservicelib{000a0000}-22.o(StubCode)
-    CMnGeocodingServiceBase::ServiceL(const RMessage2&) 0x00008f70   ARM Code       0  mnservicelib{000a0000}-23.o(StubCode)
-    CMnGeocodingServiceBase::CMnGeocodingServiceBase__sub_object() 0x00008f78   ARM Code       0  mnservicelib{000a0000}-24.o(StubCode)
-    CMnGeocodingServiceBase::~CMnGeocodingServiceBase__sub_object() 0x00008f80   ARM Code       0  mnservicelib{000a0000}-27.o(StubCode)
-    CMnGeocodingServiceBase::Options() const 0x00008f88   ARM Code       0  mnservicelib{000a0000}-34.o(StubCode)
-    CMnMapImageServiceBase::BaseConstructL() 0x00008f90   ARM Code       0  mnservicelib{000a0000}-45.o(StubCode)
-    CMnMapImageServiceBase::MapImageParams() 0x00008f98   ARM Code       0  mnservicelib{000a0000}-46.o(StubCode)
-    CMnMapImageServiceBase::CompleteRendering() 0x00008fa0   ARM Code       0  mnservicelib{000a0000}-47.o(StubCode)
-    CMnMapImageServiceBase::ServiceL(const RMessage2&) 0x00008fa8   ARM Code       0  mnservicelib{000a0000}-49.o(StubCode)
-    CMnMapImageServiceBase::CMnMapImageServiceBase__sub_object() 0x00008fb0   ARM Code       0  mnservicelib{000a0000}-50.o(StubCode)
-    CMnMapImageServiceBase::~CMnMapImageServiceBase__sub_object() 0x00008fb8   ARM Code       0  mnservicelib{000a0000}-53.o(StubCode)
-    CMnMapImageServiceBase::TargetBitmap() const 0x00008fc0   ARM Code       0  mnservicelib{000a0000}-56.o(StubCode)
-    CMnrpEngine::BestCoordToAddressMatchesL(const TCoordinate&, RPointerArray<CPosLandmark>&, int) 0x00008fc8   ARM Code       0  mnrefproviderengine{000a0000}-10.o(StubCode)
-    CMnrpEngine::NewL()                      0x00008fd0   ARM Code       0  mnrefproviderengine{000a0000}-12.o(StubCode)
-    CMnrpMapModel::UpdateModelL(const CMnrpMapImageService&) 0x00008fd8   ARM Code       0  mnrefproviderengine{000a0000}-18.o(StubCode)
-    CMnrpMapModel::SetScreenSize(TSize)      0x00008fe0   ARM Code       0  mnrefproviderengine{000a0000}-19.o(StubCode)
-    CMnrpMapModel::NewL(CMnrpEngine&)        0x00008fe8   ARM Code       0  mnrefproviderengine{000a0000}-21.o(StubCode)
-    CMnrpEngine::AddressToCoordLC(const CPosLandmark&) 0x00008ff0   ARM Code       0  mnrefproviderengine{000a0000}-4.o(StubCode)
-    CMnrpEngine::AddressToCoordLC(const TDesC16&) 0x00008ff8   ARM Code       0  mnrefproviderengine{000a0000}-5.o(StubCode)
-    CMnrpMapModel::RenderL(CFbsBitmap&, TRect, CFont*, CFont*) const 0x00009000   ARM Code       0  mnrefproviderengine{000a0000}-54.o(StubCode)
-    CMnrpEngine::CoordToAddressLC(const TCoordinate&) 0x00009008   ARM Code       0  mnrefproviderengine{000a0000}-6.o(StubCode)
-    __aeabi_memclr4                          0x00009010   ARM Code       0  drtaeabi{000a0000}-144.o(StubCode)
-    __aeabi_unwind_cpp_pr0                   0x00009018   ARM Code       0  drtaeabi{000a0000}-158.o(StubCode)
-    __aeabi_unwind_cpp_pr1                   0x00009020   ARM Code       0  drtaeabi{000a0000}-159.o(StubCode)
-    __cxa_begin_catch                        0x00009028   ARM Code       0  drtaeabi{000a0000}-180.o(StubCode)
-    __cxa_call_unexpected                    0x00009030   ARM Code       0  drtaeabi{000a0000}-182.o(StubCode)
-    __cxa_end_catch                          0x00009038   ARM Code       0  drtaeabi{000a0000}-183.o(StubCode)
-    __cxa_end_cleanup                        0x00009040   ARM Code       0  drtaeabi{000a0000}-184.o(StubCode)
-    __cxa_pure_virtual                       0x00009048   ARM Code       0  drtaeabi{000a0000}-189.o(StubCode)
-    operator delete (void*)                  0x00009050   ARM Code       0  scppnwdl{000a0000}-3.o(StubCode)
-    UserHeap::SetupThreadHeap(int, SStdEpocThreadCreateInfo&) 0x00009058   ARM Code       0  euser{000a0000}-1360.o(StubCode)
-    User::Exit(int)                          0x00009060   ARM Code       0  euser{000a0000}-641.o(StubCode)
-    User::InitProcess()                      0x00009068   ARM Code       0  euser{000a0000}-585.o(StubCode)
-    User::Panic(const TDesC16&, int)         0x00009070   ARM Code       0  euser{000a0000}-650.o(StubCode)
-    TCppRTExceptionsGlobals::TCppRTExceptionsGlobals() 0x00009078   ARM Code       0  drtaeabi{000a0000}-204.o(StubCode)
-    CApaDocument::DetachFromStoreL(CPicture::TDetach) 0x00009081   Thumb Code     2  mnrefproviderback.in(i._ZN12CApaDocument16DetachFromStoreLEN8CPicture7TDetachE)
-    CMnrpAppUiBack::CMnrpAppUiBack()         0x00009085   Thumb Code    50  mnrefproviderback.in(i._ZN14CMnrpAppUiBackC1Ev)
-    CMnrpAppUiBack::CMnrpAppUiBack__sub_object() 0x00009085   Thumb Code     0  mnrefproviderback.in(i._ZN14CMnrpAppUiBackC1Ev)
-    CMnrpAppUiBack::~CMnrpAppUiBack__deallocating() 0x000090cb   Thumb Code    16  mnrefproviderback.in(i._ZN14CMnrpAppUiBackD0Ev)
-    CMnrpAppUiBack::~CMnrpAppUiBack()        0x000090db   Thumb Code     8  mnrefproviderback.in(i._ZN14CMnrpAppUiBackD1Ev)
-    CMnrpAppUiBack::~CMnrpAppUiBack__sub_object() 0x000090db   Thumb Code     0  mnrefproviderback.in(i._ZN14CMnrpAppUiBackD1Ev)
-    CMnrpDocumentBack::~CMnrpDocumentBack__deallocating() 0x000090e3   Thumb Code    16  mnrefproviderback.in(i._ZN17CMnrpDocumentBackD0Ev)
-    CMnrpDocumentBack::~CMnrpDocumentBack()  0x000090f3   Thumb Code     8  mnrefproviderback.in(i._ZN17CMnrpDocumentBackD1Ev)
-    CMnrpDocumentBack::~CMnrpDocumentBack__sub_object() 0x000090f3   Thumb Code     0  mnrefproviderback.in(i._ZN17CMnrpDocumentBackD1Ev)
-    CMnrpApplicationBack::~CMnrpApplicationBack__deallocating() 0x000090fb   Thumb Code    16  mnrefproviderback.in(i._ZN20CMnrpApplicationBackD0Ev)
-    CMnrpApplicationBack::~CMnrpApplicationBack() 0x0000910b   Thumb Code     8  mnrefproviderback.in(i._ZN20CMnrpApplicationBackD1Ev)
-    CMnrpApplicationBack::~CMnrpApplicationBack__sub_object() 0x0000910b   Thumb Code     0  mnrefproviderback.in(i._ZN20CMnrpApplicationBackD1Ev)
-    CBase::operator new(unsigned)            0x00009113   Thumb Code     8  mnrefproviderback.in(i._ZN5CBasenwEj)
-    RPointerArray<CPosLandmark>::Count() const 0x0000911b   Thumb Code     8  mnrefproviderback.in(t._ZNK13RPointerArrayI12CPosLandmarkE5CountEv)
-    typeinfo for CMnrpAppUiBack              0x0000923c   Data          12  mnrefproviderback.in(.constdata__ZTI14CMnrpAppUiBack)
-    typeinfo for CMnrpDocumentBack           0x00009248   Data          12  mnrefproviderback.in(.constdata__ZTI17CMnrpDocumentBack)
-    typeinfo for CMnrpAppServerBack          0x00009254   Data          12  mnrefproviderback.in(.constdata__ZTI18CMnrpAppServerBack)
-    typeinfo for CMnrpApplicationBack        0x00009260   Data          12  mnrefproviderback.in(.constdata__ZTI20CMnrpApplicationBack)
-    typeinfo for CMnrpMapImageService        0x0000926c   Data          12  mnrefproviderback.in(.constdata__ZTI20CMnrpMapImageService)
-    typeinfo for CMnrpGeocodingService       0x00009278   Data          12  mnrefproviderback.in(.constdata__ZTI21CMnrpGeocodingService)
-    typeinfo for MEikStatusPaneObserver      0x00009284   Data           8  mnrefproviderback.in(.constdata__ZTI22MEikStatusPaneObserver)
-    typeinfo name for CMnrpAppUiBack         0x0000928c   Data          17  mnrefproviderback.in(.constdata__ZTS14CMnrpAppUiBack)
-    typeinfo name for CMnrpDocumentBack      0x0000929d   Data          20  mnrefproviderback.in(.constdata__ZTS17CMnrpDocumentBack)
-    typeinfo name for CMnrpAppServerBack     0x000092b1   Data          21  mnrefproviderback.in(.constdata__ZTS18CMnrpAppServerBack)
-    typeinfo name for CMnrpApplicationBack   0x000092c6   Data          23  mnrefproviderback.in(.constdata__ZTS20CMnrpApplicationBack)
-    typeinfo name for CMnrpMapImageService   0x000092dd   Data          23  mnrefproviderback.in(.constdata__ZTS20CMnrpMapImageService)
-    typeinfo name for CMnrpGeocodingService  0x000092f4   Data          24  mnrefproviderback.in(.constdata__ZTS21CMnrpGeocodingService)
-    typeinfo name for MEikStatusPaneObserver 0x0000930c   Data          25  mnrefproviderback.in(.constdata__ZTS22MEikStatusPaneObserver)
-    vtable for CMnrpAppUiBack                0x00009328   Data         340  mnrefproviderback.in(.constdata__ZTV14CMnrpAppUiBack)
-    vtable for CMnrpDocumentBack             0x0000947c   Data         112  mnrefproviderback.in(.constdata__ZTV17CMnrpDocumentBack)
-    vtable for CMnrpAppServerBack            0x000094ec   Data          76  mnrefproviderback.in(.constdata__ZTV18CMnrpAppServerBack)
-    vtable for CMnrpApplicationBack          0x00009538   Data          80  mnrefproviderback.in(.constdata__ZTV20CMnrpApplicationBack)
-    vtable for CMnrpMapImageService          0x00009588   Data          64  mnrefproviderback.in(.constdata__ZTV20CMnrpMapImageService)
-    vtable for CMnrpGeocodingService         0x000095c8   Data          72  mnrefproviderback.in(.constdata__ZTV21CMnrpGeocodingService)
-    vtable for MEikStatusPaneObserver        0x00009610   Data          12  mnrefproviderback.in(.constdata__ZTV22MEikStatusPaneObserver)
-    SHT$$INIT_ARRAY$$Base                    0x0000961c   Number         0  mnrefproviderback.in(.init_array)
-    .ARM.exidx$$Base                         0x00009620   Number         0  uc_exe_.o(.ARM.exidx)
-    SHT$$INIT_ARRAY$$Limit                   0x00009620   Data           0  mnrefproviderback.in(.init_array)
-    .ARM.exidx$$Limit                        0x00009750   Number         0  mnrefproviderback.in(.ARM.exidx)
-    Image$$ER_RO$$Limit                      0x00009750   Number         0  anon$$obj.o(linker$$defined$$symbols)
-
Binary file locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/data/armv5/urel/mnrefproviderback.rsc has changed
Binary file locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/data/armv5/urel/mnrefproviderback_reg.rsc has changed
Binary file locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/data/armv5/urel/mnrefproviderengine.dll has changed
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/data/armv5/urel/mnrefproviderengine.dll.map	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1138 +0,0 @@
-ARM Linker, RVCT2.2 [Build 593]
-
-================================================================================
-
-Image Symbol Table
-
-    Local Symbols
-
-    Symbol Name                              Value     Ov Type        Size  Object(Section)
-
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-184.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-28.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  AknIcon{000a0000}-15.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  scppnwdl{000a0000}-3.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-303.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  AknIcon{000a0000}-16.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-5.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-304.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  AknIcon{000a0000}-21.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-55.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-47.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  gdi{000a0000}-311.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-57.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-48.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  gdi{000a0000}-314.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-6.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-49.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bitgdi{000a0000}-14.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-8.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-7.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bitgdi{000a0000}-44.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-9.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-8.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-12.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-12.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-82.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-14.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-19.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-83.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-15.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-2.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-87.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-4.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-20.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-97.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-50.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-22.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-10.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-51.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-23.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-13.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-56.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-24.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-3.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-6.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-25.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-180.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-65.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-3.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-181.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-66.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-36.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-205.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-67.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-41.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-207.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-68.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-5.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-21.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-75.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-8.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-214.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-8.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-135.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-218.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-82.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-147.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-219.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-10.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-158.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-223.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-13.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-159.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-225.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-15.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-180.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-226.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-152.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-183.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-23.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-167.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  AknIcon{000a0000}-11.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-476.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-17.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-838.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-48.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1090.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-839.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-481.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1091.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-841.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-49.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1094.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-936.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-50.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1116.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-953.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-55.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1119.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-960.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-551.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1171.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-966.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-593.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1172.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-968.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-649.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-120.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-973.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-654.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1507.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1051.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-669.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1510.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1059.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-81.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1590.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1073.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-824.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1593.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1074.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-826.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1625.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1088.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-207.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1646.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  efsrv{000a0000}-190.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-208.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1648.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  efsrv{000a0000}-200.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2082.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1649.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  efsrv{000a0000}-204.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-209.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1651.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  efsrv{000a0000}-68.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2123.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1753.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bafl{000a0000}-123.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2125.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1806.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bafl{000a0000}-124.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2128.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1815.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bafl{000a0000}-129.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-424.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1821.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bafl{000a0000}-141.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-46.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1826.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bafl{000a0000}-145.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-984.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-203.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bafl{000a0000}-147.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  efsrv{000a0000}-115.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-205.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bafl{000a0000}-59.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  efsrv{000a0000}-118.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2060.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bafl{000a0000}-62.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  efsrv{000a0000}-181.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2061.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-472.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  efsrv{000a0000}-182.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-47.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-464.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-471.o ABSOLUTE
-    M:/epoc32/build/apputils/c_da81efa927799d7f/bafl_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/bitgdi/c_92c016796215bf55/bitgdi_lib/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/compsupp/c_18558cc638e6e874/drtaeabi_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/gdi/c_5dab287815cadb7b/gdi_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/store/c_93a13d203e6d3ba7/estor_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/uigraphicsutils/c_d265b80414e63acf/egul_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/uikon/c_9cf7bef4a7562444/eikcore_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:\\sf\\os\\kernelhwsrv\\kernel\\eka\\compsupp\\rvct2_2\\ucppinit_aeabi.cpp 0x00000000   Number         0  ucppinit_aeabi.o ABSOLUTE
-    M:\sf\os\kernelhwsrv\kernel\eka\compsupp\rvct2_2\ucppinit_aeabi.cpp 0x00000000   Number         0  ucppinit_aeabi.o ABSOLUTE
-    \EPOC32\BUILD\sf\app\location\mapnavproviderrefapp\group\MNREFENGINE\ARMV5\urel\mnrefproviderengine{000a0000}.s 0x00000000   Number         0  mnrefproviderengine{000a0000}.exp ABSOLUTE
-    \EPOC32\BUILD\sf\mw\locationsrv\group\EPOS_LANDMARKSCLIENTLIBRARY\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\locationsrv\group\MNCLIENTLIB\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\locationsrv\group\MNSERVICELIB\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\uiresources\group\AKNICON\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\kernelhwsrv\kernel\eka\euser\EDLL\ARMV6_ABIV1\urel\uc_dll_.cpp 0x00000000   Number         0  uc_dll_.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\kernelhwsrv\kernel\eka\euser\EUSER\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\kernelhwsrv\userlibandfileserver\fileserver\group\EFSRV\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\lbs\locationmgmt\locationadmin\group\LBSAPIVARIANT2\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \\EPOC32\\BUILD\\sf\\os\\kernelhwsrv\\kernel\\eka\\euser\\EDLL\\ARMV6_ABIV1\\urel\\uc_dll_.cpp 0x00000000   Number         0  uc_dll_.o ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpengine.cpp 0x00000000   Number         0  mnrefproviderengine.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpmapmodel.cpp 0x00000000   Number         0  mnrefproviderengine.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrppositionrequest.cpp 0x00000000   Number         0  mnrefproviderengine.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrputils.cpp 0x00000000   Number         0  mnrefproviderengine.in ABSOLUTE
-    \sf\os\kernelhwsrv\kernel\eka\euser\epoc\arm\uc_dll.cpp 0x00000000   Number         0  uc_dll.o ABSOLUTE
-    .emb_text                                0x00008000   Section       40  uc_dll_.o(.emb_text)
-    .emb_text                                0x00008028   Section       72  ucppinit_aeabi.o(.emb_text)
-    skip                                     0x0000803c   ARM Code       0  ucppinit_aeabi.o(.emb_text)
-    loop                                     0x0000804c   ARM Code       0  ucppinit_aeabi.o(.emb_text)
-    fpinit                                   0x00008064   Data           0  ucppinit_aeabi.o(.emb_text)
-    base                                     0x00008068   Data           0  ucppinit_aeabi.o(.emb_text)
-    limit                                    0x0000806c   Data           0  ucppinit_aeabi.o(.emb_text)
-    .text                                    0x00008070   Section     1622  mnrefproviderengine.in(.text)
-    .text                                    0x000086c8   Section     5840  mnrefproviderengine.in(.text)
-    |L1.1020|                                0x00008ac4   Data           0  mnrefproviderengine.in(.text)
-    |L1.1028|                                0x00008acc   Data           0  mnrefproviderengine.in(.text)
-    |L1.1056|                                0x00008ae8   Data           0  mnrefproviderengine.in(.text)
-    |L1.1064|                                0x00008af0   Data           0  mnrefproviderengine.in(.text)
-    |L1.2128|                                0x00008f18   Data           0  mnrefproviderengine.in(.text)
-    |L1.2136|                                0x00008f20   Data           0  mnrefproviderengine.in(.text)
-    |L1.2148|                                0x00008f2c   Data           0  mnrefproviderengine.in(.text)
-    |L1.3444|                                0x0000943c   Data           0  mnrefproviderengine.in(.text)
-    .text                                    0x00009d98   Section      756  mnrefproviderengine.in(.text)
-    .text                                    0x0000a08c   Section     1120  mnrefproviderengine.in(.text)
-    .text                                    0x0000a4ec   Section       40  uc_dll.o(.text)
-    .text.clean                              0x0000a514   Section       38  mnrefproviderengine.in(.text.clean)
-    .text.clean                              0x0000a53a   Section       50  mnrefproviderengine.in(.text.clean)
-    .text.clean                              0x0000a56c   Section       20  mnrefproviderengine.in(.text.clean)
-    ExportTable                              0x0000a580   Section      256  mnrefproviderengine{000a0000}.exp(ExportTable)
-    StubCode                                 0x0000a680   Section        8  euser{000a0000}-1051.o(StubCode)
-    theImportedSymbol                        0x0000a684   Data           0  euser{000a0000}-1051.o(StubCode)
-    StubCode                                 0x0000a688   Section        8  euser{000a0000}-1059.o(StubCode)
-    theImportedSymbol                        0x0000a68c   Data           0  euser{000a0000}-1059.o(StubCode)
-    StubCode                                 0x0000a690   Section        8  euser{000a0000}-1073.o(StubCode)
-    theImportedSymbol                        0x0000a694   Data           0  euser{000a0000}-1073.o(StubCode)
-    StubCode                                 0x0000a698   Section        8  euser{000a0000}-1074.o(StubCode)
-    theImportedSymbol                        0x0000a69c   Data           0  euser{000a0000}-1074.o(StubCode)
-    StubCode                                 0x0000a6a0   Section        8  euser{000a0000}-1088.o(StubCode)
-    theImportedSymbol                        0x0000a6a4   Data           0  euser{000a0000}-1088.o(StubCode)
-    StubCode                                 0x0000a6a8   Section        8  euser{000a0000}-1090.o(StubCode)
-    theImportedSymbol                        0x0000a6ac   Data           0  euser{000a0000}-1090.o(StubCode)
-    StubCode                                 0x0000a6b0   Section        8  euser{000a0000}-1091.o(StubCode)
-    theImportedSymbol                        0x0000a6b4   Data           0  euser{000a0000}-1091.o(StubCode)
-    StubCode                                 0x0000a6b8   Section        8  euser{000a0000}-1094.o(StubCode)
-    theImportedSymbol                        0x0000a6bc   Data           0  euser{000a0000}-1094.o(StubCode)
-    StubCode                                 0x0000a6c0   Section        8  euser{000a0000}-1116.o(StubCode)
-    theImportedSymbol                        0x0000a6c4   Data           0  euser{000a0000}-1116.o(StubCode)
-    StubCode                                 0x0000a6c8   Section        8  euser{000a0000}-1119.o(StubCode)
-    theImportedSymbol                        0x0000a6cc   Data           0  euser{000a0000}-1119.o(StubCode)
-    StubCode                                 0x0000a6d0   Section        8  euser{000a0000}-1171.o(StubCode)
-    theImportedSymbol                        0x0000a6d4   Data           0  euser{000a0000}-1171.o(StubCode)
-    StubCode                                 0x0000a6d8   Section        8  euser{000a0000}-1172.o(StubCode)
-    theImportedSymbol                        0x0000a6dc   Data           0  euser{000a0000}-1172.o(StubCode)
-    StubCode                                 0x0000a6e0   Section        8  euser{000a0000}-120.o(StubCode)
-    theImportedSymbol                        0x0000a6e4   Data           0  euser{000a0000}-120.o(StubCode)
-    StubCode                                 0x0000a6e8   Section        8  euser{000a0000}-1507.o(StubCode)
-    theImportedSymbol                        0x0000a6ec   Data           0  euser{000a0000}-1507.o(StubCode)
-    StubCode                                 0x0000a6f0   Section        8  euser{000a0000}-1510.o(StubCode)
-    theImportedSymbol                        0x0000a6f4   Data           0  euser{000a0000}-1510.o(StubCode)
-    StubCode                                 0x0000a6f8   Section        8  euser{000a0000}-1590.o(StubCode)
-    theImportedSymbol                        0x0000a6fc   Data           0  euser{000a0000}-1590.o(StubCode)
-    StubCode                                 0x0000a700   Section        8  euser{000a0000}-1593.o(StubCode)
-    theImportedSymbol                        0x0000a704   Data           0  euser{000a0000}-1593.o(StubCode)
-    StubCode                                 0x0000a708   Section        8  euser{000a0000}-1625.o(StubCode)
-    theImportedSymbol                        0x0000a70c   Data           0  euser{000a0000}-1625.o(StubCode)
-    StubCode                                 0x0000a710   Section        8  euser{000a0000}-1646.o(StubCode)
-    theImportedSymbol                        0x0000a714   Data           0  euser{000a0000}-1646.o(StubCode)
-    StubCode                                 0x0000a718   Section        8  euser{000a0000}-1648.o(StubCode)
-    theImportedSymbol                        0x0000a71c   Data           0  euser{000a0000}-1648.o(StubCode)
-    StubCode                                 0x0000a720   Section        8  euser{000a0000}-1649.o(StubCode)
-    theImportedSymbol                        0x0000a724   Data           0  euser{000a0000}-1649.o(StubCode)
-    StubCode                                 0x0000a728   Section        8  euser{000a0000}-1651.o(StubCode)
-    theImportedSymbol                        0x0000a72c   Data           0  euser{000a0000}-1651.o(StubCode)
-    StubCode                                 0x0000a730   Section        8  euser{000a0000}-1753.o(StubCode)
-    theImportedSymbol                        0x0000a734   Data           0  euser{000a0000}-1753.o(StubCode)
-    StubCode                                 0x0000a738   Section        8  euser{000a0000}-1806.o(StubCode)
-    theImportedSymbol                        0x0000a73c   Data           0  euser{000a0000}-1806.o(StubCode)
-    StubCode                                 0x0000a740   Section        8  euser{000a0000}-1815.o(StubCode)
-    theImportedSymbol                        0x0000a744   Data           0  euser{000a0000}-1815.o(StubCode)
-    StubCode                                 0x0000a748   Section        8  euser{000a0000}-1821.o(StubCode)
-    theImportedSymbol                        0x0000a74c   Data           0  euser{000a0000}-1821.o(StubCode)
-    StubCode                                 0x0000a750   Section        8  euser{000a0000}-1826.o(StubCode)
-    theImportedSymbol                        0x0000a754   Data           0  euser{000a0000}-1826.o(StubCode)
-    StubCode                                 0x0000a758   Section        8  euser{000a0000}-203.o(StubCode)
-    theImportedSymbol                        0x0000a75c   Data           0  euser{000a0000}-203.o(StubCode)
-    StubCode                                 0x0000a760   Section        8  euser{000a0000}-205.o(StubCode)
-    theImportedSymbol                        0x0000a764   Data           0  euser{000a0000}-205.o(StubCode)
-    StubCode                                 0x0000a768   Section        8  euser{000a0000}-2060.o(StubCode)
-    theImportedSymbol                        0x0000a76c   Data           0  euser{000a0000}-2060.o(StubCode)
-    StubCode                                 0x0000a770   Section        8  euser{000a0000}-2061.o(StubCode)
-    theImportedSymbol                        0x0000a774   Data           0  euser{000a0000}-2061.o(StubCode)
-    StubCode                                 0x0000a778   Section        8  euser{000a0000}-207.o(StubCode)
-    theImportedSymbol                        0x0000a77c   Data           0  euser{000a0000}-207.o(StubCode)
-    StubCode                                 0x0000a780   Section        8  euser{000a0000}-208.o(StubCode)
-    theImportedSymbol                        0x0000a784   Data           0  euser{000a0000}-208.o(StubCode)
-    StubCode                                 0x0000a788   Section        8  euser{000a0000}-2082.o(StubCode)
-    theImportedSymbol                        0x0000a78c   Data           0  euser{000a0000}-2082.o(StubCode)
-    StubCode                                 0x0000a790   Section        8  euser{000a0000}-209.o(StubCode)
-    theImportedSymbol                        0x0000a794   Data           0  euser{000a0000}-209.o(StubCode)
-    StubCode                                 0x0000a798   Section        8  euser{000a0000}-2123.o(StubCode)
-    theImportedSymbol                        0x0000a79c   Data           0  euser{000a0000}-2123.o(StubCode)
-    StubCode                                 0x0000a7a0   Section        8  euser{000a0000}-2125.o(StubCode)
-    theImportedSymbol                        0x0000a7a4   Data           0  euser{000a0000}-2125.o(StubCode)
-    StubCode                                 0x0000a7a8   Section        8  euser{000a0000}-2128.o(StubCode)
-    theImportedSymbol                        0x0000a7ac   Data           0  euser{000a0000}-2128.o(StubCode)
-    StubCode                                 0x0000a7b0   Section        8  euser{000a0000}-424.o(StubCode)
-    theImportedSymbol                        0x0000a7b4   Data           0  euser{000a0000}-424.o(StubCode)
-    StubCode                                 0x0000a7b8   Section        8  euser{000a0000}-46.o(StubCode)
-    theImportedSymbol                        0x0000a7bc   Data           0  euser{000a0000}-46.o(StubCode)
-    StubCode                                 0x0000a7c0   Section        8  euser{000a0000}-464.o(StubCode)
-    theImportedSymbol                        0x0000a7c4   Data           0  euser{000a0000}-464.o(StubCode)
-    StubCode                                 0x0000a7c8   Section        8  euser{000a0000}-47.o(StubCode)
-    theImportedSymbol                        0x0000a7cc   Data           0  euser{000a0000}-47.o(StubCode)
-    StubCode                                 0x0000a7d0   Section        8  euser{000a0000}-471.o(StubCode)
-    theImportedSymbol                        0x0000a7d4   Data           0  euser{000a0000}-471.o(StubCode)
-    StubCode                                 0x0000a7d8   Section        8  euser{000a0000}-472.o(StubCode)
-    theImportedSymbol                        0x0000a7dc   Data           0  euser{000a0000}-472.o(StubCode)
-    StubCode                                 0x0000a7e0   Section        8  euser{000a0000}-476.o(StubCode)
-    theImportedSymbol                        0x0000a7e4   Data           0  euser{000a0000}-476.o(StubCode)
-    StubCode                                 0x0000a7e8   Section        8  euser{000a0000}-48.o(StubCode)
-    theImportedSymbol                        0x0000a7ec   Data           0  euser{000a0000}-48.o(StubCode)
-    StubCode                                 0x0000a7f0   Section        8  euser{000a0000}-481.o(StubCode)
-    theImportedSymbol                        0x0000a7f4   Data           0  euser{000a0000}-481.o(StubCode)
-    StubCode                                 0x0000a7f8   Section        8  euser{000a0000}-49.o(StubCode)
-    theImportedSymbol                        0x0000a7fc   Data           0  euser{000a0000}-49.o(StubCode)
-    StubCode                                 0x0000a800   Section        8  euser{000a0000}-50.o(StubCode)
-    theImportedSymbol                        0x0000a804   Data           0  euser{000a0000}-50.o(StubCode)
-    StubCode                                 0x0000a808   Section        8  euser{000a0000}-55.o(StubCode)
-    theImportedSymbol                        0x0000a80c   Data           0  euser{000a0000}-55.o(StubCode)
-    StubCode                                 0x0000a810   Section        8  euser{000a0000}-551.o(StubCode)
-    theImportedSymbol                        0x0000a814   Data           0  euser{000a0000}-551.o(StubCode)
-    StubCode                                 0x0000a818   Section        8  euser{000a0000}-593.o(StubCode)
-    theImportedSymbol                        0x0000a81c   Data           0  euser{000a0000}-593.o(StubCode)
-    StubCode                                 0x0000a820   Section        8  euser{000a0000}-649.o(StubCode)
-    theImportedSymbol                        0x0000a824   Data           0  euser{000a0000}-649.o(StubCode)
-    StubCode                                 0x0000a828   Section        8  euser{000a0000}-654.o(StubCode)
-    theImportedSymbol                        0x0000a82c   Data           0  euser{000a0000}-654.o(StubCode)
-    StubCode                                 0x0000a830   Section        8  euser{000a0000}-669.o(StubCode)
-    theImportedSymbol                        0x0000a834   Data           0  euser{000a0000}-669.o(StubCode)
-    StubCode                                 0x0000a838   Section        8  euser{000a0000}-81.o(StubCode)
-    theImportedSymbol                        0x0000a83c   Data           0  euser{000a0000}-81.o(StubCode)
-    StubCode                                 0x0000a840   Section        8  euser{000a0000}-824.o(StubCode)
-    theImportedSymbol                        0x0000a844   Data           0  euser{000a0000}-824.o(StubCode)
-    StubCode                                 0x0000a848   Section        8  euser{000a0000}-826.o(StubCode)
-    theImportedSymbol                        0x0000a84c   Data           0  euser{000a0000}-826.o(StubCode)
-    StubCode                                 0x0000a850   Section        8  euser{000a0000}-838.o(StubCode)
-    theImportedSymbol                        0x0000a854   Data           0  euser{000a0000}-838.o(StubCode)
-    StubCode                                 0x0000a858   Section        8  euser{000a0000}-839.o(StubCode)
-    theImportedSymbol                        0x0000a85c   Data           0  euser{000a0000}-839.o(StubCode)
-    StubCode                                 0x0000a860   Section        8  euser{000a0000}-841.o(StubCode)
-    theImportedSymbol                        0x0000a864   Data           0  euser{000a0000}-841.o(StubCode)
-    StubCode                                 0x0000a868   Section        8  euser{000a0000}-936.o(StubCode)
-    theImportedSymbol                        0x0000a86c   Data           0  euser{000a0000}-936.o(StubCode)
-    StubCode                                 0x0000a870   Section        8  euser{000a0000}-953.o(StubCode)
-    theImportedSymbol                        0x0000a874   Data           0  euser{000a0000}-953.o(StubCode)
-    StubCode                                 0x0000a878   Section        8  euser{000a0000}-960.o(StubCode)
-    theImportedSymbol                        0x0000a87c   Data           0  euser{000a0000}-960.o(StubCode)
-    StubCode                                 0x0000a880   Section        8  euser{000a0000}-966.o(StubCode)
-    theImportedSymbol                        0x0000a884   Data           0  euser{000a0000}-966.o(StubCode)
-    StubCode                                 0x0000a888   Section        8  euser{000a0000}-968.o(StubCode)
-    theImportedSymbol                        0x0000a88c   Data           0  euser{000a0000}-968.o(StubCode)
-    StubCode                                 0x0000a890   Section        8  euser{000a0000}-973.o(StubCode)
-    theImportedSymbol                        0x0000a894   Data           0  euser{000a0000}-973.o(StubCode)
-    StubCode                                 0x0000a898   Section        8  euser{000a0000}-984.o(StubCode)
-    theImportedSymbol                        0x0000a89c   Data           0  euser{000a0000}-984.o(StubCode)
-    StubCode                                 0x0000a8a0   Section        8  efsrv{000a0000}-115.o(StubCode)
-    theImportedSymbol                        0x0000a8a4   Data           0  efsrv{000a0000}-115.o(StubCode)
-    StubCode                                 0x0000a8a8   Section        8  efsrv{000a0000}-118.o(StubCode)
-    theImportedSymbol                        0x0000a8ac   Data           0  efsrv{000a0000}-118.o(StubCode)
-    StubCode                                 0x0000a8b0   Section        8  efsrv{000a0000}-181.o(StubCode)
-    theImportedSymbol                        0x0000a8b4   Data           0  efsrv{000a0000}-181.o(StubCode)
-    StubCode                                 0x0000a8b8   Section        8  efsrv{000a0000}-182.o(StubCode)
-    theImportedSymbol                        0x0000a8bc   Data           0  efsrv{000a0000}-182.o(StubCode)
-    StubCode                                 0x0000a8c0   Section        8  efsrv{000a0000}-190.o(StubCode)
-    theImportedSymbol                        0x0000a8c4   Data           0  efsrv{000a0000}-190.o(StubCode)
-    StubCode                                 0x0000a8c8   Section        8  efsrv{000a0000}-200.o(StubCode)
-    theImportedSymbol                        0x0000a8cc   Data           0  efsrv{000a0000}-200.o(StubCode)
-    StubCode                                 0x0000a8d0   Section        8  efsrv{000a0000}-204.o(StubCode)
-    theImportedSymbol                        0x0000a8d4   Data           0  efsrv{000a0000}-204.o(StubCode)
-    StubCode                                 0x0000a8d8   Section        8  efsrv{000a0000}-68.o(StubCode)
-    theImportedSymbol                        0x0000a8dc   Data           0  efsrv{000a0000}-68.o(StubCode)
-    StubCode                                 0x0000a8e0   Section        8  bafl{000a0000}-123.o(StubCode)
-    theImportedSymbol                        0x0000a8e4   Data           0  bafl{000a0000}-123.o(StubCode)
-    StubCode                                 0x0000a8e8   Section        8  bafl{000a0000}-124.o(StubCode)
-    theImportedSymbol                        0x0000a8ec   Data           0  bafl{000a0000}-124.o(StubCode)
-    StubCode                                 0x0000a8f0   Section        8  bafl{000a0000}-129.o(StubCode)
-    theImportedSymbol                        0x0000a8f4   Data           0  bafl{000a0000}-129.o(StubCode)
-    StubCode                                 0x0000a8f8   Section        8  bafl{000a0000}-141.o(StubCode)
-    theImportedSymbol                        0x0000a8fc   Data           0  bafl{000a0000}-141.o(StubCode)
-    StubCode                                 0x0000a900   Section        8  bafl{000a0000}-145.o(StubCode)
-    theImportedSymbol                        0x0000a904   Data           0  bafl{000a0000}-145.o(StubCode)
-    StubCode                                 0x0000a908   Section        8  bafl{000a0000}-147.o(StubCode)
-    theImportedSymbol                        0x0000a90c   Data           0  bafl{000a0000}-147.o(StubCode)
-    StubCode                                 0x0000a910   Section        8  bafl{000a0000}-59.o(StubCode)
-    theImportedSymbol                        0x0000a914   Data           0  bafl{000a0000}-59.o(StubCode)
-    StubCode                                 0x0000a918   Section        8  bafl{000a0000}-62.o(StubCode)
-    theImportedSymbol                        0x0000a91c   Data           0  bafl{000a0000}-62.o(StubCode)
-    StubCode                                 0x0000a920   Section        8  AknIcon{000a0000}-11.o(StubCode)
-    theImportedSymbol                        0x0000a924   Data           0  AknIcon{000a0000}-11.o(StubCode)
-    StubCode                                 0x0000a928   Section        8  AknIcon{000a0000}-15.o(StubCode)
-    theImportedSymbol                        0x0000a92c   Data           0  AknIcon{000a0000}-15.o(StubCode)
-    StubCode                                 0x0000a930   Section        8  AknIcon{000a0000}-16.o(StubCode)
-    theImportedSymbol                        0x0000a934   Data           0  AknIcon{000a0000}-16.o(StubCode)
-    StubCode                                 0x0000a938   Section        8  AknIcon{000a0000}-21.o(StubCode)
-    theImportedSymbol                        0x0000a93c   Data           0  AknIcon{000a0000}-21.o(StubCode)
-    StubCode                                 0x0000a940   Section        8  gdi{000a0000}-311.o(StubCode)
-    theImportedSymbol                        0x0000a944   Data           0  gdi{000a0000}-311.o(StubCode)
-    StubCode                                 0x0000a948   Section        8  gdi{000a0000}-314.o(StubCode)
-    theImportedSymbol                        0x0000a94c   Data           0  gdi{000a0000}-314.o(StubCode)
-    StubCode                                 0x0000a950   Section        8  bitgdi{000a0000}-14.o(StubCode)
-    theImportedSymbol                        0x0000a954   Data           0  bitgdi{000a0000}-14.o(StubCode)
-    StubCode                                 0x0000a958   Section        8  bitgdi{000a0000}-44.o(StubCode)
-    theImportedSymbol                        0x0000a95c   Data           0  bitgdi{000a0000}-44.o(StubCode)
-    StubCode                                 0x0000a960   Section        8  eposlandmarks{000a0000}-12.o(StubCode)
-    theImportedSymbol                        0x0000a964   Data           0  eposlandmarks{000a0000}-12.o(StubCode)
-    StubCode                                 0x0000a968   Section        8  eposlandmarks{000a0000}-14.o(StubCode)
-    theImportedSymbol                        0x0000a96c   Data           0  eposlandmarks{000a0000}-14.o(StubCode)
-    StubCode                                 0x0000a970   Section        8  eposlandmarks{000a0000}-15.o(StubCode)
-    theImportedSymbol                        0x0000a974   Data           0  eposlandmarks{000a0000}-15.o(StubCode)
-    StubCode                                 0x0000a978   Section        8  eposlandmarks{000a0000}-4.o(StubCode)
-    theImportedSymbol                        0x0000a97c   Data           0  eposlandmarks{000a0000}-4.o(StubCode)
-    StubCode                                 0x0000a980   Section        8  eposlandmarks{000a0000}-50.o(StubCode)
-    theImportedSymbol                        0x0000a984   Data           0  eposlandmarks{000a0000}-50.o(StubCode)
-    StubCode                                 0x0000a988   Section        8  eposlandmarks{000a0000}-51.o(StubCode)
-    theImportedSymbol                        0x0000a98c   Data           0  eposlandmarks{000a0000}-51.o(StubCode)
-    StubCode                                 0x0000a990   Section        8  eposlandmarks{000a0000}-56.o(StubCode)
-    theImportedSymbol                        0x0000a994   Data           0  eposlandmarks{000a0000}-56.o(StubCode)
-    StubCode                                 0x0000a998   Section        8  eposlandmarks{000a0000}-6.o(StubCode)
-    theImportedSymbol                        0x0000a99c   Data           0  eposlandmarks{000a0000}-6.o(StubCode)
-    StubCode                                 0x0000a9a0   Section        8  eposlandmarks{000a0000}-65.o(StubCode)
-    theImportedSymbol                        0x0000a9a4   Data           0  eposlandmarks{000a0000}-65.o(StubCode)
-    StubCode                                 0x0000a9a8   Section        8  eposlandmarks{000a0000}-66.o(StubCode)
-    theImportedSymbol                        0x0000a9ac   Data           0  eposlandmarks{000a0000}-66.o(StubCode)
-    StubCode                                 0x0000a9b0   Section        8  eposlandmarks{000a0000}-67.o(StubCode)
-    theImportedSymbol                        0x0000a9b4   Data           0  eposlandmarks{000a0000}-67.o(StubCode)
-    StubCode                                 0x0000a9b8   Section        8  eposlandmarks{000a0000}-68.o(StubCode)
-    theImportedSymbol                        0x0000a9bc   Data           0  eposlandmarks{000a0000}-68.o(StubCode)
-    StubCode                                 0x0000a9c0   Section        8  eposlandmarks{000a0000}-75.o(StubCode)
-    theImportedSymbol                        0x0000a9c4   Data           0  eposlandmarks{000a0000}-75.o(StubCode)
-    StubCode                                 0x0000a9c8   Section        8  eposlandmarks{000a0000}-8.o(StubCode)
-    theImportedSymbol                        0x0000a9cc   Data           0  eposlandmarks{000a0000}-8.o(StubCode)
-    StubCode                                 0x0000a9d0   Section        8  eposlandmarks{000a0000}-82.o(StubCode)
-    theImportedSymbol                        0x0000a9d4   Data           0  eposlandmarks{000a0000}-82.o(StubCode)
-    StubCode                                 0x0000a9d8   Section        8  lbs{000a0000}-10.o(StubCode)
-    theImportedSymbol                        0x0000a9dc   Data           0  lbs{000a0000}-10.o(StubCode)
-    StubCode                                 0x0000a9e0   Section        8  lbs{000a0000}-13.o(StubCode)
-    theImportedSymbol                        0x0000a9e4   Data           0  lbs{000a0000}-13.o(StubCode)
-    StubCode                                 0x0000a9e8   Section        8  lbs{000a0000}-15.o(StubCode)
-    theImportedSymbol                        0x0000a9ec   Data           0  lbs{000a0000}-15.o(StubCode)
-    StubCode                                 0x0000a9f0   Section        8  lbs{000a0000}-152.o(StubCode)
-    theImportedSymbol                        0x0000a9f4   Data           0  lbs{000a0000}-152.o(StubCode)
-    StubCode                                 0x0000a9f8   Section        8  lbs{000a0000}-167.o(StubCode)
-    theImportedSymbol                        0x0000a9fc   Data           0  lbs{000a0000}-167.o(StubCode)
-    StubCode                                 0x0000aa00   Section        8  lbs{000a0000}-17.o(StubCode)
-    theImportedSymbol                        0x0000aa04   Data           0  lbs{000a0000}-17.o(StubCode)
-    StubCode                                 0x0000aa08   Section        8  lbs{000a0000}-180.o(StubCode)
-    theImportedSymbol                        0x0000aa0c   Data           0  lbs{000a0000}-180.o(StubCode)
-    StubCode                                 0x0000aa10   Section        8  lbs{000a0000}-181.o(StubCode)
-    theImportedSymbol                        0x0000aa14   Data           0  lbs{000a0000}-181.o(StubCode)
-    StubCode                                 0x0000aa18   Section        8  lbs{000a0000}-205.o(StubCode)
-    theImportedSymbol                        0x0000aa1c   Data           0  lbs{000a0000}-205.o(StubCode)
-    StubCode                                 0x0000aa20   Section        8  lbs{000a0000}-207.o(StubCode)
-    theImportedSymbol                        0x0000aa24   Data           0  lbs{000a0000}-207.o(StubCode)
-    StubCode                                 0x0000aa28   Section        8  lbs{000a0000}-21.o(StubCode)
-    theImportedSymbol                        0x0000aa2c   Data           0  lbs{000a0000}-21.o(StubCode)
-    StubCode                                 0x0000aa30   Section        8  lbs{000a0000}-214.o(StubCode)
-    theImportedSymbol                        0x0000aa34   Data           0  lbs{000a0000}-214.o(StubCode)
-    StubCode                                 0x0000aa38   Section        8  lbs{000a0000}-218.o(StubCode)
-    theImportedSymbol                        0x0000aa3c   Data           0  lbs{000a0000}-218.o(StubCode)
-    StubCode                                 0x0000aa40   Section        8  lbs{000a0000}-219.o(StubCode)
-    theImportedSymbol                        0x0000aa44   Data           0  lbs{000a0000}-219.o(StubCode)
-    StubCode                                 0x0000aa48   Section        8  lbs{000a0000}-223.o(StubCode)
-    theImportedSymbol                        0x0000aa4c   Data           0  lbs{000a0000}-223.o(StubCode)
-    StubCode                                 0x0000aa50   Section        8  lbs{000a0000}-225.o(StubCode)
-    theImportedSymbol                        0x0000aa54   Data           0  lbs{000a0000}-225.o(StubCode)
-    StubCode                                 0x0000aa58   Section        8  lbs{000a0000}-226.o(StubCode)
-    theImportedSymbol                        0x0000aa5c   Data           0  lbs{000a0000}-226.o(StubCode)
-    StubCode                                 0x0000aa60   Section        8  lbs{000a0000}-23.o(StubCode)
-    theImportedSymbol                        0x0000aa64   Data           0  lbs{000a0000}-23.o(StubCode)
-    StubCode                                 0x0000aa68   Section        8  lbs{000a0000}-28.o(StubCode)
-    theImportedSymbol                        0x0000aa6c   Data           0  lbs{000a0000}-28.o(StubCode)
-    StubCode                                 0x0000aa70   Section        8  lbs{000a0000}-303.o(StubCode)
-    theImportedSymbol                        0x0000aa74   Data           0  lbs{000a0000}-303.o(StubCode)
-    StubCode                                 0x0000aa78   Section        8  lbs{000a0000}-304.o(StubCode)
-    theImportedSymbol                        0x0000aa7c   Data           0  lbs{000a0000}-304.o(StubCode)
-    StubCode                                 0x0000aa80   Section        8  lbs{000a0000}-47.o(StubCode)
-    theImportedSymbol                        0x0000aa84   Data           0  lbs{000a0000}-47.o(StubCode)
-    StubCode                                 0x0000aa88   Section        8  lbs{000a0000}-48.o(StubCode)
-    theImportedSymbol                        0x0000aa8c   Data           0  lbs{000a0000}-48.o(StubCode)
-    StubCode                                 0x0000aa90   Section        8  lbs{000a0000}-49.o(StubCode)
-    theImportedSymbol                        0x0000aa94   Data           0  lbs{000a0000}-49.o(StubCode)
-    StubCode                                 0x0000aa98   Section        8  lbs{000a0000}-7.o(StubCode)
-    theImportedSymbol                        0x0000aa9c   Data           0  lbs{000a0000}-7.o(StubCode)
-    StubCode                                 0x0000aaa0   Section        8  lbs{000a0000}-8.o(StubCode)
-    theImportedSymbol                        0x0000aaa4   Data           0  lbs{000a0000}-8.o(StubCode)
-    StubCode                                 0x0000aaa8   Section        8  lbs{000a0000}-82.o(StubCode)
-    theImportedSymbol                        0x0000aaac   Data           0  lbs{000a0000}-82.o(StubCode)
-    StubCode                                 0x0000aab0   Section        8  lbs{000a0000}-83.o(StubCode)
-    theImportedSymbol                        0x0000aab4   Data           0  lbs{000a0000}-83.o(StubCode)
-    StubCode                                 0x0000aab8   Section        8  lbs{000a0000}-87.o(StubCode)
-    theImportedSymbol                        0x0000aabc   Data           0  lbs{000a0000}-87.o(StubCode)
-    StubCode                                 0x0000aac0   Section        8  lbs{000a0000}-97.o(StubCode)
-    theImportedSymbol                        0x0000aac4   Data           0  lbs{000a0000}-97.o(StubCode)
-    StubCode                                 0x0000aac8   Section        8  mnservicelib{000a0000}-10.o(StubCode)
-    theImportedSymbol                        0x0000aacc   Data           0  mnservicelib{000a0000}-10.o(StubCode)
-    StubCode                                 0x0000aad0   Section        8  mnservicelib{000a0000}-13.o(StubCode)
-    theImportedSymbol                        0x0000aad4   Data           0  mnservicelib{000a0000}-13.o(StubCode)
-    StubCode                                 0x0000aad8   Section        8  mnservicelib{000a0000}-3.o(StubCode)
-    theImportedSymbol                        0x0000aadc   Data           0  mnservicelib{000a0000}-3.o(StubCode)
-    StubCode                                 0x0000aae0   Section        8  mnservicelib{000a0000}-5.o(StubCode)
-    theImportedSymbol                        0x0000aae4   Data           0  mnservicelib{000a0000}-5.o(StubCode)
-    StubCode                                 0x0000aae8   Section        8  mnservicelib{000a0000}-55.o(StubCode)
-    theImportedSymbol                        0x0000aaec   Data           0  mnservicelib{000a0000}-55.o(StubCode)
-    StubCode                                 0x0000aaf0   Section        8  mnservicelib{000a0000}-57.o(StubCode)
-    theImportedSymbol                        0x0000aaf4   Data           0  mnservicelib{000a0000}-57.o(StubCode)
-    StubCode                                 0x0000aaf8   Section        8  mnservicelib{000a0000}-6.o(StubCode)
-    theImportedSymbol                        0x0000aafc   Data           0  mnservicelib{000a0000}-6.o(StubCode)
-    StubCode                                 0x0000ab00   Section        8  mnservicelib{000a0000}-8.o(StubCode)
-    theImportedSymbol                        0x0000ab04   Data           0  mnservicelib{000a0000}-8.o(StubCode)
-    StubCode                                 0x0000ab08   Section        8  mnservicelib{000a0000}-9.o(StubCode)
-    theImportedSymbol                        0x0000ab0c   Data           0  mnservicelib{000a0000}-9.o(StubCode)
-    StubCode                                 0x0000ab10   Section        8  dfpaeabi{000a0000}-12.o(StubCode)
-    theImportedSymbol                        0x0000ab14   Data           0  dfpaeabi{000a0000}-12.o(StubCode)
-    StubCode                                 0x0000ab18   Section        8  dfpaeabi{000a0000}-19.o(StubCode)
-    theImportedSymbol                        0x0000ab1c   Data           0  dfpaeabi{000a0000}-19.o(StubCode)
-    StubCode                                 0x0000ab20   Section        8  dfpaeabi{000a0000}-2.o(StubCode)
-    theImportedSymbol                        0x0000ab24   Data           0  dfpaeabi{000a0000}-2.o(StubCode)
-    StubCode                                 0x0000ab28   Section        8  dfpaeabi{000a0000}-20.o(StubCode)
-    theImportedSymbol                        0x0000ab2c   Data           0  dfpaeabi{000a0000}-20.o(StubCode)
-    StubCode                                 0x0000ab30   Section        8  dfpaeabi{000a0000}-22.o(StubCode)
-    theImportedSymbol                        0x0000ab34   Data           0  dfpaeabi{000a0000}-22.o(StubCode)
-    StubCode                                 0x0000ab38   Section        8  dfpaeabi{000a0000}-23.o(StubCode)
-    theImportedSymbol                        0x0000ab3c   Data           0  dfpaeabi{000a0000}-23.o(StubCode)
-    StubCode                                 0x0000ab40   Section        8  dfpaeabi{000a0000}-24.o(StubCode)
-    theImportedSymbol                        0x0000ab44   Data           0  dfpaeabi{000a0000}-24.o(StubCode)
-    StubCode                                 0x0000ab48   Section        8  dfpaeabi{000a0000}-25.o(StubCode)
-    theImportedSymbol                        0x0000ab4c   Data           0  dfpaeabi{000a0000}-25.o(StubCode)
-    StubCode                                 0x0000ab50   Section        8  dfpaeabi{000a0000}-3.o(StubCode)
-    theImportedSymbol                        0x0000ab54   Data           0  dfpaeabi{000a0000}-3.o(StubCode)
-    StubCode                                 0x0000ab58   Section        8  dfpaeabi{000a0000}-36.o(StubCode)
-    theImportedSymbol                        0x0000ab5c   Data           0  dfpaeabi{000a0000}-36.o(StubCode)
-    StubCode                                 0x0000ab60   Section        8  dfpaeabi{000a0000}-41.o(StubCode)
-    theImportedSymbol                        0x0000ab64   Data           0  dfpaeabi{000a0000}-41.o(StubCode)
-    StubCode                                 0x0000ab68   Section        8  dfpaeabi{000a0000}-5.o(StubCode)
-    theImportedSymbol                        0x0000ab6c   Data           0  dfpaeabi{000a0000}-5.o(StubCode)
-    StubCode                                 0x0000ab70   Section        8  dfpaeabi{000a0000}-8.o(StubCode)
-    theImportedSymbol                        0x0000ab74   Data           0  dfpaeabi{000a0000}-8.o(StubCode)
-    StubCode                                 0x0000ab78   Section        8  drtaeabi{000a0000}-135.o(StubCode)
-    theImportedSymbol                        0x0000ab7c   Data           0  drtaeabi{000a0000}-135.o(StubCode)
-    StubCode                                 0x0000ab80   Section        8  drtaeabi{000a0000}-147.o(StubCode)
-    theImportedSymbol                        0x0000ab84   Data           0  drtaeabi{000a0000}-147.o(StubCode)
-    StubCode                                 0x0000ab88   Section        8  drtaeabi{000a0000}-158.o(StubCode)
-    theImportedSymbol                        0x0000ab8c   Data           0  drtaeabi{000a0000}-158.o(StubCode)
-    StubCode                                 0x0000ab90   Section        8  drtaeabi{000a0000}-159.o(StubCode)
-    theImportedSymbol                        0x0000ab94   Data           0  drtaeabi{000a0000}-159.o(StubCode)
-    StubCode                                 0x0000ab98   Section        8  drtaeabi{000a0000}-180.o(StubCode)
-    theImportedSymbol                        0x0000ab9c   Data           0  drtaeabi{000a0000}-180.o(StubCode)
-    StubCode                                 0x0000aba0   Section        8  drtaeabi{000a0000}-183.o(StubCode)
-    theImportedSymbol                        0x0000aba4   Data           0  drtaeabi{000a0000}-183.o(StubCode)
-    StubCode                                 0x0000aba8   Section        8  drtaeabi{000a0000}-184.o(StubCode)
-    theImportedSymbol                        0x0000abac   Data           0  drtaeabi{000a0000}-184.o(StubCode)
-    StubCode                                 0x0000abb0   Section        8  scppnwdl{000a0000}-3.o(StubCode)
-    theImportedSymbol                        0x0000abb4   Data           0  scppnwdl{000a0000}-3.o(StubCode)
-    i._Z18ExecuteAndDeleteLDP15CPosLmOperation 0x0000abb8   Section       22  mnrefproviderengine.in(i._Z18ExecuteAndDeleteLDP15CPosLmOperation)
-    i._ZN7TPtrC163SetERK7TDesC16             0x0000abce   Section       28  mnrefproviderengine.in(i._ZN7TPtrC163SetERK7TDesC16)
-    i._ZN7TPtrC163SetERK7TDesC16.clean       0x0000abea   Section       12  mnrefproviderengine.in(i._ZN7TPtrC163SetERK7TDesC16.clean)
-    i._ZdlPvS_                               0x0000abf6   Section        2  mnrefproviderengine.in(i._ZdlPvS_)
-    i._ZnwjPv                                0x0000abf8   Section        4  mnrefproviderengine.in(i._ZnwjPv)
-    t._Z17CleanupClosePushLI6RArrayIN11CMnrpEngine14TDistanceToPoiEEEvRT_ 0x0000abfc   Section       16  mnrefproviderengine.in(t._Z17CleanupClosePushLI6RArrayIN11CMnrpEngine14TDistanceToPoiEEEvRT_)
-    t._Z3AbsIdET_S0_                         0x0000ac0c   Section       44  mnrefproviderengine.in(t._Z3AbsIdET_S0_)
-    t._Z3MaxIdET_S0_S0_                      0x0000ac38   Section       28  mnrefproviderengine.in(t._Z3MaxIdET_S0_S0_)
-    t._Z3MinIdET_S0_S0_                      0x0000ac54   Section       28  mnrefproviderengine.in(t._Z3MinIdET_S0_S0_)
-    t._ZN12CleanupCloseI6RArrayIN11CMnrpEngine14TDistanceToPoiEEE5CloseEPv 0x0000ac70   Section        8  mnrefproviderengine.in(t._ZN12CleanupCloseI6RArrayIN11CMnrpEngine14TDistanceToPoiEEE5CloseEPv)
-    t._ZN12CleanupCloseI6RArrayImEE5CloseEPv 0x0000ac78   Section        8  mnrefproviderengine.in(t._ZN12CleanupCloseI6RArrayImEE5CloseEPv)
-    t._ZN13RPointerArrayI12CPosLandmarkE7AppendLEPKS0_ 0x0000ac80   Section       12  mnrefproviderengine.in(t._ZN13RPointerArrayI12CPosLandmarkE7AppendLEPKS0_)
-    t._ZN13RPointerArrayIN13CMnrpMapModel9CDrawItemEE15ResetAndDestroyEv 0x0000ac8c   Section       48  mnrefproviderengine.in(t._ZN13RPointerArrayIN13CMnrpMapModel9CDrawItemEE15ResetAndDestroyEv)
-    t._ZN13RPointerArrayIN13CMnrpMapModel9CDrawItemEE7AppendLEPKS1_ 0x0000acbc   Section       12  mnrefproviderengine.in(t._ZN13RPointerArrayIN13CMnrpMapModel9CDrawItemEE7AppendLEPKS1_)
-    t._ZNK20HPositionGenericInfo8GetValueIfEEitRT_ 0x0000acc8   Section       16  mnrefproviderengine.in(t._ZNK20HPositionGenericInfo8GetValueIfEEitRT_)
-    t._ZNK6RArrayIN11CMnrpEngine14TDistanceToPoiEE5CountEv 0x0000acd8   Section        8  mnrefproviderengine.in(t._ZNK6RArrayIN11CMnrpEngine14TDistanceToPoiEE5CountEv)
-    t._ZNK6TArrayIP12CPosLandmarkEixEi       0x0000ace0   Section        8  mnrefproviderengine.in(t._ZNK6TArrayIP12CPosLandmarkEixEi)
-    t._ZNK6TArrayIPN13CMnrpMapModel9CDrawItemEEixEi 0x0000ace8   Section        8  mnrefproviderengine.in(t._ZNK6TArrayIPN13CMnrpMapModel9CDrawItemEEixEi)
-    .extab._ZN11CMnrpEngineC1Ev              0x0000acf0   Data           0  mnrefproviderengine.in(.ARM.extab)
-    .extab._ZN11CMnrpEngineD1Ev              0x0000ad00   Data           0  mnrefproviderengine.in(.ARM.extab)
-    .extab._ZN11CMnrpEngine17FindResourceFileLERK7TDesC16R4TBufILi256EE 0x0000ad10   Data           0  mnrefproviderengine.in(.ARM.extab)
-    .extab._ZN11CMnrpEngine16LoadKnownPlacesLEv 0x0000ad1c   Data           0  mnrefproviderengine.in(.ARM.extab)
-    .extab._ZN11CMnrpEngine12KnownPlacesLEv  0x0000ad2c   Data           0  mnrefproviderengine.in(.ARM.extab)
-    .extab._ZN13CMnrpMapModel9CDrawItem5NewLCERK12CPosLandmark 0x0000ad54   Data           0  mnrefproviderengine.in(.ARM.extab)
-    .extab._ZN13CMnrpMapModelC1ER17MMapModelObserverR11CMnrpEngine 0x0000ad64   Data           0  mnrefproviderengine.in(.ARM.extab)
-    .extab._ZN13CMnrpMapModelC1ER11CMnrpEngine 0x0000ad74   Data           0  mnrefproviderengine.in(.ARM.extab)
-    .extab._ZN13CMnrpMapModelD1Ev            0x0000ad84   Data           0  mnrefproviderengine.in(.ARM.extab)
-    .extab._ZN13CMnrpMapModel9CDrawItemD1Ev  0x0000ad94   Data           0  mnrefproviderengine.in(.ARM.extab)
-    .extab._ZN20CMnrpPositionRequestC1ER21MMnrpPositionObserver 0x0000ada4   Data           0  mnrefproviderengine.in(.ARM.extab)
-    .extab._ZN20CMnrpPositionRequestD1Ev     0x0000adb4   Data           0  mnrefproviderengine.in(.ARM.extab)
-    .extab._ZN7TPtrC163SetERK7TDesC16        0x0000adc4   Data           0  mnrefproviderengine.in(.ARM.extab)
-    .constdata$1                             0x0000add4   Data           0  mnrefproviderengine.in(.constdata)
-    KCitiesResourceFile                      0x0000add4   Data          72  mnrefproviderengine.in(.constdata)
-    .constdata                               0x0000add4   Section      128  mnrefproviderengine.in(.constdata)
-    KLocationNameFormat@_ZN11CMnrpEngine21CreateCloseLandmarkLCERK12CPosLandmarkf_0 0x0000ae1c   Data          28  mnrefproviderengine.in(.constdata)
-    KLocationNameFormatKm@_ZN11CMnrpEngine21CreateCloseLandmarkLCERK12CPosLandmarkf_1 0x0000ae38   Data          28  mnrefproviderengine.in(.constdata)
-    .constdata$1                             0x0000ae54   Data           0  mnrefproviderengine.in(.constdata)
-    KCellDividers                            0x0000ae54   Data          12  mnrefproviderengine.in(.constdata)
-    .constdata                               0x0000ae54   Section       44  mnrefproviderengine.in(.constdata)
-    KRequestorName@_ZN13CMnrpMapModel10ConstructLEv_0 0x0000ae60   Data          32  mnrefproviderengine.in(.constdata)
-    .constdata$1                             0x0000ae80   Data           0  mnrefproviderengine.in(.constdata)
-    KNorth@_ZN9MnrpUtils13AngleToStringEdR6TDes16_1 0x0000ae80   Data           8  mnrefproviderengine.in(.constdata)
-    .constdata                               0x0000ae80   Section      276  mnrefproviderengine.in(.constdata)
-    KSouth@_ZN9MnrpUtils13AngleToStringEdR6TDes16_2 0x0000ae88   Data           8  mnrefproviderengine.in(.constdata)
-    KWest@_ZN9MnrpUtils13AngleToStringEdR6TDes16_3 0x0000ae90   Data           8  mnrefproviderengine.in(.constdata)
-    KEast@_ZN9MnrpUtils13AngleToStringEdR6TDes16_4 0x0000ae98   Data           8  mnrefproviderengine.in(.constdata)
-    KNan                                     0x0000aea0   Data          16  mnrefproviderengine.in(.constdata)
-    KNeg                                     0x0000aeb0   Data          16  mnrefproviderengine.in(.constdata)
-    KOutOfBounds                             0x0000aec0   Data          16  mnrefproviderengine.in(.constdata)
-    KCoordFormatFull@_ZN9MnrpUtils18CoordinateToStringEdR6TDes16ii_0 0x0000aed0   Data          44  mnrefproviderengine.in(.constdata)
-    KCoordFormatPartMseconds@_ZN9MnrpUtils18CoordinateToStringEdR6TDes16ii_1 0x0000aefc   Data          20  mnrefproviderengine.in(.constdata)
-    KSmall@_ZN9MnrpUtils16DistanceToStringEdR6TDes16_0 0x0000af10   Data          16  mnrefproviderengine.in(.constdata)
-    KMeters@_ZN9MnrpUtils16DistanceToStringEdR6TDes16_1 0x0000af20   Data          16  mnrefproviderengine.in(.constdata)
-    KKiloMeters@_ZN9MnrpUtils16DistanceToStringEdR6TDes16_2 0x0000af30   Data          20  mnrefproviderengine.in(.constdata)
-    KThousandsKiloMeters@_ZN9MnrpUtils16DistanceToStringEdR6TDes16_3 0x0000af44   Data          24  mnrefproviderengine.in(.constdata)
-    KAngleFormat@_ZN9MnrpUtils13AngleToStringEdR6TDes16_0 0x0000af5c   Data          44  mnrefproviderengine.in(.constdata)
-    KPerSecond@_ZN9MnrpUtils13SpeedToStringEdR6TDes16_0 0x0000af88   Data          12  mnrefproviderengine.in(.constdata)
-    .constdata__ZTI11CMnrpEngine             0x0000af94   Section       12  mnrefproviderengine.in(.constdata__ZTI11CMnrpEngine)
-    .constdata__ZTI13CMnrpMapModel           0x0000afa0   Section       32  mnrefproviderengine.in(.constdata__ZTI13CMnrpMapModel)
-    .constdata__ZTI20CMnrpPositionRequest    0x0000afc0   Section       12  mnrefproviderengine.in(.constdata__ZTI20CMnrpPositionRequest)
-    .constdata__ZTI21MMnrpPositionObserver   0x0000afcc   Section        8  mnrefproviderengine.in(.constdata__ZTI21MMnrpPositionObserver)
-    .constdata__ZTIN13CMnrpMapModel9CDrawItemE 0x0000afd4   Section       12  mnrefproviderengine.in(.constdata__ZTIN13CMnrpMapModel9CDrawItemE)
-    .constdata__ZTS11CMnrpEngine             0x0000afe0   Section       14  mnrefproviderengine.in(.constdata__ZTS11CMnrpEngine)
-    .constdata__ZTS13CMnrpMapModel           0x0000afee   Section       16  mnrefproviderengine.in(.constdata__ZTS13CMnrpMapModel)
-    .constdata__ZTS20CMnrpPositionRequest    0x0000affe   Section       23  mnrefproviderengine.in(.constdata__ZTS20CMnrpPositionRequest)
-    .constdata__ZTS21MMnrpPositionObserver   0x0000b015   Section       24  mnrefproviderengine.in(.constdata__ZTS21MMnrpPositionObserver)
-    .constdata__ZTSN13CMnrpMapModel9CDrawItemE 0x0000b02d   Section       28  mnrefproviderengine.in(.constdata__ZTSN13CMnrpMapModel9CDrawItemE)
-    .constdata__ZTV11CMnrpEngine             0x0000b04c   Section       20  mnrefproviderengine.in(.constdata__ZTV11CMnrpEngine)
-    .constdata__ZTV13CMnrpMapModel           0x0000b060   Section       36  mnrefproviderengine.in(.constdata__ZTV13CMnrpMapModel)
-    .constdata__ZTV20CMnrpPositionRequest    0x0000b084   Section       32  mnrefproviderengine.in(.constdata__ZTV20CMnrpPositionRequest)
-    .constdata__ZTVN13CMnrpMapModel9CDrawItemE 0x0000b0a4   Section       20  mnrefproviderengine.in(.constdata__ZTVN13CMnrpMapModel9CDrawItemE)
-    .ARM.exidx                               0x0000b0b8   Section        8  ucppinit_aeabi.o(.ARM.exidx)
-
-    Global Symbols
-
-    Symbol Name                              Value     Ov Type        Size  Object(Section)
-
-    BuildAttributes$$THUMB_ISAv3$ARM_ISAv6$M$E$P$PE$A:L22$X:L11$S22$IEEE1$IW$USESV6$~STKCKD$USESV7$~SHL$OSPACE$IEEEJ$EBA8$UX$REQ8$PRES8$EABIv2 0x00000000   Number         0  anon$$obj.o ABSOLUTE
-    #<DLL>AknIcon{000a0000}[1020735a].dll#<\DLL>10  - Undefined Reference
-    #<DLL>AknIcon{000a0000}[1020735a].dll#<\DLL>15  - Undefined Reference
-    #<DLL>AknIcon{000a0000}[1020735a].dll#<\DLL>b  - Undefined Reference
-    #<DLL>AknIcon{000a0000}[1020735a].dll#<\DLL>f  - Undefined Reference
-    #<DLL>bafl{000a0000}[10003a0f].dll#<\DLL>3b  - Undefined Reference
-    #<DLL>bafl{000a0000}[10003a0f].dll#<\DLL>3e  - Undefined Reference
-    #<DLL>bafl{000a0000}[10003a0f].dll#<\DLL>7b  - Undefined Reference
-    #<DLL>bafl{000a0000}[10003a0f].dll#<\DLL>7c  - Undefined Reference
-    #<DLL>bafl{000a0000}[10003a0f].dll#<\DLL>81  - Undefined Reference
-    #<DLL>bafl{000a0000}[10003a0f].dll#<\DLL>8d  - Undefined Reference
-    #<DLL>bafl{000a0000}[10003a0f].dll#<\DLL>91  - Undefined Reference
-    #<DLL>bafl{000a0000}[10003a0f].dll#<\DLL>93  - Undefined Reference
-    #<DLL>bitgdi{000a0000}[10003b18].dll#<\DLL>2c  - Undefined Reference
-    #<DLL>bitgdi{000a0000}[10003b18].dll#<\DLL>e  - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>13     - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>14     - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>16     - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>17     - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>18     - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>19     - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>2      - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>24     - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>29     - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>3      - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>5      - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>8      - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>c      - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>87     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>93     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>9e     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>9f     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>b4     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>b7     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>b8     - Undefined Reference
-    #<DLL>efsrv{000a0000}[100039e4].dll#<\DLL>44  - Undefined Reference
-    #<DLL>efsrv{000a0000}[100039e4].dll#<\DLL>73  - Undefined Reference
-    #<DLL>efsrv{000a0000}[100039e4].dll#<\DLL>76  - Undefined Reference
-    #<DLL>efsrv{000a0000}[100039e4].dll#<\DLL>b5  - Undefined Reference
-    #<DLL>efsrv{000a0000}[100039e4].dll#<\DLL>b6  - Undefined Reference
-    #<DLL>efsrv{000a0000}[100039e4].dll#<\DLL>be  - Undefined Reference
-    #<DLL>efsrv{000a0000}[100039e4].dll#<\DLL>c8  - Undefined Reference
-    #<DLL>efsrv{000a0000}[100039e4].dll#<\DLL>cc  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>32  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>33  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>38  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>4  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>41  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>42  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>43  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>44  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>4b  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>52  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>6  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>8  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>c  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>e  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>f  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1a8  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1d0  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1d7  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1d8  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1dc  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1e1  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>227  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>251  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>289  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>28e  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>29d  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>2e  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>2f  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>30  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>31  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>32  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>338  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>33a  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>346  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>347  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>349  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>37  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>3a8  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>3b9  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>3c0  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>3c6  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>3c8  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>3cd  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>3d8  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>41b  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>423  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>431  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>432  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>440  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>442  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>443  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>446  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>45c  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>45f  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>493  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>494  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>51  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>5e3  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>5e6  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>636  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>639  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>659  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>66e  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>670  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>671  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>673  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>6d9  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>70e  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>717  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>71d  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>722  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>78  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>80c  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>80d  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>822  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>84b  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>84d  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>850  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>cb  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>cd  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>cf  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>d0  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>d1  - Undefined Reference
-    #<DLL>gdi{000a0000}[10003b15].dll#<\DLL>137  - Undefined Reference
-    #<DLL>gdi{000a0000}[10003b15].dll#<\DLL>13a  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>11  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>12f  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>130  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>15  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>17  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>1c  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>2f  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>30  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>31  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>52  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>53  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>57  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>61  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>7  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>8  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>98  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>a  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>a7  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>b4  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>b5  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>cd  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>cf  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>d  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>d6  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>da  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>db  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>df  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>e1  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>e2  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>f  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>3  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>37  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>39  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>5  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>6  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>8  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>9  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>a  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>d  - Undefined Reference
-    #<DLL>scppnwdl{000a0000}.dll#<\DLL>3      - Undefined Reference
-    SHT$$INIT_ARRAY$$Base                     - Undefined Weak Reference
-    SHT$$INIT_ARRAY$$Limit                    - Undefined Weak Reference
-    typeinfo for XLeaveException              - Undefined Reference
-    typeinfo for CBase                        - Undefined Reference
-    typeinfo for CActive                      - Undefined Reference
-    vtable for __cxxabiv1::__class_type_info  - Undefined Reference
-    vtable for __cxxabiv1::__si_class_type_info  - Undefined Reference
-    vtable for __cxxabiv1::__vmi_class_type_info  - Undefined Reference
-    _fp_init                                  - Undefined Weak Reference
-    run_static_dtors                          - Undefined Weak Reference
-    Image$$ER_RO$$Base                       0x00008000   Number         0  anon$$obj.o(linker$$defined$$symbols)
-    _E32Dll                                  0x00008000   ARM Code      40  uc_dll_.o(.emb_text)
-    Symbian$$CPP$$Exception$$Descriptor      0x00008014   Data           0  uc_dll_.o(.emb_text)
-    __cpp_initialize__aeabi_                 0x00008028   ARM Code      72  ucppinit_aeabi.o(.emb_text)
-    CMnrpEngine::ConstructL()                0x00008071   Thumb Code    18  mnrefproviderengine.in(.text)
-    std::nothrow                             0x00008071   Thumb Code     0  ucppinit_aeabi.o(.emb_text)
-    CMnrpEngine::CMnrpEngine()               0x00008083   Thumb Code    22  mnrefproviderengine.in(.text)
-    CMnrpEngine::CMnrpEngine__sub_object()   0x00008083   Thumb Code     0  mnrefproviderengine.in(.text)
-    CMnrpEngine::NewL()                      0x00008099   Thumb Code    32  mnrefproviderengine.in(.text)
-    CMnrpEngine::~CMnrpEngine()              0x000080b9   Thumb Code    74  mnrefproviderengine.in(.text)
-    CMnrpEngine::~CMnrpEngine__sub_object()  0x000080b9   Thumb Code     0  mnrefproviderengine.in(.text)
-    CMnrpEngine::~CMnrpEngine__deallocating() 0x00008103   Thumb Code    16  mnrefproviderengine.in(.text)
-    CMnrpEngine::ReadPlacesResourceL(RResourceReader&) 0x00008113   Thumb Code   154  mnrefproviderengine.in(.text)
-    CMnrpEngine::FindResourceFileL(const TDesC16&, TBuf<(int)256>&) 0x000081ad   Thumb Code   118  mnrefproviderengine.in(.text)
-    CMnrpEngine::LoadKnownPlacesL()          0x00008223   Thumb Code    94  mnrefproviderengine.in(.text)
-    CMnrpEngine::KnownPlacesL()              0x00008281   Thumb Code    76  mnrefproviderengine.in(.text)
-    CMnrpEngine::AddressToCoordL(const CPosLandmark&) 0x000082cd   Thumb Code   124  mnrefproviderengine.in(.text)
-    CMnrpEngine::AddressToCoordLC(const CPosLandmark&) 0x00008349   Thumb Code    32  mnrefproviderengine.in(.text)
-    CMnrpEngine::AddressToCoordL(const TDesC16&) 0x00008369   Thumb Code   124  mnrefproviderengine.in(.text)
-    CMnrpEngine::AddressToCoordLC(const TDesC16&) 0x000083e5   Thumb Code    32  mnrefproviderengine.in(.text)
-    CMnrpEngine::CreateCloseLandmarkLC(const CPosLandmark&, float) 0x00008405   Thumb Code   178  mnrefproviderengine.in(.text)
-    CMnrpEngine::DistanceBetweenLandmarks(const CPosLandmark&, const CPosLandmark&) 0x000084b7   Thumb Code    86  mnrefproviderengine.in(.text)
-    CMnrpEngine::FindClosestPoisL(const CPosLandmark&, RArray<CMnrpEngine::TDistanceToPoi>&, int) 0x0000850d   Thumb Code   178  mnrefproviderengine.in(.text)
-    CMnrpEngine::CoordToAddressLC(const TCoordinate&) 0x000085bf   Thumb Code   124  mnrefproviderengine.in(.text)
-    CMnrpEngine::Fs()                        0x0000863b   Thumb Code     4  mnrefproviderengine.in(.text)
-    CMnrpEngine::BestCoordToAddressMatchesL(const TCoordinate&, RPointerArray<CPosLandmark>&, int) 0x0000863f   Thumb Code   136  mnrefproviderengine.in(.text)
-    AbsoluteToImage(TRealPoint, double)      0x000086c9   Thumb Code    74  mnrefproviderengine.in(.text)
-    TRealPoint::TRealPoint()                 0x00008713   Thumb Code    40  mnrefproviderengine.in(.text)
-    TRealPoint::TRealPoint__sub_object()     0x00008713   Thumb Code     0  mnrefproviderengine.in(.text)
-    TRealPoint::TRealPoint(double, double)   0x0000873b   Thumb Code    16  mnrefproviderengine.in(.text)
-    TRealPoint::TRealPoint__sub_object(double, double) 0x0000873b   Thumb Code     0  mnrefproviderengine.in(.text)
-    TRealPoint::TRealPoint(TCoordinate)      0x0000874b   Thumb Code    36  mnrefproviderengine.in(.text)
-    TRealPoint::TRealPoint__sub_object(TCoordinate) 0x0000874b   Thumb Code     0  mnrefproviderengine.in(.text)
-    TRealPoint::operator +(const TRealPoint&) 0x0000876f   Thumb Code    54  mnrefproviderengine.in(.text)
-    TRealPoint::operator -(const TRealPoint&) 0x000087a5   Thumb Code    52  mnrefproviderengine.in(.text)
-    TRealPoint::operator *(const double&)    0x000087d9   Thumb Code    58  mnrefproviderengine.in(.text)
-    TRealPoint::operator /(const double&)    0x00008813   Thumb Code    56  mnrefproviderengine.in(.text)
-    TRealPoint::Set(double, double)          0x0000884b   Thumb Code    16  mnrefproviderengine.in(.text)
-    TRealPoint::Coordinate()                 0x0000885b   Thumb Code    30  mnrefproviderengine.in(.text)
-    TRealPoint::IsValid()                    0x00008879   Thumb Code    32  mnrefproviderengine.in(.text)
-    CMnrpMapModel::CDrawItem::SetAbsolutePosition(const TLocality&) 0x00008899   Thumb Code    44  mnrefproviderengine.in(.text)
-    CMnrpMapModel::CDrawItem::NewLC(const CPosLandmark&) 0x000088c5   Thumb Code   146  mnrefproviderengine.in(.text)
-    CMnrpMapModel::AddCitiesL()              0x00008957   Thumb Code    64  mnrefproviderengine.in(.text)
-    CMnrpMapModel::ConstructL()              0x00008997   Thumb Code    62  mnrefproviderengine.in(.text)
-    CMnrpMapModel::CMnrpMapModel(MMapModelObserver&, CMnrpEngine&) 0x000089d5   Thumb Code   102  mnrefproviderengine.in(.text)
-    CMnrpMapModel::CMnrpMapModel__sub_object(MMapModelObserver&, CMnrpEngine&) 0x000089d5   Thumb Code     0  mnrefproviderengine.in(.text)
-    CMnrpMapModel::NewL(MMapModelObserver&, CMnrpEngine&) 0x00008a3b   Thumb Code    40  mnrefproviderengine.in(.text)
-    CMnrpMapModel::CMnrpMapModel(CMnrpEngine&) 0x00008a63   Thumb Code   150  mnrefproviderengine.in(.text)
-    CMnrpMapModel::CMnrpMapModel__sub_object(CMnrpEngine&) 0x00008a63   Thumb Code     0  mnrefproviderengine.in(.text)
-    CMnrpMapModel::NewL(CMnrpEngine&)        0x00008af9   Thumb Code    36  mnrefproviderengine.in(.text)
-    CMnrpMapModel::~CMnrpMapModel()          0x00008b1d   Thumb Code    40  mnrefproviderengine.in(.text)
-    CMnrpMapModel::~CMnrpMapModel__sub_object() 0x00008b1d   Thumb Code     0  mnrefproviderengine.in(.text)
-    CMnrpMapModel::~CMnrpMapModel__deallocating() 0x00008b45   Thumb Code    16  mnrefproviderengine.in(.text)
-    CMnrpMapModel::Height() const            0x00008b55   Thumb Code    22  mnrefproviderengine.in(.text)
-    CMnrpMapModel::Bottom() const            0x00008b6b   Thumb Code    28  mnrefproviderengine.in(.text)
-    CMnrpMapModel::Top() const               0x00008b87   Thumb Code    28  mnrefproviderengine.in(.text)
-    CMnrpMapModel::Width() const             0x00008ba3   Thumb Code    22  mnrefproviderengine.in(.text)
-    CMnrpMapModel::Right() const             0x00008bb9   Thumb Code    28  mnrefproviderengine.in(.text)
-    CMnrpMapModel::Left() const              0x00008bd5   Thumb Code    28  mnrefproviderengine.in(.text)
-    CMnrpMapModel::MaxScale() const          0x00008bf1   Thumb Code    60  mnrefproviderengine.in(.text)
-    CMnrpMapModel::CheckBorders()            0x00008c2d   Thumb Code   240  mnrefproviderengine.in(.text)
-    CMnrpMapModel::AdjustBoundingBox(CMnrpMapModel::CDrawItem&, TRealPoint&, TRealPoint&) 0x00008d1d   Thumb Code   166  mnrefproviderengine.in(.text)
-    CMnrpMapModel::CheckDrawItemHasPositionL(CMnrpMapModel::CDrawItem&, const CPosLandmark&) 0x00008dc3   Thumb Code    90  mnrefproviderengine.in(.text)
-    CMnrpMapModel::CDrawItem::NewLC(const CPosLandmark&, CPosLmCategoryManager&) 0x00008e1d   Thumb Code   134  mnrefproviderengine.in(.text)
-    CMnrpMapModel::UpdateModelL(CMnrpMapViewService&) 0x00008ea3   Thumb Code   802  mnrefproviderengine.in(.text)
-    CMnrpMapModel::SetScreenSize(TSize)      0x000091c5   Thumb Code    14  mnrefproviderengine.in(.text)
-    CMnrpMapModel::UpdateModel(const TMnMapImageParams&) 0x000091d3   Thumb Code   178  mnrefproviderengine.in(.text)
-    CMnrpMapModel::UpdateModelL(const CMnrpMapImageService&) 0x00009285   Thumb Code   278  mnrefproviderengine.in(.text)
-    CMnrpMapModel::AbsoluteToScreen(TRealPoint) const 0x0000939b   Thumb Code   106  mnrefproviderengine.in(.text)
-    CMnrpMapModel::AbsoluteToScreen(TCoordinate) const 0x00009405   Thumb Code    84  mnrefproviderengine.in(.text)
-    CMnrpMapModel::CurrentLocation() const   0x00009459   Thumb Code   216  mnrefproviderengine.in(.text)
-    CMnrpMapModel::DrawCurrentLocation(CFbsBitGc&, const TSize&) const 0x00009531   Thumb Code   176  mnrefproviderengine.in(.text)
-    CMnrpMapModel::Items() const             0x000095e1   Thumb Code    88  mnrefproviderengine.in(.text)
-    CMnrpMapModel::DrawLandmarks(CFbsBitGc&, CFont&, const TSize&, int) const 0x00009639   Thumb Code   672  mnrefproviderengine.in(.text)
-    CMnrpMapModel::DrawHorizontalLine(CFbsBitGc&, int, TSize) const 0x000098d9   Thumb Code    28  mnrefproviderengine.in(.text)
-    CMnrpMapModel::DrawVerticalLine(CFbsBitGc&, int, TSize) const 0x000098f5   Thumb Code    30  mnrefproviderengine.in(.text)
-    CMnrpMapModel::DrawGrid(CFbsBitGc&, const TSize&, CMnrpMapModel::TGrid&) const 0x00009913   Thumb Code   128  mnrefproviderengine.in(.text)
-    CMnrpMapModel::AbsoluteToScreen(double) const 0x00009993   Thumb Code    24  mnrefproviderengine.in(.text)
-    CMnrpMapModel::GetGrid(CMnrpMapModel::TGrid&) const 0x000099ab   Thumb Code   348  mnrefproviderengine.in(.text)
-    CMnrpMapModel::RenderL(CFbsBitmap&, TRect, CFont*, CFont*) const 0x00009b07   Thumb Code   204  mnrefproviderengine.in(.text)
-    CMnrpMapModel::NumIgnoredLandmarks()     0x00009bd3   Thumb Code     6  mnrefproviderengine.in(.text)
-    CMnrpMapModel::Zoom(double)              0x00009bd9   Thumb Code    28  mnrefproviderengine.in(.text)
-    CMnrpMapModel::MoveTo(TCoordinate)       0x00009bf5   Thumb Code    54  mnrefproviderengine.in(.text)
-    CMnrpMapModel::GoCenter()                0x00009c2b   Thumb Code    32  mnrefproviderengine.in(.text)
-    CMnrpMapModel::ScreenToAbsolute(TPoint) const 0x00009c4b   Thumb Code   108  mnrefproviderengine.in(.text)
-    CMnrpMapModel::ScreenToAbsolute(int) const 0x00009cb7   Thumb Code    58  mnrefproviderengine.in(.text)
-    CMnrpMapModel::Center() const            0x00009cf1   Thumb Code    32  mnrefproviderengine.in(.text)
-    CMnrpMapModel::HandlePositionRequestCompletedL(int) 0x00009d11   Thumb Code    54  mnrefproviderengine.in(.text)
-    thunk{-4} to CMnrpMapModel::HandlePositionRequestCompletedL(int) 0x00009d47   Thumb Code     4  mnrefproviderengine.in(.text)
-    CMnrpMapModel::CDrawItem::~CDrawItem()   0x00009d4b   Thumb Code    56  mnrefproviderengine.in(.text)
-    CMnrpMapModel::CDrawItem::~CDrawItem__sub_object() 0x00009d4b   Thumb Code     0  mnrefproviderengine.in(.text)
-    CMnrpMapModel::CDrawItem::~CDrawItem__deallocating() 0x00009d83   Thumb Code    16  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::SetOptionsL(const TPositionUpdateOptionsBase&) 0x00009d99   Thumb Code    14  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::ConstructL(const TDesC16&) 0x00009da7   Thumb Code    94  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::CMnrpPositionRequest(MMnrpPositionObserver&) 0x00009e05   Thumb Code   106  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::CMnrpPositionRequest__sub_object(MMnrpPositionObserver&) 0x00009e05   Thumb Code     0  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::NewL(const TDesC16&, MMnrpPositionObserver&) 0x00009e6f   Thumb Code    40  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::~CMnrpPositionRequest() 0x00009e97   Thumb Code    44  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::~CMnrpPositionRequest__sub_object() 0x00009e97   Thumb Code     0  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::~CMnrpPositionRequest__deallocating() 0x00009ec3   Thumb Code    16  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::InitContainer(HPositionGenericInfo&) 0x00009ed3   Thumb Code    56  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::ExecuteNextStep()  0x00009f0b   Thumb Code    74  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::FetchNewPosition(int) 0x00009f55   Thumb Code    28  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::GetPosition(TPositionInfo&) 0x00009f71   Thumb Code    18  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::Speed()            0x00009f83   Thumb Code     6  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::Heading()          0x00009f89   Thumb Code     6  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::MagneticHeading()  0x00009f8f   Thumb Code     6  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::Course()           0x00009f95   Thumb Code     6  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::MagneticCourse()   0x00009f9b   Thumb Code     6  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::DoCancel()         0x00009fa1   Thumb Code    36  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::SaveContainer(const HPositionGenericInfo&) 0x00009fc5   Thumb Code   116  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::RunL()             0x0000a039   Thumb Code    64  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::RunError(int)      0x0000a079   Thumb Code     4  mnrefproviderengine.in(.text)
-    MnrpUtils::CoordinateToString(double, TDes16&, int, int) 0x0000a08d   Thumb Code   426  mnrefproviderengine.in(.text)
-    MnrpUtils::DistanceToString(double, TDes16&) 0x0000a237   Thumb Code   164  mnrefproviderengine.in(.text)
-    MnrpUtils::AngleToString(double, TDes16&) 0x0000a2db   Thumb Code   260  mnrefproviderengine.in(.text)
-    MnrpUtils::SpeedToString(double, TDes16&) 0x0000a3df   Thumb Code    66  mnrefproviderengine.in(.text)
-    MnrpUtils::PrintableStringLC(const TDesC16&) 0x0000a421   Thumb Code   204  mnrefproviderengine.in(.text)
-    _E32Dll_Body                             0x0000a4ed   Thumb Code    34  uc_dll.o(.text)
-    __DLL_Export_Table__                     0x0000a580   ARM Code       0  mnrefproviderengine{000a0000}.exp(ExportTable)
-    DLL##ExportTableSize                     0x0000a584   Data           0  mnrefproviderengine{000a0000}.exp(ExportTable)
-    DLL##ExportTable                         0x0000a588   Data           0  mnrefproviderengine{000a0000}.exp(ExportTable)
-    TRealX::SetNaN()                         0x0000a680   ARM Code       0  euser{000a0000}-1051.o(StubCode)
-    TRealX::TRealX()                         0x0000a688   ARM Code       0  euser{000a0000}-1059.o(StubCode)
-    TRealX::operator double() const          0x0000a690   ARM Code       0  euser{000a0000}-1073.o(StubCode)
-    TRealX::operator float() const           0x0000a698   ARM Code       0  euser{000a0000}-1074.o(StubCode)
-    CActive::Cancel()                        0x0000a6a0   ARM Code       0  euser{000a0000}-1088.o(StubCode)
-    CActive::SetActive()                     0x0000a6a8   ARM Code       0  euser{000a0000}-1090.o(StubCode)
-    CActive::CActive__sub_object(int)        0x0000a6b0   ARM Code       0  euser{000a0000}-1091.o(StubCode)
-    CActive::~CActive__sub_object()          0x0000a6b8   ARM Code       0  euser{000a0000}-1094.o(StubCode)
-    HBufC16::Des()                           0x0000a6c0   ARM Code       0  euser{000a0000}-1116.o(StubCode)
-    HBufC16::NewLC(int)                      0x0000a6c8   ARM Code       0  euser{000a0000}-1119.o(StubCode)
-    TPtrC16::TPtrC16(const TDesC16&)         0x0000a6d0   ARM Code       0  euser{000a0000}-1171.o(StubCode)
-    TPtrC16::TPtrC16()                       0x0000a6d8   ARM Code       0  euser{000a0000}-1172.o(StubCode)
-    RHandleBase::Close()                     0x0000a6e0   ARM Code       0  euser{000a0000}-120.o(StubCode)
-    RArrayBase::At(int) const                0x0000a6e8   ARM Code       0  euser{000a0000}-1507.o(StubCode)
-    RArrayBase::Count() const                0x0000a6f0   ARM Code       0  euser{000a0000}-1510.o(StubCode)
-    RPointerArrayBase::At(int) const         0x0000a6f8   ARM Code       0  euser{000a0000}-1590.o(StubCode)
-    RPointerArrayBase::Count() const         0x0000a700   ARM Code       0  euser{000a0000}-1593.o(StubCode)
-    TChar::IsPrint() const                   0x0000a708   ARM Code       0  euser{000a0000}-1625.o(StubCode)
-    TRect::Intersects(const TRect&) const    0x0000a710   ARM Code       0  euser{000a0000}-1646.o(StubCode)
-    TRect::Size() const                      0x0000a718   ARM Code       0  euser{000a0000}-1648.o(StubCode)
-    TRect::Width() const                     0x0000a720   ARM Code       0  euser{000a0000}-1649.o(StubCode)
-    TRect::Height() const                    0x0000a728   ARM Code       0  euser{000a0000}-1651.o(StubCode)
-    TPoint::operator +(const TPoint&) const  0x0000a730   ARM Code       0  euser{000a0000}-1753.o(StubCode)
-    TDesC16::AtC(int) const                  0x0000a738   ARM Code       0  euser{000a0000}-1806.o(StubCode)
-    TDesC16::FindF(const TDesC16&) const     0x0000a740   ARM Code       0  euser{000a0000}-1815.o(StubCode)
-    TDesC16::AllocLC() const                 0x0000a748   ARM Code       0  euser{000a0000}-1821.o(StubCode)
-    TDesC16::CompareF(const TDesC16&) const  0x0000a750   ARM Code       0  euser{000a0000}-1826.o(StubCode)
-    CleanupStack::PopAndDestroy()            0x0000a758   ARM Code       0  euser{000a0000}-203.o(StubCode)
-    CleanupStack::Pop()                      0x0000a760   ARM Code       0  euser{000a0000}-205.o(StubCode)
-    User::MarkCleanupStack()                 0x0000a768   ARM Code       0  euser{000a0000}-2060.o(StubCode)
-    User::UnMarkCleanupStack(TTrapHandler*)  0x0000a770   ARM Code       0  euser{000a0000}-2061.o(StubCode)
-    CleanupStack::PushL(TCleanupItem)        0x0000a778   ARM Code       0  euser{000a0000}-207.o(StubCode)
-    CleanupStack::PushL(CBase*)              0x0000a780   ARM Code       0  euser{000a0000}-208.o(StubCode)
-    XLeaveException::GetReason() const       0x0000a788   ARM Code       0  euser{000a0000}-2082.o(StubCode)
-    CleanupStack::PushL(void*)               0x0000a790   ARM Code       0  euser{000a0000}-209.o(StubCode)
-    CBase::Extension_(unsigned, void*&, void*) 0x0000a798   ARM Code       0  euser{000a0000}-2123.o(StubCode)
-    CBase::~CBase()                          0x0000a7a0   ARM Code       0  euser{000a0000}-2125.o(StubCode)
-    CActive::Extension_(unsigned, void*&, void*) 0x0000a7a8   ARM Code       0  euser{000a0000}-2128.o(StubCode)
-    CActiveScheduler::Add(CActive*)          0x0000a7b0   ARM Code       0  euser{000a0000}-424.o(StubCode)
-    RArrayBase::Close()                      0x0000a7b8   ARM Code       0  euser{000a0000}-46.o(StubCode)
-    RPointerArrayBase::GetElementPtr(const CBase*, int) 0x0000a7c0   ARM Code       0  euser{000a0000}-464.o(StubCode)
-    RArrayBase::Reset()                      0x0000a7c8   ARM Code       0  euser{000a0000}-47.o(StubCode)
-    RPointerArrayBase::Reset()               0x0000a7d0   ARM Code       0  euser{000a0000}-471.o(StubCode)
-    RPointerArrayBase::Append(const void*)   0x0000a7d8   ARM Code       0  euser{000a0000}-472.o(StubCode)
-    RPointerArrayBase::GetCount(const CBase*) 0x0000a7e0   ARM Code       0  euser{000a0000}-476.o(StubCode)
-    RArrayBase::Append(const void*)          0x0000a7e8   ARM Code       0  euser{000a0000}-48.o(StubCode)
-    RPointerArrayBase::RPointerArrayBase()   0x0000a7f0   ARM Code       0  euser{000a0000}-481.o(StubCode)
-    RArrayBase::Insert(const void*, int)     0x0000a7f8   ARM Code       0  euser{000a0000}-49.o(StubCode)
-    RArrayBase::Remove(int)                  0x0000a800   ARM Code       0  euser{000a0000}-50.o(StubCode)
-    RArrayBase::RArrayBase(int)              0x0000a808   ARM Code       0  euser{000a0000}-55.o(StubCode)
-    Math::IsNaN(const double&)               0x0000a810   ARM Code       0  euser{000a0000}-551.o(StubCode)
-    User::LeaveIfError(int)                  0x0000a818   ARM Code       0  euser{000a0000}-593.o(StubCode)
-    User::Leave(int)                         0x0000a820   ARM Code       0  euser{000a0000}-649.o(StubCode)
-    User::AllocZL(int)                       0x0000a828   ARM Code       0  euser{000a0000}-654.o(StubCode)
-    User::Invariant()                        0x0000a830   ARM Code       0  euser{000a0000}-669.o(StubCode)
-    TBufBase16::TBufBase16(int)              0x0000a838   ARM Code       0  euser{000a0000}-81.o(StubCode)
-    TRect::Grow(int, int)                    0x0000a840   ARM Code       0  euser{000a0000}-824.o(StubCode)
-    TRect::Move(int, int)                    0x0000a848   ARM Code       0  euser{000a0000}-826.o(StubCode)
-    TRect::TRect(const TSize&)               0x0000a850   ARM Code       0  euser{000a0000}-838.o(StubCode)
-    TRect::TRect(const TPoint&, const TSize&) 0x0000a858   ARM Code       0  euser{000a0000}-839.o(StubCode)
-    TRect::TRect(int, int, int, int)         0x0000a860   ARM Code       0  euser{000a0000}-841.o(StubCode)
-    TDes16::AppendFormat(TRefByValue<const TDesC16>, ...) 0x0000a868   ARM Code       0  euser{000a0000}-936.o(StubCode)
-    TDes16::Copy(const TDesC16&)             0x0000a870   ARM Code       0  euser{000a0000}-953.o(StubCode)
-    TDes16::Zero()                           0x0000a878   ARM Code       0  euser{000a0000}-960.o(StubCode)
-    TDes16::Append(TChar)                    0x0000a880   ARM Code       0  euser{000a0000}-966.o(StubCode)
-    TDes16::Append(const TDesC16&)           0x0000a888   ARM Code       0  euser{000a0000}-968.o(StubCode)
-    TDes16::Format(TRefByValue<const TDesC16>, ...) 0x0000a890   ARM Code       0  euser{000a0000}-973.o(StubCode)
-    TDes16::AppendNum(long long)             0x0000a898   ARM Code       0  euser{000a0000}-984.o(StubCode)
-    TParse::Set(const TDesC16&, const TDesC16*, const TDesC16*) 0x0000a8a0   ARM Code       0  efsrv{000a0000}-115.o(StubCode)
-    TParse::TParse()                         0x0000a8a8   ARM Code       0  efsrv{000a0000}-118.o(StubCode)
-    TFindFile::FindByDir(const TDesC16&, const TDesC16&) 0x0000a8b0   ARM Code       0  efsrv{000a0000}-181.o(StubCode)
-    TFindFile::TFindFile(RFs&)               0x0000a8b8   ARM Code       0  efsrv{000a0000}-182.o(StubCode)
-    TParseBase::NameAndExt() const           0x0000a8c0   ARM Code       0  efsrv{000a0000}-190.o(StubCode)
-    TParseBase::Path() const                 0x0000a8c8   ARM Code       0  efsrv{000a0000}-200.o(StubCode)
-    TParseBase::FullName() const             0x0000a8d0   ARM Code       0  efsrv{000a0000}-204.o(StubCode)
-    RFs::Connect(int)                        0x0000a8d8   ARM Code       0  efsrv{000a0000}-68.o(StubCode)
-    RResourceReader::ReadHBufCL()            0x0000a8e0   ARM Code       0  bafl{000a0000}-123.o(StubCode)
-    RResourceReader::ReadInt16L()            0x0000a8e8   ARM Code       0  bafl{000a0000}-124.o(StubCode)
-    RResourceReader::ReadReal64L()           0x0000a8f0   ARM Code       0  bafl{000a0000}-129.o(StubCode)
-    RResourceReader::OpenLC(const CResourceFile*, int) 0x0000a8f8   ARM Code       0  bafl{000a0000}-141.o(StubCode)
-    RResourceReader::RResourceReader()       0x0000a900   ARM Code       0  bafl{000a0000}-145.o(StubCode)
-    RResourceReader::~RResourceReader()      0x0000a908   ARM Code       0  bafl{000a0000}-147.o(StubCode)
-    CResourceFile::ConfirmSignatureL(int)    0x0000a910   ARM Code       0  bafl{000a0000}-59.o(StubCode)
-    CResourceFile::NewLC(RFs&, const TDesC16&, unsigned, int) 0x0000a918   ARM Code       0  bafl{000a0000}-62.o(StubCode)
-    AknIconUtils::CreateIconL(CFbsBitmap*&, CFbsBitmap*&, const TDesC16&, int, int) 0x0000a920   ARM Code       0  AknIcon{000a0000}-11.o(StubCode)
-    AknIconUtils::DestroyIconData(CFbsBitmap*) 0x0000a928   ARM Code       0  AknIcon{000a0000}-15.o(StubCode)
-    AknIconUtils::PreserveIconData(CFbsBitmap*) 0x0000a930   ARM Code       0  AknIcon{000a0000}-16.o(StubCode)
-    AknIconUtils::SetSize(CFbsBitmap*, const TSize&, TScaleMode) 0x0000a938   ARM Code       0  AknIcon{000a0000}-21.o(StubCode)
-    CFont::HeightInPixels() const            0x0000a940   ARM Code       0  gdi{000a0000}-311.o(StubCode)
-    CFont::TextWidthInPixels(const TDesC16&) const 0x0000a948   ARM Code       0  gdi{000a0000}-314.o(StubCode)
-    CFbsDevice::CreateContext(CFbsBitGc*&)   0x0000a950   ARM Code       0  bitgdi{000a0000}-14.o(StubCode)
-    CFbsBitmapDevice::NewL(CFbsBitmap*)      0x0000a958   ARM Code       0  bitgdi{000a0000}-44.o(StubCode)
-    CPosLandmark::NewL(const CPosLandmark&)  0x0000a960   ARM Code       0  eposlandmarks{000a0000}-12.o(StubCode)
-    CPosLandmark::NewLC(const CPosLandmark&) 0x0000a968   ARM Code       0  eposlandmarks{000a0000}-14.o(StubCode)
-    CPosLandmark::NewLC()                    0x0000a970   ARM Code       0  eposlandmarks{000a0000}-15.o(StubCode)
-    CPosLandmark::SetPositionL(const TLocality&) 0x0000a978   ARM Code       0  eposlandmarks{000a0000}-4.o(StubCode)
-    CPosLandmarkDatabase::OpenL(const TDesC16&) 0x0000a980   ARM Code       0  eposlandmarks{000a0000}-50.o(StubCode)
-    CPosLandmarkDatabase::OpenL()            0x0000a988   ARM Code       0  eposlandmarks{000a0000}-51.o(StubCode)
-    CPosLmCategoryManager::NewL(CPosLandmarkDatabase&) 0x0000a990   ARM Code       0  eposlandmarks{000a0000}-56.o(StubCode)
-    CPosLandmark::SetLandmarkNameL(const TDesC16&) 0x0000a998   ARM Code       0  eposlandmarks{000a0000}-6.o(StubCode)
-    CPosLandmark::GetPosition(TLocality&) const 0x0000a9a0   ARM Code       0  eposlandmarks{000a0000}-65.o(StubCode)
-    CPosLandmark::GetCategoriesL(RArray<unsigned long>&) const 0x0000a9a8   ARM Code       0  eposlandmarks{000a0000}-66.o(StubCode)
-    CPosLandmark::GetLandmarkName(TPtrC16&) const 0x0000a9b0   ARM Code       0  eposlandmarks{000a0000}-67.o(StubCode)
-    CPosLandmark::GetPositionField(unsigned short, TPtrC16&) const 0x0000a9b8   ARM Code       0  eposlandmarks{000a0000}-68.o(StubCode)
-    CPosLandmark::GetIcon(TPtrC16&, int&, int&) const 0x0000a9c0   ARM Code       0  eposlandmarks{000a0000}-75.o(StubCode)
-    CPosLandmark::SetPositionFieldL(unsigned short, const TDesC16&) 0x0000a9c8   ARM Code       0  eposlandmarks{000a0000}-8.o(StubCode)
-    CPosLandmarkCategory::GetIcon(TPtrC16&, int&, int&) const 0x0000a9d0   ARM Code       0  eposlandmarks{000a0000}-82.o(StubCode)
-    RPositioner::Open(RPositionServer&)      0x0000a9d8   ARM Code       0  lbs{000a0000}-10.o(StubCode)
-    RPositioner::Close()                     0x0000a9e0   ARM Code       0  lbs{000a0000}-13.o(StubCode)
-    RPositioner::RPositioner()               0x0000a9e8   ARM Code       0  lbs{000a0000}-15.o(StubCode)
-    TPositionUpdateOptions::TPositionUpdateOptions() 0x0000a9f0   ARM Code       0  lbs{000a0000}-152.o(StubCode)
-    RPositionerSubSessionBase::CancelRequest(int) 0x0000a9f8   ARM Code       0  lbs{000a0000}-167.o(StubCode)
-    TCoordinate::SetCoordinate(const double&, const double&) 0x0000aa00   ARM Code       0  lbs{000a0000}-17.o(StubCode)
-    TPositionUpdateOptionsBase::SetUpdateTimeOut(TTimeIntervalMicroSeconds) 0x0000aa08   ARM Code       0  lbs{000a0000}-180.o(StubCode)
-    TPositionUpdateOptionsBase::SetUpdateInterval(TTimeIntervalMicroSeconds) 0x0000aa10   ARM Code       0  lbs{000a0000}-181.o(StubCode)
-    TLocality::TLocality(const TCoordinate&, float) 0x0000aa18   ARM Code       0  lbs{000a0000}-205.o(StubCode)
-    TLocality::TLocality()                   0x0000aa20   ARM Code       0  lbs{000a0000}-207.o(StubCode)
-    TCoordinate::TCoordinate(const double&, const double&) 0x0000aa28   ARM Code       0  lbs{000a0000}-21.o(StubCode)
-    TPosition::TPosition()                   0x0000aa30   ARM Code       0  lbs{000a0000}-214.o(StubCode)
-    RPositioner::GetLastKnownPosition(TPositionInfoBase&, TRequestStatus&) const 0x0000aa38   ARM Code       0  lbs{000a0000}-218.o(StubCode)
-    RPositioner::NotifyPositionUpdate(TPositionInfoBase&, TRequestStatus&) const 0x0000aa40   ARM Code       0  lbs{000a0000}-219.o(StubCode)
-    TCoordinate::Latitude() const            0x0000aa48   ARM Code       0  lbs{000a0000}-223.o(StubCode)
-    TCoordinate::Longitude() const           0x0000aa50   ARM Code       0  lbs{000a0000}-225.o(StubCode)
-    TPositionInfo::GetPosition(TPosition&) const 0x0000aa58   ARM Code       0  lbs{000a0000}-226.o(StubCode)
-    TCoordinate::TCoordinate()               0x0000aa60   ARM Code       0  lbs{000a0000}-23.o(StubCode)
-    TPositionInfo::TPositionInfo()           0x0000aa68   ARM Code       0  lbs{000a0000}-28.o(StubCode)
-    TLocality::HorizontalAccuracy() const    0x0000aa70   ARM Code       0  lbs{000a0000}-303.o(StubCode)
-    TLocality::Distance(const TCoordinate&, float&) const 0x0000aa78   ARM Code       0  lbs{000a0000}-304.o(StubCode)
-    RPositionServer::Close()                 0x0000aa80   ARM Code       0  lbs{000a0000}-47.o(StubCode)
-    RPositionServer::Connect()               0x0000aa88   ARM Code       0  lbs{000a0000}-48.o(StubCode)
-    RPositionServer::RPositionServer()       0x0000aa90   ARM Code       0  lbs{000a0000}-49.o(StubCode)
-    RPositioner::SetRequestor(int, int, const TDesC16&) 0x0000aa98   ARM Code       0  lbs{000a0000}-7.o(StubCode)
-    RPositioner::SetUpdateOptions(const TPositionUpdateOptionsBase&) 0x0000aaa0   ARM Code       0  lbs{000a0000}-8.o(StubCode)
-    HPositionGenericInfo::ClearPositionData() 0x0000aaa8   ARM Code       0  lbs{000a0000}-82.o(StubCode)
-    HPositionGenericInfo::SetRequestedField(unsigned short) 0x0000aab0   ARM Code       0  lbs{000a0000}-83.o(StubCode)
-    HPositionGenericInfo::NewL(int, int)     0x0000aab8   ARM Code       0  lbs{000a0000}-87.o(StubCode)
-    PositionFieldManager::GetValue(unsigned short, float&, const HPositionGenericInfo&) 0x0000aac0   ARM Code       0  lbs{000a0000}-97.o(StubCode)
-    CMnMapViewServiceBase::LinkedLandmarksToShow(int) 0x0000aac8   ARM Code       0  mnservicelib{000a0000}-10.o(StubCode)
-    CMnMapViewServiceBase::LandmarksToShowDatabases() 0x0000aad0   ARM Code       0  mnservicelib{000a0000}-13.o(StubCode)
-    CMnMapViewServiceBase::AreaRadius()      0x0000aad8   ARM Code       0  mnservicelib{000a0000}-3.o(StubCode)
-    CMnMapViewServiceBase::LandmarksToShow() 0x0000aae0   ARM Code       0  mnservicelib{000a0000}-5.o(StubCode)
-    CMnMapImageServiceBase::ShowOptions() const 0x0000aae8   ARM Code       0  mnservicelib{000a0000}-55.o(StubCode)
-    CMnMapImageServiceBase::MapImageParams() const 0x0000aaf0   ARM Code       0  mnservicelib{000a0000}-57.o(StubCode)
-    CMnMapViewServiceBase::GetAreaCentralPoint(TCoordinate&) 0x0000aaf8   ARM Code       0  mnservicelib{000a0000}-6.o(StubCode)
-    CMnMapViewServiceBase::CurrentLocationOption() 0x0000ab00   ARM Code       0  mnservicelib{000a0000}-8.o(StubCode)
-    CMnMapViewServiceBase::IsAreaCentralPointSet() 0x0000ab08   ARM Code       0  mnservicelib{000a0000}-9.o(StubCode)
-    __aeabi_dadd                             0x0000ab10   ARM Code       0  dfpaeabi{000a0000}-12.o(StubCode)
-    __aeabi_ddiv                             0x0000ab18   ARM Code       0  dfpaeabi{000a0000}-19.o(StubCode)
-    __aeabi_cdcmple                          0x0000ab20   ARM Code       0  dfpaeabi{000a0000}-2.o(StubCode)
-    __aeabi_dmul                             0x0000ab28   ARM Code       0  dfpaeabi{000a0000}-20.o(StubCode)
-    __aeabi_drsub                            0x0000ab30   ARM Code       0  dfpaeabi{000a0000}-22.o(StubCode)
-    __aeabi_dsub                             0x0000ab38   ARM Code       0  dfpaeabi{000a0000}-23.o(StubCode)
-    __aeabi_f2d                              0x0000ab40   ARM Code       0  dfpaeabi{000a0000}-24.o(StubCode)
-    __aeabi_f2iz                             0x0000ab48   ARM Code       0  dfpaeabi{000a0000}-25.o(StubCode)
-    __aeabi_cdrcmple                         0x0000ab50   ARM Code       0  dfpaeabi{000a0000}-3.o(StubCode)
-    __aeabi_fdiv                             0x0000ab58   ARM Code       0  dfpaeabi{000a0000}-36.o(StubCode)
-    __aeabi_i2d                              0x0000ab60   ARM Code       0  dfpaeabi{000a0000}-41.o(StubCode)
-    __aeabi_cfcmple                          0x0000ab68   ARM Code       0  dfpaeabi{000a0000}-5.o(StubCode)
-    __aeabi_d2iz                             0x0000ab70   ARM Code       0  dfpaeabi{000a0000}-8.o(StubCode)
-    __aeabi_idivmod                          0x0000ab78   ARM Code       0  drtaeabi{000a0000}-135.o(StubCode)
-    __aeabi_memcpy4                          0x0000ab80   ARM Code       0  drtaeabi{000a0000}-147.o(StubCode)
-    __aeabi_unwind_cpp_pr0                   0x0000ab88   ARM Code       0  drtaeabi{000a0000}-158.o(StubCode)
-    __aeabi_unwind_cpp_pr1                   0x0000ab90   ARM Code       0  drtaeabi{000a0000}-159.o(StubCode)
-    __cxa_begin_catch                        0x0000ab98   ARM Code       0  drtaeabi{000a0000}-180.o(StubCode)
-    __cxa_end_catch                          0x0000aba0   ARM Code       0  drtaeabi{000a0000}-183.o(StubCode)
-    __cxa_end_cleanup                        0x0000aba8   ARM Code       0  drtaeabi{000a0000}-184.o(StubCode)
-    operator delete (void*)                  0x0000abb0   ARM Code       0  scppnwdl{000a0000}-3.o(StubCode)
-    ExecuteAndDeleteLD(CPosLmOperation*)     0x0000abb9   Thumb Code    22  mnrefproviderengine.in(i._Z18ExecuteAndDeleteLDP15CPosLmOperation)
-    TPtrC16::Set(const TDesC16&)             0x0000abcf   Thumb Code    28  mnrefproviderengine.in(i._ZN7TPtrC163SetERK7TDesC16)
-    operator delete (void*, void*)           0x0000abf7   Thumb Code     2  mnrefproviderengine.in(i._ZdlPvS_)
-    operator new(unsigned, void*)            0x0000abf9   Thumb Code     4  mnrefproviderengine.in(i._ZnwjPv)
-    CleanupClosePushL<RArray<CMnrpEngine::TDistanceToPoi>>(T1&) 0x0000abfd   Thumb Code    12  mnrefproviderengine.in(t._Z17CleanupClosePushLI6RArrayIN11CMnrpEngine14TDistanceToPoiEEEvRT_)
-    Abs<double>(T1)                          0x0000ac0d   Thumb Code    36  mnrefproviderengine.in(t._Z3AbsIdET_S0_)
-    Max<double>(T1, T1)                      0x0000ac39   Thumb Code    28  mnrefproviderengine.in(t._Z3MaxIdET_S0_S0_)
-    Min<double>(T1, T1)                      0x0000ac55   Thumb Code    28  mnrefproviderengine.in(t._Z3MinIdET_S0_S0_)
-    CleanupClose<RArray<CMnrpEngine::TDistanceToPoi>>::Close(void*) 0x0000ac71   Thumb Code     8  mnrefproviderengine.in(t._ZN12CleanupCloseI6RArrayIN11CMnrpEngine14TDistanceToPoiEEE5CloseEPv)
-    CleanupClose<RArray<unsigned long>>::Close(void*) 0x0000ac79   Thumb Code     8  mnrefproviderengine.in(t._ZN12CleanupCloseI6RArrayImEE5CloseEPv)
-    RPointerArray<CPosLandmark>::AppendL(const CPosLandmark*) 0x0000ac81   Thumb Code    12  mnrefproviderengine.in(t._ZN13RPointerArrayI12CPosLandmarkE7AppendLEPKS0_)
-    RPointerArray<CMnrpMapModel::CDrawItem>::ResetAndDestroy() 0x0000ac8d   Thumb Code    48  mnrefproviderengine.in(t._ZN13RPointerArrayIN13CMnrpMapModel9CDrawItemEE15ResetAndDestroyEv)
-    RPointerArray<CMnrpMapModel::CDrawItem>::AppendL(const CMnrpMapModel::CDrawItem*) 0x0000acbd   Thumb Code    12  mnrefproviderengine.in(t._ZN13RPointerArrayIN13CMnrpMapModel9CDrawItemEE7AppendLEPKS1_)
-    HPositionGenericInfo::GetValue<float>(unsigned short, T1&) const 0x0000acc9   Thumb Code    16  mnrefproviderengine.in(t._ZNK20HPositionGenericInfo8GetValueIfEEitRT_)
-    RArray<CMnrpEngine::TDistanceToPoi>::Count() const 0x0000acd9   Thumb Code     8  mnrefproviderengine.in(t._ZNK6RArrayIN11CMnrpEngine14TDistanceToPoiEE5CountEv)
-    TArray<CPosLandmark*>::operator [](int) const 0x0000ace1   Thumb Code     8  mnrefproviderengine.in(t._ZNK6TArrayIP12CPosLandmarkEixEi)
-    TArray<CMnrpMapModel::CDrawItem*>::operator [](int) const 0x0000ace9   Thumb Code     8  mnrefproviderengine.in(t._ZNK6TArrayIPN13CMnrpMapModel9CDrawItemEEixEi)
-    typeinfo for CMnrpEngine                 0x0000af94   Data          12  mnrefproviderengine.in(.constdata__ZTI11CMnrpEngine)
-    typeinfo for CMnrpMapModel               0x0000afa0   Data          32  mnrefproviderengine.in(.constdata__ZTI13CMnrpMapModel)
-    typeinfo for CMnrpPositionRequest        0x0000afc0   Data          12  mnrefproviderengine.in(.constdata__ZTI20CMnrpPositionRequest)
-    typeinfo for MMnrpPositionObserver       0x0000afcc   Data           8  mnrefproviderengine.in(.constdata__ZTI21MMnrpPositionObserver)
-    typeinfo for CMnrpMapModel::CDrawItem    0x0000afd4   Data          12  mnrefproviderengine.in(.constdata__ZTIN13CMnrpMapModel9CDrawItemE)
-    typeinfo name for CMnrpEngine            0x0000afe0   Data          14  mnrefproviderengine.in(.constdata__ZTS11CMnrpEngine)
-    typeinfo name for CMnrpMapModel          0x0000afee   Data          16  mnrefproviderengine.in(.constdata__ZTS13CMnrpMapModel)
-    typeinfo name for CMnrpPositionRequest   0x0000affe   Data          23  mnrefproviderengine.in(.constdata__ZTS20CMnrpPositionRequest)
-    typeinfo name for MMnrpPositionObserver  0x0000b015   Data          24  mnrefproviderengine.in(.constdata__ZTS21MMnrpPositionObserver)
-    typeinfo name for CMnrpMapModel::CDrawItem 0x0000b02d   Data          28  mnrefproviderengine.in(.constdata__ZTSN13CMnrpMapModel9CDrawItemE)
-    vtable for CMnrpEngine                   0x0000b04c   Data          20  mnrefproviderengine.in(.constdata__ZTV11CMnrpEngine)
-    vtable for CMnrpMapModel                 0x0000b060   Data          36  mnrefproviderengine.in(.constdata__ZTV13CMnrpMapModel)
-    vtable for CMnrpPositionRequest          0x0000b084   Data          32  mnrefproviderengine.in(.constdata__ZTV20CMnrpPositionRequest)
-    vtable for CMnrpMapModel::CDrawItem      0x0000b0a4   Data          20  mnrefproviderengine.in(.constdata__ZTVN13CMnrpMapModel9CDrawItemE)
-    .ARM.exidx$$Base                         0x0000b0b8   Number         0  ucppinit_aeabi.o(.ARM.exidx)
-    .ARM.exidx$$Limit                        0x0000b358   Number         0  mnrefproviderengine.in(.ARM.exidx)
-    Image$$ER_RO$$Limit                      0x0000b358   Number         0  anon$$obj.o(linker$$defined$$symbols)
-
Binary file locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/data/armv5/urel/mnrefproviderengine.rsc has changed
Binary file locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/data/winscw/udeb/MnRefProviderPlugin.dll has changed
Binary file locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/data/winscw/udeb/mnrefprovider.exe has changed
Binary file locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/data/winscw/udeb/mnrefproviderback.exe has changed
Binary file locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/data/winscw/udeb/mnrefproviderengine.dll has changed
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/eabi/testmnproviderdiscoveryu.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	_Z9LibEntryLR13CTestModuleIf @ 1 NONAME
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Build information file for test code of Map and Navigation Provider Discovery API
-*
-*/
-
-
-
-PRJ_PLATFORMS
-// specify the platforms your component needs to be built for here
-// defaults to WINS MARM so you can ignore this if you just build these
-DEFAULT
-
-PRJ_TESTEXPORTS
-// NOTE: If using ARS requirements all export operations should be done under this.
-// 'abld test export'
-
-PRJ_EXPORTS
-// Specify the source file followed by its destination here
-// copy will be used to copy the source file to its destination
-// If there's no destination then the source file will be copied
-// to the same name in /epoc32/include
-// Example: 
-/*
-/agnmodel/inc/AGMCOMON.H
-*/
-
-PRJ_TESTMMPFILES
-// NOTE: If using ARS requirements .mmp file operation should be done under this.
-// 'abld test build'
-
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-#endif
-
-testmnproviderdiscovery.mmp
-../mapnavproviderrefapp/group/mnprovdiscrefengine.mmp
-../mapnavproviderrefapp/group/mnprovdiscrefprovider.mmp
-../mapnavproviderrefapp/group/mnprovdiscrefproviderback.mmp
-../mapnavproviderrefapp/group/mnprovdiscrefproviderplugin.mmp
-
-
-PRJ_MMPFILES
-// Specify the .mmp files required for building the important component
-// releasables.
-//
-// Specify "tidy" if the component you need to build doesn't need to be
-// released. Specify "ignore" if the MMP file exists but should be
-// ignored.
-// Example:
-/*
-/agnmodel/group/agnmodel.mmp
-#if defined(MARM)
-/agnmodel/group/agsvexe.mmp
-#endif
-*/
-
-//  End of File
\ No newline at end of file
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/group/map_and_navigation_provider_discovery_api_test.pkg	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +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: Package file for test code of Map and Navigation Provider Discovery API
-;
-;
-; Installation file for map_and_navigation_provider_discovery_api_test application
-;
-;Languages
-&EN
-;
-; UID is the app's UID
-;
-#{"map_and_navigation_provider_discovery_api_test"},(0x101FB3E3),2,0,0,TYPE=SA
-;
-; Localised Vendor name
-%{"Nokia-EN"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Supports Series 60 v 3.0
-;This line indicates that this installation is for the Series 60 platform v0.9
-;This line must appear _exactly_ as shown below in the sis file
-;If this line is missing or incorrect, the sis file will not be able
-;to be installed on Series 60 v3.0 platforms
-;(0x101F7961), 0, 0, 0, {"Series60ProductID"}
-;
-;
-; Files to install
-"\epoc32\release\armv5\urel\testmnproviderdiscovery.dll"-"C:\sys\bin\testmnproviderdiscovery.dll"
-
-;refapp dlls
-"..\data\armv5\urel\mnrefprovider.exe"-"C:\sys\bin\mnrefprovider.exe"
-"..\data\armv5\urel\mnrefprovider.rsc"-"C:\resource\apps\mnrefprovider.rsc"
-"..\data\armv5\urel\mnrefprovider.mbm"-"C:\resource\apps\mnrefprovider.mbm"
-"..\data\armv5\urel\mnrefprovider.mif"-"C:\resource\apps\mnrefprovider.mif"
-"..\data\armv5\urel\mnrefprovider_reg.rsc"-"C:\private\10003a3f\import\apps\mnrefprovider_reg.rsc"
-
-"..\data\armv5\urel\mnrefproviderback.exe"-"C:\sys\bin\mnrefproviderback.exe"
-"..\data\armv5\urel\mnrefproviderback.rsc"-"C:\resource\apps\mnrefproviderback.rsc"
-"..\data\armv5\urel\mnrefproviderback_reg.rsc"-"C:\private\10003a3f\import\apps\mnrefproviderback_reg.rsc"
-
-"..\data\armv5\urel\mnrefproviderengine.dll"-"C:\sys\bin\mnrefproviderengine.dll"
-"..\data\armv5\urel\mnrefproviderengine.rsc"-"C:\resource\mnrefproviderengine.rsc"
-
-"\epoc32\release\armv5\urel\mnrefproviderplugin.dll"-"!:\sys\bin\mnrefproviderplugin.dll"
-"\epoc32\data\z\resource\plugins\mnrefproviderplugin.rsc"-"!:\resource\plugins\mnrefproviderplugin.rsc"
-
-
-"..\conf\testmnproviderdiscovery.cfg"-"C:\testframework\testmnproviderdiscovery.cfg"
-"..\init\testframework.ini"-"C:\testframework\testframework.ini"
\ No newline at end of file
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/group/testmnproviderdiscovery.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +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: Project definition file for test code of Map and Navigation Provider Discovery API
-*
-*/
-
-
-
-#include <platform_paths.hrh>
-
-TARGET          testmnproviderdiscovery.dll
-TARGETTYPE      dll
-UID             0x1000008D 0x101FB3E3
-
-CAPABILITY      ALL -TCB
-/* Remove comments and replace 0x00000000 with correct vendor id */
-// VENDORID     0x00000000
-/* Remove comments and replace 0x00000000 with correct secure id */
-// SECUREID     0x00000000
-
-//TARGETPATH      ?target_path
-DEFFILE         testmnproviderdiscovery.def
-
-SOURCEPATH      ../src
-SOURCE          testmnproviderdiscovery.cpp
-SOURCE          testmnproviderdiscoveryblocks.cpp
-SOURCE          testmnproviderfinder.cpp
-SOURCE          testcmnprovider.cpp
-
-//RESOURCE        resource_file
-//RESOURCE        resource_file2
-
-USERINCLUDE     ../inc 
-
-MW_LAYER_SYSTEMINCLUDE
-
-LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
-LIBRARY         mnclientlib.lib
-LIBRARY			swinstcli.lib
-
-LANG            SC
-
-/*
-START WINS      
-?wins_specific_information
-END
-
-START MARM
-?marm_specific_information
-END
-*/
-// Other possible keywords:
- 
-// DOCUMENT     ?file, that is not compiled, but added to MSVC project workspace (i.e. release notes)
-/*
-START BITMAP ?target
-TARGETPATH   ?emulated_path_on_target_machine
-HEADER
-SOURCE       ?color_depth ?source_bitmap
-END
-*/
-// DEFFILE ?filename
-// AIF ?filename
-
-
-SMPSAFE
-
-// End of File
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/inc/testcmnprovider.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Provides testing of CMnProvider class methods
-*
-*/
-
-
-
-#ifndef CTESTMNPROVIDER_H
-#define CTESTMNPROVIDER_H
-
-//  INCLUDES
-#include <StifLogger.h>
-#include <TestScripterInternal.h>
-#include <StifTestModule.h>
-
-
-
-// CLASS 
-
-class CTestMnProvider
-	{
-	public:	//Public constructor of class
-	
-		/**
-		*
-		*/
-		CTestMnProvider(CStifLogger* aLog);
-		
-		static CTestMnProvider* NewL(CStifLogger* aLog);
-		
-		void ConstructL();
-		
-		~CTestMnProvider();
-		
-	public:	//Public methods
-		
-	public:	//Public methods
-	
-		/**
-		*
-		*/
-		TInt DestroyProviderL( CStifItemParser& aItem );
-		
-		/**
-		*
-		*/
-		TInt ProviderUidL( CStifItemParser& aItem );
-		
-		/**
-		*
-		*/
-		TInt ProviderVersionL( CStifItemParser& aItem );
-		
-		/**
-		*
-		*/
-		TInt GetProviderNameL( CStifItemParser& aItem );
-		
-		/**
-		*
-		*/
-		TInt GetShortNameL( CStifItemParser& aItem );
-		
-		/**
-		*
-		*/
-		TInt GetVendorNameL( CStifItemParser& aItem );
-		
-		/**
-		*
-		*/
-		TInt SupportedServicesL( CStifItemParser& aItem );
-		
-		/**
-		*
-		*/
-		TInt SupportedFeaturesL( CStifItemParser& aItem );
-		
-				
-	private:
-		
-		// Private members
-		CStifLogger* iLog;	//Log		
-	};
-	
-#endif // CTESTMNPROVIDER_H
-	
\ No newline at end of file
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/inc/testmnproviderdiscovery.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,196 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Declaration  of test class for map_and_navigation_provider_discovery_api
-*
-*/
-
-
-
-#ifndef TESTMNPROVIDERDISCOVERY_H
-#define TESTMNPROVIDERDISCOVERY_H
-
-//  INCLUDES
-#include <StifLogger.h>
-#include <TestScripterInternal.h>
-#include <StifTestModule.h>
-#include "testmnproviderfinder.h"
-#include "testcmnprovider.h"
-
-
-// Logging path
-_LIT( KtestmnproviderdiscoveryLogPath, "\\logs\\testframework\\testmnproviderdiscovery\\" ); 
-// Log file
-_LIT( KtestmnproviderdiscoveryLogFile, "testmnproviderdiscovery.txt" ); 
-
-
-// FORWARD DECLARATIONS
-class CTestMnProviderDiscovery;
-
-
-// CLASS DECLARATION
-
-/**
-*  Ctestmnproviderdiscovery test class for STIF Test Framework TestScripter.
-*  ?other_description_lines
-*
-*  @lib ?library
-*  @since ?Series60_version
-*/
-NONSHARABLE_CLASS(CTestMnProviderDiscovery) : public CScriptBase
-    {
-    public:  // Constructors and destructor
-
-        /**
-        * Two-phased constructor.
-        */
-        static CTestMnProviderDiscovery* NewL( CTestModuleIf& aTestModuleIf );
-
-        /**
-        * Destructor.
-        */
-        virtual ~CTestMnProviderDiscovery();
-
-   
-    public: // Functions from base classes
-
-        /**
-        * From CScriptBase Runs a script line.
-        * @since ?Series60_version
-        * @param aItem Script line containing method name and parameters
-        * @return Symbian OS error code
-        */
-        virtual TInt RunMethodL( CStifItemParser& aItem );
-
-    protected:  // New functions
-
-        
-    protected:  // Functions from base classes
-
-        
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CTestMnProviderDiscovery( CTestModuleIf& aTestModuleIf );
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-
-        
-        /**
-        * Frees all resources allocated from test methods.
-        * @since ?Series60_version
-        */
-        void Delete();
-
-        /**
-        * Test methods are listed below. 
-        */
-		
-		/**
-      	* Installs provider application
-      	*
-      	*/
-		TInt InstallProvider( const TDesC& aPackagePath );
-                
-        /**
-        * FindAllProvidersL test method.
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt FindAllProvidersL( CStifItemParser& aItem );
-        
-        /**
-        * FindSelectedProvidersL test method.
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt FindSelectedProvidersL( CStifItemParser& aItem );
-        
-        /**
-        * DestroyProviderL test method.
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt DestroyProviderL( CStifItemParser& aItem );
-        
-        /**
-        * ProviderUidL test method.
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt ProviderUidL( CStifItemParser& aItem );
-        
-        /**
-        * ProviderVersionL test method.
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt ProviderVersionL( CStifItemParser& aItem );
-        
-        /**
-        * GetProviderNameL test method.
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt GetProviderNameL( CStifItemParser& aItem );
-        
-        /**
-        * GetShortNameL test method.
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt GetShortNameL( CStifItemParser& aItem );
-        
-        /**
-        * GetVendorNameL test method.
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt GetVendorNameL( CStifItemParser& aItem );
-        
-        /**
-        * SupportedServicesL test method.
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt SupportedServicesL( CStifItemParser& aItem );
-        
-        /**
-        * SupportedFeaturesL test method.
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt SupportedFeaturesL( CStifItemParser& aItem );
-        
-        //ADD NEW METHOD DEC HERE
-
-    };
-
-#endif      // TESTMNPROVIDERDISCOVERY_H
-
-// End of File
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/inc/testmnproviderfinder.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Provides testing of MnProviderFinder class methods
-*
-*/
-
-
-
-#ifndef TESTMNNPROVIDERFINDER_H
-#define TESTMNNPROVIDERFINDER_H
-
-//  INCLUDES
-#include <StifLogger.h>
-#include <TestScripterInternal.h>
-#include <StifTestModule.h>
-
-
-// CLASS 
-
-class TestMnProviderFinder
-	{
-	public:	//Public constructor of class
-	
-		/**
-		*
-		*/
-		TestMnProviderFinder(CStifLogger* aLog);
-		
-		static TestMnProviderFinder* NewL(CStifLogger* aLog);
-		
-		void ConstructL();
-		
-		~TestMnProviderFinder();
-		
-	public:	//Public methods
-		
-	public:	//Public methods
-	
-		/**
-		*
-		*/
-		TInt FindAllProvidersL( CStifItemParser& aItem );
-		
-		/**
-		*
-		*/
-		TInt FindSelectedProvidersL( CStifItemParser& aItem );
-		
-		/**
-		*
-		*/
-		//TInt NavigateToL( CStifItemParser& aItem );
-		
-		/**
-		*
-		*/
-		//TInt SetExitObserverL( CStifItemParser& aItem );
-		
-		/**
-		*
-		*/
-		//TInt RemoveExitObserverL( CStifItemParser& aItem );
-		
-				
-	private:
-		
-		// Private members
-		CStifLogger* iLog;	//Log		
-	};
-	
-#endif // TESTMNNPROVIDERFINDER_H
-	
\ No newline at end of file
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/init/testframework.ini	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,182 +0,0 @@
-#
-# This is STIFTestFramework initialization file
-# Comment lines start with '#'-character.
-# See STIF TestFramework users guide.doc for instructions
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Set following test engine settings:
-#	- Set Test Reporting mode. TestReportMode's possible values are:
-#		+ 'Summary': Summary of the tested test cases.
-#		+ 'Environment': Hardware and software info.
-#		+ 'TestCases': Test case report.
-#		+ 'FullReport': Set of all above ones.
-#		+ Example 'TestReportMode= Summary TestCases'
-#
-# 	- CreateTestReport setting controls report creation mode
-#		+ YES, Test report will created.
-#		+ NO, No Test report.
-#
-# 	- File path indicates the base path of the test report.
-# 	- File name indicates the name of the test report.
-#
-# 	- File format indicates the type of the test report.
-#		+ TXT, Test report file will be txt type, for example 'TestReport.txt'.
-#		+ HTML, Test report will be html type, for example 'TestReport.html'.
-#
-# 	- File output indicates output source of the test report.
-#		+ FILE, Test report logging to file.
-#		+ RDEBUG, Test report logging to using rdebug.
-#
-# 	- File Creation Mode indicates test report overwriting if file exist.
-#		+ OVERWRITE, Overwrites if the Test report file exist.
-#		+ APPEND, Continue logging after the old Test report information if 
-#                 report exist.
-# 	- Sets a device reset module's dll name(Reboot).
-#		+ If Nokia specific reset module is not available or it is not correct one
-#		  StifHWResetStub module may use as a template for user specific reset
-#		  module. 
-
-[Engine_Defaults]
-
-TestReportMode= FullReport		# Possible values are: 'Empty', 'Summary', 'Environment',
-                                                               'TestCases' or 'FullReport'
-
-CreateTestReport= YES			# Possible values: YES or NO
-
-TestReportFilePath= C:\LOGS\TestFramework\
-TestReportFileName= TestReport
-
-TestReportFormat= TXT			# Possible values: TXT or HTML
-TestReportOutput= FILE			# Possible values: FILE or RDEBUG
-TestReportFileCreationMode= OVERWRITE	# Possible values: OVERWRITE or APPEND
-
-DeviceResetDllName= StifResetForNokia.dll # e.g. 'StifHWResetStub.dll' for user specific reseting
-
-[End_Defaults]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Module configurations start
-# Modules are added between module tags
-# tags. Module name is specified after ModuleName= tag, like
-# ModuleName= XXXXXXXXX
-# Modules might have initialisation file, specified as
-# IniFile= c:\testframework\YYYYYY
-# Modules might have several configuration files, like
-# TestCaseFile= c:\testframework\NormalCases.txt
-# TestCaseFile= c:\testframework\SmokeCases.txt
-# TestCaseFile= c:\testframework\ManualCases.txt
-
-# (TestCaseFile is synonym for old term ConfigFile)
-
-# Following case specifies demo module settings. Demo module
-# does not read any settings from file, so tags 
-# IniFile and TestCaseFile are not used.
-# In the simplest case it is enough to specify only the
-# name of the test module when adding new test module
-
-#[New_Module]
-#ModuleName= demomodule
-#[End_Module]
-
-[New_Module]
-ModuleName= TestScripter
-TestCaseFile= C:\Testframework\testmnproviderdiscovery.cfg
-[End_Module]
-
-# Load testmoduleXXX, optionally with initialization file and/or test case files
-#[New_Module]
-#ModuleName= testmodulexxx
-
-#TestModuleXXX used initialization file
-#IniFile= c:\testframework\init.txt
-
-#TestModuleXXX used configuration file(s)
-#TestCaseFile= c:\testframework\testcases1.cfg
-#TestCaseFile= c:\testframework\testcases2.cfg
-#TestCaseFile= c:\testframework\manualtestcases.cfg
-
-#[End_Module]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Set STIFTestFramework logging overwrite parameters for Logger.
-# 	Hardware and emulator environment logging path and styles can
-# 	be configured from here to overwrite the Logger's implemented values.
-#	
-#	Settings description:
-#	- Indicates option for creation log directory/directories. If log directory/directories
-#         is/are not created by user they will make by software.
-#		+ YES, Create log directory/directories if not allready exist.
-#		+ NO, Log directory/directories not created. Only created one is used.
-#
-#	- Overwrite emulator path setting.
-#		+ Example: If 'EmulatorBasePath= C:\LOGS\TestFramework\' and in code is defined 
-#		           Logger's path 'D:\\LOGS\\Module\\' with those definition the path
-#		           will be 'C:\LOGS\TestFramework\LOGS\Module\'
-#
-#	- Overwrite emulator's logging format.
-#		+ TXT, Log file(s) will be txt type(s), for example 'Module.txt'.
-#		+ HTML, Log file(s) will be html type(s), for example 'Module.html'.
-#
-#	- Overwrited emulator logging output source.
-#		+ FILE, Logging to file(s).
-#		+ RDEBUG, Logging to using rdebug(s).
-#
-#	- Overwrite hardware path setting (Same description as above in emulator path).
-#	- Overwrite hardware's logging format(Same description as above in emulator format).
-#	- Overwrite hardware's logging output source(Same description as above in emulator output).
-#
-#	- File Creation Mode indicates file overwriting if file exist.
-#		+ OVERWRITE, Overwrites if file(s) exist.
-#		+ APPEND, Continue logging after the old logging information if file(s) exist.
-#
-#	- Will thread id include to the log filename.
-#		+ YES, Thread id to log file(s) name, Example filename 'Module_b9.txt'.
-#		+ NO, No thread id to log file(s), Example filename 'Module.txt'.
-#
-#	- Will time stamps include the to log file.
-#		+ YES, Time stamp added to each line in log file(s). Time stamp is 
-#                 for example'12.Nov.2003 115958    LOGGING INFO'
-#		+ NO, No time stamp(s).
-#
-#	- Will line breaks include to the log file.
-#		+ YES, Each logging event includes line break and next log event is in own line.
-#		+ NO, No line break(s).
-#
-#	- Will event ranking include to the log file.
-#		+ YES, Event ranking number added to each line in log file(s). Ranking number 
-#                 depends on environment's tics, for example(includes time stamp also)
-#                 '012   12.Nov.2003 115958    LOGGING INFO'
-#		+ NO, No event ranking.
-#
-
-[Logger_Defaults]
-
-#NOTE: If you want to set Logger using next setting(s) remove comment(s)'#' 
-
-#CreateLogDirectories= YES		# Possible values: YES or NO
-
-#EmulatorBasePath= C:\LOGS\TestFramework\
-#EmulatorFormat= HTML			# Possible values: TXT or HTML
-#EmulatorOutput= FILE			# Possible values: FILE or RDEBUG
-
-#HardwareBasePath= D:\LOGS\TestFramework\
-#HardwareFormat= HTML			# Possible values: TXT or HTML
-#HardwareOutput= FILE			# Possible values: FILE or RDEBUG
-
-#FileCreationMode= OVERWRITE		# Possible values: OVERWRITE or APPEND
-
-#ThreadIdToLogFile= YES			# Possible values: YES or NO
-#WithTimeStamp= YES			# Possible values: YES or NO
-#WithLineBreak= YES			# Possible values: YES or NO
-#WithEventRanking= YES			# Possible values: YES or NO
-
-[End_Logger_Defaults]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-# End of file
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/BWINS/mnrefproviderengine.50u.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-EXPORTS
-	?FindResourceFileL@CMnrpEngine@@QAEXABVTDesC16@@AAV?$TBuf@$0BAA@@@@Z @ 1 NONAME ; void CMnrpEngine::FindResourceFileL(class TDesC16 const &, class TBuf<256> &)
-	?Center@CMnrpMapModel@@QBE?AVTCoordinate@@XZ @ 2 NONAME ; class TCoordinate CMnrpMapModel::Center(void) const
-	?ScreenToAbsolute@CMnrpMapModel@@QBENH@Z @ 3 NONAME ; double CMnrpMapModel::ScreenToAbsolute(int) const
-	?NewL@CMnrpMapModel@@SAPAV1@AAVMMapModelObserver@@AAVCMnrpEngine@@@Z @ 4 NONAME ; class CMnrpMapModel * CMnrpMapModel::NewL(class MMapModelObserver &, class CMnrpEngine &)
-	?Width@CMnrpMapModel@@QBENXZ @ 5 NONAME ; double CMnrpMapModel::Width(void) const
-	?GetPosition@CMnrpPositionRequest@@QAEXAAVTPositionInfo@@@Z @ 6 NONAME ; void CMnrpPositionRequest::GetPosition(class TPositionInfo &)
-	?NewL@CMnrpMapModel@@SAPAV1@AAVCMnrpEngine@@@Z @ 7 NONAME ; class CMnrpMapModel * CMnrpMapModel::NewL(class CMnrpEngine &)
-	?SetOptionsL@CMnrpPositionRequest@@QAEXABVTPositionUpdateOptionsBase@@@Z @ 8 NONAME ; void CMnrpPositionRequest::SetOptionsL(class TPositionUpdateOptionsBase const &)
-	?GoCenter@CMnrpMapModel@@QAEXXZ @ 9 NONAME ; void CMnrpMapModel::GoCenter(void)
-	?FetchNewPosition@CMnrpPositionRequest@@QAEXH@Z @ 10 NONAME ; void CMnrpPositionRequest::FetchNewPosition(int)
-	?Course@CMnrpPositionRequest@@QAEMXZ @ 11 NONAME ; float CMnrpPositionRequest::Course(void)
-	?CoordinateToString@MnrpUtils@@SAXNAAVTDes16@@HH@Z @ 12 NONAME ; void MnrpUtils::CoordinateToString(double, class TDes16 &, int, int)
-	?CurrentLocation@CMnrpMapModel@@QBE?AVTCurrentLocation@1@XZ @ 13 NONAME ; class CMnrpMapModel::TCurrentLocation CMnrpMapModel::CurrentLocation(void) const
-	?AddressToCoordL@CMnrpEngine@@QAEPAVCPosLandmark@@ABV2@@Z @ 14 NONAME ; class CPosLandmark * CMnrpEngine::AddressToCoordL(class CPosLandmark const &)
-	?MoveTo@CMnrpMapModel@@QAEXVTCoordinate@@@Z @ 15 NONAME ; void CMnrpMapModel::MoveTo(class TCoordinate)
-	?AbsoluteToScreen@CMnrpMapModel@@QBEHN@Z @ 16 NONAME ; int CMnrpMapModel::AbsoluteToScreen(double) const
-	?Zoom@CMnrpMapModel@@QAEXN@Z @ 17 NONAME ; void CMnrpMapModel::Zoom(double)
-	?NewL@CMnrpPositionRequest@@SAPAV1@ABVTDesC16@@AAVMMnrpPositionObserver@@@Z @ 18 NONAME ; class CMnrpPositionRequest * CMnrpPositionRequest::NewL(class TDesC16 const &, class MMnrpPositionObserver &)
-	?Right@CMnrpMapModel@@QBENXZ @ 19 NONAME ; double CMnrpMapModel::Right(void) const
-	?Height@CMnrpMapModel@@QBENXZ @ 20 NONAME ; double CMnrpMapModel::Height(void) const
-	?Left@CMnrpMapModel@@QBENXZ @ 21 NONAME ; double CMnrpMapModel::Left(void) const
-	?Heading@CMnrpPositionRequest@@QAEMXZ @ 22 NONAME ; float CMnrpPositionRequest::Heading(void)
-	?AbsoluteToScreen@CMnrpMapModel@@QBE?AVTPoint@@VTCoordinate@@@Z @ 23 NONAME ; class TPoint CMnrpMapModel::AbsoluteToScreen(class TCoordinate) const
-	?GetGrid@CMnrpMapModel@@QBEXAAVTGrid@1@@Z @ 24 NONAME ; void CMnrpMapModel::GetGrid(class CMnrpMapModel::TGrid &) const
-	?UpdateModelL@CMnrpMapModel@@QAEXABVCMnrpMapImageService@@@Z @ 25 NONAME ; void CMnrpMapModel::UpdateModelL(class CMnrpMapImageService const &)
-	?UpdateModel@CMnrpMapModel@@QAEXABVTMnMapImageParams@@@Z @ 26 NONAME ; void CMnrpMapModel::UpdateModel(class TMnMapImageParams const &)
-	?FindClosestPoisL@CMnrpEngine@@QAEXABVCPosLandmark@@AAV?$RArray@UTDistanceToPoi@CMnrpEngine@@@@H@Z @ 27 NONAME ; void CMnrpEngine::FindClosestPoisL(class CPosLandmark const &, class RArray<struct CMnrpEngine::TDistanceToPoi> &, int)
-	?Fs@CMnrpEngine@@QAEAAVRFs@@XZ @ 28 NONAME ; class RFs & CMnrpEngine::Fs(void)
-	?AddressToCoordL@CMnrpEngine@@QAEPAVCPosLandmark@@ABVTDesC16@@@Z @ 29 NONAME ; class CPosLandmark * CMnrpEngine::AddressToCoordL(class TDesC16 const &)
-	?AddressToCoordLC@CMnrpEngine@@QAEPAVCPosLandmark@@ABVTDesC16@@@Z @ 30 NONAME ; class CPosLandmark * CMnrpEngine::AddressToCoordLC(class TDesC16 const &)
-	?DistanceToString@MnrpUtils@@SAXNAAVTDes16@@@Z @ 31 NONAME ; void MnrpUtils::DistanceToString(double, class TDes16 &)
-	?Speed@CMnrpPositionRequest@@QAEMXZ @ 32 NONAME ; float CMnrpPositionRequest::Speed(void)
-	??1CMnrpMapModel@@UAE@XZ @ 33 NONAME ; CMnrpMapModel::~CMnrpMapModel(void)
-	?Bottom@CMnrpMapModel@@QBENXZ @ 34 NONAME ; double CMnrpMapModel::Bottom(void) const
-	?CoordToAddressLC@CMnrpEngine@@QAEPAVCPosLandmark@@ABVTCoordinate@@@Z @ 35 NONAME ; class CPosLandmark * CMnrpEngine::CoordToAddressLC(class TCoordinate const &)
-	?SpeedToString@MnrpUtils@@SAXNAAVTDes16@@@Z @ 36 NONAME ; void MnrpUtils::SpeedToString(double, class TDes16 &)
-	?NumIgnoredLandmarks@CMnrpMapModel@@QAEHXZ @ 37 NONAME ; int CMnrpMapModel::NumIgnoredLandmarks(void)
-	??1CMnrpEngine@@UAE@XZ @ 38 NONAME ; CMnrpEngine::~CMnrpEngine(void)
-	?AngleToString@MnrpUtils@@SAXNAAVTDes16@@@Z @ 39 NONAME ; void MnrpUtils::AngleToString(double, class TDes16 &)
-	?PrintableStringLC@MnrpUtils@@SAPAVHBufC16@@ABVTDesC16@@@Z @ 40 NONAME ; class HBufC16 * MnrpUtils::PrintableStringLC(class TDesC16 const &)
-	?MagneticCourse@CMnrpPositionRequest@@QAEMXZ @ 41 NONAME ; float CMnrpPositionRequest::MagneticCourse(void)
-	?SetScreenSize@CMnrpMapModel@@QAEXVTSize@@@Z @ 42 NONAME ; void CMnrpMapModel::SetScreenSize(class TSize)
-	?BestCoordToAddressMatchesL@CMnrpEngine@@QAEXABVTCoordinate@@AAV?$RPointerArray@VCPosLandmark@@@@H@Z @ 43 NONAME ; void CMnrpEngine::BestCoordToAddressMatchesL(class TCoordinate const &, class RPointerArray<class CPosLandmark> &, int)
-	?AddressToCoordLC@CMnrpEngine@@QAEPAVCPosLandmark@@ABV2@@Z @ 44 NONAME ; class CPosLandmark * CMnrpEngine::AddressToCoordLC(class CPosLandmark const &)
-	?MagneticHeading@CMnrpPositionRequest@@QAEMXZ @ 45 NONAME ; float CMnrpPositionRequest::MagneticHeading(void)
-	?Top@CMnrpMapModel@@QBENXZ @ 46 NONAME ; double CMnrpMapModel::Top(void) const
-	??1CMnrpPositionRequest@@UAE@XZ @ 47 NONAME ; CMnrpPositionRequest::~CMnrpPositionRequest(void)
-	?ScreenToAbsolute@CMnrpMapModel@@QBE?AVTCoordinate@@VTPoint@@@Z @ 48 NONAME ; class TCoordinate CMnrpMapModel::ScreenToAbsolute(class TPoint) const
-	?DistanceBetweenLandmarks@CMnrpEngine@@QAEMABVCPosLandmark@@0@Z @ 49 NONAME ; float CMnrpEngine::DistanceBetweenLandmarks(class CPosLandmark const &, class CPosLandmark const &)
-	?KnownPlacesL@CMnrpEngine@@QAE?AV?$TArray@PAVCPosLandmark@@@@XZ @ 50 NONAME ; class TArray<class CPosLandmark *> CMnrpEngine::KnownPlacesL(void)
-	?UpdateModelL@CMnrpMapModel@@QAEXAAVCMnrpMapViewService@@@Z @ 51 NONAME ; void CMnrpMapModel::UpdateModelL(class CMnrpMapViewService &)
-	?NewL@CMnrpEngine@@SAPAV1@XZ @ 52 NONAME ; class CMnrpEngine * CMnrpEngine::NewL(void)
-	?RenderL@CMnrpMapModel@@QBEXAAVCFbsBitmap@@VTRect@@PAVCFont@@2@Z @ 53 NONAME ; void CMnrpMapModel::RenderL(class CFbsBitmap &, class TRect, class CFont *, class CFont *) const
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/BWINS/mnrefproviderengineu.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-EXPORTS
-	??1CMnrpEngine@@UAE@XZ @ 1 NONAME ; CMnrpEngine::~CMnrpEngine(void)
-	??1CMnrpMapModel@@UAE@XZ @ 2 NONAME ; CMnrpMapModel::~CMnrpMapModel(void)
-	??1CMnrpPositionRequest@@UAE@XZ @ 3 NONAME ; CMnrpPositionRequest::~CMnrpPositionRequest(void)
-	?AbsoluteToScreen@CMnrpMapModel@@QBE?AVTPoint@@VTCoordinate@@@Z @ 4 NONAME ; class TPoint CMnrpMapModel::AbsoluteToScreen(class TCoordinate) const
-	?AbsoluteToScreen@CMnrpMapModel@@QBEHN@Z @ 5 NONAME ; int CMnrpMapModel::AbsoluteToScreen(double) const
-	?AddressToCoordLC@CMnrpEngine@@QAEPAVCPosLandmark@@ABV2@@Z @ 6 NONAME ; class CPosLandmark * CMnrpEngine::AddressToCoordLC(class CPosLandmark const &)
-	?AddressToCoordLC@CMnrpEngine@@QAEPAVCPosLandmark@@ABVTDesC16@@@Z @ 7 NONAME ; class CPosLandmark * CMnrpEngine::AddressToCoordLC(class TDesC16 const &)
-	?AngleToString@MnrpUtils@@SAXNAAVTDes16@@@Z @ 8 NONAME ; void MnrpUtils::AngleToString(double, class TDes16 &)
-	?BestCoordToAddressMatchesL@CMnrpEngine@@QAEXABVTCoordinate@@AAV?$RPointerArray@VCPosLandmark@@@@H@Z @ 9 NONAME ; void CMnrpEngine::BestCoordToAddressMatchesL(class TCoordinate const &, class RPointerArray<class CPosLandmark> &, int)
-	?Bottom@CMnrpMapModel@@QBENXZ @ 10 NONAME ; double CMnrpMapModel::Bottom(void) const
-	?Center@CMnrpMapModel@@QBE?AVTCoordinate@@XZ @ 11 NONAME ; class TCoordinate CMnrpMapModel::Center(void) const
-	?CoordToAddressLC@CMnrpEngine@@QAEPAVCPosLandmark@@ABVTCoordinate@@@Z @ 12 NONAME ; class CPosLandmark * CMnrpEngine::CoordToAddressLC(class TCoordinate const &)
-	?CoordinateToString@MnrpUtils@@SAXNAAVTDes16@@HH@Z @ 13 NONAME ; void MnrpUtils::CoordinateToString(double, class TDes16 &, int, int)
-	?Course@CMnrpPositionRequest@@QAEMXZ @ 14 NONAME ; float CMnrpPositionRequest::Course(void)
-	?CurrentLocation@CMnrpMapModel@@QBE?AVTCurrentLocation@1@XZ @ 15 NONAME ; class CMnrpMapModel::TCurrentLocation CMnrpMapModel::CurrentLocation(void) const
-	?DistanceBetweenLandmarks@CMnrpEngine@@QAEMABVCPosLandmark@@0@Z @ 16 NONAME ; float CMnrpEngine::DistanceBetweenLandmarks(class CPosLandmark const &, class CPosLandmark const &)
-	?DistanceToString@MnrpUtils@@SAXNAAVTDes16@@@Z @ 17 NONAME ; void MnrpUtils::DistanceToString(double, class TDes16 &)
-	?FetchNewPosition@CMnrpPositionRequest@@QAEXH@Z @ 18 NONAME ; void CMnrpPositionRequest::FetchNewPosition(int)
-	?FindClosestPoisL@CMnrpEngine@@QAEXABVCPosLandmark@@AAV?$RArray@UTDistanceToPoi@CMnrpEngine@@@@H@Z @ 19 NONAME ; void CMnrpEngine::FindClosestPoisL(class CPosLandmark const &, class RArray<struct CMnrpEngine::TDistanceToPoi> &, int)
-	?FindResourceFileL@CMnrpEngine@@QAEXABVTDesC16@@AAV?$TBuf@$0BAA@@@@Z @ 20 NONAME ; void CMnrpEngine::FindResourceFileL(class TDesC16 const &, class TBuf<256> &)
-	?Fs@CMnrpEngine@@QAEAAVRFs@@XZ @ 21 NONAME ; class RFs & CMnrpEngine::Fs(void)
-	?GetGrid@CMnrpMapModel@@QBEXAAVTGrid@1@@Z @ 22 NONAME ; void CMnrpMapModel::GetGrid(class CMnrpMapModel::TGrid &) const
-	?GetPosition@CMnrpPositionRequest@@QAEXAAVTPositionInfo@@@Z @ 23 NONAME ; void CMnrpPositionRequest::GetPosition(class TPositionInfo &)
-	?GoCenter@CMnrpMapModel@@QAEXXZ @ 24 NONAME ; void CMnrpMapModel::GoCenter(void)
-	?Heading@CMnrpPositionRequest@@QAEMXZ @ 25 NONAME ; float CMnrpPositionRequest::Heading(void)
-	?Height@CMnrpMapModel@@QBENXZ @ 26 NONAME ; double CMnrpMapModel::Height(void) const
-	?KnownPlacesL@CMnrpEngine@@QAE?AV?$TArray@PAVCPosLandmark@@@@XZ @ 27 NONAME ; class TArray<class CPosLandmark *> CMnrpEngine::KnownPlacesL(void)
-	?Left@CMnrpMapModel@@QBENXZ @ 28 NONAME ; double CMnrpMapModel::Left(void) const
-	?MagneticCourse@CMnrpPositionRequest@@QAEMXZ @ 29 NONAME ; float CMnrpPositionRequest::MagneticCourse(void)
-	?MagneticHeading@CMnrpPositionRequest@@QAEMXZ @ 30 NONAME ; float CMnrpPositionRequest::MagneticHeading(void)
-	?MoveTo@CMnrpMapModel@@QAEXVTCoordinate@@@Z @ 31 NONAME ; void CMnrpMapModel::MoveTo(class TCoordinate)
-	?NewL@CMnrpEngine@@SAPAV1@XZ @ 32 NONAME ; class CMnrpEngine * CMnrpEngine::NewL(void)
-	?NewL@CMnrpMapModel@@SAPAV1@AAVCMnrpEngine@@@Z @ 33 NONAME ; class CMnrpMapModel * CMnrpMapModel::NewL(class CMnrpEngine &)
-	?NewL@CMnrpMapModel@@SAPAV1@AAVMMapModelObserver@@AAVCMnrpEngine@@@Z @ 34 NONAME ; class CMnrpMapModel * CMnrpMapModel::NewL(class MMapModelObserver &, class CMnrpEngine &)
-	?NewL@CMnrpPositionRequest@@SAPAV1@ABVTDesC16@@AAVMMnrpPositionObserver@@@Z @ 35 NONAME ; class CMnrpPositionRequest * CMnrpPositionRequest::NewL(class TDesC16 const &, class MMnrpPositionObserver &)
-	?RenderL@CMnrpMapModel@@QBEXAAVCFbsBitmap@@VTRect@@PAVCFont@@2@Z @ 36 NONAME ; void CMnrpMapModel::RenderL(class CFbsBitmap &, class TRect, class CFont *, class CFont *) const
-	?Right@CMnrpMapModel@@QBENXZ @ 37 NONAME ; double CMnrpMapModel::Right(void) const
-	?ScreenToAbsolute@CMnrpMapModel@@QBE?AVTCoordinate@@VTPoint@@@Z @ 38 NONAME ; class TCoordinate CMnrpMapModel::ScreenToAbsolute(class TPoint) const
-	?ScreenToAbsolute@CMnrpMapModel@@QBENH@Z @ 39 NONAME ; double CMnrpMapModel::ScreenToAbsolute(int) const
-	?SetOptionsL@CMnrpPositionRequest@@QAEXABVTPositionUpdateOptionsBase@@@Z @ 40 NONAME ; void CMnrpPositionRequest::SetOptionsL(class TPositionUpdateOptionsBase const &)
-	?SetScreenSize@CMnrpMapModel@@QAEXVTSize@@@Z @ 41 NONAME ; void CMnrpMapModel::SetScreenSize(class TSize)
-	?Speed@CMnrpPositionRequest@@QAEMXZ @ 42 NONAME ; float CMnrpPositionRequest::Speed(void)
-	?SpeedToString@MnrpUtils@@SAXNAAVTDes16@@@Z @ 43 NONAME ; void MnrpUtils::SpeedToString(double, class TDes16 &)
-	?Top@CMnrpMapModel@@QBENXZ @ 44 NONAME ; double CMnrpMapModel::Top(void) const
-	?UpdateModelL@CMnrpMapModel@@QAEXAAVCMnrpMapViewService@@@Z @ 45 NONAME ; void CMnrpMapModel::UpdateModelL(class CMnrpMapViewService &)
-	?Width@CMnrpMapModel@@QBENXZ @ 46 NONAME ; double CMnrpMapModel::Width(void) const
-	?Zoom@CMnrpMapModel@@QAEXN@Z @ 47 NONAME ; void CMnrpMapModel::Zoom(double)
-	?PrintableStringLC@MnrpUtils@@SAPAVHBufC16@@ABVTDesC16@@@Z @ 48 NONAME ; class HBufC16 * MnrpUtils::PrintableStringLC(class TDesC16 const &)
-	?AddressToCoord@CMnrpEngine@@QAEPAVCPosLandmark@@ABV2@@Z @ 49 NONAME ; class CPosLandmark * CMnrpEngine::AddressToCoord(class CPosLandmark const &)
-	?AddressToCoord@CMnrpEngine@@QAEPAVCPosLandmark@@ABVTDesC16@@@Z @ 50 NONAME ; class CPosLandmark * CMnrpEngine::AddressToCoord(class TDesC16 const &)
-	?NumIgnoredLandmarks@CMnrpMapModel@@QAEHXZ @ 51 NONAME ; int CMnrpMapModel::NumIgnoredLandmarks(void)
-
Binary file locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/data/default_lm.bmp has changed
Binary file locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/data/default_lm_mask_soft.bmp has changed
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/data/mnrefprovider.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,156 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Resource definition file for MnRefProvider
-*
-*/
-
-
-NAME MNTP
-
-#include <eikon.rsg>
-#include <eikon.rh>
-#include <avkon.rsg>
-#include <avkon.mbg>
-#include <avkon.rh>
-
-#include <appinfo.rh>
-#include "mnrp.hrh"
-
-RESOURCE RSS_SIGNATURE {  }
-
-RESOURCE TBUF { buf="MnRefProvider"; }
-
-RESOURCE EIK_APP_INFO
-    {
-    menubar = r_mnrefprovider_menubar;
-    cba = R_AVKON_SOFTKEYS_OPTIONS_EXIT;
-    }
-
-RESOURCE LOCALISABLE_APP_INFO r_mnrefprovider_localisable_app_info
-    {
-    short_caption = "MnRefProvider";
-    caption_and_icon =
-        CAPTION_AND_ICON_INFO
-            {
-            caption = "MnRefProvider";
-            };
-    view_list = {};
-    }
-
-RESOURCE CONTEXT_PANE r_mnrefprovider_app_icon
-    {
-    }
-
-RESOURCE MENU_BAR r_mnrefprovider_menubar
-    {
-    titles =
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_mnrefprovider_menu;
-            }
-        };
-    }
-
-RESOURCE MENU_PANE r_mnrefprovider_menu
-    {
-    items =
-        {
-        MENU_ITEM
-            {
-            command = EAknSoftkeyExit;
-            txt = "Exit";
-            }
-        };
-    }
-
-RESOURCE DIALOG r_mnrefprovider_selection_dialog
-    {
-    flags = EAknDialogSelectionList;
-    buttons = R_AVKON_SOFTKEYS_OK_CANCEL;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtSingleGraphicListBox;
-            id = ESelectionListControl;
-            control = LISTBOX
-                {
-                flags = EAknListBoxSelectionList;
-                };
-            },
-        // the next dlg line is optional.
-        DLG_LINE
-            {
-            itemflags = EEikDlgItemNonFocusing;
-            id = EFindControl;
-            type = EAknCtSelectionListFixedFind;
-            }
-        };
-    }
-
-RESOURCE AVKON_VIEW r_mnrefprovider_map_view
-    {
-    menubar = r_mnrefprovider_map_view_menubar;
-    cba = R_AVKON_SOFTKEYS_OPTIONS_EXIT;
-    }
-
-RESOURCE AVKON_VIEW r_mnrefprovider_map_view_chained
-    {
-    menubar = r_mnrefprovider_map_view_menubar;
-    cba = R_AVKON_SOFTKEYS_OPTIONS_BACK;
-    }
-
-RESOURCE MENU_BAR r_mnrefprovider_map_view_menubar
-    {
-    titles =
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_mnrefprovider_map_view_menu;
-            }
-        };
-    }
-
-RESOURCE MENU_PANE r_mnrefprovider_map_view_menu
-    {
-    items =
-        {
-        MENU_ITEM
-            {
-            command = EMnrpCommandSelect;
-            txt = "Select";
-            },
-        MENU_ITEM
-            {
-            command = EMnrpCommandFullScreen;
-            txt = "Toggle Fullscreen";
-            },
-        MENU_ITEM
-            {
-            command = EAknSoftkeyExit;
-            txt = "Exit";
-            }
-        };
-    }
-
-RESOURCE AVKON_VIEW r_mnrefprovider_navi_view
-    {
-    cba = R_AVKON_SOFTKEYS_EXIT;
-    }
-
-RESOURCE AVKON_VIEW r_mnrefprovider_navi_view_chained
-    {
-    cba = R_AVKON_SOFTKEYS_BACK;
-    }
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/data/mnrefprovider_reg.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Registration file for MnRefProvider
-*
-*/
-
-
-#include <appinfo.rh>
-
-#include "mnappserviceuids.hrh"
-#include "mnappservices.hrh"
-#include "mnserviceinfo.rh"
-
-#include <MnRefProvider.rsg>
-
-UID2 KUidAppRegistrationResourceFile
-UID3 0x03132013
-
-RESOURCE APP_REGISTRATION_INFO
-    {
-    app_file = "MnRefProvider";
-    localisable_resource_file = "\\resource\\apps\\MnRefProvider";
-    localisable_resource_id = R_MNREFPROVIDER_LOCALISABLE_APP_INFO;
-    
-    launch = KAppLaunchInForeground;
-    hidden = KAppNotHidden;
-        
-    datatype_list = {};
-    file_ownership_list = {};
-    service_list =
-        {
-        SERVICE_INFO
-            {
-            uid = KMnAppMapViewService;
-            datatype_list = {};
-            opaque_data = r_mnrefprovider_mapview_opaquedata;
-            },
-        SERVICE_INFO
-            {
-            uid = KMnAppNavigationService;
-            datatype_list = {};
-            opaque_data = r_mnrefprovider_navigation_opaquedata;
-            }
-        };
-    }
-
-RESOURCE MN_SERVICE_INFO r_mnrefprovider_mapview_opaquedata
-    {
-    service_features = KMnSvcFeatureShowMap | KMnSvcFeatureSelectFromMap;
-    }
-
-RESOURCE MN_SERVICE_INFO r_mnrefprovider_navigation_opaquedata
-    {
-    service_features = KMnSvcFeatureNavigateTo;
-    }
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/data/mnrefproviderback.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Resource definition file for MnRefProviderBack
-*
-*/
-
-
-NAME MNRG
-
-#include <eikon.rsg>
-#include <eikon.rh>
-#include <avkon.rsg>
-#include <avkon.mbg>
-#include <avkon.rh>
-
-#include <appinfo.rh>
-
-RESOURCE RSS_SIGNATURE {  }
-
-RESOURCE TBUF { buf="MnRefProviderBack"; }
-
-RESOURCE EIK_APP_INFO
-    {
-    menubar = r_mnrefgeocoder_menubar;
-    cba = R_AVKON_SOFTKEYS_OPTIONS_EXIT;
-    }
-
-RESOURCE LOCALISABLE_APP_INFO r_mnrefgeocoder_localisable_app_info
-    {
-    short_caption = "MnRefProvider";
-    caption_and_icon =
-        CAPTION_AND_ICON_INFO
-            {
-            caption = "MnRefProvider";
-            };
-    view_list = {};
-    }
-
-RESOURCE CONTEXT_PANE r_mnrefgeocoder_app_icon
-    {
-    }
-
-RESOURCE MENU_BAR r_mnrefgeocoder_menubar
-    {
-    titles =
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_mnrefgeocoder_menu;
-            }
-        };
-    }
-
-RESOURCE MENU_PANE r_mnrefgeocoder_menu
-    {
-    items =
-        {
-        MENU_ITEM
-            {
-            command = EAknSoftkeyExit;
-            txt = "Exit";
-            }
-        };
-    }
-
-RESOURCE AVKON_LIST_QUERY r_mnrefgeocoder_list_query
-    {
-    flags = EGeneralQueryFlags;
-    softkeys = R_AVKON_SOFTKEYS_OK_CANCEL;
-    items =
-        {
-        AVKON_LIST_QUERY_DLG_LINE
-            {
-            control = AVKON_LIST_QUERY_CONTROL
-                {
-                listtype = EAknCtSinglePopupMenuListBox;
-                listbox = AVKON_LIST_QUERY_LIST
-                    {
-                    };
-                heading = "Select best match";
-                };
-            }
-        };
-    }
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/data/mnrefproviderback_reg.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Registration file for MnRefProviderBack
-*
-*/
-
-
-#include <appinfo.rh>
-
-#include "mnappserviceuids.hrh"
-#include "mnappservices.hrh"
-#include "mnserviceinfo.rh"
-
-#include <mnrefproviderback.rsg>
-
-UID2 KUidAppRegistrationResourceFile
-UID3 0x03132014
-
-RESOURCE APP_REGISTRATION_INFO
-    {
-    app_file = "mnrefproviderback";
-    localisable_resource_file = "\\resource\\apps\\mnrefproviderback";
-    localisable_resource_id = R_MNREFGEOCODER_LOCALISABLE_APP_INFO;
-
-    launch = KAppLaunchInBackground;
-    hidden = KAppIsHidden;
-
-    datatype_list = {};
-    file_ownership_list = {};
-    service_list =
-        {
-        SERVICE_INFO
-            {
-            uid = KMnAppGeocodingService;
-            datatype_list = {};
-            opaque_data = r_mnrefgeocoder_geocoding_opaquedata;
-            }
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-        ,
-        SERVICE_INFO
-            {
-            uid = KMnAppMapImageService;
-            datatype_list = {};
-            opaque_data = r_mnrefprovider_mapimage_opaquedata;
-            }
-#endif
-        };
-    }
-
-RESOURCE MN_SERVICE_INFO r_mnrefgeocoder_geocoding_opaquedata
-    {
-    service_features =
-        KMnSvcFeatureCoordToAddr |
-        KMnSvcFeatureAddrToCoord |
-        KMnSvcFeaturePlainAddrToCoord;
-    }
-
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-RESOURCE MN_SERVICE_INFO r_mnrefprovider_mapimage_opaquedata
-    {
-    service_features = KMnSvcFeatureVectorMap;
-    }
-#endif
-	 
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/data/mnrefproviderengine.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,205 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Resource definition file for MnRefProviderEngine
-*
-*/
-
-
-NAME MNRE
-
-#include <eikon.rsg>
-#include <eikon.rh>
-#include <avkon.rsg>
-#include <avkon.mbg>
-#include <avkon.rh>
-
-#include <appinfo.rh>
-
-RESOURCE RSS_SIGNATURE {  }
-
-RESOURCE TBUF { buf=""; }
-
-STRUCT PLACE
-    {
-    LTEXT city;
-    LTEXT country;
-    DOUBLE lat;
-    DOUBLE lon;
-    }
-
-STRUCT PLACES
-    {
-    STRUCT places[];
-    }
-
-RESOURCE PLACES r_mnrefproviderengine_places
-    {
-    places =
-        {
-        PLACE { city="Tampere"; country="Finland"; lat=61.50; lon=23.83; }, 
-        PLACE { city="Turku"; country="Finland"; lat=60.45; lon=22.28; }, 
-        PLACE { city="Oulu"; country="Finland"; lat=65.02; lon=28.47; }, 
-        PLACE { city="Saint-Petersburg"; country="Russia"; lat=59.92; lon=30.42; }, 
-        PLACE { city="Göteborg"; country="Sweden"; lat=57.72; lon=11.97; }, 
-        PLACE { city="Kabul"; country="Afghanistan"; lat=35.10; lon=68.55; },
-        PLACE { city="Tirana"; country="Albania"; lat=41.74; lon=19.38; },
-        PLACE { city="Algiers"; country="Algeria"; lat=37.55; lon=2.29; },
-        PLACE { city="Luanda"; country="Angola"; lat=-8.35; lon=12.76; },
-        PLACE { city="Yerevan"; country="Armenia"; lat=40.47; lon=44.21; },
-        PLACE { city="Oranjestad"; country="Aruba"; lat=13.12; lon=-70.76; },
-        PLACE { city="Canberra"; country="Australia"; lat=-35.15; lon=149.04; },
-        PLACE { city="Vienna"; country="Austria"; lat=48.75; lon=15.82; },
-        PLACE { city="Baku"; country="Azerbaijan"; lat=40.79; lon=49.50; },
-        PLACE { city="Nassau"; country="Bahamas"; lat=25.74; lon=-77.99; },
-        PLACE { city="Dhaka"; country="Bangladesh"; lat=24.10; lon=90.05; },
-        PLACE { city="Bridgetown"; country="Barbados"; lat=13.68; lon=-60.20; },
-        PLACE { city="Minsk"; country="Belarus"; lat=54.08; lon=27.43; },
-        PLACE { city="Brussels"; country="Belgium"; lat=51.64; lon=3.56; },
-        PLACE { city="Belmopan"; country="Belize"; lat=17.32; lon=-88.52; },
-        PLACE { city="Hamilton"; country="Bermuda"; lat=-37.75; lon=175.28; },
-        PLACE { city="Thimphu"; country="Bhutan"; lat=28.07; lon=89.05; },
-        PLACE { city="Gaborone"; country="Botswana"; lat=-24.36; lon=25.56; },
-        PLACE { city="Brasilia"; country="Brazil"; lat=-15.48; lon=-48.22; },
-        PLACE { city="Sofia"; country="Bulgaria"; lat=43.08; lon=23.00; },
-        PLACE { city="Bujumbura"; country="Burundi"; lat=-3.19; lon=29.17; },
-        PLACE { city="Yaounde"; country="Cameroon"; lat=4.52; lon=10.90; },
-        PLACE { city="Ottawa"; country="Canada"; lat=46.28; lon=-76.53; },
-        PLACE { city="Santiago"; country="Chile"; lat=-33.07; lon=-70.99; },
-        PLACE { city="Beijing"; country="China"; lat=40.13; lon=116.12; },
-        PLACE { city="Bogota"; country="Colombia"; lat=4.78; lon=-74.21; },
-        PLACE { city="Moroni"; country="Comoros"; lat=-11.10; lon=42.69; },
-        PLACE { city="Brazzaville"; country="Congo"; lat=-3.48; lon=14.50; },
-        PLACE { city="Zagreb"; country="Croatia"; lat=45.95; lon=15.88; },
-        PLACE { city="Havana"; country="Cuba"; lat=23.82; lon=-83.05; },
-        PLACE { city="Nicosia"; country="Cyprus"; lat=35.79; lon=32.73; },
-        PLACE { city="Copenhagen"; country="Denmark"; lat=56.32; lon=11.93; },
-        PLACE { city="Djibouti"; country="Djibouti"; lat=12.24; lon=42.35; },
-        PLACE { city="Roseau"; country="Dominica"; lat=15.85; lon=-61.91; },
-        PLACE { city="Quito"; country="Ecuador"; lat=-0.20; lon=-78.55; },
-        PLACE { city="Cairo"; country="Egypt"; lat=30.38; lon=30.87; },
-        PLACE { city="Asmara"; country="Eritrea"; lat=15.40; lon=38.83; },
-        PLACE { city="Tallinn"; country="Estonia"; lat=60.28; lon=23.90; },
-        PLACE { city="Suva"; country="Fiji"; lat=-18.07; lon=178.47; },
-        PLACE { city="Helsinki"; country="Finland"; lat=60.32; lon=24.98; },
-        PLACE { city="Paris"; country="France"; lat=49.86; lon=1.34; },
-        PLACE { city="Libreville"; country="Gabon"; lat=1.11; lon=8.74; },
-        PLACE { city="Banjul"; country="Gambia"; lat=14.07; lon=-17.27; },
-        PLACE { city="Tbilisi"; country="Georgia"; lat=42.63; lon=43.90; },
-        PLACE { city="Berlin"; country="Germany"; lat=52.67; lon=13.23; },
-        PLACE { city="Accra"; country="Ghana"; lat=6.16; lon=-0.79; },
-        PLACE { city="Gibraltar"; country="Gibraltar"; lat=36.14; lon=-5.39; },
-        PLACE { city="Athens"; country="Greece"; lat=38.94; lon=22.74; },
-        PLACE { city="Godthabsfjord"; country="Greenland"; lat=64.47; lon=-52.05; },
-        PLACE { city="Agana"; country="Guam"; lat=14.05; lon=144.17; },
-        PLACE { city="Guatemala"; country="Guatemala"; lat=14.69; lon=-90.39; },
-        PLACE { city="Conakry"; country="Guinea"; lat=9.87; lon=-14.20; },
-        PLACE { city="Georgetown"; country="Guyana"; lat=6.90; lon=-58.26; },
-        PLACE { city="Tegucigalpa"; country="Honduras"; lat=14.40; lon=-87.55; },
-        PLACE { city="Budapest"; country="Hungary"; lat=47.53; lon=19.04; },
-        PLACE { city="Reykjavik"; country="Iceland"; lat=64.58; lon=-22.36; },
-        PLACE { city="Delhi"; country="India"; lat=29.56; lon=76.29; },
-        PLACE { city="Jakarta"; country="Indonesia"; lat=-5.99; lon=106.66; },
-        PLACE { city="Tehran"; country="Iran"; lat=35.91; lon=51.24; },
-        PLACE { city="Baghdad"; country="Iraq"; lat=33.40; lon=44.35; },
-        PLACE { city="Jerusalem"; country="Israel"; lat=31.98; lon=34.97; },
-        PLACE { city="Rome"; country="Italy"; lat=42.78; lon=11.60; },
-        PLACE { city="Kingston"; country="Jamaica"; lat=29.30; lon=167.80; },
-        PLACE { city="Tokyo"; country="Japan"; lat=36.39; lon=139.04; },
-        PLACE { city="Amman"; country="Jordan"; lat=32.28; lon=35.54; },
-        PLACE { city="Almaty"; country="Kazakhstan"; lat=43.45; lon=76.75; },
-        PLACE { city="Nairobi"; country="Kenya"; lat=-0.91; lon=36.43; },
-        PLACE { city="Bairiki"; country="Kiribati"; lat=1.87; lon=172.55; },
-        PLACE { city="Bishkek"; country="Kyrgyzstan"; lat=43.45; lon=74.02; },
-        PLACE { city="Vientiane"; country="Laos"; lat=18.51; lon=102.05; },
-        PLACE { city="Riga"; country="Latvia"; lat=57.18; lon=23.92; },
-        PLACE { city="Beirut"; country="Lebanon"; lat=34.19; lon=35.21; },
-        PLACE { city="Maseru"; country="Lesotho"; lat=-28.58; lon=26.78; },
-        PLACE { city="Monrovia"; country="Liberia"; lat=7.24; lon=-11.72; },
-        PLACE { city="Tripoli"; country="Libya"; lat=33.21; lon=12.87; },
-        PLACE { city="Vaduz"; country="Liechtenstein"; lat=48.11; lon=8.54; },
-        PLACE { city="Vilnius"; country="Lithuania"; lat=54.97; lon=25.00; },
-        PLACE { city="Luxembourg"; country="Luxembourg"; lat=50.55; lon=5.22; },
-        PLACE { city="Macau"; country="Macau"; lat=22.49; lon=113.33; },
-        PLACE { city="Antananarivo"; country="Madagascar"; lat=-18.61; lon=47.21; },
-        PLACE { city="Lilongwe"; country="Malawi"; lat=-13.42; lon=33.22; },
-        PLACE { city="Male"; country="Maldives"; lat=4.90; lon=72.77; },
-        PLACE { city="Bamako"; country="Mali"; lat=13.47; lon=-8.82; },
-        PLACE { city="Valletta"; country="Malta"; lat=36.43; lon=13.97; },
-        PLACE { city="Nouakchott"; country="Mauritania"; lat=18.32; lon=-16.14; },
-        PLACE { city="Dzaoudzi"; country="Mayotte"; lat=-12.34; lon=44.84; },
-        PLACE { city="Palikir"; country="Micronesia"; lat=7.51; lon=157.56; },
-        PLACE { city="Chisinau"; country="Moldova"; lat=47.92; lon=27.95; },
-        PLACE { city="Monaco"; country="Monaco"; lat=44.41; lon=6.67; },
-        PLACE { city="Plymouth"; country="Montserrat"; lat=50.65; lon=-4.42; },
-        PLACE { city="Rabat"; country="Morocco"; lat=34.81; lon=-7.57; },
-        PLACE { city="Maputo"; country="Mozambique"; lat=-25.66; lon=32.23; },
-        PLACE { city="Yangon"; country="Myanmar"; lat=16.84; lon=96.08; },
-        PLACE { city="Windhoek"; country="Namibia"; lat=-21.94; lon=16.42; },
-        PLACE { city="Domaneab"; country="Nauru"; lat=0.31; lon=166.07; },
-        PLACE { city="Kathmandu"; country="Nepal"; lat=28.43; lon=84.66; },
-        PLACE { city="Amsterdam"; country="Netherlands"; lat=53.17; lon=4.01; },
-        PLACE { city="Managua"; country="Nicaragua"; lat=12.61; lon=-86.84; },
-        PLACE { city="Niamey"; country="Niger"; lat=13.73; lon=1.89; },
-        PLACE { city="Lagos"; country="Nigeria"; lat=38.00; lon=-9.60; },
-        PLACE { city="Alofi"; country="Niue"; lat=-18.95; lon=-170.02; },
-        PLACE { city="Oslo"; country="Norway"; lat=60.46; lon=10.20; },
-        PLACE { city="Muscat"; country="Oman"; lat=24.48; lon=57.74; },
-        PLACE { city="Islamabad"; country="Pakistan"; lat=34.43; lon=72.40; },
-        PLACE { city="Koror"; country="Palau"; lat=7.77; lon=134.06; },
-        PLACE { city="Panama"; country="Panama"; lat=9.97; lon=-80.52; },
-        PLACE { city="Asuncion"; country="Paraguay"; lat=-25.26; lon=-57.67; },
-        PLACE { city="Lima"; country="Peru"; lat=-11.31; lon=-77.79; },
-        PLACE { city="Manila"; country="Philippines"; lat=14.80; lon=120.75; },
-        PLACE { city="Adamstown"; country="Pitcairn"; lat=-24.53; lon=-130.62; },
-        PLACE { city="Warsaw"; country="Poland"; lat=52.94; lon=20.28; },
-        PLACE { city="Lisbon"; country="Portugal"; lat=38.72; lon=-9.20; },
-        PLACE { city="Doha"; country="Qatar"; lat=25.95; lon=50.93; },
-        PLACE { city="Bucharest"; country="Romania"; lat=45.34; lon=25.21; },
-        PLACE { city="Moscow"; country="Russia"; lat=55.88; lon=37.50; },
-        PLACE { city="Kigali"; country="Rwanda"; lat=-1.70; lon=29.78; },
-        PLACE { city="Dakar"; country="Senegal"; lat=15.06; lon=-17.87; },
-        PLACE { city="Victoria"; country="Seychelles"; lat=-3.71; lon=54.53; },
-        PLACE { city="Singapore"; country="Singapore"; lat=1.28; lon=103.85; },
-        PLACE { city="Ljubljana"; country="Slovenia"; lat=46.83; lon=13.79; },
-        PLACE { city="Mogadishu"; country="Somalia"; lat=2.60; lon=44.85; },
-        PLACE { city="Madrid"; country="Spain"; lat=41.49; lon=-4.74; },
-        PLACE { city="Khartoum"; country="Sudan"; lat=15.56; lon=32.54; },
-        PLACE { city="Paramaribo"; country="Surinam"; lat=5.85; lon=-55.18; },
-        PLACE { city="Mbabane"; country="Swaziland"; lat=-25.92; lon=30.72; },
-        PLACE { city="Stockholm"; country="Sweden"; lat=59.67; lon=17.71; },
-        PLACE { city="Berne"; country="Switzerland"; lat=47.49; lon=6.92; },
-        PLACE { city="Damascus"; country="Syria"; lat=33.89; lon=35.91; },
-        PLACE { city="Taipei"; country="Taiwan"; lat=25.93; lon=120.62; },
-        PLACE { city="Dushanbe"; country="Tajikistan"; lat=39.48; lon=67.88; },
-        PLACE { city="Dodoma"; country="Tanzania"; lat=-5.16; lon=34.78; },
-        PLACE { city="Bangkok"; country="Thailand"; lat=14.36; lon=99.90; },
-        PLACE { city="Lhasa"; country="Tibet"; lat=30.60; lon=90.17; },
-        PLACE { city="Lome"; country="Togo"; lat=6.63; lon=0.73; },
-        PLACE { city="Tunis"; country="Tunisia"; lat=36.85; lon=10.17; },
-        PLACE { city="Ankara"; country="Turkey"; lat=40.34; lon=32.56; },
-        PLACE { city="Ashkhabad"; country="Turkmenistan"; lat=38.22; lon=58.11; },
-        PLACE { city="Funafuti"; country="Tuvalu"; lat=-8.30; lon=178.96; },
-        PLACE { city="Kampala"; country="Uganda"; lat=1.20; lon=31.64; },
-        PLACE { city="Kiev"; country="Ukraine"; lat=50.92; lon=30.06; },
-        PLACE { city="Montevideo"; country="Uruguay"; lat=-34.21; lon=-56.81; },
-        PLACE { city="Tashkent"; country="Uzbekistan"; lat=41.40; lon=69.24; },
-        PLACE { city="Caracas"; country="Venezuela"; lat=11.16; lon=-67.58; },
-        PLACE { city="Hanoi"; country="Vietnam"; lat=21.33; lon=105.67; },
-        PLACE { city="Sanaa"; country="Yemen"; lat=16.39; lon=43.26; },
-        PLACE { city="Belgrade"; country="Yugoslavia"; lat=45.56; lon=19.77; },
-        PLACE { city="Lusaka"; country="Zambia"; lat=-15.00; lon=27.80; },
-        PLACE { city="Harare"; country="Zimbabwe"; lat=-17.30; lon=30.61; }
-		};
-	}
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/data/mnrefproviderplugin.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Defines the ECom registration resource for TestProviderPlugin.
-*
-*/
-
-
-//  RESOURCE IDENTIFIER
-NAME MNTP
-
-#include <ecom/registryinfov2.rh>
-#include <mnpluginuids.hrh> // defines interface UID
-
-RESOURCE REGISTRY_INFO r_mycoordconverterplugin_reginfo
-	{
-	resource_format_version = RESOURCE_FORMAT_VERSION_2;
-	// DLL UID of the DLL
-	dll_uid = 0x03133037;
-	interfaces =
-	    {
-	    INTERFACE_INFO
-	        {
-	        // UID of coordinate converter interface,
-	        // defined in mnpluginuids.hrh
-	        interface_uid = KMnMapImageConverterIf;
-	        implementations =
-	            {
-	            IMPLEMENTATION_INFO
-	                {
-	                // The licensee needs to allocate this UID from Symbian
-	                implementation_uid = 0x03133038;
-	                version_no = 1;
-	                display_name = "MnRefProviderCoordConverter";
-	                // SID of provider application executable
-	                default_data = "03132014";
-	                }
-	            };
-	        }
-	    };
-	}
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/eabi/mnrefproviderengine.50u.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-EXPORTS
-	_ZN11CMnrpEngine12KnownPlacesLEv @ 1 NONAME
-	_ZN11CMnrpEngine15AddressToCoordLERK12CPosLandmark @ 2 NONAME
-	_ZN11CMnrpEngine15AddressToCoordLERK7TDesC16 @ 3 NONAME
-	_ZN11CMnrpEngine16AddressToCoordLCERK12CPosLandmark @ 4 NONAME
-	_ZN11CMnrpEngine16AddressToCoordLCERK7TDesC16 @ 5 NONAME
-	_ZN11CMnrpEngine16CoordToAddressLCERK11TCoordinate @ 6 NONAME
-	_ZN11CMnrpEngine16FindClosestPoisLERK12CPosLandmarkR6RArrayINS_14TDistanceToPoiEEi @ 7 NONAME
-	_ZN11CMnrpEngine17FindResourceFileLERK7TDesC16R4TBufILi256EE @ 8 NONAME
-	_ZN11CMnrpEngine24DistanceBetweenLandmarksERK12CPosLandmarkS2_ @ 9 NONAME
-	_ZN11CMnrpEngine26BestCoordToAddressMatchesLERK11TCoordinateR13RPointerArrayI12CPosLandmarkEi @ 10 NONAME
-	_ZN11CMnrpEngine2FsEv @ 11 NONAME
-	_ZN11CMnrpEngine4NewLEv @ 12 NONAME
-	_ZN11CMnrpEngineD0Ev @ 13 NONAME
-	_ZN11CMnrpEngineD1Ev @ 14 NONAME
-	_ZN11CMnrpEngineD2Ev @ 15 NONAME
-	_ZN13CMnrpMapModel11UpdateModelERK17TMnMapImageParams @ 16 NONAME
-	_ZN13CMnrpMapModel12UpdateModelLER19CMnrpMapViewService @ 17 NONAME
-	_ZN13CMnrpMapModel12UpdateModelLERK20CMnrpMapImageService @ 18 NONAME
-	_ZN13CMnrpMapModel13SetScreenSizeE5TSize @ 19 NONAME
-	_ZN13CMnrpMapModel19NumIgnoredLandmarksEv @ 20 NONAME
-	_ZN13CMnrpMapModel4NewLER11CMnrpEngine @ 21 NONAME
-	_ZN13CMnrpMapModel4NewLER17MMapModelObserverR11CMnrpEngine @ 22 NONAME
-	_ZN13CMnrpMapModel4ZoomEd @ 23 NONAME
-	_ZN13CMnrpMapModel6MoveToE11TCoordinate @ 24 NONAME
-	_ZN13CMnrpMapModel8GoCenterEv @ 25 NONAME
-	_ZN20CMnrpPositionRequest11GetPositionER13TPositionInfo @ 26 NONAME
-	_ZN20CMnrpPositionRequest11SetOptionsLERK26TPositionUpdateOptionsBase @ 27 NONAME
-	_ZN20CMnrpPositionRequest14MagneticCourseEv @ 28 NONAME
-	_ZN20CMnrpPositionRequest15MagneticHeadingEv @ 29 NONAME
-	_ZN20CMnrpPositionRequest16FetchNewPositionEi @ 30 NONAME
-	_ZN20CMnrpPositionRequest4NewLERK7TDesC16R21MMnrpPositionObserver @ 31 NONAME
-	_ZN20CMnrpPositionRequest5SpeedEv @ 32 NONAME
-	_ZN20CMnrpPositionRequest6CourseEv @ 33 NONAME
-	_ZN20CMnrpPositionRequest7HeadingEv @ 34 NONAME
-	_ZN20CMnrpPositionRequestD0Ev @ 35 NONAME
-	_ZN20CMnrpPositionRequestD1Ev @ 36 NONAME
-	_ZN20CMnrpPositionRequestD2Ev @ 37 NONAME
-	_ZN9MnrpUtils13AngleToStringEdR6TDes16 @ 38 NONAME
-	_ZN9MnrpUtils13SpeedToStringEdR6TDes16 @ 39 NONAME
-	_ZN9MnrpUtils16DistanceToStringEdR6TDes16 @ 40 NONAME
-	_ZN9MnrpUtils17PrintableStringLCERK7TDesC16 @ 41 NONAME
-	_ZN9MnrpUtils18CoordinateToStringEdR6TDes16ii @ 42 NONAME
-	_ZNK13CMnrpMapModel16AbsoluteToScreenE11TCoordinate @ 43 NONAME
-	_ZNK13CMnrpMapModel16ScreenToAbsoluteE6TPoint @ 44 NONAME
-	_ZNK13CMnrpMapModel16ScreenToAbsoluteEi @ 45 NONAME
-	_ZNK13CMnrpMapModel3TopEv @ 46 NONAME
-	_ZNK13CMnrpMapModel4LeftEv @ 47 NONAME
-	_ZNK13CMnrpMapModel5RightEv @ 48 NONAME
-	_ZNK13CMnrpMapModel5WidthEv @ 49 NONAME
-	_ZNK13CMnrpMapModel6BottomEv @ 50 NONAME
-	_ZNK13CMnrpMapModel6CenterEv @ 51 NONAME
-	_ZNK13CMnrpMapModel6HeightEv @ 52 NONAME
-	_ZNK13CMnrpMapModel7GetGridERNS_5TGridE @ 53 NONAME
-	_ZNK13CMnrpMapModel7RenderLER10CFbsBitmap5TRectP5CFontS4_ @ 54 NONAME
-	_ZTI11CMnrpEngine @ 55 NONAME ; #<TI>#
-	_ZTI13CMnrpMapModel @ 56 NONAME ; #<TI>#
-	_ZTI20CMnrpPositionRequest @ 57 NONAME ; #<TI>#
-	_ZTIN13CMnrpMapModel9CDrawItemE @ 58 NONAME ; #<TI>#
-	_ZTV11CMnrpEngine @ 59 NONAME ; #<VT>#
-	_ZTV13CMnrpMapModel @ 60 NONAME ; #<VT>#
-	_ZTV20CMnrpPositionRequest @ 61 NONAME ; #<VT>#
-	_ZTVN13CMnrpMapModel9CDrawItemE @ 62 NONAME ; #<VT>#
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/eabi/mnrefproviderengineu.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-EXPORTS
-	_ZN11CMnrpEngine12KnownPlacesLEv @ 1 NONAME
-	_ZN11CMnrpEngine16AddressToCoordLCERK12CPosLandmark @ 2 NONAME
-	_ZN11CMnrpEngine16AddressToCoordLCERK7TDesC16 @ 3 NONAME
-	_ZN11CMnrpEngine16CoordToAddressLCERK11TCoordinate @ 4 NONAME
-	_ZN11CMnrpEngine16FindClosestPoisLERK12CPosLandmarkR6RArrayINS_14TDistanceToPoiEEi @ 5 NONAME
-	_ZN11CMnrpEngine17FindResourceFileLERK7TDesC16R4TBufILi256EE @ 6 NONAME
-	_ZN11CMnrpEngine24DistanceBetweenLandmarksERK12CPosLandmarkS2_ @ 7 NONAME
-	_ZN11CMnrpEngine26BestCoordToAddressMatchesLERK11TCoordinateR13RPointerArrayI12CPosLandmarkEi @ 8 NONAME
-	_ZN11CMnrpEngine2FsEv @ 9 NONAME
-	_ZN11CMnrpEngine4NewLEv @ 10 NONAME
-	_ZN11CMnrpEngineD0Ev @ 11 NONAME
-	_ZN11CMnrpEngineD1Ev @ 12 NONAME
-	_ZN11CMnrpEngineD2Ev @ 13 NONAME
-	_ZN13CMnrpMapModel12UpdateModelLER19CMnrpMapViewService @ 14 NONAME
-	_ZN13CMnrpMapModel13SetScreenSizeE5TSize @ 15 NONAME
-	_ZN13CMnrpMapModel4NewLER11CMnrpEngine @ 16 NONAME
-	_ZN13CMnrpMapModel4NewLER17MMapModelObserverR11CMnrpEngine @ 17 NONAME
-	_ZN13CMnrpMapModel4ZoomEd @ 18 NONAME
-	_ZN13CMnrpMapModel6MoveToE11TCoordinate @ 19 NONAME
-	_ZN13CMnrpMapModel8GoCenterEv @ 20 NONAME
-	_ZN20CMnrpPositionRequest11GetPositionER13TPositionInfo @ 21 NONAME
-	_ZN20CMnrpPositionRequest11SetOptionsLERK26TPositionUpdateOptionsBase @ 22 NONAME
-	_ZN20CMnrpPositionRequest14MagneticCourseEv @ 23 NONAME
-	_ZN20CMnrpPositionRequest15MagneticHeadingEv @ 24 NONAME
-	_ZN20CMnrpPositionRequest16FetchNewPositionEi @ 25 NONAME
-	_ZN20CMnrpPositionRequest4NewLERK7TDesC16R21MMnrpPositionObserver @ 26 NONAME
-	_ZN20CMnrpPositionRequest5SpeedEv @ 27 NONAME
-	_ZN20CMnrpPositionRequest6CourseEv @ 28 NONAME
-	_ZN20CMnrpPositionRequest7HeadingEv @ 29 NONAME
-	_ZN20CMnrpPositionRequestD0Ev @ 30 NONAME
-	_ZN20CMnrpPositionRequestD1Ev @ 31 NONAME
-	_ZN20CMnrpPositionRequestD2Ev @ 32 NONAME
-	_ZN9MnrpUtils13AngleToStringEdR6TDes16 @ 33 NONAME
-	_ZN9MnrpUtils13SpeedToStringEdR6TDes16 @ 34 NONAME
-	_ZN9MnrpUtils16DistanceToStringEdR6TDes16 @ 35 NONAME
-	_ZN9MnrpUtils18CoordinateToStringEdR6TDes16ii @ 36 NONAME
-	_ZNK13CMnrpMapModel16AbsoluteToScreenE11TCoordinate @ 37 NONAME
-	_ZNK13CMnrpMapModel16ScreenToAbsoluteE6TPoint @ 38 NONAME
-	_ZNK13CMnrpMapModel16ScreenToAbsoluteEi @ 39 NONAME
-	_ZNK13CMnrpMapModel3TopEv @ 40 NONAME
-	_ZNK13CMnrpMapModel4LeftEv @ 41 NONAME
-	_ZNK13CMnrpMapModel5RightEv @ 42 NONAME
-	_ZNK13CMnrpMapModel5WidthEv @ 43 NONAME
-	_ZNK13CMnrpMapModel6BottomEv @ 44 NONAME
-	_ZNK13CMnrpMapModel6CenterEv @ 45 NONAME
-	_ZNK13CMnrpMapModel6HeightEv @ 46 NONAME
-	_ZNK13CMnrpMapModel7GetGridERNS_5TGridE @ 47 NONAME
-	_ZNK13CMnrpMapModel7RenderLER10CFbsBitmap5TRectP5CFontS4_ @ 48 NONAME
-	_ZTI11CMnrpEngine @ 49 NONAME ; #<TI>#
-	_ZTI13CMnrpMapModel @ 50 NONAME ; #<TI>#
-	_ZTI20CMnrpPositionRequest @ 51 NONAME ; #<TI>#
-	_ZTIN13CMnrpMapModel9CDrawItemE @ 52 NONAME ; #<TI>#
-	_ZTV11CMnrpEngine @ 53 NONAME ; #<VT>#
-	_ZTV13CMnrpMapModel @ 54 NONAME ; #<VT>#
-	_ZTV20CMnrpPositionRequest @ 55 NONAME ; #<VT>#
-	_ZTVN13CMnrpMapModel9CDrawItemE @ 56 NONAME ; #<VT>#
-	_ZN9MnrpUtils17PrintableStringLCERK7TDesC16 @ 57 NONAME
-	_ZN11CMnrpEngine14AddressToCoordERK12CPosLandmark @ 58 NONAME
-	_ZN11CMnrpEngine14AddressToCoordERK7TDesC16 @ 59 NONAME
-	_ZN13CMnrpMapModel19NumIgnoredLandmarksEv @ 60 NONAME
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Build information file for project MapNavRefProviderApp
-*
-*/
-
-
-#include <bldvariant.hrh>
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXTENSIONS
-START EXTENSION s60/mifconv
-OPTION TARGETFILE MnRefProvider.mif  // this will also generate .mbm;
-OPTION HEADERFILE MnRefProvider.mbg
-OPTION SOURCES -c8,8 default_lm.bmp
-OPTION SOURCEDIR ../data
-END
-PRJ_MMPFILES
-PRJ_TESTMMPFILES
-mnprovdiscrefengine.mmp
-mnprovdiscrefprovider.mmp
-mnprovdiscrefproviderback.mmp
-
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-mnprovdiscrefproviderplugin.mmp
-#endif
\ No newline at end of file
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/group/mnprovdiscrefengine.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Project definition file for MnRefProviderEngine
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET              mnrefproviderengine.dll
-TARGETTYPE          dll
-UID                 0x1000008D 0x03132015
-
-VENDORID            VID_DEFAULT
-CAPABILITY          ReadUserData WriteUserData Location
-
-SOURCEPATH          ../src
-
-SOURCE              mnrpengine.cpp
-SOURCE              mnrpmapmodel.cpp
-SOURCE              mnrppositionrequest.cpp
-SOURCE              mnrputils.cpp
-
-USERINCLUDE         ../inc
-MW_LAYER_SYSTEMINCLUDE
-
-LIBRARY             euser.lib efsrv.lib estor.lib bafl.lib
-LIBRARY             eikcore.lib
-LIBRARY             aknicon.lib egul.lib gdi.lib bitgdi.lib
-
-LIBRARY             eposlandmarks.lib
-LIBRARY             lbs.lib
-LIBRARY             mnclientlib.lib mnservicelib.lib
-
-DEBUGLIBRARY        flogger.lib
-
-START RESOURCE      ../data/mnrefproviderengine.rss
-HEADER
-TARGETPATH          /resource
-END
-
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-#ifdef WINS
-DEFFILE         ../bwins/mnrefproviderengine.50.def
-#else
-DEFFILE         ../eabi/mnrefproviderengine.50.def
-#endif
-#endif
-
-SMPSAFE
-
-// END OF FILE
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/group/mnprovdiscrefprovider.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Project definition file for MnRefProvider
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET              mnrefprovider.exe
-TARGETTYPE          exe
-EPOCSTACKSIZE       0x5000
-UID                 0x100039CE 0x03132013
-
-VENDORID            VID_DEFAULT
-CAPABILITY          ReadUserData WriteUserData Location
-
-SOURCEPATH          ../src
-
-SOURCE              mnrefprovider.cpp
-SOURCE              mnrpapplication.cpp
-SOURCE              mnrpappui.cpp
-SOURCE              mnrpdocument.cpp
-SOURCE              mnrpappserver.cpp
-
-SOURCE              mnrpappview.cpp
-SOURCE              mnrpappcontrol.cpp
-
-SOURCE              mnrpmapview.cpp
-SOURCE              mnrpmapcontrol.cpp
-
-SOURCE              mnrpnaviview.cpp
-SOURCE              mnrpnavimodel.cpp
-SOURCE              mnrpnavicontrol.cpp
-
-SOURCE              mnrpnavigationservice.cpp
-SOURCE              mnrpmapviewservice.cpp
-
-USERINCLUDE         ../inc
-
-MW_LAYER_SYSTEMINCLUDE
-
-LIBRARY             euser.lib efsrv.lib estor.lib apparc.lib bafl.lib
-LIBRARY             cone.lib eikcore.lib eikcoctl.lib eikctl.lib eikdlg.lib
-
-LIBRARY             avkon.lib aknskins.lib aknicon.lib
-LIBRARY             egul.lib gdi.lib ws32.lib fbscli.lib
-LIBRARY             imageconversion.lib
-
-LIBRARY             eposlandmarks.lib eposlmsearchlib.lib
-LIBRARY             lbs.lib
-LIBRARY             mnservicelib.lib
-
-LIBRARY             mnrefproviderengine.lib
-
-DEBUGLIBRARY        flogger.lib
-
-START RESOURCE      ../data/MnRefProvider.rss
-HEADER
-TARGETPATH          /resource/apps
-END
-
-START RESOURCE      ../data/MnRefProvider_reg.rss
-DEPENDS mnrefprovider.rsg
-TARGETPATH          /private/10003a3f/apps
-END
-
-SMPSAFE
-
-// END OF FILE
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/group/mnprovdiscrefproviderback.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Project definition file for MnRefGeocoder
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET              mnrefproviderback.exe
-TARGETTYPE          exe
-EPOCSTACKSIZE       0x5000
-UID                 0x100039CE 0x03132014
-
-VENDORID            VID_DEFAULT
-CAPABILITY          ReadUserData WriteUserData Location
-
-SOURCEPATH          ../src
-
-SOURCE              mnrefproviderback.cpp
-SOURCE              mnrpapplicationback.cpp
-SOURCE              mnrpappuiback.cpp
-SOURCE              mnrpdocumentback.cpp
-SOURCE              mnrpappserverback.cpp
-
-SOURCE              mnrpgeocodingservice.cpp
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-SOURCE              mnrpmapimageservice.cpp
-#endif
-
-USERINCLUDE         ../inc
-MW_LAYER_SYSTEMINCLUDE
-
-LIBRARY             euser.lib efsrv.lib estor.lib bafl.lib
-LIBRARY             cone.lib apparc.lib eikcore.lib eikcoctl.lib
-LIBRARY             ws32.lib gdi.lib
-
-LIBRARY             avkon.lib aknskins.lib
-
-LIBRARY             eposlandmarks.lib
-LIBRARY             lbs.lib
-LIBRARY             mnservicelib.lib
-
-LIBRARY             mnrefproviderengine.lib
-
-DEBUGLIBRARY        flogger.lib
-
-START RESOURCE      ../data/mnrefproviderback.rss
-HEADER
-TARGETPATH          /resource/apps
-END
-
-START RESOURCE      ../data/mnrefproviderback_reg.rss
-DEPENDS mnrefproviderback.rsg
-TARGETPATH          /private/10003a3f/apps
-END
-
-SMPSAFE
-
-// END OF FILE
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/group/mnprovdiscrefproviderplugin.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Project definition file for MnRefProviderPlugin
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET              MnRefProviderPlugin.dll
-TARGETTYPE          PLUGIN
-UID                 0x10009D8D 0x03133037
-
-VENDORID            VID_DEFAULT
-CAPABILITY          ReadUserData WriteUserData Location
-
-SOURCEPATH          ../src
-
-SOURCE              mnrefproviderplugin.cpp
-SOURCE				mnrpcoordconverter.cpp
-
-USERINCLUDE         ../inc
-MW_LAYER_SYSTEMINCLUDE
-
-LIBRARY             euser.lib
-LIBRARY             lbs.lib
-LIBRARY             mnclientlib.lib
-LIBRARY             mnrefproviderengine.lib
-DEBUGLIBRARY        flogger.lib
-
-START RESOURCE      ../data/mnrefproviderplugin.rss
-TARGET			    mnrefproviderplugin.rsc
-TARGETPATH          /resource/plugins
-END
-
-SMPSAFE
-
-// END OF FILE
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/debug.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Debug macros
-*
-*/
-
-
-#ifndef MNRP_DEBUG_H
-#define MNRP_DEBUG_H
-
-#include <e32base.h>
-
-#ifdef _DEBUG
-
-#include <e32svr.h>
-#include <e32std.h>
-#include <f32file.h>
-#include <flogger.h>
-
-_LIT(KLogFile, "mnlog.txt");
-_LIT(KLogDirFullName, "c:\\logs\\");
-_LIT(KLogDir, "mn");
-
-inline void Prefix( TDes& aMessage )
-    {
-    RProcess process;
-    _LIT( KPrefix, "[MnRefProvider/%ld]: ");
-    aMessage.Format( KPrefix, process.Id().Id() );
-    }
-
-inline void Log( TRefByValue<const TDesC> aFmt, ... )
-    {
-    VA_LIST list;
-    VA_START( list, aFmt );
-
-    HBufC* buf = HBufC::New(512);
-    if ( buf )
-    	{
-    	TPtr ptr( buf->Des() );
-	    Prefix( ptr );
-	    ptr.AppendFormatList( aFmt, list );
-
-	    RDebug::RawPrint( ptr );
-	    RFileLogger::Write( KLogDir, KLogFile, EFileLoggingModeAppend, ptr );
-
-	    delete buf;
-    	}
-    }
-
-#define LOG( a )             { Log( _L( a ) ); }
-#define LOG1( a, b )         { Log( _L( a ), b ); }
-#define LOG2( a, b, c )      { Log( _L( a ), b, c ); }
-#define LOG3( a, b, c, d )   { Log( _L( a ), b, c, d ); }
-#define LOG4( a, b, c, d, e )   { Log( _L( a ), b, c, d, e ); }
-
-#else // _DEBUG
-
-// Release version - no logging
-#define LOG( a)
-#define LOG1( a, b )
-#define LOG2( a, b, c )
-#define LOG3( a, b, c, d )
-#define LOG4( a, b, c, d, e )
-
-#endif // _DEBUG
-
-inline void Panic( TInt aReason )
-    {
-    _LIT( KPanicCategory, "MnRefProvider" );
-    LOG1("Panicking: %1", aReason);
-    User::Panic( KPanicCategory, aReason );
-    }
-
-#endif // MNRP_DEBUG_H
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrp.hrh	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Common source and resource constants
-*
-*/
-
-
-#ifndef __MNRP_HRH__
-#define __MNRP_HRH__
-
-enum TMnrpCommandIds
-    {
-	EMnrpCommandFullScreen = 100,
-	EMnrpCommandSelect
-    };
-
-enum TMnrpViewIds
-    {
-    EMnrpAppViewId = 1,
-    EMnrpMapViewId,
-    EMnrpNavigationViewId
-    };
-
-#endif // __MNRP_HRH__
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpappcontrol.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpAppControl class definition 
-*
-*/
-
-
-#ifndef MNRP_APPCONTROL_H
-#define MNRP_APPCONTROL_H
-
-#include <coecntrl.h>
-class CMnrpAppView;
-
-/** Empty view for the case when application is started
- *	from menu */
-class CMnrpAppControl : public CCoeControl
-    {
-    public:
-
-        static CMnrpAppControl* NewL( CMnrpAppView& aView, const TRect& aRect );
-
-        virtual ~CMnrpAppControl();
-
-    public:  // From CCoeControl
-
-        TInt CountComponentControls() const;
-        CCoeControl* ComponentControl( TInt aIndex ) const;
-        void HandleResourceChange( TInt aType );
-
-        void Draw( const TRect& aRect ) const;
-        
-    private:
-
-        void ConstructL( const TRect& aRect );
-        CMnrpAppControl( CMnrpAppView& aView );
-        
-    private:
-        CMnrpAppView&   iView;
-    };
-
-#endif // MNRP_APPCONTROL_H
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpapplication.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpApplication class definition 
-*
-*/
-
-
-#ifndef MNRP_APPLICATION_H
-#define MNRP_APPLICATION_H
-
-#include <eikapp.h>
-
-/**
- *  An instance of CMnrpApplication is the application part of the Eikon
- *  application framework for the MnRefProvider.
- *	MnRefProvider is an Application Server, which implements MapView and Navigation
- *	services of M&N FW.
- */
-class CMnrpApplication : public CEikApplication
-    {
-    public:  // from CEikApplication
-
-        /** 
-        * AppDllUid returns the application DLL UID value.
-        *
-        *  @return the UID of this Application/Dll
-        */
-        TUid AppDllUid() const;
-
-    protected: // from CEikApplication
-
-        /** 
-        * CreateDocumentL creates a CApaDocument object and return a pointer to it
-        *
-        * @return a pointer to the created document
-        */
-        CApaDocument* CreateDocumentL();
-        
-        void NewAppServerL(CApaAppServer *&aAppServer);
-
-    };
-
-#endif // MNRP_APPLICATION_H
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpapplicationback.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpApplicationBack class definition
-*
-*/
-
-
-#ifndef MNRP_APPLICATIONBACK_H
-#define MNRP_APPLICATIONBACK_H
-
-#include <eikapp.h>
-
-/**
- *  An instance of CMnrpApplicationBack is the application part of the Eikon
- *  application framework for the MnRefGeocoder.
- *	MnRefGeocoder is a hidden application and works only as geocoder server.
- *	It accepts geocoding requests from M&N FW, serves them and exits, when 
- *	all clients are disconnected.
- */
-class CMnrpApplicationBack : public CEikApplication
-    {
-    public:  // from CEikApplication
-
-        /** 
-        * AppDllUid returns the application DLL UID value.
-        *
-        *  @return the UID of this Application/Dll
-        */
-        TUid AppDllUid() const;
-
-    protected: // from CEikApplication
-
-        /** 
-        * CreateDocumentL creates a CApaDocument object and return a pointer to it
-        *
-        * @return a pointer to the created document
-        */
-        CApaDocument* CreateDocumentL();
-        
-        void NewAppServerL(CApaAppServer *&aAppServer);
-
-    };
-
-#endif // MNRP_APPLICATIONBACK_H
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpappserver.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpAppServer class definition
-*
-*/
-
-
-#ifndef MNRP_APPSERVER_H
-#define MNRP_APPSERVER_H
-
-#include <aknserverapp.h>
-
-class CMnrpAppUi;
-class CMnrpNavigationService;
-class CMnrpMapViewService;
-
-/** Application Server class of MnRefProvider component */
-class CMnrpAppServer : public CAknAppServer
-    {
-    public:
-        ~CMnrpAppServer();
-        
-        CMnrpAppUi* AppUi();
-
-    public: // from CAknAppServer
-    	/** Creates new service class and returns pointer to it */
-        IMPORT_C CApaAppServiceBase* CreateServiceL(TUid aServiceType) const;
-        
-        /** Overrides base function. Doesn't close application evenb if all
-         *	clients have disconnected until user closes it herself. 
-         *	It is important for standalone execution, when calling application
-         *	may be closed, but user still wants to continue with Map or Navigation.
-         */
-        IMPORT_C void HandleAllClientsClosed();
-        
-    protected:        
-    	/** Creates new navigation service class and returns pointer to it */
-        CMnrpNavigationService* CreateNavigationServiceL() const;
-    	/** Creates new map view service class and returns pointer to it */
-        CMnrpMapViewService* CreateMapViewServiceL() const;
-    };
-
-#endif // MNRP_APPSERVER_H
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpappserverback.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpAppServerBack class definition
-*
-*/
-
-
-#ifndef MNRP_APPSERVERBACK_H
-#define MNRP_APPSERVERBACK_H
-
-#include <aknserverapp.h>
-
-class CMnrpGeocodingService;
-class CMnrpEngine;
-
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-class CMnrpMapImageService;
-#endif
-
-/** Application Server class of MnRefGeocoder component
- *	It ows Engine instance.
- */
-class CMnrpAppServerBack : public CAknAppServer
-    {
-    public:
-        static CMnrpAppServerBack* NewL();
-        ~CMnrpAppServerBack();
-
-    public: // from CAknAppServer
-    	/** Creates new geocoding service class and returns pointer to it */
-        IMPORT_C CApaAppServiceBase* CreateServiceL( TUid aServiceType ) const;
-
-    protected:
-        void ConstructL();
-
-    	/** Creates new geocoding service class and returns pointer to it */
-        CMnrpGeocodingService* CreateGeocodingServiceL() const;
-
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-    	/** Creates new map image service class and returns pointer to it */
-        CMnrpMapImageService* CreateMapImageServiceL() const;
-#endif
-
-    private:
-        CMnrpEngine* iEngine;
-    };
-
-#endif // MNRP_APPSERVERBACK_H
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpappui.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpAppUi class definition
-*
-*/
-
-
-#ifndef MNRP_APPUI_H
-#define MNRP_APPUI_H
-
-#include <aknviewappui.h>
-#include <epos_landmarks.h>
-
-class TCoordinate;
-class CPosLandmark;
-
-class CMnrpAppView;
-class CMnrpNaviView;
-class CMnrpMapView;
-
-class CMnrpMapViewService;
-
-class CAknNavigationDecorator;
-class CAknNavigationControlContainer;
-
-class CMnrpEngine;
-
-/** Map selection callback class */
-class MMapSelectionCallback
-    {
-    public:
-        /** Called when user selects location from map */
-        virtual void HandleSelectionL( const TCoordinate& aSelection ) = 0;
-
-        /** Called when user selects landmark from dialog list */
-        virtual void HandleSelectionL( TInt aLandmarkIndex ) = 0;
-        virtual void HandleSelectionL( TPosLmItemId aLandmarkId, TInt aDbIndex ) = 0;
-        
-        /** Called when user refuses selection */
-        virtual void HandleSelectionErrorL( TInt aError ) = 0;
-    };
-
-/** Simple App UI for MnRefProvider component.
- *	It manages application views.
- */
-class CMnrpAppUi : public CAknViewAppUi
-    {
-    public:
-
-        CMnrpAppUi( CMnrpEngine& aEngine );
-        void ConstructL();
-        ~CMnrpAppUi();
-
-        void ShowMapL( CMnrpMapViewService& aService );
-
-        void StartSelectionL( 
-            CMnrpMapViewService& aService,  
-            MMapSelectionCallback& aCallback );
-
-        void StopSelection();
-
-        void ShowNavigationL( const CPosLandmark& aDestination );
-
-		/** Returns ETrue if Map or Navigaton view is still open */
-        TBool IsAnyUserViewActive();
-        
-		/** Returns ETrue if application was started embedded */
-        TBool IsChainedMode();
-
-        void SetNaviPaneTitleL( const TDesC& aPaneTitle );
-        void SetRightSoftkeyCommandL( TInt aCommand, const TDesC& aButtonTitle );
-        
-    protected: // from CAknAppUi
-    
-        void HandleCommandL(TInt aCommand);
-        void HandleResourceChangeL( TInt aType );
-        TBool ProcessCommandParametersL( CApaCommandLine &aCommandLine );
-
-    private:
-
-        void PostConstructL();
-
-        void SelectFromDialogL(
-            CMnrpMapViewService& aService,
-            MMapSelectionCallback& aCallback );
-
-    private:
-    	/** Empty view */
-        CMnrpAppView* iAppView;
-
-		/** Navigation view */
-        CMnrpNaviView* iNaviView;
-		/** Map view */
-        CMnrpMapView* iMapView;
-
-        //Own:
-        CAknNavigationDecorator* iNaviPaneLabel;
-
-        //Ref:
-        CAknNavigationControlContainer* iNaviPane;
-        
-        TInt iParentWg;
-
-        /** Reference to engine */
-        CMnrpEngine& iEngine;
-    };
-
-#endif // MNRP_APPUI_H
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpappuiback.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   class definition
-*
-*/
-
-
-#ifndef MNRP_APPUIBACK_H
-#define MNRP_APPUIBACK_H
-
-#include <aknviewappui.h>
-
-/** Simple App UI class of the MnRefGeocoder component */
-class CMnrpAppUiBack : public CAknAppUi
-    {
-    public:
-        void ConstructL();
-
-        /**  Moves application to foreground */
-        void MoveForeground();
-        
-        /**  Moves application to background */
-        void MoveBackground();
-
-    public: // from CEikAppUi
-
-        void HandleCommandL(TInt aCommand);
-    };
-
-#endif // MNRP_APPUIBACK_H
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpappview.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpAppView class definition 
-*
-*/
-
-
-#ifndef MNRP_APPVIEW_H
-#define MNRP_APPVIEW_H
-
-#include <aknview.h>
-
-class CMnrpAppControl;
-
-/** Empty view for the case when application is started
- *	from menu*/
-class CMnrpAppView : public CAknView
-    {
-    public:
-
-        static CMnrpAppView* NewL();
-        virtual ~CMnrpAppView();
-
-    public: // from CAknView
-
-        TUid Id() const;
-
-        void DoActivateL(
-            const TVwsViewId& aPrevViewId,
-            TUid aCustomMessageId,
-            const TDesC8& aCustomMessage);
-
-        void DoDeactivate();
-
-    private:
-
-        CMnrpAppView();
-        void ConstructL();
-        
-    private:
-    
-    	/** UI control */
-        CMnrpAppControl* iControl;    
-
-    };
-
-#endif // MNRP_APPVIEW_H
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpcoordconverter.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpCoordConverter class definition
-*
-*/
-
-
-#ifndef MNRP_COORDINATECONVERTER_H
-#define MNRP_COORDINATECONVERTER_H
-
-#include <mncoordinateconverterbase.h>
-
-class CMnrpEngine;
-class CMnrpMapModel;
-
-class CMnrpCoordConverter : public CMnCoordinateConverterBase
-    {
-    public:
-        static CMnrpCoordConverter* NewL();
-
-        ~CMnrpCoordConverter();
-
-    protected: // From CMnCoordinateConverterBase
-
-        TInt GetImageCoordinate(
-            const TCoordinate& aWorldCoordinate,
-            TPoint& aImagePoint );
-
-        TInt GetWorldCoordinate(
-            const TPoint& aImagePoint,
-            TCoordinate& aWorldCoordinate );
-
-    protected:
-        CMnrpCoordConverter();
-
-    private:
-
-        CMnrpEngine*            iEngine;
-        CMnrpMapModel*          iModel;
-    };
-
-#endif /*MNTP_COORDINATECONVERTER_H*/
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpdocument.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpDocument class definition
-*
-*/
-
-
-#ifndef MNRP_DOCUMENT_H
-#define MNRP_DOCUMENT_H
-
-#include <akndoc.h>
-
-class CMnrpEngine;
-class CEikApplication;
-
-/** Document class of MnRefProvider component.
- *	It creates and owns Engine instance
- */
-class CMnrpDocument : public CAknDocument
-    {
-    public:
-
-        static CMnrpDocument* NewL( CEikApplication& aApp );
-        ~CMnrpDocument();
-
-		/** Returns reference to Engine instance */        
-        CMnrpEngine& Engine();
-
-    public: // from CAknDocument
-
-        CEikAppUi* CreateAppUiL();
-
-    private:
-
-        CMnrpDocument( CEikApplication& aApp );
-        void ConstructL();
-    
-    private:
-        CMnrpEngine* iEngine;        
-    };
-
-#endif // MNRP_DOCUMENT_H
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpdocumentback.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpDocumentBack class definition
-*
-*/
-
-
-#ifndef MNRP_DOCUMENTGEO_H
-#define MNRP_DOCUMENTGEO_H
-
-#include <akndoc.h>
-
-class CEikApplication;
-
-/** Document class of MnRefGeocoder component */
-class CMnrpDocumentBack : public CAknDocument
-    {
-    public:
-
-        static CMnrpDocumentBack* NewL( CEikApplication& aApp );
-
-    public: // from CAknDocument
-
-        CEikAppUi* CreateAppUiL();
-
-    private:
-
-        CMnrpDocumentBack( CEikApplication& aApp );
-    };
-
-#endif // MNRP_DOCUMENTGEO_H
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpengine.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpEngine class definition
-*
-*/
-
-
-#ifndef MNRP_ENGINE_H
-#define MNRP_ENGINE_H
-
-#include <e32base.h>
-#include <f32file.h>
-
-class CPosLandmark;
-class TCoordinate;
-class RResourceReader;
-
-/** Engine class used both by MnRefProvider and MnRefGeocoder 
- *	components. Provides access to POIs database ( resource file,
- *	some cities ) and geocoding services. 
- */
-class CMnrpEngine : public CBase
-    {
-    public:
-    
-        struct TDistanceToPoi
-            {
-            TInt iPoiIndex; // index to KnownPlaces
-            TReal32 iDistance; // distance to Poi of iPoiIndex
-            };
-    
-    public:
-        IMPORT_C static CMnrpEngine* NewL();
-        IMPORT_C ~CMnrpEngine();
-
-		/** Gives access to set of POIs */
-        IMPORT_C TArray<CPosLandmark*> KnownPlacesL();
-        
-        /** Returns coordinate of given address:
-		 *	Find a POI, which country or city matches given address
-		 *	and returns its coordinates.
-		 *	@param aAddress landmark, containing address
-		 *	@return landmark, containg coordinates
-		 *	@leave KErrNotFound if can't find POI matching given address
- 		 */
-        IMPORT_C CPosLandmark* AddressToCoordLC( const CPosLandmark& aAddress );
-
-        /** @overload
-         *  @return landmark, containg coordinates, or NULL
-         */
-        IMPORT_C CPosLandmark* AddressToCoordL( const CPosLandmark& aAddress );
-        
-        /** @overload
-		 *	@param aAddress string containing address
-		 *	@return landmark, containg coordinates
-		 *	@leave KErrNotFound if can't find POI matching given address
- 		 */
-        IMPORT_C CPosLandmark* AddressToCoordLC( const TDesC& aAddress );
-
-        /** @overload
-         *  @param aAddress string containing address
-         *  @return landmark, containg coordinates, or NULL
-         */
-        IMPORT_C CPosLandmark* AddressToCoordL( const TDesC& aAddress );
-
-        /** Returns address for given coordinate:
-		 *	Find a closest POI and return its city and country and
- 		 *	fill street with "%d[m,Km,tKm] from <city>" string, like "5 km to Tampere"
-		 *	@param aLocation coordinate
-		 *	@return landmark, containg address
-		 *	@leave KErrNotFound if can't find any POI
- 		 */
-        IMPORT_C CPosLandmark* CoordToAddressLC( const TCoordinate& aLocation );
-        
-        /** Finds a resource file in the system. 
-         *	It looks on all the drives for the file and folder given as parameter
-         *	@param[in] aFilePathAndName path and name of the file to search for. Drive
-         *							info is ignored
-         *	@param[out] aRscFile full name of found resource file
-         *	@leave KErrNotFound if file is not found.
-         */
-        IMPORT_C void FindResourceFileL( 
-            const TDesC& aFilePathAndName,
-            TFileName& aRscFile );
-
-        /** Returns reference to open file session, given at construction */
-        IMPORT_C RFs& Fs();
-
-        /** Calculates distance between two landmarks.
-         *  @param aFrom Source landmark
-         *  @param aTo Destination landmark
-         *  @return Distance, or NaN, if distance cannot be calculated
-         */
-        IMPORT_C TReal32 DistanceBetweenLandmarks( 
-            const CPosLandmark& aFrom, 
-            const CPosLandmark& aTo );
-
-        /** Finds POIs closest to given reference landmark. 
-         *  @param[in] aReference reference landmark
-         *  @param[out] aNeighbourPois List of closest POIs. 
-         *  @param[in] aMaxMatches Maximum number of results needed
-         */
-        IMPORT_C void FindClosestPoisL( 
-            const CPosLandmark& aReference,
-            RArray<CMnrpEngine::TDistanceToPoi>& aNeighbourPois,
-            TInt aMaxMatches );
-
-        /** Finds POIs closest to given location. 
-         *  @param[in] aReference reference location
-         *  @param[out] aNeighbourPois List of landmarks of closest POIs. 
-         *  @param[in] aMaxMatches Maximum number of results needed
-         */
-        IMPORT_C void BestCoordToAddressMatchesL( 
-            const TCoordinate& aLocation,
-            RPointerArray<CPosLandmark>& aMatches,
-            TInt aMaxMatches );
-
-    protected:
-
-        void ConstructL();
-        CMnrpEngine();
-
-		/** Loads POIs from database ( resource file ) */
-        void LoadKnownPlacesL();
-        /** Reads array of PLACES resource structures */
-        void ReadPlacesResourceL( RResourceReader& aReader );
-        
-        CPosLandmark* CreateCloseLandmarkLC( const CPosLandmark& aReference, TReal32 aDistance );
-
-    private:
-        RPointerArray<CPosLandmark> iPlaces;
-        RFs                         iFileSession;
-    };
-
-#endif // MNRP_ENGINE_H
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpgeocodingservice.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpGeocodingService class definition
-*
-*/
-
-
-#ifndef MNRP_GEOCODINGSERVICE_H
-#define MNRP_GEOCODINGSERVICE_H
-
-#include "mngeocodingservicebase.h"
-
-class CPosLandmark;
-class CMnrpEngine;
-
-/** Implementation of geocoding service (KMnAppGeocodingService). 
- *	It uses CIdle to simulate asynchronous processing. All the geocoding
- *	job is done using the CMnrpEngine class.
- */
-class CMnrpGeocodingService : public CMnGeocodingServiceBase
-    {
-    public :
-        static CMnrpGeocodingService* NewL( CMnrpEngine& aEngine );
-        
-    protected :
-        CMnrpGeocodingService( CMnrpEngine& aEngine );
-        virtual ~CMnrpGeocodingService();
-
-        void ConstructL();
-
-		/** Prevents parallel asynchronous requests */
-        void LeaveIfBusyL();
-        /** Starts processing of new request by starting CIdle.*/
-        void StartProcessingL();
-        /** Callback for CIdle. Parameter is the pointer to this. */
-        static TInt GeocodingProcessingCallBack( TAny* aPtr );
-        /** Non-leaving part of geocoding. Calls FinishProcessingL and if
-         *	it leaves, completes client's request with error.*/
-        void HandleGeocodingCompleted();
-        /** Does the geocoding and completes user's request.*/
-        void FinishProcessingL();
-
-        /** Asks user to select one of best Coord to Addr matches */
-        CPosLandmark* LetUserSelectBestMatchL( const CPosLandmark& aReference );
-
-    protected: // from CMnGeocodingServiceBase
-    
-        /** Handles client's request for finding address by given coordinate. */
-        void HandleFindAddressByCoordinateL( const CPosLandmark& aLandmark );
-        
-        /** Handles client's request for finding coordinate by given address. */
-        void HandleFindCoordinateByAddressL( const CPosLandmark& aLandmark );
-
-        /** Handles client's request for finding coordinate by given address. */
-        void HandleFindCoordinateByAddressL( const TDesC& aAddress );
-        
-    protected: // from CMnServiceBase
-
-        /** Reports that client cancelled request */
-        void DoCancel();
-
-    private:
-        CMnrpEngine&            iEngine;
-    
-        enum TServiceType
-            {
-            ENone,
-            ECoordToAddr,
-            EAddrToCoord,
-            EPlainToCoord
-            };
-        
-        /** Type of last received request to make correct request to Engine */    
-        TServiceType            iCurrentService;
-    
-    	/** Keeps client's data */
-        CPosLandmark*           iLandmark;
-    	/** Keeps client's data */
-        HBufC*                  iPlainAddress;
-
-        /** Keeps client's option */
-        TBool                   iDialogAllowed;
-
-		/** Asynchronous geocoding processor */        
-        CIdle*                  iProcessor;
-        
-    };
-
-#endif // MNRP_GEOCODINGSERVICE_H
-
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpmapcontrol.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpMapControl class definition
-*
-*/
-
-
-#ifndef MNRP_MAPCONTROL_H
-#define MNRP_MAPCONTROL_H
-
-#include <coecntrl.h>
-#include "mnrpmapmodel.h"
-
-class CMnrpEngine;
-class CMnrpMapView;
-
-/** Map view. Draws map on screen using information from 
- 	CMnrpMapModel.
- */
-class CMnrpMapControl : public CCoeControl, public MMapModelObserver
-    {
-    public: 
-
-        static CMnrpMapControl* NewL( CMnrpMapView& aView, const TRect& aRect, CMnrpEngine& aEngine );
-        virtual ~CMnrpMapControl();
-        
-        void UpdateModelL( CMnrpMapViewService& aService );
-        void SetSelectionModeL( TBool aSelectionMode );
-        
-        /** Returns current cursor location in selection mode */
-        TCoordinate CurrentLocation();
-
-        void ToggleFullScreen();
-
-    public:  // from CCoeControl
-
-        void Draw( const TRect& aRect ) const;
-        TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
-        void SizeChanged();
-        void HandleResourceChange( TInt aType );
-
-    public:  // from MMapModelObserver
-
-		/** Redraws itself when model is updated */
-        void HandleModelUpdateL();
-
-    private:
-
-        CMnrpMapControl( CMnrpMapView& aView );
-        void ConstructL( const TRect& aRect, CMnrpEngine& aEngine );
-        
-        void DrawCursor( CWindowGc& aGc ) const;
-
-		/** Draws text around map
-		 *	Top area - left longitude, cell size, right longitude
-		 *	Left area - top latitude, bottom latitude
-		 *	Bottom area - center coordinates
-		 */
-        void DrawGridText( 
-            CWindowGc& aGc, 
-            const TRect& aInnerBox,
-            const TRect& aOuterBox,
-            const CFont* aFont,
-            CMnrpMapModel::TGrid& aGrid ) const;
-
-        /** Helper to find out border size based on font dimensions */
-        TSize BorderSize() const;
-
-		/** Returns specifications of used font */
-        TFontSpec SmallFontSpec( TInt aFontHeightInTwips ) const;
-        
-        void MoveCursor( TInt aXmove, TInt aYmove );
-        TRect CursorMargin();
-
-        void Zoom( TReal aRate );
-
-        void SetFullScreen( TBool aFullScreen );
-
-		void CreateFonts();
-		void DestroyFonts();
-
-		void CreateScreenBufferL( const TSize& aSize );
-        void RenderL();
-
-    private:
-        /** Parent view */
-        CMnrpMapView& iView;
-        
-    	/** Model */
-        CMnrpMapModel* iModel;
-        TSize iViewSize;
-        
-        TBool iSelectionMode;
-        TPoint iCursor;
-        TCoordinate iAbsoluteCursor;
-
-        /** Whether fullscreen mode on or off*/
-        TBool iIsFullScreen;
-        
-        mutable CFbsBitmap* iOffScreenBitmap;
-        CFont* iTextFont;
-        CFont* iItemFont;
-    };
-
-#endif // MNRP_MAPVIEW_H
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpmapimageservice.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpMapImageService class
-*
-*/
-
-
-#ifndef MN_TPMAPIMAGESERVICE_H
-#define MN_TPMAPIMAGESERVICE_H
-
-#include "mnmapimageservicebase.h"
-
-class CPosLandmark;
-class CEikonEnv;
-class CFont;
-class CMnrpMapModel;
-
-/** Implementation of geocoding service (KMnAppMapImageService). 
- */
-class CMnrpMapImageService : public CMnMapImageServiceBase
-    {
-    public :
-        static CMnrpMapImageService* NewL( CMnrpEngine& aEngine );
-        
-        void HandleTestCommandL( TInt aCommand );
-
-    protected :
-        /** C++ constructor */
-        CMnrpMapImageService( CMnrpEngine& aEngine );
-        /** Destructor */
-        virtual ~CMnrpMapImageService();
-
-        void ConstructL();
-
-        void LeaveIfBusyL();
-        void LeaveIfInstructedL();
-        void StartProcessingL();
-        static TInt MapImageProcessingCallBack( TAny* aPtr );
-        void HandleMapImageCompletedL();
-        void FinishProcessingL();
-
-        TInt GetTestCommand();
-
-        void RenderL();
-
-    private:
-        void DumpDataL();
-        
-        void CreateFonts();
-        void DestroyFonts();
-
-    protected: // from CMnMapImageServiceBase
-    
-        /** Handles client's request for finding address by given coordinate. */
-        void HandleRenderingL();
-        
-    protected: // from CMnServiceBase
-
-        /** Reports that client cancelled request */
-        void DoCancel();
-
-    private:
-    
-        enum TServiceType
-            {
-            ENone,
-            ERender,
-            };
-            
-        TServiceType            iCurrentService;
-        CMnrpEngine&            iEngine;
-        CMnrpMapModel*          iModel;
-        CPeriodic*              iProcessor;
-        CEikonEnv*              iEikon;
-        CFont*                  iItemFont;
-        CFont*                  iTextFont;
-    };
-
-#endif // MN_TPMAPIMAGESERVICE_H
-
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpmapmodel.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,301 +0,0 @@
-/*
-* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpMapModel class definition
-*
-*/
-
-
-#ifndef MNRP_MAPMODEL_H
-#define MNRP_MAPMODEL_H
-
-#include <coecntrl.h>
-#include "mnrppositionrequest.h"
-#include "epos_landmarks.h"
-
-class CFbsBitmap;
-class CImageDecoder;
-
-class CPosLandmark;
-class CPosLandmarkDatabase;
-class CPosLmCategoryManager;
-
-class CMnrpMapViewService;
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-class CMnrpMapImageService;
-class TMnMapImageParams;
-#endif
-class CMnrpEngine;
-
-class MImageLoaderObserver;
-
-/** Point with real coordinates */
-class TRealPoint
-    {
-    public:
-        TRealPoint();
-        TRealPoint( TReal aX, TReal aY );
-        TRealPoint( TCoordinate aCoordinate );
-
-        TRealPoint operator+( const TRealPoint& aRight );
-        TRealPoint operator-( const TRealPoint& aRight );
-        TRealPoint operator*( const TReal& aRight );
-        TRealPoint operator/( const TReal& aRight );
-
-        void Set( TReal aX, TReal aY );
-        TCoordinate Coordinate();
-        TBool IsValid();
-
-        TReal iX; // matches longitude in this model
-        TReal iY; // matches latitude in this model
-    };
-
-/** Model observer class */
-class MMapModelObserver
-    {
-    public:
-        virtual void HandleModelUpdateL() =0;
-    };
-
-/** Data model for MapView.
- *  This implementation shows map as rectangle and does not support
- *  passing its borders. It displays POIs from Engine and client's
- *	landmarks, which define view area, if not specified by client.
- */
-class CMnrpMapModel : public CBase, public MMnrpPositionObserver
-    {
-    public:
-        IMPORT_C static CMnrpMapModel* NewL(
-            MMapModelObserver& aObserver,
-            CMnrpEngine& aEngine );
-
-        IMPORT_C static CMnrpMapModel* NewL(
-            CMnrpEngine& aEngine );
-
-        IMPORT_C ~CMnrpMapModel();
-
-		/** Service calls it when new ShowOnMap request comes
-		 *	from client */
-        IMPORT_C void UpdateModelL( CMnrpMapViewService& aService );
-
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-		/** Service calls it when new RenderImage request comes
-		 *	from client */
-        IMPORT_C void UpdateModelL( const CMnrpMapImageService& aService );
-
-		/** Plugin calls it when new CoordinateConversion request comes
-		 *	from client */
-        IMPORT_C void UpdateModel( const TMnMapImageParams& aParams );
-#endif
-		/** Defines dimensions of view used for map display.
-		 *	this information is used to convert absolute coordinates
-		 *	to screen coordinates. Absolute coordinates are plain
-		 *	latitude and longitude degrees.
-		 */
-        IMPORT_C void SetScreenSize( TSize aScreenSize );
-
-        IMPORT_C void RenderL(
-            CFbsBitmap& aBitmap,
-            TRect aTargetRect,
-            CFont* aTextFont,
-            CFont* aItemFont ) const;
-        
-        IMPORT_C TInt NumIgnoredLandmarks();
-
-		/** Draw item.
-		 *	It is a POI or client's landmark, holds coordinates
-		 *	and associated text and icon.
-		 */
-        class CDrawItem : public CBase
-            {
-            public:
-            	/** Constructs from landmark instance */
-                static CDrawItem* NewLC( const CPosLandmark& );
-            	/** Constructs from linked landmark. If landmark
-            	 *	does not have icon, it tries to get icon of its
-            	 *	category, if only single category is assigned.
-            	 */
-                static CDrawItem* NewLC(
-                    const CPosLandmark& aLm,
-                    CPosLmCategoryManager& aCatman );
-
-                ~CDrawItem();
-
-                const TDesC& Text() { return *iText; };
-                TPoint& Position() { return iScreenPosition; };
-                TRealPoint AbsolutePosition() { return iAbsolutePosition; };
-                CFbsBitmap* Bitmap() { return iBitmap; };
-                CFbsBitmap* Mask() { return iMask; };
-                TBool IsPoi() { return iOwnPoi; };
-                
-                void SetAbsolutePosition( const TLocality& aLocality );
-
-            private:
-                HBufC*      iText;
-               	/** Absolute coordinates - lat,lon */
-                TRealPoint  iAbsolutePosition;
-                /** Coordinates on screen (pixels) */
-                TPoint      iScreenPosition;
-                CFbsBitmap* iBitmap;
-                CFbsBitmap* iMask;
-                /** Whether it is client's landmark or internal POI */
-                TBool       iOwnPoi;
-
-            friend class CMnrpMapModel;
-            };
-		/** Returns all items, that can be shown on screen. Screen
-		 *	coordinates are updated according to current scale and viewport */
-        TArray<CDrawItem*> Items() const;
-
-		/** Describes grid to show */
-        class TGrid
-            {
-            public:
-            	/** Reference grid point (screen) */
-                TPoint iReference;
-                /** Distance between grid lines (screen)*/
-                TInt iGridStep;
-
-            	/** Coordinate of reference grid point (absolute) */
-                TCoordinate iAbsoluteReference;
-                /** Distance between grid lines (absolute) */
-                TReal iAbsoluteGridStep;
-            };
-
-        /** Returns grid for current viewport and scale */
-        void GetGrid( TGrid& aGrid ) const;
-
-        /** Information about current location */
-        class TCurrentLocation
-            {
-            public:
-            	/** Screen coordinates */
-                TPoint  iLocation;
-            	/** Error radius in screen units - pixels */
-                TInt    iErrorRadius;
-
-                /** Absolute coordinates */
-                TCoordinate iAbsoluteLocation;
-            	/** Error radius in degrees */
-                TReal       iAbsoluteErrorDegrees;
-
-                TBool       iIsValid;
-            };
-
-        /** Returns current location */
-        IMPORT_C TCurrentLocation CurrentLocation() const;
-
-		// Zooming
-        IMPORT_C void Zoom( TReal aZoomRate );
-
-		// View movement
-        IMPORT_C void MoveTo( TCoordinate aTarget );
-
-        // Reset-kind of action, moves to world center
-        IMPORT_C void GoCenter();
-
-		/** Converts absolute units to screen */
-        IMPORT_C TPoint AbsoluteToScreen( TCoordinate aAbsolutePoint ) const;
-        IMPORT_C TInt AbsoluteToScreen( TReal aDistance ) const;
-
-		/** Converts screen coords to absolute */
-        IMPORT_C TCoordinate ScreenToAbsolute( TPoint aScreenPoint ) const;
-        IMPORT_C TReal ScreenToAbsolute( TInt aDistance ) const;
-
-		// Viewport in absolute units - degrees
-        IMPORT_C TReal Left() const;
-        IMPORT_C TReal Top() const;
-        IMPORT_C TReal Right() const;
-        IMPORT_C TReal Bottom() const;
-        IMPORT_C TReal Width() const;
-        IMPORT_C TReal Height() const;
-        IMPORT_C TCoordinate Center() const;
-
-    protected:
-		/** Converts absolute coords to screen */
-        TPoint AbsoluteToScreen( TRealPoint aAbsolutePoint ) const;
-
-    protected:  // from MMnrpPositionObserver
-
-		/** Forces map view update when new position comes */
-        void HandlePositionRequestCompletedL( TInt aError );
-
-    private:
-
-        void ConstructL();
-        CMnrpMapModel( MMapModelObserver& aObserver, CMnrpEngine& aEngine );
-        CMnrpMapModel( CMnrpEngine& aEngine );
-
-        void AddCitiesL();
-
-		/** Includes given draw item into bounding box */
-        void AdjustBoundingBox( CDrawItem& aItem, TRealPoint& aMin, TRealPoint& aMax );
-        
-        /** Verifies if draw item has position. If not, tries geocoding.
-         *  Updates the item if position is found from geocoding.
-         *  @return ETrue if position is found (possibly from geocoding), EFalse otherwise */
-        TBool CheckDrawItemHasPositionL( CDrawItem& aItem, const CPosLandmark& aLandmark );
-
-		/** Adjusts viewport if movement or zooming goes beyond the borders */
-        void CheckBorders();
-
-        TReal MaxScale() const;
-        TRect CursorMargin();
-
-		// Grid drawing
-        void DrawGrid(
-            CFbsBitGc& aGc,
-            const TSize& aBoxSize,
-            CMnrpMapModel::TGrid& aGrid ) const;
-
-        void DrawVerticalLine( CFbsBitGc& aGc, TInt aX, TSize aBoxSize ) const;
-        void DrawHorizontalLine( CFbsBitGc& aGc, TInt aY, TSize aBoxSize ) const;
-
-		/** Draws drawable items */
-        void DrawLandmarks(
-            CFbsBitGc& aGc,
-            CFont& aFont,
-            const TSize& aBoxSize,
-            TBool aSwitchColorAndShadow ) const;
-
-		/** Draws current location */
-        void DrawCurrentLocation(
-            CFbsBitGc& aGc,
-            const TSize& aBoxSize ) const;
-
-    private:
-        CMnrpPositionRequest*           iPositionRequest;
-        TPositionInfo                   iPosInfo;
-
-        TSize                           iScreenSize;
-        TRealPoint                      iViewOrigin;
-
-        TReal                           iScale; // 1 == 1 degree per pixel
-
-        MMapModelObserver*              iObserver;
-
-        mutable RPointerArray<CDrawItem> iDrawItems;
-
-        CMnrpEngine&            		iEngine;
-
-        TBool                           iUseCurrentLocationAsOrigin;
-        TBool                           iShowCurrentLocation;
-
-        CFont*                          iTextFont;
-        CFont*                          iItemFont;
-        
-        TInt 							iNumIgnoredLandmarks; 
-    };
-
-#endif // MNRP_MAPMODEL_H
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpmapview.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpMapView class definition
-*
-*/
-
-
-#ifndef MNRP_MAPVIEW_H
-#define MNRP_MAPVIEW_H
-
-#include <aknview.h>
-
-class CMnrpEngine;
-class CMnrpMapModel;
-class CMnrpMapControl;
-
-class CMnrpMapViewService;
-class MMapSelectionCallback;
-
-/** Map view. Draws map on screen using information from 
- 	CMnrpMapModel.
- */
-class CMnrpMapView : public CAknView
-    {
-    public: 
-
-        static CMnrpMapView* NewL( TBool aChained, CMnrpEngine& aEngine );
-        virtual ~CMnrpMapView();
-        
-        /** Shows map view in browser mode 
-         *  @param aService Object to get map view options from
-         */
-        void SetMapModeL( CMnrpMapViewService& aService );
-
-        /** Shows map view in selection mode 
-         *  @param aService Object to get map view options from
-         *  @param aCallback Object to inform about selection
-         */
-        void SetSelectionModeL( 
-            CMnrpMapViewService& aService,  
-            MMapSelectionCallback& aCallback );
-
-        void HandleUserSelectionL( TInt aError );
-
-        void StopSelection();
-		
-    public: // from CAknView
-
-        TUid Id() const;
-
-        void HandleCommandL( TInt aCommand );
-
-        void DoActivateL(
-            const TVwsViewId& aPrevViewId,
-            TUid aCustomMessageId,
-            const TDesC8& aCustomMessage);
-
-        void DoDeactivate();
-        
-        void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane *aMenuPane );
-
-    private:
-
-        CMnrpMapView( CMnrpEngine& aEngine );
-        void ConstructL( TBool aChained );
-        
-    private:
-        /** Application engine */
-        CMnrpEngine& iEngine;
-    	
-    	/** UI control */
-        CMnrpMapControl* iControl;    
-
-        /** Map view data */
-        CMnrpMapViewService* iMapViewService;
-
-        /** Selection callback listener */        
-        MMapSelectionCallback* iSelectionCallback;
-        
-        TBool iChained;
-    };
-
-#endif // MNRP_MAPVIEW_H
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpmapviewservice.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpMapViewService class definition
-*
-*/
-
-
-#ifndef MNRP_MAPVIEWSERVICE_H
-#define MNRP_MAPVIEWSERVICE_H
-
-#include <mnmapviewservicebase.h>
-
-#include "mnrpappui.h"
-
-class CPosLandmark;
-
-/** Implementation of MapView service (KMnAppMapViewService). 
- */
-class CMnrpMapViewService : public CMnMapViewServiceBase, public MMapSelectionCallback
-    {
-    public :
-        static CMnrpMapViewService* NewL();
-        
-    protected :
-        CMnrpMapViewService();
-        virtual ~CMnrpMapViewService();
-        void ConstructL();
-
-        CMnrpAppUi* AppUi();
-
-    protected: // from CMnMapViewServiceBase
-    
-        /** Handles client's request for showing map */
-        void HandleShowMapL();
-
-        /** Handles client's request for showing map from current location */
-        void HandleShowCurrentLocationL();
-
-        /** Handles client's request for selecting a location from map */
-        void HandleSelectFromMapL();
-
-    protected: // from CMnServiceBase
-
-        /** Reports that client cancelled request */
-        void DoCancel();
-
-        void CompleteSelectionL( const TCoordinate& aSelection );
-
-    protected: // from MMapSelectionCallback
-            
-        void HandleSelectionL( const TCoordinate& aSelection );
-
-        void HandleSelectionL( TInt aLandmarkIndex );
-        void HandleSelectionL( TPosLmItemId aLandmarkId, TInt aDbIndex );
-
-        void HandleSelectionErrorL( TInt aError );
-
-    private:
-        void StopSelection();
-
-    private:
-
-        /** Flag shows that selection is ongoing */
-        TBool                   iSelecting;
-    };
-
-#endif // MNRP_MAPVIEWSERVICE_H
-
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpnavicontrol.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpNaviControl class definition
-*
-*/
-
-
-#ifndef MNRP_NAVICONTROL_H
-#define MNRP_NAVICONTROL_H
-
-#include <coecntrl.h>
-#include "mnrpnavimodel.h"
-
-class CAknSingleHeadingStyleListBox;
-class CMnrpNaviView;
-
-/** Navigation view.
- *	Shows list box with navigation information items: 
- *	destination name and coordinates, current position coordinates
- *	distance and bearing to destination.
- */	
-class CMnrpNaviControl : public CCoeControl, public MNaviModelObserver
-    {
-    public:
-
-        static CMnrpNaviControl* NewL( CMnrpNaviView& aView, const TRect& aRect, CMnrpEngine& aEngine );
-        virtual ~CMnrpNaviControl();
-
-        void UpdateModelL( CPosLandmark& aDestination );
-        
-    protected:    
-    	/** Creates list box */
-        void CreateListBoxL();
-
-    public: // from MNaviModelObserver
-        void HandleModelUpdateL();
-
-    protected:  // from CCoeControl
-        TInt CountComponentControls() const;
-        CCoeControl* ComponentControl( TInt aIndex ) const;
-        TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
-        void SizeChanged();
-        void HandleResourceChange( TInt aType );
-
-    private:
-
-        void ConstructL( const TRect& aRect, CMnrpEngine& aEngine );
-        CMnrpNaviControl( CMnrpNaviView& aView );
-    
-    private:
-        CMnrpNaviView&                  iView;
-    
-        CAknSingleHeadingStyleListBox*  iListBox;
-        CMnrpNaviModel*         		iModel;
-    };
-
-#endif // MNRP_NAVICONTROL_H
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpnavigationservice.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpNavigationService class definition
-*
-*/
-
-
-#ifndef MNRP_NAVIGATIONSERVICE_H
-#define MNRP_NAVIGATIONSERVICE_H
-
-#include "mnnavigationservicebase.h"
-
-class CPosLandmark;
-
-/** Implementation of Navigation service (KMnAppNavigationService). 
- */
-class CMnrpNavigationService : public CMnNavigationServiceBase
-    {
-    public :
-        static CMnrpNavigationService* NewL();
-        
-    protected :
-        CMnrpNavigationService();
-        virtual ~CMnrpNavigationService();
-        void ConstructL();
-
-    public: // from CMnNavigationServiceBase
-    
-        /** Handles client's request for navigation. */
-        void HandleNavigateToL( const CPosLandmark& aDestination );
-    
-    protected: // from CMnServiceBase
-
-        /** Empty implementation, as the only request is sychcronous */
-        void DoCancel();
-    };
-
-#endif // MNRP_NAVIGATIONSERVICE_H
-
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpnavimodel.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpNaviModel class definition
-*
-*/
-
-
-#ifndef MNRP_NAVIMODEL_H
-#define MNRP_NAVIMODEL_H
-
-#include <coecntrl.h>
-#include "mnrppositionrequest.h"
-
-class CMnrpEngine;
-class CPosLandmark;
-
-/** Model observer class */
-class MNaviModelObserver
-    {
-    public:
-        virtual void HandleModelUpdateL() =0;
-    };
-
-/** Navigation view model. 
- *	Prepares data to be shown on navigation view
- */
-class CMnrpNaviModel : public CBase, public MMnrpPositionObserver
-    {
-    public:
-        static CMnrpNaviModel* NewL( MNaviModelObserver& aObserver, CMnrpEngine& aEngine );
-
-		/** Called by service class to inform that client has changed 
-		 *	navigation target */
-        void SetDestinationL( const CPosLandmark& aNewDestination );
-
-		/** List item information */
-        class CListItem : public CBase
-            {
-            public:
-                static CListItem* NewL( 
-                	const TDesC& aItemHeader, 
-                	const TDesC& aItemValue );
-            
-                ~CListItem();
-                
-                const TDesC& Header() { return *iHeader; };
-                const TDesC& Value() { return *iValue; };
-                
-            private:
-            	/** List item header */
-                HBufC* iHeader;
-            	/** List item text */
-                HBufC* iValue;                
-            };
-
-		/** Returns list items to be shown on Navigation view */
-        TArray<CListItem*> ListItemsL();
-
-        ~CMnrpNaviModel();
-        
-    public:  // from MMnrpPositionObserver
-
-		/** Informs navigation view that data has been changed */
-        void HandlePositionRequestCompletedL( TInt aError );
-        
-    private: 
-
-        void ConstructL();
-        CMnrpNaviModel( MNaviModelObserver& aObserver, CMnrpEngine& aEngine );
-    
-    private:
-        CMnrpEngine&                    iEngine;
-    
-        CMnrpPositionRequest*   		iPositionRequest;
-        TPositionInfo                   iPosInfo;
-
-        CPosLandmark*                   iDestination;
-        
-        MNaviModelObserver&             iObserver;
-        
-        RPointerArray<CListItem>        iListItems;
-    };
-
-#endif // MNRP_NAVIMODEL_H
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrpnaviview.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpNaviView class definition
-*
-*/
-
-
-#ifndef MNRP_NAVIVIEW_H
-#define MNRP_NAVIVIEW_H
-
-#include <aknview.h>
-
-class CMnrpEngine;
-class CMnrpNaviModel;
-class CMnrpNaviControl;
-class CPosLandmark;
-
-/** Map view. Draws map on screen using information from 
- 	CMnrpMapModel.
- */
-class CMnrpNaviView : public CAknView
-    {
-    public: 
-
-        static CMnrpNaviView* NewL( TBool aChained, CMnrpEngine& aEngine );
-        virtual ~CMnrpNaviView();
-        
-        /** Shows map view in browser mode 
-         *  @param aService Object to get map view options from
-         */
-        void SetDestinationL( const CPosLandmark& aDestination );
-        
-    public: // from CAknView
-
-        TUid Id() const;
-
-        void HandleCommandL( TInt aCommand );
-
-        void DoActivateL(
-            const TVwsViewId& aPrevViewId,
-            TUid aCustomMessageId,
-            const TDesC8& aCustomMessage);
-
-        void DoDeactivate();
-
-    private:
-
-        CMnrpNaviView( CMnrpEngine& aEngine );
-        void ConstructL( TBool aChained );
-        
-    private:
-        /** Application engine */
-        CMnrpEngine& iEngine;
-    	
-    	/** UI control */
-        CMnrpNaviControl* iControl;    
-        
-        /** Destination */
-        CPosLandmark* iDestination;
-    };
-
-#endif // MNRP_NAVIVIEW_H
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrppositionrequest.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,141 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpPositionRequest class definition
-*
-*/
-
-
-#ifndef MNRP_POSITION_REQUEST_H_
-#define MNRP_POSITION_REQUEST_H_
-
-#include <e32base.h>
-#include <lbs.h>
-
-class TPositionUpdateOptions;
-
-/** Position observer */
-class MMnrpPositionObserver
-    {
-    public:
-        virtual void HandlePositionRequestCompletedL( TInt aError ) =0;
-    };
-
-/** Provides an interface for retrieving the current location.
- */
-class CMnrpPositionRequest: public CActive
-    {
-    public: 
-
-        /** Creates new instance of request
-        * @param aAppName the name of this application
-        * @param aObserver observer to callback when locations are retrieved
-        */
-        IMPORT_C static CMnrpPositionRequest* NewL(
-            const TDesC& aRequestorName,
-            MMnrpPositionObserver& aObserver);
-
-        IMPORT_C ~CMnrpPositionRequest();
-
-    public: 
-
-        /**
-         * Starts the fetching of a location. In the first place the default 
-         * proxy is used for retrieving a location. If fetching default location
-         * fails the last known location is fetched. If fetching last known 
-         * location fails, an error code is returned to the observer.
-         *
-         * @param aLastKnownLocationAllowed whether last know location is allowed
-         */
-        IMPORT_C void FetchNewPosition( TBool aLastKnownLocationAllowed = EFalse );
-
- 		/** Returns current location */
-        IMPORT_C void GetPosition( TPositionInfo& aPosition );
-
- 		/** Returns current speed info */
-        IMPORT_C TReal32 Speed();
-
- 		/** Returns current heading info */
-        IMPORT_C TReal32 Heading();
-
- 		/** Returns current magnetic heading info */
-        IMPORT_C TReal32 MagneticHeading();
-
- 		/** Returns current course info */
-        IMPORT_C TReal32 Course();
-
- 		/** Returns current magnetic course info */
-        IMPORT_C TReal32 MagneticCourse();
-
-		/** Modifies options for the next request */
-        IMPORT_C void SetOptionsL( const TPositionUpdateOptionsBase& aOptions );
-
-    protected: // from CActive
-
-        void DoCancel();
-        void RunL();
-        TInt RunError(TInt aError);
-
-    private:
-
-        CMnrpPositionRequest( MMnrpPositionObserver& aObserver );
-        void ConstructL( const TDesC& aAppName );
-
-        /** Issues new request for location retrieval. */
-        void ExecuteNextStep();
-
-        void InitContainer( HPositionGenericInfo& aGenericInfo );
-        void SaveContainer( const HPositionGenericInfo& aGenericInfo );
-
-    private:
-
-        /**
-        * TState defines the different states this object may enter.
-        */
-        enum TState 
-            {
-            EIdle,
-            EAcquiringDefaultLocation,
-            EAcquiringLastKnownLocation
-            };
-
-    private: 
-
-        //! Contains the location
-        HPositionGenericInfo* iGenericPosition;
-        
-        //! Local storage for last location info
-        TPositionInfo iPositionInfo;
-        TReal32 iSpeed;
-        TReal32 iHeading;
-        TReal32 iMagneticHeading;
-        TReal32 iCourse;
-        TReal32 iMagneticCourse;
-
-        //! The observer to callback when location retieval is ready
-        MMnrpPositionObserver& iObserver;
-
-        //! Reference to the Location Server session
-        RPositionServer iLocationServer;
-
-        //! Reference to the Location Server subsession
-        RPositioner iPositioner;
-        
-        TBool iLastKnownLocationAllowed;
-
-        //! The current state this object has entered
-        TState iState;
-    };
-
-#endif // MNRP_POSITION_REQUEST_H_
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/inc/mnrputils.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-/*
-* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  MnrpUtils class definition
-*
-*/
-
-
-#ifndef MNRP_UTILS_H
-#define MNRP_UTILS_H
-
-const TInt KMaxCoordStrSize = 15;
-
-class MnrpUtils
-    {
-    public:
-    
-        /** Converts given coordinate into a string 
-         *  \param aCoord coordinate
-         *  \param aStr target string of KMaxCoordStrSize length (at least)
-         *  \param aFull if EFalse, will omit higher parts if they are 0,
-         *               if ETrue, outputs degrees, minutes, seconds and milliseconds
-         *  \param aMillis whether milliseconds should be included or not
-         */
-        IMPORT_C static void CoordinateToString( 
-            TReal aCoord, 
-            TDes& aStr, 
-            TBool aFull = EFalse,
-            TBool aMillis = EFalse );
-            
-        /** Converts given distance value to a string with units
-         *  \param aDistance distance in meters 
-         *  \param aStr target string
-         */
-        IMPORT_C static void DistanceToString( TReal aDistance, TDes& aStr );
-
-        /** Converts given angle value to a string
-         *  \param aAngle angle in degrees (angle form North Pole) 
-         *  \param aStr target string
-         */
-        IMPORT_C static void AngleToString( TReal aAngle, TDes& aStr );
-
-        /** Converts given speed value to a string with units
-         *  \param aSpeed speed in meters per second
-         *  \param aStr target string
-         */
-        IMPORT_C static void SpeedToString( TReal aSpeed, TDes& aStr );
-
-        /** Replaces unprintable characters in a string with spaces
-         *  \param aStr string to work with
-         *  \return pointer to new string buffer with ownership
-         */
-        IMPORT_C static HBufC* PrintableStringLC( const TDesC& aStr );
-    };
-
-#endif // MNRP_UTILS_H
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/sis/mnrefprovider_armv5.pkg	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-;
-; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "Eclipse Public License v1.0"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description: Installation file for MN ref provider
-;
-
-ÿþ;   I n s t a l l a t i o n   f i l e   f o r   M & N   R e f e r e n c e   P r o v i d e r   A p p 
- 
- 
- 
- ;   L a n g u a g e s 
- 
- & E N , R U 
- 
- 
- 
- ;   s t a n d a r d   S I S   f i l e   h e a d e r 
- 
- # { " M n R e f P r o v i d e r E N " , " M n R e f P r o v i d e r R U " } , ( 0 x 0 3 1 3 2 0 1 3 ) , 1 , 2 , 4 
- 
- 
- 
- ;   L o c a l i s e d   V e n d o r   n a m e 
- 
- % { " V e n d o r - E N " , " V e n d o r - R U " } 
- 
- 
- 
- ;   U n i q u e   V e n d o r   n a m e 
- 
- : " V e n d o r " 
- 
- 
- 
- ;   S u p p o r t s   S 6 0   v   3 . 0 
- 
- [ 0 x 1 0 1 F 7 9 6 1 ] ,   0 ,   0 ,   0 ,   { " S 6 0 P r o d u c t I D " , " S 6 0 P r o d u c t I D " } 
- 
- 
- 
- ;   F i l e s   t o   i n s t a l l 
- 
- " \ e p o c 3 2 \ r e l e a s e \ a r m v 5 \ u r e l \ m n r e f p r o v i d e r . e x e " - " ! : \ s y s \ b i n \ m n r e f p r o v i d e r . e x e " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r . r s c " - " ! : \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r . r s c " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r . m b m " - " ! : \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r . m b m " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r . m i f " - " ! : \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r . m i f " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ p r i v a t e \ 1 0 0 0 3 a 3 f \ a p p s \ m n r e f p r o v i d e r _ r e g . r s c " - " ! : \ p r i v a t e \ 1 0 0 0 3 a 3 f \ i m p o r t \ a p p s \ m n r e f p r o v i d e r _ r e g . r s c " 
- 
- 
- 
- " \ e p o c 3 2 \ r e l e a s e \ a r m v 5 \ u r e l \ m n r e f p r o v i d e r b a c k . e x e " - " ! : \ s y s \ b i n \ m n r e f p r o v i d e r b a c k . e x e " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r b a c k . r s c " - " ! : \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r b a c k . r s c " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ p r i v a t e \ 1 0 0 0 3 a 3 f \ a p p s \ m n r e f p r o v i d e r b a c k _ r e g . r s c " - " ! : \ p r i v a t e \ 1 0 0 0 3 a 3 f \ i m p o r t \ a p p s \ m n r e f p r o v i d e r b a c k _ r e g . r s c " 
- 
- 
- 
- " \ e p o c 3 2 \ r e l e a s e \ a r m v 5 \ u r e l \ m n r e f p r o v i d e r e n g i n e . d l l " - " ! : \ s y s \ b i n \ m n r e f p r o v i d e r e n g i n e . d l l " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ r e s o u r c e \ m n r e f p r o v i d e r e n g i n e . r s c " - " ! : \ r e s o u r c e \ m n r e f p r o v i d e r e n g i n e . r s c " 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
\ No newline at end of file
Binary file locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/sis/mnrefprovider_armv5.sis has changed
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/sis/mnrefprovider_bitmap_armv5.pkg	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-;
-; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "Eclipse Public License v1.0"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description: Installation file for MN ref provider ( includes map image service)
-;
-
-ÿþ;   I n s t a l l a t i o n   f i l e   f o r   M & N   R e f e r e n c e   P r o v i d e r   A p p 
- 
- 
- 
- ;   L a n g u a g e s 
- 
- & E N , R U 
- 
- 
- 
- ;   s t a n d a r d   S I S   f i l e   h e a d e r 
- 
- # { " M n R e f P r o v i d e r E N " , " M n R e f P r o v i d e r R U " } , ( 0 x 0 3 1 3 2 0 1 3 ) , 1 , 2 , 4 
- 
- 
- 
- ;   L o c a l i s e d   V e n d o r   n a m e 
- 
- % { " V e n d o r - E N " , " V e n d o r - R U " } 
- 
- 
- 
- ;   U n i q u e   V e n d o r   n a m e 
- 
- : " V e n d o r " 
- 
- 
- 
- ;   S u p p o r t s   S 6 0   v   3 . 0 
- 
- [ 0 x 1 0 1 F 7 9 6 1 ] ,   0 ,   0 ,   0 ,   { " S 6 0 P r o d u c t I D " , " S 6 0 P r o d u c t I D " } 
- 
- 
- 
- ;   F i l e s   t o   i n s t a l l 
- 
- " \ e p o c 3 2 \ r e l e a s e \ a r m v 5 \ u r e l \ m n r e f p r o v i d e r . e x e " - " ! : \ s y s \ b i n \ m n r e f p r o v i d e r . e x e " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r . r s c " - " ! : \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r . r s c " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r . m b m " - " ! : \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r . m b m " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r . m i f " - " ! : \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r . m i f " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ p r i v a t e \ 1 0 0 0 3 a 3 f \ a p p s \ m n r e f p r o v i d e r _ r e g . r s c " - " ! : \ p r i v a t e \ 1 0 0 0 3 a 3 f \ i m p o r t \ a p p s \ m n r e f p r o v i d e r _ r e g . r s c " 
- 
- 
- 
- " \ e p o c 3 2 \ r e l e a s e \ a r m v 5 \ u r e l \ m n r e f p r o v i d e r b a c k . e x e " - " ! : \ s y s \ b i n \ m n r e f p r o v i d e r b a c k . e x e " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r b a c k . r s c " - " ! : \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r b a c k . r s c " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ p r i v a t e \ 1 0 0 0 3 a 3 f \ a p p s \ m n r e f p r o v i d e r b a c k _ r e g . r s c " - " ! : \ p r i v a t e \ 1 0 0 0 3 a 3 f \ i m p o r t \ a p p s \ m n r e f p r o v i d e r b a c k _ r e g . r s c " 
- 
- 
- 
- " \ e p o c 3 2 \ r e l e a s e \ a r m v 5 \ u r e l \ m n r e f p r o v i d e r e n g i n e . d l l " - " ! : \ s y s \ b i n \ m n r e f p r o v i d e r e n g i n e . d l l " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ r e s o u r c e \ m n r e f p r o v i d e r e n g i n e . r s c " - " ! : \ r e s o u r c e \ m n r e f p r o v i d e r e n g i n e . r s c " 
- 
- 
- 
- " \ e p o c 3 2 \ r e l e a s e \ a r m v 5 \ u r e l \ m n r e f p r o v i d e r p l u g i n . d l l " - " ! : \ s y s \ b i n \ m n r e f p r o v i d e r p l u g i n . d l l " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ r e s o u r c e \ p l u g i n s \ m n r e f p r o v i d e r p l u g i n . r s c " - " ! : \ r e s o u r c e \ p l u g i n s \ m n r e f p r o v i d e r p l u g i n . r s c " 
- 
- 
- 
- 
- 
- 
- 
- 
\ No newline at end of file
Binary file locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/sis/mnrefprovider_bitmap_armv5.sis has changed
Binary file locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/sis/mnrefprovider_bitmap_armv5.sisx has changed
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/sis/rd-key.pem	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIICXAIBAAKBgQDLRF+r1FGGkCwTrb420kbnAps7gi1yYUcXYUdWeFTuBeQe5eW4
-6Y+LWaA8HMlDdoHRB0FgASisYcFagwno9+oFf4AJka4H1gWEs5XTGwAA1s0d8XGh
-7W7Dt9F5FZij8F7/9Pi6+FhhxZFIf1DD+yry9D7+Sp+BgdNALe4XOpf25QIBAwKB
-gQCHgupyjYuvCsgNHn7PNtnvVxInrB5MQNoPli+O+uNJWUK/Q+57Rl+yO8AoEzDX
-pFaLWiuVVhsdloDnAgabT/FXzYncs6uOHyEUV+dSXb78vtLPJqAX+Fg2i3hOXreB
-yskcZ13/OsKVOu5wgrJkx2baZufkqMwOSytf5y9nwjEIKwJBAP+inobagVNrN62j
-KQva3cC+UN/6XnKdTc0CA6bHyLOaJoH1xiMwG/VS2PGjHI0tiSMNtLn/QPpHJ003
-iabGhdUCQQDLjp/9UjFT6K6CF66Chqf30pZXhx+GTSQZmv/gvZiMly7X9fX9BGX3
-2MbJohBC4yI21XKTbisWywkF73Hwh+TRAkEAqmxprzxWN5zPyRdwspHpKymLP/w+
-9xOJM1atGdqFzRFvAU6EF3Vn+OHl9my9s3OwwgkjJqorUYTE3iUGby8D4wJBAIe0
-aqjhdjfwdFa6dFcEb/qMZDpaFQQzbWZnVUB+ZbMPdI/5TqitmU/l2dvBYCyXbCSO
-TGJJcg8yBgP09qBamIsCQFL7j1tM0XPVQJQ89WpKCld7O9ORxRGVj1eG0tWijrH8
-mGbYh8SGCVoWV3vrKSS8GBrFVgQnqUaHuEdtM7tpCAQ=
------END RSA PRIVATE KEY-----
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/sis/rd.cer	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
------BEGIN CERTIFICATE-----
-MIICzDCCAjWgAwIBAgIBADANBgkqhkiG9w0BAQUFADArMRAwDgYDVQQKEwdSRCBD
-ZXJ0MRcwFQYDVQQDEw5SRCBDZXJ0aWZpY2F0ZTAeFw0wNDExMTUxMjQyMDZaFw0z
-NzA5MjMxMjQyMDZaMCsxEDAOBgNVBAoTB1JEIENlcnQxFzAVBgNVBAMTDlJEIENl
-cnRpZmljYXRlMIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQDLRF+r1FGGkCwT
-rb420kbnAps7gi1yYUcXYUdWeFTuBeQe5eW46Y+LWaA8HMlDdoHRB0FgASisYcFa
-gwno9+oFf4AJka4H1gWEs5XTGwAA1s0d8XGh7W7Dt9F5FZij8F7/9Pi6+FhhxZFI
-f1DD+yry9D7+Sp+BgdNALe4XOpf25QIBA6OCAQAwgf0wDAYDVR0TBAUwAwEB/zAL
-BgNVHQ8EBAMCAoQwHQYDVR0OBBYEFFi/kuGzxhVpjGxe9ZwlxC3fH9jFMFMGA1Ud
-IwRMMEqAFFi/kuGzxhVpjGxe9ZwlxC3fH9jFoS+kLTArMRAwDgYDVQQKEwdSRCBD
-ZXJ0MRcwFQYDVQQDEw5SRCBDZXJ0aWZpY2F0ZYIBADBsBgNVHSAEZTBjMGEGBFUd
-IAAwWTATBggrBgEFBQcCARYHaHR0cDovLzBCBggrBgEFBQcCAjA2GjRGb3IgUiZE
-IHVzYWdlIG9ubHkuIFRoaXMgY2VydGlmaWNhdGUgaXMgbm90IHRydXN0ZWQuMA0G
-CSqGSIb3DQEBBQUAA4GBAHGB4RQMAgBdeT2hxfOr6f2nA/dZm+M5yX5daUtZnET9
-Ed0A9sazLawfN2G1KFQT9kxEParAyoAkpbMAsRrnRz/9cM3OHgFm/NiKRnf50DpT
-7oCx0I/65mVD2kt+xXE62/Ii5KPnTufIkPi2uLvURCia1tTS8JmJ8dtxDGyQt8BR
------END CERTIFICATE-----
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrefprovider.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CApaApplication class implementation
-*
-*/
-
-
-#include <eikstart.h>
-#include "mnrpapplication.h"
-
-LOCAL_C CApaApplication* NewApplication()
-{
-    return new CMnrpApplication;
-}
-
-TInt E32Main()
-{
-    return EikStart::RunApplication( NewApplication );
-}
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrefproviderback.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Main application methods
-*
-*/
-
-
-#include <eikstart.h>
-#include "mnrpapplicationback.h"
-
-LOCAL_C CApaApplication* NewApplication()
-{
-    return new CMnrpApplicationBack;
-}
-
-TInt E32Main()
-{
-    return EikStart::RunApplication( NewApplication );
-}
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrefproviderplugin.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Main application methods
-*
-*/
-
-
-#include <e32base.h>
-#include <ecom/ecom.h>
-#include <ecom/implementationproxy.h>
-
-#include "debug.h"
-#include "mnrpcoordconverter.h"
-
-// ========================== GLOBAL FUNCTIONS ===============================
-
-// ---------------------------------------------------------------------------
-// Table of implementations
-// ---------------------------------------------------------------------------
-//
-const TImplementationProxy ImplementationTable[] =
-    {
-    // Note! UID below is implementation UID, not DLL UID.
-    IMPLEMENTATION_PROXY_ENTRY( 0x03133038, CMnrpCoordConverter::NewL ),
-    };
-
-// ---------------------------------------------------------------------------
-// Note this function must be exported at ordinal 1
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(
-    TInt& aTableCount)
-    {
-    aTableCount = 1;
-    return ImplementationTable;
-    }
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpappcontrol.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpAppControlclass implementation
-*
-*/
-
-
-#include <coemain.h>
-#include <akndef.h>
-#include "mnrpappview.h"
-#include "mnrpappcontrol.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpAppControl::CMnrpAppControl( CMnrpAppView& aView )
-: iView( aView )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpAppControl::~CMnrpAppControl()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpAppControl* CMnrpAppControl::NewL( CMnrpAppView& aView, const TRect& aRect)
-    {
-    CMnrpAppControl* self = new (ELeave) CMnrpAppControl( aView );
-    CleanupStack::PushL( self );
-    self->ConstructL( aRect );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TInt CMnrpAppControl::CountComponentControls() const 
-    { 
-    return 0; 
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CCoeControl* CMnrpAppControl::ComponentControl( TInt /*aIndex*/ ) const
-    {
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppControl::ConstructL( const TRect& aRect )
-    {
-    // Create a window for this application view
-    CreateWindowL();
-
-    // Set the windows size
-    SetRect( aRect );
-
-    // Activate the window, which makes it ready to be drawn
-    ActivateL();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppControl::Draw( const TRect& /*aRect*/ ) const
-    {
-    // Get the standard graphics context
-    CWindowGc& gc = SystemGc();
-
-    // Gets the control's extent
-    TRect rect = Rect();
-
-    // Clears the screen
-    gc.Clear( rect );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppControl::HandleResourceChange( TInt aType )
-    {
-    CCoeControl::HandleResourceChange( aType );
-    if ( aType == KEikDynamicLayoutVariantSwitch )
-        {
-        SetRect( iView.ClientRect() );
-        }
-    }
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpapplication.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpApplication class implementation
-*
-*/
-
-
-#include "debug.h"
-
-#include "mnrpdocument.h"
-#include "mnrpappserver.h"
-#include "mnrpapplication.h"
-
-// UID for the application, this should match the uid defined in the mmp file.
-static const TUid KUidMnRefProviderApp = {0x03132013};
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CApaDocument* CMnrpApplication::CreateDocumentL()
-    {  
-    LOG( "MnRefProvider: CreateDocumentL" );
-    CApaDocument* document = CMnrpDocument::NewL( *this );
-    return document;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TUid CMnrpApplication::AppDllUid() const
-    {
-    // Return the UID for the MnRefProvider application
-    return KUidMnRefProviderApp;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpApplication::NewAppServerL( CApaAppServer*& aAppServer )
-    {
-    LOG( "MnRefProvider: NewAppServerL" );
-    aAppServer = new (ELeave) CMnrpAppServer;
-    }
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpapplicationback.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpApplicationGeoGeo class implementation
-*
-*/
-
-
-#include "debug.h"
-
-#include "mnrpdocumentback.h"
-#include "mnrpappserverback.h"
-#include "mnrpapplicationback.h"
-
-// UID for the application, this should match the uid defined in the mmp file.
-static const TUid KUidMnRefProviderBackApp = {0x03132014};
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CApaDocument* CMnrpApplicationBack::CreateDocumentL()
-    {  
-    LOG( "MnRefProviderBack: CreateDocumentL" );
-    CApaDocument* document = CMnrpDocumentBack::NewL( *this );
-    return document;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TUid CMnrpApplicationBack::AppDllUid() const
-    {
-    // Return the UID for the MnRefProvider application
-    return KUidMnRefProviderBackApp;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpApplicationBack::NewAppServerL( CApaAppServer*& aAppServer )
-    {
-    LOG( "MnRefProviderBack: NewAppServerL" );
-    aAppServer = CMnrpAppServerBack::NewL();
-    }
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpappserver.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,125 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpAppServer class implementation
-*
-*/
-
-
-#include <mnappserviceuids.hrh>
-#include "debug.h"
-
-#include <lbsposition.h>
-#include <epos_cposlandmark.h>
-
-#include "mnrpnavigationservice.h"
-#include "mnrpmapviewservice.h"
-
-#include <MnRefProvider.rsg>
-#include "mnrpappui.h"
-#include "mnrpengine.h"
-#include "mnrpappserver.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpAppServer::~CMnrpAppServer()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CApaAppServiceBase* CMnrpAppServer::CreateServiceL(TUid aServiceType) const
-    {  
-    LOG1("MnRefProvider::CreateServiceL, svcUid = %X", aServiceType.iUid);
-    switch ( aServiceType.iUid )
-        {
-        case KMnAppMapViewService:
-            return CreateMapViewServiceL();
-
-        case KMnAppNavigationService:
-            return CreateNavigationServiceL();
-            
-        default:
-            return CAknAppServer::CreateServiceL( aServiceType );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpAppServer::HandleAllClientsClosed()
-    {
-    LOG( "MnRefProvider: HandleAllClientsClosed" );
-    CMnrpAppUi* appUi = AppUi();
-    if ( appUi )
-    	{
-    	if ( appUi->IsChainedMode() ) 
-    		{
-    		// close
-    		CAknAppServer::HandleAllClientsClosed();
-    		}
-    	else // standalone mode
-    		{
-    		if ( !appUi->IsAnyUserViewActive() )
-    			{
-	    		// close
-	    		CAknAppServer::HandleAllClientsClosed();
-    			}
-    		else
-    			{	
-    			// "remain active until user closes me"
-    			}
-    		}	
-    	}
-	else
-        {
-        CAknAppServer::HandleAllClientsClosed();
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpNavigationService* CMnrpAppServer::CreateNavigationServiceL() const
-    {
-    LOG( "MnRefProvider: CreateNavigationServiceL" );
-    CMnrpNavigationService* svc = CMnrpNavigationService::NewL();
-    return svc;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapViewService* CMnrpAppServer::CreateMapViewServiceL() const
-    {
-    LOG( "MnRefProvider: CreateMapViewServiceL" );
-    CMnrpMapViewService* svc = CMnrpMapViewService::NewL();
-    return svc;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpAppUi* CMnrpAppServer::AppUi()
-    {
-    CMnrpAppUi* ui = (CMnrpAppUi*) CEikonEnv::Static()->AppUi();
-    if ( !ui )
-        {
-        LOG("MnRefProvider: UI not found!");
-        }
-    return ui;
-    }
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpappserverback.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpAppServerBack class implementation
-*
-*/
-
-
-#include <mnappserviceuids.hrh>
-#include "debug.h"
-
-#include <lbsposition.h>
-#include <epos_cposlandmark.h>
-
-#include "mnrpgeocodingservice.h"
-
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-#include "mnrpmapimageservice.h"
-#endif
-
-#include "mnrpappuiback.h"
-#include "mnrpengine.h"
-#include "mnrpappserverback.h"
-
-// ============================ LOCAL FUNCTIONS ===============================
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpAppServerBack::~CMnrpAppServerBack()
-    {
-    delete iEngine;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpAppServerBack* CMnrpAppServerBack::NewL()
-    {
-    CMnrpAppServerBack* self = new (ELeave) CMnrpAppServerBack();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppServerBack::ConstructL()
-    {
-    iEngine = CMnrpEngine::NewL();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CApaAppServiceBase* CMnrpAppServerBack::CreateServiceL(TUid aServiceType) const
-    {
-    LOG1("MnRefProviderBack::CreateServiceL, svcUid = %X", aServiceType.iUid);
-    switch ( aServiceType.iUid )
-        {
-        case KMnAppGeocodingService:
-            return CreateGeocodingServiceL();
-
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-        case KMnAppMapImageService:
-            return CreateMapImageServiceL();
-#endif
-        default:
-            return CAknAppServer::CreateServiceL( aServiceType );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpGeocodingService* CMnrpAppServerBack::CreateGeocodingServiceL() const
-    {
-    LOG( "MnRefProviderBack: CreateGeocodingServiceL" );
-    CMnrpGeocodingService* svc = CMnrpGeocodingService::NewL( *iEngine );
-    return svc;
-    }
-
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapImageService* CMnrpAppServerBack::CreateMapImageServiceL() const
-    {
-    LOG( "MnRefProviderBack: CreateGeocodingServiceL" );
-    CMnrpMapImageService* svc = CMnrpMapImageService::NewL( *iEngine );
-    return svc;
-    }
-#endif
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpappui.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,492 +0,0 @@
-/*
-* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpAppUi class implementation
-*
-*/
-
-
-#include <aknnavi.h>
-#include <aknnavide.h>
-#include <eikbtgpc.h>
-
-#include <akniconutils.h>
-#include <aknselectionlist.h>
-#include <gulicon.h>
-
-#include <MnRefProvider.rsg>
-#include <MnRefProvider.mbg>
-#include "mnrp.hrh"
-
-#include <epos_cposlandmark.h>
-#include <epos_cposlandmarkdatabase.h>
-
-#include "mnrpappview.h"
-#include "mnrpnaviview.h"
-#include "mnrpmapview.h"
-
-#include "mnrpmapviewservice.h"
-#include "mnrpnavigationservice.h"
-
-#include "mnrpdocument.h"
-#include "mnrpengine.h"
-#include "mnrpappui.h"
-#include "mnrputils.h"
-#include "debug.h"
-
-const TInt KDefaultLmIconIndex = 0;
-_LIT( KMbmFile, "\\resource\\apps\\MnRefProvider.mbm");
-
-// ============================ LOCAL FUNCTIONS ===============================
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CleanupIconArray( TAny* aArray )
-    {
-    LOG("MnRefProvider::CleanupIconArray in");
-    ( ( CArrayPtrSeg<CGulIcon>* ) aArray)->ResetAndDestroy();
-    delete aArray;
-    LOG("MnRefProvider::CleanupIconArray out");
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void AddIconL(
-    CArrayPtr<CGulIcon>& aIconArray,
-    const TDesC& aFileName,
-    TInt aIconIndex,
-    TInt aMaskIndex )
-    {
-    LOG("MnRefProvider::AddIconL in");
-    CFbsBitmap* icon = NULL;
-    CFbsBitmap* mask = NULL;
-
-    AknIconUtils::CreateIconLC( icon, mask, aFileName, aIconIndex, aMaskIndex );
-    CGulIcon* gul = CGulIcon::NewL( icon, mask );
-
-    gul->SetBitmapsOwnedExternally( EFalse );
-    CleanupStack::PushL( gul );
-    aIconArray.AppendL( gul );
-    CleanupStack::Pop( 3 ); // gul, icon & mask
-    LOG("MnRefProvider::AddIconL out");
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CArrayPtrSeg<CGulIcon>* CreateIconListLC( TInt aGranularity )
-    {
-    CArrayPtrSeg<CGulIcon>* iconList =
-        new (ELeave) CArrayPtrSeg<CGulIcon>( aGranularity );
-    CleanupStack::PushL( TCleanupItem( CleanupIconArray, iconList ) );
-
-    AddIconL(
-        *iconList,
-        KMbmFile,
-        EMbmMnrefproviderDefault_lm,
-        EMbmMnrefproviderDefault_lm_mask);
-
-    return iconList;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void AddLandmarkL(
-    const CPosLandmark& aLandmark,
-    CDesCArray& aTextArray,
-    CArrayPtr<CGulIcon>& aIconArray )
-    {
-    TPtrC name;
-    aLandmark.GetLandmarkName( name );
-
-    HBufC* printableName = MnrpUtils::PrintableStringLC( name );
-    
-    TPtrC iconFile;
-    TInt iconIndex, maskIndex, iconArrayIndex;
-
-    if ( aLandmark.GetIcon( iconFile, iconIndex, maskIndex ) == KErrNone )
-        {
-        AddIconL( aIconArray, iconFile, iconIndex, maskIndex );
-        iconArrayIndex = aIconArray.Count() - 1;
-        }
-    else
-        {
-        iconArrayIndex = KDefaultLmIconIndex;
-        }
-
-    _LIT(KListItemFormat, "%d\t%S\t\t");
-    const TInt KListItemMinSize = 20;
-
-    HBufC* item = HBufC::NewLC( printableName->Size() + KListItemMinSize );
-    item->Des().Format( KListItemFormat, iconArrayIndex, printableName );
-
-    aTextArray.AppendL( *item );
-
-    CleanupStack::PopAndDestroy( item );
-    CleanupStack::PopAndDestroy( printableName );
-    }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpAppUi::CMnrpAppUi( CMnrpEngine& aEngine )
-  : iEngine( aEngine )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppUi::ConstructL()
-    {
-    BaseConstructL( EAknEnableSkin );
-    
-    // This is empty view, it will be shown by UI framework,
-    // when application starts
-    iAppView = CMnrpAppView::NewL();
-    AddViewL( iAppView );
-
-    if ( !iEikonEnv->StartedAsServerApp() )
-        {
-        // switch to map view if started normally
-        iMapView = CMnrpMapView::NewL( EFalse, iEngine );
-        AddViewL( iMapView );
-        ActivateLocalViewL( iMapView->Id() );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpAppUi::~CMnrpAppUi()
-    {
-    delete iNaviPaneLabel;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppUi::HandleCommandL( TInt aCommand )
-    {
-    switch(aCommand)
-        {
-        case EAknSoftkeyBack:
-        	{
-    	    CEikAppServer* server = iEikonEnv->AppServer();
-		    if ( server )
-		    	{
-		        server->NotifyServerExit( EEikCmdExit );
-		    	}
-		    Exit();	
-        	break;
-        	}
-        	
-        case EEikCmdExit:
-        case EAknSoftkeyExit:
-            {
-    	    CEikAppServer* server = iEikonEnv->AppServer();
-		    if ( server )
-		    	{
-		        server->NotifyServerExit( EAknCmdExit ); // this will close client also
-		    	}
-		    Exit();	
-        	break;
-            }
-        default:
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TBool CMnrpAppUi::IsChainedMode()
-    {
-    return ( iParentWg != 0 );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TBool CMnrpAppUi::IsAnyUserViewActive()
-    {
-    TVwsViewId viewId;
-    if ( ( GetActiveViewId( viewId ) == KErrNotFound ) ||
-         ( viewId.iViewUid.iUid != EMnrpMapViewId && 
-           viewId.iViewUid.iUid != EMnrpNavigationViewId ) )
-        {
-        return EFalse;
-        }
-    else
-        {
-        return ETrue;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// ----------------------------------------------------------------------------
-//
-void CMnrpAppUi::SetNaviPaneTitleL( const TDesC& aPaneTitle )
-    {
-    if ( !iNaviPane )
-        {
-        iNaviPane = static_cast<CAknNavigationControlContainer*>(
-                StatusPane()->ControlL( TUid::Uid( EEikStatusPaneUidNavi ) ) );
-        }
-
-    if ( iNaviPaneLabel )
-        {
-        CAknNavigationDecorator* naviLabel = iNaviPane->CreateNavigationLabelL( aPaneTitle );
-        CleanupStack::PushL( naviLabel );
-
-        iNaviPane->ReplaceL( *iNaviPaneLabel, *naviLabel );
-
-        delete iNaviPaneLabel;
-        iNaviPaneLabel = naviLabel;
-
-        CleanupStack::Pop( naviLabel );
-        }
-    else
-        {
-        iNaviPaneLabel = iNaviPane->CreateNavigationLabelL( aPaneTitle );
-        iNaviPane->PushL( *iNaviPaneLabel );
-        }
-    }    
-
-// ----------------------------------------------------------------------------
-// ----------------------------------------------------------------------------
-//
-void CMnrpAppUi::SetRightSoftkeyCommandL( TInt aCommand, const TDesC& aButtonTitle )
-    {
-    if ( Cba() )
-        {
-        Cba()->SetCommandL( 1, aCommand, aButtonTitle );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TBool CMnrpAppUi::ProcessCommandParametersL( CApaCommandLine &aCommandLine )
-    {
-    iParentWg = aCommandLine.ParentWindowGroupID();
-    LOG1("parent window group id %d", iParentWg );
-    
-    return CAknAppUi::ProcessCommandParametersL( aCommandLine );
-    }
-
-// ----------------------------------------------------------------------------
-// ----------------------------------------------------------------------------
-//
-void CMnrpAppUi::HandleResourceChangeL( TInt aType )
-    {
-    CAknAppUi::HandleResourceChangeL( aType );
-    
-    TRect rect( ClientRect() );
-    if ( Cba() )
-        {
-		Cba()->SetBoundingRect( TRect() );
-		Cba()->ReduceRect( rect );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppUi::ShowMapL( CMnrpMapViewService& aService )
-    {
-    if ( !iMapView )
-        {
-        iMapView = CMnrpMapView::NewL( IsChainedMode(), iEngine );
-        AddViewL( iMapView );
-        }
-        
-    iMapView->SetMapModeL( aService );
-    ActivateLocalViewL( iMapView->Id() );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppUi::ShowNavigationL( const CPosLandmark& aDestination )
-    {
-    if ( !iNaviView )
-        {
-        iNaviView = CMnrpNaviView::NewL( IsChainedMode(), iEngine );
-        AddViewL( iNaviView );
-        }
-        
-    iNaviView->SetDestinationL( aDestination );
-    ActivateLocalViewL( iNaviView->Id() );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppUi::StartSelectionL( 
-    CMnrpMapViewService& aService,  
-    MMapSelectionCallback& aCallback )
-    {
-	SetNaviPaneTitleL( aService.SelectionRequestText() );
-
-    if ( aService.Options() & CMnMapView::EOptionRestrictSelection )
-        {
-        // select from dialog 
-        SelectFromDialogL( aService, aCallback );
-        }
-    else
-        {
-        // select from map
-        if ( !iMapView )
-            {
-            iMapView = CMnrpMapView::NewL( IsChainedMode(), iEngine );
-            AddViewL( iMapView );
-            }
-
-        iMapView->SetSelectionModeL( aService, aCallback );
-        ActivateLocalViewL( iMapView->Id() );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppUi::StopSelection()
-    {
-    __ASSERT_DEBUG( iMapView, Panic( KErrGeneral ) );
-    iMapView->StopSelection();
-
-    // Selection is done - close selection view
-    TRAP_IGNORE( ActivateLocalViewL( iAppView->Id() ) );
-    }
-    
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppUi::SelectFromDialogL(
-    CMnrpMapViewService& aService,
-    MMapSelectionCallback& aCallback )
-    {
-    LOG("MnRefProvider::SelectFromDialogL in");
-
-    const TInt KGranularity = 8;
-
-    CDesCArraySeg *textArray = new (ELeave) CDesCArraySeg( KGranularity );
-    CleanupStack::PushL( textArray );
-    CArrayPtrSeg<CGulIcon>* iconArray = CreateIconListLC( KGranularity );
-
-    TInt linkedLmsOffset = 0;
-
-    CMnrpDocument* doc = ( CMnrpDocument* ) Document();
-    CMnrpEngine& engine = doc->Engine();
-
-    // add non-linked landmarks
-    LOG("MnRefProvider::DoSelectionDialogL adding non-linked landmarks");
-    for ( TInt i = 0; i < aService.LandmarksToShow().Count(); i++)
-        {
-        const CPosLandmark* lm = aService.LandmarksToShow()[i];
-        AddLandmarkL( *lm, *textArray, *iconArray );
-        }
-
-    // add linked landmarks
-    LOG("MnRefProvider::DoSelectionDialogL adding linked landmarks");
-
-    // create dictionary of linked landmarks
-    // in order to ease searching for return values
-    // when completing request
-    RArray<TInt> dbIndices;
-    RArray<TPosLmItemId> lmIds;
-
-    CleanupClosePushL( dbIndices );
-    CleanupClosePushL( lmIds );
-
-    linkedLmsOffset = textArray->Count();
-    for ( TInt db = 0; db < aService.LandmarksToShowDatabases().Count(); db++ )
-        {
-        const HBufC* uri = aService.LandmarksToShowDatabases()[db];
-
-        CPosLandmarkDatabase* lmdb = CPosLandmarkDatabase::OpenL( *uri );
-        CleanupStack::PushL( lmdb );
-
-        if ( lmdb->IsInitializingNeeded() )
-            {
-            ExecuteAndDeleteLD( lmdb->InitializeL() );
-            }
-
-        for ( TInt i = 0; i < aService.LinkedLandmarksToShow(db).Count(); i++)
-            {
-            TPosLmItemId id = aService.LinkedLandmarksToShow(db)[i];
-
-            CPosLandmark* lm = lmdb->ReadLandmarkLC( id );
-            AddLandmarkL( *lm, *textArray, *iconArray );
-            
-            dbIndices.AppendL( db );
-            lmIds.AppendL( id );
-
-            CleanupStack::PopAndDestroy( lm );
-            }
-
-        CleanupStack::PopAndDestroy( lmdb );
-        }
-
-    TInt selected = 0;
-    CAknSelectionListDialog *dialog =
-        CAknSelectionListDialog::NewL( selected, textArray, R_MNREFPROVIDER_MENUBAR );
-
-    dialog->PrepareLC( R_MNREFPROVIDER_SELECTION_DIALOG );
-
-    dialog->SetIconArrayL( iconArray );
-    CleanupStack::Pop(); // iconArray cleanup
-
-    LOG1("MnRefProvider::SelectFromDialogL launching dialog with %d items", textArray->Count() );
-    TInt result = dialog->RunLD();
-    if ( result )
-        {
-        LOG("MnRefProvider::SelectFromDialogL approved");
-        if ( selected < linkedLmsOffset )
-            {
-            aCallback.HandleSelectionL( selected );
-            }
-        else
-            {
-            TInt linkedLmIndex = selected - linkedLmsOffset;
-            if ( linkedLmIndex < dbIndices.Count() && 
-                 linkedLmIndex < lmIds.Count() )
-                {
-                aCallback.HandleSelectionL( lmIds[linkedLmIndex], dbIndices[linkedLmIndex] );
-                }
-            else
-                {
-                // never happens
-                LOG("MnRefProvider::SelectFromDialogL selection out of range, out");
-                aCallback.HandleSelectionErrorL( KErrGeneral );
-                }
-            }
-        }
-    else
-        {
-        LOG("MnRefProvider::SelectFromDialogL cancelled, out");
-        aCallback.HandleSelectionErrorL( KErrCancel );
-        }
-
-    CleanupStack::PopAndDestroy( &lmIds );
-    CleanupStack::PopAndDestroy( &dbIndices );
-
-    CleanupStack::PopAndDestroy( textArray );
-    LOG("MnRefProvider::SelectFromDialogL out");
-}    
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpappuiback.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpAppUiBack classimplementation
-*
-*/
-
-
-#include <aknnavi.h>
-#include <aknnavide.h>
-
-#include "mnrpengine.h"
-#include "mnrpappuiback.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppUiBack::ConstructL()
-    {
-    BaseConstructL( EAknEnableSkin );
-    // no view is created as this application is intended to be run
-    // only as hidden server
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppUiBack::HandleCommandL(TInt aCommand)
-    {
-    switch(aCommand)
-        {
-        case EEikCmdExit:
-        case EAknSoftkeyExit:
-            Exit();
-            break;
-        default:
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpAppUiBack::MoveForeground()
-    {
-    RWindowGroup& window = iEikonEnv->RootWin();
-    window.SetOrdinalPosition( 0 );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpAppUiBack::MoveBackground()
-    {
-    RWindowGroup& window = iEikonEnv->RootWin();
-    window.SetOrdinalPosition( -1 );
-    }
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpappview.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpAppView class implementation
-*
-*/
-
-
-#include "mnrp.hrh"
-#include "mnrpappui.h"
-#include "mnrpappcontrol.h"
-#include "mnrpappview.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpAppView::CMnrpAppView()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpAppView::~CMnrpAppView()
-    {
-    delete iControl;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpAppView* CMnrpAppView::NewL()
-    {
-    CMnrpAppView* self = new ( ELeave ) CMnrpAppView();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppView::ConstructL()
-    {
-    BaseConstructL();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TUid CMnrpAppView::Id() const
-    {
-    return TUid::Uid( EMnrpAppViewId );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppView::DoActivateL(
-    const TVwsViewId& /*aPrevViewId*/,
-    TUid /* aCustomMessageId */,
-    const TDesC8& /* aCustomMessage */)
-    {
-    if ( !iControl )
-        {
-        iControl = CMnrpAppControl::NewL( *this, ClientRect() );
-        iControl->SetMopParent( this );
-        }
-
-    // Enable receiving of keyboard events.
-    CMnrpAppUi* ui = ( CMnrpAppUi* ) AppUi();
-    ui->AddToStackL( *this, iControl );
-
-    _LIT( KEmpty, "" );
-    ui->SetNaviPaneTitleL( KEmpty );
-
-    // Make view visible.
-    iControl->MakeVisible( ETrue );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppView::DoDeactivate()
-    {
-    if ( iControl )
-        {
-        // Hide view.
-        iControl->MakeVisible( EFalse );
-
-        // Disable receiving keyboard events.
-        AppUi()->RemoveFromStack( iControl );
-        }
-    }
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpcoordconverter.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpCoordConverter implementation
-*
-*/
-
-
-#include <e32base.h>
-
-#include "debug.h"
-#include "mnrpengine.h"
-#include "mnrpmapmodel.h"
-#include "mnrpcoordconverter.h"
-
-// ========================== MEMBER FUNCTIONS ===============================
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpCoordConverter* CMnrpCoordConverter::NewL()
-    {
-    CMnrpCoordConverter* self = new (ELeave) CMnrpCoordConverter;
-    CleanupStack::PushL( self );
-
-    self->iEngine = CMnrpEngine::NewL();
-    self->iModel = CMnrpMapModel::NewL( *self->iEngine );
-
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpCoordConverter::CMnrpCoordConverter()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpCoordConverter::~CMnrpCoordConverter()
-    {
-    delete iModel;
-    delete iEngine;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-TInt CMnrpCoordConverter::GetImageCoordinate(
-    const TCoordinate& aWorldCoordinate,
-    TPoint& aImagePoint )
-    {
-    const TMnMapImageParams& params = MapImageParams();
-
-    if ( params.ImageType() == TMnMapImageParams::ETypeSatelliteImage )
-        {
-        return KErrArgument;
-        }
-
-    iModel->UpdateModel( params );
-
-    aImagePoint = iModel->AbsoluteToScreen( aWorldCoordinate );
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-TInt CMnrpCoordConverter::GetWorldCoordinate(
-    const TPoint& aImagePoint,
-    TCoordinate& aWorldCoordinate )
-    {
-    const TMnMapImageParams& params = MapImageParams();
-
-    if ( params.ImageType() == TMnMapImageParams::ETypeSatelliteImage )
-        {
-        return KErrArgument;
-        }
-
-    iModel->UpdateModel( params );
-
-    aWorldCoordinate = iModel->ScreenToAbsolute( aImagePoint  );
-    return KErrNone;
-    }
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpdocument.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpDocument class implementation
-*
-*/
-
-
-#include "mnrpappui.h"
-#include "mnrpengine.h"
-#include "mnrpdocument.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpDocument::CMnrpDocument(CEikApplication& aApp) 
-    : CAknDocument(aApp) 
-    {
-    }   
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpDocument::ConstructL()
-    {
-    iEngine = CMnrpEngine::NewL();
-    }    
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpDocument* CMnrpDocument::NewL( CEikApplication& aApp )
-    {
-    CMnrpDocument* self = new (ELeave) CMnrpDocument(aApp);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpDocument::~CMnrpDocument()
-    {
-    delete iEngine;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpEngine& CMnrpDocument::Engine()
-    { 
-    return *iEngine; 
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CEikAppUi* CMnrpDocument::CreateAppUiL()
-    {
-    // Create the application user interface, and return a pointer to it,
-    // the framework takes ownership of this object
-    CEikAppUi* appUi = new (ELeave) CMnrpAppUi( *iEngine );
-    return appUi;
-    }
-
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpdocumentback.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpDocumentBack class implementation
-*
-*/
-
-
-#include "mnrpappuiback.h"
-#include "mnrpengine.h"
-#include "mnrpdocumentback.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpDocumentBack::CMnrpDocumentBack(CEikApplication& aApp) 
-    : CAknDocument(aApp) 
-    {
-    }   
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpDocumentBack* CMnrpDocumentBack::NewL( CEikApplication& aApp )
-    {
-    CMnrpDocumentBack* self = new (ELeave) CMnrpDocumentBack( aApp );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CEikAppUi* CMnrpDocumentBack::CreateAppUiL()
-    {
-    // Create the application user interface, and return a pointer to it,
-    // the framework takes ownership of this object
-    CEikAppUi* appUi = new (ELeave) CMnrpAppUiBack();
-    return appUi;
-    }
-
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpengine.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,433 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpEngine class implementation
-*
-*/
-
-
-#include <coemain.h>
-#include <aknlists.h>
-#include <barsread2.h>
-#include <barsc2.h> 
-
-#include <lbsposition.h>
-#include <lbspositioninfo.h>
-
-#include <epos_cposlandmark.h>
-#include <epos_cposlandmarkdatabase.h>
-
-#include <mnrefproviderengine.rsg>
-
-#include "../inc/debug.h"
-#include "mnrpengine.h"
-
-_LIT( KCitiesResourceFile, "\\resource\\mnrefproviderengine.rsc");
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpEngine::CMnrpEngine()
-    { 
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CMnrpEngine::~CMnrpEngine()
-    {
-    iPlaces.ResetAndDestroy();
-    iFileSession.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CMnrpEngine* CMnrpEngine::NewL()
-    {
-    CMnrpEngine* self = new (ELeave) CMnrpEngine();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpEngine::ConstructL()
-    {
-    User::LeaveIfError( iFileSession.Connect() );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TArray<CPosLandmark*> CMnrpEngine::KnownPlacesL()
-    {
-    if ( iPlaces.Count() == 0 )
-        {
-        TRAP_IGNORE( LoadKnownPlacesL() );
-        }
-
-    return iPlaces.Array();        
-    }
-    
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CPosLandmark* CMnrpEngine::AddressToCoordLC( const CPosLandmark& aAddress )
-    {
-    CPosLandmark* lm = AddressToCoordL( aAddress );
-    if ( lm )
-        {
-        CleanupStack::PushL( lm );
-        return lm;
-        }
-    else
-        {
-        User::Leave( KErrNotFound );
-        return NULL;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CPosLandmark* CMnrpEngine::AddressToCoordL( const CPosLandmark& aAddress )
-    {
-    TPtrC city, country;
-    aAddress.GetPositionField( EPositionFieldCity, city );
-    
-    TArray<CPosLandmark*> pois = KnownPlacesL();
-    
-    if ( city.Length() )
-        {
-        for ( TInt i = 0; i < pois.Count(); i++ )
-            {
-            TPtrC poiCity;
-            pois[i]->GetPositionField( EPositionFieldCity, poiCity );
-            if ( poiCity.CompareF( city ) == 0 )
-                {
-                return CPosLandmark::NewL( *pois[i] );
-                }
-            }
-        }
-    
-    return NULL;
-    }
-    
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CPosLandmark* CMnrpEngine::AddressToCoordLC( const TDesC& aAddress )
-    {
-    CPosLandmark* lm = AddressToCoordL( aAddress );
-    if ( lm )
-        {
-        CleanupStack::PushL( lm );
-        return lm;
-        }
-    else
-        {
-        User::Leave( KErrNotFound );
-        return NULL;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CPosLandmark* CMnrpEngine::AddressToCoordL( const TDesC& aAddress )
-    {
-    TArray<CPosLandmark*> pois = KnownPlacesL();
-
-    if ( aAddress.Length() )
-        {
-        for ( TInt i = 0; i < pois.Count(); i++ )
-            {
-            TPtrC city, country;
-            pois[i]->GetPositionField( EPositionFieldCity, city );
-            pois[i]->GetPositionField( EPositionFieldCountry, country );
-            
-            if ( aAddress.FindF( city ) >= 0 )
-                {
-                return CPosLandmark::NewL( *pois[i] );
-                }
-            }
-        }
-        
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TReal32 CMnrpEngine::DistanceBetweenLandmarks( 
-    const CPosLandmark& aFrom,
-    const CPosLandmark& aTo )
-    {
-    TRealX nan;
-    nan.SetNaN();
-    TReal32 distance = nan;
-    
-    TLocality locFrom, locTo;
-
-    if ( aFrom.GetPosition( locFrom ) == KErrNone &&
-         aTo.GetPosition( locTo ) == KErrNone )
-        {
-        TReal32 dist;
-        if ( locFrom.Distance( locTo, dist ) == KErrNone )
-            {
-            distance = dist;
-            }
-        }
-    return distance;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpEngine::FindClosestPoisL( 
-    const CPosLandmark& aReference,
-    RArray<CMnrpEngine::TDistanceToPoi>& aNeighbourPois,
-    TInt aMaxMatches )
-    {
-    aNeighbourPois.Reset();
-    TArray<CPosLandmark*> pois = KnownPlacesL();
-
-    // calc distances to known places and find out closest ones
-    for ( TInt i = 0; i < pois.Count(); i++ )
-        {
-        CPosLandmark* poi = pois[i];
-
-        TReal32 distance = DistanceBetweenLandmarks( aReference, *poi );
-        
-        if ( Math::IsNaN( distance ) )
-            {
-            continue;
-            }
-        
-        TDistanceToPoi newDistToPoi;
-        newDistToPoi.iPoiIndex = i;
-        newDistToPoi.iDistance = distance;
-
-        for ( TInt k = 0; k < aNeighbourPois.Count(); k++ )
-            {
-            TDistanceToPoi distToPoi = aNeighbourPois[k];
-            if ( distance < distToPoi.iDistance )
-                {
-                // current POI is closer to reference than current neighbour
-                aNeighbourPois.InsertL( newDistToPoi, k );
-                break;
-                }
-            }
-
-        if ( aNeighbourPois.Count() < aMaxMatches )
-            {
-            aNeighbourPois.AppendL( newDistToPoi );
-            }
-
-        if ( aNeighbourPois.Count() > aMaxMatches )
-            {
-            aNeighbourPois.Remove( aNeighbourPois.Count() - 1 ); // remove last
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CPosLandmark* CMnrpEngine::CreateCloseLandmarkLC( 
-    const CPosLandmark& aReference,
-    TReal32 aDistance )
-    {
-    CPosLandmark* lm = CPosLandmark::NewLC( aReference );
-    TPtrC oldName;
-    lm->GetLandmarkName( oldName );
-    
-    // create street in the form of "50 km to <POI name>"
-    const TInt KDistValueLen = 5; // "40000"
-    const TInt KAdditionalChars = 7; // " km to "
-
-    _LIT( KLocationNameFormat, "%d m to %S" );
-    _LIT( KLocationNameFormatKm, "%d km to %S" );
-
-    HBufC* locName = HBufC::NewLC( oldName.Length() + KDistValueLen + KAdditionalChars );
-
-    if ( aDistance < 1000 )
-        {
-        locName->Des().Format( KLocationNameFormat, TInt( aDistance ), &oldName );
-        }
-    else
-        {
-        locName->Des().Format( KLocationNameFormatKm, TInt( aDistance / 1000 ), &oldName );
-        }
-
-    lm->SetPositionFieldL( EPositionFieldLocationName, *locName );
-    lm->SetPositionFieldL( EPositionFieldStreet, *locName );
-   
-    CleanupStack::PopAndDestroy( locName );
-    return lm; // left in stack
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CPosLandmark* CMnrpEngine::CoordToAddressLC( const TCoordinate& aLocation )
-    {
-    TArray<CPosLandmark*> pois = KnownPlacesL();
-
-    // find closest POI
-    RArray<TDistanceToPoi> matches;
-	CleanupClosePushL( matches );
-    
-    CPosLandmark* temp = CPosLandmark::NewLC();
-    TLocality loc( aLocation, 0 ); // accuracy is not used by this implementation
-    temp->SetPositionL( loc );
-    FindClosestPoisL( *temp, matches, 1 ); // only one match needed
-    CleanupStack::PopAndDestroy( temp );
-    
-    if ( matches.Count() < 1 )
-		{
-		User::Leave( KErrNotFound );
-		}
-
-    TDistanceToPoi distToPoi = matches[0];
-	CleanupStack::PopAndDestroy( &matches );
-
-    CPosLandmark* lm = CreateCloseLandmarkLC(
-        *pois[distToPoi.iPoiIndex],
-        distToPoi.iDistance );
-
-    return lm; // left in stack
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpEngine::BestCoordToAddressMatchesL( 
-    const TCoordinate& aLocation,
-    RPointerArray<CPosLandmark>& aMatches,
-    TInt aMaxMatches )
-    {
-    TArray<CPosLandmark*> pois = KnownPlacesL();
-
-    // find closest POIs
-    RArray<TDistanceToPoi> matches;
-    CleanupClosePushL( matches );
-    
-    CPosLandmark* temp = CPosLandmark::NewLC();
-    TLocality loc( aLocation, 0 ); // accuracy is not used by this implementation
-    temp->SetPositionL( loc );
-    FindClosestPoisL( *temp, matches, aMaxMatches );
-    CleanupStack::PopAndDestroy( temp );
-    
-    for ( TInt i = 0; i < matches.Count(); i++ )
-        {
-        TDistanceToPoi distToPoi = matches[i];
-        
-        CPosLandmark* lm = CreateCloseLandmarkLC( 
-            *pois[distToPoi.iPoiIndex], 
-            distToPoi.iDistance );
-            
-        aMatches.AppendL( lm );    
-        CleanupStack::Pop( lm );
-        }
-    CleanupStack::PopAndDestroy( &matches );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpEngine::FindResourceFileL( 
-    const TDesC& aFilePathAndName,
-    TFileName& aRscFile )
-    {
-    TParse parse;
-    parse.Set( aFilePathAndName, NULL, NULL );
-    
-    TFindFile finder( iFileSession );
-    if ( finder.FindByDir( parse.NameAndExt(), parse.Path() ) == KErrNone )
-        {
-        aRscFile.Copy( finder.File() );
-        }
-    else
-        {
-        User::Leave( KErrNotFound );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C RFs& CMnrpEngine::Fs() 
-    { 
-    return iFileSession;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpEngine::LoadKnownPlacesL()
-    {
-    TFileName resourceFile;
-    FindResourceFileL( KCitiesResourceFile(), resourceFile );
-
-    CResourceFile* resFile = CResourceFile::NewLC( iFileSession, resourceFile, 0, 0 );
-    resFile->ConfirmSignatureL( 0 );
-
-    RResourceReader reader;
-
-    reader.OpenLC( resFile, R_MNREFPROVIDERENGINE_PLACES );
-    ReadPlacesResourceL( reader );
-    CleanupStack::PopAndDestroy( &reader );
-    
-    CleanupStack::PopAndDestroy( resFile );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpEngine::ReadPlacesResourceL( RResourceReader& aReader )
-    {
-    TInt size = aReader.ReadInt16L();
-
-    for ( TInt i = 0; i < size; i++ )
-        {
-        HBufC* city = aReader.ReadHBufCL();
-        CleanupStack::PushL( city );
-        HBufC* country = aReader.ReadHBufCL();
-        CleanupStack::PushL( country );
-
-        TReal64 lat = aReader.ReadReal64L();
-        TReal64 lon = aReader.ReadReal64L();
-        
-        CPosLandmark* lm = CPosLandmark::NewLC();
-        lm->SetLandmarkNameL( *city );
-        
-        lm->SetPositionFieldL( EPositionFieldCity, *city );
-        lm->SetPositionFieldL( EPositionFieldCountry, *country );
-        
-        TLocality coord;
-        coord.SetCoordinate( lat, lon );
-        lm->SetPositionL( coord );
-        
-        iPlaces.AppendL( lm );
-        CleanupStack::Pop( lm );
-        CleanupStack::PopAndDestroy( country );
-        CleanupStack::PopAndDestroy( city );
-        }
-    }
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpgeocodingservice.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,343 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpGeocodingService class implementation
-*
-*/
-
-
-#include <e32base.h>
-
-#include <aknnotewrappers.h>
-
-#include <lbsposition.h>
-
-#include <epos_cposlandmark.h>
-#include <epos_poslandmarkserialization.h>
-
-#include <mngeocodingservicebase.h>
-
-#include "debug.h"
-
-#include "mnrpappserverback.h"
-#include "mnrpappuiback.h"
-#include "mnrpdocumentback.h"
-#include "mnrpengine.h"
-
-#include <mnrefproviderback.rsg>
-#include "mnrpgeocodingservice.h"
-
-// ======== LOCAL FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-//  Cleanup item for RPointerArray<CPosLandmark>
-// ---------------------------------------------------------------------------
-//
-void CleanupLandmarksArray( TAny* aArray )
-    {
-    ( static_cast<RPointerArray<CPosLandmark>*>( aArray ) )->ResetAndDestroy();
-    }
-
-// ---------------------------------------------------------------------------
-//  Cleanup item for moving application fore/background
-// ---------------------------------------------------------------------------
-//
-void CleanupForeground( TAny* aAppUi )
-    {
-    ( static_cast<CMnrpAppUiBack*>( aAppUi ) )->MoveBackground();
-    }
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpGeocodingService::CMnrpGeocodingService( CMnrpEngine& aEngine )
- :  iEngine( aEngine )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpGeocodingService* CMnrpGeocodingService::NewL( CMnrpEngine& aEngine )
-    {
-    CMnrpGeocodingService* self = new (ELeave) CMnrpGeocodingService( aEngine );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpGeocodingService::~CMnrpGeocodingService()
-    {
-    delete iProcessor;
-    delete iLandmark;
-    delete iPlainAddress;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpGeocodingService::ConstructL()
-    {
-    BaseConstructL();
-    
-    iProcessor = CIdle::NewL( CActive::EPriorityIdle );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpGeocodingService::LeaveIfBusyL()
-    {
-    if ( iProcessor->IsActive() )
-        {
-        User::Leave( KErrInUse );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpGeocodingService::StartProcessingL()
-    {
-    iProcessor->Start( TCallBack( CMnrpGeocodingService::GeocodingProcessingCallBack, this ) );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-TInt CMnrpGeocodingService::GeocodingProcessingCallBack( TAny* aPtr )
-    {
-    CMnrpGeocodingService* self =    
-        static_cast<CMnrpGeocodingService*> ( aPtr );
-        
-    self->HandleGeocodingCompleted();
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpGeocodingService::HandleGeocodingCompleted()
-    {
-    TInt err = KErrNone;
-    TRAP( err, FinishProcessingL() );
-    if ( err )
-        {
-        CompleteRequest( err );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpGeocodingService::FinishProcessingL()
-    {
-    LOG1("MnRefProvider: FinishProcessingL in, cursvc %d", iCurrentService);
-
-    TLocality loc;
-    CPosLandmark* lm = NULL;
-    
-    switch ( iCurrentService )
-        {
-        case ECoordToAddr:
-                
-            if ( iDialogAllowed )
-                {
-                lm = LetUserSelectBestMatchL( *iLandmark );
-                CleanupStack::PushL( lm );
-                }
-            else
-                {
-                // search and return just best match - closest POI
-                if ( iLandmark->GetPosition( loc ) != KErrNone )
-                    {
-                    User::Leave( KErrArgument );
-                    }
-                lm = iEngine.CoordToAddressLC( loc );
-                }
-            break;
-
-        case EAddrToCoord:
-            lm = iEngine.AddressToCoordLC( *iLandmark );
-            break;
-
-        case EPlainToCoord:
-            lm = iEngine.AddressToCoordLC( *iPlainAddress );
-            break;
-            
-        default:            
-            User::Leave( KErrGeneral );
-        }
-
-    iCurrentService = ENone;    
-    
-    CompleteGeocodingRequestL( *lm );
-    CleanupStack::PopAndDestroy( lm );
-
-    LOG("MnRefProvider: FinishProcessingL out");
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CPosLandmark* CMnrpGeocodingService::LetUserSelectBestMatchL( const CPosLandmark& aReference )
-    {
-    // 1. Find best matches
-    
-    RPointerArray<CPosLandmark> matches;
-    CleanupStack::PushL( TCleanupItem( CleanupLandmarksArray, &matches ) );
-    
-    TLocality location;
-    if ( aReference.GetPosition( location ) != KErrNone )
-        {
-        User::Leave( KErrArgument );
-        }
-    
-    const TInt KMaxmMatches = 3;
-    iEngine.BestCoordToAddressMatchesL( location, matches, KMaxmMatches );
-    
-    if ( matches.Count() < 1 )
-        {
-        User::Leave( KErrNotFound ); // cannot find any match
-        }
-    
-    // 2. Start selection dialog
-    
-    TInt result = 1, selected = 0;
-    if ( matches.Count() > 1 )
-        {
-        // prepare dialog
-        const TInt KGranularity = 8;
-        CDesCArraySeg *textArray = new (ELeave) CDesCArraySeg( KGranularity );
-        CleanupStack::PushL( textArray );
-        
-        for ( TInt i = 0; i < matches.Count(); i++ )
-            {
-            HBufC* buf = HBufC::NewLC( KPosLmMaxTextFieldLength );
-            TPtrC ptr( buf->Des() );
-            
-            matches[i]->GetPositionField( EPositionFieldLocationName, ptr );
-            textArray->AppendL( ptr );
-
-            CleanupStack::PopAndDestroy( buf );
-            }
-        
-        // bring application foreground
-        CMnrpAppUiBack* ui = (CMnrpAppUiBack*) CEikonEnv::Static()->AppUi();
-        CleanupStack::PushL( TCleanupItem( CleanupForeground, ui ) );
-        ui->MoveForeground();
-
-        CAknListQueryDialog* dialog = new (ELeave) CAknListQueryDialog( &selected );
-        dialog->PrepareLC( R_MNREFGEOCODER_LIST_QUERY );
-
-        dialog->SetItemTextArray( textArray );
-        dialog->SetOwnershipType( ELbmOwnsItemArray );
-
-        // pop up dialog
-        result = dialog->RunLD();
-
-        CleanupStack::PopAndDestroy(); // move background
-        CleanupStack::Pop( textArray );
-        }
-
-    // 3. Return result
-    CPosLandmark* lm = NULL;
-    if ( result )
-        {
-        lm = matches[selected];
-        matches.Remove( selected );
-        }
-    else
-        {
-        User::Leave( KErrCancel ); 
-        // user cancelled geocoding selection dialog
-        // it automatically cancels geocoding request
-        }
-
-    CleanupStack::PopAndDestroy(); // matches
-    return lm;
-    }
-
-// ---------------------------------------------------------------------------
-// From class CMnGeocodingServiceBase
-// ---------------------------------------------------------------------------
-//
-void CMnrpGeocodingService::HandleFindAddressByCoordinateL(
-    const CPosLandmark& aLandmark)
-    {
-    LeaveIfBusyL();
-
-    delete iLandmark;
-    iLandmark = NULL;
-    iLandmark = CPosLandmark::NewL(aLandmark);
-    
-    iCurrentService = ECoordToAddr;
-    iDialogAllowed = !( Options() & CMnGeocoder::EOptionDialogDisabled );
-    StartProcessingL();
-    }
-        
-// ---------------------------------------------------------------------------
-// From class CMnGeocodingServiceBase
-// ---------------------------------------------------------------------------
-//
-void CMnrpGeocodingService::HandleFindCoordinateByAddressL(
-    const CPosLandmark& aLandmark)
-    {
-    LeaveIfBusyL();
-
-    delete iLandmark;
-    iLandmark = NULL;
-    iLandmark = CPosLandmark::NewL( aLandmark );
-    
-    iCurrentService = EAddrToCoord;
-    iDialogAllowed = !( Options() & CMnGeocoder::EOptionDialogDisabled );
-    StartProcessingL();
-    }
-
-// ---------------------------------------------------------------------------
-// From class CMnGeocodingServiceBase
-// ---------------------------------------------------------------------------
-//
-void CMnrpGeocodingService::HandleFindCoordinateByAddressL(
-    const TDesC& aAddress)
-    {
-    LeaveIfBusyL();
-
-    delete iPlainAddress;
-    iPlainAddress = NULL;
-    iPlainAddress = aAddress.AllocL();
-    
-    delete iLandmark;
-    iLandmark = NULL;
-    iLandmark = CPosLandmark::NewL();
-    
-    iCurrentService = EPlainToCoord;
-    iDialogAllowed = !( Options() & CMnGeocoder::EOptionDialogDisabled );
-    StartProcessingL();
-    }
-
-// ---------------------------------------------------------------------------
-// From class CMnServiceBase
-// ---------------------------------------------------------------------------
-//
-void CMnrpGeocodingService::DoCancel()
-    {
-    iProcessor->Cancel();
-    iCurrentService = ENone;
-    }
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpmapcontrol.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,644 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpMapControl class implementation
-*
-*/
-
-
-#include <coemain.h>
-#include <aknlists.h>
-#include <barsread.h>
-#include <aknnotewrappers.h>
-
-#include <bitstd.h>
-#include <bitdev.h>
-
-#include <lbsposition.h>
-
-#include "debug.h"
-
-#include "mnrputils.h"
-#include "mnrpmapview.h"
-#include "mnrpmapcontrol.h"
-
-const TInt KCodeKeyLeft = 0x34;
-const TInt KCodeKeyRight = 0x36;
-const TInt KCodeKeyUp = 0x32;
-const TInt KCodeKeyDown = 0x38;
-const TInt KCodeKeyCenter = 0x35;
-
-const TInt KCodeKeySelect = EKeyDevice3;
-const TInt KCodeKeySelect2 = 0x13;
-
-const TInt KCodeKeyZoomIn = 42;
-const TInt KCodeKeyZoomOut = 35;
-const TInt KCodeKeyZoomIn2 = 0x33;
-const TInt KCodeKeyZoomOut2 = 0x39;
-
-const TRgb KCursorColor( 255, 255, 255 );
-const TRgb KGridTextColor( 0, 0, 0 );
-const TRgb KOriginMarkColor( 0, 0, 255 );
-
-const TInt KTextFontHeightInTwips = 100;
-const TInt KItemFontHeightInTwips = 120;
-const TReal KBorderSizeFactor = 2;
-
-const TInt KCursorMarginSize = 20; // pixels
-const TInt KCursorArrowSize = 4; // pixels
-const TInt KCursorCircleRadius = 4; // pixels
-
-const TInt KCursorMove = 10; // pixels
-const TInt KWindowMove = 20; // pixels
-const TReal KJumpFactor = 5;
-const TReal KCrawlFactor = 2.0 / KCursorMove;
-
-const TReal KZoomOutRate = 1.5;
-const TReal KZoomInRate =  1 / KZoomOutRate;
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapControl::CMnrpMapControl( CMnrpMapView& aView )
- :  iView( aView )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapControl::~CMnrpMapControl()
-    {
-    delete iModel;
-    delete iOffScreenBitmap;
-    DestroyFonts();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapControl* CMnrpMapControl::NewL( 
-    CMnrpMapView& aView,
-    const TRect& aRect,
-    CMnrpEngine& aEngine )
-    {
-    CMnrpMapControl* self = new ( ELeave ) CMnrpMapControl( aView );
-    CleanupStack::PushL( self );
-    self->ConstructL( aRect, aEngine );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::UpdateModelL( CMnrpMapViewService& aService )
-    {
-    iModel->UpdateModelL( aService );
-    }
-    
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::SetSelectionModeL( TBool aSelectionMode ) 
-    {
-    iSelectionMode = aSelectionMode;
-    iAbsoluteCursor = iModel->Center();
-    iCursor = iModel->AbsoluteToScreen( iAbsoluteCursor );
-    DrawDeferred();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TCoordinate CMnrpMapControl::CurrentLocation()
-    {
-    return iAbsoluteCursor;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::ConstructL( 
-    const TRect& aRect,
-    CMnrpEngine& aEngine )
-    {
-    // Create a window for this application view
-    CreateWindowL();
-
-    iModel = CMnrpMapModel::NewL( *this, aEngine );
-
-    // Set the windows size
-    SetRect( aRect );
-    
-    iAbsoluteCursor = TCoordinate( 0, 0 );
-    iCursor = iModel->AbsoluteToScreen( iAbsoluteCursor );
-    
-    CreateFonts();
-    CreateScreenBufferL( aRect.Size() );
-
-    // Activate the window, which makes it ready to be drawn
-    ActivateL();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CMnrpMapControl::OfferKeyEventL(
-    const TKeyEvent& aKeyEvent, 
-    TEventCode /*aType*/ )
-    {
-    TKeyResponse response = EKeyWasConsumed;
-    
-    TInt step = iSelectionMode ? KCursorMove : KWindowMove;
-    TBool isShift = aKeyEvent.iModifiers & EModifierShift;
-    TReal crawlFactor = isShift ? KCrawlFactor : 1;
-
-    TInt xmove = 0;
-    TInt ymove = 0;
-    
-    TBool redraw = ETrue;
-
-    switch ( aKeyEvent.iCode )
-        {
-        case EKeyLeftArrow:
-            xmove = -step * crawlFactor;
-            break;
-
-        case KCodeKeyLeft:
-            xmove = -step * KJumpFactor;
-            break;
-
-        case EKeyRightArrow:
-            xmove = step * crawlFactor;
-            break;
-
-        case KCodeKeyRight:
-            xmove = step * KJumpFactor;
-            break;
-
-        case EKeyUpArrow:
-            ymove = -step * crawlFactor;
-            break;
-
-        case KCodeKeyUp:
-        case EKeyPageUp:
-            ymove = -step * KJumpFactor;
-            break;
-
-        case EKeyDownArrow:
-            ymove = step * crawlFactor;
-            break;
-            
-        case KCodeKeyDown:
-        case EKeyPageDown:
-            ymove = step * KJumpFactor;
-            break;
-
-        case KCodeKeyZoomIn:
-        case KCodeKeyZoomIn2:
-            Zoom( KZoomInRate );
-            break;
-
-        case KCodeKeyZoomOut:
-        case KCodeKeyZoomOut2:
-            Zoom( KZoomOutRate );
-            break;
-
-        case KCodeKeyCenter:
-            iModel->GoCenter();
-            iCursor = iModel->AbsoluteToScreen( TCoordinate( 0, 0 ) );
-            break;
-
-        case KCodeKeySelect:
-        case KCodeKeySelect2:
-            if ( iSelectionMode )
-                {
-                iView.HandleUserSelectionL( KErrNone );
-                redraw = EFalse;
-                }
-            break;
-
-        default:
-            response = EKeyWasNotConsumed;
-            redraw = EFalse;
-            break;
-        }
-
-    if ( xmove || ymove )
-        {
-        if ( iSelectionMode )
-            {
-            MoveCursor( xmove, ymove );
-            }
-        else
-            {
-            TCoordinate center = iModel->Center();
-            TCoordinate moveTo( 
-                center.Latitude() - iModel->ScreenToAbsolute( ymove ),
-                center.Longitude() + iModel->ScreenToAbsolute( xmove ) );
-            iModel->MoveTo( moveTo );
-            }
-        }
-
-    if ( redraw )
-        {
-        RenderL();
-        DrawDeferred();
-        }
-
-    return response;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::HandleModelUpdateL()
-    {
-    RenderL();
-    DrawDeferred();
-    
-    TInt ignored = iModel->NumIgnoredLandmarks();
-    if ( ignored )
-    	{
-        CAknInformationNote* note = new (ELeave) CAknInformationNote( ETrue );
-        _LIT( KMessageIgnoredLm, "One landmark\nhas no coordinates\nand can't be shown." );
-        _LIT( KMessageIgnoredLms, "%d landmarks\nhave no coordinates\nand can't be shown." );
-        if ( ignored == 1 )
-        	{
-        	note->ExecuteLD( KMessageIgnoredLm() );
-        	}
-        else
-        	{
-            TBuf<64> message;
-        	message.Format( KMessageIgnoredLms, ignored );
-        	note->ExecuteLD( message );
-        	}
-    	}
-    }
-    
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::CreateScreenBufferL( const TSize& aSize )
-	{
-	CGraphicsDevice* screenDevice = iEikonEnv->ScreenDevice();
-
-	// create a bitmap to be used off-screen
-	CFbsBitmap* offScreenBitmap = new (ELeave) CFbsBitmap();
-	User::LeaveIfError( offScreenBitmap->Create( aSize, screenDevice->DisplayMode() ) );
-	CleanupStack::PushL( offScreenBitmap );
-
-	if ( iOffScreenBitmap )
-		{
-		delete iOffScreenBitmap;
-		}
-	iOffScreenBitmap = offScreenBitmap;
-
-	CleanupStack::Pop( offScreenBitmap );
-	}
-
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::CreateFonts()
-	{
-    CGraphicsDevice* screenDevice = iEikonEnv->ScreenDevice();
-
-    const CFont* denseFont = iEikonEnv->DenseFont();
-    TFontSpec fs = denseFont->FontSpecInTwips();
-
-    fs.iHeight = KTextFontHeightInTwips;
-    screenDevice->GetNearestFontInTwips( iTextFont, fs );
-    
-    fs.iHeight = KItemFontHeightInTwips;
-    screenDevice->GetNearestFontInTwips( iItemFont, fs );
-	}
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::DestroyFonts()
-	{
-	CGraphicsDevice* screenDevice = iEikonEnv->ScreenDevice();
-	
-    screenDevice->ReleaseFont( iItemFont );
-    iItemFont = NULL;
-    screenDevice->ReleaseFont( iTextFont );
-    iTextFont = NULL;
-	}
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::Draw( const TRect& /*aRect*/ ) const
-    {
-    // Get the standard graphics context
-    CWindowGc& gc = SystemGc();
-
-    TRect rect = Rect();
-    TRect border( rect );
-    border.Shrink( BorderSize() );
-	
-    gc.Clear( TRect( rect.iTl.iX, rect.iTl.iY, rect.iBr.iX, border.iBr.iY ) );
-    gc.Clear( TRect( rect.iTl.iX, border.iBr.iY, rect.iBr.iX, rect.iBr.iY ) );
-    gc.Clear( TRect( rect.iTl.iX, border.iTl.iY, border.iTl.iX, border.iBr.iY ) );
-    gc.Clear( TRect( border.iBr.iX, border.iTl.iY, rect.iBr.iX, border.iBr.iY ) );
-
-    CMnrpMapModel::TGrid grid;
-    iModel->GetGrid( grid );
-    DrawGridText( gc, border, rect, iTextFont, grid );
-
-	if ( iOffScreenBitmap )
-		{
-		gc.BitBlt( border.iTl, iOffScreenBitmap );
-		}
-	else
-		{
-		gc.Clear();	
-		}
-			
-    if ( iSelectionMode )
-        {
-        gc.SetOrigin( border.iTl );
-        DrawCursor( gc );
-        }
-
-    // draw border
-    gc.SetPenColor( KRgbGray );
-    gc.SetPenSize( TSize( 1, 1 ) );
-    gc.SetOrigin( rect.iTl );
-    gc.DrawRect( border );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::DrawGridText( 
-    CWindowGc& aGc, 
-    const TRect& aInnerBox,
-    const TRect& aOuterBox,
-    const CFont* aFont,
-    CMnrpMapModel::TGrid& aGrid ) const
-    {
-    aGc.UseFont( aFont );
-    
-    TBuf<KMaxCoordStrSize> latTopStr, latBottomStr, lonLeftStr, lonRightStr;
-    TBuf<KMaxCoordStrSize> gridMajorStr, latStr, lonStr;
-    
-    MnrpUtils::CoordinateToString( iModel->Left(), lonLeftStr, ETrue );
-    MnrpUtils::CoordinateToString( iModel->Top(), latTopStr, ETrue );
-    MnrpUtils::CoordinateToString( iModel->Right(), lonRightStr, ETrue );
-    MnrpUtils::CoordinateToString( iModel->Bottom(), latBottomStr, ETrue );
-
-    if ( !iSelectionMode )
-        {
-        MnrpUtils::CoordinateToString( ( iModel->Right() + iModel->Left() ) / 2, lonStr, ETrue );
-        MnrpUtils::CoordinateToString( ( iModel->Top() + iModel->Bottom() ) / 2, latStr, ETrue );
-        }
-    else
-        {
-        MnrpUtils::CoordinateToString( iAbsoluteCursor.Longitude(), lonStr, ETrue );
-        MnrpUtils::CoordinateToString( iAbsoluteCursor.Latitude(), latStr, ETrue );
-        }
-
-    MnrpUtils::CoordinateToString( aGrid.iAbsoluteGridStep, gridMajorStr );
-
-    TRect lonBox( aInnerBox.iTl.iX, 0, aInnerBox.iBr.iX, aInnerBox.iBr.iY );
-    TRect latBox( 0, aInnerBox.iTl.iY, aInnerBox.iTl.iX, aInnerBox.iBr.iY );
-    TRect centerBox( aInnerBox.iTl.iX, aInnerBox.iBr.iY, aInnerBox.iBr.iX, aOuterBox.iBr.iY );
-
-    TInt textBaseLine = aFont->AscentInPixels() + KBorderSizeFactor / 2;
-    TInt vertTextBaseLine = aFont->AscentInPixels() + KBorderSizeFactor / 2;
-
-    aGc.SetPenColor( KGridTextColor );
-
-    aGc.DrawText( lonLeftStr, lonBox, textBaseLine, CGraphicsContext::ELeft );
-    aGc.DrawText( lonRightStr, lonBox, textBaseLine, CGraphicsContext::ERight );
-    aGc.DrawTextVertical( latTopStr, latBox, vertTextBaseLine, EFalse, CGraphicsContext::ELeft );
-    aGc.DrawTextVertical( latBottomStr, latBox, vertTextBaseLine, EFalse, CGraphicsContext::ERight );
-
-    aGc.DrawText( gridMajorStr, lonBox, textBaseLine, CGraphicsContext::ECenter );
-
-    aGc.SetPenColor( KOriginMarkColor );
-    aGc.DrawText( latStr, centerBox, textBaseLine, CGraphicsContext::ELeft );
-    aGc.DrawText( lonStr, centerBox, textBaseLine, CGraphicsContext::ERight );
-    
-    aGc.DiscardFont();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::DrawCursor( CWindowGc& aGc ) const
-    {
-    aGc.SetPenColor( KCursorColor );
-    aGc.SetPenSize( TSize( 1, 1 ) );
-    aGc.SetDrawMode( CGraphicsContext::EDrawModeNOTSCREEN );
-    
-    TRect cursorCircleRect( iCursor, TSize( 0, 0 ) );
-    cursorCircleRect.Grow( KCursorCircleRadius, KCursorCircleRadius );
-    aGc.DrawEllipse( cursorCircleRect );
-    
-    // upper vertical line
-    aGc.DrawLine( TPoint( iCursor.iX, cursorCircleRect.iTl.iY ), 
-                  TPoint( iCursor.iX, cursorCircleRect.iTl.iY - KCursorArrowSize ) );
-    // lower vertical line
-    aGc.DrawLine( TPoint( iCursor.iX, cursorCircleRect.iBr.iY ), 
-                  TPoint( iCursor.iX, cursorCircleRect.iBr.iY + KCursorArrowSize ) );
-
-    // left horiz line
-    aGc.DrawLine( TPoint( cursorCircleRect.iTl.iX, iCursor.iY ), 
-                  TPoint( cursorCircleRect.iTl.iX - KCursorArrowSize, iCursor.iY ) );
-    // right horiz line
-    aGc.DrawLine( TPoint( cursorCircleRect.iBr.iX, iCursor.iY ), 
-                  TPoint( cursorCircleRect.iBr.iX + KCursorArrowSize, iCursor.iY ) );
-
-    aGc.SetDrawMode( CGraphicsContext::EDrawModePEN );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::SizeChanged()
-    {
-    TRect rect( Rect() );
-    
-    DestroyFonts();
-    CreateFonts();
-    
-    rect.Shrink( BorderSize() );
-    iViewSize = rect.Size();
-    iModel->SetScreenSize( iViewSize );
-    TRAP_IGNORE( CreateScreenBufferL( rect.Size() ) );
-    TRAP_IGNORE( RenderL() );
-    DrawDeferred();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::HandleResourceChange( TInt aType )
-    {
-    CCoeControl::HandleResourceChange( aType );
-    if ( aType == KEikDynamicLayoutVariantSwitch )
-        {
-        SetFullScreen( iIsFullScreen );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::ToggleFullScreen()
-    {
-    SetFullScreen( !iIsFullScreen );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::SetFullScreen( TBool aFullScreen )
-    {
-    iIsFullScreen = aFullScreen;
-    if ( iIsFullScreen)
-        {
-        SetExtentToWholeScreen();
-        }
-    else
-        {
-        SetRect( iView.ClientRect() );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::MoveCursor( TInt aXmove, TInt aYmove )
-    {
-    iCursor += TPoint( aXmove, aYmove );
-
-    iCursor.iX = Max( 0, iCursor.iX );
-    iCursor.iX = Min( iViewSize.iWidth, iCursor.iX );
-
-    iCursor.iY = Max( 0, iCursor.iY );
-    iCursor.iY = Min( iViewSize.iHeight, iCursor.iY );
-
-    // verify cursor margin
-    TRect cursorMargin = CursorMargin();
-    
-    iAbsoluteCursor = iModel->ScreenToAbsolute( iCursor );
-    
-    TReal xcorrection = 0;
-    TReal ycorrection = 0;
-
-    if ( aXmove > 0 ) // moving right
-        {
-        TInt toMargin = iCursor.iX - cursorMargin.iBr.iX;
-        if ( toMargin > 0 ) // cursor went beyond cursor margin, move view
-            {
-            xcorrection = iModel->ScreenToAbsolute( toMargin );
-            }
-        }
-    else if ( aXmove < 0 ) // moving left
-        {
-        TInt toMargin = iCursor.iX - cursorMargin.iTl.iX;
-        if ( toMargin < 0 )
-            {
-            xcorrection = iModel->ScreenToAbsolute( toMargin );
-            }
-        }
-
-    if ( aYmove > 0 ) // moving down
-        {
-        TInt toMargin = iCursor.iY - cursorMargin.iBr.iY;
-        if ( toMargin > 0 )
-            {
-            ycorrection = -iModel->ScreenToAbsolute( toMargin );
-            }
-        }
-    else if ( aYmove < 0 ) // moving up
-        {
-        TInt toMargin = iCursor.iY - cursorMargin.iTl.iY;
-        if ( toMargin < 0 )
-            {
-            ycorrection = -iModel->ScreenToAbsolute( toMargin );
-            }
-        }
-    
-    TCoordinate center = iModel->Center();
-    TCoordinate moveTo( 
-        center.Latitude() + ycorrection,
-        center.Longitude() + xcorrection );
-    iModel->MoveTo( moveTo );
-
-    iCursor = iModel->AbsoluteToScreen( iAbsoluteCursor );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TRect CMnrpMapControl::CursorMargin()
-    {
-    TRect rect( iViewSize );
-    rect.Shrink( KCursorMarginSize, KCursorMarginSize );
-    return rect;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::Zoom( TReal aRate )
-    {
-    if ( iSelectionMode )
-        {
-        iModel->MoveTo( iAbsoluteCursor );
-        iModel->Zoom( aRate );
-        iCursor = iModel->AbsoluteToScreen( iAbsoluteCursor );
-        }
-    else
-        {
-        iModel->Zoom( aRate );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TSize CMnrpMapControl::BorderSize() const 
-    {
-	TSize size( 0, 0 );
-	if ( iTextFont )
-		{
-	    TInt fontHeight = iTextFont->HeightInPixels();
-	    
-	    size.iWidth = size.iHeight = TInt( fontHeight + KBorderSizeFactor );
-		}
-    return size;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::RenderL()
-    {
-    TRect rect = Rect();
-    TRect border( rect );
-    border.Shrink( BorderSize() );
-
-    if ( iOffScreenBitmap && iTextFont && iItemFont )
-        {
-        iModel->RenderL( *iOffScreenBitmap, TRect( border.Size() ), iTextFont, iItemFont );
-        }
-    }
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpmapimageservice.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,243 +0,0 @@
-/*
-* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  ÑMnrpMapImageService class implementation
-*
-*/
-
-
-#include <e32base.h>
-#include <e32math.h>
-#include <e32property.h>
-#include <eikenv.h>
-#include <gdi.h>
-
-#include <lbsposition.h>
-
-#include <epos_cposlandmark.h>
-#include <epos_poslandmarkserialization.h>
-
-#include <mnmapimage.h>
-#include <mnmapimageparams.h>
-#include <mnmapimageservicebase.h>
-
-#include "debug.h"
-#include "mnrpengine.h"
-#include "mnrpappuiback.h"
-#include "mnrpappserverback.h"
-#include "mnrpmapmodel.h"
-#include "mnrpmapimageservice.h"
-
-const TInt KTextFontHeightInTwips = 100;
-const TInt KItemFontHeightInTwips = 120;
-
-const TTimeIntervalMicroSeconds32 KProcessingDelay = 200 * 1000;
-
-// ======== LOCAL FUNCTIONS ========
-
-extern void CoordinateToString( TReal aCoord, TDes& aStr );
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpMapImageService* CMnrpMapImageService::NewL( CMnrpEngine& aEngine )
-    {
-    CMnrpMapImageService* self = new (ELeave) CMnrpMapImageService( aEngine );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpMapImageService::CMnrpMapImageService( CMnrpEngine& aEngine )
-  : iEngine( aEngine )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpMapImageService::~CMnrpMapImageService()
-    {
-	if ( iProcessor )
-		{
-	    iProcessor->Cancel();
-	    delete iProcessor;
-		}
-    delete iModel;
-    DestroyFonts();
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapImageService::ConstructL()
-    {
-    BaseConstructL();
-
-    iEikon = CEikonEnv::Static();
-    CreateFonts();
-
-    iModel = CMnrpMapModel::NewL( iEngine );
-    iProcessor = CPeriodic::NewL( CActive::EPriorityIdle );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapImageService::LeaveIfBusyL()
-    {
-    if ( iProcessor->IsActive() )
-        {
-        LOG("CMnRefProviderMapViewService::LeaveIfBusyL BUSY");
-        User::Leave( KErrInUse );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapImageService::StartProcessingL()
-    {
-    iProcessor->Start( KProcessingDelay, KProcessingDelay,
-        TCallBack( CMnrpMapImageService::MapImageProcessingCallBack, this ) );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-TInt CMnrpMapImageService::MapImageProcessingCallBack( TAny* aPtr )
-    {
-    CMnrpMapImageService* self =
-        static_cast<CMnrpMapImageService*> ( aPtr );
-
-    TRAP_IGNORE( self->HandleMapImageCompletedL() );
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapImageService::HandleMapImageCompletedL()
-    {
-    iProcessor->Cancel();
-    TInt err = KErrNone;
-    TRAP( err, FinishProcessingL() );
-    if ( err )
-        {
-        CompleteRequest( err );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapImageService::RenderL()
-    {
-    TMnMapImageParams& params = MapImageParams();
-
-    if ( params.Direction() != 0 ||
-         params.ImageType() != TMnMapImageParams::ETypeVectorMap )
-        {
-        User::Leave( KErrNotSupported );
-        }
-
-    CFbsBitmap& bitmap = TargetBitmap();
-
-    iModel->SetScreenSize( params.Size() );
-    iModel->UpdateModelL( *this );
-    iModel->RenderL( bitmap, TRect( params.Size() ), iTextFont, iItemFont );
-
-    // complete request
-    params.SetProjectionId(0);
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapImageService::CreateFonts()
-	{
-    CGraphicsDevice* screenDevice = iEikon->ScreenDevice();
-
-    const CFont* denseFont = iEikon->DenseFont();
-    TFontSpec fs = denseFont->FontSpecInTwips();
-
-    fs.iHeight = KTextFontHeightInTwips;
-    screenDevice->GetNearestFontInTwips( iTextFont, fs );
-
-    fs.iHeight = KItemFontHeightInTwips;
-    screenDevice->GetNearestFontInTwips( iItemFont, fs );
-	}
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapImageService::DestroyFonts()
-	{
-	CGraphicsDevice* screenDevice = iEikon->ScreenDevice();
-
-    screenDevice->ReleaseFont( iItemFont );
-    screenDevice->ReleaseFont( iTextFont );
-	}
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapImageService::FinishProcessingL()
-    {
-    LOG1("FinishProcessingL in, cursvc %d", iCurrentService);
-    TCoordinate coord;
-    switch ( iCurrentService )
-        {
-        case ERender:
-            {
-            RenderL();
-            }
-            break;
-
-        default:
-            User::Leave( KErrGeneral );
-        }
-
-    iCurrentService = ENone;
-    CompleteRendering();
-    LOG("FinishProcessingL out");
-    }
-
-// ---------------------------------------------------------------------------
-// From class CMnMapImageServiceBase
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapImageService::HandleRenderingL()
-    {
-    LeaveIfBusyL();
-
-    iCurrentService = ERender;
-    StartProcessingL();
-    }
-
-// ---------------------------------------------------------------------------
-// From class CMnServiceBase
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapImageService::DoCancel()
-    {
-    iProcessor->Cancel();
-    iCurrentService = ENone;
-    }
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpmapmodel.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1251 +0,0 @@
-/*
-* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpMapModel class implementation
-*
-*/
-
-
-
-#include <coemain.h>
-#include <barsread.h>
-#include <bautils.h>
-
-#include <aknlists.h>
-#include <akniconutils.h>
-#include <aknwaitdialog.h>
-
-#include <fbs.h>
-#include <imageconversion.h>
-#include <icl/imagedata.h>
-
-#include <lbs.h>
-#include <lbsposition.h>
-#include <lbspositioninfo.h>
-
-#include <epos_cposlandmark.h>
-#include <epos_cposlandmarkdatabase.h>
-#include <epos_cposlandmarkcategory.h>
-#include <epos_cposlmcategorymanager.h>
-
-#include "debug.h"
-#include "mnrpengine.h"
-#include "mnrputils.h"
-#include "mnrpappserver.h"
-
-#include "mnrpmapviewservice.h"
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-#include "mnrpmapimageservice.h"
-#endif
-#include "mnrpmapmodel.h"
-
-const TInt KUpdateInterval = 1 * 1000 * 1000; // 1 sec
-const TInt KUpdateTimeout = 10 * 1000 * 1000; // 10 sec
-
-const TInt KMaxX = 180;
-const TInt KMinX = -180;
-const TInt KMapWidth = KMaxX - KMinX;
-
-const TInt KMaxY = 90;
-const TInt KMinY = -90;
-const TInt KMapHeight = KMaxY - KMinY;
-
-const TReal KDegree = 1.0;
-const TReal KMinute = KDegree / 60.0;
-const TReal KSecond = KMinute / 60.0;
-const TReal KMilliSecond = KSecond / 1000.0;
-
-const TReal KMaxCell = 60 * KDegree;
-const TReal KMinScale = 10 * KMilliSecond; // 0.01 second / 1 px
-
-const TInt KBigCellsInView = 2;
-
-const TInt KCellDividers[] = { 6, 2, 5 };
-const TInt KNumCellDividers = 3;
-
-const TReal KDefaultRadius = 1; // 1 degree
-const TReal KRadiusBorderFactor = 1.1; // 110%
-
-const TReal KEarthEquator = 40075000;
-//const TReal KEarthRadius = 6371010;
-
-const TInt KLmTextOffset = 3;
-const TInt KLmTextShadowOffset = 1;
-
-const TInt KGridPenSize( 1 );
-
-// ============================ LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TPoint AbsoluteToImage( TRealPoint aAbsolute, TReal aImageToAbsoluteScale )
-    {
-    TInt s = ( KMapWidth / 2 + aAbsolute.iX ) / aImageToAbsoluteScale;
-    TInt t = ( KMapHeight / 2 - aAbsolute.iY ) / aImageToAbsoluteScale;
-
-    return TPoint( s , t );
-    }
-
-// ============================ MEMBER CLASSES' FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-//  TRealPoint implementation
-// -----------------------------------------------------------------------------
-//
-
-TRealPoint::TRealPoint()
-    {
-    TRealX nan;
-    nan.SetNaN();
-
-    iX = nan;
-    iY = nan;
-    }
-
-TRealPoint::TRealPoint( TReal aX, TReal aY )
-    : iX( aX ), iY( aY )
-    {
-    }
-
-TRealPoint::TRealPoint( TCoordinate aCoordinate )
-    : iX( aCoordinate.Longitude() ), iY( aCoordinate.Latitude() )
-    {
-    }
-
-TCoordinate TRealPoint::Coordinate()
-    {
-    return TCoordinate( iY, iX );
-    }
-
-TRealPoint TRealPoint::operator+(
-    const TRealPoint& aRight )
-    {
-    return TRealPoint( this->iX + aRight.iX, this->iY + aRight.iY );
-    }
-
-TRealPoint TRealPoint::operator-(
-    const TRealPoint& aRight )
-    {
-    return TRealPoint( this->iX - aRight.iX, this->iY - aRight.iY );
-    }
-
-TRealPoint TRealPoint::operator*( const TReal& aRight )
-    {
-    return TRealPoint( this->iX * aRight, this->iY * aRight );
-    }
-
-TRealPoint TRealPoint::operator/( const TReal& aRight )
-    {
-    return TRealPoint( this->iX / aRight, this->iY / aRight );
-    }
-
-void TRealPoint::Set( TReal aX, TReal aY )
-    {
-    iX = aX;
-    iY = aY;
-    }
-
-TBool TRealPoint::IsValid()
-    {
-    return ( !Math::IsNaN( iX ) && !Math::IsNaN( iY ) );
-    }
-
-// -----------------------------------------------------------------------------
-//  CDrawItem implementation
-// -----------------------------------------------------------------------------
-//
-CMnrpMapModel::CDrawItem* CMnrpMapModel::CDrawItem::NewLC(
-    const CPosLandmark& aLm )
-    {
-    CDrawItem* self = new (ELeave) CDrawItem;
-    CleanupStack::PushL( self );
-
-    TPtrC name;
-    aLm.GetLandmarkName( name );
-    self->iText = MnrpUtils::PrintableStringLC( name );
-    CleanupStack::Pop( self->iText );
-
-    TLocality loc;
-    if ( KErrNone == aLm.GetPosition( loc ) )
-        {
-        self->SetAbsolutePosition( loc );
-        }
-
-    TPtrC iconFile;
-    TInt iconIndex, maskIndex;
-    if ( KErrNone == aLm.GetIcon( iconFile, iconIndex, maskIndex ) )
-        {
-        AknIconUtils::CreateIconL( self->iBitmap, self->iMask, iconFile, iconIndex, maskIndex );
-        AknIconUtils::PreserveIconData( self->iBitmap );
-        }
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapModel::CDrawItem* CMnrpMapModel::CDrawItem::NewLC(
-    const CPosLandmark& aLm,
-    CPosLmCategoryManager& aCatman )
-    {
-    CDrawItem* self = NewLC( aLm );
-
-    if ( !self->iBitmap )
-        {
-        // try icon from category
-        RArray<TPosLmItemId> cats;
-        CleanupClosePushL( cats );
-        aLm.GetCategoriesL( cats );
-
-        if ( cats.Count() == 1 )
-            {
-            CPosLandmarkCategory* cat = aCatman.ReadCategoryLC( cats[0] );
-
-            TPtrC iconFile;
-            TInt iconIndex, maskIndex;
-            if ( KErrNone == cat->GetIcon( iconFile, iconIndex, maskIndex ) )
-                {
-                AknIconUtils::CreateIconL( self->iBitmap, self->iMask, iconFile, iconIndex, maskIndex );
-                AknIconUtils::PreserveIconData( self->iBitmap );
-                }
-
-            CleanupStack::PopAndDestroy( cat );
-            }
-        CleanupStack::PopAndDestroy( &cats );
-        }
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapModel::CDrawItem::SetAbsolutePosition( const TLocality& aLocality )
-    {
-    iAbsolutePosition = TRealPoint( aLocality.Longitude(), aLocality.Latitude() );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapModel::CDrawItem::~CDrawItem()
-    {
-    if ( iBitmap )
-        {
-        AknIconUtils::DestroyIconData( iBitmap );
-        }
-    delete iBitmap;
-    delete iMask;
-    delete iText;
-    }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapModel::CMnrpMapModel(
-    MMapModelObserver& aObserver,
-    CMnrpEngine& aEngine )
-    :
-    iObserver( &aObserver ), iEngine( aEngine )
-    {
-    iScale = 1;
-    iViewOrigin.Set( 0, 0 );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapModel::CMnrpMapModel( CMnrpEngine& aEngine )
-    : iEngine( aEngine )
-    {
-    iScale = 1;
-    iViewOrigin.Set( 0, 0 );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapModel::~CMnrpMapModel()
-    {
-    delete iPositionRequest;
-    iDrawItems.ResetAndDestroy();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CMnrpMapModel* CMnrpMapModel::NewL(
-    MMapModelObserver& aObserver,
-    CMnrpEngine& aEngine )
-    {
-    CMnrpMapModel* self = new (ELeave) CMnrpMapModel( aObserver, aEngine );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CMnrpMapModel* CMnrpMapModel::NewL( CMnrpEngine& aEngine )
-    {
-    CMnrpMapModel* self = new (ELeave) CMnrpMapModel( aEngine );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapModel::ConstructL()
-    {
-    _LIT( KRequestorName, "MnRefProvider" );
-    iPositionRequest = CMnrpPositionRequest::NewL( KRequestorName, *this );
-
-    TPositionUpdateOptions options;
-    options.SetUpdateInterval( TTimeIntervalMicroSeconds( KUpdateInterval ) );
-    options.SetUpdateTimeOut( TTimeIntervalMicroSeconds( KUpdateTimeout ) );
-    iPositionRequest->SetOptionsL( options );
-
-    AddCitiesL();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TBool CMnrpMapModel::CheckDrawItemHasPositionL( CDrawItem& aItem, const CPosLandmark& aLandmark )
-	{
-    if ( !aItem.AbsolutePosition().IsValid() )
-        {
-        // try to find coordinate by address
-        CPosLandmark* poi = iEngine.AddressToCoordL( aLandmark );
-        if ( poi )
-        	{
-            TLocality pos;
-            poi->GetPosition( pos );
-            aItem.SetAbsolutePosition( pos );
-        	}
-    	delete poi;
-        }
-    
-    return aItem.AbsolutePosition().IsValid();
-	}
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpMapModel::UpdateModelL( CMnrpMapViewService& aService )
-    {
-    ASSERT( iObserver );
-
-    iDrawItems.ResetAndDestroy();
-
-    iShowCurrentLocation =
-        aService.CurrentLocationOption() != CMnMapView::ECurrentLocationDisabled;
-
-    if ( iShowCurrentLocation )
-        {
-        iPositionRequest->FetchNewPosition();
-        }
-
-    // Add client-defined marks
-    
-    iNumIgnoredLandmarks = 0;
-    TRealPoint min, max;
-
-    // add non-linked landmarks
-    for ( TInt i = 0; i < aService.LandmarksToShow().Count(); i++)
-        {
-        const CPosLandmark* lm = aService.LandmarksToShow()[i];
-        
-        CDrawItem* item = CDrawItem::NewLC( *lm );
-        if ( CheckDrawItemHasPositionL( *item, *lm ) )
-        	{
-        	iDrawItems.AppendL( item );
-            CleanupStack::Pop( item );
-            AdjustBoundingBox( *item, min, max );
-        	}
-        else
-        	{
-            CleanupStack::PopAndDestroy( item );
-            iNumIgnoredLandmarks++;
-        	}
-        }
-
-    // add linked landmarks
-    for ( TInt db = 0; db < aService.LandmarksToShowDatabases().Count(); db++ )
-        {
-        const HBufC* uri = aService.LandmarksToShowDatabases()[db];
-
-        LOG1("MnRefProvider::LinkedLandmarks: database (%S)", uri );
-
-        CPosLandmarkDatabase* lmdb = CPosLandmarkDatabase::OpenL( *uri );
-        CleanupStack::PushL( lmdb );
-
-        if ( lmdb->IsInitializingNeeded() )
-            {
-            ExecuteAndDeleteLD( lmdb->InitializeL() );
-            }
-
-        CPosLmCategoryManager* catman = CPosLmCategoryManager::NewL( *lmdb );
-        CleanupStack::PushL( catman );
-
-        for ( TInt i = 0; i < aService.LinkedLandmarksToShow(db).Count(); i++)
-            {
-            TPosLmItemId id = aService.LinkedLandmarksToShow(db)[i];
-            LOG1("MnRefProvider::LinkedLandmarks: id (%d)", id );
-
-            CPosLandmark* lm = lmdb->ReadLandmarkLC( id );
-
-            CDrawItem* item = CDrawItem::NewLC( *lm, *catman );
-            if ( CheckDrawItemHasPositionL( *item, *lm ) )
-            	{
-            	iDrawItems.AppendL( item );
-                CleanupStack::Pop( item );
-                AdjustBoundingBox( *item, min, max );
-            	}
-            else
-            	{
-                CleanupStack::PopAndDestroy( item );
-                iNumIgnoredLandmarks++;
-            	}
-
-            CleanupStack::PopAndDestroy( lm );
-            }
-
-        CleanupStack::PopAndDestroy( catman );
-        CleanupStack::PopAndDestroy( lmdb );
-        }
-
-    // Add predefined places
-    AddCitiesL();
-
-    LOG4("MnRefProvider::BoundingBox: %f, %f, %f, %f", min.iX, min.iY, max.iX, max.iY );
-
-    // set origin
-    iUseCurrentLocationAsOrigin = EFalse;
-    if ( aService.IsAreaCentralPointSet() )
-        {
-        TCoordinate center;
-        aService.GetAreaCentralPoint( center );
-        iViewOrigin.Set( center.Longitude(), center.Latitude() );
-        }
-    else if ( !Math::IsNaN( max.iX ) ) // others are also valid then
-        {
-        iViewOrigin.Set( ( max.iX + min.iX ) / 2, ( max.iY + min.iY ) / 2 );
-        }
-    else if ( iShowCurrentLocation )
-        {
-        // get current location and use it as center point
-        // this implementation defers location acquiring
-        iUseCurrentLocationAsOrigin = ETrue;
-        // FetchCurrentLocation();
-        iViewOrigin.Set( 0, 0 );
-        }
-    else
-        {
-        iViewOrigin.Set( 0, 0 );
-        }
-
-    LOG2("MnRefProvider: viewOrigin (%f, %f)", iViewOrigin.iX, iViewOrigin.iY);
-
-    // set scale
-    TReal desiredScale = 0;
-    TReal radius = 0;
-
-    if ( !Math::IsNaN( aService.AreaRadius() ) )
-        {
-         // Radius setting is easy in this implementation
-         // because map is rectangular just convert meters to degrees
-        radius = Abs( aService.AreaRadius() ) / KEarthEquator * 360;
-        LOG1("MnRefProvider: user radius (%f)", radius );
-        }
-    else if ( !Math::IsNaN( max.iX ) ) // others are also valid then
-        {
-        // get radius from bounding box
-        radius = Max( Abs( max.iX - min.iX ), Abs( max.iY - min.iY ) );
-        LOG2("MnRefProvider: bounding radius (%f), with border (%f)", radius, radius * KRadiusBorderFactor );
-        radius *= KRadiusBorderFactor;
-        }
-    else
-        {
-        // default radius
-        }
-
-    if ( radius <= 0 )
-        {
-        radius = KDefaultRadius;
-        LOG1("MnRefProvider: default radius (%f)", radius );
-        }
-
-    desiredScale = radius / TReal( Max( iScreenSize.iWidth, iScreenSize.iHeight ) );
-
-    LOG3("MnRefProvider: desired scale (%f), min (%f), max(%f)",
-        desiredScale, KMinScale, MaxScale() );
-
-    iScale = Max( Min( desiredScale, MaxScale() ), KMinScale );
-    CheckBorders();
-
-    LOG1("MnRefProvider: scale (%f)", iScale );
-
-    iObserver->HandleModelUpdateL();
-    }
-
-
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpMapModel::UpdateModelL( const CMnrpMapImageService& aService )
-    {
-    iDrawItems.ResetAndDestroy();
-
-    iShowCurrentLocation =
-        aService.ShowOptions() & CMnMapImage::EShowOptionCurrentLocation;
-
-    if ( iShowCurrentLocation )
-        {
-        iPositionRequest->FetchNewPosition();
-        }
-
-    if ( aService.ShowOptions() & CMnMapImage::EShowOptionLandmarks)
-        {
-
-        // Add user-defined marks
-        TRealPoint min, max;
-
-        // add default landmarks
-        CPosLandmarkDatabase* lmdb = CPosLandmarkDatabase::OpenL();
-        CleanupStack::PushL( lmdb );
-
-        if ( lmdb->IsInitializingNeeded() )
-            {
-            ExecuteAndDeleteLD( lmdb->InitializeL() );
-            }
-
-        CPosLmCategoryManager* catman = CPosLmCategoryManager::NewL( *lmdb );
-        CleanupStack::PushL( catman );
-
-        CPosLmItemIterator* iter = lmdb->LandmarkIteratorL();
-        CleanupStack::PushL( iter );
-
-        TInt count = iter->NumOfItemsL();
-        for ( TInt i = 0; i < count; i++)
-            {
-            TPosLmItemId id = iter->NextL();
-
-            CPosLandmark* lm = lmdb->ReadLandmarkLC( id );
-
-            CDrawItem* item = CDrawItem::NewLC( *lm, *catman );
-            if ( CheckDrawItemHasPositionL( *item, *lm ) )
-            	{
-            	iDrawItems.AppendL( item );
-                CleanupStack::Pop( item );
-                AdjustBoundingBox( *item, min, max );
-            	}
-            else
-            	{
-                CleanupStack::PopAndDestroy( item );
-            	}
-
-            CleanupStack::PopAndDestroy( lm );
-            }
-        CleanupStack::PopAndDestroy( iter );
-        CleanupStack::PopAndDestroy( catman );
-        CleanupStack::PopAndDestroy( lmdb );
-
-        LOG4("MnRefProvider::BoundingBox: %f, %f, %f, %f", min.iX, min.iY, max.iX, max.iY );
-        }
-
-    if ( aService.ShowOptions() & CMnMapImage::EShowOptionPois )
-        {
-        // Add predefined places
-        AddCitiesL();
-        }
-
-    TMnMapImageParams params = aService.MapImageParams();
-
-    UpdateModel( params );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpMapModel::UpdateModel( const TMnMapImageParams& aParams )
-    {
-    SetScreenSize( aParams.Size() );
-
-    TCoordinate center;
-    aParams.GetCenterPoint( center );
-    iViewOrigin.Set( center.Longitude(), center.Latitude() );
-
-    LOG2("MnRefProvider: viewOrigin (%f, %f)", iViewOrigin.iX, iViewOrigin.iY);
-
-    // set scale
-    TReal desiredScale = 0;
-    TReal32 width, height;
-    aParams.GetVisibleArea( width, height );
-    TReal radius = Max( width, height );
-
-    if ( radius <= 0 )
-        {
-        radius = KDefaultRadius;
-        LOG1("MnRefProvider: default radius (%f)", radius );
-        }
-
-    desiredScale = radius / TReal( Max( iScreenSize.iWidth, iScreenSize.iHeight ) );
-
-    LOG3("MnRefProvider: desired scale (%f), min (%f), max(%f)",
-        desiredScale, KMinScale, MaxScale() );
-
-    iScale = Max( Min( desiredScale, MaxScale() ), KMinScale );
-    CheckBorders();
-
-    LOG1("MnRefProvider: scale (%f)", iScale );
-    }
-#endif
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapModel::AddCitiesL()
-    {
-    TArray<CPosLandmark*> places = iEngine.KnownPlacesL();
-    for ( TInt i = 0; i < places.Count(); i++)
-        {
-        CPosLandmark* lm = places[i];
-        CDrawItem* item = CDrawItem::NewLC( *lm );
-        item->iOwnPoi = ETrue;
-        iDrawItems.AppendL( item );
-        CleanupStack::Pop( item );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpMapModel::GetGrid( CMnrpMapModel::TGrid& aGrid ) const
-    {
-    TReal angle = Min( Width(), Height() );
-
-    TReal minAngle = Min( iScreenSize.iWidth, iScreenSize.iHeight ) * KMinScale;
-
-    if ( angle > minAngle )
-        {
-        // 1. Find nice grid scale
-
-        TInt dividerIndex = 0;
-        TReal cellSize = KMaxCell;
-
-        while ( cellSize * KBigCellsInView > angle )
-            {
-            cellSize /= KCellDividers[dividerIndex];
-
-            if ( ++dividerIndex == KNumCellDividers )
-                {
-                dividerIndex = 0;
-                }
-            }
-
-        aGrid.iAbsoluteGridStep = cellSize;
-
-        // 2. Find closest grid point
-
-        TReal x = TInt( iViewOrigin.iX / cellSize ) * cellSize;
-        TReal y = TInt( iViewOrigin.iY / cellSize ) * cellSize;
-
-        aGrid.iAbsoluteReference = TRealPoint( x, y ).Coordinate();
-        }
-    else
-        {
-        aGrid.iAbsoluteReference = TCoordinate( 0, 0 );
-        aGrid.iAbsoluteGridStep = minAngle / KBigCellsInView;
-        }
-
-    // convert to screen coordinates
-    aGrid.iReference = AbsoluteToScreen( aGrid.iAbsoluteReference );
-    aGrid.iGridStep = AbsoluteToScreen( aGrid.iAbsoluteGridStep );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpMapModel::Zoom( TReal aZoomRate )
-    {
-    iScale *= aZoomRate;
-    CheckBorders();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpMapModel::GoCenter()
-    {
-    iViewOrigin.Set( 0, 0 );
-    CheckBorders();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpMapModel::MoveTo( TCoordinate aTarget )
-    {
-    iViewOrigin = aTarget;
-    CheckBorders();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapModel::CheckBorders()
-    {
-    if ( Height() > KMapHeight || Width() > KMapWidth )
-        {
-        iScale = MaxScale();
-        }
-    if ( iScale < KMinScale )
-        {
-        iScale = KMinScale;
-        }
-    if ( Left() < KMinX )
-        {
-        iViewOrigin.iX = KMinX + Width() / 2;
-        }
-    if ( Right() > KMaxX )
-        {
-        iViewOrigin.iX = KMaxX - Width() / 2;
-        }
-    if ( Top() > KMaxY )
-        {
-        iViewOrigin.iY = KMaxY - Height() / 2;
-        }
-    if ( Bottom() < KMinY )
-        {
-        iViewOrigin.iY = KMinY + Height() / 2;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TReal CMnrpMapModel::Left() const
-    {
-    return iViewOrigin.iX - Width() / 2;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TReal CMnrpMapModel::Right() const
-    {
-    return iViewOrigin.iX + Width() / 2;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TReal CMnrpMapModel::Top() const
-    {
-    return iViewOrigin.iY + Height() / 2;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TReal CMnrpMapModel::Bottom() const
-    {
-    return iViewOrigin.iY - Height() / 2;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TReal CMnrpMapModel::Width() const
-    {
-    return TReal( iScreenSize.iWidth ) * iScale;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TReal CMnrpMapModel::Height() const
-    {
-    return TReal( iScreenSize.iHeight ) * iScale;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TCoordinate CMnrpMapModel::Center() const
-    {
-    return TCoordinate( iViewOrigin.iY, iViewOrigin.iX );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TArray<CMnrpMapModel::CDrawItem*> CMnrpMapModel::Items() const
-    {
-    // adjust all items to screen coordinates
-    for ( TInt i = 0; i < iDrawItems.Count(); i++ )
-        {
-        iDrawItems[i]->iScreenPosition = AbsoluteToScreen( iDrawItems[i]->iAbsolutePosition );
-        }
-    return iDrawItems.Array();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapModel::TCurrentLocation CMnrpMapModel::CurrentLocation() const
-    {
-    TCurrentLocation current;
-
-    TPosition pos;
-    iPosInfo.GetPosition( pos );
-
-    current.iAbsoluteLocation = pos;
-
-    if ( !Math::IsNaN( pos.Latitude() ) && !Math::IsNaN( pos.Longitude() ) )
-        {
-        current.iLocation = AbsoluteToScreen( current.iAbsoluteLocation );
-
-        // calculate error radius in degrees and pixels
-        if ( !Math::IsNaN( pos.HorizontalAccuracy() ) )
-            {
-            current.iAbsoluteErrorDegrees = ( pos.HorizontalAccuracy() / KEarthEquator ) * 360;
-            current.iErrorRadius = current.iAbsoluteErrorDegrees / iScale;
-            }
-        else
-            {
-            current.iErrorRadius = 0;
-            current.iAbsoluteErrorDegrees = 0;
-            }
-
-        current.iIsValid = ETrue;
-        }
-    else
-        {
-        current.iIsValid = EFalse;
-        }
-
-    return current;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpMapModel::SetScreenSize( TSize aScreenSize )
-    {
-    __ASSERT_DEBUG( aScreenSize.iWidth >= 1 && aScreenSize.iHeight >= 1,
-                    Panic( KErrGeneral ) );
-    iScreenSize = aScreenSize;
-    CheckBorders();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TReal CMnrpMapModel::MaxScale() const
-    {
-    TReal scaleByWidth = KMapWidth / TReal( iScreenSize.iWidth );
-    TReal scaleByHeight = KMapHeight / TReal( iScreenSize.iHeight );
-    return Min( scaleByWidth, scaleByHeight );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TPoint CMnrpMapModel::AbsoluteToScreen( TRealPoint aAbsolutePoint ) const
-    {
-    TRealPoint realScreen = ( aAbsolutePoint - TRealPoint( Left(), Bottom() ) ) / iScale;
-    return TPoint( realScreen.iX, iScreenSize.iHeight - realScreen.iY );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TPoint CMnrpMapModel::AbsoluteToScreen( TCoordinate aAbsolutePoint ) const
-    {
-    TRealPoint real( aAbsolutePoint.Longitude(), aAbsolutePoint.Latitude() );
-    return AbsoluteToScreen( real );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TInt CMnrpMapModel::AbsoluteToScreen( TReal aDistance ) const
-    {
-    return aDistance / iScale;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TCoordinate CMnrpMapModel::ScreenToAbsolute( TPoint aScreenPoint ) const
-    {
-    TReal xdiff = aScreenPoint.iX * iScale;
-    TReal ydiff = aScreenPoint.iY * iScale;
-    return TCoordinate( Top() - ydiff, Left() + xdiff );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TReal CMnrpMapModel::ScreenToAbsolute( TInt aDistance ) const
-    {
-    return aDistance * iScale;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapModel::AdjustBoundingBox(
-    CMnrpMapModel::CDrawItem& aItem,
-    TRealPoint& aMin,
-    TRealPoint& aMax )
-    {
-    // X
-    if ( !Math::IsNaN( aItem.iAbsolutePosition.iX ) )
-        {
-        if ( Math::IsNaN( aMin.iX ) || aItem.iAbsolutePosition.iX < aMin.iX )
-            {
-            aMin.iX = aItem.iAbsolutePosition.iX;
-            }
-        if ( Math::IsNaN( aMax.iX ) || aItem.iAbsolutePosition.iX > aMax.iX )
-            {
-            aMax.iX = aItem.iAbsolutePosition.iX;
-            }
-        }
-
-    // Y
-    if ( !Math::IsNaN( aItem.iAbsolutePosition.iY ) )
-        {
-        if ( Math::IsNaN( aMin.iY ) || aItem.iAbsolutePosition.iY < aMin.iY )
-            {
-            aMin.iY = aItem.iAbsolutePosition.iY;
-            }
-        if ( Math::IsNaN( aMax.iY ) || aItem.iAbsolutePosition.iY > aMax.iY )
-            {
-            aMax.iY = aItem.iAbsolutePosition.iY;
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapModel::HandlePositionRequestCompletedL( TInt aError )
-    {
-    if ( !aError )
-        {
-        iPositionRequest->GetPosition( iPosInfo );
-        if ( iObserver )
-            {
-            iObserver->HandleModelUpdateL();
-            }
-        }
-    if ( iShowCurrentLocation )
-        {
-        iPositionRequest->FetchNewPosition();
-        }
-    }
-
-// =====================================================
-// DRAWING METHODS
-// =====================================================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpMapModel::RenderL(
-    CFbsBitmap& aBitmap,
-    TRect aTargetRect,
-    CFont* aTextFont,
-    CFont* aItemFont ) const
-	{
-	// create an off-screen device and context
-	CFbsBitmapDevice* bitmapDevice = CFbsBitmapDevice::NewL( &aBitmap );
-	CleanupStack::PushL( bitmapDevice );
-
-	CFbsBitGc* gc = NULL;
-	User::LeaveIfError( bitmapDevice->CreateContext( gc ) );
-	CleanupStack::PushL( gc );
-
-    gc->UseFont( aTextFont );
-
-    // get data
-    TGrid grid;
-    GetGrid( grid );
-
-    TBool isBackground = EFalse;
-    // background
-    if ( !isBackground )
-        {
-        // no map background, clear map area
-        gc->Clear( aTargetRect );
-        }
-
-    gc->SetClippingRect( aTargetRect );
-    gc->SetOrigin( aTargetRect.iTl );
-
-    DrawGrid( *gc, aTargetRect.Size(), grid );
-
-    gc->DiscardFont(); // text font
-    gc->UseFont( aItemFont );
-
-    // draw items
-    DrawLandmarks( *gc, *aItemFont, aTargetRect.Size(), isBackground ); // invert shadow and text color
-    DrawCurrentLocation( *gc, aTargetRect.Size() );
-
-    // cleanup
-
-    gc->DiscardFont(); // item font
-
-	CleanupStack::PopAndDestroy( gc );
-	CleanupStack::PopAndDestroy( bitmapDevice );
-	}
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CMnrpMapModel::NumIgnoredLandmarks()
-	{
-	return iNumIgnoredLandmarks;
-	}
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapModel::DrawGrid(
-    CFbsBitGc& aGc,
-    const TSize& aBoxSize,
-    CMnrpMapModel::TGrid& aGrid ) const
-    {
-    const TRgb KGridLineColor( 128, 128, 128 );
-
-    aGc.SetPenSize( TSize( KGridPenSize, KGridPenSize ) );
-    aGc.SetPenColor( KGridLineColor );
-
-    if ( aGrid.iGridStep > 0 )
-        {
-        // 1. Vertical lines
-        TInt x = aGrid.iReference.iX;
-        // find leftmost vertical line
-        while ( x > 0 )
-        	{
-        	x -= aGrid.iGridStep;
-        	}
-        x += aGrid.iGridStep;
-        // draw lines selecting different line colors for major and minor lines
-        while ( x < aBoxSize.iWidth )
-            {
-            DrawVerticalLine( aGc, x, aBoxSize );
-            x += aGrid.iGridStep;
-            }
-
-        // 2. Horizontal lines
-        TInt y = aGrid.iReference.iY;
-        // find topmost vertical line
-        while ( y > 0 )
-        	{
-        	y -= aGrid.iGridStep;
-        	}
-        y += aGrid.iGridStep;
-        // draw lines selecting different line colors for major and minor lines
-        while ( y < aBoxSize.iHeight )
-            {
-            DrawHorizontalLine( aGc, y, aBoxSize );
-            y += aGrid.iGridStep;
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapModel::DrawVerticalLine( CFbsBitGc& aGc, TInt aX, TSize aBoxSize ) const
-    {
-    aGc.DrawLine( TPoint( aX, 0 ), TPoint( aX, aBoxSize.iHeight ) );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapModel::DrawHorizontalLine( CFbsBitGc& aGc, TInt aY, TSize aBoxSize ) const
-    {
-    aGc.DrawLine( TPoint( 0, aY ), TPoint( aBoxSize.iWidth, aY ) );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapModel::DrawLandmarks(
-    CFbsBitGc& aGc,
-    CFont& aFont,
-    const TSize& aBoxSize,
-    TBool aSwitchColorAndShadow ) const
-    {
-    const TSize KItemMarkSize( 3, 3 ); // pixels
-    const TSize KItemIconSize( 20, 20 ); // pixels
-
-    const TRgb KPoiColor( 0, 0, 192 );
-    const TRgb KPoiTextColor( 0, 0, 0 );
-    const TRgb KPoiTextShadowColor( 224, 224, 224 );
-    const TRgb KLmColor( 255, 0, 0 );
-    const TRgb KLmTextColor( 255, 0, 0 );
-    const TRgb KLmTextShadowColor( 224, 224, 224 );
-
-    TArray<CMnrpMapModel::CDrawItem*> items = Items();
-
-    RArray<TRect> textBoxes;
-
-    for ( TInt i = 0; i < items.Count(); i++ )
-        {
-        const TPoint& pos = items[i]->Position();
-        if ( pos.iX >= 0 && pos.iX < aBoxSize.iWidth &&
-             pos.iY >= 0 && pos.iY < aBoxSize.iHeight )
-            {
-            CFbsBitmap* icon = items[i]->Bitmap();
-            CFbsBitmap* mask = items[i]->Mask();
-
-            if ( icon && mask )
-                {
-                AknIconUtils::SetSize( icon, KItemIconSize );
-
-                TRect iconBox( pos, KItemIconSize );
-                iconBox.Move( -iconBox.Width() / 2, -iconBox.Height() / 2 );
-
-                aGc.DrawBitmapMasked(
-                    iconBox,
-                    icon,
-                    KItemIconSize,
-                    mask,
-                    EFalse );
-                }
-            else
-                {
-                if ( items[i]->IsPoi() )
-                    {
-                    aGc.SetPenColor( KPoiColor );
-                    }
-                else
-                    {
-                    aGc.SetPenColor( KLmColor );
-                    }
-
-                TRect markBox( pos, KItemMarkSize );
-                markBox.Move( -markBox.Width() / 2, -markBox.Height() / 2 );
-                aGc.SetPenSize( KItemMarkSize );
-                aGc.Plot( pos );
-                }
-
-            if ( items[i]->Text().Length() )
-                {
-                TPoint textPos( pos );
-                textPos.iX += KLmTextOffset;
-
-                TSize textSize( aFont.TextWidthInPixels( items[i]->Text() ), aFont.HeightInPixels() );
-                TRect textBox( textPos, textSize );
-
-                // verify this textbox does not intersect any previous ones
-                TBool overlaps = EFalse;
-                for ( TInt b = 0; b < textBoxes.Count(); b++ )
-                    {
-                    if ( textBox.Intersects( textBoxes[b] ) )
-                        {
-                        overlaps = ETrue;
-                        break;
-                        }
-                    }
-
-                if ( !overlaps )
-                    {
-                    textBoxes.Append( textBox );
-
-                    aGc.SetPenSize( TSize( 1, 1 ) );
-
-                    TRgb textColor, textShadowColor;
-
-	                if ( items[i]->IsPoi() )
-	                    {
-	                    textColor = KPoiTextColor;
-						textShadowColor = KPoiTextShadowColor;
-	                    }
-	                else
-	                    {
-	                    textColor = KLmTextColor;
-						textShadowColor = KLmTextShadowColor;
-	                    }
-
-                    // text shadow
-                    TPoint shadowPos( textPos + TPoint( KLmTextShadowOffset, KLmTextShadowOffset ) );
-                    aGc.SetPenColor( aSwitchColorAndShadow ? textColor : textShadowColor );
-                    aGc.DrawText( items[i]->Text(), shadowPos );
-
-                    // text itself
-                    aGc.SetPenColor( aSwitchColorAndShadow ? textShadowColor : textColor );
-                    aGc.DrawText( items[i]->Text(), textPos );
-                    }
-                }
-            }
-        }
-    textBoxes.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapModel::DrawCurrentLocation(
-    CFbsBitGc& aGc,
-    const TSize& aBoxSize ) const
-    {
-    const TSize KPositionPenSize( 20, 20 );
-    const TSize KPositionErrorPenSize( 1, 1 );
-    const TRgb KPositionColor( 255, 255, 0 );
-
-    // draw current location
-    CMnrpMapModel::TCurrentLocation location = CurrentLocation();
-
-    if ( location.iIsValid )
-        {
-        TPoint& pos = location.iLocation;
-
-        if ( pos.iX >= 0 && pos.iX < aBoxSize.iWidth &&
-             pos.iY >= 0 && pos.iY < aBoxSize.iHeight )
-            {
-            if ( location.iErrorRadius )
-                {
-                TRect circleBox( pos.iX, pos.iY, pos.iX, pos.iY );
-                circleBox.Grow( location.iErrorRadius, location.iErrorRadius );
-
-                aGc.SetPenSize( KPositionErrorPenSize );
-                aGc.SetBrushStyle( CGraphicsContext::EVerticalHatchBrush );
-                aGc.SetBrushColor( KPositionColor );
-                aGc.DrawEllipse( circleBox );
-                }
-
-            aGc.SetPenColor( KPositionColor );
-            aGc.SetPenSize( KPositionPenSize );
-            aGc.Plot( pos );
-            }
-        }
-    }
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpmapview.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,249 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpMapView class implementation
-*
-*/
-
-
-#include <e32base.h>
-#include <lbsposition.h>
-
-#include <eikmenup.h>
-#include <eikbtgpc.h>
-#include <avkon.rsg>
-
-#include <mnrefprovider.rsg>
-#include "mnrp.hrh"
-
-#include "debug.h"
-
-#include "mnrputils.h"
-#include "mnrpengine.h"
-
-#include "mnrpappui.h"
-#include "mnrpmapview.h"
-#include "mnrpmapcontrol.h"
-#include "mnrpmapviewservice.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapView::CMnrpMapView( CMnrpEngine& aEngine ) 
-: iEngine( aEngine )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapView::~CMnrpMapView()
-    {
-    TRAP_IGNORE( HandleUserSelectionL( KErrCancel ) );
-    delete iControl;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapView* CMnrpMapView::NewL( TBool aChained, CMnrpEngine& aEngine )
-    {
-    CMnrpMapView* self = new (ELeave) CMnrpMapView( aEngine );
-    CleanupStack::PushL( self );
-    self->ConstructL( aChained );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapView::ConstructL( TBool aChained )
-    {
-    iChained = aChained;
-    if ( aChained )
-        {
-        BaseConstructL( R_MNREFPROVIDER_MAP_VIEW_CHAINED );
-        }
-    else
-        {
-        BaseConstructL( R_MNREFPROVIDER_MAP_VIEW );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapView::SetMapModeL( CMnrpMapViewService& aService )
-    {
-    iSelectionCallback = NULL;
-    iMapViewService = &aService;
-/*
-    if ( iChained )
-        {
-        Cba()->SetCommandSetL( R_AVKON_SOFTKEYS_OPTIONS_BACK );
-        }
-    else
-        {
-        Cba()->SetCommandSetL( R_AVKON_SOFTKEYS_OPTIONS_EXIT );
-        }
-*/        
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapView::SetSelectionModeL( 
-    CMnrpMapViewService& aService,  
-    MMapSelectionCallback& aCallback )
-    {
-    iMapViewService = &aService;
-    iSelectionCallback = &aCallback;
-    Cba()->SetCommandSetL( R_AVKON_SOFTKEYS_OPTIONS_CANCEL );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapView::StopSelection()
-    {
-    iSelectionCallback = NULL;
-    iMapViewService = NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapView::HandleUserSelectionL( TInt aError )
-    {
-    if ( iSelectionCallback && iControl )
-        {
-        if ( !aError )
-            {
-            iSelectionCallback->HandleSelectionL( iControl->CurrentLocation() );
-            }
-        else
-            {
-            iSelectionCallback->HandleSelectionErrorL( aError );
-            }
-        iSelectionCallback = NULL;            
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TUid CMnrpMapView::Id() const
-    {
-    return TUid::Uid( EMnrpMapViewId );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapView::HandleCommandL( TInt aCommand )
-    {
-    switch ( aCommand )
-        {
-        case EMnrpCommandFullScreen:
-            if ( iControl ) 
-                {
-                iControl->ToggleFullScreen();
-                }
-            break;
-
-        case EMnrpCommandSelect:
-            HandleUserSelectionL( KErrNone );
-            break;
-
-        case EEikCmdExit:
-        case EAknSoftkeyBack:
-        case EAknSoftkeyExit:
-            HandleUserSelectionL( KErrCancel );
-            AppUi()->HandleCommandL( aCommand );
-            break;
-
-        default:
-            AppUi()->HandleCommandL( aCommand );
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapView::DynInitMenuPaneL( TInt aResourceId, CEikMenuPane *aMenuPane )
-    {
-    if ( aResourceId == R_MNREFPROVIDER_MAP_VIEW_MENU )
-        {
-        TBool isSelectionMode = iSelectionCallback != NULL;
-        aMenuPane->SetItemDimmed( EMnrpCommandSelect, !isSelectionMode );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapView::DoActivateL(
-    const TVwsViewId& /*aPrevViewId*/,
-    TUid /* aCustomMessageId */,
-    const TDesC8& /* aCustomMessage */)
-    {
-    if ( !iControl )
-        {
-        iControl = CMnrpMapControl::NewL( *this, ClientRect(), iEngine );
-        iControl->SetMopParent( this );
-        }
-
-    iControl->SetRect( ClientRect() );
-    if ( iMapViewService )
-        {
-        iControl->UpdateModelL( *iMapViewService );
-        }
-    iControl->SetSelectionModeL( ( iSelectionCallback == NULL ) ? EFalse : ETrue );
-
-    // Enable receiving of keyboard events.
-    CMnrpAppUi* ui = ( CMnrpAppUi* ) AppUi();
-    ui->AddToStackL( *this, iControl );
-
-    if ( iSelectionCallback )
-        {
-        ui->SetNaviPaneTitleL( iMapViewService->SelectionRequestText() );
-        }
-    else
-        {
-        _LIT( KMapView, "MapView" );
-	    ui->SetNaviPaneTitleL( KMapView );
-        }
-
-    // Make view visible.
-    iControl->MakeVisible( ETrue );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapView::DoDeactivate()
-    {
-    if ( iControl )
-        {
-        // Hide view.
-        iControl->MakeVisible( EFalse );
-
-        // Disable receiving keyboard events.
-        AppUi()->RemoveFromStack( iControl );
-        }
-    }
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpmapviewservice.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,245 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpMapViewService class implementation
-*
-*/
-
-
-#include <e32base.h>
-#include <eikenv.h>
-
-#include <lbsposition.h>
-
-#include <epos_cposlandmark.h>
-#include <epos_cposlandmarkdatabase.h>
-
-#include "debug.h"
-#include <mnmapviewservicebase.h>
-
-#include "mnrpappui.h"
-#include "mnrpmapview.h"
-#include "mnrpengine.h"
-#include "mnrpdocument.h"
-#include "mnrpappserver.h"
-
-#include "mnrpmapviewservice.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpMapViewService* CMnrpMapViewService::NewL()
-    {
-    CMnrpMapViewService* self = new (ELeave) CMnrpMapViewService();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpMapViewService::CMnrpMapViewService()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpMapViewService::~CMnrpMapViewService()
-    {
-    if ( iSelecting )
-        {
-        DoCancel();
-        CompleteRequest( KErrCancel );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapViewService::ConstructL()
-    {
-    BaseConstructL();
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpAppUi* CMnrpMapViewService::AppUi()
-    {
-    CMnrpAppServer* server = ( CMnrpAppServer* ) Server();
-    if ( server )
-        {
-        return server->AppUi();
-        }
-    return NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// From class CMnMapViewServiceBase
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapViewService::HandleShowMapL()
-    {
-    LOG("MnRefProvider::HandleShowMapL in");
-
-    /** This implementation cannot show map if selection is active */
-    if ( iSelecting )
-        {
-        User::Leave( KErrInUse );
-        }
-
-    if ( AppUi() )
-        {
-        AppUi()->ShowMapL( *this );
-        }
-
-    LOG("MnRefProvider::HandleShowMapL out");
-    }
-
-// ---------------------------------------------------------------------------
-//  From class CMnMapViewServiceBase
-//
-//  This callback differs from HandleShowMapL in a way that central point
-//  setting is ignored and current location is used instead as central point.
-//
-//  The implementation is the example of how to reject unsupported requests 
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapViewService::HandleShowCurrentLocationL()
-    {
-    User::Leave( KErrNotSupported );
-    }
-
-// ---------------------------------------------------------------------------
-//  From class CMnMapViewServiceBase
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapViewService::HandleSelectFromMapL()
-    {
-    LOG("MnRefProvider::HandleSelectFromMapL in");
-
-    /** Only one selection must be active */
-    if ( iSelecting )
-        {
-        User::Leave( KErrInUse );
-        }
-
-    if ( AppUi() )
-        {
-        iSelecting = ETrue;
-        AppUi()->StartSelectionL( *this, *this );
-        }
-
-    LOG("MnRefProvider::HandleSelectFromMapL out");
-    }
-
-// ---------------------------------------------------------------------------
-//  From class CMnServiceBase
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapViewService::DoCancel()
-    {
-    if ( iSelecting )
-        {
-        iSelecting = EFalse;
-        StopSelection();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//  From class MMapSelectionCallback
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapViewService::HandleSelectionErrorL( TInt aError )
-    {
-    __ASSERT_DEBUG( iSelecting, Panic( KErrGeneral ) );
-
-    iSelecting = EFalse;
-    // selection view dismissed
-    CompleteRequest( aError );
-    }
-
-// ---------------------------------------------------------------------------
-//  From class MMapSelectionCallback
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapViewService::HandleSelectionL( const TCoordinate& aSelection )
-    {
-    __ASSERT_DEBUG( iSelecting, Panic( KErrGeneral ) );
-
-    iSelecting = EFalse;
-    TInt err = KErrNone;
-    TRAP( err, CompleteSelectionL( aSelection ) );
-    if ( err )
-        {
-        CompleteRequest( err );
-        }
-    StopSelection();
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapViewService::CompleteSelectionL( const TCoordinate& aSelection )
-    {
-    TLocality loc( aSelection, 0 );
-    CPosLandmark* lm = CPosLandmark::NewLC();
-    lm->SetPositionL( loc );
-
-    // send landmark to client
-    CompleteSelectionRequestL( *lm );
-
-    CleanupStack::PopAndDestroy( lm );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapViewService::StopSelection()
-    {
-    if ( AppUi() )
-        {
-        AppUi()->StopSelection();
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-//  From class MMapSelectionCallback
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapViewService::HandleSelectionL( TInt aLandmarkIndex )
-    {
-    __ASSERT_DEBUG( iSelecting, Panic( KErrGeneral ) );
-
-    iSelecting = EFalse;
-    CompleteSelectionRequest( aLandmarkIndex );
-    StopSelection();
-    }
-    
-// ---------------------------------------------------------------------------
-//  From class MMapSelectionCallback
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapViewService::HandleSelectionL( TPosLmItemId aLandmarkId, TInt aDbIndex )
-    {
-    __ASSERT_DEBUG( iSelecting, Panic( KErrGeneral ) );
-
-    iSelecting = EFalse;
-    CompleteSelectionRequest( aLandmarkId, aDbIndex );
-    StopSelection();
-    }
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpnavicontrol.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,209 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpNaviControl class implementation
-*
-*/
-
-
-#include <e32base.h>
-#include <coemain.h>
-#include <aknlists.h>
-#include <barsread.h>
-
-#include <aknlists.h>
-
-#include "mnrpnavimodel.h"
-#include "mnrpnaviview.h"
-#include "mnrpnavicontrol.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpNaviControl::CMnrpNaviControl( CMnrpNaviView& aView )
- :  iView( aView )
-    { 
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpNaviControl::~CMnrpNaviControl()
-    {
-    delete iListBox;
-    delete iModel;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpNaviControl* CMnrpNaviControl::NewL( 
-    CMnrpNaviView& aView, 
-    const TRect& aRect,
-    CMnrpEngine& aEngine )
-    {
-    CMnrpNaviControl* self = new (ELeave) CMnrpNaviControl( aView );
-    CleanupStack::PushL( self );
-    self->ConstructL( aRect, aEngine );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviControl::ConstructL( const TRect& aRect, CMnrpEngine& aEngine )
-    {
-    // Create a window for this application view
-    CreateWindowL();
-    CreateListBoxL();
-    
-    // Set the windows size
-    SetRect( aRect );
-    
-    iModel = CMnrpNaviModel::NewL( *this, aEngine );
-
-    // Activate the window, which makes it ready to be drawn
-    ActivateL();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviControl::UpdateModelL( CPosLandmark& aDestination )
-    {
-    iModel->SetDestinationL( aDestination );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviControl::HandleModelUpdateL()
-    {
-    TArray< CMnrpNaviModel::CListItem* > items = iModel->ListItemsL();
-    
-    const TInt KGranularity = 8;
-    CDesCArraySeg* array = new (ELeave) CDesCArraySeg( KGranularity );
-    CleanupStack::PushL( array );
-    
-    _LIT( KItemFormat, "%S\t%S\t\t" );
-    for ( TInt i = 0; i < items.Count(); i++ )
-        {
-        CMnrpNaviModel::CListItem* item = items[i];
-
-        const TInt KNumTabsAndOther = 10;
-        HBufC* text = HBufC::NewLC(
-            item->Header().Length() + item->Value().Length() + KNumTabsAndOther);
-
-        text->Des().Format( KItemFormat, &(item->Header()), &(item->Value()) );
-        
-        array->AppendL( *text );
-        CleanupStack::PopAndDestroy( text );
-        }
-        
-    CleanupStack::Pop( array );
-
-    CTextListBoxModel* model = iListBox->Model();
-    model->SetItemTextArray( array );
-    model->SetOwnershipType( ELbmOwnsItemArray );
-    iListBox->HandleItemAdditionL();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TInt CMnrpNaviControl::CountComponentControls() const 
-    { 
-    return 1; 
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CCoeControl* CMnrpNaviControl::ComponentControl(TInt aIndex) const
-    {
-    return (aIndex == 0) ? iListBox : NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CMnrpNaviControl::OfferKeyEventL(
-    const TKeyEvent& aKeyEvent, TEventCode aType)
-    {
-    TKeyResponse response = EKeyWasNotConsumed;
-
-    switch (aKeyEvent.iCode)
-        {
-        case EKeyUpArrow:
-        case EKeyDownArrow:
-            // Scrolling the listbox. Forward to iListBox.
-            response = iListBox->OfferKeyEventL(aKeyEvent, aType);
-            break;
-
-        case EKeyLeftArrow:
-        case EKeyRightArrow:
-            // Eat these to disable switching views
-            response = EKeyWasConsumed;
-            break;
-
-        case EKeyDevice3:
-            response = EKeyWasConsumed;
-            break;
-
-        default:
-            // menu keys should be handled
-            break;
-        }
-
-    return response;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviControl::CreateListBoxL()
-    {
-    // Create a control to display a list of descriptors
-    iListBox = new (ELeave) CAknSingleHeadingStyleListBox();
-    iListBox->SetContainerWindowL( *this );
-    iListBox->ConstructL(this, CEikListBox::EViewerFlag );
-
-    // Create scrollbars
-    CEikScrollBarFrame* scrollBar = iListBox->CreateScrollBarFrameL();
-    scrollBar->SetScrollBarVisibilityL(
-                CEikScrollBarFrame::EOff, CEikScrollBarFrame::EAuto);
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviControl::SizeChanged()
-    {
-    iListBox->SetRect( Rect() );
-    iListBox->DrawDeferred();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviControl::HandleResourceChange( TInt aType )
-    {
-    CCoeControl::HandleResourceChange( aType );
-    if ( aType == KEikDynamicLayoutVariantSwitch )
-        {
-        SetRect( iView.ClientRect() );
-        }
-    }
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpnavigationservice.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpNavigationService class implementation
-*
-*/
-
-
-#include <e32base.h>
-#include <eikenv.h>
-
-#include <lbsposition.h>
-
-#include <epos_cposlandmark.h>
-
-#include "debug.h"
-#include <mnnavigationservicebase.h>
-
-#include "mnrpappui.h"
-#include "mnrpnavimodel.h"
-#include "mnrpnaviview.h"
-#include "mnrpappserver.h"
-#include "mnrpnavigationservice.h"
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpNavigationService* CMnrpNavigationService::NewL()
-    {
-    CMnrpNavigationService* self = new (ELeave) CMnrpNavigationService();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpNavigationService::CMnrpNavigationService()
-    {
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpNavigationService::~CMnrpNavigationService()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpNavigationService::ConstructL()
-    {
-    BaseConstructL();
-    }
-
-// ---------------------------------------------------------------------------
-// From class CMnNavigationServiceBase
-// ---------------------------------------------------------------------------
-//
-void CMnrpNavigationService::HandleNavigateToL(
-    const CPosLandmark& aLandmark)
-    {
-    CMnrpAppServer* server = ( CMnrpAppServer* ) Server();
-    CMnrpAppUi* ui = server->AppUi();
-    ui->ShowNavigationL( aLandmark );
-    }
-        
-// ---------------------------------------------------------------------------
-// From class CMnServiceBase
-// ---------------------------------------------------------------------------
-//
-void CMnrpNavigationService::DoCancel()
-    {
-    }
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpnavimodel.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,241 +0,0 @@
-/*
-* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpNaviModel class implementation
-*
-*/
-
-
-#include <coemain.h>
-#include <aknlists.h>
-#include <barsread.h>
-
-#include <lbs.h>
-#include <lbsposition.h>
-#include <lbspositioninfo.h>
-
-#include <epos_cposlandmark.h>
-
-#include "mnrputils.h"
-#include "mnrpengine.h"
-#include "mnrpnavimodel.h"
-
-const TInt KUpdateInterval = 1 * 1000 * 1000; // 1 sec
-const TInt KUpdateTimeout = 10 * 1000 * 1000; // 10 sec
-
-_LIT( KNotDefined, "<n/a>" );
-_LIT( KDestination, "destination" );
-_LIT( KPosition, "position" );
-_LIT( KDistance, "distance" );
-_LIT( KBearing, "bearing" );
-_LIT( KDestinationLat, "dest.lat." );
-_LIT( KDestinationLon, "dest.lon." );
-_LIT( KPositionLat, "pos.lat." );
-_LIT( KPositionLon, "pos.lon." );
-_LIT( KSpeed, "speed" );
-_LIT( KHeading, "heading" );
-_LIT( KMagHeading, "m.heading" );
-_LIT( KCourse, "course" );
-_LIT( KMagCourse, "m.course" );
-
-// ========================== MEMBER CLASS' FUNCTIONS ==========================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpNaviModel::CListItem* CMnrpNaviModel::CListItem::NewL( 
-    const TDesC& aItemHeader, 
-    const TDesC& aItemValue )
-    {
-    CListItem* self = new (ELeave) CListItem;
-    CleanupStack::PushL( self );
-    self->iHeader = aItemHeader.AllocL();
-    self->iValue = aItemValue.AllocL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-    
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpNaviModel::CListItem::~CListItem()
-    {
-    delete iHeader;
-    delete iValue;
-    }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpNaviModel::CMnrpNaviModel( MNaviModelObserver& aObserver, CMnrpEngine& aEngine )
-    : iEngine( aEngine ), iObserver( aObserver )
-    { 
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpNaviModel::~CMnrpNaviModel()
-    {
-    delete iPositionRequest;
-    delete iDestination;
-    iListItems.ResetAndDestroy();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpNaviModel* CMnrpNaviModel::NewL( MNaviModelObserver& aObserver, CMnrpEngine& aEngine  )
-    {
-    CMnrpNaviModel* self = new (ELeave) CMnrpNaviModel( aObserver, aEngine );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviModel::ConstructL()
-    {
-    _LIT( KRequestorName, "MnRefProvider" );
-    iPositionRequest = CMnrpPositionRequest::NewL( KRequestorName, *this );
-    
-    TPositionUpdateOptions options;
-    options.SetUpdateInterval( TTimeIntervalMicroSeconds( KUpdateInterval ) );
-    options.SetUpdateTimeOut( TTimeIntervalMicroSeconds( KUpdateTimeout ) );
-    iPositionRequest->SetOptionsL( options );
-    
-    iPositionRequest->FetchNewPosition();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviModel::SetDestinationL( const CPosLandmark& aNewDestination )
-    {
-    delete iDestination;
-    iDestination = NULL;
-    iDestination = CPosLandmark::NewL( aNewDestination );
-    
-    iObserver.HandleModelUpdateL();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TArray<CMnrpNaviModel::CListItem*> CMnrpNaviModel::ListItemsL()
-    {
-    iListItems.ResetAndDestroy();
-    
-    TBuf<64> buf;
-    TPosition position;
-    TLocality destination;
-
-    iPosInfo.GetPosition( position );
-
-    if ( !iDestination || iDestination->GetPosition( destination ) )
-        {
-        iListItems.AppendL( CListItem::NewL( KDestination, KNotDefined ) );
-        }
-    else
-        {
-        TPtrC name;
-        iDestination->GetLandmarkName( name );
-        HBufC* printableName = MnrpUtils::PrintableStringLC( name );
-        iListItems.AppendL( CListItem::NewL( KDestination, *printableName ) );
-        CleanupStack::PopAndDestroy( printableName );
-
-        TBool validPosition = ( !Math::IsNaN( position.Latitude() ) && 
-                                !Math::IsNaN( position.Longitude() ) );
-
-        if ( validPosition )
-            {
-            TReal32 distance, bearing;
-            if ( position.Distance( destination, distance ) == KErrNone )
-                {
-                MnrpUtils::DistanceToString( distance, buf );
-                iListItems.AppendL( CListItem::NewL( KDistance, buf ) );
-                }
-            else
-                {
-                iListItems.AppendL( CListItem::NewL( KDistance, KNotDefined ) );
-                }
-                
-            if ( position.BearingTo( destination, bearing ) == KErrNone )
-                {
-                MnrpUtils::AngleToString( bearing, buf );
-                iListItems.AppendL( CListItem::NewL( KBearing, buf ) );
-                }
-            else
-                {
-                iListItems.AppendL( CListItem::NewL( KBearing, KNotDefined ) );
-                }
-
-            MnrpUtils::SpeedToString( iPositionRequest->Speed(), buf );
-            iListItems.AppendL( CListItem::NewL( KSpeed, buf ) );
-
-            MnrpUtils::AngleToString( iPositionRequest->Course(), buf );
-            iListItems.AppendL( CListItem::NewL( KCourse, buf ) );
-
-            MnrpUtils::AngleToString( iPositionRequest->Heading(), buf );
-            iListItems.AppendL( CListItem::NewL( KHeading, buf ) );
-
-            MnrpUtils::CoordinateToString( position.Latitude(), buf, ETrue, ETrue );
-            iListItems.AppendL( CListItem::NewL( KPositionLat, buf ) );
-
-            MnrpUtils::CoordinateToString( position.Longitude(), buf, ETrue, ETrue );
-            iListItems.AppendL( CListItem::NewL( KPositionLon, buf ) );
-            }
-        else
-            {
-            iListItems.AppendL( CListItem::NewL( KPosition, KNotDefined ) );
-            }
-
-        MnrpUtils::CoordinateToString( destination.Latitude(), buf, ETrue, ETrue );
-        iListItems.AppendL( CListItem::NewL( KDestinationLat, buf ) );
-
-        MnrpUtils::CoordinateToString( destination.Longitude(), buf, ETrue, ETrue );
-        iListItems.AppendL( CListItem::NewL( KDestinationLon, buf ) );
-
-        if ( validPosition )
-            {
-            MnrpUtils::AngleToString( iPositionRequest->MagneticCourse(), buf );
-            iListItems.AppendL( CListItem::NewL( KMagCourse, buf ) );
-
-            MnrpUtils::AngleToString( iPositionRequest->MagneticHeading(), buf );
-            iListItems.AppendL( CListItem::NewL( KMagHeading, buf ) );
-            }
-        }
-   
-    return iListItems.Array();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviModel::HandlePositionRequestCompletedL( TInt aError )
-    {
-    if ( !aError )
-        {
-        iPositionRequest->GetPosition( iPosInfo );
-        TPosition position;
-        iPosInfo.GetPosition( position );
-
-        iObserver.HandleModelUpdateL();
-        }
-    iPositionRequest->FetchNewPosition();
-    }
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrpnaviview.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpNaviView class implementation
-*
-*/
-
-
-#include <e32base.h>
-#include <lbsposition.h>
-#include <epos_cposlandmark.h>
-
-#include <mnrefprovider.rsg>
-#include "mnrp.hrh"
-
-#include "debug.h"
-#include "mnrputils.h"
-#include "mnrpengine.h"
-
-#include "mnrpappui.h"
-#include "mnrpnavicontrol.h"
-
-#include "mnrpnaviview.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpNaviView::CMnrpNaviView( CMnrpEngine& aEngine )
- : iEngine( aEngine )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpNaviView::~CMnrpNaviView()
-    {
-    delete iDestination;
-    delete iControl;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpNaviView* CMnrpNaviView::NewL( TBool aChained, CMnrpEngine& aEngine )
-    {
-    CMnrpNaviView* self = new (ELeave) CMnrpNaviView( aEngine );
-    CleanupStack::PushL( self );
-    self->ConstructL( aChained );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviView::ConstructL( TBool aChained )
-    {
-    if ( aChained )
-        {
-        BaseConstructL( R_MNREFPROVIDER_NAVI_VIEW_CHAINED );
-        }
-    else
-        {
-        BaseConstructL( R_MNREFPROVIDER_NAVI_VIEW );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviView::SetDestinationL( const CPosLandmark& aNewDestination )
-    {
-    delete iDestination;
-    iDestination = NULL;
-    iDestination = CPosLandmark::NewL( aNewDestination );
-    if ( iControl )
-        {
-        iControl->UpdateModelL( *iDestination );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TUid CMnrpNaviView::Id() const
-    {
-    return TUid::Uid( EMnrpNavigationViewId );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviView::HandleCommandL( TInt aCommand )
-    {
-    switch ( aCommand )
-        {
-        default:
-            AppUi()->HandleCommandL( aCommand );
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviView::DoActivateL(
-    const TVwsViewId& /*aPrevViewId*/,
-    TUid /* aCustomMessageId */,
-    const TDesC8& /* aCustomMessage */)
-    {
-    if ( !iControl )
-        {
-        iControl = CMnrpNaviControl::NewL( *this, ClientRect(), iEngine );
-        iControl->SetMopParent( this );
-        }
-
-    if ( iDestination )
-        {
-        iControl->UpdateModelL( *iDestination );
-        }
-
-    // Enable receiving of keyboard events.
-    CMnrpAppUi* ui = ( CMnrpAppUi* ) AppUi();
-    ui->AddToStackL( *this, iControl );
-
-    _LIT( KNavigation, "Navigation" );
-    ui->SetNaviPaneTitleL( KNavigation );
-
-    // Make view visible.
-    iControl->MakeVisible( ETrue );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviView::DoDeactivate()
-    {
-    if ( iControl )
-        {
-        // Hide view.
-        iControl->MakeVisible( EFalse );
-
-        // Disable receiving keyboard events.
-        AppUi()->RemoveFromStack( iControl );
-        }
-    }
-
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrppositionrequest.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,272 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpPositionRequest class implementation
-*
-*/
-
-
-#include <aknwaitdialog.h>
-#include <coemain.h>
-#include <aknnotewrappers.h>
-
-#include <lbspositioninfo.h>
-
-#include "mnrppositionrequest.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpPositionRequest::CMnrpPositionRequest(
-    MMnrpPositionObserver& aObserver )
-    : 
-    CActive( CActive::EPriorityStandard ), 
-    iObserver( aObserver ),
-    iState( EIdle )
-    {
-    TRealX nan;
-    nan.SetNaN();
-    iSpeed = iHeading = iCourse = iMagneticHeading = iMagneticCourse = nan;
-    
-    CActiveScheduler::Add( this );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpPositionRequest::ConstructL( const TDesC& aRequestorName )
-    {
-    const TInt KBufSize = 8192;
-    iGenericPosition = HPositionGenericInfo::NewL( KBufSize );
-    
-    // Connect to the location server
-    User::LeaveIfError( iLocationServer.Connect() );
-
-    // Open the default positioner
-    User::LeaveIfError( iPositioner.Open( iLocationServer ) );
-
-    // Set this application as location requestor
-    User::LeaveIfError( iPositioner.SetRequestor(
-        CRequestor::ERequestorService,
-        CRequestor::EFormatApplication,
-        aRequestorName ) );
-
-    // Set default options
-    TPositionUpdateOptions updateOptions;
-
-    const TInt K30Seconds = 30000000;
-    TTimeIntervalMicroSeconds timeOut( K30Seconds );
-
-    updateOptions.SetUpdateTimeOut( timeOut );
-    SetOptionsL( updateOptions );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CMnrpPositionRequest* CMnrpPositionRequest::NewL(
-    const TDesC& aAppName, 
-    MMnrpPositionObserver& aObserver )
-    {
-    CMnrpPositionRequest* self =
-        new (ELeave) CMnrpPositionRequest( aObserver );
-    CleanupStack::PushL( self );
-    self->ConstructL( aAppName );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CMnrpPositionRequest::~CMnrpPositionRequest()
-    {
-    Cancel();
-    iPositioner.Close();
-    iLocationServer.Close();
-    delete iGenericPosition;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpPositionRequest::FetchNewPosition( TBool aLastKnownLocationAllowed )
-    {
-    Cancel();
-    // Request location
-    iState = EAcquiringDefaultLocation;
-    iLastKnownLocationAllowed = aLastKnownLocationAllowed;
-    ExecuteNextStep();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpPositionRequest::GetPosition( TPositionInfo& aPositionInfo )
-    {
-    aPositionInfo = iPositionInfo;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TReal32 CMnrpPositionRequest::Speed() 
-    { 
-    return iSpeed;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TReal32 CMnrpPositionRequest::Heading() 
-    { 
-    return iHeading; 
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TReal32 CMnrpPositionRequest::MagneticHeading() 
-    { 
-    return iMagneticHeading; 
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TReal32 CMnrpPositionRequest::Course() 
-    {
-    return iCourse;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TReal32 CMnrpPositionRequest::MagneticCourse()
-    { 
-    return iMagneticCourse;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpPositionRequest::DoCancel()
-    {
-    // Cancel location request
-    if (iState == EAcquiringDefaultLocation)
-        {
-        iPositioner.CancelRequest( EPositionerNotifyPositionUpdate );
-        }
-    else if (iState == EAcquiringLastKnownLocation)
-        {
-        iPositioner.CancelRequest( EPositionerGetLastKnownPosition );
-        }
-    iState = EIdle;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpPositionRequest::RunL()
-    {
-    if ( iStatus != KErrNone &&
-         iState == EAcquiringDefaultLocation && 
-         iLastKnownLocationAllowed )
-        {
-        // Fetching current location failed. Try last known location.
-        iState = EAcquiringLastKnownLocation;
-        ExecuteNextStep();
-        }
-    else
-        {
-        // Operation finished, notify observer
-        iState = EIdle;
-        SaveContainer( *iGenericPosition );
-        iObserver.HandlePositionRequestCompletedL( iStatus.Int() );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TInt CMnrpPositionRequest::RunError(TInt /*aError*/)
-    {
-    // Ignore possible errors.
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpPositionRequest::ExecuteNextStep()
-    {
-    iStatus = KRequestPending;
-
-    switch (iState)
-        {
-        case EAcquiringDefaultLocation:
-            InitContainer( *iGenericPosition );
-            iPositioner.NotifyPositionUpdate( *iGenericPosition, iStatus);
-            break;
-        case EAcquiringLastKnownLocation:
-            iPositioner.GetLastKnownPosition( iPositionInfo, iStatus );
-            break;
-        default:    
-            // this case should never happen, see RunL
-            return;
-        }
-
-    SetActive();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpPositionRequest::SetOptionsL( const TPositionUpdateOptionsBase& aOptions )
-    {
-    User::LeaveIfError( iPositioner.SetUpdateOptions( aOptions ) );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpPositionRequest::InitContainer( HPositionGenericInfo& aGenericInfo )
-    {
-    aGenericInfo.ClearPositionData();
-    
-    aGenericInfo.SetRequestedField( EPositionFieldHorizontalSpeed );
-    aGenericInfo.SetRequestedField( EPositionFieldTrueCourse );
-    aGenericInfo.SetRequestedField( EPositionFieldMagneticCourse );
-    aGenericInfo.SetRequestedField( EPositionFieldHeading );
-    aGenericInfo.SetRequestedField( EPositionFieldMagneticHeading );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpPositionRequest::SaveContainer( const HPositionGenericInfo& aGenericInfo )
-    {
-    TRealX nan;
-    nan.SetNaN();
-    iSpeed = iHeading = iCourse = iMagneticHeading = iMagneticCourse = nan;
-    
-    aGenericInfo.GetValue( EPositionFieldHorizontalSpeed, iSpeed );
-    aGenericInfo.GetValue( EPositionFieldTrueCourse, iCourse );
-    aGenericInfo.GetValue( EPositionFieldMagneticCourse, iMagneticCourse );
-    aGenericInfo.GetValue( EPositionFieldHeading, iHeading );
-    aGenericInfo.GetValue( EPositionFieldMagneticHeading, iMagneticHeading );
-    
-    iPositionInfo = *iGenericPosition;
-    }
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/src/mnrputils.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,256 +0,0 @@
-/*
-* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  MnrpUtils class implementation
-*
-*/
-
-
-#include <e32base.h>
-#include <e32math.h>
-#include <lbsposition.h>
-
-#include "mnrputils.h"
-
-_LIT( KNan, "<n/a>" );
-_LIT( KNeg, "<neg>" );
-_LIT( KOutOfBounds, "<inv>" );
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void MnrpUtils::CoordinateToString(
-    TReal aCoord,
-    TDes& aStr,
-    TBool aFull,
-    TBool aMillis )
-    {
-    const TChar KDegreeMark = 0xB0;
-    const TChar KMinuteMark = 0x27;
-    const TChar KSecondMark = 0x22;
-    const TChar KMilliSecondMark = 0x2E;
-    const TChar KMinus = '-';
-    const TChar KPlus = '+';
-
-    _LIT( KCoordFormatFull, "%c%d%c%02d%c%02d%c" );
-    _LIT( KCoordFormatPartMseconds, "%c%03d" );
-
-    if ( Math::IsNaN( aCoord ) )
-        {
-        aStr.Copy( KNan );
-        }
-    else if ( Abs( aCoord ) > 360 )
-        {
-        aStr.Copy( KOutOfBounds );
-        }
-    else
-        {
-        TBool negative = aCoord < 0;
-        aCoord = Abs( aCoord );
-
-        TInt degrees = TInt( aCoord );
-        aCoord = ( aCoord - degrees ) * 60;
-        TInt minutes = TInt( aCoord );
-        aCoord = ( aCoord - minutes ) * 60;
-        TInt seconds = TInt( aCoord );
-        aCoord = ( aCoord - seconds ) * 100;
-        TInt mseconds = TInt( aCoord );
-
-        TChar sign = negative ? KMinus : KPlus;
-
-        if ( aFull )
-            {
-            aStr.Format( KCoordFormatFull,
-                            TUint( sign ), degrees, TUint( KDegreeMark ),
-                            minutes, TUint( KMinuteMark ),
-                            seconds, TUint( KSecondMark ) );
-            if ( aMillis )
-                {
-                aStr.AppendFormat( KCoordFormatPartMseconds, TUint( KMilliSecondMark ), mseconds );
-                }
-            }
-        else
-            {
-            aStr.Zero();
-            if ( degrees )
-                {
-                aStr.AppendNum( degrees );
-                aStr.Append( KDegreeMark );
-                }
-            if ( minutes )
-                {
-                aStr.AppendNum( minutes );
-                aStr.Append( KMinuteMark );
-                }
-            if ( seconds )
-                {
-                aStr.AppendNum( seconds );
-                aStr.Append( KSecondMark );
-                }
-            if ( mseconds && aMillis )
-                {
-                if ( !seconds )
-                    {
-                    aStr.AppendNum( 0 );
-                    aStr.Append( KSecondMark );
-                    }
-                aStr.AppendFormat( KCoordFormatPartMseconds, TUint( KMilliSecondMark ), mseconds );
-                }
-
-            if ( !aStr.Length() )
-                {
-                aStr.AppendNum( degrees );
-                aStr.Append( KDegreeMark );
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void MnrpUtils::DistanceToString( TReal aDistance, TDes& aStr )
-    {
-    _LIT( KSmall, "< 1 m" );
-    _LIT( KMeters, "%d m" );
-    _LIT( KKiloMeters, "%.1f Km" );
-    _LIT( KThousandsKiloMeters, "%.1f tKm" );
-
-    const TInt KMeter = 1;
-    const TInt KKilometer = KMeter * 1000;
-    const TInt KThousandKilometer = KKilometer * 1000;
-
-    if ( Math::IsNaN( aDistance ) )
-        {
-        aStr.Copy( KNan );
-        }
-    else if ( aDistance < 0 )
-        {
-        aStr.Copy( KNeg );
-        }
-    else if ( aDistance < KMeter )
-        {
-        aStr.Copy( KSmall );
-        }
-    else if ( aDistance < KKilometer )
-        {
-        aStr.Format( KMeters, TInt( aDistance ) );
-        }
-    else if ( aDistance < KThousandKilometer )
-        {
-        aStr.Format( KKiloMeters, aDistance / KKilometer );
-        }
-    else
-        {
-        aStr.Format( KThousandsKiloMeters, aDistance / KThousandKilometer );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void MnrpUtils::SpeedToString( TReal aSpeed, TDes& aStr )
-    {
-    _LIT( KPerSecond, "/s" );
-
-    if ( Math::IsNaN( aSpeed ) )
-        {
-        aStr.Copy( KNan );
-        }
-    else if ( aSpeed < 0 )
-        {
-        aStr.Copy( KNeg );
-        }
-    else
-        {
-        DistanceToString( aSpeed, aStr );
-        aStr.Append( KPerSecond );
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void MnrpUtils::AngleToString( TReal aAngle, TDes& aStr )
-    {
-    const TChar KMinus = '-';
-    const TChar KPlus = '+';
-    _LIT( KAngleFormat, "%S%c%.1f\xB0 /  %.1f\xB0" );
-    
-    _LIT( KNorth, "N" );
-    _LIT( KSouth, "S" );
-    _LIT( KWest, "W" );
-    _LIT( KEast, "E" );
-
-    TPtrC side;
-    TReal angle;
-
-    if ( Math::IsNaN( aAngle ) )
-        {
-        aStr.Copy( KNan );
-        }
-    else if ( aAngle > 360 )
-        {
-        aStr.Copy( KOutOfBounds );
-        }
-    else
-        {
-        if ( aAngle > 315 )
-            {
-            side.Set( KNorth );
-            angle = aAngle - 360;
-            }
-        else if ( aAngle > 225 )
-            {
-            side.Set( KWest );
-            angle = aAngle - 270;
-            }
-        else if ( aAngle > 135 )
-            {
-            side.Set( KSouth );
-            angle = aAngle - 180;
-            }
-        else if ( aAngle > 45 )
-            {
-            side.Set( KEast );
-            angle = aAngle - 90;
-            }
-        else // aAngle <= 45
-            {
-            side.Set( KNorth );
-            angle = aAngle;
-            }
-
-        TChar sign = ( angle >= 0 ) ? KPlus : KMinus;
-        aStr.Format( KAngleFormat, &side, TUint( sign ), Abs( angle ), aAngle );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C HBufC* MnrpUtils::PrintableStringLC( const TDesC& aStr )
-    {
-    HBufC* buf = aStr.AllocLC();
-    TPtr string( buf->Des() );
-    for ( TInt i = 0; i < string.Length(); i++ )
-        {
-        if ( !TChar( string[i] ).IsPrint() )
-            {
-            string[i] = ' ';
-            }
-        }
-    return buf;
-    }
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/src/testcmnprovider.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,263 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Provides testing of CMnProvider class methods
-*
-*/
-
-
-
-// INCLUDE FILES
-
-#include "testcmnprovider.h"
-#include <MnProviderFinder.h>
-#include <MnProvider.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CTestMnProvider::CTestMnNavigator
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CTestMnProvider::CTestMnProvider( CStifLogger* aLog ) 
-	{
-	iLog = aLog;
-	}
-
-// -----------------------------------------------------------------------------
-// CTestMnProvider::NewL
-// 
-// 
-// -----------------------------------------------------------------------------
-//	
-CTestMnProvider* CTestMnProvider::NewL(CStifLogger* aLog)
-	{
-	CTestMnProvider* self = new (ELeave) CTestMnProvider( aLog );
-	CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop(); 
-    return self; 
-	}
-
-// -----------------------------------------------------------------------------
-// CTestMnProvider::ConstructL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-void CTestMnProvider::ConstructL()
-	{
-	
-	}	
-
-// -----------------------------------------------------------------------------
-// CTestMnProvider::~CTestMnNavigator
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-CTestMnProvider::~CTestMnProvider()
-	{
-	
-	}
-	
-// -----------------------------------------------------------------------------
-// CTestMnProvider::DestroyProviderL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnProvider::DestroyProviderL( CStifItemParser& /*aItem*/ )
-	{
-	// Find Providers
-	RPointerArray<CMnProvider> providerArray;
-	MnProviderFinder::FindProvidersL( providerArray );
-	if( providerArray.Count() < 1 )
-		{
-		iLog->Log(_L("No Provider Found, can't test DestroyProviderL"));
-		User::Leave( KErrNotFound );
-		}
-	// Will delete all the provider objects	
-	providerArray.ResetAndDestroy();
-	return KErrNone;
-	}
-
-// -----------------------------------------------------------------------------
-// CTestMnProvider::ProviderUidL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnProvider::ProviderUidL( CStifItemParser& /*aItem*/ )
-	{
-	// Find Providers
-	RPointerArray<CMnProvider> providerArray;
-	MnProviderFinder::FindProvidersL( providerArray );
-	if( providerArray.Count() < 1 )
-		{
-		iLog->Log(_L("No Provider Found, can't test ProviderUidL"));
-		User::Leave( KErrNotFound );
-		}
-	// Get Uid of first provider
-	TUid providerUid = providerArray.operator[](0)->Uid();
-	providerArray.ResetAndDestroy();
-	return KErrNone;
-	}
-	
-// -----------------------------------------------------------------------------
-// CTestMnProvider::ProviderVersionL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnProvider::ProviderVersionL( CStifItemParser& /*aItem*/ )
-	{
-	// Find Providers
-	RPointerArray<CMnProvider> providerArray;
-	MnProviderFinder::FindProvidersL( providerArray );
-	if( providerArray.Count() < 1 )
-		{
-		iLog->Log(_L("No Provider Found, can't test ProviderVersionL"));
-		User::Leave( KErrNotFound );
-		}
-	// Get Version of first provider
-	TVersion providerVersion = providerArray.operator[](0)->Version();
-	providerArray.ResetAndDestroy();
-	return KErrNone;
-	}	
-	
-// -----------------------------------------------------------------------------
-// CTestMnProvider::GetProviderNameL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnProvider::GetProviderNameL( CStifItemParser& /*aItem*/ )
-	{
-	// Find Providers
-	RPointerArray<CMnProvider> providerArray;
-	MnProviderFinder::FindProvidersL( providerArray );
-	if( providerArray.Count() < 1 )
-		{
-		iLog->Log(_L("No Provider Found, can't test GetProviderNameL"));
-		User::Leave( KErrNotFound );
-		}
-	// Get name of first provider
-	TPtrC providerName;
-	providerArray.operator[](0)->GetName( providerName );
-	iLog->Log( providerName );
-	providerArray.ResetAndDestroy();
-	return KErrNone;
-	}		
-
-// -----------------------------------------------------------------------------
-// CTestMnProvider::GetShortNameL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnProvider::GetShortNameL( CStifItemParser& /*aItem*/ )
-	{
-	// Find Providers
-	RPointerArray<CMnProvider> providerArray;
-	MnProviderFinder::FindProvidersL( providerArray );
-	if( providerArray.Count() < 1 )
-		{
-		iLog->Log(_L("No Provider Found, can't test GetShortNameL"));
-		User::Leave( KErrNotFound );
-		}
-	// Get short name of first provider
-	TPtrC shortName;
-	providerArray.operator[](0)->GetShortName( shortName );
-	iLog->Log( shortName );
-	providerArray.ResetAndDestroy();
-	return KErrNone;
-	}
-
-// -----------------------------------------------------------------------------
-// CTestMnProvider::GetVendorNameL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnProvider::GetVendorNameL( CStifItemParser& /*aItem*/ )
-	{
-	// Find Providers
-	RPointerArray<CMnProvider> providerArray;
-	MnProviderFinder::FindProvidersL( providerArray );
-	if( providerArray.Count() < 1 )
-		{
-		iLog->Log(_L("No Provider Found, can't test GetVendorNameL"));
-		User::Leave( KErrNotFound );
-		}
-	// Get vendor name of first provider
-	TPtrC vendorName;
-	providerArray.operator[](0)->GetVendorName( vendorName );
-	iLog->Log( vendorName );
-	providerArray.ResetAndDestroy();
-	return KErrNone;
-	}
-	
-// -----------------------------------------------------------------------------
-// CTestMnProvider::SupportedServicesL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnProvider::SupportedServicesL( CStifItemParser& /*aItem*/ )
-	{
-	// Find provider
-	RPointerArray<CMnProvider> providerArray;
-	MnProviderFinder::FindProvidersL( providerArray );
-	if( providerArray.Count() < 1 )
-		{
-		iLog->Log(_L("No Provider Found, can't test SupportedServicesL"));
-		User::Leave( KErrNotFound );
-		}
-	// Get services supported by first provider
-	CMnProvider::TServices supportedServices = providerArray.operator[](0)->SupportedServices();
-	providerArray.ResetAndDestroy();
-	return KErrNone;
-	}	
-
-// -----------------------------------------------------------------------------
-// CTestMnProvider::SupportedFeaturesL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnProvider::SupportedFeaturesL( CStifItemParser& /*aItem*/ )
-	{
-	// Find provider
-	RPointerArray<CMnProvider> providerArray;
-	MnProviderFinder::FindProvidersL( providerArray );
-	TInt prvCount = providerArray.Count();
-	if( prvCount < 1 )
-		{
-		iLog->Log(_L("No Provider Found, can't test SupportedFeaturesL"));
-		User::Leave( KErrNotFound );
-		}
-	// Get features supported by providers
-	for (TInt i=0; i<prvCount; i++)
-		{
-		CMnProvider::TServices supportedServices = providerArray.operator[](i)->SupportedServices();
-		TInt navFeatures = providerArray.operator[](i)->SupportedFeatures( CMnProvider::EServiceNavigation );
-		TInt mapFeatures = providerArray.operator[](i)->SupportedFeatures( CMnProvider::EServiceMapView );
-		TInt geoFeatures = providerArray.operator[](i)->SupportedFeatures( CMnProvider::EServiceGeocoding );
-		}
-	
-	providerArray.ResetAndDestroy();
-	return KErrNone;
-	}	
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/src/testmnproviderdiscovery.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,143 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Implementation of test class for map_and_navigation_provider_discovery_api
-*
-*/
-
-
-
-// INCLUDE FILES
-#include <Stiftestinterface.h>
-#include <swinstapi.h>
-#include "testmnproviderdiscovery.h"
-
-// Literal
-// Provider app sisx path
-_LIT( KProviderSisxPath, "e:\\testing\\data\\mnrefprovider.sisx" ); 
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CTestMnProviderDiscovery::Ctestmnproviderdiscovery
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CTestMnProviderDiscovery::CTestMnProviderDiscovery( 
-    CTestModuleIf& aTestModuleIf ):
-        CScriptBase( aTestModuleIf )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CTestMnProviderDiscovery::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CTestMnProviderDiscovery::ConstructL()
-    {
-    iLog = CStifLogger::NewL( KtestmnproviderdiscoveryLogPath, 
-                          KtestmnproviderdiscoveryLogFile,
-                          CStifLogger::ETxt,
-                          CStifLogger::EFile,
-                          EFalse );
-	InstallProvider( KProviderSisxPath );
-    }
-
-// -----------------------------------------------------------------------------
-// CTestMnProviderDiscovery::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CTestMnProviderDiscovery* CTestMnProviderDiscovery::NewL( 
-    CTestModuleIf& aTestModuleIf )
-    {
-    CTestMnProviderDiscovery* self = new (ELeave) CTestMnProviderDiscovery( aTestModuleIf );
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;
-
-    }
-
-// Destructor
-CTestMnProviderDiscovery::~CTestMnProviderDiscovery()
-    { 
-
-    // Delete resources allocated from test methods
-    Delete();
-
-    // Delete logger
-    delete iLog; 
-
-    }
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// -----------------------------------------------------------------------------
-// LibEntryL is a polymorphic Dll entry point.
-// Returns: CScriptBase: New CScriptBase derived object
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CScriptBase* LibEntryL( 
-    CTestModuleIf& aTestModuleIf ) // Backpointer to STIF Test Framework
-    {
-
-    return ( CScriptBase* ) CTestMnProviderDiscovery::NewL( aTestModuleIf );
-
-    }
-
-// -----------------------------------------------------------------------------
-// This method will install the provider application
-//
-// -----------------------------------------------------------------------------
-//   
-TInt CTestMnProviderDiscovery::InstallProvider( const TDesC& aPackagePath )
-    {
-   // iLog->Log("Installing [%S]...", aPackagePath );
-
-    TInt err = KErrNone;
-    SwiUI::RSWInstSilentLauncher installer;
-
-    err = installer.Connect();
-    if( KErrNone != err )
-    	{
-    	iLog->Log(_L("Connection to installer failed"));
-    	return err;
-    	}
-    //CHECK_EQUAL( err, KErrNone, "Connection to installer failed" );
-
-    SwiUI::TInstallOptionsPckg options;
-    options().iUpgrade = SwiUI::EPolicyAllowed;
-    options().iPackageInfo = SwiUI::EPolicyAllowed;
-    options().iOverwrite = SwiUI::EPolicyAllowed;
-    options().iKillApp = SwiUI::EPolicyAllowed;
-
-    err = installer.SilentInstall( aPackagePath, options );
-    if( KErrNone != err )
-    	{
-    	iLog->Log(_L("Provider Installation failed"));
-    	installer.Close();
-    	return err;
-    	}
-    	
-    //CHECK_EQUAL( err, KErrNone, "Installation failed" );
-	iLog->Log(_L("Provider Installation passed"));
-    installer.Close();
-    return err;
-    }
-    
-//  End of File
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/src/testmnproviderdiscoveryblocks.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,230 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Entry point for test cases in stif module
-*
-*/
-
-
-
-// INCLUDE FILES
-#include <e32svr.h>
-#include <StifParser.h>
-#include <Stiftestinterface.h>
-#include "testmnproviderdiscovery.h"
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CTestMnProviderDiscovery::Delete
-// Delete here all resources allocated and opened from test methods. 
-// Called from destructor. 
-// -----------------------------------------------------------------------------
-//
-void CTestMnProviderDiscovery::Delete() 
-    {
-
-    }
-
-// -----------------------------------------------------------------------------
-// CTestMnProviderDiscovery::RunMethodL
-// Run specified method. Contains also table of test mothods and their names.
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnProviderDiscovery::RunMethodL( 
-    CStifItemParser& aItem ) 
-    {
-
-    static TStifFunctionInfo const KFunctions[] =
-        {  
-        // Provider Discovery
-        ENTRY( "FindAllProviders", CTestMnProviderDiscovery::FindAllProvidersL ),
-        ENTRY( "FindSelectedProviders", CTestMnProviderDiscovery::FindSelectedProvidersL ),
-        // Provider
-        ENTRY( "DestroyProvider", CTestMnProviderDiscovery::DestroyProviderL ),
-        ENTRY( "ProviderUid", CTestMnProviderDiscovery::ProviderUidL ),
-        ENTRY( "ProviderVersion", CTestMnProviderDiscovery::ProviderVersionL ),
-        ENTRY( "GetProviderName", CTestMnProviderDiscovery::GetProviderNameL ),
-        ENTRY( "GetShortName", CTestMnProviderDiscovery::GetShortNameL ),
-        ENTRY( "GetVendorName", CTestMnProviderDiscovery::GetVendorNameL ),
-        ENTRY( "SupportedServices", CTestMnProviderDiscovery::SupportedServicesL ),
-        ENTRY( "SupportedFeatures", CTestMnProviderDiscovery::SupportedFeaturesL ),
-        
-        //ADD NEW ENTRY HERE
-
-        };
-
-    const TInt count = sizeof( KFunctions ) / 
-                        sizeof( TStifFunctionInfo );
-	
-	TInt ret = KErrNone;
-	TRAPD( error, ret = RunInternalL( KFunctions, count, aItem ));
-	if ( error != KErrNone )
-		{
-		return error;
-		}
-	return ret;	
-	    
-    }
-
-// -----------------------------------------------------------------------------
-// CTestMnProviderDiscovery::FindAllProvidersL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnProviderDiscovery::FindAllProvidersL( CStifItemParser& aItem )
-    {
-    TestMnProviderFinder* providerFinder = TestMnProviderFinder::NewL( iLog );
-	CleanupStack::PushL( providerFinder );
-	TInt err = providerFinder->FindAllProvidersL( aItem );
-	CleanupStack::PopAndDestroy( providerFinder );
-	return err;	
-    }
-    
-// -----------------------------------------------------------------------------
-// CTestMnProviderDiscovery::FindSelectedProvidersL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnProviderDiscovery::FindSelectedProvidersL( CStifItemParser& aItem )
-    {
-    TestMnProviderFinder* providerFinder = TestMnProviderFinder::NewL( iLog );
-	CleanupStack::PushL( providerFinder );
-	TInt err = providerFinder->FindSelectedProvidersL( aItem );
-	CleanupStack::PopAndDestroy( providerFinder );
-	return err;	
-    }    
-
-// -----------------------------------------------------------------------------
-// CTestMnProviderDiscovery::DestroyProviderL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnProviderDiscovery::DestroyProviderL( CStifItemParser& aItem )
-    {
-    CTestMnProvider* testProvider = CTestMnProvider::NewL( iLog );
-	CleanupStack::PushL( testProvider );
-	TInt err = testProvider->DestroyProviderL( aItem );
-	CleanupStack::PopAndDestroy( testProvider );
-	return err;	
-    }    
-
-// -----------------------------------------------------------------------------
-// CTestMnProviderDiscovery::ProviderUidL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnProviderDiscovery::ProviderUidL( CStifItemParser& aItem )
-    {
-    CTestMnProvider* testProvider = CTestMnProvider::NewL( iLog );
-	CleanupStack::PushL( testProvider );
-	TInt err = testProvider->ProviderUidL( aItem );
-	CleanupStack::PopAndDestroy( testProvider );
-	return err;	
-    }
-    
-// -----------------------------------------------------------------------------
-// CTestMnProviderDiscovery::ProviderVersionL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnProviderDiscovery::ProviderVersionL( CStifItemParser& aItem )
-    {
-    CTestMnProvider* testProvider = CTestMnProvider::NewL( iLog );
-	CleanupStack::PushL( testProvider );
-	TInt err = testProvider->ProviderVersionL( aItem );
-	CleanupStack::PopAndDestroy( testProvider );
-	return err;	
-    }  
-    
-// -----------------------------------------------------------------------------
-// CTestMnProviderDiscovery::GetProviderNameL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnProviderDiscovery::GetProviderNameL( CStifItemParser& aItem )
-    {
-    CTestMnProvider* testProvider = CTestMnProvider::NewL( iLog );
-	CleanupStack::PushL( testProvider );
-	TInt err = testProvider->GetProviderNameL( aItem );
-	CleanupStack::PopAndDestroy( testProvider );
-	return err;	
-    }      
-// -----------------------------------------------------------------------------
-// CTestMnProviderDiscovery::GetShortNameL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnProviderDiscovery::GetShortNameL( CStifItemParser& aItem )
-    {
-    CTestMnProvider* testProvider = CTestMnProvider::NewL( iLog );
-	CleanupStack::PushL( testProvider );
-	TInt err = testProvider->GetShortNameL( aItem );
-	CleanupStack::PopAndDestroy( testProvider );
-	return err;	
-    }
-    
-// -----------------------------------------------------------------------------
-// CTestMnProviderDiscovery::GetVendorNameL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnProviderDiscovery::GetVendorNameL( CStifItemParser& aItem )
-    {
-    CTestMnProvider* testProvider = CTestMnProvider::NewL( iLog );
-	CleanupStack::PushL( testProvider );
-	TInt err = testProvider->GetVendorNameL( aItem );
-	CleanupStack::PopAndDestroy( testProvider );
-	return err;	
-    }          
-
-// -----------------------------------------------------------------------------
-// CTestMnProviderDiscovery::SupportedServicesL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnProviderDiscovery::SupportedServicesL( CStifItemParser& aItem )
-    {
-    CTestMnProvider* testProvider = CTestMnProvider::NewL( iLog );
-	CleanupStack::PushL( testProvider );
-	TInt err = testProvider->SupportedServicesL( aItem );
-	CleanupStack::PopAndDestroy( testProvider );
-	return err;	
-    }          
-
-// -----------------------------------------------------------------------------
-// CTestMnProviderDiscovery::SupportedFeaturesL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CTestMnProviderDiscovery::SupportedFeaturesL( CStifItemParser& aItem )
-    {
-    CTestMnProvider* testProvider = CTestMnProvider::NewL( iLog );
-	CleanupStack::PushL( testProvider );
-	TInt err = testProvider->SupportedFeaturesL( aItem );
-	CleanupStack::PopAndDestroy( testProvider );
-	return err;	
-    }          
-
-//  End of File
--- a/locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/src/testmnproviderfinder.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Provides testing of MnProviderFinder class methods
-*
-*/
-
-
-
-// INCLUDE FILES
-
-#include "testmnproviderfinder.h"
-#include <MnProviderFinder.h>
-#include <MnProvider.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// TestMnProviderFinder::TestMnProviderFinder
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-TestMnProviderFinder::TestMnProviderFinder( CStifLogger* aLog ) 
-	{
-	iLog = aLog;
-	}
-
-// -----------------------------------------------------------------------------
-// TestMnProviderFinder::NewL
-// 
-// 
-// -----------------------------------------------------------------------------
-//	
-TestMnProviderFinder* TestMnProviderFinder::NewL(CStifLogger* aLog)
-	{
-	TestMnProviderFinder* self = new (ELeave) TestMnProviderFinder( aLog );
-	CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop(); 
-    return self; 
-	}
-
-// -----------------------------------------------------------------------------
-// TestMnProviderFinder::ConstructL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-void TestMnProviderFinder::ConstructL()
-	{
-	
-	}	
-
-// -----------------------------------------------------------------------------
-// TestMnProviderFinder::~TestMnProviderFinder
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TestMnProviderFinder::~TestMnProviderFinder()
-	{
-	
-	}
-	
-
-// -----------------------------------------------------------------------------
-// TestMnProviderFinder::FindAllProvidersL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt TestMnProviderFinder::FindAllProvidersL( CStifItemParser& /*aItem*/ )
-	{
-	RPointerArray<CMnProvider> providerArray;
-	MnProviderFinder::FindProvidersL( providerArray );
-	
-	providerArray.ResetAndDestroy();
-	return KErrNone;
-	}
-	
-// -----------------------------------------------------------------------------
-// TestMnProviderFinder::FindSelectedProvidersL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt TestMnProviderFinder::FindSelectedProvidersL( CStifItemParser& /*aItem*/ )
-	{
-	
-	RPointerArray<CMnProvider> providerArray;
-	MnProviderFinder::FindProvidersL( providerArray, CMnProvider::EServiceNavigation | CMnProvider::EServiceMapView );
-	
-	providerArray.ResetAndDestroy();
-	return KErrNone;
-	}	
-
--- a/locsrv_plat/map_image_api/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  File that exports the files belonging to 
-:                Map Image API
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/mnmapimageparams.inl     MW_LAYER_PLATFORM_EXPORT_PATH(mnmapimageparams.inl)
-../inc/mnmapimage.h             MW_LAYER_PLATFORM_EXPORT_PATH(mnmapimage.h)
-../inc/mnmapimageparams.h       MW_LAYER_PLATFORM_EXPORT_PATH(mnmapimageparams.h)
--- a/locsrv_plat/map_image_api/inc/mnmapimage.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,298 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnMapImage class
-*
-*/
-
-
-#ifndef MN_MAPIMAGE_H_
-#define MN_MAPIMAGE_H_
-
-#include <e32base.h>
-#include <lbsposition.h>
-#include <mnmapimageparams.h>
-
-class CApaServerAppExitMonitor;
-class MAknServerAppExitObserver;
-class CMnProvider;
-class RMnMapImageServiceClient;
-class CMnMapImage;
-class CFbsBitmap;
-class CMnCoordinateConverterBase;
-
-/** Abstract class to be inherited by classes, which want to receive
- *  notification, when image rendering is completed.
- *  @see CMnMapImage 
- *  @since 5.0 */
-class MMnMapImageRenderCallback
-    {
-    public:
-        /** This callback is called when CMnMapImage has completed rendering
-         *  map image. It is not called if rendering was cancelled by client.
-         *  @param aStatus Result of the rendering operation:
-         *                      - @p KErrNone - rendering was completed successfully.
-         *                      - @p KErrNotSupported - rendering is not possible in specified area
-         *                           or one of mandatory options are not supported (see @ref TShowOption).
-         *                      - Other system-wide error codes also possible.
-         *  @param aMapImage Instance of CMnMapImage, through which the request has
-         *                   been issued. */
-        virtual void HandleRenderingCompletedL( TInt aStatus, CMnMapImage& aMapImage ) = 0;
-    };
-
-/** Provides access to map image rendering features.
- *
- *  The RenderL() method allows to get bitmap image of some area, which is specified
- *  by SetCenterPoint() and SetScale(). Size of the bitmap is defined by SetSize().
- *
- *  To create an instance of the class, use @ref NewL method. It
- *  requires instance of CMnProvider, defined in Map and Navigation Provider Discovery API.
- *
- *  Only one asynchronous request can be issued at a time, otherwise client
- *  will be panicked with KMnPanicDuplicateRequest.
- *
- *  @since 5.0
- *  @lib mnclientlib.dll
- *  @ingroup MapNavAPI
- */
-class CMnMapImage : public CBase
-	{
-	public:
-
-        /** Creates new instance of the class. Provider Application
-         *  will be executed standalone.
-         *
-         *  @param[in] aProvider Provider Application to be used for map rendering.
-         *  @return Pointer to new instance of the class.
-         *
-         *  @leave KErrNotSupported Selected Provider Application does not support
-         *      map image services (@ref CMnProvider::EServiceMapImage). */
-		IMPORT_C static CMnMapImage* NewL( CMnProvider& aProvider );
-
-        /** Destructor */
-        virtual ~CMnMapImage();
-
-		enum TShowOption
-			{
-            /** No options set, just plain image is requested. */
-            EShowOptionNone             = 0x00,
-
-            /** Texts such as street, city, country names should be drawn */
-            EShowOptionText             = 0x01,
-
-            /** POIs should be marked on the map */
-            EShowOptionPois             = 0x02,
-
-            /** Landmarks should be marked on the map */
-            EShowOptionLandmarks        = 0x04,
-
-            /** Current location should be marked on the map.
-             *  Client must have Location capability, otherwise
-             *  this option will be ignored. */
-            EShowOptionCurrentLocation  = 0x08,
-
-            /** Country borders should be shown */
-            EShowOptionCountryBorders   = 0x10,
-
-            /** If this flag is set, it is required to draw
-             *  items specified by other flags, otherwise all
-             *  of them are optional. */
-            EShowOptionsMandatory       = 0xF000
-			};
-
-        /** Type for bitmap of options defined in @ref TShowOption */
-		typedef TUint32 TShowOptions;
-
-        /** Returns what types of map images are supported by provider
-         *  application given at construction (see NewL()).
-         *  @return Bitmap of values defined by @ref TMapImageType. */
-		IMPORT_C TMnMapImageParams::TMapImageTypes SupportedImageTypes();
-
-        /** Returns map image parameters object.
-         *  Client can modify it, but all modification will be
-         *  applied only for next and following RenderL requests.
-         *  @return Modifiable map image parameters object */
-        IMPORT_C TMnMapImageParams& MapImageParams();
-
-        /** @overload
-         *  @return Non-modifiable map image parameters object */
-        IMPORT_C const TMnMapImageParams& MapImageParams() const;
-
-        /** Sets all map image drawing parameters at once.
-         *  New options will be applied only for next and following
-         *  RenderL requests.
-         *  @param aImageParams Image parameters to take into use for
-         *                      following RenderL requests */
-        IMPORT_C void SetMapImageParams( TMnMapImageParams& aImageParams );
-
-        /** Specifies the origin of image in the target bitmap, see
-         *  RenderL(). By default it is TPoint( 0, 0 ), i.e. left top
-         *  corner of the bitmap.
-         *  This setting takes effect only from next RenderL request.
-         *  @param[in] aOrigin Origin of the map in the target bitmap.*/
-		IMPORT_C void SetTargetOrigin( const TPoint& aOrigin );
-
-        /** Returns current setting of map image origin in target bitmap.
-         *  @returns Origin of map image in the target bitmap.*/
-		IMPORT_C TPoint TargetOrigin();
-
-        /** Sets additional options to be used in rendering. Renderer will
-         *  take them into account if possible.
-         *  This setting takes effect only from next RenderL request.
-         *  @param[in] aOptions Bitmap of options defined in @ref TOption. */
-		IMPORT_C void SetShowOptions( const TShowOptions& aOptions );
-
-        /** Returns additional options set to be used in rendering.
-         *  @return Bitmap of options defined in @ref TShowOption. */
-		IMPORT_C TShowOptions ShowOptions() const;
-
-        /** Intiates rendering of map image.
-         *  This is asynchronous request, which completion is informed via
-         *  aStatus parameter. Client should use active object to wait for completion.
-         *
-         *  This function may leave if some error occurs during initiating of the request.
-         *  If so, then no asynchronous request will be left ongoing.
-         *
-         *  @param[in,out] aBitmap Bitmap object, which the map image will be drawn into.
-         *                 Its size in pixels must be sufficient to fit the image
-         *                 defined by @ref SetSize() taking @ref SetTargetOrigin()
-         *                 into account as well.
-         *  @param[out] aStatus This status will be completed, when rendering is finished.
-         *                      - @p KErrNone - rendering was completed successfully.
-         *                      - @p KErrNotSupported - rendering is not possible in specified area
-         *                           or one of mandatory options are not supported (see @ref TShowOption).
-         *                      - Other system-wide error codes also possible.
-         *
-         *  @leave KErrArgument
-         *      - If target bitmap size is too small.
-         *      - If requested image type is not supported by provider application
-         *
-         *  @panic "MnPanicClient"-KMnPanicDuplicateRequest if request is already
-         *         ongoing. */
-		IMPORT_C void RenderL( CFbsBitmap& aBitmap, TRequestStatus& aStatus );
-
-        /** Intiates rendering of map image.
-         *  This is asynchronous request, which completion is informed via aCallback.
-         *
-         *  Client must provide callback as class derived from MMnMapImageRenderCallback.
-         *  This is asynchronous request also. An active object will be executed to handle
-         *  completion of rendering request, so client must have active scheduler installed.
-         *
-         *  This function may leave if some error occurs during initiating of the request.
-         *  If so, then no asynchronous request will be left ongoing.
-         *
-         *  @param[in,out] aBitmap Bitmap object, which the map image will be drawn into.
-         *                 Its size in pixels must be sufficient to fit the image
-         *                 defined by @ref SetSize() taking @ref SetTargetOrigin()
-         *                 into account as well.
-         *  @param[in] aCallback Callback object to call when rendering is completed.
-         *                 See @ref MMnMapImageRenderCallback::HandleRenderingCompletedL for details
-         *                 on possible operation result error codes.
-         *
-         *  @leave KErrArgument
-         *      - If target bitmap size is too small.
-         *      - If requested image type is not supported by provider application
-         *
-         *  @panic "MnPanicClient"-KMnPanicDuplicateRequest if request is already
-         *         ongoing. */
-        IMPORT_C void RenderL( CFbsBitmap& aBitmap, MMnMapImageRenderCallback& aCallback );
-
-        /** Cancels current ongoing asynchronous rendering request.
-         *  Note that callback, set in @ref RenderL(CFbsBitmap&, MMnMapImageRenderCallback&)
-         *  is <i>not</i> called, if request is cancelled. */
-		IMPORT_C void CancelRendering();
-
-        /** Calculates coordinate in pixels of the point corresponding to given
-         *  world coordinate.
-         *
-         *  Given world coordinate is allowed to be beyond
-         *  image borders. In that case negative values in result value
-         *  describe point to the left of left border and/or above top border of the
-         *  image and values bigger than width or height describe point to the right
-         *  of right image border or below its bottom border.
-         *
-         *  Sometimes such calculation is not possible (e.e given world coordinate
-         *  is not part of the image) and this function returns @c KErrUnknown.
-         *
-         *  Map image parameters are necessary be set in order for this function
-         *  to operate successfully. Default values are not sufficient, so client
-         *  is responsible to override them before calling this method. Note though,
-         *  that it is not required to call RenderL before calling this method.
-         *
-         *  @param[in] aWorldCoordinate World coordinate (in WGS-84)
-         *  @param[out] aImagePoint On successful return, coordinate of corresponding
-         *                          pixel in image relative to image top left corner.
-         *  @return Error code of the operation:
-         *      - @c KErrNone if calculation is successful
-         *      - @c KErrArgument if map image parameters in are invalid.
-         *      - @c KErrUnknown if calculation is not possible */
-		IMPORT_C TInt GetImageCoordinate(
-            const TCoordinate& aWorldCoordinate,
-            TPoint& aImagePoint ) const;
-
-        /** Calculates world coordinate of the given image point.
-         *
-         *  Given image point coordinate must be within the rectangle
-         *  ( TPoint( 0, 0 ), @ref Size() ).
-         *
-         *  Map image parameters are necessary be set in order for this function
-         *  to operate successfully. Default values are not sufficient, so client
-         *  is responsible to override them before calling this method. Note though,
-         *  that it is not required to call RenderL before calling this method.
-         *
-         *  Sometimes such calculation is not possible (e.g. given image coordinate
-         *  does not match any world coordinate) and this function returns @c KErrUnknown.
-         *
-         *  @param[in] aImagePoint Coordinate of a point on map image in pixels,
-         *             relative to image top left corner.
-         *  @param[out] aWorldCoordinate On successful return, corresponding
-         *                               world coordinate (in WGS-84).
-         *  @return Error code of the operation:
-         *      - @c KErrNone if calculation is successful
-         *      - @c KErrArgument if image coordinate is out of bounds
-         *      - @c KErrArgument if map image parameters in are invalid.
-         *      - @c KErrUnknown if calculation is not possible */
-		IMPORT_C TInt GetWorldCoordinate(
-            const TPoint& aImagePoint,
-            TCoordinate& aWorldCoordinate ) const;
-         
-        /** Sets observer of provider application lifetime.
-         *  Client will receive exit event from provider application.
-         *  By default exit events from provider application are not monitored.
-         *  @param[in] aObserver Exit observer.
-         *  @leave KErrAlreadyExists if observer is already set. 
-         */
-        IMPORT_C void SetExitObserverL( MAknServerAppExitObserver& aObserver );
-
-        /** Removes observer of provider application lifetime. */
-        IMPORT_C void RemoveExitObserver();
-
-	protected:
-		CMnMapImage();
-		void ConstructL( CMnProvider& aProvider );
-        
-    private:
-        TUint32 iProviderFeatures;
-    
-        TPoint iTargetOrigin;    
-        TMnMapImageParams iMapImageParams;
-        TShowOptions iShowOptions;
-        
-        RMnMapImageServiceClient* iSession;
-        CApaServerAppExitMonitor* iExitMonitor;
-        CActive* iActiveCallback;
-        
-        CMnCoordinateConverterBase* iCoordConverter;
-	};
-
-#endif /*MN_MAPIMAGE_H_*/
--- a/locsrv_plat/map_image_api/inc/mnmapimageparams.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,146 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  TMnMapImageParams class
-*
-*/
-
-
-#ifndef MNMAPIMAGEPARAMS_H_
-#define MNMAPIMAGEPARAMS_H_
-
-#include <lbsposition.h>
-
-/** Container class for map image rendering parameters.
- *  It stores following parameters:
- *   - center coordinate of map image,
- *   - size of the image,
- *   - image scale
- *   - image direction
- *   - type of image 
- *  @since 5.0 */
-class TMnMapImageParams
-    {
-    public:
-
-        /** Types of map images */
-        enum TMapImageType
-            {
-            /** Type is unknown or unspecified */
-            ETypeUnspecified        = 0x00,
-            /** Scalable graphical maps (e.g. street maps) */
-            ETypeVectorMap          = 0x01,
-            /** Image built of satellite photographs of Earth */
-            ETypeSatelliteImage     = 0x02
-            };
-            
-        /** Type for bitmap of image types defined in @ref TMapImageType */
-        typedef TUint32 TMapImageTypes;
-
-    public:
-        IMPORT_C TMnMapImageParams();
-
-        /** Sets a world coordinate as a center of desired image.
-         *  @param[in] aCoordinate World location to be center of rendered map.*/
-        inline void SetCenterPoint( const TCoordinate& aCoordinate );
-
-        /** Returns world location, selected by client as the map center.
-         *  @param aCoordinate Coordinate of map's center. */
-        inline void GetCenterPoint( TCoordinate& aCoordinate ) const;
-
-        /** Sets the width and heigth of the world area to be covered by the map image.
-         *  These two parameters define an ellipse, covering the world area, 
-         *  which is <i>required</i> to be visible on the map. Actual visible area
-         *  can be larger, if given image size and area have different aspect ratios.
-         *  @param[in] aWidth The length in meters of the line, orthogonal to the image 
-         *      direction and going through center point
-         *  @param[in] aHeight The length in meters of the line, parallel to the image 
-         *      direction and going through center point */
-        inline void SetVisibleArea( TReal32 aWidth, TReal32 aHeight );
-        
-        /** Returns the width and heigth of the world area to be covered by the map image.
-         *  These two parameters define an ellipse, covering the world area, 
-         *  which is <i>required</i> to be visible on the map. Actual visible area
-         *  can be larger, if given image size and area have different aspect ratios.
-         *  @param[out] aWidth The length in meters of the line, orthogonal to the image 
-         *      direction and going through center point
-         *  @param[out] aHeight The length in meters of the line, parallel to the image 
-         *      direction and going through center point */
-        inline void GetVisibleArea( TReal32& aWidth, TReal32& aHeight ) const;
-
-        /** Sets size of desired map image in pixels.
-         *  @param aImageSize Width and height of the map image. */
-        inline void SetSize( const TSize& aImageSize );
-
-        /** Returns size of desired map image in pixels.
-         *  @return Width and height of the map image. */
-        inline TSize Size() const;
-
-        /** Sets required direction of the map.
-         *  Image direction is defined as clockwise angle between two vectors:
-         *  - a.  vector from center point towards true North Pole parallel to center’s longitude.
-         *        If center is positioned at North Pole, then this vector is directed
-         *        towards South Pole parallel to center’s longitude.
-         *  - b.  vector from center point (see @ref SetCenterPoint()) towards center of image’s top side.
-         * 
-         *  This direction parameter can be thought of as "true heading" of the image.
-         *
-         * @param aDirection Direction in degrees. */
-        inline void SetDirection( TReal32 aDirection );
-
-        /** Returns selected direction of the map. For details of direction definition,
-         *  see @ref SetDirection().
-         *  @return Direction in degrees.*/
-        inline TReal32 Direction() const;
-
-        /** Sets desired type of map image. If set, then rendering will
-         *  provide (if supported) maps of specified type. Default value is
-         *  ETypeUnspecified, which allows provider to select best suitable image
-         *  for given scale, center etc.*/
-        inline void SetImageType( TMapImageType aImageType );
-
-        /** Returns type of last rendered map image. (It always matches the value
-         *  specified by client in @ref SetImageType except if ETypeUnspecified
-         *  is given by client.) */
-        inline TMapImageType ImageType() const;
-
-        /** Sets internal ID of a projection used by renderer.
-         *  It is useful if provider supports several projections.
-         *  Currently must not be used by clients, only for internal purposes
-         *  of provider application.
-         *  @param aProjectionId Renderer'd internal id of used projection */
-        inline void SetProjectionId( TInt aProjectionId );
-
-        /** Sets internal ID of a projection used by renderer.
-         *  It is meaningful if provider supports several projections.
-         *  Currently must not be used by clients, only for internal purposes
-         *  of provider application.
-         *  @return Renderer'd internal id of used projection. */
-        inline TInt ProjectionId();
-
-    private:
-        TCoordinate     iCenterPoint;
-        TReal32         iAreaWidth;
-        TReal32         iAreaHeight;
-        TSize           iSize;
-        TReal32         iDirection;
-
-        TMapImageType   iImageType;
-        TInt            iProjectionId;
-
-        TInt8           reserved[32];
-    };
-
-#include <mnmapimageparams.inl>
-
-#endif /*MNMAPIMAGEPARAMS_H_*/
--- a/locsrv_plat/map_image_api/inc/mnmapimageparams.inl	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,121 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  TMnMapImageParams class implementation
-*
-*/
-
-
-
-#ifndef MNMAPIMAGEPARAMS_INL_
-#define MNMAPIMAGEPARAMS_INL_
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void TMnMapImageParams::SetCenterPoint( const TCoordinate& aCoordinate )
-    {
-    iCenterPoint = aCoordinate;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void TMnMapImageParams::GetCenterPoint( TCoordinate& aCoordinate ) const
-    {
-    aCoordinate = iCenterPoint;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void TMnMapImageParams::SetVisibleArea( TReal32 aWidth, TReal32 aHeight )
-    {
-    iAreaWidth = aWidth;
-    iAreaHeight = aHeight;
-    }
-        
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void TMnMapImageParams::GetVisibleArea( TReal32& aWidth, TReal32& aHeight ) const
-    {
-    aWidth = iAreaWidth;
-    aHeight = iAreaHeight;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void TMnMapImageParams::SetSize( const TSize& aImageSize )
-    {
-    iSize = aImageSize;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-TSize TMnMapImageParams::Size() const
-    {
-    return iSize;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void TMnMapImageParams::SetDirection( TReal32 aDirection )
-    {
-    iDirection = aDirection;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-TReal32 TMnMapImageParams::Direction() const
-    {
-    return iDirection;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void TMnMapImageParams::SetImageType( TMapImageType aImageType )
-    {
-    iImageType = aImageType;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-TMnMapImageParams::TMapImageType TMnMapImageParams::ImageType() const
-    {
-    return iImageType;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void TMnMapImageParams::SetProjectionId( TInt aProjectionId )
-    {
-    iProjectionId = aProjectionId;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-TInt TMnMapImageParams::ProjectionId()
-    {
-    return iProjectionId;
-    }
-
-#endif /*MNMAPIMAGEPARAMS_INL_*/
--- a/locsrv_plat/map_image_api/map_image_api.metaxml	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-<?xml version="1.0" ?>
-<api id="16b4650ac7f0578cfbb4796e8337338b" dataversion="2.0">
-  <name>Map Image API</name>
-  <description>This API provides map image rendering features.</description>
-  <type>c++</type>
-  <collection>locationmapnavfw</collection>
-  <libs>
-    <lib name="mnclientlib.lib" />
-  </libs>
-  <release category="platform" sinceversion="0"/>
-  <attributes>
-     <!-- This indicates wether the api provedes separate html documentation -->
-     <!-- or is the additional documentation generated from headers. -->
-     <!-- If you are unsuere then the value is "no" -->
-     <htmldocprovided>no</htmldocprovided>
-     <adaptation>no</adaptation>
-  </attributes>
-</api>
--- a/locsrv_plat/map_image_api/tsrc/bmarm/testmapimageu.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	LibEntryL__FR13CTestModuleIf @ 1 NONAME R3UNUSED ; LibEntryL(CTestModuleIf &)
-
--- a/locsrv_plat/map_image_api/tsrc/bwins/testmapimageu.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	?LibEntryL@@YAPAVCScriptBase@@AAVCTestModuleIf@@@Z @ 1 NONAME ; class CScriptBase * __cdecl LibEntryL(class CTestModuleIf &)
-
--- a/locsrv_plat/map_image_api/tsrc/conf/testmapimage.cfg	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,138 +0,0 @@
-[Define]
-EShowOptionNone		0
-EShowOptionText		1
-EShowOptionPois		2
-EShowOptionLandmarks	3
-EShowOptionCurrentLocation 4
-EShowOptionCountryBorders		5
-EShowOptionsMandatory				6
-KErrCancel 									-3
-[Enddefine]
-
-
-[Test]
-title TCMAPIMAGE0001
-create testmapimage obj
-obj CMnMapImageNewL 
-delete obj
-[Endtest] 
-
-[Test]
-title TCMAPIMAGE0002
-create testmapimage obj
-obj TestSetMapImageParams 
-delete obj
-[Endtest] 
-
-[Test]
-title TCMAPIMAGE0003
-create testmapimage obj
-obj TestSetShowOptions		 EShowOptionText
-delete obj
-[Endtest] 
-
-[Test]
-title TCMAPIMAGE0004
-create testmapimage obj
-obj TestSetTargetOrigin		 
-delete obj
-[Endtest] 
-
-[Test]
-title TCMAPIMAGE0005
-create testmapimage obj
-obj TestGetImageCoordinate		 
-delete obj
-[Endtest] 
-
-[Test]
-title TCMAPIMAGE0006
-create testmapimage obj
-obj TestSupportedImageTypes		 
-delete obj
-[Endtest] 
-
-[Test]
-title TCMAPIMAGE0007
-create testmapimage obj
-obj TestGetWorldCoordinate		 
-delete obj
-[Endtest] 
-
-[Test]
-title TCMAPIMAGE0008
-create testmapimage obj
-obj TestSetExitObserverL		 
-delete obj
-[Endtest] 
-
-[Test]
-title TCMAPIMAGE0009
-create testmapimage obj
-obj TestRender1L		 
-delete obj
-[Endtest] 
-
-[Test]
-title TCMAPIMAGE0010
-create testmapimage obj
-obj TestRender2L		 
-delete obj
-[Endtest] 
-
-[Test]
-title TCMAPIMAGE0011
-create testmapimage obj
-allownextresult 		KErrCancel
-obj TestCancelRendering		 
-delete obj
-[Endtest] 
-
-[Test]
-title TCMAPIMAGE0012
-create testmapimage obj
-obj TestTMnMapImageParams		 
-delete obj
-[Endtest] 
-
-[Test]
-title TCMAPIMAGE0013
-create testmapimage obj
-obj TestSetGetCenterPoint		 
-delete obj
-[Endtest] 
-
-[Test]
-title TCMAPIMAGE0014
-create testmapimage obj
-obj TestSetGetVisibleArea		 
-delete obj
-[Endtest] 
-
-[Test]
-title TCMAPIMAGE0015
-create testmapimage obj
-obj TestSetGetSize	 
-delete obj
-[Endtest] 
-
-[Test]
-title TCMAPIMAGE0016
-create testmapimage obj
-obj TestSetGetDirection	 
-delete obj
-[Endtest] 
-
-[Test]
-title TCMAPIMAGE0017
-create testmapimage obj
-obj TestSetGetImageType
-delete obj
-[Endtest] 
-
-[Test]
-title TCMAPIMAGE0018
-create testmapimage obj
-obj TestSetGetProjectionId
-delete obj
-[Endtest] 
\ No newline at end of file
--- a/locsrv_plat/map_image_api/tsrc/eabi/testmapimageu.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	_Z9LibEntryLR13CTestModuleIf @ 1 NONAME
-
--- a/locsrv_plat/map_image_api/tsrc/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Build information file for test code of Map Image API
-*
-*/
-
-
-
-PRJ_PLATFORMS
-// specify the platforms your component needs to be built for here
-// defaults to WINS MARM so you can ignore this if you just build these
-DEFAULT
-
-PRJ_TESTEXPORTS
-// NOTE: If using ARS requirements all export operations should be done under this.
-// 'abld test export'
-
-PRJ_EXPORTS
-// Specify the source file followed by its destination here
-// copy will be used to copy the source file to its destination
-// If there's no destination then the source file will be copied
-// to the same name in /epoc32/include
-// Example: 
-/*
-/agnmodel/inc/AGMCOMON.H
-*/
-
-PRJ_TESTMMPFILES
-// NOTE: If using ARS requirements .mmp file operation should be done under this.
-// 'abld test build'
-
-../testprovider/group/testprovider.mmp
-../testprovider/group/testproviderplugin.mmp
-
-testmapimage.mmp
-
-PRJ_MMPFILES
-// Specify the .mmp files required for building the important component
-// releasables.
-//
-// Specify "tidy" if the component you need to build doesn't need to be
-// released. Specify "ignore" if the MMP file exists but should be
-// ignored.
-// Example:
-/*
-/agnmodel/group/agnmodel.mmp
-#if defined(MARM)
-/agnmodel/group/agsvexe.mmp
-#endif
-*/
-
-//  End of File
\ No newline at end of file
--- a/locsrv_plat/map_image_api/tsrc/group/map_image_api_test.pkg	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +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: Package file for test code of Map Image API
-;
-;
-; Installation file for map_image_api_test application
-;
-;Languages
-&EN
-;
-; UID is the app's UID
-;
-#{"map_image_api_test"},(0x101FB3E3),2,0,0,TYPE=SA
-;
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Supports Series 60 v 3.0
-;This line indicates that this installation is for the Series 60 platform v0.9
-;This line must appear _exactly_ as shown below in the sis file
-;If this line is missing or incorrect, the sis file will not be able
-;to be installed on Series 60 v3.0 platforms
-;(0x101F7961), 0, 0, 0, {"Series60ProductID"}
-;
-;
-; Files to install
-"\epoc32\release\armv5\urel\testmapimage.dll"-"C:\sys\bin\testmapimage.dll"
-
-"\epoc32\release\ARMV5\urel\mntestprovider.exe"-"C:\sys\bin\mntestprovider.exe"
-"\epoc32\release\ARMV5\urel\MnTestProviderPlugin.dll"-"!:\sys\bin\MnTestProviderPlugin.dll"
-"\epoc32\data\z\resource\apps\mntestprovider.rsc"-"C:\resource\apps\mntestprovider.rsc"
-"\epoc32\data\z\private\10003a3f\apps\mntestprovider_reg.rsc"-"C:\private\10003a3f\import\apps\mntestprovider_reg.rsc"
-"\epoc32\data\z\resource\plugins\mntestproviderplugin.rsc"-"!:\resource\plugins\mntestproviderplugin.rsc"
-
-"..\conf\testmapimage.cfg"-"C:\testframework\testmapimage.cfg"
-"..\init\testframework.ini"-"C:\testframework\testframework.ini"
--- a/locsrv_plat/map_image_api/tsrc/group/testmapimage.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +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: Project definition file for test code of Map Image API
-*
-*/
-
-
-
-#include <platform_paths.hrh>
-
-
-TARGET          testmapimage.dll
-TARGETTYPE      dll
-UID             0x1000008D 0x101FB3E3
-
-CAPABILITY      ALL -TCB
-/* Remove comments and replace 0x00000000 with correct vendor id */
-// VENDORID     0x00000000
-/* Remove comments and replace 0x00000000 with correct secure id */
-// SECUREID     0x00000000
-
-//TARGETPATH      ?target_path
-DEFFILE         testmapimage.def
-
-SOURCEPATH      ../src
-SOURCE          testmapimage.cpp
-SOURCE          testmapimageBlocks.cpp
-SOURCE          testmnmapimage.cpp
-SOURCE          testmnmapimageparams.cpp
-
-//RESOURCE        resource_file
-//RESOURCE        resource_file2
-
-USERINCLUDE     ../inc 
-
-
-APP_LAYER_SYSTEMINCLUDE
-
-
-LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
-LIBRARY         stiftestengine.lib
-LIBRARY         mnclientlib.lib
-LIBRARY         swinstcli.lib
-LIBRARY         lbs.lib
-LIBRARY         avkon.lib
-LIBRARY         apparc.lib
-LIBRARY         fbscli.lib 
-LANG            SC
-
-/*
-START WINS      
-?wins_specific_information
-END
-
-START MARM
-?marm_specific_information
-END
-*/
-// Other possible keywords:
- 
-// DOCUMENT     ?file, that is not compiled, but added to MSVC project workspace (i.e. release notes)
-/*
-START BITMAP ?target
-TARGETPATH   ?emulated_path_on_target_machine
-HEADER
-SOURCE       ?color_depth ?source_bitmap
-END
-*/
-// DEFFILE ?filename
-// AIF ?filename
-
-
-SMPSAFE
-
-// End of File
--- a/locsrv_plat/map_image_api/tsrc/inc/testmapimage.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,305 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Declaration of test class for map image api
-*
-*/
-
-
-
-#ifndef TESTMAPIMAGE_H
-#define TESTMAPIMAGE_H
-
-//  INCLUDES
-#include <StifLogger.h>
-#include <TestScripterInternal.h>
-#include <StifTestModule.h>
-
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-// Logging path
-_LIT( KtestmapimageLogPath, "\\logs\\testframework\\testmapimage\\" ); 
-// Log file
-_LIT( KtestmapimageLogFile, "testmapimage.txt" ); 
-_LIT( KtestmapimageLogFileWithTitle, "testmapimage_[%S].txt" );
-
-// FUNCTION PROTOTYPES
-//?type ?function_name(?arg_list);
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-class Ctestmapimage;
-
-// DATA TYPES
-//enum ?declaration
-//typedef ?declaration
-//extern ?data_type;
-
-// CLASS DECLARATION
-
-/**
-*  Ctestmapimage test class for STIF Test Framework TestScripter.
-*  ?other_description_lines
-*
-*  @lib ?library
-*  @since ?Series60_version
-*/
-NONSHARABLE_CLASS(Ctestmapimage) : public CScriptBase
-    {
-    public:  // Constructors and destructor
-
-        /**
-        * Two-phased constructor.
-        */
-        static Ctestmapimage* NewL( CTestModuleIf& aTestModuleIf );
-
-        /**
-        * Destructor.
-        */
-        virtual ~Ctestmapimage();
-
-    public: // New functions
-
-        /**
-        * ?member_description.
-        * @since ?Series60_version
-        * @param ?arg1 ?description
-        * @return ?description
-        */
-        //?type ?member_function( ?type ?arg1 );
-
-    public: // Functions from base classes
-
-        /**
-        * From CScriptBase Runs a script line.
-        * @since ?Series60_version
-        * @param aItem Script line containing method name and parameters
-        * @return Symbian OS error code
-        */
-        virtual TInt RunMethodL( CStifItemParser& aItem );
-
-    protected:  // New functions
-
-        /**
-        * ?member_description.
-        * @since ?Series60_version
-        * @param ?arg1 ?description
-        * @return ?description
-        */
-        //?type ?member_function( ?type ?arg1 );
-
-    protected:  // Functions from base classes
-
-        /**
-        * From ?base_class ?member_description
-        */
-        //?type ?member_function();
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        Ctestmapimage( CTestModuleIf& aTestModuleIf );
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-
-        // Prohibit copy constructor if not deriving from CBase.
-        // ?classname( const ?classname& );
-        // Prohibit assigment operator if not deriving from CBase.
-        // ?classname& operator=( const ?classname& );
-
-        /**
-        * Frees all resources allocated from test methods.
-        * @since ?Series60_version
-        */
-        void Delete();
-
-        /**
-        * Test methods are listed below. 
-        */
-        /**
-        * This method will install the provider application
-        */
-        TInt InstallProvider( CStifItemParser& /*aItem*/  );
-        /**
-        * Test case for CMnMapImage::NewL
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt TestMapImageNewLL( CStifItemParser& aItem );
-        /**
-        * Test case for CMnMapImage::SetMapImageParams & CMnMapImage::MapImageParams
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt TestSetMapImageParams( CStifItemParser& aItem );
-         /**
-        * Test case for CMnMapImage::SetShowOptions & CMnMapImage::ShowOptions
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt TestSetShowOptions( CStifItemParser& aItem );
-        /**
-        * Test case for CMnMapImage::SetTargetOrigin & CMnMapImage::TargetOrigin
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt TestSetTargetOrigin( CStifItemParser& aItem );
-        /**
-        * Test case for CMnMapImage::GetImageCoordinate
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt TestGetImageCoordinate( CStifItemParser& aItem );
-        /**
-        * Test case for CMnMapImage::SupportedImageTypes
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt TestSupportedImageTypes( CStifItemParser& aItem );
-        /**
-        * Test case for CMnMapImage::GetWorldCoordinate
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt TestGetWorldCoordinate( CStifItemParser& aItem );
-        /**
-        * Test case for CMnMapImage::SetExitObserverL & CMnMapImage::RemoveExitObserver
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt TestSetExitObserverL( CStifItemParser& aItem );
-         /**
-        * Test case for CMnMapImage::RenderL whose completion is informed via aStatus parameter.
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt TestRender1L( CStifItemParser& aItem );
-        /**
-        * Test case for CMnMapImage::RenderL whose completion is informed via aCallback
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt TestRender2L( CStifItemParser& aItem );
-        /**
-        * Test case for CMnMapImage::CancelRendering 
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt TestCancelRendering( CStifItemParser& aItem );
-        /**
-        * Test case for constructor of TMnMapImageParams 
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt TestTMnMapImageParams( CStifItemParser& aItem );
-        /**
-        * Test case for TMnMapImageParams::SetCenterPoint &
-        * TMnMapImageParams::GetCenterPoint
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt TestSetGetCenterPoint( CStifItemParser& aItem );
-        /**
-        * Test case for TMnMapImageParams::SetVisibleArea &
-        * TMnMapImageParams::GetVisibleArea
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt TestSetGetVisibleArea( CStifItemParser& aItem );
-        /**
-        * Test case for TMnMapImageParams::SetSize &
-        * TMnMapImageParams::Size
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt TestSetGetSize( CStifItemParser& aItem );
-        /**
-        * Test case for TMnMapImageParams::SetDirection &
-        * TMnMapImageParams::Direction
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt TestSetGetDirection( CStifItemParser& aItem );
-        /**
-        * Test case for TMnMapImageParams::SetImageType &
-        * TMnMapImageParams::ImageType
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt TestSetGetImageType( CStifItemParser& aItem );
-        /**
-        * Test case for TMnMapImageParams::SetProjectionId &
-        * TMnMapImageParams::ProjectionId
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt TestSetGetProjectionId( CStifItemParser& aItem );
-        
-        
-        
-        
-        
-        //ADD NEW METHOD DEC HERE
-        //[TestMethods] - Do not remove
-
-    public:     // Data
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-
-    protected:  // Data
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-
-    private:    // Data
-        
-    //    CTestMapImage * iMapImage;
-
-    public:     // Friend classes
-        //?friend_class_declaration;
-    protected:  // Friend classes
-        //?friend_class_declaration;
-    private:    // Friend classes
-        //?friend_class_declaration;
-
-    };
-
-#endif      // TESTMAPIMAGE_H
-
-// End of File
--- a/locsrv_plat/map_image_api/tsrc/inc/testmnmapimage.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,140 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Helper class for CMnMapImage class
-*
-*/
-
-
-#ifndef CTESTMNMAPIMAGE_H
-#define CTESTMNMAPIMAGE_H
-
-// System Includes
-#include <StifLogger.h>
-#include <StifParser.h>
-#include <StifParser.h>
-#include <AknServerApp.h>
-#include <mnmapimage.h>
-#include <fbs.h>
-
-
-
-// CLASS DECLARATION
-/**
- *  
- *
- *  This class is a helper class used to handle the functions of CMnMapImage
- *  class. 
- *
- *  @lib testmapimage.lib
- *  @since S60 v5.0
- */
-
-class CTestMapImage:public MAknServerAppExitObserver,public CActive,public MMnMapImageRenderCallback
-    {
-    public:  // Constructors and destructor
-
-        /**
-        * C++ default constructor.
-        */
-        CTestMapImage(CStifLogger* aLog);
-
-        /**
-        * Destructor. 
-        */
-        ~CTestMapImage();
-
-    public:         
-        
-                   
-		  
-        // New functions  
-        /**
-        * Test case for CMnMapImage::NewL
-        */
-        TInt TestNewLL();
-        /**
-        * Test case for CMnMapImage::SetMapImageParams & CMnMapImage::MapImageParams
-        */
-        TInt CheckSetMapImageParams() const;
-        /**
-        * Test case for CMnMapImage::SetShowOptions & CMnMapImage::ShowOptions
-        */
-        TInt CheckSetShowOptions(CStifItemParser& aItem);
-         /**
-        * Test case for CMnMapImage::SetTargetOrigin & CMnMapImage::TargetOrigin
-        */
-        TInt CheckSetTargetOrigin();
-        /**
-        * Test case for CMnMapImage::TestGetImageCoordinate
-        */
-        TInt CheckGetImageCoordinate();
-	    /**
-        * Test case for CMnMapImage::SupportedImageTypes
-        */
-        TInt CheckSupportedImageTypes();
-        /**
-        * Test case for CMnMapImage::GetWorldCoordinate
-        */
-        TInt CheckGetWorldCoordinate();
-        /**
-        * From MAknServerAppExitObserver
-        */
-        void HandleServerAppExit  (  TInt  aReason   );
-        /**
-        * Test case for CMnMapImage::SetExitObserverL & CMnMapImage::RemoveExitObserver
-        */
-        TInt CheckSetExitObserverL(); 
-        /**
-        * From CActive
-        */
-        void RunL();
-        void DoCancel();
-        /**
-        * Test case for CMnMapImage::RenderL whose completion is informed via aStatus parameter.
-        */
-        TInt CheckRender1L(); 
-        /**
-        * Test case for CMnMapImage::RenderL whose completion is informed via aCallback
-        */
-        TInt CheckRender2L(); 
-        /**
-        * From MMnMapImageRenderCallback
-        */
-        void HandleRenderingCompletedL( TInt aStatus, CMnMapImage& /*aMapImage*/ );
-        /**
-        * Test case for CMnMapImage::CancelRendering 
-        */
-        TInt CheckCancelRendering(); 
-        
-	
-		  
-	private:
-	    
-	   
-	   
-	    
-    private:  //data
-	   
-	    /**
-	     * Pointer to Stif Logger - Does not Own
-	     */           
-        CStifLogger* 			iLog;
-        TInt iError;
-        CMnMapImage* iMapImage ;
-        
-     };     
-
-#endif      //  CTESTMNMAPIMAGE_H
-
-// End of File
--- a/locsrv_plat/map_image_api/tsrc/inc/testmnmapimageparams.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,116 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Helper class for TMnMapImageParams class
-*
-*/
-
-
-#ifndef CTESTMNMAPIMAGEPARAMS_H
-#define CTESTMNMAPIMAGEPARAMS_H
-
-// System Includes
-#include <StifLogger.h>
-#include <StifParser.h>
-#include <StifParser.h>
-#include <mnmapimageparams.h>
-
-
-
-
-// CLASS DECLARATION
-/**
- *  
- *
- *  This class is a helper class used to handle the functions of TMnMapImageParams
- *  class. 
- *
- *  @lib testmapimage.lib
- *  @since S60 v5.0
- */
-
-class CTestMapImageParams
-    {
-    public:  // Constructors and destructor
-
-        /**
-        * C++ default constructor.
-        */
-        CTestMapImageParams(CStifLogger* aLog);
-
-        /**
-        * Destructor. 
-        */
-        ~CTestMapImageParams();
-
-    public:         
-        
-                   
-		  
-        // New functions  
-        /**
-        * Test case for constructor of TMnMapImageParams
-        */
-        TInt CheckTMnMapImageParams();
-        /**
-        * Test case for TMnMapImageParams::SetCenterPoint &
-        * TMnMapImageParams::GetCenterPoint
-        */
-        TInt CheckSetGetCenterPoint();
-        /**
-        * Test case for TMnMapImageParams::SetVisibleArea &
-        * TMnMapImageParams::GetVisibleArea
-        */
-        TInt CheckSetGetVisibleArea();
-        /**
-        * Test case for TMnMapImageParams::SetSize &
-        * TMnMapImageParams::Size
-        */
-        TInt CheckSetGetSize();
-        /**
-        * Test case for TMnMapImageParams::SetDirection &
-        * TMnMapImageParams::Direction
-        */
-        TInt CheckSetGetDirection();
-        /**
-        * Test case for TMnMapImageParams::SetImageType &
-        * TMnMapImageParams::ImageType
-        */
-        TInt CheckSetGetImageType();
-        /**
-        * Test case for TMnMapImageParams::SetProjectionId &
-        * TMnMapImageParams::ProjectionId
-        */
-        TInt CheckSetGetProjectionId();
-        
-        
-        
-		 
-		  
-	private:
-	    
-	   
-	   
-	    
-    private:  //data
-	   
-	    /**
-	     * Pointer to Stif Logger - Does not Own
-	     */           
-        CStifLogger* 			iLog;
-        
-     };     
-
-#endif      //  CTESTMNMAPIMAGEPARAMS_H
-
-// End of File
--- a/locsrv_plat/map_image_api/tsrc/init/testframework.ini	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,182 +0,0 @@
-#
-# This is STIFTestFramework initialization file
-# Comment lines start with '#'-character.
-# See STIF TestFramework users guide.doc for instructions
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Set following test engine settings:
-#	- Set Test Reporting mode. TestReportMode's possible values are:
-#		+ 'Summary': Summary of the tested test cases.
-#		+ 'Environment': Hardware and software info.
-#		+ 'TestCases': Test case report.
-#		+ 'FullReport': Set of all above ones.
-#		+ Example 'TestReportMode= Summary TestCases'
-#
-# 	- CreateTestReport setting controls report creation mode
-#		+ YES, Test report will created.
-#		+ NO, No Test report.
-#
-# 	- File path indicates the base path of the test report.
-# 	- File name indicates the name of the test report.
-#
-# 	- File format indicates the type of the test report.
-#		+ TXT, Test report file will be txt type, for example 'TestReport.txt'.
-#		+ HTML, Test report will be html type, for example 'TestReport.html'.
-#
-# 	- File output indicates output source of the test report.
-#		+ FILE, Test report logging to file.
-#		+ RDEBUG, Test report logging to using rdebug.
-#
-# 	- File Creation Mode indicates test report overwriting if file exist.
-#		+ OVERWRITE, Overwrites if the Test report file exist.
-#		+ APPEND, Continue logging after the old Test report information if 
-#                 report exist.
-# 	- Sets a device reset module's dll name(Reboot).
-#		+ If Nokia specific reset module is not available or it is not correct one
-#		  StifHWResetStub module may use as a template for user specific reset
-#		  module. 
-
-[Engine_Defaults]
-
-TestReportMode= FullReport		# Possible values are: 'Empty', 'Summary', 'Environment',
-                                                               'TestCases' or 'FullReport'
-
-CreateTestReport= YES			# Possible values: YES or NO
-
-TestReportFilePath= C:\LOGS\TestFramework\
-TestReportFileName= TestReport
-
-TestReportFormat= TXT			# Possible values: TXT or HTML
-TestReportOutput= FILE			# Possible values: FILE or RDEBUG
-TestReportFileCreationMode= OVERWRITE	# Possible values: OVERWRITE or APPEND
-
-DeviceResetDllName= StifResetForNokia.dll # e.g. 'StifHWResetStub.dll' for user specific reseting
-
-[End_Defaults]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Module configurations start
-# Modules are added between module tags
-# tags. Module name is specified after ModuleName= tag, like
-# ModuleName= XXXXXXXXX
-# Modules might have initialisation file, specified as
-# IniFile= c:\testframework\YYYYYY
-# Modules might have several configuration files, like
-# TestCaseFile= c:\testframework\NormalCases.txt
-# TestCaseFile= c:\testframework\SmokeCases.txt
-# TestCaseFile= c:\testframework\ManualCases.txt
-
-# (TestCaseFile is synonym for old term ConfigFile)
-
-# Following case specifies demo module settings. Demo module
-# does not read any settings from file, so tags 
-# IniFile and TestCaseFile are not used.
-# In the simplest case it is enough to specify only the
-# name of the test module when adding new test module
-
-#[New_Module]
-#ModuleName= demomodule
-#[End_Module]
-
-[New_Module]
-ModuleName= TestScripter
-TestCaseFile= C:\Testframework\testmapimage.cfg
-[End_Module]
-
-# Load testmoduleXXX, optionally with initialization file and/or test case files
-#[New_Module]
-#ModuleName= testmodulexxx
-
-#TestModuleXXX used initialization file
-#IniFile= c:\testframework\init.txt
-
-#TestModuleXXX used configuration file(s)
-#TestCaseFile= c:\testframework\testcases1.cfg
-#TestCaseFile= c:\testframework\testcases2.cfg
-#TestCaseFile= c:\testframework\manualtestcases.cfg
-
-#[End_Module]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Set STIFTestFramework logging overwrite parameters for Logger.
-# 	Hardware and emulator environment logging path and styles can
-# 	be configured from here to overwrite the Logger's implemented values.
-#	
-#	Settings description:
-#	- Indicates option for creation log directory/directories. If log directory/directories
-#         is/are not created by user they will make by software.
-#		+ YES, Create log directory/directories if not allready exist.
-#		+ NO, Log directory/directories not created. Only created one is used.
-#
-#	- Overwrite emulator path setting.
-#		+ Example: If 'EmulatorBasePath= C:\LOGS\TestFramework\' and in code is defined 
-#		           Logger's path 'D:\\LOGS\\Module\\' with those definition the path
-#		           will be 'C:\LOGS\TestFramework\LOGS\Module\'
-#
-#	- Overwrite emulator's logging format.
-#		+ TXT, Log file(s) will be txt type(s), for example 'Module.txt'.
-#		+ HTML, Log file(s) will be html type(s), for example 'Module.html'.
-#
-#	- Overwrited emulator logging output source.
-#		+ FILE, Logging to file(s).
-#		+ RDEBUG, Logging to using rdebug(s).
-#
-#	- Overwrite hardware path setting (Same description as above in emulator path).
-#	- Overwrite hardware's logging format(Same description as above in emulator format).
-#	- Overwrite hardware's logging output source(Same description as above in emulator output).
-#
-#	- File Creation Mode indicates file overwriting if file exist.
-#		+ OVERWRITE, Overwrites if file(s) exist.
-#		+ APPEND, Continue logging after the old logging information if file(s) exist.
-#
-#	- Will thread id include to the log filename.
-#		+ YES, Thread id to log file(s) name, Example filename 'Module_b9.txt'.
-#		+ NO, No thread id to log file(s), Example filename 'Module.txt'.
-#
-#	- Will time stamps include the to log file.
-#		+ YES, Time stamp added to each line in log file(s). Time stamp is 
-#                 for example'12.Nov.2003 115958    LOGGING INFO'
-#		+ NO, No time stamp(s).
-#
-#	- Will line breaks include to the log file.
-#		+ YES, Each logging event includes line break and next log event is in own line.
-#		+ NO, No line break(s).
-#
-#	- Will event ranking include to the log file.
-#		+ YES, Event ranking number added to each line in log file(s). Ranking number 
-#                 depends on environment's tics, for example(includes time stamp also)
-#                 '012   12.Nov.2003 115958    LOGGING INFO'
-#		+ NO, No event ranking.
-#
-
-[Logger_Defaults]
-
-#NOTE: If you want to set Logger using next setting(s) remove comment(s)'#' 
-
-#CreateLogDirectories= YES		# Possible values: YES or NO
-
-#EmulatorBasePath= C:\LOGS\TestFramework\
-#EmulatorFormat= HTML			# Possible values: TXT or HTML
-#EmulatorOutput= FILE			# Possible values: FILE or RDEBUG
-
-#HardwareBasePath= D:\LOGS\TestFramework\
-#HardwareFormat= HTML			# Possible values: TXT or HTML
-#HardwareOutput= FILE			# Possible values: FILE or RDEBUG
-
-#FileCreationMode= OVERWRITE		# Possible values: OVERWRITE or APPEND
-
-#ThreadIdToLogFile= YES			# Possible values: YES or NO
-#WithTimeStamp= YES			# Possible values: YES or NO
-#WithLineBreak= YES			# Possible values: YES or NO
-#WithEventRanking= YES			# Possible values: YES or NO
-
-[End_Logger_Defaults]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-# End of file
--- a/locsrv_plat/map_image_api/tsrc/src/testmapimage.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,186 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Implementation of test class for map image api
-*
-*/
-
-
-
-// INCLUDE FILES
-#include <Stiftestinterface.h>
-#include "testmapimage.h"
-#include <SettingServerClient.h>
-#include <swinstapi.h>
-
-
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
-    ?arg_type arg,  // ?description
-    ?arg_type arg)  // ?description
-    {
-
-    ?code  // ?comment
-
-    // ?comment
-    ?code
-    }
-*/
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// Ctestmapimage::Ctestmapimage
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-Ctestmapimage::Ctestmapimage( 
-    CTestModuleIf& aTestModuleIf ):
-        CScriptBase( aTestModuleIf )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// Ctestmapimage::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void Ctestmapimage::ConstructL()
-    {
-    //Read logger settings to check whether test case name is to be
-    //appended to log file name.
-    RSettingServer settingServer;
-    TInt ret = settingServer.Connect();
-    if(ret != KErrNone)
-        {
-        User::Leave(ret);
-        }
-    // Struct to StifLogger settigs.
-    TLoggerSettings loggerSettings; 
-    // Parse StifLogger defaults from STIF initialization file.
-    ret = settingServer.GetLoggerSettings(loggerSettings);
-    if(ret != KErrNone)
-        {
-        User::Leave(ret);
-        } 
-    // Close Setting server session
-    settingServer.Close();
-
-    TFileName logFileName;
-    
-    if(loggerSettings.iAddTestCaseTitle)
-        {
-        TName title;
-        TestModuleIf().GetTestCaseTitleL(title);
-        logFileName.Format(KtestmapimageLogFileWithTitle, &title);
-        }
-    else
-        {
-        logFileName.Copy(KtestmapimageLogFile);
-        }
-
-    iLog = CStifLogger::NewL( KtestmapimageLogPath, 
-                          logFileName,
-                          CStifLogger::ETxt,
-                          CStifLogger::EFile,
-                          EFalse );
-   // InstallProvider( KProviderSisxPath );
-
-    }
-
-// -----------------------------------------------------------------------------
-// Ctestmapimage::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-Ctestmapimage* Ctestmapimage::NewL( 
-    CTestModuleIf& aTestModuleIf )
-    {
-    Ctestmapimage* self = new (ELeave) Ctestmapimage( aTestModuleIf );
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;
-
-    }
-
-// Destructor
-Ctestmapimage::~Ctestmapimage()
-    { 
-
-    // Delete resources allocated from test methods
-    Delete();
-
-    // Delete logger
-    delete iLog; 
-
-    }
-    
-    
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// -----------------------------------------------------------------------------
-// LibEntryL is a polymorphic Dll entry point.
-// Returns: CScriptBase: New CScriptBase derived object
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CScriptBase* LibEntryL( 
-    CTestModuleIf& aTestModuleIf ) // Backpointer to STIF Test Framework
-    {
-
-    return ( CScriptBase* ) Ctestmapimage::NewL( aTestModuleIf );
-
-    }
-
-
-//  End of File
--- a/locsrv_plat/map_image_api/tsrc/src/testmapimageBlocks.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,453 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Entry point for test cases in stif module
-*
-*/
-
-
-
-// [INCLUDE FILES] - do not remove
-#include <e32svr.h>
-#include <StifParser.h>
-#include <Stiftestinterface.h>
-#include "testmapimage.h"
-#include "testmnmapimage.h"
-#include "testmnmapimageparams.h"
-#include <swinstapi.h>
-
-_LIT( KProviderSisxPath, "e:\\testing\\data\\MnTestProvider.sisx" );
-
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
-    ?arg_type arg,  // ?description
-    ?arg_type arg)  // ?description
-    {
-
-    ?code  // ?comment
-
-    // ?comment
-    ?code
-    }
-*/
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// Ctestmapimage::Delete
-// Delete here all resources allocated and opened from test methods. 
-// Called from destructor. 
-// -----------------------------------------------------------------------------
-//
-void Ctestmapimage::Delete() 
-    {
-
-    }
-
-// -----------------------------------------------------------------------------
-// Ctestmapimage::RunMethodL
-// Run specified method. Contains also table of test mothods and their names.
-// -----------------------------------------------------------------------------
-//
-TInt Ctestmapimage::RunMethodL( 
-    CStifItemParser& aItem ) 
-    {
-
-    static TStifFunctionInfo const KFunctions[] =
-        {  
-        // Copy this line for every implemented function.
-        // First string is the function name used in TestScripter script file.
-        // Second is the actual implementation member function. 
-        ENTRY( "CMnMapImageNewL", Ctestmapimage::TestMapImageNewLL ),
-        ENTRY( "TestSetMapImageParams", Ctestmapimage::TestSetMapImageParams ),
-        ENTRY( "TestSetShowOptions", Ctestmapimage::TestSetShowOptions ),
-        ENTRY( "TestSetTargetOrigin", Ctestmapimage::TestSetTargetOrigin ),
-        ENTRY( "TestGetImageCoordinate", Ctestmapimage::TestGetImageCoordinate ),
-        ENTRY( "TestSupportedImageTypes", Ctestmapimage::TestSupportedImageTypes ),
-        ENTRY( "TestGetWorldCoordinate", Ctestmapimage::TestGetWorldCoordinate ),
-        ENTRY( "TestSetExitObserverL", Ctestmapimage::TestSetExitObserverL ),
-        ENTRY( "TestRender1L", Ctestmapimage::TestRender1L ),
-        ENTRY( "TestRender2L", Ctestmapimage::TestRender2L ),
-        ENTRY( "TestCancelRendering", Ctestmapimage::TestCancelRendering ),
-        
-        ENTRY( "TestTMnMapImageParams", Ctestmapimage::TestTMnMapImageParams ),
-        ENTRY( "TestSetGetCenterPoint", Ctestmapimage::TestSetGetCenterPoint ),
-        ENTRY( "TestSetGetVisibleArea", Ctestmapimage::TestSetGetVisibleArea ),
-        ENTRY( "TestSetGetSize", Ctestmapimage::TestSetGetSize ),
-        ENTRY( "TestSetGetDirection", Ctestmapimage::TestSetGetDirection ),
-        ENTRY( "TestSetGetImageType", Ctestmapimage::TestSetGetImageType ),
-        ENTRY( "TestSetGetProjectionId", Ctestmapimage::TestSetGetProjectionId ),
-        //ADD NEW ENTRY HERE
-        // [test cases entries] - Do not remove
-
-        };
-
-    const TInt count = sizeof( KFunctions ) / 
-                        sizeof( TStifFunctionInfo );
-
-    return RunInternalL( KFunctions, count, aItem );
-
-    }
-
-// -----------------------------------------------------------------------------
-// This method will install the provider application
-//
-// -----------------------------------------------------------------------------
-//   
-TInt Ctestmapimage::InstallProvider( CStifItemParser& /*aItem*/  )
-    {
-   // iLog->Log("Installing [%S]...", aPackagePath );
-
-    TInt err = KErrNone;
-    SwiUI::RSWInstSilentLauncher installer;
-
-    err = installer.Connect();
-    if( KErrNone != err )
-    	{
-    	iLog->Log(_L("Connection to installer failed"));
-    	return err;
-    	}
-    //CHECK_EQUAL( err, KErrNone, "Connection to installer failed" );
-
-    SwiUI::TInstallOptionsPckg options;
-    options().iUpgrade = SwiUI::EPolicyAllowed;
-    options().iPackageInfo = SwiUI::EPolicyAllowed;
-    options().iOverwrite = SwiUI::EPolicyAllowed;
-    options().iKillApp = SwiUI::EPolicyAllowed;
-
-    err = installer.SilentInstall( KProviderSisxPath, options );
-    if( KErrNone != err )
-    	{
-    	iLog->Log(_L("Provider Installation failed"));
-    	installer.Close();
-    	return err;
-    	}
-
-    //CHECK_EQUAL( err, KErrNone, "Installation failed" );
-	iLog->Log(_L("Provider Installation passed"));
-    installer.Close();
-    return err;
-    }
-
-
-// -----------------------------------------------------------------------------
-// Ctestmapimage::TestMapImageNewLL
-// Test case for CMnMapImage::NewL
-// -----------------------------------------------------------------------------
-//
-
-TInt Ctestmapimage::TestMapImageNewLL(
-   CStifItemParser& /*aItem*/ )
-   {
-
-        CTestMapImage image(iLog);
-        return image.TestNewLL();
-
-   }
-
-// -----------------------------------------------------------------------------
-// Ctestmapimage::TestSetMapImageParams
-// Test case for CMnMapImage::SetMapImageParams & CMnMapImage::MapImageParams
-// -----------------------------------------------------------------------------
-//
-
-TInt Ctestmapimage::TestSetMapImageParams(
-   CStifItemParser& /*aItem*/ )
-   {
-
-        CTestMapImage image(iLog);
-        return image.CheckSetMapImageParams();
-
-   }
-   
-   
-// -----------------------------------------------------------------------------
-// Ctestmapimage::TestSetShowOptions
-// Test case for CMnMapImage::SetShowOptions & CMnMapImage::ShowOptions
-// -----------------------------------------------------------------------------
-//
-
-TInt Ctestmapimage::TestSetShowOptions(
-   CStifItemParser& aItem )
-   {
-
-       CTestMapImage image(iLog);
-        return image.CheckSetShowOptions(aItem);
-
-   }
-
-// -----------------------------------------------------------------------------
-// Ctestmapimage::TestSetTargetOrigin
-// Test case for CMnMapImage::SetTargetOrigin & CMnMapImage::TargetOrigin
-// -----------------------------------------------------------------------------
-//
-
-TInt Ctestmapimage::TestSetTargetOrigin(
-   CStifItemParser& /*aItem*/ )
-   {
-
-        CTestMapImage image(iLog);
-        return image.CheckSetTargetOrigin();
-
-   }
-   
-// -----------------------------------------------------------------------------
-// Ctestmapimage::TestGetImageCoordinate
-// Test case for CMnMapImage::GetImageCoordinate
-// -----------------------------------------------------------------------------
-//
-
-TInt Ctestmapimage::TestGetImageCoordinate(
-   CStifItemParser& /*aItem*/ )
-   {
-
-        CTestMapImage image(iLog);
-        return image.CheckGetImageCoordinate();
-
-   }
-   
-// -----------------------------------------------------------------------------
-// Ctestmapimage::TestSupportedImageTypes
-// Test case for CMnMapImage::SupportedImageTypes
-// -----------------------------------------------------------------------------
-//
-
-TInt Ctestmapimage::TestSupportedImageTypes(
-   CStifItemParser& /*aItem*/ )
-   {
-
-        CTestMapImage image(iLog);
-        return image.CheckSupportedImageTypes();
-
-   }
-   
-// -----------------------------------------------------------------------------
-// Ctestmapimage::TestGetWorldCoordinate
-// Test case for CMnMapImage::GetWorldCoordinate
-// -----------------------------------------------------------------------------
-//
-
-TInt Ctestmapimage::TestGetWorldCoordinate(
-   CStifItemParser& /*aItem*/ )
-   {
-
-        CTestMapImage image(iLog);
-        return image.CheckGetWorldCoordinate();
-
-   }
-   
-// -----------------------------------------------------------------------------
-// Ctestmapimage::TestSetExitObserverL
-// Test case for CMnMapImage::SetExitObserverL & CMnMapImage::RemoveExitObserver
-// -----------------------------------------------------------------------------
-//
-
-TInt Ctestmapimage::TestSetExitObserverL(
-   CStifItemParser& /*aItem*/ )
-   {
-
-        CTestMapImage image(iLog);
-        return image.CheckSetExitObserverL();
-
-   }
-   
-// -----------------------------------------------------------------------------
-// Ctestmapimage::TestRender1L
-// Test case for CMnMapImage::RenderL whose completion is informed via aStatus parameter.
-// -----------------------------------------------------------------------------
-//
-
-TInt Ctestmapimage::TestRender1L(
-   CStifItemParser& /*aItem*/ )
-   {
-
-        CTestMapImage image(iLog);
-        return image.CheckRender1L();
-
-   }
-   
-// -----------------------------------------------------------------------------
-// Ctestmapimage::TestRender2L
-// Test case for CMnMapImage::RenderL whose completion is informed via aCallback
-// -----------------------------------------------------------------------------
-//
-
-TInt Ctestmapimage::TestRender2L(
-   CStifItemParser& /*aItem*/ )
-   {
-
-        CTestMapImage image(iLog);
-        return image.CheckRender2L();
-
-   }
-   
-// -----------------------------------------------------------------------------
-// Ctestmapimage::TestCancelRendering
-// Test case for CMnMapImage::CancelRendering 
-// -----------------------------------------------------------------------------
-//
-
-TInt Ctestmapimage::TestCancelRendering(
-   CStifItemParser& /*aItem*/ )
-   {
-
-        CTestMapImage image(iLog);
-        return image.CheckCancelRendering();
-
-   }
-   
-// -----------------------------------------------------------------------------
-// Ctestmapimage::TestTMnMapImageParams
-// Test case for constructor of TMnMapImageParams 
-// -----------------------------------------------------------------------------
-//
-
-TInt Ctestmapimage::TestTMnMapImageParams(
-   CStifItemParser& /*aItem*/ )
-   {
-
-        CTestMapImageParams imageParams(iLog);
-        return imageParams.CheckTMnMapImageParams();
-
-   }
-   
-// -----------------------------------------------------------------------------
-// Ctestmapimage::TestSetGetCenterPoint
-// Test case for TMnMapImageParams::SetCenterPoint & TMnMapImageParams::GetCenterPoint
-// -----------------------------------------------------------------------------
-//
-
-TInt Ctestmapimage::TestSetGetCenterPoint(
-   CStifItemParser& /*aItem*/ )
-   {
-
-        CTestMapImageParams imageParams(iLog);
-        return imageParams.CheckSetGetCenterPoint();
-
-   }
-   
-// -----------------------------------------------------------------------------
-// Ctestmapimage::TestSetGetVisibleArea
-// Test case for TMnMapImageParams::SetVisibleArea & TMnMapImageParams::GetVisibleArea
-// -----------------------------------------------------------------------------
-//
-
-TInt Ctestmapimage::TestSetGetVisibleArea(
-   CStifItemParser& /*aItem*/ )
-   {
-
-        CTestMapImageParams imageParams(iLog);
-        return imageParams.CheckSetGetVisibleArea();
-
-   }
-   
-// -----------------------------------------------------------------------------
-// Ctestmapimage::TestSetGetSize
-// Test case for TMnMapImageParams::SetSize & TMnMapImageParams::Size
-// -----------------------------------------------------------------------------
-//
-
-TInt Ctestmapimage::TestSetGetSize(
-   CStifItemParser& /*aItem*/ )
-   {
-
-        CTestMapImageParams imageParams(iLog);
-        return imageParams.CheckSetGetSize();
-
-   }
-
-// -----------------------------------------------------------------------------
-// Ctestmapimage::TestSetGetDirection
-// Test case for TMnMapImageParams::SetDirection & TMnMapImageParams::Direction
-// -----------------------------------------------------------------------------
-//
-
-TInt Ctestmapimage::TestSetGetDirection(
-   CStifItemParser& /*aItem*/ )
-   {
-
-        CTestMapImageParams imageParams(iLog);
-        return imageParams.CheckSetGetDirection();
-
-   }
-   
-// -----------------------------------------------------------------------------
-// Ctestmapimage::TestSetGetImageType
-// Test case for TMnMapImageParams::SetImageType & TMnMapImageParams::ImageType
-// -----------------------------------------------------------------------------
-//
-
-TInt Ctestmapimage::TestSetGetImageType(
-   CStifItemParser& /*aItem*/ )
-   {
-
-        CTestMapImageParams imageParams(iLog);
-        return imageParams.CheckSetGetImageType();
-
-   }
-   
-// -----------------------------------------------------------------------------
-// Ctestmapimage::TestSetGetProjectionId
-// Test case for TMnMapImageParams::SetProjectionId & TMnMapImageParams::ProjectionId
-// -----------------------------------------------------------------------------
-//
-
-TInt Ctestmapimage::TestSetGetProjectionId(
-   CStifItemParser& /*aItem*/ )
-   {
-
-        CTestMapImageParams imageParams(iLog);
-        return imageParams.CheckSetGetProjectionId();
-
-   }
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-// None
-
-//  [End of File] - Do not remove
--- a/locsrv_plat/map_image_api/tsrc/src/testmnmapimage.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,487 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Helper class for CMnMapImage class
-*
-*/
-
-
-// System Includes
-
-
-// User Includes
-#include "testmnmapimage.h"
-#include <e32std.h>
-#include <e32const.h>
-#include <mnmapimage.h>
-#include <mnproviderfinder.h>
-#include <mnprovider.h>
-#include <mnmapimageparams.h>
-#include <LbsPosition.h>
-#include <fbs.h>
-
-// Constant Declarations
-
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// C++ Default Constructor
-// ---------------------------------------------------------------------------
-//
-CTestMapImage ::CTestMapImage (CStifLogger* aLog):iLog(aLog),CActive(0)
-    {
-        CActiveScheduler::Add(this);
-    }
-
-// ---------------------------------------------------------------------------
-// C++ Destructor
-// ---------------------------------------------------------------------------
-//
-CTestMapImage ::~CTestMapImage ()
-    {
-        if(IsActive())
-            {
-                Cancel();
-            }
-        
-    }
-
-// ---------------------------------------------------------------------------
-// Test case for CMnMapImage::NewL
-// ---------------------------------------------------------------------------
-
-    TInt CTestMapImage::TestNewLL()
-        {
-            RPointerArray<CMnProvider> providerArray;
-	        MnProviderFinder::FindProvidersL( providerArray,CMnProvider::EServiceMapImage );
-	       // TBool flag = EFalse;
-	        /*TUid KTestProviderUid = TUid::Uid( 0x0313200B );
-	        for( TInt i = 0; i < providerArray.Count(); i++ )
-	            {
-	            if( providerArray.operator[](i)->Uid() == KTestProviderUid )
-	                {
-	                flag = ETrue;
-	                break;
-	                }
-	            }
-	         */
-	         CMnMapImage* mapImage = CMnMapImage::NewL( *providerArray.operator[](0));
-             delete mapImage;
-	            
-	        
-	        return KErrNone;
-        }
-        
-// ---------------------------------------------------------------------------
-//Test case for CMnMapImage::SetMapImageParams & CMnMapImage::MapImageParams
-// ---------------------------------------------------------------------------
-
-    TInt CTestMapImage::CheckSetMapImageParams() const
-        {
-            RPointerArray<CMnProvider> providerArray;
-            TMnMapImageParams setMapImageParams;
-            TInt error = KErrNone;
-            
-	        MnProviderFinder::FindProvidersL( providerArray,CMnProvider::EServiceMapImage );
-	        
-	      /*  TUid KTestProviderUid = TUid::Uid( 0x0313200B );
-	        for( TInt i = 0; i < providerArray.Count(); i++ )
-	            {
-	            if( providerArray.operator[](i)->Uid() == KTestProviderUid )
-	                {
-	                    break;
-	                    
-	                }
-	            }
-	        */    
-	        CMnMapImage* mapImage = CMnMapImage::NewL( *providerArray.operator[](0));   
-	        
-	        
-            TCoordinate coordinate(31.6,62.3);
-            setMapImageParams.SetCenterPoint(coordinate);
-            setMapImageParams.SetVisibleArea(20,30);
-            
-            TSize size(1,2);
-            setMapImageParams.SetSize(size);
-            
-            setMapImageParams.SetDirection(15.0);
-            setMapImageParams.SetImageType(TMnMapImageParams::ETypeSatelliteImage);
-            setMapImageParams.SetProjectionId(5);
-            
-            mapImage->SetMapImageParams(setMapImageParams);
-            TMnMapImageParams mapImageParams = mapImage->MapImageParams();
-            
-            const CMnMapImage* mapImage1 = mapImage;
-            
-            const TMnMapImageParams param2( mapImage1->MapImageParams());
-            
-            TCoordinate coordinate1;
-            mapImageParams.GetCenterPoint(coordinate1);
-            if((coordinate1.Latitude()!=coordinate.Latitude())||
-           			(coordinate1.Longitude()!=coordinate.Longitude()))
-               {
-                
-          		error = KErrGeneral; 	
-               }
-
-            TReal32 width,height;
-            mapImageParams.GetVisibleArea(width,height);
-            if(width!=20||height!=30)
-           	   {
-        		error = KErrGeneral; 	
-           	   }
-            
-            if((mapImageParams.Size()!=size)||(mapImageParams.Direction()!=15.0)||
-           	   (mapImageParams.ImageType()!=TMnMapImageParams::ETypeSatelliteImage)||
-           	    (mapImageParams.ProjectionId()!=5))
-           	   {
-        		error = KErrGeneral;  	
-           	   }
-            
-            delete mapImage;
-            return error;
-            
-        }
-                        
-      
-// ---------------------------------------------------------------------------
-// Test case for CMnMapImage::SetShowOptions & CMnMapImage::ShowOptions
-// ---------------------------------------------------------------------------
-
-TInt CTestMapImage::CheckSetShowOptions(CStifItemParser& aItem)
-    {
-        TInt showOption = 0;
-        TInt err = aItem.GetNextInt(showOption);
-        CMnMapImage::TShowOptions setOption = CMnMapImage::EShowOptionNone;
-        CMnMapImage::TShowOptions option = CMnMapImage::EShowOptionNone;
-        TInt error = KErrNone;
-        
-        RPointerArray<CMnProvider> providerArray;
-        MnProviderFinder::FindProvidersL( providerArray,CMnProvider::EServiceMapImage );
-        CMnMapImage* mapImage = CMnMapImage::NewL( *providerArray.operator[](0));   
-        
-        if(!err)
-            {
-                switch(showOption)
-                    {
-                    case 0: setOption = CMnMapImage::EShowOptionNone;
-                            break;
-                    case 1: setOption = CMnMapImage::EShowOptionText;
-                            break;
-                    case 2: setOption = CMnMapImage::EShowOptionPois;
-                            break;
-                    case 3: setOption = CMnMapImage::EShowOptionLandmarks;
-                            break;
-                    case 4: setOption = CMnMapImage::EShowOptionCurrentLocation;
-                            break;
-                    case 5: setOption = CMnMapImage::EShowOptionCountryBorders;
-                            break;
-                    case 6: setOption = CMnMapImage::EShowOptionsMandatory;
-                            break;
-                    default: break;
-                    
-                    }
-                    
-                 mapImage->SetShowOptions(setOption);
-                 option = mapImage->ShowOptions();
-                 if(option == setOption)
-                    {
-                        
-                        error = KErrNone;
-                    }
-                  else
-                    error = KErrGeneral;
-                 
-                    
-                    
-            }
-          else
-                error = KErrGeneral;
-          
-          delete mapImage;
-          return error;
-    }
-    
-// ---------------------------------------------------------------------------
-// Test case for CMnMapImage::SetTargetOrigin & CMnMapImage::TargetOrigin
-// ---------------------------------------------------------------------------
-TInt CTestMapImage::CheckSetTargetOrigin()
-    {
-        TPoint setOrigin(10,10);
-        TPoint origin;
-        TInt error = KErrNone;
-        
-        RPointerArray<CMnProvider> providerArray;
-        MnProviderFinder::FindProvidersL( providerArray,CMnProvider::EServiceMapImage );
-        CMnMapImage* mapImage = CMnMapImage::NewL( *providerArray.operator[](0)); 
-        
-        mapImage->SetTargetOrigin(setOrigin);
-        origin = mapImage->TargetOrigin();
-        
-        if(origin == setOrigin)
-            {
-                error = KErrNone;
-            }
-        else
-                error = KErrGeneral;
-        
-        delete mapImage;
-        return error;
-        
-        
-        
-        
-    }
-    
- // ---------------------------------------------------------------------------
-// Test case for CMnMapImage::GetImageCoordinate
-// ---------------------------------------------------------------------------
-TInt CTestMapImage::CheckGetImageCoordinate()
-    {
-        TCoordinate coordinate(10,20);
-        TPoint point;
-        TInt error = KErrNone;
-        TMnMapImageParams setMapImageParams;
-        
-        RPointerArray<CMnProvider> providerArray;
-        MnProviderFinder::FindProvidersL( providerArray,CMnProvider::EServiceMapImage );
-        CMnMapImage* mapImage = CMnMapImage::NewL( *providerArray.operator[](0));
-        
-        setMapImageParams.SetImageType(TMnMapImageParams::ETypeSatelliteImage);
-        TSize size(20,30);
-        setMapImageParams.SetSize(size);
-        mapImage->SetMapImageParams(setMapImageParams); 
-        
-        error = mapImage->GetImageCoordinate(coordinate,point);
-        
-        delete mapImage;
-        return error;
-    }
-    
-  // ---------------------------------------------------------------------------
-// Test case for CMnMapImage::SupportedImageTypes
-// ---------------------------------------------------------------------------
-TInt CTestMapImage::CheckSupportedImageTypes()
-    {
-        RPointerArray<CMnProvider> providerArray;
-        MnProviderFinder::FindProvidersL( providerArray,CMnProvider::EServiceMapImage );
-        CMnMapImage* mapImage = CMnMapImage::NewL( *providerArray.operator[](0));
-      
-        TInt error = KErrNone;
-                
-        if(mapImage->SupportedImageTypes())
-         
-            {
-                error = KErrNone;
-            }
-        else
-            error = KErrGeneral;
-        
-        delete mapImage;
-        return error;
-        
-    }
-  
-// ---------------------------------------------------------------------------
-// Test case for CMnMapImage::GetWorldCoordinate
-// ---------------------------------------------------------------------------
-TInt CTestMapImage::CheckGetWorldCoordinate()
-    {
-        TCoordinate coordinate;
-        TPoint point(10,10);
-        TInt error = KErrNone;
-        TMnMapImageParams setMapImageParams;
-        
-        RPointerArray<CMnProvider> providerArray;
-        MnProviderFinder::FindProvidersL( providerArray ,CMnProvider::EServiceMapImage);
-        CMnMapImage* mapImage = CMnMapImage::NewL( *providerArray.operator[](0));
-        
-        setMapImageParams.SetImageType(TMnMapImageParams::ETypeSatelliteImage);
-        TSize size(20,30);
-        setMapImageParams.SetSize(size);
-        mapImage->SetMapImageParams(setMapImageParams); 
-        
-        error = mapImage->GetWorldCoordinate(point,coordinate);
-        
-        delete mapImage;
-        return error;
-    }
- 
- // ---------------------------------------------------------------------------
-// From MAknServerAppExitObserver
-// ---------------------------------------------------------------------------
- 
- void CTestMapImage::HandleServerAppExit(TInt /*aReason*/)
-    {
-        //no implementation
-    }
-    
-// ---------------------------------------------------------------------------
-// Test case for CMnMapImage::SetExitObserverL & CMnMapImage::RemoveExitObserver
-// ---------------------------------------------------------------------------
-TInt CTestMapImage::CheckSetExitObserverL()
-    {
-        RPointerArray<CMnProvider> providerArray;
-        MnProviderFinder::FindProvidersL( providerArray,CMnProvider::EServiceMapImage );
-        CMnMapImage* mapImage = CMnMapImage::NewL( *providerArray.operator[](0));
-        
-        mapImage->SetExitObserverL(*this);
-        mapImage->RemoveExitObserver();
-        
-        delete mapImage;
-        return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-// From CActive
-// ---------------------------------------------------------------------------
-void CTestMapImage::RunL()
-    {
-        if(iStatus != KErrCancel)
-            {
-                CActiveScheduler::Stop();	
-            }
-    }
-// ---------------------------------------------------------------------------
-// From CActive
-// ---------------------------------------------------------------------------
-  void CTestMapImage::DoCancel()
-    {
-
-        iMapImage->CancelRendering();
-    
-        
-    }  
-// ---------------------------------------------------------------------------
-// Test case for CMnMapImage::RenderL whose completion is informed via aStatus parameter.
-// ---------------------------------------------------------------------------
-TInt CTestMapImage::CheckRender1L()
-    {
-        RPointerArray<CMnProvider> providerArray;
-        MnProviderFinder::FindProvidersL( providerArray ,CMnProvider::EServiceMapImage);
-        iMapImage = CMnMapImage::NewL( *providerArray.operator[](0));
-      
-        RFbsSession fbs;
-        fbs.Connect();
-        
-        TSize size1(10, 20);
-        CFbsBitmap* bitmap = new (ELeave) CFbsBitmap();
-        CleanupStack::PushL(bitmap);
-        bitmap->Create( size1, EColor16M );
-        
-        TMnMapImageParams params;
-        TSize size2(5,10);
-        params.SetCenterPoint( TCoordinate( 0, 0 ) );
-        params.SetSize( size2 );
-        params.SetVisibleArea( 5, 10 );
-        iMapImage->SetMapImageParams(params);
-        iMapImage->RenderL(*bitmap, iStatus);
-        SetActive();
-        CActiveScheduler::Start();
-        
-        CleanupStack::PopAndDestroy(bitmap);
-        delete iMapImage;
-        fbs.Disconnect();
-        
-        return iStatus.Int();
-        
-    }
-    
-  
-// ---------------------------------------------------------------------------
-// Test case for CMnMapImage::RenderL whose completion is informed via aCallback
-// ---------------------------------------------------------------------------
-TInt CTestMapImage::CheckRender2L()
-    {
-        RPointerArray<CMnProvider> providerArray;
-        MnProviderFinder::FindProvidersL( providerArray,CMnProvider::EServiceMapImage );
-        CMnMapImage* mapImage = CMnMapImage::NewL( *providerArray.operator[](0));
-        CleanupStack::PushL(mapImage);
-        RFbsSession fbs;
-        fbs.Connect();
-        
-        TSize size1(10, 20);
-        CFbsBitmap* bitmap = new (ELeave) CFbsBitmap();
-        CleanupStack::PushL(bitmap);
-        bitmap->Create( size1, EColor16M );
-        
-        TMnMapImageParams params;
-        TSize size2(5,10);
-        params.SetCenterPoint( TCoordinate( 0, 0 ) );
-        params.SetSize( size2 );
-        params.SetVisibleArea( 5, 10 );
-        mapImage->SetMapImageParams(params);
-        
-        mapImage->RenderL(*bitmap, *this);
-        iError = KRequestPending;
-        //SetActive();
-        CActiveScheduler::Start();
-        
-        CleanupStack::PopAndDestroy(bitmap);
-        CleanupStack::PopAndDestroy(mapImage);
-        fbs.Disconnect();
-        
-        return iError;
-        
-    }  
-    
-// ---------------------------------------------------------------------------
-// From MMnMapImageRenderCallback
-// ---------------------------------------------------------------------------
-void CTestMapImage::HandleRenderingCompletedL( TInt aStatus, CMnMapImage& /*aMapImage*/ )
-    {
-            iError = aStatus;
-            CActiveScheduler::Stop();
-    }
-    
-    
-    
-    
-    
-// ---------------------------------------------------------------------------
-// Test case for CMnMapImage::CancelRendering 
-// ---------------------------------------------------------------------------
-TInt CTestMapImage::CheckCancelRendering()
-    {
-        RPointerArray<CMnProvider> providerArray;
-        MnProviderFinder::FindProvidersL( providerArray,CMnProvider::EServiceMapImage );
-        iMapImage = CMnMapImage::NewL( *providerArray.operator[](0));
-      
-        RFbsSession fbs;
-        fbs.Connect();
-        
-        TSize size1(10, 20);
-        CFbsBitmap* bitmap = new (ELeave) CFbsBitmap();
-        CleanupStack::PushL(bitmap);
-        bitmap->Create( size1, EColor16M );
-        
-        TMnMapImageParams params;
-        TSize size2(5,10);
-        params.SetCenterPoint( TCoordinate( 0, 0 ) );
-        params.SetSize( size2 );
-        params.SetVisibleArea( 5, 10 );
-        iMapImage->SetMapImageParams(params);
-        iMapImage->RenderL(*bitmap, iStatus);
-        SetActive();
-        Cancel();
-              
-        CleanupStack::PopAndDestroy(bitmap);
-        delete iMapImage;
-        fbs.Disconnect();
-        
-        return iStatus.Int();
-        
-    }
-    
\ No newline at end of file
--- a/locsrv_plat/map_image_api/tsrc/src/testmnmapimageparams.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,194 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Helper class for TMnMapImageParams class
-*
-*/
-
-
-// System Includes
-
-
-// User Includes
-#include "testmnmapimage.h"
-#include <e32std.h>
-#include <e32const.h>
-#include <mnmapimage.h>
-#include <mnproviderfinder.h>
-#include <mnprovider.h>
-#include <mnmapimageparams.h>
-#include <LbsPosition.h>
-#include "testmnmapimageparams.h"
-
-// Constant Declarations
-
-    
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// C++ Default Constructor
-// ---------------------------------------------------------------------------
-//
-CTestMapImageParams ::CTestMapImageParams (CStifLogger* aLog):iLog(aLog)
-    {
-        
-    }
-
-// ---------------------------------------------------------------------------
-// C++ Destructor
-// ---------------------------------------------------------------------------
-//
-CTestMapImageParams ::~CTestMapImageParams ()
-    {
-        
-        
-    }
-
-// ---------------------------------------------------------------------------
-// Test case for constructor of TMnMapImageParams
-// ---------------------------------------------------------------------------
-TInt CTestMapImageParams ::CheckTMnMapImageParams()
-    {
-        TMnMapImageParams params;
-                
-        return KErrNone;
-    }
-    
-// ---------------------------------------------------------------------------
-// Test case for TMnMapImageParams::SetCenterPoint & TMnMapImageParams::GetCenterPoint
-// ---------------------------------------------------------------------------
-TInt CTestMapImageParams ::CheckSetGetCenterPoint()
-    {
-        TMnMapImageParams params;
-        TInt error = KErrNone;
-        TCoordinate coordinate(31.6,62.3);
-        params.SetCenterPoint(coordinate);
-        
-        TCoordinate coordinate1;
-        params.GetCenterPoint(coordinate1);
-        
-        if((coordinate1.Latitude()!=coordinate.Latitude())||
-        			(coordinate1.Longitude()!=coordinate.Longitude()))
-               {
-                
-          		error = KErrGeneral; 	
-               }        
-        else 
-            error = KErrNone;
-        
-        return error;
-    }
-    
-// ---------------------------------------------------------------------------
-// Test case for TMnMapImageParams::SetVisibleArea & TMnMapImageParams::GetVisibleArea
-// ---------------------------------------------------------------------------
-TInt CTestMapImageParams ::CheckSetGetVisibleArea()
-    {
-        TMnMapImageParams params;
-        TInt error = KErrNone;
-        params.SetVisibleArea(20,30);
-        
-        TReal32 width,height;
-        params.GetVisibleArea(width,height);
-        if(width!=20||height!=30)
-           	   {
-        		error = KErrGeneral; 	
-           	   }
-        else
-             error = KErrNone;
-        
-        return error;
-        
-    }
-
-// ---------------------------------------------------------------------------
-// Test case for TMnMapImageParams::SetSize & TMnMapImageParams::Size
-// ---------------------------------------------------------------------------
-TInt CTestMapImageParams ::CheckSetGetSize()
-    {
-        TMnMapImageParams params;
-        TInt error = KErrNone;
-        
-        TSize size(1,2);
-        params.SetSize(size);
-        
-        if(params.Size()!=size)
-            {
-                error = KErrGeneral;
-            }
-        else
-            error = KErrNone;
-        
-        return error;
-    }
-
-// ---------------------------------------------------------------------------
-// Test case for TMnMapImageParams::SetDirection & TMnMapImageParams::Direction
-// ---------------------------------------------------------------------------
-TInt CTestMapImageParams ::CheckSetGetDirection()
-    {
-        TMnMapImageParams params;
-        TInt error = KErrNone;
-        
-        TReal32 direction = 20.0;
-        params.SetDirection(direction);
-                
-        if(params.Direction() != direction)
-            {
-                error = KErrGeneral;
-            }
-        else
-            error = KErrNone;
-       
-        return error;        
-    }
-
-// ---------------------------------------------------------------------------
-// Test case for TMnMapImageParams::SetImageType& TMnMapImageParams::ImageType
-// ---------------------------------------------------------------------------
-TInt CTestMapImageParams ::CheckSetGetImageType()
-    {
-        TMnMapImageParams params;
-        TInt error = KErrNone;
-        
-        params.SetImageType(TMnMapImageParams::ETypeSatelliteImage);
-        
-        if(params.ImageType()!=TMnMapImageParams::ETypeSatelliteImage)
-            {
-                error = KErrGeneral;
-            }
-        else
-            error = KErrNone;
-        
-        return error;
-    }
-    
-// ---------------------------------------------------------------------------
-// Test case for TMnMapImageParams::SetProjectionId & TMnMapImageParams::ProjectionId
-// ---------------------------------------------------------------------------
-TInt CTestMapImageParams ::CheckSetGetProjectionId()
-    {
-        TMnMapImageParams params;
-        TInt error = KErrNone;
-        
-        params.SetProjectionId(15);
-        
-        if(params.ProjectionId() != 15)
-            {
-                error = KErrGeneral;
-            }
-        else
-            error = KErrNone;
-        
-        return error;
-    }
\ No newline at end of file
--- a/locsrv_plat/map_image_api/tsrc/testprovider/data/mntestprovider.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/*
-* Copyright (c) 2004-2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Defines the resources used by the TestProvider.
-*
-*/
-
-
-//  RESOURCE IDENTIFIER
-NAME MNTP
-
-//  INCLUDES
-#include <eikon.rsg>
-#include <eikon.rh>
-#include <avkon.rsg>
-#include <avkon.mbg>
-#include <avkon.rh>
-#include <avkon.loc>
-
-#include <appinfo.rh>
-
-RESOURCE RSS_SIGNATURE {  }
-
-RESOURCE TBUF { buf="MnTestProvider"; }
-
-RESOURCE EIK_APP_INFO
-    {
-    menubar = r_testprovider_menubar;
-    cba = R_AVKON_SOFTKEYS_OPTIONS_BACK;
-    }
-
-RESOURCE LOCALISABLE_APP_INFO r_testprovider_localisable_app_info
-    {
-    short_caption = "MnTestProvider";
-    caption_and_icon =
-        CAPTION_AND_ICON_INFO
-            {
-            caption = "MnTestProvider";
-            };
-    view_list = {};            
-    }
-
-RESOURCE CONTEXT_PANE r_testprovider_app_icon
-    {
-    }
-
-RESOURCE MENU_BAR r_testprovider_menubar
-    {
-    titles =
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_testprovider_menu;
-            }
-        };
-    }
-
-RESOURCE MENU_PANE r_testprovider_menu
-    {
-    items =
-        {
-        MENU_ITEM
-            {
-            command = EAknCmdExit;
-            txt = "Exit";
-            }
-        };
-    }
-
--- a/locsrv_plat/map_image_api/tsrc/testprovider/data/mntestprovider_reg.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +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: Resource file definition for map and navigation test provider
-*
-*/
-/*
-* ============================================================================
-*  Name       : Consumer_reg.rss
-*  Part of    : Landmarks Reference Application
-*  Description:
-*  Version:
-*
-* ============================================================================
-*/
-
-#include <appinfo.rh>
-
-#include <mnappserviceuids.hrh>
-#include <mnappservices.hrh>
-#include <mnserviceinfo.rh>
-
-#include <mntestprovider.rsg>
-
-UID2 KUidAppRegistrationResourceFile
-UID3 0x0313200B
-
-RESOURCE APP_REGISTRATION_INFO
-    {
-    app_file = "MnTestProvider";
-    localisable_resource_file = "\\resource\\apps\\mntestprovider";
-    localisable_resource_id = R_TESTPROVIDER_LOCALISABLE_APP_INFO;
-    service_list =
-        {
-        SERVICE_INFO 
-            {
-            uid = KMnAppMapViewService;
-            datatype_list = 
-                {
-                };
-            opaque_data = r_testprovider_mapview_opaquedata;
-            },
-        SERVICE_INFO 
-            {
-            uid = KMnAppNavigationService;
-            datatype_list = 
-                {
-                };
-            opaque_data = r_testprovider_navigation_opaquedata;
-            },
-        SERVICE_INFO 
-            {
-            uid = KMnAppGeocodingService;
-            datatype_list = 
-                {
-                };
-            opaque_data = r_testprovider_geocoding_opaquedata;
-            },
-        SERVICE_INFO 
-            {
-            uid = KMnAppMapImageService;
-            datatype_list = 
-                {
-                };
-            opaque_data = r_testprovider_mapimage_opaquedata;
-            }
-        };
-    }
-
-RESOURCE MN_SERVICE_INFO r_testprovider_mapview_opaquedata
-    {
-    service_features = KMnSvcFeatureShowMap | KMnSvcFeatureSelectFromMap;
-    }
-    
-RESOURCE MN_SERVICE_INFO r_testprovider_navigation_opaquedata
-    {
-    service_features = KMnSvcFeatureNavigateTo;
-    }
-    
-RESOURCE MN_SERVICE_INFO r_testprovider_geocoding_opaquedata
-    {
-    service_features = 
-        KMnSvcFeatureCoordToAddr | 
-        KMnSvcFeatureAddrToCoord |
-        KMnSvcFeaturePlainAddrToCoord;
-    }
-
-RESOURCE MN_SERVICE_INFO r_testprovider_mapimage_opaquedata
-    {
-    service_features = KMnSvcFeatureVectorMap | KMnSvcFeatureSatelliteImage;
-    }
-        
\ No newline at end of file
--- a/locsrv_plat/map_image_api/tsrc/testprovider/data/mntestproviderplugin.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Defines the ECom registration resource for TestProviderPlugin.
-*
-*/
-
-
-//  RESOURCE IDENTIFIER
-NAME MNTP
-
-#include <registryinfov2.rh>
-#include <mnpluginuids.hrh> // defines interface UID
-
-RESOURCE REGISTRY_INFO r_mycoordconverterplugin_reginfo
-	{
-	resource_format_version = RESOURCE_FORMAT_VERSION_2;
-	// DLL UID of the DLL
-	dll_uid = 0x03133035;
-	interfaces =
-	    {
-	    INTERFACE_INFO
-	        {
-	        // UID of coordinate converter interface,
-	        // defined in mnpluginuids.hrh
-	        interface_uid = KMnMapImageConverterIf;
-	        implementations =
-	            {
-	            IMPLEMENTATION_INFO
-	                {
-	                // The licensee needs to allocate this UID from Symbian
-	                implementation_uid = 0x03133036;
-	                version_no = 1;
-	                display_name = "TestProviderCoordConverter";
-	                // SID of provider application executable
-	                default_data = "0313200B";
-	                }
-	            };
-	        }
-	    };
-	}
--- a/locsrv_plat/map_image_api/tsrc/testprovider/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Build information file for map and navigation test provider
-*
-*/
-
-#include <bldvariant.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_MMPFILES
-
-PRJ_TESTMMPFILES
-testprovider.mmp
-testproviderplugin.mmp
--- a/locsrv_plat/map_image_api/tsrc/testprovider/group/testprovider.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +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: Project definition file for map and navigation test provider
-*
-*/
-
-
-#include <bldvariant.hrh>
-#include <platform_paths.hrh>
-
-TARGET              MnTestProvider.exe
-TARGETTYPE          exe
-EPOCSTACKSIZE       0x5000
-UID                 0x100039CE 0x0313200B
-
-VENDORID            VID_DEFAULT
-CAPABILITY          CAP_APPLICATION
-
-SOURCEPATH          ../src
-
-// Application mandatory classes
-SOURCE              testprovider.cpp
-SOURCE              testproviderapplication.cpp
-SOURCE              testproviderappui.cpp
-SOURCE              testproviderappview.cpp
-SOURCE              testproviderdocument.cpp
-SOURCE              testprovidermapview.cpp
-SOURCE              testprovidernaviview.cpp
-
-SOURCE              testproviderappserver.cpp
-SOURCE              testprovidergeocodingservice.cpp
-SOURCE              testprovidernavigationservice.cpp
-SOURCE              testprovidermapviewservice.cpp
-
-
-SOURCE              testprovidermapimageservice.cpp
-
-
-SOURCE              testproviderdump.cpp
-
-USERINCLUDE         ../inc
-
-MW_LAYER_SYSTEMINCLUDE
-
-LIBRARY             euser.lib
-LIBRARY             efsrv.lib
-LIBRARY             estor.lib
-LIBRARY             cone.lib
-LIBRARY             apparc.lib
-LIBRARY             bafl.lib
-LIBRARY             eikcore.lib
-LIBRARY             eikcoctl.lib
-LIBRARY             eikctl.lib
-LIBRARY             eikdlg.lib
-LIBRARY             ws32.lib
-LIBRARY             bitgdi.lib
-LIBRARY             fbscli.lib
-
-LIBRARY             avkon.lib
-LIBRARY             aknskins.lib
-
-LIBRARY             eposlandmarks.lib
-LIBRARY             eposlmsearchlib.lib
-LIBRARY             lbs.lib
-
-LIBRARY             mnclientlib.lib
-LIBRARY             mnservicelib.lib
-
-LIBRARY             servicehandler.lib // AIW
-
-DEBUGLIBRARY        flogger.lib
-
-START RESOURCE      ../data/mntestprovider.rss
-HEADER
-TARGETPATH          /resource/apps
-END
-
-START RESOURCE      ../data/mntestprovider_reg.rss
-DEPENDS mntestprovider.rsg
-TARGETPATH          /private/10003a3f/apps
-END
-
-SMPSAFE
-
-// END OF FILE
-
--- a/locsrv_plat/map_image_api/tsrc/testprovider/group/testprovider.pkg	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +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: Package file for map and navigation test provider
-;
-;
-; Installation file for mntestprovider application
-;
-;Languages
-&EN
-;
-; UID is the app's UID
-;
-#{"mntestprovider"},(0x0313200B),2,0,0,TYPE=SA
-;
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Supports Series 60 v 3.0
-;This line indicates that this installation is for the Series 60 platform v0.9
-;This line must appear _exactly_ as shown below in the sis file
-;If this line is missing or incorrect, the sis file will not be able
-;to be installed on Series 60 v3.0 platforms
-;(0x101F7961), 0, 0, 0, {"Series60ProductID"}
-;
-;
-; Files to install
-"\epoc32\release\ARMV5\urel\mntestprovider.exe"-"C:\sys\bin\mntestprovider.exe"
-"\epoc32\data\z\resource\apps\mntestprovider.rsc"-"C:\resource\apps\mntestprovider.rsc"
-"\epoc32\data\z\private\10003a3f\apps\mntestprovider_reg.rsc"-"C:\private\10003a3f\import\apps\mntestprovider_reg.rsc"
-
-
--- a/locsrv_plat/map_image_api/tsrc/testprovider/group/testproviderplugin.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* Copyright (c) 2004-2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Project definition file for map and navigation test provider
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET              MnTestProviderPlugin.dll
-TARGETTYPE          PLUGIN
-UID                 0x10009D8D 0x03133035
-
-VENDORID            VID_DEFAULT
-CAPABILITY          CAP_GENERAL_DLL
-
-SOURCEPATH          ../src
-
-// Application mandatory classes
-SOURCE              testproviderplugin.cpp
-SOURCE				testprovidercoordconverter.cpp
-
-USERINCLUDE         ../inc
-
-MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE       /epoc32/include/ecom
-
-LIBRARY             euser.lib
-LIBRARY             lbs.lib
-LIBRARY             mnclientlib.lib
-
-DEBUGLIBRARY        flogger.lib
-
-START RESOURCE      ../data/mntestproviderplugin.rss
-TARGET			    mntestproviderplugin.rsc
-TARGETPATH          /resource/plugins
-END
-
-SMPSAFE
-
-// END OF FILE
-
--- a/locsrv_plat/map_image_api/tsrc/testprovider/inc/debug.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Debug macros
-*
-*/
-
-
-#ifndef MNTP_DEBUG_H
-#define MNTP_DEBUG_H
-
-#include <e32base.h>
-
-inline void Panic( TInt aReason )
-    {
-    _LIT( KPanicCategory, "MnTestProvider" );
-    User::Panic( KPanicCategory, aReason );
-    }
-
-#ifdef _DEBUG
-
-#include <e32svr.h>
-#include <e32std.h>
-#include <f32file.h>
-#include <flogger.h>
-
-_LIT(KLogFile, "mnlog.txt");
-_LIT(KLogDirFullName, "c:\\logs\\");
-_LIT(KLogDir, "mn");
-
-inline void Prefix( TDes& aMessage )
-    {
-    RProcess process;
-    _LIT( KPrefix, "[MnTestProvider/%ld]: ");
-    aMessage.Format( KPrefix, process.Id().Id() );
-    }
-
-inline void Log( TRefByValue<const TDesC> aFmt, ... )
-    {
-    VA_LIST list;
-    VA_START( list, aFmt );
-
-    HBufC* buf = HBufC::New(512);
-    if ( buf )
-    	{
-    	TPtr ptr( buf->Des() );
-	    Prefix( ptr );
-	    ptr.AppendFormatList( aFmt, list );
-	
-	    RDebug::RawPrint( ptr );
-	    RFileLogger::Write( KLogDir, KLogFile, EFileLoggingModeAppend, ptr );
-
-	    delete buf;
-    	}
-    }
-
-#define LOG( a )             { Log( _L( a ) ); }
-#define LOG1( a, b )         { Log( _L( a ), b ); }
-#define LOG2( a, b, c )      { Log( _L( a ), b, c ); }
-#define LOG3( a, b, c, d )   { Log( _L( a ), b, c, d ); }
-#define LOG4( a, b, c, d, e )   { Log( _L( a ), b, c, d, e ); }
-
-#else // _DEBUG
-
-// Release version - no logging
-#define LOG( a )
-#define LOG1( a, b )
-#define LOG2( a, b, c )
-#define LOG3( a, b, c, d )
-#define LOG4( a, b, c, d, e )
-
-#endif // _DEBUG
-
-#endif // MNTP_DEBUG_H
-
--- a/locsrv_plat/map_image_api/tsrc/testprovider/inc/testproviderapplication.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* Copyright (c) 2004-2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  
-*     See class description below
-*
-*/
-
-
-#ifndef __TESTPROVIDER_APPLICATION_H_
-#define __TESTPROVIDER_APPLICATION_H_
-
-#include <eikapp.h>
-
-class CTestProviderAppServer;
-
-/**
-*  An instance of CTestProviderApplication is the application part of the Eikon
-*  application framework for the MapNav TestProvider
-*/
-class CTestProviderApplication : public CEikApplication
-    {
-    public:  // from CEikApplication
-
-        /** 
-        * AppDllUid returns the application DLL UID value.
-        *
-        *  @return the UID of this Application/Dll
-        */
-        TUid AppDllUid() const;
-        
-        ~CTestProviderApplication();
-
-    protected: // from CEikApplication
-
-        /** 
-        * CreateDocumentL creates a CApaDocument object and return a pointer to it
-        *
-        * @return a pointer to the created document
-        */
-        CApaDocument* CreateDocumentL();
-        
-        void NewAppServerL(CApaAppServer *&aAppServer);
-    };
-
-#endif // __TESTPROVIDER_APPLICATION_H_
-
--- a/locsrv_plat/map_image_api/tsrc/testprovider/inc/testproviderappserver.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
-* Copyright (c) 2004-2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  
-*     See class description below
-*
-*/
-
-
-#ifndef MNTP_APPSERVER_H
-#define MNTP_APPSERVER_H
-
-#include <aknserverapp.h>
-#include <e32property.h> 
-
-class CTestProviderNavigationService;
-class CTestProviderMapViewService;
-class CTestProviderGeocodingService;
-
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-class CTestProviderMapImageService;
-#endif
-
-class CTestProviderAppUi;
-class CTestCommandListener;
-
-/**
-*  An instance of CTestProviderAppServer is the application part of the Eikon
-*  application framework for the MapNav TestProvider
-*/
-class CTestProviderAppServer : public CAknAppServer
-    {
-    public:
-        CTestProviderAppUi* AppUi() const;
-        ~CTestProviderAppServer();
-        
-        void ConstructL( const TDesC& aFixedServerName );
-        
-        TBool IsFree();
-        
-        void HandleTestCommandL();
-        TInt GetTestCommand() 
-            {
-            return iTestCommand;
-            };
-
-    public: // from CAknAppServer
-        IMPORT_C CApaAppServiceBase* CreateServiceL(TUid aServiceType) const;
-        IMPORT_C void HandleAllClientsClosed();
-
-    protected:        
-        CTestProviderGeocodingService* CreateGeocodingServiceL() const;
-        CTestProviderNavigationService* CreateNavigationServiceL() const;
-        CTestProviderMapViewService* CreateMapViewServiceL() const;
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-        CTestProviderMapImageService* CreateMapImageServiceL() const;
-#endif        
-        void DumpEmptyL() const;
-        
-        static TInt TestCommandCallback( TAny* aPtr );
-        
-    private:
-        mutable TBool iBusy;
-        mutable CTestProviderGeocodingService* iGeocodingService;
-        mutable CTestProviderNavigationService* iNavigationService;
-        mutable CTestProviderMapViewService* iMapViewService;
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-        mutable CTestProviderMapImageService* iMapImageService;
-#endif        
-        CTestCommandListener*   iListener;
-        TInt iTestCommand;
-    };
-
-#endif // MNTP_APPSERVER_H
-
--- a/locsrv_plat/map_image_api/tsrc/testprovider/inc/testproviderappui.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,125 +0,0 @@
-/*
-* Copyright (c) 2004-2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*     See class description below
-*
-*/
-
-
-#ifndef __TESTPROVIDER_APPUI_H_
-#define __TESTPROVIDER_APPUI_H_
-
-#include <aknviewappui.h>
-
-class CTestProviderAppView;
-class CTestProviderNaviView;
-class CTestProviderMapView;
-
-class CAknNavigationDecorator;
-class CAknNavigationControlContainer;
-
-/**
-*  An instance of class CTestProviderAppUi is the UserInterface part of the Eikon
-*  application framework for the TestProvider reference application
-*/
-class CTestProviderAppUi : public CAknAppUi
-    {
-    public: // Constructors and destructor
-
-        /**
-        * C++ default constructor. This needs to be public due to the way
-        * the framework constructs the AppUi.
-        */
-        CTestProviderAppUi();
-
-        /**
-        * Symbian 2nd phase constructor. This needs to be public due to the way
-        * the framework constructs the AppUi.
-        */
-        void ConstructL();
-
-        /**
-        * Destructor.
-        */
-        ~CTestProviderAppUi();
-
-        CTestProviderNaviView& ShowNaviViewL();
-        CTestProviderMapView& ShowMapViewL();
-        TBool IsAnyViewOpen();
-        TBool IsChainedMode();
-        void Exit( TInt aReason );
-        
-    public: // from CEikAppUi
-
-        /**
-        * HandleCommandL handles user menu selections.
-        *
-        * @param aCommand the enumerated code for the option selected
-        */
-        void HandleCommandL(TInt aCommand);
-        
-        TBool ProcessCommandParametersL( CApaCommandLine &aCommandLine );
-
-    public: // from MEikMenuObserver
-
-        void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane *aMenuPane);
-
-    private:
-
-        /**
-        * Performs the construction phase of this object that is dependent
-        * that the application engine is initialized.
-        */
-        void PostConstructL();
-
-        CEikStatusPane* StatusPane();
-
-        void SetNaviPaneTitleL( const TDesC& aPaneTitle );
-        
-    private: // Data
-        CTestProviderAppView* iAppView;
-        CTestProviderNaviView* iNaviView;
-        CTestProviderMapView* iMapView;
-
-        //Own:
-        CAknNavigationDecorator* iNaviLabel;
-
-        //Ref:
-        CAknNavigationControlContainer* iNaviPane;
-        
-        TInt iParentWg;
-/*
-    private:
-        class CShutter : public CTimer
-            {
-            public:
-                CShutter( 
-                    CTestProviderAppServer& aServer,
-                    CTestProviderAppUi& aAppUi );
-                void ConstructL();                
-                void RunL();
-                void Go();
-
-            protected:
-                CTestProviderAppServer& iServer;                
-                CTestProviderAppUi& iAppUi;
-            };
-            
-    private:            
-        CShutter* iShutter;
-*/        
-    };
-
-#endif // __TESTPROVIDER_APPUI_H_
-
--- a/locsrv_plat/map_image_api/tsrc/testprovider/inc/testproviderappview.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Application View for map and navigation test provider
-*
-*/
-
-
-
-#ifndef __MNTP_APPVIEW_H_
-#define __MNTP_APPVIEW_H_
-
-#include <coecntrl.h>
-
-class CTestProviderAppView : public CCoeControl
-    {
-    public: // New methods
-
-        /**
-        * NewL.
-        * Two-phased constructor.
-        * Create a CTestProviderAppView object, which will draw itself to aRect.
-        * @param aRect The rectangle this view will be drawn to.
-        * @return a pointer to the created instance of CTestProviderAppView.
-        */
-        static CTestProviderAppView* NewL( const TRect& aRect );
-
-        /**
-        * NewLC.
-        * Two-phased constructor.
-        * Create a CTestProviderAppView object, which will draw itself
-        * to aRect.
-        * @param aRect Rectangle this view will be drawn to.
-        * @return A pointer to the created instance of CTestProviderAppView.
-        */
-        static CTestProviderAppView* NewLC( const TRect& aRect );
-
-        /**
-        * ~CTestProviderAppView
-        * Virtual Destructor.
-        */
-        virtual ~CTestProviderAppView();
-
-    public:  // Functions from base classes
-
-        /**
-        * From CCoeControl, Draw
-        * Draw this CAnimationAppView to the screen.
-        * @param aRect the rectangle of this view that needs updating
-        */
-        void Draw( const TRect& aRect ) const;
-        
-        //TInt CountComponentControls() const { return 1;};
-        
-    protected:
-        /*
-        CCoeControl* ComponentControl(TInt aIndex) const
-            {
-                return (aIndex == 0) ? iList : NULL;
-            };
-        */
-    private: // Constructors
-
-        /**
-        * ConstructL
-        * 2nd phase constructor.
-        * Perform the second phase construction of a
-        * CTestProviderAppView object.
-        * @param aRect The rectangle this view will be drawn to.
-        */
-        void ConstructL(const TRect& aRect);
-
-        /**
-        * CTestProviderAppView.
-        * C++ default constructor.
-        */
-        CTestProviderAppView();
-    
-    private:
-
-    };
-
-#endif // __MNTP_APPVIEW_H_
-
--- a/locsrv_plat/map_image_api/tsrc/testprovider/inc/testprovidercoordconverter.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +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: Co ordinate converter for map and navigation test provider
-*
-*/
-#ifndef MNTP_COORDINATECONVERTER_H
-#define MNTP_COORDINATECONVERTER_H
-
-#include <mncoordinateconverterbase.h>
-
-class CTestProviderCoordConverter : public CMnCoordinateConverterBase
-    {
-    public:
-        static CTestProviderCoordConverter* NewL();
-
-        ~CTestProviderCoordConverter();
-
-    protected: // From CMnCoordinateConverterBase
-
-        TInt GetImageCoordinate( 
-            const TCoordinate& aWorldCoordinate, 
-            TPoint& aImagePoint );
-        
-        TInt GetWorldCoordinate( 
-            const TPoint& aImagePoint, 
-            TCoordinate& aWorldCoordinate );
-                    
-    protected:    
-        CTestProviderCoordConverter();
-        
-    private:
-    };
-
-#endif /*MNTP_COORDINATECONVERTER_H*/
--- a/locsrv_plat/map_image_api/tsrc/testprovider/inc/testproviderdocument.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/*
-* Copyright (c) 2004-2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  
-*     See class description below
-*
-*/
-
-
-#ifndef MNTP_DOCUMENT_H
-#define MNTP_DOCUMENT_H
-
-#include <akndoc.h>
-
-class CTestProviderAppUi;
-class CEikApplication;
-
-/**
-*  An instance of CTestProviderDocument is the application part of the Avkon
-*  application framework for the TestProvider reference application
-*/
-class CTestProviderDocument : public CAknDocument
-    {
-    public: // Constructors and destructor
-
-        /**
-        * Two-phased constructor.
-        *
-        * @param aApp an eikon application instance
-        */
-        static CTestProviderDocument* NewL( CEikApplication& aApp );
-
-        /**
-        * Destructor.
-        */
-        ~CTestProviderDocument();
-
-    public: // from CAknDocument
-
-        /**
-        * CreateAppUiL creates a CTestProviderAppUi object and return a pointer 
-        * to it.
-        *
-        * @return a pointer to the created instance of the AppUi created
-        */
-        CEikAppUi* CreateAppUiL();
-
-    private:
-
-        /**
-        * C++ constructor.
-        */
-        CTestProviderDocument(CEikApplication& aApp);
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-
-    };
-
-#endif // MNTP_DOCUMENT_H
-
--- a/locsrv_plat/map_image_api/tsrc/testprovider/inc/testproviderdump.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,148 +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: Utility class for map and navigation test provider
-*
-*/
-
-#ifndef MNTP_DUMP_H
-#define MNTP_DUMP_H
-
-#include <e32base.h>
-#include <e32property.h>
-
-#include <epos_landmarks.h>
-
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-#include <mnmapimage.h>
-#endif
-
-const TInt KPropCategoryUid = 0x0313200B;
-const TInt KPropKeyErrorCode = 1;
-const TInt KPropKeyAction = 2;
-const TInt KPropKeyProcessId = 3;
-
-enum 
-    {
-    EServerActionNone,
-    EServerActionBaseComplete,
-    EServerActionCompleteGeocoding,
-    EServerActionCompleteSelectionFree,
-    EServerActionCompleteSelectionIndex,
-    EServerActionCompleteSelectionNegativeIndex,
-    EServerActionCompleteSelectionLinked,
-    EServerActionCompleteSelectionWrongLinked,
-    EServerActionCompleteSelectionNegativeDbIndex,
-    EServerActionDelayCompletion,
-    EServerActionExit,
-    EServerActionDisableDump,
-    EServerActionCompleteRendering,
-    };
-
-class CPosLandmark;
-class CAiwGenericParamList;
-class RProperty;
-
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-struct TMapImageOptions
-    {
-    TMnMapImageParams iParams;
-    CMnMapImage::TShowOptions iShowOptions;
-    TPoint iTargetOrigin;
-    TSize iBitmapSize;
-    TInt iBitmapHandle;
-    };     
-#endif
-
-class CTestProviderDump : public CBase
-    {
-    public:
-        static CTestProviderDump* NewLC();
-
-        void AddTimeStampL();
-        void AddRunModeL( TBool aIsChainedMode );
-
-        void AddLandmarkL( const CPosLandmark& aLandmark );
-        void AddLandmarkL( const TDesC& aUri, TPosLmItemId aId );
-        void AddLandmarkListL( const TDesC& aUri, TArray<TPosLmItemId> aItemIds );
-        
-        void AddGeocodingOptionsL( TUint32 aOptions );
-        void AddMapViewOptionsL( 
-            TUint32 aOptions,
-            TUint32 aCurrentLocationOption,
-            TReal aRadius,
-            TCoordinate iCenterPoint );
-
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-        void AddMapImageOptionsL( TMapImageOptions& aOptions );
-#endif
-        void AddRequestTextL( const TDesC& aText );
-        void AddAddressL( const TDesC& aAddress );
-
-        void CommitL();
-       
-        ~CTestProviderDump();
-
-    protected:
-
-        void ConstructL();
-        CTestProviderDump();
-
-    private:
-        CAiwGenericParamList* iList;
-    };
-    
-class CTestCommandListener : public CActive
-    {
-    public:
-        CTestCommandListener( TCallBack aCallback ) : CActive ( CActive::EPriorityStandard )
-            {
-            iCallback = aCallback;
-            iProperty.Attach( TUid::Uid( KPropCategoryUid ), KPropKeyAction );
-            CActiveScheduler::Add( this );
-            };
-            
-        ~CTestCommandListener()
-            {
-            iProperty.Close();
-            };
-          
-        void Start()
-            {
-            iProperty.Subscribe( iStatus );
-            SetActive();
-            };
-            
-        void RunL()
-            {
-            Start();
-            iCallback.CallBack();
-            };
-            
-        void DoCancel()
-            {
-            iProperty.Cancel();
-            };
-            
-        RProperty& Property()
-            {
-            return iProperty;
-            };
-            
-    protected:
-        RProperty iProperty;
-        TCallBack iCallback;
-    };
-
-#endif // MNTP_DUMP_H
-
--- a/locsrv_plat/map_image_api/tsrc/testprovider/inc/testprovidergeocodingservice.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CTestProviderGeocodingService class
-*
-*/
-
-
-#ifndef MN_TPGEOCODINGSERVICE_H
-#define MN_TPGEOCODINGSERVICE_H
-
-#include "mngeocodingservicebase.h"
-
-class CPosLandmark;
-class CTestCommandListener;
-
-/** Implementation of geocoding service (KMnAppGeocodingService). 
- */
-class CTestProviderGeocodingService : public CMnGeocodingServiceBase
-    {
-    public :
-        static CTestProviderGeocodingService* NewL();
-        
-        void HandleTestCommandL( TInt aCommand );
-
-    protected :
-        /** C++ constructor */
-        CTestProviderGeocodingService();
-        /** Destructor */
-        virtual ~CTestProviderGeocodingService();
-
-        void ConstructL();
-
-        void LeaveIfBusyL();
-        void LeaveIfInstructedL();
-        void StartProcessingL();
-        static TInt GeocodingProcessingCallBack( TAny* aPtr );
-        void HandleGeocodingCompletedL();
-        void FinishProcessingL();
-
-        TInt GetTestCommand();
-
-    private:
-        void DumpDataL( const TDesC& aAddress );
-        void DumpDataL( const CPosLandmark& aLandmark );
-        
-
-    protected: // from CMnGeocodingServiceBase
-    
-        /** Handles client's request for finding address by given coordinate. */
-        void HandleFindAddressByCoordinateL( const CPosLandmark& aLandmark );
-        
-        /** Handles client's request for finding coordinate by given address. */
-        void HandleFindCoordinateByAddressL( const CPosLandmark& aLandmark );
-
-        /** Handles client's request for finding coordinate by given address. */
-        void HandleFindCoordinateByAddressL( const TDesC& aAddress );
-        
-    protected: // from CMnServiceBase
-
-        /** Reports that client cancelled request */
-        void DoCancel();
-
-    private:
-    
-        enum TServiceType
-            {
-            ENone,
-            ECoordToAddr,
-            EAddrToCoord,
-            EPlainToCoord
-            };
-            
-        TServiceType            iCurrentService;
-    
-        CPosLandmark*           iLandmark;
-        HBufC*                  iPlainAddress;
-        
-        CPeriodic*              iProcessor;
-    };
-
-#endif // MN_TPGEOCODINGSERVICE_H
-
-
--- a/locsrv_plat/map_image_api/tsrc/testprovider/inc/testprovidermapimageservice.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CTestProviderMapImageService class
-*
-*/
-
-
-#ifndef MN_TPMAPIMAGESERVICE_H
-#define MN_TPMAPIMAGESERVICE_H
-
-#include "mnmapimageservicebase.h"
-
-class CPosLandmark;
-class CTestCommandListener;
-
-/** Implementation of geocoding service (KMnAppMapImageService). 
- */
-class CTestProviderMapImageService : public CMnMapImageServiceBase
-    {
-    public :
-        static CTestProviderMapImageService* NewL();
-        
-        void HandleTestCommandL( TInt aCommand );
-
-    protected :
-        /** C++ constructor */
-        CTestProviderMapImageService();
-        /** Destructor */
-        virtual ~CTestProviderMapImageService();
-
-        void ConstructL();
-
-        void LeaveIfBusyL();
-        void LeaveIfInstructedL();
-        void StartProcessingL();
-        static TInt MapImageProcessingCallBack( TAny* aPtr );
-        void HandleMapImageCompletedL();
-        void FinishProcessingL();
-
-        TInt GetTestCommand();
-
-        void RenderL();
-
-    private:
-        void DumpDataL();
-
-    protected: // from CMnMapImageServiceBase
-    
-        /** Handles client's request for finding address by given coordinate. */
-        void HandleRenderingL();
-        
-    protected: // from CMnServiceBase
-
-        /** Reports that client cancelled request */
-        void DoCancel();
-
-    private:
-    
-        enum TServiceType
-            {
-            ENone,
-            ERender,
-            };
-            
-        TServiceType            iCurrentService;
-    
-        CPeriodic*              iProcessor;
-    };
-
-#endif // MN_TPMAPIMAGESERVICE_H
-
-
--- a/locsrv_plat/map_image_api/tsrc/testprovider/inc/testprovidermapview.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Map View for map and navigation test provider
-*
-*/
-
-
-
-#ifndef __MNTP_MAPVIEW_H_
-#define __MNTP_MAPVIEW_H_
-
-#include <coecntrl.h>
-
-class CTestProviderMapView : public CCoeControl
-    {
-    public: // New methods
-
-        static CTestProviderMapView* NewL( const TRect& aRect );
-        static CTestProviderMapView* NewLC( const TRect& aRect );
-
-        virtual ~CTestProviderMapView();
-
-    public:  // Functions from base classes
-
-        void Draw( const TRect& aRect ) const;
-        
-    private: // Constructors
-
-        void ConstructL(const TRect& aRect);
-
-        CTestProviderMapView();
-    
-    private:
-
-    };
-
-#endif // __MNTP_MAPVIEW_H_
-
--- a/locsrv_plat/map_image_api/tsrc/testprovider/inc/testprovidermapviewservice.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CTestProviderMapViewService class
-*
-*/
-
-
-#ifndef MNTP_MAPVIEWSERVICE_H
-#define MNTP_MAPVIEWSERVICE_H
-
-#include "mnmapviewservicebase.h"
-
-class CPosLandmark;
-class CTestCommandListener;
-
-/** Implementation of MapView service (KMnAppMapViewService). 
- */
-class CTestProviderMapViewService : public CMnMapViewServiceBase
-    {
-    public :
-        static CTestProviderMapViewService* NewL();
-        void HandleTestCommandL( TInt aCommand );
-        
-    protected :
-        /** C++ constructor */
-        CTestProviderMapViewService();
-        /** Destructor */
-        virtual ~CTestProviderMapViewService();
-
-        void ConstructL();
-
-        void LeaveIfBusyL();
-        void LeaveIfInstructedL();
-        void StartProcessingL();
-        static TInt SelectionIdleCallBack( TAny* aPtr );
-        void HandleSelectionL();
-        void DoSelectionL();
-
-        void DumpDataL();
-        TInt GetTestCommand();
-
-    protected: // from CMnMapViewServiceBase
-    
-        /** Handles client's request for showing map */
-        void HandleShowMapL();
-
-        /** Handles client's request for showing map from current location */
-        void HandleShowCurrentLocationL();
-
-        /** Handles client's request for selecting a location from map */
-        void HandleSelectFromMapL();
-
-    protected: // from CMnServiceBase
-
-        /** Reports that client cancelled request */
-        void DoCancel();
-
-    private:
-    
-        CPosLandmark*           iLandmark;
-        CPeriodic*              iProcessor;
-    };
-
-#endif // MNTP_MAPVIEWSERVICE_H
-
-
--- a/locsrv_plat/map_image_api/tsrc/testprovider/inc/testprovidernavigationservice.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CTestProviderNavigationService class
-*
-*/
-
-
-#ifndef MNTP_NAVIGATIONSERVICE_H
-#define MNTP_NAVIGATIONSERVICE_H
-
-#include "mnnavigationservicebase.h"
-
-class CPosLandmark;
-
-/** Implementation of Navigation service (KMnAppNavigationService). 
- */
-class CTestProviderNavigationService : public CMnNavigationServiceBase
-    {
-    public :
-        static CTestProviderNavigationService* NewL();
-        
-        void HandleTestCommandL( TInt aCommand );
-
-    protected :
-        /** C++ constructor */
-        CTestProviderNavigationService();
-        /** Destructor */
-        virtual ~CTestProviderNavigationService();
-
-        void ConstructL();
-
-    public: // from CMnNavigationServiceBase
-    
-        /** Handles client's request for navigation. */
-        void HandleNavigateToL(const CPosLandmark& aDestination);
-    
-    protected: // from CMnServiceBase
-
-        /** Reports that client cancelled request */
-        void DoCancel();
-
-    private:
-    
-    };
-
-#endif // MNTP_NAVIGATIONSERVICE_H
-
-
--- a/locsrv_plat/map_image_api/tsrc/testprovider/inc/testprovidernaviview.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Main View for map and navigation test provider
-*
-*/
-
-
-
-#ifndef __MNTP_NAVIVIEW_H_
-#define __MNTP_NAVIVIEW_H_
-
-#include <coecntrl.h>
-
-class CTestProviderNaviView : public CCoeControl
-    {
-    public: // New methods
-
-        static CTestProviderNaviView* NewL( const TRect& aRect );
-        static CTestProviderNaviView* NewLC( const TRect& aRect );
-        virtual ~CTestProviderNaviView();
-
-    public:  // Functions from base classes
-
-        void Draw( const TRect& aRect ) const;
-    private: // Constructors
-
-        void ConstructL(const TRect& aRect);
-        CTestProviderNaviView();
-    
-    private:
-
-    };
-
-#endif // __MNTP_NAVIVIEW_H_
-
--- a/locsrv_plat/map_image_api/tsrc/testprovider/rom/MnTestProvider.iby	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: IBY file for map and navigation test provider
-*
-*/
-
-S60_APP_EXE(MnTestProvider)
-S60_APP_RESOURCE(MnTestProvider)
-S60_APP_AIF_RSC(MnTestProvider)
-data=DATAZ_\system\install\MnTestProviderStub.sis \system\install\MnTestProviderStub.sis
--- a/locsrv_plat/map_image_api/tsrc/testprovider/sis/MnTestProvider.pkg	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-;
-; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "Eclipse Public License v1.0"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description: Package file for map and navigation test provider
-;
-;
-; Stub Installation file for M&N Test Provider App
-;Language - standard language definitions
-&EN
-
-; standard SIS file header
-#{"MnTestProvider"},(0x0313200B),1,2,4
-
-; Localised Vendor name
-%{"Vendor-EN"}
-
-; Unique Vendor name
-:"Vendor"
-
-; Supports S60 v 3.0
-[0x101F7961], 0, 0, 0, {"S60ProductID"}
-
-; Files to install
-"\epoc32\release\ARMV5\UDEB\mntestprovider.exe"-"C:\sys\bin\mntestprovider.exe"
-"\epoc32\data\z\resource\apps\mntestprovider.rsc"-"C:\resource\apps\mntestprovider.rsc"
-"\epoc32\data\z\private\10003a3f\apps\mntestprovider_reg.rsc"-"C:\private\10003a3f\import\apps\mntestprovider_reg.rsc"
-
--- a/locsrv_plat/map_image_api/tsrc/testprovider/src/testprovider.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
-* Copyright (c) 2004-2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Entry Point for map and navigation test provider
-*
-*/
-
-
-#include <e32base.h>
-#include <eikstart.h>
-
-#include "debug.h"
-
-#include "testproviderapplication.h"
-
-
-LOCAL_C CApaApplication* NewApplication()
-{
-    LOG( "NewApplication" );
-    return new CTestProviderApplication;
-}
-
-TInt E32Main()
-{
-    return EikStart::RunApplication( NewApplication );
-}
-
--- a/locsrv_plat/map_image_api/tsrc/testprovider/src/testproviderapplication.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-/*
-* Copyright (c) 2004-2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CTestProviderApplication
-*
-*/
-
-
-#include "debug.h"
-
-#include "testproviderdocument.h"
-#include "testproviderappserver.h"
-#include "testproviderapplication.h"
-
-// UID for the application, this should match the uid defined in the mmp file.
-static const TUid KUidTestProviderApp = {0x0313200B};
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CApaDocument* CTestProviderApplication::CreateDocumentL()
-    {  
-    LOG( "CreateDocumentL" );
-    CApaDocument* document = CTestProviderDocument::NewL( *this );
-    return document;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TUid CTestProviderApplication::AppDllUid() const
-    {
-    // Return the UID for the TestProvider application
-    return KUidTestProviderApp;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CTestProviderApplication::NewAppServerL( CApaAppServer*& aAppServer )
-    {
-    LOG( "NewAppServerL" );
-    
-    CTestProviderAppServer* server = new (ELeave) CTestProviderAppServer;
-    aAppServer = server;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CTestProviderApplication::~CTestProviderApplication()
-    {
-    }
-
--- a/locsrv_plat/map_image_api/tsrc/testprovider/src/testproviderappserver.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,250 +0,0 @@
-/*
-* Copyright (c) 2004-2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CTestProviderAppServer
-*
-*/
-
-
-#include <mnappserviceuids.hrh>
-#include "debug.h"
-
-#include <e32property.h>
-#include <lbsposition.h>
-#include <epos_cposlandmark.h>
-
-#include "testprovidergeocodingservice.h"
-#include "testprovidernavigationservice.h"
-#include "testprovidermapviewservice.h"
-
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-#include "testprovidermapimageservice.h"
-#endif
-
-#include "testproviderappui.h"
-#include "testproviderappserver.h"
-
-#include "testproviderdump.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CTestProviderAppServer::~CTestProviderAppServer()
-    {
-    if ( iListener )
-        {
-        iListener->Cancel();
-        delete iListener;
-        }
-
-    LOG("server destroyed");
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CTestProviderAppServer::ConstructL( const TDesC& aFixedServerName )
-    {
-    CAknAppServer::ConstructL( aFixedServerName );
-    
-    iListener = new (ELeave) CTestCommandListener( TCallBack( TestCommandCallback, this ) );
-    iListener->Start();
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-TInt CTestProviderAppServer::TestCommandCallback( TAny* aPtr )
-    {
-    CTestProviderAppServer* self =    
-        static_cast<CTestProviderAppServer*> ( aPtr );
-        
-    TRAP_IGNORE( self->HandleTestCommandL() );
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CTestProviderAppServer::HandleTestCommandL()
-    {
-    iListener->Property().Get( iTestCommand );
-    LOG1("test command changed %d ", iTestCommand );
-    
-    if ( iTestCommand == EServerActionExit )
-        {
-        AppUi()->ProcessCommandL( EAknCmdExit );
-        }
-    else
-    if ( iMapViewService )
-        {
-        iMapViewService->HandleTestCommandL( iTestCommand );
-        }
-    else 
-    if ( iNavigationService )
-        {
-        iNavigationService->HandleTestCommandL( iTestCommand );
-        }
-    else 
-    if ( iGeocodingService )
-        {
-        iGeocodingService->HandleTestCommandL( iTestCommand );
-        }
-    else
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-    if ( iMapImageService )
-        {
-        iMapImageService->HandleTestCommandL( iTestCommand );
-        }
-    else
-#endif
-        {
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CApaAppServiceBase* CTestProviderAppServer::CreateServiceL(TUid aServiceType) const
-    {
-    RProcess process;
-    RProperty property;
-    
-    TProcessId id = process.Id();
-    TPckg<TProcessId> packId( id );
-
-    property.Define( TUid::Uid( KPropCategoryUid ), KPropKeyProcessId, RProperty::EByteArray );
-    property.Set( TUid::Uid( KPropCategoryUid ), KPropKeyProcessId, packId );
-
-    LOG1("CreateServiceL, svcUid = %X", aServiceType.iUid);
-    switch ( aServiceType.iUid )
-        {
-        case KMnAppGeocodingService:
-            return CreateGeocodingServiceL();
-            
-        case KMnAppNavigationService:
-            return CreateNavigationServiceL();
-            
-        case KMnAppMapViewService:
-            return CreateMapViewServiceL();
-            
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-        case KMnAppMapImageService:
-            return CreateMapImageServiceL();
-#endif
-
-        default:
-            return CAknAppServer::CreateServiceL( aServiceType );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CTestProviderAppServer::HandleAllClientsClosed()
-    {
-    LOG( "HandleAllClientsClosed" );
-
-    // create fresh dump to signal successful exit
-    // TRAP_IGNORE( DumpEmptyL() );
-    iBusy = EFalse;
-    CAknAppServer::HandleAllClientsClosed();
-    }
-    
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CTestProviderGeocodingService* CTestProviderAppServer::CreateGeocodingServiceL() const
-    {
-    LOG( "CreateGeocodingServiceL" );
-    __ASSERT_DEBUG( !iGeocodingService, Panic( KErrAlreadyExists ) );
-    iGeocodingService = CTestProviderGeocodingService::NewL();
-    TRAP_IGNORE( DumpEmptyL() );
-    iBusy = ETrue;
-    return iGeocodingService;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CTestProviderNavigationService* CTestProviderAppServer::CreateNavigationServiceL() const
-    {
-    LOG( "CreateNavigationServiceL" );
-    __ASSERT_DEBUG( !iNavigationService, Panic( KErrAlreadyExists ) );
-    iNavigationService = CTestProviderNavigationService::NewL();
-    TRAP_IGNORE( DumpEmptyL() );
-    iBusy = ETrue;
-    return iNavigationService;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CTestProviderMapViewService* CTestProviderAppServer::CreateMapViewServiceL() const
-    {
-    LOG( "CreateMapViewServiceL" );
-    __ASSERT_DEBUG( !iMapViewService, Panic( KErrAlreadyExists ) );
-    iMapViewService = CTestProviderMapViewService::NewL();
-    TRAP_IGNORE( DumpEmptyL() );
-    iBusy = ETrue;
-    return iMapViewService;
-    }
-
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CTestProviderMapImageService* CTestProviderAppServer::CreateMapImageServiceL() const
-    {
-    LOG( "CreateMapImageServiceL" );
-    __ASSERT_DEBUG( !iMapImageService, Panic( KErrAlreadyExists ) );
-    iMapImageService = CTestProviderMapImageService::NewL();
-    TRAP_IGNORE( DumpEmptyL() );
-    iBusy = ETrue;
-    return iMapImageService;
-    }
-#endif
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CTestProviderAppUi* CTestProviderAppServer::AppUi() const
-    {
-    CTestProviderAppUi* ui = (CTestProviderAppUi*) CEikonEnv::Static()->AppUi();
-    if ( !ui )
-        {
-        LOG("UI not found!");
-        }
-    return ui;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CTestProviderAppServer::DumpEmptyL() const
-    {
-    CTestProviderDump* dump = CTestProviderDump::NewLC();
-    dump->AddRunModeL( AppUi()->IsChainedMode() );
-    dump->CommitL();
-    CleanupStack::PopAndDestroy( dump );
-    }
-    
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TBool CTestProviderAppServer::IsFree()
-    {
-    return !iBusy;
-    }
--- a/locsrv_plat/map_image_api/tsrc/testprovider/src/testproviderappui.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,291 +0,0 @@
-/*
-* Copyright (c) 2004-2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implements the CTestProviderAppUi class
-*
-*/
-
-
-#include <aknnavi.h>
-#include <aknnavide.h>
-#include <w32std.h>
-#include <EikServerApp.h>
-
-#include "debug.h"
-
-#include "testproviderappview.h"
-#include "testprovidernaviview.h"
-#include "testprovidermapview.h"
-
-#include "testproviderappui.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CTestProviderAppUi::CTestProviderAppUi()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CTestProviderAppUi::ConstructL()
-    {
-    BaseConstructL(EAknEnableSkin);
-
-    if ( !iEikonEnv->StartedAsServerApp() )
-        {
-        CAknAppUi::Exit();	
-        }
-/*
-    CEikAppServer* server = iEikonEnv->AppServer();
-    if ( server )
-        {
-        iShutter = new ( ELeave ) CShutter( *server );
-        iShutter->ConstructL();
-        
-        const TTimeIntervalMicroSeconds32 KShutdownDelay = 2 * 1000 * 1000;
-        iShutter->Go();After( KShutdownDelay );
-        }
-*/        
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CTestProviderAppUi::~CTestProviderAppUi()
-    {
-    delete iNaviLabel;
-    
-    delete iAppView;
-    if ( iNaviView )
-        {
-        RemoveFromStack( iNaviView );
-        }
-    delete iNaviView;
-    if ( iMapView )
-        {
-        RemoveFromStack( iMapView );
-        }
-    delete iMapView;
-/*
-    if ( iShutter )
-        {
-        iShutter->Cancel();
-        delete iShutter;
-        }
-*/        
-    LOG("application destroyed");
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CTestProviderAppUi::HandleCommandL( TInt aCommand )
-    {
-    switch(aCommand)
-        {
-        case EAknSoftkeyBack:
-            {
-    	    Exit( EEikCmdExit ); 
-        	break;
-            }
-            
-        case EEikCmdExit:
-        case EAknSoftkeyExit:
-            {
-            Exit( EAknCmdExit ); // this will close client also
-        	break;
-            }
-        default:
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CTestProviderAppUi::Exit( TInt aReason )
-    {
-    CEikAppServer* server = iEikonEnv->AppServer();
-    if ( server )
-    	{
-        server->NotifyServerExit( aReason );
-    	}
-    CAknAppUi::Exit();	
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TBool CTestProviderAppUi::ProcessCommandParametersL( CApaCommandLine &aCommandLine )
-    {
-    iParentWg = aCommandLine.ParentWindowGroupID();
-    LOG1("parent window group id %d", iParentWg );
-    
-    return CAknAppUi::ProcessCommandParametersL( aCommandLine );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CTestProviderAppUi::DynInitMenuPaneL(TInt /*aResourceId*/, CEikMenuPane* /*aMenuPane*/)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CTestProviderAppUi::PostConstructL()
-    {
-/*
-    // Create TestProvider view
-    CTestProviderAppView* TestProviderAppView = CTestProviderAppView::NewLC();
-    AddViewL(TestProviderView); // Transfer ownership to base class
-    CleanupStack::Pop(TestProviderView);
-
-    // Activate TestProvider view
-    TestProviderView->ActivateViewL(TestProviderView->ViewId());
-*/
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CTestProviderNaviView& CTestProviderAppUi::ShowNaviViewL()
-    {
-    if ( !iNaviView )
-        {
-        _LIT( KNavigation, "Navigation" );
-        SetNaviPaneTitleL( KNavigation );
-        
-        iNaviView = CTestProviderNaviView::NewL( ClientRect() );
-        AddToStackL( iNaviView );
-        }
-    return *iNaviView;    
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CTestProviderMapView& CTestProviderAppUi::ShowMapViewL()
-    {
-    if ( !iMapView )
-        {
-        _LIT( KMapView, "MapView" );
-        SetNaviPaneTitleL( KMapView );
-        
-        iMapView = CTestProviderMapView::NewL( ClientRect() );
-        AddToStackL( iMapView );
-        }
-    return *iMapView;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TBool CTestProviderAppUi::IsChainedMode()
-    {
-    return ( iParentWg != 0 );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TBool CTestProviderAppUi::IsAnyViewOpen()
-    {
-    return iMapView || iNaviView;
-    }
-
-// ----------------------------------------------------------------------------
-// ----------------------------------------------------------------------------
-//
-CEikStatusPane* CTestProviderAppUi::StatusPane()
-    {
-    return CEikonEnv::Static()->AppUiFactory()->StatusPane();
-    }
-    
-// ----------------------------------------------------------------------------
-// ----------------------------------------------------------------------------
-//
-void CTestProviderAppUi::SetNaviPaneTitleL( const TDesC& aPaneTitle )
-    {
-    if ( !iNaviPane )
-        {
-        iNaviPane = static_cast<CAknNavigationControlContainer*>(
-                StatusPane()->ControlL( TUid::Uid( EEikStatusPaneUidNavi ) ) );
-        }
-
-    if ( iNaviLabel )
-        {
-        CAknNavigationDecorator* naviLabel = iNaviPane->CreateNavigationLabelL( aPaneTitle );
-        CleanupStack::PushL( naviLabel );
-
-        iNaviPane->ReplaceL( *iNaviLabel, *naviLabel );
-
-        delete iNaviLabel;
-        iNaviLabel = naviLabel;
-
-        CleanupStack::Pop( naviLabel );
-        }
-    else
-        {
-        iNaviLabel = iNaviPane->CreateNavigationLabelL( aPaneTitle );
-        iNaviPane->PushL( *iNaviLabel );
-        }
-    }    
-/*
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CTestProviderAppUi::CShutter::CShutter( CTestProviderAppServer& aServer ) 
-: CTimer( CActive::EPriorityIdle ),
-  iServer( aServer )
-    {
-    CActiveScheduler::Add( this );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CTestProviderAppUi::CShutter::ConstructL()
-    {
-    CTimer::ConstructL();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CTestProviderAppUi::CShutter::RunL()
-    {
-    if ( iServer.IsFree() )
-        {
-        iAppUi.Exit( EAknCmdExit );
-        }
-    else
-        {
-        Go();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CTestProviderAppUi::CShutter::Go()
-    {
-    const TTimeIntervalMicroSeconds32 KShutdownDelay = 2 * 1000 * 1000;
-    iShutter->After( KShutdownDelay );
-    }
-*/    
\ No newline at end of file
--- a/locsrv_plat/map_image_api/tsrc/testprovider/src/testproviderappview.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Application View for map and navigation test provider
-*
-*/
-
-
-#include <coemain.h>
-#include <aknlists.h>
-#include <barsread.h>
-
-#include "testproviderappview.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CTestProviderAppView::NewL()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CTestProviderAppView* CTestProviderAppView::NewL( const TRect& aRect )
-    {
-    CTestProviderAppView* self = CTestProviderAppView::NewLC( aRect );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CTestProviderAppView::NewLC()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CTestProviderAppView* CTestProviderAppView::NewLC( const TRect& aRect )
-    {
-    CTestProviderAppView* self = new ( ELeave ) CTestProviderAppView;
-    CleanupStack::PushL( self );
-    self->ConstructL( aRect );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CTestProviderAppView::ConstructL()
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CTestProviderAppView::ConstructL( const TRect& aRect )
-    {
-    // Create a window for this application view
-    CreateWindowL();
-
-    // Set the windows size
-    SetRect( aRect );
-
-    // Activate the window, which makes it ready to be drawn
-    ActivateL();
-    }
-
-// -----------------------------------------------------------------------------
-// CTestProviderAppView::CTestProviderAppView()
-// C++ default constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CTestProviderAppView::CTestProviderAppView()
-    {
-    // No implementation required
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTestProviderAppView::~CTestProviderAppView()
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CTestProviderAppView::~CTestProviderAppView()
-    {
-    //delete iList;
-    //iList = NULL;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTestProviderAppView::Draw()
-// Draws the display.
-// -----------------------------------------------------------------------------
-//
-void CTestProviderAppView::Draw( const TRect& /*aRect*/ ) const
-    {
-    // Get the standard graphics context
-    CWindowGc& gc = SystemGc();
-
-    // Gets the control's extent
-    TRect rect = Rect();
-
-    // Clears the screen
-    gc.Clear( rect );
-    }
-
--- a/locsrv_plat/map_image_api/tsrc/testprovider/src/testprovidercoordconverter.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-/*
-* Copyright (c) 2004-2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CTestProviderCoordConverter class implementation
-*
-*/
-
-
-#include <e32base.h>
-
-#include "debug.h"
-#include "testprovidercoordconverter.h"
-
-// ========================== MEMBER FUNCTIONS ===============================
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CTestProviderCoordConverter* CTestProviderCoordConverter::NewL()
-    {
-    CTestProviderCoordConverter* self = new (ELeave) CTestProviderCoordConverter;
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CTestProviderCoordConverter::CTestProviderCoordConverter()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CTestProviderCoordConverter::~CTestProviderCoordConverter()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-TInt CTestProviderCoordConverter::GetImageCoordinate( 
-    const TCoordinate& aWorldCoordinate, 
-    TPoint& aImagePoint )
-    {
-    const TMnMapImageParams& params = MapImageParams();
-    TReal lat = aWorldCoordinate.Latitude();
-    TReal lon = aWorldCoordinate.Longitude();
-    
-    switch ( params.ImageType() )
-        {
-        case TMnMapImageParams::ETypeVectorMap:
-        case TMnMapImageParams::ETypeSatelliteImage:
-            {
-            if ( lat < 0 || lat > params.Size().iWidth ||
-                 lon < 0 || lon > params.Size().iHeight )
-                {
-                return KErrUnknown;
-                }
-            break;
-            }
-        default:
-            return KErrArgument;
-        }
-    aImagePoint.iX = aWorldCoordinate.Latitude();
-    aImagePoint.iY = aWorldCoordinate.Longitude();
-    return KErrNone;    
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-TInt CTestProviderCoordConverter::GetWorldCoordinate( 
-    const TPoint& aImagePoint, 
-    TCoordinate& aWorldCoordinate )
-    {
-    const TMnMapImageParams& params = MapImageParams();
-    switch ( params.ImageType() )
-        {
-        case TMnMapImageParams::ETypeVectorMap:
-        case TMnMapImageParams::ETypeSatelliteImage:
-            {
-            if ( aImagePoint.iX < -180 || aImagePoint.iX > 180 ||
-                 aImagePoint.iY < -90  || aImagePoint.iY > 90 )
-                {
-                return KErrUnknown;
-                }
-            break;
-            }
-        default:
-            return KErrArgument;
-        }
-    aWorldCoordinate.SetCoordinate( aImagePoint.iX, aImagePoint.iY );
-    return KErrNone;    
-    }
--- a/locsrv_plat/map_image_api/tsrc/testprovider/src/testproviderdocument.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/*
-* Copyright (c) 2004-2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CTestProviderDocument
-*
-*/
-
-
-#include "testproviderappui.h"
-#include "testproviderdocument.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CTestProviderDocument::CTestProviderDocument(CEikApplication& aApp) 
-    : CAknDocument(aApp) 
-    {
-    }   
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CTestProviderDocument::ConstructL()
-    {
-    }    
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CTestProviderDocument* CTestProviderDocument::NewL( CEikApplication& aApp )
-    {
-    CTestProviderDocument* self = new (ELeave) CTestProviderDocument(aApp);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CTestProviderDocument::~CTestProviderDocument()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CEikAppUi* CTestProviderDocument::CreateAppUiL()
-    {
-    // Create the application user interface, and return a pointer to it,
-    // the framework takes ownership of this object
-    CEikAppUi* appUi = new (ELeave) CTestProviderAppUi;
-    return appUi;
-    }
-
-
--- a/locsrv_plat/map_image_api/tsrc/testprovider/src/testproviderdump.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,246 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Utility class for map and navigation test provider
-*
-*/
-
-
-#include <s32file.h> 
-#include <e32property.h> 
-
-#include <coemain.h>
-#include <aknlists.h>
-#include <barsread2.h>
-#include <barsc2.h> 
-
-#include <lbsposition.h>
-#include <lbspositioninfo.h>
-
-#include <aiwgenericparam.h>
-
-#include <epos_cposlandmark.h>
-#include <epos_cposlandmarkdatabase.h>
-#include <epos_poslandmarkserialization.h>
-
-#include <mngeocoder.h>
-#include <mnmapview.h>
-#include <mnnavigator.h>
-
-#include <mnaiwservices.h>
-
-#include <mntestprovider.rsg>
-
-#include "debug.h"
-#include "testproviderdump.h"
-
-_LIT( KDumpFileName, "c:\\mntestprovider.dump");
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CTestProviderDump::CTestProviderDump()
-    { 
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CTestProviderDump::~CTestProviderDump()
-    {
-    delete iList;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CTestProviderDump* CTestProviderDump::NewLC()
-    {
-    CTestProviderDump* self = new (ELeave) CTestProviderDump();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CTestProviderDump::ConstructL()
-    {
-    iList = CAiwGenericParamList::NewL();
-    AddTimeStampL();    
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CTestProviderDump::AddTimeStampL()
-    {
-    TTime now;
-    now.UniversalTime();
-
-    TAiwGenericParam param( EGenericParamDateTime, TAiwVariant( now ) );
-    iList->AppendL( param );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CTestProviderDump::AddRunModeL( TBool aIsChainedMode )
-    {
-    TMnAiwCommonOptionsParam options;
-    options.iRunChained = aIsChainedMode;
-
-    TPckg<TMnAiwCommonOptionsParam> pack( options );
-    
-    TAiwGenericParam param( EGenericParamMnCommonOptions, TAiwVariant( pack ) );
-    iList->AppendL( param );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CTestProviderDump::AddLandmarkL( const CPosLandmark& aLandmark )
-    {
-    HBufC8* lmBuf = PosLandmarkSerialization::PackL( aLandmark );
-    CleanupStack::PushL( lmBuf );
-
-    TAiwGenericParam param( EGenericParamLandmark, TAiwVariant( *lmBuf ) );
-    iList->AppendL( param );
-
-    CleanupStack::PopAndDestroy( lmBuf );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CTestProviderDump::AddLandmarkL( const TDesC& aUri, TPosLmItemId aId )
-    {
-    TAiwGenericParam uri( EGenericParamLandmarkDatabase, TAiwVariant( aUri ) );
-    iList->AppendL( uri );
-
-    TAiwGenericParam id( EGenericParamLandmarkId, TAiwVariant( aId ) );
-    iList->AppendL( id );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CTestProviderDump::AddLandmarkListL( const TDesC& aUri, TArray<TPosLmItemId> aItemIds )
-    {
-    TAiwGenericParam param( EGenericParamLandmarkDatabase, TAiwVariant( aUri ) );
-    iList->AppendL( param );
-
-    for ( TInt i = 0; i < aItemIds.Count(); i++ )
-        {
-        TAiwGenericParam param( EGenericParamLandmarkId, TAiwVariant( aItemIds[i] ) );
-        iList->AppendL( param );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CTestProviderDump::AddMapViewOptionsL( 
-    TUint32 aOptions,
-    TUint32 aCurrentLocationOption,
-    TReal aRadius,
-    TCoordinate aCenterPoint )
-    {
-    TMnAiwMapViewOptionsParam options;
-    options.iOptions = aOptions;
-    options.iCurrentLocationOption = aCurrentLocationOption;
-    options.iRadius = aRadius;
-    options.iCenterPoint = aCenterPoint;
-    
-    TPckg<TMnAiwMapViewOptionsParam> pack( options );
-    
-    TAiwGenericParam param( EGenericParamMnMapViewOptions, TAiwVariant( pack ) );
-    iList->AppendL( param );
-    }
-    
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CTestProviderDump::AddMapImageOptionsL( TMapImageOptions& aOptions )
-    {
-    TPckg<TMapImageOptions> pack( aOptions );
-    TAiwGenericParam param( EGenericParamUnspecified, TAiwVariant( pack ) );
-    iList->AppendL( param );
-    }    
-#endif
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CTestProviderDump::AddRequestTextL( const TDesC& aText )
-    {
-    TAiwGenericParam text( EGenericParamRequestText, TAiwVariant( aText ) );
-    iList->AppendL( text );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CTestProviderDump::AddGeocodingOptionsL( TUint32 aOptions )
-    {
-    TMnAiwGeocodingOptionsParam options;
-    options.iOptions = aOptions;
-    
-    TPckg<TMnAiwGeocodingOptionsParam> pack( options );
-    
-    TAiwGenericParam param( EGenericParamMnGeocodingOptions, TAiwVariant( pack ) );
-    iList->AppendL( param );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CTestProviderDump::AddAddressL( const TDesC& aAddress )
-    {
-    TAiwGenericParam address( EGenericParamRequestText, TAiwVariant( aAddress ) );
-    iList->AppendL( address );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CTestProviderDump::CommitL()
-    {
-    RFs& fs = CEikonEnv::Static()->FsSession();
-    
-    RFileWriteStream stream;
-    TInt err = KErrInUse; 
-    TInt attempts = 5;
-    while ( err == KErrInUse && --attempts >= 0 )
-        {
-        err = stream.Replace( fs, KDumpFileName, EFileStream | EFileWrite );
-        if ( err && attempts >= 0 )
-            {
-            User::After( 100*1000 ); // 0.1 sec
-            }
-        }
-    if ( err )
-        {
-        LOG1("Couldn't open dump file, error %d", err);
-        User::Leave( err );
-        }
-    CleanupClosePushL( stream );
-    
-    iList->ExternalizeL( stream );
-    
-    CleanupStack::PopAndDestroy( &stream );
-    }
--- a/locsrv_plat/map_image_api/tsrc/testprovider/src/testprovidergeocodingservice.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,392 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  ÑTestProviderGeocodingServiceBase class implementation
-*
-*/
-
-
-#include <e32base.h>
-#include <e32math.h>
-#include <e32property.h>
-
-#include <lbsposition.h>
-
-#include <epos_cposlandmark.h>
-#include <epos_poslandmarkserialization.h>
-
-#include <mngeocodingservicebase.h>
-#include "debug.h"
-#include "testproviderdump.h"
-#include "testproviderappui.h"
-#include "testproviderappserver.h"
-#include "testprovidergeocodingservice.h"
-
-const TInt KMaxCoordStrSize = KMaxPrecision + 5;
-const TTimeIntervalMicroSeconds32 KProcessingDelay = 200 * 1000;
-
-// ======== LOCAL FUNCTIONS ========
-
-void CoordinateToString(
-    TReal aCoord,
-    TDes& aStr )
-    {
-    _LIT( KNan, "<NaN>" );
-    _LIT( KOutOfBounds, "<oob>" );
-    _LIT( KCoordFormat, "%.1f" );
-
-    if ( Math::IsNaN( aCoord ) )
-        {
-        aStr.Copy( KNan );
-        }
-    else if ( Abs( aCoord ) > 360 )
-        {
-        aStr.Copy( KOutOfBounds );
-        }
-    else
-        {
-        aStr.Format( KCoordFormat, aCoord );
-        }
-    }
-    
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CTestProviderGeocodingService* CTestProviderGeocodingService::NewL()
-    {
-    CTestProviderGeocodingService* self = new (ELeave) CTestProviderGeocodingService();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CTestProviderGeocodingService::CTestProviderGeocodingService()
-    {
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CTestProviderGeocodingService::~CTestProviderGeocodingService()
-    {
-    iProcessor->Cancel();
-    delete iProcessor;
-
-    delete iLandmark;
-    delete iPlainAddress;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CTestProviderGeocodingService::ConstructL()
-    {
-    BaseConstructL();
-    
-    iProcessor = CPeriodic::NewL( CActive::EPriorityIdle );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CTestProviderGeocodingService::LeaveIfBusyL()
-    {
-    if ( iProcessor->IsActive() )
-        {
-        LOG("CTestProviderMapViewService::LeaveIfBusyL BUSY");
-        User::Leave( KErrInUse );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CTestProviderGeocodingService::LeaveIfInstructedL()
-    {
-    RProperty property;
-    TInt code = KErrNone;
-    TInt err = property.Get( TUid::Uid( KPropCategoryUid ), KPropKeyErrorCode, code );
-    if ( err == KErrNone )
-        {
-        User::LeaveIfError( code );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CTestProviderGeocodingService::StartProcessingL()
-    {
-    iProcessor->Start( KProcessingDelay, KProcessingDelay,
-        TCallBack( CTestProviderGeocodingService::GeocodingProcessingCallBack, this ) );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-TInt CTestProviderGeocodingService::GeocodingProcessingCallBack( TAny* aPtr )
-    {
-    CTestProviderGeocodingService* self =    
-        static_cast<CTestProviderGeocodingService*> ( aPtr );
-        
-    TRAP_IGNORE( self->HandleGeocodingCompletedL() );
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CTestProviderGeocodingService::HandleGeocodingCompletedL()
-    {
-    if ( GetTestCommand() != EServerActionDelayCompletion )
-        {
-        iProcessor->Cancel();
-        TInt err = KErrNone;
-        TRAP( err, FinishProcessingL() );
-        if ( err )
-            {
-            CompleteRequest( err );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-TInt CTestProviderGeocodingService::GetTestCommand()
-    {
-    CTestProviderAppServer* server = (CTestProviderAppServer*) Server();
-    TInt command = server->GetTestCommand();
-    return command;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CTestProviderGeocodingService::FinishProcessingL()
-    {
-    LOG1("FinishProcessingL in, cursvc %d", iCurrentService);
-    TCoordinate coord;
-    switch ( iCurrentService )
-        {
-        case ECoordToAddr:
-            {
-            TBuf<KMaxCoordStrSize> coordStr;
-            
-            TLocality loc;
-            iLandmark->GetPosition( loc );
-            
-            CoordinateToString( loc.Latitude(), coordStr );
-            iLandmark->SetPositionFieldL( EPositionFieldCountry, coordStr );
-
-            CoordinateToString( loc.Longitude(), coordStr );
-            iLandmark->SetPositionFieldL( EPositionFieldCity, coordStr );
-            }
-            break;
-
-        case EAddrToCoord:
-            coord.SetCoordinate( 90, 0 ); // North
-            iLandmark->SetPositionL( TLocality( coord, 0 ) );
-            break;
-
-        case EPlainToCoord:
-            coord.SetCoordinate( -90, 0 ); // South
-            iLandmark->SetPositionL( TLocality( coord, 0 ) );
-            break;
-            
-        default:            
-            User::Leave( KErrGeneral );
-        }
-
-    iCurrentService = ENone;        
-    CompleteGeocodingRequestL( *iLandmark );
-    LOG("FinishProcessingL out");
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CTestProviderGeocodingService::HandleTestCommandL( TInt aCommand )
-    {
-    LOG1("CTestProviderGeocodingService::HandleTestCommandL in, %d", aCommand );
-    switch ( aCommand )
-        {
-        case EServerActionCompleteGeocoding:
-            {
-            CPosLandmark* lm = CPosLandmark::NewLC();
-            CompleteGeocodingRequestL( *lm );
-            CleanupStack::PopAndDestroy( lm );
-            }
-            break;
-            
-        case EServerActionBaseComplete:
-            {
-            CompleteRequest( KErrCompletion );
-            }
-            break;
-
-        default:
-            break;    
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CTestProviderGeocodingService::DumpDataL(
-    const CPosLandmark& aLandmark )
-    {
-    CTestProviderDump* dump = CTestProviderDump::NewLC();
-
-    CTestProviderAppServer* server = ( CTestProviderAppServer* ) Server();
-    CTestProviderAppUi* ui = server->AppUi();
-    dump->AddRunModeL( ui->IsChainedMode() );
-
-    dump->AddGeocodingOptionsL( Options() );
-    dump->AddLandmarkL( aLandmark );
-    dump->CommitL();
-    CleanupStack::PopAndDestroy( dump );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CTestProviderGeocodingService::DumpDataL(
-    const TDesC& aAddress )
-    {
-    CTestProviderDump* dump = CTestProviderDump::NewLC();
-
-    CTestProviderAppServer* server = ( CTestProviderAppServer* ) Server();
-    CTestProviderAppUi* ui = server->AppUi();
-    dump->AddRunModeL( ui->IsChainedMode() );
-
-    dump->AddGeocodingOptionsL( Options() );
-    dump->AddAddressL( aAddress );
-    dump->CommitL();
-    CleanupStack::PopAndDestroy( dump );
-    }
-
-// ---------------------------------------------------------------------------
-// From class CMnGeocodingServiceBase
-// ---------------------------------------------------------------------------
-//
-void CTestProviderGeocodingService::HandleFindAddressByCoordinateL(
-    const CPosLandmark& aLandmark)
-    {
-    LeaveIfInstructedL();
-    LeaveIfBusyL();
-
-    DumpDataL( aLandmark );
-
-    TLocality loc;
-    if ( aLandmark.GetPosition( loc ) != KErrNone )
-        {
-        User::Leave( KErrArgument );
-        }
-
-    delete iLandmark;
-    iLandmark = NULL;
-    iLandmark = CPosLandmark::NewL(aLandmark);
-    
-    iCurrentService = ECoordToAddr;
-    StartProcessingL();
-    }
-        
-// ---------------------------------------------------------------------------
-// From class CMnGeocodingServiceBase
-// ---------------------------------------------------------------------------
-//
-void CTestProviderGeocodingService::HandleFindCoordinateByAddressL(
-    const CPosLandmark& aLandmark)
-    {
-    LeaveIfInstructedL();
-    LeaveIfBusyL();
-
-    DumpDataL( aLandmark );
-
-    // verify that landmark has address info
-    TBool valid = EFalse;
-    TPositionFieldId fieldId = aLandmark.FirstPositionFieldId();
-    while ( fieldId != EPositionFieldNone )
-        {
-        if ( fieldId > EPositionFieldAddressCapabilitiesBegin &&
-             fieldId < EPositionFieldNMEACapabilitiesBegin)
-            {
-            TPtrC field;
-            aLandmark.GetPositionField( fieldId, field );
-            if ( field.Length() )
-                {
-                valid = ETrue;
-                break;
-                }
-            }
-        fieldId = aLandmark.NextPositionFieldId( fieldId );
-        }
-        
-    if ( !valid )
-        {
-        User::Leave( KErrArgument );
-        }
-  
-    delete iLandmark;
-    iLandmark = NULL;
-    iLandmark = CPosLandmark::NewL( aLandmark );
-    
-    iCurrentService = EAddrToCoord;
-    StartProcessingL();
-    }
-
-// ---------------------------------------------------------------------------
-// From class CMnGeocodingServiceBase
-// ---------------------------------------------------------------------------
-//
-void CTestProviderGeocodingService::HandleFindCoordinateByAddressL(
-    const TDesC& aAddress)
-    {
-    LeaveIfInstructedL();
-    LeaveIfBusyL();
-
-    DumpDataL( aAddress );
-
-    if ( aAddress.Length() == 0 )
-        {
-        User::Leave( KErrArgument );
-        }
-
-    delete iPlainAddress;
-    iPlainAddress = NULL;
-    iPlainAddress = aAddress.AllocL();
-    
-    delete iLandmark;
-    iLandmark = NULL;
-    iLandmark = CPosLandmark::NewL();
-    
-    iCurrentService = EPlainToCoord;
-    StartProcessingL();
-    }
-
-// ---------------------------------------------------------------------------
-// From class CMnServiceBase
-// ---------------------------------------------------------------------------
-//
-void CTestProviderGeocodingService::DoCancel()
-    {
-    iProcessor->Cancel();
-    iCurrentService = ENone;
-    }
--- a/locsrv_plat/map_image_api/tsrc/testprovider/src/testprovidermapimageservice.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,310 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  ÑTestProviderMapImageServiceBase class implementation
-*
-*/
-
-
-#include <e32base.h>
-#include <e32math.h>
-#include <e32property.h>
-
-#include <lbsposition.h>
-
-#include <epos_cposlandmark.h>
-#include <epos_poslandmarkserialization.h>
-
-#include <mnmapimage.h>
-#include <mnmapimageparams.h>
-#include <mnmapimageservicebase.h>
-
-#include "debug.h"
-#include "testproviderdump.h"
-#include "testproviderappui.h"
-#include "testproviderappserver.h"
-#include "testprovidermapimageservice.h"
-
-const TInt KMaxCoordStrSize = KMaxPrecision + 5;
-const TTimeIntervalMicroSeconds32 KProcessingDelay = 200 * 1000;
-
-// ======== LOCAL FUNCTIONS ========
-
-extern void CoordinateToString( TReal aCoord, TDes& aStr );
-    
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CTestProviderMapImageService* CTestProviderMapImageService::NewL()
-    {
-    CTestProviderMapImageService* self = new (ELeave) CTestProviderMapImageService();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CTestProviderMapImageService::CTestProviderMapImageService()
-    {
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CTestProviderMapImageService::~CTestProviderMapImageService()
-    {
-    iProcessor->Cancel();
-    delete iProcessor;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CTestProviderMapImageService::ConstructL()
-    {
-    BaseConstructL();
-    
-    iProcessor = CPeriodic::NewL( CActive::EPriorityIdle );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CTestProviderMapImageService::LeaveIfBusyL()
-    {
-    if ( iProcessor->IsActive() )
-        {
-        LOG("CTestProviderMapViewService::LeaveIfBusyL BUSY");
-        User::Leave( KErrInUse );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CTestProviderMapImageService::LeaveIfInstructedL()
-    {
-    RProperty property;
-    TInt code = KErrNone;
-    TInt err = property.Get( TUid::Uid( KPropCategoryUid ), KPropKeyErrorCode, code );
-    if ( err == KErrNone )
-        {
-        User::LeaveIfError( code );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CTestProviderMapImageService::StartProcessingL()
-    {
-    iProcessor->Start( KProcessingDelay, KProcessingDelay,
-        TCallBack( CTestProviderMapImageService::MapImageProcessingCallBack, this ) );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-TInt CTestProviderMapImageService::MapImageProcessingCallBack( TAny* aPtr )
-    {
-    CTestProviderMapImageService* self =    
-        static_cast<CTestProviderMapImageService*> ( aPtr );
-        
-    TRAP_IGNORE( self->HandleMapImageCompletedL() );
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CTestProviderMapImageService::HandleMapImageCompletedL()
-    {
-    if ( GetTestCommand() != EServerActionDelayCompletion )
-        {
-        iProcessor->Cancel();
-        TInt err = KErrNone;
-        TRAP( err, FinishProcessingL() );
-        if ( err )
-            {
-            CompleteRequest( err );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-TInt CTestProviderMapImageService::GetTestCommand()
-    {
-    CTestProviderAppServer* server = (CTestProviderAppServer*) Server();
-    return server->GetTestCommand();
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CTestProviderMapImageService::RenderL()
-    {
-    TMnMapImageParams& params = MapImageParams();
-
-    if ( params.Direction() != 0 )
-        {
-        User::Leave( KErrNotSupported );
-        }
-
-    CFbsBitmap& bitmap = TargetBitmap();
-
-    CFbsBitmapDevice* bitmapDevice = 
-      CFbsBitmapDevice::NewL( &( bitmap ) );
-    CleanupStack::PushL( bitmapDevice );
-
-    CFbsBitGc* gc = NULL;
-    User::LeaveIfError( bitmapDevice->CreateContext( gc ) );
-    CleanupStack::PushL( gc );
-
-    switch ( params.ImageType() ) 
-        {
-        case TMnMapImageParams::ETypeSatelliteImage:
-            gc->SetBrushColor( KRgbGreen );
-            break;  
-        default:
-            params.SetImageType( TMnMapImageParams::ETypeVectorMap );
-        case TMnMapImageParams::ETypeVectorMap:
-            gc->SetBrushColor( KRgbYellow );
-            break;
-        }
-        
-    // Very simple map example
-    gc->Clear( TargetRect() ); // clear the area
-
-    // cleanup
-    CleanupStack::PopAndDestroy( gc );
-    CleanupStack::PopAndDestroy( bitmapDevice );
-
-    // complete request
-    params.SetProjectionId(0);
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CTestProviderMapImageService::FinishProcessingL()
-    {
-    LOG1("FinishProcessingL in, cursvc %d", iCurrentService);
-    TCoordinate coord;
-    switch ( iCurrentService )
-        {
-        case ERender:
-            {
-            RenderL();
-            //TargetBitmap().Clear();
-            }
-            break;
-
-        default:            
-            User::Leave( KErrGeneral );
-        }
-
-    iCurrentService = ENone;        
-    CompleteRendering();
-    LOG("FinishProcessingL out");
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CTestProviderMapImageService::HandleTestCommandL( TInt aCommand )
-    {
-    LOG1("CTestProviderMapImageService::HandleTestCommandL in, %d", aCommand );
-    switch ( aCommand )
-        {
-        case EServerActionCompleteRendering:
-            {
-            MapImageParams().SetImageType( TMnMapImageParams::ETypeVectorMap );
-            CompleteRendering();
-            }
-            break;
-            
-        case EServerActionBaseComplete:
-            {
-            CompleteRequest( KErrCompletion );
-            }
-            break;
-
-        default:
-            break;    
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CTestProviderMapImageService::DumpDataL()
-    {
-    LOG("DumpDataL in");
-    if ( GetTestCommand() == EServerActionDisableDump )
-        {
-        LOG("DumpDataL disabled, out");
-        return;
-        }
-
-    CTestProviderDump* dump = CTestProviderDump::NewLC();
-    
-    CTestProviderAppServer* server = ( CTestProviderAppServer* ) Server();
-    CTestProviderAppUi* ui = server->AppUi();
-    dump->AddRunModeL( ui->IsChainedMode() );
-
-    TMapImageOptions options;
-    options.iParams = MapImageParams();
-    options.iBitmapHandle = TargetBitmap().Handle();
-    options.iBitmapSize = TargetBitmap().SizeInPixels();
-    options.iTargetOrigin = TargetRect().iTl;
-    options.iShowOptions = ShowOptions();
-
-    dump->AddMapImageOptionsL( options );
-
-    dump->CommitL();
-    CleanupStack::PopAndDestroy( dump );
-    LOG("DumpDataL out");
-    }
-    
-// ---------------------------------------------------------------------------
-// From class CMnMapImageServiceBase
-// ---------------------------------------------------------------------------
-//
-void CTestProviderMapImageService::HandleRenderingL()
-    {
-    LeaveIfInstructedL();
-    LeaveIfBusyL();
-
-    DumpDataL();
-
-    iCurrentService = ERender;
-    StartProcessingL();
-    }
-        
-// ---------------------------------------------------------------------------
-// From class CMnServiceBase
-// ---------------------------------------------------------------------------
-//
-void CTestProviderMapImageService::DoCancel()
-    {
-    iProcessor->Cancel();
-    iCurrentService = ENone;
-    }
-
--- a/locsrv_plat/map_image_api/tsrc/testprovider/src/testprovidermapview.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Map View for map and navigation test provider
-*
-*/
-
-
-
-#include <coemain.h>
-#include <aknlists.h>
-#include <barsread.h>
-
-#include "debug.h"
-#include "testprovidermapview.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CTestProviderMapView* CTestProviderMapView::NewL( const TRect& aRect )
-    {
-    CTestProviderMapView* self = CTestProviderMapView::NewLC( aRect );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CTestProviderMapView* CTestProviderMapView::NewLC( const TRect& aRect )
-    {
-    CTestProviderMapView* self = new ( ELeave ) CTestProviderMapView;
-    CleanupStack::PushL( self );
-    self->ConstructL( aRect );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CTestProviderMapView::ConstructL()
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CTestProviderMapView::ConstructL( const TRect& aRect )
-    {
-    // Create a window for this application view
-    CreateWindowL();
-
-    // Set the windows size
-    SetRect( aRect );
-
-    // Activate the window, which makes it ready to be drawn
-    ActivateL();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CTestProviderMapView::CTestProviderMapView()
-    {
-    }
-
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CTestProviderMapView::~CTestProviderMapView()
-    {
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTestProviderMapView::Draw()
-// Draws the display.
-// -----------------------------------------------------------------------------
-//
-void CTestProviderMapView::Draw( const TRect& /*aRect*/ ) const
-    {
-    // Get the standard graphics context
-    CWindowGc& gc = SystemGc();
-
-    // Gets the control's extent
-    TRect rect = Rect();
-
-    // Clears the screen
-    gc.Clear( rect );
-    }
-
--- a/locsrv_plat/map_image_api/tsrc/testprovider/src/testprovidermapviewservice.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,355 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  ÑTestProviderMapViewServiceBase class implementation
-*
-*/
-
-
-#include <e32base.h>
-#include <eikenv.h>
-#include <w32std.h>
-#include <e32property.h>
-
-#include <lbsposition.h>
-
-#include <epos_cposlandmark.h>
-#include <epos_cposlandmarkdatabase.h>
-
-#include "debug.h"
-#include <mnmapviewservicebase.h>
-
-#include "testproviderappui.h"
-#include "testprovidermapview.h"
-#include "testproviderappserver.h"
-#include "testproviderdump.h"
-
-#include "testprovidermapviewservice.h"
-
-const TTimeIntervalMicroSeconds32 KProcessingDelay = 200 * 1000;
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CTestProviderMapViewService* CTestProviderMapViewService::NewL()
-    {
-    CTestProviderMapViewService* self = new (ELeave) CTestProviderMapViewService();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CTestProviderMapViewService::CTestProviderMapViewService()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CTestProviderMapViewService::~CTestProviderMapViewService()
-    {
-    delete iLandmark;
-    if ( iProcessor )
-        {
-        iProcessor->Cancel();
-        delete iProcessor;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CTestProviderMapViewService::ConstructL()
-    {
-    BaseConstructL();
-    iProcessor = CPeriodic::NewL( CActive::EPriorityIdle );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CTestProviderMapViewService::LeaveIfBusyL()
-    {
-    if ( iProcessor->IsActive() )
-        {
-        LOG("CTestProviderMapViewService::LeaveIfBusyL BUSY");
-        User::Leave( KErrInUse );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CTestProviderMapViewService::LeaveIfInstructedL()
-    {
-    RProperty property;
-    TInt code = KErrNone;
-    TInt err = property.Get( TUid::Uid( KPropCategoryUid ), KPropKeyErrorCode, code );
-    if ( err == KErrNone )
-        {
-        User::LeaveIfError( code );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CTestProviderMapViewService::StartProcessingL()
-    {
-    iProcessor->Start( KProcessingDelay, KProcessingDelay,
-        TCallBack( CTestProviderMapViewService::SelectionIdleCallBack, this ) );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-TInt CTestProviderMapViewService::SelectionIdleCallBack( TAny* aPtr )
-    {
-    CTestProviderMapViewService* self =
-        static_cast<CTestProviderMapViewService*> ( aPtr );
-
-    TRAP_IGNORE( self->HandleSelectionL() );
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CTestProviderMapViewService::HandleSelectionL()
-    {
-    if ( GetTestCommand() != EServerActionDelayCompletion )
-        {
-        iProcessor->Cancel();
-        TInt err = KErrNone;
-        TRAP( err, DoSelectionL() );
-        if ( err )
-            {
-            CompleteRequest( err );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-TInt CTestProviderMapViewService::GetTestCommand()
-    {
-    CTestProviderAppServer* server = (CTestProviderAppServer*) Server();
-    TInt command = server->GetTestCommand();
-    return command;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CTestProviderMapViewService::HandleTestCommandL( TInt aCommand )
-    {
-    LOG1("CTestProviderMapViewService::HandleTestCommandL in, %d", aCommand );
-    switch ( aCommand )
-        {
-        case EServerActionBaseComplete:
-            CompleteRequest( KErrCompletion );
-            break;
-            
-        case EServerActionCompleteSelectionFree:
-            {
-            CPosLandmark* lm = CPosLandmark::NewLC();
-            CompleteSelectionRequestL( *lm );
-            CleanupStack::PopAndDestroy( lm );
-            }
-            break;
-            
-        case EServerActionCompleteSelectionIndex:
-            CompleteSelectionRequest( 0 );
-            break;
-
-        case EServerActionCompleteSelectionNegativeIndex:
-            CompleteSelectionRequest( -1 );
-            break;
-            
-        case EServerActionCompleteSelectionLinked:
-            CompleteSelectionRequest( 0, 1 );
-            break;
-            
-        case EServerActionCompleteSelectionWrongLinked:
-            CompleteSelectionRequest( 0, 1000 );
-            break;
-            
-        case EServerActionCompleteSelectionNegativeDbIndex:
-            CompleteSelectionRequest( 0, -1 );
-            break;
-            
-        default:
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CTestProviderMapViewService::DoSelectionL()
-    {
-    LOG("DoSelectionL in");
-    
-    HandleTestCommandL( GetTestCommand() );
-    
-    if ( Options() & CMnMapView::EOptionRestrictSelection )
-        {
-        LOG("MnTestProvider::HandleSelectFromMapL restricted");
-        if ( LandmarksToShowDatabases().Count() &&
-             LinkedLandmarksToShow( 0 ).Count() ) 
-            {
-            LOG("HandleSelectFromMapL taking first linked");
-            
-            // take first linked landmark from first database
-            TInt dbIndex = 0;
-            TPosLmItemId lmId = LinkedLandmarksToShow( dbIndex )[0];
-            CompleteSelectionRequest( lmId, dbIndex );
-            }
-        else if ( LandmarksToShow().Count() )
-            {
-            LOG("HandleSelectFromMapL taking first not linked");
-            // take first not linked landmark
-            CompleteSelectionRequest( 0 );
-            }
-        else
-            {
-            LOG("HandleSelectFromMapL restricted, but no landmarks");
-            // this shall never happen, because base implementation
-            // will check that landmarks are given if selection is restricted
-            User::Leave( KErrArgument );
-            }
-        }
-    else
-        {
-        // return random landmark
-        LOG("HandleSelectFromMapL returning random");
-        CPosLandmark* lm = CPosLandmark::NewLC();
-        
-        _LIT( KSelected, "RandomLandmark" );
-        lm->SetLandmarkNameL( KSelected );
-        
-        // north pole
-        lm->SetPositionL( TLocality( TCoordinate( -90, 0 ), 0 ) );
-        
-        CompleteSelectionRequestL( *lm );
-        CleanupStack::PopAndDestroy( lm );
-        }
-    LOG("DoSelectionL out");
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CTestProviderMapViewService::DumpDataL()
-    {
-    LOG("DumpDataL in");
-    if ( GetTestCommand() == EServerActionDisableDump )
-        {
-        LOG("DumpDataL disabled, out");
-        return;
-        }
-
-    CTestProviderDump* dump = CTestProviderDump::NewLC();
-    
-    CTestProviderAppServer* server = ( CTestProviderAppServer* ) Server();
-    CTestProviderAppUi* ui = server->AppUi();
-    dump->AddRunModeL( ui->IsChainedMode() );
-
-    TCoordinate center;
-    GetAreaCentralPoint( center );
-    dump->AddMapViewOptionsL( Options(), CurrentLocationOption(), AreaRadius(), center );
-    
-    dump->AddRequestTextL( SelectionRequestText() );
-    
-    // free landmarks
-    TArray<const CPosLandmark*> landmarks = LandmarksToShow();
-    for ( TInt i = 0; i < landmarks.Count(); i++ )
-        {
-        dump->AddLandmarkL( *(landmarks[i]) );
-        }
-    
-    // linked landmarks
-    TArray<const HBufC*> lmdbs = LandmarksToShowDatabases();
-    for ( TInt i = 0; i < lmdbs.Count(); i++ )
-        {
-        dump->AddLandmarkListL( *( lmdbs[i] ), LinkedLandmarksToShow( i ) );
-        }
-
-    dump->CommitL();
-    CleanupStack::PopAndDestroy( dump );
-    LOG("DumpDataL out");
-    }
-
-// ---------------------------------------------------------------------------
-// From class CMnMapViewServiceBase
-// ---------------------------------------------------------------------------
-//
-void CTestProviderMapViewService::HandleShowMapL()
-    {
-    LOG("HandleShowMapL in");
-    LeaveIfInstructedL();
-    DumpDataL();
-    
-    CTestProviderAppServer* server = ( CTestProviderAppServer* ) Server();
-    CTestProviderAppUi* ui = server->AppUi();
-    ui->ShowMapViewL();
-
-    LOG("HandleShowMapL out");
-    }
-        
-// ---------------------------------------------------------------------------
-// From class CMnMapViewServiceBase
-//
-//  Implementation differs from HandleShowMapL in a way that central point
-//  setting is ignored and current location is used instead as central point.
-// ---------------------------------------------------------------------------
-//
-void CTestProviderMapViewService::HandleShowCurrentLocationL()
-    {
-    LOG("HandleShowCurrentLocationL in");
-    LeaveIfInstructedL();
-    DumpDataL();
-    LOG("HandleShowCurrentLocationL out");
-    }
-
-// ---------------------------------------------------------------------------
-// From class CMnMapViewServiceBase
-// ---------------------------------------------------------------------------
-//
-void CTestProviderMapViewService::HandleSelectFromMapL()
-    {
-    LOG("HandleSelectFromMapL in");
-    LeaveIfInstructedL();
-    LeaveIfBusyL();
-
-    DumpDataL();
-
-    StartProcessingL();
-    LOG("HandleSelectFromMapL out");
-    }
-
-// ---------------------------------------------------------------------------
-// From class CMnServiceBase
-// ---------------------------------------------------------------------------
-//
-void CTestProviderMapViewService::DoCancel()
-    {
-    iProcessor->Cancel();
-    }
--- a/locsrv_plat/map_image_api/tsrc/testprovider/src/testprovidernavigationservice.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,116 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  ÑTestProviderNavigationServiceBase class implementation
-*
-*/
-
-
-#include <e32base.h>
-#include <eikenv.h>
-
-#include <lbsposition.h>
-
-#include <epos_cposlandmark.h>
-
-#include "debug.h"
-#include <mnnavigationservicebase.h>
-
-#include "testproviderappui.h"
-#include "testprovidernaviview.h"
-#include "testproviderappserver.h"
-#include "testproviderdump.h"
-
-#include "testprovidernavigationservice.h"
-
-extern CTestProviderAppUi* AppUi();
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CTestProviderNavigationService* CTestProviderNavigationService::NewL()
-    {
-    CTestProviderNavigationService* self = new (ELeave) CTestProviderNavigationService();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CTestProviderNavigationService::CTestProviderNavigationService()
-    {
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CTestProviderNavigationService::~CTestProviderNavigationService()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CTestProviderNavigationService::ConstructL()
-    {
-    BaseConstructL();
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CTestProviderNavigationService::HandleTestCommandL( TInt aCommand )
-    {
-    LOG1("CTestProviderNavigationService::HandleTestCommandL in, %d", aCommand );
-    }
-
-// ---------------------------------------------------------------------------
-// From class CMnNavigationServiceBase
-// ---------------------------------------------------------------------------
-//
-void CTestProviderNavigationService::HandleNavigateToL(
-    const CPosLandmark& aLandmark)
-    {
-    LOG("CTestProviderNavigationService::HandleNavigateToL in ");
-
-    CTestProviderAppServer* server = ( CTestProviderAppServer* ) Server();
-    CTestProviderAppUi* ui = server->AppUi();
-
-    CTestProviderDump* dump = CTestProviderDump::NewLC();
-    dump->AddRunModeL( ui->IsChainedMode() );
-    dump->AddLandmarkL( aLandmark );
-    dump->CommitL();
-    CleanupStack::PopAndDestroy( dump );
-    
-    ui->ShowNaviViewL();
-
-    CEikAppUi* parentUi = ui->ContainerAppUi();
-    LOG1("container UI: %d", parentUi );
-
-    LOG("CTestProviderNavigationService::HandleNavigateToL out");
-    }
-        
-// ---------------------------------------------------------------------------
-// From class CMnServiceBase
-// ---------------------------------------------------------------------------
-//
-void CTestProviderNavigationService::DoCancel()
-    {
-    }
--- a/locsrv_plat/map_image_api/tsrc/testprovider/src/testprovidernaviview.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Main View for map and navigation test provider
-*
-*/
-
-
-
-#include <coemain.h>
-#include <aknlists.h>
-#include <barsread.h>
-
-#include "testprovidernaviview.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CTestProviderNaviView* CTestProviderNaviView::NewL( const TRect& aRect )
-    {
-    CTestProviderNaviView* self = CTestProviderNaviView::NewLC( aRect );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CTestProviderNaviView* CTestProviderNaviView::NewLC( const TRect& aRect )
-    {
-    CTestProviderNaviView* self = new ( ELeave ) CTestProviderNaviView;
-    CleanupStack::PushL( self );
-    self->ConstructL( aRect );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CTestProviderNaviView::ConstructL()
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CTestProviderNaviView::ConstructL( const TRect& aRect )
-    {
-    // Create a window for this application view
-    CreateWindowL();
-
-    // Set the windows size
-    SetRect( aRect );
-
-    // Activate the window, which makes it ready to be drawn
-    ActivateL();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CTestProviderNaviView::CTestProviderNaviView()
-    { 
-    }
-
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CTestProviderNaviView::~CTestProviderNaviView()
-    {
-    }
-
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CTestProviderNaviView::Draw( const TRect& /*aRect*/ ) const
-    {
-    // Get the standard graphics context
-    CWindowGc& gc = SystemGc();
-
-    // Gets the control's extent
-    TRect rect = Rect();
-
-    // Clears the screen
-    gc.Clear( rect );
-    }
-
--- a/locsrv_plat/map_image_api/tsrc/testprovider/src/testproviderplugin.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2004-2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: map and navigation test provider plugin
-*
-*/
-
-
-#include <e32base.h>
-#include <ecom.h>
-#include <implementationproxy.h>
-
-#include "debug.h"
-#include "testprovidercoordconverter.h"
-
-// ========================== GLOBAL FUNCTIONS ===============================
-
-// ---------------------------------------------------------------------------
-// Table of implementations
-// ---------------------------------------------------------------------------
-//
-const TImplementationProxy ImplementationTable[] =
-    {
-    // Note! UID below is implementation UID, not DLL UID.
-    IMPLEMENTATION_PROXY_ENTRY( 0x03133036, CTestProviderCoordConverter::NewL ),
-    };
-
-// ---------------------------------------------------------------------------
-// Note this function must be exported at ordinal 1
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(
-    TInt& aTableCount)
-    {
-    aTableCount = 1;
-    return ImplementationTable;
-    }
--- a/locsrv_plat/map_image_conversion_plugin_api/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  File that exports the files belonging to 
-:                Map Image Conversion Plug-In API
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/mnpluginuids.hrh     MW_LAYER_PLATFORM_EXPORT_PATH(mnpluginuids.hrh)
-../inc/mncoordinateconverterbase.h     MW_LAYER_PLATFORM_EXPORT_PATH(mncoordinateconverterbase.h)
--- a/locsrv_plat/map_image_conversion_plugin_api/inc/mncoordinateconverterbase.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnCoordinateConverterBase class
-*
-*/
-
-
-#ifndef MN_COORDINATECONVERTERBASE_H
-#define MN_COORDINATECONVERTERBASE_H
-
-#include <mnmapimageparams.h>
-
-/** This is the base service interface to access coordinate conversion 
- *  functionality of MapImage service capable provider applications.
- *
- *  This interface must be implemented by Map and Navigation provider applications,
- *  which support @c KMnAppServiceMapImage service.
- *
- *  @lib mnclientlib.lib
- *  @since 5.0 */
-class CMnCoordinateConverterBase : public CBase
-    {
-    public:
-        static CMnCoordinateConverterBase* NewL( TUid aProviderUid );
-
-        /** Base destructor */
-        IMPORT_C ~CMnCoordinateConverterBase();
-        
-        /** Returns drawing parameters of map image.
-         *  @param aImageParams Parameters of map image. */
-        IMPORT_C const TMnMapImageParams& MapImageParams() const;
-        
-        /** @internal */
-        /*  Sets drawing parameters of map image. Implementation can read
-         *  these by calling MapImageParams().
-         *  @param aImageParams Parameters of map image. */
-        void SetMapImageParams( const TMnMapImageParams& aImageParams );
-
-        /** Calculates coordinate in pixels of the point corresponding to given
-         *  world coordinate. 
-         * 
-         *  Given world coordinate is allowed to be beyond 
-         *  image borders. In that case negative values in result value
-         *  describe point to the left of left border and/or above top border of the
-         *  image and values bigger than width or height describe point to the right
-         *  of right image border or below its bottom border.
-         * 
-         *  If such calculation is not possible (e.e given world coordinate is not 
-         *  part of the image) this function must return @c KErrUnknown.
-         * 
-         *  @param[in] aWorldCoordinate World coordinate (in WGS-84) 
-         *  @param[out] aImagePoint Coordinate of corresponding pixel in image 
-         *                          relative to image top left corner. 
-         *  @return Error code of the operation:
-         *      - @c KErrNone if calculation is successful
-         *      - @c KErrArgument if map image parameters in are invalid.
-         *      - @c KErrUnknown if calculation is not possible */
-        virtual TInt GetImageCoordinate( 
-            const TCoordinate& aWorldCoordinate, 
-            TPoint& aImagePoint ) = 0;
-        
-        /** Calculates world coordinate of the given image point. 
-         * 
-         *  Given image point coordinate must be within the rectangle 
-         *  ( TPoint( 0, 0 ), @ref Size() ).
-         * 
-         *  If such calculation is not possible (e.g. given image coordinate does not 
-         *  match any world coordinate) this function must return @c KErrUnknown.
-         * 
-         *  @param[in] aImagePoint Coordinate of a point on map image in pixels, 
-         *             relative to image top left corner. 
-         *  @param[out] aWorldCoordinate On successful return, corresponding
-         *                               world coordinate (in WGS-84).
-         *  @return Error code of the operation:
-         *      - @c KErrNone if calculation is successful
-         *      - @c KErrArgument if image coordinate is out of bounds
-         *      - @c KErrArgument if map image parameters in are invalid.
-         *      - @c KErrUnknown if calculation is not possible  */
-        virtual TInt GetWorldCoordinate( 
-            const TPoint& aImagePoint, 
-            TCoordinate& aWorldCoordinate ) = 0;
-                    
-    protected:    
-        IMPORT_C CMnCoordinateConverterBase();
-        
-    private:
-        TUid                iDtorIdKey;
-        TMnMapImageParams   iImageParams;
-    };
-
-#endif /*MN_COORDINATECONVERTERBASE_H*/
--- a/locsrv_plat/map_image_conversion_plugin_api/inc/mnpluginuids.hrh	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Map and Navigation application service UIDs
-*
-*/
-
-#ifndef MNPLUGINUIDS_HRH_
-#define MNPLUGINUIDS_HRH_
-
-/** @file
- *  @brief Map and Navigation FW plugin UIDs
- */
-
-/** Map Image Conversion Plug-In interface.
- *  This value shall be specified as @p uid field of SERVICE_INFO struct
- *  if application implements @ref CMnMapViewServiceBase.
- */
-#define KMnMapImageConverterIf 0x101FDF84
-
-#endif /*MNPLUGINUIDS_HRH_*/
--- a/locsrv_plat/map_image_conversion_plugin_api/map_image_conversion_plugin_api.metaxml	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-<?xml version="1.0" ?>
-<api id="5b7cfa5635c14177ccac9df68671b400" dataversion="2.0">
-  <name>Map Image Conversion Plug-In API</name>
-  <description>This API defines ECom interface to be implemented by Provider Applications, which support MapImage services. Its functionality allows to convert image coordinates to world coordinates and vice versa.</description>
-  <type>c++</type>
-  <collection>locationmapnavfw</collection>
-  <libs>
-    <lib name="mnclientlib.lib" />
-  </libs>
-  <release category="platform"/>
-  <attributes>
-     <!-- This indicates wether the api provedes separate html documentation -->
-     <!-- or is the additional documentation generated from headers. -->
-     <!-- If you are unsuere then the value is "no" -->
-     <htmldocprovided>no</htmldocprovided>
-     <adaptation>no</adaptation>
-  </attributes>
-</api>
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/bmarm/testmapimgconpluginapiu.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	LibEntryL__FR13CTestModuleIf @ 1 NONAME R3UNUSED ; LibEntryL(CTestModuleIf &)
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/bwins/testmapimgconpluginapiu.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	?LibEntryL@@YAPAVCScriptBase@@AAVCTestModuleIf@@@Z @ 1 NONAME ; class CScriptBase * __cdecl LibEntryL(class CTestModuleIf &)
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/conf/testmapimgconpluginapi.cfg	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-[Test]
-title TCMapImgConPluginApi1
-create testmapimgconpluginapi foobar
-foobar CMnCoordinateConverterBase_MapImageParams
-delete foobar
-[Endtest] 
-
-
-[Test]
-title TCMapImgConPluginApi2
-create testmapimgconpluginapi foobar
-foobar CMnCoordinateConverterBase_GetImageCoordinate
-delete foobar
-[Endtest] 
-
-[Test]
-title TCMapImgConPluginApi3
-create testmapimgconpluginapi foobar
-foobar CMnCoordinateConverterBase_GetWorldCoordinate
-delete foobar
-[Endtest]
\ No newline at end of file
Binary file locsrv_plat/map_image_conversion_plugin_api/tsrc/data/armv5/urel/MnRefProvider.mbm has changed
Binary file locsrv_plat/map_image_conversion_plugin_api/tsrc/data/armv5/urel/MnRefProvider.mif has changed
Binary file locsrv_plat/map_image_conversion_plugin_api/tsrc/data/armv5/urel/MnRefProvider.rsc has changed
Binary file locsrv_plat/map_image_conversion_plugin_api/tsrc/data/armv5/urel/MnRefProviderPlugin.dll has changed
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/data/armv5/urel/MnRefProviderPlugin.dll.map	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +0,0 @@
-ARM Linker, RVCT2.2 [Build 593]
-
-================================================================================
-
-Image Symbol Table
-
-    Local Symbols
-
-    Symbol Name                              Value     Ov Type        Size  Object(Section)
-
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-184.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-43.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnclientlib{000a0000}-97.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  scppnwdl{000a0000}-3.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-44.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-12.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-158.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-147.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-16.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnclientlib{000a0000}-101.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-208.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-21.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-654.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2123.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnclientlib{000a0000}-100.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-205.o ABSOLUTE
-    M:/epoc32/build/compsupp/c_18558cc638e6e874/drtaeabi_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:\\sf\\os\\kernelhwsrv\\kernel\\eka\\compsupp\\rvct2_2\\ucppinit_aeabi.cpp 0x00000000   Number         0  ucppinit_aeabi.o ABSOLUTE
-    M:\sf\os\kernelhwsrv\kernel\eka\compsupp\rvct2_2\ucppinit_aeabi.cpp 0x00000000   Number         0  ucppinit_aeabi.o ABSOLUTE
-    \EPOC32\BUILD\sf\app\location\group\MNREFENGINE\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\app\location\mapnavproviderrefapp\group\MNREFPROVIDERPLUGIN\ARMV5\urel\MnRefProviderPlugin{000a0000}.s 0x00000000   Number         0  MnRefProviderPlugin{000a0000}.exp ABSOLUTE
-    \EPOC32\BUILD\sf\mw\locationsrv\group\MNCLIENTLIB\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\kernelhwsrv\kernel\eka\euser\EDLL\ARMV6_ABIV1\urel\uc_dll_.cpp 0x00000000   Number         0  uc_dll_.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\kernelhwsrv\kernel\eka\euser\EUSER\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\lbs\locationmgmt\locationadmin\group\LBSAPIVARIANT2\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \\EPOC32\\BUILD\\sf\\os\\kernelhwsrv\\kernel\\eka\\euser\\EDLL\\ARMV6_ABIV1\\urel\\uc_dll_.cpp 0x00000000   Number         0  uc_dll_.o ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrefproviderplugin.cpp 0x00000000   Number         0  MnRefProviderPlugin.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpcoordconverter.cpp 0x00000000   Number         0  MnRefProviderPlugin.in ABSOLUTE
-    \sf\os\kernelhwsrv\kernel\eka\euser\epoc\arm\uc_dll.cpp 0x00000000   Number         0  uc_dll.o ABSOLUTE
-    .emb_text                                0x00008000   Section       40  uc_dll_.o(.emb_text)
-    .emb_text                                0x00008028   Section       72  ucppinit_aeabi.o(.emb_text)
-    skip                                     0x0000803c   ARM Code       0  ucppinit_aeabi.o(.emb_text)
-    loop                                     0x0000804c   ARM Code       0  ucppinit_aeabi.o(.emb_text)
-    fpinit                                   0x00008064   Data           0  ucppinit_aeabi.o(.emb_text)
-    base                                     0x00008068   Data           0  ucppinit_aeabi.o(.emb_text)
-    limit                                    0x0000806c   Data           0  ucppinit_aeabi.o(.emb_text)
-    .text                                    0x00008070   Section       12  MnRefProviderPlugin.in(.text)
-    .text                                    0x0000807c   Section      232  MnRefProviderPlugin.in(.text)
-    .text                                    0x00008164   Section       40  uc_dll.o(.text)
-    .text.clean                              0x0000818c   Section       10  MnRefProviderPlugin.in(.text.clean)
-    ExportTable                              0x00008198   Section       12  MnRefProviderPlugin{000a0000}.exp(ExportTable)
-    StubCode                                 0x000081a4   Section        8  euser{000a0000}-205.o(StubCode)
-    theImportedSymbol                        0x000081a8   Data           0  euser{000a0000}-205.o(StubCode)
-    StubCode                                 0x000081ac   Section        8  euser{000a0000}-208.o(StubCode)
-    theImportedSymbol                        0x000081b0   Data           0  euser{000a0000}-208.o(StubCode)
-    StubCode                                 0x000081b4   Section        8  euser{000a0000}-2123.o(StubCode)
-    theImportedSymbol                        0x000081b8   Data           0  euser{000a0000}-2123.o(StubCode)
-    StubCode                                 0x000081bc   Section        8  euser{000a0000}-654.o(StubCode)
-    theImportedSymbol                        0x000081c0   Data           0  euser{000a0000}-654.o(StubCode)
-    StubCode                                 0x000081c4   Section        8  mnclientlib{000a0000}-100.o(StubCode)
-    theImportedSymbol                        0x000081c8   Data           0  mnclientlib{000a0000}-100.o(StubCode)
-    StubCode                                 0x000081cc   Section        8  mnclientlib{000a0000}-101.o(StubCode)
-    theImportedSymbol                        0x000081d0   Data           0  mnclientlib{000a0000}-101.o(StubCode)
-    StubCode                                 0x000081d4   Section        8  mnclientlib{000a0000}-97.o(StubCode)
-    theImportedSymbol                        0x000081d8   Data           0  mnclientlib{000a0000}-97.o(StubCode)
-    StubCode                                 0x000081dc   Section        8  mnrefproviderengine{000a0000}-12.o(StubCode)
-    theImportedSymbol                        0x000081e0   Data           0  mnrefproviderengine{000a0000}-12.o(StubCode)
-    StubCode                                 0x000081e4   Section        8  mnrefproviderengine{000a0000}-16.o(StubCode)
-    theImportedSymbol                        0x000081e8   Data           0  mnrefproviderengine{000a0000}-16.o(StubCode)
-    StubCode                                 0x000081ec   Section        8  mnrefproviderengine{000a0000}-21.o(StubCode)
-    theImportedSymbol                        0x000081f0   Data           0  mnrefproviderengine{000a0000}-21.o(StubCode)
-    StubCode                                 0x000081f4   Section        8  mnrefproviderengine{000a0000}-43.o(StubCode)
-    theImportedSymbol                        0x000081f8   Data           0  mnrefproviderengine{000a0000}-43.o(StubCode)
-    StubCode                                 0x000081fc   Section        8  mnrefproviderengine{000a0000}-44.o(StubCode)
-    theImportedSymbol                        0x00008200   Data           0  mnrefproviderengine{000a0000}-44.o(StubCode)
-    StubCode                                 0x00008204   Section        8  drtaeabi{000a0000}-147.o(StubCode)
-    theImportedSymbol                        0x00008208   Data           0  drtaeabi{000a0000}-147.o(StubCode)
-    StubCode                                 0x0000820c   Section        8  drtaeabi{000a0000}-158.o(StubCode)
-    theImportedSymbol                        0x00008210   Data           0  drtaeabi{000a0000}-158.o(StubCode)
-    StubCode                                 0x00008214   Section        8  drtaeabi{000a0000}-184.o(StubCode)
-    theImportedSymbol                        0x00008218   Data           0  drtaeabi{000a0000}-184.o(StubCode)
-    StubCode                                 0x0000821c   Section        8  scppnwdl{000a0000}-3.o(StubCode)
-    theImportedSymbol                        0x00008220   Data           0  scppnwdl{000a0000}-3.o(StubCode)
-    .extab._ZN19CMnrpCoordConverterD1Ev      0x00008224   Data           0  MnRefProviderPlugin.in(.ARM.extab)
-    .constdata$1                             0x00008234   Data           0  MnRefProviderPlugin.in(.constdata)
-    ImplementationTable                      0x00008234   Data           8  MnRefProviderPlugin.in(.constdata)
-    .constdata                               0x00008234   Section        8  MnRefProviderPlugin.in(.constdata)
-    .constdata__ZTI19CMnrpCoordConverter     0x0000823c   Section       12  MnRefProviderPlugin.in(.constdata__ZTI19CMnrpCoordConverter)
-    .constdata__ZTS19CMnrpCoordConverter     0x00008248   Section       22  MnRefProviderPlugin.in(.constdata__ZTS19CMnrpCoordConverter)
-    .constdata__ZTV19CMnrpCoordConverter     0x00008260   Section       28  MnRefProviderPlugin.in(.constdata__ZTV19CMnrpCoordConverter)
-    .ARM.exidx                               0x0000827c   Section        8  ucppinit_aeabi.o(.ARM.exidx)
-
-    Global Symbols
-
-    Symbol Name                              Value     Ov Type        Size  Object(Section)
-
-    BuildAttributes$$THUMB_ISAv3$ARM_ISAv6$M$E$P$PE$A:L22$X:L11$S22$IEEE1$IW$USESV6$~STKCKD$USESV7$~SHL$OSPACE$IEEEJ$EBA8$UX$REQ8$PRES8$EABIv2 0x00000000   Number         0  anon$$obj.o ABSOLUTE
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>93     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>9e     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>b8     - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>28e  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>84b  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>cd  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>d0  - Undefined Reference
-    #<DLL>mnclientlib{000a0000}[10206902].dll#<\DLL>61  - Undefined Reference
-    #<DLL>mnclientlib{000a0000}[10206902].dll#<\DLL>64  - Undefined Reference
-    #<DLL>mnclientlib{000a0000}[10206902].dll#<\DLL>65  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>10  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>15  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>2b  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>2c  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>c  - Undefined Reference
-    #<DLL>scppnwdl{000a0000}.dll#<\DLL>3      - Undefined Reference
-    SHT$$INIT_ARRAY$$Base                     - Undefined Weak Reference
-    SHT$$INIT_ARRAY$$Limit                    - Undefined Weak Reference
-    typeinfo for CMnCoordinateConverterBase   - Undefined Reference
-    vtable for __cxxabiv1::__si_class_type_info  - Undefined Reference
-    _fp_init                                  - Undefined Weak Reference
-    run_static_dtors                          - Undefined Weak Reference
-    Image$$ER_RO$$Base                       0x00008000   Number         0  anon$$obj.o(linker$$defined$$symbols)
-    _E32Dll                                  0x00008000   ARM Code      40  uc_dll_.o(.emb_text)
-    Symbian$$CPP$$Exception$$Descriptor      0x00008014   Data           0  uc_dll_.o(.emb_text)
-    __cpp_initialize__aeabi_                 0x00008028   ARM Code      72  ucppinit_aeabi.o(.emb_text)
-    ImplementationGroupProxy(int&)           0x00008071   Thumb Code     8  MnRefProviderPlugin.in(.text)
-    std::nothrow                             0x00008071   Thumb Code     0  ucppinit_aeabi.o(.emb_text)
-    CMnrpCoordConverter::CMnrpCoordConverter() 0x0000807d   Thumb Code    12  MnRefProviderPlugin.in(.text)
-    CMnrpCoordConverter::CMnrpCoordConverter__sub_object() 0x0000807d   Thumb Code     0  MnRefProviderPlugin.in(.text)
-    CMnrpCoordConverter::NewL()              0x00008089   Thumb Code    38  MnRefProviderPlugin.in(.text)
-    CMnrpCoordConverter::~CMnrpCoordConverter() 0x000080af   Thumb Code    40  MnRefProviderPlugin.in(.text)
-    CMnrpCoordConverter::~CMnrpCoordConverter__sub_object() 0x000080af   Thumb Code     0  MnRefProviderPlugin.in(.text)
-    CMnrpCoordConverter::~CMnrpCoordConverter__deallocating() 0x000080d7   Thumb Code    16  MnRefProviderPlugin.in(.text)
-    CMnrpCoordConverter::GetImageCoordinate(const TCoordinate&, TPoint&) 0x000080e7   Thumb Code    62  MnRefProviderPlugin.in(.text)
-    CMnrpCoordConverter::GetWorldCoordinate(const TPoint&, TCoordinate&) 0x00008125   Thumb Code    60  MnRefProviderPlugin.in(.text)
-    _E32Dll_Body                             0x00008165   Thumb Code    34  uc_dll.o(.text)
-    __DLL_Export_Table__                     0x00008198   ARM Code       0  MnRefProviderPlugin{000a0000}.exp(ExportTable)
-    DLL##ExportTableSize                     0x0000819c   Data           0  MnRefProviderPlugin{000a0000}.exp(ExportTable)
-    DLL##ExportTable                         0x000081a0   Data           0  MnRefProviderPlugin{000a0000}.exp(ExportTable)
-    CleanupStack::Pop()                      0x000081a4   ARM Code       0  euser{000a0000}-205.o(StubCode)
-    CleanupStack::PushL(CBase*)              0x000081ac   ARM Code       0  euser{000a0000}-208.o(StubCode)
-    CBase::Extension_(unsigned, void*&, void*) 0x000081b4   ARM Code       0  euser{000a0000}-2123.o(StubCode)
-    User::AllocZL(int)                       0x000081bc   ARM Code       0  euser{000a0000}-654.o(StubCode)
-    CMnCoordinateConverterBase::~CMnCoordinateConverterBase__sub_object() 0x000081c4   ARM Code       0  mnclientlib{000a0000}-100.o(StubCode)
-    CMnCoordinateConverterBase::MapImageParams() const 0x000081cc   ARM Code       0  mnclientlib{000a0000}-101.o(StubCode)
-    CMnCoordinateConverterBase::CMnCoordinateConverterBase__sub_object() 0x000081d4   ARM Code       0  mnclientlib{000a0000}-97.o(StubCode)
-    CMnrpEngine::NewL()                      0x000081dc   ARM Code       0  mnrefproviderengine{000a0000}-12.o(StubCode)
-    CMnrpMapModel::UpdateModel(const TMnMapImageParams&) 0x000081e4   ARM Code       0  mnrefproviderengine{000a0000}-16.o(StubCode)
-    CMnrpMapModel::NewL(CMnrpEngine&)        0x000081ec   ARM Code       0  mnrefproviderengine{000a0000}-21.o(StubCode)
-    CMnrpMapModel::AbsoluteToScreen(TCoordinate) const 0x000081f4   ARM Code       0  mnrefproviderengine{000a0000}-43.o(StubCode)
-    CMnrpMapModel::ScreenToAbsolute(TPoint) const 0x000081fc   ARM Code       0  mnrefproviderengine{000a0000}-44.o(StubCode)
-    __aeabi_memcpy4                          0x00008204   ARM Code       0  drtaeabi{000a0000}-147.o(StubCode)
-    __aeabi_unwind_cpp_pr0                   0x0000820c   ARM Code       0  drtaeabi{000a0000}-158.o(StubCode)
-    __cxa_end_cleanup                        0x00008214   ARM Code       0  drtaeabi{000a0000}-184.o(StubCode)
-    operator delete (void*)                  0x0000821c   ARM Code       0  scppnwdl{000a0000}-3.o(StubCode)
-    typeinfo for CMnrpCoordConverter         0x0000823c   Data          12  MnRefProviderPlugin.in(.constdata__ZTI19CMnrpCoordConverter)
-    typeinfo name for CMnrpCoordConverter    0x00008248   Data          22  MnRefProviderPlugin.in(.constdata__ZTS19CMnrpCoordConverter)
-    vtable for CMnrpCoordConverter           0x00008260   Data          28  MnRefProviderPlugin.in(.constdata__ZTV19CMnrpCoordConverter)
-    .ARM.exidx$$Base                         0x0000827c   Number         0  ucppinit_aeabi.o(.ARM.exidx)
-    .ARM.exidx$$Limit                        0x000082b4   Number         0  uc_dll.o(.ARM.exidx)
-    Image$$ER_RO$$Limit                      0x000082b4   Number         0  anon$$obj.o(linker$$defined$$symbols)
-
Binary file locsrv_plat/map_image_conversion_plugin_api/tsrc/data/armv5/urel/MnRefProvider_reg.rsc has changed
Binary file locsrv_plat/map_image_conversion_plugin_api/tsrc/data/armv5/urel/mnrefprovider.exe has changed
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/data/armv5/urel/mnrefprovider.exe.map	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2589 +0,0 @@
-ARM Linker, RVCT2.2 [Build 593]
-
-================================================================================
-
-Image Symbol Table
-
-    Local Symbols
-
-    Symbol Name                              Value     Ov Type        Size  Object(Section)
-
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-374.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-73.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-29.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-375.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-74.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-291.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-377.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-75.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-293.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3826.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-76.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-294.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3831.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-77.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-295.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3832.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-78.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-296.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3857.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-79.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-297.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3860.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcoctl{000a0000}-1376.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-298.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3861.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcoctl{000a0000}-140.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-299.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3868.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcoctl{000a0000}-1430.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-30.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3947.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcoctl{000a0000}-35.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-302.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3948.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcoctl{000a0000}-46.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-31.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3949.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcoctl{000a0000}-605.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-315.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3983.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcoctl{000a0000}-606.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-317.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-4014.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcoctl{000a0000}-660.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-319.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-4030.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcoctl{000a0000}-875.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-352.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  AknIcon{000a0000}-13.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcoctl{000a0000}-880.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-37.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  egul{000a0000}-94.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcoctl{000a0000}-881.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-390.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  egul{000a0000}-95.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikctl{000a0000}-455.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-392.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  gdi{000a0000}-310.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-1132.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-394.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  gdi{000a0000}-311.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-129.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-467.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  gdi{000a0000}-312.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-130.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-472.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  fbscli{000a0000}-26.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-131.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-473.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  fbscli{000a0000}-31.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-1341.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-479.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-12.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-198.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-490.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-15.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-199.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-506.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-4.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-1996.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-523.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-50.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-201.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-532.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-65.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-206.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-533.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-67.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-211.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-534.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-75.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-213.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-535.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-152.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-214.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-536.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-180.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-215.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-537.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-181.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-216.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-565.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-205.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2163.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-61.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-207.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-217.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-62.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-21.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2178.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-63.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-214.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-220.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-64.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-223.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2591.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-67.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-225.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2624.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-72.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-226.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2632.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-39.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-23.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2895.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-40.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-28.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2898.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-41.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-304.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2899.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-42.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-306.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2900.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-43.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-1.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2901.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-44.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-10.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2902.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-45.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-11.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2903.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-46.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-12.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2904.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-47.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-13.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2905.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-48.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-14.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2906.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-50.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-15.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2907.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-51.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-16.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2909.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-53.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-17.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2910.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-54.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-2.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2912.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-12.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-20.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2913.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-20.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-28.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2914.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-23.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-29.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2917.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-24.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-30.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2919.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-41.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-33.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2920.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-8.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-4.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2922.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-147.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-5.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2928.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-158.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-7.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2929.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-159.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-12.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2930.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-180.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-17.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2932.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-182.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-19.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2934.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-183.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-20.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2936.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-184.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-22.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2993.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-189.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-23.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2997.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  scppnwdl{000a0000}-3.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-24.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3417.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1360.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-25.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3420.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-641.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-26.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1025.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-159.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-27.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1096.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-169.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-28.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1116.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-171.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-29.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1119.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-175.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-30.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1172.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-18.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-31.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1288.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-20.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-32.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1507.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-25.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-33.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1510.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-26.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-34.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1553.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-204.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-38.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1590.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-28.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-829.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1593.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-197.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-830.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1648.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-199.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-838.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1817.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-203.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-839.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1995.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-21.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-841.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1997.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-210.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-842.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1999.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-211.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-973.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-203.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-212.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-121.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-204.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-220.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-132.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-205.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-25.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-171.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2060.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-257.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-191.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2061.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-26.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-192.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-207.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-263.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-194.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-208.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-265.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-202.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2082.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-266.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-222.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2120.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-270.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-232.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2123.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-271.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-253.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2125.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-272.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-273.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2131.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-275.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-274.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-245.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-276.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-275.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-250.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-287.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-279.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-254.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-288.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-280.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-257.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-29.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-284.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-46.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-30.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-285.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-464.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-351.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-286.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-470.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-353.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-287.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-471.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-355.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-30.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-472.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-36.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bafl{000a0000}-43.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-476.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-39.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bafl{000a0000}-98.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-48.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-396.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-100.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-481.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-397.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-101.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-55.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3421.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-11.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-551.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3422.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-12.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-593.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3423.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-127.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-613.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3424.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-128.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-649.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-367.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-13.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-652.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-368.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-15.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-654.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-369.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-18.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-669.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-370.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-182.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-81.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-372.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-19.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-824.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-373.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-196.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-638.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-50.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-147.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-639.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-502.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-152.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-64.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-51.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-155.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-664.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-514.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-158.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-67.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-56.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-9.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-670.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-57.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-141.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-671.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-580.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-142.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-676.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-581.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-143.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-677.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-582.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-144.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-482.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-583.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-41.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-61.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-584.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-42.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-62.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-27.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-444.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-585.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-477.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-48.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-40.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-478.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-479.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-650.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-474.o ABSOLUTE
-    M:/epoc32/build/apputils/c_da81efa927799d7f/bafl_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/compsupp/c_18558cc638e6e874/drtaeabi_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/cone/c_17e36feeaf3b2ee8/cone_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/fontandbitmapserver/c_7ea974cb4182c047/fbscli_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/gdi/c_5dab287815cadb7b/gdi_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/imagingfws/c_c0b0915f285c9e63/imageconversion_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/store/c_93a13d203e6d3ba7/estor_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/uigraphicsutils/c_d265b80414e63acf/egul_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/uikon/c_9cf7bef4a7562444/eikcore_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:\\sf\\os\\kernelhwsrv\\kernel\\eka\\compsupp\\rvct2_2\\ucppinit_aeabi.cpp 0x00000000   Number         0  ucppinit_aeabi.o ABSOLUTE
-    M:\sf\os\kernelhwsrv\kernel\eka\compsupp\rvct2_2\dllexp.cpp 0x00000000   Number         0  dllexp.o ABSOLUTE
-    M:\sf\os\kernelhwsrv\kernel\eka\compsupp\rvct2_2\ucppinit_aeabi.cpp 0x00000000   Number         0  ucppinit_aeabi.o ABSOLUTE
-    M:\sf\os\kernelhwsrv\kernel\eka\compsupp\symaehabi\callfirstprocessfn.cpp 0x00000000   Number         0  callfirstprocessfn.o ABSOLUTE
-    \EPOC32\BUILD\sf\app\location\group\MNREFENGINE\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\appsupport\appfw\apparchitecture\group\APPARC\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\classicui\group\AVKON\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\classicui\group\EIKCOCTL\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\classicui\group\EIKCTL\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\classicui\group\EIKDLG\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\locationsrv\group\EPOS_LANDMARKSCLIENTLIBRARY\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\locationsrv\group\EPOS_LANDMARKSSEARCHCLIENTLIBRARY\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\locationsrv\group\MNSERVICELIB\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\uiresources\group\AKNICON\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\uiresources\group\AKNSKINS\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\graphics\windowing\windowserver\group\WS32LIB\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\kernelhwsrv\kernel\eka\euser\EEXE\ARMV6_ABIV1\urel\uc_exe_.cpp 0x00000000   Number         0  uc_exe_.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\kernelhwsrv\kernel\eka\euser\EUSER\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\kernelhwsrv\userlibandfileserver\fileserver\group\EFSRV\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\lbs\locationmgmt\locationadmin\group\LBSAPIVARIANT2\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \\EPOC32\\BUILD\\sf\\os\\kernelhwsrv\\kernel\\eka\\euser\\EEXE\\ARMV6_ABIV1\\urel\\uc_exe_.cpp 0x00000000   Number         0  uc_exe_.o ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrefprovider.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpappcontrol.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpapplication.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpappserver.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpappui.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpappview.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpdocument.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpmapcontrol.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpmapview.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpmapviewservice.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpnavicontrol.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpnavigationservice.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpnavimodel.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpnaviview.cpp 0x00000000   Number         0  mnrefprovider.in ABSOLUTE
-    \sf\os\kernelhwsrv\kernel\eka\euser\epoc\arm\uc_exe.cpp 0x00000000   Number         0  uc_exe.o ABSOLUTE
-    .emb_text                                0x00008000   Section      112  uc_exe_.o(.emb_text)
-    .emb_text                                0x00008070   Section       72  ucppinit_aeabi.o(.emb_text)
-    skip                                     0x00008084   ARM Code       0  ucppinit_aeabi.o(.emb_text)
-    loop                                     0x00008094   ARM Code       0  ucppinit_aeabi.o(.emb_text)
-    fpinit                                   0x000080ac   Data           0  ucppinit_aeabi.o(.emb_text)
-    base                                     0x000080b0   Data           0  ucppinit_aeabi.o(.emb_text)
-    limit                                    0x000080b4   Data           0  ucppinit_aeabi.o(.emb_text)
-    .text                                    0x000080c0   Section       16  uc_exe_.o(.text)
-    NewApplication()                         0x000080d1   Thumb Code    30  mnrefprovider.in(.text)
-    .text                                    0x000080d0   Section       60  mnrefprovider.in(.text)
-    .text                                    0x0000810c   Section       44  mnrefprovider.in(.text)
-    .text                                    0x00008138   Section     1688  mnrefprovider.in(.text)
-    .text                                    0x000087d0   Section      140  mnrefprovider.in(.text)
-    .text                                    0x0000885c   Section      128  mnrefprovider.in(.text)
-    .text                                    0x000088dc   Section      244  mnrefprovider.in(.text)
-    .text                                    0x000089d0   Section      196  mnrefprovider.in(.text)
-    .text                                    0x00008a94   Section      612  mnrefprovider.in(.text)
-    .text                                    0x00008cf8   Section     3148  mnrefprovider.in(.text)
-    |L1.1176|                                0x00009190   Data           0  mnrefprovider.in(.text)
-    |L1.1200|                                0x000091a8   Data           0  mnrefprovider.in(.text)
-    __sti___18_mnrpmapcontrol_cpp            0x000098f1   Thumb Code    24  mnrefprovider.in(.text)
-    .text                                    0x00009944   Section      360  mnrefprovider.in(.text)
-    .text                                    0x00009aac   Section     1084  mnrefprovider.in(.text)
-    .text                                    0x00009ee8   Section      580  mnrefprovider.in(.text)
-    .text                                    0x0000a12c   Section      100  mnrefprovider.in(.text)
-    .text                                    0x0000a190   Section      508  mnrefprovider.in(.text)
-    .text                                    0x0000a394   Section       36  uc_exe.o(.text)
-    .text                                    0x0000a3b8   Section      120  callfirstprocessfn.o(.text)
-    .text                                    0x0000a430   Section        4  dllexp.o(.text)
-    .text.clean                              0x0000a434   Section       10  mnrefprovider.in(.text.clean)
-    .text.clean                              0x0000a43e   Section       18  mnrefprovider.in(.text.clean)
-    .text.clean                              0x0000a450   Section       10  mnrefprovider.in(.text.clean)
-    .text.clean                              0x0000a45a   Section       10  mnrefprovider.in(.text.clean)
-    .text.clean                              0x0000a464   Section       14  mnrefprovider.in(.text.clean)
-    .text.clean                              0x0000a472   Section       28  mnrefprovider.in(.text.clean)
-    .text.clean                              0x0000a48e   Section       10  mnrefprovider.in(.text.clean)
-    .text.clean                              0x0000a498   Section       20  mnrefprovider.in(.text.clean)
-    .text.clean                              0x0000a4ac   Section       14  mnrefprovider.in(.text.clean)
-    .text.clean                              0x0000a4ba   Section       22  mnrefprovider.in(.text.clean)
-    .text.clean                              0x0000a4d0   Section        8  callfirstprocessfn.o(.text.clean)
-    StubCode                                 0x0000a4d8   Section        8  euser{000a0000}-1025.o(StubCode)
-    theImportedSymbol                        0x0000a4dc   Data           0  euser{000a0000}-1025.o(StubCode)
-    StubCode                                 0x0000a4e0   Section        8  euser{000a0000}-1096.o(StubCode)
-    theImportedSymbol                        0x0000a4e4   Data           0  euser{000a0000}-1096.o(StubCode)
-    StubCode                                 0x0000a4e8   Section        8  euser{000a0000}-1116.o(StubCode)
-    theImportedSymbol                        0x0000a4ec   Data           0  euser{000a0000}-1116.o(StubCode)
-    StubCode                                 0x0000a4f0   Section        8  euser{000a0000}-1119.o(StubCode)
-    theImportedSymbol                        0x0000a4f4   Data           0  euser{000a0000}-1119.o(StubCode)
-    StubCode                                 0x0000a4f8   Section        8  euser{000a0000}-1172.o(StubCode)
-    theImportedSymbol                        0x0000a4fc   Data           0  euser{000a0000}-1172.o(StubCode)
-    StubCode                                 0x0000a500   Section        8  euser{000a0000}-1288.o(StubCode)
-    theImportedSymbol                        0x0000a504   Data           0  euser{000a0000}-1288.o(StubCode)
-    StubCode                                 0x0000a508   Section        8  euser{000a0000}-1507.o(StubCode)
-    theImportedSymbol                        0x0000a50c   Data           0  euser{000a0000}-1507.o(StubCode)
-    StubCode                                 0x0000a510   Section        8  euser{000a0000}-1510.o(StubCode)
-    theImportedSymbol                        0x0000a514   Data           0  euser{000a0000}-1510.o(StubCode)
-    StubCode                                 0x0000a518   Section        8  euser{000a0000}-1553.o(StubCode)
-    theImportedSymbol                        0x0000a51c   Data           0  euser{000a0000}-1553.o(StubCode)
-    StubCode                                 0x0000a520   Section        8  euser{000a0000}-1590.o(StubCode)
-    theImportedSymbol                        0x0000a524   Data           0  euser{000a0000}-1590.o(StubCode)
-    StubCode                                 0x0000a528   Section        8  euser{000a0000}-1593.o(StubCode)
-    theImportedSymbol                        0x0000a52c   Data           0  euser{000a0000}-1593.o(StubCode)
-    StubCode                                 0x0000a530   Section        8  euser{000a0000}-1648.o(StubCode)
-    theImportedSymbol                        0x0000a534   Data           0  euser{000a0000}-1648.o(StubCode)
-    StubCode                                 0x0000a538   Section        8  euser{000a0000}-1817.o(StubCode)
-    theImportedSymbol                        0x0000a53c   Data           0  euser{000a0000}-1817.o(StubCode)
-    StubCode                                 0x0000a540   Section        8  euser{000a0000}-1995.o(StubCode)
-    theImportedSymbol                        0x0000a544   Data           0  euser{000a0000}-1995.o(StubCode)
-    StubCode                                 0x0000a548   Section        8  euser{000a0000}-1997.o(StubCode)
-    theImportedSymbol                        0x0000a54c   Data           0  euser{000a0000}-1997.o(StubCode)
-    StubCode                                 0x0000a550   Section        8  euser{000a0000}-1999.o(StubCode)
-    theImportedSymbol                        0x0000a554   Data           0  euser{000a0000}-1999.o(StubCode)
-    StubCode                                 0x0000a558   Section        8  euser{000a0000}-203.o(StubCode)
-    theImportedSymbol                        0x0000a55c   Data           0  euser{000a0000}-203.o(StubCode)
-    StubCode                                 0x0000a560   Section        8  euser{000a0000}-204.o(StubCode)
-    theImportedSymbol                        0x0000a564   Data           0  euser{000a0000}-204.o(StubCode)
-    StubCode                                 0x0000a568   Section        8  euser{000a0000}-205.o(StubCode)
-    theImportedSymbol                        0x0000a56c   Data           0  euser{000a0000}-205.o(StubCode)
-    StubCode                                 0x0000a570   Section        8  euser{000a0000}-2060.o(StubCode)
-    theImportedSymbol                        0x0000a574   Data           0  euser{000a0000}-2060.o(StubCode)
-    StubCode                                 0x0000a578   Section        8  euser{000a0000}-2061.o(StubCode)
-    theImportedSymbol                        0x0000a57c   Data           0  euser{000a0000}-2061.o(StubCode)
-    StubCode                                 0x0000a580   Section        8  euser{000a0000}-207.o(StubCode)
-    theImportedSymbol                        0x0000a584   Data           0  euser{000a0000}-207.o(StubCode)
-    StubCode                                 0x0000a588   Section        8  euser{000a0000}-208.o(StubCode)
-    theImportedSymbol                        0x0000a58c   Data           0  euser{000a0000}-208.o(StubCode)
-    StubCode                                 0x0000a590   Section        8  euser{000a0000}-2082.o(StubCode)
-    theImportedSymbol                        0x0000a594   Data           0  euser{000a0000}-2082.o(StubCode)
-    StubCode                                 0x0000a598   Section        8  euser{000a0000}-2120.o(StubCode)
-    theImportedSymbol                        0x0000a59c   Data           0  euser{000a0000}-2120.o(StubCode)
-    StubCode                                 0x0000a5a0   Section        8  euser{000a0000}-2123.o(StubCode)
-    theImportedSymbol                        0x0000a5a4   Data           0  euser{000a0000}-2123.o(StubCode)
-    StubCode                                 0x0000a5a8   Section        8  euser{000a0000}-2125.o(StubCode)
-    theImportedSymbol                        0x0000a5ac   Data           0  euser{000a0000}-2125.o(StubCode)
-    StubCode                                 0x0000a5b0   Section        8  euser{000a0000}-2131.o(StubCode)
-    theImportedSymbol                        0x0000a5b4   Data           0  euser{000a0000}-2131.o(StubCode)
-    StubCode                                 0x0000a5b8   Section        8  euser{000a0000}-245.o(StubCode)
-    theImportedSymbol                        0x0000a5bc   Data           0  euser{000a0000}-245.o(StubCode)
-    StubCode                                 0x0000a5c0   Section        8  euser{000a0000}-250.o(StubCode)
-    theImportedSymbol                        0x0000a5c4   Data           0  euser{000a0000}-250.o(StubCode)
-    StubCode                                 0x0000a5c8   Section        8  euser{000a0000}-254.o(StubCode)
-    theImportedSymbol                        0x0000a5cc   Data           0  euser{000a0000}-254.o(StubCode)
-    StubCode                                 0x0000a5d0   Section        8  euser{000a0000}-257.o(StubCode)
-    theImportedSymbol                        0x0000a5d4   Data           0  euser{000a0000}-257.o(StubCode)
-    StubCode                                 0x0000a5d8   Section        8  euser{000a0000}-46.o(StubCode)
-    theImportedSymbol                        0x0000a5dc   Data           0  euser{000a0000}-46.o(StubCode)
-    StubCode                                 0x0000a5e0   Section        8  euser{000a0000}-464.o(StubCode)
-    theImportedSymbol                        0x0000a5e4   Data           0  euser{000a0000}-464.o(StubCode)
-    StubCode                                 0x0000a5e8   Section        8  euser{000a0000}-470.o(StubCode)
-    theImportedSymbol                        0x0000a5ec   Data           0  euser{000a0000}-470.o(StubCode)
-    StubCode                                 0x0000a5f0   Section        8  euser{000a0000}-471.o(StubCode)
-    theImportedSymbol                        0x0000a5f4   Data           0  euser{000a0000}-471.o(StubCode)
-    StubCode                                 0x0000a5f8   Section        8  euser{000a0000}-472.o(StubCode)
-    theImportedSymbol                        0x0000a5fc   Data           0  euser{000a0000}-472.o(StubCode)
-    StubCode                                 0x0000a600   Section        8  euser{000a0000}-476.o(StubCode)
-    theImportedSymbol                        0x0000a604   Data           0  euser{000a0000}-476.o(StubCode)
-    StubCode                                 0x0000a608   Section        8  euser{000a0000}-48.o(StubCode)
-    theImportedSymbol                        0x0000a60c   Data           0  euser{000a0000}-48.o(StubCode)
-    StubCode                                 0x0000a610   Section        8  euser{000a0000}-481.o(StubCode)
-    theImportedSymbol                        0x0000a614   Data           0  euser{000a0000}-481.o(StubCode)
-    StubCode                                 0x0000a618   Section        8  euser{000a0000}-55.o(StubCode)
-    theImportedSymbol                        0x0000a61c   Data           0  euser{000a0000}-55.o(StubCode)
-    StubCode                                 0x0000a620   Section        8  euser{000a0000}-551.o(StubCode)
-    theImportedSymbol                        0x0000a624   Data           0  euser{000a0000}-551.o(StubCode)
-    StubCode                                 0x0000a628   Section        8  euser{000a0000}-593.o(StubCode)
-    theImportedSymbol                        0x0000a62c   Data           0  euser{000a0000}-593.o(StubCode)
-    StubCode                                 0x0000a630   Section        8  euser{000a0000}-613.o(StubCode)
-    theImportedSymbol                        0x0000a634   Data           0  euser{000a0000}-613.o(StubCode)
-    StubCode                                 0x0000a638   Section        8  euser{000a0000}-649.o(StubCode)
-    theImportedSymbol                        0x0000a63c   Data           0  euser{000a0000}-649.o(StubCode)
-    StubCode                                 0x0000a640   Section        8  euser{000a0000}-652.o(StubCode)
-    theImportedSymbol                        0x0000a644   Data           0  euser{000a0000}-652.o(StubCode)
-    StubCode                                 0x0000a648   Section        8  euser{000a0000}-654.o(StubCode)
-    theImportedSymbol                        0x0000a64c   Data           0  euser{000a0000}-654.o(StubCode)
-    StubCode                                 0x0000a650   Section        8  euser{000a0000}-669.o(StubCode)
-    theImportedSymbol                        0x0000a654   Data           0  euser{000a0000}-669.o(StubCode)
-    StubCode                                 0x0000a658   Section        8  euser{000a0000}-81.o(StubCode)
-    theImportedSymbol                        0x0000a65c   Data           0  euser{000a0000}-81.o(StubCode)
-    StubCode                                 0x0000a660   Section        8  euser{000a0000}-824.o(StubCode)
-    theImportedSymbol                        0x0000a664   Data           0  euser{000a0000}-824.o(StubCode)
-    StubCode                                 0x0000a668   Section        8  euser{000a0000}-829.o(StubCode)
-    theImportedSymbol                        0x0000a66c   Data           0  euser{000a0000}-829.o(StubCode)
-    StubCode                                 0x0000a670   Section        8  euser{000a0000}-830.o(StubCode)
-    theImportedSymbol                        0x0000a674   Data           0  euser{000a0000}-830.o(StubCode)
-    StubCode                                 0x0000a678   Section        8  euser{000a0000}-838.o(StubCode)
-    theImportedSymbol                        0x0000a67c   Data           0  euser{000a0000}-838.o(StubCode)
-    StubCode                                 0x0000a680   Section        8  euser{000a0000}-839.o(StubCode)
-    theImportedSymbol                        0x0000a684   Data           0  euser{000a0000}-839.o(StubCode)
-    StubCode                                 0x0000a688   Section        8  euser{000a0000}-841.o(StubCode)
-    theImportedSymbol                        0x0000a68c   Data           0  euser{000a0000}-841.o(StubCode)
-    StubCode                                 0x0000a690   Section        8  euser{000a0000}-842.o(StubCode)
-    theImportedSymbol                        0x0000a694   Data           0  euser{000a0000}-842.o(StubCode)
-    StubCode                                 0x0000a698   Section        8  euser{000a0000}-973.o(StubCode)
-    theImportedSymbol                        0x0000a69c   Data           0  euser{000a0000}-973.o(StubCode)
-    StubCode                                 0x0000a6a0   Section        8  apparc{000a0000}-121.o(StubCode)
-    theImportedSymbol                        0x0000a6a4   Data           0  apparc{000a0000}-121.o(StubCode)
-    StubCode                                 0x0000a6a8   Section        8  apparc{000a0000}-132.o(StubCode)
-    theImportedSymbol                        0x0000a6ac   Data           0  apparc{000a0000}-132.o(StubCode)
-    StubCode                                 0x0000a6b0   Section        8  apparc{000a0000}-171.o(StubCode)
-    theImportedSymbol                        0x0000a6b4   Data           0  apparc{000a0000}-171.o(StubCode)
-    StubCode                                 0x0000a6b8   Section        8  apparc{000a0000}-191.o(StubCode)
-    theImportedSymbol                        0x0000a6bc   Data           0  apparc{000a0000}-191.o(StubCode)
-    StubCode                                 0x0000a6c0   Section        8  apparc{000a0000}-192.o(StubCode)
-    theImportedSymbol                        0x0000a6c4   Data           0  apparc{000a0000}-192.o(StubCode)
-    StubCode                                 0x0000a6c8   Section        8  apparc{000a0000}-194.o(StubCode)
-    theImportedSymbol                        0x0000a6cc   Data           0  apparc{000a0000}-194.o(StubCode)
-    StubCode                                 0x0000a6d0   Section        8  apparc{000a0000}-202.o(StubCode)
-    theImportedSymbol                        0x0000a6d4   Data           0  apparc{000a0000}-202.o(StubCode)
-    StubCode                                 0x0000a6d8   Section        8  apparc{000a0000}-222.o(StubCode)
-    theImportedSymbol                        0x0000a6dc   Data           0  apparc{000a0000}-222.o(StubCode)
-    StubCode                                 0x0000a6e0   Section        8  apparc{000a0000}-232.o(StubCode)
-    theImportedSymbol                        0x0000a6e4   Data           0  apparc{000a0000}-232.o(StubCode)
-    StubCode                                 0x0000a6e8   Section        8  apparc{000a0000}-253.o(StubCode)
-    theImportedSymbol                        0x0000a6ec   Data           0  apparc{000a0000}-253.o(StubCode)
-    StubCode                                 0x0000a6f0   Section        8  apparc{000a0000}-273.o(StubCode)
-    theImportedSymbol                        0x0000a6f4   Data           0  apparc{000a0000}-273.o(StubCode)
-    StubCode                                 0x0000a6f8   Section        8  apparc{000a0000}-274.o(StubCode)
-    theImportedSymbol                        0x0000a6fc   Data           0  apparc{000a0000}-274.o(StubCode)
-    StubCode                                 0x0000a700   Section        8  apparc{000a0000}-275.o(StubCode)
-    theImportedSymbol                        0x0000a704   Data           0  apparc{000a0000}-275.o(StubCode)
-    StubCode                                 0x0000a708   Section        8  apparc{000a0000}-279.o(StubCode)
-    theImportedSymbol                        0x0000a70c   Data           0  apparc{000a0000}-279.o(StubCode)
-    StubCode                                 0x0000a710   Section        8  apparc{000a0000}-280.o(StubCode)
-    theImportedSymbol                        0x0000a714   Data           0  apparc{000a0000}-280.o(StubCode)
-    StubCode                                 0x0000a718   Section        8  apparc{000a0000}-284.o(StubCode)
-    theImportedSymbol                        0x0000a71c   Data           0  apparc{000a0000}-284.o(StubCode)
-    StubCode                                 0x0000a720   Section        8  apparc{000a0000}-285.o(StubCode)
-    theImportedSymbol                        0x0000a724   Data           0  apparc{000a0000}-285.o(StubCode)
-    StubCode                                 0x0000a728   Section        8  apparc{000a0000}-286.o(StubCode)
-    theImportedSymbol                        0x0000a72c   Data           0  apparc{000a0000}-286.o(StubCode)
-    StubCode                                 0x0000a730   Section        8  apparc{000a0000}-287.o(StubCode)
-    theImportedSymbol                        0x0000a734   Data           0  apparc{000a0000}-287.o(StubCode)
-    StubCode                                 0x0000a738   Section        8  apparc{000a0000}-30.o(StubCode)
-    theImportedSymbol                        0x0000a73c   Data           0  apparc{000a0000}-30.o(StubCode)
-    StubCode                                 0x0000a740   Section        8  bafl{000a0000}-43.o(StubCode)
-    theImportedSymbol                        0x0000a744   Data           0  bafl{000a0000}-43.o(StubCode)
-    StubCode                                 0x0000a748   Section        8  bafl{000a0000}-98.o(StubCode)
-    theImportedSymbol                        0x0000a74c   Data           0  bafl{000a0000}-98.o(StubCode)
-    StubCode                                 0x0000a750   Section        8  cone{000a0000}-100.o(StubCode)
-    theImportedSymbol                        0x0000a754   Data           0  cone{000a0000}-100.o(StubCode)
-    StubCode                                 0x0000a758   Section        8  cone{000a0000}-101.o(StubCode)
-    theImportedSymbol                        0x0000a75c   Data           0  cone{000a0000}-101.o(StubCode)
-    StubCode                                 0x0000a760   Section        8  cone{000a0000}-11.o(StubCode)
-    theImportedSymbol                        0x0000a764   Data           0  cone{000a0000}-11.o(StubCode)
-    StubCode                                 0x0000a768   Section        8  cone{000a0000}-12.o(StubCode)
-    theImportedSymbol                        0x0000a76c   Data           0  cone{000a0000}-12.o(StubCode)
-    StubCode                                 0x0000a770   Section        8  cone{000a0000}-127.o(StubCode)
-    theImportedSymbol                        0x0000a774   Data           0  cone{000a0000}-127.o(StubCode)
-    StubCode                                 0x0000a778   Section        8  cone{000a0000}-128.o(StubCode)
-    theImportedSymbol                        0x0000a77c   Data           0  cone{000a0000}-128.o(StubCode)
-    StubCode                                 0x0000a780   Section        8  cone{000a0000}-13.o(StubCode)
-    theImportedSymbol                        0x0000a784   Data           0  cone{000a0000}-13.o(StubCode)
-    StubCode                                 0x0000a788   Section        8  cone{000a0000}-15.o(StubCode)
-    theImportedSymbol                        0x0000a78c   Data           0  cone{000a0000}-15.o(StubCode)
-    StubCode                                 0x0000a790   Section        8  cone{000a0000}-18.o(StubCode)
-    theImportedSymbol                        0x0000a794   Data           0  cone{000a0000}-18.o(StubCode)
-    StubCode                                 0x0000a798   Section        8  cone{000a0000}-182.o(StubCode)
-    theImportedSymbol                        0x0000a79c   Data           0  cone{000a0000}-182.o(StubCode)
-    StubCode                                 0x0000a7a0   Section        8  cone{000a0000}-19.o(StubCode)
-    theImportedSymbol                        0x0000a7a4   Data           0  cone{000a0000}-19.o(StubCode)
-    StubCode                                 0x0000a7a8   Section        8  cone{000a0000}-196.o(StubCode)
-    theImportedSymbol                        0x0000a7ac   Data           0  cone{000a0000}-196.o(StubCode)
-    StubCode                                 0x0000a7b0   Section        8  cone{000a0000}-197.o(StubCode)
-    theImportedSymbol                        0x0000a7b4   Data           0  cone{000a0000}-197.o(StubCode)
-    StubCode                                 0x0000a7b8   Section        8  cone{000a0000}-199.o(StubCode)
-    theImportedSymbol                        0x0000a7bc   Data           0  cone{000a0000}-199.o(StubCode)
-    StubCode                                 0x0000a7c0   Section        8  cone{000a0000}-203.o(StubCode)
-    theImportedSymbol                        0x0000a7c4   Data           0  cone{000a0000}-203.o(StubCode)
-    StubCode                                 0x0000a7c8   Section        8  cone{000a0000}-21.o(StubCode)
-    theImportedSymbol                        0x0000a7cc   Data           0  cone{000a0000}-21.o(StubCode)
-    StubCode                                 0x0000a7d0   Section        8  cone{000a0000}-210.o(StubCode)
-    theImportedSymbol                        0x0000a7d4   Data           0  cone{000a0000}-210.o(StubCode)
-    StubCode                                 0x0000a7d8   Section        8  cone{000a0000}-211.o(StubCode)
-    theImportedSymbol                        0x0000a7dc   Data           0  cone{000a0000}-211.o(StubCode)
-    StubCode                                 0x0000a7e0   Section        8  cone{000a0000}-212.o(StubCode)
-    theImportedSymbol                        0x0000a7e4   Data           0  cone{000a0000}-212.o(StubCode)
-    StubCode                                 0x0000a7e8   Section        8  cone{000a0000}-220.o(StubCode)
-    theImportedSymbol                        0x0000a7ec   Data           0  cone{000a0000}-220.o(StubCode)
-    StubCode                                 0x0000a7f0   Section        8  cone{000a0000}-25.o(StubCode)
-    theImportedSymbol                        0x0000a7f4   Data           0  cone{000a0000}-25.o(StubCode)
-    StubCode                                 0x0000a7f8   Section        8  cone{000a0000}-257.o(StubCode)
-    theImportedSymbol                        0x0000a7fc   Data           0  cone{000a0000}-257.o(StubCode)
-    StubCode                                 0x0000a800   Section        8  cone{000a0000}-26.o(StubCode)
-    theImportedSymbol                        0x0000a804   Data           0  cone{000a0000}-26.o(StubCode)
-    StubCode                                 0x0000a808   Section        8  cone{000a0000}-263.o(StubCode)
-    theImportedSymbol                        0x0000a80c   Data           0  cone{000a0000}-263.o(StubCode)
-    StubCode                                 0x0000a810   Section        8  cone{000a0000}-265.o(StubCode)
-    theImportedSymbol                        0x0000a814   Data           0  cone{000a0000}-265.o(StubCode)
-    StubCode                                 0x0000a818   Section        8  cone{000a0000}-266.o(StubCode)
-    theImportedSymbol                        0x0000a81c   Data           0  cone{000a0000}-266.o(StubCode)
-    StubCode                                 0x0000a820   Section        8  cone{000a0000}-270.o(StubCode)
-    theImportedSymbol                        0x0000a824   Data           0  cone{000a0000}-270.o(StubCode)
-    StubCode                                 0x0000a828   Section        8  cone{000a0000}-271.o(StubCode)
-    theImportedSymbol                        0x0000a82c   Data           0  cone{000a0000}-271.o(StubCode)
-    StubCode                                 0x0000a830   Section        8  cone{000a0000}-272.o(StubCode)
-    theImportedSymbol                        0x0000a834   Data           0  cone{000a0000}-272.o(StubCode)
-    StubCode                                 0x0000a838   Section        8  cone{000a0000}-275.o(StubCode)
-    theImportedSymbol                        0x0000a83c   Data           0  cone{000a0000}-275.o(StubCode)
-    StubCode                                 0x0000a840   Section        8  cone{000a0000}-276.o(StubCode)
-    theImportedSymbol                        0x0000a844   Data           0  cone{000a0000}-276.o(StubCode)
-    StubCode                                 0x0000a848   Section        8  cone{000a0000}-287.o(StubCode)
-    theImportedSymbol                        0x0000a84c   Data           0  cone{000a0000}-287.o(StubCode)
-    StubCode                                 0x0000a850   Section        8  cone{000a0000}-288.o(StubCode)
-    theImportedSymbol                        0x0000a854   Data           0  cone{000a0000}-288.o(StubCode)
-    StubCode                                 0x0000a858   Section        8  cone{000a0000}-29.o(StubCode)
-    theImportedSymbol                        0x0000a85c   Data           0  cone{000a0000}-29.o(StubCode)
-    StubCode                                 0x0000a860   Section        8  cone{000a0000}-30.o(StubCode)
-    theImportedSymbol                        0x0000a864   Data           0  cone{000a0000}-30.o(StubCode)
-    StubCode                                 0x0000a868   Section        8  cone{000a0000}-351.o(StubCode)
-    theImportedSymbol                        0x0000a86c   Data           0  cone{000a0000}-351.o(StubCode)
-    StubCode                                 0x0000a870   Section        8  cone{000a0000}-353.o(StubCode)
-    theImportedSymbol                        0x0000a874   Data           0  cone{000a0000}-353.o(StubCode)
-    StubCode                                 0x0000a878   Section        8  cone{000a0000}-355.o(StubCode)
-    theImportedSymbol                        0x0000a87c   Data           0  cone{000a0000}-355.o(StubCode)
-    StubCode                                 0x0000a880   Section        8  cone{000a0000}-36.o(StubCode)
-    theImportedSymbol                        0x0000a884   Data           0  cone{000a0000}-36.o(StubCode)
-    StubCode                                 0x0000a888   Section        8  cone{000a0000}-39.o(StubCode)
-    theImportedSymbol                        0x0000a88c   Data           0  cone{000a0000}-39.o(StubCode)
-    StubCode                                 0x0000a890   Section        8  cone{000a0000}-396.o(StubCode)
-    theImportedSymbol                        0x0000a894   Data           0  cone{000a0000}-396.o(StubCode)
-    StubCode                                 0x0000a898   Section        8  cone{000a0000}-397.o(StubCode)
-    theImportedSymbol                        0x0000a89c   Data           0  cone{000a0000}-397.o(StubCode)
-    StubCode                                 0x0000a8a0   Section        8  cone{000a0000}-40.o(StubCode)
-    theImportedSymbol                        0x0000a8a4   Data           0  cone{000a0000}-40.o(StubCode)
-    StubCode                                 0x0000a8a8   Section        8  cone{000a0000}-41.o(StubCode)
-    theImportedSymbol                        0x0000a8ac   Data           0  cone{000a0000}-41.o(StubCode)
-    StubCode                                 0x0000a8b0   Section        8  cone{000a0000}-42.o(StubCode)
-    theImportedSymbol                        0x0000a8b4   Data           0  cone{000a0000}-42.o(StubCode)
-    StubCode                                 0x0000a8b8   Section        8  cone{000a0000}-444.o(StubCode)
-    theImportedSymbol                        0x0000a8bc   Data           0  cone{000a0000}-444.o(StubCode)
-    StubCode                                 0x0000a8c0   Section        8  cone{000a0000}-474.o(StubCode)
-    theImportedSymbol                        0x0000a8c4   Data           0  cone{000a0000}-474.o(StubCode)
-    StubCode                                 0x0000a8c8   Section        8  cone{000a0000}-477.o(StubCode)
-    theImportedSymbol                        0x0000a8cc   Data           0  cone{000a0000}-477.o(StubCode)
-    StubCode                                 0x0000a8d0   Section        8  cone{000a0000}-478.o(StubCode)
-    theImportedSymbol                        0x0000a8d4   Data           0  cone{000a0000}-478.o(StubCode)
-    StubCode                                 0x0000a8d8   Section        8  cone{000a0000}-479.o(StubCode)
-    theImportedSymbol                        0x0000a8dc   Data           0  cone{000a0000}-479.o(StubCode)
-    StubCode                                 0x0000a8e0   Section        8  cone{000a0000}-48.o(StubCode)
-    theImportedSymbol                        0x0000a8e4   Data           0  cone{000a0000}-48.o(StubCode)
-    StubCode                                 0x0000a8e8   Section        8  cone{000a0000}-482.o(StubCode)
-    theImportedSymbol                        0x0000a8ec   Data           0  cone{000a0000}-482.o(StubCode)
-    StubCode                                 0x0000a8f0   Section        8  cone{000a0000}-50.o(StubCode)
-    theImportedSymbol                        0x0000a8f4   Data           0  cone{000a0000}-50.o(StubCode)
-    StubCode                                 0x0000a8f8   Section        8  cone{000a0000}-502.o(StubCode)
-    theImportedSymbol                        0x0000a8fc   Data           0  cone{000a0000}-502.o(StubCode)
-    StubCode                                 0x0000a900   Section        8  cone{000a0000}-51.o(StubCode)
-    theImportedSymbol                        0x0000a904   Data           0  cone{000a0000}-51.o(StubCode)
-    StubCode                                 0x0000a908   Section        8  cone{000a0000}-514.o(StubCode)
-    theImportedSymbol                        0x0000a90c   Data           0  cone{000a0000}-514.o(StubCode)
-    StubCode                                 0x0000a910   Section        8  cone{000a0000}-56.o(StubCode)
-    theImportedSymbol                        0x0000a914   Data           0  cone{000a0000}-56.o(StubCode)
-    StubCode                                 0x0000a918   Section        8  cone{000a0000}-57.o(StubCode)
-    theImportedSymbol                        0x0000a91c   Data           0  cone{000a0000}-57.o(StubCode)
-    StubCode                                 0x0000a920   Section        8  cone{000a0000}-580.o(StubCode)
-    theImportedSymbol                        0x0000a924   Data           0  cone{000a0000}-580.o(StubCode)
-    StubCode                                 0x0000a928   Section        8  cone{000a0000}-581.o(StubCode)
-    theImportedSymbol                        0x0000a92c   Data           0  cone{000a0000}-581.o(StubCode)
-    StubCode                                 0x0000a930   Section        8  cone{000a0000}-582.o(StubCode)
-    theImportedSymbol                        0x0000a934   Data           0  cone{000a0000}-582.o(StubCode)
-    StubCode                                 0x0000a938   Section        8  cone{000a0000}-583.o(StubCode)
-    theImportedSymbol                        0x0000a93c   Data           0  cone{000a0000}-583.o(StubCode)
-    StubCode                                 0x0000a940   Section        8  cone{000a0000}-584.o(StubCode)
-    theImportedSymbol                        0x0000a944   Data           0  cone{000a0000}-584.o(StubCode)
-    StubCode                                 0x0000a948   Section        8  cone{000a0000}-61.o(StubCode)
-    theImportedSymbol                        0x0000a94c   Data           0  cone{000a0000}-61.o(StubCode)
-    StubCode                                 0x0000a950   Section        8  cone{000a0000}-62.o(StubCode)
-    theImportedSymbol                        0x0000a954   Data           0  cone{000a0000}-62.o(StubCode)
-    StubCode                                 0x0000a958   Section        8  cone{000a0000}-638.o(StubCode)
-    theImportedSymbol                        0x0000a95c   Data           0  cone{000a0000}-638.o(StubCode)
-    StubCode                                 0x0000a960   Section        8  cone{000a0000}-639.o(StubCode)
-    theImportedSymbol                        0x0000a964   Data           0  cone{000a0000}-639.o(StubCode)
-    StubCode                                 0x0000a968   Section        8  cone{000a0000}-64.o(StubCode)
-    theImportedSymbol                        0x0000a96c   Data           0  cone{000a0000}-64.o(StubCode)
-    StubCode                                 0x0000a970   Section        8  cone{000a0000}-664.o(StubCode)
-    theImportedSymbol                        0x0000a974   Data           0  cone{000a0000}-664.o(StubCode)
-    StubCode                                 0x0000a978   Section        8  cone{000a0000}-67.o(StubCode)
-    theImportedSymbol                        0x0000a97c   Data           0  cone{000a0000}-67.o(StubCode)
-    StubCode                                 0x0000a980   Section        8  cone{000a0000}-670.o(StubCode)
-    theImportedSymbol                        0x0000a984   Data           0  cone{000a0000}-670.o(StubCode)
-    StubCode                                 0x0000a988   Section        8  cone{000a0000}-671.o(StubCode)
-    theImportedSymbol                        0x0000a98c   Data           0  cone{000a0000}-671.o(StubCode)
-    StubCode                                 0x0000a990   Section        8  cone{000a0000}-676.o(StubCode)
-    theImportedSymbol                        0x0000a994   Data           0  cone{000a0000}-676.o(StubCode)
-    StubCode                                 0x0000a998   Section        8  cone{000a0000}-677.o(StubCode)
-    theImportedSymbol                        0x0000a99c   Data           0  cone{000a0000}-677.o(StubCode)
-    StubCode                                 0x0000a9a0   Section        8  cone{000a0000}-9.o(StubCode)
-    theImportedSymbol                        0x0000a9a4   Data           0  cone{000a0000}-9.o(StubCode)
-    StubCode                                 0x0000a9a8   Section        8  eikcore{000a0000}-141.o(StubCode)
-    theImportedSymbol                        0x0000a9ac   Data           0  eikcore{000a0000}-141.o(StubCode)
-    StubCode                                 0x0000a9b0   Section        8  eikcore{000a0000}-142.o(StubCode)
-    theImportedSymbol                        0x0000a9b4   Data           0  eikcore{000a0000}-142.o(StubCode)
-    StubCode                                 0x0000a9b8   Section        8  eikcore{000a0000}-143.o(StubCode)
-    theImportedSymbol                        0x0000a9bc   Data           0  eikcore{000a0000}-143.o(StubCode)
-    StubCode                                 0x0000a9c0   Section        8  eikcore{000a0000}-144.o(StubCode)
-    theImportedSymbol                        0x0000a9c4   Data           0  eikcore{000a0000}-144.o(StubCode)
-    StubCode                                 0x0000a9c8   Section        8  eikcore{000a0000}-147.o(StubCode)
-    theImportedSymbol                        0x0000a9cc   Data           0  eikcore{000a0000}-147.o(StubCode)
-    StubCode                                 0x0000a9d0   Section        8  eikcore{000a0000}-152.o(StubCode)
-    theImportedSymbol                        0x0000a9d4   Data           0  eikcore{000a0000}-152.o(StubCode)
-    StubCode                                 0x0000a9d8   Section        8  eikcore{000a0000}-155.o(StubCode)
-    theImportedSymbol                        0x0000a9dc   Data           0  eikcore{000a0000}-155.o(StubCode)
-    StubCode                                 0x0000a9e0   Section        8  eikcore{000a0000}-158.o(StubCode)
-    theImportedSymbol                        0x0000a9e4   Data           0  eikcore{000a0000}-158.o(StubCode)
-    StubCode                                 0x0000a9e8   Section        8  eikcore{000a0000}-159.o(StubCode)
-    theImportedSymbol                        0x0000a9ec   Data           0  eikcore{000a0000}-159.o(StubCode)
-    StubCode                                 0x0000a9f0   Section        8  eikcore{000a0000}-169.o(StubCode)
-    theImportedSymbol                        0x0000a9f4   Data           0  eikcore{000a0000}-169.o(StubCode)
-    StubCode                                 0x0000a9f8   Section        8  eikcore{000a0000}-171.o(StubCode)
-    theImportedSymbol                        0x0000a9fc   Data           0  eikcore{000a0000}-171.o(StubCode)
-    StubCode                                 0x0000aa00   Section        8  eikcore{000a0000}-175.o(StubCode)
-    theImportedSymbol                        0x0000aa04   Data           0  eikcore{000a0000}-175.o(StubCode)
-    StubCode                                 0x0000aa08   Section        8  eikcore{000a0000}-18.o(StubCode)
-    theImportedSymbol                        0x0000aa0c   Data           0  eikcore{000a0000}-18.o(StubCode)
-    StubCode                                 0x0000aa10   Section        8  eikcore{000a0000}-20.o(StubCode)
-    theImportedSymbol                        0x0000aa14   Data           0  eikcore{000a0000}-20.o(StubCode)
-    StubCode                                 0x0000aa18   Section        8  eikcore{000a0000}-25.o(StubCode)
-    theImportedSymbol                        0x0000aa1c   Data           0  eikcore{000a0000}-25.o(StubCode)
-    StubCode                                 0x0000aa20   Section        8  eikcore{000a0000}-26.o(StubCode)
-    theImportedSymbol                        0x0000aa24   Data           0  eikcore{000a0000}-26.o(StubCode)
-    StubCode                                 0x0000aa28   Section        8  eikcore{000a0000}-27.o(StubCode)
-    theImportedSymbol                        0x0000aa2c   Data           0  eikcore{000a0000}-27.o(StubCode)
-    StubCode                                 0x0000aa30   Section        8  eikcore{000a0000}-28.o(StubCode)
-    theImportedSymbol                        0x0000aa34   Data           0  eikcore{000a0000}-28.o(StubCode)
-    StubCode                                 0x0000aa38   Section        8  eikcore{000a0000}-29.o(StubCode)
-    theImportedSymbol                        0x0000aa3c   Data           0  eikcore{000a0000}-29.o(StubCode)
-    StubCode                                 0x0000aa40   Section        8  eikcore{000a0000}-291.o(StubCode)
-    theImportedSymbol                        0x0000aa44   Data           0  eikcore{000a0000}-291.o(StubCode)
-    StubCode                                 0x0000aa48   Section        8  eikcore{000a0000}-293.o(StubCode)
-    theImportedSymbol                        0x0000aa4c   Data           0  eikcore{000a0000}-293.o(StubCode)
-    StubCode                                 0x0000aa50   Section        8  eikcore{000a0000}-294.o(StubCode)
-    theImportedSymbol                        0x0000aa54   Data           0  eikcore{000a0000}-294.o(StubCode)
-    StubCode                                 0x0000aa58   Section        8  eikcore{000a0000}-295.o(StubCode)
-    theImportedSymbol                        0x0000aa5c   Data           0  eikcore{000a0000}-295.o(StubCode)
-    StubCode                                 0x0000aa60   Section        8  eikcore{000a0000}-296.o(StubCode)
-    theImportedSymbol                        0x0000aa64   Data           0  eikcore{000a0000}-296.o(StubCode)
-    StubCode                                 0x0000aa68   Section        8  eikcore{000a0000}-297.o(StubCode)
-    theImportedSymbol                        0x0000aa6c   Data           0  eikcore{000a0000}-297.o(StubCode)
-    StubCode                                 0x0000aa70   Section        8  eikcore{000a0000}-298.o(StubCode)
-    theImportedSymbol                        0x0000aa74   Data           0  eikcore{000a0000}-298.o(StubCode)
-    StubCode                                 0x0000aa78   Section        8  eikcore{000a0000}-299.o(StubCode)
-    theImportedSymbol                        0x0000aa7c   Data           0  eikcore{000a0000}-299.o(StubCode)
-    StubCode                                 0x0000aa80   Section        8  eikcore{000a0000}-30.o(StubCode)
-    theImportedSymbol                        0x0000aa84   Data           0  eikcore{000a0000}-30.o(StubCode)
-    StubCode                                 0x0000aa88   Section        8  eikcore{000a0000}-302.o(StubCode)
-    theImportedSymbol                        0x0000aa8c   Data           0  eikcore{000a0000}-302.o(StubCode)
-    StubCode                                 0x0000aa90   Section        8  eikcore{000a0000}-31.o(StubCode)
-    theImportedSymbol                        0x0000aa94   Data           0  eikcore{000a0000}-31.o(StubCode)
-    StubCode                                 0x0000aa98   Section        8  eikcore{000a0000}-315.o(StubCode)
-    theImportedSymbol                        0x0000aa9c   Data           0  eikcore{000a0000}-315.o(StubCode)
-    StubCode                                 0x0000aaa0   Section        8  eikcore{000a0000}-317.o(StubCode)
-    theImportedSymbol                        0x0000aaa4   Data           0  eikcore{000a0000}-317.o(StubCode)
-    StubCode                                 0x0000aaa8   Section        8  eikcore{000a0000}-319.o(StubCode)
-    theImportedSymbol                        0x0000aaac   Data           0  eikcore{000a0000}-319.o(StubCode)
-    StubCode                                 0x0000aab0   Section        8  eikcore{000a0000}-352.o(StubCode)
-    theImportedSymbol                        0x0000aab4   Data           0  eikcore{000a0000}-352.o(StubCode)
-    StubCode                                 0x0000aab8   Section        8  eikcore{000a0000}-37.o(StubCode)
-    theImportedSymbol                        0x0000aabc   Data           0  eikcore{000a0000}-37.o(StubCode)
-    StubCode                                 0x0000aac0   Section        8  eikcore{000a0000}-390.o(StubCode)
-    theImportedSymbol                        0x0000aac4   Data           0  eikcore{000a0000}-390.o(StubCode)
-    StubCode                                 0x0000aac8   Section        8  eikcore{000a0000}-392.o(StubCode)
-    theImportedSymbol                        0x0000aacc   Data           0  eikcore{000a0000}-392.o(StubCode)
-    StubCode                                 0x0000aad0   Section        8  eikcore{000a0000}-394.o(StubCode)
-    theImportedSymbol                        0x0000aad4   Data           0  eikcore{000a0000}-394.o(StubCode)
-    StubCode                                 0x0000aad8   Section        8  eikcore{000a0000}-467.o(StubCode)
-    theImportedSymbol                        0x0000aadc   Data           0  eikcore{000a0000}-467.o(StubCode)
-    StubCode                                 0x0000aae0   Section        8  eikcore{000a0000}-472.o(StubCode)
-    theImportedSymbol                        0x0000aae4   Data           0  eikcore{000a0000}-472.o(StubCode)
-    StubCode                                 0x0000aae8   Section        8  eikcore{000a0000}-473.o(StubCode)
-    theImportedSymbol                        0x0000aaec   Data           0  eikcore{000a0000}-473.o(StubCode)
-    StubCode                                 0x0000aaf0   Section        8  eikcore{000a0000}-479.o(StubCode)
-    theImportedSymbol                        0x0000aaf4   Data           0  eikcore{000a0000}-479.o(StubCode)
-    StubCode                                 0x0000aaf8   Section        8  eikcore{000a0000}-490.o(StubCode)
-    theImportedSymbol                        0x0000aafc   Data           0  eikcore{000a0000}-490.o(StubCode)
-    StubCode                                 0x0000ab00   Section        8  eikcore{000a0000}-506.o(StubCode)
-    theImportedSymbol                        0x0000ab04   Data           0  eikcore{000a0000}-506.o(StubCode)
-    StubCode                                 0x0000ab08   Section        8  eikcore{000a0000}-523.o(StubCode)
-    theImportedSymbol                        0x0000ab0c   Data           0  eikcore{000a0000}-523.o(StubCode)
-    StubCode                                 0x0000ab10   Section        8  eikcore{000a0000}-532.o(StubCode)
-    theImportedSymbol                        0x0000ab14   Data           0  eikcore{000a0000}-532.o(StubCode)
-    StubCode                                 0x0000ab18   Section        8  eikcore{000a0000}-533.o(StubCode)
-    theImportedSymbol                        0x0000ab1c   Data           0  eikcore{000a0000}-533.o(StubCode)
-    StubCode                                 0x0000ab20   Section        8  eikcore{000a0000}-534.o(StubCode)
-    theImportedSymbol                        0x0000ab24   Data           0  eikcore{000a0000}-534.o(StubCode)
-    StubCode                                 0x0000ab28   Section        8  eikcore{000a0000}-535.o(StubCode)
-    theImportedSymbol                        0x0000ab2c   Data           0  eikcore{000a0000}-535.o(StubCode)
-    StubCode                                 0x0000ab30   Section        8  eikcore{000a0000}-536.o(StubCode)
-    theImportedSymbol                        0x0000ab34   Data           0  eikcore{000a0000}-536.o(StubCode)
-    StubCode                                 0x0000ab38   Section        8  eikcore{000a0000}-537.o(StubCode)
-    theImportedSymbol                        0x0000ab3c   Data           0  eikcore{000a0000}-537.o(StubCode)
-    StubCode                                 0x0000ab40   Section        8  eikcore{000a0000}-565.o(StubCode)
-    theImportedSymbol                        0x0000ab44   Data           0  eikcore{000a0000}-565.o(StubCode)
-    StubCode                                 0x0000ab48   Section        8  eikcore{000a0000}-61.o(StubCode)
-    theImportedSymbol                        0x0000ab4c   Data           0  eikcore{000a0000}-61.o(StubCode)
-    StubCode                                 0x0000ab50   Section        8  eikcore{000a0000}-62.o(StubCode)
-    theImportedSymbol                        0x0000ab54   Data           0  eikcore{000a0000}-62.o(StubCode)
-    StubCode                                 0x0000ab58   Section        8  eikcore{000a0000}-63.o(StubCode)
-    theImportedSymbol                        0x0000ab5c   Data           0  eikcore{000a0000}-63.o(StubCode)
-    StubCode                                 0x0000ab60   Section        8  eikcore{000a0000}-64.o(StubCode)
-    theImportedSymbol                        0x0000ab64   Data           0  eikcore{000a0000}-64.o(StubCode)
-    StubCode                                 0x0000ab68   Section        8  eikcore{000a0000}-67.o(StubCode)
-    theImportedSymbol                        0x0000ab6c   Data           0  eikcore{000a0000}-67.o(StubCode)
-    StubCode                                 0x0000ab70   Section        8  eikcore{000a0000}-72.o(StubCode)
-    theImportedSymbol                        0x0000ab74   Data           0  eikcore{000a0000}-72.o(StubCode)
-    StubCode                                 0x0000ab78   Section        8  eikcore{000a0000}-73.o(StubCode)
-    theImportedSymbol                        0x0000ab7c   Data           0  eikcore{000a0000}-73.o(StubCode)
-    StubCode                                 0x0000ab80   Section        8  eikcore{000a0000}-74.o(StubCode)
-    theImportedSymbol                        0x0000ab84   Data           0  eikcore{000a0000}-74.o(StubCode)
-    StubCode                                 0x0000ab88   Section        8  eikcore{000a0000}-75.o(StubCode)
-    theImportedSymbol                        0x0000ab8c   Data           0  eikcore{000a0000}-75.o(StubCode)
-    StubCode                                 0x0000ab90   Section        8  eikcore{000a0000}-76.o(StubCode)
-    theImportedSymbol                        0x0000ab94   Data           0  eikcore{000a0000}-76.o(StubCode)
-    StubCode                                 0x0000ab98   Section        8  eikcore{000a0000}-77.o(StubCode)
-    theImportedSymbol                        0x0000ab9c   Data           0  eikcore{000a0000}-77.o(StubCode)
-    StubCode                                 0x0000aba0   Section        8  eikcore{000a0000}-78.o(StubCode)
-    theImportedSymbol                        0x0000aba4   Data           0  eikcore{000a0000}-78.o(StubCode)
-    StubCode                                 0x0000aba8   Section        8  eikcore{000a0000}-79.o(StubCode)
-    theImportedSymbol                        0x0000abac   Data           0  eikcore{000a0000}-79.o(StubCode)
-    StubCode                                 0x0000abb0   Section        8  eikcoctl{000a0000}-1376.o(StubCode)
-    theImportedSymbol                        0x0000abb4   Data           0  eikcoctl{000a0000}-1376.o(StubCode)
-    StubCode                                 0x0000abb8   Section        8  eikcoctl{000a0000}-140.o(StubCode)
-    theImportedSymbol                        0x0000abbc   Data           0  eikcoctl{000a0000}-140.o(StubCode)
-    StubCode                                 0x0000abc0   Section        8  eikcoctl{000a0000}-1430.o(StubCode)
-    theImportedSymbol                        0x0000abc4   Data           0  eikcoctl{000a0000}-1430.o(StubCode)
-    StubCode                                 0x0000abc8   Section        8  eikcoctl{000a0000}-35.o(StubCode)
-    theImportedSymbol                        0x0000abcc   Data           0  eikcoctl{000a0000}-35.o(StubCode)
-    StubCode                                 0x0000abd0   Section        8  eikcoctl{000a0000}-46.o(StubCode)
-    theImportedSymbol                        0x0000abd4   Data           0  eikcoctl{000a0000}-46.o(StubCode)
-    StubCode                                 0x0000abd8   Section        8  eikcoctl{000a0000}-605.o(StubCode)
-    theImportedSymbol                        0x0000abdc   Data           0  eikcoctl{000a0000}-605.o(StubCode)
-    StubCode                                 0x0000abe0   Section        8  eikcoctl{000a0000}-606.o(StubCode)
-    theImportedSymbol                        0x0000abe4   Data           0  eikcoctl{000a0000}-606.o(StubCode)
-    StubCode                                 0x0000abe8   Section        8  eikcoctl{000a0000}-660.o(StubCode)
-    theImportedSymbol                        0x0000abec   Data           0  eikcoctl{000a0000}-660.o(StubCode)
-    StubCode                                 0x0000abf0   Section        8  eikcoctl{000a0000}-875.o(StubCode)
-    theImportedSymbol                        0x0000abf4   Data           0  eikcoctl{000a0000}-875.o(StubCode)
-    StubCode                                 0x0000abf8   Section        8  eikcoctl{000a0000}-880.o(StubCode)
-    theImportedSymbol                        0x0000abfc   Data           0  eikcoctl{000a0000}-880.o(StubCode)
-    StubCode                                 0x0000ac00   Section        8  eikcoctl{000a0000}-881.o(StubCode)
-    theImportedSymbol                        0x0000ac04   Data           0  eikcoctl{000a0000}-881.o(StubCode)
-    StubCode                                 0x0000ac08   Section        8  eikctl{000a0000}-455.o(StubCode)
-    theImportedSymbol                        0x0000ac0c   Data           0  eikctl{000a0000}-455.o(StubCode)
-    StubCode                                 0x0000ac10   Section        8  avkon{000a0000}-1132.o(StubCode)
-    theImportedSymbol                        0x0000ac14   Data           0  avkon{000a0000}-1132.o(StubCode)
-    StubCode                                 0x0000ac18   Section        8  avkon{000a0000}-129.o(StubCode)
-    theImportedSymbol                        0x0000ac1c   Data           0  avkon{000a0000}-129.o(StubCode)
-    StubCode                                 0x0000ac20   Section        8  avkon{000a0000}-130.o(StubCode)
-    theImportedSymbol                        0x0000ac24   Data           0  avkon{000a0000}-130.o(StubCode)
-    StubCode                                 0x0000ac28   Section        8  avkon{000a0000}-131.o(StubCode)
-    theImportedSymbol                        0x0000ac2c   Data           0  avkon{000a0000}-131.o(StubCode)
-    StubCode                                 0x0000ac30   Section        8  avkon{000a0000}-1341.o(StubCode)
-    theImportedSymbol                        0x0000ac34   Data           0  avkon{000a0000}-1341.o(StubCode)
-    StubCode                                 0x0000ac38   Section        8  avkon{000a0000}-198.o(StubCode)
-    theImportedSymbol                        0x0000ac3c   Data           0  avkon{000a0000}-198.o(StubCode)
-    StubCode                                 0x0000ac40   Section        8  avkon{000a0000}-199.o(StubCode)
-    theImportedSymbol                        0x0000ac44   Data           0  avkon{000a0000}-199.o(StubCode)
-    StubCode                                 0x0000ac48   Section        8  avkon{000a0000}-1996.o(StubCode)
-    theImportedSymbol                        0x0000ac4c   Data           0  avkon{000a0000}-1996.o(StubCode)
-    StubCode                                 0x0000ac50   Section        8  avkon{000a0000}-201.o(StubCode)
-    theImportedSymbol                        0x0000ac54   Data           0  avkon{000a0000}-201.o(StubCode)
-    StubCode                                 0x0000ac58   Section        8  avkon{000a0000}-206.o(StubCode)
-    theImportedSymbol                        0x0000ac5c   Data           0  avkon{000a0000}-206.o(StubCode)
-    StubCode                                 0x0000ac60   Section        8  avkon{000a0000}-211.o(StubCode)
-    theImportedSymbol                        0x0000ac64   Data           0  avkon{000a0000}-211.o(StubCode)
-    StubCode                                 0x0000ac68   Section        8  avkon{000a0000}-213.o(StubCode)
-    theImportedSymbol                        0x0000ac6c   Data           0  avkon{000a0000}-213.o(StubCode)
-    StubCode                                 0x0000ac70   Section        8  avkon{000a0000}-214.o(StubCode)
-    theImportedSymbol                        0x0000ac74   Data           0  avkon{000a0000}-214.o(StubCode)
-    StubCode                                 0x0000ac78   Section        8  avkon{000a0000}-215.o(StubCode)
-    theImportedSymbol                        0x0000ac7c   Data           0  avkon{000a0000}-215.o(StubCode)
-    StubCode                                 0x0000ac80   Section        8  avkon{000a0000}-216.o(StubCode)
-    theImportedSymbol                        0x0000ac84   Data           0  avkon{000a0000}-216.o(StubCode)
-    StubCode                                 0x0000ac88   Section        8  avkon{000a0000}-2163.o(StubCode)
-    theImportedSymbol                        0x0000ac8c   Data           0  avkon{000a0000}-2163.o(StubCode)
-    StubCode                                 0x0000ac90   Section        8  avkon{000a0000}-217.o(StubCode)
-    theImportedSymbol                        0x0000ac94   Data           0  avkon{000a0000}-217.o(StubCode)
-    StubCode                                 0x0000ac98   Section        8  avkon{000a0000}-2178.o(StubCode)
-    theImportedSymbol                        0x0000ac9c   Data           0  avkon{000a0000}-2178.o(StubCode)
-    StubCode                                 0x0000aca0   Section        8  avkon{000a0000}-220.o(StubCode)
-    theImportedSymbol                        0x0000aca4   Data           0  avkon{000a0000}-220.o(StubCode)
-    StubCode                                 0x0000aca8   Section        8  avkon{000a0000}-2591.o(StubCode)
-    theImportedSymbol                        0x0000acac   Data           0  avkon{000a0000}-2591.o(StubCode)
-    StubCode                                 0x0000acb0   Section        8  avkon{000a0000}-2624.o(StubCode)
-    theImportedSymbol                        0x0000acb4   Data           0  avkon{000a0000}-2624.o(StubCode)
-    StubCode                                 0x0000acb8   Section        8  avkon{000a0000}-2632.o(StubCode)
-    theImportedSymbol                        0x0000acbc   Data           0  avkon{000a0000}-2632.o(StubCode)
-    StubCode                                 0x0000acc0   Section        8  avkon{000a0000}-2895.o(StubCode)
-    theImportedSymbol                        0x0000acc4   Data           0  avkon{000a0000}-2895.o(StubCode)
-    StubCode                                 0x0000acc8   Section        8  avkon{000a0000}-2898.o(StubCode)
-    theImportedSymbol                        0x0000accc   Data           0  avkon{000a0000}-2898.o(StubCode)
-    StubCode                                 0x0000acd0   Section        8  avkon{000a0000}-2899.o(StubCode)
-    theImportedSymbol                        0x0000acd4   Data           0  avkon{000a0000}-2899.o(StubCode)
-    StubCode                                 0x0000acd8   Section        8  avkon{000a0000}-2900.o(StubCode)
-    theImportedSymbol                        0x0000acdc   Data           0  avkon{000a0000}-2900.o(StubCode)
-    StubCode                                 0x0000ace0   Section        8  avkon{000a0000}-2901.o(StubCode)
-    theImportedSymbol                        0x0000ace4   Data           0  avkon{000a0000}-2901.o(StubCode)
-    StubCode                                 0x0000ace8   Section        8  avkon{000a0000}-2902.o(StubCode)
-    theImportedSymbol                        0x0000acec   Data           0  avkon{000a0000}-2902.o(StubCode)
-    StubCode                                 0x0000acf0   Section        8  avkon{000a0000}-2903.o(StubCode)
-    theImportedSymbol                        0x0000acf4   Data           0  avkon{000a0000}-2903.o(StubCode)
-    StubCode                                 0x0000acf8   Section        8  avkon{000a0000}-2904.o(StubCode)
-    theImportedSymbol                        0x0000acfc   Data           0  avkon{000a0000}-2904.o(StubCode)
-    StubCode                                 0x0000ad00   Section        8  avkon{000a0000}-2905.o(StubCode)
-    theImportedSymbol                        0x0000ad04   Data           0  avkon{000a0000}-2905.o(StubCode)
-    StubCode                                 0x0000ad08   Section        8  avkon{000a0000}-2906.o(StubCode)
-    theImportedSymbol                        0x0000ad0c   Data           0  avkon{000a0000}-2906.o(StubCode)
-    StubCode                                 0x0000ad10   Section        8  avkon{000a0000}-2907.o(StubCode)
-    theImportedSymbol                        0x0000ad14   Data           0  avkon{000a0000}-2907.o(StubCode)
-    StubCode                                 0x0000ad18   Section        8  avkon{000a0000}-2909.o(StubCode)
-    theImportedSymbol                        0x0000ad1c   Data           0  avkon{000a0000}-2909.o(StubCode)
-    StubCode                                 0x0000ad20   Section        8  avkon{000a0000}-2910.o(StubCode)
-    theImportedSymbol                        0x0000ad24   Data           0  avkon{000a0000}-2910.o(StubCode)
-    StubCode                                 0x0000ad28   Section        8  avkon{000a0000}-2912.o(StubCode)
-    theImportedSymbol                        0x0000ad2c   Data           0  avkon{000a0000}-2912.o(StubCode)
-    StubCode                                 0x0000ad30   Section        8  avkon{000a0000}-2913.o(StubCode)
-    theImportedSymbol                        0x0000ad34   Data           0  avkon{000a0000}-2913.o(StubCode)
-    StubCode                                 0x0000ad38   Section        8  avkon{000a0000}-2914.o(StubCode)
-    theImportedSymbol                        0x0000ad3c   Data           0  avkon{000a0000}-2914.o(StubCode)
-    StubCode                                 0x0000ad40   Section        8  avkon{000a0000}-2917.o(StubCode)
-    theImportedSymbol                        0x0000ad44   Data           0  avkon{000a0000}-2917.o(StubCode)
-    StubCode                                 0x0000ad48   Section        8  avkon{000a0000}-2919.o(StubCode)
-    theImportedSymbol                        0x0000ad4c   Data           0  avkon{000a0000}-2919.o(StubCode)
-    StubCode                                 0x0000ad50   Section        8  avkon{000a0000}-2920.o(StubCode)
-    theImportedSymbol                        0x0000ad54   Data           0  avkon{000a0000}-2920.o(StubCode)
-    StubCode                                 0x0000ad58   Section        8  avkon{000a0000}-2922.o(StubCode)
-    theImportedSymbol                        0x0000ad5c   Data           0  avkon{000a0000}-2922.o(StubCode)
-    StubCode                                 0x0000ad60   Section        8  avkon{000a0000}-2928.o(StubCode)
-    theImportedSymbol                        0x0000ad64   Data           0  avkon{000a0000}-2928.o(StubCode)
-    StubCode                                 0x0000ad68   Section        8  avkon{000a0000}-2929.o(StubCode)
-    theImportedSymbol                        0x0000ad6c   Data           0  avkon{000a0000}-2929.o(StubCode)
-    StubCode                                 0x0000ad70   Section        8  avkon{000a0000}-2930.o(StubCode)
-    theImportedSymbol                        0x0000ad74   Data           0  avkon{000a0000}-2930.o(StubCode)
-    StubCode                                 0x0000ad78   Section        8  avkon{000a0000}-2932.o(StubCode)
-    theImportedSymbol                        0x0000ad7c   Data           0  avkon{000a0000}-2932.o(StubCode)
-    StubCode                                 0x0000ad80   Section        8  avkon{000a0000}-2934.o(StubCode)
-    theImportedSymbol                        0x0000ad84   Data           0  avkon{000a0000}-2934.o(StubCode)
-    StubCode                                 0x0000ad88   Section        8  avkon{000a0000}-2936.o(StubCode)
-    theImportedSymbol                        0x0000ad8c   Data           0  avkon{000a0000}-2936.o(StubCode)
-    StubCode                                 0x0000ad90   Section        8  avkon{000a0000}-2993.o(StubCode)
-    theImportedSymbol                        0x0000ad94   Data           0  avkon{000a0000}-2993.o(StubCode)
-    StubCode                                 0x0000ad98   Section        8  avkon{000a0000}-2997.o(StubCode)
-    theImportedSymbol                        0x0000ad9c   Data           0  avkon{000a0000}-2997.o(StubCode)
-    StubCode                                 0x0000ada0   Section        8  avkon{000a0000}-3417.o(StubCode)
-    theImportedSymbol                        0x0000ada4   Data           0  avkon{000a0000}-3417.o(StubCode)
-    StubCode                                 0x0000ada8   Section        8  avkon{000a0000}-3420.o(StubCode)
-    theImportedSymbol                        0x0000adac   Data           0  avkon{000a0000}-3420.o(StubCode)
-    StubCode                                 0x0000adb0   Section        8  avkon{000a0000}-3421.o(StubCode)
-    theImportedSymbol                        0x0000adb4   Data           0  avkon{000a0000}-3421.o(StubCode)
-    StubCode                                 0x0000adb8   Section        8  avkon{000a0000}-3422.o(StubCode)
-    theImportedSymbol                        0x0000adbc   Data           0  avkon{000a0000}-3422.o(StubCode)
-    StubCode                                 0x0000adc0   Section        8  avkon{000a0000}-3423.o(StubCode)
-    theImportedSymbol                        0x0000adc4   Data           0  avkon{000a0000}-3423.o(StubCode)
-    StubCode                                 0x0000adc8   Section        8  avkon{000a0000}-3424.o(StubCode)
-    theImportedSymbol                        0x0000adcc   Data           0  avkon{000a0000}-3424.o(StubCode)
-    StubCode                                 0x0000add0   Section        8  avkon{000a0000}-367.o(StubCode)
-    theImportedSymbol                        0x0000add4   Data           0  avkon{000a0000}-367.o(StubCode)
-    StubCode                                 0x0000add8   Section        8  avkon{000a0000}-368.o(StubCode)
-    theImportedSymbol                        0x0000addc   Data           0  avkon{000a0000}-368.o(StubCode)
-    StubCode                                 0x0000ade0   Section        8  avkon{000a0000}-369.o(StubCode)
-    theImportedSymbol                        0x0000ade4   Data           0  avkon{000a0000}-369.o(StubCode)
-    StubCode                                 0x0000ade8   Section        8  avkon{000a0000}-370.o(StubCode)
-    theImportedSymbol                        0x0000adec   Data           0  avkon{000a0000}-370.o(StubCode)
-    StubCode                                 0x0000adf0   Section        8  avkon{000a0000}-372.o(StubCode)
-    theImportedSymbol                        0x0000adf4   Data           0  avkon{000a0000}-372.o(StubCode)
-    StubCode                                 0x0000adf8   Section        8  avkon{000a0000}-373.o(StubCode)
-    theImportedSymbol                        0x0000adfc   Data           0  avkon{000a0000}-373.o(StubCode)
-    StubCode                                 0x0000ae00   Section        8  avkon{000a0000}-374.o(StubCode)
-    theImportedSymbol                        0x0000ae04   Data           0  avkon{000a0000}-374.o(StubCode)
-    StubCode                                 0x0000ae08   Section        8  avkon{000a0000}-375.o(StubCode)
-    theImportedSymbol                        0x0000ae0c   Data           0  avkon{000a0000}-375.o(StubCode)
-    StubCode                                 0x0000ae10   Section        8  avkon{000a0000}-377.o(StubCode)
-    theImportedSymbol                        0x0000ae14   Data           0  avkon{000a0000}-377.o(StubCode)
-    StubCode                                 0x0000ae18   Section        8  avkon{000a0000}-3826.o(StubCode)
-    theImportedSymbol                        0x0000ae1c   Data           0  avkon{000a0000}-3826.o(StubCode)
-    StubCode                                 0x0000ae20   Section        8  avkon{000a0000}-3831.o(StubCode)
-    theImportedSymbol                        0x0000ae24   Data           0  avkon{000a0000}-3831.o(StubCode)
-    StubCode                                 0x0000ae28   Section        8  avkon{000a0000}-3832.o(StubCode)
-    theImportedSymbol                        0x0000ae2c   Data           0  avkon{000a0000}-3832.o(StubCode)
-    StubCode                                 0x0000ae30   Section        8  avkon{000a0000}-3857.o(StubCode)
-    theImportedSymbol                        0x0000ae34   Data           0  avkon{000a0000}-3857.o(StubCode)
-    StubCode                                 0x0000ae38   Section        8  avkon{000a0000}-3860.o(StubCode)
-    theImportedSymbol                        0x0000ae3c   Data           0  avkon{000a0000}-3860.o(StubCode)
-    StubCode                                 0x0000ae40   Section        8  avkon{000a0000}-3861.o(StubCode)
-    theImportedSymbol                        0x0000ae44   Data           0  avkon{000a0000}-3861.o(StubCode)
-    StubCode                                 0x0000ae48   Section        8  avkon{000a0000}-3868.o(StubCode)
-    theImportedSymbol                        0x0000ae4c   Data           0  avkon{000a0000}-3868.o(StubCode)
-    StubCode                                 0x0000ae50   Section        8  avkon{000a0000}-3947.o(StubCode)
-    theImportedSymbol                        0x0000ae54   Data           0  avkon{000a0000}-3947.o(StubCode)
-    StubCode                                 0x0000ae58   Section        8  avkon{000a0000}-3948.o(StubCode)
-    theImportedSymbol                        0x0000ae5c   Data           0  avkon{000a0000}-3948.o(StubCode)
-    StubCode                                 0x0000ae60   Section        8  avkon{000a0000}-3949.o(StubCode)
-    theImportedSymbol                        0x0000ae64   Data           0  avkon{000a0000}-3949.o(StubCode)
-    StubCode                                 0x0000ae68   Section        8  avkon{000a0000}-3983.o(StubCode)
-    theImportedSymbol                        0x0000ae6c   Data           0  avkon{000a0000}-3983.o(StubCode)
-    StubCode                                 0x0000ae70   Section        8  avkon{000a0000}-4014.o(StubCode)
-    theImportedSymbol                        0x0000ae74   Data           0  avkon{000a0000}-4014.o(StubCode)
-    StubCode                                 0x0000ae78   Section        8  avkon{000a0000}-4030.o(StubCode)
-    theImportedSymbol                        0x0000ae7c   Data           0  avkon{000a0000}-4030.o(StubCode)
-    StubCode                                 0x0000ae80   Section        8  AknIcon{000a0000}-13.o(StubCode)
-    theImportedSymbol                        0x0000ae84   Data           0  AknIcon{000a0000}-13.o(StubCode)
-    StubCode                                 0x0000ae88   Section        8  egul{000a0000}-94.o(StubCode)
-    theImportedSymbol                        0x0000ae8c   Data           0  egul{000a0000}-94.o(StubCode)
-    StubCode                                 0x0000ae90   Section        8  egul{000a0000}-95.o(StubCode)
-    theImportedSymbol                        0x0000ae94   Data           0  egul{000a0000}-95.o(StubCode)
-    StubCode                                 0x0000ae98   Section        8  gdi{000a0000}-310.o(StubCode)
-    theImportedSymbol                        0x0000ae9c   Data           0  gdi{000a0000}-310.o(StubCode)
-    StubCode                                 0x0000aea0   Section        8  gdi{000a0000}-311.o(StubCode)
-    theImportedSymbol                        0x0000aea4   Data           0  gdi{000a0000}-311.o(StubCode)
-    StubCode                                 0x0000aea8   Section        8  gdi{000a0000}-312.o(StubCode)
-    theImportedSymbol                        0x0000aeac   Data           0  gdi{000a0000}-312.o(StubCode)
-    StubCode                                 0x0000aeb0   Section        8  fbscli{000a0000}-26.o(StubCode)
-    theImportedSymbol                        0x0000aeb4   Data           0  fbscli{000a0000}-26.o(StubCode)
-    StubCode                                 0x0000aeb8   Section        8  fbscli{000a0000}-31.o(StubCode)
-    theImportedSymbol                        0x0000aebc   Data           0  fbscli{000a0000}-31.o(StubCode)
-    StubCode                                 0x0000aec0   Section        8  eposlandmarks{000a0000}-12.o(StubCode)
-    theImportedSymbol                        0x0000aec4   Data           0  eposlandmarks{000a0000}-12.o(StubCode)
-    StubCode                                 0x0000aec8   Section        8  eposlandmarks{000a0000}-15.o(StubCode)
-    theImportedSymbol                        0x0000aecc   Data           0  eposlandmarks{000a0000}-15.o(StubCode)
-    StubCode                                 0x0000aed0   Section        8  eposlandmarks{000a0000}-4.o(StubCode)
-    theImportedSymbol                        0x0000aed4   Data           0  eposlandmarks{000a0000}-4.o(StubCode)
-    StubCode                                 0x0000aed8   Section        8  eposlandmarks{000a0000}-50.o(StubCode)
-    theImportedSymbol                        0x0000aedc   Data           0  eposlandmarks{000a0000}-50.o(StubCode)
-    StubCode                                 0x0000aee0   Section        8  eposlandmarks{000a0000}-65.o(StubCode)
-    theImportedSymbol                        0x0000aee4   Data           0  eposlandmarks{000a0000}-65.o(StubCode)
-    StubCode                                 0x0000aee8   Section        8  eposlandmarks{000a0000}-67.o(StubCode)
-    theImportedSymbol                        0x0000aeec   Data           0  eposlandmarks{000a0000}-67.o(StubCode)
-    StubCode                                 0x0000aef0   Section        8  eposlandmarks{000a0000}-75.o(StubCode)
-    theImportedSymbol                        0x0000aef4   Data           0  eposlandmarks{000a0000}-75.o(StubCode)
-    StubCode                                 0x0000aef8   Section        8  lbs{000a0000}-152.o(StubCode)
-    theImportedSymbol                        0x0000aefc   Data           0  lbs{000a0000}-152.o(StubCode)
-    StubCode                                 0x0000af00   Section        8  lbs{000a0000}-180.o(StubCode)
-    theImportedSymbol                        0x0000af04   Data           0  lbs{000a0000}-180.o(StubCode)
-    StubCode                                 0x0000af08   Section        8  lbs{000a0000}-181.o(StubCode)
-    theImportedSymbol                        0x0000af0c   Data           0  lbs{000a0000}-181.o(StubCode)
-    StubCode                                 0x0000af10   Section        8  lbs{000a0000}-205.o(StubCode)
-    theImportedSymbol                        0x0000af14   Data           0  lbs{000a0000}-205.o(StubCode)
-    StubCode                                 0x0000af18   Section        8  lbs{000a0000}-207.o(StubCode)
-    theImportedSymbol                        0x0000af1c   Data           0  lbs{000a0000}-207.o(StubCode)
-    StubCode                                 0x0000af20   Section        8  lbs{000a0000}-21.o(StubCode)
-    theImportedSymbol                        0x0000af24   Data           0  lbs{000a0000}-21.o(StubCode)
-    StubCode                                 0x0000af28   Section        8  lbs{000a0000}-214.o(StubCode)
-    theImportedSymbol                        0x0000af2c   Data           0  lbs{000a0000}-214.o(StubCode)
-    StubCode                                 0x0000af30   Section        8  lbs{000a0000}-223.o(StubCode)
-    theImportedSymbol                        0x0000af34   Data           0  lbs{000a0000}-223.o(StubCode)
-    StubCode                                 0x0000af38   Section        8  lbs{000a0000}-225.o(StubCode)
-    theImportedSymbol                        0x0000af3c   Data           0  lbs{000a0000}-225.o(StubCode)
-    StubCode                                 0x0000af40   Section        8  lbs{000a0000}-226.o(StubCode)
-    theImportedSymbol                        0x0000af44   Data           0  lbs{000a0000}-226.o(StubCode)
-    StubCode                                 0x0000af48   Section        8  lbs{000a0000}-23.o(StubCode)
-    theImportedSymbol                        0x0000af4c   Data           0  lbs{000a0000}-23.o(StubCode)
-    StubCode                                 0x0000af50   Section        8  lbs{000a0000}-28.o(StubCode)
-    theImportedSymbol                        0x0000af54   Data           0  lbs{000a0000}-28.o(StubCode)
-    StubCode                                 0x0000af58   Section        8  lbs{000a0000}-304.o(StubCode)
-    theImportedSymbol                        0x0000af5c   Data           0  lbs{000a0000}-304.o(StubCode)
-    StubCode                                 0x0000af60   Section        8  lbs{000a0000}-306.o(StubCode)
-    theImportedSymbol                        0x0000af64   Data           0  lbs{000a0000}-306.o(StubCode)
-    StubCode                                 0x0000af68   Section        8  mnservicelib{000a0000}-1.o(StubCode)
-    theImportedSymbol                        0x0000af6c   Data           0  mnservicelib{000a0000}-1.o(StubCode)
-    StubCode                                 0x0000af70   Section        8  mnservicelib{000a0000}-10.o(StubCode)
-    theImportedSymbol                        0x0000af74   Data           0  mnservicelib{000a0000}-10.o(StubCode)
-    StubCode                                 0x0000af78   Section        8  mnservicelib{000a0000}-11.o(StubCode)
-    theImportedSymbol                        0x0000af7c   Data           0  mnservicelib{000a0000}-11.o(StubCode)
-    StubCode                                 0x0000af80   Section        8  mnservicelib{000a0000}-12.o(StubCode)
-    theImportedSymbol                        0x0000af84   Data           0  mnservicelib{000a0000}-12.o(StubCode)
-    StubCode                                 0x0000af88   Section        8  mnservicelib{000a0000}-13.o(StubCode)
-    theImportedSymbol                        0x0000af8c   Data           0  mnservicelib{000a0000}-13.o(StubCode)
-    StubCode                                 0x0000af90   Section        8  mnservicelib{000a0000}-14.o(StubCode)
-    theImportedSymbol                        0x0000af94   Data           0  mnservicelib{000a0000}-14.o(StubCode)
-    StubCode                                 0x0000af98   Section        8  mnservicelib{000a0000}-15.o(StubCode)
-    theImportedSymbol                        0x0000af9c   Data           0  mnservicelib{000a0000}-15.o(StubCode)
-    StubCode                                 0x0000afa0   Section        8  mnservicelib{000a0000}-16.o(StubCode)
-    theImportedSymbol                        0x0000afa4   Data           0  mnservicelib{000a0000}-16.o(StubCode)
-    StubCode                                 0x0000afa8   Section        8  mnservicelib{000a0000}-17.o(StubCode)
-    theImportedSymbol                        0x0000afac   Data           0  mnservicelib{000a0000}-17.o(StubCode)
-    StubCode                                 0x0000afb0   Section        8  mnservicelib{000a0000}-2.o(StubCode)
-    theImportedSymbol                        0x0000afb4   Data           0  mnservicelib{000a0000}-2.o(StubCode)
-    StubCode                                 0x0000afb8   Section        8  mnservicelib{000a0000}-20.o(StubCode)
-    theImportedSymbol                        0x0000afbc   Data           0  mnservicelib{000a0000}-20.o(StubCode)
-    StubCode                                 0x0000afc0   Section        8  mnservicelib{000a0000}-28.o(StubCode)
-    theImportedSymbol                        0x0000afc4   Data           0  mnservicelib{000a0000}-28.o(StubCode)
-    StubCode                                 0x0000afc8   Section        8  mnservicelib{000a0000}-29.o(StubCode)
-    theImportedSymbol                        0x0000afcc   Data           0  mnservicelib{000a0000}-29.o(StubCode)
-    StubCode                                 0x0000afd0   Section        8  mnservicelib{000a0000}-30.o(StubCode)
-    theImportedSymbol                        0x0000afd4   Data           0  mnservicelib{000a0000}-30.o(StubCode)
-    StubCode                                 0x0000afd8   Section        8  mnservicelib{000a0000}-33.o(StubCode)
-    theImportedSymbol                        0x0000afdc   Data           0  mnservicelib{000a0000}-33.o(StubCode)
-    StubCode                                 0x0000afe0   Section        8  mnservicelib{000a0000}-4.o(StubCode)
-    theImportedSymbol                        0x0000afe4   Data           0  mnservicelib{000a0000}-4.o(StubCode)
-    StubCode                                 0x0000afe8   Section        8  mnservicelib{000a0000}-5.o(StubCode)
-    theImportedSymbol                        0x0000afec   Data           0  mnservicelib{000a0000}-5.o(StubCode)
-    StubCode                                 0x0000aff0   Section        8  mnservicelib{000a0000}-7.o(StubCode)
-    theImportedSymbol                        0x0000aff4   Data           0  mnservicelib{000a0000}-7.o(StubCode)
-    StubCode                                 0x0000aff8   Section        8  mnrefproviderengine{000a0000}-12.o(StubCode)
-    theImportedSymbol                        0x0000affc   Data           0  mnrefproviderengine{000a0000}-12.o(StubCode)
-    StubCode                                 0x0000b000   Section        8  mnrefproviderengine{000a0000}-17.o(StubCode)
-    theImportedSymbol                        0x0000b004   Data           0  mnrefproviderengine{000a0000}-17.o(StubCode)
-    StubCode                                 0x0000b008   Section        8  mnrefproviderengine{000a0000}-19.o(StubCode)
-    theImportedSymbol                        0x0000b00c   Data           0  mnrefproviderengine{000a0000}-19.o(StubCode)
-    StubCode                                 0x0000b010   Section        8  mnrefproviderengine{000a0000}-20.o(StubCode)
-    theImportedSymbol                        0x0000b014   Data           0  mnrefproviderengine{000a0000}-20.o(StubCode)
-    StubCode                                 0x0000b018   Section        8  mnrefproviderengine{000a0000}-22.o(StubCode)
-    theImportedSymbol                        0x0000b01c   Data           0  mnrefproviderengine{000a0000}-22.o(StubCode)
-    StubCode                                 0x0000b020   Section        8  mnrefproviderengine{000a0000}-23.o(StubCode)
-    theImportedSymbol                        0x0000b024   Data           0  mnrefproviderengine{000a0000}-23.o(StubCode)
-    StubCode                                 0x0000b028   Section        8  mnrefproviderengine{000a0000}-24.o(StubCode)
-    theImportedSymbol                        0x0000b02c   Data           0  mnrefproviderengine{000a0000}-24.o(StubCode)
-    StubCode                                 0x0000b030   Section        8  mnrefproviderengine{000a0000}-25.o(StubCode)
-    theImportedSymbol                        0x0000b034   Data           0  mnrefproviderengine{000a0000}-25.o(StubCode)
-    StubCode                                 0x0000b038   Section        8  mnrefproviderengine{000a0000}-26.o(StubCode)
-    theImportedSymbol                        0x0000b03c   Data           0  mnrefproviderengine{000a0000}-26.o(StubCode)
-    StubCode                                 0x0000b040   Section        8  mnrefproviderengine{000a0000}-27.o(StubCode)
-    theImportedSymbol                        0x0000b044   Data           0  mnrefproviderengine{000a0000}-27.o(StubCode)
-    StubCode                                 0x0000b048   Section        8  mnrefproviderengine{000a0000}-28.o(StubCode)
-    theImportedSymbol                        0x0000b04c   Data           0  mnrefproviderengine{000a0000}-28.o(StubCode)
-    StubCode                                 0x0000b050   Section        8  mnrefproviderengine{000a0000}-29.o(StubCode)
-    theImportedSymbol                        0x0000b054   Data           0  mnrefproviderengine{000a0000}-29.o(StubCode)
-    StubCode                                 0x0000b058   Section        8  mnrefproviderengine{000a0000}-30.o(StubCode)
-    theImportedSymbol                        0x0000b05c   Data           0  mnrefproviderengine{000a0000}-30.o(StubCode)
-    StubCode                                 0x0000b060   Section        8  mnrefproviderengine{000a0000}-31.o(StubCode)
-    theImportedSymbol                        0x0000b064   Data           0  mnrefproviderengine{000a0000}-31.o(StubCode)
-    StubCode                                 0x0000b068   Section        8  mnrefproviderengine{000a0000}-32.o(StubCode)
-    theImportedSymbol                        0x0000b06c   Data           0  mnrefproviderengine{000a0000}-32.o(StubCode)
-    StubCode                                 0x0000b070   Section        8  mnrefproviderengine{000a0000}-33.o(StubCode)
-    theImportedSymbol                        0x0000b074   Data           0  mnrefproviderengine{000a0000}-33.o(StubCode)
-    StubCode                                 0x0000b078   Section        8  mnrefproviderengine{000a0000}-34.o(StubCode)
-    theImportedSymbol                        0x0000b07c   Data           0  mnrefproviderengine{000a0000}-34.o(StubCode)
-    StubCode                                 0x0000b080   Section        8  mnrefproviderengine{000a0000}-38.o(StubCode)
-    theImportedSymbol                        0x0000b084   Data           0  mnrefproviderengine{000a0000}-38.o(StubCode)
-    StubCode                                 0x0000b088   Section        8  mnrefproviderengine{000a0000}-39.o(StubCode)
-    theImportedSymbol                        0x0000b08c   Data           0  mnrefproviderengine{000a0000}-39.o(StubCode)
-    StubCode                                 0x0000b090   Section        8  mnrefproviderengine{000a0000}-40.o(StubCode)
-    theImportedSymbol                        0x0000b094   Data           0  mnrefproviderengine{000a0000}-40.o(StubCode)
-    StubCode                                 0x0000b098   Section        8  mnrefproviderengine{000a0000}-41.o(StubCode)
-    theImportedSymbol                        0x0000b09c   Data           0  mnrefproviderengine{000a0000}-41.o(StubCode)
-    StubCode                                 0x0000b0a0   Section        8  mnrefproviderengine{000a0000}-42.o(StubCode)
-    theImportedSymbol                        0x0000b0a4   Data           0  mnrefproviderengine{000a0000}-42.o(StubCode)
-    StubCode                                 0x0000b0a8   Section        8  mnrefproviderengine{000a0000}-43.o(StubCode)
-    theImportedSymbol                        0x0000b0ac   Data           0  mnrefproviderengine{000a0000}-43.o(StubCode)
-    StubCode                                 0x0000b0b0   Section        8  mnrefproviderengine{000a0000}-44.o(StubCode)
-    theImportedSymbol                        0x0000b0b4   Data           0  mnrefproviderengine{000a0000}-44.o(StubCode)
-    StubCode                                 0x0000b0b8   Section        8  mnrefproviderengine{000a0000}-45.o(StubCode)
-    theImportedSymbol                        0x0000b0bc   Data           0  mnrefproviderengine{000a0000}-45.o(StubCode)
-    StubCode                                 0x0000b0c0   Section        8  mnrefproviderengine{000a0000}-46.o(StubCode)
-    theImportedSymbol                        0x0000b0c4   Data           0  mnrefproviderengine{000a0000}-46.o(StubCode)
-    StubCode                                 0x0000b0c8   Section        8  mnrefproviderengine{000a0000}-47.o(StubCode)
-    theImportedSymbol                        0x0000b0cc   Data           0  mnrefproviderengine{000a0000}-47.o(StubCode)
-    StubCode                                 0x0000b0d0   Section        8  mnrefproviderengine{000a0000}-48.o(StubCode)
-    theImportedSymbol                        0x0000b0d4   Data           0  mnrefproviderengine{000a0000}-48.o(StubCode)
-    StubCode                                 0x0000b0d8   Section        8  mnrefproviderengine{000a0000}-50.o(StubCode)
-    theImportedSymbol                        0x0000b0dc   Data           0  mnrefproviderengine{000a0000}-50.o(StubCode)
-    StubCode                                 0x0000b0e0   Section        8  mnrefproviderengine{000a0000}-51.o(StubCode)
-    theImportedSymbol                        0x0000b0e4   Data           0  mnrefproviderengine{000a0000}-51.o(StubCode)
-    StubCode                                 0x0000b0e8   Section        8  mnrefproviderengine{000a0000}-53.o(StubCode)
-    theImportedSymbol                        0x0000b0ec   Data           0  mnrefproviderengine{000a0000}-53.o(StubCode)
-    StubCode                                 0x0000b0f0   Section        8  mnrefproviderengine{000a0000}-54.o(StubCode)
-    theImportedSymbol                        0x0000b0f4   Data           0  mnrefproviderengine{000a0000}-54.o(StubCode)
-    StubCode                                 0x0000b0f8   Section        8  dfpaeabi{000a0000}-12.o(StubCode)
-    theImportedSymbol                        0x0000b0fc   Data           0  dfpaeabi{000a0000}-12.o(StubCode)
-    StubCode                                 0x0000b100   Section        8  dfpaeabi{000a0000}-20.o(StubCode)
-    theImportedSymbol                        0x0000b104   Data           0  dfpaeabi{000a0000}-20.o(StubCode)
-    StubCode                                 0x0000b108   Section        8  dfpaeabi{000a0000}-23.o(StubCode)
-    theImportedSymbol                        0x0000b10c   Data           0  dfpaeabi{000a0000}-23.o(StubCode)
-    StubCode                                 0x0000b110   Section        8  dfpaeabi{000a0000}-24.o(StubCode)
-    theImportedSymbol                        0x0000b114   Data           0  dfpaeabi{000a0000}-24.o(StubCode)
-    StubCode                                 0x0000b118   Section        8  dfpaeabi{000a0000}-41.o(StubCode)
-    theImportedSymbol                        0x0000b11c   Data           0  dfpaeabi{000a0000}-41.o(StubCode)
-    StubCode                                 0x0000b120   Section        8  dfpaeabi{000a0000}-8.o(StubCode)
-    theImportedSymbol                        0x0000b124   Data           0  dfpaeabi{000a0000}-8.o(StubCode)
-    StubCode                                 0x0000b128   Section        8  drtaeabi{000a0000}-147.o(StubCode)
-    theImportedSymbol                        0x0000b12c   Data           0  drtaeabi{000a0000}-147.o(StubCode)
-    StubCode                                 0x0000b130   Section        8  drtaeabi{000a0000}-158.o(StubCode)
-    theImportedSymbol                        0x0000b134   Data           0  drtaeabi{000a0000}-158.o(StubCode)
-    StubCode                                 0x0000b138   Section        8  drtaeabi{000a0000}-159.o(StubCode)
-    theImportedSymbol                        0x0000b13c   Data           0  drtaeabi{000a0000}-159.o(StubCode)
-    StubCode                                 0x0000b140   Section        8  drtaeabi{000a0000}-180.o(StubCode)
-    theImportedSymbol                        0x0000b144   Data           0  drtaeabi{000a0000}-180.o(StubCode)
-    StubCode                                 0x0000b148   Section        8  drtaeabi{000a0000}-182.o(StubCode)
-    theImportedSymbol                        0x0000b14c   Data           0  drtaeabi{000a0000}-182.o(StubCode)
-    StubCode                                 0x0000b150   Section        8  drtaeabi{000a0000}-183.o(StubCode)
-    theImportedSymbol                        0x0000b154   Data           0  drtaeabi{000a0000}-183.o(StubCode)
-    StubCode                                 0x0000b158   Section        8  drtaeabi{000a0000}-184.o(StubCode)
-    theImportedSymbol                        0x0000b15c   Data           0  drtaeabi{000a0000}-184.o(StubCode)
-    StubCode                                 0x0000b160   Section        8  drtaeabi{000a0000}-189.o(StubCode)
-    theImportedSymbol                        0x0000b164   Data           0  drtaeabi{000a0000}-189.o(StubCode)
-    StubCode                                 0x0000b168   Section        8  scppnwdl{000a0000}-3.o(StubCode)
-    theImportedSymbol                        0x0000b16c   Data           0  scppnwdl{000a0000}-3.o(StubCode)
-    StubCode                                 0x0000b170   Section        8  euser{000a0000}-1360.o(StubCode)
-    theImportedSymbol                        0x0000b174   Data           0  euser{000a0000}-1360.o(StubCode)
-    StubCode                                 0x0000b178   Section        8  euser{000a0000}-641.o(StubCode)
-    theImportedSymbol                        0x0000b17c   Data           0  euser{000a0000}-641.o(StubCode)
-    StubCode                                 0x0000b180   Section        8  euser{000a0000}-585.o(StubCode)
-    theImportedSymbol                        0x0000b184   Data           0  euser{000a0000}-585.o(StubCode)
-    StubCode                                 0x0000b188   Section        8  euser{000a0000}-650.o(StubCode)
-    theImportedSymbol                        0x0000b18c   Data           0  euser{000a0000}-650.o(StubCode)
-    StubCode                                 0x0000b190   Section        8  drtaeabi{000a0000}-204.o(StubCode)
-    theImportedSymbol                        0x0000b194   Data           0  drtaeabi{000a0000}-204.o(StubCode)
-    i._ZN12CAknDocumentD2Ev                  0x0000b198   Section        8  mnrefprovider.in(i._ZN12CAknDocumentD2Ev)
-    i._ZN12CApaDocument16DetachFromStoreLEN8CPicture7TDetachE 0x0000b1a0   Section        2  mnrefprovider.in(i._ZN12CApaDocument16DetachFromStoreLEN8CPicture7TDetachE)
-    i._ZN12CArrayPtrSegI8CGulIconED0Ev       0x0000b1a2   Section       16  mnrefprovider.in(i._ZN12CArrayPtrSegI8CGulIconED0Ev)
-    i._ZN12CArrayPtrSegI8CGulIconED1Ev       0x0000b1b2   Section        8  mnrefprovider.in(i._ZN12CArrayPtrSegI8CGulIconED1Ev)
-    i._ZN13CAknViewAppUiC1Ev                 0x0000b1bc   Section       60  mnrefprovider.in(i._ZN13CAknViewAppUiC1Ev)
-    i._ZN13CAknViewAppUiC1Ev.clean           0x0000b1f8   Section       10  mnrefprovider.in(i._ZN13CAknViewAppUiC1Ev.clean)
-    i._ZN16CMnrpApplicationD0Ev              0x0000b202   Section       16  mnrefprovider.in(i._ZN16CMnrpApplicationD0Ev)
-    i._ZN16CMnrpApplicationD1Ev              0x0000b212   Section        8  mnrefprovider.in(i._ZN16CMnrpApplicationD1Ev)
-    i._ZN5CBasenwEj                          0x0000b21a   Section        8  mnrefprovider.in(i._ZN5CBasenwEj)
-    i._ZN5TRectC1ERKS_                       0x0000b222   Section       18  mnrefprovider.in(i._ZN5TRectC1ERKS_)
-    i._ZN9CArrayFixIP8CGulIconED1Ev          0x0000b234   Section        8  mnrefprovider.in(i._ZN9CArrayFixIP8CGulIconED1Ev)
-    i._ZN9CArrayPtrI8CGulIconED1Ev           0x0000b23c   Section        8  mnrefprovider.in(i._ZN9CArrayPtrI8CGulIconED1Ev)
-    t._ZN12CleanupCloseI6RArrayIiEE5CloseEPv 0x0000b244   Section        8  mnrefprovider.in(t._ZN12CleanupCloseI6RArrayIiEE5CloseEPv)
-    t._ZN12CleanupCloseI6RArrayImEE5CloseEPv 0x0000b24c   Section        8  mnrefprovider.in(t._ZN12CleanupCloseI6RArrayImEE5CloseEPv)
-    t._ZN13RPointerArrayIN14CMnrpNaviModel9CListItemEE15ResetAndDestroyEv 0x0000b254   Section       48  mnrefprovider.in(t._ZN13RPointerArrayIN14CMnrpNaviModel9CListItemEE15ResetAndDestroyEv)
-    t._ZN13RPointerArrayIN14CMnrpNaviModel9CListItemEE7AppendLEPKS1_ 0x0000b284   Section       12  mnrefprovider.in(t._ZN13RPointerArrayIN14CMnrpNaviModel9CListItemEE7AppendLEPKS1_)
-    t._ZN4TBufILi15EEC1Ev                    0x0000b290   Section       10  mnrefprovider.in(t._ZN4TBufILi15EEC1Ev)
-    .ARM.extab                               0x0000b29c   Section       16  uc_exe_.o(.ARM.extab)
-    .extab._Z14NewApplicationv               0x0000b2ac   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN5CBasenwEj                     0x0000b2bc   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN10CMnrpAppUiD1Ev               0x0000b2cc   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN10CMnrpAppUi13StopSelectionEv  0x0000b2dc   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN13CAknViewAppUiC1Ev            0x0000b30c   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN13CMnrpDocumentD1Ev            0x0000b31c   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN12CMnrpAppViewD1Ev             0x0000b32c   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN12CMnrpMapViewD1Ev             0x0000b33c   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN15CMnrpMapControlC1ER12CMnrpMapView 0x0000b36c   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN15CMnrpMapControlD1Ev          0x0000b37c   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN15CMnrpMapControl11SizeChangedEv 0x0000b38c   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN13CMnrpNaviViewD1Ev            0x0000b3d4   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN14CMnrpNaviModelC1ER18MNaviModelObserverR11CMnrpEngine 0x0000b3e4   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN14CMnrpNaviModelD1Ev           0x0000b3f4   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN16CMnrpNaviControlD1Ev         0x0000b404   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN19CMnrpMapViewServiceD1Ev      0x0000b414   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab._ZN19CMnrpMapViewService16HandleSelectionLERK11TCoordinate 0x0000b424   Data           0  mnrefprovider.in(.ARM.extab)
-    .extab.CallThrdProcEntry                 0x0000b44c   Data           0  callfirstprocessfn.o(.ARM.extab)
-    .constdata$1                             0x0000b468   Data           0  mnrefprovider.in(.constdata)
-    KUidMnRefProviderApp                     0x0000b468   Data           4  mnrefprovider.in(.constdata)
-    .constdata                               0x0000b468   Section        4  mnrefprovider.in(.constdata)
-    .constdata$1                             0x0000b46c   Data           0  mnrefprovider.in(.constdata)
-    KMbmFile                                 0x0000b46c   Data          72  mnrefprovider.in(.constdata)
-    .constdata                               0x0000b46c   Section       92  mnrefprovider.in(.constdata)
-    KListItemFormat@_Z12AddLandmarkLRK12CPosLandmarkR12CDesC16ArrayR9CArrayPtrI8CGulIconE_0 0x0000b4b4   Data          20  mnrefprovider.in(.constdata)
-    .constdata$1                             0x0000b4c8   Data           0  mnrefprovider.in(.constdata)
-    KEmpty@_ZN12CMnrpAppView11DoActivateLERK10TVwsViewId4TUidRK6TDesC8_0 0x0000b4c8   Data           8  mnrefprovider.in(.constdata)
-    .constdata                               0x0000b4c8   Section        8  mnrefprovider.in(.constdata)
-    .constdata$1                             0x0000b4d0   Data           0  mnrefprovider.in(.constdata)
-    KMapView@_ZN12CMnrpMapView11DoActivateLERK10TVwsViewId4TUidRK6TDesC8_0 0x0000b4d0   Data          20  mnrefprovider.in(.constdata)
-    .constdata                               0x0000b4d0   Section       20  mnrefprovider.in(.constdata)
-    .constdata$1                             0x0000b4e4   Data           0  mnrefprovider.in(.constdata)
-    _ZZN15CMnrpMapControl18HandleModelUpdateLEvE17KMessageIgnoredLm@_ZN15CMnrpMapControl18HandleModelUpdateLEv_0 0x0000b4e4   Data         108  mnrefprovider.in(.constdata)
-    .constdata                               0x0000b4e4   Section      220  mnrefprovider.in(.constdata)
-    _ZZN15CMnrpMapControl18HandleModelUpdateLEvE18KMessageIgnoredLms@_ZN15CMnrpMapControl18HandleModelUpdateLEv_1 0x0000b550   Data         112  mnrefprovider.in(.constdata)
-    .constdata$1                             0x0000b5c0   Data           0  mnrefprovider.in(.constdata)
-    KNavigation@_ZN13CMnrpNaviView11DoActivateLERK10TVwsViewId4TUidRK6TDesC8_0 0x0000b5c0   Data          28  mnrefprovider.in(.constdata)
-    .constdata                               0x0000b5c0   Section       28  mnrefprovider.in(.constdata)
-    .constdata$1                             0x0000b5dc   Data           0  mnrefprovider.in(.constdata)
-    KNotDefined                              0x0000b5dc   Data          16  mnrefprovider.in(.constdata)
-    .constdata                               0x0000b5dc   Section      344  mnrefprovider.in(.constdata)
-    KDestination                             0x0000b5ec   Data          28  mnrefprovider.in(.constdata)
-    KPosition                                0x0000b608   Data          24  mnrefprovider.in(.constdata)
-    KDistance                                0x0000b620   Data          24  mnrefprovider.in(.constdata)
-    KBearing                                 0x0000b638   Data          20  mnrefprovider.in(.constdata)
-    KDestinationLat                          0x0000b64c   Data          24  mnrefprovider.in(.constdata)
-    KDestinationLon                          0x0000b664   Data          24  mnrefprovider.in(.constdata)
-    KPositionLat                             0x0000b67c   Data          24  mnrefprovider.in(.constdata)
-    KPositionLon                             0x0000b694   Data          24  mnrefprovider.in(.constdata)
-    KSpeed                                   0x0000b6ac   Data          16  mnrefprovider.in(.constdata)
-    KHeading                                 0x0000b6bc   Data          20  mnrefprovider.in(.constdata)
-    KMagHeading                              0x0000b6d0   Data          24  mnrefprovider.in(.constdata)
-    KCourse                                  0x0000b6e8   Data          20  mnrefprovider.in(.constdata)
-    KMagCourse                               0x0000b6fc   Data          24  mnrefprovider.in(.constdata)
-    KRequestorName@_ZN14CMnrpNaviModel10ConstructLEv_0 0x0000b714   Data          32  mnrefprovider.in(.constdata)
-    .constdata$1                             0x0000b734   Data           0  mnrefprovider.in(.constdata)
-    _ZZN16CMnrpNaviControl18HandleModelUpdateLEvE11KItemFormat@_ZN16CMnrpNaviControl18HandleModelUpdateLEv_0 0x0000b734   Data          20  mnrefprovider.in(.constdata)
-    .constdata                               0x0000b734   Section       20  mnrefprovider.in(.constdata)
-    .constdata$1                             0x0000b748   Data           0  callfirstprocessfn.o(.constdata)
-    KLitUser                                 0x0000b748   Data          16  callfirstprocessfn.o(.constdata)
-    .constdata                               0x0000b748   Section       16  callfirstprocessfn.o(.constdata)
-    .constdata__ZTI10CMnrpAppUi              0x0000b758   Section       12  mnrefprovider.in(.constdata__ZTI10CMnrpAppUi)
-    .constdata__ZTI12CArrayPtrSegI8CGulIconE 0x0000b764   Section       12  mnrefprovider.in(.constdata__ZTI12CArrayPtrSegI8CGulIconE)
-    .constdata__ZTI12CMnrpAppView            0x0000b770   Section       12  mnrefprovider.in(.constdata__ZTI12CMnrpAppView)
-    .constdata__ZTI12CMnrpMapView            0x0000b77c   Section       12  mnrefprovider.in(.constdata__ZTI12CMnrpMapView)
-    .constdata__ZTI13CMnrpDocument           0x0000b788   Section       12  mnrefprovider.in(.constdata__ZTI13CMnrpDocument)
-    .constdata__ZTI13CMnrpNaviView           0x0000b794   Section       12  mnrefprovider.in(.constdata__ZTI13CMnrpNaviView)
-    .constdata__ZTI14CMnrpAppServer          0x0000b7a0   Section       12  mnrefprovider.in(.constdata__ZTI14CMnrpAppServer)
-    .constdata__ZTI14CMnrpNaviModel          0x0000b7ac   Section       32  mnrefprovider.in(.constdata__ZTI14CMnrpNaviModel)
-    .constdata__ZTI15CMnrpAppControl         0x0000b7cc   Section       12  mnrefprovider.in(.constdata__ZTI15CMnrpAppControl)
-    .constdata__ZTI15CMnrpMapControl         0x0000b7d8   Section       32  mnrefprovider.in(.constdata__ZTI15CMnrpMapControl)
-    .constdata__ZTI16CMnrpApplication        0x0000b7f8   Section       12  mnrefprovider.in(.constdata__ZTI16CMnrpApplication)
-    .constdata__ZTI16CMnrpNaviControl        0x0000b804   Section       32  mnrefprovider.in(.constdata__ZTI16CMnrpNaviControl)
-    .constdata__ZTI17MMapModelObserver       0x0000b824   Section        8  mnrefprovider.in(.constdata__ZTI17MMapModelObserver)
-    .constdata__ZTI18MNaviModelObserver      0x0000b82c   Section        8  mnrefprovider.in(.constdata__ZTI18MNaviModelObserver)
-    .constdata__ZTI19CMnrpMapViewService     0x0000b834   Section       32  mnrefprovider.in(.constdata__ZTI19CMnrpMapViewService)
-    .constdata__ZTI21MMapSelectionCallback   0x0000b854   Section        8  mnrefprovider.in(.constdata__ZTI21MMapSelectionCallback)
-    .constdata__ZTI21MMnrpPositionObserver   0x0000b85c   Section        8  mnrefprovider.in(.constdata__ZTI21MMnrpPositionObserver)
-    .constdata__ZTI22CMnrpNavigationService  0x0000b864   Section       12  mnrefprovider.in(.constdata__ZTI22CMnrpNavigationService)
-    .constdata__ZTI22MEikStatusPaneObserver  0x0000b870   Section        8  mnrefprovider.in(.constdata__ZTI22MEikStatusPaneObserver)
-    .constdata__ZTI9CArrayFixIP8CGulIconE    0x0000b878   Section       12  mnrefprovider.in(.constdata__ZTI9CArrayFixIP8CGulIconE)
-    .constdata__ZTI9CArrayPtrI8CGulIconE     0x0000b884   Section       12  mnrefprovider.in(.constdata__ZTI9CArrayPtrI8CGulIconE)
-    .constdata__ZTIN14CMnrpNaviModel9CListItemE 0x0000b890   Section       12  mnrefprovider.in(.constdata__ZTIN14CMnrpNaviModel9CListItemE)
-    .constdata__ZTS10CMnrpAppUi              0x0000b89c   Section       13  mnrefprovider.in(.constdata__ZTS10CMnrpAppUi)
-    .constdata__ZTS12CArrayPtrSegI8CGulIconE 0x0000b8a9   Section       26  mnrefprovider.in(.constdata__ZTS12CArrayPtrSegI8CGulIconE)
-    .constdata__ZTS12CMnrpAppView            0x0000b8c3   Section       15  mnrefprovider.in(.constdata__ZTS12CMnrpAppView)
-    .constdata__ZTS12CMnrpMapView            0x0000b8d2   Section       15  mnrefprovider.in(.constdata__ZTS12CMnrpMapView)
-    .constdata__ZTS13CMnrpDocument           0x0000b8e1   Section       16  mnrefprovider.in(.constdata__ZTS13CMnrpDocument)
-    .constdata__ZTS13CMnrpNaviView           0x0000b8f1   Section       16  mnrefprovider.in(.constdata__ZTS13CMnrpNaviView)
-    .constdata__ZTS14CMnrpAppServer          0x0000b901   Section       17  mnrefprovider.in(.constdata__ZTS14CMnrpAppServer)
-    .constdata__ZTS14CMnrpNaviModel          0x0000b912   Section       17  mnrefprovider.in(.constdata__ZTS14CMnrpNaviModel)
-    .constdata__ZTS15CMnrpAppControl         0x0000b923   Section       18  mnrefprovider.in(.constdata__ZTS15CMnrpAppControl)
-    .constdata__ZTS15CMnrpMapControl         0x0000b935   Section       18  mnrefprovider.in(.constdata__ZTS15CMnrpMapControl)
-    .constdata__ZTS16CMnrpApplication        0x0000b947   Section       19  mnrefprovider.in(.constdata__ZTS16CMnrpApplication)
-    .constdata__ZTS16CMnrpNaviControl        0x0000b95a   Section       19  mnrefprovider.in(.constdata__ZTS16CMnrpNaviControl)
-    .constdata__ZTS17MMapModelObserver       0x0000b96d   Section       20  mnrefprovider.in(.constdata__ZTS17MMapModelObserver)
-    .constdata__ZTS18MNaviModelObserver      0x0000b981   Section       21  mnrefprovider.in(.constdata__ZTS18MNaviModelObserver)
-    .constdata__ZTS19CMnrpMapViewService     0x0000b996   Section       22  mnrefprovider.in(.constdata__ZTS19CMnrpMapViewService)
-    .constdata__ZTS21MMapSelectionCallback   0x0000b9ac   Section       24  mnrefprovider.in(.constdata__ZTS21MMapSelectionCallback)
-    .constdata__ZTS21MMnrpPositionObserver   0x0000b9c4   Section       24  mnrefprovider.in(.constdata__ZTS21MMnrpPositionObserver)
-    .constdata__ZTS22CMnrpNavigationService  0x0000b9dc   Section       25  mnrefprovider.in(.constdata__ZTS22CMnrpNavigationService)
-    .constdata__ZTS22MEikStatusPaneObserver  0x0000b9f5   Section       25  mnrefprovider.in(.constdata__ZTS22MEikStatusPaneObserver)
-    .constdata__ZTS9CArrayFixIP8CGulIconE    0x0000ba0e   Section       23  mnrefprovider.in(.constdata__ZTS9CArrayFixIP8CGulIconE)
-    .constdata__ZTS9CArrayPtrI8CGulIconE     0x0000ba25   Section       22  mnrefprovider.in(.constdata__ZTS9CArrayPtrI8CGulIconE)
-    .constdata__ZTSN14CMnrpNaviModel9CListItemE 0x0000ba3b   Section       29  mnrefprovider.in(.constdata__ZTSN14CMnrpNaviModel9CListItemE)
-    .constdata__ZTV10CMnrpAppUi              0x0000ba58   Section      340  mnrefprovider.in(.constdata__ZTV10CMnrpAppUi)
-    .constdata__ZTV12CArrayPtrSegI8CGulIconE 0x0000bbac   Section       20  mnrefprovider.in(.constdata__ZTV12CArrayPtrSegI8CGulIconE)
-    .constdata__ZTV12CMnrpAppView            0x0000bbc0   Section      232  mnrefprovider.in(.constdata__ZTV12CMnrpAppView)
-    .constdata__ZTV12CMnrpMapView            0x0000bca8   Section      236  mnrefprovider.in(.constdata__ZTV12CMnrpMapView)
-    .constdata__ZTV13CMnrpDocument           0x0000bd94   Section      112  mnrefprovider.in(.constdata__ZTV13CMnrpDocument)
-    .constdata__ZTV13CMnrpNaviView           0x0000be04   Section      232  mnrefprovider.in(.constdata__ZTV13CMnrpNaviView)
-    .constdata__ZTV14CMnrpAppServer          0x0000beec   Section       76  mnrefprovider.in(.constdata__ZTV14CMnrpAppServer)
-    .constdata__ZTV14CMnrpNaviModel          0x0000bf38   Section       36  mnrefprovider.in(.constdata__ZTV14CMnrpNaviModel)
-    .constdata__ZTV15CMnrpAppControl         0x0000bf5c   Section      208  mnrefprovider.in(.constdata__ZTV15CMnrpAppControl)
-    .constdata__ZTV15CMnrpMapControl         0x0000c02c   Section      224  mnrefprovider.in(.constdata__ZTV15CMnrpMapControl)
-    .constdata__ZTV16CMnrpApplication        0x0000c10c   Section       80  mnrefprovider.in(.constdata__ZTV16CMnrpApplication)
-    .constdata__ZTV16CMnrpNaviControl        0x0000c15c   Section      224  mnrefprovider.in(.constdata__ZTV16CMnrpNaviControl)
-    .constdata__ZTV19CMnrpMapViewService     0x0000c23c   Section      112  mnrefprovider.in(.constdata__ZTV19CMnrpMapViewService)
-    .constdata__ZTV22CMnrpNavigationService  0x0000c2ac   Section       64  mnrefprovider.in(.constdata__ZTV22CMnrpNavigationService)
-    .constdata__ZTV22MEikStatusPaneObserver  0x0000c2ec   Section       12  mnrefprovider.in(.constdata__ZTV22MEikStatusPaneObserver)
-    .constdata__ZTVN14CMnrpNaviModel9CListItemE 0x0000c2f8   Section       20  mnrefprovider.in(.constdata__ZTVN14CMnrpNaviModel9CListItemE)
-    .init_array                              0x0000c30c   Section        4  mnrefprovider.in(.init_array)
-    .ARM.exidx                               0x0000c310   Section        8  uc_exe_.o(.ARM.exidx)
-    .ARM.exidx                               0x0000c318   Section        8  ucppinit_aeabi.o(.ARM.exidx)
-    .data$0                                  0x00400000   Data           0  mnrefprovider.in(.data)
-    KCursorColor                             0x00400000   Data           4  mnrefprovider.in(.data)
-    .data                                    0x00400000   Section       12  mnrefprovider.in(.data)
-    KGridTextColor                           0x00400004   Data           4  mnrefprovider.in(.data)
-    KOriginMarkColor                         0x00400008   Data           4  mnrefprovider.in(.data)
-
-    Global Symbols
-
-    Symbol Name                              Value     Ov Type        Size  Object(Section)
-
-    BuildAttributes$$THUMB_ISAv3$ARM_ISAv6$M$E$P$PE$A:L22$X:L11$S22$IEEE1$IW$USESV6$~STKCKD$USESV7$~SHL$OSPACE$IEEEJ$EBA8$UX$REQ8$PRES8$EABIv2 0x00000000   Number         0  anon$$obj.o ABSOLUTE
-    #<DLL>AknIcon{000a0000}[1020735a].dll#<\DLL>d  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>111  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>112  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>113  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>117  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>118  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>11c  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>11d  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>11e  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>11f  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>1e  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>79  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>84  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>ab  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>bf  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>c0  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>c2  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>ca  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>de  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>e8  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>fd  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>16f  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>170  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>171  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>172  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>174  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>175  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>176  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>177  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>179  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>46c  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>53d  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>7cc  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>81  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>82  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>83  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>873  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>882  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>a1f  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>a40  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>a48  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b4f  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b52  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b53  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b54  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b55  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b56  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b57  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b58  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b59  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b5a  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b5b  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b5d  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b5e  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b60  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b61  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b62  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b65  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b67  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b68  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b6a  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b70  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b71  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b72  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b74  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b76  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b78  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>bb1  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>bb5  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>c6  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>c7  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>c9  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>ce  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d3  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d5  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d59  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d5c  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d5d  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d5e  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d5f  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d6  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d60  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d7  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d8  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d9  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>dc  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>ef2  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>ef7  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>ef8  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>f11  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>f14  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>f15  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>f1c  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>f6b  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>f6c  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>f6d  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>f8f  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>fae  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>fbe  - Undefined Reference
-    #<DLL>bafl{000a0000}[10003a0f].dll#<\DLL>2b  - Undefined Reference
-    #<DLL>bafl{000a0000}[10003a0f].dll#<\DLL>62  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>101  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>107  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>109  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>10a  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>10e  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>10f  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>110  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>113  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>114  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>11f  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>12  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>120  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>13  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>15  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>15f  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>161  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>163  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>18c  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>18d  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>19  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>1a  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>1bc  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>1d  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>1da  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>1dd  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>1de  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>1df  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>1e  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>1e2  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>1f6  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>202  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>24  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>244  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>245  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>246  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>247  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>248  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>27  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>27e  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>27f  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>28  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>29  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>298  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>29e  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>29f  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>2a  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>2a4  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>2a5  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>30  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>32  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>33  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>38  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>39  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>3d  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>3e  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>40  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>43  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>64  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>65  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>7f  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>80  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>9  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>b  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>b6  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>c  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>c4  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>c5  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>c7  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>cb  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>d  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>d2  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>d3  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>d4  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>dc  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>f  - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>14     - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>17     - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>18     - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>29     - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>8      - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>c      - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>93     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>9e     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>9f     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>b4     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>b6     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>b7     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>b8     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>bd     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>cc     - Undefined Reference
-    #<DLL>egul{000a0000}[100048a2].dll#<\DLL>5e  - Undefined Reference
-    #<DLL>egul{000a0000}[100048a2].dll#<\DLL>5f  - Undefined Reference
-    #<DLL>eikcoctl{000a0000}[1000489e].dll#<\DLL>23  - Undefined Reference
-    #<DLL>eikcoctl{000a0000}[1000489e].dll#<\DLL>25d  - Undefined Reference
-    #<DLL>eikcoctl{000a0000}[1000489e].dll#<\DLL>25e  - Undefined Reference
-    #<DLL>eikcoctl{000a0000}[1000489e].dll#<\DLL>294  - Undefined Reference
-    #<DLL>eikcoctl{000a0000}[1000489e].dll#<\DLL>2e  - Undefined Reference
-    #<DLL>eikcoctl{000a0000}[1000489e].dll#<\DLL>36b  - Undefined Reference
-    #<DLL>eikcoctl{000a0000}[1000489e].dll#<\DLL>370  - Undefined Reference
-    #<DLL>eikcoctl{000a0000}[1000489e].dll#<\DLL>371  - Undefined Reference
-    #<DLL>eikcoctl{000a0000}[1000489e].dll#<\DLL>560  - Undefined Reference
-    #<DLL>eikcoctl{000a0000}[1000489e].dll#<\DLL>596  - Undefined Reference
-    #<DLL>eikcoctl{000a0000}[1000489e].dll#<\DLL>8c  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>12  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>123  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>125  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>126  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>127  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>128  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>129  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>12a  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>12b  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>12e  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>13b  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>13d  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>13f  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>14  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>160  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>186  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>188  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>18a  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>19  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1a  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1b  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1c  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1d  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1d3  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1d8  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1d9  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1df  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1e  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1ea  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1f  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1fa  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>20b  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>214  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>215  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>216  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>217  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>218  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>219  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>235  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>25  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>3d  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>3e  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>3f  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>40  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>43  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>48  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>49  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>4a  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>4b  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>4c  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>4d  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>4e  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>4f  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>8d  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>8e  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>8f  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>90  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>93  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>98  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>9b  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>9e  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>9f  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>a9  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>ab  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>af  - Undefined Reference
-    #<DLL>eikctl{000a0000}[1000489c].dll#<\DLL>1c7  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>32  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>4  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>41  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>43  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>4b  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>c  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>f  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>101  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1d0  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1d6  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1d7  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1d8  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1dc  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1e1  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>227  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>249  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>251  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>265  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>281  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>289  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>28a  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>28c  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>28e  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>29d  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>2e  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>30  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>338  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>33d  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>33e  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>346  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>347  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>349  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>34a  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>37  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>3cd  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>401  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>448  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>45c  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>45f  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>494  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>508  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>51  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>550  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>5e3  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>5e6  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>611  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>636  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>639  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>670  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>719  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>7cb  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>7cd  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>7cf  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>80c  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>80d  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>822  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>848  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>84b  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>84d  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>853  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>cb  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>cc  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>cd  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>cf  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>d0  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>f5  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>fa  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>fe  - Undefined Reference
-    #<DLL>fbscli{000a0000}[10003a15].dll#<\DLL>1a  - Undefined Reference
-    #<DLL>fbscli{000a0000}[10003a15].dll#<\DLL>1f  - Undefined Reference
-    #<DLL>gdi{000a0000}[10003b15].dll#<\DLL>136  - Undefined Reference
-    #<DLL>gdi{000a0000}[10003b15].dll#<\DLL>137  - Undefined Reference
-    #<DLL>gdi{000a0000}[10003b15].dll#<\DLL>138  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>130  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>132  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>15  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>17  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>1c  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>98  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>b4  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>b5  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>cd  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>cf  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>d6  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>df  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>e1  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>e2  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>11  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>13  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>14  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>16  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>17  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>18  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>19  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>1a  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>1b  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>1c  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>1d  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>1e  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>1f  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>20  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>21  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>22  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>26  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>27  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>28  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>29  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>2a  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>2b  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>2c  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>2d  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>2e  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>2f  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>30  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>32  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>33  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>35  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>36  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>c  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>1  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>10  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>11  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>14  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>1c  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>1d  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>1e  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>2  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>21  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>4  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>5  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>7  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>a  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>b  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>c  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>d  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>e  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>f  - Undefined Reference
-    #<DLL>scppnwdl{000a0000}.dll#<\DLL>3      - Undefined Reference
-    typeinfo for CCoeControl                  - Undefined Reference
-    typeinfo for CAknDocument                 - Undefined Reference
-    typeinfo for CAknAppServer                - Undefined Reference
-    typeinfo for CAknViewAppUi                - Undefined Reference
-    typeinfo for CArrayFixBase                - Undefined Reference
-    typeinfo for CEikApplication              - Undefined Reference
-    typeinfo for XLeaveException              - Undefined Reference
-    typeinfo for CMnMapViewServiceBase        - Undefined Reference
-    typeinfo for CMnNavigationServiceBase     - Undefined Reference
-    typeinfo for CBase                        - Undefined Reference
-    typeinfo for CAknView                     - Undefined Reference
-    vtable for CAknViewAppUi                  - Undefined Reference
-    vtable for __cxxabiv1::__class_type_info  - Undefined Reference
-    vtable for __cxxabiv1::__si_class_type_info  - Undefined Reference
-    vtable for __cxxabiv1::__vmi_class_type_info  - Undefined Reference
-    _fp_init                                  - Undefined Weak Reference
-    Image$$ER_RO$$Base                       0x00008000   Number         0  anon$$obj.o(linker$$defined$$symbols)
-    _E32Startup                              0x00008000   ARM Code     112  uc_exe_.o(.emb_text)
-    Symbian$$CPP$$Exception$$Descriptor      0x0000805c   Data           0  uc_exe_.o(.emb_text)
-    __cpp_initialize__aeabi_                 0x00008070   ARM Code      72  ucppinit_aeabi.o(.emb_text)
-    std::nothrow                             0x000080b8   ARM Code       0  ucppinit_aeabi.o(.emb_text)
-    Inline ARM to Thumb Veneer to _xxxx_call_user_invariant 0x000080b8   ARM Code       0  uc_exe_.o(.text)
-    _xxxx_call_user_invariant                0x000080c1   Thumb Code     8  uc_exe_.o(.text)
-    _xxxx_call_user_handle_exception         0x000080c9   Thumb Code     8  uc_exe_.o(.text)
-    E32Main()                                0x000080ef   Thumb Code    22  mnrefprovider.in(.text)
-    CMnrpApplication::AppDllUid() const      0x0000810d   Thumb Code     6  mnrefprovider.in(.text)
-    CMnrpApplication::CreateDocumentL()      0x00008113   Thumb Code     8  mnrefprovider.in(.text)
-    CMnrpApplication::NewAppServerL(CApaAppServer*&) 0x0000811b   Thumb Code    22  mnrefprovider.in(.text)
-    CleanupIconArray(void*)                  0x00008139   Thumb Code    50  mnrefprovider.in(.text)
-    AddIconL(CArrayPtr<CGulIcon>&, const TDesC16&, int, int) 0x0000816b   Thumb Code    64  mnrefprovider.in(.text)
-    CreateIconListLC(int)                    0x000081ab   Thumb Code    52  mnrefprovider.in(.text)
-    AddLandmarkL(const CPosLandmark&, CDesC16Array&, CArrayPtr<CGulIcon>&) 0x000081df   Thumb Code   130  mnrefprovider.in(.text)
-    CMnrpAppUi::CMnrpAppUi(CMnrpEngine&)     0x00008261   Thumb Code    42  mnrefprovider.in(.text)
-    CMnrpAppUi::CMnrpAppUi__sub_object(CMnrpEngine&) 0x00008261   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpAppUi::ConstructL()                 0x0000828b   Thumb Code    74  mnrefprovider.in(.text)
-    CMnrpAppUi::~CMnrpAppUi()                0x000082d5   Thumb Code    54  mnrefprovider.in(.text)
-    CMnrpAppUi::~CMnrpAppUi__sub_object()    0x000082d5   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpAppUi::~CMnrpAppUi__deallocating()  0x0000830b   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpAppUi::IsChainedMode()              0x0000831b   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpAppUi::ShowMapL(CMnrpMapViewService&) 0x0000832b   Thumb Code    64  mnrefprovider.in(.text)
-    CMnrpAppUi::SelectFromDialogL(CMnrpMapViewService&, MMapSelectionCallback&) 0x0000836b   Thumb Code   526  mnrefprovider.in(.text)
-    CMnrpAppUi::SetNaviPaneTitleL(const TDesC16&) 0x00008579   Thumb Code   100  mnrefprovider.in(.text)
-    CMnrpAppUi::StartSelectionL(CMnrpMapViewService&, MMapSelectionCallback&) 0x000085dd   Thumb Code   104  mnrefprovider.in(.text)
-    CMnrpAppUi::StopSelection()              0x00008645   Thumb Code    68  mnrefprovider.in(.text)
-    CMnrpAppUi::ShowNavigationL(const CPosLandmark&) 0x00008689   Thumb Code    64  mnrefprovider.in(.text)
-    CMnrpAppUi::IsAnyUserViewActive()        0x000086c9   Thumb Code    38  mnrefprovider.in(.text)
-    CMnrpAppUi::SetRightSoftkeyCommandL(int, const TDesC16&) 0x000086ef   Thumb Code    44  mnrefprovider.in(.text)
-    CMnrpAppUi::HandleCommandL(int)          0x0000871b   Thumb Code    62  mnrefprovider.in(.text)
-    CMnrpAppUi::HandleResourceChangeL(int)   0x00008759   Thumb Code    80  mnrefprovider.in(.text)
-    CMnrpAppUi::ProcessCommandParametersL(CApaCommandLine&) 0x000087a9   Thumb Code    26  mnrefprovider.in(.text)
-    CMnrpDocument::ConstructL()              0x000087d1   Thumb Code    12  mnrefprovider.in(.text)
-    CMnrpDocument::CMnrpDocument(CEikApplication&) 0x000087dd   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpDocument::CMnrpDocument__sub_object(CEikApplication&) 0x000087dd   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpDocument::NewL(CEikApplication&)    0x000087ed   Thumb Code    36  mnrefprovider.in(.text)
-    CMnrpDocument::~CMnrpDocument()          0x00008811   Thumb Code    32  mnrefprovider.in(.text)
-    CMnrpDocument::~CMnrpDocument__sub_object() 0x00008811   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpDocument::~CMnrpDocument__deallocating() 0x00008831   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpDocument::Engine()                  0x00008841   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpDocument::CreateAppUiL()            0x00008845   Thumb Code    18  mnrefprovider.in(.text)
-    CMnrpAppServer::~CMnrpAppServer()        0x0000885d   Thumb Code     8  mnrefprovider.in(.text)
-    CMnrpAppServer::~CMnrpAppServer__sub_object() 0x0000885d   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpAppServer::~CMnrpAppServer__deallocating() 0x00008865   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpAppServer::AppUi()                  0x00008875   Thumb Code    10  mnrefprovider.in(.text)
-    CMnrpAppServer::CreateNavigationServiceL() const 0x0000887f   Thumb Code     8  mnrefprovider.in(.text)
-    CMnrpAppServer::CreateMapViewServiceL() const 0x00008887   Thumb Code     8  mnrefprovider.in(.text)
-    CMnrpAppServer::CreateServiceL(TUid) const 0x0000888f   Thumb Code    30  mnrefprovider.in(.text)
-    CMnrpAppServer::HandleAllClientsClosed() 0x000088ad   Thumb Code    42  mnrefprovider.in(.text)
-    CMnrpAppView::ConstructL()               0x000088dd   Thumb Code    10  mnrefprovider.in(.text)
-    CMnrpAppView::CMnrpAppView()             0x000088e7   Thumb Code    24  mnrefprovider.in(.text)
-    CMnrpAppView::CMnrpAppView__sub_object() 0x000088e7   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpAppView::NewL()                     0x000088ff   Thumb Code    32  mnrefprovider.in(.text)
-    CMnrpAppView::~CMnrpAppView()            0x0000891f   Thumb Code    40  mnrefprovider.in(.text)
-    CMnrpAppView::~CMnrpAppView__sub_object() 0x0000891f   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpAppView::~CMnrpAppView__deallocating() 0x00008947   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpAppView::Id() const                 0x00008957   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpAppView::DoActivateL(const TVwsViewId&, TUid, const TDesC8&) 0x0000895b   Thumb Code    78  mnrefprovider.in(.text)
-    CMnrpAppView::DoDeactivate()             0x000089a9   Thumb Code    32  mnrefprovider.in(.text)
-    CMnrpAppControl::ConstructL(const TRect&) 0x000089d1   Thumb Code    28  mnrefprovider.in(.text)
-    CMnrpAppControl::CMnrpAppControl(CMnrpAppView&) 0x000089ed   Thumb Code    20  mnrefprovider.in(.text)
-    CMnrpAppControl::CMnrpAppControl__sub_object(CMnrpAppView&) 0x000089ed   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpAppControl::NewL(CMnrpAppView&, const TRect&) 0x00008a01   Thumb Code    40  mnrefprovider.in(.text)
-    CMnrpAppControl::~CMnrpAppControl()      0x00008a29   Thumb Code     8  mnrefprovider.in(.text)
-    CMnrpAppControl::~CMnrpAppControl__sub_object() 0x00008a29   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpAppControl::~CMnrpAppControl__deallocating() 0x00008a31   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpAppControl::CountComponentControls() const 0x00008a41   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpAppControl::ComponentControl(int) const 0x00008a45   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpAppControl::HandleResourceChange(int) 0x00008a49   Thumb Code    34  mnrefprovider.in(.text)
-    CMnrpAppControl::Draw(const TRect&) const 0x00008a6b   Thumb Code    32  mnrefprovider.in(.text)
-    CMnrpMapView::ConstructL(int)            0x00008a95   Thumb Code    22  mnrefprovider.in(.text)
-    CMnrpMapView::CMnrpMapView(CMnrpEngine&) 0x00008aab   Thumb Code    28  mnrefprovider.in(.text)
-    CMnrpMapView::CMnrpMapView__sub_object(CMnrpEngine&) 0x00008aab   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpMapView::NewL(int, CMnrpEngine&)    0x00008ac7   Thumb Code    40  mnrefprovider.in(.text)
-    CMnrpMapView::HandleUserSelectionL(int)  0x00008aef   Thumb Code    56  mnrefprovider.in(.text)
-    CMnrpMapView::~CMnrpMapView()            0x00008b27   Thumb Code    86  mnrefprovider.in(.text)
-    CMnrpMapView::~CMnrpMapView__sub_object() 0x00008b27   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpMapView::~CMnrpMapView__deallocating() 0x00008b7d   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpMapView::SetMapModeL(CMnrpMapViewService&) 0x00008b8d   Thumb Code     8  mnrefprovider.in(.text)
-    CMnrpMapView::SetSelectionModeL(CMnrpMapViewService&, MMapSelectionCallback&) 0x00008b95   Thumb Code    18  mnrefprovider.in(.text)
-    CMnrpMapView::StopSelection()            0x00008ba7   Thumb Code     8  mnrefprovider.in(.text)
-    CMnrpMapView::Id() const                 0x00008baf   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpMapView::HandleCommandL(int)        0x00008bb3   Thumb Code    84  mnrefprovider.in(.text)
-    CMnrpMapView::DoActivateL(const TVwsViewId&, TUid, const TDesC8&) 0x00008c07   Thumb Code   144  mnrefprovider.in(.text)
-    CMnrpMapView::DoDeactivate()             0x00008c97   Thumb Code    32  mnrefprovider.in(.text)
-    CMnrpMapView::DynInitMenuPaneL(int, CEikMenuPane*) 0x00008cb7   Thumb Code    40  mnrefprovider.in(.text)
-    thunk{-12} to CMnrpMapView::DynInitMenuPaneL(int, CEikMenuPane*) 0x00008cdf   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpMapControl::CreateScreenBufferL(const TSize&) 0x00008cf9   Thumb Code    70  mnrefprovider.in(.text)
-    CMnrpMapControl::CreateFonts()           0x00008d3f   Thumb Code    62  mnrefprovider.in(.text)
-    CMnrpMapControl::ConstructL(const TRect&, CMnrpEngine&) 0x00008d7d   Thumb Code   134  mnrefprovider.in(.text)
-    CMnrpMapControl::CMnrpMapControl(CMnrpMapView&) 0x00008e03   Thumb Code    46  mnrefprovider.in(.text)
-    CMnrpMapControl::CMnrpMapControl__sub_object(CMnrpMapView&) 0x00008e03   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpMapControl::NewL(CMnrpMapView&, const TRect&, CMnrpEngine&) 0x00008e31   Thumb Code    44  mnrefprovider.in(.text)
-    CMnrpMapControl::DestroyFonts()          0x00008e5d   Thumb Code    38  mnrefprovider.in(.text)
-    CMnrpMapControl::~CMnrpMapControl()      0x00008e83   Thumb Code    54  mnrefprovider.in(.text)
-    CMnrpMapControl::~CMnrpMapControl__sub_object() 0x00008e83   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpMapControl::~CMnrpMapControl__deallocating() 0x00008eb9   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpMapControl::UpdateModelL(CMnrpMapViewService&) 0x00008ec9   Thumb Code    10  mnrefprovider.in(.text)
-    CMnrpMapControl::SetSelectionModeL(int)  0x00008ed3   Thumb Code    66  mnrefprovider.in(.text)
-    CMnrpMapControl::CurrentLocation()       0x00008f15   Thumb Code    12  mnrefprovider.in(.text)
-    CMnrpMapControl::SetFullScreen(int)      0x00008f21   Thumb Code    36  mnrefprovider.in(.text)
-    CMnrpMapControl::ToggleFullScreen()      0x00008f45   Thumb Code    12  mnrefprovider.in(.text)
-    CMnrpMapControl::DrawCursor(CWindowGc&) const 0x00008f51   Thumb Code   224  mnrefprovider.in(.text)
-    CMnrpMapControl::DrawGridText(CWindowGc&, const TRect&, const TRect&, const CFont*, CMnrpMapModel::TGrid&) const 0x00009031   Thumb Code   610  mnrefprovider.in(.text)
-    CMnrpMapControl::BorderSize() const      0x00009293   Thumb Code    44  mnrefprovider.in(.text)
-    CMnrpMapControl::Draw(const TRect&) const 0x000092bf   Thumb Code   306  mnrefprovider.in(.text)
-    CMnrpMapControl::RenderL()               0x000093f1   Thumb Code   106  mnrefprovider.in(.text)
-    CMnrpMapControl::CursorMargin()          0x0000945b   Thumb Code    30  mnrefprovider.in(.text)
-    CMnrpMapControl::MoveCursor(int, int)    0x00009479   Thumb Code   324  mnrefprovider.in(.text)
-    CMnrpMapControl::Zoom(double)            0x000095bd   Thumb Code    90  mnrefprovider.in(.text)
-    CMnrpMapControl::OfferKeyEventL(const TKeyEvent&, TEventCode) 0x00009617   Thumb Code   446  mnrefprovider.in(.text)
-    CMnrpMapControl::SizeChanged()           0x000097d5   Thumb Code   174  mnrefprovider.in(.text)
-    CMnrpMapControl::HandleResourceChange(int) 0x00009883   Thumb Code    26  mnrefprovider.in(.text)
-    CMnrpMapControl::HandleModelUpdateL()    0x0000989d   Thumb Code    80  mnrefprovider.in(.text)
-    thunk{-52} to CMnrpMapControl::HandleModelUpdateL() 0x000098ed   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpNaviView::ConstructL(int)           0x00009945   Thumb Code    20  mnrefprovider.in(.text)
-    CMnrpNaviView::CMnrpNaviView(CMnrpEngine&) 0x00009959   Thumb Code    28  mnrefprovider.in(.text)
-    CMnrpNaviView::CMnrpNaviView__sub_object(CMnrpEngine&) 0x00009959   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpNaviView::NewL(int, CMnrpEngine&)   0x00009975   Thumb Code    40  mnrefprovider.in(.text)
-    CMnrpNaviView::~CMnrpNaviView()          0x0000999d   Thumb Code    52  mnrefprovider.in(.text)
-    CMnrpNaviView::~CMnrpNaviView__sub_object() 0x0000999d   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpNaviView::~CMnrpNaviView__deallocating() 0x000099d1   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpNaviView::SetDestinationL(const CPosLandmark&) 0x000099e1   Thumb Code    46  mnrefprovider.in(.text)
-    CMnrpNaviView::Id() const                0x00009a0f   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpNaviView::HandleCommandL(int)       0x00009a13   Thumb Code    18  mnrefprovider.in(.text)
-    CMnrpNaviView::DoActivateL(const TVwsViewId&, TUid, const TDesC8&) 0x00009a25   Thumb Code    92  mnrefprovider.in(.text)
-    CMnrpNaviView::DoDeactivate()            0x00009a81   Thumb Code    32  mnrefprovider.in(.text)
-    CMnrpNaviModel::ConstructL()             0x00009aad   Thumb Code    64  mnrefprovider.in(.text)
-    CMnrpNaviModel::CMnrpNaviModel(MNaviModelObserver&, CMnrpEngine&) 0x00009aed   Thumb Code    44  mnrefprovider.in(.text)
-    CMnrpNaviModel::CMnrpNaviModel__sub_object(MNaviModelObserver&, CMnrpEngine&) 0x00009aed   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpNaviModel::NewL(MNaviModelObserver&, CMnrpEngine&) 0x00009b19   Thumb Code    40  mnrefprovider.in(.text)
-    CMnrpNaviModel::SetDestinationL(const CPosLandmark&) 0x00009b41   Thumb Code    42  mnrefprovider.in(.text)
-    CMnrpNaviModel::CListItem::NewL(const TDesC16&, const TDesC16&) 0x00009b6b   Thumb Code    48  mnrefprovider.in(.text)
-    CMnrpNaviModel::ListItemsL()             0x00009b9b   Thumb Code   630  mnrefprovider.in(.text)
-    CMnrpNaviModel::~CMnrpNaviModel()        0x00009e11   Thumb Code    56  mnrefprovider.in(.text)
-    CMnrpNaviModel::~CMnrpNaviModel__sub_object() 0x00009e11   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpNaviModel::~CMnrpNaviModel__deallocating() 0x00009e49   Thumb Code    48  mnrefprovider.in(.text)
-    CMnrpNaviModel::HandlePositionRequestCompletedL(int) 0x00009e79   Thumb Code    60  mnrefprovider.in(.text)
-    thunk{-4} to CMnrpNaviModel::HandlePositionRequestCompletedL(int) 0x00009eb5   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpNaviModel::CListItem::~CListItem()  0x00009eb9   Thumb Code    28  mnrefprovider.in(.text)
-    CMnrpNaviModel::CListItem::~CListItem__sub_object() 0x00009eb9   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpNaviModel::CListItem::~CListItem__deallocating() 0x00009ed5   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpNaviControl::CreateListBoxL()       0x00009ee9   Thumb Code    58  mnrefprovider.in(.text)
-    CMnrpNaviControl::ConstructL(const TRect&, CMnrpEngine&) 0x00009f23   Thumb Code    48  mnrefprovider.in(.text)
-    CMnrpNaviControl::CMnrpNaviControl(CMnrpNaviView&) 0x00009f53   Thumb Code    24  mnrefprovider.in(.text)
-    CMnrpNaviControl::CMnrpNaviControl__sub_object(CMnrpNaviView&) 0x00009f53   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpNaviControl::NewL(CMnrpNaviView&, const TRect&, CMnrpEngine&) 0x00009f6b   Thumb Code    44  mnrefprovider.in(.text)
-    CMnrpNaviControl::~CMnrpNaviControl()    0x00009f97   Thumb Code    48  mnrefprovider.in(.text)
-    CMnrpNaviControl::~CMnrpNaviControl__sub_object() 0x00009f97   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpNaviControl::~CMnrpNaviControl__deallocating() 0x00009fc7   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpNaviControl::UpdateModelL(CPosLandmark&) 0x00009fd7   Thumb Code    10  mnrefprovider.in(.text)
-    CMnrpNaviControl::HandleModelUpdateL()   0x00009fe1   Thumb Code   174  mnrefprovider.in(.text)
-    thunk{-52} to CMnrpNaviControl::HandleModelUpdateL() 0x0000a08f   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpNaviControl::CountComponentControls() const 0x0000a093   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpNaviControl::ComponentControl(int) const 0x0000a097   Thumb Code    12  mnrefprovider.in(.text)
-    CMnrpNaviControl::OfferKeyEventL(const TKeyEvent&, TEventCode) 0x0000a0a3   Thumb Code    54  mnrefprovider.in(.text)
-    CMnrpNaviControl::SizeChanged()          0x0000a0d9   Thumb Code    28  mnrefprovider.in(.text)
-    CMnrpNaviControl::HandleResourceChange(int) 0x0000a0f5   Thumb Code    34  mnrefprovider.in(.text)
-    CMnrpNavigationService::ConstructL()     0x0000a12d   Thumb Code     8  mnrefprovider.in(.text)
-    CMnrpNavigationService::CMnrpNavigationService() 0x0000a135   Thumb Code    12  mnrefprovider.in(.text)
-    CMnrpNavigationService::CMnrpNavigationService__sub_object() 0x0000a135   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpNavigationService::NewL()           0x0000a141   Thumb Code    32  mnrefprovider.in(.text)
-    CMnrpNavigationService::~CMnrpNavigationService() 0x0000a161   Thumb Code     8  mnrefprovider.in(.text)
-    CMnrpNavigationService::~CMnrpNavigationService__sub_object() 0x0000a161   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpNavigationService::~CMnrpNavigationService__deallocating() 0x0000a169   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpNavigationService::HandleNavigateToL(const CPosLandmark&) 0x0000a179   Thumb Code    18  mnrefprovider.in(.text)
-    CMnrpNavigationService::DoCancel()       0x0000a18b   Thumb Code     2  mnrefprovider.in(.text)
-    CMnrpMapViewService::ConstructL()        0x0000a191   Thumb Code     8  mnrefprovider.in(.text)
-    CMnrpMapViewService::CMnrpMapViewService() 0x0000a199   Thumb Code    20  mnrefprovider.in(.text)
-    CMnrpMapViewService::CMnrpMapViewService__sub_object() 0x0000a199   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpMapViewService::NewL()              0x0000a1ad   Thumb Code    32  mnrefprovider.in(.text)
-    CMnrpMapViewService::AppUi()             0x0000a1cd   Thumb Code    18  mnrefprovider.in(.text)
-    CMnrpMapViewService::StopSelection()     0x0000a1df   Thumb Code    24  mnrefprovider.in(.text)
-    CMnrpMapViewService::DoCancel()          0x0000a1f7   Thumb Code    18  mnrefprovider.in(.text)
-    CMnrpMapViewService::~CMnrpMapViewService() 0x0000a209   Thumb Code    48  mnrefprovider.in(.text)
-    CMnrpMapViewService::~CMnrpMapViewService__sub_object() 0x0000a209   Thumb Code     0  mnrefprovider.in(.text)
-    CMnrpMapViewService::~CMnrpMapViewService__deallocating() 0x0000a239   Thumb Code    16  mnrefprovider.in(.text)
-    CMnrpMapViewService::HandleShowMapL()    0x0000a249   Thumb Code    44  mnrefprovider.in(.text)
-    CMnrpMapViewService::HandleShowCurrentLocationL() 0x0000a275   Thumb Code    12  mnrefprovider.in(.text)
-    CMnrpMapViewService::HandleSelectFromMapL() 0x0000a281   Thumb Code    54  mnrefprovider.in(.text)
-    CMnrpMapViewService::CompleteSelectionL(const TCoordinate&) 0x0000a2b7   Thumb Code    42  mnrefprovider.in(.text)
-    CMnrpMapViewService::HandleSelectionL(const TCoordinate&) 0x0000a2e1   Thumb Code    88  mnrefprovider.in(.text)
-    thunk{-212} to CMnrpMapViewService::HandleSelectionL(const TCoordinate&) 0x0000a339   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpMapViewService::HandleSelectionL(int) 0x0000a33d   Thumb Code    24  mnrefprovider.in(.text)
-    thunk{-212} to CMnrpMapViewService::HandleSelectionL(int) 0x0000a355   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpMapViewService::HandleSelectionL(unsigned long, int) 0x0000a359   Thumb Code    24  mnrefprovider.in(.text)
-    thunk{-212} to CMnrpMapViewService::HandleSelectionL(unsigned long, int) 0x0000a371   Thumb Code     4  mnrefprovider.in(.text)
-    CMnrpMapViewService::HandleSelectionErrorL(int) 0x0000a375   Thumb Code    16  mnrefprovider.in(.text)
-    thunk{-212} to CMnrpMapViewService::HandleSelectionErrorL(int) 0x0000a385   Thumb Code     4  mnrefprovider.in(.text)
-    Inline ARM to Thumb Veneer to RunThread  0x0000a38c   ARM Code       0  uc_exe.o(.text)
-    RunThread                                0x0000a395   Thumb Code    36  uc_exe.o(.text)
-    CallThrdProcEntry                        0x0000a3b8   ARM Code     116  callfirstprocessfn.o(.text)
-    __DLL_Export_Table__                     0x0000a430   ARM Code       4  dllexp.o(.text)
-    TPoint::operator +=(const TPoint&)       0x0000a4d8   ARM Code       0  euser{000a0000}-1025.o(StubCode)
-    CBufSeg::NewL(int)                       0x0000a4e0   ARM Code       0  euser{000a0000}-1096.o(StubCode)
-    HBufC16::Des()                           0x0000a4e8   ARM Code       0  euser{000a0000}-1116.o(StubCode)
-    HBufC16::NewLC(int)                      0x0000a4f0   ARM Code       0  euser{000a0000}-1119.o(StubCode)
-    TPtrC16::TPtrC16()                       0x0000a4f8   ARM Code       0  euser{000a0000}-1172.o(StubCode)
-    CServer2::DoCancel()                     0x0000a500   ARM Code       0  euser{000a0000}-1288.o(StubCode)
-    RArrayBase::At(int) const                0x0000a508   ARM Code       0  euser{000a0000}-1507.o(StubCode)
-    RArrayBase::Count() const                0x0000a510   ARM Code       0  euser{000a0000}-1510.o(StubCode)
-    CArrayFixBase::At(int) const             0x0000a518   ARM Code       0  euser{000a0000}-1553.o(StubCode)
-    RPointerArrayBase::At(int) const         0x0000a520   ARM Code       0  euser{000a0000}-1590.o(StubCode)
-    RPointerArrayBase::Count() const         0x0000a528   ARM Code       0  euser{000a0000}-1593.o(StubCode)
-    TRect::Size() const                      0x0000a530   ARM Code       0  euser{000a0000}-1648.o(StubCode)
-    TDesC16::AllocL() const                  0x0000a538   ARM Code       0  euser{000a0000}-1817.o(StubCode)
-    CPolicyServer::CustomFailureActionL(const RMessage2&, int, const TSecurityInfo&) 0x0000a540   ARM Code       0  euser{000a0000}-1995.o(StubCode)
-    CPolicyServer::RunL()                    0x0000a548   ARM Code       0  euser{000a0000}-1997.o(StubCode)
-    CPolicyServer::RunError(int)             0x0000a550   ARM Code       0  euser{000a0000}-1999.o(StubCode)
-    CleanupStack::PopAndDestroy()            0x0000a558   ARM Code       0  euser{000a0000}-203.o(StubCode)
-    CleanupStack::Pop(int)                   0x0000a560   ARM Code       0  euser{000a0000}-204.o(StubCode)
-    CleanupStack::Pop()                      0x0000a568   ARM Code       0  euser{000a0000}-205.o(StubCode)
-    User::MarkCleanupStack()                 0x0000a570   ARM Code       0  euser{000a0000}-2060.o(StubCode)
-    User::UnMarkCleanupStack(TTrapHandler*)  0x0000a578   ARM Code       0  euser{000a0000}-2061.o(StubCode)
-    CleanupStack::PushL(TCleanupItem)        0x0000a580   ARM Code       0  euser{000a0000}-207.o(StubCode)
-    CleanupStack::PushL(CBase*)              0x0000a588   ARM Code       0  euser{000a0000}-208.o(StubCode)
-    XLeaveException::GetReason() const       0x0000a590   ARM Code       0  euser{000a0000}-2082.o(StubCode)
-    CPolicyServer::Extension_(unsigned, void*&, void*) 0x0000a598   ARM Code       0  euser{000a0000}-2120.o(StubCode)
-    CBase::Extension_(unsigned, void*&, void*) 0x0000a5a0   ARM Code       0  euser{000a0000}-2123.o(StubCode)
-    CBase::~CBase()                          0x0000a5a8   ARM Code       0  euser{000a0000}-2125.o(StubCode)
-    CSession2::Extension_(unsigned, void*&, void*) 0x0000a5b0   ARM Code       0  euser{000a0000}-2131.o(StubCode)
-    CArrayFixBase::Reset()                   0x0000a5b8   ARM Code       0  euser{000a0000}-245.o(StubCode)
-    CArrayFixBase::InsertL(int, const void*) 0x0000a5c0   ARM Code       0  euser{000a0000}-250.o(StubCode)
-    CArrayFixBase::CArrayFixBase(CBufBase*(*)(int), int, int) 0x0000a5c8   ARM Code       0  euser{000a0000}-254.o(StubCode)
-    CArrayFixBase::~CArrayFixBase()          0x0000a5d0   ARM Code       0  euser{000a0000}-257.o(StubCode)
-    RArrayBase::Close()                      0x0000a5d8   ARM Code       0  euser{000a0000}-46.o(StubCode)
-    RPointerArrayBase::GetElementPtr(const CBase*, int) 0x0000a5e0   ARM Code       0  euser{000a0000}-464.o(StubCode)
-    RPointerArrayBase::Close()               0x0000a5e8   ARM Code       0  euser{000a0000}-470.o(StubCode)
-    RPointerArrayBase::Reset()               0x0000a5f0   ARM Code       0  euser{000a0000}-471.o(StubCode)
-    RPointerArrayBase::Append(const void*)   0x0000a5f8   ARM Code       0  euser{000a0000}-472.o(StubCode)
-    RPointerArrayBase::GetCount(const CBase*) 0x0000a600   ARM Code       0  euser{000a0000}-476.o(StubCode)
-    RArrayBase::Append(const void*)          0x0000a608   ARM Code       0  euser{000a0000}-48.o(StubCode)
-    RPointerArrayBase::RPointerArrayBase()   0x0000a610   ARM Code       0  euser{000a0000}-481.o(StubCode)
-    RArrayBase::RArrayBase(int)              0x0000a618   ARM Code       0  euser{000a0000}-55.o(StubCode)
-    Math::IsNaN(const double&)               0x0000a620   ARM Code       0  euser{000a0000}-551.o(StubCode)
-    User::LeaveIfError(int)                  0x0000a628   ARM Code       0  euser{000a0000}-593.o(StubCode)
-    User::HandleException(void*)             0x0000a630   ARM Code       0  euser{000a0000}-613.o(StubCode)
-    User::Leave(int)                         0x0000a638   ARM Code       0  euser{000a0000}-649.o(StubCode)
-    User::AllocZ(int)                        0x0000a640   ARM Code       0  euser{000a0000}-652.o(StubCode)
-    User::AllocZL(int)                       0x0000a648   ARM Code       0  euser{000a0000}-654.o(StubCode)
-    User::Invariant()                        0x0000a650   ARM Code       0  euser{000a0000}-669.o(StubCode)
-    TBufBase16::TBufBase16(int)              0x0000a658   ARM Code       0  euser{000a0000}-81.o(StubCode)
-    TRect::Grow(int, int)                    0x0000a660   ARM Code       0  euser{000a0000}-824.o(StubCode)
-    TRect::Shrink(const TSize&)              0x0000a668   ARM Code       0  euser{000a0000}-829.o(StubCode)
-    TRect::Shrink(int, int)                  0x0000a670   ARM Code       0  euser{000a0000}-830.o(StubCode)
-    TRect::TRect(const TSize&)               0x0000a678   ARM Code       0  euser{000a0000}-838.o(StubCode)
-    TRect::TRect(const TPoint&, const TSize&) 0x0000a680   ARM Code       0  euser{000a0000}-839.o(StubCode)
-    TRect::TRect(int, int, int, int)         0x0000a688   ARM Code       0  euser{000a0000}-841.o(StubCode)
-    TRect::TRect()                           0x0000a690   ARM Code       0  euser{000a0000}-842.o(StubCode)
-    TDes16::Format(TRefByValue<const TDesC16>, ...) 0x0000a698   ARM Code       0  euser{000a0000}-973.o(StubCode)
-    CApaDocument::Capability() const         0x0000a6a0   ARM Code       0  apparc{000a0000}-121.o(StubCode)
-    CApaApplication::AppFullName() const     0x0000a6a8   ARM Code       0  apparc{000a0000}-132.o(StubCode)
-    TApaApplicationFactory::TApaApplicationFactory(CApaApplication*(*)()) 0x0000a6b0   ARM Code       0  apparc{000a0000}-171.o(StubCode)
-    CApaAppServer::NotifyServerExit(int)     0x0000a6b8   ARM Code       0  apparc{000a0000}-191.o(StubCode)
-    CApaAppServer::CustomSecurityCheckL(const RMessage2&, int&, TSecurityInfo&) 0x0000a6c0   ARM Code       0  apparc{000a0000}-192.o(StubCode)
-    CApaAppServer::CApaAppServer()           0x0000a6c8   ARM Code       0  apparc{000a0000}-194.o(StubCode)
-    CApaAppServiceBase::SecurityCheckL(const RMessage2&, int&, TSecurityInfo&) 0x0000a6d0   ARM Code       0  apparc{000a0000}-202.o(StubCode)
-    CApaAppServer::NewSessionL(const TVersion&, const RMessage2&) const 0x0000a6d8   ARM Code       0  apparc{000a0000}-222.o(StubCode)
-    CApaAppServiceBase::ExtensionInterface(TUid, void*&) 0x0000a6e0   ARM Code       0  apparc{000a0000}-232.o(StubCode)
-    CApaCommandLine::ParentWindowGroupID() const 0x0000a6e8   ARM Code       0  apparc{000a0000}-253.o(StubCode)
-    CApaAppServer::CApaAppServer_Reserved1() 0x0000a6f0   ARM Code       0  apparc{000a0000}-273.o(StubCode)
-    CApaAppServer::CApaAppServer_Reserved2() 0x0000a6f8   ARM Code       0  apparc{000a0000}-274.o(StubCode)
-    CApaAppServer::DoConnect(const RMessage2&) 0x0000a700   ARM Code       0  apparc{000a0000}-275.o(StubCode)
-    CApaApplication::CApaApplication_Reserved1() 0x0000a708   ARM Code       0  apparc{000a0000}-279.o(StubCode)
-    CApaApplication::CApaApplication_Reserved2() 0x0000a710   ARM Code       0  apparc{000a0000}-280.o(StubCode)
-    CApaAppServiceBase::Disconnect(const RMessage2&) 0x0000a718   ARM Code       0  apparc{000a0000}-284.o(StubCode)
-    CApaAppServiceBase::CountResources()     0x0000a720   ARM Code       0  apparc{000a0000}-285.o(StubCode)
-    CApaAppServiceBase::CApaAppServiceBase_Reserved1() 0x0000a728   ARM Code       0  apparc{000a0000}-286.o(StubCode)
-    CApaAppServiceBase::CApaAppServiceBase_Reserved2() 0x0000a730   ARM Code       0  apparc{000a0000}-287.o(StubCode)
-    CApaDocument::GlassPictureL()            0x0000a738   ARM Code       0  apparc{000a0000}-30.o(StubCode)
-    CDesC16Array::AppendL(const TDesC16&)    0x0000a740   ARM Code       0  bafl{000a0000}-43.o(StubCode)
-    CDesC16ArraySeg::CDesC16ArraySeg(int)    0x0000a748   ARM Code       0  bafl{000a0000}-98.o(StubCode)
-    MCoeMessageObserver::MCoeMessageObserver_Reserved_1() 0x0000a750   ARM Code       0  cone{000a0000}-100.o(StubCode)
-    MCoeMessageObserver::MCoeMessageObserver_Reserved_2() 0x0000a758   ARM Code       0  cone{000a0000}-101.o(StubCode)
-    CCoeControl::MakeVisible(int)            0x0000a760   ARM Code       0  cone{000a0000}-11.o(StubCode)
-    CCoeControl::MinimumSize()               0x0000a768   ARM Code       0  cone{000a0000}-12.o(StubCode)
-    MCoeViewDeactivationObserver::MCoeViewDeactivationObserver_Reserved_1() 0x0000a770   ARM Code       0  cone{000a0000}-127.o(StubCode)
-    MCoeViewDeactivationObserver::MCoeViewDeactivationObserver_Reserved_2() 0x0000a778   ARM Code       0  cone{000a0000}-128.o(StubCode)
-    CCoeControl::SetAdjacent(int)            0x0000a780   ARM Code       0  cone{000a0000}-13.o(StubCode)
-    CCoeControl::SetNeighbor(CCoeControl*)   0x0000a788   ARM Code       0  cone{000a0000}-15.o(StubCode)
-    CCoeControl::SizeChanged()               0x0000a790   ARM Code       0  cone{000a0000}-18.o(StubCode)
-    CCoeEnv::Static()                        0x0000a798   ARM Code       0  cone{000a0000}-182.o(StubCode)
-    CCoeControl::FocusChanged(TDrawNow)      0x0000a7a0   ARM Code       0  cone{000a0000}-19.o(StubCode)
-    MCoeView::ViewConstructL()               0x0000a7a8   ARM Code       0  cone{000a0000}-196.o(StubCode)
-    MCoeView::PrepareForViewActivation()     0x0000a7b0   ARM Code       0  cone{000a0000}-197.o(StubCode)
-    MCoeView::ViewScreenModeCompatible(int)  0x0000a7b8   ARM Code       0  cone{000a0000}-199.o(StubCode)
-    CCoeAppUi::AddToStackL(const MCoeView&, CCoeControl*, int, int) 0x0000a7c0   ARM Code       0  cone{000a0000}-203.o(StubCode)
-    CCoeControl::SetMopParent(MObjectProvider*) 0x0000a7c8   ARM Code       0  cone{000a0000}-21.o(StubCode)
-    CCoeAppUi::HandleKeyEventL(const TKeyEvent&, TEventCode) 0x0000a7d0   ARM Code       0  cone{000a0000}-210.o(StubCode)
-    CCoeAppUi::RemoveFromStack(CCoeControl*) 0x0000a7d8   ARM Code       0  cone{000a0000}-211.o(StubCode)
-    CCoeAppUi::SetAndDrawFocus(int)          0x0000a7e0   ARM Code       0  cone{000a0000}-212.o(StubCode)
-    CCoeAppUi::HandleSwitchOnEventL(CCoeControl*) 0x0000a7e8   ARM Code       0  cone{000a0000}-220.o(StubCode)
-    CCoeControl::CreateWindowL()             0x0000a7f0   ARM Code       0  cone{000a0000}-25.o(StubCode)
-    CCoeControl::DrawDeferred() const        0x0000a7f8   ARM Code       0  cone{000a0000}-257.o(StubCode)
-    CCoeControl::OfferKeyEventL(const TKeyEvent&, TEventCode) 0x0000a800   ARM Code       0  cone{000a0000}-26.o(StubCode)
-    CCoeControl::GetHelpContext(TCoeHelpContext&) const 0x0000a808   ARM Code       0  cone{000a0000}-263.o(StubCode)
-    CCoeControl::ComponentControl(int) const 0x0000a810   ARM Code       0  cone{000a0000}-265.o(StubCode)
-    CCoeControl::GetColorUseListL(CArrayFix<TCoeColorUse>&) const 0x0000a818   ARM Code       0  cone{000a0000}-266.o(StubCode)
-    CCoeControl::InputCapabilities() const   0x0000a820   ARM Code       0  cone{000a0000}-270.o(StubCode)
-    CCoeControl::WriteInternalStateL(RWriteStream&) const 0x0000a828   ARM Code       0  cone{000a0000}-271.o(StubCode)
-    CCoeControl::CountComponentControls() const 0x0000a830   ARM Code       0  cone{000a0000}-272.o(StubCode)
-    CCoeControl::Draw(const TRect&) const    0x0000a838   ARM Code       0  cone{000a0000}-275.o(StubCode)
-    CCoeControl::Rect() const                0x0000a840   ARM Code       0  cone{000a0000}-276.o(StubCode)
-    CCoeControl::SystemGc() const            0x0000a848   ARM Code       0  cone{000a0000}-287.o(StubCode)
-    CCoeControl::HasBorder() const           0x0000a850   ARM Code       0  cone{000a0000}-288.o(StubCode)
-    CCoeControl::MopSupplyObject(TTypeUid)   0x0000a858   ARM Code       0  cone{000a0000}-29.o(StubCode)
-    CCoeControl::PositionChanged()           0x0000a860   ARM Code       0  cone{000a0000}-30.o(StubCode)
-    CCoeAppUi::HelpContextL() const          0x0000a868   ARM Code       0  cone{000a0000}-351.o(StubCode)
-    CCoeAppUi::GetActiveViewId(TVwsViewId&) const 0x0000a870   ARM Code       0  cone{000a0000}-353.o(StubCode)
-    CCoeAppUi::InputCapabilities() const     0x0000a878   ARM Code       0  cone{000a0000}-355.o(StubCode)
-    CCoeControl::HandlePointerEventL(const TPointerEvent&) 0x0000a880   ARM Code       0  cone{000a0000}-36.o(StubCode)
-    CCoeControl::SetContainerWindowL(const CCoeControl&) 0x0000a888   ARM Code       0  cone{000a0000}-39.o(StubCode)
-    thunk{-4} to CCoeControl::MopSupplyObject(TTypeUid) 0x0000a890   ARM Code       0  cone{000a0000}-396.o(StubCode)
-    thunk{-4} to CCoeControl::MopNext()      0x0000a898   ARM Code       0  cone{000a0000}-397.o(StubCode)
-    CCoeControl::HandleResourceChange(int)   0x0000a8a0   ARM Code       0  cone{000a0000}-40.o(StubCode)
-    CCoeControl::PrepareForFocusGainL()      0x0000a8a8   ARM Code       0  cone{000a0000}-41.o(StubCode)
-    CCoeControl::PrepareForFocusLossL()      0x0000a8b0   ARM Code       0  cone{000a0000}-42.o(StubCode)
-    CCoeControl::SetParent(CCoeControl*)     0x0000a8b8   ARM Code       0  cone{000a0000}-444.o(StubCode)
-    CCoeControl::SetLayoutManagerL(MCoeLayoutManager*) 0x0000a8c0   ARM Code       0  cone{000a0000}-474.o(StubCode)
-    CCoeControl::GetTextDrawer(CCoeTextDrawerBase*&, const CCoeControl*, int) const 0x0000a8c8   ARM Code       0  cone{000a0000}-477.o(StubCode)
-    CCoeControl::Reserved_CCoeControl_8()    0x0000a8d0   ARM Code       0  cone{000a0000}-478.o(StubCode)
-    CCoeControl::Reserved_CCoeControl_9()    0x0000a8d8   ARM Code       0  cone{000a0000}-479.o(StubCode)
-    CCoeControl::ConstructFromResourceL(TResourceReader&) 0x0000a8e0   ARM Code       0  cone{000a0000}-48.o(StubCode)
-    CCoeControl::RequestRelayout(const CCoeControl*) 0x0000a8e8   ARM Code       0  cone{000a0000}-482.o(StubCode)
-    CCoeControl::SetExtentToWholeScreen()    0x0000a8f0   ARM Code       0  cone{000a0000}-50.o(StubCode)
-    CCoeControl::SetTextBaselineSpacing(int) 0x0000a8f8   ARM Code       0  cone{000a0000}-502.o(StubCode)
-    CCoeControl::HandlePointerBufferReadyL() 0x0000a900   ARM Code       0  cone{000a0000}-51.o(StubCode)
-    CCoeControl::TextBaselineOffset(const TSize&) const 0x0000a908   ARM Code       0  cone{000a0000}-514.o(StubCode)
-    CCoeControl::MopNext()                   0x0000a910   ARM Code       0  cone{000a0000}-56.o(StubCode)
-    CCoeControl::SetRect(const TRect&)       0x0000a918   ARM Code       0  cone{000a0000}-57.o(StubCode)
-    CCoeControl::Reserved_CCoeControl_10()   0x0000a920   ARM Code       0  cone{000a0000}-580.o(StubCode)
-    CCoeControl::Reserved_CCoeControl_11()   0x0000a928   ARM Code       0  cone{000a0000}-581.o(StubCode)
-    CCoeControl::Reserved_CCoeControl_12()   0x0000a930   ARM Code       0  cone{000a0000}-582.o(StubCode)
-    CCoeControl::Reserved_CCoeControl_13()   0x0000a938   ARM Code       0  cone{000a0000}-583.o(StubCode)
-    CCoeControl::HandleControlArrayEventL(CCoeControlArray::TEvent, const CCoeControlArray*, CCoeControl*, int) 0x0000a940   ARM Code       0  cone{000a0000}-584.o(StubCode)
-    CCoeControl::ActivateL()                 0x0000a948   ARM Code       0  cone{000a0000}-61.o(StubCode)
-    CCoeControl::SetDimmed(int)              0x0000a950   ARM Code       0  cone{000a0000}-62.o(StubCode)
-    MObjectProvider::MObjectProvider_Reserved1() 0x0000a958   ARM Code       0  cone{000a0000}-638.o(StubCode)
-    MObjectProvider::MObjectProvider_Reserved2() 0x0000a960   ARM Code       0  cone{000a0000}-639.o(StubCode)
-    CCoeControl::CCoeControl()               0x0000a968   ARM Code       0  cone{000a0000}-64.o(StubCode)
-    MCoeViewDeactivationObserver::MCoeViewDeactivationObserver__sub_object() 0x0000a970   ARM Code       0  cone{000a0000}-664.o(StubCode)
-    CCoeControl::~CCoeControl()              0x0000a978   ARM Code       0  cone{000a0000}-67.o(StubCode)
-    MCoeView::MCoeView_Reserved_2()          0x0000a980   ARM Code       0  cone{000a0000}-670.o(StubCode)
-    MCoeView::MCoeView_Reserved_3()          0x0000a988   ARM Code       0  cone{000a0000}-671.o(StubCode)
-    CCoeAppUi::FrameworkCallsRendezvous() const 0x0000a990   ARM Code       0  cone{000a0000}-676.o(StubCode)
-    CCoeAppUi::CCoeAppUi_Reserved_2()        0x0000a998   ARM Code       0  cone{000a0000}-677.o(StubCode)
-    CCoeControl::Reserved_2()                0x0000a9a0   ARM Code       0  cone{000a0000}-9.o(StubCode)
-    thunk{-20} to CEikDocument::SaveL(MSaveObserver::TSaveType) 0x0000a9a8   ARM Code       0  eikcore{000a0000}-141.o(StubCode)
-    CEikAppUi::Reserved_3()                  0x0000a9b0   ARM Code       0  eikcore{000a0000}-142.o(StubCode)
-    CEikAppUi::Reserved_4()                  0x0000a9b8   ARM Code       0  eikcore{000a0000}-143.o(StubCode)
-    CEikAppUi::CreateFileL(const TDesC16&)   0x0000a9c0   ARM Code       0  eikcore{000a0000}-144.o(StubCode)
-    CEikAppUi::SetEmphasis(CCoeControl*, int) 0x0000a9c8   ARM Code       0  eikcore{000a0000}-147.o(StubCode)
-    CEikAppUi::HandleMessageL(unsigned long, TUid, const TDesC8&) 0x0000a9d0   ARM Code       0  eikcore{000a0000}-152.o(StubCode)
-    CEikAppUi::ProcessMessageL(TUid, const TDesC8&) 0x0000a9d8   ARM Code       0  eikcore{000a0000}-155.o(StubCode)
-    CEikAppUi::HandleModelChangeL()          0x0000a9e0   ARM Code       0  eikcore{000a0000}-158.o(StubCode)
-    CEikAppUi::HandleSideBarMenuL(int, const TPoint&, int, const CEikHotKeyTable*) 0x0000a9e8   ARM Code       0  eikcore{000a0000}-159.o(StubCode)
-    CEikAppUi::ProcessCommandParametersL(TApaCommand, TBuf<(int)256>&, const TDesC8&) 0x0000a9f0   ARM Code       0  eikcore{000a0000}-169.o(StubCode)
-    CEikAppUi::ReportResourceChangedToAppL(int) 0x0000a9f8   ARM Code       0  eikcore{000a0000}-171.o(StubCode)
-    CEikAppUi::OpenFileL(const TDesC16&)     0x0000aa00   ARM Code       0  eikcore{000a0000}-175.o(StubCode)
-    CEikDocument::Reserved_2()               0x0000aa08   ARM Code       0  eikcore{000a0000}-18.o(StubCode)
-    CEikDocument::NewDocumentL()             0x0000aa10   ARM Code       0  eikcore{000a0000}-20.o(StubCode)
-    CEikDocument::UpdateTaskNameL(CApaWindowGroupName*) 0x0000aa18   ARM Code       0  eikcore{000a0000}-25.o(StubCode)
-    CEikDocument::CreateFileStoreLC(RFs&, const TDesC16&) 0x0000aa20   ARM Code       0  eikcore{000a0000}-26.o(StubCode)
-    CEikDocument::EditL(MApaEmbeddedDocObserver*, int) 0x0000aa28   ARM Code       0  eikcore{000a0000}-27.o(StubCode)
-    CEikDocument::SaveL(MSaveObserver::TSaveType) 0x0000aa30   ARM Code       0  eikcore{000a0000}-28.o(StubCode)
-    CEikDocument::SaveL()                    0x0000aa38   ARM Code       0  eikcore{000a0000}-29.o(StubCode)
-    CEikDocument::HasChanged() const         0x0000aa40   ARM Code       0  eikcore{000a0000}-291.o(StubCode)
-    CEikDocument::ExternalizeL(RWriteStream&) const 0x0000aa48   ARM Code       0  eikcore{000a0000}-293.o(StubCode)
-    CEikDocument::StoreL(CStreamStore&, CStreamDictionary&) const 0x0000aa50   ARM Code       0  eikcore{000a0000}-294.o(StubCode)
-    CEikDocument::IsEmpty() const            0x0000aa58   ARM Code       0  eikcore{000a0000}-295.o(StubCode)
-    CEikApplication::Capability(TDes8&) const 0x0000aa60   ARM Code       0  eikcore{000a0000}-296.o(StubCode)
-    CEikApplication::OpenIniFileLC(RFs&) const 0x0000aa68   ARM Code       0  eikcore{000a0000}-297.o(StubCode)
-    CEikApplication::BitmapStoreName() const 0x0000aa70   ARM Code       0  eikcore{000a0000}-298.o(StubCode)
-    CEikApplication::ResourceFileName() const 0x0000aa78   ARM Code       0  eikcore{000a0000}-299.o(StubCode)
-    CEikDocument::PrintL(const CStreamStore&) 0x0000aa80   ARM Code       0  eikcore{000a0000}-30.o(StubCode)
-    CEikApplication::GetDefaultDocumentFileName(TBuf<(int)256>&) const 0x0000aa88   ARM Code       0  eikcore{000a0000}-302.o(StubCode)
-    CEikDocument::RestoreL(const CStreamStore&, const CStreamDictionary&) 0x0000aa90   ARM Code       0  eikcore{000a0000}-31.o(StubCode)
-    CEikAppUi::ClientRect() const            0x0000aa98   ARM Code       0  eikcore{000a0000}-315.o(StubCode)
-    CEikAppUi::ValidFileType(TUid) const     0x0000aaa0   ARM Code       0  eikcore{000a0000}-317.o(StubCode)
-    CEikAppUi::Document() const              0x0000aaa8   ARM Code       0  eikcore{000a0000}-319.o(StubCode)
-    CEikonEnv::DenseFont() const             0x0000aab0   ARM Code       0  eikcore{000a0000}-352.o(StubCode)
-    CEikDocument::~CEikDocument__sub_object() 0x0000aab8   ARM Code       0  eikcore{000a0000}-37.o(StubCode)
-    thunk{-36} to CEikAppUi::HandleMessageL(unsigned long, TUid, const TDesC8&) 0x0000aac0   ARM Code       0  eikcore{000a0000}-390.o(StubCode)
-    thunk{-40} to CEikAppUi::MopNext()       0x0000aac8   ARM Code       0  eikcore{000a0000}-392.o(StubCode)
-    EikStart::RunApplication(TApaApplicationFactory) 0x0000aad0   ARM Code       0  eikcore{000a0000}-394.o(StubCode)
-    CEikAppServer::ExtensionInterface(TUid, void*&) 0x0000aad8   ARM Code       0  eikcore{000a0000}-467.o(StubCode)
-    CEikonEnv::StartedAsServerApp() const    0x0000aae0   ARM Code       0  eikcore{000a0000}-472.o(StubCode)
-    CEikonEnv::AppServer() const             0x0000aae8   ARM Code       0  eikcore{000a0000}-473.o(StubCode)
-    CEikAppUi::MopNext()                     0x0000aaf0   ARM Code       0  eikcore{000a0000}-479.o(StubCode)
-    thunk{-24} to CEikAppUi::HandleSideBarMenuL(int, const TPoint&, int, const CEikHotKeyTable*) 0x0000aaf8   ARM Code       0  eikcore{000a0000}-490.o(StubCode)
-    CEikAppUi::ProcessCommandParametersL(CApaCommandLine&) 0x0000ab00   ARM Code       0  eikcore{000a0000}-506.o(StubCode)
-    CEikAppServer::CreateServiceSecurityCheckL(TUid, const RMessage2&, int&, TSecurityInfo&) 0x0000ab08   ARM Code       0  eikcore{000a0000}-523.o(StubCode)
-    CEikApplication::CEikApplication_Reserved1() 0x0000ab10   ARM Code       0  eikcore{000a0000}-532.o(StubCode)
-    CEikApplication::CEikApplication_Reserved2() 0x0000ab18   ARM Code       0  eikcore{000a0000}-533.o(StubCode)
-    MEikMenuObserver::Reserved_2_MenuObserver() 0x0000ab20   ARM Code       0  eikcore{000a0000}-534.o(StubCode)
-    MEikMenuObserver::CreateCustomCommandControlL(int) 0x0000ab28   ARM Code       0  eikcore{000a0000}-535.o(StubCode)
-    MEikMenuObserver::MEikCommandObserver_Reserved1() 0x0000ab30   ARM Code       0  eikcore{000a0000}-536.o(StubCode)
-    MEikMenuObserver::MEikCommandObserver_Reserved2() 0x0000ab38   ARM Code       0  eikcore{000a0000}-537.o(StubCode)
-    CEikDocument::ValidatePasswordL() const  0x0000ab40   ARM Code       0  eikcore{000a0000}-565.o(StubCode)
-    CEikApplication::CreateDocumentL(CApaProcess*) 0x0000ab48   ARM Code       0  eikcore{000a0000}-61.o(StubCode)
-    CEikApplication::PreDocConstructL()      0x0000ab50   ARM Code       0  eikcore{000a0000}-62.o(StubCode)
-    thunk{-24} to CEikAppUi::SetEmphasis(CCoeControl*, int) 0x0000ab58   ARM Code       0  eikcore{000a0000}-63.o(StubCode)
-    CEikApplication::CEikApplication__sub_object() 0x0000ab60   ARM Code       0  eikcore{000a0000}-64.o(StubCode)
-    CEikApplication::~CEikApplication__sub_object() 0x0000ab68   ARM Code       0  eikcore{000a0000}-67.o(StubCode)
-    MEikMenuObserver::RestoreMenuL(CCoeControl*, int, MEikMenuObserver::TMenuType) 0x0000ab70   ARM Code       0  eikcore{000a0000}-72.o(StubCode)
-    MEikMenuObserver::OfferKeyToAppL(const TKeyEvent&, TEventCode) 0x0000ab78   ARM Code       0  eikcore{000a0000}-73.o(StubCode)
-    MEikMenuObserver::DynInitMenuBarL(int, CEikMenuBar*) 0x0000ab80   ARM Code       0  eikcore{000a0000}-74.o(StubCode)
-    MEikMenuObserver::DynInitMenuPaneL(int, CEikMenuPane*) 0x0000ab88   ARM Code       0  eikcore{000a0000}-75.o(StubCode)
-    MEikMenuObserver::HandleSideBarMenuL(int, const TPoint&, int, const CEikHotKeyTable*) 0x0000ab90   ARM Code       0  eikcore{000a0000}-76.o(StubCode)
-    MEikMenuObserver::CheckHotKeyNotDimmedL(int) 0x0000ab98   ARM Code       0  eikcore{000a0000}-77.o(StubCode)
-    MEikMenuObserver::Reserved_1_MenuObserver() 0x0000aba0   ARM Code       0  eikcore{000a0000}-78.o(StubCode)
-    MEikMenuObserver::HandleAttemptDimmedSelectionL(int) 0x0000aba8   ARM Code       0  eikcore{000a0000}-79.o(StubCode)
-    CEikStatusPaneBase::ControlL(TUid) const 0x0000abb0   ARM Code       0  eikcoctl{000a0000}-1376.o(StubCode)
-    CEikMenuPane::SetItemDimmed(int, int)    0x0000abb8   ARM Code       0  eikcoctl{000a0000}-140.o(StubCode)
-    CEikButtonGroupContainer::ReduceRect(TRect&) const 0x0000abc0   ARM Code       0  eikcoctl{000a0000}-1430.o(StubCode)
-    CEikListBox::HandleItemAdditionL()       0x0000abc8   ARM Code       0  eikcoctl{000a0000}-35.o(StubCode)
-    CEikListBox::CreateScrollBarFrameL(int)  0x0000abd0   ARM Code       0  eikcoctl{000a0000}-46.o(StubCode)
-    CTextListBoxModel::SetItemTextArray(MDesC16Array*) 0x0000abd8   ARM Code       0  eikcoctl{000a0000}-605.o(StubCode)
-    CTextListBoxModel::SetOwnershipType(TListBoxModelItemArrayOwnership) 0x0000abe0   ARM Code       0  eikcoctl{000a0000}-606.o(StubCode)
-    CEikScrollBarFrame::SetScrollBarVisibilityL(CEikScrollBarFrame::TScrollBarVisibility, CEikScrollBarFrame::TScrollBarVisibility) 0x0000abe8   ARM Code       0  eikcoctl{000a0000}-660.o(StubCode)
-    CEikButtonGroupContainer::DoSetCommandL(int, int, const TDesC16*, const CFbsBitmap*, const CFbsBitmap*, CEikButtonGroupContainer::TCommandOp) 0x0000abf0   ARM Code       0  eikcoctl{000a0000}-875.o(StubCode)
-    CEikButtonGroupContainer::SetCommandSetL(int) 0x0000abf8   ARM Code       0  eikcoctl{000a0000}-880.o(StubCode)
-    CEikButtonGroupContainer::SetBoundingRect(const TRect&) 0x0000ac00   ARM Code       0  eikcoctl{000a0000}-881.o(StubCode)
-    CEikColumnListBox::Model() const         0x0000ac08   ARM Code       0  eikctl{000a0000}-455.o(StubCode)
-    CAknAppServiceBase::CreateL()            0x0000ac10   ARM Code       0  avkon{000a0000}-1132.o(StubCode)
-    CAknDocument::OpenFileL(CFileStore*&, RFile&) 0x0000ac18   ARM Code       0  avkon{000a0000}-129.o(StubCode)
-    CAknDocument::OpenFileL(int, const TDesC16&, RFs&) 0x0000ac20   ARM Code       0  avkon{000a0000}-130.o(StubCode)
-    CAknDocument::CAknDocument__sub_object(CEikApplication&) 0x0000ac28   ARM Code       0  avkon{000a0000}-131.o(StubCode)
-    CAknInformationNote::CAknInformationNote(int) 0x0000ac30   ARM Code       0  avkon{000a0000}-1341.o(StubCode)
-    CAknAppServer::ConstructL(const TDesC16&) 0x0000ac38   ARM Code       0  avkon{000a0000}-198.o(StubCode)
-    CAknAppServer::HandleAllClientsClosed()  0x0000ac40   ARM Code       0  avkon{000a0000}-199.o(StubCode)
-    CAknResourceNoteDialog::ExecuteLD(const TDesC16&) 0x0000ac48   ARM Code       0  avkon{000a0000}-1996.o(StubCode)
-    CAknAppServer::~CAknAppServer()          0x0000ac50   ARM Code       0  avkon{000a0000}-201.o(StubCode)
-    CAknAppUiBase::MopSupplyObject(TTypeUid) 0x0000ac58   ARM Code       0  avkon{000a0000}-206.o(StubCode)
-    CAknAppUiBase::HandleResourceChangeL(int) 0x0000ac60   ARM Code       0  avkon{000a0000}-211.o(StubCode)
-    CAknAppUiBase::HandleScreenDeviceChangedL() 0x0000ac68   ARM Code       0  avkon{000a0000}-213.o(StubCode)
-    CAknAppUiBase::HandleApplicationSpecificEventL(int, const TWsEvent&) 0x0000ac70   ARM Code       0  avkon{000a0000}-214.o(StubCode)
-    CAknAppUiBase::Exit()                    0x0000ac78   ARM Code       0  avkon{000a0000}-215.o(StubCode)
-    CAknAppUiBase::SetFadedL(int)            0x0000ac80   ARM Code       0  avkon{000a0000}-216.o(StubCode)
-    CAknSelectionListDialog::SetIconArrayL(CArrayPtr<CGulIcon>*) 0x0000ac88   ARM Code       0  avkon{000a0000}-2163.o(StubCode)
-    CAknAppUiBase::CAknAppUiBase()           0x0000ac90   ARM Code       0  avkon{000a0000}-217.o(StubCode)
-    CAknSelectionListDialog::NewL(int&, MDesC16Array*, int, MEikCommandObserver*) 0x0000ac98   ARM Code       0  avkon{000a0000}-2178.o(StubCode)
-    CAknAppUiBase::~CAknAppUiBase()          0x0000aca0   ARM Code       0  avkon{000a0000}-220.o(StubCode)
-    CAknSingleHeadingStyleListBox::CAknSingleHeadingStyleListBox() 0x0000aca8   ARM Code       0  avkon{000a0000}-2591.o(StubCode)
-    CAknNavigationControlContainer::CreateNavigationLabelL(const TDesC16&) 0x0000acb0   ARM Code       0  avkon{000a0000}-2624.o(StubCode)
-    CAknNavigationControlContainer::ReplaceL(CAknNavigationDecorator&, CAknNavigationDecorator&) 0x0000acb8   ARM Code       0  avkon{000a0000}-2632.o(StubCode)
-    CAknView::SetEmphasis(CCoeControl*, int) 0x0000acc0   ARM Code       0  avkon{000a0000}-2895.o(StubCode)
-    CAknView::BaseConstructL(int)            0x0000acc8   ARM Code       0  avkon{000a0000}-2898.o(StubCode)
-    CAknView::HandleCommandL(int)            0x0000acd0   ARM Code       0  avkon{000a0000}-2899.o(StubCode)
-    CAknView::ViewActivatedL(const TVwsViewId&, TUid, const TDesC8&) 0x0000acd8   ARM Code       0  avkon{000a0000}-2900.o(StubCode)
-    CAknView::MopSupplyObject(TTypeUid)      0x0000ace0   ARM Code       0  avkon{000a0000}-2901.o(StubCode)
-    CAknView::ProcessCommandL(int)           0x0000ace8   ARM Code       0  avkon{000a0000}-2902.o(StubCode)
-    CAknView::ViewDeactivated()              0x0000acf0   ARM Code       0  avkon{000a0000}-2903.o(StubCode)
-    CAknView::AknViewActivatedL(const TVwsViewId&, TUid, const TDesC8&) 0x0000acf8   ARM Code       0  avkon{000a0000}-2904.o(StubCode)
-    CAknView::Reserved_MtsmObject()          0x0000ad00   ARM Code       0  avkon{000a0000}-2905.o(StubCode)
-    CAknView::HandleViewRectChange()         0x0000ad08   ARM Code       0  avkon{000a0000}-2906.o(StubCode)
-    CAknView::Reserved_MtsmPosition()        0x0000ad10   ARM Code       0  avkon{000a0000}-2907.o(StubCode)
-    CAknView::HandleForegroundEventL(int)    0x0000ad18   ARM Code       0  avkon{000a0000}-2909.o(StubCode)
-    CAknView::ViewScreenDeviceChangedL()     0x0000ad20   ARM Code       0  avkon{000a0000}-2910.o(StubCode)
-    CAknView::HandleStatusPaneSizeChange()   0x0000ad28   ARM Code       0  avkon{000a0000}-2912.o(StubCode)
-    CAknView::MopNext()                      0x0000ad30   ARM Code       0  avkon{000a0000}-2913.o(StubCode)
-    CAknView::CAknView__sub_object()         0x0000ad38   ARM Code       0  avkon{000a0000}-2914.o(StubCode)
-    CAknView::~CAknView__sub_object()        0x0000ad40   ARM Code       0  avkon{000a0000}-2917.o(StubCode)
-    CAknAppUi::StatusPane()                  0x0000ad48   ARM Code       0  avkon{000a0000}-2919.o(StubCode)
-    CAknAppUi::HandleError(int, const SExtendedError&, TDes16&, TDes16&) 0x0000ad50   ARM Code       0  avkon{000a0000}-2920.o(StubCode)
-    CAknAppUi::PrepareToExit()               0x0000ad58   ARM Code       0  avkon{000a0000}-2922.o(StubCode)
-    CAknAppUi::HandleSystemEventL(const TWsEvent&) 0x0000ad60   ARM Code       0  avkon{000a0000}-2928.o(StubCode)
-    CAknAppUi::Reserved_MtsmObject()         0x0000ad68   ARM Code       0  avkon{000a0000}-2929.o(StubCode)
-    CAknAppUi::Reserved_MtsmPosition()       0x0000ad70   ARM Code       0  avkon{000a0000}-2930.o(StubCode)
-    CAknAppUi::HandleViewDeactivation(const TVwsViewId&, const TVwsViewId&) 0x0000ad78   ARM Code       0  avkon{000a0000}-2932.o(StubCode)
-    CAknAppUi::HandleTouchPaneSizeChange()   0x0000ad80   ARM Code       0  avkon{000a0000}-2934.o(StubCode)
-    CAknAppUi::Cba()                         0x0000ad88   ARM Code       0  avkon{000a0000}-2936.o(StubCode)
-    CAknAppServer::CreateServiceL(TUid) const 0x0000ad90   ARM Code       0  avkon{000a0000}-2993.o(StubCode)
-    CAknAppUiBase::ApplicationRect() const   0x0000ad98   ARM Code       0  avkon{000a0000}-2997.o(StubCode)
-    CAknView::ClientRect() const             0x0000ada0   ARM Code       0  avkon{000a0000}-3417.o(StubCode)
-    CAknView::Cba() const                    0x0000ada8   ARM Code       0  avkon{000a0000}-3420.o(StubCode)
-    CAknView::AppUi() const                  0x0000adb0   ARM Code       0  avkon{000a0000}-3421.o(StubCode)
-    CAknView::Redraw() const                 0x0000adb8   ARM Code       0  avkon{000a0000}-3422.o(StubCode)
-    CAknView::ViewId() const                 0x0000adc0   ARM Code       0  avkon{000a0000}-3423.o(StubCode)
-    CAknView::MenuBar() const                0x0000adc8   ARM Code       0  avkon{000a0000}-3424.o(StubCode)
-    CAknViewAppUi::BaseConstructL(int)       0x0000add0   ARM Code       0  avkon{000a0000}-367.o(StubCode)
-    CAknViewAppUi::HandleWsEventL(const TWsEvent&, CCoeControl*) 0x0000add8   ARM Code       0  avkon{000a0000}-368.o(StubCode)
-    CAknViewAppUi::ProcessCommandL(int)      0x0000ade0   ARM Code       0  avkon{000a0000}-369.o(StubCode)
-    CAknViewAppUi::ActivateLocalViewL(TUid)  0x0000ade8   ARM Code       0  avkon{000a0000}-370.o(StubCode)
-    CAknViewAppUi::StopDisplayingMenuBar()   0x0000adf0   ARM Code       0  avkon{000a0000}-372.o(StubCode)
-    CAknViewAppUi::HandleForegroundEventL(int) 0x0000adf8   ARM Code       0  avkon{000a0000}-373.o(StubCode)
-    CAknViewAppUi::HandleStatusPaneSizeChange() 0x0000ae00   ARM Code       0  avkon{000a0000}-374.o(StubCode)
-    CAknViewAppUi::AddViewL(CAknView*)       0x0000ae08   ARM Code       0  avkon{000a0000}-375.o(StubCode)
-    CAknViewAppUi::~CAknViewAppUi()          0x0000ae10   ARM Code       0  avkon{000a0000}-377.o(StubCode)
-    thunk{-100} to CAknAppUi::HandleTouchPaneSizeChange() 0x0000ae18   ARM Code       0  avkon{000a0000}-3826.o(StubCode)
-    thunk{-12} to CAknView::SetEmphasis(CCoeControl*, int) 0x0000ae20   ARM Code       0  avkon{000a0000}-3831.o(StubCode)
-    thunk{-12} to CAknView::ProcessCommandL(int) 0x0000ae28   ARM Code       0  avkon{000a0000}-3832.o(StubCode)
-    thunk{-24} to CAknViewAppUi::ProcessCommandL(int) 0x0000ae30   ARM Code       0  avkon{000a0000}-3857.o(StubCode)
-    thunk{-24} to CAknView::MopSupplyObject(TTypeUid) 0x0000ae38   ARM Code       0  avkon{000a0000}-3860.o(StubCode)
-    thunk{-24} to CAknView::MopNext()        0x0000ae40   ARM Code       0  avkon{000a0000}-3861.o(StubCode)
-    thunk{-40} to CAknAppUiBase::MopSupplyObject(TTypeUid) 0x0000ae48   ARM Code       0  avkon{000a0000}-3868.o(StubCode)
-    thunk{-4} to CAknView::ViewActivatedL(const TVwsViewId&, TUid, const TDesC8&) 0x0000ae50   ARM Code       0  avkon{000a0000}-3947.o(StubCode)
-    thunk{-4} to CAknView::ViewDeactivated() 0x0000ae58   ARM Code       0  avkon{000a0000}-3948.o(StubCode)
-    thunk{-4} to CAknView::ViewScreenDeviceChangedL() 0x0000ae60   ARM Code       0  avkon{000a0000}-3949.o(StubCode)
-    thunk{-4} to CAknView::ViewId() const    0x0000ae68   ARM Code       0  avkon{000a0000}-3983.o(StubCode)
-    thunk{-88} to CAknViewAppUi::HandleStatusPaneSizeChange() 0x0000ae70   ARM Code       0  avkon{000a0000}-4014.o(StubCode)
-    thunk{-92} to CAknAppUi::HandleViewDeactivation(const TVwsViewId&, const TVwsViewId&) 0x0000ae78   ARM Code       0  avkon{000a0000}-4030.o(StubCode)
-    AknIconUtils::CreateIconLC(CFbsBitmap*&, CFbsBitmap*&, const TDesC16&, int, int) 0x0000ae80   ARM Code       0  AknIcon{000a0000}-13.o(StubCode)
-    CGulIcon::SetBitmapsOwnedExternally(int) 0x0000ae88   ARM Code       0  egul{000a0000}-94.o(StubCode)
-    CGulIcon::NewL(CFbsBitmap*, CFbsBitmap*) 0x0000ae90   ARM Code       0  egul{000a0000}-95.o(StubCode)
-    CFont::AscentInPixels() const            0x0000ae98   ARM Code       0  gdi{000a0000}-310.o(StubCode)
-    CFont::HeightInPixels() const            0x0000aea0   ARM Code       0  gdi{000a0000}-311.o(StubCode)
-    CFont::FontSpecInTwips() const           0x0000aea8   ARM Code       0  gdi{000a0000}-312.o(StubCode)
-    CFbsBitmap::Create(const TSize&, TDisplayMode) 0x0000aeb0   ARM Code       0  fbscli{000a0000}-26.o(StubCode)
-    CFbsBitmap::CFbsBitmap()                 0x0000aeb8   ARM Code       0  fbscli{000a0000}-31.o(StubCode)
-    CPosLandmark::NewL(const CPosLandmark&)  0x0000aec0   ARM Code       0  eposlandmarks{000a0000}-12.o(StubCode)
-    CPosLandmark::NewLC()                    0x0000aec8   ARM Code       0  eposlandmarks{000a0000}-15.o(StubCode)
-    CPosLandmark::SetPositionL(const TLocality&) 0x0000aed0   ARM Code       0  eposlandmarks{000a0000}-4.o(StubCode)
-    CPosLandmarkDatabase::OpenL(const TDesC16&) 0x0000aed8   ARM Code       0  eposlandmarks{000a0000}-50.o(StubCode)
-    CPosLandmark::GetPosition(TLocality&) const 0x0000aee0   ARM Code       0  eposlandmarks{000a0000}-65.o(StubCode)
-    CPosLandmark::GetLandmarkName(TPtrC16&) const 0x0000aee8   ARM Code       0  eposlandmarks{000a0000}-67.o(StubCode)
-    CPosLandmark::GetIcon(TPtrC16&, int&, int&) const 0x0000aef0   ARM Code       0  eposlandmarks{000a0000}-75.o(StubCode)
-    TPositionUpdateOptions::TPositionUpdateOptions() 0x0000aef8   ARM Code       0  lbs{000a0000}-152.o(StubCode)
-    TPositionUpdateOptionsBase::SetUpdateTimeOut(TTimeIntervalMicroSeconds) 0x0000af00   ARM Code       0  lbs{000a0000}-180.o(StubCode)
-    TPositionUpdateOptionsBase::SetUpdateInterval(TTimeIntervalMicroSeconds) 0x0000af08   ARM Code       0  lbs{000a0000}-181.o(StubCode)
-    TLocality::TLocality(const TCoordinate&, float) 0x0000af10   ARM Code       0  lbs{000a0000}-205.o(StubCode)
-    TLocality::TLocality()                   0x0000af18   ARM Code       0  lbs{000a0000}-207.o(StubCode)
-    TCoordinate::TCoordinate(const double&, const double&) 0x0000af20   ARM Code       0  lbs{000a0000}-21.o(StubCode)
-    TPosition::TPosition()                   0x0000af28   ARM Code       0  lbs{000a0000}-214.o(StubCode)
-    TCoordinate::Latitude() const            0x0000af30   ARM Code       0  lbs{000a0000}-223.o(StubCode)
-    TCoordinate::Longitude() const           0x0000af38   ARM Code       0  lbs{000a0000}-225.o(StubCode)
-    TPositionInfo::GetPosition(TPosition&) const 0x0000af40   ARM Code       0  lbs{000a0000}-226.o(StubCode)
-    TCoordinate::TCoordinate()               0x0000af48   ARM Code       0  lbs{000a0000}-23.o(StubCode)
-    TPositionInfo::TPositionInfo()           0x0000af50   ARM Code       0  lbs{000a0000}-28.o(StubCode)
-    TLocality::Distance(const TCoordinate&, float&) const 0x0000af58   ARM Code       0  lbs{000a0000}-304.o(StubCode)
-    TLocality::BearingTo(const TCoordinate&, float&) const 0x0000af60   ARM Code       0  lbs{000a0000}-306.o(StubCode)
-    CMnServiceBase::ServiceError(const RMessage2&, int) 0x0000af68   ARM Code       0  mnservicelib{000a0000}-1.o(StubCode)
-    CMnMapViewServiceBase::LinkedLandmarksToShow(int) 0x0000af70   ARM Code       0  mnservicelib{000a0000}-10.o(StubCode)
-    CMnMapViewServiceBase::CompleteSelectionRequest(int) 0x0000af78   ARM Code       0  mnservicelib{000a0000}-11.o(StubCode)
-    CMnMapViewServiceBase::CompleteSelectionRequest(unsigned long, int) 0x0000af80   ARM Code       0  mnservicelib{000a0000}-12.o(StubCode)
-    CMnMapViewServiceBase::LandmarksToShowDatabases() 0x0000af88   ARM Code       0  mnservicelib{000a0000}-13.o(StubCode)
-    CMnMapViewServiceBase::CompleteSelectionRequestL(const CPosLandmark&) 0x0000af90   ARM Code       0  mnservicelib{000a0000}-14.o(StubCode)
-    CMnMapViewServiceBase::Options()         0x0000af98   ARM Code       0  mnservicelib{000a0000}-15.o(StubCode)
-    CMnMapViewServiceBase::ServiceL(const RMessage2&) 0x0000afa0   ARM Code       0  mnservicelib{000a0000}-16.o(StubCode)
-    CMnMapViewServiceBase::CMnMapViewServiceBase__sub_object() 0x0000afa8   ARM Code       0  mnservicelib{000a0000}-17.o(StubCode)
-    CMnServiceBase::CompleteRequest(int)     0x0000afb0   ARM Code       0  mnservicelib{000a0000}-2.o(StubCode)
-    CMnMapViewServiceBase::~CMnMapViewServiceBase__sub_object() 0x0000afb8   ARM Code       0  mnservicelib{000a0000}-20.o(StubCode)
-    CMnNavigationServiceBase::BaseConstructL() 0x0000afc0   ARM Code       0  mnservicelib{000a0000}-28.o(StubCode)
-    CMnNavigationServiceBase::ServiceL(const RMessage2&) 0x0000afc8   ARM Code       0  mnservicelib{000a0000}-29.o(StubCode)
-    CMnNavigationServiceBase::CMnNavigationServiceBase__sub_object() 0x0000afd0   ARM Code       0  mnservicelib{000a0000}-30.o(StubCode)
-    CMnNavigationServiceBase::~CMnNavigationServiceBase__sub_object() 0x0000afd8   ARM Code       0  mnservicelib{000a0000}-33.o(StubCode)
-    CMnMapViewServiceBase::BaseConstructL()  0x0000afe0   ARM Code       0  mnservicelib{000a0000}-4.o(StubCode)
-    CMnMapViewServiceBase::LandmarksToShow() 0x0000afe8   ARM Code       0  mnservicelib{000a0000}-5.o(StubCode)
-    CMnMapViewServiceBase::SelectionRequestText() 0x0000aff0   ARM Code       0  mnservicelib{000a0000}-7.o(StubCode)
-    CMnrpEngine::NewL()                      0x0000aff8   ARM Code       0  mnrefproviderengine{000a0000}-12.o(StubCode)
-    CMnrpMapModel::UpdateModelL(CMnrpMapViewService&) 0x0000b000   ARM Code       0  mnrefproviderengine{000a0000}-17.o(StubCode)
-    CMnrpMapModel::SetScreenSize(TSize)      0x0000b008   ARM Code       0  mnrefproviderengine{000a0000}-19.o(StubCode)
-    CMnrpMapModel::NumIgnoredLandmarks()     0x0000b010   ARM Code       0  mnrefproviderengine{000a0000}-20.o(StubCode)
-    CMnrpMapModel::NewL(MMapModelObserver&, CMnrpEngine&) 0x0000b018   ARM Code       0  mnrefproviderengine{000a0000}-22.o(StubCode)
-    CMnrpMapModel::Zoom(double)              0x0000b020   ARM Code       0  mnrefproviderengine{000a0000}-23.o(StubCode)
-    CMnrpMapModel::MoveTo(TCoordinate)       0x0000b028   ARM Code       0  mnrefproviderengine{000a0000}-24.o(StubCode)
-    CMnrpMapModel::GoCenter()                0x0000b030   ARM Code       0  mnrefproviderengine{000a0000}-25.o(StubCode)
-    CMnrpPositionRequest::GetPosition(TPositionInfo&) 0x0000b038   ARM Code       0  mnrefproviderengine{000a0000}-26.o(StubCode)
-    CMnrpPositionRequest::SetOptionsL(const TPositionUpdateOptionsBase&) 0x0000b040   ARM Code       0  mnrefproviderengine{000a0000}-27.o(StubCode)
-    CMnrpPositionRequest::MagneticCourse()   0x0000b048   ARM Code       0  mnrefproviderengine{000a0000}-28.o(StubCode)
-    CMnrpPositionRequest::MagneticHeading()  0x0000b050   ARM Code       0  mnrefproviderengine{000a0000}-29.o(StubCode)
-    CMnrpPositionRequest::FetchNewPosition(int) 0x0000b058   ARM Code       0  mnrefproviderengine{000a0000}-30.o(StubCode)
-    CMnrpPositionRequest::NewL(const TDesC16&, MMnrpPositionObserver&) 0x0000b060   ARM Code       0  mnrefproviderengine{000a0000}-31.o(StubCode)
-    CMnrpPositionRequest::Speed()            0x0000b068   ARM Code       0  mnrefproviderengine{000a0000}-32.o(StubCode)
-    CMnrpPositionRequest::Course()           0x0000b070   ARM Code       0  mnrefproviderengine{000a0000}-33.o(StubCode)
-    CMnrpPositionRequest::Heading()          0x0000b078   ARM Code       0  mnrefproviderengine{000a0000}-34.o(StubCode)
-    MnrpUtils::AngleToString(double, TDes16&) 0x0000b080   ARM Code       0  mnrefproviderengine{000a0000}-38.o(StubCode)
-    MnrpUtils::SpeedToString(double, TDes16&) 0x0000b088   ARM Code       0  mnrefproviderengine{000a0000}-39.o(StubCode)
-    MnrpUtils::DistanceToString(double, TDes16&) 0x0000b090   ARM Code       0  mnrefproviderengine{000a0000}-40.o(StubCode)
-    MnrpUtils::PrintableStringLC(const TDesC16&) 0x0000b098   ARM Code       0  mnrefproviderengine{000a0000}-41.o(StubCode)
-    MnrpUtils::CoordinateToString(double, TDes16&, int, int) 0x0000b0a0   ARM Code       0  mnrefproviderengine{000a0000}-42.o(StubCode)
-    CMnrpMapModel::AbsoluteToScreen(TCoordinate) const 0x0000b0a8   ARM Code       0  mnrefproviderengine{000a0000}-43.o(StubCode)
-    CMnrpMapModel::ScreenToAbsolute(TPoint) const 0x0000b0b0   ARM Code       0  mnrefproviderengine{000a0000}-44.o(StubCode)
-    CMnrpMapModel::ScreenToAbsolute(int) const 0x0000b0b8   ARM Code       0  mnrefproviderengine{000a0000}-45.o(StubCode)
-    CMnrpMapModel::Top() const               0x0000b0c0   ARM Code       0  mnrefproviderengine{000a0000}-46.o(StubCode)
-    CMnrpMapModel::Left() const              0x0000b0c8   ARM Code       0  mnrefproviderengine{000a0000}-47.o(StubCode)
-    CMnrpMapModel::Right() const             0x0000b0d0   ARM Code       0  mnrefproviderengine{000a0000}-48.o(StubCode)
-    CMnrpMapModel::Bottom() const            0x0000b0d8   ARM Code       0  mnrefproviderengine{000a0000}-50.o(StubCode)
-    CMnrpMapModel::Center() const            0x0000b0e0   ARM Code       0  mnrefproviderengine{000a0000}-51.o(StubCode)
-    CMnrpMapModel::GetGrid(CMnrpMapModel::TGrid&) const 0x0000b0e8   ARM Code       0  mnrefproviderengine{000a0000}-53.o(StubCode)
-    CMnrpMapModel::RenderL(CFbsBitmap&, TRect, CFont*, CFont*) const 0x0000b0f0   ARM Code       0  mnrefproviderengine{000a0000}-54.o(StubCode)
-    __aeabi_dadd                             0x0000b0f8   ARM Code       0  dfpaeabi{000a0000}-12.o(StubCode)
-    __aeabi_dmul                             0x0000b100   ARM Code       0  dfpaeabi{000a0000}-20.o(StubCode)
-    __aeabi_dsub                             0x0000b108   ARM Code       0  dfpaeabi{000a0000}-23.o(StubCode)
-    __aeabi_f2d                              0x0000b110   ARM Code       0  dfpaeabi{000a0000}-24.o(StubCode)
-    __aeabi_i2d                              0x0000b118   ARM Code       0  dfpaeabi{000a0000}-41.o(StubCode)
-    __aeabi_d2iz                             0x0000b120   ARM Code       0  dfpaeabi{000a0000}-8.o(StubCode)
-    __aeabi_memcpy4                          0x0000b128   ARM Code       0  drtaeabi{000a0000}-147.o(StubCode)
-    __aeabi_unwind_cpp_pr0                   0x0000b130   ARM Code       0  drtaeabi{000a0000}-158.o(StubCode)
-    __aeabi_unwind_cpp_pr1                   0x0000b138   ARM Code       0  drtaeabi{000a0000}-159.o(StubCode)
-    __cxa_begin_catch                        0x0000b140   ARM Code       0  drtaeabi{000a0000}-180.o(StubCode)
-    __cxa_call_unexpected                    0x0000b148   ARM Code       0  drtaeabi{000a0000}-182.o(StubCode)
-    __cxa_end_catch                          0x0000b150   ARM Code       0  drtaeabi{000a0000}-183.o(StubCode)
-    __cxa_end_cleanup                        0x0000b158   ARM Code       0  drtaeabi{000a0000}-184.o(StubCode)
-    __cxa_pure_virtual                       0x0000b160   ARM Code       0  drtaeabi{000a0000}-189.o(StubCode)
-    operator delete (void*)                  0x0000b168   ARM Code       0  scppnwdl{000a0000}-3.o(StubCode)
-    UserHeap::SetupThreadHeap(int, SStdEpocThreadCreateInfo&) 0x0000b170   ARM Code       0  euser{000a0000}-1360.o(StubCode)
-    User::Exit(int)                          0x0000b178   ARM Code       0  euser{000a0000}-641.o(StubCode)
-    User::InitProcess()                      0x0000b180   ARM Code       0  euser{000a0000}-585.o(StubCode)
-    User::Panic(const TDesC16&, int)         0x0000b188   ARM Code       0  euser{000a0000}-650.o(StubCode)
-    TCppRTExceptionsGlobals::TCppRTExceptionsGlobals() 0x0000b190   ARM Code       0  drtaeabi{000a0000}-204.o(StubCode)
-    CAknDocument::~CAknDocument()            0x0000b199   Thumb Code     0  mnrefprovider.in(i._ZN12CAknDocumentD2Ev)
-    CAknDocument::~CAknDocument__sub_object() 0x0000b199   Thumb Code     8  mnrefprovider.in(i._ZN12CAknDocumentD2Ev)
-    CApaDocument::DetachFromStoreL(CPicture::TDetach) 0x0000b1a1   Thumb Code     2  mnrefprovider.in(i._ZN12CApaDocument16DetachFromStoreLEN8CPicture7TDetachE)
-    CArrayPtrSeg<CGulIcon>::~CArrayPtrSeg__deallocating() 0x0000b1a3   Thumb Code    16  mnrefprovider.in(i._ZN12CArrayPtrSegI8CGulIconED0Ev)
-    CArrayPtrSeg<CGulIcon>::~CArrayPtrSeg()  0x0000b1b3   Thumb Code     8  mnrefprovider.in(i._ZN12CArrayPtrSegI8CGulIconED1Ev)
-    CArrayPtrSeg<CGulIcon>::~CArrayPtrSeg__sub_object() 0x0000b1b3   Thumb Code     0  mnrefprovider.in(i._ZN12CArrayPtrSegI8CGulIconED1Ev)
-    CAknViewAppUi::CAknViewAppUi()           0x0000b1bd   Thumb Code    50  mnrefprovider.in(i._ZN13CAknViewAppUiC1Ev)
-    CAknViewAppUi::CAknViewAppUi__sub_object() 0x0000b1bd   Thumb Code     0  mnrefprovider.in(i._ZN13CAknViewAppUiC1Ev)
-    CMnrpApplication::~CMnrpApplication__deallocating() 0x0000b203   Thumb Code    16  mnrefprovider.in(i._ZN16CMnrpApplicationD0Ev)
-    CMnrpApplication::~CMnrpApplication()    0x0000b213   Thumb Code     8  mnrefprovider.in(i._ZN16CMnrpApplicationD1Ev)
-    CMnrpApplication::~CMnrpApplication__sub_object() 0x0000b213   Thumb Code     0  mnrefprovider.in(i._ZN16CMnrpApplicationD1Ev)
-    CBase::operator new(unsigned)            0x0000b21b   Thumb Code     8  mnrefprovider.in(i._ZN5CBasenwEj)
-    TRect::TRect(const TRect&)               0x0000b223   Thumb Code    18  mnrefprovider.in(i._ZN5TRectC1ERKS_)
-    TRect::TRect__sub_object(const TRect&)   0x0000b223   Thumb Code     0  mnrefprovider.in(i._ZN5TRectC1ERKS_)
-    CArrayFix<CGulIcon*>::~CArrayFix()       0x0000b235   Thumb Code     8  mnrefprovider.in(i._ZN9CArrayFixIP8CGulIconED1Ev)
-    CArrayFix<CGulIcon*>::~CArrayFix__sub_object() 0x0000b235   Thumb Code     0  mnrefprovider.in(i._ZN9CArrayFixIP8CGulIconED1Ev)
-    CArrayPtr<CGulIcon>::~CArrayPtr()        0x0000b23d   Thumb Code     8  mnrefprovider.in(i._ZN9CArrayPtrI8CGulIconED1Ev)
-    CArrayPtr<CGulIcon>::~CArrayPtr__sub_object() 0x0000b23d   Thumb Code     0  mnrefprovider.in(i._ZN9CArrayPtrI8CGulIconED1Ev)
-    CleanupClose<RArray<int>>::Close(void*)  0x0000b245   Thumb Code     8  mnrefprovider.in(t._ZN12CleanupCloseI6RArrayIiEE5CloseEPv)
-    CleanupClose<RArray<unsigned long>>::Close(void*) 0x0000b24d   Thumb Code     8  mnrefprovider.in(t._ZN12CleanupCloseI6RArrayImEE5CloseEPv)
-    RPointerArray<CMnrpNaviModel::CListItem>::ResetAndDestroy() 0x0000b255   Thumb Code    48  mnrefprovider.in(t._ZN13RPointerArrayIN14CMnrpNaviModel9CListItemEE15ResetAndDestroyEv)
-    RPointerArray<CMnrpNaviModel::CListItem>::AppendL(const CMnrpNaviModel::CListItem*) 0x0000b285   Thumb Code    12  mnrefprovider.in(t._ZN13RPointerArrayIN14CMnrpNaviModel9CListItemEE7AppendLEPKS1_)
-    TBuf<(int)15>::TBuf()                    0x0000b291   Thumb Code    10  mnrefprovider.in(t._ZN4TBufILi15EEC1Ev)
-    TBuf<(int)15>::TBuf__sub_object()        0x0000b291   Thumb Code     0  mnrefprovider.in(t._ZN4TBufILi15EEC1Ev)
-    typeinfo for CMnrpAppUi                  0x0000b758   Data          12  mnrefprovider.in(.constdata__ZTI10CMnrpAppUi)
-    typeinfo for CArrayPtrSeg<CGulIcon>      0x0000b764   Data          12  mnrefprovider.in(.constdata__ZTI12CArrayPtrSegI8CGulIconE)
-    typeinfo for CMnrpAppView                0x0000b770   Data          12  mnrefprovider.in(.constdata__ZTI12CMnrpAppView)
-    typeinfo for CMnrpMapView                0x0000b77c   Data          12  mnrefprovider.in(.constdata__ZTI12CMnrpMapView)
-    typeinfo for CMnrpDocument               0x0000b788   Data          12  mnrefprovider.in(.constdata__ZTI13CMnrpDocument)
-    typeinfo for CMnrpNaviView               0x0000b794   Data          12  mnrefprovider.in(.constdata__ZTI13CMnrpNaviView)
-    typeinfo for CMnrpAppServer              0x0000b7a0   Data          12  mnrefprovider.in(.constdata__ZTI14CMnrpAppServer)
-    typeinfo for CMnrpNaviModel              0x0000b7ac   Data          32  mnrefprovider.in(.constdata__ZTI14CMnrpNaviModel)
-    typeinfo for CMnrpAppControl             0x0000b7cc   Data          12  mnrefprovider.in(.constdata__ZTI15CMnrpAppControl)
-    typeinfo for CMnrpMapControl             0x0000b7d8   Data          32  mnrefprovider.in(.constdata__ZTI15CMnrpMapControl)
-    typeinfo for CMnrpApplication            0x0000b7f8   Data          12  mnrefprovider.in(.constdata__ZTI16CMnrpApplication)
-    typeinfo for CMnrpNaviControl            0x0000b804   Data          32  mnrefprovider.in(.constdata__ZTI16CMnrpNaviControl)
-    typeinfo for MMapModelObserver           0x0000b824   Data           8  mnrefprovider.in(.constdata__ZTI17MMapModelObserver)
-    typeinfo for MNaviModelObserver          0x0000b82c   Data           8  mnrefprovider.in(.constdata__ZTI18MNaviModelObserver)
-    typeinfo for CMnrpMapViewService         0x0000b834   Data          32  mnrefprovider.in(.constdata__ZTI19CMnrpMapViewService)
-    typeinfo for MMapSelectionCallback       0x0000b854   Data           8  mnrefprovider.in(.constdata__ZTI21MMapSelectionCallback)
-    typeinfo for MMnrpPositionObserver       0x0000b85c   Data           8  mnrefprovider.in(.constdata__ZTI21MMnrpPositionObserver)
-    typeinfo for CMnrpNavigationService      0x0000b864   Data          12  mnrefprovider.in(.constdata__ZTI22CMnrpNavigationService)
-    typeinfo for MEikStatusPaneObserver      0x0000b870   Data           8  mnrefprovider.in(.constdata__ZTI22MEikStatusPaneObserver)
-    typeinfo for CArrayFix<CGulIcon*>        0x0000b878   Data          12  mnrefprovider.in(.constdata__ZTI9CArrayFixIP8CGulIconE)
-    typeinfo for CArrayPtr<CGulIcon>         0x0000b884   Data          12  mnrefprovider.in(.constdata__ZTI9CArrayPtrI8CGulIconE)
-    typeinfo for CMnrpNaviModel::CListItem   0x0000b890   Data          12  mnrefprovider.in(.constdata__ZTIN14CMnrpNaviModel9CListItemE)
-    typeinfo name for CMnrpAppUi             0x0000b89c   Data          13  mnrefprovider.in(.constdata__ZTS10CMnrpAppUi)
-    typeinfo name for CArrayPtrSeg<CGulIcon> 0x0000b8a9   Data          26  mnrefprovider.in(.constdata__ZTS12CArrayPtrSegI8CGulIconE)
-    typeinfo name for CMnrpAppView           0x0000b8c3   Data          15  mnrefprovider.in(.constdata__ZTS12CMnrpAppView)
-    typeinfo name for CMnrpMapView           0x0000b8d2   Data          15  mnrefprovider.in(.constdata__ZTS12CMnrpMapView)
-    typeinfo name for CMnrpDocument          0x0000b8e1   Data          16  mnrefprovider.in(.constdata__ZTS13CMnrpDocument)
-    typeinfo name for CMnrpNaviView          0x0000b8f1   Data          16  mnrefprovider.in(.constdata__ZTS13CMnrpNaviView)
-    typeinfo name for CMnrpAppServer         0x0000b901   Data          17  mnrefprovider.in(.constdata__ZTS14CMnrpAppServer)
-    typeinfo name for CMnrpNaviModel         0x0000b912   Data          17  mnrefprovider.in(.constdata__ZTS14CMnrpNaviModel)
-    typeinfo name for CMnrpAppControl        0x0000b923   Data          18  mnrefprovider.in(.constdata__ZTS15CMnrpAppControl)
-    typeinfo name for CMnrpMapControl        0x0000b935   Data          18  mnrefprovider.in(.constdata__ZTS15CMnrpMapControl)
-    typeinfo name for CMnrpApplication       0x0000b947   Data          19  mnrefprovider.in(.constdata__ZTS16CMnrpApplication)
-    typeinfo name for CMnrpNaviControl       0x0000b95a   Data          19  mnrefprovider.in(.constdata__ZTS16CMnrpNaviControl)
-    typeinfo name for MMapModelObserver      0x0000b96d   Data          20  mnrefprovider.in(.constdata__ZTS17MMapModelObserver)
-    typeinfo name for MNaviModelObserver     0x0000b981   Data          21  mnrefprovider.in(.constdata__ZTS18MNaviModelObserver)
-    typeinfo name for CMnrpMapViewService    0x0000b996   Data          22  mnrefprovider.in(.constdata__ZTS19CMnrpMapViewService)
-    typeinfo name for MMapSelectionCallback  0x0000b9ac   Data          24  mnrefprovider.in(.constdata__ZTS21MMapSelectionCallback)
-    typeinfo name for MMnrpPositionObserver  0x0000b9c4   Data          24  mnrefprovider.in(.constdata__ZTS21MMnrpPositionObserver)
-    typeinfo name for CMnrpNavigationService 0x0000b9dc   Data          25  mnrefprovider.in(.constdata__ZTS22CMnrpNavigationService)
-    typeinfo name for MEikStatusPaneObserver 0x0000b9f5   Data          25  mnrefprovider.in(.constdata__ZTS22MEikStatusPaneObserver)
-    typeinfo name for CArrayFix<CGulIcon*>   0x0000ba0e   Data          23  mnrefprovider.in(.constdata__ZTS9CArrayFixIP8CGulIconE)
-    typeinfo name for CArrayPtr<CGulIcon>    0x0000ba25   Data          22  mnrefprovider.in(.constdata__ZTS9CArrayPtrI8CGulIconE)
-    typeinfo name for CMnrpNaviModel::CListItem 0x0000ba3b   Data          29  mnrefprovider.in(.constdata__ZTSN14CMnrpNaviModel9CListItemE)
-    vtable for CMnrpAppUi                    0x0000ba58   Data         340  mnrefprovider.in(.constdata__ZTV10CMnrpAppUi)
-    vtable for CArrayPtrSeg<CGulIcon>        0x0000bbac   Data          20  mnrefprovider.in(.constdata__ZTV12CArrayPtrSegI8CGulIconE)
-    vtable for CMnrpAppView                  0x0000bbc0   Data         232  mnrefprovider.in(.constdata__ZTV12CMnrpAppView)
-    vtable for CMnrpMapView                  0x0000bca8   Data         236  mnrefprovider.in(.constdata__ZTV12CMnrpMapView)
-    vtable for CMnrpDocument                 0x0000bd94   Data         112  mnrefprovider.in(.constdata__ZTV13CMnrpDocument)
-    vtable for CMnrpNaviView                 0x0000be04   Data         232  mnrefprovider.in(.constdata__ZTV13CMnrpNaviView)
-    vtable for CMnrpAppServer                0x0000beec   Data          76  mnrefprovider.in(.constdata__ZTV14CMnrpAppServer)
-    vtable for CMnrpNaviModel                0x0000bf38   Data          36  mnrefprovider.in(.constdata__ZTV14CMnrpNaviModel)
-    vtable for CMnrpAppControl               0x0000bf5c   Data         208  mnrefprovider.in(.constdata__ZTV15CMnrpAppControl)
-    vtable for CMnrpMapControl               0x0000c02c   Data         224  mnrefprovider.in(.constdata__ZTV15CMnrpMapControl)
-    vtable for CMnrpApplication              0x0000c10c   Data          80  mnrefprovider.in(.constdata__ZTV16CMnrpApplication)
-    vtable for CMnrpNaviControl              0x0000c15c   Data         224  mnrefprovider.in(.constdata__ZTV16CMnrpNaviControl)
-    vtable for CMnrpMapViewService           0x0000c23c   Data         112  mnrefprovider.in(.constdata__ZTV19CMnrpMapViewService)
-    vtable for CMnrpNavigationService        0x0000c2ac   Data          64  mnrefprovider.in(.constdata__ZTV22CMnrpNavigationService)
-    vtable for MEikStatusPaneObserver        0x0000c2ec   Data          12  mnrefprovider.in(.constdata__ZTV22MEikStatusPaneObserver)
-    vtable for CMnrpNaviModel::CListItem     0x0000c2f8   Data          20  mnrefprovider.in(.constdata__ZTVN14CMnrpNaviModel9CListItemE)
-    SHT$$INIT_ARRAY$$Base                    0x0000c30c   Number         0  mnrefprovider.in(.init_array)
-    .ARM.exidx$$Base                         0x0000c310   Number         0  uc_exe_.o(.ARM.exidx)
-    SHT$$INIT_ARRAY$$Limit                   0x0000c310   Data           0  mnrefprovider.in(.init_array)
-    .ARM.exidx$$Limit                        0x0000c6a0   Number         0  mnrefprovider.in(.ARM.exidx)
-    Image$$ER_RO$$Limit                      0x0000c6a0   Number         0  anon$$obj.o(linker$$defined$$symbols)
-
Binary file locsrv_plat/map_image_conversion_plugin_api/tsrc/data/armv5/urel/mnrefproviderback.exe has changed
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/data/armv5/urel/mnrefproviderback.exe.map	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1319 +0,0 @@
-ARM Linker, RVCT2.2 [Build 593]
-
-================================================================================
-
-Image Symbol Table
-
-    Local Symbols
-
-    Symbol Name                              Value     Ov Type        Size  Object(Section)
-
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-293.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-13.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1995.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-294.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-65.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1997.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-295.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-68.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1999.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-296.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-207.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-203.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-297.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-23.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-205.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-298.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-1.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2060.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-299.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-2.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2061.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-30.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-21.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-204.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-302.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-22.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-208.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-31.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-23.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2082.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-317.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-24.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2120.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-352.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-27.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2123.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-37.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-34.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2125.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-390.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-45.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-213.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-392.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-46.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-214.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-394.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-47.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-215.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-467.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-49.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-216.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-479.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-50.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-217.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-490.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-53.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-220.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-506.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-56.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2920.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-523.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-10.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2922.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-532.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-12.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2924.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-533.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-18.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2925.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-534.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-19.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2926.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-535.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-21.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2928.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-536.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-4.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2929.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-537.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-5.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2930.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-565.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-54.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2931.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-61.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnrefproviderengine{000a0000}-6.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2932.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-62.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-144.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2934.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-63.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-158.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2935.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1088.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-159.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2938.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1116.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-180.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2993.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1119.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-182.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-2997.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1171.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-183.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3826.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1288.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-184.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3862.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1379.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-189.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-3868.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1381.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  scppnwdl{000a0000}-3.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-4021.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1590.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1360.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-4030.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1593.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-641.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-12.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1817.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  ws32{000a0000}-211.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-280.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-677.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  gdi{000a0000}-312.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-284.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-121.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-1132.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-585.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-132.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-129.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-650.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-171.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-130.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-287.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-192.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-131.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-30.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-194.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-1350.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-141.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-202.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-1351.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-142.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-207.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-1366.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-143.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-232.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-198.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-144.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-273.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-199.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-147.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-274.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-201.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-152.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-275.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-206.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-155.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-279.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2131.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-158.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-100.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-471.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-159.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-101.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-474.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-166.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-285.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-481.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-169.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-286.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-613.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-171.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-182.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-649.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-175.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-210.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-652.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-18.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-212.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-654.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-20.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-220.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-669.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-25.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-351.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-679.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-26.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-355.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-681.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-27.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-638.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-838.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-28.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-639.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bafl{000a0000}-43.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-29.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-664.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bafl{000a0000}-98.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-291.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-676.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-64.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-77.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-75.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-67.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-78.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-128.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  cone{000a0000}-127.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-79.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-74.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  avkon{000a0000}-211.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  apparc{000a0000}-222.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-72.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eikcore{000a0000}-73.o ABSOLUTE
-    M:/epoc32/build/apputils/c_da81efa927799d7f/bafl_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/compsupp/c_18558cc638e6e874/drtaeabi_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/cone/c_17e36feeaf3b2ee8/cone_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/gdi/c_5dab287815cadb7b/gdi_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/store/c_93a13d203e6d3ba7/estor_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/uikon/c_9cf7bef4a7562444/eikcore_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:\\sf\\os\\kernelhwsrv\\kernel\\eka\\compsupp\\rvct2_2\\ucppinit_aeabi.cpp 0x00000000   Number         0  ucppinit_aeabi.o ABSOLUTE
-    M:\sf\os\kernelhwsrv\kernel\eka\compsupp\rvct2_2\dllexp.cpp 0x00000000   Number         0  dllexp.o ABSOLUTE
-    M:\sf\os\kernelhwsrv\kernel\eka\compsupp\rvct2_2\ucppinit_aeabi.cpp 0x00000000   Number         0  ucppinit_aeabi.o ABSOLUTE
-    M:\sf\os\kernelhwsrv\kernel\eka\compsupp\symaehabi\callfirstprocessfn.cpp 0x00000000   Number         0  callfirstprocessfn.o ABSOLUTE
-    \EPOC32\BUILD\sf\app\location\group\MNREFENGINE\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\appsupport\appfw\apparchitecture\group\APPARC\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\classicui\group\AVKON\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\classicui\group\EIKCOCTL\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\locationsrv\group\EPOS_LANDMARKSCLIENTLIBRARY\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\locationsrv\group\MNSERVICELIB\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\uiresources\group\AKNSKINS\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\graphics\windowing\windowserver\group\WS32LIB\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\kernelhwsrv\kernel\eka\euser\EEXE\ARMV6_ABIV1\urel\uc_exe_.cpp 0x00000000   Number         0  uc_exe_.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\kernelhwsrv\kernel\eka\euser\EUSER\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\kernelhwsrv\userlibandfileserver\fileserver\group\EFSRV\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\lbs\locationmgmt\locationadmin\group\LBSAPIVARIANT2\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \\EPOC32\\BUILD\\sf\\os\\kernelhwsrv\\kernel\\eka\\euser\\EEXE\\ARMV6_ABIV1\\urel\\uc_exe_.cpp 0x00000000   Number         0  uc_exe_.o ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrefproviderback.cpp 0x00000000   Number         0  mnrefproviderback.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpapplicationback.cpp 0x00000000   Number         0  mnrefproviderback.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpappserverback.cpp 0x00000000   Number         0  mnrefproviderback.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpappuiback.cpp 0x00000000   Number         0  mnrefproviderback.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpdocumentback.cpp 0x00000000   Number         0  mnrefproviderback.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpgeocodingservice.cpp 0x00000000   Number         0  mnrefproviderback.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpmapimageservice.cpp 0x00000000   Number         0  mnrefproviderback.in ABSOLUTE
-    \sf\os\kernelhwsrv\kernel\eka\euser\epoc\arm\uc_exe.cpp 0x00000000   Number         0  uc_exe.o ABSOLUTE
-    .emb_text                                0x00008000   Section      112  uc_exe_.o(.emb_text)
-    .emb_text                                0x00008070   Section       72  ucppinit_aeabi.o(.emb_text)
-    skip                                     0x00008084   ARM Code       0  ucppinit_aeabi.o(.emb_text)
-    loop                                     0x00008094   ARM Code       0  ucppinit_aeabi.o(.emb_text)
-    fpinit                                   0x000080ac   Data           0  ucppinit_aeabi.o(.emb_text)
-    base                                     0x000080b0   Data           0  ucppinit_aeabi.o(.emb_text)
-    limit                                    0x000080b4   Data           0  ucppinit_aeabi.o(.emb_text)
-    .text                                    0x000080c0   Section       16  uc_exe_.o(.text)
-    NewApplication()                         0x000080d1   Thumb Code    30  mnrefproviderback.in(.text)
-    .text                                    0x000080d0   Section       60  mnrefproviderback.in(.text)
-    .text                                    0x0000810c   Section       32  mnrefproviderback.in(.text)
-    .text                                    0x0000812c   Section       68  mnrefproviderback.in(.text)
-    .text                                    0x00008170   Section       64  mnrefproviderback.in(.text)
-    .text                                    0x000081b0   Section      168  mnrefproviderback.in(.text)
-    .text                                    0x00008258   Section      988  mnrefproviderback.in(.text)
-    .text                                    0x00008634   Section      684  mnrefproviderback.in(.text)
-    __sti___23_mnrpmapimageservice_cpp       0x000088c7   Thumb Code     8  mnrefproviderback.in(.text)
-    .text                                    0x000088e8   Section       36  uc_exe.o(.text)
-    .text                                    0x0000890c   Section      120  callfirstprocessfn.o(.text)
-    .text                                    0x00008984   Section        4  dllexp.o(.text)
-    .text.clean                              0x00008988   Section       10  mnrefproviderback.in(.text.clean)
-    .text.clean                              0x00008992   Section       10  mnrefproviderback.in(.text.clean)
-    .text.clean                              0x0000899c   Section       18  mnrefproviderback.in(.text.clean)
-    .text.clean                              0x000089ae   Section       26  mnrefproviderback.in(.text.clean)
-    .text.clean                              0x000089c8   Section        8  callfirstprocessfn.o(.text.clean)
-    StubCode                                 0x000089d0   Section        8  euser{000a0000}-1088.o(StubCode)
-    theImportedSymbol                        0x000089d4   Data           0  euser{000a0000}-1088.o(StubCode)
-    StubCode                                 0x000089d8   Section        8  euser{000a0000}-1116.o(StubCode)
-    theImportedSymbol                        0x000089dc   Data           0  euser{000a0000}-1116.o(StubCode)
-    StubCode                                 0x000089e0   Section        8  euser{000a0000}-1119.o(StubCode)
-    theImportedSymbol                        0x000089e4   Data           0  euser{000a0000}-1119.o(StubCode)
-    StubCode                                 0x000089e8   Section        8  euser{000a0000}-1171.o(StubCode)
-    theImportedSymbol                        0x000089ec   Data           0  euser{000a0000}-1171.o(StubCode)
-    StubCode                                 0x000089f0   Section        8  euser{000a0000}-1288.o(StubCode)
-    theImportedSymbol                        0x000089f4   Data           0  euser{000a0000}-1288.o(StubCode)
-    StubCode                                 0x000089f8   Section        8  euser{000a0000}-1379.o(StubCode)
-    theImportedSymbol                        0x000089fc   Data           0  euser{000a0000}-1379.o(StubCode)
-    StubCode                                 0x00008a00   Section        8  euser{000a0000}-1381.o(StubCode)
-    theImportedSymbol                        0x00008a04   Data           0  euser{000a0000}-1381.o(StubCode)
-    StubCode                                 0x00008a08   Section        8  euser{000a0000}-1590.o(StubCode)
-    theImportedSymbol                        0x00008a0c   Data           0  euser{000a0000}-1590.o(StubCode)
-    StubCode                                 0x00008a10   Section        8  euser{000a0000}-1593.o(StubCode)
-    theImportedSymbol                        0x00008a14   Data           0  euser{000a0000}-1593.o(StubCode)
-    StubCode                                 0x00008a18   Section        8  euser{000a0000}-1817.o(StubCode)
-    theImportedSymbol                        0x00008a1c   Data           0  euser{000a0000}-1817.o(StubCode)
-    StubCode                                 0x00008a20   Section        8  euser{000a0000}-1995.o(StubCode)
-    theImportedSymbol                        0x00008a24   Data           0  euser{000a0000}-1995.o(StubCode)
-    StubCode                                 0x00008a28   Section        8  euser{000a0000}-1997.o(StubCode)
-    theImportedSymbol                        0x00008a2c   Data           0  euser{000a0000}-1997.o(StubCode)
-    StubCode                                 0x00008a30   Section        8  euser{000a0000}-1999.o(StubCode)
-    theImportedSymbol                        0x00008a34   Data           0  euser{000a0000}-1999.o(StubCode)
-    StubCode                                 0x00008a38   Section        8  euser{000a0000}-203.o(StubCode)
-    theImportedSymbol                        0x00008a3c   Data           0  euser{000a0000}-203.o(StubCode)
-    StubCode                                 0x00008a40   Section        8  euser{000a0000}-205.o(StubCode)
-    theImportedSymbol                        0x00008a44   Data           0  euser{000a0000}-205.o(StubCode)
-    StubCode                                 0x00008a48   Section        8  euser{000a0000}-2060.o(StubCode)
-    theImportedSymbol                        0x00008a4c   Data           0  euser{000a0000}-2060.o(StubCode)
-    StubCode                                 0x00008a50   Section        8  euser{000a0000}-2061.o(StubCode)
-    theImportedSymbol                        0x00008a54   Data           0  euser{000a0000}-2061.o(StubCode)
-    StubCode                                 0x00008a58   Section        8  euser{000a0000}-207.o(StubCode)
-    theImportedSymbol                        0x00008a5c   Data           0  euser{000a0000}-207.o(StubCode)
-    StubCode                                 0x00008a60   Section        8  euser{000a0000}-208.o(StubCode)
-    theImportedSymbol                        0x00008a64   Data           0  euser{000a0000}-208.o(StubCode)
-    StubCode                                 0x00008a68   Section        8  euser{000a0000}-2082.o(StubCode)
-    theImportedSymbol                        0x00008a6c   Data           0  euser{000a0000}-2082.o(StubCode)
-    StubCode                                 0x00008a70   Section        8  euser{000a0000}-2120.o(StubCode)
-    theImportedSymbol                        0x00008a74   Data           0  euser{000a0000}-2120.o(StubCode)
-    StubCode                                 0x00008a78   Section        8  euser{000a0000}-2123.o(StubCode)
-    theImportedSymbol                        0x00008a7c   Data           0  euser{000a0000}-2123.o(StubCode)
-    StubCode                                 0x00008a80   Section        8  euser{000a0000}-2131.o(StubCode)
-    theImportedSymbol                        0x00008a84   Data           0  euser{000a0000}-2131.o(StubCode)
-    StubCode                                 0x00008a88   Section        8  euser{000a0000}-471.o(StubCode)
-    theImportedSymbol                        0x00008a8c   Data           0  euser{000a0000}-471.o(StubCode)
-    StubCode                                 0x00008a90   Section        8  euser{000a0000}-474.o(StubCode)
-    theImportedSymbol                        0x00008a94   Data           0  euser{000a0000}-474.o(StubCode)
-    StubCode                                 0x00008a98   Section        8  euser{000a0000}-481.o(StubCode)
-    theImportedSymbol                        0x00008a9c   Data           0  euser{000a0000}-481.o(StubCode)
-    StubCode                                 0x00008aa0   Section        8  euser{000a0000}-613.o(StubCode)
-    theImportedSymbol                        0x00008aa4   Data           0  euser{000a0000}-613.o(StubCode)
-    StubCode                                 0x00008aa8   Section        8  euser{000a0000}-649.o(StubCode)
-    theImportedSymbol                        0x00008aac   Data           0  euser{000a0000}-649.o(StubCode)
-    StubCode                                 0x00008ab0   Section        8  euser{000a0000}-652.o(StubCode)
-    theImportedSymbol                        0x00008ab4   Data           0  euser{000a0000}-652.o(StubCode)
-    StubCode                                 0x00008ab8   Section        8  euser{000a0000}-654.o(StubCode)
-    theImportedSymbol                        0x00008abc   Data           0  euser{000a0000}-654.o(StubCode)
-    StubCode                                 0x00008ac0   Section        8  euser{000a0000}-669.o(StubCode)
-    theImportedSymbol                        0x00008ac4   Data           0  euser{000a0000}-669.o(StubCode)
-    StubCode                                 0x00008ac8   Section        8  euser{000a0000}-679.o(StubCode)
-    theImportedSymbol                        0x00008acc   Data           0  euser{000a0000}-679.o(StubCode)
-    StubCode                                 0x00008ad0   Section        8  euser{000a0000}-681.o(StubCode)
-    theImportedSymbol                        0x00008ad4   Data           0  euser{000a0000}-681.o(StubCode)
-    StubCode                                 0x00008ad8   Section        8  euser{000a0000}-838.o(StubCode)
-    theImportedSymbol                        0x00008adc   Data           0  euser{000a0000}-838.o(StubCode)
-    StubCode                                 0x00008ae0   Section        8  bafl{000a0000}-43.o(StubCode)
-    theImportedSymbol                        0x00008ae4   Data           0  bafl{000a0000}-43.o(StubCode)
-    StubCode                                 0x00008ae8   Section        8  bafl{000a0000}-98.o(StubCode)
-    theImportedSymbol                        0x00008aec   Data           0  bafl{000a0000}-98.o(StubCode)
-    StubCode                                 0x00008af0   Section        8  cone{000a0000}-100.o(StubCode)
-    theImportedSymbol                        0x00008af4   Data           0  cone{000a0000}-100.o(StubCode)
-    StubCode                                 0x00008af8   Section        8  cone{000a0000}-101.o(StubCode)
-    theImportedSymbol                        0x00008afc   Data           0  cone{000a0000}-101.o(StubCode)
-    StubCode                                 0x00008b00   Section        8  cone{000a0000}-127.o(StubCode)
-    theImportedSymbol                        0x00008b04   Data           0  cone{000a0000}-127.o(StubCode)
-    StubCode                                 0x00008b08   Section        8  cone{000a0000}-128.o(StubCode)
-    theImportedSymbol                        0x00008b0c   Data           0  cone{000a0000}-128.o(StubCode)
-    StubCode                                 0x00008b10   Section        8  cone{000a0000}-182.o(StubCode)
-    theImportedSymbol                        0x00008b14   Data           0  cone{000a0000}-182.o(StubCode)
-    StubCode                                 0x00008b18   Section        8  cone{000a0000}-210.o(StubCode)
-    theImportedSymbol                        0x00008b1c   Data           0  cone{000a0000}-210.o(StubCode)
-    StubCode                                 0x00008b20   Section        8  cone{000a0000}-212.o(StubCode)
-    theImportedSymbol                        0x00008b24   Data           0  cone{000a0000}-212.o(StubCode)
-    StubCode                                 0x00008b28   Section        8  cone{000a0000}-220.o(StubCode)
-    theImportedSymbol                        0x00008b2c   Data           0  cone{000a0000}-220.o(StubCode)
-    StubCode                                 0x00008b30   Section        8  cone{000a0000}-351.o(StubCode)
-    theImportedSymbol                        0x00008b34   Data           0  cone{000a0000}-351.o(StubCode)
-    StubCode                                 0x00008b38   Section        8  cone{000a0000}-355.o(StubCode)
-    theImportedSymbol                        0x00008b3c   Data           0  cone{000a0000}-355.o(StubCode)
-    StubCode                                 0x00008b40   Section        8  cone{000a0000}-638.o(StubCode)
-    theImportedSymbol                        0x00008b44   Data           0  cone{000a0000}-638.o(StubCode)
-    StubCode                                 0x00008b48   Section        8  cone{000a0000}-639.o(StubCode)
-    theImportedSymbol                        0x00008b4c   Data           0  cone{000a0000}-639.o(StubCode)
-    StubCode                                 0x00008b50   Section        8  cone{000a0000}-664.o(StubCode)
-    theImportedSymbol                        0x00008b54   Data           0  cone{000a0000}-664.o(StubCode)
-    StubCode                                 0x00008b58   Section        8  cone{000a0000}-676.o(StubCode)
-    theImportedSymbol                        0x00008b5c   Data           0  cone{000a0000}-676.o(StubCode)
-    StubCode                                 0x00008b60   Section        8  cone{000a0000}-677.o(StubCode)
-    theImportedSymbol                        0x00008b64   Data           0  cone{000a0000}-677.o(StubCode)
-    StubCode                                 0x00008b68   Section        8  apparc{000a0000}-121.o(StubCode)
-    theImportedSymbol                        0x00008b6c   Data           0  apparc{000a0000}-121.o(StubCode)
-    StubCode                                 0x00008b70   Section        8  apparc{000a0000}-132.o(StubCode)
-    theImportedSymbol                        0x00008b74   Data           0  apparc{000a0000}-132.o(StubCode)
-    StubCode                                 0x00008b78   Section        8  apparc{000a0000}-171.o(StubCode)
-    theImportedSymbol                        0x00008b7c   Data           0  apparc{000a0000}-171.o(StubCode)
-    StubCode                                 0x00008b80   Section        8  apparc{000a0000}-192.o(StubCode)
-    theImportedSymbol                        0x00008b84   Data           0  apparc{000a0000}-192.o(StubCode)
-    StubCode                                 0x00008b88   Section        8  apparc{000a0000}-194.o(StubCode)
-    theImportedSymbol                        0x00008b8c   Data           0  apparc{000a0000}-194.o(StubCode)
-    StubCode                                 0x00008b90   Section        8  apparc{000a0000}-202.o(StubCode)
-    theImportedSymbol                        0x00008b94   Data           0  apparc{000a0000}-202.o(StubCode)
-    StubCode                                 0x00008b98   Section        8  apparc{000a0000}-222.o(StubCode)
-    theImportedSymbol                        0x00008b9c   Data           0  apparc{000a0000}-222.o(StubCode)
-    StubCode                                 0x00008ba0   Section        8  apparc{000a0000}-232.o(StubCode)
-    theImportedSymbol                        0x00008ba4   Data           0  apparc{000a0000}-232.o(StubCode)
-    StubCode                                 0x00008ba8   Section        8  apparc{000a0000}-273.o(StubCode)
-    theImportedSymbol                        0x00008bac   Data           0  apparc{000a0000}-273.o(StubCode)
-    StubCode                                 0x00008bb0   Section        8  apparc{000a0000}-274.o(StubCode)
-    theImportedSymbol                        0x00008bb4   Data           0  apparc{000a0000}-274.o(StubCode)
-    StubCode                                 0x00008bb8   Section        8  apparc{000a0000}-275.o(StubCode)
-    theImportedSymbol                        0x00008bbc   Data           0  apparc{000a0000}-275.o(StubCode)
-    StubCode                                 0x00008bc0   Section        8  apparc{000a0000}-279.o(StubCode)
-    theImportedSymbol                        0x00008bc4   Data           0  apparc{000a0000}-279.o(StubCode)
-    StubCode                                 0x00008bc8   Section        8  apparc{000a0000}-280.o(StubCode)
-    theImportedSymbol                        0x00008bcc   Data           0  apparc{000a0000}-280.o(StubCode)
-    StubCode                                 0x00008bd0   Section        8  apparc{000a0000}-284.o(StubCode)
-    theImportedSymbol                        0x00008bd4   Data           0  apparc{000a0000}-284.o(StubCode)
-    StubCode                                 0x00008bd8   Section        8  apparc{000a0000}-285.o(StubCode)
-    theImportedSymbol                        0x00008bdc   Data           0  apparc{000a0000}-285.o(StubCode)
-    StubCode                                 0x00008be0   Section        8  apparc{000a0000}-286.o(StubCode)
-    theImportedSymbol                        0x00008be4   Data           0  apparc{000a0000}-286.o(StubCode)
-    StubCode                                 0x00008be8   Section        8  apparc{000a0000}-287.o(StubCode)
-    theImportedSymbol                        0x00008bec   Data           0  apparc{000a0000}-287.o(StubCode)
-    StubCode                                 0x00008bf0   Section        8  apparc{000a0000}-30.o(StubCode)
-    theImportedSymbol                        0x00008bf4   Data           0  apparc{000a0000}-30.o(StubCode)
-    StubCode                                 0x00008bf8   Section        8  eikcore{000a0000}-141.o(StubCode)
-    theImportedSymbol                        0x00008bfc   Data           0  eikcore{000a0000}-141.o(StubCode)
-    StubCode                                 0x00008c00   Section        8  eikcore{000a0000}-142.o(StubCode)
-    theImportedSymbol                        0x00008c04   Data           0  eikcore{000a0000}-142.o(StubCode)
-    StubCode                                 0x00008c08   Section        8  eikcore{000a0000}-143.o(StubCode)
-    theImportedSymbol                        0x00008c0c   Data           0  eikcore{000a0000}-143.o(StubCode)
-    StubCode                                 0x00008c10   Section        8  eikcore{000a0000}-144.o(StubCode)
-    theImportedSymbol                        0x00008c14   Data           0  eikcore{000a0000}-144.o(StubCode)
-    StubCode                                 0x00008c18   Section        8  eikcore{000a0000}-147.o(StubCode)
-    theImportedSymbol                        0x00008c1c   Data           0  eikcore{000a0000}-147.o(StubCode)
-    StubCode                                 0x00008c20   Section        8  eikcore{000a0000}-152.o(StubCode)
-    theImportedSymbol                        0x00008c24   Data           0  eikcore{000a0000}-152.o(StubCode)
-    StubCode                                 0x00008c28   Section        8  eikcore{000a0000}-155.o(StubCode)
-    theImportedSymbol                        0x00008c2c   Data           0  eikcore{000a0000}-155.o(StubCode)
-    StubCode                                 0x00008c30   Section        8  eikcore{000a0000}-158.o(StubCode)
-    theImportedSymbol                        0x00008c34   Data           0  eikcore{000a0000}-158.o(StubCode)
-    StubCode                                 0x00008c38   Section        8  eikcore{000a0000}-159.o(StubCode)
-    theImportedSymbol                        0x00008c3c   Data           0  eikcore{000a0000}-159.o(StubCode)
-    StubCode                                 0x00008c40   Section        8  eikcore{000a0000}-166.o(StubCode)
-    theImportedSymbol                        0x00008c44   Data           0  eikcore{000a0000}-166.o(StubCode)
-    StubCode                                 0x00008c48   Section        8  eikcore{000a0000}-169.o(StubCode)
-    theImportedSymbol                        0x00008c4c   Data           0  eikcore{000a0000}-169.o(StubCode)
-    StubCode                                 0x00008c50   Section        8  eikcore{000a0000}-171.o(StubCode)
-    theImportedSymbol                        0x00008c54   Data           0  eikcore{000a0000}-171.o(StubCode)
-    StubCode                                 0x00008c58   Section        8  eikcore{000a0000}-175.o(StubCode)
-    theImportedSymbol                        0x00008c5c   Data           0  eikcore{000a0000}-175.o(StubCode)
-    StubCode                                 0x00008c60   Section        8  eikcore{000a0000}-18.o(StubCode)
-    theImportedSymbol                        0x00008c64   Data           0  eikcore{000a0000}-18.o(StubCode)
-    StubCode                                 0x00008c68   Section        8  eikcore{000a0000}-20.o(StubCode)
-    theImportedSymbol                        0x00008c6c   Data           0  eikcore{000a0000}-20.o(StubCode)
-    StubCode                                 0x00008c70   Section        8  eikcore{000a0000}-25.o(StubCode)
-    theImportedSymbol                        0x00008c74   Data           0  eikcore{000a0000}-25.o(StubCode)
-    StubCode                                 0x00008c78   Section        8  eikcore{000a0000}-26.o(StubCode)
-    theImportedSymbol                        0x00008c7c   Data           0  eikcore{000a0000}-26.o(StubCode)
-    StubCode                                 0x00008c80   Section        8  eikcore{000a0000}-27.o(StubCode)
-    theImportedSymbol                        0x00008c84   Data           0  eikcore{000a0000}-27.o(StubCode)
-    StubCode                                 0x00008c88   Section        8  eikcore{000a0000}-28.o(StubCode)
-    theImportedSymbol                        0x00008c8c   Data           0  eikcore{000a0000}-28.o(StubCode)
-    StubCode                                 0x00008c90   Section        8  eikcore{000a0000}-29.o(StubCode)
-    theImportedSymbol                        0x00008c94   Data           0  eikcore{000a0000}-29.o(StubCode)
-    StubCode                                 0x00008c98   Section        8  eikcore{000a0000}-291.o(StubCode)
-    theImportedSymbol                        0x00008c9c   Data           0  eikcore{000a0000}-291.o(StubCode)
-    StubCode                                 0x00008ca0   Section        8  eikcore{000a0000}-293.o(StubCode)
-    theImportedSymbol                        0x00008ca4   Data           0  eikcore{000a0000}-293.o(StubCode)
-    StubCode                                 0x00008ca8   Section        8  eikcore{000a0000}-294.o(StubCode)
-    theImportedSymbol                        0x00008cac   Data           0  eikcore{000a0000}-294.o(StubCode)
-    StubCode                                 0x00008cb0   Section        8  eikcore{000a0000}-295.o(StubCode)
-    theImportedSymbol                        0x00008cb4   Data           0  eikcore{000a0000}-295.o(StubCode)
-    StubCode                                 0x00008cb8   Section        8  eikcore{000a0000}-296.o(StubCode)
-    theImportedSymbol                        0x00008cbc   Data           0  eikcore{000a0000}-296.o(StubCode)
-    StubCode                                 0x00008cc0   Section        8  eikcore{000a0000}-297.o(StubCode)
-    theImportedSymbol                        0x00008cc4   Data           0  eikcore{000a0000}-297.o(StubCode)
-    StubCode                                 0x00008cc8   Section        8  eikcore{000a0000}-298.o(StubCode)
-    theImportedSymbol                        0x00008ccc   Data           0  eikcore{000a0000}-298.o(StubCode)
-    StubCode                                 0x00008cd0   Section        8  eikcore{000a0000}-299.o(StubCode)
-    theImportedSymbol                        0x00008cd4   Data           0  eikcore{000a0000}-299.o(StubCode)
-    StubCode                                 0x00008cd8   Section        8  eikcore{000a0000}-30.o(StubCode)
-    theImportedSymbol                        0x00008cdc   Data           0  eikcore{000a0000}-30.o(StubCode)
-    StubCode                                 0x00008ce0   Section        8  eikcore{000a0000}-302.o(StubCode)
-    theImportedSymbol                        0x00008ce4   Data           0  eikcore{000a0000}-302.o(StubCode)
-    StubCode                                 0x00008ce8   Section        8  eikcore{000a0000}-31.o(StubCode)
-    theImportedSymbol                        0x00008cec   Data           0  eikcore{000a0000}-31.o(StubCode)
-    StubCode                                 0x00008cf0   Section        8  eikcore{000a0000}-317.o(StubCode)
-    theImportedSymbol                        0x00008cf4   Data           0  eikcore{000a0000}-317.o(StubCode)
-    StubCode                                 0x00008cf8   Section        8  eikcore{000a0000}-352.o(StubCode)
-    theImportedSymbol                        0x00008cfc   Data           0  eikcore{000a0000}-352.o(StubCode)
-    StubCode                                 0x00008d00   Section        8  eikcore{000a0000}-37.o(StubCode)
-    theImportedSymbol                        0x00008d04   Data           0  eikcore{000a0000}-37.o(StubCode)
-    StubCode                                 0x00008d08   Section        8  eikcore{000a0000}-390.o(StubCode)
-    theImportedSymbol                        0x00008d0c   Data           0  eikcore{000a0000}-390.o(StubCode)
-    StubCode                                 0x00008d10   Section        8  eikcore{000a0000}-392.o(StubCode)
-    theImportedSymbol                        0x00008d14   Data           0  eikcore{000a0000}-392.o(StubCode)
-    StubCode                                 0x00008d18   Section        8  eikcore{000a0000}-394.o(StubCode)
-    theImportedSymbol                        0x00008d1c   Data           0  eikcore{000a0000}-394.o(StubCode)
-    StubCode                                 0x00008d20   Section        8  eikcore{000a0000}-467.o(StubCode)
-    theImportedSymbol                        0x00008d24   Data           0  eikcore{000a0000}-467.o(StubCode)
-    StubCode                                 0x00008d28   Section        8  eikcore{000a0000}-479.o(StubCode)
-    theImportedSymbol                        0x00008d2c   Data           0  eikcore{000a0000}-479.o(StubCode)
-    StubCode                                 0x00008d30   Section        8  eikcore{000a0000}-490.o(StubCode)
-    theImportedSymbol                        0x00008d34   Data           0  eikcore{000a0000}-490.o(StubCode)
-    StubCode                                 0x00008d38   Section        8  eikcore{000a0000}-506.o(StubCode)
-    theImportedSymbol                        0x00008d3c   Data           0  eikcore{000a0000}-506.o(StubCode)
-    StubCode                                 0x00008d40   Section        8  eikcore{000a0000}-523.o(StubCode)
-    theImportedSymbol                        0x00008d44   Data           0  eikcore{000a0000}-523.o(StubCode)
-    StubCode                                 0x00008d48   Section        8  eikcore{000a0000}-532.o(StubCode)
-    theImportedSymbol                        0x00008d4c   Data           0  eikcore{000a0000}-532.o(StubCode)
-    StubCode                                 0x00008d50   Section        8  eikcore{000a0000}-533.o(StubCode)
-    theImportedSymbol                        0x00008d54   Data           0  eikcore{000a0000}-533.o(StubCode)
-    StubCode                                 0x00008d58   Section        8  eikcore{000a0000}-534.o(StubCode)
-    theImportedSymbol                        0x00008d5c   Data           0  eikcore{000a0000}-534.o(StubCode)
-    StubCode                                 0x00008d60   Section        8  eikcore{000a0000}-535.o(StubCode)
-    theImportedSymbol                        0x00008d64   Data           0  eikcore{000a0000}-535.o(StubCode)
-    StubCode                                 0x00008d68   Section        8  eikcore{000a0000}-536.o(StubCode)
-    theImportedSymbol                        0x00008d6c   Data           0  eikcore{000a0000}-536.o(StubCode)
-    StubCode                                 0x00008d70   Section        8  eikcore{000a0000}-537.o(StubCode)
-    theImportedSymbol                        0x00008d74   Data           0  eikcore{000a0000}-537.o(StubCode)
-    StubCode                                 0x00008d78   Section        8  eikcore{000a0000}-565.o(StubCode)
-    theImportedSymbol                        0x00008d7c   Data           0  eikcore{000a0000}-565.o(StubCode)
-    StubCode                                 0x00008d80   Section        8  eikcore{000a0000}-61.o(StubCode)
-    theImportedSymbol                        0x00008d84   Data           0  eikcore{000a0000}-61.o(StubCode)
-    StubCode                                 0x00008d88   Section        8  eikcore{000a0000}-62.o(StubCode)
-    theImportedSymbol                        0x00008d8c   Data           0  eikcore{000a0000}-62.o(StubCode)
-    StubCode                                 0x00008d90   Section        8  eikcore{000a0000}-63.o(StubCode)
-    theImportedSymbol                        0x00008d94   Data           0  eikcore{000a0000}-63.o(StubCode)
-    StubCode                                 0x00008d98   Section        8  eikcore{000a0000}-64.o(StubCode)
-    theImportedSymbol                        0x00008d9c   Data           0  eikcore{000a0000}-64.o(StubCode)
-    StubCode                                 0x00008da0   Section        8  eikcore{000a0000}-67.o(StubCode)
-    theImportedSymbol                        0x00008da4   Data           0  eikcore{000a0000}-67.o(StubCode)
-    StubCode                                 0x00008da8   Section        8  eikcore{000a0000}-72.o(StubCode)
-    theImportedSymbol                        0x00008dac   Data           0  eikcore{000a0000}-72.o(StubCode)
-    StubCode                                 0x00008db0   Section        8  eikcore{000a0000}-73.o(StubCode)
-    theImportedSymbol                        0x00008db4   Data           0  eikcore{000a0000}-73.o(StubCode)
-    StubCode                                 0x00008db8   Section        8  eikcore{000a0000}-74.o(StubCode)
-    theImportedSymbol                        0x00008dbc   Data           0  eikcore{000a0000}-74.o(StubCode)
-    StubCode                                 0x00008dc0   Section        8  eikcore{000a0000}-75.o(StubCode)
-    theImportedSymbol                        0x00008dc4   Data           0  eikcore{000a0000}-75.o(StubCode)
-    StubCode                                 0x00008dc8   Section        8  eikcore{000a0000}-77.o(StubCode)
-    theImportedSymbol                        0x00008dcc   Data           0  eikcore{000a0000}-77.o(StubCode)
-    StubCode                                 0x00008dd0   Section        8  eikcore{000a0000}-78.o(StubCode)
-    theImportedSymbol                        0x00008dd4   Data           0  eikcore{000a0000}-78.o(StubCode)
-    StubCode                                 0x00008dd8   Section        8  eikcore{000a0000}-79.o(StubCode)
-    theImportedSymbol                        0x00008ddc   Data           0  eikcore{000a0000}-79.o(StubCode)
-    StubCode                                 0x00008de0   Section        8  ws32{000a0000}-211.o(StubCode)
-    theImportedSymbol                        0x00008de4   Data           0  ws32{000a0000}-211.o(StubCode)
-    StubCode                                 0x00008de8   Section        8  gdi{000a0000}-312.o(StubCode)
-    theImportedSymbol                        0x00008dec   Data           0  gdi{000a0000}-312.o(StubCode)
-    StubCode                                 0x00008df0   Section        8  avkon{000a0000}-1132.o(StubCode)
-    theImportedSymbol                        0x00008df4   Data           0  avkon{000a0000}-1132.o(StubCode)
-    StubCode                                 0x00008df8   Section        8  avkon{000a0000}-129.o(StubCode)
-    theImportedSymbol                        0x00008dfc   Data           0  avkon{000a0000}-129.o(StubCode)
-    StubCode                                 0x00008e00   Section        8  avkon{000a0000}-130.o(StubCode)
-    theImportedSymbol                        0x00008e04   Data           0  avkon{000a0000}-130.o(StubCode)
-    StubCode                                 0x00008e08   Section        8  avkon{000a0000}-131.o(StubCode)
-    theImportedSymbol                        0x00008e0c   Data           0  avkon{000a0000}-131.o(StubCode)
-    StubCode                                 0x00008e10   Section        8  avkon{000a0000}-1350.o(StubCode)
-    theImportedSymbol                        0x00008e14   Data           0  avkon{000a0000}-1350.o(StubCode)
-    StubCode                                 0x00008e18   Section        8  avkon{000a0000}-1351.o(StubCode)
-    theImportedSymbol                        0x00008e1c   Data           0  avkon{000a0000}-1351.o(StubCode)
-    StubCode                                 0x00008e20   Section        8  avkon{000a0000}-1366.o(StubCode)
-    theImportedSymbol                        0x00008e24   Data           0  avkon{000a0000}-1366.o(StubCode)
-    StubCode                                 0x00008e28   Section        8  avkon{000a0000}-198.o(StubCode)
-    theImportedSymbol                        0x00008e2c   Data           0  avkon{000a0000}-198.o(StubCode)
-    StubCode                                 0x00008e30   Section        8  avkon{000a0000}-199.o(StubCode)
-    theImportedSymbol                        0x00008e34   Data           0  avkon{000a0000}-199.o(StubCode)
-    StubCode                                 0x00008e38   Section        8  avkon{000a0000}-201.o(StubCode)
-    theImportedSymbol                        0x00008e3c   Data           0  avkon{000a0000}-201.o(StubCode)
-    StubCode                                 0x00008e40   Section        8  avkon{000a0000}-206.o(StubCode)
-    theImportedSymbol                        0x00008e44   Data           0  avkon{000a0000}-206.o(StubCode)
-    StubCode                                 0x00008e48   Section        8  avkon{000a0000}-211.o(StubCode)
-    theImportedSymbol                        0x00008e4c   Data           0  avkon{000a0000}-211.o(StubCode)
-    StubCode                                 0x00008e50   Section        8  avkon{000a0000}-213.o(StubCode)
-    theImportedSymbol                        0x00008e54   Data           0  avkon{000a0000}-213.o(StubCode)
-    StubCode                                 0x00008e58   Section        8  avkon{000a0000}-214.o(StubCode)
-    theImportedSymbol                        0x00008e5c   Data           0  avkon{000a0000}-214.o(StubCode)
-    StubCode                                 0x00008e60   Section        8  avkon{000a0000}-215.o(StubCode)
-    theImportedSymbol                        0x00008e64   Data           0  avkon{000a0000}-215.o(StubCode)
-    StubCode                                 0x00008e68   Section        8  avkon{000a0000}-216.o(StubCode)
-    theImportedSymbol                        0x00008e6c   Data           0  avkon{000a0000}-216.o(StubCode)
-    StubCode                                 0x00008e70   Section        8  avkon{000a0000}-217.o(StubCode)
-    theImportedSymbol                        0x00008e74   Data           0  avkon{000a0000}-217.o(StubCode)
-    StubCode                                 0x00008e78   Section        8  avkon{000a0000}-220.o(StubCode)
-    theImportedSymbol                        0x00008e7c   Data           0  avkon{000a0000}-220.o(StubCode)
-    StubCode                                 0x00008e80   Section        8  avkon{000a0000}-2920.o(StubCode)
-    theImportedSymbol                        0x00008e84   Data           0  avkon{000a0000}-2920.o(StubCode)
-    StubCode                                 0x00008e88   Section        8  avkon{000a0000}-2922.o(StubCode)
-    theImportedSymbol                        0x00008e8c   Data           0  avkon{000a0000}-2922.o(StubCode)
-    StubCode                                 0x00008e90   Section        8  avkon{000a0000}-2924.o(StubCode)
-    theImportedSymbol                        0x00008e94   Data           0  avkon{000a0000}-2924.o(StubCode)
-    StubCode                                 0x00008e98   Section        8  avkon{000a0000}-2925.o(StubCode)
-    theImportedSymbol                        0x00008e9c   Data           0  avkon{000a0000}-2925.o(StubCode)
-    StubCode                                 0x00008ea0   Section        8  avkon{000a0000}-2926.o(StubCode)
-    theImportedSymbol                        0x00008ea4   Data           0  avkon{000a0000}-2926.o(StubCode)
-    StubCode                                 0x00008ea8   Section        8  avkon{000a0000}-2928.o(StubCode)
-    theImportedSymbol                        0x00008eac   Data           0  avkon{000a0000}-2928.o(StubCode)
-    StubCode                                 0x00008eb0   Section        8  avkon{000a0000}-2929.o(StubCode)
-    theImportedSymbol                        0x00008eb4   Data           0  avkon{000a0000}-2929.o(StubCode)
-    StubCode                                 0x00008eb8   Section        8  avkon{000a0000}-2930.o(StubCode)
-    theImportedSymbol                        0x00008ebc   Data           0  avkon{000a0000}-2930.o(StubCode)
-    StubCode                                 0x00008ec0   Section        8  avkon{000a0000}-2931.o(StubCode)
-    theImportedSymbol                        0x00008ec4   Data           0  avkon{000a0000}-2931.o(StubCode)
-    StubCode                                 0x00008ec8   Section        8  avkon{000a0000}-2932.o(StubCode)
-    theImportedSymbol                        0x00008ecc   Data           0  avkon{000a0000}-2932.o(StubCode)
-    StubCode                                 0x00008ed0   Section        8  avkon{000a0000}-2934.o(StubCode)
-    theImportedSymbol                        0x00008ed4   Data           0  avkon{000a0000}-2934.o(StubCode)
-    StubCode                                 0x00008ed8   Section        8  avkon{000a0000}-2935.o(StubCode)
-    theImportedSymbol                        0x00008edc   Data           0  avkon{000a0000}-2935.o(StubCode)
-    StubCode                                 0x00008ee0   Section        8  avkon{000a0000}-2938.o(StubCode)
-    theImportedSymbol                        0x00008ee4   Data           0  avkon{000a0000}-2938.o(StubCode)
-    StubCode                                 0x00008ee8   Section        8  avkon{000a0000}-2993.o(StubCode)
-    theImportedSymbol                        0x00008eec   Data           0  avkon{000a0000}-2993.o(StubCode)
-    StubCode                                 0x00008ef0   Section        8  avkon{000a0000}-2997.o(StubCode)
-    theImportedSymbol                        0x00008ef4   Data           0  avkon{000a0000}-2997.o(StubCode)
-    StubCode                                 0x00008ef8   Section        8  avkon{000a0000}-3826.o(StubCode)
-    theImportedSymbol                        0x00008efc   Data           0  avkon{000a0000}-3826.o(StubCode)
-    StubCode                                 0x00008f00   Section        8  avkon{000a0000}-3862.o(StubCode)
-    theImportedSymbol                        0x00008f04   Data           0  avkon{000a0000}-3862.o(StubCode)
-    StubCode                                 0x00008f08   Section        8  avkon{000a0000}-3868.o(StubCode)
-    theImportedSymbol                        0x00008f0c   Data           0  avkon{000a0000}-3868.o(StubCode)
-    StubCode                                 0x00008f10   Section        8  avkon{000a0000}-4021.o(StubCode)
-    theImportedSymbol                        0x00008f14   Data           0  avkon{000a0000}-4021.o(StubCode)
-    StubCode                                 0x00008f18   Section        8  avkon{000a0000}-4030.o(StubCode)
-    theImportedSymbol                        0x00008f1c   Data           0  avkon{000a0000}-4030.o(StubCode)
-    StubCode                                 0x00008f20   Section        8  eposlandmarks{000a0000}-12.o(StubCode)
-    theImportedSymbol                        0x00008f24   Data           0  eposlandmarks{000a0000}-12.o(StubCode)
-    StubCode                                 0x00008f28   Section        8  eposlandmarks{000a0000}-13.o(StubCode)
-    theImportedSymbol                        0x00008f2c   Data           0  eposlandmarks{000a0000}-13.o(StubCode)
-    StubCode                                 0x00008f30   Section        8  eposlandmarks{000a0000}-65.o(StubCode)
-    theImportedSymbol                        0x00008f34   Data           0  eposlandmarks{000a0000}-65.o(StubCode)
-    StubCode                                 0x00008f38   Section        8  eposlandmarks{000a0000}-68.o(StubCode)
-    theImportedSymbol                        0x00008f3c   Data           0  eposlandmarks{000a0000}-68.o(StubCode)
-    StubCode                                 0x00008f40   Section        8  lbs{000a0000}-207.o(StubCode)
-    theImportedSymbol                        0x00008f44   Data           0  lbs{000a0000}-207.o(StubCode)
-    StubCode                                 0x00008f48   Section        8  lbs{000a0000}-23.o(StubCode)
-    theImportedSymbol                        0x00008f4c   Data           0  lbs{000a0000}-23.o(StubCode)
-    StubCode                                 0x00008f50   Section        8  mnservicelib{000a0000}-1.o(StubCode)
-    theImportedSymbol                        0x00008f54   Data           0  mnservicelib{000a0000}-1.o(StubCode)
-    StubCode                                 0x00008f58   Section        8  mnservicelib{000a0000}-2.o(StubCode)
-    theImportedSymbol                        0x00008f5c   Data           0  mnservicelib{000a0000}-2.o(StubCode)
-    StubCode                                 0x00008f60   Section        8  mnservicelib{000a0000}-21.o(StubCode)
-    theImportedSymbol                        0x00008f64   Data           0  mnservicelib{000a0000}-21.o(StubCode)
-    StubCode                                 0x00008f68   Section        8  mnservicelib{000a0000}-22.o(StubCode)
-    theImportedSymbol                        0x00008f6c   Data           0  mnservicelib{000a0000}-22.o(StubCode)
-    StubCode                                 0x00008f70   Section        8  mnservicelib{000a0000}-23.o(StubCode)
-    theImportedSymbol                        0x00008f74   Data           0  mnservicelib{000a0000}-23.o(StubCode)
-    StubCode                                 0x00008f78   Section        8  mnservicelib{000a0000}-24.o(StubCode)
-    theImportedSymbol                        0x00008f7c   Data           0  mnservicelib{000a0000}-24.o(StubCode)
-    StubCode                                 0x00008f80   Section        8  mnservicelib{000a0000}-27.o(StubCode)
-    theImportedSymbol                        0x00008f84   Data           0  mnservicelib{000a0000}-27.o(StubCode)
-    StubCode                                 0x00008f88   Section        8  mnservicelib{000a0000}-34.o(StubCode)
-    theImportedSymbol                        0x00008f8c   Data           0  mnservicelib{000a0000}-34.o(StubCode)
-    StubCode                                 0x00008f90   Section        8  mnservicelib{000a0000}-45.o(StubCode)
-    theImportedSymbol                        0x00008f94   Data           0  mnservicelib{000a0000}-45.o(StubCode)
-    StubCode                                 0x00008f98   Section        8  mnservicelib{000a0000}-46.o(StubCode)
-    theImportedSymbol                        0x00008f9c   Data           0  mnservicelib{000a0000}-46.o(StubCode)
-    StubCode                                 0x00008fa0   Section        8  mnservicelib{000a0000}-47.o(StubCode)
-    theImportedSymbol                        0x00008fa4   Data           0  mnservicelib{000a0000}-47.o(StubCode)
-    StubCode                                 0x00008fa8   Section        8  mnservicelib{000a0000}-49.o(StubCode)
-    theImportedSymbol                        0x00008fac   Data           0  mnservicelib{000a0000}-49.o(StubCode)
-    StubCode                                 0x00008fb0   Section        8  mnservicelib{000a0000}-50.o(StubCode)
-    theImportedSymbol                        0x00008fb4   Data           0  mnservicelib{000a0000}-50.o(StubCode)
-    StubCode                                 0x00008fb8   Section        8  mnservicelib{000a0000}-53.o(StubCode)
-    theImportedSymbol                        0x00008fbc   Data           0  mnservicelib{000a0000}-53.o(StubCode)
-    StubCode                                 0x00008fc0   Section        8  mnservicelib{000a0000}-56.o(StubCode)
-    theImportedSymbol                        0x00008fc4   Data           0  mnservicelib{000a0000}-56.o(StubCode)
-    StubCode                                 0x00008fc8   Section        8  mnrefproviderengine{000a0000}-10.o(StubCode)
-    theImportedSymbol                        0x00008fcc   Data           0  mnrefproviderengine{000a0000}-10.o(StubCode)
-    StubCode                                 0x00008fd0   Section        8  mnrefproviderengine{000a0000}-12.o(StubCode)
-    theImportedSymbol                        0x00008fd4   Data           0  mnrefproviderengine{000a0000}-12.o(StubCode)
-    StubCode                                 0x00008fd8   Section        8  mnrefproviderengine{000a0000}-18.o(StubCode)
-    theImportedSymbol                        0x00008fdc   Data           0  mnrefproviderengine{000a0000}-18.o(StubCode)
-    StubCode                                 0x00008fe0   Section        8  mnrefproviderengine{000a0000}-19.o(StubCode)
-    theImportedSymbol                        0x00008fe4   Data           0  mnrefproviderengine{000a0000}-19.o(StubCode)
-    StubCode                                 0x00008fe8   Section        8  mnrefproviderengine{000a0000}-21.o(StubCode)
-    theImportedSymbol                        0x00008fec   Data           0  mnrefproviderengine{000a0000}-21.o(StubCode)
-    StubCode                                 0x00008ff0   Section        8  mnrefproviderengine{000a0000}-4.o(StubCode)
-    theImportedSymbol                        0x00008ff4   Data           0  mnrefproviderengine{000a0000}-4.o(StubCode)
-    StubCode                                 0x00008ff8   Section        8  mnrefproviderengine{000a0000}-5.o(StubCode)
-    theImportedSymbol                        0x00008ffc   Data           0  mnrefproviderengine{000a0000}-5.o(StubCode)
-    StubCode                                 0x00009000   Section        8  mnrefproviderengine{000a0000}-54.o(StubCode)
-    theImportedSymbol                        0x00009004   Data           0  mnrefproviderengine{000a0000}-54.o(StubCode)
-    StubCode                                 0x00009008   Section        8  mnrefproviderengine{000a0000}-6.o(StubCode)
-    theImportedSymbol                        0x0000900c   Data           0  mnrefproviderengine{000a0000}-6.o(StubCode)
-    StubCode                                 0x00009010   Section        8  drtaeabi{000a0000}-144.o(StubCode)
-    theImportedSymbol                        0x00009014   Data           0  drtaeabi{000a0000}-144.o(StubCode)
-    StubCode                                 0x00009018   Section        8  drtaeabi{000a0000}-158.o(StubCode)
-    theImportedSymbol                        0x0000901c   Data           0  drtaeabi{000a0000}-158.o(StubCode)
-    StubCode                                 0x00009020   Section        8  drtaeabi{000a0000}-159.o(StubCode)
-    theImportedSymbol                        0x00009024   Data           0  drtaeabi{000a0000}-159.o(StubCode)
-    StubCode                                 0x00009028   Section        8  drtaeabi{000a0000}-180.o(StubCode)
-    theImportedSymbol                        0x0000902c   Data           0  drtaeabi{000a0000}-180.o(StubCode)
-    StubCode                                 0x00009030   Section        8  drtaeabi{000a0000}-182.o(StubCode)
-    theImportedSymbol                        0x00009034   Data           0  drtaeabi{000a0000}-182.o(StubCode)
-    StubCode                                 0x00009038   Section        8  drtaeabi{000a0000}-183.o(StubCode)
-    theImportedSymbol                        0x0000903c   Data           0  drtaeabi{000a0000}-183.o(StubCode)
-    StubCode                                 0x00009040   Section        8  drtaeabi{000a0000}-184.o(StubCode)
-    theImportedSymbol                        0x00009044   Data           0  drtaeabi{000a0000}-184.o(StubCode)
-    StubCode                                 0x00009048   Section        8  drtaeabi{000a0000}-189.o(StubCode)
-    theImportedSymbol                        0x0000904c   Data           0  drtaeabi{000a0000}-189.o(StubCode)
-    StubCode                                 0x00009050   Section        8  scppnwdl{000a0000}-3.o(StubCode)
-    theImportedSymbol                        0x00009054   Data           0  scppnwdl{000a0000}-3.o(StubCode)
-    StubCode                                 0x00009058   Section        8  euser{000a0000}-1360.o(StubCode)
-    theImportedSymbol                        0x0000905c   Data           0  euser{000a0000}-1360.o(StubCode)
-    StubCode                                 0x00009060   Section        8  euser{000a0000}-641.o(StubCode)
-    theImportedSymbol                        0x00009064   Data           0  euser{000a0000}-641.o(StubCode)
-    StubCode                                 0x00009068   Section        8  euser{000a0000}-585.o(StubCode)
-    theImportedSymbol                        0x0000906c   Data           0  euser{000a0000}-585.o(StubCode)
-    StubCode                                 0x00009070   Section        8  euser{000a0000}-650.o(StubCode)
-    theImportedSymbol                        0x00009074   Data           0  euser{000a0000}-650.o(StubCode)
-    StubCode                                 0x00009078   Section        8  drtaeabi{000a0000}-204.o(StubCode)
-    theImportedSymbol                        0x0000907c   Data           0  drtaeabi{000a0000}-204.o(StubCode)
-    i._ZN12CApaDocument16DetachFromStoreLEN8CPicture7TDetachE 0x00009080   Section        2  mnrefproviderback.in(i._ZN12CApaDocument16DetachFromStoreLEN8CPicture7TDetachE)
-    i._ZN14CMnrpAppUiBackC1Ev                0x00009084   Section       60  mnrefproviderback.in(i._ZN14CMnrpAppUiBackC1Ev)
-    i._ZN14CMnrpAppUiBackC1Ev.clean          0x000090c0   Section       10  mnrefproviderback.in(i._ZN14CMnrpAppUiBackC1Ev.clean)
-    i._ZN14CMnrpAppUiBackD0Ev                0x000090ca   Section       16  mnrefproviderback.in(i._ZN14CMnrpAppUiBackD0Ev)
-    i._ZN14CMnrpAppUiBackD1Ev                0x000090da   Section        8  mnrefproviderback.in(i._ZN14CMnrpAppUiBackD1Ev)
-    i._ZN17CMnrpDocumentBackD0Ev             0x000090e2   Section       16  mnrefproviderback.in(i._ZN17CMnrpDocumentBackD0Ev)
-    i._ZN17CMnrpDocumentBackD1Ev             0x000090f2   Section        8  mnrefproviderback.in(i._ZN17CMnrpDocumentBackD1Ev)
-    i._ZN20CMnrpApplicationBackD0Ev          0x000090fa   Section       16  mnrefproviderback.in(i._ZN20CMnrpApplicationBackD0Ev)
-    i._ZN20CMnrpApplicationBackD1Ev          0x0000910a   Section        8  mnrefproviderback.in(i._ZN20CMnrpApplicationBackD1Ev)
-    i._ZN5CBasenwEj                          0x00009112   Section        8  mnrefproviderback.in(i._ZN5CBasenwEj)
-    t._ZNK13RPointerArrayI12CPosLandmarkE5CountEv 0x0000911a   Section        8  mnrefproviderback.in(t._ZNK13RPointerArrayI12CPosLandmarkE5CountEv)
-    .ARM.extab                               0x00009124   Section       16  uc_exe_.o(.ARM.extab)
-    .extab._Z14NewApplicationv               0x00009134   Data           0  mnrefproviderback.in(.ARM.extab)
-    .extab._ZN5CBasenwEj                     0x00009144   Data           0  mnrefproviderback.in(.ARM.extab)
-    .extab._ZN14CMnrpAppUiBackC1Ev           0x00009154   Data           0  mnrefproviderback.in(.ARM.extab)
-    .extab._ZN18CMnrpAppServerBackD1Ev       0x00009164   Data           0  mnrefproviderback.in(.ARM.extab)
-    .extab._ZN21CMnrpGeocodingServiceD1Ev    0x00009174   Data           0  mnrefproviderback.in(.ARM.extab)
-    .extab._ZN21CMnrpGeocodingService24HandleGeocodingCompletedEv 0x00009184   Data           0  mnrefproviderback.in(.ARM.extab)
-    .extab._ZN20CMnrpMapImageServiceD1Ev     0x000091ac   Data           0  mnrefproviderback.in(.ARM.extab)
-    .extab._ZN20CMnrpMapImageService24HandleMapImageCompletedLEv 0x000091bc   Data           0  mnrefproviderback.in(.ARM.extab)
-    .extab._ZN20CMnrpMapImageService26MapImageProcessingCallBackEPv 0x000091e4   Data           0  mnrefproviderback.in(.ARM.extab)
-    .extab.CallThrdProcEntry                 0x0000920c   Data           0  callfirstprocessfn.o(.ARM.extab)
-    .constdata$1                             0x00009228   Data           0  mnrefproviderback.in(.constdata)
-    KUidMnRefProviderBackApp                 0x00009228   Data           4  mnrefproviderback.in(.constdata)
-    .constdata                               0x00009228   Section        4  mnrefproviderback.in(.constdata)
-    .constdata$1                             0x0000922c   Data           0  callfirstprocessfn.o(.constdata)
-    KLitUser                                 0x0000922c   Data          16  callfirstprocessfn.o(.constdata)
-    .constdata                               0x0000922c   Section       16  callfirstprocessfn.o(.constdata)
-    .constdata__ZTI14CMnrpAppUiBack          0x0000923c   Section       12  mnrefproviderback.in(.constdata__ZTI14CMnrpAppUiBack)
-    .constdata__ZTI17CMnrpDocumentBack       0x00009248   Section       12  mnrefproviderback.in(.constdata__ZTI17CMnrpDocumentBack)
-    .constdata__ZTI18CMnrpAppServerBack      0x00009254   Section       12  mnrefproviderback.in(.constdata__ZTI18CMnrpAppServerBack)
-    .constdata__ZTI20CMnrpApplicationBack    0x00009260   Section       12  mnrefproviderback.in(.constdata__ZTI20CMnrpApplicationBack)
-    .constdata__ZTI20CMnrpMapImageService    0x0000926c   Section       12  mnrefproviderback.in(.constdata__ZTI20CMnrpMapImageService)
-    .constdata__ZTI21CMnrpGeocodingService   0x00009278   Section       12  mnrefproviderback.in(.constdata__ZTI21CMnrpGeocodingService)
-    .constdata__ZTI22MEikStatusPaneObserver  0x00009284   Section        8  mnrefproviderback.in(.constdata__ZTI22MEikStatusPaneObserver)
-    .constdata__ZTS14CMnrpAppUiBack          0x0000928c   Section       17  mnrefproviderback.in(.constdata__ZTS14CMnrpAppUiBack)
-    .constdata__ZTS17CMnrpDocumentBack       0x0000929d   Section       20  mnrefproviderback.in(.constdata__ZTS17CMnrpDocumentBack)
-    .constdata__ZTS18CMnrpAppServerBack      0x000092b1   Section       21  mnrefproviderback.in(.constdata__ZTS18CMnrpAppServerBack)
-    .constdata__ZTS20CMnrpApplicationBack    0x000092c6   Section       23  mnrefproviderback.in(.constdata__ZTS20CMnrpApplicationBack)
-    .constdata__ZTS20CMnrpMapImageService    0x000092dd   Section       23  mnrefproviderback.in(.constdata__ZTS20CMnrpMapImageService)
-    .constdata__ZTS21CMnrpGeocodingService   0x000092f4   Section       24  mnrefproviderback.in(.constdata__ZTS21CMnrpGeocodingService)
-    .constdata__ZTS22MEikStatusPaneObserver  0x0000930c   Section       25  mnrefproviderback.in(.constdata__ZTS22MEikStatusPaneObserver)
-    .constdata__ZTV14CMnrpAppUiBack          0x00009328   Section      340  mnrefproviderback.in(.constdata__ZTV14CMnrpAppUiBack)
-    .constdata__ZTV17CMnrpDocumentBack       0x0000947c   Section      112  mnrefproviderback.in(.constdata__ZTV17CMnrpDocumentBack)
-    .constdata__ZTV18CMnrpAppServerBack      0x000094ec   Section       76  mnrefproviderback.in(.constdata__ZTV18CMnrpAppServerBack)
-    .constdata__ZTV20CMnrpApplicationBack    0x00009538   Section       80  mnrefproviderback.in(.constdata__ZTV20CMnrpApplicationBack)
-    .constdata__ZTV20CMnrpMapImageService    0x00009588   Section       64  mnrefproviderback.in(.constdata__ZTV20CMnrpMapImageService)
-    .constdata__ZTV21CMnrpGeocodingService   0x000095c8   Section       72  mnrefproviderback.in(.constdata__ZTV21CMnrpGeocodingService)
-    .constdata__ZTV22MEikStatusPaneObserver  0x00009610   Section       12  mnrefproviderback.in(.constdata__ZTV22MEikStatusPaneObserver)
-    .init_array                              0x0000961c   Section        4  mnrefproviderback.in(.init_array)
-    .ARM.exidx                               0x00009620   Section        8  uc_exe_.o(.ARM.exidx)
-    .ARM.exidx                               0x00009628   Section        8  ucppinit_aeabi.o(.ARM.exidx)
-    .data$0                                  0x00400000   Data           0  mnrefproviderback.in(.data)
-    KProcessingDelay                         0x00400000   Data           4  mnrefproviderback.in(.data)
-    .data                                    0x00400000   Section        4  mnrefproviderback.in(.data)
-
-    Global Symbols
-
-    Symbol Name                              Value     Ov Type        Size  Object(Section)
-
-    BuildAttributes$$THUMB_ISAv3$ARM_ISAv6$M$E$P$PE$A:L22$X:L11$S22$IEEE1$IW$USESV6$~STKCKD$USESV7$~SHL$OSPACE$IEEEJ$EBA8$UX$REQ8$PRES8$EABIv2 0x00000000   Number         0  anon$$obj.o ABSOLUTE
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>111  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>112  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>113  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>117  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>118  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>11c  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>11d  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>11e  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>11f  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>1e  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>79  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>84  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>ab  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>c0  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>c2  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>ca  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>de  - Undefined Reference
-    #<DLL>apparc{000a0000}[10003a3d].dll#<\DLL>e8  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>46c  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>546  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>547  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>556  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>81  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>82  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>83  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b68  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b6a  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b6c  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b6d  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b6e  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b70  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b71  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b72  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b73  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b74  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b76  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b77  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>b7a  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>bb1  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>bb5  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>c6  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>c7  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>c9  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>ce  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d3  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d5  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d6  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d7  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d8  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>d9  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>dc  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>ef2  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>f16  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>f1c  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>fb5  - Undefined Reference
-    #<DLL>avkon{000a0000}[100056c6].dll#<\DLL>fbe  - Undefined Reference
-    #<DLL>bafl{000a0000}[10003a0f].dll#<\DLL>2b  - Undefined Reference
-    #<DLL>bafl{000a0000}[10003a0f].dll#<\DLL>62  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>15f  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>163  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>27e  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>27f  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>298  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>2a4  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>2a5  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>64  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>65  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>7f  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>80  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>b6  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>d2  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>d4  - Undefined Reference
-    #<DLL>cone{000a0000}[10003a41].dll#<\DLL>dc  - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>90     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>9e     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>9f     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>b4     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>b6     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>b7     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>b8     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>bd     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>cc     - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>12  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>123  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>125  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>126  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>127  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>128  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>129  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>12a  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>12b  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>12e  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>13d  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>14  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>160  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>186  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>188  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>18a  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>19  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1a  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1b  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1c  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1d  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1d3  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1df  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1e  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1ea  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1f  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>1fa  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>20b  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>214  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>215  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>216  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>217  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>218  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>219  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>235  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>25  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>3d  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>3e  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>3f  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>40  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>43  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>48  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>49  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>4a  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>4b  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>4d  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>4e  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>4f  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>8d  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>8e  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>8f  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>90  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>93  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>98  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>9b  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>9e  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>9f  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>a6  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>a9  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>ab  - Undefined Reference
-    #<DLL>eikcore{000a0000}[10004892].dll#<\DLL>af  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>41  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>44  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>c  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>d  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1d7  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1da  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1e1  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>249  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>265  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>281  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>289  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>28a  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>28c  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>28e  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>29d  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>2a7  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>2a9  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>346  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>440  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>45c  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>45f  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>493  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>508  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>550  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>563  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>565  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>636  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>639  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>719  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>7cb  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>7cd  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>7cf  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>80c  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>80d  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>822  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>848  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>84b  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>84d  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>853  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>cb  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>cd  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>cf  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>d0  - Undefined Reference
-    #<DLL>gdi{000a0000}[10003b15].dll#<\DLL>138  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>17  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>cf  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>12  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>13  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>15  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>36  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>4  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>5  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>6  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>a  - Undefined Reference
-    #<DLL>mnrefproviderengine{000a0000}[03132015].dll#<\DLL>c  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>1  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>15  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>16  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>17  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>18  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>1b  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>2  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>22  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>2d  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>2e  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>2f  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>31  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>32  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>35  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>38  - Undefined Reference
-    #<DLL>scppnwdl{000a0000}.dll#<\DLL>3      - Undefined Reference
-    #<DLL>ws32{000a0000}[10003b21].dll#<\DLL>d3  - Undefined Reference
-    typeinfo for CAknDocument                 - Undefined Reference
-    typeinfo for CAknAppServer                - Undefined Reference
-    typeinfo for CEikApplication              - Undefined Reference
-    typeinfo for XLeaveException              - Undefined Reference
-    typeinfo for CMnMapImageServiceBase       - Undefined Reference
-    typeinfo for CMnGeocodingServiceBase      - Undefined Reference
-    typeinfo for CBase                        - Undefined Reference
-    typeinfo for CAknAppUi                    - Undefined Reference
-    vtable for __cxxabiv1::__class_type_info  - Undefined Reference
-    vtable for __cxxabiv1::__si_class_type_info  - Undefined Reference
-    _fp_init                                  - Undefined Weak Reference
-    Image$$ER_RO$$Base                       0x00008000   Number         0  anon$$obj.o(linker$$defined$$symbols)
-    _E32Startup                              0x00008000   ARM Code     112  uc_exe_.o(.emb_text)
-    Symbian$$CPP$$Exception$$Descriptor      0x0000805c   Data           0  uc_exe_.o(.emb_text)
-    __cpp_initialize__aeabi_                 0x00008070   ARM Code      72  ucppinit_aeabi.o(.emb_text)
-    std::nothrow                             0x000080b8   ARM Code       0  ucppinit_aeabi.o(.emb_text)
-    Inline ARM to Thumb Veneer to _xxxx_call_user_invariant 0x000080b8   ARM Code       0  uc_exe_.o(.text)
-    _xxxx_call_user_invariant                0x000080c1   Thumb Code     8  uc_exe_.o(.text)
-    _xxxx_call_user_handle_exception         0x000080c9   Thumb Code     8  uc_exe_.o(.text)
-    E32Main()                                0x000080ef   Thumb Code    22  mnrefproviderback.in(.text)
-    CMnrpApplicationBack::AppDllUid() const  0x0000810d   Thumb Code     6  mnrefproviderback.in(.text)
-    CMnrpApplicationBack::CreateDocumentL()  0x00008113   Thumb Code     8  mnrefproviderback.in(.text)
-    CMnrpApplicationBack::NewAppServerL(CApaAppServer*&) 0x0000811b   Thumb Code    12  mnrefproviderback.in(.text)
-    CMnrpAppUiBack::ConstructL()             0x0000812d   Thumb Code    12  mnrefproviderback.in(.text)
-    CMnrpAppUiBack::MoveForeground()         0x00008139   Thumb Code    14  mnrefproviderback.in(.text)
-    CMnrpAppUiBack::MoveBackground()         0x00008147   Thumb Code    16  mnrefproviderback.in(.text)
-    CMnrpAppUiBack::HandleCommandL(int)      0x00008157   Thumb Code    20  mnrefproviderback.in(.text)
-    CMnrpDocumentBack::CMnrpDocumentBack(CEikApplication&) 0x00008171   Thumb Code    16  mnrefproviderback.in(.text)
-    CMnrpDocumentBack::CMnrpDocumentBack__sub_object(CEikApplication&) 0x00008171   Thumb Code     0  mnrefproviderback.in(.text)
-    CMnrpDocumentBack::NewL(CEikApplication&) 0x00008181   Thumb Code    18  mnrefproviderback.in(.text)
-    CMnrpDocumentBack::CreateAppUiL()        0x00008193   Thumb Code    24  mnrefproviderback.in(.text)
-    CMnrpAppServerBack::ConstructL()         0x000081b1   Thumb Code    12  mnrefproviderback.in(.text)
-    CMnrpAppServerBack::NewL()               0x000081bd   Thumb Code    48  mnrefproviderback.in(.text)
-    CMnrpAppServerBack::~CMnrpAppServerBack() 0x000081ed   Thumb Code    28  mnrefproviderback.in(.text)
-    CMnrpAppServerBack::~CMnrpAppServerBack__sub_object() 0x000081ed   Thumb Code     0  mnrefproviderback.in(.text)
-    CMnrpAppServerBack::~CMnrpAppServerBack__deallocating() 0x00008209   Thumb Code    16  mnrefproviderback.in(.text)
-    CMnrpAppServerBack::CreateMapImageServiceL() const 0x00008219   Thumb Code    10  mnrefproviderback.in(.text)
-    CMnrpAppServerBack::CreateGeocodingServiceL() const 0x00008223   Thumb Code    10  mnrefproviderback.in(.text)
-    CMnrpAppServerBack::CreateServiceL(TUid) const 0x0000822d   Thumb Code    32  mnrefproviderback.in(.text)
-    CleanupLandmarksArray(void*)             0x00008259   Thumb Code    48  mnrefproviderback.in(.text)
-    CleanupForeground(void*)                 0x00008289   Thumb Code     8  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::ConstructL()      0x00008291   Thumb Code    20  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::CMnrpGeocodingService(CMnrpEngine&) 0x000082a5   Thumb Code    16  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::CMnrpGeocodingService__sub_object(CMnrpEngine&) 0x000082a5   Thumb Code     0  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::NewL(CMnrpEngine&) 0x000082b5   Thumb Code    36  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::~CMnrpGeocodingService() 0x000082d9   Thumb Code    46  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::~CMnrpGeocodingService__sub_object() 0x000082d9   Thumb Code     0  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::~CMnrpGeocodingService__deallocating() 0x00008307   Thumb Code    16  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::LeaveIfBusyL()    0x00008317   Thumb Code    22  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::LetUserSelectBestMatchL(const CPosLandmark&) 0x0000832d   Thumb Code   318  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::FinishProcessingL() 0x0000846b   Thumb Code   130  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::HandleGeocodingCompleted() 0x000084ed   Thumb Code    72  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::GeocodingProcessingCallBack(void*) 0x00008535   Thumb Code    10  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::StartProcessingL() 0x0000853f   Thumb Code    14  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::HandleFindAddressByCoordinateL(const CPosLandmark&) 0x0000854d   Thumb Code    60  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::HandleFindCoordinateByAddressL(const CPosLandmark&) 0x00008589   Thumb Code    60  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::HandleFindCoordinateByAddressL(const TDesC16&) 0x000085c5   Thumb Code    74  mnrefproviderback.in(.text)
-    CMnrpGeocodingService::DoCancel()        0x0000860f   Thumb Code    16  mnrefproviderback.in(.text)
-    CMnrpMapImageService::CreateFonts()      0x00008635   Thumb Code    64  mnrefproviderback.in(.text)
-    CMnrpMapImageService::ConstructL()       0x00008675   Thumb Code    44  mnrefproviderback.in(.text)
-    CMnrpMapImageService::CMnrpMapImageService(CMnrpEngine&) 0x000086a1   Thumb Code    20  mnrefproviderback.in(.text)
-    CMnrpMapImageService::CMnrpMapImageService__sub_object(CMnrpEngine&) 0x000086a1   Thumb Code     0  mnrefproviderback.in(.text)
-    CMnrpMapImageService::NewL(CMnrpEngine&) 0x000086b5   Thumb Code    36  mnrefproviderback.in(.text)
-    CMnrpMapImageService::DestroyFonts()     0x000086d9   Thumb Code    32  mnrefproviderback.in(.text)
-    CMnrpMapImageService::~CMnrpMapImageService() 0x000086f9   Thumb Code    60  mnrefproviderback.in(.text)
-    CMnrpMapImageService::~CMnrpMapImageService__sub_object() 0x000086f9   Thumb Code     0  mnrefproviderback.in(.text)
-    CMnrpMapImageService::~CMnrpMapImageService__deallocating() 0x00008735   Thumb Code    16  mnrefproviderback.in(.text)
-    CMnrpMapImageService::LeaveIfBusyL()     0x00008745   Thumb Code    24  mnrefproviderback.in(.text)
-    CMnrpMapImageService::RenderL()          0x0000875d   Thumb Code   116  mnrefproviderback.in(.text)
-    CMnrpMapImageService::FinishProcessingL() 0x000087d1   Thumb Code    52  mnrefproviderback.in(.text)
-    CMnrpMapImageService::HandleMapImageCompletedL() 0x00008805   Thumb Code    80  mnrefproviderback.in(.text)
-    CMnrpMapImageService::MapImageProcessingCallBack(void*) 0x00008855   Thumb Code    50  mnrefproviderback.in(.text)
-    CMnrpMapImageService::StartProcessingL() 0x00008887   Thumb Code    22  mnrefproviderback.in(.text)
-    CMnrpMapImageService::HandleRenderingL() 0x0000889d   Thumb Code    24  mnrefproviderback.in(.text)
-    CMnrpMapImageService::DoCancel()         0x000088b5   Thumb Code    18  mnrefproviderback.in(.text)
-    Inline ARM to Thumb Veneer to RunThread  0x000088e0   ARM Code       0  uc_exe.o(.text)
-    RunThread                                0x000088e9   Thumb Code    36  uc_exe.o(.text)
-    CallThrdProcEntry                        0x0000890c   ARM Code     116  callfirstprocessfn.o(.text)
-    __DLL_Export_Table__                     0x00008984   ARM Code       4  dllexp.o(.text)
-    CActive::Cancel()                        0x000089d0   ARM Code       0  euser{000a0000}-1088.o(StubCode)
-    HBufC16::Des()                           0x000089d8   ARM Code       0  euser{000a0000}-1116.o(StubCode)
-    HBufC16::NewLC(int)                      0x000089e0   ARM Code       0  euser{000a0000}-1119.o(StubCode)
-    TPtrC16::TPtrC16(const TDesC16&)         0x000089e8   ARM Code       0  euser{000a0000}-1171.o(StubCode)
-    CServer2::DoCancel()                     0x000089f0   ARM Code       0  euser{000a0000}-1288.o(StubCode)
-    CPeriodic::NewL(int)                     0x000089f8   ARM Code       0  euser{000a0000}-1379.o(StubCode)
-    CPeriodic::Start(TTimeIntervalMicroSeconds32, TTimeIntervalMicroSeconds32, TCallBack) 0x00008a00   ARM Code       0  euser{000a0000}-1381.o(StubCode)
-    RPointerArrayBase::At(int) const         0x00008a08   ARM Code       0  euser{000a0000}-1590.o(StubCode)
-    RPointerArrayBase::Count() const         0x00008a10   ARM Code       0  euser{000a0000}-1593.o(StubCode)
-    TDesC16::AllocL() const                  0x00008a18   ARM Code       0  euser{000a0000}-1817.o(StubCode)
-    CPolicyServer::CustomFailureActionL(const RMessage2&, int, const TSecurityInfo&) 0x00008a20   ARM Code       0  euser{000a0000}-1995.o(StubCode)
-    CPolicyServer::RunL()                    0x00008a28   ARM Code       0  euser{000a0000}-1997.o(StubCode)
-    CPolicyServer::RunError(int)             0x00008a30   ARM Code       0  euser{000a0000}-1999.o(StubCode)
-    CleanupStack::PopAndDestroy()            0x00008a38   ARM Code       0  euser{000a0000}-203.o(StubCode)
-    CleanupStack::Pop()                      0x00008a40   ARM Code       0  euser{000a0000}-205.o(StubCode)
-    User::MarkCleanupStack()                 0x00008a48   ARM Code       0  euser{000a0000}-2060.o(StubCode)
-    User::UnMarkCleanupStack(TTrapHandler*)  0x00008a50   ARM Code       0  euser{000a0000}-2061.o(StubCode)
-    CleanupStack::PushL(TCleanupItem)        0x00008a58   ARM Code       0  euser{000a0000}-207.o(StubCode)
-    CleanupStack::PushL(CBase*)              0x00008a60   ARM Code       0  euser{000a0000}-208.o(StubCode)
-    XLeaveException::GetReason() const       0x00008a68   ARM Code       0  euser{000a0000}-2082.o(StubCode)
-    CPolicyServer::Extension_(unsigned, void*&, void*) 0x00008a70   ARM Code       0  euser{000a0000}-2120.o(StubCode)
-    CBase::Extension_(unsigned, void*&, void*) 0x00008a78   ARM Code       0  euser{000a0000}-2123.o(StubCode)
-    CSession2::Extension_(unsigned, void*&, void*) 0x00008a80   ARM Code       0  euser{000a0000}-2131.o(StubCode)
-    RPointerArrayBase::Reset()               0x00008a88   ARM Code       0  euser{000a0000}-471.o(StubCode)
-    RPointerArrayBase::Remove(int)           0x00008a90   ARM Code       0  euser{000a0000}-474.o(StubCode)
-    RPointerArrayBase::RPointerArrayBase()   0x00008a98   ARM Code       0  euser{000a0000}-481.o(StubCode)
-    User::HandleException(void*)             0x00008aa0   ARM Code       0  euser{000a0000}-613.o(StubCode)
-    User::Leave(int)                         0x00008aa8   ARM Code       0  euser{000a0000}-649.o(StubCode)
-    User::AllocZ(int)                        0x00008ab0   ARM Code       0  euser{000a0000}-652.o(StubCode)
-    User::AllocZL(int)                       0x00008ab8   ARM Code       0  euser{000a0000}-654.o(StubCode)
-    User::Invariant()                        0x00008ac0   ARM Code       0  euser{000a0000}-669.o(StubCode)
-    CIdle::NewL(int)                         0x00008ac8   ARM Code       0  euser{000a0000}-679.o(StubCode)
-    CIdle::Start(TCallBack)                  0x00008ad0   ARM Code       0  euser{000a0000}-681.o(StubCode)
-    TRect::TRect(const TSize&)               0x00008ad8   ARM Code       0  euser{000a0000}-838.o(StubCode)
-    CDesC16Array::AppendL(const TDesC16&)    0x00008ae0   ARM Code       0  bafl{000a0000}-43.o(StubCode)
-    CDesC16ArraySeg::CDesC16ArraySeg(int)    0x00008ae8   ARM Code       0  bafl{000a0000}-98.o(StubCode)
-    MCoeMessageObserver::MCoeMessageObserver_Reserved_1() 0x00008af0   ARM Code       0  cone{000a0000}-100.o(StubCode)
-    MCoeMessageObserver::MCoeMessageObserver_Reserved_2() 0x00008af8   ARM Code       0  cone{000a0000}-101.o(StubCode)
-    MCoeViewDeactivationObserver::MCoeViewDeactivationObserver_Reserved_1() 0x00008b00   ARM Code       0  cone{000a0000}-127.o(StubCode)
-    MCoeViewDeactivationObserver::MCoeViewDeactivationObserver_Reserved_2() 0x00008b08   ARM Code       0  cone{000a0000}-128.o(StubCode)
-    CCoeEnv::Static()                        0x00008b10   ARM Code       0  cone{000a0000}-182.o(StubCode)
-    CCoeAppUi::HandleKeyEventL(const TKeyEvent&, TEventCode) 0x00008b18   ARM Code       0  cone{000a0000}-210.o(StubCode)
-    CCoeAppUi::SetAndDrawFocus(int)          0x00008b20   ARM Code       0  cone{000a0000}-212.o(StubCode)
-    CCoeAppUi::HandleSwitchOnEventL(CCoeControl*) 0x00008b28   ARM Code       0  cone{000a0000}-220.o(StubCode)
-    CCoeAppUi::HelpContextL() const          0x00008b30   ARM Code       0  cone{000a0000}-351.o(StubCode)
-    CCoeAppUi::InputCapabilities() const     0x00008b38   ARM Code       0  cone{000a0000}-355.o(StubCode)
-    MObjectProvider::MObjectProvider_Reserved1() 0x00008b40   ARM Code       0  cone{000a0000}-638.o(StubCode)
-    MObjectProvider::MObjectProvider_Reserved2() 0x00008b48   ARM Code       0  cone{000a0000}-639.o(StubCode)
-    MCoeViewDeactivationObserver::MCoeViewDeactivationObserver__sub_object() 0x00008b50   ARM Code       0  cone{000a0000}-664.o(StubCode)
-    CCoeAppUi::FrameworkCallsRendezvous() const 0x00008b58   ARM Code       0  cone{000a0000}-676.o(StubCode)
-    CCoeAppUi::CCoeAppUi_Reserved_2()        0x00008b60   ARM Code       0  cone{000a0000}-677.o(StubCode)
-    CApaDocument::Capability() const         0x00008b68   ARM Code       0  apparc{000a0000}-121.o(StubCode)
-    CApaApplication::AppFullName() const     0x00008b70   ARM Code       0  apparc{000a0000}-132.o(StubCode)
-    TApaApplicationFactory::TApaApplicationFactory(CApaApplication*(*)()) 0x00008b78   ARM Code       0  apparc{000a0000}-171.o(StubCode)
-    CApaAppServer::CustomSecurityCheckL(const RMessage2&, int&, TSecurityInfo&) 0x00008b80   ARM Code       0  apparc{000a0000}-192.o(StubCode)
-    CApaAppServer::CApaAppServer()           0x00008b88   ARM Code       0  apparc{000a0000}-194.o(StubCode)
-    CApaAppServiceBase::SecurityCheckL(const RMessage2&, int&, TSecurityInfo&) 0x00008b90   ARM Code       0  apparc{000a0000}-202.o(StubCode)
-    CApaAppServer::NewSessionL(const TVersion&, const RMessage2&) const 0x00008b98   ARM Code       0  apparc{000a0000}-222.o(StubCode)
-    CApaAppServiceBase::ExtensionInterface(TUid, void*&) 0x00008ba0   ARM Code       0  apparc{000a0000}-232.o(StubCode)
-    CApaAppServer::CApaAppServer_Reserved1() 0x00008ba8   ARM Code       0  apparc{000a0000}-273.o(StubCode)
-    CApaAppServer::CApaAppServer_Reserved2() 0x00008bb0   ARM Code       0  apparc{000a0000}-274.o(StubCode)
-    CApaAppServer::DoConnect(const RMessage2&) 0x00008bb8   ARM Code       0  apparc{000a0000}-275.o(StubCode)
-    CApaApplication::CApaApplication_Reserved1() 0x00008bc0   ARM Code       0  apparc{000a0000}-279.o(StubCode)
-    CApaApplication::CApaApplication_Reserved2() 0x00008bc8   ARM Code       0  apparc{000a0000}-280.o(StubCode)
-    CApaAppServiceBase::Disconnect(const RMessage2&) 0x00008bd0   ARM Code       0  apparc{000a0000}-284.o(StubCode)
-    CApaAppServiceBase::CountResources()     0x00008bd8   ARM Code       0  apparc{000a0000}-285.o(StubCode)
-    CApaAppServiceBase::CApaAppServiceBase_Reserved1() 0x00008be0   ARM Code       0  apparc{000a0000}-286.o(StubCode)
-    CApaAppServiceBase::CApaAppServiceBase_Reserved2() 0x00008be8   ARM Code       0  apparc{000a0000}-287.o(StubCode)
-    CApaDocument::GlassPictureL()            0x00008bf0   ARM Code       0  apparc{000a0000}-30.o(StubCode)
-    thunk{-20} to CEikDocument::SaveL(MSaveObserver::TSaveType) 0x00008bf8   ARM Code       0  eikcore{000a0000}-141.o(StubCode)
-    CEikAppUi::Reserved_3()                  0x00008c00   ARM Code       0  eikcore{000a0000}-142.o(StubCode)
-    CEikAppUi::Reserved_4()                  0x00008c08   ARM Code       0  eikcore{000a0000}-143.o(StubCode)
-    CEikAppUi::CreateFileL(const TDesC16&)   0x00008c10   ARM Code       0  eikcore{000a0000}-144.o(StubCode)
-    CEikAppUi::SetEmphasis(CCoeControl*, int) 0x00008c18   ARM Code       0  eikcore{000a0000}-147.o(StubCode)
-    CEikAppUi::HandleMessageL(unsigned long, TUid, const TDesC8&) 0x00008c20   ARM Code       0  eikcore{000a0000}-152.o(StubCode)
-    CEikAppUi::ProcessMessageL(TUid, const TDesC8&) 0x00008c28   ARM Code       0  eikcore{000a0000}-155.o(StubCode)
-    CEikAppUi::HandleModelChangeL()          0x00008c30   ARM Code       0  eikcore{000a0000}-158.o(StubCode)
-    CEikAppUi::HandleSideBarMenuL(int, const TPoint&, int, const CEikHotKeyTable*) 0x00008c38   ARM Code       0  eikcore{000a0000}-159.o(StubCode)
-    CEikAppUi::StopDisplayingMenuBar()       0x00008c40   ARM Code       0  eikcore{000a0000}-166.o(StubCode)
-    CEikAppUi::ProcessCommandParametersL(TApaCommand, TBuf<(int)256>&, const TDesC8&) 0x00008c48   ARM Code       0  eikcore{000a0000}-169.o(StubCode)
-    CEikAppUi::ReportResourceChangedToAppL(int) 0x00008c50   ARM Code       0  eikcore{000a0000}-171.o(StubCode)
-    CEikAppUi::OpenFileL(const TDesC16&)     0x00008c58   ARM Code       0  eikcore{000a0000}-175.o(StubCode)
-    CEikDocument::Reserved_2()               0x00008c60   ARM Code       0  eikcore{000a0000}-18.o(StubCode)
-    CEikDocument::NewDocumentL()             0x00008c68   ARM Code       0  eikcore{000a0000}-20.o(StubCode)
-    CEikDocument::UpdateTaskNameL(CApaWindowGroupName*) 0x00008c70   ARM Code       0  eikcore{000a0000}-25.o(StubCode)
-    CEikDocument::CreateFileStoreLC(RFs&, const TDesC16&) 0x00008c78   ARM Code       0  eikcore{000a0000}-26.o(StubCode)
-    CEikDocument::EditL(MApaEmbeddedDocObserver*, int) 0x00008c80   ARM Code       0  eikcore{000a0000}-27.o(StubCode)
-    CEikDocument::SaveL(MSaveObserver::TSaveType) 0x00008c88   ARM Code       0  eikcore{000a0000}-28.o(StubCode)
-    CEikDocument::SaveL()                    0x00008c90   ARM Code       0  eikcore{000a0000}-29.o(StubCode)
-    CEikDocument::HasChanged() const         0x00008c98   ARM Code       0  eikcore{000a0000}-291.o(StubCode)
-    CEikDocument::ExternalizeL(RWriteStream&) const 0x00008ca0   ARM Code       0  eikcore{000a0000}-293.o(StubCode)
-    CEikDocument::StoreL(CStreamStore&, CStreamDictionary&) const 0x00008ca8   ARM Code       0  eikcore{000a0000}-294.o(StubCode)
-    CEikDocument::IsEmpty() const            0x00008cb0   ARM Code       0  eikcore{000a0000}-295.o(StubCode)
-    CEikApplication::Capability(TDes8&) const 0x00008cb8   ARM Code       0  eikcore{000a0000}-296.o(StubCode)
-    CEikApplication::OpenIniFileLC(RFs&) const 0x00008cc0   ARM Code       0  eikcore{000a0000}-297.o(StubCode)
-    CEikApplication::BitmapStoreName() const 0x00008cc8   ARM Code       0  eikcore{000a0000}-298.o(StubCode)
-    CEikApplication::ResourceFileName() const 0x00008cd0   ARM Code       0  eikcore{000a0000}-299.o(StubCode)
-    CEikDocument::PrintL(const CStreamStore&) 0x00008cd8   ARM Code       0  eikcore{000a0000}-30.o(StubCode)
-    CEikApplication::GetDefaultDocumentFileName(TBuf<(int)256>&) const 0x00008ce0   ARM Code       0  eikcore{000a0000}-302.o(StubCode)
-    CEikDocument::RestoreL(const CStreamStore&, const CStreamDictionary&) 0x00008ce8   ARM Code       0  eikcore{000a0000}-31.o(StubCode)
-    CEikAppUi::ValidFileType(TUid) const     0x00008cf0   ARM Code       0  eikcore{000a0000}-317.o(StubCode)
-    CEikonEnv::DenseFont() const             0x00008cf8   ARM Code       0  eikcore{000a0000}-352.o(StubCode)
-    CEikDocument::~CEikDocument__sub_object() 0x00008d00   ARM Code       0  eikcore{000a0000}-37.o(StubCode)
-    thunk{-36} to CEikAppUi::HandleMessageL(unsigned long, TUid, const TDesC8&) 0x00008d08   ARM Code       0  eikcore{000a0000}-390.o(StubCode)
-    thunk{-40} to CEikAppUi::MopNext()       0x00008d10   ARM Code       0  eikcore{000a0000}-392.o(StubCode)
-    EikStart::RunApplication(TApaApplicationFactory) 0x00008d18   ARM Code       0  eikcore{000a0000}-394.o(StubCode)
-    CEikAppServer::ExtensionInterface(TUid, void*&) 0x00008d20   ARM Code       0  eikcore{000a0000}-467.o(StubCode)
-    CEikAppUi::MopNext()                     0x00008d28   ARM Code       0  eikcore{000a0000}-479.o(StubCode)
-    thunk{-24} to CEikAppUi::HandleSideBarMenuL(int, const TPoint&, int, const CEikHotKeyTable*) 0x00008d30   ARM Code       0  eikcore{000a0000}-490.o(StubCode)
-    CEikAppUi::ProcessCommandParametersL(CApaCommandLine&) 0x00008d38   ARM Code       0  eikcore{000a0000}-506.o(StubCode)
-    CEikAppServer::CreateServiceSecurityCheckL(TUid, const RMessage2&, int&, TSecurityInfo&) 0x00008d40   ARM Code       0  eikcore{000a0000}-523.o(StubCode)
-    CEikApplication::CEikApplication_Reserved1() 0x00008d48   ARM Code       0  eikcore{000a0000}-532.o(StubCode)
-    CEikApplication::CEikApplication_Reserved2() 0x00008d50   ARM Code       0  eikcore{000a0000}-533.o(StubCode)
-    MEikMenuObserver::Reserved_2_MenuObserver() 0x00008d58   ARM Code       0  eikcore{000a0000}-534.o(StubCode)
-    MEikMenuObserver::CreateCustomCommandControlL(int) 0x00008d60   ARM Code       0  eikcore{000a0000}-535.o(StubCode)
-    MEikMenuObserver::MEikCommandObserver_Reserved1() 0x00008d68   ARM Code       0  eikcore{000a0000}-536.o(StubCode)
-    MEikMenuObserver::MEikCommandObserver_Reserved2() 0x00008d70   ARM Code       0  eikcore{000a0000}-537.o(StubCode)
-    CEikDocument::ValidatePasswordL() const  0x00008d78   ARM Code       0  eikcore{000a0000}-565.o(StubCode)
-    CEikApplication::CreateDocumentL(CApaProcess*) 0x00008d80   ARM Code       0  eikcore{000a0000}-61.o(StubCode)
-    CEikApplication::PreDocConstructL()      0x00008d88   ARM Code       0  eikcore{000a0000}-62.o(StubCode)
-    thunk{-24} to CEikAppUi::SetEmphasis(CCoeControl*, int) 0x00008d90   ARM Code       0  eikcore{000a0000}-63.o(StubCode)
-    CEikApplication::CEikApplication__sub_object() 0x00008d98   ARM Code       0  eikcore{000a0000}-64.o(StubCode)
-    CEikApplication::~CEikApplication__sub_object() 0x00008da0   ARM Code       0  eikcore{000a0000}-67.o(StubCode)
-    MEikMenuObserver::RestoreMenuL(CCoeControl*, int, MEikMenuObserver::TMenuType) 0x00008da8   ARM Code       0  eikcore{000a0000}-72.o(StubCode)
-    MEikMenuObserver::OfferKeyToAppL(const TKeyEvent&, TEventCode) 0x00008db0   ARM Code       0  eikcore{000a0000}-73.o(StubCode)
-    MEikMenuObserver::DynInitMenuBarL(int, CEikMenuBar*) 0x00008db8   ARM Code       0  eikcore{000a0000}-74.o(StubCode)
-    MEikMenuObserver::DynInitMenuPaneL(int, CEikMenuPane*) 0x00008dc0   ARM Code       0  eikcore{000a0000}-75.o(StubCode)
-    MEikMenuObserver::CheckHotKeyNotDimmedL(int) 0x00008dc8   ARM Code       0  eikcore{000a0000}-77.o(StubCode)
-    MEikMenuObserver::Reserved_1_MenuObserver() 0x00008dd0   ARM Code       0  eikcore{000a0000}-78.o(StubCode)
-    MEikMenuObserver::HandleAttemptDimmedSelectionL(int) 0x00008dd8   ARM Code       0  eikcore{000a0000}-79.o(StubCode)
-    RWindowTreeNode::SetOrdinalPosition(int) 0x00008de0   ARM Code       0  ws32{000a0000}-211.o(StubCode)
-    CFont::FontSpecInTwips() const           0x00008de8   ARM Code       0  gdi{000a0000}-312.o(StubCode)
-    CAknAppServiceBase::CreateL()            0x00008df0   ARM Code       0  avkon{000a0000}-1132.o(StubCode)
-    CAknDocument::OpenFileL(CFileStore*&, RFile&) 0x00008df8   ARM Code       0  avkon{000a0000}-129.o(StubCode)
-    CAknDocument::OpenFileL(int, const TDesC16&, RFs&) 0x00008e00   ARM Code       0  avkon{000a0000}-130.o(StubCode)
-    CAknDocument::CAknDocument__sub_object(CEikApplication&) 0x00008e08   ARM Code       0  avkon{000a0000}-131.o(StubCode)
-    CAknListQueryDialog::SetItemTextArray(MDesC16Array*) 0x00008e10   ARM Code       0  avkon{000a0000}-1350.o(StubCode)
-    CAknListQueryDialog::SetOwnershipType(TListBoxModelItemArrayOwnership) 0x00008e18   ARM Code       0  avkon{000a0000}-1351.o(StubCode)
-    CAknListQueryDialog::CAknListQueryDialog(int*) 0x00008e20   ARM Code       0  avkon{000a0000}-1366.o(StubCode)
-    CAknAppServer::ConstructL(const TDesC16&) 0x00008e28   ARM Code       0  avkon{000a0000}-198.o(StubCode)
-    CAknAppServer::HandleAllClientsClosed()  0x00008e30   ARM Code       0  avkon{000a0000}-199.o(StubCode)
-    CAknAppServer::~CAknAppServer()          0x00008e38   ARM Code       0  avkon{000a0000}-201.o(StubCode)
-    CAknAppUiBase::MopSupplyObject(TTypeUid) 0x00008e40   ARM Code       0  avkon{000a0000}-206.o(StubCode)
-    CAknAppUiBase::HandleResourceChangeL(int) 0x00008e48   ARM Code       0  avkon{000a0000}-211.o(StubCode)
-    CAknAppUiBase::HandleScreenDeviceChangedL() 0x00008e50   ARM Code       0  avkon{000a0000}-213.o(StubCode)
-    CAknAppUiBase::HandleApplicationSpecificEventL(int, const TWsEvent&) 0x00008e58   ARM Code       0  avkon{000a0000}-214.o(StubCode)
-    CAknAppUiBase::Exit()                    0x00008e60   ARM Code       0  avkon{000a0000}-215.o(StubCode)
-    CAknAppUiBase::SetFadedL(int)            0x00008e68   ARM Code       0  avkon{000a0000}-216.o(StubCode)
-    CAknAppUiBase::CAknAppUiBase()           0x00008e70   ARM Code       0  avkon{000a0000}-217.o(StubCode)
-    CAknAppUiBase::~CAknAppUiBase()          0x00008e78   ARM Code       0  avkon{000a0000}-220.o(StubCode)
-    CAknAppUi::HandleError(int, const SExtendedError&, TDes16&, TDes16&) 0x00008e80   ARM Code       0  avkon{000a0000}-2920.o(StubCode)
-    CAknAppUi::PrepareToExit()               0x00008e88   ARM Code       0  avkon{000a0000}-2922.o(StubCode)
-    CAknAppUi::BaseConstructL(int)           0x00008e90   ARM Code       0  avkon{000a0000}-2924.o(StubCode)
-    CAknAppUi::HandleWsEventL(const TWsEvent&, CCoeControl*) 0x00008e98   ARM Code       0  avkon{000a0000}-2925.o(StubCode)
-    CAknAppUi::ProcessCommandL(int)          0x00008ea0   ARM Code       0  avkon{000a0000}-2926.o(StubCode)
-    CAknAppUi::HandleSystemEventL(const TWsEvent&) 0x00008ea8   ARM Code       0  avkon{000a0000}-2928.o(StubCode)
-    CAknAppUi::Reserved_MtsmObject()         0x00008eb0   ARM Code       0  avkon{000a0000}-2929.o(StubCode)
-    CAknAppUi::Reserved_MtsmPosition()       0x00008eb8   ARM Code       0  avkon{000a0000}-2930.o(StubCode)
-    CAknAppUi::HandleForegroundEventL(int)   0x00008ec0   ARM Code       0  avkon{000a0000}-2931.o(StubCode)
-    CAknAppUi::HandleViewDeactivation(const TVwsViewId&, const TVwsViewId&) 0x00008ec8   ARM Code       0  avkon{000a0000}-2932.o(StubCode)
-    CAknAppUi::HandleTouchPaneSizeChange()   0x00008ed0   ARM Code       0  avkon{000a0000}-2934.o(StubCode)
-    CAknAppUi::HandleStatusPaneSizeChange()  0x00008ed8   ARM Code       0  avkon{000a0000}-2935.o(StubCode)
-    CAknAppUi::~CAknAppUi()                  0x00008ee0   ARM Code       0  avkon{000a0000}-2938.o(StubCode)
-    CAknAppServer::CreateServiceL(TUid) const 0x00008ee8   ARM Code       0  avkon{000a0000}-2993.o(StubCode)
-    CAknAppUiBase::ApplicationRect() const   0x00008ef0   ARM Code       0  avkon{000a0000}-2997.o(StubCode)
-    thunk{-100} to CAknAppUi::HandleTouchPaneSizeChange() 0x00008ef8   ARM Code       0  avkon{000a0000}-3826.o(StubCode)
-    thunk{-24} to CAknAppUi::ProcessCommandL(int) 0x00008f00   ARM Code       0  avkon{000a0000}-3862.o(StubCode)
-    thunk{-40} to CAknAppUiBase::MopSupplyObject(TTypeUid) 0x00008f08   ARM Code       0  avkon{000a0000}-3868.o(StubCode)
-    thunk{-88} to CAknAppUi::HandleStatusPaneSizeChange() 0x00008f10   ARM Code       0  avkon{000a0000}-4021.o(StubCode)
-    thunk{-92} to CAknAppUi::HandleViewDeactivation(const TVwsViewId&, const TVwsViewId&) 0x00008f18   ARM Code       0  avkon{000a0000}-4030.o(StubCode)
-    CPosLandmark::NewL(const CPosLandmark&)  0x00008f20   ARM Code       0  eposlandmarks{000a0000}-12.o(StubCode)
-    CPosLandmark::NewL()                     0x00008f28   ARM Code       0  eposlandmarks{000a0000}-13.o(StubCode)
-    CPosLandmark::GetPosition(TLocality&) const 0x00008f30   ARM Code       0  eposlandmarks{000a0000}-65.o(StubCode)
-    CPosLandmark::GetPositionField(unsigned short, TPtrC16&) const 0x00008f38   ARM Code       0  eposlandmarks{000a0000}-68.o(StubCode)
-    TLocality::TLocality()                   0x00008f40   ARM Code       0  lbs{000a0000}-207.o(StubCode)
-    TCoordinate::TCoordinate()               0x00008f48   ARM Code       0  lbs{000a0000}-23.o(StubCode)
-    CMnServiceBase::ServiceError(const RMessage2&, int) 0x00008f50   ARM Code       0  mnservicelib{000a0000}-1.o(StubCode)
-    CMnServiceBase::CompleteRequest(int)     0x00008f58   ARM Code       0  mnservicelib{000a0000}-2.o(StubCode)
-    CMnGeocodingServiceBase::BaseConstructL() 0x00008f60   ARM Code       0  mnservicelib{000a0000}-21.o(StubCode)
-    CMnGeocodingServiceBase::CompleteGeocodingRequestL(const CPosLandmark&) 0x00008f68   ARM Code       0  mnservicelib{000a0000}-22.o(StubCode)
-    CMnGeocodingServiceBase::ServiceL(const RMessage2&) 0x00008f70   ARM Code       0  mnservicelib{000a0000}-23.o(StubCode)
-    CMnGeocodingServiceBase::CMnGeocodingServiceBase__sub_object() 0x00008f78   ARM Code       0  mnservicelib{000a0000}-24.o(StubCode)
-    CMnGeocodingServiceBase::~CMnGeocodingServiceBase__sub_object() 0x00008f80   ARM Code       0  mnservicelib{000a0000}-27.o(StubCode)
-    CMnGeocodingServiceBase::Options() const 0x00008f88   ARM Code       0  mnservicelib{000a0000}-34.o(StubCode)
-    CMnMapImageServiceBase::BaseConstructL() 0x00008f90   ARM Code       0  mnservicelib{000a0000}-45.o(StubCode)
-    CMnMapImageServiceBase::MapImageParams() 0x00008f98   ARM Code       0  mnservicelib{000a0000}-46.o(StubCode)
-    CMnMapImageServiceBase::CompleteRendering() 0x00008fa0   ARM Code       0  mnservicelib{000a0000}-47.o(StubCode)
-    CMnMapImageServiceBase::ServiceL(const RMessage2&) 0x00008fa8   ARM Code       0  mnservicelib{000a0000}-49.o(StubCode)
-    CMnMapImageServiceBase::CMnMapImageServiceBase__sub_object() 0x00008fb0   ARM Code       0  mnservicelib{000a0000}-50.o(StubCode)
-    CMnMapImageServiceBase::~CMnMapImageServiceBase__sub_object() 0x00008fb8   ARM Code       0  mnservicelib{000a0000}-53.o(StubCode)
-    CMnMapImageServiceBase::TargetBitmap() const 0x00008fc0   ARM Code       0  mnservicelib{000a0000}-56.o(StubCode)
-    CMnrpEngine::BestCoordToAddressMatchesL(const TCoordinate&, RPointerArray<CPosLandmark>&, int) 0x00008fc8   ARM Code       0  mnrefproviderengine{000a0000}-10.o(StubCode)
-    CMnrpEngine::NewL()                      0x00008fd0   ARM Code       0  mnrefproviderengine{000a0000}-12.o(StubCode)
-    CMnrpMapModel::UpdateModelL(const CMnrpMapImageService&) 0x00008fd8   ARM Code       0  mnrefproviderengine{000a0000}-18.o(StubCode)
-    CMnrpMapModel::SetScreenSize(TSize)      0x00008fe0   ARM Code       0  mnrefproviderengine{000a0000}-19.o(StubCode)
-    CMnrpMapModel::NewL(CMnrpEngine&)        0x00008fe8   ARM Code       0  mnrefproviderengine{000a0000}-21.o(StubCode)
-    CMnrpEngine::AddressToCoordLC(const CPosLandmark&) 0x00008ff0   ARM Code       0  mnrefproviderengine{000a0000}-4.o(StubCode)
-    CMnrpEngine::AddressToCoordLC(const TDesC16&) 0x00008ff8   ARM Code       0  mnrefproviderengine{000a0000}-5.o(StubCode)
-    CMnrpMapModel::RenderL(CFbsBitmap&, TRect, CFont*, CFont*) const 0x00009000   ARM Code       0  mnrefproviderengine{000a0000}-54.o(StubCode)
-    CMnrpEngine::CoordToAddressLC(const TCoordinate&) 0x00009008   ARM Code       0  mnrefproviderengine{000a0000}-6.o(StubCode)
-    __aeabi_memclr4                          0x00009010   ARM Code       0  drtaeabi{000a0000}-144.o(StubCode)
-    __aeabi_unwind_cpp_pr0                   0x00009018   ARM Code       0  drtaeabi{000a0000}-158.o(StubCode)
-    __aeabi_unwind_cpp_pr1                   0x00009020   ARM Code       0  drtaeabi{000a0000}-159.o(StubCode)
-    __cxa_begin_catch                        0x00009028   ARM Code       0  drtaeabi{000a0000}-180.o(StubCode)
-    __cxa_call_unexpected                    0x00009030   ARM Code       0  drtaeabi{000a0000}-182.o(StubCode)
-    __cxa_end_catch                          0x00009038   ARM Code       0  drtaeabi{000a0000}-183.o(StubCode)
-    __cxa_end_cleanup                        0x00009040   ARM Code       0  drtaeabi{000a0000}-184.o(StubCode)
-    __cxa_pure_virtual                       0x00009048   ARM Code       0  drtaeabi{000a0000}-189.o(StubCode)
-    operator delete (void*)                  0x00009050   ARM Code       0  scppnwdl{000a0000}-3.o(StubCode)
-    UserHeap::SetupThreadHeap(int, SStdEpocThreadCreateInfo&) 0x00009058   ARM Code       0  euser{000a0000}-1360.o(StubCode)
-    User::Exit(int)                          0x00009060   ARM Code       0  euser{000a0000}-641.o(StubCode)
-    User::InitProcess()                      0x00009068   ARM Code       0  euser{000a0000}-585.o(StubCode)
-    User::Panic(const TDesC16&, int)         0x00009070   ARM Code       0  euser{000a0000}-650.o(StubCode)
-    TCppRTExceptionsGlobals::TCppRTExceptionsGlobals() 0x00009078   ARM Code       0  drtaeabi{000a0000}-204.o(StubCode)
-    CApaDocument::DetachFromStoreL(CPicture::TDetach) 0x00009081   Thumb Code     2  mnrefproviderback.in(i._ZN12CApaDocument16DetachFromStoreLEN8CPicture7TDetachE)
-    CMnrpAppUiBack::CMnrpAppUiBack()         0x00009085   Thumb Code    50  mnrefproviderback.in(i._ZN14CMnrpAppUiBackC1Ev)
-    CMnrpAppUiBack::CMnrpAppUiBack__sub_object() 0x00009085   Thumb Code     0  mnrefproviderback.in(i._ZN14CMnrpAppUiBackC1Ev)
-    CMnrpAppUiBack::~CMnrpAppUiBack__deallocating() 0x000090cb   Thumb Code    16  mnrefproviderback.in(i._ZN14CMnrpAppUiBackD0Ev)
-    CMnrpAppUiBack::~CMnrpAppUiBack()        0x000090db   Thumb Code     8  mnrefproviderback.in(i._ZN14CMnrpAppUiBackD1Ev)
-    CMnrpAppUiBack::~CMnrpAppUiBack__sub_object() 0x000090db   Thumb Code     0  mnrefproviderback.in(i._ZN14CMnrpAppUiBackD1Ev)
-    CMnrpDocumentBack::~CMnrpDocumentBack__deallocating() 0x000090e3   Thumb Code    16  mnrefproviderback.in(i._ZN17CMnrpDocumentBackD0Ev)
-    CMnrpDocumentBack::~CMnrpDocumentBack()  0x000090f3   Thumb Code     8  mnrefproviderback.in(i._ZN17CMnrpDocumentBackD1Ev)
-    CMnrpDocumentBack::~CMnrpDocumentBack__sub_object() 0x000090f3   Thumb Code     0  mnrefproviderback.in(i._ZN17CMnrpDocumentBackD1Ev)
-    CMnrpApplicationBack::~CMnrpApplicationBack__deallocating() 0x000090fb   Thumb Code    16  mnrefproviderback.in(i._ZN20CMnrpApplicationBackD0Ev)
-    CMnrpApplicationBack::~CMnrpApplicationBack() 0x0000910b   Thumb Code     8  mnrefproviderback.in(i._ZN20CMnrpApplicationBackD1Ev)
-    CMnrpApplicationBack::~CMnrpApplicationBack__sub_object() 0x0000910b   Thumb Code     0  mnrefproviderback.in(i._ZN20CMnrpApplicationBackD1Ev)
-    CBase::operator new(unsigned)            0x00009113   Thumb Code     8  mnrefproviderback.in(i._ZN5CBasenwEj)
-    RPointerArray<CPosLandmark>::Count() const 0x0000911b   Thumb Code     8  mnrefproviderback.in(t._ZNK13RPointerArrayI12CPosLandmarkE5CountEv)
-    typeinfo for CMnrpAppUiBack              0x0000923c   Data          12  mnrefproviderback.in(.constdata__ZTI14CMnrpAppUiBack)
-    typeinfo for CMnrpDocumentBack           0x00009248   Data          12  mnrefproviderback.in(.constdata__ZTI17CMnrpDocumentBack)
-    typeinfo for CMnrpAppServerBack          0x00009254   Data          12  mnrefproviderback.in(.constdata__ZTI18CMnrpAppServerBack)
-    typeinfo for CMnrpApplicationBack        0x00009260   Data          12  mnrefproviderback.in(.constdata__ZTI20CMnrpApplicationBack)
-    typeinfo for CMnrpMapImageService        0x0000926c   Data          12  mnrefproviderback.in(.constdata__ZTI20CMnrpMapImageService)
-    typeinfo for CMnrpGeocodingService       0x00009278   Data          12  mnrefproviderback.in(.constdata__ZTI21CMnrpGeocodingService)
-    typeinfo for MEikStatusPaneObserver      0x00009284   Data           8  mnrefproviderback.in(.constdata__ZTI22MEikStatusPaneObserver)
-    typeinfo name for CMnrpAppUiBack         0x0000928c   Data          17  mnrefproviderback.in(.constdata__ZTS14CMnrpAppUiBack)
-    typeinfo name for CMnrpDocumentBack      0x0000929d   Data          20  mnrefproviderback.in(.constdata__ZTS17CMnrpDocumentBack)
-    typeinfo name for CMnrpAppServerBack     0x000092b1   Data          21  mnrefproviderback.in(.constdata__ZTS18CMnrpAppServerBack)
-    typeinfo name for CMnrpApplicationBack   0x000092c6   Data          23  mnrefproviderback.in(.constdata__ZTS20CMnrpApplicationBack)
-    typeinfo name for CMnrpMapImageService   0x000092dd   Data          23  mnrefproviderback.in(.constdata__ZTS20CMnrpMapImageService)
-    typeinfo name for CMnrpGeocodingService  0x000092f4   Data          24  mnrefproviderback.in(.constdata__ZTS21CMnrpGeocodingService)
-    typeinfo name for MEikStatusPaneObserver 0x0000930c   Data          25  mnrefproviderback.in(.constdata__ZTS22MEikStatusPaneObserver)
-    vtable for CMnrpAppUiBack                0x00009328   Data         340  mnrefproviderback.in(.constdata__ZTV14CMnrpAppUiBack)
-    vtable for CMnrpDocumentBack             0x0000947c   Data         112  mnrefproviderback.in(.constdata__ZTV17CMnrpDocumentBack)
-    vtable for CMnrpAppServerBack            0x000094ec   Data          76  mnrefproviderback.in(.constdata__ZTV18CMnrpAppServerBack)
-    vtable for CMnrpApplicationBack          0x00009538   Data          80  mnrefproviderback.in(.constdata__ZTV20CMnrpApplicationBack)
-    vtable for CMnrpMapImageService          0x00009588   Data          64  mnrefproviderback.in(.constdata__ZTV20CMnrpMapImageService)
-    vtable for CMnrpGeocodingService         0x000095c8   Data          72  mnrefproviderback.in(.constdata__ZTV21CMnrpGeocodingService)
-    vtable for MEikStatusPaneObserver        0x00009610   Data          12  mnrefproviderback.in(.constdata__ZTV22MEikStatusPaneObserver)
-    SHT$$INIT_ARRAY$$Base                    0x0000961c   Number         0  mnrefproviderback.in(.init_array)
-    .ARM.exidx$$Base                         0x00009620   Number         0  uc_exe_.o(.ARM.exidx)
-    SHT$$INIT_ARRAY$$Limit                   0x00009620   Data           0  mnrefproviderback.in(.init_array)
-    .ARM.exidx$$Limit                        0x00009750   Number         0  mnrefproviderback.in(.ARM.exidx)
-    Image$$ER_RO$$Limit                      0x00009750   Number         0  anon$$obj.o(linker$$defined$$symbols)
-
Binary file locsrv_plat/map_image_conversion_plugin_api/tsrc/data/armv5/urel/mnrefproviderback.rsc has changed
Binary file locsrv_plat/map_image_conversion_plugin_api/tsrc/data/armv5/urel/mnrefproviderback_reg.rsc has changed
Binary file locsrv_plat/map_image_conversion_plugin_api/tsrc/data/armv5/urel/mnrefproviderengine.dll has changed
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/data/armv5/urel/mnrefproviderengine.dll.map	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1138 +0,0 @@
-ARM Linker, RVCT2.2 [Build 593]
-
-================================================================================
-
-Image Symbol Table
-
-    Local Symbols
-
-    Symbol Name                              Value     Ov Type        Size  Object(Section)
-
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-184.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-28.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  AknIcon{000a0000}-15.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  scppnwdl{000a0000}-3.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-303.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  AknIcon{000a0000}-16.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-5.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-304.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  AknIcon{000a0000}-21.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-55.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-47.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  gdi{000a0000}-311.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-57.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-48.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  gdi{000a0000}-314.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-6.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-49.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bitgdi{000a0000}-14.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-8.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-7.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bitgdi{000a0000}-44.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-9.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-8.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-12.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-12.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-82.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-14.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-19.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-83.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-15.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-2.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-87.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-4.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-20.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-97.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-50.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-22.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-10.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-51.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-23.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-13.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-56.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-24.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  mnservicelib{000a0000}-3.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-6.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-25.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-180.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-65.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-3.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-181.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-66.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-36.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-205.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-67.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-41.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-207.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-68.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-5.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-21.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-75.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  dfpaeabi{000a0000}-8.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-214.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-8.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-135.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-218.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  eposlandmarks{000a0000}-82.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-147.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-219.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-10.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-158.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-223.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-13.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-159.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-225.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-15.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-180.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-226.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-152.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  drtaeabi{000a0000}-183.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-23.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-167.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  AknIcon{000a0000}-11.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-476.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  lbs{000a0000}-17.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-838.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-48.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1090.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-839.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-481.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1091.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-841.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-49.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1094.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-936.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-50.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1116.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-953.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-55.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1119.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-960.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-551.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1171.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-966.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-593.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1172.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-968.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-649.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-120.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-973.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-654.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1507.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1051.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-669.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1510.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1059.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-81.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1590.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1073.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-824.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1593.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1074.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-826.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1625.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1088.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-207.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1646.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  efsrv{000a0000}-190.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-208.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1648.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  efsrv{000a0000}-200.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2082.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1649.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  efsrv{000a0000}-204.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-209.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1651.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  efsrv{000a0000}-68.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2123.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1753.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bafl{000a0000}-123.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2125.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1806.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bafl{000a0000}-124.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2128.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1815.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bafl{000a0000}-129.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-424.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1821.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bafl{000a0000}-141.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-46.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-1826.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bafl{000a0000}-145.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-984.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-203.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bafl{000a0000}-147.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  efsrv{000a0000}-115.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-205.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bafl{000a0000}-59.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  efsrv{000a0000}-118.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2060.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  bafl{000a0000}-62.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  efsrv{000a0000}-181.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-2061.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-472.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  efsrv{000a0000}-182.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-47.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-464.o ABSOLUTE
-    [Anonymous Symbol]                       0x00000000   Number         0  euser{000a0000}-471.o ABSOLUTE
-    M:/epoc32/build/apputils/c_da81efa927799d7f/bafl_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/bitgdi/c_92c016796215bf55/bitgdi_lib/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/compsupp/c_18558cc638e6e874/drtaeabi_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/gdi/c_5dab287815cadb7b/gdi_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/store/c_93a13d203e6d3ba7/estor_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/uigraphicsutils/c_d265b80414e63acf/egul_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:/epoc32/build/uikon/c_9cf7bef4a7562444/eikcore_dll/armv5/udeb\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    M:\\sf\\os\\kernelhwsrv\\kernel\\eka\\compsupp\\rvct2_2\\ucppinit_aeabi.cpp 0x00000000   Number         0  ucppinit_aeabi.o ABSOLUTE
-    M:\sf\os\kernelhwsrv\kernel\eka\compsupp\rvct2_2\ucppinit_aeabi.cpp 0x00000000   Number         0  ucppinit_aeabi.o ABSOLUTE
-    \EPOC32\BUILD\sf\app\location\mapnavproviderrefapp\group\MNREFENGINE\ARMV5\urel\mnrefproviderengine{000a0000}.s 0x00000000   Number         0  mnrefproviderengine{000a0000}.exp ABSOLUTE
-    \EPOC32\BUILD\sf\mw\locationsrv\group\EPOS_LANDMARKSCLIENTLIBRARY\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\locationsrv\group\MNCLIENTLIB\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\locationsrv\group\MNSERVICELIB\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\mw\uiresources\group\AKNICON\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\kernelhwsrv\kernel\eka\euser\EDLL\ARMV6_ABIV1\urel\uc_dll_.cpp 0x00000000   Number         0  uc_dll_.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\kernelhwsrv\kernel\eka\euser\EUSER\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\kernelhwsrv\userlibandfileserver\fileserver\group\EFSRV\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \EPOC32\BUILD\sf\os\lbs\locationmgmt\locationadmin\group\LBSAPIVARIANT2\ARMV5\VtblExports.s 0x00000000   Number         0  VtblExports.o ABSOLUTE
-    \\EPOC32\\BUILD\\sf\\os\\kernelhwsrv\\kernel\\eka\\euser\\EDLL\\ARMV6_ABIV1\\urel\\uc_dll_.cpp 0x00000000   Number         0  uc_dll_.o ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpengine.cpp 0x00000000   Number         0  mnrefproviderengine.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrpmapmodel.cpp 0x00000000   Number         0  mnrefproviderengine.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrppositionrequest.cpp 0x00000000   Number         0  mnrefproviderengine.in ABSOLUTE
-    \sf\app\location\mapnavproviderrefapp\src\mnrputils.cpp 0x00000000   Number         0  mnrefproviderengine.in ABSOLUTE
-    \sf\os\kernelhwsrv\kernel\eka\euser\epoc\arm\uc_dll.cpp 0x00000000   Number         0  uc_dll.o ABSOLUTE
-    .emb_text                                0x00008000   Section       40  uc_dll_.o(.emb_text)
-    .emb_text                                0x00008028   Section       72  ucppinit_aeabi.o(.emb_text)
-    skip                                     0x0000803c   ARM Code       0  ucppinit_aeabi.o(.emb_text)
-    loop                                     0x0000804c   ARM Code       0  ucppinit_aeabi.o(.emb_text)
-    fpinit                                   0x00008064   Data           0  ucppinit_aeabi.o(.emb_text)
-    base                                     0x00008068   Data           0  ucppinit_aeabi.o(.emb_text)
-    limit                                    0x0000806c   Data           0  ucppinit_aeabi.o(.emb_text)
-    .text                                    0x00008070   Section     1622  mnrefproviderengine.in(.text)
-    .text                                    0x000086c8   Section     5840  mnrefproviderengine.in(.text)
-    |L1.1020|                                0x00008ac4   Data           0  mnrefproviderengine.in(.text)
-    |L1.1028|                                0x00008acc   Data           0  mnrefproviderengine.in(.text)
-    |L1.1056|                                0x00008ae8   Data           0  mnrefproviderengine.in(.text)
-    |L1.1064|                                0x00008af0   Data           0  mnrefproviderengine.in(.text)
-    |L1.2128|                                0x00008f18   Data           0  mnrefproviderengine.in(.text)
-    |L1.2136|                                0x00008f20   Data           0  mnrefproviderengine.in(.text)
-    |L1.2148|                                0x00008f2c   Data           0  mnrefproviderengine.in(.text)
-    |L1.3444|                                0x0000943c   Data           0  mnrefproviderengine.in(.text)
-    .text                                    0x00009d98   Section      756  mnrefproviderengine.in(.text)
-    .text                                    0x0000a08c   Section     1120  mnrefproviderengine.in(.text)
-    .text                                    0x0000a4ec   Section       40  uc_dll.o(.text)
-    .text.clean                              0x0000a514   Section       38  mnrefproviderengine.in(.text.clean)
-    .text.clean                              0x0000a53a   Section       50  mnrefproviderengine.in(.text.clean)
-    .text.clean                              0x0000a56c   Section       20  mnrefproviderengine.in(.text.clean)
-    ExportTable                              0x0000a580   Section      256  mnrefproviderengine{000a0000}.exp(ExportTable)
-    StubCode                                 0x0000a680   Section        8  euser{000a0000}-1051.o(StubCode)
-    theImportedSymbol                        0x0000a684   Data           0  euser{000a0000}-1051.o(StubCode)
-    StubCode                                 0x0000a688   Section        8  euser{000a0000}-1059.o(StubCode)
-    theImportedSymbol                        0x0000a68c   Data           0  euser{000a0000}-1059.o(StubCode)
-    StubCode                                 0x0000a690   Section        8  euser{000a0000}-1073.o(StubCode)
-    theImportedSymbol                        0x0000a694   Data           0  euser{000a0000}-1073.o(StubCode)
-    StubCode                                 0x0000a698   Section        8  euser{000a0000}-1074.o(StubCode)
-    theImportedSymbol                        0x0000a69c   Data           0  euser{000a0000}-1074.o(StubCode)
-    StubCode                                 0x0000a6a0   Section        8  euser{000a0000}-1088.o(StubCode)
-    theImportedSymbol                        0x0000a6a4   Data           0  euser{000a0000}-1088.o(StubCode)
-    StubCode                                 0x0000a6a8   Section        8  euser{000a0000}-1090.o(StubCode)
-    theImportedSymbol                        0x0000a6ac   Data           0  euser{000a0000}-1090.o(StubCode)
-    StubCode                                 0x0000a6b0   Section        8  euser{000a0000}-1091.o(StubCode)
-    theImportedSymbol                        0x0000a6b4   Data           0  euser{000a0000}-1091.o(StubCode)
-    StubCode                                 0x0000a6b8   Section        8  euser{000a0000}-1094.o(StubCode)
-    theImportedSymbol                        0x0000a6bc   Data           0  euser{000a0000}-1094.o(StubCode)
-    StubCode                                 0x0000a6c0   Section        8  euser{000a0000}-1116.o(StubCode)
-    theImportedSymbol                        0x0000a6c4   Data           0  euser{000a0000}-1116.o(StubCode)
-    StubCode                                 0x0000a6c8   Section        8  euser{000a0000}-1119.o(StubCode)
-    theImportedSymbol                        0x0000a6cc   Data           0  euser{000a0000}-1119.o(StubCode)
-    StubCode                                 0x0000a6d0   Section        8  euser{000a0000}-1171.o(StubCode)
-    theImportedSymbol                        0x0000a6d4   Data           0  euser{000a0000}-1171.o(StubCode)
-    StubCode                                 0x0000a6d8   Section        8  euser{000a0000}-1172.o(StubCode)
-    theImportedSymbol                        0x0000a6dc   Data           0  euser{000a0000}-1172.o(StubCode)
-    StubCode                                 0x0000a6e0   Section        8  euser{000a0000}-120.o(StubCode)
-    theImportedSymbol                        0x0000a6e4   Data           0  euser{000a0000}-120.o(StubCode)
-    StubCode                                 0x0000a6e8   Section        8  euser{000a0000}-1507.o(StubCode)
-    theImportedSymbol                        0x0000a6ec   Data           0  euser{000a0000}-1507.o(StubCode)
-    StubCode                                 0x0000a6f0   Section        8  euser{000a0000}-1510.o(StubCode)
-    theImportedSymbol                        0x0000a6f4   Data           0  euser{000a0000}-1510.o(StubCode)
-    StubCode                                 0x0000a6f8   Section        8  euser{000a0000}-1590.o(StubCode)
-    theImportedSymbol                        0x0000a6fc   Data           0  euser{000a0000}-1590.o(StubCode)
-    StubCode                                 0x0000a700   Section        8  euser{000a0000}-1593.o(StubCode)
-    theImportedSymbol                        0x0000a704   Data           0  euser{000a0000}-1593.o(StubCode)
-    StubCode                                 0x0000a708   Section        8  euser{000a0000}-1625.o(StubCode)
-    theImportedSymbol                        0x0000a70c   Data           0  euser{000a0000}-1625.o(StubCode)
-    StubCode                                 0x0000a710   Section        8  euser{000a0000}-1646.o(StubCode)
-    theImportedSymbol                        0x0000a714   Data           0  euser{000a0000}-1646.o(StubCode)
-    StubCode                                 0x0000a718   Section        8  euser{000a0000}-1648.o(StubCode)
-    theImportedSymbol                        0x0000a71c   Data           0  euser{000a0000}-1648.o(StubCode)
-    StubCode                                 0x0000a720   Section        8  euser{000a0000}-1649.o(StubCode)
-    theImportedSymbol                        0x0000a724   Data           0  euser{000a0000}-1649.o(StubCode)
-    StubCode                                 0x0000a728   Section        8  euser{000a0000}-1651.o(StubCode)
-    theImportedSymbol                        0x0000a72c   Data           0  euser{000a0000}-1651.o(StubCode)
-    StubCode                                 0x0000a730   Section        8  euser{000a0000}-1753.o(StubCode)
-    theImportedSymbol                        0x0000a734   Data           0  euser{000a0000}-1753.o(StubCode)
-    StubCode                                 0x0000a738   Section        8  euser{000a0000}-1806.o(StubCode)
-    theImportedSymbol                        0x0000a73c   Data           0  euser{000a0000}-1806.o(StubCode)
-    StubCode                                 0x0000a740   Section        8  euser{000a0000}-1815.o(StubCode)
-    theImportedSymbol                        0x0000a744   Data           0  euser{000a0000}-1815.o(StubCode)
-    StubCode                                 0x0000a748   Section        8  euser{000a0000}-1821.o(StubCode)
-    theImportedSymbol                        0x0000a74c   Data           0  euser{000a0000}-1821.o(StubCode)
-    StubCode                                 0x0000a750   Section        8  euser{000a0000}-1826.o(StubCode)
-    theImportedSymbol                        0x0000a754   Data           0  euser{000a0000}-1826.o(StubCode)
-    StubCode                                 0x0000a758   Section        8  euser{000a0000}-203.o(StubCode)
-    theImportedSymbol                        0x0000a75c   Data           0  euser{000a0000}-203.o(StubCode)
-    StubCode                                 0x0000a760   Section        8  euser{000a0000}-205.o(StubCode)
-    theImportedSymbol                        0x0000a764   Data           0  euser{000a0000}-205.o(StubCode)
-    StubCode                                 0x0000a768   Section        8  euser{000a0000}-2060.o(StubCode)
-    theImportedSymbol                        0x0000a76c   Data           0  euser{000a0000}-2060.o(StubCode)
-    StubCode                                 0x0000a770   Section        8  euser{000a0000}-2061.o(StubCode)
-    theImportedSymbol                        0x0000a774   Data           0  euser{000a0000}-2061.o(StubCode)
-    StubCode                                 0x0000a778   Section        8  euser{000a0000}-207.o(StubCode)
-    theImportedSymbol                        0x0000a77c   Data           0  euser{000a0000}-207.o(StubCode)
-    StubCode                                 0x0000a780   Section        8  euser{000a0000}-208.o(StubCode)
-    theImportedSymbol                        0x0000a784   Data           0  euser{000a0000}-208.o(StubCode)
-    StubCode                                 0x0000a788   Section        8  euser{000a0000}-2082.o(StubCode)
-    theImportedSymbol                        0x0000a78c   Data           0  euser{000a0000}-2082.o(StubCode)
-    StubCode                                 0x0000a790   Section        8  euser{000a0000}-209.o(StubCode)
-    theImportedSymbol                        0x0000a794   Data           0  euser{000a0000}-209.o(StubCode)
-    StubCode                                 0x0000a798   Section        8  euser{000a0000}-2123.o(StubCode)
-    theImportedSymbol                        0x0000a79c   Data           0  euser{000a0000}-2123.o(StubCode)
-    StubCode                                 0x0000a7a0   Section        8  euser{000a0000}-2125.o(StubCode)
-    theImportedSymbol                        0x0000a7a4   Data           0  euser{000a0000}-2125.o(StubCode)
-    StubCode                                 0x0000a7a8   Section        8  euser{000a0000}-2128.o(StubCode)
-    theImportedSymbol                        0x0000a7ac   Data           0  euser{000a0000}-2128.o(StubCode)
-    StubCode                                 0x0000a7b0   Section        8  euser{000a0000}-424.o(StubCode)
-    theImportedSymbol                        0x0000a7b4   Data           0  euser{000a0000}-424.o(StubCode)
-    StubCode                                 0x0000a7b8   Section        8  euser{000a0000}-46.o(StubCode)
-    theImportedSymbol                        0x0000a7bc   Data           0  euser{000a0000}-46.o(StubCode)
-    StubCode                                 0x0000a7c0   Section        8  euser{000a0000}-464.o(StubCode)
-    theImportedSymbol                        0x0000a7c4   Data           0  euser{000a0000}-464.o(StubCode)
-    StubCode                                 0x0000a7c8   Section        8  euser{000a0000}-47.o(StubCode)
-    theImportedSymbol                        0x0000a7cc   Data           0  euser{000a0000}-47.o(StubCode)
-    StubCode                                 0x0000a7d0   Section        8  euser{000a0000}-471.o(StubCode)
-    theImportedSymbol                        0x0000a7d4   Data           0  euser{000a0000}-471.o(StubCode)
-    StubCode                                 0x0000a7d8   Section        8  euser{000a0000}-472.o(StubCode)
-    theImportedSymbol                        0x0000a7dc   Data           0  euser{000a0000}-472.o(StubCode)
-    StubCode                                 0x0000a7e0   Section        8  euser{000a0000}-476.o(StubCode)
-    theImportedSymbol                        0x0000a7e4   Data           0  euser{000a0000}-476.o(StubCode)
-    StubCode                                 0x0000a7e8   Section        8  euser{000a0000}-48.o(StubCode)
-    theImportedSymbol                        0x0000a7ec   Data           0  euser{000a0000}-48.o(StubCode)
-    StubCode                                 0x0000a7f0   Section        8  euser{000a0000}-481.o(StubCode)
-    theImportedSymbol                        0x0000a7f4   Data           0  euser{000a0000}-481.o(StubCode)
-    StubCode                                 0x0000a7f8   Section        8  euser{000a0000}-49.o(StubCode)
-    theImportedSymbol                        0x0000a7fc   Data           0  euser{000a0000}-49.o(StubCode)
-    StubCode                                 0x0000a800   Section        8  euser{000a0000}-50.o(StubCode)
-    theImportedSymbol                        0x0000a804   Data           0  euser{000a0000}-50.o(StubCode)
-    StubCode                                 0x0000a808   Section        8  euser{000a0000}-55.o(StubCode)
-    theImportedSymbol                        0x0000a80c   Data           0  euser{000a0000}-55.o(StubCode)
-    StubCode                                 0x0000a810   Section        8  euser{000a0000}-551.o(StubCode)
-    theImportedSymbol                        0x0000a814   Data           0  euser{000a0000}-551.o(StubCode)
-    StubCode                                 0x0000a818   Section        8  euser{000a0000}-593.o(StubCode)
-    theImportedSymbol                        0x0000a81c   Data           0  euser{000a0000}-593.o(StubCode)
-    StubCode                                 0x0000a820   Section        8  euser{000a0000}-649.o(StubCode)
-    theImportedSymbol                        0x0000a824   Data           0  euser{000a0000}-649.o(StubCode)
-    StubCode                                 0x0000a828   Section        8  euser{000a0000}-654.o(StubCode)
-    theImportedSymbol                        0x0000a82c   Data           0  euser{000a0000}-654.o(StubCode)
-    StubCode                                 0x0000a830   Section        8  euser{000a0000}-669.o(StubCode)
-    theImportedSymbol                        0x0000a834   Data           0  euser{000a0000}-669.o(StubCode)
-    StubCode                                 0x0000a838   Section        8  euser{000a0000}-81.o(StubCode)
-    theImportedSymbol                        0x0000a83c   Data           0  euser{000a0000}-81.o(StubCode)
-    StubCode                                 0x0000a840   Section        8  euser{000a0000}-824.o(StubCode)
-    theImportedSymbol                        0x0000a844   Data           0  euser{000a0000}-824.o(StubCode)
-    StubCode                                 0x0000a848   Section        8  euser{000a0000}-826.o(StubCode)
-    theImportedSymbol                        0x0000a84c   Data           0  euser{000a0000}-826.o(StubCode)
-    StubCode                                 0x0000a850   Section        8  euser{000a0000}-838.o(StubCode)
-    theImportedSymbol                        0x0000a854   Data           0  euser{000a0000}-838.o(StubCode)
-    StubCode                                 0x0000a858   Section        8  euser{000a0000}-839.o(StubCode)
-    theImportedSymbol                        0x0000a85c   Data           0  euser{000a0000}-839.o(StubCode)
-    StubCode                                 0x0000a860   Section        8  euser{000a0000}-841.o(StubCode)
-    theImportedSymbol                        0x0000a864   Data           0  euser{000a0000}-841.o(StubCode)
-    StubCode                                 0x0000a868   Section        8  euser{000a0000}-936.o(StubCode)
-    theImportedSymbol                        0x0000a86c   Data           0  euser{000a0000}-936.o(StubCode)
-    StubCode                                 0x0000a870   Section        8  euser{000a0000}-953.o(StubCode)
-    theImportedSymbol                        0x0000a874   Data           0  euser{000a0000}-953.o(StubCode)
-    StubCode                                 0x0000a878   Section        8  euser{000a0000}-960.o(StubCode)
-    theImportedSymbol                        0x0000a87c   Data           0  euser{000a0000}-960.o(StubCode)
-    StubCode                                 0x0000a880   Section        8  euser{000a0000}-966.o(StubCode)
-    theImportedSymbol                        0x0000a884   Data           0  euser{000a0000}-966.o(StubCode)
-    StubCode                                 0x0000a888   Section        8  euser{000a0000}-968.o(StubCode)
-    theImportedSymbol                        0x0000a88c   Data           0  euser{000a0000}-968.o(StubCode)
-    StubCode                                 0x0000a890   Section        8  euser{000a0000}-973.o(StubCode)
-    theImportedSymbol                        0x0000a894   Data           0  euser{000a0000}-973.o(StubCode)
-    StubCode                                 0x0000a898   Section        8  euser{000a0000}-984.o(StubCode)
-    theImportedSymbol                        0x0000a89c   Data           0  euser{000a0000}-984.o(StubCode)
-    StubCode                                 0x0000a8a0   Section        8  efsrv{000a0000}-115.o(StubCode)
-    theImportedSymbol                        0x0000a8a4   Data           0  efsrv{000a0000}-115.o(StubCode)
-    StubCode                                 0x0000a8a8   Section        8  efsrv{000a0000}-118.o(StubCode)
-    theImportedSymbol                        0x0000a8ac   Data           0  efsrv{000a0000}-118.o(StubCode)
-    StubCode                                 0x0000a8b0   Section        8  efsrv{000a0000}-181.o(StubCode)
-    theImportedSymbol                        0x0000a8b4   Data           0  efsrv{000a0000}-181.o(StubCode)
-    StubCode                                 0x0000a8b8   Section        8  efsrv{000a0000}-182.o(StubCode)
-    theImportedSymbol                        0x0000a8bc   Data           0  efsrv{000a0000}-182.o(StubCode)
-    StubCode                                 0x0000a8c0   Section        8  efsrv{000a0000}-190.o(StubCode)
-    theImportedSymbol                        0x0000a8c4   Data           0  efsrv{000a0000}-190.o(StubCode)
-    StubCode                                 0x0000a8c8   Section        8  efsrv{000a0000}-200.o(StubCode)
-    theImportedSymbol                        0x0000a8cc   Data           0  efsrv{000a0000}-200.o(StubCode)
-    StubCode                                 0x0000a8d0   Section        8  efsrv{000a0000}-204.o(StubCode)
-    theImportedSymbol                        0x0000a8d4   Data           0  efsrv{000a0000}-204.o(StubCode)
-    StubCode                                 0x0000a8d8   Section        8  efsrv{000a0000}-68.o(StubCode)
-    theImportedSymbol                        0x0000a8dc   Data           0  efsrv{000a0000}-68.o(StubCode)
-    StubCode                                 0x0000a8e0   Section        8  bafl{000a0000}-123.o(StubCode)
-    theImportedSymbol                        0x0000a8e4   Data           0  bafl{000a0000}-123.o(StubCode)
-    StubCode                                 0x0000a8e8   Section        8  bafl{000a0000}-124.o(StubCode)
-    theImportedSymbol                        0x0000a8ec   Data           0  bafl{000a0000}-124.o(StubCode)
-    StubCode                                 0x0000a8f0   Section        8  bafl{000a0000}-129.o(StubCode)
-    theImportedSymbol                        0x0000a8f4   Data           0  bafl{000a0000}-129.o(StubCode)
-    StubCode                                 0x0000a8f8   Section        8  bafl{000a0000}-141.o(StubCode)
-    theImportedSymbol                        0x0000a8fc   Data           0  bafl{000a0000}-141.o(StubCode)
-    StubCode                                 0x0000a900   Section        8  bafl{000a0000}-145.o(StubCode)
-    theImportedSymbol                        0x0000a904   Data           0  bafl{000a0000}-145.o(StubCode)
-    StubCode                                 0x0000a908   Section        8  bafl{000a0000}-147.o(StubCode)
-    theImportedSymbol                        0x0000a90c   Data           0  bafl{000a0000}-147.o(StubCode)
-    StubCode                                 0x0000a910   Section        8  bafl{000a0000}-59.o(StubCode)
-    theImportedSymbol                        0x0000a914   Data           0  bafl{000a0000}-59.o(StubCode)
-    StubCode                                 0x0000a918   Section        8  bafl{000a0000}-62.o(StubCode)
-    theImportedSymbol                        0x0000a91c   Data           0  bafl{000a0000}-62.o(StubCode)
-    StubCode                                 0x0000a920   Section        8  AknIcon{000a0000}-11.o(StubCode)
-    theImportedSymbol                        0x0000a924   Data           0  AknIcon{000a0000}-11.o(StubCode)
-    StubCode                                 0x0000a928   Section        8  AknIcon{000a0000}-15.o(StubCode)
-    theImportedSymbol                        0x0000a92c   Data           0  AknIcon{000a0000}-15.o(StubCode)
-    StubCode                                 0x0000a930   Section        8  AknIcon{000a0000}-16.o(StubCode)
-    theImportedSymbol                        0x0000a934   Data           0  AknIcon{000a0000}-16.o(StubCode)
-    StubCode                                 0x0000a938   Section        8  AknIcon{000a0000}-21.o(StubCode)
-    theImportedSymbol                        0x0000a93c   Data           0  AknIcon{000a0000}-21.o(StubCode)
-    StubCode                                 0x0000a940   Section        8  gdi{000a0000}-311.o(StubCode)
-    theImportedSymbol                        0x0000a944   Data           0  gdi{000a0000}-311.o(StubCode)
-    StubCode                                 0x0000a948   Section        8  gdi{000a0000}-314.o(StubCode)
-    theImportedSymbol                        0x0000a94c   Data           0  gdi{000a0000}-314.o(StubCode)
-    StubCode                                 0x0000a950   Section        8  bitgdi{000a0000}-14.o(StubCode)
-    theImportedSymbol                        0x0000a954   Data           0  bitgdi{000a0000}-14.o(StubCode)
-    StubCode                                 0x0000a958   Section        8  bitgdi{000a0000}-44.o(StubCode)
-    theImportedSymbol                        0x0000a95c   Data           0  bitgdi{000a0000}-44.o(StubCode)
-    StubCode                                 0x0000a960   Section        8  eposlandmarks{000a0000}-12.o(StubCode)
-    theImportedSymbol                        0x0000a964   Data           0  eposlandmarks{000a0000}-12.o(StubCode)
-    StubCode                                 0x0000a968   Section        8  eposlandmarks{000a0000}-14.o(StubCode)
-    theImportedSymbol                        0x0000a96c   Data           0  eposlandmarks{000a0000}-14.o(StubCode)
-    StubCode                                 0x0000a970   Section        8  eposlandmarks{000a0000}-15.o(StubCode)
-    theImportedSymbol                        0x0000a974   Data           0  eposlandmarks{000a0000}-15.o(StubCode)
-    StubCode                                 0x0000a978   Section        8  eposlandmarks{000a0000}-4.o(StubCode)
-    theImportedSymbol                        0x0000a97c   Data           0  eposlandmarks{000a0000}-4.o(StubCode)
-    StubCode                                 0x0000a980   Section        8  eposlandmarks{000a0000}-50.o(StubCode)
-    theImportedSymbol                        0x0000a984   Data           0  eposlandmarks{000a0000}-50.o(StubCode)
-    StubCode                                 0x0000a988   Section        8  eposlandmarks{000a0000}-51.o(StubCode)
-    theImportedSymbol                        0x0000a98c   Data           0  eposlandmarks{000a0000}-51.o(StubCode)
-    StubCode                                 0x0000a990   Section        8  eposlandmarks{000a0000}-56.o(StubCode)
-    theImportedSymbol                        0x0000a994   Data           0  eposlandmarks{000a0000}-56.o(StubCode)
-    StubCode                                 0x0000a998   Section        8  eposlandmarks{000a0000}-6.o(StubCode)
-    theImportedSymbol                        0x0000a99c   Data           0  eposlandmarks{000a0000}-6.o(StubCode)
-    StubCode                                 0x0000a9a0   Section        8  eposlandmarks{000a0000}-65.o(StubCode)
-    theImportedSymbol                        0x0000a9a4   Data           0  eposlandmarks{000a0000}-65.o(StubCode)
-    StubCode                                 0x0000a9a8   Section        8  eposlandmarks{000a0000}-66.o(StubCode)
-    theImportedSymbol                        0x0000a9ac   Data           0  eposlandmarks{000a0000}-66.o(StubCode)
-    StubCode                                 0x0000a9b0   Section        8  eposlandmarks{000a0000}-67.o(StubCode)
-    theImportedSymbol                        0x0000a9b4   Data           0  eposlandmarks{000a0000}-67.o(StubCode)
-    StubCode                                 0x0000a9b8   Section        8  eposlandmarks{000a0000}-68.o(StubCode)
-    theImportedSymbol                        0x0000a9bc   Data           0  eposlandmarks{000a0000}-68.o(StubCode)
-    StubCode                                 0x0000a9c0   Section        8  eposlandmarks{000a0000}-75.o(StubCode)
-    theImportedSymbol                        0x0000a9c4   Data           0  eposlandmarks{000a0000}-75.o(StubCode)
-    StubCode                                 0x0000a9c8   Section        8  eposlandmarks{000a0000}-8.o(StubCode)
-    theImportedSymbol                        0x0000a9cc   Data           0  eposlandmarks{000a0000}-8.o(StubCode)
-    StubCode                                 0x0000a9d0   Section        8  eposlandmarks{000a0000}-82.o(StubCode)
-    theImportedSymbol                        0x0000a9d4   Data           0  eposlandmarks{000a0000}-82.o(StubCode)
-    StubCode                                 0x0000a9d8   Section        8  lbs{000a0000}-10.o(StubCode)
-    theImportedSymbol                        0x0000a9dc   Data           0  lbs{000a0000}-10.o(StubCode)
-    StubCode                                 0x0000a9e0   Section        8  lbs{000a0000}-13.o(StubCode)
-    theImportedSymbol                        0x0000a9e4   Data           0  lbs{000a0000}-13.o(StubCode)
-    StubCode                                 0x0000a9e8   Section        8  lbs{000a0000}-15.o(StubCode)
-    theImportedSymbol                        0x0000a9ec   Data           0  lbs{000a0000}-15.o(StubCode)
-    StubCode                                 0x0000a9f0   Section        8  lbs{000a0000}-152.o(StubCode)
-    theImportedSymbol                        0x0000a9f4   Data           0  lbs{000a0000}-152.o(StubCode)
-    StubCode                                 0x0000a9f8   Section        8  lbs{000a0000}-167.o(StubCode)
-    theImportedSymbol                        0x0000a9fc   Data           0  lbs{000a0000}-167.o(StubCode)
-    StubCode                                 0x0000aa00   Section        8  lbs{000a0000}-17.o(StubCode)
-    theImportedSymbol                        0x0000aa04   Data           0  lbs{000a0000}-17.o(StubCode)
-    StubCode                                 0x0000aa08   Section        8  lbs{000a0000}-180.o(StubCode)
-    theImportedSymbol                        0x0000aa0c   Data           0  lbs{000a0000}-180.o(StubCode)
-    StubCode                                 0x0000aa10   Section        8  lbs{000a0000}-181.o(StubCode)
-    theImportedSymbol                        0x0000aa14   Data           0  lbs{000a0000}-181.o(StubCode)
-    StubCode                                 0x0000aa18   Section        8  lbs{000a0000}-205.o(StubCode)
-    theImportedSymbol                        0x0000aa1c   Data           0  lbs{000a0000}-205.o(StubCode)
-    StubCode                                 0x0000aa20   Section        8  lbs{000a0000}-207.o(StubCode)
-    theImportedSymbol                        0x0000aa24   Data           0  lbs{000a0000}-207.o(StubCode)
-    StubCode                                 0x0000aa28   Section        8  lbs{000a0000}-21.o(StubCode)
-    theImportedSymbol                        0x0000aa2c   Data           0  lbs{000a0000}-21.o(StubCode)
-    StubCode                                 0x0000aa30   Section        8  lbs{000a0000}-214.o(StubCode)
-    theImportedSymbol                        0x0000aa34   Data           0  lbs{000a0000}-214.o(StubCode)
-    StubCode                                 0x0000aa38   Section        8  lbs{000a0000}-218.o(StubCode)
-    theImportedSymbol                        0x0000aa3c   Data           0  lbs{000a0000}-218.o(StubCode)
-    StubCode                                 0x0000aa40   Section        8  lbs{000a0000}-219.o(StubCode)
-    theImportedSymbol                        0x0000aa44   Data           0  lbs{000a0000}-219.o(StubCode)
-    StubCode                                 0x0000aa48   Section        8  lbs{000a0000}-223.o(StubCode)
-    theImportedSymbol                        0x0000aa4c   Data           0  lbs{000a0000}-223.o(StubCode)
-    StubCode                                 0x0000aa50   Section        8  lbs{000a0000}-225.o(StubCode)
-    theImportedSymbol                        0x0000aa54   Data           0  lbs{000a0000}-225.o(StubCode)
-    StubCode                                 0x0000aa58   Section        8  lbs{000a0000}-226.o(StubCode)
-    theImportedSymbol                        0x0000aa5c   Data           0  lbs{000a0000}-226.o(StubCode)
-    StubCode                                 0x0000aa60   Section        8  lbs{000a0000}-23.o(StubCode)
-    theImportedSymbol                        0x0000aa64   Data           0  lbs{000a0000}-23.o(StubCode)
-    StubCode                                 0x0000aa68   Section        8  lbs{000a0000}-28.o(StubCode)
-    theImportedSymbol                        0x0000aa6c   Data           0  lbs{000a0000}-28.o(StubCode)
-    StubCode                                 0x0000aa70   Section        8  lbs{000a0000}-303.o(StubCode)
-    theImportedSymbol                        0x0000aa74   Data           0  lbs{000a0000}-303.o(StubCode)
-    StubCode                                 0x0000aa78   Section        8  lbs{000a0000}-304.o(StubCode)
-    theImportedSymbol                        0x0000aa7c   Data           0  lbs{000a0000}-304.o(StubCode)
-    StubCode                                 0x0000aa80   Section        8  lbs{000a0000}-47.o(StubCode)
-    theImportedSymbol                        0x0000aa84   Data           0  lbs{000a0000}-47.o(StubCode)
-    StubCode                                 0x0000aa88   Section        8  lbs{000a0000}-48.o(StubCode)
-    theImportedSymbol                        0x0000aa8c   Data           0  lbs{000a0000}-48.o(StubCode)
-    StubCode                                 0x0000aa90   Section        8  lbs{000a0000}-49.o(StubCode)
-    theImportedSymbol                        0x0000aa94   Data           0  lbs{000a0000}-49.o(StubCode)
-    StubCode                                 0x0000aa98   Section        8  lbs{000a0000}-7.o(StubCode)
-    theImportedSymbol                        0x0000aa9c   Data           0  lbs{000a0000}-7.o(StubCode)
-    StubCode                                 0x0000aaa0   Section        8  lbs{000a0000}-8.o(StubCode)
-    theImportedSymbol                        0x0000aaa4   Data           0  lbs{000a0000}-8.o(StubCode)
-    StubCode                                 0x0000aaa8   Section        8  lbs{000a0000}-82.o(StubCode)
-    theImportedSymbol                        0x0000aaac   Data           0  lbs{000a0000}-82.o(StubCode)
-    StubCode                                 0x0000aab0   Section        8  lbs{000a0000}-83.o(StubCode)
-    theImportedSymbol                        0x0000aab4   Data           0  lbs{000a0000}-83.o(StubCode)
-    StubCode                                 0x0000aab8   Section        8  lbs{000a0000}-87.o(StubCode)
-    theImportedSymbol                        0x0000aabc   Data           0  lbs{000a0000}-87.o(StubCode)
-    StubCode                                 0x0000aac0   Section        8  lbs{000a0000}-97.o(StubCode)
-    theImportedSymbol                        0x0000aac4   Data           0  lbs{000a0000}-97.o(StubCode)
-    StubCode                                 0x0000aac8   Section        8  mnservicelib{000a0000}-10.o(StubCode)
-    theImportedSymbol                        0x0000aacc   Data           0  mnservicelib{000a0000}-10.o(StubCode)
-    StubCode                                 0x0000aad0   Section        8  mnservicelib{000a0000}-13.o(StubCode)
-    theImportedSymbol                        0x0000aad4   Data           0  mnservicelib{000a0000}-13.o(StubCode)
-    StubCode                                 0x0000aad8   Section        8  mnservicelib{000a0000}-3.o(StubCode)
-    theImportedSymbol                        0x0000aadc   Data           0  mnservicelib{000a0000}-3.o(StubCode)
-    StubCode                                 0x0000aae0   Section        8  mnservicelib{000a0000}-5.o(StubCode)
-    theImportedSymbol                        0x0000aae4   Data           0  mnservicelib{000a0000}-5.o(StubCode)
-    StubCode                                 0x0000aae8   Section        8  mnservicelib{000a0000}-55.o(StubCode)
-    theImportedSymbol                        0x0000aaec   Data           0  mnservicelib{000a0000}-55.o(StubCode)
-    StubCode                                 0x0000aaf0   Section        8  mnservicelib{000a0000}-57.o(StubCode)
-    theImportedSymbol                        0x0000aaf4   Data           0  mnservicelib{000a0000}-57.o(StubCode)
-    StubCode                                 0x0000aaf8   Section        8  mnservicelib{000a0000}-6.o(StubCode)
-    theImportedSymbol                        0x0000aafc   Data           0  mnservicelib{000a0000}-6.o(StubCode)
-    StubCode                                 0x0000ab00   Section        8  mnservicelib{000a0000}-8.o(StubCode)
-    theImportedSymbol                        0x0000ab04   Data           0  mnservicelib{000a0000}-8.o(StubCode)
-    StubCode                                 0x0000ab08   Section        8  mnservicelib{000a0000}-9.o(StubCode)
-    theImportedSymbol                        0x0000ab0c   Data           0  mnservicelib{000a0000}-9.o(StubCode)
-    StubCode                                 0x0000ab10   Section        8  dfpaeabi{000a0000}-12.o(StubCode)
-    theImportedSymbol                        0x0000ab14   Data           0  dfpaeabi{000a0000}-12.o(StubCode)
-    StubCode                                 0x0000ab18   Section        8  dfpaeabi{000a0000}-19.o(StubCode)
-    theImportedSymbol                        0x0000ab1c   Data           0  dfpaeabi{000a0000}-19.o(StubCode)
-    StubCode                                 0x0000ab20   Section        8  dfpaeabi{000a0000}-2.o(StubCode)
-    theImportedSymbol                        0x0000ab24   Data           0  dfpaeabi{000a0000}-2.o(StubCode)
-    StubCode                                 0x0000ab28   Section        8  dfpaeabi{000a0000}-20.o(StubCode)
-    theImportedSymbol                        0x0000ab2c   Data           0  dfpaeabi{000a0000}-20.o(StubCode)
-    StubCode                                 0x0000ab30   Section        8  dfpaeabi{000a0000}-22.o(StubCode)
-    theImportedSymbol                        0x0000ab34   Data           0  dfpaeabi{000a0000}-22.o(StubCode)
-    StubCode                                 0x0000ab38   Section        8  dfpaeabi{000a0000}-23.o(StubCode)
-    theImportedSymbol                        0x0000ab3c   Data           0  dfpaeabi{000a0000}-23.o(StubCode)
-    StubCode                                 0x0000ab40   Section        8  dfpaeabi{000a0000}-24.o(StubCode)
-    theImportedSymbol                        0x0000ab44   Data           0  dfpaeabi{000a0000}-24.o(StubCode)
-    StubCode                                 0x0000ab48   Section        8  dfpaeabi{000a0000}-25.o(StubCode)
-    theImportedSymbol                        0x0000ab4c   Data           0  dfpaeabi{000a0000}-25.o(StubCode)
-    StubCode                                 0x0000ab50   Section        8  dfpaeabi{000a0000}-3.o(StubCode)
-    theImportedSymbol                        0x0000ab54   Data           0  dfpaeabi{000a0000}-3.o(StubCode)
-    StubCode                                 0x0000ab58   Section        8  dfpaeabi{000a0000}-36.o(StubCode)
-    theImportedSymbol                        0x0000ab5c   Data           0  dfpaeabi{000a0000}-36.o(StubCode)
-    StubCode                                 0x0000ab60   Section        8  dfpaeabi{000a0000}-41.o(StubCode)
-    theImportedSymbol                        0x0000ab64   Data           0  dfpaeabi{000a0000}-41.o(StubCode)
-    StubCode                                 0x0000ab68   Section        8  dfpaeabi{000a0000}-5.o(StubCode)
-    theImportedSymbol                        0x0000ab6c   Data           0  dfpaeabi{000a0000}-5.o(StubCode)
-    StubCode                                 0x0000ab70   Section        8  dfpaeabi{000a0000}-8.o(StubCode)
-    theImportedSymbol                        0x0000ab74   Data           0  dfpaeabi{000a0000}-8.o(StubCode)
-    StubCode                                 0x0000ab78   Section        8  drtaeabi{000a0000}-135.o(StubCode)
-    theImportedSymbol                        0x0000ab7c   Data           0  drtaeabi{000a0000}-135.o(StubCode)
-    StubCode                                 0x0000ab80   Section        8  drtaeabi{000a0000}-147.o(StubCode)
-    theImportedSymbol                        0x0000ab84   Data           0  drtaeabi{000a0000}-147.o(StubCode)
-    StubCode                                 0x0000ab88   Section        8  drtaeabi{000a0000}-158.o(StubCode)
-    theImportedSymbol                        0x0000ab8c   Data           0  drtaeabi{000a0000}-158.o(StubCode)
-    StubCode                                 0x0000ab90   Section        8  drtaeabi{000a0000}-159.o(StubCode)
-    theImportedSymbol                        0x0000ab94   Data           0  drtaeabi{000a0000}-159.o(StubCode)
-    StubCode                                 0x0000ab98   Section        8  drtaeabi{000a0000}-180.o(StubCode)
-    theImportedSymbol                        0x0000ab9c   Data           0  drtaeabi{000a0000}-180.o(StubCode)
-    StubCode                                 0x0000aba0   Section        8  drtaeabi{000a0000}-183.o(StubCode)
-    theImportedSymbol                        0x0000aba4   Data           0  drtaeabi{000a0000}-183.o(StubCode)
-    StubCode                                 0x0000aba8   Section        8  drtaeabi{000a0000}-184.o(StubCode)
-    theImportedSymbol                        0x0000abac   Data           0  drtaeabi{000a0000}-184.o(StubCode)
-    StubCode                                 0x0000abb0   Section        8  scppnwdl{000a0000}-3.o(StubCode)
-    theImportedSymbol                        0x0000abb4   Data           0  scppnwdl{000a0000}-3.o(StubCode)
-    i._Z18ExecuteAndDeleteLDP15CPosLmOperation 0x0000abb8   Section       22  mnrefproviderengine.in(i._Z18ExecuteAndDeleteLDP15CPosLmOperation)
-    i._ZN7TPtrC163SetERK7TDesC16             0x0000abce   Section       28  mnrefproviderengine.in(i._ZN7TPtrC163SetERK7TDesC16)
-    i._ZN7TPtrC163SetERK7TDesC16.clean       0x0000abea   Section       12  mnrefproviderengine.in(i._ZN7TPtrC163SetERK7TDesC16.clean)
-    i._ZdlPvS_                               0x0000abf6   Section        2  mnrefproviderengine.in(i._ZdlPvS_)
-    i._ZnwjPv                                0x0000abf8   Section        4  mnrefproviderengine.in(i._ZnwjPv)
-    t._Z17CleanupClosePushLI6RArrayIN11CMnrpEngine14TDistanceToPoiEEEvRT_ 0x0000abfc   Section       16  mnrefproviderengine.in(t._Z17CleanupClosePushLI6RArrayIN11CMnrpEngine14TDistanceToPoiEEEvRT_)
-    t._Z3AbsIdET_S0_                         0x0000ac0c   Section       44  mnrefproviderengine.in(t._Z3AbsIdET_S0_)
-    t._Z3MaxIdET_S0_S0_                      0x0000ac38   Section       28  mnrefproviderengine.in(t._Z3MaxIdET_S0_S0_)
-    t._Z3MinIdET_S0_S0_                      0x0000ac54   Section       28  mnrefproviderengine.in(t._Z3MinIdET_S0_S0_)
-    t._ZN12CleanupCloseI6RArrayIN11CMnrpEngine14TDistanceToPoiEEE5CloseEPv 0x0000ac70   Section        8  mnrefproviderengine.in(t._ZN12CleanupCloseI6RArrayIN11CMnrpEngine14TDistanceToPoiEEE5CloseEPv)
-    t._ZN12CleanupCloseI6RArrayImEE5CloseEPv 0x0000ac78   Section        8  mnrefproviderengine.in(t._ZN12CleanupCloseI6RArrayImEE5CloseEPv)
-    t._ZN13RPointerArrayI12CPosLandmarkE7AppendLEPKS0_ 0x0000ac80   Section       12  mnrefproviderengine.in(t._ZN13RPointerArrayI12CPosLandmarkE7AppendLEPKS0_)
-    t._ZN13RPointerArrayIN13CMnrpMapModel9CDrawItemEE15ResetAndDestroyEv 0x0000ac8c   Section       48  mnrefproviderengine.in(t._ZN13RPointerArrayIN13CMnrpMapModel9CDrawItemEE15ResetAndDestroyEv)
-    t._ZN13RPointerArrayIN13CMnrpMapModel9CDrawItemEE7AppendLEPKS1_ 0x0000acbc   Section       12  mnrefproviderengine.in(t._ZN13RPointerArrayIN13CMnrpMapModel9CDrawItemEE7AppendLEPKS1_)
-    t._ZNK20HPositionGenericInfo8GetValueIfEEitRT_ 0x0000acc8   Section       16  mnrefproviderengine.in(t._ZNK20HPositionGenericInfo8GetValueIfEEitRT_)
-    t._ZNK6RArrayIN11CMnrpEngine14TDistanceToPoiEE5CountEv 0x0000acd8   Section        8  mnrefproviderengine.in(t._ZNK6RArrayIN11CMnrpEngine14TDistanceToPoiEE5CountEv)
-    t._ZNK6TArrayIP12CPosLandmarkEixEi       0x0000ace0   Section        8  mnrefproviderengine.in(t._ZNK6TArrayIP12CPosLandmarkEixEi)
-    t._ZNK6TArrayIPN13CMnrpMapModel9CDrawItemEEixEi 0x0000ace8   Section        8  mnrefproviderengine.in(t._ZNK6TArrayIPN13CMnrpMapModel9CDrawItemEEixEi)
-    .extab._ZN11CMnrpEngineC1Ev              0x0000acf0   Data           0  mnrefproviderengine.in(.ARM.extab)
-    .extab._ZN11CMnrpEngineD1Ev              0x0000ad00   Data           0  mnrefproviderengine.in(.ARM.extab)
-    .extab._ZN11CMnrpEngine17FindResourceFileLERK7TDesC16R4TBufILi256EE 0x0000ad10   Data           0  mnrefproviderengine.in(.ARM.extab)
-    .extab._ZN11CMnrpEngine16LoadKnownPlacesLEv 0x0000ad1c   Data           0  mnrefproviderengine.in(.ARM.extab)
-    .extab._ZN11CMnrpEngine12KnownPlacesLEv  0x0000ad2c   Data           0  mnrefproviderengine.in(.ARM.extab)
-    .extab._ZN13CMnrpMapModel9CDrawItem5NewLCERK12CPosLandmark 0x0000ad54   Data           0  mnrefproviderengine.in(.ARM.extab)
-    .extab._ZN13CMnrpMapModelC1ER17MMapModelObserverR11CMnrpEngine 0x0000ad64   Data           0  mnrefproviderengine.in(.ARM.extab)
-    .extab._ZN13CMnrpMapModelC1ER11CMnrpEngine 0x0000ad74   Data           0  mnrefproviderengine.in(.ARM.extab)
-    .extab._ZN13CMnrpMapModelD1Ev            0x0000ad84   Data           0  mnrefproviderengine.in(.ARM.extab)
-    .extab._ZN13CMnrpMapModel9CDrawItemD1Ev  0x0000ad94   Data           0  mnrefproviderengine.in(.ARM.extab)
-    .extab._ZN20CMnrpPositionRequestC1ER21MMnrpPositionObserver 0x0000ada4   Data           0  mnrefproviderengine.in(.ARM.extab)
-    .extab._ZN20CMnrpPositionRequestD1Ev     0x0000adb4   Data           0  mnrefproviderengine.in(.ARM.extab)
-    .extab._ZN7TPtrC163SetERK7TDesC16        0x0000adc4   Data           0  mnrefproviderengine.in(.ARM.extab)
-    .constdata$1                             0x0000add4   Data           0  mnrefproviderengine.in(.constdata)
-    KCitiesResourceFile                      0x0000add4   Data          72  mnrefproviderengine.in(.constdata)
-    .constdata                               0x0000add4   Section      128  mnrefproviderengine.in(.constdata)
-    KLocationNameFormat@_ZN11CMnrpEngine21CreateCloseLandmarkLCERK12CPosLandmarkf_0 0x0000ae1c   Data          28  mnrefproviderengine.in(.constdata)
-    KLocationNameFormatKm@_ZN11CMnrpEngine21CreateCloseLandmarkLCERK12CPosLandmarkf_1 0x0000ae38   Data          28  mnrefproviderengine.in(.constdata)
-    .constdata$1                             0x0000ae54   Data           0  mnrefproviderengine.in(.constdata)
-    KCellDividers                            0x0000ae54   Data          12  mnrefproviderengine.in(.constdata)
-    .constdata                               0x0000ae54   Section       44  mnrefproviderengine.in(.constdata)
-    KRequestorName@_ZN13CMnrpMapModel10ConstructLEv_0 0x0000ae60   Data          32  mnrefproviderengine.in(.constdata)
-    .constdata$1                             0x0000ae80   Data           0  mnrefproviderengine.in(.constdata)
-    KNorth@_ZN9MnrpUtils13AngleToStringEdR6TDes16_1 0x0000ae80   Data           8  mnrefproviderengine.in(.constdata)
-    .constdata                               0x0000ae80   Section      276  mnrefproviderengine.in(.constdata)
-    KSouth@_ZN9MnrpUtils13AngleToStringEdR6TDes16_2 0x0000ae88   Data           8  mnrefproviderengine.in(.constdata)
-    KWest@_ZN9MnrpUtils13AngleToStringEdR6TDes16_3 0x0000ae90   Data           8  mnrefproviderengine.in(.constdata)
-    KEast@_ZN9MnrpUtils13AngleToStringEdR6TDes16_4 0x0000ae98   Data           8  mnrefproviderengine.in(.constdata)
-    KNan                                     0x0000aea0   Data          16  mnrefproviderengine.in(.constdata)
-    KNeg                                     0x0000aeb0   Data          16  mnrefproviderengine.in(.constdata)
-    KOutOfBounds                             0x0000aec0   Data          16  mnrefproviderengine.in(.constdata)
-    KCoordFormatFull@_ZN9MnrpUtils18CoordinateToStringEdR6TDes16ii_0 0x0000aed0   Data          44  mnrefproviderengine.in(.constdata)
-    KCoordFormatPartMseconds@_ZN9MnrpUtils18CoordinateToStringEdR6TDes16ii_1 0x0000aefc   Data          20  mnrefproviderengine.in(.constdata)
-    KSmall@_ZN9MnrpUtils16DistanceToStringEdR6TDes16_0 0x0000af10   Data          16  mnrefproviderengine.in(.constdata)
-    KMeters@_ZN9MnrpUtils16DistanceToStringEdR6TDes16_1 0x0000af20   Data          16  mnrefproviderengine.in(.constdata)
-    KKiloMeters@_ZN9MnrpUtils16DistanceToStringEdR6TDes16_2 0x0000af30   Data          20  mnrefproviderengine.in(.constdata)
-    KThousandsKiloMeters@_ZN9MnrpUtils16DistanceToStringEdR6TDes16_3 0x0000af44   Data          24  mnrefproviderengine.in(.constdata)
-    KAngleFormat@_ZN9MnrpUtils13AngleToStringEdR6TDes16_0 0x0000af5c   Data          44  mnrefproviderengine.in(.constdata)
-    KPerSecond@_ZN9MnrpUtils13SpeedToStringEdR6TDes16_0 0x0000af88   Data          12  mnrefproviderengine.in(.constdata)
-    .constdata__ZTI11CMnrpEngine             0x0000af94   Section       12  mnrefproviderengine.in(.constdata__ZTI11CMnrpEngine)
-    .constdata__ZTI13CMnrpMapModel           0x0000afa0   Section       32  mnrefproviderengine.in(.constdata__ZTI13CMnrpMapModel)
-    .constdata__ZTI20CMnrpPositionRequest    0x0000afc0   Section       12  mnrefproviderengine.in(.constdata__ZTI20CMnrpPositionRequest)
-    .constdata__ZTI21MMnrpPositionObserver   0x0000afcc   Section        8  mnrefproviderengine.in(.constdata__ZTI21MMnrpPositionObserver)
-    .constdata__ZTIN13CMnrpMapModel9CDrawItemE 0x0000afd4   Section       12  mnrefproviderengine.in(.constdata__ZTIN13CMnrpMapModel9CDrawItemE)
-    .constdata__ZTS11CMnrpEngine             0x0000afe0   Section       14  mnrefproviderengine.in(.constdata__ZTS11CMnrpEngine)
-    .constdata__ZTS13CMnrpMapModel           0x0000afee   Section       16  mnrefproviderengine.in(.constdata__ZTS13CMnrpMapModel)
-    .constdata__ZTS20CMnrpPositionRequest    0x0000affe   Section       23  mnrefproviderengine.in(.constdata__ZTS20CMnrpPositionRequest)
-    .constdata__ZTS21MMnrpPositionObserver   0x0000b015   Section       24  mnrefproviderengine.in(.constdata__ZTS21MMnrpPositionObserver)
-    .constdata__ZTSN13CMnrpMapModel9CDrawItemE 0x0000b02d   Section       28  mnrefproviderengine.in(.constdata__ZTSN13CMnrpMapModel9CDrawItemE)
-    .constdata__ZTV11CMnrpEngine             0x0000b04c   Section       20  mnrefproviderengine.in(.constdata__ZTV11CMnrpEngine)
-    .constdata__ZTV13CMnrpMapModel           0x0000b060   Section       36  mnrefproviderengine.in(.constdata__ZTV13CMnrpMapModel)
-    .constdata__ZTV20CMnrpPositionRequest    0x0000b084   Section       32  mnrefproviderengine.in(.constdata__ZTV20CMnrpPositionRequest)
-    .constdata__ZTVN13CMnrpMapModel9CDrawItemE 0x0000b0a4   Section       20  mnrefproviderengine.in(.constdata__ZTVN13CMnrpMapModel9CDrawItemE)
-    .ARM.exidx                               0x0000b0b8   Section        8  ucppinit_aeabi.o(.ARM.exidx)
-
-    Global Symbols
-
-    Symbol Name                              Value     Ov Type        Size  Object(Section)
-
-    BuildAttributes$$THUMB_ISAv3$ARM_ISAv6$M$E$P$PE$A:L22$X:L11$S22$IEEE1$IW$USESV6$~STKCKD$USESV7$~SHL$OSPACE$IEEEJ$EBA8$UX$REQ8$PRES8$EABIv2 0x00000000   Number         0  anon$$obj.o ABSOLUTE
-    #<DLL>AknIcon{000a0000}[1020735a].dll#<\DLL>10  - Undefined Reference
-    #<DLL>AknIcon{000a0000}[1020735a].dll#<\DLL>15  - Undefined Reference
-    #<DLL>AknIcon{000a0000}[1020735a].dll#<\DLL>b  - Undefined Reference
-    #<DLL>AknIcon{000a0000}[1020735a].dll#<\DLL>f  - Undefined Reference
-    #<DLL>bafl{000a0000}[10003a0f].dll#<\DLL>3b  - Undefined Reference
-    #<DLL>bafl{000a0000}[10003a0f].dll#<\DLL>3e  - Undefined Reference
-    #<DLL>bafl{000a0000}[10003a0f].dll#<\DLL>7b  - Undefined Reference
-    #<DLL>bafl{000a0000}[10003a0f].dll#<\DLL>7c  - Undefined Reference
-    #<DLL>bafl{000a0000}[10003a0f].dll#<\DLL>81  - Undefined Reference
-    #<DLL>bafl{000a0000}[10003a0f].dll#<\DLL>8d  - Undefined Reference
-    #<DLL>bafl{000a0000}[10003a0f].dll#<\DLL>91  - Undefined Reference
-    #<DLL>bafl{000a0000}[10003a0f].dll#<\DLL>93  - Undefined Reference
-    #<DLL>bitgdi{000a0000}[10003b18].dll#<\DLL>2c  - Undefined Reference
-    #<DLL>bitgdi{000a0000}[10003b18].dll#<\DLL>e  - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>13     - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>14     - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>16     - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>17     - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>18     - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>19     - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>2      - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>24     - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>29     - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>3      - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>5      - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>8      - Undefined Reference
-    #<DLL>dfpaeabi{000a0000}.dll#<\DLL>c      - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>87     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>93     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>9e     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>9f     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>b4     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>b7     - Undefined Reference
-    #<DLL>drtaeabi{000a0000}.dll#<\DLL>b8     - Undefined Reference
-    #<DLL>efsrv{000a0000}[100039e4].dll#<\DLL>44  - Undefined Reference
-    #<DLL>efsrv{000a0000}[100039e4].dll#<\DLL>73  - Undefined Reference
-    #<DLL>efsrv{000a0000}[100039e4].dll#<\DLL>76  - Undefined Reference
-    #<DLL>efsrv{000a0000}[100039e4].dll#<\DLL>b5  - Undefined Reference
-    #<DLL>efsrv{000a0000}[100039e4].dll#<\DLL>b6  - Undefined Reference
-    #<DLL>efsrv{000a0000}[100039e4].dll#<\DLL>be  - Undefined Reference
-    #<DLL>efsrv{000a0000}[100039e4].dll#<\DLL>c8  - Undefined Reference
-    #<DLL>efsrv{000a0000}[100039e4].dll#<\DLL>cc  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>32  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>33  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>38  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>4  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>41  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>42  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>43  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>44  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>4b  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>52  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>6  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>8  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>c  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>e  - Undefined Reference
-    #<DLL>eposlandmarks{000a0000}[101fdf8a].dll#<\DLL>f  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1a8  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1d0  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1d7  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1d8  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1dc  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>1e1  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>227  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>251  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>289  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>28e  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>29d  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>2e  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>2f  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>30  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>31  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>32  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>338  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>33a  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>346  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>347  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>349  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>37  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>3a8  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>3b9  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>3c0  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>3c6  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>3c8  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>3cd  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>3d8  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>41b  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>423  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>431  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>432  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>440  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>442  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>443  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>446  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>45c  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>45f  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>493  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>494  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>51  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>5e3  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>5e6  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>636  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>639  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>659  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>66e  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>670  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>671  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>673  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>6d9  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>70e  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>717  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>71d  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>722  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>78  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>80c  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>80d  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>822  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>84b  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>84d  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>850  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>cb  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>cd  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>cf  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>d0  - Undefined Reference
-    #<DLL>euser{000a0000}[100039e5].dll#<\DLL>d1  - Undefined Reference
-    #<DLL>gdi{000a0000}[10003b15].dll#<\DLL>137  - Undefined Reference
-    #<DLL>gdi{000a0000}[10003b15].dll#<\DLL>13a  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>11  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>12f  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>130  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>15  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>17  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>1c  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>2f  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>30  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>31  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>52  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>53  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>57  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>61  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>7  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>8  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>98  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>a  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>a7  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>b4  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>b5  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>cd  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>cf  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>d  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>d6  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>da  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>db  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>df  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>e1  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>e2  - Undefined Reference
-    #<DLL>lbs{000a0000}[101f97b1].dll#<\DLL>f  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>3  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>37  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>39  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>5  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>6  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>8  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>9  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>a  - Undefined Reference
-    #<DLL>mnservicelib{000a0000}[10206903].dll#<\DLL>d  - Undefined Reference
-    #<DLL>scppnwdl{000a0000}.dll#<\DLL>3      - Undefined Reference
-    SHT$$INIT_ARRAY$$Base                     - Undefined Weak Reference
-    SHT$$INIT_ARRAY$$Limit                    - Undefined Weak Reference
-    typeinfo for XLeaveException              - Undefined Reference
-    typeinfo for CBase                        - Undefined Reference
-    typeinfo for CActive                      - Undefined Reference
-    vtable for __cxxabiv1::__class_type_info  - Undefined Reference
-    vtable for __cxxabiv1::__si_class_type_info  - Undefined Reference
-    vtable for __cxxabiv1::__vmi_class_type_info  - Undefined Reference
-    _fp_init                                  - Undefined Weak Reference
-    run_static_dtors                          - Undefined Weak Reference
-    Image$$ER_RO$$Base                       0x00008000   Number         0  anon$$obj.o(linker$$defined$$symbols)
-    _E32Dll                                  0x00008000   ARM Code      40  uc_dll_.o(.emb_text)
-    Symbian$$CPP$$Exception$$Descriptor      0x00008014   Data           0  uc_dll_.o(.emb_text)
-    __cpp_initialize__aeabi_                 0x00008028   ARM Code      72  ucppinit_aeabi.o(.emb_text)
-    CMnrpEngine::ConstructL()                0x00008071   Thumb Code    18  mnrefproviderengine.in(.text)
-    std::nothrow                             0x00008071   Thumb Code     0  ucppinit_aeabi.o(.emb_text)
-    CMnrpEngine::CMnrpEngine()               0x00008083   Thumb Code    22  mnrefproviderengine.in(.text)
-    CMnrpEngine::CMnrpEngine__sub_object()   0x00008083   Thumb Code     0  mnrefproviderengine.in(.text)
-    CMnrpEngine::NewL()                      0x00008099   Thumb Code    32  mnrefproviderengine.in(.text)
-    CMnrpEngine::~CMnrpEngine()              0x000080b9   Thumb Code    74  mnrefproviderengine.in(.text)
-    CMnrpEngine::~CMnrpEngine__sub_object()  0x000080b9   Thumb Code     0  mnrefproviderengine.in(.text)
-    CMnrpEngine::~CMnrpEngine__deallocating() 0x00008103   Thumb Code    16  mnrefproviderengine.in(.text)
-    CMnrpEngine::ReadPlacesResourceL(RResourceReader&) 0x00008113   Thumb Code   154  mnrefproviderengine.in(.text)
-    CMnrpEngine::FindResourceFileL(const TDesC16&, TBuf<(int)256>&) 0x000081ad   Thumb Code   118  mnrefproviderengine.in(.text)
-    CMnrpEngine::LoadKnownPlacesL()          0x00008223   Thumb Code    94  mnrefproviderengine.in(.text)
-    CMnrpEngine::KnownPlacesL()              0x00008281   Thumb Code    76  mnrefproviderengine.in(.text)
-    CMnrpEngine::AddressToCoordL(const CPosLandmark&) 0x000082cd   Thumb Code   124  mnrefproviderengine.in(.text)
-    CMnrpEngine::AddressToCoordLC(const CPosLandmark&) 0x00008349   Thumb Code    32  mnrefproviderengine.in(.text)
-    CMnrpEngine::AddressToCoordL(const TDesC16&) 0x00008369   Thumb Code   124  mnrefproviderengine.in(.text)
-    CMnrpEngine::AddressToCoordLC(const TDesC16&) 0x000083e5   Thumb Code    32  mnrefproviderengine.in(.text)
-    CMnrpEngine::CreateCloseLandmarkLC(const CPosLandmark&, float) 0x00008405   Thumb Code   178  mnrefproviderengine.in(.text)
-    CMnrpEngine::DistanceBetweenLandmarks(const CPosLandmark&, const CPosLandmark&) 0x000084b7   Thumb Code    86  mnrefproviderengine.in(.text)
-    CMnrpEngine::FindClosestPoisL(const CPosLandmark&, RArray<CMnrpEngine::TDistanceToPoi>&, int) 0x0000850d   Thumb Code   178  mnrefproviderengine.in(.text)
-    CMnrpEngine::CoordToAddressLC(const TCoordinate&) 0x000085bf   Thumb Code   124  mnrefproviderengine.in(.text)
-    CMnrpEngine::Fs()                        0x0000863b   Thumb Code     4  mnrefproviderengine.in(.text)
-    CMnrpEngine::BestCoordToAddressMatchesL(const TCoordinate&, RPointerArray<CPosLandmark>&, int) 0x0000863f   Thumb Code   136  mnrefproviderengine.in(.text)
-    AbsoluteToImage(TRealPoint, double)      0x000086c9   Thumb Code    74  mnrefproviderengine.in(.text)
-    TRealPoint::TRealPoint()                 0x00008713   Thumb Code    40  mnrefproviderengine.in(.text)
-    TRealPoint::TRealPoint__sub_object()     0x00008713   Thumb Code     0  mnrefproviderengine.in(.text)
-    TRealPoint::TRealPoint(double, double)   0x0000873b   Thumb Code    16  mnrefproviderengine.in(.text)
-    TRealPoint::TRealPoint__sub_object(double, double) 0x0000873b   Thumb Code     0  mnrefproviderengine.in(.text)
-    TRealPoint::TRealPoint(TCoordinate)      0x0000874b   Thumb Code    36  mnrefproviderengine.in(.text)
-    TRealPoint::TRealPoint__sub_object(TCoordinate) 0x0000874b   Thumb Code     0  mnrefproviderengine.in(.text)
-    TRealPoint::operator +(const TRealPoint&) 0x0000876f   Thumb Code    54  mnrefproviderengine.in(.text)
-    TRealPoint::operator -(const TRealPoint&) 0x000087a5   Thumb Code    52  mnrefproviderengine.in(.text)
-    TRealPoint::operator *(const double&)    0x000087d9   Thumb Code    58  mnrefproviderengine.in(.text)
-    TRealPoint::operator /(const double&)    0x00008813   Thumb Code    56  mnrefproviderengine.in(.text)
-    TRealPoint::Set(double, double)          0x0000884b   Thumb Code    16  mnrefproviderengine.in(.text)
-    TRealPoint::Coordinate()                 0x0000885b   Thumb Code    30  mnrefproviderengine.in(.text)
-    TRealPoint::IsValid()                    0x00008879   Thumb Code    32  mnrefproviderengine.in(.text)
-    CMnrpMapModel::CDrawItem::SetAbsolutePosition(const TLocality&) 0x00008899   Thumb Code    44  mnrefproviderengine.in(.text)
-    CMnrpMapModel::CDrawItem::NewLC(const CPosLandmark&) 0x000088c5   Thumb Code   146  mnrefproviderengine.in(.text)
-    CMnrpMapModel::AddCitiesL()              0x00008957   Thumb Code    64  mnrefproviderengine.in(.text)
-    CMnrpMapModel::ConstructL()              0x00008997   Thumb Code    62  mnrefproviderengine.in(.text)
-    CMnrpMapModel::CMnrpMapModel(MMapModelObserver&, CMnrpEngine&) 0x000089d5   Thumb Code   102  mnrefproviderengine.in(.text)
-    CMnrpMapModel::CMnrpMapModel__sub_object(MMapModelObserver&, CMnrpEngine&) 0x000089d5   Thumb Code     0  mnrefproviderengine.in(.text)
-    CMnrpMapModel::NewL(MMapModelObserver&, CMnrpEngine&) 0x00008a3b   Thumb Code    40  mnrefproviderengine.in(.text)
-    CMnrpMapModel::CMnrpMapModel(CMnrpEngine&) 0x00008a63   Thumb Code   150  mnrefproviderengine.in(.text)
-    CMnrpMapModel::CMnrpMapModel__sub_object(CMnrpEngine&) 0x00008a63   Thumb Code     0  mnrefproviderengine.in(.text)
-    CMnrpMapModel::NewL(CMnrpEngine&)        0x00008af9   Thumb Code    36  mnrefproviderengine.in(.text)
-    CMnrpMapModel::~CMnrpMapModel()          0x00008b1d   Thumb Code    40  mnrefproviderengine.in(.text)
-    CMnrpMapModel::~CMnrpMapModel__sub_object() 0x00008b1d   Thumb Code     0  mnrefproviderengine.in(.text)
-    CMnrpMapModel::~CMnrpMapModel__deallocating() 0x00008b45   Thumb Code    16  mnrefproviderengine.in(.text)
-    CMnrpMapModel::Height() const            0x00008b55   Thumb Code    22  mnrefproviderengine.in(.text)
-    CMnrpMapModel::Bottom() const            0x00008b6b   Thumb Code    28  mnrefproviderengine.in(.text)
-    CMnrpMapModel::Top() const               0x00008b87   Thumb Code    28  mnrefproviderengine.in(.text)
-    CMnrpMapModel::Width() const             0x00008ba3   Thumb Code    22  mnrefproviderengine.in(.text)
-    CMnrpMapModel::Right() const             0x00008bb9   Thumb Code    28  mnrefproviderengine.in(.text)
-    CMnrpMapModel::Left() const              0x00008bd5   Thumb Code    28  mnrefproviderengine.in(.text)
-    CMnrpMapModel::MaxScale() const          0x00008bf1   Thumb Code    60  mnrefproviderengine.in(.text)
-    CMnrpMapModel::CheckBorders()            0x00008c2d   Thumb Code   240  mnrefproviderengine.in(.text)
-    CMnrpMapModel::AdjustBoundingBox(CMnrpMapModel::CDrawItem&, TRealPoint&, TRealPoint&) 0x00008d1d   Thumb Code   166  mnrefproviderengine.in(.text)
-    CMnrpMapModel::CheckDrawItemHasPositionL(CMnrpMapModel::CDrawItem&, const CPosLandmark&) 0x00008dc3   Thumb Code    90  mnrefproviderengine.in(.text)
-    CMnrpMapModel::CDrawItem::NewLC(const CPosLandmark&, CPosLmCategoryManager&) 0x00008e1d   Thumb Code   134  mnrefproviderengine.in(.text)
-    CMnrpMapModel::UpdateModelL(CMnrpMapViewService&) 0x00008ea3   Thumb Code   802  mnrefproviderengine.in(.text)
-    CMnrpMapModel::SetScreenSize(TSize)      0x000091c5   Thumb Code    14  mnrefproviderengine.in(.text)
-    CMnrpMapModel::UpdateModel(const TMnMapImageParams&) 0x000091d3   Thumb Code   178  mnrefproviderengine.in(.text)
-    CMnrpMapModel::UpdateModelL(const CMnrpMapImageService&) 0x00009285   Thumb Code   278  mnrefproviderengine.in(.text)
-    CMnrpMapModel::AbsoluteToScreen(TRealPoint) const 0x0000939b   Thumb Code   106  mnrefproviderengine.in(.text)
-    CMnrpMapModel::AbsoluteToScreen(TCoordinate) const 0x00009405   Thumb Code    84  mnrefproviderengine.in(.text)
-    CMnrpMapModel::CurrentLocation() const   0x00009459   Thumb Code   216  mnrefproviderengine.in(.text)
-    CMnrpMapModel::DrawCurrentLocation(CFbsBitGc&, const TSize&) const 0x00009531   Thumb Code   176  mnrefproviderengine.in(.text)
-    CMnrpMapModel::Items() const             0x000095e1   Thumb Code    88  mnrefproviderengine.in(.text)
-    CMnrpMapModel::DrawLandmarks(CFbsBitGc&, CFont&, const TSize&, int) const 0x00009639   Thumb Code   672  mnrefproviderengine.in(.text)
-    CMnrpMapModel::DrawHorizontalLine(CFbsBitGc&, int, TSize) const 0x000098d9   Thumb Code    28  mnrefproviderengine.in(.text)
-    CMnrpMapModel::DrawVerticalLine(CFbsBitGc&, int, TSize) const 0x000098f5   Thumb Code    30  mnrefproviderengine.in(.text)
-    CMnrpMapModel::DrawGrid(CFbsBitGc&, const TSize&, CMnrpMapModel::TGrid&) const 0x00009913   Thumb Code   128  mnrefproviderengine.in(.text)
-    CMnrpMapModel::AbsoluteToScreen(double) const 0x00009993   Thumb Code    24  mnrefproviderengine.in(.text)
-    CMnrpMapModel::GetGrid(CMnrpMapModel::TGrid&) const 0x000099ab   Thumb Code   348  mnrefproviderengine.in(.text)
-    CMnrpMapModel::RenderL(CFbsBitmap&, TRect, CFont*, CFont*) const 0x00009b07   Thumb Code   204  mnrefproviderengine.in(.text)
-    CMnrpMapModel::NumIgnoredLandmarks()     0x00009bd3   Thumb Code     6  mnrefproviderengine.in(.text)
-    CMnrpMapModel::Zoom(double)              0x00009bd9   Thumb Code    28  mnrefproviderengine.in(.text)
-    CMnrpMapModel::MoveTo(TCoordinate)       0x00009bf5   Thumb Code    54  mnrefproviderengine.in(.text)
-    CMnrpMapModel::GoCenter()                0x00009c2b   Thumb Code    32  mnrefproviderengine.in(.text)
-    CMnrpMapModel::ScreenToAbsolute(TPoint) const 0x00009c4b   Thumb Code   108  mnrefproviderengine.in(.text)
-    CMnrpMapModel::ScreenToAbsolute(int) const 0x00009cb7   Thumb Code    58  mnrefproviderengine.in(.text)
-    CMnrpMapModel::Center() const            0x00009cf1   Thumb Code    32  mnrefproviderengine.in(.text)
-    CMnrpMapModel::HandlePositionRequestCompletedL(int) 0x00009d11   Thumb Code    54  mnrefproviderengine.in(.text)
-    thunk{-4} to CMnrpMapModel::HandlePositionRequestCompletedL(int) 0x00009d47   Thumb Code     4  mnrefproviderengine.in(.text)
-    CMnrpMapModel::CDrawItem::~CDrawItem()   0x00009d4b   Thumb Code    56  mnrefproviderengine.in(.text)
-    CMnrpMapModel::CDrawItem::~CDrawItem__sub_object() 0x00009d4b   Thumb Code     0  mnrefproviderengine.in(.text)
-    CMnrpMapModel::CDrawItem::~CDrawItem__deallocating() 0x00009d83   Thumb Code    16  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::SetOptionsL(const TPositionUpdateOptionsBase&) 0x00009d99   Thumb Code    14  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::ConstructL(const TDesC16&) 0x00009da7   Thumb Code    94  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::CMnrpPositionRequest(MMnrpPositionObserver&) 0x00009e05   Thumb Code   106  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::CMnrpPositionRequest__sub_object(MMnrpPositionObserver&) 0x00009e05   Thumb Code     0  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::NewL(const TDesC16&, MMnrpPositionObserver&) 0x00009e6f   Thumb Code    40  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::~CMnrpPositionRequest() 0x00009e97   Thumb Code    44  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::~CMnrpPositionRequest__sub_object() 0x00009e97   Thumb Code     0  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::~CMnrpPositionRequest__deallocating() 0x00009ec3   Thumb Code    16  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::InitContainer(HPositionGenericInfo&) 0x00009ed3   Thumb Code    56  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::ExecuteNextStep()  0x00009f0b   Thumb Code    74  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::FetchNewPosition(int) 0x00009f55   Thumb Code    28  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::GetPosition(TPositionInfo&) 0x00009f71   Thumb Code    18  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::Speed()            0x00009f83   Thumb Code     6  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::Heading()          0x00009f89   Thumb Code     6  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::MagneticHeading()  0x00009f8f   Thumb Code     6  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::Course()           0x00009f95   Thumb Code     6  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::MagneticCourse()   0x00009f9b   Thumb Code     6  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::DoCancel()         0x00009fa1   Thumb Code    36  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::SaveContainer(const HPositionGenericInfo&) 0x00009fc5   Thumb Code   116  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::RunL()             0x0000a039   Thumb Code    64  mnrefproviderengine.in(.text)
-    CMnrpPositionRequest::RunError(int)      0x0000a079   Thumb Code     4  mnrefproviderengine.in(.text)
-    MnrpUtils::CoordinateToString(double, TDes16&, int, int) 0x0000a08d   Thumb Code   426  mnrefproviderengine.in(.text)
-    MnrpUtils::DistanceToString(double, TDes16&) 0x0000a237   Thumb Code   164  mnrefproviderengine.in(.text)
-    MnrpUtils::AngleToString(double, TDes16&) 0x0000a2db   Thumb Code   260  mnrefproviderengine.in(.text)
-    MnrpUtils::SpeedToString(double, TDes16&) 0x0000a3df   Thumb Code    66  mnrefproviderengine.in(.text)
-    MnrpUtils::PrintableStringLC(const TDesC16&) 0x0000a421   Thumb Code   204  mnrefproviderengine.in(.text)
-    _E32Dll_Body                             0x0000a4ed   Thumb Code    34  uc_dll.o(.text)
-    __DLL_Export_Table__                     0x0000a580   ARM Code       0  mnrefproviderengine{000a0000}.exp(ExportTable)
-    DLL##ExportTableSize                     0x0000a584   Data           0  mnrefproviderengine{000a0000}.exp(ExportTable)
-    DLL##ExportTable                         0x0000a588   Data           0  mnrefproviderengine{000a0000}.exp(ExportTable)
-    TRealX::SetNaN()                         0x0000a680   ARM Code       0  euser{000a0000}-1051.o(StubCode)
-    TRealX::TRealX()                         0x0000a688   ARM Code       0  euser{000a0000}-1059.o(StubCode)
-    TRealX::operator double() const          0x0000a690   ARM Code       0  euser{000a0000}-1073.o(StubCode)
-    TRealX::operator float() const           0x0000a698   ARM Code       0  euser{000a0000}-1074.o(StubCode)
-    CActive::Cancel()                        0x0000a6a0   ARM Code       0  euser{000a0000}-1088.o(StubCode)
-    CActive::SetActive()                     0x0000a6a8   ARM Code       0  euser{000a0000}-1090.o(StubCode)
-    CActive::CActive__sub_object(int)        0x0000a6b0   ARM Code       0  euser{000a0000}-1091.o(StubCode)
-    CActive::~CActive__sub_object()          0x0000a6b8   ARM Code       0  euser{000a0000}-1094.o(StubCode)
-    HBufC16::Des()                           0x0000a6c0   ARM Code       0  euser{000a0000}-1116.o(StubCode)
-    HBufC16::NewLC(int)                      0x0000a6c8   ARM Code       0  euser{000a0000}-1119.o(StubCode)
-    TPtrC16::TPtrC16(const TDesC16&)         0x0000a6d0   ARM Code       0  euser{000a0000}-1171.o(StubCode)
-    TPtrC16::TPtrC16()                       0x0000a6d8   ARM Code       0  euser{000a0000}-1172.o(StubCode)
-    RHandleBase::Close()                     0x0000a6e0   ARM Code       0  euser{000a0000}-120.o(StubCode)
-    RArrayBase::At(int) const                0x0000a6e8   ARM Code       0  euser{000a0000}-1507.o(StubCode)
-    RArrayBase::Count() const                0x0000a6f0   ARM Code       0  euser{000a0000}-1510.o(StubCode)
-    RPointerArrayBase::At(int) const         0x0000a6f8   ARM Code       0  euser{000a0000}-1590.o(StubCode)
-    RPointerArrayBase::Count() const         0x0000a700   ARM Code       0  euser{000a0000}-1593.o(StubCode)
-    TChar::IsPrint() const                   0x0000a708   ARM Code       0  euser{000a0000}-1625.o(StubCode)
-    TRect::Intersects(const TRect&) const    0x0000a710   ARM Code       0  euser{000a0000}-1646.o(StubCode)
-    TRect::Size() const                      0x0000a718   ARM Code       0  euser{000a0000}-1648.o(StubCode)
-    TRect::Width() const                     0x0000a720   ARM Code       0  euser{000a0000}-1649.o(StubCode)
-    TRect::Height() const                    0x0000a728   ARM Code       0  euser{000a0000}-1651.o(StubCode)
-    TPoint::operator +(const TPoint&) const  0x0000a730   ARM Code       0  euser{000a0000}-1753.o(StubCode)
-    TDesC16::AtC(int) const                  0x0000a738   ARM Code       0  euser{000a0000}-1806.o(StubCode)
-    TDesC16::FindF(const TDesC16&) const     0x0000a740   ARM Code       0  euser{000a0000}-1815.o(StubCode)
-    TDesC16::AllocLC() const                 0x0000a748   ARM Code       0  euser{000a0000}-1821.o(StubCode)
-    TDesC16::CompareF(const TDesC16&) const  0x0000a750   ARM Code       0  euser{000a0000}-1826.o(StubCode)
-    CleanupStack::PopAndDestroy()            0x0000a758   ARM Code       0  euser{000a0000}-203.o(StubCode)
-    CleanupStack::Pop()                      0x0000a760   ARM Code       0  euser{000a0000}-205.o(StubCode)
-    User::MarkCleanupStack()                 0x0000a768   ARM Code       0  euser{000a0000}-2060.o(StubCode)
-    User::UnMarkCleanupStack(TTrapHandler*)  0x0000a770   ARM Code       0  euser{000a0000}-2061.o(StubCode)
-    CleanupStack::PushL(TCleanupItem)        0x0000a778   ARM Code       0  euser{000a0000}-207.o(StubCode)
-    CleanupStack::PushL(CBase*)              0x0000a780   ARM Code       0  euser{000a0000}-208.o(StubCode)
-    XLeaveException::GetReason() const       0x0000a788   ARM Code       0  euser{000a0000}-2082.o(StubCode)
-    CleanupStack::PushL(void*)               0x0000a790   ARM Code       0  euser{000a0000}-209.o(StubCode)
-    CBase::Extension_(unsigned, void*&, void*) 0x0000a798   ARM Code       0  euser{000a0000}-2123.o(StubCode)
-    CBase::~CBase()                          0x0000a7a0   ARM Code       0  euser{000a0000}-2125.o(StubCode)
-    CActive::Extension_(unsigned, void*&, void*) 0x0000a7a8   ARM Code       0  euser{000a0000}-2128.o(StubCode)
-    CActiveScheduler::Add(CActive*)          0x0000a7b0   ARM Code       0  euser{000a0000}-424.o(StubCode)
-    RArrayBase::Close()                      0x0000a7b8   ARM Code       0  euser{000a0000}-46.o(StubCode)
-    RPointerArrayBase::GetElementPtr(const CBase*, int) 0x0000a7c0   ARM Code       0  euser{000a0000}-464.o(StubCode)
-    RArrayBase::Reset()                      0x0000a7c8   ARM Code       0  euser{000a0000}-47.o(StubCode)
-    RPointerArrayBase::Reset()               0x0000a7d0   ARM Code       0  euser{000a0000}-471.o(StubCode)
-    RPointerArrayBase::Append(const void*)   0x0000a7d8   ARM Code       0  euser{000a0000}-472.o(StubCode)
-    RPointerArrayBase::GetCount(const CBase*) 0x0000a7e0   ARM Code       0  euser{000a0000}-476.o(StubCode)
-    RArrayBase::Append(const void*)          0x0000a7e8   ARM Code       0  euser{000a0000}-48.o(StubCode)
-    RPointerArrayBase::RPointerArrayBase()   0x0000a7f0   ARM Code       0  euser{000a0000}-481.o(StubCode)
-    RArrayBase::Insert(const void*, int)     0x0000a7f8   ARM Code       0  euser{000a0000}-49.o(StubCode)
-    RArrayBase::Remove(int)                  0x0000a800   ARM Code       0  euser{000a0000}-50.o(StubCode)
-    RArrayBase::RArrayBase(int)              0x0000a808   ARM Code       0  euser{000a0000}-55.o(StubCode)
-    Math::IsNaN(const double&)               0x0000a810   ARM Code       0  euser{000a0000}-551.o(StubCode)
-    User::LeaveIfError(int)                  0x0000a818   ARM Code       0  euser{000a0000}-593.o(StubCode)
-    User::Leave(int)                         0x0000a820   ARM Code       0  euser{000a0000}-649.o(StubCode)
-    User::AllocZL(int)                       0x0000a828   ARM Code       0  euser{000a0000}-654.o(StubCode)
-    User::Invariant()                        0x0000a830   ARM Code       0  euser{000a0000}-669.o(StubCode)
-    TBufBase16::TBufBase16(int)              0x0000a838   ARM Code       0  euser{000a0000}-81.o(StubCode)
-    TRect::Grow(int, int)                    0x0000a840   ARM Code       0  euser{000a0000}-824.o(StubCode)
-    TRect::Move(int, int)                    0x0000a848   ARM Code       0  euser{000a0000}-826.o(StubCode)
-    TRect::TRect(const TSize&)               0x0000a850   ARM Code       0  euser{000a0000}-838.o(StubCode)
-    TRect::TRect(const TPoint&, const TSize&) 0x0000a858   ARM Code       0  euser{000a0000}-839.o(StubCode)
-    TRect::TRect(int, int, int, int)         0x0000a860   ARM Code       0  euser{000a0000}-841.o(StubCode)
-    TDes16::AppendFormat(TRefByValue<const TDesC16>, ...) 0x0000a868   ARM Code       0  euser{000a0000}-936.o(StubCode)
-    TDes16::Copy(const TDesC16&)             0x0000a870   ARM Code       0  euser{000a0000}-953.o(StubCode)
-    TDes16::Zero()                           0x0000a878   ARM Code       0  euser{000a0000}-960.o(StubCode)
-    TDes16::Append(TChar)                    0x0000a880   ARM Code       0  euser{000a0000}-966.o(StubCode)
-    TDes16::Append(const TDesC16&)           0x0000a888   ARM Code       0  euser{000a0000}-968.o(StubCode)
-    TDes16::Format(TRefByValue<const TDesC16>, ...) 0x0000a890   ARM Code       0  euser{000a0000}-973.o(StubCode)
-    TDes16::AppendNum(long long)             0x0000a898   ARM Code       0  euser{000a0000}-984.o(StubCode)
-    TParse::Set(const TDesC16&, const TDesC16*, const TDesC16*) 0x0000a8a0   ARM Code       0  efsrv{000a0000}-115.o(StubCode)
-    TParse::TParse()                         0x0000a8a8   ARM Code       0  efsrv{000a0000}-118.o(StubCode)
-    TFindFile::FindByDir(const TDesC16&, const TDesC16&) 0x0000a8b0   ARM Code       0  efsrv{000a0000}-181.o(StubCode)
-    TFindFile::TFindFile(RFs&)               0x0000a8b8   ARM Code       0  efsrv{000a0000}-182.o(StubCode)
-    TParseBase::NameAndExt() const           0x0000a8c0   ARM Code       0  efsrv{000a0000}-190.o(StubCode)
-    TParseBase::Path() const                 0x0000a8c8   ARM Code       0  efsrv{000a0000}-200.o(StubCode)
-    TParseBase::FullName() const             0x0000a8d0   ARM Code       0  efsrv{000a0000}-204.o(StubCode)
-    RFs::Connect(int)                        0x0000a8d8   ARM Code       0  efsrv{000a0000}-68.o(StubCode)
-    RResourceReader::ReadHBufCL()            0x0000a8e0   ARM Code       0  bafl{000a0000}-123.o(StubCode)
-    RResourceReader::ReadInt16L()            0x0000a8e8   ARM Code       0  bafl{000a0000}-124.o(StubCode)
-    RResourceReader::ReadReal64L()           0x0000a8f0   ARM Code       0  bafl{000a0000}-129.o(StubCode)
-    RResourceReader::OpenLC(const CResourceFile*, int) 0x0000a8f8   ARM Code       0  bafl{000a0000}-141.o(StubCode)
-    RResourceReader::RResourceReader()       0x0000a900   ARM Code       0  bafl{000a0000}-145.o(StubCode)
-    RResourceReader::~RResourceReader()      0x0000a908   ARM Code       0  bafl{000a0000}-147.o(StubCode)
-    CResourceFile::ConfirmSignatureL(int)    0x0000a910   ARM Code       0  bafl{000a0000}-59.o(StubCode)
-    CResourceFile::NewLC(RFs&, const TDesC16&, unsigned, int) 0x0000a918   ARM Code       0  bafl{000a0000}-62.o(StubCode)
-    AknIconUtils::CreateIconL(CFbsBitmap*&, CFbsBitmap*&, const TDesC16&, int, int) 0x0000a920   ARM Code       0  AknIcon{000a0000}-11.o(StubCode)
-    AknIconUtils::DestroyIconData(CFbsBitmap*) 0x0000a928   ARM Code       0  AknIcon{000a0000}-15.o(StubCode)
-    AknIconUtils::PreserveIconData(CFbsBitmap*) 0x0000a930   ARM Code       0  AknIcon{000a0000}-16.o(StubCode)
-    AknIconUtils::SetSize(CFbsBitmap*, const TSize&, TScaleMode) 0x0000a938   ARM Code       0  AknIcon{000a0000}-21.o(StubCode)
-    CFont::HeightInPixels() const            0x0000a940   ARM Code       0  gdi{000a0000}-311.o(StubCode)
-    CFont::TextWidthInPixels(const TDesC16&) const 0x0000a948   ARM Code       0  gdi{000a0000}-314.o(StubCode)
-    CFbsDevice::CreateContext(CFbsBitGc*&)   0x0000a950   ARM Code       0  bitgdi{000a0000}-14.o(StubCode)
-    CFbsBitmapDevice::NewL(CFbsBitmap*)      0x0000a958   ARM Code       0  bitgdi{000a0000}-44.o(StubCode)
-    CPosLandmark::NewL(const CPosLandmark&)  0x0000a960   ARM Code       0  eposlandmarks{000a0000}-12.o(StubCode)
-    CPosLandmark::NewLC(const CPosLandmark&) 0x0000a968   ARM Code       0  eposlandmarks{000a0000}-14.o(StubCode)
-    CPosLandmark::NewLC()                    0x0000a970   ARM Code       0  eposlandmarks{000a0000}-15.o(StubCode)
-    CPosLandmark::SetPositionL(const TLocality&) 0x0000a978   ARM Code       0  eposlandmarks{000a0000}-4.o(StubCode)
-    CPosLandmarkDatabase::OpenL(const TDesC16&) 0x0000a980   ARM Code       0  eposlandmarks{000a0000}-50.o(StubCode)
-    CPosLandmarkDatabase::OpenL()            0x0000a988   ARM Code       0  eposlandmarks{000a0000}-51.o(StubCode)
-    CPosLmCategoryManager::NewL(CPosLandmarkDatabase&) 0x0000a990   ARM Code       0  eposlandmarks{000a0000}-56.o(StubCode)
-    CPosLandmark::SetLandmarkNameL(const TDesC16&) 0x0000a998   ARM Code       0  eposlandmarks{000a0000}-6.o(StubCode)
-    CPosLandmark::GetPosition(TLocality&) const 0x0000a9a0   ARM Code       0  eposlandmarks{000a0000}-65.o(StubCode)
-    CPosLandmark::GetCategoriesL(RArray<unsigned long>&) const 0x0000a9a8   ARM Code       0  eposlandmarks{000a0000}-66.o(StubCode)
-    CPosLandmark::GetLandmarkName(TPtrC16&) const 0x0000a9b0   ARM Code       0  eposlandmarks{000a0000}-67.o(StubCode)
-    CPosLandmark::GetPositionField(unsigned short, TPtrC16&) const 0x0000a9b8   ARM Code       0  eposlandmarks{000a0000}-68.o(StubCode)
-    CPosLandmark::GetIcon(TPtrC16&, int&, int&) const 0x0000a9c0   ARM Code       0  eposlandmarks{000a0000}-75.o(StubCode)
-    CPosLandmark::SetPositionFieldL(unsigned short, const TDesC16&) 0x0000a9c8   ARM Code       0  eposlandmarks{000a0000}-8.o(StubCode)
-    CPosLandmarkCategory::GetIcon(TPtrC16&, int&, int&) const 0x0000a9d0   ARM Code       0  eposlandmarks{000a0000}-82.o(StubCode)
-    RPositioner::Open(RPositionServer&)      0x0000a9d8   ARM Code       0  lbs{000a0000}-10.o(StubCode)
-    RPositioner::Close()                     0x0000a9e0   ARM Code       0  lbs{000a0000}-13.o(StubCode)
-    RPositioner::RPositioner()               0x0000a9e8   ARM Code       0  lbs{000a0000}-15.o(StubCode)
-    TPositionUpdateOptions::TPositionUpdateOptions() 0x0000a9f0   ARM Code       0  lbs{000a0000}-152.o(StubCode)
-    RPositionerSubSessionBase::CancelRequest(int) 0x0000a9f8   ARM Code       0  lbs{000a0000}-167.o(StubCode)
-    TCoordinate::SetCoordinate(const double&, const double&) 0x0000aa00   ARM Code       0  lbs{000a0000}-17.o(StubCode)
-    TPositionUpdateOptionsBase::SetUpdateTimeOut(TTimeIntervalMicroSeconds) 0x0000aa08   ARM Code       0  lbs{000a0000}-180.o(StubCode)
-    TPositionUpdateOptionsBase::SetUpdateInterval(TTimeIntervalMicroSeconds) 0x0000aa10   ARM Code       0  lbs{000a0000}-181.o(StubCode)
-    TLocality::TLocality(const TCoordinate&, float) 0x0000aa18   ARM Code       0  lbs{000a0000}-205.o(StubCode)
-    TLocality::TLocality()                   0x0000aa20   ARM Code       0  lbs{000a0000}-207.o(StubCode)
-    TCoordinate::TCoordinate(const double&, const double&) 0x0000aa28   ARM Code       0  lbs{000a0000}-21.o(StubCode)
-    TPosition::TPosition()                   0x0000aa30   ARM Code       0  lbs{000a0000}-214.o(StubCode)
-    RPositioner::GetLastKnownPosition(TPositionInfoBase&, TRequestStatus&) const 0x0000aa38   ARM Code       0  lbs{000a0000}-218.o(StubCode)
-    RPositioner::NotifyPositionUpdate(TPositionInfoBase&, TRequestStatus&) const 0x0000aa40   ARM Code       0  lbs{000a0000}-219.o(StubCode)
-    TCoordinate::Latitude() const            0x0000aa48   ARM Code       0  lbs{000a0000}-223.o(StubCode)
-    TCoordinate::Longitude() const           0x0000aa50   ARM Code       0  lbs{000a0000}-225.o(StubCode)
-    TPositionInfo::GetPosition(TPosition&) const 0x0000aa58   ARM Code       0  lbs{000a0000}-226.o(StubCode)
-    TCoordinate::TCoordinate()               0x0000aa60   ARM Code       0  lbs{000a0000}-23.o(StubCode)
-    TPositionInfo::TPositionInfo()           0x0000aa68   ARM Code       0  lbs{000a0000}-28.o(StubCode)
-    TLocality::HorizontalAccuracy() const    0x0000aa70   ARM Code       0  lbs{000a0000}-303.o(StubCode)
-    TLocality::Distance(const TCoordinate&, float&) const 0x0000aa78   ARM Code       0  lbs{000a0000}-304.o(StubCode)
-    RPositionServer::Close()                 0x0000aa80   ARM Code       0  lbs{000a0000}-47.o(StubCode)
-    RPositionServer::Connect()               0x0000aa88   ARM Code       0  lbs{000a0000}-48.o(StubCode)
-    RPositionServer::RPositionServer()       0x0000aa90   ARM Code       0  lbs{000a0000}-49.o(StubCode)
-    RPositioner::SetRequestor(int, int, const TDesC16&) 0x0000aa98   ARM Code       0  lbs{000a0000}-7.o(StubCode)
-    RPositioner::SetUpdateOptions(const TPositionUpdateOptionsBase&) 0x0000aaa0   ARM Code       0  lbs{000a0000}-8.o(StubCode)
-    HPositionGenericInfo::ClearPositionData() 0x0000aaa8   ARM Code       0  lbs{000a0000}-82.o(StubCode)
-    HPositionGenericInfo::SetRequestedField(unsigned short) 0x0000aab0   ARM Code       0  lbs{000a0000}-83.o(StubCode)
-    HPositionGenericInfo::NewL(int, int)     0x0000aab8   ARM Code       0  lbs{000a0000}-87.o(StubCode)
-    PositionFieldManager::GetValue(unsigned short, float&, const HPositionGenericInfo&) 0x0000aac0   ARM Code       0  lbs{000a0000}-97.o(StubCode)
-    CMnMapViewServiceBase::LinkedLandmarksToShow(int) 0x0000aac8   ARM Code       0  mnservicelib{000a0000}-10.o(StubCode)
-    CMnMapViewServiceBase::LandmarksToShowDatabases() 0x0000aad0   ARM Code       0  mnservicelib{000a0000}-13.o(StubCode)
-    CMnMapViewServiceBase::AreaRadius()      0x0000aad8   ARM Code       0  mnservicelib{000a0000}-3.o(StubCode)
-    CMnMapViewServiceBase::LandmarksToShow() 0x0000aae0   ARM Code       0  mnservicelib{000a0000}-5.o(StubCode)
-    CMnMapImageServiceBase::ShowOptions() const 0x0000aae8   ARM Code       0  mnservicelib{000a0000}-55.o(StubCode)
-    CMnMapImageServiceBase::MapImageParams() const 0x0000aaf0   ARM Code       0  mnservicelib{000a0000}-57.o(StubCode)
-    CMnMapViewServiceBase::GetAreaCentralPoint(TCoordinate&) 0x0000aaf8   ARM Code       0  mnservicelib{000a0000}-6.o(StubCode)
-    CMnMapViewServiceBase::CurrentLocationOption() 0x0000ab00   ARM Code       0  mnservicelib{000a0000}-8.o(StubCode)
-    CMnMapViewServiceBase::IsAreaCentralPointSet() 0x0000ab08   ARM Code       0  mnservicelib{000a0000}-9.o(StubCode)
-    __aeabi_dadd                             0x0000ab10   ARM Code       0  dfpaeabi{000a0000}-12.o(StubCode)
-    __aeabi_ddiv                             0x0000ab18   ARM Code       0  dfpaeabi{000a0000}-19.o(StubCode)
-    __aeabi_cdcmple                          0x0000ab20   ARM Code       0  dfpaeabi{000a0000}-2.o(StubCode)
-    __aeabi_dmul                             0x0000ab28   ARM Code       0  dfpaeabi{000a0000}-20.o(StubCode)
-    __aeabi_drsub                            0x0000ab30   ARM Code       0  dfpaeabi{000a0000}-22.o(StubCode)
-    __aeabi_dsub                             0x0000ab38   ARM Code       0  dfpaeabi{000a0000}-23.o(StubCode)
-    __aeabi_f2d                              0x0000ab40   ARM Code       0  dfpaeabi{000a0000}-24.o(StubCode)
-    __aeabi_f2iz                             0x0000ab48   ARM Code       0  dfpaeabi{000a0000}-25.o(StubCode)
-    __aeabi_cdrcmple                         0x0000ab50   ARM Code       0  dfpaeabi{000a0000}-3.o(StubCode)
-    __aeabi_fdiv                             0x0000ab58   ARM Code       0  dfpaeabi{000a0000}-36.o(StubCode)
-    __aeabi_i2d                              0x0000ab60   ARM Code       0  dfpaeabi{000a0000}-41.o(StubCode)
-    __aeabi_cfcmple                          0x0000ab68   ARM Code       0  dfpaeabi{000a0000}-5.o(StubCode)
-    __aeabi_d2iz                             0x0000ab70   ARM Code       0  dfpaeabi{000a0000}-8.o(StubCode)
-    __aeabi_idivmod                          0x0000ab78   ARM Code       0  drtaeabi{000a0000}-135.o(StubCode)
-    __aeabi_memcpy4                          0x0000ab80   ARM Code       0  drtaeabi{000a0000}-147.o(StubCode)
-    __aeabi_unwind_cpp_pr0                   0x0000ab88   ARM Code       0  drtaeabi{000a0000}-158.o(StubCode)
-    __aeabi_unwind_cpp_pr1                   0x0000ab90   ARM Code       0  drtaeabi{000a0000}-159.o(StubCode)
-    __cxa_begin_catch                        0x0000ab98   ARM Code       0  drtaeabi{000a0000}-180.o(StubCode)
-    __cxa_end_catch                          0x0000aba0   ARM Code       0  drtaeabi{000a0000}-183.o(StubCode)
-    __cxa_end_cleanup                        0x0000aba8   ARM Code       0  drtaeabi{000a0000}-184.o(StubCode)
-    operator delete (void*)                  0x0000abb0   ARM Code       0  scppnwdl{000a0000}-3.o(StubCode)
-    ExecuteAndDeleteLD(CPosLmOperation*)     0x0000abb9   Thumb Code    22  mnrefproviderengine.in(i._Z18ExecuteAndDeleteLDP15CPosLmOperation)
-    TPtrC16::Set(const TDesC16&)             0x0000abcf   Thumb Code    28  mnrefproviderengine.in(i._ZN7TPtrC163SetERK7TDesC16)
-    operator delete (void*, void*)           0x0000abf7   Thumb Code     2  mnrefproviderengine.in(i._ZdlPvS_)
-    operator new(unsigned, void*)            0x0000abf9   Thumb Code     4  mnrefproviderengine.in(i._ZnwjPv)
-    CleanupClosePushL<RArray<CMnrpEngine::TDistanceToPoi>>(T1&) 0x0000abfd   Thumb Code    12  mnrefproviderengine.in(t._Z17CleanupClosePushLI6RArrayIN11CMnrpEngine14TDistanceToPoiEEEvRT_)
-    Abs<double>(T1)                          0x0000ac0d   Thumb Code    36  mnrefproviderengine.in(t._Z3AbsIdET_S0_)
-    Max<double>(T1, T1)                      0x0000ac39   Thumb Code    28  mnrefproviderengine.in(t._Z3MaxIdET_S0_S0_)
-    Min<double>(T1, T1)                      0x0000ac55   Thumb Code    28  mnrefproviderengine.in(t._Z3MinIdET_S0_S0_)
-    CleanupClose<RArray<CMnrpEngine::TDistanceToPoi>>::Close(void*) 0x0000ac71   Thumb Code     8  mnrefproviderengine.in(t._ZN12CleanupCloseI6RArrayIN11CMnrpEngine14TDistanceToPoiEEE5CloseEPv)
-    CleanupClose<RArray<unsigned long>>::Close(void*) 0x0000ac79   Thumb Code     8  mnrefproviderengine.in(t._ZN12CleanupCloseI6RArrayImEE5CloseEPv)
-    RPointerArray<CPosLandmark>::AppendL(const CPosLandmark*) 0x0000ac81   Thumb Code    12  mnrefproviderengine.in(t._ZN13RPointerArrayI12CPosLandmarkE7AppendLEPKS0_)
-    RPointerArray<CMnrpMapModel::CDrawItem>::ResetAndDestroy() 0x0000ac8d   Thumb Code    48  mnrefproviderengine.in(t._ZN13RPointerArrayIN13CMnrpMapModel9CDrawItemEE15ResetAndDestroyEv)
-    RPointerArray<CMnrpMapModel::CDrawItem>::AppendL(const CMnrpMapModel::CDrawItem*) 0x0000acbd   Thumb Code    12  mnrefproviderengine.in(t._ZN13RPointerArrayIN13CMnrpMapModel9CDrawItemEE7AppendLEPKS1_)
-    HPositionGenericInfo::GetValue<float>(unsigned short, T1&) const 0x0000acc9   Thumb Code    16  mnrefproviderengine.in(t._ZNK20HPositionGenericInfo8GetValueIfEEitRT_)
-    RArray<CMnrpEngine::TDistanceToPoi>::Count() const 0x0000acd9   Thumb Code     8  mnrefproviderengine.in(t._ZNK6RArrayIN11CMnrpEngine14TDistanceToPoiEE5CountEv)
-    TArray<CPosLandmark*>::operator [](int) const 0x0000ace1   Thumb Code     8  mnrefproviderengine.in(t._ZNK6TArrayIP12CPosLandmarkEixEi)
-    TArray<CMnrpMapModel::CDrawItem*>::operator [](int) const 0x0000ace9   Thumb Code     8  mnrefproviderengine.in(t._ZNK6TArrayIPN13CMnrpMapModel9CDrawItemEEixEi)
-    typeinfo for CMnrpEngine                 0x0000af94   Data          12  mnrefproviderengine.in(.constdata__ZTI11CMnrpEngine)
-    typeinfo for CMnrpMapModel               0x0000afa0   Data          32  mnrefproviderengine.in(.constdata__ZTI13CMnrpMapModel)
-    typeinfo for CMnrpPositionRequest        0x0000afc0   Data          12  mnrefproviderengine.in(.constdata__ZTI20CMnrpPositionRequest)
-    typeinfo for MMnrpPositionObserver       0x0000afcc   Data           8  mnrefproviderengine.in(.constdata__ZTI21MMnrpPositionObserver)
-    typeinfo for CMnrpMapModel::CDrawItem    0x0000afd4   Data          12  mnrefproviderengine.in(.constdata__ZTIN13CMnrpMapModel9CDrawItemE)
-    typeinfo name for CMnrpEngine            0x0000afe0   Data          14  mnrefproviderengine.in(.constdata__ZTS11CMnrpEngine)
-    typeinfo name for CMnrpMapModel          0x0000afee   Data          16  mnrefproviderengine.in(.constdata__ZTS13CMnrpMapModel)
-    typeinfo name for CMnrpPositionRequest   0x0000affe   Data          23  mnrefproviderengine.in(.constdata__ZTS20CMnrpPositionRequest)
-    typeinfo name for MMnrpPositionObserver  0x0000b015   Data          24  mnrefproviderengine.in(.constdata__ZTS21MMnrpPositionObserver)
-    typeinfo name for CMnrpMapModel::CDrawItem 0x0000b02d   Data          28  mnrefproviderengine.in(.constdata__ZTSN13CMnrpMapModel9CDrawItemE)
-    vtable for CMnrpEngine                   0x0000b04c   Data          20  mnrefproviderengine.in(.constdata__ZTV11CMnrpEngine)
-    vtable for CMnrpMapModel                 0x0000b060   Data          36  mnrefproviderengine.in(.constdata__ZTV13CMnrpMapModel)
-    vtable for CMnrpPositionRequest          0x0000b084   Data          32  mnrefproviderengine.in(.constdata__ZTV20CMnrpPositionRequest)
-    vtable for CMnrpMapModel::CDrawItem      0x0000b0a4   Data          20  mnrefproviderengine.in(.constdata__ZTVN13CMnrpMapModel9CDrawItemE)
-    .ARM.exidx$$Base                         0x0000b0b8   Number         0  ucppinit_aeabi.o(.ARM.exidx)
-    .ARM.exidx$$Limit                        0x0000b358   Number         0  mnrefproviderengine.in(.ARM.exidx)
-    Image$$ER_RO$$Limit                      0x0000b358   Number         0  anon$$obj.o(linker$$defined$$symbols)
-
Binary file locsrv_plat/map_image_conversion_plugin_api/tsrc/data/armv5/urel/mnrefproviderengine.rsc has changed
Binary file locsrv_plat/map_image_conversion_plugin_api/tsrc/data/winscw/udeb/MnRefProviderPlugin.dll has changed
Binary file locsrv_plat/map_image_conversion_plugin_api/tsrc/data/winscw/udeb/mnrefprovider.exe has changed
Binary file locsrv_plat/map_image_conversion_plugin_api/tsrc/data/winscw/udeb/mnrefproviderback.exe has changed
Binary file locsrv_plat/map_image_conversion_plugin_api/tsrc/data/winscw/udeb/mnrefproviderengine.dll has changed
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/eabi/testmapimgconpluginapiu.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	_Z9LibEntryLR13CTestModuleIf @ 1 NONAME
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Build information file for test code of Map Image Conversion plugin API
-*
-*/
-
-
-
-PRJ_PLATFORMS
-// specify the platforms your component needs to be built for here
-// defaults to WINS MARM so you can ignore this if you just build these
-DEFAULT
-
-PRJ_TESTEXPORTS
-// NOTE: If using ARS requirements all export operations should be done under this.
-// 'abld test export'
-
-PRJ_EXPORTS
-// Specify the source file followed by its destination here
-// copy will be used to copy the source file to its destination
-// If there's no destination then the source file will be copied
-// to the same name in /epoc32/include
-// Example: 
-/*
-/agnmodel/inc/AGMCOMON.H
-*/
-
-PRJ_TESTMMPFILES
-// NOTE: If using ARS requirements .mmp file operation should be done under this.
-// 'abld test build'
-testmapimgconpluginapi.mmp
-../mapnavproviderrefapp/group/mnconvpluginrefengine.mmp
-../mapnavproviderrefapp/group/mnconvpluginrefprovider.mmp
-../mapnavproviderrefapp/group/mnconvpluginrefproviderback.mmp
-../mapnavproviderrefapp/group/mnconvpluginrefproviderplugin.mmp
-
-
-
-PRJ_MMPFILES
-// Specify the .mmp files required for building the important component
-// releasables.
-//
-// Specify "tidy" if the component you need to build doesn't need to be
-// released. Specify "ignore" if the MMP file exists but should be
-// ignored.
-// Example:
-/*
-/agnmodel/group/agnmodel.mmp
-#if defined(MARM)
-/agnmodel/group/agsvexe.mmp
-#endif
-*/
-
-//  End of File
\ No newline at end of file
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/group/map_image_conversion_plugin_api_test.pkg	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-;
-; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "Eclipse Public License v1.0"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description: Package file for test code of Map Image Conversion plugin API
-;
-;
-; Installation file for map_image_conversion_plugin_api_test Test module
-;
-;Languages
-&EN
-;
-; UID is the app's UID
-;
-#{"map_image_conversion_plugin_api_test"},(0x101FB3E3),3,0,0,TYPE=SA
-;
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Supports Series 60 v 3.0
-;This line indicates that this installation is for the Series 60 platform v3.0
-;This line must appear _exactly_ as shown below in the sis file
-;If this line is missing or incorrect, the sis file will not be able
-;to be installed on Series 60 v3.0 platforms
-[0x101F6F88], 0, 0, 0, {"Series60ProductID"}
-;
-;
-
-; File to install
-
-
-"\epoc32\release\armv5\urel\testmapimgconpluginapi.dll"-"C:\sys\bin\testmapimgconpluginapi.dll"
-
-;refapp dlls
-"..\data\armv5\urel\mnrefprovider.exe"-"C:\sys\bin\mnrefprovider.exe"
-"..\data\armv5\urel\mnrefprovider.rsc"-"C:\resource\apps\mnrefprovider.rsc"
-"..\data\armv5\urel\mnrefprovider.mbm"-"C:\resource\apps\mnrefprovider.mbm"
-"..\data\armv5\urel\mnrefprovider.mif"-"C:\resource\apps\mnrefprovider.mif"
-"..\data\armv5\urel\mnrefprovider_reg.rsc"-"C:\private\10003a3f\import\apps\mnrefprovider_reg.rsc"
-
-"..\data\armv5\urel\mnrefproviderback.exe"-"C:\sys\bin\mnrefproviderback.exe"
-"..\data\armv5\urel\mnrefproviderback.rsc"-"C:\resource\apps\mnrefproviderback.rsc"
-"..\data\armv5\urel\mnrefproviderback_reg.rsc"-"C:\private\10003a3f\import\apps\mnrefproviderback_reg.rsc"
-
-"..\data\armv5\urel\mnrefproviderengine.dll"-"C:\sys\bin\mnrefproviderengine.dll"
-"..\data\armv5\urel\mnrefproviderengine.rsc"-"C:\resource\mnrefproviderengine.rsc"
-
-"\epoc32\release\armv5\urel\mnrefproviderplugin.dll"-"!:\sys\bin\mnrefproviderplugin.dll"
-"\epoc32\data\z\resource\plugins\mnrefproviderplugin.rsc"-"!:\resource\plugins\mnrefproviderplugin.rsc"
-
-
-"..\conf\testmapimgconpluginapi.cfg"-"C:\testframework\testmapimgconpluginapi.cfg"
-"..\init\testframework.ini"-"C:\testframework\testframework.ini"
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/group/testmapimgconpluginapi.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +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: Project definition file for test code of Map Image Conversion plugin API
-*
-*/
-
-
-
-
-#include <platform_paths.hrh>
-
-
-TARGET          testmapimgconpluginapi.dll
-TARGETTYPE      dll
-UID             0x1000008D 0x101FB3E3
-
-CAPABILITY      ALL -TCB
-/* Remove comments and replace 0x00000000 with correct vendor id */
-// VENDORID     0x00000000
-/* Remove comments and replace 0x00000000 with correct secure id */
-// SECUREID     0x00000000
-
-//TARGETPATH      ?target_path
-DEFFILE         testmapimgconpluginapi.def
-
-SOURCEPATH      ../src
-SOURCE          testmapimgconpluginapi.cpp
-SOURCE          testmapimgconpluginapiBlocks.cpp
-SOURCE					testprovidercoordconverter.cpp
-
-
-USERINCLUDE     ../inc 
-
-MW_LAYER_SYSTEMINCLUDE
-
-
-LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
-LIBRARY         stiftestengine.lib
-LIBRARY			mnclientlib.lib
-LIBRARY         lbs.lib
-
-LANG            SC
-
-
- 
-
-
-SMPSAFE
-
-// End of File
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/inc/testmapimgconpluginapi.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Ctestmapimgconpluginapi class
-*
-*/
-
-
-
-#ifndef TESTMAPIMGCONPLUGINAPI_H
-#define TESTMAPIMGCONPLUGINAPI_H
-
-//  INCLUDES
-#include <StifLogger.h>
-#include <TestScripterInternal.h>
-#include <StifTestModule.h>
-
-
-
-// Logging path
-_LIT( KtestmapimgconpluginapiLogPath, "\\logs\\testframework\\testmapimgconpluginapi\\" ); 
-// Log file
-_LIT( KtestmapimgconpluginapiLogFile, "testmapimgconpluginapi.txt" ); 
-_LIT( KtestmapimgconpluginapiLogFileWithTitle, "testmapimgconpluginapi_[%S].txt" );
-
-
-// FORWARD DECLARATIONS
-class Ctestmapimgconpluginapi;
-
-
-/**
-*  Ctestmapimgconpluginapi test class for STIF Test Framework TestScripter.
-*
-*  @lib ?library
-*  @since s60 v5.0
-*/
-NONSHARABLE_CLASS(Ctestmapimgconpluginapi) : public CScriptBase
-    {
-    public:  // Constructors and destructor
-
-        /**
-        * Two-phased constructor.
-        */
-        static Ctestmapimgconpluginapi* NewL( CTestModuleIf& aTestModuleIf );
-
-        /**
-        * Destructor.
-        */
-        virtual ~Ctestmapimgconpluginapi();
-
-    public: // Functions from base classes
-
-        /**
-        * From CScriptBase Runs a script line.
-        * @param aItem Script line containing method name and parameters
-        * @return Symbian OS error code
-        */
-        virtual TInt RunMethodL( CStifItemParser& aItem );
-
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        Ctestmapimgconpluginapi( CTestModuleIf& aTestModuleIf );
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-
-        /**
-        * Frees all resources allocated from test methods.
-        */
-        void Delete();
-
-        /**
-        * Test methods are listed below. 
-        */
-
-        /**
-        * This test case will test MapImageParams method of CMnCoordinateConverterBase
-        * class.
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        TInt CMnCoordinateConverterBase_MapImageParams( CStifItemParser& aItem );
-        
-        /**
-        * This test case will test GetImageCoordinate method of CMnCoordinateConverterBase
-        * class.
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        TInt CMnCoordinateConverterBase_GetImageCoordinate( CStifItemParser& aItem );
-        
-        /**
-        * This test case will test GetWorldCoordinate method of CMnCoordinateConverterBase
-        * class.
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        TInt CMnCoordinateConverterBase_GetWorldCoordinate( CStifItemParser& aItem );
-		
-		
-
-
-    };
-
-#endif      // TESTMAPIMGCONPLUGINAPI_H
-
-// End of File
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/inc/testprovidercoordconverter.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CTestProviderCoordConverter class
-*
-*/
-
-
-#ifndef MNTP_COORDINATECONVERTER_H
-#define MNTP_COORDINATECONVERTER_H
-
-#include <mncoordinateconverterbase.h>
-
-/**
- *  This class provides implementations for CMnCoordinateConverterBase
- *  class.
- *
- *  @lib testmapimgconpluginapi.lib
- *  @since S60 v5.0
- */
-
-class CTestProviderCoordConverter : public CMnCoordinateConverterBase
-    {
-    public:
-      /**
-     	* Two-phased constructor.
-     	*/
-     	static CTestProviderCoordConverter* NewLC();
-     	
-     	/**
-    	* Destructor.
-    	*/
-    	~CTestProviderCoordConverter();
-
-    public: // From CMnCoordinateConverterBase
-
-        TInt GetImageCoordinate( 
-            const TCoordinate& aWorldCoordinate, 
-            TPoint& aImagePoint );
-        
-        TInt GetWorldCoordinate( 
-            const TPoint& aImagePoint, 
-            TCoordinate& aWorldCoordinate );
-                    
-    protected:    
-     
-        /**
-   		* constructor.
-   		*/
-   		CTestProviderCoordConverter();
-        
-  
-    };
-
-#endif //MNTP_COORDINATECONVERTER_H
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/init/testframework.ini	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,182 +0,0 @@
-#
-# This is STIFTestFramework initialization file
-# Comment lines start with '#'-character.
-# See STIF TestFramework users guide.doc for instructions
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Set following test engine settings:
-#	- Set Test Reporting mode. TestReportMode's possible values are:
-#		+ 'Summary': Summary of the tested test cases.
-#		+ 'Environment': Hardware and software info.
-#		+ 'TestCases': Test case report.
-#		+ 'FullReport': Set of all above ones.
-#		+ Example 'TestReportMode= Summary TestCases'
-#
-# 	- CreateTestReport setting controls report creation mode
-#		+ YES, Test report will created.
-#		+ NO, No Test report.
-#
-# 	- File path indicates the base path of the test report.
-# 	- File name indicates the name of the test report.
-#
-# 	- File format indicates the type of the test report.
-#		+ TXT, Test report file will be txt type, for example 'TestReport.txt'.
-#		+ HTML, Test report will be html type, for example 'TestReport.html'.
-#
-# 	- File output indicates output source of the test report.
-#		+ FILE, Test report logging to file.
-#		+ RDEBUG, Test report logging to using rdebug.
-#
-# 	- File Creation Mode indicates test report overwriting if file exist.
-#		+ OVERWRITE, Overwrites if the Test report file exist.
-#		+ APPEND, Continue logging after the old Test report information if 
-#                 report exist.
-# 	- Sets a device reset module's dll name(Reboot).
-#		+ If Nokia specific reset module is not available or it is not correct one
-#		  StifHWResetStub module may use as a template for user specific reset
-#		  module. 
-
-[Engine_Defaults]
-
-TestReportMode= FullReport		# Possible values are: 'Empty', 'Summary', 'Environment',
-                                                               'TestCases' or 'FullReport'
-
-CreateTestReport= YES			# Possible values: YES or NO
-
-TestReportFilePath= C:\LOGS\TestFramework\
-TestReportFileName= TestReport
-
-TestReportFormat= TXT			# Possible values: TXT or HTML
-TestReportOutput= FILE			# Possible values: FILE or RDEBUG
-TestReportFileCreationMode= OVERWRITE	# Possible values: OVERWRITE or APPEND
-
-DeviceResetDllName= StifResetForNokia.dll # e.g. 'StifHWResetStub.dll' for user specific reseting
-
-[End_Defaults]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Module configurations start
-# Modules are added between module tags
-# tags. Module name is specified after ModuleName= tag, like
-# ModuleName= XXXXXXXXX
-# Modules might have initialisation file, specified as
-# IniFile= c:\testframework\YYYYYY
-# Modules might have several configuration files, like
-# TestCaseFile= c:\testframework\NormalCases.txt
-# TestCaseFile= c:\testframework\SmokeCases.txt
-# TestCaseFile= c:\testframework\ManualCases.txt
-
-# (TestCaseFile is synonym for old term ConfigFile)
-
-# Following case specifies demo module settings. Demo module
-# does not read any settings from file, so tags 
-# IniFile and TestCaseFile are not used.
-# In the simplest case it is enough to specify only the
-# name of the test module when adding new test module
-
-#[New_Module]
-#ModuleName= demomodule
-#[End_Module]
-
-[New_Module]
-ModuleName= TestScripter
-TestCaseFile= C:\Testframework\testmapimgconpluginapi.cfg
-[End_Module]
-
-# Load testmoduleXXX, optionally with initialization file and/or test case files
-#[New_Module]
-#ModuleName= testmodulexxx
-
-#TestModuleXXX used initialization file
-#IniFile= c:\testframework\init.txt
-
-#TestModuleXXX used configuration file(s)
-#TestCaseFile= c:\testframework\testcases1.cfg
-#TestCaseFile= c:\testframework\testcases2.cfg
-#TestCaseFile= c:\testframework\manualtestcases.cfg
-
-#[End_Module]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Set STIFTestFramework logging overwrite parameters for Logger.
-# 	Hardware and emulator environment logging path and styles can
-# 	be configured from here to overwrite the Logger's implemented values.
-#	
-#	Settings description:
-#	- Indicates option for creation log directory/directories. If log directory/directories
-#         is/are not created by user they will make by software.
-#		+ YES, Create log directory/directories if not allready exist.
-#		+ NO, Log directory/directories not created. Only created one is used.
-#
-#	- Overwrite emulator path setting.
-#		+ Example: If 'EmulatorBasePath= C:\LOGS\TestFramework\' and in code is defined 
-#		           Logger's path 'D:\\LOGS\\Module\\' with those definition the path
-#		           will be 'C:\LOGS\TestFramework\LOGS\Module\'
-#
-#	- Overwrite emulator's logging format.
-#		+ TXT, Log file(s) will be txt type(s), for example 'Module.txt'.
-#		+ HTML, Log file(s) will be html type(s), for example 'Module.html'.
-#
-#	- Overwrited emulator logging output source.
-#		+ FILE, Logging to file(s).
-#		+ RDEBUG, Logging to using rdebug(s).
-#
-#	- Overwrite hardware path setting (Same description as above in emulator path).
-#	- Overwrite hardware's logging format(Same description as above in emulator format).
-#	- Overwrite hardware's logging output source(Same description as above in emulator output).
-#
-#	- File Creation Mode indicates file overwriting if file exist.
-#		+ OVERWRITE, Overwrites if file(s) exist.
-#		+ APPEND, Continue logging after the old logging information if file(s) exist.
-#
-#	- Will thread id include to the log filename.
-#		+ YES, Thread id to log file(s) name, Example filename 'Module_b9.txt'.
-#		+ NO, No thread id to log file(s), Example filename 'Module.txt'.
-#
-#	- Will time stamps include the to log file.
-#		+ YES, Time stamp added to each line in log file(s). Time stamp is 
-#                 for example'12.Nov.2003 115958    LOGGING INFO'
-#		+ NO, No time stamp(s).
-#
-#	- Will line breaks include to the log file.
-#		+ YES, Each logging event includes line break and next log event is in own line.
-#		+ NO, No line break(s).
-#
-#	- Will event ranking include to the log file.
-#		+ YES, Event ranking number added to each line in log file(s). Ranking number 
-#                 depends on environment's tics, for example(includes time stamp also)
-#                 '012   12.Nov.2003 115958    LOGGING INFO'
-#		+ NO, No event ranking.
-#
-
-[Logger_Defaults]
-
-#NOTE: If you want to set Logger using next setting(s) remove comment(s)'#' 
-
-#CreateLogDirectories= YES		# Possible values: YES or NO
-
-#EmulatorBasePath= C:\LOGS\TestFramework\
-#EmulatorFormat= HTML			# Possible values: TXT or HTML
-#EmulatorOutput= FILE			# Possible values: FILE or RDEBUG
-
-#HardwareBasePath= D:\LOGS\TestFramework\
-#HardwareFormat= HTML			# Possible values: TXT or HTML
-#HardwareOutput= FILE			# Possible values: FILE or RDEBUG
-
-#FileCreationMode= OVERWRITE		# Possible values: OVERWRITE or APPEND
-
-#ThreadIdToLogFile= YES			# Possible values: YES or NO
-#WithTimeStamp= YES			# Possible values: YES or NO
-#WithLineBreak= YES			# Possible values: YES or NO
-#WithEventRanking= YES			# Possible values: YES or NO
-
-[End_Logger_Defaults]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-# End of file
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/BWINS/mnrefproviderengine.50u.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-EXPORTS
-	?FindResourceFileL@CMnrpEngine@@QAEXABVTDesC16@@AAV?$TBuf@$0BAA@@@@Z @ 1 NONAME ; void CMnrpEngine::FindResourceFileL(class TDesC16 const &, class TBuf<256> &)
-	?Center@CMnrpMapModel@@QBE?AVTCoordinate@@XZ @ 2 NONAME ; class TCoordinate CMnrpMapModel::Center(void) const
-	?ScreenToAbsolute@CMnrpMapModel@@QBENH@Z @ 3 NONAME ; double CMnrpMapModel::ScreenToAbsolute(int) const
-	?NewL@CMnrpMapModel@@SAPAV1@AAVMMapModelObserver@@AAVCMnrpEngine@@@Z @ 4 NONAME ; class CMnrpMapModel * CMnrpMapModel::NewL(class MMapModelObserver &, class CMnrpEngine &)
-	?Width@CMnrpMapModel@@QBENXZ @ 5 NONAME ; double CMnrpMapModel::Width(void) const
-	?GetPosition@CMnrpPositionRequest@@QAEXAAVTPositionInfo@@@Z @ 6 NONAME ; void CMnrpPositionRequest::GetPosition(class TPositionInfo &)
-	?NewL@CMnrpMapModel@@SAPAV1@AAVCMnrpEngine@@@Z @ 7 NONAME ; class CMnrpMapModel * CMnrpMapModel::NewL(class CMnrpEngine &)
-	?SetOptionsL@CMnrpPositionRequest@@QAEXABVTPositionUpdateOptionsBase@@@Z @ 8 NONAME ; void CMnrpPositionRequest::SetOptionsL(class TPositionUpdateOptionsBase const &)
-	?GoCenter@CMnrpMapModel@@QAEXXZ @ 9 NONAME ; void CMnrpMapModel::GoCenter(void)
-	?FetchNewPosition@CMnrpPositionRequest@@QAEXH@Z @ 10 NONAME ; void CMnrpPositionRequest::FetchNewPosition(int)
-	?Course@CMnrpPositionRequest@@QAEMXZ @ 11 NONAME ; float CMnrpPositionRequest::Course(void)
-	?CoordinateToString@MnrpUtils@@SAXNAAVTDes16@@HH@Z @ 12 NONAME ; void MnrpUtils::CoordinateToString(double, class TDes16 &, int, int)
-	?CurrentLocation@CMnrpMapModel@@QBE?AVTCurrentLocation@1@XZ @ 13 NONAME ; class CMnrpMapModel::TCurrentLocation CMnrpMapModel::CurrentLocation(void) const
-	?AddressToCoordL@CMnrpEngine@@QAEPAVCPosLandmark@@ABV2@@Z @ 14 NONAME ; class CPosLandmark * CMnrpEngine::AddressToCoordL(class CPosLandmark const &)
-	?MoveTo@CMnrpMapModel@@QAEXVTCoordinate@@@Z @ 15 NONAME ; void CMnrpMapModel::MoveTo(class TCoordinate)
-	?AbsoluteToScreen@CMnrpMapModel@@QBEHN@Z @ 16 NONAME ; int CMnrpMapModel::AbsoluteToScreen(double) const
-	?Zoom@CMnrpMapModel@@QAEXN@Z @ 17 NONAME ; void CMnrpMapModel::Zoom(double)
-	?NewL@CMnrpPositionRequest@@SAPAV1@ABVTDesC16@@AAVMMnrpPositionObserver@@@Z @ 18 NONAME ; class CMnrpPositionRequest * CMnrpPositionRequest::NewL(class TDesC16 const &, class MMnrpPositionObserver &)
-	?Right@CMnrpMapModel@@QBENXZ @ 19 NONAME ; double CMnrpMapModel::Right(void) const
-	?Height@CMnrpMapModel@@QBENXZ @ 20 NONAME ; double CMnrpMapModel::Height(void) const
-	?Left@CMnrpMapModel@@QBENXZ @ 21 NONAME ; double CMnrpMapModel::Left(void) const
-	?Heading@CMnrpPositionRequest@@QAEMXZ @ 22 NONAME ; float CMnrpPositionRequest::Heading(void)
-	?AbsoluteToScreen@CMnrpMapModel@@QBE?AVTPoint@@VTCoordinate@@@Z @ 23 NONAME ; class TPoint CMnrpMapModel::AbsoluteToScreen(class TCoordinate) const
-	?GetGrid@CMnrpMapModel@@QBEXAAVTGrid@1@@Z @ 24 NONAME ; void CMnrpMapModel::GetGrid(class CMnrpMapModel::TGrid &) const
-	?UpdateModelL@CMnrpMapModel@@QAEXABVCMnrpMapImageService@@@Z @ 25 NONAME ; void CMnrpMapModel::UpdateModelL(class CMnrpMapImageService const &)
-	?UpdateModel@CMnrpMapModel@@QAEXABVTMnMapImageParams@@@Z @ 26 NONAME ; void CMnrpMapModel::UpdateModel(class TMnMapImageParams const &)
-	?FindClosestPoisL@CMnrpEngine@@QAEXABVCPosLandmark@@AAV?$RArray@UTDistanceToPoi@CMnrpEngine@@@@H@Z @ 27 NONAME ; void CMnrpEngine::FindClosestPoisL(class CPosLandmark const &, class RArray<struct CMnrpEngine::TDistanceToPoi> &, int)
-	?Fs@CMnrpEngine@@QAEAAVRFs@@XZ @ 28 NONAME ; class RFs & CMnrpEngine::Fs(void)
-	?AddressToCoordL@CMnrpEngine@@QAEPAVCPosLandmark@@ABVTDesC16@@@Z @ 29 NONAME ; class CPosLandmark * CMnrpEngine::AddressToCoordL(class TDesC16 const &)
-	?AddressToCoordLC@CMnrpEngine@@QAEPAVCPosLandmark@@ABVTDesC16@@@Z @ 30 NONAME ; class CPosLandmark * CMnrpEngine::AddressToCoordLC(class TDesC16 const &)
-	?DistanceToString@MnrpUtils@@SAXNAAVTDes16@@@Z @ 31 NONAME ; void MnrpUtils::DistanceToString(double, class TDes16 &)
-	?Speed@CMnrpPositionRequest@@QAEMXZ @ 32 NONAME ; float CMnrpPositionRequest::Speed(void)
-	??1CMnrpMapModel@@UAE@XZ @ 33 NONAME ; CMnrpMapModel::~CMnrpMapModel(void)
-	?Bottom@CMnrpMapModel@@QBENXZ @ 34 NONAME ; double CMnrpMapModel::Bottom(void) const
-	?CoordToAddressLC@CMnrpEngine@@QAEPAVCPosLandmark@@ABVTCoordinate@@@Z @ 35 NONAME ; class CPosLandmark * CMnrpEngine::CoordToAddressLC(class TCoordinate const &)
-	?SpeedToString@MnrpUtils@@SAXNAAVTDes16@@@Z @ 36 NONAME ; void MnrpUtils::SpeedToString(double, class TDes16 &)
-	?NumIgnoredLandmarks@CMnrpMapModel@@QAEHXZ @ 37 NONAME ; int CMnrpMapModel::NumIgnoredLandmarks(void)
-	??1CMnrpEngine@@UAE@XZ @ 38 NONAME ; CMnrpEngine::~CMnrpEngine(void)
-	?AngleToString@MnrpUtils@@SAXNAAVTDes16@@@Z @ 39 NONAME ; void MnrpUtils::AngleToString(double, class TDes16 &)
-	?PrintableStringLC@MnrpUtils@@SAPAVHBufC16@@ABVTDesC16@@@Z @ 40 NONAME ; class HBufC16 * MnrpUtils::PrintableStringLC(class TDesC16 const &)
-	?MagneticCourse@CMnrpPositionRequest@@QAEMXZ @ 41 NONAME ; float CMnrpPositionRequest::MagneticCourse(void)
-	?SetScreenSize@CMnrpMapModel@@QAEXVTSize@@@Z @ 42 NONAME ; void CMnrpMapModel::SetScreenSize(class TSize)
-	?BestCoordToAddressMatchesL@CMnrpEngine@@QAEXABVTCoordinate@@AAV?$RPointerArray@VCPosLandmark@@@@H@Z @ 43 NONAME ; void CMnrpEngine::BestCoordToAddressMatchesL(class TCoordinate const &, class RPointerArray<class CPosLandmark> &, int)
-	?AddressToCoordLC@CMnrpEngine@@QAEPAVCPosLandmark@@ABV2@@Z @ 44 NONAME ; class CPosLandmark * CMnrpEngine::AddressToCoordLC(class CPosLandmark const &)
-	?MagneticHeading@CMnrpPositionRequest@@QAEMXZ @ 45 NONAME ; float CMnrpPositionRequest::MagneticHeading(void)
-	?Top@CMnrpMapModel@@QBENXZ @ 46 NONAME ; double CMnrpMapModel::Top(void) const
-	??1CMnrpPositionRequest@@UAE@XZ @ 47 NONAME ; CMnrpPositionRequest::~CMnrpPositionRequest(void)
-	?ScreenToAbsolute@CMnrpMapModel@@QBE?AVTCoordinate@@VTPoint@@@Z @ 48 NONAME ; class TCoordinate CMnrpMapModel::ScreenToAbsolute(class TPoint) const
-	?DistanceBetweenLandmarks@CMnrpEngine@@QAEMABVCPosLandmark@@0@Z @ 49 NONAME ; float CMnrpEngine::DistanceBetweenLandmarks(class CPosLandmark const &, class CPosLandmark const &)
-	?KnownPlacesL@CMnrpEngine@@QAE?AV?$TArray@PAVCPosLandmark@@@@XZ @ 50 NONAME ; class TArray<class CPosLandmark *> CMnrpEngine::KnownPlacesL(void)
-	?UpdateModelL@CMnrpMapModel@@QAEXAAVCMnrpMapViewService@@@Z @ 51 NONAME ; void CMnrpMapModel::UpdateModelL(class CMnrpMapViewService &)
-	?NewL@CMnrpEngine@@SAPAV1@XZ @ 52 NONAME ; class CMnrpEngine * CMnrpEngine::NewL(void)
-	?RenderL@CMnrpMapModel@@QBEXAAVCFbsBitmap@@VTRect@@PAVCFont@@2@Z @ 53 NONAME ; void CMnrpMapModel::RenderL(class CFbsBitmap &, class TRect, class CFont *, class CFont *) const
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/BWINS/mnrefproviderengineu.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-EXPORTS
-	??1CMnrpEngine@@UAE@XZ @ 1 NONAME ; CMnrpEngine::~CMnrpEngine(void)
-	??1CMnrpMapModel@@UAE@XZ @ 2 NONAME ; CMnrpMapModel::~CMnrpMapModel(void)
-	??1CMnrpPositionRequest@@UAE@XZ @ 3 NONAME ; CMnrpPositionRequest::~CMnrpPositionRequest(void)
-	?AbsoluteToScreen@CMnrpMapModel@@QBE?AVTPoint@@VTCoordinate@@@Z @ 4 NONAME ; class TPoint CMnrpMapModel::AbsoluteToScreen(class TCoordinate) const
-	?AbsoluteToScreen@CMnrpMapModel@@QBEHN@Z @ 5 NONAME ; int CMnrpMapModel::AbsoluteToScreen(double) const
-	?AddressToCoordLC@CMnrpEngine@@QAEPAVCPosLandmark@@ABV2@@Z @ 6 NONAME ; class CPosLandmark * CMnrpEngine::AddressToCoordLC(class CPosLandmark const &)
-	?AddressToCoordLC@CMnrpEngine@@QAEPAVCPosLandmark@@ABVTDesC16@@@Z @ 7 NONAME ; class CPosLandmark * CMnrpEngine::AddressToCoordLC(class TDesC16 const &)
-	?AngleToString@MnrpUtils@@SAXNAAVTDes16@@@Z @ 8 NONAME ; void MnrpUtils::AngleToString(double, class TDes16 &)
-	?BestCoordToAddressMatchesL@CMnrpEngine@@QAEXABVTCoordinate@@AAV?$RPointerArray@VCPosLandmark@@@@H@Z @ 9 NONAME ; void CMnrpEngine::BestCoordToAddressMatchesL(class TCoordinate const &, class RPointerArray<class CPosLandmark> &, int)
-	?Bottom@CMnrpMapModel@@QBENXZ @ 10 NONAME ; double CMnrpMapModel::Bottom(void) const
-	?Center@CMnrpMapModel@@QBE?AVTCoordinate@@XZ @ 11 NONAME ; class TCoordinate CMnrpMapModel::Center(void) const
-	?CoordToAddressLC@CMnrpEngine@@QAEPAVCPosLandmark@@ABVTCoordinate@@@Z @ 12 NONAME ; class CPosLandmark * CMnrpEngine::CoordToAddressLC(class TCoordinate const &)
-	?CoordinateToString@MnrpUtils@@SAXNAAVTDes16@@HH@Z @ 13 NONAME ; void MnrpUtils::CoordinateToString(double, class TDes16 &, int, int)
-	?Course@CMnrpPositionRequest@@QAEMXZ @ 14 NONAME ; float CMnrpPositionRequest::Course(void)
-	?CurrentLocation@CMnrpMapModel@@QBE?AVTCurrentLocation@1@XZ @ 15 NONAME ; class CMnrpMapModel::TCurrentLocation CMnrpMapModel::CurrentLocation(void) const
-	?DistanceBetweenLandmarks@CMnrpEngine@@QAEMABVCPosLandmark@@0@Z @ 16 NONAME ; float CMnrpEngine::DistanceBetweenLandmarks(class CPosLandmark const &, class CPosLandmark const &)
-	?DistanceToString@MnrpUtils@@SAXNAAVTDes16@@@Z @ 17 NONAME ; void MnrpUtils::DistanceToString(double, class TDes16 &)
-	?FetchNewPosition@CMnrpPositionRequest@@QAEXH@Z @ 18 NONAME ; void CMnrpPositionRequest::FetchNewPosition(int)
-	?FindClosestPoisL@CMnrpEngine@@QAEXABVCPosLandmark@@AAV?$RArray@UTDistanceToPoi@CMnrpEngine@@@@H@Z @ 19 NONAME ; void CMnrpEngine::FindClosestPoisL(class CPosLandmark const &, class RArray<struct CMnrpEngine::TDistanceToPoi> &, int)
-	?FindResourceFileL@CMnrpEngine@@QAEXABVTDesC16@@AAV?$TBuf@$0BAA@@@@Z @ 20 NONAME ; void CMnrpEngine::FindResourceFileL(class TDesC16 const &, class TBuf<256> &)
-	?Fs@CMnrpEngine@@QAEAAVRFs@@XZ @ 21 NONAME ; class RFs & CMnrpEngine::Fs(void)
-	?GetGrid@CMnrpMapModel@@QBEXAAVTGrid@1@@Z @ 22 NONAME ; void CMnrpMapModel::GetGrid(class CMnrpMapModel::TGrid &) const
-	?GetPosition@CMnrpPositionRequest@@QAEXAAVTPositionInfo@@@Z @ 23 NONAME ; void CMnrpPositionRequest::GetPosition(class TPositionInfo &)
-	?GoCenter@CMnrpMapModel@@QAEXXZ @ 24 NONAME ; void CMnrpMapModel::GoCenter(void)
-	?Heading@CMnrpPositionRequest@@QAEMXZ @ 25 NONAME ; float CMnrpPositionRequest::Heading(void)
-	?Height@CMnrpMapModel@@QBENXZ @ 26 NONAME ; double CMnrpMapModel::Height(void) const
-	?KnownPlacesL@CMnrpEngine@@QAE?AV?$TArray@PAVCPosLandmark@@@@XZ @ 27 NONAME ; class TArray<class CPosLandmark *> CMnrpEngine::KnownPlacesL(void)
-	?Left@CMnrpMapModel@@QBENXZ @ 28 NONAME ; double CMnrpMapModel::Left(void) const
-	?MagneticCourse@CMnrpPositionRequest@@QAEMXZ @ 29 NONAME ; float CMnrpPositionRequest::MagneticCourse(void)
-	?MagneticHeading@CMnrpPositionRequest@@QAEMXZ @ 30 NONAME ; float CMnrpPositionRequest::MagneticHeading(void)
-	?MoveTo@CMnrpMapModel@@QAEXVTCoordinate@@@Z @ 31 NONAME ; void CMnrpMapModel::MoveTo(class TCoordinate)
-	?NewL@CMnrpEngine@@SAPAV1@XZ @ 32 NONAME ; class CMnrpEngine * CMnrpEngine::NewL(void)
-	?NewL@CMnrpMapModel@@SAPAV1@AAVCMnrpEngine@@@Z @ 33 NONAME ; class CMnrpMapModel * CMnrpMapModel::NewL(class CMnrpEngine &)
-	?NewL@CMnrpMapModel@@SAPAV1@AAVMMapModelObserver@@AAVCMnrpEngine@@@Z @ 34 NONAME ; class CMnrpMapModel * CMnrpMapModel::NewL(class MMapModelObserver &, class CMnrpEngine &)
-	?NewL@CMnrpPositionRequest@@SAPAV1@ABVTDesC16@@AAVMMnrpPositionObserver@@@Z @ 35 NONAME ; class CMnrpPositionRequest * CMnrpPositionRequest::NewL(class TDesC16 const &, class MMnrpPositionObserver &)
-	?RenderL@CMnrpMapModel@@QBEXAAVCFbsBitmap@@VTRect@@PAVCFont@@2@Z @ 36 NONAME ; void CMnrpMapModel::RenderL(class CFbsBitmap &, class TRect, class CFont *, class CFont *) const
-	?Right@CMnrpMapModel@@QBENXZ @ 37 NONAME ; double CMnrpMapModel::Right(void) const
-	?ScreenToAbsolute@CMnrpMapModel@@QBE?AVTCoordinate@@VTPoint@@@Z @ 38 NONAME ; class TCoordinate CMnrpMapModel::ScreenToAbsolute(class TPoint) const
-	?ScreenToAbsolute@CMnrpMapModel@@QBENH@Z @ 39 NONAME ; double CMnrpMapModel::ScreenToAbsolute(int) const
-	?SetOptionsL@CMnrpPositionRequest@@QAEXABVTPositionUpdateOptionsBase@@@Z @ 40 NONAME ; void CMnrpPositionRequest::SetOptionsL(class TPositionUpdateOptionsBase const &)
-	?SetScreenSize@CMnrpMapModel@@QAEXVTSize@@@Z @ 41 NONAME ; void CMnrpMapModel::SetScreenSize(class TSize)
-	?Speed@CMnrpPositionRequest@@QAEMXZ @ 42 NONAME ; float CMnrpPositionRequest::Speed(void)
-	?SpeedToString@MnrpUtils@@SAXNAAVTDes16@@@Z @ 43 NONAME ; void MnrpUtils::SpeedToString(double, class TDes16 &)
-	?Top@CMnrpMapModel@@QBENXZ @ 44 NONAME ; double CMnrpMapModel::Top(void) const
-	?UpdateModelL@CMnrpMapModel@@QAEXAAVCMnrpMapViewService@@@Z @ 45 NONAME ; void CMnrpMapModel::UpdateModelL(class CMnrpMapViewService &)
-	?Width@CMnrpMapModel@@QBENXZ @ 46 NONAME ; double CMnrpMapModel::Width(void) const
-	?Zoom@CMnrpMapModel@@QAEXN@Z @ 47 NONAME ; void CMnrpMapModel::Zoom(double)
-	?PrintableStringLC@MnrpUtils@@SAPAVHBufC16@@ABVTDesC16@@@Z @ 48 NONAME ; class HBufC16 * MnrpUtils::PrintableStringLC(class TDesC16 const &)
-	?AddressToCoord@CMnrpEngine@@QAEPAVCPosLandmark@@ABV2@@Z @ 49 NONAME ; class CPosLandmark * CMnrpEngine::AddressToCoord(class CPosLandmark const &)
-	?AddressToCoord@CMnrpEngine@@QAEPAVCPosLandmark@@ABVTDesC16@@@Z @ 50 NONAME ; class CPosLandmark * CMnrpEngine::AddressToCoord(class TDesC16 const &)
-	?NumIgnoredLandmarks@CMnrpMapModel@@QAEHXZ @ 51 NONAME ; int CMnrpMapModel::NumIgnoredLandmarks(void)
-
Binary file locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/data/default_lm.bmp has changed
Binary file locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/data/default_lm_mask_soft.bmp has changed
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/data/mnrefprovider.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,156 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Resource definition file for MnRefProvider
-*
-*/
-
-
-NAME MNTP
-
-#include <eikon.rsg>
-#include <eikon.rh>
-#include <avkon.rsg>
-#include <avkon.mbg>
-#include <avkon.rh>
-
-#include <appinfo.rh>
-#include "mnrp.hrh"
-
-RESOURCE RSS_SIGNATURE {  }
-
-RESOURCE TBUF { buf="MnRefProvider"; }
-
-RESOURCE EIK_APP_INFO
-    {
-    menubar = r_mnrefprovider_menubar;
-    cba = R_AVKON_SOFTKEYS_OPTIONS_EXIT;
-    }
-
-RESOURCE LOCALISABLE_APP_INFO r_mnrefprovider_localisable_app_info
-    {
-    short_caption = "MnRefProvider";
-    caption_and_icon =
-        CAPTION_AND_ICON_INFO
-            {
-            caption = "MnRefProvider";
-            };
-    view_list = {};
-    }
-
-RESOURCE CONTEXT_PANE r_mnrefprovider_app_icon
-    {
-    }
-
-RESOURCE MENU_BAR r_mnrefprovider_menubar
-    {
-    titles =
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_mnrefprovider_menu;
-            }
-        };
-    }
-
-RESOURCE MENU_PANE r_mnrefprovider_menu
-    {
-    items =
-        {
-        MENU_ITEM
-            {
-            command = EAknSoftkeyExit;
-            txt = "Exit";
-            }
-        };
-    }
-
-RESOURCE DIALOG r_mnrefprovider_selection_dialog
-    {
-    flags = EAknDialogSelectionList;
-    buttons = R_AVKON_SOFTKEYS_OK_CANCEL;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtSingleGraphicListBox;
-            id = ESelectionListControl;
-            control = LISTBOX
-                {
-                flags = EAknListBoxSelectionList;
-                };
-            },
-        // the next dlg line is optional.
-        DLG_LINE
-            {
-            itemflags = EEikDlgItemNonFocusing;
-            id = EFindControl;
-            type = EAknCtSelectionListFixedFind;
-            }
-        };
-    }
-
-RESOURCE AVKON_VIEW r_mnrefprovider_map_view
-    {
-    menubar = r_mnrefprovider_map_view_menubar;
-    cba = R_AVKON_SOFTKEYS_OPTIONS_EXIT;
-    }
-
-RESOURCE AVKON_VIEW r_mnrefprovider_map_view_chained
-    {
-    menubar = r_mnrefprovider_map_view_menubar;
-    cba = R_AVKON_SOFTKEYS_OPTIONS_BACK;
-    }
-
-RESOURCE MENU_BAR r_mnrefprovider_map_view_menubar
-    {
-    titles =
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_mnrefprovider_map_view_menu;
-            }
-        };
-    }
-
-RESOURCE MENU_PANE r_mnrefprovider_map_view_menu
-    {
-    items =
-        {
-        MENU_ITEM
-            {
-            command = EMnrpCommandSelect;
-            txt = "Select";
-            },
-        MENU_ITEM
-            {
-            command = EMnrpCommandFullScreen;
-            txt = "Toggle Fullscreen";
-            },
-        MENU_ITEM
-            {
-            command = EAknSoftkeyExit;
-            txt = "Exit";
-            }
-        };
-    }
-
-RESOURCE AVKON_VIEW r_mnrefprovider_navi_view
-    {
-    cba = R_AVKON_SOFTKEYS_EXIT;
-    }
-
-RESOURCE AVKON_VIEW r_mnrefprovider_navi_view_chained
-    {
-    cba = R_AVKON_SOFTKEYS_BACK;
-    }
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/data/mnrefprovider_reg.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Registration file for MnRefProvider
-*
-*/
-
-
-#include <appinfo.rh>
-
-#include "mnappserviceuids.hrh"
-#include "mnappservices.hrh"
-#include "mnserviceinfo.rh"
-
-#include <MnRefProvider.rsg>
-
-UID2 KUidAppRegistrationResourceFile
-UID3 0x03132013
-
-RESOURCE APP_REGISTRATION_INFO
-    {
-    app_file = "MnRefProvider";
-    localisable_resource_file = "\\resource\\apps\\MnRefProvider";
-    localisable_resource_id = R_MNREFPROVIDER_LOCALISABLE_APP_INFO;
-    
-    launch = KAppLaunchInForeground;
-    hidden = KAppNotHidden;
-        
-    datatype_list = {};
-    file_ownership_list = {};
-    service_list =
-        {
-        SERVICE_INFO
-            {
-            uid = KMnAppMapViewService;
-            datatype_list = {};
-            opaque_data = r_mnrefprovider_mapview_opaquedata;
-            },
-        SERVICE_INFO
-            {
-            uid = KMnAppNavigationService;
-            datatype_list = {};
-            opaque_data = r_mnrefprovider_navigation_opaquedata;
-            }
-        };
-    }
-
-RESOURCE MN_SERVICE_INFO r_mnrefprovider_mapview_opaquedata
-    {
-    service_features = KMnSvcFeatureShowMap | KMnSvcFeatureSelectFromMap;
-    }
-
-RESOURCE MN_SERVICE_INFO r_mnrefprovider_navigation_opaquedata
-    {
-    service_features = KMnSvcFeatureNavigateTo;
-    }
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/data/mnrefproviderback.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Resource definition file for MnRefProviderBack
-*
-*/
-
-
-NAME MNRG
-
-#include <eikon.rsg>
-#include <eikon.rh>
-#include <avkon.rsg>
-#include <avkon.mbg>
-#include <avkon.rh>
-
-#include <appinfo.rh>
-
-RESOURCE RSS_SIGNATURE {  }
-
-RESOURCE TBUF { buf="MnRefProviderBack"; }
-
-RESOURCE EIK_APP_INFO
-    {
-    menubar = r_mnrefgeocoder_menubar;
-    cba = R_AVKON_SOFTKEYS_OPTIONS_EXIT;
-    }
-
-RESOURCE LOCALISABLE_APP_INFO r_mnrefgeocoder_localisable_app_info
-    {
-    short_caption = "MnRefProvider";
-    caption_and_icon =
-        CAPTION_AND_ICON_INFO
-            {
-            caption = "MnRefProvider";
-            };
-    view_list = {};
-    }
-
-RESOURCE CONTEXT_PANE r_mnrefgeocoder_app_icon
-    {
-    }
-
-RESOURCE MENU_BAR r_mnrefgeocoder_menubar
-    {
-    titles =
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_mnrefgeocoder_menu;
-            }
-        };
-    }
-
-RESOURCE MENU_PANE r_mnrefgeocoder_menu
-    {
-    items =
-        {
-        MENU_ITEM
-            {
-            command = EAknSoftkeyExit;
-            txt = "Exit";
-            }
-        };
-    }
-
-RESOURCE AVKON_LIST_QUERY r_mnrefgeocoder_list_query
-    {
-    flags = EGeneralQueryFlags;
-    softkeys = R_AVKON_SOFTKEYS_OK_CANCEL;
-    items =
-        {
-        AVKON_LIST_QUERY_DLG_LINE
-            {
-            control = AVKON_LIST_QUERY_CONTROL
-                {
-                listtype = EAknCtSinglePopupMenuListBox;
-                listbox = AVKON_LIST_QUERY_LIST
-                    {
-                    };
-                heading = "Select best match";
-                };
-            }
-        };
-    }
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/data/mnrefproviderback_reg.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Registration file for MnRefProviderBack
-*
-*/
-
-
-#include <appinfo.rh>
-
-#include "mnappserviceuids.hrh"
-#include "mnappservices.hrh"
-#include "mnserviceinfo.rh"
-
-#include <mnrefproviderback.rsg>
-
-UID2 KUidAppRegistrationResourceFile
-UID3 0x03132014
-
-RESOURCE APP_REGISTRATION_INFO
-    {
-    app_file = "mnrefproviderback";
-    localisable_resource_file = "\\resource\\apps\\mnrefproviderback";
-    localisable_resource_id = R_MNREFGEOCODER_LOCALISABLE_APP_INFO;
-
-    launch = KAppLaunchInBackground;
-    hidden = KAppIsHidden;
-
-    datatype_list = {};
-    file_ownership_list = {};
-    service_list =
-        {
-        SERVICE_INFO
-            {
-            uid = KMnAppGeocodingService;
-            datatype_list = {};
-            opaque_data = r_mnrefgeocoder_geocoding_opaquedata;
-            }
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-        ,
-        SERVICE_INFO
-            {
-            uid = KMnAppMapImageService;
-            datatype_list = {};
-            opaque_data = r_mnrefprovider_mapimage_opaquedata;
-            }
-#endif
-        };
-    }
-
-RESOURCE MN_SERVICE_INFO r_mnrefgeocoder_geocoding_opaquedata
-    {
-    service_features =
-        KMnSvcFeatureCoordToAddr |
-        KMnSvcFeatureAddrToCoord |
-        KMnSvcFeaturePlainAddrToCoord;
-    }
-
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-RESOURCE MN_SERVICE_INFO r_mnrefprovider_mapimage_opaquedata
-    {
-    service_features = KMnSvcFeatureVectorMap;
-    }
-#endif
-	 
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/data/mnrefproviderengine.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,205 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Resource definition file for MnRefProviderEngine
-*
-*/
-
-
-NAME MNRE
-
-#include <eikon.rsg>
-#include <eikon.rh>
-#include <avkon.rsg>
-#include <avkon.mbg>
-#include <avkon.rh>
-
-#include <appinfo.rh>
-
-RESOURCE RSS_SIGNATURE {  }
-
-RESOURCE TBUF { buf=""; }
-
-STRUCT PLACE
-    {
-    LTEXT city;
-    LTEXT country;
-    DOUBLE lat;
-    DOUBLE lon;
-    }
-
-STRUCT PLACES
-    {
-    STRUCT places[];
-    }
-
-RESOURCE PLACES r_mnrefproviderengine_places
-    {
-    places =
-        {
-        PLACE { city="Tampere"; country="Finland"; lat=61.50; lon=23.83; }, 
-        PLACE { city="Turku"; country="Finland"; lat=60.45; lon=22.28; }, 
-        PLACE { city="Oulu"; country="Finland"; lat=65.02; lon=28.47; }, 
-        PLACE { city="Saint-Petersburg"; country="Russia"; lat=59.92; lon=30.42; }, 
-        PLACE { city="Göteborg"; country="Sweden"; lat=57.72; lon=11.97; }, 
-        PLACE { city="Kabul"; country="Afghanistan"; lat=35.10; lon=68.55; },
-        PLACE { city="Tirana"; country="Albania"; lat=41.74; lon=19.38; },
-        PLACE { city="Algiers"; country="Algeria"; lat=37.55; lon=2.29; },
-        PLACE { city="Luanda"; country="Angola"; lat=-8.35; lon=12.76; },
-        PLACE { city="Yerevan"; country="Armenia"; lat=40.47; lon=44.21; },
-        PLACE { city="Oranjestad"; country="Aruba"; lat=13.12; lon=-70.76; },
-        PLACE { city="Canberra"; country="Australia"; lat=-35.15; lon=149.04; },
-        PLACE { city="Vienna"; country="Austria"; lat=48.75; lon=15.82; },
-        PLACE { city="Baku"; country="Azerbaijan"; lat=40.79; lon=49.50; },
-        PLACE { city="Nassau"; country="Bahamas"; lat=25.74; lon=-77.99; },
-        PLACE { city="Dhaka"; country="Bangladesh"; lat=24.10; lon=90.05; },
-        PLACE { city="Bridgetown"; country="Barbados"; lat=13.68; lon=-60.20; },
-        PLACE { city="Minsk"; country="Belarus"; lat=54.08; lon=27.43; },
-        PLACE { city="Brussels"; country="Belgium"; lat=51.64; lon=3.56; },
-        PLACE { city="Belmopan"; country="Belize"; lat=17.32; lon=-88.52; },
-        PLACE { city="Hamilton"; country="Bermuda"; lat=-37.75; lon=175.28; },
-        PLACE { city="Thimphu"; country="Bhutan"; lat=28.07; lon=89.05; },
-        PLACE { city="Gaborone"; country="Botswana"; lat=-24.36; lon=25.56; },
-        PLACE { city="Brasilia"; country="Brazil"; lat=-15.48; lon=-48.22; },
-        PLACE { city="Sofia"; country="Bulgaria"; lat=43.08; lon=23.00; },
-        PLACE { city="Bujumbura"; country="Burundi"; lat=-3.19; lon=29.17; },
-        PLACE { city="Yaounde"; country="Cameroon"; lat=4.52; lon=10.90; },
-        PLACE { city="Ottawa"; country="Canada"; lat=46.28; lon=-76.53; },
-        PLACE { city="Santiago"; country="Chile"; lat=-33.07; lon=-70.99; },
-        PLACE { city="Beijing"; country="China"; lat=40.13; lon=116.12; },
-        PLACE { city="Bogota"; country="Colombia"; lat=4.78; lon=-74.21; },
-        PLACE { city="Moroni"; country="Comoros"; lat=-11.10; lon=42.69; },
-        PLACE { city="Brazzaville"; country="Congo"; lat=-3.48; lon=14.50; },
-        PLACE { city="Zagreb"; country="Croatia"; lat=45.95; lon=15.88; },
-        PLACE { city="Havana"; country="Cuba"; lat=23.82; lon=-83.05; },
-        PLACE { city="Nicosia"; country="Cyprus"; lat=35.79; lon=32.73; },
-        PLACE { city="Copenhagen"; country="Denmark"; lat=56.32; lon=11.93; },
-        PLACE { city="Djibouti"; country="Djibouti"; lat=12.24; lon=42.35; },
-        PLACE { city="Roseau"; country="Dominica"; lat=15.85; lon=-61.91; },
-        PLACE { city="Quito"; country="Ecuador"; lat=-0.20; lon=-78.55; },
-        PLACE { city="Cairo"; country="Egypt"; lat=30.38; lon=30.87; },
-        PLACE { city="Asmara"; country="Eritrea"; lat=15.40; lon=38.83; },
-        PLACE { city="Tallinn"; country="Estonia"; lat=60.28; lon=23.90; },
-        PLACE { city="Suva"; country="Fiji"; lat=-18.07; lon=178.47; },
-        PLACE { city="Helsinki"; country="Finland"; lat=60.32; lon=24.98; },
-        PLACE { city="Paris"; country="France"; lat=49.86; lon=1.34; },
-        PLACE { city="Libreville"; country="Gabon"; lat=1.11; lon=8.74; },
-        PLACE { city="Banjul"; country="Gambia"; lat=14.07; lon=-17.27; },
-        PLACE { city="Tbilisi"; country="Georgia"; lat=42.63; lon=43.90; },
-        PLACE { city="Berlin"; country="Germany"; lat=52.67; lon=13.23; },
-        PLACE { city="Accra"; country="Ghana"; lat=6.16; lon=-0.79; },
-        PLACE { city="Gibraltar"; country="Gibraltar"; lat=36.14; lon=-5.39; },
-        PLACE { city="Athens"; country="Greece"; lat=38.94; lon=22.74; },
-        PLACE { city="Godthabsfjord"; country="Greenland"; lat=64.47; lon=-52.05; },
-        PLACE { city="Agana"; country="Guam"; lat=14.05; lon=144.17; },
-        PLACE { city="Guatemala"; country="Guatemala"; lat=14.69; lon=-90.39; },
-        PLACE { city="Conakry"; country="Guinea"; lat=9.87; lon=-14.20; },
-        PLACE { city="Georgetown"; country="Guyana"; lat=6.90; lon=-58.26; },
-        PLACE { city="Tegucigalpa"; country="Honduras"; lat=14.40; lon=-87.55; },
-        PLACE { city="Budapest"; country="Hungary"; lat=47.53; lon=19.04; },
-        PLACE { city="Reykjavik"; country="Iceland"; lat=64.58; lon=-22.36; },
-        PLACE { city="Delhi"; country="India"; lat=29.56; lon=76.29; },
-        PLACE { city="Jakarta"; country="Indonesia"; lat=-5.99; lon=106.66; },
-        PLACE { city="Tehran"; country="Iran"; lat=35.91; lon=51.24; },
-        PLACE { city="Baghdad"; country="Iraq"; lat=33.40; lon=44.35; },
-        PLACE { city="Jerusalem"; country="Israel"; lat=31.98; lon=34.97; },
-        PLACE { city="Rome"; country="Italy"; lat=42.78; lon=11.60; },
-        PLACE { city="Kingston"; country="Jamaica"; lat=29.30; lon=167.80; },
-        PLACE { city="Tokyo"; country="Japan"; lat=36.39; lon=139.04; },
-        PLACE { city="Amman"; country="Jordan"; lat=32.28; lon=35.54; },
-        PLACE { city="Almaty"; country="Kazakhstan"; lat=43.45; lon=76.75; },
-        PLACE { city="Nairobi"; country="Kenya"; lat=-0.91; lon=36.43; },
-        PLACE { city="Bairiki"; country="Kiribati"; lat=1.87; lon=172.55; },
-        PLACE { city="Bishkek"; country="Kyrgyzstan"; lat=43.45; lon=74.02; },
-        PLACE { city="Vientiane"; country="Laos"; lat=18.51; lon=102.05; },
-        PLACE { city="Riga"; country="Latvia"; lat=57.18; lon=23.92; },
-        PLACE { city="Beirut"; country="Lebanon"; lat=34.19; lon=35.21; },
-        PLACE { city="Maseru"; country="Lesotho"; lat=-28.58; lon=26.78; },
-        PLACE { city="Monrovia"; country="Liberia"; lat=7.24; lon=-11.72; },
-        PLACE { city="Tripoli"; country="Libya"; lat=33.21; lon=12.87; },
-        PLACE { city="Vaduz"; country="Liechtenstein"; lat=48.11; lon=8.54; },
-        PLACE { city="Vilnius"; country="Lithuania"; lat=54.97; lon=25.00; },
-        PLACE { city="Luxembourg"; country="Luxembourg"; lat=50.55; lon=5.22; },
-        PLACE { city="Macau"; country="Macau"; lat=22.49; lon=113.33; },
-        PLACE { city="Antananarivo"; country="Madagascar"; lat=-18.61; lon=47.21; },
-        PLACE { city="Lilongwe"; country="Malawi"; lat=-13.42; lon=33.22; },
-        PLACE { city="Male"; country="Maldives"; lat=4.90; lon=72.77; },
-        PLACE { city="Bamako"; country="Mali"; lat=13.47; lon=-8.82; },
-        PLACE { city="Valletta"; country="Malta"; lat=36.43; lon=13.97; },
-        PLACE { city="Nouakchott"; country="Mauritania"; lat=18.32; lon=-16.14; },
-        PLACE { city="Dzaoudzi"; country="Mayotte"; lat=-12.34; lon=44.84; },
-        PLACE { city="Palikir"; country="Micronesia"; lat=7.51; lon=157.56; },
-        PLACE { city="Chisinau"; country="Moldova"; lat=47.92; lon=27.95; },
-        PLACE { city="Monaco"; country="Monaco"; lat=44.41; lon=6.67; },
-        PLACE { city="Plymouth"; country="Montserrat"; lat=50.65; lon=-4.42; },
-        PLACE { city="Rabat"; country="Morocco"; lat=34.81; lon=-7.57; },
-        PLACE { city="Maputo"; country="Mozambique"; lat=-25.66; lon=32.23; },
-        PLACE { city="Yangon"; country="Myanmar"; lat=16.84; lon=96.08; },
-        PLACE { city="Windhoek"; country="Namibia"; lat=-21.94; lon=16.42; },
-        PLACE { city="Domaneab"; country="Nauru"; lat=0.31; lon=166.07; },
-        PLACE { city="Kathmandu"; country="Nepal"; lat=28.43; lon=84.66; },
-        PLACE { city="Amsterdam"; country="Netherlands"; lat=53.17; lon=4.01; },
-        PLACE { city="Managua"; country="Nicaragua"; lat=12.61; lon=-86.84; },
-        PLACE { city="Niamey"; country="Niger"; lat=13.73; lon=1.89; },
-        PLACE { city="Lagos"; country="Nigeria"; lat=38.00; lon=-9.60; },
-        PLACE { city="Alofi"; country="Niue"; lat=-18.95; lon=-170.02; },
-        PLACE { city="Oslo"; country="Norway"; lat=60.46; lon=10.20; },
-        PLACE { city="Muscat"; country="Oman"; lat=24.48; lon=57.74; },
-        PLACE { city="Islamabad"; country="Pakistan"; lat=34.43; lon=72.40; },
-        PLACE { city="Koror"; country="Palau"; lat=7.77; lon=134.06; },
-        PLACE { city="Panama"; country="Panama"; lat=9.97; lon=-80.52; },
-        PLACE { city="Asuncion"; country="Paraguay"; lat=-25.26; lon=-57.67; },
-        PLACE { city="Lima"; country="Peru"; lat=-11.31; lon=-77.79; },
-        PLACE { city="Manila"; country="Philippines"; lat=14.80; lon=120.75; },
-        PLACE { city="Adamstown"; country="Pitcairn"; lat=-24.53; lon=-130.62; },
-        PLACE { city="Warsaw"; country="Poland"; lat=52.94; lon=20.28; },
-        PLACE { city="Lisbon"; country="Portugal"; lat=38.72; lon=-9.20; },
-        PLACE { city="Doha"; country="Qatar"; lat=25.95; lon=50.93; },
-        PLACE { city="Bucharest"; country="Romania"; lat=45.34; lon=25.21; },
-        PLACE { city="Moscow"; country="Russia"; lat=55.88; lon=37.50; },
-        PLACE { city="Kigali"; country="Rwanda"; lat=-1.70; lon=29.78; },
-        PLACE { city="Dakar"; country="Senegal"; lat=15.06; lon=-17.87; },
-        PLACE { city="Victoria"; country="Seychelles"; lat=-3.71; lon=54.53; },
-        PLACE { city="Singapore"; country="Singapore"; lat=1.28; lon=103.85; },
-        PLACE { city="Ljubljana"; country="Slovenia"; lat=46.83; lon=13.79; },
-        PLACE { city="Mogadishu"; country="Somalia"; lat=2.60; lon=44.85; },
-        PLACE { city="Madrid"; country="Spain"; lat=41.49; lon=-4.74; },
-        PLACE { city="Khartoum"; country="Sudan"; lat=15.56; lon=32.54; },
-        PLACE { city="Paramaribo"; country="Surinam"; lat=5.85; lon=-55.18; },
-        PLACE { city="Mbabane"; country="Swaziland"; lat=-25.92; lon=30.72; },
-        PLACE { city="Stockholm"; country="Sweden"; lat=59.67; lon=17.71; },
-        PLACE { city="Berne"; country="Switzerland"; lat=47.49; lon=6.92; },
-        PLACE { city="Damascus"; country="Syria"; lat=33.89; lon=35.91; },
-        PLACE { city="Taipei"; country="Taiwan"; lat=25.93; lon=120.62; },
-        PLACE { city="Dushanbe"; country="Tajikistan"; lat=39.48; lon=67.88; },
-        PLACE { city="Dodoma"; country="Tanzania"; lat=-5.16; lon=34.78; },
-        PLACE { city="Bangkok"; country="Thailand"; lat=14.36; lon=99.90; },
-        PLACE { city="Lhasa"; country="Tibet"; lat=30.60; lon=90.17; },
-        PLACE { city="Lome"; country="Togo"; lat=6.63; lon=0.73; },
-        PLACE { city="Tunis"; country="Tunisia"; lat=36.85; lon=10.17; },
-        PLACE { city="Ankara"; country="Turkey"; lat=40.34; lon=32.56; },
-        PLACE { city="Ashkhabad"; country="Turkmenistan"; lat=38.22; lon=58.11; },
-        PLACE { city="Funafuti"; country="Tuvalu"; lat=-8.30; lon=178.96; },
-        PLACE { city="Kampala"; country="Uganda"; lat=1.20; lon=31.64; },
-        PLACE { city="Kiev"; country="Ukraine"; lat=50.92; lon=30.06; },
-        PLACE { city="Montevideo"; country="Uruguay"; lat=-34.21; lon=-56.81; },
-        PLACE { city="Tashkent"; country="Uzbekistan"; lat=41.40; lon=69.24; },
-        PLACE { city="Caracas"; country="Venezuela"; lat=11.16; lon=-67.58; },
-        PLACE { city="Hanoi"; country="Vietnam"; lat=21.33; lon=105.67; },
-        PLACE { city="Sanaa"; country="Yemen"; lat=16.39; lon=43.26; },
-        PLACE { city="Belgrade"; country="Yugoslavia"; lat=45.56; lon=19.77; },
-        PLACE { city="Lusaka"; country="Zambia"; lat=-15.00; lon=27.80; },
-        PLACE { city="Harare"; country="Zimbabwe"; lat=-17.30; lon=30.61; }
-		};
-	}
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/data/mnrefproviderplugin.rss	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Defines the ECom registration resource for TestProviderPlugin.
-*
-*/
-
-
-//  RESOURCE IDENTIFIER
-NAME MNTP
-
-#include <ecom/registryinfov2.rh>
-#include <mnpluginuids.hrh> // defines interface UID
-
-RESOURCE REGISTRY_INFO r_mycoordconverterplugin_reginfo
-	{
-	resource_format_version = RESOURCE_FORMAT_VERSION_2;
-	// DLL UID of the DLL
-	dll_uid = 0x03133037;
-	interfaces =
-	    {
-	    INTERFACE_INFO
-	        {
-	        // UID of coordinate converter interface,
-	        // defined in mnpluginuids.hrh
-	        interface_uid = KMnMapImageConverterIf;
-	        implementations =
-	            {
-	            IMPLEMENTATION_INFO
-	                {
-	                // The licensee needs to allocate this UID from Symbian
-	                implementation_uid = 0x03133038;
-	                version_no = 1;
-	                display_name = "MnRefProviderCoordConverter";
-	                // SID of provider application executable
-	                default_data = "03132014";
-	                }
-	            };
-	        }
-	    };
-	}
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/eabi/mnrefproviderengine.50u.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-EXPORTS
-	_ZN11CMnrpEngine12KnownPlacesLEv @ 1 NONAME
-	_ZN11CMnrpEngine15AddressToCoordLERK12CPosLandmark @ 2 NONAME
-	_ZN11CMnrpEngine15AddressToCoordLERK7TDesC16 @ 3 NONAME
-	_ZN11CMnrpEngine16AddressToCoordLCERK12CPosLandmark @ 4 NONAME
-	_ZN11CMnrpEngine16AddressToCoordLCERK7TDesC16 @ 5 NONAME
-	_ZN11CMnrpEngine16CoordToAddressLCERK11TCoordinate @ 6 NONAME
-	_ZN11CMnrpEngine16FindClosestPoisLERK12CPosLandmarkR6RArrayINS_14TDistanceToPoiEEi @ 7 NONAME
-	_ZN11CMnrpEngine17FindResourceFileLERK7TDesC16R4TBufILi256EE @ 8 NONAME
-	_ZN11CMnrpEngine24DistanceBetweenLandmarksERK12CPosLandmarkS2_ @ 9 NONAME
-	_ZN11CMnrpEngine26BestCoordToAddressMatchesLERK11TCoordinateR13RPointerArrayI12CPosLandmarkEi @ 10 NONAME
-	_ZN11CMnrpEngine2FsEv @ 11 NONAME
-	_ZN11CMnrpEngine4NewLEv @ 12 NONAME
-	_ZN11CMnrpEngineD0Ev @ 13 NONAME
-	_ZN11CMnrpEngineD1Ev @ 14 NONAME
-	_ZN11CMnrpEngineD2Ev @ 15 NONAME
-	_ZN13CMnrpMapModel11UpdateModelERK17TMnMapImageParams @ 16 NONAME
-	_ZN13CMnrpMapModel12UpdateModelLER19CMnrpMapViewService @ 17 NONAME
-	_ZN13CMnrpMapModel12UpdateModelLERK20CMnrpMapImageService @ 18 NONAME
-	_ZN13CMnrpMapModel13SetScreenSizeE5TSize @ 19 NONAME
-	_ZN13CMnrpMapModel19NumIgnoredLandmarksEv @ 20 NONAME
-	_ZN13CMnrpMapModel4NewLER11CMnrpEngine @ 21 NONAME
-	_ZN13CMnrpMapModel4NewLER17MMapModelObserverR11CMnrpEngine @ 22 NONAME
-	_ZN13CMnrpMapModel4ZoomEd @ 23 NONAME
-	_ZN13CMnrpMapModel6MoveToE11TCoordinate @ 24 NONAME
-	_ZN13CMnrpMapModel8GoCenterEv @ 25 NONAME
-	_ZN20CMnrpPositionRequest11GetPositionER13TPositionInfo @ 26 NONAME
-	_ZN20CMnrpPositionRequest11SetOptionsLERK26TPositionUpdateOptionsBase @ 27 NONAME
-	_ZN20CMnrpPositionRequest14MagneticCourseEv @ 28 NONAME
-	_ZN20CMnrpPositionRequest15MagneticHeadingEv @ 29 NONAME
-	_ZN20CMnrpPositionRequest16FetchNewPositionEi @ 30 NONAME
-	_ZN20CMnrpPositionRequest4NewLERK7TDesC16R21MMnrpPositionObserver @ 31 NONAME
-	_ZN20CMnrpPositionRequest5SpeedEv @ 32 NONAME
-	_ZN20CMnrpPositionRequest6CourseEv @ 33 NONAME
-	_ZN20CMnrpPositionRequest7HeadingEv @ 34 NONAME
-	_ZN20CMnrpPositionRequestD0Ev @ 35 NONAME
-	_ZN20CMnrpPositionRequestD1Ev @ 36 NONAME
-	_ZN20CMnrpPositionRequestD2Ev @ 37 NONAME
-	_ZN9MnrpUtils13AngleToStringEdR6TDes16 @ 38 NONAME
-	_ZN9MnrpUtils13SpeedToStringEdR6TDes16 @ 39 NONAME
-	_ZN9MnrpUtils16DistanceToStringEdR6TDes16 @ 40 NONAME
-	_ZN9MnrpUtils17PrintableStringLCERK7TDesC16 @ 41 NONAME
-	_ZN9MnrpUtils18CoordinateToStringEdR6TDes16ii @ 42 NONAME
-	_ZNK13CMnrpMapModel16AbsoluteToScreenE11TCoordinate @ 43 NONAME
-	_ZNK13CMnrpMapModel16ScreenToAbsoluteE6TPoint @ 44 NONAME
-	_ZNK13CMnrpMapModel16ScreenToAbsoluteEi @ 45 NONAME
-	_ZNK13CMnrpMapModel3TopEv @ 46 NONAME
-	_ZNK13CMnrpMapModel4LeftEv @ 47 NONAME
-	_ZNK13CMnrpMapModel5RightEv @ 48 NONAME
-	_ZNK13CMnrpMapModel5WidthEv @ 49 NONAME
-	_ZNK13CMnrpMapModel6BottomEv @ 50 NONAME
-	_ZNK13CMnrpMapModel6CenterEv @ 51 NONAME
-	_ZNK13CMnrpMapModel6HeightEv @ 52 NONAME
-	_ZNK13CMnrpMapModel7GetGridERNS_5TGridE @ 53 NONAME
-	_ZNK13CMnrpMapModel7RenderLER10CFbsBitmap5TRectP5CFontS4_ @ 54 NONAME
-	_ZTI11CMnrpEngine @ 55 NONAME ; #<TI>#
-	_ZTI13CMnrpMapModel @ 56 NONAME ; #<TI>#
-	_ZTI20CMnrpPositionRequest @ 57 NONAME ; #<TI>#
-	_ZTIN13CMnrpMapModel9CDrawItemE @ 58 NONAME ; #<TI>#
-	_ZTV11CMnrpEngine @ 59 NONAME ; #<VT>#
-	_ZTV13CMnrpMapModel @ 60 NONAME ; #<VT>#
-	_ZTV20CMnrpPositionRequest @ 61 NONAME ; #<VT>#
-	_ZTVN13CMnrpMapModel9CDrawItemE @ 62 NONAME ; #<VT>#
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/eabi/mnrefproviderengineu.def	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-EXPORTS
-	_ZN11CMnrpEngine12KnownPlacesLEv @ 1 NONAME
-	_ZN11CMnrpEngine16AddressToCoordLCERK12CPosLandmark @ 2 NONAME
-	_ZN11CMnrpEngine16AddressToCoordLCERK7TDesC16 @ 3 NONAME
-	_ZN11CMnrpEngine16CoordToAddressLCERK11TCoordinate @ 4 NONAME
-	_ZN11CMnrpEngine16FindClosestPoisLERK12CPosLandmarkR6RArrayINS_14TDistanceToPoiEEi @ 5 NONAME
-	_ZN11CMnrpEngine17FindResourceFileLERK7TDesC16R4TBufILi256EE @ 6 NONAME
-	_ZN11CMnrpEngine24DistanceBetweenLandmarksERK12CPosLandmarkS2_ @ 7 NONAME
-	_ZN11CMnrpEngine26BestCoordToAddressMatchesLERK11TCoordinateR13RPointerArrayI12CPosLandmarkEi @ 8 NONAME
-	_ZN11CMnrpEngine2FsEv @ 9 NONAME
-	_ZN11CMnrpEngine4NewLEv @ 10 NONAME
-	_ZN11CMnrpEngineD0Ev @ 11 NONAME
-	_ZN11CMnrpEngineD1Ev @ 12 NONAME
-	_ZN11CMnrpEngineD2Ev @ 13 NONAME
-	_ZN13CMnrpMapModel12UpdateModelLER19CMnrpMapViewService @ 14 NONAME
-	_ZN13CMnrpMapModel13SetScreenSizeE5TSize @ 15 NONAME
-	_ZN13CMnrpMapModel4NewLER11CMnrpEngine @ 16 NONAME
-	_ZN13CMnrpMapModel4NewLER17MMapModelObserverR11CMnrpEngine @ 17 NONAME
-	_ZN13CMnrpMapModel4ZoomEd @ 18 NONAME
-	_ZN13CMnrpMapModel6MoveToE11TCoordinate @ 19 NONAME
-	_ZN13CMnrpMapModel8GoCenterEv @ 20 NONAME
-	_ZN20CMnrpPositionRequest11GetPositionER13TPositionInfo @ 21 NONAME
-	_ZN20CMnrpPositionRequest11SetOptionsLERK26TPositionUpdateOptionsBase @ 22 NONAME
-	_ZN20CMnrpPositionRequest14MagneticCourseEv @ 23 NONAME
-	_ZN20CMnrpPositionRequest15MagneticHeadingEv @ 24 NONAME
-	_ZN20CMnrpPositionRequest16FetchNewPositionEi @ 25 NONAME
-	_ZN20CMnrpPositionRequest4NewLERK7TDesC16R21MMnrpPositionObserver @ 26 NONAME
-	_ZN20CMnrpPositionRequest5SpeedEv @ 27 NONAME
-	_ZN20CMnrpPositionRequest6CourseEv @ 28 NONAME
-	_ZN20CMnrpPositionRequest7HeadingEv @ 29 NONAME
-	_ZN20CMnrpPositionRequestD0Ev @ 30 NONAME
-	_ZN20CMnrpPositionRequestD1Ev @ 31 NONAME
-	_ZN20CMnrpPositionRequestD2Ev @ 32 NONAME
-	_ZN9MnrpUtils13AngleToStringEdR6TDes16 @ 33 NONAME
-	_ZN9MnrpUtils13SpeedToStringEdR6TDes16 @ 34 NONAME
-	_ZN9MnrpUtils16DistanceToStringEdR6TDes16 @ 35 NONAME
-	_ZN9MnrpUtils18CoordinateToStringEdR6TDes16ii @ 36 NONAME
-	_ZNK13CMnrpMapModel16AbsoluteToScreenE11TCoordinate @ 37 NONAME
-	_ZNK13CMnrpMapModel16ScreenToAbsoluteE6TPoint @ 38 NONAME
-	_ZNK13CMnrpMapModel16ScreenToAbsoluteEi @ 39 NONAME
-	_ZNK13CMnrpMapModel3TopEv @ 40 NONAME
-	_ZNK13CMnrpMapModel4LeftEv @ 41 NONAME
-	_ZNK13CMnrpMapModel5RightEv @ 42 NONAME
-	_ZNK13CMnrpMapModel5WidthEv @ 43 NONAME
-	_ZNK13CMnrpMapModel6BottomEv @ 44 NONAME
-	_ZNK13CMnrpMapModel6CenterEv @ 45 NONAME
-	_ZNK13CMnrpMapModel6HeightEv @ 46 NONAME
-	_ZNK13CMnrpMapModel7GetGridERNS_5TGridE @ 47 NONAME
-	_ZNK13CMnrpMapModel7RenderLER10CFbsBitmap5TRectP5CFontS4_ @ 48 NONAME
-	_ZTI11CMnrpEngine @ 49 NONAME ; #<TI>#
-	_ZTI13CMnrpMapModel @ 50 NONAME ; #<TI>#
-	_ZTI20CMnrpPositionRequest @ 51 NONAME ; #<TI>#
-	_ZTIN13CMnrpMapModel9CDrawItemE @ 52 NONAME ; #<TI>#
-	_ZTV11CMnrpEngine @ 53 NONAME ; #<VT>#
-	_ZTV13CMnrpMapModel @ 54 NONAME ; #<VT>#
-	_ZTV20CMnrpPositionRequest @ 55 NONAME ; #<VT>#
-	_ZTVN13CMnrpMapModel9CDrawItemE @ 56 NONAME ; #<VT>#
-	_ZN9MnrpUtils17PrintableStringLCERK7TDesC16 @ 57 NONAME
-	_ZN11CMnrpEngine14AddressToCoordERK12CPosLandmark @ 58 NONAME
-	_ZN11CMnrpEngine14AddressToCoordERK7TDesC16 @ 59 NONAME
-	_ZN13CMnrpMapModel19NumIgnoredLandmarksEv @ 60 NONAME
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Build information file for project MapNavRefProviderApp
-*
-*/
-
-
-#include <bldvariant.hrh>
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXTENSIONS
-START EXTENSION s60/mifconv
-OPTION TARGETFILE MnRefProvider.mif  // this will also generate .mbm;
-OPTION HEADERFILE MnRefProvider.mbg
-OPTION SOURCES -c8,8 default_lm.bmp
-OPTION SOURCEDIR ../data
-END
-PRJ_MMPFILES
-
-PRJ_TESTMMPFILES
-mnconvpluginrefengine.mmp
-mnconvpluginrefprovider.mmp
-mnconvpluginrefproviderback.mmp
-
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-mnconvpluginrefproviderplugin.mmp
-#endif
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/group/mnconvpluginrefengine.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Project definition file for MnRefProviderEngine
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET              mnrefproviderengine.dll
-TARGETTYPE          dll
-UID                 0x1000008D 0x03132015
-
-VENDORID            VID_DEFAULT
-CAPABILITY          ReadUserData WriteUserData Location
-
-SOURCEPATH          ../src
-
-SOURCE              mnrpengine.cpp
-SOURCE              mnrpmapmodel.cpp
-SOURCE              mnrppositionrequest.cpp
-SOURCE              mnrputils.cpp
-
-USERINCLUDE         ../inc
-MW_LAYER_SYSTEMINCLUDE
-
-LIBRARY             euser.lib efsrv.lib estor.lib bafl.lib
-LIBRARY             eikcore.lib
-LIBRARY             aknicon.lib egul.lib gdi.lib bitgdi.lib
-
-LIBRARY             eposlandmarks.lib
-LIBRARY             lbs.lib
-LIBRARY             mnclientlib.lib mnservicelib.lib
-
-DEBUGLIBRARY        flogger.lib
-
-START RESOURCE      ../data/mnrefproviderengine.rss
-HEADER
-TARGETPATH          /resource
-END
-
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-#ifdef WINS
-DEFFILE         ../bwins/mnrefproviderengine.50.def
-#else
-DEFFILE         ../eabi/mnrefproviderengine.50.def
-#endif
-#endif
-
-SMPSAFE
-
-// END OF FILE
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/group/mnconvpluginrefprovider.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Project definition file for MnRefProvider
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET              mnrefprovider.exe
-TARGETTYPE          exe
-EPOCSTACKSIZE       0x5000
-UID                 0x100039CE 0x03132013
-
-VENDORID            VID_DEFAULT
-CAPABILITY          ReadUserData WriteUserData Location
-
-SOURCEPATH          ../src
-
-SOURCE              mnrefprovider.cpp
-SOURCE              mnrpapplication.cpp
-SOURCE              mnrpappui.cpp
-SOURCE              mnrpdocument.cpp
-SOURCE              mnrpappserver.cpp
-
-SOURCE              mnrpappview.cpp
-SOURCE              mnrpappcontrol.cpp
-
-SOURCE              mnrpmapview.cpp
-SOURCE              mnrpmapcontrol.cpp
-
-SOURCE              mnrpnaviview.cpp
-SOURCE              mnrpnavimodel.cpp
-SOURCE              mnrpnavicontrol.cpp
-
-SOURCE              mnrpnavigationservice.cpp
-SOURCE              mnrpmapviewservice.cpp
-
-USERINCLUDE         ../inc
-
-MW_LAYER_SYSTEMINCLUDE
-
-LIBRARY             euser.lib efsrv.lib estor.lib apparc.lib bafl.lib
-LIBRARY             cone.lib eikcore.lib eikcoctl.lib eikctl.lib eikdlg.lib
-
-LIBRARY             avkon.lib aknskins.lib aknicon.lib
-LIBRARY             egul.lib gdi.lib ws32.lib fbscli.lib
-LIBRARY             imageconversion.lib
-
-LIBRARY             eposlandmarks.lib eposlmsearchlib.lib
-LIBRARY             lbs.lib
-LIBRARY             mnservicelib.lib
-
-LIBRARY             mnrefproviderengine.lib
-
-DEBUGLIBRARY        flogger.lib
-
-START RESOURCE      ../data/MnRefProvider.rss
-HEADER
-TARGETPATH          /resource/apps
-END
-
-START RESOURCE      ../data/MnRefProvider_reg.rss
-DEPENDS mnrefprovider.rsg
-TARGETPATH          /private/10003a3f/apps
-END
-
-SMPSAFE
-
-// END OF FILE
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/group/mnconvpluginrefproviderback.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Project definition file for MnRefGeocoder
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET              mnrefproviderback.exe
-TARGETTYPE          exe
-EPOCSTACKSIZE       0x5000
-UID                 0x100039CE 0x03132014
-
-VENDORID            VID_DEFAULT
-CAPABILITY          ReadUserData WriteUserData Location
-
-SOURCEPATH          ../src
-
-SOURCE              mnrefproviderback.cpp
-SOURCE              mnrpapplicationback.cpp
-SOURCE              mnrpappuiback.cpp
-SOURCE              mnrpdocumentback.cpp
-SOURCE              mnrpappserverback.cpp
-
-SOURCE              mnrpgeocodingservice.cpp
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-SOURCE              mnrpmapimageservice.cpp
-#endif
-
-USERINCLUDE         ../inc
-MW_LAYER_SYSTEMINCLUDE
-
-LIBRARY             euser.lib efsrv.lib estor.lib bafl.lib
-LIBRARY             cone.lib apparc.lib eikcore.lib eikcoctl.lib
-LIBRARY             ws32.lib gdi.lib
-
-LIBRARY             avkon.lib aknskins.lib
-
-LIBRARY             eposlandmarks.lib
-LIBRARY             lbs.lib
-LIBRARY             mnservicelib.lib
-
-LIBRARY             mnrefproviderengine.lib
-
-DEBUGLIBRARY        flogger.lib
-
-START RESOURCE      ../data/mnrefproviderback.rss
-HEADER
-TARGETPATH          /resource/apps
-END
-
-START RESOURCE      ../data/mnrefproviderback_reg.rss
-DEPENDS mnrefproviderback.rsg
-TARGETPATH          /private/10003a3f/apps
-END
-
-SMPSAFE
-
-// END OF FILE
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/group/mnconvpluginrefproviderplugin.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Project definition file for MnRefProviderPlugin
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET              MnRefProviderPlugin.dll
-TARGETTYPE          PLUGIN
-UID                 0x10009D8D 0x03133037
-
-VENDORID            VID_DEFAULT
-CAPABILITY          ReadUserData WriteUserData Location
-
-SOURCEPATH          ../src
-
-SOURCE              mnrefproviderplugin.cpp
-SOURCE				mnrpcoordconverter.cpp
-
-USERINCLUDE         ../inc
-MW_LAYER_SYSTEMINCLUDE
-
-LIBRARY             euser.lib
-LIBRARY             lbs.lib
-LIBRARY             mnclientlib.lib
-LIBRARY             mnrefproviderengine.lib
-DEBUGLIBRARY        flogger.lib
-
-START RESOURCE      ../data/mnrefproviderplugin.rss
-TARGET			    mnrefproviderplugin.rsc
-TARGETPATH          /resource/plugins
-END
-
-SMPSAFE
-
-// END OF FILE
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/debug.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Debug macros
-*
-*/
-
-
-#ifndef MNRP_DEBUG_H
-#define MNRP_DEBUG_H
-
-#include <e32base.h>
-
-#ifdef _DEBUG
-
-#include <e32svr.h>
-#include <e32std.h>
-#include <f32file.h>
-#include <flogger.h>
-
-_LIT(KLogFile, "mnlog.txt");
-_LIT(KLogDirFullName, "c:\\logs\\");
-_LIT(KLogDir, "mn");
-
-inline void Prefix( TDes& aMessage )
-    {
-    RProcess process;
-    _LIT( KPrefix, "[MnRefProvider/%ld]: ");
-    aMessage.Format( KPrefix, process.Id().Id() );
-    }
-
-inline void Log( TRefByValue<const TDesC> aFmt, ... )
-    {
-    VA_LIST list;
-    VA_START( list, aFmt );
-
-    HBufC* buf = HBufC::New(512);
-    if ( buf )
-    	{
-    	TPtr ptr( buf->Des() );
-	    Prefix( ptr );
-	    ptr.AppendFormatList( aFmt, list );
-
-	    RDebug::RawPrint( ptr );
-	    RFileLogger::Write( KLogDir, KLogFile, EFileLoggingModeAppend, ptr );
-
-	    delete buf;
-    	}
-    }
-
-#define LOG( a )             { Log( _L( a ) ); }
-#define LOG1( a, b )         { Log( _L( a ), b ); }
-#define LOG2( a, b, c )      { Log( _L( a ), b, c ); }
-#define LOG3( a, b, c, d )   { Log( _L( a ), b, c, d ); }
-#define LOG4( a, b, c, d, e )   { Log( _L( a ), b, c, d, e ); }
-
-#else // _DEBUG
-
-// Release version - no logging
-#define LOG( a)
-#define LOG1( a, b )
-#define LOG2( a, b, c )
-#define LOG3( a, b, c, d )
-#define LOG4( a, b, c, d, e )
-
-#endif // _DEBUG
-
-inline void Panic( TInt aReason )
-    {
-    _LIT( KPanicCategory, "MnRefProvider" );
-    LOG1("Panicking: %1", aReason);
-    User::Panic( KPanicCategory, aReason );
-    }
-
-#endif // MNRP_DEBUG_H
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrp.hrh	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Common source and resource constants
-*
-*/
-
-
-#ifndef __MNRP_HRH__
-#define __MNRP_HRH__
-
-enum TMnrpCommandIds
-    {
-	EMnrpCommandFullScreen = 100,
-	EMnrpCommandSelect
-    };
-
-enum TMnrpViewIds
-    {
-    EMnrpAppViewId = 1,
-    EMnrpMapViewId,
-    EMnrpNavigationViewId
-    };
-
-#endif // __MNRP_HRH__
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpappcontrol.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpAppControl class definition 
-*
-*/
-
-
-#ifndef MNRP_APPCONTROL_H
-#define MNRP_APPCONTROL_H
-
-#include <coecntrl.h>
-class CMnrpAppView;
-
-/** Empty view for the case when application is started
- *	from menu */
-class CMnrpAppControl : public CCoeControl
-    {
-    public:
-
-        static CMnrpAppControl* NewL( CMnrpAppView& aView, const TRect& aRect );
-
-        virtual ~CMnrpAppControl();
-
-    public:  // From CCoeControl
-
-        TInt CountComponentControls() const;
-        CCoeControl* ComponentControl( TInt aIndex ) const;
-        void HandleResourceChange( TInt aType );
-
-        void Draw( const TRect& aRect ) const;
-        
-    private:
-
-        void ConstructL( const TRect& aRect );
-        CMnrpAppControl( CMnrpAppView& aView );
-        
-    private:
-        CMnrpAppView&   iView;
-    };
-
-#endif // MNRP_APPCONTROL_H
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpapplication.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpApplication class definition 
-*
-*/
-
-
-#ifndef MNRP_APPLICATION_H
-#define MNRP_APPLICATION_H
-
-#include <eikapp.h>
-
-/**
- *  An instance of CMnrpApplication is the application part of the Eikon
- *  application framework for the MnRefProvider.
- *	MnRefProvider is an Application Server, which implements MapView and Navigation
- *	services of M&N FW.
- */
-class CMnrpApplication : public CEikApplication
-    {
-    public:  // from CEikApplication
-
-        /** 
-        * AppDllUid returns the application DLL UID value.
-        *
-        *  @return the UID of this Application/Dll
-        */
-        TUid AppDllUid() const;
-
-    protected: // from CEikApplication
-
-        /** 
-        * CreateDocumentL creates a CApaDocument object and return a pointer to it
-        *
-        * @return a pointer to the created document
-        */
-        CApaDocument* CreateDocumentL();
-        
-        void NewAppServerL(CApaAppServer *&aAppServer);
-
-    };
-
-#endif // MNRP_APPLICATION_H
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpapplicationback.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpApplicationBack class definition
-*
-*/
-
-
-#ifndef MNRP_APPLICATIONBACK_H
-#define MNRP_APPLICATIONBACK_H
-
-#include <eikapp.h>
-
-/**
- *  An instance of CMnrpApplicationBack is the application part of the Eikon
- *  application framework for the MnRefGeocoder.
- *	MnRefGeocoder is a hidden application and works only as geocoder server.
- *	It accepts geocoding requests from M&N FW, serves them and exits, when 
- *	all clients are disconnected.
- */
-class CMnrpApplicationBack : public CEikApplication
-    {
-    public:  // from CEikApplication
-
-        /** 
-        * AppDllUid returns the application DLL UID value.
-        *
-        *  @return the UID of this Application/Dll
-        */
-        TUid AppDllUid() const;
-
-    protected: // from CEikApplication
-
-        /** 
-        * CreateDocumentL creates a CApaDocument object and return a pointer to it
-        *
-        * @return a pointer to the created document
-        */
-        CApaDocument* CreateDocumentL();
-        
-        void NewAppServerL(CApaAppServer *&aAppServer);
-
-    };
-
-#endif // MNRP_APPLICATIONBACK_H
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpappserver.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpAppServer class definition
-*
-*/
-
-
-#ifndef MNRP_APPSERVER_H
-#define MNRP_APPSERVER_H
-
-#include <aknserverapp.h>
-
-class CMnrpAppUi;
-class CMnrpNavigationService;
-class CMnrpMapViewService;
-
-/** Application Server class of MnRefProvider component */
-class CMnrpAppServer : public CAknAppServer
-    {
-    public:
-        ~CMnrpAppServer();
-        
-        CMnrpAppUi* AppUi();
-
-    public: // from CAknAppServer
-    	/** Creates new service class and returns pointer to it */
-        IMPORT_C CApaAppServiceBase* CreateServiceL(TUid aServiceType) const;
-        
-        /** Overrides base function. Doesn't close application evenb if all
-         *	clients have disconnected until user closes it herself. 
-         *	It is important for standalone execution, when calling application
-         *	may be closed, but user still wants to continue with Map or Navigation.
-         */
-        IMPORT_C void HandleAllClientsClosed();
-        
-    protected:        
-    	/** Creates new navigation service class and returns pointer to it */
-        CMnrpNavigationService* CreateNavigationServiceL() const;
-    	/** Creates new map view service class and returns pointer to it */
-        CMnrpMapViewService* CreateMapViewServiceL() const;
-    };
-
-#endif // MNRP_APPSERVER_H
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpappserverback.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpAppServerBack class definition
-*
-*/
-
-
-#ifndef MNRP_APPSERVERBACK_H
-#define MNRP_APPSERVERBACK_H
-
-#include <aknserverapp.h>
-
-class CMnrpGeocodingService;
-class CMnrpEngine;
-
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-class CMnrpMapImageService;
-#endif
-
-/** Application Server class of MnRefGeocoder component
- *	It ows Engine instance.
- */
-class CMnrpAppServerBack : public CAknAppServer
-    {
-    public:
-        static CMnrpAppServerBack* NewL();
-        ~CMnrpAppServerBack();
-
-    public: // from CAknAppServer
-    	/** Creates new geocoding service class and returns pointer to it */
-        IMPORT_C CApaAppServiceBase* CreateServiceL( TUid aServiceType ) const;
-
-    protected:
-        void ConstructL();
-
-    	/** Creates new geocoding service class and returns pointer to it */
-        CMnrpGeocodingService* CreateGeocodingServiceL() const;
-
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-    	/** Creates new map image service class and returns pointer to it */
-        CMnrpMapImageService* CreateMapImageServiceL() const;
-#endif
-
-    private:
-        CMnrpEngine* iEngine;
-    };
-
-#endif // MNRP_APPSERVERBACK_H
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpappui.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpAppUi class definition
-*
-*/
-
-
-#ifndef MNRP_APPUI_H
-#define MNRP_APPUI_H
-
-#include <aknviewappui.h>
-#include <epos_landmarks.h>
-
-class TCoordinate;
-class CPosLandmark;
-
-class CMnrpAppView;
-class CMnrpNaviView;
-class CMnrpMapView;
-
-class CMnrpMapViewService;
-
-class CAknNavigationDecorator;
-class CAknNavigationControlContainer;
-
-class CMnrpEngine;
-
-/** Map selection callback class */
-class MMapSelectionCallback
-    {
-    public:
-        /** Called when user selects location from map */
-        virtual void HandleSelectionL( const TCoordinate& aSelection ) = 0;
-
-        /** Called when user selects landmark from dialog list */
-        virtual void HandleSelectionL( TInt aLandmarkIndex ) = 0;
-        virtual void HandleSelectionL( TPosLmItemId aLandmarkId, TInt aDbIndex ) = 0;
-        
-        /** Called when user refuses selection */
-        virtual void HandleSelectionErrorL( TInt aError ) = 0;
-    };
-
-/** Simple App UI for MnRefProvider component.
- *	It manages application views.
- */
-class CMnrpAppUi : public CAknViewAppUi
-    {
-    public:
-
-        CMnrpAppUi( CMnrpEngine& aEngine );
-        void ConstructL();
-        ~CMnrpAppUi();
-
-        void ShowMapL( CMnrpMapViewService& aService );
-
-        void StartSelectionL( 
-            CMnrpMapViewService& aService,  
-            MMapSelectionCallback& aCallback );
-
-        void StopSelection();
-
-        void ShowNavigationL( const CPosLandmark& aDestination );
-
-		/** Returns ETrue if Map or Navigaton view is still open */
-        TBool IsAnyUserViewActive();
-        
-		/** Returns ETrue if application was started embedded */
-        TBool IsChainedMode();
-
-        void SetNaviPaneTitleL( const TDesC& aPaneTitle );
-        void SetRightSoftkeyCommandL( TInt aCommand, const TDesC& aButtonTitle );
-        
-    protected: // from CAknAppUi
-    
-        void HandleCommandL(TInt aCommand);
-        void HandleResourceChangeL( TInt aType );
-        TBool ProcessCommandParametersL( CApaCommandLine &aCommandLine );
-
-    private:
-
-        void PostConstructL();
-
-        void SelectFromDialogL(
-            CMnrpMapViewService& aService,
-            MMapSelectionCallback& aCallback );
-
-    private:
-    	/** Empty view */
-        CMnrpAppView* iAppView;
-
-		/** Navigation view */
-        CMnrpNaviView* iNaviView;
-		/** Map view */
-        CMnrpMapView* iMapView;
-
-        //Own:
-        CAknNavigationDecorator* iNaviPaneLabel;
-
-        //Ref:
-        CAknNavigationControlContainer* iNaviPane;
-        
-        TInt iParentWg;
-
-        /** Reference to engine */
-        CMnrpEngine& iEngine;
-    };
-
-#endif // MNRP_APPUI_H
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpappuiback.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   class definition
-*
-*/
-
-
-#ifndef MNRP_APPUIBACK_H
-#define MNRP_APPUIBACK_H
-
-#include <aknviewappui.h>
-
-/** Simple App UI class of the MnRefGeocoder component */
-class CMnrpAppUiBack : public CAknAppUi
-    {
-    public:
-        void ConstructL();
-
-        /**  Moves application to foreground */
-        void MoveForeground();
-        
-        /**  Moves application to background */
-        void MoveBackground();
-
-    public: // from CEikAppUi
-
-        void HandleCommandL(TInt aCommand);
-    };
-
-#endif // MNRP_APPUIBACK_H
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpappview.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpAppView class definition 
-*
-*/
-
-
-#ifndef MNRP_APPVIEW_H
-#define MNRP_APPVIEW_H
-
-#include <aknview.h>
-
-class CMnrpAppControl;
-
-/** Empty view for the case when application is started
- *	from menu*/
-class CMnrpAppView : public CAknView
-    {
-    public:
-
-        static CMnrpAppView* NewL();
-        virtual ~CMnrpAppView();
-
-    public: // from CAknView
-
-        TUid Id() const;
-
-        void DoActivateL(
-            const TVwsViewId& aPrevViewId,
-            TUid aCustomMessageId,
-            const TDesC8& aCustomMessage);
-
-        void DoDeactivate();
-
-    private:
-
-        CMnrpAppView();
-        void ConstructL();
-        
-    private:
-    
-    	/** UI control */
-        CMnrpAppControl* iControl;    
-
-    };
-
-#endif // MNRP_APPVIEW_H
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpcoordconverter.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpCoordConverter class definition
-*
-*/
-
-
-#ifndef MNRP_COORDINATECONVERTER_H
-#define MNRP_COORDINATECONVERTER_H
-
-#include <mncoordinateconverterbase.h>
-
-class CMnrpEngine;
-class CMnrpMapModel;
-
-class CMnrpCoordConverter : public CMnCoordinateConverterBase
-    {
-    public:
-        static CMnrpCoordConverter* NewL();
-
-        ~CMnrpCoordConverter();
-
-    protected: // From CMnCoordinateConverterBase
-
-        TInt GetImageCoordinate(
-            const TCoordinate& aWorldCoordinate,
-            TPoint& aImagePoint );
-
-        TInt GetWorldCoordinate(
-            const TPoint& aImagePoint,
-            TCoordinate& aWorldCoordinate );
-
-    protected:
-        CMnrpCoordConverter();
-
-    private:
-
-        CMnrpEngine*            iEngine;
-        CMnrpMapModel*          iModel;
-    };
-
-#endif /*MNTP_COORDINATECONVERTER_H*/
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpdocument.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpDocument class definition
-*
-*/
-
-
-#ifndef MNRP_DOCUMENT_H
-#define MNRP_DOCUMENT_H
-
-#include <akndoc.h>
-
-class CMnrpEngine;
-class CEikApplication;
-
-/** Document class of MnRefProvider component.
- *	It creates and owns Engine instance
- */
-class CMnrpDocument : public CAknDocument
-    {
-    public:
-
-        static CMnrpDocument* NewL( CEikApplication& aApp );
-        ~CMnrpDocument();
-
-		/** Returns reference to Engine instance */        
-        CMnrpEngine& Engine();
-
-    public: // from CAknDocument
-
-        CEikAppUi* CreateAppUiL();
-
-    private:
-
-        CMnrpDocument( CEikApplication& aApp );
-        void ConstructL();
-    
-    private:
-        CMnrpEngine* iEngine;        
-    };
-
-#endif // MNRP_DOCUMENT_H
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpdocumentback.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpDocumentBack class definition
-*
-*/
-
-
-#ifndef MNRP_DOCUMENTGEO_H
-#define MNRP_DOCUMENTGEO_H
-
-#include <akndoc.h>
-
-class CEikApplication;
-
-/** Document class of MnRefGeocoder component */
-class CMnrpDocumentBack : public CAknDocument
-    {
-    public:
-
-        static CMnrpDocumentBack* NewL( CEikApplication& aApp );
-
-    public: // from CAknDocument
-
-        CEikAppUi* CreateAppUiL();
-
-    private:
-
-        CMnrpDocumentBack( CEikApplication& aApp );
-    };
-
-#endif // MNRP_DOCUMENTGEO_H
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpengine.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpEngine class definition
-*
-*/
-
-
-#ifndef MNRP_ENGINE_H
-#define MNRP_ENGINE_H
-
-#include <e32base.h>
-#include <f32file.h>
-
-class CPosLandmark;
-class TCoordinate;
-class RResourceReader;
-
-/** Engine class used both by MnRefProvider and MnRefGeocoder 
- *	components. Provides access to POIs database ( resource file,
- *	some cities ) and geocoding services. 
- */
-class CMnrpEngine : public CBase
-    {
-    public:
-    
-        struct TDistanceToPoi
-            {
-            TInt iPoiIndex; // index to KnownPlaces
-            TReal32 iDistance; // distance to Poi of iPoiIndex
-            };
-    
-    public:
-        IMPORT_C static CMnrpEngine* NewL();
-        IMPORT_C ~CMnrpEngine();
-
-		/** Gives access to set of POIs */
-        IMPORT_C TArray<CPosLandmark*> KnownPlacesL();
-        
-        /** Returns coordinate of given address:
-		 *	Find a POI, which country or city matches given address
-		 *	and returns its coordinates.
-		 *	@param aAddress landmark, containing address
-		 *	@return landmark, containg coordinates
-		 *	@leave KErrNotFound if can't find POI matching given address
- 		 */
-        IMPORT_C CPosLandmark* AddressToCoordLC( const CPosLandmark& aAddress );
-
-        /** @overload
-         *  @return landmark, containg coordinates, or NULL
-         */
-        IMPORT_C CPosLandmark* AddressToCoordL( const CPosLandmark& aAddress );
-        
-        /** @overload
-		 *	@param aAddress string containing address
-		 *	@return landmark, containg coordinates
-		 *	@leave KErrNotFound if can't find POI matching given address
- 		 */
-        IMPORT_C CPosLandmark* AddressToCoordLC( const TDesC& aAddress );
-
-        /** @overload
-         *  @param aAddress string containing address
-         *  @return landmark, containg coordinates, or NULL
-         */
-        IMPORT_C CPosLandmark* AddressToCoordL( const TDesC& aAddress );
-
-        /** Returns address for given coordinate:
-		 *	Find a closest POI and return its city and country and
- 		 *	fill street with "%d[m,Km,tKm] from <city>" string, like "5 km to Tampere"
-		 *	@param aLocation coordinate
-		 *	@return landmark, containg address
-		 *	@leave KErrNotFound if can't find any POI
- 		 */
-        IMPORT_C CPosLandmark* CoordToAddressLC( const TCoordinate& aLocation );
-        
-        /** Finds a resource file in the system. 
-         *	It looks on all the drives for the file and folder given as parameter
-         *	@param[in] aFilePathAndName path and name of the file to search for. Drive
-         *							info is ignored
-         *	@param[out] aRscFile full name of found resource file
-         *	@leave KErrNotFound if file is not found.
-         */
-        IMPORT_C void FindResourceFileL( 
-            const TDesC& aFilePathAndName,
-            TFileName& aRscFile );
-
-        /** Returns reference to open file session, given at construction */
-        IMPORT_C RFs& Fs();
-
-        /** Calculates distance between two landmarks.
-         *  @param aFrom Source landmark
-         *  @param aTo Destination landmark
-         *  @return Distance, or NaN, if distance cannot be calculated
-         */
-        IMPORT_C TReal32 DistanceBetweenLandmarks( 
-            const CPosLandmark& aFrom, 
-            const CPosLandmark& aTo );
-
-        /** Finds POIs closest to given reference landmark. 
-         *  @param[in] aReference reference landmark
-         *  @param[out] aNeighbourPois List of closest POIs. 
-         *  @param[in] aMaxMatches Maximum number of results needed
-         */
-        IMPORT_C void FindClosestPoisL( 
-            const CPosLandmark& aReference,
-            RArray<CMnrpEngine::TDistanceToPoi>& aNeighbourPois,
-            TInt aMaxMatches );
-
-        /** Finds POIs closest to given location. 
-         *  @param[in] aReference reference location
-         *  @param[out] aNeighbourPois List of landmarks of closest POIs. 
-         *  @param[in] aMaxMatches Maximum number of results needed
-         */
-        IMPORT_C void BestCoordToAddressMatchesL( 
-            const TCoordinate& aLocation,
-            RPointerArray<CPosLandmark>& aMatches,
-            TInt aMaxMatches );
-
-    protected:
-
-        void ConstructL();
-        CMnrpEngine();
-
-		/** Loads POIs from database ( resource file ) */
-        void LoadKnownPlacesL();
-        /** Reads array of PLACES resource structures */
-        void ReadPlacesResourceL( RResourceReader& aReader );
-        
-        CPosLandmark* CreateCloseLandmarkLC( const CPosLandmark& aReference, TReal32 aDistance );
-
-    private:
-        RPointerArray<CPosLandmark> iPlaces;
-        RFs                         iFileSession;
-    };
-
-#endif // MNRP_ENGINE_H
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpgeocodingservice.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpGeocodingService class definition
-*
-*/
-
-
-#ifndef MNRP_GEOCODINGSERVICE_H
-#define MNRP_GEOCODINGSERVICE_H
-
-#include "mngeocodingservicebase.h"
-
-class CPosLandmark;
-class CMnrpEngine;
-
-/** Implementation of geocoding service (KMnAppGeocodingService). 
- *	It uses CIdle to simulate asynchronous processing. All the geocoding
- *	job is done using the CMnrpEngine class.
- */
-class CMnrpGeocodingService : public CMnGeocodingServiceBase
-    {
-    public :
-        static CMnrpGeocodingService* NewL( CMnrpEngine& aEngine );
-        
-    protected :
-        CMnrpGeocodingService( CMnrpEngine& aEngine );
-        virtual ~CMnrpGeocodingService();
-
-        void ConstructL();
-
-		/** Prevents parallel asynchronous requests */
-        void LeaveIfBusyL();
-        /** Starts processing of new request by starting CIdle.*/
-        void StartProcessingL();
-        /** Callback for CIdle. Parameter is the pointer to this. */
-        static TInt GeocodingProcessingCallBack( TAny* aPtr );
-        /** Non-leaving part of geocoding. Calls FinishProcessingL and if
-         *	it leaves, completes client's request with error.*/
-        void HandleGeocodingCompleted();
-        /** Does the geocoding and completes user's request.*/
-        void FinishProcessingL();
-
-        /** Asks user to select one of best Coord to Addr matches */
-        CPosLandmark* LetUserSelectBestMatchL( const CPosLandmark& aReference );
-
-    protected: // from CMnGeocodingServiceBase
-    
-        /** Handles client's request for finding address by given coordinate. */
-        void HandleFindAddressByCoordinateL( const CPosLandmark& aLandmark );
-        
-        /** Handles client's request for finding coordinate by given address. */
-        void HandleFindCoordinateByAddressL( const CPosLandmark& aLandmark );
-
-        /** Handles client's request for finding coordinate by given address. */
-        void HandleFindCoordinateByAddressL( const TDesC& aAddress );
-        
-    protected: // from CMnServiceBase
-
-        /** Reports that client cancelled request */
-        void DoCancel();
-
-    private:
-        CMnrpEngine&            iEngine;
-    
-        enum TServiceType
-            {
-            ENone,
-            ECoordToAddr,
-            EAddrToCoord,
-            EPlainToCoord
-            };
-        
-        /** Type of last received request to make correct request to Engine */    
-        TServiceType            iCurrentService;
-    
-    	/** Keeps client's data */
-        CPosLandmark*           iLandmark;
-    	/** Keeps client's data */
-        HBufC*                  iPlainAddress;
-
-        /** Keeps client's option */
-        TBool                   iDialogAllowed;
-
-		/** Asynchronous geocoding processor */        
-        CIdle*                  iProcessor;
-        
-    };
-
-#endif // MNRP_GEOCODINGSERVICE_H
-
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpmapcontrol.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpMapControl class definition
-*
-*/
-
-
-#ifndef MNRP_MAPCONTROL_H
-#define MNRP_MAPCONTROL_H
-
-#include <coecntrl.h>
-#include "mnrpmapmodel.h"
-
-class CMnrpEngine;
-class CMnrpMapView;
-
-/** Map view. Draws map on screen using information from 
- 	CMnrpMapModel.
- */
-class CMnrpMapControl : public CCoeControl, public MMapModelObserver
-    {
-    public: 
-
-        static CMnrpMapControl* NewL( CMnrpMapView& aView, const TRect& aRect, CMnrpEngine& aEngine );
-        virtual ~CMnrpMapControl();
-        
-        void UpdateModelL( CMnrpMapViewService& aService );
-        void SetSelectionModeL( TBool aSelectionMode );
-        
-        /** Returns current cursor location in selection mode */
-        TCoordinate CurrentLocation();
-
-        void ToggleFullScreen();
-
-    public:  // from CCoeControl
-
-        void Draw( const TRect& aRect ) const;
-        TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
-        void SizeChanged();
-        void HandleResourceChange( TInt aType );
-
-    public:  // from MMapModelObserver
-
-		/** Redraws itself when model is updated */
-        void HandleModelUpdateL();
-
-    private:
-
-        CMnrpMapControl( CMnrpMapView& aView );
-        void ConstructL( const TRect& aRect, CMnrpEngine& aEngine );
-        
-        void DrawCursor( CWindowGc& aGc ) const;
-
-		/** Draws text around map
-		 *	Top area - left longitude, cell size, right longitude
-		 *	Left area - top latitude, bottom latitude
-		 *	Bottom area - center coordinates
-		 */
-        void DrawGridText( 
-            CWindowGc& aGc, 
-            const TRect& aInnerBox,
-            const TRect& aOuterBox,
-            const CFont* aFont,
-            CMnrpMapModel::TGrid& aGrid ) const;
-
-        /** Helper to find out border size based on font dimensions */
-        TSize BorderSize() const;
-
-		/** Returns specifications of used font */
-        TFontSpec SmallFontSpec( TInt aFontHeightInTwips ) const;
-        
-        void MoveCursor( TInt aXmove, TInt aYmove );
-        TRect CursorMargin();
-
-        void Zoom( TReal aRate );
-
-        void SetFullScreen( TBool aFullScreen );
-
-		void CreateFonts();
-		void DestroyFonts();
-
-		void CreateScreenBufferL( const TSize& aSize );
-        void RenderL();
-
-    private:
-        /** Parent view */
-        CMnrpMapView& iView;
-        
-    	/** Model */
-        CMnrpMapModel* iModel;
-        TSize iViewSize;
-        
-        TBool iSelectionMode;
-        TPoint iCursor;
-        TCoordinate iAbsoluteCursor;
-
-        /** Whether fullscreen mode on or off*/
-        TBool iIsFullScreen;
-        
-        mutable CFbsBitmap* iOffScreenBitmap;
-        CFont* iTextFont;
-        CFont* iItemFont;
-    };
-
-#endif // MNRP_MAPVIEW_H
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpmapimageservice.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpMapImageService class
-*
-*/
-
-
-#ifndef MN_TPMAPIMAGESERVICE_H
-#define MN_TPMAPIMAGESERVICE_H
-
-#include "mnmapimageservicebase.h"
-
-class CPosLandmark;
-class CEikonEnv;
-class CFont;
-class CMnrpMapModel;
-
-/** Implementation of geocoding service (KMnAppMapImageService). 
- */
-class CMnrpMapImageService : public CMnMapImageServiceBase
-    {
-    public :
-        static CMnrpMapImageService* NewL( CMnrpEngine& aEngine );
-        
-        void HandleTestCommandL( TInt aCommand );
-
-    protected :
-        /** C++ constructor */
-        CMnrpMapImageService( CMnrpEngine& aEngine );
-        /** Destructor */
-        virtual ~CMnrpMapImageService();
-
-        void ConstructL();
-
-        void LeaveIfBusyL();
-        void LeaveIfInstructedL();
-        void StartProcessingL();
-        static TInt MapImageProcessingCallBack( TAny* aPtr );
-        void HandleMapImageCompletedL();
-        void FinishProcessingL();
-
-        TInt GetTestCommand();
-
-        void RenderL();
-
-    private:
-        void DumpDataL();
-        
-        void CreateFonts();
-        void DestroyFonts();
-
-    protected: // from CMnMapImageServiceBase
-    
-        /** Handles client's request for finding address by given coordinate. */
-        void HandleRenderingL();
-        
-    protected: // from CMnServiceBase
-
-        /** Reports that client cancelled request */
-        void DoCancel();
-
-    private:
-    
-        enum TServiceType
-            {
-            ENone,
-            ERender,
-            };
-            
-        TServiceType            iCurrentService;
-        CMnrpEngine&            iEngine;
-        CMnrpMapModel*          iModel;
-        CPeriodic*              iProcessor;
-        CEikonEnv*              iEikon;
-        CFont*                  iItemFont;
-        CFont*                  iTextFont;
-    };
-
-#endif // MN_TPMAPIMAGESERVICE_H
-
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpmapmodel.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,301 +0,0 @@
-/*
-* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpMapModel class definition
-*
-*/
-
-
-#ifndef MNRP_MAPMODEL_H
-#define MNRP_MAPMODEL_H
-
-#include <coecntrl.h>
-#include "mnrppositionrequest.h"
-#include "epos_landmarks.h"
-
-class CFbsBitmap;
-class CImageDecoder;
-
-class CPosLandmark;
-class CPosLandmarkDatabase;
-class CPosLmCategoryManager;
-
-class CMnrpMapViewService;
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-class CMnrpMapImageService;
-class TMnMapImageParams;
-#endif
-class CMnrpEngine;
-
-class MImageLoaderObserver;
-
-/** Point with real coordinates */
-class TRealPoint
-    {
-    public:
-        TRealPoint();
-        TRealPoint( TReal aX, TReal aY );
-        TRealPoint( TCoordinate aCoordinate );
-
-        TRealPoint operator+( const TRealPoint& aRight );
-        TRealPoint operator-( const TRealPoint& aRight );
-        TRealPoint operator*( const TReal& aRight );
-        TRealPoint operator/( const TReal& aRight );
-
-        void Set( TReal aX, TReal aY );
-        TCoordinate Coordinate();
-        TBool IsValid();
-
-        TReal iX; // matches longitude in this model
-        TReal iY; // matches latitude in this model
-    };
-
-/** Model observer class */
-class MMapModelObserver
-    {
-    public:
-        virtual void HandleModelUpdateL() =0;
-    };
-
-/** Data model for MapView.
- *  This implementation shows map as rectangle and does not support
- *  passing its borders. It displays POIs from Engine and client's
- *	landmarks, which define view area, if not specified by client.
- */
-class CMnrpMapModel : public CBase, public MMnrpPositionObserver
-    {
-    public:
-        IMPORT_C static CMnrpMapModel* NewL(
-            MMapModelObserver& aObserver,
-            CMnrpEngine& aEngine );
-
-        IMPORT_C static CMnrpMapModel* NewL(
-            CMnrpEngine& aEngine );
-
-        IMPORT_C ~CMnrpMapModel();
-
-		/** Service calls it when new ShowOnMap request comes
-		 *	from client */
-        IMPORT_C void UpdateModelL( CMnrpMapViewService& aService );
-
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-		/** Service calls it when new RenderImage request comes
-		 *	from client */
-        IMPORT_C void UpdateModelL( const CMnrpMapImageService& aService );
-
-		/** Plugin calls it when new CoordinateConversion request comes
-		 *	from client */
-        IMPORT_C void UpdateModel( const TMnMapImageParams& aParams );
-#endif
-		/** Defines dimensions of view used for map display.
-		 *	this information is used to convert absolute coordinates
-		 *	to screen coordinates. Absolute coordinates are plain
-		 *	latitude and longitude degrees.
-		 */
-        IMPORT_C void SetScreenSize( TSize aScreenSize );
-
-        IMPORT_C void RenderL(
-            CFbsBitmap& aBitmap,
-            TRect aTargetRect,
-            CFont* aTextFont,
-            CFont* aItemFont ) const;
-        
-        IMPORT_C TInt NumIgnoredLandmarks();
-
-		/** Draw item.
-		 *	It is a POI or client's landmark, holds coordinates
-		 *	and associated text and icon.
-		 */
-        class CDrawItem : public CBase
-            {
-            public:
-            	/** Constructs from landmark instance */
-                static CDrawItem* NewLC( const CPosLandmark& );
-            	/** Constructs from linked landmark. If landmark
-            	 *	does not have icon, it tries to get icon of its
-            	 *	category, if only single category is assigned.
-            	 */
-                static CDrawItem* NewLC(
-                    const CPosLandmark& aLm,
-                    CPosLmCategoryManager& aCatman );
-
-                ~CDrawItem();
-
-                const TDesC& Text() { return *iText; };
-                TPoint& Position() { return iScreenPosition; };
-                TRealPoint AbsolutePosition() { return iAbsolutePosition; };
-                CFbsBitmap* Bitmap() { return iBitmap; };
-                CFbsBitmap* Mask() { return iMask; };
-                TBool IsPoi() { return iOwnPoi; };
-                
-                void SetAbsolutePosition( const TLocality& aLocality );
-
-            private:
-                HBufC*      iText;
-               	/** Absolute coordinates - lat,lon */
-                TRealPoint  iAbsolutePosition;
-                /** Coordinates on screen (pixels) */
-                TPoint      iScreenPosition;
-                CFbsBitmap* iBitmap;
-                CFbsBitmap* iMask;
-                /** Whether it is client's landmark or internal POI */
-                TBool       iOwnPoi;
-
-            friend class CMnrpMapModel;
-            };
-		/** Returns all items, that can be shown on screen. Screen
-		 *	coordinates are updated according to current scale and viewport */
-        TArray<CDrawItem*> Items() const;
-
-		/** Describes grid to show */
-        class TGrid
-            {
-            public:
-            	/** Reference grid point (screen) */
-                TPoint iReference;
-                /** Distance between grid lines (screen)*/
-                TInt iGridStep;
-
-            	/** Coordinate of reference grid point (absolute) */
-                TCoordinate iAbsoluteReference;
-                /** Distance between grid lines (absolute) */
-                TReal iAbsoluteGridStep;
-            };
-
-        /** Returns grid for current viewport and scale */
-        void GetGrid( TGrid& aGrid ) const;
-
-        /** Information about current location */
-        class TCurrentLocation
-            {
-            public:
-            	/** Screen coordinates */
-                TPoint  iLocation;
-            	/** Error radius in screen units - pixels */
-                TInt    iErrorRadius;
-
-                /** Absolute coordinates */
-                TCoordinate iAbsoluteLocation;
-            	/** Error radius in degrees */
-                TReal       iAbsoluteErrorDegrees;
-
-                TBool       iIsValid;
-            };
-
-        /** Returns current location */
-        IMPORT_C TCurrentLocation CurrentLocation() const;
-
-		// Zooming
-        IMPORT_C void Zoom( TReal aZoomRate );
-
-		// View movement
-        IMPORT_C void MoveTo( TCoordinate aTarget );
-
-        // Reset-kind of action, moves to world center
-        IMPORT_C void GoCenter();
-
-		/** Converts absolute units to screen */
-        IMPORT_C TPoint AbsoluteToScreen( TCoordinate aAbsolutePoint ) const;
-        IMPORT_C TInt AbsoluteToScreen( TReal aDistance ) const;
-
-		/** Converts screen coords to absolute */
-        IMPORT_C TCoordinate ScreenToAbsolute( TPoint aScreenPoint ) const;
-        IMPORT_C TReal ScreenToAbsolute( TInt aDistance ) const;
-
-		// Viewport in absolute units - degrees
-        IMPORT_C TReal Left() const;
-        IMPORT_C TReal Top() const;
-        IMPORT_C TReal Right() const;
-        IMPORT_C TReal Bottom() const;
-        IMPORT_C TReal Width() const;
-        IMPORT_C TReal Height() const;
-        IMPORT_C TCoordinate Center() const;
-
-    protected:
-		/** Converts absolute coords to screen */
-        TPoint AbsoluteToScreen( TRealPoint aAbsolutePoint ) const;
-
-    protected:  // from MMnrpPositionObserver
-
-		/** Forces map view update when new position comes */
-        void HandlePositionRequestCompletedL( TInt aError );
-
-    private:
-
-        void ConstructL();
-        CMnrpMapModel( MMapModelObserver& aObserver, CMnrpEngine& aEngine );
-        CMnrpMapModel( CMnrpEngine& aEngine );
-
-        void AddCitiesL();
-
-		/** Includes given draw item into bounding box */
-        void AdjustBoundingBox( CDrawItem& aItem, TRealPoint& aMin, TRealPoint& aMax );
-        
-        /** Verifies if draw item has position. If not, tries geocoding.
-         *  Updates the item if position is found from geocoding.
-         *  @return ETrue if position is found (possibly from geocoding), EFalse otherwise */
-        TBool CheckDrawItemHasPositionL( CDrawItem& aItem, const CPosLandmark& aLandmark );
-
-		/** Adjusts viewport if movement or zooming goes beyond the borders */
-        void CheckBorders();
-
-        TReal MaxScale() const;
-        TRect CursorMargin();
-
-		// Grid drawing
-        void DrawGrid(
-            CFbsBitGc& aGc,
-            const TSize& aBoxSize,
-            CMnrpMapModel::TGrid& aGrid ) const;
-
-        void DrawVerticalLine( CFbsBitGc& aGc, TInt aX, TSize aBoxSize ) const;
-        void DrawHorizontalLine( CFbsBitGc& aGc, TInt aY, TSize aBoxSize ) const;
-
-		/** Draws drawable items */
-        void DrawLandmarks(
-            CFbsBitGc& aGc,
-            CFont& aFont,
-            const TSize& aBoxSize,
-            TBool aSwitchColorAndShadow ) const;
-
-		/** Draws current location */
-        void DrawCurrentLocation(
-            CFbsBitGc& aGc,
-            const TSize& aBoxSize ) const;
-
-    private:
-        CMnrpPositionRequest*           iPositionRequest;
-        TPositionInfo                   iPosInfo;
-
-        TSize                           iScreenSize;
-        TRealPoint                      iViewOrigin;
-
-        TReal                           iScale; // 1 == 1 degree per pixel
-
-        MMapModelObserver*              iObserver;
-
-        mutable RPointerArray<CDrawItem> iDrawItems;
-
-        CMnrpEngine&            		iEngine;
-
-        TBool                           iUseCurrentLocationAsOrigin;
-        TBool                           iShowCurrentLocation;
-
-        CFont*                          iTextFont;
-        CFont*                          iItemFont;
-        
-        TInt 							iNumIgnoredLandmarks; 
-    };
-
-#endif // MNRP_MAPMODEL_H
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpmapview.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpMapView class definition
-*
-*/
-
-
-#ifndef MNRP_MAPVIEW_H
-#define MNRP_MAPVIEW_H
-
-#include <aknview.h>
-
-class CMnrpEngine;
-class CMnrpMapModel;
-class CMnrpMapControl;
-
-class CMnrpMapViewService;
-class MMapSelectionCallback;
-
-/** Map view. Draws map on screen using information from 
- 	CMnrpMapModel.
- */
-class CMnrpMapView : public CAknView
-    {
-    public: 
-
-        static CMnrpMapView* NewL( TBool aChained, CMnrpEngine& aEngine );
-        virtual ~CMnrpMapView();
-        
-        /** Shows map view in browser mode 
-         *  @param aService Object to get map view options from
-         */
-        void SetMapModeL( CMnrpMapViewService& aService );
-
-        /** Shows map view in selection mode 
-         *  @param aService Object to get map view options from
-         *  @param aCallback Object to inform about selection
-         */
-        void SetSelectionModeL( 
-            CMnrpMapViewService& aService,  
-            MMapSelectionCallback& aCallback );
-
-        void HandleUserSelectionL( TInt aError );
-
-        void StopSelection();
-		
-    public: // from CAknView
-
-        TUid Id() const;
-
-        void HandleCommandL( TInt aCommand );
-
-        void DoActivateL(
-            const TVwsViewId& aPrevViewId,
-            TUid aCustomMessageId,
-            const TDesC8& aCustomMessage);
-
-        void DoDeactivate();
-        
-        void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane *aMenuPane );
-
-    private:
-
-        CMnrpMapView( CMnrpEngine& aEngine );
-        void ConstructL( TBool aChained );
-        
-    private:
-        /** Application engine */
-        CMnrpEngine& iEngine;
-    	
-    	/** UI control */
-        CMnrpMapControl* iControl;    
-
-        /** Map view data */
-        CMnrpMapViewService* iMapViewService;
-
-        /** Selection callback listener */        
-        MMapSelectionCallback* iSelectionCallback;
-        
-        TBool iChained;
-    };
-
-#endif // MNRP_MAPVIEW_H
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpmapviewservice.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpMapViewService class definition
-*
-*/
-
-
-#ifndef MNRP_MAPVIEWSERVICE_H
-#define MNRP_MAPVIEWSERVICE_H
-
-#include <mnmapviewservicebase.h>
-
-#include "mnrpappui.h"
-
-class CPosLandmark;
-
-/** Implementation of MapView service (KMnAppMapViewService). 
- */
-class CMnrpMapViewService : public CMnMapViewServiceBase, public MMapSelectionCallback
-    {
-    public :
-        static CMnrpMapViewService* NewL();
-        
-    protected :
-        CMnrpMapViewService();
-        virtual ~CMnrpMapViewService();
-        void ConstructL();
-
-        CMnrpAppUi* AppUi();
-
-    protected: // from CMnMapViewServiceBase
-    
-        /** Handles client's request for showing map */
-        void HandleShowMapL();
-
-        /** Handles client's request for showing map from current location */
-        void HandleShowCurrentLocationL();
-
-        /** Handles client's request for selecting a location from map */
-        void HandleSelectFromMapL();
-
-    protected: // from CMnServiceBase
-
-        /** Reports that client cancelled request */
-        void DoCancel();
-
-        void CompleteSelectionL( const TCoordinate& aSelection );
-
-    protected: // from MMapSelectionCallback
-            
-        void HandleSelectionL( const TCoordinate& aSelection );
-
-        void HandleSelectionL( TInt aLandmarkIndex );
-        void HandleSelectionL( TPosLmItemId aLandmarkId, TInt aDbIndex );
-
-        void HandleSelectionErrorL( TInt aError );
-
-    private:
-        void StopSelection();
-
-    private:
-
-        /** Flag shows that selection is ongoing */
-        TBool                   iSelecting;
-    };
-
-#endif // MNRP_MAPVIEWSERVICE_H
-
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpnavicontrol.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpNaviControl class definition
-*
-*/
-
-
-#ifndef MNRP_NAVICONTROL_H
-#define MNRP_NAVICONTROL_H
-
-#include <coecntrl.h>
-#include "mnrpnavimodel.h"
-
-class CAknSingleHeadingStyleListBox;
-class CMnrpNaviView;
-
-/** Navigation view.
- *	Shows list box with navigation information items: 
- *	destination name and coordinates, current position coordinates
- *	distance and bearing to destination.
- */	
-class CMnrpNaviControl : public CCoeControl, public MNaviModelObserver
-    {
-    public:
-
-        static CMnrpNaviControl* NewL( CMnrpNaviView& aView, const TRect& aRect, CMnrpEngine& aEngine );
-        virtual ~CMnrpNaviControl();
-
-        void UpdateModelL( CPosLandmark& aDestination );
-        
-    protected:    
-    	/** Creates list box */
-        void CreateListBoxL();
-
-    public: // from MNaviModelObserver
-        void HandleModelUpdateL();
-
-    protected:  // from CCoeControl
-        TInt CountComponentControls() const;
-        CCoeControl* ComponentControl( TInt aIndex ) const;
-        TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
-        void SizeChanged();
-        void HandleResourceChange( TInt aType );
-
-    private:
-
-        void ConstructL( const TRect& aRect, CMnrpEngine& aEngine );
-        CMnrpNaviControl( CMnrpNaviView& aView );
-    
-    private:
-        CMnrpNaviView&                  iView;
-    
-        CAknSingleHeadingStyleListBox*  iListBox;
-        CMnrpNaviModel*         		iModel;
-    };
-
-#endif // MNRP_NAVICONTROL_H
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpnavigationservice.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpNavigationService class definition
-*
-*/
-
-
-#ifndef MNRP_NAVIGATIONSERVICE_H
-#define MNRP_NAVIGATIONSERVICE_H
-
-#include "mnnavigationservicebase.h"
-
-class CPosLandmark;
-
-/** Implementation of Navigation service (KMnAppNavigationService). 
- */
-class CMnrpNavigationService : public CMnNavigationServiceBase
-    {
-    public :
-        static CMnrpNavigationService* NewL();
-        
-    protected :
-        CMnrpNavigationService();
-        virtual ~CMnrpNavigationService();
-        void ConstructL();
-
-    public: // from CMnNavigationServiceBase
-    
-        /** Handles client's request for navigation. */
-        void HandleNavigateToL( const CPosLandmark& aDestination );
-    
-    protected: // from CMnServiceBase
-
-        /** Empty implementation, as the only request is sychcronous */
-        void DoCancel();
-    };
-
-#endif // MNRP_NAVIGATIONSERVICE_H
-
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpnavimodel.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpNaviModel class definition
-*
-*/
-
-
-#ifndef MNRP_NAVIMODEL_H
-#define MNRP_NAVIMODEL_H
-
-#include <coecntrl.h>
-#include "mnrppositionrequest.h"
-
-class CMnrpEngine;
-class CPosLandmark;
-
-/** Model observer class */
-class MNaviModelObserver
-    {
-    public:
-        virtual void HandleModelUpdateL() =0;
-    };
-
-/** Navigation view model. 
- *	Prepares data to be shown on navigation view
- */
-class CMnrpNaviModel : public CBase, public MMnrpPositionObserver
-    {
-    public:
-        static CMnrpNaviModel* NewL( MNaviModelObserver& aObserver, CMnrpEngine& aEngine );
-
-		/** Called by service class to inform that client has changed 
-		 *	navigation target */
-        void SetDestinationL( const CPosLandmark& aNewDestination );
-
-		/** List item information */
-        class CListItem : public CBase
-            {
-            public:
-                static CListItem* NewL( 
-                	const TDesC& aItemHeader, 
-                	const TDesC& aItemValue );
-            
-                ~CListItem();
-                
-                const TDesC& Header() { return *iHeader; };
-                const TDesC& Value() { return *iValue; };
-                
-            private:
-            	/** List item header */
-                HBufC* iHeader;
-            	/** List item text */
-                HBufC* iValue;                
-            };
-
-		/** Returns list items to be shown on Navigation view */
-        TArray<CListItem*> ListItemsL();
-
-        ~CMnrpNaviModel();
-        
-    public:  // from MMnrpPositionObserver
-
-		/** Informs navigation view that data has been changed */
-        void HandlePositionRequestCompletedL( TInt aError );
-        
-    private: 
-
-        void ConstructL();
-        CMnrpNaviModel( MNaviModelObserver& aObserver, CMnrpEngine& aEngine );
-    
-    private:
-        CMnrpEngine&                    iEngine;
-    
-        CMnrpPositionRequest*   		iPositionRequest;
-        TPositionInfo                   iPosInfo;
-
-        CPosLandmark*                   iDestination;
-        
-        MNaviModelObserver&             iObserver;
-        
-        RPointerArray<CListItem>        iListItems;
-    };
-
-#endif // MNRP_NAVIMODEL_H
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrpnaviview.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpNaviView class definition
-*
-*/
-
-
-#ifndef MNRP_NAVIVIEW_H
-#define MNRP_NAVIVIEW_H
-
-#include <aknview.h>
-
-class CMnrpEngine;
-class CMnrpNaviModel;
-class CMnrpNaviControl;
-class CPosLandmark;
-
-/** Map view. Draws map on screen using information from 
- 	CMnrpMapModel.
- */
-class CMnrpNaviView : public CAknView
-    {
-    public: 
-
-        static CMnrpNaviView* NewL( TBool aChained, CMnrpEngine& aEngine );
-        virtual ~CMnrpNaviView();
-        
-        /** Shows map view in browser mode 
-         *  @param aService Object to get map view options from
-         */
-        void SetDestinationL( const CPosLandmark& aDestination );
-        
-    public: // from CAknView
-
-        TUid Id() const;
-
-        void HandleCommandL( TInt aCommand );
-
-        void DoActivateL(
-            const TVwsViewId& aPrevViewId,
-            TUid aCustomMessageId,
-            const TDesC8& aCustomMessage);
-
-        void DoDeactivate();
-
-    private:
-
-        CMnrpNaviView( CMnrpEngine& aEngine );
-        void ConstructL( TBool aChained );
-        
-    private:
-        /** Application engine */
-        CMnrpEngine& iEngine;
-    	
-    	/** UI control */
-        CMnrpNaviControl* iControl;    
-        
-        /** Destination */
-        CPosLandmark* iDestination;
-    };
-
-#endif // MNRP_NAVIVIEW_H
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrppositionrequest.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,141 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpPositionRequest class definition
-*
-*/
-
-
-#ifndef MNRP_POSITION_REQUEST_H_
-#define MNRP_POSITION_REQUEST_H_
-
-#include <e32base.h>
-#include <lbs.h>
-
-class TPositionUpdateOptions;
-
-/** Position observer */
-class MMnrpPositionObserver
-    {
-    public:
-        virtual void HandlePositionRequestCompletedL( TInt aError ) =0;
-    };
-
-/** Provides an interface for retrieving the current location.
- */
-class CMnrpPositionRequest: public CActive
-    {
-    public: 
-
-        /** Creates new instance of request
-        * @param aAppName the name of this application
-        * @param aObserver observer to callback when locations are retrieved
-        */
-        IMPORT_C static CMnrpPositionRequest* NewL(
-            const TDesC& aRequestorName,
-            MMnrpPositionObserver& aObserver);
-
-        IMPORT_C ~CMnrpPositionRequest();
-
-    public: 
-
-        /**
-         * Starts the fetching of a location. In the first place the default 
-         * proxy is used for retrieving a location. If fetching default location
-         * fails the last known location is fetched. If fetching last known 
-         * location fails, an error code is returned to the observer.
-         *
-         * @param aLastKnownLocationAllowed whether last know location is allowed
-         */
-        IMPORT_C void FetchNewPosition( TBool aLastKnownLocationAllowed = EFalse );
-
- 		/** Returns current location */
-        IMPORT_C void GetPosition( TPositionInfo& aPosition );
-
- 		/** Returns current speed info */
-        IMPORT_C TReal32 Speed();
-
- 		/** Returns current heading info */
-        IMPORT_C TReal32 Heading();
-
- 		/** Returns current magnetic heading info */
-        IMPORT_C TReal32 MagneticHeading();
-
- 		/** Returns current course info */
-        IMPORT_C TReal32 Course();
-
- 		/** Returns current magnetic course info */
-        IMPORT_C TReal32 MagneticCourse();
-
-		/** Modifies options for the next request */
-        IMPORT_C void SetOptionsL( const TPositionUpdateOptionsBase& aOptions );
-
-    protected: // from CActive
-
-        void DoCancel();
-        void RunL();
-        TInt RunError(TInt aError);
-
-    private:
-
-        CMnrpPositionRequest( MMnrpPositionObserver& aObserver );
-        void ConstructL( const TDesC& aAppName );
-
-        /** Issues new request for location retrieval. */
-        void ExecuteNextStep();
-
-        void InitContainer( HPositionGenericInfo& aGenericInfo );
-        void SaveContainer( const HPositionGenericInfo& aGenericInfo );
-
-    private:
-
-        /**
-        * TState defines the different states this object may enter.
-        */
-        enum TState 
-            {
-            EIdle,
-            EAcquiringDefaultLocation,
-            EAcquiringLastKnownLocation
-            };
-
-    private: 
-
-        //! Contains the location
-        HPositionGenericInfo* iGenericPosition;
-        
-        //! Local storage for last location info
-        TPositionInfo iPositionInfo;
-        TReal32 iSpeed;
-        TReal32 iHeading;
-        TReal32 iMagneticHeading;
-        TReal32 iCourse;
-        TReal32 iMagneticCourse;
-
-        //! The observer to callback when location retieval is ready
-        MMnrpPositionObserver& iObserver;
-
-        //! Reference to the Location Server session
-        RPositionServer iLocationServer;
-
-        //! Reference to the Location Server subsession
-        RPositioner iPositioner;
-        
-        TBool iLastKnownLocationAllowed;
-
-        //! The current state this object has entered
-        TState iState;
-    };
-
-#endif // MNRP_POSITION_REQUEST_H_
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/inc/mnrputils.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-/*
-* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  MnrpUtils class definition
-*
-*/
-
-
-#ifndef MNRP_UTILS_H
-#define MNRP_UTILS_H
-
-const TInt KMaxCoordStrSize = 15;
-
-class MnrpUtils
-    {
-    public:
-    
-        /** Converts given coordinate into a string 
-         *  \param aCoord coordinate
-         *  \param aStr target string of KMaxCoordStrSize length (at least)
-         *  \param aFull if EFalse, will omit higher parts if they are 0,
-         *               if ETrue, outputs degrees, minutes, seconds and milliseconds
-         *  \param aMillis whether milliseconds should be included or not
-         */
-        IMPORT_C static void CoordinateToString( 
-            TReal aCoord, 
-            TDes& aStr, 
-            TBool aFull = EFalse,
-            TBool aMillis = EFalse );
-            
-        /** Converts given distance value to a string with units
-         *  \param aDistance distance in meters 
-         *  \param aStr target string
-         */
-        IMPORT_C static void DistanceToString( TReal aDistance, TDes& aStr );
-
-        /** Converts given angle value to a string
-         *  \param aAngle angle in degrees (angle form North Pole) 
-         *  \param aStr target string
-         */
-        IMPORT_C static void AngleToString( TReal aAngle, TDes& aStr );
-
-        /** Converts given speed value to a string with units
-         *  \param aSpeed speed in meters per second
-         *  \param aStr target string
-         */
-        IMPORT_C static void SpeedToString( TReal aSpeed, TDes& aStr );
-
-        /** Replaces unprintable characters in a string with spaces
-         *  \param aStr string to work with
-         *  \return pointer to new string buffer with ownership
-         */
-        IMPORT_C static HBufC* PrintableStringLC( const TDesC& aStr );
-    };
-
-#endif // MNRP_UTILS_H
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/sis/mnrefprovider_armv5.pkg	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-;
-; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "Eclipse Public License v1.0"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description: Installation file for MN ref provider
-;
-
-ÿþ;   I n s t a l l a t i o n   f i l e   f o r   M & N   R e f e r e n c e   P r o v i d e r   A p p 
- 
- 
- 
- ;   L a n g u a g e s 
- 
- & E N , R U 
- 
- 
- 
- ;   s t a n d a r d   S I S   f i l e   h e a d e r 
- 
- # { " M n R e f P r o v i d e r E N " , " M n R e f P r o v i d e r R U " } , ( 0 x 0 3 1 3 2 0 1 3 ) , 1 , 2 , 4 
- 
- 
- 
- ;   L o c a l i s e d   V e n d o r   n a m e 
- 
- % { " V e n d o r - E N " , " V e n d o r - R U " } 
- 
- 
- 
- ;   U n i q u e   V e n d o r   n a m e 
- 
- : " V e n d o r " 
- 
- 
- 
- ;   S u p p o r t s   S 6 0   v   3 . 0 
- 
- [ 0 x 1 0 1 F 7 9 6 1 ] ,   0 ,   0 ,   0 ,   { " S 6 0 P r o d u c t I D " , " S 6 0 P r o d u c t I D " } 
- 
- 
- 
- ;   F i l e s   t o   i n s t a l l 
- 
- " \ e p o c 3 2 \ r e l e a s e \ a r m v 5 \ u r e l \ m n r e f p r o v i d e r . e x e " - " ! : \ s y s \ b i n \ m n r e f p r o v i d e r . e x e " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r . r s c " - " ! : \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r . r s c " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r . m b m " - " ! : \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r . m b m " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r . m i f " - " ! : \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r . m i f " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ p r i v a t e \ 1 0 0 0 3 a 3 f \ a p p s \ m n r e f p r o v i d e r _ r e g . r s c " - " ! : \ p r i v a t e \ 1 0 0 0 3 a 3 f \ i m p o r t \ a p p s \ m n r e f p r o v i d e r _ r e g . r s c " 
- 
- 
- 
- " \ e p o c 3 2 \ r e l e a s e \ a r m v 5 \ u r e l \ m n r e f p r o v i d e r b a c k . e x e " - " ! : \ s y s \ b i n \ m n r e f p r o v i d e r b a c k . e x e " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r b a c k . r s c " - " ! : \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r b a c k . r s c " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ p r i v a t e \ 1 0 0 0 3 a 3 f \ a p p s \ m n r e f p r o v i d e r b a c k _ r e g . r s c " - " ! : \ p r i v a t e \ 1 0 0 0 3 a 3 f \ i m p o r t \ a p p s \ m n r e f p r o v i d e r b a c k _ r e g . r s c " 
- 
- 
- 
- " \ e p o c 3 2 \ r e l e a s e \ a r m v 5 \ u r e l \ m n r e f p r o v i d e r e n g i n e . d l l " - " ! : \ s y s \ b i n \ m n r e f p r o v i d e r e n g i n e . d l l " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ r e s o u r c e \ m n r e f p r o v i d e r e n g i n e . r s c " - " ! : \ r e s o u r c e \ m n r e f p r o v i d e r e n g i n e . r s c " 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
\ No newline at end of file
Binary file locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/sis/mnrefprovider_armv5.sis has changed
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/sis/mnrefprovider_bitmap_armv5.pkg	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-;
-; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "Eclipse Public License v1.0"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description: Installation file for MN ref provider ( includes map image service)
-;
-
-ÿþ;   I n s t a l l a t i o n   f i l e   f o r   M & N   R e f e r e n c e   P r o v i d e r   A p p 
- 
- 
- 
- ;   L a n g u a g e s 
- 
- & E N , R U 
- 
- 
- 
- ;   s t a n d a r d   S I S   f i l e   h e a d e r 
- 
- # { " M n R e f P r o v i d e r E N " , " M n R e f P r o v i d e r R U " } , ( 0 x 0 3 1 3 2 0 1 3 ) , 1 , 2 , 4 
- 
- 
- 
- ;   L o c a l i s e d   V e n d o r   n a m e 
- 
- % { " V e n d o r - E N " , " V e n d o r - R U " } 
- 
- 
- 
- ;   U n i q u e   V e n d o r   n a m e 
- 
- : " V e n d o r " 
- 
- 
- 
- ;   S u p p o r t s   S 6 0   v   3 . 0 
- 
- [ 0 x 1 0 1 F 7 9 6 1 ] ,   0 ,   0 ,   0 ,   { " S 6 0 P r o d u c t I D " , " S 6 0 P r o d u c t I D " } 
- 
- 
- 
- ;   F i l e s   t o   i n s t a l l 
- 
- " \ e p o c 3 2 \ r e l e a s e \ a r m v 5 \ u r e l \ m n r e f p r o v i d e r . e x e " - " ! : \ s y s \ b i n \ m n r e f p r o v i d e r . e x e " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r . r s c " - " ! : \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r . r s c " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r . m b m " - " ! : \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r . m b m " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r . m i f " - " ! : \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r . m i f " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ p r i v a t e \ 1 0 0 0 3 a 3 f \ a p p s \ m n r e f p r o v i d e r _ r e g . r s c " - " ! : \ p r i v a t e \ 1 0 0 0 3 a 3 f \ i m p o r t \ a p p s \ m n r e f p r o v i d e r _ r e g . r s c " 
- 
- 
- 
- " \ e p o c 3 2 \ r e l e a s e \ a r m v 5 \ u r e l \ m n r e f p r o v i d e r b a c k . e x e " - " ! : \ s y s \ b i n \ m n r e f p r o v i d e r b a c k . e x e " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r b a c k . r s c " - " ! : \ r e s o u r c e \ a p p s \ m n r e f p r o v i d e r b a c k . r s c " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ p r i v a t e \ 1 0 0 0 3 a 3 f \ a p p s \ m n r e f p r o v i d e r b a c k _ r e g . r s c " - " ! : \ p r i v a t e \ 1 0 0 0 3 a 3 f \ i m p o r t \ a p p s \ m n r e f p r o v i d e r b a c k _ r e g . r s c " 
- 
- 
- 
- " \ e p o c 3 2 \ r e l e a s e \ a r m v 5 \ u r e l \ m n r e f p r o v i d e r e n g i n e . d l l " - " ! : \ s y s \ b i n \ m n r e f p r o v i d e r e n g i n e . d l l " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ r e s o u r c e \ m n r e f p r o v i d e r e n g i n e . r s c " - " ! : \ r e s o u r c e \ m n r e f p r o v i d e r e n g i n e . r s c " 
- 
- 
- 
- " \ e p o c 3 2 \ r e l e a s e \ a r m v 5 \ u r e l \ m n r e f p r o v i d e r p l u g i n . d l l " - " ! : \ s y s \ b i n \ m n r e f p r o v i d e r p l u g i n . d l l " 
- 
- " \ e p o c 3 2 \ d a t a \ z \ r e s o u r c e \ p l u g i n s \ m n r e f p r o v i d e r p l u g i n . r s c " - " ! : \ r e s o u r c e \ p l u g i n s \ m n r e f p r o v i d e r p l u g i n . r s c " 
- 
- 
- 
- 
- 
- 
- 
- 
\ No newline at end of file
Binary file locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/sis/mnrefprovider_bitmap_armv5.sis has changed
Binary file locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/sis/mnrefprovider_bitmap_armv5.sisx has changed
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/sis/rd-key.pem	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIICXAIBAAKBgQDLRF+r1FGGkCwTrb420kbnAps7gi1yYUcXYUdWeFTuBeQe5eW4
-6Y+LWaA8HMlDdoHRB0FgASisYcFagwno9+oFf4AJka4H1gWEs5XTGwAA1s0d8XGh
-7W7Dt9F5FZij8F7/9Pi6+FhhxZFIf1DD+yry9D7+Sp+BgdNALe4XOpf25QIBAwKB
-gQCHgupyjYuvCsgNHn7PNtnvVxInrB5MQNoPli+O+uNJWUK/Q+57Rl+yO8AoEzDX
-pFaLWiuVVhsdloDnAgabT/FXzYncs6uOHyEUV+dSXb78vtLPJqAX+Fg2i3hOXreB
-yskcZ13/OsKVOu5wgrJkx2baZufkqMwOSytf5y9nwjEIKwJBAP+inobagVNrN62j
-KQva3cC+UN/6XnKdTc0CA6bHyLOaJoH1xiMwG/VS2PGjHI0tiSMNtLn/QPpHJ003
-iabGhdUCQQDLjp/9UjFT6K6CF66Chqf30pZXhx+GTSQZmv/gvZiMly7X9fX9BGX3
-2MbJohBC4yI21XKTbisWywkF73Hwh+TRAkEAqmxprzxWN5zPyRdwspHpKymLP/w+
-9xOJM1atGdqFzRFvAU6EF3Vn+OHl9my9s3OwwgkjJqorUYTE3iUGby8D4wJBAIe0
-aqjhdjfwdFa6dFcEb/qMZDpaFQQzbWZnVUB+ZbMPdI/5TqitmU/l2dvBYCyXbCSO
-TGJJcg8yBgP09qBamIsCQFL7j1tM0XPVQJQ89WpKCld7O9ORxRGVj1eG0tWijrH8
-mGbYh8SGCVoWV3vrKSS8GBrFVgQnqUaHuEdtM7tpCAQ=
------END RSA PRIVATE KEY-----
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/sis/rd.cer	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
------BEGIN CERTIFICATE-----
-MIICzDCCAjWgAwIBAgIBADANBgkqhkiG9w0BAQUFADArMRAwDgYDVQQKEwdSRCBD
-ZXJ0MRcwFQYDVQQDEw5SRCBDZXJ0aWZpY2F0ZTAeFw0wNDExMTUxMjQyMDZaFw0z
-NzA5MjMxMjQyMDZaMCsxEDAOBgNVBAoTB1JEIENlcnQxFzAVBgNVBAMTDlJEIENl
-cnRpZmljYXRlMIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQDLRF+r1FGGkCwT
-rb420kbnAps7gi1yYUcXYUdWeFTuBeQe5eW46Y+LWaA8HMlDdoHRB0FgASisYcFa
-gwno9+oFf4AJka4H1gWEs5XTGwAA1s0d8XGh7W7Dt9F5FZij8F7/9Pi6+FhhxZFI
-f1DD+yry9D7+Sp+BgdNALe4XOpf25QIBA6OCAQAwgf0wDAYDVR0TBAUwAwEB/zAL
-BgNVHQ8EBAMCAoQwHQYDVR0OBBYEFFi/kuGzxhVpjGxe9ZwlxC3fH9jFMFMGA1Ud
-IwRMMEqAFFi/kuGzxhVpjGxe9ZwlxC3fH9jFoS+kLTArMRAwDgYDVQQKEwdSRCBD
-ZXJ0MRcwFQYDVQQDEw5SRCBDZXJ0aWZpY2F0ZYIBADBsBgNVHSAEZTBjMGEGBFUd
-IAAwWTATBggrBgEFBQcCARYHaHR0cDovLzBCBggrBgEFBQcCAjA2GjRGb3IgUiZE
-IHVzYWdlIG9ubHkuIFRoaXMgY2VydGlmaWNhdGUgaXMgbm90IHRydXN0ZWQuMA0G
-CSqGSIb3DQEBBQUAA4GBAHGB4RQMAgBdeT2hxfOr6f2nA/dZm+M5yX5daUtZnET9
-Ed0A9sazLawfN2G1KFQT9kxEParAyoAkpbMAsRrnRz/9cM3OHgFm/NiKRnf50DpT
-7oCx0I/65mVD2kt+xXE62/Ii5KPnTufIkPi2uLvURCia1tTS8JmJ8dtxDGyQt8BR
------END CERTIFICATE-----
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrefprovider.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CApaApplication class implementation
-*
-*/
-
-
-#include <eikstart.h>
-#include "mnrpapplication.h"
-
-LOCAL_C CApaApplication* NewApplication()
-{
-    return new CMnrpApplication;
-}
-
-TInt E32Main()
-{
-    return EikStart::RunApplication( NewApplication );
-}
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrefproviderback.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Main application methods
-*
-*/
-
-
-#include <eikstart.h>
-#include "mnrpapplicationback.h"
-
-LOCAL_C CApaApplication* NewApplication()
-{
-    return new CMnrpApplicationBack;
-}
-
-TInt E32Main()
-{
-    return EikStart::RunApplication( NewApplication );
-}
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrefproviderplugin.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Main application methods
-*
-*/
-
-
-#include <e32base.h>
-#include <ecom/ecom.h>
-#include <ecom/implementationproxy.h>
-
-#include "debug.h"
-#include "mnrpcoordconverter.h"
-
-// ========================== GLOBAL FUNCTIONS ===============================
-
-// ---------------------------------------------------------------------------
-// Table of implementations
-// ---------------------------------------------------------------------------
-//
-const TImplementationProxy ImplementationTable[] =
-    {
-    // Note! UID below is implementation UID, not DLL UID.
-    IMPLEMENTATION_PROXY_ENTRY( 0x03133038, CMnrpCoordConverter::NewL ),
-    };
-
-// ---------------------------------------------------------------------------
-// Note this function must be exported at ordinal 1
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(
-    TInt& aTableCount)
-    {
-    aTableCount = 1;
-    return ImplementationTable;
-    }
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpappcontrol.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpAppControlclass implementation
-*
-*/
-
-
-#include <coemain.h>
-#include <akndef.h>
-#include "mnrpappview.h"
-#include "mnrpappcontrol.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpAppControl::CMnrpAppControl( CMnrpAppView& aView )
-: iView( aView )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpAppControl::~CMnrpAppControl()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpAppControl* CMnrpAppControl::NewL( CMnrpAppView& aView, const TRect& aRect)
-    {
-    CMnrpAppControl* self = new (ELeave) CMnrpAppControl( aView );
-    CleanupStack::PushL( self );
-    self->ConstructL( aRect );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TInt CMnrpAppControl::CountComponentControls() const 
-    { 
-    return 0; 
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CCoeControl* CMnrpAppControl::ComponentControl( TInt /*aIndex*/ ) const
-    {
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppControl::ConstructL( const TRect& aRect )
-    {
-    // Create a window for this application view
-    CreateWindowL();
-
-    // Set the windows size
-    SetRect( aRect );
-
-    // Activate the window, which makes it ready to be drawn
-    ActivateL();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppControl::Draw( const TRect& /*aRect*/ ) const
-    {
-    // Get the standard graphics context
-    CWindowGc& gc = SystemGc();
-
-    // Gets the control's extent
-    TRect rect = Rect();
-
-    // Clears the screen
-    gc.Clear( rect );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppControl::HandleResourceChange( TInt aType )
-    {
-    CCoeControl::HandleResourceChange( aType );
-    if ( aType == KEikDynamicLayoutVariantSwitch )
-        {
-        SetRect( iView.ClientRect() );
-        }
-    }
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpapplication.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpApplication class implementation
-*
-*/
-
-
-#include "debug.h"
-
-#include "mnrpdocument.h"
-#include "mnrpappserver.h"
-#include "mnrpapplication.h"
-
-// UID for the application, this should match the uid defined in the mmp file.
-static const TUid KUidMnRefProviderApp = {0x03132013};
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CApaDocument* CMnrpApplication::CreateDocumentL()
-    {  
-    LOG( "MnRefProvider: CreateDocumentL" );
-    CApaDocument* document = CMnrpDocument::NewL( *this );
-    return document;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TUid CMnrpApplication::AppDllUid() const
-    {
-    // Return the UID for the MnRefProvider application
-    return KUidMnRefProviderApp;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpApplication::NewAppServerL( CApaAppServer*& aAppServer )
-    {
-    LOG( "MnRefProvider: NewAppServerL" );
-    aAppServer = new (ELeave) CMnrpAppServer;
-    }
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpapplicationback.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpApplicationGeoGeo class implementation
-*
-*/
-
-
-#include "debug.h"
-
-#include "mnrpdocumentback.h"
-#include "mnrpappserverback.h"
-#include "mnrpapplicationback.h"
-
-// UID for the application, this should match the uid defined in the mmp file.
-static const TUid KUidMnRefProviderBackApp = {0x03132014};
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CApaDocument* CMnrpApplicationBack::CreateDocumentL()
-    {  
-    LOG( "MnRefProviderBack: CreateDocumentL" );
-    CApaDocument* document = CMnrpDocumentBack::NewL( *this );
-    return document;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TUid CMnrpApplicationBack::AppDllUid() const
-    {
-    // Return the UID for the MnRefProvider application
-    return KUidMnRefProviderBackApp;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpApplicationBack::NewAppServerL( CApaAppServer*& aAppServer )
-    {
-    LOG( "MnRefProviderBack: NewAppServerL" );
-    aAppServer = CMnrpAppServerBack::NewL();
-    }
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpappserver.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,125 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpAppServer class implementation
-*
-*/
-
-
-#include <mnappserviceuids.hrh>
-#include "debug.h"
-
-#include <lbsposition.h>
-#include <epos_cposlandmark.h>
-
-#include "mnrpnavigationservice.h"
-#include "mnrpmapviewservice.h"
-
-#include <MnRefProvider.rsg>
-#include "mnrpappui.h"
-#include "mnrpengine.h"
-#include "mnrpappserver.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpAppServer::~CMnrpAppServer()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CApaAppServiceBase* CMnrpAppServer::CreateServiceL(TUid aServiceType) const
-    {  
-    LOG1("MnRefProvider::CreateServiceL, svcUid = %X", aServiceType.iUid);
-    switch ( aServiceType.iUid )
-        {
-        case KMnAppMapViewService:
-            return CreateMapViewServiceL();
-
-        case KMnAppNavigationService:
-            return CreateNavigationServiceL();
-            
-        default:
-            return CAknAppServer::CreateServiceL( aServiceType );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpAppServer::HandleAllClientsClosed()
-    {
-    LOG( "MnRefProvider: HandleAllClientsClosed" );
-    CMnrpAppUi* appUi = AppUi();
-    if ( appUi )
-    	{
-    	if ( appUi->IsChainedMode() ) 
-    		{
-    		// close
-    		CAknAppServer::HandleAllClientsClosed();
-    		}
-    	else // standalone mode
-    		{
-    		if ( !appUi->IsAnyUserViewActive() )
-    			{
-	    		// close
-	    		CAknAppServer::HandleAllClientsClosed();
-    			}
-    		else
-    			{	
-    			// "remain active until user closes me"
-    			}
-    		}	
-    	}
-	else
-        {
-        CAknAppServer::HandleAllClientsClosed();
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpNavigationService* CMnrpAppServer::CreateNavigationServiceL() const
-    {
-    LOG( "MnRefProvider: CreateNavigationServiceL" );
-    CMnrpNavigationService* svc = CMnrpNavigationService::NewL();
-    return svc;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapViewService* CMnrpAppServer::CreateMapViewServiceL() const
-    {
-    LOG( "MnRefProvider: CreateMapViewServiceL" );
-    CMnrpMapViewService* svc = CMnrpMapViewService::NewL();
-    return svc;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpAppUi* CMnrpAppServer::AppUi()
-    {
-    CMnrpAppUi* ui = (CMnrpAppUi*) CEikonEnv::Static()->AppUi();
-    if ( !ui )
-        {
-        LOG("MnRefProvider: UI not found!");
-        }
-    return ui;
-    }
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpappserverback.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpAppServerBack class implementation
-*
-*/
-
-
-#include <mnappserviceuids.hrh>
-#include "debug.h"
-
-#include <lbsposition.h>
-#include <epos_cposlandmark.h>
-
-#include "mnrpgeocodingservice.h"
-
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-#include "mnrpmapimageservice.h"
-#endif
-
-#include "mnrpappuiback.h"
-#include "mnrpengine.h"
-#include "mnrpappserverback.h"
-
-// ============================ LOCAL FUNCTIONS ===============================
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpAppServerBack::~CMnrpAppServerBack()
-    {
-    delete iEngine;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpAppServerBack* CMnrpAppServerBack::NewL()
-    {
-    CMnrpAppServerBack* self = new (ELeave) CMnrpAppServerBack();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppServerBack::ConstructL()
-    {
-    iEngine = CMnrpEngine::NewL();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CApaAppServiceBase* CMnrpAppServerBack::CreateServiceL(TUid aServiceType) const
-    {
-    LOG1("MnRefProviderBack::CreateServiceL, svcUid = %X", aServiceType.iUid);
-    switch ( aServiceType.iUid )
-        {
-        case KMnAppGeocodingService:
-            return CreateGeocodingServiceL();
-
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-        case KMnAppMapImageService:
-            return CreateMapImageServiceL();
-#endif
-        default:
-            return CAknAppServer::CreateServiceL( aServiceType );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpGeocodingService* CMnrpAppServerBack::CreateGeocodingServiceL() const
-    {
-    LOG( "MnRefProviderBack: CreateGeocodingServiceL" );
-    CMnrpGeocodingService* svc = CMnrpGeocodingService::NewL( *iEngine );
-    return svc;
-    }
-
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapImageService* CMnrpAppServerBack::CreateMapImageServiceL() const
-    {
-    LOG( "MnRefProviderBack: CreateGeocodingServiceL" );
-    CMnrpMapImageService* svc = CMnrpMapImageService::NewL( *iEngine );
-    return svc;
-    }
-#endif
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpappui.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,492 +0,0 @@
-/*
-* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpAppUi class implementation
-*
-*/
-
-
-#include <aknnavi.h>
-#include <aknnavide.h>
-#include <eikbtgpc.h>
-
-#include <akniconutils.h>
-#include <aknselectionlist.h>
-#include <gulicon.h>
-
-#include <MnRefProvider.rsg>
-#include <MnRefProvider.mbg>
-#include "mnrp.hrh"
-
-#include <epos_cposlandmark.h>
-#include <epos_cposlandmarkdatabase.h>
-
-#include "mnrpappview.h"
-#include "mnrpnaviview.h"
-#include "mnrpmapview.h"
-
-#include "mnrpmapviewservice.h"
-#include "mnrpnavigationservice.h"
-
-#include "mnrpdocument.h"
-#include "mnrpengine.h"
-#include "mnrpappui.h"
-#include "mnrputils.h"
-#include "debug.h"
-
-const TInt KDefaultLmIconIndex = 0;
-_LIT( KMbmFile, "\\resource\\apps\\MnRefProvider.mbm");
-
-// ============================ LOCAL FUNCTIONS ===============================
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CleanupIconArray( TAny* aArray )
-    {
-    LOG("MnRefProvider::CleanupIconArray in");
-    ( ( CArrayPtrSeg<CGulIcon>* ) aArray)->ResetAndDestroy();
-    delete aArray;
-    LOG("MnRefProvider::CleanupIconArray out");
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void AddIconL(
-    CArrayPtr<CGulIcon>& aIconArray,
-    const TDesC& aFileName,
-    TInt aIconIndex,
-    TInt aMaskIndex )
-    {
-    LOG("MnRefProvider::AddIconL in");
-    CFbsBitmap* icon = NULL;
-    CFbsBitmap* mask = NULL;
-
-    AknIconUtils::CreateIconLC( icon, mask, aFileName, aIconIndex, aMaskIndex );
-    CGulIcon* gul = CGulIcon::NewL( icon, mask );
-
-    gul->SetBitmapsOwnedExternally( EFalse );
-    CleanupStack::PushL( gul );
-    aIconArray.AppendL( gul );
-    CleanupStack::Pop( 3 ); // gul, icon & mask
-    LOG("MnRefProvider::AddIconL out");
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CArrayPtrSeg<CGulIcon>* CreateIconListLC( TInt aGranularity )
-    {
-    CArrayPtrSeg<CGulIcon>* iconList =
-        new (ELeave) CArrayPtrSeg<CGulIcon>( aGranularity );
-    CleanupStack::PushL( TCleanupItem( CleanupIconArray, iconList ) );
-
-    AddIconL(
-        *iconList,
-        KMbmFile,
-        EMbmMnrefproviderDefault_lm,
-        EMbmMnrefproviderDefault_lm_mask);
-
-    return iconList;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void AddLandmarkL(
-    const CPosLandmark& aLandmark,
-    CDesCArray& aTextArray,
-    CArrayPtr<CGulIcon>& aIconArray )
-    {
-    TPtrC name;
-    aLandmark.GetLandmarkName( name );
-
-    HBufC* printableName = MnrpUtils::PrintableStringLC( name );
-    
-    TPtrC iconFile;
-    TInt iconIndex, maskIndex, iconArrayIndex;
-
-    if ( aLandmark.GetIcon( iconFile, iconIndex, maskIndex ) == KErrNone )
-        {
-        AddIconL( aIconArray, iconFile, iconIndex, maskIndex );
-        iconArrayIndex = aIconArray.Count() - 1;
-        }
-    else
-        {
-        iconArrayIndex = KDefaultLmIconIndex;
-        }
-
-    _LIT(KListItemFormat, "%d\t%S\t\t");
-    const TInt KListItemMinSize = 20;
-
-    HBufC* item = HBufC::NewLC( printableName->Size() + KListItemMinSize );
-    item->Des().Format( KListItemFormat, iconArrayIndex, printableName );
-
-    aTextArray.AppendL( *item );
-
-    CleanupStack::PopAndDestroy( item );
-    CleanupStack::PopAndDestroy( printableName );
-    }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpAppUi::CMnrpAppUi( CMnrpEngine& aEngine )
-  : iEngine( aEngine )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppUi::ConstructL()
-    {
-    BaseConstructL( EAknEnableSkin );
-    
-    // This is empty view, it will be shown by UI framework,
-    // when application starts
-    iAppView = CMnrpAppView::NewL();
-    AddViewL( iAppView );
-
-    if ( !iEikonEnv->StartedAsServerApp() )
-        {
-        // switch to map view if started normally
-        iMapView = CMnrpMapView::NewL( EFalse, iEngine );
-        AddViewL( iMapView );
-        ActivateLocalViewL( iMapView->Id() );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpAppUi::~CMnrpAppUi()
-    {
-    delete iNaviPaneLabel;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppUi::HandleCommandL( TInt aCommand )
-    {
-    switch(aCommand)
-        {
-        case EAknSoftkeyBack:
-        	{
-    	    CEikAppServer* server = iEikonEnv->AppServer();
-		    if ( server )
-		    	{
-		        server->NotifyServerExit( EEikCmdExit );
-		    	}
-		    Exit();	
-        	break;
-        	}
-        	
-        case EEikCmdExit:
-        case EAknSoftkeyExit:
-            {
-    	    CEikAppServer* server = iEikonEnv->AppServer();
-		    if ( server )
-		    	{
-		        server->NotifyServerExit( EAknCmdExit ); // this will close client also
-		    	}
-		    Exit();	
-        	break;
-            }
-        default:
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TBool CMnrpAppUi::IsChainedMode()
-    {
-    return ( iParentWg != 0 );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TBool CMnrpAppUi::IsAnyUserViewActive()
-    {
-    TVwsViewId viewId;
-    if ( ( GetActiveViewId( viewId ) == KErrNotFound ) ||
-         ( viewId.iViewUid.iUid != EMnrpMapViewId && 
-           viewId.iViewUid.iUid != EMnrpNavigationViewId ) )
-        {
-        return EFalse;
-        }
-    else
-        {
-        return ETrue;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// ----------------------------------------------------------------------------
-//
-void CMnrpAppUi::SetNaviPaneTitleL( const TDesC& aPaneTitle )
-    {
-    if ( !iNaviPane )
-        {
-        iNaviPane = static_cast<CAknNavigationControlContainer*>(
-                StatusPane()->ControlL( TUid::Uid( EEikStatusPaneUidNavi ) ) );
-        }
-
-    if ( iNaviPaneLabel )
-        {
-        CAknNavigationDecorator* naviLabel = iNaviPane->CreateNavigationLabelL( aPaneTitle );
-        CleanupStack::PushL( naviLabel );
-
-        iNaviPane->ReplaceL( *iNaviPaneLabel, *naviLabel );
-
-        delete iNaviPaneLabel;
-        iNaviPaneLabel = naviLabel;
-
-        CleanupStack::Pop( naviLabel );
-        }
-    else
-        {
-        iNaviPaneLabel = iNaviPane->CreateNavigationLabelL( aPaneTitle );
-        iNaviPane->PushL( *iNaviPaneLabel );
-        }
-    }    
-
-// ----------------------------------------------------------------------------
-// ----------------------------------------------------------------------------
-//
-void CMnrpAppUi::SetRightSoftkeyCommandL( TInt aCommand, const TDesC& aButtonTitle )
-    {
-    if ( Cba() )
-        {
-        Cba()->SetCommandL( 1, aCommand, aButtonTitle );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TBool CMnrpAppUi::ProcessCommandParametersL( CApaCommandLine &aCommandLine )
-    {
-    iParentWg = aCommandLine.ParentWindowGroupID();
-    LOG1("parent window group id %d", iParentWg );
-    
-    return CAknAppUi::ProcessCommandParametersL( aCommandLine );
-    }
-
-// ----------------------------------------------------------------------------
-// ----------------------------------------------------------------------------
-//
-void CMnrpAppUi::HandleResourceChangeL( TInt aType )
-    {
-    CAknAppUi::HandleResourceChangeL( aType );
-    
-    TRect rect( ClientRect() );
-    if ( Cba() )
-        {
-		Cba()->SetBoundingRect( TRect() );
-		Cba()->ReduceRect( rect );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppUi::ShowMapL( CMnrpMapViewService& aService )
-    {
-    if ( !iMapView )
-        {
-        iMapView = CMnrpMapView::NewL( IsChainedMode(), iEngine );
-        AddViewL( iMapView );
-        }
-        
-    iMapView->SetMapModeL( aService );
-    ActivateLocalViewL( iMapView->Id() );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppUi::ShowNavigationL( const CPosLandmark& aDestination )
-    {
-    if ( !iNaviView )
-        {
-        iNaviView = CMnrpNaviView::NewL( IsChainedMode(), iEngine );
-        AddViewL( iNaviView );
-        }
-        
-    iNaviView->SetDestinationL( aDestination );
-    ActivateLocalViewL( iNaviView->Id() );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppUi::StartSelectionL( 
-    CMnrpMapViewService& aService,  
-    MMapSelectionCallback& aCallback )
-    {
-	SetNaviPaneTitleL( aService.SelectionRequestText() );
-
-    if ( aService.Options() & CMnMapView::EOptionRestrictSelection )
-        {
-        // select from dialog 
-        SelectFromDialogL( aService, aCallback );
-        }
-    else
-        {
-        // select from map
-        if ( !iMapView )
-            {
-            iMapView = CMnrpMapView::NewL( IsChainedMode(), iEngine );
-            AddViewL( iMapView );
-            }
-
-        iMapView->SetSelectionModeL( aService, aCallback );
-        ActivateLocalViewL( iMapView->Id() );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppUi::StopSelection()
-    {
-    __ASSERT_DEBUG( iMapView, Panic( KErrGeneral ) );
-    iMapView->StopSelection();
-
-    // Selection is done - close selection view
-    TRAP_IGNORE( ActivateLocalViewL( iAppView->Id() ) );
-    }
-    
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppUi::SelectFromDialogL(
-    CMnrpMapViewService& aService,
-    MMapSelectionCallback& aCallback )
-    {
-    LOG("MnRefProvider::SelectFromDialogL in");
-
-    const TInt KGranularity = 8;
-
-    CDesCArraySeg *textArray = new (ELeave) CDesCArraySeg( KGranularity );
-    CleanupStack::PushL( textArray );
-    CArrayPtrSeg<CGulIcon>* iconArray = CreateIconListLC( KGranularity );
-
-    TInt linkedLmsOffset = 0;
-
-    CMnrpDocument* doc = ( CMnrpDocument* ) Document();
-    CMnrpEngine& engine = doc->Engine();
-
-    // add non-linked landmarks
-    LOG("MnRefProvider::DoSelectionDialogL adding non-linked landmarks");
-    for ( TInt i = 0; i < aService.LandmarksToShow().Count(); i++)
-        {
-        const CPosLandmark* lm = aService.LandmarksToShow()[i];
-        AddLandmarkL( *lm, *textArray, *iconArray );
-        }
-
-    // add linked landmarks
-    LOG("MnRefProvider::DoSelectionDialogL adding linked landmarks");
-
-    // create dictionary of linked landmarks
-    // in order to ease searching for return values
-    // when completing request
-    RArray<TInt> dbIndices;
-    RArray<TPosLmItemId> lmIds;
-
-    CleanupClosePushL( dbIndices );
-    CleanupClosePushL( lmIds );
-
-    linkedLmsOffset = textArray->Count();
-    for ( TInt db = 0; db < aService.LandmarksToShowDatabases().Count(); db++ )
-        {
-        const HBufC* uri = aService.LandmarksToShowDatabases()[db];
-
-        CPosLandmarkDatabase* lmdb = CPosLandmarkDatabase::OpenL( *uri );
-        CleanupStack::PushL( lmdb );
-
-        if ( lmdb->IsInitializingNeeded() )
-            {
-            ExecuteAndDeleteLD( lmdb->InitializeL() );
-            }
-
-        for ( TInt i = 0; i < aService.LinkedLandmarksToShow(db).Count(); i++)
-            {
-            TPosLmItemId id = aService.LinkedLandmarksToShow(db)[i];
-
-            CPosLandmark* lm = lmdb->ReadLandmarkLC( id );
-            AddLandmarkL( *lm, *textArray, *iconArray );
-            
-            dbIndices.AppendL( db );
-            lmIds.AppendL( id );
-
-            CleanupStack::PopAndDestroy( lm );
-            }
-
-        CleanupStack::PopAndDestroy( lmdb );
-        }
-
-    TInt selected = 0;
-    CAknSelectionListDialog *dialog =
-        CAknSelectionListDialog::NewL( selected, textArray, R_MNREFPROVIDER_MENUBAR );
-
-    dialog->PrepareLC( R_MNREFPROVIDER_SELECTION_DIALOG );
-
-    dialog->SetIconArrayL( iconArray );
-    CleanupStack::Pop(); // iconArray cleanup
-
-    LOG1("MnRefProvider::SelectFromDialogL launching dialog with %d items", textArray->Count() );
-    TInt result = dialog->RunLD();
-    if ( result )
-        {
-        LOG("MnRefProvider::SelectFromDialogL approved");
-        if ( selected < linkedLmsOffset )
-            {
-            aCallback.HandleSelectionL( selected );
-            }
-        else
-            {
-            TInt linkedLmIndex = selected - linkedLmsOffset;
-            if ( linkedLmIndex < dbIndices.Count() && 
-                 linkedLmIndex < lmIds.Count() )
-                {
-                aCallback.HandleSelectionL( lmIds[linkedLmIndex], dbIndices[linkedLmIndex] );
-                }
-            else
-                {
-                // never happens
-                LOG("MnRefProvider::SelectFromDialogL selection out of range, out");
-                aCallback.HandleSelectionErrorL( KErrGeneral );
-                }
-            }
-        }
-    else
-        {
-        LOG("MnRefProvider::SelectFromDialogL cancelled, out");
-        aCallback.HandleSelectionErrorL( KErrCancel );
-        }
-
-    CleanupStack::PopAndDestroy( &lmIds );
-    CleanupStack::PopAndDestroy( &dbIndices );
-
-    CleanupStack::PopAndDestroy( textArray );
-    LOG("MnRefProvider::SelectFromDialogL out");
-}    
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpappuiback.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpAppUiBack classimplementation
-*
-*/
-
-
-#include <aknnavi.h>
-#include <aknnavide.h>
-
-#include "mnrpengine.h"
-#include "mnrpappuiback.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppUiBack::ConstructL()
-    {
-    BaseConstructL( EAknEnableSkin );
-    // no view is created as this application is intended to be run
-    // only as hidden server
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppUiBack::HandleCommandL(TInt aCommand)
-    {
-    switch(aCommand)
-        {
-        case EEikCmdExit:
-        case EAknSoftkeyExit:
-            Exit();
-            break;
-        default:
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpAppUiBack::MoveForeground()
-    {
-    RWindowGroup& window = iEikonEnv->RootWin();
-    window.SetOrdinalPosition( 0 );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpAppUiBack::MoveBackground()
-    {
-    RWindowGroup& window = iEikonEnv->RootWin();
-    window.SetOrdinalPosition( -1 );
-    }
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpappview.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpAppView class implementation
-*
-*/
-
-
-#include "mnrp.hrh"
-#include "mnrpappui.h"
-#include "mnrpappcontrol.h"
-#include "mnrpappview.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpAppView::CMnrpAppView()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpAppView::~CMnrpAppView()
-    {
-    delete iControl;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpAppView* CMnrpAppView::NewL()
-    {
-    CMnrpAppView* self = new ( ELeave ) CMnrpAppView();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppView::ConstructL()
-    {
-    BaseConstructL();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TUid CMnrpAppView::Id() const
-    {
-    return TUid::Uid( EMnrpAppViewId );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppView::DoActivateL(
-    const TVwsViewId& /*aPrevViewId*/,
-    TUid /* aCustomMessageId */,
-    const TDesC8& /* aCustomMessage */)
-    {
-    if ( !iControl )
-        {
-        iControl = CMnrpAppControl::NewL( *this, ClientRect() );
-        iControl->SetMopParent( this );
-        }
-
-    // Enable receiving of keyboard events.
-    CMnrpAppUi* ui = ( CMnrpAppUi* ) AppUi();
-    ui->AddToStackL( *this, iControl );
-
-    _LIT( KEmpty, "" );
-    ui->SetNaviPaneTitleL( KEmpty );
-
-    // Make view visible.
-    iControl->MakeVisible( ETrue );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpAppView::DoDeactivate()
-    {
-    if ( iControl )
-        {
-        // Hide view.
-        iControl->MakeVisible( EFalse );
-
-        // Disable receiving keyboard events.
-        AppUi()->RemoveFromStack( iControl );
-        }
-    }
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpcoordconverter.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpCoordConverter implementation
-*
-*/
-
-
-#include <e32base.h>
-
-#include "debug.h"
-#include "mnrpengine.h"
-#include "mnrpmapmodel.h"
-#include "mnrpcoordconverter.h"
-
-// ========================== MEMBER FUNCTIONS ===============================
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpCoordConverter* CMnrpCoordConverter::NewL()
-    {
-    CMnrpCoordConverter* self = new (ELeave) CMnrpCoordConverter;
-    CleanupStack::PushL( self );
-
-    self->iEngine = CMnrpEngine::NewL();
-    self->iModel = CMnrpMapModel::NewL( *self->iEngine );
-
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpCoordConverter::CMnrpCoordConverter()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpCoordConverter::~CMnrpCoordConverter()
-    {
-    delete iModel;
-    delete iEngine;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-TInt CMnrpCoordConverter::GetImageCoordinate(
-    const TCoordinate& aWorldCoordinate,
-    TPoint& aImagePoint )
-    {
-    const TMnMapImageParams& params = MapImageParams();
-
-    if ( params.ImageType() == TMnMapImageParams::ETypeSatelliteImage )
-        {
-        return KErrArgument;
-        }
-
-    iModel->UpdateModel( params );
-
-    aImagePoint = iModel->AbsoluteToScreen( aWorldCoordinate );
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-TInt CMnrpCoordConverter::GetWorldCoordinate(
-    const TPoint& aImagePoint,
-    TCoordinate& aWorldCoordinate )
-    {
-    const TMnMapImageParams& params = MapImageParams();
-
-    if ( params.ImageType() == TMnMapImageParams::ETypeSatelliteImage )
-        {
-        return KErrArgument;
-        }
-
-    iModel->UpdateModel( params );
-
-    aWorldCoordinate = iModel->ScreenToAbsolute( aImagePoint  );
-    return KErrNone;
-    }
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpdocument.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpDocument class implementation
-*
-*/
-
-
-#include "mnrpappui.h"
-#include "mnrpengine.h"
-#include "mnrpdocument.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpDocument::CMnrpDocument(CEikApplication& aApp) 
-    : CAknDocument(aApp) 
-    {
-    }   
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpDocument::ConstructL()
-    {
-    iEngine = CMnrpEngine::NewL();
-    }    
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpDocument* CMnrpDocument::NewL( CEikApplication& aApp )
-    {
-    CMnrpDocument* self = new (ELeave) CMnrpDocument(aApp);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpDocument::~CMnrpDocument()
-    {
-    delete iEngine;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpEngine& CMnrpDocument::Engine()
-    { 
-    return *iEngine; 
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CEikAppUi* CMnrpDocument::CreateAppUiL()
-    {
-    // Create the application user interface, and return a pointer to it,
-    // the framework takes ownership of this object
-    CEikAppUi* appUi = new (ELeave) CMnrpAppUi( *iEngine );
-    return appUi;
-    }
-
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpdocumentback.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpDocumentBack class implementation
-*
-*/
-
-
-#include "mnrpappuiback.h"
-#include "mnrpengine.h"
-#include "mnrpdocumentback.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpDocumentBack::CMnrpDocumentBack(CEikApplication& aApp) 
-    : CAknDocument(aApp) 
-    {
-    }   
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpDocumentBack* CMnrpDocumentBack::NewL( CEikApplication& aApp )
-    {
-    CMnrpDocumentBack* self = new (ELeave) CMnrpDocumentBack( aApp );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CEikAppUi* CMnrpDocumentBack::CreateAppUiL()
-    {
-    // Create the application user interface, and return a pointer to it,
-    // the framework takes ownership of this object
-    CEikAppUi* appUi = new (ELeave) CMnrpAppUiBack();
-    return appUi;
-    }
-
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpengine.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,433 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpEngine class implementation
-*
-*/
-
-
-#include <coemain.h>
-#include <aknlists.h>
-#include <barsread2.h>
-#include <barsc2.h> 
-
-#include <lbsposition.h>
-#include <lbspositioninfo.h>
-
-#include <epos_cposlandmark.h>
-#include <epos_cposlandmarkdatabase.h>
-
-#include <mnrefproviderengine.rsg>
-
-#include "../inc/debug.h"
-#include "mnrpengine.h"
-
-_LIT( KCitiesResourceFile, "\\resource\\mnrefproviderengine.rsc");
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpEngine::CMnrpEngine()
-    { 
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CMnrpEngine::~CMnrpEngine()
-    {
-    iPlaces.ResetAndDestroy();
-    iFileSession.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CMnrpEngine* CMnrpEngine::NewL()
-    {
-    CMnrpEngine* self = new (ELeave) CMnrpEngine();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpEngine::ConstructL()
-    {
-    User::LeaveIfError( iFileSession.Connect() );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TArray<CPosLandmark*> CMnrpEngine::KnownPlacesL()
-    {
-    if ( iPlaces.Count() == 0 )
-        {
-        TRAP_IGNORE( LoadKnownPlacesL() );
-        }
-
-    return iPlaces.Array();        
-    }
-    
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CPosLandmark* CMnrpEngine::AddressToCoordLC( const CPosLandmark& aAddress )
-    {
-    CPosLandmark* lm = AddressToCoordL( aAddress );
-    if ( lm )
-        {
-        CleanupStack::PushL( lm );
-        return lm;
-        }
-    else
-        {
-        User::Leave( KErrNotFound );
-        return NULL;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CPosLandmark* CMnrpEngine::AddressToCoordL( const CPosLandmark& aAddress )
-    {
-    TPtrC city, country;
-    aAddress.GetPositionField( EPositionFieldCity, city );
-    
-    TArray<CPosLandmark*> pois = KnownPlacesL();
-    
-    if ( city.Length() )
-        {
-        for ( TInt i = 0; i < pois.Count(); i++ )
-            {
-            TPtrC poiCity;
-            pois[i]->GetPositionField( EPositionFieldCity, poiCity );
-            if ( poiCity.CompareF( city ) == 0 )
-                {
-                return CPosLandmark::NewL( *pois[i] );
-                }
-            }
-        }
-    
-    return NULL;
-    }
-    
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CPosLandmark* CMnrpEngine::AddressToCoordLC( const TDesC& aAddress )
-    {
-    CPosLandmark* lm = AddressToCoordL( aAddress );
-    if ( lm )
-        {
-        CleanupStack::PushL( lm );
-        return lm;
-        }
-    else
-        {
-        User::Leave( KErrNotFound );
-        return NULL;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CPosLandmark* CMnrpEngine::AddressToCoordL( const TDesC& aAddress )
-    {
-    TArray<CPosLandmark*> pois = KnownPlacesL();
-
-    if ( aAddress.Length() )
-        {
-        for ( TInt i = 0; i < pois.Count(); i++ )
-            {
-            TPtrC city, country;
-            pois[i]->GetPositionField( EPositionFieldCity, city );
-            pois[i]->GetPositionField( EPositionFieldCountry, country );
-            
-            if ( aAddress.FindF( city ) >= 0 )
-                {
-                return CPosLandmark::NewL( *pois[i] );
-                }
-            }
-        }
-        
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TReal32 CMnrpEngine::DistanceBetweenLandmarks( 
-    const CPosLandmark& aFrom,
-    const CPosLandmark& aTo )
-    {
-    TRealX nan;
-    nan.SetNaN();
-    TReal32 distance = nan;
-    
-    TLocality locFrom, locTo;
-
-    if ( aFrom.GetPosition( locFrom ) == KErrNone &&
-         aTo.GetPosition( locTo ) == KErrNone )
-        {
-        TReal32 dist;
-        if ( locFrom.Distance( locTo, dist ) == KErrNone )
-            {
-            distance = dist;
-            }
-        }
-    return distance;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpEngine::FindClosestPoisL( 
-    const CPosLandmark& aReference,
-    RArray<CMnrpEngine::TDistanceToPoi>& aNeighbourPois,
-    TInt aMaxMatches )
-    {
-    aNeighbourPois.Reset();
-    TArray<CPosLandmark*> pois = KnownPlacesL();
-
-    // calc distances to known places and find out closest ones
-    for ( TInt i = 0; i < pois.Count(); i++ )
-        {
-        CPosLandmark* poi = pois[i];
-
-        TReal32 distance = DistanceBetweenLandmarks( aReference, *poi );
-        
-        if ( Math::IsNaN( distance ) )
-            {
-            continue;
-            }
-        
-        TDistanceToPoi newDistToPoi;
-        newDistToPoi.iPoiIndex = i;
-        newDistToPoi.iDistance = distance;
-
-        for ( TInt k = 0; k < aNeighbourPois.Count(); k++ )
-            {
-            TDistanceToPoi distToPoi = aNeighbourPois[k];
-            if ( distance < distToPoi.iDistance )
-                {
-                // current POI is closer to reference than current neighbour
-                aNeighbourPois.InsertL( newDistToPoi, k );
-                break;
-                }
-            }
-
-        if ( aNeighbourPois.Count() < aMaxMatches )
-            {
-            aNeighbourPois.AppendL( newDistToPoi );
-            }
-
-        if ( aNeighbourPois.Count() > aMaxMatches )
-            {
-            aNeighbourPois.Remove( aNeighbourPois.Count() - 1 ); // remove last
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CPosLandmark* CMnrpEngine::CreateCloseLandmarkLC( 
-    const CPosLandmark& aReference,
-    TReal32 aDistance )
-    {
-    CPosLandmark* lm = CPosLandmark::NewLC( aReference );
-    TPtrC oldName;
-    lm->GetLandmarkName( oldName );
-    
-    // create street in the form of "50 km to <POI name>"
-    const TInt KDistValueLen = 5; // "40000"
-    const TInt KAdditionalChars = 7; // " km to "
-
-    _LIT( KLocationNameFormat, "%d m to %S" );
-    _LIT( KLocationNameFormatKm, "%d km to %S" );
-
-    HBufC* locName = HBufC::NewLC( oldName.Length() + KDistValueLen + KAdditionalChars );
-
-    if ( aDistance < 1000 )
-        {
-        locName->Des().Format( KLocationNameFormat, TInt( aDistance ), &oldName );
-        }
-    else
-        {
-        locName->Des().Format( KLocationNameFormatKm, TInt( aDistance / 1000 ), &oldName );
-        }
-
-    lm->SetPositionFieldL( EPositionFieldLocationName, *locName );
-    lm->SetPositionFieldL( EPositionFieldStreet, *locName );
-   
-    CleanupStack::PopAndDestroy( locName );
-    return lm; // left in stack
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CPosLandmark* CMnrpEngine::CoordToAddressLC( const TCoordinate& aLocation )
-    {
-    TArray<CPosLandmark*> pois = KnownPlacesL();
-
-    // find closest POI
-    RArray<TDistanceToPoi> matches;
-	CleanupClosePushL( matches );
-    
-    CPosLandmark* temp = CPosLandmark::NewLC();
-    TLocality loc( aLocation, 0 ); // accuracy is not used by this implementation
-    temp->SetPositionL( loc );
-    FindClosestPoisL( *temp, matches, 1 ); // only one match needed
-    CleanupStack::PopAndDestroy( temp );
-    
-    if ( matches.Count() < 1 )
-		{
-		User::Leave( KErrNotFound );
-		}
-
-    TDistanceToPoi distToPoi = matches[0];
-	CleanupStack::PopAndDestroy( &matches );
-
-    CPosLandmark* lm = CreateCloseLandmarkLC(
-        *pois[distToPoi.iPoiIndex],
-        distToPoi.iDistance );
-
-    return lm; // left in stack
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpEngine::BestCoordToAddressMatchesL( 
-    const TCoordinate& aLocation,
-    RPointerArray<CPosLandmark>& aMatches,
-    TInt aMaxMatches )
-    {
-    TArray<CPosLandmark*> pois = KnownPlacesL();
-
-    // find closest POIs
-    RArray<TDistanceToPoi> matches;
-    CleanupClosePushL( matches );
-    
-    CPosLandmark* temp = CPosLandmark::NewLC();
-    TLocality loc( aLocation, 0 ); // accuracy is not used by this implementation
-    temp->SetPositionL( loc );
-    FindClosestPoisL( *temp, matches, aMaxMatches );
-    CleanupStack::PopAndDestroy( temp );
-    
-    for ( TInt i = 0; i < matches.Count(); i++ )
-        {
-        TDistanceToPoi distToPoi = matches[i];
-        
-        CPosLandmark* lm = CreateCloseLandmarkLC( 
-            *pois[distToPoi.iPoiIndex], 
-            distToPoi.iDistance );
-            
-        aMatches.AppendL( lm );    
-        CleanupStack::Pop( lm );
-        }
-    CleanupStack::PopAndDestroy( &matches );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpEngine::FindResourceFileL( 
-    const TDesC& aFilePathAndName,
-    TFileName& aRscFile )
-    {
-    TParse parse;
-    parse.Set( aFilePathAndName, NULL, NULL );
-    
-    TFindFile finder( iFileSession );
-    if ( finder.FindByDir( parse.NameAndExt(), parse.Path() ) == KErrNone )
-        {
-        aRscFile.Copy( finder.File() );
-        }
-    else
-        {
-        User::Leave( KErrNotFound );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C RFs& CMnrpEngine::Fs() 
-    { 
-    return iFileSession;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpEngine::LoadKnownPlacesL()
-    {
-    TFileName resourceFile;
-    FindResourceFileL( KCitiesResourceFile(), resourceFile );
-
-    CResourceFile* resFile = CResourceFile::NewLC( iFileSession, resourceFile, 0, 0 );
-    resFile->ConfirmSignatureL( 0 );
-
-    RResourceReader reader;
-
-    reader.OpenLC( resFile, R_MNREFPROVIDERENGINE_PLACES );
-    ReadPlacesResourceL( reader );
-    CleanupStack::PopAndDestroy( &reader );
-    
-    CleanupStack::PopAndDestroy( resFile );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpEngine::ReadPlacesResourceL( RResourceReader& aReader )
-    {
-    TInt size = aReader.ReadInt16L();
-
-    for ( TInt i = 0; i < size; i++ )
-        {
-        HBufC* city = aReader.ReadHBufCL();
-        CleanupStack::PushL( city );
-        HBufC* country = aReader.ReadHBufCL();
-        CleanupStack::PushL( country );
-
-        TReal64 lat = aReader.ReadReal64L();
-        TReal64 lon = aReader.ReadReal64L();
-        
-        CPosLandmark* lm = CPosLandmark::NewLC();
-        lm->SetLandmarkNameL( *city );
-        
-        lm->SetPositionFieldL( EPositionFieldCity, *city );
-        lm->SetPositionFieldL( EPositionFieldCountry, *country );
-        
-        TLocality coord;
-        coord.SetCoordinate( lat, lon );
-        lm->SetPositionL( coord );
-        
-        iPlaces.AppendL( lm );
-        CleanupStack::Pop( lm );
-        CleanupStack::PopAndDestroy( country );
-        CleanupStack::PopAndDestroy( city );
-        }
-    }
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpgeocodingservice.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,343 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpGeocodingService class implementation
-*
-*/
-
-
-#include <e32base.h>
-
-#include <aknnotewrappers.h>
-
-#include <lbsposition.h>
-
-#include <epos_cposlandmark.h>
-#include <epos_poslandmarkserialization.h>
-
-#include <mngeocodingservicebase.h>
-
-#include "debug.h"
-
-#include "mnrpappserverback.h"
-#include "mnrpappuiback.h"
-#include "mnrpdocumentback.h"
-#include "mnrpengine.h"
-
-#include <mnrefproviderback.rsg>
-#include "mnrpgeocodingservice.h"
-
-// ======== LOCAL FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-//  Cleanup item for RPointerArray<CPosLandmark>
-// ---------------------------------------------------------------------------
-//
-void CleanupLandmarksArray( TAny* aArray )
-    {
-    ( static_cast<RPointerArray<CPosLandmark>*>( aArray ) )->ResetAndDestroy();
-    }
-
-// ---------------------------------------------------------------------------
-//  Cleanup item for moving application fore/background
-// ---------------------------------------------------------------------------
-//
-void CleanupForeground( TAny* aAppUi )
-    {
-    ( static_cast<CMnrpAppUiBack*>( aAppUi ) )->MoveBackground();
-    }
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpGeocodingService::CMnrpGeocodingService( CMnrpEngine& aEngine )
- :  iEngine( aEngine )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpGeocodingService* CMnrpGeocodingService::NewL( CMnrpEngine& aEngine )
-    {
-    CMnrpGeocodingService* self = new (ELeave) CMnrpGeocodingService( aEngine );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpGeocodingService::~CMnrpGeocodingService()
-    {
-    delete iProcessor;
-    delete iLandmark;
-    delete iPlainAddress;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpGeocodingService::ConstructL()
-    {
-    BaseConstructL();
-    
-    iProcessor = CIdle::NewL( CActive::EPriorityIdle );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpGeocodingService::LeaveIfBusyL()
-    {
-    if ( iProcessor->IsActive() )
-        {
-        User::Leave( KErrInUse );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpGeocodingService::StartProcessingL()
-    {
-    iProcessor->Start( TCallBack( CMnrpGeocodingService::GeocodingProcessingCallBack, this ) );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-TInt CMnrpGeocodingService::GeocodingProcessingCallBack( TAny* aPtr )
-    {
-    CMnrpGeocodingService* self =    
-        static_cast<CMnrpGeocodingService*> ( aPtr );
-        
-    self->HandleGeocodingCompleted();
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpGeocodingService::HandleGeocodingCompleted()
-    {
-    TInt err = KErrNone;
-    TRAP( err, FinishProcessingL() );
-    if ( err )
-        {
-        CompleteRequest( err );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpGeocodingService::FinishProcessingL()
-    {
-    LOG1("MnRefProvider: FinishProcessingL in, cursvc %d", iCurrentService);
-
-    TLocality loc;
-    CPosLandmark* lm = NULL;
-    
-    switch ( iCurrentService )
-        {
-        case ECoordToAddr:
-                
-            if ( iDialogAllowed )
-                {
-                lm = LetUserSelectBestMatchL( *iLandmark );
-                CleanupStack::PushL( lm );
-                }
-            else
-                {
-                // search and return just best match - closest POI
-                if ( iLandmark->GetPosition( loc ) != KErrNone )
-                    {
-                    User::Leave( KErrArgument );
-                    }
-                lm = iEngine.CoordToAddressLC( loc );
-                }
-            break;
-
-        case EAddrToCoord:
-            lm = iEngine.AddressToCoordLC( *iLandmark );
-            break;
-
-        case EPlainToCoord:
-            lm = iEngine.AddressToCoordLC( *iPlainAddress );
-            break;
-            
-        default:            
-            User::Leave( KErrGeneral );
-        }
-
-    iCurrentService = ENone;    
-    
-    CompleteGeocodingRequestL( *lm );
-    CleanupStack::PopAndDestroy( lm );
-
-    LOG("MnRefProvider: FinishProcessingL out");
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CPosLandmark* CMnrpGeocodingService::LetUserSelectBestMatchL( const CPosLandmark& aReference )
-    {
-    // 1. Find best matches
-    
-    RPointerArray<CPosLandmark> matches;
-    CleanupStack::PushL( TCleanupItem( CleanupLandmarksArray, &matches ) );
-    
-    TLocality location;
-    if ( aReference.GetPosition( location ) != KErrNone )
-        {
-        User::Leave( KErrArgument );
-        }
-    
-    const TInt KMaxmMatches = 3;
-    iEngine.BestCoordToAddressMatchesL( location, matches, KMaxmMatches );
-    
-    if ( matches.Count() < 1 )
-        {
-        User::Leave( KErrNotFound ); // cannot find any match
-        }
-    
-    // 2. Start selection dialog
-    
-    TInt result = 1, selected = 0;
-    if ( matches.Count() > 1 )
-        {
-        // prepare dialog
-        const TInt KGranularity = 8;
-        CDesCArraySeg *textArray = new (ELeave) CDesCArraySeg( KGranularity );
-        CleanupStack::PushL( textArray );
-        
-        for ( TInt i = 0; i < matches.Count(); i++ )
-            {
-            HBufC* buf = HBufC::NewLC( KPosLmMaxTextFieldLength );
-            TPtrC ptr( buf->Des() );
-            
-            matches[i]->GetPositionField( EPositionFieldLocationName, ptr );
-            textArray->AppendL( ptr );
-
-            CleanupStack::PopAndDestroy( buf );
-            }
-        
-        // bring application foreground
-        CMnrpAppUiBack* ui = (CMnrpAppUiBack*) CEikonEnv::Static()->AppUi();
-        CleanupStack::PushL( TCleanupItem( CleanupForeground, ui ) );
-        ui->MoveForeground();
-
-        CAknListQueryDialog* dialog = new (ELeave) CAknListQueryDialog( &selected );
-        dialog->PrepareLC( R_MNREFGEOCODER_LIST_QUERY );
-
-        dialog->SetItemTextArray( textArray );
-        dialog->SetOwnershipType( ELbmOwnsItemArray );
-
-        // pop up dialog
-        result = dialog->RunLD();
-
-        CleanupStack::PopAndDestroy(); // move background
-        CleanupStack::Pop( textArray );
-        }
-
-    // 3. Return result
-    CPosLandmark* lm = NULL;
-    if ( result )
-        {
-        lm = matches[selected];
-        matches.Remove( selected );
-        }
-    else
-        {
-        User::Leave( KErrCancel ); 
-        // user cancelled geocoding selection dialog
-        // it automatically cancels geocoding request
-        }
-
-    CleanupStack::PopAndDestroy(); // matches
-    return lm;
-    }
-
-// ---------------------------------------------------------------------------
-// From class CMnGeocodingServiceBase
-// ---------------------------------------------------------------------------
-//
-void CMnrpGeocodingService::HandleFindAddressByCoordinateL(
-    const CPosLandmark& aLandmark)
-    {
-    LeaveIfBusyL();
-
-    delete iLandmark;
-    iLandmark = NULL;
-    iLandmark = CPosLandmark::NewL(aLandmark);
-    
-    iCurrentService = ECoordToAddr;
-    iDialogAllowed = !( Options() & CMnGeocoder::EOptionDialogDisabled );
-    StartProcessingL();
-    }
-        
-// ---------------------------------------------------------------------------
-// From class CMnGeocodingServiceBase
-// ---------------------------------------------------------------------------
-//
-void CMnrpGeocodingService::HandleFindCoordinateByAddressL(
-    const CPosLandmark& aLandmark)
-    {
-    LeaveIfBusyL();
-
-    delete iLandmark;
-    iLandmark = NULL;
-    iLandmark = CPosLandmark::NewL( aLandmark );
-    
-    iCurrentService = EAddrToCoord;
-    iDialogAllowed = !( Options() & CMnGeocoder::EOptionDialogDisabled );
-    StartProcessingL();
-    }
-
-// ---------------------------------------------------------------------------
-// From class CMnGeocodingServiceBase
-// ---------------------------------------------------------------------------
-//
-void CMnrpGeocodingService::HandleFindCoordinateByAddressL(
-    const TDesC& aAddress)
-    {
-    LeaveIfBusyL();
-
-    delete iPlainAddress;
-    iPlainAddress = NULL;
-    iPlainAddress = aAddress.AllocL();
-    
-    delete iLandmark;
-    iLandmark = NULL;
-    iLandmark = CPosLandmark::NewL();
-    
-    iCurrentService = EPlainToCoord;
-    iDialogAllowed = !( Options() & CMnGeocoder::EOptionDialogDisabled );
-    StartProcessingL();
-    }
-
-// ---------------------------------------------------------------------------
-// From class CMnServiceBase
-// ---------------------------------------------------------------------------
-//
-void CMnrpGeocodingService::DoCancel()
-    {
-    iProcessor->Cancel();
-    iCurrentService = ENone;
-    }
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpmapcontrol.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,644 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpMapControl class implementation
-*
-*/
-
-
-#include <coemain.h>
-#include <aknlists.h>
-#include <barsread.h>
-#include <aknnotewrappers.h>
-
-#include <bitstd.h>
-#include <bitdev.h>
-
-#include <lbsposition.h>
-
-#include "debug.h"
-
-#include "mnrputils.h"
-#include "mnrpmapview.h"
-#include "mnrpmapcontrol.h"
-
-const TInt KCodeKeyLeft = 0x34;
-const TInt KCodeKeyRight = 0x36;
-const TInt KCodeKeyUp = 0x32;
-const TInt KCodeKeyDown = 0x38;
-const TInt KCodeKeyCenter = 0x35;
-
-const TInt KCodeKeySelect = EKeyDevice3;
-const TInt KCodeKeySelect2 = 0x13;
-
-const TInt KCodeKeyZoomIn = 42;
-const TInt KCodeKeyZoomOut = 35;
-const TInt KCodeKeyZoomIn2 = 0x33;
-const TInt KCodeKeyZoomOut2 = 0x39;
-
-const TRgb KCursorColor( 255, 255, 255 );
-const TRgb KGridTextColor( 0, 0, 0 );
-const TRgb KOriginMarkColor( 0, 0, 255 );
-
-const TInt KTextFontHeightInTwips = 100;
-const TInt KItemFontHeightInTwips = 120;
-const TReal KBorderSizeFactor = 2;
-
-const TInt KCursorMarginSize = 20; // pixels
-const TInt KCursorArrowSize = 4; // pixels
-const TInt KCursorCircleRadius = 4; // pixels
-
-const TInt KCursorMove = 10; // pixels
-const TInt KWindowMove = 20; // pixels
-const TReal KJumpFactor = 5;
-const TReal KCrawlFactor = 2.0 / KCursorMove;
-
-const TReal KZoomOutRate = 1.5;
-const TReal KZoomInRate =  1 / KZoomOutRate;
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapControl::CMnrpMapControl( CMnrpMapView& aView )
- :  iView( aView )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapControl::~CMnrpMapControl()
-    {
-    delete iModel;
-    delete iOffScreenBitmap;
-    DestroyFonts();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapControl* CMnrpMapControl::NewL( 
-    CMnrpMapView& aView,
-    const TRect& aRect,
-    CMnrpEngine& aEngine )
-    {
-    CMnrpMapControl* self = new ( ELeave ) CMnrpMapControl( aView );
-    CleanupStack::PushL( self );
-    self->ConstructL( aRect, aEngine );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::UpdateModelL( CMnrpMapViewService& aService )
-    {
-    iModel->UpdateModelL( aService );
-    }
-    
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::SetSelectionModeL( TBool aSelectionMode ) 
-    {
-    iSelectionMode = aSelectionMode;
-    iAbsoluteCursor = iModel->Center();
-    iCursor = iModel->AbsoluteToScreen( iAbsoluteCursor );
-    DrawDeferred();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TCoordinate CMnrpMapControl::CurrentLocation()
-    {
-    return iAbsoluteCursor;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::ConstructL( 
-    const TRect& aRect,
-    CMnrpEngine& aEngine )
-    {
-    // Create a window for this application view
-    CreateWindowL();
-
-    iModel = CMnrpMapModel::NewL( *this, aEngine );
-
-    // Set the windows size
-    SetRect( aRect );
-    
-    iAbsoluteCursor = TCoordinate( 0, 0 );
-    iCursor = iModel->AbsoluteToScreen( iAbsoluteCursor );
-    
-    CreateFonts();
-    CreateScreenBufferL( aRect.Size() );
-
-    // Activate the window, which makes it ready to be drawn
-    ActivateL();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CMnrpMapControl::OfferKeyEventL(
-    const TKeyEvent& aKeyEvent, 
-    TEventCode /*aType*/ )
-    {
-    TKeyResponse response = EKeyWasConsumed;
-    
-    TInt step = iSelectionMode ? KCursorMove : KWindowMove;
-    TBool isShift = aKeyEvent.iModifiers & EModifierShift;
-    TReal crawlFactor = isShift ? KCrawlFactor : 1;
-
-    TInt xmove = 0;
-    TInt ymove = 0;
-    
-    TBool redraw = ETrue;
-
-    switch ( aKeyEvent.iCode )
-        {
-        case EKeyLeftArrow:
-            xmove = -step * crawlFactor;
-            break;
-
-        case KCodeKeyLeft:
-            xmove = -step * KJumpFactor;
-            break;
-
-        case EKeyRightArrow:
-            xmove = step * crawlFactor;
-            break;
-
-        case KCodeKeyRight:
-            xmove = step * KJumpFactor;
-            break;
-
-        case EKeyUpArrow:
-            ymove = -step * crawlFactor;
-            break;
-
-        case KCodeKeyUp:
-        case EKeyPageUp:
-            ymove = -step * KJumpFactor;
-            break;
-
-        case EKeyDownArrow:
-            ymove = step * crawlFactor;
-            break;
-            
-        case KCodeKeyDown:
-        case EKeyPageDown:
-            ymove = step * KJumpFactor;
-            break;
-
-        case KCodeKeyZoomIn:
-        case KCodeKeyZoomIn2:
-            Zoom( KZoomInRate );
-            break;
-
-        case KCodeKeyZoomOut:
-        case KCodeKeyZoomOut2:
-            Zoom( KZoomOutRate );
-            break;
-
-        case KCodeKeyCenter:
-            iModel->GoCenter();
-            iCursor = iModel->AbsoluteToScreen( TCoordinate( 0, 0 ) );
-            break;
-
-        case KCodeKeySelect:
-        case KCodeKeySelect2:
-            if ( iSelectionMode )
-                {
-                iView.HandleUserSelectionL( KErrNone );
-                redraw = EFalse;
-                }
-            break;
-
-        default:
-            response = EKeyWasNotConsumed;
-            redraw = EFalse;
-            break;
-        }
-
-    if ( xmove || ymove )
-        {
-        if ( iSelectionMode )
-            {
-            MoveCursor( xmove, ymove );
-            }
-        else
-            {
-            TCoordinate center = iModel->Center();
-            TCoordinate moveTo( 
-                center.Latitude() - iModel->ScreenToAbsolute( ymove ),
-                center.Longitude() + iModel->ScreenToAbsolute( xmove ) );
-            iModel->MoveTo( moveTo );
-            }
-        }
-
-    if ( redraw )
-        {
-        RenderL();
-        DrawDeferred();
-        }
-
-    return response;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::HandleModelUpdateL()
-    {
-    RenderL();
-    DrawDeferred();
-    
-    TInt ignored = iModel->NumIgnoredLandmarks();
-    if ( ignored )
-    	{
-        CAknInformationNote* note = new (ELeave) CAknInformationNote( ETrue );
-        _LIT( KMessageIgnoredLm, "One landmark\nhas no coordinates\nand can't be shown." );
-        _LIT( KMessageIgnoredLms, "%d landmarks\nhave no coordinates\nand can't be shown." );
-        if ( ignored == 1 )
-        	{
-        	note->ExecuteLD( KMessageIgnoredLm() );
-        	}
-        else
-        	{
-            TBuf<64> message;
-        	message.Format( KMessageIgnoredLms, ignored );
-        	note->ExecuteLD( message );
-        	}
-    	}
-    }
-    
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::CreateScreenBufferL( const TSize& aSize )
-	{
-	CGraphicsDevice* screenDevice = iEikonEnv->ScreenDevice();
-
-	// create a bitmap to be used off-screen
-	CFbsBitmap* offScreenBitmap = new (ELeave) CFbsBitmap();
-	User::LeaveIfError( offScreenBitmap->Create( aSize, screenDevice->DisplayMode() ) );
-	CleanupStack::PushL( offScreenBitmap );
-
-	if ( iOffScreenBitmap )
-		{
-		delete iOffScreenBitmap;
-		}
-	iOffScreenBitmap = offScreenBitmap;
-
-	CleanupStack::Pop( offScreenBitmap );
-	}
-
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::CreateFonts()
-	{
-    CGraphicsDevice* screenDevice = iEikonEnv->ScreenDevice();
-
-    const CFont* denseFont = iEikonEnv->DenseFont();
-    TFontSpec fs = denseFont->FontSpecInTwips();
-
-    fs.iHeight = KTextFontHeightInTwips;
-    screenDevice->GetNearestFontInTwips( iTextFont, fs );
-    
-    fs.iHeight = KItemFontHeightInTwips;
-    screenDevice->GetNearestFontInTwips( iItemFont, fs );
-	}
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::DestroyFonts()
-	{
-	CGraphicsDevice* screenDevice = iEikonEnv->ScreenDevice();
-	
-    screenDevice->ReleaseFont( iItemFont );
-    iItemFont = NULL;
-    screenDevice->ReleaseFont( iTextFont );
-    iTextFont = NULL;
-	}
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::Draw( const TRect& /*aRect*/ ) const
-    {
-    // Get the standard graphics context
-    CWindowGc& gc = SystemGc();
-
-    TRect rect = Rect();
-    TRect border( rect );
-    border.Shrink( BorderSize() );
-	
-    gc.Clear( TRect( rect.iTl.iX, rect.iTl.iY, rect.iBr.iX, border.iBr.iY ) );
-    gc.Clear( TRect( rect.iTl.iX, border.iBr.iY, rect.iBr.iX, rect.iBr.iY ) );
-    gc.Clear( TRect( rect.iTl.iX, border.iTl.iY, border.iTl.iX, border.iBr.iY ) );
-    gc.Clear( TRect( border.iBr.iX, border.iTl.iY, rect.iBr.iX, border.iBr.iY ) );
-
-    CMnrpMapModel::TGrid grid;
-    iModel->GetGrid( grid );
-    DrawGridText( gc, border, rect, iTextFont, grid );
-
-	if ( iOffScreenBitmap )
-		{
-		gc.BitBlt( border.iTl, iOffScreenBitmap );
-		}
-	else
-		{
-		gc.Clear();	
-		}
-			
-    if ( iSelectionMode )
-        {
-        gc.SetOrigin( border.iTl );
-        DrawCursor( gc );
-        }
-
-    // draw border
-    gc.SetPenColor( KRgbGray );
-    gc.SetPenSize( TSize( 1, 1 ) );
-    gc.SetOrigin( rect.iTl );
-    gc.DrawRect( border );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::DrawGridText( 
-    CWindowGc& aGc, 
-    const TRect& aInnerBox,
-    const TRect& aOuterBox,
-    const CFont* aFont,
-    CMnrpMapModel::TGrid& aGrid ) const
-    {
-    aGc.UseFont( aFont );
-    
-    TBuf<KMaxCoordStrSize> latTopStr, latBottomStr, lonLeftStr, lonRightStr;
-    TBuf<KMaxCoordStrSize> gridMajorStr, latStr, lonStr;
-    
-    MnrpUtils::CoordinateToString( iModel->Left(), lonLeftStr, ETrue );
-    MnrpUtils::CoordinateToString( iModel->Top(), latTopStr, ETrue );
-    MnrpUtils::CoordinateToString( iModel->Right(), lonRightStr, ETrue );
-    MnrpUtils::CoordinateToString( iModel->Bottom(), latBottomStr, ETrue );
-
-    if ( !iSelectionMode )
-        {
-        MnrpUtils::CoordinateToString( ( iModel->Right() + iModel->Left() ) / 2, lonStr, ETrue );
-        MnrpUtils::CoordinateToString( ( iModel->Top() + iModel->Bottom() ) / 2, latStr, ETrue );
-        }
-    else
-        {
-        MnrpUtils::CoordinateToString( iAbsoluteCursor.Longitude(), lonStr, ETrue );
-        MnrpUtils::CoordinateToString( iAbsoluteCursor.Latitude(), latStr, ETrue );
-        }
-
-    MnrpUtils::CoordinateToString( aGrid.iAbsoluteGridStep, gridMajorStr );
-
-    TRect lonBox( aInnerBox.iTl.iX, 0, aInnerBox.iBr.iX, aInnerBox.iBr.iY );
-    TRect latBox( 0, aInnerBox.iTl.iY, aInnerBox.iTl.iX, aInnerBox.iBr.iY );
-    TRect centerBox( aInnerBox.iTl.iX, aInnerBox.iBr.iY, aInnerBox.iBr.iX, aOuterBox.iBr.iY );
-
-    TInt textBaseLine = aFont->AscentInPixels() + KBorderSizeFactor / 2;
-    TInt vertTextBaseLine = aFont->AscentInPixels() + KBorderSizeFactor / 2;
-
-    aGc.SetPenColor( KGridTextColor );
-
-    aGc.DrawText( lonLeftStr, lonBox, textBaseLine, CGraphicsContext::ELeft );
-    aGc.DrawText( lonRightStr, lonBox, textBaseLine, CGraphicsContext::ERight );
-    aGc.DrawTextVertical( latTopStr, latBox, vertTextBaseLine, EFalse, CGraphicsContext::ELeft );
-    aGc.DrawTextVertical( latBottomStr, latBox, vertTextBaseLine, EFalse, CGraphicsContext::ERight );
-
-    aGc.DrawText( gridMajorStr, lonBox, textBaseLine, CGraphicsContext::ECenter );
-
-    aGc.SetPenColor( KOriginMarkColor );
-    aGc.DrawText( latStr, centerBox, textBaseLine, CGraphicsContext::ELeft );
-    aGc.DrawText( lonStr, centerBox, textBaseLine, CGraphicsContext::ERight );
-    
-    aGc.DiscardFont();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::DrawCursor( CWindowGc& aGc ) const
-    {
-    aGc.SetPenColor( KCursorColor );
-    aGc.SetPenSize( TSize( 1, 1 ) );
-    aGc.SetDrawMode( CGraphicsContext::EDrawModeNOTSCREEN );
-    
-    TRect cursorCircleRect( iCursor, TSize( 0, 0 ) );
-    cursorCircleRect.Grow( KCursorCircleRadius, KCursorCircleRadius );
-    aGc.DrawEllipse( cursorCircleRect );
-    
-    // upper vertical line
-    aGc.DrawLine( TPoint( iCursor.iX, cursorCircleRect.iTl.iY ), 
-                  TPoint( iCursor.iX, cursorCircleRect.iTl.iY - KCursorArrowSize ) );
-    // lower vertical line
-    aGc.DrawLine( TPoint( iCursor.iX, cursorCircleRect.iBr.iY ), 
-                  TPoint( iCursor.iX, cursorCircleRect.iBr.iY + KCursorArrowSize ) );
-
-    // left horiz line
-    aGc.DrawLine( TPoint( cursorCircleRect.iTl.iX, iCursor.iY ), 
-                  TPoint( cursorCircleRect.iTl.iX - KCursorArrowSize, iCursor.iY ) );
-    // right horiz line
-    aGc.DrawLine( TPoint( cursorCircleRect.iBr.iX, iCursor.iY ), 
-                  TPoint( cursorCircleRect.iBr.iX + KCursorArrowSize, iCursor.iY ) );
-
-    aGc.SetDrawMode( CGraphicsContext::EDrawModePEN );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::SizeChanged()
-    {
-    TRect rect( Rect() );
-    
-    DestroyFonts();
-    CreateFonts();
-    
-    rect.Shrink( BorderSize() );
-    iViewSize = rect.Size();
-    iModel->SetScreenSize( iViewSize );
-    TRAP_IGNORE( CreateScreenBufferL( rect.Size() ) );
-    TRAP_IGNORE( RenderL() );
-    DrawDeferred();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::HandleResourceChange( TInt aType )
-    {
-    CCoeControl::HandleResourceChange( aType );
-    if ( aType == KEikDynamicLayoutVariantSwitch )
-        {
-        SetFullScreen( iIsFullScreen );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::ToggleFullScreen()
-    {
-    SetFullScreen( !iIsFullScreen );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::SetFullScreen( TBool aFullScreen )
-    {
-    iIsFullScreen = aFullScreen;
-    if ( iIsFullScreen)
-        {
-        SetExtentToWholeScreen();
-        }
-    else
-        {
-        SetRect( iView.ClientRect() );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::MoveCursor( TInt aXmove, TInt aYmove )
-    {
-    iCursor += TPoint( aXmove, aYmove );
-
-    iCursor.iX = Max( 0, iCursor.iX );
-    iCursor.iX = Min( iViewSize.iWidth, iCursor.iX );
-
-    iCursor.iY = Max( 0, iCursor.iY );
-    iCursor.iY = Min( iViewSize.iHeight, iCursor.iY );
-
-    // verify cursor margin
-    TRect cursorMargin = CursorMargin();
-    
-    iAbsoluteCursor = iModel->ScreenToAbsolute( iCursor );
-    
-    TReal xcorrection = 0;
-    TReal ycorrection = 0;
-
-    if ( aXmove > 0 ) // moving right
-        {
-        TInt toMargin = iCursor.iX - cursorMargin.iBr.iX;
-        if ( toMargin > 0 ) // cursor went beyond cursor margin, move view
-            {
-            xcorrection = iModel->ScreenToAbsolute( toMargin );
-            }
-        }
-    else if ( aXmove < 0 ) // moving left
-        {
-        TInt toMargin = iCursor.iX - cursorMargin.iTl.iX;
-        if ( toMargin < 0 )
-            {
-            xcorrection = iModel->ScreenToAbsolute( toMargin );
-            }
-        }
-
-    if ( aYmove > 0 ) // moving down
-        {
-        TInt toMargin = iCursor.iY - cursorMargin.iBr.iY;
-        if ( toMargin > 0 )
-            {
-            ycorrection = -iModel->ScreenToAbsolute( toMargin );
-            }
-        }
-    else if ( aYmove < 0 ) // moving up
-        {
-        TInt toMargin = iCursor.iY - cursorMargin.iTl.iY;
-        if ( toMargin < 0 )
-            {
-            ycorrection = -iModel->ScreenToAbsolute( toMargin );
-            }
-        }
-    
-    TCoordinate center = iModel->Center();
-    TCoordinate moveTo( 
-        center.Latitude() + ycorrection,
-        center.Longitude() + xcorrection );
-    iModel->MoveTo( moveTo );
-
-    iCursor = iModel->AbsoluteToScreen( iAbsoluteCursor );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TRect CMnrpMapControl::CursorMargin()
-    {
-    TRect rect( iViewSize );
-    rect.Shrink( KCursorMarginSize, KCursorMarginSize );
-    return rect;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::Zoom( TReal aRate )
-    {
-    if ( iSelectionMode )
-        {
-        iModel->MoveTo( iAbsoluteCursor );
-        iModel->Zoom( aRate );
-        iCursor = iModel->AbsoluteToScreen( iAbsoluteCursor );
-        }
-    else
-        {
-        iModel->Zoom( aRate );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TSize CMnrpMapControl::BorderSize() const 
-    {
-	TSize size( 0, 0 );
-	if ( iTextFont )
-		{
-	    TInt fontHeight = iTextFont->HeightInPixels();
-	    
-	    size.iWidth = size.iHeight = TInt( fontHeight + KBorderSizeFactor );
-		}
-    return size;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapControl::RenderL()
-    {
-    TRect rect = Rect();
-    TRect border( rect );
-    border.Shrink( BorderSize() );
-
-    if ( iOffScreenBitmap && iTextFont && iItemFont )
-        {
-        iModel->RenderL( *iOffScreenBitmap, TRect( border.Size() ), iTextFont, iItemFont );
-        }
-    }
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpmapimageservice.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,243 +0,0 @@
-/*
-* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  ÑMnrpMapImageService class implementation
-*
-*/
-
-
-#include <e32base.h>
-#include <e32math.h>
-#include <e32property.h>
-#include <eikenv.h>
-#include <gdi.h>
-
-#include <lbsposition.h>
-
-#include <epos_cposlandmark.h>
-#include <epos_poslandmarkserialization.h>
-
-#include <mnmapimage.h>
-#include <mnmapimageparams.h>
-#include <mnmapimageservicebase.h>
-
-#include "debug.h"
-#include "mnrpengine.h"
-#include "mnrpappuiback.h"
-#include "mnrpappserverback.h"
-#include "mnrpmapmodel.h"
-#include "mnrpmapimageservice.h"
-
-const TInt KTextFontHeightInTwips = 100;
-const TInt KItemFontHeightInTwips = 120;
-
-const TTimeIntervalMicroSeconds32 KProcessingDelay = 200 * 1000;
-
-// ======== LOCAL FUNCTIONS ========
-
-extern void CoordinateToString( TReal aCoord, TDes& aStr );
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpMapImageService* CMnrpMapImageService::NewL( CMnrpEngine& aEngine )
-    {
-    CMnrpMapImageService* self = new (ELeave) CMnrpMapImageService( aEngine );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpMapImageService::CMnrpMapImageService( CMnrpEngine& aEngine )
-  : iEngine( aEngine )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpMapImageService::~CMnrpMapImageService()
-    {
-	if ( iProcessor )
-		{
-	    iProcessor->Cancel();
-	    delete iProcessor;
-		}
-    delete iModel;
-    DestroyFonts();
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapImageService::ConstructL()
-    {
-    BaseConstructL();
-
-    iEikon = CEikonEnv::Static();
-    CreateFonts();
-
-    iModel = CMnrpMapModel::NewL( iEngine );
-    iProcessor = CPeriodic::NewL( CActive::EPriorityIdle );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapImageService::LeaveIfBusyL()
-    {
-    if ( iProcessor->IsActive() )
-        {
-        LOG("CMnRefProviderMapViewService::LeaveIfBusyL BUSY");
-        User::Leave( KErrInUse );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapImageService::StartProcessingL()
-    {
-    iProcessor->Start( KProcessingDelay, KProcessingDelay,
-        TCallBack( CMnrpMapImageService::MapImageProcessingCallBack, this ) );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-TInt CMnrpMapImageService::MapImageProcessingCallBack( TAny* aPtr )
-    {
-    CMnrpMapImageService* self =
-        static_cast<CMnrpMapImageService*> ( aPtr );
-
-    TRAP_IGNORE( self->HandleMapImageCompletedL() );
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapImageService::HandleMapImageCompletedL()
-    {
-    iProcessor->Cancel();
-    TInt err = KErrNone;
-    TRAP( err, FinishProcessingL() );
-    if ( err )
-        {
-        CompleteRequest( err );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapImageService::RenderL()
-    {
-    TMnMapImageParams& params = MapImageParams();
-
-    if ( params.Direction() != 0 ||
-         params.ImageType() != TMnMapImageParams::ETypeVectorMap )
-        {
-        User::Leave( KErrNotSupported );
-        }
-
-    CFbsBitmap& bitmap = TargetBitmap();
-
-    iModel->SetScreenSize( params.Size() );
-    iModel->UpdateModelL( *this );
-    iModel->RenderL( bitmap, TRect( params.Size() ), iTextFont, iItemFont );
-
-    // complete request
-    params.SetProjectionId(0);
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapImageService::CreateFonts()
-	{
-    CGraphicsDevice* screenDevice = iEikon->ScreenDevice();
-
-    const CFont* denseFont = iEikon->DenseFont();
-    TFontSpec fs = denseFont->FontSpecInTwips();
-
-    fs.iHeight = KTextFontHeightInTwips;
-    screenDevice->GetNearestFontInTwips( iTextFont, fs );
-
-    fs.iHeight = KItemFontHeightInTwips;
-    screenDevice->GetNearestFontInTwips( iItemFont, fs );
-	}
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapImageService::DestroyFonts()
-	{
-	CGraphicsDevice* screenDevice = iEikon->ScreenDevice();
-
-    screenDevice->ReleaseFont( iItemFont );
-    screenDevice->ReleaseFont( iTextFont );
-	}
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapImageService::FinishProcessingL()
-    {
-    LOG1("FinishProcessingL in, cursvc %d", iCurrentService);
-    TCoordinate coord;
-    switch ( iCurrentService )
-        {
-        case ERender:
-            {
-            RenderL();
-            }
-            break;
-
-        default:
-            User::Leave( KErrGeneral );
-        }
-
-    iCurrentService = ENone;
-    CompleteRendering();
-    LOG("FinishProcessingL out");
-    }
-
-// ---------------------------------------------------------------------------
-// From class CMnMapImageServiceBase
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapImageService::HandleRenderingL()
-    {
-    LeaveIfBusyL();
-
-    iCurrentService = ERender;
-    StartProcessingL();
-    }
-
-// ---------------------------------------------------------------------------
-// From class CMnServiceBase
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapImageService::DoCancel()
-    {
-    iProcessor->Cancel();
-    iCurrentService = ENone;
-    }
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpmapmodel.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1251 +0,0 @@
-/*
-* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpMapModel class implementation
-*
-*/
-
-
-
-#include <coemain.h>
-#include <barsread.h>
-#include <bautils.h>
-
-#include <aknlists.h>
-#include <akniconutils.h>
-#include <aknwaitdialog.h>
-
-#include <fbs.h>
-#include <imageconversion.h>
-#include <icl/imagedata.h>
-
-#include <lbs.h>
-#include <lbsposition.h>
-#include <lbspositioninfo.h>
-
-#include <epos_cposlandmark.h>
-#include <epos_cposlandmarkdatabase.h>
-#include <epos_cposlandmarkcategory.h>
-#include <epos_cposlmcategorymanager.h>
-
-#include "debug.h"
-#include "mnrpengine.h"
-#include "mnrputils.h"
-#include "mnrpappserver.h"
-
-#include "mnrpmapviewservice.h"
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-#include "mnrpmapimageservice.h"
-#endif
-#include "mnrpmapmodel.h"
-
-const TInt KUpdateInterval = 1 * 1000 * 1000; // 1 sec
-const TInt KUpdateTimeout = 10 * 1000 * 1000; // 10 sec
-
-const TInt KMaxX = 180;
-const TInt KMinX = -180;
-const TInt KMapWidth = KMaxX - KMinX;
-
-const TInt KMaxY = 90;
-const TInt KMinY = -90;
-const TInt KMapHeight = KMaxY - KMinY;
-
-const TReal KDegree = 1.0;
-const TReal KMinute = KDegree / 60.0;
-const TReal KSecond = KMinute / 60.0;
-const TReal KMilliSecond = KSecond / 1000.0;
-
-const TReal KMaxCell = 60 * KDegree;
-const TReal KMinScale = 10 * KMilliSecond; // 0.01 second / 1 px
-
-const TInt KBigCellsInView = 2;
-
-const TInt KCellDividers[] = { 6, 2, 5 };
-const TInt KNumCellDividers = 3;
-
-const TReal KDefaultRadius = 1; // 1 degree
-const TReal KRadiusBorderFactor = 1.1; // 110%
-
-const TReal KEarthEquator = 40075000;
-//const TReal KEarthRadius = 6371010;
-
-const TInt KLmTextOffset = 3;
-const TInt KLmTextShadowOffset = 1;
-
-const TInt KGridPenSize( 1 );
-
-// ============================ LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TPoint AbsoluteToImage( TRealPoint aAbsolute, TReal aImageToAbsoluteScale )
-    {
-    TInt s = ( KMapWidth / 2 + aAbsolute.iX ) / aImageToAbsoluteScale;
-    TInt t = ( KMapHeight / 2 - aAbsolute.iY ) / aImageToAbsoluteScale;
-
-    return TPoint( s , t );
-    }
-
-// ============================ MEMBER CLASSES' FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-//  TRealPoint implementation
-// -----------------------------------------------------------------------------
-//
-
-TRealPoint::TRealPoint()
-    {
-    TRealX nan;
-    nan.SetNaN();
-
-    iX = nan;
-    iY = nan;
-    }
-
-TRealPoint::TRealPoint( TReal aX, TReal aY )
-    : iX( aX ), iY( aY )
-    {
-    }
-
-TRealPoint::TRealPoint( TCoordinate aCoordinate )
-    : iX( aCoordinate.Longitude() ), iY( aCoordinate.Latitude() )
-    {
-    }
-
-TCoordinate TRealPoint::Coordinate()
-    {
-    return TCoordinate( iY, iX );
-    }
-
-TRealPoint TRealPoint::operator+(
-    const TRealPoint& aRight )
-    {
-    return TRealPoint( this->iX + aRight.iX, this->iY + aRight.iY );
-    }
-
-TRealPoint TRealPoint::operator-(
-    const TRealPoint& aRight )
-    {
-    return TRealPoint( this->iX - aRight.iX, this->iY - aRight.iY );
-    }
-
-TRealPoint TRealPoint::operator*( const TReal& aRight )
-    {
-    return TRealPoint( this->iX * aRight, this->iY * aRight );
-    }
-
-TRealPoint TRealPoint::operator/( const TReal& aRight )
-    {
-    return TRealPoint( this->iX / aRight, this->iY / aRight );
-    }
-
-void TRealPoint::Set( TReal aX, TReal aY )
-    {
-    iX = aX;
-    iY = aY;
-    }
-
-TBool TRealPoint::IsValid()
-    {
-    return ( !Math::IsNaN( iX ) && !Math::IsNaN( iY ) );
-    }
-
-// -----------------------------------------------------------------------------
-//  CDrawItem implementation
-// -----------------------------------------------------------------------------
-//
-CMnrpMapModel::CDrawItem* CMnrpMapModel::CDrawItem::NewLC(
-    const CPosLandmark& aLm )
-    {
-    CDrawItem* self = new (ELeave) CDrawItem;
-    CleanupStack::PushL( self );
-
-    TPtrC name;
-    aLm.GetLandmarkName( name );
-    self->iText = MnrpUtils::PrintableStringLC( name );
-    CleanupStack::Pop( self->iText );
-
-    TLocality loc;
-    if ( KErrNone == aLm.GetPosition( loc ) )
-        {
-        self->SetAbsolutePosition( loc );
-        }
-
-    TPtrC iconFile;
-    TInt iconIndex, maskIndex;
-    if ( KErrNone == aLm.GetIcon( iconFile, iconIndex, maskIndex ) )
-        {
-        AknIconUtils::CreateIconL( self->iBitmap, self->iMask, iconFile, iconIndex, maskIndex );
-        AknIconUtils::PreserveIconData( self->iBitmap );
-        }
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapModel::CDrawItem* CMnrpMapModel::CDrawItem::NewLC(
-    const CPosLandmark& aLm,
-    CPosLmCategoryManager& aCatman )
-    {
-    CDrawItem* self = NewLC( aLm );
-
-    if ( !self->iBitmap )
-        {
-        // try icon from category
-        RArray<TPosLmItemId> cats;
-        CleanupClosePushL( cats );
-        aLm.GetCategoriesL( cats );
-
-        if ( cats.Count() == 1 )
-            {
-            CPosLandmarkCategory* cat = aCatman.ReadCategoryLC( cats[0] );
-
-            TPtrC iconFile;
-            TInt iconIndex, maskIndex;
-            if ( KErrNone == cat->GetIcon( iconFile, iconIndex, maskIndex ) )
-                {
-                AknIconUtils::CreateIconL( self->iBitmap, self->iMask, iconFile, iconIndex, maskIndex );
-                AknIconUtils::PreserveIconData( self->iBitmap );
-                }
-
-            CleanupStack::PopAndDestroy( cat );
-            }
-        CleanupStack::PopAndDestroy( &cats );
-        }
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapModel::CDrawItem::SetAbsolutePosition( const TLocality& aLocality )
-    {
-    iAbsolutePosition = TRealPoint( aLocality.Longitude(), aLocality.Latitude() );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapModel::CDrawItem::~CDrawItem()
-    {
-    if ( iBitmap )
-        {
-        AknIconUtils::DestroyIconData( iBitmap );
-        }
-    delete iBitmap;
-    delete iMask;
-    delete iText;
-    }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapModel::CMnrpMapModel(
-    MMapModelObserver& aObserver,
-    CMnrpEngine& aEngine )
-    :
-    iObserver( &aObserver ), iEngine( aEngine )
-    {
-    iScale = 1;
-    iViewOrigin.Set( 0, 0 );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapModel::CMnrpMapModel( CMnrpEngine& aEngine )
-    : iEngine( aEngine )
-    {
-    iScale = 1;
-    iViewOrigin.Set( 0, 0 );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapModel::~CMnrpMapModel()
-    {
-    delete iPositionRequest;
-    iDrawItems.ResetAndDestroy();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CMnrpMapModel* CMnrpMapModel::NewL(
-    MMapModelObserver& aObserver,
-    CMnrpEngine& aEngine )
-    {
-    CMnrpMapModel* self = new (ELeave) CMnrpMapModel( aObserver, aEngine );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CMnrpMapModel* CMnrpMapModel::NewL( CMnrpEngine& aEngine )
-    {
-    CMnrpMapModel* self = new (ELeave) CMnrpMapModel( aEngine );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapModel::ConstructL()
-    {
-    _LIT( KRequestorName, "MnRefProvider" );
-    iPositionRequest = CMnrpPositionRequest::NewL( KRequestorName, *this );
-
-    TPositionUpdateOptions options;
-    options.SetUpdateInterval( TTimeIntervalMicroSeconds( KUpdateInterval ) );
-    options.SetUpdateTimeOut( TTimeIntervalMicroSeconds( KUpdateTimeout ) );
-    iPositionRequest->SetOptionsL( options );
-
-    AddCitiesL();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TBool CMnrpMapModel::CheckDrawItemHasPositionL( CDrawItem& aItem, const CPosLandmark& aLandmark )
-	{
-    if ( !aItem.AbsolutePosition().IsValid() )
-        {
-        // try to find coordinate by address
-        CPosLandmark* poi = iEngine.AddressToCoordL( aLandmark );
-        if ( poi )
-        	{
-            TLocality pos;
-            poi->GetPosition( pos );
-            aItem.SetAbsolutePosition( pos );
-        	}
-    	delete poi;
-        }
-    
-    return aItem.AbsolutePosition().IsValid();
-	}
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpMapModel::UpdateModelL( CMnrpMapViewService& aService )
-    {
-    ASSERT( iObserver );
-
-    iDrawItems.ResetAndDestroy();
-
-    iShowCurrentLocation =
-        aService.CurrentLocationOption() != CMnMapView::ECurrentLocationDisabled;
-
-    if ( iShowCurrentLocation )
-        {
-        iPositionRequest->FetchNewPosition();
-        }
-
-    // Add client-defined marks
-    
-    iNumIgnoredLandmarks = 0;
-    TRealPoint min, max;
-
-    // add non-linked landmarks
-    for ( TInt i = 0; i < aService.LandmarksToShow().Count(); i++)
-        {
-        const CPosLandmark* lm = aService.LandmarksToShow()[i];
-        
-        CDrawItem* item = CDrawItem::NewLC( *lm );
-        if ( CheckDrawItemHasPositionL( *item, *lm ) )
-        	{
-        	iDrawItems.AppendL( item );
-            CleanupStack::Pop( item );
-            AdjustBoundingBox( *item, min, max );
-        	}
-        else
-        	{
-            CleanupStack::PopAndDestroy( item );
-            iNumIgnoredLandmarks++;
-        	}
-        }
-
-    // add linked landmarks
-    for ( TInt db = 0; db < aService.LandmarksToShowDatabases().Count(); db++ )
-        {
-        const HBufC* uri = aService.LandmarksToShowDatabases()[db];
-
-        LOG1("MnRefProvider::LinkedLandmarks: database (%S)", uri );
-
-        CPosLandmarkDatabase* lmdb = CPosLandmarkDatabase::OpenL( *uri );
-        CleanupStack::PushL( lmdb );
-
-        if ( lmdb->IsInitializingNeeded() )
-            {
-            ExecuteAndDeleteLD( lmdb->InitializeL() );
-            }
-
-        CPosLmCategoryManager* catman = CPosLmCategoryManager::NewL( *lmdb );
-        CleanupStack::PushL( catman );
-
-        for ( TInt i = 0; i < aService.LinkedLandmarksToShow(db).Count(); i++)
-            {
-            TPosLmItemId id = aService.LinkedLandmarksToShow(db)[i];
-            LOG1("MnRefProvider::LinkedLandmarks: id (%d)", id );
-
-            CPosLandmark* lm = lmdb->ReadLandmarkLC( id );
-
-            CDrawItem* item = CDrawItem::NewLC( *lm, *catman );
-            if ( CheckDrawItemHasPositionL( *item, *lm ) )
-            	{
-            	iDrawItems.AppendL( item );
-                CleanupStack::Pop( item );
-                AdjustBoundingBox( *item, min, max );
-            	}
-            else
-            	{
-                CleanupStack::PopAndDestroy( item );
-                iNumIgnoredLandmarks++;
-            	}
-
-            CleanupStack::PopAndDestroy( lm );
-            }
-
-        CleanupStack::PopAndDestroy( catman );
-        CleanupStack::PopAndDestroy( lmdb );
-        }
-
-    // Add predefined places
-    AddCitiesL();
-
-    LOG4("MnRefProvider::BoundingBox: %f, %f, %f, %f", min.iX, min.iY, max.iX, max.iY );
-
-    // set origin
-    iUseCurrentLocationAsOrigin = EFalse;
-    if ( aService.IsAreaCentralPointSet() )
-        {
-        TCoordinate center;
-        aService.GetAreaCentralPoint( center );
-        iViewOrigin.Set( center.Longitude(), center.Latitude() );
-        }
-    else if ( !Math::IsNaN( max.iX ) ) // others are also valid then
-        {
-        iViewOrigin.Set( ( max.iX + min.iX ) / 2, ( max.iY + min.iY ) / 2 );
-        }
-    else if ( iShowCurrentLocation )
-        {
-        // get current location and use it as center point
-        // this implementation defers location acquiring
-        iUseCurrentLocationAsOrigin = ETrue;
-        // FetchCurrentLocation();
-        iViewOrigin.Set( 0, 0 );
-        }
-    else
-        {
-        iViewOrigin.Set( 0, 0 );
-        }
-
-    LOG2("MnRefProvider: viewOrigin (%f, %f)", iViewOrigin.iX, iViewOrigin.iY);
-
-    // set scale
-    TReal desiredScale = 0;
-    TReal radius = 0;
-
-    if ( !Math::IsNaN( aService.AreaRadius() ) )
-        {
-         // Radius setting is easy in this implementation
-         // because map is rectangular just convert meters to degrees
-        radius = Abs( aService.AreaRadius() ) / KEarthEquator * 360;
-        LOG1("MnRefProvider: user radius (%f)", radius );
-        }
-    else if ( !Math::IsNaN( max.iX ) ) // others are also valid then
-        {
-        // get radius from bounding box
-        radius = Max( Abs( max.iX - min.iX ), Abs( max.iY - min.iY ) );
-        LOG2("MnRefProvider: bounding radius (%f), with border (%f)", radius, radius * KRadiusBorderFactor );
-        radius *= KRadiusBorderFactor;
-        }
-    else
-        {
-        // default radius
-        }
-
-    if ( radius <= 0 )
-        {
-        radius = KDefaultRadius;
-        LOG1("MnRefProvider: default radius (%f)", radius );
-        }
-
-    desiredScale = radius / TReal( Max( iScreenSize.iWidth, iScreenSize.iHeight ) );
-
-    LOG3("MnRefProvider: desired scale (%f), min (%f), max(%f)",
-        desiredScale, KMinScale, MaxScale() );
-
-    iScale = Max( Min( desiredScale, MaxScale() ), KMinScale );
-    CheckBorders();
-
-    LOG1("MnRefProvider: scale (%f)", iScale );
-
-    iObserver->HandleModelUpdateL();
-    }
-
-
-#ifdef RD_MAPNAV_BITMAP_ACCESS
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpMapModel::UpdateModelL( const CMnrpMapImageService& aService )
-    {
-    iDrawItems.ResetAndDestroy();
-
-    iShowCurrentLocation =
-        aService.ShowOptions() & CMnMapImage::EShowOptionCurrentLocation;
-
-    if ( iShowCurrentLocation )
-        {
-        iPositionRequest->FetchNewPosition();
-        }
-
-    if ( aService.ShowOptions() & CMnMapImage::EShowOptionLandmarks)
-        {
-
-        // Add user-defined marks
-        TRealPoint min, max;
-
-        // add default landmarks
-        CPosLandmarkDatabase* lmdb = CPosLandmarkDatabase::OpenL();
-        CleanupStack::PushL( lmdb );
-
-        if ( lmdb->IsInitializingNeeded() )
-            {
-            ExecuteAndDeleteLD( lmdb->InitializeL() );
-            }
-
-        CPosLmCategoryManager* catman = CPosLmCategoryManager::NewL( *lmdb );
-        CleanupStack::PushL( catman );
-
-        CPosLmItemIterator* iter = lmdb->LandmarkIteratorL();
-        CleanupStack::PushL( iter );
-
-        TInt count = iter->NumOfItemsL();
-        for ( TInt i = 0; i < count; i++)
-            {
-            TPosLmItemId id = iter->NextL();
-
-            CPosLandmark* lm = lmdb->ReadLandmarkLC( id );
-
-            CDrawItem* item = CDrawItem::NewLC( *lm, *catman );
-            if ( CheckDrawItemHasPositionL( *item, *lm ) )
-            	{
-            	iDrawItems.AppendL( item );
-                CleanupStack::Pop( item );
-                AdjustBoundingBox( *item, min, max );
-            	}
-            else
-            	{
-                CleanupStack::PopAndDestroy( item );
-            	}
-
-            CleanupStack::PopAndDestroy( lm );
-            }
-        CleanupStack::PopAndDestroy( iter );
-        CleanupStack::PopAndDestroy( catman );
-        CleanupStack::PopAndDestroy( lmdb );
-
-        LOG4("MnRefProvider::BoundingBox: %f, %f, %f, %f", min.iX, min.iY, max.iX, max.iY );
-        }
-
-    if ( aService.ShowOptions() & CMnMapImage::EShowOptionPois )
-        {
-        // Add predefined places
-        AddCitiesL();
-        }
-
-    TMnMapImageParams params = aService.MapImageParams();
-
-    UpdateModel( params );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpMapModel::UpdateModel( const TMnMapImageParams& aParams )
-    {
-    SetScreenSize( aParams.Size() );
-
-    TCoordinate center;
-    aParams.GetCenterPoint( center );
-    iViewOrigin.Set( center.Longitude(), center.Latitude() );
-
-    LOG2("MnRefProvider: viewOrigin (%f, %f)", iViewOrigin.iX, iViewOrigin.iY);
-
-    // set scale
-    TReal desiredScale = 0;
-    TReal32 width, height;
-    aParams.GetVisibleArea( width, height );
-    TReal radius = Max( width, height );
-
-    if ( radius <= 0 )
-        {
-        radius = KDefaultRadius;
-        LOG1("MnRefProvider: default radius (%f)", radius );
-        }
-
-    desiredScale = radius / TReal( Max( iScreenSize.iWidth, iScreenSize.iHeight ) );
-
-    LOG3("MnRefProvider: desired scale (%f), min (%f), max(%f)",
-        desiredScale, KMinScale, MaxScale() );
-
-    iScale = Max( Min( desiredScale, MaxScale() ), KMinScale );
-    CheckBorders();
-
-    LOG1("MnRefProvider: scale (%f)", iScale );
-    }
-#endif
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapModel::AddCitiesL()
-    {
-    TArray<CPosLandmark*> places = iEngine.KnownPlacesL();
-    for ( TInt i = 0; i < places.Count(); i++)
-        {
-        CPosLandmark* lm = places[i];
-        CDrawItem* item = CDrawItem::NewLC( *lm );
-        item->iOwnPoi = ETrue;
-        iDrawItems.AppendL( item );
-        CleanupStack::Pop( item );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpMapModel::GetGrid( CMnrpMapModel::TGrid& aGrid ) const
-    {
-    TReal angle = Min( Width(), Height() );
-
-    TReal minAngle = Min( iScreenSize.iWidth, iScreenSize.iHeight ) * KMinScale;
-
-    if ( angle > minAngle )
-        {
-        // 1. Find nice grid scale
-
-        TInt dividerIndex = 0;
-        TReal cellSize = KMaxCell;
-
-        while ( cellSize * KBigCellsInView > angle )
-            {
-            cellSize /= KCellDividers[dividerIndex];
-
-            if ( ++dividerIndex == KNumCellDividers )
-                {
-                dividerIndex = 0;
-                }
-            }
-
-        aGrid.iAbsoluteGridStep = cellSize;
-
-        // 2. Find closest grid point
-
-        TReal x = TInt( iViewOrigin.iX / cellSize ) * cellSize;
-        TReal y = TInt( iViewOrigin.iY / cellSize ) * cellSize;
-
-        aGrid.iAbsoluteReference = TRealPoint( x, y ).Coordinate();
-        }
-    else
-        {
-        aGrid.iAbsoluteReference = TCoordinate( 0, 0 );
-        aGrid.iAbsoluteGridStep = minAngle / KBigCellsInView;
-        }
-
-    // convert to screen coordinates
-    aGrid.iReference = AbsoluteToScreen( aGrid.iAbsoluteReference );
-    aGrid.iGridStep = AbsoluteToScreen( aGrid.iAbsoluteGridStep );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpMapModel::Zoom( TReal aZoomRate )
-    {
-    iScale *= aZoomRate;
-    CheckBorders();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpMapModel::GoCenter()
-    {
-    iViewOrigin.Set( 0, 0 );
-    CheckBorders();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpMapModel::MoveTo( TCoordinate aTarget )
-    {
-    iViewOrigin = aTarget;
-    CheckBorders();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapModel::CheckBorders()
-    {
-    if ( Height() > KMapHeight || Width() > KMapWidth )
-        {
-        iScale = MaxScale();
-        }
-    if ( iScale < KMinScale )
-        {
-        iScale = KMinScale;
-        }
-    if ( Left() < KMinX )
-        {
-        iViewOrigin.iX = KMinX + Width() / 2;
-        }
-    if ( Right() > KMaxX )
-        {
-        iViewOrigin.iX = KMaxX - Width() / 2;
-        }
-    if ( Top() > KMaxY )
-        {
-        iViewOrigin.iY = KMaxY - Height() / 2;
-        }
-    if ( Bottom() < KMinY )
-        {
-        iViewOrigin.iY = KMinY + Height() / 2;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TReal CMnrpMapModel::Left() const
-    {
-    return iViewOrigin.iX - Width() / 2;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TReal CMnrpMapModel::Right() const
-    {
-    return iViewOrigin.iX + Width() / 2;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TReal CMnrpMapModel::Top() const
-    {
-    return iViewOrigin.iY + Height() / 2;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TReal CMnrpMapModel::Bottom() const
-    {
-    return iViewOrigin.iY - Height() / 2;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TReal CMnrpMapModel::Width() const
-    {
-    return TReal( iScreenSize.iWidth ) * iScale;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TReal CMnrpMapModel::Height() const
-    {
-    return TReal( iScreenSize.iHeight ) * iScale;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TCoordinate CMnrpMapModel::Center() const
-    {
-    return TCoordinate( iViewOrigin.iY, iViewOrigin.iX );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TArray<CMnrpMapModel::CDrawItem*> CMnrpMapModel::Items() const
-    {
-    // adjust all items to screen coordinates
-    for ( TInt i = 0; i < iDrawItems.Count(); i++ )
-        {
-        iDrawItems[i]->iScreenPosition = AbsoluteToScreen( iDrawItems[i]->iAbsolutePosition );
-        }
-    return iDrawItems.Array();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapModel::TCurrentLocation CMnrpMapModel::CurrentLocation() const
-    {
-    TCurrentLocation current;
-
-    TPosition pos;
-    iPosInfo.GetPosition( pos );
-
-    current.iAbsoluteLocation = pos;
-
-    if ( !Math::IsNaN( pos.Latitude() ) && !Math::IsNaN( pos.Longitude() ) )
-        {
-        current.iLocation = AbsoluteToScreen( current.iAbsoluteLocation );
-
-        // calculate error radius in degrees and pixels
-        if ( !Math::IsNaN( pos.HorizontalAccuracy() ) )
-            {
-            current.iAbsoluteErrorDegrees = ( pos.HorizontalAccuracy() / KEarthEquator ) * 360;
-            current.iErrorRadius = current.iAbsoluteErrorDegrees / iScale;
-            }
-        else
-            {
-            current.iErrorRadius = 0;
-            current.iAbsoluteErrorDegrees = 0;
-            }
-
-        current.iIsValid = ETrue;
-        }
-    else
-        {
-        current.iIsValid = EFalse;
-        }
-
-    return current;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpMapModel::SetScreenSize( TSize aScreenSize )
-    {
-    __ASSERT_DEBUG( aScreenSize.iWidth >= 1 && aScreenSize.iHeight >= 1,
-                    Panic( KErrGeneral ) );
-    iScreenSize = aScreenSize;
-    CheckBorders();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TReal CMnrpMapModel::MaxScale() const
-    {
-    TReal scaleByWidth = KMapWidth / TReal( iScreenSize.iWidth );
-    TReal scaleByHeight = KMapHeight / TReal( iScreenSize.iHeight );
-    return Min( scaleByWidth, scaleByHeight );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TPoint CMnrpMapModel::AbsoluteToScreen( TRealPoint aAbsolutePoint ) const
-    {
-    TRealPoint realScreen = ( aAbsolutePoint - TRealPoint( Left(), Bottom() ) ) / iScale;
-    return TPoint( realScreen.iX, iScreenSize.iHeight - realScreen.iY );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TPoint CMnrpMapModel::AbsoluteToScreen( TCoordinate aAbsolutePoint ) const
-    {
-    TRealPoint real( aAbsolutePoint.Longitude(), aAbsolutePoint.Latitude() );
-    return AbsoluteToScreen( real );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TInt CMnrpMapModel::AbsoluteToScreen( TReal aDistance ) const
-    {
-    return aDistance / iScale;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TCoordinate CMnrpMapModel::ScreenToAbsolute( TPoint aScreenPoint ) const
-    {
-    TReal xdiff = aScreenPoint.iX * iScale;
-    TReal ydiff = aScreenPoint.iY * iScale;
-    return TCoordinate( Top() - ydiff, Left() + xdiff );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TReal CMnrpMapModel::ScreenToAbsolute( TInt aDistance ) const
-    {
-    return aDistance * iScale;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapModel::AdjustBoundingBox(
-    CMnrpMapModel::CDrawItem& aItem,
-    TRealPoint& aMin,
-    TRealPoint& aMax )
-    {
-    // X
-    if ( !Math::IsNaN( aItem.iAbsolutePosition.iX ) )
-        {
-        if ( Math::IsNaN( aMin.iX ) || aItem.iAbsolutePosition.iX < aMin.iX )
-            {
-            aMin.iX = aItem.iAbsolutePosition.iX;
-            }
-        if ( Math::IsNaN( aMax.iX ) || aItem.iAbsolutePosition.iX > aMax.iX )
-            {
-            aMax.iX = aItem.iAbsolutePosition.iX;
-            }
-        }
-
-    // Y
-    if ( !Math::IsNaN( aItem.iAbsolutePosition.iY ) )
-        {
-        if ( Math::IsNaN( aMin.iY ) || aItem.iAbsolutePosition.iY < aMin.iY )
-            {
-            aMin.iY = aItem.iAbsolutePosition.iY;
-            }
-        if ( Math::IsNaN( aMax.iY ) || aItem.iAbsolutePosition.iY > aMax.iY )
-            {
-            aMax.iY = aItem.iAbsolutePosition.iY;
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapModel::HandlePositionRequestCompletedL( TInt aError )
-    {
-    if ( !aError )
-        {
-        iPositionRequest->GetPosition( iPosInfo );
-        if ( iObserver )
-            {
-            iObserver->HandleModelUpdateL();
-            }
-        }
-    if ( iShowCurrentLocation )
-        {
-        iPositionRequest->FetchNewPosition();
-        }
-    }
-
-// =====================================================
-// DRAWING METHODS
-// =====================================================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpMapModel::RenderL(
-    CFbsBitmap& aBitmap,
-    TRect aTargetRect,
-    CFont* aTextFont,
-    CFont* aItemFont ) const
-	{
-	// create an off-screen device and context
-	CFbsBitmapDevice* bitmapDevice = CFbsBitmapDevice::NewL( &aBitmap );
-	CleanupStack::PushL( bitmapDevice );
-
-	CFbsBitGc* gc = NULL;
-	User::LeaveIfError( bitmapDevice->CreateContext( gc ) );
-	CleanupStack::PushL( gc );
-
-    gc->UseFont( aTextFont );
-
-    // get data
-    TGrid grid;
-    GetGrid( grid );
-
-    TBool isBackground = EFalse;
-    // background
-    if ( !isBackground )
-        {
-        // no map background, clear map area
-        gc->Clear( aTargetRect );
-        }
-
-    gc->SetClippingRect( aTargetRect );
-    gc->SetOrigin( aTargetRect.iTl );
-
-    DrawGrid( *gc, aTargetRect.Size(), grid );
-
-    gc->DiscardFont(); // text font
-    gc->UseFont( aItemFont );
-
-    // draw items
-    DrawLandmarks( *gc, *aItemFont, aTargetRect.Size(), isBackground ); // invert shadow and text color
-    DrawCurrentLocation( *gc, aTargetRect.Size() );
-
-    // cleanup
-
-    gc->DiscardFont(); // item font
-
-	CleanupStack::PopAndDestroy( gc );
-	CleanupStack::PopAndDestroy( bitmapDevice );
-	}
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CMnrpMapModel::NumIgnoredLandmarks()
-	{
-	return iNumIgnoredLandmarks;
-	}
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapModel::DrawGrid(
-    CFbsBitGc& aGc,
-    const TSize& aBoxSize,
-    CMnrpMapModel::TGrid& aGrid ) const
-    {
-    const TRgb KGridLineColor( 128, 128, 128 );
-
-    aGc.SetPenSize( TSize( KGridPenSize, KGridPenSize ) );
-    aGc.SetPenColor( KGridLineColor );
-
-    if ( aGrid.iGridStep > 0 )
-        {
-        // 1. Vertical lines
-        TInt x = aGrid.iReference.iX;
-        // find leftmost vertical line
-        while ( x > 0 )
-        	{
-        	x -= aGrid.iGridStep;
-        	}
-        x += aGrid.iGridStep;
-        // draw lines selecting different line colors for major and minor lines
-        while ( x < aBoxSize.iWidth )
-            {
-            DrawVerticalLine( aGc, x, aBoxSize );
-            x += aGrid.iGridStep;
-            }
-
-        // 2. Horizontal lines
-        TInt y = aGrid.iReference.iY;
-        // find topmost vertical line
-        while ( y > 0 )
-        	{
-        	y -= aGrid.iGridStep;
-        	}
-        y += aGrid.iGridStep;
-        // draw lines selecting different line colors for major and minor lines
-        while ( y < aBoxSize.iHeight )
-            {
-            DrawHorizontalLine( aGc, y, aBoxSize );
-            y += aGrid.iGridStep;
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapModel::DrawVerticalLine( CFbsBitGc& aGc, TInt aX, TSize aBoxSize ) const
-    {
-    aGc.DrawLine( TPoint( aX, 0 ), TPoint( aX, aBoxSize.iHeight ) );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapModel::DrawHorizontalLine( CFbsBitGc& aGc, TInt aY, TSize aBoxSize ) const
-    {
-    aGc.DrawLine( TPoint( 0, aY ), TPoint( aBoxSize.iWidth, aY ) );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapModel::DrawLandmarks(
-    CFbsBitGc& aGc,
-    CFont& aFont,
-    const TSize& aBoxSize,
-    TBool aSwitchColorAndShadow ) const
-    {
-    const TSize KItemMarkSize( 3, 3 ); // pixels
-    const TSize KItemIconSize( 20, 20 ); // pixels
-
-    const TRgb KPoiColor( 0, 0, 192 );
-    const TRgb KPoiTextColor( 0, 0, 0 );
-    const TRgb KPoiTextShadowColor( 224, 224, 224 );
-    const TRgb KLmColor( 255, 0, 0 );
-    const TRgb KLmTextColor( 255, 0, 0 );
-    const TRgb KLmTextShadowColor( 224, 224, 224 );
-
-    TArray<CMnrpMapModel::CDrawItem*> items = Items();
-
-    RArray<TRect> textBoxes;
-
-    for ( TInt i = 0; i < items.Count(); i++ )
-        {
-        const TPoint& pos = items[i]->Position();
-        if ( pos.iX >= 0 && pos.iX < aBoxSize.iWidth &&
-             pos.iY >= 0 && pos.iY < aBoxSize.iHeight )
-            {
-            CFbsBitmap* icon = items[i]->Bitmap();
-            CFbsBitmap* mask = items[i]->Mask();
-
-            if ( icon && mask )
-                {
-                AknIconUtils::SetSize( icon, KItemIconSize );
-
-                TRect iconBox( pos, KItemIconSize );
-                iconBox.Move( -iconBox.Width() / 2, -iconBox.Height() / 2 );
-
-                aGc.DrawBitmapMasked(
-                    iconBox,
-                    icon,
-                    KItemIconSize,
-                    mask,
-                    EFalse );
-                }
-            else
-                {
-                if ( items[i]->IsPoi() )
-                    {
-                    aGc.SetPenColor( KPoiColor );
-                    }
-                else
-                    {
-                    aGc.SetPenColor( KLmColor );
-                    }
-
-                TRect markBox( pos, KItemMarkSize );
-                markBox.Move( -markBox.Width() / 2, -markBox.Height() / 2 );
-                aGc.SetPenSize( KItemMarkSize );
-                aGc.Plot( pos );
-                }
-
-            if ( items[i]->Text().Length() )
-                {
-                TPoint textPos( pos );
-                textPos.iX += KLmTextOffset;
-
-                TSize textSize( aFont.TextWidthInPixels( items[i]->Text() ), aFont.HeightInPixels() );
-                TRect textBox( textPos, textSize );
-
-                // verify this textbox does not intersect any previous ones
-                TBool overlaps = EFalse;
-                for ( TInt b = 0; b < textBoxes.Count(); b++ )
-                    {
-                    if ( textBox.Intersects( textBoxes[b] ) )
-                        {
-                        overlaps = ETrue;
-                        break;
-                        }
-                    }
-
-                if ( !overlaps )
-                    {
-                    textBoxes.Append( textBox );
-
-                    aGc.SetPenSize( TSize( 1, 1 ) );
-
-                    TRgb textColor, textShadowColor;
-
-	                if ( items[i]->IsPoi() )
-	                    {
-	                    textColor = KPoiTextColor;
-						textShadowColor = KPoiTextShadowColor;
-	                    }
-	                else
-	                    {
-	                    textColor = KLmTextColor;
-						textShadowColor = KLmTextShadowColor;
-	                    }
-
-                    // text shadow
-                    TPoint shadowPos( textPos + TPoint( KLmTextShadowOffset, KLmTextShadowOffset ) );
-                    aGc.SetPenColor( aSwitchColorAndShadow ? textColor : textShadowColor );
-                    aGc.DrawText( items[i]->Text(), shadowPos );
-
-                    // text itself
-                    aGc.SetPenColor( aSwitchColorAndShadow ? textShadowColor : textColor );
-                    aGc.DrawText( items[i]->Text(), textPos );
-                    }
-                }
-            }
-        }
-    textBoxes.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapModel::DrawCurrentLocation(
-    CFbsBitGc& aGc,
-    const TSize& aBoxSize ) const
-    {
-    const TSize KPositionPenSize( 20, 20 );
-    const TSize KPositionErrorPenSize( 1, 1 );
-    const TRgb KPositionColor( 255, 255, 0 );
-
-    // draw current location
-    CMnrpMapModel::TCurrentLocation location = CurrentLocation();
-
-    if ( location.iIsValid )
-        {
-        TPoint& pos = location.iLocation;
-
-        if ( pos.iX >= 0 && pos.iX < aBoxSize.iWidth &&
-             pos.iY >= 0 && pos.iY < aBoxSize.iHeight )
-            {
-            if ( location.iErrorRadius )
-                {
-                TRect circleBox( pos.iX, pos.iY, pos.iX, pos.iY );
-                circleBox.Grow( location.iErrorRadius, location.iErrorRadius );
-
-                aGc.SetPenSize( KPositionErrorPenSize );
-                aGc.SetBrushStyle( CGraphicsContext::EVerticalHatchBrush );
-                aGc.SetBrushColor( KPositionColor );
-                aGc.DrawEllipse( circleBox );
-                }
-
-            aGc.SetPenColor( KPositionColor );
-            aGc.SetPenSize( KPositionPenSize );
-            aGc.Plot( pos );
-            }
-        }
-    }
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpmapview.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,249 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpMapView class implementation
-*
-*/
-
-
-#include <e32base.h>
-#include <lbsposition.h>
-
-#include <eikmenup.h>
-#include <eikbtgpc.h>
-#include <avkon.rsg>
-
-#include <mnrefprovider.rsg>
-#include "mnrp.hrh"
-
-#include "debug.h"
-
-#include "mnrputils.h"
-#include "mnrpengine.h"
-
-#include "mnrpappui.h"
-#include "mnrpmapview.h"
-#include "mnrpmapcontrol.h"
-#include "mnrpmapviewservice.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapView::CMnrpMapView( CMnrpEngine& aEngine ) 
-: iEngine( aEngine )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapView::~CMnrpMapView()
-    {
-    TRAP_IGNORE( HandleUserSelectionL( KErrCancel ) );
-    delete iControl;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpMapView* CMnrpMapView::NewL( TBool aChained, CMnrpEngine& aEngine )
-    {
-    CMnrpMapView* self = new (ELeave) CMnrpMapView( aEngine );
-    CleanupStack::PushL( self );
-    self->ConstructL( aChained );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapView::ConstructL( TBool aChained )
-    {
-    iChained = aChained;
-    if ( aChained )
-        {
-        BaseConstructL( R_MNREFPROVIDER_MAP_VIEW_CHAINED );
-        }
-    else
-        {
-        BaseConstructL( R_MNREFPROVIDER_MAP_VIEW );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapView::SetMapModeL( CMnrpMapViewService& aService )
-    {
-    iSelectionCallback = NULL;
-    iMapViewService = &aService;
-/*
-    if ( iChained )
-        {
-        Cba()->SetCommandSetL( R_AVKON_SOFTKEYS_OPTIONS_BACK );
-        }
-    else
-        {
-        Cba()->SetCommandSetL( R_AVKON_SOFTKEYS_OPTIONS_EXIT );
-        }
-*/        
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapView::SetSelectionModeL( 
-    CMnrpMapViewService& aService,  
-    MMapSelectionCallback& aCallback )
-    {
-    iMapViewService = &aService;
-    iSelectionCallback = &aCallback;
-    Cba()->SetCommandSetL( R_AVKON_SOFTKEYS_OPTIONS_CANCEL );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapView::StopSelection()
-    {
-    iSelectionCallback = NULL;
-    iMapViewService = NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapView::HandleUserSelectionL( TInt aError )
-    {
-    if ( iSelectionCallback && iControl )
-        {
-        if ( !aError )
-            {
-            iSelectionCallback->HandleSelectionL( iControl->CurrentLocation() );
-            }
-        else
-            {
-            iSelectionCallback->HandleSelectionErrorL( aError );
-            }
-        iSelectionCallback = NULL;            
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TUid CMnrpMapView::Id() const
-    {
-    return TUid::Uid( EMnrpMapViewId );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapView::HandleCommandL( TInt aCommand )
-    {
-    switch ( aCommand )
-        {
-        case EMnrpCommandFullScreen:
-            if ( iControl ) 
-                {
-                iControl->ToggleFullScreen();
-                }
-            break;
-
-        case EMnrpCommandSelect:
-            HandleUserSelectionL( KErrNone );
-            break;
-
-        case EEikCmdExit:
-        case EAknSoftkeyBack:
-        case EAknSoftkeyExit:
-            HandleUserSelectionL( KErrCancel );
-            AppUi()->HandleCommandL( aCommand );
-            break;
-
-        default:
-            AppUi()->HandleCommandL( aCommand );
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapView::DynInitMenuPaneL( TInt aResourceId, CEikMenuPane *aMenuPane )
-    {
-    if ( aResourceId == R_MNREFPROVIDER_MAP_VIEW_MENU )
-        {
-        TBool isSelectionMode = iSelectionCallback != NULL;
-        aMenuPane->SetItemDimmed( EMnrpCommandSelect, !isSelectionMode );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapView::DoActivateL(
-    const TVwsViewId& /*aPrevViewId*/,
-    TUid /* aCustomMessageId */,
-    const TDesC8& /* aCustomMessage */)
-    {
-    if ( !iControl )
-        {
-        iControl = CMnrpMapControl::NewL( *this, ClientRect(), iEngine );
-        iControl->SetMopParent( this );
-        }
-
-    iControl->SetRect( ClientRect() );
-    if ( iMapViewService )
-        {
-        iControl->UpdateModelL( *iMapViewService );
-        }
-    iControl->SetSelectionModeL( ( iSelectionCallback == NULL ) ? EFalse : ETrue );
-
-    // Enable receiving of keyboard events.
-    CMnrpAppUi* ui = ( CMnrpAppUi* ) AppUi();
-    ui->AddToStackL( *this, iControl );
-
-    if ( iSelectionCallback )
-        {
-        ui->SetNaviPaneTitleL( iMapViewService->SelectionRequestText() );
-        }
-    else
-        {
-        _LIT( KMapView, "MapView" );
-	    ui->SetNaviPaneTitleL( KMapView );
-        }
-
-    // Make view visible.
-    iControl->MakeVisible( ETrue );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpMapView::DoDeactivate()
-    {
-    if ( iControl )
-        {
-        // Hide view.
-        iControl->MakeVisible( EFalse );
-
-        // Disable receiving keyboard events.
-        AppUi()->RemoveFromStack( iControl );
-        }
-    }
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpmapviewservice.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,245 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpMapViewService class implementation
-*
-*/
-
-
-#include <e32base.h>
-#include <eikenv.h>
-
-#include <lbsposition.h>
-
-#include <epos_cposlandmark.h>
-#include <epos_cposlandmarkdatabase.h>
-
-#include "debug.h"
-#include <mnmapviewservicebase.h>
-
-#include "mnrpappui.h"
-#include "mnrpmapview.h"
-#include "mnrpengine.h"
-#include "mnrpdocument.h"
-#include "mnrpappserver.h"
-
-#include "mnrpmapviewservice.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpMapViewService* CMnrpMapViewService::NewL()
-    {
-    CMnrpMapViewService* self = new (ELeave) CMnrpMapViewService();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpMapViewService::CMnrpMapViewService()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpMapViewService::~CMnrpMapViewService()
-    {
-    if ( iSelecting )
-        {
-        DoCancel();
-        CompleteRequest( KErrCancel );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapViewService::ConstructL()
-    {
-    BaseConstructL();
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpAppUi* CMnrpMapViewService::AppUi()
-    {
-    CMnrpAppServer* server = ( CMnrpAppServer* ) Server();
-    if ( server )
-        {
-        return server->AppUi();
-        }
-    return NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// From class CMnMapViewServiceBase
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapViewService::HandleShowMapL()
-    {
-    LOG("MnRefProvider::HandleShowMapL in");
-
-    /** This implementation cannot show map if selection is active */
-    if ( iSelecting )
-        {
-        User::Leave( KErrInUse );
-        }
-
-    if ( AppUi() )
-        {
-        AppUi()->ShowMapL( *this );
-        }
-
-    LOG("MnRefProvider::HandleShowMapL out");
-    }
-
-// ---------------------------------------------------------------------------
-//  From class CMnMapViewServiceBase
-//
-//  This callback differs from HandleShowMapL in a way that central point
-//  setting is ignored and current location is used instead as central point.
-//
-//  The implementation is the example of how to reject unsupported requests 
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapViewService::HandleShowCurrentLocationL()
-    {
-    User::Leave( KErrNotSupported );
-    }
-
-// ---------------------------------------------------------------------------
-//  From class CMnMapViewServiceBase
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapViewService::HandleSelectFromMapL()
-    {
-    LOG("MnRefProvider::HandleSelectFromMapL in");
-
-    /** Only one selection must be active */
-    if ( iSelecting )
-        {
-        User::Leave( KErrInUse );
-        }
-
-    if ( AppUi() )
-        {
-        iSelecting = ETrue;
-        AppUi()->StartSelectionL( *this, *this );
-        }
-
-    LOG("MnRefProvider::HandleSelectFromMapL out");
-    }
-
-// ---------------------------------------------------------------------------
-//  From class CMnServiceBase
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapViewService::DoCancel()
-    {
-    if ( iSelecting )
-        {
-        iSelecting = EFalse;
-        StopSelection();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//  From class MMapSelectionCallback
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapViewService::HandleSelectionErrorL( TInt aError )
-    {
-    __ASSERT_DEBUG( iSelecting, Panic( KErrGeneral ) );
-
-    iSelecting = EFalse;
-    // selection view dismissed
-    CompleteRequest( aError );
-    }
-
-// ---------------------------------------------------------------------------
-//  From class MMapSelectionCallback
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapViewService::HandleSelectionL( const TCoordinate& aSelection )
-    {
-    __ASSERT_DEBUG( iSelecting, Panic( KErrGeneral ) );
-
-    iSelecting = EFalse;
-    TInt err = KErrNone;
-    TRAP( err, CompleteSelectionL( aSelection ) );
-    if ( err )
-        {
-        CompleteRequest( err );
-        }
-    StopSelection();
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapViewService::CompleteSelectionL( const TCoordinate& aSelection )
-    {
-    TLocality loc( aSelection, 0 );
-    CPosLandmark* lm = CPosLandmark::NewLC();
-    lm->SetPositionL( loc );
-
-    // send landmark to client
-    CompleteSelectionRequestL( *lm );
-
-    CleanupStack::PopAndDestroy( lm );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapViewService::StopSelection()
-    {
-    if ( AppUi() )
-        {
-        AppUi()->StopSelection();
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-//  From class MMapSelectionCallback
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapViewService::HandleSelectionL( TInt aLandmarkIndex )
-    {
-    __ASSERT_DEBUG( iSelecting, Panic( KErrGeneral ) );
-
-    iSelecting = EFalse;
-    CompleteSelectionRequest( aLandmarkIndex );
-    StopSelection();
-    }
-    
-// ---------------------------------------------------------------------------
-//  From class MMapSelectionCallback
-// ---------------------------------------------------------------------------
-//
-void CMnrpMapViewService::HandleSelectionL( TPosLmItemId aLandmarkId, TInt aDbIndex )
-    {
-    __ASSERT_DEBUG( iSelecting, Panic( KErrGeneral ) );
-
-    iSelecting = EFalse;
-    CompleteSelectionRequest( aLandmarkId, aDbIndex );
-    StopSelection();
-    }
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpnavicontrol.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,209 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpNaviControl class implementation
-*
-*/
-
-
-#include <e32base.h>
-#include <coemain.h>
-#include <aknlists.h>
-#include <barsread.h>
-
-#include <aknlists.h>
-
-#include "mnrpnavimodel.h"
-#include "mnrpnaviview.h"
-#include "mnrpnavicontrol.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpNaviControl::CMnrpNaviControl( CMnrpNaviView& aView )
- :  iView( aView )
-    { 
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpNaviControl::~CMnrpNaviControl()
-    {
-    delete iListBox;
-    delete iModel;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpNaviControl* CMnrpNaviControl::NewL( 
-    CMnrpNaviView& aView, 
-    const TRect& aRect,
-    CMnrpEngine& aEngine )
-    {
-    CMnrpNaviControl* self = new (ELeave) CMnrpNaviControl( aView );
-    CleanupStack::PushL( self );
-    self->ConstructL( aRect, aEngine );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviControl::ConstructL( const TRect& aRect, CMnrpEngine& aEngine )
-    {
-    // Create a window for this application view
-    CreateWindowL();
-    CreateListBoxL();
-    
-    // Set the windows size
-    SetRect( aRect );
-    
-    iModel = CMnrpNaviModel::NewL( *this, aEngine );
-
-    // Activate the window, which makes it ready to be drawn
-    ActivateL();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviControl::UpdateModelL( CPosLandmark& aDestination )
-    {
-    iModel->SetDestinationL( aDestination );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviControl::HandleModelUpdateL()
-    {
-    TArray< CMnrpNaviModel::CListItem* > items = iModel->ListItemsL();
-    
-    const TInt KGranularity = 8;
-    CDesCArraySeg* array = new (ELeave) CDesCArraySeg( KGranularity );
-    CleanupStack::PushL( array );
-    
-    _LIT( KItemFormat, "%S\t%S\t\t" );
-    for ( TInt i = 0; i < items.Count(); i++ )
-        {
-        CMnrpNaviModel::CListItem* item = items[i];
-
-        const TInt KNumTabsAndOther = 10;
-        HBufC* text = HBufC::NewLC(
-            item->Header().Length() + item->Value().Length() + KNumTabsAndOther);
-
-        text->Des().Format( KItemFormat, &(item->Header()), &(item->Value()) );
-        
-        array->AppendL( *text );
-        CleanupStack::PopAndDestroy( text );
-        }
-        
-    CleanupStack::Pop( array );
-
-    CTextListBoxModel* model = iListBox->Model();
-    model->SetItemTextArray( array );
-    model->SetOwnershipType( ELbmOwnsItemArray );
-    iListBox->HandleItemAdditionL();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TInt CMnrpNaviControl::CountComponentControls() const 
-    { 
-    return 1; 
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CCoeControl* CMnrpNaviControl::ComponentControl(TInt aIndex) const
-    {
-    return (aIndex == 0) ? iListBox : NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CMnrpNaviControl::OfferKeyEventL(
-    const TKeyEvent& aKeyEvent, TEventCode aType)
-    {
-    TKeyResponse response = EKeyWasNotConsumed;
-
-    switch (aKeyEvent.iCode)
-        {
-        case EKeyUpArrow:
-        case EKeyDownArrow:
-            // Scrolling the listbox. Forward to iListBox.
-            response = iListBox->OfferKeyEventL(aKeyEvent, aType);
-            break;
-
-        case EKeyLeftArrow:
-        case EKeyRightArrow:
-            // Eat these to disable switching views
-            response = EKeyWasConsumed;
-            break;
-
-        case EKeyDevice3:
-            response = EKeyWasConsumed;
-            break;
-
-        default:
-            // menu keys should be handled
-            break;
-        }
-
-    return response;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviControl::CreateListBoxL()
-    {
-    // Create a control to display a list of descriptors
-    iListBox = new (ELeave) CAknSingleHeadingStyleListBox();
-    iListBox->SetContainerWindowL( *this );
-    iListBox->ConstructL(this, CEikListBox::EViewerFlag );
-
-    // Create scrollbars
-    CEikScrollBarFrame* scrollBar = iListBox->CreateScrollBarFrameL();
-    scrollBar->SetScrollBarVisibilityL(
-                CEikScrollBarFrame::EOff, CEikScrollBarFrame::EAuto);
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviControl::SizeChanged()
-    {
-    iListBox->SetRect( Rect() );
-    iListBox->DrawDeferred();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviControl::HandleResourceChange( TInt aType )
-    {
-    CCoeControl::HandleResourceChange( aType );
-    if ( aType == KEikDynamicLayoutVariantSwitch )
-        {
-        SetRect( iView.ClientRect() );
-        }
-    }
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpnavigationservice.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpNavigationService class implementation
-*
-*/
-
-
-#include <e32base.h>
-#include <eikenv.h>
-
-#include <lbsposition.h>
-
-#include <epos_cposlandmark.h>
-
-#include "debug.h"
-#include <mnnavigationservicebase.h>
-
-#include "mnrpappui.h"
-#include "mnrpnavimodel.h"
-#include "mnrpnaviview.h"
-#include "mnrpappserver.h"
-#include "mnrpnavigationservice.h"
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpNavigationService* CMnrpNavigationService::NewL()
-    {
-    CMnrpNavigationService* self = new (ELeave) CMnrpNavigationService();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpNavigationService::CMnrpNavigationService()
-    {
-    }
-    
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CMnrpNavigationService::~CMnrpNavigationService()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CMnrpNavigationService::ConstructL()
-    {
-    BaseConstructL();
-    }
-
-// ---------------------------------------------------------------------------
-// From class CMnNavigationServiceBase
-// ---------------------------------------------------------------------------
-//
-void CMnrpNavigationService::HandleNavigateToL(
-    const CPosLandmark& aLandmark)
-    {
-    CMnrpAppServer* server = ( CMnrpAppServer* ) Server();
-    CMnrpAppUi* ui = server->AppUi();
-    ui->ShowNavigationL( aLandmark );
-    }
-        
-// ---------------------------------------------------------------------------
-// From class CMnServiceBase
-// ---------------------------------------------------------------------------
-//
-void CMnrpNavigationService::DoCancel()
-    {
-    }
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpnavimodel.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,241 +0,0 @@
-/*
-* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpNaviModel class implementation
-*
-*/
-
-
-#include <coemain.h>
-#include <aknlists.h>
-#include <barsread.h>
-
-#include <lbs.h>
-#include <lbsposition.h>
-#include <lbspositioninfo.h>
-
-#include <epos_cposlandmark.h>
-
-#include "mnrputils.h"
-#include "mnrpengine.h"
-#include "mnrpnavimodel.h"
-
-const TInt KUpdateInterval = 1 * 1000 * 1000; // 1 sec
-const TInt KUpdateTimeout = 10 * 1000 * 1000; // 10 sec
-
-_LIT( KNotDefined, "<n/a>" );
-_LIT( KDestination, "destination" );
-_LIT( KPosition, "position" );
-_LIT( KDistance, "distance" );
-_LIT( KBearing, "bearing" );
-_LIT( KDestinationLat, "dest.lat." );
-_LIT( KDestinationLon, "dest.lon." );
-_LIT( KPositionLat, "pos.lat." );
-_LIT( KPositionLon, "pos.lon." );
-_LIT( KSpeed, "speed" );
-_LIT( KHeading, "heading" );
-_LIT( KMagHeading, "m.heading" );
-_LIT( KCourse, "course" );
-_LIT( KMagCourse, "m.course" );
-
-// ========================== MEMBER CLASS' FUNCTIONS ==========================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpNaviModel::CListItem* CMnrpNaviModel::CListItem::NewL( 
-    const TDesC& aItemHeader, 
-    const TDesC& aItemValue )
-    {
-    CListItem* self = new (ELeave) CListItem;
-    CleanupStack::PushL( self );
-    self->iHeader = aItemHeader.AllocL();
-    self->iValue = aItemValue.AllocL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-    
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpNaviModel::CListItem::~CListItem()
-    {
-    delete iHeader;
-    delete iValue;
-    }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpNaviModel::CMnrpNaviModel( MNaviModelObserver& aObserver, CMnrpEngine& aEngine )
-    : iEngine( aEngine ), iObserver( aObserver )
-    { 
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpNaviModel::~CMnrpNaviModel()
-    {
-    delete iPositionRequest;
-    delete iDestination;
-    iListItems.ResetAndDestroy();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpNaviModel* CMnrpNaviModel::NewL( MNaviModelObserver& aObserver, CMnrpEngine& aEngine  )
-    {
-    CMnrpNaviModel* self = new (ELeave) CMnrpNaviModel( aObserver, aEngine );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviModel::ConstructL()
-    {
-    _LIT( KRequestorName, "MnRefProvider" );
-    iPositionRequest = CMnrpPositionRequest::NewL( KRequestorName, *this );
-    
-    TPositionUpdateOptions options;
-    options.SetUpdateInterval( TTimeIntervalMicroSeconds( KUpdateInterval ) );
-    options.SetUpdateTimeOut( TTimeIntervalMicroSeconds( KUpdateTimeout ) );
-    iPositionRequest->SetOptionsL( options );
-    
-    iPositionRequest->FetchNewPosition();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviModel::SetDestinationL( const CPosLandmark& aNewDestination )
-    {
-    delete iDestination;
-    iDestination = NULL;
-    iDestination = CPosLandmark::NewL( aNewDestination );
-    
-    iObserver.HandleModelUpdateL();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TArray<CMnrpNaviModel::CListItem*> CMnrpNaviModel::ListItemsL()
-    {
-    iListItems.ResetAndDestroy();
-    
-    TBuf<64> buf;
-    TPosition position;
-    TLocality destination;
-
-    iPosInfo.GetPosition( position );
-
-    if ( !iDestination || iDestination->GetPosition( destination ) )
-        {
-        iListItems.AppendL( CListItem::NewL( KDestination, KNotDefined ) );
-        }
-    else
-        {
-        TPtrC name;
-        iDestination->GetLandmarkName( name );
-        HBufC* printableName = MnrpUtils::PrintableStringLC( name );
-        iListItems.AppendL( CListItem::NewL( KDestination, *printableName ) );
-        CleanupStack::PopAndDestroy( printableName );
-
-        TBool validPosition = ( !Math::IsNaN( position.Latitude() ) && 
-                                !Math::IsNaN( position.Longitude() ) );
-
-        if ( validPosition )
-            {
-            TReal32 distance, bearing;
-            if ( position.Distance( destination, distance ) == KErrNone )
-                {
-                MnrpUtils::DistanceToString( distance, buf );
-                iListItems.AppendL( CListItem::NewL( KDistance, buf ) );
-                }
-            else
-                {
-                iListItems.AppendL( CListItem::NewL( KDistance, KNotDefined ) );
-                }
-                
-            if ( position.BearingTo( destination, bearing ) == KErrNone )
-                {
-                MnrpUtils::AngleToString( bearing, buf );
-                iListItems.AppendL( CListItem::NewL( KBearing, buf ) );
-                }
-            else
-                {
-                iListItems.AppendL( CListItem::NewL( KBearing, KNotDefined ) );
-                }
-
-            MnrpUtils::SpeedToString( iPositionRequest->Speed(), buf );
-            iListItems.AppendL( CListItem::NewL( KSpeed, buf ) );
-
-            MnrpUtils::AngleToString( iPositionRequest->Course(), buf );
-            iListItems.AppendL( CListItem::NewL( KCourse, buf ) );
-
-            MnrpUtils::AngleToString( iPositionRequest->Heading(), buf );
-            iListItems.AppendL( CListItem::NewL( KHeading, buf ) );
-
-            MnrpUtils::CoordinateToString( position.Latitude(), buf, ETrue, ETrue );
-            iListItems.AppendL( CListItem::NewL( KPositionLat, buf ) );
-
-            MnrpUtils::CoordinateToString( position.Longitude(), buf, ETrue, ETrue );
-            iListItems.AppendL( CListItem::NewL( KPositionLon, buf ) );
-            }
-        else
-            {
-            iListItems.AppendL( CListItem::NewL( KPosition, KNotDefined ) );
-            }
-
-        MnrpUtils::CoordinateToString( destination.Latitude(), buf, ETrue, ETrue );
-        iListItems.AppendL( CListItem::NewL( KDestinationLat, buf ) );
-
-        MnrpUtils::CoordinateToString( destination.Longitude(), buf, ETrue, ETrue );
-        iListItems.AppendL( CListItem::NewL( KDestinationLon, buf ) );
-
-        if ( validPosition )
-            {
-            MnrpUtils::AngleToString( iPositionRequest->MagneticCourse(), buf );
-            iListItems.AppendL( CListItem::NewL( KMagCourse, buf ) );
-
-            MnrpUtils::AngleToString( iPositionRequest->MagneticHeading(), buf );
-            iListItems.AppendL( CListItem::NewL( KMagHeading, buf ) );
-            }
-        }
-   
-    return iListItems.Array();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviModel::HandlePositionRequestCompletedL( TInt aError )
-    {
-    if ( !aError )
-        {
-        iPositionRequest->GetPosition( iPosInfo );
-        TPosition position;
-        iPosInfo.GetPosition( position );
-
-        iObserver.HandleModelUpdateL();
-        }
-    iPositionRequest->FetchNewPosition();
-    }
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrpnaviview.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpNaviView class implementation
-*
-*/
-
-
-#include <e32base.h>
-#include <lbsposition.h>
-#include <epos_cposlandmark.h>
-
-#include <mnrefprovider.rsg>
-#include "mnrp.hrh"
-
-#include "debug.h"
-#include "mnrputils.h"
-#include "mnrpengine.h"
-
-#include "mnrpappui.h"
-#include "mnrpnavicontrol.h"
-
-#include "mnrpnaviview.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpNaviView::CMnrpNaviView( CMnrpEngine& aEngine )
- : iEngine( aEngine )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpNaviView::~CMnrpNaviView()
-    {
-    delete iDestination;
-    delete iControl;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpNaviView* CMnrpNaviView::NewL( TBool aChained, CMnrpEngine& aEngine )
-    {
-    CMnrpNaviView* self = new (ELeave) CMnrpNaviView( aEngine );
-    CleanupStack::PushL( self );
-    self->ConstructL( aChained );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviView::ConstructL( TBool aChained )
-    {
-    if ( aChained )
-        {
-        BaseConstructL( R_MNREFPROVIDER_NAVI_VIEW_CHAINED );
-        }
-    else
-        {
-        BaseConstructL( R_MNREFPROVIDER_NAVI_VIEW );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviView::SetDestinationL( const CPosLandmark& aNewDestination )
-    {
-    delete iDestination;
-    iDestination = NULL;
-    iDestination = CPosLandmark::NewL( aNewDestination );
-    if ( iControl )
-        {
-        iControl->UpdateModelL( *iDestination );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TUid CMnrpNaviView::Id() const
-    {
-    return TUid::Uid( EMnrpNavigationViewId );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviView::HandleCommandL( TInt aCommand )
-    {
-    switch ( aCommand )
-        {
-        default:
-            AppUi()->HandleCommandL( aCommand );
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviView::DoActivateL(
-    const TVwsViewId& /*aPrevViewId*/,
-    TUid /* aCustomMessageId */,
-    const TDesC8& /* aCustomMessage */)
-    {
-    if ( !iControl )
-        {
-        iControl = CMnrpNaviControl::NewL( *this, ClientRect(), iEngine );
-        iControl->SetMopParent( this );
-        }
-
-    if ( iDestination )
-        {
-        iControl->UpdateModelL( *iDestination );
-        }
-
-    // Enable receiving of keyboard events.
-    CMnrpAppUi* ui = ( CMnrpAppUi* ) AppUi();
-    ui->AddToStackL( *this, iControl );
-
-    _LIT( KNavigation, "Navigation" );
-    ui->SetNaviPaneTitleL( KNavigation );
-
-    // Make view visible.
-    iControl->MakeVisible( ETrue );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpNaviView::DoDeactivate()
-    {
-    if ( iControl )
-        {
-        // Hide view.
-        iControl->MakeVisible( EFalse );
-
-        // Disable receiving keyboard events.
-        AppUi()->RemoveFromStack( iControl );
-        }
-    }
-
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrppositionrequest.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,272 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMnrpPositionRequest class implementation
-*
-*/
-
-
-#include <aknwaitdialog.h>
-#include <coemain.h>
-#include <aknnotewrappers.h>
-
-#include <lbspositioninfo.h>
-
-#include "mnrppositionrequest.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-CMnrpPositionRequest::CMnrpPositionRequest(
-    MMnrpPositionObserver& aObserver )
-    : 
-    CActive( CActive::EPriorityStandard ), 
-    iObserver( aObserver ),
-    iState( EIdle )
-    {
-    TRealX nan;
-    nan.SetNaN();
-    iSpeed = iHeading = iCourse = iMagneticHeading = iMagneticCourse = nan;
-    
-    CActiveScheduler::Add( this );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpPositionRequest::ConstructL( const TDesC& aRequestorName )
-    {
-    const TInt KBufSize = 8192;
-    iGenericPosition = HPositionGenericInfo::NewL( KBufSize );
-    
-    // Connect to the location server
-    User::LeaveIfError( iLocationServer.Connect() );
-
-    // Open the default positioner
-    User::LeaveIfError( iPositioner.Open( iLocationServer ) );
-
-    // Set this application as location requestor
-    User::LeaveIfError( iPositioner.SetRequestor(
-        CRequestor::ERequestorService,
-        CRequestor::EFormatApplication,
-        aRequestorName ) );
-
-    // Set default options
-    TPositionUpdateOptions updateOptions;
-
-    const TInt K30Seconds = 30000000;
-    TTimeIntervalMicroSeconds timeOut( K30Seconds );
-
-    updateOptions.SetUpdateTimeOut( timeOut );
-    SetOptionsL( updateOptions );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CMnrpPositionRequest* CMnrpPositionRequest::NewL(
-    const TDesC& aAppName, 
-    MMnrpPositionObserver& aObserver )
-    {
-    CMnrpPositionRequest* self =
-        new (ELeave) CMnrpPositionRequest( aObserver );
-    CleanupStack::PushL( self );
-    self->ConstructL( aAppName );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CMnrpPositionRequest::~CMnrpPositionRequest()
-    {
-    Cancel();
-    iPositioner.Close();
-    iLocationServer.Close();
-    delete iGenericPosition;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpPositionRequest::FetchNewPosition( TBool aLastKnownLocationAllowed )
-    {
-    Cancel();
-    // Request location
-    iState = EAcquiringDefaultLocation;
-    iLastKnownLocationAllowed = aLastKnownLocationAllowed;
-    ExecuteNextStep();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpPositionRequest::GetPosition( TPositionInfo& aPositionInfo )
-    {
-    aPositionInfo = iPositionInfo;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TReal32 CMnrpPositionRequest::Speed() 
-    { 
-    return iSpeed;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TReal32 CMnrpPositionRequest::Heading() 
-    { 
-    return iHeading; 
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TReal32 CMnrpPositionRequest::MagneticHeading() 
-    { 
-    return iMagneticHeading; 
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TReal32 CMnrpPositionRequest::Course() 
-    {
-    return iCourse;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TReal32 CMnrpPositionRequest::MagneticCourse()
-    { 
-    return iMagneticCourse;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpPositionRequest::DoCancel()
-    {
-    // Cancel location request
-    if (iState == EAcquiringDefaultLocation)
-        {
-        iPositioner.CancelRequest( EPositionerNotifyPositionUpdate );
-        }
-    else if (iState == EAcquiringLastKnownLocation)
-        {
-        iPositioner.CancelRequest( EPositionerGetLastKnownPosition );
-        }
-    iState = EIdle;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpPositionRequest::RunL()
-    {
-    if ( iStatus != KErrNone &&
-         iState == EAcquiringDefaultLocation && 
-         iLastKnownLocationAllowed )
-        {
-        // Fetching current location failed. Try last known location.
-        iState = EAcquiringLastKnownLocation;
-        ExecuteNextStep();
-        }
-    else
-        {
-        // Operation finished, notify observer
-        iState = EIdle;
-        SaveContainer( *iGenericPosition );
-        iObserver.HandlePositionRequestCompletedL( iStatus.Int() );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-TInt CMnrpPositionRequest::RunError(TInt /*aError*/)
-    {
-    // Ignore possible errors.
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpPositionRequest::ExecuteNextStep()
-    {
-    iStatus = KRequestPending;
-
-    switch (iState)
-        {
-        case EAcquiringDefaultLocation:
-            InitContainer( *iGenericPosition );
-            iPositioner.NotifyPositionUpdate( *iGenericPosition, iStatus);
-            break;
-        case EAcquiringLastKnownLocation:
-            iPositioner.GetLastKnownPosition( iPositionInfo, iStatus );
-            break;
-        default:    
-            // this case should never happen, see RunL
-            return;
-        }
-
-    SetActive();
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMnrpPositionRequest::SetOptionsL( const TPositionUpdateOptionsBase& aOptions )
-    {
-    User::LeaveIfError( iPositioner.SetUpdateOptions( aOptions ) );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpPositionRequest::InitContainer( HPositionGenericInfo& aGenericInfo )
-    {
-    aGenericInfo.ClearPositionData();
-    
-    aGenericInfo.SetRequestedField( EPositionFieldHorizontalSpeed );
-    aGenericInfo.SetRequestedField( EPositionFieldTrueCourse );
-    aGenericInfo.SetRequestedField( EPositionFieldMagneticCourse );
-    aGenericInfo.SetRequestedField( EPositionFieldHeading );
-    aGenericInfo.SetRequestedField( EPositionFieldMagneticHeading );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CMnrpPositionRequest::SaveContainer( const HPositionGenericInfo& aGenericInfo )
-    {
-    TRealX nan;
-    nan.SetNaN();
-    iSpeed = iHeading = iCourse = iMagneticHeading = iMagneticCourse = nan;
-    
-    aGenericInfo.GetValue( EPositionFieldHorizontalSpeed, iSpeed );
-    aGenericInfo.GetValue( EPositionFieldTrueCourse, iCourse );
-    aGenericInfo.GetValue( EPositionFieldMagneticCourse, iMagneticCourse );
-    aGenericInfo.GetValue( EPositionFieldHeading, iHeading );
-    aGenericInfo.GetValue( EPositionFieldMagneticHeading, iMagneticHeading );
-    
-    iPositionInfo = *iGenericPosition;
-    }
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/src/mnrputils.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,256 +0,0 @@
-/*
-* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  MnrpUtils class implementation
-*
-*/
-
-
-#include <e32base.h>
-#include <e32math.h>
-#include <lbsposition.h>
-
-#include "mnrputils.h"
-
-_LIT( KNan, "<n/a>" );
-_LIT( KNeg, "<neg>" );
-_LIT( KOutOfBounds, "<inv>" );
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void MnrpUtils::CoordinateToString(
-    TReal aCoord,
-    TDes& aStr,
-    TBool aFull,
-    TBool aMillis )
-    {
-    const TChar KDegreeMark = 0xB0;
-    const TChar KMinuteMark = 0x27;
-    const TChar KSecondMark = 0x22;
-    const TChar KMilliSecondMark = 0x2E;
-    const TChar KMinus = '-';
-    const TChar KPlus = '+';
-
-    _LIT( KCoordFormatFull, "%c%d%c%02d%c%02d%c" );
-    _LIT( KCoordFormatPartMseconds, "%c%03d" );
-
-    if ( Math::IsNaN( aCoord ) )
-        {
-        aStr.Copy( KNan );
-        }
-    else if ( Abs( aCoord ) > 360 )
-        {
-        aStr.Copy( KOutOfBounds );
-        }
-    else
-        {
-        TBool negative = aCoord < 0;
-        aCoord = Abs( aCoord );
-
-        TInt degrees = TInt( aCoord );
-        aCoord = ( aCoord - degrees ) * 60;
-        TInt minutes = TInt( aCoord );
-        aCoord = ( aCoord - minutes ) * 60;
-        TInt seconds = TInt( aCoord );
-        aCoord = ( aCoord - seconds ) * 100;
-        TInt mseconds = TInt( aCoord );
-
-        TChar sign = negative ? KMinus : KPlus;
-
-        if ( aFull )
-            {
-            aStr.Format( KCoordFormatFull,
-                            TUint( sign ), degrees, TUint( KDegreeMark ),
-                            minutes, TUint( KMinuteMark ),
-                            seconds, TUint( KSecondMark ) );
-            if ( aMillis )
-                {
-                aStr.AppendFormat( KCoordFormatPartMseconds, TUint( KMilliSecondMark ), mseconds );
-                }
-            }
-        else
-            {
-            aStr.Zero();
-            if ( degrees )
-                {
-                aStr.AppendNum( degrees );
-                aStr.Append( KDegreeMark );
-                }
-            if ( minutes )
-                {
-                aStr.AppendNum( minutes );
-                aStr.Append( KMinuteMark );
-                }
-            if ( seconds )
-                {
-                aStr.AppendNum( seconds );
-                aStr.Append( KSecondMark );
-                }
-            if ( mseconds && aMillis )
-                {
-                if ( !seconds )
-                    {
-                    aStr.AppendNum( 0 );
-                    aStr.Append( KSecondMark );
-                    }
-                aStr.AppendFormat( KCoordFormatPartMseconds, TUint( KMilliSecondMark ), mseconds );
-                }
-
-            if ( !aStr.Length() )
-                {
-                aStr.AppendNum( degrees );
-                aStr.Append( KDegreeMark );
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void MnrpUtils::DistanceToString( TReal aDistance, TDes& aStr )
-    {
-    _LIT( KSmall, "< 1 m" );
-    _LIT( KMeters, "%d m" );
-    _LIT( KKiloMeters, "%.1f Km" );
-    _LIT( KThousandsKiloMeters, "%.1f tKm" );
-
-    const TInt KMeter = 1;
-    const TInt KKilometer = KMeter * 1000;
-    const TInt KThousandKilometer = KKilometer * 1000;
-
-    if ( Math::IsNaN( aDistance ) )
-        {
-        aStr.Copy( KNan );
-        }
-    else if ( aDistance < 0 )
-        {
-        aStr.Copy( KNeg );
-        }
-    else if ( aDistance < KMeter )
-        {
-        aStr.Copy( KSmall );
-        }
-    else if ( aDistance < KKilometer )
-        {
-        aStr.Format( KMeters, TInt( aDistance ) );
-        }
-    else if ( aDistance < KThousandKilometer )
-        {
-        aStr.Format( KKiloMeters, aDistance / KKilometer );
-        }
-    else
-        {
-        aStr.Format( KThousandsKiloMeters, aDistance / KThousandKilometer );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void MnrpUtils::SpeedToString( TReal aSpeed, TDes& aStr )
-    {
-    _LIT( KPerSecond, "/s" );
-
-    if ( Math::IsNaN( aSpeed ) )
-        {
-        aStr.Copy( KNan );
-        }
-    else if ( aSpeed < 0 )
-        {
-        aStr.Copy( KNeg );
-        }
-    else
-        {
-        DistanceToString( aSpeed, aStr );
-        aStr.Append( KPerSecond );
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void MnrpUtils::AngleToString( TReal aAngle, TDes& aStr )
-    {
-    const TChar KMinus = '-';
-    const TChar KPlus = '+';
-    _LIT( KAngleFormat, "%S%c%.1f\xB0 /  %.1f\xB0" );
-    
-    _LIT( KNorth, "N" );
-    _LIT( KSouth, "S" );
-    _LIT( KWest, "W" );
-    _LIT( KEast, "E" );
-
-    TPtrC side;
-    TReal angle;
-
-    if ( Math::IsNaN( aAngle ) )
-        {
-        aStr.Copy( KNan );
-        }
-    else if ( aAngle > 360 )
-        {
-        aStr.Copy( KOutOfBounds );
-        }
-    else
-        {
-        if ( aAngle > 315 )
-            {
-            side.Set( KNorth );
-            angle = aAngle - 360;
-            }
-        else if ( aAngle > 225 )
-            {
-            side.Set( KWest );
-            angle = aAngle - 270;
-            }
-        else if ( aAngle > 135 )
-            {
-            side.Set( KSouth );
-            angle = aAngle - 180;
-            }
-        else if ( aAngle > 45 )
-            {
-            side.Set( KEast );
-            angle = aAngle - 90;
-            }
-        else // aAngle <= 45
-            {
-            side.Set( KNorth );
-            angle = aAngle;
-            }
-
-        TChar sign = ( angle >= 0 ) ? KPlus : KMinus;
-        aStr.Format( KAngleFormat, &side, TUint( sign ), Abs( angle ), aAngle );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-EXPORT_C HBufC* MnrpUtils::PrintableStringLC( const TDesC& aStr )
-    {
-    HBufC* buf = aStr.AllocLC();
-    TPtr string( buf->Des() );
-    for ( TInt i = 0; i < string.Length(); i++ )
-        {
-        if ( !TChar( string[i] ).IsPrint() )
-            {
-            string[i] = ' ';
-            }
-        }
-    return buf;
-    }
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/src/testmapimgconpluginapi.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,134 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Ctestmapimgconpluginapi class
-*
-*/
-
-
-
-// INCLUDE FILES
-#include <Stiftestinterface.h>
-#include "testmapimgconpluginapi.h"
-#include <SettingServerClient.h>
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// Ctestmapimgconpluginapi::Ctestmapimgconpluginapi
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-Ctestmapimgconpluginapi::Ctestmapimgconpluginapi( 
-    CTestModuleIf& aTestModuleIf ):
-        CScriptBase( aTestModuleIf )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// Ctestmapimgconpluginapi::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void Ctestmapimgconpluginapi::ConstructL()
-    {
-    //Read logger settings to check whether test case name is to be
-    //appended to log file name.
-    RSettingServer settingServer;
-    TInt ret = settingServer.Connect();
-    if(ret != KErrNone)
-        {
-        User::Leave(ret);
-        }
-    // Struct to StifLogger settigs.
-    TLoggerSettings loggerSettings; 
-    // Parse StifLogger defaults from STIF initialization file.
-    ret = settingServer.GetLoggerSettings(loggerSettings);
-    if(ret != KErrNone)
-        {
-        User::Leave(ret);
-        } 
-    // Close Setting server session
-    settingServer.Close();
-
-    TFileName logFileName;
-    
-    if(loggerSettings.iAddTestCaseTitle)
-        {
-        TName title;
-        TestModuleIf().GetTestCaseTitleL(title);
-        logFileName.Format(KtestmapimgconpluginapiLogFileWithTitle, &title);
-        }
-    else
-        {
-        logFileName.Copy(KtestmapimgconpluginapiLogFile);
-        }
-
-    iLog = CStifLogger::NewL( KtestmapimgconpluginapiLogPath, 
-                          logFileName,
-                          CStifLogger::ETxt,
-                          CStifLogger::EFile,
-                          EFalse );
-
-    }
-
-// -----------------------------------------------------------------------------
-// Ctestmapimgconpluginapi::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-Ctestmapimgconpluginapi* Ctestmapimgconpluginapi::NewL( 
-    CTestModuleIf& aTestModuleIf )
-    {
-    Ctestmapimgconpluginapi* self = new (ELeave) Ctestmapimgconpluginapi( aTestModuleIf );
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;
-
-    }
-
-// Destructor
-Ctestmapimgconpluginapi::~Ctestmapimgconpluginapi()
-    { 
-
-    // Delete resources allocated from test methods
-    Delete();
-
-    // Delete logger
-    delete iLog; 
-
-    }
-    
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// -----------------------------------------------------------------------------
-// LibEntryL is a polymorphic Dll entry point.
-// Returns: CScriptBase: New CScriptBase derived object
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CScriptBase* LibEntryL( 
-    CTestModuleIf& aTestModuleIf ) // Backpointer to STIF Test Framework
-    {
-
-    return ( CScriptBase* ) Ctestmapimgconpluginapi::NewL( aTestModuleIf );
-
-    }
-
-
-//  End of File
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/src/testmapimgconpluginapiBlocks.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,124 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  test case implementations.
-*
-*/
-
-
-
-// [INCLUDE FILES] - do not remove
-#include <e32svr.h>
-#include <StifParser.h>
-#include <Stiftestinterface.h>
-#include <LbsPosition.h>
-#include "testmapimgconpluginapi.h"
-#include "testprovidercoordconverter.h"
-
-const TInt KTestProviderUid = 0x03133038;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// Ctestmapimgconpluginapi::Delete
-// Delete here all resources allocated and opened from test methods. 
-// Called from destructor. 
-// -----------------------------------------------------------------------------
-//
-void Ctestmapimgconpluginapi::Delete() 
-    {
-
-    }
-
-// -----------------------------------------------------------------------------
-// Ctestmapimgconpluginapi::RunMethodL
-// Run specified method. Contains also table of test mothods and their names.
-// -----------------------------------------------------------------------------
-//
-TInt Ctestmapimgconpluginapi::RunMethodL( 
-    CStifItemParser& aItem ) 
-    {
-
-    static TStifFunctionInfo const KFunctions[] =
-        {  
-        ENTRY( "CMnCoordinateConverterBase_MapImageParams", Ctestmapimgconpluginapi::CMnCoordinateConverterBase_MapImageParams ),
-        ENTRY( "CMnCoordinateConverterBase_GetImageCoordinate", Ctestmapimgconpluginapi::CMnCoordinateConverterBase_GetImageCoordinate ),
-        ENTRY( "CMnCoordinateConverterBase_GetWorldCoordinate", Ctestmapimgconpluginapi::CMnCoordinateConverterBase_GetWorldCoordinate ),
-        };
-
-    const TInt count = sizeof( KFunctions ) / 
-                        sizeof( TStifFunctionInfo );
-
-    return RunInternalL( KFunctions, count, aItem );
-
-    }
-
-
-// -----------------------------------------------------------------------------
-// Ctestmapimgconpluginapi::CMnCoordinateConverterBase_MapImageParams
-// This test case will test MapImageParams method of CMnCoordinateConverterBase
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-
-TInt Ctestmapimgconpluginapi::CMnCoordinateConverterBase_MapImageParams(
-   CStifItemParser& /*aItem*/)
-   {
-   CTestProviderCoordConverter* testProviderCoordConverter=
-    								CTestProviderCoordConverter::NewLC();
-   TMnMapImageParams mapImageParams=testProviderCoordConverter->MapImageParams(); 	
-   CleanupStack::PopAndDestroy(testProviderCoordConverter);
-   return KErrNone;
-   }
-   
-// -----------------------------------------------------------------------------
-// Ctestmapimgconpluginapi::CMnCoordinateConverterBase_GetImageCoordinate
-// This test case will test GetImageCoordinate method of CMnCoordinateConverterBase
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-
-TInt Ctestmapimgconpluginapi::CMnCoordinateConverterBase_GetImageCoordinate(
-   CStifItemParser& /*aItem*/)
-   {
-   CTestProviderCoordConverter* testProviderCoordConverter=
-    								CTestProviderCoordConverter::NewLC();
-   TCoordinate coordinate;
-   TPoint point;
-   testProviderCoordConverter->GetImageCoordinate(coordinate,point); 
-   	
-   CleanupStack::PopAndDestroy(testProviderCoordConverter);
-   return KErrNone;
-   }   
-   
-// -----------------------------------------------------------------------------
-// Ctestmapimgconpluginapi::CMnCoordinateConverterBase_GetWorldCoordinate
-// This test case will test GetWorldCoordinate method of CMnCoordinateConverterBase
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-
-TInt Ctestmapimgconpluginapi::CMnCoordinateConverterBase_GetWorldCoordinate(
-   CStifItemParser& /*aItem*/)
-   {
-   CTestProviderCoordConverter* testProviderCoordConverter=
-    								CTestProviderCoordConverter::NewLC();
-   TCoordinate coordinate;
-   TPoint point;
-   testProviderCoordConverter->GetWorldCoordinate(point,coordinate); 
-   	
-   CleanupStack::PopAndDestroy(testProviderCoordConverter);
-   return KErrNone;
-   } 
-
-//  [End of File] - Do not remove
--- a/locsrv_plat/map_image_conversion_plugin_api/tsrc/src/testprovidercoordconverter.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CTestProviderCoordConverter class
-*
-*/
-
-
-#include <e32base.h>
-#include "testprovidercoordconverter.h"
-
-// ========================== MEMBER FUNCTIONS ===============================
-
-// ---------------------------------------------------------------------------
-// Two phase constructor
-//---------------------------------------------------------------------------
-CTestProviderCoordConverter* CTestProviderCoordConverter::NewLC()
-    {
-    CTestProviderCoordConverter* self = new (ELeave) CTestProviderCoordConverter;
-    CleanupStack::PushL(self);
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// C++ constructor.
-// ---------------------------------------------------------------------------
-CTestProviderCoordConverter::CTestProviderCoordConverter()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// C++ destructor
-// ---------------------------------------------------------------------------
-CTestProviderCoordConverter::~CTestProviderCoordConverter()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Implementation for GetImageCoordinate declared in base class.
-// ---------------------------------------------------------------------------
-TInt CTestProviderCoordConverter::GetImageCoordinate( 
-    const TCoordinate& /*aWorldCoordinate*/, 
-    TPoint& /*aImagePoint*/ )
-    {
-    return KErrNone;    
-    }
-
-
-// ---------------------------------------------------------------------------
-// Implementation for GetWorldCoordinate declared in base class.
-// ---------------------------------------------------------------------------
-TInt CTestProviderCoordConverter::GetWorldCoordinate( 
-    const TPoint& /*aImagePoint*/, 
-    TCoordinate& /*aWorldCoordinate*/ )
-    {
-    return KErrNone;    
-    }
-
--- a/locsrv_plat/oma_supl_asn_codec_plugin_api/inc/epos_comasuplinitver2.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/locsrv_plat/oma_supl_asn_codec_plugin_api/inc/epos_comasuplinitver2.h	Tue Aug 31 15:37:04 2010 +0300
@@ -556,7 +556,7 @@
 
    	    void ConstructL();        
 
-   	    COMASuplInitVer2(); 
+   	    IMPORT_C COMASuplInitVer2(); 
 
 
    	protected:    // Data
--- a/locsrv_plat/privacy_notifiers_secondary_display_api/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  File that exports the files belonging to 
-:                Privacy Notifiers Secondary Display API
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/locverifiercoverui.h     MW_LAYER_PLATFORM_EXPORT_PATH(locverifiercoverui.h)
--- a/locsrv_plat/privacy_notifiers_secondary_display_api/inc/locverifiercoverui.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,125 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  The set of messages provided to Secondary Display software by
-*                Location Verifier dialogs.
-*
-*/
-
-#ifndef LOCVERIFIERCOVERUI_H_
-#define LOCVERIFIERCOVERUI_H_
-
-// System Includes
-#include <e32base.h>
-
-// The category UID for the commands in this header file.
-// UID of the Location Verifier dialogs Dll ( locverifierdlg.dll )
-//
-const TUid KCatUidLocationVerifierDlgs = { 0x101f84fc };
-
-
-// Dialogs shown by Location System UI / Verifer dialogs. These commands are 
-// handled using the Secondary Display support in Avkon.
-// Verification dialogs seek a response from the user about the decision that
-// has to be taken about accepting or rejecting a Location request. 
-// Notification dialogs provides a notification to the user about a particular
-// action taken to a Location request.
-// All the below mentioned command are expected to display a List Query dialog.
-// The requestor strings for filling up the List query dialog would be supplied 
-// as a packaged buffer. The buffer is packed according to the below mentioned
-// format.
-// 
-// | Count | Length(1) | String(1) | Length(2) | String(2) | ..... | Length( Count ) | String( Count ) |
-// 
-// where,
-// Count   - ( 4 bytes ) - The number of requestor strings. 
-// Length(n) - ( 4 bytes ) - Length of the UNICODE ( UCS -2) encoded nth requestor string.
-// String(n) - ( Length(n) * 2 bytes ) - String for the nth requestor. String encoded in 
-// UNICODE ( UCS-2 )  format. Hence, each character takes 2 bytes. Hence, over all length of the
-// string in bytes is 2 * Length(n).
-// 
-// Each entry is packed one after another without any delimters between them
-//
-//
-enum TLocVerifierDlgCoverUiCmds
-    {
-    /**
-     * Command ID for Location verification request when the network default policy for the 
-     * request is accept
-     * Request Type : Verification Request
-     * Dialog Type : List Query Dialog
-     * Hint String : "By default the network will accept this request on your behalf. Requesters:"
-     */    	
-    ECmdDefaultAccept 			= 1,
-    
-    /**
-     * Command ID for Location verification request when the network default policy for 
-     * the request is reject
-     * Request Type : Verification Request
-     * Dialog Type : List Query Dialog     
-     * Hint String : "By default the network will reject this request on your behalf. Requesters:"
-     */     
-    ECmdDefaultReject 		  = 2,
-    
-    /**
-     * Command ID for Location verification request when the network default policy for 
-     * the request is not specified
-     * Request Type : Verification Request
-     * Dialog Type : List Query Dialog      
-     * Hint String : "Your location was requested by:"
-     */     
-    ECmdDefaultNone   		  = 3,
-    
-    /**
-     * Command ID for Location notification
-     * Request Type : Notification Request
-     * Dialog Type : List Query Dialog      
-     * Hint String : "The network sent your location to:"
-     */     
-    ECmdNotifyAccept			  = 4,
-    
-    /**
-     * Command ID for Location notification when network made "accept" decision due to timeout
-     * Request Type : Notification Request
-     * Dialog Type : List Query Dialog           
-     * Hint String : "The network accepted this request on your behalf. Your location was sent to:"
-     */     
-    ECmdNotifyAcceptTimeout = 5,
-    
-    /**
-     *Command ID for Location notification when network made "reject" decision due to timeout
-     * Request Type : Notification Request
-     * Dialog Type : List Query Dialog           
-     * Hint String : "The network rejected this request on your behalf. Your location was not sent to:"
-     */     
-    ECmdNotifyRejectTimeout = 6,
-    
-    /**
-     * Command ID for Location notification when request was rejected due to a conflict despite of user's "accept" decision.
-     * Request Type : Notification Request
-     * Dialog Type : List Query Dialog           
-     * Hint String : "Unable to accept the request"
-     */     
-    ECmdNotifyAcceptFailure = 7,
-    
-    /**
-     * Command ID for Location notification when request was accepted due to a conflict despite of user's "reject" decision.
-     * Request Type : Notification Request
-     * Dialog Type : List Query Dialog           
-     * Hint String : "Unable to reject the request"
-     */     
-    ECmdNotifyRejectFailure = 8
-    };
-
-#endif      // LOCVERIFIERCOVERUI_H_            
-// End of File
--- a/locsrv_plat/privacy_notifiers_secondary_display_api/privacy_notifiers_secondary_display_api.metaxml	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-<?xml version="1.0" ?>
-<api id="816ea835ab7ce0f6e578f35b1967eaa5" dataversion="2.0">
-  <name>Privacy Notifiers Secondary Display API</name>
-  <description>Provides commands and events based message interface for privacy verification and notification for cover UI components on top of Mediator.</description>
-  <type>c++</type>
-  <collection>locationsystemui</collection>
-  <libs>
-  </libs>
-  <release category="platform"/>
-  <attributes>
-     <!-- This indicates wether the api provedes separate html documentation -->
-     <!-- or is the additional documentation generated from headers. -->
-     <!-- If you are unsuere then the value is "no" -->
-     <htmldocprovided>no</htmldocprovided>
-     <adaptation>no</adaptation>
-  </attributes>
-</api>
--- a/locsrv_plat/psy_configuration_ui_plugin_api/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  File that exports the files belonging to 
-:                PSY Configuration UI Plug-in API
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/LocPsyConfigUi.rh     MW_LAYER_PLATFORM_EXPORT_PATH(LocPsyConfigUi.rh)
-../inc/LocPsyConfigUiUID.hrh     MW_LAYER_PLATFORM_EXPORT_PATH(LocPsyConfigUiUID.hrh)
--- a/locsrv_plat/psy_configuration_ui_plugin_api/inc/LocPsyConfigUi.rh	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  PSY Configuration UI Plug-in resource structure definition.
-*
-*/
-
-#ifndef __LOCPSYCONFIGUI_RH__
-#define __LOCPSYCONFIGUI_RH__
-
-/**
- * @file LocPsyConfigUi.rh
- * 
- * This file provides the resource structure definition for PSY Configuration
- * UI plug-in API. The client application which intends to provide a PSY 
- * configuration UI should use this resource structure to define the UID of the
- * PSY module for which its providing the Configuration UI.
- *
- */
- 
-/** 
- * Resource Structure for PSY Configuration UI Plug-in API.
- * 
- * This structure is to be used as the opaque 
- * data field of the SERVICE_INFO structure of the APP_REGISTRATION_INFO 
- * defined in the application's registration resource file.
- *
- * @publishedPartner
- */
-STRUCT PSYCONFIG_REGISTRATION
-	{
-	/**
-	 * The ECom Implementation UID of the PSY module for which the application
-	 * serves as the Configuration UI.
-	 */
-	LONG psy_uid;
-	}
-
-#endif //__LOCPSYCONFIGUI_RH__
--- a/locsrv_plat/psy_configuration_ui_plugin_api/inc/LocPsyConfigUiUID.hrh	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
-* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Service UID definition for PSY Configuration UI Plug-in API.
-*
-*/
-
-#ifndef __LOCPSYCONFIGUI_UID_HRH__
-#define __LOCPSYCONFIGUI_UID_HRH__ 
- 
-/**
- * @file LocPsyConfigUiUID.hrh
- * 
- * This file provides the documentation of the Service UID definition for PSY 
- * Configuration UI Plug-in API.
- *
- * #KLocPsyConfigServiceUid
- */ 
-/**
- * Service UID for PSY Configuration UI Plug-in API.
- * 
- * The client application which intends to provide a PSY configuration UI should 
- * specify this Service UID value in the uid field of the SERVICE_INFO structure 
- * of the APP_REGISTRATION_INFO defined in the application's registration resource
- * file.
- *
- * @publishedPartner
- */
-#define KLocPsyConfigServiceUid 0x10207240 
-
-#endif //__LOCPSYCONFIGUI_UID_HRH__
--- a/locsrv_plat/psy_configuration_ui_plugin_api/psy_configuration_ui_plugin_api.metaxml	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-<?xml version="1.0" ?>
-<api id="645a03f53c58d52243e93ccdd2ed24c9" dataversion="2.0">
-  <name>PSY Configuration UI Plug-in API</name>
-  <description>Provides the interface to plug-in PSY specific configuration UIs into the Location System UI subsystem.</description>
-  <type>c++</type>
-  <collection>locationsystemui</collection>
-  <libs>
-  </libs>
-  <release category="platform"/>
-  <attributes>
-     <!-- This indicates wether the api provedes separate html documentation -->
-     <!-- or is the additional documentation generated from headers. -->
-     <!-- If you are unsuere then the value is "no" -->
-     <htmldocprovided>no</htmldocprovided>
-     <adaptation>no</adaptation>
-  </attributes>
-</api>
--- a/locsrv_plat/query_and_notification_api/inc/EPos_CPosPrivacyNotifier.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/locsrv_plat/query_and_notification_api/inc/EPos_CPosPrivacyNotifier.h	Tue Aug 31 15:37:04 2010 +0300
@@ -23,7 +23,7 @@
 //  INCLUDES
 #include <e32base.h>
 #include <lbs/epos_privacy.h>
-#include <lbs/EPos_TPosQNInputData.h>
+#include <lbs/epos_tposqninputdata.h>
 
 // DATA TYPES
 
--- a/locsrv_plat/supl_query_secondary_display_api/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Build information file for SUPL Query Secondary display API.
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/epos_omasuplquerycoverui.h     MW_LAYER_PLATFORM_EXPORT_PATH(epos_omasuplquerycoverui.h)
--- a/locsrv_plat/supl_query_secondary_display_api/inc/epos_omasuplquerycoverui.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Cover UI command definitions for SUPL queries
-*
-*/
-
-#ifndef EPOS_OMASUPLQUERYCOVERUI_H_
-#define EPOS_OMASUPLQUERYCOVERUI_H_
-
-// System Includes
-#include <e32base.h>
-
-// The category UID for the commands in this header file.
-// UID of the SUPL Query Notifier Dll ( epos_omasuplnotifier.dll )
-//
-const TUid KCatUidSuplQuery = { 0x10009BF6 };
-
-
-// Dialogs shown by SUPL Notifers. These commands are handled using the
-// Secondary Display support in Avkon.
-//
-enum TEposSUPLSettingsCoverUiCmds
-    {
-    /**
-     * Command for displaying a confirmation query dialog, which seeks confirmation from the 
-     * user as to whether he wants to use SUPL. The dialog is displayed when the user is
-     * in his home network.
-     * Dialog Type : Message Query Dialog     
-     * Hint String : "Connection to network positioning server is requested. Proceed?"
-     *               "Server Settings ?" Link     
-     */
-    ECmdSuplHomeNetwork = 1,
-    
-    /**
-     * Command for displaying a confirmation query dialog, which seeks confirmation from the 
-     * user as to whether he wants to use SUPL. The dialog is displayed when the user is
-     * not in his home network.
-     * Dialog Type : Message Query Dialog with link     
-     * Hint String : "Connection to network positioning server is requested. You are outside home network. Proceed?"
-     *               "Server Settings ?" Link
-     */
-    ECmdSuplRoamingNetwork = 2,    
-    
-    /**
-     * Command for displaying a timeout query dialog, which informs the user about the 
-     * timeout of SUPL Request. The dialog is displayed when the SUPL connection times out.
-     * Dialog Type : Query Dialog     
-     * Hint String : "Positioning server SUPL request timed out. Network connection not started."
-     */
-    ECmdSuplTimeOut = 3    
-    };
-
-#endif      // EPOS_OMASUPLQUERYCOVERUI_H_            
-// End of File
--- a/locsrv_plat/supl_query_secondary_display_api/supl_query_secondary_display_api.metaxml	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-<?xml version="1.0" ?>
-<api id="ef7a78321606fc5782faaed358c1ac72" dataversion="2.0">
-  <name>SUPL Query Secondary Display API</name>
-  <description>Provides the definition for the Cover UI commands for SUPL queries</description>
-  <type>c++</type>
-  <collection>supl</collection>
-  <libs>
-  </libs>
-  <release category="platform"/>
-  <attributes>
-     <!-- This indicates wether the api provedes separate html documentation -->
-     <!-- or is the additional documentation generated from headers. -->
-     <!-- If you are unsuere then the value is "no" -->
-     <htmldocprovided>no</htmldocprovided>
-     <adaptation>no</adaptation>
-  </attributes>
-</api>
--- a/locsrv_plat/supl_settings_api/inc/epos_csuplsettingparams.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/locsrv_plat/supl_settings_api/inc/epos_csuplsettingparams.h	Tue Aug 31 15:37:04 2010 +0300
@@ -48,6 +48,8 @@
  *  - Network & Operator code ( when tried last ).
  *  - Network & Operator code ( when last used successfully).
  *  - Editable ( yes / no).
+ *	- Product Configuration - Indicates that server is configured by product team or configured by user. 
+ *    
  *
  *  From the abover properties, only following fieds can be changed by SUPL settings client:
  *  - SLP address
@@ -56,6 +58,7 @@
  *  - Remove SLP, when SIM change ( yes / no ).
  *  - Usage in home network ( yes / no ).
  *  - Editable ( yes / no).
+ *	- Product Configuration
  * 
  */
 class CServerParams : public CBase 
@@ -115,7 +118,7 @@
      * @param [IN] aSimChangeRemove Inidcates whether this server entry needs to be deleted when SIM changes 
      * @param [IN] aUsageInHomeNw Inidcates whether server can be used in the home network or not 
      * @param [IN] aEditable Inidcates whether this server entry can be edited or not 
-     *
+     * @param [IN] aSlpId,Id of server for which client has to modify properties of SLP.
      * @return following error codes 
      *      - KErrNone if successful
      *      - KErrArgument if any of the argument is not in the specified range or values specified are not reset value
@@ -133,7 +136,7 @@
 
     /**
      * Returns server parameters. 
-     *
+     * @param [IN] aSlpId,Id of server for which client has to retrive properties of SLP.
      * @param [OUT] aServerAddress Server address in string format 
      * @param [OUT] aIapName The Internet Access Point Name refers to the access point which is 
      * used to access the HSLP over the internet.  This can have maximum size of 100 characters.
@@ -141,7 +144,7 @@
      * @param [OUT] aSimChangeRemove Inidcates whether this server entry needs to be deleted when SIM changes 
      * @param [OUT] aUsageInHomeNw Inidcates whether server can be used in the home network or not 
      * @param [OUT] aEditable Inidcates whether this server entry can be edited or not 
-     *
+     * 
      * @return following error codes
      *      - KErrNone if successful
      *      - KErrNotFound if all of the parameters has reset value 
@@ -155,6 +158,32 @@
                 TBool& aUsageInHomeNw,
                 TBool& aEditable
                 ) const;
+                
+
+    /**
+     * Sets server parameters.  
+     * @param [IN] aConfigurationType, Set ETrue to indicates that server is configured by product,
+     * 																 		 EFalse to indicates that server is configured by user
+     *
+     * @return following error codes 
+     *      - KErrNone if successful
+     *			- Otherwise system wide error code
+     */
+	IMPORT_C void SetServerConfigurationType(TBool aProductConfiguration);
+
+
+    /**
+     * Gets server parameters.  
+     * @param [OUT] aConfigurationType, ETrue  indicates that server is configured by product,
+     * 																  EFalse indicates that server is configured by user
+     *
+     * @return following error codes 
+     *      - KErrNone if successful
+     *			- KErrNotFound if server configuration property is not set.
+     */
+	IMPORT_C TInt GetServerConfigurationType(TBool& aProductConfiguration) const;
+
+
 
 private:
     TInt64 iSlpId;
@@ -164,9 +193,11 @@
     TBool iSimChangeRemove;
     TBool iUsageInHomeNw;
     TBool iEditable;
+    TBool iProductConfigured;
     
     //To indicate if the values were set using the Set method 
     TBool iIsValueSet;
+    
 	};
 
 /**
@@ -328,7 +359,35 @@
                       TUint64&  aOutstandingTrigger,
                       TUint64&  aInterval
                     ) const;     
+                    
+/**
+     * Sets trigger parameters. 
+     *
+     * @since S60 5.2
+     * @param [IN]  aEndTime Inidcates end time for triggering session.  This is valid only 
+     * 						 if the trigger type is periodic triggers.
+     * @return following error codes
+     *      - KErrNone if successful
+     *		- KErrNotFound if Session id specified is not running as periodic triggering session.
+     */
+     
+	IMPORT_C void SetTriggerEndTime(const TTime aEndTime);                  
+	
+	/**
+     * Gets trigger parameters. 
+     *
+     * @since S60 5.2
+     * @param [OUT] aEndTime Inidcates end time for triggering session.  This is valid only 
+     * 						 if the trigger type is periodic triggers.
+     * @return following error codes
+     *      - KErrNone if successful
+     *      - KErrArgument if Session id is not in the specified range
+     *			- KErrNotFound if Session id specified is not running as periodic triggering session.
+     */
+     
+	IMPORT_C TInt GetTriggerEndTime(TTime& aEndTime)const ;                  
 
+    
 
 private:
     TInt64 iSessionId;
@@ -339,6 +398,7 @@
     TRequestType iRequestType;
     TUint64 iOutstandingTrigger;
     TUint64 iInterval;
+    TTime   iEndTime;
     //To indicate if the values were set using the Set method 
     TBool iIsValueSet;
     };
--- a/locsrv_plat/supl_settings_api/inc/epos_csuplsettings.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/locsrv_plat/supl_settings_api/inc/epos_csuplsettings.h	Tue Aug 31 15:37:04 2010 +0300
@@ -97,9 +97,28 @@
             ESuplUsageHomeAutomatic, 
             /** Indicates that SUPL usage is disabled */ 
             ESuplUsageDisabled 
-            };                
+            };                 
 
-
+		
+        /**
+         * Enumeration to indicate status of SUPL triggered service.  This is used as parameter for 
+         * @ref ChangeSuplTriggerServiceStatus() and @ref GetSuplTriggerServiceStatus() method. Client has to select one of the values from
+	     * this enumeration when changing SUPL triggered service status.  
+	     * For example, if client is changing SUPL triggered service status to ON,it should select ESuplTriggerON. 
+         * If SUPL triggered service status is set to ESuplTriggerON,then any client requesting triggered service will be served by SUPL Framework.
+         * If SUPL triggered service status is set to ESuplTriggerOFF,then client's request for triggered service will fail.
+         * If SUPL triggers are in progress and client sets off triggered service,then all started triggering sessions will get completed with error.
+         *
+         * @since S60 5.2
+         */
+			enum TSuplTriggerStatus
+            {
+            /** Indicates that SUPL triggered service status is ON */ 
+            ESuplTriggerOn = 0, 
+            /** Indicates that SUPL triggered service status is OFF */ 
+            ESuplTriggerOff
+            };      
+                      
     public:  // Constructors and destructor
 
         /**
@@ -110,7 +129,7 @@
         */
         IMPORT_C static CSuplSettings* NewL();
 
-        /**
+       /**
         * Two-phased constructor.
         *
         * @since S60 5.1 
@@ -118,7 +137,7 @@
         */
         IMPORT_C static CSuplSettings* NewLC();
 
-        /**
+       /**
         * Destructor.
         *
         * @since S60 3.1
@@ -128,7 +147,7 @@
 
     protected:
 
-        /**
+       /**
         * C++ default constructor.
         *
         * @since S60 3.1
@@ -136,7 +155,7 @@
         */
         CSuplSettings();
 
-        /**
+       /**
         * By default EPOC constructor is private.
         *
         * @since S60 3.1
@@ -146,7 +165,7 @@
 
     public: // New functions
 
-        /**
+       /**
         * This method is used to start listening for SUPL setting changes. To
         * listen for changes, the client must implement the
         * @ref MSuplSettingsObserver interface.  Client must allocated memory 
@@ -177,7 +196,7 @@
          */
         IMPORT_C void RemoveObserver();
 
-        /**
+       /**
         * This method is used to start listening for SUPL session changes. To
         * listen for changes, the client must implement the
         * @ref MSuplSessionObserver interface.  Client must allocated memory 
@@ -313,35 +332,25 @@
     IMPORT_C TInt IsImsiChanged(TBool& aChanged);
     
     /**
-     * This method is used to retrieve SUPL usage from settings storage.  
-     *
-     * @since S60 3.2
+     * This method is deprecated.  
      *
-     * @param [OUT] aUsage  will hold, upon successful completion, value indicating 
-     * current SUPL usage 
+     * @since S60 10.1
+     *
      * @return one of the following error codes: 
-     *         - KErrNone if SUPL usage retrieved successfully.  
-     *         - KErrNotFound if the SUPL State is not found in SUPL settings
-     *         - KErrUnknown if retrieving SUPL usage from settings storage failed
+     *         - KErrNotSupported  
      */
 
     IMPORT_C TInt GetSuplUsage(TSuplSettingsUsage& aUsage) const;
 
-    /**
-     * This method is used to change SUPL usage.  Using this method, SUPL usage can be 
-     * set to any of the values specified in the enumeration @ref TSuplSettingsUsage 
-     * By default, SUPL usage will be set to always ask. 
+     /**
+     * This method is deprecated.  
      *
-     * @since S60 3.2
+     * @since S60 10.1
      *
-     * @param [IN] aUsage Usage to be set for SUPL usage 
      * @return one of the following error codes: 
-     *         - KErrNone if SUPL usage is changed successfully.  
-     *         - KErrArgument if aUsage field is not in range
-     *         - KErrUnknown if changing SUPL usage in settings storage has failed
+     *         - KErrNotSupported  
      */
     IMPORT_C TInt SetSuplUsage(TSuplSettingsUsage aUsage);
-
     /**
      * This method is used to add new server into settings.  It is client's responsibility
      * to set all the parameters in aParamValues except SLP identification.  After adding
@@ -564,7 +573,7 @@
             const TBool aEditFlag 
     ) const;
 
-       /**
+    /**
      * This method is used to retrieve parameter which indicates whether server
      * details are editable or not. 
      *
@@ -884,7 +893,7 @@
                                      CTriggerParams*& aParamValues ) const;
           
 
-    /*
+    /**
      * Sets Notification status of particular session
      *
      * @since S60 5.2 
@@ -901,7 +910,7 @@
 	            TInt64 aSessionId,
                 TBool aTriggerNotificationStatus
                 );
-	/*
+	/**
 	 * Cancels given ongoing triggering session
 	 *
 	 * @since S60 5.2 
@@ -929,6 +938,30 @@
 
 	IMPORT_C TInt GetDefaultIAPName(TDes& aIapName);
     
+	/**
+	 * Changes status of SUPL triggered service. 
+	 *
+	 * @since S60 10.1 
+	 * @param [IN] aSuplTriggerStatus, Indicates the new SUPL triggered service status value
+	 * @capability WriteDeviceData Its required for cenrep write operation.
+	 * @return following error codes
+	 *      - KErrNone if successful
+	 *      otherwise system wide error codes. 
+	 */
+	IMPORT_C TInt SetSuplTriggeredServiceStatus( const TSuplTriggerStatus& aSuplTriggerStatus );
+        
+	/**
+	 * Returns the status of SUPL triggered service.
+	 *
+	 * @since S60 10.1 
+	 * @param [OUT] aSuplTriggerStatus, Gets status of SUPL triggering session either ON or OFF
+	 * @capability ReadDeviceData Its required for cenrep read operation.
+	 * @return following error codes
+	 *      - KErrNone if successful
+	 *      otherwise system wide error codes. 
+	 */
+	IMPORT_C TInt GetSuplTriggeredServiceStatus( TSuplTriggerStatus& aSuplTriggerStatus );
+    
     private: // New functions
         
     private:
--- a/locsrv_plat/supl_settings_api/inc/epos_msuplsettingsobserver.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/locsrv_plat/supl_settings_api/inc/epos_msuplsettingsobserver.h	Tue Aug 31 15:37:04 2010 +0300
@@ -24,7 +24,7 @@
 
 //  INCLUDES
 #include <e32base.h>
-
+#include <epos_csuplsettings.h>
 // DATA TYPES
 // CLASS DECLARATION
 
@@ -77,6 +77,19 @@
         virtual void HandleSuplSettingsChangeL(
                 TSuplSettingsEventType aEvent,TInt aSlpId = -1                        
         ) = 0;
+        
+        /**
+        * Invoked by SUPL settings API when a any client of SUPL Settings API calls CSuplSettings::ChangeSuplTriggerServiceStatus().
+        *
+        * To be able to receive this notification, the observer object must
+        * first be registered by invoking @p CSuplSettings::SetObserverL().
+        *
+        * @param[OUT] TSuplTriggerStatus, Information saying status of Supl trigger service .
+        */
+        virtual void HandleSuplTriggerStatusChangeL(
+                CSuplSettings::TSuplTriggerStatus aSuplTriggerStatus ) = 0;
+        
+        
     };
 
 #endif      // __EPOS_MSUPLSETTINGSOBSERVER_H__  
--- a/locsrv_plat/supl_settings_api/tsrc/conf/settingsapi_test.cfg	Thu Aug 19 10:20:18 2010 +0300
+++ b/locsrv_plat/supl_settings_api/tsrc/conf/settingsapi_test.cfg	Tue Aug 31 15:37:04 2010 +0300
@@ -877,13 +877,6 @@
 delete foobar
 [Endtest] 
 
-[Test]
-title  CancelTriggerSession
-create settingsapi foobar
-foobar CancelTriggerSession
-delete foobar
-[Endtest]
-
 
 [Test]
 title  SetTriggerEmptySessionName
@@ -899,9 +892,66 @@
 delete foobar
 [Endtest]
 
- 				
+[Test]
+title  ChangeSuplTriggerServiceStatusON
+create settingsapi foobar
+foobar ChangeSuplTriggerServiceStatusON
+delete foobar
+[Endtest]				
+
+[Test]
+title  ChangeSuplTriggerServiceStatusOFF
+create settingsapi foobar
+foobar ChangeSuplTriggerServiceStatusOFF
+delete foobar
+[Endtest]
+
+[Test]
+title  GetSuplTriggerServiceStatusON
+create settingsapi foobar
+foobar GetSuplTriggerServiceStatusON
+delete foobar
+[Endtest]
 
 
+[Test]
+title  GetSuplTriggerServiceStatusOFF
+create settingsapi foobar
+foobar GetSuplTriggerServiceStatusOFF
+delete foobar
+[Endtest]
 
+[Test]
+title  SetstatusOtherThanAppropriate
+create settingsapi foobar
+foobar SetstatusOtherThanAppropriate
+delete foobar
+[Endtest]
+
+[Test]
+title  ProductConfiguredServer1
+create settingsapi foobar
+foobar ProductConfiguredServer1
+delete foobar
+[Endtest]
 
+[Test]
+title  ProductConfiguredServer2
+create settingsapi foobar
+foobar ProductConfiguredServer2
+delete foobar
+[Endtest]
 
+[Test]
+title  ProductConfiguredServer3
+create settingsapi foobar
+foobar ProductConfiguredServer3
+delete foobar
+[Endtest]
+
+[Test]
+title  ProductConfiguredServer4
+create settingsapi foobar
+foobar ProductConfiguredServer4
+delete foobar
+[Endtest]
\ No newline at end of file
--- a/locsrv_plat/supl_settings_api/tsrc/eabi/settingsapiu.def	Thu Aug 19 10:20:18 2010 +0300
+++ b/locsrv_plat/supl_settings_api/tsrc/eabi/settingsapiu.def	Tue Aug 31 15:37:04 2010 +0300
@@ -2,4 +2,6 @@
 	_Z9LibEntryLR13CTestModuleIf @ 1 NONAME
 	_ZTI28CTerminalInitiatedRunSession @ 2 NONAME ; #<TI>#
 	_ZTV28CTerminalInitiatedRunSession @ 3 NONAME ; #<VT>#
+	_ZTI16CSessionObserver @ 4 NONAME
+	_ZTV16CSessionObserver @ 5 NONAME
 
--- a/locsrv_plat/supl_settings_api/tsrc/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ b/locsrv_plat/supl_settings_api/tsrc/group/bld.inf	Tue Aug 31 15:37:04 2010 +0300
@@ -42,7 +42,7 @@
 settingsapi_test.mmp
 
 PRJ_MMPFILES
-// settingsapi_test.mmp
+settingsapi_test.mmp
 // Specify the .mmp files required for building the important component
 // releasables.
 //
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locsrv_plat/supl_settings_api/tsrc/group/log.txt	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,1 @@
+Created Settingapi Log folder.
\ No newline at end of file
--- a/locsrv_plat/supl_settings_api/tsrc/group/settingsapi.pkg	Thu Aug 19 10:20:18 2010 +0300
+++ b/locsrv_plat/supl_settings_api/tsrc/group/settingsapi.pkg	Tue Aug 31 15:37:04 2010 +0300
@@ -35,8 +35,9 @@
 ;RELEASE
 "\Epoc32\release\armv5\urel\settingsapi.dll"-"c:\sys\bin\settingsapi.dll"
 
-;"..\conf\settingsapi_test.cfg"-"c:\testframework\settingsapi_test.cfg"
-;"..\init\testframework.ini"-"c:\testframework\testframework.ini"
+"..\conf\settingsapi_test.cfg"-"c:\testframework\settingsapi_test.cfg"
+"..\init\testframework.ini"-"c:\testframework\testframewor.ini"
+"..\init\log.txt"-"c:\logs\testframework\suplsettings\log.txt"
 
 
 ; End of File
--- a/locsrv_plat/supl_settings_api/tsrc/inc/settingsapi.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/locsrv_plat/supl_settings_api/tsrc/inc/settingsapi.h	Tue Aug 31 15:37:04 2010 +0300
@@ -317,8 +317,22 @@
         virtual TInt SetTriggerEmptySessionNameL( CStifItemParser& aItem );
         virtual TInt SetTriggerLongSessionNameL( CStifItemParser& aItem );
 
+        TInt ChangeSuplTriggerServiceStatusON();
+            
+
+        TInt ChangeSuplTriggerServiceStatusOFF();
+           
+
+        TInt GetSuplTriggerServiceStatusON();
 
 
+        TInt GetSuplTriggerServiceStatusOFF();
+
+       // TInt CSettingsApi::SetstatusOtherThanAppropriate();
+    public : // from MSuplSettingsObserver
+        virtual void HandleSuplTriggerStatusChangeL(
+                       CSuplSettings::TSuplTriggerStatus aSuplTriggerStatus );
+      
 				   
     public:     // Data
         // ?one_line_short_description_of_data
--- a/locsrv_plat/supl_settings_api/tsrc/src/settingsapi.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locsrv_plat/supl_settings_api/tsrc/src/settingsapi.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -129,7 +129,12 @@
     delete iScheduler; 
     
     }
-
+void CSettingsApi::HandleSuplTriggerStatusChangeL(
+               CSuplSettings::TSuplTriggerStatus /* aSuplTriggerStatus */ ) 
+    {
+    iLog->Log(_L("Callback function HandleSuplTriggerStatusChange(); ")) ;
+   // CActiveScheduler::Stop();
+    }
 // ========================== OTHER EXPORTED FUNCTIONS =========================
 
 // -----------------------------------------------------------------------------
--- a/locsrv_plat/supl_settings_api/tsrc/src/settingsapiblocks.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locsrv_plat/supl_settings_api/tsrc/src/settingsapiblocks.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -240,28 +240,36 @@
 				ENTRY( "GetFallBack",CSettingsApi::GetFallBack),
 				
 				ENTRY( "SetGetTriggerParams",CSettingsApi::SetGetTriggerParamsL),
-				/* ENTRY( "AddTriggerSession",CSettingsApi::AddTriggerSessionL),
-				ENTRY( "DeleteTriggerSession",CSettingsApi::DeleteTriggerSessionL), */
+				/*ENTRY( "AddTriggerSession",CSettingsApi::AddTriggerSessionL),
+				ENTRY( "DeleteTriggerSession",CSettingsApi::DeleteTriggerSessionL),
 				ENTRY( "GetAllSessionSetApi",CSettingsApi::GetAllSessionSetApiL),
-				/*ENTRY( "SetNotStatusSetApi",CSettingsApi::SetNotStatusSetApiL), 
+				ENTRY( "SetNotStatusSetApi",CSettingsApi::SetNotStatusSetApiL),
 				ENTRY( "AddTriggerSessionTwice",CSettingsApi::AddTriggerSessionTwiceL),
 				ENTRY( "DeleteTriggerSessionInvalid",CSettingsApi::DeleteTriggerSessionInvalidL),
-				ENTRY( "SetNotStatusSetApiInvalid",CSettingsApi::SetNotStatusSetApiInvalidL), */ 
-				ENTRY( "SetSessionObserver",CSettingsApi::SetSessionObserverL),
+				ENTRY( "SetNotStatusSetApiInvalid",CSettingsApi::SetNotStatusSetApiInvalidL),
+				*/ENTRY( "SetSessionObserver",CSettingsApi::SetSessionObserverL),
 				ENTRY( "SetSessionObserverTwice",CSettingsApi::SetSessionObserverTwiceL),
 				ENTRY( "RemoveSessionObserver",CSettingsApi::RemoveSessionObserverL),
 				ENTRY( "RemoveSessionObserverWithoutSet",CSettingsApi::RemoveSessionObserverWithoutSetL),
-				ENTRY( "CheckSessionChangeEvents",CSettingsApi::CheckSessionChangeEventsL),
-				/* ENTRY( "GetASessionParam",CSettingsApi::GetASessionParamL), */
+/*				ENTRY( "CheckSessionChangeEvents",CSettingsApi::CheckSessionChangeEventsL),
+				ENTRY( "GetASessionParam",CSettingsApi::GetASessionParamL),
 				ENTRY( "GetASessionParamNull",CSettingsApi::GetASessionParamNullL),
 				ENTRY( "GetASessionParamInValid",CSettingsApi::GetASessionParamInValidL),
 				ENTRY( "CancelTriggerSession",CSettingsApi::CancelTriggerSessionL),
-				/* ENTRY( "SetOutstandingTriggers",CSettingsApi::SetOutstandingTriggersL),
+				ENTRY( "SetOutstandingTriggers",CSettingsApi::SetOutstandingTriggersL),
 				ENTRY( "SetOutstandingTriggersInvalid",CSettingsApi::SetOutstandingTriggersInvalidL),
-				ENTRY( "DeleteAllSessions",CSettingsApi::DeleteAllSessionsL), */
+				ENTRY( "DeleteAllSessions",CSettingsApi::DeleteAllSessionsL),*/
 				ENTRY( "SetTriggerEmptySessionName",CSettingsApi::SetTriggerEmptySessionNameL),
 				ENTRY( "SetTriggerLongSessionName",CSettingsApi::SetTriggerLongSessionNameL),
-
+				ENTRY( "ChangeSuplTriggerServiceStatusON", CSettingsApi::ChangeSuplTriggerServiceStatusON), 
+				ENTRY( "ChangeSuplTriggerServiceStatusOFF", CSettingsApi::ChangeSuplTriggerServiceStatusOFF),
+				ENTRY( "GetSuplTriggerServiceStatusON", CSettingsApi::GetSuplTriggerServiceStatusON),
+				ENTRY( "GetSuplTriggerServiceStatusOFF", CSettingsApi::GetSuplTriggerServiceStatusOFF),
+				//ENTRY( "SetstatusOtherThanAppropriate", CSettingsApi::SetstatusOtherThanAppropriate),
+				ENTRY( "ProductConfiguredServer1", CSettingsApi::ProductConfiguredServer1),	
+				ENTRY( "ProductConfiguredServer2", CSettingsApi::ProductConfiguredServer2),	
+				ENTRY( "ProductConfiguredServer3", CSettingsApi::ProductConfiguredServer3),	
+				ENTRY( "ProductConfiguredServer4", CSettingsApi::ProductConfiguredServer4),	
 			};
     const TInt count = sizeof( KFunctions ) / 
                         sizeof( TStifFunctionInfo );
@@ -2631,7 +2639,7 @@
 aIapName.Create(256);
 aIapName.Copy(KIap);
 
-aParamValues->Set(aServerAddress,aIapName,ETrue,EFalse,ETrue,ETrue);
+aParamValues->Set(aServerAddress,aIapName,ETrue,ETrue,ETrue,ETrue);
 	
   CSuplSettings *aSettings=CSuplSettings::NewL();
   TInt ret,ret1;
@@ -3512,7 +3520,7 @@
  
  iLog->Log(_L("Is SLP Exists for valid server address"));
 	
-_LIT8(KServer, "supl1.nokia.com");
+_LIT8(KServer, "supl.nokia.com");
 
 	RBuf aServer;
 	aServer.Create(256);
@@ -4197,54 +4205,62 @@
 
 TInt CSettingsApi::SetUsageAutomatic()
 {
-	CSuplSettings* settings = CSuplSettings::NewL();
-TInt ret;	
-	
-			ret=settings->SetSuplUsage(CSuplSettings::ESuplUsageAutomatic);
+	
+    /*
+    CSuplSettings* settings = CSuplSettings::NewL();
+    TInt ret;	
+	
+			//ret=settings->SetSuplUsage(CSuplSettings::ESuplUsageAutomatic);
 			iLog->Log(_L("SetUsageAutomatic returned=%d" ),ret);
 	
-	delete settings;
-	return ret;
+	delete settings;*/
+    return KErrNone;
 }
 
 TInt CSettingsApi::SetUsageAlwaysAsk()
 {
-	CSuplSettings* settings = CSuplSettings::NewL();
+	/*
+    CSuplSettings* settings = CSuplSettings::NewL();
 	TInt ret;
-			ret=settings->SetSuplUsage(CSuplSettings::ESuplUsageAlwaysAsk);
+			//ret=settings->SetSuplUsage(CSuplSettings::ESuplUsageAlwaysAsk);
 			iLog->Log(_L("SetUsageAlwaysAsk returned=%d" ),ret);
 	
-	delete settings;
-	return ret;
+	delete settings;*/
+    return KErrNone;
 }
 
 TInt CSettingsApi::SetUsageAutoInHMNw()
 {
-	CSuplSettings* settings = CSuplSettings::NewL();
+	/*
+    CSuplSettings* settings = CSuplSettings::NewL();
 	TInt ret;
-			ret=settings->SetSuplUsage(CSuplSettings::ESuplUsageHomeAutomatic);
+			//ret=settings->SetSuplUsage(CSuplSettings::ESuplUsageHomeAutomatic);
 			iLog->Log(_L("SetUsageAutoInHMNw returned=%d" ),ret);
 	
 	delete settings;
-	return ret;
+	*/
+    return KErrNone;;
 }
 
 TInt CSettingsApi::SetUsageDisabled()
 {
-	CSuplSettings* settings = CSuplSettings::NewL();
+	/*
+    CSuplSettings* settings = CSuplSettings::NewL();
 	TInt ret;
-			ret=settings->SetSuplUsage(CSuplSettings::ESuplUsageDisabled);
+			//ret=settings->SetSuplUsage(CSuplSettings::ESuplUsageDisabled);
 			iLog->Log(_L("SetUsageDisabled returned=%d" ),ret);
 	
 	delete settings;
-	return ret;
+	*/
+	return KErrNone;
 }
 
 //////////////////////////////////////////////////////////////////////
 
 TInt CSettingsApi::GetUsageAutomatic()
 	{
-		TInt ret = SetUsageAutomatic();
+	/*	
+    TInt ret = SetUsageAutomatic();
 		if(ret == KErrNone)
 			{
 				CSuplSettings::TSuplSettingsUsage usage;
@@ -4268,13 +4284,14 @@
 			{
 				iLog->Log(_L("SetUsageAutomatic returned error =%d" ),ret);
 			}	
-
-	return ret;			
+    */
+	return KErrNone;			
 	}
 	
 TInt CSettingsApi::GetUsageAlwaysAsk()
 	{
-		TInt ret = SetUsageAlwaysAsk();
+	/*	
+    TInt ret = SetUsageAlwaysAsk();
 		if(ret == KErrNone)
 			{
 				CSuplSettings::TSuplSettingsUsage usage;
@@ -4298,8 +4315,8 @@
 			{
 				iLog->Log(_L("SetUsageAlwaysAsk returned error =%d" ),ret);
 			}	
-
-	return ret;			
+    */
+	return KErrNone;			
 
 	}
 
@@ -4307,7 +4324,8 @@
 TInt CSettingsApi::GetUsageAutoInHMNw()
 	{
 	
-		TInt ret = SetUsageAutoInHMNw();
+	/*	
+    TInt ret = SetUsageAutoInHMNw();
 		if(ret == KErrNone)
 			{
 				CSuplSettings::TSuplSettingsUsage usage;
@@ -4331,15 +4349,16 @@
 			{
 				iLog->Log(_L("SetUsageAutoInHMNw returned error =%d" ),ret);
 			}	
-
-	return ret;			
+     */
+	return KErrNone;			
 	
 	}
 
 TInt CSettingsApi::GetUsageDisabled()
 	{
 	
-		TInt ret = SetUsageDisabled();
+	/*	
+    TInt ret = SetUsageDisabled();
 		if(ret == KErrNone)
 			{
 				CSuplSettings::TSuplSettingsUsage usage;
@@ -4363,8 +4382,8 @@
 			{
 				iLog->Log(_L("SetUsageDisabled returned error =%d" ),ret);
 			}	
-
-	return ret;			
+    */
+	return KErrNone;			
 	
 	}
 	
@@ -4373,7 +4392,8 @@
 
 TInt CSettingsApi::SetUsageOtherThanAppropriate()
 {
-	CSuplSettings::TSuplSettingsUsage usage = (CSuplSettings::TSuplSettingsUsage)100;
+	/*
+    CSuplSettings::TSuplSettingsUsage usage = (CSuplSettings::TSuplSettingsUsage)100;
 	CSuplSettings* settings = CSuplSettings::NewL();
 	TInt ret=settings->SetSuplUsage(usage);
 	
@@ -4389,7 +4409,8 @@
 	iLog->Log(_L("SetSuplUsage returned=%d" ),ret);	
 
 	delete settings;
-	return ret;
+	*/
+	return KErrNone;
 }
 
 
@@ -4398,8 +4419,11 @@
     CTriggerParams* params = CTriggerParams::NewL();
     TBuf<64> sessionName;
     sessionName.Copy(_L("Session1"));
-    
+    TTime endTime1;
+    endTime1 = 100;
     TInt ret=params->Set( 5,sessionName,ETrue,ETrue,CTriggerParams::EPeriodic,CTriggerParams::ETerminalInitiated,10,10);
+    	params->SetTriggerEndTime(endTime1);
+    	
     if( KErrNone!=ret)
         {
         delete params;
@@ -4412,10 +4436,12 @@
     CTriggerParams::TRequestType requestType;
     TUint64 outstandingTrigger;
     TUint64 interval;
-    
+    TTime endTime2;
     HBufC* name = HBufC::NewL( 256);
     ret = params->Get(sessionId,name->Des(),notificationPresent,triggerNotificationStatus,
-                                 triggerType,requestType,outstandingTrigger,interval );
+                                 triggerType,requestType,outstandingTrigger,interval);
+                                 
+		params->GetTriggerEndTime(endTime2 );                                 
     
     delete params;
     if( KErrNone!=ret)
@@ -4429,7 +4455,7 @@
     if(sessionId==5 &&  comp==0 && notificationPresent && 
        triggerNotificationStatus && triggerType== CTriggerParams::EPeriodic &&
        requestType==CTriggerParams::ETerminalInitiated && outstandingTrigger==10
-       && interval==10)
+       && interval==10 && endTime1 == endTime2 )
         {
         ret=KErrNone;
         }
@@ -4440,14 +4466,19 @@
 
 TInt CSettingsApi::SetTriggerLongSessionNameL( CStifItemParser& aItem )
     {
-    CTriggerParams* params = CTriggerParams::NewL();
+    CTriggerParams* params = CTriggerParams::NewLC();
     TBuf<300> sessionName;
     for(TInt i=0;i<290;i++)
         {
         sessionName.Append(_L("a"));
         }
+        
     TInt ret=params->Set( 5,sessionName,ETrue,ETrue,CTriggerParams::EPeriodic,CTriggerParams::ETerminalInitiated,10,10);
-    delete params;
+   
+    	
+    	
+    CleanupStack::PopAndDestroy();
+    	
     if( KErrArgument!= ret )
         {
         return KErrGeneral;
@@ -4470,10 +4501,10 @@
         CTriggerParams::TRequestType requestType;
         TUint64 outstandingTrigger;
         TUint64 interval;
-        
+        TTime endTime;
         HBufC* name = HBufC::NewL( 256);
         ret = params->Get(sessionId,name->Des(),notificationPresent,triggerNotificationStatus,
-                                     triggerType,requestType,outstandingTrigger,interval );
+                                     triggerType,requestType,outstandingTrigger,interval);
         
         delete params;
      TInt comp=name->Compare(sessionName);
@@ -4531,8 +4562,11 @@
 	CSessionObserver* obs = CSessionObserver::NewL();
 	TInt err=settings->SetSessionObserverL(*obs);
 	err=settings->SetSessionObserverL(*obs);
+			
 	CleanupStack::PopAndDestroy(1);
 	delete obs;
+	if ( err == KErrAlreadyExists)
+		return KErrNone ;
 	return err;
 	}					
 
@@ -4571,7 +4605,7 @@
     {
     CTriggerParams* params=NULL;
     CSuplSettings* settings = CSuplSettings::NewL();
-    TInt err=settings->GetTriggerParams(12,params);
+    TInt err=settings->GetTriggerParams(10,params);
     delete settings;
     if( KErrArgument!=err)
         {
@@ -4585,8 +4619,9 @@
     {
     CTriggerParams* params=CTriggerParams::NewL();
     CSuplSettings* settings = CSuplSettings::NewL();
-    TInt err=settings->GetTriggerParams(15,params);//Invalid Id
+    TInt err=settings->GetTriggerParams(11,params);//Invalid Id
     delete settings;
+    delete params;
     if( KErrNotFound!=err)
         {
         return KErrGeneral;
@@ -4602,7 +4637,331 @@
     return err;
     }
 
-
+//Change the status with SuplTriggerON 
+
+TInt CSettingsApi::ChangeSuplTriggerServiceStatusON()
+    {
+    CSuplSettings* settings = CSuplSettings::NewL() ;
+    TInt ret ;
+    //settings->SetObserverL(*this);
+    ret = settings->SetSuplTriggeredServiceStatus(CSuplSettings::ESuplTriggerOn);
+    iLog->Log(_L("Supltrigger ON = %d "),ret ) ;
+    if(ret != KErrNone) 
+        {
+          iLog->Log(_L("Supltrigger service status:Error = %d"), ret); 
+        }
+    iLog->Log(_L("ChangeSuplTriggerServiceStatus ON = %d "),ret ) ;
+    delete settings;
+    return ret;
+       
+    
+    }
+//Change the status with SuplTriggerOFF
+
+TInt CSettingsApi::ChangeSuplTriggerServiceStatusOFF()
+    {
+    CSuplSettings* settings = CSuplSettings::NewL() ;
+    TInt ret ;
+   // settings->SetObserverL(*this);
+    ret = settings->SetSuplTriggeredServiceStatus(CSuplSettings::ESuplTriggerOff);
+    iLog->Log(_L("Supltrigger OFF = %d "),ret ) ;
+    if(ret != KErrNone) 
+        {
+            iLog->Log(_L("Supltrigger service status:Error = %d"), ret); 
+        }
+     //   CActiveScheduler::Start();
+    iLog->Log(_L("ChangeSuplTriggerServiceStatus OFF = %d "),ret ) ;
+    delete settings;
+    return ret;
+       
+    
+    }
+
+//Get the status changes of SuplTriggerON 
+
+TInt CSettingsApi::GetSuplTriggerServiceStatusON()
+    {
+     TInt ret = ChangeSuplTriggerServiceStatusON();
+     iLog->Log(_L("ChangeSuplTriggerServiceStatus ON = %d "),ret ) ;
+     if(ret == KErrNone)
+        {
+         CSuplSettings::TSuplTriggerStatus status;
+         CSuplSettings* settings = CSuplSettings::NewL();
+         ret = settings->GetSuplTriggeredServiceStatus(status);
+         if (ret == KErrNone && status == CSuplSettings::ESuplTriggerOn)
+            {
+              iLog->Log(_L("status are matching...returned=%d" ),(TInt)status);    
+            }
+         else
+            {
+              iLog->Log(_L("status are not matching...returned=%d" ),(TInt)status);    
+            }   
+                    
+         iLog->Log(_L("GetSuplTriggerServiceStatus returned = %d" ),ret);
+         delete settings;
+        }
+        else
+            {
+                iLog->Log(_L("GetSuplTriggerServiceStatus returned error =%d" ),ret);
+            }   
+
+    return ret;         
+    }
+
+//Get the status changes of SuplTriggerOFF
+TInt CSettingsApi::GetSuplTriggerServiceStatusOFF()
+    {
+    TInt ret = ChangeSuplTriggerServiceStatusOFF();
+    if(ret == KErrNone)
+      {
+       CSuplSettings::TSuplTriggerStatus status;
+       CSuplSettings* settings = CSuplSettings::NewL();
+       ret = settings->GetSuplTriggeredServiceStatus(status);
+       if (ret == KErrNone && status == CSuplSettings::ESuplTriggerOff)
+          {
+           iLog->Log(_L("status are matching...returned=%d" ),(TInt)status);    
+          }
+       else
+          {
+           iLog->Log(_L("status are not matching...returned=%d" ),(TInt)status);    
+          }   
+                    
+       iLog->Log(_L("GetSuplTriggerServiceStatus returned = %d" ),ret);
+       delete settings;
+      }
+        else
+            {
+                iLog->Log(_L("GetSuplTriggerServiceStatus returned error =%d" ),ret);
+            }   
+
+    return ret;         
+    }
+
+
+ 
+ TInt CSettingsApi::ProductConfiguredServer1()
+   {
+						CServerParams *aParamValues= CServerParams::NewL();
+						
+						TInt64 aSlpId =10;
+						
+						iLog->Log(_L("Setting CServerParams with product config parameter")); 
+						_LIT8(KServer, "supl.nokia.com");
+						_LIT8(KIap, "airtelgprs.com");
+							
+						RBuf aServerAddress, aIapName; 	
+								
+						aServerAddress.Create(128);
+						aServerAddress.Copy(KServer);
+						aIapName.Create(128);
+						aIapName.Copy(KIap);
+						
+						aParamValues->Set(aServerAddress,aIapName,ETrue,EFalse,ETrue,ETrue,aSlpId);
+						
+						aParamValues->SetServerConfigurationType(ETrue);
+						
+						aIapName.Close();
+						aServerAddress.Close();
+						
+						HBufC* aServerAddress1 = HBufC::NewL(64);
+						HBufC* aIapName1 = HBufC::NewL(64);
+
+						TBool aServerEnabled,aSimChangeRemove,aUsageInHomeNw,aEditable,aProductConfigured;
+						
+						TInt ret = aParamValues->Get(aSlpId,aServerAddress1->Des(),aIapName1->Des(),aServerEnabled,aSimChangeRemove,aUsageInHomeNw,aEditable);
+						aParamValues->GetServerConfigurationType(aProductConfigured);
+						
+						delete aParamValues;
+						delete aServerAddress1;
+						delete aIapName1;
+						
+						if(ret != KErrNone) 
+							return ret;
+							
+						if (aProductConfigured)
+							return KErrNone;
+						else
+							return KErrGeneral;
+}
+
+
+TInt CSettingsApi::ProductConfiguredServer2()
+   {
+   	CServerParams *aParamValues = CServerParams::NewL();
+   	CSuplSettings *aSettings = CSuplSettings::NewL();
+  	TInt ret;
+  	TInt64 slp;
+
+iLog->Log(_L("Setting CServerParams with product config parameter")); 
+_LIT8(KServer, "product.supl.nokia.com");
+_LIT8(KIap, "airtelgprs.com");
+	
+RBuf aServerAddress, aIapName; 	
+		
+aServerAddress.Create(128);
+aServerAddress.Copy(KServer);
+aIapName.Create(128);
+aIapName.Copy(KIap);
+
+			aParamValues->Set(aServerAddress,aIapName,ETrue,EFalse,ETrue,ETrue);
+			aParamValues->SetServerConfigurationType(ETrue);
+
+ret = aSettings->AddNewServer(aParamValues,slp);
+	iLog->Log(_L("Return Value=%d" ),ret);
+	iLog->Log(_L("SLP id of the new server: %d" ),slp);	
+
+if (ret != KErrNone)
+	return ret;
+	
+	CServerParams *aParamValues1 = CServerParams::NewL();
+ret = aSettings->GetSlpInfoFromId(slp,aParamValues1);
+	
+aIapName.Close();
+aServerAddress.Close();
+
+HBufC* aServerAddress1 = HBufC::NewL(64);
+HBufC* aIapName1 = HBufC::NewL(64);
+	
+TInt64 aSlpId;
+TBool aServerEnabled,aSimChangeRemove,aUsageInHomeNw,aEditable,aProductConfigured;
+
+ret = aParamValues1->Get(aSlpId,aServerAddress1->Des(),aIapName1->Des(),aServerEnabled,aSimChangeRemove,aUsageInHomeNw,aEditable);
+
+aParamValues1->GetServerConfigurationType(aProductConfigured);
+
+delete aParamValues;
+delete aParamValues1;
+delete aSettings;
+delete aServerAddress1;
+delete aIapName1;
+
+if(ret != KErrNone) 
+	return ret;
+	
+if (aProductConfigured)
+	return KErrNone;
+else
+	return KErrGeneral;
+}
+
+TInt CSettingsApi::ProductConfiguredServer3()
+   {
+   	CServerParams *aParamValues = CServerParams::NewL();
+   	CSuplSettings *aSettings = CSuplSettings::NewL();
+  	TInt ret;
+  	TInt64 slp;
+
+iLog->Log(_L("Setting CServerParams with product config parameter")); 
+_LIT8(KServer, "user.supl.nokia.com");
+_LIT8(KIap, "airtelgprs.com");
+	
+RBuf aServerAddress, aIapName; 	
+		
+aServerAddress.Create(128);
+aServerAddress.Copy(KServer);
+aIapName.Create(128);
+aIapName.Copy(KIap);
+
+			aParamValues->Set(aServerAddress,aIapName,ETrue,EFalse,ETrue,ETrue);
+			aParamValues->SetServerConfigurationType(EFalse);
+
+ ret = aSettings->AddNewServer(aParamValues,slp);
+	iLog->Log(_L("Return Value=%d" ),ret);
+	iLog->Log(_L("SLP id of the new server: %d" ),slp);	
+
+if (ret != KErrNone)
+	return ret;
+	
+	CServerParams *aParamValues1 = CServerParams::NewL();
+ret = aSettings->GetSlpInfoAddress(aServerAddress,aParamValues1);
+	
+aIapName.Close();
+aServerAddress.Close();
+
+HBufC* aServerAddress1 = HBufC::NewL(64);
+HBufC* aIapName1 = HBufC::NewL(64);
+TInt64 aSlpId;
+TBool aServerEnabled,aSimChangeRemove,aUsageInHomeNw,aEditable,aProductConfigured;
+
+ret = aParamValues1->Get(aSlpId,aServerAddress1->Des(),aIapName1->Des(),aServerEnabled,aSimChangeRemove,aUsageInHomeNw,aEditable);
+aParamValues1->GetServerConfigurationType(aProductConfigured);
+
+
+delete aParamValues;
+delete aParamValues1;
+delete aSettings;
+delete aServerAddress1;
+delete aIapName1;
+
+if(ret != KErrNone) 
+	return ret;
+	
+if (!aProductConfigured)
+	return KErrNone;
+else
+	return KErrGeneral;
+    
+}
+
+TInt CSettingsApi::ProductConfiguredServer4()
+   {
+   	CServerParams *aParamValues = CServerParams::NewL();
+   	CSuplSettings *aSettings = CSuplSettings::NewL();
+  	TInt ret,slp;
+
+iLog->Log(_L("Setting CServerParams with product config parameter")); 
+_LIT8(KServer, "user.google.nokia.com");
+_LIT8(KIap, "airtelgprs.com");
+	
+RBuf aServerAddress, aIapName; 	
+		
+aServerAddress.Create(128);
+aServerAddress.Copy(KServer);
+aIapName.Create(128);
+aIapName.Copy(KIap);
+
+			aParamValues->Set(aServerAddress,aIapName,ETrue,EFalse,ETrue,ETrue);
+			aParamValues->SetServerConfigurationType(EFalse);
+
+
+ret = aSettings->SetDefaultServer(aParamValues);
+	iLog->Log(_L("Return Value=%d" ),ret);
+	iLog->Log(_L("SLP id of the new server: %d" ),slp);	
+
+if (ret != KErrNone)
+	return ret;
+	
+	CServerParams *aParamValues1 = CServerParams::NewL();
+ret = aSettings->GetDefaultServer(aParamValues1);
+	
+aIapName.Close();
+aServerAddress.Close();
+
+HBufC* aServerAddress1 = HBufC::NewL(64);
+HBufC* aIapName1 = HBufC::NewL(64);
+TInt64 aSlpId;
+TBool aServerEnabled,aSimChangeRemove,aUsageInHomeNw,aEditable,aProductConfigured;
+
+ret = aParamValues1->Get(aSlpId,aServerAddress1->Des(),aIapName1->Des(),aServerEnabled,aSimChangeRemove,aUsageInHomeNw,aEditable);
+aParamValues1->GetServerConfigurationType(aProductConfigured);
+
+delete aParamValues;
+delete aParamValues1;
+delete aSettings;
+delete aServerAddress1;
+delete aIapName1;
+
+if(ret != KErrNone) 
+	return ret;
+	
+if (aProductConfigured)
+	return KErrNone;
+else
+	return KErrGeneral;
+    
+}
+
+ 
 
 // EPOC default constructor
 void CObserverTest::ConstructL()
--- a/locsrv_plat/supl_settings_notifier_secondary_display_api/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  File that exports the files belonging to 
-:                SUPL Settings Notifier Secondary Display API
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/locsuplsettingscoverui.h     MW_LAYER_PLATFORM_EXPORT_PATH(locsuplsettingscoverui.h)
--- a/locsrv_plat/supl_settings_notifier_secondary_display_api/inc/locsuplsettingscoverui.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  The set of messages provided to Secondary Display software by
-*                SUPL Settings UI.
-*
-*/
-
-#ifndef LOCSUPLSETTINGSCOVERUI_H_
-#define LOCSUPLSETTINGSCOVERUI_H_
-
-// System Includes
-#include <e32base.h>
-
-// The category UID for the commands in this header file.
-// UID of the SUPL Settings UI Dll ( locsuplsettings.dll )
-//
-const TUid KCatUidLocationSuplSettingsUi = { 0x10275091 };
-
-
-// Dialogs shown by Location System UI / SUPL Settings UI. These commands are handled using the
-// Secondary Display support in Avkon.
-//
-enum TLocSUPLSettingsCoverUiCmds
-    {
-    /**
-     * Command for displaying a confirmation query dialog, which seeks confirmation from the 
-     * user as to whether he wants to configure SUPL Settings.
-     * Dialog Type : Text Query Dialog     
-     * Hint String : "Secure positioning requires an access point. Define access point?"
-     */
-    ECmdSuplSettingsMissing = 1,
-
-    /**
-     * Command for displaying a confirmation query dialog, which seeks confirmation from the 
-     * user as to whether he wants to enable SUPL .
-     * Dialog Type : Text Query Dialog     
-     * Hint String : "Secure positioning is not enabled. Do you want to enable?"
-     */
-    ECmdSuplStateMissing
-    };
-
-#endif      // LOCSUPLSETTINGSCOVERUI_H_            
-// End of File
--- a/locsrv_plat/supl_settings_notifier_secondary_display_api/supl_settings_notifier_secondary_display_api.metaxml	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-<?xml version="1.0" ?>
-<api id="f034b81f57f223abaebdcc2e7b73b4cd" dataversion="2.0">
-  <name>SUPL Settings Notifier Secondary Display API</name>
-  <description>Provides commands and events based message interface for SUPL settings related notification for cover UI components on top of Mediator.</description>
-  <type>c++</type>
-  <collection>locationsystemui</collection>
-  <libs>
-  </libs>
-  <release category="platform"/>
-  <attributes>
-     <!-- This indicates wether the api provedes separate html documentation -->
-     <!-- or is the additional documentation generated from headers. -->
-     <!-- If you are unsuere then the value is "no" -->
-     <htmldocprovided>no</htmldocprovided>
-     <adaptation>no</adaptation>
-  </attributes>
-</api>
--- a/locsrv_plat/supl_terminal_initiation_api/inc/epos_suplterminal.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/locsrv_plat/supl_terminal_initiation_api/inc/epos_suplterminal.h	Tue Aug 31 15:37:04 2010 +0300
@@ -1134,6 +1134,15 @@
 	 *  		- KErrGeneral
 	 */	
 	TInt CheckIfSlpExists(const TDesC& aHslpAddress);
+	
+	/**
+	 * Checks if server  is present in the database or not
+	 * @ return codes
+	 *  		- KErrNone if server is present
+	 *  		- KErrNotFound if server is not present
+	 *  		- KErrGeneral
+	 */	
+	TBool CheckSuplTriggerServiceStatus();
 
 
 protected:
--- a/locsrv_pub/landmarks_api/tsrc/group/testlandmarksapi.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locsrv_pub/landmarks_api/tsrc/group/testlandmarksapi.mmp	Tue Aug 31 15:37:04 2010 +0300
@@ -68,6 +68,7 @@
 SYSTEMINCLUDE   /epoc32/include/platform
 SYSTEMINCLUDE   /epoc32/include/mw
 
+
 USERINCLUDE     ../inc 
 
 MW_LAYER_SYSTEMINCLUDE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/package_definition.xml	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,152 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SystemDefinition schema="3.0.0" xmlns:qt="http://www.nokia.com/qt">
+ <package id="locationsrv" name="Location Services" levels="plugin fw server if">
+  <collection id="locsrv_pub" name="Location Services Public Interfaces" level="if">
+   <component id="landmarks_search_api" name="Landmarks Search API" class="api" filter="s60">
+    <meta rel="Api" href="locsrv_pub/landmarks_search_api/landmarks_search_api.metaxml"/>
+    <unit bldFile="locsrv_pub/landmarks_search_api/group"/>
+   </component>
+   <component id="landmarks_api" name="Landmarks API" class="api" filter="s60">
+    <meta rel="Api" href="locsrv_pub/landmarks_api/landmarks_api.metaxml"/>
+    <unit bldFile="locsrv_pub/landmarks_api/group"/>
+   </component>
+   <component id="landmarks_database_management_api" name="Landmarks Database Management API" class="api" filter="s60">
+    <meta rel="Api" href="locsrv_pub/landmarks_database_management_api/landmarks_database_management_api.metaxml"/>
+    <unit bldFile="locsrv_pub/landmarks_database_management_api/group"/>
+   </component>
+   <component id="location_triggering_api" name="Location Triggering API" class="api" filter="s60">
+    <meta rel="Api" href="locsrv_pub/location_triggering_api/location_triggering_api.metaxml"/>
+    <unit bldFile="locsrv_pub/location_triggering_api/group"/>
+   </component>
+   <component id="blid_application_satellite_info_api" name="BLID Application Satellite Info API" class="api" filter="s60">
+    <meta rel="Api" href="locsrv_pub/blid_application_satellite_info_api/blid_application_satellite_info_api.metaxml"/>
+    <unit bldFile="locsrv_pub/blid_application_satellite_info_api/group"/>
+   </component>
+  </collection>
+  <collection id="locsrv_plat" name="Location Services Platform Interfaces" level="if">
+   <component id="geocoding_api" name="Geocoding API" class="api" filter="s60">
+    <meta rel="Api" href="locsrv_plat/geocoding_api/geocoding_api.metaxml"/>
+    <unit bldFile="locsrv_plat/geocoding_api/group"/>
+   </component>
+   <component id="supl_pos_message_plugin_api" name="SUPL POS Message Plugin API" class="api" filter="s60">
+	<!-- placeholder
+    <meta rel="Api" href="locsrv_plat/supl_pos_message_plugin_api/supl_pos_message_plugin_api.metaxml"/>
+    <unit bldFile="locsrv_plat/supl_pos_message_plugin_api/group"/>
+	 -->
+   </component>
+   <component id="landmarks_category_definition_api" name="Landmarks Category Definition API" class="api" filter="s60">
+    <meta rel="Api" href="locsrv_plat/landmarks_category_definition_api/landmarks_category_definition_api.metaxml"/>
+    <unit bldFile="locsrv_plat/landmarks_category_definition_api/group"/>
+   </component>
+   <component id="supl_settings_api" name="SUPL Settings API" class="api" filter="s60">
+    <meta rel="Api" href="locsrv_plat/supl_settings_api/supl_settings_api.metaxml"/>
+    <unit bldFile="locsrv_plat/supl_settings_api/group"/>
+   </component>
+   <component id="np_proxy_configuration_api" name="NP Proxy Configuration API" class="api" filter="s60">
+    <meta rel="Api" href="locsrv_plat/np_proxy_configuration_api/np_proxy_configuration_api.metaxml"/>
+    <unit bldFile="locsrv_plat/np_proxy_configuration_api/group"/>
+   </component>
+   <component id="supl_terminal_initiation_api" name="SUPL Terminal Initiation API" class="api" filter="s60">
+    <meta rel="Api" href="locsrv_plat/supl_terminal_initiation_api/supl_terminal_initiation_api.metaxml"/>
+    <unit bldFile="locsrv_plat/supl_terminal_initiation_api/group"/>
+   </component>
+   <component id="supl_network_initiation_api" name="SUPL Network Initiation API" class="api" filter="s60">
+    <meta rel="Api" href="locsrv_plat/supl_network_initiation_api/supl_network_initiation_api.metaxml"/>
+    <unit bldFile="locsrv_plat/supl_network_initiation_api/group"/>
+   </component>
+   <component id="oma_supl_configuration_parameter_api" name="OMA SUPL Configuration Parameter API" class="api" filter="s60">
+    <meta rel="Api" href="locsrv_plat/oma_supl_configuration_parameter_api/oma_supl_configuration_parameter_api.metaxml"/>
+    <unit bldFile="locsrv_plat/oma_supl_configuration_parameter_api/group"/>
+   </component>
+   <component id="location_triggering_management_api" name="Location Triggering Management API" class="api" filter="s60">
+    <meta rel="Api" href="locsrv_plat/location_triggering_management_api/location_triggering_management_api.metaxml"/>
+    <unit bldFile="locsrv_plat/location_triggering_management_api/group"/>
+   </component>
+   <component id="location_triggering_status_information_api" name="Location Triggering Status Information API" class="api" filter="s60">
+    <meta rel="Api" href="locsrv_plat/location_triggering_status_information_api/location_triggering_status_information_api.metaxml"/>
+    <unit bldFile="locsrv_plat/location_triggering_status_information_api/group"/>
+   </component>
+   <component id="oma_supl_asn_codec_plugin_api" name="OMA SUPL ASN Codec Plugin API" class="api" filter="s60">
+    <unit bldFile="locsrv_plat/oma_supl_asn_codec_plugin_api/group"/>
+   </component>
+  <component id="query_and_notification_api" name="Query and Notification API" class="api" filter="s60" introduced="^3">
+      <unit bldFile="locsrv_plat/query_and_notification_api/group"/>
+   </component>
+   <component id="location_local_variation_api" name="Location Local Variation API" class="api" filter="s60">
+    <meta rel="Api" href="locsrv_plat/location_local_variation_api/location_local_variation_api.metaxml"/>
+    <unit bldFile="locsrv_plat/location_local_variation_api/group"/>
+   </component>
+  </collection>
+  <collection id="genericpositioningplugins" name="Generic Positioning Plugins" level="plugin">
+   <component id="locationnpppsy" filter="s60" name="Location Positioning Proxy PSY" class="plugin">
+    <unit bldFile="genericpositioningplugins/locationnpppsy/group"/>
+   </component>
+   <component id="locationsuplpsy" filter="s60" name="Location SUPL PSY" class="plugin" introduced="^3">
+    <unit bldFile="genericpositioningplugins/locationsuplpsy/group"/>
+   </component>
+   <component id="genericpositioningplugins_rom" filter="s60" name="Generic Positioning Plugins ROM" class="config">
+    <unit bldFile="genericpositioningplugins/rom"/>
+   </component>
+  </collection>
+  <collection id="landmarks" name="Landmarks" level="server">
+   <component id="locationlandmarks" filter="s60" name="Location Landmarks">
+    <unit bldFile="landmarks/locationlandmarks/group"/>
+   </component>
+  </collection>
+  <collection id="locationsystemui" name="Location System UI" level="if">
+   <component id="locationsysui" filter="s60" name="Location System UI">
+    <unit bldFile="locationsystemui/locationsysui/group"/>
+   </component>
+   <component id="qtlocationsysui" filter="s60" name="Location System Qt UI">
+    <unit bldFile="locationsystemui/locationsysui" qt:proFile="locsysui.pro"/>
+   </component>
+  </collection>
+  <collection id="supl" name="SUPL" level="fw">
+   <component id="locationsuplfw" filter="s60" name="Location SUPL Framework">
+    <unit bldFile="supl/locationsuplfw/group"/>
+   </component>
+   <component id="locationomasuplprotocolhandler" filter="s60" name="OMA SUPL Protocol Handler">
+    <unit bldFile="supl/locationomasuplprotocolhandler/group"/>
+   </component>
+   <component id="supltiapiimplementation" filter="s60" name="SUPL TI API Implementation" introduced="^3">
+    <unit bldFile="supl/supltiapiimplementation/group"/>
+   </component>
+  </collection>
+  <collection id="locationtriggering" name="Location Triggering" level="server">
+   <component id="ltlogger" filter="s60" name="LT Logger">
+    <unit bldFile="locationtriggering/ltlogger/group"/>
+   </component>
+   <component id="ltclientlib" filter="s60" name="LT Client Library">
+    <unit bldFile="locationtriggering/ltclientlib/group"/>
+   </component>
+   <component id="ltmanagementlib" filter="s60" name="LT Management Library">
+    <unit bldFile="locationtriggering/ltmanagementlib/group"/>
+   </component>
+   <component id="ltcontainer" filter="s60" name="LT Container">
+    <unit bldFile="locationtriggering/ltcontainer/group"/>
+   </component>
+   <component id="ltserver" filter="s60" name="LT Server">
+    <unit bldFile="locationtriggering/ltserver/group"/>
+   </component>
+   <component id="ltstrategypluginapi" filter="s60" name="LT Strategy Plugin API">
+    <unit bldFile="locationtriggering/ltstrategypluginapi/group"/>
+   </component>
+   <component id="ltstrategyengine" filter="s60" name="LT Strategy Engine">
+    <unit bldFile="locationtriggering/ltstrategyengine/group"/>
+   </component>
+   <component id="ltmovementdetectionpluginapi" filter="s60" name="Movement Detection Plugin API">
+    <unit bldFile="locationtriggering/ltmovementdetectionpluginapi/group"/>
+   </component>
+   <component id="ltcellidmovementdetector" filter="s60" name="Cell ID Movement Detector">
+    <unit bldFile="locationtriggering/ltcellidmovementdetector/group"/>
+   </component>
+   <component id="ltcontextsourceplugin" filter="s60" name="LT Context Source Plugin" class="plugin" introduced="^3">
+    <unit bldFile="locationtriggering/ltcontextsourceplugin/group"/>
+   </component>
+   <component id="locationtriggering_rom" filter="s60" name="Location Triggering ROM" class="config">
+    <unit bldFile="locationtriggering/rom"/>
+   </component>
+  </collection>
+ </package>
+</SystemDefinition>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/package_map.xml	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,1 @@
+<PackageMap root="sf" layer="mw"/>
--- a/supl/locationomasuplprotocolhandler/asnconverterpluginapi/eabi/epos_comasuplasnpluginu.def	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/asnconverterpluginapi/eabi/epos_comasuplasnpluginu.def	Tue Aug 31 15:37:04 2010 +0300
@@ -787,4 +787,5 @@
 	_ZN27COMASuplSETCapabilitiesVer2D0Ev @ 786 NONAME
 	_ZTI27COMASuplSETCapabilitiesVer2 @ 787 NONAME ; #<TI>#
 	_ZTV27COMASuplSETCapabilitiesVer2 @ 788 NONAME ; #<VT>#
+	_ZN24COMASuplVer2SuplInitExtn6CloneLEPS_ @ 789 NONAME
 
--- a/supl/locationomasuplprotocolhandler/asnconverterpluginapi/src/epos_comasuplinit.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/asnconverterpluginapi/src/epos_comasuplinit.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -300,7 +300,7 @@
 	iSLPAddress = NULL;
 	iSLPAddress = COMASuplSLPAddress::NewL();
 	
-	aSuplInit->SLPAddress(cloneSLPAddress);
+	User::LeaveIfError(aSuplInit->SLPAddress(cloneSLPAddress));
 	COMASuplSLPAddress::TSuplSLPAddressType lChoice = cloneSLPAddress->SLPAddressType();
 
 	switch(lChoice)
--- a/supl/locationomasuplprotocolhandler/asnconverterpluginapi/src/epos_comasuplinitver2.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/asnconverterpluginapi/src/epos_comasuplinitver2.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -62,7 +62,7 @@
 // (other items were commented in a header).
 // -----------------------------------------------------------------------------
 //
-void COMASuplVer2SuplInitExtn::CloneL(COMASuplVer2SuplInitExtn* aCloneV2Extn)
+EXPORT_C void COMASuplVer2SuplInitExtn::CloneL(COMASuplVer2SuplInitExtn* aCloneV2Extn)
     {    
     if(aCloneV2Extn)
         {
--- a/supl/locationomasuplprotocolhandler/asnconverterpluginapi/src/epos_comasupllocationidver2.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/asnconverterpluginapi/src/epos_comasupllocationidver2.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -85,6 +85,7 @@
 EXPORT_C COMASuplLocationIdVer2* COMASuplLocationIdVer2::CloneL()
     {
     COMASuplLocationIdVer2* retLocationId = COMASuplLocationIdVer2::NewL();
+    CleanupStack::PushL( retLocationId );
     if(iIsV2ExtnSet)
         {
         retLocationId->COMASuplLocationIdVer2::SetVer2CellInfo(iOMASuplVer2CellInfoExtn);
@@ -111,6 +112,7 @@
             break;
                     
         }
+    CleanupStack::Pop(retLocationId);
     return retLocationId;
     }
 // -----------------------------------------------------------------------------
@@ -146,7 +148,8 @@
 // TOMASuplReportedLocation::SetLocationData(TOMASuplLocationData aLocationData)
 // (other items were commented in a header).
 // ---------------------------------------------------------------------------
-//
+
+//coverity[pass_by_value]
 EXPORT_C void TOMASuplReportedLocation::SetLocationData(TOMASuplLocationData aLocationData) 
     {
     iLocationData = aLocationData;
--- a/supl/locationomasuplprotocolhandler/asnconverterpluginapi/src/epos_comasuplreport.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/asnconverterpluginapi/src/epos_comasuplreport.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -293,10 +293,12 @@
 EXPORT_C COMASuplReportData* COMASuplReportData::CloneL()
     {
     COMASuplReportData* repDataToRet = COMASuplReportData::NewL();
+    CleanupStack::PushL( repDataToRet );
     repDataToRet->SetMutipleLocId(iMultipleLocIds->CloneL());
     repDataToRet->SetResultCode(iResultCode);
     repDataToRet->SetTimeStamp(iTimeStamp);
     repDataToRet->SetPosData(iPositionData->CloneL());
+    CleanupStack::Pop(repDataToRet);
     return repDataToRet;
     }
 // -----------------------------------------------------------------------------
@@ -421,7 +423,11 @@
         {
         for(TInt count = 0; count < iSessionList.Count();count++)
             {
-            aSessionList.Append(iSessionList[count]);
+            TInt error = aSessionList.Append(iSessionList[count]);
+            if( error != KErrNone )
+                {
+                return error;
+                }
             }
         return KErrNone;
         }
@@ -452,7 +458,11 @@
         {
         for(TInt count = 0; count < iReportDataList.Count();count++)
             {
-            aReportDataList.Append(iReportDataList[count]);
+            TInt error = aReportDataList.Append(iReportDataList[count]);
+            if( error != KErrNone )
+                {
+                return error;
+                }
             }
         return KErrNone;
         }
--- a/supl/locationomasuplprotocolhandler/asnconverterpluginapi/src/epos_comasuplsessionid.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/asnconverterpluginapi/src/epos_comasuplsessionid.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -133,10 +133,14 @@
 EXPORT_C COMASuplSessionID* COMASuplSessionID::CloneL()
     {
     COMASuplSessionID* suplSessionIdToReturn = COMASuplSessionID::NewL();
+    CleanupStack::PushL( suplSessionIdToReturn );
     if(iSETSessionID)
         suplSessionIdToReturn->SetSETSessionID(iSETSessionID->CloneL());
     if(iSLPSessionID)
         suplSessionIdToReturn->SetSLPSessionID(iSLPSessionID->CloneL());
+    
+    CleanupStack::Pop(suplSessionIdToReturn);
+    
     return suplSessionIdToReturn;
     }
 // -----------------------------------------------------------------------------
--- a/supl/locationomasuplprotocolhandler/asnconverterpluginapi/src/epos_comasuplstartver2.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/asnconverterpluginapi/src/epos_comasuplstartver2.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -79,6 +79,7 @@
         }
     iLocationId2 = aLocationId ;
     }
+//coverity[pass_by_value]
 EXPORT_C void COMASuplLocationIdData::SetECellInfo(TOMASuplECellInfo aMmCellInfo)
     {
     iECId = ETrue;
@@ -113,12 +114,14 @@
 EXPORT_C COMASuplLocationIdData* COMASuplLocationIdData::CloneL()
     {
     COMASuplLocationIdData* retLocIdData = COMASuplLocationIdData::NewL();
+    CleanupStack::PushL( retLocIdData );
     if(iECId)
         retLocIdData->SetECellInfo(iMmCellInfo);
     retLocIdData->SetServingFlag(iServingFlag);
     retLocIdData->SetTimeStamp(iRelativeTimeStamp);
     if(iLocationId2)
         retLocIdData->SetLocationId(iLocationId2->CloneL());
+    CleanupStack::Pop(retLocIdData);
     return retLocIdData;
     }
 /**
@@ -390,9 +393,7 @@
         {
         case EThirdPartyLogicalName:
             {
-            HBufC16*    logicalName = HBufC16::NewL(iLogicalName->Length());
-            *logicalName = *iLogicalName;
-            thirdpartyId->SetLogicalName(*logicalName);
+            thirdpartyId->SetLogicalName(*iLogicalName);
             }
             break;
         case EThirdPartyMSISDN:
@@ -402,23 +403,17 @@
             break;
         case EThirdPartyEmail:
             {
-            HBufC16*    eMailAddress = HBufC16::NewL(iEMailAddress->Length());
-            eMailAddress = iEMailAddress;
-            thirdpartyId->SetEmailAddress(*eMailAddress);
+            thirdpartyId->SetEmailAddress(*iEMailAddress);
             }
             break;
         case EThirdPartySIPURI:
             {
-            HBufC8*      sipUri = HBufC8::NewL(iSipUri->Length());
-            *sipUri = *iSipUri;
-            thirdpartyId->SetSipUri(*sipUri);
+            thirdpartyId->SetSipUri(*iSipUri);
             }
             break;
         case EThirdPartyIMSPublicId:
             {
-            HBufC8* iMSPublicId = HBufC8::NewL(iIMSPublicId->Length()); 
-            *iMSPublicId = *iIMSPublicId;
-            thirdpartyId->SetIMSPublicId(*iMSPublicId);
+            thirdpartyId->SetIMSPublicId(*iIMSPublicId);
             }
             break;
         case EThirdPartyMin:
@@ -433,9 +428,7 @@
             break;
         case EThirdPartyURI:
             {
-            HBufC8*     uRI = HBufC8::NewL(iURI->Length());
-            *uRI = *iURI;
-            thirdpartyId->SetURI(*uRI);
+            thirdpartyId->SetURI(*iURI);
             }
             break;
         }
@@ -698,12 +691,14 @@
 EXPORT_C COMASuplVer2SuplStartExtn* COMASuplVer2SuplStartExtn::CloneL()
     {
     COMASuplVer2SuplStartExtn* ver2ExtnToRet = COMASuplVer2SuplStartExtn::NewL();
+    CleanupStack::PushL( ver2ExtnToRet );
     if(iMultipleLocIds)
         ver2ExtnToRet->SetMultipleLocIds(iMultipleLocIds->CloneL());
     if(iPosition)
         ver2ExtnToRet->SetPosition(static_cast <COMASuplPosition*>(iPosition->CloneL()));
     if(iThirdparty)
         ver2ExtnToRet->SetThirdParty(iThirdparty->CloneL());
+    CleanupStack::Pop(ver2ExtnToRet);
     return ver2ExtnToRet;
     }
 // ============================ MEMBER FUNCTIONS of COMASuplStartVer2===============================
Binary file supl/locationomasuplprotocolhandler/conf/suplsettings_productconfig.confml has changed
--- a/supl/locationomasuplprotocolhandler/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/group/bld.inf	Tue Aug 31 15:37:04 2010 +0300
@@ -44,6 +44,6 @@
 #include "../waplistener/group/bld.inf"
 #include "../syncmlprovhandler/group/bld.inf"
 #include "../provisioninghandler/group/bld.inf"
-#include "../notifier/group/bld.inf"
+//#include "../notifier/group/bld.inf"
 
 // End of File
--- a/supl/locationomasuplprotocolhandler/posmsgpluginapi/src/epos_comasuplreqasstdata.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/posmsgpluginapi/src/epos_comasuplreqasstdata.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -127,7 +127,11 @@
     		aSatInfo.Reset();
     		for(TInt i = 0; i<noOfElems; i++)
     			{
-    			aSatInfo.Append(iSatInfo[i]);		
+    			TInt error = aSatInfo.Append(iSatInfo[i]);
+    			if( error != KErrNone )
+    			    {
+                    return error;
+    			    }
     			}    		
     		return KErrNone;
     		}
--- a/supl/locationomasuplprotocolhandler/protocolhandler/bwins/eposomasuplprotocolhandleru.def	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandler/bwins/eposomasuplprotocolhandleru.def	Tue Aug 31 15:37:04 2010 +0300
@@ -25,18 +25,16 @@
 	?SetIAPId@COMASuplSettings@@QAEXH@Z @ 24 NONAME ; void COMASuplSettings::SetIAPId(int)
 	?ReadOMASuplSettingsL@COMASuplCommonConfig@@QAEXXZ @ 25 NONAME ; void COMASuplCommonConfig::ReadOMASuplSettingsL(void)
 	?CancelRunSession@COMASUPLProtocolManager@@UAEXPAVCSuplSessionBase@@@Z @ 26 NONAME ; void COMASUPLProtocolManager::CancelRunSession(class CSuplSessionBase *)
-	?SetSUPLUsage@COMASuplSettings@@QAEXAAW4TSuplSettingsUsage@CSuplSettings@@@Z @ 27 NONAME ; void COMASuplSettings::SetSUPLUsage(enum CSuplSettings::TSuplSettingsUsage &)
-	??1COMASUPLProtocolManager@@UAE@XZ @ 28 NONAME ; COMASUPLProtocolManager::~COMASUPLProtocolManager(void)
-	?HandleSuplMessageL@COMASUPLProtocolManager@@UAEXPAVCSuplSessionBase@@AAVTRequestStatus@@PAVHBufC8@@@Z @ 29 NONAME ; void COMASUPLProtocolManager::HandleSuplMessageL(class CSuplSessionBase *, class TRequestStatus &, class HBufC8 *)
-	?GetSUPLMessageVersionL@COMASUPLProtocolManager@@UAEHAAHABVTDesC8@@@Z @ 30 NONAME ; int COMASUPLProtocolManager::GetSUPLMessageVersionL(int &, class TDesC8 const &)
-	?ConstructL@COMASuplSettings@@AAEXXZ @ 31 NONAME ; void COMASuplSettings::ConstructL(void)
-	?NewL@COMASUPLProtocolManager@@SAPAV1@XZ @ 32 NONAME ; class COMASUPLProtocolManager * COMASUPLProtocolManager::NewL(void)
-	?HandlePacket@COMASUPLProtocolManager@@UAEXABVTDesC8@@I@Z @ 33 NONAME ; void COMASUPLProtocolManager::HandlePacket(class TDesC8 const &, unsigned int)
-	?CancelSuplTriggerSession@COMASUPLProtocolManager@@UAEXPAVCSuplSessionBase@@@Z @ 34 NONAME ; void COMASUPLProtocolManager::CancelSuplTriggerSession(class CSuplSessionBase *)
-	?InitializeL@COMASUPLProtocolManager@@UAEXPAVCSuplCommunicationManager@@AAVTRequestStatus@@@Z @ 35 NONAME ; void COMASUPLProtocolManager::InitializeL(class CSuplCommunicationManager *, class TRequestStatus &)
-	?SUPLUsage@COMASuplSettings@@QBE?AW4TSuplSettingsUsage@CSuplSettings@@XZ @ 36 NONAME ; enum CSuplSettings::TSuplSettingsUsage COMASuplSettings::SUPLUsage(void) const
-	?NewL@COMASuplCommonConfig@@SAPAV1@XZ @ 37 NONAME ; class COMASuplCommonConfig * COMASuplCommonConfig::NewL(void)
-	?SLPAddress@COMASuplSettings@@QBEABVTDesC8@@XZ @ 38 NONAME ; class TDesC8 const & COMASuplSettings::SLPAddress(void) const
-	?HandlePacketError@COMASUPLProtocolManager@@UAEXH@Z @ 39 NONAME ; void COMASUPLProtocolManager::HandlePacketError(int)
-	?NewL@COMASuplSettings@@SAPAV1@XZ @ 40 NONAME ; class COMASuplSettings * COMASuplSettings::NewL(void)
+	??1COMASUPLProtocolManager@@UAE@XZ @ 27 NONAME ; COMASUPLProtocolManager::~COMASUPLProtocolManager(void)
+	?HandleSuplMessageL@COMASUPLProtocolManager@@UAEXPAVCSuplSessionBase@@AAVTRequestStatus@@PAVHBufC8@@@Z @ 28 NONAME ; void COMASUPLProtocolManager::HandleSuplMessageL(class CSuplSessionBase *, class TRequestStatus &, class HBufC8 *)
+	?GetSUPLMessageVersionL@COMASUPLProtocolManager@@UAEHAAHABVTDesC8@@@Z @ 29 NONAME ; int COMASUPLProtocolManager::GetSUPLMessageVersionL(int &, class TDesC8 const &)
+	?ConstructL@COMASuplSettings@@AAEXXZ @ 30 NONAME ; void COMASuplSettings::ConstructL(void)
+	?NewL@COMASUPLProtocolManager@@SAPAV1@XZ @ 31 NONAME ; class COMASUPLProtocolManager * COMASUPLProtocolManager::NewL(void)
+	?HandlePacket@COMASUPLProtocolManager@@UAEXABVTDesC8@@I@Z @ 32 NONAME ; void COMASUPLProtocolManager::HandlePacket(class TDesC8 const &, unsigned int)
+	?CancelSuplTriggerSession@COMASUPLProtocolManager@@UAEXPAVCSuplSessionBase@@@Z @ 33 NONAME ; void COMASUPLProtocolManager::CancelSuplTriggerSession(class CSuplSessionBase *)
+	?InitializeL@COMASUPLProtocolManager@@UAEXPAVCSuplCommunicationManager@@AAVTRequestStatus@@@Z @ 34 NONAME ; void COMASUPLProtocolManager::InitializeL(class CSuplCommunicationManager *, class TRequestStatus &)
+	?NewL@COMASuplCommonConfig@@SAPAV1@XZ @ 35 NONAME ; class COMASuplCommonConfig * COMASuplCommonConfig::NewL(void)
+	?SLPAddress@COMASuplSettings@@QBEABVTDesC8@@XZ @ 36 NONAME ; class TDesC8 const & COMASuplSettings::SLPAddress(void) const
+	?HandlePacketError@COMASUPLProtocolManager@@UAEXH@Z @ 37 NONAME ; void COMASUPLProtocolManager::HandlePacketError(int)
+	?NewL@COMASuplSettings@@SAPAV1@XZ @ 38 NONAME ; class COMASuplSettings * COMASuplSettings::NewL(void)
 
--- a/supl/locationomasuplprotocolhandler/protocolhandler/eabi/eposomasuplprotocolhandleru.def	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandler/eabi/eposomasuplprotocolhandleru.def	Tue Aug 31 15:37:04 2010 +0300
@@ -3,54 +3,52 @@
 	_ZN16COMASuplSettings10ConstructLEv @ 2 NONAME
 	_ZN16COMASuplSettings10IsHslpNullEv @ 3 NONAME
 	_ZN16COMASuplSettings11SetUIActiveEi @ 4 NONAME
-	_ZN16COMASuplSettings12SetSUPLUsageERN13CSuplSettings18TSuplSettingsUsageE @ 5 NONAME
-	_ZN16COMASuplSettings14SetHSLPAddressERK7TDesC16 @ 6 NONAME
-	_ZN16COMASuplSettings19ConvertIAPNameToIdLERK7TDesC16Rm @ 7 NONAME
-	_ZN16COMASuplSettings22SetHSLPAddressFromIMSIERK7TDesC16 @ 8 NONAME
-	_ZN16COMASuplSettings4NewLEv @ 9 NONAME
-	_ZN16COMASuplSettings8SetIAPIdEi @ 10 NONAME
-	_ZN20COMASuplCommonConfig20ReadOMASuplSettingsLEv @ 11 NONAME
-	_ZN20COMASuplCommonConfig4NewLEv @ 12 NONAME
-	_ZN23COMASUPLProtocolManager11InitializeLEP25CSuplCommunicationManagerR14TRequestStatus @ 13 NONAME
-	_ZN23COMASUPLProtocolManager11RunSessionLEP16CSuplSessionBaseR14TRequestStatusRK7TDesC16iiiR16TSuplTerminalQopi @ 14 NONAME
-	_ZN23COMASUPLProtocolManager11RunSessionLEP16CSuplSessionBaseR14TRequestStatusRK7TDesC16iiii @ 15 NONAME
-	_ZN23COMASUPLProtocolManager12HandlePacketERK6TDesC8j @ 16 NONAME
-	_ZN23COMASUPLProtocolManager14DestroySessionEP16CSuplSessionBase @ 17 NONAME
-	_ZN23COMASUPLProtocolManager15SetCommonConfigERP20COMASuplCommonConfig @ 18 NONAME
-	_ZN23COMASUPLProtocolManager16CancelInitializeEv @ 19 NONAME
-	_ZN23COMASUPLProtocolManager16CancelRunSessionEP16CSuplSessionBase @ 20 NONAME
-	_ZN23COMASUPLProtocolManager17CreateNewSessionLEN24CSUPLProtocolManagerBase12TSuplReqTypeEiN23RSuplTerminalSubSession16TSuplServiceTypeE @ 21 NONAME
-	_ZN23COMASUPLProtocolManager17HandlePacketErrorEi @ 22 NONAME
-	_ZN23COMASUPLProtocolManager18HandleSuplMessageLEP16CSuplSessionBaseR14TRequestStatusP6HBufC8 @ 23 NONAME
-	_ZN23COMASUPLProtocolManager19NotifyTriggerFiredLEP16CSuplSessionBaseR14TRequestStatusR20TSuplTriggerFireInfo @ 24 NONAME
-	_ZN23COMASUPLProtocolManager22GetSUPLMessageVersionLERiRK6TDesC8 @ 25 NONAME
-	_ZN23COMASUPLProtocolManager22RunSuplTriggerSessionLEP16CSuplSessionBaseR14TRequestStatusR28TSuplTerminalPeriodicTriggerRK7TDesC16iii @ 26 NONAME
-	_ZN23COMASUPLProtocolManager24CancelSuplTriggerSessionEP16CSuplSessionBase @ 27 NONAME
-	_ZN23COMASUPLProtocolManager30MakeLocationConversionRequestLEP16CSuplSessionBaseR12TGeoCellInfoR14TRequestStatus @ 28 NONAME
-	_ZN23COMASUPLProtocolManager31CancelLocationConversionRequestEP16CSuplSessionBase @ 29 NONAME
-	_ZN23COMASUPLProtocolManager4NewLEv @ 30 NONAME
-	_ZN23COMASUPLProtocolManagerC1Ev @ 31 NONAME
-	_ZN23COMASUPLProtocolManagerC2Ev @ 32 NONAME
-	_ZN23COMASUPLProtocolManagerD0Ev @ 33 NONAME
-	_ZN23COMASUPLProtocolManagerD1Ev @ 34 NONAME
-	_ZN23COMASUPLProtocolManagerD2Ev @ 35 NONAME
-	_ZNK16COMASuplSettings10IsUIActiveEv @ 36 NONAME
-	_ZNK16COMASuplSettings10SLPAddressEv @ 37 NONAME
-	_ZNK16COMASuplSettings18SLPAddressfromImsiEv @ 38 NONAME
-	_ZNK16COMASuplSettings5IAPIdEv @ 39 NONAME
-	_ZNK16COMASuplSettings9SUPLUsageEv @ 40 NONAME
-	_ZTI13COMASuplTrace @ 41 NONAME
-	_ZTI16COMASuplSettings @ 42 NONAME
-	_ZTI20COMASuplCommonConfig @ 43 NONAME
-	_ZTI20COMASuplDeInitilizer @ 44 NONAME
-	_ZTI23COMASUPLProtocolManager @ 45 NONAME
-	_ZTI26COMASuplInitilizeRequestor @ 46 NONAME
-	_ZTV13COMASuplTrace @ 47 NONAME
-	_ZTV16COMASuplSettings @ 48 NONAME
-	_ZTV20COMASuplCommonConfig @ 49 NONAME
-	_ZTV20COMASuplDeInitilizer @ 50 NONAME
-	_ZTV23COMASUPLProtocolManager @ 51 NONAME
-	_ZTV26COMASuplInitilizeRequestor @ 52 NONAME
-	_ZThn4_N23COMASUPLProtocolManager12HandlePacketERK6TDesC8j @ 53 NONAME
-	_ZThn4_N23COMASUPLProtocolManager17HandlePacketErrorEi @ 54 NONAME
+	_ZN16COMASuplSettings14SetHSLPAddressERK7TDesC16 @ 5 NONAME
+	_ZN16COMASuplSettings19ConvertIAPNameToIdLERK7TDesC16Rm @ 6 NONAME
+	_ZN16COMASuplSettings22SetHSLPAddressFromIMSIERK7TDesC16 @ 7 NONAME
+	_ZN16COMASuplSettings4NewLEv @ 8 NONAME
+	_ZN16COMASuplSettings8SetIAPIdEi @ 9 NONAME
+	_ZN20COMASuplCommonConfig20ReadOMASuplSettingsLEv @ 10 NONAME
+	_ZN20COMASuplCommonConfig4NewLEv @ 11 NONAME
+	_ZN23COMASUPLProtocolManager11InitializeLEP25CSuplCommunicationManagerR14TRequestStatus @ 12 NONAME
+	_ZN23COMASUPLProtocolManager11RunSessionLEP16CSuplSessionBaseR14TRequestStatusRK7TDesC16iiiR16TSuplTerminalQopi @ 13 NONAME
+	_ZN23COMASUPLProtocolManager11RunSessionLEP16CSuplSessionBaseR14TRequestStatusRK7TDesC16iiii @ 14 NONAME
+	_ZN23COMASUPLProtocolManager12HandlePacketERK6TDesC8j @ 15 NONAME
+	_ZN23COMASUPLProtocolManager14DestroySessionEP16CSuplSessionBase @ 16 NONAME
+	_ZN23COMASUPLProtocolManager15SetCommonConfigERP20COMASuplCommonConfig @ 17 NONAME
+	_ZN23COMASUPLProtocolManager16CancelInitializeEv @ 18 NONAME
+	_ZN23COMASUPLProtocolManager16CancelRunSessionEP16CSuplSessionBase @ 19 NONAME
+	_ZN23COMASUPLProtocolManager17CreateNewSessionLEN24CSUPLProtocolManagerBase12TSuplReqTypeEiN23RSuplTerminalSubSession16TSuplServiceTypeE @ 20 NONAME
+	_ZN23COMASUPLProtocolManager17HandlePacketErrorEi @ 21 NONAME
+	_ZN23COMASUPLProtocolManager18HandleSuplMessageLEP16CSuplSessionBaseR14TRequestStatusP6HBufC8 @ 22 NONAME
+	_ZN23COMASUPLProtocolManager19NotifyTriggerFiredLEP16CSuplSessionBaseR14TRequestStatusR20TSuplTriggerFireInfo @ 23 NONAME
+	_ZN23COMASUPLProtocolManager22GetSUPLMessageVersionLERiRK6TDesC8 @ 24 NONAME
+	_ZN23COMASUPLProtocolManager22RunSuplTriggerSessionLEP16CSuplSessionBaseR14TRequestStatusR28TSuplTerminalPeriodicTriggerRK7TDesC16iii @ 25 NONAME
+	_ZN23COMASUPLProtocolManager24CancelSuplTriggerSessionEP16CSuplSessionBase @ 26 NONAME
+	_ZN23COMASUPLProtocolManager30MakeLocationConversionRequestLEP16CSuplSessionBaseR12TGeoCellInfoR14TRequestStatus @ 27 NONAME
+	_ZN23COMASUPLProtocolManager31CancelLocationConversionRequestEP16CSuplSessionBase @ 28 NONAME
+	_ZN23COMASUPLProtocolManager4NewLEv @ 29 NONAME
+	_ZN23COMASUPLProtocolManagerC1Ev @ 30 NONAME
+	_ZN23COMASUPLProtocolManagerC2Ev @ 31 NONAME
+	_ZN23COMASUPLProtocolManagerD0Ev @ 32 NONAME
+	_ZN23COMASUPLProtocolManagerD1Ev @ 33 NONAME
+	_ZN23COMASUPLProtocolManagerD2Ev @ 34 NONAME
+	_ZNK16COMASuplSettings10IsUIActiveEv @ 35 NONAME
+	_ZNK16COMASuplSettings10SLPAddressEv @ 36 NONAME
+	_ZNK16COMASuplSettings18SLPAddressfromImsiEv @ 37 NONAME
+	_ZNK16COMASuplSettings5IAPIdEv @ 38 NONAME
+	_ZTI13COMASuplTrace @ 39 NONAME
+	_ZTI16COMASuplSettings @ 40 NONAME
+	_ZTI20COMASuplCommonConfig @ 41 NONAME
+	_ZTI20COMASuplDeInitilizer @ 42 NONAME
+	_ZTI23COMASUPLProtocolManager @ 43 NONAME
+	_ZTI26COMASuplInitilizeRequestor @ 44 NONAME
+	_ZTV13COMASuplTrace @ 45 NONAME
+	_ZTV16COMASuplSettings @ 46 NONAME
+	_ZTV20COMASuplCommonConfig @ 47 NONAME
+	_ZTV20COMASuplDeInitilizer @ 48 NONAME
+	_ZTV23COMASUPLProtocolManager @ 49 NONAME
+	_ZTV26COMASuplInitilizeRequestor @ 50 NONAME
+	_ZThn4_N23COMASUPLProtocolManager12HandlePacketERK6TDesC8j @ 51 NONAME
+	_ZThn4_N23COMASUPLProtocolManager17HandlePacketErrorEi @ 52 NONAME
 
--- a/supl/locationomasuplprotocolhandler/protocolhandler/group/omasuplprotocolhandler.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandler/group/omasuplprotocolhandler.mmp	Tue Aug 31 15:37:04 2010 +0300
@@ -72,7 +72,7 @@
 LIBRARY insock.lib
 LIBRARY lbs.lib
 LIBRARY eposnwprv.lib
-LIBRARY locsettingsuiclient.lib
+//LIBRARY locsettingsuiclient.lib
 LIBRARY hash.lib
 LIBRARY bafl.lib  //logging
 LIBRARY flogger.lib
--- a/supl/locationomasuplprotocolhandler/protocolhandler/inc/epos_comasuplcommonconfig.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandler/inc/epos_comasuplcommonconfig.h	Tue Aug 31 15:37:04 2010 +0300
@@ -42,7 +42,7 @@
 	* @param None.
 	* @return Instance of COMASuplCommonConfig
 	*/
-	IMPORT_C static COMASuplCommonConfig* NewL();
+	IMPORT_C static COMASuplCommonConfig* COMASuplCommonConfig::NewL();
 	
 	/**
 	* ~COMASuplCommonConfig Method, Destructor
--- a/supl/locationomasuplprotocolhandler/protocolhandler/inc/epos_comasuplsettings.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandler/inc/epos_comasuplsettings.h	Tue Aug 31 15:37:04 2010 +0300
@@ -40,7 +40,7 @@
 	* @param None.
 	* @return Instance of COMASuplSettings
 	*/
-  IMPORT_C static COMASuplSettings* NewL();
+  IMPORT_C static COMASuplSettings* COMASuplSettings::NewL();
 	
 	/**
 	* ~COMASuplSettings Method, Destructor
@@ -96,7 +96,7 @@
 	* @param aSUPLUsage 
 	* @return None 
 	*/
-  IMPORT_C void SetSUPLUsage(CSuplSettings::TSuplSettingsUsage& aSUPLUsage );
+  //IMPORT_C void SetSUPLUsage(CSuplSettings::TSuplSettingsUsage& aSUPLUsage );
 	
 	/**
 	* SetUIActive Method.
@@ -137,7 +137,7 @@
 	* @param None
 	* @return SUPL Usage
 	*/
-  IMPORT_C CSuplSettings::TSuplSettingsUsage SUPLUsage() const;
+  //IMPORT_C CSuplSettings::TSuplSettingsUsage SUPLUsage() const;
 	
 	/**
 	* IAPId Method.
@@ -166,7 +166,7 @@
 	TInt  	 iIAPId;
 
     // SUPL Usage
-    CSuplSettings::TSuplSettingsUsage iSUPLUsage; 
+    //CSuplSettings::TSuplSettingsUsage iSUPLUsage; 
 	// Flag indicating the activation of settings UI
 	TBool    iSettingsUIActive;
 };
--- a/supl/locationomasuplprotocolhandler/protocolhandler/src/epos_comasuplinitilizerequestor.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandler/src/epos_comasuplinitilizerequestor.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -196,13 +196,25 @@
     		        	{
     		        	RBuf HslpFromImsi;
     		        	HslpFromImsi.CreateL(KMaxIPAddressLength);
-						CleanupClosePushL(HslpFromImsi);
-                		iSuplSettings->GenerateHslpAddressFromImsi( HslpFromImsi );
-                		iOMASuplSettings->SetHSLPAddressFromIMSI(HslpFromImsi);
-                	    CleanupStack::PopAndDestroy();
-    		            iState = EInitializationComplete;
+									CleanupClosePushL(HslpFromImsi);
+						
+									//Coverity fix - checking for return code of GenerateHslpAddressFromImsi
+						
+									TInt genError = iSuplSettings->GenerateHslpAddressFromImsi( HslpFromImsi );
+									if(genError != KErrNone)
+						    		{
+                    iTrace->Trace(_L("GenerateHslpAddressFromImsi failed - completing observer"), KTraceFileName, __LINE__);
+										CleanupStack::PopAndDestroy();
+                    iObserver.InitilizationCompletedL( genError );                            
+                    return;
+						    		}
+               		 iOMASuplSettings->SetHSLPAddressFromIMSI(HslpFromImsi);
+                	 CleanupStack::PopAndDestroy();    		            
+                	 iState = EInitializationComplete;             	    
+
     		        	}
-    		            
+						//comment to ignore coverity missing break error
+    		        	//coverity[MISSING_BREAK  :FALSE]
     		        default:
     		        	if( iState != EInitializationComplete && iVariantEnabled )
     		        		{
--- a/supl/locationomasuplprotocolhandler/protocolhandler/src/epos_comasuplsettings.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandler/src/epos_comasuplsettings.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -133,10 +133,10 @@
 // 
 // -----------------------------------------------------------------------------
 //
-EXPORT_C void COMASuplSettings::SetSUPLUsage(CSuplSettings::TSuplSettingsUsage& aSUPLUsage ) 
+/*EXPORT_C void COMASuplSettings::SetSUPLUsage(CSuplSettings::TSuplSettingsUsage& aSUPLUsage ) 
 	{
     iSUPLUsage = aSUPLUsage;
-	}
+	}*/
 
 // -----------------------------------------------------------------------------
 // COMASuplSettings::SUPLUsage() 
@@ -144,11 +144,11 @@
 // 
 // -----------------------------------------------------------------------------
 //
-EXPORT_C CSuplSettings::TSuplSettingsUsage COMASuplSettings::SUPLUsage() const
+/*EXPORT_C CSuplSettings::TSuplSettingsUsage COMASuplSettings::SUPLUsage() const
 	{
 		return iSUPLUsage;
 	}
-
+*/
 
 // -----------------------------------------------------------------------------
 // COMASuplSettings::SetUIActive
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver1/eabi/eposomasuplprotocolhandler1u.def	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver1/eabi/eposomasuplprotocolhandler1u.def	Tue Aug 31 15:37:04 2010 +0300
@@ -36,29 +36,27 @@
 	_ZTI23COMASuplFallBackHandler @ 35 NONAME
 	_ZTI24COMASUPLProtocolManager1 @ 36 NONAME
 	_ZTI24COMASuplEcomEventWatcher @ 37 NONAME
-	_ZTI24COMASuplSettingsLauncher @ 38 NONAME
-	_ZTI29COMASuplCompleteSelfRequestor @ 39 NONAME
-	_ZTV12COMASuplETel @ 40 NONAME
-	_ZTV13COMASuplState @ 41 NONAME
-	_ZTV13COMASuplTrace @ 42 NONAME
-	_ZTV15COMASuplSession @ 43 NONAME
-	_ZTV16COMASuplEndState @ 44 NONAME
-	_ZTV16COMASuplPosState @ 45 NONAME
-	_ZTV17COMASuplInitState @ 46 NONAME
-	_ZTV18COMASuplStartState @ 47 NONAME
-	_ZTV19COMASuplDialogTimer @ 48 NONAME
-	_ZTV19COMASuplIapNotifier @ 49 NONAME
-	_ZTV20COMASuplETelNotifier @ 50 NONAME
-	_ZTV20COMASuplPOSRequestor @ 51 NONAME
-	_ZTV20COMASuplPosInitState @ 52 NONAME
-	_ZTV20COMASuplTimeoutTimer @ 53 NONAME
-	_ZTV21COMASuplConnRequestor @ 54 NONAME
-	_ZTV21COMASuplResponseState @ 55 NONAME
-	_ZTV23COMASuplFallBackHandler @ 56 NONAME
-	_ZTV24COMASUPLProtocolManager1 @ 57 NONAME
-	_ZTV24COMASuplEcomEventWatcher @ 58 NONAME
-	_ZTV24COMASuplSettingsLauncher @ 59 NONAME
-	_ZTV29COMASuplCompleteSelfRequestor @ 60 NONAME
-	_ZThn4_N24COMASUPLProtocolManager112HandlePacketERK6TDesC8j @ 61 NONAME
-	_ZThn4_N24COMASUPLProtocolManager117HandlePacketErrorEi @ 62 NONAME
+	_ZTI29COMASuplCompleteSelfRequestor @ 38 NONAME
+	_ZTV12COMASuplETel @ 39 NONAME
+	_ZTV13COMASuplState @ 40 NONAME
+	_ZTV13COMASuplTrace @ 41 NONAME
+	_ZTV15COMASuplSession @ 42 NONAME
+	_ZTV16COMASuplEndState @ 43 NONAME
+	_ZTV16COMASuplPosState @ 44 NONAME
+	_ZTV17COMASuplInitState @ 45 NONAME
+	_ZTV18COMASuplStartState @ 46 NONAME
+	_ZTV19COMASuplDialogTimer @ 47 NONAME
+	_ZTV19COMASuplIapNotifier @ 48 NONAME
+	_ZTV20COMASuplETelNotifier @ 49 NONAME
+	_ZTV20COMASuplPOSRequestor @ 50 NONAME
+	_ZTV20COMASuplPosInitState @ 51 NONAME
+	_ZTV20COMASuplTimeoutTimer @ 52 NONAME
+	_ZTV21COMASuplConnRequestor @ 53 NONAME
+	_ZTV21COMASuplResponseState @ 54 NONAME
+	_ZTV23COMASuplFallBackHandler @ 55 NONAME
+	_ZTV24COMASUPLProtocolManager1 @ 56 NONAME
+	_ZTV24COMASuplEcomEventWatcher @ 57 NONAME
+	_ZTV29COMASuplCompleteSelfRequestor @ 58 NONAME
+	_ZThn4_N24COMASUPLProtocolManager112HandlePacketERK6TDesC8j @ 59 NONAME
+	_ZThn4_N24COMASUPLProtocolManager117HandlePacketErrorEi @ 60 NONAME
 
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver1/group/omasuplprotocolhandler1.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver1/group/omasuplprotocolhandler1.mmp	Tue Aug 31 15:37:04 2010 +0300
@@ -51,7 +51,7 @@
 SOURCE      epos_comasuplinitstate.cpp
 SOURCE      epos_comasuplposrequestor.cpp
 SOURCE	    epos_comasuplecomeventwatcher.cpp
-SOURCE      epos_comasuplsettingslauncher.cpp
+//SOURCE      epos_comasuplsettingslauncher.cpp
 SOURCE      epos_comasupltrace.cpp
 SOURCE      epos_comasupldialogtimer.cpp
 SOURCE      epos_comasuplfallbackhandler.cpp
@@ -83,14 +83,14 @@
 LIBRARY insock.lib
 LIBRARY lbs.lib
 LIBRARY eposnwprv.lib
-LIBRARY locsettingsuiclient.lib
+//LIBRARY locsettingsuiclient.lib
 LIBRARY hash.lib
 LIBRARY bafl.lib  //logging
 LIBRARY flogger.lib
 LIBRARY efsrv.lib 
 LIBRARY aknnotify.lib 
 LIBRARY commonengine.lib 
-LIBRARY agentdialog.lib
+//LIBRARY agentdialog.lib
 
 LIBRARY epossuplprotocolhandlerplugin.lib
 LIBRARY epos_comasuplasnplugin.lib
@@ -98,7 +98,7 @@
 LIBRARY epos_suplsettings.lib
 LIBRARY epos_suplterminitiation.lib
 LIBRARY eposomasuplprotocolhandler.lib
-LIBRARY	featmgr.lib 
+LIBRARY	featmgr.lib
 
 #if USE_E_CELL_ID_STUB_FILES
 	LIBRARY estor.lib 
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver1/inc/epos_comasuplconnrequestor.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver1/inc/epos_comasuplconnrequestor.h	Tue Aug 31 15:37:04 2010 +0300
@@ -41,9 +41,7 @@
  *  @since S60 v3.1
  */
  
-class COMASuplConnRequestor : public CActive, 
-                              public MOMASuplUICompletionObserver,  
-                              public MOMASuplDialogTimeOutNotifier
+class COMASuplConnRequestor : public CActive
 {
 
 	enum TConnState
@@ -185,7 +183,6 @@
         
         void GetUsedServerAddress(TDes& aHSLPAddressUsed);
         
-        void SettingsUICompletedL(TInt aError);
         void SettingsUsageUICompletedL(TInt /*aError*/) {}
         void SettingsTimeOutUICompletedL(TInt /*aError*/) {}
         TBool ConvertIAPNameToIdL(const TDesC& aIAPName, TUint32& aIAPId);
@@ -227,7 +224,7 @@
 		 * @param None
 		 * @return None
 		 */
-		virtual void DialogTimerExpiredL();	
+		//virtual void DialogTimerExpiredL();	
   	protected :  // Functions from CActive
       /**
       * From CActive 
@@ -301,15 +298,6 @@
             TBool iIsSettingInitilized;
             
             TInt64 iCurrentSLPId;
-            
-            COMASuplDialogTimer* iDialogTimer;
-            
-            TBool iIapDialogShown;
-            
-            TBool iIapDlgTimerExpired;
-            
-            TBool iIsTimeoutDialogTimerStarted;
-            
             TBool iPrompt;
             
             TBool iWlanOnly;
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver1/inc/epos_comasuplprotocolmanager1.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver1/inc/epos_comasuplprotocolmanager1.h	Tue Aug 31 15:37:04 2010 +0300
@@ -273,12 +273,10 @@
 public: 
 
 	// For setting UI observer    
-	TInt LaunchSettingsUI(MOMASuplUICompletionObserver* aObserver,const TDesC& aForHslp);
-	TInt LaunchSuplUsageSettingsUI(MOMASuplUICompletionObserver* aObserver, TBool aRoaming);
-	TInt LaunchSuplDialogTimeoutUI(MOMASuplUICompletionObserver* aObserver );
+	//TInt LaunchSettingsUI(MOMASuplUICompletionObserver* aObserver,const TDesC& aForHslp);
+	//TInt LaunchSuplUsageSettingsUI(MOMASuplUICompletionObserver* aObserver, TBool aRoaming);
+	//TInt LaunchSuplDialogTimeoutUI(MOMASuplUICompletionObserver* aObserver );
 	void UpdateAllSubSessnsInSameSession(TInt aIpcSessionId);
-	
-	void CancelUiLaunch();
 
 	void SettingsChanged();
 
@@ -289,7 +287,7 @@
 	* @param aError - Error during Launch
 	* @return None
 	*/
-	void SettingsUICompletedL(TInt aError);
+	void SettingsUICompletedL(TInt /*aError*/) {};
 
 	/** 
 	* This callback method is used to notify the client about 
@@ -297,7 +295,7 @@
 	* @param aError - Error during Launch
 	* @return None
 	*/
-	void SettingsUsageUICompletedL(TInt aError);
+	void SettingsUsageUICompletedL(TInt /*aError*/) {};
 
 	/** 
 	* This callback method is used to notify the client about 
@@ -305,7 +303,7 @@
 	* @param aError - Error during Launch
 	* @return None
 	*/
-	void SettingsTimeOutUICompletedL(TInt aError);
+	void SettingsTimeOutUICompletedL(TInt /*aError*/) {};
 	
 public: //From base class MSuplSettingsObserver
 
@@ -464,7 +462,7 @@
      * @param      None. 
      * @return     None.
      */
-    void ReadSuplUsage();
+   //void ReadSuplUsage();
 	
     
     /**
@@ -533,7 +531,11 @@
      * 
      */
     void CancelLocationConversionRequest(CSuplSessionBase* aSuplSession);
-    
+	
+public : // from MSuplSettingsObserver
+    virtual void HandleSuplTriggerStatusChangeL(
+                   CSuplSettings::TSuplTriggerStatus aSuplTriggerStatus );
+           
 private: // Data Members
 
 	//Holds all session objects created by CreateNewSession
@@ -628,4 +630,4 @@
 
 };
 
-#endif // C_COMASUPLPROTOCOLMANAGER1_H
\ No newline at end of file
+#endif // C_COMASUPLPROTOCOLMANAGER1_H
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver1/inc/epos_comasuplsession.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver1/inc/epos_comasuplsession.h	Tue Aug 31 15:37:04 2010 +0300
@@ -52,6 +52,8 @@
 
 #include "EPos_CPosNetworkPrivacy.h"
 
+#include <flogger.h>
+
 
 class RMobilePhone;
 class TOMASuplVersion;
@@ -215,21 +217,21 @@
             * @param aError - Error during Launch
             * @return None
             */
-        	void SettingsUICompletedL(TInt aError);
+        	void SettingsUICompletedL(TInt aError) ;
 		
             /** 
             * This callback method is used to notify the client about 
             * the completion of UI
             * @return None
             */
-			void SettingsUsageUICompletedL(TInt aError);
+					void SettingsUsageUICompletedL(TInt /*aError*/) {};
 			
             /** 
             * This callback method is used to notify the client about 
             * the completion of UI 
             * @return None
             */
-			void SettingsTimeOutUICompletedL(TInt aError);
+					void SettingsTimeOutUICompletedL(TInt aError) ;
 			
 	public: 			 
 			/**
@@ -256,7 +258,7 @@
 			* @param aSessionIdSeed, seed value of session
 			* @param aRequestID, Request Identification number.
 			* @param aIsStaleCellId, indicates if this session is for a stale cell id conversion
-			* @param aLocationId , contains cell id parameters for which position is to be retrieved
+			* @param aLocationId , contains cell id parameters for which position is to be retrieved,ownership is transferred to this object
 			* @param aPrompt indicates if the user is to be prompted when making location requests
 			* @param aWlanOnly ,request to connect server using wlan connection only using OCC Api's
 			* @return None
@@ -943,7 +945,6 @@
             void StartUsageDialogLaunchL();
             TBool IsEtelNotifySet();
             TBool IsEtelRoamingSet();
-            TBool HasMeLaunchedUsageDialog();
 			TUint GetPortNumUsed();
 	 private:
 	 
@@ -1072,8 +1073,12 @@
 			
 						
 			TTime iSessionStartTime;
+			TTime iSessionStartTime1;
 			
 			TTime iSessionEndTime;
+			
+			RFileLogger iLogger;
+			
 			//Is POS message is First one or Not.
 			TBool iIsFirstPOSMessage;
 
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver1/inc/epos_comasuplsettingslauncher.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver1/inc/epos_comasuplsettingslauncher.h	Tue Aug 31 15:37:04 2010 +0300
@@ -22,7 +22,7 @@
 
 // INCLUDES
 #include <e32std.h>
-#include <agentdialog.h>    // for RGenConAgentDialogServer
+//#include <agentdialog.h>    // for RGenConAgentDialogServer
 
 const TUid KNotifier1Uid = { 0x10009C00 };
 const TUid KNotifier2Uid = { 0x10009C01 };
@@ -155,7 +155,7 @@
 		/**
 		* IAP Selector Handle
 		*/
-	    RGenConAgentDialogServer    	iIapSelector;
+	 //   RGenConAgentDialogServer    	iIapSelector;
 	    
 		/**
 		* Selected IAP ID
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver1/inc/epos_comasuplstartstate.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver1/inc/epos_comasuplstartstate.h	Tue Aug 31 15:37:04 2010 +0300
@@ -110,15 +110,14 @@
 			void SetQop(TSuplTerminalQop& aQop);
 			
 			/*
-			 * SetStaleCellIdToUse Method is used to set the Stale Cell id to use in case of
-			 *                     retrieving position for an already retrieved cell id.
-			 *                     For example : in case of Geo Tagged Images 
-			 * @since S60 v5.2
-			 * @param aLocationId This is the locatiod id parameter containing the stale cell id
-			 * @return None                     
-			 */
-
-	            void SetStaleCellIdToUse(COMASuplLocationId* aLocationId);
+             * SetStaleCellIdToUse Method is used to set the Stale Cell id to use in case of
+             *                     retrieving position for an already retrieved cell id.
+             *                     For example : in case of Geo Tagged Images 
+             * @since S60 v5.2
+             * @param aLocationId This is the locatiod id parameter containing the stale cell id,ownership is transferred.
+             * @return None                     
+             */
+			void SetStaleCellIdToUse(COMASuplLocationId* aLocationId);
 	
 	public: //MOMASuplETelObserver
 	
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver1/inc/epos_comasuplstate.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver1/inc/epos_comasuplstate.h	Tue Aug 31 15:37:04 2010 +0300
@@ -24,8 +24,6 @@
 #ifdef _DEBUG        
 #define PRINT_MESSAGE
 #endif        
-#define PRINT_MESSAGE
-//#undef PRINT_MESSAGE
 
 	/** 
 	MOMASuplMsgStateObserver Notifies about complaetion of operation with or without error.
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplconnrequestor.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplconnrequestor.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -50,10 +50,7 @@
         iCommMgr(aCommMgr), 
         iProtocolManager(aProtoMgr),
         iPort(aPort),
-        iObserver( aObserver),    				 						  
-        iIapDialogShown(EFalse),
-        iIapDlgTimerExpired(EFalse),    				 			            
-        iIsTimeoutDialogTimerStarted(EFalse),iPrompt(EFalse),iWlanOnly(EFalse),iIsStaleLocIdPresent(EFalse)
+        iObserver( aObserver),iPrompt(EFalse),iWlanOnly(EFalse),iIsStaleLocIdPresent(EFalse)
         {
 
         }
@@ -80,7 +77,6 @@
 
     iCurrentSLPId = KErrNotFound;
 
-    iDialogTimer = COMASuplDialogTimer::NewL(*this);
     }
 
 // -----------------------------------------------------------------------------
@@ -110,12 +106,7 @@
 COMASuplConnRequestor::~COMASuplConnRequestor()
     {
     Cancel();
-    if(iDialogTimer)
-        {
-        iDialogTimer->Cancel();
-        delete iDialogTimer;
-        iDialogTimer = NULL;
-        }
+  
     delete iSuplSettings;
     delete iTrace;
     delete iFallBackHandler;
@@ -138,54 +129,42 @@
         {
 		TBuf<100> iapName;
 		TBuf<128> buffer;
-		iState = EConnecting;  
+    iState = EConnecting;  
 		TBool isIapDialogShown = EFalse;
 		TInt errorCode = iFallBackHandler->GetNextSLPAddressL(iCurrentSLPId,iHostAddress,iapName,iTls,iPskTls,iLastConnectionError,isIapDialogShown);
 		
 		if(errorCode == KErrNone)
 			{
-			TBool ret = ConvertIAPNameToIdL(iapName,iIAPId);
-			if(!ret)
-				{
-					buffer.Copy(_L("No access point configured for "));
-					buffer.Append(iHostAddress);
-					iTrace->Trace(buffer,KTraceFileName, __LINE__); 				
-					if( isIapDialogShown )
-						{
-						TInt err = iProtocolManager.LaunchSettingsUI(this,iHostAddress);
-						if(err != KErrNone)
-							{
-							buffer.Copy(_L("Error in launching UI : "));
-							buffer.AppendNum(err);
-							iTrace->Trace(buffer,KTraceFileName, __LINE__);                 
-							iHostAddress.Zero();
-							iObserver.OperationCompleteL(err);
-							}
-							else
-							iIapDialogShown = ETrue;
-						}
-					
-					
-				}
-			else
-	            {
-	            iIsTimeoutDialogTimerStarted = EFalse;
-	            iDialogTimer->Cancel();
-	            buffer.Copy(_L("Connecting to "));
-	            buffer.Append(iHostAddress);
-	            iTrace->Trace(buffer,KTraceFileName, __LINE__); 				
-	            iConnection = iCommMgr.CreateConnectionL(iHostAddress,iTls,iPskTls,iPort,iIAPId);
-	            OpenConnection();
-	            }	
-			}
-	    else
-	        {
-	        iHostAddress.Zero();
-	        iObserver.OperationCompleteL(errorCode);
-	        }
+				TBool ret = ConvertIAPNameToIdL(iapName,iIAPId);
+				if(!ret)
+					{
+						buffer.Copy(_L("No access point configured for "));
+						buffer.Append(iHostAddress);
+						iTrace->Trace(buffer,KTraceFileName, __LINE__); 				
+						buffer.Copy(_L("Calling CreateConnection with no IAP"));
+						iTrace->Trace(buffer,KTraceFileName, __LINE__);
+						iConnection = iCommMgr.CreateConnectionL(iHostAddress,iTls,iPskTls,iPort,-1);
+						OpenConnection();
+						
+					}
+        else
+            {
+            buffer.Copy(_L("Connecting to "));
+            buffer.Append(iHostAddress);
+            iTrace->Trace(buffer,KTraceFileName, __LINE__); 				
+            iConnection = iCommMgr.CreateConnectionL(iHostAddress,iTls,iPskTls,iPort,iIAPId);
+            OpenConnection();
+            }	
+        }
+    else
+        {
+        iHostAddress.Zero();
+        iObserver.OperationCompleteL(errorCode);
+        }
 		}
     }
-
+    
+ 
  // -----------------------------------------------------------------------------
 // COMASuplConnRequestor::CreateConnection for OCC
 // -----------------------------------------------------------------------------
@@ -199,9 +178,7 @@
         iPrompt = aPrompt;
         iWlanOnly = aWlanOnly;
         iIsStaleLocIdPresent = ETrue;
-        iIsTimeoutDialogTimerStarted = EFalse;
-        iDialogTimer->Cancel();
-        
+               
         TInt err;
         err = iRepository->Get(KSuplGeoInfoConvServerName, GeoTagServerName);
         User::LeaveIfError(err);
@@ -222,12 +199,9 @@
 // -----------------------------------------------------------------------------
 // COMASuplConnRequestor::OpenConnection
 // -----------------------------------------------------------------------------
-//    
-void COMASuplConnRequestor::CreateConnectionL(TInt aDialogTimeOutDelay)
+//  TODO : Remove this method  
+void COMASuplConnRequestor::CreateConnectionL(TInt /*aDialogTimeOutDelay*/)
     {
-    iIsTimeoutDialogTimerStarted = ETrue;
-
-    iDialogTimer->StartTimer(aDialogTimeOutDelay); 
     CreateConnectionL();
     }
 // -----------------------------------------------------------------------------
@@ -268,8 +242,7 @@
 
     if(iIsSettingInitilized)
         {
-        
-           if(iConnection)
+        if(iConnection)
             {
             iState = EConnecting;
             if(iIsStaleLocIdPresent)
@@ -456,6 +429,7 @@
 void COMASuplConnRequestor::InitilizeSetting()
     {
     iTrace->Trace(_L("Intilizing Setting API..."), KTraceFileName, __LINE__); 				
+    
     iSuplSettings->Initialize(iStatus);
     SetActive();
     }
@@ -480,7 +454,10 @@
 
 TUint COMASuplConnRequestor::GetPortNumber()
 	{
-	return iConnection->GetPortNumberUsed();
+	if(iConnection)
+		return iConnection->GetPortNumberUsed();
+	else 
+		return 0;
 	}
 	
 // -----------------------------------------------------------------------------
@@ -530,57 +507,7 @@
     return result;
     }
 
-// -----------------------------------------------------------------------------
-// COMASuplConnRequestor::SettingsUICompleted
-// 
-// -----------------------------------------------------------------------------
 
-void COMASuplConnRequestor::SettingsUICompletedL(TInt aError)
-    {
-		TBuf<128> buffer(_L("COMASuplConnRequestor:SettingsUICompleted Error: "));
-    buffer.AppendNum(aError);
-    iTrace->Trace(buffer,KTraceFileName, __LINE__); 
-
-    if (iIsTimeoutDialogTimerStarted)
-        {                
-        iTrace->Trace(_L("COMASuplSession::SettingsUICompleted, stopping timer "), KTraceFileName, __LINE__);
-        iIsTimeoutDialogTimerStarted = EFalse;                    
-        iDialogTimer->StopTimer();
-        }
-    if (iIapDlgTimerExpired)
-        {
-        iIapDlgTimerExpired = EFalse;
-        iIapDialogShown = EFalse;
-        iProtocolManager.LaunchSuplDialogTimeoutUI(this);
-        iObserver.OperationCompleteL(KErrNone);
-        return;
-        }
-    if(aError == KErrNone)
-        {
-        TBuf<100> IapName;
-        TInt err = iProtocolManager.GetLastUsedAccessPoint(IapName,iIAPId);
-        if(err == KErrNone)
-            {
-            buffer.Copy(_L("Connecting to "));
-            buffer.Append(iHostAddress);
-            buffer.Append(_L(" using IAP "));
-            buffer.Append(IapName);
-            iTrace->Trace(buffer,KTraceFileName, __LINE__); 				
-            iConnection = iCommMgr.CreateConnectionL(iHostAddress,iTls,iPskTls,iPort,iIAPId);
-            SaveAccessPoint(IapName);
-            OpenConnection();
-            }
-        else
-            {
-            iObserver.OperationCompleteL(err);	
-            }	
-        }
-    else
-        {
-        iObserver.OperationCompleteL(aError);	
-        }	
-
-    }
 
 // -----------------------------------------------------------------------------
 // COMASuplConnRequestor::SaveAccessPoint
@@ -646,19 +573,5 @@
     iFallBackHandler->UpdateSLPListForHomeUsage(aHomeNetwork);
     }
 
-// -----------------------------------------------------------------------------
-// COMASuplConnRequestor::DialogTimerExpiredL
-// Checks whether UI is displayed or not previously
-// 
-// -----------------------------------------------------------------------------
-void COMASuplConnRequestor::DialogTimerExpiredL()
-    {
-    iTrace->Trace(_L("COMASuplConnRequestor:Timer Expired for SUPL IAP Dialog"), KTraceFileName, __LINE__); 
 
-    if (!iIapDialogShown)
-        iProtocolManager.LaunchSuplDialogTimeoutUI(this);
-    else
-        iIapDlgTimerExpired = ETrue;  
-    return; 
-    }
 //  End of File
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasupletel.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasupletel.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -12,7 +12,7 @@
 * Contributors:
 *
 * Description:   Implementation of COMASuplEtel Class
-*  Version     : %version: 3 % << Don't touch! Updated by Synergy at check-out.
+*  Version     : %version: 5 % << Don't touch! Updated by Synergy at check-out.
 *
 */
 
@@ -205,38 +205,42 @@
             {
             case RMobilePhone::ENetworkModeGsm:
                 {
+            //coverity[alloc_fn]
+            //coverity[assign]
                 // For GSM Cell Information
                 COMASuplLocationId* locationId = COMASuplLocationId::NewL(); 
-                CleanupStack::PushL(locationId);
-     			COMASuplGSMCellInfo* gsmCellInfo = COMASuplGSMCellInfo::NewL();
-     			CleanupStack::PushL(gsmCellInfo);
-                COMASuplLocationId::TOMASuplStatus lStatus = COMASuplLocationId::ECurrent;
-               
-                TInt    MCC=0;
-                TInt64  MNC=0;
-                TUint   LAC, CellId;
-                TLex LexMCC(iNetworkInfo.iCountryCode);
-                TLex LexMNC(iNetworkInfo.iNetworkId);
+            //coverity[push]
+            CleanupStack::PushL(locationId);
+            COMASuplGSMCellInfo* gsmCellInfo = COMASuplGSMCellInfo::NewL();
+            CleanupStack::PushL(gsmCellInfo);
+            COMASuplLocationId::TOMASuplStatus lStatus =
+                    COMASuplLocationId::ECurrent;
+
+            TInt MCC = 0;
+            TInt64 MNC = 0;
+            TUint LAC, CellId;
+            TLex LexMCC(iNetworkInfo.iCountryCode);
+            TLex LexMNC(iNetworkInfo.iNetworkId);
 
                 LexMCC.Val(MCC);
                 LexMNC.Val(MNC);
                 LAC = iLocationInfo.iLocationAreaCode;
                 CellId = iLocationInfo.iCellId;
-                
-                                
-                gsmCellInfo->SetSuplGSMCellInfo(MNC, MCC,CellId,LAC);                
-                locationId->SetSuplLocationId(gsmCellInfo,lStatus);
-                CleanupStack::Pop(gsmCellInfo);
-                CleanupStack::Pop(locationId); 
-                
-        		#if defined(_DEBUG)  //This is only for logging purpose. 
-				TBuf<128> msg;
-				
-				msg.Copy(_L("It is GSM Network. MCC = "));					
-				msg.AppendNum(MCC);
-				
-				msg.Append(_L(" MNC = "));					
-				msg.AppendNum(MNC);
+
+            gsmCellInfo->SetSuplGSMCellInfo(MNC, MCC, CellId, LAC);
+            locationId->SetSuplLocationId(gsmCellInfo, lStatus);
+            CleanupStack::Pop(gsmCellInfo);
+            //coverity[pop]
+            CleanupStack::Pop(locationId);
+
+#if defined(_DEBUG)  //This is only for logging purpose. 
+            TBuf<128> msg;
+
+            msg.Copy(_L("It is GSM Network. MCC = "));
+            msg.AppendNum(MCC);
+
+            msg.Append(_L(" MNC = "));
+            msg.AppendNum(MNC);
 
 
 				msg.Append(_L(" CellId = "));					
@@ -253,22 +257,28 @@
 				    iObserver.LocationIDRequestCompletedL(locationId,KErrNone);
 				else if(iCellMode == EOMASuplCompareCellId)
 				    iObserver.ComparisionLocationIDRequestCompletedL(locationId,KErrNone);
+            //coverity[memory_leak]
                 break;                             
                 }                    
             case RMobilePhone::ENetworkModeWcdma:
                 {
+            //coverity[alloc_fn]
+            //coverity[assign]
                 // For WCDMA  Cell Information
                 COMASuplLocationId* locationId = COMASuplLocationId::NewL(); 
-                CleanupStack::PushL(locationId);
-     			COMASuplCellInfo* wcdmaCellInfo = COMASuplCellInfo::NewL();
-     			CleanupStack::PushL(wcdmaCellInfo);
-     			
-                COMASuplLocationId::TOMASuplStatus lStatus = COMASuplLocationId::ECurrent;
-                TInt    MCC=0;
-                TInt64  MNC=0;
-                TUint   UC;
-                TLex LexMCC(iNetworkInfo.iCountryCode);
-                TLex LexMNC(iNetworkInfo.iNetworkId);
+            //coverity[push]
+            CleanupStack::PushL(locationId);
+            
+            COMASuplCellInfo* wcdmaCellInfo = COMASuplCellInfo::NewL();
+            CleanupStack::PushL(wcdmaCellInfo);
+
+            COMASuplLocationId::TOMASuplStatus lStatus =
+                    COMASuplLocationId::ECurrent;
+            TInt MCC = 0;
+            TInt64 MNC = 0;
+            TUint UC;
+            TLex LexMCC(iNetworkInfo.iCountryCode);
+            TLex LexMNC(iNetworkInfo.iNetworkId);
 
                 LexMCC.Val(MCC);
                 LexMNC.Val(MNC);
@@ -278,6 +288,7 @@
                 wcdmaCellInfo->SetSuplCellInfo(MNC, MCC, UC);                
                 locationId->SetSuplLocationId(wcdmaCellInfo,lStatus);
                 CleanupStack::Pop(wcdmaCellInfo);
+            //coverity[pop]
                 CleanupStack::Pop(locationId);
                 
            		#if defined(_DEBUG)  //This is only for logging purpose. 
@@ -289,34 +300,38 @@
 				msg.Append(_L(" MNC = "));					
 				msg.AppendNum(MNC);
 
+            msg.Append(_L(" UC = "));
+            msg.AppendNum(UC);
 
-				msg.Append(_L(" UC = "));					
-				msg.AppendNum(UC);
-				
-				iTrace->Trace(msg,KTraceFileName, __LINE__); 							
-        		#endif
+            iTrace->Trace(msg, KTraceFileName, __LINE__);
+#endif
 
 				if(iCellMode == EOMASuplCellId)
 				    iObserver.LocationIDRequestCompletedL(locationId,KErrNone);
 				else if(iCellMode == EOMASuplCompareCellId)
 				    iObserver.ComparisionLocationIDRequestCompletedL(locationId,KErrNone);
+            //coverity[memory_leak]
                 break;                             
                 }                    
             default:            
             	{
             	#if _DEBUG 
+            //coverity[alloc_fn]
+            //coverity[assign]            
 	            	// For GSM Cell Information
 	            	COMASuplLocationId* locationId = COMASuplLocationId::NewL(); 
-                	CleanupStack::PushL(locationId);
-     				COMASuplGSMCellInfo* gsmCellInfo = COMASuplGSMCellInfo::NewL();
-     				CleanupStack::PushL(gsmCellInfo);
-     				
-	                COMASuplLocationId::TOMASuplStatus lStatus = COMASuplLocationId::ECurrent;
-	                TInt    MCC=0;
-	                TInt64  MNC=0;
-	                TUint   LAC, CellId;
-	                TLex LexMCC(iNetworkInfo.iCountryCode);
-	                TLex LexMNC(iNetworkInfo.iNetworkId);
+            //coverity[push]
+            CleanupStack::PushL(locationId);
+            
+            COMASuplGSMCellInfo* gsmCellInfo = COMASuplGSMCellInfo::NewL();
+            CleanupStack::PushL(gsmCellInfo);
+
+            COMASuplLocationId::TOMASuplStatus lStatus = COMASuplLocationId::ECurrent;
+            TInt MCC=0;
+            TInt64 MNC=0;
+            TUint LAC, CellId;
+            TLex LexMCC(iNetworkInfo.iCountryCode);
+            TLex LexMNC(iNetworkInfo.iNetworkId);
 
 	                LexMCC.Val(MCC);
 	                LexMNC.Val(MNC);
@@ -327,7 +342,8 @@
 	           		gsmCellInfo->SetSuplGSMCellInfo(MNC, MCC,CellId,LAC);                
 	                locationId->SetSuplLocationId(gsmCellInfo,lStatus);
 	                CleanupStack::Pop(gsmCellInfo);
-                	CleanupStack::Pop(locationId);  
+            //coverity[pop]
+            CleanupStack::Pop(locationId);
                 	
 					#if defined(_DEBUG)  //This is only for logging purpose. 
 					TBuf<128> msg;
@@ -357,7 +373,8 @@
                 	else if(iCellMode == EOMASuplCompareCellId)
                 	    iObserver.ComparisionLocationIDRequestCompletedL(NULL,KErrNotSupported);                 	
                 #endif
-                break;        	
+            //coverity[memory_leak]
+            break;
             	}                     
             }
 		
@@ -524,7 +541,7 @@
 	 				
 						for(TInt k = 0; k < KOMASUPLMaxTimeSlotIscpAmount; k++ )	 				
 							{
-								iOMASuplwcdmaCellInfo.iNwkMeasureReport[i].iCellMeasuredResult[j].iTddInfo.iTimeslotISCP[k] = iOMASuplwcdmaCellInfo.iNwkMeasureReport[i].iCellMeasuredResult[j].iTddInfo.iTimeslotISCP[k];
+								iOMASuplwcdmaCellInfo.iNwkMeasureReport[i].iCellMeasuredResult[j].iTddInfo.iTimeslotISCP[k] = iCustomWCDMACellInfo.iNwkMeasureReport[i].iCellMeasuredResult[j].iTddInfo.iTimeslotISCP[k];
 							}
 	 					
 	 			}
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasupletelnotifier.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasupletelnotifier.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -116,12 +116,12 @@
 void COMASuplETelNotifier::CheckForRoaming()
     {
 	iTrace->Trace(_L("COMASuplETelNotifier::CheckForRoaming..."),KTraceFileName, __LINE__); 							
-    if( !IsActive() )
+     if( !IsActive() )
     	{
     	iCellMode = EOMASuplCellIdHome;
     	iPhone.GetHomeNetwork( iStatus, iHomeNetworkInfoPkg);
     	SetActive();    
-    	} 
+    	}              
     }  
       
 // -----------------------------------------------------------------------------
@@ -137,7 +137,7 @@
     	iCellMode = EOMASuplCellIdCurrent;
     	iPhone.GetCurrentNetwork( iStatus, iNetworkInfoPkg, iLocationInfo );
     	SetActive();  
-    	}
+    	}               
     }  
 
 // -----------------------------------------------------------------------------
@@ -153,7 +153,7 @@
     	iCellMode = EOMASuplCellIdNotify;
     	iPhone.NotifyCurrentNetworkChange( iStatus, iNetworkInfoPkg, iLocationInfo );
     	SetActive();   
-    	}
+    	}              
     }  
       
 // -----------------------------------------------------------------------------
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplfallbackhandler.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplfallbackhandler.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -155,7 +155,7 @@
 						LogBuffer.AppendNum(err);
 						iTrace->Trace(LogBuffer,KTraceFileName, __LINE__); 		
 						
-						CleanupStack::PopAndDestroy(&newParam);
+						CleanupStack::PopAndDestroy(newParam);
 						}
 					else
 						{
@@ -176,7 +176,7 @@
 						delete iapName;
 						}
 					
-					CleanupStack::PopAndDestroy(&param);
+					CleanupStack::PopAndDestroy(param);
                                 
             		iTrace->Trace(_L("Fallback allowed & TLSAuth failed"),KTraceFileName, __LINE__);
             		iTrace->Trace(_L("Server being used:"),KTraceFileName, __LINE__);
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplinitstate.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplinitstate.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -257,7 +257,7 @@
 		// Notify Network Privacy of the request information
 		// Synchronous call 
 		TInt RequestId;
-		iNetworkPrivacy->NotifyLocationRequestL(*suplReqInfo,RequestId);
+		TRAP_IGNORE(iNetworkPrivacy->NotifyLocationRequestL(*suplReqInfo,RequestId);)
 		
 		if(iIsNotificationOnly)
 		{
@@ -304,9 +304,9 @@
 	if(!clientError)
 		{
 		// Set name of Client
-			
 		if(client)
 			{
+				iTrace->Trace(_L("calling suplReqInfo->SetLCSClientL"), KTraceFileName, __LINE__);
 				suplReqInfo->SetLCSClientL(*client,iIdType);	
 			}
 		
@@ -321,8 +321,12 @@
 			// what decision the GSM Network will make if the user won't answer before 
 			// a timeout comes in from GSM Network. In this case verification will 
 			// be rejected.
-			iNetworkPrivacy->VerifyLocationRequestL(*suplReqInfo, 
-				iGSMRequestId, *this, aTimeOutStrategy);
+			iTrace->Trace(_L("Calling iNetworkPrivacy->VerifyLocationRequestL"), KTraceFileName, __LINE__); 					
+			
+			
+			TRAP_IGNORE(iNetworkPrivacy->VerifyLocationRequestL(*suplReqInfo, 
+				iGSMRequestId, *this, aTimeOutStrategy);) 					
+				
 	        TBuf<64> msg;
 	        msg.Copy(_L("1.0 Privacy Fw Generated Verification Request id:"));
 	        msg.AppendNum(iGSMRequestId);
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplposinitstate.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplposinitstate.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -242,10 +242,7 @@
 		iVerPresent = ComputeSuplInitVerL();
 		if(iVerPresent)
 			{
-			if(!iIsStaleCellId) // if this request is for a stale cell id conversion then do not retrieve current location id
-				iLocationIDRequestor->GetLocationID();
-			else
-			    iMsgStateObserver->OperationCompleteL(KErrNone);
+				iLocationIDRequestor->GetLocationID();		
 			}
 		else
 			{
@@ -387,63 +384,68 @@
 // (other items were commented in a header).
 // -----------------------------------------------------------------------------
 //
-void COMASuplPosInitState::GetPosParamsL() 
-	{
-	
-	iGenerationStatus = ETrue;
-	
-	// Re-initialize the POS Requestor
-	if(iPosRequestor)
-		iPosRequestor->DestroyList();
-	iPosRequestor->CreateListL();
-	
-	// Create SET capabilities object
-	iCurSetCapabilities = COMASuplSETCapabilities::NewL();
-	
-	// Create the Request Assistance data object
-	iReqAsstData = COMASuplReqAsstData::NewL();
-	
-	// Create Position
-	iPosition = COMASuplPosition::NewL();
+void COMASuplPosInitState::GetPosParamsL()
+    {
+
+    iGenerationStatus = ETrue;
+
+    // Re-initialize the POS Requestor
+    if (iPosRequestor)
+        {
+        iPosRequestor->DestroyList();
+        iPosRequestor->CreateListL();
+        }
 
-	// Create POS Payload
-	iPosPayload = COMASuplPosPayload::NewL();
+    // Create SET capabilities object
+    iCurSetCapabilities = COMASuplSETCapabilities::NewL();
+
+    // Create the Request Assistance data object
+    iReqAsstData = COMASuplReqAsstData::NewL();
+
+    // Create Position
+    iPosition = COMASuplPosition::NewL();
+
+    // Create POS Payload
+    iPosPayload = COMASuplPosPayload::NewL();
 
-	// Create Velocity
-	iVelocity = COMASuplVelocity::NewL();
-	
+    // Create Velocity
+    iVelocity = COMASuplVelocity::NewL();
+
+    if (iPosRequestor)
+        {
+        // Append the SUPL POS INIT optional parameters to the list
+        // in POS Requestor
+        iPosRequestor->AppendInfoRequest(iCurSetCapabilities);
+        iPosRequestor->AppendInfoRequest(iReqAsstData);
+        iPosRequestor->AppendInfoRequest(iPosition);
+        iPosRequestor->AppendInfoRequest(iPosPayload);
+        iPosRequestor->AppendInfoRequest(iVelocity);
 
-	// Append the SUPL POS INIT optional parameters to the list
-	// in POS Requestor
-	iPosRequestor->AppendInfoRequest(iCurSetCapabilities);
-	iPosRequestor->AppendInfoRequest(iReqAsstData);
-	iPosRequestor->AppendInfoRequest(iPosition);
-	iPosRequestor->AppendInfoRequest(iPosPayload);
-	iPosRequestor->AppendInfoRequest(iVelocity);
-	
-	// Set self as Observer to POS Requestor
-	iPosRequestor->SetObserver(this);
-	
-	TBuf<128> msg(_L("Filling iPosMethod in iPosRequestor: "));
-	iTrace->Trace(msg, KTraceFileName, __LINE__); 
-	if(iPosRequestor)
-		{
-		iAllowedCapabilitiesforPOS.SetAllowedCapabilities(EFalse, EFalse, EFalse, EFalse, EFalse, EFalse, EFalse, EFalse);
-		iPosRequestor->SetPosMethodAndAllowedCapabilities (iAllowedCapabilitiesforPOS,iPosMethod ); 
-        if(iHSLPAddress)
+        TBuf<128> msg(_L("Filling iPosMethod in iPosRequestor: "));
+        iTrace->Trace(msg, KTraceFileName, __LINE__);
+
+        // Set self as Observer to POS Requestor
+        //Comment to ignore coverity reverse NULL error
+        //coverity[REVERSE_INULL :FALSE]
+        iPosRequestor->SetObserver(this);
+        iAllowedCapabilitiesforPOS.SetAllowedCapabilities(EFalse, EFalse,
+                EFalse, EFalse, EFalse, EFalse, EFalse, EFalse);
+        iPosRequestor->SetPosMethodAndAllowedCapabilities(
+                iAllowedCapabilitiesforPOS, iPosMethod);
+        if (iHSLPAddress)
             {
-            HBufC* slpAddress = CnvUtfConverter::ConvertToUnicodeFromUtf8L(*iHSLPAddress);
+            HBufC* slpAddress = CnvUtfConverter::ConvertToUnicodeFromUtf8L(
+                    *iHSLPAddress);
             msg.Copy(_L("Filling iHSLPAddress in iPosRequestor: "));
             msg.Append(*slpAddress);
-            iTrace->Trace(msg, KTraceFileName, __LINE__); 
+            iTrace->Trace(msg, KTraceFileName, __LINE__);
             iPosRequestor->SetSLPAddressUsed(*slpAddress);
             }
-		}
-	// Get the information from POS
-	if(iPosRequestor)
-	User::LeaveIfError(iPosRequestor->GetSuplInfoL());
-	
-	}
+        // Get the information from POS
+        User::LeaveIfError(iPosRequestor->GetSuplInfoL());
+        }
+
+    }
 // -----------------------------------------------------------------------------
 // COMASuplPosInitState::OperationCompleteL
 // An observer method that indicates the completion of
@@ -588,8 +590,8 @@
 
 		    iPosRequestor->SetPosMethodAndAllowedCapabilities (iAllowedCapabilitiesforPOS,iPosMethod  ); 
         }
-		
-		OMASuplPosInit->SetSuplPosInit(static_cast<COMASuplSETCapabilities*>(iOldCapabilities->CloneL()),static_cast<COMASuplLocationId*>(iLocationId->CloneL()),iECId);
+		if(iOldCapabilities)
+		    OMASuplPosInit->SetSuplPosInit(static_cast<COMASuplSETCapabilities*>(iOldCapabilities->CloneL()),static_cast<COMASuplLocationId*>(iLocationId->CloneL()),iECId);
 		if(iECId)
 			{
 				OMASuplPosInit->SetECellId(iMmCellInfo);
@@ -608,7 +610,7 @@
 			}
 
 		// Position
-		if(iPosition && iRequestType == COMASuplSession::ESUPL_TERMINAL)
+		if(iPosition)
 			{
 			if(KErrNone == iPosition->Status() && !iIgnorePosData) //if iIgnorePosData is set do not use the pos data
 				{
@@ -745,14 +747,19 @@
         }
     //if the current Cell id is the same as the Cell id when we made the request for assistance data then use the assistance data
     //and we have not already repeated a request before
-    if(!iRepeatedPosDataFetch && iLocationId->GetCellId() == aLocationId->GetCellId()) 
+    if (!iRepeatedPosDataFetch && iLocationId->GetCellId()
+            == aLocationId->GetCellId())
         {
-        iTrace->Trace(_L("COMASuplPosInitState::ComparisionLocationIDRequestCompletedL Cell Id not changed since making last request, so continuing"), KTraceFileName, __LINE__); 
-        if(iLocationId)
-            delete iLocationId;
+        //deleting locationId before assigning it again
+        delete iLocationId;
+        iLocationId = NULL;
         iLocationId = aLocationId;
-        if(iMsgStateObserver)
-        iMsgStateObserver->OperationCompleteL(aErrorCode);
+
+        iTrace->Trace(
+                _L("COMASuplPosInitState::ComparisionLocationIDRequestCompletedL Cell Id not changed since making last request, so continuing"),
+                KTraceFileName, __LINE__);
+        if (iMsgStateObserver)
+            iMsgStateObserver->OperationCompleteL(aErrorCode);
         }
     else // Cell id has changed since previous request so assistance data may be invalid
         {
@@ -767,32 +774,37 @@
                 iTrace->Trace(_L("COMASuplPosInitState::ComparisionLocationIDRequestCompletedL toe limit greater than KMaxCellIdChangeToeLimit. getting  pos data again"), KTraceFileName, __LINE__);
                 if(!iRepeatedPosDataFetch)//if cell id changed and we have not already repeated fetching pos data
                     {
+                    iLocationId = aLocationId; //update the location id member for the next request as we are making a request again
                     iRepeatedPosDataFetch = ETrue;
-                    if(iLocationId)
-                        delete iLocationId;                    
-                    iLocationId = aLocationId; //update the location id member for the next request as we are making a request again
-                    iTrace->Trace(_L("COMASuplPosInitState::ComparisionLocationIDRequestCompletedL toe limit greater than KMaxCellIdChangeToeLimit. getting  pos data again"), KTraceFileName, __LINE__);
+
+                    iTrace->Trace(
+                            _L("COMASuplPosInitState::ComparisionLocationIDRequestCompletedL toe limit greater than KMaxCellIdChangeToeLimit. getting  pos data again"),
+                            KTraceFileName, __LINE__);
                     GetPosParamsL();
                     }
                 else
                     {
+                    iLocationId = aLocationId;
                     iRepeatedPosDataFetch = EFalse; //reset the status
-                    if(iLocationId)
-                       delete iLocationId;
-                    iLocationId = aLocationId;
-                    iTrace->Trace(_L("COMASuplPosInitState::ComparisionLocationIDRequestCompletedL toe limit greater than KMaxCellIdChangeToeLimit. But repeated a pos fetch already so continuing"), KTraceFileName, __LINE__);
-                    iMsgStateObserver->OperationCompleteL(aErrorCode);//use the pos data as it is
+
+                    iTrace->Trace(
+                            _L("COMASuplPosInitState::ComparisionLocationIDRequestCompletedL toe limit greater than KMaxCellIdChangeToeLimit. But repeated a pos fetch already so continuing"),
+                            KTraceFileName, __LINE__);
+                    if (iMsgStateObserver)
+                        iMsgStateObserver->OperationCompleteL(aErrorCode);//use the pos data as it is
                     }
                 }
             else //ignore the position data
                 {
+                iLocationId = aLocationId;
                 iIgnorePosData = ETrue;
-                iTrace->Trace(_L("COMASuplPosInitState::ComparisionLocationIDRequestCompletedL toe limit less than KMaxCellIdChangeToeLimit. Ignoring pos data"), KTraceFileName, __LINE__);
+                iTrace->Trace(
+                        _L("COMASuplPosInitState::ComparisionLocationIDRequestCompletedL toe limit less than KMaxCellIdChangeToeLimit. Ignoring pos data"),
+                        KTraceFileName, __LINE__);
                 iRepeatedPosDataFetch = EFalse; //reset the status
-                if(iLocationId)
-                	delete iLocationId;
-                iLocationId = aLocationId;
-                iMsgStateObserver->OperationCompleteL(aErrorCode);
+
+                if (iMsgStateObserver)
+                    iMsgStateObserver->OperationCompleteL(aErrorCode);
                 }
             }
         }
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplposrequestor.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplposrequestor.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -75,14 +75,16 @@
 //
 void COMASuplPOSRequestor::DestroyList()
     {
-		iTrace->Trace(_L("COMASuplPOSRequestor::DestroyList"), KTraceFileName, __LINE__); 
-		if(iOMASuplInfoRequestList)
-			{
-				delete iOMASuplInfoRequestList;
-				iOMASuplInfoRequestList = NULL;
-			
-			}
-	}
+    if(iTrace)
+        iTrace->Trace(_L("COMASuplPOSRequestor::DestroyList"), KTraceFileName, __LINE__); 
+    
+    if(iOMASuplInfoRequestList)
+        {
+        delete iOMASuplInfoRequestList;
+        iOMASuplInfoRequestList = NULL;
+
+        }
+    }
 
 // -----------------------------------------------------------------------------
 // COMASuplPOSRequestor::NewL
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplprotocolmanager1.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplprotocolmanager1.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -105,11 +105,10 @@
 // Destructor.
 EXPORT_C COMASUPLProtocolManager1::~COMASUPLProtocolManager1()
 	{
-	if(iSettingsLauncher)		
+	/*if(iSettingsLauncher)		
 		{
 			iSettingsLauncher->CancelLaunch();
-		}
-	
+		}*/
 	if(iSuplSettings)
 		{
 		iSuplSettings->SetUIActive( EFalse );
@@ -118,11 +117,11 @@
 	DeleteAllSessions();
 	iSuplSessions.Reset();
 	iSuplSessions.Close();
-
+	
 	//Only attempt to unload the phone if the TSY has actually been initialised
 	if(iTsyName.Length() > 0)
 		{
-		iTelServer.UnloadPhoneModule(iTsyName);
+    	iTelServer.UnloadPhoneModule(iTsyName);
 		}
 
 	
@@ -138,7 +137,7 @@
 	
 	delete iSuplEcomEventWatcher;
 	
-    delete iSettingsLauncher;
+    //delete iSettingsLauncher;
     delete iNotifier;
 	iMobilePhone.Close(); 
 	iTelServer.Close();
@@ -176,7 +175,7 @@
 	iSuplStorageSettings = CSuplSettingsInternal::NewL();
 	iSuplStorageSettings->SetObserverL(*this);
 
-   	iSettingsLauncher = COMASuplSettingsLauncher::NewL( *this );
+   	//iSettingsLauncher = COMASuplSettingsLauncher::NewL( *this );
 	
    	iIMSI.CreateL( KMaxIMSILen );
 	iIsPreviouslyDecodingFailed = EFalse;
@@ -253,7 +252,7 @@
 	//Connect to ETel
 	User::LeaveIfError(ConnectToETelL());
   
-    ReadSuplUsage();    
+    //ReadSuplUsage();    
 	 
 	if(iSuplEcomEventWatcher)
 		{
@@ -531,11 +530,6 @@
 	iTrace->Trace(_L("COMASUPLProtocolManager1::DestroySession Destroy Session"), KTraceFileName, __LINE__);
 
 	COMASuplSession* OMASession =  static_cast<COMASuplSession*>(aSuplSession);
-	  if (OMASession->HasMeLaunchedUsageDialog())
-    {
-    		iTrace->Trace(_L("Setting NULL."), KTraceFileName, __LINE__);
-        iSessnUIObserver = NULL;
-    }   
     if (OMASession->GetSessionUIFlag())
     	{
 	    OMASession->DestroySession();
@@ -1046,14 +1040,6 @@
 		iTrace->Trace(_L("Cannot found Supl session."), KTraceFileName, __LINE__);
 		return;
 		}
-	
-		COMASuplSession* OMASession =  static_cast<COMASuplSession*>(aSuplSession);
-    if (OMASession->HasMeLaunchedUsageDialog())
-    {
-    		iTrace->Trace(_L("Setting NULL."), KTraceFileName, __LINE__);
-        iSessnUIObserver = NULL;
-    }   
-             
 		aSuplSession->CancelRunSession();	
 		return ;
 	}
@@ -1203,7 +1189,7 @@
     if( aEvent == MSuplSettingsObserver::ESuplSettingsEventSuplUsageChange)
         {
         iTrace->Trace(_L("Setting Changed.SUPL Usage changed.. Reeading once again..."), KTraceFileName, __LINE__);
-        ReadSuplUsage();
+        //ReadSuplUsage();
 		}
 	else if( aEvent == MSuplSettingsObserver::ESuplSettingsEventCommParameterChange)
 		{
@@ -1630,68 +1616,6 @@
 	}
 	
 	
-// -----------------------------------------------------------------------------
-// COMASUPLProtocolManager1::LaunchSettingsUI
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt COMASUPLProtocolManager1::LaunchSettingsUI(MOMASuplUICompletionObserver* aObserver,const TDesC& aForHslp)
-    {        
-	iTrace->Trace(_L("COMASUPLProtocolManager1::LaunchSettingsUI"), KTraceFileName, __LINE__);
-
-    if(iUIRequestArray.Count() <= 0 )
-    	{
-		iTrace->Trace(_L("COMASUPLProtocolManager1::LaunchSettingsUI"), KTraceFileName, __LINE__);
-		iUIRequestArray.Append(aObserver);
-		iSuplSettings->SetUIActive(ETrue);
-		iCurrentlyUsedHslp.Copy(aForHslp);
-		return iSettingsLauncher->LaunchSettings();	
-    	}
-    else if(iCurrentlyUsedHslp.Compare(aForHslp) == KErrNone)
-    	{
-		iUIRequestArray.Append(aObserver);
-    	}
-    else
-    	{
-		return KErrInUse;                
-    	}
-    		
-	return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// COMASUPLProtocolManager1::SettingsUICompletedL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-void COMASUPLProtocolManager1::SettingsUICompletedL(TInt aError)
-	{
-	iTrace->Trace(_L("COMASUPLProtocolManager1::SettingsUICompletedL"), KTraceFileName, __LINE__);
-    iSuplSettings->SetUIActive(EFalse);
-
-    if (iDeInitDone)
-        {
-	    iTrace->Trace(_L("COMASUPLProtocolManager1::SettingsUICompletedL, de-init done.  Completing request"), KTraceFileName, __LINE__);
-        iDeInitDone = EFalse;
-        User::RequestComplete(iDeInitRequestStatus,KErrNone);
-        }                
-    else
-        {
-    	for(TInt i = 0; i < iUIRequestArray.Count(); i++)
-    		{
-    			iTrace->Trace(_L("COMASUPLProtocolManager1::SettingsUICompletedL,Forwarding ConnRerquestor "), KTraceFileName, __LINE__);
-    			MOMASuplUICompletionObserver* observer = iUIRequestArray[i];
-    			observer->SettingsUICompletedL(aError);
-    		}
-
-        }
-        
-    iCurrentlyUsedHslp.Copy(_L(""));	
-    iUIRequestArray.Reset();
-    }
-
 
 // -----------------------------------------------------------------------------
 // COMASUPLProtocolManager1::DeInitialize
@@ -1751,7 +1675,7 @@
 // 
 // -----------------------------------------------------------------------------
 //
-TInt COMASUPLProtocolManager1::LaunchSuplUsageSettingsUI(MOMASuplUICompletionObserver* aObserver, TBool aRoaming)	
+/*TInt COMASUPLProtocolManager1::LaunchSuplUsageSettingsUI(MOMASuplUICompletionObserver* aObserver, TBool aRoaming)	
 	{
 	iTrace->Trace(_L("COMASUPLProtocolManager1::LaunchSuplUsageSettingsUI"), KTraceFileName, __LINE__);
     if (iSuplSettings->IsUIActive() && !iTimeOutDialogPresent)
@@ -1766,7 +1690,7 @@
     iSessnUIObserver = aObserver;            
     iSuplSettings->SetUIActive(ETrue);
     return iSettingsLauncher->LaunchSuplUsageSettingsUI(aRoaming);
-	}
+	}*/
 
 // -----------------------------------------------------------------------------
 // COMASUPLProtocolManager1::SettingsUsageUICompletedL
@@ -1774,7 +1698,7 @@
 // 
 // -----------------------------------------------------------------------------
 //
-void COMASUPLProtocolManager1::SettingsUsageUICompletedL(TInt aError)
+/*void COMASUPLProtocolManager1::SettingsUsageUICompletedL(TInt aError)
 	{
 	iTrace->Trace(_L("COMASUPLProtocolManager1::SettingsUsageUICompletedL"), KTraceFileName, __LINE__);
     iSuplSettings->SetUIActive(EFalse);
@@ -1792,7 +1716,7 @@
         }
 
     CheckOutstandingUsageUIRequestsL();
-	}
+	}*/
 
 // -----------------------------------------------------------------------------
 // COMASUPLProtocolManager1::ReadSuplUsage
@@ -1800,7 +1724,7 @@
 // 
 // -----------------------------------------------------------------------------
 //
-void COMASUPLProtocolManager1::ReadSuplUsage()
+/*void COMASUPLProtocolManager1::ReadSuplUsage()
 	{
 	iTrace->Trace(_L("COMASUPLProtocolManager1::ReadSuplUsage start"), KTraceFileName, __LINE__);	
 	CSuplSettings::TSuplSettingsUsage suplUsage;
@@ -1810,7 +1734,7 @@
 			iSuplSettings->SetSUPLUsage(suplUsage);
 		}
 	iTrace->Trace(_L("COMASUPLProtocolManager1::ReadSuplUsage end"), KTraceFileName, __LINE__);	
-	}
+	}*/
 
 void COMASUPLProtocolManager1::UpdateAllSubSessnsInSameSession(TInt aIpcSessionId)
     {
@@ -1851,7 +1775,7 @@
 
             if (OMAsuplSession->GetSuplUsageFlag())
                 {                        
-                OMAsuplSession->StartUsageDialogLaunchL();
+                //OMAsuplSession->StartUsageDialogLaunchL();
                 break;
                 }
 		}
@@ -1941,7 +1865,7 @@
 // 
 // -----------------------------------------------------------------------------
 //
-TInt COMASUPLProtocolManager1::LaunchSuplDialogTimeoutUI(MOMASuplUICompletionObserver* aObserver )
+/*TInt COMASUPLProtocolManager1::LaunchSuplDialogTimeoutUI(MOMASuplUICompletionObserver* aObserver )
     {
     iTrace->Trace(_L("COMASUPLProtocolManager1::LaunchTimeOutUI"), KTraceFileName, __LINE__);
     
@@ -1955,7 +1879,7 @@
     iSuplSettings->SetUIActive(ETrue);
     iTimeOutDialogPresent = ETrue;
     return iSettingsLauncher->LaunchSessionTimeOutDialog();		
-    }
+    }*/
 
 // -----------------------------------------------------------------------------
 // COMASUPLProtocolManager1::SettingsTimeOutUICompletedL
@@ -1963,7 +1887,7 @@
 // 
 // -----------------------------------------------------------------------------
 //
-void COMASUPLProtocolManager1::SettingsTimeOutUICompletedL(TInt aError)
+/*void COMASUPLProtocolManager1::SettingsTimeOutUICompletedL(TInt aError)
 	{
 	iTrace->Trace(_L("COMASUPLProtocolManager1::SettingsTimeOutUICompletedL"), KTraceFileName, __LINE__);
     iSuplSettings->SetUIActive(EFalse);
@@ -1980,16 +1904,17 @@
         if (iSessnUIObserver)                
         	iSessnUIObserver->SettingsTimeOutUICompletedL(aError);
         }
-	}
+	}*/
 
 // -----------------------------------------------------------------------------
 // COMASUPLProtocolManager1::GetLastUsedAccessPoint
 // 
 // -----------------------------------------------------------------------------
 //
-TInt COMASUPLProtocolManager1::GetLastUsedAccessPoint(TDes& aLastlyUsedAccessPoint,TUint32& iIAPId)
+TInt COMASUPLProtocolManager1::GetLastUsedAccessPoint(TDes& /*aLastlyUsedAccessPoint*/,TUint32& /*iIAPId*/)
 	{
-	return iSettingsLauncher->GetIAPName(aLastlyUsedAccessPoint,iIAPId);
+	//return iSettingsLauncher->GetIAPName(aLastlyUsedAccessPoint,iIAPId);
+	return KErrNone;
 	}
 
 // -----------------------------------------------------------------------------
@@ -2088,8 +2013,17 @@
     iSuplInitTimeOut = aCommmonConfig->iSuplInitTimeOut;
     iPersistFailTimer = aCommmonConfig->iPersistFailTimer;
     }
-	
-	
+    
+// -----------------------------------------------------------------------------
+// COMASUPLProtocolManager1::HandleSuplTriggerStatusChangeL
+// pure virtual method from MSuplSettingsObserver; dummy implementation for compilation 
+// -----------------------------------------------------------------------------
+//
+void COMASUPLProtocolManager1::HandleSuplTriggerStatusChangeL(CSuplSettings::TSuplTriggerStatus /*aSuplTriggerStatus*/ ) 
+{
+
+}
+
 // -----------------------------------------------------------------------------
 // COMASUPLProtocolManager1::MakeLocationConversionRequestL
 // 
@@ -2114,6 +2048,7 @@
     iRunningSessionCount++;
 
     COMASuplLocationId* locationId =   COMASuplLocationId::NewL();
+    CleanupStack::PushL(locationId);
     COMASuplLocationId::TOMASuplStatus status = COMASuplLocationId::EStale;
     switch(aCellInfo.iGeoCellType)
         {
@@ -2134,7 +2069,7 @@
             }
             break;
         }
-   
+    CleanupStack::Pop(locationId); 
     tempBuf.Copy(_L("MCC = "));
     tempBuf.AppendNum(aCellInfo.iMCC);
     iTrace->Trace(tempBuf, KTraceFileName, __LINE__);
@@ -2182,18 +2117,4 @@
     aSuplSession->CancelRunSession();   
     return ;
     }
-	
-    
-// -----------------------------------------------------------------------------
-// COMASUPLProtocolManager1::CancelUiLaunch
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-void COMASUPLProtocolManager1::CancelUiLaunch()
-    {
-    iTrace->Trace(_L("COMASUPLProtocolManager1::CancelUiLaunch"), KTraceFileName, __LINE__);
-    iSettingsLauncher->CancelLaunch();
-    }
-    
 // end of file
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplsession.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplsession.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -172,7 +172,7 @@
 		
 		if( aIMSI.Length() )
 		    {
-		    iIMSI.Create( aIMSI );    
+		    User::LeaveIfError(iIMSI.Create( aIMSI ));    
 		    }
 		
 		if(iPosHandler)
@@ -205,6 +205,12 @@
         
         iNetworkPrivacy 	= CPosNetworkPrivacy::NewL();
         
+        #ifdef PRINT_MESSAGE
+        TInt retval = iLogger.Connect();
+        if(retval == KErrNone)
+				iLogger.CreateLog(_L("NFT"),_L("NFT.txt"),EFileLoggingModeAppend);
+				#endif
+        
 		iTrace->Trace(_L("End of COMASuplSession::ConstructL"), KTraceFileName, __LINE__); 
     }
     
@@ -253,7 +259,7 @@
 			SessionEnd();
 			CompleteSession(KErrCancel);
 		}
-		iProtocolManager.CancelUiLaunch();
+
 		delete this;
 	}
 
@@ -316,12 +322,11 @@
         delete iDialogTimer;
         
         delete iNetworkPrivacy;
-
-	if(iStaleLocationId)
-    	  {
-    	  delete iStaleLocationId;
-    	  iStaleLocationId = NULL;
-    	  }  
+        
+        #ifdef PRINT_MESSAGE
+        iLogger.CloseLog();
+				iLogger.Close();
+				#endif
     	
     	if(iTrace)
     		iTrace->Trace(_L("End of ~COMASuplSession::COMASuplSession"), KTraceFileName, __LINE__); 
@@ -432,6 +437,11 @@
                                        TBool aFallBack, TInt aAllowedCapabilities,
  									  TInt aSessionIdSeed,TInt aRequestID,TBool aIsStaleCellId,COMASuplLocationId* aLocationId,TBool aPrompt,TBool aWlanOnly)
     {
+    	
+    		iSessionStartTime1.HomeTime();
+    		
+				
+    	
 	    iRunRequestStatus = & aStatus;
 	    *iRunRequestStatus = KRequestPending;
 
@@ -500,7 +510,7 @@
 
     	if(aAllowedCapabilities == 0)
     		{
-				iAllowedCapabilities = KGpsSETBased | KAutonomousGps| KAFLT | KECID | KEOTD | KOTDOA | KCID; 
+    			iAllowedCapabilities = KGpsSETBased | KAutonomousGps| KAFLT | KECID | KEOTD | KOTDOA | KCID; 
     		}
     	else
     		{
@@ -545,7 +555,7 @@
 		// Clear  Position....
 		delete iPosition;
 		iPosition = NULL;
-
+		
 	    
 		iTrace->Trace(_L("End of COMASuplSession::RunSuplSession"), KTraceFileName, __LINE__); 
     }
@@ -564,7 +574,6 @@
   										TSuplTerminalQop& aQop, TInt aRequestID)
   	{
   	
-        iIhaveLaunchedUsagedialog = EFalse;
   		
 	  	iClientQop = aQop;
 	  	
@@ -720,11 +729,10 @@
 		    startSuplState->SetStaleCellIdToUse(iStaleLocationId->CloneL());
 		    }
         iSuplSessionState = ESUPL_GENERATE;
-        iSuplMsgType = ESUPL_START;
+		iSuplMsgType = ESUPL_START;
+		SetPOSMsgPluginState(COMASuplPosSessionBase::EOMASuplCreating); 	
 		TInt err = iSuplState->GenerateMessageL();
-	
-
-		SetPOSMsgPluginState(COMASuplPosSessionBase::EOMASuplCreating);	
+
 	}  
 	 
 
@@ -862,9 +870,39 @@
     {	
     	if(iRunRequestStatus)
     		{
-    		
+    		TTimeIntervalSeconds timeTaken;
     		TTime currentTime;
     		currentTime.HomeTime();
+    		currentTime.SecondsFrom(iSessionStartTime1,timeTaken);
+    		
+    		#ifdef PRINT_MESSAGE
+    		TBuf<30> bufTime1;
+    		_LIT( KFormatDate, "%d%+02d%+02d:%+02d%+02d%+02d.%+06d");
+    		
+    		TDateTime datetime = iSessionStartTime1.DateTime();
+				bufTime1.Format( KFormatDate, datetime.Year(), 
+				datetime.Month(), datetime.Day(), 
+				datetime.Hour(), datetime.Minute(), 
+				datetime.Second(), datetime.MicroSecond());
+
+				iLogger.Write(_L("Session started at time : "));
+    		iLogger.Write(bufTime1);
+				
+				TBuf<30> bufTime;
+				
+				TDateTime datetime1 = currentTime.DateTime();
+				bufTime.Format( KFormatDate, datetime1.Year(), 
+				datetime1.Month(), datetime1.Day(), 
+				datetime1.Hour(), datetime1.Minute(), 
+				datetime1.Second(), datetime1.MicroSecond());
+				
+				iLogger.Write(_L("Session ended at time : "));
+    		iLogger.Write(bufTime);
+    		iLogger.Write(_L("Time taken : "));
+    		//bufTime.Copy(timeTaken);
+    		iLogger.Write(bufTime);
+    		#endif
+    		
     		iSessionCompletionCode = aCompletionCode;
     		
 			TBuf<64> errorCode;
@@ -2036,128 +2074,126 @@
 //
 void COMASuplSession::HandleOMASuplMessageL(COMASuplAsnMessageBase* aDecodedAsnMessage,TRequestStatus& aStatus,TInt aSessionIdSeed,TInt aErrorCode)
 	{
-	delete iSuplState;
-	iSuplState = NULL;
+		delete iSuplState;
+		iSuplState = NULL;
 		
-	iSETSessionUniqueId = aSessionIdSeed;
-	iRunRequestStatus = & aStatus;
-	*iRunRequestStatus = KRequestPending;
+		iSETSessionUniqueId = aSessionIdSeed;
+		iRunRequestStatus = & aStatus;
+	    *iRunRequestStatus = KRequestPending;
 	    
-	TInt networkMode = 1;
-	networkMode = GetNetworkModeL();
+		TInt networkMode = 1;
+		networkMode = GetNetworkModeL();
 		
-	TBuf<64> msg;
-	if ( networkMode == ECoreAppUIsNetworkConnectionNotAllowed )
-		{
-		msg.Copy(_L("The device is in OFFLINE mode."));
-		iTrace->Trace(msg,KTraceFileName, __LINE__); 
-		iSessionObserver.TerminateSession(this, KErrGeneral);
-		return;
-		}
-	else
-		{
-		msg.Copy(_L("The device is in ON LINE mode."));
-		iTrace->Trace(msg,KTraceFileName, __LINE__); 
-		}
-
-    CSuplSettings::TSuplSettingsUsage usage = iSuplSettings->SUPLUsage();
-
-    if (usage == CSuplSettings::ESuplUsageDisabled)
-        {                
-		msg.Copy(_L("SUPL Usage is disabled"));
-		iTrace->Trace(msg,KTraceFileName, __LINE__); 
-	    iSessionObserver.TerminateSession(this, KErrGeneral);	
-		return;
-        }
+		TBuf<64> msg;
+		if ( networkMode == ECoreAppUIsNetworkConnectionNotAllowed )
+			{
+				msg.Copy(_L("The device is in OFFLINE mode."));
+				iTrace->Trace(msg,KTraceFileName, __LINE__); 
+				iSessionObserver.TerminateSession(this, KErrGeneral);
+				return;
+			}
+		else
+			{
+				msg.Copy(_L("The device is in ON LINE mode."));
+				iTrace->Trace(msg,KTraceFileName, __LINE__); 
+			}
+
+        /*CSuplSettings::TSuplSettingsUsage usage = iSuplSettings->SUPLUsage();
+
+        if (usage == CSuplSettings::ESuplUsageDisabled)
+            {                
+			msg.Copy(_L("SUPL Usage is disabled"));
+			iTrace->Trace(msg,KTraceFileName, __LINE__); 
+	        iSessionObserver.TerminateSession(this, KErrGeneral);	
+			return;
+            }*/
 	    
-	COMASuplAsnMessageBase::TSuplMessageType messageType = aDecodedAsnMessage->MessageType();
+	    COMASuplAsnMessageBase::TSuplMessageType messageType = aDecodedAsnMessage->MessageType();
 	    
-	if(messageType == COMASuplAsnMessageBase::ESUPL_INIT && aErrorCode == KErrNone)
-		{
-	    HandleOMASuplMessageL(aDecodedAsnMessage);
-	    }
-	else //Other messages than SUPL_INIT.... Send End
-	    {
-	    CreateCloneMessageL(aDecodedAsnMessage);		
-	    UpdateSuplSessionIDL();
-
-	    if (iRequestType == ESUPL_NETWORK && messageType == COMASuplAsnMessageBase::ESUPL_INIT)
+	    if(messageType == COMASuplAsnMessageBase::ESUPL_INIT && aErrorCode == KErrNone)
 	    	{
-			ServerAddressCheckForSuplInitL();
+	    		HandleOMASuplMessageL(aDecodedAsnMessage);
 	    	}
- 
-		iSuplSessionState = ESUPL_INITIALIZED;
-		iSuplMsgType = ESUPL_END;
-
-	    if((aErrorCode == KErrCompletion && messageType == COMASuplAsnMessageBase::ESUPL_INIT) ||
-	    	(aErrorCode == KErrOMASuplOutOfRangeParameter && messageType == COMASuplAsnMessageBase::ESUPL_INIT) ||
-	    	(aErrorCode == KErrOMASuplMessageLengthMismatch && messageType == COMASuplAsnMessageBase::ESUPL_INIT) ||
-			(aErrorCode == KErrOMASuplShortFrame && messageType == COMASuplAsnMessageBase::ESUPL_INIT))	    			
-	   		{
-	    	iErrorStatusCode = COMASuplEnd::EUnexpectedDataValue;
-	    	if(aErrorCode == KErrOMASuplMessageLengthMismatch)
-	    		{
-	    		iErrorStatusCode = COMASuplEnd::EProtocolError;
-	    		}
-      		if(aErrorCode == KErrOMASuplShortFrame)
-	    		{
-	    		iErrorStatusCode = COMASuplEnd::EDataMissing;
-	    		}
-			TInt len = iHSLPAddress.Length();
-			HBufC8 *hslpAdress = NULL;
-			if(len > 0)
-				{
-				hslpAdress = HBufC8::NewL(iHSLPAddress.Length());
-				hslpAdress->Des().Copy(iHSLPAddress);
-				}						
-			else if(len ==0)
-				{
-				CServerParams* serverParams = CServerParams::NewL();
-				CleanupStack::PushL(serverParams);
-					
-				if (iSuplStorageSettings->GetDefaultServer(serverParams) == KErrNotFound )
-					{
-					iTrace->Trace(_L("HSLP generated frm IMSI"), KTraceFileName, __LINE__);
-					hslpAdress = HBufC8::NewL(iSuplSettings->SLPAddressfromImsi().Length());
-					hslpAdress->Des().Copy(iSuplSettings->SLPAddressfromImsi());
-					}		
-				else
-					{
-					iTrace->Trace(_L("Sending End with ver for Default HSLP"), KTraceFileName, __LINE__);
-					TInt64 slpId;
-            		TBool aServerEnabled, aSimChangeRemove, aUsageInHomeNw, aEditable;
-					HBufC* serverAddr = HBufC::NewL(KMaxHSLPAddrLen);
-					HBufC* iapName = HBufC::NewL(KMaxIAPLen);
-					CleanupStack::PushL(serverAddr);
-					CleanupStack::PushL(iapName);
-					serverParams->Get(slpId,serverAddr->Des(),iapName->Des(),aServerEnabled, aSimChangeRemove, aUsageInHomeNw, aEditable);
-					hslpAdress = HBufC8::NewL(serverAddr->Length());
-					hslpAdress->Des().Copy(*serverAddr);
+	    else //Other messages than SUPL_INIT.... Send End
+	    	{
+	    		CreateCloneMessageL(aDecodedAsnMessage);		
+	    		UpdateSuplSessionIDL();
+        if (iRequestType == ESUPL_NETWORK && messageType == COMASuplAsnMessageBase::ESUPL_INIT)
+            {
+            ServerAddressCheckForSuplInitL();
+            }
+				iSuplSessionState = ESUPL_INITIALIZED;
+				iSuplMsgType = ESUPL_END;
+
+	    		if((aErrorCode == KErrCompletion && messageType == COMASuplAsnMessageBase::ESUPL_INIT) ||
+	    			(aErrorCode == KErrOMASuplOutOfRangeParameter && messageType == COMASuplAsnMessageBase::ESUPL_INIT) ||
+	    			(aErrorCode == KErrOMASuplMessageLengthMismatch && messageType == COMASuplAsnMessageBase::ESUPL_INIT) ||
+						(aErrorCode == KErrOMASuplShortFrame && messageType == COMASuplAsnMessageBase::ESUPL_INIT))	    			
+	    			{
+	    				iErrorStatusCode = COMASuplEnd::EUnexpectedDataValue;
+	    				if(aErrorCode == KErrOMASuplMessageLengthMismatch)
+	    					{
+	    						iErrorStatusCode = COMASuplEnd::EProtocolError;
+	    					}
+      				if(aErrorCode == KErrOMASuplShortFrame)
+	    					{
+	    						iErrorStatusCode = COMASuplEnd::EDataMissing;
+	    					}
+						TInt len = iHSLPAddress.Length();
+						HBufC8 *hslpAdress = NULL;
+						if(len > 0)
+						{
+							hslpAdress = HBufC8::NewL(iHSLPAddress.Length());
+							hslpAdress->Des().Copy(iHSLPAddress);
+						}
 						
-					CleanupStack::PopAndDestroy(iapName);
-					CleanupStack::PopAndDestroy(serverAddr);
-							
-					}
-				CleanupStack::PopAndDestroy(serverParams);
-				}
-			delete iSuplState;
-			iSuplState = NULL;
-			CleanupStack::PushL(hslpAdress);
-			iSuplState = COMASuplEndState::NewL(iErrorStatusCode,iOMASuplAsnHandlerBaseImpl,iEncodedSuplInit,hslpAdress);
-			CleanupStack::PopAndDestroy(hslpAdress);
-	    	}
-	    else
-	    	{
-	    		iErrorStatusCode = COMASuplEnd::EUnexpectedMessage;
-	    		iSuplState = COMASuplEndState::NewL(iErrorStatusCode,iOMASuplAsnHandlerBaseImpl);
-	    	}	
+						else if(len ==0)
+						{
+                CServerParams* serverParams = CServerParams::NewL();
+                CleanupStack::PushL(serverParams);
+            
+                if (iSuplStorageSettings->GetDefaultServer(serverParams) == KErrNotFound )
+                    {
+                    iTrace->Trace(_L("HSLP generated frm IMSI"), KTraceFileName, __LINE__);
+                    hslpAdress = HBufC8::NewL(iSuplSettings->SLPAddressfromImsi().Length());
+                    hslpAdress->Des().Copy(iSuplSettings->SLPAddressfromImsi());	
+                    }		
+                else
+                    {
+                    iTrace->Trace(_L("Sending End with ver for Default HSLP"), KTraceFileName, __LINE__);
+                    TInt64 slpId;
+                    TBool aServerEnabled, aSimChangeRemove, aUsageInHomeNw, aEditable;
+                    HBufC* serverAddr = HBufC::NewL(KMaxHSLPAddrLen);
+                    HBufC* iapName = HBufC::NewL(KMaxIAPLen);
+                    CleanupStack::PushL(serverAddr);
+                    CleanupStack::PushL(iapName);
+                    serverParams->Get(slpId,serverAddr->Des(),iapName->Des(),aServerEnabled, aSimChangeRemove, aUsageInHomeNw, aEditable);
+                    hslpAdress = HBufC8::NewL(serverAddr->Length());
+                    hslpAdress->Des().Copy(*serverAddr);
+                
+                    CleanupStack::PopAndDestroy(iapName);
+                    CleanupStack::PopAndDestroy(serverAddr);
+                    }
+                CleanupStack::PopAndDestroy(serverParams);
+                }
+            delete iSuplState;
+            iSuplState = NULL;
+						CleanupStack::PushL(hslpAdress);
+						iSuplState = COMASuplEndState::NewL(iErrorStatusCode,iOMASuplAsnHandlerBaseImpl,iEncodedSuplInit,hslpAdress);		
+						CleanupStack::PopAndDestroy(hslpAdress);
+	    			}
+	    		else
+	    			{
+	    				iErrorStatusCode = COMASuplEnd::EUnexpectedMessage;
+	    				iSuplState = COMASuplEndState::NewL(iErrorStatusCode,iOMASuplAsnHandlerBaseImpl);
+	    			}	
 	    			
-	    SetPOSMsgPluginState(COMASuplPosSessionBase::EOMASuplCreating);	
-		iSuplState->SetMsgStateObserver(this);
-		//SMP Changes
-		iSuplState->GenerateMessageL(); //Has to be here because initialisation has to be done for NI case in decode failed scenario.
-		iSuplSessionState = ESUPL_GENERATE;				 
-		}	
+	    		SetPOSMsgPluginState(COMASuplPosSessionBase::EOMASuplCreating);	
+				iSuplState->SetMsgStateObserver(this);
+				//SMP Changes
+        iSuplState->GenerateMessageL(); //Has to be here because initialisation has to be done for NI case in decode failed scenario.
+        iSuplSessionState = ESUPL_GENERATE;
+        }	
 	}
 
 // -----------------------------------------------------------------------------
@@ -2168,11 +2204,10 @@
 //
 void COMASuplSession::HandleOMASuplMessageL(COMASuplAsnMessageBase* aDecodedAsnMessage)
 	{
-    CreateCloneMessageL(aDecodedAsnMessage);
+		CreateCloneMessageL(aDecodedAsnMessage);		
 		if(CheckProtocolVersionL(aDecodedAsnMessage)) //Checks version with supported version
 		{
 			COMASuplAsnMessageBase::TSuplMessageType messageType = aDecodedAsnMessage->MessageType();
-
 			if(messageType != COMASuplAsnMessageBase::ESUPL_POS)
 				{
 					iCompleteSelfRequestor->CompleteSelf(); //This will result in call of RequestCompleted()
@@ -3120,6 +3155,8 @@
 								return;
 							}
 					}
+				//Comment to ignore coverity missing break error
+				//coverity[MISSING_BREAK  :FALSE] 
 				case COMASuplState::ESUPL_POS_INIT:
 				{
 					cancelSendRequestor = EFalse;
@@ -3372,48 +3409,45 @@
 		
 			else if(len ==0)
 				{
-					CServerParams* serverParams = CServerParams::NewL();
-					CleanupStack::PushL(serverParams);
-					
-						if (iSuplStorageSettings->GetDefaultServer(serverParams) == KErrNotFound )
-						{
-						iTrace->Trace(_L("HSLP generated frm IMSI"), KTraceFileName, __LINE__);
-						hslpAdress = HBufC8::NewL(iSuplSettings->SLPAddressfromImsi().Length());
-						CleanupStack::PushL(hslpAdress);
-						hslpAdress->Des().Copy(iSuplSettings->SLPAddressfromImsi());
-						CleanupStack::Pop(hslpAdress);	
-						}
-						else
-						{
-							iTrace->Trace(_L("Default HSLP"), KTraceFileName, __LINE__);
-							TInt64 slpId;
-							TBool aServerEnabled, aSimChangeRemove, aUsageInHomeNw, aEditable;
-							HBufC* serverAddr = HBufC::NewL(KMaxHSLPAddrLen);
-							HBufC* iapName = HBufC::NewL(KMaxIAPLen);
-							CleanupStack::PushL(serverAddr);
-							CleanupStack::PushL(iapName);
-							serverParams->Get(slpId,serverAddr->Des(),iapName->Des(),aServerEnabled, aSimChangeRemove, aUsageInHomeNw, aEditable);
-							hslpAdress = HBufC8::NewL(serverAddr->Length());
-							hslpAdress->Des().Copy(*serverAddr);
-						
-							CleanupStack::PopAndDestroy(iapName);
-							CleanupStack::PopAndDestroy(serverAddr);
-							
-						}
-					CleanupStack::PopAndDestroy(serverParams);	
-					
-				}
-            delete iSuplState;
-            iSuplState = NULL;
-            CleanupStack::PushL(hslpAdress);
-            if(setStatusCode)
-                {
-                iSuplState = COMASuplEndState::NewL(iErrorStatusCode,iOMASuplAsnHandlerBaseImpl,iEncodedSuplInit,hslpAdress);		
-                }
-            else
-                {
-                iSuplState = COMASuplEndState::NewL(iOMASuplAsnHandlerBaseImpl,iEncodedSuplInit,hslpAdress );
-                } 		
+        CServerParams* serverParams = CServerParams::NewL();
+        CleanupStack::PushL(serverParams);
+        
+        if (iSuplStorageSettings->GetDefaultServer(serverParams) == KErrNotFound )
+            {
+            iTrace->Trace(_L("HSLP generated frm IMSI"), KTraceFileName, __LINE__);
+            hslpAdress = HBufC8::NewL(iSuplSettings->SLPAddressfromImsi().Length());
+            hslpAdress->Des().Copy(iSuplSettings->SLPAddressfromImsi());
+            }
+        else
+            {
+            iTrace->Trace(_L("Default HSLP"), KTraceFileName, __LINE__);
+            TInt64 slpId;
+            TBool aServerEnabled, aSimChangeRemove, aUsageInHomeNw, aEditable;
+            HBufC* serverAddr = HBufC::NewL(KMaxHSLPAddrLen);
+            HBufC* iapName = HBufC::NewL(KMaxIAPLen);
+            CleanupStack::PushL(serverAddr);
+            CleanupStack::PushL(iapName);
+            serverParams->Get(slpId,serverAddr->Des(),iapName->Des(),aServerEnabled, aSimChangeRemove, aUsageInHomeNw, aEditable);
+            hslpAdress = HBufC8::NewL(serverAddr->Length());
+            hslpAdress->Des().Copy(*serverAddr);
+        
+            CleanupStack::PopAndDestroy(iapName);
+            CleanupStack::PopAndDestroy(serverAddr);
+            }
+        CleanupStack::PopAndDestroy(serverParams);	
+        }
+
+    delete iSuplState;
+    iSuplState = NULL;
+    CleanupStack::PushL(hslpAdress);
+ 		if(setStatusCode)
+ 			{
+	 			iSuplState = COMASuplEndState::NewL(iErrorStatusCode,iOMASuplAsnHandlerBaseImpl,iEncodedSuplInit,hslpAdress);		
+ 			}
+ 		else
+ 			{
+ 				iSuplState = COMASuplEndState::NewL(iOMASuplAsnHandlerBaseImpl,iEncodedSuplInit,hslpAdress );
+ 			} 		
  			
  		CleanupStack::PopAndDestroy(hslpAdress);
  		
@@ -3427,7 +3461,7 @@
 		//SMP Changes
 		
 		iSuplState->GenerateMessageL();
-		iSuplSessionState = ESUPL_GENERATE;//Has to be here because initialisation has to be done for NI case in reject scenario.
+		iSuplSessionState = ESUPL_GENERATE; // HAs to be here because initialisation has to be complete..
 	
 	}
 
@@ -3867,56 +3901,61 @@
 // -----------------------------------------------------------------------------
 TBool COMASuplSession::CheckProtocolVersionL(COMASuplAsnMessageBase* aDecodedAsn)
 	{
-    TOMASuplVersion version;
-    COMASuplSessionID* SessionID = NULL;
-    aDecodedAsn->MessageBase(version,SessionID);
-    
-    TInt recMajor,recMinor,recServInd;
-    version.SuplVersion(recMajor,recMinor,recServInd);		
-    
-    if(recMajor == KSuplMajorVersion )
-        {
-        return  ETrue;
-        } 
-    else
-        {
-        COMASuplAsnMessageBase::TSuplMessageType messageType = aDecodedAsn->MessageType();
-        if(messageType == COMASuplAsnMessageBase::ESUPL_END) 
-            {
-            iTrace->Trace(_L("Received message is SUPL_END...with wrong Version.Terminating session"), KTraceFileName, __LINE__); 
-            iSessionObserver.TerminateSession(this, KErrCompletion);	
-            }
-        else
-            {
-            iTrace->Trace(_L("Received message with wrong version."), KTraceFileName, __LINE__); 
-
-            delete iSuplState;
-            iSuplMsgType = ESUPL_END;
-            iErrorStatusCode = COMASuplEnd::EVersionNotSupported;	
-            SetPOSMsgPluginState(COMASuplPosSessionBase::EOMASuplCreating);	
-
-            if(iRequestType == ESUPL_NETWORK )
-                {
+		TOMASuplVersion version;
+		COMASuplSessionID* SessionID = NULL;
+		aDecodedAsn->MessageBase(version,SessionID);
+		
+		TInt recMajor,recMinor,recServInd;
+		version.SuplVersion(recMajor,recMinor,recServInd);		
+		
+		if(recMajor == KSuplMajorVersion )
+			{
+				return  ETrue;
+			} 
+		else
+			{
+			COMASuplAsnMessageBase::TSuplMessageType messageType = aDecodedAsn->MessageType();
+			if(messageType == COMASuplAsnMessageBase::ESUPL_END) 
+				{
+					iTrace->Trace(_L("Received message is SUPL_END...with wrong Version.Terminating session"), KTraceFileName, __LINE__); 
+					iSessionObserver.TerminateSession(this, KErrCompletion);	
+				}
+			else
+				{
+					iTrace->Trace(_L("Received message with wrong version."), KTraceFileName, __LINE__); 
+					
+					if (iSuplState)
+					{
+					delete iSuplState;
+					iSuplState = NULL;
+					}
+					iSuplMsgType = ESUPL_END;
+					iErrorStatusCode = COMASuplEnd::EVersionNotSupported;	
+					SetPOSMsgPluginState(COMASuplPosSessionBase::EOMASuplCreating);	
+
+					if(iRequestType == ESUPL_NETWORK )
+					{
                 if (messageType == COMASuplAsnMessageBase::ESUPL_INIT)    
                     {                                
-                    iSuplSessionState = ESUPL_INITIALIZED;
-                    TInt len = iHSLPAddress.Length();
-                    HBufC8 *hslpAdress = NULL;
-                    if(len > 0)
-                        {
-                        hslpAdress = HBufC8::NewL(iHSLPAddress.Length());
-                        hslpAdress->Des().Copy(iHSLPAddress);
-                        }
-                    else if(len ==0)
-                        {
+						
+						iSuplSessionState = ESUPL_INITIALIZED;
+					    TInt len = iHSLPAddress.Length();
+					    HBufC8 *hslpAdress = NULL;
+					    if(len > 0)
+					    {
+					        hslpAdress = HBufC8::NewL(iHSLPAddress.Length());
+					        hslpAdress->Des().Copy(iHSLPAddress);
+					    }
+				   	else if(len ==0)
+					{
                         CServerParams* serverParams = CServerParams::NewL();
                         CleanupStack::PushL(serverParams);
         
                         if (iSuplStorageSettings->GetDefaultServer(serverParams) == KErrNotFound )
                             {
-                            iTrace->Trace(_L("Length of HSLP Address is = 0, passing the HSLP generated frm IMSI"), KTraceFileName, __LINE__);
-                            hslpAdress = HBufC8::NewL(iSuplSettings->SLPAddressfromImsi().Length());
-                            hslpAdress->Des().Copy(iSuplSettings->SLPAddressfromImsi());	
+							iTrace->Trace(_L("Length of HSLP Address is = 0, passing the HSLP generated frm IMSI"), KTraceFileName, __LINE__);
+							hslpAdress = HBufC8::NewL(iSuplSettings->SLPAddressfromImsi().Length());
+							hslpAdress->Des().Copy(iSuplSettings->SLPAddressfromImsi());	
                             }		
                         else
                             {
@@ -3933,28 +3972,30 @@
             
                             CleanupStack::PopAndDestroy(iapName);
                             CleanupStack::PopAndDestroy(serverAddr);
-                            }
+						    }
                         CleanupStack::PopAndDestroy(serverParams);
                         }
-                    if(iSuplState)
-                    	{
-                    delete iSuplState;
-                    iSuplState = NULL;
-                      }
-                    CleanupStack::PushL(hslpAdress);
-                    ServerAddressCheckForSuplInitL();
-                    iSuplState = COMASuplEndState::NewL(iErrorStatusCode,iOMASuplAsnHandlerBaseImpl,iEncodedSuplInit,hslpAdress);		
-                    CleanupStack::PopAndDestroy(hslpAdress);
-
-                    // Set the SessionId.
-                    iTrace->Trace(_L("COMASuplSession::CheckProtocolVersionL Update SLP Session ID"), KTraceFileName, __LINE__);
-                    UpdateSLPSessionIDL(SessionID);
-
-                    iTrace->Trace(_L("COMASuplSession::CheckProtocolVersionL Update SET Session ID"), KTraceFileName, __LINE__);
-                    UpdateSETSessionIDL(SessionID);
-                    iSuplState->SetMsgStateObserver(this);
-                    iSuplState->GenerateMessageL();
-                    iSuplSessionState = ESUPL_GENERATE;
+                      
+                      if(iSuplState)
+                      {
+	                    delete iSuplState;
+	                    iSuplState = NULL;
+	                  	}
+						
+					    CleanupStack::PushL(hslpAdress);
+	                    ServerAddressCheckForSuplInitL();
+					    iSuplState = COMASuplEndState::NewL(iErrorStatusCode,iOMASuplAsnHandlerBaseImpl,iEncodedSuplInit,hslpAdress);		
+					    CleanupStack::PopAndDestroy(hslpAdress);
+
+			            // Set the SessionId.
+				        iTrace->Trace(_L("COMASuplSession::CheckProtocolVersionL Update SLP Session ID"), KTraceFileName, __LINE__);
+			            UpdateSLPSessionIDL(SessionID);
+
+				        iTrace->Trace(_L("COMASuplSession::CheckProtocolVersionL Update SET Session ID"), KTraceFileName, __LINE__);
+			            UpdateSETSessionIDL(SessionID);
+						iSuplState->SetMsgStateObserver(this);
+						iSuplState->GenerateMessageL();
+						iSuplSessionState = ESUPL_GENERATE;
                     }
                 else
                     {                                
@@ -3966,17 +4007,20 @@
                     iSuplSessionState = ESUPL_GENERATE;
                     iSuplState->GenerateMessageL();
                     }
-                } 
-            else 							
-                {
-                iSuplState = COMASuplEndState::NewL(iErrorStatusCode,iOMASuplAsnHandlerBaseImpl);
-                iSuplSessionState = ESUPL_ENCODE;
-                iSuplState->SetMsgStateObserver(this);
-                iSuplState->GenerateMessageL();
-                }
-            }	
-        return EFalse;
-        }	
+
+					} 
+					else 							
+					{
+					    iSuplState = COMASuplEndState::NewL(iErrorStatusCode,iOMASuplAsnHandlerBaseImpl);
+						iSuplSessionState = ESUPL_ENCODE;
+						iSuplState->SetMsgStateObserver(this);
+						iSuplState->GenerateMessageL();
+					}
+				}	
+				
+			return EFalse;
+			}	
+
 	}
 
 // -----------------------------------------------------------------------------
@@ -4135,7 +4179,7 @@
 // COMASuplSession::SettingsUsageUICompletedL
 // 
 // -----------------------------------------------------------------------------
-void COMASuplSession::SettingsUsageUICompletedL(TInt aError)
+/*void COMASuplSession::SettingsUsageUICompletedL(TInt aError)
 	{
 	iUIFlag = EFalse;
     TBuf<64> msg;	
@@ -4144,7 +4188,6 @@
     iTrace->Trace(msg,KTraceFileName, __LINE__); 
 
     iPrevUsageResult = aError;                    
-    iIhaveLaunchedUsagedialog = EFalse;                 
 
 
     if (aError == KErrNone)
@@ -4181,7 +4224,7 @@
 			iSessionObserver.TerminateSession(this, KErrGeneral);	
 			return;
 		}
-	}
+	}*/
 
 // -----------------------------------------------------------------------------
 // COMASuplSession::CheckForSuplUsageL
@@ -4190,7 +4233,7 @@
 void COMASuplSession::CheckForSuplUsageL()
     {
 
-    if (iSuplUsage >= 1)
+    /*if (iSuplUsage >= 1)
         {            
         CSuplSettings::TSuplSettingsUsage usage = iSuplSettings->SUPLUsage();
         if (usage == CSuplSettings::ESuplUsageDisabled)
@@ -4198,15 +4241,24 @@
 	        iSessionObserver.TerminateSession(this, KErrGeneral);	
             }
         else if (usage == CSuplSettings::ESuplUsageAutomatic)
-            {            
+            { */           
             if (iNwInitError)
                 {
                 iNwInitError = EFalse;                    
                 HandleSuplInitErrorL(iNwInitCompletionCode);                             
                 }                
             else
-	            InitializeL(iRequestID); 
-            }
+            	{
+            		if (iRoaming)                
+                    HandleRoamingCheckCompleteL(KErrNone, EFalse);                    
+                else
+                    {                        
+                    iEtelRoamingCheck = ETrue;
+                    iProtocolManager.CheckForRoaming();
+                    }
+	            //InitializeL(iRequestID); 
+	          	}
+            /*}
 
             else if (usage == CSuplSettings::ESuplUsageHomeAutomatic || usage == CSuplSettings::ESuplUsageAlwaysAsk)
             {
@@ -4220,7 +4272,7 @@
             }            
         }            
         else
-	        InitializeL(iRequestID); 
+	        InitializeL(iRequestID); */
 
     }        
 
@@ -4303,92 +4355,10 @@
         {            
             iUsageHomeNW = aHomeNw;   
             iConnRequestor->UpdateSLPListForHomeUsage(iUsageHomeNW);             
-            CSuplSettings::TSuplSettingsUsage usage = iSuplSettings->SUPLUsage();
-            
-            if (usage == CSuplSettings::ESuplUsageAlwaysAsk || iStaleLocIdPrompt)
-                {
-                TInt err;                
-                if (!iSuplSettings->IsUIActive() )
-                    {                        
-                    if (!aHomeNw)
-                        {                            
-                        iTrace->Trace(_L("Invoking LaunchSuplUsageSettingsUI, user is roaming"), KTraceFileName, __LINE__);
-                        iIhaveLaunchedUsagedialog = ETrue;                 
-                        err = iProtocolManager.LaunchSuplUsageSettingsUI(this, ETrue);        
-                        }
-                    else
-                        {                            
-                        iTrace->Trace(_L("Invoking LaunchSuplUsageSettingsUI, user is not roaming"), KTraceFileName, __LINE__);
-                        iIhaveLaunchedUsagedialog = ETrue;                 
-                        err = iProtocolManager.LaunchSuplUsageSettingsUI(this, EFalse);        
-                        }
-                    }
-                else
-                    err = KErrInUse;                        
-
-                if(KErrNone != err && KErrInUse == err)
-                    {
-                        iTrace->Trace(_L("Dialog in use, setting flag"), KTraceFileName, __LINE__);
-                        SetSuplUsageFlag();                            
-                    }
-                if( KErrNone == err  && iRequestType == ESUPL_NETWORK )
-                    {
-                    iTrace->Trace(_L("Network Session , starting timer"), KTraceFileName, __LINE__);
-                    COMASuplInit* suplInit = static_cast <COMASuplInit*> (iDecodedAsnMessage);
-                    TOMASuplQop qop;
-                    TInt retVal = suplInit->Qop(qop);
-                    TInt delay;
-                    qop.Delay(delay);
-                    //if delay is > 7, it is not valid
-                    if (delay > 7)
-                        delay = 0;                                
-                    if(retVal == KErrNone && delay > 0)
-                        {
-                        TReal delayReal;
-                        Math::Pow(delayReal, 2, (TReal)delay);
-                        delay = (TInt) delayReal;
-                        TBuf<128> msg(_L("Delay present in message, value is = "));
-                        msg.AppendNum(delay);
-                        iTrace->Trace(msg, KTraceFileName, __LINE__); 
-                        isTimeoutDialogTimerStarted = ETrue;
-                        iDialogTimer->StartTimer(delay);
-                        }  	
-                    else
-                        {
-                        if (iSuplInitTimeOut > 0)
-                            {                                                        
-                            TBuf<256> msg(_L("Delay value in CR is"));
-                            msg.AppendNum(iSuplInitTimeOut);
-                            iTrace->Trace(msg, KTraceFileName, __LINE__); 
-                            iDialogTimer->StartTimer(iSuplInitTimeOut * KSecond);
-                            isTimeoutDialogTimerStarted = ETrue;
-                            }
-                        else
-                            iTrace->Trace(_L("Timeout is <= 0"), KTraceFileName, __LINE__);
-                        }
-                    iDlgStartTime.HomeTime();
-                    }
-                else if (KErrNone != err)
-                    {
-                    iTrace->Trace(_L("Invoking HandleSuplErrorL"), KTraceFileName, __LINE__);
-                    HandleSuplErrorL(err);
-                    }
-
-                }
-            else if (usage == CSuplSettings::ESuplUsageHomeAutomatic) 
-            {                
-            if (!aHomeNw)
-                {                
-                TInt err;                
-                //if (!iSuplSettings->IsUIActive() )
-                    {
-                    iTrace->Trace(_L("Invoking LaunchSuplUsageSettingsUI, user is roaming"), KTraceFileName, __LINE__);
-                    err = iProtocolManager.LaunchSuplUsageSettingsUI(this, ETrue);        
 
                     if(iSuplMsgType == ESUPL_INIT)
                         {
                         iTrace->Trace(_L("Dialog timer started"), KTraceFileName, __LINE__);
-				     
                         COMASuplInit* suplInit = static_cast <COMASuplInit*> (iDecodedAsnMessage);
                         TOMASuplQop qop;
                         TInt retVal = suplInit->Qop(qop);
@@ -4419,34 +4389,22 @@
                                 iTrace->Trace(_L("Timeout is <= 0"), KTraceFileName, __LINE__);
                             }
                         }
-                    }
-
-                if(!iSuplSettings->IsUIActive() && KErrNone != err)
-                    {
-                        SetSuplUsageFlag();                            
-                    }
-                else
-                    {
-                    iTrace->Trace(_L("Invoking HandleSuplErrorL"), KTraceFileName, __LINE__);
-                    HandleSuplErrorL(err);
-                    }
-                }
-            else            
-                {                
+                                
                 if (iNwInitError)
                     {
                     iNwInitError = EFalse;                    
                     HandleSuplInitErrorL(iNwInitCompletionCode);                             
                     }                
                 else
-	                InitializeL(iRequestID); 
-                }                
-            }                
+                {
+                	iTrace->Trace(_L("COMASuplSession::InitializeL called after roaming check"), KTraceFileName, __LINE__);
+	                InitializeL(iRequestID);  
+	              }  
         }
-        else
-            {
-	        iSessionObserver.TerminateSession(this, KErrGeneral);	
-            }                
+   else
+        {
+      	iSessionObserver.TerminateSession(this, KErrGeneral);	
+        }                
     }            
 TInt COMASuplSession::SuplIpcSessionID() 
     {
@@ -4511,7 +4469,7 @@
     return iUsageDialog;
     }        
 
-void COMASuplSession::StartUsageDialogLaunchL()
+/*void COMASuplSession::StartUsageDialogLaunchL()
     {
     iTrace->Trace(_L("COMASuplSession::StartUsageDialogLaunchL"), KTraceFileName, __LINE__);
     ReSetSuplUsageFlag();            
@@ -4677,7 +4635,7 @@
 	            InitializeL(iRequestID); 
             }                
         }                
-    }
+    }*/
 
 TBool COMASuplSession::IsEtelNotifySet()
     {
@@ -4690,12 +4648,6 @@
     iTrace->Trace(_L("COMASuplSession::IsEtelRoamingSet"), KTraceFileName, __LINE__); 
     return iEtelRoamingCheck;
     }        
-	
-TBool COMASuplSession::HasMeLaunchedUsageDialog()
-{
-	return iIhaveLaunchedUsagedialog; 
-}
-
 
 // -----------------------------------------------------------------------------
 // COMASuplSession::DialogTimerExpiredL
@@ -4706,10 +4658,10 @@
 {
    iTrace->Trace(_L("Timer Expired for SUPL Dialog"), KTraceFileName, __LINE__); 
   
-    if (!iIapDialogShown)
-	    iProtocolManager.LaunchSuplDialogTimeoutUI(this);
-    else
-        iIapDlgTimerExpired = ETrue;            
+    //if (!iIapDialogShown)
+	   // iProtocolManager.LaunchSuplDialogTimeoutUI(this);
+   // else
+       // iIapDlgTimerExpired = ETrue;            
 
     return;	
 }
@@ -4718,14 +4670,14 @@
 // COMASuplSession::SettingsTimeOutUICompletedL
 // 
 // -----------------------------------------------------------------------------
-void COMASuplSession::SettingsTimeOutUICompletedL(TInt aError)
+void COMASuplSession::SettingsTimeOutUICompletedL(TInt /*aError*/)
 	{
 	
-	    TBuf<64> msg;	
-	    msg.Copy(_L("SUPL Timeout UI completed with ... "));
-	    msg.AppendNum(aError);
-	    iTrace->Trace(msg,KTraceFileName, __LINE__); 
-	    iSessionObserver.TerminateSession(this, KErrGeneral);	
+	  //  TBuf<64> msg;	
+	  //  msg.Copy(_L("SUPL Timeout UI completed with ... "));
+	  //  msg.AppendNum(aError);
+	  //  iTrace->Trace(msg,KTraceFileName, __LINE__); 
+	  //  iSessionObserver.TerminateSession(this, KErrGeneral);	
 	    return;
 	    
 	}
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplstartstate.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplstartstate.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -149,23 +149,24 @@
 //
 TInt COMASuplStartState::GenerateMessageL() 
 	{
-		iTrace->Trace(_L("Start of COMASuplStartState::GenerateMessage"), KTraceFileName, __LINE__);
-		//if no cell stale cell id is available, retrieve current cell id
-		if(!iIsStaleCellId)
-		    {
-		    iTrace->Trace(_L("COMASuplStartState::GenerateMessage stale cell id false"), KTraceFileName, __LINE__);
-		    iLocationIDRequestor->GetLocationID();
-		    iTrace->Trace(_L("COMASuplStartState::GenerateMessage called get location id"), KTraceFileName, __LINE__);
-		    }
-		else // dont retrieve current cell id as cell id was already provided
-		    {
-		    iGenerationStatus = EFalse;
-		    iECId = EFalse;
-		    iTrace->Trace(_L("COMASuplStartState::GenerateMessage stale cell id true"), KTraceFileName, __LINE__);
-		    GetAssistceDataFromPluginL(KErrNone);
-		    }
-		
-		return KErrNone;
+    
+    iTrace->Trace(_L("Start of COMASuplStartState::GenerateMessage"), KTraceFileName, __LINE__);
+          //if no cell stale cell id is available, retrieve current cell id
+          if(!iIsStaleCellId)
+              {
+              iTrace->Trace(_L("COMASuplStartState::GenerateMessage stale cell id false"), KTraceFileName, __LINE__);
+              iLocationIDRequestor->GetLocationID();
+              iTrace->Trace(_L("COMASuplStartState::GenerateMessage called get location id"), KTraceFileName, __LINE__);
+              }
+          else // dont retrieve current cell id as cell id was already provided
+              {
+              iGenerationStatus = EFalse;
+              iECId = EFalse;
+              iTrace->Trace(_L("COMASuplStartState::GenerateMessage stale cell id true"), KTraceFileName, __LINE__);
+              GetAssistceDataFromPluginL(KErrNone);
+              }
+          
+          return KErrNone;
 	}
 	
 // -----------------------------------------------------------------------------
@@ -521,6 +522,9 @@
 void COMASuplStartState::LocationIDRequestCompletedL(COMASuplLocationId* aLocationId,
 													TInt aErrorCode)
 	{
+    delete iLocationId;
+    iLocationId = NULL;
+    iLocationId = aLocationId;
 		iTrace->Trace(_L("COMASuplStartState::LocationIDRequestCompleted..."), KTraceFileName, __LINE__); 								
 		iGenerationStatus = EFalse;
 		if(aErrorCode!=KErrNone)
@@ -532,8 +536,6 @@
 						return;
 					}
 			}
-			
-		iLocationId = aLocationId;
 		
 		if(iECId)
 			{
@@ -1010,7 +1012,15 @@
 	aCurrentCellId.iMCC = lRefMCC;
 	aCurrentCellId.iLac = lRefLAC;
 	}
-}	
+}
+
+// -----------------------------------------------------------------------------
+// COMASuplStartState::SetStaleCellIdToUse
+// Set stale cell id.
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
 void COMASuplStartState::SetStaleCellIdToUse(COMASuplLocationId* aLocationId)
     {
     if(iLocationId)
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplstate.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplstate.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -377,8 +377,9 @@
 //
 void COMASuplState::StopTimer()
 	{
-		iTimer->StopTimer();	 			
-		iTrace->Trace(_L("COMASuplState::StopTimer..."), KTraceFileName, __LINE__); 							
+		iTimer->StopTimer();	 		
+		if(iTrace)	
+		    iTrace->Trace(_L("COMASuplState::StopTimer..."), KTraceFileName, __LINE__); 							
 	}
 	
 // -----------------------------------------------------------------------------
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver2/eabi/eposomasuplprotocolhandler2u.def	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver2/eabi/eposomasuplprotocolhandler2u.def	Tue Aug 31 15:37:04 2010 +0300
@@ -41,37 +41,35 @@
 	_ZTI23COMASuplFallBackHandler @ 40 NONAME
 	_ZTI24COMASUPLProtocolManager2 @ 41 NONAME
 	_ZTI24COMASuplEcomEventWatcher @ 42 NONAME
-	_ZTI24COMASuplSettingsLauncher @ 43 NONAME
-	_ZTI24COMASuplTriggerStopState @ 44 NONAME
-	_ZTI25COMASuplTriggerStartState @ 45 NONAME
-	_ZTI28COMASuplTriggerResponseState @ 46 NONAME
-	_ZTI29COMASuplCompleteSelfRequestor @ 47 NONAME
-	_ZTV12COMASuplETel @ 48 NONAME
-	_ZTV13COMASuplState @ 49 NONAME
-	_ZTV13COMASuplTrace @ 50 NONAME
-	_ZTV15COMASuplSession @ 51 NONAME
-	_ZTV16COMASuplEndState @ 52 NONAME
-	_ZTV16COMASuplPosState @ 53 NONAME
-	_ZTV16COMASuplSettings @ 54 NONAME
-	_ZTV17COMASuplInitState @ 55 NONAME
-	_ZTV18COMASuplStartState @ 56 NONAME
-	_ZTV19COMASuplDialogTimer @ 57 NONAME
-	_ZTV19COMASuplIapNotifier @ 58 NONAME
-	_ZTV19COMASuplReportState @ 59 NONAME
-	_ZTV20COMASuplETelNotifier @ 60 NONAME
-	_ZTV20COMASuplPOSRequestor @ 61 NONAME
-	_ZTV20COMASuplPosInitState @ 62 NONAME
-	_ZTV20COMASuplTimeoutTimer @ 63 NONAME
-	_ZTV21COMASuplConnRequestor @ 64 NONAME
-	_ZTV21COMASuplResponseState @ 65 NONAME
-	_ZTV23COMASuplFallBackHandler @ 66 NONAME
-	_ZTV24COMASUPLProtocolManager2 @ 67 NONAME
-	_ZTV24COMASuplEcomEventWatcher @ 68 NONAME
-	_ZTV24COMASuplSettingsLauncher @ 69 NONAME
-	_ZTV24COMASuplTriggerStopState @ 70 NONAME
-	_ZTV25COMASuplTriggerStartState @ 71 NONAME
-	_ZTV28COMASuplTriggerResponseState @ 72 NONAME
-	_ZTV29COMASuplCompleteSelfRequestor @ 73 NONAME
-	_ZThn4_N24COMASUPLProtocolManager212HandlePacketERK6TDesC8j @ 74 NONAME
-	_ZThn4_N24COMASUPLProtocolManager217HandlePacketErrorEi @ 75 NONAME
+	_ZTI24COMASuplTriggerStopState @ 43 NONAME
+	_ZTI25COMASuplTriggerStartState @ 44 NONAME
+	_ZTI28COMASuplTriggerResponseState @ 45 NONAME
+	_ZTI29COMASuplCompleteSelfRequestor @ 46 NONAME
+	_ZTV12COMASuplETel @ 47 NONAME
+	_ZTV13COMASuplState @ 48 NONAME
+	_ZTV13COMASuplTrace @ 49 NONAME
+	_ZTV15COMASuplSession @ 50 NONAME
+	_ZTV16COMASuplEndState @ 51 NONAME
+	_ZTV16COMASuplPosState @ 52 NONAME
+	_ZTV16COMASuplSettings @ 53 NONAME
+	_ZTV17COMASuplInitState @ 54 NONAME
+	_ZTV18COMASuplStartState @ 55 NONAME
+	_ZTV19COMASuplDialogTimer @ 56 NONAME
+	_ZTV19COMASuplIapNotifier @ 57 NONAME
+	_ZTV19COMASuplReportState @ 58 NONAME
+	_ZTV20COMASuplETelNotifier @ 59 NONAME
+	_ZTV20COMASuplPOSRequestor @ 60 NONAME
+	_ZTV20COMASuplPosInitState @ 61 NONAME
+	_ZTV20COMASuplTimeoutTimer @ 62 NONAME
+	_ZTV21COMASuplConnRequestor @ 63 NONAME
+	_ZTV21COMASuplResponseState @ 64 NONAME
+	_ZTV23COMASuplFallBackHandler @ 65 NONAME
+	_ZTV24COMASUPLProtocolManager2 @ 66 NONAME
+	_ZTV24COMASuplEcomEventWatcher @ 67 NONAME
+	_ZTV24COMASuplTriggerStopState @ 68 NONAME
+	_ZTV25COMASuplTriggerStartState @ 69 NONAME
+	_ZTV28COMASuplTriggerResponseState @ 70 NONAME
+	_ZTV29COMASuplCompleteSelfRequestor @ 71 NONAME
+	_ZThn4_N24COMASUPLProtocolManager212HandlePacketERK6TDesC8j @ 72 NONAME
+	_ZThn4_N24COMASUPLProtocolManager217HandlePacketErrorEi @ 73 NONAME
 
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver2/group/omasuplprotocolhandler2.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver2/group/omasuplprotocolhandler2.mmp	Tue Aug 31 15:37:04 2010 +0300
@@ -52,7 +52,7 @@
 SOURCE      epos_comasuplinitstate.cpp
 SOURCE      epos_comasuplposrequestor.cpp
 SOURCE	    epos_comasuplecomeventwatcher.cpp
-SOURCE      epos_comasuplsettingslauncher.cpp
+//SOURCE      epos_comasuplsettingslauncher.cpp
 SOURCE      epos_comasupltrace.cpp
 SOURCE      epos_comasupldialogtimer.cpp
 SOURCE      epos_comasuplfallbackhandler.cpp
@@ -88,14 +88,14 @@
 LIBRARY insock.lib
 LIBRARY lbs.lib
 LIBRARY eposnwprv.lib
-LIBRARY locsettingsuiclient.lib
+//LIBRARY locsettingsuiclient.lib
 LIBRARY hash.lib
 LIBRARY bafl.lib  //logging
 LIBRARY flogger.lib
 LIBRARY efsrv.lib 
 LIBRARY aknnotify.lib 
 LIBRARY commonengine.lib 
-LIBRARY agentdialog.lib
+//LIBRARY agentdialog.lib
 
 LIBRARY epossuplprotocolhandlerplugin.lib
 LIBRARY epos_comasuplasnplugin.lib
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver2/inc/epos_comasuplconnrequestor.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver2/inc/epos_comasuplconnrequestor.h	Tue Aug 31 15:37:04 2010 +0300
@@ -40,9 +40,7 @@
  *  @since S60 v3.1
  */
  
-class COMASuplConnRequestor : public CActive, 
-                              public MOMASuplUICompletionObserver,  
-                              public MOMASuplDialogTimeOutNotifier
+class COMASuplConnRequestor : public CActive
 {
 
 	enum TConnState
@@ -172,7 +170,6 @@
         
         void GetUsedServerAddress(TDes& aHSLPAddressUsed);
         
-        void SettingsUICompletedL(TInt aError);
         void SettingsUsageUICompletedL(TInt /*aError*/) {}
         void SettingsTimeOutUICompletedL(TInt /*aError*/) {}
         TBool ConvertIAPNameToIdL(const TDesC& aIAPName, TUint32& aIAPId);
@@ -220,7 +217,7 @@
 		 * @param None
 		 * @return None
 		 */
-		virtual void DialogTimerExpiredL();	
+		//virtual void DialogTimerExpiredL();	
   	protected :  // Functions from CActive
       /**
       * From CActive 
@@ -293,15 +290,7 @@
             
             TInt64 iCurrentSLPId;
             
-            COMASuplDialogTimer* iDialogTimer;
-            
-            TBool iIapDialogShown;
-            
-            TBool iIapDlgTimerExpired;
-            
-            TBool iIsTimeoutDialogTimerStarted;
-			
-			TBool iTriggerSession;
+            TBool iTriggerSession;
 
 };
 
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver2/inc/epos_comasuplfallbackhandler.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver2/inc/epos_comasuplfallbackhandler.h	Tue Aug 31 15:37:04 2010 +0300
@@ -153,7 +153,6 @@
       TTime iFallBackStartTime;
       
       TInt iAllowedFallBackTimerValue;
-	  
 	  TBool iAttemptedBackupServer;
       
 };
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver2/inc/epos_comasuplprotocolmanager2.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver2/inc/epos_comasuplprotocolmanager2.h	Tue Aug 31 15:37:04 2010 +0300
@@ -277,9 +277,11 @@
 	virtual void TerminateSession(CSuplSessionBase *aSession, TInt aErrorCode);
 	
 public: // For setting UI observer    
-	TInt LaunchSettingsUI(MOMASuplUICompletionObserver* aObserver,const TDesC& aForHslp);
-	TInt LaunchSuplUsageSettingsUI(MOMASuplUICompletionObserver* aObserver, TBool aRoaming);
-	TInt LaunchSuplDialogTimeoutUI(MOMASuplUICompletionObserver* aObserver );
+
+	// For setting UI observer    
+	//TInt LaunchSettingsUI(MOMASuplUICompletionObserver* aObserver,const TDesC& aForHslp);
+	//TInt LaunchSuplUsageSettingsUI(MOMASuplUICompletionObserver* aObserver, TBool aRoaming);
+	//TInt LaunchSuplDialogTimeoutUI(MOMASuplUICompletionObserver* aObserver );
 	void UpdateAllSubSessnsInSameSession(TInt aIpcSessionId);
 
 	void SettingsChanged();
@@ -291,7 +293,7 @@
 	* @param aError - Error during Launch
 	* @return None
 	*/
-	void SettingsUICompletedL(TInt aError);
+	void SettingsUICompletedL(TInt /*aError*/) {};
 
 	/** 
 	* This callback method is used to notify the client about 
@@ -299,7 +301,7 @@
 	* @param aError - Error during Launch
 	* @return None
 	*/
-	void SettingsUsageUICompletedL(TInt aError);
+	void SettingsUsageUICompletedL(TInt /*aError*/) {};
 
 	/** 
 	* This callback method is used to notify the client about 
@@ -307,8 +309,8 @@
 	* @param aError - Error during Launch
 	* @return None
 	*/
-	void SettingsTimeOutUICompletedL(TInt aError);
-
+	void SettingsTimeOutUICompletedL(TInt /*aError*/) {};
+	
 public: //From base class MSuplSettingsObserver
 
 	/**
@@ -319,6 +321,14 @@
 	*/
     virtual void HandleSuplSettingsChangeL(TSuplSettingsEventType aEvent,TInt aSlpId);                 
 
+	/**
+	* HandleSuplTriggerStatusChangeL,Observeed function, gets called.
+	* @since MCL v10.1
+	* @param       aSuplTriggerStatus,TSuplTriggerStatus, Trigger Status ON or OFF
+	* @return      None
+	*/
+    virtual void HandleSuplTriggerStatusChangeL(CSuplSettings::TSuplTriggerStatus aSuplTriggerStatus);           
+
 public:  // From base class MSuplSessionObserver
 	/**
 	* HandleSuplSessionChangeL,Observeed function, gets called.
@@ -477,7 +487,7 @@
      * @param      None. 
      * @return     None.
      */
-    void ReadSuplUsage();
+    //void ReadSuplUsage();
 	
     /**
      * ReadOMASuplConfigurationL, Reads OMA Supl Configuration.
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver2/inc/epos_comasuplsession2.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver2/inc/epos_comasuplsession2.h	Tue Aug 31 15:37:04 2010 +0300
@@ -229,7 +229,7 @@
             * the completion of UI
             * @return None
             */
-			void SettingsUsageUICompletedL(TInt aError);
+					void SettingsUsageUICompletedL(TInt /*aError*/) {};
 			
             /** 
             * This callback method is used to notify the client about 
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver2/inc/epos_comasuplsettings.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver2/inc/epos_comasuplsettings.h	Tue Aug 31 15:37:04 2010 +0300
@@ -96,7 +96,7 @@
 	* @param aSUPLUsage 
 	* @return None 
 	*/
-    void SetSUPLUsage(CSuplSettings::TSuplSettingsUsage& aSUPLUsage );
+  //  void SetSUPLUsage(CSuplSettings::TSuplSettingsUsage& aSUPLUsage );
 	
 	/**
 	* SetUIActive Method.
@@ -137,7 +137,7 @@
 	* @param None
 	* @return SUPL Usage
 	*/
-    CSuplSettings::TSuplSettingsUsage SUPLUsage() const;
+  //  CSuplSettings::TSuplSettingsUsage SUPLUsage() const;
 	
 	/**
 	* IAPId Method.
@@ -166,7 +166,7 @@
 	TInt  	 iIAPId;
 
     // SUPL Usage
-    CSuplSettings::TSuplSettingsUsage iSUPLUsage; 
+ //   CSuplSettings::TSuplSettingsUsage iSUPLUsage; 
 	// Flag indicating the activation of settings UI
 	TBool    iSettingsUIActive;
 };
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver2/inc/epos_comasuplsettingslauncher.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver2/inc/epos_comasuplsettingslauncher.h	Tue Aug 31 15:37:04 2010 +0300
@@ -22,7 +22,7 @@
 
 // INCLUDES
 #include <e32std.h>
-#include <agentdialog.h>    // for RGenConAgentDialogServer
+//#include <agentdialog.h>    // for RGenConAgentDialogServer
 
 const TUid KNotifier1Uid = { 0x10009C00 };
 const TUid KNotifier2Uid = { 0x10009C01 };
@@ -155,7 +155,7 @@
 		/**
 		* IAP Selector Handle
 		*/
-	    RGenConAgentDialogServer    	iIapSelector;
+	   // RGenConAgentDialogServer    	iIapSelector;
 	    
 		/**
 		* Selected IAP ID
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver2/inc/epos_comasuplstate.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver2/inc/epos_comasuplstate.h	Tue Aug 31 15:37:04 2010 +0300
@@ -24,8 +24,6 @@
 #ifdef _DEBUG        
 #define PRINT_MESSAGE
 #endif        
-#define PRINT_MESSAGE
-//#undef PRINT_MESSAGE
 
 	/** 
 	MOMASuplMsgStateObserver Notifies about complaetion of operation with or without error.
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplconnrequestor.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplconnrequestor.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -47,11 +47,8 @@
     				 						 iCommMgr(aCommMgr), 
     				 						 iProtocolManager(aProtoMgr),
     				 						 iPort(aPort),
-    				 						 iObserver( aObserver),    				 						  
-    				 						 iIapDialogShown(EFalse),
-    				 						 iIapDlgTimerExpired(EFalse),    				 			            
-    				 			             iIsTimeoutDialogTimerStarted(EFalse),
-											 iTriggerSession(EFalse)
+    				 						 iObserver( aObserver),
+    				 						 iTriggerSession(EFalse)
     {
 			
     }
@@ -78,7 +75,7 @@
     	
     	iCurrentSLPId = KErrNotFound;
     	
-    	iDialogTimer = COMASuplDialogTimer::NewL(*this);
+    
     }
 
 // -----------------------------------------------------------------------------
@@ -108,13 +105,8 @@
 COMASuplConnRequestor::~COMASuplConnRequestor()
     {
     	Cancel();
-    	if(iDialogTimer)
-    	    {
-    	    iDialogTimer->Cancel();
-    	    delete iDialogTimer;
-    	    iDialogTimer = NULL;
-    	    }
-    	delete iSuplSettings;
+    
+	  	delete iSuplSettings;
     	delete iTrace;
     	delete iFallBackHandler;
     }
@@ -127,8 +119,8 @@
 	{
 	if(!iIsSettingInitilized)
         {
-		iTriggerSession = aTriggerSession;
-		iState = EInitialState;
+        iTriggerSession = aTriggerSession;
+				iState = EInitialState;
         InitilizeSetting();
         }
     else
@@ -155,27 +147,14 @@
 						buffer.Copy(_L("No access point configured for "));
 						buffer.Append(iHostAddress);
 						iTrace->Trace(buffer,KTraceFileName, __LINE__); 				
-						if( isIapDialogShown )
-						    {
-						    TInt err = iProtocolManager.LaunchSettingsUI(this,iHostAddress);
-						    if(err != KErrNone)
-                                {
-                                buffer.Copy(_L("Error in launching UI : "));
-                                buffer.AppendNum(err);
-                                iTrace->Trace(buffer,KTraceFileName, __LINE__);                 
-                                iHostAddress.Zero();
-                                iObserver.OperationCompleteL(err);
-                                }
-						        else
-						        iIapDialogShown = ETrue;
-						    }
-						
+						buffer.Copy(_L("Calling CreateConnection with no IAP"));
+						iTrace->Trace(buffer,KTraceFileName, __LINE__);
+						iConnection = iCommMgr.CreateConnectionL(iHostAddress,iTls,iPskTls,iPort,-1);
+						OpenConnection();
 						
 					}
 				else
 				    {
-				    iIsTimeoutDialogTimerStarted = EFalse;
-    			    iDialogTimer->Cancel();
 				    buffer.Copy(_L("Connecting to "));
 				    buffer.Append(iHostAddress);
 				    iTrace->Trace(buffer,KTraceFileName, __LINE__); 				
@@ -188,18 +167,15 @@
 				iHostAddress.Zero();
 				iObserver.OperationCompleteL(errorCode);
 			}
-		}
 	}
+    }
 
 // -----------------------------------------------------------------------------
 // COMASuplConnRequestor::OpenConnection
 // -----------------------------------------------------------------------------
-//    
-void COMASuplConnRequestor::CreateConnectionL(TInt aDialogTimeOutDelay, TBool aTriggerSession)
+//  TODO : Remove this method  
+void COMASuplConnRequestor::CreateConnectionL(TInt /*aDialogTimeOutDelay*/, TBool aTriggerSession)
     {
-    iIsTimeoutDialogTimerStarted = ETrue;
-    
-    iDialogTimer->StartTimer(aDialogTimeOutDelay); 
     CreateConnectionL(aTriggerSession);
     }
 // -----------------------------------------------------------------------------
@@ -247,10 +223,10 @@
 				SetActive();
 			}
 		}
-	else
+		else
 		{
 		iState = EInitilizeSetting;
-		InitilizeSetting();
+			InitilizeSetting();
 		}
 	}
     
@@ -295,16 +271,15 @@
     	
     	switch(iState)
     		{
-			
-			case EInitialState:
-	            {
-	            iIsSettingInitilized = ETrue;
-	            iTrace->Trace(_L("Setting API Initilizing Completed..."), KTraceFileName, __LINE__);
-	            CreateConnectionL(iTriggerSession);
-	            
-	            break;
-	            }
     		
+		case EInitialState:
+            {
+            iIsSettingInitilized = ETrue;
+            iTrace->Trace(_L("Setting API Initilizing Completed..."), KTraceFileName, __LINE__);
+            CreateConnectionL(iTriggerSession);
+            
+            break;
+            }
 			case  EConnecting:
 				{
 					if(iLastConnectionError < 0)
@@ -406,6 +381,7 @@
 void COMASuplConnRequestor::InitilizeSetting()
 	{
 			iTrace->Trace(_L("Intilizing Setting API..."), KTraceFileName, __LINE__); 				
+			
 			iSuplSettings->Initialize(iStatus);
 			SetActive();
 	}
@@ -476,57 +452,7 @@
 		return result;
 	}
 	
-// -----------------------------------------------------------------------------
-// COMASuplConnRequestor::SettingsUICompleted
-// 
-// -----------------------------------------------------------------------------
 
-void COMASuplConnRequestor::SettingsUICompletedL(TInt aError)
-	{
-		TBuf<128> buffer(_L("COMASuplConnRequestor:SettingsUICompleted Error: "));
-		buffer.AppendNum(aError);
-		iTrace->Trace(buffer,KTraceFileName, __LINE__); 
-		
-		if (iIsTimeoutDialogTimerStarted)
-		    {                
-		    iTrace->Trace(_L("COMASuplSession::SettingsUICompleted, stopping timer "), KTraceFileName, __LINE__);
-		    iIsTimeoutDialogTimerStarted = EFalse;                    
-		    iDialogTimer->StopTimer();
-		    }
-		if (iIapDlgTimerExpired)
-		    {
-		    iIapDlgTimerExpired = EFalse;
-		    iIapDialogShown = EFalse;
-		    iProtocolManager.LaunchSuplDialogTimeoutUI(this);
-		    iObserver.OperationCompleteL(KErrNone);
-		    return;
-		    }
-		if(aError == KErrNone)
-			{
-				TBuf<100> IapName;
-				TInt err = iProtocolManager.GetLastUsedAccessPoint(IapName,iIAPId);
-				 if(err == KErrNone)
-					{
-						buffer.Copy(_L("Connecting to "));
-						buffer.Append(iHostAddress);
-						buffer.Append(_L(" using IAP "));
-						buffer.Append(IapName);
-						iTrace->Trace(buffer,KTraceFileName, __LINE__); 				
-						iConnection = iCommMgr.CreateConnectionL(iHostAddress,iTls,iPskTls,iPort,iIAPId);
-						SaveAccessPoint(IapName);
-						OpenConnection();
-					}
-				 else
-				 	{
-				 		iObserver.OperationCompleteL(err);	
-				 	}	
-			}
-		else
-			{
-				iObserver.OperationCompleteL(aError);	
-			}	
-		
-	}
 
 // -----------------------------------------------------------------------------
 // COMASuplConnRequestor::SaveAccessPoint
@@ -594,25 +520,13 @@
 			iFallBackHandler->UpdateSLPListForHomeUsage(aHomeNetwork);
 }
 
-// -----------------------------------------------------------------------------
-// COMASuplConnRequestor::DialogTimerExpiredL
-// Checks whether UI is displayed or not previously
-// 
-// -----------------------------------------------------------------------------
-void COMASuplConnRequestor::DialogTimerExpiredL()
-{
-   iTrace->Trace(_L("COMASuplConnRequestor:Timer Expired for SUPL IAP Dialog"), KTraceFileName, __LINE__); 
-
-    if (!iIapDialogShown)
-        iProtocolManager.LaunchSuplDialogTimeoutUI(this);
-    else
-        iIapDlgTimerExpired = ETrue;  
-    return; 
-}
 
 TUint COMASuplConnRequestor::GetPortNumber()
 	{
-	return iConnection->GetPortNumberUsed();
+		if(iConnection)
+			return iConnection->GetPortNumberUsed();
+		else 
+			return 0;
 	}
 	
 	
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasupletel.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasupletel.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -12,7 +12,7 @@
 * Contributors:
 *
 * Description:   Implementation of COMASuplEtel Class
-*  Version     : %version: 3 % << Don't touch! Updated by Synergy at check-out.
+*  Version     : %version: 5 % << Don't touch! Updated by Synergy at check-out.
 *
 */
 
@@ -200,168 +200,185 @@
 // -----------------------------------------------------------------------------
 //
 void COMASuplETel::HandleLocationIdL()
-	{
-         switch (iNetworkInfo.iMode) 
+    {
+    switch (iNetworkInfo.iMode)
+        {
+        case RMobilePhone::ENetworkModeGsm:
             {
-            case RMobilePhone::ENetworkModeGsm:
-                {
-                // For GSM Cell Information
-                COMASuplLocationId* locationId = COMASuplLocationId::NewL(); 
-                CleanupStack::PushL(locationId);
-     			COMASuplGSMCellInfo* gsmCellInfo = COMASuplGSMCellInfo::NewL();
-     			CleanupStack::PushL(gsmCellInfo);
-                COMASuplLocationId::TOMASuplStatus lStatus = COMASuplLocationId::ECurrent;
-               
-                TInt    MCC=0;
-                TInt64  MNC=0;
-                TUint   LAC, CellId;
-                TLex LexMCC(iNetworkInfo.iCountryCode);
-                TLex LexMNC(iNetworkInfo.iNetworkId);
+            //coverity[alloc_fn]
+            //coverity[assign]
+            // For GSM Cell Information
+            COMASuplLocationId* locationId = COMASuplLocationId::NewL();
+            //coverity[push]
+            CleanupStack::PushL(locationId);
+                        
+            COMASuplGSMCellInfo* gsmCellInfo = COMASuplGSMCellInfo::NewL();
+            CleanupStack::PushL(gsmCellInfo);
+            COMASuplLocationId::TOMASuplStatus lStatus =
+                    COMASuplLocationId::ECurrent;
+
+            TInt MCC = 0;
+            TInt64 MNC = 0;
+            TUint LAC, CellId;
+            TLex LexMCC(iNetworkInfo.iCountryCode);
+            TLex LexMNC(iNetworkInfo.iNetworkId);
+
+            LexMCC.Val(MCC);
+            LexMNC.Val(MNC);
+            LAC = iLocationInfo.iLocationAreaCode;
+            CellId = iLocationInfo.iCellId;
+
+            gsmCellInfo->SetSuplGSMCellInfo(MNC, MCC, CellId, LAC);
+            locationId->SetSuplLocationId(gsmCellInfo, lStatus);
+            CleanupStack::Pop(gsmCellInfo);
+            //coverity[pop]
+            CleanupStack::Pop(locationId);
+
+#if defined(_DEBUG)  //This is only for logging purpose. 
+            TBuf<128> msg;
+
+            msg.Copy(_L("It is GSM Network. MCC = "));
+            msg.AppendNum(MCC);
+
+            msg.Append(_L(" MNC = "));
+            msg.AppendNum(MNC);
 
-                LexMCC.Val(MCC);
-                LexMNC.Val(MNC);
-                LAC = iLocationInfo.iLocationAreaCode;
-                CellId = iLocationInfo.iCellId;
-                
-                               
-                gsmCellInfo->SetSuplGSMCellInfo(MNC, MCC,CellId,LAC);                
-                locationId->SetSuplLocationId(gsmCellInfo,lStatus);
-                CleanupStack::Pop(gsmCellInfo);
-                CleanupStack::Pop(locationId); 
-                
-        		#if defined(_DEBUG)  //This is only for logging purpose. 
-				TBuf<128> msg;
-				
-				msg.Copy(_L("It is GSM Network. MCC = "));					
-				msg.AppendNum(MCC);
-				
-				msg.Append(_L(" MNC = "));					
-				msg.AppendNum(MNC);
+            msg.Append(_L(" CellId = "));
+            msg.AppendNum(CellId);
 
+            msg.Append(_L(" LAC = "));
+            msg.AppendNum(LAC);
 
-				msg.Append(_L(" CellId = "));					
-				msg.AppendNum(CellId);
-				
+            iTrace->Trace(msg, KTraceFileName, __LINE__);
+#endif
 
-				msg.Append(_L(" LAC = "));					
-				msg.AppendNum(LAC);
-				
-				iTrace->Trace(msg,KTraceFileName, __LINE__); 							
-        		#endif
-        		
-				if(iCellMode == EOMASuplCellId)
-				    iObserver.LocationIDRequestCompletedL(locationId,KErrNone);
-				else if(iCellMode == EOMASuplCompareCellId)
-				    iObserver.ComparisionLocationIDRequestCompletedL(locationId,KErrNone);
-                break;                             
-                }                    
-            case RMobilePhone::ENetworkModeWcdma:
-                {
-                // For WCDMA  Cell Information
-                COMASuplLocationId* locationId = COMASuplLocationId::NewL(); 
-                CleanupStack::PushL(locationId);
-     			COMASuplCellInfo* wcdmaCellInfo = COMASuplCellInfo::NewL();
-     			CleanupStack::PushL(wcdmaCellInfo);
-     			
-                COMASuplLocationId::TOMASuplStatus lStatus = COMASuplLocationId::ECurrent;
-                TInt    MCC=0;
-                TInt64  MNC=0;
-                TUint   UC;
-                TLex LexMCC(iNetworkInfo.iCountryCode);
-                TLex LexMNC(iNetworkInfo.iNetworkId);
+            if (iCellMode == EOMASuplCellId)
+                iObserver.LocationIDRequestCompletedL(locationId, KErrNone);
+            else if (iCellMode == EOMASuplCompareCellId)
+                iObserver.ComparisionLocationIDRequestCompletedL(locationId,
+                        KErrNone);
+            //coverity[memory_leak]
+            break;
+            }
+        case RMobilePhone::ENetworkModeWcdma:
+            {
+            //coverity[alloc_fn]
+            //coverity[assign]
+            // For WCDMA  Cell Information
+            COMASuplLocationId* locationId = COMASuplLocationId::NewL();
+            //coverity[push]
+            CleanupStack::PushL(locationId);
+         
+            COMASuplCellInfo* wcdmaCellInfo = COMASuplCellInfo::NewL();
+            CleanupStack::PushL(wcdmaCellInfo);
 
-                LexMCC.Val(MCC);
-                LexMNC.Val(MNC);
-                UC = iLocationInfo.iCellId;
+            COMASuplLocationId::TOMASuplStatus lStatus =
+                    COMASuplLocationId::ECurrent;
+            TInt MCC = 0;
+            TInt64 MNC = 0;
+            TUint UC;
+            TLex LexMCC(iNetworkInfo.iCountryCode);
+            TLex LexMNC(iNetworkInfo.iNetworkId);
+
+            LexMCC.Val(MCC);
+            LexMNC.Val(MNC);
+            UC = iLocationInfo.iCellId;
+
+            wcdmaCellInfo->SetSuplCellInfo(MNC, MCC, UC);
+            locationId->SetSuplLocationId(wcdmaCellInfo, lStatus);
+            CleanupStack::Pop(wcdmaCellInfo);
+            //coverity[pop]
+            CleanupStack::Pop(locationId);
 
-                               
-                wcdmaCellInfo->SetSuplCellInfo(MNC, MCC, UC);                
-                locationId->SetSuplLocationId(wcdmaCellInfo,lStatus);
-                CleanupStack::Pop(wcdmaCellInfo);
-                CleanupStack::Pop(locationId);
-                
-           		#if defined(_DEBUG)  //This is only for logging purpose. 
-				TBuf<128> msg;
-				
-				msg.Copy(_L("It is CDMA Network. MCC = "));					
-				msg.AppendNum(MCC);
-				
-				msg.Append(_L(" MNC = "));					
-				msg.AppendNum(MNC);
+#if defined(_DEBUG)  //This is only for logging purpose. 
+            TBuf<128> msg;
+
+            msg.Copy(_L("It is CDMA Network. MCC = "));
+            msg.AppendNum(MCC);
 
+            msg.Append(_L(" MNC = "));
+            msg.AppendNum(MNC);
 
-				msg.Append(_L(" UC = "));					
-				msg.AppendNum(UC);
-				
-				iTrace->Trace(msg,KTraceFileName, __LINE__); 							
-        		#endif
+            msg.Append(_L(" UC = "));
+            msg.AppendNum(UC);
+
+            iTrace->Trace(msg, KTraceFileName, __LINE__);
+#endif
 
-				if(iCellMode == EOMASuplCellId)
-				    iObserver.LocationIDRequestCompletedL(locationId,KErrNone);
-				else if(iCellMode == EOMASuplCompareCellId)
-				    iObserver.ComparisionLocationIDRequestCompletedL(locationId,KErrNone);
-                break;                             
-                }                    
-            default:            
-            	{
-            	#if _DEBUG 
-	            	// For GSM Cell Information
-	            	COMASuplLocationId* locationId = COMASuplLocationId::NewL(); 
-                	CleanupStack::PushL(locationId);
-     				COMASuplGSMCellInfo* gsmCellInfo = COMASuplGSMCellInfo::NewL();
-     				CleanupStack::PushL(gsmCellInfo);
-     				
-	                COMASuplLocationId::TOMASuplStatus lStatus = COMASuplLocationId::ECurrent;
-	                TInt    MCC=0;
-	                TInt64  MNC=0;
-	                TUint   LAC, CellId;
-	                TLex LexMCC(iNetworkInfo.iCountryCode);
-	                TLex LexMNC(iNetworkInfo.iNetworkId);
+            if (iCellMode == EOMASuplCellId)
+                iObserver.LocationIDRequestCompletedL(locationId, KErrNone);
+            else if (iCellMode == EOMASuplCompareCellId)
+                iObserver.ComparisionLocationIDRequestCompletedL(locationId,
+                        KErrNone);
+            //coverity[memory_leak]
+            break;
+            }
+        default:
+            {
+#if _DEBUG
+            //coverity[alloc_fn]
+            //coverity[assign]
+            // For GSM Cell Information
+            COMASuplLocationId* locationId = COMASuplLocationId::NewL();
+            //coverity[push]
+            CleanupStack::PushL(locationId);
+            COMASuplGSMCellInfo* gsmCellInfo = COMASuplGSMCellInfo::NewL();
+            CleanupStack::PushL(gsmCellInfo);
+
+            COMASuplLocationId::TOMASuplStatus lStatus = COMASuplLocationId::ECurrent;
+            TInt MCC=0;
+            TInt64 MNC=0;
+            TUint LAC, CellId;
+            TLex LexMCC(iNetworkInfo.iCountryCode);
+            TLex LexMNC(iNetworkInfo.iNetworkId);
 
-	                LexMCC.Val(MCC);
-	                LexMNC.Val(MNC);
-	                LAC = iLocationInfo.iLocationAreaCode;
-	                CellId = iLocationInfo.iCellId;
-	                
-	                        
-	           		gsmCellInfo->SetSuplGSMCellInfo(MNC, MCC,CellId,LAC);                
-	                locationId->SetSuplLocationId(gsmCellInfo,lStatus);
-	                CleanupStack::Pop(gsmCellInfo);
-                	CleanupStack::Pop(locationId);  
-                	
-					#if defined(_DEBUG)  //This is only for logging purpose. 
-					TBuf<128> msg;
-					msg.Copy(_L("It is GSM Network. MCC = "));					
-					msg.AppendNum(MCC);
+            LexMCC.Val(MCC);
+            LexMNC.Val(MNC);
+            LAC = iLocationInfo.iLocationAreaCode;
+            CellId = iLocationInfo.iCellId;
+
+            gsmCellInfo->SetSuplGSMCellInfo(MNC, MCC,CellId,LAC);
+            locationId->SetSuplLocationId(gsmCellInfo,lStatus);
+            CleanupStack::Pop(gsmCellInfo);
+            //coverity[pop]
+            CleanupStack::Pop(locationId);
 
-					msg.Append(_L(" MNC = "));					
-					msg.AppendNum(MNC);
+#if defined(_DEBUG)  //This is only for logging purpose. 
+            TBuf<128> msg;
+            msg.Copy(_L("It is GSM Network. MCC = "));
+            msg.AppendNum(MCC);
 
-					msg.Append(_L(" CellId = "));					
-					msg.AppendNum(CellId);
+            msg.Append(_L(" MNC = "));
+            msg.AppendNum(MNC);
+
+            msg.Append(_L(" CellId = "));
+            msg.AppendNum(CellId);
 
-					msg.Append(_L(" LAC = "));					
-					msg.AppendNum(LAC);
+            msg.Append(_L(" LAC = "));
+            msg.AppendNum(LAC);
+
+            iTrace->Trace(msg,KTraceFileName, __LINE__);
 
-					iTrace->Trace(msg,KTraceFileName, __LINE__); 							
-					
-					#endif
-					if(iCellMode == EOMASuplCellId)
-					    iObserver.LocationIDRequestCompletedL(locationId,KErrNone); 
-					else if(iCellMode == EOMASuplCompareCellId)
-					    iObserver.ComparisionLocationIDRequestCompletedL(locationId,KErrNone);					
-                #else
-                	iTrace->Trace(_L("Error in getting Location Id"),KTraceFileName, __LINE__); 							
-                	if(iCellMode == EOMASuplCellId)
-                	    iObserver.LocationIDRequestCompletedL(NULL,KErrNotSupported); 
-                	else if(iCellMode == EOMASuplCompareCellId)
-                	    iObserver.ComparisionLocationIDRequestCompletedL(NULL,KErrNotSupported);                 	
-                #endif
-                break;        	
-            	}                     
+#endif
+            if(iCellMode == EOMASuplCellId)
+            iObserver.LocationIDRequestCompletedL(locationId,KErrNone);
+            else if(iCellMode == EOMASuplCompareCellId)
+            iObserver.ComparisionLocationIDRequestCompletedL(locationId,KErrNone);
+#else
+            iTrace->Trace(_L("Error in getting Location Id"), KTraceFileName,
+                    __LINE__);
+            if (iCellMode == EOMASuplCellId)
+                iObserver.LocationIDRequestCompletedL(NULL, KErrNotSupported);
+            else if (iCellMode == EOMASuplCompareCellId)
+                iObserver.ComparisionLocationIDRequestCompletedL(NULL,
+                        KErrNotSupported);
+#endif
+            //coverity[memory_leak]
+            break;
             }
-		
-	}
+        }
+
+    }
 
 // -----------------------------------------------------------------------------
 // COMASuplETel::HandleECellIdL(),
@@ -520,7 +537,7 @@
 	 				
 						for(TInt k = 0; k < KOMASUPLMaxTimeSlotIscpAmount; k++ )	 				
 							{
-								iOMASuplwcdmaCellInfo.iNwkMeasureReport[i].iCellMeasuredResult[j].iTddInfo.iTimeslotISCP[k] = iOMASuplwcdmaCellInfo.iNwkMeasureReport[i].iCellMeasuredResult[j].iTddInfo.iTimeslotISCP[k];
+								iOMASuplwcdmaCellInfo.iNwkMeasureReport[i].iCellMeasuredResult[j].iTddInfo.iTimeslotISCP[k] = iCustomWCDMACellInfo.iNwkMeasureReport[i].iCellMeasuredResult[j].iTddInfo.iTimeslotISCP[k];
 							}
 	 					
 	 			}
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasupletelnotifier.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasupletelnotifier.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -137,7 +137,7 @@
     	iCellMode = EOMASuplCellIdCurrent;
     	iPhone.GetCurrentNetwork( iStatus, iNetworkInfoPkg, iLocationInfo );
     	SetActive();  
-    	}        
+    	}                  
     }  
 
 // -----------------------------------------------------------------------------
@@ -153,7 +153,7 @@
     	iCellMode = EOMASuplCellIdNotify;
     	iPhone.NotifyCurrentNetworkChange( iStatus, iNetworkInfoPkg, iLocationInfo );
     	SetActive();   
-    	}       
+    	}                
     }  
       
 // -----------------------------------------------------------------------------
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplfallbackhandler.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplfallbackhandler.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -115,11 +115,11 @@
     {
 	iTrace->Trace(_L("COMASuplFallBackHandler::GetNextSLPAddressL"),KTraceFileName, __LINE__);
 	
-        _LIT(KFormatTxt,"%/0%1%/1%2%/2%3%/3 %-B%:0%J%:1%T%:2%S%:3%+B"); 
-        
-        TBuf<256> LogBuffer;
-       
-       if( aLastErrorCode != KErrNone)// If its KErrNone then its means server name is asked first time and no need for Tls failure check
+    _LIT(KFormatTxt,"%/0%1%/1%2%/2%3%/3 %-B%:0%J%:1%T%:2%S%:3%+B"); 
+    
+    TBuf<256> LogBuffer;
+    
+     if( aLastErrorCode != KErrNone)// If its KErrNone then its means server name is asked first time and no need for Tls failure check
     	{
     	
     	if( CheckErrorCodeL(aLastErrorCode) )
@@ -154,7 +154,7 @@
 						LogBuffer.AppendNum(err);
 						iTrace->Trace(LogBuffer,KTraceFileName, __LINE__); 		
 						
-						CleanupStack::PopAndDestroy(&newParam);
+						CleanupStack::PopAndDestroy(newParam);
 						}
 					else
 						{
@@ -175,7 +175,7 @@
 						delete iapName;
 						}
 					
-					CleanupStack::PopAndDestroy(&param);
+					CleanupStack::PopAndDestroy(param);
                                 
             		iTrace->Trace(_L("Fallback allowed & TLSAuth failed"),KTraceFileName, __LINE__);
             		iTrace->Trace(_L("Server being used:"),KTraceFileName, __LINE__);
@@ -204,149 +204,150 @@
 	     	return KErrNotFound;
 	     	}  
 	 	}
-		
-		//Check to see if the server list is empty.  If it is create the HSLP Address from the IMSI and use that
-		// as the server address.  This does not add the server to the list and this functionality should only
-		// be tried once
-		if(iSLPList->Count() <= 0 && (!iAttemptedBackupServer))
-			{
-			iTrace->Trace(_L("Going to create and use alternative HSLP Address from IMSI"),KTraceFileName, __LINE__);
 
-			iAttemptedBackupServer = ETrue;
+	//Check to see if the server list is empty.  If it is create the HSLP Address from the IMSI and use that
+	// as the server address.  This does not add the server to the list and this functionality should only
+	// be tried once
+	if(iSLPList->Count() <= 0 && (!iAttemptedBackupServer))
+		{
+		iTrace->Trace(_L("Going to create and use alternative HSLP Address from IMSI"),KTraceFileName, __LINE__);
+
+		iAttemptedBackupServer = ETrue;
+
+		//Generate the HSLP Address
+		GenerateHslpAddressFromIMSIL();
 
-			//Generate the HSLP Address
-			GenerateHslpAddressFromIMSIL();
+		//Copy the generated address into the supplied function arguments
+		aHslpToBeUsedAddress.Copy(iGenratedHslpAddress);
+		aIAPName.Zero();   
+		aIAPName.Copy(iDefaultIAPName);
+		aTls = ETrue;
+		aPskTls = EFalse;
+		aIsIapDialogShown = ETrue;
 
-			//Copy the generated address into the supplied function arguments
-			aHslpToBeUsedAddress.Copy(iGenratedHslpAddress);
-			aIAPName.Zero();   
-			aIAPName.Copy(iDefaultIAPName);
-			aTls = ETrue;
-			aPskTls = EFalse;
-			aIsIapDialogShown = ETrue;
+		iTrace->Trace(_L("Server being used:"),KTraceFileName, __LINE__);
+		LogBuffer.Copy(aHslpToBeUsedAddress);
+		iTrace->Trace(LogBuffer,KTraceFileName, __LINE__);
+
+		iTrace->Trace(_L("iap being used:"),KTraceFileName, __LINE__);
+		LogBuffer.Copy(aIAPName);
+		iTrace->Trace(LogBuffer,KTraceFileName, __LINE__);
+		
+		//Add the server to the list for future connections
+		CServerParams* param=CServerParams::NewL();
+		CleanupStack::PushL(param);
+		User::LeaveIfError(param->Set( iGenratedHslpAddress,iDefaultIAPName,ETrue,ETrue,ETrue,EFalse ));
 
-			iTrace->Trace(_L("Server being used:"),KTraceFileName, __LINE__);
-			LogBuffer.Copy(aHslpToBeUsedAddress);
-			iTrace->Trace(LogBuffer,KTraceFileName, __LINE__);
+		TInt err = iSuplSettings.AddNewServer( param, aSLPId ); //Ignore error
+		LogBuffer.Copy(_L("AddNewServer() completed with err: "));
+		LogBuffer.AppendNum(err);
+		iTrace->Trace(LogBuffer,KTraceFileName, __LINE__); 		
+		
+		CleanupStack::PopAndDestroy(&param);
 
-			iTrace->Trace(_L("iap being used:"),KTraceFileName, __LINE__);
-			LogBuffer.Copy(aIAPName);
-			iTrace->Trace(LogBuffer,KTraceFileName, __LINE__);
-			
-			//Add the server to the list for future connections
-			CServerParams* param=CServerParams::NewL();
-			CleanupStack::PushL(param);
-			User::LeaveIfError(param->Set( iGenratedHslpAddress,iDefaultIAPName,ETrue,ETrue,ETrue,EFalse ));
-
-			TInt err = iSuplSettings.AddNewServer( param, aSLPId ); //Ignore error
-			LogBuffer.Copy(_L("AddNewServer() completed with err: "));
-			LogBuffer.AppendNum(err);
-			iTrace->Trace(LogBuffer,KTraceFileName, __LINE__); 		
-		
-			CleanupStack::PopAndDestroy(&param);
-
-			return KErrNone;
-			}
-	 	
-        if( iSLPList->Count() <= 0 || iCurrentServerCounter >= iSLPList->Count() ) 
+		return KErrNone;
+		}
+    
+    if( iSLPList->Count() <= 0 || iCurrentServerCounter >= iSLPList->Count() ) 
+        {
+        LogBuffer.Copy(_L("No more servers available..."));
+        iTrace->Trace(LogBuffer,KTraceFileName, __LINE__); 				
+        return KErrNotFound;
+        }
+             
+    iTrace->Trace(_L("Trying next server..."),KTraceFileName, __LINE__); 				
+             
+    //Fallback Timer...
+    if(aLastErrorCode == KErrNone) //This means, server name is asked for first time only...
+        {
+        iTrace->Trace(_L("Start Time: "),KTraceFileName, __LINE__); 				
+        iFallBackStartTime.HomeTime();
+        LogBuffer.Zero();
+        iFallBackStartTime.FormatL(LogBuffer,KFormatTxt); 
+        iTrace->Trace(LogBuffer,KTraceFileName, __LINE__); 				
+        }
+    else
+        {
+        TTime currentTime;
+        currentTime.HomeTime();
+        TTimeIntervalMicroSeconds diff = currentTime.MicroSecondsFrom(iFallBackStartTime); 
+                        
+                        
+        iTrace->Trace(_L("Current Time: "),KTraceFileName, __LINE__); 				
+        LogBuffer.Zero();
+        currentTime.FormatL(LogBuffer,KFormatTxt); 
+        iTrace->Trace(LogBuffer,KTraceFileName, __LINE__); 				
+                        
+        LogBuffer.Copy(_L("Difference between time: "));
+        LogBuffer.AppendNum(diff.Int64());
+        iTrace->Trace(LogBuffer,KTraceFileName, __LINE__); 				
+                        
+        if( diff.Int64() > iAllowedFallBackTimerValue)	
             {
-            LogBuffer.Copy(_L("No more servers available..."));
-            iTrace->Trace(LogBuffer,KTraceFileName, __LINE__);              
-            return KErrNotFound;
+            LogBuffer.Copy(_L("Timeout happened..."));
+            iTrace->Trace(LogBuffer,KTraceFileName, __LINE__); 		
+            
+            return KErrTimedOut;
             }
-                 
-        iTrace->Trace(_L("Trying next server..."),KTraceFileName, __LINE__);                
-                 
-        //Fallback Timer...
-        if(aLastErrorCode == KErrNone) //This means, server name is asked for first time only...
-            {
-            iTrace->Trace(_L("Start Time: "),KTraceFileName, __LINE__);                 
-            iFallBackStartTime.HomeTime();
-            LogBuffer.Zero();
-            iFallBackStartTime.FormatL(LogBuffer,KFormatTxt); 
-            iTrace->Trace(LogBuffer,KTraceFileName, __LINE__);              
-            }
-        else
+        }	
+                
+    if(aLastErrorCode == KErrNone)  //This will be called only once...for first time only
+        {
+        aSLPId = (*iSLPList)[0].iSLPId;
+        aHslpToBeUsedAddress.Copy((*iSLPList)[0].iHSLPAddress);
+        aIAPName.Copy((*iSLPList)[0].iIapName);
+        aTls = (*iSLPList)[0].iTls;
+        aPskTls = (*iSLPList)[0].iPskTls;
+        aIsIapDialogShown = (*iSLPList)[0].iIsIAPDialgShown;
+        iCurrentServerCounter++;				
+                    
+        iTrace->Trace(_L("Server being used:"),KTraceFileName, __LINE__);
+        LogBuffer.Copy(aHslpToBeUsedAddress);
+        iTrace->Trace(LogBuffer,KTraceFileName, __LINE__);
+                    
+        iTrace->Trace(_L("iap being used:"),KTraceFileName, __LINE__);
+        LogBuffer.Copy(aIAPName);
+        iTrace->Trace(LogBuffer,KTraceFileName, __LINE__);
+                    
+        iTrace->Trace(_L("iap dlg configuration:"),KTraceFileName, __LINE__);
+        LogBuffer.Delete(0,256);
+        LogBuffer.AppendNum(aIsIapDialogShown);
+        iTrace->Trace(LogBuffer,KTraceFileName, __LINE__);
+                    
+        return KErrNone;
+        }
+    else
+        {
+        if(iIsFallBackAllowed && CheckErrorCodeL(aLastErrorCode))// Do not fallback in case if IMSI generated address failed for previous try.
             {
-            TTime currentTime;
-            currentTime.HomeTime();
-            TTimeIntervalMicroSeconds diff = currentTime.MicroSecondsFrom(iFallBackStartTime); 
-                            
-                            
-            iTrace->Trace(_L("Current Time: "),KTraceFileName, __LINE__);               
-            LogBuffer.Zero();
-            currentTime.FormatL(LogBuffer,KFormatTxt); 
-            iTrace->Trace(LogBuffer,KTraceFileName, __LINE__);              
-                            
-            LogBuffer.Copy(_L("Difference between time: "));
-            LogBuffer.AppendNum(diff.Int64());
-            iTrace->Trace(LogBuffer,KTraceFileName, __LINE__);              
-                            
-            if( diff.Int64() > iAllowedFallBackTimerValue)  
-                {
-                LogBuffer.Copy(_L("Timeout happened..."));
-                iTrace->Trace(LogBuffer,KTraceFileName, __LINE__);      
-                
-                return KErrTimedOut;
-                }
-            }   
-                    
-        if(aLastErrorCode == KErrNone)  //This will be called only once...for first time only
-            {
-            aSLPId = (*iSLPList)[0].iSLPId;
-            aHslpToBeUsedAddress.Copy((*iSLPList)[0].iHSLPAddress);
-            aIAPName.Copy((*iSLPList)[0].iIapName);
-            aTls = (*iSLPList)[0].iTls;
-            aPskTls = (*iSLPList)[0].iPskTls;
-            aIsIapDialogShown = (*iSLPList)[0].iIsIAPDialgShown;
-            iCurrentServerCounter++;                
-                        
+            aSLPId = (*iSLPList)[iCurrentServerCounter].iSLPId;	
+            aHslpToBeUsedAddress.Copy((*iSLPList)[iCurrentServerCounter].iHSLPAddress);
+            aIAPName.Copy((*iSLPList)[iCurrentServerCounter].iIapName);    			
+            aTls = (*iSLPList)[iCurrentServerCounter].iTls;
+            aPskTls = (*iSLPList)[iCurrentServerCounter].iPskTls;
+            aIsIapDialogShown = (*iSLPList)[iCurrentServerCounter].iIsIAPDialgShown;
+            iCurrentServerCounter++;
+            iTrace->Trace(_L("Fallback allowed & TLSAuth passed"),KTraceFileName, __LINE__);
             iTrace->Trace(_L("Server being used:"),KTraceFileName, __LINE__);
             LogBuffer.Copy(aHslpToBeUsedAddress);
             iTrace->Trace(LogBuffer,KTraceFileName, __LINE__);
-                        
+                                                                   
             iTrace->Trace(_L("iap being used:"),KTraceFileName, __LINE__);
             LogBuffer.Copy(aIAPName);
             iTrace->Trace(LogBuffer,KTraceFileName, __LINE__);
-                        
+                                                                    
             iTrace->Trace(_L("iap dlg configuration:"),KTraceFileName, __LINE__);
             LogBuffer.Delete(0,256);
             LogBuffer.AppendNum(aIsIapDialogShown);
             iTrace->Trace(LogBuffer,KTraceFileName, __LINE__);
-                        
             return KErrNone;
             }
         else
             {
-            if(iIsFallBackAllowed && CheckErrorCodeL(aLastErrorCode))// Do not fallback in case if IMSI generated address failed for previous try.
-                {
-                aSLPId = (*iSLPList)[iCurrentServerCounter].iSLPId; 
-                aHslpToBeUsedAddress.Copy((*iSLPList)[iCurrentServerCounter].iHSLPAddress);
-                aIAPName.Copy((*iSLPList)[iCurrentServerCounter].iIapName);             
-                aTls = (*iSLPList)[iCurrentServerCounter].iTls;
-                aPskTls = (*iSLPList)[iCurrentServerCounter].iPskTls;
-                aIsIapDialogShown = (*iSLPList)[iCurrentServerCounter].iIsIAPDialgShown;
-                iCurrentServerCounter++;
-                iTrace->Trace(_L("Fallback allowed & TLSAuth passed"),KTraceFileName, __LINE__);
-                iTrace->Trace(_L("Server being used:"),KTraceFileName, __LINE__);
-                LogBuffer.Copy(aHslpToBeUsedAddress);
-                iTrace->Trace(LogBuffer,KTraceFileName, __LINE__);
-                                                                       
-                iTrace->Trace(_L("iap being used:"),KTraceFileName, __LINE__);
-                LogBuffer.Copy(aIAPName);
-                iTrace->Trace(LogBuffer,KTraceFileName, __LINE__);
-                                                                        
-                iTrace->Trace(_L("iap dlg configuration:"),KTraceFileName, __LINE__);
-                LogBuffer.Delete(0,256);
-                LogBuffer.AppendNum(aIsIapDialogShown);
-                iTrace->Trace(LogBuffer,KTraceFileName, __LINE__);
-                return KErrNone;
-                }
-            else
-                {
-                return KErrNotFound;
-                }
+            return KErrNotFound;
             }
+        }
+                    
     }
     
 // -----------------------------------------------------------------------------
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplinitstate.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplinitstate.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -383,8 +383,8 @@
 			// what decision the GSM Network will make if the user won't answer before 
 			// a timeout comes in from GSM Network. In this case verification will 
 			// be rejected.
-			iNetworkPrivacy->VerifyLocationRequestL(*suplReqInfo, 
-				iGSMRequestId, *this, aTimeOutStrategy);
+			TRAP_IGNORE(iNetworkPrivacy->VerifyLocationRequestL(*suplReqInfo, 
+				iGSMRequestId, *this, aTimeOutStrategy);)
 	        TBuf<64> msg;
 	        msg.Copy(_L("Privacy Fw Generated Verification Request id : "));
 	        msg.AppendNum(iGSMRequestId);
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplposinitstate.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplposinitstate.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -389,63 +389,68 @@
 // (other items were commented in a header).
 // -----------------------------------------------------------------------------
 //
-void COMASuplPosInitState::GetPosParamsL() 
-	{
-	
-	iGenerationStatus = ETrue;
-	
-	// Re-initialize the POS Requestor
-	if(iPosRequestor)
-		iPosRequestor->DestroyList();
-	iPosRequestor->CreateListL();
-	
-	// Create SET capabilities object
-	iCurSetCapabilities = COMASuplSETCapabilities::NewL();
-	
-	// Create the Request Assistance data object
-	iReqAsstData = COMASuplReqAsstData::NewL();
-	
-	// Create Position
-	iPosition = COMASuplPosition::NewL();
+void COMASuplPosInitState::GetPosParamsL()
+    {
+
+    iGenerationStatus = ETrue;
+
+    // Re-initialize the POS Requestor
+    if (iPosRequestor)
+        {
+        iPosRequestor->DestroyList();
+        iPosRequestor->CreateListL();
+        }
 
-	// Create POS Payload
-	iPosPayload = COMASuplPosPayload::NewL();
+    // Create SET capabilities object
+    iCurSetCapabilities = COMASuplSETCapabilities::NewL();
+
+    // Create the Request Assistance data object
+    iReqAsstData = COMASuplReqAsstData::NewL();
+
+    // Create Position
+    iPosition = COMASuplPosition::NewL();
+
+    // Create POS Payload
+    iPosPayload = COMASuplPosPayload::NewL();
 
-	// Create Velocity
-	iVelocity = COMASuplVelocity::NewL();
-	
+    // Create Velocity
+    iVelocity = COMASuplVelocity::NewL();
+
+    if (iPosRequestor)
+        {
+        // Append the SUPL POS INIT optional parameters to the list
+        // in POS Requestor
+        iPosRequestor->AppendInfoRequest(iCurSetCapabilities);
+        iPosRequestor->AppendInfoRequest(iReqAsstData);
+        iPosRequestor->AppendInfoRequest(iPosition);
+        iPosRequestor->AppendInfoRequest(iPosPayload);
+        iPosRequestor->AppendInfoRequest(iVelocity);
 
-	// Append the SUPL POS INIT optional parameters to the list
-	// in POS Requestor
-	iPosRequestor->AppendInfoRequest(iCurSetCapabilities);
-	iPosRequestor->AppendInfoRequest(iReqAsstData);
-	iPosRequestor->AppendInfoRequest(iPosition);
-	iPosRequestor->AppendInfoRequest(iPosPayload);
-	iPosRequestor->AppendInfoRequest(iVelocity);
-	
-	// Set self as Observer to POS Requestor
-	iPosRequestor->SetObserver(this);
-	
-	TBuf<128> msg(_L("Filling iPosMethod in iPosRequestor: "));
-	iTrace->Trace(msg, KTraceFileName, __LINE__); 
-	if(iPosRequestor)
-		{
-		iAllowedCapabilitiesforPOS.SetAllowedCapabilities(EFalse, EFalse, EFalse, EFalse, EFalse, EFalse, EFalse, EFalse);
-		iPosRequestor->SetPosMethodAndAllowedCapabilities (iAllowedCapabilitiesforPOS,iPosMethod ); 
-        if(iHSLPAddress)
+        // Set self as Observer to POS Requestor
+
+        iPosRequestor->SetObserver(this);
+
+        TBuf<128> msg(_L("Filling iPosMethod in iPosRequestor: "));
+        iTrace->Trace(msg, KTraceFileName, __LINE__);
+
+        iAllowedCapabilitiesforPOS.SetAllowedCapabilities(EFalse, EFalse,
+                EFalse, EFalse, EFalse, EFalse, EFalse, EFalse);
+        iPosRequestor->SetPosMethodAndAllowedCapabilities(
+                iAllowedCapabilitiesforPOS, iPosMethod);
+        if (iHSLPAddress)
             {
-            HBufC* slpAddress = CnvUtfConverter::ConvertToUnicodeFromUtf8L(*iHSLPAddress);
+            HBufC* slpAddress = CnvUtfConverter::ConvertToUnicodeFromUtf8L(
+                    *iHSLPAddress);
             msg.Copy(_L("Filling iHSLPAddress in iPosRequestor: "));
             msg.Append(*slpAddress);
-            iTrace->Trace(msg, KTraceFileName, __LINE__); 
+            iTrace->Trace(msg, KTraceFileName, __LINE__);
             iPosRequestor->SetSLPAddressUsed(*slpAddress);
             }
-		}
-	// Get the information from POS
-	if(iPosRequestor)
-	User::LeaveIfError(iPosRequestor->GetSuplInfoL());
-	
-	}
+        // Get the information from POS
+        User::LeaveIfError(iPosRequestor->GetSuplInfoL());
+        }
+
+    }
 // -----------------------------------------------------------------------------
 // COMASuplPosInitState::OperationCompleteL
 // An observer method that indicates the completion of
@@ -596,7 +601,10 @@
         }
 		
 		COMASuplLocationIdVer2* locationId2 = COMASuplLocationIdVer2::NewL();
+		//coverity[SYMBIAN.CLEANUP_STACK :FALSE]
+		CleanupStack::PushL(locationId2);
 		CopyLocationidToLocationId2L(locationId2);
+		CleanupStack::Pop(locationId2);
 		OMASuplPosInit->SetLocationId2(locationId2);//Ownership will be with OMASuplPosInit
 		
 
@@ -663,7 +671,7 @@
 			}
 
 		// Position
-		if(iPosition)
+		if(iPosition && iRequestType == COMASuplSession::ESUPL_TERMINAL)
 			{
 			if(KErrNone == iPosition->Status() && !iIgnorePosData) //if iIgnorePosData is set do not use the pos data
 				{
@@ -779,13 +787,17 @@
 void COMASuplPosInitState::ComparisionLocationIDRequestCompletedL(COMASuplLocationId* aLocationId,
         TInt aErrorCode)
     {
-    
-    iTrace->Trace(_L("COMASuplPosInitState::ComparisionLocationIDRequestCompletedL..."), KTraceFileName, __LINE__);      
-    
-    if(aErrorCode!=KErrNone)
+
+    iTrace->Trace(
+            _L("COMASuplPosInitState::ComparisionLocationIDRequestCompletedL..."),
+            KTraceFileName, __LINE__);
+
+    if (aErrorCode != KErrNone)
         {
-        iTrace->Trace(_L("COMASuplPosInitState::ComparisionLocationIDRequestFailed"), KTraceFileName, __LINE__);       
-        if(iMsgStateObserver)
+        iTrace->Trace(
+                _L("COMASuplPosInitState::ComparisionLocationIDRequestFailed"),
+                KTraceFileName, __LINE__);
+        if (iMsgStateObserver)
             {
             iMsgStateObserver->OperationCompleteL(aErrorCode);
             return;
@@ -793,66 +805,68 @@
         }
     //if the current Cell id is the same as the Cell id when we made the request for assistance data then use the assistance data
     //and we have not already repeated a request before
-    if(!iRepeatedPosDataFetch && iLocationId->GetCellId() == aLocationId->GetCellId()) 
+
+    if (!iRepeatedPosDataFetch && iLocationId->GetCellId()
+            == aLocationId->GetCellId())
         {
-        iTrace->Trace(_L("COMASuplPosInitState::ComparisionLocationIDRequestCompletedL Cell Id not changed since making last request, so continuing"), KTraceFileName, __LINE__); 
-        if(iLocationId)
-            {
-            delete iLocationId;
-            iLocationId = NULL;
-            }
+        delete iLocationId;
+        iLocationId = NULL;
         iLocationId = aLocationId;
-        if(iMsgStateObserver)
-        iMsgStateObserver->OperationCompleteL(aErrorCode);
+        iTrace->Trace(
+                _L("COMASuplPosInitState::ComparisionLocationIDRequestCompletedL Cell Id not changed since making last request, so continuing"),
+                KTraceFileName, __LINE__);
+
+        if (iMsgStateObserver)
+            iMsgStateObserver->OperationCompleteL(aErrorCode);
         }
     else // Cell id has changed since previous request so assistance data may be invalid
         {
-        iTrace->Trace(_L("COMASuplPosInitState::ComparisionLocationIDRequestCompletedL Cell Id changed since making last request, retrieving toe limit"), KTraceFileName, __LINE__);
+        iTrace->Trace(
+                _L("COMASuplPosInitState::ComparisionLocationIDRequestCompletedL Cell Id changed since making last request, retrieving toe limit"),
+                KTraceFileName, __LINE__);
         TOMASuplNavigationModel navModel;
-        if(KErrNone == iReqAsstData->GetNavigationData(navModel))
+        if (KErrNone == iReqAsstData->GetNavigationData(navModel))
             {
             TInt gpsWeek, gpsToe, NSAT, toeLimit;
             navModel.GetNavigationModel(gpsWeek, gpsToe, NSAT, toeLimit);
-            if(toeLimit >= KMaxCellIdChangeToeLimit) 
+            if (toeLimit >= KMaxCellIdChangeToeLimit)
                 {
-                iTrace->Trace(_L("COMASuplPosInitState::ComparisionLocationIDRequestCompletedL toe limit greater than KMaxCellIdChangeToeLimit. getting  pos data again"), KTraceFileName, __LINE__);
-                if(!iRepeatedPosDataFetch)//if cell id changed and we have not already repeated fetching pos data
+                iTrace->Trace(
+                        _L("COMASuplPosInitState::ComparisionLocationIDRequestCompletedL toe limit greater than KMaxCellIdChangeToeLimit. getting  pos data again"),
+                        KTraceFileName, __LINE__);
+                iLocationId = aLocationId; //update the location id member for the next request as we are making a request again
+                if (!iRepeatedPosDataFetch)//if cell id changed and we have not already repeated fetching pos data
                     {
                     iRepeatedPosDataFetch = ETrue;
-                    if(iLocationId)
-                        {
-                        delete iLocationId;
-                        iLocationId = NULL;
-                        }
-                    iLocationId = aLocationId; //update the location id member for the next request as we are making a request again
-                    iTrace->Trace(_L("COMASuplPosInitState::ComparisionLocationIDRequestCompletedL toe limit greater than KMaxCellIdChangeToeLimit. getting  pos data again"), KTraceFileName, __LINE__);
+
+                    iTrace->Trace(
+                            _L("COMASuplPosInitState::ComparisionLocationIDRequestCompletedL toe limit greater than KMaxCellIdChangeToeLimit. getting  pos data again"),
+                            KTraceFileName, __LINE__);
                     GetPosParamsL();
                     }
                 else
                     {
+                    iLocationId = aLocationId;
                     iRepeatedPosDataFetch = EFalse; //reset the status
-                    if(iLocationId)
-                        {
-                       delete iLocationId;
-                       iLocationId = NULL;
-                        }
-                    iLocationId = aLocationId;
-                    iTrace->Trace(_L("COMASuplPosInitState::ComparisionLocationIDRequestCompletedL toe limit greater than KMaxCellIdChangeToeLimit. But repeated a pos fetch already so continuing"), KTraceFileName, __LINE__);
-                    iMsgStateObserver->OperationCompleteL(aErrorCode);//use the pos data as it is
+
+                    iTrace->Trace(
+                            _L("COMASuplPosInitState::ComparisionLocationIDRequestCompletedL toe limit greater than KMaxCellIdChangeToeLimit. But repeated a pos fetch already so continuing"),
+                            KTraceFileName, __LINE__);
+                    if (iMsgStateObserver)
+                        iMsgStateObserver->OperationCompleteL(aErrorCode);//use the pos data as it is
                     }
                 }
             else //ignore the position data
                 {
+                iLocationId = aLocationId;
                 iIgnorePosData = ETrue;
-                iTrace->Trace(_L("COMASuplPosInitState::ComparisionLocationIDRequestCompletedL toe limit less than KMaxCellIdChangeToeLimit. Ignoring pos data"), KTraceFileName, __LINE__);
+                iTrace->Trace(
+                        _L("COMASuplPosInitState::ComparisionLocationIDRequestCompletedL toe limit less than KMaxCellIdChangeToeLimit. Ignoring pos data"),
+                        KTraceFileName, __LINE__);
                 iRepeatedPosDataFetch = EFalse; //reset the status
-                if(iLocationId)
-                    {
-                	delete iLocationId;
-                	iLocationId = NULL;
-                    }
-                iLocationId = aLocationId;
-                iMsgStateObserver->OperationCompleteL(aErrorCode);
+
+                if (iMsgStateObserver)
+                    iMsgStateObserver->OperationCompleteL(aErrorCode);
                 }
             }
         }
@@ -1398,304 +1412,344 @@
 
 #endif					
 
-}
+    }
 
 void COMASuplPosInitState::LogReqAssistanceData()
-{
-
-#ifdef PRINT_MESSAGE
-		 	if(!iReqAsstData)
-		 		return;
- 	
-			if(KErrNone != iReqAsstData->Status())
-				{
-					iTrace->Trace(_L("No Assistance data is provided by POS message plugin for SUPL_POSINIT "), KTraceFileName, __LINE__);	
-					return;
-				}
-				
-			iTrace->Trace(_L("-------Start of Assistance data in SUPL_POSINIT ----------"), KTraceFileName, __LINE__);			        	
-			TOMASuplNavigationModel navModel;
-			TBool almanacReq, utcModel, ionModel, dgpsCorrect, 
-				  refeLocation, referenceTimeRequested,acquisition, realTime;
-					
-			iReqAsstData->GetReqAsstData(almanacReq, utcModel, ionModel, dgpsCorrect, refeLocation, 
-						 referenceTimeRequested, acquisition, realTime);
-						 
-			TBuf <300> reqAsstDataStr;
-			reqAsstDataStr.Append(_L("Requested Assistance Data - "));
-						 
-			if(almanacReq) reqAsstDataStr.Append(_L(" Almanac Requested "));
-			if(utcModel) reqAsstDataStr.Append(_L(" UTC Model Requested "));
-			if(ionModel) reqAsstDataStr.Append(_L(" Ionospheric Model Requested "));
-			if(dgpsCorrect) reqAsstDataStr.Append(_L(" DGPS Corrections "));
-			if(refeLocation) reqAsstDataStr.Append(_L(" Reference Location "));
-			if(referenceTimeRequested) reqAsstDataStr.Append(_L(" Reference Time "));
-			if(acquisition) reqAsstDataStr.Append(_L(" Acquisition Assistance "));
-			if(realTime) reqAsstDataStr.Append(_L(" Real Time Integrity "));
-			
-			iTrace->Trace(reqAsstDataStr, KTraceFileName, __LINE__); 			 
-			
-			
-			if(KErrNone == iReqAsstData->GetNavigationData(navModel))
-			{
-				TBuf <80> satInfoStr;
-				satInfoStr.Append(_L("Satellite Info  - "));
-
-				TInt gpsWeek, gpsToe, NSAT, toeLimit;
-				navModel.GetNavigationModel(gpsWeek, gpsToe, NSAT, toeLimit);
-				
-				if(gpsWeek) satInfoStr.Append(_L(" GPS Week "));
-				if(gpsToe) satInfoStr.Append(_L(" GPS Toe "));
-				if(NSAT) satInfoStr.Append(_L(" NSAT "));
-				if(toeLimit) satInfoStr.Append(_L(" TOE Limit"));
-				
-				iTrace->Trace(satInfoStr, KTraceFileName, __LINE__);
-				
-				RArray<TOMASuplSatelliteInfoElement> satEleArr;
-				
-				if(KErrNone == navModel.GetSatInfoElement(satEleArr))
-				{
-					TInt count = satEleArr.Count();
-					TBuf <50> satInfoElementStr;
-					satInfoElementStr.Append(_L("Number of Satellite Info Elements - "));
-					satInfoElementStr.AppendNum(count);
-					iTrace->Trace(satInfoElementStr, KTraceFileName, __LINE__); 
-					if(count > 0)
-					{
-						
-						TOMASuplSatelliteInfoElement satInfoEle;
-						
-						for(TInt i = 0; i < count; i ++)
-						{
-							TInt err = navModel.GetSatInfoElement(satInfoEle, i);
-							TInt satId,iode;
-							
-							satInfoEle.GetSatInfoElement(satId, iode);
-							
-							TBuf<50> satInfoEleStr;
-							satInfoEleStr.Append(_L(" Satellite Info Element -  "));
-							satInfoEleStr.AppendNum(satId);
-							satInfoEleStr.Append(_L("    "));
-							satInfoEleStr.AppendNum(iode);
-							iTrace->Trace(satInfoEleStr, KTraceFileName, __LINE__); 
-						}
-					}
-				}
-				else
-				{
-					iTrace->Trace(_L("No Satelite Info OR error in retriving Satelite Info "), KTraceFileName, __LINE__); 
-				}
-				satEleArr.Close();
-			}
-			else
-			{
-				iTrace->Trace(_L("Error in Getting Navigationl Data... "), KTraceFileName, __LINE__); 
-			}
-
-	iTrace->Trace(_L("------- End of Assistance data in SUPL_POSINIT ----------"), KTraceFileName, __LINE__);			        	
-	
-#endif	
-}
-
-void COMASuplPosInitState::LogVelocity(COMASuplVelocity* 
-#ifdef PRINT_MESSAGE
-velocity
-#endif
-)
-{
+    {
 
 #ifdef PRINT_MESSAGE
-		if(velocity)
-		{		
-		
-		TBuf<256> msg;
-		TOMASuplVelocityType velocityType = velocity->VelType();
-		COMASuplHorizVelocity* horizVelocity = velocity->Velocity();
-		TUint16 bearing;
-		TUint16 horSpeed;
-		switch(velocityType)	
-			{
-				case  EHorizVelocity:
-					{
-					iTrace->Trace(_L("Velocity Type : EHorizVelocity - Values "), KTraceFileName, __LINE__);
-					horizVelocity->GetHorizVel(bearing,horSpeed);
-					
-					msg.Append(_L("Bearing : "));
-					msg.AppendNum(bearing);
-					msg.Append(_L("Horizontal Speed : "));
-					msg.AppendNum(horSpeed);
-					iTrace->Trace(msg, KTraceFileName, __LINE__);
-					break;
-					}
-				case EHorizAndVertVelocity:
-					{
-					TUint8 verDirect;
-					TUint8 verSpeed;
-					COMASuplHorizAndVertVelocity* horizVertVel = (COMASuplHorizAndVertVelocity*)horizVelocity;
-					horizVertVel->GetHorizAndVertVel(bearing,horSpeed,verDirect,verSpeed);
-					
-					iTrace->Trace(_L("Velocity Type : EHorizVelocity - Values "), KTraceFileName, __LINE__);
-										
-					msg.Append(_L("Bearing : "));
-					msg.AppendNum(bearing);
-					msg.Append(_L("Horizontal Speed : "));
-					msg.AppendNum(horSpeed);
-					msg.Append(_L("Vertical Direction : "));
-					msg.AppendNum(verDirect);
-					msg.Append(_L("Vertical Speed : "));
-					msg.AppendNum(verSpeed);					
-					iTrace->Trace(msg, KTraceFileName, __LINE__);
-					
-					break;
-					}
-				case EHorizUncertVelocity: 
-					{
-					TUint8 uncertSpeed;
-					COMASuplHorizUncertVelocity* horizUncertVel = (COMASuplHorizUncertVelocity*)horizVelocity;
-	
-					horizUncertVel->GetHorizUncertVel(bearing,horSpeed,uncertSpeed);	
-					
-					iTrace->Trace(_L("Velocity Type : EHorizUncertVelocity - Values "), KTraceFileName, __LINE__);
-										
-					msg.Append(_L("Bearing : "));
-					msg.AppendNum(bearing);
-					msg.Append(_L("Horizontal Speed : "));
-					msg.AppendNum(horSpeed);
-					msg.Append(_L("Uncertainity Speed : "));
-					msg.AppendNum(uncertSpeed);
-							
-					iTrace->Trace(msg, KTraceFileName, __LINE__);
-					
-					break;
-					}
-				case EHorizAndVertUncertVelocity:
-					{
-					TUint8  verDirect;
-					TUint8  verSpeed;
-					TUint8  horizUncertSpeed;
-					TUint8  vertUncertSpeed;
-										
-					COMASuplHorizAndVertUncertVelocity* horizVertUncertVel = (COMASuplHorizAndVertUncertVelocity*)horizVelocity;
+    if (!iReqAsstData)
+        return;
+
+    if (KErrNone != iReqAsstData->Status())
+        {
+        iTrace->Trace(
+                _L("No Assistance data is provided by POS message plugin for SUPL_POSINIT "),
+                KTraceFileName, __LINE__);
+        return;
+        }
+
+    iTrace->Trace(
+            _L("-------Start of Assistance data in SUPL_POSINIT ----------"),
+            KTraceFileName, __LINE__);
+    TOMASuplNavigationModel navModel;
+    TBool almanacReq, utcModel, ionModel, dgpsCorrect, refeLocation,
+            referenceTimeRequested, acquisition, realTime;
+
+    iReqAsstData->GetReqAsstData(almanacReq, utcModel, ionModel, dgpsCorrect,
+            refeLocation, referenceTimeRequested, acquisition, realTime);
+
+    TBuf<300> reqAsstDataStr;
+    reqAsstDataStr.Append(_L("Requested Assistance Data - "));
+
+    if (almanacReq)
+        reqAsstDataStr.Append(_L(" Almanac Requested "));
+    if (utcModel)
+        reqAsstDataStr.Append(_L(" UTC Model Requested "));
+    if (ionModel)
+        reqAsstDataStr.Append(_L(" Ionospheric Model Requested "));
+    if (dgpsCorrect)
+        reqAsstDataStr.Append(_L(" DGPS Corrections "));
+    if (refeLocation)
+        reqAsstDataStr.Append(_L(" Reference Location "));
+    if (referenceTimeRequested)
+        reqAsstDataStr.Append(_L(" Reference Time "));
+    if (acquisition)
+        reqAsstDataStr.Append(_L(" Acquisition Assistance "));
+    if (realTime)
+        reqAsstDataStr.Append(_L(" Real Time Integrity "));
+
+    iTrace->Trace(reqAsstDataStr, KTraceFileName, __LINE__);
+
+    if (KErrNone == iReqAsstData->GetNavigationData(navModel))
+        {
+        TBuf<80> satInfoStr;
+        satInfoStr.Append(_L("Satellite Info  - "));
 
-					horizVertUncertVel->GetHorizVertUncertVel(bearing,horSpeed,verDirect,verSpeed,
-																horizUncertSpeed,vertUncertSpeed);
-					
-					iTrace->Trace(_L("Velocity Type : EHorizAndVertUncertVelocity - Values "), KTraceFileName, __LINE__);
-										
-					msg.Append(_L("Bearing : "));
-					msg.AppendNum(bearing);
-					msg.Append(_L("Horizontal Speed : "));
-					msg.AppendNum(horSpeed);
-					msg.Append(_L("Vertical Direction : "));
-					msg.AppendNum(verDirect);
-					msg.Append(_L("Vertical Speed : "));
-					msg.AppendNum(verSpeed);					
-					msg.Append(_L("Horiz Uncertain Speed : "));
-					msg.AppendNum(horizUncertSpeed);
-					msg.Append(_L("Vertical Uncertain Speed : "));
-					msg.AppendNum(vertUncertSpeed);					
-					iTrace->Trace(msg, KTraceFileName, __LINE__);																					
-																
-				    break;																
-					}
-			}
-		}
-#endif		
-}
+        TInt gpsWeek, gpsToe, NSAT, toeLimit;
+        navModel.GetNavigationModel(gpsWeek, gpsToe, NSAT, toeLimit);
 
-void COMASuplPosInitState::LogPacket(const TDesC8& 
-#ifdef PRINT_MESSAGE
-aPacket
-#endif
-)
-{
+        if (gpsWeek)
+            satInfoStr.Append(_L(" GPS Week "));
+        if (gpsToe)
+            satInfoStr.Append(_L(" GPS Toe "));
+        if (NSAT)
+            satInfoStr.Append(_L(" NSAT "));
+        if (toeLimit)
+            satInfoStr.Append(_L(" TOE Limit"));
 
-#ifdef PRINT_MESSAGE
-            RFile file;
-            RFs   fs;
-            TInt cErr=fs.Connect();
-            
-            TInt fErr = file.Open(fs,_L("c:\\logs\\epos\\POSINITpacket.txt"),EFileWrite|EFileShareAny);
-			if (fErr == KErrNotFound)
-			{                            
-				file.Create(fs, _L("c:\\logs\\epos\\POSINITpacket.txt"), EFileWrite|EFileShareAny);
-				fErr = file.Open(fs,_L("c:\\logs\\epos\\POSINITpacket.txt"), EFileWrite|EFileShareAny);
-			}
+        iTrace->Trace(satInfoStr, KTraceFileName, __LINE__);
 
-			TInt aPos;
-			file.Seek(ESeekEnd, aPos);
-			file.Write(aPacket);
-			file.Close();
-			fs.Close();
-#endif		
-}
+        RArray<TOMASuplSatelliteInfoElement> satEleArr;
 
-void COMASuplPosInitState::PrintHex(const TDesC8& 
-#ifdef PRINT_MESSAGE
-aBuffer
-#endif
-,
-TInt 
-#ifdef PRINT_MESSAGE
-aLine
-#endif
-)
-	{
-#ifdef PRINT_MESSAGE
-			TBuf<256> buffer;
-			TBuf<2> buff;
-			_LIT16(KFormat1,"%02x");
-			TInt len = aBuffer.Length();
-			for(TInt i = 0 ; i <len; i++)
-				{
-					buff.Zero();
-					buff.Format(KFormat1,aBuffer[i]);
-					buffer.Append(buff);	
-					buffer.Append(_L(" "));	
-				}
+        if (KErrNone == navModel.GetSatInfoElement(satEleArr))
+            {
+            TInt count = satEleArr.Count();
+            TBuf<50> satInfoElementStr;
+            satInfoElementStr.Append(
+                    _L("Number of Satellite Info Elements - "));
+            satInfoElementStr.AppendNum(count);
+            iTrace->Trace(satInfoElementStr, KTraceFileName, __LINE__);
+            if (count > 0)
+                {
+
+                TOMASuplSatelliteInfoElement satInfoEle;
+
+                for (TInt i = 0; i < count; i++)
+                    {
+                    TInt err = navModel.GetSatInfoElement(satInfoEle, i);
+                    TInt satId, iode;
 
-				iTrace->Trace(buffer, KTraceFileName, aLine); 											
-#endif
-	}
-	
-void COMASuplPosInitState::SetTriggerSessionFlag(TBool aTriggerFlag)
-    {
-    iTriggerFlag = aTriggerFlag;                
-    }        
+                    satInfoEle.GetSatInfoElement(satId, iode);
 
-TBool COMASuplPosInitState::GetTriggerSessionFlag()
-    {                
-    return iTriggerFlag;
-    }            
-void COMASuplPosInitState::CopyLocationidToLocationId2L(COMASuplLocationIdVer2* aLocationId2)
-    {
-    
-    COMASuplLocationId::TOMASuplCellInfoType cellType = iLocationId->SuplCellInfoType();
-    if( cellType == COMASuplLocationId::EGSM)
-        {
-            TInt MNC,MCC,CI,Lac;
-            COMASuplGSMCellInfo* cellInfo;
-            COMASuplLocationId::TOMASuplStatus status;
-            iLocationId->SuplLocationId(cellInfo, status);
-            cellInfo->SuplGSMCellInfo(MNC,MCC,CI,Lac);
-            
-            COMASuplGSMCellInfo* gsmCellInfo = COMASuplGSMCellInfo::NewL();
-            gsmCellInfo->SetSuplGSMCellInfo(MNC,MCC,CI,Lac);
-            aLocationId2->SetSuplLocationId(gsmCellInfo, status);
+                    TBuf<50> satInfoEleStr;
+                    satInfoEleStr.Append(_L(" Satellite Info Element -  "));
+                    satInfoEleStr.AppendNum(satId);
+                    satInfoEleStr.Append(_L("    "));
+                    satInfoEleStr.AppendNum(iode);
+                    iTrace->Trace(satInfoEleStr, KTraceFileName, __LINE__);
+                    }
+                }
+            }
+        else
+            {
+            iTrace->Trace(
+                    _L("No Satelite Info OR error in retriving Satelite Info "),
+                    KTraceFileName, __LINE__);
+            }
+        satEleArr.Close();
         }
     else
         {
-            TInt MNC,MCC,CI;
-            COMASuplCellInfo* cellInfo;
-            COMASuplLocationId::TOMASuplStatus status;
-            iLocationId->SuplLocationId(cellInfo, status);
-            cellInfo->SuplCellInfo(MNC,MCC,CI);
-            
-            COMASuplCellInfo* wcdmaCellInfo = COMASuplCellInfo::NewL();
-            wcdmaCellInfo->SetSuplCellInfo(MNC,MCC,CI);
-            aLocationId2->SetSuplLocationId(wcdmaCellInfo, status);
+        iTrace->Trace(_L("Error in Getting Navigationl Data... "),
+                KTraceFileName, __LINE__);
         }
 
+    iTrace->Trace(
+            _L("------- End of Assistance data in SUPL_POSINIT ----------"),
+            KTraceFileName, __LINE__);
+
+#endif	
+    }
+
+void COMASuplPosInitState::LogVelocity(COMASuplVelocity*
+#ifdef PRINT_MESSAGE
+        velocity
+#endif
+)
+    {
+
+#ifdef PRINT_MESSAGE
+    if (velocity)
+        {
+
+        TBuf<256> msg;
+        TOMASuplVelocityType velocityType = velocity->VelType();
+        COMASuplHorizVelocity* horizVelocity = velocity->Velocity();
+        TUint16 bearing;
+        TUint16 horSpeed;
+        switch (velocityType)
+            {
+            case EHorizVelocity:
+                {
+                iTrace->Trace(_L("Velocity Type : EHorizVelocity - Values "),
+                        KTraceFileName, __LINE__);
+                horizVelocity->GetHorizVel(bearing, horSpeed);
+
+                msg.Append(_L("Bearing : "));
+                msg.AppendNum(bearing);
+                msg.Append(_L("Horizontal Speed : "));
+                msg.AppendNum(horSpeed);
+                iTrace->Trace(msg, KTraceFileName, __LINE__);
+                break;
+                }
+            case EHorizAndVertVelocity:
+                {
+                TUint8 verDirect;
+                TUint8 verSpeed;
+                COMASuplHorizAndVertVelocity* horizVertVel =
+                        (COMASuplHorizAndVertVelocity*) horizVelocity;
+                horizVertVel->GetHorizAndVertVel(bearing, horSpeed,
+                        verDirect, verSpeed);
+
+                iTrace->Trace(_L("Velocity Type : EHorizVelocity - Values "),
+                        KTraceFileName, __LINE__);
+
+                msg.Append(_L("Bearing : "));
+                msg.AppendNum(bearing);
+                msg.Append(_L("Horizontal Speed : "));
+                msg.AppendNum(horSpeed);
+                msg.Append(_L("Vertical Direction : "));
+                msg.AppendNum(verDirect);
+                msg.Append(_L("Vertical Speed : "));
+                msg.AppendNum(verSpeed);
+                iTrace->Trace(msg, KTraceFileName, __LINE__);
+
+                break;
+                }
+            case EHorizUncertVelocity:
+                {
+                TUint8 uncertSpeed;
+                COMASuplHorizUncertVelocity* horizUncertVel =
+                        (COMASuplHorizUncertVelocity*) horizVelocity;
+
+                horizUncertVel->GetHorizUncertVel(bearing, horSpeed,
+                        uncertSpeed);
+
+                iTrace->Trace(
+                        _L("Velocity Type : EHorizUncertVelocity - Values "),
+                        KTraceFileName, __LINE__);
+
+                msg.Append(_L("Bearing : "));
+                msg.AppendNum(bearing);
+                msg.Append(_L("Horizontal Speed : "));
+                msg.AppendNum(horSpeed);
+                msg.Append(_L("Uncertainity Speed : "));
+                msg.AppendNum(uncertSpeed);
+
+                iTrace->Trace(msg, KTraceFileName, __LINE__);
+
+                break;
+                }
+            case EHorizAndVertUncertVelocity:
+                {
+                TUint8 verDirect;
+                TUint8 verSpeed;
+                TUint8 horizUncertSpeed;
+                TUint8 vertUncertSpeed;
+
+                COMASuplHorizAndVertUncertVelocity* horizVertUncertVel =
+                        (COMASuplHorizAndVertUncertVelocity*) horizVelocity;
+
+                horizVertUncertVel->GetHorizVertUncertVel(bearing, horSpeed,
+                        verDirect, verSpeed, horizUncertSpeed,
+                        vertUncertSpeed);
+
+                iTrace->Trace(
+                        _L("Velocity Type : EHorizAndVertUncertVelocity - Values "),
+                        KTraceFileName, __LINE__);
+
+                msg.Append(_L("Bearing : "));
+                msg.AppendNum(bearing);
+                msg.Append(_L("Horizontal Speed : "));
+                msg.AppendNum(horSpeed);
+                msg.Append(_L("Vertical Direction : "));
+                msg.AppendNum(verDirect);
+                msg.Append(_L("Vertical Speed : "));
+                msg.AppendNum(verSpeed);
+                msg.Append(_L("Horiz Uncertain Speed : "));
+                msg.AppendNum(horizUncertSpeed);
+                msg.Append(_L("Vertical Uncertain Speed : "));
+                msg.AppendNum(vertUncertSpeed);
+                iTrace->Trace(msg, KTraceFileName, __LINE__);
+
+                break;
+                }
+            }
+        }
+#endif		
+    }
+
+void COMASuplPosInitState::LogPacket(const TDesC8&
+#ifdef PRINT_MESSAGE
+        aPacket
+#endif
+)
+    {
+
+#ifdef PRINT_MESSAGE
+    RFile file;
+    RFs fs;
+    TInt cErr = fs.Connect();
+
+    TInt fErr = file.Open(fs, _L("c:\\logs\\epos\\POSINITpacket.txt"),
+            EFileWrite | EFileShareAny);
+    if (fErr == KErrNotFound)
+        {
+        file.Create(fs, _L("c:\\logs\\epos\\POSINITpacket.txt"), EFileWrite
+                | EFileShareAny);
+        fErr = file.Open(fs, _L("c:\\logs\\epos\\POSINITpacket.txt"),
+                EFileWrite | EFileShareAny);
+        }
+
+    TInt aPos;
+    file.Seek(ESeekEnd, aPos);
+    file.Write(aPacket);
+    file.Close();
+    fs.Close();
+#endif		
+    }
+
+void COMASuplPosInitState::PrintHex(const TDesC8&
+#ifdef PRINT_MESSAGE
+        aBuffer
+#endif
+        , TInt
+#ifdef PRINT_MESSAGE
+        aLine
+#endif
+)
+    {
+#ifdef PRINT_MESSAGE
+    TBuf<256> buffer;
+    TBuf<2> buff;
+    _LIT16(KFormat1,"%02x");
+    TInt len = aBuffer.Length();
+    for (TInt i = 0; i < len; i++)
+        {
+        buff.Zero();
+        buff.Format(KFormat1, aBuffer[i]);
+        buffer.Append(buff);
+        buffer.Append(_L(" "));
+        }
+
+    iTrace->Trace(buffer, KTraceFileName, aLine);
+#endif
+    }
+
+void COMASuplPosInitState::SetTriggerSessionFlag(TBool aTriggerFlag)
+    {
+    iTriggerFlag = aTriggerFlag;
+    }
+
+TBool COMASuplPosInitState::GetTriggerSessionFlag()
+    {
+    return iTriggerFlag;
+    }
+void COMASuplPosInitState::CopyLocationidToLocationId2L(
+        COMASuplLocationIdVer2* aLocationId2)
+    {
+
+    COMASuplLocationId::TOMASuplCellInfoType cellType =
+            iLocationId->SuplCellInfoType();
+    if (cellType == COMASuplLocationId::EGSM)
+        {
+        TInt MNC, MCC, CI, Lac;
+        COMASuplGSMCellInfo* cellInfo;
+        COMASuplLocationId::TOMASuplStatus status;
+        TInt err = iLocationId->SuplLocationId(cellInfo, status);
+        if (err != KErrNone)
+            return;
+        cellInfo->SuplGSMCellInfo(MNC, MCC, CI, Lac);
+
+        COMASuplGSMCellInfo* gsmCellInfo = COMASuplGSMCellInfo::NewL();
+        gsmCellInfo->SetSuplGSMCellInfo(MNC, MCC, CI, Lac);
+        aLocationId2->SetSuplLocationId(gsmCellInfo, status);
+        }
+    else
+        {
+        TInt MNC, MCC, CI;
+        COMASuplCellInfo* cellInfo;
+        COMASuplLocationId::TOMASuplStatus status;
+
+        TInt err = iLocationId->SuplLocationId(cellInfo, status);
+        if (err != KErrNone)
+            return;
+        cellInfo->SuplCellInfo(MNC, MCC, CI);
+        COMASuplCellInfo* wcdmaCellInfo = COMASuplCellInfo::NewL();
+        wcdmaCellInfo->SetSuplCellInfo(MNC, MCC, CI);
+        aLocationId2->SetSuplLocationId(wcdmaCellInfo, status);
+        }
 
     }
 //  End of File
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplposrequestor.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplposrequestor.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -75,14 +75,14 @@
 //
 void COMASuplPOSRequestor::DestroyList()
     {
-		iTrace->Trace(_L("COMASuplPOSRequestor::DestroyList"), KTraceFileName, __LINE__); 
-		if(iOMASuplInfoRequestList)
-			{
-				delete iOMASuplInfoRequestList;
-				iOMASuplInfoRequestList = NULL;
-			
-			}
-	}
+    if(iTrace)
+        iTrace->Trace(_L("COMASuplPOSRequestor::DestroyList"), KTraceFileName, __LINE__); 
+    if(iOMASuplInfoRequestList)
+        {
+        delete iOMASuplInfoRequestList;
+        iOMASuplInfoRequestList = NULL;
+        }
+    }
 
 // -----------------------------------------------------------------------------
 // COMASuplPOSRequestor::NewL
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplprotocolmanager2.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplprotocolmanager2.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -104,11 +104,11 @@
 // Destructor.
 EXPORT_C COMASUPLProtocolManager2::~COMASUPLProtocolManager2()
 	{
-	if(iSettingsLauncher)		
+	/*if(iSettingsLauncher)		
 		{
-		iSettingsLauncher->CancelLaunch();
-		}
-		
+			iSettingsLauncher->CancelLaunch();
+		}*/
+	
 	if(iSuplSettings)
 		{
 		iSuplSettings->SetUIActive( EFalse );
@@ -136,7 +136,7 @@
 	}
 	
 	delete iSuplStorageSettings;
-    delete iSettingsLauncher;
+    //delete iSettingsLauncher;
     delete iNotifier;
 	iMobilePhone.Close(); 
 	iTelServer.Close();
@@ -169,7 +169,7 @@
 	iSuplStorageSettings->SetObserverL(*this);
 	iSuplStorageSettings->SetSessionObserverL(*this);
 	
-   	iSettingsLauncher = COMASuplSettingsLauncher::NewL( *this );
+   	//iSettingsLauncher = COMASuplSettingsLauncher::NewL( *this );
    	
     TRAPD(err,iOMASuplAsnHandlerBaseImpl = COMASuplAsnHandlerBase::NewL(2);) 
     TBuf<64> buf(_L("ASN Plugin 2.0 loaded with error : "));                
@@ -257,7 +257,7 @@
 	//Connect to ETel
 	User::LeaveIfError(ConnectToETelL());
   
-    ReadSuplUsage();    
+    //ReadSuplUsage();    
 	 
 	if(iSuplEcomEventWatcher)
 		{
@@ -1251,7 +1251,7 @@
     if( aEvent == MSuplSettingsObserver::ESuplSettingsEventSuplUsageChange)
         {
         iTrace->Trace(_L("Setting Changed.SUPL Usage changed.. Reeading once again..."), KTraceFileName, __LINE__);
-        ReadSuplUsage();
+        //ReadSuplUsage();
 		}
 	else if( aEvent == MSuplSettingsObserver::ESuplSettingsEventCommParameterChange)
 		{
@@ -1261,6 +1261,26 @@
 	}
 
 // -----------------------------------------------------------------------------
+// COMASUPLProtocolManager2::HandleSuplTriggerStatusChangeL
+// notifier for settings changes.
+// -----------------------------------------------------------------------------
+void COMASUPLProtocolManager2::HandleSuplTriggerStatusChangeL(CSuplSettings::TSuplTriggerStatus aSuplTriggerStatus)
+	{
+  	iTrace->Trace(_L("Setting Changed.SUPL Trigger Status Changed..."), KTraceFileName, __LINE__);
+		if( aSuplTriggerStatus == CSuplSettings::ESuplTriggerOff)
+		{
+						iTrace->Trace(_L("Setting Changed.SUPL Trigger Status to OFF..."), KTraceFileName, __LINE__);
+						TInt TotalSession = iSuplSessions.Count();
+						for(TInt cnt = 0; cnt < TotalSession; ++cnt)
+							{
+									iTrace->Trace(_L("Cancelling Trigger Session..."), KTraceFileName, __LINE__);
+									COMASuplSession* OMAsuplSession = static_cast<COMASuplSession*>(iSuplSessions[cnt]);
+	 								OMAsuplSession->CancelTriggerSession();		
+							}
+		}
+	}
+
+// -----------------------------------------------------------------------------
 // COMASUPLProtocolManager2::LogPacket
 // Logs
 // -----------------------------------------------------------------------------
@@ -1742,72 +1762,6 @@
 	}
 	
 	
-// -----------------------------------------------------------------------------
-// COMASUPLProtocolManager2::LaunchSettingsUI
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt COMASUPLProtocolManager2::LaunchSettingsUI(MOMASuplUICompletionObserver* aObserver,const TDesC& aForHslp)
-    {        
-	iTrace->Trace(_L("COMASUPLProtocolManager2::LaunchSettingsUI"), KTraceFileName, __LINE__);
-    
-    if (iSuplSettings->IsUIActive())
-        return KErrInUse;                
-    iSessnUIObserver = aObserver;            
-    iSuplSettings->SetUIActive(ETrue);
-   
-    if(iUIRequestArray.Count() <= 0 )
-    	{
-		iTrace->Trace(_L("COMASUPLProtocolManager2::LaunchSettingsUI"), KTraceFileName, __LINE__);
-		iUIRequestArray.Append(aObserver);
-		iSuplSettings->SetUIActive(ETrue);
-		iCurrentlyUsedHslp.Copy(aForHslp);
-		return iSettingsLauncher->LaunchSettings();	
-    	}
-    else if(iCurrentlyUsedHslp.Compare(aForHslp) == KErrNone)
-    	{
-		iUIRequestArray.Append(aObserver);
-    	}
-    else
-    	{
-		return KErrInUse;                
-    	}
-    		
-	return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// COMASUPLProtocolManager2::SettingsUICompletedL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-void COMASUPLProtocolManager2::SettingsUICompletedL(TInt aError)
-	{
-	iTrace->Trace(_L("COMASUPLProtocolManager2::SettingsUICompletedL"), KTraceFileName, __LINE__);
-    iSuplSettings->SetUIActive(EFalse);
-
-    if (iDeInitDone)
-        {
-	    iTrace->Trace(_L("COMASUPLProtocolManager2::SettingsUICompletedL, de-init done.  Completing request"), KTraceFileName, __LINE__);
-        iDeInitDone = EFalse;
-        User::RequestComplete(iDeInitRequestStatus,KErrNone);
-        }                
-    else
-        {
-    	for(TInt i = 0; i < iUIRequestArray.Count(); i++)
-    		{
-    			iTrace->Trace(_L("COMASUPLProtocolManager2::SettingsUICompletedL,Forwarding ConnRerquestor "), KTraceFileName, __LINE__);
-    			MOMASuplUICompletionObserver* observer = iUIRequestArray[i];
-    			observer->SettingsUICompletedL(aError);
-    		}
-        }
-        
-        iCurrentlyUsedHslp.Copy(_L(""));	
-        iUIRequestArray.Reset();
-    }
-
 
 // -----------------------------------------------------------------------------
 // COMASUPLProtocolManager2::DeInitialize
@@ -1871,7 +1825,7 @@
 // -----------------------------------------------------------------------------
 //
 
-TInt COMASUPLProtocolManager2::LaunchSuplUsageSettingsUI(MOMASuplUICompletionObserver* aObserver, TBool aRoaming)	
+/*TInt COMASUPLProtocolManager2::LaunchSuplUsageSettingsUI(MOMASuplUICompletionObserver* aObserver, TBool aRoaming)	
 	{
 	iTrace->Trace(_L("COMASUPLProtocolManager2::LaunchSuplUsageSettingsUI"), KTraceFileName, __LINE__);
     if (iSuplSettings->IsUIActive() && !iTimeOutDialogPresent)
@@ -1886,7 +1840,7 @@
     iSessnUIObserver = aObserver;            
     iSuplSettings->SetUIActive(ETrue);
     return iSettingsLauncher->LaunchSuplUsageSettingsUI(aRoaming);
-	}
+	}*/
 
 // -----------------------------------------------------------------------------
 // COMASUPLProtocolManager2::SettingsUsageUICompletedL
@@ -1894,7 +1848,7 @@
 // 
 // -----------------------------------------------------------------------------
 //
-void COMASUPLProtocolManager2::SettingsUsageUICompletedL(TInt aError)
+/*void COMASUPLProtocolManager2::SettingsUsageUICompletedL(TInt aError)
 	{
 	iTrace->Trace(_L("COMASUPLProtocolManager2::SettingsUsageUICompletedL"), KTraceFileName, __LINE__);
     iSuplSettings->SetUIActive(EFalse);
@@ -1912,7 +1866,7 @@
         }
 
     CheckOutstandingUsageUIRequestsL();
-	}
+	}*/
 
 // -----------------------------------------------------------------------------
 // COMASUPLProtocolManager2::ReadSuplUsage
@@ -1920,7 +1874,7 @@
 // 
 // -----------------------------------------------------------------------------
 //
-void COMASUPLProtocolManager2::ReadSuplUsage()
+/*void COMASUPLProtocolManager1::ReadSuplUsage()
 	{
 	iTrace->Trace(_L("COMASUPLProtocolManager2::ReadSuplUsage start"), KTraceFileName, __LINE__);	
 	CSuplSettings::TSuplSettingsUsage suplUsage;
@@ -1930,7 +1884,7 @@
 			iSuplSettings->SetSUPLUsage(suplUsage);
 		}
 	iTrace->Trace(_L("COMASUPLProtocolManager2::ReadSuplUsage end"), KTraceFileName, __LINE__);	
-	}
+	}*/
 
 void COMASUPLProtocolManager2::UpdateAllSubSessnsInSameSession(TInt aIpcSessionId)
     {
@@ -1971,7 +1925,7 @@
 
             if (OMAsuplSession->GetSuplUsageFlag())
                 {                        
-                OMAsuplSession->StartUsageDialogLaunchL();
+                //OMAsuplSession->StartUsageDialogLaunchL();
                 break;
                 }
 		}
@@ -2061,7 +2015,7 @@
 // 
 // -----------------------------------------------------------------------------
 //
-TInt COMASUPLProtocolManager2::LaunchSuplDialogTimeoutUI(MOMASuplUICompletionObserver* aObserver )
+/*TInt COMASUPLProtocolManager2::LaunchSuplDialogTimeoutUI(MOMASuplUICompletionObserver* aObserver )
     {
     iTrace->Trace(_L("COMASUPLProtocolManager2::LaunchTimeOutUI"), KTraceFileName, __LINE__);
     
@@ -2075,7 +2029,7 @@
     iSuplSettings->SetUIActive(ETrue);
     iTimeOutDialogPresent = ETrue;
     return iSettingsLauncher->LaunchSessionTimeOutDialog();		
-    }
+    }*/
 
 // -----------------------------------------------------------------------------
 // COMASUPLProtocolManager2::SettingsTimeOutUICompletedL
@@ -2083,7 +2037,7 @@
 // 
 // -----------------------------------------------------------------------------
 //
-void COMASUPLProtocolManager2::SettingsTimeOutUICompletedL(TInt aError)
+/*void COMASUPLProtocolManager2::SettingsTimeOutUICompletedL(TInt aError)
 	{
 	iTrace->Trace(_L("COMASUPLProtocolManager2::SettingsTimeOutUICompletedL"), KTraceFileName, __LINE__);
     iSuplSettings->SetUIActive(EFalse);
@@ -2100,7 +2054,7 @@
         if (iSessnUIObserver)                
         	iSessnUIObserver->SettingsTimeOutUICompletedL(aError);
         }
-	}
+	}*/
 
 // -----------------------------------------------------------------------------
 // COMASUPLProtocolManager2::GetLastUsedAccessPoint
@@ -2108,9 +2062,10 @@
 // 
 // -----------------------------------------------------------------------------
 //
-TInt COMASUPLProtocolManager2::GetLastUsedAccessPoint(TDes& aLastlyUsedAccessPoint,TUint32& iIAPId)
+TInt COMASUPLProtocolManager2::GetLastUsedAccessPoint(TDes& /*aLastlyUsedAccessPoint*/,TUint32& /*iIAPId*/)
 	{
-	return iSettingsLauncher->GetIAPName(aLastlyUsedAccessPoint,iIAPId);
+	//return iSettingsLauncher->GetIAPName(aLastlyUsedAccessPoint,iIAPId);
+	return KErrNone;
 	}
 
 // -----------------------------------------------------------------------------
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplsession2.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplsession2.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -187,7 +187,7 @@
 
      if( aIMSI.Length() )
          {
-         iIMSI.Create( aIMSI );    
+         User::LeaveIfError(iIMSI.Create( aIMSI ));    
          }
 
      if(iPosHandler)
@@ -1719,8 +1719,8 @@
     TOMASuplUtcTime UtcTime;
     TOMASuplPositionEstimate PosEstimate;
     TDateTime TimeStamp;
-    TInt ZoneCode,Zone,altitude, HorizontalAccuracy;
-	TInt AltitudeUncertainty = 0;
+    //coverity[var_decl]
+    TInt ZoneCode,Zone,altitude,AltitudeUncertainty, HorizontalAccuracy;
     TOMASuplAltitudeInfo AltitudeInfo;
     TInt latitude,longitude;
     TOMASuplPositionEstimate::TOMASuplLatitudeSign LatSign;
@@ -1776,6 +1776,7 @@
     msg.AppendNum(altitude);
     iTrace->Trace(msg,KTraceFileName, __LINE__); 
     msg.Copy(_L("Altitude uncertainty "));
+    //coverity[uninit_use_in_call] 
     msg.AppendNum(AltitudeUncertainty);
     iTrace->Trace(msg,KTraceFileName, __LINE__); 
 
@@ -1904,8 +1905,8 @@
     TOMASuplUtcTime UtcTime;
     TOMASuplPositionEstimate PosEstimate;
     TDateTime TimeStamp;
-    TInt ZoneCode,Zone,altitude, HorizontalAccuracy;
-	TInt AltitudeUncertainty = 0;
+    //coverity[var_decl]
+    TInt ZoneCode,Zone,altitude,AltitudeUncertainty, HorizontalAccuracy;
     TOMASuplAltitudeInfo AltitudeInfo;
     TInt latitude,longitude;
     TOMASuplPositionEstimate::TOMASuplLatitudeSign LatSign;
@@ -1930,6 +1931,7 @@
     TReal pwrMjr, pwrMnr, pwrAlt;
             Math::Pow(pwrMjr, 1.1, UncertaintySemiMajor);
             Math::Pow(pwrMnr, 1.1, UncertaintySemiMinor);
+    //coverity[uninit_use] 
     Math::Pow(pwrAlt, 1.070000, AltitudeUncertainty); 
     UncertaintySemiMajorReal = 10 * (pwrMjr -1);
     UncertaintySemiMinorReal = 10 * (pwrMnr -1);
@@ -2177,7 +2179,7 @@
         iTrace->Trace(msg,KTraceFileName, __LINE__); 
         }
 
-    CSuplSettings::TSuplSettingsUsage usage = iSuplSettings->SUPLUsage();
+        /*CSuplSettings::TSuplSettingsUsage usage = iSuplSettings->SUPLUsage();
 
     if (usage == CSuplSettings::ESuplUsageDisabled)
         {                
@@ -2185,7 +2187,7 @@
         iTrace->Trace(msg,KTraceFileName, __LINE__); 
         iSessionObserver.TerminateSession(this, KErrGeneral);	
         return;
-        }
+            }*/
 
     COMASuplAsnMessageBase::TSuplMessageType messageType = aDecodedAsnMessage->MessageType();
 
@@ -2197,10 +2199,6 @@
         {
         CreateCloneMessageL(aDecodedAsnMessage);		
         UpdateSuplSessionIDL();
-		if (iRequestType == ESUPL_NETWORK && messageType == COMASuplAsnMessageBase::ESUPL_INIT)
-			{
-			ServerAddressCheckForSuplInitL();
-			}
  
         iSuplSessionState = ESUPL_INITIALIZED;
         iSuplMsgType = ESUPL_END;
@@ -3624,6 +3622,9 @@
                     return;
                     }
                 }
+			//Comment to ignore coverity missing break error
+			//coverity[MISSING_BREAK  :FALSE]
+    		       
             case COMASuplState::ESUPL_POS_INIT:
                 {
                 cancelSendRequestor = EFalse;
@@ -4698,7 +4699,7 @@
 // COMASuplSession::SettingsUsageUICompletedL
 // 
 // -----------------------------------------------------------------------------
-void COMASuplSession::SettingsUsageUICompletedL(TInt aError)
+/*void COMASuplSession::SettingsUsageUICompletedL(TInt aError)
     {
     iUIFlag = EFalse;
     TBuf<64> msg;	
@@ -4744,7 +4745,7 @@
         iSessionObserver.TerminateSession(this, KErrGeneral);	
         return;
         }
-    }
+	}*/
 
 // -----------------------------------------------------------------------------
 // COMASuplSession::CheckForSuplUsageL
@@ -4754,7 +4755,7 @@
     {
     iTrace->Trace(_L("COMASuplSession::CheckForSuplUsageL Start"), KTraceFileName, __LINE__); 
 
-    if (iSuplUsage >= 1)
+    /*if (iSuplUsage >= 1)
         {            
         CSuplSettings::TSuplSettingsUsage usage = iSuplSettings->SUPLUsage();
         if (usage == CSuplSettings::ESuplUsageDisabled)
@@ -4763,18 +4764,24 @@
             iSessionObserver.TerminateSession(this, KErrGeneral);	
             }
         else if (usage == CSuplSettings::ESuplUsageAutomatic)
-            {            
+            { */           
             if (iNwInitError)
                 {
                 iNwInitError = EFalse;                    
                 HandleSuplInitErrorL(iNwInitCompletionCode);                             
                 }                
             else
-                {                    
-                iTrace->Trace(_L("CheckForSuplUsageL, Initializing"), KTraceFileName, __LINE__); 
-                InitializeL(iRequestID); 
-                }
-            }
+            	{
+            		if (iRoaming)                
+                    HandleRoamingCheckCompleteL(KErrNone, EFalse);                    
+                else
+                    {                        
+                    iEtelRoamingCheck = ETrue;
+                    iProtocolManager.CheckForRoaming();
+                    }
+	            //InitializeL(iRequestID); 
+	          	}
+            /*}
 
         else if (usage == CSuplSettings::ESuplUsageHomeAutomatic || usage == CSuplSettings::ESuplUsageAlwaysAsk)
             {
@@ -4788,7 +4795,7 @@
             }            
         }            
     else
-        InitializeL(iRequestID); 
+	        InitializeL(iRequestID); */
 
     }        
 
@@ -4871,9 +4878,9 @@
         {            
         iUsageHomeNW = aHomeNw;   
         iConnRequestor->UpdateSLPListForHomeUsage(iUsageHomeNW);             
-        CSuplSettings::TSuplSettingsUsage usage = iSuplSettings->SUPLUsage();
-
-        if (usage == CSuplSettings::ESuplUsageAlwaysAsk)
+            //CSuplSettings::TSuplSettingsUsage usage = iSuplSettings->SUPLUsage();
+
+            /*if (usage == CSuplSettings::ESuplUsageAlwaysAsk)
             {
             TInt err;                
             if (!aHomeNw)
@@ -4935,16 +4942,16 @@
                 HandleSuplErrorL(err);
                 }
 
-            }
-        else if (usage == CSuplSettings::ESuplUsageHomeAutomatic) 
-            {                
-            if (!aHomeNw)
-                {                
-                TInt err;                
+                }*/
+            //else if (usage == CSuplSettings::ESuplUsageHomeAutomatic) 
+            //{                
+            //if (!aHomeNw)
+              //  {                
+                //TInt err = KErrNone;                
                 //if (!iSuplSettings->IsUIActive() )
-                {
-                iTrace->Trace(_L("Invoking LaunchSuplUsageSettingsUI, user is roaming"), KTraceFileName, __LINE__);
-                err = iProtocolManager.LaunchSuplUsageSettingsUI(this, ETrue);        
+                    {
+                    //iTrace->Trace(_L("Invoking LaunchSuplUsageSettingsUI, user is roaming"), KTraceFileName, __LINE__);
+                    //err = iProtocolManager.LaunchSuplUsageSettingsUI(this, ETrue);        
 
                 if(iSuplMsgType == ESUPL_INIT)
                     {
@@ -4983,7 +4990,7 @@
                 }
 
 
-                if(!iSuplSettings->IsUIActive() && KErrNone != err)
+              /*  if(!iSuplSettings->IsUIActive() && KErrNone != err)
                     {
                     SetSuplUsageFlag();                            
                     }
@@ -4991,19 +4998,18 @@
                     {
                     iTrace->Trace(_L("Invoking HandleSuplErrorL"), KTraceFileName, __LINE__);
                     HandleSuplErrorL(err);
-                    }
-                }
-            else            
-                {                
+                    }*/
+                
+                       
+                                
                 if (iNwInitError)
                     {
                     iNwInitError = EFalse;                    
                     HandleSuplInitErrorL(iNwInitCompletionCode);                             
                     }                
                 else
-                    InitializeL(iRequestID); 
-                }                
-            }                
+	                InitializeL(iRequestID); 
+                                                
         }
     else
         {
@@ -5073,7 +5079,7 @@
     return iUsageDialog;
     }        
 
-void COMASuplSession::StartUsageDialogLaunchL()
+/*void COMASuplSession::StartUsageDialogLaunchL()
     {
     iTrace->Trace(_L("COMASuplSession::StartUsageDialogLaunchL"), KTraceFileName, __LINE__);
     ReSetSuplUsageFlag();            
@@ -5239,7 +5245,7 @@
                 InitializeL(iRequestID); 
             }                
         }                
-    }
+    }*/
 
 TBool COMASuplSession::IsEtelNotifySet()
     {
@@ -5279,10 +5285,10 @@
         iTrace->Trace(_L("Timer Expired for SUPL Dialog"), KTraceFileName, __LINE__); 
 
 
-        if (!iIapDialogShown)
-            iProtocolManager.LaunchSuplDialogTimeoutUI(this);
-        else
-            iIapDlgTimerExpired = ETrue;            
+    //if (!iIapDialogShown)
+	   // iProtocolManager.LaunchSuplDialogTimeoutUI(this);
+   // else
+       // iIapDlgTimerExpired = ETrue;            
 
         }
     return;	
@@ -5292,14 +5298,14 @@
 // COMASuplSession::SettingsTimeOutUICompletedL
 // 
 // -----------------------------------------------------------------------------
-void COMASuplSession::SettingsTimeOutUICompletedL(TInt aError)
+void COMASuplSession::SettingsTimeOutUICompletedL(TInt /*aError*/)
     {
 
-    TBuf<64> msg;	
-    msg.Copy(_L("SUPL Timeout UI completed with ... "));
-    msg.AppendNum(aError);
-    iTrace->Trace(msg,KTraceFileName, __LINE__); 
-    iSessionObserver.TerminateSession(this, KErrGeneral);	
+	  //  TBuf<64> msg;	
+	  //  msg.Copy(_L("SUPL Timeout UI completed with ... "));
+	  //  msg.AppendNum(aError);
+	  //  iTrace->Trace(msg,KTraceFileName, __LINE__); 
+	  //  iSessionObserver.TerminateSession(this, KErrGeneral);	
     return;
 
     }
@@ -5478,11 +5484,15 @@
 
 void COMASuplSession::GetPeriodicTriggerParams()
     {
-    iTrace->Trace(_L("COMASuplSession::GetPeriodicTriggerParams"), KTraceFileName, __LINE__); 
-    iTriggerParams.Get(iNumFixes, iInterval, iStartTime);
-    iTotalNoOfFixes = iNumFixes;
-    iStartTimeCopy = iStartTime;
-    }        
+    iTrace->Trace(_L("COMASuplSession::GetPeriodicTriggerParams"),
+            KTraceFileName, __LINE__);
+    TInt ret = iTriggerParams.Get(iNumFixes, iInterval, iStartTime);
+    if (KErrNone == ret)
+        {
+        iTotalNoOfFixes = iNumFixes;
+        iStartTimeCopy = iStartTime;
+        }
+    }
 
 void COMASuplSession::StartPeriodicTriggerTimer()
     {
@@ -5613,7 +5623,14 @@
 						}	
 
             CTriggerParams* activeSessionParam = CTriggerParams::NewLC();
+            TTime endTime;
+            endTime.HomeTime();
+            TTimeIntervalSeconds period;
+            period = iNumFixes * iInterval;
+            endTime = endTime + period;
             activeSessionParam->Set(iSETSessionUniqueId,iRequestorName,ETrue,ETrue,CTriggerParams::EPeriodic,requestType,iNumFixes,iInterval);
+            activeSessionParam->SetTriggerEndTime(endTime);
+            
             iTrace->Trace(_L("Session Id : "), KTraceFileName, __LINE__);
             TBuf<64> sessionId;
             sessionId.AppendNum(iSETSessionUniqueId);
@@ -5678,7 +5695,7 @@
 				//Inform UI that ,trigger session has started...
 		InsertActiveSessionL();
 		TInt privacyId;
-		iNetworkPrivacy->NotifyLocationRequestL(*iSuplReqInfo, privacyId); 
+		TRAP_IGNORE(iNetworkPrivacy->NotifyLocationRequestL(*iSuplReqInfo, privacyId); )
 		iTrace->Trace(_L(" Calling InsertActiveSessionL"), KTraceFileName, __LINE__);
          
 	}
@@ -5695,11 +5712,13 @@
     CTriggerParams::TRequestType requestType;
     TUint64 outstandingTrigger;
     TUint64 interval;
+    TTime endTime;
 
 	HBufC* sessionName = HBufC::NewL( KMaxSessionNameLength );
 	
 		aParamValues->Get(sessionId,sessionName->Des(),notificationPresent,triggerNotificationStatus,
                            triggerType,requestType,outstandingTrigger,interval);
+		aParamValues->GetTriggerEndTime(endTime);                                                            
                            //triggerNotificationStatus = ETrue;
 	
 		UpdateActiveTriggerSession(); //Update UI for trigger info...
@@ -5715,7 +5734,7 @@
 				
 				
 				
-    	iNetworkPrivacy->NotifyLocationRequestL(*iSuplReqInfo, iRequestorId);
+    	TRAP_IGNORE(iNetworkPrivacy->NotifyLocationRequestL(*iSuplReqInfo, iRequestorId);)
     	
     }
     
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplsettings.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplsettings.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -131,22 +131,22 @@
 // 
 // -----------------------------------------------------------------------------
 //
-void COMASuplSettings::SetSUPLUsage(CSuplSettings::TSuplSettingsUsage& aSUPLUsage ) 
+/*void COMASuplSettings::SetSUPLUsage(CSuplSettings::TSuplSettingsUsage& aSUPLUsage ) 
 {
     iSUPLUsage = aSUPLUsage;
 }
-
+*/
 // -----------------------------------------------------------------------------
 // COMASuplSettings::SUPLUsage() 
 // Gets the SUPL Usage
 // 
 // -----------------------------------------------------------------------------
 //
-CSuplSettings::TSuplSettingsUsage COMASuplSettings::SUPLUsage() const
+/*CSuplSettings::TSuplSettingsUsage COMASuplSettings::SUPLUsage() const
 	{
 		return iSUPLUsage;
 	}
-
+*/
 
 // -----------------------------------------------------------------------------
 // COMASuplSettings::SetUIActive
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplstartstate.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplstartstate.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -89,7 +89,8 @@
 		iTrace->Trace(_L("COMASuplStartState::~COMASuplStartState..."), KTraceFileName, __LINE__); 							
 
 	delete iLocationIDRequestor;
-	iTrace->Trace(_L("Deleted iLocationIDRequestor..."), KTraceFileName, __LINE__); 							
+	if(iTrace)
+	    iTrace->Trace(_L("Deleted iLocationIDRequestor..."), KTraceFileName, __LINE__); 							
 	
 	if(iPosRequestor)
         {                
@@ -98,15 +99,19 @@
 	else    	    	
         {                
 		delete iSETCapabilities ;
-	    iTrace->Trace(_L("Deleted iSETCapabilities ..."), KTraceFileName, __LINE__); 							
+		if(iTrace)
+		    iTrace->Trace(_L("Deleted iSETCapabilities ..."), KTraceFileName, __LINE__); 							
         }
 
 	delete iAllowedCapabilities;
-	iTrace->Trace(_L("Deleted iAllowedCapabilities..."), KTraceFileName, __LINE__); 							
+	
+	if(iTrace)
+	    iTrace->Trace(_L("Deleted iAllowedCapabilities..."), KTraceFileName, __LINE__); 							
  							
 	if(iLocationId)
 		{
-		iTrace->Trace(_L("Deleted iLocationId..."), KTraceFileName, __LINE__); 							
+        if(iTrace)
+            iTrace->Trace(_L("Deleted iLocationId..."), KTraceFileName, __LINE__); 							
 		delete iLocationId;	
 		iLocationId=NULL;
 		}    		
@@ -241,8 +246,8 @@
             TBool tia801, rrlp, rrc;
 		    posProtocol.GetPosProtocol(tia801, rrlp, rrc);
             posProtocol2.SetPosProtocol(tia801, rrlp, rrc);
-
-            iSETCapabilities2->SetSETCapabilities(posTechnology2, prefMethod2, posProtocol2);
+            if(iSETCapabilities2)
+                iSETCapabilities2->SetSETCapabilities(posTechnology2, prefMethod2, posProtocol2);
         }
 		OMASuplStart->SetMessageBase(aSuplVersion,aSessionId); 
 	
@@ -286,9 +291,10 @@
         // Set SET Capability extn
         TOMAVer2SetCapExtn setCapsExtn;
         setCapsExtn.SetServiceCaps(serviceCaps);
-				iTrace->Trace(_L("SetVer2SetCapExtn"), KTraceFileName, __LINE__);
+        iTrace->Trace(_L("SetVer2SetCapExtn"), KTraceFileName, __LINE__);
         // Set SET Capabilities
-        iSETCapabilities2->SetVer2SetCapExtn(setCapsExtn);
+		if(iSETCapabilities2)
+		    iSETCapabilities2->SetVer2SetCapExtn(setCapsExtn);
 		//iLocationId ownership will be with SUPL start class
 		OMASuplStart->SetSuplStart(iSETCapabilities2,iLocationId2,iECId);
 		if(iECId)
@@ -640,48 +646,53 @@
 // (other items were commented in a header).
 // -----------------------------------------------------------------------------
 //
-void COMASuplStartState::LocationIDRequestCompletedL(COMASuplLocationId* aLocationId,
-													TInt aErrorCode)
-	{
-		iTrace->Trace(_L("COMASuplStartState::LocationIDRequestCompleted..."), KTraceFileName, __LINE__); 								
-		iGenerationStatus = EFalse;
-		if(aErrorCode!=KErrNone)
-			{
-				iTrace->Trace(_L("COMASuplStartState::LocationRequestFailed"), KTraceFileName, __LINE__); 					
-				if(iMsgStateObserver)
-					{
-						iMsgStateObserver->OperationCompleteL(aErrorCode);
-						return;
-					}
-			}
-			
-		COMASuplGSMCellInfo* cellInfo = COMASuplGSMCellInfo::NewL();
-        COMASuplLocationId::TOMASuplStatus status;
-        TInt err = aLocationId->SuplLocationId(cellInfo, status);
-		
-		if(err == KErrNone)
-			{
-			TInt refMNC,refMCC,refCI,refLac;
-			cellInfo->SuplGSMCellInfo(refMNC,refMCC,refCI,refLac);
-			
-			COMASuplGSMCellInfo* cellInfoClone = COMASuplGSMCellInfo::NewL();
-			cellInfoClone->SetSuplGSMCellInfo(refMNC,refMCC,refCI,refLac);
-			iLocationId2->SetSuplLocationId(cellInfoClone, status);
+void COMASuplStartState::LocationIDRequestCompletedL(
+        COMASuplLocationId* aLocationId, TInt aErrorCode)
+    {
+    delete iLocationId;
+    iLocationId = NULL;
+    iLocationId = aLocationId;
+    iTrace->Trace(_L("COMASuplStartState::LocationIDRequestCompleted..."),
+            KTraceFileName, __LINE__);
+    iGenerationStatus = EFalse;
+    if (aErrorCode != KErrNone)
+        {
+        iTrace->Trace(_L("COMASuplStartState::LocationRequestFailed"),
+                KTraceFileName, __LINE__);
+        if (iMsgStateObserver)
+            {
+            iMsgStateObserver->OperationCompleteL(aErrorCode);
+            return;
+            }
+        }
+
+    COMASuplGSMCellInfo* cellInfo = COMASuplGSMCellInfo::NewL();
+    COMASuplLocationId::TOMASuplStatus status;
+    TInt err = aLocationId->SuplLocationId(cellInfo, status);
 
-			iLocationId = aLocationId;
+    if (err == KErrNone)
+        {
+        TInt refMNC, refMCC, refCI, refLac;
+        cellInfo->SuplGSMCellInfo(refMNC, refMCC, refCI, refLac);
+
+        COMASuplGSMCellInfo* cellInfoClone = COMASuplGSMCellInfo::NewL();
+        cellInfoClone->SetSuplGSMCellInfo(refMNC, refMCC, refCI, refLac);
+        iLocationId2->SetSuplLocationId(cellInfoClone, status);
 
-			if(iECId)
-				{
-					iTrace->Trace(_L("COMASuplStartState::LocationIDRequestCompletedL...Retrive E-CellId"), KTraceFileName, __LINE__); 					
-					iGenerationStatus = ETrue;
-					iLocationIDRequestor->GetECellID();
-				}
-			else
-				{	
-					GetAssistceDataFromPluginL(aErrorCode);
-				}	
-			}
-	}
+        if (iECId)
+            {
+            iTrace->Trace(
+                    _L("COMASuplStartState::LocationIDRequestCompletedL...Retrive E-CellId"),
+                    KTraceFileName, __LINE__);
+            iGenerationStatus = ETrue;
+            iLocationIDRequestor->GetECellID();
+            }
+        else
+            {
+            GetAssistceDataFromPluginL(aErrorCode);
+            }
+        }
+    }
 
 // -----------------------------------------------------------------------------
 // COMASuplStartState::LocationECellIdRequestCompletedL
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplstate.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplstate.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -396,8 +396,9 @@
 //
 void COMASuplState::StopTimer()
 	{
-		iTimer->StopTimer();	 			
-		iTrace->Trace(_L("COMASuplState::StopTimer..."), KTraceFileName, __LINE__); 							
+		iTimer->StopTimer();	 		
+		if(iTrace)
+		    iTrace->Trace(_L("COMASuplState::StopTimer..."), KTraceFileName, __LINE__); 							
 	}
 	
 // -----------------------------------------------------------------------------
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasupltriggerstartstate.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasupltriggerstartstate.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -88,24 +88,25 @@
 //
 COMASuplTriggerStartState::~COMASuplTriggerStartState()
     {
-    	if(iTrace)
-    		{
-    		iTrace->Trace(_L("COMASuplTriggerStartState::~COMASuplTriggerStartState..."), KTraceFileName, __LINE__); 							
-    		iTrace->Trace(_L("deleting iLocationIDRequestor..."), KTraceFileName, __LINE__); 							
-    	  }
-    	delete iLocationIDRequestor;
-    	
-    	if(iPosRequestor)
-    		iPosRequestor->DestroyList();
-		else    	    	
-            {                
-    	    iTrace->Trace(_L("deleting iSETCapabilities ..."), KTraceFileName, __LINE__); 							
-    		delete iSETCapabilities ;
-            }
+    if(iTrace)
+        {
+        iTrace->Trace(_L("COMASuplTriggerStartState::~COMASuplTriggerStartState..."), KTraceFileName, __LINE__); 							
+        iTrace->Trace(_L("deleting iLocationIDRequestor..."), KTraceFileName, __LINE__); 							
+        }
+    delete iLocationIDRequestor;
 
+    if(iPosRequestor)
+        iPosRequestor->DestroyList();
+    else    	    	
+        {   
+        if(iTrace)
+            iTrace->Trace(_L("deleting iSETCapabilities ..."), KTraceFileName, __LINE__); 							
+        delete iSETCapabilities ;
+        }
 
-    	iTrace->Trace(_L("deleting iAllowedCapabilities ..."), KTraceFileName, __LINE__); 							
-    	delete iAllowedCapabilities;
+    if(iTrace)
+        iTrace->Trace(_L("deleting iAllowedCapabilities ..."), KTraceFileName, __LINE__); 							
+    delete iAllowedCapabilities;
 
     }
 
@@ -260,7 +261,7 @@
 							 posProtocolExt.SetTOMASuplVer2ProtocolExt(tempProtocolVersion,posProtocolVersion,posProtocolVersionTia);								
 							 posProtocol2.SetVer2PosProtoExtn(posProtocolExt);
 						}
-			
+			if(iSETCapabilities2)
 			      iSETCapabilities2->SetSETCapabilities(posTechnology2, prefMethod2, posProtocol2);
       
       }
@@ -308,9 +309,10 @@
         // Set SET Capability extn
         TOMAVer2SetCapExtn setCapsExtn;
         setCapsExtn.SetServiceCaps(serviceCaps);
-				iTrace->Trace(_L("SetVer2SetCapExtn"), KTraceFileName, __LINE__);
+		iTrace->Trace(_L("SetVer2SetCapExtn"), KTraceFileName, __LINE__);
         // Set SET Capabilities
-        iSETCapabilities2->SetVer2SetCapExtn(setCapsExtn);
+		if(iSETCapabilities2)
+		    iSETCapabilities2->SetVer2SetCapExtn(setCapsExtn);
 
 	    iTrace->Trace(_L("SetSuplTriggeredStart"), KTraceFileName, __LINE__);
 	    
@@ -621,8 +623,9 @@
             TOMASuplTriggerParams trgParams;
             TOMASuplPeriodicParams prdParams; 
             TUint fixes, interval, starttime;
-            iTriggerParams.Get(fixes, interval, starttime);
-            
+           TInt errorCode= iTriggerParams.Get(fixes, interval, starttime);
+            if(errorCode==KErrNone)
+             {
 #ifdef PRINT_MESSAGE	
 		    		iTrace->Trace(_L("Periodic Trigger params ..."), KTraceFileName, __LINE__); 							
 	          TBuf<128> buf;
@@ -642,6 +645,7 @@
             OMASuplStart->SetTriggerType(COMASuplTriggeredStart::ETOMASuplPeriodicTrigType);
 				    iTrace->Trace(_L("Trigger Type - Periodic ..."), KTraceFileName, __LINE__); 							
 	          OMASuplStart->SetTriggerParams(trgParams);
+	           }
             }
 			
 		iTrace->Trace(_L("Starting Encoding..."), KTraceFileName, __LINE__); 							
@@ -717,7 +721,9 @@
 			
 		COMASuplGSMCellInfo* cellInfo;
         COMASuplLocationId::TOMASuplStatus status;
-        aLocationId->SuplLocationId(cellInfo, status);
+        TInt err =aLocationId->SuplLocationId(cellInfo, status);
+        if(KErrNone != err)
+        	return;
 
 		TInt refMNC,refMCC,refCI,refLac;
 		cellInfo->SuplGSMCellInfo(refMNC,refMCC,refCI,refLac);
@@ -725,10 +731,7 @@
         COMASuplGSMCellInfo* cellInfoClone = COMASuplGSMCellInfo::NewL();
         cellInfoClone->SetSuplGSMCellInfo(refMNC,refMCC,refCI,refLac);
 		iLocationId->SetSuplLocationId(cellInfoClone, status);
-		
-		delete aLocationId;
-		aLocationId=NULL;
-		
+				
 		if(iECId)
 			{
 				iTrace->Trace(_L("COMASuplTriggerStartState::LocationIDRequestCompletedL...Retrive E-CellId"), KTraceFileName, __LINE__); 					
@@ -739,6 +742,8 @@
 			{	
 				GetAssistceDataFromPluginL(aErrorCode);
 			}	
+		delete aLocationId;
+		aLocationId=NULL;
 	}
 
 // -----------------------------------------------------------------------------
--- a/supl/locationomasuplprotocolhandler/provisioninghandler/group/epos_omasuplprovhandler.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/provisioninghandler/group/epos_omasuplprovhandler.mmp	Tue Aug 31 15:37:04 2010 +0300
@@ -60,8 +60,9 @@
 LIBRARY         euser.lib
 LIBRARY         provisioningengine.lib
 LIBRARY 		bafl.lib 
-LIBRARY			apengine.lib 
+ 
 LIBRARY         commdb.lib
 LIBRARY         centralrepository.lib
 LIBRARY 				epos_csuplutils.lib
 LIBRARY         epos_suplsettings.lib
+LIBRARY         cmmanager.lib
\ No newline at end of file
--- a/supl/locationomasuplprotocolhandler/provisioninghandler/src/epos_comasuplsettings.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/provisioninghandler/src/epos_comasuplsettings.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -20,7 +20,7 @@
 
 #include <CWPParameter.h>
 #include <WPAdapterUtil.h>
-#include <ApUtils.h>
+//#include <ApUtils.h>
 
 #include "epos_comasupltrace.h"
 #include "epos_comasuplsettings.h"
@@ -30,6 +30,11 @@
 #include "epos_omasuplprovhandler.hrh"
 #include <epos_omasuplprovhandlerres.rsg>
 
+#include <cmmanagerext.h>
+#include <cmdestinationext.h>
+#include <cmconnectionmethodext.h>
+#include <cmconnectionmethoddef.h>
+
 
 _LIT( KTraceSuplSettings, "epos_comasuplsettings.cpp" );
 
@@ -146,12 +151,59 @@
 //
 TUint32 COMASuplSettings::IapIdFromWapIdL( TUint32 aWapId ) const
     {
-    CApUtils* apUtils = CApUtils::NewLC( *iCommsDb );
+    /*CApUtils* apUtils = CApUtils::NewLC( *iCommsDb );
     TUint32 iapId = NULL;
     iapId = apUtils->IapIdFromWapIdL( aWapId );
     __ASSERT_ALWAYS( iapId, Panic( SuplAdapterInvalidId ) );
     CleanupStack::PopAndDestroy( apUtils );
     return iapId;
+    return ;*/
+    
+    RCmManagerExt cmManager;
+    cmManager.OpenLC(); // CS:1
+    RArray<TUint32> iapIds;
+    TUint32 iapId( 0 );
+
+    // First get all free IAP ID's.
+    cmManager.ConnectionMethodL( iapIds );
+    CleanupClosePushL( iapIds ); // CS:2
+
+    // Then get IAP ID's from all destinations.
+    RArray<TUint32> destIds;
+    cmManager.AllDestinationsL( destIds );
+    CleanupClosePushL( destIds ); // CS:3
+    TInt destCount = destIds.Count();
+    for ( TInt destIndex = 0; destIndex < destCount; destIndex++ )
+        {
+        RCmDestinationExt dest = cmManager.DestinationL( 
+            destIds[destIndex] );
+        CleanupClosePushL( dest ); // CS:4
+        TInt cmCount = dest.ConnectionMethodCount();
+        for ( TInt cmIndex = 0; cmIndex < cmCount; cmIndex++ )
+            {
+            TUint32 apId = dest.ConnectionMethodL( 
+                cmIndex ).GetIntAttributeL( CMManager::ECmIapId );
+            iapIds.AppendL( apId );
+            }
+        CleanupStack::PopAndDestroy( &dest ); // CS:3
+        }
+    // Finally, go through all connection methods and find correct IAP ID.
+    const TInt cmCount = iapIds.Count();
+    for ( TInt counter = 0; counter < cmCount; counter++ )
+        {
+        TUint32 id = cmManager.GetConnectionMethodInfoIntL( 
+            iapIds[counter], CMManager::ECmWapId );
+        if ( id == aWapId )
+            {
+            iapId = iapIds[counter];
+            // No need to go through rest of IAPs.
+            break;
+            }
+        }
+    // PopAndDestroy destIds, iapIds, cmManager.
+    CleanupStack::PopAndDestroy( 3, &cmManager ); // CS:0
+    return iapId;
+    
     }
 
 
--- a/supl/locationomasuplprotocolhandler/provisioninghandler/src/epos_comasuplsettingsrepository.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/provisioninghandler/src/epos_comasuplsettingsrepository.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -112,7 +112,7 @@
     
     TInt64 slpID;
     
-    
+    paramValues->SetServerConfigurationType(EFalse);
     TInt err = iSettings->AddNewServer(paramValues,slpID);
     if (err == KErrNone || err == KErrAlreadyExists)
     iSettings->SetTopPriority(slpID);
--- a/supl/locationomasuplprotocolhandler/rom/omasuplprotocolhandler.iby	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/rom/omasuplprotocolhandler.iby	Tue Aug 31 15:37:04 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2005-2005 Nokia Corporation and/or its subsidiary(-ies). 
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -65,8 +65,8 @@
 #endif	// __SYNCML_DM
 
 // Notifier
-ECOM_PLUGIN(epos_omasuplnotifierplugin.dll,epos_omasuplnotifierplugin.rsc)
-file=ABI_DIR\BUILD_DIR\epos_omasuplnotifier.dll   SHARED_LIB_DIR\epos_omasuplnotifier.dll
+//ECOM_PLUGIN(epos_omasuplnotifierplugin.dll,epos_omasuplnotifierplugin.rsc)
+//file=ABI_DIR\BUILD_DIR\epos_omasuplnotifier.dll   SHARED_LIB_DIR\epos_omasuplnotifier.dll
 // Storage Db Backup Registration File
 data=DATAZ_\private\1027509E\backup_registration.xml    \private\1027509E\backup_registration.xml
 #endif //__OMA_SUPL_PLUGINS   
--- a/supl/locationomasuplprotocolhandler/rom/omasuplprotocolhandler_resource.iby	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/rom/omasuplprotocolhandler_resource.iby	Tue Aug 31 15:37:04 2010 +0300
@@ -29,7 +29,7 @@
 #ifdef __OMA_SUPL_PLUGINS   
 
 //Resource file for notifier
-data=DATAZ_\resource\epos_omasuplnotifier.rsc      	    resource\epos_omasuplnotifier.rsc
+//data=DATAZ_\resource\epos_omasuplnotifier.rsc      	    resource\epos_omasuplnotifier.rsc
 #endif  //__OMA_SUPL_PLUGINS 
 
 #endif // OMASUPLPROTOCOLHANDLER_RESOURCE_IBY
--- a/supl/locationomasuplprotocolhandler/supllistener/src/epos_comasuplimsiobserver.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/supllistener/src/epos_comasuplimsiobserver.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -211,6 +211,7 @@
         CServerParams* param=CServerParams::NewL();
         CleanupStack::PushL(param);
         User::LeaveIfError(param->Set( hslpaddr,iapn,ETrue,ETrue,ETrue,EFalse ));
+        param->SetServerConfigurationType(EFalse);
         
         // add new server into settings
         TInt64 slpId;
--- a/supl/locationomasuplprotocolhandler/supllistener/src/epos_comasuplproductconfig.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/supllistener/src/epos_comasuplproductconfig.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -100,8 +100,8 @@
         
         TUint32 key = KProductConfigActualKeysStart;
         
-        iServerAddress.Create(KMaxServerNameLength);
-        iIapName.Create(KMaxServerNameLength);
+        User::LeaveIfError(iServerAddress.Create(KMaxServerNameLength));
+        User::LeaveIfError(iIapName.Create(KMaxServerNameLength));
         
         TBool serverEnabled;
         TBool simChangeRemove;
@@ -155,7 +155,8 @@
                     }
                 if(iServerAddress.Length()!=0)
                     {
-                    err = params->Set(iServerAddress,iIapName,serverEnabled,simChangeRemove,usageInHomeNw,editable);
+                    //last parameter is ETrue since this is a product configured server
+                    err = params->Set(iServerAddress,iIapName,serverEnabled,simChangeRemove,usageInHomeNw,editable,0);//by default product config
                     errCode.AppendNum(err);
                     Trace(_L("params->Set returned:"),KProductConfig, __LINE__);
                     Trace(errCode,KProductConfig, __LINE__);
--- a/supl/locationomasuplprotocolhandler/syncmlprovhandler/inc/epos_tomasuplsettingsmap.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/syncmlprovhandler/inc/epos_tomasuplsettingsmap.h	Tue Aug 31 15:37:04 2010 +0300
@@ -96,6 +96,9 @@
     static TInt Get(const TDesC8& aUri, RChildList& aList, RArray<TPtrC8>& aChildren);
     
     static TInt FileName(const TDesC8& aUri, const TDesC*& aFileName);
+
+private:
+    static void GetL(const TDesC8& aUri, RChildList& aList, RArray<TPtrC8>& aChildren);
     };
 
 
--- a/supl/locationomasuplprotocolhandler/syncmlprovhandler/src/epos_comasupldmrepository.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/syncmlprovhandler/src/epos_comasupldmrepository.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -345,6 +345,7 @@
                 CServerParams* paramValues = CServerParams::NewL();
                 CleanupStack::PushL(paramValues);
                 TInt err =  paramValues->Set(*iServerAddress,*iIapName);
+                paramValues->SetServerConfigurationType(EFalse);
                 err = iSettings->AddNewServer(paramValues,iSlpId);
                 if(err == KErrAlreadyExists)
                     {
--- a/supl/locationomasuplprotocolhandler/syncmlprovhandler/src/epos_tomasuplsettingsmap.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/syncmlprovhandler/src/epos_tomasuplsettingsmap.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -17,7 +17,7 @@
 
 
 
-
+#include <e32std.h>
 #include <e32def.h>
 #include "epos_tomasuplsettingsmap.h"
 
@@ -60,55 +60,57 @@
     return KErrNone;
     }
 
-
 TInt TOMASuplSettingsMap::Get( const TDesC8& aUri, RChildList& aList, 
                                     RArray<TPtrC8>& aChildren )
     {
-    TInt rc = KErrNone;
+    TRAPD( error,GetL( aUri,aList,aChildren ) );
+    return error;
+    }
 
+void TOMASuplSettingsMap::GetL( const TDesC8& aUri, RChildList& aList, 
+                                    RArray<TPtrC8>& aChildren )
+    {
     if( aUri == KRootFull )
         {
         TSettingMap settingName;       
         settingName.iSettingName.Set( KNameFull );
-        aList.Append(settingName);
-        aChildren.Append( TPtrC8( KName.iBuf, KName.iTypeLength ) );
+        aList.AppendL(settingName);
+        aChildren.AppendL( TPtrC8( KName.iBuf, KName.iTypeLength ) );
         
         TSettingMap settingIapId;		
         settingIapId.iSettingName.Set( KIapIdFull );
-        aList.Append(settingIapId);
-        aChildren.Append( TPtrC8( KIapIdName.iBuf, KIapIdName.iTypeLength ) );
+        aList.AppendL(settingIapId);
+        aChildren.AppendL( TPtrC8( KIapIdName.iBuf, KIapIdName.iTypeLength ) );
         
         TSettingMap settingProviderId;       
         settingProviderId.iSettingName.Set( KProviderIdFull );
-        aList.Append(settingProviderId);
-        aChildren.Append( TPtrC8( KProviderId.iBuf, KProviderId.iTypeLength ) );
+        aList.AppendL(settingProviderId);
+        aChildren.AppendL( TPtrC8( KProviderId.iBuf, KProviderId.iTypeLength ) );
 
         TSettingMap settingSlp;     
         settingSlp.iSettingName.Set( KSlpAddrFull );
-        aList.Append( settingSlp );
-        aChildren.Append( TPtrC8( KSlpAddr.iBuf, KSlpAddr.iTypeLength ) );
+        aList.AppendL( settingSlp );
+        aChildren.AppendL( TPtrC8( KSlpAddr.iBuf, KSlpAddr.iTypeLength ) );
         
         TSettingMap settingToConRef;       
         settingToConRef.iSettingName.Set( KToConRefFull );
-        aList.Append(settingToConRef);
-        aChildren.Append( TPtrC8( KToConRef.iBuf, KToConRef.iTypeLength ) );
+        aList.AppendL(settingToConRef);
+        aChildren.AppendL( TPtrC8( KToConRef.iBuf, KToConRef.iTypeLength ) );
         
         TSettingMap settingConRef;       
         settingConRef.iSettingName.Set( KConRefFull );
-        aList.Append(settingConRef);
-        aChildren.Append( TPtrC8( KConRef.iBuf, KConRef.iTypeLength ) );
+        aList.AppendL(settingConRef);
+        aChildren.AppendL( TPtrC8( KConRef.iBuf, KConRef.iTypeLength ) );
         
         TSettingMap settingAddrType;       
         settingAddrType.iSettingName.Set( KAddrTypeFull );
-        aList.Append(settingAddrType);
-        aChildren.Append( TPtrC8( KAddrType.iBuf, KAddrType.iTypeLength ) );        
+        aList.AppendL(settingAddrType);
+        aChildren.AppendL( TPtrC8( KAddrType.iBuf, KAddrType.iTypeLength ) );        
         }
     else
         {
-        rc = KErrNotFound;	
+        User::Leave( KErrNotFound );	
         }
-
-    return rc;		
     }
 
 
--- a/supl/locationomasuplprotocolhandler/waplistener/src/epos_comasuplwaplistener.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/waplistener/src/epos_comasuplwaplistener.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -309,7 +309,7 @@
 
 #ifdef _DEBUG
 	//Log the received message
-	iTrace->Trace( _L( "Received Binary Content Type is:" ), KTraceFileName, __LINE__ );
+    iTrace->Trace( _L( "Received Binary Content Type is:" ), KTraceFileName, __LINE__ );
     PrintHex(field, __LINE__);
 #endif
 
Binary file supl/locationsuplfw/conf/suplsettings.confml has changed
Binary file supl/locationsuplfw/conf/suplsettings_102073D6.crml has changed
--- a/supl/locationsuplfw/gateway/inc/epos_csuplipcsubsession.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationsuplfw/gateway/inc/epos_csuplipcsubsession.h	Tue Aug 31 15:37:04 2010 +0300
@@ -127,10 +127,10 @@
 		void HandleStopTriggerringSessionL(const RMessage2& aMessage);		
 		void HandleNotifyTriggerFiredL(const RMessage2& aMessage);
 		/*
-		 * For GeoTagging
-		 */
-		void HandleLocationConversionL(const RMessage2& aMessage);
-		void HandleCancelLocationConversionL(const RMessage2& aMessage);
+		         * For Periodic Trigger Seesion
+		         */
+		        void HandleLocationConversionL(const RMessage2& aMessage);
+		        void HandleCancelLocationConversionL(const RMessage2& aMessage);
 
     private:    // Data
     	// Supl session handle.Ownership is with this object
--- a/supl/locationsuplfw/gateway/inc/epos_csuplnetinitiatedsession.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationsuplfw/gateway/inc/epos_csuplnetinitiatedsession.h	Tue Aug 31 15:37:04 2010 +0300
@@ -68,6 +68,10 @@
 	//	void SetHandle(TInt aHandle);
 		
 		void DestroySession(CSuplSessionManager* aSessionMgr);
+		
+		private:
+			TBool CheckSuplTriggerServiceStatus();
+    
     protected:  // Functions from base classes
 
     private:
--- a/supl/locationsuplfw/gateway/inc/epos_csuplsessionmanager.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationsuplfw/gateway/inc/epos_csuplsessionmanager.h	Tue Aug 31 15:37:04 2010 +0300
@@ -35,6 +35,7 @@
 class CSuplSessionBase;
 class CSuplCommunicationManager;
 
+
 // CLASS DECLARATION
 
 /**
@@ -72,7 +73,6 @@
 
 		void QueueForReIssueRequestL(CSuplSessionRequest& aSessionRequest);
 		void RemoveFromQueueForReIssueRequest(CSuplSessionRequest& aSessionRequest);
-
 		void StartTriggerSessionL(
 				CSuplSessionBase* aSuplSession,
 				TRequestStatus& aStatus,
@@ -91,17 +91,29 @@
         		TSuplTriggerFireInfo& aFireInfo
         	);
 		
+	   /**
+        * Get SUPL message version.
+        */
 		TInt GetSUPLMessageVersionL(TInt& aMajorVersion, const TDesC8& aReceivedMessage);
-
+		
+		
+	   /**
+        * Makes location conversion request.
+        */
+		void MakeLocationConversionRequestL( CSuplSessionBase* aSuplSessn,
+		                                             TGeoCellInfo& aCellInfo,
+		                                             TRequestStatus& aStatus
+		                                           );	                                           
+		
+		/**
+		 * Cancels outstanding conversion request.
+		 */
+		void CancelLocationConversionRequest(CSuplSessionBase *aSessn);
+		
+	
 		// from MSuplConnectionMonitor
 		void ConnectionOpened();
 		void ConnectionClosed();
-
-		void MakeLocationConversionRequestL( CSuplSessionBase* aSuplSessn,
-		                                     TGeoCellInfo& aCellInfo,
-		                                     TRequestStatus& aStatus
-		                                   );
-		void CancelLocationConversionRequest(CSuplSessionBase *aSessn);
 	
     private:
 
--- a/supl/locationsuplfw/gateway/inc/epos_csuplsessionrequest.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationsuplfw/gateway/inc/epos_csuplsessionrequest.h	Tue Aug 31 15:37:04 2010 +0300
@@ -28,14 +28,13 @@
 #include <epos_suplterminalqop.h>
 #include <epos_suplterminaltrigger.h>
 #include "epos_suplgeocellinfo.h"
-
 // CONSTANT DECLARATIONS
 
 // FORWARD DECLARATIONS
 class MSuplSessionObserver;
 class MNetInitiatedObserver;
+class CSuplSessionBase;
 class CSuplSessionManager;
-class CSuplSessionBase;
 // CLASS DECLARATION
 
 /**
@@ -102,12 +101,11 @@
 		void CancelTriggerringRequest();
 		
 		void ProtocolHUnloaded();
-
 		void MakeLocationConversionRequestL( CSuplSessionBase* aSuplSessn,TGeoCellInfo& aCellInfo );
+		        
+		void CancelLocationConversionRequest();
 		
-		void CancelLocationConversionRequest();
 		void ReIssueRequestL();
-		
     protected:  // From CActive
 
         void RunL();
@@ -138,11 +136,11 @@
             ESuplStartTriggerRequest,            
             ESuplStopTriggerRequest,
             ESuplTriggerFiredNotifyRequest,
+            ESuplLocationConversionRequest,
+            ESuplCancelLocationConversionRequest,
 			ESuplWaitingToRetrySession,
-			ESuplRetryingSession,
-			ESuplLocationConversionRequest,
-            ESuplCancelLocationConversionRequest
-            };
+			ESuplRetryingSession
+		    };
      
 	 TSuplRequestStage           iRequestPhase;
      HBufC8*                     iPositionBuffer;
--- a/supl/locationsuplfw/gateway/src/epos_csuplipcsubsession.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationsuplfw/gateway/src/epos_csuplipcsubsession.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -34,8 +34,6 @@
 #include "epos_csuplsettings.h"
 #include "epos_csuplsettingsinternal.h"
 #include "epos_csuplsettingparams.h"
-#include "epos_suplgeocellinfo.h"
-
 
 // CONSTANTS
 //#ifdef _DEBUG
@@ -555,8 +553,7 @@
 TInt CSuplIPCSubSession::PackPositionData(const RMessage2& aMessage)
 	{
 	DEBUG_TRACE("CSuplIPCSubSession::PackPositionData", __LINE__)
-    TPositionInfo& info = PositionInfo(iPositionBuffer);
- 
+    PositionInfo(iPositionBuffer);
     TPtr8 ptrToBuffer = iPositionBuffer->Des();
     return SuplGlobal::Write(aMessage, 0, ptrToBuffer);
     }
@@ -570,8 +567,8 @@
 TInt CSuplIPCSubSession::PackServerAddressData(const RMessage2& aMessage)
     {
     DEBUG_TRACE("CSuplIPCSubSession::PackServerAddressData", __LINE__)
-    TDes& info = ServerAddress(iPositionBuffer);
- 
+
+    ServerAddress(iPositionBuffer);
     TPtr8 ptrToBuffer = iPositionBuffer->Des();
     return SuplGlobal::Write(aMessage, 0, ptrToBuffer);
     }
@@ -587,8 +584,8 @@
 TInt CSuplIPCSubSession::PackTriggerData(const RMessage2& aMessage)
 	{
 	DEBUG_TRACE("CSuplIPCSubSession::PackTriggerData", __LINE__)
-    TSuplTriggerFireInfo& info = TriggerInfo(iPositionBuffer);
- 
+
+    TriggerInfo(iPositionBuffer);
     TPtr8 ptrToBuffer = iPositionBuffer->Des();
     return SuplGlobal::Write(aMessage, 2, ptrToBuffer);
     }
@@ -743,7 +740,6 @@
 						
 	CleanupStack::Pop(fireInfoBuf);	    		
 	}
-
 // ---------------------------------------------------------
 // CSuplIPCSubSession::HandleLocationConversionL
 //
@@ -790,6 +786,5 @@
     iSuplSessnReq->CancelLocationConversionRequest();
     SuplGlobal::RequestComplete(aMessage, KErrNone);
     CompleteRunSession(KErrCancel);            
-    }
-	
+    }	
 // End of File
--- a/supl/locationsuplfw/gateway/src/epos_csuplnetinitiatedsession.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationsuplfw/gateway/src/epos_csuplnetinitiatedsession.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -62,7 +62,13 @@
     TInt err = aSessnMgr.GetSUPLMessageVersionL(majorVersion,aClientBuf->Des());
     
     if(majorVersion == 2)
-    	suplService = RSuplTerminalSubSession::ESUPL_2_0;
+	{
+		if(!CheckSuplTriggerServiceStatus())
+    	{
+    			User::Leave(KErrNotSupported);
+    	}
+		suplService = RSuplTerminalSubSession::ESUPL_2_0;
+	}
     else 
     	suplService = RSuplTerminalSubSession::ESUPL_1_0;
     
@@ -184,5 +190,41 @@
 	aSessionMgr->DestroySession(iSuplSession);
 }
 
+// ---------------------------------------------------------
+// CSuplNetInitiatedSession::CheckSuplTriggerServiceStatus
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TBool CSuplNetInitiatedSession::CheckSuplTriggerServiceStatus()
+{
+	
+	CSuplSettings* 	suplStorageSettings = NULL;
+	
+	CSuplSettings::TSuplTriggerStatus suplTriggerStatus;
+
+	// create local object iSuplStorageSettings
+	TRAPD(err,suplStorageSettings = CSuplSettings::NewL());
+	if(err == KErrNone)
+	{
+			suplStorageSettings->GetSuplTriggeredServiceStatus(suplTriggerStatus);
+			delete suplStorageSettings;
+			suplStorageSettings = NULL;
+
+			if(suplTriggerStatus == CSuplSettings::ESuplTriggerOn)
+			{
+					return ETrue;						
+			}
+			else
+			{
+					return EFalse;	
+			}
+	}		
+	else
+	{
+			return ETrue;
+	}
+}
+
 // End of File
 
--- a/supl/locationsuplfw/gateway/src/epos_csuplserver.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationsuplfw/gateway/src/epos_csuplserver.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -47,6 +47,7 @@
 #include "epos_mconnectobserver.h"
 
 const TSecureId KNetworkGatewaySID = 0x10281D46;
+const TSecureId KLocationMonitorSID = 0x102869DF;
 
 // CONSTANTS
 //#ifdef _DEBUG
@@ -264,7 +265,7 @@
         }
 
     //if secure id is not equal to KSuplWapSecureId or KSuplWapSecureId, then perform capability check
-    if ((aMessage.SecureId() != KSuplWapSecureId && aMessage.SecureId() != KNetworkGatewaySID && aMessage.SecureId() != 0x102869DF))
+    if ((aMessage.SecureId() != KSuplWapSecureId && aMessage.SecureId() != KNetworkGatewaySID && aMessage.SecureId() != KLocationMonitorSID))
     	{
         if (!aMessage.HasCapability(ECapabilityCommDD))
             {
@@ -322,7 +323,7 @@
     static _LIT_SECURITY_POLICY_S0(allowSuplWapPolicy, KSuplWapSecureId);
     TBool isSuplWap = allowSuplWapPolicy().CheckPolicy(aMessage); 
     
-    static _LIT_SECURITY_POLICY_S0(allowlocationserverPolicy, 0x102869DF);
+    static _LIT_SECURITY_POLICY_S0(allowlocationserverPolicy, KLocationMonitorSID);
        TBool islocationserver = allowlocationserverPolicy().CheckPolicy(aMessage); 
        
        //Check if the request was made by one of the allowed processes else check for required capability
--- a/supl/locationsuplfw/gateway/src/epos_csuplsessionmanager.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationsuplfw/gateway/src/epos_csuplsessionmanager.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -30,7 +30,6 @@
 #include "epos_sessionmanagerlogging.h"
 #include "epos_csuplsessionmanager.h"
 #include "epos_csuplglobal.h"
-#include "epos_suplgeocellinfo.h"
 
 //#ifdef _DEBUG
 _LIT(KTraceFileName, "SUPL_GW::epos_csuplsessionmanager.cpp");
@@ -468,29 +467,6 @@
 		User::RequestComplete(status,KErrNotReady);
 		}	
 	}
-	
-void CSuplSessionManager::ConnectionOpened()
-	{
-	iSessionRetryQ->SessionStarted();	
-	}
-
-void CSuplSessionManager::ConnectionClosed()
-	{
-	iSessionRetryQ->SessionEnded();	
-	}
-
-
-void CSuplSessionManager::QueueForReIssueRequestL(CSuplSessionRequest& aSessionRequest)
-	{
-	iSessionRetryQ->AddToQueueL(aSessionRequest);
-	}
-
-void CSuplSessionManager::RemoveFromQueueForReIssueRequest(CSuplSessionRequest& aSessionRequest)
-	{
-	iSessionRetryQ->RemoveFromQueueL(aSessionRequest);
-	}	
-	
-    
 // ---------------------------------------------------------
 // CSuplSessionManager::MakeLocationConversionRequestL
 //
@@ -535,7 +511,25 @@
     if(iProtocolMgr && aSessn)
      iProtocolMgr->CancelLocationConversionRequest(aSessn);
     }
+    
+void CSuplSessionManager::ConnectionOpened()
+	{
+	iSessionRetryQ->SessionStarted();	
+	}
 
+void CSuplSessionManager::ConnectionClosed()
+	{
+	iSessionRetryQ->SessionEnded();	
+	}
 
+void CSuplSessionManager::QueueForReIssueRequestL(CSuplSessionRequest& aSessionRequest)
+	{
+	iSessionRetryQ->AddToQueueL(aSessionRequest);
+	}
+
+void CSuplSessionManager::RemoveFromQueueForReIssueRequest(CSuplSessionRequest& aSessionRequest)
+	{
+	iSessionRetryQ->RemoveFromQueueL(aSessionRequest);
+	}
 
 // End of File
--- a/supl/locationsuplfw/gateway/src/epos_csuplsessionrequest.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationsuplfw/gateway/src/epos_csuplsessionrequest.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -97,7 +97,7 @@
 CSuplSessionRequest::~CSuplSessionRequest()
     {
     DEBUG_TRACE("CSuplSessionRequest::~CSuplSessionRequest", __LINE__)
-    //iSessnMgr.RemoveFromQueueForReIssueRequest(*this);
+    iSessnMgr.RemoveFromQueueForReIssueRequest(*this);
     
     if (iParamExtendedFallback)
 		{
@@ -300,11 +300,11 @@
 	        	}
 	        case ESuplSessionRequest:
 			case ESuplRetryingSession:
-	            {
+				{
 				iRequestPhase = ESuplReqInactive;
 				iObserver->CompleteRunSession(err);
-	            break;
-	            }
+				break;
+				}				
 	       case ESuplCancelRunSessionRequest:
 	            {
 				iRequestPhase = ESuplReqInactive;
@@ -317,18 +317,13 @@
 	        	iNetObserver->CompleteForwardMessageL(iHandle);
 	        	break;
 	        	}
-				
-			case ESuplLocationConversionRequest:
-			case ESuplCancelLocationConversionRequest:
-            {
-            iRequestPhase = ESuplReqInactive;
-            iObserver->CompleteRunSession(err);
-            break;
-            }
-
-			
-
-
+	        case ESuplLocationConversionRequest:
+	        case ESuplCancelLocationConversionRequest:
+	            {
+	            iRequestPhase = ESuplReqInactive;
+	            iObserver->CompleteRunSession(err);
+	            break;
+	            }
 	        default :
 	            DebugPanic(EPosSuplServerPanicRequestInconsistency);
 	        }
@@ -500,10 +495,9 @@
     {
     DEBUG_TRACE("CSuplSessionRequest::CancelTriggerringRequest", __LINE__)
     iRequestPhase = ESuplStopTriggerRequest;
-    iSessnMgr.CancelTriggerringSession(iSuplSessn); 
-    //SetActive();
+    iSessnMgr.CancelTriggerringSession(iSuplSessn);	
+	//SetActive();
     }
-
 // ---------------------------------------------------------
 // CSuplSessionRequest::MakeLocationConversionRequestL
 //
@@ -532,6 +526,5 @@
     DEBUG_TRACE("CSuplSessionRequest::CancelLocationConversionRequest", __LINE__)
     iRequestPhase = ESuplCancelLocationConversionRequest;
     iSessnMgr.CancelLocationConversionRequest(iSuplSessn); 
-    }
-    
+    }  
 //  End of File
--- a/supl/locationsuplfw/gateway/src/epos_csuplsessionretryq.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationsuplfw/gateway/src/epos_csuplsessionretryq.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -140,8 +140,7 @@
 	if(iSessionCount == 0 && iSessionRequests.Count() > 0)
 		{
 		DEBUG_TRACE("Re-issuing request straight away", __LINE__)
-		if( !IsActive() )
-		    After(KSmallDelay);
+		After(KSmallDelay);
 		}
 	// If a connection just closed remember the time-stamp so later it can be decided when to re-issue
 	iSomeSessionEnded = ETrue;
--- a/supl/locationsuplfw/protocolhandlerapi/group/bld.inf	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationsuplfw/protocolhandlerapi/group/bld.inf	Tue Aug 31 15:37:04 2010 +0300
@@ -19,7 +19,7 @@
 
 
 PRJ_PLATFORMS
-DEFAULT GCCE
+DEFAULT
 
 PRJ_EXPORTS
 /*
--- a/supl/locationsuplfw/protocolhandlerapi/group/epos_suplprotocolhandlerplugin.mmp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationsuplfw/protocolhandlerapi/group/epos_suplprotocolhandlerplugin.mmp	Tue Aug 31 15:37:04 2010 +0300
@@ -53,7 +53,7 @@
 LIBRARY			commdb.lib
 LIBRARY         centralrepository.lib extendedconnpref.lib netmeta.lib /*extendedconnpref.lib netmeta.lib Related to custom preference Api's(OCC).*/
 LIBRARY flogger.lib
-/* LIBRARY         gba.lib */
+
 
 //exportunfrozen 
 epocallowdlldata
--- a/supl/locationsuplfw/protocolhandlerapi/inc/epos_csuplconnection.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationsuplfw/protocolhandlerapi/inc/epos_csuplconnection.h	Tue Aug 31 15:37:04 2010 +0300
@@ -89,7 +89,7 @@
         */
         IMPORT_C void Connect(TRequestStatus &aStatus);
         
-        /**
+       /**
         * A method that makes Socket Connection.
         * @since Series 60 3.1 
         * @return None
@@ -97,6 +97,7 @@
         * @param aWlanOnly used to differentiate connection for GPRS and WLAN using OCC Api's
         */
         IMPORT_C void Connect(TRequestStatus &aStatus,TBool aPrompt,TBool aWlanOnly);
+            
         
 
         IMPORT_C void CloseConnection();
@@ -392,7 +393,7 @@
         TBool iPskTLSUsage;
         
         TBool iStartedListen;
-
+        
         TBool iConnectStarted;
 
         TBool iSendInProgress;
--- a/supl/locationsuplfw/protocolhandlerapi/inc/epos_csuplprotocolmanagerbase.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationsuplfw/protocolhandlerapi/inc/epos_csuplprotocolmanagerbase.h	Tue Aug 31 15:37:04 2010 +0300
@@ -31,7 +31,6 @@
 class CSuplCommunicationManager;
 class TGeoCellInfo;
 
-
 /**
  * Constant:    KProtocolManagerInterfaceDefinitionUid
  *
@@ -376,35 +375,35 @@
     virtual TInt GetSUPLMessageVersionL(TInt& aMajorVersion, const TDesC8& aReceivedMessage);
     
     /**
-     * Function:     MakeLocationConversionRequestL
-     *
-     * @Description: Makes Location conversion request
-     *
-     * @Param:       aSuplSessn,session object on which processing will start
-     *
-     * @Param:       aCellInfo,cell information which needs to be converted to geo-coordinates
-     *
-     * @Param:       aStatus, On return, the status of the request
-     * @Returns:     returns None
-     */
-     
-     virtual void MakeLocationConversionRequestL( CSuplSessionBase* aSuplSessn,
-                                                  TGeoCellInfo& aCellInfo,
-                                                  TRequestStatus& aStatus ) = 0;
+        * Function:     MakeLocationConversionRequestL
+        *
+        * @Description: Makes Location conversion request
+        *
+        * @Param:       aSuplSessn,session object on which processing will start. Ownership 
+        *               is not transferred.
+        *
+        * @Param:       aCellInfo,cell information which needs to be converted to geo-coordinates
+        *
+        * @Param:       aStatus, On return, the status of the request
+        * @Returns:     returns None
+        */
         
-    
-     /**
-      * Function:     CancelLocationConversionRequest
-      *
-      * @Description: Cancels the conversion Request
-      *
-      * @Param:       Session Object
-      *
-      * @Returns:     None
-      */
-      
-      virtual void CancelLocationConversionRequest(CSuplSessionBase* aSuplSession) = 0;
-    
+        virtual void MakeLocationConversionRequestL( CSuplSessionBase* aSuplSessn,
+                                                     TGeoCellInfo& aCellInfo,
+                                                     TRequestStatus& aStatus ) = 0;
+           
+       
+        /**
+         * Function:     CancelLocationConversionRequest
+         *
+         * @Description: Cancels the conversion Request
+         *
+         * @Param:       Session Object
+         *
+         * @Returns:     None
+         */
+         
+         virtual void CancelLocationConversionRequest(CSuplSessionBase* aSuplSession) = 0;
 
 				 
 public: // from MSuplPacketReceiver
--- a/supl/locationsuplfw/protocolhandlerapi/src/epos_csuplcommunicationmanager.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationsuplfw/protocolhandlerapi/src/epos_csuplcommunicationmanager.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -125,7 +125,7 @@
     if(NULL == (suplConnection = FindConnection(aHostAddress, aPort)))
     	{
     	suplConnection = CSuplConnection::NewL(iSocketServ, aHostAddress, aPort, aIAPId, this);	
-    	iConnArray.Append(suplConnection);
+    	iConnArray.AppendL(suplConnection);
     	iTrace->Trace(_L("CSuplCommunicationManager::CreateConnectionL New Connection Created"), KTraceFileName, __LINE__);
     	iConnMonitor.ConnectionOpened();
     }
@@ -139,7 +139,7 @@
     	if(suplConnection->RefCount() >= KMaxSessionPerConn)
     		{
     		suplConnection = CSuplConnection::NewL(iSocketServ, aHostAddress, aPort, aIAPId, this);
-    		iConnArray.Append(suplConnection);
+    		iConnArray.AppendL(suplConnection);
     		iTrace->Trace(_L("CSuplCommunicationManager::CreateConnectionL New Connection Created"), KTraceFileName, __LINE__);
         	iConnMonitor.ConnectionOpened();
     	}
@@ -182,7 +182,7 @@
     if(NULL == (suplConnection = FindConnection(aHostAddress, aPort)))
     	{
         suplConnection = CSuplConnection::NewL(iSocketServ, aHostAddress, aPort, aIAPId, aTls, aPskTls, this); 
-        iConnArray.Append(suplConnection);
+        iConnArray.AppendL(suplConnection);
        	iConnMonitor.ConnectionOpened();
         iTrace->Trace(_L("CSuplCommunicationManager::CreateConnectionL New Connection Created"), KTraceFileName, __LINE__);
     	}
@@ -196,11 +196,11 @@
         if(suplConnection->RefCount() >= KMaxSessionPerConn)
         	{
             suplConnection = CSuplConnection::NewL(iSocketServ, aHostAddress, aPort, aIAPId, aTls, aPskTls, this);
-            iConnArray.Append(suplConnection);
+            iConnArray.AppendL(suplConnection);
         	iConnMonitor.ConnectionOpened();
             iTrace->Trace(_L("CSuplCommunicationManager::CreateConnectionL New Connection Created"), KTraceFileName, __LINE__);
         	}
-    	}
+    	}      
     
     // Increment the Ref Count
     suplConnection->IncRefCount();
--- a/supl/locationsuplfw/protocolhandlerapi/src/epos_csuplconnection.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationsuplfw/protocolhandlerapi/src/epos_csuplconnection.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -23,7 +23,7 @@
 #endif
 #include <commdbconnpref.h>
 #include <centralrepository.h>
-#include <extendedconnpref.h> //For OCC
+
 #include "epos_csuplserverprivatecrkeys.h"
 #include "epos_csuplconnection.h"
 #include "epos_csuplsocketreader.h"   
@@ -33,6 +33,7 @@
 #include "epos_psktlsusageprivatecrkeys.h"
 #include "epos_suplpskloger.h"
 
+#include <extendedconnpref.h> //For OCC
 const TInt KMaxGBAUsageLength = 4;
 const TInt KMaxVerLength = 4;
 //const TInt KMaxNewPasswordLength =  8;
@@ -319,8 +320,10 @@
     // Cancel Any outstanding request
     Cancel();
 
-    iTrace->Trace(_L("CSuplConnection::Destructor...Deleting Socket Reader"),
-            KTraceFileName, __LINE__);
+    if (iTrace)
+        iTrace->Trace(_L(
+                "CSuplConnection::Destructor...Deleting Socket Reader"),
+                KTraceFileName, __LINE__);
     //Delete the Socket Reader
     delete iSocketReader;
 
@@ -967,7 +970,12 @@
         {
         aStatus = KRequestPending;
         TRequestStatus *reqStatus = &aStatus;
-        iConnArray.Append(reqStatus);
+        TInt error = iConnArray.Append(reqStatus);
+        if (error != KErrNone)
+            {
+            User::RequestComplete(reqStatus, error);
+            return;
+            }
         }
 
     if (!iConnectStarted)
@@ -983,20 +991,40 @@
             iConnectStarted = ETrue;
 
 #ifndef __WINS__
-            TCommDbConnPref prefs;
-            prefs.SetDialogPreference(ECommDbDialogPrefDoNotPrompt);
-            prefs.SetDirection(ECommDbConnectionDirectionOutgoing);
-            prefs.SetIapId(iIAPId);
+            TExtendedConnPref OCCPrefs;
+            TConnPrefList prefList;
+
+            OCCPrefs.SetForcedRoaming(EFalse); //do not switch networks during an ongoing connection            
+            OCCPrefs.SetNoteBehaviour(TExtendedConnPref::ENoteBehaviourDefault);
+
+            if(iIAPId != -1) //if a IAP was configured
+
+                {
+                iTrace->Trace(_L("CSuplConnection::Connect : IAP configured"), KTraceFileName, __LINE__);
+                OCCPrefs.SetIapId(iIAPId);
+                // since IAP Id is set SNAP purpose should not be set - set to unknown
+                OCCPrefs.SetSnapPurpose(CMManager::ESnapPurposeUnknown);
+                OCCPrefs.SetBearerSet(TExtendedConnPref::EExtendedConnBearerUnknown);
+                }
+            else
+                {
+                OCCPrefs.SetSnapPurpose(CMManager::ESnapPurposeInternet);
+                //WLAN and Cellular Networks allowed for connection
+                OCCPrefs.SetBearerSet(TExtendedConnPref::EExtendedConnBearerWLAN | TExtendedConnPref::EExtendedConnBearerCellular);
+
+                //if SNAP purpose is set IAP Id should be zero - zero by default not explicitly set
+                iTrace->Trace(_L("CSuplConnection::Connect : IAP not configured"), KTraceFileName, __LINE__);
+                }
+
+            TRAP_IGNORE(prefList.AppendL(&OCCPrefs));
 
             TInt ret = iConnection.Open(iSocketServ);
-             if( ret != KErrNone )
-                {
-                TRequestStatus* statusPtr = &aStatus;
-                User::RequestComplete( statusPtr,ret );
-                return;
-                }
+            if(ret != KErrNone)
+            iTrace->Trace(_L("RConnection Open returned error"), KTraceFileName, __LINE__);
+
+            iTrace->Trace(_L("RConnection Start Called, State is ERetriveIAP"), KTraceFileName, __LINE__);
             // Start an Outgoing Connection with overrides
-            iConnection.Start(prefs,iStatus);
+            iConnection.Start(prefList,iStatus);
             // Set state to ERetriveIAP
             iState = ERetriveIAP;
             SetActive();
@@ -1095,7 +1123,7 @@
             TInt ret = iConnection.Open(iSocketServ);
             if( ret != KErrNone )
                 {
-                TRequestStatus* statusPtr = &iStatus;
+                TRequestStatus* statusPtr = &aStatus;
                 User::RequestComplete( statusPtr,ret );
                 return;
                 }
@@ -1199,14 +1227,14 @@
         aStatus = KRequestPending;
         CSuplPacketInfo *packetInfo = NULL;
 
-        TRAP(err, packetInfo = CSuplPacketInfo::NewL(aPacket, aStatus));
+        TRAP(err, packetInfo = CSuplPacketInfo::NewL(aPacket, aStatus);
+                iPktArray.AppendL(packetInfo));
         if (err != KErrNone)
             {
             TRequestStatus *reqStatus = &aStatus;
             User::RequestComplete(reqStatus, err);
             return;
             }
-        iPktArray.Append(packetInfo);
         }
 
     else
@@ -1337,6 +1365,7 @@
         SetActive();
         }
     }
+
 // -----------------------------------------------------------------------------
 // CSuplConnection::ConnectIAP
 // Makes a socket connection to Network
--- a/supl/locationsuplfw/protocolhandlerapi/src/epos_csuplsocketreader.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationsuplfw/protocolhandlerapi/src/epos_csuplsocketreader.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -76,8 +76,8 @@
 void CSuplSocketReader::ConstructL()
     {
     iTrace = CSuplConnTrace::NewL();
-    iReadBuffer.Create(KSocketDefaultBufferSize);
-    iAdditionalReadBuffer.Create(0);
+    User::LeaveIfError(iReadBuffer.Create(KSocketDefaultBufferSize));
+    User::LeaveIfError(iAdditionalReadBuffer.Create(0));
     }
 
 // -----------------------------------------------------------------------------
@@ -174,13 +174,13 @@
 								if(iReRead)
 								{
 									RBuf OriginalBuf1;
-									OriginalBuf1.Create(KSocketDefaultBufferSize);
+									User::LeaveIfError(OriginalBuf1.Create(KSocketDefaultBufferSize));
 									OriginalBuf1.Copy(iReadBuffer);
 									TBuf<64> msg2;
 									msg2.Copy(_L("Length of OriginalBuf1 is: "));
 									msg2.AppendNum(OriginalBuf1.Length());
 									iTrace->Trace(msg2, KTraceFileName, __LINE__);
-									iReadBuffer.ReAlloc(KSocketDefaultBufferSize + iAdditionalReadBuffer.Length());
+									User::LeaveIfError(iReadBuffer.ReAlloc(KSocketDefaultBufferSize + iAdditionalReadBuffer.Length()));
 									iReadBuffer.Zero();
 									iReadBuffer.Append(OriginalBuf1);
 									iReadBuffer.Append(iAdditionalReadBuffer);
@@ -189,7 +189,7 @@
 									OriginalBuf1.Close();					
 								}
     							iAdditionalReadBuffer.Zero();
-    							iAdditionalReadBuffer.ReAlloc(msgSize);		
+    							User::LeaveIfError(iAdditionalReadBuffer.ReAlloc(msgSize));		
     							iReRead = ETrue;
     						}
     					else
@@ -197,10 +197,10 @@
     							if(iReRead)
     								{
     									RBuf OriginalBuf;
-    									OriginalBuf.Create(KSocketDefaultBufferSize);
+    									User::LeaveIfError(OriginalBuf.Create(KSocketDefaultBufferSize));
     									OriginalBuf.Copy(iReadBuffer);
     									
-    									iReadBuffer.ReAlloc(KSocketDefaultBufferSize + iAdditionalReadBuffer.Length());
+    									User::LeaveIfError(iReadBuffer.ReAlloc(KSocketDefaultBufferSize + iAdditionalReadBuffer.Length()));
     									iReadBuffer.Zero();
     									iReadBuffer.Append(OriginalBuf);
     									iReadBuffer.Append(iAdditionalReadBuffer);
--- a/supl/locationsuplfw/protocolhandlerapi/src/epos_suplkey.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationsuplfw/protocolhandlerapi/src/epos_suplkey.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -37,6 +37,11 @@
 #include <libc/string.h>     /* for memcpy() etc.        */
 #include <libc/stdlib.h>     /* for _lrotl with VC++     */
 
+#if defined(__GNUC__) || defined(__GNU_LIBRARY__)
+#include <byteswap.h>
+#include <endian.h>
+#endif
+
 #include "sha1.h"
 #include "hmac.h"
 
@@ -208,6 +213,7 @@
         }
 
         /* pad the key if necessary */
+        //coverity[overrun-local]
         memset(cx->key + cx->klen, 0, IN_BLOCK_LENGTH - cx->klen);
 
         /* xor ipad into key value  */
--- a/supl/locationsuplfw/settingsapi/bwins/epos_suplsettingsu.def	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationsuplfw/settingsapi/bwins/epos_suplsettingsu.def	Tue Aug 31 15:37:04 2010 +0300
@@ -93,4 +93,10 @@
 	?SetServerExtensionParams@CSuplSettingsInternal@@QAEH_JPAVCServerExtensionParams@@@Z @ 92 NONAME ; int CSuplSettingsInternal::SetServerExtensionParams(long long, class CServerExtensionParams *)
 	?NewLC@CServerExtensionParams@@SAPAV1@XZ @ 93 NONAME ; class CServerExtensionParams * CServerExtensionParams::NewLC(void)
 	?GetDefaultIAPName@CSuplSettings@@QAEHAAVTDes16@@@Z @ 94 NONAME ; int CSuplSettings::GetDefaultIAPName(class TDes16 &)
+	?SetServerConfigurationType@CServerParams@@QAEXH@Z @ 95 NONAME ; void CServerParams::SetServerConfigurationType(int)
+	?GetServerConfigurationType@CServerParams@@QBEHAAH@Z @ 96 NONAME ; int CServerParams::GetServerConfigurationType(int &) const
+	?GetTriggerEndTime@CTriggerParams@@QBEHAAVTTime@@@Z @ 97 NONAME ; int CTriggerParams::GetTriggerEndTime(class TTime &) const
+	?SetSuplTriggeredServiceStatus@CSuplSettings@@QAEHABW4TSuplTriggerStatus@1@@Z @ 98 NONAME ; int CSuplSettings::SetSuplTriggeredServiceStatus(enum CSuplSettings::TSuplTriggerStatus const &)
+	?SetTriggerEndTime@CTriggerParams@@QAEXVTTime@@@Z @ 99 NONAME ; void CTriggerParams::SetTriggerEndTime(class TTime)
+	?GetSuplTriggeredServiceStatus@CSuplSettings@@QAEHAAW4TSuplTriggerStatus@1@@Z @ 100 NONAME ; int CSuplSettings::GetSuplTriggeredServiceStatus(enum CSuplSettings::TSuplTriggerStatus &)
 
--- a/supl/locationsuplfw/settingsapi/eabi/epos_suplsettingsu.def	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationsuplfw/settingsapi/eabi/epos_suplsettingsu.def	Tue Aug 31 15:37:04 2010 +0300
@@ -116,4 +116,10 @@
 	_ZTI22CServerExtensionParams @ 115 NONAME
 	_ZTV22CServerExtensionParams @ 116 NONAME
 	_ZN13CSuplSettings17GetDefaultIAPNameER6TDes16 @ 117 NONAME
+	_ZN13CServerParams26SetServerConfigurationTypeEi @ 118 NONAME
+	_ZN13CSuplSettings29GetSuplTriggeredServiceStatusERNS_18TSuplTriggerStatusE @ 119 NONAME
+	_ZN13CSuplSettings29SetSuplTriggeredServiceStatusERKNS_18TSuplTriggerStatusE @ 120 NONAME
+	_ZN14CTriggerParams17SetTriggerEndTimeE5TTime @ 121 NONAME
+	_ZNK13CServerParams26GetServerConfigurationTypeERi @ 122 NONAME
+	_ZNK14CTriggerParams17GetTriggerEndTimeER5TTime @ 123 NONAME
 
--- a/supl/locationsuplfw/settingsapi/inc/epos_csuplsettingsengine.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationsuplfw/settingsapi/inc/epos_csuplsettingsengine.h	Tue Aug 31 15:37:04 2010 +0300
@@ -1265,6 +1265,31 @@
     
     TInt SetServerExtensionParams( TInt64 aSlpId,CServerExtensionParams* aServerExtnParams );
     
+  
+    /*
+	 * Changes status of SUPL triggering service. 
+	 *
+	 * @since S60 5.2 
+	 * @param [IN] aSuplTriggerStatus, Indicates that SUPL  triggering service needs to be ON ( ESuplTriggerOn)  or OFF (ESuplTriggerOff)
+	 *
+	 * @return following error codes
+	 *      - KErrNone if successful
+	 *           otherwise system wide error codes. 
+	 */
+	 TInt SetSuplTriggeredServiceStatus( const CSuplSettings::TSuplTriggerStatus& aSuplTriggerStatus );
+        
+    /*
+	 * Gets status of SUPL triggering service.SUPL Triggering service can be either ESuplTriggerOn or ESuplTriggerOff
+	 *
+	 * @since S60 5.2 
+	 * @param [OUT] aSuplTriggerStatus, Gets status of SUPL triggering session either ON or OFF
+	 *
+	 * @return following error codes
+	 *      - KErrNone if successful
+	 *           otherwise system wide error codes. 
+	 */
+	 TInt GetSuplTriggeredServiceStatus( CSuplSettings::TSuplTriggerStatus& aSuplTriggerStatus );
+        
     /**
      * This method is used to read the default configured IAP name from the product config
      * central repository.
--- a/supl/locationsuplfw/settingsapi/inc/epos_csuplsettingsinternalcrkeys.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationsuplfw/settingsapi/inc/epos_csuplsettingsinternalcrkeys.h	Tue Aug 31 15:37:04 2010 +0300
@@ -32,6 +32,7 @@
 const TUint32 KSuplSettigsDBPath = 0x00000008;
 const TUint32 KSuplSessionDBEvent = 0x00000009;
 const TUint32 KSuplSessionDBChangedSessionId = 0x0000000A;
-const TUint32 KSuplGeoInfoConvServerName = 0x0000000B;
+const TUint32 KSuplSettingsTriggerServiceStatus = 0x0000000B;
+const TUint32 KSuplGeoInfoConvServerName = 0x0000000C;
 
 #endif //SUPLSETTINGSINTERNALCRKEYS_H
--- a/supl/locationsuplfw/settingsapi/inc/epos_csuplsettingsnotifier.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationsuplfw/settingsapi/inc/epos_csuplsettingsnotifier.h	Tue Aug 31 15:37:04 2010 +0300
@@ -107,10 +107,10 @@
         
         TBool iStopObserve;
 
-        CSuplSettings::TSuplSettingsUsage   iUsage;
-        
+         
         TInt iFallBackValue;
         TInt iFallBackTimerValue;
+        TInt iTriggerServiceStatus; // 0 = TriggerON , 1 = TriggerOFF
         
         
         //used to indicate if this object was created to listen for DB Change events
--- a/supl/locationsuplfw/settingsapi/src/epos_csettingsdatabasehandler.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationsuplfw/settingsapi/src/epos_csettingsdatabasehandler.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -54,6 +54,7 @@
 const TInt KSimChangeRemove = 32;
 const TInt KUsageInHomeNw = 64;
 const TInt KEditable = 128;
+const TInt KProductConfigured= 256;
 
 //values used to set and retrieve major and minor version numbers from a single int
 const TInt KVersionMinorMask = 255;
@@ -126,6 +127,7 @@
 _LIT(KColRequestType,"RequestType");
 _LIT(KColOutstandingTrigger,"OutstandingTrigger");      
 _LIT(KColInterval,"Interval");
+_LIT(KColEndTime,"EndTime");
 
 _LIT(KColServerId,"ServerId");
 _LIT(KColIap1,"Iap1");
@@ -154,18 +156,16 @@
 // ---------------------------------------------------------------------------
 CSettingsDatabaseHandler::~CSettingsDatabaseHandler()
     {
-    if(iSettingsRep)
-        {
-        delete iSettingsRep;
-        iSettingsRep = NULL;
-        }    
-    if(iSettingsNotifierRep)
-        {
-        delete iSettingsNotifierRep;
-        iSettingsNotifierRep = NULL;
-        }
-    iDb.Close();
-    LogQuery(_L("Deleted Settings DB Handle CLosed"));
+				delete iSettingsRep;
+				iSettingsRep = NULL;
+				
+				delete iSettingsNotifierRep;
+				iSettingsNotifierRep = NULL;
+				
+				Close();
+				
+				LogQuery(_L("Deleted Settings DB Handle CLosed"));
+				
     }
 
 // ---------------------------------------------------------------------------
@@ -273,18 +273,6 @@
     }
  
 // ---------------------------------------------------------------------------
-// CSettingsDatabaseHandler::RemoveDb()
-//
-// 
-// ---------------------------------------------------------------------------
-TInt CSettingsDatabaseHandler::RemoveDb()
-    {
-    Close();
-   // iDbs.DeleteDatabase(KWordDatabase,KSecureUid);
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
 // CSettingsDatabaseHandler::Close()
 //
 // Close the database.
@@ -450,10 +438,11 @@
     
     TInt32  netInfoLastUse = 0;
     TInt32  netInfoLastSucess = 0;
-    TBool   serverEnabled,simChangeRemove,usageInHomeNw,editable;
+    TBool   serverEnabled,simChangeRemove,usageInHomeNw,editable,prodConfig;
     
-    TInt ret = 0;
-    ret = aServParamValues->Get(slpId,SLPAddress->Des(),IAPName->Des(),serverEnabled,simChangeRemove,usageInHomeNw,editable);
+    TInt ret = aServParamValues->Get(slpId,SLPAddress->Des(),IAPName->Des(),serverEnabled,simChangeRemove,usageInHomeNw,editable);
+    					 aServParamValues->GetServerConfigurationType(prodConfig); 
+    
     if(ret == KErrNotFound)
         {
         CleanupStack::PopAndDestroy(3); //SLPAddress,IAPName,manuName
@@ -515,6 +504,10 @@
         {
         OtherProperties |= KEditable;
         }
+    if(prodConfig)
+        {
+        OtherProperties |= KProductConfigured;
+        }
     
     TBuf<KMaxHSLPAddrLen> tempBuf;
     TBuf<KMaxIAPLen> tempIapBuf;
@@ -849,10 +842,8 @@
     
     HBufC* IAPName = HBufC::NewLC( KMaxIAPLen);
     TBool  serverEnabled,simChangeRemove,usageInHomeNw,editable;
-
-
-    TInt ret = 0;
-    ret = aParamValues->Get(slpId,SLPAddress->Des(),IAPName->Des(),serverEnabled,simChangeRemove,usageInHomeNw,editable);
+    
+    TInt ret = aParamValues->Get(slpId,SLPAddress->Des(),IAPName->Des(),serverEnabled,simChangeRemove,usageInHomeNw,editable);
     if(ret == KErrNotFound || slpId == -1 )
         {
         CleanupStack::PopAndDestroy(2); //SLPAddress,IAPName
@@ -908,7 +899,9 @@
          {
          OtherProperties &= ~KEditable;
          }
-
+     //product configuration flag is not altered here since it should not be modified while updation
+     //and gets set only during addition of a new server through product configuration
+     
      TBuf<KGenericStringLen> tempBuf;
      tempBuf.Copy(*SLPAddress);
      tempBuf.Trim();
@@ -1156,7 +1149,9 @@
         {
         OtherProperties &= ~KEditable;
         }
-
+    //product configuration flag is not altered here since it should not be modified while updation
+    //and gets modified only during addition of a new server
+    
     TBuf<KGenericStringLen> tempBuf;
     tempBuf.Copy(*SLPAddress);
     tempBuf.Trim();
@@ -1691,7 +1686,7 @@
     TBool simChangeRemove = EFalse;
     TBool usageInHomeNw = EFalse;
     TBool editable = EFalse;
-
+    TBool prodConfig = ETrue;
 
     TInt columnIndexSLPID = stmt.ColumnIndex(KColSLPId);
     TInt columnIndexSLPAddress = stmt.ColumnIndex(KColSLPAddress);
@@ -1701,6 +1696,7 @@
     while((err=stmt.Next())==KSqlAtRow)
         {
         CServerParams *params = CServerParams::NewL();
+        CleanupStack::PushL(params);
         SLPId = stmt.ColumnInt(columnIndexSLPID);
         stmt.ColumnText(columnIndexSLPAddress,ServerAddress);
               
@@ -1715,8 +1711,12 @@
         simChangeRemove = otherprops & KSimChangeRemove; 
         usageInHomeNw = otherprops & KUsageInHomeNw; 
         editable = otherprops & KEditable;
+        prodConfig = otherprops & KProductConfigured;
         params->Set(ServerAddress,Iap,serverEnabled,simChangeRemove,usageInHomeNw,editable,SLPId);
-        aParamValues.Append(params);//ownership transferred to RPointerArray
+        params->SetServerConfigurationType(prodConfig);
+        
+        aParamValues.AppendL(params);//ownership transferred to RPointerArray
+        CleanupStack::Pop(params);
         }   
 
     stmt.Close();
@@ -1759,7 +1759,7 @@
     TBool simChangeRemove = EFalse;
     TBool usageInHomeNw = EFalse;
     TBool editable = EFalse;
-
+    TBool prodConfig = ETrue;
 
     TInt columnIndexSLPID = stmt.ColumnIndex(KColSLPId);
     TInt columnIndexSLPAddress = stmt.ColumnIndex(KColSLPAddress);
@@ -1769,6 +1769,7 @@
     while((err=stmt.Next())==KSqlAtRow)
         {
         CServerParams *params = CServerParams::NewL();
+        CleanupStack::PushL(params);
         SLPId = stmt.ColumnInt(columnIndexSLPID);
         stmt.ColumnText(columnIndexSLPAddress,ServerAddress);
               
@@ -1783,8 +1784,11 @@
         simChangeRemove = otherprops & KSimChangeRemove; 
         usageInHomeNw = otherprops & KUsageInHomeNw; 
         editable = otherprops & KEditable;
+        prodConfig = otherprops & KProductConfigured;
         params->Set(ServerAddress,Iap,serverEnabled,simChangeRemove,usageInHomeNw,editable,SLPId);
-        aParamValues.Append(params);//ownership transferred to RPointerArray
+        params->SetServerConfigurationType(prodConfig);
+        aParamValues.AppendL(params);//ownership transferred to RPointerArray
+        CleanupStack::Pop(params);
         }   
 
     stmt.Close();
@@ -2072,6 +2076,7 @@
     TBool simChangeRemove = EFalse;
     TBool usageInHomeNw = EFalse;
     TBool editable = EFalse;
+    TBool prodConfig = ETrue;
     
     TInt columnIndexSLPID = stmt.ColumnIndex(KColSLPId);
     TInt columnIndexSLPAddress = stmt.ColumnIndex(KColSLPAddress);
@@ -2093,6 +2098,7 @@
         simChangeRemove = otherprops & KSimChangeRemove;
         usageInHomeNw = otherprops & KUsageInHomeNw;
         editable = otherprops & KEditable;
+        prodConfig = otherprops & KProductConfigured;
         //logging
         otherpropbuf.Zero();
         otherpropbuf.AppendNum(otherprops);
@@ -2104,6 +2110,8 @@
     stmt.Close();
     
     aParamValues->Set(serverAddress,Iap,serverEnabled,simChangeRemove,usageInHomeNw,editable,SLPId);
+    aParamValues->SetServerConfigurationType(prodConfig);
+    
     return KErrNone;
     }
 // --------------------------------------------------------------------------------------
@@ -2146,6 +2154,7 @@
     TBool simChangeRemove = EFalse;
     TBool usageInHomeNw = EFalse;
     TBool editable = EFalse;
+    TBool prodConfig = ETrue;
     
     TInt columnIndexSLPID = stmt.ColumnIndex(KColSLPId);
     TInt columnIndexSLPAddress = stmt.ColumnIndex(KColSLPAddress);
@@ -2167,6 +2176,7 @@
         simChangeRemove = otherprops & KSimChangeRemove;
         usageInHomeNw = otherprops & KUsageInHomeNw;
         editable = otherprops & KEditable;
+        prodConfig = otherprops & KProductConfigured;
         //logging
         otherpropbuf.Zero();
         otherpropbuf.AppendNum(otherprops);
@@ -2182,6 +2192,7 @@
         return KErrNotFound;
     
     aParamValues->Set(serverAddress,Iap,serverEnabled,simChangeRemove,usageInHomeNw,editable,SLPId);
+    aParamValues->SetServerConfigurationType(prodConfig);
     return KErrNone;
     }
 // ------------------------------------------------------------------------------------
@@ -2218,7 +2229,8 @@
     TBool simChangeRemove = EFalse;
     TBool usageInHomeNw = EFalse;
     TBool editable = EFalse;
-
+    TBool prodConfig = ETrue;
+    
     TInt columnIndexSLPID = stmt.ColumnIndex(KColSLPId);
     TInt columnIndexSLPAddress = stmt.ColumnIndex(KColSLPAddress);
     TInt columnIndexIAP = stmt.ColumnIndex(KColIap);
@@ -2236,6 +2248,7 @@
         simChangeRemove = otherprops & KSimChangeRemove;
         usageInHomeNw = otherprops & KUsageInHomeNw;
         editable = otherprops & KEditable;
+        prodConfig = otherprops & KProductConfigured;
         //logging
         otherpropbuf.Zero();
         otherpropbuf.AppendNum(otherprops);
@@ -2252,6 +2265,7 @@
     stmt.Close();
 
     aParamValues->Set(serverAddress,Iap,serverEnabled,simChangeRemove,usageInHomeNw,editable,SLPId);
+    aParamValues->SetServerConfigurationType(prodConfig);
     return KErrNone;
     }
 // ---------------------------------------------------------------------------
@@ -2546,7 +2560,7 @@
         {
         SLPId = stmt.ColumnInt64(columnIndexSLPID);
         if(SLPId != aSlpId)
-            slpIndexArray.Append(stmt.ColumnInt64(columnIndexSLPID));
+            slpIndexArray.AppendL(stmt.ColumnInt64(columnIndexSLPID));
         }
     stmt.Reset(); 
     stmt.Close();
@@ -2717,7 +2731,7 @@
         {
         SLPId = stmt.ColumnInt64(columnIndexSLPID);
         if(SLPId != aSlpId)
-            slpIndexArray.Append(stmt.ColumnInt64(columnIndexSLPID));
+            slpIndexArray.AppendL(stmt.ColumnInt64(columnIndexSLPID));
         }
     stmt.Reset(); 
     stmt.Close();
@@ -2797,7 +2811,7 @@
     //Get all slp ids currently in the database
     while((err=stmt.Next())==KSqlAtRow)
         {
-        slpIdArray.Append(stmt.ColumnInt64(columnIndexSLPID));
+        slpIdArray.AppendL(stmt.ColumnInt64(columnIndexSLPID));
         }
     stmt.Reset();
     
@@ -2914,6 +2928,11 @@
 
     iSQLString.Append(KColInterval);
     iSQLString.Append(KDataTypeInteger);
+    iSQLString.Append(KCommaSeparator);
+    
+    iSQLString.Append(KColEndTime);
+    iSQLString.Append(KDataTypeInteger);
+        
     iSQLString.Append(KClosingBracket);
     
     TInt err = iDb.Exec(iSQLString);
@@ -2945,10 +2964,14 @@
     CTriggerParams::TRequestType requestType;
     TUint64 outstandingTrigger;
     TUint64 interval;
-    
+    TTime endTime;
     TInt ret = aSessionParamValues->Get(sessionId,sessionName->Des(),notificationPresent,triggerNotificationStatus,
                              triggerType,requestType,outstandingTrigger,interval );
+                             
+         aSessionParamValues->GetTriggerEndTime(endTime);
          
+    TInt64 endTimeInt;
+    endTimeInt = endTime.Int64();
     if(ret == KErrNotFound)
         {
         delete sessionName;
@@ -2981,6 +3004,10 @@
     iSQLString.Append(KCommaSeparator); 
 
     iSQLString.Append(KColInterval);
+    iSQLString.Append(KCommaSeparator);
+    
+    iSQLString.Append(KColEndTime);
+    
     iSQLString.Append(KClosingBracket);
     
     iSQLString.Append(KValues);
@@ -3011,7 +3038,10 @@
     iSQLString.Append(KCommaSeparator);
     
     iSQLString.AppendNum(interval);
-          
+    iSQLString.Append(KCommaSeparator);
+    
+    iSQLString.AppendNum(endTimeInt);
+    
     iSQLString.Append(KClosingBracket);
 
     delete sessionName;   
@@ -3163,7 +3193,9 @@
     TUint64 outstandingTrigger;
     TUint64 interval;
     TBuf<KGenericStringLen> sessionName;
-    
+    TTime endTime;
+    TInt64 endTimeInt;
+        
     TInt columnIndexSessionID = stmt.ColumnIndex(KColSessionId);
     TInt columnIndexSessionName = stmt.ColumnIndex(KColSessionName);
     TInt columnIndexNotificationPresent = stmt.ColumnIndex(KColNotificationPresent);
@@ -3172,12 +3204,14 @@
     TInt columnIndexRequestType = stmt.ColumnIndex(KColRequestType);
     TInt columnIndexOutstandingTrigger = stmt.ColumnIndex(KColOutstandingTrigger);
     TInt columnIndexInterval = stmt.ColumnIndex(KColInterval);
+    TInt columnIndexEndTime = stmt.ColumnIndex(KColEndTime);
 
     // Reset client array
     aParamValues.Reset();
     while((err=stmt.Next())==KSqlAtRow)
         {
         CTriggerParams *params = CTriggerParams::NewL();
+        CleanupStack::PushL(params);
         sessionId = stmt.ColumnInt(columnIndexSessionID);
         stmt.ColumnText(columnIndexSessionName,sessionName);
         notificationPresent = stmt.ColumnInt(columnIndexNotificationPresent);
@@ -3186,9 +3220,12 @@
         requestType = (CTriggerParams::TRequestType) stmt.ColumnInt(columnIndexRequestType);
         outstandingTrigger = stmt.ColumnInt(columnIndexOutstandingTrigger);
         interval = stmt.ColumnInt(columnIndexInterval);
-        
+        endTimeInt = stmt.ColumnInt64(columnIndexEndTime);
+        endTime = endTimeInt;
         params->Set(sessionId,sessionName,notificationPresent,triggerNotificationStatus,triggerType,requestType,outstandingTrigger,interval);
-        aParamValues.Append(params);//ownership transferred to RPointerArray
+				params->SetTriggerEndTime(endTime);        
+        aParamValues.AppendL(params);//ownership transferred to RPointerArray
+        CleanupStack::Pop(params);
         }   
 
     stmt.Close();
@@ -3237,6 +3274,9 @@
     TUint64 outstandingTrigger;
     TUint64 interval;
     TBuf<KGenericStringLen> sessionName;
+    TTime endTime;
+    TInt64 endTimeInt;
+    
         
     TInt columnIndexSessionID = stmt.ColumnIndex(KColSessionId);
     TInt columnIndexSessionName = stmt.ColumnIndex(KColSessionName);
@@ -3246,6 +3286,8 @@
     TInt columnIndexRequestType = stmt.ColumnIndex(KColRequestType);
     TInt columnIndexOutstandingTrigger = stmt.ColumnIndex(KColOutstandingTrigger);
     TInt columnIndexInterval = stmt.ColumnIndex(KColInterval);
+    TInt columnIndexEndTime = stmt.ColumnIndex(KColEndTime);
+    
     while((err=stmt.Next())==KSqlAtRow)
         {
         sessionId = stmt.ColumnInt(columnIndexSessionID);
@@ -3256,8 +3298,10 @@
         requestType = (CTriggerParams::TRequestType) stmt.ColumnInt(columnIndexRequestType);
         outstandingTrigger = stmt.ColumnInt(columnIndexOutstandingTrigger);
         interval = stmt.ColumnInt(columnIndexInterval);
-                
+        endTimeInt = stmt.ColumnInt64(columnIndexEndTime);
+        endTime = endTimeInt;
         aParamValues->Set(sessionId,sessionName,notificationPresent,triggerNotificationStatus,triggerType,requestType,outstandingTrigger,interval);
+        aParamValues->SetTriggerEndTime(endTime);
         }   
 
     stmt.Close();
--- a/supl/locationsuplfw/settingsapi/src/epos_csuplsettingparams.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationsuplfw/settingsapi/src/epos_csuplsettingparams.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -39,7 +39,7 @@
                                         iSimChangeRemove  (ETrue),
                                         iUsageInHomeNw (ETrue),
                                         iEditable (ETrue),
-                                        
+                                        iProductConfigured(ETrue),
                                         iIsValueSet(EFalse)
     {
 
@@ -90,6 +90,8 @@
         }
 
     }
+    
+    
 // ---------------------------------------------------------------------------
 // CServerParams::Set()
 //
@@ -131,10 +133,10 @@
     iSimChangeRemove = aSimChangeRemove;
     iUsageInHomeNw = aUsageInHomeNw;
     iEditable = aEditable;
-    
     iIsValueSet = ETrue;
     return KErrNone;            
     }
+    
 // ---------------------------------------------------------------------------
 // CServerParams::Get()
 //
@@ -144,6 +146,7 @@
                 TPtr aIapName,TBool& aServerEnabled,
                 TBool& aSimChangeRemove, TBool& aUsageInHomeNw, TBool& aEditable) const
     {
+    	
     if(!iIsValueSet) //if values were not set before using the Set method, return error
         return KErrNotFound;
     
@@ -162,7 +165,25 @@
     aUsageInHomeNw = iUsageInHomeNw;
     aEditable = iEditable;
     return KErrNone;            
+    
     }
+    
+
+EXPORT_C void CServerParams::SetServerConfigurationType(TBool aConfigurationType)
+	{
+		iProductConfigured = aConfigurationType;
+	}
+
+
+EXPORT_C TInt CServerParams::GetServerConfigurationType(TBool& aConfigurationType)const
+	{
+    if(!iIsValueSet) //if values were not set before using the Set method, return error
+        return KErrNotFound;
+        
+			aConfigurationType = iProductConfigured;
+			return KErrNone;            
+			
+	}
 
 // C++ default constructor can NOT contain any code, that
 // might leave.
@@ -175,6 +196,7 @@
                                   iRequestType(EUnSpecified),
                                   iOutstandingTrigger(0),                                            
                                   iInterval(0),
+                                  iEndTime(0),
                                   iIsValueSet(EFalse)
     {
 
@@ -261,6 +283,7 @@
     iOutstandingTrigger = aOutstandingTrigger;
     iInterval = aInterval;
     iIsValueSet = ETrue;
+    
     return KErrNone;            
     }
 // ---------------------------------------------------------------------------
@@ -308,5 +331,31 @@
     return KErrNone;            
     }
 
+// ---------------------------------------------------------------------------
+// CTriggerParams::GetTriggerEndTime()
+//
+// Returns server parameters.
+// ---------------------------------------------------------------------------
+EXPORT_C TInt CTriggerParams::GetTriggerEndTime(TTime& aEndTime)const                
+		{
+	    if( !iIsValueSet ) //if values were not set before using the Set method, return error
+        {
+        return KErrNotFound;
+        }
+
+			aEndTime = iEndTime.Int64();
+			return KErrNone;            
+		}
+
+// ---------------------------------------------------------------------------
+// CTriggerParams::SetTriggerEndTime()
+//
+// Returns server parameters.
+// ---------------------------------------------------------------------------		
+EXPORT_C void CTriggerParams::SetTriggerEndTime(const TTime aEndTime)
+		{
+			iEndTime = aEndTime.Int64();
+		}               
+
 //  End of File
 
--- a/supl/locationsuplfw/settingsapi/src/epos_csuplsettings.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationsuplfw/settingsapi/src/epos_csuplsettings.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -237,33 +237,18 @@
 //
 //This method is used to retrieve SUPL usage from settings storage. 
 //--------------------------------------------------------------------------------------
-EXPORT_C TInt CSuplSettings::GetSuplUsage(TSuplSettingsUsage& aUsage) const
+EXPORT_C TInt CSuplSettings::GetSuplUsage(TSuplSettingsUsage& /* aUsage */ ) const
     {
-    TInt usage, ret;            
-    ret = iSettingsEngine->GetSuplUsage(usage);
-    
-    if (ret == KErrNone)
-        {
-        aUsage = (TSuplSettingsUsage)usage;
-        return KErrNone;        
-        }            
-    else
-        return ret;            
+    return KErrNotSupported;            
     }            
 //-------------------------------------------------------------------------------------
 //CSuplSettings::SetSuplUsage()
 //
 //This method is used to change SUPL usage.
 //--------------------------------------------------------------------------------------
-EXPORT_C TInt CSuplSettings::SetSuplUsage(const TSuplSettingsUsage aUsage) 
+EXPORT_C TInt CSuplSettings::SetSuplUsage(const TSuplSettingsUsage /* aUsage */ ) 
     {
-    TInt usage = aUsage;            
-
-    if (usage < CSuplSettings::ESuplUsageAlwaysAsk ||
-        usage > CSuplSettings::ESuplUsageDisabled)                    
-        return KErrArgument;
-
-    return iSettingsEngine->SetSuplUsage(aUsage);
+    return KErrNotSupported;   
     }          
 //-------------------------------------------------------------------------------------
 //CSuplSettings::AddNewServer()
@@ -605,4 +590,26 @@
     {
     return iSettingsEngine->GetDefaultIAPName(aIapName);    
     }
+	
+	    
+//---------------------------------------------------------------------
+// CSuplSettings::SetSuplTriggeredServiceStatus()
+//
+// Changes status of SUPL triggering service. 
+//---------------------------------------------------------------------    
+EXPORT_C TInt CSuplSettings::SetSuplTriggeredServiceStatus( const TSuplTriggerStatus& aSuplTriggerStatus )
+	{
+			return iSettingsEngine->SetSuplTriggeredServiceStatus(aSuplTriggerStatus);    
+	}   
+	 
+//---------------------------------------------------------------------
+// CSuplSettings::GetSuplTriggeredServiceStatus()
+//
+// Gets status of SUPL triggering service.SUPL Triggering service can be either ESuplTriggerOn or ESuplTriggerOff
+//---------------------------------------------------------------------    
+EXPORT_C TInt CSuplSettings::GetSuplTriggeredServiceStatus( TSuplTriggerStatus& aSuplTriggerStatus )
+	{
+			return iSettingsEngine->GetSuplTriggeredServiceStatus(aSuplTriggerStatus);    
+	}   	 
+	
 //  End of File
--- a/supl/locationsuplfw/settingsapi/src/epos_csuplsettingsengine.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationsuplfw/settingsapi/src/epos_csuplsettingsengine.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -80,6 +80,8 @@
     delete iSettingsDBHandler;
     iSettingsDBHandler = NULL;
     }
+    
+/*
 //-------------------------------------------------------------------------------------
 //CSuplSettingsEngine::LockEngineL()
 //
@@ -117,6 +119,7 @@
         return KErrNone;
         }
     }
+*/
 
 //-------------------------------------------------------------------------------------
 //CSuplSettingsEngine::Initialize()
@@ -274,52 +277,6 @@
 	return KErrNone; 
     }        
 
-/*TInt CSuplSettingsEngine::Set(const TDesC& aHslpAddress, const TDesC&  aIapName, 
-                const TInt aChangedBy)
-    {
-    TInt err;
-        
-    err = iRepository->Set(KSuplSettingsHSLPAddress, aHslpAddress);
-    if (err != KErrNone)
-        return err;
-        
-    err = iRepository->Set(KSuplSettingsIAP, aIapName);
-    if (err != KErrNone)
-        return err;           
-        
-    err = iRepository->Set(KSuplSettingsChangedBy, aChangedBy);
-    if (err != KErrNone)
-        return err;            
-        
-    err = iRepository->Set(KSuplSettingsIMSI, iImsi);
-    if (err != KErrNone)
-        return err;
-        
-    return KErrNone;
-    } 
-
-
-TInt CSuplSettingsEngine::Get(TDes& aHslpAddress, TDes&  aIapName, 
-                TDes& aImsi, TInt& aChangedBy)
-    {    
-    TInt err;            
-
-    err = iRepository->Get(KSuplSettingsHSLPAddress, aHslpAddress);
-    if (err != KErrNone)
-        return err;            
-    err = iRepository->Get(KSuplSettingsIAP, aIapName);
-    if (err != KErrNone)
-        return err;            
-    err = iRepository->Get(KSuplSettingsIMSI, aImsi);
-    if (err != KErrNone)
-        return err;            
-    err = iRepository->Get(KSuplSettingsChangedBy, aChangedBy);
-    if (err != KErrNone)
-        return err;            
-
-    return KErrNone;
-    }
-*/
 //-------------------------------------------------------------------------------------
 //CSuplSettingsEngine::IsInitDone()
 //
@@ -447,37 +404,6 @@
     return KErrNone;
     }    
 
-//-------------------------------------------------------------------------------------
-//CSuplSettingsEngine::GetSuplUsage()
-//
-//This method is used to retrieve SUPL usage from settings storage.
-//--------------------------------------------------------------------------------------
-TInt CSuplSettingsEngine::GetSuplUsage(TInt& aUsage)
-    {
-    TInt err;            
-
-    err = iRepository->Get(KSuplSettingsUsage, aUsage);
-    if (err != KErrNone)
-        return err;            
-
-    return KErrNone;
-    }        
-
-//-------------------------------------------------------------------------------------
-//CSuplSettingsEngine::SetSuplUsage()
-//
-//This method is used to change SUPL usage.
-//--------------------------------------------------------------------------------------
-TInt CSuplSettingsEngine::SetSuplUsage(const TInt aUsage) 
-    {
-    TInt err;
-
-    err = iRepository->Set(KSuplSettingsUsage, aUsage);
-    if (err != KErrNone)
-        return err;            
-        
-    return KErrNone;
-    }            
 
 /*
  * GetMccLen
@@ -1334,4 +1260,46 @@
         }
     return err;
     }  
+	
+	//---------------------------------------------------------------------
+// SetSuplTriggeredServiceStatus()
+//
+// Changes status of SUPL triggering service. 
+//---------------------------------------------------------------------    
+ TInt CSuplSettingsEngine::SetSuplTriggeredServiceStatus( const CSuplSettings::TSuplTriggerStatus& aSuplTriggerStatus )
+	{
+		TInt val;
+    if( aSuplTriggerStatus == CSuplSettings::ESuplTriggerOff) //Can be casted to enum directly...
+    {
+    		val = 1;
+    }
+    else
+    {
+    		val = 0;
+    }
+    return  iRepository->Set(KSuplSettingsTriggerServiceStatus, val);
+	}   
+	 
+//---------------------------------------------------------------------
+// GetSuplTriggeredServiceStatus()
+//
+// Gets status of SUPL triggering service.SUPL Triggering service can be either ESuplTriggerOn or ESuplTriggerOff
+//---------------------------------------------------------------------    
+ TInt CSuplSettingsEngine::GetSuplTriggeredServiceStatus( CSuplSettings::TSuplTriggerStatus& aSuplTriggerStatus )
+	{
+		TInt val;
+    TInt err = iRepository->Get(KSuplSettingsTriggerServiceStatus,val);
+    
+    if( val == 1) //Can be casted to enum directly...
+    {
+    	aSuplTriggerStatus = CSuplSettings::ESuplTriggerOff;
+    }
+    else
+    {
+    		aSuplTriggerStatus = CSuplSettings::ESuplTriggerOn;
+    }
+    
+    return err;
+	}
+	
 //End of File
--- a/supl/locationsuplfw/settingsapi/src/epos_csuplsettingsnotifier.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationsuplfw/settingsapi/src/epos_csuplsettingsnotifier.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -90,29 +90,55 @@
         TReal slpID;
         iRepository->Get(KSuplSettingsDBChangedSLPId, slpID);
         
-
-        MSuplSettingsObserver::TSuplSettingsEventType eventType = (MSuplSettingsObserver::TSuplSettingsEventType)event;
+        MSuplSettingsObserver::TSuplSettingsEventType eventType = MSuplSettingsObserver::ESuplSettingsEventUnspecified;
+        switch(event)
+            {
+            case MSuplSettingsObserver::ESuplSettingsDBAddEvent:
+            case MSuplSettingsObserver::ESuplSettingsDBAddEvent+1 :
+                {
+                eventType = MSuplSettingsObserver::ESuplSettingsDBAddEvent;
+                }
+                break;
+            case MSuplSettingsObserver::ESuplSettingsDBDeleteEvent:
+            case MSuplSettingsObserver::ESuplSettingsDBDeleteEvent+1 :
+                {
+                eventType = MSuplSettingsObserver::ESuplSettingsDBDeleteEvent;
+                }
+                break;
+            case MSuplSettingsObserver::ESuplSettingsDBUpdateEvent:
+            case MSuplSettingsObserver::ESuplSettingsDBUpdateEvent+1 :
+                {
+                eventType = MSuplSettingsObserver::ESuplSettingsDBUpdateEvent;
+                }
+                break;
+            default:                
+                eventType = MSuplSettingsObserver::ESuplSettingsEventUnspecified;
+                break;
+            
+            }
+        
         iObserver.HandleSuplSettingsChangeL(eventType,slpID);
         }
     else
         {
-        TInt usage;
-
-        iRepository->Get(KSuplSettingsUsage, usage);
-
-        if (iUsage != usage) //check if there was a change in the Supl usage value in the cen rep
-            iObserver.HandleSuplSettingsChangeL(MSuplSettingsObserver::ESuplSettingsEventSuplUsageChange);
-        else //else check if any of the other config parameters changed
-            {
             TInt fallBackValue;
             TInt fallBackTimerValue;
             TBuf<KMaxStrlen> imsi;
+            TInt triggerServiceStatus;
+            
             iRepository->Get(KSuplSettingsFallBack,fallBackValue);
             iRepository->Get(KSuplSettingsFallBackTimer,fallBackTimerValue);
             iRepository->Get(KSuplSettingsIMSI,imsi);
+            iRepository->Get(KSuplSettingsTriggerServiceStatus,triggerServiceStatus);
+            
+            if(triggerServiceStatus != iTriggerServiceStatus )
+            {
+            	iObserver.HandleSuplTriggerStatusChangeL((CSuplSettings::TSuplTriggerStatus)triggerServiceStatus);
+            }
+            
             if(fallBackValue != iFallBackValue || fallBackTimerValue != iFallBackTimerValue || imsi.Compare(*iImsi))
                 iObserver.HandleSuplSettingsChangeL(MSuplSettingsObserver::ESuplSettingsEventCommParameterChange);
-            }
+            
         }
     StartListening();
     }
@@ -159,16 +185,15 @@
         }
     else
         {
-        TInt usage;
         TBuf<KMaxStrlen> imsi;
-        iRepository->Get(KSuplSettingsUsage, usage);
         iRepository->Get(KSuplSettingsFallBack,iFallBackValue);
         iRepository->Get(KSuplSettingsFallBackTimer,iFallBackTimerValue);
         iRepository->Get(KSuplSettingsIMSI,imsi);
+        iRepository->Get(KSuplSettingsTriggerServiceStatus,iTriggerServiceStatus);
+        
         if(iImsi)
             iImsi->Des() = imsi;
-        iUsage = (CSuplSettings::TSuplSettingsUsage) usage;
-
+        
         // Request for notification for any field change
         iRepository->NotifyRequest(0x00000000, 0x00000000, iStatus);
         }
--- a/supl/locationsuplfw/terminalinitiationapi/bwins/epos_suplterminitiationu.def	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationsuplfw/terminalinitiationapi/bwins/epos_suplterminitiationu.def	Tue Aug 31 15:37:04 2010 +0300
@@ -10,49 +10,49 @@
 	?StartSuplTriggerSession@RSuplTerminalSubSession@@QAEXAAVTRequestStatus@@AAVTSuplTerminalPeriodicTrigger@@HH@Z @ 9 NONAME ; void RSuplTerminalSubSession::StartSuplTriggerSession(class TRequestStatus &, class TSuplTerminalPeriodicTrigger &, int, int)
 	?SetMaxLocationAge@TSuplTerminalQop@@QAEHH@Z @ 10 NONAME ; int TSuplTerminalQop::SetMaxLocationAge(int)
 	?Get@TSuplTriggerFireInfo@@QBEHAAVTPositionInfo@@@Z @ 11 NONAME ; int TSuplTriggerFireInfo::Get(class TPositionInfo &) const
-	?Get@TSuplTerminalQop@@QBEHAAM0AAH1@Z @ 12 NONAME ; int TSuplTerminalQop::Get(float &, float &, int &, int &) const
-	??0TSuplTerminalQop@@QAE@XZ @ 13 NONAME ; TSuplTerminalQop::TSuplTerminalQop(void)
-	?Close@RSuplTerminalSubSession@@QAEXXZ @ 14 NONAME ; void RSuplTerminalSubSession::Close(void)
-	?Ptr@CSuplSubSessnPtrHolder@@QAEAAVTPtr8@@H@Z @ 15 NONAME ; class TPtr8 & CSuplSubSessnPtrHolder::Ptr(int)
-	??0RSuplTerminalServer@@QAE@XZ @ 16 NONAME ; RSuplTerminalServer::RSuplTerminalServer(void)
-	?GetSlpList@RSuplTerminalSubSession@@QAEHAAV?$RPointerArray@VCSuplTerminalParams@@@@@Z @ 17 NONAME ; int RSuplTerminalSubSession::GetSlpList(class RPointerArray<class CSuplTerminalParams> &)
-	?Get@TSuplTerminalPeriodicTrigger@@QBEHAAI00@Z @ 18 NONAME ; int TSuplTerminalPeriodicTrigger::Get(unsigned int &, unsigned int &, unsigned int &) const
-	?RunSession@RSuplTerminalSubSession@@QAEXAAVTRequestStatus@@AAVTSuplTerminalQop@@ABVTDesC16@@HHHH@Z @ 19 NONAME ; void RSuplTerminalSubSession::RunSession(class TRequestStatus &, class TSuplTerminalQop &, class TDesC16 const &, int, int, int, int)
-	??0TSuplTerminalPeriodicTrigger@@QAE@XZ @ 20 NONAME ; TSuplTerminalPeriodicTrigger::TSuplTerminalPeriodicTrigger(void)
-	?Open@RSuplTerminalSubSession@@QAEHAAVRSuplTerminalServer@@W4TSuplServiceType@1@@Z @ 21 NONAME ; int RSuplTerminalSubSession::Open(class RSuplTerminalServer &, enum RSuplTerminalSubSession::TSuplServiceType)
-	?GetVerticalAccuracy@TSuplTerminalQop@@QBEHAAM@Z @ 22 NONAME ; int TSuplTerminalQop::GetVerticalAccuracy(float &) const
-	?RunSession@RSuplTerminalSubSession@@QAEHAAVTSuplTerminalQop@@ABVTDesC16@@HHHH@Z @ 23 NONAME ; int RSuplTerminalSubSession::RunSession(class TSuplTerminalQop &, class TDesC16 const &, int, int, int, int)
-	?Set@TSuplTriggerFireInfo@@QAEHABVTPositionInfo@@@Z @ 24 NONAME ; int TSuplTriggerFireInfo::Set(class TPositionInfo const &)
-	??1CSuplTerminalParams@@UAE@XZ @ 25 NONAME ; CSuplTerminalParams::~CSuplTerminalParams(void)
-	?GetDelay@TSuplTerminalQop@@QBEHAAH@Z @ 26 NONAME ; int TSuplTerminalQop::GetDelay(int &) const
-	?Version@RSuplTerminalServer@@QBE?AVTVersion@@XZ @ 27 NONAME ; class TVersion RSuplTerminalServer::Version(void) const
-	?SetDelay@TSuplTerminalQop@@QAEHH@Z @ 28 NONAME ; int TSuplTerminalQop::SetDelay(int)
-	?Get@CSuplTerminalParams@@QBEHAA_JVTPtr16@@1AAH222@Z @ 29 NONAME ; int CSuplTerminalParams::Get(long long &, class TPtr16, class TPtr16, int &, int &, int &, int &) const
-	?RunSession@RSuplTerminalSubSession@@QAEXAAVTRequestStatus@@ABVTDesC16@@HHHH@Z @ 30 NONAME ; void RSuplTerminalSubSession::RunSession(class TRequestStatus &, class TDesC16 const &, int, int, int, int)
-	?StartSuplTriggerSession@RSuplTerminalSubSession@@QAEXAAVTRequestStatus@@AAVTSuplTerminalPeriodicTrigger@@ABVTDesC16@@HHH@Z @ 31 NONAME ; void RSuplTerminalSubSession::StartSuplTriggerSession(class TRequestStatus &, class TSuplTerminalPeriodicTrigger &, class TDesC16 const &, int, int, int)
-	?ConstructL@RSuplTerminalSubSession@@MAEXXZ @ 32 NONAME ; void RSuplTerminalSubSession::ConstructL(void)
-	?NewLC@CSuplTerminalParams@@SAPAV1@XZ @ 33 NONAME ; class CSuplTerminalParams * CSuplTerminalParams::NewLC(void)
-	?RunSession@RSuplTerminalSubSession@@QAEHAAVTSuplTerminalQop@@HHH@Z @ 34 NONAME ; int RSuplTerminalSubSession::RunSession(class TSuplTerminalQop &, int, int, int)
-	?ExtendedInterface@RSuplTerminalSubSession@@MAEPAXHPAX0@Z @ 35 NONAME ; void * RSuplTerminalSubSession::ExtendedInterface(int, void *, void *)
-	??1CSuplSubSessnPtrHolder@@UAE@XZ @ 36 NONAME ; CSuplSubSessnPtrHolder::~CSuplSubSessnPtrHolder(void)
-	?RunSession@RSuplTerminalSubSession@@QAEXAAVTRequestStatus@@HHH@Z @ 37 NONAME ; void RSuplTerminalSubSession::RunSession(class TRequestStatus &, int, int, int)
-	?RunSession@RSuplTerminalSubSession@@QAEHABVTDesC16@@HHHH@Z @ 38 NONAME ; int RSuplTerminalSubSession::RunSession(class TDesC16 const &, int, int, int, int)
-	?Set@TSuplTerminalPeriodicTrigger@@QAEHABI00@Z @ 39 NONAME ; int TSuplTerminalPeriodicTrigger::Set(unsigned int const &, unsigned int const &, unsigned int const &)
-	?RunSession@RSuplTerminalSubSession@@QAEXAAVTRequestStatus@@AAVTSuplTerminalQop@@HHH@Z @ 40 NONAME ; void RSuplTerminalSubSession::RunSession(class TRequestStatus &, class TSuplTerminalQop &, int, int, int)
-	?NotifyTriggerFired@RSuplTerminalSubSession@@QAEXAAVTRequestStatus@@AAVTSuplTriggerFireInfo@@@Z @ 41 NONAME ; void RSuplTerminalSubSession::NotifyTriggerFired(class TRequestStatus &, class TSuplTriggerFireInfo &)
-	?Set@CSuplTerminalParams@@QAEHABVTDesC16@@0HHHH_J@Z @ 42 NONAME ; int CSuplTerminalParams::Set(class TDesC16 const &, class TDesC16 const &, int, int, int, int, long long)
-	?CancelRunSession@RSuplTerminalSubSession@@QAEXXZ @ 43 NONAME ; void RSuplTerminalSubSession::CancelRunSession(void)
-	??0TSuplTriggerFireInfo@@QAE@XZ @ 44 NONAME ; TSuplTriggerFireInfo::TSuplTriggerFireInfo(void)
-	?Set@TSuplTerminalQop@@QAEHMMHH@Z @ 45 NONAME ; int TSuplTerminalQop::Set(float, float, int, int)
-	?GetServerAddress@RSuplTerminalSubSession@@QAEHAAVTDes16@@@Z @ 46 NONAME ; int RSuplTerminalSubSession::GetServerAddress(class TDes16 &)
-	?NewL@CSuplTerminalParams@@SAPAV1@XZ @ 47 NONAME ; class CSuplTerminalParams * CSuplTerminalParams::NewL(void)
-	?GetHorizontalAccuracy@TSuplTerminalQop@@QBEHAAM@Z @ 48 NONAME ; int TSuplTerminalQop::GetHorizontalAccuracy(float &) const
-	?SetVerticalAccuracy@TSuplTerminalQop@@QAEHM@Z @ 49 NONAME ; int TSuplTerminalQop::SetVerticalAccuracy(float)
-	?GetMaxLocationAge@TSuplTerminalQop@@QBEHAAH@Z @ 50 NONAME ; int TSuplTerminalQop::GetMaxLocationAge(int &) const
-	?GetPosition@RSuplTerminalSubSession@@QAEHAAVTPositionInfoBase@@@Z @ 51 NONAME ; int RSuplTerminalSubSession::GetPosition(class TPositionInfoBase &)
-	?ConstructL@CSuplSubSessnPtrHolder@@IAEXHH@Z @ 52 NONAME ; void CSuplSubSessnPtrHolder::ConstructL(int, int)
-	?NewL@CSuplSubSessnPtrHolder@@SAPAV1@HH@Z @ 53 NONAME ; class CSuplSubSessnPtrHolder * CSuplSubSessnPtrHolder::NewL(int, int)
-	?Connect@RSuplTerminalServer@@QAEHAAVTRequestStatus@@@Z @ 54 NONAME ; int RSuplTerminalServer::Connect(class TRequestStatus &)
+	?Connect@RSuplTerminalServer@@QAEHAAVTRequestStatus@@@Z @ 12 NONAME ; int RSuplTerminalServer::Connect(class TRequestStatus &)
+	?Get@TSuplTerminalQop@@QBEHAAM0AAH1@Z @ 13 NONAME ; int TSuplTerminalQop::Get(float &, float &, int &, int &) const
+	??0TSuplTerminalQop@@QAE@XZ @ 14 NONAME ; TSuplTerminalQop::TSuplTerminalQop(void)
+	?Close@RSuplTerminalSubSession@@QAEXXZ @ 15 NONAME ; void RSuplTerminalSubSession::Close(void)
+	?Ptr@CSuplSubSessnPtrHolder@@QAEAAVTPtr8@@H@Z @ 16 NONAME ; class TPtr8 & CSuplSubSessnPtrHolder::Ptr(int)
+	??0RSuplTerminalServer@@QAE@XZ @ 17 NONAME ; RSuplTerminalServer::RSuplTerminalServer(void)
+	?GetSlpList@RSuplTerminalSubSession@@QAEHAAV?$RPointerArray@VCSuplTerminalParams@@@@@Z @ 18 NONAME ; int RSuplTerminalSubSession::GetSlpList(class RPointerArray<class CSuplTerminalParams> &)
+	?Get@TSuplTerminalPeriodicTrigger@@QBEHAAI00@Z @ 19 NONAME ; int TSuplTerminalPeriodicTrigger::Get(unsigned int &, unsigned int &, unsigned int &) const
+	?RunSession@RSuplTerminalSubSession@@QAEXAAVTRequestStatus@@AAVTSuplTerminalQop@@ABVTDesC16@@HHHH@Z @ 20 NONAME ; void RSuplTerminalSubSession::RunSession(class TRequestStatus &, class TSuplTerminalQop &, class TDesC16 const &, int, int, int, int)
+	??0TSuplTerminalPeriodicTrigger@@QAE@XZ @ 21 NONAME ; TSuplTerminalPeriodicTrigger::TSuplTerminalPeriodicTrigger(void)
+	?Open@RSuplTerminalSubSession@@QAEHAAVRSuplTerminalServer@@W4TSuplServiceType@1@@Z @ 22 NONAME ; int RSuplTerminalSubSession::Open(class RSuplTerminalServer &, enum RSuplTerminalSubSession::TSuplServiceType)
+	?GetVerticalAccuracy@TSuplTerminalQop@@QBEHAAM@Z @ 23 NONAME ; int TSuplTerminalQop::GetVerticalAccuracy(float &) const
+	?RunSession@RSuplTerminalSubSession@@QAEHAAVTSuplTerminalQop@@ABVTDesC16@@HHHH@Z @ 24 NONAME ; int RSuplTerminalSubSession::RunSession(class TSuplTerminalQop &, class TDesC16 const &, int, int, int, int)
+	?Set@TSuplTriggerFireInfo@@QAEHABVTPositionInfo@@@Z @ 25 NONAME ; int TSuplTriggerFireInfo::Set(class TPositionInfo const &)
+	??1CSuplTerminalParams@@UAE@XZ @ 26 NONAME ; CSuplTerminalParams::~CSuplTerminalParams(void)
+	?GetDelay@TSuplTerminalQop@@QBEHAAH@Z @ 27 NONAME ; int TSuplTerminalQop::GetDelay(int &) const
+	?Version@RSuplTerminalServer@@QBE?AVTVersion@@XZ @ 28 NONAME ; class TVersion RSuplTerminalServer::Version(void) const
+	?SetDelay@TSuplTerminalQop@@QAEHH@Z @ 29 NONAME ; int TSuplTerminalQop::SetDelay(int)
+	?Get@CSuplTerminalParams@@QBEHAA_JVTPtr16@@1AAH222@Z @ 30 NONAME ; int CSuplTerminalParams::Get(long long &, class TPtr16, class TPtr16, int &, int &, int &, int &) const
+	?RunSession@RSuplTerminalSubSession@@QAEXAAVTRequestStatus@@ABVTDesC16@@HHHH@Z @ 31 NONAME ; void RSuplTerminalSubSession::RunSession(class TRequestStatus &, class TDesC16 const &, int, int, int, int)
+	?StartSuplTriggerSession@RSuplTerminalSubSession@@QAEXAAVTRequestStatus@@AAVTSuplTerminalPeriodicTrigger@@ABVTDesC16@@HHH@Z @ 32 NONAME ; void RSuplTerminalSubSession::StartSuplTriggerSession(class TRequestStatus &, class TSuplTerminalPeriodicTrigger &, class TDesC16 const &, int, int, int)
+	?ConstructL@RSuplTerminalSubSession@@MAEXXZ @ 33 NONAME ; void RSuplTerminalSubSession::ConstructL(void)
+	?NewLC@CSuplTerminalParams@@SAPAV1@XZ @ 34 NONAME ; class CSuplTerminalParams * CSuplTerminalParams::NewLC(void)
+	?RunSession@RSuplTerminalSubSession@@QAEHAAVTSuplTerminalQop@@HHH@Z @ 35 NONAME ; int RSuplTerminalSubSession::RunSession(class TSuplTerminalQop &, int, int, int)
+	?ExtendedInterface@RSuplTerminalSubSession@@MAEPAXHPAX0@Z @ 36 NONAME ; void * RSuplTerminalSubSession::ExtendedInterface(int, void *, void *)
+	??1CSuplSubSessnPtrHolder@@UAE@XZ @ 37 NONAME ; CSuplSubSessnPtrHolder::~CSuplSubSessnPtrHolder(void)
+	?RunSession@RSuplTerminalSubSession@@QAEXAAVTRequestStatus@@HHH@Z @ 38 NONAME ; void RSuplTerminalSubSession::RunSession(class TRequestStatus &, int, int, int)
+	?RunSession@RSuplTerminalSubSession@@QAEHABVTDesC16@@HHHH@Z @ 39 NONAME ; int RSuplTerminalSubSession::RunSession(class TDesC16 const &, int, int, int, int)
+	?Set@TSuplTerminalPeriodicTrigger@@QAEHABI00@Z @ 40 NONAME ; int TSuplTerminalPeriodicTrigger::Set(unsigned int const &, unsigned int const &, unsigned int const &)
+	?RunSession@RSuplTerminalSubSession@@QAEXAAVTRequestStatus@@AAVTSuplTerminalQop@@HHH@Z @ 41 NONAME ; void RSuplTerminalSubSession::RunSession(class TRequestStatus &, class TSuplTerminalQop &, int, int, int)
+	?NotifyTriggerFired@RSuplTerminalSubSession@@QAEXAAVTRequestStatus@@AAVTSuplTriggerFireInfo@@@Z @ 42 NONAME ; void RSuplTerminalSubSession::NotifyTriggerFired(class TRequestStatus &, class TSuplTriggerFireInfo &)
+	?Set@CSuplTerminalParams@@QAEHABVTDesC16@@0HHHH_J@Z @ 43 NONAME ; int CSuplTerminalParams::Set(class TDesC16 const &, class TDesC16 const &, int, int, int, int, long long)
+	?CancelRunSession@RSuplTerminalSubSession@@QAEXXZ @ 44 NONAME ; void RSuplTerminalSubSession::CancelRunSession(void)
+	??0TSuplTriggerFireInfo@@QAE@XZ @ 45 NONAME ; TSuplTriggerFireInfo::TSuplTriggerFireInfo(void)
+	?Set@TSuplTerminalQop@@QAEHMMHH@Z @ 46 NONAME ; int TSuplTerminalQop::Set(float, float, int, int)
+	?GetServerAddress@RSuplTerminalSubSession@@QAEHAAVTDes16@@@Z @ 47 NONAME ; int RSuplTerminalSubSession::GetServerAddress(class TDes16 &)
+	?NewL@CSuplTerminalParams@@SAPAV1@XZ @ 48 NONAME ; class CSuplTerminalParams * CSuplTerminalParams::NewL(void)
+	?GetHorizontalAccuracy@TSuplTerminalQop@@QBEHAAM@Z @ 49 NONAME ; int TSuplTerminalQop::GetHorizontalAccuracy(float &) const
+	?SetVerticalAccuracy@TSuplTerminalQop@@QAEHM@Z @ 50 NONAME ; int TSuplTerminalQop::SetVerticalAccuracy(float)
+	?GetMaxLocationAge@TSuplTerminalQop@@QBEHAAH@Z @ 51 NONAME ; int TSuplTerminalQop::GetMaxLocationAge(int &) const
+	?GetPosition@RSuplTerminalSubSession@@QAEHAAVTPositionInfoBase@@@Z @ 52 NONAME ; int RSuplTerminalSubSession::GetPosition(class TPositionInfoBase &)
+	?ConstructL@CSuplSubSessnPtrHolder@@IAEXHH@Z @ 53 NONAME ; void CSuplSubSessnPtrHolder::ConstructL(int, int)
+	?NewL@CSuplSubSessnPtrHolder@@SAPAV1@HH@Z @ 54 NONAME ; class CSuplSubSessnPtrHolder * CSuplSubSessnPtrHolder::NewL(int, int)
 	?CancelLocationConversion@RSuplTerminalInternal@@QAEXXZ @ 55 NONAME ; void RSuplTerminalInternal::CancelLocationConversion(void)
 	??0RSuplTerminalInternal@@QAE@XZ @ 56 NONAME ; RSuplTerminalInternal::RSuplTerminalInternal(void)
 	?ConvertAreaInfoToCoordinates@RSuplTerminalInternal@@QAEXAAVTRequestStatus@@AAUTGeoCellInfo@@@Z @ 57 NONAME ; void RSuplTerminalInternal::ConvertAreaInfoToCoordinates(class TRequestStatus &, struct TGeoCellInfo &)
--- a/supl/locationsuplfw/terminalinitiationapi/eabi/epos_suplterminitiationu.def	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationsuplfw/terminalinitiationapi/eabi/epos_suplterminitiationu.def	Tue Aug 31 15:37:04 2010 +0300
@@ -13,61 +13,61 @@
 	_ZN19CSuplTerminalParamsD1Ev @ 12 NONAME
 	_ZN19CSuplTerminalParamsD2Ev @ 13 NONAME
 	_ZN19RSuplTerminalServer5CloseEv @ 14 NONAME
-	_ZN19RSuplTerminalServer7ConnectEv @ 15 NONAME
-	_ZN19RSuplTerminalServerC1Ev @ 16 NONAME
-	_ZN19RSuplTerminalServerC2Ev @ 17 NONAME
-	_ZN20TSuplTriggerFireInfo3SetERK13TPositionInfo @ 18 NONAME
-	_ZN20TSuplTriggerFireInfoC1Ev @ 19 NONAME
-	_ZN20TSuplTriggerFireInfoC2Ev @ 20 NONAME
-	_ZN22CSuplSubSessnPtrHolder10ConstructLEii @ 21 NONAME
-	_ZN22CSuplSubSessnPtrHolder3PtrEi @ 22 NONAME
-	_ZN22CSuplSubSessnPtrHolder4NewLEii @ 23 NONAME
-	_ZN22CSuplSubSessnPtrHolder4PtrCEi @ 24 NONAME
-	_ZN22CSuplSubSessnPtrHolderD0Ev @ 25 NONAME
-	_ZN22CSuplSubSessnPtrHolderD1Ev @ 26 NONAME
-	_ZN22CSuplSubSessnPtrHolderD2Ev @ 27 NONAME
-	_ZN23RSuplTerminalSubSession10ConstructLEv @ 28 NONAME
-	_ZN23RSuplTerminalSubSession10GetSlpListER13RPointerArrayI19CSuplTerminalParamsE @ 29 NONAME
-	_ZN23RSuplTerminalSubSession10RunSessionER14TRequestStatusR16TSuplTerminalQopRK7TDesC16iiii @ 30 NONAME
-	_ZN23RSuplTerminalSubSession10RunSessionER14TRequestStatusR16TSuplTerminalQopiii @ 31 NONAME
-	_ZN23RSuplTerminalSubSession10RunSessionER14TRequestStatusRK7TDesC16iiii @ 32 NONAME
-	_ZN23RSuplTerminalSubSession10RunSessionER14TRequestStatusiii @ 33 NONAME
-	_ZN23RSuplTerminalSubSession10RunSessionER16TSuplTerminalQopRK7TDesC16iiii @ 34 NONAME
-	_ZN23RSuplTerminalSubSession10RunSessionER16TSuplTerminalQopiii @ 35 NONAME
-	_ZN23RSuplTerminalSubSession10RunSessionERK7TDesC16iiii @ 36 NONAME
-	_ZN23RSuplTerminalSubSession10RunSessionEiii @ 37 NONAME
-	_ZN23RSuplTerminalSubSession11GetPositionER17TPositionInfoBase @ 38 NONAME
-	_ZN23RSuplTerminalSubSession16CancelRunSessionEv @ 39 NONAME
-	_ZN23RSuplTerminalSubSession16GetServerAddressER6TDes16 @ 40 NONAME
-	_ZN23RSuplTerminalSubSession17ExtendedInterfaceEiPvS0_ @ 41 NONAME
-	_ZN23RSuplTerminalSubSession18NotifyTriggerFiredER14TRequestStatusR20TSuplTriggerFireInfo @ 42 NONAME
-	_ZN23RSuplTerminalSubSession22StopSuplTriggerSessionEv @ 43 NONAME
-	_ZN23RSuplTerminalSubSession23StartSuplTriggerSessionER14TRequestStatusR28TSuplTerminalPeriodicTriggerRK7TDesC16iii @ 44 NONAME
-	_ZN23RSuplTerminalSubSession23StartSuplTriggerSessionER14TRequestStatusR28TSuplTerminalPeriodicTriggerii @ 45 NONAME
-	_ZN23RSuplTerminalSubSession4OpenER19RSuplTerminalServerNS_16TSuplServiceTypeE @ 46 NONAME
-	_ZN23RSuplTerminalSubSession5CloseEv @ 47 NONAME
-	_ZN23RSuplTerminalSubSession8DestructEv @ 48 NONAME
-	_ZN23RSuplTerminalSubSessionC1Ev @ 49 NONAME
-	_ZN23RSuplTerminalSubSessionC2Ev @ 50 NONAME
-	_ZN28TSuplTerminalPeriodicTrigger3SetERKjS1_S1_ @ 51 NONAME
-	_ZN28TSuplTerminalPeriodicTriggerC1Ev @ 52 NONAME
-	_ZN28TSuplTerminalPeriodicTriggerC2Ev @ 53 NONAME
-	_ZNK16TSuplTerminalQop17GetMaxLocationAgeERi @ 54 NONAME
-	_ZNK16TSuplTerminalQop19GetVerticalAccuracyERf @ 55 NONAME
-	_ZNK16TSuplTerminalQop21GetHorizontalAccuracyERf @ 56 NONAME
-	_ZNK16TSuplTerminalQop3GetERfS0_RiS1_ @ 57 NONAME
-	_ZNK16TSuplTerminalQop8GetDelayERi @ 58 NONAME
-	_ZNK19CSuplTerminalParams3GetERx6TPtr16S1_RiS2_S2_S2_ @ 59 NONAME
-	_ZNK19RSuplTerminalServer7VersionEv @ 60 NONAME
-	_ZNK20TSuplTriggerFireInfo3GetER13TPositionInfo @ 61 NONAME
-	_ZNK28TSuplTerminalPeriodicTrigger3GetERjS0_S0_ @ 62 NONAME
-	_ZTI19CSuplTerminalParams @ 63 NONAME
-	_ZTI22CSuplSubSessnPtrHolder @ 64 NONAME
-	_ZTI23RSuplTerminalSubSession @ 65 NONAME
-	_ZTV19CSuplTerminalParams @ 66 NONAME
-	_ZTV22CSuplSubSessnPtrHolder @ 67 NONAME
-	_ZTV23RSuplTerminalSubSession @ 68 NONAME
-	_ZN19RSuplTerminalServer7ConnectER14TRequestStatus @ 69 NONAME
+	_ZN19RSuplTerminalServer7ConnectER14TRequestStatus @ 15 NONAME
+	_ZN19RSuplTerminalServer7ConnectEv @ 16 NONAME
+	_ZN19RSuplTerminalServerC1Ev @ 17 NONAME
+	_ZN19RSuplTerminalServerC2Ev @ 18 NONAME
+	_ZN20TSuplTriggerFireInfo3SetERK13TPositionInfo @ 19 NONAME
+	_ZN20TSuplTriggerFireInfoC1Ev @ 20 NONAME
+	_ZN20TSuplTriggerFireInfoC2Ev @ 21 NONAME
+	_ZN22CSuplSubSessnPtrHolder10ConstructLEii @ 22 NONAME
+	_ZN22CSuplSubSessnPtrHolder3PtrEi @ 23 NONAME
+	_ZN22CSuplSubSessnPtrHolder4NewLEii @ 24 NONAME
+	_ZN22CSuplSubSessnPtrHolder4PtrCEi @ 25 NONAME
+	_ZN22CSuplSubSessnPtrHolderD0Ev @ 26 NONAME
+	_ZN22CSuplSubSessnPtrHolderD1Ev @ 27 NONAME
+	_ZN22CSuplSubSessnPtrHolderD2Ev @ 28 NONAME
+	_ZN23RSuplTerminalSubSession10ConstructLEv @ 29 NONAME
+	_ZN23RSuplTerminalSubSession10GetSlpListER13RPointerArrayI19CSuplTerminalParamsE @ 30 NONAME
+	_ZN23RSuplTerminalSubSession10RunSessionER14TRequestStatusR16TSuplTerminalQopRK7TDesC16iiii @ 31 NONAME
+	_ZN23RSuplTerminalSubSession10RunSessionER14TRequestStatusR16TSuplTerminalQopiii @ 32 NONAME
+	_ZN23RSuplTerminalSubSession10RunSessionER14TRequestStatusRK7TDesC16iiii @ 33 NONAME
+	_ZN23RSuplTerminalSubSession10RunSessionER14TRequestStatusiii @ 34 NONAME
+	_ZN23RSuplTerminalSubSession10RunSessionER16TSuplTerminalQopRK7TDesC16iiii @ 35 NONAME
+	_ZN23RSuplTerminalSubSession10RunSessionER16TSuplTerminalQopiii @ 36 NONAME
+	_ZN23RSuplTerminalSubSession10RunSessionERK7TDesC16iiii @ 37 NONAME
+	_ZN23RSuplTerminalSubSession10RunSessionEiii @ 38 NONAME
+	_ZN23RSuplTerminalSubSession11GetPositionER17TPositionInfoBase @ 39 NONAME
+	_ZN23RSuplTerminalSubSession16CancelRunSessionEv @ 40 NONAME
+	_ZN23RSuplTerminalSubSession16GetServerAddressER6TDes16 @ 41 NONAME
+	_ZN23RSuplTerminalSubSession17ExtendedInterfaceEiPvS0_ @ 42 NONAME
+	_ZN23RSuplTerminalSubSession18NotifyTriggerFiredER14TRequestStatusR20TSuplTriggerFireInfo @ 43 NONAME
+	_ZN23RSuplTerminalSubSession22StopSuplTriggerSessionEv @ 44 NONAME
+	_ZN23RSuplTerminalSubSession23StartSuplTriggerSessionER14TRequestStatusR28TSuplTerminalPeriodicTriggerRK7TDesC16iii @ 45 NONAME
+	_ZN23RSuplTerminalSubSession23StartSuplTriggerSessionER14TRequestStatusR28TSuplTerminalPeriodicTriggerii @ 46 NONAME
+	_ZN23RSuplTerminalSubSession4OpenER19RSuplTerminalServerNS_16TSuplServiceTypeE @ 47 NONAME
+	_ZN23RSuplTerminalSubSession5CloseEv @ 48 NONAME
+	_ZN23RSuplTerminalSubSession8DestructEv @ 49 NONAME
+	_ZN23RSuplTerminalSubSessionC1Ev @ 50 NONAME
+	_ZN23RSuplTerminalSubSessionC2Ev @ 51 NONAME
+	_ZN28TSuplTerminalPeriodicTrigger3SetERKjS1_S1_ @ 52 NONAME
+	_ZN28TSuplTerminalPeriodicTriggerC1Ev @ 53 NONAME
+	_ZN28TSuplTerminalPeriodicTriggerC2Ev @ 54 NONAME
+	_ZNK16TSuplTerminalQop17GetMaxLocationAgeERi @ 55 NONAME
+	_ZNK16TSuplTerminalQop19GetVerticalAccuracyERf @ 56 NONAME
+	_ZNK16TSuplTerminalQop21GetHorizontalAccuracyERf @ 57 NONAME
+	_ZNK16TSuplTerminalQop3GetERfS0_RiS1_ @ 58 NONAME
+	_ZNK16TSuplTerminalQop8GetDelayERi @ 59 NONAME
+	_ZNK19CSuplTerminalParams3GetERx6TPtr16S1_RiS2_S2_S2_ @ 60 NONAME
+	_ZNK19RSuplTerminalServer7VersionEv @ 61 NONAME
+	_ZNK20TSuplTriggerFireInfo3GetER13TPositionInfo @ 62 NONAME
+	_ZNK28TSuplTerminalPeriodicTrigger3GetERjS0_S0_ @ 63 NONAME
+	_ZTI19CSuplTerminalParams @ 64 NONAME
+	_ZTI22CSuplSubSessnPtrHolder @ 65 NONAME
+	_ZTI23RSuplTerminalSubSession @ 66 NONAME
+	_ZTV19CSuplTerminalParams @ 67 NONAME
+	_ZTV22CSuplSubSessnPtrHolder @ 68 NONAME
+	_ZTV23RSuplTerminalSubSession @ 69 NONAME
 	_ZN21RSuplTerminalInternal24CancelLocationConversionEv @ 70 NONAME
 	_ZN21RSuplTerminalInternal28ConvertAreaInfoToCoordinatesER14TRequestStatusR12TGeoCellInfo @ 71 NONAME
 	_ZN21RSuplTerminalInternalC1Ev @ 72 NONAME
--- a/supl/locationsuplfw/terminalinitiationapi/inc/epos_suplterminalipc.h	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationsuplfw/terminalinitiationapi/inc/epos_suplterminalipc.h	Tue Aug 31 15:37:04 2010 +0300
@@ -63,7 +63,7 @@
 	ESuplTerminalSubssnStopTriggerSession,
 	ESuplTerminalSubssnLocationConversion,
 	ESuplTerminalSubssnCancelLocationConversion,
-    ESuplSubssnCustomCodesBegin         = ESuplCustomIpcOffset
+    ESuplSubssnCustomCodesBegin         = ESuplCustomIpcOffset,
     };
 
 #endif // __EPOS_SUPLTERMINALIPC_H__
--- a/supl/locationsuplfw/terminalinitiationapi/src/epos_suplterminalapi.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationsuplfw/terminalinitiationapi/src/epos_suplterminalapi.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -859,7 +859,7 @@
 		}
 
 	parValues.ResetAndDestroy();
-	aParamValues.ResetAndDestroy();
+    //coverity[deref_ptr_in_call]
 	TInt error = iSuplStorageSettings->GetAllSlp(parValues); //handle return value...
 	if (error!=KErrNone)
 		{
@@ -905,6 +905,7 @@
 	delete serverAddress;
 	delete iapName;	
     aParamValues.Close();
+    //coverity[check_after_deref]
 	if (iSuplStorageSettings)
 		{
 		delete iSuplStorageSettings;
@@ -1025,7 +1026,15 @@
 	{
 	__ASSERT_ALWAYS(SubSessionHandle(), 
 				User::Panic(KSuplClientFault, ESuplServerBadHandle));
-    
+   
+   
+  if(!CheckSuplTriggerServiceStatus()) //To check that triggering service is allowed by user...
+  {
+  	TRequestStatus *status = &aStatus; 
+		User::RequestComplete(status,KErrNotSupported);	
+		return;
+  }
+  
 	if( iSuplService != ESUPL_2_0 )
 		{
 		TRequestStatus *status = &aStatus; 
@@ -1094,6 +1103,13 @@
 	__ASSERT_ALWAYS(SubSessionHandle(), 
 			User::Panic(KSuplClientFault, ESuplServerBadHandle));
     
+  if(!CheckSuplTriggerServiceStatus()) //To check that triggering service is allowed by user...
+		{
+			TRequestStatus *status = &aStatus; 
+			User::RequestComplete(status,KErrNotSupported);	
+			return;
+		} 
+
 	if( iSuplService != ESUPL_2_0 )
 		{
 		TRequestStatus *status = &aStatus; 
@@ -1193,6 +1209,13 @@
 	__ASSERT_ALWAYS(SubSessionHandle(), 
 			User::Panic(KSuplClientFault, ESuplServerBadHandle));
 
+		if(!CheckSuplTriggerServiceStatus()) //To check that triggering service is allowed by user...
+		{
+		TRequestStatus *status = &aStatus; 
+		User::RequestComplete(status,KErrNotSupported);	
+		return;
+		}
+
 	if( iSuplService != ESUPL_2_0 )
 		{
 		TRequestStatus *status = &aStatus; 
@@ -1232,4 +1255,41 @@
 	SendReceive(ESuplTerminalSubssnNotifyTriggerFired, args, aStatus);
 	}
 
+// ---------------------------------------------------------
+// RSuplTerminalSubSession::CheckSuplTriggerServiceStatus
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TBool RSuplTerminalSubSession::CheckSuplTriggerServiceStatus()
+{
+	
+	delete iSuplStorageSettings;
+	iSuplStorageSettings = NULL;
+	
+	CSuplSettings::TSuplTriggerStatus suplTriggerStatus;
+
+	// create local object iSuplStorageSettings
+	TRAPD(err,iSuplStorageSettings = CSuplSettings::NewL());
+	if(err == KErrNone)
+	{
+			iSuplStorageSettings->GetSuplTriggeredServiceStatus(suplTriggerStatus);
+			delete iSuplStorageSettings;
+			iSuplStorageSettings = NULL;
+
+			if(suplTriggerStatus == CSuplSettings::ESuplTriggerOn)
+			{
+					return ETrue;						
+			}
+			else
+			{
+					return EFalse;	
+			}
+	}		
+	else
+	{
+			return ETrue;
+	}
+}
+
 // end of file
--- a/supl/locationsuplfw/utilities/src/epos_csupltrace.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationsuplfw/utilities/src/epos_csupltrace.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -140,7 +140,7 @@
     const TDesC& aTraceLogFile,
     TRefByValue<const TDesC> aFmt, ... )
     {
-    // coverity[var_decl : FALSE]
+    //coverity[var_decl]
     VA_LIST list;
     VA_START( list, aFmt );
 
@@ -151,6 +151,7 @@
     	TPtr ptr( buf->Des() );
         _LIT( KPrefix, "[EPos/0x%LX]: ");
         ptr.Format( KPrefix, process.Id().Id() );
+        //coverity[uninit_use_in_call]
 	    ptr.AppendFormatList( aFmt, list );
 	
 	    RDebug::RawPrint( ptr );
--- a/supl/supltiapiimplementation/src/lbssupltirequestmanager.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/supltiapiimplementation/src/lbssupltirequestmanager.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -224,15 +224,17 @@
 		iTrace->Trace(_L("Session Id not found creating new requestor"), KTraceFileName, __LINE__);
 		//Create a new requestor object
 		CCLbsSuplTiApiRequestor* newRequestor = NULL;
-		TRAPD(err,newRequestor = CCLbsSuplTiApiRequestor::NewL(iObserver,iServer));
+	    // Create new requestor and add it to requestor collection,
+		// ownership is transferred to the collection array
+		TRAPD(err,newRequestor = CCLbsSuplTiApiRequestor::NewL(iObserver,iServer);
+		         iRequestorCollection.AppendL(newRequestor));
 		if(err != KErrNone)
 			{
 			iTrace->Trace(_L("Creating New Requestor Failed"), KTraceFileName, __LINE__);
 			iObserver.RequestComplete(err,iSessionId);
 			return;
 			}
-		//add to requestor collection, ownership is transferred to the collection array
-		iRequestorCollection.Append(newRequestor);
+
 		//ask requestor to make location request
 		newRequestor->RequestLocation(iSessionId,iOptions,iMethod);
 		}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sysdef_1_5_1.dtd	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,88 @@
+ <!ELEMENT SystemDefinition (systemModel?, build?)>
+ <!ATTLIST SystemDefinition
+  name CDATA #REQUIRED
+  schema CDATA #REQUIRED>
+ <!ELEMENT systemModel (layer+)>
+ <!ELEMENT layer (logicalset* | module*)*>
+ <!ATTLIST layer
+  name CDATA #REQUIRED
+  levels CDATA #IMPLIED
+  span CDATA #IMPLIED>
+ <!ELEMENT logicalset (logicalsubset* | module* | unit* | package* | prebuilt*)*>
+ <!ATTLIST logicalset name CDATA #REQUIRED>
+ <!ELEMENT logicalsubset (module* | unit* | package* | prebuilt*)*>
+ <!ATTLIST logicalsubset name CDATA #REQUIRED>
+ <!ELEMENT module (component* | unit* | package* | prebuilt*)*>
+ <!ATTLIST module
+  name CDATA #REQUIRED
+  level CDATA #IMPLIED>
+ <!ELEMENT component (unit* | package* | prebuilt*)*>
+ <!ATTLIST component name CDATA #REQUIRED>
+ <!ELEMENT unit EMPTY>
+ <!ATTLIST unit
+  unitID ID #REQUIRED
+  name CDATA #REQUIRED
+  mrp CDATA #REQUIRED
+  filter CDATA #IMPLIED
+  bldFile CDATA #REQUIRED
+  priority CDATA #IMPLIED
+  contract CDATA #IMPLIED
+  proFile CDATA #IMPLIED
+  qmakeArgs CDATA #IMPLIED>
+ <!ELEMENT package EMPTY>
+ <!ATTLIST package
+  name CDATA #REQUIRED
+  mrp CDATA #REQUIRED
+  filter CDATA #IMPLIED
+  contract CDATA #IMPLIED>
+ <!ELEMENT prebuilt EMPTY>
+ <!ATTLIST prebuilt
+  name CDATA #REQUIRED
+  version CDATA #REQUIRED
+  late (Y|N) #IMPLIED
+  filter CDATA #IMPLIED
+  contract CDATA #IMPLIED>
+ <!ELEMENT build (option* | target+ | targetList+ | unitList+ | configuration+)*>
+ <!ELEMENT unitList (unitRef+)>
+ <!ATTLIST unitList
+  name ID #REQUIRED
+  description CDATA #REQUIRED>
+ <!ELEMENT unitRef EMPTY>
+ <!ATTLIST unitRef unit IDREF #REQUIRED>
+ <!ELEMENT targetList EMPTY>
+ <!ATTLIST targetList
+  name ID #REQUIRED
+  description CDATA #REQUIRED
+  target IDREFS #REQUIRED>
+ <!ELEMENT target EMPTY>
+ <!ATTLIST target
+  name ID #REQUIRED
+  abldTarget CDATA #REQUIRED
+  description CDATA #REQUIRED>
+ <!ELEMENT option EMPTY>
+ <!ATTLIST option
+  name ID #REQUIRED
+  abldOption CDATA #REQUIRED
+  description CDATA #REQUIRED
+  enable (Y | N | y | n) #REQUIRED>
+ <!ELEMENT configuration (unitListRef+ | layerRef+ | task+)*>
+ <!ATTLIST configuration
+  name ID #REQUIRED
+  description CDATA #REQUIRED
+  filter CDATA #REQUIRED>
+ <!ELEMENT task ( unitListRef* , (buildLayer | specialInstructions))>
+ <!ELEMENT unitListRef EMPTY>
+ <!ATTLIST unitListRef unitList IDREF #REQUIRED>
+ <!ELEMENT layerRef EMPTY>
+ <!ATTLIST layerRef layerName CDATA #REQUIRED>
+ <!ELEMENT buildLayer EMPTY>
+ <!ATTLIST buildLayer
+  command CDATA #REQUIRED
+  targetList IDREFS #IMPLIED
+  unitParallel (Y | N | y | n) #REQUIRED
+  targetParallel (Y | N | y | n) #IMPLIED>
+ <!ELEMENT specialInstructions EMPTY>
+ <!ATTLIST specialInstructions
+  name CDATA #REQUIRED
+  cwd CDATA #REQUIRED
+  command CDATA #REQUIRED>